GENERALIDADES DEL CPU
     
Imagen
unitec
Website
 
GENERALIDADES DEL CPU
 
GENERALIDADES DEL CPU

   
 
Imagen
INTRODUCCION A LOS MICROPROCESADORES
.
Configuración

UNIDAD CENTRAL DE PROCESAMIENTO (CPU).

El Microprocesador en términos generales es el cerebro de un computador, cuyas partes básicas son: el contador de programa, el decodificador de instrucciones, los registros y la unidad aritmética y lógica. En la figura proxima se indica la disposición de tales partes.

El CPU es el corazón de la µC, es el encargado de decodificar las instrucciones, hacer más

eficientes las operaciones aritméticas, y controlar algunas otras partes de la maquina. Cuenta con cuatro partes básicas.

(1) Registros,

(2) Unidad Aritmética y lógica,

(3) Circuito de temporización y control.

(4) Circuito de Decodificación.

Configuración

UNIDAD CENTRAL DE PROCESAMIENTO (CPU).

El Microprocesador en términos generales es el cerebro de un computador, cuyas partes básicas son: el contador de programa, el decodificador de instrucciones, los registros y la unidad aritmética y lógica. En la segunda figura de abajo se indica la disposición de tales partes.

El CPU es el corazón de la µC, es el encargado de decodificar las instrucciones, hacer más

eficientes las operaciones aritméticas, y controlar algunas otras partes de la maquina. Cuenta con cuatro partes básicas.

(1) Registros,

(2) Unidad Aritmética y lógica,

(3) Circuito de temporización y control.

(4) Circuito de Decodificación.

imagen
imagen
Todos los datos (las instrucciones y los datos) son leídos por la CPU a través de los registros. Las instrucciones (el código del programa) son leídas en un registro llamado "Instruction Register" y luego son decodificadas mediante un decodificador, que interpreta el tipo de instrucción. Dependiendo de la instrucción, se leen a continuación los datos a procesar, los cuales se almacenan en un registro llamado "Acumulador" o "Registro de Trabajo" que se encuentra directamente relacionado con la Unidad Aritmética y Lógica (ALU). La ALU es un modulo del procesador donde se realizan todos los procesos lógicos y aritméticos con los datos. Los resultados de la ALU son almacenados nuevamente en el Acumulador, donde pueden ser enviados a una posición de memoria o a un dispositivo de E/S.

Los Registros: Son localizaciones que sirven para almacenar temporalmente datos, pueden ser de 8 o de 16 bits. Los tres registros más usados son, el acumulador para propósito general, el contador de programa y el registro de instrucciones que son de propósito específico. El acumulador almacena temporalmente el resultado de las operaciones aritméticas y lógicas. El registro de Instrucciones es usado para almacenar la instrucción que se está ejecutando en ese momento por el microprocesador. El contador de Programa contiene la dirección de la siguiente instrucción del programa.

El circuito de decodificación: Involucra el proceso de trasladar un patrón binario en una operación o secuencia de operaciones. Por ejemplo si el siguiente patrón binario 10111001 representa “ADD”, el circuito de decodificación lo reconoce y manda señales a todas las otras partes del µP para que ocurra la decodificación.

El Circuito de temporizador y control: Es una red secuencial que acepta un código que define la operación que se va a ejecutar y luego prosigue a través de una secuencia de estados, generando una correspondiente secuencia de señales de control. Estas señales de control incluyen el control de lectura escritura y señales de dirección de memoria válida en el bus de control del sistema. Otras señales generadas por el controlador se conectan a la unidad aritmética lógica y a los registros internos del procesador para regular el flujo de información en el procesador y a, y desde, los buses de dirección y de datos del sistema.

La unidad aritméticológica (ALU, Arithmetic logic unit): es una red combinacional. Acepta dos palabras de datos y una palabra de control que especifica el tipo de operación que ha de ejecutarse con los datos. El bus de datos del sistema o cualquiera de los registros internos del procesador pueden proporcionar palabras de datos. La palabra de control se define por la unidad de control. La ALU realiza la operación especificada y genera una palabra de salida que representa el resultado de la operación aritmética o lógica y un conjunto de señales de estado que indican, por ejemplo, si se produjo un acarreo o desbordamiento aritmético. La palabra resultado se puede dirigir a cualquiera, de los registros internos o al bus de datos. El destino específico se define por la unidad de control, dependiendo de la naturaleza de la Operación que se esta realizando. Las señales de estado se dirigen a un registro interno específico del procesador para almacenamiento, denominado registro de códigos de condición.

imagen
Fig. Arquitectura de los microprocesadores.

El Acumulador: almacena datos para procesar por la ALU. Suelen tener el mismo número de bits que el bus de datos. El acumulador se utilizan con el bus de datos y la ALU en el proceso de datos. Por ejemplo, dos palabras binarias se pueden sumar, cargando la primera en el acumulador A, sumando la segunda, cargando el resultado en el acumulador y después transfiriendo los resultados desde el Acumulador, a la memoria. Durante la transferencia de los primeros datos, el bus de datos sirve como una entrada al Acumulador. Durante la segunda, la ALU realiza una suma en la que el bus de datos proporciona una entrada y el acumulador A la otra; la salida de la ALU se conecta a la entrada del acumulador A para almacenar el resultado. Durante la tercera operación, la salida del Acumulador se conecta al bus de datos, de modo que los resultados se transfieren a memoria.

El contador de programa (PC): Es un registro de 16 bits que contiene la dirección de la palabra siguiente del programa. Su salida se conecta al bus de direcciones siempre que una pa­labra del programa se lea desde la memoria. Cada vez que el contador de programa proporciona una dirección, se modifica de modo que contiene siempre la dirección de la palabra siguiente del programa.

El puntero de pila (SP, stack pointer): El puntero de pila es, un registro de autoincrementación y autodecrementación, que significa que cada vez que se proporciona un dato su contenido se incrementa o decrementa automáticamente. En los microprocesadores, el puntero de pila contiene la dirección de la siguiente posición de memoria vacía en la pila. A continuación, proporciona esta dirección al bus de direcciones durante un ciclo del bus de lectura. La pila se utiliza de muchos modos; por ejemplo, se utiliza para almacenar la dirección de retorno cuando las transferencias de control a subrutinas o rutinas de interrupción de servicios.

El registro de códigos de condición: (PSW) ó (CCR) Almacena la información que describe los resultados de operaciones anteriores. Esta información se almacena asignando un bit en el registro. En algunos microprocesadores, el registro del código de condición. Contiene ocho bits, El bit menos significativo es el bit de acarreo, o bit C, que se pone a 1 cuando se produce un acarreo aritmético. El bit de desbordamiento, o bit V, se pone a 1 si se produce un desbordamiento. El bit cero, o bit Z, el tercer bit en el registro de códigos de condición se pone a 1 cuando se produce el resultado cero. El bit negativo, o bit N, se pone a 1 cuando el resultado es negativo. El bit de semi acarreo, o bit H, se pone a 1 cuando se produce un acarreo desde el bit 3. El bit H se utiliza con cálculos aritméticos con datos codificados en BCD. Los bits C, V, Z, N y H se ponen a 1, o a 0, automáticamente por el procesador, dependiendo de la naturaleza de la operación que se está ejecutando y el resultado de está operación, además, los bits C, V e I pueden ser puestos a 1, o a 0, por el programador utilizando instrucciones especiales para cada bit.
ARQUITECTURA DE UNA MICROCOMPUTADORA
Una Microcomputadora es un sistema digital que contiene por lo menos tres componentes esenciales: una unidad central de procesamiento (CPU), una Memoria y los Puertos Entrada/Salida. En la figura se muestra un diagrama de bloques de estos componentes y su conexión a través de los buses de direcciones, datos y control, los cuales serán explicados mas adelante en esta lección.
imagen
Una microcomputadora en pocas palabras puede es una computadora de propósito general, como un PC en miniatura, o un sistema diseñado para cumplir una tarea especial, como es el caso de los microcontroladores. En la siguiente figura se muestra la apariencia interna de un microcomputador. Las líneas delgadas que van del centro hacia afuera son los alambres que conectan los bloques internos del microcomputador con los pines de la cápsula.

imagen
Figura: Apariencia física del interior de un microcomputador


El microcomputador para interactuar con los demás dispositivos como las memorias, puertos y otros utiliza el bus del sistema. A continuación de dará una explicación sobre la composición de este bus y su funcionamiento.

Bus del Sistema

Los buses de direcciones, datos y control mostrados inicialmente en la figura 1.2.1 son el "bus del sistema". Este bus se encuentra separado en tres canales que manejan respectivamente direcciones, datos y señales de control, los cuales permiten el procesador comunicarse con los demás dispositivos del microcomputador, tales como las memorias y los dispositivos de E/S.

Bus de Datos

Este bus es bidireccional y es el canal por el cual se conducen los datos entre la CPU y los demás dispositivos (memorias, puertos y otros).

Bus de Direcciones

El bus de direcciones es un canal unidireccional por el cual la CPU envía las direcciones de memoria para ubicar información en los dispositivos de memoria, puertos u otros dispositivos del microcomputador.

Bus de Control

El bus de control, al igual que el bus de direcciones es unidireccional y se utiliza para efectuar la lectura y escritura en las memorias y puertos de E/S. Este bus en general lo emplea la CPU para controlar el flujo de los datos y las direcciones de forma organizada.

Funcionamiento del Bus del Sistema

El bus de datos depende del tamaño de los datos que maneja el procesador, este puede tener 8, 16 o 32 bits y el bus de direcciones generalmente tiene como mínimo 16 bits. El bus del sistema se utiliza para transferir información entre la CPU y la memoria o para extraer instrucciones almacenadas en memoria y datos presentes en los puertos de E/S.

El intercambio de información por el bus del sistema se realiza con dos tipos de operaciones:



Ciclo de Lectura: Cuando los datos en Memoria o puertos de E/S se transfieren a la CPU.



Ciclo de Escritura: Cuando los datos de la CPU se transfieren a la Memoria o a los puertos de E/S.

Las líneas de control son aquellas con las que se controla el flujo de la información por los buses, y las más importantes son:



CHIPSELECT (CS’)



LECTURA (RD’)



ESCRITURA (WR’)

Cada transferencia empieza con la carga de una dirección en el bus de direcciones. Las líneas correspondientes a la los bits menos significativos de la dirección se encuentran conectados directamente a las memorias. Las líneas de dirección de los bits más significativos se utilizan para seleccionar el dispositivo del cual se desea extraer la información, ya sea una EPROM, RAM o un Puerto de E/S. Entonces, el decodificador de direcciones se encarga de seleccionar el dispositivo que se debe activar según la dirección presente en el bus. Para ello, cada dispositivo en el microcomputador debe tener una única dirección que lo identifique. En la siguiente figura se muestra un diagrama de los tiempos de las señales presentes durante el flujo de los datos y direcciones en el bus del sistema.

imagen
Figura:Diagrama de tiempos de las señales del bus del sistema

La señal CS’ selecciona el dispositivo que debe transmitir los datos por el bus de datos. Luego una de las señales RD o WR se activa desde la CPU, con lo cual se ordena al dispositivo seleccionado enviar los datos a la CPU (ciclo de lectura) o recibirlos de la CPU (ciclo de escritura).

Todos los ciclos de lectura y escritura comienzan con una dirección válida de la CPU. Luego el decodificador de direcciones genera una señal CS’ para seleccionar uno de los dispositivos. Entonces la CPU envía una señal RD o WR para efectuar la lectura o escritura de los datos.

Para una operación de lectura el dispositivo debe conducir a través del bus de datos, lo cual toma un tiempo corto (el tiempo de acceso de los datos), y los datos deben estar disponibles en el bus durante el flanco de subida de la señal RD. Durante este flanco de subida la CPU toma los datos y los almacena internamente en sus registros.

Durante un ciclo de escritura la CPU por si misma maneja de los datos. En este caso, al igual que en el ciclo de lectura los datos deben estar disponibles en el bus antes de que ocurra el flanco de subida de la señal WR, para que el dispositivo seleccionado pueda recibir los datos correctamente.

Arquitecturas de Microcomputadores

Actualmente se conocen dos tipos de arquitecturas en los microcomputadores, conocidas como Von-Newman y Harvard.

Arquitectura Von-Neuman

Los microcomputadores basados en esta arquitectura se caracterizan por tener un solo bus para direcciones y datos, es decir, que el mismo bus se emplea para enviar y recibir instrucciones y datos. Además de ello, las instrucciones y los datos son almacenados en una memoria principal. Cuando la CPU se dirige a la memoria principal, extrae la instrucción y después los datos con los que se efectúa la instrucción.

Arquitectura de Harvard

Esta arquitectura se caracteriza por tener por separado el bus de datos y el bus de direcciones. Esto significa que las instrucciones y los datos son almacenados en memorias diferentes que son accedidas de forma separada por la CPU.
EN RESUMEN:

La unidad de control y la unidad aritmética y lógica (ALU) forman la unidad central de procesamiento (CPU). Las funciones de la CPU consisten en leer y escribir contenidos de las celdas de memoria, llevar y traer datos entre celdas de memoria y registros internos, e interpretar y ejecutar las instrucciones de un programa.
Del procesador dependen las demás funciones del sistema, y es el encargado de llevar el control de todas las operaciones que la máquina realiza.

Como en todo sistema donde interactúan muchos componentes, una computadora necesita de una organización jerárquica para funcionar eficientemente. Así, la organización consiste en delegar las tareas entre dispositivos diversos que indican sus actividades a la CPU a través de señales llamadas interrupciones.

Normalmente, la CPU realiza a gran velocidad los cuatro pasos que comprende el ciclo de ejecución de una instrucción (lectura en memoria, decodificación, ejecución y ajuste del registro PC). Cuando es necesario hacer una operación sobre alguno de los dispositivos externos, la CPU da la orden y continua la ejecución del programa.

La operación de la CPU está controlada por un reloj maestro, el cual indica en que momento debe iniciar una nueva operación, es decir, será este reloj el que determine la velocidad de operación del procesador.

Sin embargo, no hay que confundir la frecuencia a la que opera el reloj con la cantidad de instrucciones que la CPU puede ejecutar, ya que se necesitan varios ciclos del reloj para hacer los cuatro pasos que requiere cada instrucción, y el número exacto depende de la complejidad de cada instrucción.

Dentro de la CPU se encuentra una serie de celdas que se emplean con mucha frecuencia. Estas celdas son llamadas registros. Un procesador puede tener una o dos decenas de ellos.

 
Escríbeme
Para mas informacion escribenos.
Pagina diseñada y recopilada por alumnos de Ingenieria de UNITEC.

ISAAC MANUEL SANDOVAL ALVAREZ
LUIS FERNANDO VAZQUEZ DE LA MORA