290,
ARQUITETURA EORGANIZAGAO DE COMPUTADORES
fecisariamos de um méxirno de
unérias (um operando de origem) ous bindrias (dois operandos de origem). Assim,
dois enderecos para referenciar operandos de origem. O resultado de uma operacao precisa ser armazenada, suge-
rindo um terceita enderego, que define um operando de destino, Finalmente, ap6s 0 término de uma instrug
proxima instrucio precisa ser buscada, ¢ seu enclereco & necessério.
Essa linha de raciocinio sugere que uma instrucdo poderia plausivelmente ter que conter quatro referéncias
de enciereco: dais operands de origem, um operarda de destino e o endereco da préxima instrucso. Na maria
as arquiteturas, quase todas as instrucdes possuem um, dois ou trés enderegos de operando, com a enderage da
proxima instrugao sendo implicit (obtido pelo contador de programa ~ PC). A malotla das arquiteturas também
possui algumas insirusdes de Uso especial, com mais operandos. Por exemplo, as instrugses de loade storemiitinio
dia arquitetura ARM, descritas no Capitulo 1, designam até 17 operandos de registrador ern uma Gnica instruca
A Figura 10,3 compara instrucGes tipicas de um, dois € trés enderegos, aue paderiam ser usadas para calcular Y=
(A~BVIC + (0 x 8]. Com trés enderagos, cade instrugao especifica dois locais de operandos de origem e ur local
de operando de destino. Como escoihemos nio alterar o valor de qualquer um dos locais de operando, um focal
temporétio, 7, € usado para armazenar alguns resultados intermedisrios. Observe que existem quatio in
que a expressio of
Formatos de instrucao de trés enderecos no so comuns, pois exiger um formato de instrucéo relativemente
longo para manter as trés referéncias de endereco, Corn instrugées de dois enderecos, e para operacées binsrias,
um endereco precisa realizar o trabalho duplo como um operando e core um resultado. Assim, a instrucso SUBY,B
executa 0 célculoY~ Be armazena o resultado em Y, 0 formato de diols endlerecos reduz 0 requisito de espaco, mas
tambérn introcuz algunas coisas estrarhas. Para evitaralterar 0 valor de ums operando, a instrugsio MOVE & usada
ara mover um dos valores para um resultado ou local temporério antes de realizar a operastio, Noss0 programa de
exemple se expande para seis instrugdes,
‘Mais simples ainda é a instrucdo de um enderogo, Para que esta funcione, um segundo enderega precisa ser
implicito, sso era comurn nas maquinas mais antigas, com o enderego implicto sendo um registracior do proces
sador conhecido coma acumulader (AC). acurmulados contém um dos operandas e & usado para armazenar 0
resultado. Em nosso exemplo, oito instrucdes sdo necessatias para realizar a tare
Na verdade, 6 passivel termos zero enderecos para alumas Instrucbes, Instrugdes de zero enderecos se aplicam
‘2 uma organizacao de meméria especial, chamada pilha. Urna pilha é um conjunto de locais do tipo last-in-first-out
(Gltimo a entrar, imei a sai). A pilha esta em um jocal conhecida e, frequentemente, pelo menos os dois ele
(oy msrugiede dei ndergor (cl tstrgiesdeumenderes