Asignatura : Microprocesadores
Alumnos:
Cusco - Peru
June 22, 2018
INDICE
Presentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
CAPITULO
I. Marco Conceptual . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
i
3.2.4 Unidad de Control Completo . . . . . . . . . . . . . . 19
3.3 Microprograma de las operaciones implementadas . . . . . . . . 20
5.1 Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
i
PRESENTACIÓN
El software que usamos para la implementación del circuito fue “Proteus Professional
8.7” y para dar lectura y escritura de las lı́neas del microprograma que se debı́an grabar
en las memorias EPROM se utilizó:” Hex Editor Neo versión 6.31”.
Haciendo una comparativa con el proyecto de referencia se optimizo varios aspectos,
como el uso de memorias eprom, el uso de registros adicionales, el orden, entre otros.
ii
INTRODUCCIÓN
Actualmente los procesadores se valen de las operaciones matemáticas sencillas para poder
ejecutar instrucciones mandadas por el usuario. Operaciones matemáticas como la suma
o la resta son usadas para realizar operaciones más complejas como la multiplicación o
la división. En este trabajo se implementa la operación de la división usando el algoritmo
de división sin restauración sobre una base que en un principio contenı́a operaciones de
suma y multiplicación
iii
CAPITULO I
Marco Conceptual
Unidad aritmético lógica: Realiza las operaciones aritméticas como la suma, operación
booleana AND que son necesarias para llevar a cabo las instrucciones. Unidad de control:
Es la responsable de extraer las instrucciones de la memoria principal y determinar su tipo.
[1]
1
Figure 1.1: Organización simple de un computador con una CPU y dos periféricos.[1]
Tareas:
Elementos:
2
• Unidad de control: Contiene la memoria de control, donde se almacenan los micro-
programas (saltos, condiciones, controles) que determinaran y mandaran las señales
de control necesarias para la realización de los procesos, se retro alimenta para
determinar los siguientes microprogramas a ser ejecutados.
3
1.3 Herramientas de diseño
En este caso solo se uso algoritmos para la multiplicación y la división, los cuales se
explicaran en detalle.
1. Se realiza el producto del multiplicando por el bit 0 del multiplicador, con lo cual
obtendremos productos parciales que pueden valer lo mismo que el multiplicando
desplazado (cuando el bit del multiplicador sea 1) o bien 0 (cuando dicho bit sea
nulo).
4
3. Se desplaza o se rota el multiplicador un lugar hacia la derecha (por esto siempre
se multiplica por el bit 0 del multiplicador).
5
1.4.2 Algoritmo de la División con Restauración
La división se realizará más o menos igual que como se hace con lápiz y papel.
Será un proceso iterativo de n+1 ciclos, en cada uno de los cuales se realizarán las
siguientes operaciones:
6
Figure 1.4: Diagrama de flujos del algoritmo.
7
CAPITULO II
8
2.1 Diagrama lógico de la unidad de procesamiento
9
2.2 Diseño fı́sico de la unidad de procesamiento
2.2.1 Registros A y B
10
Figure 2.3: Registro desplazador a de 8 bits. Fuente: Propia
Multiplexor óctuple dos a uno. Se utilizó dos multiplexores cuádruples dos a uno
74157. Recibe como entrada el registro B, y se envı́a dependiendo de la operación al
primer o segundo ALU.
11
2.2.3 Contador
2.2.4 ALU
Unidad Aritmético-Lógica de ocho bits. Se utilizó dos ALU 74LS181 de cuatro bits.
12
2.2.5 Registro Salida de ALU
Registro doble de 4 bits 74173 usado para almacenar, grabar y mandar al bus de datos
la salida del ALU.
13
Figure 2.9: Tabla de los multiplexores 74175. Fuente: Trabajo Anterior
14
2.2.7 Unidad de Procesamiento Completo
15
CAPITULO III
La unidad de control es una de las partes más importantes de cualquier sistema digital
responsable de la interacción de otros bloques del sistema. [5] La unidad de control emite
señales de control (ordenes) externas a la CPU para producir el intercambio de datos
con la memoria y los módulos de E/S. También emite señales de control internas para
transferir datos entre registros, hacer que la ALU ejecute una función concreta y regular
otras operaciones internas (se controla a sı́ misma).
16
3.2 Diseño de la memoria de control
3.2.1 Micromemoria
Utiliza cuatro memorias EPPROM 2732 de ocho bits, haciendo un total de 32 bits
siendo el tamaño necesario para almacenar las salidas de control del microprograma.
17
3.2.2 Multiplexor de condiciones
Registro contador 74161 de cuatro bits, se puede cargar información en él y empezar
la cuenta desde el mismo o restaurarlo (valor 0) y empezar a contar. el cual cuenta con
un registro sincronizado, y una carga de memoria.
18
3.2.4 Unidad de Control Completo
19
3.3 Microprograma de las operaciones implementadas
20
CAPITULO IV
Pruebas de validación
Operación Dirección
Suma 001100
Resta 010000
Multiplicación 100000
División 000001
And 010100
Or 011000
Not 011100
21
4.1.1 Prueba de la Suma
Para ello usamos el código 001100, asi como los valores de los registros antes men-
cionados.
Los resultados se muestran en la parte superior, asi como las entradas en la parte inferior
.
22
4.1.2 Prueba de la Multiplicación
23
4.1.3 Prueba de la División
Para este caso utilizaremos el código 000001, como se muestra la respuesta esta en
los 4 primeros bits del resultado.
24
CAPITULO V
5.1 Conclusión
• A pesar de ser un modelo muy básico, y el nivel de dificultad muy bajo, tomó mucho
tiempo implementar las partes y combinarlas.
25
CAPITULO VI
Referencias Bibliográficas
(2) Patterson D.A., Hennessy J.L, Computer Organization and Design, tercera
edición, Morgan Kaufmann Publishers, 2005.
26