Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. LA COMPUTADORA O COMPUTADOR
Definiremos 4 conceptos fundamentales para entender a los ordenadores que, a veces, suelen
prestarse a confusión.
Se refiere a todos los atributos del ordenador visibles al programador. Estos atributos tienen un
impacto directo en la ejecución de los programas.
Tomemos el conjunto de instrucciones que el fabricante nos entrega para que podamos
interactuar con el procesador del computador. En él se indica la única forma en que podemos
escribir las órdenes, algoritmos y cálculos que queremos que el procesador realice. Como
programador del computador, es mandatorio que yo conozca este atributo fundamental que, sin él,
no podría realizar los procesos que deseo.
La cantidad de bits que se utilizan para procesar los datos en el ordenador es fundamental
también. Hoy vemos procesadores hogareños de 32 y 64 bits, cantidad de bits que denominaremos
longitud de la palabra del procesador. Los primeros procesadores tuvieron longitud de palabra de 4 y
8 bits.
En un procesador de estudio como el 8080 de Intel, existen registros que son pequeñas
porciones de memoria muy rápidas que están dentro de la pastilla de silicio del microprocesador.
Ellos serán los encargados de albergar operandos y resultados de las operaciones que se realicen.
Cada procesador tiene una organización diferente, uno tendrá una unidad de cálculo entera,
otro tendrá dos, otro tendrá 4 de punto flotante y lo mismo con las unidades de ejecución y otras
más.
Compuesto por:
• Una Unidad Central de Proceso (UCP o Central Processor Unit = CPU) encargada del
procesamiento de los datos y el control de ejecución de los programas. Los
procesadores modernos tienen más de un “Core” o núcleo para el procesamiento y
ejecución de instrucciones.
• Una Memoria Principal encargada del almacenamiento de los datos y programas.
• Una Unidad de Entrada/Salida para la conexión del computador con los periféricos a
través de placas o unidades que adaptan las señales y temporización internos del
ordenador con los dispositivos externos (placas de red, de vídeo, de sonido, teclado,
etc.).
• Un sistema formal y definido de interconexión entre estas unidades estructurales
llamado Bus.
En este procesador, por ejemplo podemos ver dos ALU de números enteros y dos de punto
flotante, diferentes niveles de memoria caché, por ejemplo.
La función de cualquier componente indica que operación realiza o para que se utiliza o está
destinado. En el caso del computador general, las funciones básicas de todo ordenador son las
siguientes:
Por último el CONTROL de todo el flujo de datos y ejecución de instrucciones es la función más
importante de un ordenador. Todo se basará en unidades que controlan la ejecución de los
programas generando todas las señales eléctricas necesarias para tal fin.
Durante el proyecto ENIAC, John Von Neumann trabajó en el diseño de una máquina cuyo
programa estuviera almacenado dentro de su memoria. Una idea similar fue desarrollada
simultáneamente por Alan Turing pero el primero en publicar esta idea fue Von Neumann en su
proyecto EDVAC (Electronic Discrete Variable Computer).
Esta estructura básica del ordenador de Von Neumann podemos observarla en casi todos los
ordenadores actuales. En esta arquitectura, la palabra del procesador (cantidad de bits que opera
simultáneamente) era de 40 bits. En los 40 bits se acomodaban 2 instrucciones de 20 bits. Cada una
de ellas poseía un código de operación de 8 bits (orden propiamente dicha) y los restantes 12 bits
contenían la dirección del operando en memoria. La memoria era de 1.000 palabras.
La Unidad de Control buscaba las instrucciones en la memoria y las ejecutaba de a una por
una. Para la ejecución, se utilizarán los llamados registros para almacenar temporalmente los datos
y códigos de operación. Algunos de estos registros son:
La máquina IAS operaba ejecutando una instrucción detrás de la otra en forma repetitiva en lo
que se llamó el Ciclo de Instrucción. Cada ciclo consistía en dos sub-ciclos, uno para cada código de
operación en la palabra de 40 bits. Esta máquina poseía un total de 21 instrucciones (o códigos de
operación) distintas agrupadas en las siguientes categorías:
• Transferencias de datos: mueven data entre la memoria y la ALU y entre los registros
• Saltos incondicionales: Un programa o conjunto de instrucciones se va ejecutando
normalmente una detrás de la otra en forma ordenada (la primera, luego la segunda,
luego la tercera y así). Sin embargo existen situaciones en que se necesita repetir
ciertas instrucciones o continuar con la ejecución de la próxima instrucción fuera del
orden normal. Estas instrucciones modificaban el curso de ejecución de las instrucciones
sin condición alguna.
• Saltos condicionales: En este grupo de instrucciones, el salto a otra porción del código
para continuar la ejecución depende del cumplimiento (o no) de una condición, como por
ejemplo si un registro es cero. Ante estas condiciones planteadas podemos decir que la
unidad de ejecución tomara la decisión de saltar o no.
• Aritméticas: Operaciones que se llevan a cabo en la UAL (suma, resta, multiplicación,
etc.)
• Modificadoras de direccionamiento: Permiten calcular una dirección de memoria lo
que hace realmente muy flexible para la programación de direcciones dentro del
ordenador.
Todas estas instrucciones serán ejecutadas en más de un paso, es decir, se requerirán varias
operaciones, pasos o micro-tareas para completar una instrucción. Para cada una de ellas podrán
necesitarse diferente cantidad de estas operaciones. Por ejemplo, una multiplicación necesitaba 39
Es de hacerse notar que esta máquina era totalmente asincrónica, es decir, su operación no
estaba atada o basada en un reloj. Cada instrucción se ejecutaba cuando se terminaba la anterior.
A lo largo de los subsiguientes años, los ordenadores se hicieron más pequeños y sus
unidades estructurales fueron evolucionando. El tratamiento de los dispositivos periféricos cambió y
hoy el direccionamiento de las unidades de entrada/salida se ha simplificado a tal punto que su
mecanismo es similar al del direccionamiento de la memoria principal.
También fue incorporándose memorias no volátiles (ROM) para proporcionar las instrucciones
necesarias para el encendido del ordenador.
Los modernos ordenadores ya no son asincrónicos sino que son sincrónicos con una señal de
“CLOCK” o reloj que llega a todas las unidades para establecer dicho sincronismo. Esa señal se
encuentra dentro de las líneas de interconexión de control, ya que en general esta señal es provista
por el procesador o UCP.