linguagem de maquina
Linguagem de Máquina
Ivan Saraiva Silva
Introdução à ISA MIPS
Introdução à ISA MIPS
• MIPS = Microprocessor Without Interlocked
Pipeline Stage
• ISA = Istruction Set Architecture
– Contem definições da arquiteturais relativas a programação •
•
•
•
Tipos de dados
Registradores
Instruções
....
Instruções MIPS
• MIPS pode ter instruções com:
– Três endereços
• add $s1, $s2, $s3
– Dois endereços
• lw $s1, 0($s3)
• Inclui um operando imediato
– Um endereço
– J address
Formato de Instruções MIPS
• A ISA MIPS usa três formatos de instrução
6 bits
5 bits
5 bits
5 bits
5 bits
6 bits
op
rs
rt
rd
shamt
funct
Formato tipo R (Operações entre registradores)
6 bits
5 bits
5 bits
16 bits
op
rs
rt
constante ou endereço
Formato tipo I (Endereçamento imediato)
Instruções de Formato R
•
•
•
•
•
•
op: opcode – operação básica da instrução rs: registrador do primeiro operando de origem rt: registrador do segundo operando de origem rd: registrador do operando destino shamt: Quantidade de deslocamento funct: função – define uma variante da operação
6 bits
5 bits
5 bits
5 bits
5 bits
6 bits
op
rs
rt
rd
shamt
funct
Formato tipo R
Formato de Instruções MIPS
• A ISA MIPS usa três formatos de instrução
6 bits
26 bits
op
constante ou endereço
Formato tipo J (Saltos e chamada de procedimentos)
Representando Instruções Tipo R
• Exemplo:
• Como codificar: add $t0, $s1, $s2 op 6 bits
rs
5 bits
rt
5 bits
rd
5 bits
shant
5 bits
000000
10001
10010
01000
00000
add
(17 = $s1) (18 = $s2) (8 = $t0)
funct
6 bits
100000
Uso de Registradores no MIPS
• 32 registradores estão disponíveis no MIPS
• Uso dos registradores é especificado pela
ISA
– $s0, $s1, $s2, … # para variáveis
– $t0, $t1, $t2, … # para temporários
• A palavra do MIPS é de 32