17.Carateristicas Tecnologicas Dos Processadores Intel x86 de 32 Bits - IA-32 e 64 Bits - x86-64 - Microarquitetura Intel NetBurst v8.12

Embed Size (px)

Citation preview

  • 1Tecnologia de Computadores e

    Arquiteturas e Tecnologias dos ComputadoresComputadores

    Diapositivos de ApoioIII. Processadores

    17. Processadores Intel de 32 bits (IA-32) e 64 bits (x86-64) Microarquitetura Intel NetBurst

    Cursos:Engenharia Informtica DiurnoEngenharia Informtica Ps-LaboralInformtica para a Sade

    Compilao de textos: Rui Vasco Monteiro

    Verso 07.2012

    Disponvel:- Livro: pgs. 196-208

    216-219 - Acetatos: Sim

    rv@

    sco

    Processadores Intel x86 de 32 bits e 64 bits Microarquitetura Intel Netburst

    Os processadores Intel x86 de 32 bits da Microarquitetura Intel Netburst englobam:

    ador

    es v

    .07.

    2012

    by Pentium 4 1.3-2.0 (Willamette) Pentium 4 1.6A-3.4 (Northwood) Pentium 4 2.26A, 2.4A, 2.4E, 2.66, 2.8A, 2.8E, 3.0E, 3.2E, 3.4E (Prescott) Xeon (Foster, MP Foster, Prestonia,

    MP Gallatin ) Pentium 4 Extreme Edition (Gallatin) Celeron 1.7 e 1.8 (Willamette)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 1

    Celeron 1.8A, 2.0, 2.1, 2.2, 2.3, 2.4,2.5, 2.6, 2.7 e 2.8 (Northwood)

    Celeron D 3xx (Prescott-256)

  • 2rv@

    sco

    Processadores Intel x86 de 32 bits e 64 bits Microarquitetura Intel Netburst

    Os processadores Intel x86 de 64 bits da Microarquitetura Intel Netburst englobam:

    P ti 4 3 2F 3 4F 3 6F 3 8F (P tt) P ti 4 5 (P tt) P ti

    ador

    es v

    .07.

    2012

    by Pentium 4 3.2F, 3.4F, 3.6F, 3.8F (Prescott), Pentium 4 5xx (Prescott), Pentium 4 6x0 (Prescott-2M), Pentium 4 6x1 (Cedar Mill)

    Pentium 4 Extreme Edition 3.2, 3.4, 3.46 (Gallatin), Pentium 4 EE 3.73 (Prescott-2M)

    Pentium D 8xx (Smithfield),Pentium D 9xx (Presler)

    Pentium 840 Extreme Edition(Smithfield) Pentium 955 965

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 2

    (Smithfield), Pentium 955, 965Extreme Edition (Presler)

    Celeron D 3xx (Prescott-256),Celeron D 3xx (Cedar Mill-512)

    rv@

    sco

    ador

    es v

    .07.

    2012

    by3.

    Pro

    cess

    a

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 3

    Evoluo Cronolgica da Microarquitetura NetBurst da Intel

  • 3rv@

    sco

    Processadores Intel x86 de 32 bits Microarquitetura Intel Netburst

    Os processadores Intel x86 de 32 bits da Microarquitetura Intel Netburst englobam:

    ador

    es v

    .07.

    2012

    by Pentium 4 1.3-2.0 (Willamette) Pentium 4 1.6A-3.4 (Northwood) Pentium 4 2.26A, 2.4A, 2.4E, 2.66, 2.8A, 2.8E, 3.0E, 3.2E, 3.4E (Prescott) Xeon (Foster, MP Foster, Prestonia,

    MP Gallatin ) Pentium 4 Extreme Edition (Gallatin) Celeron 1.7 e 1.8 (Willamette)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 4

    Celeron 1.8A, 2.0, 2.1, 2.2, 2.3, 2.4,2.5, 2.6, 2.7 e 2.8 (Northwood)

    Celeron D 3xx (Prescott-256)

    rv@

    sco

    Microarquitetura NetBurst de 32 bits Principais Caratersticas

    Microarquitetura de 32 bits lanada em Novembro de 2000 Oferece suporte a novos processadores x86 incompatveis

    d t i ti t

    ador

    es v

    .07.

    2012

    by com processadores anteriores mas que continuam a suportar o modelo de programao de 32 bits (IA-32): Pentium 4 Willamette Pentium 4 Northwood

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 5

  • 4rv@

    sco Como se recorda, o Modelo de Programao x86 de 32

    bits (IA-32) apresenta as seguintes caratersticas:

    Microarquitetura NetBurst de 32 bits Principais Caratersticas

    ador

    es v

    .07.

    2012

    by 8 Registos (GPR) de 32 bits 8 Registos x87/MMX de 80 bits 8 Registos SSE/SSE2 de 128 bits PC de 32 bits

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 6

    rv@

    sco

    Microarquitetura NetBurst de 32 bits Principais Caratersticas

    Suporte a 144 novas instrues multimdia:SSE2 (Streaming SIMD Extensions 2) SIMD

    ador

    es v

    .07.

    2012

    by

    SSE2 (Streaming SIMD Extensions 2) SIMD (Single Instruction Multiple Data)

    Execuo Dinmica Avanada:Janela de 126 Instrues em Curso

    Rapid Execution Engine Execution Trace Cache

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 7

    FSB QDR: Suporta 4 transferncias num ciclo de relgio

  • 5rv@

    sco

    Microarquitetura NetBurst de 32 bits Principais Caratersticas

    Suporte a 144 Novas instrues multimdia SSE2:

    ador

    es v

    .07.

    2012

    by

    SSE2:Permitem otimizar cdigo para udio, vdeo,

    reconhecimento de vozDesde a microarquitetura P6 e at esta altura

    tinham sido adicionados aos processadores x86 os seguintes conjuntos de instrues:

    Instrues MMX

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 8

    Instrues MMX Instrues SSE Instrues SSE2

    rv@

    sco Resumo dos Conjuntos de Instrues Adicionados

    desde a Microarquitetura Intel P6:

    Microarquitetura NetBurst de 32 bits Principais Caratersticas

    ador

    es v

    .07.

    2012

    by Conjunto de Instrues MMX: Adio de 57 novas instrues s instrues x86 Suporte a operaes (SIMD) vetoriais aritmticas de inteiros (no

    oferece suporte a operaes vetoriais aritmticas de vrgula flutuante)

    Utiliza 8 Registos de 64 bits (identificados como MM0MM7). No so adicionados novos registos, uma vez que estes so partilhados com os 8 Registos x87 (FP0FP7) de 80 bits

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 9

    partilhados com os 8 Registos x87 (FP0FP7) de 80 bits utilizados pela FPU

  • 6rv@

    sco Resumo dos Conjuntos de Instrues Adicionados

    desde a Microarquitetura Intel P6:

    Microarquitetura NetBurst de 32 bits Principais Caratersticas

    ador

    es v

    .07.

    2012

    by Conjunto de Instrues SSE:Adio de 70 novas instrues s instrues x86Suporte a operaes vetoriais (SIMD) aritmticas de vrgula

    flutuante Utiliza 8 novos Registos de 128 bits (identificados como

    XMM0XMM7) Instrues sobre vetores de inteiros s podem operar nos

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 10

    Instrues sobre vetores de inteiros s podem operar nos registos MMX de 64 bits

    rv@

    sco Resumo dos Conjuntos de Instrues Adicionados

    desde a Microarquitetura Intel P6:

    Microarquitetura NetBurst de 32 bits Principais Caratersticas

    ador

    es v

    .07.

    2012

    by Conjunto de Instrues SSE2:Adio de 144 novas instrues s instrues SSE, para

    poder suportar operaes vetoriais (SIMD) de inteirosSuporte ao armazenamento vetorial de inteiros de 128

    bits nos registos XMM, pelo que as instrues MMX podem agora operar nos registos XMM

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 11

  • 7rv@

    sco

    Microarquitetura NetBurst de 32 bits Principais Caratersticas

    Tecnologia Hyper-Pipelined:Pipeline de 20 estgios

    ador

    es v

    .07.

    2012

    by

    p g Hyper-Threading (HT):

    Tecnologia que consiste em dividir o processador em 2 unidades lgicas, passando este a ser reconhecido pelo Sistema Operativo como 2 processadores lgicos

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 12

    O processador pode executar 2 processos simultaneamente, aumentando significativamente o seu desempenho

    rv@

    sco

    Microarquitetura NetBurst de 32 bits Principais Caratersticas - Tecnologia Hyper-Threading

    A tecnologia Hyper-Threading (HT) duplica a circulao de informao dentro do processador: Permite executar mltiplos threads ao mesmo tempo

    ador

    es v

    .07.

    2012

    by

    Permite executar mltiplos threads ao mesmo tempo til em aplicaes multithread, por ex. executar o Antivrus ao mesmo

    tempo que estamos a usar uma folha de clculo

    Requer suporte:

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 13

    A tecnologia Hyper-Threading (HT) ser abordado com mais pormenor mais frente

    ChipsetBIOS SO

  • 8rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    2 Diagramas de Blocos do Pentium 4:

    ador

    es v

    .07.

    2012

    by3.

    Pro

    cess

    a

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 14

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    Arquitetura Superescalar Processador hbrido ou

    ador

    es v

    .07.

    2012

    by Ps-RISC: Transforma instrues

    x86 em micro-instrues Implementa o

    Sequenciamento Dinmico pelo que a microarquitetura suporta a Execuo Fora de Ordem

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 15

    Como principal novidade destaca-se a incluso de uma Execution Trace Cache de 12 Kops

  • 9rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    O Front End prepara as instrues paraexecuo pelo Back End, pelo que as

    ador

    es v

    .07.

    2012

    by mesmas provm do subsistema de memriaou da cache L1 de instrues (trace cache): Para no limitar o processo de obteno de

    instrues, necessrio predizer o destinodas instrues de salto (Sistema dePredio de Saltos), pelo que utilizadouma memria (BTB Branch Target Buffer)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 16

    uma memria (BTB Branch Target Buffer)que contm o endereo de destino dos saltos maisrecentes

    A Unidade de Busca (fetch) tenta alimentar o descodificador ao dbito mximo, indo buscar instrues memria cache de instrues, se necessrio

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    Front End: O descodificador implementa uma

    descodificao complexa (decode) das

    ador

    es v

    .07.

    2012

    by descodificao complexa (decode) das instrues x86, convertendo-as em micro-instrues (ops), que posteriormente so armazenadas na Trace Cache (Cache L1de instrues) para serem executadaspelo Back End

    A Trace Cache uma das novidades i t d id t i it t d d

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 17

    introduzidas por esta microarquitetura, de modo que a sua incluso altera o caminho que as instrues seguem at serem executadas pelas Unidades de Execuo, tal como se pode comprovar nos 3 acetatos seguintes

  • 10

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    Nos Processadores x86 anteriores ao Pentium 4: As Instrues x86 seguem o caminho desde a cache de instrues

    ador

    es v

    .07.

    2012

    by L1 at ao descodificador No descodificador as instrues x86 so

    divididas em mltiplas, pequenas, uniformes emais facilmente manipulveis instrues: Microperaes, micro-instrues ou

    micro-op (ops) Estas ops so manipuladas sequenciadas

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 18

    Estas ops so manipuladas, sequenciadas,executadas (pelas Unidades de Execuo)e guardadas (write) no Motor deExecuo Fora de Ordem ou (Back End)

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    No Pentium 4, a L1 dividida em Cache de Dados e emCache de Instrues (Trace Cache) colocada no Front End

    CPU Busca instrues x86 em L2 que descodifica em ops

    ador

    es v

    .07.

    2012

    by

    CPU Busca instrues x86 em L2 que descodifica em ops(traces) e que ficam armazenadas na cache L1

    A Trace Cache contm ops (instrues j descodificadas)que esto prontas para serem enviadas para o Motor deExecuo Fora de Ordem (Back End)Enquanto o cdigo necessrio para a execuo de umdeterminado programa estiver armazenado na L1 TraceCache o caminho de execuo de instrues ser o que

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 19

    Cache, o caminho de execuo de instrues ser o queest ilustrado na figura: Quando h um cache miss na Trace Cache, o Front End vai procurar

    ou buscar (fetch) cdigo x86 na cache L2, que posteriormente traduzido em ops. Estas micro-instrues so finalmente armazenadas na Trace Cache pontas para serem executadas

  • 11

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos - Trace Cache

    O que difere uma Trace Cache de uma tradicional Cache de Instrues? Armazena Microperaes ou micro-op (ops), em vez de instrues x86

    ador

    es v

    .07.

    2012

    by Organiza o cdigo do programa em funo do fluxo de execuo espetvel, em vez de ser em funo da sua localizao em memria

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 20

    CPU x86 c/ Cache de Instrues Pentium 4 c/ Trace Cache

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos - Trace Cache

    Trace Cache:A descodificao j no ocorre

    ador

    es v

    .07.

    2012

    by

    A descodificao j no ocorre dentro do caminho de execuo crtica do processador

    O paralelismo de execuo de programas j no est limitado ao nmero de descodificadores x86:Pode s conter 1 ou 2

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 21

    Pode s conter 1 ou 2 descodificadores de instrues x86

  • 12

    rv@

    sco

    Caminho de Execuo Crtico de um Normal Processador x86 vs. Microarquitetura NetBurst

    No P6 (fig. esq.) a cacheL1 armazena instrues x86 (ainda no descodificadas)

    ador

    es v

    .07.

    2012

    by

    (ainda no descodificadas) No Pentium 4 (fig. dir.) a

    cache L1 armazena ops(instrues j descodificadas ou traces), as quais so enviadas para os buffers do Back End para serem executadas

    A cache L1 constitui 1 N tb t

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 22

    A cache L1 constitui 1reservatrio de ops, podendo enviar3 ops/ciclo para oBack End

    Processador x86 Netburst

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    As funes desempenhadas pelo Back End(Execution Engine) passam por: Sequenciar a passagem das ops s

    ador

    es v

    .07.

    2012

    by

    Sequenciar a passagem das ops sUnidades de Execuo, de modo a queas mesmas possam ser executadas forade ordem e de forma especulativa

    atualizar o estado interno do processadorno final do processamento (Commit ou Retirement)

    Antes das instrues estarem em condies depoderem ser executadas fora de ordem, as mesmas

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 23

    tm de ser reordenadas pelo que efetuado osequenciamento de instrues. Esta reordenao tem em vista uma execuo tima de instrues e realizada no mais curto espao de tempo possvel. Aps esta reordenao, as instrues esto prontas para serem rapidamente executadas, desde que os respetivos operandos de entrada (dados) estejam igualmente disponveis

  • 13

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    Deste modo, para alm da execuo deinstrues pelas Unidades de Execuo,

    B k E d li i t f

    ador

    es v

    .07.

    2012

    by o Back End realiza as seguintes funes,no sentido de efetuar a reordenao dasmesmas: Alocao Renomeao Sequenciamento

    A reordenao de instrues realizada pelo

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 24

    seguinte conjunto de hardware: Allocator/Register Renamer (Alocao/ Renomeao de Registos) Micro-ops Queues (Filas de Micro-instrues ou ops) Schedulers (Escalonadores ou Sequenciadores)

    rv@

    sco Para que as instrues possam ser executadas, a

    Trace Cache envia 3 ops/ciclo (por ordem) para o Allocator/ Register Renamer nos quais efectuado:

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    ador

    es v

    .07.

    2012

    by

    Allocator/ Register Renamer, nos quais efectuado: A Reserva ou Alocao de Recursos (buffers):

    Permite a monitorizao do estado deexecuo (fora de ordem) das instrues(janela at 126 de instrues em curso)

    A Renomeao de Registos: Recorda-se que a Renomeao de Registos

    consiste no mapeamento de Registos

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 25

    p gLgicos ou Arquiteturais (e que sovisveis ao programador) em 128 RegistosFsicos ou Microarquiteturais (e que esto escondidos do programador).

  • 14

    rv@

    sco Allocator (Alocador):

    Aloca ou reserva os recursos (buffers) que i d d

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    ador

    es v

    .07.

    2012

    by so necessrios para a execuo de cadaop, pelo que os mesmos permitem efetivara realizao de operaes de reordenao,de monitorizao e de sequenciao: Quando h indisponibilidade de recursos

    (como por exemplo, uma entrada do RegisterFile) que so necessrios para uma das 3 ops que

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 26

    recebe no respetivo ciclo de relgio, o Alocator irprotelar ou adiar (stall) o envio das instrues para os blocos seguintes

    Quando os recursos ficam disponveis o Alocator atribui-os s opsrequerentes, permitindo que as mesmas possam fluir pela pipeline para serem executadas

    rv@

    sco Allocator (Alocador):

    Integra uma Fila de Espera (FIFO First InFirst Out) de Micro instrues (op Queue)

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    ador

    es v

    .07.

    2012

    by First Out) de Micro-instrues (op Queue) que recebe as ops que so enviadas pela Trace Cache: A sua funo passa por tentar regularizar o

    fluxo de instrues que se move pelo BackEnd, uma vez que esta Fila retira qualquer bolha (bubble) que tenha sido introduzida nas fases de busca ou

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 27

    introduzida nas fases de busca ou descodificao

    As ops abandonam a Fila em ordem, de modo a prosseguirem para os prximos estgios da pipeline

  • 15

    rv@

    sco Allocator (Alocador):

    As ops ao serem retiradas pela parte inferior daFila de Espera implica que o Allocator faa a

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    ador

    es v

    .07.

    2012

    by Fila de Espera, implica que o Allocator faa areserva (alocao) de uma das 126 entradas doBuffer de Reordenao (ReOrder Buffer - ROB): A alocao de uma entrada do ROB permite

    monitorizar o estado do processamento de cada uma das 126 ops que podem estar execuo (in-flight) simultnea

    Das 126 ops (40 ops no P6) que podem estar em curso, h um conjunto de entradas do ROB que esto direcionadas para operaes de

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 28

    conjunto de entradas do ROB que esto direcionadas para operaes de LOAD e STORE. Deste modo, o Allocator pode reservar at: 48 entradas do ROB (LOAD buffers) para instrues de carregamento

    de dados da memria (LOAD) 24 entradas do ROB (STORE buffers) para instrues de

    armazenamento de dados na memria (STORE)

    rv@

    sco O Register Renamer permite:

    Eliminar dependncias falsas

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    ador

    es v

    .07.

    2012

    by Efectuar a Renomeao de Registos,pelo que mapeia os Registos LgicosISA em Registos Fsicos: Como veremos mais adiante, o Modelo

    de Programao especifica: 8 Registos GPR 8 Registos x87/MMX (vrgula flutuante)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 29

    8 Registos x87/MMX (vrgula flutuante) 8 Registos SSE/SSE2 (vectoriais)

    O Pentium 4 integra 128 Registos Fsicos de cada um dos tipos de Registos Lgicos do Modelo de Programao no Ficheiro de Registo (Register File)

  • 16

    rv@

    sco

    Ao contrrio do que acontecia com a microarquitetura P6: A alocao de entradas no ROB e no Register File (RF) feita

    separadamente

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    ador

    es v

    .07.

    2012

    by

    separadamente ROB constitui um array que guarda apenas o Estado

    de processamento de cada uma das126 instrues in-flight e dosrespetivos registos associados(Registos Especulativos ouArquiteturais):

    Cada entrada do RF alocada a

    3.P

    roce

    ssa Cada entrada do RF alocada a

    partir de uma lista de 128 registosdisponveis, pelo que estes armazenamtodos os operandos que so utilizados durante o processamento de instrues, seja os que so utilizados pelos Registos Renomeados, seja os que so usados pelos Registos ArquitecturaisDepartamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 30

    rv@

    sco Integra 2 Tabelas de Renomeao de Registos (Register Alias

    Table RAT), pelo que a incluso de uma 2 tabelait i t d d d d

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    ador

    es v

    .07.

    2012

    by procura evitar o movimento de dados deum registo para outro registo

    A finalizao (Commit) de umainstruo realizada pela simplesmudana no mapeamento (Ponteiro),de tal modo que o Registo Arquiteturali t l t t

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 31

    ir apontar para o valor correcto que estno RF: A efetivao da finalizao no implica o deslocamento (cpia) dos

    resultados da execuo dos Registos Fsicos para Registos Lgicos

  • 17

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    O Alocator/ Register Renamer envia 3 ops/ciclo para serem armazenadas num dos seguintes 2 Tipos de Filas (Queues): Memory op Queue (Fila de ops de Memria):

    ador

    es v

    .07.

    2012

    by

    Memory op Queue (Fila de ops de Memria): Guarda operaes de memrias

    (LOADS e STORES) que se destinam LSU (Load-Store Unit)

    Integer & Floating Point op Queue (Filadas Restantes ops): Guarda todos os outros tipos de

    (i t i l fl t t )

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 32

    operaes (inteiras e vrgula flutuante) As 2 Filas de ops (FIFO):

    Asseguram que as instrues so finalizadas em ordem, pois as mesmas podem ser executadas fora de ordem

    Vo posteriormente alimentar 4 Sequenciadores ou Escalonadores(Schedulers)

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    As funes dos 4 Sequenciadores ou Escalonadores (Schedulers)passam por:

    Analisar as ops (verificam as suas dependncias) que esto nas Filas

    ador

    es v

    .07.

    2012

    by Analisar as ops (verificam as suas dependncias) que esto nas Filas (Queues), para que se possa escalonar as ops que vo ser executadas fora de ordem

    Determinar qual a Unidade de Execuopara onde devem ser enviadas as ops

    Enviar as ops para a Unidade deExecuo (UE) apropriada, desde que osoperandos estejam disponveis e exista

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 33

    operandos estejam disponveis e existauma UE livre

    de realar que as 2 Filas de Esperade ops e os 4 Escalonadores de ops substituem as ReservationStations da microarquitetura P6

  • 18

    rv@

    sco Os Escalonadores de ops dividem-se em:

    Fast Integer Scheduler:Sequencia operaes ALU (instrues de

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    ador

    es v

    .07.

    2012

    by Sequencia operaes ALU (instrues deinteiros e lgicas) para Unidade de Execuo de Inteiros

    Slow Integer/ General Floating Point Scheduler: Sequenciamento das restantes instrues de inteiros e da maior parte

    das instrues de vrgula flutuante Simple Floating Point Scheduler:

    Sequencia instrues de vrgula flutuante simples e operaes de memria de nmeros de vrgula flutuante

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 34

    Memory Scheduler: Sequencia operaes de memria para LSU (Load-Store Unit)

    Cada um dos 4 Escalonadores consiste numa pequena fila de ops com 8 a 12 entradas

    rv@

    sco Os Escalonadores fazem a emisso ou

    despacho (dispatch) de ops, pelo quecoletivamente podem distribuir at 6 ops/ciclo

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    Pentium 4

    ador

    es v

    .07.

    2012

    by

    coletivamente podem distribuir at 6 ops/ciclopelas UE atravs de 4 Portos de Emisso (verfigura em cima): Recorda-se que na microarquitetura P6 a Reservation Station (RS) envia

    instrues para 5 Portos (ver figura em baixo) Os 4 Portos de Emisso esto assim divididos:

    2 Portos para instrues de acesso memria (LOAD e STORE) 2 Portos (Porto 0 e Porto 1) para as restantes instrues

    Dos 4 Portos de Execuo 2 Portos (para

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 35

    Dos 4 Portos de Execuo, 2 Portos (para inteiros simples) so double pumped, pelo

    que podem enviar instrues nas vertentesascendente e descendente do relgio: Os 4 Portos suportam ento o envio

    de 6 ops

    Pentium Pro

  • 19

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    Aps receberem as ops, as Unidades de Execuo que esto integradas no

    ador

    es v

    .07.

    2012

    by

    de Execuo, que esto integradas no Rapid Execution Engine, efetuam a leitura (read) dos operandos de entrada (dados) de cada instruo a partir do Register File apropriado (Floating Point Register File FPRF ou Integer Register File IFR): Os dados provm da memria cache

    L1 de dados (est situada ao fundo na

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 36

    L1 de dados (est situada ao fundo na figura) ou da memria cache L2 unificada

    rv@

    sco

    Microarquitetura NetBurst - Pentium 4 O Rapid Execution Engine integra 5 Unidades para

    Processamento Aritmtico (ALU e FPU):P t d E 0

    ador

    es v

    .07.

    2012

    by Porto de Execuo 0:1 ALU (SIU1) doubled pumped p/ instrues + simples

    (adio, subtrao e operaes lgicas de inteiros). Processa 1 instruo de inteiros em cada 0.5 ciclos (ou seja, 2 instrues em cada ciclo de relgio)

    1 FPU/Moves e Stores de Instrues SSE2 e SSE

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 37

  • 20

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    O Rapid Execution Engine integra 5 Unidades para Processamento Aritmtico (ALU e FPU): Porto de Execuo 1:

    ador

    es v

    .07.

    2012

    by

    Porto de Execuo 1: 1 ALU (SIU2) doubled pumped para instrues mais simples 1 ALU (CIU) para instrues complexas (deslocamentos e rotaes) 1 FPU/SSE/SSE2/ MMX (Vetorial de inteiros) que manipula adio,

    subtrao, multiplicao e diviso de nmeros SSE/SSE2 (vetores de vrgula flutuante) e de escalares de vrgula flutuante, bem como instrues MMX

    As 2 ALUs rpidas podem processar 4 instrues de inteiros simples em cada ciclo de relgio

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 38

    cada ciclo de relgio

    rv@

    sco Antes de poderem ser finalizadas as instrues

    executadas tm de ser reordenadas para a posiooriginal do fluxo de cdigo do programa pelo que

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    ador

    es v

    .07.

    2012

    by

    original do fluxo de cdigo do programa, pelo que ento utilizada a informao que foi previamente armazenada noROB. Quando as instrues estiverem reordenadas os resultadosda sua execuo so actualizados de forma definitiva noRegister File e o estado arquitetural da mquina actualizado

    Uma vez que a execuo de instrues realizada de forma especulativa, s aps a execuo das mesmas que poder estar disponvel o resultado da avaliao da condio de uma instruo de salto condicional, pelo que neste momento que comparado o resultado do salto com a previso efetuada pelo Sistema de

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 39

    que comparado o resultado do salto com a previso efetuada pelo Sistema de Predio de Saltos: Caso acerte no resultado da condio de salto, as instrues podem ser

    finalizadas (commit) em ordem Caso tenha errado, so descartadas todas as instrues entretanto

    processadas aps a instruo de salto, pelo que recomeado o processamento das instrues a seguir instruo de salto

  • 21

    rv@

    sco No processamento das instrues, os vrios

    blocos do Pentium 4 apresentam os seguintesd h

    Microarquitetura NetBurst Desempenho do Pentium 4

    ador

    es v

    .07.

    2012

    by desempenhos: O Front End pode fornecer (Issue em ordem) at

    3 ops/ ciclo O Sequenciamento pode despachar (dispatch)

    ou emitir at 6 ops/ciclo para as Unidades deExecuo

    No Back End (Commit em ordem) podem serfinali adas at 3 ops/ciclo

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 40

    finalizadas at 3 ops/ciclo de realar que o excesso de capacidade de emisso ou despacho

    de ops permite: Uma maior flexibilidade na escolha das instrues a tratar Absorver as irregularidades introduzidas no processamento pelas

    dependncias entre instrues

    rv@

    sco O principal artificio utilizado pela

    microarquitetura Netburst para melhorar o d h l ti t i i t t

    Microarquitetura NetBurst Desempenho do Pentium 4

    ador

    es v

    .07.

    2012

    by desempenho relativamente microarquietcturaanterior est ento na utilizao de uma Trace Cache, a qual armazena instrues j descodificadas (ops). Deste modo: Memria apenas acedida quando ocorre um

    cache miss na Trace Cache Elimina o overhead subjacente Descodificao.

    Deste modo, consegue alimentar rapidamente com

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 41

    , g pops o longo pipeline que est a funcionar a elevadas frequncias de operao, pelo que a eficincia do Back End deixa de estar dependente do ritmo de descodificao de instrues

  • 22

    rv@

    sco Para alm disso, o aumento do desempenho est

    relacionado com a utilizao/ implementao de:Vrias Unidades de Execuo (Superescalar)

    Microarquitetura NetBurst Desempenho do Pentium 4

    ador

    es v

    .07.

    2012

    by Vrias Unidades de Execuo (Superescalar) Hyperpipelined Sistema de Predio de Saltos Execuo Fora de Ordem: Novo Conjunto de Instrues (SSE2) Register Renaming:

    8 Registos Lgicos (modelo de programao x86), 128 Registos Fsicos (na microarquitetura P6 so utilizados 40 Registos Renomeados)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 42

    Escalonamento Dinmico: Utilizadas Filas de ops com 126 entradas para guardar informao sobre

    as instrues em processamento (no P6 so utilizados o buffer ROB com 40 entradas e o buffer RS com 20 entradas)

    Suporta uma janela de 126 instrues em curso nos vrios de processamento (no P6 utilizada uma janela de 40 instrues em curso)

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    Seguidamente apresenta-se, de um modo informal, os 20 estgios da pipeline do Pentium 4:

    ador

    es v

    .07.

    2012

    by Estgios n. 1 e n. 2 - Trace Cache Next Instruction Pointer: Acesso a BTB de forma a determinar endereo da prxima instruo Acesso memria se instruo no est na cache

    Estgios n. 3 e n. 4 - Trace Cache Fetch: L as instrues (ops) da cache Cache contm 12Kops organizadas

    em traces

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 43

    em traces Em cada ciclo 3 ops podem ser

    lidas da cache Estgio n. 5 Drive

  • 23

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    Estgios n. 6 ao n. 8 - Allocate e Rename (ROB): Reserva recursos (buffers) para a execuo das ops Mapeamento dos 8 registos lgicos nos 128 registos fsicos

    ador

    es v

    .07.

    2012

    by

    Mapeamento dos 8 registos lgicos nos 128 registos fsicos Utiliza Tabela de Alocao de Registos (Register Alias Table - RAT), para

    mapear registos arquiteturais (lgicos) em registos microarquiteturais (fsicos) Elimina dependncias falsas

    Estgio n. 9 Queue: Insere ops nas Filas de ops:

    1 Fila de uops de memria, 1 Fila para restantes uops Filas de ops asseguram que as instrues so finalizadas pela ordem correta

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 44

    Filas de ops asseguram que as instrues so finalizadas pela ordem correta As Filas de ops e os Escalonadores substituem as Reservation Stations

    Estgios n. 10 ao n. 12 Schedule: Analisam uops da Fila de uops Verificam dependncias e estado das UE Podem enviar uops para execuo fora de ordem

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4 Estgios n. 13 e n. 14 Dispatch:

    Envia as ops para as Unidades de Execuo

    ador

    es v

    .07.

    2012

    by3.

    Pro

    cess

    a

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 45

    Estgios n. 15 e n. 16 - Register Files Estgios n. 17 Execute

  • 24

    rv@

    sco

    Microarquitetura NetBurst Diagrama de Blocos do Pentium 4

    Estgio n. 18 Flags Estgio n 19 Branch Check:

    ador

    es v

    .07.

    2012

    by Estgio n. 19 Branch Check:Compara resultado do salto com a previso

    Estgio n. 20 Drive, Write-Back e Retire

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 46

    rv@

    sco

    Resumo de Caratersticas do Diagrama de Blocos da Microarquitetura Netburst vs. P6 (Pentium Pro, Pentium II e Pentium III)

    Pentium Pro vs. Pentium II vs. Pentium III vs. Pentium 4:

    ador

    es v

    .07.

    2012

    by3.

    Pro

    cess

    a

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 47

  • 25

    rv@

    sco

    Tecnologia Hyper-Threading Hyper-Threading (HT)

    Tecnologia que consiste em dividir o processador em 2 unidades lgicas passando este a ser reconhecido pelo SO como 2

    ador

    es v

    .07.

    2012

    by lgicas, passando este a ser reconhecido pelo SO como 2 processadores lgicos

    CPU pode executar 2 processos simultaneamente, aumentando significativamente o seu desempenho.

    capaz de melhorar o desempenho do processador at 30 % Instrues so reorganizadas, de forma que CPU possa aproveitar

    os ciclos em que no est a processar instrues por forma a incluir l i d 2

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 48

    operaes relacionadas com o 2 processo Nvel de utilizao das Unidades de Execuo desempenho Ensaio p/ processadores dual-core que foram lanados posteriormente Para tirar partido desta tecnologia, necessrio que esta seja

    suportada pelo sistema operativo e por software especfico

    rv@

    sco

    Tecnologia Hyper-Threading Ganhos so mais expressivos em ambientes multitarefa. As

    aplicaes que tiram maior proveito do HT so as que esto relacionados com:

    ador

    es v

    .07.

    2012

    by

    relacionados com: Compactao/ Descompactao de ficheiros Compresso de udio e vdeo Renderizao 3D Alguns jogos

    Circuitos responsveis pelo HT: Circuito TLB e a Trace Cache

    (foram alvo de expanso)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 49

    3 Circuitos Adicionais: Return Stack Predictor Next Instruction Pointer

    (Program Counter) Register Alias Tables

  • 26

    rv@

    sco

    Tecnologia Hyper-Threading Em grande parte dos SO modernos, os programas so

    designados como processos: Os processos integram mltiplos threads (fragmentos) sendo que

    ador

    es v

    .07.

    2012

    by

    Os processos integram mltiplos threads (fragmentos), sendo que cada processo consiste em pelo menos 1 thread (thread de execuo principal)

    A cada thread est associado um contexto: Termo abrangente que engloba toda informao que descreve

    completamente o estado atual de execuo do processo (contedo dos registos da CPU, Program Counter, etc)

    Para alm do contexto associado a um processo, cada um dos threads pode ter o seu prprio contexto local

    C ( i ) E t ( ti ) P

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 50

    Correr (running) vs. Executar (executing) Programa: Correr programa quando o cdigo do mesmo carregado para a

    memria principal Executar programa s quando o codigo carregado para o

    processador SO corre programas, enquanto o processador os executa

    rv@

    sco

    Tecnologia Hyper-Threading Processador Single-Thread:

    O processador s capaz de executar um programa de cada vez apesar da memria ter carregado

    ador

    es v

    .07.

    2012

    by

    de cada vez, apesar da memria ter carregado mltiplos programas

    Cada programa acredita que tem o monoplio da utilizao da memria e do processador e que o processador o est a executar continuamente sem interrupes

    O utilizador tem a iluso que os vrios programas atualmente carregados em memria esto a ser executados em simultneo

    N fi t i t

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 51

    Na figura as cores representam as instrues dos 4 programas que esto em memria: Somente as instrues para o programa vermelho

    esto atualmente a ser executadas, enquanto as restantes aguardam que a CPU lhes d ateno

  • 27

    rv@

    sco

    Tecnologia Hyper-Threading Symmetric MultiProcessing (SMP):

    Suporte a mais do que um processador na mesma Placa MeE i t t i d

    ador

    es v

    .07.

    2012

    by Em sistemas que executam mais do que um processo ao mesmo tempo permite efetuar a diviso da carga de processamento entre os diversos processadores: Aumenta o Tempo de Execuo do processador que dedica a

    cada Processo Diminui o Tempo que as instrues

    esto espera na memria a fim deserem executadas

    O programa vermelho e o processo

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 52

    O programa vermelho e o processoamarelo podem ser executados emsimultneo, um em cada processador Duplica n. de processos executados,

    mas o n. de slots de execuo vazios (caixas a branco) tambm duplica

    rv@

    sco

    Tecnologia Hyper-Threading Superthreading com Processador Multithreaded:

    Tcnica utilizada para aumentar o desempenho do processdor ao eliminar o desperdcio associado ao SMP single-threaded

    ador

    es v

    .07.

    2012

    by

    eliminar o desperdcio associado ao SMP single threaded CPU so capazes de executar mais do que 1

    thread por unidade de tempo Existem poucos slots de execuo vazios, pelo que

    no h desperdcio da execuo uma vez que CPUest a executar instrues de ambas as threadsem simultneo

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 53

    O Processador est limitado na forma de misturaras instrues de 2 threads: Num ciclo de relgio, cada estgio da pipeline

    s pode conter instrues de uma s thread

  • 28

    rv@

    sco

    Tecnologia Hyper-Threading Superthreading com Processador

    Multithreaded:N Fi F t E d d 4

    ador

    es v

    .07.

    2012

    by Na Figura o Font End pode mover 4 instrues por ciclo de relgio para 4 das 7 pipelines das Unidades de funcionais que integram o Motor de Execuo

    Contudo, todas as 4 instrues que so deslocadas no mesmo ciclo de relgio devem ser provenientes da mesma

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 54

    pthread

    rv@

    sco

    Tecnologia Hyper-Threading Simultaneous Multithreading (SMT) ou

    Hyper-Threading: um aperfeioamento do superthreading pois

    ador

    es v

    .07.

    2012

    by

    um aperfeioamento do superthreading, pois no existe a restrio de que todas as instrues processadas pelo Front End em cada ciclo terem de ser da mesma thread

    Atua como se existissem 2 processadores: Sob o ponto de vista do SO, o processador

    dividido em 2 ou mais processadores lgicos e as threads podem ser escalonadas para serem executadas em qualquer um dos processadores

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 55

    Permite uma flexibilidade mxima no escalonamento lgico por forma a preencher os slots de execuo: Faz um uso mais eficiente dos recursos de

    execuo disponveis ao manter o ncleo de execuo sempre ocupado

  • 29

    rv@

    sco

    Tecnologia Hyper-Threading Com CPU Superescalar:

    50% do CPU no utilizado

    ador

    es v

    .07.

    2012

    by Com SMP: 50% de cada CPU por

    utilizar Com HT (SMT):

    Eficincia aumenta para 90%

    Com HT usando 2 CPU: 2 processadores fsicos 4 processdores lgicos

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 56

    4 processdores lgicos Processa 4 threads

    independentes emsimultneo

    Eficincia em cerca de 90%

    rv@

    sco

    Reconhecimento da tecnologia Hyper-Threading no sistema operativo Windows XP

    Tecnologia Hyper-Threading

    ador

    es v

    .07.

    2012

    by operativo Windows XP

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 57

  • 30

    rv@

    sco

    Tecnologia Hyper-Threading Para a implementao desta tecnologia o processador teve

    de sofrer algumas modificaes:

    ador

    es v

    .07.

    2012

    by Passou a incorporar algumas Unidades de Controlo em duplicado, mas mantm as mesmas Unidades de Execuo (so partilhadas),que so carregadas de forma mais eficiente e com maior quantidade de dados de cada vez

    Integra Tabelas de Alocao de Registos (Register AllocationTables - RAT) em duplicado: Cada uma faz o mapeamento dos 8 Registos de Uso Geral (GPR), dos 8

    Registos de Vrg la Fl t ante (FPR) e dos 8 Registos Vetoriais (SSE2)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 58

    Registos de Vrgula Flutuante (FPR) e dos 8 Registos Vetoriais (SSE2) nos 128 Registos Fsicos GPR (Rename Registers), nos 128 Registos Fisicos FPR e nos 128 Registos Fiscos SSE2

    RAT um dos recursos duplicados (replicados) que gere um recurso partilhado que so os Registos da Microarquitetura, Registos Fiscosou Registos Renomeados Rename Registers

    rv@

    sco

    Tecnologia Hyper-Threading As Filas de ops (Queues) so o exemplo de recursos que so

    particionados, pois cada Queue dividida ao meio, com metade das entradas atribuda a um processador lgico e a restante metade ao outro

    ador

    es v

    .07.

    2012

    by

    entradas atribuda a um processador lgico e a restante metade ao outro processador lgico

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 59

    Todos os outros recursos, como por exemplo a Cache, as Unidades de Execuo e os 128 Registos Renomeados (Rename Registers) da microarquitetura (GPR, FPR, SSE2) que esto escondidos do programador, so partilhados por ambos os processadores lgicos

  • 31

    rv@

    sco

    Tecnologia Hyper-Threading Em resumo, para implementar HT os recursos do processador so

    ento divididos nas seguintes 3 categorias:

    ador

    es v

    .07.

    2012

    by Categorias RecursosDuplicados Hardware que gere o Register Renaming, tal como o RAT

    Program Counter (PC)Translation Look-aside Buffer (TLB)Return Stack PredictorVrios outros Registos Arquiteturais

    Particionados Buffers ReOrder (ROB)Buffers LOAD e STORE

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 60

    Buffers LOAD e STOREFilas de Espera ou Queues (Scheduling Queues, opQueue,)

    Partilhados Memrias Caches: Trace Cache, L1 e L2Unidades de Execuo (ALU, FPU, )Registos da Microarquitetura (Register Renaming)

    rv@

    sco

    Arquitetura Hyper-Threading versus sistema multiprocessador (a) processador com Hyper-Threading

    Tecnologia Hyper-Threading

    ador

    es v

    .07.

    2012

    by

    (a) processador com Hyper-Threading (b) sistema multiprocessador

    ProcessadorLgico 2

    ProcessadorLgico 1

    ALU's

    Cache's

    Registos Registos

    ProcessadorFsico 2

    ProcessadorFsico 1

    Registos Registos

    ALU's

    Cache's

    ALU's

    Cache's

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 61

    Memria principal

    Barramento de sistema

    (a)

    Memria principal

    Barramento de sistema

    (b)

  • 32

    rv@

    sco

    Processadores Intel x86 de 32 bits Microarquitetura Intel Netburst

    Resumo de caratersticas de processadores Intel x86 de 32 bits da Microarquitetura Intel Netburst:

    ador

    es v

    .07.

    2012

    by Pentium 4 1.3-2.0 (Willamette) Pentium 4 1.6A-3.4 (Northwood) Pentium 4 2.26A, 2.4A, 2.4E, 2.66, 2.8A, 2.8E, 3.0E, 3.2E, 3.4E (Prescott) Xeon (Foster, MP Foster, Prestonia,

    MP Gallatin ) Pentium 4 Extreme Edition (Gallatin) Celeron 1.7 e 1.8 (Willamette)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 62

    Celeron 1.8A, 2.0, 2.1, 2.2, 2.3, 2.4,2.5, 2.6, 2.7 e 2.8 (Northwood)

    Celeron D 3xx (Prescott-256)

    rv@

    sco

    Pentium 4

    Inicialmente o Pentium 4 Willamette utilizava Memria Rambus:Novo barramento

    ador

    es v

    .07.

    2012

    by

    Novo barramentoMuito rpido; largura = 16 bits; So memrias de 8 bits ( aos pares)Ex: PC-800 (800 MHz) 3.2 GB/sChipset Intel 850:

    Desvantagem:C !

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 63

    Caro!Soluo:

    Outros chipsets (Intel 845) sistemas + baratos com memria DDR

  • 33

    rv@

    sco

    Pentium 4 Em 2002 surge Pentium 4 Northwood:

    0.13 m (anterior era de 0.18 m)

    ador

    es v

    .07.

    2012

    by

    ( )Ncleo menor Menor consumo Tenso de alimentao menor: 1.5 V (anterior 1.7 V )Cache L2 = 2xL2 (Willamette) = 512 KBSurgiram as as seguintes alteraes:

    FSB 400 MHz 533 MHz 800 MHzAt li d l d d d h d

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 64

    Atualizao do ncleo do processador desempenho de cerca de 2 %, (verses 2500, 2600, 2666 e 2800 MHz);

    A incluso da Tecnologia Hyper-Threading, antes usada apenas em servidores

    rv@

    sco

    Ncleo do Pentium 4 Willamette (esquerda) e Northwood(direita)

    Pentium 4

    ador

    es v

    .07.

    2012

    by (direita)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 65

  • 34

    rv@

    sco

    Pentium 4

    Em Fevereiro de 2004 surge o Pentium 4 Prescott(32 bits):

    ador

    es v

    .07.

    2012

    by

    ( ) 90 m ou (0.09 m)

    de realar que em Agosto de 2004 o Pentium 4 Prescott teve um upgrade com o lanamento da verso de 64 bits (x86-64):As caratersticas do Prescott de 32 bits sero

    b d d i di t ( it P d I t l

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 66

    abordadas mais adiante (no item Processadores Intel x86 de 64 bits da Microarquitetura Intel Netburst), quando falarmos das caratersticas do Prescott de 64 bits

    rv@

    sco Pentium 4 Willamette disponibilizado em:

    Socket 423 Socket 478

    Pentium 4 - Sockets

    ador

    es v

    .07.

    2012

    by Socket 423 Socket 478 Pentium 4 Northwood disponibilizado em:

    Socket 478 Pentium 4 Prescott (32 bits) disponibilizado em:

    Socket 478N t I t t

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 67

    Nota Importante: Como veremos mais adiante, a verso Pentium 4

    Prescott (64 bits) disponibilizado em LGA 775, em que os pinos esto do lado da placa me

  • 35

    rv@

    sco

    Processadores Intel x86 de 32 bits Microarquitetura Intel Netburst

    Resumo de caratersticas de processadores Intel x86 de 32 bits da Microarquitetura Intel Netburst:

    ador

    es v

    .07.

    2012

    by Pentium 4 1.3-2.0 (Willamette) Pentium 4 1.6A-3.4 (Northwood) Pentium 4 2.26A, 2.4A, 2.4E, 2.66, 2.8A, 2.8E, 3.0E, 3.2E, 3.4E (Prescott) Xeon (Foster, MP Foster, Prestonia,

    MP Gallatin ) Pentium 4 Extreme Edition (Gallatin) Celeron 1.7 e 1.8 (Willamette)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 68

    Celeron 1.8A, 2.0, 2.1, 2.2, 2.3, 2.4,2.5, 2.6, 2.7 e 2.8 (Northwood)

    Celeron D 3xx (Prescott)-256

    rv@

    sco

    Xeon e Pentium 4 EE

    Em 2001 foi lanado o Xeon:Direcionado para estaes trabalho com maiores

    ador

    es v

    .07.

    2012

    by Direcionado para estaes trabalho com maiores necessidades de processamentoUtiliza memria RDRAM de duplo canal

    Em 2003 foi lanado o Pentium 4 Extreme Edition, que adiciona cache L3 de 2 MB:

    Direcionado aos utilizadores mais exigentes no

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 69

    Direcionado aos utilizadores mais exigentes, no que diz respeito necessidade de processamento.

  • 36

    rv@

    sco

    Processadores Intel x86 de 32 bits Microarquitetura Intel Netburst

    Resumo de caratersticas de processadores Intel x86 de 32 bits da Microarquitetura Intel Netburst:

    ador

    es v

    .07.

    2012

    by Pentium 4 1.3-2.0 (Willamette) Pentium 4 1.6A-3.4 (Northwood) Pentium 4 2.26A, 2.4A, 2.4E, 2.66, 2.8A, 2.8E, 3.0E, 3.2E, 3.4E (Prescott) Xeon (Foster, MP Foster, Prestonia,

    MP Gallatin ) Pentium 4 Extreme Edition (Gallatin) Celeron 1.7 e 1.8 (Willamette)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 70

    Celeron 1.8A, 2.0, 2.1, 2.2, 2.3, 2.4,2.5, 2.6, 2.7 e 2.8 (Northwood)

    Celeron D 3xx (Prescott-256)

    rv@

    sco

    Intel Celeron Surgiram em Maio 2002 e so inspirados na

    microarquitetura Netburst (em socket 478 e de

    ador

    es v

    .07.

    2012

    by

    microarquitetura Netburst (em socket 478 e de 32 bits)

    Distinguem-se:Celeron 4 (baseado no Pentium 4 Willamette), com

    as seguintes verses comerciais:Celeron 1.7 e 1.8

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 71

    Celeron 4 (baseado no Pentium 4 Northwood), com as seguintes verses comerciais:Celeron 1.8A, 2.0, 2.1, 2.2, 2.3, 2.4. 2.5, 2.6, 2.7 e 2.8

  • 37

    rv@

    sco

    Intel Celeron Em 2004 surgiram os Celeron D (Prescott) de 32 bits,

    baseados no Pentium 4 (Prescott-256) de 32 bits e di ibili d k t 478 LGA 775 i t

    ador

    es v

    .07.

    2012

    by disponibilizados em socket 478 e LGA 775, e com as seguintes verses comerciais: Celeron D 3xx

    Posteriormente surgiram os Celeron D (Prescott-256) de 64 bits (x68-64), disponibilizados em LGA 775, e com as seguintes verses comerciais: Celeron D 3xx

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 72

    Celeron D 3xx Nota Importante:

    As caratersticas do Celeron D (Prescott -256) de 32 bits sero abordadas mais adiante (no item Processadores Intel x86 de 64 bits da Microarquitetura Intel Netburst), quando falarmos das caratersticas do Celeron D

    rv@

    sco Comparao de caratersticas do Celeron

    Willamette/Northwood com os seus antecedentes

    Resumo de Caratersticas

    Caratersticas 2 a 2.7 GHz 1.7 e 1.8 GHz1A, 1.1A, 1.2, 1.3

    e 1.4 GHz

    Celeron Tualatin

    ador

    es v

    .07.

    2012

    by Encapsulamento FC-PGA2 de 370 pinos XEncapsulamento FC-PGA2 de 478 pinos X X

    Tecnologia de 0.13 m X XTecnologia de 0.18 m XBarramento de sistema de 100 MHz X

    Barramento de sistema de 400 MHz X XCache L1 32 kB (16+16 kB) XCache L1 8 kB X XExecution Trace Cache 12 kB micro-ops X XCache L2 128 kB Advanced Transfer Cache X XCache L2 256 kB Advanced Transfer Cache XCapacidade Endereamento de memria at 64 GB X X X

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 73

    Capacidade Endereamento de memria at 64 GB X X X

    Capacidade Endereamento de memria at 4 GB X X X

    Streaming SIMD Extensions 2 X XStreaming SIMD Extensions X X XInstrues MMX X X X

    Arquitetura DIB X X X

    Execuo Dinmica X X X

    Tecnologia Hyper Pipeline X XRapid Execution Engine X X

  • 38

    rv@

    sco Principais caratersticas e inovaes do Celeron

    Resumo de Caratersticas

    CPU Data Inovaes Caratersticas

    ador

    es v

    .07.

    2012

    by

    Celeron Abril 1998

    No tem cache L2 at ao modelo 300 MHzA partir do modelo 300A tem cache L2 de 128 kB

    incorporada no ncleoUtiliza Slot 1 e Socket 370 (s a partir do modelo a

    300 MHz)Encapsulamento PPGA

    2 V

    0.25 m7.5 milhes de transstores19 milhes de transstores

    (com cache L2)Cache L1 16 + 16 kB

    FSB de 66 MHz

    Celeron II Maro 20000.18 m

    FSB de 100 MHz (a partir da verso 800 MHz)Encapsulamento FC-PGA

    FSB de 66 MHz18.8 milhes de transstores

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 74

    Celeron III Jan. 20020.13 m

    Encapsulamento FC-PGASSE

    FSB de 100 MHz28.1 milhes de transstores

    Celeron 4 Maio 2002

    0.13 m (Northwood)Encapsulamento FC-PGA2

    SSE2FSB 400 MHz

    L1 8 kB dados + 12 K op

    0.18 m (Willamette)36.5 milhes de transstores

    L2 128 kB

    rv@

    sco

    Processadores Intel x86 de 32 bits Microarquitetura Intel Netburst No Anexo A03-20 - Caratersticas dos Processadores Intel x86 de 32 bits e

    de 64 bits-Microarquitetura Intel Netburst esto expressas detalhadamente as caratersticas dos seguintes processadores de 32 bits:

    ador

    es v

    .07.

    2012

    by

    caratersticas dos seguintes processadores de 32 bits: Pentium 4 1.3-2.0 (Willamette) Pentium 4 1.6A-3.4 (Northwood) Pentium 4 5xx (Prescott) Xeon (Foster, MP Foster, Prestonia,

    MP Gallatin ) Pentium 4 Extreme Edition (Gallatin) Celeron 1 7 e 1 8 (Willamette)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 75

    Celeron 1.7 e 1.8 (Willamette) Celeron 1.8A, 2.0, 2.1, 2.2, 2.3, 2.4,

    2.5, 2.6, 2.7 e 2.8 (Northwood) Celeron D 3xx (Prescott-256)

  • 39

    rv@

    sco

    Processadores Intel x86 de 64 bits Microarquitetura Intel Netburst

    Os processadores Intel x86 de 64 bits da Microarquitetura Intel Netburst englobam:

    P ti 4 3 2F 3 4F 3 6F 3 8F (P tt) P ti 4 5 (P tt) P ti

    ador

    es v

    .07.

    2012

    by Pentium 4 3.2F, 3.4F, 3.6F, 3.8F (Prescott), Pentium 4 5xx (Prescott), Pentium 4 6x0 (Prescott-2M), Pentium 4 6x1 (Cedar Mill)

    Pentium 4 Extreme Edition 3.2, 3.4, 3.46 (Gallatin), Pentium 4 EE 3.73 (Prescott-2M)

    Pentium D 8xx (Smithfield),Pentium D 9xx (Presler)

    Pentium 840 Extreme Edition(Smithfield) Pentium 955 965

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 76

    (Smithfield), Pentium 955, 965Extreme Edition (Presler)

    Celeron D 3xx (Prescott-256),Celeron D 3xx (Cedar Mill-512)

    rv@

    sco

    Evoluo Cronolgica da Microarquitetura NetBurst da Intel

    ador

    es v

    .07.

    2012

    by3.

    Pro

    cess

    a

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 77

  • 40

    rv@

    sco

    Evoluo da Microarquitetura NetBurst de 64 bits

    Intel Pentium 4:Prescott

    ador

    es v

    .07.

    2012

    by PrescottCedar Mill

    Pentium 4 Extreme Edition Pentium D:

    SmithfieldPresler

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 78

    Pentium Extreme Edition Celeron D:

    Prescott-256Cedar Mill-512

    rv@

    sco

    Evoluo da Microarquitetura NetBurst de 64 bits

    ador

    es v

    .07.

    2012

    by3.

    Pro

    cess

    a

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 79

  • 41

    rv@

    sco

    Microarquitetura NetBurst de 64 bits Principais Caratersticas

    A verso de 64 bits da Microarquitetura NetBurst foi lanada em Agosto de 2004

    ador

    es v

    .07.

    2012

    by Para alm de integrar as caratersticas presentes nos processadores da microarquitetura NetBurst de 32 bits, a microarquitetura NetBurst de 64 bits oferece suporte a:Execute Disable BitFSB com frequncias de operao ainda mais elevadasCache L2 com maior capacidade de armazenamento

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 80

    Cache L2 com maior capacidade de armazenamentoProcessadores a operar c/ frequncia de operao

    nominal de 3.8 GHz13 Novas Instrues, denominadas de SSE3 (Streaming

    SIMD Extensions 3)

    rv@

    sco

    Microarquitetura NetBurst de 64 bits Principais Caratersticas

    Para alm de integrar as caratersticas presentes nos processadores da microarquitetura NetBurst de 32 bits, a

    ador

    es v

    .07.

    2012

    by microarquitetura NetBurst de 64 bits oferece suporte a:Tecnologia de VirtualizaoTecnologia Enhanced SpeedStepTDP (Thermal Design Power) ou Potncia Trmica de

    Projeto mais elevadoModelo de Programao x86 de 64 bits (x86 64):

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 81

    Modelo de Programao x86 de 64 bits (x86-64):Tecnologia EM64T (Extended Memory 64 Technology) ou

    Tecnologia de Memria Estendida 64 que posteriormente foi renomeada para Intel 64

  • 42

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - Execute Disable Bit

    Fornece segurana acrescida ao PC Previne a ocorrncia de certas tipos de ataques (buffer

    ador

    es v

    .07.

    2012

    by

    p q (overflow), quando combinado com suporte do SO

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 82

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - Front Side Bus

    FSB um componente chave no desempenho global do sistema, uma vez que suporta a transferncia de dados entre CPU e memria

    ador

    es v

    .07.

    2012

    by FSB com frequncias de operao ainda mais elevadas: 200 MHz QDR (4 transferncias/ciclo = 800 MHz) 266 MHz QDR (1066 MHz)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 83

  • 43

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - Cache L2

    Cache L2 condiciona o desempenho global do sistema, pelo quanto maior o seu tamanho, maior a quantidade de dados que

    d d d i id t did l

    ador

    es v

    .07.

    2012

    by pode armazenar, podendo assim ser rapidamente acedidos pela CPU

    Aumento do tamanho da Cache L2 para capacidades de 1 MB ou 2 MB (por ncleo)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 84

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - Frequncia de operao

    Fator que contribui para o desempenho de um sistema, uma vez que determina a rapidez com que so executadas as instruesO P ti 4 P tt h 3 8 GH

    ador

    es v

    .07.

    2012

    by O Pentium 4 Prescott chegou a operar a 3.8 GHz

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 85

  • 44

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - Instrues SSE3

    Em 2004 foram lanadas 13 novas instrues, denominadas de SSE3 (Streaming SIMD Extensions 3)

    ador

    es v

    .07.

    2012

    by

    ( g )que foram originalmente integradas com o Pentium 4 (Prescott):Permitem o alargamento das capacidades SIMD

    disponibilizadas pelas extenses SSE e SSE2Permitem o aumento do desempenho no processamento de

    dados em diversas reas, como por exemplo, na converso

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 86

    de nmeros de vrgula flutuante para inteiros, sincronizao de threads e na codificao de vdeo

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - Tecnologia de Virtualizao

    Muito em voga atualmente, a virtualizao x86 (virtualizao de hardware) permite que mltiplos Sistemas Operativos (SO)

    tilh i lt d f fi i t

    ador

    es v

    .07.

    2012

    by possam partilhar em simultneo, de uma forma segura e eficiente, os recursos (hardware) de um processador x86

    No final dos anos 90 do sc. XX, a virtualizao x86 era implementada com a utilizao de tcnicas de software bastante complexas, por forma a contornar a falta de suporte virtualizao por parte dos processadores.

    Todavia a partir de 2005 a Intel e a AMD adicionaram H/W aos

    3.P

    roce

    ssa Todavia, a partir de 2005, a Intel e a AMD adicionaram H/W aos

    seus processadores por forma a tornar o S/W de virtualizaomais simples e mais rpido a ser executado

    de realar que no foi s aos processadores que foi adicionado H/W para melhorar a virtualizao x86, mas tambm ao chipset

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 87

  • 45

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - Tecnologia de Virtualizao

    A melhoria verificada na virtualizao x86 foi ento conseguida custa da adio de H/W especifico aos seguintes componentes:

    P d

    ador

    es v

    .07.

    2012

    by Processador: A Intel em 2005 e a AMD em 2006 criaram, de forma autnoma, o seguinte

    novo conjunto de extenses (tecnologia de extenses para a virtualizao) arquitetura x86: AMD Virtualization (AMD-V), ntroduzido no Athlon 64, Athlon 64 X2 e

    Athlon 64 FX Intel Virtualization (VT-x) , introduzido no Pentium 4

    Chipset:

    3.P

    roce

    ssa Chipset:

    Permite a implementao da virtualizao da memria e da virtualizao de E/S, utilizando: IOMMU (AMD-Vi e VT-d) Virtualizao de Rede (VT-c) PCI-SIG I/O Virtualization (IOV)

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 88

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - Tecnologia de Virtualizao

    IOMMU: Permite que uma mquina virtual possa utilizar diretamente os

    dispositivos perifricos (tais como Ethernet controladores de disco

    ador

    es v

    .07.

    2012

    by dispositivos perifricos (tais como Ethernet, controladores de disco rgido,), atravs de remapeamento de DMA e/ou de interrupes

    Foram lanadas as seguintes especificaes: I/O Virtualization Technology (AMD-Vi) originalmente denominada pela

    AMD de IOMMU Virtualization Technology for Directed I/O (VT-d) desenvolvida pela Intel

    VT-c (Virtualization Technology for Connectivity):

    3.P

    roce

    ssa

    Especificao que permite a virtualizao de Rede e que foi lanada pela Intel

    PCI-SIG I/O Virtualization (IOV): Conjunto genrico de mtodos de virtualizao de hardware de E/S

    baseado em PCI Express que foi padronizado pelo consrcio PCI-SIGDepartamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 89

  • 46

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - Tecnologia de Virtualizao

    A Tecnologia de Virtualizao, nomeadamente a Intel Virtualization (VT-x) e a Virtualization Technology for

    ador

    es v

    .07.

    2012

    by Directed I/O (VT-d), quando combinada com suporte de S/W apropriado (por exemplo VMWare) permite tirar vantagens de ambientes virtuais

    Permite que uma nica plataforma de H/Wfuncione como mltiplas plataformas virtuais

    Pode ser utilizada para tirar o mximo

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 90

    desempenho da separao de tarefasno PC, de tal modo que cada tarefa podeser executada dentro do seu isoladoPC virtual

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - Tecnologia de Virtualizao

    Um exemplo das vantagens do uso da virtualizao ser a navegao

    ador

    es v

    .07.

    2012

    by web dentro de um PC virtual:Permite aumentar a segurana,

    pois a navegao web comporta riscos que podem potenciar a ocorrncia de ataques

    Se PC virtual for infectado por vrus o mesmo pode ser encerrado

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 91

    vrus, o mesmo pode ser encerrado, protegendo-se assim os recursos do PC

  • 47

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurstde 64 bits - Tecnologia Enhanced SpeedStep

    Ajusta de um modo automtico a tenso de alimentao da CPU, quando a carga do processador mnima (quando executa aplicaes que no requerem elevado poder de clculo):

    ador

    es v

    .07.

    2012

    by

    que no requerem elevado poder de clculo ): Baixa o consumo de energia do processador (e implicitamente o

    calor libertado), uma vez que reduz automaticamente a sua frequncia e a sua tenso de alimentao, sempre que no seja necessrio obter o seu mximo desempenho

    til para portteis, pois pode prolongar a carga das baterias

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 92

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - TDP (Thermal Design Power)

    Potncia Trmica de Projeto ou Thermal Design Power (TDP): Mdia da potncia trmica mxima que o processador pode

    di i ( l ) t t S/W i t di l

    ador

    es v

    .07.

    2012

    by dissipar (calor), enquanto executa S/W que existe disponvel em termos comerciais

    Constitui um valor de projeto que serve de guia para que os fabricantes de solues trmicas (ventiladores, ventoinhas) possam avaliar o calor que dever ser dissipado

    TDP no quantifica a potncia trmica mxima que a CPU pode gerar:

    E di CPU d lib i l l d

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 93

    Em certas condies a CPU pode libertar mais calor que o valor de projeto, podendo a temperatura atingir o seu valor mximo (sem danificar a CPU)

    TDP cerca de 20%-30% menor que a Potncia Mxima de Dissipao ou Maximum Power Dissipation (MPD)

  • 48

    rv@

    sco

    A Potncia Mxima de Dissipao ouM i P Di i i (MPD)

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - TDP (Thermal Design Power)

    ador

    es v

    .07.

    2012

    by Maximum Power Dissipation (MPD): Potncia mxima dissipada pela CPU sob as

    condies mais adversas: Tenso de alimentao do ncleo mxima Temperatura mximaCondies de carga do sinal eltrico mximas

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 94

    Condies de carga do sinal eltrico mximas Deste modo:

    MPD > TDP

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - Tecnologia EM64T ou Intel 64

    A partir do Pentium 4 Prescott, os processadores x86 Intel da microarquitetura NetBurst passam a suportar a

    ador

    es v

    .07.

    2012

    by computao de 64 bits, uma vez que os Registos de Uso Geral (GPR) passam a ser de 64 bits. Isto foi possvel porque estes modelos integram: A Tecnologia de Memria Estendida 64 ou Tecnologia EM64T

    (Extended Memory 64 Technology ) Todos os modelos Intel da familia x86 posteriores ao Pentium

    4 Prescott utilizam um Modelo de Programao x86 de 64

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 95

    4 Prescott utilizam um Modelo de Programao x86 de 64 bits (x86-64)

    A adoo da Tecnologia EM64T teve outras implicaes que seguidamente sero explicadas

  • 49

    rv@

    sco

    Principais Caratersticas da Microarquitetura NetBurst de 64 bits - Tecnologia EM64T ou Intel 64

    A Tecnologia EM64T permite enderear

    ador

    es v

    .07.

    2012

    by

    permite enderear mais memria fsica e virtual (alm dos 4GB)

    til para aplicaes que precisam de muita memria (aplicaes 64 bits, p. ex.)

    Aumenta o

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 96

    u e ta odesempenho, poisreduz o swapping

    * Requer suporte do chipset, BIOS, OS, drivers e aplicaes habilitados para tal

    rv@

    sco

    Tecnologia EM64T ou Intel 64 Esta tecnologia foi originalmente desenvolvida pela AMD, tendo a

    Intel clonado-aE t t l i di i t i t d 64 bit (i l i

    ador

    es v

    .07.

    2012

    by Esta tecnologia que adiciona suporte a instrues de 64 bits (inclui novos registos, suporte a endereos de memria de 64 bits, ) foi baptizada pela AMD de X86-64. Posteriormente a AMD renomeou-a para AMD64: AMD no repetiu o erro da Intel que lanou uma plataforma

    completamente nova (Itanium), incompatvel com os softwares atuais AMD decidiu desenvolver um projeto mais simples (AMD64), que

    adicionasse suporte a instrues de 64 bits no Athlon, sem quebrar a

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 97

    adicionasse suporte a instrues de 64 bits no Athlon, sem quebrar a compatibilidade com as aplicaes de 32 bits e sem perda de desempenho

    A Intel adotou esta tecnologia sob a designao inicial de EM64T e posteriormente renomeou-a de Intel 64

  • 50

    rv@

    sco

    Computao de 64 bits Computao de 64 bits ou x86-64:

    Constitui a evoluo da arquitetura x86, pelo que uma extenso de 64 bits relativamente arquitetura x86 de 32 bits

    ador

    es v

    .07.

    2012

    by

    64 bits relativamente arquitetura x86 de 32 bits Quando a Etiqueta 64 bits aplicada ao processador, carateriza

    o fluxo de dados do mesmo Quando a Etiqueta 64 bits aplicada ao cdigo, significa que o

    cdigo opera em dados de 64 bits De um especifico, a referncia processador de 64 bits designa

    o nmero de bits (64) que cada Registo de Uso Geral (General Purpose Register GPR) pode armazenar:

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 98

    u pose eg ste G ) pode a a e a Possui Registos GPRs que armazenam nmeros de 64 bits De igual modo, a referncia Instruo de 64 bits, significa que a

    instruo opera sobre nmeros de 64 bits, que esto armazenados num Registo GPR de 64 bits

    rv@

    sco

    Computao de 64 bits Num processador de 64 bits nem todos

    os dados armazenados na memria, na cache e nos Registos so de 64

    ador

    es v

    .07.

    2012

    by

    na cache e nos Registos so de 64 bits. Assim, os tamanhos dos dados esto misturados, sendo que o maior corresponde a 64 bits

    Nas 2 figuras, a largura do fluxo de cdigo no foi alterada, uma vez que o Opcode (cdigo binrio da instruo) pode representar 1 instruo que opera em nmeros de 32 bits ou de 64

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 99

    pbits

    Na figura de cima o fluxo de dados de entrada e de sada (resultados) esto representados como uma mistura de dados de 32 e 64 bits

  • 51

    rv@

    sco A largura do fluxo de dados duplicou (relativamente aos

    processadores de 32 bits), mas o fluxo de instrues manteve-se:

    Computao de 64 bits

    ador

    es v

    .07.

    2012

    by Para acomodar um maior fluxo de dados, o tamanho dos Registos do processador e o tamanho dos barramentos internos de dados (que alimentam esses Registos) tiveram de duplicar

    O tamanho do Instruction Register (IR), que armazena a instruo que est a ser executada manteve o tamanho

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 100

    rv@

    sco Recordar que o tipo de informao que pode ser manipulada/

    processada pelo processador :E d ( i i l d i i d i i d

    Computao de 64 bits

    ador

    es v

    .07.

    2012

    by Endereos (tipo especial de inteiros que designam posies de memria)

    Dados de inteiros Dados de vrgula flutuante Dados vetoriais

    Cada um dos itens referidos anteriormente possui o seu conjunto especifico de registos e as suas prprias Unidades

    3.P

    roce

    ssa de Execuo:

    Por exemplo, os dados de inteiros e os endereos so armazenados nos Registos de Uso Geral (GPR) e os respetivos clculos so realizados pela Unidade de Execuo ALU

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 101

  • 52

    rv@

    sco A tabela compara os 4 tipos de dados suportados por processadores de 32 bits

    e de 64 bits (no h alterao no H/W de vrgula flutuante e vetorial):

    Computao de 64 bits

    Tipo de Dados Tipo de Unidades de Tamanho x86 Tamanho

    ador

    es v

    .07.

    2012

    by Tipo de Dados Tipo de Registos

    Unidades de Execuo

    Tamanho x86 (bits)

    Tamanho x86-64 (bits)

    Inteiros GPR ALU 32 64

    Endereos GPR ALU ou AGU 32 64

    Vrgula Flutuante FPR FPU 64 64

    3.P

    roce

    ssa

    Com a alterao dos Registos GPR de 32 para 64 bits, a gama de inteiros que o processador pode reconhecer e os clculos aritmticos que pode realizar passaram de 232 = 4.3 x109 para 1.8 x1019

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 102

    Vetores VR VPU 128 128

    rv@

    sco At esta altura o Modelo de Programao x86 de 32 bits (IA-32)

    apresenta as seguintes caratersticas:

    EM64T / Intel 64 / x86-64

    ador

    es v

    .07.

    2012

    by 8 Registos (GPR) de 32 bits 8 Registos x87/MMX de 80 bits 8 Registos SSE/SSE2 (SIMD) de 128 bits PC de 32 bits

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 103

  • 53

    rv@

    sco Registos Estendidos:

    Duplicao do tamanho dos 8 Registos de Uso Geral (General Purpose Register - GPR)

    EM64T / Intel 64 / x86-64 Principais Alteraes

    ador

    es v

    .07.

    2012

    by

    Purpose Register - GPR) Atribuio de novas mnemnicas aos Registos estendidos Aumento do nmero de Registos:

    Permite que o processador possa manter mais dados nos locais acedidos pelas Unidades de Execuo

    Permite reduzir o nmero de Acessos Memria, pela diminuio de Loads e Stores de/para a memria

    de realar que anteriormente (processadores IA-32) j tinham sido

    3.P

    roce

    ssa de realar que anteriormente (processadores IA 32) j tinham sido

    aumentados os Registos que esto escondidos do programador, atravs da tcnica Register Renaming. Por exemplo, no Pentium 4 existem apenas 8 Registos GPR, mas h igualmente 128 Registos Internos da Microarquitetura (escondidos do programador). De uma forma dinmica os 8 Registos visveis so mapeados nos 128 Registos que esto escondidos

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 104

    rv@

    sco Aumento do nmero de Registos:

    16 Registos de 64 bits de Uso Geral (GPR):

    EM64T / Intel 64 / x86-64 Principais Alteraes

    ador

    es v

    .07.

    2012

    by Foram adicionados 8 novos Registos de 64 bits aos 8 GPR j existentes

    Os 8 GPR j existentes foram estendidos para 64 bits Espao de armazenamento 4 vezes superior

    16 Registos SIMD de 128 bits (SSE/SSE2): Foram adicionados 8 novos Registos de 128 bits aos 8

    SSE/SSE2 j existentes

    3.P

    roce

    ssa

    Os 8 GPR j existentes mantiveram o tamanho de 128 bits Program Counter (PC) de 64 bits:

    Aumentou de 32 bits para 64 bits

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 105

  • 54

    rv@

    sco Aumento da Capacidade de Endereamento:

    Capacidade de endereamento de 1 TB de memria

    EM64T / Intel 64 / x86-64 Principais Alteraes

    ador

    es v

    .07.

    2012

    by

    Capac dade de e de ea e to de de e afsica (utilizao de 40 bits de endereos): No so usados 64 bits devido a questes relacionadas com o

    desempenho, porque no h mdulos/placas usem tanta memria

    Passagem de 4 GB (limite terico dos processadores de 32 bits) para 1 TB

    C id d d d t d 256 TB (48 bit ) d

    3.P

    roce

    ssa Capacidade de endereamento de 256 TB (48 bits) de

    memria virtual

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 106

    rv@

    sco Resumo das caratersticas do

    Modelo de Programao x86 de 64 bit ( 86 64) t

    EM64T / Intel 64 / x86-64

    ador

    es v

    .07.

    2012

    by 64 bits (x86-64) apresenta as seguintes caratersticas: 16 Registos (GPR) de 64 bits 8 Registos x87/MMX de 80 bits 16 Registos SSE/SSE2 (SIMD) de

    128 bits PC de 64 bits

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 107

  • 55

    rv@

    sco

    Modos de Operao x86-64 Para haver compatibilidade binria com o cdigo

    x86 existente (32 bits e 64 bits), os processadores

    ador

    es v

    .07.

    2012

    by

    x86 existente (32 bits e 64 bits), os processadores x86-64 podem operar em diversos modos assim agrupados:Modo Longo (Long Mode) ou Modo de 64 bitsModo de Compatibilidade (Legacy Mode)

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 108

    rv@

    sco

    Modos de Operao x86-64 Modo Longo (Long Mode) ou Modo de 64 bits:

    Serve para colocar o CPU a funcionar a 64 bits. Para alm

    ador

    es v

    .07.

    2012

    by

    Serve para colocar o CPU a funcionar a 64 bits. Para alm dos recursos de 64 bits, so oferecidos registos estendidos para 64 bits bem como adio de novos registos

    Requer S.O. de 64 bits e suporta compatibilidade com aplicaes de 32 e 16 bits

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 109

  • 56

    rv@

    sco

    Modos de Operao x86-64Modo de Compatibilidade (Legacy Mode):

    Preserva a compatibilidade com aplicaes e S O de

    ador

    es v

    .07.

    2012

    by

    Preserva a compatibilidade com aplicaes e S.O. de 16 e 32 bits

    Comporta-se como CPU x86 standard, no sendo adicionadas capacidades de x86-64

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 110

    rv@

    sco

    Modos de Operao x86-64 A estratgia ento usada foi a extenso dos

    processadores x86 para trabalharem em 64 bits, com a

    ador

    es v

    .07.

    2012

    by

    p p ,introduo do Modo 64 bits: J tinha sido utilizada uma soluo do mesmo gnero na

    transio de 16 bits (CPUs 8088 e 80286) para 32 bits (CPUs80386 e posteriores)

    Relembrar que os processadores de 32 bits operam em dois modos:

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 111

    em dois modos:Modo real, ficam iguais ao antigo 8088Modo protegido, oferecem recursos de 32 bits, junto com

    gestores de tarefas e de memria

  • 57

    rv@

    sco

    Modos de Operao x86-64

    Modo deoperao

    S.O.Recompilao

    de aplicaes

    Tam. dosendereos

    Tam. dosoperandos

    Extensesde

    Tam. tpico

    regis uso

    ador

    es v

    .07.

    2012

    by

    operao de aplicaes (bits) (bits) registos regis. uso geral

    LongMode

    64 bit Mode

    64 bits

    Sim 6432

    Sim 64

    CompatibilityMode No

    32No

    32

    16 16 16

    Legacy

    ProtectedMode

    32 bits

    32 3232

    16 16

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 112

    LegacyMode No NoVirtual-8086

    Mode16 16 16

    Real Mode 16 bits

    rv@

    sco

    Processadores x86-64 vs. Processadores IA-64

    de realar que os processadores da microarquitetura Netburst no foram os primeiros a suportar o processamento

    ador

    es v

    .07.

    2012

    by de 64 bits. O 1 processador nativo Intel de arquitetura de 64 bits foi o

    Itanium (microarquitetura Merced):Era destinado para:

    O mercado dos servidores Concorrer com os processadores RISC (Reduced

    3.P

    roce

    ssa

    Departamento de Engenharia Informtica - Escola Superior de Tecnologia e Gesto Instituto Politcnico de Leiria 113

    Concorrer com os processadores RISC (ReducedInstruction Set Computer)

    Integrava novas instrues (IA-64): Incompatveis c/ famlia x86 de 32 bits (IA-32), pelo que

    diminui carga necessria para manter retrocompatibilidade

  • 58

    rv@

    sco

    Processadores x86-64 vs. Processadores IA-64 A principal vant