Arquitectura do Microprocessador 8085
E
Arquitectura de um Computador





  • Disciplina: Sistemas Digitais e Arquitectura de Computadores
    Prof.: Ana Paula Santos
    Data: 03/03/08
    Ano: 12º
    Turma: GEI
  • Trabalho realizado por:
    Fábio Santos Nº5
    Jorge Bento Nº10
    Telmo Vicente Nº16




Introdução

Este trabalho foi realizado para a disciplina de sistemas digitais e arquitecturas de computadores, e tem como base explicar o funcionamento de um microprocessador 8085 num sistema digital.





Arquitectura do microprocessador 8085

O microprocessador 8085 é constituído por 3 partes:
- Unidade de controlo
- Conjunto de registos
- Unidade Lógica / Aritmética

A unidade de controlo é o bloco de funções lógicas ligadas ao interior do circuito integrado. Esta unidade controla e sincroniza as transferências e as operações que se realizam com os dados, ou seja, regula a tarefa básica do microprocessador, que consiste na procura e na execução de instruções.
No Conjunto de registos, o microprocessador 8085 tem uma série de registos de utilização geral denominados B, C, D, E, H e L de 8 bits cada um, podendo funcionar aos pares. São utilizados para transferências internas, obtendo assim uma maior flexibilidade e rapidez.

Existem outros registos para fins especiais tais como:
- Contador de programa de 16 bits
- Stack pointer de 16 bits

O contador de Programa é um registo que memoriza o endereço da próxima instrução a executar. A unidade de controlo incrementa automaticamente o conteúdo do controlador de programa cada vez que termina um ciclo de aquisição. O sinal de reset, que é uma das entradas da unidade de controlo, coloca o controlador de programa a zero e inicializa a execução do programa.


Stack Pointer
O stack pointer contém o endereço do topo do stack, ou seja, é a estrutura computacional que permite guardar dados numa base LIFO (Last In First Out)
O stack pointer é como uma pilha de livros onde podem ser colocados e retirados.
O acesso ao stack é feito com duas instruções:

PUSH - põe um dado (de 16 bits) no stack
POP - retira um dado (de 16 bits) do stack


A unidade aritmética e lógica é um circuito combinatório que realiza operações de soma, subtracção, assim como operações lógicas.




external image moz-screenshot.jpgexternal image moz-screenshot-1.jpgmatematica-full.jpg





Existem equipamentos de programação que aceitam as instruções directamente na forma de mnemónicos. Estes equipamentos dispõem de um programa chamado "assemblador", que traduz o programa escrito em linguagem assembly para um sistema binário, que é a linguagem interpretada pela máquina.


Aqui estão algumas da instruções feitas pelo microprocessador 8085
- Transferência de dados entre registos ou entre posições de memória e registos.
- Operações aritméticas
- Operações lógicas
- Transferências do controlo do programa
- Instruções de Stack, E/S e controle de máquina

À Aquisição e execução de uma instrução dá-se o nome de ciclo de instrução. O ciclo de instrução é formado por vários ciclos de máquina. A maior parte dos ciclos de máquina das instruções de um programa são referências de leitura e escrita na memória.
Aquisição do código de operação
- Leitura de memória- Escrita em memória
- Leitura em dispositivos de E/S
- Escrita em dispositivos de E/S
- Resposta a interrupções
- Bus inactivo


Arquitectura de um computador


Os controladores de I/O e o CPU podem ser executados de uma forma concorrente. Cada controlador está encarregue de um dispositivo particular, têm um buffer local. O CPU movimenta os dados da memória principal para os buffers locais. É a partir do dispositivo para o buffer local do controlador que o controlador informa o CPU que terminou a sua operação através de uma interrupção. Os componentes são ligados através de um barramento (system bus), sendo cada componente controlado pelo respectivo controlador. A operação dos controladores é executada pelo acesso à memória. As operações de I/O passam ficam em buffer através dos controladores, sendo posteriormente os controladores que informam o CPU de eventos através de interrupções.

sdac.JPG


sdac2.JPG











Sistema de interrupções

É uma instrução externa que faz com que o processador pare a execução do programa que está a correr, e desvia a execução para um bloco de código chamado de rotina de interrupção, ou seja, assinalam o acontecimento de um evento (Ex: O movimento do rato). Cada instrução é feita por uma rotina específica, ou seja uma interrupção transfere o controlo para uma rotina de serviço. A arquitectura de interrupções tem de guardar o endereço da instrução interrompida e as interrupções recém chegadas ficam em estado disable enquanto outra interrupção está a ser processada.
O sistema operativo tem meios para guardar informações sobre o estado do CPU antes da interrupção e para repor o estado anterior após o tratamento da interrupção:

São esses meios:
- Registos
- Contador de programa
O sistema operativo determina qual a acção a tomar para cada tipo de interrupção. Existem também interrupções geradas por software, nomeadamente para assinalar erros (Ex: divisões por 0)









sdac3.JPG





Conclusão


Com este trabalho ficámos a conhecer o que está por trás do funcionamento mais complexo daquilo a que é chamado computador.

Webgrafia
http://www.dei.isep.ipp.pt/~llf/docs/Arquitectura_de_um_Computador-III.pdf
http://www.dee.cefet-ma.br/pessoal/orlando/arquivoshtml/asdaula02.html