Vous êtes sur la page 1sur 63

Grupo: Alex Castilio dos Santos Debora Algamis Jansen Flavia dos Santos Silva Mathyan Motta Beppu

14 de Outubro de 2010

Z80
O microprocessador Z 80 um processador de 8 bits

com barramento de endereos de 16 bits capaz de enderear diretamente 64K

Arquitetura
Decodificador de Instrues Controle da CPU

Registrador de Instrues

Sinais de Controle do Sistema

Sinais de Controle

Controle do Bus de Dados


ULA
Bus de Dados (8

Registrador da CPU

Controle de Endereo

Bus de Endereos (16 bits)

Registradores

Registradores
Os registradores B, C, D, E, H, e L so registradores de

8 bits de uso geral que podem ser usados em operaes de 8 bits. Estes registradores podem ser combinados em pares para formar registradores de 16 bits : BC, DE, e HL, que podem ser usados em operaes de 16 bits ou ponteiros para endereos.

ULA Funes realizadas:


Subtrao Adio Setar Bit Testar Bit Incrementar Decrementar Lgica E Lgica OU Lgica OU EXCLUSIVO Deslocamento esquerda,

direita e rotaes Resetar Bit

Comparao

Registradores Gerais
Acumulador;
Registradores de Flags; Stack Pointer (SP);

Contador de Programa (PC);


Registradores Indexados (IX e IY); Registrador de Interrupo de Endereo Paginado (I); Registrador de Refresh Memria (R).

Acumuladores
A CPU contm 2 acumuladores (8 bits cada) e

registradores associados a eles; Executa operaes aritmticas com 8 bits e guarda o resultado.

Registradores de Flags
Indica condies especficas para operaes com 8 ou

16 bits.

Stack Pointer (SP)


Registrador de 16 bits;
Ponteiro de Pilha; Guarda o endereo do prximo endereo vago na pilha

(LIFO).

Contador de Programa (PC)


Formado por um registrador de 16 bits;
Registrador mantm o endereo da instruo que est

sendo buscada na memria; Aps a transferncia para as linhas de endereo , o PC incrementado de uma unidade.

Registradores Indexados (IX e IY)


Os dois so independentes;
Endereo base de 16 bits; Aponta uma regio especfica da memria, onde o

dado ser armazenado ou retirado.

Registrador de Interrupo de Endereo Paginado (I)


Armazena os 8 bits mais significativos do endereo ou

do dado; Dispositivos que provocou a interrupo fornece os 8 bits menos significativos; Permite que rotinas de interrupo sejam dinamicamente carregadas em qualquer lugar na memria.

Registrador de Refresh Memria (R)


As informaes so guardadas na memria em forma

de capacitncia que desaparecem com o tempo; Registrador contm 8 bits mas so usados apenas 7; O dado contido em R enviado para a memria, atravs dos 7 bits menos significativos.

Endereamento
Endereo de um dado: Lugar fsico onde se localiza o

mesmo; Consiste em colocar-se no ADDRESS BUS (via de endereos) o respectivo endereo onde se localiza o dado.

Modos de Endereamento

Endereamento Imediato; Endereamento por Registrador; Endereamento Imediato Estendido; Endereamento Indireto por Registrador; Endereamento Relativo; Endereamento Modificado Paginado Zero; Endereamento Implcito; Endereamento Indexado; Endereamento Estendido; Endereamento de BIT.

Endereamento Imediato
formado pelo cdigo de operao e um BYTE

imediatamente a seguir que contem a informao que ser manipulada.

Endereamento por Registrador


Movimento de dado ocorre internamente, ou seja, a

troca de informao ocorrer somente no registrador.

Endereamento Imediato Estendido


formado pelo cdigo de operao e mais dois BYTES

subsequentes;
O primeiro BYTE carregado na parte menos

significativa do registrador (LOW-ORDER); O segundo BYTE carregado na parte mais significativa do registrador (HIGH-ORDER);

Objetivo: carregar pares de registradores.

Ex.: BC, DE, HL, SP.

Endereamento Indireto por Registrador


Utiliza pares de registradores para indicar onde o dado

se encontra.

Endereamento Relativo
formado por dois BYTES; Primeiro BYTE representa o cdigo de operao; Segundo BYTE representa o endereo relativo.

Endereamento Modificado Paginado Zero


formado por apenas um BYTE, que o cdigo de

operao.

Endereamento Implcito
Ocorre automaticamente na execuo das instrues.

Endereamento Indexado
Este tipo de endereamento possvel pois o Z-80

possui dois registradores de 16 BITS cada um; formado por 3 BYTES, nos quais 2 formam o cdigo de operao e 1 contm o dado de deslocao; Similar ao endereamento indireto por registrador.

Endereamento Estendido
formado pelo cdigo de operao e mais 2 BYTES

subsequentes, que guardam o endereo do dado; O endereo est contido na instruo.

Endereamento de BIT
formado por 2 BYTES: Primeiro: cdigo de operao; Segundo apresenta-se dividido em trs partes: 8 e 7 BITS fixos; 6, 5 e 4 BIT definem o BIT a ser manipulado e os restantes. Objetivo: setar, resetar e testar qualquer BIT.

Entrada e sada de perifricos


O Z80 se comunica com os perifricos atravs de um

sistema de interface que conecta o barramento de dados e a CPU; Existem dois principais componentes nesse sistema: O Contador/Marcador de tempo e a Interface Paralela dos dispositivos I/O (PIO).

Circuito Contador/Marcador de tempo


Elemento que realiza etapas de sincronizao entre

CPU e perifricos; Programado pela CPU; Possui quatro canais independentes, que podem ser selecionados para operar no modo contador (Counter mode) ou no marcador de tempo (Timer mode).

Arquitetura interna do CTC

Arquitetura interna do canal

CTC Modos de Operao


TIMER MODE No modo marcador de tempo, o CTC tem por funo gerar sinais cujo perodo de tempo um nmero inteiro dos perodos de clock do sistema. Funciona como um medidor de intervalos de tempo.

CTC Modos de Operao


COUNTER MODE Quando o contador de decremento (DOWN COUNTER) atingir o zero, teremos um pulso de nvel alto na sada.

Interface Paralela dos Dispositivos de E/S - PIO


PARALELA - todos os bits de dados so transmitidos

ao mesmo tempo atravs do bus de dados; Controle de interrupo; Possui dois portos totalmente independentes, com 8 linhas bidirecionais cada um, para interface entre CPU e Perifrico.

Controle de transferncia d dados com linhas

HANDSHAKE. Possui uma lgica de interrupo interligada (DAYSY CHAIN), onde os dispositivos so colocados em srie de acordo com sua prioridade.

Arquitetura interna do Porto

PIO Arquitetura Interna

Modos de Operao
Modo 0- byte de sada

Modo 1- byte de entrada


Modo 2- byte bidirecional

Modo 3- bit de controle

Instrues
Definio

Uma ordem dada para executar uma certa tarefa. No microprocessador Uma instruo representa ler ou escrever em memria, fazer operaes aritmticas e lgicas e etc. Instrues X capacidade - 158 tipos(com as subdivises:692 instrues)

Maneiras de se representar uma instruo


Linguagem de mquina

Ex: (7DH) ou (01111101)


Mnemnicos

Ex: (LD C,H) - Carregar o registrador C com o contedo do registrador H

Instrues envolvidas por parnteses


Representam uma posio de memria, endereada pelo contedo do registrador envolvido pelos parnteses.
Ex: ADC A,(HL)

Grupos de Instrues

Carga de 8 bits; Carga de 16 bits; Intercmbio, Transferncia em blocos e Pesquisa; Aritmticas para finalidades gerais e de Controle da CPU; Aritmticas de 16 bits; Rotao e Deslocamento; Posicionamento, Reposicionamento e Teste de bits; Salto; Chamada e Retorno; Entrada e Sada.

Grupo de carga de 8 bits


Carrega/Armazena um valor de 8 bits em um

registrador da CPU a partir de outro registrador da CPU ou de um valor imediato na instruo ou de uma localizao da memria; Carrega/Armazena um valor de 8 bits de um registrador da CPU ou de um valor imediato para um registrador da CPU ou uma localizao da memria.

Grupo de carga de 8 bits


Mnemnico:

LD

Grupo de carga de 16 bits


Carrega qualquer par de registradores BC, DE, HL ou

SP ou IX, IY com uma instruo imediata ampliada; Carrega uma localizao da memria (e a seguinte) com o valor de um dos pares de registradores; Carrega SP com os contedos de HL, IX ou IY; Insere/Retira (Push/Pop) os valores dos registradores BC, DE, HL ou AF na pilha de execuo (SP).

Grupo de carga de 16 bits


Mnemnicos:

LD, PUSH, POP

Grupo de Intercmbio, Transferncia de blocos e Pesquisa


Intercmbio: Permite a troca de dados de 16 bits entre

pares de registradores no mesmo conjunto de registradores e entre 2 conjuntos de registradores, e tambm de HL, IX ou IY com o topo de pilha atual (SP); Transferncia de blocos: Transfere um bloco de dados de um lugar na memria para o outro usando BC, DE e HL; Pesquisa: Verifica de uma posio de memria inicial at uma posio final se existe um byte armazenado igual ao byte que se est procurando.

Grupo de Intercmbio, Transferncia de blocos e Pesquisa


Mnemnicos:

EX, EXX, LDI, LDIR, LDD, LDDR, CPI, CPIR, CPD, CPDR

Grupo Aritmtico e Lgico de 8 bits


Instrues para somar, subtrair, combinar logicamente

usando E, OU, OU Exclusivo ou comparar 2 operandos de 8 bits (um dos quais no registrador A).

Grupo Aritmtico e Lgico de 8 bits


Mnemnicos:

ADD, SUB, SBC, AND, OR, XOR, CP, INC, DEC

Grupo aritmtico para finalidades gerais e de controle da CPU


Instrues de endereamento implcito que envolvem

um operando ou nenhum.

Grupo aritmtico para finalidades gerais e de controle da CPU


Mnemnicos:

DAA, CPL, NEG, CCF, SCF, NOP, HALT, DI, EI, IM

Grupo aritmtico de 16 bits


Operam sobre valores de 16 bits ou de dupla preciso

nos pares de registradores BC, DE ou HL ou nos registradores IX, IY ou SP.

Grupo aritmtico de 16 bits


Mnemnicos:

ADD, ADC, SBC, INC, DEC

Grupo de Rotao e Deslocamento


Realizam a rotao dos registradores A, B, C, D, E, H

ou L ou um operando da memria.

Grupo de Rotao e Deslocamento


Mnemnicos:

RLCA, RLA, RRCA, RRA, RLC, RL, RRS, RR, SLA, SRA, SRL, RLD, RRD

Grupo de Posicionamento e Teste de bits


Instrues que ligam, desligam ou testam um dos bits

de um registrador da CPU (A, B, C, D, E, H ou L) ou de um operando da memria.

Grupo de Posicionamento e Teste de bits


Mnemnicos:

BIT, SET, RES

Grupo de Salto
Instrues de Saltos: Transferncia para outra localizao

na memria e no conservam o contedo do contador de programa (CP) para marcar onde ocorreu o salto; Instrues de Chamadas: Mesma ao que o salto exceto pelo fato de conservar o CP na pilha de memria para que possa se fazer um retorno instruo que se segue a chamada; Instrues de Retorno: Transferncia de volta instruo que se segue chamada, remontando a pilha e devolvendo o contedo do topo da pilha ao contador de programa.

Grupo de Salto
Mnemnicos:

JP, JR, DJNZ, CALL, RET, RETI, RETN, RST

Grupo de Entrada e Sada


Instrues que permitem a transferncia de maneira

automtica ou semi-automtica de dados de 8 bits para os registradores da CPU (A, B, C, D, E, H ou L) ou a partir destes; Instrues que permitem a transferncias de blocos como as do Grupo de Transferncia de Blocos.

Grupo de Entrada e Sada


Mnemnicos:

IN, INIR, IND, INDR, OUT, OUTI, OTIR, OUTD, OTDR

Bibliografia
Z-80 Hardware- CYPRIANO, Luiz Benedito.
Z-80 Software- CYPRIANO, Luiz Benedito. Manual do microprocessador Z80 -

BARDEN JR,William http://www.z80.info/

Obrigado pela ateno! Dvidas?

Vous aimerez peut-être aussi