Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de...

66
Arquitetura de Computadores Arquitetura de Computadores Processadores Processadores Sâmia Rodrigues Gorayeb Sâmia Rodrigues Gorayeb

Transcript of Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de...

Page 1: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

Arquitetura de ComputadoresArquitetura de ComputadoresProcessadoresProcessadores

Sâmia Rodrigues GorayebSâmia Rodrigues Gorayeb

Page 2: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

Arquitetura de ComputadoresArquitetura de ComputadoresProcessadoresProcessadores

Agenda: Agenda: 1.1. Introdução (definição).Introdução (definição).2.2. FunçõesFunções3.3. Arquitetura básicaArquitetura básica4.4. ComponentesComponentes5.5. FuncionamentoFuncionamento6.6. Modelo de Von NeumannModelo de Von Neumann7.7. InterpretadorInterpretador8.8. RISC X CISCRISC X CISC9.9. Computadores modernosComputadores modernos

Page 3: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresIntroduçãoIntrodução

O processador é um componente vital do O processador é um componente vital do sistema de computação.sistema de computação.É o cérebro do computador.É o cérebro do computador.

FunçãoFunçãoRealizaRealizarr operações de controleoperações de controle e de e de pprocessamento.rocessamento.Executar os programas armazenados na Executar os programas armazenados na memória principalmemória principal

Page 4: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresArquitetura básica de um computador: Arquitetura básica de um computador:

Arquitetura básica de um processador:Arquitetura básica de um processador:

Page 5: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComponentesComponentes

Unidade de Controle Unidade de Controle -- UC: UC: É o dispositivo mais complexo da CPU;É o dispositivo mais complexo da CPU;Responsável pela busca de instruções na Responsável pela busca de instruções na memória principal e determinação de seus memória principal e determinação de seus tipos;tipos;Controla a ação da Controla a ação da UUAL;AL;Realiza a movimentação de dados;Realiza a movimentação de dados;

Page 6: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComponentesComponentes

Unidade Aritmética e Lógica Unidade Aritmética e Lógica -- UALUAL: : Responsável por realizar as operações Responsável por realizar as operações matemáticasmatemáticas e e booleanas;booleanas;

Registradores:Registradores:Utilizados para o armazenamento temporário Utilizados para o armazenamento temporário de dados ou de informações de controle;de dados ou de informações de controle;Program Counter: Program Counter: aponta para a próxima aponta para a próxima instrução a ser buscada;instrução a ser buscada;Registrador de Instrução: armazena a Registrador de Instrução: armazena a instrução que está sendo executada;instrução que está sendo executada;

Page 7: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComponentesComponentes

Relógio: Relógio: Dispositivo gerador de pulsos cuja duração é Dispositivo gerador de pulsos cuja duração é chamada de ciclo;chamada de ciclo;A quantidade de vezes em que este pulso se A quantidade de vezes em que este pulso se repete em um segundo define a unidade de repete em um segundo define a unidade de medida do relógiomedida do relógioA unidade de medida usual para a freqüência A unidade de medida usual para a freqüência dos relógios da CPU é o Hertz (HZ)dos relógios da CPU é o Hertz (HZ)Como se trata de freqüências elevadas, Como se trata de freqüências elevadas, abreviamabreviam--se os valores usandose os valores usando--se MHzse MHz

Page 8: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresFuncionamentoFuncionamento

Buscar uma instrução na memória Buscar uma instrução na memória -- ler;ler;Interpretar a instrução Interpretar a instrução -- decodificar;decodificar;Buscar os dados onde estiverem Buscar os dados onde estiverem armazenados;armazenados;Executar a operação com os dados;Executar a operação com os dados;Guardar o resultado no local definido na Guardar o resultado no local definido na instrução;instrução;Reiniciar o processo, apanhando nova Reiniciar o processo, apanhando nova instrução.instrução.

Page 9: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresModelo de Von NeumannModelo de Von Neumann

É uma arquitetura de computador que se É uma arquitetura de computador que se caracteriza pela possibilidade de uma caracteriza pela possibilidade de uma máquina digital armazenar seus máquina digital armazenar seus programas no mesmo espaço de memória programas no mesmo espaço de memória que os dados, podendo assim, manipular que os dados, podendo assim, manipular tais programas.tais programas.Até então as instruções eram lidas de Até então as instruções eram lidas de cartões perfurados e executadas uma a cartões perfurados e executadas uma a uma.uma.

Page 10: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresModelo de Von NeumannModelo de Von Neumann

É o modelo que define um computador É o modelo que define um computador seqüencial digital em que o seqüencial digital em que o processamento das informações é feito processamento das informações é feito passo a passo.passo a passo.Tem um comportamento determinísticoTem um comportamento determinístico.A memória Central só aceita um acesso A memória Central só aceita um acesso de cada vez, seja para leitura ou para de cada vez, seja para leitura ou para escrita.escrita.

Page 11: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresModelo de Von NeumannModelo de Von Neumann

Componentes: unidade de entrada, Componentes: unidade de entrada, memória, unidade aritmética e lógica memória, unidade aritmética e lógica (ALU), unidade de controle (CU) e (ALU), unidade de controle (CU) e unidade de saídaunidade de saídaFunção buscar um programa na memória, Função buscar um programa na memória, instrução por instrução, e executáinstrução por instrução, e executá--lo sobre lo sobre os dados de entrada.os dados de entrada.

Page 12: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresModelo de Von NeumannModelo de Von Neumann

A unidade de entrada A unidade de entrada provê instruções e dados provê instruções e dados ao sistema, que são ao sistema, que são armazenados na armazenados na memória. Essas memória. Essas instruções são instruções são processadas pela UAL, processadas pela UAL, sob a supervisão da UC sob a supervisão da UC e os resultados são e os resultados são enviados para unidade enviados para unidade de saída.de saída.

Page 13: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresModernização do ModeloModernização do Modelo

Particiona o modelo computacional em Particiona o modelo computacional em CPU, memória e entrada e saída.CPU, memória e entrada e saída.

Page 14: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresModelo de Barramento do SistemaModelo de Barramento do Sistema

É o caminho compartilhado responsável É o caminho compartilhado responsável pela comunicação entre os componentes.pela comunicação entre os componentes.Barramento de dados: transporta a Barramento de dados: transporta a informação que está sendo transmitida;informação que está sendo transmitida;Barramento de endereços: identifica para Barramento de endereços: identifica para onde a informação está sendo enviada;onde a informação está sendo enviada;Barramento de controle: descreve Barramento de controle: descreve aspectos sobre a informação que está aspectos sobre a informação que está sendo transmitida e de que forma;sendo transmitida e de que forma;Barramento de energia: responsável por Barramento de energia: responsável por levar energia aos componentes;levar energia aos componentes;

Page 15: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresInstruçõesInstruções

Todo processador tem uma seqüência de Todo processador tem uma seqüência de instruções: busca, decodificação e instruções: busca, decodificação e execução;execução;Um dos fatores que diferenciam os Um dos fatores que diferenciam os processadores são os seus conjuntos de processadores são os seus conjuntos de instruções instruções –– operações básicas operações básicas fornecidas;fornecidas;As operações básicas são: de memórias, As operações básicas são: de memórias, aritméticas, comparações e de controle;aritméticas, comparações e de controle;

Page 16: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresInstruçõesInstruções

As instruções de um processador podem As instruções de um processador podem ser classificadas como: registrador ser classificadas como: registrador memória (permite que o unidades de memória (permite que o unidades de dados sejam armazenados) ou dados sejam armazenados) ou registradorregistrador--registrador (busca operandos registrador (busca operandos em registradores e colocaem registradores e coloca--os na entrada os na entrada da UAL para realizar alguma operação da UAL para realizar alguma operação sobre eles.sobre eles.

Page 17: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresInterpretadorInterpretador

É um programa que consegue buscar, É um programa que consegue buscar, decodificar e executar instruções;decodificar e executar instruções;Essa equivalência de processadores Essa equivalência de processadores construídos em hardware e construídos em hardware e interpretadores é muito importante na interpretadores é muito importante na organização e projeto de sistemas de organização e projeto de sistemas de computadores.computadores.

Page 18: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresInterpretadorInterpretador

Após especificar a linguagem de máquina Após especificar a linguagem de máquina de um processador, os projetistas devem de um processador, os projetistas devem decidir:decidir:

Se constroem um processador em hardware Se constroem um processador em hardware que execute diretamente os programas;que execute diretamente os programas;Ou se devem escrever um interpretador para Ou se devem escrever um interpretador para interpretar os programas. Porém nesse caso interpretar os programas. Porém nesse caso é necessário que se projete um hardware é necessário que se projete um hardware para rodar o interpretador.para rodar o interpretador.

Page 19: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresInterpretador (cont)Interpretador (cont)

Existem casos com parte da construção Existem casos com parte da construção híbrida, ou seja, parte da execução sob a híbrida, ou seja, parte da execução sob a responsabilidade de hardware e parte responsabilidade de hardware e parte baseada na interpretação por software.baseada na interpretação por software.

Page 20: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresInterpretador (cont)Interpretador (cont)

O interpretador divide as instruções em O interpretador divide as instruções em um conjunto de pequenos passos. Logo o um conjunto de pequenos passos. Logo o processador pode ser muito mais simples processador pode ser muito mais simples e muito mais barato que os construídos e muito mais barato que os construídos em hardware. Essa economia é em hardware. Essa economia é importante se a máquina tiver um grande importante se a máquina tiver um grande número de instruções e se as instruções número de instruções e se as instruções forem complicadas e com muitas opções forem complicadas e com muitas opções de execução.de execução.

Page 21: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresInterpretador (cont)Interpretador (cont)

Os primeiros computadores tinham um Os primeiros computadores tinham um conjunto de instruções simples, porém conjunto de instruções simples, porém conforme a necessidade foram criadas conforme a necessidade foram criadas máquinas mais robustas com instruções máquinas mais robustas com instruções mais complexasmais complexasNo caso de computadores de alta No caso de computadores de alta performance foi criada a possibilidade de performance foi criada a possibilidade de execução intercalada, ou em paralelo.execução intercalada, ou em paralelo.

Page 22: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresInterpretador (cont)Interpretador (cont)

Em contrapartida o custo do Em contrapartida o custo do desenvolvimento de software cada vez desenvolvimento de software cada vez mais alto e as exigências de mais alto e as exigências de compatibilização de instruções, criaram a compatibilização de instruções, criaram a necessidade de implementação de necessidade de implementação de instruções complexas em máquinas de instruções complexas em máquinas de performance baixa. performance baixa.

Page 23: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresInterpretador (cont)Interpretador (cont)

Em 1950 a IBM introduziu o termo Em 1950 a IBM introduziu o termo arquitetura para descrever o nível de arquitetura para descrever o nível de compatibilidade entre as máquinas. Uma compatibilidade entre as máquinas. Uma nova família de computadores poderia ter nova família de computadores poderia ter uma única arquitetura e muitas uma única arquitetura e muitas implementações diferentes. implementações diferentes. Como construir um computador de baixo Como construir um computador de baixo custo capaz de executar todas as custo capaz de executar todas as instruções complexas das máquinas de instruções complexas das máquinas de alta performance?alta performance?

Page 24: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresInterpretador (cont)Interpretador (cont)

A resposta foi baseada em máquinas com A resposta foi baseada em máquinas com hardware puro e em máquinas cujas hardware puro e em máquinas cujas instruções eram interpretadas.instruções eram interpretadas.Vantagens dos computadores mais Vantagens dos computadores mais simples:simples:

Capacidade de corrigir eventuais erros ;Capacidade de corrigir eventuais erros ;Oportunidade de incorporara novas Oportunidade de incorporara novas instruções;instruções;Projeto estruturado que permitia o Projeto estruturado que permitia o desenvolvimento, o teste e a documentação desenvolvimento, o teste e a documentação de instruções complexas.de instruções complexas.

Page 25: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresRISC x CISCRISC x CISC

RISC: computador com conjunto reduzido RISC: computador com conjunto reduzido de instruções.de instruções.

A melhor maneira de se projetar um A melhor maneira de se projetar um processador era com um pequeno número de processador era com um pequeno número de instruções, todas muito simples, capazes de instruções, todas muito simples, capazes de serem executadas em um ciclo de caminho serem executadas em um ciclo de caminho de dados(buscando o conteúdo de dois de dados(buscando o conteúdo de dois registradores, operandoregistradores, operando--os e guardando o os e guardando o resultado em outro registrador).resultado em outro registrador).

CISC: computador com conjunto CISC: computador com conjunto complexo de instruções.complexo de instruções.

A melhor maneira de se projetar um A melhor maneira de se projetar um processador era com instruções complexas.processador era com instruções complexas.

Page 26: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresRISC x CISC (cont)RISC x CISC (cont)

Principal argumento era que por mais que Principal argumento era que por mais que uma máquina RISC precisasse executar 5 uma máquina RISC precisasse executar 5 instruções para fazer o mesmo que uma instruções para fazer o mesmo que uma máquina CISC e as suas instruções máquina CISC e as suas instruções fossem 10 vezes mais rápidas, por não fossem 10 vezes mais rápidas, por não serem interpretadas as máquinas RISC serem interpretadas as máquinas RISC venceriam.venceriam.

Page 27: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresRISC x CISC (cont)RISC x CISC (cont)

É importante observar que naquela época É importante observar que naquela época a velocidade das memórias principais a velocidade das memórias principais havia alcançado a velocidade das havia alcançado a velocidade das memórias memórias readread--onlyonly, de modo que a , de modo que a penalidade paga pela interpretação penalidade paga pela interpretação cresceu bastante o que favorecia as cresceu bastante o que favorecia as máquinas RISC.máquinas RISC.

Page 28: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresRISC x CISC (cont)RISC x CISC (cont)

Em função da melhor performance da Em função da melhor performance da tecnologia RISC, podemos acreditar que tecnologia RISC, podemos acreditar que as máquinas projetadas em tecnologia as máquinas projetadas em tecnologia CISC não teriam mais espaço no CISC não teriam mais espaço no mercado.mercado.Porém isso não ocorreu por questão de Porém isso não ocorreu por questão de compatibilidade com as máquinas mais compatibilidade com as máquinas mais antigas e levando em consideração que antigas e levando em consideração que as mudar de arquitetura seria jogar no lixo as mudar de arquitetura seria jogar no lixo bilhões de dólares.bilhões de dólares.

Page 29: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresRISC x CISC (cont)RISC x CISC (cont)

Além disso a Intel tem se esforçado em Além disso a Intel tem se esforçado em utilizar idéias básicas do projeto RISC em utilizar idéias básicas do projeto RISC em suas máquinas com filosofia CISC.suas máquinas com filosofia CISC.A partir do 486, a Intel passou a projetar A partir do 486, a Intel passou a projetar seus processadores com um núcleo RISC seus processadores com um núcleo RISC (responsável pela execução de instruções (responsável pela execução de instruções mais simples). Porém as instruções mais mais simples). Porém as instruções mais complexas são interpretadas. Resultando complexas são interpretadas. Resultando em instruções comuns sendo executadas em instruções comuns sendo executadas rapidamente e instruções menos comuns rapidamente e instruções menos comuns sendo executadas em um tempo maior.sendo executadas em um tempo maior.

Page 30: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresRISC x CISC (cont)RISC x CISC (cont)

RISC: Todas as instruções das máquinas RISC: Todas as instruções das máquinas são executadas diretamente pelo são executadas diretamente pelo hardware. Tornando a velocidade de hardware. Tornando a velocidade de execução mais rápida.execução mais rápida.CISC: As instruções mais complexas CISC: As instruções mais complexas podem ser divididas em várias partes, podem ser divididas em várias partes, cada uma sendo executadas por uma cada uma sendo executadas por uma seqüência de microinstrução.Esse passo seqüência de microinstrução.Esse passo extra torna a máquina mais lenta.extra torna a máquina mais lenta.

Page 31: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores ModernosComputadores Modernos

Utilizam as filosofias RISC e CISC: Utilizam as filosofias RISC e CISC: algumas instruções são executadas algumas instruções são executadas diretamente no hardware e outras são diretamente no hardware e outras são interpretadas.interpretadas.Os computadores modernos executam o Os computadores modernos executam o máximo possível de instruções por máximo possível de instruções por segundo, independente do tempo que segundo, independente do tempo que cada instrução vai demorar pra ser cada instrução vai demorar pra ser executada. executada.

Page 32: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores ModernosComputadores Modernos (cont)(cont)

John John HennessyHennessy projetou o processador projetou o processador MIPS (milhões de instruções por segundo)MIPS (milhões de instruções por segundo)Esse princípio sugere que o paralelismo Esse princípio sugere que o paralelismo pode ter um papel muito importante na pode ter um papel muito importante na melhora de performance, visto que desta melhora de performance, visto que desta maneira é possível executar um grande maneira é possível executar um grande número de instruções lentas ao mesmo número de instruções lentas ao mesmo tempo.tempo.

Page 33: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

AApesar das instruções serem pesar das instruções serem apresentadas na ordem lógica, nem apresentadas na ordem lógica, nem sempre elas serão executadas nessa sempre elas serão executadas nessa ordem. Isso ocorre, pois alguns recursos ordem. Isso ocorre, pois alguns recursos necessários a sua execução podem estar necessários a sua execução podem estar ocupados.ocupados.Caso uma instrução dependa de outra, Caso uma instrução dependa de outra, isso deve ficar claro no modelo de isso deve ficar claro no modelo de execução, ou seja, para que isso ocorra é execução, ou seja, para que isso ocorra é necessário uma certa burocracia que deve necessário uma certa burocracia que deve ser levada em consideração.ser levada em consideração.

Page 34: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

A decodificação é um dos processos A decodificação é um dos processos críticos que mais influenciam na críticos que mais influenciam na velocidade de execução das instruções. È velocidade de execução das instruções. È o processo que determina quais recursos o processo que determina quais recursos serão usados na execução das instruções.serão usados na execução das instruções.

Page 35: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

Para agilizar esse processo é necessário Para agilizar esse processo é necessário projetar as instruções de forma mais projetar as instruções de forma mais regular possível, usando um tamanho regular possível, usando um tamanho único em todas elas e com o menor único em todas elas e com o menor número de campos possível. Quanto número de campos possível. Quanto menos formatos de instrução houver , menos formatos de instrução houver , melhor será a sua decodificação.melhor será a sua decodificação.

Page 36: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

A forma mais simples de dividir operações A forma mais simples de dividir operações em vários passos é estabelecer que os em vários passos é estabelecer que os operandos para a maioria das instruções operandos para a maioria das instruções venham de registradores e retornem para venham de registradores e retornem para registradores.registradores.A operação de transferir operandos da A operação de transferir operandos da memória para os registradores deve ser memória para os registradores deve ser realizada por instruções especiais.realizada por instruções especiais.

Page 37: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

Como o acesso a memória pode demorar, Como o acesso a memória pode demorar, a execução das instruções especiais pode a execução das instruções especiais pode ser intercalada com a a execução de ser intercalada com a a execução de outras instruções, desde que as outras instruções, desde que as instruções especiais não façam nada além instruções especiais não façam nada além dessa transferência. Isso leva a criação de dessa transferência. Isso leva a criação de instruções LOAD e STORE para realizar instruções LOAD e STORE para realizar acesso à memóriaacesso à memória..

Page 38: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

Considerando que o acesso à memória é Considerando que o acesso à memória é lento, há necessidade de se ter vários lento, há necessidade de se ter vários registradores (mínimo 32), de modo que, registradores (mínimo 32), de modo que, sempre que uma palavra venha da sempre que uma palavra venha da memória seu conteúdo possa ser mantido memória seu conteúdo possa ser mantido em um registrador até que esse valor não em um registrador até que esse valor não seja mais necessário.seja mais necessário.O processo de armazenar o conteúdo de O processo de armazenar o conteúdo de um registrador na memória, por falta de um registrador na memória, por falta de registrador, deve ser evitado.registrador, deve ser evitado.

Page 39: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

Uma das maneiras de melhorar a Uma das maneiras de melhorar a performance das máquinas é fazer com performance das máquinas é fazer com que os chips rodem cada vez mais rápido, que os chips rodem cada vez mais rápido, aumentando a velocidade do aumentando a velocidade do clockclock, mas , mas existe um limite tecnológico para isso. existe um limite tecnológico para isso. Conseqüentemente como forma de obter Conseqüentemente como forma de obter uma performance ainda melhor os uma performance ainda melhor os arquitetos voltamarquitetos voltam--se para a execução de se para a execução de duas ou mais operações ao mesmo tempo duas ou mais operações ao mesmo tempo para uma certa velocidade de para uma certa velocidade de clockclock(paralelismo).(paralelismo).

Page 40: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

Existem duas maneiras de paralelismo: Existem duas maneiras de paralelismo: A nível de instrução;A nível de instrução;Á nível de processador;Á nível de processador;

O paralelismo a nível de instrução é O paralelismo a nível de instrução é explorado dentro de instruções individuais explorado dentro de instruções individuais de maneira a conseguir que a máquina de maneira a conseguir que a máquina execute mais instruções por segundo.execute mais instruções por segundo.

Page 41: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

SabeSabe--se que o maior gargalo para se que o maior gargalo para velocidade de execução de instruções é o velocidade de execução de instruções é o acesso à memória e para tentar minimizar acesso à memória e para tentar minimizar esse problema as máquinas tem esse problema as máquinas tem capacidade de buscar antecipadamente capacidade de buscar antecipadamente instruções da memória de modo à instruções da memória de modo à encontraencontra--la no processador quando la no processador quando chegar o momento de executáchegar o momento de executá--las. Tais las. Tais instruções eram armazenadas em um instruções eram armazenadas em um conjunto de registradores chamados de conjunto de registradores chamados de buffer de prébuffer de pré--busca.busca.

Page 42: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

A préA pré--busca divide a execução das busca divide a execução das instruções em duas partes: a busca e a instruções em duas partes: a busca e a efetiva execução.efetiva execução.O conceito de O conceito de pipelinepipeline leva a estratégia leva a estratégia bem mais além, divide a execução das bem mais além, divide a execução das instruções em várias partes, cada uma instruções em várias partes, cada uma tratada por um hardware dedicado tratada por um hardware dedicado exclusivamente a ela. Lembrando que a exclusivamente a ela. Lembrando que a execução ocorre em paralelo.execução ocorre em paralelo.

Page 43: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

PipelinePipeline com 5 estágioscom 5 estágios

1.1. Busca a instrução da memória e armazena no buffer até o momento Busca a instrução da memória e armazena no buffer até o momento de execução.de execução.

2.2. Decodifica a instrução, determina seu tipo e quais operandos serDecodifica a instrução, determina seu tipo e quais operandos serão ão necessários à sua execução.necessários à sua execução.

3.3. Ocorre a localização e a busca dos operandos que podem estar em Ocorre a localização e a busca dos operandos que podem estar em registradores ou na memória.registradores ou na memória.

4.4. Os operandos passam pelo caminho de dados, a execução Os operandos passam pelo caminho de dados, a execução propriamente dita.propriamente dita.

5.5. O resultado do processamento é escrito em um registradorO resultado do processamento é escrito em um registrador

Page 44: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

Operação de Operação de pipelinepipeline em função do tempoem função do tempo..

Page 45: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

O processamento de O processamento de pipelinepipeline permite que permite que se estabeleça uma relação entre quanto se estabeleça uma relação entre quanto uma instrução demora pra ser executada uma instrução demora pra ser executada (latência) e a quantos MIPS o processador (latência) e a quantos MIPS o processador executa (banda passante).executa (banda passante).

Page 46: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

É possível projetar um processador com É possível projetar um processador com dois dois pipelinespipelines, onde uma única unidade , onde uma única unidade busca pares de instruções e coloca cada busca pares de instruções e coloca cada uma em um uma em um pipelinepipeline..

Page 47: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

A determinação do par de instruções A determinação do par de instruções compatíveis é feita segundo um conjunto compatíveis é feita segundo um conjunto de regras.de regras.A existência de 4 A existência de 4 pipelinespipelines é é conceitualmente possível, porém seria conceitualmente possível, porém seria necessário a duplicação de hardware. necessário a duplicação de hardware. Portanto, em vez disso as máquinas de Portanto, em vez disso as máquinas de alta performance usam outra metodologia. alta performance usam outra metodologia. A idéia básica é ter um único A idéia básica é ter um único pipelinepipeline com com várias unidades funcionais.várias unidades funcionais.

Page 48: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

A arquitetura superescalar busca uma A arquitetura superescalar busca uma instrução muito mais rápido passandoinstrução muito mais rápido passando--a a a a uma das unidades funcionais que operam uma das unidades funcionais que operam em paralelo disponível, depois o em paralelo disponível, depois o processador busca a instrução seguinte. A processador busca a instrução seguinte. A idéia do processador superescalar traz o idéia do processador superescalar traz o fato de que o estágio 3 pode distribuir fato de que o estágio 3 pode distribuir instruções muito mais rápido que a instruções muito mais rápido que a capacidade do estágio 4 tem de executácapacidade do estágio 4 tem de executá--las.las.

Page 49: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

Arquiteturas superescalares com 5 Arquiteturas superescalares com 5 unidades funcionais.unidades funcionais.

Page 50: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

O paralelismo na execução de instrução O paralelismo na execução de instrução ajuda a aumentar a velocidade de ajuda a aumentar a velocidade de execução, mas a operação dos execução, mas a operação dos processadores em processadores em pipelinepipeline ou em ou em superecalar deixa a performance no superecalar deixa a performance no máximo 10 vezes melhor.máximo 10 vezes melhor.Para obter ganhos da ordem de 50, 100, Para obter ganhos da ordem de 50, 100, ou mais é necessário projetar ou mais é necessário projetar computadores com mais de um computadores com mais de um processador.processador.

Page 51: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

Um processador matricial é composto de Um processador matricial é composto de um grande número de processadores um grande número de processadores idênticos que executam a mesma idênticos que executam a mesma seqüência de instruções sobre diferentes seqüência de instruções sobre diferentes conjuntos de dados.conjuntos de dados.Um processador vetorial é muito eficiente Um processador vetorial é muito eficiente na execução de uma seqüência de na execução de uma seqüência de operações em pares de elementos de operações em pares de elementos de dados. Todas as operações aritméticas dados. Todas as operações aritméticas são realizadas em uma única UAL que são realizadas em uma única UAL que opera em opera em pipeline.pipeline.

Page 52: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

Os dois processadores trabalham sobre Os dois processadores trabalham sobre conjunto de dados e ambos executam conjunto de dados e ambos executam instruções únicas sobre os dados. Mas instruções únicas sobre os dados. Mas enquanto o processador matricial faz isso enquanto o processador matricial faz isso com tantos somadores quanto forem os com tantos somadores quanto forem os elementos do vetor, o processador vetorial elementos do vetor, o processador vetorial contém registradores vetoriais que podem contém registradores vetoriais que podem ser carregados de uma única instrução ser carregados de uma única instrução que os carrega um depois do outro.que os carrega um depois do outro.

Page 53: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

Os processadores matriciais são pouco Os processadores matriciais são pouco comercializados, em função de serem comercializados, em função de serem eficientes somente na solução de eficientes somente na solução de problemas que executam os mesmos problemas que executam os mesmos cálculos sobre diversas estruturas de cálculos sobre diversas estruturas de dados diferentes simultaneamente.dados diferentes simultaneamente. Esses Esses processadores podem executar algumas processadores podem executar algumas operações mais rapidamente, mas operações mais rapidamente, mas precisam de muito hardware e são muito precisam de muito hardware e são muito difíceis de serem programados.difíceis de serem programados.

Page 54: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

O processamento vetorial pode ser O processamento vetorial pode ser incorporado a processadores incorporado a processadores convencionais, o resultado é que as convencionais, o resultado é que as partes de um programa que podem ser partes de um programa que podem ser vetorizadas serão executadas mais vetorizadas serão executadas mais rapidamente se puder aproveitar a rapidamente se puder aproveitar a unidade vetorial do processadorunidade vetorial do processador..

Page 55: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

O primeiro multiprocessador é composto O primeiro multiprocessador é composto de vários processadores independentes de vários processadores independentes compartilhando a mesma memóriacompartilhando a mesma memória. . Considerando que cada processador pode Considerando que cada processador pode ler ou escrever em qualquer parte da ler ou escrever em qualquer parte da memória, é necessário que as atividades memória, é necessário que as atividades sejam coordenadas por software, para sejam coordenadas por software, para evitar que a atividade de um processador evitar que a atividade de um processador interfira na atividade de outro.interfira na atividade de outro.

Page 56: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

Os sistemas multiprocessadores com um Os sistemas multiprocessadores com um pequeno número de processadores são pequeno número de processadores são de fácil construção. de fácil construção. A dificuldade está na conexão dos A dificuldade está na conexão dos processadores à memória e para resolver processadores à memória e para resolver isso construíram sistemas com um grande isso construíram sistemas com um grande número de computadores interconectados número de computadores interconectados sem qualquer tipo de memória comum, sem qualquer tipo de memória comum, conhecidos como multicomputadores.conhecidos como multicomputadores.

Page 57: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

Os processadores de um sistema Os processadores de um sistema multicomputador comunicammulticomputador comunicam--se por meio se por meio do mecanismo de troca de mensagens de do mecanismo de troca de mensagens de maneira veloz.maneira veloz.Os sistemas multiprocessadores são mais Os sistemas multiprocessadores são mais fáceis de programar e os sistemas fáceis de programar e os sistemas multicomputadores mais fáceis de multicomputadores mais fáceis de construir.construir.

Page 58: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresComputadores Modernos (cont)Computadores Modernos (cont)

As empresas tem apontado para sistemas As empresas tem apontado para sistemas híbridos que combinam as vantagens de híbridos que combinam as vantagens de ambos, são computadores que dão a ambos, são computadores que dão a ilusão de memória compartilhada sem ilusão de memória compartilhada sem arcar com o ônus de implementáarcar com o ônus de implementá--lo lo diretamente.diretamente.

Page 59: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresConclusãoConclusão

A demanda por computadores cada vez A demanda por computadores cada vez mais rápidos parece não ter fim. mais rápidos parece não ter fim. À medida que os processadores vão À medida que os processadores vão ficando mais rápidos seus projetistas ficando mais rápidos seus projetistas começam a esbarrar em limitações de começam a esbarrar em limitações de ordem física, como a velocidade da luz no ordem física, como a velocidade da luz no meio escolhido. Além disso quanto mais meio escolhido. Além disso quanto mais rápido for o chip, mais calor ele vai rápido for o chip, mais calor ele vai produzir.produzir.

Page 60: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresConclusãoConclusão (cont)(cont)

Com isso os arquitetos de computadores Com isso os arquitetos de computadores estão sempre sendo desafiados para estão sempre sendo desafiados para melhorar cada vez mais a performance melhorar cada vez mais a performance das máquinas que eles projetam.das máquinas que eles projetam.Porém caso ocorra alguma mudançaPorém caso ocorra alguma mudança dedeparadigmas tecnológicos todas as nossas paradigmas tecnológicos todas as nossas convicções atuais serão história.convicções atuais serão história.Por isso é necessário que os projetistas Por isso é necessário que os projetistas estejam sempre atentos a essas estejam sempre atentos a essas mudanças.mudanças.

Page 61: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresExercício:Exercício:1.1. O que é o processador?O que é o processador?2.2. Qual a principal função do processador?Qual a principal função do processador?3.3. Quais são os componentes de um Quais são os componentes de um

processador que usa o modelo de processador que usa o modelo de Von Von NeumannNeumann??

4.4. Qual a principal característica do modelo de Qual a principal característica do modelo de Von NeumannVon Neumann??

5.5. Explique o funcionamento do modelo de Explique o funcionamento do modelo de VonVonNeumannNeumann..

6.6. Quais mudanças ocorreram na modernização Quais mudanças ocorreram na modernização do modelo de do modelo de Von NeumannVon Neumann??

7.7. Para que servem os barramentos de sistemaPara que servem os barramentos de sistema??

Page 62: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresExercício (cont):Exercício (cont):8.8. Cite um dos tipos de barramento e para que Cite um dos tipos de barramento e para que

serve.serve.9.9. Qual é a seqüência básica de instrução de um Qual é a seqüência básica de instrução de um

processador?processador?10.10. Cite uma operação básica executada por um Cite uma operação básica executada por um

conjunto de instruções.conjunto de instruções.11.11. Como as instruções de um processador Como as instruções de um processador

podem ser classificadas?podem ser classificadas?12.12. Como é chamado o programa que tem as Como é chamado o programa que tem as

mesmas funções que o processador em mesmas funções que o processador em hardware puro?hardware puro?

13.13. Explique como funciona o interpretador.Explique como funciona o interpretador.

Page 63: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresExercício (cont):Exercício (cont):14.14. Cite uma vantagem e uma desvantagen de Cite uma vantagem e uma desvantagen de

usar o interpretador.usar o interpretador.15.15. Cite uma vantagem e uma desvantagen de Cite uma vantagem e uma desvantagen de

usar hardware puro.usar hardware puro.16.16. Qual a diferença entre RISC e CISCQual a diferença entre RISC e CISC??17.17. Por que apesar da tecnologia RISC ter melhor Por que apesar da tecnologia RISC ter melhor

performance que a CISC as máquinas não performance que a CISC as máquinas não foram substituídas?foram substituídas?

18.18. Qual das duas tecnologias os processadores Qual das duas tecnologias os processadores modernos usam?modernos usam?

19.19. Como os computadores modernos trabalham?Como os computadores modernos trabalham?

Page 64: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresExercício (cont):Exercício (cont):20.20. Qual a maior vantagem de usar paralelismoQual a maior vantagem de usar paralelismo??21.21. Por que a decodificação é um processo crítico Por que a decodificação é um processo crítico

nos computadores modernos?nos computadores modernos?22.22. Como é possível acelerar o processo de Como é possível acelerar o processo de

decodificação?decodificação?23.23. Por que a transferência de operandos da Por que a transferência de operandos da

memória para os registradores deve ser feita memória para os registradores deve ser feita por instruções especiais?por instruções especiais?

24.24. Cite uma maneira de melhorar a performance Cite uma maneira de melhorar a performance dos computadores?dos computadores?

25.25. Quais são as maneiras existentes de Quais são as maneiras existentes de paralelismo?paralelismo?

Page 65: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresExercício (cont):Exercício (cont):26.26. Qual a principal função do paralelismo a nivel Qual a principal função do paralelismo a nivel

de instruçãode instrução??27.27. Qual a principal função do paralelismo a nivel Qual a principal função do paralelismo a nivel

de processadorde processador??28.28. Para que serve o buffer de préPara que serve o buffer de pré--busca?busca?29.29. O que é o O que é o pipelinepipeline??30.30. Explique o passoExplique o passo--aa--passo de um passo de um pipeline pipeline de 5 de 5

estágios.estágios.31.31. Por que a existência de 4 Por que a existência de 4 pipelines pipelines não foi não foi

utilizada?utilizada?32.32. O que é a arquitetura O que é a arquitetura superescalarsuperescalar??

Page 66: Arquitetura de Computadores - BANCO DE DADOS · O processador é um componente vital do sistema de computação. É o cérebro do computador. ... a velocidade das memórias principais

ProcessadoresProcessadoresExercício (cont):Exercício (cont):33.33. Qual é a diferença entre um processador Qual é a diferença entre um processador

matricial e um vetorialmatricial e um vetorial??34.34. Explique o funcionamento de um Explique o funcionamento de um

multiprocessador.multiprocessador.35.35. Explique o funcionamento de um Explique o funcionamento de um

multicomputador.multicomputador.36.36. Qual é a vantagem dos sistemas Qual é a vantagem dos sistemas

multiprocessadores e multicomputadores?multiprocessadores e multicomputadores?37.37. Qual é a desvantagem dos sistemas Qual é a desvantagem dos sistemas

multiprocessadores e multicomputadores?multiprocessadores e multicomputadores?38.38. Como funcionam os computadores modernos Como funcionam os computadores modernos

que usam sistemas híbridos?que usam sistemas híbridos?