Enciclopedia de Conocimientos Fundamentales
UNAM ˜ SIGLO XXI


regreso








6.4 PRIMER PISO: ARQUITECTURA DE COMPUTADORAS

En el tema sobre abstracción se vio que toda computadora se puede modelar mediante una máquina de Turing, o cualquiera de los otros modelos equivalentes. Ahora se mostrará el modelo propuesto por Von Neumann, que sigue siendo la base de la mayoría de las computadoras modernas.

6.4.1 Arquitectura de Von Neumann

La unidad aritmético-lógica de una computadora puede ser su corazón, pero de muy poco serviría por sí misma. No podría hacer cosas mucho más complejas que las que hace una simple calculadora de bolsillo. Algo fundamental de una computadora es que es programable, aun las más simples, como la de un reproductor de MP3, la de un microondas, la de un aparato para grabar programas de televisión, la de un cajero automático o la de una caja registradora. Esencialmente, una computadora es un ejecutor de algoritmos; cada tarea llevada a cabo por una computadora, por simple que sea, está programada de antemano, es un algoritmo que ha sido expresado en el lenguaje que entiende la computadora, por lo que ésta se limita a ejecutarlo paso por paso.

En la práctica, las computadoras actuales requieren más cosas que una ALU:

• La unidad central de proceso (CPU, por sus siglas en inglés),1 donde se ejecutan los programas, constituida por unidades menores;

• la unidad aritmético-lógica, que se encarga de llevar a cabo las operaciones;

• y la unidad de control, que determina qué operación se debe hacer y con qué operandos.

Puede haber más de una CPU, en cuyo caso se dice que la computadora es un sistema multiprocesador.

• Memoria. En ella se almacenan dos cosas: programas y datos. A la memoria que se borra cuando la computadora se apaga se le denomina memoria primaria, a la que permanece se le denomina secundaria. La memoria principal de una máquina, a la que se le suele llamar RAM,2 es primaria; un disco duro o un CD son memoria secundaria. Para que un programa pueda ejecutarse es indispensable que esté en memoria primaria.

• Dispositivos de entrada y salida. Son todos aquellos dispositivos que permiten la interacción de la computadora con el medio exterior: teclado, ratón, tarjeta de red, impresora, tarjeta de video, puertos USB, paralelos, seriales, etcétera.

Esquemáticamente, se pueden representar los componentes genéricos de una computadora como se muestra en la figura 14:

esquematico
Figura 14. Representación esquemática de la arquitectura de Von Neumann.


Curiosidades
John von Neumann (28 de diciembre de 1903-8 de febrero de 1957) nació en Hungría y recibió su doctorado en matemáticas a los 23 años, después de haber estudiado ingeniería química; fue uno de los pensadores más influyentes del siglo XX. Trabajó en el desarrollo de las primeras armas nucleares. Es considerado el padre de la teoría de juegos; también fue muy importante en política, concibió el concepto de MAD (Mutually Assured Destruction, o destrucción mutua asegurada), que dominó la estrategia nuclear estadunidense durante los tiempos de posguerra. Fue pionero de la computadora digital moderna y de la aplicación de la teoría de operadores a la mecánica cuántica. Nunca olvidaba nada de lo que leía y su habilidad para realizar cálculos mentales era legendaria. Todos los que lo conocían estaban de acuerdo en dos cosas acerca de Von Neumann: lo carismático y amable de su personalidad, y lo mucho más inteligente que era.

A la estructura mostrada se le denomina arquitectura de Von Neumann; su característica fundamental es que posee una memoria para almacenar no sólo los datos sobre los que se ejecuta el algoritmo, sino también el programa que codifica dicho algoritmo. Hasta antes de la invención de esta cualidad fundamental, las computadoras eran programadas reconfigurando el cableado de los componentes; es decir, se "reconstruía" la computadora cada vez que se cambiaba el algoritmo que ejecutaba. No es necesario decir que esto era muy complicado y propenso al error, así que realmente fue una gran idea que la computadora pudiera guardar el programa en la memoria, para así poder cambiarlo fácilmente.

Se vio que un programa consiste en una secuencia de instrucciones que manipula datos. De la ejecución de éstas se encarga la unidad aritmético-lógica del procesador. Se deben guardar en la memoria de la computadora tanto las instrucciones del programa como los datos que manipula. A lo largo de la ejecución, la máquina que ejecuta el programa transita por una secuencia de estados, determinados por lo que se ha hecho sobre los datos de entrada y las características de los resultados parciales obtenidos hasta el momento.

En el caso del procesador, es necesario mantener el estado de alguna manera, recordar qué se ha obtenido hasta el momento. La manera de hacerlo es almacenando datos en la memoria, pero como la memoria externa al procesador suele ser muy lenta y estos datos serán usados asiduamente, los procesadores poseen pequeñas cantidades de memoria de acceso expedito dentro de ellos. Esta memoria está directamente conectada a la unidad aritmético-lógica y allí se ponen los datos traídos de la memoria primaria externa para usarlos como operandos y se almacenan los resultados antes de llevarlos de regreso a la memoria externa. Esta pequeña cantidad de memoria interna está dividida en unidades manejables por la unidad aritmético-lógica en celdas llamadas registros del procesador. Es el tamaño de éstos lo que da su nombre a la arquitectura; un procesador de 32 bits tiene registros de ese tamaño y uno de 64 bits tiene registros del doble.


Inicio de página