sábado, 24 de agosto de 2013

¿Qué es un procesador (microprocesador) y en que se mide la velocidad con que procesa información?

El procesador, también conocido como CPU o micro, es el cerebro del PC. Se encarga de hacer funcionar a las aplicaciones y el sistema operativo dando respuesta a las órdenes que le envías a través de los periféricos de entrada como el teclado o el ratón.
Físicamente, el micro, no es más que una pastilla de silicio. En un PC se coloca sobre la placa base en un conector que se denomina socket. En un laptop es normal que te lo encuentres soldado. La placa permite la conexión con los restantes dispositivos de tu equipo como son la memoria  RAM, la tarjeta gráfica o el disco duro usando para ello un conjunto de circuitos y chips denominado chipset.
Es uno de los elementos del PC que más ha evolucionado a lo largo del tiempo. Cada nueva generación ha permitido reducir el tamaño de los transistores que se encuentran en su interior permitiendo integrar un mayor número de bloques funcionales. Puedes ver los transistores como pequeños ladrillos que unidos dan forma al micro.

La velocidad de la CPU o procesador en una computadora se mide en ciclos por segundo, dado el tipo de operación sincrónica de los procesadores (su ciclo de operación se ajusta a los componentes o partes más lentas del mismo para permitir su correcto funcionamiento). Las medidas que seguro habrás escuchado es la de megahertz (MHz, millones de ciclos o hertz por segundo), o gigahertz (GHz, mil millones de ciclos o hertz).

¿Cuál es el funcionamiento de un procesador?


El funcionamiento de un procesador se puede dividir en las siguientes etapas:
Se lee una instrucción de memoria. Para que te puedas hacer una idea de la complejidad de un procesador actual su conjunto de instrucciones está compuesto por más de mil diferentes y va creciendo con el tiempo. Se busca siempre mejorar las prestaciones.
Se buscan los datos necesarios. No todas las instrucciones son iguales y algunas necesitaran de datos, los cuales normalmente estarán en la memoria RAM, para poder llevar a cabo su trabajo. Si este es el caso hay que esperar a tenerlos disponibles. Es muy importante que el flujo de datos y de instrucciones sea lo más rápido posible para que no se produzcan bloqueos.
Se realiza la operación. Una vez que se tiene todo se ejecuta la operación, para esto puede ser necesario el trabajo de varios bloques dentro del propio procesador como puede ser la unidad aritmética lógica o la de punto flotante.

Se pasa a la siguiente instrucción. Que no es siempre es la que se encuentra a continuación en la memoria. Muchas instrucciones pueden cambiar el flujo del programa y permitir saltos o repetir ciertas acciones hasta que se cumpla una condición.

Instrucciones de un procesador


La unidad IPC o Instrucciones por ciclo (en inglés Instructions per cycle) indica la cantidad de instrucciones que un procesador ejecuta en un ciclo de reloj.
Normalmente se trata de un valor medio, ya que la cantidad de instrucciones ejecutadas en un ciclo de reloj en la mayoría de arquitectura de procesadores varía. Adiciones sencillas, por ejemplo, pueden ejecutarse más rápidamente que una cantidad de instrucciones con coma flotante. Para el cálculo se suelen ejecutar primero una gran cantidad de instrucciones que se dividen entonces en los ciclos de reloj (que resultan del ritmo de reloj del procesador y de los tiempos requeridos).

Manejo de registros de un procesador


Memoria Caché y sus tipos

Utilizada en informática significa memoria temporal; generalmente de existencia oculta y automática para el usuario, que proporciona acceso rápido a los datos de uso más frecuente o previsible
TIPOS:

Caché interna: En realidad son dos, cada una con una misión específica: Una para datos y otra para instrucciones.
Caché externa: Es una memoria de acceso rápido incluida en la placa base, que dispone de su propio bus y controlador independiente que intercepta las llamadas a memoria antes que sean enviadas a la RAM.
Caché de disco: Es la caché de disco (nos hemos referido a ella en la introducción de este epígrafe), destinada a contener los datos de disco que probablemente sean necesitados en un futuro próximo y los que deben ser escritos.
Caché de disco en MS DOS y  Windows: La cache de los sistemas MS DOS y de los primeros sistemas Windows se denominaba SmartDrive.  Por su parte, los nuevos Sistemas de 32 bits disponen de un controlador virtual denominado VCACHE que utiliza un esquema de funcionamiento de lectura adelantada y escritura atrasada   para proporcionar servicios de cache a las máquinas virtuales.
Vaciado de buffers en C++: Esta caché se denomina de ejecución (runtime), para distinguirla de la caché del Sistema.  Así mismo, disponen de recursos en la Librería Estándar para forzar su vaciado en caso necesario.
Cache oportunista: Está relacionada con los problemas de bloqueos de ficheros en entornos multiusuario en los que distintas aplicaciones pueden acceder a los mismos datos.

Unidades funcionales de un procesador


Socket y slot para conectar el procesador a la placa base y los diferentes tipos

·      Socket, con mecanismo ZIF (Zero Insertion Force). En ellas el procesador se inserta y se retire sin necesidad de ejercer alguna presión sobre él. Al levantar la palanquita que hay al lado se libera el microprocesador, siendo extremadamente sencilla su extracción. Estos zócalos aseguran la actualización del microprocesador. Antiguamente existía la variedad LIF (Low Insertion Force), que carecía de dicha palanca.
·    Slot A / Slot 1 /Slot 2. Existieron durante una generación importante de PCs (entre 1997 y 2000 aproximadamente) reemplazando a los sockets. Es donde se conectan respectivamente los primeros procesadores Athlon de AMD / los procesadores Pentium II y primeros Pentium III y los procesadores Xeon de Intel dedicados a servidores de red. Todos ellos son cada vez más obsoletos.
·    Socket 1: Socket de 169 pines (LIF/ZIF PGA (17x17), trabajando a 5v). Es el primer socket estandarizado para 80486. Era compatible con varios procesadores x86 de diferentes marcas. 

·      Socket 2: Socket de 238 pines (LIF/ZIF PGA (19x19)), trabajando a 5v). Es una evolución del  socket 1, con soporte para los procesadores x86 de la serie 486SX, 486DX (en sus varias        versiones) y 486DX Overdrive (antecesores de los Pentium).
·       Socket 3: Socket de 237 pines. Es el último socket diseñado para los 486. Tiene la particularidad de trabajar tanto a 5v como a 3.3v (se controlaba mediante un pin en la placa base). 
Soportaba los procesadores 486DX, 486SX, 486DX2, 486DX4, AMD 5x86, Cyrix 5x86, Pentium OverDrive 63 y Pentium OverDrive 83. 
·         Socket 4: Socket de 273 pines, trabajando a 5v (60 y 66Mhz). 
Es el primer socket para procesadores Pentium. No tuvo mucha aceptación, ya que al poco tiempo Intel sacó al mercado los Pentium a 75Mhz y 3.3v, con 320 pines. 
Soportaba los Pentium de primera generación (de entre 60Mhz y 66Mhz). 
·      Socket 8: Socket de 387 pines, 66Mhz y 75Mhz y trabajando a 2.1v o 3.5v. Es el primer socket desarrollado exclusivamente para los Intel Pentium Pro y Pentium II Overdrive (que no eran otra cosa que una evolución del Pentiun Pro). En la práctica fue muy poco utilizado, ya que el Pentium Pro tuvo una vida bastante corta y con la salida del Pentium II Intel comenzó a utilizar el Slot 1. 
·       Socket 370. Socket de 370 pines, de entre 1.5v y 1.8v.
Este socket sustituyó al Slot 1 para la utilización de Pentium III, ya que no necesitaba un adaptador especial para conectarlo y además es más rápido que dicho Slot.

·         Socket 423. Socket de 423 pines, trabajando entre 1.0v y 1.85v, con una frecuencia entre 1.4Gh y 2Ghz.
Fue el primer socket desarrollado para Pentium 4, pero pronto dejó de utilizarse (Intel fabricó procesadores P4 423 entre noviembre de 2000 y agosto de 2001) por las limitaciones que tenía, entre otras la de no soportar frecuencias de más de 2Ghz. 
·         Socket 478: Socket con 478 pines.
Quizás el más conocido de todos, es identificable, además de por su reducido tamaño, por su característico sistema de anclaje del disipador.
Soporta una amplísima gama de procesadores Intel de 32 bits, tanto Celeron como P4. 
·         Socket 604: Socket de 604 pines, con un FSB de 400, 533, 667 y 800Mhz.
Se trata de un socket desarrollado exclusivamente para los procesadores de la gama Xeon (procesadores para servidores). Es muy frecuente que se trate de placas duales (es decir, con dos procesadores). 
·         Socket 775: Socket con 775 contactos (LGA).
Por primera vez se sustituye el sistema de pines (macho en el procesador y hembra en el socket) por el de contactos, bastante menos delicado que el anterior.
Es el tipo de socket que Intel utiliza en la actualidad. 
·         Socket Súper 7 :Basado en el socket 7 de Intel, se desarrolló para soportar un mayor índice de ciclos de reloj, así como para poder usar el nuevo puerto AGP
Es el primer socket desarrollado exclusivamente para procesadores AMD.
Procesadores soportados: AMD K6-2 y K6-3.
·         Socket AM2: Socket de 940 pines, entre 0.80v y 1.55v, con un bus de 200Mhz y FSB de 800 llegando a los 2Ghz, soportando HyperTransport. Soporta módulos de memoria DDR2, que es gestionada directamente por el procesador. 
·         Socket F: Socket de 1207 contactos (LGA).
Se trata de un socket desarrollado por AMD para la nueva generación de AMD Opteron (series 2000 (doble núcleo) y 8000 (de cuatro núcleos)) y FX (FX-7x) Quad (de cuatro núcleos).