Arquitectura de computadoras
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:
- 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),
- los periféricos (que pueden ser de entrada, salida, entrada/salida, almacenamiento y comunicaciones).

Almacenamiento de operandos en la CPU[editar]
La diferencia básica está en el almacenamiento interno de la CPU. Las principales alternativas son:
- Acumulador.
- Conjunto de registros.
- Memoria.
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
- 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
- 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.