29
15/01/13 1 12ºC – Técnico de Gestão de Equipamentos Informáticos Arquitetura de Microprocessadores

SDAC-Arquitetura de Microprocessadores

Embed Size (px)

DESCRIPTION

SDAC-Arquitetura de Microprocessadores

Citation preview

Page 1: SDAC-Arquitetura de Microprocessadores

15/01/13  

1  

12ºC – Técnico de Gestão de Equipamentos Informáticos

Arquitetura de Microprocessadores

Page 2: SDAC-Arquitetura de Microprocessadores

15/01/13  

2  

� - Principais componentes de um microprocessador.

� - Evolução das arquiteturas de microprocessadores.

� - Arquitetura de um sistema tipo. � - Tipos de dados. � - Organização de memória. � - Tipos de endereçamento. � - Ligação com o exterior.

Page 3: SDAC-Arquitetura de Microprocessadores

15/01/13  

3  

� os processadores têm dois ou mais núcleos, o que é equivalente a dizer que têm vários processadores que realizam tarefas em simultâneo.

Page 4: SDAC-Arquitetura de Microprocessadores

15/01/13  

4  

�  Unidade lógica e aritmética (ULA): •  responsável por executar as instruções dos

programas, como instruções lógicas, matemáticas, desvios, etc.

� Unidade de controlo (UC): •  responsável pela tarefa de controlo das ações a

serem realizadas pelo computador, comandando todos os outros componentes.

� Registos internos: •  são pequenas memórias velozes que armazenam

comandos ou valores que são utilizados no controlo e processamento de cada instrução.

� Os registos mais importantes são: •  Contador de Programa (PC) – aponta para a

próxima instrução a ser executada; •  Registo de Instrução (IR) – Regista instrução;

Page 5: SDAC-Arquitetura de Microprocessadores

15/01/13  

5  

� Para entendermos como funciona um microprocessador, vamos ver como é ele por dentro e tentar perceber a lógica usada para a sua criação.

� O microprocessador executa toda uma série de instruções que lhe dizem o que deve fazer.

� Baseado nas instruções que lhe são dadas, ele executa três coisas básicas através da sua Unidade Aritmética e lógica (ALU – Arithmetic Logic Unit):

Page 6: SDAC-Arquitetura de Microprocessadores

15/01/13  

6  

� operações matemáticas. Os microprocessadores mais recentes, no entanto, têm internamente um coprocessador aritmético, cuja função é auxiliar na execução de operações complexas com vírgula flutuante.

� move dados de uma localização de memória para outra;

� tomar decisões e saltar para um conjunto de instruções baseado nessas decisões.

Page 7: SDAC-Arquitetura de Microprocessadores

15/01/13  

7  

� Um barramento de endereços, •  que pode ter um tamanho de 8, 16 ou 32 bits e está

encarregado de enviar endereços para a memória; � Um barramento de dados,

•  que pode ter 8, 16 ou 32 bits, e pode receber e enviar dados de e para a memória;

� Uma linha RD (Read) e uma WR (Write), que diz à memória quando quer escrever ou ler determinado endereço de memória;

� Uma linha de Clock, que é um relógio que controla o processador;

� Uma linha de Reset, que coloca a zero o contador de programa e recomeça a execução.

Page 8: SDAC-Arquitetura de Microprocessadores

15/01/13  

8  

� Os barramentos e linhas ligam à memória, seja ela RAM ou ROM.

� Se tivermos um barramento de endereços de 8 bits e um barramento de dados de 8 bits, significa que ele pode endereçar 256 bytes de memória, isto é 28=256, e pode ler ou escrever 8 bits de memória simultaneamente.

� Na ROM está armazenado um conjunto de instruções e microcódigo que será executado pelo processador. O barramento de endereços diz à ROM que bytes deve colocar no barramento de dados e isso é feito quando a linha RD muda de estado.

Page 9: SDAC-Arquitetura de Microprocessadores

15/01/13  

9  

� A RAM contém bytes de informação e o processador pode ler essa informação, ou escrever, dependendo do estado lógico das linhas RD ou WR.

� O problema da RAM é perder toda a informação armazenada quando se desliga a alimentação, daí a necessidade da ROM.

� O processador necessita de uma enorme quantidade de instruções para realizar a mais simples operação.

� Essas instruções estão armazenadas na ROM como conjuntos de bits.

� Esses bits são impercetíveis para nós , sendo “traduzidos”por um assemblador para linguagem assembly e novamente transformados em conjuntos de bits e colocados na memória para serem executados pelo processador.

Page 10: SDAC-Arquitetura de Microprocessadores

15/01/13  

10  

// a está colocado no endereço 128 // f está colocado no endereço 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;

Page 11: SDAC-Arquitetura de Microprocessadores

15/01/13  

11  

� O CPU recebe continuamente instruções para serem executadas. Cada instrução é uma ordem de processamento de dados e o trabalho do CPU consiste principalmente em cálculos e transporte de dados.

Page 12: SDAC-Arquitetura de Microprocessadores

15/01/13  

12  

� O CPU recebe pelo menos dois tipos de dados: •  Instruções acerca do que fazer com outros

dados; •  Dados que serão processados de acordo com as

instruções. � Chamamos instruções ao código de

programação, que inclui mensagens enviadas ao computador, ordens de impressão, entre outras.

� Os dados são normalmente dados do utilizador, sejam eles informações numa base de dados, uma folha de cálculo, um desenho, etc.

� A maior carga de trabalho do CPU consiste na descodificação de instruções e localização de dados, e os cálculos em si não são o tipo de trabalho muito pesado para um microprocessador

Page 13: SDAC-Arquitetura de Microprocessadores

15/01/13  

13  

� A descodificação é, no fundo, a perceção de instruções que o utilizador envia para o CPU.

� Todos os CPU dos PC são compatíveis com o 8086. Isto quer dizer que os programas comunicam com o CPU através de uma família específica de instruções.

Page 14: SDAC-Arquitetura de Microprocessadores

15/01/13  

14  

� Dado que existe a necessidade de os CPU das gerações subsequentes poderem utilizar as mesmas instruções do 8088, foi necessário criar um conjunto de instruções compatíveis.

� Os CPU mais recente têm de perceber as mesmas instruções. Esta compatibilidade é um standard da indústria desde então. Todos os processadores novos, independentemente da sua geração têm de ser capazes de perceber e manipular o formato de instruções 8088.

Page 15: SDAC-Arquitetura de Microprocessadores

15/01/13  

15  

� Para entendermos o funcionamento do microprocessador, vamos ver, passo a passo, o modo como ele executa uma operação 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 memória principal do computador uma instrução específica sobre os dados novos, dado que não há nada acerca disso na cache de instruções.

Page 16: SDAC-Arquitetura de Microprocessadores

15/01/13  

16  

� As instruções chegam ao microprocessador através da unidade de barramentos, vindas da memória principal, e são armazenadas na cache de instruções como “2=X”.

� A unidade de prefetch solicita então à cache de instruções uma cópia do código “2=X” e envia-o à unidade de descodificação para processamento.

Page 17: SDAC-Arquitetura de Microprocessadores

15/01/13  

17  

� Seguidamente, na unidade de descodificação “2=X”, o código é descodificado numa string de código binário, que é enviado para a unidade de controlo e para a cache de dados.

� Agora a unidade de controlo executa a instrução para “2=X”. Isso faz com que o número 2 seja enviado para um endereço X na cache de dados, onde aguarda por outras instruções

Page 18: SDAC-Arquitetura de Microprocessadores

15/01/13  

18  

� Quando se prime a tecla 2, novamente a unidade de prefetch, pergunta à memória principal do computador e à cache de instruções quais são as instruções específicas para esses dados novos. Como não encontra nenhuma informação na cache de instruções, as ordens vêm da memória principal.

� Similarmente ao que aconteceu com o “2=X”, os novos dados vêm da memória principal e são armazenados na cache de instruções como“2=Y”.

Page 19: SDAC-Arquitetura de Microprocessadores

15/01/13  

19  

� A unidade de prefetch vai à cache de instruções buscar uma cópia do código“2=Y” e envia-a para a unidade de descodificação onde será processada.

� Na unidade de descodificação, a instrução “2=Y” é descodificada e transformada numa string de código binário, que será enviada para a unidade de controlo e para a cache de dados, e que lhes dirá o que fazer com a instrução.

Page 20: SDAC-Arquitetura de Microprocessadores

15/01/13  

20  

� Dado que a unidade de controlo sabe que o número 2 será armazenado para uso futuro na cache de dados, executa a instrução para“2=Y”. Isto faz com que o número 2 seja enviado para um endereço na cache de dados chamado Y, onde, tal como o outro 2, aguardará futuras ordens

� Quando premimos a tecla “+”, a unidades de prefetch pergunta à memória principal do computador e à cache de instruções o que há-de fazer com os novos dados recebidos, que devem ser “pescados” da memória principal.

Page 21: SDAC-Arquitetura de Microprocessadores

15/01/13  

21  

� Dado que é uma instrução nova, “+” vem para o microprocessador, da memória principal, e é armazenado num endereço da cache de instruções como “X+Y=Z”, indicando que os dois valores vão ser adicionados um ao outro

� Então a unidade de prefetch pede à cache de instruções uma cópia do código “X+Y=Z” e envia-a para a unidade de controlo para posterior processamento.

Page 22: SDAC-Arquitetura de Microprocessadores

15/01/13  

22  

� Na unidade de descodificação, “X+Y=Z” é traduzido e descodificado, sendo em seguida enviado para a cache de dados, dando indicação do que hão-de fazer com a instrução. Além disso, também a unidade aritmética e lógica é informada de que uma operação ADD vai ser executada

� A unidade de controlo envia um comando ADD para a unidade aritmética e lógica, onde X e Y são adicionados, após serem chamados da cache de dados. Após realizar a operação, a unidade aritmética e lógica envia o resultado para ser armazenado num dos endereços dos registos

Page 23: SDAC-Arquitetura de Microprocessadores

15/01/13  

23  

� Quando de prime a tecla “=”, novamente aunidade de prefetch verifica a cache de instruções para solicitar instruções sobre os novos dados, mas não vai encontrar lá nada.

� A instrução sobre “=” vem da memória principal para o microprocessador através da unidade de barramentos e fica armazenada num endereço da cache de instruções como código “PRINT Z”

Page 24: SDAC-Arquitetura de Microprocessadores

15/01/13  

24  

� A unidade de prefetch pede à cache de instruções uma cópia do código “PRINT Z” e envia-a para a unidade de descodificação para posterior processamento.

� Na unidade de descodificação, “PRINT Z” é traduzido e descodificado numa string de código binário, que é enviada para a unidade de controlo para lhe dizer o que fazer com a instrução

Page 25: SDAC-Arquitetura de Microprocessadores

15/01/13  

25  

� Agora que o valor de “Z” foi calculado e está armazenado nos registos, o comando print só tem de ir buscar o conteúdo do registo e apresenta-lo no ecrã do computador.

Page 26: SDAC-Arquitetura de Microprocessadores

15/01/13  

26  

Page 27: SDAC-Arquitetura de Microprocessadores

15/01/13  

27  

Page 28: SDAC-Arquitetura de Microprocessadores

15/01/13  

28  

Page 29: SDAC-Arquitetura de Microprocessadores

15/01/13  

29