lOMoARcPSD|58874548
ETN-801 Informe 3 L5 - LABORATORIO
Microprocesadores (Universidad Mayor de San Andrés)
Scan to open on Studocu
Studocu is not sponsored or endorsed by any college or university
Downloaded by Marcos Chura condori (
[email protected])
lOMoARcPSD|58874548
Tema: Unidad Aritmética y Lógica fecha: 13/03/22
UNIVERSIDAD MAYOR DE SAN ANDRÉS
FACULTAD DE INGENIERÍA
INGENIERÍA ELECTRÓNICA
UNIDAD ARITMETICA Y LOGICA
INFORME: N° 3
Fecha: 13/03/2022
Grupo: L5
Nombres: - Vania Cindy Laura Mamani
- Leidy Melany Arias Llampaso
Docente: Ing. Marcelo Ramírez M.
LA PAZ - BOLIVIA
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Tema: Unidad Aritmética y Lógica fecha: 13/03/22
Resumen
Este laboratorio se basa en la verificación del funcionamiento de la ALU, con el apoyo de las
herramientas de software VHDL y MICROSEX. Para ello se debe considerar ampliar las funciones
realizadas en la unidad básica del cálculo “UBC”, incorporando en su arquitectura operaciones
lógicas. También se estudiará el comportamiento de las banderas y el generador de condicionales
simples y compuestos, ante la presencia de operaciones con números signados y no signados.
Además, realizada la secuencia descriptiva para la operación, se ejecutan las funciones nuevas con
la ayuda del emulador, que a partir de la señal de control 𝒔𝟔:𝟎 y los datos proporcionados en la
entrada, realiza una sesión experimental a través del módulo (modulo_ALU) el cual extrae los
resultados en el código hexadecimal.
1. INTRODUCCION
La unidad aritmética y lógica” ALU”, genera funciones lógicas y/o aritméticas nuevas a partir
incorporación de funciones lógicas (AND, OR, XOR) en la unidad básica del cálculo “UBC”.
El ALU en su estructura interior posee un multicanalizador 4 a 1 que selecciona la función
lógica o aritmética, transfiriendo la operación en una sola salida. Además, la ALU tiene
bloques que muestran el comportamiento de la salida, la generación de banderas según el
valor (signado o no signado) del resultado y la relación condicional que existe entre las
entradas.
Se conoce que el funcionamiento de la unidad básica del cálculo depende de las señales de
control; sin embargo, en este capítulo se analizará la ALU a partir del desarrollo de la UBC,
incorporando a las funciones aritméticas (suma, resta, incremento, etc.), operaciones
lógicas, hasta generar funciones de mayor complejidad.
Objetivo:
- Interpretar la tabla de funciones aritméticas y lógicas con el emulador Microsex .
- Comprobar el módulo ALU en VHDL.
- Analizar el tiempo de ejecución de la ALU.
- Probar y Verificar el resultado de la secuencia analizada previamente.
- Verificar Funcionamiento de las banderas Z, N, V, C, para números signados y no
signados.
- verificar el comportamiento del bloque generador de condiciones relacionales con
números aleatorios.
Diagrama circuital.
Diagrama circuital de ALU simple
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Tema: Unidad Aritmética y Lógica fecha: 13/03/22
Unidad aritmética y lógica (ALU)
Para el análisis de la codificación de la señal de control y su funcionamiento:
S6 S5 S4 S3 S2 S1 S0 C R FUNCIÓN
1 1 0 0 0 0 0 0 0 CONSTANTE, BORRAR SALIDA
1 1 1 0 0 0 0 0 X LEER X
1 1 0 1 0 0 0 0 Y LEER Y
1 1 1 0 1 0 1 1 -X NEGAR X
1 1 1 0 1 0 0 -X-1 INVERTIR X
0 0 0 0 0 0 0 0 X∧Y X AND Y
0 1 0 0 0 0 0 0 X∨Y X OR Y
1 0 0 0 0 0 0 0 X⨁Y X XOR Y
1 1 1 1 0 0 0 X+Y SUMAR
1 1 1 1 0 1 1 X-Y RESTAR Y DE X
1 1 1 0 0 0 1 X+1 INCREMENTAR X
1 1 1 0 0 1 0 X-1 DECREMENTAR X
También existe la expansión del ALU, el cual cuenta con multiplicación binaria mediante
una memoria ROM, suma BCD, comparación y más variables de estado de proceso. Con
ello también damos entrada al uso de las banderas en el ALU extendido.
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Tema: Unidad Aritmética y Lógica fecha: 13/03/22
ALU+ banderas
Código de Operación Palabra de estado Descripción de la
operación (abreviatura N Z V H P C función
mnemónica)
0 clr 0 1 0 0 0 CERO AL
RESULTADO
1 leer a LEER DATO A A LA
SALIDA
2 leer b LEER DATO B A LA
SALIDA
3 neg NEGATIVO DE A
4 not NOT A
5 and 0 0 AND ENTRE A Y B
6 or 0 0 OR ENTRE A Y B
7 xor 0 0 XOR ENTRE A Y B
8 add ADICIONAR DATOS
AYB
9 sub SUBSTRAER B DE A
A inc INCREMENTAR A
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Tema: Unidad Aritmética y Lógica fecha: 13/03/22
B dec DECrementar a
2. Procedimiento experimental.
Para el emulador:
Con el apoyo del EMULADOR Microsex se procede a verificar las funciones de la siguiente
manera:
- PRUEBA (Vania):
Secuencia descriptiva:
; calcular:𝒇(𝒙, 𝒚, 𝒛) = (𝒚 − 𝟑(𝒙̅ ∧ 𝒚) − 𝟏)⨁𝒛
; colocar x en A
1110100 not ; 𝑅 = 𝑥̅
; colocar R en A , y en B
0000000 and ; 𝑅 = 𝑥̅ ∧ 𝑦
; colocar R en A y en B
1111000 add ; 𝑅 = 2(𝑥̅ ∧ 𝑦)
; colocar R en A
1111000 add ; 𝑅 = 3(𝑥̅ ∧ 𝑦)
; colocar R en A
1110001 inc ; 𝑅 = 3(𝑥̅ ∧ 𝑦) + 1
; colocar R en A
1110101 neg ; 𝑅 = −3(𝑥̅ ∧ 𝑦) − 1
; colocar R en A, y en B
1111000 add ; 𝑅 = 𝑦 − 3(𝑥̅ ∧ 𝑦) − 1
; colocar R en A, z en B
1000000 xor ; 𝑅 = (𝑦 − 3(𝑥̅ ∧ 𝑦) − 1) ⨁ 𝑧
. fin
Tabla de protocolo de pruebas:
# DATOS S. CONTROL FUNCIÓN RESULTADO
1 A=x 1110100 not 𝑅 = 𝑥̅
2 A=R , B=y 0000000 and 𝑅 = 𝑥̅ ∧ 𝑦
3 x=R, y=R 1111000 add 𝑅 = 2(𝑥̅ ∧ 𝑦)
4 A=R 1111000 add 𝑅 = 3(𝑥̅ ∧ 𝑦)
5 A=R 1110001 inc 𝑅 = 3(𝑥̅ ∧ 𝑦) + 1
6 A=R 1110101 neg 𝑅 = −3(𝑥̅ ∧ 𝑦) − 1
7 A=R, B=y 1111000 add 𝑅 = 𝑦 − 3(𝑥̅ ∧ 𝑦) − 1
8 A=R, B=z 1000000 xor 𝑅 = (𝑦 − 3(𝑥̅ ∧ 𝑦) − 1)⨁𝑧
Protocolo final:
# DATOS S. CONTROL FUNCIÓN RESULTADO LABORATORIO
1 A=4C 1110100 not R=B3 L=B3
2 A=B3, B=F8 0000000 and R=B0 L=B0
3 x=B0, y=B0 1111000 add R=60 L=60
4 A=60 1111000 add R=10 L=10
5 A=10 1110001 inc R=11 L=11
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Tema: Unidad Aritmética y Lógica fecha: 13/03/22
6 A=11 1110101 neg R=EF L=EF
7 A=EF, B=F8 1111000 add R=E7 L=E7
8 A=E7, B=39 1000000 xor R=DE L=DE
REMPLAZANDO: f=(𝒚 − 𝟑(𝒙
̅ ∧ 𝒚) − 𝟏)⨁𝒛
f= (-8)-3(-80)-1=231 -> 11100111
XOR -> 00111001
---------
11011110 -> DE
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Tema: Unidad Aritmética y Lógica fecha: 13/03/22
-Prueba (Leidy)
Prueba leidy
Función: f(x,y,z)= 2*(x+y)or(x+z) and (not(y-z))
Secuencia descriptiva
; colocar y en A ; R=not y
not
; colocar x en A, R en B ; R=x+ not(y)
add
; colocar R en A y en B ; R=2*( x+ not(y)) (ojo)
add
; colocar x en A, z en B ; R=x+z
add
; Colocar R en A ; R= 2*( x+ not(y)) or (x+y)
or
; colocar y en A, z en B ; R= y-z
sub
; colocar R en A ;R=not(y-z)
Not
;Colocar R en Y ; R=2*(x+not(y)) or (x+z) and (not(y-z))
and
Tabla de protocolo de pruebas
# DATOS S. CONTROL FUNCIÓN RESULTADO
1 A=y 1 1 1 0 1 0 0 Invertir R=not y
2 A=x B=R 1 1 1 1 0 0 0 Sumar R=X+ not(y)
3 A=R, B=R 1 1 1 1 0 0 0 Sumar R= 2*(x + z)
4 A=x, B=z 1 1 1 1 0 0 0 Sumar R = x+z
5 B=R 0 1 0 0 0 O O OR R=2*(x + z) or (x+z)
6 A=y, B=z 1 1 1 1 0 1 1 sub R=y-z
7 A=R 1 1 1 0 1 0 0 not R= not(y-z)
8 B=R 0 0 0 0 0 0 0 AND R= 2*(x + z) or (x+z)
AND (not(y-z))
Tabla de protocolo de pruebas completas
# DATOS FUNCION RESULTADO LABORATORIO
1 A=F5 1 1 1 0 1 0 0 NOT R=0A R=0A
2 A=0A , B=R 1 1 1 1 0 0 0 ADD R=14 R= 14
3 A=R=14 , B=R 1 1 1 1 0 0 0 ADD R=28 R=41
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Tema: Unidad Aritmética y Lógica fecha: 13/03/22
4 A=0A , B=2ª 1 1 1 1 0 0 0 ADD R=34 R=34
5 A=28, Y = 34 1 1 1 1 0 1 1 OR R=3C R=3C
6 A=F5, B=2A 1 1 1 0 1 0 0 SUB R=CB R=CB
7 A=3C 1 1 1 0 1 0 0 NOT R= 34 R=34
8 A=3C, B=34 0 0 0 0 0 0 0 AND R=34 R=34
La ultima secuencia de la función:
Para VHDL: se tiene que tener en cuenta el proceso que tendrá la ALU:
Arquitectura en VHDL está definida por módulos a un nivel de abstracción:
estructural o lógico.
Reutilizar el código del la UBC.
Modularizar el decodificador y el multiplexor 4 a 1.
Describir la ecuación booleana de las banderas Z, C, N, V y las condiciones
relacionales.
Composición de las variables de control
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Tema: Unidad Aritmética y Lógica fecha: 13/03/22
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Tema: Unidad Aritmética y Lógica fecha: 13/03/22
Para el bloque de la UBC.
10
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Tema: Unidad Aritmética y Lógica fecha: 13/03/22
para el multiplexor.
Para el descodificador de operaciones.
11
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Tema: Unidad Aritmética y Lógica fecha: 13/03/22
vector de prueba :
No signado:
Signados:
12
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Tema: Unidad Aritmética y Lógica fecha: 13/03/22
3. RESULTADOS
El resultado de la secuencia generada en la ALU de microsex, el acarreo no
influye en las operaciones lógicas.
La expansión de las señales de control solo adicionan 3 funciones and, or, xor.
Es posible generar la combinación de cualquier función aritmética y/o lógica de
operaciones de la tabla de funciones de la ubc y las compuertas AND, ro, xor.
Con las señales de selección del multicanalizador en 11, se obtienen funciones
equivalentes a las tablas de la UBC; se verifica tanto en el cuaderno de
laboratorio como en el emulador.
Se comprueba el funcionamiento del VHDL introduciendo valores a la señal de
control extendida.
Las operaciones: xor, OR, AND, realizan la operación en un menor tiempo de
ejecución.
4. ANÁLISIS Y CONCLUSIONES
Verificando con las herramientas de software microsex y VHDL, los resultados son
equivalentes debido al análisis realizado previamente.
Se analiza el acarreo c para números no signados, mas no así para números
signados.
Así como la UBC forma parte de estructura de la ALU, es posible expandir la ALU
con funciones complejas.
Solo a partir de números signados, se generan las banderas V, N.
El bloque que genera mayor retardo en el tiempo de ejecución de la ALU es la UBC.
Analizando la herramienta del emulador, el modulo presentado en el ALU no se
logró analizar todas las banderas, sin embargo, con el programa VHDL observamos
el comportamiento de las mismas; y comprobamos su correcto funcionamiento.
Es de mayor beneficio realizar el análisis de las operaciones en el sistema
hexadecimal. Debido a que el emulador trabaja en ese sistema.
5. REFERENCIAS
- Guía de laboratorio: Microsex N°03 – Unidad Aritmética y lógica.
6. ANEXOS
13
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548
Downloaded by Marcos Chura condori ([email protected])