Mips
MIPS
1998 Morgan Kaufmann Publishers
Paulo C. Centoducatte
Ch3-1
RISC X CISC
RISC (Reduced Instruction Set
Computer)
CISC (Complex Instruction Set
Computer)
1. Instruções simples
1. Instruções complexas
2. Referencias a memória só com
LOAD/STORE
2. Qualquer instrução pode referenciar à memória 3. Uso intensivo de Pipeline
3. Pouco uso de Pipeline
4. Instruções de formato Fixo
4. Instruções com formato variável
5. Poucas instruções com poucos modos de endereçamento
5. Muitas instruções com muitos modos de endereçamento
6. Compilador complexo
6. A complexidade está no microprograma 7. Vários registradores
7. Poucos registradores
Paulo C. Centoducatte
1998 Morgan Kaufmann Publishers
Ch3-2
Conjunto de Instruções
•
Instrução é uma palavra da linguagem de máquina
•
ISA (Instruction Set Architecture)
– Conjunto de instruções de uma máquina
•
ISA MIPS
– 3 formatos de instruções
– instruções de 3 operandos
Programa em C a = b + c; d = a – c; f = ( g + h ) – ( i + j );
Assembly MIPS add a,b,c sub d,a,c add t0,g,h add t1,i,j sub f,t0,t1 o compilador cria t0 e t1 .
Paulo C. Centoducatte
•
1998 Morgan Kaufmann Publishers
Ch3-3
Operandos
– No MIPs os operandos das instruções são registradores
• 32 registradores de 32 bits
Programa em C f = ( g + h ) – ( i + j );
Paulo C. Centoducatte
Assembly MIPS add $t0,$s1,$s2 add $t1,$s3,$s4 sub $s0,$t0,$t1
1998 Morgan Kaufmann Publishers
Ch3-4
Instruções de Movimentação de Dados
•
Load e Store
– lw : instrução de movimentação de dados da memória para registrador ( load word )
– sw: instrução de movimentação de dados do registrador para a memória ( store word )
– Exemplo:
Seja A um array de 100 palavras. O compilador associou à variável g o registrador $s1 e a h $s2, além de colocar em $s3 o endereço base do vetor. Traduza o comando em C abaixo. g = h + A[8];
1998 Morgan Kaufmann Publishers
Paulo C. Centoducatte
Ch3-5
Solução
Primeiro devemos carregar um registrador