A Fig.1 abaixo apresenta a arquitetura para um computador com uma memória que armazena palavras de doze bits, com um conjunto de dezesseis instruções, ou seja, código de operações de quatro bits. Para simplificar a análise, a memória será dotada somente de dois terminais: um de leitura(R) e um de escrita(W). Para executar qualquer uma das operações é suficiente colocar o terminal no nível ativo ALTO.
![]() |
Registrador de Operações(OPR) : registrador de quatro bits e conterá o código de operação da instrução sendo executada
Registrador de Propósitos Gerais(GPR) : registrador de doze bits que armazenará instruções lidas da memória e dados a serem escritos/lidos da memória
Registrador Flag do Acumulador(F) : registrador de um bit que será setado quando acontecer vai-um na posição mais significativa do Acumulador
Registrador Flag do Registrador de Propósitos Gerais(Z) : registrador de um bit que será setado quando o conteúdo de GPR forem todos bits 0
Observe que os dois Flags estão disponíveis para o Controlador através de uma conexão direta.Então, na execução de algumas instruções, a próxima microoperação na seqüência pode depender dos resultados produzidos pelas microoperações precedentes, e o Controlador pode seguir uma seqüência ou outra, dependendo do nível lógico dos Flags F ou Z.
Microoperações do GPR
Microoperações da ULA
O Controlador fornecerá sinais de comando a todos os terminais de controle dos registradores e para a memória, com um ou mais terminais de controle levados a nível lógico 1.A microoperação é executada quando o terminal de controle correspondente fôr ativado.
![]() |
A seqüência de microoperações para o Controlador Buscar(Fetch) uma instrução na memória é apresentada na figura abaixo.
![]() |
No final da seqüência das microoperações de Busca, a parte de operação da instrução(código da operação) está no OPR e o endereço do operando, se houver, está na parte de endereços do GPR.
A escolha do conjunto de instruções do computador considera o compromisso entre a complexidade das instruções, o hardware necessário e os programas a serem escritos. Se as instruções são simples e poucas, então o circuito do controlador será simples e os programas devem ser maiores. Caso as instruções sejam complicadas e numerosas, então o circuito do controlador será mais elaborado e os programas mais simples.
Instruções de uma microoperação(podem ser executadas em um ciclo de relógio)
![]() |
Qualquer uma das instruções acima requer que um único terminal de controle seja colocado no nível ativo e podem ser executadas em um ciclo de relógio e consiste de uma só microoperação.
ADD, endereço
Adicionar ao presente conteúdo do acumulador o número(operando) localizado no endereço de memória que está especificado como parte da instrução.
![]() |
O endereço do operando pode ser direto ou indireto.O endereço direto significa que a instrução tem o endereço da posição de memória onde está o operando(Fig.6(a)).O endereço indireto é quando a instrução tem o endereço da posição de memória onde está o endereço do operando(Fig.6(b)).
![]() |
ADDI, endereço
O conteúdo da posição de memória cujo endereço está armazenado em endereço é somado ao conteúdo do Acumulador e o resultado fica no Acumulador.
![]() |
STA, endereço
Armazenar o conteúdo do Acumulador em um endereço da memória indicado em endereço
![]() |
Normalmente as instruções são listadas na memória na ordem em que devem ser executadas e o acesso será a uma instrução após a outra incrementando o Contador de Programa.Algumas vezes será preciso não seguir esta seqüência mas saltar para uma instrução que não esteja na ordem seqüêncial.
Saltar(Jump) para a instrução localizada no local de memória especificado na instrução em endereço
![]() |
JMPI, endereço
Saltar para a instrução cujo endereço está armazenado no local endereço da memória; endereço armazena o endereço da próxima instrução a ser executada
![]() |
A parte de endereço da instrução JMPI é o endereço do local da memória que tem o endereço da próxima instrução.
Uma rotina é definida como um conjunto de instruções que realiza determinada função dentro de um programa.A chamada da sub-rotina ou salto para uma sub-rotina é o processo no qual o fluxo do programa principal de execução da instruções é desviado para a execução de uma determinada rotina.
Chamar a sub-rotina.A instrução armazena o endereço de retorno ao programa principal no local da memória especificado na instrução(endereço) e busca a próxima instrução a partir da locação endereço+1
![]() |
O fim da sub-rotina deve ser sempre o retôrno ao local da memória onde o programa fez o salto para a sub-rotina
![]() |
Incrementar e saltar se zero; ler o número no local de memória endereço, incrementá-lo e retorná-lo a seu local original; se depois do incremento o número fôr zero, saltar a próxima instrução
![]() |
HLT
Parar; esta instrução colocará o computador inativo, nenhuma operação será realizada
CRA | limpar acumulador | |
CTA | complementar acumulador | |
ITA | lincrementar acumulador | |
CRF | limpar flip-flop F | |
CTF | complementar flip-flop F | |
SFZ | saltar próxima instrução se F é zero | |
ROR | girar à direita | |
ROL | girar à esquerda | |
ADD | adicionar ao acumulador | |
ADDI | adicionar ao acumulador, indireto | |
STA | armazenar na memória do acumulador | |
JMP | saltar | |
JMPI | saltar indireto | |
CSR | chamar sub-rotina | |
ISZ | incrementar e saltar se Z é um | |
HLT | parar |
Abaixo temos o conteúdo da memória para um programa calcular a soma de três números armazenados nas posições de memória 06H, 07H, e 08H. A soma será armazenada na posição 09H da memória.
Fig.14
Em geral, em um programa, não se especifica os endereços númericos das posições de memória para cada operando até o programa ser escrito completamente. É mais comum e conveniente especificar os endereços dos operandos em forma simbólica, por meio de rótulos(labels). Após a conclusão elaboração do programa, se substitui os rótulos por valores numéricos dos endereços das posições de memória.
Fig.15
![]() |
Questões para Revisão Resolva on-line o teste sobre (a)Arquitetura de Computador e (b)Instruções . |
Atualizada em