Escolar Documentos
Profissional Documentos
Cultura Documentos
1
A arquitetura trabalha com 4 instruções. Os códigos de 2 bits representativos das instruções são:
Código Instrução
00 Parar
01 Somar a RAC
10 Subtrair de RAC
11 Transferir conteúdo de RAC para memória
2
Nos locais de 0 a 6 está gravado um PROGRAMA DE INSTRUÇÕES, instruções que
foram colocadas em locais sucessivos da memória. Em outra parte da memória estão
armazenados os operandos. Os locais de 0 a 5 da memória contêm instruções (os 2 bits mais à
esquerda da palavra representam o “código da operação”) que exigem um endereço de memória
do operando (os outros 6 bits da palavra). O local 6 mantém uma instrução sem operando (assim,
é irrelevante o endereço armazenado). (observar que os registradores R e R foram substituídos pela parte da
memória que armazena os operandos; também, com memória de 8 bits pode-se representar números de +127 a –128 em
complemento de dois; ainda, a linha ZA de limpar foi excluída, pois RAC pode ser limpo usando as instruções dadas – como?)
Obs:
a) os 2 bits da instrução NÃO são transferidos para o controlador e sim colocados disponíveis
para ele - conexão indicada pela linha tracejada (situação similar ocorre com relação à memória e
o conteúdo de REM);
b) registrador PC apenas é incrementado;
c) quanto às linhas de saída da UC: uma microoperação é executada com a colocação da
correspondente linha de controle em nível de habilitação.
3
Ciclo de Busca:
Descrição Simbólica Linha de Controle
Ciclo de Relógio da Operação Habilitada
2 – Transferir instrução endereçada por REM para RI pela (a) habi- M RI E, R/W, TB
litação da memória para conectá-la ao bus, (b) colocação de
R/W em 1 para ler memória e (c) escrita da palavra do bus
em RI; incrementar PC para indicar a próxima instrução; PC + 1 PC IPC
3 – Transferir parte do conteúdo de RI (os 6 bits à direita end) RI (end) REM TRI
para REM (o endereço é 59);
4
memória: a Operação de Busca é sempre a mesma; cada Operação de Execução depende da
instrução.
A arquitetura apresentada tem uma memória na qual são armazenadas instruções; por isso,
esta máquina é chamada de COMPUTADOR DE PROGRAMA ARMAZENADO. Assim, a
máquina está plenamente instruída para a execução das operações desejadas.
As instruções são armazenadas em locais sucessivos da memória; dessa forma fica
subentendido que, após a execução de uma instrução, a próxima instrução está no local de
memória seguinte (não é necessário especificar o local de memória da próxima instrução).
A memória armazena, além de instruções, operandos e resultados do processamento. Cada
instrução exige no máximo a especificação de um operando envolvido na operação. Novamente,
fica subentendido que o outro operando está em RAC. Ainda, se a instrução não dá nenhuma
indicação de onde o resultado da operação deve ser armazenado, fica subentendido que o
resultado deve ser deixado em RAC.
Todos estes “entendimentos” proporcionam uma considerável economia no comprimento
das palavras de memória, pois uma instrução necessita especificar apenas a operação e o
endereço de um operando. Sem estes “entendimentos” uma instrução teria que especificar a
operação, os locais do primeiro e do segundo operandos, o local onde o resultado seria
armazenado e onde estaria a próxima instrução, o que exigiria uma instrução com um número
bem maior de bits:
Instr(2 bits) OPN1(6 bits), OPN2(6 bits), RES(6 bits), Prox_Instr(6 bits) = 26 bits
Obs: Quando uma instrução tem múltiplos endereços (p.ex., múltiplos operandos), esta instrução
ocupa múltiplas palavras na memória. A primeira palavra especifica se a instrução tem mais do
que uma palavra. Se isso acontece, a etapa de execução da instrução é atrasada até que todas as
palavras tenham sido acessadas.
5
Projeto do Controlador
Exemplo de um controlador para o sistema computacional dado, usando Registrador de
Deslocamento.
O Elemento de Partida e todos os FFs são comandados por uma forma de onda de
sincronização (um relógio) comum. A saída de cada FF comanda uma microoperação ou um
conjunto de microoperações. O fechamento manual da chave dá partida à sequência do
registrador de deslocamento.
6
Observar que as finalizações das operações Subtrair, Somar e Transferir levam
imediatamente de volta ao começo do Ciclo de Busca através da porta OR. Assim, uma nova
instrução é buscada e começa uma nova execução. No caso da instrução Parar (código 00), não
há retorno ao Ciclo de Busca: a operação é finalizada após colocar a saída da porta AND
correspondente em nível 1 – esta saída pode ser usada para indicar que o sistema concluiu seu
trabalho, requerendo outra intervenção manual.
O Ciclo de Execução do exemplo usa muitos FFs. Uma alternativa para este ciclo com
menos FFs, mas com mais lógica, é a seguinte – observar que ainda está sendo usado um
registrador de deslocamento:
Interrompendo o Processamento
O processo cíclico de buscar-executar, realizado por um controlador, pode ser
interrompido para que o controlador gere uma sequência de sinais que gerencie a execução de
operações especiais. Dessa forma, o controlador responde a um pedido de serviço especial, a
chamada Interrupção (por exemplo, uma interrupção gerada por um dispositivo externo que
apresenta resultados parciais do processamento).
7
Exemplo de um controlador que responde a uma Interrupção: