Vous êtes sur la page 1sur 29

15/01/13

12C Tcnico de Gesto de Equipamentos Informticos

Arquitetura de Microprocessadores

15/01/13

Principais componentes de um microprocessador. - Evoluo das arquiteturas de microprocessadores. - Arquitetura de um sistema tipo. - Tipos de dados. - Organizao de memria. - Tipos de endereamento. - Ligao com o exterior.

15/01/13

os

processadores tm dois ou mais ncleos, o que equivalente a dizer que tm vrios processadores que realizam tarefas em simultneo.

15/01/13

Unidade lgica e aritmtica (ULA):


responsvel por executar as instrues dos

Unidade de controlo (UC): responsvel pela tarefa de controlo das aes a

programas, como instrues lgicas, matemticas, desvios, etc. serem realizadas pelo computador, comandando todos os outros componentes.

Registos internos: so pequenas memrias velozes que armazenam

comandos ou valores que so utilizados no controlo e processamento de cada instruo.

Os

registos mais importantes so:

Contador de Programa (PC) aponta para a

prxima instruo a ser executada; Registo de Instruo (IR) Regista instruo;

15/01/13

Para

entendermos como funciona um microprocessador, vamos ver como ele por dentro e tentar perceber a lgica usada para a sua criao. O microprocessador executa toda uma srie de instrues que lhe dizem o que deve fazer.

Baseado

nas instrues que lhe so dadas, ele executa trs coisas bsicas atravs da sua Unidade Aritmtica e lgica (ALU Arithmetic Logic Unit):

15/01/13

operaes

mais recentes, no entanto, tm internamente um coprocessador aritmtico, cuja funo auxiliar na execuo de operaes complexas com vrgula flutuante.

matemticas. Os microprocessadores

move

dados de uma localizao de memria para outra; tomar decises e saltar para um conjunto de instrues baseado nessas decises.

15/01/13

Um

barramento de endereos, barramento de dados,

que pode ter um tamanho de 8, 16 ou 32 bits e est

encarregado de enviar endereos para a memria;

Um

que pode ter 8, 16 ou 32 bits, e pode receber e

enviar dados de e para a memria;


Uma

linha RD (Read) e uma WR (Write), que diz memria quando quer escrever ou ler determinado endereo de memria;

Uma

linha de Clock, que um relgio que controla o processador; Uma linha de Reset, que coloca a zero o contador de programa e recomea a execuo.

15/01/13

Os

barramentos e linhas ligam memria, seja ela RAM ou ROM. Se tivermos um barramento de endereos de 8 bits e um barramento de dados de 8 bits, significa que ele pode enderear 256 bytes de memria, isto 28=256, e pode ler ou escrever 8 bits de memria simultaneamente.

Na

ROM est armazenado um conjunto de instrues e microcdigo que ser executado pelo processador. O barramento de endereos diz ROM que bytes deve colocar no barramento de dados e isso feito quando a linha RD muda de estado.

15/01/13

RAM contm bytes de informao e o processador pode ler essa informao, ou escrever, dependendo do estado lgico das linhas RD ou WR. O problema da RAM perder toda a informao armazenada quando se desliga a alimentao, da a necessidade da ROM.

processador necessita de uma enorme quantidade de instrues para realizar a mais simples operao. Essas instrues esto armazenadas na ROM como conjuntos de bits. Esses bits so impercetveis para ns , sendo traduzidospor um assemblador para linguagem assembly e novamente transformados em conjuntos de bits e colocados na memria para serem executados pelo processador.

15/01/13

// a est colocado no endereo 128 // f est colocado no endereo 129 CONB 1 // a = 1; SAVES 128 CONB 1 // f = 1, SAVEB 129 LOADA 128 // if a > 5 then jump to 17; CONB 5 COM JG 17 LOADA 129 // f = f * a ; LOADB 128 MUL SAVEC 129 LOADA 128 // a = a + 1 ; CONB 1 ADD SAVEC 128 JUMP 4 STOP // Loop back to if;

10

15/01/13

CPU recebe continuamente instrues para serem executadas. Cada instruo uma ordem de processamento de dados e o trabalho do CPU consiste principalmente em clculos e transporte de dados.

11

15/01/13

CPU recebe pelo menos dois tipos de dados:


Instrues acerca do que fazer com outros

Chamamos

instrues ao cdigo de programao, que inclui mensagens enviadas ao computador, ordens de impresso, entre outras.

dados; Dados que sero processados de acordo com as instrues.

Os

dados so normalmente dados do utilizador, sejam eles informaes numa base de dados, uma folha de clculo, um desenho, etc. A maior carga de trabalho do CPU consiste na descodificao de instrues e localizao de dados, e os clculos em si no so o tipo de trabalho muito pesado para um microprocessador

12

15/01/13

descodificao , no fundo, a perceo de instrues que o utilizador envia para o CPU. Todos os CPU dos PC so compatveis com o 8086. Isto quer dizer que os programas comunicam com o CPU atravs de uma famlia especfica de instrues.

13

15/01/13

Dado

que existe a necessidade de os CPU das geraes subsequentes poderem utilizar as mesmas instrues do 8088, foi necessrio criar um conjunto de instrues compatveis. Os CPU mais recente tm de perceber as mesmas instrues. Esta compatibilidade um standard da indstria desde ento. Todos os processadores novos, independentemente da sua gerao tm de ser capazes de perceber e manipular o formato de instrues 8088.

14

15/01/13

Para

entendermos o funcionamento do microprocessador, vamos ver, passo a passo, o modo como ele executa uma operao simples, do tipo 2+2.

Quando

se prime a tecla 2, enviado um sinal ao processador e pede-se unidade de prefetch para pesquisar na memria principal do computador uma instruo especfica sobre os dados novos, dado que no h nada acerca disso na cache de instrues.

15

15/01/13

As

instrues chegam ao microprocessador atravs da unidade de barramentos, vindas da memria principal, e so armazenadas na cache de instrues como 2=X.

unidade de prefetch solicita ento cache de instrues uma cpia do cdigo 2=X e envia-o unidade de descodificao para processamento.

16

15/01/13

Seguidamente, na

unidade de descodificao 2=X, o cdigo descodificado numa string de cdigo binrio, que enviado para a unidade de controlo e para a cache de dados.

Agora

a unidade de controlo executa a instruo para 2=X. Isso faz com que o nmero 2 seja enviado para um endereo X na cache de dados, onde aguarda por outras instrues

17

15/01/13

Quando

se prime a tecla 2, novamente a unidade de prefetch, pergunta memria principal do computador e cache de instrues quais so as instrues especficas para esses dados novos. Como no encontra nenhuma informao na cache de instrues, as ordens vm da memria principal.

Similarmente

ao que aconteceu com o 2=X, os novos dados vm da memria principal e so armazenados na cache de instrues como2=Y.

18

15/01/13

unidade de prefetch vai cache de instrues buscar uma cpia do cdigo2=Y e envia-a para a unidade de descodificao onde ser processada.

Na

unidade de descodificao, a instruo 2=Y descodificada e transformada numa string de cdigo binrio, que ser enviada para a unidade de controlo e para a cache de dados, e que lhes dir o que fazer com a instruo.

19

15/01/13

Dado

que a unidade de controlo sabe que o nmero 2 ser armazenado para uso futuro na cache de dados, executa a instruo para2=Y. Isto faz com que o nmero 2 seja enviado para um endereo na cache de dados chamado Y, onde, tal como o outro 2, aguardar futuras ordens

Quando

premimos a tecla +, a unidades de prefetch pergunta memria principal do computador e cache de instrues o que h-de fazer com os novos dados recebidos, que devem ser pescados da memria principal.

20

15/01/13

Dado

que uma instruo nova, + vem para o microprocessador, da memria principal, e armazenado num endereo da cache de instrues como X+Y=Z, indicando que os dois valores vo ser adicionados um ao outro

Ento

a unidade de prefetch pede cache de instrues uma cpia do cdigo X+Y=Z e envia-a para a unidade de controlo para posterior processamento.

21

15/01/13

Na

unidade de descodificao, X+Y=Z traduzido e descodificado, sendo em seguida enviado para a cache de dados, dando indicao do que ho-de fazer com a instruo. Alm disso, tambm a unidade aritmtica e lgica informada de que uma operao ADD vai ser executada

unidade de controlo envia um comando ADD para a unidade aritmtica e lgica, onde X e Y so adicionados, aps serem chamados da cache de dados. Aps realizar a operao, a unidade aritmtica e lgica envia o resultado para ser armazenado num dos endereos dos registos

22

15/01/13

Quando

de prime a tecla =, novamente aunidade de prefetch verifica a cache de instrues para solicitar instrues sobre os novos dados, mas no vai encontrar l nada.

instruo sobre = vem da memria principal para o microprocessador atravs da unidade de barramentos e fica armazenada num endereo da cache de instrues como cdigo PRINT Z

23

15/01/13

unidade de prefetch pede cache de instrues uma cpia do cdigo PRINT Z e envia-a para a unidade de descodificao para posterior processamento.

Na

unidade de descodificao, PRINT Z traduzido e descodificado numa string de cdigo binrio, que enviada para a unidade de controlo para lhe dizer o que fazer com a instruo

24

15/01/13

Agora

que o valor de Z foi calculado e est armazenado nos registos, o comando print s tem de ir buscar o contedo do registo e apresenta-lo no ecr do computador.

25

15/01/13

26

15/01/13

27

15/01/13

28

15/01/13

29