Documente Academic
Documente Profesional
Documente Cultură
Computadores
Aula Prática n.º 1
Ano Lectivo de 1999/2000
n = 57 (base 10) = ? base (2) n = 00111001 (2) = ? base (10)
57/2 = 28 : 1
00111001 (2) =
28/2 = 14 : 0
= 0x27+0x26+1x25+1x24+1x23+0x22+0x21+1x20
14/2 = 7 : 0
= 32 + 16 + 8 + 1
7/2 = 3 : 1
= 57 (10)
3/2 = 1 : 1
1/2 = 0 : 1
1. Indique a representação binária de 8 bits sem sinal dos seguintes números inteiros
:
a. 75
b. 102
c. 127
d. 240
2. Passe para a base decimal os seguintes números inteiros codificados na base
binária sem sinal:
a. 00101010
b. 01100101
c. 10010010
d. 11100011
3. Indique a representação binária de 8 bits com sinal em complemento para 2 dos
seguintes números inteiros:
a. 20
b. -20
c. 126
d. -126
4. Passe para a base decimal os seguintes números inteiros codificados na base
binária com sinal em complemento para 2:
a. 00101010
b. 01100101
c. 10010010
d. 11100011
5. Indique quais dos seguintes números não é possível representar na base binária
usando a representação em complemento para 2 com 8 bits:
a. 127
b. 128
c. -128
d. -129
6. Calcule o resultado das seguintes operações usando durante o cálculo a base
binária na representação em complemento para 2 com 8 bits :
a. 15 + 10
b. 13 - 4
c. -25 + 20
d. -14 - 20 (será que é possível representar o resultado desta operação com 8
bits)
e. 120+10 (será que é possível representar o resultado desta operação com 8
bits)
Arquitectura de
Computadores
Aula Prática n.º 2
Ano Lectivo de 1999/2000
float = 32 bits= 1 / 8 / 23 ( Sinal / Expoente / Mantissa)
double = 64 bits= 1 / 11 / 52 ( Sinal / Expoente / Mantissa)
Sinal = 0
Expoente - desvio = -1 <=> Expoente = 126
Mantissa = 11011000000000000000000
x = 0 01111110 11011000000000000000000
x= 00111111011011000000000000000000 (base 2 / IEEE754) = ? base (2)
00111111011011000000000000000000
= 0 01111110 11011000000000000000000
Sinal = 0
Expoente = 126<=> Expoente - desvio = -1
Mantissa = 11011000000000000000000
7. Indique a representação binária formato IEEE754 32bits com sinal dos seguintes
números:
a. 0.25
b. 0.046875
c. -16.375
d. -0.5625
10. Qual o número normalizado mais pequeno que pode representar com precisão
simples/dupla ?
e não normalizado ?
e o maior normalizado com precisão simples/dupla ?
11. Calcule: 1.00101 x 2-126 - 1.00010 x 2-126
Há overflow ?
Há underflow ?
Que tipo de valor IEEE754 é obtido ?
Arquitectura de
Computadores
Aula Prática nº 3
Ano Lectivo de 1999/2000
Arquitectura de
Computadores
Aula Prática nº 4
Ano Lectivo de 1999/2000
1) Faça download dos seguintes ficheiros para a sua área: emu.c, p1.h, p2.h
Estes 3 ficheiros irão servir de base para o primeiro trabalho prático que consiste no
desenvolvimento de um emulador capaz de correr programas escritos no pseudo-
assembly definido nas aulas teóricas.
No ficheiro emu.c encontrará uma primeira versão do emulador, contendo apenas um
conjunto muito restrito de instruções:
ADD R1 R2 R3 R1 = R2 + R3
...
NOT R1 R2 R1 = not R2
...
LW R1 R2 ADDR R1 = *(ADDR +R2)
...
BEQ R1 R2 ADDR PC = (R1==R2)? PC+4+ADDR:PC+4
...
J ADDR PC = ADDR
...
SYS 0 stop cpu
SYS 1 print registers
SYS 2 R1 print (int R1)
SYS 3 R1 R1 = read (int )
SYS 4 R1 print (char R1)
SYS 5 R1 R1 = read (char )
SYS 6, n print ( string n)
SYS 9 clear screen
...
Nesta aula prática pretende-se que perceba e execute o código do emulador apresentado,
e que adicione as seguintes instruções : SUB, AND, SW, BNE
4) Será que com o actual conjunto de instruções, e com os registos todos a zero,
consegue resolver o problema da pergunta 2 ? E com as posições de memória também
zero ? Qual seria a instrução necessária para poder resolver o problema ?