Arquitectura y Evolución de los Microprocesadores

Registros Internos del Microprocesador

Registros Internos

Celdas de memoria de alta velocidad que permiten a la CPU almacenar datos temporalmente mientras se efectúa alguna operación. Constituyen la memoria interna del procesador.

Registros Visibles al Usuario

Se definen como aquellos que pueden ser referenciados por lenguaje ensamblador o de máquina, con el fin de optimizar el uso de los recursos. Hay 3 categorías:

  • Registros de Dirección: Contienen las direcciones de memoria donde se encuentran los datos. Los más usados son los registros índices y los punteros de pila.
  • Registros de Datos: Se usan para contener datos. Esto hace que aumente la velocidad de proceso, sobre todo cuando un dato es solicitado.
  • Registros de Condición (Flags): Son bits fijados mediante el hardware, que indican, por ejemplo, si una operación entrega un resultado positivo, negativo o nulo.

Historia de los Ordenadores

¿Qué es un Ordenador?

Máquina destinada a procesar información, que transforma una información de entrada en una información de salida, para resolver problemas determinados.

El Ábaco

Servía para representar números en el sistema decimal y realizar operaciones con ellos.

La Era Mecánica

En lo que podríamos llamar la generación 0, existían las máquinas mecánicas de calcular. Una evolución de estas máquinas son las registradoras mecánicas.

Blaise Pascal

Inventó una máquina aritmética de calcular capaz de realizar sumas y restas mostrando el resultado por una serie de ventanillas.

Funcionamiento

Estaba construida a partir de un determinado número de ruedas dentadas de forma que al rodar los 10 dientes de la primera rueda, avanzase 1 la segunda; al rodar 10 dientes en la segunda, avanzase 1 la tercera, y así sucesivamente.

Gottfried Wilhelm Von Leibniz

Diseñó en 1671 una máquina que suma, resta, multiplica, divide y hace raíces cuadradas.

Pascal y Leibniz

Considerados los precursores de las actuales computadoras.

Charles Babbage

Impulsó el diseño de máquinas matemáticas. Ideó la máquina de diferencias o diferencial, con la que habrían podido obtenerse automáticamente tablas de valores de una variable, pero esta máquina no llegó a construirse nunca por las enormes dificultades de fabricación. Pero ideó un nuevo aparato, la máquina analítica, con la que estableció los principios de funcionamiento de los ordenadores electrónicos e incorporaba los conceptos de memoria, unidad de control (UC), unidad aritmético-lógica (ALU) y dispositivos de entrada y salida.

Herman Hollerith

Ideó las tarjetas perforadas para contener la información de las personas censadas y construyó una máquina censadora o tabuladora capaz de leer y tabular dicha información.

Howard H. Aiken

Desarrolló la idea de Babbage y fabricó la primera computadora utilizando componentes electromecánicos, puede considerarse como el primer ordenador que llegó a construirse.

La Era Electrónica

Los ordenadores basados en elementos mecánicos plantean ciertos problemas como: la velocidad de trabajo está limitada a la velocidad de los componentes móviles y la transmisión de la información por medios mecánicos es poco fiable y difícilmente manejable. El primer elemento electrónico usado para calcular fue la válvula al vacío.

ENIAC

Primer ordenador electrónico de uso general, construido en la Universidad de Pensilvania por Presper Eckert y John Mauchly.

John Von Neumann

Ingeniero estadounidense, desarrolló la idea de programa interno o almacenado y describe el fundamento teórico de construcción de un ordenador electrónico, denominado modelo Von Neumann.

John W. Mauchly

Construye el primer ordenador comercial, el UNIVAC-I, para la oficina del censo de EEUU. Utilizaba ya las cintas magnéticas como dispositivo de almacenamiento externo.

Generaciones de los Ordenadores

Se empezaron a utilizar los ordenadores con fines comerciales, han ido evolucionando hasta llegar a los potentes, rápidos y fiables actuales. Los ordenadores se pueden clasificar de acuerdo con estos avances de la electrónica, estableciendo diferencias entre las denominadas generaciones de ordenadores.

1ª Generación

Basados en las válvulas de vacío, tamaño muy grande y mantenimiento complicado, destinados para el campo científico y militar. Los programas tardaban días en ejecutarse, empleaba la tarjeta perforadora.

2ª Generación

Se sustituye la válvula de vacío por el transistor, reducción de tamaño de los ordenadores y ganaban potencia, rapidez y fiabilidad. Se comenzaba a utilizar lenguajes como Cobol y se usan memorias de núcleos de ferrita.

3ª Generación

Los ordenadores se basan en circuitos integrados, se minimizan los ordenadores y se aumenta la velocidad. Empieza a evolucionar los sistemas operativos y las unidades de almacenamiento, y se empieza a utilizar memoria semiconductora.

4ª Generación

Se crean los microprocesadores, se perfeccionan las unidades de almacenamiento y se empieza a utilizar el disquete. Las redes de datos empiezan a darse a conocer.

5ª Generación

Las máquinas empiezan a comunicarse por lenguajes más cotidianos.

Arquitectura Von Neumann

La idea era conectar permanentemente las unidades del ordenador, siendo coordinado su funcionamiento bajo un control central.

Unidad Central de Proceso (CPU)

Es el cerebro del ordenador y controla todo el sistema. Consiste en un circuito microscópico que interpreta y ejecuta las instrucciones de los programas almacenados en memoria y que además toma los datos de las unidades de entrada. Está formada por la Unidad de Control (UC), que ejecuta las instrucciones de las máquinas almacenadas en la memoria principal y genera las señales de control; la Unidad Aritmético-Lógica (ALU), que recibe los datos sobre los que efectúa las operaciones; y el registro de trabajo donde se almacena la información temporal.

CPU Tipo CISC

Ventajas

  • Simplifica compiladores: al implementar instrucciones máquina parecidas al lenguaje de alto nivel, se reduce el número de instrucciones máquina a ejecutar.
  • Programas más pequeños (menos instrucciones) y rápidos.
  • Permite reducir el costo total del sistema.
  • Más software de uso general.

Inconvenientes

  • Instrucciones difíciles de aprovechar.
  • Programas más pequeños en número de instrucciones no implica que contengan menos bits.
  • Pocos registros de trabajo.
  • Las CPU complejas, con un repertorio de instrucciones grande, son lentas.

CPU Tipo RISC

Ventajas

  • Se componen sólo las instrucciones menos frecuentes.
  • Las instrucciones se ejecutan rápidamente.
  • Fáciles de procesar.
  • Se consiguen computadoras eficientes que necesitan menos lógica para ejecutar instrucciones y son más baratas.
  • Muchos registros de trabajo o propósito general.

Inconvenientes

  • Requieren compiladores más complejos.
  • Más costosa, porque utiliza más circuitos.

Registros de Control y de Estado

  • Contador de Programa (CP): También llamado contador de instrucciones, contiene la dirección de la siguiente instrucción a ejecutar; su valor es actualizado por la CPU después de capturar una instrucción.
  • Registro de Instrucción (RI): Contiene el código de la instrucción actual. Aquí se analiza el código de operación.
  • Registro de Dirección de Memoria (RDM): Contiene la dirección de una posición de memoria, donde se encuentra o va a ser almacenada la información; este intercambio se realiza a través del bus de direcciones.
  • Registro de Intercambio de Memoria (RIM): Recibe o envía la información o el dato contenido en la posición apuntada por el RDM; el intercambio de datos con la memoria se realiza a través del bus de datos.

La Memoria Principal (RAM)

Se almacena el programa y los datos, formada por un conjunto de casillas capaces de almacenar un dato y cada casilla contiene 8 bits. La RAM es donde se almacenan los datos y programas que se ejecutan en el ordenador. Cuando se apaga el ordenador, el contenido de la RAM desaparece; por eso se dice que es volátil. Cada una de las casillas que forman la memoria se identifica con un número; es lo que se conoce como dirección de memoria. Para hacer operaciones de lectura o escritura en una celda de memoria se utiliza el Registro de Dirección (RDM), el Registro de Intercambio de Datos (RIM) y el selector de memoria, que es el dispositivo que conecta la celda de memoria cuya dirección está en el RDM.

Operación de Lectura

  • En el RDM se almacena la dirección de memoria de la celda que contiene la información.
  • El selector de memoria selecciona la dirección contenida en el RDM y carga en el RIM la información contenida en esa celda.
  • Transfiere el contenido del RIM al registro de trabajo de la CPU para que allí se procese.

Operación de Escritura

  • Los datos a escribir en la memoria, que ya han sido procesados por la CPU, llegan al RIM.
  • En el RDM está la dirección de la celda destino de la información.
  • El selector de memoria selecciona la celda destino y se carga el contenido del RIM a la celda apuntada por el RDM.

Unidad de Control

Extrae de la memoria la instrucción a ejecutar, establece las conexiones con la ALU, ordena a la ALU que efectúe las operaciones, y se incrementa en uno el contenido del contador de programa para que coincida con la dirección de la siguiente instrucción.

Componentes de la UC

Decodificador de la Instrucción (DI): Se encarga de extraer y analizar el código de la instrucción que está en (RI) y genera las señales de control para ejecutar la instrucción.

Reloj

Es una sucesión de impulsos eléctricos en intervalos constantes, marca los tiempos de ejecución y el ritmo de funcionamiento del decodificador de instrucciones. La velocidad se mide en MHz.

Secuenciador

Genera órdenes que, sincronizadas con el reloj, hacen que se ejecute paso a paso y de manera ordenada la instrucción cargada en él.

Unidad Aritmético-Lógica (ALU)

Tiene la función de operar los datos que recibe siguiendo las órdenes de la UC. Se realizan tanto operaciones aritméticas como operaciones basadas en la lógica booleana.

Buses

Caminos a través de los cuales las instrucciones y los datos circulan entre las distintas unidades del ordenador.

Buses de Comunicación

  • Bus de Datos: Permite establecer el intercambio de datos entre la CPU y el resto de unidades.
  • Bus de Direcciones: Transmite direcciones entre la CPU y la memoria.
  • Bus de Control: Controla las unidades complementarias de la CPU, generando los impulsos eléctricos necesarios para gobernarlos.

Ejecución de una Instrucción

A la hora de ejecutar una instrucción, se distinguen dos fases:

  • Fase de Búsqueda: Consiste en localizar la instrucción a ejecutar dentro de la memoria principal y llevarla a la UC para procesarla.
  • Fase de Ejecución: Es la realización de las acciones que llevan asociadas las instrucciones: por ejemplo, una suma o una resta.

Evolución de los Microprocesadores

Los últimos micros sobrepasan la barrera del GHz, lo que es justificable por:

  • Los nuevos sistemas operativos utilizan muchos recursos de la máquina.
  • Los nuevos formatos de audio y vídeo comprimido se descomprimen en tiempo real y realizan más trabajo en menos tiempo.

Diagrama de Bloques de las CPU Actuales

Los primeros micros constaban de los componentes básicos y cada vez que salían nuevos los hacían más rápidos y potentes. El núcleo del procesador es la parte de la CPU que funciona a la misma velocidad de reloj que la ALU y tiene: Unidad de coma flotante, la caché del procesador de nivel 1 y nivel 2, el Bus Frontal y el Bus Posterior.

  • Unidad de Coma Flotante: Es la encargada de manejar todas las operaciones en coma flotante.
  • La Caché del Procesador (Nivel 1 y Nivel 2): Las memorias caché se utilizan para guardar las posiciones de memoria principal más utilizadas. Almacenando la información en un caché, se incrementa la velocidad de adquisición de datos. Cuando la caché contiene los datos que necesita la CPU, no hay tiempo de espera y se denomina acierto de caché. Cuando no contiene los datos, se denomina fallo de caché y la CPU tendrá que esperar un tiempo hasta que la memoria principal entregue los datos. Las primeras surgieron en la época del micro 386 de Intel. Éstas llevaban un caché de 64 KB. Con el 486 se incluyó una pequeña cantidad de caché dentro del chip del micro; esta caché se denominó caché del procesador. Los fabricantes del 486 incluyeron una caché en la placa base; se la denominó caché de nivel 2 (L2) y la integrada en el micro pasó a llamarse caché de nivel 1 (L1).
  • Bus Frontal: Conecta la CPU con la placa base. Es la interfaz entre el caché de nivel 2 del procesador y la placa base. El ancho es de 64 bits.
  • Bus Posterior: Es la interfaz entre la caché de nivel 1, el núcleo del procesador y la caché de nivel 2. El ancho es de 256 bits.

Actualmente el mercado de los microprocesadores está monopolizado por dos grandes marcas: Intel y AMD.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.