Top Banner

Click here to load reader

l Processamento de Exceção - · PDF fileCapítulo 6 - Processamento de Exceção l Processamento de Exceção - conceitos mO termo...

Dec 13, 2018

ReportDownload

Documents

vancong

EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 251____________________________________________________________________________

____________________________________________________________________________Captulo 6 - Processamento de Exceo

l Processamento de Exceo - conceitos

m O processamento de exceo est associado ocorrncia de condies excepcionais que fogem ou modificam o processamento normal de instrues, como, por exemplo: interrupo, reset, instrues ilegais, instrues TRAP, erro de endereamento (acesso a word e long wordem endereo mpar).

m O processamento de exceo est associado tanto a eventos internos como a eventos externos ao processador.

n Exemplos de eventos externos so: Reset, Erro de Barramento (bus error) e Interrupo.

n Exemplos de eventos internos: Erro de Endereamento, Execuo Passo-a-Passo (Trace), execuo de Instruo Ilegal ou para Emulao, Violao de Privilgio, execuo de instruo TRAP, TRAPV ou CHK, e tentativa de Diviso por Zero (DIVS, DIVU).

EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 252____________________________________________________________________________

____________________________________________________________________________Captulo 6 - Processamento de Exceo

l Processamento de Exceo - conceitos

m As excees do MC6800 so classificadas em 3 grupos distintos, dependendo do instante em que a mesma atendida pelo processador.

GRUPO EXCEO PROCESSAMENTO

0RESET

ERRO DE BARRAMENTOERRO DE ENDEREAMENTO

Processamento de exceocomea assim que o evento

for reconhecido

1TRACE

INTERRUPOINSTRUO ILEGAL

VIOLAO DE PRIVILGIO

Processamento de exceocomea antes do incio da

prxima instruo

2TRAP, TRAPV

CHKDIVISO POR ZERO

Processamento de exceo disparado pela

execuo da instruo

EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 253____________________________________________________________________________

____________________________________________________________________________Captulo 6 - Processamento de Exceo

l Processamento de Exceo - conceitos

m Excees do MC6800

EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 254____________________________________________________________________________

____________________________________________________________________________Captulo 6 - Processamento de Exceo

l Processamento de Exceo - conceitos

m O mecanismo geral de processamento de uma exceo pode ser descrito pelo seguintes passos:

1) feita uma cpia temporria do SR. O contedo de SR alterado:

n bit S 1 (processador passa para o modo supervisor)

n bit T 0 (execuo passo-a-passo inibida)

n No caso de interrupo, a mscara tambm alterada.

2) O nmero do vetor de exceo determinado.

3) O contexto (na maioria dos casos SR e PC) do processador salvo na pilha do supervisor (A7 apontador de pilha)

4) feito um desvio para o endereo definido pelo vetor de exceo.

OBS.: Detalhes deste mecanismo geral podem variar conforme a exceo.

EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 255____________________________________________________________________________

____________________________________________________________________________Captulo 6 - Processamento de Exceo

l Processamento de Exceo - conceitos

m Registrador de Estado SR

m Diagrama de Estado - transio entre estado supervisor/usurio

EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 256____________________________________________________________________________

____________________________________________________________________________Captulo 6 - Processamento de Exceo

l Processamento de Exceo - conceitos

m Cdigos de Funo FC2* FC1 FC0*

EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 257____________________________________________________________________________

____________________________________________________________________________Captulo 6 - Processamento de Exceo

l Processamento de Exceo - conceitos

m Protegendo a memria com os cdigos de funo FC2* FC1* FC0*

EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 258____________________________________________________________________________

____________________________________________________________________________Captulo 6 - Processamento de Exceo

l Processamento de Exceo - conceitos

m Tabela de Vetores de Exceo

No. Endereo Atribuio0 $000 Reset: SSP inicial1 $004 Reset: PC inicial2 $008 Erro no Barramento3 $00C Erro de Endereamento4 $010 Instruo Ilegal5 $014 Diviso por Zero6 $018 Instruo CHK7 $01C Instruo TRAPV8 $020 Violao de Privilgio9 $024 Trace10 $028 Emulao 101011 $02C Emulao 111112 $030 Reservado13 $034 Reservado14 $38 Reservado15 $03C Interrupo No-Inicializada

16-23 $040-$05F Reservado24 $060 Interrupo Espria25 $064 Interrupo 1: Auto-vetor26 $068 Interrupo 2: Auto-vetor27 $06C Interrupo 3: Auto-vetor28 $070 Interrupo 4: Auto-vetor29 $074 Interrupo 5: Auto-vetor30 $078 Interrupo 6: Auto-vetor31 $07C Interrupo 7: Auto-vetor

32-47 $080-$0BF Instrues TRAP48-63 $0C0-$0FF Reservado64-255 $100-$3FF Vetores de Interrupo do Usurio

EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 259____________________________________________________________________________

____________________________________________________________________________Captulo 6 - Processamento de Exceo

l Processamento de Exceo - conceitos

m O Reset ocasionado fisicamente forando-se as entradas reset (pino 20) e halt (pino 19) do MC68000 simultaneamente para 0. O processamento associado ao reset , em geral, reservado para a inicializao do sistema e recuperao de falhas graves no sistema. O processamento interrompido por um reset abortado, no existindo forma de retom-lo.

m Um Erro de Barramento (Bus Error) (por exemplo acesso a posio de memriainexistente) sinalizado por circuito externo ao processador atravs de seu pino 24 - BERR*.

m Um Erro de Endereamento (Address Error) ocorre quando da tentativa de se ter acesso a uma word ou long word residente em endereo mpar.

EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 260____________________________________________________________________________

____________________________________________________________________________Captulo 6 - Processamento de Exceo

l Processamento de Exceo - conceitos

m Para facilitar o desenvolvimento de programas, o MC68000 suporta a Execuo Passo-a-Passo(trace). No modo trace (Bit T do SR igual a 1), aps a execuo de cada instruo uma exceo gerada, facilitando a monitorao/depurao do programa em desenvolvimento.

EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 261____________________________________________________________________________

____________________________________________________________________________Captulo 6 - Processamento de Exceo

l Processamento de Exceo - conceitos

m No MC6800 existem 7 nveis distintos de interrupes, cada um associado a uma prioridade. Os nveis de interrupo so numerados de 1 a 7, refletindo a sua prioridade (nvel 7 prioridade mxima - nvel 1 prioridade mnima). A mscara de interrupo (3 bits) contida no SR indica qual a prioridade de interrupo em vigor. Caso ocorra um pedido de interrupo com prioridade maior que a mscara de interrupo, o processamento de exceo associado a esta interrupo comea imediatamente aps o trmino da instruo que eventualmente esteja em execuo. Caso o pedido de interrupo tenha nvel igual ou menor ao indicado pela mscara de interrupo, o seu atendimento postergado at que a mscara contenha valor que permita o seu atendimento. O nvel 7 no mascarvel.

EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 262____________________________________________________________________________

____________________________________________________________________________Captulo 6 - Processamento de Exceo

l Processamento de Exceo - conceitos

m O termo Instruo ilegal utilizado para designar qualquer palavra que no represente uma palavra vlida de operao (operation word). Durante o processamento normal, caso uma destas palavras seja detectada, o processador inicia um processamento de exceo. A Motorola se reserva o direito de definir novas instrues utilizando palavras de operaes ilegais. Entretanto, trs palavras so reservadas para serem ilegais permanentemente: $4AFA, $4AFB, e $4AFC. As duas primeiras so reservadas para produtos Motorola. A ltima est reservada para o usurio.

m Palavras de operao com os bits 15 a 12 iguais a 1010 ($A) ou 1111 ($F) so designadas como instrues no implementadas. Vetores de exceo esto associados a estas palavras para permitir a emulao, por programa, de novas instrues.

EA078 Micro e Minicomputadores: Hardware - Prof. J.M. De Martino 263____________________________________________________________________________

____________________________________________________________________________Captulo 6 - Processamento de Exceo

l Processamento de Exceo - conceitos

m Para garantir a segurana do sistema, algumas instrues so privilegiadas, s podendo ser executadas no modo supervisor. A tentativa de execuo de destas instrues no modo usurio ocasiona uma exceo de violao de privilgio. As instrues privilegiadas so:

1) STOP

2) RESET

3) RTE

4) MOVE ,SR

5) ANDI #XX,SR

6) EORI #XX,SR

7) ORI #XX,SR

8) MOVE An,USP

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.