Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Aula 3

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 27

Arquitetura de

Computadores
Prof. Rodrigo Monteiro de Aquino
Arquitetura de Computadores
Linguagem do computador

● Dígito binário (bit)


○ Representação numérica em base 2 (0 ou 1)
Arquitetura de Computadores
Linguagem do computador

● Representação numérica em base 2

De maneira geral, a representação de um dígito em qualquer base pode ser expressa como:

d x Basei
Exemplo:

25dec = 2x101 + 5x100

1011bin = 1x23 + 0x22 + 1x21 + 1x20 = 11dec


Arquitetura de Computadores
Linguagem do computador

● Na arquitetura MIPS, que veremos nesta disciplina, teremos a representação de valores em


32 bits:

Dígito mais significativo Dígito menos significativo


Arquitetura de Computadores
Linguagem do computador

● Como temos 32 posições nesta representação:


○ Total de combinações possíveis: 232 números diferentes
○ Em decimal: de 0 a 232 - 1 (4.294.967.295dec)
Arquitetura de Computadores
Linguagem do computador

● 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

● Conversão da representação binária em complemento de 2 para decimal:

(𝑥31 ✕ -231) + (𝑥31 ✕ 230) +(𝑥31 ✕ 229) + … + (𝑥31 ✕ 21) + (𝑥31 ✕ 20)

Bit de sinal
Arquitetura de Computadores
Linguagem do computador

● Conversão da representação binária em complemento de 2 para decimal:

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

Negação na representação em complemento de dois: (regra geral: x + ẍ = –1)

Inverter os dígitos 0 para 1 e os dígitos 1 para 0 e somar 1


Arquitetura de Computadores
Linguagem do computador

● Operações

Conversão de número em n bit para representação com mais n bits

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

● Conversão dos “blocos” de 4 bits para dígitos hexadecimal


Arquitetura de Computadores
Linguagem do computador

Representação hexadecimal

● Temos 16 símbolos neste sistema

Tabela de conversão de hexadecimal para binário


Arquitetura de Computadores
Linguagem do computador

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

230 palavras na memória


Arquitetura de Computadores
Linguagem do computador

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

● Conversão de operações mais complexas


○ Utilizando o conceito de “variáveis” em uma linguagem de alto nível:
■ f = (g+h) - (i+j)
○ Em instruções assembly do MIPS:
■ add t0, g, h # t0: variável temporária
■ add t1, i, j # t1: variável temporária
■ sub f, t0, t1 # f: variável de resultado da operação
Arquitetura de Computadores
Linguagem do computador

Instruções de transferência de dados

● 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

Instruções de transferência de dados

● 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

Instruções de transferência de dados

● 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

Instruções de transferência de dados 20

● 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

Instruções de transferência de dados 20

● 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!

Prof. Rodrigo Monteiro de Aquino


rodrigo.aquino@eseg.edu.br

Você também pode gostar