Está en la página 1de 6

ETN 801 – MICROPROCESADORES Semestre I/2020

Ing. Marcelo Ramírez M. 20/04/2020

Lab N° 5 – Unidad Secuencial de Cálculo Expandida

OBJETIVOS.

 Unidad Secuencial de Cálculo Expandida (USCE) estudiada con el emulador Microsex.


 Operación exitosa de la USCE.
 Protocolo de pruebas ejecutado.

COMPETENCIAS.

 A la conclusión satisfactoria de la práctica, el estudiante deberá estar capacitado para


comprender por completo:
1. la expansión del conjunto de operaciones de la USCv Expandida,
2. emplear la memoria de datos,
3. verificar el funcionamiento de las nuevas operaciones,
4. escribir secuencias de operaciones para implementar algoritmos sencillos.

INTRODUCCIÓN.

En esta práctica se desarrollará una expansión de la arquitectura de la ALU con la incorporación de


dos acumuladores adicionales, aspecto que incrementará la cantidad de operaciones que se podrá
ejecutar, ello implica una modificación en la Unidad de Control, con la expansión del código de
operación y, por supuesto, las palabras de control y la lógica de control y temporización.

La arquitectura incluye ahora dos registros adicionales conectados a la salida de la ALU y los tres
registros A, B y C son disparados selectivamente por líneas de control S27, S28 y S29,
respectivamente. Para cumplir
función de acumuladores, las
salidas están realimentadas hacia
la entrada A de la ALU mediante
un mux 4 a 1 con líneas de control
de selección S23 y S22. Se
establece una convención de
selección 00 (A), 01 (B) y 10 (C).

Ahora, en la perspectiva de llevar


a cabo operaciones entre
acumuladores, es deseable
conectar las salidas de los
acumuladores también a la
entrada B de la ALU. Ahora la
entrada B está compartida por el
puerto, la memoria de datos y los
tres acumuladores, por tanto, es
necesario escalar el mux a uno de
8 a 1, con tres nuevas líneas de control, S26, S25 y S24.

Ahora, corresponde modificar el diseño de la interfaz correspondiente. En el diagrama se observa


que se añade un registro (M) a la interfaz, de tal forma que la información proveniente de la
Lab 05 – Unidad Secuencial de Cálculo Expandida

memoria sea capturada desde la salida de la ALU con el flanco ascendente (flanco inicial) del pulso
filtrado  y la salida de la ALU sea
registrada en memoria con el flanco
descendente (flanco final).

En la figura se aprecia la conexión con la


memoria de datos, esta vez la conexión
proviene de la salida de la ALU, de forma
que se puede transferir información desde
cualquier acumulador hacia la memoria.

La conexión con la memoria se establece


desde la salida de la ALU para que sea
posible ejecutar operaciones unarias con
un dato almacenado en memoria sin la
intervención de los acumuladores.

Asimismo, mantiene las operaciones


binarias entre el acumulador y un dato externo e incorpora las mismas operaciones con datos de
memoria.

Las expansiones desarrolladas


permiten la expansión de la
funcionalidad de la USC. Al
aumentar la cantidad de
operaciones, también es
necesario definir un código de
operación más grande. En
principio, un código de 8 bits
será necesario para cubrir la
cantidad de operaciones de esta
USC expandida.

El impacto de la expansión en la
funcionalidad de la USC se
detalla a continuación:

 La expansión de
acumuladores permite que la
cantidad de operaciones que
emplean acumulador se
multipliquen por 3. Esto
determina un crecimiento en
la capacidad de proceso de la
USC.

 Gracias a la expansión del


código de operación, Las
operaciones binarias, que
antes se llevaban a cabo
entre el acumulador y datos
en memoria exclusivamente,
también podrán llevarse a cabo entre un acumulador y un dato externo presente en el puerto.

Página 2
Lab 05 – Unidad Secuencial de Cálculo Expandida

 Debido a la selectividad de disparo en los acumuladores, se puede incorporar la función de


comparación, que es básicamente una operación de resta que afecta a las banderas, pero no a
los operandos de la substracción. En este caso, el minuendo es un acumulador y el sustraendo
puede ser otro acumulador, un dato externo o un dato de memoria. De esa forma, se ejecuta
una operación de resta, pero el resultado no se registra porque sólo interesa su efecto en las
banderas Z, C, N y V.

 Las operaciones binarias tienen una gran variedad ya que, además de contar con un acumulador
y una posición de memoria como operandos, también se cuenta con operaciones entre
acumuladores y un dato en el puerto. Asimismo, se cuenta con operaciones entre acumuladores.

 Las operaciones unarias podrán llevarse a cabo también con datos en memoria y no sólo con el
contenido de los acumuladores. Por ejemplo, el incremento de una variable en memoria sin
necesidad de copiar su valor en un acumulador para hacer la operación. Las operaciones de
rotación y desplazamiento, que son también unarias, operan sobre cualquiera de los
acumuladores y, además, sobre datos en la memoria.

 Las operaciones de transferencia entre acumuladores y memoria, en ambos sentidos, no son las
únicas, también hay operaciones de transferencia entre dos acumuladores.

Las operaciones de lectura del puerto de entrada tienen también como destinos a elegir a los tres
acumuladores.

PREINFORME.

 Escriba secuencias operativas para calcular funciones más complejas. En este aspecto se
evaluará la creatividad e iniciativa. Se adjunta la tabla de operaciones de la USC Expandida
(en el emulador Microsex, USC Con Memoria de Datos), donde se aprecia el cambio de los
códigos de operación.

 Los ejercicios a resolver son:

1. Intercambio de datos (swap, en inglés) de 2 números de 32 bits almacenados


en memoria.

2. Suma de dos números de 32 bits almacenados en memoria. El resultado debe


guardarse en memoria.

3. Multiplicación de un número de 16 bits no signado por:

a) 3
b) 5
c) 10

4. Intercambio de los semi octetos (nibbles, en inglés) de un valor de 8 bits


(nibble swap).

5. Resta de dos números de 32 bits.

6. Suma de dos números signados de 16 bits. El resultado no debe tener


desborde, sin importar las magnitudes de los sumandos.

Página 3
Lab 05 – Unidad Secuencial de Cálculo Expandida

ACTIVIDADES.

 Estudiar exhaustivamente el capítulo 3 del texto, especialmente el nuevo material.


 Ver los videos de clases las veces que sea necesario.
 Anticipar el uso del emulador Microsex en el módulo USC con Memoria de Datos.
 Elaborar protocolo de pruebas mediante secuencias operativas.
 Preparar el cuaderno de laboratorio de la manera ya establecida.
 Estudiar el comportamiento de las nuevas operaciones y su interacción con la memoria de
datos.
 Registrar en el cuaderno de laboratorio las actividades realizadas, las observaciones y las
conclusiones a priori.

LABORATORIO.

 Proceda con la verificación del funcionamiento mediante el cumplimiento de la nueva tabla


operativa de la USC.
 Ejecute el protocolo de pruebas.
 Tome nota cuidadosa de lo que vaya observando en el laboratorio. Corrija sus errores y
notifique al catedrático y al auxiliar de sus progresos mediante whatsapp y/o correo
electrónico.

INFORME.

 Anote todo lo observado en su cuaderno de laboratorio.


 Establezca conclusiones sobre los sistemas y equipos observados.

RECOMENDACIONES.

 Planifique con anterioridad sus actividades.

Cada recurso disponible en la Universidad, pequeño o grande, proviene del arduo trabajo diario
de una parte de la población que, con el pago de sus impuestos, sostiene nuestra alma mater.
Honremos esa contribución del pueblo con nuestro máximo esfuerzo.
MR

Página 4
Lab 05 – Unidad Secuencial de Cálculo Expandida

OPERACIONES E INSTRUCCIONES DE LA USC EXPANDIDA

Códigos de Operación
Operación
Mnem Ext Acumulador Mem
LÓGICAS-ARITMÉTICAS A B C
Negativo (comp2) neg - 03 13 23 33
Inverso (comp1) not - 04 14 24 34
Incremento inc - 43 53 63 73
Decremento dec - 44 54 64 74
AND and a 05 - 55 65 75
and b - 95 - A5 B5
and c - D5 E5 - F5
OR or a 06 - 56 66 76
or b - 96 - A6 B6
or c - D6 E6 - F6
XOR xor a 07 - 57 67 77
xor b - 97 - A7 B7
xor c - D7 E7 - F7
Suma add a 08 - 58 68 78
add b - 98 - A8 B8
add c - D8 E8 - F8
Resta sub a 09 - 59 69 79
sub b - 99 - A9 B9
sub c - D9 E9 - F9
Suma con acarreo adc a 0A - 5A 6A 7A
adc b - 9A - AA BA
adc c - DA EA - FA
Resta con préstamo sbc a 0B - 5B 6B 7B
sbc b - 9B - AB BB
sbc c - DB EB - FB
Comparación cmp a 0C - 5C 6C 7C
cmp b - 9C - AC BC
cmp c - DC EC - FC

Página 5
Lab 05 – Unidad Secuencial de Cálculo Expandida

Códigos de Operación
Operación
Mnem Ext Acumulador Mem
CONTROL A B C
No operar nop 00 - - - -
Cero al acarreo clc 40 - - - -
Cero al desborde clv 50 - - - -
Establecer acarreo sec C0 - - - -
Establecer desborde sev D0 - - - -
Cero al resultado clr - 01 11 21 31

Códigos de Operación
Operación
Mnem Ext Acumulador Mem
ENTRADA DE DATOS A B C
Ingresar dato in - 02 12 22 -

Códigos de Operación
Operación
Ext Acumulador Mem
Mnem
ROTACIÓN-
A B C
DESPLAZAMIENTO
Rotación a derecha rod - 0D 1D 2D 3D
Rotación a izquierda roi - 0E 1E 2E 3E
Rot.con acarreo a der rcd - 4D 5D 6D 7D
Rot.con acarreo a izq rci - 4E 5E 6E 7E
Desp.aritm.a derecha dad - 8D 9D AD BD
Desp.aritm.a izquierda dai - 8E 9E AE BE
Desp.lógico a derecha dld - CD DD ED FD

Códigos de Operación
Operación
Mnem Ext Acumulador Mem
TRANSFERENCIA A B C
Cargar acumulador lda a - - 51 61 71
lda b - 91 - A1 B1
lda c - D1 E1 - F1
Guardar acumulador sta a - - - - 72
sta b - - - - B2
sta c - - - - F2

Página 6

También podría gustarte