notas de aula 8085 8086

Upload: barbara-pulcineli

Post on 17-Oct-2015

212 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

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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.

  • 3

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    Informaes sobre a Disciplina

    Disciplina: MICROPROCESSADORES E MICROCOMPUTADORES Cdigo: 13.05.035 Carga Horria: 96 horas (tericas) e 32 horas (de laboratrio) Grade Curricular: 1992 - (disciplina do 4o ano) Ano Letivo: 2006 Aulas Tericas: Quarta-feira: 13:30h s 15:10h (alternando com Controle) Sexta-feira: 15:30h s 17:10h Aulas de Laboratrio: Segunda-feira tarde (13:30 s 18:30h) Professor: 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.

  • 4

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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 Assembly

  • 5

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    - 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 Contedo

    1 Uso do Kit do 8085 Programa de Simulao ABACUS

    2 Instrues de transferncia de dados (uso do Kit e do simulador ABACUS) 3 Instrues aritmticas (uso do Kit e do simulador ABACUS) 4 Instrues lgicas (uso do kit e do simulador ABACUS) 5 Programao 8085 (uso do kit e do simulador ABACUS) 6 Programao 8085 com Interrupo 7 Programao 8085 com Interrupo 8 Microprocessador 8086: caractersticas bsicas 9 Microcontrolador 8051: Sequncia de LEDs e Motor de passo (uso de Kit e de

    simulador) 10 Microcontrolador 8051: Motor de corrente contnua (uso de Kit e de simulador) 11 Microcontrolador 8051: Conversores AD e DA (uso de Kit e de simulador) 12 Projeto usando 8051 13 Projeto usando 8051 14 Projeto usando 8051 15 Projeto usando 8051 16 Projeto usando 8051

    AVALIAO

    Nota Tipo de

    Avaliao Valor

    Mximo Prova 1 8,0 Nota 1 Laboratrio 2,0 Prova 2 8,0 Nota 2 Laboratrio 2,0 Prova 3 8,0 Nota 3

    Laboratrio 2,0 Prova 4 5,0 Nota 4 Projeto Experimental 5,0

  • 6

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    1. INTRODUO AOS COMPUTADORES E MICROPROCESSADORES................................9

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

    2. ARQUITETURA E PRINCPIO DE FUNCIONAMENTO DO 8085........................................22

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

    3. CONJUNTO DE INSTRUES DO MICROPROCESSADOR 8085.......................................33

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

    4. SIMULADOR DIGITAL ABACUS ...............................................................................................57

    4.1 SIMULADOR ABACUS PARA O MICROPROCESSADOR 8085.....................................................57 4.2 EXEMPLOS DE PROGRAMAS EM ASSEMBLY PARA O ABACUS................................................59 4.3 EXERCCIOS PROPOSTOS ............................................................................................................60

  • 7

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

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

    5. KIT DIDTICO E ROTEIROS DE LABORATRIO ...............................................................63

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

    6. INTERRUPOES E OPERAES DE ENTRADA E SADA ..................................................75

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

    7. ENTRADA E SADA SERIAL E PASTILHAS INTEGRADAS DE SUPORTE......................85

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

    8. INTERFACE ANALGICA ..........................................................................................................98

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

    9. MICROCONTROLADORES 8086/8088.....................................................................................104

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

  • 8

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    9.9.2 INTERRUPES PR-DEFINIDAS, RESERVADA OU EXCEES...................................................122 9.9.3 INTERRUPES POR HARDWARE .............................................................................................122 9.9.4 INTERRUPES POR SOFTWARE...............................................................................................122 9.10 CONJUNTO DE INSTRUES DO 8088/86 ................................................................................123 9.10.1 INSTRUES DE TRANSFERNCIA DE DADOS ........................................................................123 9.10.2 INSTRUES DE STRINGS .......................................................................................................126 9.10.3 INSTRUES LGICAS............................................................................................................128 9.10.4 INSTRUES ARITMTICAS....................................................................................................129 9.10.5 INSTRUES DE DESVIO.........................................................................................................129 9.10.6 INSTRUES DE CONTROLE ...................................................................................................130 9.11 CARACTERSTICAS DE I/O DO PC-XT....................................................................................130 9.11.1 DIVISO DOS ENDEREOS DOS DISPOSITIVOS DE I/O DO PC-XT..........................................130 9.11.2 ENDEREOS DOS DISPOSITIVOS DA PLACA PRINCIPAL (PLACA ME) ..................................131 9.11.3 ENDEREOS DOS DISPOSITIVOS DOS SLOTS...........................................................................132 9.11.4 O SLOT DO PC (ISA 8 BITS) ...................................................................................................132 9.12 DECODIFICAO DE ENDEREOS...........................................................................................133 9.13 EXEMPLOS GERAIS..................................................................................................................133 9.14 PROBLEMAS PROPOSTOS ........................................................................................................134 9.15 REFERNCIAS BIBLIOGRFICAS.............................................................................................135

  • 9

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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.

    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.

    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.

    1. INTRODUO AOS COMPUTADORES E MICROPROCESSADORES

    baco Octograma chins Yin Yang

    Tabela de logaritmos Pascaline

    Calculadora de 4 funes de Leibniz

  • 10

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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). 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).

    Mquina de diferenas mquina analtica

  • 11

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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).

    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.

    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 .

    Mquina de Herman Hollerith Z4

    Colosso Mark I

  • 12

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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.

  • 13

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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 Microcontroladores Microcomputadores, 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

  • 14

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    Tabela: Evoluo do nmero de transistores no microprocessador

    Processador Ano de IntroduoNmero de transistores

    Barramento de dados (bits)

    Capacidade de endereamento

    4004 1971 2.250 4 1 kB 8008 1972 2.500 8 16 kB 8080 1974 5.000 8 64 kB 8085 1976 6.500 8 64 kB 8086 1978 29.000 16 1 MB 8088 1979 29.000 16 1 MB 286 1982 120.000 16 16 MB

    386 1985 275.000 32 4 GB 486 DX 1989 1.180.000 32 4 GB Pentium 1993 3.100.000 32 4 GB Pentium II 1997 7.500.000 32 4 GB Pentium III 1999 24.000.000 32 4 GB Pentium 4 2000 42.000.000 32 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 Bsicas COMPUTADOR (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.

  • 15

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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 Computador

    Fig. 1.3: Estrutura bsica de um computador

    CPU

  • 16

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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 torna-se 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.

  • 17

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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 Processadores O 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: MIPS - Millions of Instructions Per Seconds (Milhes de Instrues Por Segundo): uma unidade de

    desempenho do microprocessador.

  • 18

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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.

  • 19

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    1.8 Sistemas de Numerao 1.8.1 Sistema Decimal O 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). No ex.: 7 80 2o dgito: Armazena o equivalente a 81 (8). No ex.: 0 81

  • 20

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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). No ex.: 13 160 2o dgito: Armazena o equivalente a 161 (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? 7. 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

    8. Qual a diferena entre microprocessador e microcontrolador? 9. Diferencie bit, nibble e byte.

    10. Diferencie EPROM e EEPROM.

    11. Converta os nmeros abaixo (que esto na base indicada) para hexadecimal

  • 21

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    (a) 34510 = _________ h (b) 101001112 = _________ h (c) 101010108 = _________ h (d) 25510 = _________ h (e) 12810 = _________ h (f) 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/

  • 22

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    2.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.

    2. ARQUITETURA E PRINCPIO DE FUNCIONAMENTO DO 8085

  • 23

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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

  • 24

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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:

    1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 0 1 0

    1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0

    "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

    AC=1 CY=1

    P = 1

    P = 1 e Z = 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.

    CY=1

  • 25

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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.

    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 S1 S0 ESTADO

    0 0 1 escrita em memria 0 1 0 leitura de memria 0 1 1 busca de opcode 1 0 1 escrita em porta (instruo OUT porta) 1 1 0 leitura de porta (instruo IN porta) 1 1 1 reconhecimento de interrupo (INTA)

    3S 0 0 HLT (parada: sai com INT, HOLD ou RESET 3S x x Hold 3S x x Reset

    CLX1

    fcristal CLX2

    J

    K

    Q

    Q

    2cristal

    clockff =

  • 26

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    .

    Pino de alimentao. Vcc = +5 V Pinos de conexo do cristal. X1 pode ser uma onda quadrada. Nesse caso, X2 pode ficar aberto. Requerimento de barramento. Ativo alto. Indicas aos perifricos que a CPU est sendo ressetada Reconhecimento de HOLD. Indica que pedido foi aceito. Pino de sada de dado serial. Sada de clock para os demais chips do sistema

    Pino de entrada de dado serial. Reset do sistema. PC = 0000 h. Interrupes com mscara.

    Pino da interrupo de maior prioridade. No mascarvel. 1 memria ou perif. prontos para acesso. 0 wait Pino da interrupo que desvia para o endereo 3C h. Indica se a operao de entrada/sada ou com memria Pino da interrupo que desvia para o endereo 34 h. Com S0 e IO/M\ indicam estados do ciclo de mquina

    Pino da interrupo que desvia para o endereo 2C h. Sinal que habilita perifrico ou memria para leitura

    Pino usado para expandir a capacidade de interrupo. Sinal que habilita perifrico ou memria para escrita Reconhecimento de pedido de interrupo. Sinal para carga da parte baixa do endereo (no latch 74373)

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

    Byte menos significativo do endereo e barramento de dados.

    Pino de terra (GND).

    Byte mais significativo do endereo

    Fig. 2.3: Pinagem do microprocessador 8085

  • 27

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    2.5 Sistema Bsico de Temporizao e Princpio de Operao M1 M2

    CLK

    T1 T2 T3 T4 T1 T2 T3 PC FORA PC+1PC INST IR SBE PC FORA PC+1PC INST 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

    M1 M2

    CLK

    T1 T2 Twait T3 T4 T1 T2 T3 PC FORA PC+1PC INST IR SBE PC FORA PC+1PC INST 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

  • 28

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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 ).

    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.

    ROM

    Endereo Instruo 0000 h ADD B 0001 h MOV B,A

    RAM Endereo Contedo

    Microprocessador (CPU)

    Contador de Programa (PC)

    Unidade de Decodificao de

    Instrues

    Acumulador A ou ACC

    Outros Registradores:

    B, C, D, E, H, L

    Registrador de Instrues (IR)

    Opcode

    Unidade de Controle

    Unidade Lgica e Aritmtica (ALU)

    Barramento de Endereos Barramento de Dados

  • 29

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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 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. 2 Na subida do sinal de clock em T1 o endereo transferido do barramento para a memria ROM. 3 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\ torna-se baixo, habilitando uma operao de leitura. Como o sinal IO/M\ permanece baixo, trata-se de leitura de memria.

    4 Na subida do sinal de clock (ainda estado T2) nenhum bloco est ativo. O barramento continua disponvel. 5 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. 6 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. CICLO DE EXECUO DE ADD B E BUSCA DE MOV B,A: 7 Na descida do sinal de clock, no incio do estado T4, o contedo de B transferido para o barramento. 8 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. 9 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

    M1 M2

    CLK

    T1 T2 T3 T4 T1 T2 T3

    ADD B PC FORA PC+1PC INST IR B TMP SBE A+TMPA MOV B,A PC FORA PC+1PC INST IR A TMP

    A15 - A8 PC S PC S

    AD7- AD0 PC I INST PC I INST

    ALE

    RD\

    WR\

    IO-M\

  • 30

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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 D6 D5 D4 D3 D2 D1 D0 MSB LSB

    MSB = Most Significant Bit (Bit mais significativo) LSB = Least Significant Bit (Bit menos significativo)

    a) Instrues de 1 byte:

    Opcode (byte 1) D7 D6 D5 D4 D3 D2 D1 D0 Exemplo: ADD B - Adiciona o contedo de B ao acumulador (A) (A) + (B)

    Opcode (byte 1) 1 0 0 0 0 0 0 0 = 80 h b) Instrues de 2 bytes:

    Opcode (byte 1) D7 D6 D5 D4 D3 D2 D1 D0 Operando (byte 2) D7 D6 D5 D4 D3 D2 D1 D0

    Exemplo: MVI A, 32h - Move imediatamente o contedo 32h para A (A) (byte 2)

    Opcode (byte 1) 0 0 1 1 1 1 1 0 = 3E h Operando (byte 2) 0 0 1 1 0 0 1 0 = 32 h

    c) Instrues de 3 bytes:

    Opcode (byte 1) D7 D6 D5 D4 D3 D2 D1 D0 Operando 1 (byte 2=LSB) D7 D6 D5 D4 D3 D2 D1 D0

    Operando 2 (byte 3 = MSB) D7 D6 D5 D4 D3 D2 D1 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

  • 31

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    armazena o byte mais significativo do endereo (high-order addr) ) ou o byte mais significativo do dado (high-order 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) 0 0 1 1 0 0 1 0 = 32 h Operando 1 (byte 2) 0 0 1 1 0 1 0 0 = 34 h Operando 2 (byte 3) 0 0 0 1 0 0 1 0 = 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 M2 M3 M4 M5 T1 T2 T3 T4 T5 T6 T1 T2 T3 T1 T2 T3 T1 T2 T3 T1 T2 T3

    2.7 Exerccios Propostos 1. Enumerar todos os registradores (endereveis ou no) do microprocessador 8085. Qual a capacidade (em

    bits) de cada um deles? 2. Quais os possveis registradores pares do 8085? 3. Com que finalidade usado o registrador-par HL? 4. Qual a funo dos registradores PC e SP? 5. Qual a funo dos registradores W e Z? 6. Qual a funo do registrador TEMP? 7. Descreva a estrutura interna da CPU? 8. Qual a funo de cada uma das FLAGS do 8085? 9. 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. 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 End. Mnemnico Comentrio

    (SP) 2090 h 2000 (H,L) 2050 h

    (A) 53 h (B) 0F h

    (A) (A) + (B) ((H,L)) (A)

  • 32

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    (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. 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.

    CLK

    T1 T2 T3 T4 T1 T2 T3 T4

    ADD B PC FORA PC+1PC INST IR B TMP SBE A+TMPA MOV B,A PC FORA PC+1PC INST IR A B

    A15 - A8 PC S PC S

    AD7- AD0 PC I INST PC I INST

    ALE

    RD\

    WR\

    IO-M\

  • 33

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    3.1 Simbologia das Instrues

    - addr = 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 : MOV r1, r2

    Indicao simblica : (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 : LDA addr

    Indicao simblica : (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)

    3. CONJUNTO DE INSTRUES DO MICROPROCESSADOR 8085

  • 34

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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 Instrues As 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)

  • 35

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    3.4 Instrues de Transferncia de Dados

    Mnemnico Genrico

    Simbologia NO de Ciclos

    No de Estados

    Modo de Endereamento

    Flags Afetadas

    Comentrio

    MVI r, dado8 (r) (byte 2) 2 7 Imediato nenhuma move o dado para o registrador r indicado MOV r1, r2 (r1) (r2) 1 4 Registrador nenhuma move o contedo do registrador r2 para o registrador r1 MOV r, M (r) ((H)(L)) 2 7 Indireto por

    registrador nenhuma move para o registrador r o dado presente no endereo de memria

    especificado pelo registrador par H-L MOV M, r ((H)(L)) (r) 2 7 Indireto por

    registrador nenhuma move o contedo do registrador r para a posio de memria

    especificada pelo registrador par H-L. MVI M, dado8

    ((H)(L)) (byte 2) 3 10 Indireto por registrador e imediato

    nenhuma Carrega o dado na posio de memria especificada pelo registrador par H-L.

    LXI rp, dado16

    (rh) (byte 3) (rl) (byte 2)

    3 10 Imediato nenhuma 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

    LDA addr (A) ((byte 3)(byte 2)) 4 13 direto nenhuma 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.

    STA addr ((byte 3)(byte 2)) (A) 4 13 direto nenhuma 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.

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

    5 16 direto nenhuma 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.

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

    5 16 direto nenhuma 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).

    LDAX rp (A) ((rp)) 2 7 Indireto por registrador

    nenhuma 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).

    STAX rp ((rp)) (A) 2 7 Indireto por registrador

    nenhuma 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).

    XCHG (H) (D) (L) (E)

    1 4 registrador nenhuma O contedo do registrador H trocado com o contedo do registrador D. O contedo de L trocado com o contedo de E.

  • 36

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    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 OPCODE MNEMNICO OPCODE MNEMNICO OPCODE MNEMNICO OPCODELDA adr 3A MOV B,H 44 MOV E,C 59 MOV L,M 6E LDAX B 0A MOV B,L 45 MOV E,D 5A MOV M,A 77 LDAX D 1A MOV B,M 46 MOV E,E 5B MOV M,B 70

    LHLD addr 2A MOV C,A 4F MOV E,H 5C MOV M,C 71 LXI B, Dado16 01 MOV C,B 48 MOV E,L 5D MOV M,D 72 LXI D, Dado16 11 MOV C,C 49 MOV E,M 5E MOV M,E 73 LXI H, Dado16 21 MOV C,D 4A MOV H,A 67 MOV M,H 74 LXI SP, Dado16 31 MOV C,E 4B MOV H,B 60 MOV M,L 75

    MOV A,B 78 MOV C,H 4C MOV H,C 61 MVI A, Dado8 3E MOV A,C 79 MOV C,L 4D MOV H,D 62 MVI B, Dado8 06 MOV A,D 7A MOV C,M 4E MOV H,E 63 MVI C, Dado8 0E MOV A,E 7B MOV D,A 57 MOV H,H 64 MVI D, Dado8 16 MOV A,H 7C MOV D,B 50 MOV H,L 65 MVI E, Dado8 1E MOV A,L 7D MOV D,C 51 MOV H,M 66 MVI L, Dado8 2E MOV A,M 7E MOV D,D 52 MOV L,A 6F MVI M, Dado8 36 MOV B,A 47 MOV D,E 53 MOV L,B 68 SHLD addr 22 MOV B,B 40 MOV D,H 54 MOV L,C 69 STA addr 32 MOV B,C 41 MOV D,L 55 MOV L,D 6A STAX B 02 MOV B,D 42 MOV D,M 56 MOV L,E 6B STAX D 12 MOV B,D 42 MOV E,A 5F MOV L,H 6C XCHG EB MOV B,E 43 MOV E,B 58 MOV L,L 6D

    Exemplos de uso de instrues de transferncia de dados:

    Mnemnico Cdigo Comentrio MVI H,10h 26 10 Carrega acumulador H com valor 10h MVI L,00h 2E 00 Carrega registrador L com valor 00h MVI A,0Ah 3E 0A Carrega acumulador com valor 0Ah MOV M,A 77 Move contedo de A para posio 1000h de memria MOV C,M 4E Move contedo da posio 1000h para registrador C. C = 0Ah

    MVI M,2Bh 36 2B Coloca valor 2Bh na posio 1000h de memria

    Mnemnico Cdigo Comentrio LXI B,1000h 01 00 10 Carrega registrador duplo BC com valor 1000h LXI D,2000h 11 00 20 Carrega registrador duplo DE com valor 2000h LXI H,3000h 21 00 30 Carrega registrador duplo HL com valor 3000h LXI SP,4000h 31 00 40 Carrega registrador duplo SP (apontador de pilha) com valor 4000h LDA 1000h 3A 00 10 Carrega acumulador com valor armazenado na posio de memria

    1000h STA 2000h 32 00 20 Move contedo do a