Professional Documents
Culture Documents
Fig 1
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C-2
Sinal digital - Variação por saltos de uma forma
descontínua. Toma apenas um
determinado número de valores.
V
4
3
2
1
0
-1
-2
nível ALTO 1
nível BAIXO 0
Fig 2
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C-3
C.1.2 - Circuitos Digitais Binários
Nível 1 → 5 Volt
Nível 0 → 0 Volt
Ruído → ±1 Volt
V
5
3.5
1.5
0
t
V
5
0
t
Fig 3
Se considerarmos que
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C-4
C.2 - IMPLEMENTAÇÃO DE UM SISTEMA LÓGICO
Entrada 1 Saída 1
Entrada 2 Circuito
Saída 2
Lógico
Entrada n Saída m
Fig 4
Interruptores
Bateria Lâmpada
Fig 5
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C-5
C.3 - PORTA "AND"
C.3.1 - Generalidades
Entradas Saída
I1 I2 L
Aberto Aberto Apagada
Aberto Fechado Apagada
Fechado Aberto Apagada
Fechado Fechado Acesa
Interruptores: Aberto ↔ 0
Fechado ↔ 1
Lâmpada: Apagada ↔ 0
Acesa ↔ 1
Entradas Saída
I1 I2 L
0 0 0
0 1 0
1 0 0
1 1 1
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C-6
5 V
A
S
B
Fig 6
0 volt ↔ 0 lógico
5 volts ↔ 1 lógico
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C-7
1º caso: A=B=0
5 V
A=0
S
B=0
0,6 V
Fig 7
I
D
I
D
0,6 V
0,6 V V
D
Fig 8
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C-8
2º caso: A=1 e B=0
5 V
A=1
S
B=0
Fig 9
3º caso: A=B=1
5 V
A=1
S
B=1
Fig 10
C.3.3 - Simbologia
A
S S = A . B
B
A
B T T = A . B . C
C
Fig 11
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C - 10
Tabela de verdade do circuito AND de 3 entradas
A B C T
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
C.4.1 - Generalidades
I1
Bateria Lâmpada
Interruptores
Fig 12
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C - 11
Tabela de verdade correspondente
Entradas Saída
I1 I2 L
0 0 0
0 1 1
1 0 1
1 1 1
B S
C
Fig 13
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C - 12
5 V
0,6 V
A=1
4,4 V
B=0 S
C=0
Fig 14
C.4.3 - Simbologia
A
S S = A + B
B
A
B
C T T = A + B + C +
D
Fig 15
A B S
0 0 0
0 1 1
1 0 1
1 1 1
C.5 - CIRCUITO "NOT" OU INVERSOR
C.5.1 - Generalidades
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C - 13
Um circuito seguinte representa uma negação
realizada a partir de um relé.
S
E
Fig 16
E S
0 1
1 0
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C - 14
C.5.2 - Materialização electrónica
5 V
R =1K Ω I = = 5 mA
C C máx 1K Ω
IC
R =10K Ω
B Para V > 0,6V :
IB B
β =20
V V -0,6V V -0,6V
V C B B
B I = =
0,6V C R
B 10K Ω
Fig 17
4,4V
IB = = 0,44mA
10kΩ
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C - 15
Característica entrada-saída do circuito com
transistor
V
C
5
0,6 3,1 5V V
B
Fig 18
Fig 19
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C - 16
C.6 - CIRCUITOS LÓGICOS INTEGRADOS
7408
GND
1 2 3 4 5 6 7
A B S S = A . B
Fig 20
• 4 portas OR de 2 entradas
14 13 12 11 10 9 8
V
CC
7432
GND
1 2 3 4 5 6 7
A B S S = A + B
Fig 21
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C - 17
• 6 portas NOT
14 13 12 11 10 9 8
V
CC
7404
GND
1 2 3 4 5 6 7
A S S = A
Fig 22
14 13 12 11 10 9 8
V
CC
7411
GND
1 2 3 4 5 6 7
A B C S S = A . B . C
Fig 23
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
C - 18
C.7 - PORTA "NAND"
A
S S = A . B
B
Fig 24
A B S
0 0 1
0 1 1
1 0 1
1 1 0
A B S
0 0 1
0 1 0
1 0 0
1 1 0
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B-1
ÁLGEBRA DE BOOLE
B.1 - DIAGRAMA DE VENN
Diagrama de Venn
A A
Fig 26
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B-2
A.B - Conjunto dos números pares e múltiplos de 3
Conjunção, intersecção ou produto lógico
A B
Fig 27
A B
Fig 28
_
A - Conjunto dos números ímpares
Complemento ou negação
A B
Fig 29
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B-3
B.2 - AXIOMAS DA ÁLGEBRA DE BOOLE
∀a, b ∈ B: a. b ∈ B
B.2.2 - Comutatividade
∀a, b ∈ B : a+b = b+a
∀a, b ∈ B: a. b = b. a
∃v ∈ B, ∀a ∈ B : a . v = a
∀a, b, c ∈ B : a . (b + c) = (a . b) + (a . c)
B.2.5 - Complementação
∀a ∈ B, ∃ a ∈ B : a + a
_ _
= v
∀a ∈ B, ∃ a ∈ B : a .
_ _
a = u
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B-4
B.3 - TEOREMAS DA ÁLGEBRA DE BOOLE
• O elemento u é único.
Demonstração
u1 + u2 = u1 (B.2.3)
u1 + u2 = u2 (B.2.3)
u1 + u2 = u2 + u1 (B.2.2)
u1 = u2
• O elemento v é único.
Demonstração
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B-5
B.3.2 - Idempotência
• ∀a ∈ B : a + a = a
Demonstração
a + a = (a + a) . 1 (B.2.3)
a + a = (a + a) . (a + a ) (B.2.5)
= a + (a . a ) (B.2.4)
= a + 0 (B.2.5)
= a (B.2.3)
• ∀a ∈ B : a . a = a
Demonstração
a . a = (a . a) + 0 (B.2.3)
a . a = (a . a) + (a . a ) (B.2.5)
= a . (a + a ) (B.2.4)
= a . 1 (B.2.5)
= a (B.2.3)
B.3.3 - Elementos absorventes
• ∀a ∈ B : a + 1 = 1
Demonstração
a + 1 = (a + 1) . 1 (B.2.3)
= (a + 1) . (a + a ) (B.2.5)
= a + (1 . a ) (B.2.4)
= a + a (B.2.3)
= 1 (B.2.5)
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B-6
• ∀a ∈ B : a . 0 = 0
Demonstração
a . 0 = (a . 0) + 0 (B.2.3)
= (a . 0) + (a . a ) (B.2.5)
= a . (0 + a ) (B.2.4)
= a . a (B.2.3)
= 0 (B.2.5)
B.3.4 - Absorção
• ∀a, b ∈ B : a + (a . b) = a
Demonstração
a + (a . b) = (a . 1) + (a . b) (B.2.3)
= a . (1 + b) (B.2.4)
= a . 1 (B.3.3)
= a (B.2.3)
• ∀a, b ∈ B : a . (a + b) = a
Demonstração
a . (a + b) = (a + 0) + (a + b) (B.2.3)
= a + (0 . b) (B.2.4)
= a + 0 (B.3.3)
= a (B.2.3)
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B-7
B.3.5 - Princípio da dualidade
Demonstração
a1 . 1 = a1 (B.2.3)
a 1 . (a + a 2) = a 1 (B.2.5)
a1 . a + a1 . a2 = a1 (B.2.4)
0 + a1 . a2 = a1 (B.2.5)
a1 . a2 = a1 (B.2.3)
a2 . a1 = a1 (B.2.2)
a2 . a1 + 0 = a1 (B.2.3)
a2 . a1 + a2 . a = a1 (B.2.5)
a 2 . (a 1 + a) = a 1 (B.2.4)
a2 . 1 = a1 (B.2.5)
a2 = a1 (B.2.3)
B.3.7 - Involução
Pela definição de complemento conclui-se que
a = a
a1 + a2 = a1 . a2
a1 . a2 = a1 + a2
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B-8
Prova-se o teorema recorrendo às igualdades
(a1 + a2) + (a 1 . a 2) = 1
(a1 + a2) . (a 1 . a 2) = 0
que por B.3.6 e B.2.5 permitem concluir que a 1 . a 2
é o complemento único de a1 + a2.
Para a demonstração recorre-se aos lemas:
L1a : a1 + (a 1 + a2) = 1
L1b : a1 . (a 1 . a2) = 0
Demonstração de L1a
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B-9
Demonstração de B.3.9
a1 + a2 = a1 . a2
A demonstração de a1 . a2 = a1 + a2 é dual da
anterior.
a1 + ... + an = a1 . ... . an
a1 . ... . an = a1 + ... + an
B.3.9 - Associatividade
∀a, b, c ∈ B : (a + b) + c = a + (b + c)
∀a, b, c ∈ B : (a . b) . c = a . (b . c)
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B - 10
B.4 - ÁLGEBRA DE BOOLE A DOIS VALORES
0 + 0 = 0 0 + 0 = 0
0 + 1 = 1 0 + 1 = 0 0 = 1
1 + 0 = 1 1 + 0 = 0 1 = 0
1 + 1 = 1 1 + 1 = 1
El. neutro 0 + a = a 1 . a = a
El. absorvente 1 + a = 1 0 . a = 0
Idempotência a + a = a a . a = a
Complementaridade a + a = 1 a . a = 0
Comutatividade a + b = b + a a . b = b . a
Associatividade a + (b + c) = (a + b) + c a . (b . c) = (a . b) . c
Distributividade a + b.c = (a + b).(a + c) a.(b + c) = a.b + a.c
Absorção a + a.b = a a.(a + b) = a
Absorção a + a .b = a + b a.( a + b) = a.b
Leis de De Morgan a1 + a 2 = a 1 . a 2 a1 . a 2 = a 1 + a 2
Leis de De Morgan a1 + ... + a n = a1 . ... . a n a1 . ... . a n = a1 + ... + a n
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B - 11
B.4.3 - Simplificação algébrica de funções lógicas
• Exemplo de simplificação
d = c.a.1 + b.a .1
Assim
d = c.a + b.a
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B - 12
B.4.4 - Aplicação da Álgebra de Boole aos circuitos
digitais
A equação do circuito é S = 1 . A . B
1 A
A S S
B B
Fig 31
S = A.B.0
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B - 13
1
S S = A . 1
A
Fig 32
S = A
A
S S = A + A = A
Fig 33
A A A
S
Fig 34
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B - 14
A = A
A A
S T
B B
S = A . B T = A + B
Fig 35
A B A . B A + B
0 0 0 . 0 = 0 = 1 0 + 0 = 1 + 1 = 1
0 1 0 . 1 = 0 = 1 0 + 1 = 1 + 0 = 1
1 0 1 . 0 = 0 = 1 1 + 0 = 0 + 1 = 1
1 1 1 . 1 = 1 = 0 1 + 1 = 0 + 0 = 0
A . B = A + B
A 2ª lei de De Morgan afirma que um OR com a saída
negada é equivalente a um AND com as entradas
negadas.
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B - 15
A A
S T
B B
S = A + B T = A . B
Fig 36
A B A + B A · B
0 0 0 + 0 = 0 = 1 0 . 0 = 1 . 1 = 1
0 1 0 + 1 = 1 = 0 0 . 1 = 1 . 0 = 0
1 0 1 + 0 = 1 = 0 1 . 0 = 0 . 1 = 0
1 1 1 + 1 = 1 = 0 1 . 1 = 0 . 0 = 0
A + B = A . B
A A A + B
1
3 A + B = A . B
B
2
B
Fig 37
A . B
A A
A . B = A + B
B
B
Fig 38
A . B = A + B = A + B
• Exemplo de circuito típico em sistemas digitais
A A.B
B S = A.B + C.D
C
D C.D
Fig 39
S = A.B + C.D
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B - 17
Para realizar este circuito é necessário utilizar 2
caixas de circuitos integrados: uma com portas OR e
outra com portas AND.
A A.B
B S = A.B + C
C
D C.D
Fig 40
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B - 18
Substituindo agora a porta da direita (NAND) por
outra equivalente tem-se
A A.B
B S = (A.B) . (C.D)
C
D C.D
Fig 41
A
S S = A⊕ B
B
Fig 42
A B S
0 0 0
0 1 1
1 0 1
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B - 19
1 1 0
S = A .B + A. B
A B S = A .B + A. B
0 0 0.0 + 0.0 = 0 + 0 = 0
0 1 0.1 + 0.1 = 1 + 0 = 1
1 0 1.0 + 1.0 = 0 + 1 = 1
1 1 1.1 + 1.1 = 0 + 0 = 0
A A.B
S = A.B + A
B A.B
Fig 43
A A.A.B
A.B S = (A.A.B).(B.A.B
B
B.A.B
Fig 44
Confirmação:
A
S S = A ⊕ B = A⊗ B
B
Fig 45
A B S
0 0 1
0 1 0
1 0 0
1 1 1
B.4.6 - Funções booleanas de 2 variáveis
Tabela de funções
x1 0 1 0 1 Designação
x2 0 0 1 1
y0 0 0 0 0 zero
y1 0 0 0 1 produto lógico, ou AND (y = x1.x2)
y2 0 0 1 0 inibição, ou NIX (y = x1 NIX x2)
y3 0 0 1 1 x2 (y = x2)
y4 0 1 0 0 inibição, ou NIX (y = x2 NIX x1)
y5 0 1 0 1 x (y = x)
y6 0 1 1 0 soma módulo 2, ou exclusivo, ou
XOR (y = x1 ⊕ x2)
y7 0 1 1 1 soma lógica, ou OR (y = x1 OR x2)
y8 1 0 0 0 NOR (y = x1 NOR x2 ,
ou y = x1 + x2)
y9 1 0 0 1 equivalência (y = x1 ⊗ x2)
y10 1 0 1 0 complementação de x1, (y = x1)
y11 1 0 1 1 implicação material (x1 ⇒ x2)
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
B - 21
y12 1 1 0 0 complementação de x2, (y = x2)
y13 1 1 0 1 implicação material (x2 ⇒ x1)
y14 1 1 1 0 NAND (y = x1 NAND x2 ,
ou y = x1 . x2)
y15 1 1 1 1 unidade ou identidade
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T-1
SISTEMAS DE NUMERAÇÃO
N.1 - INTRODUÇÃO
X = an-1bn-1+an-2bn-2+...+aibi+...+a0b0+a-1b-1+...+a-pb-p
Exemplos
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T-2
Símbolos usados nas bases 2, 8, 10 e 16
Base Símbolos
2 0, 1
8 0, 1, 2, 3, 4, 5, 6, 7
10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
16 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, A, B, C, D, E, F
Exemplo
Tabela de potências de 2
2i i 2-i
2 1 0,5
4 2 0,25
8 3 0,125
16 4 0,0625
32 5 0,03125
64 6 0,015625
128 7 0,0078125
256 8 0,00390625
512 9 0,001953125
1024 10 0,0009765625
2048 11 0,00048828125
4096 12 0,000244140625
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T-3
N.3 - CONVERSÃO DA BASE 10 PARA A BASE B
I = a4a3a2a1a0(b)
I = a4b4 + a3b3 + a2b2 + a1b1 + a0b0
Q2 = b.(a4b + a3 ) + a2
Q3 = b.a4 + a3
Q4 = a4
Verifica-se que os sucessivos restos correspondem
aos símbolos que representam I no sistema de base
b.
Deste modo é possível a conversão de um sistema
onde se tenha prática operatória, para qualquer
outro sistema. Basta efectuar as operações no
primeiro sistema e saber representar no segundo
sistema os restos das divisões.
66 2
06 33 2
0 13 16 2
1 0 8 2
0 4 2
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T-4
0 2 2
0 1
66(10) = 1000010(2)
Para hexadecimal será
66 16
02 4
66(10) = 42(16)
Parte fraccionária
F = 0,a-1a-2a-3a-4
2 × 0,468 = 0,936
2 × 0,936 = 1,872
2 × 0,872 = 1,744
2 × 0,744 = 1,488
2 × 0,488 = 0,976
2 × 0,976 = 1,952
2 × 0,952 = 1,904
2 × 0,904 = 1,808
0,468(10) = 0,01110111...(2)
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T-5
Salvo algumas excepções a dízima na conversão da
base 10 para a base 2 é infinita.
N.3.2 - Método da subtracção
Então:
4645(10) = 1001 000 100 101(2)
m = bn
b'n' ≥ bn
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T-6
2n' ≥ 10n
n' ≥ 3,33.n
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T-7
Critério de paragem de dízimas infinitas na
conversão de base 10 para base 2
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T-8
N.4 - SISTEMA BINÁRIO, OCTAL E HEXADECIMAL
Octal Binário
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T-9
Dado um número na forma binária, converte-se em
octal do seguinte modo:
Exemplos
111000,110010100(2) =
111 000,110 010 100(2)=
70,624(8)
1 110,101 10 (2) =
001 110,101 100(2) =
16,54(8)
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T - 10
Relação entre os símbolos hexadecimais e binários
Hexadecimal Binário
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
A 1 0 1 0
B 1 0 1 1
C 1 1 0 0
D 1 1 0 1
E 1 1 1 0
F 1 1 1 1
• Conversão decimal-octal
Conversão octal-binário
• Conversão decimal-hexadecimal
Conversão hexadecimal-binário
54,1(10) = 66,06(8)
66,06(8) = 110 110,000 110(2)
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T - 11
M1 M2 ... Mi ... Mm
s1 s2 ... si ... sb
M1 → X1 (s1 s2 s3 s4)
M2 → X2 (s1 s3 s5)
.....................
Mi → Xi (s1 s2 s3 s5)
.....................
Mm → Xm (s1)
nmín = log m
log b
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T - 12
Redundância define-se como
R = n - n mín
n
Quando o comprimento das palavras é mínimo R=0.
A B C A C B
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T - 13
A C B pode formar-se outro, A B C
A A B por troca das duas A A B
A B A primeiras linhas: A B A
A A A A A A
B B A B B A
A C B B A C
A B C B C A
A B A ou por troca dos B B A
A A B símbolos A e B: B A B
A A A B B B
B A B A A B
N.5.4.1 - Adjacência
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T - 14
Um conjunto assim definido é um alfabeto contínuo.
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T - 15
Exemplo: palavras adjacentes
X1 X3 X4 X5
X1 X3 X5 X5
palavras não adjacentes
X1 X2 X3 X2 X1 X4 X5
X1 X3 X2 X6 X1 X4 X5
X1 X2 X3
X2 X2 X3
X3 X2 X3
X3 X2 X1
X2 X2 X1
X1 X2 X3
X2 X2 X3
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T - 16
X3 X2 X3
X3 X2 X1
X2 X2 X1
X1 X2 X1
pesos ... 32 31 30
0 0 0
0 0 1
0 0 2
0 1 0
0 1 1
Sistema de 0 1 2
numeração 0 2 0
base 3 0 2 1
0 2 2
1 0 0
1 0 1
.. .. ..
2 2 1
2 2 2
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T - 17
Os sistemas de numeração não constituem códigos
cíclicos, pois 2 números consecutivos podem diferir
em mais do que 1 algarismo.
0 0 0
0 0 1
0 0 2
0 1 2
0 1 1
0 1 0
0 2 0
0 2 1
0 2 2
1 2 2
1 2 1
1 2 0
.. .. ..
2 2 1
2 2 2
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T - 18
N.5.5 - Códigos binários
0 → 0 0 0 0
1 → 0 0 0 1
2 → 1 0 0 0
3 → 1 0 0 1
4 → 1 1 0 0
5 → 1 1 0 1
6 → 1 1 1 1
7 → 0 0 1 1
8 → 0 1 1 1
9 → 0 1 0 0
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T - 19
N.5.5.1 - Código binário natural
22 21 20 ← pesos
0 0 0 0
1 0 0 1
2 → 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
→ → → → →
Binário natural 1 + 1 + 1 + 0 + 0 + 1
↓ ↓ ↓ ↓ ↓ ↓
Binário reflectido 1 0 0 1 0 1
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T - 20
pesos → 23 22 21 20
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1
0 0 1 1 0 0 1 0
0 1 0 0 0 1 1 0
0 1 0 1 0 1 1 1
0 1 1 0 0 1 0 1
0 1 1 1 0 1 0 0
1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1
1 0 1 0 1 1 1 1
1 0 1 1 1 1 1 0
1 1 0 0 1 0 1 0
1 1 0 1 1 0 1 1
1 1 1 0 1 0 0 1
1 1 1 1 1 0 0 0
Binário natural Reflectido
Um código reflectido não é ponderado. Se tiver
valência par é cíclico.
N.5.5.3 - Códigos decimais-binários
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T - 21
= 16! = 3.1010
16
10!.C 10
6!
8 4 2 1 ← pesos
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 → 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
2 4 2 1 ← pesos
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 → 0 1 0 0
5 1 0 1 1
6 1 1 0 0
7 1 1 0 1
8 1 1 1 0
9 1 1 1 1
N.5.5.3.4 - Código 7421
7 4 2 1 ← pesos
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 → 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 1 0 0 0
8 1 0 0 1
9 1 0 1 0
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
T - 24
No entanto não detecta a situação, de troca de 2
símbolos, seguinte: 0100100 → 0101000.
N.5.6 - Códigos alfanuméricos
____________________________________________________________________________________________________________
Sistemas Digitais ASP93
Apresentação
ARQUITECTURA DE COMPUTADORES
• Introdução
• Organização de Sistemas Computorizados
Programa:
• Nível Convencional da Máquina
• Linguagem Assembly
• Nível da Microprogramação
• Sistema Operativo
• 1º trabalho (25%)
1º Caso: • 1ª frequência (25%)
Avaliação: • 2º trabalho (25%)
• 2ª frequência (25%)
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
I-1
INTRODUÇÃO
I.1 - PRINCIPAIS TIPOS DE ORGANIZAÇÃO
Sequência de dados
Simples Múltipla
de instruções
Múltipla MISD MIMD
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
I-2
I.1.1 - MONOPROCESSAMENTO
D
UC P M
Fig 1
I - Instruções
UC - Unidade de Controle
P - Processador
D - Dados
M - Memória
D
UC P M
UC Pio M
Fig 1a
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
I-3
I.1.2 - PROCESSAMENTO COM OPERAÇÕES MÚLTIPLAS
• organização diferente.
T1 A
Sp A = ≥ 1
Tp A
p - nº de operações simultâneas
Tp[A] - tempo para a computação A na máquina multi-
operação
T1[A] - tempo para a computação A na máquina série
• Eficiência de computação:
Sp A
Ep A = ≤ 1
p
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
I-4
I.1.2.1 - SIMD - Paralelismo de array
P1 D1
D2
P2
UC M
Dn
Pn
I
Fig 2
DO 10 I = 1, 50
10 A(I) = B(I) * C(I)
seria executada apenas numa instrução se o computador
tivesse 50 multiplicadores.
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
I-5
I.1.2.2 - MISD - Paralelismo de pipeline
D D
D
P1 P2 Pn
I1 I2 In
Fig 3
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
I-6
I.1.2.3 - MIMD - Paralelismo funcional
D1
UC1 P1
D2
UC2 P2
M
Dn
Ucn Pn
In
I2
I1
Fig 4
• Paralelismo funcional:
* Processamento multi-função - o processador
inclui vários elementos de processamento
especializados mas não autónomos que podem
funcionar em paralelo (somador,
multiplicador, etc.);
* Multiprocessamento - os elementos de
processamento são processadores completos,
capazes de executar programas completos
autonomamente.
M M M M
Rede de interligação
P P P P
Fig 11
Rede de interligação
P P P P
M M M M
Fig 12
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
I-8
I.3 - Redes de interligação
P P P P
Fig 13
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
I-9
I.3.2 - Hipercubo
Fig 14
I.3.3 - Hiperbus
P1 P2 P3 P4 P5
Fig 15
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
I - 10
I.4 - ORGANIZAÇÃO DE SISTEMAS
• multiponto - Ethernet;
Fig 16
Fig 17
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
I - 11
I.4.2 - Computação distribuída
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
I - 12
I.5 - MÁQUINAS MULTI-NÍVEL
Nível da linguagem
Nível 5
orientada ao problema
Tradução (compilador)
Tradução (assemblador)
Nível da máquina
Nível 3
sistema operativo
Interpretação parcial
(sistema operativo)
Nível da máquina
Nível 2
convencional
Interpretação
(micro-programa)
Nível da micro-
Nível 1
-programação
Os micro-programas são executados
directamente pelo hardware
Nível lógico
Nível 0
digital
Fig 17a
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P-1
Unidade de
Memória Central Controle
Registos
Processador
Operações Operações
Aritméticas Lógicas
Fig 5
• Exemplos:
PDP-11 tem 6 registos de 16 bit
I8085 tem 7 registos de 8 bit
I8086 tem 8 registos de 16 bit
S/370 tem 16 registos de 32 bit + 4 reg. 64 bit
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P-2
Relógio
Processador de Instruções
1 6
Contador de Incrementador
Programa
1
Registo de Instrução
6
Processador de
Operações
4 Processador 3
de Endereços Descodificador 2
4
Sequenciador
5
Processador
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P-3
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P-4
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P-5
i) Registos adicionais
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P-6
P.2 - REPRESENTAÇÃO DA INFORMAÇÃO
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P-7
P.2.2.1 - Nomenclatura
w - comprimento da palavra
Para um mesmo w:
Nos positivos
n
b= ∑ b .2
i=-m
i
i
= bn ...b2b1b0 .b-1b-2 ...b-m
i) sinal e módulo
ii) complemento para 1
iii) complemento para 2
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P-8
Representação de números
M - fracção ou inteiro
E - inteiro
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P-9
NORMALIZAÇÃO
Considere-se B = 2.
REPRESENTAÇÃO DO ZERO
k: nº de bits do expoente
Exemplo (K=4)
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 10
Expoente Número
representado
1111 7
1110 6
1101 5
1100 4
1011 3
1010 2
1001 1
1000 0
0111 -1
0110 -2
0101 -3
0100 -4
0011 -5
0010 -6
0001 -7
0000 -8
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 11
EXEMPLOS DE FORMATOS VÍRGULA FLUTUANTE
HP-1000
15 14 0 15 8 7 0
M E
Precisão simples E
S S
M (23 bit)
M E
Precisão estendida E
S S
M (39 bit)
M E
Precisão dupla E
S S
M (55 bit)
Fig 7
I 8086/8087
31 30 23 22 16 15 0
M E
Real curto
S
M (23 bit)
63 52 48 47 32 31 16 15 0
M
Real longo E
S
M (52 bit)
Fig 8
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 12
IBM S/370
0 1 7 8 31
M E
Precisão simples M (24 bit)
S
M E
Precisão dupla
S
M (56 bit)
M E
Precisão estendida
S
M (110 bit)
Fig 9
PDP-11
0 1 8 9 15 16 31
M E
Precisão simples
S
M (23 bit)
M
Precisão dupla E
S
M (55 bit)
Fig 10
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 13
P.2.3 - Formatos de instruções (máquina)
3. Destino do resultado.
EE = (E) - indirecto
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 14
Instruções de salto: 2 campos para endereços de
operando + 1 campo para endereço de
salto
X := A + B * C;
Y := F + G;
Programa máquina
correspondente
MPY B C T
ADD A T X
ADD F G Y
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 15
Exemplo MPY B C
ADD A Acc
STO Acc X
ADD F G
STO Acc Y
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 16
Necessário: i) um stack
ii) uma instrução PUSH
iii) uma instrução POP
iv) operações diádicas usando os 2
registos do topo como operandos e deixando
o resultado no topo do stack
No exemplo
X := A + B * C; → X = B C * A +
Y := F + G; (RPN) Y = F G +
Código máquina
correspondente
PUSH C
PUSH B
MPY
PUSH A
ADD
POP X
PUSH G
PUSH F
ADD
POP Y
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 17
P.3 - UNIDADES ARITMÉTICAS E LÓGICAS
x1
z1
y1
x2
z2
y2
x7
z7
y7
Fig 18a
zi = xi ⊕ yi ⊕ ci+1
ci = xi yi + xici+1 + y ici+1
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 18
xi
yi
c(i+1)
xi
yi
c(i+1)
zi
xi
yi Soma
c(i+1)
zi
xi
yi
c(i+1)
ci + c(i+1)
xi
yi xi yi
xi
ci
c(i+1)
yi
c(i+1)
Fig 18
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 19
P.3.2 - Multiplicação
Circuito multiplicador
Somador
paralelo
Bus Saída
Bus Entrada
ADD Sinais de
START Controle RIGHT-SHIFT controle
CPU END
interno
CLOCK
Contador
Fig 19
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 20
START
A <- 0
COUNT <- 0
M <- Mcando
Q <- Mcador
S
COUNT <- COUNT + 1 Q(0) = 0
COUNT = 7
N
STOP
Diag 1
No final da operação
A Q
S
7 0 7 0
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 21
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 22
START
A <- 0
COUNT <- 0
M <- Mcando
Q(-1) <- 0
S Q(-1) = 0 N
Q(0) = 1
S
COUNT <- COUNT + 1 A <- A + M A <- A - M
COUNT = 7
N
STOP
Diag 2
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 23
P.3.3 - Divisão
D=QxV+R
Ri+1 ← Ri - Qi.2-i.V
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 24
Algoritmo de divisão para inteiros positivos
START
Q <- Dividendo
COUNT <- 0
M <- Divisor
A <- 0
A <- A - M
S
A < 0
Q(0) <- 0
Q(0) <- 1
A <- A + M
COUNT = 7
N
STOP
Diag 3
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 25
Circuito divisor
Somador
paralelo
Bus Saída
Bus Entrada
A(7) Q(0)
Contador
Fig 20
Fim: Q - Quociente
A - Resto
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 26
7 AC 0 7 MQ 0 7 RD 0
Somador
paralelo
Bus Saída
Bus Entrada
ADD
SUB Controle Sinais de
MPY
CPU DIV controle
START interno
END
CLOCK
Contador
Fig 21
ADD : AC ← AC + RD
SUB : AC ← AC - RD
MPY : AC,MQ ← RD × MQ
DIV : AC,MQ ← AC,MQ ÷ RD
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 27
P.3.5 - Operações em vírgula flutuante
• B = 2.
X + Y = ( XM . 2 (XE-YE) + YM ) . 2YE
X - Y = ( XM . 2 (XE-YE) - YM ) . 2YE
X . Y = ( XM . YM ) . 2(XE+YE)
• Calcular XM . 2(XE-YE) ± YM
Multiplicação e divisão requerem:
Exemplo: desloc. = 8 , NE = 4 , XE = 7 , YE = -3
XE = 1111
YE = 0101
------------
XE + YE = 10100
Correcção - 1000
------------
01100
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 29
Unidade de expoente Unidade de mantissa
E1 E2 AC MQ RD
Somador Somador
BUS de Dados
Fig 22
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 30
P.4 - UNIDADES DE CONTROLE MICROPROGRAMADAS
P.4.1 - Introdução
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 31
Endereço
Externo
Campo de
Registo Endereço
Endereço
Matriz
Comandos
Matriz
Endereços
Descodif.
Condição
Sinais de externa
controle
Fig 23
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 32
Microinstruções i) formatos curtos
verticais ii) pequena capacidade de
implementar operações
paralelas
iii) codificação considerável no
campo de controle
Definições extremas:
Descodificador
Horizontal
Vertical
Fig 24
Formato da microinstrução
T S C
Fig 25
T - Campo de teste
S - Endereço de salto
C - Campo de controle
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 33
Endereço
externo
End. salto
Condições Load
externas MPX µ PC Contador de
microprograma
Increment
Memória de
Selector
de
MC controle
condição
T S C CMDR (Control
Memory
Data
Register)
Descodif.
Sinais de controle
Fig 26
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 34
AC=0
C0(ADD)
C1(AND) ALU
C2(COMP)
AC C12
C3(READ)
C4(WRITE)
C5 C6
Memória
MDR
Central
C7 C8 C11
PC C9 IR
C10
MAR
C0
Circuitos
AC=0 de controle
C12
Fig 27
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 35
START
MAR ← PC
READ M
PC ← PC + 1
IR ← MDR (OP)
N N N N N N N
LOAD STORE ADD AND JUMP JUMPZ COMP
S S S S S S S
MAR ← MAR ← MAR ← MAR ←
MDR(AD) MDR(AD) MDR(AD) MDR(AD)
N
AC = 0
AC ← AC ← PC ← PC ← SHIFT
AC ← MDR WRITE M AC + MDR AC ∧ MDR MDR (AD) MDR (AD) AC ← AC/ AC
Diag 4
FETCH: MAR ← PC
READ M
PC ← PC +1 , IR ← MDR (OP)
goto IR
P.4.7 - O processador HP 21 MX
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 37
0 4 9 14 19 23
OP CODE ALU Funct Source reg Dest reg Special
1. Common
0 4 6 14 19 23
OP CODE Modi Immediate operand Dest reg Special
2. Immediate
fier
0 4 9 10 19 23
3. Conditional OP CODE Cond Select C 9 bit relative addr Special
jump S
0 4 7 19 23
4. Unconditional OP CODE 12 bit absolute address Jump modif
jump
Fig 29
Estrutura do HP 21 MX
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
P - 38
T-BUS (16 bit)
Descodificadores Sinais
e lógica de de
controle controle
PC (P) ALU
X fixed
point CMDR
Y
S12
Memória A B
Memória
Central de
controle
L
S2
S1 CMAR SAVE
(M) MAR MDR (T)
S
15 16 16
IR
COUNT
I / O
Fig 28
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X-1
A FAMÍLIA 8086
X.1 - INTRODUÇÃO
Algumas características:
4 12
Endereço Endereço
16 8
8086 Dados/Endereço 8088 Dados/Endereço
Controle Controle
Fig 30
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X-2
Unidade de interface
Unidade de execução (EU) com o BUS (BIU)
Registos Registos de
Gerais segmento
Ap Instr (IP)
Geração de
endereços e
controle do BUS
BUS Multiplexado
Operandos
Fila de
instruções
ALU
Flags
Fig 31
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X-3
15 8 7 0
AX
AH AL Acumulador
BX
Grupo Base
BH BL
de
dados CX
CH CL Contador
DX
Dados
DH DL
15 0
Apontador
SP
de Stack
Apontador
Grupo de BP
de base
apontadores
e índices Índice
SI
de origem
Índice
DI
de destino
Fig 32
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X-4
Algumas instruções usam os registos de forma
implícita.
Registo Operações
AX Multiplicação, divisão, I/O (Word)
AL Multiplicação, divisão, I/O (Byte)
AH Multiplicação, divisão (Byte)
BX Tradução
CX Loops, operações com strings
CL Rotação e deslocamento de variáveis
DX Multiplicação, divisão, (Word);
I/O indirecto
SP Operações de stack
SI Operações com strings
DI Operações com strings
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X-5
X.2.3 - Flags
TF DF IF OF SF ZF AF PF CF
Carry
Paridade
Auxiliar
Zero
Sinal
Overflow
Interrupt
Enable
Direcção
Trap
Fig 34
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X-6
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X-7
X.3 - MEMÓRIA
X.3.1 - Organização
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X-8
X.3.2 - Segmentação
FFFFFH
A
B
C
Dados: DS: B
D
Código: CS: E
E
Stack: SS: H
F
G
Extra: ES: J H
I
J
K
0H
Fig 35
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X-9
X.3.3 - Geração de endereços físicos
Deslocar 4 bits
à esquerda Base do
1 2 3 4
segmento
15 0 Endereço
1 2 3 4 0 lógico
19 0 0 0 2 2 Offset
15 0
0 0 2 2
15 0
1 2 3 6 2 Endereço físico
19 0
Para a memória
Fig 36
Base de Base de
Tipo de referência a memória segmento por segmento Offset
omissão alternativo
Aquisição de instrução (fetch) CS Nenhum IP
Operação em stack SS Nenhum SP
Variável (excepto seguintes) DS CS,ES,SS Endereço efectivo
String de origem DS CS,ES,SS SI
String de destino ES Nenhum DI
BP como registo de base SS CS,DS,ES Endereço efectivo
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 10
X.3.4 - Implementação da Stack (pilha)
1 0 5 0 SS 1 0 5 0 SS 1 0 5 0 SS
0 0 0 8 SP 0 0 0 6 SP 0 0 0 A SP
Fig 37
PUSH AX
POP AX
POP BX
X.4 - INSTRUÇÕES
Âmbito Geral
MOV destino, origem Move byte ou word
PUSH origem Carrega word na stack
POP destino Retira word da stack
XCHG destino, origem Troca byte ou word
XLAT tabela Traduz byte
Entrada / Saída
IN acc, porto Lê byte ou word
OUT porto, acc Escreve byte ou word
Endereço
LEA destino, origem Carrega endereço efectivo
LDS destino, origem Carrega apontador usando DS
LES destino, origem Carrega apontador usando ES
Transferência de flags
LAHF Coloca as flags em AH
SAHF Coloca AH nas flags
PUSHF Carrega as flags na stack
POPF Retira flags da stack
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 12
Adição
ADD destino, origem Adiciona byte ou word
ADC destino, origem Adiciona byte ou word com carry
INC destino Incrementa byte ou word 1 unidade
AAA Ajusta ASCII para adição
DAA Ajusta decimal para adição
Subtracção
SUB destino, origem Subtrai byte ou word
SBB destino, origem Subtrai byte ou word com borrow
DEC destino Decrementa byte ou word 1 unidade
NEG destino Nega byte ou word
CMP destino, origem Compara byte ou word
AAS Ajusta ASCII para subtração
DAS Ajusta decimal para subtacção
Multiplicação
MUL origem Multiplica byte ou word sem sinal
IMUL origem Multiplicação inteira de byte ou word
AAM Ajuste ASCII para multiplicação
Divisão
DIV origem Divide byte ou word sem sinal
IDIV origem Divisão inteira de byte ou word
AAD Ajuste ASCII para divisão
CBW Converte byte em word
CWD Converte word em doubleword
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 13
Lógicas
NOT destino Complementa byte ou word
AND destino, origem Produto lógico de byte ou word
OR destino, origem Soma lógica de byte ou word
XOR destino, origem Ou exclusivo de byte ou word
TEST destino, origem Teste (AND) de byte ou word
Deslocamentos
SHL / SAL destino, count Deslocamento lógico / aritmético de byte
ou word à esquerda
SHR destino, count Deslocamento lógico de byte ou word à
direita
SAR destino, count Deslocamento aritmético de byte ou word
à direita
Rotações
ROL destino, count Roda byte ou word à esquerda
ROR destino, count Roda byte ou word à direita
RCL destino, count Roda byte ou word com carry à esquerda
RCR destino, count Roda byte ou word com carry à direita
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 14
REP Repete
REPE / REPZ Repete enquanto for igual / zero
REPNE / REPNZ Repete enquanto não for igual / não zero
MOVS destino, origem Move string de bytes ou words
MOVSB / MOVSW Move string de bytes ou words
CMPS destino, origem Compara string de bytes ou words
SCAS destino Pesquisa string de bytes ou words
LODS origem Lê string de bytes ou words
STOS destino Escreve string de bytes ou words
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 15
Fluxo das operações com strings
Inicializa
SI, DI,
CX e DF
Prefixo Ausente
REPEAT
Presente
S
CX = 0
Decrementa
CX 1 unidade
Prefixo z
Ajusta
SI / DI REPE 1
de delta REPZ 1
REPNE 0
REPNZ 0
CMPS S S
ou ZF = z
SCAS
N N
Presente Prefixo
REPEAT
Ausente
Próxima
instrução
Diag 5
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 16
X.4.5 - Instruções de transferência de controle
Transferências incondicionais
CALL nome-de-rotina Chama procedimento
RET valor-a-retirar (op) Volta de um procedimento
JMP endereço Salta
Transferências condicionais
JA / JNBE rótulo Salta se superior / não inferior nem igual
JAE / JNB rótulo Salta se superior ou igual / não inferior
JB / JNAE rótulo Salta se inferior / não superior nem igual
JBE / JNA rótulo Salta se inferior ou igual / não superior
JC rótulo Salta se carry
JE / JZ rótulo Salta se igual / zero
JG / JNLE rótulo Salta se superior / não inferior nem igual
JGE / JNL rótulo Salta se superior ou igual / não inferior
JL / JNGE rótulo Salta se inferior / não superior nem igual
JLE / JNG rótulo Salta se inferior ou igual / não superior
JNC rótulo Salta se não carry
JNE / JNZ rótulo Salta se não for igual / não zero
JNO rótulo Salta se não overflow
JNP / JPO rótulo Salta se não paridade / paridade ímpar
JNS rótulo Salta se não tiver sinal
JO rótulo Salta se overflow
JP / JPE rótulo Salta se paridade / paridade par
JS rótulo Salta se tiver sinal
Controle de iteração
LOOP rótulo Ciclo
LOOPE / LOOPZ rótulo Ciclo se igual / zero
LOOPNE / LOOPNZ rótulo Ciclo se não igual / não zero
JCXZ rótulo Salta se CX = 0
Interrupções
INT tipo Interrupção
INTO Interrupção se overflow
IRET Volta de interrupção
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 17
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 18
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 19
CS 0
ou
Assumido SS 0
por ou
omissão
DS 0 BIU
ou
ES 0
Ender. físico
Fig 38
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 20
X.5.1 - Operandos em registo e imediato
End. efectivo
Fig 39
ADD alfa, 6
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 21
BX
ou
BP
ou End. efectivo
SI
ou
DI
Fig 40
ADD [SI], 12
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 22
X.5.4 - Endereçamento com registo de base
BX
ou
BP
End. efectivo
Fig 41
Data_de_inscrição
Curso Turma
Propina Atraso
Data_de_inscrição
Curso Turma
Idade Estado
Número_de_aluno
Endereços baixos
Fig 41a
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 23
X.5.5 - Endereçamento indexado
SI
ou
DI
End. efectivo
Fig 42
deslocamento deslocamento
Array (11)
Array (10)
Array (9)
Registo de índice Registo de índice
20 Array (8) 6
Array (7)
Array (6)
End. efectivo End. efectivo
Array (5)
Array (4)
Array (3)
Array (2)
Array (1)
Array (0)
1 word
Endereços baixos
Fig 42a
Exemplo: ADD CX, alfa[SI]
ADD alfa[DI+2], 10
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 24
X.5.6 - Endereçamento indexado e com registo de base
BX
ou
BP
SI
ou
DI
End. efectivo
Fig 43
OP CODE
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 25
X.5.8 - Endereçamento de portos de I/O
OP CODE Dado
End. do porto
Fig 45
Exemplo: IN AL, 30
OP CODE
DX End. do porto
Fig 46
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 26
X.6 - PROGRAMAÇÃO EM ASSEMBLY 86
Constantes
Exemplos:
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 27
Variáveis
Exemplos:
dados_1 SEGMENT
dados_1 ENDS
dados_2 ENDS
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 28
O assembly 86 guarda três atributos de cada variável
e fornece dois operadores que podem ser usados em
programação.
Atributos Operadores
Variável Segmento Offset Tipo LENGTH SIZE
alfa dados_1 0 1 1 1
beta dados_1 1 2 1 2
gama dados_1 3 4 1 4
delta dados_1 7 1 1 1
epsilon dados_1 8 2 1 2
iota dados_2 0 1 5 5
kapa dados_2 5 2 1 2
lambda dados_2 7 4 1 4
mu dados_2 11 1 100 100
Estruturas
Exemplo:
empregado STRUC
num_cont DB 9 DUP(?)
dept DB 1 DUP(?)
ano_contr DW 1 DUP(?)
empregado ENDS
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 29
X.6.2 - Directivas
Exemplo:
dados SEGMENT
;definição dos dados
dados ENDS
pilha SEGMENT
DW 100 DUP(?)
topo_da_pilha LABEL WORD
pilha ENDS
codigo SEGMENT
; programa principal
codigo ENDS
END inicio
X.6.3 - Procedimentos
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
X - 30
Um procedimento em assembly 86 é invocado com a
instrução CALL. O procedimento termina com a
instrução RET que transfere o controle para a
instrução seguinte ao CALL.
Exemplo:
savebp MACRO ; definição de uma macro
PUSH BP ; guarda o valor de bp
MOV BP, SP
ENDM ; fim da definição de macro
; Programa principal
...
PUSH indice
CALL deccount
ADD SP,2
...
X.6.4 - Strings
____________________________________________________________________________________________________________
Arquitectura de Computadores AP
M-1
MEMÓRIA
M.1 - HIERARQUIA DE MEMÓRIAS NUM COMPUTADOR DIGITAL
Unidade ROM MC
de
controle Registos
CPU
CACHE
(RAM bipolar) Cache CAM
Ta ~ 20 ns
Memória Central
(RAM MOS) RAM 1 RAM n
Ta ~ 80-100 ns
Memória Secundária
(Tecnologia Discos
Electromecânica)
Ta ~ ms
Fig 47
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M-2
M.2 - TECNOLOGIA
Modos de acesso
i) Acesso aleatório
Tempo de acesso é o mesmo para todas as palavras.
Modo típico de acesso em memória central.
Ex.: Memória semicondutora (MOS, bipolar)
Tecnologias
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M-3
UNIDADE DE MEMÓRIA
Driver de
endereços
Descodificador Células de
de endereços memória
Fig 48
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M-4
Organização das células de memória
Organização a 1 dimensão
C1
BUS de
endereços DESCO
DIFI
CADOR
Cn
Fig 49
Organização a 2 dimensões
X
C30 C31 C32 C33
BUS de
endereços DESCODIFICADOR Y
Fig 50
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M-5
Implementação
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M-6
Desenho de um array de memória
Um problema comum a resolver é ter CI's (circuitos
integrados) com capacidade de m × n bits e precisar de
uma memória m'× n', sendo m'≥ m e n'≥ n.
Símbolo para um circuito de 4 × 2 bits de memória
AE WE Linhas de controle
Linhas de
A0 Z0 Saída de
endereço
M 4x2 dados
A1 Z1
X0 X1 Entrada de dados
Fig 51
M 4x2 M 4x2
A0
M 4x2 M 4x2
A1
A2
Descod.
A3 M 4x2 M 4x2
Enable
AN
M 4x2 M 4x2
X2 X1 X0
X3
Z0 Z1
Z2 Z3
Fig 52
M.2.3 - Memórias de acesso sequencial
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M-7
Características físicas
Exemplo 2
= 60 × 10 ms / min = 25 ms
3
Tempo de rotação = 1
vel. motor 2400 rpm
"Head rate" =
bits por pista
= 50 × 10 3
bit = 2 × 10 6 bit / s
tempo de rotação 25 ms
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M-9
Pré-amplificadores
Cabeça de
escrita/leitura PA Lógica de
selecção
PA de
cabeças
PA
Um
cilindro Controlador
de
disco
Motor de Lógica de
posiciona- selecção
mento de de
MOTOR cilindro cilindro
Fig 53
M.3.1 - Generalidades
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 10
CPU ou canal
endereços controle dados
UCM
MAR MDR
Desc.
End. RAM
Fig 54
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 11
Endereço
Teste
Registos N
Delimi-
tadores
Acesso a
uma região Endereço
S rejeitado
de memória
Teste
Chave,
Fechadura N
Acesso a
um bloco S
na região
Leitura Escrita
Leitura
N Teste
"tag bits"
Teste N Acção
"tag bits" adequada Escrita
Acesso a
uma
palavra
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 12
Restrigem o acesso a certas zonas fixas de memória
para um programa.
O hardware está localizado no processador de
endereços na CPU.
Endereço gerado
pelo programa
Somador Registo
Base
Registo
Comparador
Interrupção Delimitador
ao Sist. Oper. Endereço efectivo
válido
End. Base
End. Limite
Fig 55
Exemplos
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 13
• Acesso leitura/escrita
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 14
Uma área de memória está protegida por um bit de
controle.
Exemplos:
• bits de paridade;
• distinção entre palavras de programa e dados.
v) Detecção e correcção de erros
Para detectar um erro basta acrescentar um bit de
paridade à palavra. Aumentando o número de bits de
paridade teremos possibilidades de detectar mais
erros e de corrigi-los.
Nas máquinas actuais é normal existir controle de
erros a nível de periféricos, memória central e
memória secundária.
• p3 controla as posições 4, 5, 6, 7
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 16
CPU
endereços dados
Unidade de controle
UCM de memória
R A M 0 R A M 1
Endereços pares Endereços ímpares
Fig 56
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 17
Geralmente: m=2p,
os p bits menos significativos do
endereço identificam imediatamente a unidade à qual o
endereço pertence.
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 18
M.4.2 - Memórias paralelas em multiprocessadores e
processadores paralelos
n-1
U Unid.
1 C Mem.
porto 0 M 0
n-1
U Unid.
1 C Mem.
porto 0 M 1
n-1
U Unid.
1 C Mem.
porto 0 M m-1
Fig 57
Rede de interligações
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 19
Por uma disposição adequada dos arrays em memória,
conforme o acesso que se pretende.
Arrays uni-dimensionais
Suponhamos m=4
0 1 2 3 Unidades de memória
a1 a2 a3 a4
a5 a6 a7 a8
a9 a10 a11 a12
a13 - - -
- - - -
Exemplo: m=5
a1 a2 a3 a4 a5
a6 a7 a8 a9 a10
a11 a12 a13 a14 a15
a16 a17 a18 a19 a20
m unidades de memória
m=4, n=4
0 1 2 3 Unidades de memória
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 20
a00 a01 a02 a03
a10 a11 a12 a13 Straight storage
a20 a21 a22 a23
a30 a31 a32 a33
0 1 2 3 Unidades de memória
a00 a01 a02 a03
a13 a10 a11 a12 Skewed storage
a22 a23 a20 a21
a31 a32 a33 a30
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 21
M.4.3 - Memórias cache
UCM
Cache
Memória
CPU Central
Fig 59
TAG 1 sector
Blocos
Sectores
bit de
tags validade
Sectores
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 23
si - sector
Busca associativa de uma tag que indique que o sector
existe na cache
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 24
Falta de bloco - trazer o bloco de MC para cache e
colocar o "bit de validade" válido.
Falta de sector - depois de o algoritmo de
substituição escolher o sector a substituir na cache,
trazer da cache o bloco bj (si), modificar a tag do
sector e bit de validade só válido no bloco bj, nos
outros blocos do sector será inválido.
É utilizado "write through", pois não se pode fazer
"write back" bloco a bloco (um bloco inválido pode
fazer parte de um sector já substituído e cujo
endereço se perdeu na cache).
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 25
Data BUS
Address BUS
A0-A9
CPU
TAG DATA
CACHE
AREA AREA
Equal
Fig 61
Te = Tc.∅ + (1 - ∅).Tm
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 26
Sc
Tm/Tc
2Tm
Tm+Tc
1
1/2 1 ∅
Fig 62
Exemplo
Estamos a projectar uma cache e pretendemos
determinar a sua capacidade. Medimos ∅ para um
conjunto de programas, supondo caches de 4k e
8Kbytes.
∅4k = 0,93
Tc
∅8k = 0,97 Supondo =0,12
Tm
Sc4k = 1 ≅ 5,5
1- 0,88 × 0,93
S8k = 1 ≅ 6,85
c 1- 0,88 × 0,97
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 28
S S WE
0 1
IE S WE S WE
Registo 0
de IE OD IE OD
máscara W W
IE 00 10
1 ID M ID M
OD
0
Registo
S WE S WE
Registo ID0 IE OD IE OD de
de W W saída
entrada ID1 01 11
ID M ID M
OD
1
Palavra 0 Palavra 1
M M
0 1
Sinais de "match"
Fig 63
Reg. Entrada
Reg. Máscara
ID IE
Match
Circuito
Memória de
Select selecção
OD
Reg. Saída
Saída
Fig 64
Célula de uma memória associativa (1 bit)
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 29
S WE
OD
S - Select
WE - Write enable
IE - Input enable
ID - Input data
OD - Output data
M - Match
M
IE
S WE
IE OD
ID M
ID
Fig 65
Sistema
Operativo
Utilizado
Disponível pelo
para o programa
utilizador
Fig 66
Vantagens: i) Simplicidade, sistema operativo pode
necessitar só de 1Kb, em contraste com
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 30
sistema operativos multiprogramação que
podem atingir centenas de Kb.
ii) Fácil compreensão e utilização.
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 31
M.5.2.1 - Sistema de partições
Memória fragmentada
Fig 67
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 32
Somador
Endereço de
memória
Fig 68
Exemplo
R.Base R.Base
S1
S2
A+S1
MPY A A A+S2
MPY A A
Programa movimentado
Fig 69
A relocação dinâmica não resolve 3 problemas:
• Fragmentação continua a existir, a não ser que
existam sucessivas compactações
• A compactação pode demorar um tempo substancial a
ser executada
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 33
M.5.2.2 - Paginação
Problemas
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 34
Nº de Nº de
PROG 1 página bloco
0 0 5 0
1000 Sistema
1 6 1000
Operativo
2000 2000
2 9
3000
PROG 2 Livre
0 4000
0 2
1000 5000
1 4
2000 6000
2 7
7000
PROG 3
0 8000
0 8
9000
10000
Livre
Programas dos 11000
Tabelas de Livre
utilizadores páginas
Memória Central
Fig 70
Em resumo:
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93
M - 36
Tabela de Memória Central Memória Virtual
p v
páginas (2 ) (2 )
γk δs p-l v-l
página 2 página 2
αq γk
γj αq página k
γi αp
αp γj
página j
γ1 δr
página 1 página i γi
Memória Secundária
v p
(2 -2 ) página 1 γ1
δs
δr
l
tamanho do bloco = 2
δ1
Fig 71
page
fault
Tabela de Endereço de Pedido de
páginas memória página
secundária
Actualização Troca de
de tabela página com
de páginas M. Central
Nº de Nº de Nº de Nº de
página linha page frame linha
v-l l p-l l
• "Hit Ratio"
N1 N1 - nº de referências a
H = memória central
N1 + N
2 N2 - nº de referências a
memória secundária
• Tempo de acesso
tA = H.tA1 + (1-H).tA2
tA2 = tB + tA1
tA = tA1 + (1-H).tB
Vantagens
• Necessita compactação.
____________________________________________________________________________________________________________
Arquitectura de Processadores
ASP93