Data Path / Control Path Controle do MIPS



Documentos relacionados
O Processador: Via de Dados e Controle

Oganização e Arquitetura de Computadores

Arquiteturas de Computadores

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

Relembrando desempenho...

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

Relembrando desempenho...

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

SSC0112 Organização de Computadores Digitais I

Fundamentos de Arquitetura e Organização de Computadores

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

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

Arquiteturas de Computadores

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

Organização de Unidades de Processamento

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

Conteúdos: Debora, Edcarllos, livros! slides disponíveis!

Infra-estrutura de Hardware

DataPath II Tomando o controle!

Organização e Arquitetura de Computadores I

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

Arquitetura de Computadores - Operação da Unidade de Controle. por Helcio Wagner da Silva

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

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

UM PROCESSADOR SIMPLES

Arquiteturas de Computadores

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

Arquitetura e Organização de Processadores. Aula 2. Processadores RISC Apresentação do processador MIPS

ção de Computadores II

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

Organização de Computadores

Projetando um Computador Parte II Arquitetura do Processador BIP

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

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

Projetando um Computador

Infra-estrutura de Hardware

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

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

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

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

Figura 8: modelo de Von Neumann

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

Informática Aplicada

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

SSC0114 Arquitetura de Computadores

Tiago Alves de Oliviera

Introdução. Software Básico Aula 3. Prof. Dr. Rogério Vargas.

Nível da Microarquitetura

Do alto-nível ao assembly

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

Parte Operativa e Parte de Controle do MIPS

Organização de Computadores 1

Pipeline. Prof. Leonardo Barreto Campos 1

Figura 1 - Somador para dois números de 4 bits com extensores lógicos (EL) e Aritméticos(EA).

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

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

Organização e Arquitetura de Computadores I

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

Unidade Central de Processamento UCP (CPU)

Organização ou MicroArquitectura

Arquitetura e Organização de Computadores

Organização e Arquitetura de Computadores I

Disciplina de Laboratório de Elementos de Lógica Digital I SSC-0111

SSC0902 Organização e Arquitetura de Computadores

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

Prova Modelo. Nome: Número:

Arquitetura de Computadores II MIPS64. Prof. Gabriel P. Silva

O Sistema de Computação

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

O Funcionamento do Processador

Aritmética Computacional. Prof. Leonardo Barreto Campos 1

Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1

Introdução à Informática. Alexandre Meslin

SSC0611 Arquitetura de Computadores

Desenho do Processador

Instruções. Maicon A. Sartin

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

Capítulo 4. O Processador

Aula 16: UCP: Conceitos Básicos e Componentes

Arquitetura de Computadores Aula 10 - Processadores

Arquiteturas de Computadores

TECNOLOGIA EM MECATRÔNICA INDUSTRIAL CONTROLADORES LÓGICOS PROGRAMÁVEIS

Arquitetura de Computadores Moderna

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

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

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

Departamento de Engenharia Elétrica e de Computação SEL 606 Laboratório de Sistemas Digitais Prof. Dr. Maximiliam Luppe

Interface com Displays de 7 Segmentos. Interface com Displays

Questionário Arquitetura e Organização de Computadores

Funcionamento básico de um computador

ÁLGEBRA BOOLEANA- LÓGICA DIGITAL

Arquitetura FPU: Implementação MIPS32. Guilherme Fernandes Raphanelli Diogo D. Fonseca dos Santos

O Conjunto de Instruções do Processador

Unidade Central de Processamento

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

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

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

Capítulo VI Circuitos Aritméticos

Transcrição:

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 16 Parte de Controle do MIPS Seq.16 O Processador: Caminho de dados e controle - II 1 Seq.16 O Processador: Caminho de dados e controle - II 2 Data Path / Control Path Controle do MIPS PC 4 address Add Instruction Instruction memory register 1 register 2 Write register Write data Registers data 1 data 2 RegWrite 16 Sign 32 extend Shift left 2 ALUSrc M u x Add ALU result 3 ALU operation Zero ALU ALU result PCSrc M u x Address Write data Mem MemWrite data Data memory MemtoReg M u x Cada operação requer a utilização adequada dos recursos do MIPS Ex: add $t1, $s1, $s2 é necessário que os endereços dos operandos $s1 e $s2 sejam enviados ao banco de registradores. Da mesma maneira, o endereço do registrador destino ($t1) deverá ser informando ao banco de registradores. Uma vez que o banco de registradores disponibilize os valores de $s1 e $s2, estes deverão ser encaminhados à ULA. Posteriormente, o resultado deverá ser escrito no banco de registradores (registrador $t1). Seq.16 O Processador: Caminho de dados e controle - II 3 Seq.16 O Processador: Caminho de dados e controle - II 4

Sinais de Controle I A unidade de controle deve prover: sinais para os multiplexadores. sinais de leitura e escrita para as memórias. seleção da operação da ULA. controle do novo endereço a ser carregado no PC, para instruções de salto. Controle da ULA As operações da ULA são controladas por um código de 3 bits: As instruções lw e sw utilizam a operação de soma da ULA e a instrução beq utiliza a subtração As instruções do tipo R utilizam uma das 5 operações da ULA Seq.16 O Processador: Caminho de dados e controle - II 5 Seq.16 O Processador: Caminho de dados e controle - II 6 Identificação da Operação Controle da ULA O campo funct, de 6 bits (no formato R) indica que tipo de operação aritmética/lógica será executada: Pode-se ainda utilizar 2 bits para identificar uma das instruções: Seq.16 O Processador: Caminho de dados e controle - II 7 Seq.16 O Processador: Caminho de dados e controle - II 8

Circuito de Controle Lógica de Controle Projeto do Circuito de controle da ULA xxx indica irrelevâncias (don't cares) Seq.16 O Processador: Caminho de dados e controle - II 9 Seq.16 O Processador: Caminho de dados e controle - II 10 Implementação em PLA Problemas com MIPS Uniciclo Período do relógio determinado pelo caminho mais longo. instrução lw: leitura da instrução. leitura do registrador de base, extensão de sinal. cálculo do endereço. leitura do dado da memória. escrita em registrador. TODAS as instruções levam o mesmo tempo para executar. Seq.16 O Processador: Caminho de dados e controle - II 11 Seq.16 O Processador: Caminho de dados e controle - II 12

Exemplo Supondo os seguintes tempos de execução das unidades do MIPS: Acesso a memória: 10 ns. ULA e somadores: 10 ns. Acesso ao banco de registradores: 5 ns. outros: 0 ns. Quais os tempos de execução das instruções supondo uma implementação uniciclo e outra com ciclo variável, ou seja, duração do ciclo igual a duração da instrução? Exemplo... Considerando a distribuição de instruções do benchmark gcc, a diferença de velocidade entre as implementações seria: GCC: 22% lw, 11% sw, 49% tipo-r, 16% beq, 2% jump Período uniciclo: 40 ns. Seq.16 O Processador: Caminho de dados e controle - II 13 Seq.16 O Processador: Caminho de dados e controle - II 14 Exemplo... Considerando a distribuição de instruções do benchmark gcc, a diferença de velocidade entre as implementações seria: GCC: 22% lw, 11% sw, 49% tipo-r, 16% beq, 2% jump Período uniciclo: 40 ns. Período ciclo variável: 40*0.22 + 35*0.11 + 30*0.49 + 25*0.16 + 10*0.2 = 31.6 ns. Ganho: 40/31.6 = 1,27 MIPS Multiciclo Idéia: cada fase de execução de uma instrução dura um ciclo de relógio. Instruções podem ser executadas em um número diferente de ciclos. lw leva 5 ciclos. jump leva 1 ciclo. add leva 4 ciclos. Seq.16 O Processador: Caminho de dados e controle - II 15 Seq.16 O Processador: Caminho de dados e controle - II 16

PO Multiciclo PO Multiciclo x PO Uniciclo Apenas uma memória, com instruções e dados. Incremento do PC, cálculo do endereço de desvio, operações lógico-aritméticas realizadas todas pela mesma unidade funcional. Introdução e ampliação dos multiplexadores nas entradas da ULA. Introdução do registrador de Instruções (RI), para armazenar a instrução lida Seq.16 O Processador: Caminho de dados e controle - II 17 Seq.16 O Processador: Caminho de dados e controle - II 18 Controle Multiciclo I 1. Busca da Instrução 1.1 RI = Memoria[PC] 1.2 PC = PC + 4 2. Decodificação e busca de operandos 2.1 A = Reg[RI[25-21]] 2.2 B = Reg[RI[20-16]] 2.3 Rdesvio = PC + (ext-sinal(ir[15-0])) << 2 Rdesvio armazena o endereço de desvio précalculado de forma a liberar a ULA para outras operações. a utilização destes valores depende do tipo de instrução. MEF: Diagrama de Estados Cada nó do diagrama representa um estado. A transição entre estados é indicada por arcos. As condições de disparo de uma transição são associadas aos arcos. Cada estado corresponde a um ciclo de relógio Seq.16 O Processador: Caminho de dados e controle - II 19 Seq.16 O Processador: Caminho de dados e controle - II 20

Exemplo Microinstruções CPI = 0.22*5 + 0.11*4 + 0.49*4 + 0.16*3 + 0.02*3 = CPI = 1.1 + 0.44 + 1.96 + 0.48 + 0.06 CPI = 4.04 Uma microinstrução é definida pelos valores dos sinais de controle que atuam na unidade operativa durante um estado da MEF. A execução de uma instrução do processador pode então ser realizada através de uma sequência de microinstruções. O conjunto de microinstruções que implementa o controle de um processador é chamado de microprograma. Seq.16 O Processador: Caminho de dados e controle - II 21 Seq.16 O Processador: Caminho de dados e controle - II 22 Microprograma O sequenciamento das microinstruções é realizado de forma similar a de um programa normal. microinstruções são usualmente executadas em sequência correspondem a caminhos no diagrama de estados. em alguns casos, a sequência a ser seguida depende de informações externas (código da instrução, por exemplo). Nestes casos, são necessários mecanismos de desvio Seq.16 O Processador: Caminho de dados e controle - II 23