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

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

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

Transcrição

1 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 de E/S de acodo com as instrções de m programa Ch5-2

2 Etapas para eecção de ma instrção 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 a 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) algns destes passos são bastantes semelhantes e independem do opcode Ch5-3 Por eemplo, todas as instrções, independente da classe tilizam a após a leitra de m registrador. Instrção de referência à memória: tiliza para cálclo do endereço Instrções lógica-aritméticas: tiliza para eecção Instrções de desvios: tiliza para comparação. Após a tilização da, os passos são diferentes para as diferentes classes. Ch5-4

3 Implementação do IPS visão em alto nível Data PC Address Registers Register# Register# Register# Address Data Data Ch5-5 Revisão/Convenções adotadas Sinal lógico alto ativado Elementos combinacionais, eemplo: 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 Ch5-6

4 etodologia de sincronização sincroniza o elemento de estado para a permissão de leitra e de escrita (Por qe é necessário?) Lógica combinacional, elemento de estados e clock (sensível à sbida). State element Combinational logic State element 2 Clock cycle Ch5-7 A metodologia edge-triggered permite a m elemento de estado ler e escrever no mesmo período de clock. State element Combinational logic Ch5-8

5 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) Recrsos em 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ória (Program Conter - PC) Somador para incrementar o PC para qe ele aponte para a próima instrção Ch5-9 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 Ch5-

6 Parte do path para fetch e incremento de PC Add 4 PC address Ch5- Instrções R-type Instrções aritméticas e lógicas: add, sb, slt 32 registradores chamado de file, qe é m conjnto de registradores qe podem ser acessados (lidos o escritos) especificando se número. 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 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 é controlada por m sinal de controle ( control) Ch5-2

7 Elementos necessários para a implementação de operações na : instrções do tipo-r. Register nmbers Data Registers 2 Data control Zero reslt Reg a. Registers b. Ch5-3 O path para instrções do tipo R 2 Registers 2 Reg 3 operatio n Zero reslt Ch5-4

8 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 m file e ma 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) Ch5-5 Unidades para implementação de lw e sw e m W rit e A d d r e s s W ri t e d a t a R e a d d a t a D a t a m e m o r y S i g n e t e n d e m R e a d a. D a t a m e m o r y n it b. S i g n - e t e n si o n n it Ch5-6

9 Datapath para instrções lw e sw. 2 Registers Reg 2 3 operation Zero reslt Address em Data 6 Sign 32 etend em Ch5-7 Instrção beq e jmp 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 ). Ch5-8

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

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

12 Datapath para as classes de instrções do IPS PCSrc Add 4 Shift left 2 Add reslt PC address 2 Registers 2 Reg 6 Sign 32 etend Src 3 operation Zero reslt Address em em Data emtoreg Ch5-23 Ch5-24

13 Projeto da Unidade de Controle Principal Classes de instrções - tipo-r, load, store e branch) Ch5-25 Campo opcode: bits 3-26 Dois registradores a serem lidos rs e rt: bits 25-2 e 2-6 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) Ch5-26

14 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 Ch5-27 Sinais de controle Ch5-28

15 Datapath com a Unidade de Controle Add reslt 4 Add RegDst Branch Shift left 2 PCSrc em [3 26] Control emtoreg Op em Src Reg PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 32 Sign etend control [5 ] Ch5-29 Sinais de controle Ch5-3

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

17 Leitra dos registradores e decodificação instrção R-TYPE Add reslt 4 Add RegDst Branch Shift left 2 em [3 26] Control emtoreg Op em Src Reg PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 32 Sign etend control [5 ] Ch5-33 Operação na instrção R-TYPE Add reslt 4 Add RegDst Branch Shift left 2 em [3 26] Control emtoreg Op em Src Reg PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 32 Sign etend control [5 ] Ch5-34

18 Escrita no registrador instrção R-TYPE Add reslt 4 Add RegDst Branch Shift left 2 em [3 26] Control emtoreg Op em Src Reg PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 32 Sign etend control [5 ] Ch5-35 Instrção load word lw $t, offset($t2) Fetch $t2 é lido 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 Ch5-36

19 Operação de m lw com m esqema simples de controle Add reslt 4 Add RegDst Branch Shift left 2 em [3 26] Control emtoreg Op em Src Reg PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 32 Sign etend control [5 ] Ch5-37 Instrção branch beq $t,$t2,offset Fetch da instrção $t e $t2 são lidos 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 Ch5-38

20 Datapath para a instrção beq Add reslt 4 Add RegDst Branch Shift left 2 em [3 26] Control emtoreg Op em Src Reg PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 32 Sign etend control [5 ] Ch5-39 Tabela verdade para as fnções de controle Ch5-4

21 Instrção jmp J L Fetch da instrção PC é formado pelos 4 bits mais significativos + 26 bits do imediato + (deslocamento de 2) Ch5-4 Datapath para instrção jmp [25 ] Shift Jmpaddress [3 ] left PC+4 [3 28] Add reslt 4 Add RegDst Jmp Branch Shift left 2 [3 26] Control em emtoreg Op em Src Reg PC address [3 ] [25 2] [2 6] [5 ] 2 Registers 2 Zero reslt Address Data [5 ] 6 32 Sign etend control [5 ] Ch5-42

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,, e file) Ch5-43 Eemplo : Sejam os segintes tempos de operação: nidade de memória : 2 ns 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? Ch5-44

23 Eemplo : Uma implementação na qal cada instrção opera em m ciclo de clock de tamanho fio 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) OBS.: Para comparar o desempenho, assma a eecção de m programa com a seginte distribição de instrções : 24% de loads, 2% de store, 44% instrções tipo R, 8% de branches e 2% de jmps. Ch5-45 Eemplo : 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. Ch5-46

24 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 Ch5-47 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 desempenho vc / CPU desempenho 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 Ch5-48

25 Eemplo 2: FP nit 8ns para add e 6ns para ml todos os loads tem o mesmo tempo e são 33% das instrções (8 ns) todos os stores tem mesmo tempo e são 2% das instrções (7 ns) instrções tipo R são 27 % das instrções (6 ns) Branches são 5 % (5 ns) e jmps 2% das instrções (2 ns) FP add e sb tem o mesmo tempo e jntos tem 7% das instrções (2 ns) FP ml e div tem o mesmo tempo e são 5% das instrções (2 ns) Ch5-49 Eemplo 2: Solção CPU desempenho vc / CPU desempenho 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% 2 X 2% + 2 X 7% + 2 X 7% = 8. ns Portanto: CPU desempenho vc / CPU desempenho sc = = tempo de eecção CPU sc / tempo de eecção CPU vc = 2/8. = 2.46 Ch5-5

26 Implementação lticiclos a eecção de cada instrção é dividida em etapas cada etapa corresponde a ma operação de ma nidade fncional implementação mlticiclos cada etapa é eectada em m ciclo permite qe ma nidade fncional possa ser sada em mais de ma etapa da instrção compartilhamento pode diminir a qantidade de HW Ch5-5 Datapath mlticiclos PC Address emory Data or emory Data Register # Registers Register # Register # A B ot Ch5-52

27 Diferenças em relação a versão single-cycle Uma só memória sada para dados e instrções Uma em vez de ma 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 Inclsão de mltipleadores Ch5-53 Datapth mlticiclos para as instrções básicas PC Address emory emdata [25 2] [2 6] [5 ] [5 ] [5 ] 2 Registers 2 A B Zero reslt Ot emory 6 32 Sign etend Shift left 2 Ch5-54

28 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 ] [5 ] 2 Registers 2 A B Zero reslt Ot emory 6 32 Sign etend Shift left 2 control [5 ] emtoreg SrcB Op Ch5-55 Datapath para implementação mlticiclos com sinais de controle completo inclindo atalização do PC PCCond PCSorce PC Address emory emdata [3-26] [25 2] [2 6] [5 ] [5 ] PC IorD em em emtoreg IR [5 ] Otpts Control Op [5 ] Op SrcB SrcA Reg RegDst [25 ] Shift 2 Registers 2 A B left 2 PC [3-28] Zero reslt Jmp address [3-] Ot 2 emory 6 Sign etend 32 Shift left 2 control [5 ] Ch5-56

29 Tabela com Sinais de Controle Ch5-57 Ch5-58

30 Divisão da eecção de ma instrção em ciclos de clock e respectivos sinais de controle - fetch Incremento do PC e leitra da instrção em paralelo IR = emory[pc] PC = PC + 4 Sinais ativados em (), Irwrite (), IorD ( PC como endereço), SrcA ( PC para ), SrcB ( 4 para a ), Op ( add) e PC ( o novo valor de PC não é visível até o próimo ciclo de clock). Ch5-59 Divisão da eecção de ma instrção em ciclos de clock e respectivos sinais de controle 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 armazena-los nos registradores A e B; comptar os endereços de branch e gardá-los em 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 ), SrcB (- sign etended e shifted enviado a ) e Op ( add). Ch5-6

31 Divisão da eecção de ma instrção em ciclos de clock e respectivos sinais de controle 3 - Eection, address comptation o branch completion Primeira etapa determinada pelo tipo de instrção. Para cada classe temos: Referência à memória (I-Type) Ot = A + sign-etend (IR[5-]); Sinais ativados: SrcA ( - A para ), SrcB ( - saída da nidade sign-etension para a ) e Op ( - add). Ch5-6 Divisão da eecção de ma instrção em ciclos de clock e respectivos sinais de controle Instrções Lógicas-Aritméticas ( 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 sinais de controle da ) Ch5-62

32 Divisão da eecção de ma instrção em ciclos de clock e respectivos sinais de controle 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) Jmp PC = PC[3-28] (IR[25-]<<2) Sinais ativados: PCSorce(- jmp address para PC) e PC () Ch5-63 Divisão da eecção de ma instrção em ciclos de clock e respectivos sinais de controle 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 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 ) Ch5-64

33 Divisão da eecção de ma instrção em ciclos de clock e respectivos sinais de controle 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). Ch5-65 Divisão da eecção de ma instrção em ciclos de clock e respectivos sinais de controle 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). Ch5-66

34 Resmo das etapas de eecção para as diversas classes Ch5-67 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 Ch5-68

35 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) Ch5-69 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) decode/ Register fetch (Op = 'BEQ') 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) Ch5-7

36 Diagrama de estados - emory reference From state instrctions 2 SrcA = SrcB = Op = (Op = 'LW') or (Op = 'SW') emory address comptation 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) Ch5-7 Diagrama de estados - R-type instrctions From state (Op = R-type) 6 Eection SrcA = SrcB = Op = 7 RegDst = Reg emtoreg = R-type completion To state (Figre 5.37) Ch5-72

37 Diagrama de estados - Branch instrctions 8 From state (Op = 'BEQ') SrcA = SrcB = Op = PCCond PCSorce = Branch completion To state (Figre 5.37) Ch5-73 Diagrama de estados - Jmp instrctions From state (Op = 'J') 9 Jmp completion PC PCSorce = To state (Figre 5.37) Ch5-74

38 Diagrama de estados - Figra Unidade de Controle completa decode/ fetch Start fetch em SrcA = IorD = SrcA = IR SrcB = SrcB = Op = AL UOp = PC PCSorce = emory address Branch comptation Eection completion Jmp completion SrcA = SrcA = SrcA = SrcB = SrcB = PC SrcB = Op = Op = PCSorce = Op = PCCond PCSorce = (Op = 'LW') or (Op = 'SW') (Op = R-type) (Op = 'BEQ') (Op = 'J') 3 (Op = 'LW') emory access (Op = 'SW') 5 emo ry access 7 R-type completion em IorD = em IorD = RegDst = Reg emtoreg = 4 -back step RegDst = Reg emtoreg = Ch5-75 CPI em ma CPU mlticycles Eemplo: Usando a figra anterior e a distribição 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 é: loads: 5 stores: 4 R-type : 4 branches : 3 jmps: 3 Ch5-76

39 CPI em ma CPU mlticycles Solção: CPI = ciclos de clock da CPU / número de instrções CPI = Σ (nm. de instrções i X CPI i ) / nm. de instrções CPI = Σ ((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). Ch5-77 Implementação de ma Unidade de Controle: com máqina de estados finitos Uma máqina de estados finitos pode ser implementada com m registrador temporário qe garde o estado corrente, e ma lógica de controle combinacional, qe determina os sinais de controle e o próimo estado Combinational control logic Otpts Datapath control otpts Inpts Inpts from instrction opcode field State Net state Ch5-78

40 Implementação de ma Unidade de Controle: com icroprogramação Projeto simplificado da Unidade de Controle 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. Ch5-79 Tabela com os campos das microinstrções Ch5-8

41 As microinstrções são colocadas em ma RO o PLA. O endereçamento das microinstrções pode ser dado seqüencialmente. Eistem 3 modos diferentes para a escolha da próima microinstrção a ser eectada: Incrementar o endereço da microinstrção corrente para obter o endereço da próima microinstrção. Este comportamento é indicado, colocando Seq no campo de Seqüência. Desviar para a microinstrção qe inicia a eecção da próima instrção IPS (estado - fetch). Este comportamento é indicado colocando Fetch no campo de Seqüência. 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. Ch5-8 Tabela com os valores dos campos de ma microinstrção Ch5-82

42 Tabela com os valores dos campos de ma microinstrção Ch5-83 Criando m icroprograma -- Fetch e Decode Ch5-84

43 Criando m icroprograma -- Fetch e Decode Dispatch table e o opcode são sados para selecionar ma de 4 seqüências diferentes 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 Ch5-85 Criando m icroprograma -- Referência à emória em Ch5-86

44 Criando m icroprograma -- Referência à emória LW2 Ch5-87 Criando m icroprograma -- Referência à emória SW2 Ch5-88

45 Criando m icroprograma -- instrções R-type Rformat Ch5-89 Criando m icroprograma -- Instrções beq BEQ Ch5-9

46 Criando m icroprograma -- Instrções de jmp JUP Ch5-9 icroprograma para nidade de controle Ch5-92

47 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 Ch5-93 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. Ch5-94

48 Eemplos de eventos qe podem casar eceções/interrpções Tipo de Evento Fonte Terminologia IPS Reqisição de I/O Eterna Interrpção Chamada ao SO Interna Eceção Overflow aritimético Interna Eceção Uso de instrção não definida Interna a fncionamento do Ambos hardware Eceção Eceção o Interrpção Ch5-95 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 (IPS) 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. Ch5-96

49 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 (IPS) 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. Tipo de eceção Endereço no vetor de eçeções(hea) Instrção não definida C he Overflow aritimético C 2 he Ch5-97 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. Ch5-98

50 PCCond PC IorD em em emtoreg IR Otpts Control Op [5 ] Case IntCase EPC PCSorce Op SrcB SrcA Reg RegDst PC Address emory emdata [3-26] [25 2] [2 6] [5 ] [5 ] emory [25 ] Shift [5 ] 6 2 Registers Sign etend 2 32 Shift left 2 A B control left 2 PC [3-28] Zero reslt Jmp address [3-] CO 3 Ot 2 EPC Case [5 ] Ch5-99 Para detectar as eceções e transferir o controle para o estado apropriado temos: Instrção indefinida: é detectada qando não há próimo estado definido a partir do estado, para o valor do opcode. Tratamos definindo o próimo estado, para qalqer valor de opcode, como estado. Overflow aritmético: o sinal de overflow (saída da ULA) é sado para modificar a máqina de estados para especificar m novo próimo estado a partir do estado 7. Ch5-

51 IntCase = Case SrcA = SrcB = Op = EPC PC PC++Sorce = IntCase = Case SrcA = SrcB = Op = EPC PC PCSorce = PCSorce = To state to begin net instrction Ch5- emory address comptation 2 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 (Op = 'SW') 5 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 = Ch5-2

5. O Processador Datapath e Unidade de Controle

5. O Processador Datapath e Unidade de Controle 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

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

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

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

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

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

Leia mais

CAPÍTULO 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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES Organização de Computadores ORGANIZAÇÃO DE COMPUTADORES Curso: Tecnologia em Gestão da Tecnologia da Informação Ano: 2011 Instrução Precisam ser entendidas pelo processador Precisam ser decodificadas e

Leia mais

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas: Somar e subtrair Mover um dado de um local de armazenamento para outro Transferir um dado para um dispositivo

Leia mais

Unidade de Controle. Sinais e temporização da busca de instrução. Prof. Eduardo Appel

Unidade de Controle. Sinais e temporização da busca de instrução. Prof. Eduardo Appel Unidade de Controle Prof Eduardo Appel appel@upftchebr Uma CPU de um microprocessador pode interpretar o conteúdo de uma palavra de memória como sendo o código de instrução Mas pergunta-se: Qual o número

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Processamento Unidade de Controlo Conjunto de Instruções (CPU) Unidade de Entrada/Saída

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

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade.

ULA. Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. PROCESSADOR ULA Combina uma variedade de operações lógicas e matemáticas dentro de uma única unidade. ULA Uma ULA típica pode realizar as operações artiméticas: - adição; - subtração; E lógicas: - comparação

Leia mais

Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Linguagem de Montagem Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO 1 Introdução Independente da linguagem de programação utilizada, todo programa

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

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Conjunto de Instruções Slide 1 Sumário Características de Instruções de Máquina Tipos de Operandos Tipos de Operações Linguagem de Montagem Slide 2 Características

Leia mais

Estrutura e Funcionamento da CPU. Adriano Maranhão

Estrutura e Funcionamento da CPU. Adriano Maranhão Estrutura e Funcionamento da CPU Adriano Maranhão 1 S Relembrando S Compiladores de linguagens ao fazer a conversão da linguagem de alto nível para chegar na fase da linguagem de baixo nível como assembly

Leia mais

Prof. Leonardo Augusto Casillo

Prof. Leonardo Augusto Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 2 Estrutura de um processador Prof. Leonardo Augusto Casillo Arquitetura de Von Neumann: Conceito de programa armazenado; Dados

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 28 Operação da Unidade de Controle Rodrigo Hausen 17 de novembro de 2011 http://cuco.pro.br/ach2034 1/44 Apresentação 1. Bases Teóricas 2. Organização de computadores...

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

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

O Processador: Caminho de Dados e Controle

O Processador: Caminho de Dados e Controle 22 Capítulo 3 O Processador: Caminho de Dados e Controle O desempenho de um computador é determinado por três fatores principais: o número de instruções executadas, o período do clock e o número de ciclos

Leia mais

Capítulo 4 Nível da microarquitetura

Capítulo 4 Nível da microarquitetura Capítulo 4 Nível da microarquitetura Nível acima da lógica digital Função: Implementar a ISA (Instruction Set Architecture) O projeto da microarquitetura depende diretamente da ISA, além dos objetivos

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

2. A influência do tamanho da palavra

2. A influência do tamanho da palavra PROCESSAMENTO 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

Leia mais

NEANDERWIN. Algumas características do processador Neander são:

NEANDERWIN. Algumas características do processador Neander são: NEANDERWIN O NeanderWin é um simulador da máquina Neander, definida no livro do Raul F. Weber (UFRGS), Fundamentos de Arquitetura de Computadores, Ed. Sagra Luzzatto. A máquina original foi estendida aqui

Leia mais

Aula 12: Memória: Barramentos e Registradores

Aula 12: Memória: Barramentos e Registradores Aula 12: Memória: Barramentos e Registradores Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Memória: Barramentos e Registradores FAC 1 / 34

Leia mais

Aula 14 Funcionamento de Processadores (Visão específica)

Aula 14 Funcionamento de Processadores (Visão específica) Aula 14 Funcionamento de Processadores (Visão específica) Com base nas aulas de Prof. José Delgado (autorizado) Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm

Leia mais

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 CPU CPU Funções: Processamento; Controle Componentes: UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3 Processador A função de um computador é executar tarefas

Leia mais

4. Modelo de Programação do DLX Introdução

4. Modelo de Programação do DLX Introdução 4. Modelo de Programação do DLX Quero que o matemático Beremiz Samir nos conte uma lenda, ou uma simples fábula, na qual apareça uma divisão de 3 por 3 indicada, mas não efetuada, e outra de 3 por 2, indicada

Leia mais

Registradores de Deslocamento e Memórias

Registradores de Deslocamento e Memórias Registradores de eslocamento e Memórias Rodrigo Hausen 1 Registradores de deslocamento Exercício 1 Usando flip-flops do tipo, projete uma máquina de estado com duas entradas, (clock) e d (um bit de dado),

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

Unidade Central de Processamento 2. Registradores

Unidade Central de Processamento 2. Registradores Unidade Central de Processamento 2 Registradores Conceitos Fundamentais Arquitetura da CPU Unidade de Controle Registradores Barramento interno Unidade lógica e Aritmética Registradores Conjunto de unidades

Leia mais

AULA Exercícios. DETERMINAR A EXPRESSÃO GERAL E A MATRIZ DE UMA TL CONHECIDAS AS IMAGENS DE UMA BASE DO

AULA Exercícios. DETERMINAR A EXPRESSÃO GERAL E A MATRIZ DE UMA TL CONHECIDAS AS IMAGENS DE UMA BASE DO Note bem: a leitra destes apontamentos não dispensa de modo algm a leitra atenta da bibliografia principal da cadeira Chama-se a atenção para a importância do trabalho pessoal a realizar pelo alno resolvendo

Leia mais

ção de Computadores II

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

Leia mais

Aula 2: Vetores tratamento algébrico

Aula 2: Vetores tratamento algébrico Ala : Vetores tratamento algébrico Vetores no R e no R Decomposição de etores no plano ( R ) Dados dois etores e não colineares então qalqer etor pode ser decomposto nas direções de e. O problema é determinar

Leia mais

Organização de Computadores (revisão) André Tavares da Silva

Organização de Computadores (revisão) André Tavares da Silva Organização de Computadores (revisão) André Tavares da Silva andre.silva@udesc.br Conceitos Básicos Microcomputador é um sistema computacional que possua como CPU um microprocessador. Microprocessador

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I 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 Nível da Microarquitetura (Parte

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

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES ARQUITETURA DE COMPUTADORES Arquitetura de Von Newmann Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Vídeos Vídeo aula RNP http://edad.rnp.br/rioflashclient.php?xmlfile=/ufjf/licenciatura_com

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 Acadêmica 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

Microprocessadores. Plano de Aula 22:43

Microprocessadores. Plano de Aula 22:43 Universidade Federal de Santa Catarina Centro Tecnológico CTC Departamento de Engenharia Elétrica Links: icroprocessadores EEL7030 icroprocessadores http://edardo.bezerra.name/ http://www.eel.fsc.br/hari/

Leia mais

X Y Z A B C D

X Y Z A B C D 29) A seguinte tabela verdade corresponde a um circuito combinatório de três entradas e quatro saídas. Obtenha a tabela de programação para o circuito em um PAL e faça um diagrama semelhante ao apresentado

Leia mais

RISC simples. Aula 7. 31 de Março de 2005 1

RISC simples. Aula 7. 31 de Março de 2005 1 RISC simples Aula 7 31 de Março de 2005 1 Estrutura desta aula Principais características dos processadores RISC Estrutura de um processador (MIPS) sem pipeline, de ciclo único O datapath ou circuito de

Leia mais

Caminho de Dados e Controle. Prof. Leonardo Barreto Campos 1

Caminho de Dados e Controle. Prof. Leonardo Barreto Campos 1 Caminho de Dados e Controle Prof. Leonardo Barreto Campos 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

ção de Computadores I

ção de Computadores I 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 I Aula 4 1. Projeto da Arquitetura

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

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 10 Conjuntos de instruções: Características e funções slide 1 O que é um conjunto de instruções? A coleção completa de instruções

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores Conjunto de Instruções Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Material do prof. Sílvio Fernandes - UFERSA

Leia mais

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III

UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III UNIVERSIDADE PAULISTA (UNIP) Curso de Engenharia Mecatrônica Disciplina: Microprocessadores e Microcontroladores (MM) LISTA III Orientações: Esta lista de Exercícios deve ser entregue juntamente com a

Leia mais

O Computador Neander Neander - Computador Hipotético Didático

O Computador Neander Neander - Computador Hipotético Didático Neander - Computador Hipotético Didático [Weber 2001] Fundamentos de Arquitetura de Computadores. Raul Weber - Ed. Sagra. Site - ftp://ftp.inf.ufrgs.br/pub/inf107/ Arquitetura: características gerais Largura

Leia mais

Arquitetura de Computadores Unidade Central de Processamento CPU

Arquitetura de Computadores Unidade Central de Processamento CPU Arquitetura de Computadores Unidade Central de Processamento CPU CPU Funções realizadas pelo processador: Função controle Responsável pela busca, interpretação e controle da execução das instruções, bem

Leia mais

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

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

Leia mais

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Conjunto de Instruções Prof. Sílvio Fernandes

Leia mais

Organização de Computadores 1

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

Leia mais

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

Fundamentos de Arquiteturas de Computadores Turma :A1 Lista 3 Profa.: Simone Martins

Fundamentos de Arquiteturas de Computadores Turma :A1 Lista 3 Profa.: Simone Martins UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Fundamentos de Arquiteturas de Computadores Turma :A Lista 3 Profa.: Simone Martins. A figura abaixo mostra

Leia mais

Unidade Central de Processamento (CPU) Processador. Bernardo Gonçalves Introdução ao Computador 2008/01

Unidade Central de Processamento (CPU) Processador. Bernardo Gonçalves Introdução ao Computador 2008/01 Unidade Central de Processamento (CPU) Processador Bernardo Gonçalves Introdução ao Computador 2008/01 Componentes de um Computador (1) Computador Eletrônico Digital É um sistema composto por: Memória

Leia mais

Sistemas Operacionais. Interrupção e Exceção

Sistemas Operacionais. Interrupção e Exceção Sistemas Operacionais Interrupção e Exceção Interrupção e Exceção Durante a execução de um programa podem ocorrer alguns eventos inesperados, ocasionando um desvio forçado no seu fluxo de execução. Estes

Leia mais

Caminho dos Dados e Atrasos

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

Leia mais

Aula 15: Ciclo de Execução e Introdução ao Pipeline

Aula 15: Ciclo de Execução e Introdução ao Pipeline Aula 15: Ciclo de Execução e Introdução ao Pipeline Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Ciclo de Execução; Intro ao Pipeline FAC

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

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB 2.3 Dependências de dados (Data Hazards) Ocorre quando uma instrução depende do resultado de outra instrução que ainda está no pipeline. Este tipo de dependência é originado na natureza seqüencial do código

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES Prof. Dr. Daniel Caetano 2011-2 Lembretes Compreender a função da unidade de controle Apresentar o ciclo

Leia mais

Circuitos Digitais. Tipos de circuitos digitais: Circuitos combinacionais Circuitos sequenciais

Circuitos Digitais. Tipos de circuitos digitais: Circuitos combinacionais Circuitos sequenciais 1 Tipos de circuitos digitais: Circuitos combinacionais Circuitos sequenciais Circuitos Digitais Circuito combinacional: Circuito não é capaz de armazenar um valor Possui portas lógicas conectadas para

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

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

ELETRÔNICA DIGITAL II. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR ELETRÔNICA DIGITAL II AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR acjunior@facthus.edu.br 1º SEMESTRE 2009 CONTEÚDO PROGRAMADO: 1 O que é um computador digital? 2 Como funcionam os computadores 3 O agente

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani)

Arquitetura de Computadores. Professor: Vilson Heck Junior (Material: Douglas Juliani) Arquitetura de Computadores Professor: Vilson Heck Junior (Material: Douglas Juliani) Agenda Conceitos Componentes Funcionamento ou tarefas Otimização e desempenho Conceitos Componente de Hardware que

Leia mais

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof.

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. EA869 Pipeline Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Objetivos Conhecer técnicas de como melhorar o desempenho de um processador.

Leia mais

09 Unidade de controlo. v0.1

09 Unidade de controlo. v0.1 09 Unidade de controlo v0.1 Introdução Um micro-processador pode consistir apenas em alguns elementos: ALU Registers Lógica de controlo (ou unidade de controlo) 18 December 2014 Sistemas Digitais 2 Lógica

Leia mais

Capítulo 5. O Processador: Datapath & Controle

Capítulo 5. O Processador: Datapath & Controle Capítulo 5 Permission is granted to copy and distribute this material for educational purposes only, provided that the complete bibliographic citation and following credit line is included: "Copyright

Leia mais