Buscar

Microprocessadores: Arquitetura e Componentes

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

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.
7
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:
    
Busca próxima instrução na memória e armazena no IR.
Atualiza Contador de instrução PC para apontar para a próxima instrução
Determina tipo de instrução armazenada no IR
Determina endereço dos dados na memória, se a instrução requer dados adicionais.
Busca palavras (dados) na memória, caso a instrução precise, e armazena-as em outros registradores.
Executa instrução.
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, 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:
Dica: adicione suas próprias anotações do orador aqui.
33
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
34
Divisão do 8086 em duas unidades
Dica: adicione suas próprias anotações do orador aqui.
35
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
36
Passos para busca e execução
37
Registradores e Flags do 8086
Dica: adicione suas próprias anotações do orador aqui.
38
Formação do Endereço Físico da Memória
Dica: adicione suas próprias anotações do orador aqui.
39
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.
CS
DS
SS
ES
0000
0000
0000
0000
Offset (deslocamento)
Endereço Físico
0
15
0
15
0
19

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais