Arquitectura de computadoras

De Wikipedia, la enciclopedia libre
(Redirigido desde «Arquitectura de computadora»)
Saltar a: navegación, búsqueda
Una visión típica de una arquitectura de computadora como una serie de capas de abstracción:
1. Hardware,
2. Firmware,
3. Ensamblador,
4. Kernel,
5. S.O. y aplicaciones.

La arquitectura de computadoras es el diseño conceptual y la estructura operacional fundamental de un sistema de computadoras. Es decir, es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para varias partes de una computadora, con especial interés en la forma en que la unidad central de proceso (CPU) trabaja internamente y accede a las direcciones de memoria.

También suele definirse como la forma de seleccionar e interconectar componentes de hardware, para crear computadoras según los requerimientos de funcionalidad, rendimiento y costo.

La computadora recibe y envía la información a través de los periféricos, por medio de los canales. La CPU es la encargada de procesar la información que le llega a la computadora. El intercambio de información se tiene que hacer con los periféricos y la CPU. Puede considerarse que todas aquellas unidades de un sistema, exceptuando la CPU, se denomina periférico, por lo que la computadora tiene dos partes bien definidas, que son:

  1. la CPU (encargada de ejecutar programas y que también se considera compuesta por la memoria principal, la unidad aritmético lógica y la unidad de control), y
  2. los periféricos (que pueden ser de entrada, salida, entrada/salida, almacenamiento y comunicaciones).

Introducción[editar]

La implantación de instrucciones es similar al uso de una serie de desmontaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a través de muchas etapas de producción antes de tener el producto desarmado. Cada etapa o segmento de la cadena está especializada en un área específica de la línea de producción y lleva a cabo siempre la misma actividad. Esta tecnología es aplicada en el diseño de procesadores eficientes.

A estos procesadores se les conoce como pipeline processors. Estos están compuestos por una lista de segmentos lineales y secuenciales en donde cada segmento lleva a cabo una tarea o un grupo de tareas computacionales. Los datos que provienen del exterior se introducen en el sistema para ser procesados. La computadora realiza operaciones con los datos que tiene almacenados en memoria, produce nuevos datos o información para uso externo.

Las arquitecturas y los conjuntos de instrucciones se pueden clasificar considerando los siguientes aspectos:

  • Almacenamiento de operandos en la CPU: dónde se ubican los operadores aparte de la substractora informativa (SI).
  • Cantidad de operandos explícitos por instrucción: cuántos operandos se expresan en forma explícita en una instrucción típica. Normalmente son 0, 1, 2 y 3.
  • Posición del operando: ¿cualquier operando puede estar en memoria, o deben estar algunos o todos en los registros internos de la CPU?. Cómo se especifica la dirección de memoria (modos de direccionamiento disponibles).
  • Operaciones: qué operaciones están disponibles en el conjunto de instrucciones.
  • Tipo y tamaño de operandos y cómo se especifican.

Almacenamiento de operandos en la CPU[editar]

La diferencia básica está en el almacenamiento interno de la CPU. Las principales alternativas son:

Pero antes hay que tomar en cuenta que la informaciones procesadas son de suma importancia.

Características
  • En una arquitectura de acumulador, un operando está implícitamente en el acumulador siempre leyendo e ingresando datos (por ejemplo, una calculadora estándar).
  • En la arquitectura de pila no es necesario nombrar a los operandos ya que estos se encuentran en el tope de la pila (por ejemplo, calculadora de pila HP).
  • La arquitectura de registros tiene sólo operandos explícitos (es aquel que se nombra) en registros o memoria.

Ventajas de las arquitecturas[editar]

  • 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 tiene 32 registros, como estándar.
    • El acceso a los datos es más rápido y veloz.

Desventajas de las arquitecturas[editar]

  • 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.

Véase también[editar]

Enlaces externos[editar]