149
SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR COM , BASE NUM PROCESSADOR MONOLITICO Christian Lenz Cesar TERE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS DE , ~ POS-GRADUAÇAO DE ENGENHARIA DA UNIVERSIDADE FEDE..llAL DO RIO DE , JANEIRO COMO PARTE DOS REQUISITOS NECESSARIOS PARA A OBTENÇÃO DO GRAU DE MESTRE EM CI~CIA (M.Sc.). Aprovada por: RIO DE JANEIRO ESTADO DA GUANABARA - BRASIL OUTUBRO DE 1973

SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR COM

, BASE NUM PROCESSADOR MONOLITICO

Christian Lenz Cesar

TERE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS DE , ~

POS-GRADUAÇAO DE ENGENHARIA DA UNIVERSIDADE FEDE..llAL DO RIO DE ,

JANEIRO COMO PARTE DOS REQUISITOS NECESSARIOS PARA A OBTENÇÃO

DO GRAU DE MESTRE EM CI~CIA (M.Sc.).

Aprovada por:

RIO DE JANEIRO

ESTADO DA GUANABARA - BRASIL

OUTUBRO DE 1973

Page 2: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

A G R A D E C I M E N T O S

Meus sinceros agradecimentos ao coordenador do Progra-

ma de Engenharia de Sistemas e Computação, professor Nelson

Maculan, pelo apoio e ao professor Celso de Renna e Souza por

ter tornado realidade a parte prática deste trabalho.

Page 3: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

ii

RESUMO

O presente trabalho descreve a arquitetura de um pe­

queno computador realizado com base num processador monolíti­

co e sua simulação.

Primeiramente estabelece-se os circuitos externos ao

processador necess~rios ao seu funcionamento.

Em seguida mostra-se um simulador que executa instru-

~ çoes dadas em sua forma bin~ria. O usu~rio pode definir dentro

do simulador a organização da memória, dos periféricos e do sis­

tema de interrupção.

Finalmente descreve-se a implementação do computador.

Page 4: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

iii

ABSTRACT

This paper describes an architecture for a small com­

puter using a microprocessor as its central processing unit.

ln the first part of the work it is established the

necessary external logic circui ts for the microprocessor·.

The second part presente a simulator that executes

instructions given in binary form. The user ma~ define the me­

mory, peripherals and interrupt system organization inside the

simulator.

Finally it is described the implementation of the com-

puter.

Page 5: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

iv

, I N D I C E

Capítulos: P~ginas:

APRESENTAÇÃO • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 1

I O MICROCOMPUTADOR

I.l.

I.2.

I.4.

I.6.

Introdução

Processador

. . . . . . . . . . . . . . . . . . . . . . . . • • • • • • • • • • • • • • • • • • • • • • •

Memória

Entrada

. . . . . . . . . . . . . . . . . . . . . . . . . . . e Saida •••••••••••••••••••

Sistema de Interrupção ••••••••••••

-Conclusao ••.••••••••••••••••••••••

4

6

12

15

18

21

II O SIMULADOR

II.l. Introdução • • • • • • • • • • • • • • • • • • • • • • • • 25

II.2. Programa Principal•······•·•····•· 28

II.2.1 Módulos••••••••••••••••••• 28

II.2.2 Organização da Memória.... 32

II.2.3 Interrupções e

Entradas/Saídas ••••••• 35

II.3. Utilização do Simulador........... 41

II.3.1 Cartões de controle e

programa.............. 42

II.3.2 Interpretação dos resulta-

dos da simulação...... 45

II.4. Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . 47

Page 6: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

V

Capítulos: Páginas:

III A REALIZAÇÃO

CONCLUSÃO

III.l.

III.2.

III.3.

III.4

Introdução • • • • • • • • • • • • • • • • • • • • • •

Projeto do microcomputador ••••••

50

52

III.2.1 O painel••••••••••••••• 53

III.2.2 Teclas • • • • • • • • • • • • • • • • • 57

III.2.3 Matriz Programável..... 59

Implementação •••••••••••••••.••• 62

III.3.1 Organização do protótipo 63

III.3.2 Programas de painel.... 67 ...

Conclusao ••••••••••••••••••••••• 72

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

BIBLIOGRAFIA , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Apêndices:

A

B

e

CIRCUITOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COMO USAR O SIMULADOR • • • • • • • • • • • • • • • • • • • •

LISTAGENS ••••••••••••••••••••••••••••••••

81

98

103

Page 7: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

1

A P R E S E N T A Ç Ã O

A integração de funções lógicas no inicio da década

de 60 libertou o projetista de circuitos do trabalho de mon­

tagem dessas funções com componentes discretos. Desde então

a eletrônica digital teve um desenvolvimento espantoso com a

multiplicação das tecnologias de fabricação dos circuitos, ca­

da uma trazendo novos progressos em termos de velocidade e de

densidade de integração.

A integração em larga escala (LSI-Large Scale Integra­

tion), apanágio da tecnologia MOS (Metal Oxide Semiconductor),

permitiu a colocação num só circuito integrado de funções cada

vez mais complexas, como por exemplo, memórias a semiconduto­

res de grande capacidade.

Foi a partir dessa tecnologia que surgiu o micropro­

cessador, que consiste num conjunto de circuitos LSI, cada um

contendo uma parte importante de um computador digital, por

exemplo tôda a unidade aritmética e lógica ou mesmo a unidade

central de processamento (CPU - Central Processing Unit).

O impacto desses microprocessadores se verifica es­

pecialmente em áreas antes dominadas pelo minicomputador e pe­

lo sistema digital feito "sob medida" (special-purpose), tais

como controle de processo, controle de máquina, periféricos

Page 8: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

2

de computador, m~quinas de calcular, instrumentação, terminais

inteligentes e em comunicações, por serem de baixo custo e ta­

manho reduzido. Os sistemas de processamento montados com êsses

novos componentes foram chamados de microcomputadores.

Lançado em 1972 o INTEL 8008 foi um dos primeiros mi­

croprocessadores vendidos no mercado. Constituido por apenas

um circuito integrado de 18 pinos, é uma CPU que trabalha em

paralelo sôbre palavras de oito bits, possui um repertório de

48 instruções e endereça até 16K palavras de memória.

~ste trabalho resulta do estudo aprofundado da 8008

e do microcomputador SIM8-01 da mesma companhia e tem por ob­

jetivos:

- dar ao projetista de circuitos lógicos regras e mo­

delos para a implementação de um sistema digital

baseado na 8008

~ - criar um suporte de programaçao para o projetista e

usudrio da 8008 a fim de facilitar a implementação

~ e correçao dos programas a serem colocados em ROM

(Read Only Memory) e outras memórias

O trabalho está dividido em três capitules. Inicial-

~ mente propoe-se uma arquitetura para um microcomputador que

usa a 8008 indicando os sinais de controle necessários ao seu

funcionamento bem como a maneira de gerá-los por circuito. Al-

Page 9: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

3

~ gumas regras sao estabelecidas para o projeto da memória, das

entradas e saidas, e do sistema de interrupção.

No segundo capitulo descreve-se um programa em PL/1

que simula a 8008 permitindo ao usuário a definição da orga­

nização da memória, das entradas e saidas, e das interrupções,

que compoem o microcomputador.

O terceiro capitulo trata da implementação real de

um microcomputador usando o modelo da primeiro capitulo.

, ~ E importante acentuar que a compreensao destes capi-

tules depende da leitura prévia do manual da 8008, referencia

básica de toda a tese. Não se pretendeu que êste trabalho fosse

outro resumo da 8008. Apenas os aspectos menos claros do manual

é que serão tratados nas discussões.

Page 10: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

4

, C A P I T U L O I

O MICROCOMPUTADOR

I.l - INTRODUÇÃO

A arquitetura a ser descrita para o microcomputador,

resultou da experiência adquirida nos tlltimos anos em nossos

laboratórios de circuitos digitais e da presente (1972) situa­

ção do mercado brasileiro de eletrônica.

A quase totalidade dos circuitos digitais encontrados

nos revendedores das grandes cidades são funções lógicas sim­

ples. Rara.mente se encontram circuitos LSI. Por essas razões é

que o chaveamento de informações que convergem para um mesmo

ponto é tradicionalmente feito utilizando-se circuitos com sai­

da em coletor aberto, ao contrário dos americanos que podem se

dar o luxo de usar multiplexadores ou lógica a três estados.

A arquitetura repousa portanto sôbre uma técnica já

bem dominada que é a de barras de coletor aberto. Esta escolha

resultou em que apenas a 8008, a memória e os inversores de bai­

xa potencia, necessários ao "interface" J.vI0S-TTL, fossem buscados

fora do Brasil.

A descrição que se segue trata os circuitos do ponto de

Page 11: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

5

vista estritamente lógico. Somente nas conclusões deste capí­

tulo é que serão discutidos os problemas prdticos que poderão

ocorrer na implementação.

-çao:

A fim de evitar confusão usar-se-d a seguinte conven-

microprocessador - a 8008

processador - a 8008 e o conjunto de circuitos neces­

s~rios ao seu funcionamento

microcomputador - o processador com a memória, entra­

das e saidas, e o sistema de interrupção

Page 12: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

6

I.2 - PROCESSADOR

A organização de um processador que usa a 8008 é a da

figura 1.1. A barra de dados admite fluxo de informação em am­

bos os sentidos. As informações que saem da 8008 são colocadas

na barra de memória, ou barra M, que é a continuação lógica da

barra de dados. Ao contrário, a barra de entrada, ou barra E,

por onde chegam as informações, estd isolada por meio de porta

lógica que serd amostrada em T3A, quando a 8008 estiver pronta

para receber o octeto de bits. Os registros RL e RH armazenam

durante os ciclos PCI,PCR.e PCW,as partes baixa e alta do en­

dereço, respectivamente. Para o ciclo de entrada e saida}(PCC),

RL alimenta a barra de saida, ou barra S, e RH contem o nilinero

do periférico.

Os sinais de controle da 8008 - "status","sync",CCl e

eco (os dois ~ltimos obtido através de RH) - e a fase W2 do re­

lógio mestre são utilizados para a geração de todos os sinais

necessários ao sistema (controle de escrita na memória, sincro­

nização da interrupção, estados, ciclos, controle de multiplexa­

gem na barra de entrada, etc.).

~ As figuras 1.2 e 1.3 mostram os circuitos de geraçao

desses sinais e a figura 1.4 um diagrama de tempo que indica o

relacionamento entre os sinais mais importantes: ,

W22 - a quarta fase do relógio. E o sinal mais impor-

Page 13: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

7

tante, sendo usado para a obtenç~o de quase todos

os outros.

STROBE LO - carrega a palavra presente na barra M em RL

STROBE HI - carrega a palavra presente na barra M em RH

PCI,PCR,PCW,PCC - os ciclos do processador, obtidos pe-

la decodificação de CCO e CCl.

Tl,T2,T3,T4,T5,TlI,WAIT,STOP - os estados do processa­

dor, obtidos pela decodificação de SO, Sl e S2.

R/W - comando de escrita em memória do dado presente na

barra M. Só ocorre durante o ciclo PCW.

T3A - amostra o dado presente na barra E quando a 8008

está recebendo informações.

Esses sinais serão utilizados na obtenção dos sinais de

multiplexagem das três entidades básicas da máquina ligadas à

barra E (memória, periféricos de entrada e sistema de interrup­

ção) e dos sinais de chamada a periféricos de saida ligados à

barra S. Serão chamados de LIB (libere) no caso da barra de en­

trada e CARR (carregue) no caso da barra de saida. Os LIB são

tais que apenas um poderá ocorrer (nivel l lógico) num dado ins­

tante. Os CARR não possuem esta restrição, porém na prática, se­

rão também mutuamente exclusivos. Isto é devido ao fato que a

barra E é do tipo coletor aberto (as barras Se M não são do

tipo coletor aberto).

Page 14: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

barra E

T3A

L. 1

ROY

8

18008

status ,sync, i, r

LOGICA

eco CCl

s

barra M

L--------t~R/W

•---------•estados

•-------------ciclos

fig. 1.1

Page 15: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

Tl

T 11

T2

T3 me

SYNC

P'cw

eco CCl

so S 1

S2

/ -dec

" /

-de, -

-

"

9

T3A

- PCI - PCR -- PCW __ PCC

---------~

fig. 1.2

Tl T 11 T2

WAIT T3 T4 TS STOP

Page 16: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

10

T3 f/J2

SYNC s R/W

PCW R

1'22

SYNC

L.l.

,---....1R INT

T 1 1

STROBE LO---«:jl--✓

,-------1~----_1..!IN~TERROMPIDO

T1

STROBE--------_J H 1

fig. 1.3

Page 17: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l1J 1 -11J2

SYNC

11J22

Tl

T2

T3

STROBE.....b.Q

STROBE HI

T3A

ciclo

R/W

-n n

t ' n

n I

n n ________ n

fig. 1.4

L

1--' 1--'

Page 18: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

12

, I.3 - MEMORIA

A memória principal do microcomputador é organizada

segundo as necessidades do usuário e geralmente será do tipo

a semicondutor. Normalmente haverá uma divisão por módulos (con­

sidera-se módulo de memória aquela que já tiver circuito próprio

de decodificação de enderêço) com a parte de ROM nos endereços

mais baixos. A decodificação da parte alta do enderêço é função

do tamanho dos módulos de memória utilizados; a parte alta do

enderêço é usada para selecionar o módulo. No caso de uma sub­

divisão uniforme da memória, ie, módulos de mesmo tamanho, a

organização será a da figura 1.5.

A palavra lida em memória só será colocada na barra E

durante LIB MEM, já que todos os módulos são isolados desta bar­

ra por uma porta lógica (figura 1.6). No caso de RAM (Random

Access Memory) o dado a ser escrito está na barra M.

O sinal LIB MEM existirá quando se verificarem as se­

guintes condições:

- ciclos PCI ou PCR

- processador não interrompido

No caso de memórias lentas há a necessidade de sincro­

nização do processador a elas. Para isto existe o sinal de RDY

que poderá estar em 1 ou O lógicos, significando que o proces­

sador tende a passar de T2 a T3 diretamente ou tende a entrar

Page 19: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

13

no estado de WAIT após T2, respectivamente. No primeiro caso,

o módulo de memória lenta deverá forçar RDY a O, inibindo as­

sim a passagem de T2 para T3; e mantê-lo nesse nível até o fim

da operação de leitura ou escrita. No segundo caso, RDY deverá

ser levado a 1 quando o acesso tiver sido terminado, fazendo

com que o processador deixe o estado de WAIT passando a T3.

A capacidade de memória pode ser aumentada por meio de

instruções de entrada e saida. Pode-se concatenar registros de

8 bits aos 14 bits jd existentes, carregando-os por meio de ins­

truções OUT. Isto permite uma expansão da memória praticamente

ilimitada.

Page 20: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

endereço

RH e RL

{14 bits)

{14-n) linhas para identificação do módulo

decod

n linhas de endereçamento (n =14)

- ( 14-n) linhas de seleçao para os 2 módulos possfveis

cs

MO

cs

Ml

CS - ''chip select''

cs M

214-n

fig .. 1.5

~ .j:>,

Page 21: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

15

I.4 - ENTRADA E SAIDA

Toda comunicação de entrada e saida é feita durante o

ciclo PCC. Os periféricos de entrada estão ligados à barra E a­

través de portas lógicas que serão amostradas pelos sinais LIB

INP correspondentes. Os periféricos de saida ligados à barra S

serão carregados pelos sinais CARR OUT correspondentes (figura

1.6).

O sinal LIB INP 'nwnero do periférico', existirá quan­

do se verificarem as seguintes condições:

- ciclo PCC

- chamada ao periférico de entrada especifico (resul-

ta da decodificação do código contido na instrução

INP)

O sinal CARR OUT 'nwnero do periférico', existirá quan­

do se verificarem as seguintes condições:

- ciclo PCC

- chamada ao periférico de saida especifico (resulta

da decodificação do código contido na instrução OUT)

A decodificação do código de periférico, presente em

RH, tem duas soluções extremas: total decodificação do código

junto ao processador com saida de linhas individuais ou deco­

dificação local, ie, no próprio periférico. A escolha de uma

solução entre esses dois extremos dependerá do nwnero e tipo

Page 22: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

16

dos periféricos, bem como da distância entre êles e o processa­

dor.

Como no caso da memória, o processador pode ser sincro­

nizado com os periféricos. As explicações dadas anteriormente sô­

bre o sinal de RDY são válidas aqui.

Para os periféricos de entrada, numerados de O a 7, a

palavra presente na barra S pode ser usada como comando. O dado

a ser enviado ao processador será colocado na barra E. Para os

periféricos de saida, numerados na base octal de 10 a 37, o da­

do está na barra S, enquanto que a barra E permanecerá neutra.

Page 23: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

17

MEM.

LIB MEM

R/W

LI B I NP O

CARR OUT 10

LIB INP 7

LI B I NT .___ CARR OUT 37

barra E

PROCESSADOR

fig. 1.6

Page 24: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

18

I.5 - SISTEMA DE INTERRUPÇÃO

Para o projeto do sistema de interrupção dispõe-se de

uma linha de interrupção (L.I.),por onde será enviado o sinal

que irá interromper a 8008, e a barra E onde será colocada a

instrução. A ligação a essa barra é feita através de porta ló­

gica (figura 1.6), amostrada por LIB INT, que ocorre nas seguin­

tes condições:

- ciclo PCI, ou PCR no caso de instruções longas (duas

ou três palavras)

- quando o processador estiver interrompido

Em alguns casos, tipicamente quando a instrução for

longa, poderá haver a necessidade de mais outra condição, além

das duas citadas acima, gerada pelo próprio sistema de interrup­

ção, a fim de diferenciar cada octeto da instrução longa.

Um sinal poderá ser colocado em L.I. sempre que a ~1-

tima interrupção tiver sido processada (uma interrupção é con­

siderada já processada durante ou após os estados T3, T4 ou T5

do ~ltimo ciclo da instrução relativa a esta interrupção). Os

sinais que não respeitarem êste limite serão ignorados pelo pro­

cessador.

A primeira palavra da instruçãoâeve estar presente na

barra E durante o primeiro ciclo PCI após a colocação do sinal

em L.I •• Os eventuais endereços ou dados imediato (caso das'ins-

Page 25: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

19

truçÕes longas) deverão ser colocados a sua vez na barra E nos

sucessivos ciclos PCR. A figura 1.7 ilustra a sequência de even­

tos.

Em termos da 8008 há a necessidade de sincronização dos

sinais de interrupção, que poderão chegar aleatoriamente no tem­

po. Essa função será atribuida a um circuito sequencial que ar­

mazenará o sinal (de qualquer largura) enviando-o no momento cer­

to para a 8008.

O reconhecimento da interrupção pela 8008 implica na

substituição de Tl por TlI em todo~ os ciclos da instrução (is­

to é válido para qualquer uma das 48 instruções da 8008). Além

disso, o processador fornecerá um sinal (INTERROMPIDO) que per­

manecerá ligado durante todo o processamento da interrupção.

Page 26: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

Não

Não

Não

20

gerar

interrupç.

colocar palavra em bE

fig 1.7

fim

Page 27: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

21

I.6 - CONCLUSÃO

A utilização da barra do tipo coletor aberto com a

8008 oferece como vantagem a modularidade, ie, a colocação de

um novo circuito sôbre a barra E não implica em alterações no

sistema original. A desvantagem é a limitação inerente ao co­

letor aberto quanto ao n-wnero de circuitos que podem ser co­

nectados à barra (normalmente 25 para o integrado 7401 - 2 in­

put positive nand gate with open-collector output - quando se

garantir que apenas um circuito estará ativo de cada vez e que

a barra termina numa porta lógica com FAN-IN igual a 1 ). Po­

risso é aconselhável ligar as saidas de todos os módulos de me­

mória na entrada de uma só porta lógicacomsaida coletor aberto

(figura 1.6). Isto,e o fato de só existirem no máximo 8 perifé­

ricos de entrada,permitirá ao sistema de interrupção o acesso à

barra E através de várias portas lógicas, cada qual com seu si­

nal de amostragem LIB INT.

-A barra S nao precisa ser do tipo coletor aberto, po-

rém,como nela estarão ligados todos os periféricos de saida e

todo o endereçamento da memória,é absolutamente necessário que

o registro RL tenha alto FAN-OUT.

Cuidado também deve ser exercido na barra M, pois aso­

ma dos FAN-IN dos módulos de memória (na entrada de dados) não

deve ultrapassar o FAN-OUT do circuito que a alimenta.

Page 28: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

22

O FAN-OUT normal de 10 (familia TTL) para o RH ge­

ralmente será suficiente.

Os esquemas apresentados para o processador foram pro­

jetados para o caso geral de utilização da 8008. Em aplicações

particulares, alguns circuitos poderão ser eliMinados. A sin­

cronização do sinal de interrupção, por exemplo, poderá serdes­

necessária se o sinal em L.I. tiver largura suficiente para in­

terromper a 8008. Também, o circuito que gera R/W só é necessá­

rio em sistemas que utilizem memória RAM.

A organização da memória merece cuidados especiais de­

vido ao carregamento em tempos diferentes dos registros RL e

RH, e ao fato que nas memórias MOS o tempo de acesso após a mu­

dança das linhas de endereçamento (supondo o módulo de memória

já selecionado) é bem maior que o tempo de acesso após a sele­

ção do módulo de memória (supondo o enderêço já presente nas li­

nhas de endereçamento). Portanto, deve-se primeira.mente gerar os

niveis para as linhas de endereçamento e depois o sinal que sele­

ciona o módulo. Isso pode ser realizado com o processador, se os

bits de endereçamento estiverem totalmente contidos em RL, quando

então as linhas terão tempo (entre STROBE LO e STROBE HI) para se

estabilizar até a seleção do módulo de memória, obtida pela deco­

dificação (que é rápida no caso) dos bits presentes em RH, e mais

aqueles de RL que não participam da ativação das linhas de en­

dereçamento. Isto implica num tamanho ótimo do módulo de memória

Page 29: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

23

de 256 palavras (n=8 na figura 1.5), já que a utilização de módg

los menores representa um aumento na l!rea ocupada pela memória.

A utilização, nas instruções INP, do valor do acumula­

dor, é particularmente ~til para a leitura de condições relati­

vas a um periférico ou para comandos especiais. Por exemplo, po­

de-se saber se uma fita está ocupada, comandar o enrolamento r~­

pido da fita, etc. Isto é feito precedendo a instrução de INP de

um LAI que carrega um código que ser~ interpretado pelo perifé­

rico, e eventualmente introduzindo uma instrução de teste sôbre

o octeto lido após a instrução de INP.

A existência de diversas partes do sistema com capaci­

dade de interrupção cria o problema da coincidência de sinais

em L.I •• Um esquema de prioridade deverá ser estabelecido, se

necessário, entre os elementos capazes de interromper a 8008;

pode ser uma simples fila (FIF0) ao lado do processador, que

armazena as instruções que chegam para tratamento sob interrup­

ção, ou alguma solução mais complexa que envolva uma hierarquia

entre êsses elementos.

Uma das particularidades do processador é o fato de

não fazer distinção durante o ciclo PCR entre instruções ime-

diatas e de referencia memória, ie, fil e ~ RH nao sabem se o

enderêço recebido no ciclo de leitura é proveniente do PC ou

de H concatenado com L (os dois ~ltimos registros da 8008).

Page 30: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

24

~ Durante o processamento normal isto nao causa problema, pois é

uma leitura na memória que é envolvida nos dois casos. Mas sob

interrupção implica que se deve optar durante PCR, ou pela lei­

tura em memória (caso da instrução curta LrM), ou pela leitura

do sistema de interrupção (como é o caso de instruções longas

do tipo LrI). A primeira opção é inadequada,pois não permite

instruções de chamada a subrotina, que, como as instruções ge

referência imediata, são instruções longas"(o sistema de inter­

rupção enviaria à 8008 o primeiro octeto da instrução CAL du­

rante PCI, e depois a 8008 leria a memória,endereçada pelo PC,

para obter o enderêço da subrotina, com resultados imprevisí­

veis). Só resta a opção de se restringir as instruções que po­

dem ser resolvidas sob interrupçãoao conjunto que não inclui

instruções de referência memória com leitura (a escrita é per­

mitida,pois acontece no ciclo PCW). Isto é perfeitamente tole­

r~vel para a maioria dos casos. Instruções associadas a inter­

rupções são tipicamente CALL, RESTART e HALT. A eliminação das

instruções LrM do repertório daquelas que podem ser resolvidas

sob interrupção poderia ter sido evitado pelos engenheiros da

INTEL se durante a resolução da instrução LrM o ciclo PCR apa­

recesse com Tl em vez de TlI. Infelizmente êste não é o caso.

Page 31: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

25

, C A P I T U L O I I

O SIMULADOR

II.l - INTRODUÇÃO

O simulador escrito em PL/1 tem como finalidade o de­

senvolvimento e correção de programas para o microcomputador.

Uma sequencia de instruções em linguagem de máquina da 8008 é

fornecida ao simulador que lista como resposta o estado da 8008

a cada passo da resolução do programa.

Entradas e saidas, e interrupções podem ser definidos

pelo programador dentro do programa principal em posições pre­

estabelecidas.

O estabelecimento da imagem da memória é feita por

meio de cartões de controle colocados antes dos dados.

Como outra opção pode-se controlar a impressão dos re­

sultados informando ao simulador quais as instruções que apare-

~ cerao na listagem final.

Neste capítulo, ao contrário do primeiro, dividir-se-á

a memória em páginas. Em princípio êste novo conceito e módulo

de memória se confundem; um módulo seria uma página. Mas se no

projeto do computador não se pode abstrair dos tamanhos dos mó­

dulos por causa da decodificação, no simulador se fará uma

Page 32: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

26

divisão uniforme do vetor memória a fim de facilitar a programa­

ção PL/1. As páginas maiores serão portanto subdivididas em meno­

res com consequencia que um módulo da máquina real corresponderá

a uma ou mais páginas dentro do simulador.

Os, tempos envolvidos na simulação, como o de instrução,

de acesso à memória e outros, serão medidos com a unidade de tem­

po do simulador - o per!odo do sinal de sincronismo gerado pela

8008 (entre 2 e 3 microsegundos). Não serão admitidos tempos com

parte fracionária, devendo normalmente se arredondar o valor para

o inteiro imediatamente superior.

Inicialmente descreve-se as características principais

do simulador e em seguida a sua utilização. A listagem do progra­

ma principal se encontra no apêndice C •

A fim de evitar confusão usar-se-á a seguinte convenção:

programa principal ou simulador - lista de instruções

PL/1 que realizam a simulação do microcomputador.

vetor memória - vetor de 16384 palavras de 8 bits uti­

lizado como memória pelo microcomputador simulado. A

Este vetor é subdividido em páginas.

programa - lista de instruções 8008 armazenada na memó-

ria.

imagem da memória - máscara do vetor memória para a de­

finição de

Page 33: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

27

.tipo de cada página, ie, se é ROM ou RAM

.tempos de acesso, leitura ou escrita, a cada

página

.comportamento do sistema no caso de endereça­

mento de página inexistente

ponto de quebra - par de endereços que definem o iní­

cio e fim da impressão dos resultados.

Page 34: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

28

II.2 - PROGRAMA PRINCIPAL

A primeira função importante do simulador é a medi-

~ çao do "tempo real" de processamento da 8008. Isto é feito a-

través da vari~vel NUMERO_DE_ESTADOS.

Inicializada em zero, NUMERO_DE_ESTADOS será incre­

mentada a medida que instruções forem resolvidas (tempos fi­

xos dentro' do programa principal) e a cada chamada à memória,

às entradas e saídas, e ao sistema de interrupção (tempos de­

finidos pelo usuário). A introdução desses tempos no programa

principal se faz com instruções PL/1 do tipo

NUMERO_DE_ESTADOS = NUMERO_DE_ESTADOS + tempo ;

II.2.1 - Módulos

O programa principal é subdividido em módulos que con­

sistem numa série de instruções PL/1 que realizam uma função es­

pecifica dentro do simulador. Há dois conjuntos de módulos: os

processados uma só vez e os utilizados repetidas vêzes durante

o processamento.

O primeiro conjunto, que faz a inicialização do simu­

lador, é formado pelos seguintes módulos:

módulo de declaração e inicialização de variáveis

nêle estão declaradas tôdas as variáveis utili-

Page 35: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

29

zadas dentro doprogramaprincipal, bem como even­

tuais valores iniciais.

módulo de leitura dos cartões de controle

leitura dos cartões de controle fornecidos pelo

usuário para o estabelecimento da imagem da memó­

ria e pontos de quebra dentro do programa.

módulo de carregamento dos programas

os programas do usuário são carregados em posições

do vetor memória por êle definidas, conforme ai­

magem de memória anteriormente estabelecida.

No outro conjunto encontram-se os módulos que simulam

o funcionamento da 8008: interrupção, ciclos da máquina, deco­

dificação e resolução das instruções (a uma instrução pode cor­

responder mais de um módulo).

As figuras 2.1 e 2.2 mostram a sequencia dentro do si­

mulador para o processamento de cada instrução do programa,com

ou sem interrupção.

Page 36: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

r-----------, MODULO PCI

desliga

interrupção

controle da

impressão

buscar instru­

1

si

30

r-----------, MODULO INTERRUPT 1

verificação da

polfticas de

interrupção

1 i ga r

interrupção

buscar instru-

1

çao na memóriai--..--..... ---~ção no sist. de

interrupção

____________ J fig 2.1

Page 37: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

31

N

s ,-------------

MODULO PCR 1

lu,scar resto

da instrução

na memória

1 1 1 1 1 1

---------------

: MODULO_INTERRUPT i 1 1

1 1

1 1 1

1 1 1 1

1

buscar resto d

instrução no

sist. de inter

L ___________ _j

resolução da instrução com possíveis

chamadas aos modules de ciclo

(PCR,PCW,PCC)

fig 2.2

Page 38: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

32

II.2.2 - Organização da memória

A organização da memória do microcomputador simulado

será definida por três variáveis dentro do programa principal:

MEM - o vetor memória de 16384 palavras de 8 bits

PAG - o tamanho da página

IMAGEM_MEMORIA - um vetor estrutura d~ 16384/PAG po­

sições, ie, o n1Ímero de páginas que podem exis­

tir

Os ramos da estrutura IMAGEM_MEMORIA são TIPO (indi­

ca se a página é ROM, RAM, ••• ), CARREGAMENTO (indica se a pá­

gina existe e portanto passível de ser carregada com os progra­

mas pelo módulo de carregamento), TEMPO_LEITURA e TEMPO_ESCRITA.

Estabelecido o valor de PAG, o programa principal mon­

tará uma estrutura como a da figura 2.3 ( é apenas um exemplo),

ie, cada elemento de IMAGEM_MEMORIA apontando para uma página

(direta ou indiretamente) e a definindo. Cada posição do vetor

conterá uma das seguintes configurações:

ROM 1 tl te - é uma página ROM com tempos de acesso tl

e te

RAM l tl te - é uma página RAM com tempos de acesso tl

e te

ROM O tl te - é uma pagina inexistente. Quando endere­

çada pelo programa funciona como ROM com

tempos de acesso tl e te.

Page 39: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

33

EQU O tl te - é uma página inexistente. Quando endere­

çada pelo programa, equivale a chamar uma

página existente. tl e te servem como a­

pontadores indiretos para esta página.

~~~ O tl te - é uma página inexistente. Quando endere­

çada pelo programa, a simulação é cance­

lada. O conteudo de TEMPO_LEITURA e

TEMPO_ESCRITA é indeterminado.

Para cada acesso à memória haverá o estabelecimento do

enderêço (END_MEM), do n'Wllero da página .que contem o enderêço

(PAG_MEM) e a verificação do tipo de página. Permitido o acesso,

o'Telógio 11 NUMERO_DE_ESTADOS será acrescido do valor tl ou te,

obtidos direta (caso de ROM e RAM) ou indiretamente (caso de EQU).

Tentativas de escrita em ROM não serão levadas em conta (memória

permanece inalterada), prosseguindo a simulação; um aviso de vio­

lação de memória será impresso na listagem final ao lado da ins­

trução que a causou. O acesso a uma página inexistente com funcio­

namento ROM, produzirá sempre uma configuração de bits definida

previamente pelo usuário.

Page 40: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

1-1) ~­~

1\) . \..>J

IMAGEM MEMORIA

ROM

ROM o

MEM

2

Pagina O

Pagina 1

Pagina 16384/PAG-1

vi ..i:::,.

Page 41: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

35

II.2.3 - Interrupções e Entradas/Saidas

O programador dispõe de três áreas dentro do programa

principal onde pode introduzir instruções PL/1: no fim do módu­

lo de declaração das variáveis, no módulo de interrupção e nas

partes do módulo de entrada/saida que tratam do funcionamento

do periférico.

Qualquer nova variável criada pelo programador, para

utilização nas duas ~ltimas áreas, pode ser declarada e inici­

alizada no primeiro módulo do programa principal.

No módulo de interrupção pode-se estabelecer a ocor­

rência de interrupções e as instruções a elas associadas. Ao

programador cabe definir:

- quantas interrupções diferentes existem

- a política de aparecimento de cada uma delas

- a instrução correspondente a cada interrupção

Esses três itens aparecem no módulo da seguinte maneira:

MODULO_INTERRUPT: • . •

INTERRUPCAO_i: [cartões de definição da política]

IF politica THEN DO;

(cartões de definição da politica]

INTERRUPT = lB;

VALOR_DA_INTERRUPCAO = i;

Page 42: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

• • • • •

36

GOTO MODULO PCI(f;

INT_PCI(i): REGI= 'xxxxxxxx'B;

[ NUMERO DE ESTADOS=NUMERO DE ESTADOS+t . ,•] - - - - pci GOTO MODULO_DECODIFICACAO;

[INT_PCR_MM(i): REGB = 'bbbbbbbb'B;

REGA= 'aaaaaao.a.'B;

rNUMERO DE ESTADOS=NUMERO DE ESTADOS+t •,~ L: - - - - pcrmm~

GOTO MODULO_J_C@;]

[rNT_PCR_I(i): REGB = 'bbbbbbbb'B;

r NUMERO DE ESTADOS=NUMERO DE ESTADOS+t . :1, L - - - - pcriLl GOTO LABELl ;]

END;

[cartões de definição da política]

GOTO MODULO_PCI@;

onde i é o nwnero escolhido pelo programador para

a interrupção.

As instruções PL/1 envolvidas por colchetes não são

obrigatórias ou aparecem em casos particulares. Inicialmente

algumas instruções PL/1 são usadas para o estabelecimento da

política a ser testada e de eventuais condições ligadas a ela

(é o grupo de cartões que será chamado CDPl). Um teste é feito

sôbre a política para saber se é verdadeira, ie, se haverá a

interrupção. Em caso negativo, antes de examinar a próxima

( i + 1 ), pode-se incluir mais alguns cartões que prepara-

Page 43: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

37

~ ~ rao a política para o futuro,sabendo que nao ocorreu desta vez

( é o grupo de cartões que será chamado de CDP3). Em caso afir­

mativo entra-se num DO privativo daquela interrupção. Nova.men­

te pode-se incluir cartões que prepararão a política para o fu­

turo>sabendo que ocorreu a interrupção (é o grupo de cartões que

será chamado de CDP2). A variável INTERRUPT passa a indicar que

a 8008 está interrompida e VALOR_DA_INTERRUPCAO identifica a

interrupção, necessário para a busca da instrução.

Tudo está pronto; o simulador,em vez de ir~ memória

buscar a primeira palavra, desviará para INT_PCI(VALOR_DA_IN

TERRUPCAO) onde se encontra êste octeto {na listagem acima in­

dicado como xxxxxxxx, e que deve ser definido pelo usuário).

Eventualmente pode haver um retardo na busca da instrução e

isto é simulado por um acréscimo na variável NUMERO_DE_ESTADOS.

No caso de instruções longas, o simulador voltará ao módulo de

interrupção em INT_PCR_I(VALOR_DA_INTERRUPCAO) para instruções

de referencia imediata ou em INT_PCR_MM(VALOR_DA_INTERRUPCAO)

no caso de instruções JMP e CAL. Para êste tlltimo, REGE conterá

a parte baixa do enderêço e REGA a parte alta.(na listagem aci­

ma indicados como bbbbbbbb e aaaaaaaa, e que devem ser

definidos pelo usuário). Como em INT_PCI, retardes podem ser

introduzidos em qualquer um dos dois.

Page 44: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

38

No módulo de entrada/saida o programador dispõe de 32

áreas que correspondem a cada uma das 8 instruções de entrada

e 24 de saida. Cada uma dessas áreas tem como primeiro cartão

MODULO_INP(i): ou MODULO_OUT(i): , onde i é o n'limero dope­

riférico, e como ~ltimo GOTO MODULO_PCI; • Nestas áreas pode-se

introduzir qualquer sequência de instruções PL/1 que não violem

a integridade do programa principal.

Para as áreas MODULO_INP(i): , o programador tem a

seu dispor a variável OUT_LATCH que contém o valor do acumu­

lador (o registro A da 8008). OUT_LATCH pode ser utilizado pe­

lo periférico de entrada simulado, como um comando especial. O­

brigatoriamente, a pen~ltima instrução deve ser a atribuição à

variável ACUMULADOR(l) (o índice 1 é importante) de um deter­

minado valor (é a simulação da leitura do dado pela 8008).

Para as áreas MODULO_OUT(i): , novamente tem-se

OUT_LATCH como variável disponível ao programador. Conterá o

dado que está sendo enviado ao periférico. Ao contrário de

MODULO_INP(i): , é proibido a utilização da variável

ACUMULADOR(l).

Como no módulo de interrupção, pode-se simular os re­

tardos envolvidos na chamada ao periférico. Esse tempo pode ser

fixo ou calculado antes da instrução que altera a variável

NUMERO_DE_ESTADOS.

Page 45: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

39

No caso de periféricos que tem rotinas de simulação

semelhantes, pode-se juntá-las numa área só e usar a variável

VALOR_DO_PERIFERICO, que contem o n1Ímero do periférico chamado,

para diferenciar particularidades inerentes a cada um dos peri­

féricos. Invariavelmente isto traz uma redução de cartões dentro

do programa principal.

Em resumo, tem-se as áreas MODULO INP(i): e

MODULO_OUT(i): programadas da seguinte forma:

• • • •

MODULO_INP(j): (!10DULO_INP(k)J

[ cartões de definição do periférico]

[NUMERO_DE_ESTADOS = NUMERO_DE_ESTADOS + tin;J

ACUMULADOR(l) = dado ;

GOTO MODULO_PCI;

• . MODULO_OUT(m): (!10DULO_OUT(n):]

[ cartões de definição do periférico]

[NUMERO_DE_ESTADOS = N1J!vlERO_DE_ESTADOS + tout;]

GOTO MODULO_PCI;

. • . .

onde dado será O (OOOOOOOOB) ou 255 (11111111B)

(isto depende do circuito e da barra E) quando o periférico

Page 46: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

40

inexistir. Nêste caso os cartões de definição do periférico

não serão mais necessários.

Page 47: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

41

II.3 - UTILIZAÇÃO DO SIMULADOR

Ao usuário é dada a possibilidade de definição do tipo

e tempos de acesso das páginas do vetor memória. Isto é feito

por meio de cartões de controle,colocados no inicio dos dados,

através dos quais se estabelece a imagem da memória.

O primeiro cartão define o tamanho da página (cartão

PAG) e os seguintes as características de cada página (cartões

TIPO). Entretanto,a sua utilização é opcional, podendo o usuá­

rio deixar a cargo do programa principal a inicialização dai­

magem da memória.(o que os americanos chamam de "default").

Para limitar o tamanho da listagem final há o cartão

de estabelecimento de pontos de quebra (cartão IMP), que indi­

carão quais as instruções da memória que devem aparecer nos re­

sultados.

O formato dos cartões de controle (PAG, TIPO e IMP)

e dos dados está descrito no apêndice B.

O resultado da simulação consiste na impressão does­

tado interno da 8008 antes e após a resolução de cada instrução.

Page 48: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

42

II.3.1 - Cartões de contrôle e programa

A primeira opção existente é a definição do tamanho da

página, que deverá ser um n"dmero que é uma potência de dois e

não poderá ultrapassar 16384 que é a capacidade máxima de ende-A

reçamento da 8008. Este valor deve ser igual ao tamanho da me-

nor página existente na máquina real e será a unidade de divi­

são da memória. As páginas maiores serão subdivididas (e isto

é possível já que o tamanho de tôdas as páginas é uma potência

de dois) para se adaptar a essa unidade. Esta operação tem como

resultado a divisão da memória em páginas de mesmo tamanho. Os

cartões de controle para definição da imagem da memória,que se­

guem o cartão PAG, deverão se referir ao nmnero das páginas,

quevariam de O (primeira página) até 16384/PAG-l.

A não inclusão do cartão PAG implica na utilização pe­

lo simulador de páginas de 256 palavras (PAG = 256) e, portanto,

na existência de 64 páginas numeradas de O a 63.

Como outras opçÕes,pode-se definir o tipo da página:

ROM, RAM e inexistente. As inexistentes podem ter quatro com­

portamentos diferentes ao serem endereçadas:

- lê ou escreve numa página que existe

- só lê 11111111 (páginas tipo ROM/lJil.1)

- só lê 00000000 (páginas tipo ROM/ZER)

- acesso proibido; para a simulação

Page 49: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

43

O primeiro comportamento ocorre na prática quando se

simplifica a decodificação do enderêço (tipicamente em sistemas

com pouca memória). Geralmente essa simplificação é feita des­

prezando-se os bits de mais alta ordem; assim 11000100110011 e

01000100110011 correspondem a uma mesma posição de memória.

Se não se simplificar a decodificação, chega-se aos

dois comportamentos seguintes. A máquina tentará ler uma pá­

gina que não existe e amostrará o que está na barra de entra­

da, neste momento em estado neutro, que pode ser 11111111 ou

00000000 dependendo dos circuitos utilizados.

O usuário só poderá definir os três primeiros casos

ficando os não definidos com acesso proibido (isto só vale quan­

do o usuário usa pelo menos um cartão TIPO).

Além da informação de tipo pode-se definir no cartão

TIPO, tempos de acesso a páginas do tipo ROM, RAM, ROM/UM e

ROM/ZER. Não se deve esquecer entretanto que esses tempos devem

estar na unidade de tempo do simulador que é o período do sin­

cronismo. Se uma memória tiver o tempo de escrita igual a 5,5

microsegundos (pior caso) e o sincronismo tem um período igual

a 2,1 microsegundos, o TEMPO_ESCRITA para esta página será

r 5, 5 1 2, 11 = 3 •

A não utilização de cartão TIPO implica na definição

de uma memória de 16 K palavras do tipo RAM com acessos nulos e

Page 50: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

44

dividida em 16384/PAG p~ginas.

Os programas do usuário para o simulador devem estar

em binário e serão carregados em posições de memória determi­

nadas pelo próprio usuário. Esses programas serão colocados a­

pós o cartão BRANCO.

O apêndice B mostra como organizar os cartões de da­

dos (controle e programa) e descreve os formatos.

Page 51: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

45

II.3.2 - Interpretação dos resultados da simulação

O resultado da simulação d uma s~rie de linhas que

correspondem à execução de instruções pela 8008. As linhas es­

tão divididas em 18 campos, com informações sôbre o processa­

mento.

Da esquerda para direita tem-se:

- um campo para informação do nível do PC

- um campo para o conteudo do PC naquele nível

- um campo para o nome da instrução que será execu-

tada ( a primeira palavra da instrução está no en­

derêço contido no campo anterior)

- quatro campos para as condições C, Z, Se P, após

a execução da instrução

- sete campos para os registros A, B, C, D, E, H e L,

já modificados pela instrução

- um campo para o valor da concatenação dos registros

H e L (os dois bits mais significativos de H são des­

prezados)

- um campo para informações gerais: PULA, NAO PULA

(para instruções JUMP, CALL e RETURN condicionais)

e VIOL MEM ( a violação de memória ocorre quando se

tenta escrever em ROM)

- um campo usado pelas instruções de referência ime­

diata e à memória; o campo mostra o valor lido

- um campo para o tempo "real" de processamento

Page 52: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

46

A fim de evitar listagens muito compridas, pode-se

limitar, através de pontos de quebra ("breakpoints"), uma re­

gião da memória, que conterá as instruções que poderão ser im­

pressas. As instruções,cuja primeira palavra não estiver con­

tida dentro dos limites estabelecidos pelos pontos de quebra,

serão executadas normalmente, mas não aparecerão nos resulta­

dos (inexistência da linha).

A determinação dos pontos de quebra é feita pelo car­

tão IMP, que deve vir antes do cartão BRANCO. Até 7 pares de

endereços (os limites mínimo e máximo) poderão ser definidos.

A não inclusão do cartão IMP implica em que tôdas as instruções

~ executadas pela 8008 aparecerao na listagem dos resultados.

As instruções sob interrupção são privilegiadas, a­

parecendo nos resultados independentemente dos pontos de que­

bra. Diferencia-se as instruções executadas normalemente da­

quelas sob interrupção, pelo fato que nas ~ltimas não aparece

o valor do nível e do conteudo do PC, ficando os dois campos

em branco.

Maiores detalhes sôbre o cartão IMP encontram-se no

apêndice B.

Page 53: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

47

II.4 - CONCLUSÃO

O programa principal é modular no sentido que os mó­

dulos tem funções bem definidas dentro do programa principal.

No caso dos módulos de simulação da 8008 a modularidade signi­

fica também que a posição entre êles é irrelevante.

O nrunero m~ximo de interrupções que é possivel definir

dentro do programa principal é dado pelo tamanho dos vetores ,

"label" INT_PCI, INT_PCR_I e INT_PCR_MM. E claro então, que

para aumentar o nrunero de interrupções basta alterar o cartão

de declaração dessas três variáveis.

~ Uma critica que pode ser feita à programaçao do módu-

lo de interrupção é uma inerente hierarquia entre as interrup­

ções, mais especificamente, as primeiras examinadas, serão tra­

tadas imediatamente, em detrimento das seguintes, mesmo que

essas rlltimas tenham ocorrido antes. Ora, h~ casos na pr~tica

onde isto não ocorre, onde, por exemplo, a interrupção que chega

primeiro é a primeira a ser tratada, independentemente de prio­

ridade. Isto pode ser simulado no módulo de interrupção, substi­

tuindo-se o cartão GOTO MODULO_PCI@; , que segue o cartão

VALOR_DA_INTERRUPCAO = i ; , por um GOTO INTERRUPÇAO(j); (se

as interrupções forem colocadas em ordem numér~ca crescente,

então j = i + 1). Os CDP2 da interrupção j tratarão de compa­

rar os tempos de ocorrência dela e da anterior. Desta maneira

pode-se varer todo o módulo de interrupção antes de determinar

Page 54: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

48

qual o VALOR_DA_INTERRUPCAO.

Será preciso introduzir dentro do programa principal,

alguma condição que termine a simulação. Isto pode ser feito

pelo módulo de interrupção, bastando contar o n'Wilero de ins­

truções HALT que passam pela 8008 (uso dos CDPl). Atingido um

certo n'Wilero a simulação é terminada. Outra maneira é utilizar

uma instrução de OUT, que quando chamada envie o programa para

seu fim ( GOTO ENDE; ). Em casos onde o risco de "loops" in­

termináveis é grande, é de interêsse limitar a simulação por

meio do relógio interno, ie, testa-se se NUMERO_DE_ESTADOS

ultrapassou um dado valor. O mais seguro parece ser combinar

esta ~ltima maneira com uma das duas primeiras.

~ Sempre com a preocupaçao de adaptar o simulador à re-

alidade, as duas instruções inexistentes, cujo funcionamento

na máquina foi determinado experimentalmente, foram introdu­

zidas no simulador com os seguintes nomes:

- SET101 ( 00 111 000) altera somente os"flip-flop"

de condição Z, Se P, forçando-os para os n!veis

1, O e 1, respectivamente

- SETOlO ( 00 111 001) altera somente os"flip-flop"

de condição Z, Se P, forçando-os para os níveis

O, 1 e O, respectivamente

O tempo para as duas é 5 unidades de tempo do simulador.

~ Infelizmente o simulador nao oferece qualquer facili-

Page 55: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

49

dade para reconhecimento de mnemônicos e montagem de programa.

Essas deficiencias poderiam ser cobertas por futuros trabalhos

que envolveriam a programação de um montador ou mesmo de um

compilador para uma linguagem de alto n!vel.

-O programador nao deve esquecer que inicializado o

simulador não se sabe o conteudo certo dos'~lip-flop" de con­

dição. O mesmo acontece com a memória antes do carregamento

dos programas e constantes (o simulador, como a máquina real,

é capaz de interpretar e executar configurações binárias pre­

sentes em posições da memória não inicializadas pelo programa).

Só se garante como contendo o valor O, tôda a pilha de PC e os

registros A, B, C, D, E, H e L. O programador deve atentar

para essas particularidades para não incorrer em erros de

~ programaçao.

Page 56: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

50

CAPITULO I I I

A REALIZAÇÃO

III.l - INTRODUÇÃO

O projeto, inicialmente um microcomputador de 8 bits

com capacidade de 16K palavras de memória, 8 periféricos de en­

trada, 24 de saida e um painel, teve seu tamanho reduzido, por

motivos de disponibilidade de material e de tempo, a uma máqui­

na de 8 bits com configuração m~xima de 256 palavras de memória,

1 periférico simples de entrada, 2 de saida e o painel, projeta­

do em função dessas simplificações. Somente o processador, apre­

sentado no primeiro capitulo, foi montado na sua forma geral,

pois o teste de sua lógica era um dos objetivos mais importantes

do trabalho. As limitações tiveram efeito sôbre o projeto da me­

mória, das entradas e saidas, e do painel, que no caso se confun­

diu com o sistema de interrupção.

O projeto tinha e teve como meta a criação de um painel

acoplado ao processador que permitisse ao usuário, o acesso à

memória e ao estado interno da 8008 (por estado interno enten­

de-se a pilha de contadores de programa, os registros de inde-A

xação e os quatro "flip-flop" de condição). Este painel é cons-

tituído por lâmpadas para a visualização das informações, teclas

(chaves do tipo reversível) para comando do microcomputador e

chaves (tipo interruptor) para dados em geral.

Page 57: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

51

~ Nas seçoes seguintes explicar-se-á o projeto do computa-

dor e depois as simplificações introduzidas no protótipo. Os cir­

cuitos montados estão no apêndice A.

Page 58: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

52

III.2 - PROJETO DO MICROCOMPUTADOR

O microcomputador projetado tem por base a arquitetura

descrita no capitulo I. Para o primeiro protótipo escolheu-seu­

ma configuração bem simples: apenas os periféricos de saída 17 e

37, e o de entrada 7. Os periféricos de saida são simples regis­

tros, sendo que um dêles (OUT 17) servirá também como periféri­

co de entrada (INP 7). O outro (OUT 37) estará ligado a lâmpadas

no painel.

O painel é dentro do sistema o ~nico elemento capaz de

interromper a 8008. Estará encarregado da geração das diveFsas ,

interrupções e instruções correspondentes. E por meio dêle que

o operador comandará o funcionamento da máquina.

Page 59: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

53

III.2.1 - O painel

Inicialmente, é preciso notar a impossibilidade do a-

cesso direto aos registros internos da 8008. O projetista scS

dispõe da barra de dados por onde flui tôdas as informações, dos

sinais de controle e do repertório de instruções. Para obter o

estado interno deve-se então recorrer a métodos indiretos.

No caso dos registros de indexação (A, B, e, D, E, H e

L) pode-se exclusivamente por programação (a maneira mais prá­

tica), utilizando as instruções sôbre registros e de entrada/sa­

ída, mover um a um seus conteudos para registros periféricos.

Esta solução não é aplicável para os contadores de programa, ie,

a pilha de PC (program counter), já que as instruções que agem

sôbre êles (JUMP, CALL, RESTART e RETURN) somente o fazem al­

terando os conteudos. Porém sabe-se que o valor do contador de

programa é enviado para fora sempre que a 8008 busca uma ins­

trução. Basta portanto, amostrar o valor de RL e RH quando con­

tiverem o enderêço desejado, independentemente da instrução pro­

cessada; é, ao contrário dos registros de indexação, uma solução

puramente de circuito. Diferentemente, os "flip-flop" de condi­

ção exigem uma solução mista: estarão presentes na barra de da­

dos para serem amostrados, somente durante o estado T4 do ciclo

PCC de qualquer instrução INP. O registro de 4 bits onde serão

armazenados e, Z, Se P estará ligado a lâmpadas.

Além das quatro condições, é importante visualizar

Page 60: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

54

também o conteudo da pilha de PC e os registros de indexação,

porém seria dispendioso montar oito conjuntos de lâmpadas pa­

ra cada elemento da pilha e mais sete para cada um dos regis~

tros. Limitou-se o painel a dois conjuntos apenas que mostra­

rão o valor do PC usado naquele instante e um dos sete regis­

tros, selecionado por uma trinca de chaves.

Para completar o orgão de visualização, duas lâmpadas

informarão ao operador do microcomputador, quando a m~quina es­

td parada (STOP) e em estado de espera (WAIT).

A configuração final consta então de quatro grupos de

lâmpadas:

- uma linha de 14 para o conteudo do PC

- uma linha de 8 para um registro de indexação

- uma linha de 4 para as condições C, Z, Se P

- duas lâmpadas para WAIT e STOP

Por questão de economia, os dois primeiros grupos se­

rão usados pela parte do painel que faz o acesso~ memória (con­

sidere que a configuração acima tem um custo equivalente a apro­

ximada.mente 40% do preço da CPU 8008). A linha de 14 mostrar~ a­

gora o enderêço da memória e a de 8 o dado lido ou escrito neste

enderêço.

Como o painel não tem ligação direta com a memória, a

leitura e escrita ser~ feita utilizando a 8008 que se encarre-

Page 61: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

55

gará de ler as informações do painel (dado e enderêço) e devol­

ver ao mesmo o octeto lido.

, E imprecindível que tanto êsses acessos à memória por

meio da 8008 como a obtenção do estado interno não modifique

êste estado. O operador deve ser capaz de parar a máquina duran­

te um programa, ler a memória, observar o estado interno e dar

a ordem de continuação de processamento,sem que nenhum bit da

8008 seja alterado. Ora, como o processador participa ativamen­

te nas operações de painel mencionadas, a obediência a esta con­

dição de inviolabilidade da 8008 torna-se a parte mais crítica

do projeto. Isto implica de imediato que a comunicação painel­

-processador deve ser feita sob interrupção; dnica situação em

que a pilha de PC não tem seu conteudo modificado por instruções

outras que JUMP, CALL, RESTART e RETURN.

Tudo depende então de se associar a cada tecla do pai­

nel uma interrupção, ou uma sequencia ininterrupta de interrup­

ções;(o que significa dizer que a 8008 permanecerá,durante tôda

a sequencia, gerando TlI em vez de Tl);ao sinal de interrupção

inicial seguir-se-á, antes do fim do processamento da instrução

correspondente a essa primeira interrupção, um novo sinal de

interrupção, com sua instrução, e assim até o fim da sequen­

cia. Durante a execução da dltima instrução da sequencia não

haverá geração de interrupção.

Do funcionamento da 8008 sabe-se que a cada interrup-

Page 62: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

56

ção, ou sequência de interrupções, estará associada uma instru­

ção, ou sequência de instruções. Surge então o problema de gera­

ção dessas instruções, pois que não estarão na memória. Escolheu­

-se como maneira de produzi-las a matriz programável (MAPRO). Es­

sa matriz funciona como uma pequena memória de leitura exclusiva ,

e tem seu próprio contador de enderêço. E da MAPRO que a 8008 le-

rá as instruções correspondentes às interrupções geradas pelo

painel. Cada interrupção terá sua instrução armazenada na MAPRO

em posição bem definida. Acionar uma tecla de comando do painel

significará carregar no contador de enderêço da MAPRO um valor

que aponta para a instrução relativa à interrupção gerada por

esta tecla. No caso de uma sequencia de interrupções, o conta­

dor ser~ incrementado a medida que as palavras, colocadas se­

quencialmente na MAPRO, forem lidas, gerando a sequencia de

instruções anteriormente mencionada.

Esses programas de painel, se ·assim se pode chamá-los,

contidos na matriz programável, serão executados com a 8008 in-

~ terrompida, cabendo à própria MAPRO a geraçao dos sucessivos

sinais em L.I. (a tecla só é responsável pela primeira inter­

rupção que dá partida ao processo).

Page 63: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

57

III.2.2 - Teclas

Dividir-se-á as teclas em dois grupos: para memória e

para processador. As primeiras, quando acionadas, farão com que

as lâmpadas do painel funcionem em Modo Memória, ie, o conjunto

de 14 lâmpadas mostrará o enderêço onde se quer ter acesso e o

de 8 o dado lido:

- tecla END (endereço) - colocação do enderêço, indica­

do por chaves, num registro de 14 bits denominado

registro de painel (RP)

tecla ESC (escrever) - escrita na posição de memória,

cujo enderêço é dado por RP, do dado que está a­

fixado nas chaves (as 8 inferiores do grupo de 14

usadas para o endereçamento) (chaves imediato)

- tecla +l (incremento) - RP -- RP + 1

A não existência de uma tecla LER decorre da leitura

automática da memória provocada por qualquer uma das 3 teclas

acima.

As teclas para processador farão com que as lâmpadas

funcionem no Modo Cpu, ie, o conjunto de 14 mostrará o PC e o

de 8 algum registro:

- tecla EST (estado) - obtenção do estado interno da

8008. As chaves para selecionamento do registro

obedecem a convenção da 8008 (A-000, B-001, ••• )

(chaves registro)

Page 64: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

58

- tecla PAS (passo) - resolução da próxima instrução

do programa em memória. Durante a execução des­

ta instrução a 8008 não estará interrompida.

- tecla IP (instrução painel) - execução sob interrup­

ção da instrução afixada por 8 chaves (chaves

instrução). Esse octeto será concatenado com

as 14 chaves já existentes para formação da ins­

trução longa.

Os programas de painel para essas teclas sempre termi­

narão por uma instrução HALT. Além das seis acima, mais duas,

PARE e CONT (continue), se relacionam apenas com o funcionamen­

to do processador.

Page 65: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

59

III.2.3 - Matriz programável

A matriz programável do painel (MAPRO) é uma memória

de leitura exclusiva a diodos. Possui um decodificador que sele­

cionará uma das linhas da matriz. O endereçamento é feito por

meio de um contador que pode ser carregado com qualquer valor.

A MAPRO terá seu contador incrementado cada vez que a

8008 pedir uma palavra de instrução do painel (figura 3.1).

Entre TlI e T3A há tempo suficiente para completar a leitura

da palavra no novo enderêço. O nivel painel serve para diferen­

ciar o painel de outras partes do sistema de interrupção.

A matriz tem nove colunas. Oito destinadas à instru­

ção e uma para a interrupção. Nesta ~ltima, a colocação de um

diodo significará que não há sinal de interrupção no fim da

instrução. No caso de instruções longas, que ocupam mais de

uma linha na MAPRO, basta colocar o diodo na ~ltima palavra

da instrução para inibir a interrupção.

As teclas do painel carregarão no contador o enderê­

ço do programa de painel correspondente menos um (a razão é

que reconhecida a interrupção e chamado o painel, o contador

da MAPRO será incrementado, sôbre o valor carregado pela tecla,

antes da leitura da instrução) e gerarão um sinal de interrup­

ção inicial.

Os programas na MAPRO terminarão normalmente por uma

Page 66: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

60

instrução de HALT, que não deve gerar interrupção (na MAPRO

corresponde a uma linha com apenas um diodo na coluna de mi­

croprogramação da interrupção).

Os programas poderão ter partes comuns, mas pulos

dentro da matriz devem ser realizados por meio de circuitos

junto ao contador.

Page 67: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

teclas

1-i) 1-'•

crti 'v,I . .....

FILTRAGEM DOS

SINAIS E

GERAÇÃO DO

ENDEREÇO

(PCl+PCR).Tll.STROBE LO

CONT:

dec

painel

MA.PRO.

(matriz a

diodos)

LIB INT INST

L • 1 •

barra E

O\ 1-'

Page 68: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

62

III.3 - IMPLEMENTAÇÃO

A implementação do protótipo se diferencia do projeto

inicial pela redução do enderêço de 14 para 8 bits, o que in­

fluencia toda a fiação, pelas simplificações que introduz nos

circuitos combinacionais, e especialmente na organização do pai-

nel.

A matriz programável que armazenaria todas as palavras

das instruções dos programas de painel, agora passa a fornecer

somente o primeiro octeto, ficando a geração do segundo a cargo

de um outro circuito (isso se deve à limitação do espaço para ,

colocação dos diodos na placa onde foi montada a MAPRO). E cla-

ro, que, como o enderêço é só de 8 bits, a eventual terceira

palavra é desnecessária ("don't care"); pela mesma razão, ore­

gistro H da 8008 perde sua importância.

Os circuitos de decodificação do código de periférico

foram minimizados aproveitando a existência de poucos periféri-

cos.

A memória sendo de apenas 256 palavras, a decodifica­

ção do enderêço ficou a cargo do próprio módulo de memória (o

protótipo só tem um módulo de 256 palavras). Também, o enderê­

ço estando pronto em Tl, ie, bem antes da leitura do octeto da

memória pela 8008 em T3A, não houve necessidade de se trabalhar

com o sinal RDY, que permanecerá sempre ativo.

Page 69: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

63

Quanto ao painel, a largura de RP foi reduzida para

mi.to, evitando a multiplexação das partes alta e baixa sôbre

a barra E que ocorre quando se usa o RP de 14 bits.

III.3.1 - Organização do protótipo

A organização do protótipo é o da figura 3.2 (é inte~­

ressante compará-la com a figura 1.7). Os periféricos de saida

ficaram restritos a dois registros de 8 bits: um ligado a lâm­

padas que será usado tanto para mostrar o valor de um regis­

tro (Modo Cpu), como o valor lido na memória (Modo Mem), e o

outro servindo também como periférico de entrada. Essa ~ltima

ligação permitirá salvaguardar o conteudo da acumulador duran­

te os programas de painel que o utilizam para transferencias.

O sistema de interrupção é formado pela MAPRO, que contém os

programas de painel e que é inicializada através das teclas

(carregamento do enderêço inicial no contador da MAPRO, que faz

parte do contrôle da MAPRO) (figura 3.3). As chaves instrução

usadas pela tecla IP, e a trinca de chaves para seleciona­

mento do registro, fazem parte integrante da matriz de diodos,

por estarem programando diretamente (colocação ou não de diodos

nas interseções de linhas com colunas) linhas da matriz. O se­

gundo octeto das instruções longas é obtido, ou do registro de

painel (RP),ou diretamente das chaves imediato (êsse nome não

Page 70: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

64

significa que elas sejam usadas exclusivamente por instruções

de referencia imediata; instruções sôbre o PC também usarão

as mesmas chaves para o enderêço). A matriz se encarregará de

selecionar qual dos dois octetos deve ser colocado na barra E

(LIB INT IMEDIATO e LIB INT ENDEREÇO).

O registro RP,que está ligado às chaves imediato,mostra­

rá em Modo Mem o enderêço que foi carregado pela tecla END (END

gera SET IMEDIATO) ou incrementado pela tecla +l. ESC não atua

sôbre RP. No Modo Cpu, RP mo$trará o valor do PC carregado por

SET PC (gerado pelo processador sob ordem da matriz de diodos).

Os circuitos em detalhe se encontram no apêndice A.

Page 71: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

LI B MEM

LIB INP 7

LIB INT INST

LI B

LIB INT ENDEREÇO

65

PROCESSADOR

MEM.

.____ R/W

1 7

.____ CARR OUT 37

fig. 3.2

Page 72: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

PAINEL

chaves instrução

chaves registro

teclas controle

chaves Imediato

1-1) ..... (Jq

\JJ . \JJ

.

• -1 1 1 1

1 • 1 1 endereço 1

1 1

1

MATRIZ DE

DIODOS

CONTROLE 1 LIB INT INSTRUÇÃO

+ 1 1 1 SET IMEDIATO

1 1 1 ... ,.,,

1 1 LIB INT IMEDIATO

SET PC 1 - LIB INT ENDEREÇO

• °' °'

Page 73: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

67

111.3.2 - Programas de painel

são os seguintes os programas de painel das teclas do

microcomputador (o asterisco a frente da instrução significa

que é gerada uma interrupção ao final da execução):

- tecla EST (estado)

*OUT_l7 o acumulador é salvaguardado no periféri­

co 17; durante a execução desta instrução,

o conteudo do PC é amostrado (SET PC) em RP

*LAr transferência do registro r, selecionado

pelas chaves registro, para o acumulador

*OUT_37 colocação do conteudo do registro, agora

também presente no acumulador, no perifé­

rio 37

*INP_7

HLT

~ recuperaçao do acumulador

fim do programa; 8008 em STOP

- tecla IP (instrução painel)

*(instrução do painel) é a instrução programada nas

chaves instrução (primeiro octeto) e nas

chaves imediato (octeto da instrução longa)

*OUT_l7

*LAr

*OUT_37

*INP_7

HLT

Page 74: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

68

- tecla PAS (passo)

LLL nada faz; serve apenas para que a próxima

instrução não seja executada sob interrup-

~ çao

*(próxima instrução na memória) é a execução de mais

uma instrução do programa em memória (só pos­

sível com a 8008 não interrompida)

*OUT_l7

*LAr

*OUT_37

*INP_7

HLT

- tecla PARE

HLT para o processamento

- tecla CONT (continue)

LLL instrução fantasma que tira a 8008 do esta­

do de STOP

- tecla END (enderêço)

inicialmente RP é carregado (SET IMEDIATO) com ova­

lor das chaves imediato

*OUT_l7 salvaguarda o acumulador

*LHL salvaguarda o registro L em H

*LLI(RP) carrega em Lo valor contifo em RP (a ati-

Page 75: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

69

vação desta instrução na matriz programá­

vel colocará RP na barra E quando a 8008

solicitar o segundo octeto da instrução)

*0UT_37 instrução fantasma; necessária para com­

patibilizar este programacom o da tecla

ESC

*LAM

*LLH

*0UT_37

*INP_7

HLT

- tecla +l

leitura do dado

recuperação do registro L

colocação do dado no periférico 37

recuperação do acumulador

inicialmente RP é incrementado

*0UT_l7

*LHL

*LLI(RP)

*0UT_37

*LAM

*LLH

*0UT_37

*INP_7

HLT

- tecla ESC (escrever)

gera o sinal ESC até o fim do programa

Page 76: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

*0UT_l7

*LHL

*LLI(RP)

70

*LMI(chaves imediato) essa instrução substitui a

0UT_37 nos programas de painel das teclas

END e +l, quando o sinal ESC est~ no nível

um lógico

*LAM

*LLH

*0UT_37

*INP_7

HLT

A organização dos programas na matriz program~vel é

a seguinte:

teclas END, +l e ESC -----------------• 0000 *0UT_l7

0001 *LHL

tecla PAS --• 1000 111 0010 *1LI(RP)

{1ºº1 *( inst .mem.) {°º11 *0UT_37

tecla IP---• 1001 *(inst.painel) 0011 *LMI(imed.)

tecla EST --• 1010 *0UT_l7 0100 *LAM

1011 *LAr 0101 *1LH <E---------

1100 *0UT_37

1101 *INP_7

tecla PARE -• 1110 H1T

tecla C0NT -+ 1111 111

Page 77: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

71

O contador de enderêço da MA.PRO é programado por cir­

cuito para passar de 0101 a 1100 automaticamente. A instrução

em 0011 é escolhida pelo sinal ESC. Em 1001 a diferença é a

existência ou não da interrupção.

Para facilitar o projeto da MAPRO,no protótipo, prefe­

riu-se incrementar o contador de enderêço logo após a leitura

da instrução. O apêndice A indica qual o sinal de avanço do

contador para êste caso e a posição dos diodos de programação

da interrupção

Como a primeira instrução do programa é sempre proces­

sada sob interrupção, foi necess~rio introduzir, no programa da

tecla PAS, uma instrução LLL ("no operation") que não gera in­

terrupção.

Page 78: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

72

III.4 - CONCLUSÃO

Necessitando de poucas instruções, portanto de poucas

palavras, o painel encontra na matriz programável uma solução

econômica e flexível, pois possibilita a inclusão, alteração

ou substituição de funções de comando (são as teclas no painel),

com relativa facilidade. Poder-se-ia chamá-lo de painel micro­

programado, pois a coluna da interrupção na matriz tem uma fun­

ção de controle para o painel.

Os programas das teclas END, +l e ESC beneficiaram das

simplificações introduzidas na implementação do microcomputador

(os programas de painel para o Modo Cpu estão implementados de

maneira geral). A sua generalidade foi violada quando se salva­

guardou o registro L no H. Para o projeto ideal deve-se salva­

guardar H e L em registros periféricos como foi feito com o acu­

mulador. Há diversas maneiras de fazê-lo. A mais direta é utili­

zar novas instruções de entrada e saída para ler e escrever o

conteudo de H e L num registro periférico:

*OUT_l7 salvaguarda A

*LAL

*OUT_l6 salvaguarda L

*LAH

*OUT_l5

• • • • •

Page 79: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

73

• • • •

*INP_5

*LHA recupera H

*INP_6

*LLA recupera L

*INP_7 recupera A

O problema com a solução acima é a utilização de três

dos oito periféricos de entrada disponíveis. Com alguns circui­

tos combinacionais consegue-se ler H, L e A pela mesma instru-

~ çao de entrada, bastando utilizar o código presente no acumula-

dor para diferenciar entre os três registros:

*OUT_l7

*LAL

*OUT_l6

*LAH

*OUT_l5

• • • • • •

*LAI 5

*INP_7

*LHA

*LAI 6

*INP_7

*LLA

cinco é o código escolhido para o registro H

seis é o código escolhido para o registro L

Page 80: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

*LAI O

*INP_7

74

zero é o código escolhido para o acumulador

Outras soluções existem,que utilizam a técnica de amos­

tragem (como foi usada para o PC e~ RP), mas só devem ser apli­

cadas quando houver limitação na capacidade de memória da MAPRO.

Quanto aos circuitos montados no protótipo, e que estão

detalhados no apêndice A, deve-se observar os seguintes fatos:

- o processador foi montado de acordo com o projeto do

primeiro capítulo, apenas sendo usadoso RL para o en­

dereçamento da memória e alguns bits de RH para o có­

digo de periférico.

- no controle da multiplexação da barra E, introduziu-se

um circuito sequencial que separa as instruções de re­

ferencia imediata daquelas de referencia a memória,

permitindo assim a execução correta das instruções

LrM sob interrupção. Esse circuito foi incorporado ao ,

projeto para dar generalidade a MAPRO. E bastante sim-

ples pois tira partido do fato que a diferença entre

as instruções de referencia memória e referencia ime­

diata pode ser detetada apenas pelo bit DO do primei­

ro octeto da instrução.

- na MAPRO a diferença mais importante com o modelo

ideal, é o avanço do contador de enderêço ser feito

logo após a leitura da instrução. Isto implica

Page 81: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

75

em que no protótipo o enderêço carregado pela tecla

é o da primeira instrução, e não o da anterior a essa.

Aparentemente uma melhor solução, o avanço adotado na

implementação traz problemas na geração da interrup­

ção, pois no fim da execução de uma das instruções

do painel (que geralmente vem acompanhado por uma

geração de interrupção para que a próxima também

seja processada sob interrupção), quem deve gerar

o sinal em L.I. não é mais a linha dessa instrução

que termina, mas a próxima linha,j~ que o contador ,

aponta para ela. E certamente uma má solução para

o caso geral da MAPRO, mas no protótipo, a custa de

uma porta lógica para resolver uma das incongruen­

cias deste avanço no caso da geração de interrupção,

permitiu uma importante simplificação dos circuitos

de geração de enderêço e do contador.

Os testes efetuados programando-se o microcomputador

pelo painel permitiram a obtenção dos seguintes importantes re­

sultados:

- as instruções de rotação do acumulador estão incomple­

tamente especificadas no manual da INTEL. Em vez de

00 000 010 RLC

00 001 010 RRC

00 010 010 RAL

00 011 010 RAR

Page 82: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

76

o correto é

00 XOO 010 RLC

00 XOl 010 RRC

00 XlO 010 RAL

00 Xll 010 RAR

onde X pode ser O ou 1.

- as duas instruções inexistentes 00 111 000 e

00 111 001, que logicamente deveriam corresponder

a mnemônicos INM e DCM, ie, incrementação ou decre­

mentação do dado em memória, não atuam sôbre a memó­

ria, pois pertencem ao grupo de instruções que só tem

o ciclo PCI. Com umciclo só não é possível se ler e

reescrever um dado na memória. Entretanto, a 8008 in­

terpreta esses octetos como instruções de incrementa­

ção e decrementação; mas, sôbre que valor, já que

não se tem acesso a memória e nenhum registro foi

especificado? O que acontece, é que a ALU (arithme­

tic and logic unit) vai operar sôbre o que está na

barra interna a 8008. Como a barra estará neutra

(11111111), a incrementação produz 00000000 e a de­

crementação 11111110, valores que são perdidos pois

não são carregados em nenhuma parte. Mas, o cálculo

desses valores na ALU provoca a alteração dos "flip­

flop" de condição de acordo com o resultado. Na in­

crementação,como o resultado é zero, Z=l, S=O e P=l

Page 83: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

77

(as instruções de incrementação e decrementação não

alteram a condição C). Para a decrementação, como o

resultado é 254, Z=O, S=l e P=O. Foram escolhidos

dois mnemônicos para essas instruções: SETlOl e

SETOlO (INM e DCM não foram adotados para não con­

fundir o programador desavisado). SETlOl e SETOlO

são instruções de um ciclo só (PCI) constituido pe­

los estados Tl (ou TlI), T2, T3, T4 e T5; exatamente

como INr e DCr.

O protótipo é um ponto de partida para outros traba­

lhos que serão feitos usando a 8008. As atividades que devem

ser levadas adiante agora são:

- projeto e implementação de um programador de PROM

(Programmable Read Only Memory). Este projeto deve

ser suficientemente flexível para permitir a progra­

mação da maioria das PROM comerciais.

- montagem definitiva do processador em placas de cir­

cuito impresso, com fontes própria de +5 Volts e

-9 Volts.

Em seguida devem ser realizados a ligação do microcom­

putador a uma TTY, um CRT e um K-7 (fita magnética). Já se en­

contram em fase de estudo a ligação de uma máquina de escrever,

de um dispositivo de visualização e de uma fita "cassete".

Page 84: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

78

e o N e 1 u s à o

No primeiro capitulo descreveu-se uma organização de

barras para um processador que usa a INTEL 8008. Os circuitos

propostos foram implementados e testados com resultados intei­

ramente satisfatórios.

O simulador do segundo capitulo foi testado um grande

nwnero de vêzes nos computadores IBM/360 e IBM/370 do Núcleo de

Computação Eletrônica e demonstrou ser um instrumento útil para

o programador da 8008. Uma versão simplificada do simulador po­

de ser feita retirando-se do programa principal as facilidades

oferecidas pelos cartões de controle.

No terceiro capitulo apresentou-se os problemas práti­

cos ocorridos durante a realização. Fatores econômicos, quepe­

sam muito numa engenharia cara como a de computadores, forçaram

compromissos entre o ideal e o real. Mesmo assim procurou-seu­

tilizar material de boa qualidade (especialmente no que concerne

o "hardware 11, como chaves, teclas, etc.), a fim de evitar even-

~ tuais defeitos intermitentes, que sao o pesadelo do projetista.

A utilização ae placas para fiação "wire-wrap", aliada

a um trabalho de bancada sistemático, com documentação detalhada

e atualizada dos circuitos e fiação, e esquemas de teste cuida­

dosamente elaborados, permitiu que a montagem e testes finais

Page 85: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

79

fosRem concluídos após quatro mêses do seu início.

A montagem do microcomputador foi de grande utilidade

para o melhor conhecimento da 8008 (só conhecemos realmente um

computador quando sentamos frente a êle). Com o protótipo pode-se

corrigir e completar o material informativo do manual da INTEL,

cuja primeira edição contem inwneros êrros, e adaptar o simula­

dor a todas as idiossincrasias da 8008, tornando-o mais comple­

to que o próprio manual.

~ O universo dos microprocessadores nao se restringe à

8008. Outras companhias já lançaram modelos mais ou menos so­

fisticados que a CPU da INTEL (a própria INTEL já se superou

com o microprocessador 8080), e a tendencia é que mais e mais

empresas entrem nêste mercado. A grande incógnita hoje é o fu­

turo dos micros frente aos minis, ou, quem sabe, o futuro dos

minis, que vêem seu império atacado por anões. Talvez se encon­

tre a resposta no fato que várias companhias de minicomputado­

res já incorporaram circuitos LSI de grande complexidade a suas

máquinas (será que passarão a se chamar microcomputadores?).

O certo de tudo isso é que os microprocessadores abri­

ram uma nova frente no desenvolvimento de sistemas digitais, e

o projetista atualizado sempre os incluirá na lista de possí­

veis soluções.

Page 86: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

80

B I B L I O G R A F I A

1. "8008 8-bit Parallel Central Processor Unit" Intel Corp.,

November 1972.

2. Bruce Gladstone "Designing with microprocessors instead of

wired logic asks more of designers 11, Electronics, October 11,

1973, p.91.

Page 87: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

81

" APENDICE A

CIRCUITOS

Ilustração dos circuitos do protótipo.

figura A.l Processador

Unidade central de processamento, "interface" TTL-MOS

MOS-TTL para a INTEL 8008 e decodificação do estado

("status bits" SO, Sl e S2).

figura A.2 Processador

Obtenção dos ciclos, sinais de carregamento para RL e

RH e amostragem da barra E.

figura A.3 Processador

Registros RL e RH

figura A.4 Processador

Geração do pulso de escrita em memória e sincronização

do sinal de interrupção.

Page 88: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

bE7

bE6

bES

bE4

bE3

bE2

bEI

bEO

STOP

WAIT

"1 {12

i8008

82

+

RDY

--INT

TS

fig.A.l

D7

D6

D5

D4

D3

D2

D 1

DO

SYNC

SYNC

TIA

T2

T3

T4

Page 89: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

!62

SYNC

TlA

T2

T3 SYNC

SYNC

eco

CCl

eco

CCl

83

+

!622

STROBE LO

STROBE LO ~-----STROBE LO 2

STROBE HI b---t1~-------S T. OBE HI ~-------"'-S T ROBE HI 2

T3A

PCW

PCR

PCI

PCC

fig.A.2

Page 90: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

84

D o - io7i - -~--Jii.AO

AO

D ......- ....

1 - DCQ -Q~Al

Al

i.....-

D 2 - ~ ....

A2

A2

D ~ ....

3 - DCQ -Q~A3

A3

..__

D - -

4 .... DrQ CQ ~A4

A4

' .

D s .... DCQ ....

l~__. AS

AS

D 6 .... .--- ....

Q ºcQ ~A6

A6

..__

D7 .... ~ ....

Q A7

A7

--Q ....

ºcQ __.AS

A8

DCQ ....

Q ~ A9

A9

..__

St

,....__ .... Q

'li._O BE ºcQ -LO 1

.... A 1 O ~

AlO

ST

r:TT -llO BE u -LO 2 ----.,A 11

A 1 1

í::--õ .... D -~~A 1 2

A12

ST

-~ ... R.OBE

D -HI 1 ~~A 1 3

A13

ST eJ__. -- e flQ BE H 1 2 eco

co

~---e Q CC 1

Cl

fig A.3

Page 91: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

T3 !12 SYNC

PCW

,~2

T 11

INTERROMP DO

STROB HI _______ .....J

+

85

ut------..., 1 NT

fig A.4

Page 92: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

86

figura A.5 Memória

Oito módulos de 256 x 1 bits (INTEL 1101A).

figura A.6 Periféricos

Registros periféricos 37, 17 e 7. Registro de armaze­

namento das condições C, z, Se P. Duas LEDs (Light

Emitting Diodes), TI 209, para WAIT e STOP.

Page 93: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

m

LIB MEM

-

~o 1 cs ir o

Ai ...._

A2 -ê1

M. Ã5 -A6 ..._

A7

LBli D' 1-1) 1--'•

(Jg

:i:=-• V1

6 f_

R/W ~ D O J

bEl

cs o o

R/W Dj 1 1

cs o o

bE3

CS D o

R/W Di

cs o o

R/W D i

bE5

cs o o

R/W Di

bE6

CS D o

R/W Di

bE7

cs D o

R/W D i

(O -..J

Page 94: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

+ + r7 T ~

o AO ,. ~"' AO

bEO DO

e -- . -' ' D1~ \\ A 1 1 r:::,;-, 1 A 1 1

D,,Q bEl

A2 1 ~ 1-J~-\\l

A2 '

L .-, r: "L___L_ D2

bE2

A3 t ~ 1...--1 .....

l _ A3 t ~ t:::: \\ D3

bE3 .,,

1 ID

A4 I ~ "-----' ·\, l 1 1--1 t 1 / .-, A4 bE4

As l 1 ~ t 1 r \\ AS -

bE5 (X) (X)

A6 1 lr-7 '' 1 A6 1 1 r-:1_ L- PccJ-rlA12 bE6

A7 1 lr-t:7 ,,

1 A7 1 1 ,-e~~ T4 bE7

~+ H.i "" l \\ 1-'· ~ WAIT~ ~

LIB INP 7 ~ • \\ O"I

CARR OUT 37 CARR OUT 17

Page 95: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

89

figura A.7 Painel

Teclas para controle de acesso a memória. Filtragem

dos sinais (circuitos "anti-bounce"). Geração do en­

derêço da primeira instrução na MAPRO (MEM)

figura A.8 Painel

Teclas para controle do processador. Filtragem dos si­

nais. Geração do enderêço da primeira instrução (CPU,

Rl, R2, R3).

figura A.9 Painel

Contador de enderêço da MAPRO. O sinal gerado com os

sinais do processador, é diferenciado por um circuito

RC para obtenção de um pulso de 50 ns.

figura A.10 MAPRO

Decodificação do enderêço. Matriz de diodos. Circuitos

de geração de interrupção.

figura A.11 Painel

Registro RP e lâmpadas para visualização de seu conteu­

do.

figura A.12 Painel

Circuito usado na obtenção do segundo octeto das instru­

ções longas. Flip-flop para identificação das instruções

de referencia imediata e de referencia à memória sob in­

terrupção.

Page 96: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

90

o o 1- 1-e,: e,: u \; V') ...... o o UJ + UJ UJ ::e ::e

1- 1-w w V') V)

w a::

"' ~ i ""'

+ + +

+ + +

I• fig A.7

Page 97: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

91

1~

,~ + +

+

fig A.8

Page 98: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

~ 1-'·

Ot?

• • I.D

_ CPU

- R~

- Q?

_ R 1

+o-JR~ e

+o- KSQ

__M EM

~: _PCI

+ l '.....J ~ - _. ,J RQ

+- 17 ' s - - _I )

+

6---C]---

11H=J-

l ' R7 T ,J ,J

+ _-----, ' - ....1 ) s

-

~--1 y

'- AVANÇO ~

Lw

""' li it .... Jl ....

ó-JS:: e ~~

Q3

Q2 --Ql -

ECPU _

ÊMEiL I..Ü 1\)

Page 99: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

- -

3K3ó ó óóó Oóó -y -- . . - . .

Ql 1 .. • .. ... .. . .. . ..

?} . ~ . .. • . ..

dec i3

~ - . :MEM - y ll ....

Q2 dec

QJ

.......

...

~~~~ ~~~~~~ ~~~~~~ t '

, , '

, , ' mi ·~1 -~1 ·~1 -~, ~1 ~, ~1

-...J C7' V1 .J::-vJ N _. O

ó 11L..11, f'-" 1 V

1 NTERR. PCC , ' -1

y -1 -y

-

l )>-T3A - 1 -

• 1 )>-

OPC/PC _

.

ENDPAINEL

-J '"\. -- E S C

1 1 R I NT I N ~ T

e:/ diodo

-L • 1 . e.

I..D \>l

Page 100: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

94

+-- , , :::: ~ ';:: ~ ,.., , , ::::; ,,~ , , :::: ~ ,::=: , , :::; .... -- . .., .... ·-

.... . ... . ~

m - - bE4 - bE6 -bEl bE2 bE3 bES bE7 j ~ ~ j j j j j

.)1.... ;~ ~ ..... ~ A J\I

/~ )~ LI B I NT 1 1 ',, ' 1 1 1

E~DEREÇO 1

~ __ ~ / \! 1/\ 1.--- -- - ~

1

,- .,_ ..,_ .,_ ~

..,_ ~ t--

RESET RP 1 -... RP2

- RP_3

_Jo~ j_ -~,-

....JL.. ,......JL .....JL .....JL ..,_ .... D RC .... ..... DRÇ,.. .,...DRQ- -DRQ ... - DR(- .....DRQ ....

/ ±1 csr csc "S Q ~ .... CSQ ,. s Q ~SQ 1-0- .... c sr ~SQ ,.. ....

.,- -,r ..,,.... -,,- ...,r --,,- ....,r ---;:r

(_\ '

ô ô (J (_j (J (J s ET

1

,~r r',~I / ~.,-... ,...., ,.... /°""I l1r","' "",...., IMED. li

l SET - PC

-CIO - AO .....

c 1 1 Al -- .....

_c 12 A2 ......

.,Ç 1 3 A3 -

_e 14 A4 -

CIS AS --Cl6 A6 -- -

...C 17 A7 -

fig A.11

Page 101: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

95

+

CIO bEO

······ e 1 1 bE1

····· Cl2 bE2

bE3

Cl4 bE4

...... CI bE5

bE6

CI bE7

-LI B INT IMEDIATO

DOA

-AVANÇO DOA

fig A.12

Page 102: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

96

figura A.14 Barra E, painel e periféricos

Circuitos para carregamento dos periféricos, multiple­

xação da barra E e carregamento de RP.

Page 103: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

97

PCC -T3 -'- CARR OUT ..37 Al2 .I

Al3 PCC '\

T3 - '\.. CARR OUT 17 .... Al2 - _j-

Al3

PCC: Al2 D LIB INP l

PCI

D C> LIB INT l,NST INTERR. :

PCR

ENDPAIN~ ~ C> LIB INT END.

LIB INT IMED. DOA PGR

INTERR. ENDPAINE,L,

DOA LIB MEM

INTERR. ------------~ eco--------------...-

RESET rME.,T.'_n_rA_T_o __________ r-,D ______ RP_1_.

D RP2 • TlA.-.-------r ·~)'\.__._~ -------

OPC/PC D------R_P_3 ___ _

PCI -----, SET PC T3A _________ _

fig A.14

Page 104: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

98

A P E N D I C E B

COMO USAR O SIMULADOR

Os dados do simulador serão constituídos por cartões

de controle e cartões de dado ou programa. Esses tlltimos terão

o código binário da instrução perfurado nas 8 primeiras colunas

do cartão. k:lcolunas de 9 a 72 estão reservadas para algum co­

mentário e as de 73 a 80 para o nome da instrução se o programa­

dor desejar. Apenas o código binário é obrigatório.

Os cartões de programa virão precedidos por cartões

(sem formato) que irão especificar o primeiro e tlltimo enderê­

ço onde deve ser carregado o programa em memória.

Page 105: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

99

Os cartões dos programas:

{endj - endj + 1)

CARTÕES DE INSTRU ÃO

endj·

000110001

CARTÃO OE FINALIZA ÃO

end >end X y

endk

• • • • •

end · y

Page 106: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

100

Disposição dos cartões no simulador:

CARTÕES DE

CARTÃO EM

CARTÕES DE CONTROLE

JOB

o 30

8 9 DD *

PROC OPTIONS(MAIN

O SIMULADOR ou

PROG.PRINCIPAL

CARTÕES JCL

Page 107: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

CARTÕES DE

CONTROLE NOME DEFINE

Cartão PAG PAG tamanho da

página

Cartões ROM pág. ROM

TIPO RAM pág. RAM

EQU pág. equival.

a outra

ZER pág. só lê O

UM pág. só lê 255

Cartão IMP IMP pts. de quebra

Cartão 'p"'p "'p fim dos cartões

BRANCO de controle

OBSERVAÇÃO CART0ES

deve vir antes dos O a 1 cartões tipos

podem vir e~ qual-

quer ordem após o

cartão PAG

O a oo

pode vir em qual- O a 1 quer posição

é o liltimo car- 1

tão de controle

"DEFAULT"

256

O cartões implica em

páginas RAM; 1 ou mai

implica em acesso pro

ibido às páginas não

definidas.

O a 16384, ie,

toda a memória

(esse cartão é obri-

gatório)

s

...... o ......

Page 108: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

FORMATO DOS CARTÕES DE CONTROLE

coluna fç. PAG ROM ZER UM RAM EQU IMP

1 a 10 nome PAG ROM ZER UM RAM EQU IMP 11 a 15 tl tam.pág. tempo leitura enderêço tl(incl) 16 a 20 te tempo escrita ao end. te(excl)

21 a 25 pm{l) página pm(i) inclusive_,a. pm(i-l)=pm(i) end. pm( i) (incl)

26 a 30 xm(l) página xm(i) exclusive, • ao end. xm(i) . •

31 a 35 pm(2) onde i varia de 1 a 6 • (exclusive) xm(i-1)-l=pm(i)+k , 36 a 40 xm(2) pm(i-l)=pm(i)+k+l onde i varia de 1 41 a 45 pm(3) • a 6.

• 46 a 50 xm{3) •

• pm(i-l)+j=xm(i)-11

1

1--' 51 a 55 pm(4) o

f'v

56 a 60 xm(4) onde i=2,4,6

61 a 65 pm(5)

66 a 70 xm(5)

71 a 75 pm(6)

76 a 80 xm(6)

-A página pode ter qualquer valor que seja uma potência de dois entre 1(2º) e 16384(214 )

-A fç. nome é "left-justified"; as outras são "right-justified".

Page 109: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

103

A p E N D I e E e

LISTAGENS

Programa em linguagem PL/1 para a simulação de um micro­

computador que usa a 8008.

Este programa exige de 90 a 100 K de memória.

Page 110: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

<;rMUA: PROCF.OURF OPTIONS (MAINl; ~~ ENDFILF(SYSIN) GOTO GRAN_FINAL; NOVO_PROGRAMA: RFGIN; ON fNílPAGF (<;YSPRINT) BFGIN; PIJT PAGE; TF FJ~_OA_DAQTF_INTCIAL THFN PLJT EOTT ('TPC PC INST C l 5 P A ' E STA O n $' l ( cm { l g , , A , C n L( 9 7 ) , A} ; F N f) ;

PUT LINE(30l;

B e o E H l M',

SIMUOOOO <;IMU0005 SIMIJ0006

SIMUOOll SI~U0012

...... o .,.

Page 111: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l**~******************************************************************ISIMUOlOO I* OFCLARACAO E lNTCIALIZACAO DAS VARIAVEIS PARA 8008 •ISIMIJOlOl /*********************************************************************/SIMU0102 nc L I* llEMfNIQS_.!2f-11EMUE.1LllU_MltR1Lf.B.Q~ESSAQUB SIMU0104

FLTP FlílPS DE CONOTCAO: FFCONO(Ol=CARRV=RORROW SIMU0106 l ZERn SI~UOlOR 2 SYGN SIMUOllO ~ PRTY SIMU0112

FF ílF TNTFRRUPCAO : INTERRUPT SIMU0114 RFGISTROS DF. INDEXACAn: RFGINOFX(O)=REGISTRO A STMU0116

1 B SI MUO 118 . 2 e SIMU0120 3 f) SIMIJ0122 4 F S P,1U0124 5 H SIMU0126 6 L <;t~UOl?A

ACllMllLADOR . ACIJMULADOR.::RFGINDEX(O) SIMU0132 . Cíl~TAílORFS OE PROf,R~MA: PC SIMU0134 REGISTROS TF.MPQRARIOS . RFGA E REGB SIMU0136 . RFGISTRíl OE INSTRUCAO: RFGI SIMU0138 AP 1NTA DOR ílF PC . IPC STMU0140 . APONTAnOR DE RfGINílEX: IREGINO *I SIMU0142

(FFCflNn(n:3}) FIXFf) RIN(l) ,5IMIJ0144 CARRY(l) FIXFD BIN(l) OFF FFCONO(lSUB-1) ,5TMU0146 BORROW (l) FIYEO BIN(ll OEF FFCOND(lSUB-1) ,SIML10148 ZFRO(l) FTXFO BIN(l) OFF FFCONO(l5U8) ,SIMU0150 SYGN(l) FTXEO BIN{ll OEF FFCOND(lSUB+ll ,SIMU0152 PRTY (1) FJXFD AIN(l) OEF FFCnNO(lSUB+2) ,SIMU0154 I NTFR~ UP T FIXFO RlN{ 1) INIT(O) ,SIMU0156 R EG T Nf) EX ( ('I .: 6) FTXEO BPHA) INTT((7)0} ,SIMU0158 I\CUMUL AOnP ( l l FIXFf) Bl1\J{8) DEF RFGINDfX(lSUB-1) ,SIMU0160 ºC(0:7l FIXEO IHN(l6) INIT((8)0) ,SIMU0162

(RFGA,REGB) FIXFD BIN(A) tNIT(O) ,SIMU0164 REGI BIT(A} ,5IMU0166

( IPC, IREGTNO) FIXEO BIN(3) INIT(O) ;$T~U0168

..... o u,

Page 112: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

ncL

ílCl

'* j[ARlA~fl.S_B.fEfR.ENI.ES._A_Mf!:1QBlA_fXll!U:lA_AQ_ee.oc.ES.S ADQR_lftQQ.6 S IMU0200 TA~ANHO DA PAGINA . PAG . ílF~l~!CAO DA MEMDRlA: IMAGEM_MFWlR IA RílM,RAM, ••• : TIPO 11 8ílOT<;TRAP" . CARREGAMENTO . TF"1P8S ílF ACE<;~Q ~ . TEMPO_LF.: tTURA .

CAnl\ MOíllllO TEMPO_ESCRITA "1FMOPIA REAL : ~EM FNnERFCíl DARA MFM . TMFM .

PAG FTXFO BIN{16l INtT(?56) M Flx'FO R!N{l6) OFF PAG

l !MAGFM_MFMílRIA(*l CTL ? TIPO CHAR(1l ? e ARR FGAME I\J rr, RTT(l) 2 TEMPO_LFITURI\ FIXFD OEC(5) ? TEMPO_E<;CRtTA Flx'EO DFCP5 l

~EM(0:16381) BIT(8) T~fM FTXEO DFC(~) INIT(Ol

I* YARlAYElS_AUXlllABES._fABA_CAB&.E.GAMf~ID_QQS_eBOG&A~A~------DEFINIC~o on TIPO OE MEMORIA : CONTROLE LIMITES DAS PAPTES DE UM PPOGRAMA: INICIAL E FINAL IN~TRUCAO LIDA : INSTRUCAO OB~ERVACOF.S DO PROGRAMADOR : COMENTARIO

(INICIAL ,FINAL) FJXED OEC(3) INIT(O) CONTROLF CHAR(3)

(TL,TFl FTXFO DEC(5) (PM(6l,XM(6)) FIXED BIN(l6)

COMFNT ARJfl

l NSTRUCAíl

CHAR(64)

CHAR ( 8)

SIMU020? SIMU020( SIMU0206 SIMU0208 SIMll0210 SIMIJ0212 SIMU0214

*/SIMU021A ,SIMUO?l8 ,<;IMU0220 ,SIMU0222 ,STMU0224 ,SIMU0226 ,SIMU0'.'28 ,SIMU0230 ,SIMU0232 ;SIMU0?34

S IMU0250 SIMU0252 SIMU0254 SJMU0256

*ISIMU0258 ,SIMU0260 ,STMU0262 ,SIMU0264 ,SIMU0266

,STMU0?68

;SIMU0270

1-' o

°'

Page 113: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

ncL I* YA~lA~flS_RA~A-lMRRESSAQ_QQS_~ESULIADQS A l NC::TRUCAO PRO( E~~ AOA : NOME_OA_ lNSTRUCAO IMEDIATn,MEMORIA nu REGISTRO : TIPO_OE_RFFERFNCIA O REGISTRO USADO : NOME_OO_REGISTRO O "FLJP-FLOP" TFSTAOO : NOME_DO_FF DIZ OUANOO HOUVF SALTO O QllF FOI ESCRITO NA MFM DADO f1E FNTRAf'l.l\ TFNTATIVA OF ESCRITA FM ROM IMFOIATO OU MEMORIA TFSTE SF 1 llU O "BPl=õKPOTNTS" QUANDO JMPRJM[P lNSTRUCAO QUANnn IMPRIMIR CABFCALHO

: OBSERVACAO : OCTETO : TRUE_FALSF : TRACE_ON : IMPRIMA

TRACE_OFF

: FTM_DA_PARTE_INICIAL

SIMU0300 StMU0302 SIMU0304 SIMU0~06 S IMU0308 SIMU0310 S t MUO ":\ 17 SJMU0314 SIMU0316 SIMU0318 SIMU0320 SIMU0322 SIMU0324

*/SIMU0326

NOMF _O!\_ I N<: TRlJCAO TIP~_DE_REFFRFNCIA ~OMF_OO_RFr.ISTR0(0:6l NOMF_no_F F (O: 1)

CHAR(6} CHAR(ll CHAR ( U CHAR (1 ) CHAR(8) CHõ.R ( 1) BIN{lól BIN(Hd RIT(l) RJT(l)

JNIT(' 'l ,SIMU0328

(íl8SERVACAn,OCTETOl TRUF_FALSE TRACE_ON(7l FIXFO TRACE_OFF{7) FIXEn J MPR tMA FIM_OA_PARTE_INICIAL

tNIT{' ') ,~IMU0330 INIT('A','B','C','D','F','H','L'l,SJMU0332 INIT(•c•,•z•,•s•,•P•) ,SIMU0334 INIT(' 'l ,SIMU0336

INIT{(7l0) I N I T ( ( 7 l 1 6 3 84 l INJT('l'Bl INIT('O'B)

,SIMU0~18 ,SIMU0340 , S IMU0342 ,SIMU0144 ;SIMU0346

~

o -...:i

Page 114: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

ílCL I* YA3.1AYf.l.S_fAB.A_C!J~I8.0LE._QE_ELUXQ_ftiIB.f_MQ!2ULQS SIA4IJ0350 OECOOIFICACAO INICIAL DA INSTRUCAO: DECOíllFICACAn_DE_07D6 SIMU0352

(A or-cooIFICACAO nE 050403 FFITA POR TESTFS) SIMU0354 DECODIFICACAO_DE_020100S IMU0356

ílFCOOIFICACAO FINAL DA INSTRUCAO : LABEL_ROTATF SIMU0358 LAB~l_JUMP_CALL SIMU0360

~FLECAO 00 PFRIFERICO : MODULO_INP SIMU0362 MODULO_OUT SIMU0364

JNSTRUCAO SOA INTFRPUPCAíl SJMU0~66 PRIMEIRA PALAVRA(INSTRUCAO) : ~FGUNOA PALAVRA(IMFDIATO OU :

INT_PCI TNT _PCR_ I INT_PCR_MM

SIMU0368 SIMU0370 SIMU0372 SIMU0374

TERCEIRA PALAVRA((FNDERFCO) : SEMAFOR~ IOFNTIFICAílOR Df JNSTRUCDES

COM REFFRFNCIA 1 JMEOTAT0 1 : LABFll (=MODULO_ALU OU SIMU0376

cn~ REFERENCIA 'MEMORIA'

CONTROLE P/ "ALLOCATF" IN~ICF~ PA~A OFCnntFICACAíl QU~L O PERIFFRICO Sfl FCAn OA HffFRRUPC An

INICIAL

=MOOULO_lR_MI@lSIMU0378 : LABEL2 (=MODULO_ALU OU SIMU0380

=MODULO_LRM@l SIMU0382 : LABEL3 : 07D6,D50403,D20100 : VALOR_PERJFFRICO : VALOR_OA_INTERRUPCAO

SlMU0384 S1MU0386 SIMIJO~A8

*ISIMU0390

{ílfCílílIFICACAíl_DF_D706{0:3),DFCOOJF1CACAO_OF_02DlD0(0:7}, LARFL_RílTATf{Q:~J,LABFL_JUMP_CALL(0:1},

SIMU0392 SJMU0394 SIMU0396 SlMU03()8 SIMU0400 SIMU0402 SIMU0404

Mnnutn_tNP(0:7),MOOULO_nUT(l0:37), LABfll,LARFL2,LABEL3)

{TNT_PCI{ 5),INT_PCR_I( 5),INT_PCR_MM( 5)) (D706,D504D3,020100) ( V Al OR_ Pf RI FERI CO, VALOR_OA_ INTERR UPCAO)

LABEL, LABEL , FIXED BIN(3) , F I XEO OFC ( 2) ;

1-' o 00

Page 115: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

11C L- I* YABlAITIS_AllXlllARfS RFLOGIO "TEMPO REAL": NUMERO_DE_FSTADOS CALCULn DO ENOfRFlO : FND_MEM CALfULO no MOílULO : MOO_MEM "BUFFFR" OE SAIOA : nuT_lATCH

(NUMERn_nE_FSTAOOS*4 FORNFCF TEMPO FM MICROSFGUNOOS) TESTE O ou 1 no~ FF : CONDICAO PARA CALCULO nns FF : RFGTESTE PA~A CALCULO nF PRTY: NN

CONT ADílR PARA CALCULn nn CARRY: UNDERFLOW

SIMU0450 SIMU0452 SIMU0454 SIMtJ0456 SIMU0458 SIMU0460 SIMU046?. SIMU0464 SIMU04ó6 SIMU0468 SIMU0470 SIMU047? OVERFLOW

CARRY PAPA A ROTACAO: CARRYAUX *ISIMU0474

~UMFRO_DF_ESTADDS FIXEO OF.C(15} INIT(Ol, (FNO_MFM,PA½_MEM) FIXEO BIN( 16t ' MOO_MFM flXFíl BlN(l6) OEF PAG_MEM,

') V F R F 1. OW ( l ) FIXF.D BIN{ 1) INIT(OB), UNDFRFLOW ( l) FIXED BIN( 1 ) DEF OVERFLOW,

(CONíllCAO,CARRYAUX(l)} flXFn BIN( 1) ' (~EGTESTF,nur_LATCH) FIXEíl BIN( 8) ' ( NNN, CONT AOOR) FIXEO BIN( 5) .

't

I* VARIAVFI~ OFFINIOAS OFLO U~UAPtO *I DFCLARE DAOO_DF_fNTRAOf\(0:7) FTXEO BINARV{A) JNITTAL((8)0l,

FFLATCH FIXFD BIN(B); DCL ~TOPPFn FIXFíl ijlN(l6) TNIT{O); DCL GUARDA_hCUMllli\OOR FIXfO AIN(A);

SIMU0476 ST~U0478

SIMU0480 SIMU0482 SIMU0484 SJMU0486 SIMU048B

SIMU0498 SJMU0490 SIMU0492

SIMU0494

~ o I.O

Page 116: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

!************************************************* *******************/SIMUlOOO '*** M n nu Ln l F I Tu R A e ARTA o e o N T R o L E*** */S!MUlOOl l*******************~*************************************************ISIMU1002 LEIT!JRA_CARTA7_Cf"'JNTRrJLF: GfT FDIT(CONTROLE)(COL(ll,A(3)) COPY; SIMlJ1004

IF CnNTRnLf= 1 PAG' THEN o~. GET fDIT(PAG,(COl(lll,f{5), cnPY; !F PAG>l63B4 THFN PUT LIST ('PAGINA ULTRAPASSA l!MITE',PAG); TF PAG=llPAG=?f PAG=4fPAG=PIPAG=l6f PAG=~?IPAG=64IPAG=l28IPAG=256I

PAG=512IPAG=1024IPAG=204BIPAG=4096f PAG=8192IPAG=l6384 THEN GOTO LF I TlJD A_CART AO_CONTRflLF; EL~E oo; PUT L15T ('PAGINA OFFINIOA NAíl FOI UMA POTENCIA DE 2');

GOTO FNDF; FNO; GOTíl LETTURA_CARTAO_CONTROLE; END;

IF CONTROLE='fOU' THFN 08; IF ~ALLOCATTON(TMAGF~_~EMORIA) THFN DO; LAAEL':\=EQll; ~1Tíl IMAGfM_TNIClAL; E~D;

FlU: GET ~DIT ((PM(I),XM(I) no J=l TO 6))(COL(2ll,12 F(5)) COPY; no I=?,4,6; IF PM(I)>=X~(I)IPM(I-lJ>=XM(I-ll THEN GOTO LOOPIO;

1) O .J= O TO 1 6 3 8 4 W H I L E ( ( P M ( t) + J ) ~=X M ( I )) ; T I P O ( P M ( Il + J ) = ' E Q U ' ; TfMPn_LFTTURA(PM(Tl+Jl=PM(I-ll+MOO(J,XM(I-11-PM(I-ll );

FNO; tnOPlO: FNíl;

GOTO LFTTURA_ChRTAíl_CílNTROLF; fND;

SIMU1006

SIMU1010 SIMU1012 SIMU1014 S P4Uln 16 SIMU1018 SIMIJ1020 SIMU1024

S IMtH030 SIMUlíl32 SIMU1034 SIMU1036 STMU1038 SIMU1040 SIMU1042 SIMU1044 SIMIJ1046 SIMU1048 SIMU1048

1-' 1-' o

Page 117: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

IF cn~TR~LF= 1 RílM'ICONTRnLE= 1 RAM 1 THEN ~n; (F ~ALLnCATION(IMA~FM_MFMnRTA) THEN on; LABFL~=POM_RAM; GOTO IMAGEM_INJCIAL; END;

ROM_RAM: GFT EO!T{TL,TE,(PM(I),XM(Il on I=l TO 6l}(C0L(ll),l4 F(5)) COPY;

no I=l TO A; IF PM(l)>=XM(I) THFN G• Tn LOOP_RnM_RAM; nn WHILF(PM(Il~=XM(I)); TIPO(PM(I))=CONTROLF;

TEMPO_LFJTURA(P~(I))=TL; TEMPO_ESCRITA(PM(l))=TE; CARRFGAMENTO{PM(Il)='l'B; PM(l)=PM(I)+l; END;

LOJP _ROM_RAM: P.m; r,orn L E1TUR A_CART AO_CONTROL f; ENíl;

IF Cíl~TROLF= 1 7fR' ICONTROLF='UM' THEN DO; IF CONTROl~=•ZEP' THEN REf,f= 1 00000000 1 B; ELSF REG!='llll]lll'R;

TF ,ALLOCATION(IMAGEM_MEMORJAl THEN DO; LABFL3=ZER_UM; GOTO TMAGfM_INTCIAL; END;

GOTO !MAf,EM_INTCTAL; ZFR_UM:

GFT Ff'lT(TL,n=,(PM(I),XM(Il no I=l TO 6)HCOL(lll,14 F(5)) COPY; nn T=] TO 6; TF PM(l)>=XM(T) THEN GOTO LOOP_ZER_UM;

on WHILF(PM(I),=XM(l)); TIPO{PM(Il)='ROM'; TFMPO_lEJTURA{P~(I))=TL; TEMPO_FSCRITA(PM(I)l=TE;

no IMFM=PM( It*M TO PM(l 1*(M+ll-1; ~FM(IMF.M)=REr.T; END;

CARREGA~ENTn(PM(!)l='O'B; PM(l)=PM(Il+l; ENO; LOOP_ZFR_UM: FND;

GOTO LFITURA_CARTAO_CONTROLF; rNíl;

TF cnNTROLE='IMP• THEN oo; GFT EOfT((TRACF_ON(Jl,TRACE_nFF(T) on I=l TO 7l)(Cíll{lll.14 F(5))

COPY; GOTO LEITURA_CARTAíl_CONTROLE; END;

<;IMU1052 SIMU1054 SIMU1056 S TMLJ1060 SIMU106? SIMU1064 SIMU1066 SIMU106A S It-!U1070 SIMU1072 SIMU1084

SIMUl086 SIMU1088 SIMU1090 SIMUl092 STMU1094 SIMU10CJ6 SIMU1098 SIMU\100 SIMU1102 S TMUl 104 S1Mlllll2 ~ IMllll 14 S1MU1116 SIMU1118 SIMU1120

SIM1Jll22 SIMtH124 SIMU1126 SIMl.11128

1-' 1-' 1-'

Page 118: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

JF cnNTROLF=• 1 THEN GílTO ~AQUINA_OFFINIDA; PUT LJST( •CONTROLF NAO JOENTTflCAon•1; GOTO FNOE;

IMAGí-M_INTCIAL: ALLOCATE IMAGEM_MEMORIA(0:16384/M-lJ; on I=O Tn 16~84/M-l; TIPfl{Il=' •; CARRfGAMENTO(I)='O'B; TFMPO_LEJTURA(Il,TFMPO_ESCRITA(lt=O; ENn; GOTO LABEL3;

MAQUINA_ílEFINinA: IF ,ALLnCATinN(l~AGFM_~fMORIA) THE~ oo; AI LOCATF. I~AGFM_MF.MORl~(0:16384/M-ll;

INJCIALJZACAO: on T=O TO 163A4/M-1~ TJPn(T)='RAM'; CARREGA~ENTO{T)='l'B; TFMPO_LEITURA(J),TEMPO_FSCRITA(l)=O ; FNO TNICI Al IZACAn; FNO; PUT EDIT((I,TIPO(I),CA~REGAMFNTO(Il,TEMP~_LEITURA(I),TEMPn_ESCRJTA(ll

nn 1~0 TO 16384/PAG--l)l (CnL(l1),F(4),X{?), A(3l,X(?l,B(ll,X(2l,F(5),X(2l,F(5));

on T=n rn 16384/PAG-1; JF TIºíl(ll='EJU• THEN IF TIPO(TFMPO_LFITURA(l))=•EQU' 1

TIPO(TEMPO_LFITURA(l))=• 1 THEN DO; PUT SKIP lJST{'FRRO OE FOUIVAlfNCTA DF PAGINAS(EQlJ=FQlJ / FQU= )'); FNn; FLSE; FLSF; ENO;

SIMU1l40 S!MU1142 SIMU1144

SYMU1146 c;tMIJ1148 SIMU1150 SIMU1152 SIMU1154 SIMU1156 SIMU1158

Sl~Ull70 S IMUll 72 c;JMlJllBO STMlJll82 SIMU1184 SIMU1186 <iIMUllAR SIMIJ1190

1-' 1-' N

Page 119: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l*********************************************************************ISTMU1500 I* *********PR O GRAMA~ PAR A A ME M íl R 1 A ***********ISIMU1501 l*********************************************************************/SIMU1502

CARREGAR: /* C~RREGAMFNTO DOS PROGRAMAS F CONSTANTES NA MEMORIA n PPIMEIRO CARTAn nF DAOílS SfRA UM CARTAn EM BRANCO. VIRAO A ~EGUIR OS RLDCOS OF PROGRAMAS. O ULTIMO CAJHAO CílNTFRA 0015 NUMEROS POSITIVOS QUAISQUER Vtl\100 íl MAIOR EM PRIMEIRO LUGAR.

SIMU1504 S1MU1506 SIMU1508 SIMU1510

*ISIMU1512

GFT SKIP LIST(INICIAL,FINAL); SIMU1516 I* lilTUB.A_ Qç_lf~_RlQCQ_[lf_PRQliRAMA S JMU1518

PRIMEIRO CARTAO DO BLOCO CONTEM DOIS NUMEROS: SIMU1520 O~ ENDERECOS LIMITES DO PROGRA~A NA MEMORIA. SIMU1522 ~E~UF-Sf CARTOFC TN~TRUCAO E CONSTANTE */SfMU1~24

TF TNJCTAl>FTN~l THFN /* FTM DO CARREGAMENTO *I GOTO IMAGEM_OA_MEMORIA;SIMU1526 no I=INICIAL/~ rn FINAL/M; SIMU1528

TF CARREGAMFNTO(I)='O'R TMFN DO; SIMU1530 PUT LJST( 1 CARRFGA~ENTO PROIBIDO NO MODULO',I); SIMU1532 GílTO ENOF; SIMU1534 FNn; CNO; SI~Ul5~6

..... ..... ~

Page 120: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

1 EITll~A_DF_IN<;TPUC~FS:/* EflRMA!Q_DQS_~!filüES_Uf_l~SIB.UCA!.Lf_CQ~SIANif SIMU1538 COLUNA FUNCAO SIMU1542 l A 8 INSTRUCAO OU CON~TANTE SOB FORMA BINARIASIMU1544 q A 7? COMENTARIO (OPCIONAL) SIMU1546

73 A 80 NnMF. ílA INSTRUCAO OU NUMERO DECIMAL STMU1548 COMFNTARIO F NOME SAO OPCIONAIS */SlMU1550

DO !MFM=INICIAL TO FINAL ;SIMU1552 GFT FnIT(MFM(IMFM),COME~TARIO,TNSTRUCAO) SJMU1554 {COLUMN(lt,B(8),l(64l,A(8)l ;SIMU1556 PIJT FílIT(MEM( tMEM) ,HffM, TNSTRtJCAn,CnMENTARtn} S1Mlll558

(CnLUMN(23),8(8,,C• LUMN(35},F{3),COLU~N(40),A{8),COLUMN{50l,A(64));SIMU1560 FNO LFTTIJR~_Df_TN<;TRUCílE<; ;<;JMU156? PUT PAGF; SIMU1564 <;OTO C ARP FGAR; SI MU 1566

IMAGEM_OA_MEMORJA: FIM_ílA_PARTE_INICIAL='l'B; PIJT PAGF;

GOTO MODULO_HLT;

SI MlJl 800

..... ..... .;:..

Page 121: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l*********************************************************************ISIMU2000 I* **************MO OU l O t N TER R U PC A n *****************ISJMU2001 l*********************************************************************ISI~U2002 MOOUlO_INTfRRUPT: T NTF:RR UPC AO_UM:

IF STOPPFíl<=l/* CONOICAO PAPA HAVFR INTFRRRUPCAO */ THEN oo; ~TOPPEO=~TOPPFO+l;

INTERRUPT=lB; VALO~_nA_INTERRUPCAO=l;

I * GOTO MOOULO_PC I; * / GOTO ~ODlll O_PC t 4l; INT_PCT(l): RFGI='llOOOOOO'B; I* LAA */ GOTO MODULO_OECODTFTCACAO; INT_PCR_MM(l): RfGB=•oooooooo•B;

RFGA=•oooooooo•B; GOTO M• OULO_J_C@; INT_PCR_I(l): RFGB:•nnnoonoo•B; GOTO lABFLl;

ENO; lNTERPUPCAO_O~JS: !F '-10D(NUMERO_OF_E'STAf)OS,2"i6)>·=250 THEN no; INTERRUPT=lR; JMPRTMA='l'R; VALnR_nA_INTFRRUPCA0=2; JNT_PCI(2): REGI= 1 1100100l'A; /* 6LBB */ GOTO MOOULO_OECOOIFICACAO; TNT_PCR_MM(2)! REGR=•oooooooo•B;

REGA='OOOOOOOl'B; I* ?56 S GOTO MOOULO_J_C@; FNíl; TF NOMF_OA_IN<;TRl!C~O='HLT' THEN no;

IF ~TOPPED=~ THFN

FNfl; I* TNTFq~UPT=OB; *I GOTO MODUlíl_PCI@;

I* FIM 00 '100ULO INTFRUPT *I

*' STOPPFO=STOPPEO+l;

/* IF STOPPE0=3 THEN *I GOTO ENOE;

SIMU2004

......

...... (J1

Page 122: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l*********************************************************************/SIMU4000 '* ************* O ECO D I FICA C A O ************************ISIMU4001 l*********************************************************************ISIMU4002

MOOULD_ílFCílnIFICACAn: '* UftQDlflCA,AQ_Qà_l~SIBUtAD_Nn_BfúiSIBD_l *' 07ílA=(REGif. 1 11000000'B)/64; 05D4íl3=(REGlf.'00111000'8)/8; O?nlO0=(RFGTf.'0OOO0lll'A); r.nrn DECnOIFICACAn_oF_070é(0706) OFcnnJFJCACAíl_DF_íl706(0): GOTO DFCílDIFlCACAO_DF_D201D0(020lOO); ílFCnoIFICACAO_OE_0201D0(2): r.• TO MOOULO_RL_RC_RAL_R; DECOOIFlCACAO_DE_D20lOO(l': O~COOIFICACAO_nF_n2n1oo(O):

I F 05040 ~=O T HF.N If 05D403-==7 THEf'.t I F 020 líH)= l THEN GnTO MílOULO_YNR;

nFC~DIFICACAn_nE_íl706(1):

GOTO MOOULO_HLT; GOTO MODULn_tNEXT; GOTO MODULO_OCR;

IF Míl0(0201D0,2l=O THEN GOTO MOOULO_J_C; F.LSE GOTO MODULO_I_O;

OFCOílJFICACAn_nF_~70~(3): Tf 020100-==7 THFN

IF íl5D4D3=7 THFN GOTO MODULO_HLT; FLSF GOTO MODULO_LRM;

FL<:F; IF 050403=7 THEN GOTO MOOULO_LMR; GOTO M• rHJL O_LRR~

DFCOOI F IC AC AO_DF_07f)6 ( 2): IF 0201D0=7 THEN GOTO MOOULO_ALU_M; GOTO MOOULO_ALU_R;

SIMU4OO4 SIMU4008 S!MU4010 SIMU4012

;SIMU4014 SIMU4016 SIMU4018 SIMU4020 SIMU40?? SIMU4024 SJMU4026 SJMU4O28 <;JMU4O3O SJMU4O3? SIMLJ4034 SIMU4036 STMU40~8 SIMU404n SIMU4042 SIMU4044 S1MU4046 SIMU4048 SIMU4050 SIMIJ4052 S!MU4054 SIMU4056 SIMU4058 SIMU4O6O

.... .... °'

Page 123: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

/*~~*~~*~~~*~~~*~~~~~~~*~~~*~**~*~T~***********~*************~********ISIMU4loo 1~ ~*****~~*~**44 ~ L u u L L P L 1 **~~***~***********************/SIMU4101 ,~~~~~~~~i~~~~~~~M*~~~~~*~*~*~**~~~**~******~************~********~***/S1MU4lL2 f,1..t..,uLL_r'L 1: SlMU4lU4 ir i1"1--tdl" ... =' .. • ... 1 Lliolt.l<KLd-1=1.1: fl-t:tl. S1Mu4l0b r'ul tuJ.H1'1ul"t._L1-1_ll\::ilKL,l...1-H ... ,(t-fL.Ll'lU{iJ l..JL l=u Tl ~J,(t<t:l;ll\Cl:X(IJ Dl.J SIMU4lu8 !=v l1.. ól,MLLlt<LLl~1..,LÂi~J,b~J*L~ó+KLGl~ULA(ol,LbStkVkLAU,ul...Tl:1U, SlMU4llu 1, L.. fv' ..... 1' L _ 1.., L _ e. .:l u.i.: ... ~ , H .. L L l L b l , Jl l 6 l , 4 , A t u , f- il , l , 7 { x tl l , f- Ld h x ( l t , f ,~ ) , L(All.),µló)l,~LL(~~J,rl!vll;

11\ 1 c.Kt-l,I-']= ... t; L..l.:l-Kll1-1L1-1u=• ', Ll.lc...fL=' GLI l, r,,LulJL .... _ddt:KKLl-'I; l•,Ll ... vLL_PL.J.<.1.: L r,t 1-'K ! fV A=

1 •• , .,

{PL{ll-'Ll>=IKkLt:_L~ll)LPL(lPL)<lkALt_Lf-1-(l)j P~l!r1..J>=)Kkl..t:_Ll\lL)tPLl1~Ll<lK~L1:_u~t-(L)j PLlir'LJ>=l~MLt_Ll\{jtt~L(11-'LJ<TkALt_Uff-(3)j t'l, ( 1 I"" t. L>= ~ ""''-- L_ L,~ t '-t J t P" ( 1 r-L) < l kA L. t._u t-1-- ( 4 j j l-'L.li~Ll)=IKA1..c_Ll\l~Jt~Ll1PLJ<lKALt_ul-~(~JI PLlll-'L))=lkALc._Ll\(b){,fL(&PL)<lKALt_Uff(o)j P L ( l 1-' L J > = l K A L L_ L l'i l 7 j t.. 1-' L l J. P L ) < l KA L. t:_ uf- l- ( -, ) ) t. l t\ l e. k K l, P l = 1 v I b ;

.1.t" d 11 1-'l'll'M= 1 i 1 b IHLI\ t-'Li :il\tl"' t.L11( ll"'L,í-Ll 1t-1..J HLLL\LvJ ,1-llJ ,X(1j ,f-(:i) ); LI'" _11\ l t.~uP 1 =1 o J tt-L.I\ 1.;ll L 11,d _PL. l ( VALUK_UA_ J.I'< l tkkLJl,>C-Au j; t 1\ u _ fv e fv = 1-' i.- ( 1 l' L l ; 1'1 l, u_ jY, C. fv. = L l'i L,_ ('/ t. f,,J /•1 ;

~r I it-Llfvuu_~cfvJ=' • lrc.l\ LL; tlLI L1.:>1('1t.N"l".l1\/A t.,t. Lt.!lt,KA t.:M i'luuULLi t.,t, Mt.MLKlA ll\t:XJ..:>Ít.Nll: 1 j; \.) l I l t. 1\ L, L ; L j\ l. •

1~ 111-'h(~L~-~L~l,='t.~u• l~tl\ ~u~LKu_Ut_t..)JAuu~=I\UMt.KL_uL_t.~IALL~+It:Ml-'L_Ltl1LJkA(ML.L_/"tMJ; tL~I: l\u~LKI.._LC_t.:.:ll~t.,ü~=I\U~Lrtu_~L_L.)IAuL.~+ j LI• P L _ L L l h. K A l 1 1: 1" P L_ l L il li k A t ~ L L _ /" t: Í" J J ; H· t d""Llh,H,_,•1tl• 1-.·= 1 L\./u 1 l h1:..."1 kci.,.1.=dcM( t.,~u_Mt.Ml; LL~~ ~Lu1=ltv~~l~LL,(LI\L_fvt.fv,fvJ+ltfvPL_Lt.1luKA(M1.,L_MtMj*M)) ; r-~t~l-'1..l~~~L,l~Ll1~~1+~,lc~b4J; u~lL ~l~uL~_LlLl.LLtlLALAL,

SlMU4il6 5IMU4ll7 S1 t-!L4118 51MU412li ~lMU4lL.i 5lMu4ll4 !>lMU4126 51Mu4128 51Mu413u ::.lMU4132 SIMu4134 SIMU4138 SIMU4l4v SlMU4l42 SIMU4144 Sltv.U4l46 ::ilMU414S SIMu4l!:>v SlMU41?2 SIML4154 51MU4156 51Ml..J4158 !>IMU416li ::.1MU4162 SIMU4lé4 SlMU4lob S 1MlJ4168

,.... ,.... ---.J

Page 124: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l*********************************************************************l~IMU4200 ,. ************** C 1 C Ln PC R **********************************/SIMU4201 I* **************~E F E R F N C IA I ME D T ATA **************/SJMU4202 l*********************************************************************ISIMU4203 ~nnuLJ_I: SIMU4206 TF TNTFRRUPT =lB THF~ GOTO TNT_PCR_I(VALOR_OA_TNTERRUPCAO); S!MU4?08 FNO_MEM=PC(IPC); SIMU4210 Mn~_AAFM=FNíl_MFM/~; SIMU4212 TF TTPO(MOO_~EM)= 1 'THEN DO; SIMU4214

PIH LTST('TFMTATTVA DF LEITURA FM MODULO OF MEMORIA INEXISTENTE'); SIMU4216 f;rJTll FNnE; FNO; SIMU4218

JF TTPO(MOD_MF"'!t-.='FOU' THFN SIMU4220 NUMFRJ_OF_f~TAnOS=NUMFRn_DE_FSTAOOS+TFMPO_LEITURA(MOO_MfM); ELSE SIMU4222 NU~FRO_DF_FSTADOS=NllMERO_OF._fSTADOS+ SIMU4224 TFMPíl_lfITURA{TFMPO_LEITURA(MOD_MEM)); SIMU4226 IF TJPíl{MílO_~FM)~=•FQU• THFN RFGB=MFM(END_MEM); SIMU4228 ELSF RfGR=(MFM{MOD(f~O_MF~,M)+TEMPO_LFITURA (MOD_MFM)*M)); SIMU4230 PC(TPC)=Mníl(PC{lPCl+l,16184); ~JMU4232 OCTFTíl=RFGB; SIMU4234 G•Tn LABFl.1; SIMU4236

......

...... 00

Page 125: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l*********************************************************************ISIMU4300 '* ************** C I C l n PC R **********************************ISIMU4301 I* ************** R E F f R F N C I A M F MOR I A ****************ISJMU4302 l*********************************************************************ISIMU4303 MnnuL 'l_M: S IMU4~06 FNO_MFM=MnnCRFGTNOEX(~),64l*2~6+RFGINDfX(6); SIMU4308 Mnn_M~M=FNn_MFM/M; SIMU4310 IF TIPn(Mílíl_MFMl=' 'THEN 00; STMU4112

PUT LIST('TENTATIVA OE tFITURA FM MODULO OE MEMORIA INEXISTENTE'); SIMU4314 r;QTf'! fNOE; FNO; SIMU4316

tF TJPO(MOO_MFM)~='EQU' THFN STMU4318 NUMFRJ_OF _f STA 00S =1\JIJMFRn_OF _F ST AOfJS+ T FMPí1_l E ITUR A( MOD_MEM); El SE S IMU4320 NU~F.RJ_OF_FSTAOOS=1\JIJMERO_DE_FSTADOS+ SJMU4322 TEMPO_lFITURA(TEMPO_LEITURA{MOO_MFMl); SIMU4324 IF TIPO(MnD_Mf~)-='EQU' THEN REGB=MEM(FND_MFM); SIMU4326 ELSE PFGR=(ME~{MOD(END_ME~,Ml+TEMPíl_LEITURA(MOO_MEM)*M)); SIMU4328 OCTETO= REGB; S IMU4330 GOTn L ABFt 2; S IMU4332

..... ..... '-D

Page 126: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l*********************************************************************/SIMU4400 I* ************** C I C LO PC R **********************************ISIMU4401 I* **************REFERE N C II ME M ME M ****************/SIMU4402 f*********************************************************************/SIMU4403 MOOlJLíl_MM: IF INTERRUPT=lB THFN GOTO INT_PCR_MM(VALOR_OA_JNTERRUPCAO); F.Nn_MFM=PC( IPC l; Mnn_MEM=FNO_MEM/M; IF TIPO(MOD_MEM)=' t THFN no;

P!JT LICT('TFNTATIVA DF LEITURA EM MOOULO DE MEMORIA INFXTSTENTE'l; GOTO FNDE; FNO;

IF TIPO{MOn_MFMl,='EQU' THFN NUMERJ_DF_FSTAOO~=NUMFRO_DE_ESTAOOS+TEMPO_LEITURA(MOD_MEM); ELSF NUMER• _OE_FSTAOOC=NUMERO_Df_ESTlDO~+ TEMPO_LFITURA{TEMPO_LFITURA(MOO_MFMJ); IF TIºO(t.10D_MFM)-..= 1 F0U• THEN RFGR=MEM(END_MEM); EL<;F REGA=(MEM(MOO(END_MEM,Ml+TFMPO_LEITlJRA(MOO_MEMl*M)); PC( IPC )=MOO(PC( IPC )+l, 16384); FNO_MFM=PC( IPC); MOO_MEM=FNO_MEM/M; IF TTPO(MOD_MEM)=' f THFN no;

PUT LTST('TENTATIVA OE LFITURA EM MODULO DE MEMORIA INEXISTENTE•); GOTO ENDE; FNO;

IF TTPO(MOO_MFM},='EQU' THEN NUMFRO_OE_FSTAOOS=NU~ERO_DE_f<;TADOS+TEMPn_Lf!TURA(MOO_MEM); ElSE NUMFRJ_nE_ESTAOOS=NUMFRO_Df_FSTAnos+ TFMPn_u= T TlJR A ( TEMPO_L F I TUR A { MOO_MFM)) ; IF TTPO(MOD_MFMl ,='FQU' THEN REGA=MFM{ENO_MEM); FLSE ~FGA=(ME~(MOD(END_MFM,M)+TFMPíl_LEITURA{MOO_MEM)*Ml); PC(IPC)=MOD(PC(IPCl+l,16384); GOTO MOOlJLO_J_C@;

SIMU4406 SIMU4408 SlMU4410 SIMU4412 SIMU4414 SIMU4416 S1Mll4418 SIMU4420 SIMU4422 SIMU4424 SIMU4426 SIMU4428 SIMU4430 SIMU4432 SYMU4434 S1MU4436 SIMU4438 S 1MLJ4440 SIMU4442 SIMU4444 SIMU4446 SIMU4448 S1MU4450 SI4U4452 SIMU4454 STMU4456 SIMU4458

1-' N o

Page 127: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

/*********************************************************************ISTMU4500 '* ************** C I C L O PC W **********************************ISIMU450l l*********************************************************************ISIMU4502 ~ODULO_Pcw: S1MU4504 FNO_MfM=~nD(RFGINDFX{5)y64)*256+RFGTNOFX(6); SIMU4506 MOD_MEM=FNO_MEM/M; SIMU4508 TF TTPO(MOD_MEM)=' 'THF.N 00 ; SIMU4510

PUT LIST('TFNTATIVA DF FSCRITA EM MODULO OE MEMORIA INEXISTENTF. 1 ); SIMU4512 GOTn FNDE; FNfl; SJMU4514 IF TIPO(PAG_MEM)~=•Fou• THEN

TF TIPO(PAG_MFM)='ROM' THEN OBSfRVACAO='VlOl MEM'; FLSE DO; MF.M(F.NO_MEM)=REGB;

NIJMFRO_Df_FSTAOOS=NtJMERO_OE_FSTAOOS+TEMPO_ESCRITA(PAG_MFM);F.ND; Fl~F

YF TTPO(TFMPO_LEITURA(PAf._MEM)l= 1 ROM 1 THEN OBSERVACAO='VIOL MEM'; FLSF DO;

MFM(MOO(EN~_MFM,M)+TFMPO_lEITURA(PAG_MEM)*M)=RfGB; NUMERn_oE_FSTADOl:i=NlJMERO_DF_ESTADO'i+

TEMPn_FSCRITA{TFMPO_LEITURA{PAG_MEM)); END; (;OTO ~ODULíl_PC I; SIMU4536

l*********************************************************************ISIMU4600 I* ************** M n íl U l O PC C ********************************ISIMU4601 l*********************************************************************ISIMU4607. MOOULO_PC C: SI MU4604 ílUT_LATCH=REGINOFX(O); SIMU4606 V ~t OR_P ER TF ER I CO= FL OOR ( 050403/ 2) *1 O+MOO ( D 50403,?) *4+ ( 020100-1 l / 2; SI MU460A GOTO MOílULO_I_O@; SIMU4610

~

N ~

Page 128: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l*********************************************************************ISIMU5000 I* ************** t íl A O R E G R E G ****************************/SIMU5001 l******~**************************************************************ISIMU5002 MOílULO_LRR: StMU5004 NOMF_nA_INSTRUCAn=•L• 11NO~E_Dn_RFGISTR0{050403)IINO~E_no_REGISTR0(0201DSIMU5008 OI; SlMU5010 NUMERO_Of_ESTAOO~=NUMERO_OF_FSTADOS+5; SIMU5014 RfGINDEXID~D4D3)=REGTNnFX{0201DO); SIMU5016 r,nrn ~ílOULO_PCI; SIMU501A

l*********************************************************************/SIMU5050 I* **************LO A n R E G M ~MOR IA *******************/SIMU5051 l*********************************************************************ISIMU5052 MílDULn_tRM: S IMU5054 LABFl2=MOOULO_LRM@~ GOTO MODULO_M; SJMU5056 MOOUL Cl_LRM@: SI MU505 8 NnMF_DA_TN~TRUCAO='l' flNOMF_On_RFGJSTR0(0504n3)f l'M'; SIMU5062 NUMFRO_OE_F.STAOOS=NIJMERO_OE_FSTADOS+8; SIMU5066 REGINDEX(0504D3)=REGB~ SIMU5068 GnTO ~ílnULíl_PCI; SIMU~070

l*********************************************************************ISIMU5100 ,. *************Ln~ n ME MOR I A REGISTRO ***********/SIMU5101 l*********************************************************************/SIMU5102 ,..OOIILO_LMR: SJMLl5104 NnMF_ílA_INSTRUCAn=•LM'IIN• Mf_OO_REGI~TRO{D2D1DO); SIMU5108 NUMFRO_OE_FSTAOOS=NUMERO_ílF_FSTAOOS+7; SIMU5110 RFGR=REGTNOEX(O?OlOO); SIMU5112 GnTn Mnnuto_PCW; SIMU5114

~ N N

Page 129: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l**~******************************************************************ISIMU5150 I* ************** L íl A O IMEDI ATO **************************/SIMU515l l*********************************************************************ISIMU5152

OECOnIFICACAO_O~_n201on(6,: ~onULO_LR_MI: LABELl=MOOULO_lR_MI~; GOTO MODULO_I; MODIJLO_LR_MJ@: tF 05D40~=7 THFN Díl;

MOíllllO_l MI: ~OME_OA_INSTRUCAO='LMI'; ~U~FRn_nF_FSTAOílS=NUMEPO_ílF_ESTADOS+g; GOTO MOOULíl_PCW; END;

MODI ILO_LR I: Nfl~E_DA_lN<;TQUCAíl='L' 11 NOt-lf_DO_RE(;JSTRO(D50403) 1 f' 1 1 ;

NUMFRíl_DE_ESTAOOS=NUMERO_OE_E5TAOO~+R; RFGINDEX(050403l=REGB; GOTO Mílf)ULO_PC I;

SJMU5154 S!MU5l56 SIMU5158 SIMU5160 StMU5162 SIMU5164 SIMU5166 SIMU5168 STMU5170 SIMU5172 SIMU5174 S!MlJ5176 SIMU5178 t--'

N v.J

Page 130: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l*********************************************************************ISIMU5200 I* ************** M íl OU L r INCREMENTO R E G ********/SIMU5201 /*********************************************************************ISIMU5202 MnnuLO_INR: SIMU5204 NO~F_DA_IN~TRUCAíl='IN'I INOMF_OO_RFGISTR0(050403); SIMU5206 NUMFRO_OF_ESTAílOS=NUMERO_Of_f~TADOS+~; SI~U520A OVERFLOW=CARRV; SIMU5210 RfGINílEX(íl5íl4n3),RFGTESTE=MOO(PFGINDEX(D5D403)+1,256); SIMU5212 r;nrn MODULO_C_z_c::_p; SIMU5214

l*********************************************************************ISIMU5250 I* ************** M n D U l O D FC REME N TO R E G ********ISIMU5251 l*********************************************************************ISIMU5252 Mí11)Ul n_nc R ! SI MU52 54 NnME_DA_INSTRUCAO=•oc•!JNOME_OO_REGISTRO(D50403); SIMU5256 NUM~RO_DE_FSTADOS=NUMERn_nE_FSTAOOS+~; SIMU5258 UNOFRFLílW=CAQQY; SIMU5260 REGJNDFX(050401l,REGTFSTE=MOO(REGINOEX(05D4D~)-1,256); SIMU5262 Gnrn Mnoutn_r_Z_S_P; SIMU5264

~

N -""'

Page 131: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l**#******************************************************************ISTMU5100 I* **************MO OU L íl AR I T METI C O R E G IS T R O*/SIMU5301 l*********************************************************************/SIMU5302 MOOUl.O_~LU_R: SI MU5104 TIPO_DE_RfFERFNCIA=N~ME_DO_RFGJSTRíl(D20lOO); SIMU5308

QFG8=~FGINOFX(02DlOO); SJMU5312 NUM fRO_nE_ES T Aonc;=NUMF.RO_OE_E<;T ~DOS +5; SI MU5314 GnTll MOíltJLO_AUI; SIMU5316

l*********************************************************************ISTMU5350 I* **************MODULO AR I T METI C O ME M ***********/SIMU5351 l*********************************************************************ISIMU5352 MOOULO_Al U_M: SI MU5354 TIPO_OF_REFFRFNCIA='M'; NUMERO_OE_FSTAOílS=NUMFRn_nE_ESTAOOS+B; SIMU5356 LABFL2=MnOULO_ALU; GOTO MOOULO_t-1; SIMU5358

/*********************************************************************fSIMU5400 I* ************** ~ n O U L n A L U I M F O I A T O ************/$ IMU5401 l*********************************************************************/SJMU5402

DFCOOIFICACAO_DF_020100{4): MOnULO_ALU_I: TTP0_QF_REFF~ENCIA='l'; NUMERO_OE_~STAOOS:NUMFRO_OE_ESTADOS+8; LABFLl=MOOULO_ALU~ GOTO MODULO_T;

SIMU5404 STMU5406 SIMU5408

~

N V1

Page 132: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l*********************************************************************ISTMU5450 I* ************** M íl n tJ Ln D ECO D I FICA C A O A l U ****/SIMU5451 l*********************************************************************ISIMU5452 MOOlll(l_AlU: S IMU5452

IF 05íl403=0 THEN GOTO MODULO_AO; SIMU545A TF 05íl40l=1 THFN GOTO MODULO_AC; SIMU5458 IF 050403=2 THFN GnTn Mnnutn_su; Sl~U5460 TF 0~0403=3 THEN GOTO MOOULO_SB; SIMU5462 TF 05040~=4 THFN GOTO ~ODULO_ND; SIMU5458 tF 050403=5 THFN GOTn MOOULO_XR; SIMU5466 IF n5íl403=6 THFN GOTn MOOULn_oR; STMU5468

GOTO MOOULO_CP; SIMU5470

i:j

°'

Page 133: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l*********************************************************************/SIMU5500 '* ************** ~ íl O li LO A D **********************************ISIMU5501 l*********************************************************************/SIMU5502 W'IOUL 1_An: S IMU5504 NOME_D A_ T NS TRUC MJ= • Aíl' 1 1 T J Píl_DE_R EFERf NC IA; SI MU5506 MOOIJL O_AO@: S IMU5508 TF ACUMULAílOQ(l)+~FGB>=25f. THEN ílVERFtnW=lB; SIMU5510 RF~TFSTf,ACUMULADílR(t)=MOO(AíUMULAOOR(l)+RFGB,256); SIMU5517 GOTn Mnotttn_c_z_S_P; S IMU5514

l*********************************************************************ISIMU5550 I* ************** M n OU ln AC **********************************ISIMU5551 l*********************************************************************ISIMIJ5552 MODULO_AC: SIMU5554 NOMf_~A_!NSTRUCAO='AC'I ITIPO_DF_RfFERENCIA; S!MU5556 JF RFGB+C~PRY(l)=?56 THEN OVERFLOW=lB; SIMU5558 RFGR=MnO(RFGB•CARRV(I,,?5~); S1MU5560 r;nrn MOOIJLO_At1m; S IMU5562 l*********************************************************************ISIMU5600 I* **************MO n U LO S U **********************************l~IMU5601 l*********************************************************************/STMU5607 MfJDlllíl_SU: SIMU5604 NOMF_~A_INSTPUCA0= 1 SU'IITIPO_nF_RFFERENCIA; SIMU5606 R Ft";R=2 56-Rf GB; SI MUK L/, GnTf) Mnoutn_Af)@; SIMU5610 l*********************************************************************ISIMU5650 I* **************MO OU l O S B **********************************ISIMU5651 l*********************************************************************ISIMU5652 MílílULO_SR: SJMU5604 NO~E_nA_INSTRUCAn=•SR•f tTIPO_OF_REFERFNCIA; SIMU5606 IF RF~A+AOPROW{l)=25~ THEN UNOFRFLOW=lB; SIMU5608 RFf,8=?56- ~ílO(REGB+CARRY(l),256); SIMU5610 GOTO ~nnutn_AD@; STMU5612

1-' N ~

Page 134: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

I* *******************************************************************/SI~U5650 I* **************MO O lJ L 0 N n **********************************/SIMU5651 l*********************************************************************ISIMU5565 MOnUt íl_Nn: SI MlJ5654 Nn~F-~A_YNSTRUCAn=•ND'I ITIPn_DE_RFFERENCIA; SIMU5656 Rf(;TfSTE, ACUMULAOOR(l l=REGB&ACUMllLAOílR( 1); S1Mll565A GOTO MílOlJtO_C_Z_S_P; STMU5660

/*********************************************************************ISIMU5700 I* **************MO OU l O X R **********************************ISIMU570l l*********************************************************************/SIMU5702 MOOUtn_XR: SI MU5704 NílMF._~A_INSTRllCAfl-='XR' l lTTPO_OF_RFFFRF.NCIA; S IMU5706 Q FGTE S TF, ACUM~Jl A OfH ( 1 l =-,,R. FG8&ACUMUL Al10R ( l) 1 P FGB &-,,ACUMULA DOR ( 1); SI MIJ5758 GOTO MOOUlO_C_Z_~_P; SIMU5760

l*********************************************************************ISIMU5750 I* **************MO OU l O O R **********************************1SIMU575l l*********************************************************************/SIMU5752 MOOUtíl_OR: SIMU5754 NOME_DA_INC::TRUCAO='OR' 1 ITIPO_OF_RFFERENCIA; SIMU5756 RfGTFSTF,ACU~UtAnOR(l)=REGBIACUMULAOOR{l); SI~U5758 r,nro MOOUlO_C_Z_S_P; SIMU5760

/*********************************************************************/SIMU5800 I* **************MO D LJ LO CP **********************************1SIMU5801 l*********************************************************************ISIMU5802 MOl11lt 'l_CP: S IMU5804 NOME_OA_T NS TRIIC a O-=• CP• 1 I TI Pn_OE_R FFFR fNC IA; S t MU5806 IF ACU~UtAnOR(l)<REGB THEN UNílFRFLOW=l8; ~IMU5808 RFGTF~TF=MGD(ACUMULAnoq(l)+(256-RFGB),256); SIMU5810 GOTO MílDULO_C_Z_S_P; SIMU5812

>-' N 00

Page 135: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l*********************************************************************ISIMU5900 !***************ROTA C A n D O ACUMULA O O R ************ISIMU5901 l*********************************************************************ISIMU5902 MOílUtíl_RL_P C_R -'ll_R: NIIMFRO_OE_F STA nns=NUMERO_OE_FST AOOS +e;; CAPRYAUX=CARRY; CARRY=OB; G• Tn LABFL_ROTATF(MOO(O':i0403,4)); LAAEL_POTATf(O): NOME_DA_TN<;TRlJCA0= 1 RlC 1 ; GOTO MOOULO_RlCál; tABFl._RtlTATE(I): NOMf_DA_INSTRllCAfl='RRC•; GOTO MODULO_RRC@; LABFL_ROTATF.(2): NOME_ílA_INSTROCAO='RAL'; GOTO MOf1tJl(l_RAL@; LABFl_POTATE(1): NOME_OA_INSTRUCA0= 1 RAR 1 ; GOTO MOOULO_RAR@; MOílUL"1_RLCãl: MOOULl1_R Al@: IF ACUMULAOOR(l)>l27 THEN CARRY=lA; ACUMULADOR= ~orH ACUMULADOR ( l t *2, 256) +

CARRY*(D5D403=0)+ CAPRVAUX*(D5n403=2); GOTO MOOULO_PCT; M(1f)lll ':!_RR Câl: MnmJLO_R AR@:

TF M1íl(ACUMULADOR{ll,2)=1 THEN CARRY=lB; .õCIIMIJl AOOR=ACIIMIJLADOR/?+

12R*(CARRV*(0504D3=1)+CARRYAUX*(D5D4D3=3l); r;orn MOOULíl_PCI;

STMU5Q04 SIMU5906 SIMU5908 SIMU5910 SIMU5912 SIMU':i914 SIMU5916 SIMU5918 SlMU59?0 SIMU5922 SJMU5924 SIMIJ5926 SIMU5928 SIMU5930 SIMU5932 SIMU5934 SIMU5Q"36

..... N \.O

Page 136: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l*********************************************************************l~IMU6000 '***************MO n U Ln J li MP CAL L *********************ISIMU6001 l*********************************************************************ISIMU6002 MnnuLn_J_C: G1Tn MnOULO_M~; MOílUlíl_J_C@: IF n~D403)3 THFN 00; 0504D3=050403-4;CONDICAO=l8;TRUE_FALSE='T';ENn;

ELSE no; CONDICAO=OB;TRUF_FALSE=•F•;ENO; GOTO LABEL_JUMP_CALL{D20100/?)~ LA8Fl_JUMP_CALL(3l: NOMf_OA_INSTRUCAn=•CAL'; GOTO MOOUlíl_CAL; LAB~L_JU~P_CALL(2): NOME_DA_TNSTRUCAO='JMP•; GOTO MOOULO_JMP; LABEL_JUMP_CALL{1): NOME_ílA_I NS TRUCA'l=' C' 11 TRUE_FAl SE 11 NOME_DO_ff ( 050403); IF cnNnJCAO=FFCnNn(050403) THFN oo;

fJBSFRVAcan=• PULA •; GOTO MOOULO_CAL; FNO; ELSF no;

NllMFRíl_Of_ESTAOOS=NUMERO_Df_ESTAOOS+q; nBSFRVACAO='NAO PULA'; GOTO MOOUlíl_PCI; END;

LA8Fl_JUMP_CALL(01: NOME_OA_TN~TRUCA0='J'IITRUE_FAL~E11NOME_Oíl_FF{0504D3l; IF CnNntCAíl=FFCOND(O~D403) THFN DO;

OB<:fRVACan=• PULA •; (;QTO MílDULíl_JMP; ENO; El <; E 00;

NU~ER0_nE_F~TADOS=NUMFRn_nF_ESTAnnS+Q; OBSFPVACA0= 1 NAO PULA•; GOTO MODIJLO_PCJ; END;

MODULíl_CAL: IPC=MOD( !PC+l,8 ); MnnuLO_JMP: PC( IPC)=MOD(RFGA*2';6+RFGR,16384) ; NUMFRO_DE_fSTdDOS=NUMERn_oE_fSTADOS+ll; GOTO MOOULO_PCI;

SIMU6004 SIMU6C'06 SIMU6008 SIMU6010 SIMU6012 StMU6014 SIMU6016 SIMU6018 SIMU6020 SIMU6022 SIMlJ6024 SIMU6026 SIMU6028 SIMU6030 SIMU6032 SIMIJ6034 STMU6036 SIMU6038 SIMU6040 SIMU6042 SlMU6044 SIMU6046 SIMlJ6048 SIMU6050

~ ~ o

Page 137: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

'*********************************************************************ISIMU6100 I* ***********MO D U ln R E TU Q N ******************************ISIMU6101 l*********************************************************************ISIMU6102

~FcnnIFICACAO_nF_02D1D0(7): ~ODULO_RET: SIMU6104 NOME_nA_JN~TRUCA0= 1 RFT 1 ; SIMU6106

~íl[)UlO_RET@: SIMU6108 NUMF RO_OF _E STA OílS=NUMERO_OE_FST ADOS+5; I PC=MOO ( I PC-1, 8); S IMU6 l 10 GOTO MOíllJLO_PC I; S IMU6 l l 2 l*********************************************************************/SIMU6150 I* *****MO D U l O R F TU R N C O N D I CIO NA L *********ISIMU6151 l*********************************************************************ISIMU6152

nfc•nJ F ICAC Afl_nF _0201no ( 3 l: MOOULO_RF _Te: IF 050401>~ THFN DO; 0~0403=050403-4; TRUf_FALSE='T'; CONDICAO=lB;

ELSE no; TRUE_FALSF=.•F•;. CONDICAO=OB; NOME_D~_TNSTRUCAO=•P• 1 fTRUE_FALSFI l NOME_DO_FF(05040~); JF FFCOND(D50403)=CO~OICAO THEN no; OBSERVACAO=' PULA •;

~OTO MODUL~_RET@; ENO; Nll~ERO_DE_ESTl\l)n~=NUMERO_DF _ESTADOS +1; OBSFRVACAO= 'NAO PULA•; GOTl'l ~noutn_PCI;

SIMU6154 ENO;SIMU6156 ENO;SIMU6158

SIMU6160 SIMU6162 SIMU6164 SIMU6166 SIMU6168

/*********************************************************************ISIMU6200 I* **************~O OU LO RESTAR T ***********************/SIMU6201 l*********************************************************************ISIMU6202

OECOOIFICACAO_DE_íl2Dl00(5): MOOULO_RST: NOMF_nA_TNSTRUCAíl='R<;T' 11•_• f f SURSTR(CHAP(D~D4íl~*R),LFNGTH(CHAR(D5040~*8))-1); NUMFRO_nF_ESTA00S=NUMERO_OF_FSTADnS+5; IPC=MOD( IPC+l,8); PC(JPC),Qf~e~n504D3*8; GOTO MOnULO_PCI;

STMU6204 SIMU6206 <;JMU6208 SIMU6210 SIMU6212

..... t>I .....

Page 138: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

'**#******************************************************************/ '* ************** M íl n U LO INPUT OUTPUT ***************/ '*********************************************************************' wrnuu1_ 1_n: NUMFRJ_OF_FSTAOílS=NUMFRO_DF_fSTAOOS+8; GOTO MOOULO_PCC; MOOULO_T_O@: IF 0~0403<=1 THFN on;

ÇfLdTCH=CARRY{ll*lOOOR+PRTY(ll*lOOB+ZFRíl(l)*lOB+STGN{l) ; NOMF_ílA_IN~TRJCAíl='INP' lf•_•I ISUBSTP(VALOR_PERIFERIC0,4,2);

~OTO MOPULO_INP(VALOR_PERIFERICO); ENO;

NOMF_OA_TN<;TRUCAíl='OUT' l l •_• I ISUBSTR(VAL'JR_PFRIFERIC0,4,2); GOTO MODULn_OUT(VALnR_PFRIFERICO);

~ ~ N

Page 139: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

133

... -'.X) .. ...... • .) -<t -> <t X. 1-L. .1.1

1 .u u

1 ..J :..J

""' ..J -...J ..J ,2,.

11 -J -:t ..l -:i ... X. --...... . .. .e. .. .u

-1 ::< 1 .. ..J .u ...... '...l ..l .. .e. 1 .:> .... J .. -> ,) ,- .:t ... ...J .... ... D ... -. ,-f 1 .... .::: ... J J .. ..l ..J,. - 1 ,-1 1

J) .t: - .J J'\ .. ...J 1, ..,j .. .. .. •• . .. _

.... ..J J .:::> - - _, -1 + -:t ... _ :, ":)

-1 \J "l ~ J'\ ... li .... >( > .... -- "t ..J - ... .... -J) J .. :,( .lJ .J li J- ..J ~ ~ -J. '.l. .:i.. .J. ,.\) i. u 1 _J ·i. '.l. ...)

.::: ..) ..::: L. .e...:: 'J 10 .J ..J L .... IL ::!:.. J .... .... ... ... .... li J - .:::: ::i ... -- .J .... .J '-1 '.l. 1 1 1 1 Y'. .J 'l.. .... ,_

.X: ..J 1 .J .J .J ;::..J J .J _J .J :, L. .:t;. _J ..J ..) J <t .:J ..J ..... _J ..J ..J ..J ..l ..l • ..t: .J J .:::i ..l ..J .J 1...) .J J ..J ~ ...., 1 ...J ...., ..:. ~ J ..J ::) J .J -::) ..l ") ..J ~ ..J ~ :t li ..J ~ ·.:i J ..J ..J _J J J ...) ...J ,::: .r. > >( ::> _J

>!. ') ::!:.. ~ -~ ~ ~ .J ::, .-, J .J .?_ ... J ~ ..l J ") :,) _.J ':) ::, ') J .) .J ...J u ,,= ..) '! .) ~ .J ~ ~ :., 2. "O J :i .... :t J :;

Page 140: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

. MnouL n_nurt 101: MOOUL O_OUT ( l ll : MOOULO_OUT( l?l: M'lfJULíl_OIJT( 13): MOOUlíl_OUT(l4,: MOf1ULO_OUT(li;): MOOULO_íllJT( lt-l: MOOUI. O_O!JT { 17) : W1DUlíl_íJUT( ?íll : Monu1.o_nurt21>: Mí1n11l O_OIJT ( ??} :

Mílf)IJL(l_(llJT( 23) : MODULO_OUT { 24, : MOOULrl_OUT ( 25) : Ai!ODULO_(ll!T( 26) !

MOOULO_OUT(?7l: Mnnuto_nur<,n>: ~nnu1.1_n1nc 31 > : MílO!ll.O_OIIT( 1?}: M'lf)lllíl_OUT( 13) : MOOULO_OUT( 34): ~OOULO_OUT(1t;}: GOTn M(lnULO_PC T; MílOllLO_OUT( 16): PUT FDIT((MEM(J) on J='lUT_LATCH*64 Tn OUT_LATCH*64+63)) (Cíll(30),B(BJ,COL(~0),8(8l,COL (50),8(8l,C0t(60),8(8),COL(70l,B(8l, COLUWl ,BUH,COL(qQ),Bf8l,COltlOOJ,B(8l ); GílT'l MflDULn_PCI; Mílnllt n_OUT( 17):

NIJMF.RO_OE_FSTADOS-=NU~FRO_Of_FSTAnos +O; GllA~nA_ACtJMIJLAílíJR=ACUMULAOOR( 1);

GílTíJ MílDULO_PCI;

1--' ~ ~

Page 141: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l*********************************************************************/SIMU9850 I* ************** M n OU l O H A L T *****************************ISI~UQR51 l*********************************************************************ISIMUQ852 ~flOULO_Hl T: S IMU9854 NílMF_DA_T~STRJCAíl='HLT'; SIMUq856 ~U~FR~_DF_ESTADOS=~U~ERn_oE_ESTADflS+4; SIMU9858 GOTíl ~ODIILO_PC I; S 1MU9860

l*********************************************************************ISIMU9900 '* ********** T N ~ T R U C A O I N E XI S T F N T F **************/SIMU9901 l*********************************************************************ISIMLJg902 MOOULO_ 11\Jí=XT: S IMU9904 NUMl=R :J_m= _F STA 00S=NUMF.R o_nE_E S T Anns+i:;; S 1 MU9906 TF D?01íl0 THFN no;NO,..E_OA_IN<;TRUCAO='SFTlOl';REGTESTE=OOOOOOOOB;END; SIMU9908

EL~E Dn;NnME_DA_INc;TRUCAO='SETOlO';REGTESTE=lllllllOR;fND; SIMU9910 c;nro MOOUlíl_PCI; SIMuqq12

~

~ VI

Page 142: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l**~******************************************************************/SJMU9Ç5Q '***************MO O lJ LO F F C O N DICA O ***************ISIMU9951 l*********************************************************************/SIMU9952 MOOULO_C_Z_S_P: CONTADOP=O;CAPRY=OVERFLOW;UNDERFLOW,nVERFLOW=OB; TF PF~TF~TF=O THEN on;ZERO,PRTY=lB;SYGN=OB;GOTO MODULO_PCI;FND;

EL<::E ZERO=ílB; lF RFGTESTF>127 THEN SYGN=lB; ELSF SYGN=OB; DO NN~=7 TO O BY -1;

!F REGTF~TE>'**NNN-1 THFN on;CONTADOR=CONTAOOR+l; REGTE~TE=REGTFSTE-2**NNN; END;

ENO; JF M,nD(CONT~DílR,?.)=0 THEN PPTY=lB; ELSE PRTY=OB;

r,nrn MO[')Ulíl_PC I;

FNO~: FRfF JMAGEM_MFMnRT~; FNíl NílVO_PROGRAMA; GRAN_FINAl: fNn;

GnTn Nnvo_PROGRAMA;

SIMU9q54 SJMU9956 SIMU9958 SIMlJÇ960 SIMU9964 SIMU9q66 SIMU9968 S Hfü9970 S T MU9<H2 SIMl.19974 SIMLl9976

..... v,l

°'

Page 143: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

\,; KCM l IJ (;

uuvC.u.i lv o LA I uvv1..,u,1,,ul 1 l.i.., l l(;\;Ld.i 2 I í\ L 11.i\..GUlr\.iV 3 ACA f-.J

u1O10Cuu 4 JF S vi '1

l.í.."Lt..Cll 5 l.U\.LÚI..LH, 6 .L.í.L1l1..u0 7 LMA .1.UuOO li l 8 ACjll l\JllllOl 9 CPH úllClülü 10 Cll vvl...LL.~\.i(i 11 üllJllll 1.:: íJllL<üüiU 13 LTC LJCC lvO 1 14 11111111 l ':J Vlllllüü 16 J IV f 111111:ul 17 ULlllll 18

Page 144: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

L.üüOv 1 lU Ll;i.,i.i.,L\.ii.J

·u.L111.Ull

t.\.iJ..li,;1..(.l

lhJuUll.1. 001101.,0..., 11.,llUlll uvuluL.lU ;\..uvülíJlU l.i.lllLU\J 000ú01Ul uU .i.í. J.J. l l luH. h.uU 1111\JLUü 101Llô1.;0 lllllU.iu tu llüUuu vvüvullu uuu00O11 lulllllv uvh,lull V lvld 1WU Uvvu.1.(:111 uOllllll

381 .382 3o3

1 .::.8 1L9 13U 131 . .l.32 133 134 13:> 136 137 138 .13Y 140 141 142 143 144 145 146 147 148

,1. A l

CUT 35

DCL LAM l 1\ L G Ri". xAL 1-'

(A

RRC 00

LMA ~S1 ú RI: 1 XkA LlA XRA LMA I 1\ L LA 1

CPL RTZ JMP

Page 145: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

hLI 1,,, u o o u u o v u u u o 4 LAA \,, í.; u o L L i.J ÍJ o u u o 9 lAA o u u ú v v lJ u u o () o 14

u i.J LA I 1.,u\JU l. v LI V u V o o 1 22 u 2 lNL L Ü u C l u o li o ü l l 27 Ll j ADA u o ü ü 2 e (; 0 u o 1 1 32 1--'

~

i.i 4 JF ::i 1,,, U U v 2 L o u o ü l l PULA 43 <.D

u . .:l ACA u u o ü '-1 L u u o o l l 48 u 4 JF :> u o ú li 4 v u u o u 1 1 PULA 59 V 3 AiJA L ü 1.1 u 8 L o u ti o 1 l 64 0 4 Jf.S u u ,u ü 8 l. ü o o (J 1 1 PULA 75 ü .3 ,ACA LU . .U(; 16 ü u u u o l 1 BU \J 4 JFS ..;0vl, 16 L ÍJ u o (.) l 1 PULA 91 ü .3 ACA u u o. o 32 ü \J ü u o 1 l 96 u .4 JF::i l; u u (; ;\ "

~~ e o o u o 1 ·l PULA 107 1..1 3 ACA i.J u (; o 64 u o o u u l l 112 u 4 JFS u u u G 64 (.; u u u ÍJ l l PULA 123 u 3 ALA (J v l v ld3 e o o o u l l 128

Page 146: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

0 4 JfS .u \; l O 128 e o o ü o l l l\AG PULA 137 u 7 L fvA iJ ú l O 128 \; o o o o l l Vlül Mt:M 144 ÍJ 8 AIJM ú o 1 l 12'.1 \. ú ú V v l l l 1.52 I,; s e P t- u IJ l l lLS e o o o o l l 157 Í.i 10 CTL u v l l 129 e v o v o 1 l NAD PULA 166 u 13 C1C li u 1 l l,;;:~ C o v v o 1 1 f\AO PULA 175 ú 16 Jlv.P ü v l 1 129 e e o o o 1 1 186 1., lt.::lBl Ct-S u u l l 12'1 l.i u o u ú l l NAO PULA 195 V 1,. .LA l v v l .i 1 í.. ú u o o 1 1 1 203 LI 2 1 l\ L Li u o o l u ú o ü o 2 2 208 u 3 AEA l,í,;iJI,; 2 ü o ü o o 2 2 213 v 4 JF~ o u u u 2 \J u o ú o 2 2 PULA 224 u 3 AüÀ (; u ü ü 4 u (J o o ú 2 2 229 u 4 J F S e, u o e 4 1,. l.., o u ü 'l. 2 PULA 240 V .3 AGA u (., ,Ü o 8 G o o (J o L ·2 245 u 4 .JFS li (; ,U O 8 u u V o o 2 2 PULA 256 ..... V 3 ACA L4..0t. 16 {. ü u o o 2 2 2bl .i:::,.

o u 4 JfS ú u u u 16 u o ú o o 2 2 PULA 272 u .3 AJ.;A li i.., U u 32 u u \,) o o 2 2 277 V 4 J.FS u v O L 32 G G o o o 2 2 PULA 288 o 3 AGA o o Í..í o 64 o o o u o 2 2 293 u 4 JF!:i ,\J J.J u L, 64 L ü u ÍJ ü 2 2 PULA 304 ü J ALA u u l u l~él l., o u o o 2 2 309 ü 4 JF S L u l U l.Lô li u o u o 2. 2 NAO PULA 318 u 7 lMA v u l (, l.ib e (; u ú o 2. 2 VlOL MEM 325 iJ 6 AIJM u u l v 176 o {J ú u o 2 2 48 333 v S LPh \,; u 1 (.i l 7o v u u o o 2 2 338 u lu UZ li ü l O 176 (. o ti o o 2 2 I\AO PULA .347 u 13 CTC .ú ü l O 176 u o u u o 2 2 NAG PULA 356

Page 147: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

u 16 JMP O U l G l?b e o v 16381 CFS \,,IUlO 176 o ú u (. LA l O li l O l e ü

o o o 2. u ü u 2 u o ú 2

2 2 NAO PULA 2. l

367 376 384

1--' .i::,.

1--'

Page 148: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

i..; 2 lí''IL U U u l 1 o \; u ü o 3 3 389 () 3 AC.A .U U U v 2 u u u o o 3 3 394 ü 4 JFS {.. u \, i,; 2 (. (, u u ü 3 3 PULA 405 \) 3 ACA u u (; ü 4 u o ú o ü 3 3 410 u 4 Jf;:, {; u u (J 4 \; u u V u 3 3 PULA 421 u 3 ACA t. u o u 8 ü u ü o ü 3 3 426 u 4 .JFS U Ü U V 8 li u u o o 3 3 PULA 437 u 3 ACA e u u <.. 16 e () ü u o 3 3 442 u 4 JfS 0 v U (., 16 í. o ü u u 3 3 PULA 453 1-J u 3 ACA v u IJ U 32 l, u ú ú o -:. 3 458 +>-

"-- N

Page 149: SIMULAÇÃO E REALIZAÇÃO DE UM COMPUTADOR …O sinal LIB MEM existirá quando se verificarem as se guintes condições: - ciclos PCI ou PCR - processador não interrompido No caso

l PL PC l f\ S f L l S P A E e. D E H L M ESTADOS _________ u ____ 4_JFS __ 1.i u_u u __ 32 __ 1.i __ ú __ o __ o __ O _ 3 ____ 3 ____ PULA __________________________ 469 ____________

u 3 A[A o o u u 64 u u 0 o o 3 3 474 \J 4 JFS ú u ü o 64 () o ü u o 3 3 PULA 485 u 3 ACA ú u l U 1.:.:8 l \.; ú v o 3 3 490 J 4 JFS u u l u l2t1 {. o o o ü 3 3 NAO PULA 499 o 7 LMA u u 1 u l2t1 \., l; u u o 3 3 VIOL MEM 506

lbb O O l lJ 1.::8 l \,; o o o 3 3 511 lbB u u l u 12b (. G u u o 3 3 516 ......

u E ACM 1 l ü l L i.. v (J i.J u 3 3 128 524 ~ ~

ü S (Ph o l u 1 o G v o o o 3 3 529 V l\J CTZ C l O l I.J u \j o u u ::. 3 PULA 540 ..;

l lé i..:'.é I Nf.>_ 3 L 1 u l 25~ t,; ü o í.; o 3 3 548 l J.6i..:'.S LLA u l u l 255 li o o o O 255 255 553 l lé l 3li SLA l l u l v o u o V 0 255 255 558 l ltl31 JMP l l O l l, \, u u u O 255 255 569 l 12.3.5 S J,:l 1 l 1 u l u o u ü o o 2:i5 255 573 l 1.d3(H, hL J l l u 1 ÍJ ' o u o O 2,, 255 5-11 1 1.:'..161 1-LJ l l U l o v \.; o o O 255 25-5 581