Você está na página 1de 29

ESCOLA POLITCNICA DA UNIVERSIDADE DE SO PAULO

DEPARTAMENTO DE ENGENHARIA DE COMPUTAO E SISTEMAS DIGITAIS PCS LABORATRIO DE PROCESSADORES I


MICROPROCESSADORES E MICROCONTROLADORES Notas de aula 1 e 2

Autores: Prof. Dr. Carlos Eduardo Cugnasca Prof. Dr. Andr Riyuiti Hirakawa Prof. Dr. Paulo Srgio Cugnasca
reviso: 02/2006

Laboratrio de Processadores I

MICROPROCESSADORES E MICROCONTROLADORES
1. INTRODUO ARQUITETURA DE MICROPROCESSADORES
Sero apresentados os conceitos bsicos relacionados com a arquitetura de microprocessadores, como uma preparao para o futuro estudo de microprocessadores mais complexos. Para a apresentao dos principais conceitos associados organizao de uma UCP convencional, interessante a exemplificao a partir de UCPs clssicas j lanados no mercado. Por razes didticas, torna-se interessante escolher para um primeiro estudo UCPs de mdia complexidade, para posteriormente serem apresentadas outras com maior sofisticao arquitetnica.

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

1.1. Conceitos Bsicos A organizao da grande maioria de sistemas baseados em microprocessadores derivada do modelo clssico do computador digital proposto por Von Neumann

INTERRUPES

UNIDADE CENTRAL DE PROCESSAMENTO


OSCILADOR

MEMRIA
ACESSO DIRETO MEMRIA

ENTRADAS E SADAS

DISPOSITIVOS EXTERNOS

Nela pode-se identificar os trs blocos fundamentais: UCP Unidade Central de Processamento Memria Entradas e Sadas
Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

Interligando esses elemento existem as vias ou barramentos (buses), por onde as instrues e outros dados so transferidos, e sinais para o controle dos dispositivos. Na verdade, em uma representao mais adequada tem-se a real forma de conexo dos componentes:

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

INTERRUPES

OSCILADOR

UNIDADE CENTRAL DE PROCESSAMENTO


D A D O S

ENDEREOS

CONTROLE

MEMRIA

ENTRADAS E SADAS

CONTROLADOR DE ACESSO DIRETO MEMRIA

DISPOSITIVOS EXTERNOS

Nela encontram-se detalhados os tipos de vias de dados, de endereos e de controle, nas quais todos os elementos encontram-se conectados em paralelo, no havendo conflitos graas aos circuitos de controle e as caractersticas
Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

3-state dos circuitos de sada dos componentes, j estudada nos cursos bsicos de Sistemas Digitais. Neste contexto, a UCP implementada por um microprocessador, e com a interligao a ela de dispositivos de memria e de entrada e de sada, pode-se implementar microcomputadores de uso geral ou equipamentos para aplicaes especficas. A UCP a principal parte dessa estrutura, comandando todas as demais. Operando de forma sincronizada com um oscilador, basicamente ela retira da memria as tarefas armazenadas e as executa ao longo do tempo. Essas tarefas, chamadas de programas so compostos por uma srie de comandos elementares denominados instrues, agrupadas em uma ordem adequada e com parmetros convenientes. Para possibilitar uma interao mais efetiva com os estmulos ou eventos externos, normalmente associados a dispositivos de entrada e sada, temporizaes ou sinalizaes, e de natureza assncrona em relao ao seu oscilador, so disponveis os sinais de Interrupo que quando acionados, provocam a interrupo da tarefa em execuo, a execuo de uma outra tarefa associada ao estmulo que gerou a interrupo, e o posterior retorno ao programa interrompido. Assim, aplicaes em tempo real podem ser implementadas com maior facilidade. Outro recurso comumente disponvel o Acesso Direto Memria (ADM), til em situaes em que se deseja transferir grandes quantidades de informaes consecutivamente armazenadas, de forma eficiente. Nessa situao, h a necessidade de um dispositivo externo que assume com mais agilidade o controle da transferncia no lugar da UCP, que fica desativada durante o tempo
Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

consumido para tal. Normalmente dois sinais so disponveis para sincronizar a UCP com o controlador de ADM. Como exemplo de aplicao dessa tcnica pode-se citar a transferncia de dados de um disco para a memria.

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

1.2. Barramentos ou Vias A interligao entre a UCP a outros dispositivos efetuada atravs de vias ("buses") ou barramentos externos, que so conjuntos de sinais eltricos digitais que permitem a transferncia de cdigos de instrues, dados, endereos e informaes de controle. Em uma via podem estar conectados diversos dispositivo que interagem com a UCP. Em alguns casos, tem-se a via unidirecional, quando se deseja transferir informaes de um elemento para outro, sempre nesse sentido; em outros, tem-se vias bidirecionais, que permitem a transferncias de informaes entre dispositivos nos dois sentidos, no simultaneamente. Barramentos Externos Conectados s vias encontram-se diversos dispositivos, como memria e entrada/sada; contudo, a cada momento apenas um deles poder estar conectado para interagir com a UCP, sempre sob o seu controle. Internamente so encontradas trs vias, a saber: Podem ser separados em trs partes: Barramento de Dados: um caminho bidirecional (no simultamneamente), que permite o movimentao de dados entre os diversos componentes do sistema: microprocessador, memria e dispositivos de entrada e sada de dados. Os sinais que controlam o trfego de informaes so fornecidos pelo barramento de controle, descrito adiante. A largura do barramento de dados em geral determina a palavra da UCP, podendo ser por exemplo, de 1, 4, 8, 16, 32 ou 64 bits, e corresponde a quantidade de bits que podem ser transferidos em
Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

paralelo em uma nica operao. No exemplo do 8080/8085 e Z80, este barramento possui 8 bits, denominados de D0-D7. Barramento de Endereos: um barramento unidirecional, que permite a seleo de uma posio de memria ou dispositivo de entrada e sada por parte do processador. O nmero de bits presentes nesse barramento determina o espao de endereamento de memria e/ou entrada e sada. No exemplo do 8080/8085, este barramento possui 16 bits, denominados de A0-A15; podende enderear at 64 Kbytes, e em conjunto com o sinal IO/M/, endeream a memria (quando IO/M/=0); ou caso contrrio endeream portas de entrada/sada. Barramento de Controle: controla o funcionamento dos barramentos de dados e endereos, j que estes so utilizados tanto pela memria quanto pelos dispositivos de entrada e sada. Contm os sinais eltricos destinados determinao do tipo de acesso (leitura ou escrita) s memrias e perifricos, sincronizao desses acessos, e a outras funes internas do equipamento. Barramentos Internos Analogamente ao que ocorre externamente, tem-se os barramentos internos, conectando os diversos elementos constitutivos da UCP.

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

10

1.3. Memria O local onde so armazenados os dados que esto sendo processados denominado de memria (tambm conhecida por memria principal ou memria primria). Esse termo se aplica a todo dispositivo capaz de armazenar informaes. A capacidade de armazenamento determinada pelo nmero de bytes que podem ser armazenados, utilizando-se as unidades Kbyte (Kilobyte, equivalente a 1.024 bytes ou 210), o Mbyte (220) e o Gbyte (230). Cada uma das posies de memria possui um cdigo de identificao individual denominado endereo. Qualquer posio da memria principal pode ser acessada aleatoriamente, com a mesma facilidade. Do ponto de vista construtivo, dois tipos de memria semicondutor podem ser encontradas: RAM e ROM. As RAMs so memrias volteis (perdem o contedo na ausncia de alimentao), e podem ser lidas e alteradas pela UCP. So utilizadas para o armazenamento de instrues de programas, seus dados e informaes temporrias. As ROMs (e os diversos tipos derivados, PROMs e EPROMs) no so volteis, mas no podem ser alteradas pela UCP (vm previamente gravadas, o que feito atravs de dispositivos especiais ou durante o processo de sua construo), sendo assim apenas lidas por ela. So utilizadas para o armazenamento de instrues de programas, seus dados e informaes imutveis (como por exemplo, tabelas de dados e outras informaes que no devam ser alteradas durante a execuo dos programas). As memrias costumam ser fabricadas em componentes com uma certa capacidade, e diversos deles costumam ser utilizados para preencher o espao de armazenamento desejado, tanto para programas quanto para dados.
Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

11

Contudo h a necessidade se projetar circuitos chamados decodificadores de endereo, que geram a cada instante, o sinal requerido para o acionamento do dispositivo desejado, desabilitando os demais. Maiores detalhes em relao a memrias e esses circuitos sero apresentados em aulas futuras.

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

12

1.4. Entrada / Sada A comunicao entre a UCP e o mundo exterior (ou seja, usurios e outros dispositivos) realizada por meio das dispositivos de entrada/sada, que so responsveis pela comunicao do sistema com o meio externo, tais como teclado, monitor de vdeo, canal de comunicao serial, sinais digitais ou analgicos, etc. Atravs das unidades perifricas de entrada/sada, o sistema capaz de receber os dados e as informaes a serem processadas, bem como de emitir os resultados desse processamento. A seleo desses dispositivos requer circuitos semelhantes aos das memrias. Maiores detalhes em relao a entradas e sadas e esses circuitos sero apresentados em aulas futuras.

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

13

2. Arquitetura Interna de uma UCP


A UCP possui duas unidades bsicas: a Unidade de Processamento (UP), responsvel pelas manipulaes dos dados atravs de operaes lgicas e aritmticas, e a Unidade de Controle (UC), responsvel pela interpretao (chamada de decodificao) e execuo das instrues, fornecendo os sinais de temporizao adequados para as diversas partes da UCP e do sistema. A UC e UP so interligadas por vias internas, enquanto a UCP interligada memrias e aos dispositivos de entrada e sada pelas vias externas. A seguir so descritas a UC e a UP. A Figura 3 apresenta o diagrama simplificado da UCP 8080/8085, muito popular no final dos anos 70 e at metade dos anos 80. Tratou-se de uma arquitetura de sucesso, e at hoje existem componentes baseados nessa arquitetura, mas fabricados com outras tecnologias, e mais velozes.

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

14

UCP
INTERRUPES

UNIDADE DE PROCESSAMENTO

OSCILADOR

UNIDADE DE CONTROLE

ENDEREOS

D A D O S

CONTROLE

MEMRIA

ENTRADAS E SADAS

CONTROLADOR DE ACESSO DIRETO MEMRIA

DISPOSITIVOS EXTERNOS

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

15

INTR INTA RST RST RST TRAP 5.5 6.5 7.5

SID

SOD

Controle de Interrupo

Controle de E/S Serial

Via de Dados Interna (8 bits)

Acumulador Reg.Temp.

Reg. Instr. Flags


Decodificador Instruo / Codificador de Ciclo de Mquina

U L A
+5V Gnd

B C D E L H Stack Pointer Program Counter


Incr./Decr. Adr. Latch

X1 X2

Controle e Temporizao

Buffer Endereos

Buffer Dados/End.

CLK OUT RD WR S0 S1 Hold Resetin READY ALE IO/M HoldA Resetout

Via de Endereos

A8-15

Via de Dados

AD0-7

Suas principais caractersticas so: palavra de 8 bits; capacidade de endereamento de 64 Kbytes; instrues com 1, 2 ou 3 bytes, sendo o primeiro o cdigo da instruo; 5 linhas de interrupo; capacidade de implementao de acesso direto memria.

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

16

2.1. Unidade de Controle - UC Todos as funes de um microprocessador so controladas pela UC. Ela retira da memria (operao chamada de fetch), e faz a sua interpretao (ou decodificao), e a partir do momento em que a instruo identificada, so fornecidos os sinais de controle dos demais dispositivos requeridos sua execuo. 2.2. Unidade de Processamento - UP Esta parte do processador realiza todas as operaes lgicas e aritmticas, possuindo para tal um conjunto de circuitos conhecidos como Unidade Lgica e Aritmtica (ULA), e um conjunto de registradores de propsito geral, o acumulador e registradores especiais. 2.3. Organizao e Funcionamento Interno da UCP A organizao interna desta UCP apresenta como principais elementos: UP: Registradores de uso Geral: unidades de armazenamento local destinados a dados, endereos e instrues. Unidade Lgica-Aritmtica - ULA: circuito digital seqencial que permite a execuo de uma srie de operaes com os seus dados de entrada (operaes aritmticas e operaes lgicas); UC: Registradores de Controle: contador de programa, ponteiro da pilha, registrador de instrues.
Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

17

Decodificador de Instrues: mdulo com capacidade de interpretar o cdigo binrio de cada instruo, gerando os sinais internos e externos necessrios sua execuo; Controle: circuito digital responsvel pela gerao e recepo dos sinais de controle externos da UCP. Controle de Interrupo: mdulo destinado ao tratamento dos sinais de interrupo. A interligao desses mdulos efetuada por vias internas, constituindo um estrutura conhecida como Fluxo de Dados (data-flow), que um circuito que recebe dados de entrada externos, armazena-os, processa-os e transmite-os para as sadas. Sendo projetado para repetir a mesma operao (ou seja, executar comandos chamados de instrues) por um nmero indefinido de vezes, os sinais de controle do sistema se tornam peridicos. A esse intervalo de repetio d-se o nome de ciclo de mquina. Ao longo deste ciclo, os sinais de controle so gerados, por exemplo, alguns no comeo e alguns no meio. Todos eles so atrelados cadncia de um sinal de referncia de tempo chamado sinal de relgio (clock), gerado por um circuito oscilador. Atreladas a este sinal so efetuadas as transferncias de dados entre registradores, posies de entrada/sada, e gerao de sinais de controle, constituindo a chamada Mquina de Estados, cuja representao ser apresentada posteriormente.

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

18

TR ESE T

R ESE T

T 1

HAL T HO LD + INT .VAL R EADY R EAD Y + BIM C R EAD Y + BIM C HOL D

T 2

TW

THA L INT .VA L

HOL D = 1 N O

SIM FF HLD A =1 FF HLDA =1 FF HAL T = 0

T 3

M 1

T 4

CC = 6

HOL D = 1 N O

SIM FF HLDA =1

CC = 4 T 6 T 5

FF INT A = 1 FF INT E = 0

FF HLD A =1

SIM HOL D

NO

TH O HOL D

N O

LTIM O C ICL O DA INS T

FF HLDA = 1

SIM

N O

IN T.VAL = 1

HAL T = 1

SIM

SIM N O FF INT A =1 FF INT E =0

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

19

Sob o ponto de vista de projeto de circuitos, para a interligao da UCP aos demais dispositivos - memria e entradas/sadas - h a necessidade de se garantir o perfeito sincronismo entre todos os dispositivos, certificando-se que todos eles respondam aos comandos dentro dos intervalos de tempo desejados. So utilizados para tal os Diagramas de Tempo (timing) para representar o comportamento dos principais sinais de controle, e definio dos instantes de alterao das informaes presentes nas vias. Para que o sistema possa iniciar a sua operao sempre da mesma maneira, h a necessidade de se garantir um estado inicial para a mquina de estados. Para tal, a UCP deve receber sempre que a sua alimentao for fornecida um sinal denominado RESET, gerado por um circuito conhecido pelo nome de limpa-ao-ligar (que gera um pulso sempre que a fonte de alimentao for ligada, ou um boto especfico for pressionado). Os elementos de armazenamento da unidade de controle, responsveis pela gerao dos sinais de controle do sistema, recebem valores iniciais, o mesmo ocorrendo com alguns registradores, como por exemplo, o contador de programas (que em geral recebe valor zero, indicando que a primeira instruo do programa a deve ser colocada). Nem sempre possvel a utilizao de dispositivos de memria e entrada/sada com tempo de acesso to rpidos quanto aos tempos esperados pela UCP. Neste caso, pode-se efetuar a compatibilizao de tempos atravs de um sinal denominado READY, que enquanto ativado, faz com que a UCP aumente os seus tempos de acesso aos dispositivos externos. Nos microcomputadores este recurso bastante freqente, e conhecido pelo nome de wait-states, que consiste em se ampliar esse tempo de acesso de valores
Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

20

conhecidos, permitindo o uso de diversos tipos de dispositivos mais lentos que a UCP. A operao de todo este complexo subsistema est vinculada ao desenvolvimento por parte dos projetistas de alguma aplicao, da seqncia de ordens ou comandos (chamada de programa), que permitam a execuo de tarefas por parte do sistema. Cada ordem ou comando chamada de instruo, e seu agrupamento de conjunto de instrues. As instrues permitem que os elementos da UCP sejam utilizados, como por exemplo, os registradores, ou unidades de armazenamento local (tambm conhecidos como memria local), cada um destinado a uma finalidade especfica. Na UCP em questo, tem-se os seguintes registradores: Registrador de Instrues: armazena o cdigo da instruo retirada da memria, e que vai ser executada; Acumulador (ou Registrador A): principal registrador de dados (8 bits), sendo sempre fonte de um operando e destino dos resultados da maior parte das instrues lgicas e aritmticas; Registradores de Uso Geral: B, C, D, E, H, L; possuem 8 bits, e so usados tanto para a manipulao de dados, como para endereamento de posies de memria (nesse caso, so utilizados aos pares: B e C, D e E, H e L); Registrador de Estado (ou Flags): indica as caractersticas da ltima operao lgica ou aritmtica executada: se o resultado igual a zero, se houve vai-um ("carry"), se a paridade par ou mpar, e se o sinal do nmero positivo ou negativo. Essas informaes so utilizadas para a tomada de deciso nos programas (atravs de instrues de desvio condicional).
Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

21

Registradores de Uso Especfico: Contador do Programa: (Program Counter) um registrador que armazena o endereo do incio da prxima instruo na memria a ser executada. Aps a retirada da primeira parte do cdigo de uma instruo (em geral, o primeiro byte), o contador do programa incrementado, apontando para a parte seguinte, e assim sucessivamente at que todas as partes da instruo sejam retiradas (lidas) da memria, permitindo assim a sua execuo. Ao final desse processo, ele estar armazenando o endereo da prxima instruo a ser executada, repetindo-se posteriormente o processo descrito para ela. O valor do contador do programa pode mudar de forma no seqencial quando alguma instruo de desvio ou chamada de subrotina executada, sendo um novo endereo carregado neste registrador. Ponteiro da Pilha: (Stack Pointer) um registrador que armazena o endereo da ltima posio ocupada da pilha. A pilha uma estrutura do tipo LIFO (Last In First Out), sendo utilizada para armazenamento temporrio de dados de alguns dos registradores da UCP (operao conhecida como salvamento). Como exemplo mais comum pode-se citar o salvamento do endereo de retorno de uma subrotina ao programa que a chamou. Para muitos microprocessadores, quando um dado inserido na pilha, o Ponteiro da Pilha decrementado e quando um dado retirado da pilha, ele incrementado. Os registradores correspondem ao meio de armazenamento mais veloz disponvel em um computador; posteriormente
Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

22

tem-se a memria principal (mais lenta que os registradores) e a memria secundria (a mais lenta de todas). O uso eficiente dos registradores por parte dos programadores permite a elaborao de programas mais velozes. Todos as funes de um microprocessador so controladas pela UC. Ela retira da memria (operao chamada de fetch), e faz a sua interpretao (ou decodificao), e a partir do momento em que a instruo identificada, so fornecidos os sinais de controle dos demais dispositivos requeridos sua execuo. Seus principais circuitos so: Circuitos de Temporizao: os circuitos de temporizao permitem que a UCP opere em modo sncrono do processador, indicando os instantes em que cada etapa da execuo de uma instruo deve ocorrer. Em geral, o sinal de temporizao (chamado de clock) fornecido por um circuito oscilador a cristal associado a um circuito quadrador do sinal. Memria de Microprogramas: um tipo especial de memria de apenas leitura existente dentro do microprocessador que o auxilia a decodificar as instrues lidas, especificando uma srie de operaes controlam as unidades da UCP que devem ocorrer ao longo do tempo para a execuo de cada instruo. A UP realiza todas as operaes lgicas e aritmticas, possuindo para tal um conjunto de circuitos conhecidos como Unidade Lgica e Aritmtica (ULA), utilizada em conjunto com o conjunto de registradores de propsito geral.

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

23

2.4. A Execuo das Instrues Cada instruo tem para ela especificada uma atividade a realizar. O tempo requerido para a sua execuo denominado ciclo de instruo, constitudo pelas seguintes atividades: Busca (Fetch): leitura do cdigo da instruo da memria; Decodificao: interpretao desse cdigo; Execuo: realizao das atividades previstas para a instruo. O tempo associado ao ciclo de instruo depende das atividades previstas para cada uma delas. O ciclo de instruo constitudo por um ou mais ciclos de mquina, que correspondem a atividades elementares necessrias execuo de instrues, como por exemplo: busca do cdigo de uma instruo (ou seja, leitura de uma posio de memria) e sua interpretao; leitura de uma posio de memria; escrita em uma posio de memria; leitura de uma posio de entrada; escrita em uma posio de sada. Em diversos processadores procura-se caracterizar o estado - intervalo de tempo correspondente a um perodo de clock -, onde so desempenhadas algumas funes necessrias execuo de cada ciclo de mquina (por exemplo, a ativao ou a desativao de algum sinal externo, como o de leitura de memria, ou a amostragem de sinais de entrada, como o READY).
Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

24

Ciclos de Mquina do 8085A

Ciclo de Mquina
OPCODE FETCH MEMORY READ MEMORY WRITE I/O READ I/O WRITE INTR ACK BUS IDLE
.DAD .INA (RST 5.5, 6.5 e 7.5) e TRAP .HALT

IO/M

S1

S0

RD

WR INTA

OF MR MW IOR IO INA BI

0 0 0 1 1 1 0 1

1 1 0 1 0 1

1 0 1 0 1 1

0 0 1 0 1 1 1 1
TS

1 1 0 1 0 1 1 1
TS

1 1 1 1 1 0 1 1 1

1 0 1 1 0 0 TS Status

Controle

Posicionados no incio Posicionados no incio do ciclo de mquina. de T2 e retirados no de T3.


TS - Tri-State.

Ciclo de Instruo: pode ter 1, 2, 3, 4 ou 5 ciclos de mquina (M1, M2, M3, M4, M5). Ciclo de Mquina: pode ter 3, 4 ou 6 estados (T1, T2, T3, T4, T5, T6). Estado: perodo do clock de trabalho, cuja freqncia a metade do clock de entrada. M1: 4 ou 6 estados T. M2, M3, M4, M5: 3 estados T. Entre os estados T2 e T3 podem ser inseridos 1 ou mais wait-states (Tw).
Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

25

Ciclo da Instruo STA (viso geral) STA - Store Accumulador STA <end16> Mem ( end16 ) A Formato da instruo:
cdigo de operao -sig. end16 +sig. end16

Ciclo de Instruo
Ciclos de Mquina

M1

M2

M3

M4

M1

Estados T1 T2 T3 T4 T1 T2 T3 T1 T2 T3 T1 T2 T3 T1
Decodif.

Clock Tipo de Ciclo


Mem. Read
(fetch)

Mem. Read Mem. Read Mem. Write

Via de End. Via de Dados

PC
Aponta para o 1o byte da instruo.

(PC+1)

(PC+2)

(byte 3)(byte 2)

Aponta para o Aponta para o O endereo lido 2o byte da instr. 3o byte da instr. em M2 e M3. 1o byte do end. 2o byte do end. (byte menos (byte mais significativo) significativo)

Cdigo STA
Determina a seqncia de operaes dos demais estados do ciclo de instruo.

Acumulador

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

26

Ciclo da Instruo STA STA - Store Accumulador STA <end16> Mem ( end16 ) A Formato da instruo:
cdigo de operao -sig. end16 +sig. end16

Ciclo de Instruo
Ciclos de Mquina

M1

M2

M3

M4

M1

Estados T1 T2 T3 T4 T1 T2 T3 T1 T2 T3 T1 T2 T3 T1 CLK A8-15 AD0-7 ALE RD WR


PCH
OUT IN STA OUT
(PC+1)L

(PC+1)H
IN end OUT

(PC+2)H
IN end + OUT (end-)
(PC+2)L

(end+)
OUT Acumulador

PCL

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

27

Ciclo da Instruo DCX DCX - Decrement Register Pair DCX rp onde rp: BC, DE, HL ou SP. (rp) (rp) - 1 Formato da instruo:
cdigo de operao

Ciclo de Instruo
Ciclos de Mquina

M1
T1 T2 T3 T4 T5 T6

Estados CLK
IO/M,S0,S1

IO/M = 0 ,
PCH
OUT IN DCX reg

S1 = 1 ,

S0 = 1
Indeterminado

A8-A15
AD0-AD15

PCL

ALE RD

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

28

Ciclo da Instruo DCX com Wait-State DCX - Decrement Register Pair DCX rp onde rp: BC, DE, HL ou SP. (rp) (rp) - 1 Formato da instruo:
cdigo de operao

Ciclo de Instruo
Ciclos de Mquina

M1
T1 T2 TWAIT T3 T4 T5 T6

Estados CLK
IO/M,S0,S1

IO/M = 0 ,
PCH
OUT IN

S1 = 1 ,

S0 = 1
Indeterminado

A8-A15
AD0-AD15
PCL

DCX reg

ALE RD READY

Insere um nmero inteiro de wait-states

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo

Laboratrio de Processadores I

29

Ciclo da Instruo OUT OUT - Output OUT endp8 Porta ( endp8 ) A Formato da instruo:
cdigo de operao endp8

Ciclo de Instruo
Ciclos de Mquina

M1

M2

M3

M1

Estados CLK A8-A15

T1 T2 T3 T4 T1 T2 T3 T1 T2 T3 T1

PCH
OUT IN
DADO da Mem

(PC+1)H
OUT (PC+1) IN
DADO da Mem

IO PORT
OUT IO PORT OUT Acumulador

AD0-AD15

PCL

ALE RD WR IO/M Status


FETCH READ WRITE

Departamento de Engenharia de Computao e Sistemas Digitais Escola Politcnica da Universidade de So Paulo