Diseño de una computadora básica
-
Upload
humberto-espinoza-olvera -
Category
Engineering
-
view
238 -
download
8
description
Transcript of Diseño de una computadora básica
Arquitectura de Computadoras
Profesor: Sergio Páez
“Diseño de una computadora básica.”
Arroyo Nazario Liliana
Espinoza Olvera Humberto
27 de marzo del 2014
Organización de un programa almacenado.
La manera mas facil de organizar una computadora es tener un
registro de procesador y un formato de codigo de instrucción con dos
partes. La primera parte especifica la operación que se va a ejecutar y
la segunda especifica una direccion. La direccion de memoria le dice al control donde encontrar un operando en la memoria.
Figura 1. Organización de un programa almacenado. Las instrucciones están almacenadas en una sección de memoria y los datos en otro. Para una unidad de memoria con 4096 palabras se necesitan 12 bits.
Direccionamiento indirecto.
Cuando la segunda parte de un codigo de instrucción especifica un
operando, se dice que la instrucción tienen un operando inmediato.
Cuando la segunda parte especifica la direccion de un operando se
dice que la instrucción tiene tienen un direccionamiento directo. Esto
contrasta con una tercera posibilidad llamada direccionamiento
indirecto, en la cual los bits de la segunda parte de la instrucción
representa ladireccion de una palabra de memoria, en la cual se encuentra la direccion de operando.
Figura 2. Ejemplo de direccionamiento directo e indirecto.
Registros de computadora.
Es necesario proporcionar un registro en la unidad de control para
almacenar el codigo de instrucción despues de que se lee de la
memoria. La computadora necesita los registros del procesador para
manipular datos y un registro para contener una direccion de memoria. Estas necesidades dictan la configuracion del registro.
Tabla 1. Listas de registros para la computadora básica.
Figura 3. Registros de computadora básica y memoria
Bus común del sistema
La computadora básica tiene ocho registros, una unidad de memoria y
una unidad de control. Deben proporcionarse trayectorias para
transferir la información de un registro a otro, entre la memoria y el
registro . Un esquema mas eficiente para transferir información en un sistema con muchos registros es usar un bus común .
El siguiente esquema muestra la conexión de los registros y de la memoria de la computadora básica a un sistema de bus común:
Instrucciones de computadora.
La computadora basica tiene tres formatos de codigos de intruccion, según se
muestra en la figura de abajo, cada formato tiene 16 bits.La parte de codigo de
operecion de la instrucción contiene 3 bits y el significado de los 13 bits restantes
depende del codigo de operación que se encuentre una instrucción de referencia a
memoria utiliza 12 bits para especificar una direccion y un bit para especificar el modo de
direccionamiento I.
Temporización y control.
La temporización de todos los registros de la computadora básica está
controlada por un generador de reloj maestro. Los pulsos de reloj se
aplican a todos los flip-flops y registros del sistema, incluyendo los de
la unidad de control. Los pulsos de reloj no cambian el estado de un
registro, a menos que el registro este habilitado mediante una señal de
control. Las señales de control se generan en la unidad de control y
proporcionan entradas de control para los multiplexores del bus común,
entradas de control en los registros del procesador y microoperaciones para el acumulador.
Figura 6. Unidad de control de la computadora básica. Está formado por dos decodificadores, un control secuencial y cierta cantidad de compuertas lógicas de control.
Búsqueda y decodificación
El diagrama muestra como se implantan los primeros dos enunciados
de tranferencia de registro en el canal del sistema de bus. Con el fin
de proporcionar la trayectoria de datos para la transferencia de PC a
AR, se debe aplicar una señal de temporización de T0 para obtener la siguiente conexión:
Se muestra una parte del canal del sistema del bus y muestra como
estan conectados T0 y T1 a las entradas de control de los registros, la memoria y las esntradas de selección del bus.
Figura 7. Transferencias de registro para la fase de búsqueda.
DISEÑO DE UNA COMPUTADORA BÁSICA.
La computadora básica consta de los siguientes componentes de hardware:
1. Una unidad de memoria con 4096 palabras de 16 bits cada una,
2. Nueve registros: AR, PC, DR, AC, IR, TR, OUTR, INPR y SC.
3. Siete flip- flops: I, S, E, R, IEN, FGI, y FGO.
4. Dos decodificadores: un decodificador de operación de 3x8 y un
decodificador de temporización de 4x16.
5. Un bus común de 16 bits.
6. Compuertas lógicas de control.
7. Un circuito sumador y lógico conectado a la entrada de AC.
Tabla 3. Funciones de control y microoperaciones para la computadora básica.
Tabla 3.1 Funciones de control y microoperaciones para la computadora básica.
CONTROL DE REGISTROS Y DE MEMORIA
Revisamos la tabla 3 para encontrar todos los enunciados que no cambian el
contenido de los registros:
• AR:
R’T0: AR ←PC
R’T2: AR←IR(0-11)
D’7IT3: AR←M[AR]
RT0: AR←0
D5T4: AR←AR+1
LD(AR) = R’T0 + R’T2 + D’7IT3
CLR(AR) = RT0
INR(AR) = D5T4
• PC:
R’T1: PC←PC + 1 RT1: PC←0
RT2: PC←PC + 1 D4T4: PC←AR
D5T5: PC←AR
LD(PC) = D4T4 + D5T5 CLR(PC) = RT1
INR(PC) = R’T1 + RT2
• DR:
D0T4: DR←M[AR] D1T4: DR←M[AR]
D2T4: DR←M[AR] D6T4: DR←M[AR] D6T5: DR←DR + 1
D6T6: Si (DR = 0) entonces (PC ← PC +1)
LD(DR) = D0T4 + D1T4 + D2T4 + D6T4 CLR (DR) = 0 INR(DR) = D6T5
• AC:
D0T5: AC←AC^DR D1T5: AC←AC+DR D2T5: AC←DR
LD(AC) = D0T5 + D1T5 + D2T5 CLR(AC) = INR(AC) =
• IR:
R’T1: IR←M[AR]
LD(IR) = R’T1
• TR:
RT0: TR←PC
LD(TR) = RT0
• OUTR:
pB11: OUTR←AC(0-7)
LD(OUTR) = pB11
• SC:
RT2: SC←0
D0T5: SC←0 D1T5: SC←0
D2T5: SC←0 D3T4: SC←0 D4T4: SC←0
D5T5: SC←0 D6T6: SC←0
LD(SC) = RT2 + D0T5 + D1T5 + D2T5 + D3T4 + D4T4 + D5T5 + D6T6
CONTROL DE FLIP-FLOPS UNICOS.
• I:
R’T2: I ← IR(15)
• S:
rB0: S ← 0 donde r = D7I’T3
• E:
rB8: E←Ē (r = D7I’T3)
rB10: E ← 0 r B7: E ← AC(0) rB6: E ←AC(15)
• R:
T‘0T‘1T‘2(IEN)(FGI+FGO): R←1 RT2: R←0
• IEN:
pB7: IEN ← 1 (p = D7IT3) pB6: IEN← 0
• FGI:
pB11: FGI ← 0 pB9: if (FGI = 1 ) entonces (PC←PC+1) • FGO:
pB10: FGO ← 0
pB8: if (FGO = 1) entonces (PC ← PC +1)
Control de un bus común El bus común de 16 bits se controla mediante las entradas de selección S2, S1, y S0. El numero decimal que aparece con cada entrada de bus especifica el numero binario equivalente que debe aplicarse a la entrada de selección para elegir el registro correspondiente. Cada numero binario esra asociado con una variable booleana x1 hasta x7, que corresponde a la estructura de compuerta que debe estar activa para seleccionar el registro o a la memoria para el bus. S0= X1+X3+X5+X7
S1= X2+X3+X6+ X7 S2= X4+X5+X6+ X7 X1 = D4T4+D5T5
X2 = R´ T0+R T0+ D5 T4 X3 = D2 T5+ D6 T6 X4 = D3 T4 X5 = R´ T2 X6 = R T1 X7 =R´T1+D´7I T3+ T4(D0+ D1+ D2+ D6)