Está en la página 1de 12

Computadora, Microprocesador, Microcomputadora, Microcontrolador.

Sistema bsico de computadora:


Datos serie
Dispositivos
E/S Serie
Memoria Interfase
CPU programas
i/o
+ datos
Dispositivos
E/S Paralelo
Bus de datos
Bus de direcciones Datos paralelo
Bus de control

La organizacin del programa y datos dentro de un bloque de memoria es llamada


ARQUITECTURA VON NEWMAN.

Microprocesador: El trmino lo us Intel en 1972 y, generalmente se refiere a la


implementacin del CPU de una computadora en un simple circuito de gran escala de integracin
LSI.

Microcomputadora: Computadora que usa un microprocesador como CPU y pocos


componentes para memoria y dispositivos de E/S.

Microcontrolador: Es una microcomputadora con su memoria y las interfaces de E/S en


un simple chip.

Cdigos de Operacin de una computadora.


El primer paso en el diseo de una computadora es definir el conjunto de operaciones que har.

Input Entrada
Operaciones de Output Salida
8 bits Add Suma
Sub Resta

Se requiere de un cdigo de operacin para que la computadora entienda la operacin a


realizar.

Operacin Cdigo de operacin


ADD OO
SUB O1
IN 1O
OUT 1 1

Hardware para la suma y resta:

Acumulador Propsito general


A Registro B Registro

Carry Suma / Resta


Arithmetic and Logic
ALU
Hardware para entrada y salida:

Pueden existir 1 o ms dispositivos de E/S

Entrada Salida

A B

Carry ALU Suma/Resta

Para que la computadora identifique qu dispositivo de entrada / salida es, lo podemos hacer de
dos formas:

1. Separar instrucciones por ejemplo, agregar las instrucciones:

IN 1 IN 2

2. Incluir un operando con la operacin.

La combinacin de una operacin y un operando es llamada una INSTRUCCIN DE


COMPUTADORA.

Cambiemos nuestro cdigo de operacin.

Operacin Operando Cdigo de instruccin =


Op. code + operando code
ADD ----- 00------
SUB ----- 01------
IN Dispositivo # 10----ii
OUT Dispositivo # 11----oo

Entrada #0 Entrada #3 Salida #0 Salida #3

A B

Carry Suma/Resta
ALU
Operacin Move
Se necesita mover el contenido del acumulador al registro B, con lo cual se inventa la
instruccin MOV (otros la llaman LD Load).

La operacin MOV copia el dato del registro fuente al destino, la informacin del registro
fuente no es destruida.

Tenemos un nuevo conjunto de instrucciones:

Operacin Operando op. code + operand code


ADD ----- 00------
SUB ----- 01------
IN Dispositivo # 10----ii
OUT Dispositivo # 11---oo
MOV ----- 010-----

Entrada #0 Entrada #3 Salida #0 Salida #3


OUT
IN
MOV
A B

ADD;SUB
Carry ALU Suma/Resta

Sumar dos nmeros


Lnea Campo operacin Operando Comentario
1 IN 1 A Switches
2 MOV BA Lenguaje
3 IN 1 A Switches ensamblador
4 ADD A A+B
5 OUT 2 Led A
Memoria
Arreglo de Flip - Flops que almacena datos.

D7 A15
D6 A14
8 lneas
D5
D4
Memoria A13
16 lneas de direccin
de datos
D3 64k x 8 bits .... (64 kbytes)
D2 A2
D1 A1
D0 A0

Seales de control

La memoria de la computadora contiene informacin o datos binarios. Por lo tanto


debemos CODIFICAR el programa usando el cdigo de instruccin. Esto es llamado
ENSAMBLAR un programa, el cual es un proceso que convierte las instrucciones en unos o
ceros que van en la memoria de la computadora.

El programa para sumar dos nmeros, despus de codificarse, es:

Direccin de memoria Contenido Operacin, operando


0: 1010 0001 IN 1
1: 0100 0000 MOV
2: 1010 0001 IN 1
3: 0010 0000 ADD
4: 1110 0010 OUT 2

El Nuevo hardware para decodificar las instrucciones es:

Cerebro de la computadora Instrucciones

D7
Decodificador Registro de A15
D6
de Instrucciones A14
D5
ADD
Instrucciones
D4 Memoria A13
...
SUB Codigo De
D3 64k x 8 bits ...
IN operacin D2 A2
OUT D1 A1
MOV D0 A0

La informacin en la memoria de la computadora es el programa ensamblado, y cada


localidad tiene una instruccin.
Cuando una instruccin es trada desde la memoria de la computadora, se transfiere a
un registro de instrucciones y posteriormente se decodifica, como se ve en la figura.
El decodificador es un circuito lgico combinacional con mltiples entradas / mltiples
salidas. Sus salidas van a un lugar apropiado en la computadora.

Por ejemplo, el Hardware para las operaciones IN, OUT puede ser como sigue:

Switch
ADD Dispositivo de entrada #1

Decodificador SUB
clock
de IN
Instrucciones
OUT Registro A
MOV
clock
DISPLAY
Dispositivo de salida #2

Program counter y registro de direccin de memoria


Para ejecutar el programa, la memoria debe tener una secuencia de direcciones, iniciando
con cero, y paso a paso hasta 4. Existen dos piezas de hardware que necesitamos para hacerlo:
Program counter y registro de direccin de memoria.

ADD
Decodificador
SUB
de
Registro de
Instrucciones Instruccin Memoria
IN
OUT Instrucciones 64k x 8 bits
MOV

Reset Direccin de
Pulsos (inicia en cero) 16 bits
Program counter

Direccin de 16
bits

Registro de direccin
de memoria (MAR)
Tiempo de cmputo
Cuando sumamos el PC(program counter) al diseo, empezamos a pensar en el tiempo
que toma la ejecucin de cada instruccin.

Ciclo de ejecucin de una instruccin:


Considerando que el programa est en memoria y el program counter est en reset
(cero):
1. El contenido del P.C. es transferido al registro de direccin de memoria el cual conserva
la direccin para acceder a la memoria.
2. El contenido de esa localidad de memoria se transfiere al registro de instrucciones.
3. Se decodifica la instruccin. Cambia el estado la lnea de saal IN.
4. Se ejecuta la instruccin. Al cambiar la lnea de la seal IN, los datos en los switches se
transfieran al registro A.
5. El program counter se incrementa en 1 y el proceso se repite para la siguiente instruccin.

Hemos descrito el ciclo de ejecucin de una instruccin. La instruccin es trada (fetched)


de memoria y decodificada, seales de control son activadas, se efecta la transferencia de
informacin y el program counter se incrementa para apuntar a la localidad de memoria de la
siguiente instruccin, y esto se repite para cada instruccin de nuestro programa. As por siempre
o hasta que se haga una tarea que detenga el programa.

Tiempo de sistema y mquina secuencial de estados


El tiempo de propagacin en los circuitos lgicos, es el tiempo que toma el cambio de una
entrada del circuito en aparecer en su salida. El tiempo total depende de la tecnologa de los
circuitos integrados y del nmero de compuestos que contribuyen al retraso.

Podemos cortar el ciclo de la ejecucin de una instruccin en pequeos elementos de


tiempo:

5.Incrementa
1. Traer program
instruccin counter
(FETCH)

Diagrama de una
mquina secuencial
2. Decodificar de estados
Instruccin.
IN,OUT
MOV
ADD 3. Transferencia
SUB Registro

4. Operacin
ALU
Traer Inst. Decodificar Transfiere Incrementa Instruccin IN
registro P.C.

Instruccin ADD
Traer Inst. Decodificar Suma ALU Transfiere Incrementa
registro P.C.

Diagrama de tiempo de las instrucciones

La mquina de estados debe disearse tal que el tiempo requerido para realizar una tarea
en cada estado sea el mismo. La combinacin de la mquina secuencial de estados y el
decodificador de instrucciones es llamado un CONTROLADOR DE SECUENCIAS, el cual genera
las seales de control en el tiempo correcto para una funcin en particular.

Entrada #0 Entrada #3 Salida #0 Salida #3


OUT
IN
MOV
A B

ADD;SUB
Carry ALU

ADD ADD Decodificador


SUB Controlador SUB de Registro de Instruccin Memoria
IN de IN Instrucciones Instrucciones 64k x 8 bits
OUT secuencia OUT
MOV MOV

Pulsos
Program counter Reset
(inicia en cero)
Seales de control de
Direccin de 16
tiempo bits

Registro de direccin
de memoria
Bus de Direcciones
de 16 bits
Sincronizacin E/S
Tenemos un problema en el diseo. Debemos sincronizar la velocidad del
microprocesador con la lenta velocidad del operador de los dispositivos de entrada.

Estado de espera:

La solucin al problema es sumando un estado adicional llamado ESTADO DE ESPERA,


a la mquina secuencial.

5.Incrementa
1. Traer program counter
instruccin
No listo

IN wait Diagrama de una


mquina secuencial de
estados
2. Decodificar
Instruccin.

MOV
OUT
ADD OUT 3. Transferencia
SUB Registro
wait
No listo
4. Operacin ALU

Un estado de espera se suma al diagrama de secuencia de estados para permitir, la


sincronizacin con dispositivos de entrada lentos.

Una instruccin MOV ms verstil


Se requiere realizar la operacin de mover del registro B al A. Tambin agregar dos
registros ms C y D.

Operacin operando destino operando fuente


MOV dd ss dd ss

Registro cdigo
A 00
B 01
C 10
D 11

MOV B,A 010_0100


Instruccin de referencia a memoria
Una instruccin de referencia a memoria LEE datos desde o ESCRIBE datos a memoria.
Existen diversos modos de direccionamiento; uno de ellos es:

Direccionamiento inmediato: Es una instruccin de dos bytes donde el primero contiene


los cdigos de operacin y de operandos. El segundo byte que sigue inmediatamente al byte de
instruccin, contiene el dato.

Por supuesto debemos de modificar el decodificador de instrucciones y el controlador de


secuencias para que sean capaces de decodificar la instruccin y general las seales de control.

Operacin
MVI dd, dato dd dato
MVI A, 65 110-----00 operacin + operando
01000001 Dato

Sumando una constante a la suma de dos variables.


Programa para sumar dos nmeros que vienen de los interruptores y al resultado, sumarle
(65)10, y el resultado mostrarlo en los LEDs.

Localidad Contenido Operacin Operando Comentarios


0 1010 0001 IN 1 A switches
1 0100 0100 MOV B,A B A
2 1010 0001 IN 1 A switches
3 0010 0001 ADD A,B A A + B
4 1100 0010 MVI C,65 C (memoria 5)
5 0100 0001 Dato = 6510
6 0010 0010 ADD A,C A A+C
7 1110 0010 OUT 2 LEDs A

Con la instruccin MVI C, 65 la secuencia del decodificador de instruccin debe disearse


con ms estados para incrementar el program counter al punto donde est el dato y generar
seales de control para recuperar el dato, no el registro de instrucciones, sino en el registro C.
5.Incrementa
1. Traer program counter
instruccin
No listo

IN wait Diagrama de una


mquina secuencial de
Listo estados
2. Decodificar
Instruccin.
MVI
MOV
ADD OUT
OUT 3. Transferencia
SUB
Registro
wait
No listo
4. Operacin ALU

6. Incrementa
Program counter

7. Recupera dato
de memoria

Diagrama de transicin de estados para la instruccin MVI

Instrucciones de control.

Instruccin Halt:
Tenemos un problema, no hay forma de parar la computadora despus de que termina el
programa. Una simple instruccin de control resuelve nuestro problema: HALT.
HALT simplemente detiene los pulsos del reloj que van al controlador de secuencia. Un
flip-flop ser necesario y posteriormente usamos la seal de reset para iniciar el reloj nuevamente
y as iniciar el programa.

Instrucciones de Salto:
Este tipo de instruccin indica a la computadora saltar a otro lugar de la memoria e
iniciar la ejecucin del programa en ese punto.
El operando de la instruccin de salto es la localidad de memoria a partir de la cual la
computadora debe recuperar (fetch) su siguiente instruccin, esto es la localidad a la cual la
computadora salta.

Operacin Operando
BRA direccin de memoria salta simple
JMP
Es una instruccin de 3 bytes; el primero es el cdigo de la operacin y los dos siguientes
especifican la direccin de 16 bits.
El controlador de secuencia debe modificarse para transferir los bytes de direccin a la
memoria al registro de direccin de memoria.

Instrucciones de salto condicional.


La instruccin salta siempre es un salto incondicional debido a que el procesador
siempre hace la transferencia.

Otro tipo de instrucciones de salto es un SALTO CONDICIONAL, donde la computadora


realiza un salto si alguna condicin, o conjunto de condiciones, es verdadera. Si la condicin es
falsa, la siguiente instruccin en la memoria es recuperada y ejecutada.

Para realizar los saltos condicionales, debemos usar un registro de estados o de


condicin, el cual est pegado a la ALU.

El registro de estados puede tener entre otras, las banderas de:


Carry
Zero
Negativo
Sobre flujo de complemento a 2
Paridad par o impar

El registro de estados se conecta al controlador de secuencia, los bits de este registro se


ponen a uno o a cero cuando se realiza alguna operacin en la ALU.

El diseo final de nuestra mquina, se muestra en seguida:


Bus de datos de 8 bits

Bus de datos interno de 8 bits

Disp. E Disp. S
Registro A Registro B Registro C Registro D

Decodificador
E/S
Seales de ALU
control de
ESTADOS
tiempo

Decodificador
Controlador Registro de
de de
Instrucciones
Instrucciones
secuencia
Registro Memoria
temporal de
Reset
Reloj Ready direccin

Reset
Seales de control
Program counter
Pulsos
Direccin de Direccin de Memoria
16 bits

Registro de direccin
de memoria
Bus de Direcciones de 16 bits

También podría gustarte