Fernando Moraes, Ney Calazans 26/10/2005

Slides:



Advertisements
Apresentações semelhantes
Chapter Five The Processor: Datapath and Control (Parte B: multiciclo)
Advertisements

PIPELINE (continuação).
Software Básico Silvio Fernandes Universidade Federal Rural do Semiárido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula 05:
Unidade 7 SEQUÊNCIAS E REGULARIDADES
Circuitos básicos e representação em VHDL
Pontifícia Universidade Católica do Rio Grande do Sul
Fernando Gehm Moraes Ney Laert Vilar Calazans
Exemplo de arquitetura registrador-registrador- MIPS
MIPS MULTICICLO Fluxo de Dados e Controle
Processador Fluxo de Dados e Controle
Arquitetura de Sistemas Operacionais
Fernando Gehm Moraes César Marcon Ney Laert Vilar Calazans
MC542 Organização de Computadores Teoria e Prática
Arquiteturas Diferentes
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.
CISC e RISC.
DIAGRAMA DE ATIVIDADES
1 Sabendo-se que os pratos das balanças estão em equilíbrio, você seria capaz de dizer: Quantos quadrados corresponde um círculo ? Dica Mais dicas Elaboração:
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.
Implementando um Montador com LEX e YACC - 3
Auditoria de Segurança da Informação
1 Aula 7 ImplementandoSubprogramas Universidade do Vale do Rio dos Sinos
Autor: Fernando de Mesentier Silva
Fraction Action FRACÇÕES.
Processadores – Aula 3 Professor: André Luis Meneses Silva
Sistemas Operacionais
Processadores – Aula 3 Professor: André Luis Meneses Silva
Introdução à Programação
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
Unidade Central de Processamento
Unidade Central de Processamento
Unidade Central de Processamento
Funcionamento básico de um computador
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Cadastro de Docentes e Auxiliares de Educação Infantil
Ministério da Fazenda Secretaria de Política Econômica 1 Operações de Crédito Rural no Bioma Amazônia Banco do Brasil e Banco da Amazônia 2006 a 2008 (2º.
Comunicações do Bloco de Controle para Bloco de Dados e Memória
Arquitetura Cleópatra Bloco de Controle (Instruções e Microinstruções)
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Computador Cleópatra Arquitetura e Programação.
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.
Fundamentos de programação CUDA
Caríssimos. A todos, meus cumprimentos
Salas de Matemática.
Melhorando o erro de estado estacionário e a resposta transitória
UCP Memória Principal Controladores E/S
Ordenação Externa de Arquivos – Um exemplo
Arquiteturas Von Neumann e Harvard Computador Cleópatra
ORGANIZAÇÃO DE COMPUTADORES
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Agenda - Aula 2 Introdução (Computador Digital) Processadores
1.
Processamento de dados na UCP e memória UCP
Compras - Controle de estoque com dois ou mais depósitos
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
+14 Setembro 2014 Indicador > +20 Indicador 0 para +20 Indicador 0 para -20 Indicador < -20 Total da UE: +1 Indicador > +20 Indicador 0 para +20 Indicador.
Marca do evento Calendário de reuniões e encontros para o ano de 2011 Calendário 2011.
Rio Verde - Goiás - Brasil
Unidade Central De Processamento: Processador
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Organização e Arquitetura de Computadores
Jaime Vinícius de Araújo Cirilo- Engenharia de Produção
Capítulo 4 Nível da Microarquitetura
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Arquitetura Cleópatra Bloco de Controle.
Parte 3 Seção de Dados e Unidade de Controle
Afonso Ferreira Miguel
MIPS Monociclo (MIPS_V0) Estrutura e Implementação em VHDL Fernando Moraes 03/maio/2011 Revisada por Ney Calazans em agosto/2016.
Ney Calazans - outubro/2018 Com contribuições do Prof. César Marcon
Transcrição da apresentação:

Fernando Moraes, Ney Calazans 26/10/2005 MR3 Operação do Bloco de Dados e do Bloco de Controle Fernando Moraes, Ney Calazans 26/10/2005

Instruções Lógicas e Aritméticas result NPC IncPC ce rw +4 NPC Endereço Mem. Dados ‘ RIN CY1 IR[20:16] OP1 PC Instruções Memória de IR[25:21] AdRs Rd Memória de Dados Rs IR[20:16] AdRt ALU outalu RALU data MDR dtPC banco de registradores CY2 PC IR wpc CY1 Rt walu wmdr IR[15:11] AdRd OP2 IR[20:16] CY2 I_address instruction IR[15:0] EXT SINAL ce/rw cte_im Rs << 2 comp IMED Rt salta IR[25:0] “0000” & IR[25:0] & “00” CY2 Rt IR[15:0] EXT ZERO ADDU Rd, Rs, Rt SUBU Rd, Rs, Rt AND Rd, Rs, Rt OR Rd, Rs, Rt XOR Rd, Rs, Rt NOR Rd, Rs, Rt

Instruções de Deslocamento result NPC IncPC ce rw +4 NPC Endereço Mem. Dados ‘ RIN CY1 IR[20:16] OP1 PC Instruções Memória de IR[25:21] AdRs Rd Memória de Dados Rs IR[20:16] Notar: extensão de sinal é inútil, mas usar ela evita entrada adicional no mux Notar: registrador interno Rs é usado para conter Rt, pois o interno Rt compartilha entrada da ALU com Imed AdRt ALU outalu RALU data MDR dtPC PC IR banco de registradores CY2 wpc CY1 Rt walu wmdr IR[15:11] AdRd OP2 ULA desloca shamt bits IR[20:16] CY2 I_address instruction IR[15:0] EXT SINAL ce/rw cte_im Rs << 2 comp IMED Rt salta IR[25:0] “0000” & IR[25:0] & “00” CY2 Rt IR[15:0] EXT ZERO SLL Rd, Rt, shamt SRL Rd, Rt, shamt

banco de registradores Instruções Lógicas e Aritméticas Imediatas e LUI result NPC IncPC ce rw +4 NPC Endereço Mem. Dados ‘ RIN CY1 IR[20:16] OP1 PC Instruções Memória de IR[25:21] AdRs Rd Memória de Dados Rs IR[20:16] AdRt ALU outalu RALU data MDR dtPC PC IR banco de registradores CY2 wpc CY1 Rt walu wmdr IR[15:11] AdRd OP2 IR[20:16] CY2 I_address instruction IR[15:0] EXT SINAL ce/rw SÓ ESTENDE SINAL NA INSTRUÇÃO ADDIU, OUTRAS ESTENDEM ZERO cte_im Rs << 2 comp IMED Rt salta IR[25:0] “0000” & IR[25:0] & “00” CY2 Rt Não se usa Rs no LUI IR[15:0] EXT ZERO ADDIU Rt, Rs, Imed16 ANDI Rt, Rs, Imed16 ORI Rt, Rs, Imed16 XORI Rt, Rs, Imed16 LUI Rt, imed16

Instruções de Leitura da Memória: LBU/LW result NPC IncPC ce rw +4 NPC Endereço Mem. Dados ‘ RIN CY1 IR[20:16] OP1 PC Instruções Memória de IR[25:21] AdRs Rd Memória de Dados Rs IR[20:16] AdRt ALU outalu RALU data MDR dtPC PC IR banco de registradores CY2 wpc CY1 Rt walu wmdr IR[15:11] AdRd OP2 IR[20:16] CY2 I_address instruction IR[15:0] EXT SINAL ce/rw cte_im Rs << 2 comp IMED Rt salta IR[25:0] “0000” & IR[25:0] & “00” CY2 Rt IR[15:0] EXT ZERO wmdr ce rw bw Mem. de Dados MDR x“000000” & data LBU Rt, Imed16(Rs) LW Rt, Imed16(Rs) Atenção: na instrução LBU, gravar em MDR o byte LSB e bytes em zero nos 3 MSBs

Instruções de Escrita na Memória: SB/SW RIN outalu data Rt wmdr CY1 ce rw Endereço Mem. Dados ‘ ce/rw walu dtPC instruction I_address NPC OP1 PC OP2 result CY2 Rs +4 Instruções Memória de RALU IR Memória de Dados IMED MDR banco de registradores AdRt AdRs AdRd Rd cte_im ALU Atenção: Write back não existe nestas instruções IncPC IR[20:16] Atenção: carga destes três registradores é útil IR[25:21] IR[20:16] wpc IR[15:11] IR[20:16] IR[15:0] EXT SINAL Rs << 2 comp salta IR[25:0] “0000” & IR[25:0] & “00” Rt IR[15:0] EXT ZERO SB Rt, Imed16(Rs) (ativar bw) SW Rt, Imed16(Rs)

Instruções de Comparação – SLT/SLTU result NPC IncPC ce rw +4 NPC Endereço Mem. Dados ‘ RIN CY1 IR[20:16] OP1 PC Instruções Memória de IR[25:21] AdRs Rd Memória de Dados Rs IR[20:16] AdRt ALU outalu RALU data MDR dtPC CY2 PC IR banco de registradores wpc CY1 Rt walu wmdr IR[15:11] AdRd OP2 IR[20:16] CY2 I_address instruction IR[15:0] EXT SINAL ce/rw cte_im Rs << 2 comp IMED Rt salta IR[25:0] “0000” & IR[25:0] & “00” CY2 Rt IR[15:0] EXT ZERO SLT Rd, Rs, Rt SLTU Rd, Rs, Rt IGUAIS ÀS ARITMÉTICAS

banco de registradores Instruções de Comparação Imediatas - SLTI/SLTIU result NPC IncPC ce rw +4 NPC Endereço Mem. Dados ‘ RIN CY1 IR[20:16] OP1 PC Instruções Memória de IR[25:21] AdRs Rd Memória de Dados CUIDAR: SLT ESTENDE SINAL, SLTIU NÃO ESTENDE Rs IR[20:16] AdRt ALU outalu RALU data MDR dtPC banco de registradores CY2 PC IR wpc CY1 Rt walu wmdr IR[15:11] AdRd OP2 IR[20:16] CY2 I_address instruction IR[15:0] EXT SINAL ce/rw cte_im Rs << 2 comp IMED Rt salta IR[25:0] “0000” & IR[25:0] & “00” CY2 Rt IR[15:0] EXT ZERO SLTI Rt, Rs, Imed16 SLTIU Rt, Rs, Imed16

Instruções de Salto Condicional result Em função da comparação Rs/Rt, salta ou não Terceiro ciclo: gera o endereço de salto; salta (escreve no PC) dependendo da comparação Rs/Rt NPC IncPC ce rw +4 NPC Endereço Mem. Dados ‘ RIN CY1 IR[20:16] OP1 PC Instruções Memória de AdRs Rd Memória de Dados IR[25:21] Rs IR[20:16] AdRt ALU outalu RALU data MDR dtPC banco de registradores CY2 PC IR wpc CY1 Rt walu wmdr IR[15:11] AdRd OP2 IR[20:16] CY2 I_address instruction IR[15:0] EXT SINAL ce/rw cte_im Rs << 2 comp IMED Rt salta IR[25:0] “0000” & IR[25:0] & “00” CY2 Rt IR[15:0] EXT ZERO BEQ Rs, Rt, rótulo BGEZ Rs, rótulo BLEZ Rs, rótulo BNE Rs, Rt, rótulo

Instruções de Salto Incondicional J result NPC IncPC ce rw +4 NPC Endereço Mem. Dados ‘ RIN CY1 IR[20:16] OP1 PC Instruções Memória de IR[25:21] AdRs Rd Memória de Dados Rs IR[20:16] AdRt ALU outalu RALU data MDR dtPC CY2 PC IR banco de registradores Cuidado! Para simplificar este bloco, concatenação dos 4 bits superiores do PC para gerar endereço de salto é feita na ALU. wpc CY1 Rt walu wmdr IR[15:11] AdRd OP2 IR[20:16] CY2 I_address instruction IR[15:0] EXT SINAL ce/rw cte_im Rs << 2 comp IMED Rt salta IR[25:0] “0000” & IR[25:0] & “00” CY2 Rt IR[15:0] EXT ZERO J Imed26

Exercício JAL Imed26 JALR Rd, Rs JR Rs

Multiplicação e Divisão Usar div/mod Consome 3 ciclos de clock para gravar no Lo e Hi

Banco de Registradores

Bloco de Controle Três primeiros ciclos iguais para todas as instruções