Você está na página 1de 9

MAPEAMENTO DE MEMRIA

H hoje em dia uma grande variedade de microprocessadores disponveis no mercado, os quais seguem variaes de uma arquitetura proposta por von Neumann na dcada de 40. No importando se o dispositivo atual ou ultrapassado, a discusso proposta nesta lista de exerccio, de como realizar projetos para o acionamento de memrias e de dispositivos de entrada/sada (I/Os), seguindo as especificaes de um determinado microprocessador. A escolha de qual processador deve ser utilizado, que ser feita mais tarde, s vezes no muito objetiva e mais parece com uma torcida de futebol, onde cada torcedor enaltece o seu time e tenta desqualificar o adversrio. Na verdade no existe um nico microprocessador adequado ou correto, que sendo aplicado a qualquer tipo de aplicaes, seja capaz de atender requisitos to diversos como custo, tamanho, consumo de energia, complexidade de hardware, facilidade de programao, facilidade de gravao, facilidade de aquisio, documentao, entre outros aspectos. Logo, se existe uma grande variedade de dispositivos, o importante ento compreender os princpios bsicos de funcionamento dos mesmos, de forma a se adaptar a qualquer tipo de microprocessador (ou microcontrolador) que se venha trabalhar. Neste texto sero apresentados alguns exemplos de dispositivos comerciais e exerccios de projeto. Observe as orientaes e represente os circuitos solicitados. Todos os diagramas de tempo, pinagem e especificaes foram retiradas dos manuais dos dispositivos encontrados em artigos na internet. Para maiores detalhes, sugere-se a consulta direta aos manuais dos mesmos nos sites dos fabricantes. Na Wikipdia voc pode encontra um resumo da vida do matemtico John von Neumann (http://pt.wikipedia.org/wiki/John_von_Neumann), brilhante cientista, cujos esforos contriburam significativamente para o avano da cincia em reas do conhecimento como a Matemtica (Teoria dos Jogos, Teoria dos Conjuntos, Anlise Numrica), Fsica (Hidrodinmica, Mecnica Quntica, Reaes Termonucleares), Eletrnica (concepo de circuito lgicos) e Computao (conceito de programa armazenado, descrio de uma arquitetura de computador, teoria de autmatos). Os resultados de suas pesquisas tiveram implicaes diretas no desenvolvimento blico dos EUA, tendo participado do projeto Manhattan em pesquisas relacionadas com reaes termonucleares que culminaram com a construo da bomba atmica e da bomba de hidrognio.

MICROPROCESSADOR 6502
Na poca em que foi lanado, foi o microprocessador mais barato do mercado, competindo diretamente com dispositivos de grandes fabricantes como Motorola e Intel. Talvez, por seu baixo custo, tenha sido escolhido por Steve Wozniak e Steve Jobs, fundadores da Apple Computer, para a construo dos computadores Apple I e Apple II, bem como pela Commodore, para a construo de seus computadores de uso pessoal Commodore 64. Foi utilizado em diversas plataformas de jogos eletrnicos como os da Nintendo, se popularizando em consoles de jogos domsticos como o Atari 2600. um

microprocessador de 8 bits, desenvolvido por Chuck Peddle para a MOS Technology, mais tarde licenciado para a Rockwell e Synertek. A equipe que desenvolveu este microprocessador foi a mesma que desenvolveu o 6800 da Motorola. Sua arquitetura bastante simples. A figura 1 apresenta a pinagem deste microprocessador.

Figura 1 Pinagem do microprocessador 6502 A0-A15 Formam o barramento de endereo. So 16 linhas capazes de enderear 64K posies (65536 posies = 64 x 1024) de memria e dispositivos de I/O. No microprocessador 6502, os dispositivos de I/O so mapeados como memria, uma vez que este processador s possui uma linha de controle para sinalizar acesso externo, sinalizando desta forma, apenas o sentido do fluxo de dados. D0 D7 Formam o barramento de dados, o qual de 8 bits. As demais linhas formam o barramento de controle. RDY utilizada para adicionar estados de espera em operaes em que a memria ou dispositivos de I/O trabalhem de forma mais lenta do que o processador. Um sinal 0 adiciona um ciclo de espera. 0 a entrada de clock do sistema e 1 e 2 so sinais de sincronismo. IRQ e NMI so entradas de interrupo (respectivamente mascarvel e no mascarvel). RES a entrada de reset (ativo baixo). SYNC sinaliza o incio de um ciclo de busca de instruo. SO utilizada para setar a flag de overflow. Estas linhas no sero utilizadas nestes exerccios. No caso de um projeto real, as linhas RDY e SO deveriam ser colocadas em VCC, as linhas IRQ e NMI deveriam estar ligadas em resistores de pull-up, 0 deveria ser ligada ao clock, RES deveria ser ligada ao circuito de reset e as demais sadas SYNC, 1 e 2, poderiam ser deixadas em aberto. A linha R/W serve para sinalizar que o microprocessador faz acesso a dispositivos externos (com as memrias ou com os I/Os), indicando o sentido da conversa. Utilize esta linha para construir o circuito decodificador.

A figura 2 apresenta os ciclos de mquina de leitura e de escrita da memria ou dos dispositivos de I/O. Observe que no existe diferenciao nos ciclos de memria e de I/O por existir apenas a linha de controle R/W.

Figura 2 Ciclo de escrita e de leitura do 6502

EXERCCIOS 1. Utilizando o 6502, projete um sistema de memria contendo 32Kbyte de ROM e 16Kbytes de RAM. A ROM inicia em 0000h e a RAM inicia em 8000h. Conecte ao circuito um display de 7 segmentos do tipo anodo comum, nos endereos EXXXh e um circuito de teclado (8 teclas) nos endereos FXXXh. Represente o mapa de memria. Voc conta com memrias do tipo 2764 e 6264. Projete o circuito apenas com portas lgicas e decodificadores 74139. 2. Refaa o exerccio 1, utilizando apenas portas lgicas e decodificadores 74138. 3. Utilizando o 6502, projete um sistema de memria contendo 48Kbyte de ROM e 8Kbytes de RAM. A ROM inicia em 0000h e a RAM inicia em E000h. Conecte ao circuito quatro displays de 7 segmentos no multiplexados, nos endereos CXXXh. Represente o mapa de memria. Voc conta com memrias do tipo 27128 e 6232. Projete apenas com portas lgicas e decodificadores 74138. 4. Refaa o exerccio 3, utilizando apenas portas lgicas e comparadores 74688. 5. Refaa o exerccio 3, utilizando apenas portas lgicas e comparadores 7485.

MICROPROCESSADOR Z80
Foi por muitos anos um dos dispositivos mais utilizados tanto para fins comerciais como militares. Ainda hoje utilizado em circuitos de avinica (pois mostrou-se extremamente confivel) e na industria do entretenimento (Nintendo, Sega, Nanco, entre outras) pois muito barato e possui uma grande variedade de jogos j desenvolvidos (Pac-Man, Galaga, Asteroids, River Raid, etc). Foi utilizado pela Nintendo para a construo de uma linha de videogames portteis chamados Gameboy e Gameboy Color. um microprocessador de 8 bits, desenvolvido por Frederico Faggin, fundador da Zilog juntamente com Ralph Ungermann. Frederico Fagin, (Fsico e Engenheiro Eltrico) trabalhou na SGS Fairchild onde foi o responsvel pelo desenvolvimento da tecnologia

MOS e o pelo desenvolvimento do primeiro circuito integrado. Na Intel foi responsvel pelo desenvolvimento do primeiro microprocessador comercial, o Intel 4004, alm de participar na elaborao do microprocessador Intel 8080. O Z80 surgiu como uma evoluo da plataforma do Intel 8080, possuindo todo o seu conjunto de instrues. A figura 3 apresenta a pinagem deste microprocessador.

Figura 3 Pinagem do microprocessador Z80. A0-A15 Formam o barramento de endereo. So 16 linhas capazes de enderear 64Kbytes de memria e 256 dispositivos de I/O. O Z80 permite a construo de circuitos onde os I/Os podem ser mapeados em endereos exclusivos (utilizando a linha IORQ) ou mapeados como memria (utilizando a linha MREQ). Quando os I/Os no so mapeados como memria, o Z80 utiliza apenas as oito linhas de endereo menos significativas do barramento de endereos (A0..A7). D0 D7 Formam o barramento de dados, o qual de 8 bits. As demais linhas formam o barramento de controle. BUSRQ e BUSACK so utilizadas para controle de todos os barramentos por um dispositivo externo. So utilizadas em situaes em que um dispositivo externo quer acionar as memrias e os I/Os diretamente, sem a interveno do microprocessador (acesso chamado de DMA Direct Memory Access). M1 sinaliza que o microprocessador iniciou um ciclo de leitura de uma instruo. HALT sinaliza que o microprocessador executou uma instruo de halt e entrou em stand-by. RFSH utilizada para realizar automaticamente operaes de refresh em memrias dinmicas. WAIT utilizada para adicionar estados de espera em operaes em que a memria ou dispositivos de I/O trabalhem de forma mais lenta do

que o processador. CLK utilizada para entrada de clock do sistema. INT e NMI so entradas de interrupo (respectivamente mascarvel e no mascarvel). Estas linhas no sero utilizadas nos exerccios aqui propostos. No caso de um projeto real, as linhas BUSRQ e WAIT deveriam ser colocadas em VCC, as linhas INT e NMI deveriam estar ligadas a resistores de pull-up e as demais sadas M1, HALT, RFSH e BUSACK, poderiam ser deixadas em aberto. As linhas MREQ, IORQ servem para sinalizar se o microprocessador est fazendo acesso as memrias ou aos dispositivos de I/O. J as linhas RD e WR servem para indicar o sentido dos dados. Utilize estas linhas para construir o circuito decodificador. A figura 4 apresenta os ciclos de mquina de leitura e de escrita da memria. Desconsidere o sinal de WAIT, pois o mesmo no est sendo utilizado e deve ser colocado em 1, ou seja, sem adio de ciclos de espera.

Figura 4 Ciclos de leitura e escrita na memria. Obs.: Os ciclos de I/O so semelhantes, diferindo no nmero de pulsos de clocks utilizados (4 por ciclo), no sinal de controle, IORQ ao invs de MREQ, e no nmero de linhas de endereo (apenas 8 - A0..A7).

EXERCCIOS 6. Utilizando o Z80, projete um sistema de memria contendo 32Kbyte de ROM e 16Kbytes de RAM. A ROM inicia em 0000h e a RAM inicia em 8000h. Conecte ao circuito um display de 7 segmentos do tipo anodo comum, nos endereos 2Xh e um circuito de teclado (8 teclas) no endereo 3Xh. Represente o mapa de memria. Voc conta com memrias do tipo 2764 e 6264. 7. Modifique o circuito do exerccio 6, de forma a colocar os dispositivos de I/O mapeados em memria (em posies livres), mapeando-os de forma redundante.

8. Utilizando o Z80, projete um sistema de memria contendo 24Kbyte de ROM e 8Kbytes de RAM. A ROM inicia em 0000h e a RAM inicia em C000h. Conecte ao circuito quatro displays de 7 segmentos no multiplexados, mapeados em memria, nos endereos 8XXXh. Represente o mapa de memria. Voc conta com memrias do tipo 2764 e 6232. 9. Modifique o circuito do exerccio 8, de forma a colocar o mesmo display, agora mapeado como I/O (controlado por IORQ) nos endereos 70h..8Fh (mapeamento redundante). 10. Resolva os exemplos 6 e 8, utilizando apenas circuitos comparadores 74688 e portas lgicas. 11. Resolva os exemplos 6 e 8, utilizando apenas circuitos comparadores 7485 e portas lgicas.

MICROPROCESSADOR 8085
Sucessor do microprocessador 8080 da Intel, trouxe uma srie de simplificaes de hardware (fonte nica de 5Volts, circuito de clock embutido) e novos recursos (interface serial do tipo UART). Tambm um microprocessador de 8 bits. Difere de seus concorrentes por possuir um conjunto grande de entradas de interrupo. De modo a permitir a construo de dispositivos com um numero maior de entradas e saidas no mesmo invlucro de 40 pinos, a Intel optou por multiplexar as linhas de endereo (parte menos significativa A0..A7) com as linhas de dados (D0..D7), surgindo um barramento com a designao AD0..AD7. A figura 5 apresenta a pinagem deste microprocessador.

Figura 5 Pinagem do microprocessador 8085.

Obs.: O latch que aparece no circuito necessrio para demultiplexar (separar) os sinais de dados dos sinais de endereo (menos significativos A0..A7). O emprego deste microprocessador requer sempre a utilizao deste latch. A0-A15 Formam o barramento de endereo. So 16 linhas capazes de enderear 64Kbytes de memria ou 256 dispositivos de I/O. Os dispositivos de I/O podem ser mapeados com endereos exclusivos ou como memria, dependendo do estado da linha IO/M. Quando os I/Os no so mapeados como memria, o 8085 utiliza apenas as oito linhas de endereo menos significativas do barramento de endereos (A0..A7). D0 D7 Formam o barramento de dados, o qual de 8 bits. O barramento de endereos (8 bits menos significativos) e o barramento de dados so multiplexados. Para separar estes sinais necessrio acrescentar um latch externo (74LS373) o qual controlado pelo sinal ALE que indica quando o contedo do barramento de dados e quando de endereos. As demais linhas formam o barramento de controle. X1 e X2 so entradas para o cristal oscilador e CLKout a sada de clock. RESETin (ativo alto) a entrada de reset (inicializao) e RESETout a sada de reset que pode ser utilizada para resetar perifricos. SID a entrada da UART e SOD a sada da UART (porta serial). TRAP, RST7.5, RST6.5, RST5.5 e INTR so entradas de interrupo e INTA a sada que sinaliza o reconhecimento do pedido de interrupo. HOLD e HLDA so utilizadas para controle de todos os barramentos. So utilizadas em situaes que um dispositivo externo quer acionar as memrias e os I/Os diretamente (DMA). READY utilizada para adicionar estados de espera em operaes em que a memria ou os dispositivos de I/O trabalham de forma mais lenta do que o processador. S1 e S0 sinalizam o statusdo microprocessador. IO/M sinaliza quando o acesso para dispositivos de I/O (IO/M = 1) ou quando para memria (IO/M = 0). RD e WR servem para indicar o sentido da conversa. A figura 6 apresenta um ciclo de mquina de leitura da memria. O ciclo de escrita semelhante, diferindo apenas no sinal de controle (WR ao invs de RD).

Figura 6 Ciclos de leitura na memria do 8085.

Obs.: Os ciclos de I/O diferem apenas no estado do sinal IO/M. Quando o acesso para a memria, IO/M 0 e quando para acessar os dispositivos de I/O, IO/M vale 1.

EXERCCIOS 12. Utilizando o 8085, projete um sistema de memria contendo 32Kbyte de ROM e 16Kbytes de RAM. A ROM inicia em 0000h e a RAM inicia em 8000h. Adicione ao circuito um display de 7 segmentos do tipo anodo comum, mapeados nos endereos 00h..3Fh. Represente o mapa de memria. Voc conta com memrias do tipo 27128 e 6232. 13. Modifique o circuito do exerccio 12, de modo a mapear o display em memria em uma rea livre, de forma redundante e de modo a utilizar o menor nmero de linhas de endereo possvel. 14. Utilizando o 8085, projete um sistema de memria contendo 24Kbyte de ROM e 8Kbytes de RAM. A ROM inicia em 0000h e a RAM inicia em C000h. Adicione ao circuito quatro displays de 7 segmentos do tipo anodo comum multiplexados. Mapeie o display de forma redundante e de modo a utilizar o menor nmero de linhas de endereo, como I/O mapeado em memria. Represente o mapa de memria. Voc conta com memrias do tipo 2764 e 6232. 15. Modifique o circuito do exerccio 14 de modo a mapear o display em endereos exclusivos (no mapeados em memria), na faixa 40h 7fh.

MICROPROCESSADOR 8086
A figura 7 apresenta a pinagem do microprocessador 8086 no modo Min (um nico processador). Este mesmo microprocessador pode trabalhar no modo Max o qual permite implementar circuitos com mltiplos processadores. A0A19 - Formam o barramento de endereos. Pode acessar at 1Mbyte de memria e 65536 dispositivos de I/O (neste caso utilizando apenas as linhas A0..A15). D0-D15 Formam o barramento de dados de 16 bits. Este barramento multiplexado com o barramento de endereos (A0..A15). O sinal ALE utilizado para sinalizar a condio do barramento (Dados ou Endereos). So necessrios dois latches do tipo 74373 para demultiplexar os barramentos. Ao circuito deve-se acrescentar dois buffers para aumentar a velocidade do barramento. O controle destes buffers feito pelas linhas DT/R (Data transmit/Data Receive) e DEN (Data Enable).

Figura 7 8086 no modo Min nico microprocessador. Para sinalizar se o acesso para a memria ou para os dispositivos de I/O, o 8086 utiliza a linha M/IO (M/IO = 0, acesso para I/O e M/IO = 1, acesso para a memria). Os sinais RD e WR sinalizam o sentido dos dados e BHE em conjunto com A0 fazem o alinhamento dos dados (8 ou 16 bits). Observe a tabela verdade ao lado do diagrama eltrico para verificar o funcionamento de BHE. Os demais sinais do microprocessador so de controle e no sero utilizados na decodificao dos circuitos de memria e de I/O.

EXERCCIO 16. Utilizando o 8086, projete um sistema de memria contendo 512Kbyte de ROM e 256Kbytes de RAM. A ROM inicia em 00000h e a RAM comea aps o trmino da memria ROM. Represente o mapa de memria. Voc conta com memrias do tipo 27512 e 62512.

Você também pode gostar