Buscar

Microprocessadores: Arquitetura e Funcionamento

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 57 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 57 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 57 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Microprocessadores
Fernando Cesar Miranda
LHW – Versão 1.1
01/08/2012
Microprocessadores
 É um circuito integrado que realiza as funções de cálculo 
e tomada de decisão de um computador.
 O funcionamento do processador é cadenciado por um 
circuito temporizador (clock).
 O primeiro microprocessador foi o Intel 4004, lançado 
em 1971. O i4004 não era muito poderoso, já que ele só 
podia somar e subtrair 4 bits por vez. 
Arquitetura
 Von Newmann: caracteriza-se por apresentar um
barramento externo compartilhado entre dados e
instruções, ligado a uma memória única (dados /
programas).
 Harvard: existem dois barramentos externos
independentes (e normalmente também memórias
independentes) para dados e instruções.
Arquitetura de von Neumann
Arquitetura de Harvard
Arquitetura Geral (von Neumann)
Modelos de Computação
 CISC (Complex Instruction Set Computing).
 Tecnologia mais antiga e usada para famílias de 
computadores compatíveis a nível de software.
 Número maior de instruções (~200 a 300 instruções).
 Uso extensivo de interpretação (principalmente para 
modelos mais baratos).
 RISC (Reduced Instruction Set Computing).
 Processador com pequeno número de instruções muito 
simples.
 Instruções capazes de serem executadas em um único 
ciclo do caminho de dados.
Componentes
 Unidade de Lógica e Aritmética
 Unidade de Controle
 Registradores
 Unidade de Gerenciamento de Memória (MMU – Memory Management Unit)
Componentes
 Unidade de instrução:
 Seqüenciador.
 Contador de programa.
 Registrador de instrução.
 Unidade de execução:
 Unidade de lógica e aritmética.
 Unidade de ponto flutuante (opcional).
 Registrador de status.
 Registrador de dados ou acumulador.
Componentes
Componentes
UC - Unidade de Controle:
 Funções: busca, interpretação e controle de execução das
instruções, e o controle dos demais componentes do
computador.
 Envia ordens de cálculo para a UAL, que indica os valores a
processar, e os coloca nos registradores para esse efeito.
 A partir da UC a informação é transferida para as outras
partes que constituem o computador, como a memória, os
sistemas de E/S, etc.
Componentes
UAL - Unidade Aritmética e Lógica:
 Função: a efetiva execução das instruções.
 Aglomerado de circuitos lógicos e componentes
eletrônicos simples que, integrados, realizam as
operações aritméticas e lógicas (soma, subtração,
multiplicação, divisão, AND, OR, XOR, complemento,
deslocamento, incremento e decremento).
 Processadores modernos utilizam mais de uma UAL.
Componentes
Registradores:
 Função: armazenamento de dados e resultados que serão usados
pela UAL.
 Servem de memória auxiliar básica para a UAL.
 Classificação (atual): registradores de uso geral e registradores de
uso específico.
 Em geral, os registradores de dados da UCP têm uma largura
(quantidade de bits que podem armazenar) igual ao tamanho
estabelecido pelo fabricante para a palavra do referido processador.
 A quantidade e o emprego dos registradores variam bastante de
modelo para modelo de UCP.
Registradores
 Registradores de dados ou acumuladores.
 Registradores de status.
 Registrador de instrução.
 Contador de programa.
 Registradores de reserva.
Instruções
 Uma instrução é a operação elementar que o
processador pode efetuar.
 É composta por dois campos:
 Código operacional ou operador.
 Código operando ou operando.
 Categorias:
 Acesso a memória.
 Operações aritméticas.
 Operações lógicas.
 Controles.
Funcionamento
 Buscar instrução.
 Decodificar instrução.
 Buscar operando.
 Executar instrução.
 Armazenar resultados.
Funcionamento
Ciclo de Busca-Decodificação-Execução de Instrução:
1. Busca próxima instrução na memória e armazena no IR.
2. Atualiza Contador de instrução PC para apontar para a 
próxima instrução
3. Determina tipo de instrução armazenada no IR
4. Determina endereço dos dados na memória, se a 
instrução requer dados adicionais.
5. Busca palavras (dados) na memória, caso a instrução 
precise, e armazena-as em outros registradores.
6. Executa instrução.
7. Retorna ao passo 1 
Funcionamento
 Limitações do aumento de velocidade no processamento:
 Existe limite tecnológico para desenvolvimento do hardware do
chip de processamento que depende do estado da arte da
tecnologia.
 Uso de paralelismo: Solução para aumentar a velocidade do
processador
 a nível das instruções: um único processador deve executar
mais instruções por segundo.
 a nível do processador: vários processadores trabalhando
juntos na solução do mesmo problema
Funcionamento
 Paralelismo ao Nível das Instruções:
 Maior gargalo para a velocidade de execução de instruções é o 
acesso a memória.
 Execução em Pipeline:
 O processamento em pipeline divide a execução de instruções 
em várias partes, cada uma das quais tratada por um hardware 
dedicado exclusivamente a ela.
Funcionamento
 Pipeline:
Funcionamento
 Pipeline:
 Funcionamento de um pipeline de 5 estágios:
 O estágio 1 busca a instrução da memória e armazena num buffer
até chegar a hora de executá-la.
 No estágio 2 ocorre a decodificação da instrução, determinando
tipo e operandos.
 No estágio 3 ocorre a busca dos operandos na memória ou nos
registradores.
 No estágio 4 tem-se a execução - passagem pelo caminho de
dados.
 No estágio 5 o resultado do processamento é escrito num
registrador.
Funcionamento
 Arquitetura Superescalar:
 Processadores Superescalares são os que possuem
pipelines que permitem a execução de mais de uma instrução
simultaneamente (no mesmo ciclo de clock). Isto é obtido
através da implementação de múltiplas unidades funcionais, que
são unidades onde as instruções são executadas.
 A execução das instruções é feita em paralelo e:
 não pode haver conflitos pelo uso de recursos (mesmo registrador, 
por exemplo)
 o resultado de uma instrução não pode depender do resultado da 
outra.
Funcionamento
 Dois pipelines de 5 estágios com uma unidade de 
busca de instruções comum a ambos:
Funcionamento
 Processador superescalar com 5 unidades funcionais
Evolução dos Processadores
 8080:
 Ano: 1974
 Transistores: 6.000
 Tecnologia: 6 microns
 Clock: 2 Mhz
 Core i7:
 Ano: 2008
 Transistores: 731.000.000
 Tecnologia: 45 nm
 Clock: 3.3 GHz
Modelos
 Intel Arquitetura Core:
 Core i7 e Core i7 Extreme.
 Core2 Quad
 Core2 Duo
 Core2 Extreme
 Pentium Dual Core
 Celeron Dual Core
 Celeron série 400
 Arquitetura AMD
 Phenom
 Athlon 64 X2
 Athlon 64
 Sempron
Especificações do processador
 Clock interno: temporização interna ao processador.
 Clock externo: temporização de acesso à memória e 
demais dispositivos.
 Front Side Bus (FSB) ou System Bus é o conjunto de 
pinos do processador que faz a comunicação com a 
memória e outras partes da placa mãe. Deve ser 
compatível com a FSB da placa mãe.
 Memórias Cache: L1, L2 e L3.
Especificação Corei7
Acesso à Memória e aos Dispositivos de E/S
 Chipsets: Ponte norte (north bridge) e ponte sul (south
bridge).
 Ponte Norte: é o chip mais complexo, que fica fisicamente mais
próximo do processador. Ele incorpora os barramentos
"rápidos" e as funções mais complexas, incluindo o
controlador de memória, as linhas do barramento PCI Express,
ou o barramento AGP, além do chipset de vídeo onboard,
quando presente.
 Ponte Sul: Nas placas atuais ela incorpora os barramentos mais
lentos, como o barramento PCI, portas USB, SATAe IDE,
controladores de som e rede e também o controlador Super
I/O, que agrupa portas "de legado", como as portas seriais e
paralelas, porta para o drive de disquete e portas do teclado e
mouse (PS/2).
Chipsets
HyperTransport Bus
Single, Dual or Triple Channel Memory
Intel 8086 (Exemplo)
Características de Hardware:
Características de Hardware (8086)
 CPU com registradores de 16 bits
 Acesso à memória e dispositivos de I/O com 16 bits
 8088 com registradores internos de 16 bits, mas com 
acesso à memória e dispositivos de I/O com 8 bits
Divisão do 8086 em duas unidades
Unidades do 8086
EU - Unidade de Execução
 Registradores de Dados
 Registradores de Endereço
 Registrador de Estado
 Unidade Lógica e Aritmética
 Unidade de Controle
BIU - Unidade de Interface com o Barramento
 Lógica de Interface com o Barramento
 Registradores de Segmento
 Lógica de Endereçamento da Memória
 Fila de Códigos de 6 bytes
Passos para busca e execução
Registradores e Flags do 8086
Formação do Endereço Físico da Memória
CS
DS
SS
ES
0000
0000
0000
0000
Offset (deslocamento)
015
015
Endereço Físico
019
Microarquitetura Intel Nehalem – Core iX
 Características:
 Baseado na microarquitetura Intel Core.
 De dois a oito núcleos.
 Controlador de memória DDR3 integrado até três canais de memória.
 Caches de memória L2 individuais de 256 KB para cada núcleo.
 Cache de memória L3 de 8 MB.
 Novo conjunto de instruções SSE 4.2 (sete novas instruções).
 Tecnologia Hyper-Threading.
 Modo Turbo (overclock automático).
 Aprimoramentos na microarquitetura (suporte a fusão de instruções no
modo de 64 bits, detector de laços aprimorado, seis portas de despacho,
etc).
 Aprimoramentos na unidade de previsão de desvios, com a adição de um
segundo Buffer de Desvios (BTB: Branch Target Buffer).
Microarquitetura Intel Nehalem – Core iX
 Características:
 Um segundo Buffer de Tradução de Endereços (TLB: Translation Look-
aside Buffer) com 512 entradas.
 Otimizado para as instruções SSE desalinhadas.
 Aumento do desempenho da tecnologia de virtualização (melhora de
60% na latência de virtualização em relação aos processadores Core2 de
65 nm e melhora de 20% em relação aos processadores Core2 de 45
nm, segundo a Intel).
 Novo barramento externo QuickPath.
 Nova unidade de controle de energia.
 Tecnologia de fabricação de 45 nm no lançamento, com futuros modelos
de 32 nm (processadores com codinome “Westmere”).
 Novo soquete com 1.366 pinos.
Controlador de Memória Integrado
 Os processadores baseados na arquitetura Nehalem têm um controlador 
de memória integrado e, portanto, têm dois barramentos: um barramento 
de memória para conectar o processador à memória e um barramento de 
entrada/saída para conectar o processador ao mundo externo.
 O controlador de memória integrado nos processadores baseados na 
arquitetura Nehalem oferece três canais de memória, o que significa que 
ele é capaz de acessar três módulos de memória ao mesmo tempo, em 
paralelo, aumentando assim o desempenho.
 O controlador de memória integrado nos processadores Nehalem aceita 
apenas memórias DDR3 – sem suporte para memórias DDR2.
 Com o modo de três canais o processador acessará a memória a 192 bits 
por vez (3 x 64 bits), se você tiver três ou seis módulos de memória 
instalados, é claro. Isto resulta em uma taxa de transferência máxima 
teórica de 25,58 GB/s, caso memórias DDR3-1066 sejam usadas.
 Por causa do controlador de memória integrado a Intel mudou o padrão 
de pinagem do processador para um novo soquete de 1.366 pinos.
Controlador de Memória Integrado
Cache de Memória
 No que diz respeito ao cache de memória, a Intel usará a 
mesma abordagem de cache que a AMD está usando em 
seus processadores Phenom, ou seja:
 Caches L2 individuais para cada núcleo. Cada cache de 
memória L2 será de 256 KB.
 Cache de memória L3 compartilhado. A cache L3 será de até 8 
MB, podendo ser até maiores nos processador Xeon.
 O cache L1 permanece igual ao Core2 Duo (64 KB, 32 KB 
para instruções e 32 KB para dados).
Cache de Memória
Aprimoramentos no Pipeline do Processador
 Os processadores da microarquitetura Nehalem usam uma 
abordagem hibrida CISC/RISC. Tal estratégia foi primeiramente 
implementada pelos processadores Pentium Pro.
 Nesta abordagem os programas são escritos em instruções da 
família x86, chamadas de “macro-ops” ou simplesmente instruções. 
O conjunto destas instruções tem evoluído com o passar do tempo 
sempre incorporando novas instruções, tornando-se cada vez mais 
complexo (CISC).
 Na microarquitetura Nehalem estas instruções não podem ser 
executadas diretamente pelos núcleos, pois, internamente o núcleo 
foi desenhado para executar um outro conjunto microinstuções
chamdas “micro-op” ou “µop” bastante limitado e eficiente (RISC).
 Assim, para ser executada uma “macro-op” precisa ser decodificada 
em uma ou mais “micro-ops” que serão efetivamente executadas 
pelos núcleos.
Aprimoramentos no Pipeline do Processador
 A microarquitetura Core, usada nos processadores Core2, 
introduziu o conceito de fusão de instruções (“macro-fusion”), 
que é a capacidade de combinar duas instruções x86 dentro 
de apenas uma microinstrução. Isto aumenta o desempenho e 
diminui o consumo do processador, já que ele executará 
apenas uma microinstrução em vez de duas. Este esquema, no 
entanto, é limitado a instruções de desvio condicional e de 
comparação (ou seja, instruções CMP, TEST e JCC).
 A microarquitetura Nehalem aumenta a capacidade da fusão 
de instruções de duas formas. Primeiro adicionando suporte a 
várias instruções condicionais que não poderiam ser fundidas 
nos processadores Core2. Segundo, nos processadores 
baseados na microarquitetura Nehalem a fusão de instruções é 
usada nos modos de 32 bits e de 64 bits, enquanto que nos 
processadores Core2 a fusão de instruções funciona apenas 
quando o processador está trabalhando no modo de 32 bits.
Aprimoramentos no Pipeline do Processador
Aprimoramentos no Pipeline do Processador
 A microarquitetura Core adicionou um detector de laços (“Loop Stream
Detector”), basicamente um pequeno cache de 18 instruções entre as unidades de 
busca e de decodificação do processador. Quando o processador está executando 
um laço de repetição (mais conhecido como “loop”, parte de um programa que se 
repete várias vezes) o processador não precisa buscar as instruções requeridas 
novamente do cache L1 de instruções: elas já estão próximas da unidade de 
decodificação. Além disso, o processador desliga as unidades de busca e de previsão 
de desvio quando detecta a execução de um laço, fazendo com que o processador 
consuma menos energia.
 Nos processadores baseados na microarquitetura Nehalem este pequeno cache foi 
movido para após da unidade de decodificação de instruções. Portanto, em vez de 
armazenar instruções x86 como nos processadores Core2, este cache guarda até 
28 microinstruções (micro-ops). Isto faz com que exista um aumento de 
desempenho quando o processador está executando um laço de repetição, já que 
agora ele não precisa decodificar as instruções presentes no laço: elas já estarão 
decodificadas dentro deste pequeno cache. Além disso, o processador pode agora 
desligar a unidade de decodificação de instruções além das unidades de busca e 
previsão de desvio quando detecta a execução de um laço, fazendo com que o 
processador economize ainda mais energia.
Aprimoramentos no Pipeline do Processador
Aprimoramentos no Pipeline do Processador
 A arquitetura Nehalem adicionou uma porta de despacho 
extra e agora tem 12 unidades de execução,como você 
pode ver a seguir. Com isso os processadores baseados 
nesta arquitetura podem ter mais microinstruções sendo 
executadas ao mesmo tempo do que os processadores 
anteriores.
Aprimoramentos no Pipeline do Processador
Melhorias...
 A microarquitetura Nehalem adicionou também dois 
buffers extras: 
 um segundo Buffer de Tradução de Endereços (TLB, Translation
Look-aside Buffer).
 um segundo Buffer de Desvios (BTB, Branch Target Buffer). 
Aprimoramentos no Gerenciamento de 
Energia
Aprimoramentos no Gerenciamento de 
Energia
 Basicamente, o processador pode agora alimentar com diferentes 
tensões e clocks cada núcleo, as unidades fora dos núcleos, o 
controlador de memória, o cache e as unidades de entrada/saída. 
Nos processadores anteriores todos os núcleos tinham de trabalhar 
com o mesmo clock, mas nos processadores Nehalem cada núcleo 
pode ser programado para rodar com um clock diferente com o 
objetivo de economizar energia.
 A unidade de controle de energia embutida pode agora desligar 
qualquer um dos núcleos do processador, recurso este não 
disponível em processadores Core2 para notebooks. Na verdade 
agora o processador pode colocar qualquer núcleo no modo C6 
(“desligamento profundo”) independente do estado de 
funciomanento dos outros núcleos. Isto permite a você economizar 
energia quando o micro está rodando normalmente porém com um 
ou mais núcleos ociosos e que podem ser desligados.
Modo Turbo
 O Modo Turbo permite ao processador aumentar o clock
do(s) núcleo(s) ativo(s). 
 Este novo modo é um sistema de laço fechado. O processador 
está constantemente monitorando sua temperatura e 
consumo. O processador fará um overclock dos núcleos ativos 
até que o processador atinja seu TDP máximo permitido, 
baseado no cooler que você estiver usando. Isto é configurado 
no setup da placa-mãe. 
 A técnica de overclock dinâmica é baseada na quantidade de 
potência que você pode dissipar usando o cooler do seu 
processador, desligar os núcleos que não estejam sendo 
usados reduzirá o consumo do processador e a dissipação de 
potência e conseqüentemente permitirá um overclock maior.
Hyper-Threading
 A tecnologia Hyper-Threading permite que cada núcleo do 
processador seja reconhecido como dois processadores. Dessa 
forma, se você tem um processador Core i7 com quatro núcleos o 
sistema operacional o reconhecerá como sendo um processador de 
oito núcleos. Esta tecnologia é baseada no fato de que quando o 
processador está trabalhando existem certos circuitos internos que 
ficam ociosos e que poderiam ser usados. Originalmente lançada 
para os processadores Pentium 4 esta é a primeira vez que a 
tecnologia Hyper-Threading está disponível nos processadores Intel 
de 6ª geração. Esta tecnologia também é chamada SMT ou 
Simultaneous Multi-Threading (SMT). Esta tecnologia não oferece o 
mesmo ganho de desempenho de como se núcleos “de verdade” 
fossem usados (ou seja, um processador com 8 núcleos é mais 
rápido do que um processador com 4 núcleos com tecnologia HT, 
desde que ambos estejam trabalhando com o mesmo clock e sejam 
baseados na mesma arquitetura); porém você está ganhando esses 
“núcleos extras” de graça.

Outros materiais