Universidade de Brasília. Pipelining. ção o e Arquitetura de Computadores. Organizaçã

Tamanho: px
Começar a partir da página:

Download "Universidade de Brasília. Pipelining. ção o e Arquitetura de Computadores. Organizaçã"

Transcrição

1 Uiversidade de Brasília Pipeliig Orgaizaçã ção o e Arquitetura de Computadores

2 Objetivo Apresetar a utilização de uma técica para aumeto de desempeho de arquiteturas de processadores: Pipelie : O que facilita o pipelie: Todas istruções têm o mesmo comprimeto. Poucos formatos de istruções. Operados em memória só aparecem em loads e stores.

3 Objetivo Pipelie : O que complica (hazards): Propriedades estruturais: memória úica, p.ex.. Cotrole de flo: istruções de desvio. Depedêcias (de dados): uma istrução depede do resultado de outra aterior.

4 otagem de uma Bicicleta tempo uma pessoa leva 5 uidades de tempo para motar uma bicicleta

5 Liha de otagem (pipelie) tempo/ espaço

6 Liha de otagem (pipelie) tempo/ espaço

7 Liha de otagem (pipelie) A latêcia do pipelie é o tempo que uma bicicleta leva para ser motada Neste exemplo, a latêcia é 5 uidades de tempo A taxa de produção (ou vazão) do pipelie é de uma bicicleta por uidade de tempo O pipelie só começa a produzir essa taxa uma vez que liha esteja cheia Primeira bicicleta produzida em 5 UT Após a primeira, o pipe produz uma bicicleta por UT

8 Balaceameto do Pipelie Supoha que a operação otagem da Roda Trazeira requeira duas uidades de tempo Uma uidade para motar a correia Uma uidade para motar a roda O que ocorre com a latêcia do pipelie? O que ocorre com a vazão? Como otimizar o pipelie este caso?

9 Balaceameto do Pipelie O pipelie ão fucioa se as tarefas ão requerem o mesmo tempo Se uma tarefa leva 2 UT, todas tem que trabalhar este período Latêcia do pipelie seria 10 UT Vazão seria uma bicicleta / 2 UT Dividido a tarefa em duas subtarefas de 1 UT cada, teríamos: Latêcia de 6 UT Vazão de 1 Bici / UT

10 Pipeliig em Hardware Pipeliig é uma técica de projeto ode o hardware processa mais de uma istrução de cada vez sem esperar que uma istrução termie ates de começar a próxima.

11 Pipeliig Numa máquia sem pipelie os quatro estágios básicos de uma istrução compreedem: busca decodificação execução atualização

12 Pipeliig Os mesmos estágios existem uma máquia com pipelie, porém são executados em paralelo: assim que um estágio termia, passa o resultado para o próximo e começa a trabalhar a próxima istrução.

13 Pipeliig Num projeto de pipelie RISC típico, cada istrução toma um ciclo de clock para cada estágio de modo que o processador pode aceitar uma ova istrução a cada ciclo de clock.

14 Pipeliig O pipelie ão alivia o tempo de latêcia das istruções. Cada istrução cotiua ecessitado da mesma quatidade de tempo para ser termiada. O pipelie melhora o throughput global.

15 Exemplo: arquitetura IPS Cotém somete: istruções de referêcia à memória: lw,sw istruções aritméticas/lógicas: add,sub,ad,or,slt istruções de cotrole de flo: beq,j Nome Campos Cometários Tamaho 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Todas istruções têm 32 bits Formato R op rs rt rd shamt fuct Istruções aritméticas Formato I op rs rt address/immed iate Trasferêcia, desvios, imediato Formato J op target address Jump

16 IPS Uiciclo Dados istros istro # PC Edereço Istrução PC emória de istruções istro # istro # ALU Edereços emória de dados Dados

17 Busca de Istruções Add 4 PC Edereço Istrução PC emória de istruções

18 Istruções do Tipo-R 3 Operação da UAL 1 Istrução 2 data1 Zero Write ALU istros WriteData data2 result Write

19 Istruções load e store Istrução 1 2 Write istros WriteData Write data1 data2 Extesão Extesão de de sial 16 sial 32 3 Operação da UAL Zero ALU result Edereços Write Data emwrite emória de dados data em

20 Istruções de desvio PC + 4 Shift Shift left left 2 2 Add edereço de desvio Istrução 1 2 Write data1 3 Operação da UAL Zero brach cotrol logic ALU istros WriteData data2 Write Extesão Extesão de de sial 16 sial 32

21 Jutado as partes Add Add U U X X 4 Shift Shift left 2 left 2 PCSrc PC PC Edereço Istrução emória de istruções 1 2 Write istros WriteData Write data1 data2 U U X X ALUSrc 3 Operação da UAL Zero ALU Edereços Write Data emwrite emória de dados data emto U U X X Extesão Extesão de sial 16 de sial 32 em

22 Icluido cotrole 4 Add em emto Shift left Shift 2 left 2 Add U U X X [31-26] Cotrole Cotrole Brach emwrite ALUSrc PCSrc ALUOp Write PC PC Edereço Istrução emória de istruções [31-0] [25-21] [20-16] [15-11] [15-0] U U X X Dst [5-0] 1 2 Write WriteData data1 istros data2 Extesão de Extesão sial 16 de sial 32 Zero ALU U X U X ALU cotrol ALU cotrol Edereços Write Data emória de dados data U U X X

23 IPS: Projetado para Pipelie Todas istruções de mesmo comprimeto. Busca o primeiro estágio, execução o segudo. No 80x86 istruções de 1 a 17 bytes. Poucos formatos de istruções, com o campo do registro de origem a mesma posição em todas istruções. O segudo estágio pode ler o registro ao mesmo tempo que decodifica a istrução.

24 IPS: Projetado para Pipelie Operados a memória só aparecem as istruções load e store. O estágio de execução pode ser utilizado para calcular um edereço de memória, para ser acessado o próximo estágio. Operados alihados a memória. Facilita trasferêcia de dados que ocupam mais de um edereço.

25 Pipelie a arquitetura IPS As istruções do processador IPS ecessitam cico etapas: 1. Busca istrução a memória 2. Lê registros e decodifica istrução 3. Executa operação ou calcula edereço 4. Acessa operado a memória (de dados) 5. Escreve o resultado um registro Pode ser utilizado um pipelie de cico estágios

26 Tempo de execução das Istruções Classe de istrução Busca de Leitura Operação Acesso a Escrita Tempo istrução registro da ULA dado registro total Load word (lw) 2 s 1 s 2 s 2 s 1 s 8 s Store word (sw) 2 s 1 s 2 s 2 s 7 s R-format (add, sub, ad, or, slt) 2 s 1 s 2 s 1 s 6 s Brach (beq) 2 s 1 s 2 s 5 s Jump (j) 2 s 2 s 24% loads 12% stores 44% tipo R 18% braches 2% jumps Ciclo médio = 8x24% + 7x12% + 6x44% + 5x18% + 2x2% = 6.3 s Desempeho = 8/6.3 = 1.27

27 Execução sem pipelie Tempo s lw $1, 100($0) Busca de istrução UAL Acesso a dados 8 s lw $2, 200($0) Busca de istrução UAL Acesso a dados 8 s lw $3, 300($0). Busca de istrução

28 Execução com pipelie elhora o desempeho com o aumeto do throughput de istruções. Tempo lw $1, 100($0) Busca de istrução UAL Acesso a dados lw $2, 200($0) Busca de istrução UAL Acesso a dados lw $3, 300($0). Busca de istrução 2 s 2 s 2 s UAL Acesso a dados 2 s 2 s 2 s 2 s

29 Cotrole do pipelie Temos 5 estágios. O que deve ser cotrolado em cada estágio? IF: Istructio Fetch e PC Icremet ID: Istructio Decode / ister Fetch EX: Executio E: emory Stage WB: Write Back

30 Idéia básica. Flo de dados IF: Istructio Fetch ID: Istructio decode / register file read 0 EX: Execute / Address Calculatio E: emory Access WB: Write Back 1 Add 4 Shift left 2 Add Add result PC Address Istructio memory Istructio register 1 data 1 register 2 isters data 2 Write register Write data 0 1 Zero ALU ALU result Address Write data Data memory data Sig exted 32

31 Flo de dados e registros pipelie 0 u x 1 IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add result Add PC Address Istructio memory Istructio register 1 data 1 register 2 isters data 2 Write register Write data 0 1 Zero ALU ALU result Address Write data Data memory data Sig exted 32

32 Busca de istrução 0 u x 1 IF/ID ID/EX EX/E E/WB Add 4 Add Add result Shift left 2 PC Address Istructio memory Istructio register 1 data 1 register 2 isters data 2 Write register Write data 0 u x 1 Zero ALU ALU result Address Write data Data memory data 1 u x 0 16 Sig exted 32

33 Decodificação/leitura de registros 0 1 IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add result Add PC Address Istructio memory Istructio register 1 data 1 register 2 isters data 2 Write register Write data 0 1 Zero ALU ALU result Address Write data Data memory data Sig exted 32

34 Execução/cálculo de edereço 0 1 IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add result Add PC Address Istructio memory Istructio register 1 data 1 register 2 isters data 2 Write register Write data 0 1 Zero ALU ALU result Address Write data Data memory data Sig exted 32

35 Acesso à memória 0 1 IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add result Add PC Address Istructio memory Istructio register 1 data 1 register 2 isters data 2 Write register Write data 0 1 Zero ALU ALU result Address Write data Data memory data Sig exted 32

36 Write back 0 1 IF/ID ID/EX EX/E E/WB Add 4 Shift left 2 Add result Add PC Address Istructio memory Istructio register 1 data 1 register 2 isters data 2 Write register Write data 0 1 Zero ALU ALU result Address Write data Data memory data Sig exted 32

37 Cotrole do Pipelie PCSrc 0 u x 1 IF/ID ID/EX EX/E E/WB Add 4 Write Shift left 2 Add Add result Brach PC Address Istructio memory Istructio register 1 data 1 register 2 isters Write data 2 register Write data Istructio [15 0] 16 Sig 32 exted ALUSrc ALU cotrol Zero ALU ALU result Address Write data emwrite Data memory em data emto 1 u x 0 Istructio [20 16] Istructio [15 11] 0 u x 1 ALUOp Dst

38 Cotrole do pipelie Os registradores do pipelie ão ecessitam siais de cotrole, pois são carregados a cada ciclo de clock Como deveria ser feito o cotrole uma fábrica de automóveis? uma cetral imagiária dizedo a cada um o que deve ser feito? deveríamos utilizar uma máquia de estados fiitos?

39 Cotrole do Pipelie Siais de cotrole são trasmitidos da mesma forma que os dados Executio/Address Calculatio stage cotrol lies emory access stage cotrol lies Write-back stage cotrol lies Istructio Dst ALU Op1 ALU Op0 ALU Src Brach em em Write write em to R-format lw sw X X beq X X WB Istructio Cotrol WB EX WB IF/ID ID/EX EX/E E/WB

40 Flo de dados com cotrole P C S rc 0 ID /E X u x 1 C o trol W B E X / E W B E /W B IF /ID E X W B A d d P C 4 A d d r e s s I s tru c tio m e m or y I structio R e ad re g is ter 1 R e ad re g is ter 2 R eg iste rs W rite re gister W rite d a ta R e gw rite R ea d d ata 1 R ea d d ata 2 S h ift le ft 2 0 u x 1 A dd A d d re su lt A L U A L U S r c Z e ro A L U resu lt Bra ch A dd re s s W rite d a ta e mw rit e D a ta m e m o r y R e a d d ata e m to R e g 1 u x 0 I structio [1 5 0 ] S ig exte d 6 A LU co trol e m R e ad I structio [ ] I stru ctio [ ] 0 u x 1 R e g D s t A L U O p

41 Simplificado add $s0, $t0, $t1 I ULA D IF ID EX E WB

42 Execução com pipelie CC1 CC2 CC3 CC4 CC5 CC6 CC7 lw $1, 100($0) I ULA D lw $2, 200($0) I ULA D lw $3, 300($0) I ULA D

43 Desempeho. O que pode dar errado. Um processador com pipelie pode pausar por várias razões, icluido atrasos a leitura da memória, cojuto de istruções mal projetado, depedêcia etre istruções,...

44 Depedêcia de Dados (Hazards). sub $2, $1, $3 ad $12, $2, $5 or $13, $6, $2 add $14, $2, $2 sw $15, 100($2). Depedêcia de dados: Istruções que seguem sub utilizam o registrador $2, cujo valor é produzido pela istrução sub

45 Depedêcia de Dados CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 Valor do registro $ / sub $2, $1, $3 I UL A D ad $12, $2, $5 I UL A D or $13, $6, $2 I UL A D add $14, $2, $2 I UL A D sw $15, 100($2) I UL A D

46 Solução por Software O compilador pode detectar a ocorrêcia de hazard de dados e itroduzir NOPs (o operatio) ou reescaloar as istruções sub $2, $1, $3 op op op ad $12, $2, $5 or $13, $6, $2 add $14, $2, $2 sw $15, 100($2)

47 Escaloameto de Istruções. ld r2, I add r2, r2, #123 st r2, I ld r3, J sub r3, r3, #567 st r3, J.. ld r2, I ld r3, J add r2, r2, #123 sub r3, r3, #567 st r2, I st r3, J. Um rearrajo das istruções o programa, chamado escaloameto de istruções, pode resolver esta pedêcia.

48 Hardware: Cogelar o pipe (stall ou bolha) A uidade de cotrole do processador pode detectar a ocorrêcia de coflitos e cogelar execução de ovas istruções até que o coflito seja resolvido O cogelameto pode ser feito colocado-se em zero os siais de cotrole que acompaham os dados o pipelie Cotrol 0 u x WB EX

49 Itrodução de bolhas As bolhas iterrompem a execução dos estágios Tempo sub $s0, $t1, $t2 I ULA D bolhas add $t2, $s0, $t3 I ULA D

50 Deteção de Coflitos Comparar ídices dos registradores a serem lidos e escritos, armazeados os registradores do pipelie: IF/ID.ister1 # registradores a serem IF/ID.ister2 # lidos ID/EX.Writeister EX/E.Writeister E/WB.Writeister Deve-se comparar igualmete se a istrução escreve em um registrador (Write = 1)

51 Uidade de Deteção de Hazard Hazard Detectio Uit WB Cotrol 0 UX EX WB WB PC Istructio emory isters Data emory U X U X

52 Deteção de Coflitos EX hazard: ID/EX.Write ad ((ID/EX.Dst = 0 ad ID/EX.WriteisterRt=IF/ID.ister1) or (ID/EX.Dst = 1 ad ID/EX.WriteisterRd=IF/ID.ister1) or (ID/EX.Dst = 0 ad ID/EX.WriteisterRt=IF/ID.ister2) or (ID/EX.Dst = 1 ad ID/EX.WriteisterRd=IF/ID.ister2)) E hazard: EX/E.Write ad ((EX/E.Writeister = IF/ID.ister1) or (EX/E.Writeister = IF/ID.ister2))

53 Itrodução de Bolhas As bolhas atrasam a execução das istruções seguites sub $2, $1, $3 I D ad $12, $2, $5 I D or $13, $6, $2 I D add $14, $2, $2 I D sw $15, 100($2) I D

54 Exemplo Cosidere a seguite sequêcia: sub $2, $1, $3 ad $4, $2, $5 or $8, $2, $6 add $9, $4, $2 slt $1, $6, $7 Quatos coflitos existem e quatas bolhas são geradas?

55 Terceiro Ciclo or $8, $2, $6 ad $4, $2, $5 sub $2, $1, $3 Hazard Detectio Uit 0 WB ID/EX.Write Cotrol 0 UX 0 0 EX WB WB PC Istructio emory isters Data emory U X 2 U X

56 Quito Ciclo Hazard Detectio Uit ad $4, $2, $5 bolha bolha sub $2, $1, $3 E/WB.Write 0 WB Cotrol 0 UX 0 0 EX WB WB PC Istructio emory isters Data emory U X U X 2

57 Stall Como toda a arquitetura permaece ociosa durate as pausas, tato os projetistas quato os programadores de sistemas RISC fazem um esforço cosciete para evitá-las

58 Data Hazard: Adiatameto de Dados (Forwardig) Tempo add $s0, $t1, $t1 I ULA D sub $t2, $s0, $t3 I ULA D

59 Adiatameto de Dados. Tempo (em ciclos) Valor do registro $2: CC 1 10 CC 2 10 CC 3 10 CC 4 10 CC 5 10/ 20 CC 6 20 CC 7 20 CC 8 20 CC 9 20 Valor de EX/E: X X X 20 X X X X X Valor de E/WB: X X X X 20 X X X X sub $2, $1, $3 I D ad $12, $2, $5 I D or $13, $6, $2 I D add $14, $2, $2 I D sw $15, 100($2) I D

60 Forwardig: Cotrole ID/EX WB EX/E Cotrol WB E/WB IF/ID EX WB PC Istructio memory Istructio isters ALU Data memory IF/ID.isterRs IF/ID.isterRt IF/ID.isterRt IF/ID.isterRd Rs Rt Rt Rd EX/E.isterRd Forwardig uit E/WB.isterRd

61 Exemplo Cosidere a mesma sequêcia: sub $2, $1, $3 ad $4, $2, $5 or $8, $2, $6 add $9, $4, $2 slt $1, $6, $7 Como fica com adiatameto de dados?

62 Terceiro Ciclo or $8, $2, $6 ad $4, $2, $5 ID/EX sub $2, $1, $3 WB EX/E Cotrol WB E/WB IF/ID EX WB $1 PC Istructio memory Istructio isters $3 ALU Data memory IF/ID.isterRs IF/ID.isterRt IF/ID.isterRt IF/ID.isterRd EX/E.isterRd Forwardig uit E/WB.isterRd

63 Quarto Ciclo add $9, $4, $2 or $8, $2, $6 ID/EX ad $4, $2, $5 sub $2, $1, $3 WB EX/E Cotrol WB E/WB IF/ID EX WB $2 PC Istructio memory Istructio isters $5 ALU $2 Data memory IF/ID.isterRs IF/ID.isterRt IF/ID.isterRt IF/ID.isterRd EX/E.isterRd Forwardig uit E/WB.isterRd

64 Quito Ciclo slt $1, $6, $7 add $9, $4, $2 or $8, $2, $6 ad $4, $2, $5 sub $2, $1, $3 ID/EX WB EX/E Cotrol WB E/WB IF/ID EX WB $2 PC Istructio memory Istructio isters $6 ALU Data memory IF/ID.isterRs IF/ID.isterRt IF/ID.isterRt IF/ID.isterRd EX/E.isterRd 2 Forwardig uit E/WB.isterRd

65 Sexto Ciclo slt $1, $6, $7 add $9, $4, $2 or $8, $2, $6 ad $4, $2, $5 ID/EX WB EX/E Cotrol WB E/WB IF/ID EX WB $4 PC Istructio memory Istructio isters $2 ALU Data memory IF/ID.isterRs IF/ID.isterRt IF/ID.isterRt IF/ID.isterRd EX/E.isterRd 4 Forwardig uit E/WB.isterRd

66 Coflitos o Adiatameto Load word pode causar um atraso: Uma istrução teta ler um registro após um load que escreve o mesmo registro. É preciso uma uidade de detecção de hazard para atrasar a istrução pós load.

67 Coflitos o Adiatameto Tempo (ciclos) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 CC 10 lw $2 20($1) I D ad $4, $2, $5 I D or $8, $2, $6 add $9, $4, $2 I I D bubble I D slt $1, $6, $7 I D

68 Hazard detectio uit Hazard detectio uit ID/EX.em ID/EX IF/IDWrite IF/ID Cotrol 0 WB EX EX/E WB E/WB WB PCWrite PC Istructio memory Istructio isters ALU Data memory IF/ID.isterRs IF/ID.isterRt IF/ID.isterRt IF/ID.isterRd Rt Rd EX/E.isterRd ID/EX.isterRt Rs Rt Forwardig uit E/WB.isterRd

69 Brach hazards Quado é decidido um desvio, outras istruções estão o pipelie. Tempo (em ciclos) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 40 beq $1, $3, $7 I D 44 ad $12, $2, $5 I D 48 or $13, $6, $2 I D 52 add $14, $2, $2 I D 72 lw $4, 50($7) I D

70 Opção: Cogelar Pipe Uma opção é sempre cogelar o pipelie quado se ecotra uma istrução de salto codicioal, esperado o resultado da comparação add $4, $5, $6 Busca de istrução UAL Acesso a dados beq $1, $2, 40 Busca de istrução UAL Acesso a dados lw $3, 300($0). Busca de istrução 2 s 6 s 2 s Problema: piora o desempeho do pipelie UAL Acesso a dados 2 s 2 s 2 s 2 s

71 Previsão de Salto Uma melhor alterativa é fazer uma previsão de salto Caso a previsão esteja correta, ão há perda o pipelie Caso a previsão esteja icorreta, as istrução seguites ao salto devem ser descartadas (descarga do pipelie)

72 Técicas de Previsão de Desvio desvio uca será realizado desvio sempre será realizado desvio depedete do código da operação desvio depedete do histórico da istrução implemetado com o aílio de uma tabela de histórico de desvios armazea edereço da istrução, edereço do desvio e estado

73 Outras Técicas múltiplos flos ambas alterativas são executadas simultaeamete busca atecipada de istruções pré-carga das istruções o ed. de desvio memória de laço de repetição (loop buffer) armazea iteramete as istruções executadas mais recetemete atraso de desvio (delayed brach) permitir a execução de algumas istruções imediatamete após a istrução de desvio implica o reordeameto de istruções

74 Atraso de Desvio q Processador sempre executa istrução seguite q Compilador deve reordear as istruções ou iserir op Tempo beq $1, $2, 40 Busca de istrução UAL Acesso a dados add $4, $5, $6 (Delayed brach slot ) lw $3, 300($0). Busca de istrução Busca de istrução 2 s 2 s 2 s UAL Acesso a dados UAL Acesso a dados 2 s 2 s 2 s 2 s

75 Descarga do Pipelie IF.Flush Hazard detectio uit ID/EX WB EX/E Cotrol 0 WB E/WB IF/ID EX WB 4 Shift left 2 PC Istructio memory isters = ALU Data memory Sig exted Forwardig uit

76 Acelerado máquias com pipelie q A velocidade máxima de uma máquia com pipelie é de uma istrução por ciclo de clock. CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 CC10 CC11 CC12 IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB

77 Acelerado máquias com pipelie q Duas técicas para iiciar múltiplas istruções por ciclo de clock: q arquiteturas superpipelie q arquiteturas superescalares.

78 Acelerado máquias com pipelie: o superpipelie q A arquitetura Superpipelie subdivide cada estágio do pipelie em subestágios e multiplica o clock iteramete. q Cada (sub)estágio cotiua executado uma istrução por clock. as como o clock itero é multiplicado, o pipelie pode aceitar duas ou mais istruções para cada clock extero.

79 Superpipelie CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB

80 Acelerado máquias com pipelie: a superescalar q A arquitetura superescalar cotém múltiplas uidades de execução que são capazes de fazer a mesma coisa. q Isto permite ao processador executar várias istruções similares cocorretemete, pelo roteameto das istruções às uidades de execução dispoíveis.

81 Pipelie superescalar CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB

82 Superpipelie superescalar CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB IF ID EX E WB

83 Execução diâmica: escaloameto. O hardware executa o escaloameto O hardware teta ecotrar istruções para executar É possível a execução de istruções for a de ordem Execução especulativa e predição diâmica de desvios. Todos processadores moderos são bastate complicados Compaq/DEC Alpha 21264: 9 estágios de pipelie, 6 istructio issue PowerPC e Petium: tabela de histórico de desvios O papel do compilador é muito importate. Este curso serve de base para avaçar o assuto. Overview of Itel s Petium Processors:

84 Referêcias Patterso, D. A., Heessy, J. L., (1998) Computer Orgaizatio ad Desig: The Hardware/Software Iterface. orga Kaufma.

85 Leitura recomedada Taebaum, A.S., (1990) Orgaização estruturada de computadores. Cap {4.5.4}

Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1

Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1 Capítulo 6 Hazards 1998 organ Kaufmann Publishers Ch6c 1 Dependências de Dados Problema: iniciar uma instrução antes da anterior ter finalizado dependências que voltam no tempo são hazards de dados qual

Leia mais

Pipelining. Luís Nogueira. Departamento Engenharia Informática Instituto Superior de Engenharia do Porto. Pipelining p.

Pipelining. Luís Nogueira. Departamento Engenharia Informática Instituto Superior de Engenharia do Porto. Pipelining p. Pipelining Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Pipelining p. Análise de performance Desenho ciclo único de relógio é ineficiente

Leia mais

O Porcessador: Via de Dados e Controle (Parte B: multiciclo) 1998 Morgan Kaufmann Publishers Ch5B 1

O Porcessador: Via de Dados e Controle (Parte B: multiciclo) 1998 Morgan Kaufmann Publishers Ch5B 1 O Porcessador: Via de Dados e Controle (Parte B: multiciclo) 998 organ Kaufmann Publishers Ch5B Abordagem ulticiclo Dividir a instrução em passos, cada passo corresponde a um ciclo Balancear a quantidade

Leia mais

Capítulo 6 Pipeline Morgan Kaufmann Publishers

Capítulo 6 Pipeline Morgan Kaufmann Publishers Capítulo 6 Pipeline 998 organ Kaufmann Publishers Pipeline: analogia com linha de produção tempo carro Chassi ec Carroc. Pint. Acab. carro2 Chassi ec Carroc. Pint. Acab. carro3 Chassi ec Carroc. Pint.

Leia mais

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS Datapath do MIPS MIPS Implementação Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS Instruções de leitura (load lw) e de escrita (store sw) Instruções aritméticas e lógicas

Leia mais

Infra-estrutura de Hardware

Infra-estrutura de Hardware CPU: Estrutura e Funcionalidade Roteiro da Aula Ciclo de Instrução Projeto de uma CPU simples: conceitos Componentes básicos Leitura da instrução Operação entre registradores Acesso à memória Implementação

Leia mais

UNIOESTE Universidade Estadual do Oeste do Paraná Departamento de Engenharias e Ciências Exatas Campus de Foz do Iguaçu. Pipeline Conflitos

UNIOESTE Universidade Estadual do Oeste do Paraná Departamento de Engenharias e Ciências Exatas Campus de Foz do Iguaçu. Pipeline Conflitos UNIOESTE Universidade Estadal do Oeste do Paraná Departamento de Engenharias e Ciências Eatas Camps de Foz do Igaç Pipeline Prof.: Fabiana Frata Frlan Peres Foz do Igaç - 2004 1 (definição) Sitação em

Leia mais

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples Infraestrutura de Hardware Implementação Monociclo de um Processador Simples Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço

Leia mais

Pipelining - analogia

Pipelining - analogia PIPELINE Pipelining - analogia Pipelining OBJECTIVO: Aumentar o desempenho pelo aumento do fluxo de instruções Program execution Time order (in instructions) lw $1, 100($0) Instruction fetch ALU Data access

Leia mais

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples Infraestrutura de Hardware Implementação Multiciclo de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e

Leia mais

Arquiteturas de Computadores

Arquiteturas de Computadores Arquiteturas de Computadores Implementação monociclo de IPS Fontes dos slides: Patterson & Hennessy book website (copyright organ Kaufmann) e Dr. Sumanta Guha Implementando IPS Implementação do conjunto

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 8ª Aula Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Estágios para execução da instrução: A instrução LOAD é a mais longa Todas as instruções seguem ao menos os

Leia mais

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas:

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas: CAPÍTULO 5 PIPELINE Introdução Ciclo único versus pipeline Projetando o conjunto de instruções Pipeline Hazards Caminho de dados usando o pipeline Diagramas de Pipeline Controle do Pipeline Hazard de dados

Leia mais

Arquitetura e Organização de Processadores. Aula 4. Pipelines

Arquitetura e Organização de Processadores. Aula 4. Pipelines Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 4 Pipelines 1. Introdução Objetivo: aumento de

Leia mais

O Processador: Via de Dados e Controle

O Processador: Via de Dados e Controle O Processador: Via de Dados e Controle Ch5A Via de Dados e Controle Implementação da arquitetura MIPS Visão simplificada de uma arquitetura monociclo Instruções de memória: lw, sw Instruções lógicas aritméticas:

Leia mais

DataPath II Tomando o controle!

DataPath II Tomando o controle! DataPath II Tomando o controle! Datapath and Control Queremos implementar parte do MIPS lw, sw add, sub, and, or, slt beq e depois o j Instruction Word Formats Register format: add, sub, and, or, slt op-code

Leia mais

Infra-estrutura de Hardware

Infra-estrutura de Hardware CPU: Estrutura e Funcionalidade Roteiro da Aula Ciclo de Instrução Projeto de uma CPU simples: conceitos Componentes básicos Leitura da instrução Operação entre registradores Acesso à memória Implementação

Leia mais

Pipeline. Prof. Leonardo Barreto Campos 1

Pipeline. Prof. Leonardo Barreto Campos 1 Pipeline Prof. Leonardo Barreto Campos 1 Sumário Introdução; Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Caminho de Dados usando Pipeline; Representação Gráfica do Pipeline;

Leia mais

Organização ou MicroArquitectura

Organização ou MicroArquitectura Organização ou MicroArquitectura DataPath MIPS32 AC Micro-Arquitectura: DataPath do MIPS Datapath e Controlpath Datapath circuito percorrido pelas instruções, endereços e ados IP Inst. Mem. Register File

Leia mais

lw, sw add, sub, and, or, slt beq, j

lw, sw add, sub, and, or, slt beq, j Datapath and Control Queremos implementar o MIPS Instruções de referência à memória: lw, sw Instruções aritméticas e lógicas: add, sub, and, or, slt Controle de fluxo: beq, j Cinco passos de execução Busca

Leia mais

Arquiteturas de Computadores

Arquiteturas de Computadores Arquiteturas de Computadores Implementação de IPS multiciclo Fontes dos slides: Patterson & Hennessy book website (copyright organ Kaufmann) e Dr. Sumanta Guha Problemas de projeto monociclo Assumindo

Leia mais

Resumão de Infra-estrutura de Hardware

Resumão de Infra-estrutura de Hardware Resumão de Infra-estrutura de Hardware Referência: Patterson & Hennessy - Organização e Projeto de Computadores Vanessa Gomes de Lima vgl2@cin.ufpe.br 1 MELHORANDO O DESEMPENHO COM PIPELINING Pipelining

Leia mais

15/3/2010. Aula 2. Engenharia de Sistemas Embarcados. Introdução. Prof. Abel Guilhermino Tópico: Projeto de Sistemas Embarcados

15/3/2010. Aula 2. Engenharia de Sistemas Embarcados. Introdução. Prof. Abel Guilhermino Tópico: Projeto de Sistemas Embarcados 5/3/20 Itrodução Aula 2 Egeharia de Sistemas Embarcados Prof. Abel Guilhermio Tópico: Projeto de Sistemas Embarcados Processador Circuito digital que realiza tarefas computacioais ador e camiho de dados

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Cap. 06 Pipeline Prof. M.Sc. Bruno R. Silva Plano de aula Visão geral de pipelining Um caminho de dados usando pipelie Controle de um pipeline Hazards de dados e forwarding

Leia mais

Explorando o paralelismo entre instruções

Explorando o paralelismo entre instruções Explorando o paralelismo entre instruções Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline Pipeline: Uma idéia natural Linhas de montagem

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

SSC0114 Arquitetura de Computadores

SSC0114 Arquitetura de Computadores SSC0114 Arquitetura de Computadores 3ª Aula Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento MIPS Monociclo: Caminho de Dados e Unidade de Controle Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br

Leia mais

ção de Computadores II

ção de Computadores II Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores II Aula 2 2. MIPS monociclo:

Leia mais

Execução concorrente de instruções

Execução concorrente de instruções Eecção concorrente de instrções João Canas Ferreira Arqitectra de Comptadores FEUP/LEIC Contém figras de Compter Organization and Design (cap. 6), D. Patterson & J. Hennessey, 3 a. ed., Elsevier Tópicos

Leia mais

Infraestrutura de Hardware. Implementação Pipeline de um Processador Simples

Infraestrutura de Hardware. Implementação Pipeline de um Processador Simples Infraestrutura de Hardware Implementação Pipeline de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado

Leia mais

Exercícios resolvidos (aula de 4 de Maio) Resolução:

Exercícios resolvidos (aula de 4 de Maio) Resolução: Exercícios resolvidos (aula de 4 de Maio) 1. Um microprocessador gera endereços de memória de 14 bits. Desenhe um mapa de memória dos seus endereços de memória fronteira especificados em hexadecimal. Uma

Leia mais

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 10ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Dependências ou Conflitos (Hazards) Conflitos Estruturais Pode haver acessos simultâneos à memória

Leia mais

3. Considere o seguinte código executado no processador pipeline da figura abaixo.

3. Considere o seguinte código executado no processador pipeline da figura abaixo. UNIVERSIDADE FEDERAL FLUINENSE INSTITUTO DE COPUTAÇÃO DEPARTAENTO DE CIÊNCIA DA COPUTAÇÃO Arqitetras de Comptadores Trma :A Lista 2 Profa.: Simone artins. Indiqe como modificar o código abaio de modo qe

Leia mais

SSC0902 Organização e Arquitetura de Computadores

SSC0902 Organização e Arquitetura de Computadores SSC0902 Organização e Arquitetura de Computadores 13ª Aula Definição de Pipeline e Pipeline da arquitetura MIPS Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquitetura CISC CISC Complex Instruction

Leia mais

Sistemas Processadores e Periféricos Aula 6 - Revisão

Sistemas Processadores e Periféricos Aula 6 - Revisão Sistemas Processadores e Periféricos Aula 6 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 2ª e 3ª Aulas Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Arquitetura MIPS MIPS: Microprocessor

Leia mais

Infraestrutura de Hardware. Instruindo um Computador

Infraestrutura de Hardware. Instruindo um Computador Infraestrutura de Hardware Instruindo um Computador Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço Operando ALU Temp Datapath

Leia mais

Sistemas Digitais Palavra de Controle (Control Word)

Sistemas Digitais Palavra de Controle (Control Word) Sistemas Digitais Palavra de Cotrole (Cotrol Word) Referêcia Bibliográfica: Logic ad Computer Desig Fudametals Mao & Kime Adaptações: josé artur quilici-gozalez Sumário Datapaths e Cotrol Word Itrodução

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo

Leia mais

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2) Arquitetura de Computadores I Prof. Ricardo Santos ricr.santos@gmail.com (Cap 2) Instruções Comandos utilizados para indicar ao hardware o que deve ser feito Utilizaremos neste curso o conjunto de instruções

Leia mais

Infraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW

Infraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW Infraestrutura de Hardware Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem

Leia mais

Organização de Unidades de Processamento

Organização de Unidades de Processamento Organização de Unidades de Processamento João Canas Ferreira Março de 2004 Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. 5) c JCF, 2004 ASPD (FEUP/LEEC)

Leia mais

Microprocessadores. Execução em Paralelo Pipelines

Microprocessadores. Execução em Paralelo Pipelines Execução em Paralelo Pipelines António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Pipelines de Instrucções Instrucções são divididas em diferentes Estágios Pipelines

Leia mais

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Arquiteturas de Computadores Turma :A1 Lista 1 Profa.: Simone Martins 1. Tentando projetar o futuro: a) Em

Leia mais

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é 1. A pastilha do processador Intel 80486 possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é organizado com mapeamento associativo por conjuntos de quatro

Leia mais

Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva

Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM Arquitetura de Computadores II Pipeline Introdução Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal

Leia mais

SSC0510 Arquitetura de Computadores

SSC0510 Arquitetura de Computadores SSC0510 Arquitetura de Computadores 9ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Dependências ou Conflitos (Hazards) Conflitos Estruturais Pode haver acessos simultâneos à memória

Leia mais

Arquiteturas de Computadores

Arquiteturas de Computadores Arqitetras de Comptadores Pipeline Fontes dos slides: Patterson & Hennessy book website (copyright organ Kafmann) e Dr. Smanta Gha Conflito de controle O problema com desvios no pipeline é qe a decisão

Leia mais

Arquiteturas de Computadores

Arquiteturas de Computadores rquiteturas de Computadores Implementação de IPS multiciclo (cont.) Fontes dos slides: Patterson & Hennessy book website (copyright organ Kaufmann) e r. Sumanta Guha Caminho de dados com controle I Ior

Leia mais

Organização de Computadores

Organização de Computadores Organização do Processador - Parte A Capítulo 5 Patterson & Hennessy Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás Conteúdo Caminho de dados Caminho de controle Implementação

Leia mais

Introdução I. Organização e Arquitetura de Computadores. Sequência 15 Parte Operativa do MIPS - I. Introdução II.

Introdução I. Organização e Arquitetura de Computadores. Sequência 15 Parte Operativa do MIPS - I. Introdução II. Organização e Arqitetra de Comptadores Seqência 15 Parte Operativa do IPS - I Introdção I O desempenho de ma máqina pode ser determinado por três fatores: Número de instrções eectadas. Período do clock

Leia mais

Arquiteturas de Computadores

Arquiteturas de Computadores Arquiteturas de Computadores Implementação de MIPS multiciclo (cont.) Fontes dos slides: Patterson & Hennessy book website (copyright Morgan Kaufmann) e Dr. Sumanta Guha CPI em uma CPU multiciclo Assuma

Leia mais

Sistemas Processadores e Periféricos Aula 2 - Revisão

Sistemas Processadores e Periféricos Aula 2 - Revisão Sistemas Processadores e Periféricos Aula 2 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados

Leia mais

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

Aula 21: UCP: Instrução Jump, Monociclo vs. Multiciclo, Pipeline

Aula 21: UCP: Instrução Jump, Monociclo vs. Multiciclo, Pipeline Aula 21: UCP: Instrução Jump, Monociclo vs Multiciclo, Pipeline Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Jump, Multiciclo, Pipeline

Leia mais

Datapath do MIPS. MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS

Datapath do MIPS. MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS path do IPS IPS Implementação Vamos examinar uma implementação que inclui um subconjunto de instruções do IPS Instruções de leitura (load lw) e de escrita (store sw) Instruções aritméticas e lógicas add,

Leia mais

AULA DE REVISÃO 3 ILP

AULA DE REVISÃO 3 ILP AULA DE REVISÃO 3 ILP Exercício 1: Considere um bloco de código com 15 instruções cada uma com tempo de execução Tex. Elas são executadas numa unidade pipeline de 5 estágios. Os overheads do pipeline são

Leia mais

Unidade Central de Processamento UCP (CPU)

Unidade Central de Processamento UCP (CPU) Unidade Central de Processamento UCP (CPU)! Arquitetura Convencional (Von Neumann) UCP BARRAMENTO MEMÓRIA PRINCIPAL ENTRADA E SAÍDA ! Visão geral da CPU UC - UNIDADE DE CONTROLE REGISTRADORES A B C D ALU

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

Leia mais

SSC0112 Organização de Computadores Digitais I

SSC0112 Organização de Computadores Digitais I SSC0112 Organização de Computadores Digitais I 16ª Aula Arquitetura MIPS: Unidade de Controle (Multiciclo) Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 MIPS Multiciclo com jump 2 MIPS Multiciclo:

Leia mais

Organização de Computadores μarquitetura. Na Aula Anterior... Introdução. Nesta Aula. MIPS-Monociclo. Formas de Organização 17/10/2016

Organização de Computadores μarquitetura. Na Aula Anterior... Introdução. Nesta Aula. MIPS-Monociclo. Formas de Organização 17/10/2016 GBC06 Arq. e Org. de Computadores I 17/10/2016 Organização de Computadores μarquitetura Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior...

Leia mais

Visão Geral de Pipelining

Visão Geral de Pipelining Pipeline Visão Geral de Pipelining Instruções MIPS têm mesmo tamanho Mais fácil buscar instruções no primeiro estágio e decodificar no segundo estágio IA-32 Instruções variam de 1 byte a 17 bytes Instruções

Leia mais

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE Introdução Uma implementação MIPS básica Sinopse da implementação Sinais de controle Multiplexadores (muxes) Implementação monociclo Metodologia de clocking Construindo

Leia mais

Caminho dos Dados e Atrasos

Caminho dos Dados e Atrasos Caminho dos Dados e Atrasos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline MIPS O MIPS utiliza um pipeline com profundidade 5, porém

Leia mais

Capítulo 4. O Processador

Capítulo 4. O Processador Capítulo 4 O Processador Introdução Fatores de desempenho da CPU Contagem de instrução Determinado pelo ISA e compilador CPI e tempo de ciclo Determinado pelo hardware da CPU Nós examinaremos duas implementações

Leia mais

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações

PIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações Arquitetura de Computadores Introdução ao Pipeline PIPELINE Linha de Montagem A produção é dividida em várias etapas Produtos em etapas distintas podem ser desenvolvidos separadamente Pode ser Aplicado

Leia mais

Infra-estrutura de Hardware

Infra-estrutura de Hardware Infra-estrtra de Hardware CPU: Estrtra e Fncionalidade Implementação lti-ciclo Infra-estrtra de Hardware Roteiro da Ala Projeto de ma CPU simples Unidade de Processamento Via de Dados Compartilhamento

Leia mais

Sistemas Processadores e Periféricos Aula 5 - Revisão

Sistemas Processadores e Periféricos Aula 5 - Revisão Sistemas Processadores e Periféricos Aula 5 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão

Leia mais

Arquitetura e Organização de Processadores. Aula 3. Processador MIPS Bloco operacional

Arquitetura e Organização de Processadores. Aula 3. Processador MIPS Bloco operacional niversidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação rquitetura e Organização de Processadores ula 3 Processador IPS loco operacional CP237 1. loco

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 04: ASPECTO BÁSICO DO PROJETO DE UMA CPU SIMPLES E LINGUAGEM DE MONTAGEM Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia

Leia mais

ção de Computadores II

ção de Computadores II niversidade Federal de Pelotas Instituto de Física e atemática Departamento de Informática Bacharelado em Ciência da Computação Arquitetura e Organizaçã ção de Computadores II Aula 2. IPS pipeline: conflitos

Leia mais

Resumo das aulas anteriores

Resumo das aulas anteriores Resumo p. 1 Resumo das aulas anteriores Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Resumo p. 2 Instruction Set Architecture Hardware

Leia mais

Controle em Processador Segmentado

Controle em Processador Segmentado Revisão segmentação Todos os processado modernos usam segmentação segmentação não reduz a latência de uma instrução mas ajuda na vazão/produção do programa inteiro várias tarefas em execução simultânea

Leia mais

Data Path / Control Path Controle do MIPS

Data Path / Control Path Controle do MIPS Organização e Arquitetura de Computadores Unidade de Controle Uniciclo A unidade de controle deve, a partir do código da instrução, fornecer os sinais que realizam as instruções na unidade operativa. Sequência

Leia mais

Arquitetura de Computadores. Prof. Alexandro Baldassin. 1o semestre/2018

Arquitetura de Computadores. Prof. Alexandro Baldassin. 1o semestre/2018 Arquitetura de Computadores Prof. Alexandro Baldassin 1o semestre/2018 Personagem da Semana Von Neumann medal, 1993 For significant developments in computer architecture, insighmul observaoons on sopware

Leia mais

Microcontroladores e Interfaces

Microcontroladores e Interfaces Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Aula A3 15 Mar 05 - M Datapath e a sua Unidade de Controlo

Leia mais

Unidade 4* - Aulas 1/2: Pipelines, Hazards e Forwarding

Unidade 4* - Aulas 1/2: Pipelines, Hazards e Forwarding Pontifícia Universidade Católica do Rio Grande do Sul Instituto de Informática Organização de Computadores - GAPH Unidade 4* - Aulas 1/2: Pipelines, Hazards e Forwarding Profs. Fernando Gehm Moraes e Ney

Leia mais

Sistemas de Computação. Instruções de Linguagem de Máquina

Sistemas de Computação. Instruções de Linguagem de Máquina Instruções de Linguagem de Máquina Linguagem de montagem do processador MIPS Operações aritméticas Instrução Exemplo Significado soma add a, b, c a = b + c subtração sub a, b, c a = b - c Compilação de

Leia mais

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aulas 06 e 07 Superescalaridade 1. Introdução princípios

Leia mais

Predição de Desvios e Processadores Superescalares Especulativos

Predição de Desvios e Processadores Superescalares Especulativos Predição de Desvios e Processadores Superescalares Especulativos Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Tomasulo Especulativo Se os

Leia mais

Pipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap.

Pipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. Pipelines João Canas Ferreira Mar-Abr 2004 Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. 6) c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 1/52 Conceitos básicos

Leia mais

shift register demux prefetch control inc ldpc + 1 MAR Pipelining

shift register demux prefetch control inc ldpc + 1 MAR Pipelining Unidade de prefetch (com uma só AM) MB_oe32 shift register 32 MB_oe8_s AM data 32 addr rd 0 1 P7 P6 demux 32 32 P5 shctrl 2 inc P4 load P3 prefetch control ldpc PC + 1 P2 2 P1 P0 8 read8 read32 MB_oe8_u

Leia mais

Desenho do Processador

Desenho do Processador Desenho do Processador Lís Nogeira lis@dei.isep.ipp.pt Departamento Engenharia Informática Institto Sperior de Engenharia do Porto Desenho do processador p. Introdção Definindo o seginte sbconjnto da ISA

Leia mais

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture

Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture Registradores na Arquitetura MIPS 29/4/2016 MIPS - Instruction Set Architecture 1 Mapa de Memória da Arq. MIPS 2 GB 2 GB 256 MB 64 KB 2 GB 64 KB 256 4 MB 4 MB 29/4/2016 MIPS - Instruction Set Architecture

Leia mais

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas Material a ser utilizado: Kits de desenvolvimento de sistemas microprocessados para aplicações em DSP Texas DSK-TMS320C67xx. Apresentação

Leia mais

PROCESSADORES SUPERESCALARES FELIPE G. TORRES

PROCESSADORES SUPERESCALARES FELIPE G. TORRES PROCESSADORES SUPERESCALARES FELIPE G. TORRES PROCESSAMENTO DAS INSTRUÇÕES Como podemos melhorar esse processamento? Arquitetura de computadores 2 PROCESSAMENTO DAS INSTRUÇÕES Como uma abordagem simplificada,

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) rquitectura de omputadores (om) MEer cetatos das ulas Teóricas Versão 4. - Português ula N o 11: Título: umário: Processameto de um Processador processameto de um processador (baco de registos, Uidade

Leia mais

Faculdade de Computação Arquitetura e Organização de Computadores 2 Prof. Cláudio C. Rodrigues

Faculdade de Computação Arquitetura e Organização de Computadores 2 Prof. Cláudio C. Rodrigues Faculdade de Computação Arquitetura e Organização de Computadores 2 Prof. Cláudio C. Rodrigues Exercícios de Revisão: P1) Um processador elaborado segundo o princípio multi-ciclo, executa a uma frequência

Leia mais

Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho

Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho Parte 7 Pipeline: Conceitos básicos, implementação e ganho de desempenho 1 Melhorando o Desempenho com Pipelining Baseado nas anotações do Livro do Hennessey & Patterson e no material do Prof. José Luís

Leia mais

Previsão de Desvios Branch Prediction

Previsão de Desvios Branch Prediction Previsão de Desvios Branch Prediction Organização de Computadores 2 Prof. Cláudio C. Rodrigues 1 Branch Prediction 1. Introdução 2. Custo de Desvios 3. Técnicas p/ redução do custo de desvio 4. Técnicas

Leia mais

Organização de computadores. Aula 05

Organização de computadores. Aula 05 Organização de computadores Aula 05 2 Níveis de um computador Computadores possuem uma série de níveis Cada um construído sobre seus antecessores Cada um representa uma abstração distinta com diferentes

Leia mais

Projeto de Processadores Programáveis

Projeto de Processadores Programáveis Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Projeto de Processadores Programáveis DCA0119 Sistemas Digitais Heitor Medeiros Florencio Sumário Processadores

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

Leia mais

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve:

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve: Pipeline Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.Osório] Estrutura da CPU Em cada ciclo,

Leia mais

CPU Implementação. Multiciclo. Prof. Carlos Bazilio

CPU Implementação. Multiciclo. Prof. Carlos Bazilio CPU Implementação Multiciclo Prof. Carlos Bazilio bazilio@ic.uff.br Até então, tínhamos t... Problemas com Implementação Monociclo Ciclo de clock tem o mesmo tamanho para todas as instruções implementadas;

Leia mais