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

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

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

Transcrição

1 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 DCC/UFAM - galvao@dcc.ufam.edu.br 1

2 Implementação de Instruções no Processador Arquitetura tipo Ciclo Único Cada instrução é executada em um 1 ciclo de clock Ciclo de clock deve ser longo o suficiente para executar a instrução mais longa Desvantagem: velocidade global limitada à velocidade da instrução mais lenta T clock T add T srl T div 2

3 Implementação de Instruções no Processador Arquitetura tipo Multi-ciclo Quebra o ciclo de execução em vários passos Executa cada passo em um ciclo de clock Vantagem: cada instrução usa apenas o número de ciclos que ela necessita T clock T add T srl T div 3

4 Implementação de ciclo único :: Tipo R IR op rs rt rd shamt funct Dados de escrita Banco de Registradores RegWrite Dados de leitura

5 Implementação de ciclo único :: Tipo R + Load/Store + Desvios OrigPC PC 4 Read address Add Instruction Memória de instruções $t0 = $t1 Rs Rt Rd M U X Read register 1 Read register 2 RegDst RegWrite Read data 1 Write register Read data 2 Write Banco de dataregistradores 16 Sign 32 extend Shift left 2 OrigALU M U X Add ALU result 4 opalu Zero ALU ALU result M U X MemWrite Address Memória de Write dados data MemRead Read data MemtoReg M U X beq $t0,$t1,label

6 Implementação de ciclo único :: Unidade de controle principal Instruction [25 0] Shift Jump address [31 0] left PC+4 [31 28] 0 M ux 1 M ux 4 Add Instruction [31 26] Control RegDst Jump Branch MemRead MemtoReg ALUOp MemWrite OrigALU RegWrite Shift left 2 Add ALU result 1 0 PC Read address Instruction memory Instruction [31 0] Instruction [25 21] Instruction [20 16] Instruction [15 11] 0 M ux 1 Read register 1 Read register 2 Registers Write register Write data Read data 1 Read data 2 0 M ux 1 Zero ALU ALU result Address Write data Data memory Read data 1 M ux 0 Instruction [15 0] 16 Sign 32 extend ALU control Instruction [5 0]

7 Implementação de ciclo único :: Unidade de controle principal Entrada opcode na unidade de controle Saídas da unidade de controle Opcode 0 h 23 h 2B h 4 h Nome R Lw Sw Beq Bit Bit Bit Bit Bit Bit RegDst 0 1 X X OrigALU MemtoReg 0 1 X X RegWrite MemRead MemWrite Branch ALUop ALUop

8 Implementação de multi-ciclo :: Inclusão de MUX e registradores 0 1 M ux PC 0 M ux Addres s Ins truction [25 21] Read register 1 0 M ux 2 1 Write data Me mory MemDa ta Ins truction [20 16] Ins truction [15 0] Ins truction regis ter Ins truction [15 0] Ins truction [15 11] 0 M u x 1 0 M ux Read register 2 Registers Write register Write data Read data 1 Read data 2 A B M ux 2 3 Zero ALU ALU result ALUOut Me mory data register 1 16 Sign extend 32 Shift le ft 2 8

9 Sistemas Processadores e Periféricos Aula 7 - Via de Dados e Controle II (cap. 5) 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 DCC/UFAM - galvao@dcc.ufam.edu.br 9

10 Dividindo Instruções em Estágios :: Linhas de controle As unidades de estado visíveis ao programador (PC, memória, banco de registradores) e IR precisarão de sinais de controle de escrita Memória precisará de um sinal de leitura 10

11 Dividindo Instruções em Estágios :: Linhas de controle PC 0 M u x 1 Address Write data Memory MemData Instruction [25 21] Instruction [20 16] Instruction [15 0] Instruction register Instruction [15 0] Memory data register PCWriteCond PCWrite IorD MemRead MemWrite MemtoReg IRWrite Instruction [15 11] Outputs Control Op [5 0] 0 M u x 1 0 M u x 1 PCSource ALUOp ALUSrcB OrigALUB OrigALUA ALUSrcA RegDst 16 RegWrite Instruction [25 0] 26 Shift 28 left 2 Instruction [31-26] PC [31-28] Read register 1 Read register 2 Registers Write register Write data Sign extend Read data 1 Read data 2 32 Shift left 2 A B 4 0 M u x M u 2 x 3 ALU control Zero ALU ALU result Jump address [31-0] ALUOut M u x Instruction [5 0] 11

12 Dividindo Instruções em Estágios :: Linhas de controle Sinal de Controle RegDst Efeito quando inativo (zero) O registrador de destino é indicado no campo Rt (bits 20:16) Efeito quando ativo (um) O registrador de destino é indicado no campo Rd (bits 15:11) RegWrite Nenhum O registrador destino é escrito com o valor da entrada Write data OrigALUA Primeiro operando da ALU é o PC MemRead Nenhum MemWrite Nenhum Primeiro operando da ALU vem do registrador A O conteúdo da posição de memória endereçada é colocado nas saídas O conteúdo da posição de memória endereçada é reescrito 12

13 Dividindo Instruções em Estágios :: Linhas de controle Sinal de Controle MemtoReg IouD Efeito quando inativo (zero) O valor a escrever no registrador vem de ALUOut PC é usado para fornecer o endereço para a unidade de memória Efeito quando ativo (um) O valor a escrever no registrador é lido da memória de dados ALUOut é usado para fornecer endereço para unidade de memória IR Write Nenhum Saída da memória é escrita no IR WritePC WritePCCond Nenhum Nenhum PC é escrito; a origem é controlada por OrigPC PC é escrito se a saída Zero da ALU também estiver ativa 13

14 Dividindo Instruções em Estágios :: Linhas de controle Sinal de Controle Valor (binário) Efeito ALUOp 00 ALU realiza adição 01 ALU realiza subtração 10 Campo funct determina operação da ALU 00 Segunda entrada da ALU vem do registrador B 01 Segunda entrada da ALU é a constante 4 OrigALUB Segunda entrada da ALU são os 16 bits menos significativos de IR com sinal estendido Segunda entrada da ALU são os 16 bits menos significativos de IR com sinal estendido, deslocados de 2 bits para a esquerda

15 Dividindo Instruções em Estágios :: Linhas de controle Sinal de Controle Valor (binário) Efeito 00 Saída da ALU (PC + 4) é escrita em PC PCSource 01 ALUOut é escrito em PC (desvios) 10 Endereço de destino do jump, deslocado de 2 bits à esquerda e concatenado com os 4 bits mais significativos de de PC + 4 é escrito em PC 15

16 Estágio 1 Instruction Fetch (IF) Usa o registrador Program Counter (PC) para ler a instrução da memória e armazená-la no Registrador de Instrução (IR) Incrementa PC em 4 e coloca o resultado de volta em PC IR = *PC; // IR = valor que esta // armazenado no endereço // que o PC indica PC = PC + 4; 16

17 Estágio 1: IF IR = *PC PC = PC + 4 I R Instruction I Operation PC PC + 4 MemWrite ADDR Memory WD MemRead RD M DR RN1 RN2 WN Registers WD RegWrite RD1 RD2 A B 4 3 ALU Zero ALU OUT Carga de Instrução 17

18 Estágio 2 Instruction Decode (ID) Lê os campos correspondentes aos registradores rs e rt, independentemente do tipo de instrução Os valores lidos são colocados nos registradores temporários A e B Computa o endereço de desvio, considerando que a instrução possa ser um branch A = Reg[IR[25-21]]; B = Reg[IR[20-16]]; ALUOut = PC + (sign-extend(ir[15-0]) << 2); 18

19 Estágio 2 Instruction Decode (ID) A = Reg[IR[25-21]]; (A = Reg[rs]) B = Reg[IR[20-15]]; (B = Reg[rt]) ALUOut = (PC + sign-extend(ir[15-0]) << 2) PC PC + 4 MemWrite ADDR Memory WD MemRead RD I R M DR Instruction I RN1 RN2 WN Registers WD RegWrite RD1 RD2 Reg[rs] A B Reg[rt] Operation 3 ALU Zero Branch Target Address ALU OUT Decodificação de Instrução e Carga de Registrador 19

20 Estágio 3 Execution (EX) A ALU executará uma das quatro funções abaixo, dependendo do tipo da instrução: Referência à memória (para load/store): ALUOut = A + sign-extend(ir[15-0]); Tipo R ALUOut = A op B; Branch: if (A==B) PC = ALUOut; Jump: PC = PC[31-28] concat (IR(25-0) << 2) 20

21 Estágio 3:EX Instruções de acesso à memória ALUOut = A + sign-extend(ir[15-0]); PC PC + 4 MemWrite ADDR Memory WD MemRead RD I R M D R Instruction I RN1 RN2 WN Registers WD RegWrite RD1 RD2 Reg[rs] A B Reg[rt] Operation 3 ALU Zero Mem. Address ALU OUT 21

22 Estágio 3: EX Instrucões tipo R ALUOut = A op B PC PC + 4 MemWrite ADDR Memory WD MemRead RD I R M DR Instruction I RN1 RN2 WN Registers WD RegWrite RD1 RD2 Reg[rs] A B Reg[rt] Operation 3 ALU Zero R-Type Result ALU OUT 22

23 Estágio 3: EX Branch if (A == B) PC = ALUOut; PC Branch Target Address MemWrite ADDR Memory WD MemRead RD I R M D R Instruction I RN1 RN2 WN Registers WD RegWrite RD1 RD2 Reg[rs] A B Reg[rt] Operation 3 ALU Zero Branch Target Address ALU OUT 23

24 Estágio 3: EX Jump PC = PC[31-28] concat (IR[25-0] << 2) PC Jump Address MemWrite ADDR Memory WD MemRead RD I R M D R Instruction I RN1 RN2 WN Registers WD RegWrite RD1 RD2 Reg[rs] A B Reg[rt] Operation 3 ALU Zero Branch Target Address ALU OUT 24

25 Estágio 4 Acesso à memória (MEM) Instruções de acesso à memória: Load: Dados são lidos na memória e escritos no registrador de dados da memória (MDR) MDR = Memory[ALUOut]; Store: Dados são escritos na memória Memory[ALUOut] = B; Instruções do tipo R: A saída da ALU é escrita no registrador de destino Reg[IR[15-11]] = ALUOut; 25

26 Estágio 4: MEM Leitura de memória (lw) MDR = Memory[ALUOut]; PC PC + 4 MemWrite ADDR Memory WD MemRead RD I R M DR Mem. Data Instruction I WD 5 5 RN1 RN2 WN RD1 Registers RegWrite 5 RD2 Reg[rs] A B Reg[rt] Operation 3 ALU Zero Mem. Address ALU OUT 26

27 Estágio 4: MEM Escrita de memória (sw) Memory[ALUOut] = B; PC PC + 4 MemWrite ADDR Memory WD MemRead RD I R M DR Instruction I RN1 RN2 WN Registers WD RegWrite RD1 RD2 Reg[rs] A B Reg[rt] Operation 3 ALU Zero ALU OUT 27

28 Estágio 4: MEM Instruções de Tipo R Reg[IR[15:11]] = ALUOUT PC PC + 4 MemWrite ADDR Memory WD MemRead RD I R M D R Instruction I RN1 RN2 WN Registers WD RegWrite RD1 RD2 Reg[rs] A B Reg[rt] Operation 3 ALU Zero R-Type Result ALU OUT 28

29 Estágio 5 Write Back (WB) Depende do tipo de instrução Load: Escrita no registrador: Reg[IR[20-16]]= MDR; Estágio final 29

30 Estágio 5: WB Finalização de leitura de memória (lw) Reg[IR[20-16]] = MDR; PC PC + 4 MemWrite ADDR Memory WD MemRead RD I R M DR Mem. Data Instruction I WD 5 5 RN1 RN2 WN RD1 Registers RegWrite 5 RD2 Reg[rs] A B Reg[rt] Operation 3 ALU Zero Mem. Address ALU OUT 30

31 Resumo Multi-ciclo Estágio Ação Tipo R Action Memória Ação Branch Ação Jump Carga de Instrução (IF) IR = Memory[PC] PC = PC + 4 Decodificação Instrução A = Reg [IR[25-21]] Carga de Registrador B = Reg [IR[20-16]] (ID) ALUOut = PC + (sign-extend (IR[15-0]) << 2) Execução (EX) ALUOut = A op B ALUOut = A + sign-extend if (A ==B) then PC = PC [31-28] II Computo de Endereço (IR[15-0]) PC = ALUOut (IR[25-0]<<2) Finalização branch/jump Acesso à memória Reg [IR[15-11]] = Load: MDR = Memory[ALUOut] Finalização tipo R (MEM) ALUOut or Store: Memory [ALUOut] = B Finalização Leitura Mem. (WB) Tipo de instrução Load: Reg[IR[20-16]] = MDR 31

32 Resumo Multi-ciclo Instruções MIPS levam de 3 a 5 etapas de execução As duas primeiras etapas (IF e ID) são comuns a todas instruções As células vazias na tabela indicam que a classe de instruções representada pela coluna leva menos ciclos No hardware multi-ciclo, esses ciclos não ficam ociosos, pois uma instrução é executada logo após a anterior 32

33 Implementando Controle Os valores dos sinais de controle são dependentes de: Quais funções estão sendo executadas Quais estágios estão ocorrendo Baseado nos sinais de controle especificados, duas abordagens podem ser usadas para gerar os sinais de controle: 1) Especificar um máquina de estados finitos graficamente 2) Usar microprogramação 33

34 Máquina de Estados Finitos (FSM) Finite State Machine (FSM) Um conjunto de estados Uma função que computa o próximo estado Determinada pelo estado atual e pela entrada Uma função de saída Determinada pelo estado corrente e possivelmente pela entrada No nosso caso, usaremos uma máquina de Moore A função de saída é usada somente pelo estado corrente 34

35 Máquinas de Estados Finitos (FSM) Estado atual Função para o próximo estado Próximo estado Entradas Clock Função de saída Saídas 35

36 Máquinas de Estados Finitos (FSM) :: Visão Geral Início Busca/decodificação da instrução e busca dos registradores Instruções de acesso à memória Instruções tipo R Instruções de branch Instruções de jump 36

37 Máquinas de Estados Finitos (FSM) :: Visão Geral Fig Start 0 MemRe ad OrigALUA= 0 Io rd = 0 IR Write OrigALUB = 01 ALUOp = 00 PCWrite PCSource = 00 Instruction fetch Instruction decode/ Register fetch 1 OrigALUA = 0 OrigALUB = 11 ALUOp = 00 (Op = 'JMP') Me m ory re fe re nce FS M (Figure 5.33) R-type FSM (Figure 5.34) Branch FSM (Figure 5.35 ) Jump FSM (Figure 5.36 ) Busca de instrução e decodificação são identicos para todas as instruções Sinais gerados são mostrados dentro dos círculos dos estados 37

38 FSM Acesso à Memória Fig From state 1 OrigALUA =1 OrigALUB =10 ALUO p = 00 (Op = 'LW') (O p = 'LW ') o r (O p = 'S W ') Me m o ry a ddre s s c o m puta tio n Me mo ry access 5 Me mory access Me m Re a d Io rd = 1 Mem Write Io rd = 1 4 Write-backstep RegWrite MemtoReg = 1 RegDst = 0 To state 0 (Figure 5.32) 38

39 FSM Instruções Tipo R Fig From state 1 (Op = R-type ) Execution OrigALUA=1 OrigALUB=00 ALUOp = 10 7 RegDst = 1 RegWrite Me mtore g = 0 R-type completion To state 0 (Figure 5.32) 39

40 FSM Instruções Branch Fig From state 1 (Op = 'BEQ') 8 OrigALUA =1 OrigALUB=00 ALUOp = 01 PCWriteCond PCSource = 01 Branch comple tion To state 0 (Figure 5.32) 40

41 FSM Instruções Jump Fig From state 1 (Op = 'J ') 9 Jump comple tion PCWrite PCSource = 10 To state 0 (Figure 5.32) 41

42 FSM Controle Start IF Instruction fetch 0 MemRe ad OrigALUA=0 Io rd = 0 IR Write OrigALUB =01 ALUO p = 00 PCWrite PCSource = 00 ID In s truc tion de cod e / re gis ter fe tch 1 OrigALUA =0 OrigALUB =11 ALUO p = 00 Fig EX 2 Me mory addres s computation OrigALUA =1 OrigALUB =10 ALUOp = 00 6 Execution OrigALUA =1 OrigALUB =00 ALUO p = 10 8 Bra nch completion OrigALUA =1 OrigALUB =00 ALUO p = 01 PCWriteCond PCSource = 01 9 (Op = 'J') Jump completion PCWrite PCSource = 10 MEM 3 (Op = 'LW') Me m R e a d IorD = 1 Me mory access 5 MemWrite Io rd = 1 Me mory access 7 RegDst = 1 RegWrite Me mtore g = 0 R-type comple tion WB 4 RegDst=0 RegWrite MemtoReg = 1 Write-back step 42

43 FSM Implementação PCWrite PCWriteCond IorD MemRead Entradas Estado corrente Bits de Opcode da instrução Control logic Outputs MemWrite IRWrite MemtoReg PCSource ALUOp OrigALUB ALUSrcB OrigALUA ALUSrcA RegWrite RegDst Saídas Próximo estado Sinais a serem gerados para o estado corrente Op5 Op4 Op3 Op2 Op1 Instruction register opcode field Inputs Op0 S3 S2 S1 S0 State register NS3 NS2 NS1 NS0 4 bits de estado p/ gerar 10 estados 43

44 FSM Implementação usando PLA PLA (Programmable Logic Array) Formato básico de uma PLA 44

45 FSM Implementação usando PLA Exemplo da implementação de um função lógica em uma PLA 45

46 FSM Implementação usando PLA OR dos AND AND dos Opcodes e Estado Corrente 46

47 FSM Implementação usando ROM ROM (Read Only Memory) Valores das posições de memória são fixos Vantagem: Ser capaz de implementar qualquer função lógica com o seu número de entradas Uma ROM pode ser usada para implementar uma tabela verdade Com m bits, é possível endereçar 2 m entradas das ROM A saída da ROM são os bits armazenados na entrada endereçada m ROM n 47

48 FSM Implementação usando ROM Quantos entradas? 6 Bits para opcode, 4 bits para estado = 10 linhas de endereço ( i.e = 1024 endereços diferentes) Quantos saídas? 16 saídas de controle de via dos dados 4 bits para o estado 20 saídas Tamanho do ROM é 2 10 x 20 = 20k bits Devastador, porque para muitos entradas as saídas são as mesmas 48

49 FSM Implementação PLA vs. ROM Melhoramento do tamanho de ROM: Os 4 bits do estado geram as 16 bits de saída de controle (= 2 4 x 16 Bits) 10 Bits para definir o novo estado ( = 2 10 x 4 Bits) = 4.3k Bits de ROM PLA é bem menor Pode compartilhar os termos-produto Só precisa de entradas que produzem saídas ativa Tamanho: (10x16) + (20x16) = 480 células de PLA 49

50 Exemplo: CPI em uma CPU multi-ciclo Assuma um mix de instruções com: Instrução % No. de ciclos Load 22 5 Store 11 4 Tipo R 49 4 Branch 16 3 Jump 2 3 Qual CPI (ciclos de clock por instrução), assumindo que cada estágio toma um ciclo de clock? 50

51 Exemplo: CPI em uma CPU multi-ciclo Solução: CPI total N N CPI instr, i i i 1 N Ninstr, i N instr, total N i 1 instr, total CPI i 0,22 5 0,11 4 0,49 4 0,16 3 0,02 3 4,04

52 Pipeline (capítulo 6) Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professores Leandro Galvão (DCC/UFAM galvao@dcc.ufam.edu.br) 52 e o Ricardo de Oliveira Duarte (DELT/UFMG)

53 Exemplo da Lavanderia 4 pessoas (A, B, C, D) possuem sacolas de roupa para lavar, secar e dobrar A B C D Lavar leva 30 minutos Secar leva 40 minutos Dobrar leva 20 minutos 53

54 Exemplo da Lavanderia Meia-noite Tempo T a r e f a s A B C D Lavanderia sequencial leva 6 horas para terminar Se eles conhecessem computação, quanto tempo levaria? 54

55 Exemplo da Lavanderia Meia-noite Tempo T a r e f a s A B C D Lavanderia com pipelining leva 3,5 horas 55

56 Pipeline :: Definição Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal de diversas fases de execução de instruções Em outras palavras, o hardware processa mais de uma instrução de cada vez, sem esperar que uma instrução termine antes de começar a outra 56

57 Pipeline :: Características Pipeline não melhora a latência de uma única tarefa, mas melhora o throughput de todo trabalho Tempo de execução de uma tarefa é o mesmo, com ou sem pipelining Ganho começa a existir apartirda segunda tarefa Taxa de inserção de tarefas é limitada pela tarefa mais lenta Pipeline explora o paralelismo entre as instruções em um fluxo de instruções sequenciais É uma técnica invisível ao programador, ao contrário de técnicas de multiprocessadores 57

58 Ganho de desempenho com Pipelining Supondo: N instruções K estágios de duração T Tempo de execução sem pipelining: N K T N K Tempo de execução com pipelining: K T + (N 1) T N K T 58

59 Ganho de desempenho com Pipelining Ganho de desempenho: NKT 1 KT ( N 1) T 1 N 1 N NK No limite (Número de instruções N ): Ganho K (número de estágios) 59

60 Ganho de desempenho com Pipelining :: Monociclo Multiciclo Pipeline T clock Pipeline Multiciclo Monociclo Tempo de execução (T exec ) 60

61 Ganho de desempenho com Pipelining Contudo: Estágios não são perfeitamente balanceados para durarem a mesma quantidade de tempo T Cada estágio possui um overhead de tempo em decorrência do pipelining Portanto: O tempo de execução de cada estágio no processador com pipeline será maior que no computador sem pipeline O ganho será um pouco menor que o número K de estágios 61

62 Processador RISC de cinco estágios Cinco estágios de execução de cada instrução: IF Busca (fetch) da instrução ID Decodificação da instrução EX Execução ou cálculo do endereço efetivo MEM Acesso à memória ou desvio WB Atualização dos registradores (write back) Cada fase de uma instrução é processada por um estágio, em um ciclo de clock Uma nova instrução é iniciada a cada ciclo Ciclo de clock Instrução i IF ID EX MEM WB i+1 IF ID EX MEM WB i+2 IF ID EX MEM WB i+3 IF ID EX MEM WB i+4 IF ID EX MEM WB 62

63 Processador RISC de cinco estágios Durante um mesmo ciclo de clock, temos de garantir que não ocorram duas operações com os mesmos componentes do caminho de dados: Utiliza se uma memória cache de dados (DM) separada da memória cache de instruções (IM) O banco de registradores é utilizado duas vezes: Estágio ID para leitura, na 2ª. metade do ciclo de clock Estágio WB para escrita, na 1ª. metade do ciclo de clock 63

64 Processador RISC de cinco estágios PC é incrementado e armazenado a cada ciclo, durante a fase IF Como tratar desvios? Registradores são inseridos entre cada estágio do pipeline para: Garantir que operações em diferentes estágios do pipeline não interfiram uma nas outras Carregar resultados intermediários entre estágios não adjacentes Tais registradores recebem nomes especiais, que é a junção dos nomes dos estágios que interfaceiam: IF/ID ID/EX EX/MEM MEM/WB 64

65 Processador RISC de cinco estágios IF/ID ID/EX EX/MEM MEM/WB 65

66 Execução de um load em pipeline (IF) 66

67 Execução de um load em pipeline (ID) 67

68 Execução de um load em pipeline (EX) 68

69 Execução de um load em pipeline (MEM) 69

70 Execução de um load em pipeline (WB) 70

71 Execução de um load em pipeline :: correção O número do registrador a ser escrito somente é utilizado no estágio WB 71

72 O que vocês aprenderam hoje? Controle da arquitetura tipo multi-ciclo Linhas de controle Estágios Máquinas de estados Finitos (FSM) Cálculo do CPI Básicos da arquitetura tipo pipeline 72

73 Questão Defina todos os passos necessários para as instruções seguintes quando eles forem executados em uma arquitetura MIPS multi ciclo: j label3 lw $s3, 12($t0), beq $t2, $t4, $t1, sub $s1, $s2, $s3. j label3 lw $s3, 12($t0) beq $t2, $t4, $t1 sub $s1, $s2, $s3 IF, ID, EX IF, ID, EX, MEM, WB IF, ID, EX IF, ID, EX, MEM 73

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

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

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

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

O Processador: Via de Dados e Controle (Parte C: microprogramação)

O Processador: Via de Dados e Controle (Parte C: microprogramação) O Processador: Via de Dados e Controle (Parte C: microprogramação) Ch5B 1 Possibilidades para o projeto de UCs Initial representation Finite state diagram M icroprogram Sequencing control Explicit next

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

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

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

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

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

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

Prof. Frank Sill Torres DELT Escola de Engenharia UFMG

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

Leia mais

Construção de uma via de dados, abordagem monociclo, multiciclo e pipeline

Construção de uma via de dados, abordagem monociclo, multiciclo e pipeline INSTITUTO FEDERAL DO RIO GRANDE DO NORTE DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES DISCIPLINA: ORGANIZAÇÃO DE COMPUTADORES Construção

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

çã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

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

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

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

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 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

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

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

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

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

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

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

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio

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

Conceitos Básicos Processador

Conceitos Básicos Processador Infra-Estrutura de Hardware Conceitos Básicos Processador Prof. Edilberto Silva www.edilms.eti.br edilms@yahoo.com Sumário Conceitos básicos Organização da CPU Execução das Instruções RISC x CISC Paralelismo

Leia mais

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura Introdução Organização e Arquitetura INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Eduardo Max Amaro Amaral Arquitetura são os atributos visíveis ao programador. Conjunto de instruções, número

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

Projetos Digitais e Microprocessadores 1 o Semestre de 2005 Prof. Luis Allan Künzle Prova Final 05/07/2005 Prova sem consulta.

Projetos Digitais e Microprocessadores 1 o Semestre de 2005 Prof. Luis Allan Künzle Prova Final 05/07/2005 Prova sem consulta. Bacharelado em Ciência da Computação DINF / UFPR Projetos Digitais e Microprocessadores o Semestre de 5 Prof. Luis Allan Künzle Prova Final 5/7/5 Prova sem consulta. [Questão - Peso,5] Conecte o registrador

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

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

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

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

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

Tiago Alves de Oliviera

Tiago Alves de Oliviera Tiago Alves de Oliviera 1 Capítulo 6 do Livro do Mario Monteiro Capítulo 5 (5.1, 5.2, 5. e 5.4) do Livro do Patterson 2 Processador executa instruções CPU (central processing unit) UCP (unidade central

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

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

Treinamento em Projeto de Sistemas Digitais

Treinamento em Projeto de Sistemas Digitais Treinamento em Projeto de Sistemas Digitais Projetando Sistemas Digitais com SystemVerilog Edna Barros Grupo de Engenharia da Computação Centro de Informática -UFPE Treinamento em Projeto de Sistemas Digitais

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

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

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

PSI3441 Arquitetura de Sistemas Embarcados

PSI3441 Arquitetura de Sistemas Embarcados PSI31 Arquitetura de Sistemas Embarcados - Arquitetura do µprocessador Escola Politécnica da Universidade de São Paulo Prof. Gustavo Rehder grehder@lme.usp.br Prof. Sergio Takeo kofuji@usp.br Prof. Antonio

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

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação. Universidade Federal de Campina Grande Unidade cadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e rquitetura de Computadores I Organização e rquitetura Básicas

Leia mais

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES Tecnologia da informação e comunicação UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES CICLO DE INSTRUÇÕES OU DE EXECUÇÃO Arquitetura de computadores 2 CICLO DE EXECUÇÃO No inicio de cada ciclo de instrução,

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

Treinamento em Projeto de Sistemas Digitais

Treinamento em Projeto de Sistemas Digitais Treinamento em Projeto de Sistemas Digitais Projetando Sistemas Digitais com SystemVerilog Edna Barros Grupo de Engenharia da Computação Centro de Informática -UFPE Treinamento em Projeto de Sistemas Digitais

Leia mais

Mapeando o Controle no Hardware

Mapeando o Controle no Hardware C Mapeando o Controle no Hardware Um formato personalizado como este é escravo da arquitetura do hardware e do conjunto de instruções a que ele serve. O formato precisa atingir uma conciliação apropriada

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Linguagem de Montagem Slide 1 CISC RISC MIPS Organização e Arquitetura de Computadores I Sumário Representação de instruções Slide 2 CISC O CISC (Complex Instruction

Leia mais

Arquitetura de Computadores. Prof. João Bosco Jr.

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. (CPU) Modelo do Computador Von Neumann Processador Memórias E/S Barramentos Simulação Contador http://courses.cs.vt.edu/csonline/machinearchitecture/lessons/cpu/countprogram.html

Leia mais

Unidade Central de Processamento

Unidade Central de Processamento Unidade Central de Processamento Prof. Mário Luiz Rodrigues mario.luiz@ifmg.edu.br Prof. Otávio Gomes otavio.gomes@ifmg.edu.br 1 Unidade Central de Processamento Unidade Central de Processamento Unidade

Leia mais

Organização de Sistemas de Computadores

Organização de Sistemas de Computadores Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =

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

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA DE COMPUTADORES ARQUITECTURA DE COMPUTADORES CAPÍTULO IV AULA II Maio 2014 Índice Processadores Revisões Pipelining Pipeline hazards Hazard estrutural Hazard de dados Hazard de controlo Pipelining datapath Pipelined control

Leia mais

Arquitetura de Computadores. Ivan Saraiva Silva

Arquitetura de Computadores. Ivan Saraiva Silva Arquitetura de Computadores MIPS Pipeline Ivan Saraiva Silva Pipeline 4 pessoas (A, B, C, D) possuem sacolas de roupa para lavar, secar e dobrar A B C D Lavar leva 30 minutos Secar leva 40 minutos Dobrar

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal

Leia mais

Introdução à Computação: Arquitetura von Neumann

Introdução à Computação: Arquitetura von Neumann Introdução à Computação: Arquitetura von Neumann Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Arquitectura de Computadores II. Execução de Instruções em Vários Ciclos Máquina

Arquitectura de Computadores II. Execução de Instruções em Vários Ciclos Máquina Arqitectra de Comptadores II LESI - 3º Ano Eecção de Instrções em Vários Ciclos áqina João Lís Ferreira Sobral Departamento do Informática Universidade do inho Janeiro 22 Eecção mlti-ciclo Porqe não é

Leia mais

Subtrator R 3. Figura 1: Circuito de dados do divisor do exercício 1

Subtrator R 3. Figura 1: Circuito de dados do divisor do exercício 1 Bacharelado em Ciência da Computação Projetos Digitais e Microprocessadores Exercícios sobre Datapath DINF / UFPR Prof. Luis Allan Künzle. Considere o circuito abaixo, onde: R, R e R 3 são registradores

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

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F. Prefetch & Pipeline Otimização de Execução em Processadores Modernos Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter

Leia mais

Organização de um processador

Organização de um processador Organização de m processador João Canas Ferreira Arqitectra de Comptadores FEUP/LEIC Contém figras de Compter Organization and Design (cap. 5), D. Patterson & J. Hennessey, 3 a. ed., KP Tópicos Introdção

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

Processador. Processador

Processador. Processador Departamento de Ciência da Computação - UFF Processador Processador Prof. Prof.Marcos MarcosGuerine Guerine mguerine@ic.uff.br mguerine@ic.uff.br 1 Processador Organização básica de um computador: 2 Processador

Leia mais

Implementação da UCP. Construção do caminho de dados Controle Implementação monociclo. Organização de Computadores

Implementação da UCP. Construção do caminho de dados Controle Implementação monociclo. Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo Conceitos Gerais para Implementação do Processador Conceito de caminho de dados e controle Caminho dos bits de instrução

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

Figura 1. Datapath do MIPS Superescalar Especulativo CES SE

Figura 1. Datapath do MIPS Superescalar Especulativo CES SE Especificação do Projeto Simulador MIPS Superescalar Especulativo CES- 25 Arquiteturas para Alto Desempenho Prof. Paulo André Castro Equipe: até quatro alunos 1. Objetivo Exercitar e fixar conhecimentos

Leia mais

Índice. Tudo! (datapath de um ciclo)

Índice. Tudo! (datapath de um ciclo) Índice Sumário Instrução com atraso maior no datapath de um ciclo. Datapath multiciclo: introdução. 4. O Processador: Unidades de Caminho de Dados e de o 4.1 Diagrama de Blocos de um Processador 4.2 Unidade

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

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Microprocessadores CPU. Unidade de Controle. Prof. Henrique Microprocessadores CPU Unidade de Controle Prof. Henrique Roteiro Registradores; Unidade de Controle Níveis de Complexidade Introdução Um sistema microprocessado conta com diversos dispositivos para um

Leia mais

SSC510 Arquitetura de Computadores 1ª AULA

SSC510 Arquitetura de Computadores 1ª AULA SSC510 Arquitetura de Computadores 1ª AULA REVISÃO DE ORGANIZAÇÃO DE COMPUTADORES Arquitetura X Organização Arquitetura - Atributos de um Sistema Computacional como visto pelo programador, isto é a estrutura

Leia mais

Capítulo MC10 Organização Básica de Processadores

Capítulo MC10 Organização Básica de Processadores 1 IC-UNICAMP MC 602 Circuitos Lógicos e Organização Computadores IC/Unicamp Prof Mario Côrtes Capítulo MC10 Organização Básica Processadores Tópicos Níveis abstração Máquina programa armazenado / Von Neumann

Leia mais

William Stallings Computer Organization and Architecture

William Stallings Computer Organization and Architecture William Stallings Computer Organization and Architecture Capítulo 3 Como o Processador Funciona Arquitetura von Neumann Como discutido anteriormente, os projetos dos computadores modernos são baseados

Leia mais

18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados

18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados Capítulo 2: Manipulação de Dados Ciência da Computação: Uma visão abrangente 11a Edition Autor J. Glenn Brookshear Editora Bookman Copyright 2012 Pearson Education, Inc. Capítulo 2: Manipulação de dados

Leia mais