SSC0611 Arquitetura de Computadores

Documentos relacionados
SSC0114 Arquitetura de Computadores

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

SSC0902 Organização e Arquitetura de Computadores

MIPS ISA (Instruction Set Architecture)

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

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

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

SSC0112 Organização de Computadores Digitais I

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

DataPath II Tomando o controle!

Infraestrutura de Hardware. Instruindo um Computador

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

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

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

Relembrando desempenho...

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

Relembrando desempenho...

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

SSC0611 Arquitetura de Computadores

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

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

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

Organização e Arquitetura de Computadores I

Capítulo 3. Instruções: Aritmética MIPS

Infra-estrutura de Hardware

Capítulo 3. This material may not be copied or distributed for commercial purposes without express written permission of the copyright holder.

O Funcionamento do Processador

O Funcionamento do Processador

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

Arquitecturas Alternativas. Arquitectura X86-64 Arquitecturas RISC Exemplo: MIPS Desempenho de sistemas Pipelining

SSC0902 Organização e Arquitetura de Computadores

Cap - 3: Linguagem de Máquina - MIPS

AULA 05: LINGUAGEM DE MONTAGEM: SUPORTE A PROCEDIMENTOS

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

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

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA VII

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

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

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

Arquitetura de Computadores. Linguagem de Máquina

Arquitetura de Computadores

Organização de Computadores

Organização e Arquitetura de Computadores I

Organização de Unidades de Processamento

Conjunto de Instruções MIPS Parte IV

Operações de Controle de Fluxo e Acesso a Memória. Na Aula Anterior... Nesta Aula. Instruções de Controle de Fluxo. if then - else.

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

Organização e Arquitetura de Computadores I

Prof. Gustavo Oliveira Cavalcanti

Especificação do Projeto de Processador RISC

O Processador: Via de Dados e Controle

Arquitetura de Computadores MIPS

ção de Computadores II

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

Conjunto de Instruções MIPS Parte I

Arquiteturas de Computadores

ARQUITECTURA DE COMPUTADORES

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

Faculdade de Computação

Microcontroladores e Interfaces

Sistemas de Computação Gabarito - Lista 2

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

Questionário Arquitetura e Organização de Computadores

Infraestrutura de Hardware. Instruindo um Computador Subrotinas, Tipos de Dados e Modos de Endereçamento

Organização ou MicroArquitectura

MIPS. Prof. Carlos Bazilio

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

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

Computadores de Programação (MAB353)

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

Anotações da 2a Edição

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

RISC simples. Aula de Março de

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski

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

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

Arquitetura de Computadores

Lista de Revisão para a Primeira Avaliação

Conjunto de Instruções e Arquitectura p.1

MICROPROCESSADORES II (EMA911915) NIOS II - ASSEMBLY 2 O SEMESTRE / 2018

MODOS DE ENDEREÇAMENTO

Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans

SSC0112 Organização de Computadores Digitais I

PSI3441 Arquitetura de Sistemas Embarcados

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização. Resposta:

Arquiteturas de Computadores

1: 2: 2, [1] [2] 0x x001f8021 $16,$0,$31 13 [3] 0x x

Figura 1. Datapath do MIPS Superescalar Especulativo CES SE

PSI3441 Arquitetura de Sistemas Embarcados

MICROPROCESSADORES II (EMA911915) SUB-ROTINAS E PILHA 2 O SEMESTRE / 2018

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

Faculdade de Computação

Nível da Arquitetura do Conjunto das Instruções

UCP: Construindo um Caminho de Dados (Parte I)

Sumário. Aula Anterior. Exercício 7.1 Contagem de bits a 1 numa palavra Exercício 7.2 Deslocamento de n bits num operando de 64 bits.

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Aula 1. Cibele Lemos Freire Viginoski

Arquiteturas de Computadores

Faculdade de Computação

Transcrição:

SSC0611 Arquitetura de Computadores 2ª e 3ª Aulas Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1

Arquitetura MIPS MIPS: Microprocessor without interlocked pipeline stages (microprocessador sem estágios interligados de pipeline) RISC Patterson e Séquin (1980) MIPS Hennessy (1981) Desenvolvida pela MIPS Computer System (fundada pelo Hennessy em 1984) Comprada pela Silicon Graphics em 1992, que criou uma subsidiária chamada MIPS Technologies, Inc 2

ISA (Instruction Set Architecture) Quantidade e função dos registradores 32 registradores de propósito geral Todos começam com o símbolo $ Formato das Instruções 3 tipos Modos de endereçamento 5 modos 3

Registradores do MIPS $0 $zero, $r0 Sempre zero $1 $at Reservado para o assembler (assembler temporary) $2, $3 $v0, $v1 Primeiro e segundo valores de retorno, respectivamente $4,..., $7 $a0,..., $a3 Primeiros quarto argumentos para funções $8,..., $15 $t0,..., $t7 Registradores temporários $16,..., $23 $s0,..., $s7 Registradores salvos $24, $25 $t8, $t9 Mais registradores temporários $26, $27 $k0, $k1 Reservados para o Kernel do SO $28 $gp Global pointer (ponteiro global) $29 $sp Stack pointer (ponteiro para a pilha) $30 $fp Frame pointer (ponteiro para o frame) $31 $ra Return address (endereço de retorno) 4

Tipos das instruções Instruções Aritméticas e Simples add, addi, addu, addiu, Instruções de Operandos Lógicos and, andi, or, ori Instruções de Uso da Memória lw, lh, lb, sw, sh, sb Instruções de Controle de Fluxo beq, bne, j Instruções de Comparações slt 5

Formato das instruções 3 formatos: Tipo R (R-format), envolvendo registrador-registrador Tipo I (I-format), envolvendo valor imediado Tipo J (J-format), de desvio 3 Formatos de Instruções OP OP OP rs rt rd sa funct rs rt immediate jump target R format I format J format 6

Tipo R Campos: op rs rt rd shamt funct 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits op: código da operação (opcode) rs: número do primeiro registrador de origem rt: número do segundo registrador de origem rd: número do registrador destino shamt: quantidade de bits a ser deslocado funct: função específica a ser realizada 7

Tipo R Exemplos: add $t2, $t1, $t0 000000 01001 01000 01010 00000 100000 Op = 0x0 rs = 9 rt = 8 rd = 10 shamt f = 0x20 sub $s7, $t8, $0 000000 11000 00000 10111 00000 100010 Op = 0x0 rs = 24 rt = 0 rd = 23 shamt f = 0x22 8

Tipo I Campos: op: código da operação (opcode) rs: número do registrador base a ser operado com o valor imediato ou operando rt: número do registrador de destino ou operando constante: 2 15 a +2 15 1 endereço: op rs rt constante ou endereço 6 bits 5 bits 5 bits 16 bits 9

Tipo I Exemplos: addi $s1, $s2, 100 001000 10010 10001 0000000001100100 Op = 0x8 rs = 18 rt = 17 constante = 100 beq $t0, $t1, 100 000100 01000 01001 0000000001100100 Op = 0x4 rd = 8 rs = 9 constante = 100 10

Tipo I Como carregar uma constante de 32 bits? Duas instruções: lui $t0, 1010101010101010 (load upper immediate) 100000 00000 01000 1010101010101010 ori $t0, $t0, 1010101010101010 (or immediate) 1010101010101010 0000000000000000 0000000000000000 1010101010101010 1010101010101010 1010101010101010 11

Tipo J op endereço Campos: 6 bits 26 bits op: código da operação (opcode) endereço: endereço destino 12

Tipo J Exemplos: j 245 00010 00000000000000000011110101 OP = 0x2 Endereço = 245 Como transformar esse valor de 26 bits em um endereço de 32 bits? 26 00 4 PC 32 32 13

Modos de endereçamento 14

Modos de endereçamento Endereçamento imediato addi $s2, $s1, 100 (Tipo I) Endereçamento por registrador add $t2, $t1, $t0 (Tipo R) Endereçamento com base lw $t0, 8($s1) (Tipo I) Relativo ao PC beq $t0, $t1, 28 (Tipo I) Endereçamento pseudo-direto j 300 (Tipo J) 15

Os 4 Princípios de Projeto do MIPS (RISC) Simplicidade favorece a regularidade Instruções fixas de 32 bits Pequeno número de formato de instruções O opcode está sempre nos 6 bits mais significativos Bons projetos requerem compromissos 3 formatos de instruções Menor é melhor Conjunto de instruções limitado Número de registradores no banco de registradores limitado Número de modos de endereçamento limitado Torne o caso comum rápido Operandos aritméticos estão no banco de registradores (máquina load-store) Permitir que as instruções tenham operandos imediatos 16

MIPS Multiciclo Etapas: 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 17

MIPS Multiciclo 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 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 PC <= {PC[31:28], (IR[25:0],2 b00)} Acesso à memória ou conclusão de instrução tipo R Reg[IR[15:11]] <= ALUout Load: MDR <= Memory[ALUout] ou Store: Memory[ALUout] <= B Conclusão da leitura da memória Load: Reg[IR[20:16]] <= MDR 18