5. O Processador Datapath e Unidade de Controle

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

Download "5. O Processador Datapath e Unidade de Controle"

Transcrição

1 5. O Processador Datapath e Unidade de Controle Datapath Componente do processador qe realiza operações aritméticas Controle Componente do processador qe comanda o path, memória e dispositivos de E/S de acodo com as instrções de m programa Independente da classe da instrção, as das primeiras etapas para sa eecção são as mesmas: Enviar o PC para a memória e bscar ao instrção Ler m o dois registradores (sando o campo da instrção, para selecionar os registradores a serem lidos) Os passos segintes dependem da classe da instrção (referência à memória, lógica-aritmética e desvios) estes passos são bastantes semelhantes e independem do opcode Por eemplo, todas as instrções, independente da classe tilizam a ULA após a leitra de m registrador. Para ma instrção de referência à memória, tiliza para cálclo do endereço, lógica-aritmética para eecção e desvios para comparação Após a tilização da ULA, os passos são diferentes para as diferentes classes. ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 2

2 Figra 5. - Implementação do IPS visão em alto nível Data Register # PC Address Registers Register # Register # Address Data Data Revisão/Convenções adotadas Sinal lógico alto asserted Sinal qe pode ser logicamente alto - assert Elementos combinacionais Eemplo: ULA Elementos de estado Eemplo: Registradores e emória Sinal de Clock sado para determinar qando se pode escrever em m elemento de estado. A leitra pode ser a qalqer momento etodologia de sincronização sincroniza o elemento de estado para a permissão de leitra e de escrita Porqe é necessário? ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 3

3 Figra 5.2 Lógica combinacional, elemento de estados e clock( sensível à sbida). State element Combinational logic State element 2 Clock cycle Figra 5.3 A metodologia edge-triggered permite a m elemento de estado ler e escrever no mesmo período de clock. State element Combinational logic ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 4

4 Datapath OBS.: Primeiro implementaremos m Datapath tilizando apenas m clock com ciclo grande. Cada instrção começa a ser eectada em ma transição e acaba na próima transição do clock na prática isto não é factível, pois temos instrções de diferentes classes e portanto de diferentes números de ciclos de clock Para constrir m Datapath: Um lgar para armazenar as instrções do programa emória de instrções Um lgar para armazenar o endereço da instrção a ser lida na memóia Program Conter - PC Somador para incrementar o PC para qe ele aponte para a próima instrção Figra 5.4 Elementos necessários a armazenar e acessar informações mais m somador para calclar o endereço do próimo estado. address PC Add Sm a. b. Program conter c. Adder ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 5

5 Figra 5.5 Parte do path para fetch e incremento de PC Add 4 PC address Instrções R-type Instrções aritméticas e lógicas add, sb, slt Estrtra de registradores (32) chamada de file qe é m conjnto de registradores qe podem ser acessados (lidos o escritos) especificando se número. Nele se encontra o registrador de estado da máqina Instrções de formato R tem 3 operandos registradores (add $t,$t2,$t3) necessidade de ler 2 dados do file e escrever m dado nele, para cada instrção Para ler m dado do file é preciso de ma entrada (número do do registrador) e ma saída (o dado lido) Para escrever m dado no file, são necessárias das entradas: o número do registrador e o dado a ser escrito Para escrever sinal de controle (Reg) A ULA é controlada por m sinal de controle ( control) ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 6

6 Figra 5.6 Elementos necessários para a implementação de operações da ULA, de instrções do tipo-r. Register nmbers Data Registers 2 Data control Zero reslt Reg a. Registers b. Figra 5.7 O path para instrções do tipo R 2 Registers 2 Reg 3 operation Zero reslt ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 7

7 Instrções LOAD e STORE lw $t,offset_vale($t2) e sw $t,offset_vale,($t2) Endereço de memória = vale_offset + $t2 Vale_offset offset sinalizado de 6 bits É preciso de m file e ma ULA Unidade qe transforme valor de 6 bits sinalizado em m valor de 32 bits Unidade de memória de dados com controle de leitra (em) e escrita (em) Figra 5.8 Unidades para implementação de lw e sw em Address Data 6 Sign 32 etend em a. Data nit b. Sign-etension nit ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 8

8 Figra 5.9 Datapath para instrções lw e sw. 2 Registers Reg 2 3 operation Zero reslt Address em Data 6 Sign 32 etend em Instrção beq beq $t,$t2,offset 2 registradores qe são comparados e m offset de 6 bits sado para calclar o endereço relativo, alvo do branch A base para o cálclo do endereço alvo de branch é o endereço da próima instrção em relação à instrção branch O campo offset é deslocado de 2 bits para amentar o alcance do desvio (mltiplicado por 4) Além do cálclo do endereço do branch, deve-se determinar qal endereço será escolhido, o do branch (taken) o o armazenado em PC (not taken) dependendo do resltado da comparação OBS.: Instrção jmp os 28 bits menos significativos de PC são sbstitídos pelos 26 bits do imediato, deslocado de 2 bits ( X 4 ). ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 9

9 Figra 5. Datapath para branchs PC + 4 from instrction path Shift left 2 Add Sm Branch target 2 Registers Reg 2 6 Sign 32 etend 3 operation Zero To branch control logic Datapath geral - Instrções de memória + instrções R-type (instrções da ULA) 2 Registers 2 Reg Src 3 operation Zero reslt Address em emtoreg Data 6 Sign 32 etend em ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 2

10 Figra Fetch da instrção + eecção de instrções de memória e da ULA 4 Add PC address 2 Reg Registers 2 Src 3 operation Zero reslt Address em Data emtoreg 6 Sign 32 etend em Controle da ULA Sinal de Controle da ULA Fnção AND OR ADD SUB SLT ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 2

11 Datapath para as classes de instrções do IPS PCSrc Add PC 4 address 2 Reg Registers 2 6 Sign 32 etend Shift left 2 Src Add reslt 3 operation Zero reslt Address em em Data emtoreg Tabelas figras 5.4 e 5.5 ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 22

12 Projeto da Unidade de Controle Principal Figra 5.6 Classes de instrções - tipo-r, load&store e branch) O campo opcode bits 3-26 Os dois registradores a serem lidos rs e rt bits 25-2 e 2-6 O registrador base (load e store) bits 5- O valor a ser gardado no PC qe pode vir do cálclo de m endereço de salto o simplesmente do PC + 4. O registrador destino (a ser escrito), qe deverá ser selecionado dentre 2 opções, o qe reqer m mltipleador: para m load bits 2-6 (rt) para instrções R-type bits 5- (rd) O valor gardado no banco de registradores qe pode vir da (R-type) o da memória (sw) ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 23

13 Figra Datapath com os mltipleadores necessários PCSrc Add 4 Reg Shift left 2 Add reslt PC address [3 ] [25 2] [2 6] [5 ] RegDst [5 ] 2 2 Registers 6 Sign 32 etend Src control Zero reslt em Address Data em emtoreg [5 ] Op Sinais de controle Tabela da figra 5.8 ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 24

14 Figra Datapath com a Unidade de Controle 4 Add [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 Add reslt PCSrc PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 Sign 32 etend control [5 ] Sinais de controle Tabela da figra 5.2 ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 25

15 Operação do Datapath instrção R-type add $t,$t2,$t3 fetch da instrção leitra de $t2 e $t3 operação da ULA com os dados lidos resltado da ULA escrito em $t Figra 5.2 Fetch e incremento de PC instrção R-TYPE 4 Add [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 Add reslt PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 Sign 32 etend control [5 ] ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 26

16 Figra 5.22 Leitra dos registradores e decodificação instrção R-TYPE 4 Add [3 26] RegDst Branch em emtoreg Control Op em Src Reg Shift left 2 Add reslt PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Z ero reslt Address Data [5 ] 6 Sign 32 etend control [5 ] Figra 5.23 operação da ULA instrção R-TYPE 4 Add [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 Add reslt PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 Sign 32 etend control [5 ] ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 27

17 Figra 5.24 Escrita no registrador instrção R-TYPE 4 Add [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 Add reslt PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 32 Sign etend control [5 ] ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 28

18 Instrção load word lw $t, offset($t2) Fetch $t2 é lido ULA calcla a soma do valor lido e o imediato de 6 bits O resltado é sado como endereço da memória de dados O dado da memória de dados é escrito no file Figra 5.25 Operação de m lw com m esqema simples de controle. 4 Add [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 Add reslt PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 Sign 32 etend control [5 ] ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 29

19 Instrção de branch beq $t,$t2,offset Fetch da instrção $t e $t2 são lidos ULA faz sbtração dos valores lidos. PC+4 é adicionado ao imediato de 6 bits, deslocado de 2 bits resltado é o endereço do desvio A saída Zero é sada para decidir qal endereço será armazenado em PC Figra 5.26 Datapath para a instrção beq 4 Add [3 26] Control RegDst Branch em emtoreg Op em Src Reg Shift left 2 Add reslt PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 Sign 32 etend control [5 ] ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 3

20 Tabela da figra 5.27 Tabela verdade para as fnções de controle. ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 3

21 Instrção de jmp 2 endereço PC é formado pelos 4 bits mais significativos + 26 bits do imediato + (deslocamento de 2) Figra 5.29 Datapath para instrção de jmp [25 ] Shift Jmp address [3 ] 26 left 2 28 PC+4 [3 28] 4 Add [3 26] Control RegDst Jmp Branch em emtoreg Op em Src Reg Shift left 2 Add reslt PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 Sign 32 etend control [5 ] ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 32

22 Implementação em m ciclo de clock não sada Fnciona corretamente mas não é eficiente Para single-cycle o ciclo do clock deve ter o mesmo comprimento para todas as instrções CPI = para isto, o ciclo de clock é determinado pelo maior caminho no path da máqina ( instrção de load qe sa 5 nidades fncionais em série: instrction, file, ULA, e file) Eemplo. Sejam os segintes tempos de operação: nidade de memória : 2 ns ULA e somadores: 2ns file (read o write) : ns nidade de controle, mltipleadores, acesso ao PC, circito para etensão do sinal e linhas não tem atraso, qais das segintes implementações seria mais rápida e qanto?. Uma implementação na qal cada instrção opera em m ciclo de clock de tamanho fio 2. Uma implementação onde cada instrção é eectada sando clock de tamanho de ciclo variável (eatamente do tamanho necessário para a eecção da respectiva instrção também não tilizado na prática) ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 33

23 Para comparar a performance, assma qe o seginte conjnto de instrções : 24% de loads, 2% de store, 44% instrções tipo R, 8% de branches e 2% de jmps. Solção: tempo de eecção CPU = número de instrções X CPI X período do clock CPI = tempo de eecção CPU = número de instrções X período do clock Temos qe encontrar o período do clock para as das implementações, pois o número de instrções e a CPI são igais para ambas implementações. O caminho crítico para cada classe de instrção é: Classe da Instrção R-TYPE LW SW BRANCH JUP Unidades fncionais envolvidas Inst. fetch Reg. access Reg. access Inst. fetch Reg. access em access Reg access Inst. fetch Reg. access em access Inst. fetch Reg. access Inst. fetch Usando o caminho crítico, podemos comptar o comprimento do ciclo de clock necessário para cada classe de instrção: Classe da emória Leitr emória Escrita Total Instrção Instrs. a Regs. oper. Dados Regs. R-TYPE ns LW ns SW ns BRANCH ns JUP 2 2 ns ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 34

24 O período do clock para a máqina com m único clock é determinado pela maior instrção 8ns A máqina com clock variável, terá ses períodos de clock variando entre 2ns e 8ns. O clcock médio será: Tempo de clock da CPU = 8 X 24% + 7 X 2% + 6 X 44% + 5 X 8 % + 2 X 2% = 6.3ns CPU perfomance vc / CPU perfomance sc = = tempo de eecção CPU sc / tempo de eecção CPU vc = = IC X período de clock da CPU sc / IC X período de clock da CPU vc = = período de clock da CPU sc / período de clock da CPU vc = = 8 / 6.3 =.27 Eemplo FP nit 8ns para add e 6ns para ml todos os loads tem o mesmo tempo e são 33% das instrções todos os stores tem mesmo tempo e são 2% das instrções instrções tipo R são 27 % das instrções Branches são 5 % e jmps 2% das instrções FP add e sb tem o mesmo tempo e jntos tem 7% das instrções FP ml e div tem o mesmo tempo e &5 das instrções ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 35

25 Solção CPU perfomance vc / CPU perfomance sc = = tempo de eecção CPU sc / tempo de eecção CPU vc Para a máqina de único clock período do clock = ciclo da instrção FP ml (mais longa) = 2ns Para a máqina de clock variável: período do clock CPU = 8 X 3% + 7 X 2% + 6 X 27% + 5 X 5% = 7. ns Portanto: CPU perfomance vc / CPU perfomance sc = = tempo de eecção CPU sc / tempo de eecção CPU vc = 2/7 = 2.9 ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 36

26 Implementação lticiclos a eecção de cada instrção é dividida em etapas, onde cada etapa corresponde a ma operação de ma nidade fncional implementação mlticiclos cada etapa é eectada em m ciclo, isto permite qe ma nidade fncional possa ser sada por mais de ma instrção compartilhamento pode diminir a qantidade de HW necessária Figra 5.3 Datapath mlticiclos PC Address emory Data or emory Data Register # Registers Register # Register # A B Ot ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 37

27 Diferenças com a versão single-cycle Uma só memória sada para dados e instrções Uma ULA em vez de ma ULA e dois somadores Redção de área redção de cstos algns registradores a mais para manter a saída de ma nidade fncional para otra nidade fncional, em m ciclo de clock posterior: Register IR armazenar ma instrção lida da memória (a instrção deve ser mantida até o fim de sa eecção) emory Data Register DR armazenar dados lidos da memória registrador A e registrador B sados para manter os operandos lidos do file registrador Ot para manter a saída da ULA Inclsão de mltipleadores Figra 5.3 Datapth mlticiclos para as instrções básicas PC Address emory emdata [25 2] [2 6] [5 ] [5 ] emory [5 ] 6 2 Registers Sign etend 2 32 Shift left 2 A B Zero reslt Ot ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 38

28 Figra Datapath para implementação mlticiclos com sinais de controle IorD em em IR RegDst Reg SrcA PC Address emory emdata [25 2] [2 6] [5 ] [5 ] emory [5 ] 6 2 Registers Sign etend 2 32 Shift left 2 A B control Zero reslt Ot [5 ] emtoreg SrcB Op Figra Datapath para implementação mlticiclos com sinais de controle completo inclindo atalização do PC PC Address emory emdata [3-26] [25 2] [2 6] [5 ] [5 ] emory PCCond PCSorce PC IorD em Otpts Op SrcB em emtoreg Control SrcA Reg IR Op [5 ] RegDst [25 ] [5 ] 6 2 Registers Sign etend 2 32 Shift left 2 A B S hift left 2 control PC [3-28] Zero reslt Jm p address [3-] Ot 2 [5 ] ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 39

29 Figra 5.34 tabela com Sinais de Controle ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 4

30 Divisão da eecção de ma instrção em ciclos de clock e respectivos sinais de controle. fetch O incremento do PC e leitra da da instrção em paralelo: IR = emory[pc]; PC = PC + 4; Sinais ativados em (), Irwrite (), IorD ( PC como endereço), SrcA ( PC para ULA), SrcB ( 4 para a ULA), Op ( add) e PC ( o novo valor de PC não é visível até o próimo ciclo de clock). 2. decode e fetch Como temos reglaridade no formato das instrções, podemos, sem saber a natreza da instrção, fazer: ler dois registradores do file, mesmo qe eles não sejam tilizados e armazená-los nos registradores A e B; comptar os endereços de branch e gardá-los e Ot, mesmo qe a instrção não venha a ser m branch. A = Reg[IR[25-2]]; B = Reg[IR[2-6]]; Ot = PC + (sign-etend (IR[5-] << 2) Sinais ativados: SrcA ( PC vai para a ULA), SrcB (- sign etended e shifted enviado a UAL) e Op ( add). ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 4

31 3. Eection, address comptation o branch completion Primeira etapa determinada pelo tipo de instrção. Para cada classe temos: Referência à memória: Ot = A + sign-etend (IR[5-]); Sinais ativados: SrcA ( - A para ULA), SrcB ( saida da nidade sign-etension para a ULA) e Op ( - add). Instrções Aritméticas-lógicas ( R-type) Ot = A op B; Sinais ativados: SrcA ( - A para ULA), SrcB ( B para a ULA) e Op ( o campo fnct é sado para determinar os sianis de controle da ULA). Branch if ( A == B ) PC = Ot; Sinais ativados: SrcA ( - A para ULA), SrcB ( B para a ULA) e Op ( sb para teste de igaldade), PCCond ( se Zero=) e PCSorce ( PC recebe dado vindo de Ot). ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 42

32 Jmp PC = PC[3-28] (IR[25-]<<2) Sinais ativados: PCSorce(- jmp address para PC) e PC (). 4. emory access or R-type instrction completion Nesta etapa, ma instrção de load o store acessa a memória o ma instrção R-type escreve se resltado. Referência à memória DR = emory [Ot]; - load o emory [Ot] = B; - store Sinais ativados: em ( - para load) o em ( - para store), IorD ( para load, para qe o endereço de memória venha da ULA). instrções R-type Reg[IR[5-]] = Ot; Sinais ativados: RegDst ( campo rd (5-) sado como entrada do file para escrita), Reg () e emto Reg ( para saida da ULA ser escrita). ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 43

33 5. emory read completion Load Reg[IR[2-6]] = DR; Sinais ativados: emtoreg ( para escrver o resltado da memória), Reg ( - escrita no file) e RegDst ( para escolher rt (2-6) como número do registrador). Figra Resmo das etapas de eecção para as diversas classes ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 44

34 Projeto da Unidade de Controle áqinas de estados finitos conjnto de estados e como estes estados podem mdar ( esta mdança próimo estado). Controle de estados finitos corresponde às cinco etapas de eecção de ma instrção, onde cada etapa é eectada em m ciclo de clock. Unidade de Controle implementada como máqina de estados finitos: Figra 5.36 Unidade de Controle áqinas de Estados Finitos Start fetch/decode and fetch (Figre 5.37) emory access instrctions (Figre 5.38) R-type instrctions (Figre 5.39) Branch instrction (Figre 5.4) Jmp instrction (Figre 5.4) ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 45

35 Figra 5.37 Diagrama de estados - fetch e instrction decode/ fetch Start (Op = 'LW') or (Op = 'SW') fetch em SrcA = IorD = IR SrcB = Op = PC PCSorce = (Op = R-type) (Op = 'BEQ') decode/ Register fetch SrcA = SrcB = Op = (Op = 'JP') emory reference FS (Figre 5.38) R-type FS (Figre 5.39) Branch FS (Figre 5.4) Jmp FS (Figre 5.4) ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 46

36 Figra 5.38 Diagrama de estados - emory reference instrctions From state (Op = 'LW') or (Op = 'SW') 2 emory address comptation SrcA = SrcB = Op = 3 (Op = 'LW') emory access (Op = 'SW') 5 emory access em IorD = em IorD = 4 -back step Reg emtoreg = RegDst = To state (Figre 5.37) ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 47

37 Figra 5.39 Diagrama de estados - R-type instrctions From state (Op = R-type) 6 Eection SrcA = SrcB = Op = 7 R-type completion RegDst = Reg emtoreg = To state (Figre 5.37) ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 48

38 Figra 5.4 Diagrama de estados - Branch instrctions 8 From state (Op = 'BEQ') SrcA = SrcB = Op = PCCond PCSorce = Branch completion To state (Figre 5.37) Figra 5.4 Diagrama de estados - Jmp instrctions From state (Op = 'J') 9 Jmp completion PC PCSorce = To state (Figre 5.37) ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 49

39 Figra 5.42 Diagrama de estados - Figra Unidade de Controle completa 2 emory address comptation SrcA = SrcB = Op = Start fetch em SrcA = IorD = IR SrcB = Op = PC PCSorce = 6 (Op = 'LW') or (Op = 'SW') Eection SrcA = SrcB = Op = 8 (Op = R-type) Branch completion SrcA = SrcB = Op = PCCond PCSorce = decode/ fetch (Op = 'BEQ') 9 SrcA = SrcB = Op = (Op = 'J') Jmp completion PC PCSorce = 3 (Op = 'LW') emory access (Op = 'SW') 5 emory access 7 R-type completion em IorD = em IorD = RegDst = Reg emtoreg = 4 -back step RegDst = Reg emtoreg = ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 5

40 CPI em ma CPU mlticycles Eemplo: Usando a figra anterior o conjnto de instrções abaio, qal a CPI, assmindo qe cada estado necessita de clico de clock? conjnto de instrções: 22% loads, % de stores, 49% de R-type, 6% de branches e 2% de jmps ( gcc ). Solção: O número de ciclos de clocks para cada classe é (da figra anteiror): loads: 5 stores: 4 R-type : 4 branches : 3 jmps: 3 CPI = ciclos de clock da CPU / número de instrções CPI = S (nm. de instrções i X CPI i ) / nm. de instrções CPI = S ((nm. de instrções i / nm. de instrções) X CPI i ) CPI =.22 X 5 +. X X X X 3 CPI = é melhor qe a CPI de ma CPU em qe todas as instrções tivessem o mesmo número de ciclos de clock ( CPI pior caso = 5). ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 5

41 Figra Implementação de ma Unidade de Controle com máqina de estados finitos Combinational control logic Datapath control otpts Otpts Inpts Net state Inpts from instrction opcode field State ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 52

42 icroprogramação Projeto simplificado da Unidade de Controle Representação gráfica útil para peqenas máqinas de estados. Cada microinstrção tem o efeito de ativar os sinais de controle especificados por elas Um microprograma é ma representação simbólica da nidade de controle qe será tradzida por m programa para a lógica de controle. O formato da microinstrção deve ser escolhida de tal forma a simplificar sa representação. Para evitar microinstrções inconsistentes, cada campo da microinstrção deve especificar m conjnto de sinais qe não acontecem simltaneamente. Figra 5.44 Tabela com os sete campos da microinstrção ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 53

43 As microinstrções são colocadas em ma RO o PLA. O endereçamento da microinstrção é dado seqüencialmente. Eistem 3 modos diferentes para escolher a próima microinstrção:. Incrementar o endereço da microinstrção corrente para obter ao endereço da próima microinstrção. Este comportamento é indicado, colocando Seq no campo de Seqüência. 2. Desviar para a microinstrção qe inicia a eecção da próima instrção (estado - fetch). Este comportamento é indicado colocando Fetch no campo de Seqüência. 3. Escolher a próima microinstrção baseada em entradas da nidade de controle. Este comportamento é chamado dispatch e é salmente implementado criando ma tabela (implementada em RO o PLA) contendo os endereços das microinstrções alvo. Geralmente eiste mitas tabelas, neste caso temos das a do estado e a do estado 2. Isto é indicado no campo Seqüência por Dispatch i, onde i é o número da tabela. ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 54

44 Figra 5.45 Tabela com os valores dos campos de ma microinstrção ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 55

45 icroprograma Fetch e decode Primeira tabela página 44 Primeira microinstrção Segnda tabela página 44 Segnda microinstrção Terceira tabela página 44 ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 56

46 Dispatch table é sada para selecionar ma das 4 seqüências de microinstrções: em instrções de referência à memória Rformat instrções R-type BEQ instrções beq JUP instrções de jmp icroprograma para em Tabelas da página 45 e primeira tabela da página 46 ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 57

47 icroprograma para Rformat As três últimas tabelas da página 46 icroprograma para BEQ As das primeiras tabelas da página 47 ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 58

48 icroprograma para JUP As das últimas tabelas da página 47 Figra icroprograma para nidade de controle ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 59

49 Figra Implementação, em RO, da Unidade de controle microprogramada. icrocode storage Otpts Datapath control otpts Inpt Adder icroprogram conter Seqencing control Address select logic Inpts from instrction opcode field ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 6

50 Eceções e interrpções Eceção é m evento inesperado, interno ao processador (p. e. overflow), qe casa ma mdança no flo normal de eecção das instrções. Interrpção é m evento inesperado, eterno ao processador (p. e. interrpção de I/O), qe casa ma mdança no flo normal de eecção das instrções. Tabela da página 4 Tipo de Evento Fonte Terminologia IPS Reqisição de I/O Eterna Interrpção Chamada Interna Eceção Overflow aritimético Interna Eceção Uso de instrção não definida Interna Eceção alfncionamento do Ambos Eceção o Interrpção hardware ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 6

51 Detecção de eceção Dois tipos de eceção serão tratados: eecção de ma instrção não definida e overflow aritmético. Qando ocorre ma eceção, o endereço da instrção afetada é gardada no EPC (eception program conter) e o controle transferido ao sistema operacional em m endereço especificado. Dependendo da atitde do SO e do tipo de eceção, o programa pode ser interrompido o reiniciado a partir do endereço armazenado em EPC. Para o SO tratar a eceção, ele tem qe conhecer qal é a eceção. Há das maneiras: stats (Case), qe tem m campo qe especifica a eceção e vectored interrpts o SO sabe a razão da eceção pelo endereço de entrada no vetor. O SO sabe a razão da eceção pelo endereço passado para ele. Tabela da página 42 Tipo de eceção Intrção não definida Overflow aritimético Endereço no vetor de eçeções(hea) C he C 2 he ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 62

52 Para tratar a eceção vamos spor o primeiro método. Temos 2 registradores etra: EPC de 32 bits, sado para manter o endereço da instrção afetada e Case (32 bits), sado para armazenar a casa da eceção. Vamos assmir qe o bit menos significativo seja sado para codificar a casa da eceção ( instrção indefinida = e overflow = ) Precisamos de dois sinais de controle EPC e Case, o sinal do bit menos significativo de Case IntCase. Precisamos também escrever o endereço de eceção, no qal o SO entra para tratar a mesma (spor C 6 ). O mltipleador de entrada de PC dever ser alterado de 3 para 4 entradas (entrada C 6 ). A ULA deve sbtrair 4 do valor de PC para poder gardar em EPC. ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 63

53 Figra Datapath qe trata eceções PC Address emory emdata [25 2] [2 6] [5 ] [5 ] emory PCCond PC IorD em emwr ite emtoreg IR [5 ] Otpts Control Op [5 ] [25 ] Shift left 2 [3-26] Case IntCas e EPC PCSorce Op 6 Src B Src A RegWr ite RegDst 2 Registers 32 Sign etend 2 Shift left 2 A B control PC [3-28] Zero reslt Jmp address [3-] 2 CO 3 Ot EPC Case [5 ] Para detectar as eceções e transferir o controle para o estado apropriado temos: Instrção indefinida: é detectada qando o próimo estado é definido do estado para o valor op. Tratamos definindo o próimo estado, para qalqer valor de op, como estado. Overflow aritmético: o sinal de overflow (saída da ULA) é sado para modificar a máqina de estados para especificar m próimo estado para o estado 7. ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 64

54 Figra 5.49 Estados para tratar eceções. IntCase = Case SrcA = SrcB = Op = EPC PC PC++Sorce = IntCase = Case SrcA = SrcB = Op = EPC PC PCSorce = PCSorce = To state to begin net instrction Figra Unidade de controle modificada para tratar eceção 2 emory address comptation SrcA = SrcB = Op = Start fetch em SrcA = IorD = IR SrcB = Op = PC PCSorce = 6 (Op = 'LW') or (Op = 'SW') Eection SrcA = SrcB = Op = (Op = R-type) Branch completion 8 SrcA = SrcB = Op = PCCond PCSorce = decode/ Register fetch (Op = 'BEQ') 9 SrcA = SrcB = Op = (Op = 'J') Jmp completion PC PCSorce = (Op = other) 3 (Op = 'LW') em IorD = emory access 5 (Op = 'SW') em IorD = emory access 7 R-type completion IntCase = Case RegDst = Reg emtoreg = Overflow SrcA = SrcB = Op = EPC PC PCSorce = IntCase = Case SrcA = SrcB = Op = EPC PC PCSorce = 4 -back step Overflow Reg emtoreg = RegDst = ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 65

Processador MIPS. Datapath e Unidade de Controle. Componente do processador que realiza operações aritméticas

Processador MIPS. Datapath e Unidade de Controle. Componente do processador que realiza operações aritméticas Processador IPS Datapath e Unidade de Controle Ch5- Datapath Componente do processador qe realiza operações aritméticas Unidade de Controle Componente do processador qe comanda o path, memória e dispositivos

Leia mais

Caminho de Dados e Unidade de Controle

Caminho de Dados e Unidade de Controle O Processador: Caminho de Dados e Unidade de Controle Ivanildo iranda Octávio Agsto Deiroz path -> Caminho qe os dados e instrções percorre, de acordo com os sinais gerados pela nidade de controle Controle

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

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

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

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ª. ed., KP Tópicos Introdção

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

Licenciatura em Engenharia Informática e Computação. Arquitectura de Computadores Exame Modelo

Licenciatura em Engenharia Informática e Computação. Arquitectura de Computadores Exame Modelo FEUP Licenciatra em Engenharia Informática e Comptação Arqitectra de Comptadores Eame odelo o ano 6-XX-XX Dração: Hm Sem conslta Atenção: Este eame tem 6 qestões em 5 páginas. Jstifiqe todas as respostas.

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

Licenciatura em Engenharia Informática e Computação. Arquitectura de Computadores Exame

Licenciatura em Engenharia Informática e Computação. Arquitectura de Computadores Exame FEUP Licenciatra em Engenharia Informática e Comptação Arqitectra de Comptadores Eame o ano 6-6-3 Dração: Hm Sem conslta Atenção: Este eame tem 6 qestões em 5 páginas. Jstifiqe todas as respostas e apresente

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

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

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

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

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

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

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

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

6. Pipelining. Figura Lavanderia analogia com o pipelining

6. Pipelining. Figura Lavanderia analogia com o pipelining 6. Pipelining Overwiew Figra 6. - Lavanderia analogia com o pipelining Time Task order A B C 6 P 7 8 9 A D Time 6 P 7 8 9 A Task order A B C D ARQUITETURA DE COPUTADORES - RICARDO PANNAIN 6 Pipeline de

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

Processador executa instruções

Processador executa instruções Capítlo 6 do Livro do ario onteiro Capítlo 5 (5., 5.2, 5. e 5.4) do Livro do Patterson http://www.ic.ff.br/~bora/fac! 2 Processador eecta instrções CP (central processing nit) CP (nida central processamento)

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

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

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: Blocos de Dados e de Controle. Capítulo 5 (Livro Texto P & H) Elementos de Estado. Mais Detalhes de Implementação

O Processador: Blocos de Dados e de Controle. Capítulo 5 (Livro Texto P & H) Elementos de Estado. Mais Detalhes de Implementação O Processador: Blocos de ados e de ontrole apítlo 5 (Livro Teto P & H) Tradção e Adaptação: Ney Laert Vilar alazans (Versão sendo tradzida em 27//29) Estamos prontos para estdar ma implementação do IPS

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

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

Arquitectura de Computadores II. Pipelining (execução encadeada de instruções)

Arquitectura de Computadores II. Pipelining (execução encadeada de instruções) Arqitectra de Comptadores II 3º Ano Pipelining (eecção encadeada de instrções) João Lís Ferreira Sobral Departamento do Informática Universidade do inho Abril 5 Visão global de Pipelining Técnica qe permite

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

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

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

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

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

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

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

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

Capítulo 6. Idéia básica

Capítulo 6. Idéia básica Capítlo 6 Permission is granted to copy and distribte this material for edcational prposes only, provided that the complete bibliographic citation and following credit line is inclded: "Copyright 998 organ

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

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

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

Arquitectura de Computadores II. Revisão e implementação do datapath do MIPS

Arquitectura de Computadores II. Revisão e implementação do datapath do MIPS Arqitectra de omptadores II 3º Ano Revisão e implementação do datapath do IPS João Lís Ferreira Sobral epartamento do Informática Universidade do inho Fevereiro 23 Revisão do datapath (P) do IPS Visão

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

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

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

Arquitectura de Computadores II. Revisão e implementação do datapath do MIPS

Arquitectura de Computadores II. Revisão e implementação do datapath do MIPS Arqitectra de omptadores II LESI - 3º Ano Revisão e implementação do datapath do IPS João Lís Ferreira Sobral epartamento do Informática Universidade do inho Janeiro 22 Revisão do datapath (P) do IPS Visão

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

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

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

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

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

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

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

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

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

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

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

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

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES Prof. Juliana Santiago Teixeira julianasteixeira@hotmail.com INTRODUÇÃO INTRODUÇÃO O processador é o componente vital do sistema de computação, responsável

Leia mais

Aula 16: UCP: Conceitos Básicos e Componentes

Aula 16: UCP: Conceitos Básicos e Componentes Aula 16: UCP: Conceitos Básicos e Componentes Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 1 / 34

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

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

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

Aula 19: UCP: Construindo um Caminho de Dados (Parte III)

Aula 19: UCP: Construindo um Caminho de Dados (Parte III) Aula 19: UCP: Construindo um Caminho de Dados (Parte III) Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Caminho de Dados (III) FAC 1 /

Leia mais

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra 1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos etc.) e de controle, durante a execução de

Leia mais

Parte Operativa e Parte de Controle do MIPS

Parte Operativa e Parte de Controle do MIPS Capítulo Parte Operativa e Parte de Controle do IPS Ricardo Jacobi niversidade de Brasília Departamento de Ciencia da Computacao Adaptado de Bruno Cunha e Carlos Llanos, IESB Introdução O desempenho de

Leia mais

Solução Lista de Exercícios Processadores

Solução Lista de Exercícios Processadores Solução Lista de Exercícios Processadores Questão 1 A ULA é o dispositivo da CPU que executa operações tais como : Adição Subtração Multiplicação Divisão Incremento Decremento Operação lógica AND Operação

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

Instruções de Máquina

Instruções de Máquina Instruções de Máquina Operação básica (primitiva) que o hardware é capaz de executar diretamente Conjunto de bits que indica ao processador uma operação que ele deve realizar O projeto de um processador

Leia mais

UCP: Construindo um Caminho de Dados (Parte I)

UCP: Construindo um Caminho de Dados (Parte I) UCP: Construindo um Caminho de Dados (Parte I) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado cedido pela Profa. Fernanda Passos Cristina Boeres

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

UCP: Construindo um Caminho de Dados (Parte III)

UCP: Construindo um Caminho de Dados (Parte III) UCP: Construindo um Caminho de Dados (Parte III) Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides do Fernanda Passos Cristina Boeres

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

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

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

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

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

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

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

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

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

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

Prof. Gustavo Oliveira Cavalcanti https://sites.google.com/a/poli.br/professorgustavooc/

Prof. Gustavo Oliveira Cavalcanti https://sites.google.com/a/poli.br/professorgustavooc/ Sistemas Digitais Prof. Gustavo Oliveira Cavalcanti gustavooc@poli.br https://sites.google.com/a/poli.br/professorgustavooc/ Conteúdo Programático (Organização e Arquitetura) Arquitetura e história dos

Leia mais

Conjunto de Instruções

Conjunto de Instruções Conjunto de Instruções IFBA Instituto Federal de Educ. Ciencia e Tec Bahia Curso de Analise e Desenvolvimento de Sistemas Arquitetura de Computadores 20 e 21/30 Prof. Msc. Antonio Carlos Souza Referências

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Msc. Tiago Alves de Oliveira Objetivos Conhecer o processador Compreender os registradores

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer o processador Compreender os registradores

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

2. Descrição do Trabalho. Figura 1. Datapath do MIPS Superescalar CES SE

2. Descrição do Trabalho. Figura 1. Datapath do MIPS Superescalar CES SE Especificação do Projeto Simulador MIPS Superescalar CES- 25 Arquiteturas para Alto Desempenho Prof. Paulo André Castro Equipe: até três alunos Última atualização: 5/junho/2018 1. Objetivo Exercitar e

Leia mais

Processador: Conceitos Básicos e Componentes

Processador: Conceitos Básicos e Componentes Processador: Conceitos Básicos e Componentes Cristina Boeres Instituto de Computação (UFF) Fundamentos de Arquiteturas de Computadores Material baseado nos slides de Fernanda Passos Cristina Boeres (IC/UFF)

Leia mais

Arquitectura de Computadores II. Exercícios sobre pipelining

Arquitectura de Computadores II. Exercícios sobre pipelining Arqitectra de Comptadores II LESI - 3º Ano Eercícios sobre pipelining Departamento do Informática Universidade do inho Abril 22 Considere o modelo de ma arqitectra IPS com o pipeline da figra em aneo,

Leia mais

18/10/2010. Unidade de Controle Controle. UC Microprogramada

18/10/2010. Unidade de Controle Controle. UC Microprogramada Arquitetura de Computadores Unidade de Controle Controle Microprogramado Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO UC Microprogramada

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

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

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

Organização e Arquitetura de Computadores INTRODUÇÃO

Organização e Arquitetura de Computadores INTRODUÇÃO Organização e Arquitetura de Computadores INTRODUÇÃO A Arquitetura de Computadores trata do comportamento funcional de um sistema computacional, do ponto de vista do programador (ex. tamanho de um tipo

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA Prof. Dr. Daniel Caetano 2012-1 Objetivos Conhecer o processador Compreender os registradores

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

Sistemas Digitais Transferências entre Registradores

Sistemas Digitais Transferências entre Registradores Sistemas Digitais Transferências entre Registradores Referência Bibliográfica: Logic and Computer Design Fundamentals Mano & Kime Adaptações: josé artur quilici-gonzalez Sumário Transferências entre Registradores

Leia mais