Aula 3
Aula 3
Aula 3
Computadores
Prof. Rodrigo Monteiro de Aquino
Arquitetura de Computadores
Linguagem do computador
De maneira geral, a representação de um dígito em qualquer base pode ser expressa como:
d x Basei
Exemplo:
● Problemas:
○ Representação de todos os números possíveis?
■ Overflow
Arquitetura de Computadores
Linguagem do computador
● Problemas:
○ Como representar números negativos?
■ Representação por complemento de 2
Arquitetura de Computadores
Linguagem do computador
(𝑥31 ✕ -231) + (𝑥31 ✕ 230) +(𝑥31 ✕ 229) + … + (𝑥31 ✕ 21) + (𝑥31 ✕ 20)
Bit de sinal
Arquitetura de Computadores
Linguagem do computador
Exemplo:
1111 1111 1111 1111 1111 1111 1111 1100bin= 1x (-231) + 1x230 + … + 1x23 + 1x22 + 0x21 + 0x20
= -2.147.483.648dec + 2.147.483.644dec
= -4dec
Arquitetura de Computadores
Linguagem do computador
● Operações
● Operações
Extensão de sinal: Replicar o bit de sinal para os números mais a esquerda (mais significativos)
e copiar os dígitos restantes:
Arquitetura de Computadores
Linguagem do computador
Representação hexadecimal
Representação hexadecimal
Representação hexadecimal
Arquitetura de Computadores
Linguagem do computador
Conceitos
● Programa armazenado
Arquitetura de Computadores
Linguagem do computador
Conceitos
● Programa armazenado
● Palavra (word) de 32 bits (4 bytes)
1 byte: 8 bits
Arquitetura de Computadores
Linguagem do computador
Conceitos
● Programa armazenado
● Palavra (word) de 32 bits (4 bytes)
● Endereçamento em múltiplos de 4
Arquitetura de Computadores
Linguagem do computador
A arquitetura MIPS
● Registradores
○ Locais embutidos diretamente no hardware, que armazenam valores para que o
processador realize cálculos
○ Operações não podem ser realizadas diretamente na memória
32 Registradores
$s0-$s7, $t0-$t9, $zero, $a0-$a3, $v0-$v1, $gp, $fp, $sp, $ra, $at
Operações aritméticas
● Soma
○ add $s1, $s2, $s3
■ “Somar os valores armazenados nos registradores $s2 e $s3 e
armazene o resultado no registrador $s1”
● Subtração
○ sub $s1, $s2, $s3
■ “Subtrair o valor armazenado no registradores $s3 do valor
armazenado em $s3 e armazene o resultado no registrador $s1”
Arquitetura de Computadores
Linguagem do computador
Operações aritméticas
● Soma imediata
○ addi $s1, $s2, 20
■ “Somar o valor 20 ao valor armazenado no registrador $s2 e
armazene o resultado no registrador $s1”
Arquitetura de Computadores
Linguagem do computador
Operações aritméticas
● Load word
○ lw $s1, 32($s2)
■ “Utilizando o valor armazenado no registrador $s2 como base,
armazene o valor da posição 8 do vetor no registrador $s1”
Por quê??
Arquitetura de Computadores
Linguagem do computador
● Load word
○ lw $s1, 32($s2)
■ “Utilizando o valor armazenado no registrador $s2 como base,
armazene o valor da posição 8 do vetor no registrador $s1”
● Endereçamento
Por quê?? em bytes
Arquitetura de Computadores
Linguagem do computador
● Load word
○ lw $s1, 32($s2)
■ “Utilizando o valor armazenado no registrador $s2 como base,
armazene o valor da posição 8 do vetor no registrador $s1”
● Palavras de 4
Por quê?? bytes
Arquitetura de Computadores 32
28
Linguagem do computador
24
● Load word 16
○ lw $s1, 32($s2)
■ “Utilizando o valor armazenado no registrador $s2 como base,
armazene o valor da posição 8 do vetor no registrador $s1”
● Palavras de 4
Por quê?? bytes
Arquitetura de Computadores 32
28
Linguagem do computador
24
● Store word 16
○ sw $s1, 32($s2)
■ “Armazene o valor armazenado no registrador $s1 na posição 8
do vetor utilizando o valor armazenado no registrador $s2 como
base”
Fim!