Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Organizao de Computadores
Teoria e Prtica
MC542
Organizao de Computadores
Teoria e Prtica
Referncias:
David M. Harris & Sarah L. Harris, Digital Design and Computer Architecture - DDCA Stephen Brown & Zvonko Vranesic, Fundamentals of Digital Logic (with VHDL design) FDL David A. Patterson & John L. Hennessy, Computer Organization and Design (the hardware/software interface) - COD
MC542 1.2
MC542 Introduo
MC542 1.3
Objetivos Abstrao
Abstrao Digital
Binrio
Representao de Nmeros (Reviso)
Posicional Inteiros sem Sinal
Decimal Binrio Hexadecimal e Octal Converso entre bases Valores e Intervalos
MC542 1.4
Adio e Subtrao
Sinal e Magnitude Complemento de 1 Complemnto de 2 Overflow
BCD
MC542 1.5
Objetivos
Consideraes:
Familiaridade com eletricidade bsica Experincia com programao
Objetivos do Curso Aprender os principios de projetos digitais Aprender como um computador funciona Projetar um microprocessador
MC542 1.6
Abstrao
Application Software Operating Systems programs
Um sistema pode ser visto com nveis de detalhes diferentes. Abstrao usada para esconder detalhes quando eles no so importantes.
device drivers
instructions registers datapaths controllers adders memories AND gates NOT gates amplifiers filters transistors diodes
Microarchitecture
Logic
Devices
Physics
MC542 1.7
Abstrao Digital
A maioria das variveis fsicas so continuas, exemplo:
Tenso em um fio Freqncia Posio de um objeto em um plano
Usando abstrao digital, no se considera todos os valores possveis e sim somente um conjunto discreto de valores
MC542 1.8
Analytical Engine
Projetado por Charles Babbage (1834 1871) Considerado como o primeiro computador digital Representava valores discretos (0-9)
MC542 1.9
Binrio
Considera somente dois valores discretos:
1s e 0s 1: TRUE, HIGH 0: FALSE, LOW
1 e 0 podem ser representados por um nvel de voltagem especfica ou outra grandeza fsica Circuitos digitais, em geral usam um nvel de voltagem especfico para representar o 1 e o 0 Bit: Binary digit
MC542 1.10
1's
10's
100's
1000's
5 3 7 410 = 5 10 3 + 3 10 2 + 7 10 1 + 4 10 0
milhares centenas dezenas unidades
MC542 1.11
1 1 0 12= 1 23 + 1 22 + 0 21 + 1 20 = 1310
V(B) = bn-1x2n-2 + bn-2xbn-3 + + b1 + b0 2 2 Converso de Decimal para Binrio: Diviso sucessiva por 2
MC542 1.13
Exemplo
MC542 1.14
Exerccios
Converter 101012 para decimal
MC542 1.15
Valores e Intervalos
Considere um nmero decimal com N-dgitos
Representa 10N possveis valores O Intervalo : [0, 10N - 1] Exemplo, Um nmero decimal 3-dgitos representa 103 = 1000 valores, com intervalo de [0, 999]
MC542 1.16
Nmeros Hexadecimal
Base 16
Equivalente Binrio 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
MC542 1.17
Nmeros Octal
Base 8
MC542 1.18
MC542 1.19
0x4AF
10010110
most significant bit
byte
10010110
nibble
Bytes
CEBF9AD7
most significant byte least significant byte
MC542 1.21
Potncias de 2
210 = 1 kilo 1000 (1024)
MC542 1.22
Estimando Potncia de 2
Qual o valor de 222? 22 220 = 4 Mega Quantos valores uma vriavel de 32-bit pode representar? 22 230 = 4 Giga
MC542 1.23
Soma
Decimal
carries
Binria
carries
MC542 1.24
1001 + 0101
1011 + 0110
MC542 1.25
Overflow
Sistemas Digitais operam com um nmero fixo de bits A Adio tem overflow quando o resultado no pode ser representado com o nmero de bits disponveis Exemplo: somar 13 e 5 usando nmeros de 4-bit
bn1 bn2
b1
b0
- 5 = 11012 +5 = 01012
Intervalo de um nmero N-bit sinal/magnitude:
[-(2N-1-1), 2N-1-1]
MC542 1.28
MC542 1.29
MC542 1.30
K = 2n - P
K = (2n - 1) + 1 - P K = (2n - 1) P + 1
[-2N-1, 2N-1-1]
MC542 1.32
MC542 1.33
Exemplo: -5 + 5:
1101 + 0101 10010
(+5) + ( 2) (+3)
(5 ) + (2 ) (7 )
MC542 1.35
( + 5) + ( + 2) ( + 7)
(5) + (+ 2) (3)
( + 5) + (2) ( + 3)
1011 + 1110 11 0 0 1
ignore
ignore
MC542 1.36
Subtrao em Complemento de 2
( + 5) ( + 2) ( + 3) 0101 0010 0101 + 1110 10011
ignore ( + 5) (2) ( + 7) (5) (2) (3) 1011 1110 0101 1110 0101 + 0010 0111 1011 + 0010 1101
MC542 1.37
Complemento de 2
0000 0 +1
7 8 +7 1000 0111
MC542 1.38
Overflow em Complemento de 2
Quando h overflow? Como detectar se houve overflow?
( + 7) + ( + 2) ( + 9) 0111 + 0010 1001 c4 = 0 c3 = 1 (7) + ( + 2) (5) 1001 + 0010 1011 c4 = 0 c3 = 0
( + 7) + ( 2) ( + 5)
1001 + 1110 10 1 1 1 c4 = 1 c3 = 0
MC542 1.39
MC542 1.40
Sign-extension
O bit de sinal copiado para os bits mais significativos. O valor do nmero mantido o mesmo. Exemplo 1:
Representao de 3 com 4-bit = 0011 Representao sign-extended de 3 com 8-bit: 00000011
Exemplo 2:
Representao de -5 com 4-bit = 1011 Representao sign-extended de -5 com 8-bit: 11111011
MC542 1.41
Zero-Extension
Zeros so copiados nos bits mais significativos. O valor do nmero pode ser alterado. Exemplo 1:
Valor em 4-bit = 0011 Valor zero-extended com 8-bit: 00000011
Exemplo 2:
Valor em 4-bit = 1011 Valor zero-extended com 8-bit: 00001011
MC542 1.42
Comparao
Number System
Unsigned Sign/Magnitude Twos Complement
Range
[0, 2N-1] [-(2N-1-1), 2N-1-1] [-2N-1, 2N-1-1]
Representao em 4-bit:
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Unsigned
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111
Two's Complement
Sign/Magnitude
MC542 1.43
10010111 + 1 10011000
MC542 1.45
Se Mantissa possui somente 1 dgito a esquerda do ponto decimal -> forma padronizada e se diferente de zero -> normalizado Padro IEEE-754 Normalizado Bit Escondido (-1)s x (1 + Frao) x 2E
MC542 1.46
MC542 1.47
MC542 1.48
Fraction f=0 f0
f=0 f0
NaN
MC542 1.49
IEEE-754: Exemplo
1,1 x 2-1
0
1 01111110 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MC542 1.50
IEEE-754: Exemplo
Qual o decimal correspondente ?
31 30
23 22
1 10000001
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MC542 1.51
IEEE-754: Exemplo
Represente o valor 22810 usando a representao um floating point de 32-bit 22810 = 111001002 = 1.11001 27 Biased exponent = bias + 7 127 + 7 = 134 = 0x100001102
1 bit 0 Sign
MC542 1.52
BCD Binary-Coded-Decimal
MC542 1.53
MC542 1.54
MC542 1.55