SSC0112 Organização de Computadores Digitais I

Documentos relacionados
Arquiteturas de Computadores

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

Organização de Unidades de Processamento

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

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

SSC0611 Arquitetura de Computadores

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

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

DataPath II Tomando o controle!

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

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

SSC0902 Organização e Arquitetura de Computadores

Mapeando o Controle no Hardware

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

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

Relembrando desempenho...

Relembrando desempenho...

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

Prof. Frank Sill Torres DELT Escola de Engenharia UFMG

Arquiteturas de Computadores

SSC0611 Arquitetura de Computadores

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

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

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

SSC0114 Arquitetura de Computadores

Data Path / Control Path Controle do MIPS

O Processador: Via de Dados e Controle

ção de Computadores II

SSC0611 Arquitetura de Computadores

Organização de Computadores

Infra-estrutura de Hardware

Organização de Computadores

Nível da Microarquitetura

SSC0112 Organização de Computadores Digitais I

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

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

Arquitetura de Computadores - Controle Microprogramado. por Helcio Wagner da Silva

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

Treinamento em Projeto de Sistemas Digitais

Unidade Central de Processamento

Treinamento em Projeto de Sistemas Digitais

Infra-estrutura de Hardware

Arquiteturas de Computadores

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

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

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

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

Organização de Computadores

Capítulo 5. O Processador: Datapath & Controle

2. A influência do tamanho da palavra

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização e Arquitetura de Computadores I

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

Infra-estrutura de Hardware

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

Pipeline. Prof. Leonardo Barreto Campos 1

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

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

SSC0510 Arquitetura de Computadores

O Nível da Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura

ção de Computadores I

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

Organização de computadores. Aula 05

Unidade Central de Processamento UCP (CPU)

Unidade de Controle. UC - Introdução

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I

Arquitetura de Computadores Aula 10 - Processadores

Arquiteturas de Computadores

SSC510 Arquitetura de Computadores 1ª AULA

Arquitetura de Computadores II

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

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

Organização e Arquitetura de Computadores I

2. A influência do tamanho da palavra

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

Circuitos Sequenciais

Tiago Alves de Oliviera

A Arquitetura: conjunto de instruções

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

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

ção de Computadores I

SSC0611 Arquitetura de Computadores

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral

MELHORAMENTO NO PROCESSADOR SIMPLES

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

Organização de Sistemas de Computadores

Estrutura da CPU Organização de registradores Ciclo de instrução

Parte Operativa x Controle Aula 12. Prof. Jadir Eduardo Souza Lucas Universidade Federal do Espírito Santo Departamento de Informática

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

Instruções de Máquina

Arquitetura de Computadores I

Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1

Resumão de Infra-estrutura de Hardware

Arquitectura de Computadores MEEC (2014/15 2º Sem.)

SSC0112 Organização de Computadores Digitais I

UM PROCESSADOR SIMPLES

Parte Operativa e Parte de Controle do MIPS

Transcrição:

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: Unidade de controle Divisão da execução da instrução em várias etapas, maximizando o desempenho, limitando a cada ciclo somente um acesso a memória, ou um acesso ao banco de registradores, ou uma operação na ULA O tempo do clock deve ser o maior valor entre os acessos citados acima 3

MIPS Multiciclo: Unidade de controle Os sinais de controle da implementação multiciclo não dependem somente dos bits que definem a instrução Dependem também de que ciclo a instrução se encontra Utilização de uma máquina de estado finito Registrador para armazenar o estado atual (state register) Função para cálculo do próximo estado: determinado pelo estado corrente e pela entrada Função de saída: determinada pelo estado corrente e pela entrada 4

Etapas: MIPS Multiciclo: Unidade de controle 1. Busca da instrução 2. Decodificação da instrução e busca dos registradores 3. Execução, cálculo do endereço de memória ou conclusão do desvio 4. Acesso à memória ou conclusão de instrução tipo R 5. Conclusão da leitura da memória 5

MIPS Multiciclo: Unidade de controle Passo Instrução tipo R Instruções de referência à memória Branches Jumps Busca da instrução Decodificação da instrução e busca dos registradores Execução, cálculo do endereço de memória ou conclusão do desvio Acesso à memória ou conclusão de instrução tipo R Conclusão da leitura da memória IR <= Memory[PC] PC <= PC + 4 A <= Reg[IR[25:21]] B <= Reg[IR[20:16]] ALUOout <= PC + (sign-extend(ir[15:0]) << 2) ALUout <= A op B ALUout <= A + sign-extend(ir[15:0]) If (A == B) PC <= ALUout Reg[IR[15:11]] <= ALUout Load: MDR <= Memory[ALUout] ou Store: Memory[ALUout] <= B Load: Reg[IR[20:16]] <= MDR PC <= {PC[31:28], (IR[25:0],2 b00)} 6

MIPS Multiciclo: Unidade de controle 7

MIPS Multiciclo: Unidade de controle 8

MIPS Multiciclo: Unidade de controle 9

MIPS Multiciclo: Unidade de controle 10

MIPS Multiciclo: Unidade de controle 11

Máquina de Estado Finito Final 12

MIPS multiciclo: Unidade de Controle Sinais de controle dependem: da instrução atual e do ciclo em execução Especificação pode ser feita com: MEFs Microprogramação representação através de (ou como um) programa Representação Lógica equação lógica ou tabela verdade Implementação de ambas as especificações pode ser: circuito lógico (como PLA) ou ROM

UC: da especificação à implementação

UC: especificação com MEF MEF: conjunto de estados + duas funções: função próximo estado e função saída Função saída determina os sinais de controle deste ciclo Função próximo estado determina qual será o estado no ciclo seguinte

MIPS multiciclo: MEF da UC Estados que precisam ser implementados... com sinais de controle Quantos bits são necessários para determinar o estado?

MIPS multiciclo: UC hardwired Controle de sequenciamento: função próximo estado Sinais de controle deste ciclo

MIPS multiciclo: representação lógica com equações lógicas Estados numerados sequencialmente: 0=000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, Qual a equação lógica do bit NS0 (NextState0)? NS0 deve estar ativo sempre que o próximo estado for ímpar, ou seja, Próximo estado Estado atual NextState1 => state0 = S3'.S2'.S1'.S0' NextState3 => state2. (Op[5-0] = lw ) = S3'.S2'.S1.S0'. Op5.Op4'.Op3'.Op2'.Op1.Op0 NextState5 => state2. (Op[5-0] = sw ) = S3'.S2'.S1.S0'. Op5.Op4'.Op3.Op2'.Op1.Op0 NextState7 => state6 = S3'.S2.S1.S0' NextState9 => state1. (Op[5-0] = jmp ) = S3'.S2'.S1'.S0. Op5'.Op4'.Op3'.Op2'.Op1.Op0' NS0 é a soma lógica (OR) de todos esses termos.

MIPS multiciclo: relação saídas x estados

MIPS multiciclo: implementação em hardware da UC com PLA AND OR

MIPS multiciclo: UC microprogramada Microprogramação: alternativa para especificar a UC Controle de sequenciamento com: contador de microprograma e tabelas de despacho

MIPS multiciclo: UC microprogramada Tabelas de despacho 22

MIPS multiciclo UC microprogramada

MIPS multiciclo: UC microprogramada Lógica de Seleção de Endereço ação do controle de endereço a cada microinstrução

MIPS multiciclo: UC microprogramada Representação lógica usando uma Tabela Verdade Valores de Entrada (estado [3-0]) \/ Saídas \/ 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 PCWrite 1 0 0 0 0 0 0 0 0 1 PCWriteCond 0 0 0 0 0 0 0 0 1 0 IorD 0 0 0 1 0 1 0 0 0 0 Mem Read 1 0 0 1 0 0 0 0 0 0 Mem Write 0 0 0 0 0 1 0 0 0 0 IRWrite 1 0 0 0 0 0 0 0 0 0 Mem toreg 0 0 0 0 1 0 0 0 0 0 PCSrc1 0 0 0 0 0 0 0 0 0 1 PCSrc0 0 0 0 0 0 0 0 0 1 0 ALUOP1 0 0 0 0 0 0 1 0 0 0 ALUOP0 0 0 0 0 0 0 0 0 1 0 ALUSrcB1 0 1 1 0 0 0 0 0 0 0 ALUSrcB0 1 1 0 0 0 0 0 0 0 0 ALUSrcA 0 0 1 0 0 0 1 0 1 0 RegWrite 0 0 0 0 1 0 0 1 0 0 RegDst 0 0 0 0 0 0 0 1 0 0

MIPS multiciclo: UC microprogramada Implementação usando uma ROM os m bits do estado são a entrada indicam o endereço da ROM a ser lido endereçam uma das 2 m entradas na ROM (altura) os n bits de controle ([17-0] no caso) são a saída é a palavra lida da ROM (largura)

MIPS Multiciclo: UC microprogramada (sinais ativos)