You are on page 1of 44

ORGANIZACIN

COMPUTACIONAL

UNIDAD DE CONTROL

EJECUCIN DE INSTRUCCIONES
FORMATO DE INSTRUCCIONES

El cdigo binario de cada instruccin se debe interpretar


para diferenciar entre los diferentes campos que
contiene la instruccin:

Cdigo de operacin
Modo de direccionamiento
Etc.

El formato de la instruccin indica los campos y el


tamao de los mismos para cada instruccin
FORMATO DE INSTRUCCIONES

Los dos campos bsicos en un formato son:

El cdigo de operacin (CO) que indica la operacin a


realizar
El campo de direccin (CD) que determina la direccin de
un dato, resultado o instruccin a la que hay que bifurcar.

El campo de direccin, dependiendo del tipo de


direccionamiento, se divide en subcampos.
FORMATO DE INSTRUCCIONES

Campo de cdigo de operacin (CO): Especifica la


operacin que realiza cada instruccin.

El nmero de instrucciones que constituyen el repertorio


del computador vendr limitado por la longitud de este
campo.
El cdigo de operacin implica normalmente el tipo de
operando.
Cuando las instrucciones pueden tener mas de un formato,
el cdigo de operacin, que siempre es el primer campo
del formato, debe indicar el formato de la instruccin
actual.
FORMATO DE INSTRUCCIONES

Campo de direccin (CD): Las instrucciones pueden


contener varios campos de direccin para indicar las
posiciones de memoria o los registros internos donde
se encuentran sus operandos, as como la posicin del
resultado.
Cada instruccin puede tener un nmero diferente de
operandos.
Hay instrucciones sin operandos:
HALT
NOP
Hay instrucciones son un solo operando
Instrucciones de salto incondicional
Llamadas a subrutinas
FORMATO DE INSTRUCCIONES

Campo de direccin (CD)


Hay instrucciones de dos operandos:
Instrucciones de operaciones aritmticas lgicas didicas que
guardan el resultado en uno de los operandos origen
Hay instrucciones de tres operandos
Instrucciones de operaciones aritmticas lgicas didicas que
guardan el resultado en un lugar distinto de cualquiera de los
dos operandos origen
FORMATO DE INSTRUCCIONES

Campo de direccin (CD)


El campo de direccin puede dividirse a su vez en
subcampos.

Cdigo de operacin
CO Cdigo de direccin 1 Cdigo de direccin 1
CD1 CD1

Modo de direccionamiento Campo de registro Desplazamiento,


Inmediato, Direccin
MD CR absoluta
D

Subcampos en el campo de direcciones


FORMATO DE INSTRUCCIONES

Campo de direccin (CD)


Los subcampos ms significativos contenidos
en el campo de direcciones son:
Modo de direccionamiento (MD): Se codifica el modo
de direccionamiento a emplar para localizar el dato.
Campo de registro (CR): Especifica un registro de la
CPU
Campo de direccin (D): Dependiendo del modo de
direccionamiento empleado, contiene la direccin
absoluta , el desplazamiento relativo, el operando
inmediato, etc.
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL

Estructura de un computador elemental Von Neumann


ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Registros internos

Son celdas de memoria internas a la CPU que


guardan datos provenientes de la memoria,
resultados parciales de operaciones o informacin
sobre el estado actual de la CPU.

Cada procesador tiene un nmero limitado de


registros internos.
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Registros internos

Es importante tener en cuenta el tamao de los


registros internos de datos pues indica el nmero
mximo de bits que puede tener un operando, y con
cuantos bits la CPU puede realizar operaciones en
paralelo.

A este valor se le llama Longitud de palabra del


procesador
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Registros internos mas usuales:

Los Registros internos mas usuales


son:

Registro de instruccin (IR)


Registros de propsito general (AC)
Registros de estado
Contador de programa (PC)
Registros de interfaz con el bus (MAR, MDR)
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Registros internos
Registro de instruccin (IR): Almacena la
instruccin a ejecutar una vez que la CPU la ha ledo
de memoria.
Por ejemplo:
16 bits

4 bits para 12 bits para


CO CD
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Registros internos
Registro de instruccin (IR):
Las seales de control que maneja el IR son:

Para leer las instrucciones de memoria se usan dos


seales: la primera es la IR-C1 que carga los 8
bits ms bajos del registro (IR[7:0]), y la segunda
IR-C2 carga los 8 bits ms altos (IR[15:8])

Una vez hecha la lectura, para habilitar la salida al


bus de direcciones del contenido del campo CD
(IR[4:15])se usa la seal IR-E
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Registros internos
Registros de propsito general (AC): Son
varios registros que sirven para almacenar
datos o resultados intermedios.
En el ejemplo, hay un nico registro llamado
Acumulador (AC) que adems de actuar como
operando, almacena el resultado de la ltima
operacin realizada por la ALU
Para su trabajo, el AC dispone de dos seales de
control: una para cargar el AC con el dato (AC-
C), y la otra para habilitar la salida del dato al
bus interno (AC-E)
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Registros internos
Registros de estado: Almacena en sus bits o
flags informacin sobre resultados de operaciones
anteriores. Los mas frecuentes son:

Z (cero): Almacena 1 cuando el resultado de la


ultimaoperacin realizada en la ALU fue cero
N (negativo): Almacena 1 cuando el resultado de la
ultima operacin realizada en la ALU fue menor que
cero
C (acarreo): Almacena 1 cuando el resultado de la
ultima operacin realizada en la ALU produjo un
acarreo en el ltimo bit
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Registros internos
Registros de estado:

CP (acarreo parcial): Almacena 1 cuando el


resultado de la ultima operacin de la ALU produjo
acarreo entre el 4to y 5to bit
P (paridad): Almacena 1 cuando el resultado de la
ultima operacin realizada en la ALU produjo un
nmero par de 1
O (desbordamiento) Z (cero): Almacena 1 cuando el
resultado de la ultima operacin realizada en la ALU y
almacenado en el AC es incorrecto. Ello debido a que
el resultado no se puede representar con los bits que
tiene el AC
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Registros internos
Contador de programa (PC): Contiene la
direccin de memoria de la prxima instruccin
a ejecutarse

Debe ser actualizado por la UC cada vez que se carga


una instruccin
En el ejemplo, el tamao del PC es de 12 bits y se
incrementa 2 veces en cada lectura de instruccin ya
que las instrucciones completas son de 16 bits y
ocupan 2 posiciones de memoria de 8 bits cada una

Como el PC es un contador, se debe activar la seal


PC-INC para incrementar su valor
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Registros internos
Contador de programa (PC): Son registros
que almacenan datos que el procesador enva o
captura del bus externo de direcciones o del de
datos. Usualmente son dos:

MAR (Registro de Almacenamiento de Direccin),


almacena la direccin que se pretende poner en el
bus externo de direcciones. Como solo debe llevar
dicha direccin, la transferencia es unidireccional,
usando para ello dos seales de control: MAR-C, que
permite tomar la informacin de la direccin, y MAR-E
que es una seal de habilitacin triestado para
depositar la direccin en el bus externo
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Registros internos
Registros de interfaz con el bus (MAR,
MDR):
MDR ( Registro de Almacenamiento de Dato), contiene el
dato que el procesador va a enviar o a leer del bus externo
de datos. Esta transferencia es bidireccional ya que los
datos provienen del bus interno de datos hacia el externo
(escritura en memoria) y viceversa (lectura de memoria).
De acuerdo a ello, en el MDR existen 4 seales de control:
Las dos primeras son seales de carga, una para los datos
procedentes del bus de datos interno (MDR-CI) y la otra
para los datos procedentes del bus externo (MDR-CE). Las
otras dos seales permiten la habilitacin interna (MDREI) y
la habilitacin externa (MDR-EE)
Estructura de un computador elemental Von Neumann
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
La ALU : Es la encargada de realizar todas las
operaciones aritmtico-lgicas

En el ejemplo, se tiene una ALU de dos


entradas: la entrada A recibe los datos del AC, y
la entrada B recibe los datos del MDR
Antes de realizar una operacin se debe cargar
el MDR con uno de los operandos y habilitar la
salida de datos de este registro al bus interno de
datos.
El otro operando debe estar almacenado en el
AC
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
La ALU :
La ALU recibe seales de control sobre el tipo de
operacin que debe realizar (OP). En el ejemplo,
estas operaciones son 6:

OP(001)=A+B
OP(010)=A+1
OP(011)=A-B
OP(100)=A and B
OP(101)=A or B
OP(110)=B

Como son 6 operaciones se codifican usando 3 lneas


de operacin, por tanto las entradas sern OP[3:1]
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
La UC : Su funcin es el gobierno del
computador
Lee la instruccin desde memoria, la
decodifica y la ejecuta
Debe activar todas las seales de control
necesarias para:
Realizar la transferencia entre registros. Tener en
cuenta:
En cada transferencia de datos, solo puede haber un
registro origen, por lo que no deben activarse las salidas
triestado de dos registros a la vez
En el registro destino, la seal de carga ser activa por
flanco. Esta seal se activa a la mitad del periodo de la
seal de reloj para permitir que los datos provenientes de
otro registro estn estables en el bus
Generar las seales de operacin de la ALU
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
LA MEMORIA PRINCIPAL :
Almacenamiento de datos e instrucciones a
travs de las lneas de direccin
Necesita de por lo menos 3 seales de control:
CS: Seleccin de la memoria, RD: Orden de
lectura y WR: Orden de escritura
Para realizar un ciclo de lectura de memoria, se
sigue el siguiente proceso:
a. La UC debe llevar la direccin de memoria al
registro MAR
b. Se activa el bus de direcciones externo que
conecta con la memoria
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
LA MEMORIA PRINCIPAL :
c. El procesador activa las seales CS y RD y espera
a que la memoria deposite los datos en el bus. Este
periodo de espera es el tiempo de acceso de
memoria (tiempo que necesita la memoria para leer
o escribir datos, medido desde la activacin de las
seales de control) y es de medio periodo del reloj
general, en el ejemplo

d. La UC activa la seal de carga en el MDR. Esto se


cumple tanto para datos como para instrucciones.

El ciclo de escritura se realiza de manera anloga,


diferencindose solo en la habilitacin de la seal WR
en vez de RD
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Operaciones con registros :
Las operaciones bsicas son:
Carga: Almacena un nuevo valor en el registro. Para
ello, debe ponerse el nuevo valor en la entrada y
luego activar la seal de carga del registro
Lectura: Permite la salida del dato contenido en el
registro. Generalmente los registros comparten un
bus para realizar la transferencia, pero solo uno de
ellos podr usar el bus en un momento. La seal de
salida o habilitacin actuar sobre los buffer triestado
para conectar el registro al bus y permitir que los
datos contenidos en el registro pasen al bus
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Operaciones con registros :

Reset: Inicializa el valor contenido en el


registro a un valor conocido
Incremento: aumenta su contenido en forma
autnoma (contador)
Desplazamiento: Mueve sus bits uno a uno de
izquierda a derecha y viceversa
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Instrucciones: Consiste en la
implementacin del repertorio de
instrucciones.

Todas las instrucciones tienen 4 bits para el


cdigo de operacin y 12 para el cdigo de
direccin, lo que permite direccionar 4 KB
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Instrucciones:
Las instrucciones bsicas son:
Instrucciones aritmticas y lgicas: Definidas por
la ALU
Instrucciones de transferencia: Copian el contenido
del AC a memoria (STORE) o leen el dato desde memoria al
AC (LOAD)
Instrucciones de salto: Representan los saltos
incondicionales o condicionales (de acuerdo al resultado del
registro de estado)
Otras instrucciones: No hacer nada, de paro del
procesador
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Instrucciones :
Instrucciones aritmticas y lgicas:
ADD CD: suma los dos operandos y guarda el
resultado en el AC
INC AC: Incrementa el valor del acumulador en
en una unidad
SUB CD: Resta los dos operandos y almacena el
resultado en AC
AND CD: instruccin lgica and bit a bit de los
operandos almacenando el resultado en AC.
OR CD: instruccin lgica or bit a bit de los
operandos almacenando el resultado en AC.
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Instrucciones :
Instrucciones de transferencia de datos:

LW CD: Lee el valor contenido en en la posicin de


memoria CD y lo almacena en AC

SW CD: Escribe el valor contenido en AC en la


posicin de memoria indicada por CD
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Instrucciones :
Instrucciones de salto:
JMP CD: (salto incondicional) La prxima
instruccin a ejecutar es la contenida en memoria
en la posicin CD
JM- CD: (salto condicional) Dependiendo del valor
del indicador de estado correspondiente se rompe
la secuencia de ejecucin de la instruccin.
JMZ CD : Indicador de cero
JMN CD : Indicador de negativo
JMC CD : Indicador de acarreo
JMO CD : Indicador de desbordamiento
JMP CD : Indicador de paridad
JMCP CD : Indicador de acarreo parcial
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Instrucciones :
Otras Instrucciones :

NOP: Instruccin que indica no hacer nada

STP: Instruccin de paro del procesador.


ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Ejecucin de la instruccin:
ADD (456) // AC AC + M(456)
La instruccin consta de 16 bits

Como la longitud de palabra del bus de datos es de 8


bits, se necesitan dos lecturas.
Para empezar a ejecutar la instruccin se supone que
inicialmente el PC contiene la direccin de dicha
instruccin.
La ejecucin se divide en 4 fases, cada una tiene un
determinado nmero de periodos de reloj y en cada
una de ellas se realizan unas determinadas
operaciones bsicas mediante la activacin de las
correspondientes seales de control.
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Ejecucin de la instruccin:
ADD (456) // AC AC + M(456)

1) MAR PC: Transfiere la direccin del 1er byte de la


instruccin al registro MAR
2) PC PC + 1: Se incrementa PC para apuntar a la
siguiente posicin de memoria
3) MDR M (MAR): Se ejecuta una lectura de memoria
cargando el MDR con la parte baja de la instruccin
4) IR MDR: Se transfieren los 8 bits de la parte baja
de la instruccin que estn en el MDR a los 8 bits
menos significativos del IR (IR[0:7])
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Ejecucin de la instruccin:
ADD (456) // AC AC + M(456)

5) MAR PC: Transfiere la direccin del 2do byte de la


instruccin al registro MAR
6) PC PC + 1: Se incrementa PC para apuntar a la
siguiente posicin de memoria
7) MDR M (MAR): Se ejecuta una lectura de memoria
cargando el MDR con la parte alta de la instruccin
8) IR MDR: Se transfieren los 8 bits de la parte alta
de la instruccin que estn en el MDR a los 8 bits ms
significativos del IR (IR[8:15])
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Ejecucin de la instruccin:
ADD (456) // AC AC + M(456)

9) MAR IR: [4:15] Se transfiere la direccin del dato


al registro MAR para iniciar la lectura del mismo en la
memoria
10)MDR M (MAR): Se realiza la lectura de la posicin
de memoria cuya direccin est contenida en el
Campo de Direccin de IR en los bits IR[4:15
11)AC AC + MDR: Una vez el dato est en el MDR se
conecta el registro con la entrada B de la ALU
mediante la seal de habilitacin MDR-EI y se activan
las seales OP con el cdigo de suma. Cuando
termina dicha operacin, que tiene un retraso de
medio ciclo de reloj, se activa la seal de carga de AC
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
La ALU: Est compuesta por diversos
circuitos especializados en realizar una
transformacin particular de los datos
(operaciones aritmticas y lgicas).

Puede disponer de varias unidades:


Unidad de suma/resta de enteros
Unidad de multiplicacin de enteros
Unidad de divisin de enteros
Unidad de divisin de flotantes
Etc.
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Los mdulos en los que se puede
dividir la ALU se clasifican en funcin
de diversos parmetros:

Mdulo secuencial o combinacional


Nmeros de operandos del mdulo
Incorporacin del paralelismo del mdulo
Operacin aritmtico o lgica
Integracin en la CPU
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
Un ejemplo del mdulo de ALU es el
sumador elemetal de 1 bit.
Si se conectan 8 sumadores elementales
se tiene un sumador paralelo.
Si la unidad de control suministra de
manera secuencial los bits a una sola
unidad de suma elemental y almacena el
resultado parcial en un registro, se trata
de un sumador serie.
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL

Ai Si
Bi

Cin

Cout

Sumador elemental de 1 bit


ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL
La principal ventaja es que es ms
pequeo.
La desventaja es que es ms lento.

a i b i

a i b i
Cout i Cin i

Cout i Cin i
Si
S i
ARQUITECTURA DE UN
COMPUTADOR ELEMENTAL

b0
ai
ai bi ai bi ai bi ai bi bi a
i bi a i bi a i


Si Si Si Si Si Si Si Si

Sumador combinacional paralelo

You might also like