sábado, 20 de octubre de 2012

MICROARQUITECTURA VS ARQUITECTURA (JUMER)


En ingeniería de computación, la microarquitectura también llamada como organización de la computadora, es la manera que una arquitectura del conjunto de instrucciones (ISA) es implementada por el procesador.
La arquitectura de computadora es la combinación del diseño determinado de la micro arquitectura y del conjunto de instrucciones.

Aspectos de la microarquitectura y arquitectura
La trayectoria de datos intubada es el diseño más común de la trayectoria de datos en la microarquitectura de hoy.
La arquitectura entubada permite solapar diferentes instrucciones durante la misma ejecución, siendo algo muy similar a la línea de montaje de una fábrica. El intubado incluye varias etapas fundamentales en diseños de las microarquitecturas,como pueden ser la lectura de la instrucción (fetch), el decodificado de la instrucción, la ejecución, y la escritura (write back) de los resultados.
Las unidades de ejecución son también esenciales para la microarquitectura. Estas unidades incluyen las unidades aritmético lógicas (ALU), las unidades de coma flotante (FPU), las unidades de la lectura/escritura (load/store), la predicción de bifurcación, y SIMD. Estas unidades realizan las operaciones o los cálculos del procesador. La selección del número de unidades de ejecución, su latencia y rendimiento es otra de las tareas centrales del diseño microarquitectónico. El tamaño, latencia, el rendimiento y la conectividad de las memorias dentro del sistema son también decisiones de dicho diseño.
A diferencia del diseño arquitectónico, donde lo que se pretende es lograr un nivel de desempeño óptimo, el diseño microarquitectónico presta una atención más cercana a otras necesidades. Puesto que las decisiones de diseño microarquitectónico afectan directamente a lo que va dentro de un sistema, se debe prestar atención a cosas como:
  1. Ø  Área/coste del chip
  2. Ø  Consumo de energía
  3. Ø  Complejidad de la lógica
  4. Ø  Facilidad de la conectividad
  5. Ø  Facilidad de fabricación
  6. Ø  Facilidad de la depuración
  7. Ø  Facilidad de hacer pruebas


VENTAJAS DE LAS ARQUITECTURAS
Pila: Modelo sencillo para evaluación de expresiones (notación polaca inversa). Instrucciones cortas pueden dar una buena densidad de código.
Acumulador: Instrucciones cortas. Minimiza estados internos de la máquina (unidad de control sencilla).
Registro: Modelo más general para el código de instrucciones parecidas. Automatiza generación de código y la reutilización de operandos. Reduce el tráfico a memoria. Una computadora actualmente tiene como estándar 32 registros. El acceso a los datos es más rápido.

DESVENTAJAS DE LAS ARQUITECTURAS

Pila: A una pila no se puede acceder aleatoriamente. Esta limitación hace difícil generar código eficiente. También dificulta una implementación eficiente, ya que la pila llega a ser un cuello de botella es decir que existe dificultad para la transferencia de datos en su velocidad mk.

Acumulador: Como el acumulador es solamente almacenamiento temporal, el tráfico de memoria es el más alto en esta aproximación.

Registro: Todos los operadores deben ser nombrados, conduciendo a instrucciones más largas.

TRADE-OFF

Trade-off o simplemente tradeoff es una situación en la cual se debe perder cierta cualidad a cambio de otra cualidad. Implica una decisión en la cual se comprende totalmente las ventajas y desventajas de cada elección.
Trade-off se refiere, generalmente, a perder un tipo de cualidad, pero ganando otro tipo de cualidad. Un ejemplo clásico de trade-off ocurre en el caso del juego de Damas. Un jugador puede dejar que el adversario le coma una pieza en su juego. Pero esa acción le va a permitir obtener el doble o triple de piezas en su jugada. 
Esto significa, para que el jugador pueda conseguir un buen resultado es preciso sacrificar una pieza.

SET DE INSTRUCCIONES
Los conjuntos de instrucciones de las máquinas deben tender a poseer una serie de propiedades, bastante ideales e imprecisas, que pueden resumirse en las siguientes:
  1. Ø  El conjunto de instrucciones de un computador debe ser completo en el sentido de que se pueda construir un programa para evaluar una función computable usando una cantidad de memoria razonable y empleando un tiempo moderado, es decir, el número de instrucciones de ese programa no debe ser demasiado elevado.
  2. Ø  Los juegos de instrucciones también tienen que ser eficientes, esto significa que las funciones más necesarias deben poder realizarse usando pocas instrucciones.
  3. Ø  El conjunto de instrucciones de una máquina debe ser regular, es decir debe ser simétrico (por ejemplo, si existe una instrucción de desplazamiento a la izquierda, debe haber otra de desplazamiento a la derecha, etc.) y ortogonal, es decir, deben poder combinarse, en la medida de lo posible, todos las operaciones con todos los tipos de datos y modos de direccionamiento.

Es necesario encontrar un compromiso entre la simplicidad del hardware y del software. Un mínimo para llegar a ese compromiso se consigue con los tipos de instrucciones siguientes:
  1. Ø  Instrucciones de transferencia de datos.
  2. Ø  Instrucciones aritméticas.
  3. Ø  Instrucciones lógicas.
  4. Ø  Instrucciones de control del flujo del programa (bifurcaciones, bucles, procedimientos) 
  5. Ø  Instrucciones de entrada y salida.
     REFERENCIA BIBLIOGRAFICA
   Miles Murdocca and Vincent Heuring (2007). Computer Architecture and Organization, An Integrated Approach.

    Michael J. Flynn (2007). Computer Architecture Pipelined and parallel Processor Design. Jones  and Bartlett. 

  Wikipedia. (09 de octubre de 2012). Recuperado el 20 de octubre de 2012, de http://es.wikipedia.org/wiki/Trade-off

    Hennessy, J.L., & Patterson, D.A. (2003). Computer Architecture. A Quantitative Approach. 3 edn. Morgan Kaufmann Publishers.




No hay comentarios:

Publicar un comentario