paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’ibmpc. o...

51
Primeiro processador da linha x86 foi o Intel 8086 (16 bits), 1979 (8086/8087) Paralelamente ao 8086, foi lançado o 8088, usado no IBM PC. O 80386 foi o primeiro microprocessador Intel a usar palavras com tamanho de 32 bits, introduzido em 1985. 275,000 transistors MulKtarefa (MulKtasking)

Upload: others

Post on 07-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

Primeiro  processador  da  linha  x86  foi  o  Intel  8086  (16  bits),  1979  (8086/8087)

Paralelamente  ao  8086,  foi  lançado  o  8088,  usado  no  IBM  PC.

O  80386  foi  o  primeiro  microprocessador  Intel  a  usar  palavras  com  tamanho  de  32  bits,  introduzido  em  1985.  

275,000  transistors

MulK-­‐tarefa  (MulKtasking)

Page 2: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

O  80486  foi  o  quinto  modelo  na  família.  O  80486  Knha  uma  unidade  de  ponto  flutuante  integrada  pela  primeira  vez  na  história  do  x86.

Os  chips  PenKum  IV  introduziram  as  noções  de  "Hyper  Threading"  e  chips  "MulK-­‐Core"  (Núcleo  MúlKplo).

Page 3: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

Chips  Celeron  são  a  linha  econômica  de  chips

Xeon:  processadores  Intel  com  cache  muito  maior  (medido  em  megabytes,  em  comparação  com  o  cache  de  kilobytes  de  outros  chips)  e  suportam  mais  de  1  processador.

Page 4: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

A arquitetura IA-32 é também chamada de i386.

Especial importância à compatibilidade com arquiteturas anteriores (backwards compatibility).

32 bits = Acesso a até quatro gigabytes de memória física.

Presença de extensões como SSE, SSE2, SSE3, MMX, 3DNow

AX -> EAX (Extended)

Little endian: Endereço da palavra aponta para o byte menos significativo.

Está organizada em segmentos.

Introdução do Modo Protegido

Paginação e Memória Virtual

Arquitetura Superescalar (Pentium)

“CISC com núcleo RISC”

Page 5: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

IA-32 little-endian x PowerPC é bi-endian

IA-32 8 registradores de uso geral x PowerPC 604 (RISC) 32 registradores x SPARC 128 (normalmente)

IA-32 CISC x MIPS RISC

Page 6: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada
Page 7: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada
Page 8: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

1985 1989 1993 1995 2000

Page 9: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

1985 1989 1993 1995 2000

x386

Primeiro  processador  de  32  bitsTotalmente  compa`vel  com  os  anKgos  programasGanhou  mais  registradores  de  segmento:  FS  e  GS  (16  bits)

IP  tornou  EIP  e  possui  32  bitsRecursos  avançados  de  gerenciamento  de  memória    (Endereça  4GB)

Novo  modo  de  operação  MODO  VIRTUALPipeline  de  6  estágios

Page 10: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada
Page 11: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada
Page 12: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

1985 1989 1993 1995 2000

x386

Primeiro  processador  de  32  bitsTotalmente  compa`vel  com  os  anKgos  programasGanhou  mais  registradores  de  segmento:  FS  e  GS  (16  bits)

IP  tornou  EIP  e  possui  32  bitsRecursos  avançados  de  gerenciamento  de  memória    (Endereça  4GB)

Novo  modo  de  operação  MODO  VIRTUALPipeline  de  6  estágios

Page 13: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada
Page 14: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

1985 1989 1993 1995 2000

x386

Similar  ao  386,  vem  acrescido  de  um  coprocessador  matemáKco  80387  e  mais  8Kb  de  cache  L1  integrada

Aumentou  nº  de  estágios  do  pipeline  (  8  estágios  )

Fila  de  instruções  foi  dobrada

x486

Page 15: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada
Page 16: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

As  unidades  de  decodificação  e  execução  foram  cada  uma  

desmembradaem  2  estágios  pipeline

Page 17: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

1985 1989 1993 1995 2000

x386 x486 PenFum

Arquitetura  de  superescalar  (U-­‐pipeline  e  

V-­‐pipeline  )Barramento  de  dados  de  64  bitsCache  L1  dividiaFPU  reprojetada  e  mais  rápidaIntrodução  da  instrução  CPUID

Page 18: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada
Page 19: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

Como  tratar  problemas  de  dependência  ,  saltos  e  falta  de  

recursos?

Page 20: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada
Page 21: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

Técnica Disponibilidade

Previsão  de  Desvio

Execução  fora  de  ordem  (  Execução  EspeculaKva  )

Análise  dinâmica  do  fluxo  de  dados

Dependência  de  resultados  ainda  trava  o  pipeline

Page 22: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

1985 1989 1993 1995 2000

x386 x486 PenFum

Engloba  PenKum  Pro,  PenKum  II,  PenKum  III,  CeleronConceito  de  pool  de  instruçõesAdoção  do  conceito  RISC  para  o  núcleo  do  processador  (Micro-­‐Ops)

Dynamic  ExecuFon  (  Previsão  de  Desvio,  Análise  Dinâmica  de  Fluxo  de  Dados,  Execução  EspeculaFva  )

10  estágios  de  pipeline

P6

Page 23: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada
Page 24: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

Técnica Disponibilidade

Previsão  de  Desvio

Execução  fora  de  ordem  (  Execução  EspeculaKva  )

Análise  dinâmica  do  fluxo  de  dados

Se  ocorrer  de  o  processar  executar  uma  instrução  desnecessária  não  há  problema,  pois  a  unidade  de  reFrada  faz  atualização  tardia

Page 25: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

1985 1989 1993 1995 2000

x386 x486 PenFum

Cache  L1  já  possui  instruções  RISC  decodificadas  e  a  L2  possui  as  instruções  CISC  a  serem  decodificadas

Hyper-­‐Threading

Aumento  do  Pool  de  InstruçõesHyper-­‐Pipelined    (  20  estágios  )

P6 PenFum  4

Page 26: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

UA

Unidade  de  Execução

Sem Hyper-Threading

UA

Unidade  de  Execução

Hyper-Threading

UA

Cada  processador  lógico  recebe  seu  próprio  controlador  de  interrupção  programável  (APIC)  e  conjunto  de  registradores.

O  sistema  operacional  pode  enviar  tarefas  para  os  processadores  lógicos  como  se  esKvesse  enviando  para  processadores  osicos  em  um  sistema  de  mulKprocessamento.

Page 27: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada
Page 28: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

1985 1989 1993 1995 2000

x386 x486 PenFum

Cache  L1  já  possui  instruções  RISC  decodificadas  e  a  L2  possui  as  instruções  CISC  a  serem  decodificadas

Hyper-­‐Threading

Aumento  do  Pool  de  InstruçõesHyper-­‐Pipelined    (  20  estágios  )

P6 PenFum  4

Page 29: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

The  Intel  Architecture  Sopware  Developer's  Manual,  Volume  1:  Basic  Architecture

The  Intel  Architecture  Sopware  Developer's  Manual,  Volume  2:  InstrucKon  Set  Reference  

The  Intel  Architecture  Sopware  Developer's  Manual,  Volume  3:  System  Programing  Guide  

Page 30: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

InstrucFon  Set  Reference

AAA—ASCII  Adjust  Aper  AddiKonAAD—ASCII  Adjust  AX  Before  DivisionAAM—ASCII  Adjust  AX  Aper  MulKply  AAS—ASCII  Adjust  AL  Aper  SubtracKon

ADC—Add  with  CarryADD—Add  

ADDPS—Packed  Single-­‐FP  AddADDSS—Scalar  Single-­‐FP  Add

AND—Logical  ANDANDNPS—Bit-­‐wise  Logical  And  Not  For  Single-­‐FP

ANDPS—Bit-­‐wise  Logical  And  For  Single  FP  ARPL—Adjust  RPL  Field  of  Segment  SelectorBOUND—Check  Array  Index  Against  Bounds

BSF—Bit  Scan  ForwardBSR—Bit  Scan  ReverseBSWAP—Byte  Swap

BT—Bit  TestBTC—Bit  Test  and  Complement

BTR—Bit  Test  and  ResetBTS—Bit  Test  and  Set

Page 31: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

InstrucFon  Format

Page 32: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada
Page 33: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada
Page 34: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

Opcode  InstrucFon  DescripFon    (  Example  –  ADD  )

04  ib                            ADD  AL,imm8  Add  imm8  to  AL05  iw                          ADD  AX,imm16  Add  imm16  to  AX05  id                            ADD  EAX,imm32  Add  imm32  to  EAX80  /0  ib                  ADD  r/m8,imm8  Add  imm8  to  r/m881  /0  iw                ADD  r/m16,imm16  Add  imm16  to  r/m1681  /0  id                  ADD  r/m32,imm32  Add  imm32  to  r/m3283  /0  ib                ADD  r/m16,imm8  Add  sign-­‐extended  imm8  to  r/m1683  /0  ib                ADD  r/m32,imm8  Add  sign-­‐extended  imm8  to  r/m3200  /r                          ADD  r/m8,r8  Add  r8  to  r/m801  /r                          ADD  r/m16,r16  Add  r16  to  r/m1601  /r                          ADD  r/m32,r32  Add  r32  to  r/m3202  /r                          ADD  r8,r/m8  Add  r/m8  to  r803  /r                          ADD  r16,r/m16  Add  r/m16  to  r1603  /r                          ADD  r32,r/m32  Add  r/m32  to  r32

Page 35: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

rel8—A  relaKve  address  in  the  range  from  128  bytes  before  the  end  of  the  instrucKon  to127  bytes  aper  the  end  of  the  instrucKon.

rel16  and  rel32—A  relaKve  address  within  the  same  code  segment  as  the  instrucKonassembled.  The  rel16  symbol  applies  to  instrucKons  with  an  operand-­‐size  auribute  of  16bits;  the  rel32  symbol  applies  to  instrucKons  with  an  operand-­‐size  auribute  of  32  bits.

r8—One  of  the  byte  general-­‐purpose  registers  AL,  CL,  DL,  BL,  AH,  CH,  DH,  or  BH.

r16—One  of  the  word  general-­‐purpose  registers  AX,  CX,  DX,  BX,  SP,  BP,  SI,  or  DI.

r32—One  of  the  doubleword  general-­‐purpose  registers  EAX,  ECX,  EDX,  EBX,  ESP,  EBP,ESI,  or  EDI.

Page 36: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

imm8—An  immediate  byte  value.  The  imm8  symbol  is  a  signed  number  between  –128and  +127  inclusive.  For  instrucKons  in  which  imm8  is  combined  with  a  word  ordoubleword  operand,  the  immediate  value  is  sign-­‐extended  to  form  a  word  or  doubleword.The  upper  byte  of  the  word  is  filled  with  the  topmost  bit  of  the  immediate  value.

imm16—An  immediate  word  value  used  for  instrucKons  whose  operand-­‐size  auribute  is16  bits.  This  is  a  number  between  –32,768  and  +32,767  inclusive.

Page 37: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

/digit  —  A  digit  between  0  and  7  indicates  that  the  ModR/M  byte  of  the  instrucKon  usesonly  the  r/m  (register  or  memory)  operand.  The  reg  field  contains  the  digit  that  provides  anextension  to  the  instrucKon's  opcode.

/r  —  Indicates  that  the  ModR/M  byte  of  the  instrucKon  contains  both  a  register  operand  and  an  r/m  operand.

cb,  cw,  cd,  cp  —  A  1-­‐byte  (cb),  2-­‐byte  (cw),  4-­‐byte  (cd),  or  6-­‐byte  (cp)  value  following  theopcode  that  is  used  to  specify  a  code  offset  and  possibly  a  new  value  for  the  code  segmentregister.

ib,  iw,  id  —  A    1-­‐byte  (ib),  2-­‐byte  (iw),  or  4-­‐byte  (id)  immediate  operand  to  the  instrucKonthat  follows  the  opcode,  ModR/M  bytes  or  scale-­‐indexing  bytes.  The  opcode  determines  ifthe  operand  is  a  signed  value.  All  words  and  doublewords  are  given  with  the  low-­‐orderbyte  first.

Page 38: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

+rb,  +rw,  +rd  —  A  register  code,  from  0  through  7,  added  to  the  hexadecimal  byte  given  atthe  lep  of  the  plus  sign  to  form  a  single  opcode  byte.  The  register  codes  are  given  in  Table3-­‐1.

+I  —  A  number  used  in  floaKng-­‐point  instrucKons  when  one  of  the  operands  is  ST(i)  fromthe  FPU  register  stack.  The  number  i  (which  can  range  from  0  to  7)  is  added  to  thehexadecimal  byte  given  at  the  lep  of  the  plus  sign  to  form  a  single  opcode  byte.

Page 39: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

Novas  instruções

Todas  as  instruções  que  operavam  com  8  e  16  bits,  agora  operam  também  com  32  bits.    (  Uma  soma  de  32  bits  era  feita  em  duas  etapas  )

Criados  novos  modos  de  endereçamento  mais  poderosos.  

Expressões  como  [EDX*8+EAX],  permiKndo  endereçãmento  mais  rápido  de  matrizes

Novas  instruções  de  32  bits  podem  ser  usadas  quando  o  processador  opera  no  modo  real.      (exceto  as  de  endereçamento)  

Page 40: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

Modo  Real

Processador  funciona  exatamente  como  um  8086

Não  estão  disponíveis  os  recursos  avançados  de  endereçamento  e  gerenciamento  de  memória,  nem  de  mulKtarefa.  

Estão  entretanto  disponíveis  as  novas  instruções  que  manipulam  dados  e  32  bits  e  novos  modos  de  endereçamento  de  memória

Page 41: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

Modo  Protegido

Quando  o  computador  é  ligado,  o  processador  está  operando  em  modo  real.  Quem  dá  o  comando  para  que  ele  mude  para  o  modo  protegido  é  o  sistema  operacional.  

No  caso  do  Windows,  este  comando  é  dado  durante  o  carregamento  do  sistema.

O  modo  protegido  traz  basicamente  quatro  novos  recursos:  memória  virtual,  mulFtarefa,  proteção  de  memória  e  o  modo  virtual  8086.

Page 42: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

Modo  Protegido

MulFtarefa:  MulKtarefa  significa  executar  mais  de  uma  tarefa  de  cada  vez

Modo  virtual  8086:    Operando  em  modo  protegido,  é  capaz  de  simular  vários  ambientes  de  modo  real,  cada  um  com  1  MB  de  memória  e  total  acesso  ao  hardware  do  micro,  chamados  de  máquinas  virtuais.

Memória  virtual:    Uma  área  do  disco  rígido  na  qual  é  simulada  uma  grande  quanKdade  de  RAM.

Page 43: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

Modo  Protegido

Paginação  

Cada  endereço  osico  gerado  a  parKr  do  segmento  e  offset  (chamado  de  endereço  linear)  é  usado  como  índice  para  uma  tabela  de  páginas.  

TranslaFon  Lookaside  Buffer  (TLB)  

Uma  pequena  cache  interna  dedicada  a  armazenar  as  informações  sobre  páginas  recentemente  acessadas.  

Page 44: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

                                                                               Hierarquia  de  Memória  -­‐  80386

Introdução  da  Memória  Cache

Passaram  a  ser  usadas  pequenas  quanKdades  de  memória  cache  na  grande  maioria  das  placas  mãe  para  micros  386  e  superiores.

De  20  a  30%  mais  rápido  que  um  386  da  mesma  frequência,  mas  sem  memória  cache.  

Um  processador  moderno  pode  ficar  até  20  vezes  mais  lento  caso  sejam  desabilitados  tanto  o  cache  L1  quanto  o  cache  L2.

Page 45: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

                                                                               Hierarquia  de  Memória  -­‐  80486

Primeiro  processador  a  trazer  Cache  integrado.  

Cache  L1  de  8KB,  mas  que  eram  capazes  de  entregar  dados  a  cada  ciclo  do  processador.  

 DisKnção  de  cache  L1  e  L2

Como  os  fabricantes  conKnuaram  incluindo  cache  na  placa  mãe,  um  pouco  mais  lentos,  mas  em  maior  quanKdade,  surgiu  também  a  disKnção  entre  o  cache  L1  e  o  L2.

Page 46: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

                                                                               Hierarquia  de  Memória  -­‐  Pen?um

Divisao  e  Duplicação  da  cache  L1

Cache  L1,  que  passou  a  ser  de  16  KB,  o  dobro  do  486.

Dividia  em  dois  blocos  de  8  KB,  cache  de  dados  e  instruções.

Ambas  são  2-­‐way  set-­‐associaKvas.

Adoção  de  um  cache  Write  Back

 

Page 47: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

                                                                 Hierarquia  de  Memória  -­‐  Pen?um  Pro

Duplicação  da  cache  de  nível  1  (L1)

16  KB  de  cache  nivel  1  (L1),  separada  em  8KB  para  cache  de  dados  e  8KB  para  cache  de  instruções.  

4-­‐way  associaKve,  com  blocos  de  32  bytes,  e  mecanismo  de  escrita  write-­‐back.

Cache  de  nível  2  (L2)  

Mesmo  invólucro  do  processador  ,  porém  um  chip  separadoCache  de  256KB  (nas  versoes  mais  simples),  Cache  de  512  KB  e  1  MB  nas  outras  versões  (mais  caros).    A  grande  vantagem  disso  é  a  redução  no  tempo  de  acesso  à  cache  secundária.

Page 48: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

                                                                 Hierarquia  de  Memória    -­‐    Pen?um  II

Duplicação  da  Cache  de  nível  1  (L1)

32  KB  de  cache  nivel  1  (L1),  separada  em  16KB  para  cache  de  dados  e  16KB  para  cache  de  instruções.  

Integração  da  Cache  de  nível  2  (L2)

Cache  L2  integrado  de  512  KB.

                                                                             

Page 49: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

                                                                 Hierarquia  de  Memória    -­‐    Pen?um  III

Versões  com  512  KB  de  cache  half-­‐speed  (à  metade  da  freqüência  do  processador,  como  no  PenKum  II)

Versões  com  256  KB  de  cache  full-­‐speed  (na  mesma  freqüência  do  processador,  como  no  PenKum  Pro)

Entre  outros...

                                                                             

Page 50: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

                                                                 Hierarquia  de  Memória    -­‐    Pen?um  III

PenKum  III  Coppermine  com  seus  256  KB  de  cache  L2  integrado,  que  são  representados  pelos  16  retângulos  na  parte  inferior  do  processador.

                                                                             

Page 51: Paralelamente’ao’8086,’foi’lançado’o’8088,’usado’no’IBMPC. O ...lucas/arq2010/Arquitetura_de_Comput... · 2010-06-22 · A arquitetura IA-32 é também chamada

                                                                 Hierarquia  de  Memória    -­‐    Pen?um  IV

Cache  de  nível  1  (L1)

Cache  de  dados  -­‐  Apenas  8  KB  de  cacheTempo  de  latência  menor,  ou  seja,  mais  rápido  que  o  cache  L1  encontrado  no  PenKum  III

ExecuKve  Trace  Cache  (Cache  de  Instruções)  -­‐  Ao  invés  de  armazenar  instruções,  armazena  diretamente  uOPs  (cada  instrução  simples),  que  são  as  instruções  já  decodificadas,  prontas  para  serem  processadas.