jueves, 22 de mayo de 2008

Procesador o UPC (Unidad de Procesamiento Central)

Trabajo hecho por Maximiliano Ejberowicz Federico Levin, Sergio Saccal, Nicolas Levit.



El CPU (Central Processing unit) o procesador es el componente principal de una computadora, es fundamental que halla un cpu en una computadora porque este es el encargado de procesar los datos que ingresan por los periféricos de entrada, para luego obtener información. Todas las tareas de una computadora se realizan en el procesador. Este componente es de tipo HARDWARE.

Existen 3 componentes dentro del procesador: La UAL (unidad aritmético-lógica), la UC (unidad de control) y por último los Registros.

La UAL tiene como función realizar todas las operaciones aritméticas (+, -, *, /) y lógicas (comparación, <, >, =, V, F) de una computadora. Esto lo hace a través de circuitos combinacionales (combinaciones).

Un Registro es una memoria o soporte dentro del procesador que almacena un dato, una instrucción o una dirección. Hay entre 30 y 40 Registros en un Procesador, son temporales (se renuevan millones de veces por segundo) y tienen muy poca capacidad de almacenamiento (32 o 64 bits). Es una memoria volátil (si dejo de suministrarle energía pierde su contenido) y además es muy inestable, porque rápidamente se actualiza su contenido

Los buses son un conjunto de cables paralelos cuya función es transferir información genérica entre los distintos componentes. Existen 3 tipos de buses: De control, de datos y de dirección. Mediante estos buses, el procesador puede realizar las operaciones posibles en la memoria RAM: leer y escribir. El objetivo de un ciclo de lectura es copiar los contenidos de una celda de memoria a los registros del procesador y se lleva a cabo de esta manera: El procesador manda una dirección a través del bus de dirección para que se active la celda donde se encuentra el dato o la instrucción que quiere recuperar. A través del bus de control, se envía una señal de lectura para indicar la acción a realizar en esa celda. Se asegura el contenido mediante el bus de datos y luego este se habilita para que empiece la transferencia de los datos o instrucciones que estaban en la celda pedida hacia los registros. La otra operación posible en ram es la de escritura, cuyo objetivo es modificar el contenido de una celda de memoria. Se lleva a cabo de esta manera: Por el bus de dirección, el procesador genera la dirección para ubicarse en una celda, luego se asegura el contenido a enviar que esta en los registros, se envía una señal de escritura por el bus de control y se transfieren (transferir no significa que se borren los datos de su lugar de origen sino que implica una copia del mismo) los datos mediante el bus de datos. Luego de esto, ya esta modificado el contenido de una celda de la memoria RAM.

Cuando el procesador recibe una señal de interrupción (rutina guardada en la memoria ROM (memoria no volátil en la que la única operación que esta permitida es leer)) se solicita la atención del procesador. El procesador ante esto, delega a los controladores, cuya función es transmitir datos e información genérica entre el dispositivo que controla y la memoria ram, las tareas más lentas y así se ahorra tiempo. Los controladores deben conocer las operaciones del dispositivo donde actúa. Existen controladores inteligentes llamados DMA que no necesitan de la intervención del procesador para transferir datos e información genérica de la RAM hacia el dispositivo que controla.

La unidad de control es la encargada de dirigir, supervisar y controlar las operaciones de todos los componentes de una computadora. Su función principal es analizar y decodificar las IE (instrucciones elementales) de un programa ejecutable (en lenguaje de maquina). Decir que las decodifica significa que las interpreta (tiene que reconocer el conjunto de acciones que le pido que haga). Para que pueda reconocer la acción a realizar (Código de operación) y saber con quien debe realizar esa acción (operando), el conjunto de acciones a llevar a cabo deben estar guardadas en un soporte dentro de la UC, llamado memoria ROM de control. En este soporte se almacenan microprogramas o conjunto de microinstrucciones (es la acción mas pequeña que un procesador puede ejecutar) ordenadas en una secuencia lógica para realizar cierta tarea. El procesador, luego de que la IE se encuentra almacenada en sus registros, recupera o lee ese conjunto de microinstrucciones que están relacionadas con esa instrucción elemental. Así, el procesador cuando decodifica la IE, reconoce el microprograma relacionado con esta y lo asocia con el conjunto de microinstrucciones que contiene ese microprograma.

¿Se podría ejecutar una instrucción elemental sin un microprograma?

No, sólo los microprogramas permiten realizar una IE. Cuando no hay un microprograma asociado con la IE, el procesador no sabe que acción realizar y se producen interrupciones (rutina almacenada en la memoria ROM, aparece un cartel de error y se para la ejecución del programa).

¿Cuánto se tarda en procesar una IE?

En la máquina existe un cristal piezo-eléctrico de cuarzo llamado clock que es un circuito integrado sobre la mother. Cuando le doy energía a este cristal, oscila y emite señales llamadas ciclo que se pueden medir con un osciloscopio. La cantidad de ciclos en un segundo recibe el nombre de frecuencia.
1 ciclo por segundo es equivalente a 1 hertz
El período es la duración de cada ciclo en el clock. Un período es un tiempo máximo que le doy al procesador para que pueda ejecutar la microinstrucción mas larga.
Cuanto mayor sea la frecuencia, es decir, cuanta más cantidad de ciclos haya en un segundo (cuanto mayor sea la cantidad de hertz), menor va a ser la duración de cada ciclo en el clock o periodo. Cuanto menor sea la frecuencia, mayor va a ser el periodo. En el periodo, el procesador ejecuta una microinstrucción.
Una microinstrucción NO puede durar más que un periodo, de pasar esto el procesador estaría ejecutando 2 microinstrucciones juntas y se tildaría.

¿Es posible modificar la frecuencia en el clock?

Si, es posible mediante el overclocker. Si esta modificación es moderada, el procesador puede aumentar la cantidad de ciclos por segundo (cantidad de hz) sin problema, de lo contrario, el procesador no aguanta, se traba y como estaría recibiendo demasiada energía y oscilando demasiado rápido, se podría quemar.
Como Hz es una unidad muy chica, existen constantes que manejan potencias de 10.
KILO, MEGA Y GIGA son potencias de 10
1 Khz. = 1000 hz
1 Mhz = 1000000 hz
1 Ghz = mil millones de hz

¿Las constantes K, M, G en espacios de direccionamientos son iguales a las constantes en en la frecuencia del clock?

Cada uno de estas potencias de 2, son la cantidad de combinaciones posibles, es decir, la cantidad de posiciones o celdas posibles, accesibles y reconocibles por el procesador (espacio de direccionamiento)

¿Todas las IE tardan lo mismo en ejecutarse?

No, porque no todos los microprogramas tienen la misma cantidad de microinstrucciones.
La velocidad de un procesador se mide en cantidad de IE/SEGUNDOS o MIPS. Las MIPS son millones de instrucciones elementales que se ejecutan en un segundo. Cuantas más MIPS haya por segundo, mayor va a ser la velocidad del procesador. Cuanto menor sea la cantidad de MIPS por segundo, menor va a ser la velocidad del procesador. Las MIPS no pueden ser medidas con precisión. Como el procesador trabaja en nanosegundos y no en segundos, entonces la velocidad del procesador se calcula en IE / segundo, teniendo en cuenta que 1SEG = mil millones de NS.

No hay comentarios: