Você está na página 1de 24

Escola Superior de Ciências Náuticas

Departamento de Rádio

Engenharia Electrónica e Telecomunicações

Aplicações a Microprocessadores II

3Rb

Tema:
Microprocessador 68000
Discente:

 Ailton Cumbe
 Didier Juma
 Jessica Magaia
 Solange Muyamga
 Uaiene Firmino

Docente:

Eng. Elso Guilengue

Maputo, Janeiro de 2022


ÍNDICE
1. Introdução...........................................................................................................................................1
2. Objectivos............................................................................................................................................2
2.1. Geral............................................................................................................................................2
2.2. Específicos...................................................................................................................................2
3. Historial...............................................................................................................................................2
4. Microprocessador 68000.....................................................................................................................3
5. Arquitetura do MP 68000....................................................................................................................4
5.1. Níveis de Interrupções.................................................................................................................5
6. Modos de endereçamentos do microprocessador 68000...................................................................6
6.1. Modo de endereçamento inerente ou implícito..........................................................................7
6.2. Modo de endereçamento absoluto.............................................................................................7
6.3. Modo de endereçamento curto absoluto....................................................................................7
6.4. Modo de endereçamento longo absoluto...................................................................................8
6.5. Modo de endereçamento directo................................................................................................8
6.6. Modo de endereçamento de registo indireto..............................................................................8
6.6.1. Registo de endereço indirecto.............................................................................................8
6.6.2. Endereço com pós-incremento............................................................................................9
6.6.3. Endereço com pré-decréscimo............................................................................................9
6.6.4. Registo de endereço indirecto com offset...........................................................................9
6.6.5. Registo de endereço indirecto com deslocamento (offset ) e index....................................9
Interface Para 68000 E Dispositivos Periféricos.........................................................................................11
6.7. Interface Síncrona......................................................................................................................12
7. Interface Usando O Pia 6821.............................................................................................................14
8. Exemplo de programas......................................................................................................................18
9. Conclusão..........................................................................................................................................19
10. Bibliografia.....................................................................................................................................20

i
1. INTRODUÇÃO
No presente trabalho da cadira Aplicações a Microprocessadores fala da arquitetura interna do
microprocessador 68000, explicando a função dos seus registo e estados de forma saber o seu
comportamento, também serão abordados os seis principais modos de endereçamentos no qual
opera o microprocessador 68000, bem como a tabela de verdade e por fim falar-se-á das
interfaces do microprocessador 68000, onde será destacada a interface síncrona e assíncrona,
bem como o interface do PIA.

1
2. OBJECTIVOS

2.1. Geral
 Estudar o Microprocessador 68000

2.2. Específicos
 Descrever a sua arquitetura interna ;
 Descrever a
 Explicar a sua interface de entrada e saída de dados.

2
3. HISTORIAL
O microprocessador 68000 foi lançado em 1979 , sendo o primeiro microprocessador de 16bits.Esteera
praticamente hibrido , pois era composto por barramento de dados de 16 bits mas podia realizar
cálculos de 32 bits internamente.

A sua versão completamente de 32 bits foi lancada em 1984, o Motorola 68020. O 68000 foi usado em
computadores domésticos e pessoais como o Apple Lisa e o Macintoch ,tornando-se obsoleto em
computadores devido aos avanços tecnológicos.

O 68000 foi usado como processador central em placas árcade entre as décadas de 1980 a 1990 como as
placas de Sega System 16 e Capcom.

3
4. MICROPROCESSADOR 68000
Diagrama de pinos e algumas características

 Registros de dados e de endereços de 32-bits


 Barramento de dados de 16-bits
 56 instruções
 Entradas e saídas mapeadas na memória
 Contador de programa (PC)
 Barramento de endereços de 24-bits
 14 Modosde endereçamento
 Transferência de dados síncrona e assíncrona
 Velocidade do clock de 4MHz até 12.5MHz
 5 tipos principais de dados
 7 níveis de interrupção

4
5. ARQUITETURA DO MP 68000
O microprocessador 68000 é composto pelas seguintes unidades:

 ALU;
 Contador de programa (PC)
 Memória de registo;
 Apontador de pilha;
 Registo de Instruções;
 Registo de código de condição (Flag)
 Controle do Sinal;
 Unidade de controlo;

Figura 1- Arquitetura Interna de Microprocessador Simples. (D., 2005)

5
A arquitetura do registro do CPU 68000 consiste em oito registros de dados, nove registros de
endereços, um contador de programa e um registro de estado.

Figura 2- Modelo do 68000. (D., 2005)

5.1. Níveis de Interrupções


Os 7 níveis de níveis de interrupções que o 68000 dispõe apresentam estão priorizados em ordem
decrescente , sendo o nível 7 tem maior prioridade e o nível 1 menor prioridade , a logica
presente nas 3 linhas determina o nível de uma determinada interrupção .O byte de registo de
estado superior é o byte do sistema e inferior e chamado de byte de usuário.

O registo de estado do 68000 tem 16 bits, que são os dois bytes de comprimento Byte de Registo e
estado.

Operando no modo de usuário, só pode-se acessar o usuário do registo de estado. O byte de


estado do usuário consiste em cinco sinalizadores de código de condição: C, V, Z, N e X.

O flag X é usado em operações aritméticas de multiprecisão. As operações que afetam este


sinalizador inclui adicionar, subtrair , mudar girar, negar.

6
O byte de estado do sistema só pode ser acessado e alterado no modo supervisor. Este byte de
estado contém informações de controlo relacionadas ao sistema. Tem três bits de máscara de
interrupção (L2,L1 e Lo) que são usados para definir os niveis de interrupção que serão
mascarados e os que não serão . um bit de seleção de modo de usuário / supervisor e um bit de
seleção de modo de rastreamento.

O modo de usuário fornece o ambiente de execução para a maioria dos programas de aplicação.
O modo supervisor, que permite algumas instruções adicionais e privilégios ,semelhante ao root
em sistemas android, é usado pelo sistema operacional e outros softwares do sistema.

Figura 3- Níveis de Interrupções

Se a máscara de prioridade de interrupção for, pode-se determinar que os níveis de interrupção 6


e 7 não serão mascarados e serão aceitos quando presentes nas linhas de controlo de interrupção
do M68000. O nível de interrupção 7 nunca pode ser mascarado pois interrupção 7 é um caso
especial.

6. MODOS DE ENDEREÇAMENTOS DO MICROPROCESSADOR 68000


Modo de endereçamento é o método pelo qual uma instrução endereça o seu operando.

O microprocessador 68000 dispõe de 14modos de endereçamentos organizados em 6categorias


principias que são:

 Modo de endereçamento inerente ou implícito;

7
 Modo de endereçamento imediato;
 Modo de endereçamento absoluto;
 Modo de endereçamento de registo direto;
 Modo de endereçamento de contador de programa relativo;
 Modo de endereçamento de registo indireto.

6.1. Modo de endereçamento inerente ou implícito


Nesta operação não se precisa de argumentos. Por exemplo, quando usamos o retorno da sub-
rotina ou RTS, esta instrução se refere ao apontador da pilha de forma implícita , e não e
necessária nenhuma informação adicional ,o mesmo acontece ao usar a função Halt.

Sendo que o M68000 é um processador de 16 bits, é importante perceber que o M68000 usa
memória de tamanho de byte. Neste caso, existem palavras dentro da instrução a instrução irá
ocupar o dobro dos locais de memória.

6.2. Modo de endereçamento absoluto


O endereçamento absoluto com o M68000 se assemelha ao modo de endereçamento estendido e
ao modo direto do M6800. Existem duas formas para o endereçamento absoluto no M68000:
onde temos o modo de endereçamento curto absoluto e o modo de endereçamento longo e
absoluto.

6.3. Modo de endereçamento curto absoluto


Neste modo de endereçamento, uma palavra de endereço segue o código de instruções como
ilustrado na figura. Apesar da sus semelhança com o modo de endereçamento do 6800 ele
presenta limitações, pois este só opera na faixa de 0000 até FFFF sendo que este se encontra
numa extensão de endereço de 000000 até FFFFFF , fazendo com que este modo não possa ver
maior que 16 bits..

8
Figura 4- Modo de Endereçamento curto absoluto.

6.4. Modo de endereçamento longo absoluto


Sendo representado em Hexadecimal , pode ser especificado usando o símbolo ($). O
código de operação determina o tamanho máximo
..

Figura 5- Modo de endereçamento longo absoluto.

6.5. Modo de endereçamento directo


No modo endereçamento directo de dados o operando está localizado em um dos 8 registos de
dados do 68000. Ao em vez de estar na memória, o operando está contido em um dos registos
internos do M68000.

6.6. Modo de endereçamento de registo indireto


Está dividido nas seguintes sub categorias que são:

6.6.1. Registo de endereço indirecto


Neste modo de endereçamento um dos registros de endereços do M68000 acessa de forma
indireta um operando localizado na memória. E o código de instruções indica o registo de
endereço eu será usado na operação. O registo de endereço especificado aponta para o operando
localizado na memória.

9
Figura 6- Registo de endereçamento indireto.

6.6.2. Endereço com pós-incremento


O endereço efetivo do operando está contido no registro de endereço especificado como
anteriormente. No entanto, após a execução da operação de instruções, o respectivo registro de
endereço é automaticamente incrementado em 1, 2 ou 4. A quantidade de incremento depende do
tamanho do operando. na figura abaixo. Salientar que, tanto o tamanho do operando quanto o
registo de endereço a ser usado são especificados pelas instruções. Por conseguinte, as instruções
que usam este modo de endereçamento são apenas uma palavra de comprimento.

Tal como anteriormente, o registo de endereço especificado contém o endereço efectivo , mas o
registo de endereço e automaticamente incrementado em 1 , ou 4 unidades após a execução da
instrução , o tamanho do operando ira determinar o número de incrementos. Sendo assim, um
operando de 32 bits causa incrementos de 4 unidades, um operando de 16 bits causa incremento
de 2 , e Um operando de 8 bits fará com que o respectivo registro de endereços seja
incrementado de 1 unidade.

6.6.3. Endereço com pré-decréscimo


Neste modo o processo e similar ao anterior, onde o tamanho do operando determina a
quantidade do decremento, sendo o registo de endereço especificado decrementado antes da
operação ser executada.

10
6.6.4. Registo de endereço indirecto com offset
Este modo de endereçamento é semelhante ao modo de endereçamento indexado usado no
Motorola 6800, tirando o facto de que que um dos registros de endereço do M68000 é usado
como o registro do ponteiro.

6.6.5. Registo de endereço indirecto com deslocamento (offset ) e index


Neste modo o M68000 adiciona um deslocamento de 8 bits do conteúdo de um registo de índice
para o endereço especificado para formar o endereço efetivo do operando. A palavra que segue o
código de instruções é dividida em um byte de deslocamento e um byte de índice. O byte de
deslocamento é o byte baixo que contém o valor de deslocamento assinado a bit para ser usado
no cálculo do endereço efetivo e o byte de índice é o byte alto que especifica qual dos registros
de dados ou endereços do M68000 deve ser usado como o registo de índice no cálculo do
endereço efetivo.

11
Figura 7- Tabelas de Instruções

12
Figura 8- Tabelas de Tipo de Variações de Instruções

INTERFACE PARA 68000 E DISPOSITIVOS PERIFÉRICOS


O M68000 é suportado por todos os dispositivos periféricos da família M68000:

 MC6821 Adaptador de Interface Periférico (PIA)


 MC6840 Módulo do Temporizador Programável
 MC6840 Adaptador de Interface de Comunicação Assíncrona
 MC6854 Adaptador de Dados Síncronos Seriais

O M68000 pode interagir com dispositivos periféricos usando o controlo de barramento por
interface síncrona e interface assíncrona.

13
6.7. Interface Síncrona
Os endereços de memórias ímpares são conectados às linhas de dados D0-D7 e os endereços de
memória pares são conectados às linhas de dados D8-D15. As linhas de controle LDS e UDS são
usados para aceder os endereços impar e par.

O Motorola 68000 e compatível com qualquer dispositivo periférico de 8 bits da família 68000,
pois este usa memória mapeada E/S, usando o esquema de endereço impar/par. Assim um
dispositivo periférico de 8 bits será atribuído a endereços ímpares ou endereços pares
consecutivos. Para transferir dados de 8 bits para o 68000 nas linhas de dados D0-D7 ou D8-D15
em um único dispositivo. Para transferir dados de 16 bits para 68000 nas linhas de dados D0-
D15 são necessários dois dispositivos de 8 bits cada ativados simultaneamente.

Figura 9- Interface de endereços impar/par com 68000

14
O M68000 suporta uma conexão de até 16Mega bytes usando suas 23 linhas de endereço e
interface de endereço impar/par. Pode-se dividir o espaço do endereço do 68000 em 4 blocos de
16 Mega Bytes usando as linhas de código e um descodificador

Podemos fornecer ao 68000 ate 64 Mega bytes habilitando cada um dos 4 blocos de memoria de
16Mb de forma independente usando os sinais de saída do código de função.

Figura 10- Divisão do espaço dos endereços do 68000 usando função de código de linha.

15
Figura 11- Simples descodificador 1-de-8

7. INTERFACE USANDO O PIA 6821


Interface síncrona usando o PIA de 8 bits

Figura 12- Interface síncrona de 8 bits do 68000 com o PIA.

16
Uma vez selecionado, o PIA é usado para transferir dados de 8 bits nas linhas de dados D0-D7
ou D8-D15.Para fazer uma transferência de dados de 16 bits podemos conectar dois PIAs ao
M68000 como mostrado nas Figuras abaixo.

Figura 13- Interface de 16 bits de entrada usando dois PIAs.

17
Figura 14- Interface de 16 bits de saída com dois PIAs.

Nos dois casos precisamos de dois PIA’s ativados simultaneamente para estabelecer a conexão,
sendo um deles o PIA de byte menos significativo, onde byte de dados menos significativos é
transferido através do byte menos significativo do PIA nas linhas de dados D0-D7;

E o PIA de byte mais significativo, onde byte mais significativo de dados é transferido através do
byte mais significativo do PIA nas linhas de dados D8-D15.

O controlo total do handshake da operação de transferência de dados pode ser realizado usando
qualquer linha de controlo dos dois portos.

Uma vez que os dois PIA’s nos fornecem 4 portos pode-se fornecer uma interface de entrada e
uma interface de saída, ambas de 16 bits, onde os portos A dos PIA’s fornecem a interface de
entrada de 16 bits e os portos B dos dois PIA’s fornecem a interface de saída

18
Figura 15- Combinação de interfaces de entrada e saída.

19
8. EXEMPLO DE PROGRAMAS

Abaixo temos exemplos de secções de programas para demonstrar a sintaxe de um programa em


ASSEMBLY quando executado sobre o m68k

Exemplo 1:

LEA $4000, A0 ;carregar endereço 4000 no A0


ADD D3, D4 ;adicionar o que está no D3 ao D4
MOVE.W #$ABCD, -(A6) ;mover o valor em palavra indirectamente ao A6 depois decrementar o endereço
SUBI.W #4, D6 ;subtrair 4 do D6

Exemplo 2:

ADD D0, D1 ;adicionar o conteúdo em bytes do d0 no d1


ADDI.W #$AABB, D2 ;adicionar palavra imediata no d2

MULU #16, D4 ;multiplicar d4 por 16

NOT.L D6 ;complementar bits binários em palavra longa do d6

LSR.B #16, (A0) ;mover os bits do operando apontado pelo A0 16 bits para direita
DIVU #2, D5 ;dividir d5 por 2

SUBQ #4, A3 ;decrementar a3 em 4

20
9. CONCLUSÃO
O microprocessador 68000 possui de seis modos de endereçamentos principais que são: modo de
endereçamento inerente ou implícito, modo de endereçamento imediato, modo de endereçamento
absoluto, modo de endereçamento de registo direto, modo de endereçamento de contador de
programa relativo, modo de endereçamento de registo indireto.

21
10. BIBLIOGRAFIA
http://www.nxp.com/docs/en/reference-manual/MC68000UM.pdf

D., P. (2005). Indrotuction to M68000.

Engels, S. (2006). CPU Architectures Motorola 68000 M68000 Data. Fonte:


http://www.cs.utoronto.ca/~sengels/csc258/lectures/M68k_4up.pdf

Motorola. (Abril de 1983). MC68000 16-bit Microprocessor. Fonte: http://bitsavers.informatik.uni-


stuttgart.de/pdf/motorola/68000/68000_16-Bit_Microprocessor_Apr83.pdf

Skinner, T. (1988). Assembly Language Programming For The 68000 Family. Nova Iorque: Stephen
Kippur.

22

Você também pode gostar