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

Documentos relacionados
DataPath II Tomando o controle!

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

O Processador: Via de Dados e Controle

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

Arquiteturas de Computadores

Infra-estrutura de Hardware

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

Relembrando desempenho...

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

Relembrando desempenho...

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

Organização de Computadores

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

SSC0114 Arquitetura de Computadores

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

Organização ou MicroArquitectura

Microcontroladores e Interfaces

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

Organização de Unidades de Processamento

SSC0611 Arquitetura de Computadores

ção de Computadores II

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

Arquiteturas de Computadores

Infra-estrutura de Hardware

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

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

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

Infraestrutura de Hardware. Instruindo um Computador

UCP: Construindo um Caminho de Dados (Parte I)

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

Arquiteturas de Computadores

Unidade Central de Processamento UCP (CPU)

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

SSC0112 Organização de Computadores Digitais I

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

Arquiteturas de Computadores

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

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

MIPS ISA (Instruction Set Architecture)

Organização e Arquitetura de Computadores I

Organização e Projetos de Computadores. Capítulo 2. Organização e Projetos de Computadores. Instruções

Aula 17: UCP: Construindo um Caminho de Dados (Parte I)

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

Desenho do Processador

Capítulo 6 Pipeline Morgan Kaufmann Publishers

PSI3441 Arquitetura de Sistemas Embarcados

Tiago Alves de Oliviera

UCP: Construindo um Caminho de Dados (Parte III)

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

Especificação do Projeto de Processador RISC

Capítulo 4. O Processador

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

18/08/2015. Capítulo 2: Manipulação de dados. Arquitetura de Computadores. Capítulo 2: Manipulação de Dados

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

Nível Máquina Formatos de Instruções

Organização e Projeto de Computadores

Data Path / Control Path Controle do MIPS

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

Unidade Central de Processamento

Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1

Organização e Arquitetura de Computadores I

PSI3441 Arquitetura de Sistemas Embarcados

Pipelining - analogia

Arquitetura e Organização de Processadores. Aula 4. Pipelines

Caminho de Dados e Unidade de Controle

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

Unidade II. Organização de Computadores. Prof. Renato Lellis

Trabalhos Práticos Arquitetura de Computadores I Prof. Fabian Vargas

Organização de Computadores μarquitetura. Na Aula Anterior... Introdução. Nesta Aula. MIPS-Monociclo. Formas de Organização 17/10/2016

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve:

Circuitos Sequenciais

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Pipeline. Prof. Leonardo Barreto Campos 1

Pipelining. Luís Nogueira. Departamento Engenharia Informática Instituto Superior de Engenharia do Porto. Pipelining p.

Organização e Arquitetura de Computadores I

Sistemas de Computação. Instruções de Linguagem de Máquina

Microarquitetura IJVM. Datapath mic-1. Função dos Registradores. mic-1

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

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

Resumão de Infra-estrutura de Hardware

Arquitetura de Computadores I. Prof. Ricardo Santos (Cap 2)

Conjunto de Instruções. Prof. Leonardo Barreto Campos 1

SSC0611 Arquitetura de Computadores

Capítulo 4 Nível da microarquitetura

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

Infra-estrutura de Hardware

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

SSC0902 Organização e Arquitetura de Computadores

Aula 16: UCP: Conceitos Básicos e Componentes

Lab 9 Implementação do MIPS em VHDL e teste na FPGA

Sistemas de Microprocessadores DEP. DE ENG.ª ELECTROTÉCNICA E DE COMPUTADORES FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE DE COIMBRA.

Arquitetura de Computadores I Prof. Ricardo Santos (Cap 2)

Nível da Microarquitetura

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

a) Obtenha a tabela verdade das operações com 01 bit

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

3. INSTRUÇÕES. Instrução é uma palavra da linguagem de máquina. Instruction Set do MIPS ( usado pela NEC, Nintendo, Silicon Graphics e Sony.

Transcrição:

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 de instrução Decodificação de Instrução e busca de registradores Execução Acesso a Memória ou finalização das instruções tipo-r Write-back (em breve)

1) Fetch (Busca) A unidade de memória recebe um endereço e devolve a instrução Program counter Um somador para calcular o próximo endereço

2) Decode Instruction & Fetch Registers Não sabemos ainda que instrução é, mas podemos especular : Podemos buscar os registradores 21-25 e 16-20 das instruções Quais instruções não precisam essa informação? Branch bits 0-15

Formatos Register format 0 rs rt rd shamt funct 0 rs rt rd shamt funct 6 5 5 5 5 6 Immediate format op-code rs rt immediate value op-code rs rt immediate value 6 5 5 16 Jump format op-code op-code 26 26 bit bit current current segment segment address address 6 26

3) Execução Execução (dependendo da instrução) Calcula um endereço de memória(lw and sw) Calcula um resultado aritmético (int ops) Compara e ajusta o PC Os registradores são utilizados como entrada da ULA

ULA A saída da ULA é: Gravada em um registrador (arithmetic-logical instructions) Usada como endereço (load and store instructions) Determinar a próxima instrução (branch instructions)

4) Acesso à Memória ou Completar instruções R-Type Nas instruções load e store o endereço ALU_Out é usado para referênciar a memória Nas instruções lógico-aritméticas deve escrever o resultado no registrador destino

5) Write-Back Instruções de Load são completadas escrevendo de volta (writing back) o valor da memória

Datapath simplificado Data PC Address Instruction Registers ALU Instruction memory Register # Register # Register # Address Data memory Data Dois tipos de unidades Elementos que operam em valores de dados (combinacional) Elementos que contém estados (sequencial)

Combinacional e Sequencial A ULA é combinacional Outros elementos não são combinacionais, eles mantém um estado Um elemento com algum armazenamento interno é chamado de elemento de estado Elemento de estados tem pelo menos duas entradas dado clock (determina quando o dado é escrito)

Metodologia de Clocking Temos que decidir quando um sinal pode ser lido ou escrito Nós assumimos uma estratégia de disparo por borda (edge-triggered clocking strategy) Todos os elementos de armazenamento são atualizado na transição para baixou ou para cima da borda falling edge cycle time rising edge

Síncrono Execução típica Ler o conteúdo de algum elemento de estado Enviar os valores para alguma lógica combinacional Escrever os resultado em algum elemento de estado State element 1 Combinational logic State element 2 Clock cycle

D-latch Duas entradas: Valor a ser armazenado (D) Clock (C) indicando quando ler e armazenar D Duas saídas: O valor do estado interno (Q) e seu complemento C Q D D _ Q C Q

D flip-flop Saída só muda na transição para baixo D D C D latch Q D C D latch Q _ Q Q _ Q D C C Q

Até agora Vamos usar D-flip flops para construir o banco de registradores Vamos construir o datapath Capítulo 4, Appendix B

Instruction Fetch Instruction address Instruction PC Add Sum Instruction memory a. Instruction memory b. Program counter c. Adder Usar o PC para encontrar a nova instrução PC = PC + 4

Instruction Fetch + PC update

R-Format Register format op-code rs rt rd shamt funct op-code rs rt rd shamt funct 6 5 5 5 5 6 op: basic operation of instruction funct: variant of instruction rs: first register source operand rt: second register source operand rd: register destination operand shamt: shift amount

Implementando Instruções R-Format Register numbers Data 5 Read 3 register 1 5 5 Read register 2 Registers Write register Write data Read data 1 Read data 2 Data ALU control Zero ALU ALU result RegWrite a. Registers b. ALU Operações formato R da ULA precisam do banco de registradores E uma ULA, claro

Banco de Registradores Read register number 1 Read register number 2 Register file Write register Write data Write Read data 1 Read data 2 Usando D flip-flops (mas não vamos tratar destes detalhes)

Implementando Loads e Stores MemWrite Address Write data Data memory Read data 16 Sign 32 extend MemRead a. Data memory unit b. Sign-extension unit Banco de Registradores, ULA, Unidade de memória de dados, unidade de extensão de sinal

Datapath para load e store 1. Acessa registradores 2. Cálculo de endereço de memória 3. Escrever ou ler na memória 4. Se load escrever no banco de registrador

branch target = PC + 4 + (sign extended 16 bits)>>2 Datapath para um Branch Usa a ULA para a condição do branch e outro somador para o branch