2. 1. Cuales son las diferencias entre una ALU y una FPU (Float
Point Unit)
Para para entender o saber las diferencias entre una ALU y una FPU, es necesario saber la definición de cada una; con esto
tenemos que; ALU es un acrónimo de unidad aritmética lógica, normalmente los procesadores tienen varias de estas en el interior
de la unidad de ejecución de números enteros. Ejemplo: La arquitectura de los procesadores AMD K10 era capaz de calcular 6
micros operaciones por ciclo de reloj. Se utiliza el termino micro por que las operaciones más complejas se dividen dando lugar a
varias de ellas.
Mientras que FPU es el acrónimo de unidad de punto flotante. Es decir, realizan las operaciones sobre los números decimales,
estas unidades suelen ser más complejas y por lo tanto necesitan de más área dentro del micro; esto es lo que ha llevado a AMD
a integrar solo una cada dos núcleos en su arquitectura CMT.
Sabiendo esto podemos concluir que: 1. La importancia que es el entender que el diseño de las ALU y de las APU internamente
no es el mismo en distintas arquitecturas, ya que en cada una de las nuevas generaciones los fabricantes son capaces de hacer
que sus bloques realicen un mayor número de operaciones por ciclo de reloj. 2. Los fabricantes de procesadores se encuentran
enfrentados en la decisión de elegir entre ofrecer un elevado y optimo rendimiento en las aplicaciones o ser capaces de dar
buenas prestaciones en aplicaciones científicas o de generación junto con el tratamiento de imagen.
3. 2. ¿Cual es el objetivo de la pila STACK en un procesador?
La pila STACK tiene como función ser una estructura de datos con acceso del tipo LIFO (Last In First Out) esto significa: “último
en entrar, primero en salir”, como similitud se puede asociar a un almacenamiento de libros formando una pila en la que se
almacenan uno sobre otro; los nuevos elementos se apilan sobre el último y cunado se retiran se extrae el último que se ha
apilado.
Varios tipos de microprocesadores pueden tener el STACK en su interior, representando un sistema muy rápido pero con un
tamaño limitado. En su gran mayoría los microprocesadores disponen con el STACK en la memoria externa; de esta forma
proporciona una gran capacidad de almacenamiento y el control de su ubicación.
Debido a esto; se genera que su acceso sea más lento.
Este tipo de estructura de datos es fácil de desarrollar por los sistemas microprocesadores y resulta de gran utilidad para
trabajar con listas de datos y es imprescindible para el trabajo interno del microprocesador en las subrutinas e interrupciones.
4. 3. ¿ Cual es la diferencia entre código objeto y el código en
lenguaje ensamblador de un procesador?
El código es un objeto en un conjunto de instrucciones y datos escritos en un lenguaje que entiende el ordenador directamente
en forma binaria o código de maquina; vienen de la traducción de cierto código fuente, es una parte del programa final y este es
especifico de la plataforma de ejecución del código fuente que es la agrupación de sentencias entendibles por el programador
que componen el programa o una parte de el.
Suele estar almacenado en un fichero de tipo texto como los que se pueden abrir por ejemplo el Wordpad de Windows. El
código fuente estará escrito en un lenguaje de programación determinado que es elegido por el programador; por otro lado el
código ensamblador es un lenguaje de programación de bajo nivel para los computadores, microcontroladores,
microprocesadores y los circuitos integrados que son programables. Este utiliza una representación simbólica de los códigos de
maquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU que constituye la
representación mas directa del código maquina especifico para cada arquitectura legible por un programador. Esta
representación es definida por el fabricante del hardware y es basada en los nemónicos que simbolizan los pasos de
procesamiento, sus registros de procesador y las posiciones de memoria.
5. 4. Consulte el set de instrucciones básicas del procesador
8086.
6. INSTRUCCIÓN # NOMBRE CARACTERISTICA
1 MOV
Esta instrucción copia el segundo operando (origen) en el primer
operando (destino)
2 ADD
Esta instrucción realiza la suma de los dos operandos,
almacenando el resultado en el primero de ellos, con la siguiente
sintaxis:
ADD operando1, operando2
3 SUB
Esta instrucción realiza una resta entre los operandos.
Aparte de eso, sus características y restricciones son las mismas
del ADD
4 MUL
La instrucción MUL realiza multiplicación (sin signo) entre AL y otro
registro o un número. El resultado se almacena en AX.
5 DIV
La instrucción DIV realiza la multiplicación (sin signo) entre AX y
otro registro, quedando el resultado en AL y el modulo en AH, es
decir, el algoritmo es AL=AX/registro, AH= (modulo).
6 HLT (Halt the System)
Como la traducción del nombre indica "Parar el Sistema"; Esta
instrucción termina el programa una vez que es ejecutada.
7 ET
Instrucción de retorno. Si la ponemos al final del codigo, nos
retorna al sistema operativo, es decir, nos finaliza el programa. Si la
ponemos al final de una función, nos retorna a la línea de código
siguiente al llamado.
8 CMP
Compara dos registros indicados.
7. 5. Al realizar la operación aritmética A+B.B, ¿ Cual es la rutina
de programación a seguir en la ALU 74181?
Para realizar cualquier tipo de operación aritmética en ALU es necesario entender la arquitectura que la conforma; que tiene 4 componentes:
• Conjunto de 4 bits para el primer digito.
• Conjunto de 4 bits para el segundo digito.
• Conjunto de 4 bits para la asignación del modo.
• 1 bit de acarreo.
Ya con esto claro lo primero es crear numero en base 10 del 1 al 9 para que sean nuestros dígitos y poder realizar operación aritméticas mas
complejas, esto con nuestros dos primeros conjuntos de 4 bits los cuales arrojaran por medio de leds y switchs nuestros dos dígitos.
Ya con nuestros dos dígitos asignados el siguiente paso es generar el modo en nuestro ALU esto mediante nuestro tercer conjunto de 4 bits
este conjunto solo corresponderá a números binarios y en ellos podremos escoger cual será la operación aritmética que queremos darle a
nuestro ALU.
Ya sabiendo cuales son los modos disponibles se ingresaran en nuestro conjunto de 4 bits para así seleccionar el modo y generar la
operación aritmética que en el caso que se pregunto anteriormente será 1000 con la condición de que el bit de acarreo sea 1