SSC144 Arquitetura de Computadores Evolução Arquitetura von Neumann (parte II) Aula 3 13/08/10 Profa. Sarita.

Slides:



Advertisements
Apresentações semelhantes
CPU: Controle e processamento
Advertisements

Arquitetura e organização de computadores
Processadores AMD.
Arquitetura de Computadores
Software Básico Silvio Fernandes
ARQUITETURAS RISC E CISC
Arquitetura de Sistemas Operacionais
Intel Pentium 4 Giovanni Rizzo de Paiva - RA Matheus Tasso Perugini - RA Rafael Rodrigues Dias - RA MC722 - Projeto de Sistemas Computacionais.
Processador Intel Itanium
Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
Processador Pentium 4 MO401 – Arquitetura de Computadores I
Arquiteturas Superescalares
CISC e RISC.
Processador s processadores (ou CPUs, de Central Processing Unit) são chips responsáveis pela execução de cálculos, decisões lógicas e instruções que.
Aula 8 01/09/10 (Turmas 1 e 2) Profa. Sarita
SSC144 Arquitetura de Computadores Introdução
SSC144 Arquitetura de Computadores Evolução Arquitetura von Neumann (parte I) Aula 2 11/08/10 Profa. Sarita.
Maria Aparecida Castro Livi
Estudo comparativo entre as arquiteturas Opteron e Itanium
REPRESENTAÇÃO DE INSTRUÇÕES
Organização da Memória Principal
Manutenção - Processadores
Processadores.
Arquitetura de Computadores
2- Entendendo o que é Arquitetura e Organização
Introdução à Programação
Prof. João Paulo de Toledo Gomes
Afonso Ferreira Miguel
Prof. Felipe Ferreira de Oliveira
Prof.: Vagner Pinto Borges Prof.: Vagner Pinto Introdução à Arquitetura e Organização.
Arquitetura de computadores
Complex Instruction Set Computer
Família Intel P5 e P6 P5 P6 NetBurst Incluindo cache L2.
Curso: Curso Profissional – TGPSIMódulo 4 Arquitectura de Computadores Turma: 11ºC Elementos do grupo: Eugeniu Deliu Nº492;Pedro Teixeira Nº602; Ricardo.
Sistemas Operacionais I
Organização e Arquitetura de Computadores
Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Pet computação UFPE Aula de apoio aos feras: Arquitetura de Computadores.
Processamento de dados na UCP e memória UCP
DUAL CHANNEL Adinan Southier Soares Senai – São Lourenço do Oeste.
Arquitetura de Computadores
ARQUITETURA DE COMPUTADORES II
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Sistemas Operacionais
Unidade Central De Processamento: Processador
Unidade Central De Processamento: Processador
Definição O processador é o C.I. mais importante do computador. Ele é considerado como o cérebro do computador e funciona como uma UCP – Unidade Central.
UNIDADE LÓGICA ARITMÉTICA (ULA)
Unidade de Controle.
IMM Instalação e Manutenção de Microcomputadores
Microprocesadores x Microcontroladores
8088 Assembly Software Básico Mitsuo Takaki.
Arquitetura IA32 Eduardo Augusto Bezerra
Parte 3 Seção de Dados e Unidade de Controle
UNIDADE LÓGICA ARITMÉTICA (ULA)
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos.
Arquitetura de Computadores Processadores 2 Waldemiro Arruda.
Arquitetura de Computadores
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Processadores.
Arquitetura de Microcomputadores
Funcionamento interno do computador
Arquitetura de computadores
MEMÓRIA (INFORMÁTICA)
Sistemas Operacionais Arquitetura de Computadores
Pet computação UFPE Arquitetura Von Neumann. pet computação UFPE 1.Definição e tipos de arquitetura Quando falamos em arquitetura temos dois tipos a considerar:
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Transcrição da apresentação:

SSC144 Arquitetura de Computadores Evolução Arquitetura von Neumann (parte II) Aula 3 13/08/10 Profa. Sarita

Arquitetura x86 Pentium P6 Características importantes: Processador super escalar (5 unidades de execução) Reorder buffer e Memory Reorder Buffer Branch Target Buffer Cache L1 de dados e instruções separados Cache L2 junto

Arquitetura x86 Pentium P6

Arquitetura x86 Pentium P6 - Decodificação As instruções são convertidas em uop, instruções tipo RISC têm três operandos (duas fontes e um destino); são register-register; operações que trabalham direto sobre a memória têm de ser quebradas em mais de uma uop. Há três unidades de decodificação que decodificam uma instrução por ciclo de clock uma geral que pode receber qualquer instrução: gera de 1 a 4 uop/ciclo; duas simples que geram apenas uma uop/ciclo. instruções que precisam mais do que 4 uop são manipuladas pelo uop sequencer Para maximizar a operação no decodificador devemos ter uma combinação de três instruções que gerem 4-1-1 uop. De acordo a Intel na média cada instrução usa 1,5-2,0 uops

Arquitetura x86 Pentium P6 – Reorder e Renaming Reorder Buffer tem 40 entradas que guardam os resultados de load e de cálculos. RRF: Real Register File; RAT: Register Alias Table; Status: fornece o status da instrução; O RAT indica se o valor do registrador está no ROB ou no RRF. Com isto é executado o renaming. Tal operação é essencial no Pentium pois o numero de registradores da arquitetura x86 é pequeno. Até 3 uops podem passar pelo renaming e pelo ROB

Arquitetura x86 Pentium P6 – Unidades de Execução Há 20 Reservation Stations; Há cinco unidades de execução: p/ cálculo de endereço de load p/ cálculo de endereço de stores p/ preparar dado para stores Duas p/ cálculos com inteiro e P.F. podem ser dispatched (issue) até 5 uops/ciclo. Uma instrução de store precisa duas uops: uma para calcular o endereço e outra para preparar o dado; O scheduling ideal é aquele onde todas as unidades de execução estejam sempre ocupadas.

Arquitetura x86 Pentium P6 – Cache L1 e L2 O cache L1 está dividido em dados e instruções. 8 Kbytes de instruções: largura de barramento 128 bits 8 Kbytes de dados: duas portas de 32 bits, permitindo uma leitura e uma escrita simultâneas a cada ciclo de clock (três ciclos de latência) Com cache pequena a leitura é mais rápida O cache L2 é maior com 256Kbytes

Arquitetura x86 Pentium P6 – Cache L1 e L2

Arquitetura x86 Pentium M Parte da plataforma Centrino (compreende CPU + chipset + módulo de rede sem fio) Projetado especialmente para laptop Igual ao Pentium III com: Melhoria na previsão de desvios (branch prediction) Interface de barramento compatível com o Pentium 4 (transferência de 4 dados por pulso de clock (QDR) ) Instruções SSE2 Cache L1 maior (dois de 32 KB, um p/ dados e outro p/ instruções) Cache L2 de 1 ou 2 MB

Arquitetura x86 Pentium M Pipeline parecido com o do Pentium III

Arquitetura x86 Pentium M Pipeline Busca – Estágio 1 (IFU1): carrega uma linha (32 bytes do cache L1 de instruções e armazena no buffer de pré-busca (ISB – Instruction Streaming Buffer) Busca – Estágio 2 (IFU2): identifica o limite das instruções nos 32 bytes (nem todas as instruções são do mesmo tamanho). Se for uma instrução de desvio, já armazena o endereço para onde deve ser desviado no buffer de destino de desvio (BTB – Branch Target Buffer) Busca – Estágio 3 (IFU3): separa as instruções para serem entregues aos decodificados apropriados (são 3 decodificadores)

Arquitetura x86 Pentium M Unidade de Busca em 3 estágios

Arquitetura x86 Pentium M Pipeline Decodificação – Estágio 1 (DEC1): decodifica a instrução x86 em uma microinstrução RISC. Com 3 unidades de decodificação, é possível decodificar até 3 instruções ao mesmo tempo Decodificação – Estágio 2 (DEC2): passa as microinstruções para a fila de instrução decodificadas, capaz de armazenar até 6 microinstruções Renomeamento de registradores (RAT): troca do nome do registrador por um dos 40 registradores internos, com o objetivo de que, se a instrução é executada fora de ordem, o conteúdo do registrador original não é alterado

Arquitetura x86 Pentium M Memória ROM

Arquitetura x86 Pentium M Pipeline Buffer de reordenamento (ROB): três microinstruções são carregadas para esse buffer. Se todos os dados estiverem disponíveis e se houver espaço na fila de microinstrução da unidade de reserva, então a microinstrução é copiada para a fila da unidade de reserva Envio (DIS): microinstrução enviada para a unidade de execução apropriada Execução (EX): a microinstrução é executada na unidade de execução apropriada, em geral, em 1 ciclo de clock

Arquitetura x86 Pentium M

Arquitetura x86 Pentium M

Arquitetura x86 Pentium M Unidades de Execução: IEU (Instruction Execution Unit): é onde instrucões “comuns” são executadas. Instruções comuns são operações aritméticas e lógicas sobre inteiros, portanto essa unidade nada mais é que a ULA FPU (Float Point Unit): execução de instruções complexas, ou seja, sobre números em ponto flutuante

Arquitetura x86 Pentium M Unidades de Execução: SIMD: execução das instruções SIMD (MMX, SSE e SSE2) WIRE: outras funções (não divulgado pela Intel) JEU (Jump Execution Unit): processa os desvios Shuffle: executa um tipo de instrução SSE denominada shuffle PFADD: executa instruções SSE denominadas PFADD (Packet FP Add). Possui latência de 3 pulsos de clock

Arquitetura x86 Pentium M Unidades de Execução: Reciprocal Estimate: executa instruções SSE denominadas RCP (Reciprocal Estimate) e RSQRT (Reciprocal Square Root Estimate) Load: processa instruções que requerem dados da memória RAM Store Address: processa instruções que requerem que os dados sejam escritos na memória RAM. Também conhecida como AGU (Address Generator Unit). Utiliza as unidades Store Address e Store Data ao mesmo tempo Store Data: processa instruções que requerem que os dados sejam escritos na memória RAM. Utiliza as unidades Store Address e Store Data ao mesmo tempo

Arquitetura x86 Pentium M Pipeline Retirada – Estágio 1 (RET1): verifica no buffer de reordenamento se existem microinstruções que podem ser marcadas como executadas Retirada – Estágio 2 (RET 2): quando todas as microinstruções da instrução x86 já forem retiradas do buffer de reordenamento e todas as microinstruções da instrução x86 atual já foram executadas, essas microinstruções são removidas do buffer de reordenamento e os registradores são atualizados, em um processo inverso ao de renomeamento dos registradores (até 3 microinstruções podem ser retiradas do buffer de reordenamento por pulso de clock)

Arquitetura x86 Pentium M Tecnologia SpeedStep Criada com o Pentium III para aumentar a autonomia da bateria, permitindo chavear entre duas freqüências de operação: Modo de baixa freqüência (LFM – Low Frequency Mode) Modo de alta freqüência (HFM – High Frequency Mode) Para isso, possuia 2 multiplicadores de clock O Pentium M introduziu a tecnologia Enhanced SpeedStep, possuindo outras tensões entre o LFM e o HFM

Arquitetura x86 Pentium M Tecnologia SpeedStep Exemplo Pentium M de 1,6 GHz: Tensão Clock 1,484 V 1,6 GHz 1,42 V 1,4 GHz 1,276 V 1,2 GHz 1,164 V 1 GHz 1,036 V 800 MHz 0,956 V  600 MHz

Arquitetura x86 Pentium M Tecnologia SpeedStep Percebe-se que em momentos de ociosidade, não se reduz somente o clock, mas também a tensão, permitindo economizar energia do notebook A tecnologia funciona através do monitoramento de registradores denominados Contadores de Desempenho, aumentando ou diminuindo o clock e a tensão dependendo da utilização do processador

Arquitetura x86 Pentium – Arquiteturas – P7 Netburst P7 Sétima geração dos processadores da arquitetura x86 A principal alteração em relação às arquiteturas P5 e P6 é o profundo grau de pipeline (tecnologia Hyper Pipelined) de até 31 estágios (núcleo Prescott) O aumento do pipeline foi definido para que os processadores rodassem com clocks mais elevados. Com mais estágios, cada um pode ser construído com menos transistores, facilitando a obtenção de clocks maiores Modelos: Pentium 4 chips: Willamette, Northwood, Prescott Pentium 4 Celeron Pentium D Pentium Extreme Edition Pentium 4 Xeon

Arquitetura x86 Pentium – Arquiteturas – P7 Características importantes Ainda decodifica instr. x86 para uop. Tem um melhor preditor de branch Tem uma BTB maior: 4K entradas Mais unidades de execução O cache de instruções armazena as uop, depois de codificadas (chamado de trace cache). Barramento de memória mais rápido: de 133 MHz para 400 MHz 20 estágios de pipeline (contra 14 do P6 e 5 do Pentium)

Arquitetura x86 Pentium 4 Unidade de Pré-Busca Cache de Instruções 256 bits 64 bits Unidade de Pré-Busca Cache de Instruções 128 registradores internos

P7

Arquitetura x86 Pentium 4 Estágios do Pipeline Ponteiro da próxima instrução do cache de microinstruções (TC Nxt IP, Trace cache next instruction pointer): Este estágio vê no buffer de destino de desvio (BTB) qual é a próxima microinstrução a ser executada. Esta etapa demora 2 estágios. Busca da próxima microinstrução no cache de microinstruções (TC Fetch, Trace cache fetch): Carrega, do cache de microinstrução, essa microinstrução. Esta etapa demora 2 estágios.

Arquitetura x86 Pentium 4

Arquitetura x86 Pentium 4 Estágios do Pipeline Drive: Envia a microinstrução a ser executada à unidade de alocação de recursos e de renomeamento de registradores. Alocação de recursos (Alloc): Verifica quais recursos serão alocados pela microinstrução, como, por exemplo, o buffer de carga (load) ou o buffer de armazenamento (store). Renomeamento de Registradores (Rename): Renomeia os oito registradores padrão x86 em um dos 128 registradores internos presentes no Pentium 4. Esta etapa demora 2 estágios. Fila (Queue): As microinstruções são armazenadas em filas de acordo com o seu tipo (por exemplo, inteiro ou ponto flutuante). Elas são mantidas na fila até haver espaço no agendador de execução correspondente ao tipo de instrução a ser executada.

Arquitetura x86 Pentium 4

Arquitetura x86 Pentium 4 Estágios do Pipeline Agendamento (Sch, Schedule): As microinstruções são agendadas de acordo com o seu tipo (inteiro, ponto flutuante, etc). Antes de chegar nesta etapa, as microinstruções são entregues em ordem, ou seja, na mesma ordem em que apareciam no programa. Nesta etapa, o agendador reordena as instruções de forma que estas sejam executadas da melhor forma possível, isto é, que não fique nenhuma unidade de execução vazia. Por exemplo, se uma unidade de ponto flutuante vai ficar disponível, o agendador procurará por uma instrução de ponto flutuante para mandá-la para esta unidade, mesmo que a próxima instrução no programa seja uma instrução que opere com números inteiros. Os agendadores são o coração da execução fora de ordem dos processadores de 7ª geração. Esta etapa demora três estágios.

Arquitetura x86 Pentium 4

Arquitetura x86 Pentium 4 Estágios do Pipeline Envio (Disp, Dispatch): As microinstruções são enviadas às unidades de execução adequadas. Esta etapa é dividida em dois estágios. Leitura dos registradores internos (RF): Os registradores internos, armazenados no pool de instruções, são lidos. Esta etapa demora dois estágios. Execução (Ex): As microinstruções são executadas

Arquitetura x86 Pentium 4

Arquitetura x86 Pentium 4 Estágios do Pipeline Flags (Flgs): Atualiza os flags do processador. Verificação de desvios (Br Ck, Branch check): Verifica se o desvio tomado pelo programa é o mesmo que o previsto pelo circuito de previsão de desvio. Drive: Envia o resultado dessa verificação para o buffer de destino de desvio (BTB) localizado na entrada do processador.

Arquitetura x86 Pentium 4 Pentium D Introduzido em 2005 Contém 2 dices de núcleos Pentium 4 Prescott, e não os dois núcleos no mesmo dice

Arquitetura x86 Pentium 4 – Pentium D Tecnologia EM64T EM64T – Extended Memory 64 Technology Processadores com essa tecnologia possuem um novo modo de operação chamado IA32E: Modo Compatibilidade: permite que SOs de 64 bits executem programas de 32 e 16 bits sem a necessidade de serem recompilados Modo de 64 bits: permite que SOs e programas de 64 bits utilizem o novo espaço de endereçamento de 64 bits oferecido por esta tecnologia

Arquitetura x86 Pentium 4 – Pentium D Tecnologia EM64T Características: Espaço de endereçamento: alguns processadores utilizam 36 linhas para endereçamento, e outros utilizam 40 linhas Oito registradores adicionais, totalizando 16 registradores de 64 bits. Nomenclatura: RAX

Arquitetura x86 Pentium 4 – Pentium D Tecnologia EM64T Características (continuação): Oito registradores adicionais para instruções SIMD (MMX, SSE, SSE2 e SSE3), totalizando 16 registradores Todos os registradores e ponteiros são de 64 bits Um novo modo de endereçamento relativo para o ponteiro de instruções, denominado RIP - relative addressing

Arquitetura x86 Pentium 4 Pentium Extreme Edition Baseado no processador dual Pentium D, mas com HyperThreading habilitada, permitindo ter 4 processos lógicos (2 físicos e 2 nos núcleos virtuais) Suporta EM64T

Arquitetura x86 Pentium - Arquiteturas Microarquitetura Intel Core Arquitetura baseada no Pentium M Não tem nada a ver com os processadores Core Solo e Core Duo Processadores Merom, Conroe e Woodcrest Pipeline de 14 estágios

Arquitetura x86 Pentium - Arquiteturas Características: Baixo consumo de energia Múltiplos núcleos (cores) Tecnologia de Virtualização () EM64T

Arquitetura x86 Pentium - Arquiteturas Microarquitetura Intel Core Diferença para o Pentium D Cache L2 compartilhada dinamicamente entre os núcleos, enquanto no Pentium D, cada núcleo tem a sua própria cache L2 Pré-buscas compartilhadas também Busca é feita por padrões utilizados pelo processador Exemplo: carregou dados do endereço 1, depois do endereço 3 e depois do endereço 5, a unidade de pré-busca irá supor que o próximo dado será o do endereço 7, carregando esse dado na cache antes de ser solicitada Idéia (previsão) não é nova... Vem desde o Pentium Pró, mas nessa arquitetura foi aprimorada para buscar padrões

Arquitetura x86 Pentium - Arquiteturas Microarquitetura Intel Core Fusão de Instruções (macro-fusion) Capacidade de combinar duas instruções x86 em uma única microinstrução Limitado a instruções de desvio condicional e de comparação Decodificador é capaz de decodificar 4 instruções por pulso de clock, enquanto os processadores Pentium M e Pentium 4 podiam decodificar somente 3

Arquitetura x86 Microarquitetura Intel Core Fusão de instruções

Arquitetura x86 Microarquitetura Intel Core Unidades de Execução

Arquitetura x86 Microarquitetura Intel Core Unidades de Execução Possui uma unidade de ponto flutuante (FPU) e uma ULA (IEU) a mais que o Pentium M As unidades de geração de endereço estão nas unidades de carga e armazenamento

Arquitetura x86 Microarquitetura Intel Core Desambiguação de Memória

Arquitetura x86 Microarquitetura Intel Core Desambiguação de Memória

Bibliografia Por Dentro da Arquitetura do Pentium M http://www.clubedohardware.com.br/artigos/1202 Por Dentro da Microarquitetura Intel Core http://www.clubedohardware.com.br/artigos/1203 Por Dentro da Arquitetura do Pentium 4 http://www.clubedohardware.com.br/artigos/1201