Escolar Documentos
Profissional Documentos
Cultura Documentos
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
programas, como instrues lgicas, matemticas, desvios, etc. serem realizadas pelo computador, comandando todos os outros componentes.
Os
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
Um
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
Chamamos
instrues ao cdigo de programao, que inclui mensagens enviadas ao computador, ordens de impresso, entre outras.
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