Exemplo de arquitetura registrador-registrador- MIPS

Slides:



Advertisements
Apresentações semelhantes
MC542 Organização de Computadores Teoria e Prática
Advertisements

Conjunto de Instruções MIPS
PIPELINE (continuação).
Organização e Arquitetura de Computadores I Linguagem de Máquina
CPU: Controle e processamento
Arquitetura de Computadores
WebDesign Redes de Computadores Aula 05
WebDesign Redes de Computadores Aula 07
Arquitetura e organização de computadores.
A Arquitetura: conjunto de instruções
O Conjunto de Instruções
Fernando Moraes, Ney Calazans 26/10/2005
MIPS PIPELINE.
MIPS MULTICICLO Fluxo de Dados e Controle
Processador Fluxo de Dados e Controle
AULA 06 - MIPS PIPELINE.
Aula-02 Arquitetura do conjunto de instruções – ISA (Instruction Set Architecture)
MC542 Organização de Computadores Teoria e Prática
Pipeline.
Organização de Computadores Inserindo o Controle Identifica pontos de controle no caminho de dados – Busca da instrução – Operações lógicas e aritméticas.
Dados do Grupo. 1) Apresentação do Testbench Desenvolvido:
Joao Cláudio Soares Otero
Rganização de Computadores Melhorias de Desempenho com Pipelines - Parte B - Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de.
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador Parte B Capítulo 5 –
Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás rganização de Computadores Organização do Processador - Parte A Capítulo 5.
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Sistemas Digitais Microprocessados
Implementando um Montador com LEX e YACC - 3
(O método ad-hoc começa a falhar :-)
1998 Morgan Kaufmann Publishers Ch5B-1 O Processador: Via de Dados e Controle (Parte C: microprogramação)
Arquitetura de Computadores I
Autor: Fernando de Mesentier Silva
Melhorando o desempenho com pipeline
Nível Máquina Formatos de Instruções
Arquitecturas RISC Arquitectura e Conjunto de Instruções
Organização ou MicroArquitectura
Instruções: A Linguagem de Máquina – Aula 01
Processadores – Aula 3 Professor: André Luis Meneses Silva
Processadores – Aula 3 Professor: André Luis Meneses Silva
Introdução à Programação
Prof. Felipe Ferreira de Oliveira
Unidade Central de Processamento
Unidade Central de Processamento
Unidade Central de Processamento
Funcionamento básico de um computador
Classes de Arquiteturas Tipos de operação Codificação das operações
Pipeline O throughput de um pipeline é determinado pela freqüência com que uma instrução sai do pipeline. Todos os estágios devem estar prontos ao mesmo.
Unidade Central de Processamento UCP
Infra-estrutura de Hardware
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Processamento de dados na UCP e memória UCP
Unidade Central De Processamento: Processador
Conceitos Avançados de Arquitetura de Computadores Arquiteturas RISC Reduced Instruction Set Computer 6.
Arquitetura de Computadores 2009 Infra-estrutura Hardware
Parte 3 Seção de Dados e Unidade de Controle
1  1998 Morgan Kaufmann Publishers Paulo C. Centoducatte – MC542 - IC/Unicamp- 2006s Prof. Paulo Cesar Centoducatte
Estrutura do Processador
Instruções Condicionais e de Acesso a Memória Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala GSI013 –
A linguagem de Máquina – Instruções Básicas
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
 Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN)  Surgimento de novos paradigmas como a OO, Orientação.
TRABALHO AVALIATIVO ALUNO: FRANCISCO HELIÉSUS DE MEDEIROS MATÉRIA: ORGANIZAÇÃO DE COMPUTADORES.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
PSI3441 – Arquitetura de Sistemas Embarcados
Computador MIPS Organização básica e conjunto de instruções.
Caminho de Dados (aula passada)
PSI3441 – Arquitetura de Sistemas Embarcados
Conjunto de instruções
Transcrição da apresentação:

Exemplo de arquitetura registrador-registrador- MIPS

MIPS ISA – todas as instruções de 32 bits, em 3 formatos: Máquina RISC – aritmética registrador-registrador 32 registradores de 32 bits Memória endereçada por 32 bits, organizada em bytes – ou seja, a diferença de endereçamento de uma palavra (32 bits) e outra, da memória, é múltipla de 4. 230 words têm endereços de bytes 0, 4, 8, ... 232-4 R I J op rs rt rd funct op rs rt 16 bit address op 26 bit address

Banco de 32 Registradores do MIPS Notação: sempre usa $ como prefixo $0 . $31

Instruções típicas R I I J Instrução Significado add $s1,$s2,$s3 $s1 = $s2 + $s3 sub $s1,$s2,$s3 $s1 = $s2 – $s3 slt $s1,$s2,$s3 se $s2 < $s3 então $s1=1 senão $s1=0 lw $s1,100($s2) $s1 = Memory[$s2+100] sw $s1,100($s2) Memory[$s2+100] = $s1 bne $s4,$s5,L Próx. instr. é no Label se $s4< >$s5 beq $s4,$s5,L Próx. instr. é no Label se $s4 = $s5 j Label Próx. instr. é no Label Formatos: R I I J 6 5 5 5 5 6 R I J op rs rt rd funct op rs rt 16 bit address op 26 bit address

Instruções aritméticas usando operandos imediatos (constantes) instrução significado addi $29, $29, 4 I andi $29, $29, 6 ori $29, $29, 4 slti $t1, $s1, 2 $29 = $29+ 4 $29 = $29 and 6 $29 = $29 or 4 Se $s1 < 2 então $t1=1 senão $t1=0 Formato: I op rs rd 16 bits imediato

Modos de Endereçamento imediato registrador memória (dados) memória (instrução) memória (instrução)

HARDWARE: Unidades funcionais necessárias Mem.dados Mem. instrução Somador PC Extensão de sinal Banco de registradores ALU

Implementação de MIPS em um único ciclo controle PC regs Mem. instrução Mem. dados

Controle: - decodificação do opcode e geração dos sinais de controle ALU-control opcode sinais de controle

Fluxo numa instrução aritmética (R-format) RegDst ALUOp Memto Reg ALUSrc

Circuito de Controle (decodificação do opcode e geração dos sinais de controle) opcode 1 1 sinais de controle 1

Fluxo para a instrução lw LMD (Load Mem. Data)

Circuito de Controle (para lw) 1 opcode 1 1 1 1 1 sinais de controle 1

Fluxo para a instrução sw SMD – Store Mem. Data

Circuito de Controle (para sw) 1 1 opcode 1 1 1 sinais de controle 1

Fluxo para a instrução beq

Circuito de Controle (para beq) opcode 1 sinais de controle 1 1

Fluxo de dados multiciclo – usando uma única memória para instruções e dados ALUSrcA IorD RegDst MemtoReg ALUSrcB

Passo 1: Busca da instrução (Instruction Fetch) Usar o PC para a leitura da instrução e carga da mesma no registrador de instrução (Instruction Register). Incrementar o valor do PC por 4 e carregar o resultado no PC. IR = Memory[PC]; PC = PC + 4; Podemos obter os valores dos sinais de controle?

Passo 2: Decod. da Instrução e Busca de Registradores Leitura dos registradores rs e rt Computar o endereço de branch no caso da instrução de branch A = Reg[IR[25-21]]; B = Reg[IR[20-16]]; ALUOut = PC + (sign-extend(IR[15-0]) << 2); Preparando para acionar as linhas de controle baseadas no tipo de instrução (a instrução está sendo "decodificada" na lógica de controle)

Passo 3 (dependente da instrução) ALU está realizando uma das três funções, baseadas no tipo de instrução Referência à memória: ALUOut = A + sign-extend(IR[15-0]); R-type: ALUOut = A op B; Branch: if (A==B) PC = ALUOut;

Passo 4 (R-type ou acesso à memória) Acesso à memória através de loads e stores MDR = Memory[ALUOut]; ou Memory[ALUOut] = B; Fim das instruções R-type Reg[IR[15-11]] = ALUOut; A escrita é realizada no fim do ciclo, na borda

Passo 5 (Write-back, para instrução load) Reg[IR[20-16]]= MDR; Fim da instrução load!