A-ADS

miércoles, 7 de noviembre de 2012

06 La unidad de procesamiento


LA UNIDAD DE PROCESAMIENTO

                                                                 


                                                    
tabla de contenidos:

1.......... índice

2.......... Introducción

3.......... Contenido

4.......... Unidad de procesamiento

5.......... La unidad de control

6......... Unidad aritmético lógica  

7......... La memoria central

8.......... Procesamiento de la CPU

9......... Funcionamiento de la CPU

10....... Operación de la CPU

11.....Procesamiento paralelo

12..... bibliografia

13.....examen




Introducción:
Como veremos en el siguiente tema de la unidad de procesamiento, veremos sus utilidades ya que es el componente del computador y otros dispositivos programables, que interpreta las instrucciones contenidas en los programas y procesa los datos. Los CPU proporcionan la característica fundamental de la computadora digital (la programabilidad) y son uno de los componentes necesarios encontrados en las computadoras de cualquier tiempo, junto con el almacenamiento primario y los dispositivos de entrada/salida. Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. Desde mediados de los años 1970, los microprocesadores de un solo chip han reemplazado casi totalmente todos los tipos de CPU, y hoy en día, el término "CPU" es aplicado usualmente a todos los microprocesadores.








La unidad de procesamiento.

La unidad central de proceso UCP es el verdadero cerebro de la computadora; su misión consiste en coordinar y controlar o realizar todas Las operaciones del sistema. Se compone de elementos cuya naturaleza es exclusivamente electrónica (circuitos).
Sus partes principales son Las siguientes:            
  • El Procesador (P). Que a su vez se compone de:

    • La unidad de control (UC).
    • La unidad aritmético – lógica (UAL).
  • La Memoria Central (MC).

Unidad de control

La unidad de control (UC) es el centro nervioso de la computadora; desde ella se controla y gobiernan todas las operaciones (búsqueda, decodificación, y ejecución de la instrucción). Para realizar su función, consta de los siguientes elementos:
  • Registro de contador de programas (CP)
  • Registro de Instrucciones (RI)
  • Decodificador (D)
  • Reloj (R)
  • Generador de Señales o Secuenciador (S)

Registro de contador de programas (CP).También denominado registro de control de Secuencia (RCS), contiene permanentemente la dirección de memoria de la próxima instrucción a ejecutar. Si la instrucción que se está ejecutando en un instante determinado es de salto o de ruptura de secuencia, el RCS tomará la dirección de la instrucción que se tenga que ejecutar a continuación; esta dirección la extraerá de la propia instrucción en curso.
Como ya se dijo el primer paso para la ejecución de una instrucción, consiste en ir a buscarla en memoria, el CP indica cual es la dirección de memoria donde se halla esa instrucción. Una vez obtenida y antes de continuar con los siguientes pasos una señal de control incrementa el CP en una unidad, por lo cual los programas deben estar escritos (cargados) en posiciones consecutivas de memoria.  El CP pasa la dirección al Registro de Direcciones
Registro de Direcciones (RD). Contiene la dirección de memoria donde se encuentra la  próxima instrucción y esta comunicado con el Bus de Direcciones. El tamaño de este registro determina el tamaño de la memoria que puede direccionar.( Si es de 32 bits  se puede direccionar 232=4.294.967296 (4 GB posiciones de memoria). Con la dirección de memoria, se transfiere a través el Bus de Datos desde la memoria central al Registro de Datos en la UC la instrucción correspondiente. Esta transferencia se realiza mediante señales de control. Una vez que la instrucción se encuentra en la UCP,  el código de la instrucción pasa al registro de instrucciones.
Registro de Instrucciones (RI).Contiene la instrucción que se está ejecutando en cada momento. Esta instrucción llevará consigo el código de operación (CO), acción de que se trata, y en su caso los operandos o las direcciones de memoria de los mismos. Pasa el CO al decodificador.
Decodificador (D). Se encarga de extraer y analizar el código de operación de la instrucción en curso (que está en el RI) y dar las señales necesarias al resto de los elementos para su ejecución por medio del Generador de Señales.
Generador de Señales(GS). En este dispositivo se generan órdenes muy elementales (microórdenes) que, sincronizadas por los impulsos del reloj, hacen que se vaya ejecutando poco a poco la instrucción que está cargada en el RI.
Reloj (R). Proporcionar una sucesión de impulsos eléctricos a intervalos constantes (frecuencia constante), que marcan los instantes en que han de comenzar los distintos pasos de que consta cada instrucción.







Unidad aritmético–lógica

Esta unidad es la encargada de realizar las operaciones elementales de tipo aritmético (generalmente sumas o restas) y de tipo lógico (generalmente comparaciones). Para realizar su función, consta de los siguientes elementos:
  • Banco de registros (BR). Está constituido por 8, 16 ó 32 registros de tipo general que sirven para situar dates antes de cada operación, para almacenar datos intermedios en las operaciones y para operaciones internas del procesador.
  • Circuitos operadores (CIROP). Compuesto de uno o varios circuitos electrónicos que realizan operaciones elementales aritméticas y lógicas (sumador, complementador, desplazador, etc).
  • Registro de resultado (RR). Se trata de un registro especial, en el que se depositan los resultados que producen los circuitos operadores.
  • Señalizadores de estado (SE). Registro con un conjunto de biestables en los que se deja constancia de algunas condiciones que se dieron en la última operación realizada.

La memoria central (MC)

Es la parte de la unidad central de proceso de una computadora donde están almacenadas las instrucciones y los datos necesarios para que un determinado proceso pueda ser realizado.
La memoria central está constituida por una multitud de celdas o posiciones de memoria, numeradas de forma consecutiva, capaces de retener, mientras la computadora esté conectada, la información necesaria.
Por otra parte, es una memoria de acceso directo, es decir, puede accederse a una de sus celdas conociendo su posición.
Es importante no confundir los términos celda o posición de memoria con el de palabra de computadora, ya que esta última es el conjunto de posiciones de memoria que pueden introducirse o extraerse de la memoria de una solo vez (simultáneamente).
La memoria central tiene asociados dos registros para la realización de operaciones de lectura o escritura, y un dispositivo encargado de seleccionar una celda de memoria en coda operación de acceso sobre la misma:
  • Registro de dirección de memoria (RDM). Contiene la dirección de memoria donde se encuentran o va a ser almacenada la información (instrucción o dato), tanto si se trata de una lectura como de una escritura de o en memoria central, respectivamente.
  • Registro de intercambio de memoria (RIM). Si se trata de una operación de lectura, el RIM es quien recibe el dato de la memoria señalado por el RDM, para su posterior envío a uno de Los registros de la UAL. Si se trata de una operación de escritura, la información a grabar tiene que ester en el RIM, para que desde él se transfiera a la posición de memoria indicada por el RDM.
  • Selector de memoria (SM). Es el dispositivo que, tras una orden de lectura o escritura, conecta la celda de memoria cuya dirección figure en el RDM con el RIM, posibilitando la transferencia de Los dates en un sentido o en otro.


Procesamiento de la CPU
Una CPU procesa información almacenada en los bytes de la memoria. Esta información puede ser datos o instrucciones. Un dato es una representación binaria de una letra, un número, o un color; mientras que una instrucción le dice a la CPU que hacer con ese dato, es decir si sumarlo, si restarlo, moverlo, etc.
Como dijimos anteriormente, la CPU realiza tres operaciones básicas con los datos: puede leerlos, procesarlos , y escribirlos en la memoria. Es decir que, la CPU necesita solo cuatro elementos para realizar dichas operaciones con los datos: Las instrucciones, un puntero a las instrucciones (Instrucción Pointer), algunos registros, y la unidad aritmética lógica.
  • El Instrucción Pointer le indica a la CPU en que lugar de la memoria necesita ser ubicada la instrucción.
  • Los Registros son lugares de almacenamiento temporario ubicados en la CPU. Un registro contiene datos que esperan ser procesados por cualquier instrucción, o datos que ya han sido procesados, como por ejemplo, la suma o resta de algún número, etc.
  • La unidad aritmética lógica es una especie de calculadora que ejecuta funciones matemáticas y lógicas dedicadas a las instrucciones.
Por otro lado, la CPU contiene algunas partes adicionales que ayudan a dichos componentes principales a realizar el trabajo:
  • Un buscador de instrucciones (fetch), que recoge las instrucciones de la RAM o un área de memoria localizada en la CPU.
  • Un de codificador de instrucciones, que toma la instrucción desde el buscador y la traslada hasta que la CPU la entienda. Luego determina cuales son los pasos necesarios para cumplir con dicha instrucción.
  • La unidad de control, maneja y coordina toda las operaciones del chip. Este le permite saber a la unidad aritmética lógica cuando debe calcular, al buscador cuando debe grabar una cifra, y al decodificador cuando trasladar la cifra dentro de una instrucción.

Funcionamiento de la CPU
Cuando se ejecuta un programa, el registro de la CPU, llamado contador de programa, lleva la cuenta de la siguiente instrucción, para garantizar que las instrucciones se ejecuten en la secuencia adecuada. La unidad de control de la CPU coordina y temporiza las funciones de la CPU, tras lo cual recupera la siguiente instrucción desde la memoria. En una secuencia típica, la CPU localiza la instrucción en el dispositivo de almacenamiento correspondiente. La instrucción viaja por el bus desde la memoria hasta la CPU, donde se almacena en el registro de instrucción. Entretanto, el contador de programa se incrementa en uno para prepararse para la siguiente instrucción. A continuación, la instrucción actual es analizada por un descodificador, que determina lo que hará la instrucción. Cualquier dato requerido por la instrucción es recuperado desde el dispositivo de almacenamiento correspondiente y se almacena en el registro de datos de la CPU. A continuación, la CPU ejecuta la instrucción, y los resultados se almacenan en otro registro o se copian en una dirección de memoria determinada.

Operación de la  CPU
El programa es representado por una serie de números que se mantengan una cierta clase de memoria de computadora.
Hay cuatro pasos: traiga, descifre, ejecútese, y writeback.
1.- Trae: Implica el recuperar de una instrucción (que sea representada por un número o una secuencia de números) de memoria del programa. La localización en memoria del programa es determinada por un contador de programa (PC), que almacena un número que identifique la posición actual en el programa. Es decir el contador de programa no pierde de vista el lugar de CPU’s en el programa actual. Después de que se traiga una instrucción, la PC es incrementada por la longitud de la palabra de la instrucción en términos de las unidades de la memoria. La instrucción de ser traído se debe recuperar a menudo de la memoria relativamente lenta, haciendo la CPU atascarse mientras que espera la instrucción de ser vuelto. Esta edición es tratada en gran parte en procesadores modernos por los escondrijos y las arquitecturas de la tubería.
2.-Descifrar: La instrucción está quebrada para arriba en las piezas que tienen significación a otras porciones de la CPU. La manera de la cual se interpreta el valor numérico de la instrucción es definida por la arquitectura del sistema de instrucción de CPU’s (ISA). A menudo, un grupo de números en la instrucción, llamó el opcode, indica qué operación a realizarse. Las partes restantes del número proporcionan generalmente la información requerida para esa instrucción, tal como operandos para una operación de la adición. Tales operandos se pueden dar como un valor constante (llamado un valor inmediato), o como lugar para localizar un valor: un registro o una dirección de memoria, según lo determinado por un cierto modo de dirección. En más viejos diseños las porciones de la CPU responsable de descifrar de la instrucción eran dispositivos de hardware unchangeable. Sin embargo, en un CPUs y un ISAs más abstractos y más complicados, un microprograma se utiliza a menudo para asistir a traducir instrucciones en las varias señales de la configuración para la CPU. Este microprograma es a veces reescribible para poderlo modificarse para cambiar la manera que la CPU descifra instrucciones incluso después se haya fabricado.
3.-Ejecutar Durante este paso, las varias porciones de la CPU están conectadas así que pueden realizar la operación deseada. Si, por ejemplo, una operación de la adición fue solicitada, una unidad de lógica/aritimética (ALU) será conectada con un sistema de entradas y un sistema de salidas. Las entradas proporcionan los números que se agregarán, y las salidas contendrán la suma final. El ALU contiene el trazado de circuito para realizar aritmética simple y operaciones lógicas en las entradas (como la adición y bitwise operaciones). Si la operación de la adición produce un resultado demasiado grande para que la CPU dirija, una bandera aritmética del desbordamiento en un registro de las banderas puede también ser fijada (véase la discusión de la gama del número entero abajo).
4.- writeback: “Escribe simplemente detrás” los resultados del paso del ejecutar a una cierta forma de memoria. Los resultados son escritos muy a menudo a un poco de registro interno de la CPU para el acceso rápido por instrucciones subsecuentes. En otros casos los resultados se pueden escribir a una memoria más lenta, pero más barata y más grande , central. Algunos tipos de instrucciones manipulan el contador de programa más bien que producen directamente datos del resultado. Éstos se llaman los “saltos” y facilitan generalmente comportamiento como lazos, la ejecución de programa condicional (con el uso de un salto condicional), y funciones en programas. Después de la ejecución de la instrucción y del writeback de los datos que resultan, las repeticiones enteras del proceso, con el ciclo siguiente de la instrucción trayendo normalmente la instrucción de la siguiente-en-secuencia debido a el valor incrementado en el contador de programa.

Procesamiento paralelo
El procesamiento paralelo es la ejecución de diferentes procesos en dos o mas procesadores al mismo tiempo, donde estos procesos juntos resuelven un problema completamente.Algunas computadoras usan más de un procesador para acelerar el tiempo de procesamiento. Este método, conocido como procesamiento paralelo, utiliza múltiples procesadores simultáneamente para ejecutar los programas. Las supercomputadoras usan procesamiento paralelo para aplicaciones como predicción del tiempo.
Algunos diseños diferentes de procesamiento paralelo enfrentan este problema fundamental:
MULTIPROCESAMIENTO SIMETRICO
Tiene un diseño simple pero aún así efectivo. En SMP, múltiples procesadores comparten la memoria RAM y el bus del sistema. Este diseño es también conocido como estrechamente acoplado (tightly coupled), o compartiendo todo (shared everything). Debido a que SMP comparte globalmente la memoria RAM, tiene solamente un espacio de memoria, lo que simplifica tanto el sistema físico como la programación de aplicaciones. Este espacio de memoria único permite que un Sistema Operativo con Multiconexión (multithreaded operating system) distribuya las tareas entre varios procesadores, o permite que una aplicación obtenga la memoria que necesita para una simulación compleja. La memoria globalmente compartida también vuelve fácil la sincronización de los datos.

PROCESAMIENTO MASIVAMENTE PARALELO
Es otro diseño de procesamiento paralelo. Para evitar los cuellos de botella en el bus de memoria, MPP no utiliza memoria compartida. En su lugar, distribuye la memoria RAM entre los procesadores de modo que se semeja a una red (cada procesador con su memoria distribuida asociada es similar a un computador dentro de una red de procesamiento distribuido). Debido a la distribución dispersa de los recursos RAM, esta arquitectura es también conocida como dispersamente acoplada (loosely coupled), o compartiendo nada (shared nothing).Para tener acceso a la memoria fuera de su propia RAM, los procesadores utilizan un esquema de paso de mensajes análogo a los paquetes de datos en redes. Este sistema reduce el tráfico del bus, debido a que cada sección de memoria observa únicamente aquellos accesos que le están destinados, en lugar de observar todos los accesos, como ocurre en un sistema SMP. Únicamente cuando un procesador no dispone de la memoria RAM suficiente, utiliza la memoria RAM sobrante de los otros procesadores. Esto permite sistemas MPP de gran tamaño con cientos y aún miles de procesadores. MPP es una tecnología escalable.

PROCESAMIENTO PARALELO ESCALABLE
El Procesamiento paralelo escalable (Scalable parallel processing / SPP), es un híbrido de SMP y MPP, que utiliza una memoria jerárquica de dos niveles para alcanzar la escalabilidad. La primera capa de memoria consiste de un nodo que es esencialmente un sistema SMP completo, con múltiples procesadores y su memoria globalmente compartida.Se construyen sistemas SPP grandes interconectando dos o mas nodos a través de la segunda capa de memoria, de modo que esta capa aparece lógicamente, ante los nodos, como una memoria global compartida.
La memoria de dos niveles reduce el tráfico de bus debido a que solamente ocurren actualizaciones para mantener coherencia de memoria. Por tanto, SPP ofrece facilidad de programación del modelo SMP, a la vez que provee una escalabilidad similar a la de un diseño MPP.

No hay comentarios:

Publicar un comentario