You are on page 1of 107

Cpia no autorizada. Reservados todos os direitos autorais.

Microprocessadores
s o d a v r e s e R . a d a iz r o t au s o d o t

os

s o it e r di

s. i a r to u a

a i p C

o n

133
Mdireitos ICROPROCESSADORES Cpia no autorizada. Reservados todos os autorais.
3E

Cpia no autorizada. Reservados todos os direitos autorais.

s o d a v r e s e R . Rua dos Timbiras, 257/263 So Paulo SP 01208-010 a Editora d Tel.: (11) 33-35-1000 / Fax: (11) 33-35-1020 Aline Palhares a atendimento@institutomonitor.com.br z i Desenvolvimento de contedo www.institutomonitor.com.br r Marco Aurlio Fernandes Soares o t Impresso no Parque Grfico do Instituto Monitor u Mediao pedaggica Rua Rio Bonito, 1746 So Paulo SP 03023-000 a Equipe Tcnico Pedaggica Tel./Fax: (11) 33-15-8355 do Instituto Monitor grafica@monitorcorporate.com.br o n Design grfico Em caso de dvidas referentes ao contedo, consulte o Equipe Tcnico Pedaggica e-mail: eletrnica@institutomonitor.com.br a i do Instituto Monitor p Editorial Ltda. Monitor Todos os direitos reservados C Lei n 9.610 de 19/02/98
Proibida a reproduo total ou parcial, por qualquer meio, principalmente por sistemas grficos, reprogrficos, fotogrficos, etc., bem como a memorizao e/ou recuperao total ou parcial, ou incluso deste trabalho em qualquer sistema ou arquivo de processamento de dados, sem prvia autorizao escrita da editora. Os infratores esto sujeitos s penalidades da lei, respondendo solidariamente as empresas responsveis pela produo de cpias.

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais. 3 Edio - Fevereiro/2005

Cpia no autorizada. Reservados todos os direitos autorais.

s. i a r to u a Apresentao............................................................................................................. 8 s to i Lio 1 - Breve Introduo aos Microprocessadores re Introduo................................................................................................................. 9 i d 1. Histrico........................................................................................................... 9 s .............................................................................................. 11 Exerccios Propostos. o s Lio 2 - Memrias Eletrnicas o d Introduo............................................................................................................... 13 o t 1. Estrutura das Memrias. ............................................................................... 13 s Exerccios Propostos. .............................................................................................. 17 o d a Parte I Lio 3 - Memrias Eletrnicas Reais v r Introduo............................................................................................................... 19 e s 1. Memrias ROM.............................................................................................. 19 e 2. Memrias PROM. ........................................................................................... 19 R . 21 3. Memrias EPROM......................................................................................... a 4. Memrias EEPROM. . ..................................................................................... 22 d a 5. Resumo........................................................................................................... 22 z i Exerccios Propostos. r .............................................................................................. 23 o t u Lio 4 - Memrias Eletrnicas Reais Parte II a Introduo............................................................................................................... 25 o 1. Memrias SRAM. ........................................................................................... 25 2. n Memrias DRAM........................................................................................... 27 3. Resumo........................................................................................................... 29 ia p .............................................................................................. 30 Exerccios Propostos. C
Lio 5 - Preparao para Microprocessadores Introduo............................................................................................................... 31 1. Termos Tcnicos e suas Explicaes. ........................................................... 31 2. Controlador Programvel............................................................................. 32 Exerccios Propostos. .............................................................................................. 36

ndice

Cpia no autorizada. Reservados todos os direitos autorais.


133/

Cpia Lio no6autorizada. Reservados todos os direitos autorais. - Microprocessadores


Introduo .............................................................................................................. 39 1. Crebro Humano e Crebro Eletrnico ...................................................... 39 2. Microprocessadores Internamente .............................................................. 40 Lio 7 - Microprocessador Z80 Introduo .............................................................................................................. 43 1. Z80 Internamente ......................................................................................... 43

s. i a r Lio 8 - Microprocessador Intel 80X86 Introduo .............................................................................................................. to 49 u 1. O Intel 80X86 e a Histria da Computao Pessoal .................................... 49 a 2. Do 80286 para Frente ................................................................................... 50 s o 2.1 A CPU Intel 80286 ................................................................................... 50 t i 2.2 A CPU Intel 80386 ................................................................................... 51 e r 2.3 A CPU Intel 80486 ................................................................................... 52 di Exerccios Propostos ............................................................................................. 57 s o Lio 9 - Software s o Introduo .............................................................................................................. 59 d 1. Histria do Software do IBM-PC................................................................. 59 o t 2. O Que Software .......................................................................................... 60 s 3. Software em Linguagem de Mquina o .......................................................... 61 d 4. Fluxograma ................................................................................................... 67 a v Exerccios Propostos ............................................................................................. 68 r e s Lio 10 - Noes de Programao e Assembly Introduo .............................................................................................................. 69 R . 1. Fluxograma ................................................................................................... 69 a Roda ........................................................................ 70 d 2. Como Um Programa 3. Ligando o Microcomputador ........................................................................ 70 za i r o da Microsoft Software Assembler 80X86 t Lio 11 - Debug u Introduo a .............................................................................................................. 73 1. Restries do Debug ..................................................................................... 76 o Exerccios n Propostos ............................................................................................. 83 a 12 - Dispositivos de I/O (Entrada e Sada) i Lio p .............................................................................................................. 85 Introduo C 1. Canais de I/O ................................................................................................ 85
2. Porta de Comunicao Paralela do IBM-PC Compatvel ........................... 3. Perifricos Simples ...................................................................................... 4. Testes ............................................................................................................. Exerccios Propostos ............................................................................................. 90 92 93 97

Cpia no autorizada. Reservados todos os direitos autorais.


133/6

Cpia Lio no13 autorizada. - Programas paraReservados Perifrico Didticotodos os direitos autorais.
Introduo .............................................................................................................. 99 1. Sub-rotinas ................................................................................................... 99 2. PUSH e POP Salvando Contedos na Pilha (Stack) .................................. 102 3. Sada de Dados em Canal de I/O................................................................. 103 4. Entrada de Dados em Canal de I/O ............................................................ 104 Exerccios Propostos ............................................................................................ 108 Lio 14 - Noes para Montagem de um Microcomputador IBM-PC Compatvel Introduo ............................................................................................................. 109 1. Escolha seu Microprocessador ................................................................... 109 2. Chipset e Mother-Board.............................................................................. 110 3. Cooler ........................................................................................................... 111 4. Memrias RAM Pente ............................................................................... 112 5. Gabinetes ..................................................................................................... 112 6. Perifricos Comuns ..................................................................................... 113 Respostas dos Exerccios Propostos .................................................................... 118

a i p C

o n

s o d a v r e s e R . a d a iz r o t au

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/7

Cpia no autorizada. Reservados todos os direitos autorais.

Apresentao

s. i a r to u a Os microprocessadores constituem o corao dos microcomputadores, s estas fabulosas mquinas da era contempornea. Entend-los, portanto, to i requisito primordial na formao do Tcnico em Eletrnica. re i d acompanhar a Neste fascculo voc ir analisar as diferenas e s evoluo dos microprocessadores, desde o princpio sua utilizao o de em microcomputadores at os dias de hoje. E ainda, ir compreender s a estrutura interna dos microprocessadores eo o funcionamento bsico d de computadores. o t s Bom estudo! o d a v r e es R . a d za i r o t u a o n ia p C

Cpia no autorizada. Reservados todos os direitos autorais.


133/

Cpia no autorizada. Reservados todos os direitos autorais.

lio

s. i a r Introduo Criado na Segunda Guerra Mundial para to u calcular trajetrias balsticas, o conceito de ara quitetura do ENIAC at hoje aplicado nos Tudo comeou quando o homem comeou a s modernos microprocessadores. John Von contar as coisas. Quanto mais coisas eram acuto i Neumann foi o criador deste conceito. muladas, mais difcil era o controle das quantire dades. i d Os semicondutores avanaram e surgiu a s idia de fabricar circuitos inteiros integrados Quando comeou o comrcio, ou seja, a trooencapsulamento. Surgiram os CIs em um nico s ca de bens e mercadorias, o controle do dinhei(Circuitos o Integrados) que, como no poderia ro tornou-se um problema a ser resolvido. d deixar de ser, era uma calculadora. Avanando no tempo, surgiram as calculadoto ras, para facilitar a vida do homem, cometens Financiada pelos japoneses, uma jovem o do-se menos erros. empresa formada por engenheiros vindos da d a Fairchild foi contratada para produzir em v grande escala CIs para calculadoras. Seu nome 1. Histrico r e era INTEL, de INTegrated ELectronics. s e As calculadoras at ento eram mecniRe subA Intel comeou produzindo memrias, cas e limitadas a clculos como adio . a que eram a base para os modernos processatrao. Por coincidncia ou no,d estas so as dores. Alm do mais, memrias podem ser utia duas nicas operaes matemticas que os z lizadas sem que seja em um microcomputador. i Veremos isso microprocessadores sabem fazer. r Ela foi a primeira a produzir e patentear os um pouco mais adiante. to microprocessadores. au Surgiram os semicondutores. Surgiram os o Com o avano e a produo em larga esca transistores. Surgiu a idia de construir uma la, o preo dos microprocessadores caam e um n calculadora eletrnica. executivo da Intel, Gordon Moore, lanou a a i chamada Lei de Moore: A cada ano e meio a p tentativa de construir uma capacidade de um microprocessador dobra e A primeira C seu preo cai. calculadora foi o que hoje chamado de computador ENIAC, feito de vlvulas eletrniMuitos microprocessadores eram utilizados cas e do tamanho de um prdio de 4 andares. em microcomputadores no final da dcada de 70 Consumia uma energia enorme e s era ligae incio da dcada de 80, mas no havia um pado noite por causa deste consumo elevado. dro. Muitos eram os microcomputadores chaOs bairros ao redor do prdio tinham promados de PC, que significa Personal Computer blemas com a tenso eltrica baixa em virou computador pessoal. Este conceito de comtude do ENIAC. Cpia no autorizada. Reservados todos os direitos autorais.

Breve Introduo aos Microprocessadores

133/9

Instituto Monitor

Cpia no autorizada. todos os direitos Ento, o que da IBM? O autorais. que torna o putador pessoal o mesma da escova Reservados de denIBM-PC impossvel de copiar (hoje dizemos tes: cada pessoa deve ter o seu PC. clonar) um IBM-PC? O que d direito autoral IBM sobre o seu IBM-PC? A resposta o No comeo da dcada de 80, um padro software, o programa de computador que faz em termos de microprocessadores estava se a mquina funcionar. Digamos que seja a fundamentando. Era o ZILOG Z80. alma do computador. Qualquer um poderia copiar o corpo do IBM-PC, mas no podeA Zilog uma empresa formada por enria copiar a alma, pois estava protegida por genheiros dissidentes da Intel que trabalhadireitos autorais. vam em um projeto de microprocessador que esta achou invivel produzir. Esse grupo de Mais tarde a Compaq conseguiu queengenheiros saiu da Intel e fundou a Zilog, brar o cdigo fonte e produzir seu prproduzindo o Z80 microprocessador de 8 prio programa para controlar o corpo do bits em encapsulamento de 40 pinos, que no IBM-PC sem que fosse necessrio pagar dependia de outros circuitos integrados no direitos autorais. Alis, o nome do prograque dizia respeito ao controle de seu procema da IBM para controlar o computador ssamento. BIOS, uma sigla que significa Basic Input Output System (Sistema Bsico de EntraA IBM (International Business Machine) da e Sada [de Dados]). BIOS tambm lemviu um mercado crescente de PCs e, sendo bra BIO, que VIDA. Sem a BIOS o ela uma tradio em computao eletrnica, microcomputador no funciona, no tem encarou o desafio de lanar seu prprio PC, vida. Dentro da BIOS, que nada mais que se chamaria IBM-PC. do que um CHIP de memria eletrnica, encontramos softwares, ou seja, a alma do No havia tempo para produzir um IBM-PC. So estes softwares (programas) microprocessador IBM. Com o prazo se esque fazem a mquina saber quantos drives gotando, um engenheiro props aos executide disco tem, qual o teclado utilizado, etc. vos da IBM um microcomputador com arquitetura aberta, do Ingls open architecture. Deixando de lado as conjecturas e o roTratava-se de montar um microcomputador mantismo histrico, vamos estudar os microcom partes j encontradas no comrcio. processadores em sua forma bsica. Este estudo levar voc a conhecer e at a desenvolOs demais componentes, como monitor, ver pequenos sistemas microprocessados. teclado, microprocessador e memrias foram Basearemos nossos estudos em microproceescolhidos entre os fabricantes existentes ssadores de 8 bits, como o Z80 ou 8085, ouque, contratados pela IBM, produziriam contros de 16 e 32 bits da famlia Intel 80X86. forme especificao para a IBM.

a i p C

o n

s o d a v r e s e R . a d a iz r o t au

s o d o t

Cpia no autorizada. Reservados todos os direitos autorais.


133/10

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.

Exerccios Propostos
1 - A Lei de Moore diz que: ( ) a) a capacidade dos microprocessadores dobra a cada ano e meio. ( ) b) o preo dos microprocessadores dobra a cada ano e meio. ( ) c) se voc tiver 50% de chance de errar certeza que voc erra. ( ) d) a capacidade dos microcomputadores dobra a cada ano e meio. ( ) e) a capacidade das memrias dobra a cada ano e meio. 2 ( ( ( ( ( - INTEL significa: ) a) Inteligncia; ) b) Internet; ) c) International Business Machine; ) d) Integrated Electronics; ) e) International Telephonic.

s o d a 3 - Em microcomputadores, corpo e alma significam: v r ( ) a) hardware e software; e s ( ) b) carcaa e vida; e ( ) c) BIOS da IBM; R . ( ) d) Microsoft; a ( ) e) clone. d a izou arquitetura aberta, no IBM-PC, significava: 4 - Open Architecture r o ( ) a) tudo era fabricado pela IBM. t ( ) b) tudo erau fabricado por outras empresas. a ( ) c) nada era fabricado pela IBM, com exceo da BIOS. o ( ) d) tudo era fabricado pela IBM, com exceo da BIOS. n ( ) e) Nenhuma das alternativas anteriores. a i 5 -p Para os micros compatveis com o IBM-PC o que significa BIOS? ( ) a) Sistema Operacional. C
( ( ( ( ) b) Vida. ) c) Sistema Bsico de Entrada e Sada de Dados. ) d) Basic Input Operational System. ) e) Nenhuma das alternativas anteriores.

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/11

Cpia no autorizada. Reservados todos os direitos autorais.

lio

Memrias Eletrnicas

Introduo
Assim como a Intel comeou fabricando memrias eletrnicas, para s depois produzir microprocessadores que utilizariam suas memrias, nosso estudo seguir esta linha cronolgica. Memrias eletrnicas basicamente armazenam informaes eletrnicas. Armazenam bits (binary digits) que, eletricamente falando, armazenam nveis de tenso +5 V representando N.L. = 1 e GND representando N.L. = 0. Eletronicamente falando, memrias eletrnicas so circuitos lgicos formados inicialmente por flip-flops tipo DATA (veremos mais tarde outras tcnicas de memrias).

s o d a v r e s e R . 1. Estrutura das Memrias a d a Organizadas no formato de uma matriz (liz i nha coluna), cada linha darmemria numeo rada a partir do zero e chamadas de endereos t u de memria, ou simplesmente endereos (em a Ingls, address). o Geralmenten as memrias tm muitas lia muitos endereos onde podenhas, portanto, i mos colocar p informaes digitais (1 ou 0). C

s. i Veja o exemplo a seguir. a r to u a s to i re i d s o s o d to


Memria No Multiplexada 16 pinos, 16 linhas, 16 sadas de 1 bit Figura 1 10H 0FH 0EH 0DH 0CH 0BH 0AH 09H 08H 07H 06H 05H 04H 03H 02H 01H 00H

DEMULTIPLEX

A3 A2 A1 A0

Lembra-se dos demultiplexadores? Pois ! Internamente, as memrias eletrnicas possuem um DEMUX, pois suas linhas de endereo esto multiplexadas, o que permite uma reduo na pinagem externa do CI.

CONTROLE

DEMULTIPLEX

RTW DCS Memria Multiplexada Figura 2


133/13

pinos, 16 linhas, sadas de 8 bits (1 byte) Cpia no autorizada. Reservados4todos os 16 direitos autorais.

Instituto Monitor

Cpia no autorizada. Reservados todos os autorais. mado de read ou direitos leitura da memria. Este A figura 1 mostra um comparativo. es

querda temos uma memria com 16 linhas, ou seja, 16 endereos, comeando pelo zero. Por no estar multiplexada internamente, ela precisa de 16 pinos externos no CI, um pino para ativar cada um dos endereos. Em cada endereo da memria da esquerda s temos 1 bit, ou seja, somente uma informao digital, que pode ser 0 ou 1. Para cada sada teramos um pino externo ao CI, ento mais 16 pinos. Se contarmos com os pinos de alimentao (+Vcc e GND), j so 34 pinos. muito pino!

bloco controla ainda a ativao de toda a memria por meio da sada em tri-state. Basicamente, todas as memrias modernas funcionam usando este princpio, mudando um pouco de tecnologia e mtodos de multiplexao.

s. i a eletrr Para fixar o conceito de memria nica, vamos fazer uma analogia to destas meu mrias com arquivos de ao, a muito utilizados em escritrios. s o it arquivo de ao seja Suponha que e cada uma pastilha deir memria (ou CI). Suponha Olhe agora o exemplo da figura 2. A med deste que cada gaveta arquivo de ao esteja mria da direita tem a mesma quantidade de numerada o as partir do zero. Suponha que denlinhas (endereos) que a memria da esquertro de cada da; porm, por estar multiplexada internas gaveta s caiba uma informao o digital, ou seja, 1 bit. mente, s precisa de 4 pinos externos no CI d para ativar cada uma das linhas. Estes pinos o t so nomeados com a letra A devido ao nome s address e seguido da numerao correspono dente ao expoente da base 2. Lembra-se dos ad contadores com flip-flops? E suas sadas Q0, v r Q1, etc.? Ou ento dos MUX e DEMUX? e es Quando todas as linhas de endereo R A0, . A1, A2 e A3 estiverem em nvel lgico 0, isto a d forma o binrio 0000 , que corresponde ao a hexa zero, indicando estar ativado o endereiz destas mer o zero da memria. A utilizao o semelhante t mrias multiplexadas muito dos MUX e DEMUX. Note au que as sadas tambm so multiplexadas. o Cada endereo ago ra carrega 8 informaes digitais, 8 bits, ou n seja, 1 byte. Desta forma, teremos, nas 8 saa das, as 8 informaes correspondentes ao pi endereo ativado. C
2

Note tambm um bloco de controle da memria. Atravs dos pinos presos a ele controlam-se as informaes, se sero gravadas (ou escritas) na memria. Chamamos este processo de write ou escrita na memria. Controla-se tambm se as informaes sairo (ou sero lidas) da memria, processo este cha-

Cpia no autorizada. Reservados todos os direitos autorais.


Algum pede para voc ver o contedo da gaveta 4. Para isso, voc executa um processo de leitura da memria. Vai at o arquivo, abre a gaveta certa e olha o que tem l. Fecha a gaveta e pronto. O que estava l dentro voc viu e por l ficou. Voc no alterou nada. Voc somente viu o que tinha l.

133/14

Instituto Monitor

Cpia no autorizada. Reservados todos chamada os direitos O que voc precisou para consultar a memria arqui- autorais.
vo de ao? 1) Onde estava a gaveta? 2) Qual o nmero da gaveta? 3) O que fazer depois da gaveta aberta?

Esta mesma ordem deve ser seguida ao utilizar um CI de memria: 1) Ativar a pastilha de memria que se deseja trabalhar.

a i p C

s o it e ir write) na3) O que fazer nesse endereo. Ler ou escrever (read ou d quele endereo de memria. os costume representar memrias eletrnicas como uma lista osfigura ou empilhamento de locaes de memria.d Na a seguir indio camos o endereo da memria em hexadecimal e, dentro de cada t locao, o seu contedo. s o d a XXXXH v r e s e R . a d a iz r o XXXXH t XXXXH u XXXXH a o n
2) Enderear a memria. Dizer qual o endereo da memria que se deseja trabalhar.
Final da Memria

s. i a r to u a

Memria completa

Incio da Memria

Trecho da Memria

Figura 3

Cpia no autorizada. Reservados todos os direitos autorais.


133/15

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos Na figura, XXXXH representa o nmero do endereo da me- autorais.
mria expresso em hexadecimal. Dentro de cada locao (endereo) de memria podemos ter 1 bit, 4 bits, etc., expressos em binrio ou em hexadecimal. Resumindo:

a i p C

s. i Internamente, so como matrizes linha coluna. a r Cada linha da matriz chamada de endereo de memria. to u Em cada endereo de memria podemos armazenar 1 bit, 4 bits a s ou 8 bits, dependendo de como a memria foi fabricada. to(read) i Em cada endereo de memria a informao pode ser lida re e o contedo daquele endereo no se altera. i d Em cada endereo de memria a informao pode ser escrita s (write) e o contedo daquele endereo perdido, o ficando nele o novo contedo colocado. s o d Para trabalhar com estes chips de memria devemos indicar o to CI, o endereo e o que se deseja fazer. s para formar uma memria Vrias memrias podem ser ligadas o d maior; isto s possvel devido ao controle de ativao de toda a a v pastilha no sistema. r e At hoje memrias so dispostas em matrizes linha coluna, s s mudando a tecnologiae do material utilizado e mtodos de multiR plexao dos endereos. . a os contedos de um endereo de memria. Chamamos de dados d za Os dados so nmeros binrios de 1 bit, 4 bits, 8 bits, etc. i r o t au o Anotaes e Dicas n
Memrias eletrnicas armazenam informao digital.

Cpia no autorizada. Reservados todos os direitos autorais.


133/16

Cpia no autorizada. Reservados todos os direitos autorais.

Exerccios Propostos
1 ( ( ( ( ( 2 ( ( ( ( ( - Inicialmente a matriz de uma memria era feita de: ) a) MUX; ) b) DEMUX; ) c) flip-flops; ) d) chips; ) e) clulas.

s o d a 3 - Qual a seqncia exata para escrever v na memria? r ................................................................................................................................... e s ................................................................................................................................... e R ................................................................................................................................... . a ................................................................................................................................... d a ................................................................................................................................... iz r ................................................................................................................................... o t 4 - Uma memria au com 64 endereos equivalente a um arquivo de ao de: ( ) a) 64 gavetas; o ( ) b) 7 gavetas; n ( ) c) 63 gavetas; a i 32 gavetas; ( p ) d) ( ) e) 2 gavetas. C
64

- Por que as linhas de endereo das memrias foram multiplexadas? ) a) Para economizar flip-flops. ) b) Porque se desejava uma memria menor. ) c) Para reduzir o nmero de pinos externos do CI. ) d) Para aumentar o nmero de pinos externos do CI. ) e) Para fazer flip-flops.

s o d o t

os

s o it e r di

s. i a r to u a

5 - Uma memria multiplexada com 10 linhas de endereo, A0 at A9: ( ) a) pode enderear 1.024 locaes de memria. ( ) b) tem 10 endereos. ( ) c) tem 10 linhas de dados. ( ) d) pode enderear 10 locaes de memria. ( ) e) armazena 10 bits.

Cpia no autorizada. Reservados todos os direitos autorais.


133/17

Cpia no autorizada. Reservados todos os direitos autorais.

lio

s. i a r Introduo ginalmente no tinham dispositivos to eletrniu cos. Exemplos: a As memrias eletrnicas aplicveis em s brinquedos que, ao apertar um boto, microcomputadores ou sistemas eletrnicos estoe rudos; i falam ou emitem sons to divididas em duas categorias: re liquidificadoresicom painis digitais, que d se o copo est bem memrias fixas, no-volteis ou somente mostram a hora, s para leitura (ROM) e encaixado, o etc.; s memrias de rascunho, de trabalho ou mquinas o de lavar roupas com controle volteis (RAM). d eletrnico; o t Vamos estud-las. srdios-relgios, mquinas fotogrficas, etc. o d Eram aparelhos originalmente mecnicos e 1. Memrias ROM a v que agora trazem a eletrnica embarcada para r facilitar o controle ou enfeitar. e A memria do tipo ROM, do Ingls Read s Only Memory (Memria Somente para Leitue R Videocassetes, DVDs, videogames, cartura) aquela em que no podemos escrever ou . chos de videogames, auto-rdios, CD players, alterar seu contedo. a d etc., tambm se utilizam deste tipo de memria. a z nessa memComo que vamos poderiler r Vantagens: devido grande quantidade proria se no podemos escrever nela? Ela j o em t duzida, o preo por unidade bem pequeno. fabricada com as informaes seu interior e u o mximo que voc pode a fazer acess-las para Desvantagens: caso seja necessrio alterar alleitura (read). o guma informao do contedo desta memria, todo um lote de memrias ser perdido, acarn Memrias ROM so fabricadas por um proretando prejuzo ao se fabricar aquilo que nuna i cesso semelhante ao da impresso de camisetas ca vai ser utilizado. p . Trata-se de uma tela que chapor silk-screen mamosC de master ou matriz original e dela tira2. Memrias PROM
mos vrias cpias, todas iguais. Seguindo na evoluo das memrias, preO processo de fabricao de uma memria cisava-se de uma memria que pudesse ser graROM custoso e s se justifica quando a provada (write) e depois ficasse somente para leiduo em grande escala, da ordem de alguns tura (ROM). A idia foi fabricar memrias dimilhares ou milhes de memrias. Sua aplicatas virgens, onde o usurio colocaria dentro deo atual no na eletrnica embarcada, Reservados ou seja, a las as informaes que precisasse e depois Cpia autorizada. todos os de direitos autorais. parte eletrnica colocada em aparelhos que orifizesse somente sua leitura (read).

Memrias Eletrnicas Reais Parte I

133/19

Instituto Monitor

Cpia no autorizada. Reservados todos os autorais. A figura a seguir mostra uma memria do As figuras 4 e direitos 5 mostram uma memria
tipo PROM (Programable Read Only Memory), que se traduz como Memria Programvel Somente para Leitura. Isto significa que podemos gravar dados na memria uma nica vez; depois disso, a memria no aceita regravao e se torna uma ROM normal.
Sada de Dados D0 D1 D2 D3 D4 D5 D6 D7

PROM com 9 endereos de 8 bits cada. Na memria PROM virgem todos os diodos esto bons; assim, ao acessarmos uma linha de endereo qualquer, teremos na sada 11111111. Na memria PROM gravada alguns diodos foram destrudos, aplicando a eles uma tenso reversa que rompeu sua estrutura cristalina. Esses diodos no existem mais e em seu lugar ficou um circuito aberto. Agora, ao acessarmos a linha 4, por exemplo, teremos nas sadas 01111011. Cada diodo queimado fora sua sada para nvel lgico zero. As memrias PROMs comerciais chegam a ter 2.048 endereos de 8 bits cada. Calcule quantos diodos existem dentro delas. por este motivo que dizemos que as memrias PROM podem ser gravadas uma nica vez. Um diodo queimado no pode ser recuperado.

C
Linhas de Endereo

1 2 3 4 5 6 7 8

s o d a v Vantagens: r Memria PROM virgem. e Todos os DIODOS esto OK. s Flexibilidade na produo. No mais nee Figura 4 cessrio encomendar milhares de memR . rias ROM. Sada de Dados a D0 D1 D2 D3 D4 D5d D6 D7 Renovao do contedo. Poderia mudar o a z contedo das memrias sem perder um i r grande lote. o C t 1 au Desvantagens: o 2 Investimentos em equipamentos de grava3 n o de memria. a 4i Um bit gravado errado inutilizaria toda a 5 p C 6 memria, pois no seria possvel consertar
R R R R R R R

s o d o t

Linhas de Endereo

os

s o it e r di

s. i a r to u a

7 8 R R R R R R R

o diodo destrudo.

Tem preo maior se comparado com as ROMs, devido baixa produo.

So aplicveis em prottipos e projetos de desenvolvimento, em que no compensaMemria PROM gravada. ria produzir em grande escala algo que ainAlguns DIODOS foram destrudos. Cpia no autorizada. Reservadosda todos os direitos autorais. est sendo desenvolvido.

Figura 5

133/20

Instituto Monitor

Cpia no Reservados todos os direitos autorais. 3.autorizada. Memrias EPROM


Continuando no processo de evoluo, passaram a ser necessrias memrias que permitissem a regravao e continuassem sendo ROMs depois disto. Surgiram ento as memrias EPROM (Erasable Programable Read Only Memory), que se traduz por Memria Programvel Apagvel Somente para Leitura. Significa que voc pode gravar dados, apagar dados e depois disto ela utilizada como memria somente para leitura.

a i p C

s. i a r As memrias EPROM utilizam tecnologia opto-eltrica. Os da- to dos so gravados por meio de tenso e corrente eltrica e apagados au por meio de luz ultravioleta (UV). s o itde crisAs pastilhas de memrias EPROM vm com uma janela e tal que permite visualizar a matriz de elementos queir a d compem memria. Aplicando radiao ultravioleta pela janela, ela atinge todas as locaes de memria, apagando seus contedos. os s o As memrias EPROM tm que ser apagadas totalmente, no d sendo possvel apagar apenas um bit ouo endereo e deixar todo o t resto como estava. s o d Aps a gravao de uma EPROM a aconselhvel cobrir a janela de cristal com uma etiquetav adesiva metalizada, para evitar que r radiao ultravioleta entree acidentalmente e danifique as informaes nela contidas. es R . Veja na figura 6 alguns exemplos comerciais de memrias a d EPROM e como utiliz-las: a iz r o t au o n

Figura 6

Cpia no autorizada. Reservados todos os direitos autorais.


133/21

Instituto Monitor

Cpia no autorizada. Reservados todos osalterao direitos autorais. - No permitem de seu contedo. Note as janelas de entrada de radiao
UV para apagamento total, permitindo ver as locaes de memria.

Memrias PROM - Encapsuladas no formato de um CI. - Semelhantes s ROMs, s que permitem a gravao de dados. - Tm custo unitrio maior devido baixa produo.

4. Memrias EEPROM
Com a evoluo chegamos s memrias EEPROM (Electricaly Erasable Programable Read Only Memory), que se traduz como Memria Programvel e Apagvel Eletricamente Somente para Leitura. Isto significa que podemos gravar e apagar dados com sinais eltricos, no sendo mais necessria a radiao ultravioleta. Podemos apagar somente 1 bit, se for o caso, e deixar o resto como estava.

s. i a r - Exigem equipamentos de gravao e no to u toleram erros de gravao. a - Teoricamente so como uma matriz de s o diodos todos OK, i na t qual queimamos os diodos cuja informao a ser gravada seja e r i o bit zero. d s Voc pode tambm encontrar referncias Memrias o EPROM desta memria como: E PROM, E PROM e s - Encapsuladas no formato de um CI. o E2PROM. d o - t Apresentam uma janela de cristal para Vantagens: podemos gravar, apagar e regravar entrada de radiao ultravioleta para s utilizando apenas sinais eltricos. o apagamento total da memria. d a - Fabricadas com elementos opto-eltricos. Desvantagens: consome muita energia e tem v r poucos endereos de memria, comparandoe - Gravam por meio de sinais eltricos. s se com a EPROM. e - Apagam por meio de radiao R . ultravioleta. So aplicveis em sistemas eletrnicos que a d precisam de setup ou ajuste personalizado, - Funcionam como ROMs aps a gravao. a como TVs, videocassetes, agendas eletrnicas, z - Permitem regravao. rietc. cmaras fotogrficas digitais, o t - Aplicveis em sistemas que precisam de u 5. Resumo update (renovao dos dados). a o Memrias ROM Memrias EEPROM n - Encapsuladas a no formato de um CI. - Encapsuladas no formato de um CI. i p - Fabricadas - Programveis por meio de sinais eltricos com as informaes j dentro C delas. apenas.
2

- Produzidas aos milhares, tm custo reduzido. - Aplicadas na eletrnica embarcada em linhas de produo de aparelhos eletroeletrnicos.

- Tm quantidade de endereos menor se comparadas com as EPROMs. - Utilizadas em sistemas que precisam de setup (ajuste ou calibrao personalizada).

Cpia no autorizada. Reservados todos os direitos autorais.


133/22

Cpia no autorizada. Reservados todos os direitos autorais.

Exerccios Propostos
1 - Qual a ordem do surgimento das memrias fixas? ( ) a) PROM, ROM, EPROM e E2PROM ( ) b) ROM, PROM, EPROM E E2PROM ( ) c) E2PROM, PROM, EPROM E ROM ( ) d) EPROM, E2PROM, ROM E PROM ( ) e) ROM, CDROM, MARROM E PROM

s o d a v r 3 - ROM, PROM, EPROM e E2PROM e pertencem categoria das ROMs porque: ( ) a) so utilizadas apenas para s a leitura de dados. e a escrita de dados. ( ) b) so utilizadas apenas para R . para a leitura de dados. ( ) c) so utilizadas tambm a ( ) d) so utilizadas tambm d para a escrita de dados. a ( ) e) aps serem gravadas z funcionam apenas para leitura de dados. i or t au o n a i p C

2 - As memrias PROM so gravadas uma nica vez porque a gravao dos dados feita: ( ) a) por queima de diodos. ( ) b) pela incluso de diodos. ( ) c) por luz ultravioleta. ( ) d) por silk-screen. ( ) e) por fita magntica.

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/23

Cpia no autorizada. Reservados todos os direitos autorais.

lio

Memrias Eletrnicas Reais Parte II

a As memrias RAM esto divididas em duas categorias bsicas: i p SRAM e DRAM. C


1. Memrias SRAM

s. i a r Introduo to u a A sigla RAM vem de um tempo em que as memrias de armas zenamento de dados eram feitas por meio de cartes perfurados. to i Nessa poca no eram disponveis as memrias do tipo magnticas rede armae as memrias eletrnicas tinham baixssima capacidade i d tinham que zenar informaes. Todos os acessos a essas memrias s ser no formato seqencial ou linear. Perdia-se muito tempo paso sando carto por carto at se chegar ao cartos procurado para ler a informao. o d o t Deixando esse passado de lado, as memrias do tipo RAM so s memrias eletrnicas, fruto do avano dos semicondutores e da o d miniaturizao de circuitos lgicos, os chamados circuitos integraa dos (CI). v r e Memrias RAM (Random Memory) ou Memrias de Aceses Access so Aleatrio, eram fabricadas inicialmente de flip-flops tipo data, R . arranjadas em endereos com 1, 4 ou 8 flip-flops por endereo, rea presentando, respectivamente, 1 bit, 4 bits e 8 bits. d a iz de acesso aleatrio porque nela podemos acessar Chamamos r o qualquer t endereo diretamente, sem ter que passar pela seqncia u de todos os outros. Podemos ir direto do endereo 1000 para o endea reo 300, por exemplo, e depois para o endereo 2134. O endereao mento e a sada de dados so multiplexados. n

Cpia no autorizada. Reservados todos os direitos autorais.


SRAM (Static RAM), traduzido como RAM Esttica, formada por flip-flops com tecnologia MOS. uma memria rpida, porm com baixa capacidade de endereos e consumo de energia elevado. Sem alimentao, perde as informaes nela armazenadas devido aos flip-flops precisarem de energia para manter seus estados lgicos.

133/25

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos chamada de memria voltil, pois perde seu contedo com a autorais.
menor variao da alimentao eltrica. Utilizada como memria de trabalho para microprocessadores, encapsulada no formato de CI.

D D D D D

D D D D D D D D D

D D D D D D D D D

D D D D D D D

D D D D D D D

D D D D

D D D D

DEMULTIPLEX DE ENDEREOS

D D D D

A0 A1 A2 A3

a i p C

o n

s o d D Dva D r e D s D D e R . D D D a d a D D D iz r o t D D D u a
D D D D D D

s o d D D o t
D D D D D D D D D D D D D D D D

os D
D D D D D D D D D

s o D D it D e r D di D D
D D D D D D D D D D D D D D D D D D D D

s. i a r D to u a D
D

CONTROLE READ / WRITE CHIP SELECT

DEMULTIPLEX DE DADOS

R/W

CS

D0

D1

D2

D3

D4

D5

D6

D7

Cpia no autorizada. Reservados todos os direitos autorais.


Figura 7 - Exemplo de estrutura interna de uma memria SRAM 16 endereos - 8 BITS

133/26

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos Na figura 7, cada bloco com a letra D representa um flip-flop autorais.
tipo data. Expanda o exemplo imaginando 1.024 linhas com 8 flip-flops tipo data cada uma. Voc ter uma memria SRAM de 1 kbyte, com linhas de endereamento A0 at A9 e sada/entrada de dados de D0 at D7.

2. Memrias DRAM
DRAM (Dynamic RAM) traduzida como RAM Dinmica.

A idia para fabricao desta memria teve origem no fato de os transistores FET (efeito de campo eltrico) trabalharem por d.d.p. (diferena de potencial) e no pela passagem de uma corrente eltrica de controle. Assim, capacitores armazenam d.d.p. e memrias armazenam dados. Logo, armazenar d.d.p. o mesmo que armazenar dados. Capacitores seriam agora os substitutos dos flip-flops tipo data e armazenariam d.d.p. O problema que todo capacitor perde sua carga naturalmente com o passar do tempo. Assim, as DRAMs tambm so chamadas de volteis, pois perdem suas informaes com a menor variao da tenso de alimentao.

a i p C

s o d a v r A idia tima, pois em e um CI cabem muito mais capacitores do s que flip-flops; o problema e a perda de carga eltrica (d.d.p.). Para compensar este problema embutido um circuito de refresh, traduR . renovao dos dados. Este circuito tem a funzido como refresco a ou dum dos milhares de capacitores que compem a o de olhar cada a memria e, se um z deles tiver d.d.p., ou seja, carga armazenada, dar a imais r ele um pouco de carga. o t Este auprocesso repetido entre alguns milisegundos desde a ligao o da memria at que seja desligada. O inconveniente que, enquanto estiver sendo feito o refresh, ningum pode acessar os dan
dos dentro da memria, fenmeno este chamado de wait state ou estado de espera, que o tempo que se espera para poder trocar informaes com as memrias do tipo DRAM.

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/27

Instituto Monitor

Cpia no autorizada. Reservados todos D0 D1 D2 D3 D4 os D5 direitos D6 D7 autorais.

DEMULTIPLEX DE DADOS

A0

DEMULTIPLEX DE ENDEREOS

A1

A2

A3

R/W CS

a i p Na figura 8, cada linha composta de 8 capacitores que tm C sua carga renovada pelo circuito de refresh, gerando um wait state
(perodo de espera) para que a memria possa ser acessada. Atualmente, temos memrias DRAMs comerciais com 60 ns (nanosegundos) para acesso.

s o d a v r e s e R . a d a CONTROLE iz r READ / WRITE o CIRCUITO REFRESH CHIP t SELECT u a o n Figura 8 - Exemplo de memria DRAM 16 endereos - 8 BITS

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/28

Instituto Monitor

Cpia no Reservados todos os direitos autorais. 3.autorizada. Resumo


As memrias RAM tm esse nome porque podem acessar qualquer endereo diretamente, sem passar pela seqncia dos demais. So divididas em duas categorias: SRAM e DRAM. So conhecidas como memrias volteis porque perdem suas informaes com a menor variao da tenso de alimentao. As SRAMs so as estticas, pois conservam seus dados na sada enquanto houver alimentao. So basicamente formadas por flipflops tipo data.

a i p C

s o it e ir d As SRAMs tm uma quantidade de endereos menor se compas radas com as DRAMs, porm, so mais rpidas. o SRAMs e DRAMs tm caractersticas complementares. s o d o t s o d a v r e es R . a d za i or t au o Anotaes e Dicas n
As DRAMs so memrias formadas basicamente por capacitores e precisam de circuito de refresh, o qual cria um tempo de espera para poder acessar este tipo de memria.

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/29

Cpia no autorizada. Reservados todos os direitos autorais.

Exerccios Propostos
1 ( ( ( ( ( - Memrias RAM significam: ) a) memrias de trabalho. ) b) memrias de rascunho. ) c) memrias de acesso seqencial. ) d) memrias de acesso direto. ) e) memrias de acesso aleatrio.

s o d a 3 - SRAM fabricada com: v r ( ) a) silcio. e s ( ) b) germnio. e ( ) c) esttica. R ( ) d) flip-flop tipo data. . a ( ) e) capacitores. d a z i 4 - DRAM fabricada com: or ( ) a) silcio. t ( ) b) germnio. au ( ) c) esttica. o tipo data. ( ) d) flip-flop n ( ) e) capacitores. a i 5 -p Refresh o ato de: ( ) a) refrescar. C

2 - Memrias RAM so apagadas: ( ) a) jogando luz UV em sua janela de cristal. ( ) b) com borracha. ( ) c) retirando a alimentao. ( ) d) uma a uma. ( ) e) destruindo seus diodos internos.

s o d o t

os

s o it e r di

s. i a r to u a

( ) b) apagar. ( ) c) verificar a carga nos capacitores em cada endereo de memria. ( ) d) acrescentar carga nos capacitores carregados em cada endereo de memria DRAM. ( ) e) reinicializar o computador.

Cpia no autorizada. Reservados todos os direitos autorais.


133/30

Cpia no autorizada. Reservados todos os direitos autorais.

lio

s. i a r o de barraIntroduo Barramento ou BUS D-se o t nome u mento ao conjunto de fios que transportam sia nais eltricos no formato digital e que exeram Nesta lio iremos esclarecer os termos s uma mesma funo. Por tcnicos utilizados no estudo dos microprocesoexemplo: uma memtde i ria apresenta 10 linhas endereamento; porsadores, indispensveis para seu perfeito ene r tem 2 endereos, que tanto, esta memria tendimento. di endereos; estas 10 linhas corresponde a 1.024 s formar o endereo da memria tm a funo de 1. Termos Tcnicos e suas Explicaes o em binrio, s sendo nomeadas e numeradas de A0 at A9. o Este conjunto de 10 fios entendido Alguns itens da eletrnica digital so utid barramento ou, em Ingls, bus. Podecomo um lizados para compor um microprocessador. o t ter barramentos de endereos de diferenmos Precisamos t-los em mente: s tes tamanhos. Exemplos: o Clock Sinal eltrico no formato de onda qua- d o microprocessador Z80 tem um drada. Apresenta perodo, freqncia e ape-va barramento de endereos de 16 bits. r nas dois nveis (+Vcc e GND), compreendidos e o microprocessador 80386 tem barramento como N.L. = 1 e N.L. = 0. es de endereos de 32 bits. R . Gerador de Clock Trata-se de um circuito a Assim, podemos ter: eletrnico que gera essa onda quadrada. d a Barramento de endereos ou address bus. z i Nvel Lgico 1 - +Vcc. r Barramento de dados ou data bus. o t Barramento de controle ou control bus. Nvel Lgico 0 - GND. u a o como o terceiro estaExemplos: Tri-state conhecido n do lgico. No nvel lgico 1 e nem nvel lgi A memria SRAM 6116 tem 11 linhas de a de alta impedncia ou HI-Z, co 0, mas trata-se i endereo, ou seja, tem um barramento de p em Ingls. Dizemos que uma pastilha est em endereos de 11 bits. tri-state C quando seus terminais apresentam A memria EPROM 2732 tem 12 linhas de

Preparao para Microprocessadores

10

uma alta impedncia com relao placa a que esto soldados. Em alta impedncia, como se a pastilha estivesse desconectada da placa, como se ela fosse arrancada. O controle por tri-state importantssimo em sistemas microprocessados, pois evita o curto-circuito entre sadas lgicas.

endereo, ou barramento de endereos de 12 bits. Contadores Binrios Circuitos lgicos digitais que recebem pulsos de clock e realizam uma contagem em binrio. Podem ser progra-

Cpia no autorizada. Reservados todos os direitos autorais.


133/31

Instituto Monitor

s o d a v r e s 1 kbit, que so compostas de 1.024 Re um circuito contador binrio com endereos de 1 bit cada; . capacidade para contar at 2.048 pulsos; a 1 Mbyte, que so compostas ded um circuito de reset automtico, para a 1.024 kbytes ou 1.048.576 bytes. iz iniciar a contagem a partir do zero assim r que o circuito for ligado; o t O primeiro nmero refere-se quantiu uma memria eletrnica com capacidade dade de endereos ou a locaes de memrias; de 2 kbytes; o segundo nmero, o expresso em palavras bit, respeito quantidade de byte ou word, diz circuitos driver de potncia para acionar n informao que cabe em cada endereo. as lmpadas, uma vez que +5 volts vindos a i dos CIs no tem capacidade para acionar p Consulte lmpadas de 110 V. sempre estes termos em caso de C dvidas.

Cpia no autorizada. Reservados todos os Programvel direitos autorais. mados para comear a contar a partir de qual2. Controlador quer nmero binrio, podendo ser resetados para voltar a contagem a zero. Podem contar Vamos acrescentar lista termos prpriprogressiva ou regressivamente a cada pulso os de microcomputadores. de clock. Controlador Circuito lgico digital cuja funMemrias Circuitos lgicos digitais que aro controlar dispositivos externos por meio mazenam informao binria (binary digit). de uma seqncia lgica de acionamentos Podem armazenar 1 bit, 4 bits, 8 bits, etc. Sua deste dispositivo. capacidade medida em funo da quantiControlador Programvel o controlador dade de endereos e de quantos bits cada enque permite ser programado. Podemos altedereo tem. Cada conjunto de 1.024 charar a seqncia lgica dos acionamentos sem mado kilo e representado pela letra k. Cada alterar o circuito (hardware), apenas alteran1.024 conjuntos de 1.024, ou cada 1.024 condo a programao (software). Estes circuitos, juntos de kilo chamado mega e representapor conseqncia, utilizam memrias. do pela letra M. Cada 1.024 conjuntos de mega chamado giga e representado pela letra G. Mostramos em seguida um aplicativo sim1 bit 1 bit. 4 bits chamado nibble. 2 nibbles ples de um controlador programvel. Trata chamado byte. 8 bits tambm chamado se de um cruzamento de vias com semforos byte. 16 bits chamado word. 32 bits chasincronizados para automveis e pedestres. mado double word. Os dispositivos externos a serem acionados so as lmpadas dos semforos. Um circuito Assim, teremos memrias de: gerador de clock ajustado para 1 Hz (1 pul 1 kbyte, que so compostas de 1.024 so a cada segundo ou 1 pulso por segundo). endereos de 8 bits cada; Temos ainda:

s o d o t

Cpia no autorizada. Reservados todos os direitos autorais.


133/32

os

s o it e r di

s. i a r to u a

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos A figura mostra o 555 na configurao gerador de onda qua- autorais.
drada. Seus valores de R e C produzem uma oscilao de 1 Hz (um pulso a cada segundo).

a555 i p C

o n

s o A0 d GND a A1 Q1 v r Q2 A2 e s e Q3 A3 R . Q4 A4 a d Q5 A5 a +5V z Q6 A6 ri o t Q7 A7 u a
+ Vcc Q0

s o d o t
+ Vcc

os
D0 D1 D2 D3 D4

s o it e r di

s. i a r to u a

CONTADOR BINRIO

MEMRIA

CLOCK

D5 D6 D7

Q8 Q9

A8 A9

R R

Q10

A10

GND

RESET R C C

R/W

CS

+5V

Figura 9 - Controlador programvel (CP)

Cpia no autorizada. Reservados todos os direitos autorais.


133/33

Instituto Monitor

Cpia no autorizada. Reservados todos direitos O gerador de clock ligado ao contador binrioos de 11 sadas, o autorais.
que permite a ele contar at 2.048 pulsos. Acompanha o contador um circuito de reset automtico. Ao ligarmos a alimentao a contagem inicia no zero. Cada sada do contador conectada correspondente entrada de endereamento da memria: LSb no LSb e segue a seqncia. As sadas da memria acionam as lmpadas dos semforos diretamente atravs de drivers de potncia. Assim: quando D0 for N.L. = 1, acende a lmpada vermelha do semforo 1;

a i p AMARELO VERMELHO SEMFORO SEMFORO C 1 1


D0 D1

s o t quando D1 for N.L. = 1, acende a lmpada amarela doei emforo 1; ir d quando D2 for N.L. = 1, acende a lmpada verde s do semforo 1; o quando D3 for N.L. = 1, acende a lmpada vermelha do s semforo de pedestres; o d o quando D4 for N.L. = 1, acende a lmpada t verde do semforo de pedestres; s o quando D5 for N.L. = 1, acended a lmpada vermelha do a semforo 2; v r quando D6 for N.L. = 1, acende e a lmpada amarela do s semforo 2; e R quando D7 for N.L. . = 1, acende a lmpada verde do semforo 2. a d Para que o a circuito funcione preciso programar a memria. Vamos representar iz a memria pelo empilhamento de locaes e r indicar seu oendereo e seu contedo em hexadecimal. t au locao de memria composta de 8 bits, e cada bit conCada o uma lmpada dos semforos. Precisamos saber que bit acentrola de n qual lmpada. Por isso, veja a tabela proposta:

s. i a r to u a

VERDE VERMELHO VERDE VERMELHO AMARELO VERDE SEMFORO SEMFORO SEMFORO SEMFORO SEMFORO SEMFORO 1 1 2 2 2 D2 D3 D4 D5 D6 D7

Cpia no autorizada. Reservados todos os direitos autorais.


133/34

Instituto Monitor

Cpia no autorizada. todos os com direitos A tabela a seguir apresenta um Reservados prograderia o contedo qualquer autorais. ausncia da
ma de controle dos semforos. Como o clock do circuito de 1 Hz, o contedo de cada endereo de memria ficar na sada por 1 segundo. Assim, se desejarmos que uma lmpada fique acesa por 10 segundos, devemos repetir este contedo de memria por 10 endereos consecutivos.
ENDEREO 0000h 0001h 0002h 0003h 0004h 0005h 0006h 0007h 0008h 0009h 000Ah 000Bh 000Ch 000Dh 000Eh 000Fh 0010h CONTEDO 10001100 10001100 10001100 10001100 10001100 10001100 10001100 10001100 10001100 10001100 10010100 10001100 10010100 00110100 00110100 00110100 00110100

tenso de alimentao. Ento, sobraram as memrias do tipo EPROM e EEPROM. Uma vez com o programa todo feito, utilizamos os gravadores de EPROM e EEPROM, conforme exemplos a seguir.

Inicia com os dois faris vermelhos e o verde de pedestres acesos.

s o d a v r e s A programao que segue inicia com os e dois faris vermelhos e o verde de pedestres R . peraceso, por 13 segundos. Cada farol verde a d dura por 13 segundos. Cada farol amarelo fica a aceso por 2 segundos. Figura 10 iz r o trabalhamos t Existem vrios modelos e marcas no merObserve que neste exemplo u cado, a escolher. Com a memria gravada, com o endereamento em hexadecimal. O a basta coloc-la no circuito e ligar. contedo foi colocado em binrio para meo lhor visualizao dos acontecimentos, mas n Ao nosso controlador programvel falta veremos ainda que esses binrios devero ser a poder receber informaes externas. Um convertidos i para hexadecimal. exemplo seria o acionamento do semforo de p C pedestre somente se existisse algum para Nosso exemplo no segue at o final, pois
O farol verde do semforo 1 acende, enquanto os outros ficam vermelho.

O farol de pedestre verde se alterna com o vermelho, avisando que vai fechar.

s o d o t

os

s o it e r di

s. i a r to u a

ocuparia vrias linhas de programao (endereos de memria). A pergunta : como colocar essas informaes dentro da memria? No pode ser uma memria RAM, pois per-

atravessar. Nosso circuito teria que identificar o acionamento do boto. Essas e outras habilidades podem ser encontradas nos microprocessadores.

Cpia no autorizada. Reservados todos os direitos autorais.


133/35

Cpia no autorizada. Reservados todos os direitos autorais.

Exerccios Propostos
1 - O que significa uma memria de 4 kbytes? ( ) a) Memria com 4.096 endereos de 8 bits cada. ( ) b) Memria com 2.048 endereos de 1 bit cada. ( ) c) Memria com 4.000 endereos de 8 bits cada. ( ) d) Memria com 8.192 endereos de 16 bits cada. ( ) e) Memria com 4.096 endereos de 1 bit cada.

s o d a 3 - Bit, nibble, byte e word so, respectivamente: v r ( ) a) 1, 2, 4 e 8 bits. e ( ) b) 1, 4, 8 e 16 bits. s e ( ) c) 2, 4, 8 e 16 bits. R ( ) d) 1, 2, 3 e 4 bits. . a ( ) e) 1, 8, 4 e 2 bits. d a iozendereo de memria, bem como seu contedo, utilizamos 4 - Para representar r o nmeros: t ( ) a) binrios. u a ( ) b) decimais. o ( ) c) trinrios. n ( ) d) hexadecimais. aoctais. ( ) e) i p C

2 - Defina barramento. ................................................................................................................................... ................................................................................................................................... ................................................................................................................................... ...................................................................................................................................

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/36

Instituto Monitor

Cpia autorizada. Reservados todos os direitos autorais. 5 -no Tri-state :


( ( ( ( ( ) a) nvel lgico 1. ) b) nvel lgico 0. ) c) alta impedncia. ) d) baixa impedncia. ) e) trs estados lgicos.

6 - Como transferimos o programa feito no papel para dentro da memria? ( ) a) Por e-mail. ( ) b) Por um gravador de memrias. ( ) c) Por um gravador de CD. ( ) d) Por um computador. ( ) e) No possvel a transferncia.

a i p C

o n

s o d a v r e s e R . a d a iz r o t au

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/37

Cpia no autorizada. Reservados todos os direitos autorais.

lio

Microprocessadores

Introduo
Os microprocessadores podem ser comparados com o crebro humano, apresentando funes anlogas. Vamos, nesta lio, mostrar um microprocessador por dentro, analisando sua estrutura e funcionamento.

Processamento, Interpretao e Clculo

1. Crebro Humano e Crebro Eletrnico


Na busca pelas calculadoras, o homem recorreu ao que existia de melhor na natureza para fazer clculos: o crebro humano. Imitando por meio de circuitos eltricos, pois o crebro trabalha por descargas eltricas, criou-se o microprocessador. Semelhante ao crebro humano, ele realiza as seguintes funes:

s o d a v r e Figura 11 - Organizao do crebro humano usado s como base dos microprocessadores e R . a d Quando algum fala conosco, a informao interpreta informaes codificadas; a nos chega pelos ouvidos e deve ser interpretada iz calcula; r pelo crebro. Quando lemos um texto, a inforo adverte sobre resultados; t mao vem pelos olhos e deve ser interpretada u pelo crebro. Utilizamos o interpretador de nosa memoriza temporariamente o que se deve so crebro. o fazer, depois esquece; n de reteno; acessa a memria Quando calculamos quanto 2 + 2, 7 x 5, a i etc., utilizamos nossa U.L.A. (Unidade Lgica acessa perifricos, buscando ou enviando p e Aritmtica). Para calcular algo, nosso cre informaes; C bro utiliza pequenas memrias para rascunho.
impulsionado a executar instrues pelos ciclos do clock.

s o d o t

os

s o it e r di

s. i a r to u Memria de a RASCUNHO

Memria de RETENO FIXA

Basicamente, o mesmo que nosso crebro faz o tempo todo enquanto estamos vivos. Veja a figura 11:

L guardamos os dois nmeros envolvidos na primeira etapa do clculo e o que devemos fazer com eles: utilizamos nossos registradores. Buscamos na memria fixa do nosso crebro como executar aquele clculo. Caso o resulta-

Cpia no autorizada. Reservados todos os direitos autorais.


133/39

Instituto Monitor

Cpia no autorizada. Reservados do seja o esperado ou no, rapidamente somos advertidos: utilizamos nossas flags. Recebemos informaes pelos nossos cinco sentidos (olfato, tato, viso, paladar e audio) e comandamos nossos msculos: utilizamos os dispositivos de I/O (input/output) ou perifricos. Somos movidos pelos batimentos cardacos: utilizamos nosso clock.

todos os direitos autorais.


A0 ~ An

Como voc pode perceber, os microprocessadores so muito semelhantes ao nosso crebro.

2. Microprocessadores Internamente
O termo micro se deve ao fato de serem muito pequenos quando comparados com os processadores de grande porte. Portanto, processador ou microprocessador apenas uma questo de tamanho, no de funcionalidade. Tambm utilizamos o termo C.P.U., do Ingls Central Processing Unit, traduzido no Brasil como U.C.P. ou Unidade Central de Processamento.

s o d a Vamos descrever seus pinos: v r e PINO RESET Quando ativado, reseta o cons e tador e em suas sadas forma-se o endereo O termo central devido ao fato R de que zero, onde todas as linhas de endereamento . o microprocessador centraliza todoa o procesvo a nvel lgico zero. samento; tudo o que acontece nod microcoma putador tem, necessariamente, iz que passar PINO CLOCK Entrada de sinal de onda quar pela C.P.U. o drada, s vezes vindo de um gerador externo, t u s vezes interno ao prprio processador. Sua Esta a grande a questo dos sistemas freqncia determina a velocidade com que computacionais: para processar dados mais o so feitos os processamentos dos dados. Pode aumentar a velocidarapidamente, preciso n mos aumentar a freqncia do sinal de clock, de com que esse processamento feito, ou seja, a mas o microprocessador no consegue responi fabricar microprocessadores que aceitem pulp der com preciso a essa velocidade, calculansos de clock com freqncias cada vez maiodo de modo errado, ativando dispositivo de C res. O processador Intel Pentium III, por exem

s o d o t Figura 12 - Por dentro de uma C. P. U.

os

s o it e r di

s. i a r to u a

D0 ~ Dn

plo, aceita clock de 1.06 GHz, custando algo em torno de US$ 220 (duzentos e vinte dlares americanos). A figura 12 representa um microprocessador em seus principais blocos funcionais.

modo errado.

PINOS DE ENDEREAMENTO So as sadas do bloco contador, nomeadas com a letra A e numeradas a partir do zero. A quantidade de linhas de endereamento depende do que

Cpia no autorizada. Reservados todos os direitos autorais.


133/40

Instituto Monitor

PINOS DE DADOS Ligados ao bloco controlador de fluxo de dados, so nomeados com a letra D e numerados a partir do zero. A quantidade de linhas de dados indica a potncia do processador e depende de quanto o fabricante colocou. No Z80, por exemplo, so 8 linhas de dados (D0 at D7); j no 80386 so 32 linhas de dados (D0 at D31). PINO READ Pino de sada de sinal eltrico. Quanto ativo, o microprocessador informa aos dispositivos externos que ele far uma leitura. PINO WRITE Pino de sada de sinal eltrico. Quando ativo, o microprocessador informa aos dispositivos que ele far uma escrita.

Cpia no colocou autorizada. Reservados todos os direitos autorais. cada fabricante em seus microproDiminuindo a tenso de alimentao dos cessadores. No Z80, por exemplo, so 16 liprocessadores geramos menos calor e podenhas de endereamento (A0 at A15); no 80386 mos aumentar a freqncia do clock; porm, so 32 linhas (A0 at A31). mesmo assim precisamos utilizar cooler.

Vamos descrever os blocos funcionais: BLOCO CONTADOR DE ENDEREOS Trata-se de um contador binrio que tem sua contagem controlada pelas instrues do microprocessador. Pode ser zerado, ter alterada sua contagem, etc. BLOCO CONTROLADOR DE FLUXO DE DADOS Trata-se de um circuito formado por flip-flops tipo data com caractersticas tristate e direcionais. Ele controlado por instrues do processador que indicam se os dados devem sair do processador para a memria ou perifrico ou vice-versa.

s o d o t BLOCO INTERPRETADOR Todo micropros PINO MEMORY Pino de sada de sinal elo cessador fabricado com um conjunto de instrico. Quando ativo, o microprocessador in- ad trues que seu fabricante determinou. As instrues so as nicas coisas que o microforma que trabalhar com as pastilhas de me- v r processador sabe fazer. No existem instrumria apenas, e no com os perifricos. e s es para cor, sons, etc. Estas instrues foe ram reservadas pelo fabricante e a cada uma R PINO I/O (INPUT/OUTPUT) Pino de sada . delas foi associado um nmero binrio que o de sinal eltrico. Quando ativo, o a microprod processador interpreta. Para nossa facilidacessador informa que trabalhar com os pea de, esses binrios foram convertidos em crifricos apenas, e no com as izmemrias. r digo hexadecimal e mais tarde foram nomeo t ados. PINO +Vcc a alimentao por tenso contu a diminuir a tennua. Atualmente a tendncia BLOCOS REGISTRADORES So pequenas o so de alimentao. Para que voc tenha uma memrias do tipo SRAM de 8 bits, 16 bits ou noo, o Z80 trabalha n com tenso de +5 volts, 32 bits que funcionam como rascunho. Por enquanto que aum 80486 trabalha com tenso i estes registradores passa tudo que o prode 3,5 voltsp ou 3,3 volts de alimentao. cessador faz. Esto divididos em duas cate C gorias: os de uso geral e os de uso especfico. Com clocks cada vez mais altos, a movi

os

s o it e r di

s. i a r to u a

Vamos tomar como exemplo o processador mentao dos dados e, portanto, de eltrons Intel 80386. Ele tem 4 registradores de uso gedentro do processador muito intensa, geranral de 16 bits cada, chamados de AX, BX, CX do calor. A partir dos processadores Intel e DX. Estes registradores podem ser dividi80486 necessria a utilizao de cooler (vendos em duas partes de 8 bits chamadas de parte tilador sobre uma pea de alumnio aletada), alta ou high e parte baixa ou low. A parte alta cuja funo dissipar o calor gerado no contm os bits mais significativos; a parte baiprocessador. Assim, poder funcionarReservados por um Cpia no autorizada. todos os direitos autorais. xa contm os bits menos significativos. Assim, tempo maior sem que se queime.

133/41

Instituto Monitor

16 - bits AX AH AL 8 - bits 8 - bits

Cpia no autorizada. Reservados todos os direitos mticas, ela tambm consegue autorais. executar toAX de 16 bits, mas podemos utilizar o AH das as funes lgicas entre dois binrios, de 8 bits e o AL de 8 bits. O mesmo se aplica como AND, OR, NAND, EXAND, INVERSOaos outros. Veja a figura: RA, etc.

s. i a BX r flag de zero ( flag Z ): ativada sempre que o BL BH t o resultado da U.L.A. seja o binrio zero; u 8 - bits 8 - bits a flag de carry (flag C): s ativada sempre que 16 - bits o resultado da U.L.A. o provocar o vai um CX t i ou carry; CH CL e 8 - bits 8 - bits ir S): ativada sempre que flag de sinal d (flag 16 - bits o resultado s da U.L.A. for um nmero neDX gativo; o DH DL s flag o de paridade (flag P): ativada sempre 8 - bits 8 - bits d o resultado da U.L.A. apresentar um que o t nmero binrio com quantidade par de bits s REGISTRADOR PC (PROGRAM COUNTER) o igual a 1. d - Ele armazena o endereo da prxima instru- a Existem outras flags, mas aplicam-se a um v o a ser executada pelo microprocessador. r estudo muito mais avanado. e s REGISTRADOR SP (STACK POINTER e) Veja a seguir um exemplo de registrador Ele armazena o endereo da ltima locao R . flag. de memria RAM disponvel no sistema. a d C AC P S Z a BLOCO U.L.A. (UNIDADE LGICA E z 8 - bits ri duas entradas, ARITMTICA) Tem apenas o Basicamente, encontramos esta estrutut pois assim como o ser humano, s consegue u ra em todos os processadores. Estudaremos calcular algo de dois em a dois. Para cada dois dois deles para dar a voc uma boa base sonmeros, um nicoo resultado sai da U.L.A. e bre microprocessadores. Como todos tem pra armazenado no registrador A. A U.L.A. s n ticamente a mesma construo interna, esconsegue efetuar adio e subtrao de bia somar algumas vezes o i tudar um deles deixa voc apto a conhecer e nrios (multiplicar p trabalhar com os demais. mesmo nmero). Alm destas operaes arit C
16 - bits

REGISTRADOR FLAGS (BANDEIRINHAS) um registrador especial em que cada um de seus bits tem a funo de advertir algum resultado da U.L.A. Dentro dele temos:

Cpia no autorizada. Reservados todos os direitos autorais.


133/42

Cpia no autorizada. Reservados todos os direitos autorais.

lio

s. i a r Introduo Identificamos os pinos bsicos to de endereu amento, de dados, de clock, de memria, de a I/O, de reset, de leitura (read) e de escrita Agora que voc j tem conhecimentos bs (write). sicos sobre microprocessadores, vamos analito i sar em detalhes dois diferentes: re Comentando os outros pinos: i d Microprocessador Zilog Z80 s PINOS DE ALIMENTAO - +Vcc de 5 volts Microprocessador Intel famlia 80X86 (8086, o e GND referncia zero volt. s 80286, 80386, 80486, Pentium) o d PINO M1 (MACHINE CYCLE ONE) Ativo o 1. Z80 Internamente t em nvel lgico zero, indica aos perifricos que osprocessador est no primeiro ciclo de mo d quina, em busca de instruo na memria. a v r PINO RFSH (REFRESH) Sada de sinal elFigura 13 e s trico. Quando ativado vai a nvel lgico zero, A figura 13 mostra o microprocessador e indicando por meio dos 7 bits menos significaR Z80-CPU. Trata-se de um microprocessador . tivos a posio de memria dinmica (DRAM) num invlucro de 40 pinos (figura 14). a a ser restaurada. d a iz PINO WAIT (ESPERA) Pino de entrada de r o sinal eltrico vindo de perifricos lentos. Atit vo em nvel lgico zero, indicando CPU que au seus dados ainda no podem ser lidos por ela. o n PINO INT (INTERRUPT) Entrada de sinal a eltrico vindo de perifricos que precisam utii p lizar o bus de endereos e o bus de dados. um pedido de interrupo do programa por um C
Microprocessador Z80

determinado momento para que o perifrico se utilize dos barramentos.

Cpia no autorizada.
Figura 14

PINO HALT (PARADA) Sada ativa em nvel lgico zero, indicando que a CPU executou uma instruo de software de parada (halt). Para que a CPU volte a processar necessrio Reservados todos os um sinal eltrico de direitos hardware no autorais. pino INT.

133/43

Instituto Monitor

Cpia autorizada. Reservados todos os PINO NMI no (NON MASKABLE INTERRUPT ) Hardware adireitos parte fsica autorais. do sistema, Semelhante ao INT, este pino de entrada sendo composto de fontes de alimentao tem prioridade total sobre a CPU, fazendo de tenso contnua, circuitos integrados de interromper a execuo do programa no portas lgicas, memrias, MUX, DEMUX, momento da NMI, diferentemente da entrada resistores, capacitores, placa de circuito im INT, na qual a CPU completa a instruo e presso, cristal oscilador e perifricos. depois libera os barramentos. Os perifricos so um captulo parte, PINO BUSREQ (BUS REQUEST) Tradu pois so desenvolvidos circuitos chamados zido como requisio dos barramentos, de interface. Um circuito de interface pro este pino de entrada, ativo em nvel lgico jetado para adequar os sinais eltricos dos zero, ativado por perifricos que querem perifricos com os sinais eltricos da CPU. utilizar os barramentos de endereo, dados Por exemplo, a CPU trabalha com +5 volts e controle. Os perifricos que solicitam o contnuos e deve controlar uma lmpada de barramento (bus) esperam um sinal vindo 110 volts alternada; o circuito de interface da CPU, o BUSACK. far essa adequao. Outro exemplo para fazer com que o computador saiba que o cu PINO BUSACK (BUS ACKNOWLEDGE) est claro ou escuro: um sensor de luminosi Pino de sada que informa aos perifricos dade varia sua resistncia eltrica conforme que solicitaram os barramentos que eles ago a intensidade de luz; o circuito de interface ra esto sua disposio. A simples retirada far a converso de resistncia para um n do sinal BUSREQ faz a CPU voltar ao proce mero binrio e este ter +5 volts reconhecido ssamento normal. como nvel lgico 1. Por isso, perifricos no so parte do microcomputador. Para que o microprocessador funcione, ele precisa estar inserido em um sistema micro processado, comumente chamado microcom putador ou computador. Este sistema com posto apenas da CPU, memria tipo ROM onde esto os programas de inicializao e memrias RAM onde trabalharemos os dados. Todo o resto chamado perifrico. A figura 15 mostra um exemplo de sistema.

ia p C

o n

s o d a v r e s e R . a d a iz r o t au

s o d o t

os

s o it e r di

s. i a r to u a

Figura 16

A figura 16 mostra componentes do hardware de um microcomputador pessoal baseado na CPU Z80. Agora, para fazer a CPU trabalhar como queremos, preciso program-la. Como dissemos, cada CPU tem um conjunto de instrues determinado pelo fabricante no Reservados todos os direitos autorais. momento do projeto do microprocessador. A
133/44

Cpia no autorizada.

Figura 15

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos cada instruo foi atribudo um cdigo que ser interpretado e exe- autorais.
cutado pela CPU. Veja a seguir a lista de instrues e cdigos da CPU Z80.

o ADC A,s n ADC HL,ss a ADD i A,s p HL,ss ADD CADD IX,pp
Mnemonic ADD IY, rr AND s BIT b,m CALL cc,nn CALL nn CCF CP s CPD CPDR CPI

s o d a v r e s e R . a d a iz r o t au
SZHPNC Description ***V0* **?V0* ***V0* ?-0* ?-0* ?-0* ***P00 ?*1?0 ?-0* ***V1* ****1****1****1-

s o d o t

os

s o it e r di

s. i a r to u a

Notes A=A+s+CY HL=HL+ss+CY A=A+s HL=HL+ss IX=IX+pp IY=IY+rr A=A&s m&{2^b} If cc CALL -[SP] =PC, PC=nn CY=~CY A-s A-[HL], HL=HL-1, BC=BC-1 CPD till A=[HL]or BC=0 A-[HL], HL=HL+1, BC=BC-1

Cpia no autorizada. Reservados todos os direitos autorais.


Add with Carry Add with Carry Add Add Add Add Logical AND Test Bit Conditional Call Unconditional Call Complement Carry Flag Compare Compare and Decrement Compare, Dec., Repeat Compare and Increment

133/45

Instituto Monitor

Cpia no autorizada. Reservados todos direitos autorais. CPIR ****1Compare, Inc., Repeat CPIos till A=[HL]or BC=0
CPL DAA DEC s DEC xx DEC ss DI DJNZ e EI EX [SP], HL EX [SP], xx EX AF, AF EX DE, HL EXX HALT IM n IN A, [n] IN r, [C] INC r INC [HL] INC xx INC [xx+d] INC ss IND INDR INI INIR JP [HL] JP [xx] JP nn JP cc, nn JR e JR cc, e LD dst, src LD A, i LDD LDDR LDI LDIR NEG NOP OR s OTDR OTIR OUT [C], r OUT [n], A OUTD OUTI POP xx POP qq PUSH xx PUSH qq RES b,m RET RET cc RETI RETN RL m 1-1***P-* ***v1 ***P0***V0***V0 ***V0?*??1?1??1?*??1?1??1 **0*00*00000*0000***V1* ***P00 ?1??1?1??1 ?*??1?*??1 **0P0* Complement Decimal Adjust Acc. Decrement Decrement Decrement Disable Interrupts Dec., Jump Non-Zero Enable Interrupts Exchange Exchange Exchange Exchange Exchange Halt Interrupt Mode Input Input Increment Increment Increment Increment Increment Input and Decrement Input, Dec., Repeat Input and Increment Input, Inc., Repeat Unconditional Jump Unconditional Jump Unconditional Jump Conditional Jump Unconditional Jump Conditional Jump Load Load Load and Decrement Load, Dec., Repeat Load and Increment Load, Inc., Repeat Negate No Operation Logical inclusive OR Output, Dec., Repeat Output, Inc., Repeat Output Output Output and Decrement Output and Increment Pop Pop Push Push Reset bit Return Conditional Return Return from Interrupt Return from NMI Rotate Left

A=~A A=BCD format s=s-1 xx=xxss=ss-1 B=B-1 till B=0

[SP] <->HL [SP] <->xx AF<->AF DE<->HL qq<->qq (except AF)

a i p C

o n

s o d a v r e s e R . a d a iz r o t au

s o d o t

os

(n=0, 1, 2) A=[n] r=[C] r=r+1 [HL] = [HL]+1 xx=xx+1 [xx+d]=[xx+d]+1 ss=ss+1 [HL] = [C], HL=HL-1, B=B-1 IND till B=0 [HL] = [C], HL=HL+1, B=B-1 INI till B=0 PC=[HL] PC=[xx] PC=nn If cc JP PC=PC+E If cc JR (cc=C, NC, NZ, Z) dst=src A=i [DE] = [HL], HL=HL-1, # LDD till BC=0 [DE] = [HL], HL=HL+1, # LDI till BC=0 A=-A

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/46

A=Avs OUTD till B=0 OUTI till B=0 [C]=r [n]=A [C]=[HL], HL=HL-1, B=B-1 [C]=[HL], HL=HL+1, B=B-1 xx=[SP]+ qq=[SP]+ -[SP]=xx -[SP]=qq m=m&{~2^} PC=[SP]+ If cc RET PC=[SP]+ PC=[SP]+ m={CY, M<-

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos autorais. RLA 0-0* Rotate Left Acc. A={CY, a}<RLC m RLCA RLD RR m RRA RRC m RRCA RRD RST p SBC A, s SBC HL, ss SCF SET b, m SLA m SRA m SRL m SUB s XOR s 0P0* 0-0* **0P0**0P0* 0-0* **0P0* 0-0* **0P0 ***V1* **?V1* 0-01 **0P0* **0P0* **0P0* ***V1* ***P00 Rotate Left Circular Rotate Left Circular Rotate Left 4 bits Rotate Right Rotate Right Acc. Rotate Right Circular Rotate Right Circular Rotate Right 4 bits Restart Subtract with Carry Subtract with Carry Sei Carry Flag Set bit Shift Left Arithmetic Shift Right Arith. Shift Right Logical Subtract Logical Exclusive OR M=M<A=A<{A,[HL]}={A,[HL]}< - # # m= ->{CY,m} A= ->{CY, A} m= ->m A= ->A {A, [HL]}= ->{A,[HL]} # # (p=0H, 8H, 10H,...38H) A=A-s-CY HL=HL-ss-CY CY=1 m=mv{2^b} m=m*2 m=m/2 m= ->{0, m, CY} A=A-s A=Axs

F S Z HC P/V N CY

n nn e [nn] [xx+d] r [rr] b p

a i p C

DEFB n(,...) DEFB srt (,...) DEFS nn DEFW nn(,...)

o n

s o d a v r Immediate addressing e extended addressing s Immediate e addressing (PC=PC+2+offset) Relative R Extended addressing . Indexed addressing a Register addressing d indirect addressing za Register i Implied addressing Bit addressing or t Modified page zero addressing (see RST) u a
C Define Byte (s) Define Byte ASCII string (s) Define Storage Block Define Word (s)

-*01? S Z H P N

Flag unaffected/affected/reset/set/unknown Sign flag (Bit 7) Zero flag (Bit 6) Half Carry flag (Bit 4) Parity/Overflow flag (Bit 2, V=overflow) Add/Subtract flag (Bit 1) Carry flag (Bit 0)

s o d o t

os

s o it e r di

s. i a r to u a

A B C D E AF BC DE HL F I IX IY PC R SP

Registers (8-bit) Register pairs (16-bit) Flag register (8-bit) Interrupt page address register (8-bit) Index registers (16-bit) Program Counter register (16 bit) Memory Refresh register Stack Pointer register (16-bit)

Cpia no autorizada. Reservados todos os direitos autorais.


133/47

Instituto Monitor

Cpia no autorizada. One Reservados todos os direitos autorais. b bit (0 to 7)


cc d dst e m n nn pp qq qq r rr s src ss xx Condition (C, M, NC, NZ, P , PE, PO, Z) One-byte expression (-128 to +127) Destination s, ss, [BC], [DE], [HL], [nn] One-byte expression (-126 to +129) Any register r, [HL] or [xx+d] One-byte expression (0 to 255) Two-byte expression (0 to 65535) Register pair BC, DE, IX or SP Register pair AF, BC, DE or HL Alternative register pair AF, BC, DE or HL Register A, B, C, D , E, H or L Register pair BC, DE, IY or SP Any register r, value n, [HL] or [xx+d] Source s, ss, [BC], [DE], [HL], nn, [nn] Register pair BC, DE, HL or SP Index register IX or IY

+ - * / ^ & ~ v x <- -> [ ] [ ]+ -[ ] { } # ##

a i p C

s o d a v Veremos alguns exemplos na parte de software, uma das prr ximas lies. e s e R . a d a iz r o t au o Anotaes e Dicas n

Add/subtract/multiply/divide/exponent Logical AND/NOT/inclusive OR/exclusive OR Rotate left/right Indirect addressing Indirect addressing auto-increment/decrement Combination of operands Also BC=BC-1, DE=DE-1 Only lower 4 bits of accumulator A used

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/48

Cpia no autorizada. Reservados todos os direitos autorais.

lio

s. i a r tem o 80286, tambm conhecido Introduo to como 286; o u 80386, conhecido como 386, e o 80486, conhea cido como 486. A Intel foi a primeira empresa a lanar s no mercado o microprocessador de 4 bits, por to i Uma empresa concorrente patenteou os intermdio de ex-funcionrios da Fairchild. A e que a Intel r nomes 586, 5X86, antes o fizesse. Zilog, por sua vez, foi criada por ex-funcioni d Ento, no podendo utilizar a nomenclatura rios da Intel, que lanaram o Z80. A IBM, com s reconhecida como 586, a Intel 80586, que seria seu conceito de arquitetura aberta, escolheu o decidiu-se nome PENTA, j que era a 5 os microprocessadores da Intel para construir s pelo gerao dos processadores da famlia 80X86. o seu primeiro PC (Personal Computer). d O nome Pentium chegou ao mercado e foi pao t tenteado, recebendo suas evolues o sufixo I, s III e agora Pentium IV. II, o d a incrvel como o microcomputador da v r IBM, o IBM-PC, foi aceito no mercado e virou e s padro de computador pessoal. To bom que e foi adotado em escritrios e empresas que R . impulsionaram seu crescimento. Isto forou a as novas geraes dos microprocessadores d a a serem compatveis com seus antecessores. z i A cada novo processador lanado, tudo que r o funcionava com o processador antigo tinha t u que continuar funcionando, no mnimo de a maneira igual. o 1. O Intel 80X86 e a Histria da n Pessoal Eletronicamente falando, no possvel Computao a apenas retirar um processador antigo e colocar i p um processador novo. Toda a placa de circuito A Intel tinha vrios modelos de microimpresso teria que ser trocada para absorver C processadores, cada um deles atendendo a
um segmento do mercado. A IBM escolheu o 8086 de 16 bits, depois este microprocessador evoluiu, constituindo assim uma famlia de microprocessadores 80X86. A letra X indica um nmero que pode ser 2, 3 ou 4. Assim, a nova tecnologia. Desta forma, encontramos placas no mercado que aceitam vrios modelos de microprocessadores j existentes, mas no modelos que ainda esto por vir. uma questo bvia.

Microprocessador Intel 80x86

Cpia no autorizada. Reservados todos os direitos autorais.


133/49

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos autorais. 2. Do 80286 para Frente Permitia um avano do MS-DOS e siste

mas operacionais mais poderosos. Foi pouco aproveitada; funcionou como um 8086 mais veloz. 2.2 CPU Intel 80386

Observe as figuras a seguir e procure identificar os elementos bsicos dos microprocessadores. 2.1 CPU Intel 80286

a i 24 linhas pde endereo; 16 MB de memria A23). (A0 at C

o n Figura 17

s o d a v r e s e R . a d a iz r o t au

s o d o t

os

s o it e r di

s. i a r to u a

Figura 18

Endereos e dados de 32 bits; 4 GB (gigabyte) de memria (A0 at A31). Novas instrues para dados de 32 bits, ponteiros maiores. Gerenciador de memria ampliado: - modo de endereamento linear de 32 bits (D0 at D31); - modo 8086 (real e virtual).

Relgio mais rpido (atualmente, clock de 25 MHz). Barramento de dados de 16 bits com 2 perodos de relgio por ciclo (D0 at D15). Modo real = 8086 e modo protegido = 286.

Registradores idnticos aos do 8086 (comCpia no autorizada. Reservados patibilidade).


todos os direitos autorais.

133/50

Instituto Monitor

Cpia autorizada. Reservados todos os direitos autorais. Aumentono de desempenho provocado por: Usa 1,2 milhes de transistores para inte- barramento de 32 bits (D0 at D31); grar: - fila de instrues de 16 bytes (fetch ou - uma CPU 386 (32 linhas de endereamenbusca de instrues); to e 32 linhas de dados); - menor quantidade de perodos de relgio - uma unidade de gerenciamento de mepor instruo; mria; - relgio mais veloz (clock de 16 a 33 MHz). - um cache de 8 kB (com controlador); - uma unidade de ponto flutuante. Totalmente compatvel com software do Compatvel com o 386 e apresenta apenas 6 8086 e 286. novas instrues. 2.3 CPU Intel 80486 Ao olharmos para um processador devemos procurar primeiro as linhas de dados (D0 at D...) que indicam a sua potncia. Depois, procuramos as linhas de endereamento (A0 at A...), que indicam o quanto de memria o processador pode acessar diretamente.

a i p C

o n

s o d a v r e s e R . a d A linha Intel 80X86 tem avanado e se a z multiplicado de 8 bits para 16 bits e atuali r mente 32 bits. Apesar de ter no mercado cono t correntes com microprocessadores similares au

Nos exemplos dados voc nota que todos os elementos bsicos esto presentes em todos os microprocessadores. Porm, nos 386 e 486 aumentaram os pinos do bus de controle. Desenvolvidas para IBM-PC compatveis, estas linhas so uma tentativa engenhosa de driblar as limitaes do sistema desenvolvido na dcada de 80, diferentemente do Z80, que parou no tempo, sendo reconhecidamente um bom processador de 8 bits.

s o d o t

os

s o it e r di

s. i a r to u a

a baixo custo (AMD e CYRIX), ainda o IBMPC compatvel e a Microsoft que impulsionam o desenvolvimento dos processadores Intel.

A compatibilidade com o IBM-PC de 1980 e com os micros de hoje uma barreira no desenvolvimento de hardwares e softwares muito mais avanados, rpidos e econmicos. Vale aqui a ressalva de que um computador feito de microprocessador + memria ROM + memria RAM.

Cpia no autorizada. Reservados todos os direitos autorais.


Figura 19

133/51

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos autorais.


ADDRESS BUS

R.O.M.
RAM RAM RAM RAM

CPU

CONTROL BUS

DATA BUS

Figura 20 - Microcomputador

Mas s isto muito simples! Queremos que esse computador tenha um teclado. Ento, teremos que ter um circuito eletrnico para controlar o teclado e enviar as informaes das teclas pressionadas para a CPU. Gostaramos de ver imagens, na tela de uma TV ou monitor colorido. Ento, teremos que ter um circuito eletrnico que controle o monitor ou a TV para que neles apaream as imagens desejadas. A CPU enviar nmeros binrios e o circuito interface far a adequao para que aparea uma imagem na tela.

a i p C

s o d a v r e s Estas necessidades constituem os perifricos, de todos os tie pos e para todas as funes. R Para cada um deles haver um circuito eltrico (interface) .ligado ao microprocessador por meio dos a endereos e controle. Veja o exemplo na barramentos de dados, d figura 21. za i r o t u a o Anotaes e Dicas n

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/52

Instituto Monitor

Cpia no autorizada. Reservados todos e os direitos autorais. de hardware algumas vezes podem ser reMonitor SVGA

CONTROLADORA DE VDEO

solvidos por software (sem que se abra o computador). Vamos conhecer como so estas placas de circuito impresso e identificar onde esto os elementos principais. A figura 22 mostra a placa-me (mother board) para Intel 80486 ano 1996. Nessa poca comearam a surgir perifricos que trabalhavam com os 32 bits da CPU. Ainda existiam perifricos de 8 bits (conector 5), sendo a maioria de 16 bits.

CPU + MEMRIAS

Teclado
CONTROLADORA DE TECLADO

Disk Drive 3 1/2


CONTROLADORA DE DISK DRIVE

Hard Disk
CONTROLADORA DE HDD

CD-ROM / DVD
CONTROLADORA DE CD-ROM

Mouse
CONTROLADORA DE MOUSE SERIAL

Gravador de CD
BARRAMENTOS
CONTROLADORA DE DRIVE CD-R

Impressora
CONTROLADORA DE IMPRESSORA

Scanner
CONTROLADORA DE SCANNER

Web Cmera
CONTROLADORA DE CMERA

CONTROLADORA DE JOYSTICK

PLACA DE MODEM

PLACA DE REDE

PLACA DE FAX

PLACA DE SOM

Pela figura voc percebe a importncia dos barramentos e a razo da existncia dos circuitos tri-state. Os barramentos so como avenidas, onde voc pode entrar a qualquer momento para trocar dados com a CPU, desFigura 22 de que ningum esteja passando por ali; caso contrrio, haver conflito (momento em que dois perifricos querem se comunicar com a CPU e fazem isto ao mesmo tempo). A CPU no entende nada e a mquina trava, permanecendo inoperante at que se desfaa o conCpia no autorizada. Reservados todos flito. Geralmente os conflitos so problemas

a i p C

o Figura 21 n

s o d a Microcomputador v r e es R . a d a zFAX i or Som t au


Modem

Joystick

s o d o t

os

s o it e r di

s. i a r to u a

3 5 2 7 1 4 6 2

os direitos autorais.

Localizao: 1 - soquete da CPU (80486) 2 - memria EPROM (BIOS) 3 - memria DRAM (trabalho) 4 - memria SRAM (cache) 5 - BARRAMENTO 8-bits 6 - BARRAMENTO 16-bits 7 - BARRAMENTO 32-bits

133/53

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos A placa-me para Intel Pentium 100 MHz ano 1997, no tem autorais.
mais slot (conector) para perifricos de 8 bits; os slots de 16 bits suportavam os perifricos de 8 bits e 16 bits. Surge um novo padro de barramentos, o PCI para 32 bits. A figura 23 mostra a placa-me com controladoras de perifricos onboard (embutido na placa-me) para processador AMD DUROM 700 MHz, 800 MHz e 900 MHz (concorrente do Intel Celeron 733 MHz) ano 2001. Somente dois slots PCI para perifricos, uma vez que as placas controladoras de vdeo, som, impressora, drives 3 , drives CD-ROM/DVD, hard disk, comunicao serial, porta USB, rede e teclado j vm on-board.

Barramento 32-bits

Memria EPROM (BIOS)

a i p 3. Resumo C

s o d a v r e s e R . a d a iz r o t Figura u a 23 o n

s o d o t

s o it e ir d Memria s oDRAM

s. i a r to u a

Soquete de CPU DURON 700

Cpia

Internamente, todo microprocessador apresenta um interpretador de cdigos de instruo, memrias de rascunho chamadas de registradores e uma Unidade Lgica e Aritmtica (U.L.A.), pois o que o microcomputador sabe fazer calcular e manipular nmeros binrios. Ele precisa de uma memria fixa que, ao ligarmos a mquina, encontre seu programa (software) de inicializao, que geralmente a memria EPROM. Por fim, precisa de memria no autorizada. Reservados todos os direitos para trabalhar programas, que a memria RAM.

autorais.

133/54

Cpia no autorizada. Reservados todos os direitos autorais.

Exerccios Propostos

s. i a r ofun1 - Quais so os elementos comuns a todos os microprocessadores e qual ta u o de cada um? a .................................................................................................................................. s .................................................................................................................................. to i .................................................................................................................................. re i .................................................................................................................................. d s .................................................................................................................................. o .................................................................................................................................. s o .................................................................................................................................. d .................................................................................................................................. to s .................................................................................................................................. o d .................................................................................................................................. a v r 2 - A interface: e s ( ) a) faz a adequao dos sinais eltricos entre CPU e perifrico. e ( ) b) fica entre as faces. R . ( ) c) armazena informaes. a ( ) d) serve para conectar d o computador. a ( ) e) um software que iz aciona perifricos. r o eletrnica a CPU 80386 pode acessar diretamente? 3 - Quanto de memria t u ( ) a) 4 Gbytes de memria. a ( ) b) 2 Gbytes o de memria. ( ) c) 4 1.024 1.024 1.024 endereos de memria. ( ) d) 1n Mbit. a1 mega i ( ) e) endereos de memria. p C 4 - Qual a importncia dos barramentos?
.................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. ..................................................................................................................................

Cpia no autorizada. Reservados todos os direitos autorais.


133/55

Instituto Monitor

Cpia Reservados 5 -no O que autorizada. significa placa-me ou mother-board? todos os direitos autorais.
( ( ( ( ( ) a) Placa de circuito impresso onde est o processador e as memrias. ) b) Placa de modem. ) c) Placa que originou o computador. ) d) Placa de circuito integrado. ) e) Nenhuma das alternativas anteriores.

a i p C

o n

s o d a v r e s e R . a d a iz r o t au

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/56

Cpia no autorizada. Reservados todos os direitos autorais.

lio

s. i a r de computadores de grande porte Introduo to da poca e u poderia retomar seus clientes com um micro a computador pessoal com a marca IBM. IBM, Intel e Microsoft comearam, na s dcada de 80, uma revoluo em termos de to Veja que somenteia mquina no bastava. computao pessoal. Muitos computadores re para oferecer. aqui Era preciso ter softwares pessoais existiam no mercado, mas nenhum i d que entra a Microsoft, oferecendo softwares deles era padro. A maioria utilizava o s para os IBM-PC. Comeou com o sistema microprocessador Zilog Z80 em uma linha de o operacional D.O.S. (Disk Operatiomicros chamada TRS-80. s chamado nal System Sistema Operacional em Disco), o dveio o editor de textos, a planilha de depois Vale o comentrio que o grande motivador o t jogos, etc. clculos, dos micros pessoais foi o Apple II. A Apple, s empresa criada por Steve Jobs e Steve Woro O IBM-PC e seus clones s dominaram o niaks na garagem de suas casas, foi a grande d a mercado porque existia uma fatia para o promotivadora para o usurio de classe mdia terv r cessamento de dados em escritrios e empresas um microcomputador pessoal em sua casa. e s de pequeno porte. No foi, de forma alguma, e o uso domstico do IBM-PC que gerou esta 1. Histria do Software do IBM-PC R . onda tecnolgica. claro que muitos usua rios se beneficiaram deste avano. Muitos aficionados correram para d comprar o a Apple II, um microcomputador z processador i com Para se ter uma idia, no mundo todo r Motorola 6800, com teclado do tipo mquina de o existe a pirataria de software. A empresa escrever e sada para que t a imagem aparecesse u mais prejudicada com a pirataria , na tela de qualquer televisor colorido ou preto a de longe, a Microsoft. Para e branco. Entretanto, o foi o software desenvolcada clone de IBM-PC vido num Apple II que mudou a computao. n funcionar preciso um Tratava-se de uma planilha de clculo, a a sistema operacional i utilizada por contadores de Visicalc, muito p criado pela Microsoft. empresas em seu gerenciamento financeiro. Seja MS-DOS C
Software
ou Windows, o Todas as pequenas empresas queriam ter IBM-PC e seus um computador rodando um software desses. compatveis E foi a que a IBM, uma empresa que prestava precisam deles servios de processamento de dados para pepara funcionar. quenas, mdias e grandes empresas, sentiu-se A Microsoft ganha muiincomodada e atrada. Incomodada, porque to dinheiro vendendo perdia seus clientes para computadores pesCpia no autorizada. Reservados ospara direitos seus todos programas soais. Atrada, porque era a maior empresa
133/57

autorais.

Instituto Monitor

Cpia pois no autorizada. todos os direitos Cada instruo cumpre umaautorais. finalidade e empresas, estas esto sujeitas a Reservados vistoria ela dado um nome, que s vezes extenso. as e fiscalizao. J os usurios domsticos, Ento, decidiu-se substituir os nomes por apesar de serem milhes, no h como pegmnemnicos (forma simples de representar los em seus lares. uma palavra extensa). Foram os engenheiros americanos da Intel que criaram este conceiEm se tratando de IBM-PC, o software to, portanto todos os mnemnicos que se reque garantia IBM o domnio dos PCs era a ferem a cada uma das instrues so de palaBIOS, que roda quando a mquina ligada. vras em Ingls. A BIOS fica em uma memria no-voltil do tipo EPROM e sua funo reconhecer e saExemplo: ber como trocar dados entre os perifricos e a CPU. um software bastante simples e peInstruo do Z80: carregue o registrador A queno e a IBM ganhou muito dinheiro vencom o contedo do registrador B. dendo apenas ele, uma vez que todas as outras partes do IBM-PC eram fabricadas por LD A, B outras empresas para a IBM. LD o mnemnico de LOAD, que, em A Compaq foi a empresa que pirateou Ingls, significa carregar. este software e, atravs de procedimentos juInstruo do 80X86: carregue o registrador rdicos no previstos em lei, criou sua prAX com o contedo do registrador DX. pria BIOS, que funcionava de maneira idntica BIOS da IBM, com algumas melhorias. MOV AX, DX Hoje, a Compaq uma grande empresa devido clonagem da BIOS da IBM. Outras emMOV o mnemnico de MOVE, que, em presas sucederam a Compaq, como a AMI e a Ingls, significa mover. Award, fabricantes de BIOS.

s o d a v r e s No entanto, a mquina no interpreta texA partir desse ponto, os negcios comee R to, somente nmeros binrios. No projeto do aram a cair para a IBM e ela deixou o mer. microprocessador, cada instruo associacado de PCs, voltando ao que era:a uma emd porte. da a um nmero binrio e, como ficar escrepresa de computadores de grande a z vendo binrios muito difcil para o ser hui mano, utilizada a representao em 2. O Que Software or t hexadecimal. au Software uma seqncia de instrues o para que o processaExemplo: ordenadas logicamente dor possa execut-las. Como vimos, o n Instruo dos 80X86: MOV AX , DX est asmicroprocessador s trabalha com binrios. a i sociada ao binrio 100010011101000 . Para O que so essas instrues? Como o microprop cessador trabalha? facilitar, utilizamos a representao em C hexadecimal, que fica 89D0h. uma instru

s o d o t

os

s o it e r di

s. i a r to u a

No processo de criao dos microprocessadores, seus fabricantes escolhem quais instrues o processador dever saber executar.

o de 16 bits. O microprocessador sabe interpretar 1000100111010002 e, ao executar esta instruo, copia os 16 bits do registrador DX no registrador AX.

Os elementos de trabalho so: memrias, registradores e operaes lgicas ou aritmticas.

Cpia no autorizada. Reservados todos os direitos autorais.


133/58

Instituto Monitor

Cpia no autorizada. Reservados todos direitos Voc deve estar percebendo uma dificuldade deos linguagem en- autorais.
tre o homem e a mquina. Ao programar microprocessadores, o homem deve pensar em letras, palavras e nmeros decimais. Ciente dos elementos e conhecedor das instrues que o microprocessador sabe executar, o homem monta uma seqncia lgica de instrues.

a processo de cpia do sistema operacional para a memria RAM i ocorreu satisfatoriamente e que o computador esperava que fosse p digitado corretamente um dos comandos que ele sabia executar. C Note a diferena entre instruo e comando: um comando composto por uma srie de instrues.

s. i a Compilamos o programa para os cdigos hexadecimais. r to Gravamos memrias fixas do tipo ROM com estes binrios. u a Colocamos esta memria no sistema microprocessado e execus tamos o programa ligando a mquina. to i Todos perceberam que, desta forma, os computadores no avanre i ariam muito. O sistema operacional um programa que d tenta facilitar a comunicao do usurio com a mquina. O primeiro sisteos dispunha de ma operacional utilizava-se de palavras. O usurio s um teclado para enviar sua mensagem ao microprocessador e uma o tela de monitor ou TV para receber a resposta do microprocessador, d completando o que se chama de comunicao. O usurio deveria to digitar no teclado palavras que o sistema s reconhecia e, ao pressioo nar a tecla ENTER, ele buscaria qual programa est associado qued a la palavra, executando-o. v r eera ligado rodava-se o software BIOS, Sempre que um IBM-PC s e testando a mquina e definindo como ela deve funcionar. Depois, R procurava-se um software chamado DOS em uma unidade de dis. co flexvel. Na poca da no existiam os HD (hard disk) e a maneira de armazenar um a programa, alm de escrever em memrias do tipo EPROM, era utilizar a mdia magntica, no formato de disco. iz r o t O sistema u operacional, que um software, era copiado do disco para aa memria RAM do computador. Quando o processo terminao va aparecia na tela uma letra seguida de dois pontos e um sinal de maior com uma barrinha piscando ao lado. Isto indicava que o n
Programamos utilizando mnemnicos e pensando em decimal.

Resumindo:

3. Software em Linguagem de Mquina


Linguagem de mquina a linguagem que a mquina entende: binrios ou hexadecimais. Em Ingls ela se chama Assembly, seguida do nome do processador. Exemplos: no autorizada. Reservados todos os direitos

Cpia

autorais.

133/59

Instituto Monitor

Cpia no Reservados os direitos autorais. autorizada. Assembly Z80: linguagem de mquina todos para o processador Z80.
Assembly 80X86: linguagem de mquina para os processadores 80X86. Assembly 6800: linguagem de mquina para os processadores Motorola 6800.

s. i a r Existem programas (softwares) que rodam no PC e so cha- to mados Assembler seguido do nome do processador. Neles voc au digita os mnemnicos e ele compila para os cdigos da linguagem s de mquina. o it e Para criar programas em linguagem de mquina utilizamos uma r i tabela de programao como essa: d s o Endereo Endereo Cdigos Mnemnicos Comentrios s Decimal Hexadecimal Hexadecimal o d o t s o d a v r e es R . a d za i or t au o Anotaes e Dicas n a i p C
Cada Assembly composta dos mnemnicos e cdigos hexadecimais para cada processador.

Cpia no autorizada. Reservados todos os direitos autorais.


133/60

Instituto Monitor

Cpia no autorizada. Reservados todos osvoc direitos Aprender a programar um microprocessador torna apto a autorais.
programar qualquer outro. Basicamente, o processo o mesmo, mudando apenas um pouco os mnemnicos e instrues existentes. Basta consultar o manual do fabricante e sair programando. Vimos os mnemnicos do Z80; veremos agora os mnemnicos da famlia 80X86.

a i p C

o n

s o d a v r e s e R . a d a iz r o t au

s o d o t

os

s o it e r di

s. i a r to u a

Figura 24

Cpia no autorizada. Reservados todos os direitos autorais.


133/61

Instituto Monitor

Cpia no autorizada.ODITSZAPC Reservados Mnemonic Description todos os direitos autorais.


AAA AAD AAM AAS ADC d,s ADD d,s AND d,s CALL a CBW CLC CLD CLI CMC CMP d,s CMPS CWD DAA DAS DEC d DIV s ESC s HLT IDIV s IMUL s IN d,p INC d INT INTO IRET JB/JNAE a JBE/JNA a JCXZ a JE/JZ a JL/JNGE a JLE/JNG a JMP a JNB/JAE a JNBE/JA a JNE/JNZ a JNL/JGE a JNLE/JG a JNO a JNP/JPO a JNS a JO a JP/JPE a JS a LAHF LDS r,s LEA r,s LES r,s LOCK LODS LOOP a LOOPNZ/LOOPNE a LOOPZ/LOOPE a MOV d,s ???*?* ?**?*? ?**?*? ???*?* ****** ****** ***?** 0 -00 * ****** ****** ?***** ?***** *****?????? ?????? *????* *****00*********** ASCII Adjust for Add in AX ASCII Adjust for Divide in AX ASCII Adjust for Multiply in AX ASCII Adjust for Subtract in AX Add with Carry Add Logical AND Call Convert Byte to Word in AX Clear Carry Clear Direction Clear Interrupt Complement Carry Compare Compare memory at SI and DI Convert Word to Double in AX,DX Decimal Adjust for Add in AX Decimal Adjust for Subtract in AX Decrement Divide (unsigned) in AX (,DX) Escape (to external device) Halt Divide (signed)in AX (,DX) Multiply (signed) in AX (,DX) Input Increment Interrupt Interrupt on Overflow Interrupt Return Jump on Below/Not Above or Equal Jump on Below or Equal/Not Above Jump on CX Zero Jump on Equal/Zero Jump on Less/Not Greater or Equal Jump on Less or Equal/Not Greater Unconditional Jump Jump on Not Below/Above or Equal Jump on Not Below or Equal/Above Jump on Not Equal/Not Zero Jump on Not Less/Greater or Equal Jump on Not Less or Equal/Greater Jump on Not Overflow Jump on Not Parity/Parity Odd Jump on Not Sign Jump on Overflow Jump on Parity/Parity Even Jump on Sign Load AH with 8080 Flags Load pointer to DS Load EA to register Load pointer to ES Bus Lock prefix Load memory at SI into AX Loop CX times Loop while Not Zero/\Not Equal Loop while Zero/Equal Move

a i p C

o n

s o d a v r e s e R . a d a iz r o t au

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/62

Instituto Monitor

Cpia noMOVS autorizada. Reservados todos os direitos autorais. Move memory at SI to DI


MUL s NEG d NOP NOT d OR d,s OUT p,s POP d POPF PUSH s PUSHF RCL d, c RCR d, c REP/REPNE/REPNZ REPE/REPZ RET (s) ROL d,c ROR d,c SAHF *????* ****** ***?** ********* ** ** ** ***** Multiply (unsigned) in AX (,DX) Negate No Operation (= XCHG AX,AX) Logical NOT Logical inclusive OR Output Pop Pop Flags Push Push Flags Rotate through Carry Left Rotate through Carry Right Repeat/Repeat Not Equal/Not Zero Repeat Equal/Zero Return from call Rotate Left Rotate Right Store AH into 8080 Flags

SAR d,c SBB d,s SCAS SEG r SHL/SAL d,c SHR d,c STC STD STI STOS SUB d,s TEST d,s WAIT XCHG r (,d) XLAT XOR d,s

a i p C

o n
OF DF IF TF SF ZF AF PF CF

s o d a v r e s e R . a d a iz r o t -*01? Unaff/affected/reset/set/unknow au
0 D I T S Z A P C Overflow Flag (Bit 11) Direction Flag (Bit 10) Interrupt enable Flag (Bit 9) Trap Flag (Bit 8) Sign Flag (Bit 7) Zero Flag (Bit 6) Auxilary carry Flag (Bit 4) Parity Flag (Bit 2) Carry Flag (Bit 0)

***?** ****** ****** ***?** ***?** 1 -00 ****** ***?** ***?**

Shift Arithmetic Right Subtract with Borrow Scan memory at DI compared to AX Segment register Shift logical/Arithmetic Left Shift logical Right Set Carry Set Direction Set Interrupt Store AX into memory at DI subtract AND function to flags Wait Exchange Translate byte to AL Logical Exclusive OR

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


ALIGN ASSUME sr:sy (,...) ASSUME NOTHING DB e (,...) DBS e

Align to word boundary Assume segment register name(s)/ Remove all former assumptions Define Byte (s) Define Byte Storage

133/63

Instituto Monitor

Cpia no autorizada.Define Reservados todos os direitos autorais. DD e (,...) Double Word (s)
DDS e DW e (,...) DWS e EXT (sr: )sy (t) LABEL t PROC t Define Double Word Storage Define Word (s) Define Word Storage External (s) (t = ABS/BYTE/DWORD/FAR/NEAR/WORD) Label (t = BYTE/DWORD/FAR/NEAR/WORD) Procedure (t = FAR/NEAR, default NEAR)

ABS BYTE DWORD FAR HIGH LENGHT LOW NEAR OFFSET PTR SEG SHORT SIZE THIS TYPE WORD AX BX CX DX AL BL CL DL AH BH CH DH SP BP SI DI CS DS SS ES IP

a i p C

a c d e p r s sr sy t

o n

s o d a v r e s e R . a d a z Address i Count r Destination o t Expression or string u I/O port a

Absolute value of operand Byte type operation Double Word operation IP and CS registers altered High order 8 bits of 16-bit value Number of basic units Low order 8 bit of 16-bit value Only IP register need be altered Offset portion of an address Create a variable or label Segment of address One byte for a JMP operation Number of bytes defined by statement Create a variable/label of specified type Number of bytes in the unit defined Word operation Accumulator/Base/Count/Data registers Low byte of general registers High byte of general registers Stack/Base Pointer registers Source/Destination Index registers Code/Data/Stack/Extra Segment registers Instruction Pointer register

s o d o t

os

s o it e r di

s. i a r to u a

Register Source Segment register (CS,DS,SS,ES) Symbol Type of symbol

Estas so as instrues para o 8086, microprocessador de 16 bits compatvel com 8080 de 8 bits. Todas estas instrues ainda so reconhecidas pelos Pentium e pelos concorrentes da Intel, como o AMD K6-II, Durom e Athlon. Antes de programarmos algo, vamos definir alguns termos:

Cpia no autorizada. Reservados todos os direitos autorais.


133/64

Instituto Monitor

Cpia no autorizada. todosem os direitos autorais. executado um microcomputador IBMPROGRAMA Seqncia lgica deReservados instruPC compatvel que utiliza microprocessador es (ou comandos) que o microprocessador Intel. Apesar de o disco ser o mesmo utilizasabe executar. do no drive de ambos, seu contedo, que o programa objeto, s interpretado pelo ROTINA Programa que se repete continuaMachintosh, e vice-versa. mente.

s. i a r Quando trabalhamos com programas curo nossa mentos, as coisas ficam bem clarastem te. Porm, quando o programa au se estende dePROGRAMA FONTE a idia do programais ou utiliza muitas sub-rotinas, a tendns o mador expressa em seqncia de mnemcia perder o fio da meada. Para que isso t i nicos. no ocorra, foi introduzido na programao o e r fluxograma. Como i o nome diz, um diagradfiguras PROGRAMA OBJETO o programa fonte ma que utiliza geomtricas e setas s aps ser compilado, ou seja, so os cdigos para indicar o fluxo que o programa deve seo hexadecimais. guir. s o d Obs.: voc pode levar seu programa fonte Assim, temos: o t para qualquer microprocessador, desde que s faa as equivalncias entre os mnemnicos. Representa INCIO ou FINAL. o d J o programa objeto s pode ser levado a para outro microprocessador igual ou equi- v Representa qualquer operao. r valente. e s Representa COMPARAO e e Tudo o que est armazenado no disco fleDECISO. R . obxvel, CD-ROM, HD, etc., so programas a d prograjeto. Por exemplo, um disquete com Representa EMENDA. a ma para o microcomputador Machintosh da izMotorola, no r Apple, que utiliza processador Representa o sentido do FLUXO. o t au o Anotaes e Dicas n a i p C

SUB-ROTINA Programa que executado somente se for chamado. Fica fora do programa principal, em algum lugar na memria RAM. Tem comeo e fim.

4. Fluxograma

Cpia no autorizada. Reservados todos os direitos autorais.


133/65

Cpia no autorizada. Reservados todos os direitos autorais.

lio

s. i a r Introduo Lembramos que para os 80X86 to os regisu tradores so de 16 bits, assim 1111 1111 1111 a 1111 corresponde a FFFFh. Faremos um breve estudo da programao s Assembly para 80X86, comentando como seria o tcarregam i As instrues que registradores em Assembly Z80. Vamos utilizar o fluxograe r (veja tabela da lio 9). so as instrues MOV ma, que nos auxiliar a entender o processadi Utilizamos as seguintes: mento das instrues. s MOV AX , FFFFh o 1. Fluxograma s MOV BX , FFFFh o d O fluxograma utilizado para organizar o MOV toCX , FFFFh andamento do programa e para que o progras DX , FFFFh MOV mador no se perca no meio do caminho. o d O Z80 apresenta registradores de 8 bits PROGRAMA 1 - Carregando todos os regis-va r conforme mostra a figura 26. tradores de uso geral com 11111111 . e es Incio R Registradores do Z80 (8-bits) . Incio a d A LD A, FFh a iz C B r AX = FFFFh LD BC, FFFFh o t E D au L H LD DE, FFFFh o BX = FFFFh n Os registradores A, B, C, D, E, H e L so de 8 bits. Podemos associar em LD HL, FFFFh a i pares somente os seguintes registradores: BC, DE e HL. Cada par p CX = FFFFh forma um registrador de 16 bits. Fim C

10

Noes de Programao Assembly

Figura 26

DX = FFFFh

Fim Figura 25

Programas em Assembly so compostos de binrios representados por cdigos hexadecimais. So gravados na memria, portanto cada cdigo ocupa um endereo de memria.

Cpia no autorizada. Reservados todos os direitos autorais.


133/67

Instituto Monitor

Cpia no autorizada. Reservados todos os O direitos autorais. reset automtico. processamento aconteAo rodar o programa (do Ingls run , que

significa correr no Brasil foi traduzido como rodar), devemos dizer ao processador onde se encontra a primeira instruo do programa. Esse endereo dever ento ser carregado no registrador PC (Program Counter) e o microprocessador executar o programa que estiver na memria, a partir daquele endereo.

ce assim: Liga o computador. Microprocessador resetado automaticamente. As linhas de endereamento so todas colocadas em nvel lgico zero, formando o endereo zero. Ativam-se os pinos MEM e RD, indicando que o processador far uma leitura de memria.

s. i a r 2. Como um Programa Roda to u Em outras palavras: como feito o a No primeiro pulso de clock o microprocesprocessamento das instrues? s sador ir procurar pela primeira instruo to 1) Devemos conhecer o sistema microproi a ser executada. o ciclo de fetch (busca cessado. Onde est o microprocessador? re de instruo na memria). i d 2) O que podemos fazer? Quanto de mem A primeira instruo dever estar em s no-voltil (ROM, PROM, ria ele tem? Quais os perifricos e como uma memria o se comunicar com eles? EPROM, s E2PROM), cujo endereo zero o da memria conter o cdigo da primei3) Fazer um fluxograma para organizar as d o ra instruo. idias. t s Os prximos pulsos de clock copiaro o con4) Montar a tabela de programao, indicano do o endereo da memria a partir do qual d tedo daquele endereo para o interpretaa dor de instruo da CPU. estar gravado o programa. v r Interpretada a instruo, mais alguns pule 5) Compilar os mnemnicos para os cdigos s sos de clock para que ela seja executada. hexadecimais e criar o programa objeto. e R Ao terminar a execuo da primeira ins6) Gravar na memria o programa criado. . Cotruo o registrador PC ter o endereo da locar a memria no sistema. da prxima instruo. a o regis7) Executar o programa, carregando z Copia-se o contedo do Program Counter ri da memria trador PC com o endereo o para as linhas de endereamento. Ativant onde se inicia o programa. u do os pinos MEM e RD, buscar na mema ria, naquele endereo, a prxima instruo. Pronto! Automaticamente, o registrador o PC vai sendo incrementado medida que as A partir da o ciclo se repete at o trmino n instrues so executadas. do programa ou desligamento da mquina. a i Assim, busca instruo na memria (ciclo 3. Ligando p o Microcomputador de fetch, interpreta instruo, executa insC

Ao ligarmos a alimentao, todo microprocessador deve ser resetado. No pino reset do microprocessador deve ter um circuito de

truo, o registrador PC aponta para o endereo da prxima instruo, busca instruo, interpreta, ...). Representando em um fluxograma, seria:

Cpia no autorizada. Reservados todos os direitos autorais.


133/68

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos autorais. Liga


RESETA P

PC = 0000h

MEM e RD so ativados Busca Instruo

Interpreta

Executa

PC = endereo prxima instruo N

a i p C

s o d S a v Fim r e s e R Figura 27 . a d za i r de loop quando um programa volta ao comeo. TeChamamos o t tomar cuidado com o loop infinito, pois, se ocorrer, o remos que u programa a nunca termina, sempre voltando ao incio. o Anotaes e Dicas n
Acabou?

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/69

Cpia no autorizada. Reservados todos os direitos autorais.

lio

s. i a r Introduo Caso no aparea em tela inteira, to pressiou ne ALT e ENTER e o prompt do MS-DOS ocua par a tela inteira. Para treinarmos um pouco a parte prtica, s teramos que montar um sistema com microto i Digite: DEBUG [ENTER] processador e memrias, criar circuitos de re interface para entrada de dados no processador i Voc j est d rodando o programa DEBUG, e recebimento de dados do processador. s cujo cursor um sinal de menos com uma o ao lado. barrinha piscando Qualquer computador compatvel com s IBM-PC e que tenha sistema operacional MSo d Digite: ? [ENTER] DOS ou Windows, tem um programa chamado o t DEBUG. Este programa acompanha todos os s Aparecer na tela todas as chaves do propacotes Windows. o d grama. O DEBUG foi criado e incluso no Windowsva r A chave ? o help (ajuda) do programa, para auxiliar programadores experientes. Utilie auxiliando voc a utiliz-lo. zaremos como nica fonte fcil e vivel paras treiee danar a programao de microprocessadores R . utilizar -? remos aqui algumas indicaes de como a assemble A [endereo] o DEBUG em seu aprendizado. d a compare C intervalo endereo z i dump D [intervalo] A partir de qualquer r computador com o Programas enter E endereo [lista] Windows, clique em Iniciar t fill F intervalo lista Prompt do MS-DOS. au go G [=endereo] [endereos] o hex H valor1 valor2 n input I porta a load L [endereo] [unidade] i p [primeiro-setor] [nmero] move M intervalo endereo C

11

Debug da Microsoft Software Assembler 80X86

Figura 28

Cpia no autorizada.

N [caminho] [lista-de-parmetros] output O porta byte proceed P [=endereo] [nmero] quit Q register R [registrador] search S intervalo lista Reservados direitos autorais. tracetodosTos [=endereo] [valor]

name

133/71

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos autorais. unassemble U [intervalo]


write allocate expanded memory deallocate expanded memory map expanded display expanded memory status W [endereo] [unidade] [primeiro-setor] [nmero] XA [#pginas]

XD [identificador] XM [pginaL] [pginaP] memory pages [identificador] XS

a i p C

s o it e ir d Desta lista de chaves utilizaremos apenas as seguintes: os COMENTRIOS s CHAVE o d ASSEMBLE, seguida do nmero do endereo de memria, onde se A iniciar o programa. to s de memria que se deseja UNASSEMBLE, seguida do endereo o DESASSEMBLAR. Na tela aparecem os endereos, cdigos e d U mnemnicos do programa. a v o qual se deseja ver o contedo em r DUMP, seguido do endereo D e cdigos hexadecimais. s NAME, seguido e de uma palavra com at 8 caracteres e terminao R N .COM, nomeia seu programa para armazenar em DISCO. . a mostra o STATUS de todos os registradores do IBM-PC, REGISTER, d bem como Quando seguido pelo nome do registrador, pera as FLAGs. R z mite visualizar seu contedo atual e abre espao para que voc o i r altere. o t WRITE, salva em disco seu programa FONTE e OBJETO. W u a Permite que voc execute seu programa sem o DEBUG. o GO, executa o programa a partir do endereo de memria apontado G pelos registradores CS e IP. n
T P O I TRACE, executa as instrues de um programa, uma a uma, mostrando com ficam os registradores aps cada instruo. PROCEED, prossegue a execuo das instrues de um programa, s parando em pontos de deciso. OUTPORT, envia DADOS para um perifrico. INPORT, recebe DADOS de um perifrico.

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/72

Instituto Monitor

Cpia no autorizada. Reservados todos os autorais. Temporizar oudireitos fazer uma pausa muito 1. Restries do DEBUG

Ao executarmos o DEBUG em qualquer mquina, primeiro devemos digitar: R [ENTER]. Anote o valor do registrador CS. Quando da criao do sistema IBM-PC, decidiu-se dividir a memria em pginas de 64 kbytes cada uma. Assim, o registrador CS tem um nmero hexadecimal que corresponde pgina. O registrador IP contm o endereo inicial livre dessa pgina para programao, que sempre 0100h.

utilizado em softwares de controle. Lembra dos semforos? No DEBUG digite: A100 MOV BX , 0FFF MOV CX , 0002 DEC CX JNZ 106 DEC BX JNZ 103 INT 20 [ENTER] [ENTER] [ENTER] [ENTER] [ENTER] [ENTER] [ENTER] [ENTER] [ENTER]

s o it e ir d Com o DEBUG no podemos criar proVoc estar no cursor do DEBUG. Lemgramas maiores que 64 kbytes, pois no pobra como ele os? O sinal de menos e uma bardemos mudar de pgina. s rinha piscando ao lado. o d Exemplo: o Digite: t U100 [ENTER] s -R o Aparecer na tela algo assim: AX=0000 BX=0000 CX=0000 DX=0000 ad -U100 v SP=FFEE BP=0000 SI=0000 DI=0000 r 166F:0100 BBFF0F MOV BX,0FFF DS=166F ES=166F SS=166F CS=166F e s 166F:0103 B90200 MOV CX,0002 IP=0100 NV UP EI PL NZ NA PO NC e 166F:0106 49 DEC CX 166F:0100 BBFF0F MOV BX,0FFF R . 166F:0107 75FD JNZ 0106 a 166F:0109 4B DEC BX d Aqui observamos os registradores: a 166F:010A 75F7 JNZ 0103 izuso geral com 166F:010C CD20 INT 20 r AX, BX, CX e DX, que so de o t seus contedos. CS=166F au Esta a listagem completa do programa IP=0100 o que acabamos de digitar. No lado esquerdo temos o valor de CS (que no se altera) sepan O valor de CS pode mudar de uma mrado por dois pontos do valor do IP. S IP a Isto no importante, mas i quina para outra. muda, pois se refere aos endereos de mep devemos anotar o valor de CS que aparecer. mria daquela pgina. C
PROGRAMA 2 - TEMPORIZADOR Se fizermos um programa que mande o processador contar de um determinado nmero at chegar a zero, ele no executar nada, a no ser a contagem. Isso deixa a mquina numa espera at que a contagem termine.

s. i a r to u a

Voc nota que a instruo MOV BX,0FFF ocupa trs endereos de memria, que o cdigo da instruo MOV BX (nmero de 16 bits) BB e que o cdigo da instruo MOV CX (nmero de 16 bits) B9. Em cada endereo de IP cabem somente 8 bits.

Cpia no autorizada. Reservados todos os direitos autorais.


133/73

Instituto Monitor

Cpia noMOV autorizada. Reservados os autorais. dicatodos o endereo dadireitos prxima instruo. No fiA instruo carrega os registrado

res com nmero ou copia o contedo de outro registrador. Vamos executar esse programa passo-a-passo. Digite: RIP 100 R [ENTER] [ENTER] [ENTER]

nal da tela vemos a instruo a ser executada. Digite: T [ENTER], para executar esta nova instruo. Resultado:

s. i aDX=0000 AX=0000 BX=0FFF CX=0002 r o SP=FFEE BP=0000 SI=0000 tDI=0000 Na tela aparecer o STATUS dos regisu DS=166F ES=166F SS=166F CS=166F a tradores e no final a primeira instruo do IP=0106 NV UP EI PL s NZ NA PO NC programa digitado. 166F:0106 49 DEC o CX t i Exemplo: re i dvalor alterado conforme a insCX teve seu -rip s truo, IP o agora indica o endereo da prxiIP 0100 ma instruo :100 s e no final da tela vemos esta nova o instruo. -r d AX=0000 BX=0000 CX=0000 DX=0000 o t Ao digitar T [ENTER] o processador estaSP=FFEE BP=0000 SI=0000 DI=0000 s DS=166F ES=166F SS=166F CS=166F o r executando a instruo DEC CX. O resuld tado: IP=0100 NV UP EI PL NZ NA PO NC a 166F:0100 BBFF0F MOV BX,0FFF v r AX=0000 BX=0FFF CX=0001 DX=0000 e SP=FFEE BP=0000 SI=0000 DI=0000 CS e IP juntos compem o registrador s PC e DS=166F ES=166F SS=166F CS=166F (Program Counter). Para efeitos didticos R voc . IP=0107 NV UP EI PL NZ NA PO NC pode considerar IP = PC j que o CS no muda. a 166F:0107 75FD JNZ 0106 Assim, IP est com o endereo da instruo d a que vai ser executada. iz r o CX passou de 0002 para 0001, significanDigite: T [ENTER] t u do que a instruo DEC CX subtraiu uma unia dade do valor do registrador CX. A chave T faz que o processador o com execute somente esta instruo. n DEC o mnemnico de DECREMENT, a i seria: traduzido como decrementar ou subtrair uma O resultado p unidade. A instruo contrria ao DEC INC, C BX=0FFF CX=0000 DX=0000 de INCREMENT ou incrementar, somar uma AX=0000

SP=FFEE BP=0000 SI=0000 DI=0000 DS=166F ES=166F SS=166F CS=166F IP=0103 NV UP EI PL NZ NA PO NC 166F:0103 B9FFFF MOV CX,0002 -

unidade ao contedo.

Alm disso, IP indica agora o endereo da prxima instruo e no final da tela vemos a prxima instruo. JNZ o mnemnico de JUMP if NOT

Cpia no autorizada. Reservados todos os direitos autorais. ZERO para endereo. 0FFF, como mandava a instruo. IP agora in

Note que o valor de BX foi mudado para

133/74

Instituto Monitor

Cpia no autorizada. Reservados todos osque direitos autorais. 0000. Notaremos a FLAG de zero se maQuando decrementou o registrador CX,

o processador utilizou a ULA e as FLAGS observaram o resultado. As FLAGS so mostradas no lado direito da tela: NV UP EI PL NZ NA PO NC. Observe a FLAG de ZERO indicando NZ (NOT ZERO): o resultado no foi o nmero zero. verdade: CX era 0002 e passou para 0001, que no zero. A instruo JUMP significa saltar para um endereo; seu mnemnico JMP endereo. Este salto para endereo pode ser condicionado ao apontamento das FLAGS. SALTE SE a FLAG DE ZERO for ATIVA. (ZR) SALTE SE a FLAG de ZERO NO for ATIVA. (NZ) Se houver CARRY. Se NO houver CARRY. etc. Voltando ao programa, a instruo seguinte JNZ 0106. SALTE se NO for ZERO para o endereo 0106.

nifestar indicando que houve resultado da ULA igual a zero. Vejamos, digite T [ENTER]: AX=0000 BX=0FFF CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=166F ES=166F SS=166F CS=166F IP=0107 NV UP EI PL ZR NA PE NC 166F:0107 75FD JNZ 0106 CX foi para zero ao ser decrementado e a FLAG de zero mostra agora ZR, indicando que houve um resultado nulo pela ULA. IP aponta para a prxima instruo, que JNZ 0106. Esta instruo ser ignorada, pois no ir saltar; o resultado zero. Veja:

s o d AX=0000 BX=0FFF CX=0000 DX=0000 a v SP=FFEE BP=0000 SI=0000 DI=0000 r DS=166F ES=166F SS=166F CS=166F se IP=0109 NV UP EI PL ZR NA PE NC Observando as FLAGS vemos o NZ. e Por166F:0109 4B DEC BX tanto, dever ocorrer o salto para o endereo R . 0106. a d IP aponta agora para o endereo 0109 e Conferindo aps digitar T [ENTER]: za i r no 0106. Significa que ignorou a instruo o t JNZ 0106 e dever executar a instruo do AX=0000 BX=0FFF CX=0001 DX=0000 u endereo 0109, que DEC BX. SP=FFEE BP=0000 SI=0000 DI=0000 a DS=166F ES=166F SS=166F CS=166F o O valor de BX 0FFF, que decrementado IP=0106 NV UP EI PL NZ NA PO NC n DEC ir para 0FFE (nmero hexadecimal). Isto 166F:0106 49 CX a i muda a FLAG de zero para NZ, pois o resulp tado do decremento NO foi ZERO. C Realmente, IP aponta agora para o ende

s o d o t Digite T [ENTER]:

os

s o it e r di

s. i a r to u a

reo 0106, onde estar a prxima instruo DEC CX. Acabamos de ver um LOOP, ou seja, o programa volta para executar novamente um trecho do programa j executado anteriormente.

Digite T [ENTER] e veja:

AX=0000 BX=0FFE CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=166F ES=166F SS=166F CS=166F IP=010A NV UP EI PL NZ NA PO NC Executando a prxima instruo DEC CX, 166F:010A 75F7 JNZ 0103 o valor de CX ser zero, pois 0001 menos 1 Cpia no autorizada. Reservados todos os direitos autorais.

133/75

Instituto Monitor

Cpia no autorizada. todos os direitos autorais. Verifique a alterao na listagem. Vamos IP aponta para o endereo 010A Reservados da pr

xima instruo, que JNZ 0103. SALTE se NO for ZERO para o endereo 0103. Portanto, haver o salto para o endereo 0103, pois vemos a FLAG indicar NZ. Este ser o segundo LOOP deste programa.

executar. Digite: RIP [ENTER] 100 [ENTER] R [ENTER] G [ENTER]

s. i a r Utilizando um microprocessador AMD o O programa seguir assim at que o cont K6 II 500 MHz, levou aproximadamente 1 u tedo dos registradores BX e CX seja zero. a segundo para aparecer a frase: Programa terQuando isto ocorrer, a instruo JNZ 0103 s Utilizando um minado normalmente. o ser ignorada e a prxima instruo a ser exemicroprocessador 80386 it - SX 33 MHz, levou cutada ser a INT 20. INT 20 uma interrupe aproximadamente r 10 segundos para apareo por software que executar um prograi cer a frase. Portanto, d este tempo varia de mma da BIOS, finalizando o programa e volquina para mquina. Mas podemos ajustar o s tando ao prompt do DOS ou do DEBUG.Use o tempo que quisermos por tentativa e erro, deiINT 20 para terminar seus programas no s com FFFF e aumentando BX para xando o CX DEBUG. um nmero hexadecimal maior que 0FFF. d o t Vamos executar este programa diretaExperimentando BX=1FFF, a frase apas mente sem interrupes. o receu aps 2 segundos. Com BX=2FFF a frad a se apareceu aps 3 segundos. v Digite: r e Para sair do DEBUG digite no prompt (siRIP [ENTER] s e nal de menos com a barrinha piscando) Q 100 [ENTER] R [ENTER]. R [ENTER] . a G [ENTER] d Vimos que no DEBUG voc digita os a mnemnicos e o software busca os cdigos de Aparecer a frase: iz r cada instruo montando assim seu prograo Programa terminado normalmente t ma objeto. Para finalizar esta parte, o prou grama objeto do Programa 2 : a o rpido! Depende do PROGRAMA OBJETO Mas foi muito CS IP cdigo HEX BINRIO n processador utilizado e dos valores de BX e a 166F:0100 BB 10111011 CX. Quanto i maiores forem os valores, maior 166F:0101 FF 11111111 p ser o tempo gasto para a contagem. 166F:0102 2F 00101111 C 166F:0103 B9 10111001
Vamos editar o programa e alterar somente o endereo 0103. Digite: A0103 [ENTER] MOV CX , FFFF [ENTER] [ENTER] Cpia no autorizada. U100 [ENTER]

Reservados todos os direitos autorais.


166F:0104 166F:0105 166F:0106 166F:0107 166F:0108 166F:0109 166F:010A 166F:010B 166F:010C 166F:010D

FF FF 49 75 FD 4B 75 F7 CD 20

11111111 11111111 00101001 01110101 11111101 01011011 01110101 11110111 11001101 00100000

133/76

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos autorais. PROGRAMA FONTE


166F:0100 166F:0103 166F:0106 166F:0107 166F:0109 166F:010A 166F:010C MOV MOV DEC JNZ DEC JNZ INT BX,2FFF CX,FFFF CX 0106 BX 0103 20

PROGRAMA 3 - COMPARANDO Faremos um fluxograma para executar o seguinte: 1) Carregar AX = 0023h 2) Carregar BX = 0077h 3) Somar AX com BX e o resultado ficar em AX 4) Comparar AX com 0100h 5) Se for igual carregar CX = FFFFh 6) Se for diferente carregar CX = 0000h

a i p C

o n

s Incio o d a v r AX = 0023H e s e R . a BX = 0077H d a iz r o t AX = AX + BX au


CX = 0000H AX = 0100H?

s o d o t

os

s o it e r di

s. i a r to u a

CX = FFFFH

FIM

Cpia no autorizada. Reservados todos os direitos autorais.


Figura 29

133/77

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos Escrevendo o programa fonte, consultando a Tabela de Instru- autorais.
es dos 80X86: MOV ADD CMP JMP carrega registradores. soma registradores. compara registradores, se os contedos forem iguais, ativa a FLAG de zero. salta para endereo incondicionalmente.

Assim:
ENDEREO CDIGO MNEMMICOS HEXADECIMAL HEXADECIMAL COMENTRIOS

de um endereo, o endereo da instruo MOV CX , 0000. XAXA a cia i ser substitudo pelo endereo da instruo INT 20. p C Este tipo de tcnica permite a voc ter uma coletnea de programas em ASSEMBLY, podendo ser utilizada em qualquer programa que se venha a fazer.

s o MOV AX , 0023 Carrega AX com 0023h it 0077h MOV BX , 0077 Carrega BX come r Soma Ax comiBX e resultado d ADD AX , BX fica em AX Compara osse o valor de AX CMP AX , 0100 0100h s o Salta para o endereo XUXA d JNZ XUXA se AX for diferente de 0100h o t MOV CX , FFFF Carrega CX com FFFFh s Salta para endereo XAXA JMP XAXA o d XUXA: MOV CX , 0000 Carrega CX com 0000h a XAXA: Finaliza o programa v INT 20 r e s Neste exemplo, utilizamos e a tcnica do LABEL, que em Ingls significa rtulo. Aqui R entendemos como ETIQUETA de MARCA. REFERNCIA. O ou simplesmente a d a Quando no sabemos exatamente a partir de qual endereo se z i r iniciar nosso programa, substitumos os endereos relativos a salo por um LABEL; uma referncia para mais tarde ser t tos (JUMP) substituda au por um nmero de endereo de memria. o n No exemplo, o endereo XUXA no existe. XUXA a refern-

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/78

Cpia no autorizada. Reservados todos os direitos autorais.

Exerccios Propostos
1 - Faa um fluxograma para que se execute o seguinte: a) Carregar o registrador AX com 1234h b) Carregar o registrador BX com 0234h c) Carregar o registrador CX com 0034h d) Carregar o registrador DX com 0004h

e) Subtrair um registrador do outro de modo que SE a FLAG de ZERO for ATIVADA encerre o programa.

a i p C

o n

s o d a v r e s e R . a d a iz r o t au

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/79

Instituto Monitor

Cpia autorizada. 2 -no Utilizando as instrues: Reservados todos os direitos autorais.


MOV registrador, nmero SUB registrador, registrador JZ endereo Escreva o programa fonte para a questo 1.

a i p C

o n

s o d a v r e s e R . a d a iz r o t au

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/80

Cpia no autorizada. Reservados todos os direitos autorais.

lio

s. i a r Introduo 1. Canais de I/O to u a Vimos que um microcomputador s preciQuando queremos assistir a um programa s sa de CPU, memria ROM e memria RAM. Enna TV, colocamos a televiso no canal desejato i tretanto, queremos que ele atue sobre disposido e pronto. A TV tem vrios canais, mas soreem cada canal. tivos para receber ou enviar dados. Os micromente uma emissora i d processadores s sabem lidar com nmeros bis Imagine que o computador seja a sua TV nrios. Os programas esto nas memrias e os o e cada perifrico seja uma emissora. Se o comdispositivos externos so perifricos de I/O. s putador quiser trocar informaes com o o d mouse , ele tem que colocar os barramentos Voc lembra dos pinos RD, WR, MEM e o t IO? Com eles temos as seguintes combinaes: no canal do mouse. Se quiser acessar a ims pressora, tem que colocar os barramentos no o d canal da impressora. RD MEM Leitura da memria a WR MEM Escrita na memria v r Cada perifrico precisa ter o seu prprio RD IO Leitura de perifrico e s canal de comunicao, seno ocorre o confliWR IO Escrita no perifrico e to. A CPU Z80 dispe de 256 canais de I/O (do R . canal 0 at o 255). Ela indica o nmero do caO processador fica o tempo todo nos proa nal atravs das 8 primeiras linhas de enderegramas fazendo somente estas quatro atividad a amento (A0 at A7) e ativa o pino IO. des. J vimos como ele enderea a memria, l z i e escreve seus dados. Mas agora, como fazer or Nas CPUs 80X86 temos 16 linhas de endeisto com perifricos? t u reos para I/O (A0 - A15) 64 k dispositivos. O a o Anotaes e Dicas n a i p C

12

Dispositivos de I/O (Entrada e Sada)

Cpia no autorizada. Reservados todos os direitos autorais.


133/81

Instituto Monitor

Cpia no autorizada. Reservados todos osat direitos IBM-PC faz uso apenas dos 10 primeiros bits (A0 A9) de autorais.
endereamento. Os bits de A10 at A15 so ignorados e o bit A9 indica se o perifrico est on-board ou via slot de expanso (conector de barramentos). Portanto, podemos ter 512 dispositivos em 512 canais de I/O. A figura 30 mostra como as linhas de endereamento formam o nmero do canal de I/O desejado.

Bits de Endereo 19 18 17 16 15 14 13 12 11 10 9

8 7 6 5 4 3 2 1 0

a com a CPU preciso um programa (software) de controle. Este i p software ensina o computador como usar o perifrico. Estes proC gramas geralmente so pequenos e chamados de driver, funcionando como sub-rotinas e ficando alocados em endereos reservados da memria RAM; so chamados (CALL) somente quando necessrio. O processo de ligar um perifrico CPU chama-se interfaceamento. Alm do hardware do perifrico, outro circuito chamado interface deve ser desenvolvido.

o Figura 30 n Antes de tudo, o perifrico um hardware, mas para funcionar

s o Gerado pelas d a instrues IN e OUT, v mas ignorado no r e caso do PC XT s e R No so usados pelas . instrues IN e OUT a d za Instruo A9 = 0 A9 = 1 i r o IN Placa do Sistema Slots de Expanso t Placa do Sistema e Slots de Expanso au OUT

s o d o t

os

s o it e r Espao de I/O com i d 512 endereos

s. i a r to u a

Indica se o endereo para a placa do sistema ou para os slots de expanso (A9 = 0) - placa do sistema (A9 = 1) - slots de expanso

Cpia no autorizada. Reservados todos os direitos autorais.


133/82

Instituto Monitor

Cpia no autorizada. Reservados todos os o direitos A figura 31 mostra um exemplo para interfacear IBM-PC autorais.
utilizando seus barramentos que esto disponveis atravs dos slots (conectores) de expanso.
GND RESET DRV +5V IRQ9 -5V DRQ2 -12V 0WS +12V GND MEMW MEMR IOW IOR DACK3 DRQ3 DACK1 I/O CH CK D7 D6 D5 D4 D3 D2 D1 D0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

a i p C

o n

s o d DRQ1 18 a v 19 REFRESH r e 20 CLOCK s IRQ7e 21 R 22 IRQ6 . IRQ5 a 23 d IRQ4 24 a z IRQ3 25 ri o 26 DACK2 t T/C 27 au
ALE 28 29 30 31 +5 V OSC GND

A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

Figura 31

A figura mostra um slot ISA de 8-bits encontrado em algumas placas-me para INTEL 80486. Deste slot, para criar uma interface, precisamos: D0 at D7, que o barramento de dados.

Cpia no autorizada. Reservados todos os direitos autorais.


133/83

(component side)

s o it e I/O CH RDY r AEN di A19 s A18 o s A17 o dA16 o t A15

s. i a r to u a

Instituto Monitor

Cpia no todos os direitos autorais. autorizada. A0 at A9, que o Reservados barramento de endereo de I/O.
+5 V para alimentar os CIs da interface. GND, que a referncia 0 volt. IORD sinal da CPU, indicando que far leitura no dispositivo de I/O.

s. i a r ALE (AEN) sinal ADDRESS LATCH ENABLE, utilizado para to fixar um endereo de I/O, desabilitando as demais linhas. u a O circuito lgico seria parecido com este: s to 74LC32 i Seletor de canais re 74LS04 i IORD d A0 s A1 o A2 s A3 o A4 d 74LS244 o A5 t A6 74HC38 s o A7 d 74LS373 A8 a v A9 r e AEN s 74LS08 IORD e R IOWR 74LS32 . a Habilitado Direo d D0 a D1 iz D3 r D4 o D5 t D6 D7 au o 74LS245 74LS32 n a 74LS04 i p Figura 32 C
IOWR sinal da CPU, indicando que far uma escrita no dispositivo de I/O. Do lado esquerdo da figura vemos os sinais do slot e do lado direito os sinais do perifrico. Explicando o circuito lgico, este circuito prev o acesso a um dos 8 endereos disponveis. Note as chaves nas linhas A0, A1 e A2. Existem 8 combinaes possveis entre elas. Cada combinao gera um nmero de canal de I/O diferente. A sada da porta de 8 no autorizada. Reservados todos osNAND direitos

D0 D1 D3 D4 D5 D6 D7

D0 D1 D3 D4 D5 D6 D7

Cpia

autorais.

133/84

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos entradas fica o tempo todo em nvel lgico 1, indo a nvel lgico 0 autorais.
quando todas as suas entradas estiverem em nvel lgico 1. Isto s ocorre quando no barramento de endereos temos o nmero do canal selecionado. Assim, os endereos disponveis so:

s. i a r o Para que a porta NAND possa ir a nvel lgico Por estarem Podem variar de t u ZERO estas linhas obrigatoriamente tm que estar ligadas a 000 at 111 a em nvel lgico 1. INVERSORES 8 combinaes s o it endeConvertendo para hexadecimal, temos os nmeros e dos r reos de I/O possveis: di A2 A1 A0 CANAL os 0 0 0 3E0h s o 0 0 1 3E1h d o 0 1 0 3E2h t 0 1 1 s 3E3h 1 0 0 do 3E4h a 1 0 1 3E5h v 1 1 er 0 3E6h 1 1s 1 3E7h e R . Dependendo da posio das chaves, somente um canal ser rea d conhecido. a iz um direcionador tri-state de fluxo de dados (8 r O CI 74LS245 o t bits) entre a CPU e o perifrico. O CI 74LS373 um LATCH para u fixar os dados enviados da CPU para o perifrico. O LATCH soa mente ativado quando a porta NAND reconhecer o canal e for a o nvel lgico 0 e a CPU enviar os sinais IOW de escrita no perifrico n de I/O. O CI 74LS244 um tri-state para permitir a entrada de a i dados do perifrico para a CPU. O tri-state somente ativado quanp do a porta NAND reconhecer o canal e for a nvel lgico 0 e a CPU C enviar os sinais IOR de leitura do perifrico de I/O.
AEN 1 A9 1 A8 1 A7 1 A6 1 A5 1 A4 0 A3 0 A2 A1 A0 Este circuito pode ser expandido para 16 bits, bastando manter a porta NAND e acrescentando em paralelo mais um CI de cada.

Cpia no autorizada. Reservados todos os direitos autorais.


133/85

Instituto Monitor

Cpia no Modo Operante:

autorizada. Reservados os direitos autorais. sui todos em seu interior. a placa controladora

a CPU ativa a linha I/O; ativa a linha AEN, indicando que no barramento de endereos ter o nmero de um canal de I/O; coloca no barramento de endereo o nmero do canal de I/O; ativa a linha RD ou WR, dependendo da instruo do software. As instrues de software que acessam perifricos so: IN para entrada de dados do perifrico para a CPU. OUT para sada de dados da CPU para o perifrico.

Quando o software pede o acesso a um perifrico:

de impressora ou porta de comunicao paralela LPT1. Ela disponibiliza na parte traseira do micro um conector DB-25 pinos fmea com a seguinte configurao:

s o D0 o bit menos significativo (vale 1 em d Montado em uma placa de circuito ima decimal). presso e seguindo os padres de interface v r para o IBM-PC, ficaramos com algo assim: D7 o bit mais significativo (vale 128 em e s decimal). e Lmina de apoio ao Placa de Circuito R Gabinete PINOS de 10 a 13 e PINO 15 - Pertencem ao Impresso . a canal de I/O 379h e a CPU os utiliza para red ceber dados do perifrico. a z ri S7 o bit mais significativo, mas, por eso tar barrado, a CPU entende seu complet u mento. Exemplo: se S7 for conectado ao a Conector do GND, a CPU entender S7 como nvel lPerifrico o gico 1 e vice-versa. Na leitura do canal n 379 so ignorados os bits S2, S1 e S0 (os aEncaixe padro para i trs bits menos significativos). p SLOT PINO 1, PINO 14, PINO 16 e PINO 17 - Na C Figura 33

PINO 2 ao PINO 9 - Na seqncia, so D0 at D7, sadas de dados da CPU (8 bits) atravs do canal de I/O 378h nos micros modernos. Para micros antigos pode ser os canais 278h ou 3BCh.

s o d o t

os

s o it e r di Figura 34

s. i a r to u a

2. Porta de Comunicao Paralela do IBM-PC Compatvel

Para podermos treinar microprocessadores, continuamos a utilizar o IBM-PC. Em vez de construir uma placa de interface, vamos PINOS 18 a 25 - direitos So todos conectados ao Cpia no autorizada. todos os autorais. utilizar a interface que o computadorReservados j posGND.

seqncia, so os 4 bits menos significativos do canal 37Ah. O canal 37Ah bi-direcional, ou seja, os dados podem entrar ou sair por ele. bvio que se deve avisar a este canal com antecedncia o que se deseja fazer (via software).

133/86

Instituto Monitor

Cpia no autorizada. todos os direitos autorais. Tabela dos Canais daReservados LPT1
Porta 3 7 8 h BIT 7 6 5 4 3 2 1 0 7 6 5 4 3 4 3 2 1 0 Direo OUT OUT OUT OUT OUT OUT OUT OUT IN IN IN IN IN IN/OUT IN/OUT IN/OUT IN/OUT Pinos 9 8 7 6 5 4 3 2 11(L) 10 12 13 15 Hab IRQ 7 17(L) 16 14(L) 1(L) Nome D7 D6 D5 D4 D3 D2 D1 D0 BUSY *ACKNLG PAPER OUT SELECT *ERROR *SLCT IN *INIT *AUTO FEED * STROBE

3 7 9 h 3 7 A h

a i p C

s o d 3. Perifricos Simples a v r Acender LEDs para visualizar e sada de dados da CPU. s e dados CPU. Apertar botes para enviar R . a Damos a seguir um perifrico didtico, fcil de montar, barato d e que possibilita expandir sua imaginao para vos mais altos. a iz r o t au o n LEDs 5mm
(L) Indica que o bit invertido
1K 1K 1K 1K 1K 1K 1K

s o d o t

os

s o it e r di

s. i a r to u a

Vermelhos
12 11 24

D7

D6

D5

D4

D3

D2

D1

1K

D0

13 25

10 23 22

9 21

8 20

7 19

6 18

5 17

4 16

3 15

2 14

DB-25 Fmea D7 D6 D5 D4 D3

Chaves de Presso Tipo A Figura Cpia no autorizada. Reservados todos os35 direitos autorais.

133/87

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos autorais. Todos os perifricos de sada: Este perifrico trabalha como qualquer outro, recebendo da CPU dados que no conector aparecem como nveis de tenso +5 volts e 0 volt, respectivamente N.L. = 1 e N.L. = 0. A cada bit igual a 1 na sada acender um LED. A cada bit igual a 0 na sada o LED ficar apagado. Com relao s entradas canal 379h internamente esto conectadas a N.L. = 1, ou seja, +5 volts via resistor de PULL-UP. Ao acionarmos qualquer uma das chaves de presso NA (normalmente aberta), colocamos N.L. = 0 no respectivo pino. Se voc montar este perifrico e ligar ao computador via cabo paralelo (ou cabo para chaveador de impressoras), nada acontece a menos que exista um software para controlar este perifrico. Isto acontece com todos os dispositivos ligados ao computador.

Recebem os sinais digitais vindos da CPU de acordo com o software de controle. Convertem estes sinais digitais para sinais analgicos, utilizando os conversores D/A (Digital/Analgico). Processam estes sinais, tranformando em grandezas fsicas.

4. Testes

s o A partir do prompt do MS-DEBUG digite: A tecnologia tem criado circuitos que, tra- ad balhando com estes dados binrios no formato v r O378, 0 [ENTER] de tenso, nos proporcionam: e s e Todos os LEDs devem se apagar, pois 0h gravar e reproduzir sons; R . corresponde a 00000000 , ou seja, todos os pia preto e visualizar imagens coloridas e em nos de sada estaro em N.L. = 0. Digite: d branco na tela de um monitor; a iz binrios transformar imagens em nmeros O378,1 [ENTER] r omagntica; e armazen-los em mdia t O primeiro LED deve se acender, pois 1h au computadores comunicar-se com outros corresponde a 00000001 , ou seja, somente o o por linha telefnica. pino D0 estar com +5 volts. Digite: n Enfim, todos a os perifricos de entrada: i O378,2 [ENTER] p grandezas fsicas, convertendo Processam C O segundo LED deve se acender, pois 2h as em sinais eltricos analgicos.

Testando o nosso perifrico: o DEBUG tem chaves de acesso direto aos canais de I/ O. A chave I seguida do nmero do canal de I/O retorna na tela um nmero hexadecimal que corresponde ao que foi lido neste canal. A chave O seguida do nmero do canal de I/O vrgula um nmero hexadecimal envia este nmero ao perifrico ligado neste canal.

s o d o t

os

s o it e r di

s. i a r to u a

Convertem estes sinais eltricos em sinais digitais, utilizando os conversores A/D (Analgico/ Digital).

corresponde a 000000102, ou seja, somente o pino D1 estar com +5 volts. Digite: O378,4 [ENTER]

Comunicam com a CPU, que reconhece O terceiro LED deve se acender, pois 4h estes sinais digitais e, de acordo com o corresponde a 000001002, ou seja, somente o software, manipulam estes DADOS. Cpia no autorizada. Reservados todos os direitos autorais. pino D2 estar com +5 volts. Digite:

133/88

Instituto Monitor

Cpia no O378,8 [ENTER]

autorizada. Reservados todos direitos autorais. Testado o os canal de sada 378h, vamos tes

tar o canal de entrada 379h. Lembre-se que pelo hardware de nosso perifrico, ao pressionarmos a chave, colocamos N.L. = 0 no pino correspondente. Com TODAS as chaves NA soltas, digite: I379 [ENTER].

O quarto LED deve se acender, pois 8h corresponde a 000010002, ou seja, somente o pino D3 estar com +5 volts. Digite: O378,10 [ENTER]

s. i a r to na tela. Anote o nmero que aparecer u a e digite: I379 Aperte a primeira chave O378,20 [ENTER] s [ENTER]. to i O sexto LED deve se acender, pois 20h Anote o nmero re que aparecer na tela. corresponde a 00100000 , ou seja, somente o i Aperte a segunda d chave e digite: I379 [ENTER]. pino D5 estar com +5 volts. Digite: s o Anote o nmero que aparecer na tela. O378,40 [ENTER] s Aperteo a terceira chave e digite: I379 [ENTER]. d O stimo LED deve se acender, pois 40h to Anote o nmero que aparecer na tela. corresponde a 01000000 , ou seja, somente o s Aperte a quarta chave e digite: I379 [ENTER]. pino D6 estar com +5 volts. Digite: o d a Anote o nmero que aparecer na tela. v O378,80 [ENTER] r Aperte a quinta chave e digite: I379 [ENTER]. se O oitavo LED deve se acender, poise 80h Anote o nmero que aparecer na tela e corresponde a 10000000 , ou seja, somente R o preencha a tabela abaixo: . pino D7 estar com +5 volts. a d a iz r o Nmero na t CHAVE PRESSIONADA CONVERSO PARA BINRIO u tela em a Hexadecimal o D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 n NENHUMA a i CHAVE X p 1 C
O quinto LED deve se acender, pois 10h corresponde a 000100002, ou seja, somente o pino D4 estar com +5 volts. Digite:
2 2

CHAVE 2 CHAVE 3 CHAVE 4 CHAVE 5

X X X

Cpia no autorizada. Reservados todos os direitos autorais.


133/89

Instituto Monitor

Cpia no autorizada. todos os direitos Lembre-se que a Reservados entrada D7 lida de modo inverso. A corres- autorais.
pondente chave, quando solta, corresponde entrada de N.L. = 0 e, pressionada, corresponde entrada de N.L. = 1. Estes nmeros podem variar de computador para computador. O exemplo a seguir foi realizado em um computador nas seguintes condies: nenhuma chave pressionada retornou 7E; chave presa ao pino D4 pressionada retornou 6E. Nossa tabela ficaria:

s o it PARA BINRIO Nmero na CHAVE PRESSIONADA CONVERSO e tela em ir Hexadecimal d D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 s o 7E NENHUMA s o d CHAVE 1 X to X CHAVE 2 6E s o d X CHAVE 3 a v r CHAVE 4 X e es X CHAVE 5 R . a d Desta tabela, za com essas duas verificaes, j podemos concluir i que: or t o pino uD7 realmente invertido na leitura da porta; a D0, D1 e D2 tm seus valores fixados pelo fabricante que, neste o caso, corresponde a 0, 1 e 1, respectivamente; n as 5 chaves nos permitem entrar com 32 combinaes entre a i elas (2 combinaes); p podemos combinar duas ou mais chaves pressionadas que C
5

s. i a r to u a

saberemos o valor lido pela CPU.

De posse dessas informaes j podemos criar softwares para controlar nosso perifrico.

Cpia no autorizada. Reservados todos os direitos autorais.


133/90

Cpia no autorizada. Reservados todos os direitos autorais.

Exerccios Propostos

s. i a r 1 - Por que a CPU tem seus canais de I/O numerados? to u ( ) a) Porque se no, dois ou mais perifricos tentariam se comunicar com a CPU ao a mesmo tempo. s ( ) b) Para evitar a memria. to i ( ) c) Porque no so soletrados. re ( ) d) Para provocar conflito. i d ( ) e) Porque os perifricos so numerados. s o 2 - O que conflito? s o ............................................................................................................................................ d ............................................................................................................................................ to ............................................................................................................................................ s o ............................................................................................................................................ d a ............................................................................................................................................ v r ............................................................................................................................................ e s ............................................................................................................................................ e R . produzidos pela CPU quando acessa um canal de I/O? 3 - Quais so os sinais eltricos a d ( ) a) ADDRESS BUS, IO, RD ou WR e DATA BUS na escrita. a z ( ) b) DATA BUS, MEM, IO, RD e DATA BUS na leitura. i r ( ) c) ADDRESS BUS, MEM, RD ou WR e DATA BUS na escrita. o t ( ) d) ADDRESS u BUS, IO, MEM e WR. a ADDRESS BUS, WR, RD, IO, MEM. ( ) e) DATA BUS, o 4 - Qual n a importncia dos circuitos tri-state em um computador? ( ) a) Permitem que os barramentos sejam utilizados somente por um dispositivo a cada vez. a i ( ) b) Nenhuma. p ( ) c) Permitem sadas analgicas. C ( ) d) Permitem trs sadas por vez.
( ) e) Perifricos com trs estados.

5 - No perifrico didtico proposto na lio, qual canal de I/O ele utiliza? ( ) a) 378h para receber dados da CPU e 379h para enviar dados CPU. ( ) b) O mesmo do mouse. ( ) c) O mesmo do teclado. ( ) d) 278h para receber dados e 279h para enviar dados CPU. Cpia no autorizada. Reservados todos os direitos ( ) e) Nenhum das alternativas anteriores.

autorais.

133/91

Cpia no autorizada. Reservados todos os direitos autorais.

lio

s. i a r Introduo to u a Como vimos, uma sub-rotina um programa que s chamado s quando necessrio. Ela fica em algum lugar na memria disponvel. to i e rseguida Toda sub-rotina chamada pela instruo CALL do i d nmero do endereo de memria onde ela comea. Termina com a s do programa instruo RET, para indicar CPU a volta ao endereo o que a chamou. s o d 1. Sub-Rotinas o t s A figura 36 exemplifica o processo: o d a v r e XXXXH MOV AH, 09 MOV BX, FF XXXXH es DEC BX PC MOV DX, 378 R 0155H CALL 0200 CMP BX, 00 . 0158H ADD AX, DX JNZ 0203 a d CMP AX, FF RET a JZ 0300 iz r o t au SP FFFFH o FINAL DA n TRECHO MEMRIA PC 0155H a i SP FFFFH p C Figura 36 - SUB-ROTINA - parte 1 - Antes da CHAMADA
O programa vem sendo executado instruo por instruo. PC (Program Counter) o contador de endereos do programa. Nos 80X86 ele uma composio dos registradores CS e IP, apontando para o endereo da prxima instruo 0155H.

13

Programas para Perifrico Didtico

Cpia no autorizada. Reservados todos os direitos autorais.


133/93

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos SP (Stack Pointer ) aponta para o final livre da memria RAM. autorais.

XXXXH PC 0155H 0158H

MOV AH, 09 MOV DX, 378 CALL 0200 ADD AX, DX CMP AX, FF JZ 0300

0200H

MOV BX, FF DEC BX CMP BX, 00 JNZ 0203 RET

SP FFFFH TRECHO PC SP 0158H FFFFH

s o d PC (Program Counter) Ao encontrar a instruo CALL endereo: o t est apontando para o endereo da prxima instruo 0158H. SP (Stack s Pointer) continua o mesmo. o d a A instruo CALL tem que v desviar o fluxo do programa para our tro endereo, mas precisa lembrar qual o endereo de retorno ao e s programa. Para isso, a instruo CALL, ao ser executada, copia o cone tedo de PC (Program R Counter) no final da memria RAM, fazendo . com que o SP (Stack Pointer) aponte para o endereo anterior. a d a iz r o t u XXXXH MOVa AH, 09 PC 0200H MOV BX, FF MOV DX, 378 DEC BX 0203H o 0155H CALL 0200 CMP BX, 00 0158Hn ADD AX, DX JNZ 0203 a CMP AX, FF RET i p JZ 0300 C
SP FFFEH SP FFFFH TRECHO PC SP 0200H FFFEH 0158H FINAL DA MEMRIA

Figura 37 - SUB-ROTINA - parte 2 - Durante instruo CALL

os

s o it FINAL DA e MEMRIA r i d

s. i a r to u a

Cpia no autorizada. Reservados todos Figura 38 - SUB-ROTINA - parte 3 - Ap executar os CALL direitos autorais.

133/94

Instituto Monitor

Cpia no autorizada. Reservados todos os odireitos Assim, PC (Program Counter) aponta agora para endereo autorais.
0200H, onde est a prxima instruo a ser executada. SP (Stack Pointer) aponta para FFFEH, endereo anterior ao que estava.

XXXXH 0155H 0158H

MOV AH, 09 MOV DX, 378 CALL 0200 ADD AX, DX CMP AX, FF JZ 0300

PC

0200H 0203H

MOV BX, FF DEC BX CMP BX, 00 JNZ 0203 RET

s o it 0158H SP FFFFH e r TRECHO FINAL DA di MEMRIA PC 0203H s o SP FFFEH s o SUB-ROTINA Figura 39 - SUB-ROTINA - parte 4 - Executando d to s O programa segue agora pela sub-rotina. PC (Program Counter) o d aponta para o endereo da prxima instruo, 0203H. SP (Stack a v Pointer) no se altera. r e es R . XXXXH MOV AH, 09 a 0200H MOV BX, FF d DEC BX MOV DX, 378 a 0155H CMP BX, 00 CALL 0200 iz 0158H JNZ 0203 ADD AX, DX r o PC 02??H RET CMP AX, t FF u JZ 0300 a o n SP FFFEH a 0158H SP FFFFH i p TRECHO FINAL DA MEMRIA C PC 0158H
SP FFFEH

s. i a r to u a

SP

FFFFH

Figura 40 - SUB-ROTINA - parte 5 - Executando RET

Ao encontrar a instruo RET (Return), o fluxo do programa Cpia no autorizada. Reservados todos os direitos autorais. deve voltar a partir do ponto em que saiu. A instruo RET, ao ser

133/95

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos executada, retira do final da memria o antigo valor de PC (Program autorais.
Counter), devolvendo-o ao registrador PC (Program Counter). PC (Program Counter) aponta para o endereo da prxima instruo, 0158H. SP (Stack Pointer) volta a apontar para o final da memria, FFFFH.

XXXXH 0155H 0158H 015AH

MOV AH, 09 MOV DX, 378 CALL 0200 ADD AX, DX CMP AX, FF JZ 0300

0200H

PC

MOV BX, FF DEC BX CMP BX, 00 JNZ 0203 RET

TRECHO PC SP

a i A instruo PUSH registrador coloca o contedo do registrador p C mencionado na pilha (stack). A instruo POP registrador retira do
topo da pilha o contedo e coloca no registrador mencionado.

FFFFH s o Figura 41 - SUB-ROTINA - parted 6 - Continuando o PROGRAMA a v r normalmente aps ter sido desviaO programa volta a correr e do. PC (Program Counter aponta para o endereo da prxima inse)s truo. SP (Stack Pointer ) aponta para o final da memria. R . a 2. PUSH e POPd Salvando Contedos na Pilha (Stack) a iz instruo muito til que usa a pilha atravs do SP r Existe uma o ), para salvar momentaneamente o contedo de um t (Stack Pointer registrador. au Como temos apenas quatro registradores e so apenas eleso que operam as instrues, s vezes precisamos de mais alguns; como isso no possvel, podemos salvar um determinado conten do e depois recuper-lo.

s o d015AH o t

SP FFFFH

os

s o it e r di

s. i a r to u a

0158H FINAL DA MEMRIA

Cuidado ao utilizar vrios PUSH no mesmo programa ou PUSH e CALL juntos, pois ambos colocam seus dados na pilha. Assim, o primeiro POP deve ser referente ao ltimo PUSH executado.

Cpia no autorizada. Reservados todos os direitos autorais.


133/96

Instituto Monitor

Cpia1: no Exemplo
PUSH AX PUSH BX PUSH CX

autorizada. Reservados todos os direitos autorais. Instrues utilizadas:

MOV registrador , contedo CALL endereo RET DEC registrador JNZ endereo OUT DX, AX Fluxograma
INCIO

Na pilha (stack) teremos no topo o valor de CX. Ao recuperar os dados, o primeiro POP deve ser POP CX, depois POP BX e por fim POP AX. Os POP seguem a ordem inversa dos PUSH. Exemplo 2: PUSH AX PUSH BX CALL 0200 Na pilha (stack) teremos no topo o valor de PC (Program Counter) devido ao CALL. No podemos executar nenhum POP antes de executar o RET, caso contrrio os dados seguiro para registradores errados. Assim: RET, depois um POP BX e por fim um POP AX.

MOV DX, 378

MOV AX, 00

OUT DX, AX

3. Sada de Dados em Canal de I/O se

s o d a v

CALL SUB-ROTINA MOV AX, 01

s o d o t

os

s o it e r di
A MOV AX, 10 OUT DX, AX CALL SUB-ROTINA MOV AX, 20

s. i a r to u a
SUB-ROTINA

MOV BX, 3FFF

MOV CX, 3FFF

DEC CX

NO CX = 0 ?

OUT DX, AX DEC BX CALL SUB-ROTINA MOV AX, 40 RET

OUT DX, AX

e R Para enviar dados a um canal de.I/O utilizamos a instruo OUT DX, AX, a d que significa saia no canal de I/O cujoa nmero est no registrador DX com o contedo iz do regisr trador AX. o t au Significa que antes de programar a inso truo OUT DX, AX devemos carregar DX com o endereon do canal de I/O e carregar AX com o que a se deseja enviar. i p Exemplo: C
MOV DX, nmero do canal de I/O (em hexadecimal) MOV AX, valor desejado (em hexadecimal) OUT DX, AX

NO

BX = 0 ? SIM

CALL SUB-ROTINA MOV AX, 02

OUT DX, AX

OUT DX, AX

CALL SUB-ROTINA MOV AX, 80

CALL SUB-ROTINA MOV AX, 04

OUT DX, AX CALL SUB-ROTINA INT 20

OUT DX, AX CALL SUB-ROTINA MOV AX, 08

OUT DX, AX

PROGRAMA 1 ACENDIMENTO DOS LEDs VAI-VEM

PROGRAMA 1 - Acender os LEDs na seSUB-ROTINA qncia em vai-vem. Cpia no autorizada. Reservados todos

CALL

os direitos autorais.
Figura 42

133/97

Instituto Monitor

Cpia Fonte no Programa

Este programa foi criado no MS-DEBUG a partir do endereo 0100H para a parte principal e 0200H para a sub-rotina. PROGRAMA PRINCIPAL (endereo IP = 0100H) 166F:0100 BA7803 166F:0103 B80000 166F:0106 EF 166F:0107 E8F600 166F:010A B80100 166F:010D EF 166F:010E E8EF00 166F:0111 B80200 166F:0114 EF 166F:0115 E8E800 166F:0118 B80400 166F:011B EF 166F:011C E8E100 166F:011F B80800 166F:0122 EF 166F:0123 E8DA00 166F:0126 B81000 166F:0129 EF 166F:012A E8D300 166F:012D B82000 166F:0130 EF 166F:0131 E8CC00 166F:0134 B84000 166F:0137 EF 166F:0138 E8C500 166F:013B B88000 166F:013E EF 166F:013F E8BE00 166F:0142 CD20 MOV MOV OUT CALL MOV OUT CALL MOV OUT CALL MOV OUT CALL MOV OUT CALL MOV OUT CALL MOV OUT CALL MOV OUT CALL MOV OUT CALL INT DX,0378 AX,0000 DX,AX 0200 AX,0001 DX,AX 0200 AX,0002 DX,AX 0200 AX,0004 DX,AX 0200 AX,0008 DX,AX 0200 AX,0010 DX,AX 0200 AX,0020 DX,AX 0200 AX,0040 DX,AX 0200 AX,0080 DX,AX 0200 20

autorizada. Reservados todos Programa 2 os direitos autorais.

Ao pressionar um boto, os LEDs vo acendendo na seqncia vai-vem. O boto escolhido o que est ligado ao pino 13 do conector DB-25 fmea. Ele equivale ao bit D4. A leitura da porta paralela (LPT1) canal de I/O 379H retorna 7EH quando todas as chaves esto soltas. Retorna 6EH quando a chave em questo pressionada. Estas so as informaes de hardware; agora j podemos fazer o software. Utilizaremos a tcnica das sub-rotinas, desta forma nosso programa principal fica mais flexvel. Programa Principal a partir do endereo 0100H.

IN AX, DX 166F:0200 BBFF3F MOV BX,3FFF 166F:0203 B9FFFF MOV CX,FFFF Instrues utilizadas: 166F:0206 49 DEC CX MOV registrador , contedo 166F:0207 75FD JNZ 0206 CALL endereo 166F:0209 4B DEC BX 166F:020A 75F7 JNZ 0203 RET 166F:020C C3 RET -Cpia no autorizada. Reservados todos os direitos

a i SUB-ROTINA (endereo IP = 0200H) p C

o n

s o Sub-Rotina 1 a partir do endereo 0200H. d o t Sub-Rotina 2 a partir do endereo 0250H. s o d 4. Entrada de Dados em Canal de I/O a v r Para receber dado de um canal de I/O utie s lizamos a instruo IN AX, DX, que significa e leia o canal de I/O cujo nmero est no reR . gistrador DX e coloque o contedo no regisa trador AX. d a iz Significa que antes de programar a insr o truo IN AX, DX devemos carregar DX com t o endereo do canal de I/O. au

os

s o it e r di

s. i a r to u a

Exemplo: MOV DX, nmero do canal de I/O (em hexadecimal)

autorais.

133/98

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos autorais. DEC registrador


JNZ endereo OUT DX, AX IN AX, DX CMP registrador, contedo PUSH registrador POP registrador Fluxograma:
INCIO A SUB - 1

MOV AX, 00

MOV AX, 10

PUSH AX

CALL SUB - 1

CALL SUB - 1

MOV AX, 01

MOV AX, 20

CALL SUB - 1

CALL SUB - 1

MOV AX, 02

CALL SUB - 1

MOV AX, 04

CALL SUB - 1

a i p C
A

MOV AX, 08

o n

r e es R . a d za i or t au
MOV AX, 40 CALL SUB - 1 MOV AX, 80 CALL SUB - 1 INT 20

s o d a v
NO

s o d o t
AX = 6E

MOV DX, 379

os

s o it e r di

s. i a r to u a
SUB - 2 MOV DX, 378

OUT DX, AX

IN AX, DX

MOV BX, 3FFF

MOV CX, FFFF

SIM POP AX NO

DEC CX

CX = O ? CALL SUB - 2 SIM IN AX, DX DEC BX

NO

NO AX = 7E ? SIM RET BX = O ? SIM MOV DX, 379

CALL SUB - 1 RET

Figura 43

Explicando o fluxo do programa:

Cpia no autorizada. Reservados todos os direitos autorais. mos acender.


Carregamos AX com o valor de acordo com os LEDs que quere-

133/99

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos autorais. CALL 0200 Chamamos a sub-rotina 1. Ela serve para veMOV AX, 40 rificar se o boto preso a D4 foi pressionado. CALL 0200 Esta sub-rotina l o canal de I/O, que a MOV AX, 80 porta paralela (LPT1) do IBM-PC e comCALL 0200 para o contedo com o valor da chave presINT 20 sionada. Como a instruo de leitura tambm utiliza o registrador AX, salvamos SUB-ROTINA 1 (IP = 0200H) o contedo de AX na pilha (stack). PUSH AX Se este valor no for o exato, formamos um MOV DX, 379 LOOP (l canal e compara) e s sairemos FURA: IN AX, DX dele se a chave for pressionada. CMP AX, 6E Sendo a chave pressionada, a sub-rotina seJNZ FURA gue e chama uma segunda sub-rotina, mas POP AX antes disso recupera o valor de AX. CALL 0250 BOLO: IN AX, DX A segunda sub-rotina envia para a sada o CMP AX, 7E valor de AX e na seqncia faz uma pausa JNZ BOLO antes de retornar primeira sub-rotina. RET Terminada a pausa colocamos em DX o nmero do canal entrada. SUB-ROTINA 2 (IP = 0250H)

s o MOV DX, 378 d a OUT DX, AX v MOV BX, 3FFF r e FOGO: MOV CX, FFFF es VIRA: DEC CX Voltando ao programa principal, um novo R JNZ VIRA . o civalor de AX carregado e repete-se a DEC BX d clo at que no haja mais valores de AX a JNZ FOGO a serem enviados para a porta (LPT1). z MOV DX, 379 i r RET o t PROGRAMA FONTE (IP = 0100H) u a Este exemplo um pouco mais complexo MOV AX, 00 o que o primeiro e voc percebe que, com o fluCALL 0200 xograma, fica mais fcil acompanhar o pron MOV AX, 01 grama sem se perder. a CALL 0200 i p MOV AX, 02 Muitos outros programas so possveis C CALL 0200 com este perifrico didtico. medida que
Voltando primeira sub-rotina, ela testa se a chave j foi solta comparando AX com o valor da chave solta. Caso contrrio, entra em LOOP aguardando at que se solte a chave. MOV AX, 04 CALL 0200 MOV AX, 08 CALL 0200 MOV AX, 10 CALL 0200 MOV AX, 20

s o d o t

os

s o it e r di

s. i a r to u a

voc incrementa o hardware do perifrico, mais simples fica o programa de controle. Podemos dizer: Hardware simples software complexo

Hardware complexo software simples Cpia no autorizada. Reservados todos os direitos autorais.

133/100

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos Estude os programas anteriores e crie novas aplicaes para o autorais.
seu perifrico didtico. Alguns exemplos simples que podem incrementar seu perifrico didtico. O motor de passo pode ser substitudo por rels que acionaro cargas AC, etc.

Motor de Passo 4 Bobinas

Sada Analgica

1K

s o D7 D6 D5 D4 D3 D2 d D1 D0 a 11 10 9 8 7 6 5 rv 4 3 2 1 13 12 e 25 24 23 22 21 20 19 18s 17 16 15 14 e R D7 D6 D5 D4 D3 DB-25 Fmea . a d a iz r o t au o n a i p Figura 44 C


1K 1K 1K 1K REED SWITCH NTC ou PTC Chave NA Chave NF LDR

TRANSISTORES POTENCIAIS

s o d o t

1K

1K

1K

1K

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/101

FONTE EXTERNA

Cpia no autorizada. Reservados todos os direitos autorais.

Exerccios Propostos

s. i a r 1 - Como executada a instruo CALL? to u ............................................................................................................................................ a ............................................................................................................................................ s to ............................................................................................................................................ i ............................................................................................................................................ re i d ............................................................................................................................................ s o 2 - Stack significa: s o ( ) a) Basto de endereos de memria. d ( ) b) Empilhamento de dados no final da memria. to ( ) c) Derramamento de dados no incio da memria. s ( ) d) Bateria de dados na memria. o d ( ) e) Estaca de dados na memria. a v r 3 - Quais os cuidados ao utilizar PUSH registrador e POP registrador em seus programas e s Assembly? e ( ) a) Nunca utilizar PUSH ou POP. R . inversa ao comando PUSH. ( ) b) A ordem dos comandos POP a ( ) c) Nenhum cuidado necessrio. d a ( ) d) S no podemos utilizar PUSH junto do CALL. z i ( ) e) Executar primeiro POP depois PUSH. or t u chaves NA por L.D.R., pois: 4 - Podemos substituir a ( ) a) No faz diferena alguma. o ( ) b) L.D.R. e chave NA so a mesma coisa. ( ) c) Non podemos substituir. a i ( ) d) Quando o L.D.R. est iluminado funciona como chave fechada e vice-versa. pNenhuma ( ) e) das alternativas anteriores. C

Cpia no autorizada. Reservados todos os direitos autorais.


5 - Quando queremos comparar um valor lido pelo canal com um nmero conhecido utilizamos a instruo: ( ) a) PUSH endereo. ( ) b) POP endereo. ( ) c) CALL endereo. ( ) d) CMP registrador, nmero. ( ) e) JNZ endereo.

133/102

Cpia no autorizada. Reservados todos os direitos autorais.

14

Noes para Montagem de um Microcomputador IBM-PC Compatvel

lio

ia p C

s. i a r Introduo to u a Nesta lio voc ir se familiarizar com todos os dispositivos s necessrios montagem de um microcomputador IBM-PC to comi patvel. re i d 1. Escolha seu Microprocessador s o As opes que o mercado oferece so: s o d CPU Intel Pentium 4 de 1.7 GHz de to clock s o Intel Celeron d a AMD Duron com clock de v 700 MHz, 800 MHz ou 900 MHz er es R . a d za i r o t u a o n

Cpia no autorizada. Reservados todos os direitos autorais.


133/103

Instituto Monitor

Cpia no Reservados todos os direitos autorais. 2.autorizada. Chipset e Motherboard


Chipset significa conjunto de CIs numa traduo literal. Todo microprocessador, como j dissemos, precisa de perifricos. O controle destes perifricos e o controle dos barramentos tem sido objeto de desenvolvimentos tecnolgicos para tornar o IBM-PC melhor e mais rpido, isto falando somente em hardware. A figura 45 mostra o que um chipset Intel faz para o Intel Pentium 4.
Intel Pentium 4 Processador

AGP4X

>1 GB/s

MCH

Controla o vdeo atravs do barramento AGP 4X.

a Controla dois canais IDE para HDD e CD-ROM Master e Slave i cada um. p C Aceita memrias RAM do tipo RDRAM.
Controla o som digital. Controla 4 portas USB. Trabalha com barramento PCI. Controla flash BIOS. Tem placa de rede interna. Cpia no autorizada. Reservados todos os direitos autorais.

o n

s o d a ATA 100 MB/s v r 2 IDE Channels e ICH2 s LAN e Interface R . a d a iz Flash BIOS r o t Figura 45 au
Intel Hub

Architecture

s o d o t

Dual Cannel 3.2 GB/s

RDRAM os RDRAM

s o it e r di

s. i a r to u a

RDRAM RDRAM

6 Channel Audio
133 MB/s

PCI

4 USB ports

133/104

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos As mother-boards (figura 46) ou placas-me tm inmeros fa- autorais.
bricantes asiticos a preos e performances para todos os bolsos. Quanto voc agenta pagar para ter um computador PC? Existe tecnologia para todo o seu dinheiro e um pouco mais.

a domstico sem grandes necessidades de hardware. Estas necessii p dades acontecem em aplicaes comerciais de udio, vdeo. mdiC ca, etc.

s o d a Figura 46 v r e s e R . placa-me voc pode escolher o CHIPSET Ao escolher uma a para que seu processador funcione da melhor ou mais barata maad neira possvel.z Dependendo da aplicao que se deseja dar ao microiinvestir muito r computador, dinheiro totalmente desnecessrio, o t pois a cada meio ano seu microcomputador perde 50% do valor comercial, au devido ao surgimento de novas tecnologias e processadores mais rpidos. o n Placas-me com tudo on-board uma opo barata para uso

s o d o t

os

s o it e r di

s. i a r to u a

Ah! A BIOS, aquela memria do tipo EPROM, j vem na placa. Seus fabricantes so Award BIOS ou AMI BIOS.

3. Cooler
medida que a freqncia do clock aumenta, a temperatura Cpia no autorizada. Reservados todos os direitos autorais. dos processadores aumenta muito. So utilizados coolers (do In

133/105

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos autorais. gls cooler: aquele que esfria ou torna frio). O termo pente usado porque a memEstes dispositivos so compostos de uma pea ria vem em uma placa de circuito impresso em alumnio aletada e uma ventoinha ligada com terminais banhados a ouro e o conjunto o tempo todo sobre o conjunto (figura 47). se parece com um pente de cabelo.
5. Gabinetes
As figuras 49 e 50 mostram o gabinete, que onde voc colocar a placa-me com suas partes.

Figura 47

A figura mostra a ventoinha do cooler e a parte em que entra em contato com a CPU. Recomenda-se o uso de pasta trmica entre a CPU e o cooler para melhorar a transferncia de calor entre as partes e manter a CPU na temperatura ideal.

s o d a v r 4. Memrias RAM - Pente e s e Voc j tem um processador, uma R placa. RAM o me e o cooler, mas, sem memria a d pente de computador nem liga. Escolha um a memria entre: iz r o 32 Mbytes por pente; t au 64 Mbyte por pente; o ou 128 Mbyte por pente n 256 Mbyte a por pente. i p 48 mostra um pente de memria A figura C DDR SDRAM

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


Figura 48

133/106

Instituto Monitor

Cpia no autorizada. todos os direitos autorais. 6.3 Mouse O gabinete vem com uma fonteReservados de alimentao do tipo chaveada, com potncia recomendada de 300 W. feito em chapa dobrada e soldada, tendo pintura externa resistente e tampo de plstico com design moderno e cores a escolher. Dispositivo apontador. Criado nos Laboratrios da Xerox e copiado por Steve Jobs da Apple, virou o perifrico mais necessrio no mundo GUI (Graphic User Interface), traduzido como Interface Grfica com o Usurio. Arrastando e clicando sobre cones, voc dispensado de digitar comandos do antigo MS-DOS.

6. Perifricos Comuns
Os perifricos que no so mais opcionais so: 6.1 DRIVE de Disquete de 3 Com ele voc inicializa a mquina, desde que seja com o disco de BOOT ou disco de sistema. Utilizado quando seu HardDisk no-formatado, para que voc inicialize a mquina e possa rodar o software de instalao do Windows, por exemplo.

s o d a v 6.4 Estabilizador de Tenso da Rede r e s Trata-se de um produto 100% brasileiro, e necessrio porque a rede eltrica no confiR . vel, havendo instabilidades; portanto, necesFigura 51 a d srio estabilizar a rede eltrica em 110 volts a para que seu computador no estrague. 6.2 Teclado iz r o comandos digit Atravs dele voc envia tados. Por exemplo, ao ligar o computador, au para que voc acesse o SETUP da BIOS tem o que apertar a tecla DEL durante a inicialin zao. ia p C

s o d o t

os

s o it e r di

s. i a r to u a

Figura 52

Cpia no autorizada. Reservados todos os direitos autorais.


133/107

Instituto Monitor

Cpia no 6.5 Caixas de Somautorizada. Amplificadas

Reservados todos os direitos autorais. 6.7 Hard Disk Drive


um dispositivo de armazenamento de dados em mdia magntica, sobre um disco de alumnio rodando em alta velocidade. Com ele voc tem o sistema operacional sempre disponvel a cada vez que liga seu computador. Atualmente, a capacidade destes discos chega perto de 100 gigabytes.

A multimdia, com som e vdeo, o que h de mais moderno em termos de comunicao. Antigamente, s se liam textos, depois comearam a surgir as figuras coloridas. Agora as figuras se movem e tm som.

s. i a r to u Existem jumpers na parte a de trs para que voc configure seu s HD como master ou o slave. As modernas placas-me aceitam at 4 t i HDs, sendo: master primrio, slave primrio, e r master secundrio di e slave secundrio. os s o d o t s o d a v r e es R . 6.6 CD-ROM Player a d A quantidade de memria za ocupada i r a barreira por um programa ultrapassou o dos discos flexveis, quetera de 1.4 Mbyte. Os leitores de CD-ROM au so fundamentais hoje; sem um deles Os drives de CD-ROM vm no padro o voc no instala um sistema operacional como o Windows XP, IDE, o mesmo do HD. Portanto, eles ocupam n por exemplo. uma destas quatro posies. a i Comumente recomendado que voc tep C nha um HD com master primrio, os demais
Caixas acsticas com amplificadores embutidos so ligadas rede eltrica e amplificam o som que vem do computador. no importando a ordem.

Cpia no autorizada. Reservados todos os direitos autorais.


133/108

Instituto Monitor

Cpia no autorizada. Reservados todos A figura 58 mostra como colocar os JUMPs os paradireitos torn-los autorais.
MASTER ou SLAVE. Vale a pena traduzir as instrues do fabricante, a fim de evitar que voc tenha prejuzos desnecessrios:

Master

Slave

J50 J48 J46 J44 J42

J50 J48 J46 J44 J42

Cable Select

a i p C

s o it e Figura 58 - Exemplo de jumper na parte traseira do HD ir d Ao manusear um HD: os Manuseie com cuidado, mesmo quando fors devolv-lo ao fabrio cante. d o Abra a embalagem cuidadosamente. Ela t difcil de abrir. s No empilhe HDs. o d No o deixe cair. a v r Sempre coloque o HD sobre e superfcies cobertas e macias. s Monte-o no gabinete com e cuidado para no bater, chacoalhar ou R forar. . a Use equipamento de proteo eletrosttica durante todo o tempo d da montagem. za i r o Para HD Slave t u a Conector do o cabo de HD n(largo)
J50 J48 J46 J44 J42

s. i a r to u a

Placa-me

Fio pintado indica o pino 1 do conector


Figura 59

Para HD Master

A figura 59 mostra o cabo de ligao com a controladora IDE de HD e CD-ROM drive. chamado flat cable e composto de vrios fios grudados uns aos outros no formato flat (plano). Um destes

Cpia no autorizada. Reservados todos os direitos autorais.


133/109

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos fios vem marcado em vermelho (ou outra cor) indicando que se autorais.
trata do fio do terminal nmero 1 do conector. Na hora de colocar, alinhe este fio com o terminal nmero 1. 6.8 Monitor de Vdeo Svga-Colorido

ia p C

s. i a r to u No existe espao para adivinhao. a Todos os terminais e conectores foram s padronizados; parafusos do tipo PHILIPS, to i etc. E ainda: todo produto vendido e com o r manual de instalao. Exija o iseu! Siga as d instrues e pronto. s o Junte os cabos, aperte parafusos, faa ligaes, pronto! Voc s o montou um microcomputador! d o t O microcomputador montado como explicamos s ter o aspecto mostrado na figura 61.o Porm, falta cod locar o software, seno ele no servir a para nada. v r XP o padro do Atualmente, o Windows e mercado. O pacote OFFICE es XP da MICROSOFT utilizado na maioria das R instituies. . a d za i r o t u a o n

Por ele saem as imagens coloridas. diferente de uma TV comum devido sua resoluo. O padro mais utilizado de 800 x 600 pontos de imagem em uma tela.

Cpia no autorizada. Reservados todos os direitos autorais.


133/110

Cpia no autorizada. Reservados todos os direitos autorais.

Respostas dos Exerccios Propostos


s. i a r Lio 1 2 - Conjunto de fios que transportam to informau es no formato binrio e que tem a mesma a 1-A funo no sistema. s 2-D 3-B to i 3-A 4-D re 4-C 5-C i d 5-C 6-B s o Lio 2 s Lio 8o d 1-C o 2-C 1 -t Linhas de endereamento ou address bus: s 3 - Indicar qual a pastilha, indicar o endereo e sua funo gerar o endereo de o o que fazer naquele endereo (ler ou escre- d memria no qual a CPU buscar a ver). instrues de um programa. v r 4-A Linha de dados ou data bus: sua funo e s 5 - A pois 2 = 1.024 combinaes possveis, transportar os dados para dentro da CPU e ou da CPU para a memria ou perifrico. uma para cada endereo da memria. R . Clock: sinal de onda quadrada. A CPU a utiliza cada pulso para executar um Lio 3 d a programa. z i Interpretador: cada instruo est 1-B or associada a um cdigo binrio. O circuito 2-A t u interpretador identifica a qual instruo 3-E a pertence o cdigo binrio lido da o memria. Lio 4 n Registradores: pequenas memrias de 8 a bits ou 16 bits feitas de flip-flops. Sua 1-E i p funo armazenar momentaneamente 2-C dados do programa em execuo. 3-D C
10

U.L.A.: Unidade Lgica e Aritmtica. responsvel pelos clculos de adio e subtrao de binrios, bem como todas as funes lgicas entre dois nmeros Lio 5 binrios. 1 - A pois 4 k 4 x 1.024 = 4.096 e byte Flags: registrador onde cada um de seus corresponde a 8 bits. bits se ativa, dependendo do resultado de Cpia no autorizada. Reservados todos os direitos autorais. uma operao da U.L.A. 4-E 5-D

133/111

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos autorais. 2A


3-C 4 - So como avenidas para enviar dados CPU ou receber dados dela. Somente um perifrico pode utilizar o barramento por vez. Sem eles a CPU teria milhares de fios e circuitos internos para se comunicar com os perifricos. 5-A

Lio 11
1Incio AX = 1234H BX = 0234H

a i p C

o n

s o d o t DX = 0004H s o d CX = CX a - DX v r e es FLAG Z ? R . CX = CX - DX a d za SIM i r FLAG Z ? o t NO u a


CX = 0034H BX = BX - CX SIM FLAG Z ? NO AX = AX - BX NO FLAG Z ? SIM FIM

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/112

Instituto Monitor

Cpia no autorizada. Reservados todos os direitos autorais. Convm lembrar que em programao Lio 12
existem inmeras maneiras de fazer o mesmo programa. Portanto, aqui somente uma sugesto de resposta. 2 - Exemplo digitado no Debug da Microsoft, a partir do endereo IP = 500. PROGRAMA FONTE NO MODO ENDEREADO

s. i a r Lio 13 to u 166F:0500 MOV AX,1234 1 - Copia o contedo de PC a (Program Counter) 166F:0503 MOV BX,0234 na stack (pilha), carrega PC com o endereos o registrador SP 166F:0506 MOV CX,0034 o mencionado emt CALL, i anterior no final da 166F:0509 MOV DX,0004 aponta para endereo e 166F:050C SUB CX,DX memria. Executa ir a instruo do endereo d 166F:050E JZ 0518 apontado por CALL. 166F:0510 SUB BX,CX 2-B os 166F:0512 JZ 0518 3-B s 166F:0514 SUB AX,BX 4-D o d 166F:0516 JZ 0518 5 -o D t 166F:0518 INT 20 s o d PROGRAMA FONTE NO MODO LABEL a v r MOV AX,1234 e MOV BX,0234 es MOV CX,0034 R MOV DX,0004 a. SUB CX,DX d JZ AZUL za ri SUB BX,CX o t JZ AZUL u SUB a AX,BX JZ o AZUL AZUL: INT 20 n a i p C

1-A 2 - a utilizao dos barramentos por dois ou mais perifricos ao mesmo tempo. 3-A 4-A 5-A

Cpia no autorizada. Reservados todos os direitos autorais.


133/113

Cpia no autorizada. Reservados todos os direitos autorais.

Bibliografia
VISCONTI, Antonio Carlos J. Franceschini Microprocessadores 8080 e 8085 - 3 edio So Paulo: Editora rica 1983 BRAGA, Newton C. Manuteno de Microprocessadores Guia para futuros profissionais - 3 edio So Paulo: Editora Saber 1999

a i p C

o n

s o d a v r e s e R . a d a iz r o t au

s o d o t

os

s o it e r di

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.


133/114

Cpia no autorizada. Reservados todos os direitos autorais.


133 - Microprocessadores
Caro Aluno:

Pesquisa de Avaliao

. s i Para que possamos aprimorar cada vez mais os nossos servios, oferecendo um a r material didtico de qualidade e eficiente, muito importante a sua avaliao. to Sua identificao no obrigatria. Responda as perguntas a seguir assinalandou a a alternativa que melhor corresponda sua opinio (assinale apenas UMA s alternativa). Voc tambm pode fazer sugestes e comentrios por escrito no to verso desta folha. i re Na prxima correspondncia que enviar Escola, lembre-se deijuntar sua(s) d pesquisa(s) respondida(s). s o O Instituto Monitor agradece a sua colaborao. s o A Editora. d o t Nome (campo no obrigatrio): _______________________________________________________________ s o N de matrcula (campo no obrigatrio): _____________________ d a Curso Tcnico em: v r Eletrnica Secretariado Gesto de Negcios e s Transaes Imobilirias Informtica Telecomunicaes e Contabilidade R . QUANTO AO CONTEDO a d a 1) A linguagem dos textos : iz muito a compreenso da matria estudada. a) sempre clara e precisa, facilitando r o e precisa, ajudando na compreenso da matria estudada. b) na maioria das vezes clara t c) um pouco difcil, dificultando a compreenso da matria estudada. au d) muito difcil, dificultando muito a compreenso da matria estudada. o e) outros: ______________________________________________________ n 2) Os temas abordados nas lies so: a a) atuais eiimportantes para a formao do profissional. b) atuais, pmas sua importncia nem sempre fica clara para o profissional. C mas sem importncia para o profissional. c) atuais,
Queremos saber a sua opinio a respeito deste fascculo que voc acaba de estudar.
o

d) ultrapassados e sem nenhuma importncia para o profissional. e) outros: ______________________________________________________ 3) As lies so: a) muito extensas, dificultando a compreenso do contedo. b) bem divididas, permitindo que o contedo seja assimilado pouco a pouco. c) a diviso das lies no influencia Na compreenso do contedo. d) muito curtas e pouco aprofundadas. e) outros: ______________________________________________________

Cpia no autorizada. Reservados todos os direitos autorais.

QUANTO AOS EXERCCIOS PROPOSTOS

Cpia no autorizada. Reservados todos os direitos autorais. 4) Os exerccios propostos so:


a) muito simples, exigindo apenas que se decore o contedo. b) bem elaborados, misturando assuntos simples e complexos. c) um pouco difceis, mas abordando o que se viu na lio. d) muito difceis, uma vez que no abordam o que foi visto na lio. e) outros: ______________________________________________________ 5) A linguagem dos exerccios propostos : a) bastante clara e precisa. b) algumas vezes um pouco complexa, dificultando a resoluo do problema proposto. c) difcil, tornando mais difcil compreender a pergunta do que respond-la. d) muito complexa, nunca consigo resolver os exerccios. e) outros: ______________________________________________________ QUANTO APRESENTAO GRFICA

s o it e 6) O material : r a) bem cuidado, o texto e as imagens so de fcil leitura e visualizao, tornando di o estudo bastante agradvel. b) a letra muito pequena, dificultando a visualizao. os c) bem cuidado, mas a disposio das imagens e do texto dificulta a compreenso do mesmo. s d) confuso e mal distribudo, as informaes no seguem uma seqncia lgica. o e) outros: ______________________________________________________ d to 7) As ilustraes so: s do texto. a) bonitas e bem feitas, auxiliando na compreenso e fixao o b) bonitas, mas sem nenhuma utilidade para a compreenso ad do texto. c) malfeitas, mas necessrias para a compreenso v e fixao do texto. r d) malfeitas e totalmente inteis. e e) outros: ______________________________________________________ es R seus comentrios e sugestes, bem como apontar Lembre-se: voc pode fazer . algum problema especfico a encontrado no fascculo. Sinta-se vontade! d za i PAMD1 r o t Sugestes e comentrios u a o n a i p C

s. i a r to u a

Cpia no autorizada. Reservados todos os direitos autorais.

You might also like