Вы находитесь на странице: 1из 54

ARQUITETURA DE COMPUTADORES

Prof. Fco Ivonildo

1. Reviso sobre Sistemas de Numerao:


O sistema de contagem que mais utilizamos em nossa vida, o sistema decimal. Cada
posio tem um valor que equivale a 10 vezes o valor da posio que est imediatamente
sua direita. Imagine o processo que vem nossa mente, a cada contagem que fazemos... kms
rodados, idade, passagem de dias, etc. essa forma de pensar a forma DECIMAL.

Por exemplo temos o nmero 739.


lido da forma comum, como voc leu quando bateu o olho nele.
Agora detalhando teramos um n 7, um n 3 e um n 9, cada um em sua posio.
Aquela historinha de unidade, dezena e centena. Ok at ai. Todos estudamos ainda criana,
exaustivamente sobre isso.
Agora se observarmos assim: 739 = 7 x 102 + 3 x 101 + 8 x 100

S a nvel de comparao, todos estudamos tambm, l atrs o sistema de algarismos


romanos: I, V, X, L, C, D e M equivalem respectivamente a 1, 5, 10, 50, 100, 500 e 1000.
Lembram?
Como se l MCMLXXXIX ??
Vamos la. O primeiro M 1000, na sequncia vem C precedendo outro M, como M
maior me baseio nele para subtrair do maior o indicador anterior a ele, menor.
Portanto temos 1000 100, ser que indica 900 ?

Pgina 1 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Enfim, por ai vai... uma forma de contagem, que tem seu valor histrico, sua
importncia, mas voc usa ele no seu cotidiano?
Voc j deve ter ouvido falar e
bits e bytes...
O bit a unidade bsica de
medida na computao. a menor unidade de armazenamento na computao. Representa
somente 0 ou 1. Representa 2 estados: ligado ou desligado, aberto ou fechado, 0 ou 1.
A partir da combinao de 2 bits, podemos ter as seguintes possibilidades: 00, 01, 10
e 11. Se combinarmos 3 bits por exemplo, temos: 000, 001, 010, 011, 100, 101, 110 e 111.
Observe que quando foram 2 bits, resultou em 4 possibilidades e quando foi 3 bits
resultou em 8 possibilidades.
Trazendo as bases da matemtica temos o seguinte: 22 = 4 e 23=8
O Byte representado pelo B maisculo e representa o conjunto de 8 bits.
Pode assumir 256 valores diferentes, por exemplo tudo o que h no intervalo entre 0
e 255 ou no intervalo de -128 at 127.
A partir do byte, existem multiplicadores, assim como aqueles que conhecemos
partindo de metro, litro, quilo, etc.

Temos portanto a seguinte relao:


1 byte x 1000 = 1 KByte (kilobyte) ou melhor: 1024 Bytes x 1000 = 1 KB
Com a mesma ideia:
X 106 = MEGA (M) tem aproximadamente 1 milho de bytes (1.048.576 bytes ou,
mais precisamente, 1.024 x 1.024)
X 109= GIGA (G) tem aproximadamente 1 bilho de bytes, 1 GB tem 1.073.741.824
bytes (1.024 x 1.024 x 1.024 bytes)
X 1012 = TERA (T)
X 1015 = PETA (P)
X 1018 = EXA (E)
X 1021 = ZETA (Z)
X 1024 = YOTA (Y)

Pgina 2 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Assim como temos multiplicadores, que aumentam a unidade de medida, temos


tambm os divisores de unidades:
10-6 = micro
10-9 = nano
10-6 = pico
E assim vai...
At aqui, podemos pensar o seguinte: o que voc diria se em provas, for perguntado:
- os pendrives so capazes de armazenar dados na casa de 1 bilho de bytes?
- os HDs de hoje em dia esto em nveis de armazenamento muito alto, mas quanto
isso representa em zeros?
- as quantidades comercialmente usadas em memrias esto em que escalas?
Pense nisso...
Agora vamos observar o seguinte:
- 1 byte = 8 bits pode compreender nmeros de 0 at 255, por exemplo, ou de -128
at 127.
- 2 bytes = 16 bits alcana 0 at 65535, ou de -32768 at 32767.
- 4 bytes = 32 bits vai de 0 at 4.294.967.295... muito nmero n?
Quanto maior o nmero de bytes, maior a quantidade de bits...
Estamos falando muito em nmeros, mas quando se tratar de letras?
H o desafio de se converter smbolos de grafia em forma de dados binrios. O que
ocorre isso. Para que o computador entenda, tem que ser dessa forma.
Smbolos de grafia, chamados de caracteres, so letras, nmeros, pontuao,
acentuao, espaos, etc.
Criou-se um padro, utilizando uma tabela de converso. J ouviu falar em EBCDIC,
em ASCII e em UNICODE? Eram padres diferentes, aos quais as fabricantes envolvidas
aderiam, em separado, at que o padro fosse algo realmente nico. Estabeleceu-se o padro
ASCII.
Ele representa a maioria dos caracteres ocidentais, baseando-se no idioma ingls,
possui 256 caracteres e tem em sua primeira parte (caracteres de 0 at 127) padronizada para
todo o mundo e a outra poro foi reservada a caracteres especficos de cada idioma.
Portanto a primeira parte no possui letras acentuadas, por exemplo, o que foi alocado para
a segunda parte.

Pgina 3 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Na primeira parte, das posies de 0 at 31 so caracteres de controle. Dos caracteres


32 at 63 tem os principais caracteres de pontuao, nmeros... J entre 64 e 95, tem o
caracter @, as letras maisculas e alguns smbolos e finalmente no intervalo entre as posies
96 e 127, esto a crase, as letras maisculas e alguns outros smbolos.

Ningum obrigado a saber o que cada combinao representa, mas importante


observar como funciona esse particionamento.
Voc consegue dimensionar, por exemplo, a distncia entre uma letra maiscula e sua
correspondente minscula?
Falamos de bits e bytes e entramos em caracteres. Mas h outras unidades de medida
na computao. Por exemplo quando se quer falar sobre tempo ou desempenho, pensemos
na sigla Hz.
Hz quer dizer Hertz, unidade utilizada para explicitar a velocidade do processador, de
barramentos, de memrias.
Significa que 1 Hz = 1 ciclo por segundo.
Partindo disso temos que 1KHz = 1000 Hz e que 1MHz = 1000KHz e ainda 1GHz=1MHz.
Isso mesmo, 1000 e no 1024 como na contagem de bytes!
Essa medida no da informtica. Ela j existia muito antes dos computadores,
aplicada em diversos outros contextos, por exemplo em aulas de fsica no ensino mdio voc
j deve ter visto algo a respeito... perodo, frequncia, entre outros.

Pgina 4 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Hoje em dia um processador tem seu aspecto de velocidade relativizado em funo


da frequncia, tambm chamada de clock, medida em Hz, por exemplo com 2.2 GHz.
O primeiros computadores tinham processamento a 4,77 MHz.
J o processador mais comum nos tempos antigos, o 486, fazia algo em torno de 120
MHz.
O HD pode ser medido em RPM (rotaes por minuto), similar ao que vimos em carros.
Assim um HD que tem 7200 rpm, faz na verdade uma frequncia de 120 Hz.
Vamos voltar a falar dos sistemas de numerao...
Podemos dizer que o sistema decimal tem o nome de base 10, por ter 10 valores
bsicos.
Base 3:
Apenas com 3 dgitos.
Iniciamos no 0, vamos para 1 e vamos para 2.
S posso usar os 3 dgitos, portanto para dar sequncia, tentamos 1 com 0, depois 1
com 1 e 1 com 2.
Esgotei todos partindo do 1, agora vou para o 2 com 0, 2 com 1 e 2 com 2.
Esgotei esses, vou para o que sobrou. 10 com 0, depois 10 com 1 e depois 10 com 2.
Depois pego o 11 com zero, depois 11 com 1 e depois 11 com 2...

Poderamos adentrar nos estudos da base 5 ou da base 7, que seguem o mesmo


esquema... Mas vamos a uma que nos serve mais: a base 2.
Parto portanto de 0 e 1 apenas.

Depois de iniciar com 0, 1, quem viria?


1 com 0, depois 1 com 1. Esgotei as possibilidades ali.
Ento vou para 10 com zero, depois para 10 com 1, depois 11 com 0 e 11 com 1,
esgotei minhas possiblidades ali.
Desse modo vou chegar seguinte forma:

Pgina 5 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Agora observe a base 16:

Teramos 16 valores de base, ou seja os nmeros 0 at 9 (10 opes, at ai...) e mais


letras do alfabeto, para complementar os 16. Portanto vamos at a letra F.

Para continuar a contagem, temos que acabando maus 16 iniciais, preciso pegar o 1
com o 0, depois o 1 com o 1, depois o 1 com o 2, e por ai vai... at o 1 aparecer com o F.
Depois pegamos o com o 1, o 2 com o 2 e assim por diante... at esgotar as
possibilidades.

Uma coisa importante quanto a essas bases admitir que a nossa referncia a base
10, a base decimal. E dele partimos, comparando qualquer outra com ele.
O sistema que se chama binrio, o de base 2. O sistema de base 16 se chama de
hexadecimal. E o de base 8 se chama octal.
Vamos pensar um pouco! Exemplos:

Agora como fazer com fraes??

Pgina 6 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Partindo daqui, temos ento:

Parece complicado? O jeito treinar um pouco!


A base para tudo isso aqui:

Uma ferramenta que pode ser interessante :

Pgina 7 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

No que voc tenha que utilizar para resolver questes aqui expressas, mas para tirar
a prova diretamente de que voc fez o clculo certo ou no.
No que voc tenha que utilizar para resolver questes aqui expressas, mas para tirar
a prova diretamente de que voc fez o clculo certo ou no.

Converso de qualquer base para decimal: soma dos smbolos x base ^posio.

Comecemos com um exemplo: o nmero 115,2 que est em octal e queremos ver quanto
vale em decimal.
- Primeiramente h de se observar que o nmero (115,2) trata de posies fixas:
2 posio 1 posio posio 0 ,
- Da vrgula para o lado esquerdo contam-se as posies crescentes, da vrgula para o lado
direito, contam-se as posies negativas.
- Pegamos o 1 n que aparece (1) multiplica pela base (8) elevado posio (2), e assim por
diante...

Outro exemplo:
Agora de binrio para decimal. Observe a tabelinha abaixo, bem intuitiva.

Olho nas posies! Olho nas potenciaes... por a.


E mais exemplos de binrio para decimal. Treine um pouco!

Pgina 8 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Converso de decimal para qualquer outra base: usa-se 2 regras.

Partindo de um exemplo: temos o nmero 155,742 em decimal e devemos descobrir quanto


vale isso em hexadecimal (base 16).

- primeiramente farei uma srie de divises...


- pego a parte inteira e divido pela base desejada. No caso quero mostrar na base 16, ou seja,
quero encontrar o hexadecimal dele.
155 / 16 vai resultar em 9, com resto de 11.
- a parte fracionria pegamos e multiplicamos pela base (16)
- 0,742 * 16 resulta em 11, com frao de 872, o que me leva a pegar essa frao e novamente
multiplicar por 16, 0,872 * 16 vai resultar em 13,952.
- at ai eu fiz o clculo de duas partes, mas tenho que expor o resultado final em 3 casas
decimais. Para isso pego a ltima frao que eu tinha achado e multiplico pela ltima vez
por16, tendo 0,952 * 16, que resulta em 15,232.
- Paro por ai porque j tenho 3 casas decimais, que convertendo pela tabela padro
hexadecimal, ficariam: 11=B, 13=D e 15=F. Ou seja, me baseio nos inteiros encontrados... as
fraes s serviram para referncia de casas decimais que haver no resultado final.
- Para achar o valor final, junto o primeiro valor encontrado (9), com o resto do primeiro
clculo (11), tendo na parte inteira portanto: 9B
Pgina 9 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

- Para completar a resposta junto ao 9B, os outros valores achados a partir das fraes: B,
D e F.
- Chegamos no (9B,BDF)16.
Mais exemplos...
S para ilustrar, observe a sequncia, para conseguirmos converter, pela mesma regra, um
nmero decimal para a prpria base 10. Por exemplo, se tivermos o n 2584, que um
nmero decimal (base 10), quero converter para a base10. Entenda o processo:

Depois...

No prximo passo...

E finalmente...

Por que motivo paramos ali no 2?


Porque naquele ponto tivemos, pela primeira vez, o quociente (resultado) menor que o
divisor (10).
Portanto com a mesma regra de mltiplas divises chegamos ao mesmo nmero 2584.
Vamos agora fazer um teste de converso real!
Vamos converter um nmero decimal qualquer para a base binria (base 2).
O segredo da mudana usar o valor da base de destino (2) como divisor, em vez do 10 que
usamos no exemplo anterior.
Vamos dar como exemplo o nmero 53 na base 10. Vamos convert-lo para a base binria:

Pgina 10 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

...continuando as divises...

...a ideia somente parar quando o quociente for menor que o divisor.

Achamos o nmero! O n 53 na base 10 equivale ao 110101 na base 2.


Mais um exemplo:
18 na base 10 vale quanto na base 2?

Vai valer 10010 na base 2 !


E se fosse 345 na base 2 ?

Pgina 11 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Resposta: 101011001
Da base binria para a base octal (e vice-versa): Esta converso no tem nenhuma
relao com a nossa matemtica, visto que utilizamos a base decimal.
Mas o processo, em si, de converso octal-binrio e binrio-octal muito simples, requer
apenas que comparemos os dgitos octais com as combinaes binrias, segundo esta tabela:

Note que cada dgito do sistema octal equivale a trs dgitos do sistema binrio.
Portanto, para responder a uma questo que exige uma converso binrio-octal, separe os
nmeros binrios em grupos de trs dgitos e cada grupo desses corresponder a um dgito
octal. Tomemos como exemplo o nmero 101111011001 da base 2:

Portanto, o nmero 101111011001(2) representado como 5731(8).


Vou ter de decorar essa tabela com as oito combinaes?
No necessrio decorar a tabela, mas se voc conseguir lembrar, poder fazer um clculo
mais rpido! Se voc no deseja ir por esse caminho, exigindo de sua memria, ter
simplesmente de usar a tcnica da converso de binrio para decimal em cada grupo de trs
dgitos binrios (como 101(2), que , na verdade, 22+20, ou seja, 4+1, que resulta em 5 logo,
101(2) 5(10), que tambm 5(8)).
E se o nmero no apresentar exatamente uma quantidade de dgitos que possa ser dividida
por 3?
Simples: adiciona-se os zeros necessrios no incio do nmero para que seja possvel fazer a
diviso. Para isso voc ter de comear a preencher a tabela da direita para a esquerda (ou

Pgina 12 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

seja, da casa das unidades para a casa mais valiosa). Vamos ver o nmero 1001110010
(2) (note que ele tem apenas 10 dgitos):

Converter da base octal para a binria requer a mesma tabela usada nos dois exemplos
anteriores, apenas com a inverso das posies dos nmeros inicial e final.
Vamos, como exemplo, converter o nmero 6741 da base octal para seu equivalente em
binrio.

Segundo o que foi visto, o nmero octal 6741 equivalente ao nmero binrio
110111100001.

2. lgebra de Boole
George Boole nasceu em Lincoln Inglaterra. Em 1840 publicou o seu primeiro
trabalho original e em 1844 foi condecorado com a medalha de ouro da Royal Society pelo
seu trabalho sobre clculo de operadores. Em 1847 publica um volume sob o ttulo The
Mathematical Analysis of Logic em que introduz os conceitos de lgica simblica
demonstrando que a lgica podia ser representada por equaes algbricas.
Este trabalho fundamental para a construo e programao dos computadores
eletrnicos iniciada cerca de 100 anos mais tarde.
Na lgebra de Boole existem apenas trs operadores E, OU e NO (AND, OR, NOT).
Estas trs funes so as nicas operaes necessrias para efetuar comparaes ou as
quatro operaes aritmticas base.
Em 1937, cerca de 75 anos aps a morte de Boole, Claude Shannon, ento estudante
no MIT - Boston, USA - estabeleceu a relao entre a lgebra de Boole e os circuitos
eletrnicos transferindo os dois estados lgicos (SIM e NO) para diferentes diferenas de
potencial no circuito.

Pgina 13 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Atualmente todos os computadores usam a lgebra de Boole materializada em


microchips que contm milhares de interruptores miniaturizados combinados em portas
(gates) lgicos que produzem os resultados das operaes utilizando uma linguagem binria.
Para descrever os circuitos que podem ser construdos pela combinao de portas
lgicas, um novo tipo de lgebra necessrio, uma em que as variveis e funes podem ter
apenas valores 0 e 1.
Tal lgebra denominada lgebra booleana, e do mesmo modo que existem funes
em lgebra "comum", tambm existem funes na lgebra booleana.
Uma funo booleana tem uma ou mais variveis de entrada e fornece somente um
resultado que depende apenas dos valores destas variveis.
Como uma funo de n variveis possui apenas 2n conjuntos possveis de valores de
entrada, a funo pode ser descrita completamente atravs de uma tabela de 2n linhas, cada
linha mostrando o valor da funo para uma combinao diferente dos valores de entrada.
Tal tabela denominada tabela verdade.
ABC000010100111
Acima temos a tabela verdade de uma funo bsica a funo AND , ela e um conjunto
de funes da lgebra booleana tm implementao eletrnica atravs de transistores e so
conhecidas como portas lgicas.
Um circuito digital regido pela lgebra de Boole, e com as portas lgicas existentes
possvel implementar qualquer funo da lgebra booleana. A seguir veremos as principais
portas lgica, simbologia e tabela verdade.
-NOT
A funo NOT implementada na conhecida porta inversora.
A B 0 1 1 0 (a)
(b)
(a) tabela verdade, (b) smbolo
-AND
A funo AND pode ser definida em linguagem natural como 1 se todas as entradas forem 1
e 0 se apenas uma das entradas for 0.
ABS000010100111
-OR
A funo OR tambm pode ser definida em linguagem natural ela 0 se todas as entradas
forem 0 e 1 se existir uma entrada em 1.

Pgina 14 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

ABC000011101111
-XOR
A funo XOR conhecida como exclusive OR muito parecido com a OR.
ABC000011101111
Temos acima algumas das principais portas lgicas existente, no so as nicas mas as outras
portas existentes so combinaes destas portas bsicas, e todos os circuitos digitais podem
ser montados somente com estas portas.
Varivel Lgica (Booleana)
A = "Maria tem 23 anos"
A proposio "Maria tem 23 anos" representada pelo smbolo A, que uma varivel
booleana, pois pode assumir um dos dois valores lgicos: F ou V. Alm de varivel booleana,
A tambm chamada varivel lgica.
Funo de Variveis Lgicas (Booleanas)
Dada uma varivel lgica, possvel construir uma funo desta varivel, f(A),
Exemplo

f(A) = A'

isto , funo da varivel lgica A representa simplesmente a sua negao. Sua tabelaverdade dada por (usando-se nmeros binrios 1 e 0, ao invs de V e F).
A

f(A) = A'

Quando se tem apenas 1 varivel, como acima, possvel construir apenas 4 funes, abaixo,
onde a primeira a prpria negao j vista neste tpico; a segunda a funo identidade; a
duas ltimas no possuem denominao especial.
A f1(A) f2(A) f3(A) f4(A)
0 1

1 0

Veja que, para duas ou mais variveis, o nmero possvel de funes que podem ser
construdas de 22n, onde n o nmero de variveis. Para duas variveis, 22.2 = 16 (apenas
16 possibilidades de construo de funes lgicas de apenas 2 variveis).

Pgina 15 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

A B f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f16


0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Para 3 variveis, 22.3 = 64 funes possveis, e assim por diante.
Na tabela acima, A e B so as variveis independentes e fi(A,B) so as variveis dependentes,
conhecidas por funes de variveis lgicas, funes combinatoriais ou, ainda, funes
combinacionais.
A funo lgica fi(A,B) pode ser representada por uma caixa preta cujo contedo implementa
um tipo de porta ou uma combinao das mesmas. Por exemplo, para a tabela acima, algumas
funes so
Funo f1

f2

f4 f6

f7

f8

f9

f10

f11 f13

f15

f16

Porta 0 AND A B XOR OR NOR XNOR B' A' NAND 1


O que aqui considerado como a porta 0 um circuito lgico que, independente das
entradas, a sada sempre zero. A "porta" 1 segue o mesmo esquema, isto , para quaisquer
entradas, a sada sempre 1. Os smbolos A' e B' caracterizam as negaes, ou inverses, das
variveis.
Qualquer circuito lgico pode ser considerado como uma caixa preta como descrita acima.
Para exemplificar, veja como "encapsular" um circuito lgico em uma "caixa preta" (no se
incomode se a o azul usado no lugar do preto),

Observe que o modelo caixa preta muito mais geral que o outro que j est especificado.
O que se sabe do modelo caixa preta a quantidade de circuitos que podem ser gerados a
partir de 4 entradas e 1 sada. Quantos so mesmo?

Pgina 16 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Uma funo combinacional uma soluo para um problema combinacional. Como


exemplo de um problema combinacional, considere um sistema de segurana de uma loja
em um shopping. H um sensor de contato que, ligado, (on, V ou 1), indica que a porta est
fechada; e outro sensor infravermelho que, ligado, indica que no h pessoas ou coisas se
movendo no interior da loja. H, tambm, um alarme que acionado quando um dos dois
sensores desligado. Isto , basta um nico sensor ser desativado para soar o alarme.
Denomine cada sensor pelos smbolos A e B,
1.

A = "sensor de contato"

2.

B = "sensor infravermelho"

A tabela-verdade para a funo alarme, f(A,B), dada por


A B f(A,B)
0 0

0 1

1 0

1 1

onde 0 e 1 significam desligado e ligado, respectivamente. Para maior realismo, suponha


que a fonte de energia do sistema seja independente da rede eltrica (nobreak, por
exemplo).
Como voc pode notar, a tabela-verdade um excelente instrumento para a especificao
da funo alarme, em particular, e de funes lgicas, em geral. Mas no o nico. Outras
duas ferramentas importantes so:
1.

Equaes booleanas

2.

Diagramas lgicos

Diagramas Lgicos
Mas apenas para exemplificar, a funo alarme aqui tratada poderia ser especificada atravs
do seguinte diagrama lgico,

Pgina 17 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

isto , atravs da porta lgica NAND.

Teoremas da lgebra de Boole


Uma funo combinacional pode ser escrita de vrias maneiras, sem ser alterada, fazendose uso dos Teoremas da lgebra de Boole. Por exemplo,
(A . B)' = A' + B'
onde, como visto, os smbolos "'" e "+" representam a negao (NOT) e a disjuno (OR),
respectivamente. Aqui usou-se um dos teoremas conhecidos como Leis de De Morgan. Os
principais teoremas da lgebra Booleana so,
Ordem

Teoremas

Ordem

Teoremas

A+0=A

11

A . B + A . B' = A

A+1=1

12

(A + B) . (A + B') = A

A+A=A

13

A + A' . B = A + B

A + A' = 1

14

A . (A' + B) = A . B

A.1=A

15

A + B . C = (A + B) . (A + C)

A.0=0

16

A . (B + C) = A . B + A . C

A.A=A

17

A . B + A' . C = (A + C) . (A' + B)

A . A' = 0

18

(A + B) . (A' + C) = A . C + A' . B

A+A.B=A

19

A . B + A' . C + B . C = A . B + A' . C

10

A . ( A + B) = A 20

(A + B) . (A' + C) . (B + C) = (A + B) . (A' + C)

Como qualquer prova de teorema, a cada passo em direo prova, voc tem que dizer o
porque do passo. Veja este exemplo (a prova do teorema 10),
A . (A + B)
= (pelo teorema 16)
A.A+A.B
= (teo. 7)
A+A.B
= (teo. 5)
A.1+A.B
= (teo. 16)
Pgina 18 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

A . (1 + B)
= (teo. 2)
A.1
= (teo. 5)
A
Vamos fazer diferente! Nova leitura:

lgebra de Boole: operaes


So definidas algumas operaes elementares na lgebra boleana:
Operao No (NOT)
operador barra
0=1
1=0
Operao E (AND)
operador ponto .
0.0=0
0.1=0
1.0=0
1.1=1
Operao Ou (OR)
operador +
0+0=0
0+1=1
1+0=1
1+1=1
Operao Ou-Exclusivo (XOR)
operador (+)
0 (+) 0 = 0
0 (+) 1 = 1
1 (+) 0 = 1
1 (+) 1 = 0

lgebra de Boole: funes

Pgina 19 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Uma varivel boleana s pode assumir apenas um dos valores possveis (0 e 1)


Uma ou mais variveis e operadores podem ser combinados formando uma funo lgica
Z1(A) = f(A) = ... (expresso usando var. A)
Z2(A,B) = f(A,B) = ... (expr. usando var. A e B)
_ Resultados de uma funo lgica podem ser expressos numa tabela relacionando todas as
combinaes possveis dos valores que suas variveis podem assumir e seus resultados
correspondentes: a Tabela-Verdade.

lgebra de Boole: Tabela Verdade

Tabela-Verdade relaciona os resultados (sada) de uma funo lgica para todas as


combinaes possveis de suas
variveis (entrada).
Na Tabela-Verdade acima a funo lgica Z possui duas variveis A e B, sendo Z = f(A, B) = A
+B

lgebra de Boole: precedncia


Precedncia das Operaes
(0) parntesis
(1) Negao
(2) E
(3) Ou, Ou-exclusivo
O uso de parntesis altera a precedncia normal dos operadores, como na lgebra
comum.

lgebra de Boole: propriedades

Pgina 20 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Sendo A, B e C variveis boleanas


Propriedade Comutativa
A.B=B.A
A+B=B+A
A (+) B = B (+) A
Propriedade Associativa
(A.B).C=A.(B.C)=A.B.C
(A+B)+C=A+(B+C)=A+B+C
( A (+) B ) (+) C = A (+) ( B (+) C ) = A (+) B (+) C
Propriedade Distributiva
A . (B + C ) = A . B + A . C
A + B . C = (A + B) . (A + C)
Propriedades (Leis) de Absoro
A + A.B = A
A + A.B = A + B
(A + B).B = A.B
Identidades importantes
NOT
0=1
1=0
A=A
AND
A.1=A
A.0=0
A.A=A
A.A=0
OR
A+1=1
A+0=A
A+A=A
A+A=1

lgebra de Boole: dualidade

Pgina 21 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Existe um princpio especial na lgebra boleana denominado princpio da dualidade:


Para uma equao boleana qualquer, se trocarmos as operaes E (.) e operaes OU (+)
entre si assim como os valores 0s e 1s entre si, obteremos uma equao igualmente vlida.
A + 0 = A => A . 1 = A
A + 1 = 1 => A . 0 = 0
A + A = A => A . A = A
A + A = 1 => A . A = 0
A Obra de Boole foi continuada por Morgan e Benjamin Pierce

3. Portas lgicas
Portas lgicas ou circuitos lgicos, so dispositivos que operam um ou mais sinais
lgicos de entrada para produzir uma e somente uma sada, dependente da funo
implementada no circuito.
So geralmente usadas em circuitos eletrnicos, por causa das situaes que os
sinais deste tipo de circuito podem apresentar: presena de sinal, ou "1"; e ausncia de sinal,
ou "0". As situaes "Verdade" e "Falso" so estudadas na Lgica Matemtica ou Lgica de
Boole; origem do nome destas portas.
O comportamento das portas lgicas conhecido pela tabela verdade que
apresenta os estados lgicos das entradas e das sadas.
Em engenharia (e tambm em outras reas) para tornar as coisas mais simples e de
mais fcil entendimento usamos algo chamado abstrao, onde dividimos um sistema em
nveis, chamados nveis de abstrao.
Isso nos permite generalizar e trabalhar somente com a informao necessria ao
problema em anlise no momento, escondendo informao desnecessria. Por exemplo, s
preciso saber que meu carro precisa de gasolina para ele andar e no quais so os compostos
qumicos contidos nela, nem como eles reagem no meu motor.
Caso quisesse saber porque meu carro anda com gasolina, teria de descer at um
nvel de abstrao mais baixo no projeto do carro e analisar as informaes contidas nele.

Pgina 22 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

a famosa abordagem dividir para conquistar, onde quando temos um problema


complexo o dividimos em nveis para entend-lo melhor ou extrair somente a informao ou
caracterstica que nos interessa num dado momento.
Conforme vamos nos aprofundando no hardware, mais baixo descemos nos nveis
de abstrao.
Veja o exemplo da figura abaixo, onde dividimos um processador em nveis usando
esse raciocnio.

As portas lgicas so abstraes de algo mais complexo que a unio de


transistores usados para constru-las. Para nossa convenincia didtica podemos classific-las
como nvel de abstrao 2, os transistores como nvel 1 e o silcio que compe os transistores
como o nvel 0.
claro que sempre podemos descer a nveis mais baixos e ir parar dentro dos
tomos, mas chegaramos ao ponto em que precisaramos de mecnica quntica e muito ch

Pgina 23 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

do ch do Santo Daime para tentar entender alguma coisa. Quando estamos no nvel das
portas lgicas s nos interessa o que elas fazem, e no como elas fazem.
Para projetar circuitos digitais necessitamos de 3 tipos diferentes de portas lgicas,
as portas NO, E e OU ou respectivamente NOT, AND e OR na nomenclatura inglesa (que
normalmente a mais usadas nos projetos). Suas representaes grficas ANSI esto na figura
abaixo.

Dependendo do seu tipo, as portas lgicas podem ter uma ou mais entradas, porm
todas possuem sempre uma nica sada (nos smbolos da imagem acima, as entradas so
representadas pelas linhas horizontais esquerda e as sadas as linhas direita).
As entradas podem aceitar somente dois estados, 0 ou 1, e o mesmo vale para as
sadas.
A figura a seguir mostra duas representaes em nveis de abstrao diferentes
para a mesma porta NOT. Nota-se que quanto maior o nvel, mais simples tendem a se tornar
as representaes, escondendo a complexidade do que vem por baixo.

Pgina 24 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Pgina 25 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Na prtica, tudo controlado por meio de Portas Lgicas que so comercializadas


por pastilhas de silcio conhecidas por CHIPs. Cada terminal do circuito pode representar
Entradas ou Sadas das Portas Lgicas.

De maneira bem abrangente podemos dizer que as portas lgicas so o


fundamento do processamento digital. Elas relacionam operaes matemticas efetuadas
por sistemas binrios. Estas operaes so controladas por lgebra booleana (ou aritmtica
computacional).
Inversor
Como o prprio nome j sugere, o inversor ir inverter o estado da entrada. Se voc entrar o
nmero 0 em um circuito inversor, voc obter na sada o nmero 1, e vice-versa. A porta
inversora mais conhecida como NOT e sua sada Y = /A, o circuito integrado mais comun
o 74LS04.

Tabela Verdade:
Entrada A

Saida Y

AND
Uma porta lgica AND realiza uma operao lgica E, Ela possui pelo menos duas entradas.
Por isso, se A e B so suas entradas, na sada teremos o resultado de A x B (tambm
representado como A B), o ciruito integrado mais comun o 74LS08.

Pgina 26 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Tabela Verdade:
Entrada A

Entrada B

Sada Y

OR
A porta lgica OR realiza uma operao lgica OU. Ela possui pelo menos duas entradas.
Por isso, se A e B so suas entradas, na sada teremos o resultado de A + B seu ciruito integrado
mais comun o 74LS32.

Tabela Verdade:
Entrada A

Entrada B

Sada Y

Portas Lgicas Derivadas:


NAND:
Esta porta nada mais do que uma porta AND com um inversor acoplado. Por isso, sua
sada o oposto da AND. Voc pode construir uma porta NAND conectando uma porta AND
a um inversor o CI mais comun o 74LS00.

Pgina 27 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Tabela Verdade:
Entrada A

Entrada B

Sada Y

NOR:
NOR uma porta OR com um inversor acoplado. Por isso, sua sada o oposto da porta OR.
Voc pode construir uma porta NOR conectando uma porta OR a um inversor seu CI o
74LS02.

Tabela Verdade:
Entrada A

Entrada B

Sada Y

XOR:
XOR significa OU exclusivo. A porta lgica XOR compara dois valores e se eles forem
diferentes a sada ser 1, o CI mais usado deste tipo o 74LS86.

Tabela Verdade:
Entrada A

Entrada B

Sada Y

Pgina 28 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

XNOR:
XNOR significa NOR exclusivo e uma porta XOR com sua sada invertida. Dessa forma, sua
sada ser igual a 1 quando suas entradas possurem o mesmo valor e 0 quando elas
forem diferentes. Circuito integrado 747266.

Tabela Verdade:
Entrada A

Entrada B

Sada Y

4. Circuitos Combinatrios
Os circuitos combinatrios designam-se por circuitos cujas sadas so
exclusivamente funo das suas entradas, sem interveno do ltimo valor em que se
encontravam essas sadas.

Pgina 29 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Multiplexer
- So circuitos combinatrios que tem a funo de selecionar uma de entre n entradas de
dados e envi-la para uma nica sada.

Pgina 30 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Demultiplexer
- um dispositivo que executa a operao inversa do multiplexer, isto , distribui informaes
de uma nica entrada para uma das diversas sadas.

Encoder (Codificador)
-

So circuitos que convertem um nmero representado no sistema decimal para a sua


representao num cdigo BCD ou binrio natural. Tambm se utilizam para codificar
smbolos e caracteres alfabticos. Possuem n sadas e at 2n + 1 entradas.

Pgina 31 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Decoder (Descodificador)
- So circuitos que realizam a operao inversa dos codificadores. Dispem de n entradas e
de um nmero de sada menor ou igual a 2n. Nestes circuitos s uma sada estar activa para
cada combinao das entradas.

Pgina 32 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Comparador
- Os Comparadores so circuitos que comparam a grandeza de dois nmeros Binrios de n
bits e indicam qual deles maior, menor ou se so iguais.

5. MAIS A RESPEITO...

Observaes Importantes... no custa alertar quanto a isso.

Pgina 33 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Pgina 34 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Pgina 35 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Chegamos na nossa parte prtica, pela


primeira vez...
Podemos utilizar qualquer ferramenta que se destina a essa finalidade, mas a mais conhecida
o LOGSIM.
O Logisim um programa de cdigo aberto.
- Comunicao de direitos autorais:
Copyright (c) 2005, Carl Burch.
O Logisim um programa gratuito; poder ser redistribudo e/ou modificado sob os
termos da GNU General Public License como publicada pela Free Software Foundation;
quer seja na verso 2 dessa licena, ou qualquer outra posterior.
O Logisim distribudo na inteno de que possa ser til, mas SEM QUALQUER
GARANTIA; nem mesmo aquela implcita para COMERCIALIZAO ou ADEQUAO
PARA UM DETERMINADO PROPSITO. Favor consultar a GNU General Public License
para maiores detalhes.
Conhecendo a ferramenta, vamos ao processo de jogar prtica, o que vimos na teoria
Vamos iniciar com o XOR... lembra-se como funciona o XOR ??

Pgina 36 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Quando voc iniciar o Logisim, ver uma janela semelhante a essa:

O Logisim dividido em 3 partes, chamadas de painel do explorador, tabela de atributos, e


rea de desenho (ou tela). Acima dessas estaro a barra de menu e a barra de ferramentas.

Sugiro a construo de um circuito, inserindo as portas primeiro para formar uma espcie de
esqueleto e, em seguida, conect-los com os fios.
A primeira coisa que vamos fazer adicionar as duas portas AND.
Certifique-se de deixar espao suficiente para outras coisas do lado esquerdo.

Pgina 37 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Observar que haver 5 pontos do lado esquerdo da porta AND.


Esses sero os pontos onde os fios podero ser conectados. Acontece que ns iremos usar
apenas dois deles para o nosso circuito XOR, mas para outros circuitos, voc poder achar
mais til ter mais de duas conexes em uma porta AND.
Agora adicionaremos as outras portas. Primeiro clicar sobre a porta OR
onde voc quiser coloc-la.

em seguida, clicar

E colocar tambm duas portas NOT

Agora queremos adicionar as duas entradas x e y no diagrama.


Selecione uma entrada e coloque os pinos voltados para baixo. Voc tambm dever colocar
uma sada junto porta OR

Pgina 38 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Depois de ter todos os componentes colocados na rea de desenho (tela), voc estar pronto
para comear a adicionar as conexes.
Quando o cursor estiver sobre um ponto que receber uma extremidade do fio, um pequeno
crculo verde ser desenhado em torno dele. Pressione o boto do mouse e arraste at onde
voc quiser que a outra extremidade do fio v.
As conexes (fios) em Logisim devero ser horizontais ou verticais. Para conectar entrada
superior porta NOT e porta AND, em seguida, acrescentei trs fios.

O Logisim automaticamente conectar os fios s portas e uns aos outros. Isso inclui
automaticamente o desenho do crculo sobre o T da interseo acima, indicando que os fios
esto ligados.
Ao traar as conexes, voc poder ver alguns fios azuis ou cinzas.
O azul no Logisim indicar que o valor naquele ponto "desconhecido", e cinza indica que o
fio no estar conectado a nada. Isso no importa muito j que voc estar em processo de
construo de um circuito. Mas quando voc terminar, nenhum de seus fios dever ser azul
ou cinza.
Se voc tiver um fio azul ou cinza depois que voc achar que tudo j tiver sido conectado,
ento h algo de errado. importante que voc conecte os fios nos lugares certos. O Logisim
apresenta pontinhos sobre os componentes para indicar onde os fios devero se conectar. A
medida em que prosseguir, voc ver que os pontos mudaro de azul para verde-claro ou
escuro.
Depois que tiver todos os fios conectados, todas as conexes que tenham sido inseridas
devero estar em verde-claro ou escuro.

Pgina 39 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Acrescentar texto ao circuito no ser necessrio para faz-lo funcionar; mas se voc quiser
mostrar o seu circuito para algum (como ao professor no caso aqui ou a uma equipe de
profissionais ou de clientes), ento, alguns rtulos ajudaro a comunicar os propsitos de
diferentes partes do seu circuito.
Observe bem os 3 primeiros botes ali na barra de ferramentas... mo + seta + letra A.
Identifique quem quem antes de comearmos!
Voc poder clicar em um pino de entrada e comear a escrever para dar-lhe um rtulo. (
melhor clicar diretamente no pino de entrada do que clicar onde voc quiser colocar o texto,
porque o rtulo ir mover-se junto com o pino). Voc poder fazer o mesmo para o pino de
sada. Ou voc poder simplesmente clicar em qualquer outro lugar e comear a escrever
para colocar um rtulo ali.

Nosso passo final ser testar o circuito para garantir que ele realmente realiza o que
pretendemos.
Mas na verdade o Logisim j est simulando o circuito. Vamos dar uma olhada novamente na
imagem acima (ou no exemplo que vc est desenvolvendo a)
Observar que os pinos de entrada contm zeros, e assim tambm o pino de sada. Isso j nos
diz que o circuito j calcula um 0 quando ambas as entradas so iguais a 0.
Tudo ok!
Agora tentaremos outra combinao das entrada. Selecione a ferramenta Testar (Poke)
(aquele cone da mozinha) e comearemos a alterar as entradas, clicando sobre elas. Cada
vez que fizer isso sobre a entrada, seu valor ser alternado. Por exemplo, poderamos fazer
isso.

Pgina 40 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Quando voc mudar o valor de entrada, o Logisim ir mostrar que os valores seguiro pelos
fios marcando-os com a cor verde-claro para indicar um valor 1 ou verde-escuro (quase preto)
para indicar um valor 0. Voc tambm poder ver que o valor de sada foi alterado para 1.

Ao testar combinaes diferentes, poderemos verificar as outras linhas. Se todos elas


corresponderem, ento terminamos: o circuito funciona!
Vamos fazer a simulao de mais portas lgicas... mais tarde!
Por agora, vamos abordar alguns outros pontos importantes...por exemplo sobre a variedade
de cores que as conexes do Logisim podero assumir. O pequeno circuito que se segue
ilustra todos elas de uma s vez.

Cinza: A largura em bits das conexes desconhecida.


Isso ocorre porque o fio no est conectado s entradas ou s
sadas de qualquer componente. (Todas as entradas e as sadas
tm uma largura de bits definida.)

Azul: O fio serve para transportar um bit, mas o valor que


ele est carregando no momento no conhecido. A entrada
mostrada como um pino tri-state, de modo que ele possa emitir
esse sinal como flutuante.

Verde escuro: O fio est carregando um bit igual a 0.

Verde brilhante: O fio est carregando um bit igual a 1.

Preto: O fio portador de um valor multi-bit. Alguns ou


mesmo todos os bits podero no estar especificados.

Vermelho: O fio est carregando um valor com erro. Isso geralmente acontece porque
uma porta no pode determinar a sada correta, talvez porque no tenha entradas. Tambm
poder surgir porque dois componentes esto tentando enviar valores diferentes para o fio;
isso acontece no exemplo acima, onde um pino de entrada tenta colocar 0 enquanto outro
tenta colocar 1 no mesmo fio, causando um conflito. Conexes multi-bit ficaro vermelhas
quando qualquer um dos bits transportadas estiver com erro.

Laranja: Os componentes ligados ao fio no concordam com a mesma largura de bits.


Uma conexo laranja efetivamente "quebrada": no transportar sinais entre os

Pgina 41 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

componentes. Aqui, conectamos um componente de dois bits a outro de um bit, de modo a


serem incompatveis
Outro ponto, so as bibliotecas...
Olhando bem para o primeiro projeto que fizemos, observe que haveria outra forma de
fazermos o XOR...
Quando voc criar um projeto, ele automaticamente incluir vrias bibliotecas:

Conexo (Wiring): Componentes que interagem diretamente com os fios.

Portas (Gates): Componentes que executam funes lgicas simples.

Plexers: Combinaes mais complexas de componentes, como multiplexadores e


decodificadores.

Aritmtica: componentes que executam operaes aritmticas.

Memria: Componentes que guardam dados, como flip-flops, registradores e RAM.

Entrada/Sada: Componentes que tm a finalidade de interagir com o usurio.

Base: As ferramentas que so essenciais para se usar o Logisim embora seja muito
provvel que voc no ir trabalhar com ela frequentemente
Agora vamos observar um pouco sobre os atributos de ferramentas...

Agora aprofundando um pouco mais...


Existem possibilidades de mudarmos as preferncias dos projetos que venhamos a
desenvolver.
Na aba gabarito, temos a possibilidade de fazer cada novo projeto, partindo de um ponto
de partida, de um modelo prvio.
Na aba Internacional, temos algo mais relevante.
Alm de mudar o idioma, caso necessrio, temos as mudanas de padres completos, com a
notao respectiva de cada padro.

Clique no lugar respectivo e observe que h como fazermos qualquer projeto em 3 padres
distintos

Pgina 42 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

O estilo shaped (convencional) tende a ser mais popular nos EUA, enquanto o estilo retangular
tende a ser mais popular na Europa, algumas pessoas se referem ao esses estilos de acordo
com essas regies, por isso os termos neutros shaped e rectangular tem sido os preferidos.
A norma DIN 40700 foi um padro para a elaborao de componentes eletrnicos digitais e
analgicos, adotada pela DIN, uma organizao para padres alemes. A DIN adotou a norma
retangular para componentes digitais em 1976, mas alguns os engenheiros continuam a usar
o estilo mais antigo, mas isso parece ser cada vez mais raro. O Logisim no segue estritamente
nenhuma norma, ele procura usar um meio termo para permitir alternncia entre eles. Em
particular, as portas em formato convencional so mais quadradas que as dimenses
definidas pelos relevantes padres IEEE. E, apesar das portas XOR e XNOR devessem ser da
mesma largura, assim como as portas OR e NOR fossem mais retangulares, elas no o so
devido a dificuldades na compactao da porta XOR convencional.

6. FLIP-FLOPS:
Antes de entrar em flip-flops p/ valer, temos que entender um pouco mais sobre o
que j vimos...

Circuitos
Combinacionais

Flip-flops so elementos de memria, criados a partir de portas lgicas!


De forma geral, podemos representar o flip-flop como um bloco onde temos 2
sadas: Q e Q , entradas para as variveis e uma entrada de controle (clock). A sada Q ser a
principal do bloco. A seguir temos um flip-flop genrico.

Pgina 43 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Entrada 1
Q (Saida Principal)
Entrada Clock

FLIP-FLOP

Q
Entrada 2

Este dispositivo possui basicamente dois estados de sada.


Para o flip-flop assumir um destes estados necessrio que haja uma combinao
das variveis e do pulso de controle (clock).
Aps este pulso, o flip-flop permanecer neste estado at a chegada de um novo
pulso de clock e, ento, de acordo com as variveis de entrada, mudar ou no de estado.
Os dois estados possveis so:
1) Q 0
Q 1
2) Q 1
Q 0

Aspectos importantes:

Flip-flops so memrias de 1 bit, feitos por composio de circuitos lgicos

Entradas influenciam sadas, mas sadas influenciam as entradas

Aspectos prvios:
o VER DIRETAMENTE NA AULA, UTILIZANDO A FERRAMENTA...
o FRAGMENTOS DE LIVROS TCNICOS:

Pgina 44 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

FLIP-FLOP RS BSICO
Primeiramente, vamos analisar o flip-flop RS bsico, construdo a partir de portas NE

e inversores, cujo circuito visto abaixo:

S (Se t)
Q

R (Re se t)

Notamos que estes elos de realimentao fazem com que as sadas sejam injetadas
juntamente com as variveis de entrada, ficando claro, ento, que os estados que as sadas
iro assumir dependero de ambas.
Para analisarmos o comportamento do circuito, vamos construir a tabela da verdade,
levando em considerao as 2 variveis de entrada (S e R) e a sada Q anterior (Qa) aplicao
das entradas.

Pgina 45 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

A sada que o flip-flop ir assumir (Qf), portanto, ser em funo das entradas S, R e
da sada anterior (Qa).
Vamos agora fazer o seu modelo!!

A entrada S denominada Set, pois quando acionada (nvel), passa sada para 1
(estabelece ou fixa 1), e a entrada R denominada Reset, ou quando acionada (nvel 1), passa
a sada para 0 (recompe ou zera o flip-flop).
Vejamos... Primeiramente temos:

Depois faa os testes conforme abaixo:


Clique em S (modo ao), vc acaba de dar um pulso em SET, veja o resultado;
Quer dizer que ali agora tem um bit armazenado em memria;
Agora d um RESET no pulso, veja o que acontece... (d um pulso em R);
Agora manipule como vc quiser em R... nada muda n?

Pgina 46 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Agora vamos fazer um exerccio... (n 1)


Faa o seguinte circuito, com o nome de flip2rs:

Tente buscar o entendimento, em explicao ao colega de sala, que pegou o nmero


___ no sorteio feito em sala.
Com base nisso, montem juntos a tabela verdade desse caso!

7. MEMRIA
Um sistema digital capaz de armazenar facilmente uma grande quantidade de
informao por perodos de tempo curtos ou longos, sendo esta a sua principal vantagem

Pgina 47 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

sobre os sistemas analgicos, pois tal caracterstica torna os sistemas digitais bastante
versteis e adaptveis a um sem-nmero de situaes.
J estamos familiarizados com o flip-flop. Sabemos tambm que grupos de flip-flops
denominados registradores so capazes de armazenar informao estruturada (dados ou
instrues), e que tais informaes podem ser recebidas/transferidas de/para outros
dispositivos de armazenamento.
Os registradores so elementos de memria de alta velocidade, empregados no
armazenamento de informao durante o processo de execuo de instrues pela unidade
de controle da mquina, havendo uma constante movimentao de informaes entre os
registradores e os demais dispositivos componentes do sistema.
Em geral, um sistema de computador usa memria principal (interna) de alta
velocidade e dispositivos de memria secundria (externa ou de massa) lentos, mas com alta
capacidade de armazenamento.
Vejamos mais termos importantes:
CLULA DE MEMRIA - ( Flip-flop, armazenam um nico bit)
PALAVRA DE MEMRIA - (Um grupo de clulas, normalmente 4 a 64 bits )
CAPACIDADE - 1K = 1024 , 1M = 1.048.576 - ( 2K x 8 = 2048 x 8 = 16384 bits )
ENDEREO - Identifica a posio de uma palavra na memria.
OPERAO DE LEITURA - Tambm chamada de busca na memria.
OPERAO DE ESCRITA - Tambm chamada de armazenamento.
TEMPO DE ACESSO - Quantidade de tempo necessria busca ou
armazenamento.
MEMRIA VOLTIL - Necessitam de energia eltrica para reter a informao
armazenada.
MEMRIA DE ACESSO RANDMICO (RAM) - O tempo de acesso constante para
qualquer endereo da memria.
MEMRIA DE ACESSO SEQUENCIAL (SAM) - O tempo de acesso no constante,
mas depende do endereo. Ex: fitas magnticas.
MEMRIA DE LEITURA/ESCRITA (RWM) - Qualquer memria que possa ser lida ou
escrita com igual facilidade.
MEMRIA DE LEITURA (ROM) - Uma classe de memrias a semicondutor
projetadas para aplicaes onde a taxa de operaes de leitura infinitamente mais alta do
que as de escrita. So no-volteis.
Pgina 48 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

DISPOSITIVOS DE MEMRIA ESTTICA - Enquanto houver energia eltrica


aplicada, no h necessidade de rescrever a informao.
DISPOSITIVOS DE MEMRIA DINMICA - Necessitam de recarga ( refresh )
MEMRIA PRINCIPAL (INTERNA) - a mais rpida do sistema. ( Instrues e dados
).
MEMRIA DE MASSA - mais lenta que a principal. Grande capacidade de
armazenamento
Apesar das diferenas existentes na implementao de cada um dos tipos de
memria, um certo conjunto de princpios bsicos de operao permanece o mesmo para
todos os sistemas de memria.
Cada sistema requer um conjunto de tipos diferentes de entrada e sada para realizar
as seguintes funes:
1. Selecionar o endereo que est sendo acessado para uma operao de leitura ou
escrita.
2. Selecionar a operao a ser realizada, leitura ou escrita.
3. Fornecer os dados de entrada para a operao de escrita.
4. Manter estveis as informaes de sada da memria resultantes de uma
operao de leitura, durante um tempo determinado.
5. Habilitar ( ou desabilitar ) a memria, de forma a faz-la ( ou no ) responder ao
endereo na entrada e ao comando de leitura/escrita.
MEMRIAS DE LEITURA ROM:
As ROMs so usadas para guardar instrues e dados que no vo mudar durante o
processo de operao do sistema.
Uma vez que as ROMs so no-volteis, os dados nela armazenados no se perdem
quando o equipamento desligado.
Uma das principais aplicaes da ROM no armazenamento de alguns programas do
sistema operacional dos microcomputadores, e tambm para armazenar informaes em
equipamentos controlados por microprocessadores, como caixas registradoras eletrnicas,
sistemas de segurana industrial e diversos aparelhos eletrodomsticos.
Para alguns tipos de ROM, os dados que esto armazenados foram gravados durante
o processo de fabricao da memria. Para outros tipos, os dados so gravados
eletricamente.

Pgina 49 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

O processo de gravao de dados chamado de programao, ou queima, da ROM.


Algumas podem apagar e regravar seus dados quantas vezes forem necessrias.
TIPOS DE MEMRIAS DE LEITURA ROM:
ROM PROGRAMADA POR MSCARA - MROM
Este tipo tem suas posies de memria escritas ( programadas ) pelo fabricante de
acordo com as especificaes do cliente. Um negativo fotogrfico, denominado mscara,
usado para especificar as conexes eltricas do chip. Uma mscara diferente requerida para
cada conjunto de informaes a ser armazenado na ROM. Em razo de tais mscaras serem
caras, este tipo de ROM s ser vivel sob ponto de vista econmico, se for produzido um
nmero muito grande de ROMs com a mesma mscara.
A maior desvantagem destas ROMs o fato de elas no poderem ser apagadas e
reprogramadas, quando uma mudana qualquer no projeto do dispositivo exigir
modificaes nos dados armazenados. Neste caso, a ROM com os dados antigos no pode ser
reaproveitada, devendo ser substituda por uma outra com os novos dados gravados.
ROMs PROGRAMVEIS - PROMs
Para aplicaes mais modestas em termos de quantidades de chips a ser produzidos,
a indstria desenvolveu as PROMs a fusvel, programveis pelo usurio, isto , elas no so
programadas durante o processo de fabricao, e sim pelo usurio, de acordo com suas
necessidades. Porm, uma vez programada, a PROM torna-se uma MROM, ou seja, no pode
ser apagada e novamente programada.
O processo de programao de uma PROM com a conseqente verificao dos dados
gravados pode ser muito tedioso e demorado, se realizado manualmente. Existe no mercado
um sem-nmero de dispositivos programadores de PROMs que permitem a entrada da
programao por teclado, para ento realizar a queima dos fusveis e verificao dos dados
gravados, sem a interveno do usurio.
ROM PROGRAMVEL APAGVEL - EPROM
Uma EPROM pode ser programada pelo usurio, podendo, alm disso, ser apagada
e reprogramada quantas vezes forem necessrias. Uma vez programada, a EPROM comportase como memria no-voltil que reter os dados nela armazenados indefinidamente.
Uma vez que uma clula da EPROM tenha sido programada, possvel apag-la
expondo radiao ultravioleta, aplicada atravs da janela do chip. Tal processo de
apagamento requer uma exposio de 15 a 30 minutos aos raios ultravioletas. Infelizmente
no h como apagar clulas selecionadas. A luz ultravioleta apaga todas as clulas ao mesmo

Pgina 50 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

tempo, de forma que, aps a exposio, a EPROM estar novamente armazenando apenas
1s. Uma vez apagada, a EPROM pode ser reprogramada.
As EPROMs esto disponveis numa faixa bem ampla de capacidade e tempos de
acesso. Dispositivos com capacidade de 128K x 8 com tempo de 45 ns so muito comuns.
ROM PROGRAMVEL APAGVEL ELETRICAMENTE - EEPROM
A EEPROM foi desenvolvida no incio dos anos 80, e apresentada ao mercado como
um aperfeioamento da idia da PROM.
A maior vantagem da EEPROM sobre a EPROM a possibilidade de apagamento e
reprogramao de palavras individuais, em vez da memria toda. Alm disso, uma EEPROM
pode ser totalmente apagada em 10 ms, no prprio circuito, contra mais ou menos 30
minutos para uma EPROM que deve ser retirada do circuito para submeter-se ao da luz
ultravioleta.
Uma EEPROM tambm pode ser programada bem mais rapidamente do que uma
EPROM, requerendo um pulso de programao de 10 ms para cada palavra, em contraste
com o de 50 ms necessrio a se programar uma palavra da EPROM.
APLICAES DAS ROMs:
FIRMWARE ( MICROPROGRAMA )
Programas que no esto sujeitos a mudana.
Sistemas Operacionais, Interpretadores de linguagem, etc.
MEMRIA DE PARTIDA FRIA ( BOOTSTRAP )
Programa que leva o processador a inicializar o sistema, fazendo com que a
parte residente do sistema operacional seja transferida da memria de massa para a memria
interna.
TABELAS DE DADOS
Exemplos: funes trigonomtricas e de converso de cdigo.
CONVERSORES DE DADOS
Recebem um dado expresso em determinado tipo de cdigo, e produzem uma
sada expressa em outro tipo de cdigo.
Por exemplo, quando o microprocessador est dando sada a dados em binrio
puro, e precisamos converter tais dados para BCD de forma a excitar corretamente um display
de 7 segmentos.
GERADORES DE CARACTERES

Pgina 51 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Armazena os cdigos do padro de pontos de cada caracter em um endereo


que corresponde ao cdigo ASCII do caracter em questo.
Por exemplo: Endereo 1000001 ( 41H ) corresponde a letra A.
MEMRIAS DE ACESSO RANDMICO - RAM
O termo RAM usado para designar uma memria de acesso randmico, ou seja,
uma memria com igual facilidade de acesso a todos os endereos, no qual o tempo de acesso
a qualquer um deles constante.
As RAMs so usadas em computadores para armazenamento temporrio de
programas e dados.
A grande desvantagem reside no fato delas serem volteis. algumas RAMs CMOS tm
a capacidade de operar em standby, consumindo muito pouca energia quando no esto
sendo acessadas. alm disso, algumas podem ser alimentadas por baterias, mantendo seus
dados armazenados na ocorrncia de eventuais interrupes de energia.
RAM ESTTICA (SRAM)
So aquelas que s podem manter a informao armazenada enquanto a
alimentao estiver aplicada ao chip.
As clulas de memria das RAMs estticas so formadas por flip-flops que estaro
em certo estado ( 1 ou 0 ), por tempo indeterminado.
Esto disponveis nas tecnologias bipolar e mos.
bipolar: maior velocidade, maior rea de integrao.
MOS : maior capacidade de armazenamento e menor consumo de potncia.
alto custo.
difcil integrao ( pouca capacidade em muito espao ).
TECNOLOGIAS
medida que o tempo passa, mesmo as memrias estticas esto ficando lentas
para as frequncias de operao utilizadas no barramento local do microcomputador.
A soluo foi o desenvolvimento de novas tecnologias de memria esttica:
ASYNCHRONOUS SRAM
Esse o tipo tradicional de memria esttica, utilizada a partir do 80386. embora
seja rpida, em frequncias de operao acima de 33Mhz, necessita utilizar wait states.
Tem um tempo de acesso tpico de 20 a 12 ns.
SYNCHRONOUS BURST SRAM

Pgina 52 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Esse o melhor tipo de memria esttica para micros que utilizem at 66Mhz como
frequncia de operao do barramento local, pois no preciso utilizar wait states.
Tem um tempo de acesso tpico de 12 a 8,5ns.
PIPELINED BURST SRAM
Esse novo tipo consegue trabalhar com barramentos de at 133Mhz sem a
necessidade de wait states. Tem um tempo de acesso tpico de 8 a 4,5ns.
RAM DINMICA ( DRAM )
So fabricadas usando a tecnologia MOS.
Apresentam :
alta capacidade de armazenamento.
baixo consumo de energia.
velocidade de operao moderada.
armazenam 1s e 0s como carga de microcapacitores mos.
baixo custo.
desvantagem:
necessitam de recarga peridica das clulas de memria
operao de refresh de cada clula a cada 2~10 ms.
Sempre que uma operao de leitura for realizada em determinada clula da dram,
todas as clulas desta mesma linha sofrero refresh.
Mesmo no podendo baixar o tempo de acesso da memria dinmica ( sobretudo
por causa da necessidade de ciclos de refresh ), os fabricantes conseguiram desenvolver
diversas novas tecnologias de construo de circuitos de memria RAM.
Embora tenha o mesmo tempo de acesso, circuitos com tecnologias de construo
diferentes podem apresentar velocidades diferentes.
Para entendermos as novas tecnologias de construo de memrias dinmicas e as
suas vantagens, devemos ir um pouco mais a fundo no funcionamento das memrias
dinmicas.
As novas tecnologias so alteraes na estrutura bsica do funcionamento da
memria, que fazem com elas gastem um nmero menor de wait states.
Podemos citar:
Memria Fast Page Mode ( FPM )
Memria Extended Data Out ( EDO )
Memria Burst Extended Data Out ( BEDO )

Pgina 53 de 54

ARQUITETURA DE COMPUTADORES
Prof. Fco Ivonildo

Memria Synchronous Dynamic RAM ( SDRAM )


Memria Double Data Rate SDRAM ( SDRAM-II )
RAM NO-VOLTIL ( NVRAM )
contm uma matriz de RAM esttica e uma matriz EEPROM no mesmo chip.
cada clula da RAM esttica tem uma correspondente na EEPROM, e a informao
pode ser transferida entre clulas correspondentes em ambas as direes.
elas atuam na ocorrncia de falta de energia, ou quando o computador for desligado.
a operao de transferncia realizada em paralelo e gasta alguns poucos milissegundos.
a NVRAM tem a vantagem de no precisar de bateria.
no esto disponveis em verses de grande capacidade de armazenamento. neste
caso, usa-se RAMs CMOS com bateria.

Pgina 54 de 54