Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Organização de Computadores I DCC006 Prof. Omar Paranaiba Vilela Neto Aula 7 – O Processador: Data Path e Controle 2 • Nós veremos a implementação do MIPS • Simplificado contendo somente: – instruções de referência a memória: lw, sw – instruções lógico-aritméticas: add, sub, and, or, slt – instruções de controle de fluxo: beq, j Implementação Genérica: – uso do contador de programa (PC) para endereçar instruções – busca de instruções da memória – leitura de registradores – uso de instruções para decidir exatamente o que fazer Todas as instruções usam a ALU após a leitura dos registradores Como? Referência a memória? aritmética? controle de fluxo? O Processador: Datapath & Controle 3 • Abstração / Vista Simplificada: • Dois tipos de unidades funcionais: – elementos que operam com valores (combinatório) – elementos que contém estados (sequenciais) Mais Detalhes de Implementação 4 • Unclocked vs. Clocked • Clocks usados em lógica síncrona – Quando o elemento que contém o o estado poderia ser atualizado? cycle time Transição de subida Transição de descida Elementos de Estado 5 • Latch set-reset ( RS ) – Saídas dependem das entradas presentes e do passado Elemento de Estado Unclocked 6 • Saída é igual ao valor armazenado no elemento (não é necessário permissão para ler o valor) • Mudança de estado (valor) é baseada no clock • Latches: entradas mudam, e o clock é validado • Flip-flop: estados mudam somente na borda do clock (edge-triggered metodologia) "Logicamente verdadeiro", — pode significar eletricamente baixo Uma metodologia de clock define quando os sinais podem ser lidos e escritos — Nunca devemos ler um sinal ao mesmo tempo que ele esta sendo escrito Latches e Flip-flops 7 • Duas entradas: – o dado a ser armazenado (D) – o sinal de clock (C) indicando quando ler & armazenar D • Duas saídas: – O valor do estado interno (Q) e seu complemento D-latch Q C D _ Q D C Q 8 Flip-flop D • Saídas mudam somente na transição do clock QQ _ Q Q _ Q D latch D C D latch DD C C D C Q 9 Nossa Implementação • Metodologia de acionamento por transição • Execução típica: – Ler conteúdos dos vários elementos de estado, – Enviar valores através da lógica combinatória – Escrever resultados em um ou mais elementos de estado Clock cycle State element 1 Combinational logic State element 2 10 • Construindo usando flip-flops D Registradores 11 • Como são os multiplexadores: Registradores 12 Registradores • Nota: nós usamos o clock real para determinar quando escrever n-to-1 decoder Register 0 Register 1 Register n – 1 C C D D Register n C C D D Register number Write Register data 0 1 n – 1 n 13 Implementação Simples Pergunta importante Quais os componentes necessários para o MIPS? 14 Implementação Simples • 1 – Para a busca de instruções 15 Implementação Simples • 2 – Para instruções do tipo R 16 Implementação Simples • 3 – Para instruções de load e store 17 Implementação Simples • Inclusão das unidades funcionais necessárias para cada instrução PC Instruction memory Instruction address Instruction a. Instruction memory b. Program counter Add Sum c. Adder ALU control RegWrite Registers Write register Read data 1 Read data 2 Read register 1 Read register 2 Write data ALU result ALU Data Data Register numbers a. Registers b. ALU Zero 5 5 5 3 16 32 Sign extend b. Sign-extension unit MemRead MemWrite Data memory Write data Read data a. Data memory unit Address 18 Integração do Datapath • Uso de multiplexadores PC Instruction memory Read address Instruction 16 32 Add ALUresult M u x Registers Write register Write data Read data 1 Read data 2 Read register 1 Read register 2 Shift left 2 4 M u x ALU operation3 RegWrite MemRead MemWrite PCSrc ALUSrc MemtoReg ALU result Zero ALU Data memory Address Write data Read data M u x Sign extend Add Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18
Compartilhar