notas de aula josé wilson l. nerys_7047549-cpu-process-adores

Upload: fabiana-guedes

Post on 07-Apr-2018

234 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    1/135

    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

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    2/135

    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.

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    3/135

    3

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    Informaes sobre a Disciplina

    Disciplina: MICROPROCESSADORES E MICROCOMPUTADORESCdigo: 13.05.035

    Carga Horria: 96 horas (tericas) e 32 horas (de laboratrio)Grade Curricular: 1992 - (disciplina do 4o ano)Ano Letivo: 2006Aulas Tericas: Quarta-feira: 13:30h s 15:10h (alternando com Controle)

    Sexta-feira: 15:30h s 17:10hAulas 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-24. 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, SoPaulo, 2002. ISBN: 85.87918-28-18. NERYS, Jos Wilson L., Apostila de Microprocessadores

    EMENTA

    Conceitos bsicos de microprocessadores e microcontroladores. Arquitetura de microprocessadores emicrocontroladores. Princpio de funcionamento de microprocessadores e microcontroladores. Modosde endereamento. Programao de microcontroladores. Entrada/sada. Dispositivos perifricos.Interrupes. Temporizadores. Acesso direto memria. Barramentos padres. Expanso emapeamento de memria. Ferramentas para anlise, desenvolvimento e depurao.

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    4/135

    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

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    5/135

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

    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

    MximoProva 1 8,0

    Nota 1Laboratrio 2,0

    Prova 2 8,0Nota 2

    Laboratrio 2,0Prova 3 8,0

    Nota 3Laboratrio 2,0

    Prova 4 5,0Nota 4

    Projeto Experimental 5,0

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    6/135

    6

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

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

    1.1 HISTRICO SOBRE COMPUTADORES............................................................................................91.2 NMERO DE TRANSISTORES EM UM MICROPROCESSADOR .....................................................131.3 DEFINIES E CLASSIFICAES BSICAS .................................................................................141.4 ESTRUTURA BSICA DE UM COMPUTADOR ...............................................................................151.4.1 UNIDADE CENTRAL DE PROCESSAMENTO (CPU)......................................................................161.4.2 MEMRIA ...................................................................................................................................161.4.3 UNIDADE DE ENTRADA E SADA (I/O) .......................................................................................161.4.4 BARRAMENTO ............................................................................................................................161.5 NDICE DE DESEMPENHO DE PROCESSADORES .........................................................................171.6 MICROPROCESSADOR MICROCONTROLADOR .......................................................................171.7 OUTROS CONCEITOS BSICOS: ...................................................................................................171.8 SISTEMAS DE NUMERAO .........................................................................................................191.8.1 SISTEMA DECIMAL.....................................................................................................................191.8.2 SISTEMA BINRIO ......................................................................................................................191.8.3 SISTEMA BCD(BINARY-CODED DECIMAL) ..............................................................................19

    1.8.4 SISTEMA OCTAL.........................................................................................................................191.8.5 SISTEMA HEXADECIMAL............................................................................................................201.9 EXERCCIOS PROPOSTOS ............................................................................................................201.10 REFERNCIAS BIBLIOGRFICAS...............................................................................................21

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

    2.1 DIAGRAMA DE BLOCOS DO MICROPROCESSADOR 8085...........................................................222.2 UNIDADES INTERNAS E REGISTRADORES DO 8085....................................................................232.3 FREQUNCIA DE CLOCK .............................................................................................................252.4 PINAGEM DO 8085........................................................................................................................25

    2.5 SISTEMA BSICO DE TEMPORIZAO E PRINCPIO DE OPERAO ........................................272.6 FORMATO DAS INSTRUES .......................................................................................................302.7 EXERCCIOS PROPOSTOS ............................................................................................................312.8 REFERNCIAS BIBLIOGRFICAS.................................................................................................32

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

    3.1 SIMBOLOGIA DAS INSTRUES...................................................................................................333.2 MODOS DE ENDEREAMENTO ....................................................................................................333.3 GRUPOS DE INSTRUES.............................................................................................................343.4 INSTRUES DE TRANSFERNCIA DE DADOS ............................................................................35

    3.5 INSTRUES ARITMTICAS ........................................................................................................393.6 INSTRUES LGICAS.................................................................................................................433.7 INSTRUES DE DESVIO..............................................................................................................463.8 INSTRUES DE CONTROLE,PILHA E ENTRADA E SADA ........................................................493.9 FUNCIONAMENTO DA PILHA .......................................................................................................513.10 EXEMPLOS DE PROGRAMAS EM ASSEMBLY DO 8085..............................................................523.11 EXERCCIOS PROPOSTOS ..........................................................................................................543.12 REFERNCIAS BIBLIOGRFICAS...............................................................................................56

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

    4.1 SIMULADOR ABACUS PARA O MICROPROCESSADOR 8085.....................................................574.2 EXEMPLOS DE PROGRAMAS EM ASSEMBLY PARA O ABACUS................................................594.3 EXERCCIOS PROPOSTOS ............................................................................................................60

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    7/135

    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 ..................................645.3 ROTEIROS DE EXPERIMENTOS....................................................................................................665.4 REFERNCIAS BIBLIOGRFICAS.................................................................................................74

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

    6.1 INSTRUES DE RECOMEO.......................................................................................................756.2 INTERRUPES ............................................................................................................................756.3 CIRCUITOS DE INTERRUPO.....................................................................................................766.4 SETAGEM E LEITURA DA MSCARA DE INTERRUPO ............................................................796.5 AMPLIANDO A CAPACIDADE DE INTERRUPO ........................................................................80

    6.6 DISPOSITIVOS DE ENTRADA E SADA..........................................................................................816.7 EXERCCIOS PROPOSTOS ............................................................................................................836.8 REFERNCIAS BIBLIOGRFICAS.................................................................................................84

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

    7.1 INTERFACE SERIAL NO PC..........................................................................................................857.2 INTEGRADOS DE SUPORTE ..........................................................................................................887.2.1 MEMRIAS RAM E ROM...........................................................................................................887.2.2 DECODIFICADOR 74LS138.........................................................................................................947.3 EXERCCIOS PROPOSTOS ............................................................................................................95

    7.4 REFERNCIAS BIBLIOGRFICAS.................................................................................................97

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

    8.1 CONVERSOR DIGITAL-ANALGICO ...........................................................................................988.2 CONVERSOR ANALGICO-DIGITAL .........................................................................................1018.3 EXERCCIOS PROPOSTOS ..........................................................................................................1028.4 REFERNCIAS BIBLIOGRFICAS...............................................................................................103

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

    9.1 INTRODUO .............................................................................................................................1049.2 DIAGRAMA DE BLOCOS DO 8088 ..............................................................................................1069.3 OS REGISTRADORES DO 8088 ...................................................................................................1089.3.1 REGISTRADORES DE DADOS.....................................................................................................1099.3.2 REGISTRADORES APONTADORES E NDICES ............................................................................1099.3.3 REGISTRADORES DE SEGMENTO ..............................................................................................1109.3.4 APONTADOR DE INSTRUES ..................................................................................................1119.4 APINAGEM DO 8088..................................................................................................................1129.5 CICLOS DE BARRAMENTO DO 8086 ..........................................................................................1149.6 ENDEREAMENTO DE MEMRIA..............................................................................................1169.7 LINGUAGEM DE PROGRAMAO ASSEMBLY DO 8086 ........................................................118

    9.8 MODOS DE ENDEREAMENTO E ENDEREOS DE MEMRIA EFETIVO ..................................1199.9 INTERRUPES DO 8086............................................................................................................1219.9.1 ESTRUTURA DE INTERRUPO DO 8086: .................................................................................121

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    8/135

    8

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    9.9.2 INTERRUPES PR-DEFINIDAS, RESERVADA OU EXCEES...................................................1229.9.3 INTERRUPES POR HARDWARE .............................................................................................1229.9.4 INTERRUPES POR SOFTWARE...............................................................................................1229.10 CONJUNTO DE INSTRUES DO 8088/86 ................................................................................1239.10.1 INSTRUES DE TRANSFERNCIA DE DADOS ........................................................................1239.10.2 INSTRUES DE STRINGS .......................................................................................................126

    9.10.3 INSTRUES LGICAS............................................................................................................1289.10.4 INSTRUES ARITMTICAS....................................................................................................1299.10.5 INSTRUES DE DESVIO.........................................................................................................1299.10.6 INSTRUES DE CONTROLE ...................................................................................................1309.11 CARACTERSTICAS DE I/O DO PC-XT....................................................................................1309.11.1 DIVISO DOS ENDEREOS DOS DISPOSITIVOS DE I/O DO PC-XT..........................................1309.11.2 ENDEREOS DOS DISPOSITIVOS DA PLACA PRINCIPAL (PLACA ME) ..................................1319.11.3 ENDEREOS DOS DISPOSITIVOS DOS SLOTS...........................................................................1329.11.4 OSLOT DO PC(ISA8 BITS) ...................................................................................................1329.12 DECODIFICAO DE ENDEREOS...........................................................................................1339.13 EXEMPLOS GERAIS..................................................................................................................1339.14 PROBLEMAS PROPOSTOS ........................................................................................................134

    9.15 REFERNCIAS BIBLIOGRFICAS.............................................................................................135

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    9/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 operaesaritmticas, onde cada coluna representa uma casa decimal. Era o principal instrumento de clculo dosculo XVII e usado at hoje.

    Data da mesma poca do baco o octograma chins Yin Yang, o qual tido como a primeira representaobinria dos nmeros de 0 a 8. Foi criado pelo imperador chins Fou-Hi para representar a interao entre as duasenergias 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 operaesde adio e subtrao, reduzindo o tempo de processamento.

    1623 RELGIO DE CALCULAR WILHELM SHICKARD, professor de matemtica da Universidade deTbingen, Alemanha, inventou um relgio de calcular que considerado a primeira mquina mecnicade 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 paraauxiliar o matemtico e astrnomo Johannes Kepler.

    1642 PASCALINE O cientista francs BLAISE PASCAL criou uma calculadora capaz de realizaroperaes de adio e subtrao. A mquina implementada utilizava rodas e engrenagens, com as quaisera possvel representar nmeros decimais de 0 a 9. Pascal desenvolveu essa mquina para ajudar seupai 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 derealizar 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 resultadosintermedirios.

    1.INTRODUO AOS COMPUTADORES EMICROPROCESSADORES

    baco Octograma chins Yin Yang

    Tabela de logaritmos Pascaline

    Calculadora de 4 funes de Leibniz

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    10/135

    10

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    1738 ANDROIDES PROGRAMVEIS O cientista francs JACQUES VAUCANSON criou (robsimitando 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 acabea, fazer barulho equivalente, comer e evacuar. ( www.automates-anciens.com). Em 1749 eleconstruiu o primeiro TEAR AUTOMTICO, que aceitava comandos atravs de um cilindro de metalperfurado.

    Tear de Vaucanson Tear de Jacquard

    1801 CARTO PERFURADO O Tecelo francs JOSEPH MARIE JACQUARD aperfeioou o tearconstrudo por Vaucanson. Ele construiu uma mquina de tear que memorizava em cartes perfuradosos padres de desenho dos tecidos e depois os reproduzia com fidelidade, lendo comandos na presenaou ausncia de orifcios. A verso seguinte do Tear, em 1804, era totalmente automatizada e podia fazerdesenhos muito complicados. Esse considerado o primeiro registro de programao semelhante decomputadores modernos.

    1822 MQUINA DE DIFERENA e MQUINA ANALTICA Aborrecido pelos inmeros e freqenteserros 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 decidiufinanci-lo na construo de uma mquina de diferena completa, movida a vapor e completamenteautomtica, comandada por um programa de instruo fixo capaz de imprimir as tabelas. Baseada emoperaes de adio e subtrao e na tcnica de diferenas finitas, era capaz de resolver funespolinomiais 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 quedesignou 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 umamemria 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 daspeas, razo ao qual a mquina nunca funcionou. Seria capaz de fazer uma adio em 1 segundo e umamultiplicao em 1 minuto.

    1885 - O CARTO DE HOLLERITH Herman Hollerith , funcionrio do Departamento de Estatstica dosEstados Unidos, construiu uma mquina de carto perfurado para fazer o recenseamento da populaoamericana. 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 aproveitadanas mais diversas aplicaes em reparties pblicas, comrcio e indstria, e aperfeioada para realizaroperaes aritmticas elementares. Em 1896Hollerith fundou a TMC (TabulationMachine Company).

    Mquina de diferenas mquina analtica

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    11/135

    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 empresainternacional 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 odesenvolvimento 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 oColosso, de dimenses gigantescas. A mquina, abrigada emBletchley Park, tinha 2000 vlvulas e liasmbolos 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 dosalemes, 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, manipulavanmeros de at 23 dgitos e tinha medidas grotescas: 15 m de comprimento e 2,5 m de altura; 760.000peas 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 subtraoem 0,3 s, multiplicao em 3 s e diviso em 12 s,

    1946 ENIAC ( Electronic Numerical Integrator and Computer) - 1o Computador de propsito geral avlvula: 18.000 vlvulas, 30 toneladas, 15.000 ps quadrados, 140 kW, representao e aritmtica comnmeros decimais, 5.000 adies/seg. Projetado pela Ballistics Research Labs. Foi aproveitado nodesenvolvimento da Bomba H.

    1946 VON NEWMANN MACHINE A Mquina de Von Newman, ou Mquina de Touring introduziu oconceito de programa armazenado (Stored Programa Concept) no qual a memria conteria, alm dedados, programas. Os computadores modernos so baseados na mquina de Von Newman.

    1950 UNIVAC (Universal Automatic Computer) Lanado pela SPERRY, foi o 1o Computador deaplicao cientfica e comercial. Seguiram UNIVAC II e UNIVAC 1100series .

    Mquina de Herman Hollerith Z4

    Colosso Mark I

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    12/135

    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 WalterBrattain. Passou a ser usado em escala comercial somente em 1952 pelaBell Laboratories.

    1958 CIRCUITO INTEGRADO O engenheiro Jack Kilby, da Texas Instruments, criou o CircuitoIntegrado.

    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 comcaracteres - codificao ASCII) - 48 instrues - 16KB de memria - clock de 200 KHz - 300.000instrues/seg. 3500 transistores.

    1974 8080 (INTEL) - Processador de 8 bits, de propsito geral - 72 instrues - opera com 12V - clock de 2MHz - 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 SteveJobs (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.33MIPS, 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) - 133instrues - chip utilizado no primeiro PC em 1981. O PC/XT seria lanado em 1983 com HD de 10MB e 128 Kbyte RAM. 29.000 transistores. Lanado o 68.000 (MOTOROLA) que foi utilizado noMachintosh 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, 33MHz - 27 MIPS, 50 MHz - 41 MIPS.

    1991 WEB Tim Berners-Lee desenvolve a Rede Mundial de Computadores (World Wide Web). O primeiroservidor Web lanado. O conceito de conexo de vrios usurios a um nico computador por viaremota nasceu no MIT no final da dcada de 50 e incio da dcada de 60. As idias bsicas da Internetforam desenvolvidas em 1973 por Bob Kahn e Vint Cerf.

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    13/135

    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 detransistores. 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) - 5milhes de transistores - idealizado para programas de 32 bits. Usa memria de 64 bits.

    1997 Pentium 200MMX (Pentium MultiMidia eXtensions): contm 57 novas instrues dedicadas paraprogramas 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 bitsdo 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 L2de 512 kB, processador de 32 bits, 9,5 milhes de transistores, tecnologia 0.25 micron, 64 GB dememria 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, 42milhes de transistores.

    Alguns Exemplos de Aplicao de Microprocessadores e Microcontroladores

    Microcomputadores, Calculadoras, Relgios Digitais, Controle de Fornos Micro-ondas, Lavadora deRoupas, Video Games e outros brinquedos, Controle de Motores, Controle de Trfego, Alarmes e Sistemas deSegurana, Telefone Celular.

    1.2 Nmero de Transistores em um Microprocessador

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

    Fig. 1.1: Evoluo do nmero de transistores no microprocessador

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    14/135

    14

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    Tabela: Evoluo do nmero de transistores no microprocessador

    ProcessadorAno de

    IntroduoNmero detransistores

    Barramento dedados (bits)

    Capacidade deendereamento

    4004 1971 2.250 4 1 kB

    8008 1972 2.500 8 16 kB8080 1974 5.000 8 64 kB8085 1976 6.500 8 64 kB8086 1978 29.000 16 1 MB8088 1979 29.000 16 1 MB286 1982 120.000 16 16 MB

    386 1985 275.000 32 4 GB486 DX 1989 1.180.000 32 4 GBPentium 1993 3.100.000 32 4 GBPentium II 1997 7.500.000 32 4 GBPentium III 1999 24.000.000 32 4 GBPentium 4 2000 42.000.000 32 4 GB

    A quantidade cada vez maior de transistores numa nica pastilha foi acompanhada da reduo dotamanho 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 reduodas conexes internas, alm de permitir a insero de um nmero cada vez maior de transistores numa nicapastilha. O aumento da capacidade de integrao de transistores resulta ainda na reduo do consumo de energiaeltrica e do custo dos microprocessadores. H um postulado que diz que o gate de um transistor no pode sermenor do a largura correspondente a 10 tomos. A previso de pesquisadores da Intel a dimenso do gate dostransistores 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) dadossem a interveno humana.

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    15/135

    15

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    COMPUTADOR (classificao quanto velocidade de processamento, nmero deregistradores 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

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    16/135

    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 ficamarmazenadas 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 deuma forma lgica e sincronizada.

    ALU (Aritmetic and Logic Unit) - Unidade Lgica e Aritmtica (ULA) - realiza funes bsicas deprocessamento de dados (adio, subtrao, funes lgicas, etc.).

    Registers- Registradores - So usados para o armazenamento interno da CPU. Existem diversos registradores naCPU e o principal deles chamado de Acumulador.

    CPU interconnection - o barramento interno da CPU; ele permite a comunicao entre a Unidade deControle, 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 cadapalavra 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 ficamarmazenados permanentemente informaes fundamentais para o funcionamento do computador e cujos dadosno so perdidos na falta de energia; e a memria RAM, que permite gravar e apagar dados de acordo com osinteresses do usurio, e cujo contedo perdido quando o computador desligado. A memria RAM divide-seainda em Memria Dinmica (DRAM) e memria esttica (SRAM), que sero melhor detalhadasposteriormente. A principal caracterstica a ser destacada neste ponto a baixa velocidade de acesso da memriaRAM.

    Com o passar dos anos os processadores tornaram-se cada vez mais rpidos, o mesmo no acontecendocom 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 comque 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 paraacelerar o acesso RAM dinmica. Quando h necessidade de ler dados da memria dinmica, estes so antestransferidos para a memria cache. Enquanto o processador l dados da memria cache, mais dados soantecipadamente 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 emonitor. 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 paracomunicao entre o processador, a memria e o meio externo. O barramento especfico para a comunicaoentre o processador e a memria chamado de barramento de sistema. Para a comunicao com os perifricos ostrs 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 umbarramento 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 presentecurso, possui 8 bits de dados e, por esta razo, denominado de processador de 8 bits.

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    17/135

    17

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    A quantidade de posies de memria que um computador pode acessar ditada pela quantidade de bitsdo barramento de endereos. Um barramento com 32 bits pode acessar at 4.294.967.296 (232) posies dememria, o que corresponde a 4 GB de memria (4.294.967.296 = 4 1024 1024 1024 = 4 GB). Todos osprocessadores 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 dememria.

    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 sea operao envolve a memria ou a unidade de entrada e sada, sinal de RESET, entradas das interrupes, sinalde CLOCK, etc.

    Barramento ISA - O barramento ISA (Industry Standard Architecture) formado por slots de 8 e 16 bitsexistentes 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 de8 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 noficam 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 detransferncia 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 deaumentar a taxa de transferncia entre a CPU e a placa de vdeo, melhorando o desempenho de operao comgrficos. Esse barramento foi incorporado CPU de processadores Pentium II mais modernos. A principalvantagem do AGP o uso de maior quantidade de memria para armazenamento de texturas para objetostridimensionais, 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 pontoschaves:

    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. Contmessencialmente a unidade de controle, a unidade lgica e aritmtica e registradores. Precisa de perifricos taiscomo memria e unidade de entrada e sada, para a formao de um sistema mnimo.

    Microcontrolador - um computador completo construdo num nico Circuito Integrado. Osmicrocontroladores so normalmente utilizados para aplicaes especficas. Eles contm normalmentefacilidades tais como portas seriais, portas de entrada e sada paralelas, timers, contadores, controles deinterrupo, 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 dedesempenho do microprocessador.

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    18/135

    18

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    FLOPS - FLOating point instructions Per Seconds (Instrues com Ponto Flutuante Por Segundo). tambmuma unidade de desempenho do microprocessador. Indica a capacidade de trabalhar com nmerosdecimais.

    Representao em Ponto Fixo - Sistema numrico no qual o ponto est implicitamente fixo ( direita do digitomais a direita);

    Representao em Ponto Flutuante - Sistema numrico no qual um nmero real representado por um pardistinto de numerais: uma mantissa (ou significante) e um expoente. Possibilita representao denmeros fracionrios.

    Bit - Abreviatura para 'Binary Digit', ou, Dgito Binrio. Pode assumir valor 0, que corresponde a tenso O V, ou1, 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 algunsmltiplos de 8, tais como 16 bits (Word) e 32 bits (Dword).

    BYTEnibble 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) querepresentam todas as instrues do processador. Cada processador possui o seu set de instruesparticular.

    CISC - Complex Instruction Set Computer: Tecnologia atribuda s CPUs de um modo geral, que contm set deinstrues complexo. O barramento de comunicao entre as unidades que compem a CPU comum atodas as unidades, ou seja, no h comunicao direta entre unidades, atravs de um barramentoexclusivo.

    RISC - Reduced Instruction Set Computer: Computador com set de instrues reduzido. Principaiscaractersticas:

    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 docomputador. Tambm gerencia o fluxo de dados entre o sistema operacional do computador e osdispositivos perifricos conectados.

    Memria EPROM - (Erasable Programmable Read Only Memory) - So memrias somente de leitura usadaspara a gravao de programas. A gravao feita atravs de uma gravadora especfica e os dadosgravados podem ser apagados atravs de raios ultravioletas. Pode-se repetir esse processo gravar/apagarpor vrias vezes.

    Memria EEPROM ou E2PROM - (Electrically Erasable Programmable Read Only Memory) - So memriasque podem ser usadas tanto para leitura quanto para escrita porque a gravao pode ser atravs degravadora especfica ou pelo sistema. So apagadas eletricamente. o feita atravs de uma gravadoraespecfica e os dados gravados podem ser apagados atravs de raios ultravioletas. Pode-se repetir esseprocesso gravar/apagar por vrias vezes.

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    19/135

    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 1acoluna 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 (OFFe 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 = 203 10

    A ponderao dada pelo nmero 2 elevado potncia representada pela coluna, sendo que a 1 a 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, utilizadospara representar um dgito decimal (nmero 0 at 9). A representao de um nmero maior que 9 deve ser feitapor 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

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    20/135

    20

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    3o dgito: Armazena o equivalente a 82 (64). No ex.: 2 824o 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 16dgitos: 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 paraescrever 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 hexadecimaisequivalentes.

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

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    21/135

    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/

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    22/135

    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 umlatch (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.5mascaradas; SOD em 0.

    2.ARQUITETURA E PRINCPIO DE FUNCIONAMENTO DO 8085

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    23/135

    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 aposio de memria 8 vezes n: RST 5.5 = 4410 = 2Ch; RST 6.5 = 34h; RST 7.5 = 3Ch.). As interrupesRST 5.5, RST 6.5 e RST 7.5 podem ser mascaradas, ou seja, elas podem ser bloqueadas via "software". J ainterrupo 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. Ainterrupo INTR, na verdade, um canal para expanso da capacidade de interrupo. Atravs desse canalum CI especial (Exemplo: CI 8259) conectado ao 8085, de modo a permitir um nmero maior deinterrupes. O sinal INTA\ faz parte da comunicao entre o 8085 e o CI usado para expanso dacapacidade 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 eo 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 osinal de habilitao de endereo para um perifrico (ALE). Todas as unidades internas do 8085 socontroladas por esta unidade, que contm, dentre outros, um contador em anel para sincronizao daoperao de todas as unidades do 8085. Os sinais de controle para outras unidades so enviados aps adecodificao das instrues vindas do Registrador de Instrues (IR). Recebe ainda sinais do registradorde 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 eAritmtica (ALU ou ULA). Freqentemente o registrador de entrada ou sada da CPU. utilizadoimplicitamente na maioria das instrues. um registrador de 8 bits, o que permite trabalhar com nmerossem 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 desseregistrador 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) umregistrador de 8 bits (mas somente 5 bits so utilizados) que armazena o estado da ltima operaorealizada na ULA. So 5 as flags do 8085, conforme mostrado a seguir:

    Registrador Fbit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0

    S Z AC P CY

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    24/135

    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 dobit 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 11 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 01 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 damemria 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 quesero 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 eHL. 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, queaponta 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, deMemory.

    Registrador "Apontador de Pilha"

    O registrador apontador de pilha SP (Stack Pointer) um registrador de 16 bits usado como apontador dedados 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 emoutra tarefa. A ordenao de elementos na pilha tal que somente um dado pode ser acessado numdeterminado instante e a ltima palavra digital que entra a primeira que sai (Lista LIFO -LastInFirst

    AC=1CY=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 registradorespossuem 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 registradorespossuem 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

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    25/135

    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 dechamadas/retornos de subrotina e endereos de retorno de interrupes, que automaticamente armazenadospelo 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 daprxima instruo a ser executada. incrementado pela unidade de controle aps a execuo de umainstruo. (OBS: as instrues esto localizadas na memria e precisam ser transferidas para dentro daCPU). Sendo um registrador de 16 bits o registrador PC pode indicar at 65536 diferentes endereos (0 a65535 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 clockdo 8085A-2 deve ficar entre 500 kHz e 5 MHz. A freqncia de clock metade da freqncia do cristaloscilador, como mostrado na expresso que segue. Isso ocorre porque o flip-flop que gera o clock divide o sinalde 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 cadapino. A tabela a seguir mostra, atravs dos pinos IO/M\, S1 e S0, o estado em que se a encontra a CPU durante aexecuo de uma instruo.

    Estado do ciclo de mquina:IO/M S1 S0 ESTADO

    0 0 1 escrita em memria0 1 0 leitura de memria0 1 1 busca de opcode1 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 RESET3S x x Hold3S x x Reset

    CLX1

    fcristal CLX2

    J

    K

    2cristal

    clock

    ff =

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    26/135

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    .

    Pino de alimentaPinos de conexo do cristal. X1 pode ser uma ondaquadrada. Nesse caso, X2 pode ficar aberto. Requerimento d

    Indicas aos perifricos que a CPU est sendo ressetada ReconhecimentoPino de sada de dado serial. Sada de clock p

    Pino de entrada de dado serial. Reset do sistema

    Pino da interrupo de maior prioridade. No mascarvel. 1 memria ou

    Pino da interrupo que desvia para o endereo 3C h. Indica se a opera

    Pino da interrupo que desvia para o endereo 34 h. Com S0 e IO/M\

    Pino da interrupo que desvia para o endereo 2C h. Sinal que habilit

    Pino usado para expandir a capacidade de interrupo. Sinal que habilit

    Reconhecimento de pedido de interrupo. Sinal para carga d

    Com S1 e IO/M\

    Byte menos significativo do endereo e barramento dedados.

    Pino de terra (GND).

    Byte mais signif

    Fig. 2.3: Pinagem do microprocessador 8085

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    27/135

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

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    28/135

    28

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    O diagrama de temporizao mostra os sinais essenciais no processo de busca e execuo de cadainstruo. 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 prximainstruo ou os bytes restantes (ou o byte restante) da instruo em andamento. O sinal ALE o sinal dehabilitao do Latch do endereo, ou seja, o endereo transferido para a memria ROM, de onde ser lida ainstruo.

    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 node 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 ao ciclo de busca. A instruo decodificada e sinais de controle so emitidos da Unidade de Temporizao eControle 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 clockpara o ciclo de execuo. O ciclo de execuo pode ocorrer no estado T4, ou no prximo estado T2, durante ocilco de busca da prxima instruo. No ltimo caso diz-se que houve sobreposio dos ciclos de busca eexecuo (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 noprocessamento 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 execuodas 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 tambmpara a transferncia de dados, enquanto que os 8 bits mais significativos so exclusivos para endereos. Assim, achave de trs estados desempenha um papel essencial na operao do microprocessador. Durante a comunicaoentre 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 detemporizao para as duas instrues mostrado na Fig. 2.6.

    ROM

    Endereo Instruo0000 h ADD B0001 h MOV B,A

    RAM

    Endereo Contedo

    Microprocessador (CPU)

    Contador de Programa(PC)

    Unidade deDecodificao de

    Instrues

    Acumulador

    A ou ACC

    OutrosRegistradores:

    B, C, D, E, H, L

    Registrador deInstrues (IR)

    Opcode

    Unidade de Controle

    Unidade Lgica e Aritmtica(ALU)

    Barramentode Endereos Barramento deDados

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    29/135

    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 blocodenominado "outros registradores") contenha o valor 5h, a adio do contedo de B ao contedo de A obtidocom a instruo ADD B. O resultado guardado no prprio acumulador. Posteriormente, com a instruo MOVB,A o contedo de A copiado em B. Os passos para execuo das duas instrues em seqncia so dados aseguir:

    CICLO DE BUSCA:

    1 Na descida do sinal de clock em T1 o Contador de Programa (PC) ativado, colocando o endereo atual nobarramento 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 prximainstruo. 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 dememria.

    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 queest 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 registradortemporrio (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 outrainstruo 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\

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    30/135

    30

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    busca da instruo MOV B,A. Portanto, h "sobreposio busca-execuo" (SBE). Busca da instruoMOV 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 dedados/endereos. Nessa fase a instruo ADD B encerrada. Na descida do sinal de clock em T2 oscontedos de A (10 h) e do registrador temporrio TMP (B = 5 h) so simultaneamente transferidos para aUnidade Lgica e Aritmtica (ULA), de onde o resultado da adio sai direto para o barramento. Na subidado sinal de clock em T2 o resultado da operao carregado no acumulador (A = 15 h). Encerra aexecuo da instruo ADD B.

    11 No estado T3 do ciclo de mquina M2 a instruo MOV B,A lida da ROM transferida para o Registradorde 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 deapenas 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 deinformaes adicionais para sua execuo. Assim, alm das instrues de 1 byte, o 8085 tambm tem instruesde 2 bytes e de 3 bytes. Os bytes adicionais so chamados de OPERANDOS. No caso da instruo de 2 bytestem-se o Opcode e 1 operando e no caso da instruo de 3 bytes tem-se o Opcode e 2 operandos. mostrado aseguir o formato dos trs tipos de instruo. Antes, porm, importante mostrar o formato dos dados no 8085.

    D7 D6 D5 D4 D3 D2 D1 D0MSB 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 D0Operando (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 hOperando (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 D0Operando 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 significativodo endereo (low-order addr) ou o byte menos significativo do dado de 16 bits (low-order data). O byte 3

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    31/135

    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 peloendereo addr

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

    Opcode (byte 1) 0 0 1 1 0 0 1 0 = 32 hOperando 1 (byte 2) 0 0 1 1 0 1 0 0 = 34 hOperando 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 dainstruo (opcode = cdigo de operao) para o Registrador de Instruo (IR). Nos ciclos de mquina que seseguem os outros bytes so buscados na memria. Primeiro o byte 2 transferido para um registradortemporrio (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 passoda instruo.

    O primeiro ciclo de mquina do 8085 flexvel podendo ter de 4 a 6 ciclos de clock; os demias ciclosde 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 M5T1 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 (embits) 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\ emMEM_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 decada 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)

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    32/135

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

    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, revisotcnica: Rodrigo Araes Caldas Farias, McGraw-Hill, So Paulo, 1985.

    CLK

    T1 T2 T3 T4 T1 T2 T3 T4

    ADD B PC FORA PC+1PC INSTIR B TMP SBE A+TMPA

    MOV B,A PC FORA PC+1PC INSTIR A B

    A15 - A8 PC S PC S

    AD7- AD0 PC I INST PC I INST

    ALE

    RD\

    WR\

    IO-M\

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    33/135

    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 identificao 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 cadamnemnico 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. Oopcode 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 maneirasdistintas 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

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    34/135

    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 posiode memria onde o dado est armazenado.

    Exemplo: MOV r, M = move para o registrador r o contedo da memria localizado na posioindicada 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 eregistradores. Inclui movimentos, cargas, armazenamentos a troca de dados.

    Exemplo: MVI M, dado8 = move o dado especificado para a posio de memria indicada peloregistrador par HL.

    ((H)(L)) (byte 2)

    2. Grupo Aritmtico - Adies, subtraes, incrementos, ou decrementos de dados em registradores oumemria.

    Exemplo: SUB r = o contedo do registrador r subtrado do acumulador. O resultado guardado devolta no acumulador

    (A) (A) - ( r )

    3. Grupo Lgico - ANDs, ORs, XORs, comparaes, rotaes, ou complementos de dados em registradoresou entre memria e um registrador.

    Exemplo: ANA r = os contedos do acumulador e do registrador r so submetidos ao operadorlgico AND. O resultado guardado de volta no acumulador.

    (A) (A) (r)

    4. Grupo de Desvio - Inicia desvios condicionais ou incodicionais, chamadas de subrotina, retornos ereincios.

    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 noacumulador

    (A) (data)

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    35/135

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    36/135

    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 asinstrues de transferncia de dados so desmembradas em seus diferentes opcodes.

    MNEMNICO OPCODEMNEMNICO OPCODE MNEMNICO OPCODE MNEMNICO OPCODE

    LDA adr 3A MOV B,H 44 MOV E,C 59 MOV L,M 6ELDAX B 0A MOV B,L 45 MOV E,D 5A MOV M,A 77LDAX 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 71LXI B, Dado16 01 MOV C,B 48 MOV E,L 5D MOV M,D 72LXI D, Dado16 11 MOV C,C 49 MOV E,M 5E MOV M,E 73LXI H, Dado16 21 MOV C,D 4A MOV H,A 67 MOV M,H 74LXI 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 3EMOV 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 0EMOV A,E 7B MOV D,A 57 MOV H,H 64 MVI D, Dado8 16MOV A,H 7C MOV D,B 50 MOV H,L 65 MVI E, Dado8 1EMOV A,L 7D MOV D,C 51 MOV H,M 66 MVI L, Dado8 2EMOV 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 22MOV B,B 40 MOV D,H 54 MOV L,C 69 STA addr 32MOV B,C 41 MOV D,L 55 MOV L,D 6A STAX B 02MOV B,D 42 MOV D,M 56 MOV L,E 6B STAX D 12MOV B,D 42 MOV E,A 5F MOV L,H 6C XCHG EBMOV 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 10hMVI L,00h 2E 00 Carrega registrador L com valor 00h

    MVI A,0Ah 3E 0A Carrega acumulador com valor 0AhMOV M,A 77 Move contedo de A para posio 1000h de memriaMOV 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 1000hLXI D,2000h 11 00 20 Carrega registrador duplo DE com valor 2000hLXI H,3000h 21 00 30 Carrega registrador duplo HL com valor 3000hLXI SP,4000h 31 00 40 Carrega registrador duplo SP (apontador de pilha) com valor 4000hLDA 1000h 3A 00 10 Carrega acumulador com valor armazenado na posio de memria

    1000hSTA 2000h 32 00 20 Move contedo do acumulador para a posio de memria 2000h

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    37/135

    37

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    Mnemnico Cdigo Comentrio

    LHLD 1000h 2A 00 10 Carrega contedo da posio 1000h no registrador L. Carrega contedoda posio 1001h no registrador H

    SHLD 2000h 22 00 20 Move o contedo do registrador L para a posio 2000h. Move ocontedo do registrador H para a posio de memria 2001h.

    LXI H,3000h 21 00 30 Carrega registrador duplo HL com valor 3000hLXI B,4000h 01 00 40 Carrega registrador duplo BC com valor 4000hLXI D,5000h 11 00 50 Carrega registrador duplo DE com valor 5000h

    LDAX B 0A Carrega acumulador com o contedo da posio de memria indicadapelo registrador duplo BC, ou seja, posio 4000h

    STAX D 12 Move contedo do acumulador para a posio de memria indicadapelo registrador duplo DE, ou seja, posio 5000h

    XCHG EB O contedo de H (30h) trocado com o contedo de D (50h). Ocontedo de L (00h) trocado com o contedo de E (00h).Depois da instruo, temos: HL = 5000h e DE = 3000h

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    38/135

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    39/135

  • 8/4/2019 Notas de Aula Jos Wilson L. Nerys_7047549-Cpu-Process-Adores

    40/135

    Microprocessadores e Microcomputadores Prof. Jos Wilson Lima Nerys

    Instrues Aritmticas - Continuao

    MnemnicoGenrico

    Simbologia NO deCiclos

    No deEstados

    Modo deEndereamento

    FlagsAfetadas

    DCX rp (rh)(rl) (rh)(rl) - 1 1 6 registrador nenhuma O contedo do registrador

    DAD rp ((H)(L))((H)(L))+ (rh)(rl) 3 10 registrador CY O contedo do registrador

    registrador par HL. SomenDAA 1 4 registrador todas Faz o ajuste decimal do n

    acumulador ajustado paraA regra seguida a seguint

    1. Se o nmero representou se a Flag AC estcontedo do acumulad

    2. Se o nmero representou se a Flag CY estivesuperior.

    Na tabela a seguir as instrues aritmticas de dados so desmembradas em seus diferentes op

    MNEMNICO OPCODEMNEMNICO OPCODE MNEMNICO OPCODE MNEMNICO OPCODE MNEMNICO O

    ACI Dado8 CE ADD B 80 DAD H 29 DCX D 1B INX B

    ADC A 8F ADD C 81 DAD SP 39 DCX H 2B INX D

    ADC B 88 ADD D 82 DCR A 3D DCX SP 3B INX H

    ADC C 89 ADD E 83 DCR B