Arquitectura de computadoras. Ensamblado y Desensamblado
Introducción
La circuitería de una computadora que controla el tratamiento de los datos se conoce como unidad central de procesamiento (CPU, Central Processing Unit), y a menudo simplemente se denomina procesador. En las máquinas de mediados del siglo xx, las CPU eran de gran tamaño, compuestas en ocasiones por varios bastidores de circuitos electrónicos, lo que reflejaba la importancia de dicha unidad. Sin embargo, los avances tecnológicos han permitido reducir enormemente el tamaño de estos dispositivos. Los procesadores que podemos encontrar hoy día en las computadoras de sobremesa y portátiles se encapsulan en pequeños cuadrados planos (de aproximadamente 2,5 por 2,5 centímetros) cuyos pines de conexión encajan en un zócalo que está montado sobre la tarjeta de circuito principal de la máquina (la tarjeta madre). En los teléfonos inteligentes, miniportátiles y otros dispositivos de Internet móviles (MID, Mobile Internet Devices), los procesadores suelen tener la mitad del tamaño de un sello de correos. Debido a su pequeño tamaño, estos procesadores se denominan microprocesadores.
El procesador
Un procesador consta de tres partes: la unidad aritmético/lógica, que contiene los circuitos que realizan las operaciones con los datos (como por ejemplo sumas y restas); la unidad de control, que contiene los circuitos que coordinan las actividades de la máquina; y la unidad de registros, que contiene celdas de almacenamiento de datos (similares a las celdas de la memoria principal), denominadas registros, que se emplean para almacenar temporalmente la información dentro del procesador.
Para realizar una operación con datos almacenados en la memoria principal, la unidad de control transfiere los datos desde la memoria hasta los registros de uso general, informa a la unidad aritmético/lógica de qué registros son los que contienen los datos, activa los circuitos apropiados dentro de la unidad aritmético/lógica y le dice a esta en qué registro debe almacenar el resultado.Para transferir los patrones de bits, el procesador y la memoria principal de una máquina se conectan a través de un conjunto de hilos de conexión, denominado bus. A través de este bus, el procesador extrae (lee) datos de la memoria principal, suministrando la dirección de la celda de memoria pertinente, junto con una señal electrónica que le indica a los circuitos de memoria que debe extraer los datos contenidos en la celda indicada. De forma similar, el procesador coloca (escribe) datos en la memoria proporcionando la dirección de la celda de destino y los datos que hay que almacenar, junto con la señal electrónica apropiada que le dice a la memoria principal que debe almacenar los datos que se le están enviando.
Concepto de programa almacenado
Las primeras computadoras no destacaban precisamente por su flexibilidad: los pasos que cada dispositivo ejecutaba estaban integrados, como parte de la máquina, en la propia unidad de control. Para conseguir una mayor flexibilidad, algunas de las primeras computadoras electrónicas se diseñaron de forma en que el procesador pudiera volverse a cablear fácilmente. Esta flexibilidad se conseguía por medio de unos zócalos de interconexión similares a los paneles de conmutación de las antiguas centrales telefónicas, en los que se introducían en una serie de agujeros los extremos de los cables de interconexión.
La idea de almacenar el programa de una computadora en su memoria principal se conoce como concepto de programa almacenado y se ha convertido en el método estándar utilizado en la actualidad, tan estándar, que parece obvio. Lo que hizo difícil originalmente llegar a este concepto fue el hecho de que todo el mundo pensaba en los programas y en los datos como si fueran entidades distintas. Los datos se almacenaban en la memoria mientras que los programas eran parte del procesador.
El lenguaje de máquina
Con el fin de aplicar el concepto de programa almacenado, los procesadores están diseñados para reconocer instrucciones codificadas como patrones de bits. Este conjunto de instrucciones junto con el sistema de codificación utilizado forman lo que se conoce como lenguaje máquina. Una instrucción expresada en este lenguaje se denomina instrucción de nivel máquina.
Transferencia de datos
El grupo de transferencia de datos está compuesto por instrucciones que solicitan el movimiento de datos desde una ubicación a otra. El proceso implicado en una instrucción de transferencia es más una copia de los datos que un movimiento de los mismos.
Una solicitud para llenar un registro de uso general con el contenido de una celda de memoria se suele denominar instrucción LOAD (instrucción de carga); a la inversa, una solicitud para transferir el contenido de un registro a una celda de memoria se denomina instrucción STORE (instrucción de almacenamiento). Un grupo importante de instrucciones dentro de la categoría de transferencia de datos está formado por los comandos utilizados para comunicarse con dispositivos externos al contexto definido por el procesador y la memoria principal (impresoras, teclados, pantallas, unidades de disco, etc.). Puesto que estas instrucciones se encargan de generar las actividades de entrada/salida, E/S (I/O, Input/Output) de la máquina se denominan instrucciones de E/S (o, en inglés, instrucciones I/O) y, en ocasiones, se las considera una categoría de instrucciones diferente.
Ejecución de programas
Las computadoras ejecutan un programa almacenado en su memoria copiando las instrucciones desde la memoria al procesador según va siendo necesario. Una vez que están en el procesador, cada instrucción se decodifica y se hace lo que la instrucción ordene. El orden en el que las instrucciones se extraen de la memoria se corresponde con el orden en el que están almacenadas en la memoria, a no ser que ese orden se altere mediante una instrucción JUMP.
El procesador lleva a cabo su tarea repitiendo continuamente un
algoritmo que le hace recorrer un proceso de tres pasos conocido con el nombre de ciclo de máquina. Los pasos del ciclo de máquina son la captación de instrucción, la decodificación y la ejecución. Durante el paso de captación, el procesador solicita que la memoria principal le proporcione la instrucción almacenada en la dirección indicada por el contador de programa.El procesador ejecuta la instrucción activando la circuitería apropiada para llevar a cabo la tarea solicitada. Por ejemplo, si la instrucción es una carga desde la memoria, el procesador envía las señales apropiadas, espera a que la memoria principal envíe los datos y luego almacena esos datos en el registro solicitado; si la instrucción se corresponde con una operación aritmética, el procesador activa la circuitería apropiada de la unidad aritmético/lógica, utilizando los registros correctos como entradas y espera a que dicha unidad calcule la respuesta, después de lo cual la coloca en el registro apropiado.
El papel de las controladoras
La comunicación entre una computadora y otros dispositivos suele gestionarse mediante un aparato intermedio denominado controladora. En el caso de una computadora personal, una controladora puede constar de circuitos montados de forma permanente en la placa base de la computadora o, para disponer de una mayor flexibilidad, puede adoptar la forma de una tarjeta de circuito que se inserta en una de las ranuras de la placa madre.
Arquitectura de una computadora
- Computadora por dentro:
Comentarios
Publicar un comentario