Qu es un Procesador? Organizacin de un CPU Ejecucin de Instrucciones Principios bsicos de las computadoras modernas Paralelismo de instrucciones
Filas de Procesamiento Arquitecturas superescalares
Qu es un Procesador?
El CPU (Central Processing Unit, por sus siglas en Ingles) es el Cerebro de la computadora. Su funcin es ejecutar programas almacenados en la memoria Principal, buscando las instrucciones y examina para despus ejecutarlas en secuencia Los componentes estn unidos por un Bus, por el cual pasan direcciones, datos y seales de control Los buses pueden ser internos o externos (cuando conectan a la memoria y a los dispositivos de E/S).
Qu es un Procesador? (Cont.)
Una CPU se compone de las siguientes partes:
Unidad de Control: Busca instrucciones de la memoria principal ALU (Unidad Aritmtica Lgica, por sus siglas en ingles) Ejecuta las instrucciones Memoria: Guarda resultados temporales o informacin de control. Funciona a alta velocidad porque est dentro de la CPU
Qu es un Procesador? (Cont.)
Dentro de la memoria los dos registros mas importantes son:
Contador de Programa: Apunta a la siguiente instruccin a ejecutar Registro de Instruccin: contiene la instruccin que se est ejecutando en el momento
Organizacin de un CPU
Estructuralmente un procesador es un camino de datos y consiste en los registros, la ALU y varios buses que interconectan los componentes LA ALU hace las operaciones bsicas aritmticas y lgicas con sus entradas y produce el resultado en el registro de salida Ese contenido se enva a un registro para ser guardado (escrito) en la memoria.
Ejecucin de Instrucciones
Los pasos cclicos para ejecutar una instruccin en un CPU son los siguientes:
Busca la instruccin en memoria y la coloca en el registro de instrucciones Modifica el contador de programa para que apunte a la siguiente instruccin Determinar el tipo de instruccin Si se necesita una palabra de memoria, buscarla Coloca la palabra buscada en el registro del CPU Ejecuta la instruccin
Paralelismo de instrucciones
Hay dos maneras bsicas de aumentar el rendimiento de un computador: Aumentar la velocidad del reloj de los chip (tiene un lmite fsico finito) o aumentar el nmero de instrucciones por ciclo de reloj (ejecucin en paralelo de instrucciones) Con el paralelismo hay dos maneras ms de hacerlo: Paralelismo a nivel de instrucciones (filas de procesamiento), o paralelismo a nivel de procesadores (arquitecturas superescalares).
Filas de Procesamiento
La obtencin de instrucciones de la memoria es un proceso lento y con tendencia a cuellos de botella Desde 1959, IBM cont con la capacidad de buscar instrucciones en memoria de adelantado, para tenerlas disponibles en el momento adecuado Esas instrucciones de adelantado se guardaban en un buffer de prebsqueda. Con eso se lograba que la instruccin estaba en el buffer de prebsqueda cuando se necesitaba en lugar de esperar la lectura desde la memoria
Arquitecturas superescalares
Se logra mediante el uso de un CPU que posea una fila de procesamiento dual Lo que quiere decir es lo siguiente: Se tiene una sola unidad de bsqueda de instrucciones y sta lleva a dos o mas filas de procesamiento, cada una con su propia ALU, etc. Se puede realizar siempre y cuando las instrucciones a ejecutar en paralelo no compitan por el acceso a los recursos o que una operacin no dependa de la otra
Arquitectura Superescalar
Procesador SuperEscalar
Computadoras de Matriz
Se basan en el principio de que algunos programas tienen una estructura bastante regular en su forma de instrucciones, es decir, se hacen el mismo tipo de instrucciones con datos diferentes. Existen dos maneras de pensar este tipo de solucin de matriz: El arreglo de procesadores, o los procesadores vectoriales
Computador de Matriz
Multiprocesadores
El multiprocesador consiste en tener varios CPU que comparten una memoria comn. Se deben coordinar dichos procesadores para evitar que interfieran entre ellos Hay dos maneras bsicas para implementar los mltiples procesadores: Un bus comn entre los procesadores y la memoria o que cada procesador tenga una memoria privada para ejecutar ciertas instrucciones
Multiprocesadores (Cont.)
El bus comn tiene limitaciones, porque todos los procesadores tratan de acceder a una nica memoria y se causan los conflictos. El sistema con un poco de memoria privada aligera el trfico en el bus, por lo cual se logra ser ms eficiente Otro mtodo planteado para hacer multiprocesadores es el uso de caches Con los multiprocesadores es ms fcil trabajar que con otros tipos de computadores paralelos
Multiprocesadores
Multiprocesadores (Cont.)
Los multiprocesadores pueden tomar una parte particular de la memoria comn para analizar asuntos complejos, como una foto digitalizada. Este modelo tiene limitantes en cuanto al nmero de procesadores que se pueden usar (hasta 64)
Multicomputadores
El modelo de multiprocesadores es problemtico cuando muchos procesadores se deben conectar a la memoria comn El modelo de Multicomputadores elimina ese problema, porque es un nmero de computadores conectados, pero cada quien con su propia memoria, sin memoria comn Los CPU se comunican entre ellos envindose mensajes a una gran velocidad.
Multicomputadores (Cont.)
Los Multicomputadores se conectan en topologa rbol ,anillo o arreglos bi o tridimensionales. A pesar de que pudiera ser necesario que el mensaje de una computadora a otra traspase varias computadoras, se han logrado tiempos de llegada de mensajes de micro segundos, con ms de 10.000 procesadores en simultanea