Sei sulla pagina 1di 79

CURSO DE ATUALIZAO EM ELETRNICA DIGITAL E MICROPROCESSADORES

MDULO I CONCEITOS GERAIS DE SISTEMAS COMPUTACIONAIS

DEPARTAMENTO DE ENGENHARIA ELETRNICA/UFRJ


PROF: VICTOR PAULO PEANHA ESTEVES REALIZAO: SEDEP/REDUC

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

I.1. O SER HUMANO E O COMPUTADOR


Desde o seu aparecimento na Terra o homem percebeu que para dominar a natureza e os outros animais necessitava de ferramentas (prteses) para ampliar sua capacidade fsica. Desta forma, inventou a alavanca, o machado, a lana e a faca, entre outras ferramentas. Com a evoluo o homem comeou a construir objetos que o auxiliavam no clculo, como, por exemplo o baco. E desde ento o homem vem tentando construir mquinas cada vez mais poderosas que sejam como prteses para o seu prprio crebro, auxiliando-o na soluo de problemas cada vez mais complexos. De forma simplificada, e sem preocupao com exatido biolgica, podemos analisar o homem segundo o esquema abaixo:

M
SENTIDOS

CREBRO MEMRIA PARTE DECISRIA MSCULOS

E
SER HUMANO

I O E X
Figura I.1 Como visto acima, o homem composto de sentidos, crebro e msculos. O crebro, por sua vez, subdividido em memria e parte decisria. Atravs dos sentidos o homem recebe do meio externo todas as informaes. Estas podem ser captadas por meio da viso, da audio, do olfato, do paladar e do tato. As informaes podem ser armazenadas na memria, que pode guardar informaes visuais (memria visual), auditivas (memria auditiva) e assim por diante. Os msculos, que so comandados pela parte decisria do crebro, so os instrumentos atravs dos quais o homem age sobre o meio externo. Um exemplo de comportamento pode mostrar de que forma se relacionam os quatro componentes bsicos do ser humano. Um centro-avante de futebol, dentro da pequena rea adversria v uma bola alta que lhe cruzada da linha de fundo. Na memria deste jogador existe a lembrana de que, toda vez que a bola vem pelo alto, ele deve pular e cabecea-la de encontro ao gol adversrio. Em fraes de segundo ele busca na memria esta informao e a parte decisria de seu crebro decide que ele deve pular. O crebro ento comanda os msculos de seu corpo a saltar e atingir a bola com a cabea, de forma a marcar o gol. O computador muito semelhante a este esquema simplificado do ser humano. Um computador composto basicamente de processador, memria, dispositivos de entrada e dispositivos de sada. A seguir temos o esquema simplificado de um computador. ___________________________________________________________________________________ I.1

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

O
DISPOSITIVOS DISPOSITIVOS PROCESSADOR DE SADA

DE ENTRADA

N E
MEMRIA

COMPUTADOR

I O E X
Figura I.2

R T E

O processador a parte do computador que faz os clculos e controla todas as outras partes. Podemos fazer uma analogia entre o processador e a parte decisria do crebro humano. A memria do computador funciona de forma semelhante memria do homem, guardando informaes que podem ser colocadas e retiradas pelo processador a qualquer momento. Atravs dos dispositivos de entrada possvel fazer entrar informaes no computador. Como um exemplo de dispositivo de entrada temos o teclado. Atravs do teclado uma pessoa pode digitar informaes que sero utilizadas pelo computador. Como outros exemplos de dispositivos de entrada temos "mouse", "scanner", unidade de disco flexvel, "joystick" etc. Comparando com os seres humanos, os dispositivos de entrada so os sentidos (viso, audio etc). Os dispositivos de sada so os responsveis pela atuao do computador no mundo externo (da mesma forma que os msculos no ser humano). Como exemplos de dispositivos de sada temos: impressora, "plotter", monitor de vdeo, unidade de disco flexvel etc. A relao entre as partes do computador pode ser exemplificada na figura I.3. Uma secretria digita um relatrio utilizando um teclado (dispositivo de entrada). O processador controla a entrada do texto e armazena-o organizadamente na memria. Ao final da digitao, a secretria digita um comando para imprimir o relatrio. Este comando interpretado pelo processador, que ir transferir o texto, que est na memria, para a impressora (dispositivo de sada). Aps isto a secretria pode digitar um outro comando para salvar (gravar) em disco este relatrio.

___________________________________________________________________________________ I.2

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________


RELATRIO astrudud astrudud astrudud

SECRETRIA TECLADO

PROCESSADOR

IMPRESSORA

DISQUETE
RELATRIO askskclclclcl askskclclclcl askskclclclcl askskclclclcl

MEMRIA

Figura I.3

___________________________________________________________________________________ I.3

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

I.2. O SURGIMENTO DOS COMPUTADORES


Em 1822, o matemtico ingls Charles Babage criou uma mquina que executava automaticamente uma seqncia pr definida de operaes matemticas. Esta mquina considerada como o primeiro computador e conhecida hoje como mquina de Babage. A mquina de Babage era inteiramente mecnica, e deste fato resultava em uma preciso pequena devido s dificuldades tecnolgicas da poca. No entanto o que diferia a mquina de Babage das calculadoras mecnicas, j existentes na poca de suainveno era a introduo do conceito de programao. Este conceito muito importante s veio a ser implementado na prtica mais de um sculo depois. Durante a Segunda Grande Guerra, esforos de ambas as partes resultaram na construo de computadores eletromecnicos que eram usados para clculos de balstica. O computador eletrnico surgiu dois anos aps o fim da guerra, em 1947. Dois pesquisadores da Universidade da Pensilvnia desenvolveram um computador que chamaram de ENIAC. O ENIAC possua nada menos de 18.000 vlvulas a vcuo. Por ser totalmente eletrnico as informaes eram transferidas em velocidade milhares de vezes maior que nos seus precursores eletromecnicos. Os mesmos pesquisadores que criaram o ENIAC comearam a desenvolver uma nova verso de computador eletrnico que foi comercializada pela Sperry Rand Corporation em 1951, sendo portanto o primeiro computador comercial. Com o surgimento e aplicao da tecnologia dos semicondutores as vlvulas dos computadores foram substitudas por circuitos transistorizados, diminuindo o tamanho e o consumo dos computadores. Desde o inicio dos anos 50 at os dias de hoje, empresas como a IBM, a Burroughs, entre outras milhares de empresas no mundo todo, vm lanando todo ano computadores cada vez mais velozes, que consumem cada vez menos energia eltrica e ocupam espaos cada vez menores.

___________________________________________________________________________________ I.4

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

I.3. OS SISTEMA DE NUMERAO E O COMPUTADOR:


I.3.1. O SISTEMA DECIMAL O sistema de numerao que usamos no dia-a-dia o decimal, ou sistema de base 10. A origem do sistema decimal foi o costume adquirido pelos homens de contar usando os dedos das mos. Como so dez dedos o sistema decimal possui dez dgitos ou algarismos (0,1,2,3,4,5,6,7,8,9). No sistema decimal cada algarismo tem um valor absoluto e um valor relativo. O valor absoluto do algarismo a quantidade que o algarismo representa. J o valor relativo depende da posio em que o algarismo est colocado dentro do nmero. Para esclarecer melhor o valor relativo dos algarismos dentro de um nmero, vejamos o seguinte exemplo: O nmero 8579 possui 4 algarismos. O algarismo "9", que est colocado mais a direita, representa a quantidade de unidades, o algarismo "7" representa a quantidade de dezenas, o "5" a quantidade de centenas e o "8" a quantidade de milhares. Podemos ento afirmar que 8579 so 8 milhares (ou 8 conjuntos de mil unidades) mais 5 centenas (ou 5 conjuntos de cem unidades) mais 7 dezenas (ou 7 conjuntos de dez unidades) mais 9 unidades, ou seja: 8579 = 8 X 1000 + 5 X 100 + 7 X 10 + 9 X 1 ou 8579 = 8 X 103 + 5 X 102 + 7 X 101 + 9 X 100 Portanto, qualquer nmero decimal pode ser decomposto em componentes de potncias de base 10. I.3.2. O SISTEMA BINRIO Um computador para armazenar nmeros em base 10 teria de ser capaz de possuir circuitos que assumissem dez estados de tenso distintos, que representariam os algarismos decimais (0,1,..,9). bvio que um computador assim seria de implementao complicada. Por esta razo, desde o incio os computadores foram idealizados para que as quantidades neles armazenadas estivessem em sistema binrio (base 2), onde s existem dois algarismos (0 e 1) e, portanto, os circuitos eletrnicos s necessitam assumir dois estados distintos. Assim como na base 10, os algarismos em base 2 tm um valor absoluto e um valor relativo que depende da posio em que o algarismo est colocado no nmero. Tambm de forma similar ao sistema decimal, qualquer nmero no sistema binrio pode ser decomposto em componentes de base 2, como por exemplo: (1101)2 = 1 X 23 + 1 X 22 + 0 X 21 + 1 X 20 ou (1101)2 = 1 X 8 + 1 X 4 + 0 X 2 + 1 X 1 = 13 Como no exemplo acima, toda vez que representarmos um nmero em uma base que no a base 10, este nmero estar entre parnteses e com a base expressa direita e abaixo do parntese mais direita. Outra notao utilizada para representar um nmero binrio a colocao de uma letra b

___________________________________________________________________________________ I.5

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ minscula ("b") ou maiscula ("B") ao final da seqncia de algarismos binrios. Veja o exemplo abaixo: (1101)2 = 1101b = 1101B I.3.3. CONVERSO DE DECIMAL PARA BINRIO E VICE VERSA A decomposio de um nmero binrio em suas componentes de base 2, como visto no exemplo anterior, a forma de converso da base 2 para a base 10. Portanto, o nmero binrio (1101)2 equivale a 13 em decimal. A converso de decimal para binrio realizada dividindo-se sucessivamente o nmero decimal que se deseja converter por 2 at que o resultado da diviso seja 0. O nmero binrio convertido composto pelos restos das divises sucessivas postos em ordem inversa. Vejamos o exemplo da converso do nmero decimal 13 para base 2:

13 1

2 6 0 2 3 1 2 1 1 2 0

Ou seja (13)10 = (1101)2 Esta regra uma regra de converso geral da base 10 para qualquer base. Para mostrar que esta regra correta podemos fazer a converso de um nmero decimal para a prpria base 10. Embora isto no tenha utilidade prtica nenhuma, esta converso poder ajudar a esclarecer o porqu da regra.

4813 10 3 481 10 1 48 10 8 4 4 10 0

___________________________________________________________________________________ I.6

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ I.3.4. O SISTEMA HEXADECIMAL: Outra base muito utilizada pelo computador a base 16 ou sistema hexadecimal. O sistema hexadecimal possui 16 algarismos (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E e F). Pode parecer estranho primeira vista termos letras como algarismos, mas como a base 16 comeou a ser usada com o advento do computador e como na poca s haviam disponveis 10 algarismos indo-arbicos (0,1,2,.,8,9), havia a opo de se criar mais 6 representaes nova para os 6 algarismos restantes, no entanto optou-se por utilizar as 6 primeiras letras do alfabeto. Como fomos treinados desde pequenos a raciocinar na base 10 a tabela abaixo nos mostra o valor absoluto em decimal de cada algarismo hexadecimal.
Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Como na base 10, os nmeros hexadecimais so compostos por algarismos justapostos onde a posio de cada algarismo representa o seu valor relativo. Portanto, o nmero (9A5C)16 pode ser decomposto em componentes de potncias de base 16, como visto a seguir: (9A5C)16 = 9 X 163 + A X 162 + 5 X 161 + C X 160 ou (9A5C)16 = 9 X 4096 + 10 X 256 + 5 X 16 + 12 X 1 = 39516 No exemplo acima utilizamos a notao de colocarmos o nmero hexadecimal entre parnteses e a indicao da base 16 como subescrito. A outra forma de representarmos um nmero hexadecimal colocando-se a letra ag maiscula ("H") ou minscula ("h") no final da seqncia de algarismos hexadecimais. Veja o exemplo abaixo: (9A5C)16 = 9A5Ch = 9A5CH

___________________________________________________________________________________ I.7

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ I.3.5. CONVERSO DE DECIMAL PARA HEXADECIMAL E VICE VERSA A converso de decimal para hexadecimal e de hexadecimal para decimal segue as mesmas regras que as converses de binrio para decimal e de decimal para binrio. Para converter um nmero hexadecimal para decimal basta decompor o nmero em componentes de potncias de base 16, como j visto em exemplo anterior. Para converter um nmero decimal para hexadecimal basta dividir sucessivamente o nmero por 16 at que o resultado da diviso seja zero. Os restos das divises sucessivas postos em ordem inversa formam o nmero em hexadecimal. Vejamos o exemplo abaixo:

39772 16 12 2485 16 (C) 5 155 16 11 (B) 9 9 16 0

Ou seja (39772)10 = (9B5C)16 I.3.6. CONVERSO DE HEXADECIMAL PARA BINRIO E VICE VERSA Podemos notar pela tabela abaixo que com 4 algarismos binrios se pode representar quantidades de 0 a 15 em decimal ou de 0 a F em hexadecimal.
Binrio 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Utilizando esta propriedade podemos converter nmeros binrios em nmeros hexadecimais com o simples agrupamento de conjuntos de 4 algarismos binrios e utilizando a tabela acima para converter estes conjuntos de algarismos binrios em algarismos hexadecimais. Por exemplo: ___________________________________________________________________________________ I.8

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ (0111110011011000)2 (0111 1100 1101 1000)2 (7

8)16

Para converter de hexadecimal para binrio utilizamos o processo inverso substituindo cada algarismo hexadecimal pelo conjunto de 4 algarismos binrios correspondentes. No por acaso que utilizamos o sistema hexadecimal quando lidamos com o computador. Na verdade, todos os valores guardados e processados pelo computador esto no sistema binrio. No entanto quantidades muito grandes necessitam de sequncias muito grandes de algarismos binrios. S para termos uma noo, para armazenarmos o nmero 39516 no computador precisamos da seguinte seqncia de algarismos binrios: 1001101001011100 claro que ao entrarmos estas sequncias de zeros e uns no computador a possibilidade de cometermos um erro muito grande. O sistema hexadecimal, ao agrupar conjuntos de 4 algarismos binrios, torna-se uma forma mais resumida de se introduzir os dados nos computadores. muito mais simples digitarmos "9A5C", que a representao hexadecimal da quantidade 39516, do que "1001101001011100", que a representao binria desta mesma quantidade. Como o computador internamente s armazena valores 0 ou 1, aps digitarmos os algarismos hexadecimais tem que haver internamente uma converso automtica para a seqncia de algarismos binrios correspondente. I.3.7. O SISTEMA OCTAL: Outra base utilizada em sistemas computacionais a base 8 ou sistema octal. A base 8 utilizada na programao dos PLCs da Sistema. O sistema octal possui 8 algarismos (0,1,2,3,4,5,6 e 7). Portanto um nmero representado na base 8 no pode ter os algarismos 8 e 9 , que so utilizados somente nas bases 10 e 16. Os valores absolutos dos algarismos na base 8 so exatamente os mesmos que na base 10, como podemos ver na tabela abaixo. A nica diferena que na base 8 os valores acima de 7 no so representados por um nico algarismo e sim por um conjunto de algarismos.
Octal 0 1 2 3 4 5 6 7 Decimal 0 1 2 3 4 5 6 7

___________________________________________________________________________________ I.9

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ Como na base 10, os nmeros octais so compostos por algarismos justapostos onde a posio de cada algarismo representa o seu valor relativo. Portanto, o nmero (7452)8 pode ser decomposto em componentes de potncias de base 8, como visto a seguir: (7452)8 = 7 X 83 + 4 X 82 + 5 X 81 + 2 X 80 ou (7452)8 = 7 X 512 + 4 X 64 + 5 X 8 + 2 X 1 = 3882 I.3.8. CONVERSO DE DECIMAL PARA OCTAL E VICE VERSA A converso de decimal para octal e de octal para decimal segue as mesmas regras que as converses de binrio para decimal e de decimal para binrio. Para converter um nmero octal para decimal basta decompor o nmero em componentes de potncias de base 8, como j visto em exemplo anterior. Para converter um nmero decimal para octal basta dividir sucessivamente o nmero por 8 at que o resultado da diviso seja zero. Os restos das divises sucessivas postos em ordem inversa formam o nmero em octal. Vejamos o exemplo abaixo:

3882 2

8 485 5 8 60 4 8 7 7 8 0

Ou seja (3882)10 = (7452)8 I.3.9. CONVERSO DE OCTAL PARA BINRIO E VICE VERSA Podemos notar pela tabela abaixo que com 3 algarismos binrios se pode representar quantidades de 0 a 7 em decimal ou em octal.
Binrio 000 001 010 011 100 101 110 111 Octal 0 1 2 3 4 5 6 7 Decimal 0 1 2 3 4 5 6 7

___________________________________________________________________________________ I.10

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ Utilizando esta propriedade podemos converter nmeros binrios em nmeros octais com o simples agrupamento de conjuntos de 3 algarismos binrios e utilizando a tabela acima para converter estes conjuntos de algarismos binrios em algarismos octais. Por exemplo: (111100101000)2 (111 100 101 000)2

(7

0)8

Para converter de octal para binrio utilizamos o processo inverso substituindo cada algarismo octal pelo conjunto de 3 algarismos binrios correspondentes. Assim como o sistema hexadecimal a representao de quantidades no sistema octal uma forma mais resumida de introduo de dados nos sistemas computacionais. omputadores. muito mais simples digitarmos "7450", que a representao octal da quantidade 3880, do que "111100101000", que a representao binria desta mesma quantidade. Como o computador internamente s armazena valores 0 ou 1, aps digitarmos os algarismos octais tem que haver internamente uma converso automtica para a seqncia de algarismos binrios correspondente.

I.3.10. ARITMTICA BINRIA A aritmtica binria anloga com a aritmtica decimal. Neste item iremos ver a adio, subtrao, multiplicao e diviso binria. I.3.10.1. ADIO BINRIA Assim como na adio decimal, para facilitar, podemos ter a tabuada da soma binria.
TABUADA DA SOMA BINRIA: 0+0=0 0+1=1 1+0=1 1 + 1 = 0 e VAI UM

A partir da tabuada poderemos fazer qualquer adio de dois ou mais nmeros binrios com qualquer quantidade de algarismos. O processo semelhante a adio decimal. Coloca-se um nmero em baixo do outro alinhando-se pelo algarismo de menor valor, ou seja o algarismo mais a direita. Vai se somando dois a dois os algarismos na mesma posio em ambos os nmeros. Quando a soma de dois algarismos ultrapassa 1 ento soma-se 1 aos algarismos da casa imediatamente a esquerda.

___________________________________________________________________________________ I.11

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ Vejamos o exemplo a seguir. (110101010)2 + (111110011)2
110101010 +111110011
______________________________

PASSO 1

1 1 VAI UM 110101010 +111110011


______________________________

PASSO 2

01 1 110101010 +111110011
______________________________

PASSO 3

101 110101010 +111110011


______________________________

PASSO 4

1101 110101010 +111110011


______________________________

PASSO 5

11101 1 VAI UM 110101010 +111110011


______________________________

PASSO 6

011101 VAI UM 11 110101010 +111110011


_______________________________

PASSO 7

0011101 VAI UM 11 110101010 +111110011


_______________________________

PASSO 8

10011101

___________________________________________________________________________________ I.12

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________


VAI UM 11 110101010 + 111110011
________________________________

PASSO 9

110011101 1 110101010 + 111110011


_______________________________

PASSO 10

1110011101

I.3.10.2. SUBTRAO BINRIA Como os circuitos eletrnicos so mais apropriados para realizarem soma a subtrao binria normalmente realizada utilizando uma regra prtica que coloca o subtrator em sua representao complemento a 2 e depois ao invs de uma subtrao realizaremos uma soma. O complemento a dois de um nmero binrio obtido seguindo-se os seguintes passos: 1. Coloca-se um zero no significativo a esquerda do um mais significativo do nmero. 2. Inverte-se todos os algarismos, ou seja, troca-se zeros por uns e uns por zeros. 3. Soma-se um. Vejamos um exemplo: Ento 10101 o complemento a dois de 1011 e portanto a subtrao e a soma abaixo so similares quando despreza-se o ltimo VAI UM. 1 0 0 0 1 (17)10 1 0 0 0 1 - 1 0 1 1 (11)10 +
____________________________

10101
____________________

0 1 1 0 (06)10

100110 DESPREZA-SE

___________________________________________________________________________________ I.13

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ I.3.10.3. MULTIPLICAO BINRIA A multiplicao binria tambm muito simples. Coloca-se os dois nmeros um em baixo do outro, alinhado pela direita e vai se multiplicando o de cima por cada algarismo do de baixo. O resultado de cada uma destas multiplicaes vo sendo colocadas uma em baixo da outra deslocando-se sempre uma casa para a esquerda. Abaixo fornecemos a tabuada de multiplicao binria:
TABUADA DA MULTIPLICAO BINRIA: 0x0=0 0x1=0 1x0=0 1x1=1

Vejamos o exemplo a seguir:


1100110 x 1010
____________________

PASSO 1

0000000 1100110 x 1010


_____________________

PASSO 2

0000000 1100110 1100110 x 1010


____________________

PASSO 3

0000000 1100110 0000000 1100110 x 1010


____________________

PASSO 4

0000000 1100110 0000000 1100110 1100110 x 1010


_____________________

PASSO 5

0000000 1100110 +0000000 1100110


_______________________________

1111111100

___________________________________________________________________________________ I.14

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ I.3.10.4. DIVISO BINRIA A diviso realizada da mesma forma que em decimal. A seguir damos um exemplo de diviso binrio 1 1 0 1 1 1 (55) 1 0 1 (5):

1 1 0'1 1 1 -101 001 1 1 0 1'1 1 -101 001 1 1 1 0 1 1'1 -101 00111 - 101 010 110111 -101 00111 -101 010 1 101 000

101 1

PASSO 1

101 10

PASSO 2

101 101

PASSO 3

101 101 1

PASSO 4

___________________________________________________________________________________ I.15

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ I.3.11 EXERCCIOS: 1. Converta os seguintes nmeros binrios para a base 10: a). (10010010)2 = b). (01100011)2 = c). (11110010)2 = d). (10000000)2 = 2. Converta os seguintes nmeros decimais para a base 2: a). 129 = b). 35647 = c). 65535 = 3. Converta os seguintes nmeros hexadecimais para a base 10: a). (9AB3)16.= b). (12EF)16 = c). (1000)16 = 4. Converta os seguintes nmeros octais para a base 10: a). (6523)8.= b). (1267)8 = c). (1000)8 = 5. Converta os seguintes nmeros decimais para as bases 16 e 8: a). 127 = b). 4876 = c). 13876 = 6. Converta os seguintes nmeros de hexadecimal para binrio: a). (9AB3)16 = b). (12EF)16 = c). (1000)16 = 7. Converta os seguintes nmeros de binrio para hexadecima e para octal: a). (1001101100011110)2 = b). (110111000110011)2 = c). (1001110011010)2 = d). (1110000000)2 =

___________________________________________________________________________________ I.16

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ 7.Efetue as seguintes operaes: a). (10010110)2 b). (11001110001)2

__________________________________

(01111011)2

__________________ ____________________

(11001101110)2

c).

_____________________________

(11110010)2 x (110110)2

d) 11011000

1100

e). (A43C)16
______________________________

+ (CDEF)16
( )16

( + (

)2 )2 )2

______________________________________________________________

Sugesto: Converta para a base 2, some na base 2 e converta de volta para a base 16.

___________________________________________________________________________________ I.17

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

I.4. O PROCESSADOR
O processador, normalmente chamado de CPU (Central Processing Unit) a parte do computador que controla todo o sistema. No entanto, no o processador que decide o que deve ser feito pelo sistema. O usurio, ou programador, que deve informar ao processador quais so os passos que ele deve executar para desempenhar uma determinada tarefa. Na realidade, o processador um executor de tarefas. A seqncia de passos ou instrues (comandos) denomina-se programa e introduzida no computador atravs de um dispositivo de entrada (como, por exemplo, o teclado) e armazenada na memria. Aps armazenada na memria, o processador busca uma a uma as instrues e as vai executando. Esta situao semelhante a um recruta que no incio do dia recebe do sargento uma srie de ordens. O recruta vai memorizando as instrues e, depois que o sargento acaba de dar as instrues, ele inicia a execuo das tarefas na ordem em que o sargento as deu. Tem de ficar bem entendido que o processador no faz nada que no seja ordenado pelo programa. As instrues (de um programa) armazenadas na memria nada mais so que nmeros binrios (ou seqncia de zeros e uns), na verdade as nicas coisas que so entendidas pelo computador. Portanto, para cada funo que queremos que o processador execute, deveremos fornecer a ele um conjunto de zeros e uns que ele previamente conhea. Este conjunto conhecido como cdigo de mquina.
Cdigos de mquina 100011100 100011110 PROCESSADOR (CPU) MEMRIA

Figura I.4 - Cdigos deMquina Quando um processador projetado e implementado (construdo), o projetista determina uma tabela de instrues e seus respectivos cdigos de mquina. Esta tabela fornecida aos programadores, que ento podem colocar na memria uma seqncia de cdigos de mquina a serem interpretados pelo processador. A codificao de instrues semelhante ao cardpio de alguns restaurantes que possuem cdigos (nmeros) para os diversos pratos servidos. O cliente pede ao garom, por exemplo, um fil com fritas e uma lazanha. O garom anota o pedido pelos cdigos dos pratos e ento entrega esses cdigos para o cozinheiro. Este decodifica, ou seja, interpreta os pedidos e prepara a comida. Os cdigos dos pratos so diferentes para cada restaurante. Portanto, se no restaurante A o fil com fritas tem cdigo 23, no restaurante B o mesmo fil com fritas pode ter cdigo 55. Imaginemos que um garom novato no restaurante A, que tenha trabalhado durante muito tempo no restaurante B,

___________________________________________________________________________________ I.18

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ entregue ao cozinheiro um pedido utilizando os cdigos do cardpio do restaurante B. Provavelmente o cliente no ter no final o prato desejado. Algo semelhante acontece com os processadores. Cada processador possui seu prprio conjunto de cdigos de mquina e funes e que geralmente no coincidem com os cdigos de outro processador. Portanto uma seqncia de cdigos de mquina (ou programa) "escrita" para que o processador A execute uma determinada tarefa no ir funcionar do mesmo modo se aplicada ao processador B. No incio da utilizao dos computadores, a programao era feita diretamente, escrevendo-se em binrio o cdigo de mquina das instrues que se desejava que o processador executasse. Esta tarefa, alm de enfadonha e muito propensa a erros, possua o inconveniente de s servir para o processador que se estava utilizando. Este inconveniente impossibilitava a utilizao, por um processador, de programas escritos para outro processador. Outro inconveniente em se escrever programas diretamente utilizando os cdigos de mquina que os programas se tornam muito extensos e de difcil compreenso quando se deseja que o computador execute tarefas mais complexas.
IBM XT COMPILADOR PASCAL 8088 PROGRAMA FONTE ESCRITO EM PASCAL APPLE MACINTOSH COMPILADOR PASCAL 68000 CDIGO DE MQUINA 68000 CDIGO DE MQUINA 8088

Figura I.5 Para solucionar estes tipos de inconvenientes foram criadas linguagens-padro de programao, tais como FORTRAN, Pascal e C, cuja sintaxe independe do processador que se vai utilizar para executar o programa. Os programas escritos nestas linguagens so iguais para qualquer tipo de processador. A diferena s se d no momento em que o programa traduzido para os cdigos de mquina do processador utilizado. Esta traduo chamada de compilao e os programas que executam esta traduo so conhecidos como compiladores. Para cada tipo de processador existe um compilador diferente, no entanto as linguagens-padro (ditas de alto nvel) so iguais. Por exemplo: um mesmo programa escrito em Pascal pode ser compilado (traduzido) em cdigo de mquina do processador 8088 (utilizado nos microcomputadores IBM XT compatveis) ou do processador 68000 (utilizado nos microcomputadores Apple Macintosh). A diferena que para gerar o cdigo de mquina 8088 utilizado um compilador Pascal para o processador 8088 e para gerar o cdigo de mquina 68000 utilizado um compilador Pascal para o processador 68000, como visto na figura I.5.

___________________________________________________________________________________ I.19

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

I.5. MEMRIA
A memria a parte do computador que armazena informaes. Como visto no item anterior uma das funes bsicas da memria armazenar as sequncias de cdigos de mquinas (ou programas), que sero interpretados e executados pelo processador. Outra funo da memria armazenar os dados. Por dados entendem-se todas as informaes a serem processadas pelo computador, bem como as respostas deste processamento. Por exemplo, se o processador executar um programa simples que some dois nmeros inteiros, tanto os dois nmeros a serem somados quanto o resultado da soma so considerados dados e podem ser armazenados na memria. I.5.1. CLASSIFICAO DAS MEMRIAS: A memria de um sistema computacional pode ser dividida em dois tipos bsicos: memria primria e memria secundria. A memria primria composta de dispositivos semicondutores ("chips") que podem ser acessados, a qualquer momento, diretamente pelo processador. A memria secundria, tambm conhecida como memria de massa composta de dispositivos de armazenamento magntico (discos flexveis, discos rgidos ou Winchesters, fitas magnticas, etc.) ou tico (CD ROM) que armazenam a maior parte das informaes (programas e dados). Todos os programas que podem ser executados pelo processador ficam guardados na memria de massa at o momento de sua execuo. Neste instante o programa transferido da memria de massa para a memria principal e a partir desta executado. Por ter de armazenar muita informao a memria secundria normalmente tem uma capacidade de armazenamento centenas ou milhares de vezes maior que a memria principal, que s precisa guardar a cada momento os dados e o programa que esto sendo executados pelo processador. A memria principal pode ser classificada quanto a funo, volatilidade e tipo de acesso. I.5.1.1. Quanto a funo: Quanto a funo as memrias podem ser: I.5.1.1.1. Memria de programas As memrias de programas armazenam cdigos de mquina que sero lidos e executados pelo processador. I.5.1.1.2. Memria de dados: As memrias de dados armazenam dados de entrada e dados de sada do processamento.

___________________________________________________________________________________ I.20

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ I.5.1.2. Quanto ao tempo de reteno das informaes (ou volatilidade): I.5.1.2.1. Memrias permanentes: Memrias permanentes so aquelas cuja manuteno das informaes nela armazenadas independe do fornecimento de energia eltrica externa. Este tipo de memria s necessita de energia eltrica externa no momento em que desejamos "escrever" (colocar) ou "ler" (retirar) as informaes. I.5.1.2.2. Memrias volteis: Memria voltil aquela que s mantm as informaes enquanto h alimentao de energia eltrica externa. Como na memria permanente, as informaes s podem ser lidas ou escritas com a alimentao de energia eltrica externa. Podemos transformar uma memria voltil em memria permanente colocando-se uma bateria para aliment-la. Desta forma, enquanto a bateria no perder a sua carga as informaes se mantm. Portanto, o conjunto memria voltil mais bateria pode ser considerado como memria permanente. I.5.1.3. Quanto ao tipo de acesso: I.5.1.3.1. Memrias de Apenas Leitura: As memrias de apenas leitura ou ROM (Read Only Memory) como so conhecidas popularmente, como o prprio nome j diz s podem ser lidas pelo processador. O processador no pode escrever informaes em uma ROM. As informaes so escritas na ROM durante a sua fabricao e no podem jamais ser alteradas pelo usurio. A ROM classificada quanto a volatilidade como memria permanente, pois uma vez cortado o fornecimento de energia eltrica o contedo da ROM se mantm intacto. PROM (Programmable Read Only Memory): Uma verso modificada de ROM a PROM (Programmable Read Only Memory). Como seu nome diz, a PROM vem vazia de fbrica e pode ser programada (ou gravada) uma nica vez pelo usurio, ou seja, pelo projetista de sistemas digitais. As PROMs so formadas por circuitos semicondutores especiais que funcionam como fusveis. Assim comos os fusveis estes circuitos especiais conduzem corrente eltrica. No entanto eles podem se queimar interrompendo o fluxo de corrente. Os dois nveis lgicos so representados pelos fusveis intactos (nvel lgico um) ou queimados (nvel lgico zero). As PROMs so fabricadas e comercializadas com todos estes fusveis intactos (conduzindo corrente), ou seja, com todos os bits em nvel lgico um. Cabe ao usurio "queimar" os fusveis, nas posies necessrias, para formar o contedo desejado. Para programar a PROM o usurio necessita de um aparelho especial. Este aparelho aplica, nas posies desejadas, pulsos de tenso (12,5 ou 21 volts) bem acima da tenso de operao (5 volts). Estas tenses altas fazem com que os fusveis se queimem, por este motivo chama-se "queimar uma PROM" o ___________________________________________________________________________________ I.21

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ ato de programar atravs destes aparelhos especiais, que tambm so conhecidos vulgarmente como queimadores de PROMs, o contedo de uma memria PROM. Se houver um erro na programao de uma PROM no possvel apagar este erro e nem escrever nada por cima. A nica alterao possvel transformar o contedo de um bit de nvel um (fusvel intacto) para nvel zero (fusvel queimado). Como de forma geral as alteraes necessrias tambm envolvem transformaes de zero para um o usurio, neste caso, dever jogar fora a PROM com o erro e gravar uma outra. EPROM (Erasable Programmable Read Only Memory): No sentido de se evitar o desperdcio citado anteriormente, foi desenvolvida a EPROM (Erasable Programmable Read Only Memory). A informao gravada na EPROM com um aparelho semelhante ao utilizado para gravao de PROMs, no entanto estas informaes podem ser apagadas expondo um pequeno orifcio existente na parte superior da EPROM luz ultravioleta. Normalmente as EPROMs gravadas tm uma pequena etiqueta cobrindo este orifcio de forma a no permitir que a luz ultravioleta presente na luz do sol e das lmpadas em geral, apague, com o passar dos anos, as informaes gravadas. Os circuitos semicondutores que compem uma EPROM tambm podem ser comparados a fusveis, s que fusveis renovveis. E2PROM (Electrically Erasable Programmable Read Only Memory): Uma verso melhorada e mais cara da EPROM a EEPROM (Electrically Erasable Programmable Read Only Memory). A nica diferena entre as duas o mtodo de apagamento das informaes. Enquanto na EPROM a forma de se apagar a exposio luz ultravioleta, como descrito acima, na EEPROM ou E2PROM (como tambm conhecida) o apagamento se d por aplicao de pulsos eltricos. Esta caracterstica de poder ser apagada por pulsos eltricos permite que a E2PROM possa ter o seu contedo alterado sem que seja necessrio retir-la do circuito. As memrias E2PROM so largamente utilizadas em equipamentos de controle de processo guardando a configurao necessria ao funcionamento do sistema. Para alterar o contedo de uma posio de uma E2PROM necessrio apaga-la atravs de um pulso eltrico, que nas primeiras E2PROM eram de nveis superior aos 5 volts (padro TTL) comuns em qualquer sistema digital, o que fazia com que os equipamentos tivessem circuitos especiais para gerar estes nveis. Em E2PROM mais modernas o pulso de apagamento de 5 volts e internamente a E2PROM atravs de circuitos especiais gera os nveis necessrios ao apagamento. Um inconveniente das E2PROMs que o tempo de apagamento e escrita de um novo contedo muito grande (na ordem de milisegundos) quando comparados aos tempos de acesso de memrias RAM. I.5.1.3.2. Memrias de Leitura e Escrita: As Memrias de Leitura e Escrita, como o prprio nome j diz, so aquelas que podem ser escritas e lidas pelo processador. Este tipo de memria comum e imprecisamente chamada de RAM (Random Access Memory - Memria de Acesso Aleatrio). As RAMs necessitam sempre de energia ___________________________________________________________________________________ I.22

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ eltrica tanto para manter os dados nelas armazenados quanto para se lerem ou se escreverem informaes. Existem basicamente dois tipos de RAMs: RAM esttica e RAM dinmica. RAM Dinmica: Nas RAM dinmicas os dois nvel lgicos (0 ou 1) so implementados por circuitos semicondutores especiais, que so capazes de armazenar cargas eltricas. Ento a presena ou no destas cargas eltricas define respectivamente os nveis lgicos um e zero. Estes circuitos especiais funcionam de forma semelhante a capacitores. Os capacitores, como visto na figura I.6, so componentes compostos por duas placas metlicas paralelas, separadas por um isolante eltrico. Aplicando-se cargas positivas a uma das placas, pela atrao de cargas opostas induzem-se cargas negativas na outra placa. Carga Positiva

Placas Metlicas Paralelas

+ ++ + + + + + + - -- - - Carga Negativa
Figura I.6 - Capacitor

Isolante Eltrico

A tendncia natural que as cargas sejam trocadas entre as placas at atingir-se o equilbrio eltrico. No entanto o isolante entre as placas impede esta troca. Como no existe isolante eltrico perfeito as cargas, mesmo que lentamente, vo sendo trocadas chegando-se ao equilbrio e portanto descarregando o capacitor. Os dispositivos semicondutores especiais que armazenam as cargas dentro das memrias dinmicas so capazes de manter a sua carga por apenas alguns mili segundos. Estes mili segundos que para ns parece pouco, muito tempo para os microprocessadores, que executam tarefas em tempos 10.000 vezes menor (centenas de nano segundos). As RAM Dinmicas necessitam alm do fornecimento de energia eltrica, que as informaes nelas armazenadas sejam atualizadas (ou refrescadas) de tempos em tempos. O processador ou um circuito destinado para este fim tem que de tempos em tempos ( da ordem de milissegundos) ler o contedo de cada posio e reescrev-lo. Esta funo de reavivar a memria conhecida como "refresh" (refrescamento).

___________________________________________________________________________________ I.23

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ RAM Esttica: Ao contrrio da RAM Dinmica, a RAM Esttica no perde o seu contedo com o tempo e portanto no precisa ser reavivada. A RAM Esttica s perde o seu contedo se interrompermos o fornecimento de energia eltrica. Enquanto a memria dinmica armazena cargas eltricas em circuitos semicondutores especiais, a memria esttica sinaliza os dois nveis lgicos alternando o trajeto de corrente entre dois caminhos possveis. Esta comutao obtida por chaves eletrnicas, que podem ser facilmente implementadas por intermdio de transistores. Como estas chaves eletrnicas uma vez acionadas s mudam de estado quando recebem um novo comando, no necessrio refrescamento e os dados sero mantidos enquanto se mantiver o fornecimento de energia eltrica. Com a interrupo da energia, todos as chaves assumem um nico estado e a memria perde todos os dados. Por ter circuitos mais elaborados as maiores memrias estticas comerciais possuem capacidade de armazenamento muito inferior as memrias dinmicas comerciais. Em 1993 a maior memria esttica comercial com preo acessvel era a 62256 que possui a capacidade de armazenar 256 quilo bits, enquanto que a maior RAM dinmica possui capacidade de 16 mega bits.

___________________________________________________________________________________ I.24

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ I.5.1.3.3. NVRAM (Non volatily RAM): Um outro tipo de memria no voltil, tambm muito utilizada em equipamentos de controle de processo a NVRAM. As vantagens da NVRAM sobre a E2PROM que seu acesso feito com se a mesma fosse uma RAM esttica comum (no necessitando pulso especial de apagamento) e com um tempo de acesso igual s memrias RAM estticas comuns. Na verdade a NVRAM composta internamente por duas memrias. A figura I.6 mostra o diagrama funcional da NVRAM X20C04 da Xicor. Ligado diretamente aos barramentos de dados e endereo est uma memria RAM esttica (SRAM = Static RAM) de 512 posies de 8 bits. Por trs existe uma memria E2PROM de mesmo tamanho que possui uma cpia do contedo da SRAM. Os valores escritos diretamente na SRAM so guardados na E2PROM atravs de ciclos chamados "STORE" espaados um do outro em pelo menos 5 ms. Por sua vez cada byte armazenado na E2PROM copiado para a SRAM atravs de ciclos chamados "RECALL" espaados um do outro em pelo menos 5 s.

X20C04

E2 PROM
STORE

A3 a A6

SELEO DE LINHA

SRAM 512 x 8
RECALL

CE OE WE NE A0 A1 A2 A7 A8 D0 D7

LGICA DE CONTROLE SELEO DE COLUNA I/O

Figura I.7 - NVRAM X20C04 - 512 x 8 As NVRAMs no substituem as E2PROM, como poderia parecer. Equipamentos de controle de processo, como os PLCs, normalmente possuem os quatro tipos de memrias diferentes: EPROM, RAM, E2PROM e NVRAM, como pode ser visto na figura a seguir. No PLC da Sistema a E2PROM guarda o programa aplicativo (diagrama ladder) que o PLC ir executar. Quando o PLC energizado o programa imediatamente transferido para a memria RAM, de onde o programa (que est na EPROM), que o processador est executando, vai buscar as informaes para executar o Ladder programado pelo usurio. Estas buscas so feitas nas velocidades mximas (sem tempo de espera) pois a memria RAM tem tempos de acessos compatveis com o processador. ___________________________________________________________________________________ I.25

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

EPROM
SISTEMA OPERACIONAL C

RAM
D APLICATIVO DO USURIO (LADDER) - UTILIZADO VARIVEIS DE PROGRAMA

PROCESSADOR
D

EEPROM
APLICATIVO DO USURIO (LADDER) - CPIA

NVRAM
D - Dados C - Cdigo de Mquina ALTERAES NO APLICATIVO (CPIA DE SEGURANA) VARIVEIS DE RETENO

Figura I.8 - Diagrama de Memrias de um PLC tpico. Quando necessrio fazer uma mudana em algum parmetro deste programa aplicativo esta mudana realizada diretamente na RAM, refletindo-se em imediata alterao na execuo do programa aplicativo. Estas mudanas so guardadas tambm na memria NVRAM e s ento iniciada a gravao na E2PROM. Esta cpia na NVRAM uma segurana para que caso haja uma falta de energia durante a gravao das alteraes na E2PROM (que leva um tempo relativamente alto) estas alteraes no sejam perdidas. Alm da cpia de segurana a NVRAM tambm armazena as variveis de reteno e dos pontos de E/S do sistema.

___________________________________________________________________________________ I.26

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ I.5.2. ENDEREAMENTO DE MEMRIA Como vimos anteriormente, memria o dispositivo que armazena informaes. Antes de prosseguirmos, temos que introduzir algumas definies importantes. BIT um algarismo binrio que est armazenado na memria. O termo bit vem da abreviao de digito binrio (bynary digit). a menor unidade de informao possvel. BYTE o conjunto de 8 bits. QUILO BYTE (KByte) o conjunto de 1024 (210 ) bytes. MEGA BYTE (MByte) o conjunto de 1024 KBytes, ou seja 1 MByte = 1024 KBytes = 210 KBytes = 210 * 210 Bytes = 220 Bytes. Imaginemos a memria como se fosse um grande gaveteiro. Cada gaveta pode armazenar um certo nmero de algarismos binrios (ou bits), como mostrado na figura I.9.

GAVETA 0 (000) GAVETA 1 (001) GAVETA 2 (010) GAVETA 3 (011) GAVETA 4 (100) GAVETA 5 (101) GAVETA 6 (110) GAVETA 7 (111)

01011001
GAVETA 0 (000) GAVETA 3 (011) GAVETA 4 (100) GAVETA 5 (101) GAVETA 6 (110) GAVETA 7 (111)

Figura I.9 - Endereamento de Memria Chamamos de palavra de memria o conjunto de bits que cada gaveta (ou posio de memria) pode armazenar. Na figura I.6 a palavra de memria tem 8 bits (ou 1 byte). Cada gaveta recebe um nmero que chamamos de endereo. Portanto para acessarmos o contedo de uma posio de memria precisamos saber o seu endereo. Na figura I.5 a nossa memria possui 8 posies de memria portanto com apenas 3 bits podemos representar o endereo de qualquer posio desta memria. Com quatro bits poderamos representar 16 endereos diferentes de (0000)2 at (1111)2 (ou de 0 a 15). Assim, com n bits de endereo podemos enderear uma memria de at 2n posies. Agora iremos analisar exemplos de memrias comerciais, mostrando suas pinagens, ciclos de acesso, para identificarmos as principais caractersticas de cada tipo de memria. I.5.2.1. SRAM 62256: A SRAM 62256 que uma memria utilizada em equipamentos industriais de um modo geral. Cada posio de uma memria SRAM pode ter seu contedo lido ou escrito pelo processador. A memria SRAM 62256 um chip de 28 pinos, como mostra a figura I.10. A seguir, iremos analisar a funo de cada pino da memria SRAM 62256.

___________________________________________________________________________________ I.27

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________


A11 A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Gnd Vcc A14 A13 A8 A9 WR RD A10 CS D7 D6 D5 D4 D3

6 2 2 5 6

Figura I.10 - Pinagem da RAM 62256 Os pinos A0,A1,A2,...,A14 so os bits de endereamento. A inicial "A" nas indicaes dos pinos vem de Address (Endereo em ingls). Como temos 15 bits de endereo a memria RAM 62256 possui 32K (32.768) posies. O conjunto destes bits de endereamento chamamos de Via de Endereos ou Barramento de Endereos. Os pinos D0,D1,D2,...,D7 so os pinos onde se colocam os bits do contedo de cada posio da memria. A inicial "D" nas indicaes dos pinos vem de "Data" (Dado em ingls). Como so 8 pinos a palavra de memria de 8 bits. O conjunto destes bits de dados chamamos de Via de Dados ou Barramento de Dados. Portanto a memria RAM 62256 possui 32 768 posies de 8 bits cada uma, ou seja uma memria de 32.768 X 8 (que se l: "memria de 32.768 por 8") ou de 32KBytes X 8 (que se l: "memria de 32 c bytes por 8"). Os pinos de Vcc e Gnd so os pinos de alimentao do chip. Nestes dois pinos devero ser colocados respectivamente + 5 volts e terra. O pino de WR utilizado para ligarmos um sinal de controle que gerado pelo processador que ir acessar esta memria.. Um pulso de nvel baixo (0) significa que o processador deseja escrever (WRite em ingls) um dado na memria. A seqncia de escrita de um dado na memria a seguinte: 1. O processador coloca no Barramento de Endereo (pinos A0,A1,...,A14) o endereo da posio que ele deseja escrever. Esta ao chamamos de enderear a memria. 2. O processador coloca no Barramento de Dados (pinos D0,D1,..,D7) o dado que ele deseja escrever na posio endereada. 3. O processador d um pulso de nvel baixo no pino WR . 4. A memria armazena o dado na borda de subida do pulso do pino WR . A figura I.11 mostra o esquema de ligao do processador com a memria RAM 62256 e o diagrama de tempo de um ciclo de escrita em memria.

___________________________________________________________________________________ I.28

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________


A0 A0

P R A1 . . O A14 C E D0 S S D1 A D D7 O R RD
WR

. . .

A1

. .

6 2 2 5 6

A14 D0

. . .

D1 D7 RD WR

BARRAMENTO DE ENDEREOS

ENDEREO VLIDO COLOCADO PELO PROCESSADOR

WR

BARRAMENTO DE DADOS

DADO VLIDO COLOCADO PELO PROCESSADOR

Figura I.11 - Ciclo de Escrita em Memria O pino de RD utilizado para ligarmos um sinal de controle que gerado pelo processador. Um pulso de nvel baixo (0) significa que o processador deseja ler (ReaD em ingls) um dado da memria. A seqncia de leitura de um dado da memria a seguinte: 1. 2. 3. endereada. 4. O processador captura este dado na borda de subida do pulso do pino RD . A figura I.12 mostra o diagrama de tempo de um ciclo de leitura de memria. Observe que o tempo entre a colocao pelo processador do endereo da posio que ele quer acessar e a resposta por parte da memria, colocando o dado no barramento de dados conhecido por tempo de acesso. Os componentes de memria vem com este tempo usualmente codificado como prefixo do nmero do componente. Por exemplo um componente 62256-12 uma memria RAM de 32K X 8 com tempo de acesso de 120 ns. O temp de acesso de memrias SRAM comercialmente disponveis pode variar de 5 a 150ns. Quanto menor o tempo de acesso, mais caras so as SRAMs. As verses de 15 a 25 ns de SRAMs so ___________________________________________________________________________________ I.29 O processador coloca no Barramento de Endereo (pinos A0,A1,...,A14) o endereo O processador d um pulso de nvel baixo no pino RD . A memria coloca no Barramento de Dados (pinos D0,D1,..,D7) o contedo da posio cujo contedo se deseja ler.

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ utilizadas como memrias cache em placas de microcomputadores IBM compatveis baseados nos microprocessadores 386, 486 e Pentium e tambm em workstations RISC.

BARRAMENTO DE ENDEREOS

ENDEREO VLIDO COLOCADO PELO PROCESSADOR

RD

BARRAMENTO DE DADOS

DADO VLIDO COLOCADO PELA MEMRIA

TEMPO DE ACESSO

Figura I.12 - Ciclo de Leitura de Memria Observe a direo das setas no esquema de ligao da figura I.11. O Barramento de Endereos, bem como os sinais de RD e WR , tm sempre a mesma direo, ou seja do processador para a memria. Por este motivo dizemos que o Barramento de Endereos e os sinais de controle RD e WR so unidirecionais. O Barramento de Dados pode ter duas direes. Pode estar direcionado do processador para a memria (escrita) ou da memria para o processador (leitura). Por este motivo dizemos que o Barramento de Dados bidirecional. Estados de Espera (Wait States): Como os sinais do barramento de endereos e RD so gerados pelo processador, o tempo decorrido desde o endereamento at a subida do sinal de RD s dempende da velocidade do processador. Na verdade as mudanas ocorridas nos barramentos e sinais de RD e WR so sincronizadas por um outro sinal de entrada no processador que o "clock". Este sinal uma onda quadrada que cujas subidas e descidas fazem com que uma operao do processador seja realizada. O perodo deste sinal de clock da-se o nome de estado e portanto para executar um ciclo de leitura de memria so necessrios alguns estados, como visto na figura abaixo. Quanto mais rpido, ou seja quanto maior a frequncia (medida em MegaHertz) do sinal de clock, menor ser o intervalo de tempo entre o endereamento e a subida do sinal de RD . Se a memria no for suficientemente rpida, quando o RD subir o barramento de dados no conter ainda o valor do contedo da posio acessada e portanto o processador ir capturar o "lixo" presente no barramento na hora da subida do RD , como visto na figura I.13. ___________________________________________________________________________________ I.30

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

ESTADO

CLK

BARRAMENTO DE ENDEREOS

ENDEREO VLIDO COLOCADO PELO PROCESSADOR

RD
Momento em que o processador captura o contedo do barramento de dados (lixo)

BARRAMENTO DE DADOS

DADO VLIDO COLOCADO PELA MEMRIA

TEMPO DE ACESSO

Figura I.13 - Ciclo de Leitura com perda de informao Existe um sinal de entrada no microprocessador que tem o nome de READY (pronto) que possibilita a interligao de dispositivos de memria cujo tempo de acesso no apropriado ao funcionamento do processador. Quando o sinal de READY mantido em nvel lgico "1" o acesso a memria se d normalmente como visto na figura I.12. Quando o processador acessar uma memria "lenta" (cujo tempo de acesso maior que o pulso RD gerado pelo processador) o sinal colocado em nvel lgico "0" at que a memria responda ao acesso de leitura quando ento o sinal de READY volta a nvel lgico "1", fazendo com que o pulso de RD acabe. Veja a figura I.14. O alargamento do pulso de RD obtido pela insero de um perodo (estado) a mais durante o ciclo de leitura. Este estado chamado de estado de espera, ou em ingls: "wait state". Dependendo da velocidade do processador (frequncia de trabalho) e dependendo do tempo de acesso da memria utilizada podem ser inseridos um, dois ou mais wait states. O acesso a memria sem necessidade de estados de espera dito um acesso com "zero wait states".

___________________________________________________________________________________ I.31

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________


ESTADO DE ESPERA (WAIT STATE)

CLK

BARRAMENTO DE ENDEREOS

ENDEREO VLIDO COLOCADO PELO PROCESSADOR

RD

Sinal de RD alaragado pelo sinal de READY

READY

BARRAMENTO DE DADOS

DADO VLIDO COLOCADO PELA MEMRIA

TEMPO DE ACESSO

Figura I.14 - Ciclo de Leitura com Wait State. Cabe apenas uma dvida, mostrada no esquema da figura I.15. Quem gera o sinal de READY ?

P R A1 . . O A14 C E D0 S S D1 A D D7 O RD R
WR CLK READY

A0

A0

. . .

A1

. .

A14 2 D0

. . .

D1 D7 RD WR

2 5 6

Figura I.15 - Gerador de Wait States (?).

___________________________________________________________________________________ I.32

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ Associao de Chips de Memria SRAM: No sentido de aumentarmos a capacidade de armazenamento de um sistema utilizando processadores podemos associar vrios chips de memria. Por exemplo, se um sistema necessita de 65536 Bytes (64KBytes), podemos associar 2 RAM 62256, cada uma com 32 768 Bytes (32KBytes), como mostra a figura I.16.

P R O C E S S A D O R

A0

. . .

. . .

A0

. . .

A12 D0 D1 D7

A12 D0

. . .

. . .

D1 D7

. . .

CI 2

RD WR

OE WE CS

A15 A14 A13

. . .
CI 1

A0

. . .

A12 D0

. . .

D1 D7

. . .

CI 3

OE

CS

Figura I.16 - Associao de Memrias SRAM O esquema da figura I.16 mostra a associao de 2 SRAM 62256. No entanto se voc observar bem existe uma dvida a ser esclarecida. Se o processador , por exemplo, quiser escrever em um determinado endereo um dado, ele colocar o endereo desejado no Barramento de Endereos, o dado a ser escrito no Barramento de Dados, e dar um pulso no pino de WR . Como os Barramentos de Endereos e Dados das duas RAM 62256 esto em paralelo o dado ser escrito em ambas. A forma de esclarecermos este problema utilizando o nico pino da 62256 que ainda no teve a sua funo explicada, ou seja, o pino CS . O pino de CS (Chip Select = Seleo do Chip) utilizado para que o processador selecione entre vrias memrias interligadas a ele qual ser lida ou escrita. Quando o processador quer acessar

___________________________________________________________________________________ I.33

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ uma entre duas ou mais memrias ele coloca um nvel baixo (0) no pino CS da memria que deseja acessar. Se existir apenas uma memria, este pino pode ser colocado permanentemente em nvel baixo. No circuito da figura I.16, o processador tem um barramento de endereos de 16 pinos (de A0 at A15), portanto a capacidade de endereamento de 65.536 (do endereo 0000h at o endereo FFFFh). O pino A15 do barramento de endereos, por ser o nico pino do barramento de endereos que no ligado diretamente s memrias, utilizado como entrada do circuito de seleo que ir definir qual das memrias ser acessada. Dependendo do valor de A15 o circuito de seleo ir colocar nvel baixo (0), no pino de CS de uma da outra memria 62256. Este tipo de endereamento far com que o processador leia a memria 62256 de cima com A15 = 0, ou seja do endereo 0000h at o endereo 7FFFh. Quando A15 = 1, ou seja do endereo 8000h at FFFFh, o processador acessa a memria de baixo. O circuito de seleo que poder ser utilizado para implementar o endereamento descrito acima seria simplesmente um inversor, como visto na figura I.17.

PROCESSADOR A15

CS da (62256) 1

CS da (62256) 2
Figura I.17 - Circuito de Seleo Circuito Gerador de Wait States: Pode-se agora entender quem ir gerar o sinal de READY, que permite a utilizao de memrias lentas. Quando se projeta um sistema computacional se sabe a priori quais memrias necessitaro wait states e quais sero acessada com zero wait states. Se por exemplo no sistema da figura I.16 uma das memrias mais lenta que a outra e necessita de um wait state, o circuito decodificador quando selecionar a memria mais lenta ir informar ao circuito Gerador de Wait States", como mostrado na figura I.18. O Circuito Gerador de Wait States que ento ir gerar o sinal READY, fazendo com que sejam inseridos um, dois ou mais estados de espera. Nos microcomputadores pessoais o nmero de "wait states" necessrios para cada memria configurada por software (setup).

___________________________________________________________________________________ I.34

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

P A0 R . . O . C A14 E D0 S S D1 A D D7 O R RD
WR READY A15

. . .

A0

. . .

A14 D0

6 2 2 5 6

. . .

D1 D7 RD WR CS

A0

. . .

A14 CIRCUITO DECODIFICADOR D0 D1 D7 RD


GERADOR DE WAIT STATES

6 2 2 5 6

WR CS

Figura I.18 - Circuito Gerador de Wait States.

___________________________________________________________________________________ I.35

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ I.5.2.2. EPROM 27128: A EPROM 27128 um chip de 28 pinos, como mostra a figura I.19, podendo armazenar 128 KBits (16 Kposies com 8 bits cada) de memria permanente de apenas leitura.
VPP A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Gnd Vcc PGM A13 A8 A9 A11 RD A10 CS D7 D6 D5 D4 D3

2 7

1 2 8

Figura I.19 - Pinagem da EPROM 27128 Os pinos A0,A1,A2,...,A13 so os bits de endereamento. Como temos 14 bits de endereo a memria EPROM 27128 possui 16K (16.536) posies. Os pinos D0,D1,D2,...,D7 so os pinos onde se colocam os bits do contedo de cada posio da memria. Portanto a memria EPROM 27128 possui 16 536 posies de 8 bits cada uma, ou seja uma memria de 16 536 X 8 (que se l: "memria de 16.536 por 8") ou de 16KBytes X 8 (que se l: "memria de 16 c bytes por 8"). Os pinos de Vcc e Gnd so os pinos de alimentao do chip. Nestes dois pinos devero ser colocados respectivamente + 5 volts e terra. O pino de RD utilizado para ligarmos um sinal de controle que gerado pelo processador. Um pulso de nvel baixo (0) significa que o processador deseja ler um dado da memria. O pino CS tem a funo de selecionar o chip. Se CS = 1 nenhuma das posies da EPROM pode ser acessada. A seqncia de leitura de um dado da memria EPROM igual ao ciclo de acesso de um dado contido em uma memria SRAM, e a seguinte: 1. 2. 3. endereada. 4. O processador captura este dado na borda de subida do pulso do pino RD . O processador coloca no Barramento de Endereo (pinos A0,A1,...,A13) o endereo O processador d um pulso de nvel baixo no pino RD . A memria coloca no Barramento de Dados (pinos D0,D1,..,D7) o contedo da posio cujo contedo se deseja ler.

A figura I.20 mostra o diagrama de tempo de um ciclo de leitura de uma memria EPROM. ___________________________________________________________________________________ I.36

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

P A0 R A1 . O . C A13 E S D0 S D1 A D D7 O R RD

A0

. . .

A1

A13 7 D0

. .

1 2 8

. . .

D1 D7 RD

BARRAMENTO DE ENDEREOS

ENDEREO VLIDO COLOCADO PELO PROCESSADOR

RD

BARRAMENTO DE DADOS

DADO VLIDO COLOCADO PELA MEMRIA

TEMPO DE ACESSO

Figura I.20 - Ciclo de Leitura de Memria EPROM O Barramento de Endereos, bem como o sinal de RD , tm sempre a direo do processador para a EPROM. O Barramento de Dados, que no caso da ligao do processador com uma memria SRAM bidirecional, no caso da interligao do processador com uma memria EPROM unidierecional, s que na direo inversa do barramento de endereos, ou seja da EPROM para o processador. Isto se deve ao fato da memria ser s de leitura e portanto nenhum dado pode sair do processador para "entrar" na memria, o que corresponderia a um ciclo de escrita. As memrias EPROM tem tempo de acesso maior que as memrias SRAMs. A memria EPROM comercialmente disponvel mais rpida possui tempo de acesso de 120 ns. Os pinos de VPP e PGM so utilizados na hora de gravao do contedo da EPROM. A gravao de uma EPROM feita por um equipamento especial chamado gravador de EPROMs que normalmente interligado serial ou paralelamente a um microcomputador como visto na figura I.21.

___________________________________________________________________________________ I.37

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

VPP A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 D1 D2 Gnd

2 7

1 2 8

Vcc PGM A13 A8 A9 A11 RD A10 CS D7 D6 D5 D4 D3

FONTE DE TENSO 12.5 V ou 21 V

GERADOR DE PULSOS

SOQUETE ZERO FORCE

GRAVADOR DE EPROMS

PORTA SERIAL OU PLACA DEDICADA

Figura I.21 - Gravador de EPROMs Existem no mercado basicamente dois tipos de gravadores de EPROMs. No primeiro tipo os sinais de VPP e PGM so gerados por circuitos que esto colocados em um equipamento a parte, que alm destes circuitos possui um soquete zero force onde ser conectada a EPROM a ser gravada, como visto na figura I.21. Existe um cabo padro RS232 que interliga o gravador de EPROMs porta serial do microcomputador. Os valores a serem gravados so armazenados temporariamente em arquivos nos discos flexveis ou rgidos do microcomputador e transferidos serialmente na hora da gravao.

___________________________________________________________________________________ I.38

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ O segundo tipo se assemelha ao primeiro, no entanto os circuitos geradores dos sinais de VPP e

PGM esto em uma placa plugada em um dos slots de expanso dentro do microcomputador.
Externamente s existe uma caixa com um soquete zero force onde ser conectada a EPROM e um cabo de ligao prprio. Para ambos os tipos cada byte a ser gravado necessita um ciclo de gravao que pode demorar de 1 a 60 ms dependendo do tipo de EPROM. Durante todos os ciclos de gravao os pinos CS mantido em nvel lgico 0 enquanto o pino VPP mantido em uma tenso alta, que pode variar de 12.5 a 21 Volts dependendo da EPROM. Cada ciclo de gravao seguido de um ciclo de leitura de verificao. O ciclo de gravao se inicia com o endereamento da posio a ser gravada, seguida da colocao no barramento de dados do contedo a ser gravado nesta posio. Em seguida gerado um pulso de nvel baixo no pino PGM , que pode durar de 1 a 60 ms seguido de um pulso de nvel baixo no pino RD que realiza a leitura de verificao. O pulso de RD de durao igual a um ciclo de leitura normal. Veja na figura I.22.

BARRAMENTO DE ENDEREOS

ENDEREO DA POSIO A SER GRAVADA

BARRAMENTO DE DADOS

DADO A SER GRAVADO COLOCADO PELO PROGRAMADOR DE EPROMs

DADO LIDO COLOCADO PELA EPROM 12.5 ou 21 V

VPP 1 a 60 ms CS

PGM

RD CICLO DE GRAVAO CICLO DE LEITURA DE VERIFICAO

Figura I.22 - Ciclos de Gravao e Verificao A figura I.23 mostra a associao de uma EPROM 27128 e uma SRAM 62256 a um microprocessador.

___________________________________________________________________________________ I.39

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

P A0 . . . R O A13 C A14 E D0 S S D1 A D D7 O R RD
WR A15

. . .

A0

. . .

A13 6 A14 D0

2 2 5 6

. . .

D1 D7 RD WR CS

A0

. .
A13 CIRCUITO DECODIFICADOR D0 D1 D7 RD CS

2 7 1 2 8

Figura I.23 - Associao de EPROM e SRAM.

___________________________________________________________________________________ I.40

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ I.5.2.3. DRAM 411000: As associaes vistas anteriormente visam aumentar a capacidade de armazenamento da memria. Outra forma de associao de chips de memria decorre do fato de alguns chips de memria terem o seu Barramento de Dados menor do que o Barramento de Dados do processador. A seguir veremos o exemplo das RAM dinmicas, utilizadas nos computadores tipo IBM PC, onde cada componente s possui um pino de dado, ou seja para formarmos uma memria de palavra de 8 bits necessitamos associar pelo menos 8 componentes. A figura I.24 mostra a associao de 8 memrias RAM dinmicas 41.1000 de 1.048.576 posies de 1 bit.

P R O C E S S A D O R

A0 A1

CIRCUITO DE CONTROLE DE ACESSO DE MEMRIA A0

. . .

A18 A19 RD WR

4 1 1 RAS 0 0 CAS 0
A9 WR

. .

A0

4 1 1 RAS 0 0 CAS 0
A9 WR

. .

A0

. .

A9

4 1

...

D0 D1

(0) D (1)

1 0 0 CAS 0
RAS WR

. . .

. . .

D7

(7)

Figura I.24 - Associao de Memria RAM dinmicas Para acessarmos uma memria de 1 MByte necessitamos de 20 bits de endereo. As memrias de 1 MByte (41 1000) mostradas na figura I.24 possuem apenas 10 linhas de endereos (A0 a A9). Este fato faz com que esta memria tenha apenas 18 pinos. A memria dinmica funciona da seguinte forma: A memria est dividida em 1024 linhas e 1024 colunas como mostra a figura I.25. Na interseo de cada linha com cada coluna est um capacitor que armazena um bit. Para acessarmos cada posio precisamos fornecer ao componente o endereo da linha e o endereo da coluna da posio que se quer acessar.

___________________________________________________________________________________ I.41

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________


A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 CAS RAS
E D N A D E R E L I N H 0 1 2 3 4 5

D E A N D C E R E O L U N

O A

1021 1022 1023

+++++++ -- --

O A 1021 1022 1023

Figura I.25 - Estrutura Interna da Memria Dinmica O circuito de acesso de memria dinmica coloca nas 10 linhas de endereos das memrias (A0 a A9) o endereo da linha da posio que se quer acessar e gera um pulso negativo no pino RAS (Row Address Strobe). Logo aps, o circuito de acesso de memria coloca nas 10 linhas de endereos das memrias o endereo da coluna da posio que se quer acessar e gera um pulso negativo no pino de

CAS (Column Address Strobe).


A figura I.26 mostra os diagramas de tempo de leitura e escrita de uma memria RAM dinmica 41 1000. Tanto no ciclo de escrita, como no ciclo de leitura, as subidas dos sinais de RAS e CAS sincronizam a captura do dado. No ciclo de escrita estas subidas fazem com que a memria capture o valor presente no barramento de dados. No ciclo de leitura, as subidas de RAS e CAS determinam a captura pelo processador do valor colocado pela memria no barramento de dados.

___________________________________________________________________________________ I.42

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________


RAS

CAS

A0-A9

LINHA

COLUNA

WR
DADO VLIDO

HI Z
TEMPO DE ACESSO

HI Z

Ciclo de Leitura

RAS

CAS

A0-A9

LINHA

COLUNA

WR
DADO COLOCADO PELO PROCESSADOR

Ciclo de Escrita
Figura I.26 - Ciclos de Leitura e Escrita de Memria Dinmica Como dito anteriormente, a memria dinmica necessita de ter seu contedo refrescado de tempos em tempos. Portanto necessrio que o processador ou o dispositivo de controle de acesso a memria realize ciclos de refresh. O intervalo entre dois ciclos de refresh da ordem de mili segundos. Por exemplo, a memria dinmica TMS4164 da Texas Instruments especifica em seu "Data Sheet" que o intervalo entre ciclos de refresh deve ser no mximo 4 mili segundos. Um ciclo de refresh realiza o refrescamento de uma linha inteira da matriz interna da RAM, portanto, como visto no diagrama de tempo da figura I.27, no ciclo de refresh s necessrio especificar no barramento de endereos o endereo da linha que se vai refrescar. O que diferencia um ciclo de acesso normal de um ciclo de refresh a presena de um pulso de RAS sem pulso de CAS .

___________________________________________________________________________________ I.43

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

RAS

CAS

A0-A9

LINHA

WR

Ciclo de Refresh (Refrescamento)


Figura I.27 Existem memrias dinmicas que possuem um modo de acesso mais rpido chamado Page Mode. Uma destas memrias a 21010 da Intel. Este modo de acesso mais rpido consiste em se acessar vrios bits de uma mesma linha. Desta forma s necessrio colocar o endereo da linha e abaixar a linha de RAS uma nica vez e depois ir colocando, para cada acesso, o endereo da coluna junto com o pulso de CAS . Veja os esquemas da figura I.28.

___________________________________________________________________________________ I.44

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________


RAS

CAS

A0-A9

LINHA

COLUNA

COLUNA

COLUNA

COLUNA

WR

HI Z

dado vlido

HI Z

dado vlido

HI Z

dado vlido

HI Z

dado vlido

Ciclo de Leitura em Page Mode

RAS

CAS

A0-A9

LINHA

COLUNA

COLUNA

COLUNA

COLUNA

WR
dado colocado pelo processador dado colocado pelo processador dado colocado pelo processador dado colocado pelo processador

Ciclo de Escrita em Page Mode


Figura I.28

___________________________________________________________________________________ I.45

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ Em computadores baseados em processadores a partir do 386 a memria dinmica no vem soquetada na placa me, como acontece com os XTs e ATs 286. Os componentes DRAM do tipo do 411000 so agrupados em placas que so plugadas em conectores especiais de 30 pinos ou 72 pinos, chamadas de SIMM (Single Inline Memory Modules = Mdulos de memria em linha simples). A figura I.29 mostra uma placa SIMM de 30 pinos.

Figura I.29 -Memria SIMM de 30 pinos Cada placa SIMM de 30 pinos possui 8 bits de dados e mais um bit de paridade que testado por um circuito a parte. Uma placa SIMM de 1 Megabyte utilizando DRAMs 411000 necessita ter portanto 9 chips.

9 X 411000
. . .

A0 ... A9

paridade D7

D6

D5

D4

D3

D2

D1

D0

RAS CAS

Figura I.30 - Sinais de uma placa SIMM de 1 MBytes Em processadores com barramento de dados maior que 8 bits como por exemplo os 386SX (com 16 bits de barramento de dados) e os 386DX, 486SX, 486DX, 486DX2, 486DX4 (com 32 bits de barramento de dados) so necessrias mais de uma placa SIMM de 30 pinos para atender todos os bits do barramento de dados. Para placas me com processador 386SX so necessrias no mnimo 2 placas SIMM de 30 pinos como mostrado no esquema da figura I.31. Se cada placa SIMM de 30 pinos tiver 1 Mbyte ento o sistema ter no total 2 Mbytes. A figura I.31 mostra mdulos SIMM de 1 Mbytes que utilizam cada um 9 DRAMs 411000.

___________________________________________________________________________________ I.46

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

A0 ... A9, RAS, CAS

386SX
CTLE DE ACESSO DE MEMRIA D0 . . A0 . D7 . CIRCUITO GERADOR E TESTADOR DE PARIDADE

. A23 D8 . . . D15

ERRO
A0 ... A9, RAS, CAS

Figura I.31 - Memrias SIMM de 30 pinos com 386SX.

Quando o processador est escrevendo um byte em uma posio de memria o circuito gerador testador de paridade gera o nono bit (bit de paridade) que completa com um bit "0"ou com um bit "1" para que os nove bits assim formados possuam um nmero par de bits "1". Por exemplo se o processador estiver escrevendo um byte 10110101 (que contm 5 bits 1) o gerador testador de paridade ir gerar um bit 1que com os 8 bits de dados completam 6 bits 1. dados 10110101 paridade 1

Os nove bits so escritos na memria e quando o processador realizar uma leitura desta posio o circuito gerador testador de paridade ir ler os bits de dados mais o bit de paridade para testar se existe um nmero par de bits 1 neste conjunto de 9 bits. Caso tenha ocorrido uma troca de um bit ser gerado um sinal de erro que ser detectado pelo sistema operacional que ir exibir uma mensagem de erro.
Existem DRAMs que ao invs de terem 1 bit possuem 4 bits de barramento de dados. Por exemplo a DRAM 441000 possui 1 Mega posies (intercesses de linha e coluna) e cada posio contm 4 bits. Placas SIMM de 30 pinos utilizando este tipo de componente possui apenas 3 chips, dois ___________________________________________________________________________________ I.47

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ chips 44100 para os 8 bits de dados e um chip 411000 para o bit de paridade como pode-se ver na figura I.32. 441000 441000 411000

1 Mega posies

A0 ... A9

RAS CAS
D0 . . . D7 paridade

Figura I.32 - Mdulos utilizando DRAMs 441000. A estrutura interna do 441000 tambm possui 10 bits de endereo com 1024 linhas e 1024 colunas s que na interseo de cada linha e cada coluna existem 4 capacitores que armazenam os 4 bits de cada uma das 1.048.576 (1024 x 1024) instersees. Aumentando-se um bit de endereamento (incluindo A10) dobra-se o nmero de linhas e colunas internas da memria DRAM fazendo com que se quadruplique a quantidade de posies (intersees). No caso 4194304 (2048 x 2048) ou seja 4 Mega como visto na figura I.33. Podem existir em cada insterseo 1 capacitor (1 bit), caso do componente 414000, ou 4 capacitores (4 bits), caso do componente 444000. Normalmente placas SIMM 30 pinos de 4Mbytes possuem 2 componentes 444000 e 1 componente 414000. Como mostrado na figura I.34.

___________________________________________________________________________________ I.48

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________


A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 CAS RAS
0 E D N A D E L R I E N H O A 2045 2046 2047 1 2 3 4 5

E N

D A

D C E O R L E U N O A

2045 2046 2047

Figura I.33 - Memria DRAM com 4 Mega posies.

444000

444000

414000

4 Mega posies

A0 ... A10 RAS CAS


D0 . . . D7 paridade

Figura I.34 - Placa SIMM de 4 Mbytes

___________________________________________________________________________________ I.49

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

Se por exemplo temos 2 placas SIMM 30 pinos, cada uma com 4 MBytes conectadas a uma placa me de 386SX, como visto na figura I.35, o sistema ter no total 8 Mbytes.
444000 444000 414000

A0 ... A10, RAS, CAS

386SX
CTLE DE ACESSO DE MEMRIA D0 . . A0 . D7 . CIRCUITO GERADOR E TESTADOR DE PARIDADE

. A23 D8 . . . D15

ERRO
A0 ... A10, RAS, CAS

444000

444000

414000

Figura I.35 - 386SX com 8 Mbytes de DRAM

Para se expandir necessrio a colocao de no mnimo mais 2 placas que podem ser por exemplo de 1MBytes cada uma, perfazendo um total de 10 Mbytes,como visto na figura I.36.

___________________________________________________________________________________ I.50

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

A0 ... A10, RAS0, CAS0,

RAS1, CAS1

A0..A10

386SX
CTLE DE ACESSO DE MEMRIA D0 . . A0 . D7 .

4M x 9

A0...A9 1M x 9
CIRCUITO GERADOR E TESTADOR DE PARIDADE

. A23 D8 . . . D15 4M x 9 A0..A10 ERRO


A0 ... A10, RAS0, CAS0, RAS1, CAS1

1M x 9 A0...A9

Figura I.36 - 386SX com 10 Mbytes de DRAM

No acesso aos primeiros 8 Mbytes da memria o circuito de controle de acesso de memria ir gerar RAS0 e CAS0, enquanto que no acesso dos ltimos 2 MBytes o circuito de controle de acesso de memria ir gerar RAS1 e CAS1. O circuito de controle de acesso de memria que funciona como circuito selecionador de memria j que as memrias DRAM no possuem pino de CS (Chip Select). Na verdade no acesso do primeiro megabyte em um microcomputador IBM compatvel, algumas reas de endereos gerados pelo processador no acessam posies da memria DRAM e sim de memrias do tipo EPROM ou ROM. Como estas memrias possuem pino de CS, no momento que o processador enderear posies nestas reas ser gerado um dos sinais CS para selecionar uma destas memria e no ser gerado nenhum sinal de RAS e nem de CAS (que selecionam as memrias DRAM). Veja a figura I.37. Estas memrias EPROM s possuem 8 bits de barramento de dados que sero ligados aos 8 bits menos significativos (D0 a D7) do barramento do processador. O acesso a estas memrias feito ao se ligar o equipamento e neste instante o processador s ir realizar leituras atravs dos 8 bits menos significativos do seu barramento de dados. Existe uma opo no SETUP dos microcomputadores que permite que sejam feitas cpias dos contedos destas memrias EPROM (que so mais lentas que as DRAMs) para os espaos correspondentes dentro do primeiro megabyte de memria DRAM. Esta opo chamada ROM BIOS Shadow.

___________________________________________________________________________________ I.51

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

A0 ... A15, RAS0, CAS0,

RAS1, CAS1

A0..A10

386SX
CTLE DE ACESSO DE MEMRIA D0 . . A0 . D7 .

4M x 9

A0...A9 1M x 9

EPROM A0...A15 64K x 8

. A23 D8 . . . D15 4M x 9 A0..A10 ERRO


A0 ... A10, RAS0, CAS0, RAS1, CAS1

CIRCUITO GERADOR E TESTADOR DE PARIDADE

1M x 9 A0...A9

Figura I.37 Se existirem na placa me 386SX mais conectores livres para memrias SIMM de 30 pinos pode-se expandir a memria RAM colocando-se placas 2 a 2 de acordo com o manual da placa me. Para placas me de processadores 386DX, 486SX, 486DX, 486DX2 e 486DX4, que possuem barramento de dados de 32 bits, so necessrios no mnimo 4 placas SIMM de 30 pinos como podemos ver na figura I.38. Normalmente estas placas me possuem 8 conectores para placas SIMM de 30 pinos. A expanso de memria da placa da figura I.38 portanto limitada a colocao de mais 4 placas que, se forem de 4 Mbytes faz com que o sistema fique com 32 Mbytes, que a capacidade mxima que uma placa me com 8 conectores SIMM de 30 pinos pode ter. Esta limitao no do processador, que tendo 32 bits de endereo pode enderear at 4 Gbytes, mas da placa me. Como a placa me s possui 8 conectores SIMM de 30 pinos e como s existem placas SIMM de 30 pinos com no mximo 4mbytes, a quantidade mxima de memria de 8 x 4M = 32mbytes. Existem ainda placas SIMM 30 pinos de 256kbytes onde tem-se 9 DRAMs com 9 pinos de endereo (A0...A8) com 512 linhas x 512 colunas.

___________________________________________________________________________________ I.52

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

A0 ... A10

, RAS0, CAS0

RAS0,CAS0

386DX ou 486
D0 . D7

A0..A10 4M x 9

A0...A10 4M x 9
CIRCUITO GERADOR E TESTADOR DE PARIDADE

CTLE DE ACESSO DE MEMRIA

A0 D8 . . . D15 A31 D16 . D23 D24 . D31 4M x 9 A0..A10 ERRO 4M x 9 A0...A10


RAS0,CAS0

A0 ... A10

RAS0, CAS0

Figura I.38 - Placa me 386DX ou 486 com memrias SIMM 30 pinos

Em placas me com 8 conectores SIMM de 30 pinos pode-se ter vrias combinaes de placas SIMM de 256K, 1M e 4 Mbytes. Pode-se ter: 4 de 256K perfazendo um total de 1MBytes 8 de 256K perfazendo um total de 2 MBytes 4 de 1M perfazendo um total de 4 MBytes 4 de 256K e 4 de 1M perfazendo um total de 5 MBytes 8 de 1M perfazendo um total de 8 Mbytes 4 de 4M perfazendo um total de 16 Mbytes 4 de 256K e 4 de 4M perfazendo um total de 17 MBytes 4 de 1 M e 4 de 4M perfazendo um total de 20 MBytes 8 de 4M perfazendo um total de 32 MBytes Outro padro de expanso de memria utilizado em placas me a partir do 486DX2 so as que utilizam conectores para placas SIMM de 72 pinos. Neste padro as placas j tem componentes suficientes para suprir 32 bits e portanto para processadores com barramento de 32 bits s necessrio a colocao de uma nica placa. A figura I.39 mostra um mdulo SIMM de 72 pios com 4M x 36 e uma placa me 486 com 2 placas SIMM de 72 pinos, uma com 16 Mbytes (4M x 36) e outra com 4 Mbytes (1M x 36)
___________________________________________________________________________________ I.53

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

4M x 4

4M x 4

4M x 4

4M x 4

4M x 4

4M x 4

4M x 4

4M x 4

4M x 1

4M x 1

4M x 1

4M x 1

Mdulo SIMM de 72 pinos com 4M x 36


4 bits de paridade
A0 ... A10, RAS0, CAS0, RAS1, CAS1

A0..A10

486
CTLE DE ACESSO DE MEMRIA D0 . . A0 D31

4M x 36

A0...A9 1M x 36
CIRCUITO GERADOR E TESTADOR DE PARIDADE

4 bits de paridade

. . A31

Placa me com 2 placas SIMM de 72 pinos com 20 MBytes Figura I.39

Para processadores com barramento de 64 bits como o Pentium e o Power PC so necessrias no mnimo 2 placas SIMM de 72 pinos.

___________________________________________________________________________________ I.54

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

A0 ... A10, RAS0, CAS0,

RAS1, CAS1

Pentium ou PowerPC
D0 . . A0 . D31 .

A0..A10 4M x 36

A0...A9 1M x 36
CIRCUITO GERADOR E TESTADOR DE PARIDADE

CTLE DE ACESSO DE MEMRIA

. A31 D32 . . . D63 4M x 36 A0..A10 ERRO


A0 ... A10, RAS0, CAS0, RAS1, CAS1

1M x 36 A0...A9

Figura I.40 - Placa me Pentium ou PowerPC com 40mbytes de memria.

Em placas baseadas no processador AlphaPC da Digital que possui barramento de dados de 128 bits so necessrias no mnimo 4 placas SIMM de 72 pinos para completar o barramento. Veja a figura I.41

___________________________________________________________________________________ I.55

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________


A0 ... A10 RAS0, CAS0 RAS0,CAS0

Alpha
D0 . D31

A0..A10 4M x 36

A0...A10 4M x 36

4 bits de

CTLE DE ACESSO DE MEMRIA

A0 . . A34

D32 . D63

4 bits de id d

CIRCUITO GERADOR E TESTADOR DE PARIDADE

D64 . D95 D96 . D127

4 bits de id d

4M x 36 A0..A10 ERRO
A0 ... A10 RAS0, CAS0 RAS0,CAS0

4M x 36 A0...A10

4 bits de paridade

Figura I.41 - Placa me Alpha com memrias SIMM de 72 pinos

___________________________________________________________________________________ I.56

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

___________________________________________________________________________________ I.57

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

I.6. DISPOSITIVOS DE ENTRADA E SADA (I/O - Input/Output):


Como visto anteriormente, os dispositivos de entrada e sada, conhecidos normalmente pela iniciais I/O (Input/Output), so os componentes do computador que fazem a interao do mundo externo com o computador. Para esclarecer como um dispositivo de I/O interage com o microprocessador, vejamos o exemplo do teclado, que um dos dispositivos essenciais de qualquer microcomputador. O teclado de qualquer sistema computacional , simplificadamente falando, composto de uma matriz de linhas e colunas (veja figura I.42) onde em cada cruzamento de uma linha com uma coluna colocada uma chave acionada por uma das teclas.
+5V

L I
2

H A
M-1

N-1

Figura I.42 - Esquema Interno de Teclado de Varredura Um sistema muito utilizado para se identificar uma tecla acionada a varredura de sinais nas linhas enquanto se observa o nvel das colunas. Este sistema de varredura consiste basicamente em se colocar a cada intervalo de tempo uma das linhas em nvel baixo e todas as outras em nvel alto, ao mesmo tempo que se verificam os nveis presentes nas colunas. A cada intervalo de tempo trocamos a linha que receber o nvel baixo. Esta operao de sucessivamente ir-se colocando uma a uma as linhas em nvel baixo, como mostra a figura I.43, denominada varredura ou "scan" do teclado.

___________________________________________________________________________________ I.58

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________


LINHA 1 LINHA 2 LINHA 3

. . .
LINHA M-1 LINHA M

. . .

Figura I.43 - Varredura do Teclado Se nenhuma tecla estiver pressionada em qualquer instante da varredura todas as colunas tero nvel alto, proveniente dos resistores de pull-up que esto ligados a + 5 V, como mostra a figura I.44.
+5V

L I N

1 2

H A

0
M-1

1 M

S
1

1
2

1
3

1
N-1 N

Figura I.44 Ao pressionarmos uma tecla e ao chegar o instante da varredura na qual a linha a que pertence a tecla pressionada for colocada em nvel baixo, a coluna da tecla pressionada apresentar nvel baixo, como mostra a figura I.45.

___________________________________________________________________________________ I.59

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________


+5V

1
1

L I
2

H A
M-1

1
M

1
1 2

1
3

0
4

1
N-1 N

Figura I.45 Portanto, se sabemos o instante da varredura, ou seja, qual linha est colocada em nvel baixo, e a coluna na qual est presente o nvel baixo, podemos determinar com preciso qual foi a tecla pressionada. Nos sistemas computacionais, em geral, existem componentes dedicados que geram o sinal de varredura e percebem uma tecla pressionada. Estes dispositivos, conhecidos como controladores de teclado, aps perceberem uma tecla pressionada, precisam informar ao processador atravs de um cdigo (diferente para cada tecla). Assim, o processador ter que ler o contedo deste dispositivo. Deve, portanto, existir uma ligao entre o controlador de teclado e o processador. A figura I.46 mostra um esquema simples de ligao de um controlador de teclado genrico e o processador. Embora pudesse parecer que no barramento de dados as informaes (cdigos de teclas pressionadas) devessem fluir apenas em um sentido (do controlador para o processador), tambm existem condies onde o processador precisa escrever informaes no controlador. Na inicializao do sistema do processador precisa inicializar (escrever) alguns registradores internos ao controlador de teclado, para fazer com que ele trabalhe no modo apropriado. Para estes ciclos de escrita necessrio o sinal de WR . No entanto existe ainda uma dvida: Como o controlador de teclado informa ao processador que existe uma tecla pressionada ? Existe outros sinais interligando o controlador de teclado e o processador, este sinais fazem parte da estrutura de interrupo. O funcionamento desta estrutura explicado nos items I.6 e II.8. ___________________________________________________________________________________ I.60

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

+5V

D0

D0 D1

P R O C E S S A D O R

D1 D2

. . .

D2

D7

CONTROLADOR D7 DE TECLADO

RD WR

RD WR TECLADO

Figura I.46 O sistema controlador de teclado um exemplo de dispositivo de entrada. Veremos agora um exemplo de dispositivo de sada, a Impressora. As impressoras paralelas normalmente utilizadas em sistemas computacionais devem receber do processador os cdigos de 8 bits correspondentes ( segundo a tabela ASCII) aos caracteres a serem impressos. Estes cdigos (nas impressoras paralelas) so transferidos byte a byte atravs de 8 linhas que interligam o processador e a impressora, como visto na figura I.47
P R O C E S S A D O R D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 IMPRESSORA

Figura I.47 Como os cdigos so colocados sucessivamente nas 8 linhas que interligam o processador e a impressora, necessrio que o processador informe impressora toda vez que um novo cdigo colocado no barramento. Para este fim, uma nova linha, conhecida como strobe ( STB ), adicionada s 8 iniciais. O processador envia um pulso negativo atravs da linha STB para indicar impressora que existe no barramento o cdigo de um caracter a ser impresso. A figura I.48 mostra a ligao entre o ___________________________________________________________________________________ I.61

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ processador e a impressora com a insero da linha de STB e o diagrama de tempo da impresso de dois caracteres.
P R O C E S S A D O R D0 D1 D2 D3 D4 D5 D6 D7 STB D0 D1 D2 D3 IMPRESSORA D4 D5 D6 D7 STB

Esquema de Ligao

D0 - D7

CDIGO DE UM CARACTER

CDIGO DE OUTRO CARACTER

STB

Diagrama de Tempo

Figura I.48 Outra questo importante a ser considerada que a velocidade de impresso muito menor que a velocidade de processamento do computador. Durante o tempo que a impressora estiver ocupada com a impresso de um caracter, ela no poder receber nenhum outro caracter. Assim, necessrio que a impressora avise ao processador que ela est ocupada e que, portanto, o processador no poder enviar um novo caracter. Para este fim existe uma outra linha interligando o processador e a impressora, conhecida como BUSY. O sinal de BUSY colocado em nvel alto pela impressora para avisar ao processador que a impressora est ocupada. Na verdade toda impressora possui memria, tambm chamada de buffer, para armazenar os caracteres recebidos do microcomputador. Ento os circuitos lgicos de uma impressora realizam duas funes simultneas. A primeira destas funes a de receber os bytes enviados na velocidade rpida do microcomputador e armazenar no buffer. A segunda a de ir lendo o buffer e comandando as aes mecnicas necessrias a impresso de cada caracter. Como existe uma grande diferena de velocidades de entrada e de sada dos dados no buffer da impressora, poder haver um transbordo de dados assim como pode acontecer um transbordo de gua de uma caixa dgua em que a velocidade de entrada de gua maior do que a velocidade de sada. O sinal de BUSY funciona como se fosse uma boia de caixa dgua que fecha a entrada da gua assim que o nvel chega prximo ao seu limite mximo. Assim quando o buffer da impressora est cheio a mesma sinaliza com o sinal BUSY para impedir que o microcomputador envie mais caracteres, o que causaria um transbordo. A figura I.49 mostra o esquema de ligao e o diagrama de tempo levando em considerao a incluso do sinal de BUSY. Observe que o sinal de BUSY ficar ativo o tempo necessrio a impresso de um conjunto de caracteres de forma a liberar um conjunto de posies de memria para receber novos caracteres. Se ao invs disto a impressora mantivesse o sinal de BUSY ___________________________________________________________________________________ I.62

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ ativo somente o tempo necessrio para impresso de um caracter, logo aps o recebimento do primeiro caracter a impressora sinalizaria BUSY novamente pois o buffer estaria novamente cheio. Permanecendo o sinal de BUSY ativado o tempo necessrio a impresso de um conjunto de caracteres o sistema de comunicao micro-impressora trabalha em rajadas (forma mais eficiente) e no byte a byte. Podemos comparar esta maior eficincia com a situao de um funcionrio mais experiente ajudando um funcionrio novato a realizar uma determinada tarefa. O funcionrio novato a cada vez que tem uma dvida ao invs de interromper o experiente anota as dvidas e interrompe o funcionrio experiente apenas duas vezer ao dia e tira todas as dvidas anotadas. Assim tambm para o computador melhor que a impressora fique BUSY por um tempo maior, tempo no qual o microcomputador poder realizar outras tarefas, e depois descarregue de uma s vez uma rajada de caracteres.
P R O C E S S A D O R D0 D1 D2 D3 D4 D5 D6 D7 STB BUSY D0 D1 D2 D3 IMPRESSORA D4 D5 D6 D7 STB BUSY

Esquema de Ligao

D0 - D7

cdigo de um caracter

cdigo de um caracter

cd

STB BUSY Tempo necessrio impresso de um caracter Tempo necessrio impresso de um caracter

Diagrama de Tempo do modo byte a byte


cdigo do caracter que preenche o buffer primeiro caracter da rajada ltimo caracter da rajada

D0 - D7

STB BUSY Tempo necessrio impresso de um conjunto de caracteres

Diagrama de Tempo do modo rajada

Figura I.49 ___________________________________________________________________________________ I.63

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ Na realidade existem outros sinais (que na figura I.48 esto representados pelas linhas tracejadas), mas estes dois ( STB e BUSY) so os fundamentais. Por questes de segurana, capacidade de fornecimento de corrente e principalmente por no terem os processadores a capacidade de controlar estes sinais adicionais, colocado, entre a impressora e o processador, um dispositivo conhecido vulgarmente por porta paralela ou pela sigla LPT (Line PrinTer). A figura I.50 mostra o esquema de ligao do processador com a porta paralela e desta com a impressora.
P R O C E S S A D O R D0 D1 D2 D3 D4 D5 D6 D7 WR RD D0 D1 D2 D3 D4 D5 D6 D7 WR RD D0 D0 D1 D2 D3 D4 D5 D6 D7 IMPRESSORA D1 D2 D3 D4 D5 D6 D7 STB BUSY

P O R T A

P A R A L E L A

. . .

STB BUSY

Figura I.50 Basta que o processador escreva o cdigo do caracter a ser impresso na porta paralela, que esta controlar os sinais de strobe e busy e os outros no mencionados aqui. bvio que a porta paralela precisa "avisar" ao processador quando a impressora est ocupada (BUSY). Veremos mais adiante que normalmente utilizada uma estrutura de interrupo para controlar este tipo de aviso. Na verdade a porta paralela tambm pode ser lida pelo processador. Por este motivo que o sinal de RD tambm est ligado a porta paralela. O byte que o processador pode ler da porta paralela indica o estado da impressora e conhecido como registrador de status da impressora (printer status register). Cada bit deste registrador de status contm uma informao sobre o estado da impressora. Por exemplo, no caso dos computadores da linha IBM PC, os bits do registrador de status tem as funes mostradas na figura I.51. Portanto um programa pode ficar, de tempos em tempos, lendo na porta paralela este registrador de status e observando pelo bit 7 se a impressora est ocupada ou no.
REGISTRADOR DE STATUS
7 6 5 4 3 2 1 0

1 = erro 1 = impressora em linha 1 = impressora sem papel 0 = impressora ocupada (busy)

Figura I.51 ___________________________________________________________________________________ I.64

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ A figura I.52 mostra um sistema composto de uma porta paralela ligada a uma impressora e um controlador de teclado ligado a um teclado.

P R O C E S S A D O R

D0 D1 D2 D3 D4 D5 D6 D7 WR RD

D0 D1 D2 D3 D4 D5 D6 D7 WR RD

P O R T A

P A R A L E L A

D0 D1 D2 D3 D4 D5 D6 D7 STB BUSY

D0 D1 D2 D3 IMPRESSORA D4 D5 D6 D7 STB BUSY

A0 .. .A15

CS +5V

...
CIRCUITO DE SELEO D0 D1 D2 D3 D4 D5 D6 D7 WR RD CS

C O N T R O L A D O R

D E T E C L A D O TECLADO

Figura I.52 No caso do sistema da figura I.52 necessrio um circuito selecionador, como o visto na pgina I.33 (Associao de Chips de SRAM) pois ao processador executar um ciclo de leitura preciso especificar qual dos dispositivos (controlador de teclado ou porta paralela) dever responder a este pedido. O circuito de seleo ento, a partir do endereo gerado pelo processador que est presente no barramento de endereos (A0 ... A15), ir ativar uma de suas sadas em nvel baixo, selecionando ou a porta paralela ou o controlador de teclado. Portanto existe um endereo que seleciona a porta paralela e um endereo que seleciona o controlador de teclado.

___________________________________________________________________________________ I.65

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ Portanto, se o processador "deseja" ler o cdigo de uma tecla pressionada ele realizar um ciclo de leitura especificando um endereo que ao entrar no circuito de seleo ir resultar em um nvel baixo na sada que est ligada ao pino de CS (Chip Select) do controlador de teclado. Se, em outro momento, o processador "deseja" ler o registrador de status da impressora ele ir gerar um ciclo de leitura com um endereo que far com que a sada do circuito de seleo que est ligada ao pino CS (Chip Select) da porta paralela seja ativada. Em outro exemplo podemos ter um sistema com 2 impressoras paralelas com se v na figura I.53. O circuito selecionador de dispositivos de sada ir selecionar a partir das linhas de endereo (A0...A15) do processador qual das portas paralelas (LPT1 ou LPT2) ser escrita. Portanto, cada porta paralela ter um endereo fixo para ser acessada.
P R O C E S S A D O R

D0 D1 D2 D3 D4 D5 D6 D7 WR RD

D0 D1 D2 D3 D4 D5 D6 D7 WR RD

P O R T A

P A R A L E L A

D0 D1 D2 D3 D4 D5 D6 D7 STB BUSY

D0 D1 D2 D3 IMPRESSORA D4 D5 D6 D7 STB BUSY

A0 ... A15 CS LPT1

CIRCUITO DE SELEO

D0 D1 D2 D3 D4 D5 D6 D7 WR RD

P O R T A

P A R A L E L A

D0 D1 D2 D3 D4 D5 D6 D7 STB BUSY

D0 D1 D2 D3 IMPRESSORA D4 D5 D6 D7 STB BUSY

CS

LPT2

Figura I.53

___________________________________________________________________________________ I.66

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

I.7. ARQUITETURA INTERNA SIMPLIFICADA DE UM MICROPROCESSADOR GENRICO:

P. C. REGISTRADORES DE USO GERAL

S. P.

REG. ENDs.

BUS DE END.

BARRAMENTO INTERNO REG. DADOS BUS DE DADOS

OP. 1

U L A

OP.2

REG. STATUS ... CF PF ZF SF ...

. . .

I.R.

ULC

BUS DE CONTROLE

Figura I.54 - Arquitetura Interna Simplificada de um Microprocessador Genrico De maneira geral, todos os microprocessadores, dos mais simples aos mais complexos, possuem cinco componentes bsicos: 1. Unidade Lgica Aritmtica (ULA) 2. Registradores 3. Barramento(s) Interno(s) 4. Barramentos Externos 5. Unidade Lgica de Controle (ULC) I.7.1. Unidade Lgica Aritmtica (ULA): A ULA realiza todas as operaes aritmticas (soma, subtrao etc.) e lgicas (AND, OR, XOR etc.). A operao a ser efetuada determinada pela instruo que est sendo executada pela ULC. Os valores a serem efetuados, que podem estar em qualquer registrador de uso geral ou posio de memria externa, so transferidos para dois registradores (posies de memria interna) que na arquitetura simplificada denominamos de Op. 1 e Op. 2. O resultado da operao pode ser colocado em qualquer um dos registradores de uso geral ou em uma posio de memria externa. O resultado da operao afeta os bits do registrador de status (flags), que por sua vez podem alterar a ULC na execuo das prximas instrues.

___________________________________________________________________________________ I.67

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ I.7.2. Registradores: Os registradores so posies de memria internas ao microprocessador. Na arquitetura simplificada da figura I.54, cada retngulo representa uma posio de memria interna que pode ter 8, 16 ou mais bits, dependendo do microprocessador em questo. Existem dois tipos bsicos de registradores: - Registradores de Uso Especial - Registradores de Uso Geral. I.7.2.1. Registradores de Uso Especial: Este tipo de registrador cumpre funes especficas dentro do microprocessador. Na figura I.54 esto assinalados os Registradores de Uso Especial mais comumente encontrados em microprocessadores, tais como: PC (Program Counter), SP (Stack Pointer) etc. A seguir iremos analisar os registradores de Uso Especial presentes na arquitetura simplificada de nosso microprocessador genrico. I.7.2.1.1. Program Counter (PC) (Apontador de Programa): O PC um registrador que tem como funo guardar o endereo da memria onde esto armazenados os cdigos de mquina que sero lidos e executados pelo processador. Cada vez que o processador vai buscar um cdigo de mquina na memria, o contedo do registrador PC transferido atravs do Barramento Interno para o Registrador de Endereo que est diretamente ligado ao barramento de endereos. Normalmente, aps a execuo da instruo o PC incrementado para apontar a prxima instruo a ser lida e executada. I.7.2.1.2. Stack Pointer (SP) (Apontador de Pilha): O SP contm um endereo de memria que corresponde ao topo de uma "pilha". A pilha uma rea de memria usada para armazenar dados que sero retirados na seqncia inversa em que foram armazenados, como visto na figura I.55.
COLOCAO NA PILHA SP SP SP
DADO A DADO A DADO B DADO B DADO A DADO C

RETIRADA DA PILHA SP
DADO B DADO A DADO C DADO B DADO A DADO A

SP

SP

Figura I.55 ___________________________________________________________________________________ I.68

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

na pilha que so armazenados o endereo de retorno e o "contexto" do microprocessador quando o mesmo recebe um pedido de interrupo. Por "contexto" entende-se o contedo de todos os registradores que esto em uso quando do pedido de interrupo. No item I.7 iremos analisar detalhadamente o funcionamento da pilha. I.7.2.1.3. Registrador de Endereo: O Registrador de Endereo est ligado diretamente aos pinos do barramento de endereos. no Registrador de Endereo que o microprocessador coloca o endereo de uma posio de memria ou de um dispositivo de entrada ou sada (I/O), que ser lida ou escrita. I.7.2.1.4. Registrador de Dados: Este registrador est ligado diretamente aos pinos da Via de Dados. atravs dele que o microprocessador escreve ou l um byte da memria ou I/O. neste registrador que colocado o dado a ser transferido para memria ou I/O (ciclo de escrita). Quando o processador realiza um ciclo de leitura de memria ou I/O, o dado capturado pelo processador armazenado inicialmente no registrador de dados antes de ser transferido para o registrador de destino. I.7.2.1.5. Instruction Register (IR) (Registrador de Instruo): neste registrador que so colocados os cdigos de mquina a serem interpretados e executados pela ULC. I.7.2.1.6. Registrador de Status ou Flags: O registrador de status, tambm conhecido como flags, tem seus bits afetados pelas operaes aritmticas e lgicas. Cada um destes bits chamado de flag (que em portugus significa indicador ou bandeira) e tem um significado/funo diferente.

REGISTRADOR DE SATUS

...

CF

PF

ZF

SF

...

Figura I.56 Como exemplo de flags geralmente encontrados nos registradores de status de todos os microprocessadores, temos: Carry Flag (CF): O carry flag (indicador de vai-um), nas operaes de soma, um vai-um a partir do bit mais significativo do resultado e nas operaes de subtrao indica um "pedido de emprstimo" (borrow) a partir do bit mais significativo do resultado. ___________________________________________________________________________________ I.69

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ Geralmente as operaes de rotao podem transferir para este flag os bits de registradores ou de posies de memria. Parity Flag (PF): O parity flag (indicador de paridade) indica a paridade, ou seja, se o nmero de bits 1 do resultado par ou mpar. Zero Flag (ZF): O zero flag (indicador de zero) indica quando o resultado de uma operao da ULA zero. Sign Flag (SF): O sign flag (indicador de sinal) indica se o resultado de uma operao positivo (bit mais significativo igual a zero) ou negativo (bit mais significativo igual a um). I.7.2.2. Registradores de Uso Geral: Os Registradores de Uso Geral podem ser utilizados pelo programador para armazenar dados intermedirios de operaes. Em algumas instrues, tambm estes registradores podem cumprir funes especficas. I.7.3. Barramento Interno: O Barramento Interno por onde fluem os dados que so transferidos entre os registradores internos. I.7.4. Barramentos Externos: atravs destes barramentos, tambm conhecidos como buses (plural de bus) ou vias, que o microprocessador se relaciona com o resto do sistema.(memria e dispositivos de I/O). Existem trs diferentes tipos de barramentos: Barramento de Endereos, Barramento de Dados e Barramento de Controle. I.7.4.1. Barramento de Endereos: O barramento de endereos utilizado para selecionar a posio de memria ou de dispositivo de I/O que o processador deseja acessar (escrever ou ler). O tamanho (nmero de linhas) do barramento de endereos define a capacidade de endereamento do processador. Se o nmero de linhas do barramento de endereos for n, ento a capacidade de endereamento de 2n. O barramento de endereos unidirecional, pois o endereo sempre colocado pelo processador, ou seja, a direo do processador para a memria ou dispositivos de I/O. I.7.4.2. Barramento de Dados: O barramento de dados uma via bidirecional atravs da qual fluem as instrues e dados. Como esta via bidirecional, os dados tanto podem fluir do processador para a memria ou dispositivos de I/O (ciclo de escrita) como podem fluir da memria ou dispositivos de I/O para o processador (ciclo de leitura). A figura I.57 mostra o esquema dos ciclos de leitura (read) e escrita (write). O tamanho do ___________________________________________________________________________________ I.70

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ barramento de dados, do barramento interno e da ULA define a categoria do microprocessador, isto : processadores com barramentos de dados de 8 bits (1 byte) so considerados processadores de 8 bits (p.ex. 8085, Z80, 8031 etc.); processadores com barramento de dados de 16 bits so considerados processadores de 16 bits (p.ex. 8086, 68000 etc.). O processador 8088 considerado um processador de 16 bits pois apesar de ter um barramento de dados de 8 bits, possui barramento interno e ULA de 16 bits.

CICLO DE LEITURA (READ) PROCESSADOR BUS DE DADOS

MEMRIA OU DISPOSITIVO I/O

CICLO DE ESCRITA (WRITE) PROCESSADOR BUS DE DADOS

MEMRIA OU DISPOSITIVO I/O

Figura I.57 I.7.4.3. Barramento de Controle: O barramento de controle contm os sinais que controlam o fluxo de dados entre o processador e a memria ou dispositivos de I/O. Estes sinais definem quando, em que direo (leitura ou escrita) e para onde vo ou de onde vm os dados ou instrues. Os sinais de controle mais comummente encontrados em barramentos de controle de microprocessadores em geral so: Read ( RD ) (Leitura) - Quando o processador coloca esta linha de sada em nvel baixo, significa que ele quer receber pelo barramento de dados o dado que est na memria ou em um dispositivo de I/O, endereado pelo barramento de endereos. Write ( WR ) (Escrita) - De forma similar quando o processador coloca esta linha de sada em nvel baixo, significa que o barramento de dados tem um dado a ser colocado em uma posio de memria ou em um dispositivo de I/O, endereado pelo barramento de endereos. Memria / Dispositivo de I/O ( M / IO ) - Este sinal de sada determina se o que est presente no barramento de endereos um endereo de memria ou de dispositivo de I/O. Geralmente quando est em nvel alto indica acesso de dispositivo de I/O e quando em nvel baixo indica acesso de memria. Podemos, portanto, resumir em um quadro (figura I.58) as cinco situaes na relao entre o processador, a memria e os dispositivos de I/O. ___________________________________________________________________________________ I.71

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

WR
0 1 0 1 1

RD 1
0 1 0 1

M / IO 1
1 0 0 X

SITUAO Escrita em dispositivo de I/O Leitura de dispositivo de I/O Escrita em memria Leitura de memria No h acesso externo

Figura I.58 As situaes que contm WR = 0 e RD = 0 no esto includas na tabela pois no so permitidas pelo hardware do microprocessador, j que resultariam em um conflito no barramento de dados. A letra "X" na tabela indica um "don't care" (tanto faz), ou seja, o "X" tanto pode ser "0" como pode ser "1". A figura I.59 mostra o esquema de um sistema composto por um processador com 20 linhas de endereos e 8 linhas de dados, memrias, porta paralela e controlador de teclado. Como as memrias utilizadas so de 32 K posies, as linhas de A0 a A14 so ligadas diretamente s memrias. As linhas de A15 A19 em conjunto com a linha de M / IO , so entradas do circuito de seleo de memria, que ir habilitar um dos sinais de CS de uma das duas memrias. Existem ainda um outro circuito de seleo reservado s para dispositivos de entrada e sada (I/O), que tem como entradas as linhas A0, A1 e A2 do barramento de endereos e o sinal de M / IO e como sadas os sinais que selecionaro um dos dois dispositivos de I/O (controlador de teclado e porta paralela). O sinal de M / IO sendo entrada dos dois circuitos selecionadores age como habilitador destes circuitos. Portanto se M / IO = 1 ento apenas o circuito selecionador de dispositivos de I/O estar habilitado e um dos dispositivos de I/O ser selecionado , de acordo com o contedo do barramento de endereo. De outra feita se M / IO = 0 apenas o circuito de seleo de memria estar habilitado e o chip de memria bem como a posio (gaveta) dentro deste chip a ser acessada ser definida pela contedo do barramento de endereos. Como veremos mais adiante existem instrues que acessam memria e instrues que acessam dispositivos de entrada e sada. As primeiras geram ciclo de escrita ( WR = 0) ou ciclo de leitura ( RD = 0) com o sinal de M / IO em nvel baixo, as seguintes geram estes mesmos ciclos com o sinal de

M / IO em nvel alto. O motivo pelo qual necessrio diferenciar um acesso de memria de um acesso
de I/O explicado no exemplo a seguir: Se o endereo que ir selecionar a controladora de teclado for 303h, quando a instruo que far uma leitura nesta controladora colocar no barramento de endereos a seqncia de zeros e uns que forma o valor 303h (1100000011) este mesmo endereo estar presente tambm nos pinos das memrias. Quando ento o processador der o pulso para zero no pino de RD , se no houvesse o sinal de

M / IO para habilitar apenas o circuito de seleo de I/O, sem habilitar o de memria, tanto o contedo

___________________________________________________________________________________ I.72

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________ do controlador de teclado (cdigo da tecla pressionada) quanto o contedo da posio 303h da memria seriam colados no barramento, gerando um conflito.

. . .

A0 . . . A14 D0

6 2 2 5 6

. . .

D1 D7 RD WR CS

A19

. . .
A15

CIRCUITO DE SELEO

A0 . . . A14 D0 D1 D7 RD WR CS

6 2 2 5 6

M/ IO

DE MEMRIA

. A0 . . . . .
A14 A15 . . . . . . A19

P R O C E S S A D O R

D0 D1 D2 D3 D4 D5 D6 D7 WR RD

D0 D1 D2 D3 D4 D5 D6 D7 WR RD

P O R T A

P A R A L E L A

D0 D1 D2 D3 D4 D5 D6 D7 STB BUSY

D0 D1 D2 D3 D4 D5 D6 D7 STB BUSY

I M P R E S S O R A

M / IO

CS +5V

A0

. . .
A14

CIRCUITO DE SELEO DE M/IO I/O D0 D1 D2 D3 D4 D5 D6 D7 WR RD CS

C O N T R O L A D O R

D E T E C L A D O TECLADO

Figura I.59 ___________________________________________________________________________________ I.73

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________ Interrupt Request (INTR) (Pedido de Interrupo) - um sinal de entrada que colocado em nvel alto por algum dispositivo de I/O no sentido de solicitar que o processador interrompa o que est fazendo para atend-lo. Quando o processador est predisposto a aceitar est interrupo, ele termina a execuo da instruo em curso, salva na pilha os dados que ele estava manipulando e o endereo da prxima instruo e desvia para um endereo geralmente preestabelecido. Neste endereo dever ter sido carregada a rotina de tratamento do dispositivo que solicitou a interrupo. Interrupt Acknowledge ( INTA ) (Reconhecimento de Interrupo) - Este sinal de sada colocado em nvel baixo pelo processador para informar ao dispositivo de I/O que o processador aceitou o pedido de interrupo. Em alguns processadores, como por exemplo os da famlia 86, este sinal funciona como um sinal de leitura da identificao do dispositivo que solicitou a interrupo. Ao receber o pulso de

INTA o dispositivo de I/O coloca no barramento de dados um vetor que aponta a rotina de tratamento.
As aes ocorrem como no diagrama de tempo mostrado na figura I.60.
PEDIDO DE INTERRUPO FEITO POR UM DISPOSITIVO DE I/O

INTR

ACEITAO DA INTERRUPO FEITA PELO PROCESSADOR

INTA

BUS DE DADOS

ENDEREO DA ROTINA DE TRATAMENTO DE INTERRUPO COLOCADA PELO DISP. DE I/O

Figura I.60
Um exemplo de dispositivo de I/O que utiliza interrupo o controlador de teclado, como visto na figura I.61. Ao detectar uma tecla pressionada o controlador ativa a linha de solicitao de interrupo que far com que o processador termine a execuo da instruo em curso, guarde na pilha o endereo da prxima instruo que seria executada caso no fosse requisitada uma interrupo e responda com o sinal de INTA . O controlador de teclado colocar no barramento de dados um valor que indica o tipo da interrupo, que por sua vez indica em que endereo o processador ir encontrar a rotina de tratamento de interrupo de teclado. Neste caso esta rotina ir ler o controlador de teclado para obter deste o cdigo do caracter que foi digitado. Ao final desta rotina o processador ir retornar para o ponto onde ele estava no momento em que foi interrompido. Este retorno s possvel porque antes de atender a interrupo o processador salvou na pilha o endereo da instruo seguinte. ___________________________________________________________________________________ I.74

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

+5V

D0 P R O C E S S A D O R D1 D2

D0 D1

. . .

D2 CONTROLADOR DE D7 TECLADO RD WR INTR INTA TECLADO

D7

RD WR INTR INTA

Figura I.61
No item II.8, iremos analisar como se processam as interrupes nos processadores da famlia 86.

I.7.5. Unidade Lgica de Controle (ULC):


A ULC decodifica (interpreta) o cdigo de mquina colocado no Registrador de Instruo (IR) e comanda todas as aes dentro do microprocessador no sentido de executar a instruo que este cdigo representa. Um sinal de clock, advindo geralmente de um oscilador a cristal, sincroniza as aes da ULC

___________________________________________________________________________________ I.75

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________

I.8. CODIFICAO E EXECUO DE PROGRAMAS:


Como mencionado anteriormente os programas nada mais so do que sequncias de cdigos binrios (usualmente chamados de cdigos de mquina) colocados na memria e buscados pelo processador para serem executados. Veremos agora como se do a elaborao, codificao e execuo de programas. Para exemplificar, podemos querer que o nosso microprocessador genrico execute uma funo simples, tal como somar dois nmeros (p. ex. 3 e 5). O programador pode escolher qualquer um dos vrios compiladores existentes (Basic, Fortran, Pascal, C etc.) ou utilizar um assembler (montador). O assembler um programa que traduz as instrues escritas de forma mnemnica para os respectivos cdigos de mquina. Como o prprio nome j diz, uma forma mnemnica de representarmos uma instruo atravs de siglas que lembrem o significado da ao que esta instruo realiza. Chamase de linguagem ASSEMBLY a srie de mnemnicos relativos a um determinado microprocessador. Portanto, um programa escrito de forma mnemnica um programa escrito em linguagem ASSEMBLY. Como exemplo de mnemnicos veremos as instrues de transferncia de dados e soma (necessrias para escrevermos o programa da soma de dois nmeros). Os cdigos utilizados como exemplo sero os cdigos do microprocessador 8088 da Intel. A instruo de transferncia geralmente possui o mnemnico MOV (do verbo ingls move, que significa mover). A instruo MOV requer dois operandos, o operando-destino e o operando-fonte. O operando-fonte indica onde est o byte (ou word) a ser transferido. O operando-destino indica para onde est indo este byte (ou word). A instruo de soma geralmente possui o mnemnico ADD (do verbo ingls add, que significa somar). A instruo ADD tambm requer dois operandos que indicam onde esto os dois dados (bytes, words etc.) a serem somados. Normalmente, ao final da operao de soma o resultado colocado na posio indicada pelo primeiro operando da instruo. Em linguagem assembly o nosso programa como visto abaixo: MOV AL,3 ADD AL,5 Este programa dever ser editado em um editor de textos que gerar um arquivo-texto (figura I.62) onde cada caracter ocupa um byte, segundo a tabela ASCII. O Anexo D trs a tabela ASCII completa..

___________________________________________________________________________________ I.76

Mdulo I - Conceitos Gerais de Sistemas Computacionais ___________________________________________________________________________________

4D 4F 56 20 41 4C 2C 33 0D 0A 41

M O V A L , 3 CR (Retorno do Carro) LF (Mudana de Linha) A

44 44 20 41 4C 2C 35 0D 0A

D D A L , 5 CR (Retorno do Carro) LF (Mudana de Linha)

Figura I.62
Para criar (montar) um arquivo contendo os bytes de cdigo de mquina necessrio passar este arquivo texto por um programa montador (assembler), como visto na figura I.63. O arquivo-texto conhecido como programa-fonte e o arquivo contendo os bytes de cdigo de mquina conhecido como programa-objeto.
PROGRAMA FONTE (ARQUIVO TEXTO) PROGRAMA OBJETO (ARQUIVO COM CDIGOS DE MQUINA )

MONTADOR (ASSEMBLER)

Figura I.63
A tabela que relaciona cada instruo com o(s) byte(s) de cdigo correspondente fornecida pelo fabricante do microprocessador. As instrues utilizadas no programa da soma de dois nmeros com os respectivos cdigos de mquina para o microprocessador 8088 so dadas na tabela mostrada na figura I.64. INSTRUO (Linguagem Assembly) MOV AL,<valor de 8 bits> ADD AL,<valor de 8 bits> CDIGO DE MQUINA B0 <valor de 8 bits> 04 <valor de 8 bits>

Figura I.64
Portanto, quando o programa-fonte passar pelo montador ser gerado um programa-objeto que ser um arquivo contendo os seguintes bytes mostrados na figura I.65:

___________________________________________________________________________________ I.77

Arquitetura de Microcomputadores Victor Paulo Peanha Esteves ___________________________________________________________________________________


Programa-fonte: 4D 4F 56 20 41 4C 2C 33 0D 0A 41 44 44 20 41 4C 2C 35 0D 0A A L , 5 CR (Retorno do Carro) LF (Mudana de Linha) A L , 3 CR (Retorno do Carro) LF (Mudana de Linha) A D D M O V Programa-objeto: MOV AL, B0 03 ADD AL, 5 04 05

PROGRAMA MONTADOR

Figura I.65

___________________________________________________________________________________ I.78

Potrebbero piacerti anche