Você está na página 1de 59

Microprocessadores

Fernando Cesar Miranda


LHW – Versão 1.1
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.
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.
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.
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)
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
Componentes
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:  Arquitetura AMD
 Core i7 e Core i7 Extreme.  Phenom
 Core2 Quad  Athlon 64 X2
 Core2 Duo  Athlon 64
 Core2 Extreme  Sempron
 Pentium Dual Core
 Celeron Dual Core
 Celeron série 400
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, SATA e 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
15 0
Offset (deslocamento)
15 0
CS 0000
DS 0000
SS 0000
ES 0000

19 0
Endereço Físico
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.

Você também pode gostar