SEGUNDO BLOG ARQUITECTURA DE HARDWARE TERCER CORTE
• Camilo Cepeda
• Sebastián González
• 2015
PRIMER PUNTO
• ALU. Acrónimo de unidad aritmetica lógica. Normalmente, los procesadores tienen varias de
estas en el interior de la unidad de ejecución de números enteros. Por 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.
• FPU. 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
nucleos en su arquitectura CMT.
En definitiva, los fabricantes de procesadores tienen que elegir entre ofrecer un rendimiento
elevado para las aplicaciones convencionales o ser capaces de dar buenas prestaciones en
aplicaciones científicas o de generación y tratamiento de imágenes.
Es muy importante entender que el diseño de las ALUS y de las APUS internamente no es el
mismo en distintas arquitecturas. En cada nueva generación los fabricantes son capaces de
hacer que sus bloques realicen un mayor número de operaciones por ciclo de reloj.
SEGUNDO PUNTO
Stack o pila es una estructura de datos con acceso del tipo LIFO (Last In First Out), ú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.
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.
Algunos microprocesadores pueden tener el Stack en su interior, representando un sistema muy rápido pero de tamaño limitado, la mayoría de microprocesadores disponen el stack en la memoria externa, hecho que proporciona una gran capacidad de almacenamiento y el control de su ubicación, aunque el acceso sea más lento.
TERCER PUNTO
• En el mundo de la programación existen diversos tipos de lenguajes que permiten diferentes ejecuciones, cada uno tiene pros y
contras respecto a sus competidores y también poseen distintos usos en este punto se mostraran las ventajas y desventajas de
los leguajes ensambladores de procesadores con respecto a lenguajes mas habituales como c o java.
• Te permite hacer procesadores que en si son estructuras de datos mas complejas que los programas que permite realizar java o
C.
• Tiene un sinfín de ayudas dentro del programa que permiten un mejor entendimiento y mejor ejecución
• Tiene una gran cantidad de compresión de datos y no hay necesidad de crear tantas variables y poder tener muchos datos
• Permite ver todos los cambios que ocurren un la ejecución del programa y muestran los saltos de cambio de línea según la
acción que este ejerciendo.
• Ayuda a generar procesos aritméticos mas simples ya que los tiene implícitos.
• Generalmente estos programa necesitan de demasiadas líneas de código para crear programas muy simples.
• Tiene códigos que tienden a confundir al usuario
• Necesita mucha repetición en sus códigos para hacer acciones diferentes
• Tiene ambientaciones que no muestran los errores antes de compilarlos y tiene un panorama grafico muy deficiente
CUARTO PUNTO
MOV
• Esta instrucción copia el segundo operando
(origen) en el primer operando (destino)
• Se puede realizar copia directa de los
numeros, o puede ser el registro en el que se
encuentra guardado.
Ambos operandos deben tener el mismo
tamaño, es decir:
• Si el registro de origen es de 8 bits, el registro
destino debe ser de 8 bits también y
viceversa.
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
SUBEsta instrucción realiza una resta entre los operandos.Aparte de eso, sus características y restricciones son las mismas del ADD
CUARTO PUNTO
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.
• 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).
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.
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.
CMPCompara dos registros indicados.
QUINTO PUNTO
• Primero hay que entender la arquitectura que forma una ALU
esta esta formada por 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 relizar 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.
QUINTO PUNTO
• 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
numerps binarios y en ellos podremos escoger
cual será la operación aritmética que
queremos darle a nuestro ALU.
• Ya sabiendo cuales son los mdos disponibles
se ingresaran en nuestro conjunto de 4 bits
para asi 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