8085 cpu process adores

Upload: tiago-nagy

Post on 10-Jul-2015

558 views

Category:

Documents


0 download

TRANSCRIPT

Universidade Federal de Gois

Escola de Engenharia Eltrica e de Computao

Notas de Aula

Microprocessador 8085 Microprocessador 8088

Prof. Jos Wilson Lima Nerys

Ncleo de Estudo e Pesquisa em Processamento da Energia e Qualidade

Goinia, 2006

2

Observaes

1. Esta apostila destina-se ao ensino de Microprocessadores e Microcontroladores para alunos da 4a Srie de Engenharia Eltrica da Escola de Engenharia Eltrica e de Computao da Universidade Federal de Gois 2. No se pretende, com o uso desta apostila, dispensar os livros didticos indicados na referncia bsica, mas apenas facilitar o ensino da disciplina em questo, reunindo num s volume o material a ser usado em sala de aula.

3. A apostila est distribudas em captulos que cobrem dois dos trs temas principais, que so: Microprocessador 8085 - Neste tpico so abordados desde a estrutura bsica de um microprocessador, at a aplicao do mesmo num sistema mnimo com microprocessador, memria, portas de entrada e sada e outros perifricos. As instrues em assembly do 8085 so empregadas na soluo de vrios problemas de cunho didtico, com auxlio do simulador ABACUS. Microprocessador 8088 - O objetivo deste tpico fazer um estudo comparativo entre um microprocessador de 16 bits e o microprocessador 8085 (8 bits) e estudar o princpio de funcionamento do 8088/8086. utilizado um simulador digital para a execuo de alguns programas simples. O captulo sobre o microcontrolador 8051 est disponvel parte.

4. Os tpicos abordados so acompanhados de experimentos de laboratrio.

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

3

Informaes sobre a DisciplinaDisciplina: Cdigo: Carga Horria: Grade Curricular: Ano Letivo: Aulas Tericas: Aulas de Laboratrio: Professor: MICROPROCESSADORES E MICROCOMPUTADORES 13.05.035 96 horas (tericas) e 32 horas (de laboratrio) 1992 - (disciplina do 4o ano) 2006 Quarta-feira: 13:30h s 15:10h (alternando com Controle) Sexta-feira: 15:30h s 17:10h Segunda-feira tarde (13:30 s 18:30h) Jos Wilson Lima Nerys

Obs.: As 96 horas de aulas tericas sero ministradas em 48 aulas de 2 horas cada uma. As 32 horas de aulas prticas sero ministradas em 16 aulas de 2 horas cada uma.

BIBLIOGRAFIA BSICA Microprocessador 8085: 1. ZILLER, Roberto M., Microprocessadores Conceitos Importantes, Edio do autor, Florianpolis, 2000. ISBN 85-901037-2-2 2. NERYS, Jos Wilson L., Apostila de Microprocessadores Microprocessador 8086: 3. ZILLER, Roberto M., Microprocessadores Conceitos Importantes, Edio do autor, Florianpolis, 2000. ISBN 85-901037-2-2 4. ZELENOVSKY, Ricardo e MENDONA, Alexandre, "PC: Um Guia Prtico de Hardware e Interfaceamento," Intercincia, Rio de Janeiro, 1996. ISBN: 85-7193-001-5 5. NERYS, Jos Wilson L., Apostila de Microprocessadores Microcontrolador 8051: 6. SILVA JR., Vidal Pereira da, Aplicaes Prticas do Microcontrolador 8051, rica, So Paulo, 1994. 7. GIMENEZ, Salvador P., Microcontroladores 8051: Teoria do hardware e do software / Aplicaes em controle digital / Laboratrio e simulao, Pearson Education do Brasil Ltda, So Paulo, 2002. ISBN: 85.87918-28-1 8. NERYS, Jos Wilson L., Apostila de Microprocessadores EMENTA Conceitos bsicos de microprocessadores e microcontroladores. Arquitetura de microprocessadores e microcontroladores. Princpio de funcionamento de microprocessadores e microcontroladores. Modos de endereamento. Programao de microcontroladores. Entrada/sada. Dispositivos perifricos. Interrupes. Temporizadores. Acesso direto memria. Barramentos padres. Expanso e mapeamento de memria. Ferramentas para anlise, desenvolvimento e depurao.

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

4

PROGRAMA 1 - Introduo aos Computadores e Microprocessadores: - Histrico - Computador (definies) - Estrutura Bsica do Computador - Unidade Central de Processamento - CPU - Memria - Unidade de Entrada e Sada - Microprocessadores e Microcontroladores - Outros Conceitos Bsicos - Ciclo de Clock, Ciclo de Mquina e Ciclo de Instruo - Memria ROM e Memria RAM - Memria RAM Esttica e Memria RAM Dinmica - Registradores - Diagrama de Blocos de uma CPU Genrica - Sistemas de Numerao 2 - Arquitetura do 8085: - Princpio Bsico de Operao de um Microprocessador - Diagrama de Blocos do Microprocessador 8085 - Pinagem; - Principais Caractersticas; - O Sistema Mnimo; - Modos de Endereamento; - Busca e Execuo de Instrues. 3 - Conjunto de Instrues do 8085: - Transferncia de Dados; - Aritmticas e Lgicas; - Rotao e Deslocamento; - Desvio; - Entrada e Sada; - Controle. 4 - Princpios Bsicos de Interfaceamento de Micros: - Interface Paralela - Interface Serial - Unidade de Temporizao - Controlador de Interrupo - Controlador de DMA (DMAC) - Integrados de Suporte - Arquitetura atual de um PC 5 - Arquitetura do 8086/8088 - Famlia 80x86: - Diagrama em Blocos; - Registradores; - Segmentao de Memria; - Pinagem; - Modos de Endereamento; - Evoluo dos processadores da famlia 80X86. 6 - Introduo ao Microcontrolador 8051 - Arquitetura da Famlia do Microcontrolador 8051 - Caractersticas Principais - Programao em Linguagem AssemblyMicroprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

5

-

Interrupes Temporizadores Comunicao Serial Simulao Digital Construindo um Sistema Baseado no Microcontrolador 8051

7 - Projeto Experimental usando Microcontrolador da famlia 8051 8 - Atividades de Laboratrio LABORATRIO Laboratrio 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Uso do Kit do 8085 Programa de Simulao ABACUS Instrues de transferncia de dados (uso do Kit e do simulador ABACUS) Instrues aritmticas (uso do Kit e do simulador ABACUS) Instrues lgicas (uso do kit e do simulador ABACUS) Programao 8085 (uso do kit e do simulador ABACUS) Programao 8085 com Interrupo Programao 8085 com Interrupo Microprocessador 8086: caractersticas bsicas Microcontrolador 8051: Sequncia de LEDs e Motor de passo (uso de Kit e de simulador) Microcontrolador 8051: Motor de corrente contnua (uso de Kit e de simulador) Microcontrolador 8051: Conversores AD e DA (uso de Kit e de simulador) Projeto usando 8051 Projeto usando 8051 Projeto usando 8051 Projeto usando 8051 Projeto usando 8051 AVALIAO NotaNota 1 Nota 2 Nota 3 Nota 4

Contedo

Tipo de AvaliaoProva 1 Laboratrio Prova 2 Laboratrio Prova 3 Laboratrio Prova 4 Projeto Experimental

Valor Mximo8,0 2,0 8,0 2,0 8,0 2,0 5,0 5,0

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

6

1. INTRODUO AOS COMPUTADORES E MICROPROCESSADORES................................9 1.1 1.2 1.3 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.5 1.6 1.7 1.8 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9 1.10 HISTRICO SOBRE COMPUTADORES ............................................................................................9 NMERO DE TRANSISTORES EM UM MICROPROCESSADOR .....................................................13 DEFINIES E CLASSIFICAES BSICAS .................................................................................14 ESTRUTURA BSICA DE UM COMPUTADOR ...............................................................................15 UNIDADE CENTRAL DE PROCESSAMENTO (CPU) ......................................................................16 MEMRIA ...................................................................................................................................16 UNIDADE DE ENTRADA E SADA (I/O) .......................................................................................16 BARRAMENTO ............................................................................................................................16 NDICE DE DESEMPENHO DE PROCESSADORES .........................................................................17 MICROPROCESSADOR MICROCONTROLADOR .......................................................................17 OUTROS CONCEITOS BSICOS: ...................................................................................................17 SISTEMAS DE NUMERAO .........................................................................................................19 SISTEMA DECIMAL .....................................................................................................................19 SISTEMA BINRIO ......................................................................................................................19 SISTEMA BCD (BINARY-CODED DECIMAL) ..............................................................................19 SISTEMA OCTAL .........................................................................................................................19 SISTEMA HEXADECIMAL ............................................................................................................20 EXERCCIOS PROPOSTOS ............................................................................................................20 REFERNCIAS BIBLIOGRFICAS...............................................................................................21

2. ARQUITETURA E PRINCPIO DE FUNCIONAMENTO DO 8085........................................22 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 DIAGRAMA DE BLOCOS DO MICROPROCESSADOR 8085...........................................................22 UNIDADES INTERNAS E REGISTRADORES DO 8085....................................................................23 FREQUNCIA DE CLOCK .............................................................................................................25 PINAGEM DO 8085........................................................................................................................25 SISTEMA BSICO DE TEMPORIZAO E PRINCPIO DE OPERAO ........................................27 FORMATO DAS INSTRUES .......................................................................................................30 EXERCCIOS PROPOSTOS ............................................................................................................31 REFERNCIAS BIBLIOGRFICAS.................................................................................................32

3. CONJUNTO DE INSTRUES DO MICROPROCESSADOR 8085.......................................33 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 SIMBOLOGIA DAS INSTRUES...................................................................................................33 MODOS DE ENDEREAMENTO ....................................................................................................33 GRUPOS DE INSTRUES.............................................................................................................34 INSTRUES DE TRANSFERNCIA DE DADOS ............................................................................35 INSTRUES ARITMTICAS ........................................................................................................39 INSTRUES LGICAS.................................................................................................................43 INSTRUES DE DESVIO ..............................................................................................................46 INSTRUES DE CONTROLE, PILHA E ENTRADA E SADA ........................................................49 FUNCIONAMENTO DA PILHA .......................................................................................................51 EXEMPLOS DE PROGRAMAS EM ASSEMBLY DO 8085..............................................................52 EXERCCIOS PROPOSTOS ..........................................................................................................54 REFERNCIAS BIBLIOGRFICAS...............................................................................................56

4. SIMULADOR DIGITAL ABACUS ...............................................................................................57 4.1 4.2 4.3 SIMULADOR ABACUS PARA O MICROPROCESSADOR 8085.....................................................57 EXEMPLOS DE PROGRAMAS EM ASSEMBLY PARA O ABACUS................................................59 EXERCCIOS PROPOSTOS ............................................................................................................60Prof. Jos Wilson Lima Nerys

Microprocessadores e Microcomputadores

7

4.4

REFERNCIAS BIBLIOGRFICAS.................................................................................................62

5. KIT DIDTICO E ROTEIROS DE LABORATRIO ...............................................................63 5.1 5.2 5.3 5.4 SUB-ROTINAS DO PROGRAMA MONITOR DO KIT DIDTICO ....................................................63 PRINCIPAIS COMANDOS E ORIENTAES PARA USO DO KIT DIDTICO ..................................64 ROTEIROS DE EXPERIMENTOS....................................................................................................66 REFERNCIAS BIBLIOGRFICAS.................................................................................................74

6. INTERRUPOES E OPERAES DE ENTRADA E SADA ..................................................75 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 INSTRUES DE RECOMEO .......................................................................................................75 INTERRUPES ............................................................................................................................75 CIRCUITOS DE INTERRUPO .....................................................................................................76 SETAGEM E LEITURA DA MSCARA DE INTERRUPO ............................................................79 AMPLIANDO A CAPACIDADE DE INTERRUPO ........................................................................80 DISPOSITIVOS DE ENTRADA E SADA..........................................................................................81 EXERCCIOS PROPOSTOS ............................................................................................................83 REFERNCIAS BIBLIOGRFICAS.................................................................................................84

7. ENTRADA E SADA SERIAL E PASTILHAS INTEGRADAS DE SUPORTE ......................85 7.1 7.2 7.2.1 7.2.2 7.3 7.4 INTERFACE SERIAL NO PC..........................................................................................................85 INTEGRADOS DE SUPORTE ..........................................................................................................88 MEMRIAS RAM E ROM...........................................................................................................88 DECODIFICADOR 74LS138.........................................................................................................94 EXERCCIOS PROPOSTOS ............................................................................................................95 REFERNCIAS BIBLIOGRFICAS.................................................................................................97

8. INTERFACE ANALGICA ..........................................................................................................98 8.1 8.2 8.3 8.4 CONVERSOR DIGITAL-ANALGICO ...........................................................................................98 CONVERSOR ANALGICO-DIGITAL .........................................................................................101 EXERCCIOS PROPOSTOS ..........................................................................................................102 REFERNCIAS BIBLIOGRFICAS...............................................................................................103

9. MICROCONTROLADORES 8086/8088.....................................................................................104 9.1 9.2 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.4 9.5 9.6 9.7 9.8 9.9 9.9.1 INTRODUO .............................................................................................................................104 DIAGRAMA DE BLOCOS DO 8088 ..............................................................................................106 OS REGISTRADORES DO 8088 ...................................................................................................108 REGISTRADORES DE DADOS.....................................................................................................109 REGISTRADORES APONTADORES E NDICES ............................................................................109 REGISTRADORES DE SEGMENTO ..............................................................................................110 APONTADOR DE INSTRUES ..................................................................................................111 A PINAGEM DO 8088 ..................................................................................................................112 CICLOS DE BARRAMENTO DO 8086 ..........................................................................................114 ENDEREAMENTO DE MEMRIA..............................................................................................116 LINGUAGEM DE PROGRAMAO ASSEMBLY DO 8086 ........................................................118 MODOS DE ENDEREAMENTO E ENDEREOS DE MEMRIA EFETIVO ..................................119 INTERRUPES DO 8086............................................................................................................121 ESTRUTURA DE INTERRUPO DO 8086: .................................................................................121Prof. Jos Wilson Lima Nerys

Microprocessadores e Microcomputadores

8

9.9.2 9.9.3 9.9.4 9.10 9.10.1 9.10.2 9.10.3 9.10.4 9.10.5 9.10.6 9.11 9.11.1 9.11.2 9.11.3 9.11.4 9.12 9.13 9.14 9.15

INTERRUPES PR-DEFINIDAS, RESERVADA OU EXCEES...................................................122 INTERRUPES POR HARDWARE .............................................................................................122 INTERRUPES POR SOFTWARE ...............................................................................................122 CONJUNTO DE INSTRUES DO 8088/86 ................................................................................123 INSTRUES DE TRANSFERNCIA DE DADOS ........................................................................123 INSTRUES DE STRINGS .......................................................................................................126 INSTRUES LGICAS ............................................................................................................128 INSTRUES ARITMTICAS ....................................................................................................129 INSTRUES DE DESVIO.........................................................................................................129 INSTRUES DE CONTROLE ...................................................................................................130 CARACTERSTICAS DE I/O DO PC-XT....................................................................................130 DIVISO DOS ENDEREOS DOS DISPOSITIVOS DE I/O DO PC-XT ..........................................130 ENDEREOS DOS DISPOSITIVOS DA PLACA PRINCIPAL (PLACA ME) ..................................131 ENDEREOS DOS DISPOSITIVOS DOS SLOTS...........................................................................132 O SLOT DO PC (ISA 8 BITS) ...................................................................................................132 DECODIFICAO DE ENDEREOS...........................................................................................133 EXEMPLOS GERAIS ..................................................................................................................133 PROBLEMAS PROPOSTOS ........................................................................................................134 REFERNCIAS BIBLIOGRFICAS.............................................................................................135

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

9

1. INTRODUO AOS COMPUTADORES E MICROPROCESSADORES

1.1

Histrico sobre Computadores

4000 A.C - BACO Inveno do baco pelos babilnios. Instrumento usado para realizar operaes aritmticas, onde cada coluna representa uma casa decimal. Era o principal instrumento de clculo do sculo XVII e usado at hoje.

baco

Octograma chins Yin Yang

Data da mesma poca do baco o octograma chins Yin Yang, o qual tido como a primeira representao binria dos nmeros de 0 a 8. Foi criado pelo imperador chins Fou-Hi para representar a interao entre as duas energias que juntas so o fundamento da totalidade. 1614 LOGARITMO O cientista escocs JOHN NAPIER criou os logaritmos. Atravs das tabelas criadas, as operaes de multiplicao e diviso tornaram-se mais simples, pois eram substitudas por operaes de adio e subtrao, reduzindo o tempo de processamento.

Tabela de logaritmos

Pascaline

1623 RELGIO DE CALCULAR WILHELM SHICKARD, professor de matemtica da Universidade de Tbingen, Alemanha, inventou um relgio de calcular que considerado a primeira mquina mecnica de calcular da histria. Fazia multiplicao e diviso, mas requeria vrias intervenes do operador. Usava o princpio desenvolvido por Napier (Napiers bones). Essa calculadora foi desenvolvida para auxiliar o matemtico e astrnomo Johannes Kepler. 1642 PASCALINE O cientista francs BLAISE PASCAL criou uma calculadora capaz de realizar operaes de adio e subtrao. A mquina implementada utilizava rodas e engrenagens, com as quais era possvel representar nmeros decimais de 0 a 9. Pascal desenvolveu essa mquina para ajudar seu pai na coleta de impostos. A mquina teve mais de 50 verses diferentes em uma dcada. 1671 O matemtico alemo francs GOTTFRIED LEIBNIZ criou uma calculadora de 4 funes, capaz de realizar operaes de adio, subtrao, multiplicao e diviso. a antecessora das calculadoras atuais. O problema comum s calculadoras at esta poca era a necessidade de entrar com todos os resultados intermedirios.

Calculadora de 4 funes de Leibniz Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

10 1738 ANDROIDES PROGRAMVEIS O cientista francs JACQUES VAUCANSON criou (robs imitando a aparncia humana). Eram capazes de tocar flautas. Sua criao mais famosa foi O Pato. Esse pato mecnico era capaz de imitar todos os movimentos de um pato real (bater asas, movimentar a cabea, fazer barulho equivalente, comer e evacuar. ( www.automates-anciens.com). Em 1749 ele construiu o primeiro TEAR AUTOMTICO, que aceitava comandos atravs de um cilindro de metal perfurado.

Tear de Vaucanson

Tear de Jacquard

1801 CARTO PERFURADO O Tecelo francs JOSEPH MARIE JACQUARD aperfeioou o tear construdo por Vaucanson. Ele construiu uma mquina de tear que memorizava em cartes perfurados os padres de desenho dos tecidos e depois os reproduzia com fidelidade, lendo comandos na presena ou ausncia de orifcios. A verso seguinte do Tear, em 1804, era totalmente automatizada e podia fazer desenhos muito complicados. Esse considerado o primeiro registro de programao semelhante de computadores modernos. 1822 MQUINA DE DIFERENA e MQUINA ANALTICA Aborrecido pelos inmeros e freqentes erros que encontrava nas tabelas de logaritmos, o professor de matemtica CHARLES BABBAGE (ingls) decidiu construir uma mquina que eliminasse o trabalho repetitivo de fazer esses clculos, a "Mquina de Diferena". O modelo apresentado em 1822 encantou o Governo Britnico que decidiu financi-lo na construo de uma mquina de diferena completa, movida a vapor e completamente automtica, comandada por um programa de instruo fixo capaz de imprimir as tabelas. Baseada em operaes de adio e subtrao e na tcnica de diferenas finitas, era capaz de resolver funes polinomiais e trigonomtricas (clculo de tabelas de navegao).

Mquina de diferenas

mquina analtica

O projeto da sua nova mquina levou 10 anos e foi abandonada em 1833, quando decidiu criar a Mquina Analtica, um computador mecnico-automtico totalmente programvel, funo que designou para sua esposa, a condessa Ada Lovelace (filha de Lord Byron). O novo computador decimal paralelo a vapor operaria nmeros de 50 dgitos e proveria de uma memria de 1000 nmeros, usando cartes perfurados e condicionais (IF), alm de instrues de desvio. Apesar de ter uma estrutura correta, a metalurgia da poca no permitia a simetria e resistncia das peas, razo ao qual a mquina nunca funcionou. Seria capaz de fazer uma adio em 1 segundo e uma multiplicao em 1 minuto. 1885 - O CARTO DE HOLLERITH Herman Hollerith , funcionrio do Departamento de Estatstica dos Estados Unidos, construiu uma mquina de carto perfurado para fazer o recenseamento da populao americana. Antes da mquina o recenseamento durava 7 anos e ocupava 500 empregados. Com a mquina o recenseamento de 1890 durou 1 ano e ocupou 43 empregados. A mquina foi aproveitada nas mais diversas aplicaes em reparties pblicas, comrcio e indstria, e aperfeioada para realizar operaes aritmticas elementares. Em 1896 Hollerith fundou a TMC (Tabulation Machine Company).

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

11 Para ampliar seus negcios, a TMC se uniu com duas pequenas empresas para formar a CTRC (Computing Tabulation Recording Company), em 1914. Em 1924, a CTRC se tornou uma empresa internacional e mudou seu nome para IBM (Internacional Business Machine).

Mquina de Herman Hollerith

Z4

1936 COMPUTADORES Z1, Z3 e Z4 O cientista alemo KONRAD ZUSE criou o computador - Z1, baseado em rel eletro-mecnico. Criou tambm o computador Z3, que foi o primeiro computador de propsito geral controlado por programa. Criou ainda o Z4, computador projetado para o desenvolvimento de msseis. Ele foi destrudo por bomba na 2a. guerra mundial. 1943 COLOSSO Na Inglaterra, em 1943, Alan Turing, do Servio de Inteligncia Britnico, construiu o Colosso, de dimenses gigantescas. A mquina, abrigada em Bletchley Park, tinha 2000 vlvulas e lia smbolos perfurados numa argola de fita de papel, inserida na mquina de leitura fotoeltrica, comparando a mensagem codificada com sequncias conhecidas at encontrar uma coincidncia. Processava cerca de 5 mil caracteres por segundo e foi usada para descodificar as mensagens dos alemes, tendo sido decisiva no resultado final da guerra.

Colosso

Mark I

1944 MARK I Na Universidade de Harvard em 1937, o professor Howard Aiken, financiado pela IBM, comeou a construir o Mark I, concludo em 1944. Baseado em um sistema decimal, manipulava nmeros de at 23 dgitos e tinha medidas grotescas: 15 m de comprimento e 2,5 m de altura; 760.000 peas envoltas em vidro e ao inoxidvel brilhante; 800 km de fios e 420 interruptores para controle.trabalhava sob o controle de um programa perfurado em uma fita de papel. Adio e subtrao em 0,3 s, multiplicao em 3 s e diviso em 12 s, 1946 ENIAC (Electronic Numerical Integrator and Computer) - 1o Computador de propsito geral a vlvula: 18.000 vlvulas, 30 toneladas, 15.000 ps quadrados, 140 kW, representao e aritmtica com nmeros decimais, 5.000 adies /seg. Projetado pela Ballistics Research Labs. Foi aproveitado no desenvolvimento da Bomba H. 1946 VON NEWMANN MACHINE A Mquina de Von Newman, ou Mquina de Touring introduziu o conceito de programa armazenado (Stored Programa Concept) no qual a memria conteria, alm de dados, programas. Os computadores modernos so baseados na mquina de Von Newman. 1950 UNIVAC (Universal Automatic Computer) Lanado pela SPERRY, foi o 1o Computador de aplicao cientfica e comercial. Seguiram UNIVAC II e UNIVAC 1100 series .

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

12 1953 IBM 701 Computador desenvolvido para aplicaes cientficas. 1947 TRANSISTOR Inveno do transistor pelos cientistas John Bardeen, William Shockley e Walter Brattain. Passou a ser usado em escala comercial somente em 1952 pela Bell Laboratories. 1958 CIRCUITO INTEGRADO O engenheiro Jack Kilby, da Texas Instruments, criou o Circuito Integrado. 1960 IBM 7090, 7094 Computador transistorizado. Utilizao de linguagens de programao de alto nvel, tais como FORTRAN, COBOL e PASCAL. 1964 IBM 360 Primeira famlia planejada de computadores. DEC PDP 8 Introduziu o conceito de Minicomputador. Criou a estrutura de barramento, ou seja, unidadade de Entrada e Sada, Memria e CPU interligados por um conjunto de condutores. 1971 4004 (INTEL) - 1o microprocessador a ser lanado, de 4 bits, com aplicao voltada para calculadoras (manipulao de nmeros em BCD) - 45 instrues - 640 Bytes de memria - clock de 108 KHz 60.000 instrues/seg. (OBS: desempenho superior ao ENIAC) - 2.300 transistores. 1972 8008 (INTEL) - 1o microprocessador de 8 bits, com aplicao voltada para terminais (que trabalham com caracteres - codificao ASCII) - 48 instrues - 16KB de memria - clock de 200 KHz - 300.000 instrues/seg. 3500 transistores. 1974 8080 (INTEL) - Processador de 8 bits, de propsito geral - 72 instrues - opera com 12V - clock de 2 MHz - 640.000 instrues/s. 64KB de memria. 6.000 transistores. 1975 Z80 (ZILOG), 6502 (MOS) Utilizado pelo 1o APPLE (APPLE 1) em 1976 por Steve Wozniak e Steve Jobs (data da fundao da APPLE). 1976 8085 (INTEL) 8080 operando com 5V - 2 instrues a + que o 8080 - melhor performance. 5 MHz 370.000 instrues/s. 6500 transistores. 1978 8086 (INTEL) - Processador 16 bits (barram. externo de 16 bits e registradores de 16 bits). 5 MHz - 0.33 MIPS, 8 MHz - 0.66 MIPS e 10 MHz - 0.75 MIPS. 29.000 transistores. 1979 8088 (INTEL) - Processador 16 bits (barram. externo de 8 bits e registradores de 16 bits) - 133 instrues - chip utilizado no primeiro PC em 1981. O PC/XT seria lanado em 1983 com HD de 10 MB e 128 Kbyte RAM. 29.000 transistores. Lanado o 68.000 (MOTOROLA) que foi utilizado no Machintosh em 1984 1980 Coprocessador 8087 (processador matemtico). 8051 (INTEL Lanado o microcontrolador 8051: microprocessador + perifricos (RAM, ROM, Serial, Timer, Controlador de Interrupo, etc.) num nico chip, voltado para aplicaes de controle 1982 80186/188 - 80286 - 80287 (INTEL) PC/AT 16 bits, modo protegido, 24 linhas endereos. 1985 80386 (INTEL) Processador de 32 bits - bus ext. de dados de 32bits - 275.000 transistores. 16MHz 2.5 MIPS, 20 MHz - 2.5 MIPS, 25 MHz - 2.7 MIPS, 33 MHz - 2.9 MIPS. 1989 80486 (INTEL) - Processador de 32 bits: 386 que incorpora o 387 (coprocessador), cache interna (L1) de 8KB e maior performance - 235 instrues - 1,2 milhes de transistores. 25 MHz - 20 MIPS, 33 MHz - 27 MIPS, 50 MHz - 41 MIPS. 1991 WEB Tim Berners-Lee desenvolve a Rede Mundial de Computadores (World Wide Web). O primeiro servidor Web lanado. O conceito de conexo de vrios usurios a um nico computador por via remota nasceu no MIT no final da dcada de 50 e incio da dcada de 60. As idias bsicas da Internet foram desenvolvidas em 1973 por Bob Kahn e Vint Cerf.

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

13 1993 Pentium 60 MHz e 66 MHz - Processador de 32 bits bus ext. de 64 bits - 5V - 3 milhes de transistores. Primeiro processador de 5a gerao. 1994 Pentium 90 MHz e 100 MHz - Alimentao de 3,3V (maior confiabilidade). 3.2 milhes de transistores. 1996 Pentium Pro 200 - Incorpora cache L2 de 256kB, utilizando tecnologia MCM (Multi-Chip Module) - 5 milhes de transistores - idealizado para programas de 32 bits. Usa memria de 64 bits. 1997 Pentium 200MMX (Pentium MultiMidia eXtensions): contm 57 novas instrues dedicadas para programas de Multimdia. 4.5 milhes de transistores. 200 MHz e 166 MHz. Barramento de 64 bits. Cada instruo MMX equivale a vrias instrues comuns. 1997 Pentium II 233, 266, 300MHz utiliza o slot I. 7,5 milhes de transistores (tecnologia 0.35 micron), cache L2 com 512kB - 242 pinos - 64GB de memria enderevel. Poder de processamento de 32 bits do Pentium Pro e maior eficincia no processamento de 16 bits. Instrues MMX. 1998 Pentium II 450 MHz - Cache L2 de 512 kB, 7.5 milhes de transistores, tecnologia 0.25 micron, barramento de 64 bits. 64 GB de memria enderevel. 1999 Pentium III 450 e 500 MHz (at 1,2 GHz) Barramento de sistema de 100 MHz ou 133 MHz, cache L2 de 512 kB, processador de 32 bits, 9,5 milhes de transistores, tecnologia 0.25 micron, 64 GB de memria enderevel. 70 novas instrues voltadas para multimdia e processamento 3D. 2000 Pentium IV at 2 GHz, barramento de sistema de 400 MHz, Cach L1 de 32 kB e L2 de 256 kB, 42 milhes de transistores.

Alguns Exemplos de Aplicao de Microprocessadores e MicrocontroladoresMicrocomputadores, Calculadoras, Relgios Digitais, Controle de Fornos Micro-ondas, Lavadora de Roupas, Video Games e outros brinquedos, Controle de Motores, Controle de Trfego, Alarmes e Sistemas de Segurana, Telefone Celular.

1.2

Nmero de Transistores em um Microprocessador

O nmero de transistores num nico microprocessador um dos indicadores da evoluo acentuada nessa rea nos ltimos anos. Dr. Gordon E. Moore, co-fundador da Intel, afirmou em 1965 que o nmero de transistores em um microprocessador dobraria a cada dois anos. O grfico e a tabela a seguir confirmam a previso de Moore nos ltimos 30 anos.

Fig. 1.1: Evoluo do nmero de transistores no microprocessador

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

14

Tabela: Evoluo do nmero de transistores no microprocessador Processador 4004 8008 8080 8085 8086 8088 286 386 486 DX Pentium Pentium II Pentium III Pentium 4 Ano de Introduo 1971 1972 1974 1976 1978 1979 1982 1985 1989 1993 1997 1999 2000 Nmero de transistores 2.250 2.500 5.000 6.500 29.000 29.000 120.000 275.000 1.180.000 3.100.000 7.500.000 24.000.000 42.000.000 Barramento de dados (bits) 4 8 8 8 16 16 16 32 32 32 32 32 32 Capacidade de endereamento 1 kB 16 kB 64 kB 64 kB 1 MB 1 MB 16 MB 4 GB 4 GB 4 GB 4 GB 4 GB 4 GB

A quantidade cada vez maior de transistores numa nica pastilha foi acompanhada da reduo do tamanho fsico dos transistores. Essa reduo mostrada na Fig. 1.2. A reduo do tamanho do transistor resulta no aumento da velocidade de operao e tambm na reduo das conexes internas, alm de permitir a insero de um nmero cada vez maior de transistores numa nica pastilha. O aumento da capacidade de integrao de transistores resulta ainda na reduo do consumo de energia eltrica e do custo dos microprocessadores. H um postulado que diz que o gate de um transistor no pode ser menor do a largura correspondente a 10 tomos. A previso de pesquisadores da Intel a dimenso do gate dos transistores alcanaro esse valor por volta do ano 2017 (http://www.intel.com/update/archive/issue2/focus.htm).

Fig. 1.2: Reduo do tamanho fsico dos processadores

1.3

Definies e Classificaes BsicasCOMPUTADOR (definies):Mquina destinada a reduzir cmputos (clculos) e tomadas de decises; Mquina que executa uma seqncia de operaes (descritas por um programa) sobre um determinado dado e produz uma sada; Dispositivo com a habilidade de ser programado para operar (armazenar, relembrar e processar) dados sem a interveno humana.

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

15

COMPUTADOR (classificao quanto velocidade de processamento, nmero de registradores da CPU, complexidade do sistema operacional etc ): Microcomputador:- Computador que tem a CPU implementada em um nico chip: o microprocessador

Minicomputador:- Multi-usurio; - grande capacidade de armazenamento; - operao com matrizes e ponto flutuante melhorada;

Mainframes ( computadores de grande porte) : - suporta grandes bases de dados (organizaes governamentais, grandes empresas); - alta performance; - processamento distribudo; Supercomputador:- Computador idealizado para resolver problemas matemticos de processos reais, tais como: aerodinmica, meteorologia, fsica, etc - altssima performance (GFLOPs) para repetidas operaes aritmticas (iterao); - operaes com matrizes e nmeros em ponto flutuante; - mercado limitado.

COMPUTADOR (classificao quanto grandeza manipulada): Computadores Analgicos:- operam diretamente com grandeza fsica (variveis contnuas);

Computadores Digitais:- operam com variveis discretas (nmeros).

COMPUTADOR (funes bsicas):processamento de dados (ex.: execuo de uma adio ou de uma funo lgica); armazenamento de dados (ex.: armazenamento temporrio na memria RAM, Disco, DAT, etc.); movimentao de dados (comunicao com mundo exterior: teclado, monitor, impressora); controle (controle das funes anteriores).

1.4

Estrutura Bsica de um ComputadorCPU

Fig. 1.3: Estrutura bsica de um computador

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

16

1.4.1

Unidade Central de Processamento (CPU)

A Unidade Central de Processamento a responsvel por buscar e executar instrues, que ficam armazenadas na memria. A CPU possui internamente os seguintes blocos, dentre outros: Control Unit - Unidade de Controle (UC) - tem por funo bsica o controle das demais unidades da CPU de uma forma lgica e sincronizada. ALU (Aritmetic and Logic Unit) - Unidade Lgica e Aritmtica (ULA) - realiza funes bsicas de processamento de dados (adio, subtrao, funes lgicas, etc.). Registers - Registradores - So usados para o armazenamento interno da CPU. Existem diversos registradores na CPU e o principal deles chamado de Acumulador. CPU interconnection - o barramento interno da CPU; ele permite a comunicao entre a Unidade de Controle, a Unidade Lgica e Aritmtica e os Registradores.

1.4.2

Memria

o local de armazenamento de dados e programas. Possui palavras de tamanho fixo, sendo cada palavra vinculada a um endereo nico. Possui ainda linhas de controle, sendo as principais: READ (leitura) / WRITE (escrita). Existem dois tipos bsicos de memria: Memria somente para leitura (ROM), onde ficam armazenados permanentemente informaes fundamentais para o funcionamento do computador e cujos dados no so perdidos na falta de energia; e a memria RAM, que permite gravar e apagar dados de acordo com os interesses do usurio, e cujo contedo perdido quando o computador desligado. A memria RAM divide-se ainda em Memria Dinmica (DRAM) e memria esttica (SRAM), que sero melhor detalhadas posteriormente. A principal caracterstica a ser destacada neste ponto a baixa velocidade de acesso da memria RAM. Com o passar dos anos os processadores tornaram-se cada vez mais rpidos, o mesmo no acontecendo com as pastilhas de memria, que evoluram de forma bem menos acentuada (em particular, a memria dinmica, que possui velocidade de acesso bem menor que a esttica, mas bem mais barata). Para evitar com que a baixa velocidade de acesso da memria comprometesse o desempenho dos processadores mais modernos, um tipo especial de memria RAM foi criado: a memria CACHE. A memria CACHE consiste numa pequena quantidade de memria RAM esttica (SRAM) usada para acelerar o acesso RAM dinmica. Quando h necessidade de ler dados da memria dinmica, estes so antes transferidos para a memria cache. Enquanto o processador l dados da memria cache, mais dados so antecipadamente transferidos da memria dinmica para a memria cache, de forma que o processamento tornase mais rpido.

1.4.3

Unidade de Entrada e Sada (I/O)

a unidade atravs da qual o usurio se comunica com o sistema. Ela abriga componentes responsveis pelo interfaceamento do sistema com perifricos tais como teclado, LCD, mouse, impressora e monitor. tambm atravs da unidade de entrada e sada que so enviados sinais de interrupo para a CPU.

1.4.4

Barramento

Barramento o meio fsico usado para o transporte de um conjunto de sinais digitais usados para comunicao entre o processador, a memria e o meio externo. O barramento especfico para a comunicao entre o processador e a memria chamado de barramento de sistema. Para a comunicao com os perifricos os trs tipos mais comuns de barramento hoje so: barramento ISA, usado para interfaces seriais, paralelas, interface para drivers e alto falante; barramento PCI, usado para interfaces IDE e USB; e barramento AGP, usado para placas de vdeo 3D de alto desempenho. Um barramento constitudo de um barramento de dados, um barramento de endereos e um barramento de controle. O barramento de dados nos computadores mais modernos possui at 64 linhas (bits) e permite o fluxo bidirecional de dados. O microprocessador 8085, objeto de estudo na primeira parte do presente curso, possui 8 bits de dados e, por esta razo, denominado de processador de 8 bits.

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

17 A quantidade de posies de memria que um computador pode acessar ditada pela quantidade de bits do barramento de endereos. Um barramento com 32 bits pode acessar at 4.294.967.296 (232) posies de memria, o que corresponde a 4 GB de memria (4.294.967.296 = 4 1024 1024 1024 = 4 GB). Todos os processadores da classe Pentium possuem barramento de endereo com 32 bits. Os processadores Pentium II, Pentium III e Celeron possuem barramento de endereo de 36 bits, podendo ento acessar at 64 GB de memria. O barramento de controle de um computador comporta uma srie de sinais com finalidades diversas. Alguns exemplos so: sinal RW que indica se a operao uma leitura ou uma escrita, sinal MIO, que indica se a operao envolve a memria ou a unidade de entrada e sada, sinal de RESET, entradas das interrupes, sinal de CLOCK, etc. Barramento ISA - O barramento ISA (Industry Standard Architecture) formado por slots de 8 e 16 bits existentes nas placas de CPU e foi originado no IBM PC, na verso de 8 bits, e aperfeioado no IBM PC AT, quando foi criada a verso de 16 bits. Permite transferncia de dados em grupos de 8 ou 16 bits a um clock de 8 MHz. Embora possua velocidade de transferncia pequena para os padres atuais, o barramento ISA ainda muito utilizado para placas tais como fax/modem, placas de som e placas de rede, cujos desempenhos no ficam comprometidos com a baixa velocidade de transferncia do barramento. Barramento PCI - O barramento PCI (Peripheral Component Interconnect) foi desenvolvimento pela Intel, quando do desenvolvimento do processador Pentium. Ele opera com 32 ou 64 bits, apresenta taxa de transferncia de at 132 MB/s, com 32 bits e possui suporte para o padro PnP (Plug and Play). Seu clock geralmente de 33 MHz, para valores de clock interno acima de 150 MHz. Barramento AGP - O barramento AGP (Accelerated Graphics Port) foi devolvido pela Intel com o intuito de aumentar a taxa de transferncia entre a CPU e a placa de vdeo, melhorando o desempenho de operao com grficos. Esse barramento foi incorporado CPU de processadores Pentium II mais modernos. A principal vantagem do AGP o uso de maior quantidade de memria para armazenamento de texturas para objetos tridimensionais, alm de alta velocidade no acesso a essas texturas para aplicao na tela.

1.5

ndice de Desempenho de ProcessadoresO aumento de desempenho (velocidade de processamento) de processadores gira em torno de pontos

chaves: Aumento de clock Aumento do nmero interno de bits Aumento do nmero externo de bits Reduo do nmero de ciclos para executar cada instruo Aumento da capacidade e velocidade da memria cache Execuo de instrues em paralelo

1.6

Microprocessador Microcontrolador

Microprocessador - a CPU de um computador construdo num nico Circuito Integrado. Contm essencialmente a unidade de controle, a unidade lgica e aritmtica e registradores. Precisa de perifricos tais como memria e unidade de entrada e sada, para a formao de um sistema mnimo. Microcontrolador - um computador completo construdo num nico Circuito Integrado. Os microcontroladores so normalmente utilizados para aplicaes especficas. Eles contm normalmente facilidades tais como portas seriais, portas de entrada e sada paralelas, timers, contadores, controles de interrupo, conversor analgico para digital, memrias RAM e ROM.

1.7

Outros conceitos bsicos:Millions of Instructions Per Seconds (Milhes de Instrues Por Segundo): uma unidade de desempenho do microprocessador.

MIPS -

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

18 FLOPS - FLOating point instructions Per Seconds (Instrues com Ponto Flutuante Por Segundo). tambm uma unidade de desempenho do microprocessador. Indica a capacidade de trabalhar com nmeros decimais. Representao em Ponto Fixo - Sistema numrico no qual o ponto est implicitamente fixo ( direita do digito mais a direita); Representao em Ponto Flutuante - Sistema numrico no qual um nmero real representado por um par distinto de numerais: uma mantissa (ou significante) e um expoente. Possibilita representao de nmeros fracionrios. Bit - Abreviatura para 'Binary Digit', ou, Dgito Binrio. Pode assumir valor 0, que corresponde a tenso O V, ou 1, que representa normalmente uma tenso de 5 V ou 3.3 V. Byte - Conjunto (cordo) de 8 bits. a unidade bsica de dados nos computadores, que tambm utilizam alguns mltiplos de 8, tais como 16 bits (Word) e 32 bits (Dword). BYTE nibble superior nibble inferior Bit 7 Bit 6 Bit 5 Bit 5 Bit 3 Bit 2 Bit 1 Bit 0 Nibble, Word, Dword Palavra digital composta de 4, 16, 32 bits, respectivamente. Set de instrues - Conjunto de Instrues. Conjunto de Mnemnicos (siglas que fazem lembrar uma ao) que representam todas as instrues do processador. Cada processador possui o seu set de instrues particular. CISC - Complex Instruction Set Computer: Tecnologia atribuda s CPUs de um modo geral, que contm set de instrues complexo. O barramento de comunicao entre as unidades que compem a CPU comum a todas as unidades, ou seja, no h comunicao direta entre unidades, atravs de um barramento exclusivo. RISC - Reduced Instruction Set Computer: Computador com set de instrues reduzido. Principais caractersticas: Conjunto de instrues limitado e simples; Grande nmero de registradores de propsito geral; Pipeline otimizado. Em outras palavras, h comunicao direta entre algumas unidades, atravs de barramento exclusivo, possibilitando, assim, o processamento paralelo de intrues. BIOS - Basic Input/Output System o conjunto mnimo de instrues necessrias para a inicializao do computador. Tambm gerencia o fluxo de dados entre o sistema operacional do computador e os dispositivos perifricos conectados. Memria EPROM - (Erasable Programmable Read Only Memory) - So memrias somente de leitura usadas para a gravao de programas. A gravao feita atravs de uma gravadora especfica e os dados gravados podem ser apagados atravs de raios ultravioletas. Pode-se repetir esse processo gravar/apagar por vrias vezes. Memria EEPROM ou E2PROM - (Electrically Erasable Programmable Read Only Memory) - So memrias que podem ser usadas tanto para leitura quanto para escrita porque a gravao pode ser atravs de gravadora especfica ou pelo sistema. So apagadas eletricamente. o feita atravs de uma gravadora especfica e os dados gravados podem ser apagados atravs de raios ultravioletas. Pode-se repetir esse processo gravar/apagar por vrias vezes.

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

19

1.8 1.8.1

Sistemas de Numerao Sistema DecimalO sistema decimal utiliza 10 dgitos, que vo de 0 a 9. Exemplo: 34610 1o dgito: Armazena as unidades (ou 100 = 1). No ex.: seis unidades (ou 6 100); 2o dgito: Armazena as dezenas (ou 101 = 10). No ex.: quatro dezenas (ou 4 101); 3o dgito: Armazena as centenas (ou 102 = 100). No ex.: trs centenas (ou 3 102); A soma destas parcelas eqivale a: 6 + 40 + 300 = 34610 A ponderao dada pelo nmero 10 elevado potncia representada pela coluna, sendo que a 1a coluna da direita 0.

1.8.2

Sistema Binrio

O sistema binrio o sistema de numerao que o computador entende. Utiliza 2 dgitos, 0 e 1 ou (OFF e ON) ou (0V e 5V), ou (0V e 3,3V). Exemplo: 110010112 1o dgito: Armazena o equivalente a 20 (1). No ex.: 1 20 2o dgito: Armazena o equivalente a 21 (2). No ex.: 1 21 3o dgito: Armazena o equivalente a 22 (4). No ex.: 0 22 8o dgito: Armazena o equivalente a 27 : No ex.: 1 27 A soma destas parcelas resulta no seguinte equivalente decimal: 1 + 2 + 0 + 8 + 0 + 0 + 64 + 128 = 20310 A ponderao dada pelo nmero 2 elevado potncia representada pela coluna, sendo que a 1a coluna 0, a segunda coluna 1 e assim sucessivamente. 1 kbyte = 210 = 1.024 bytes; 1 Mbyte = 210 x 210 = 1.048.576 bytes = 1.024 kbytes; 1 Gbyte = 210 x 210 x 210 = 1.073.741.824 bytes = 1.024 Mbytes

1.8.3

Sistema BCD (Binary-Coded Decimal)

O Sistema BCD o sistema em que se combina o sistema binrio e o sistema decimal. utilizado como formato de sada de instrumentos. Utiliza 2 dgitos: 0 e 1 que so dispostos em grupos de 4 dgitos, utilizados para representar um dgito decimal (nmero 0 at 9). A representao de um nmero maior que 9 deve ser feita por outro grupo de 4 bits, com a ponderao dada pelo sistema decimal. Exemplo: 97310 = 1001 0111 0011. Note a diferena entre este valor e o valor do nmero binrio 1001011100112 = 241910

1.8.4

Sistema Octal

O Sistema Octal baseado nos mesmos princpios do decimal e do binrio, apenas utilizando base 8. Utiliza 8 dgitos: 0 a 7. Exemplo: 32078 1o dgito: Armazena o equivalente a 80 (1). 2 dgito: Armazena o equivalente a 8 (8). Microprocessadores e Microcomputadoreso 1

No ex.: 7 80 No ex.: 0 81 Prof. Jos Wilson Lima Nerys

20 3o dgito: Armazena o equivalente a 82 (64). No ex.: 2 82 4o dgito: Armazena o equivalente a 83 (512). No ex.: 3 83 O equivalente decimal : 7 + 0 + 128 + 1536 = 167110

1.8.5

Sistema Hexadecimal

O Sistema Hexadecimal baseado nos mesmos princpios do decimal, apenas utiliza base 16. Utiliza 16 dgitos: 0 a 9, A, B, C, D, E e F. Exemplo: Ex.: 20DH ou 20Dh ou 20D16 1o dgito: Armazena o equivalente a 160 (1).o 1

No ex.: 13 160

2 dgito: Armazena o equivalente a 16 (16). No ex.: 0 161 3o dgito: Armazena o equivalente a 162 (256). No ex.: 2 162 O equivalente decimal : 13 + 0 + 512 = 52510 O sistema hexadecimal mais fcil de trabalhar que o sistema binrio e geralmente utilizado para escrever endereos. Cada dgito hexadecimal convertido em 4 dgitos binrios equivalentes. Cada nmero binrio convertido em hexadecimal convertendo-se grupos de 4 bits em seus dgitos hexadecimais equivalentes. Ex.: 7 D 3 F16 = 0111 1101 0011 11112 Ex.: 10100001101110002 = 1010 0001 1011 10002 = A 1 B 816

1.9

Exerccios Propostos

1 - Quais as funes bsicas de um computador? 2. Em que consiste a CPU de um computador? 3. Como feita a conexo da CPU com as demais unidades de um computador? 4. Diferencie memria DRAM de memria SRAM 5. Qual a finalidade da memria CACHE? 6. Quantas posies de memria podem ser endereadas com um barramento de endereos de 16 bits? E de 20 bits? Como os indicadores abaixo contribuem para o aumento do desempenho de um processador? (a) aumento da freqncia de clock (b) reduo do nmero de ciclos para executar uma instruo (c) processamento paralelo de instrues Qual a diferena entre microprocessador e microcontrolador? Diferencie bit, nibble e byte.

7.

8. 9.

10. Diferencie EPROM e EEPROM. 11. Converta os nmeros abaixo (que esto na base indicada) para hexadecimal

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

21 (a) (b) (c) (d) (e) (f) 34510 = _________ h 101001112 = _________ h 101010108 = _________ h 25510 = _________ h 12810 = _________ h 101001110112 = ___________ h

1.10 Referncias Bibliogrficas

[1] Ziller, Roberto M., Microprocessadores Conceitos Importantes, Edio do Autor, Florianpolis, SC, 2000. [2] http://www.intel.com/research/silicon/moorespaper.pdf [3] www.maebee.com.br [4] http://www.intel.com/intel/intelis/museum/exhibits/hist_micro/hof/ [5] http://www.computerhistory.org/timeline/

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

22

2. ARQUITETURA E PRINCPIO DE FUNCIONAMENTO DO 80852.1 Diagrama de Blocos do Microprocessador 8085

Fig. 2.1: Diagrama de blocos do microprocessador 8085

Principais Caractersticas: microprocessador de 8 bits de propsito geral (com 6.200 transistores); opera com +5V e GND. O 8080, seu antecessor, opera com +12V, +5V e -5V; 100% compatvel em software com o 8080A; conjunto de instrues com 74 instrues. Estas 74 instrues resultam num total de 246 opcodes distintos; instrues do 8085 possuem 1, 2 ou 3 bytes; H 2 registradores temporrios de 8 bits (W e Z) no aparentes ao programador (no endereveis); 8 linhas de dados: barramento bidirecional e com 3S (three state); 16 linhas de endereo; permite endereamento de at 64kbytes = 65.536 posies de memria; barramento de dados multiplexado com parte baixa do barramento de endereo (o hardware deve conter um latch (ex.: 74373) para armazenar os endereos baixos: A0 a A7); possui pino de seleo de Entrada (I) e Sada (O) - (IO/M)

possui gerador de clock interno ( necessrio apenas um cristal externo, juntamente com dois capacitores). Reset do 8085: PC em 0000h; Flip-Flop IE (Interrupt Enable) em 0 (indicando interrupes desabilitadas); HLDA em 0; demais registradores com valores indeterminados; Interrupes RST 5.5, RST 6.5, RST 7.5 mascaradas; SOD em 0.

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

23

2.2

Unidades Internas e Registradores do 8085

Unidade "Controle de Interrupo" Unidade responsvel pelo tratamento das 5 interrupes externas do 8085. Essas interrupes so vetoradas, o que significa que h um endereo fixo, pr-definido, para cada uma (RST n salta para a posio de memria 8 vezes n: RST 5.5 = 4410 = 2Ch; RST 6.5 = 34h; RST 7.5 = 3Ch.). As interrupes RST 5.5, RST 6.5 e RST 7.5 podem ser mascaradas, ou seja, elas podem ser bloqueadas via "software". J a interrupo TRAP no pode ser bloqueada e a interrupo de maior prioridade do 8085. Ela normalmente ativada quando h problemas de falta de energia, para um desligamento seguro do microprocessador. A interrupo INTR, na verdade, um canal para expanso da capacidade de interrupo. Atravs desse canal um CI especial (Exemplo: CI 8259) conectado ao 8085, de modo a permitir um nmero maior de interrupes. O sinal INTA\ faz parte da comunicao entre o 8085 e o CI usado para expanso da capacidade de interrupo. Unidade "Controle de Entrada/Sada Serial" atravs dessa unidade que o microprocessador recebe e envia dados de forma serial, ou seja, bit a bit, ao invs de um byte por vez. O pino SID (Serial Imput Data) usado para a entrada de dados de forma serial e o pino SOD (Serial Output Data) usado para a sada de dados de forma serial. Unidade "Temporizao e Controle" Esta unidade responsvel por gerar todos os sinais de controle do 8085, tais como os sinais de leitura (RD\) e escrita (WR\) de memria, os sinais de liberao de barramento para um perifrico (HLDA) e o sinal de habilitao de endereo para um perifrico (ALE). Todas as unidades internas do 8085 so controladas por esta unidade, que contm, dentre outros, um contador em anel para sincronizao da operao de todas as unidades do 8085. Os sinais de controle para outras unidades so enviados aps a decodificao das instrues vindas do Registrador de Instrues (IR). Recebe ainda sinais do registrador de Flags e da unidade de interrupes. Unidade "Unidade Lgico-Aritmtica (ULA ou ALU)" responsvel por todo o processamento realizado na CPU (execuo de instrues aritmticas e lgicas). controlada por sinais internos emitidos pela Unidade de Controle. Tem como entrada os registradores A (Acumulador) e TEMP (Temporrio). responsvel pela sinalizao de status das operaes (FLAGS). um registrador de 8 bits. Registrador "Acumulador" o principal registrador da CPU. utilizado como Buffer temporrio de entrada da Unidade Lgica e Aritmtica (ALU ou ULA). Freqentemente o registrador de entrada ou sada da CPU. utilizado implicitamente na maioria das instrues. um registrador de 8 bits, o que permite trabalhar com nmeros sem sinal de 0 a 255 e nmeros com sinal de -128 a +127. O resultado das operaes resultantes da ULA enviado para o Acumulador. Registrador "TEMP" um registrador auxiliar usado para a entrada de dados da Unidade Lgico-Aritmtica. Os dados desse registrador so enviados para a ULA juntamente com os dados do Acumulador. Registrador "Flip-flops dos flags" tambm conhecido como registrador F (de Flags), ou registrador PSW (Program Status Word) um registrador de 8 bits (mas somente 5 bits so utilizados) que armazena o estado da ltima operao realizada na ULA. So 5 as flags do 8085, conforme mostrado a seguir: Registrador F bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 S Z AC P CY

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

24

S = Flag de Sinal - assume o valor 1 quando o resultado de uma operao negativo Z = Flag de Zero - assume o valor 1 quando o resultado de uma operao zero AC = Auxiliar de Carry = flag usada como auxiliar de transporte. Assume valor 1 quando h transporte do bit 3 para o bit 4. usada em operaes BCD P = Flag de Paridade = assume valor 1 quando h um nmero de par de algarismos 1 no acumulador CY = Flag de Carry (transporte) = assume valor 1 quando h transporte do bit 7. Exemplos de operao e os Flags resultantes:CY=11 1 1 1

AC=11 1 1

1

0 1 0

0 1 0

0 1 0

0 1 0

1 1 1

1 1 0

0 0 1

1 1 0

-

P=1 CY=11 1 1 1

-

Houve transporte do bit 3 para o bit 4, da, AC = 1 Houve transporte do bit 7 para o bit 8, da, CY = 1 H quantitade par de bits "1" no resultado (o resultado est nos 8 primeiros bits porque todos os registradores possuem apenas 8 bits). Da, P = 1. O resultado da operao diferente de zero, da, Z=0. O bit 7 do resultado da operao zero. Da, S = 0. No houve transporte do bit 3 para o bit 4, da, AC = 0 Houve transporte do bit 7 para o bit 8, da, CY = 1 H quantitade par de bits "1" no resultado (o resultado est nos 8 primeiros bits porque todos os registradores possuem apenas 8 bits). Da, P = 1. O resultado da operao igual a zero, da, Z = 1. O bit 7 do resultado da operao zero. Da, S = 0.

1

0 1 0

0 1 0

0 1 0

1 1 0

0 0 0

0 0 0

0 0 0

0 0 0

P=1eZ=1

-

"Registrador de Instruo" (IR - Instruction Register) um registrador de 8 bits que armazena o primeiro byte da instruo (OPCODE), ou seja, o contedo da memria apontado (endereado) pelo registrado PC. Registrador "Decodificador de Instruo e Codificador de Ciclo de Mquina" o registrador responsvel pela decodificao de cada instruo e de definio dos ciclos de mquina que sero controlados pela unidade de controle. Registradores B, C, D, E, H e L So registradores de propsito geral de 8 bits e que podem ser combinados aos pares para formar registradores par (rp: register pair) para armazenar endereos (16 bits). Os pares formados so: BC, DE e HL. O primeiro registrador de cada par armazena o byte mais significativo, isto , B, D e H. Registrador par HL Registrador usado como apontador de dados na memria RAM, semalhana do registrador PC, que aponta instrues e dados na memria ROM (como ser visto numa seo posterior). O registrador HL usado implicitamente em vrias instrues e referenciado nessas instrues M, de Memory. Registrador "Apontador de Pilha" O registrador apontador de pilha SP (Stack Pointer) um registrador de 16 bits usado como apontador de dados numa regio especial da memria RAM, denominada de Pilha (Stack). Esse espao de memria especialmente destinado a guardar temporariamente informaes de registradores que sero usados em outra tarefa. A ordenao de elementos na pilha tal que somente um dado pode ser acessado num determinado instante e a ltima palavra digital que entra a primeira que sai (Lista LIFO - Last In First

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

25 Out). O apontador de pilha (registrador SP) aponta sempre para o topo desta pilha (top of stack), ou seja, para o ltimo dado que foi armazenado. Os dados normalmente armazenados so endereos de chamadas/retornos de subrotina e endereos de retorno de interrupes, que automaticamente armazenados pelo 8085 e ainda outros dados que podem ser armazenados pelo programador usando a instruo PUSH. Posteriormente esses dados so retirados da pilha usando a instruo POP. Registrador "Contador de Programa" O registrador "Contador de Programa" PC (Program Counter) o registrador que armazena o endereo da prxima instruo a ser executada. incrementado pela unidade de controle aps a execuo de uma instruo. (OBS: as instrues esto localizadas na memria e precisam ser transferidas para dentro da CPU). Sendo um registrador de 16 bits o registrador PC pode indicar at 65536 diferentes endereos (0 a 65535 ou 0000h a FFFFh).

2.3

Frequncia de Clock

A freqncia de clock do 8085A deve ficar na faixa de 500 kHz a 3,125 MHz. J a freqncia de clock do 8085A-2 deve ficar entre 500 kHz e 5 MHz. A freqncia de clock metade da freqncia do cristal oscilador, como mostrado na expresso que segue. Isso ocorre porque o flip-flop que gera o clock divide o sinal de entrada por 2.

f clock =

f cristal 2X1

J K

Q Q

CL

fcristalX2

CL

Fig. 2.2: Conexo do cristal oscilador para a gerao da frequncia de clock

2.4

Pinagem do 8085

A Fig. 2.3 mostra uma pastilha do microprocessador 8085 com a pinagem completa e a funo de cada pino. A tabela a seguir mostra, atravs dos pinos IO/M\, S1 e S0, o estado em que se a encontra a CPU durante a execuo de uma instruo.

Estado do ciclo de mquina:IO/M 0 0 0 1 1 1 3S 3S 3S S1 0 1 1 0 1 1 0 x x S0 1 0 1 1 0 1 0 x x ESTADO escrita em memria leitura de memria busca de opcode escrita em porta (instruo OUT porta) leitura de porta (instruo IN porta) reconhecimento de interrupo (INTA) HLT (parada: sai com INT, HOLD ou RESET Hold Reset

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

26 .

Pinos de conexo do cristal. X1 pode ser uma onda quadrada. Nesse caso, X2 pode ficar aberto. Indicas aos perifricos que a CPU est sendo ressetada Pino de sada de dado serial. Pino de entrada de dado serial. Pino da interrupo de maior prioridade. No mascarvel. Pino da interrupo que desvia para o endereo 3C h. Pino da interrupo que desvia para o endereo 34 h. Pino da interrupo que desvia para o endereo 2C h. Pino usado para expandir a capacidade de interrupo. Reconhecimento de pedido de interrupo. Byte menos significativo do endereo e barramento de dados.

Pino de alimentao. Vcc = +5 V Requerimento de barramento. Ativo alto. Reconhecimento de HOLD. Indica que pedido foi aceito. Sada de clock para os demais chips do sistema Reset do sistema. PC = 0000 h. Interrupes com mscara. 1 memria ou perif. prontos para acesso. 0 wait

Indica se a operao de entrada/sada ou com memria Com S0 e IO/M\ indicam estados do ciclo de mquina Sinal que habilita perifrico ou memria para leitura Sinal que habilita perifrico ou memria para escritaSinal para carga da parte baixa do endereo (no latch 74373)

Com S1 e IO/M\ indicam estados do ciclo de mquina

Byte mais significativo do endereo

Pino de terra (GND).

Fig. 2.3: Pinagem do microprocessador 8085

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

27

2.5

Sistema Bsico de Temporizao e Princpio de OperaoM1CLK

M2

T1PC FORA

T2PC+1PC

T3INST IR

T4

T1SBE PC FORA

T2PC+1PC

T3INST IR

A15 - A8

PC S

PC S

AD7- AD0

PC I

INST

PC I

INST

ALE

RD\

WR\

IO-M\

Fig. 2.4: Diagrama bsico de temporizao do 8085

M1CLK

M2

T1PC FORA

T2PC+1PC

Twait

T3INST IR

T4

T1SBE PC FORA

T2PC+1PC

T3INST IR

A15 - A8

PC S

PC S

AD7- AD0

PC I

INST

PCI

INST

ALE

RD\

WR\

IO-M\

Fig. 2.5: Diagrama bsico de temporizao com perodo de espera Twait

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

28 O diagrama de temporizao mostra os sinais essenciais no processo de busca e execuo de cada instruo. Observa-se, por exemplo, que a cada novo ciclo de mquina, no estado T1, um novo valor de endereo colocado no barramento pelo contador de programa PC. Esse novo endereo pode ser o endereo da prxima instruo ou os bytes restantes (ou o byte restante) da instruo em andamento. O sinal ALE o sinal de habilitao do Latch do endereo, ou seja, o endereo transferido para a memria ROM, de onde ser lida a instruo. O sinal RD\ vai a zero aps o estado T1 indicando que haver uma operao de leitura. Como o sinal IO-M\ permanece zero durante todo o tempo, figura mostrada, significa que trata-se de leitura de memria, e no de qualquer dispositivo de entrada e sada. Assim, a memria ROM lida nesse intervalo. O sinal WR\ permanece alto durante todo o intervalo mostrado, indicando que no h operao de escrita, seja na memria, seja em dispositivo de entrada e sada. No estado T3 a instruo lida da ROM transferida para o Registrador de Instruo (IR), encerrando a o ciclo de busca. A instruo decodificada e sinais de controle so emitidos da Unidade de Temporizao e Controle de forma que o ciclo de execuo j tenha incio a partir do estado T4. Muitas das instrues do 8085, depois do ciclo de busca, precisam apenas de mais um ciclo de clock para o ciclo de execuo. O ciclo de execuo pode ocorrer no estado T4, ou no prximo estado T2, durante o cilco de busca da prxima instruo. No ltimo caso diz-se que houve sobreposio dos ciclos de busca e execuo (SBE). No diagrama da Fig. 2.4 aparece um estgio a mais, denominado de Perodo de Espera (Twait). Ele gerado quando h necessidade de retardar o processo de busca da instruo, em funo de atraso no processamento de informaes por um perifrico. Esse intervalo de espera aparece sempre aps o estado T2. Para exemplificar o princpio de operao do 8085 mostrado a seguir o processo de busca e execuo das instrues ADD B (adio do contedo do registrador B ao contedo do registrador A. O resultado guardado em A) e MOV B,A ( move - copia - o contedo do registrador A no registrador B ). Microprocessador (CPU)Contador de Programa (PC) Registrador de Instrues (IR) Opcode ROM Unidade de Decodificao de Instrues Endereo 0000 h 0001 h Instruo ADD B MOV B,A

Barramento de Endereos

Barramento de Dados

Acumulador A ou ACC

Outros Registradores: B, C, D, E, H, L

Unidade de Controle RAM Endereo Unidade Lgica e Aritmtica (ALU) Contedo

Fig. 2.6: Diagrama de blocos simplificado de um computador O barramento de endereos de 16 bits, sendo que os 8 bits menos significativos so usados tambm para a transferncia de dados, enquanto que os 8 bits mais significativos so exclusivos para endereos. Assim, a chave de trs estados desempenha um papel essencial na operao do microprocessador. Durante a comunicao entre dois blocos os outros blocos encontram-se no estado de alta impedncia, no havendo, portanto, transferncia de dados desses blocos para o barramento ou do barramento para estes blocos. O diagrama de temporizao para as duas instrues mostrado na Fig. 2.6.

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

29

M1CLK

M2

T1ADD B MOV B,A PC FORA

T2PC+1PC

T3INST IR

T4B TMP

T1SBE PC FORA

T2A+TMPA PC+1PC

T3INST IR A TMP

A15 - A8

PC S

PC S

AD7- AD0

PC I

INST

PC I

INST

ALE

RD\

WR\

IO-M\

Fig. 2.7: Diagrama de temporizao das instrues de adio e transferncia

Supondo-se que o acumulador contenha o valor 10h e que o registrador B (que faz parte do bloco denominado "outros registradores") contenha o valor 5h, a adio do contedo de B ao contedo de A obtido com a instruo ADD B. O resultado guardado no prprio acumulador. Posteriormente, com a instruo MOV B,A o contedo de A copiado em B. Os passos para execuo das duas instrues em seqncia so dados a seguir: CICLO DE BUSCA: 1 2 3 Na descida do sinal de clock em T1 o Contador de Programa (PC) ativado, colocando o endereo atual no barramento de 16 bits. O sinal ALE o trigger para a transferncia dos endereos de PC para o barramento. Na subida do sinal de clock em T1 o endereo transferido do barramento para a memria ROM. Na descida do sinal de clock (estado T2) o PC incrementado em 1, ficando pronto para apontar a prxima instruo. O barramento est disponvel para outras operaes. Nesse instante, tambm, O sinal RD\ tornase baixo, habilitando uma operao de leitura. Como o sinal IO/M\ permanece baixo, trata-se de leitura de memria. Na subida do sinal de clock (ainda estado T2) nenhum bloco est ativo. O barramento continua disponvel. Na descida do sinal de clock (estado T3) o cdigo da instruo ADD B, lida da memria ROM (endereo transferido do barramento para a memria ROM no passo 2) transferido para o barramento. Na subida do sinal de clock o bloco IR (Registrador de Instruo) carrega a instruo vinda da ROM e que est presente no barramento. Termina o ciclo de busca da instruo ADD B.

4 5 6

CICLO DE EXECUO DE ADD B E BUSCA DE MOV B,A: 7 8 9 Na descida do sinal de clock, no incio do estado T4, o contedo de B transferido para o barramento. Na subida do clock no estado T4 o contedo de B, presente no barramento, transferido para um registrador temporrio (TMP), para, depois, ser transferido para a unidade lgica e aritmtica. Durante o estado T1 do ciclo de mquina M2 no h nenhuma operao na instruo ADD B, da uma outra instruo pode utilizar o barramento para iniciar o ciclo de busca. No caso mostrado d-se incio ao ciclo de

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

30 busca da instruo MOV B,A. Portanto, h "sobreposio busca-execuo" (SBE). Busca da instruo MOV B,A e execuo da instruo ADD B. 10 No estado T2 do ciclo de mquina M2 a instruo iniciada (MOV B,A) no usa o barramento de dados/endereos. Nessa fase a instruo ADD B encerrada. Na descida do sinal de clock em T2 os contedos de A (10 h) e do registrador temporrio TMP (B = 5 h) so simultaneamente transferidos para a Unidade Lgica e Aritmtica (ULA), de onde o resultado da adio sai direto para o barramento. Na subida do sinal de clock em T2 o resultado da operao carregado no acumulador (A = 15 h). Encerra a execuo da instruo ADD B. 11 No estado T3 do ciclo de mquina M2 a instruo MOV B,A lida da ROM transferida para o Registrador de Instrues e decodificada, encerrando o ciclo de busca dessa instruo. 12 No estado T4 do ciclo M2 o contedo de A transferido para um registrador temporrio para, posteriormente, ser transferido para o registrador B.

2.6

Formato das Instrues

As instrues de adio e de transferncia de dados, mostradas na seo anterior, so instrues de apenas 1 (um) byte, que chamado de OPCODE (Operation Code). Nesse caso toda a informao necessria para a execuo das duas instrues est contida no byte nico. Algumas instrues, no entanto, precisam de informaes adicionais para sua execuo. Assim, alm das instrues de 1 byte, o 8085 tambm tem instrues de 2 bytes e de 3 bytes. Os bytes adicionais so chamados de OPERANDOS. No caso da instruo de 2 bytes tem-se o Opcode e 1 operando e no caso da instruo de 3 bytes tem-se o Opcode e 2 operandos. mostrado a seguir o formato dos trs tipos de instruo. Antes, porm, importante mostrar o formato dos dados no 8085. D7 MSB D0 LSB MSB = Most Significant Bit (Bit mais significativo) LSB = Least Significant Bit (Bit menos significativo) D6 D5 D4 D3 D2 D1

a) Instrues de 1 byte: Opcode (byte 1) Exemplo: D7 D6 D5 D4 D3 D2 D1 D0

ADD B - Adiciona o contedo de B ao acumulador (A) (A) + (B) 1 0 0 0 0 0 0 0 = 80 h

Opcode (byte 1) b) Instrues de 2 bytes: Opcode (byte 1) Operando (byte 2) Exemplo:

D7 D7

D6 D6

D5 D5

D4 D4

D3 D3

D2 D2

D1 D1

D0 D0

MVI A, 32h - Move imediatamente o contedo 32h para A (A) (byte 2) 0 0 0 0 1 1 1 1 1 0 1 0 1 1 0 0 = 3E h = 32 h

Opcode (byte 1) Operando (byte 2)

c) Instrues de 3 bytes: Opcode (byte 1) Operando 1 (byte 2=LSB) Operando 2 (byte 3 = MSB) D7 D7 D7 D6 D6 D6 D5 D5 D5 D4 D4 D4 D3 D3 D3 D2 D2 D2 D1 D1 D1 D0 D0 D0

Os bytes 2 e 3 contm um dado ou um endereo de 16 bits. O byte 2 armazena o byte menos significativo do endereo (low-order addr) ou o byte menos significativo do dado de 16 bits (low-order data). O byte 3

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

31 armazena o byte mais significativo do endereo (high-order addr) ) ou o byte mais significativo do dado (highorder data) Exemplo: STA 1234h - guarda o contedo do acumulador na posio de memria indicada pelo endereo addr ((byte 3)(byte 2) (A) Opcode (byte 1) Operando 1 (byte 2) Operando 2 (byte 3) 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 = 32 h = 34 h = 12 h

No ciclo de busca (primeiro ciclo de mquina) o microprocessador 8085 transfere o primeiro byte da instruo (opcode = cdigo de operao) para o Registrador de Instruo (IR). Nos ciclos de mquina que se seguem os outros bytes so buscados na memria. Primeiro o byte 2 transferido para um registrador temporrio (Z), depois o byte 3 que transferido para um registrador temporrio (W). Cada uma das instrues pode ser visualizada com um diagrama de temporizao que mostra cada passo da instruo. O primeiro ciclo de mquina do 8085 flexvel podendo ter de 4 a 6 ciclos de clock; os demias ciclos de mquina contm 3 ciclos de clock. O ciclo de instruo pode ter de 1 a 5 ciclos de mquina, como mostrado a seguir, onde M o ciclo de mquina e T o estado dentro do ciclo de mquina: M1 T4 M2 T2 M3 T2 M4 T2 M5 T2

T1

T2

T3

T5

T6

T1

T3

T1

T3

T1

T3

T1

T3

2.71.

Exerccios PropostosEnumerar todos os registradores (endereveis ou no) do microprocessador 8085. Qual a capacidade (em bits) de cada um deles? Quais os possveis registradores pares do 8085? Com que finalidade usado o registrador-par HL? Qual a funo dos registradores PC e SP? Qual a funo dos registradores W e Z? Qual a funo do registrador TEMP? Descreva a estrutura interna da CPU? Qual a funo de cada uma das FLAGS do 8085? Dizer, em poucas palavras, a funo de cada um dos seguintes pinos do 8085: HOLD, HLDA, INTR, INTA, RST5.5, TRAP, READY, ALE, IO/M\, SID e SOD.

2. 3. 4. 5. 6. 7. 8. 9.

10. Apresentar um circuito combinacional para decodificar os sinais dos pinos RD\, WR\ e IO/M\ em MEM_RD, MEM_WR, IO_RD, IO_WR. OBS: Utilizar apenas gates. 11. Codifique as instrues da tabela a seguir, coloque o endereo de cada instruo, escreva o significado de cada instruo e responda s questes relativas tabela.Operao (SP) 2090 h (H,L) 2050 h (A) 53 h (B) 0F h (A) (A) + (B) ((H,L)) (A) End. 2000 Mnemnico Comentrio

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

32 (a) Qual o valor final do registrador A? (b) Quais os valores das flags de carry, de sinal, de zero, auxiliar de carry e paridade, aps a ltima instruo da tabela? 12. O diagrama de temporizao a seguir refere-se s instrues ADD B e MOV B,A do microprocessador 8085.

CLK T1ADD B MOV B,A PC FORA

T2PC+1 PC

T3INST IR B

T4TMP

T1SBE PC FORA

T2A+TMP A PC+1 PC

T3

T4

INST

IR

A

B

A15 - A8

PC S

PC S

AD7- AD0

PC I

INST

PC I

INST

ALE

RD\

WR\

IO-M\

Use o diagrama dado para responder s questes que seguem. (c) Marque, no diagrama, os estados T que correspondem ao perodo de execuo da instruo MOV B,A; (d) Marque, no diagrama, com simbologia diferente da usada no item (a), os estados T que correspondem ao perodo de busca da instruo ADD B; (e) Explique o significado dos sinais RD\, WR\ e IO-M\ no diagrama dado.

2.8

Referncias Bibliogrficas

[1] Ziller, Roberto M., "Microprocessadores - Conceitos Bsicos,"2a. Ed., Editora do Autor, Florianpolis, SC, 2000.[2] Kleitz, William, "Digital and Microprocessor Fundamentals - Theory and Applications," Prentice Hall, Englewood Cliffs, New Jersey, 1990 [3] Malvino, Albert P., Microcomputadores e Microprocessadores, Traduo: Anatlio Laschuk, reviso tcnica: Rodrigo Araes Caldas Farias, McGraw-Hill, So Paulo, 1985.

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

33

3. CONJUNTO DE INSTRUES DO MICROPROCESSADOR 80853.1-

Simbologia das Instruesaddr = address (endereo) = quantidade de 16 bits. dado8 = dado de 8 bits dado16 = dado de 16 bits byte 2 = segundo byte da instruo byte 3 = terceiro byte da instruo r, r1, r2 = Um dos registradores: A, B, C, D, E, H, L = operador lgico AND = operador lgico OR

Exemplo 1: Instruo Indicao simblica : MOV r1, r2 : (r1) (r2)

Significado: O contedo do registrador r2 transferido (copiado) para o registrador r1. O valor de SSS identifica o registrador r2 (origem) e o valor de DDD identifica o registrador r1 (destino). Para transferir o contedo do registrador B para o registrador A, o mnemnico da instruo MOV A,B. A cada mnemnico corresponde um cdigo de operao (opcode) em hexadecimal. No caso dessa instruo 78 h. Para transferir o contedo do registrador E para o registrador D, o mnemnico da instruo MOV D,E. O opcode 53 h. Exemplo 2: Instruo Indicao simblica : LDA addr : (A) ((byte 3)(byte 2))

Significado: O contedo da memria, cujo endereo especificado nos bytes inferior (byte 2) e superior (byte 3), transferido (copiado) para o registrador A. uma instruo de 3 bytes (opcode + byte 3 + byte 2) Para transferir o contedo do endereo 234B h da memria, a instruo e o cdigo da instruo seriam: LDA 234B h Opcode: 3A 4B 23 (O contedo do byte menos significativo digitado primeiro)

3.2

Modos de Endereamento

As instrues do 8085 fazem referncia aos dados de forma explcita ou implcita. H 4 maneiras distintas de se fazer esta referncia: IMEDIATO: A instruo contm o dado no byte ou bytes seguintes ao Opcode. Exemplos: MVI r, dado8 = move o dado especificado para o registrador r ( r ) (byte 2) ADI dado8 = adiciona o dado especificado ao acumulador (A) (A) + (byte 2)

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

34 DIRETO: O 2o e o 3o bytes da instruo contm o endereo da posio de memria onde se encontra o dado. Exemplo: LDA addr = carrega o acumulador com o dado do endereo indicado (A) ((byte 3)(byte 2)) REGISTRO: A instruo especifica o registrador ou o par de registradores onde o dado est armazenado. Exemplo: MOV r1, r2 = move contedo do registrador r2 para o registrador r1 (r1) (r2) ADD r = adiciona o contedo do registrador r ao acumulador (A) (A) + ( r ) INDIRETO POR REGISTRO: A instruo especifica o registrador par (rp) que contm o endereo da posio de memria onde o dado est armazenado. Exemplo: MOV r, M = move para o registrador r o contedo da memria localizado na posio indicada pelo para HL ( r ) ((H)(L))

3.3

Grupos de InstruesAs instrues do 8085 so distribudas em 5 grupos, cujas caractersticas so dadas a seguir:

1.

Grupo de Transferncia de Dados - Move dados entre registradores ou posies de memria e registradores. Inclui movimentos, cargas, armazenamentos a troca de dados. Exemplo: MVI M, dado8 = move o dado especificado para a posio de memria indicada pelo registrador par HL. ((H)(L)) (byte 2)

2.

Grupo Aritmtico - Adies, subtraes, incrementos, ou decrementos de dados em registradores ou memria. Exemplo: SUB r = o contedo do registrador r subtrado do acumulador. O resultado guardado de volta no acumulador (A) (A) - ( r )

3.

Grupo Lgico - ANDs, ORs, XORs, comparaes, rotaes, ou complementos de dados em registradores ou entre memria e um registrador. Exemplo: ANA r = os contedos do acumulador e do registrador r so submetidos ao operador lgico AND. O resultado guardado de volta no acumulador. (A) (A) (r)

4.

Grupo de Desvio - Inicia desvios condicionais ou incodicionais, chamadas de subrotina, retornos e reincios. Exemplo: JMP addr = desvia incodicionalmente para o endereo indicado (PC) (byte 3) (byte 2)

5.

Grupo de Controle, Pilha, Entrada e Sada - Inclui instrues para manuteno da pilha, leitura de portas, escritas para portas, setar e ler mscaras de interrupo e setar e limpar flags. Exemplo: IN porta = O dado de 8 bits presente na porta de entrada indicada carregado no acumulador (A) (data)

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

35

3.4

Instrues de Transferncia de DadosMnemnico Genrico Simbologia (r) (byte 2) (r1) (r2) (r) ((H)(L)) ((H)(L)) (r) ((H)(L)) (byte 2) (rh) (byte 3) (rl) (byte 2) NO de Ciclos 2 1 2 2 3 3 No de Estados 7 4 7 7 10 10 Modo de Endereamento Imediato Registrador Indireto por registrador Indireto por registrador Indireto por registrador e imediato Imediato Flags Afetadas nenhuma nenhuma nenhuma nenhuma nenhuma nenhuma Comentrio move o dado para o registrador r indicado move o contedo do registrador r2 para o registrador r1 move para o registrador r o dado presente no endereo de memria especificado pelo registrador par H-L move o contedo do registrador r para a posio de memria especificada pelo registrador par H-L. Carrega o dado na posio de memria especificada pelo registrador par H-L. Carrega o dado de 16 bits no registrador par indicado em rp. O byte 2 da instruo colocado no registrador de menor ordem, ou byte menos significativo, rl. O byte 3 da instruo colocado no registrador de maior ordem, ou byte mais significativo, rh Carrega acumulador com o dado armazenado na posio de memria indicada pelo endereo addr. O byte 2 armazena o byte inferior do endereo. O byte 3 da instruo armazena o byte superior do endereo. Move o contedo do acumulador para a posio de memria indicada pelo endereo addr. O byte 2 armazena o byte inferior do endereo. O byte 3 da instruo armazena o byte superior do endereo. Carrega o contedo da posio de memria dada por addr ((byte 3)(byte 2)) no registrador L. Carrega o contedo da posio subsequente ((byte 3)(byte 2) + 1) no registrador H. Move o contedo do registrador L para a posio de memria dada por addr ((byte 3)(byte 2)). Move o contedo do registrador H para a posio subsequente de memria ((byte 3)(byte 2) + 1). Carrega acumulador com o contedo da posio de memria indicada pelo registrador par rp. rp pode ser B (do registrador para BC) ou D (do registrador par DE). Move o contedo do acumulador para a posio de memria indicada pelo registrador par rp. rp pode ser B (do registrador para BC) ou D (do registrador par DE). O contedo do registrador H trocado com o contedo do registrador D. O contedo de L trocado com o contedo de E.

MVI r, dado8

MOV r1, r2 MOV r, M MOV M, rMVI M, dado8

LXI rp, dado16

LDA addr

(A) ((byte 3)(byte 2))

4

13

direto

nenhuma

STA addr

((byte 3)(byte 2)) (A)

4

13

direto

nenhuma

LHLD addr

(L)((byte 3)(byte 2)) (H)((byte 3)(byte 2) + 1) ((byte 3)(byte 2)) (L) ((byte 3)(byte 2) + 1) (H)

5

16

direto

nenhuma

SHLD addr

5

16

direto

nenhuma

LDAX rp

(A) ((rp)) ((rp)) (A) (H) (D) (L) (E)

2

7

Indireto por registrador Indireto por registrador registrador

nenhuma

STAX rp

2

7

nenhuma

XCHG

1

4

nenhuma

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

36

As instrues apresentadas na tabela anterior esto na forma genrica. Cada uma dessas instrues representada por diferentes cdigos de operao (OPCODES) para diferentes registradores. Na tabela a seguir as instrues de transferncia de dados so desmembradas em seus diferentes opcodes. MNEMNICO LDA adr LDAX B LDAX D LHLD addr LXI B, Dado16 LXI D, Dado16 LXI H, Dado16 LXI SP, Dado16 MOV A,B MOV A,C MOV A,D MOV A,E MOV A,H MOV A,L MOV A,M MOV B,A MOV B,B MOV B,C MOV B,D MOV B,D MOV B,E OPCODE MNEMNICO OPCODE MNEMNICO OPCODE 3A 0A 1A 2A 01 11 21 31 78 79 7A 7B 7C 7D 7E 47 40 41 42 42 43 MOV B,H MOV B,L MOV B,M MOV C,A MOV C,B MOV C,C MOV C,D MOV C,E MOV C,H MOV C,L MOV C,M MOV D,A MOV D,B MOV D,C MOV D,D MOV D,E MOV D,H MOV D,L MOV D,M MOV E,A MOV E,B 44 45 46 4F 48 49 4A 4B 4C 4D 4E 57 50 51 52 53 54 55 56 5F 58 MOV E,C MOV E,D MOV E,E MOV E,H MOV E,L MOV E,M MOV H,A MOV H,B MOV H,C MOV H,D MOV H,E MOV H,H MOV H,L MOV H,M MOV L,A MOV L,B MOV L,C MOV L,D MOV L,E MOV L,H MOV L,L 59 5A 5B 5C 5D 5E 67 60 61 62 63 64 65 66 6F 68 69 6A 6B 6C 6D MNEMNICO OPCODE MOV L,M MOV M,A MOV M,B MOV M,C MOV M,D MOV M,E MOV M,H MOV M,L MVI A, Dado8 MVI B, Dado8 MVI C, Dado8 MVI D, Dado8 MVI E, Dado8 MVI L, Dado8 MVI M, Dado8 SHLD addr STA addr STAX B STAX D XCHG 6E 77 70 71 72 73 74 75 3E 06 0E 16 1E 2E 36 22 32 02 12 EB

Exemplos de uso de instrues de transferncia de dados: Mnemnico MVI H,10h MVI L,00h MVI A,0Ah MOV M,A MOV C,M MVI M,2Bh Mnemnico LXI B,1000h LXI D,2000h LXI H,3000h LXI SP,4000h LDA 1000h STA 2000h Cdigo 26 10 2E 00 3E 0A 77 4E 36 2B Cdigo 01 11 21 31 3A 00 00 00 00 00 10 20 30 40 10 Comentrio Carrega acumulador H com valor 10h Carrega registrador L com valor 00h Carrega acumulador com valor 0Ah Move contedo de A para posio 1000h de memria Move contedo da posio 1000h para registrador C. C = 0Ah Coloca valor 2Bh na posio 1000h de memria Comentrio Carrega registrador duplo BC com valor 1000h Carrega registrador duplo DE com valor 2000h Carrega registrador duplo HL com valor 3000h Carrega registrador duplo SP (apontador de pilha) com valor 4000h Carrega acumulador com valor armazenado na posio de memria 1000h Move contedo do acumulador para a posio de memria 2000h

32 00 20

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

37 Mnemnico LHLD 1000h SHLD 2000h LXI H,3000h LXI B,4000h LXI D,5000h LDAX B STAX D XCHG Cdigo 2A 00 10 22 00 20 21 00 30 01 00 40 11 00 50 0A 12 EB Comentrio Carrega contedo da posio 1000h no registrador L. Carrega contedo da posio 1001h no registrador H Move o contedo do registrador L para a posio 2000h. Move o contedo do registrador H para a posio de memria 2001h. Carrega registrador duplo HL com valor 3000h Carrega registrador duplo BC com valor 4000h Carrega registrador duplo DE com valor 5000h Carrega acumulador com o contedo da posio de memria indicada pelo registrador duplo BC, ou seja, posio 4000h Move contedo do acumulador para a posio de memria indicada pelo registrador duplo DE, ou seja, posio 5000h O contedo de H (30h) trocado com o contedo de D (50h). O contedo de L (00h) trocado com o contedo de E (00h). Depois da instruo, temos: HL = 5000h e DE = 3000h

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

39

3.5

Instrues Aritmticas

Obs.: A menos que seja indicado, todas as instrues desse grupo afetam todas as Flags: Zero, Sinal, Paridade, Transporte (Carry) e Auxiliar de Transporte (Auxiliar de Carry) Mnemnico Genrico ADD r ADD M ADI dado8 ADC r ADC M ACI dado8 SUB r SUB M SUI dado8 SBB r SBB M SBI dado8 INR r INR M DCR r DCR M INX rp Simbologia (A) (A) + ( r ) (A) (A) + ( (H) + (L)) (A) (A) + (byte 2) (A) (A) + ( r ) + (CY)(A) (A) + ( (H)(L)) + (CY) (A) (A) + (byte 2) + (CY)

NO de Ciclos 1 2 2 1 2 2 1 2 2 1 2 2 1 3 1 3 1

No de Estados 4 7 7 4 7 7 4 7 7 4 7 7 4 10 4 10 6

Modo de Endereamento registrador registrador imediato registrador imediato por registrador imediato registrador indireto por registrador imediato registrador indireto por registrador imediato registrador indiretor por registrador registrador indireto por registrador registrador

Flags Afetadas todas todas todas todas todas todas todas todas todas todas todas todas Z, S, P e AC Z, S, P e AC Z, S, P e AC Z, S, P e AC nenhuma

Comentrio O contedo do registrador r adicionado ao contedo do acumulador. O contedo da posio de memria indicado pelo par HL adicionado ao contedo do acumulador. O valor dado em data adicionado ao contedo do acumulador. O contedo do registrador r adicionado com carry ao contedo do acumulador. O contedo da posio indicada pelo par HL adicionado com carry ao contedo do acumulador. O valor dado em data adicionado com carry ao contedo do acumulador. O contedo do registrador r subtrado do contedo do acumulador. O contedo da posio de memria indicado pelo par HL subtrado do contedo do acumulador. O valor dado em data subtrado do contedo do acumulador. O contedo do registrador r subtrado com carry do contedo do acumulador. O contedo da posio indicada pelo par HL subtrado com carry do contedo do acumulador. O valor dado em data subtrado com carry do contedo do acumulador. O contedo do registrador r adicionado de 1. Todas as Flags so afetadas, exceto CY. O contedo da posio apontada pelo par HL incrementado de 1. O contedo do registrador r decrementado. Todas as Flags so afetadas, exceto CY. O contedo da posio apontada pelo par HL decrementada de 1. O contedo do registrador par rp adicionado de 1. Nenhuma Flag afetada.

(A) (A) - ( r ) (A) (A) - ( (H)(L)) (A) (A) - (byte 2) (A) (A) - ( r ) - (CY) (A) (A) - ( (H)(L)) (CY)(A) (A) - (byte 2) - (CY)

(r) (r) + 1 ((H)(L)) ((H)(L)) + 1 (r) (r) - 1 ((H)(L)) ((H)(L)) - 1 (rh)(rl) (rh)(rl) + 1

Microprocessadores e Microcomputadores

Prof. Jos Wilson Lima Nerys

40

Instrues A