NP 217 Capitulo 1

28
1 Capítulo 1 Introdução aos Sistemas Computacionais Capítulo 1 Introdução aos 2º. Semestre / 2012 Sistemas Computacionais Prof. Evandro Luís Brandão Gomes 2 Capítulo 1 Introdução aos Sistemas Computacionais Organização Básica dos Sistemas Computacionais Todo Sistema Computacional é constituído de duas partes fundamentais: Todo Sistema Computacional possui como principal característica a propriedade de ser “programável”. 2º. Semestre / 2012 Todo Sistema Computacional é constituído de duas partes fundamentais: Hardware: é a parte física de todo o Sistema. Software: é a parte maleável do Sistema, constituído pelo Programa a ser executado.

Transcript of NP 217 Capitulo 1

Page 1: NP 217 Capitulo 1

1

Capítulo 1 Introdução aos Sistemas Computacionais

Capítulo 1

Introdução aos

2º. Semestre / 2012

Sistemas Computacionais

Prof. Evandro Luís Brandão Gomes

2

Capítulo 1 Introdução aos Sistemas Computacionais

Organização Básica dos Sistemas Computacionais

• Todo Sistema Computacional é constituído de duas partes fundamentais:

Todo Sistema Computacional possui como principal

característica a propriedade de ser “programável”.

2º. Semestre / 2012

• Todo Sistema Computacional é constituído de duas partes fundamentais:

���� Hardware: é a parte física de todo o Sistema.

���� Software: é a parte maleável do Sistema,

constituído pelo Programa a ser executado.

Page 2: NP 217 Capitulo 1

3

Capítulo 1 Introdução aos Sistemas Computacionais

Organização Básica dos Sistemas Computacionais

Todo Sistema Computacional tem seu Hardware, organizado segundo a estrutura básica apresentada pela figura abaixo.

2º. Semestre / 2012

Arquitetura de VON NEUMAN (ou Princeton)

4

Capítulo 1 Introdução aos Sistemas Computacionais

CPU (Unidade Central de Processamento)

• A CPU é responsável pelo controle de todo o Sistema.

2º. Semestre / 2012

Em um Microcomputador a CPU é implementada por um único Chip, o Microprocessador.

EX: Pentium, Athlon, etc

Em um Microcontrolador toda esta estrutura é encapsulada em um único chip.

Page 3: NP 217 Capitulo 1

5

Capítulo 1 Introdução aos Sistemas Computacionais

CPU (Unidade Central de Processamento)

2º. Semestre / 2012

Sistema Computacional com Microprocessador

Sistema Computacional com Microcontrolador

6

Capítulo 1 Introdução aos Sistemas Computacionais

Dispositivos de entrada e saída (I/O)

PORTAS:

• Paralela

• Serial

• USB

• etc

2º. Semestre / 2012

• Periféricos ���� são os vários tipo de Dispositivos que permitem a comunicação entre oSistema e o exterior, através das Portas.

• Portas � estabelecem padrões, para os Periféricos serem conectados ao Sistema.

• Padrões:- Físico (conector),- Elétrico (tensão nos pinos, por exemplo)

- Sinalização (seqüência de comunicação)

Page 4: NP 217 Capitulo 1

7

Capítulo 1 Introdução aos Sistemas Computacionais

Barramentos

• Dados ���� por onde trafegam os dados (Bi-direcional)

• Capacidade de manipulação dedados• Ex: 8 bits � valores de 0 a 255

Barramentos ���� fazem a interconexão de todas as partes do Sistema Computacional

2º. Semestre / 2012

• Ex: 8 bits � valores de 0 a 25516 bits � valores de 0 a 6553532 bits � valores de 0 a 4.294.967.295

• Endereços ���� indica qual dispositivo será acessado

• Capacidade de endereçamento da CPU• Ex: 16 bits = 216 = 65.536 (64K) endereços de memória ou portas de I/O

32 bits = 232 = 4.294.967.296 (4G) endereços

• Controle ���� determina a maneira como será feito o acesso aos dispositivos (Read/Write)faz a sequenciação e sincronização dos sinais de controle internos e externos

8

Capítulo 1 Introdução aos Sistemas Computacionais

Memórias

• Armazenam os dados que serãomanipulados e também o próprioprograma a ser executado pela CPU.

• Tipos:

• Memória de programa

2º. Semestre / 2012

• Memória de programa

• Memória de dados

Quanto a funcionalidade no sistema:

• Memória Principal � armazenam programas e dados que são manipulados pela CPU durante o processamento.

• Memória Secundária (ou auxiliar) � armazenam programas e dados que não estão em uso pela CPU.

Page 5: NP 217 Capitulo 1

9

Capítulo 1 Introdução aos Sistemas Computacionais

Conceitos Básicos e Terminologia

Memória ���� todo dispositivo capaz de armazenar informações.

Célula de memória ���� dispositivo capaz de armazenar um único bit (0 ou 1). Como célula de memória podemos citar o flip-flop, um capacitor, um ponto magnético em fita ou disco, etc.

Memórias

2º. Semestre / 2012

magnético em fita ou disco, etc.

Palavra de memória ���� um conjunto de bits que representa instruções ou dados armazenados.

Ex: um registrador composto por 8 flip-flops � capacidade de armazenar uma palavra de 8 bits (1 byte).

Endereço ���� um número que identifica a posição de uma palavra na memória.

10

Capítulo 1 Introdução aos Sistemas Computacionais

Conceitos Básicos e Terminologia

Ex:uma memória de 1024 endereços x 8 bits:

Memórias

2º. Semestre / 2012

MODE CONTROLS DATA BUS CS/ OE/

disable H X HI-Z

read L L OUT

write L H IN

Page 6: NP 217 Capitulo 1

11

Capítulo 1 Introdução aos Sistemas Computacionais

Capacidade de uma memória

É a capacidade de armazenamento de bits. Esta medida, muitas vezes pode ser expressa em bytes.

Exemplos:

Memórias

2º. Semestre / 2012

1) Uma memória que possa armazenar 4.096 palavras de 20 bits.

Capacidade total de armazenamento de: 4.096 x 20 = 81.920 bits

2) Uma memória que possa armazenar 65.536 palavras de 8 bits.

Capacidade total de armazenamento de: 65536 x 8 = 524.288 bits ou 65536 bytes ou64 Kbytes

12

Capítulo 1 Introdução aos Sistemas Computacionais

Conceitos sobre dispositivos de memória

Tempo de acesso ���� É a quantidade de tempo necessário à efetivação de uma operação de leitura ou, é o tempo decorrido entre o momento da recepção pela memória de um novo endereço, e o instante em que a informação daquele endereço fica disponível.

Memórias

2º. Semestre / 2012

Memória volátil ���� tipo de memória que necessita de energia elétrica para reter as informações armazenadas. Quando a energia elétrica for interrompida toda a informação armazenada será perdida.

Memória não-volátil ���� tipo de memória que mantém os dados armazenados mesmo sem energia.

Page 7: NP 217 Capitulo 1

13

Capítulo 1 Introdução aos Sistemas Computacionais

Conceitos sobre dispositivos de memória

Memória de acesso randômico (RAM) ���� a localização física real de uma palavra de memória não tem efeito sobre o tempo que se leva para ler ou escrever nesta posição, isto é, o tempo de acesso é constante para qualquer endereço da memória.

Memória de acesso seqüencial (SAM) ���� Para encontrar determinada palavra,

Memórias

2º. Semestre / 2012

Memória de acesso seqüencial (SAM) ���� Para encontrar determinada palavra, passa-se por todos os endereços situados entre aquele onde se realizou o último acesso e o objeto do acesso atual. Isto produz tempos de acesso bem maiores do que os dispositivos de acesso randômico.

Memória de Leitura/Escrita (RWM) ���� Qualquer memória que possa ser lida ou escrita.

Memória Somente de leitura (ROM) ���� Memória que só pode ser gravada ou programada por processo especial de gravação ou na fábrica, ou seja, depois de programada ou gravada, a informação somente poderá ser lida pela CPU.

14

Capítulo 1 Introdução aos Sistemas Computacionais

Conceitos sobre dispositivos de memória

Memória estática ���� as informações armazenadas permanecerão armazenadas enquanto houver energia elétrica aplicada à memória, sem que haja necessidade da informação ser rescrita periodicamente na memória.

Memórias

2º. Semestre / 2012

Memória dinâmica ���� as informações armazenadas não permanecerão armazenadas, mesmo com a presença da energia elétrica necessária para alimentar o circuito, a não ser que as informações sejam periodicamente rescritas. Esta operação é denominada refresh (recarga).

Page 8: NP 217 Capitulo 1

15

Capítulo 1 Introdução aos Sistemas Computacionais

Tipos de Memórias a Semicondutor

ROM (Read-Only Memory)

Durante sua operação normal nenhum dado poderá ser escrito na ROM, sendo utilizada então apenas para leitura de dados que estiverem armazenados.

Memórias

2º. Semestre / 2012

Para alguns tipos de ROM os dados são gravados durante o processo de fabricação enquanto que, para outros, os dados são gravados eletricamente por um processo especial de gravação.

As ROMs são não voláteis e por isso são usadas para guardar programas e alguns dados (tabelas, códigos, etc) que não mudarão durante a operação de um sistema.

16

Capítulo 1 Introdução aos Sistemas Computacionais

Tipos de Memórias a Semicondutor

ROM – Arquitetura – Um exemplo de uma ROM de 16 x 8 bits

Memórias

2º. Semestre / 2012

Page 9: NP 217 Capitulo 1

17

Capítulo 1 Introdução aos Sistemas Computacionais

Tipos de Memórias a Semicondutor

Tipos de ROM: MROM (Mask ROM) - ROM programada por máscara

Tem suas posições de memória gravadas pelo fabricante de acordo com as especificações do cliente.

Memórias

2º. Semestre / 2012

do cliente.

Uma máscara é utilizada para realizar as conexões elétricas do chip;

Vantagem: alternativa mais econômica, desde que sejam produzidas em larga escala;

Desvantagem: não podem ser apagadas e reprogramadas caso ocorra a mudança de um determinado projeto que exija modificações nos dados armazenados, a memória não pode ser reaproveitada (regravada).

18

Capítulo 1 Introdução aos Sistemas Computacionais

Tipos de Memórias a Semicondutor

Tipos de ROM: PROM (Programmable ROM) - ROM programáveis

Esse tipo de ROM é conhecido como PROM FUSE, isto é, uma ROM programável por fusíveis.

Memórias

2º. Semestre / 2012

Depois de gravada uma palavra, não mais poderá ser alterada ou desgravada.

Se após gravada, houver a necessidade de modificar os dados armazenados, isto não mais será possível, havendo então necessidade de utilizar outro chip.

Page 10: NP 217 Capitulo 1

19

Capítulo 1 Introdução aos Sistemas Computacionais

Tipos de Memórias a Semicondutor

Tipos de ROM: EPROM (Erasable PROM) - ROM programável / apagável

Pode ser programada pelo usuário, com a vantagem de poder ser apagada e reprogramada quantas vezes forem necessárias.

Memórias

2º. Semestre / 2012

Uma vez programada uma EPROM comporta-se como uma memória não volátil.

O processo de programação de uma EPROM envolve a aplicação de níveis especiais de tensão situados entre 10 e 25V às entradas do chip, em intervalos com tempo determinado, da ordem de alguns milisegundos por posição de memória.

Em seu estado natural (sem qualquer programação) todas as células armazenam o bit 1. Durante a programação os pinos de dados e endereços da EPROM são usados para selecionar quais células são programadas como “0” e quais serão deixadas em “1”.

20

Capítulo 1 Introdução aos Sistemas Computacionais

Tipos de Memórias a Semicondutor

Tipos de ROM: EPROM (Erasable PROM) - ROM programável / apagável

Depois de gravada uma EPROM, é possível apagá-la expondo-a à luz ultravioleta,aplicada através de uma janela no chip, requerendo para isso uma exposição quevaria de 15 a 30 minutos, dependendo da intensidade da luz.

Memórias

2º. Semestre / 2012

varia de 15 a 30 minutos, dependendo da intensidade da luz.

Não é possível apagar células selecionadas, pois aoexpor o chip à radiação ultravioleta todas as célulasse apagarão, voltando a nível “1”.

Page 11: NP 217 Capitulo 1

21

Capítulo 1 Introdução aos Sistemas Computacionais

Tipos de Memórias a Semicondutor

Tipos de ROM: EEPROM (Electrically-Erasable PROM) - ROM programável / apagáveleletricamente

As EPROMs apresentam duas grandes desvantagens:- precisa ser retirada do circuito para ser apagada e reprogramada;

Memórias

2º. Semestre / 2012

- precisa ser retirada do circuito para ser apagada e reprogramada;- a memória inteira é apagada com a aplicação de radiação ultravioleta.

Para contornar esse inconveniente foi desenvolvido um outro tipo de EPROM, quepode ser apagada por pulsos elétricos, são as denominadas EEPROM ou E2PROM.

A grande vantagem com relação a EPROM é que o apagamento e a reprogramação dos dados podem ser feitos seletivamente (em bytes) ao invés da memória toda e para ser programada ou reprogramada, o chip não precisa ser removido do circuito.

22

Capítulo 1 Introdução aos Sistemas Computacionais

Tipos de Memórias a Semicondutor

Tipos de ROM: FLASH

Nas memórias E2PROM, a gravação e regravação podem ser feitas em cada byte, oque as tornam versáteis, mas lentas.

Memórias

2º. Semestre / 2012

Fabricantes responderam a essa limitação com as memórias FLASH, um tipo deE2PROM que usa para apagar dados um campo elétrico em todo o circuito ou emuma seção pré-determinada do circuito, chamada de blocos.

A memória Flash funciona muito mais rapidamente que as tradicionais E2PROMsporque grava os dados em blocos, geralmente de 512 bytes, em vez de 1 byte porvez.

Page 12: NP 217 Capitulo 1

23

Capítulo 1 Introdução aos Sistemas Computacionais

Tipos de Memórias a Semicondutor

RAM (Random Access Memory)

Também conhecidas como memórias de escrita e leitura (RWM) são usadas em computadores para armazenamento temporário de dados durante o processamento dos programas.

Memórias

2º. Semestre / 2012

dos programas.

24

Capítulo 1 Introdução aos Sistemas Computacionais

Tipos de Memórias a Semicondutor

Tipos de RAM: SRAM (Static Random Access Memory)

As RAMs por serem voláteis perdem os dados nela armazenados com a falta de energia.

Memórias

2º. Semestre / 2012

Mas, armazenam dados por tempo indeterminado, enquanto a alimentação estiver sendo aplicada ao chip.

Por esse motivo, essas RAMs são denominadas RAMs ESTÁTICAS (SRAM).

Page 13: NP 217 Capitulo 1

25

Capítulo 1 Introdução aos Sistemas Computacionais

Tipos de Memórias a Semicondutor

Tipos de RAM: DRAM (Dynamic Random Access Memory)

Enquanto que as RAMs estáticas armazenam informações em flip-flops, as RAMsdinâmicas armazenam os bits 0 e 1 em microcapacitores parasitas nos transistores MOS que constituem sua célula.

Memórias

2º. Semestre / 2012

MOS que constituem sua célula.

Devido a corrente de fuga essas informações podem ser perdidas após um determinado período, necessitando de um processo de restauração periódica.

O ato de restaurar um dado armazenado em uma RAM dinâmica chama-se refresh.

A necessidade da operação de refresh torna a RAM dinâmica desvantajosa em relação à RAM estática, porém seu custo é bem menor.

26

Capítulo 1 Introdução aos Sistemas Computacionais

Tipos de Memórias a Semicondutor

RAM não volátil (NVRAM – Non Volatile RAM)

As RAMs estáticas são utilizadas para leitura e escrita, devido a sua alta velocidade na realização dessas operações, no entanto, por serem voláteis, os dados nela armazenados se perdem quando cessa a alimentação elétrica.

Memórias

2º. Semestre / 2012

armazenados se perdem quando cessa a alimentação elétrica.

Existem duas soluções para esse problema:

1 - usar memórias que possam ser alimentadas por baterias sempre que ocorrer falta de energia.

Isto requer memórias de baixo consumo (para não consumir rapidamente toda a carga da bateria). Neste caso, a tecnologia CMOS é a mais indicada e as memórias deveriam ser mantidas em standby para consumir o mínimo possível de energia. Algumas SRAMs com tecnologia CMOS incluem no chippequenas baterias de lítio (lithium).

Page 14: NP 217 Capitulo 1

27

Capítulo 1 Introdução aos Sistemas Computacionais

Tipos de Memórias a Semicondutor

RAM não volátil (NVRAM – Non Volatile RAM)

2 - usar a NVRAM (RAM não voláteis). Uma NVRAM possui uma matriz de RAM estática e uma matriz de EAPROM (Electrically Alterable Read Only Memory); combinando dessa forma a velocidade de operação de uma SRAM com a

Memórias

2º. Semestre / 2012

combinando dessa forma a velocidade de operação de uma SRAM com a capacidade de armazenamento de uma EAPROM.

Uma NVRAM tem a vantagem de não necessitar de bateria, sendo no entanto mais complexa do que um chip de memória convencional e por isso não estão disponíveis para altas capacidades de armazenamento.

Quando se requer o uso de memórias não voláteis de alta capacidade, a alternativa é a utilização de RAMs CMOS com bateria.

28

Capítulo 1 Introdução aos Sistemas Computacionais

- Ampliação das palavras (dados)

- Ex: usando memórias de 1024 x 4 bits construir um banco de memória com capacidade de 1024 x 8 bits

Ampliação de Capacidade das Memórias

2º. Semestre / 2012

- Ampliação dos endereços

- Ex: usando memórias de 1024 x 8 bits construir um banco de memória com capacidade de 2048 x 8 bits

Page 15: NP 217 Capitulo 1

29

Capítulo 1 Introdução aos Sistemas Computacionais

Ampliação de Dados

Exemplo 1: A partir de uma memória RAM de 16 x 4 bits, gerar um banco de memória que possa armazenar 16 x 8 bits.

Ampliação de Capacidade das Memórias

2º. Semestre / 2012

30

Capítulo 1 Introdução aos Sistemas Computacionais

Exercícios:

1 – Utilizando blocos de RAM 1K x 4 bits, forme um banco de 1K x 8 bits

2 – A partir de blocos de ROM 64 x 4 bits, esquematize uma ROM 64 x 8 bits.

Ampliação de Capacidade das Memórias

2º. Semestre / 2012

Page 16: NP 217 Capitulo 1

31

Capítulo 1 Introdução aos Sistemas Computacionais

Ampliação de Endereços

Exemplo 2: A partir de uma memória RAM de 16 x 4bits, gerar um banco de memória que possa armazenar 32 x 4 bits.

Ampliação de Capacidade das Memórias

Endereço

2º. Semestre / 2012

Endereço

A3 A2 A1 A0

0 0 0 0 ...1 1 1 1

0 0 0 0...1 1 1 1

A4

0...0

1...1

RAM 0

RAM 1

32

Capítulo 1 Introdução aos Sistemas Computacionais

Ampliação de Endereços

Exemplo 2 (continuação):

Ampliação de Capacidade das Memórias

Endereço

2º. Semestre / 2012

A3 A2 A1 A0

0 0 0 0 : : : :1 1 1 1

0 0 0 0: : : :1 1 1 1

A4

0:0

1:1

RAM 0

RAM 1

Page 17: NP 217 Capitulo 1

33

Capítulo 1 Introdução aos Sistemas Computacionais

Ampliação de EndereçosExemplo 3: A partir de memórias RAMs de 32 x 4 bits expandir para uma memória de 128 x 4 bits.

Ampliação de Capacidade das Memórias

Faixa de Endereços:

A4 A3 A2 A1 A0

0 0 0 0 0 : : : : :1 1 1 1 1

A6 A5

0 0: :0 0

RAM 0

2º. Semestre / 2012

RAM1 0000000 até 0011111b 00h até 1Fh

RAM2 0100000 até 0111111b 20h até 3Fh

RAM3 1000000 até 1011111b 40h até 5Fh

RAM4 1100000 até 1111111b 60h até 7Fh

0 0 0 0 0: : : : :1 1 1 1 1

0 0 0 0 0 : : : : :1 1 1 1 1

0 0 0 0 0: : : : :1 1 1 1 1

0 0

0 1: :0 1

1 0: :1 0

1 1: :1 1

RAM 1

RAM 2

RAM 3

34

Capítulo 1 Introdução aos Sistemas Computacionais

Ampliação de Capacidade das Memórias

Ampliação de EndereçosExemplo 3 (continuação):

A4 A3 A2 A1 A0

0 0 0 0 0 : : : : :1 1 1 1 1

A6 A5

0 0: :0 0

RAM 0

2º. Semestre / 2012

0 0 0 0 0: : : : :1 1 1 1 1

0 0 0 0 0 : : : : :1 1 1 1 1

0 0 0 0 0: : : : :1 1 1 1 1

0 1: :0 1

1 0: :1 0

1 1: :1 1

RAM 1

RAM 2

RAM 3

Page 18: NP 217 Capitulo 1

35

Capítulo 1 Introdução aos Sistemas Computacionais

Ampliação de EndereçosExemplo 4: A partir de Memórias PROM de 2K x 8 bits obter uma memória de 8K x 8 bits (usando decodificador).

Ampliação de Capacidade das Memórias

Exercício

2º. Semestre / 2012

Exercício

Faixa de Endereços:

PROM0 –

PROM1 –

PROM2 –

PROM3 –

36

Capítulo 1 Introdução aos Sistemas Computacionais

Exercícios:

1 – A partir de blocos de RAM de 8 x 4 bits formar um banco de 16 x 4 bits.

2 – Utilizando blocos de memória RAM 128 x 4 bits, forme um banco de 256 x 4 bits. Escreva a palavra de endereço inicial e final de cada bloco (em hexadecimal).

Ampliação de Capacidade das Memórias

2º. Semestre / 2012

3 – Formar uma RAM de 512 x 8 bits com blocos de estrutura 128 x 4 bits.

4 – Idem ao anterior, para uma RAM 64 x 8, obtida com blocos 32 x 4.

Page 19: NP 217 Capitulo 1

37

Capítulo 1 Introdução aos Sistemas Computacionais

Estrutura Básica da Unidade Central de Processamento (CPU)

2º. Semestre / 2012

• Unidade de Controle ���� Controla a operação interna e externa da CPU e, portanto, do computador

• Unidade Lógica e Aritmética ���� realiza o processamento das operações lógicas e aritméticas da CPU

• Unidade de Registros ���� oferece armazenamento interno, temporário e de rápido acesso à CPU

38

Capítulo 1 Introdução aos Sistemas Computacionais

Estrutura Básica da Unidade Central de Processamento (CPU)

Unidade Lógica e Aritmética (ALU)

Responsável pelas operações lógicas e aritméticas com os dados.

As principais operações que a ALU geralmente pode executar são:

2º. Semestre / 2012

Após a realização de uma operação lógica ou aritmética, a ALU faz o ajuste dos bits de FLAGs conforme o resultado da operação.

Flags indicam por exemplo: se o resultado foi 0 (zero), se foi positivo ou negativo, se houve overflow (estou na capacidade de armazenamento do resultado), etc.

Page 20: NP 217 Capitulo 1

39

Capítulo 1 Introdução aos Sistemas Computacionais

Estrutura Básica da Unidade Central de Processamento (CPU)

Unidade de Registradores

É composta por um grupo de Registradores, onde ficam armazenados os dados, temporariamente, durante a execução dos Programas ou, onde ficam armazenadas informações necessárias ao controle do próprio Sistema.

Esta unidade de registradores é dividida em dois grupos:

2º. Semestre / 2012

Esta unidade de registradores é dividida em dois grupos:

• Registradores de propósito geral ���� armazenam dados durante o processamento do programa.

• Registradores de propósito específico ���� possuem funções específicas durante o processamento dos programas e não podem ser utilizados para armazenar qualquer valor.

40

Capítulo 1 Introdução aos Sistemas Computacionais

Estrutura Básica da Unidade Central de Processamento (CPU)

Unidade de Registradores – Alguns Registradores Específicos Importantes

O Contador de Programa (PC – Program Counter)

Responsável pela armazenagem do endereço da próxima instrução a ser buscada na Memória de programa, para futura execução.

2º. Semestre / 2012

É incrementado em cada instrução, ficando sempre com o endereço da próxima instrução na memória.

Quando a execução do programa é de forma seqüencial, o PC vai sendoincrementado a cada nova instrução para apontar sempre para a próxima a serexecutada.

Quando a CPU executa uma instrução de salto, o PC ao invés de serincrementado (para o endereço seguinte) ele é alterado para o novo endereço dememória onde será a execução da próxima execução no salto do programa.

Page 21: NP 217 Capitulo 1

41

Capítulo 1 Introdução aos Sistemas Computacionais

Estrutura Básica da Unidade Central de Processamento (CPU)

Unidade de Registradores – Alguns Registradores Específicos Importantes

O Registrador de Status / Flags

Contém vários bits de status que refletem o estado da última operação lógica ou aritmética. Os bits de flags podem variar para cada tipo de processador.

2º. Semestre / 2012

Esta indicação serve para tomada de decisões no programa e para controle da CPU.

42

Capítulo 1 Introdução aos Sistemas Computacionais

Processamento das Instruções

• Instruções ���� São tarefas elementares que podem ser executadas em umprocessador, tais como:

• Somar 2 números;

• Transferir um número da Memória para a CPU;

• Transferir um dado da CPU para uma Porta de E/S;

• etc

2º. Semestre / 2012

• etc

OBS: Cada instrução é representada por um código de operação (OP-CODE)

• Conjunto de Instruções (ou “SET” DE INSTRUÇÕES”) ���� É o conjunto de todas as Instruções disponíveis, quando da construção do Processador, escolhido para implementar o Sistema.

OBS: cada microprocessador ou microcontrolador tem o seu próprio “Set de

Instruções”

Page 22: NP 217 Capitulo 1

43

Capítulo 1 Introdução aos Sistemas Computacionais

• Processamento das Instruções ���� Estando o Programa já escrito e armazenadona Memória, o processamento do programa passa por:

1 - Leitura do “Op.Code” na memória de programa2 - Interpretação do código 3 - Execução da Instrução4 - volta ao passo 1, para a próxima Instrução.

Processamento das Instruções

2º. Semestre / 2012

Desta forma, o mesmo Hardware permite gerar inúmeros Programas (Softwares), através dasdiferentes combinações da seqüência de instruções do mesmo Conjunto de Instruções (Setde Instruções).

44

Capítulo 1 Introdução aos Sistemas Computacionais

Ciclo de Instrução

O Processamento de cada instrução é feito pela atuação da UC (Unidade de Controle) sobre todos os sinais de controles do Sistema (Via de controle interna e Via de controle externa), numa seqüência de tempo bem definida (baseada na frequência do clock).

Esta seqüência de controles para o processamento da Instrução é chamado de:

2º. Semestre / 2012

Ciclo de Instrução

sendo subdividido em: Ciclo de Busca (Fetch) e Ciclo de Execução.

Page 23: NP 217 Capitulo 1

45

Capítulo 1 Introdução aos Sistemas Computacionais

Cada Instrução do "Set de Instruções" possui, para sua identificação, um códigode operação, conhecido como Op-code.

Para facilitar a programação, o fabricante também associa a cada op-code um símbolo, conhecido como MNEMÔNICO.

Processamento das Instruções

2º. Semestre / 2012

Exemplo de um Conjunto de Instruções de um determinado Processador

46

Capítulo 1 Introdução aos Sistemas Computacionais

Uma instrução pode ser executada em vários ciclos de máquina, ou seja, um ciclo de instrução é formado por vários ciclos de máquina (dependente da arquitetura).

Os ciclos de máquina indicam quanto tempo uma instrução leva para ser executada pelo processador.

Ciclo de Instrução

2º. Semestre / 2012

Page 24: NP 217 Capitulo 1

47

Capítulo 1 Introdução aos Sistemas Computacionais

Arquiteturas dos Processadores

Arquitetura de Von Neuman:

A CPU é interligada à memória por um único barramento (bus). O sistema é composto por uma única memória onde são armazenados dados e instruções;

2º. Semestre / 2012

são armazenados dados e instruções;

Arquitetura de Harvard:

A CPU é interligada a memória de dados e a memória de programa por barramentos diferentes, de dados e de instruções.

48

Capítulo 1 Introdução aos Sistemas Computacionais

Arquiteturas dos Processadores

Arquitetura de Von Neuman:

Definiu a arquitetura CISC – Complex Instruction Set Computer (Set de instruções Complexo)

- Set de instruções grande (muitas instruções) Ex: 8051 � 225 instruções

2º. Semestre / 2012

- Os programas armazenados na memória são menores em relação ao RISC.

- Op-codes são pequenos e realizam varias tarefas (a UC consegue decodificá-lo em varias sequencias de sinais de controle para executar a instrução - Microcódigo).

- Execução mais lenta (op-code é decodificado em vários passos na UC)

- Instruções possuem diferentes Ciclos de Máquina.

Page 25: NP 217 Capitulo 1

49

Capítulo 1 Introdução aos Sistemas Computacionais

Arquiteturas dos Processadores

Arquitetura de Harvard:

Definiu a arquitetura RISC – Reduce Instruction Set Computer (Set de Instruções Reduzido)

- Set de instruções reduzido (poucas instruções) Ex: PIC16Fxxx � 35 instruções

- Instruções possuem um comprimento fixo e longo, que permite a utilização de um

2º. Semestre / 2012

- Instruções possuem um comprimento fixo e longo, que permite a utilização de umDecodificador de Instruções bastante simplificado, onde, praticamente, o Op.code

atua diretamente sobre os controles dos dispositivos do Sistema (eliminando o microcódigo).

- Processamento das Instruções é mais rápido.

- Os Programas armazenados na memória são maiores (op-codes são grandes).

- Instruções possuem o mesmo número de Ciclos de Máquina.

50

Capítulo 1 Introdução aos Sistemas Computacionais

Arquiteturas dos Processadores

Arquitetura Híbrida:

Atualmente, existem os processadores híbridos, que são essencialmente processadores CISC (com um grande conjunto de instruções), porém possuem internamente núcleos RISC (para execução das instruções em alta velocidade).

2º. Semestre / 2012

Page 26: NP 217 Capitulo 1

51

Capítulo 1 Introdução aos Sistemas Computacionais

Os programas para execução na CPU são armazenados na memória em binário,ou seja, nos seus respectivos op-codes.

É imensamente desconfortável desenvolvermos programas utilizando a Linguagem de Máquina, ou seja, usando diretamente os opcodes das instruções.

Linguagem Assembly ���� - Linguagem Mnemônica (Símbolos)

Linguagens de Programação

2º. Semestre / 2012

Linguagem Assembly ���� - Linguagem Mnemônica (Símbolos)- Necessita de tradução (Montador ou Assembler)- Baixo Nível: mais próxima da arquitetura do processador- Para cada processador: Set de instruções próprio

Linguagem C ���� - Comandos mais “familiares” ao programador- Necessita de tradução (Compilador)- Alto Nível: mais próximo do programador- Igual, mesmo trocando a arquitetura do processador

52

Capítulo 1 Introdução aos Sistemas Computacionais

Exemplo: Assembly x C

Linguagens de Programação

2º. Semestre / 2012

Page 27: NP 217 Capitulo 1

53

Capítulo 1 Introdução aos Sistemas Computacionais

Linguagens de Programação

Qual é a melhor linguagem para escrever os programas (baixo ou alto nível)?

A linguagem de alto nível x linguagem de baixo nível:

• mais amigável e mais fácil para desenvolvimento de aplicações mais complexas.

• permite maior portabilidade

2º. Semestre / 2012

• permite maior portabilidade

• não é necessário se preocupar com a arquitetura interna do processador

• ponto fraco da programação com linguagem de alto nível � o código gerado, muitas vezes, é maior do que um código gerado por um montador (assembler), ocupando uma memória maior de programa e também uma memória maior de dados.

• muitas vezes, a eficiência de execução do programa não é boa (tempo de processamento maior – pouco otimizado).

54

Capítulo 1 Introdução aos Sistemas Computacionais

Linguagens de Programação para Microcontroladores

AssemblyAssembler(Montador)

2º. Semestre / 2012

Page 28: NP 217 Capitulo 1

55

Capítulo 1 Introdução aos Sistemas Computacionais

Linguagens de Programação para Microcontroladores

Linguagem C

2º. Semestre / 2012