Académique Documents
Professionnel Documents
Culture Documents
Asignatura : Microprocesadores
Integrantes : Código:
SEMESTRE 2018-I
CUSCO-PERÚ
Contenido
PRESENTACIÓN .........................................................................................................................3
INTRODUCCIÓN .........................................................................................................................4
Capítulo 1 - ASPECTOS GENERALES .....................................................................................4
1.1 Objetivo General ................................................................................................................4
1.2 Objetivos Específicos ........................................................................................................4
1.3 Delimitaciones ....................................................................................................................5
1.4 Limitaciones...................................................................................................................5
Capítulo 2 - MARCO CONCEPTUAL .........................................................................................6
2.1 Unidad Central de Procesamiento....................................................................................6
2.1.1 Unidad de Control Microprogramada ........................................................................6
2.2 Simulador............................................................................................................................7
Capítulo 3 – DESARROLLO DEL PROYECTO ........................................................................9
3.1 Algoritmos...............................................................................................................................9
3.2 Operaciones Lógicas Implementadas ................................................................................ 10
3.3 Descripción de las modificaciones en los circuitos de las operaciones
aritmético – lógicas. ............................................................................................................ 13
3.4 Unidad de control ............................................................................................................. 14
3.4.1 Micromemoria............................................................................................................ 14
3.4.2 Registro de desplazamiento Inicio – Fin de programa .......................................... 15
3.5 Unidad de Procesos ........................................................................................................ 15
3.5.1 Registros A y B. ........................................................................................................ 16
3.5.2 Multiplexor 1 .............................................................................................................. 17
3.5.3 Multiplexor de Selección .......................................................................................... 19
3.5.4 Unidad Aritmética Lógica ......................................................................................... 19
3.5.5 Tabla para selección de operación ......................................................................... 22
3.4 CPU Modificado ............................................................................................................... 23
3.5 Microprograma Modificado .............................................................................................. 24
CONCLUSIONES ...................................................................................................................... 25
RECOMENDACIONES.............................................................................................................. 26
BIBLIOGRAFIA........................................................................................................................... 27
Bibliografía ................................................................................................................................... 27
2
PRESENTACIÓN
El presente trabajo detalla o muestra las optimizaciones que se realizan tanto en los
circuitos como en la microprograma para poder visualizar el resultado de las
operaciones aritmético - lógicas en el registro A.
3
INTRODUCCIÓN
Visualizar los resultados de las operaciones aritmético – lógicas en el registro A, cuyo diseño
inicial contenía las operaciones de adición, sustracción, división, multiplicación y lógicas (AND,
OR y NOT) y buscar mejores métodos para implementar el modelo básico de microprocesador.
4
• Optimizar los componentes para buscar mayor eficiencia.
1.3 Delimitaciones
1.4 Limitaciones
5
Capítulo 2 - MARCO CONCEPTUAL
Fig. 1 Organización simple de un computador con una CPU y dos periféricos. Fuente: [1]
• Debe poseer suficiente memoria para que no interfiera con el flujo normal de trabajo. • A cada
instrucción se le debe asociar la dirección de comienzo de su microprograma.
• Ha de leer las microinstrucciones sucesivas y bifurcar a uno nuevo cuando termina el que se
está ejecutando.
Para el desarrollo del proyecto se utilizó el programa” Proteus Professional 8”, que permite
realizar todas las tareas de construcción de circuitos electrónicos, tales como: dibujo de
esquemas de circuitos, simulación interactiva de circuitos analógicos, digitales y con
microcontroladores, con animación en tiempo real además de diseño de circuitos impresos.
7
Proteus es una compilación de programas de diseño y simulación electrónica, desarrollado por
Labcenter Electronics que consta de los dos programas principales: Ares e Isis. Hablando del
programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas
Inteligente) permite diseñar el plano eléctrico del circuito que se desea realizar con
componentes muy variados, desde simples resistencias, hasta alguno que otro microprocesador
o microcontrolador, incluyendo fuentes de alimentación, generadores de señales y muchos
otros componentes con prestaciones diferentes.
Este programa ISIS nos permite dibujar sobre un área de trabajo, un circuito que posteriormente
podemos simular, y verificar para encontrar sus posibles errores.
8
Capítulo 3 – DESARROLLO DEL PROYECTO
3.1 Algoritmos
DIAGRAMAS DE FLUJO
Multiplicación: División:
9
3.2 Operaciones Lógicas Implementadas
Utilizamos las operaciones que el ALU de por sí ya las tiene, solo tuvimos
que darle las entradas correctas, seleccionándolas si son aritméticas o
lógicas, en este caso utilizamos 2 aritméticas que son la suma y la resta, y
3 lógicas que son and, or y not.
Suma: (entradas) 1 0 0 1
Resta: (entradas) 0 1 1 0
And : (entradas) 1 1 1 0
Or : (entradas) 1 0 1 1
Not : (entradas) 0 0 0 0
AND OR
NOT
• AND: Esta operación lógica solo trabaja con 4 bits del registro A y
11
con 4 bits del registro B, la operación es bit a bit y se guarda en el
registro A.
• OR: Esta operación lógica solo trabaja con 4 bits del registro A y con
4 bits del registro B, la operación es bit a bit y se guarda en el registro
A.
SUMA RESTA
12
3.3 Descripción de las modificaciones en los circuitos de las operaciones aritmético –
lógicas.
Estas modificaciones realizadas surgen en los buses del registro D que es el registro que
contiene el cociente de la operación de división.
Primeramente, para la operación de división se tuvo que modificar las entradas del multiplexor
1 para poder mostrar el resultado que es el cociente en el registro A, como sigue:
Modificación
En la Fig.4 se muestra la modificación que sufrieron las entradas del multiplexor 1 para
conectarlas al registro D que contiene el cociente de la división; excepto los pines E del
13
multiplexor 1, para poder guardar el resultado de la división se tiene que realizar un ciclo más
que permita escribir la información del registro D en el registro A y no realizar alguna operación
cuando el resultado pase por el ALU.
La unidad de control indica al camino de datos lo que tiene que hacer, cada ciclo de reloj,
durante la ejecución de las instrucciones que fueron modificadas.
3.4.1 Micromemoria
Utiliza cinco memorias EPPROM 2732 de ocho bits, haciendo un total de 32 bits siendo el
tamaño necesario para almacenar el microprograma de las operaciones aritméticas: adición,
sustracción, división y multiplicación además las operaciones lógicas: AND, OR y NOT.
14
Pin Detalle
A 0 – A 11 Entrada de datos.
E Entrada de habilitacion.
VSS Tierra
Registro desplazamiento controla el inicio del algoritmo de división, en este registro se guarda
el cociente de la división, luego para modificación se copiaron los datos de este registro al
registro de propósito general A.
Se utilizó dos registros 74173 de cuatro bits para A y uno para B. El motivo es que cuando
se realice las operaciones aritmético – lógicas, se muestre el resultado en el registro A. El
registro A es el registro por donde ingresan los datos y también sirve para mostrar el
resultado obtenido de una operación aritmética – lógica.
16
Fig. 8 Registro de 4 bits. Fuente: Propia.
3.5.2 Multiplexor 1
A continuación, se detalla los pines que fueron modificados para una conexión como sigue:
los pines RD0 – RD7 se conectaron con los pines del registro D, en la tabla siguiente se
muestra.
Pin Detalle
-E Habilitador de salida.
nY Salida de datos
17
Tabla 2. Detalle del Multiplexor 74157.
-A / B Na nB -E Y
X X X 1 0
0 1 X 0 1
0 0 X 0 0
1 X 1 0 1
1 X 0 0 0
18
3.5.3 Multiplexor de Selección
Unidad Aritmético-Lógica de ocho bits. Se utilizó dos ALU 74LS181 de cuatro bits encargado
de realizar las operaciones aritmético – lógicas, priorizando la operación de división, es decir
que calculado el cociente permita pasar el resultado sin ninguna modificación para ser
almacenado en el registro A, para esta operación el código utilizado fue: ALU0 = 0, ALU1
= 1, ALU2 = 0 y ALU3 = 1; y el bit M = 1.
19
74181(Unidad aritmetica lógica de 4 bits)
Pin Detalle
A0 - A3 Entrada de operandos.
CN Entrada acarreo.
20
Fig. 10 Unidad Aritmetica Logica. Fuente:Propia.
21
3.5.5 Tabla para selección de operación
La siguiente tabla muestra las entradas necesarias para realizar la operación de división
modificada.
Fig. 11 Valores de entradas para la operación de división modificada del ALU (74LS181).
Fuente: [2]
22
3.4 CPU Modificado
23
3.5 Microprograma Modificado
DESCRIPCIÓN:
24
CONCLUSIONES
• Modificar una CPU con operaciones aritmético - lógicas requieren no solo de conocimientos
de programación además de conocimientos de manipulación de bits y conocimientos del
funcionamiento de la CPU modificada.
• Para este caso la unidad de control microprogramada modificada resulto un poco
complicada al momento de manipular los bits de los microinstrucciones.
• A pesar de ser un modelo muy básico, el nivel de comprensión de los algoritmos fue
complejo para poder interpretar y modificar las microinstrucciones.
• Para la implementación del ALU se tubo que modificar parte del circuito, lo que resulto en
la modificación de parte del proyecto.
• Algoritmos como la división y la multiplicación solo requieren operaciones básicas de suma
y resta para realizarse, por eso el proyecto base tenía una unidad de control ALU que
requería de un solo bit para enviar las señales y usar estas dos operaciones, para
implementar funciones lógicas tuvimos que usar microinstrucciones para enviar señales al
ALU, lo cual resulta para nosotras, más útil porque se pueden utilizar todas las operaciones
restantes que el ALU ofrece. Probablemente por eso fue un poco más sencillo implementar
las operaciones lógicas.
• Todos los algoritmos usados para la multiplicación y división son eficientes, una tarea aparte
fue comprender la lógica y los componentes con el que fueron diseñados. El algoritmo de
división requiere de más saltos que el de multiplicación haciendo que la escritura y
comprensión del microprograma sea un poco más complicado. El algoritmo de
multiplicación es más sencillo pues usa sumas sucesivas, pero ambos requieren un
desplazador para cada uno y activan el PSW así que se tienen que revisar sus valores para
continuar el algoritmo.
25
RECOMENDACIONES
• Utilizar Excel para comprender e ilustrar mejor las microinstrucciones modificadas para cada
operación que luego serán grabadas en las memorias de la unidad de control.
26
BIBLIOGRAFIA
Bibliografía
[2] M. Sandi, «microprocesadores blogspot,» jueves septiembre 2006. [En línea]. Available: http://627-
0microprocesadores.blogspot.pe/. [Último acceso: 15 11 2017].
[3] A. Tanenbaum y T. Austin, Structured Computer Organization, New Jersey: Pearson Education, 2013.
[5] Huamán Lima, Ines Katia y JZegarra Corimanya, Cristel Dayana, «Implementación de las
operaciones lógicas and, or, not en una CPU con una unidad de control microprogramada»
Cusco, 2017.
27