Você está na página 1de 66

Arquitetura de Computadores

Processadores

Smia Rodrigues Gorayeb

Arquitetura de Computadores
Processadores
Agenda:
1. Introduo (definio). 2. Funes 3. Arquitetura bsica 4. Componentes 5. Funcionamento 6. Modelo de Von Neumann 7. Interpretador 8. RISC X CISC 9. Computadores modernos

Processadores
Introduo O processador um componente vital do sistema de computao. o crebro do computador. Funo Realizar operaes de controle e de processamento. Executar os programas armazenados na memria principal

Processadores
Arquitetura bsica de um computador:

Arquitetura bsica de um processador:

Processadores
Componentes Unidade de Controle - UC:
o dispositivo mais complexo da CPU; Responsvel pela busca de instrues na memria principal e determinao de seus tipos; Controla a ao da UAL; Realiza a movimentao de dados;

Processadores
Componentes Unidade Aritmtica e Lgica - UAL:
Responsvel por realizar as operaes matemticas e booleanas;

Registradores:
Utilizados para o armazenamento temporrio de dados ou de informaes de controle; Program Counter: aponta para a prxima instruo a ser buscada; Registrador de Instruo: armazena a instruo que est sendo executada;

Processadores
Componentes Relgio:
Dispositivo gerador de pulsos cuja durao chamada de ciclo; A quantidade de vezes em que este pulso se repete em um segundo define a unidade de medida do relgio A unidade de medida usual para a freqncia dos relgios da CPU o Hertz (HZ) Como se trata de freqncias elevadas, abreviam-se os valores usando-se MHz

Processadores
Funcionamento Buscar uma instruo na memria - ler; Interpretar a instruo - decodificar; Buscar os dados onde estiverem armazenados; Executar a operao com os dados; Guardar o resultado no local definido na instruo; Reiniciar o processo, apanhando nova instruo.

Processadores
Modelo de Von Neumann uma arquitetura de computador que se caracteriza pela possibilidade de uma mquina digital armazenar seus programas no mesmo espao de memria que os dados, podendo assim, manipular tais programas. At ento as instrues eram lidas de cartes perfurados e executadas uma a uma.

Processadores
Modelo de Von Neumann o modelo que define um computador seqencial digital em que o processamento das informaes feito passo a passo. Tem um comportamento determinstico. determinstico A memria Central s aceita um acesso de cada vez, seja para leitura ou para escrita.

Processadores
Modelo de Von Neumann Componentes: unidade de entrada, memria, unidade aritmtica e lgica (ALU), unidade de controle (CU) e unidade de sada Funo buscar um programa na memria, instruo por instruo, e execut-lo sobre os dados de entrada.

Processadores
Modelo de Von Neumann
A unidade de entrada prov instrues e dados ao sistema, que so armazenados na memria. Essas instrues so processadas pela UAL, sob a superviso da UC e os resultados so enviados para unidade de sada.

Processadores
Modernizao do Modelo Particiona o modelo computacional em CPU, memria e entrada e sada.

Processadores
Modelo de Barramento do Sistema o caminho compartilhado responsvel pela comunicao entre os componentes. Barramento de dados: transporta a informao que est sendo transmitida; Barramento de endereos: identifica para onde a informao est sendo enviada; Barramento de controle: descreve aspectos sobre a informao que est sendo transmitida e de que forma; Barramento de energia: responsvel por levar energia aos componentes;

Processadores
Instrues Todo processador tem uma seqncia de instrues: busca, decodificao e execuo; Um dos fatores que diferenciam os processadores so os seus conjuntos de instrues operaes bsicas fornecidas; As operaes bsicas so: de memrias, aritmticas, comparaes e de controle;

Processadores
Instrues As instrues de um processador podem ser classificadas como: registrador memria (permite que o unidades de dados sejam armazenados) ou registrador-registrador (busca operandos em registradores e coloca-os na entrada da UAL para realizar alguma operao sobre eles.

Processadores
Interpretador um programa que consegue buscar, decodificar e executar instrues; Essa equivalncia de processadores construdos em hardware e interpretadores muito importante na organizao e projeto de sistemas de computadores.

Processadores
Interpretador Aps especificar a linguagem de mquina de um processador, os projetistas devem decidir:
Se constroem um processador em hardware que execute diretamente os programas; Ou se devem escrever um interpretador para interpretar os programas. Porm nesse caso necessrio que se projete um hardware para rodar o interpretador.

Processadores
Interpretador (cont) Existem casos com parte da construo hbrida, ou seja, parte da execuo sob a responsabilidade de hardware e parte baseada na interpretao por software.

Processadores
Interpretador (cont) O interpretador divide as instrues em um conjunto de pequenos passos. Logo o processador pode ser muito mais simples e muito mais barato que os construdos em hardware. Essa economia importante se a mquina tiver um grande nmero de instrues e se as instrues forem complicadas e com muitas opes de execuo.

Processadores
Interpretador (cont) Os primeiros computadores tinham um conjunto de instrues simples, porm conforme a necessidade foram criadas mquinas mais robustas com instrues mais complexas No caso de computadores de alta performance foi criada a possibilidade de execuo intercalada, ou em paralelo.

Processadores
Interpretador (cont) Em contrapartida o custo do desenvolvimento de software cada vez mais alto e as exigncias de compatibilizao de instrues, criaram a necessidade de implementao de instrues complexas em mquinas de performance baixa.

Processadores
Interpretador (cont) Em 1950 a IBM introduziu o termo arquitetura para descrever o nvel de compatibilidade entre as mquinas. Uma nova famlia de computadores poderia ter uma nica arquitetura e muitas implementaes diferentes. Como construir um computador de baixo custo capaz de executar todas as instrues complexas das mquinas de alta performance?

Processadores
Interpretador (cont) A resposta foi baseada em mquinas com hardware puro e em mquinas cujas instrues eram interpretadas. Vantagens dos computadores mais simples:
Capacidade de corrigir eventuais erros ; Oportunidade de incorporara novas instrues; Projeto estruturado que permitia o desenvolvimento, o teste e a documentao de instrues complexas.

RISC x CISC RISC: computador com conjunto reduzido de instrues.


A melhor maneira de se projetar um processador era com um pequeno nmero de instrues, todas muito simples, capazes de serem executadas em um ciclo de caminho de dados(buscando o contedo de dois registradores, operando-os e guardando o resultado em outro registrador).

Processadores

CISC: computador com conjunto complexo de instrues.


A melhor maneira de se projetar um processador era com instrues complexas.

Processadores
RISC x CISC (cont) Principal argumento era que por mais que uma mquina RISC precisasse executar 5 instrues para fazer o mesmo que uma mquina CISC e as suas instrues fossem 10 vezes mais rpidas, por no serem interpretadas as mquinas RISC venceriam.

Processadores
RISC x CISC (cont) importante observar que naquela poca a velocidade das memrias principais havia alcanado a velocidade das memrias read-only, de modo que a penalidade paga pela interpretao cresceu bastante o que favorecia as mquinas RISC.

Processadores
RISC x CISC (cont) Em funo da melhor performance da tecnologia RISC, podemos acreditar que as mquinas projetadas em tecnologia CISC no teriam mais espao no mercado. Porm isso no ocorreu por questo de compatibilidade com as mquinas mais antigas e levando em considerao que as mudar de arquitetura seria jogar no lixo bilhes de dlares.

Processadores
RISC x CISC (cont) Alm disso a Intel tem se esforado em utilizar idias bsicas do projeto RISC em suas mquinas com filosofia CISC. A partir do 486, a Intel passou a projetar seus processadores com um ncleo RISC (responsvel pela execuo de instrues mais simples). Porm as instrues mais complexas so interpretadas. Resultando em instrues comuns sendo executadas rapidamente e instrues menos comuns sendo executadas em um tempo maior.

Processadores
RISC x CISC (cont) RISC: Todas as instrues das mquinas so executadas diretamente pelo hardware. Tornando a velocidade de execuo mais rpida. CISC: As instrues mais complexas podem ser divididas em vrias partes, cada uma sendo executadas por uma seqncia de microinstruo.Esse passo extra torna a mquina mais lenta.

Processadores
Computadores Modernos Utilizam as filosofias RISC e CISC: algumas instrues so executadas diretamente no hardware e outras so interpretadas. Os computadores modernos executam o mximo possvel de instrues por segundo, independente do tempo que cada instruo vai demorar pra ser executada.

Processadores
Computadores Modernos (cont) John Hennessy projetou o processador MIPS (milhes de instrues por segundo) Esse princpio sugere que o paralelismo pode ter um papel muito importante na melhora de performance, visto que desta maneira possvel executar um grande nmero de instrues lentas ao mesmo tempo.

Processadores
Computadores Modernos (cont) Apesar das instrues serem apresentadas na ordem lgica, nem sempre elas sero executadas nessa ordem. Isso ocorre, pois alguns recursos necessrios a sua execuo podem estar ocupados. Caso uma instruo dependa de outra, isso deve ficar claro no modelo de execuo, ou seja, para que isso ocorra necessrio uma certa burocracia que deve ser levada em considerao.

Processadores
Computadores Modernos (cont) A decodificao um dos processos crticos que mais influenciam na velocidade de execuo das instrues. o processo que determina quais recursos sero usados na execuo das instrues.

Processadores
Computadores Modernos (cont) Para agilizar esse processo necessrio projetar as instrues de forma mais regular possvel, usando um tamanho nico em todas elas e com o menor nmero de campos possvel. Quanto menos formatos de instruo houver , melhor ser a sua decodificao.

Processadores
Computadores Modernos (cont) A forma mais simples de dividir operaes em vrios passos estabelecer que os operandos para a maioria das instrues venham de registradores e retornem para registradores. A operao de transferir operandos da memria para os registradores deve ser realizada por instrues especiais.

Processadores
Computadores Modernos (cont) Como o acesso a memria pode demorar, a execuo das instrues especiais pode ser intercalada com a a execuo de outras instrues, desde que as instrues especiais no faam nada alm dessa transferncia. Isso leva a criao de instrues LOAD e STORE para realizar acesso memria.

Processadores
Computadores Modernos (cont) Considerando que o acesso memria lento, h necessidade de se ter vrios registradores (mnimo 32), de modo que, sempre que uma palavra venha da memria seu contedo possa ser mantido em um registrador at que esse valor no seja mais necessrio. O processo de armazenar o contedo de um registrador na memria, por falta de registrador, deve ser evitado.

Processadores
Computadores Modernos (cont) Uma das maneiras de melhorar a performance das mquinas fazer com que os chips rodem cada vez mais rpido, aumentando a velocidade do clock, mas existe um limite tecnolgico para isso. Conseqentemente como forma de obter uma performance ainda melhor os arquitetos voltam-se para a execuo de duas ou mais operaes ao mesmo tempo para uma certa velocidade de clock (paralelismo).

Processadores
Computadores Modernos (cont) Existem duas maneiras de paralelismo:
A nvel de instruo; nvel de processador;

O paralelismo a nvel de instruo explorado dentro de instrues individuais de maneira a conseguir que a mquina execute mais instrues por segundo.

Processadores
Computadores Modernos (cont) Sabe-se que o maior gargalo para velocidade de execuo de instrues o acesso memria e para tentar minimizar esse problema as mquinas tem capacidade de buscar antecipadamente instrues da memria de modo encontra-la no processador quando chegar o momento de execut-las. Tais instrues eram armazenadas em um conjunto de registradores chamados de buffer de pr-busca.

Processadores
Computadores Modernos (cont) A pr-busca divide a execuo das instrues em duas partes: a busca e a efetiva execuo. O conceito de pipeline leva a estratgia bem mais alm, divide a execuo das instrues em vrias partes, cada uma tratada por um hardware dedicado exclusivamente a ela. Lembrando que a execuo ocorre em paralelo.

Processadores
Computadores Modernos (cont)
Pipeline com 5 estgios

1. Busca a instruo da memria e armazena no buffer at o momento de execuo. 2. Decodifica a instruo, determina seu tipo e quais operandos sero necessrios sua execuo. 3. Ocorre a localizao e a busca dos operandos que podem estar em registradores ou na memria. 4. Os operandos passam pelo caminho de dados, a execuo propriamente dita. 5. O resultado do processamento escrito em um registrador

Processadores
Computadores Modernos (cont) Operao de pipeline em funo do tempo.

Processadores
Computadores Modernos (cont) O processamento de pipeline permite que se estabelea uma relao entre quanto uma instruo demora pra ser executada (latncia) e a quantos MIPS o processador executa (banda passante).

Processadores
Computadores Modernos (cont) possvel projetar um processador com dois pipelines, onde uma nica unidade busca pares de instrues e coloca cada uma em um pipeline.

Processadores
Computadores Modernos (cont) A determinao do par de instrues compatveis feita segundo um conjunto de regras. A existncia de 4 pipelines conceitualmente possvel, porm seria necessrio a duplicao de hardware. Portanto, em vez disso as mquinas de alta performance usam outra metodologia. A idia bsica ter um nico pipeline com vrias unidades funcionais.

Processadores
Computadores Modernos (cont) A arquitetura superescalar busca uma instruo muito mais rpido passando-a a uma das unidades funcionais que operam em paralelo disponvel, depois o processador busca a instruo seguinte. A idia do processador superescalar traz o fato de que o estgio 3 pode distribuir instrues muito mais rpido que a capacidade do estgio 4 tem de executlas.

Processadores
Computadores Modernos (cont) Arquiteturas superescalares com 5 unidades funcionais.

Processadores
Computadores Modernos (cont) O paralelismo na execuo de instruo ajuda a aumentar a velocidade de execuo, mas a operao dos processadores em pipeline ou em superecalar deixa a performance no mximo 10 vezes melhor. Para obter ganhos da ordem de 50, 100, ou mais necessrio projetar computadores com mais de um processador.

Processadores
Computadores Modernos (cont) Um processador matricial composto de um grande nmero de processadores idnticos que executam a mesma seqncia de instrues sobre diferentes conjuntos de dados. Um processador vetorial muito eficiente na execuo de uma seqncia de operaes em pares de elementos de dados. Todas as operaes aritmticas so realizadas em uma nica UAL que opera em pipeline.

Processadores
Computadores Modernos (cont) Os dois processadores trabalham sobre conjunto de dados e ambos executam instrues nicas sobre os dados. Mas enquanto o processador matricial faz isso com tantos somadores quanto forem os elementos do vetor, o processador vetorial contm registradores vetoriais que podem ser carregados de uma nica instruo que os carrega um depois do outro.

Processadores
Computadores Modernos (cont) Os processadores matriciais so pouco comercializados, em funo de serem eficientes somente na soluo de problemas que executam os mesmos clculos sobre diversas estruturas de dados diferentes simultaneamente. Esses processadores podem executar algumas operaes mais rapidamente, mas precisam de muito hardware e so muito difceis de serem programados.

Processadores
Computadores Modernos (cont) O processamento vetorial pode ser incorporado a processadores convencionais, o resultado que as partes de um programa que podem ser vetorizadas sero executadas mais rapidamente se puder aproveitar a unidade vetorial do processador.

Processadores
Computadores Modernos (cont) O primeiro multiprocessador composto de vrios processadores independentes compartilhando a mesma memria. Considerando que cada processador pode ler ou escrever em qualquer parte da memria, necessrio que as atividades sejam coordenadas por software, para evitar que a atividade de um processador interfira na atividade de outro.

Processadores
Computadores Modernos (cont) Os sistemas multiprocessadores com um pequeno nmero de processadores so de fcil construo. A dificuldade est na conexo dos processadores memria e para resolver isso construram sistemas com um grande nmero de computadores interconectados sem qualquer tipo de memria comum, conhecidos como multicomputadores.

Processadores
Computadores Modernos (cont) Os processadores de um sistema multicomputador comunicam-se por meio do mecanismo de troca de mensagens de maneira veloz. Os sistemas multiprocessadores so mais fceis de programar e os sistemas multicomputadores mais fceis de construir.

Processadores
Computadores Modernos (cont) As empresas tem apontado para sistemas hbridos que combinam as vantagens de ambos, so computadores que do a iluso de memria compartilhada sem arcar com o nus de implement-lo diretamente.

Processadores
Concluso A demanda por computadores cada vez mais rpidos parece no ter fim. medida que os processadores vo ficando mais rpidos seus projetistas comeam a esbarrar em limitaes de ordem fsica, como a velocidade da luz no meio escolhido. Alm disso quanto mais rpido for o chip, mais calor ele vai produzir.

Processadores
Concluso (cont) Com isso os arquitetos de computadores esto sempre sendo desafiados para melhorar cada vez mais a performance das mquinas que eles projetam. Porm caso ocorra alguma mudana de paradigmas tecnolgicos todas as nossas convices atuais sero histria. Por isso necessrio que os projetistas estejam sempre atentos a essas mudanas.

Processadores
Exerccio:
1. 2. 3. O que o processador? Qual a principal funo do processador? Quais so os componentes de um processador que usa o modelo de Von Neumann? Qual a principal caracterstica do modelo de Von Neumann? Explique o funcionamento do modelo de Von Neumann. Quais mudanas ocorreram na modernizao do modelo de Von Neumann? Para que servem os barramentos de sistema?

4. 5. 6. 7.

Processadores
Exerccio (cont):
8. Cite um dos tipos de barramento e para que serve. 9. Qual a seqncia bsica de instruo de um processador? 10. Cite uma operao bsica executada por um conjunto de instrues. 11. Como as instrues de um processador podem ser classificadas? 12. Como chamado o programa que tem as mesmas funes que o processador em hardware puro? 13. Explique como funciona o interpretador.

Processadores
Exerccio (cont):
14. Cite uma vantagem e uma desvantagen de usar o interpretador. 15. Cite uma vantagem e uma desvantagen de usar hardware puro. 16. Qual a diferena entre RISC e CISC? 17. Por que apesar da tecnologia RISC ter melhor performance que a CISC as mquinas no foram substitudas? 18. Qual das duas tecnologias os processadores modernos usam? 19. Como os computadores modernos trabalham?

Processadores
Exerccio (cont):
20. Qual a maior vantagem de usar paralelismo? 21. Por que a decodificao um processo crtico nos computadores modernos? 22. Como possvel acelerar o processo de decodificao? 23. Por que a transferncia de operandos da memria para os registradores deve ser feita por instrues especiais? 24. Cite uma maneira de melhorar a performance dos computadores? 25. Quais so as maneiras existentes de paralelismo?

Processadores
Exerccio (cont):
26. Qual a principal funo do paralelismo a nivel de instruo? 27. Qual a principal funo do paralelismo a nivel de processador? 28. Para que serve o buffer de pr-busca? 29. O que o pipeline? 30. Explique o passo-a-passo de um pipeline de 5 estgios. 31. Por que a existncia de 4 pipelines no foi utilizada? 32. O que a arquitetura superescalar?

Processadores
Exerccio (cont):
33. Qual a diferena entre um processador matricial e um vetorial? 34. Explique o funcionamento de um multiprocessador. 35. Explique o funcionamento de um multicomputador. 36. Qual a vantagem dos sistemas multiprocessadores e multicomputadores? 37. Qual a desvantagem dos sistemas multiprocessadores e multicomputadores? 38. Como funcionam os computadores modernos que usam sistemas hbridos?

Você também pode gostar