Vous êtes sur la page 1sur 8

La unidad central de procesamiento, UCP o CPU (por el acrnimo en ingls de central processing unit), o simplemente el procesador o microprocesador, 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 caracterstica 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 primarioy los dispositivos de entrada/salida. Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. Desde mediados de los aos 1970, los microprocesadores de un solo chip han reemplazado casi totalmente todos los tipos de CPU, y hoy en da, el trmino "CPU" es aplicado usualmente a todos los microprocesadores. La expresin "unidad central de proceso" es, en trminos generales, una descripcin de una cierta clase de mquinas de lgica que pueden ejecutar complejos programas de computadora. Esta amplia definicin puede fcilmente ser aplicada a muchos de los primeros computadores que existieron mucho antes que el trmino "CPU" estuviera en amplio uso. Sin embargo, el trmino en s mismo y su acrnimo han estado en uso en la industria de la informtica por lo menos desde el principio de los aos 1960. La forma, el diseo y la implementacin de los CPU ha cambiado drsticamente desde los primeros ejemplos, pero su operacin fundamental ha permanecido bastante similar. Los primeros CPU fueron diseados a la medida como parte de una computadora ms grande, generalmente una computadora nica en su especie. Sin embargo, este costoso mtodo de disear los CPU a la medida, para una aplicacin particular, ha desaparecido en gran parte y se ha sustituido por el desarrollo de clases de procesadores baratos y estandarizados adaptados para uno o muchos propsitos. Esta tendencia de estandarizacin comenz generalmente en la era de los transistores discretos, computadoras centrales, y microcomputadoras, y fue acelerada rpidamente con la popularizacin del circuito integrado (IC), ste ha permitido que sean diseados y fabricados CPU ms complejos en espacios pequeos (en la orden de milmetros). Tanto la miniaturizacin como la estandarizacin de los CPU han aumentado la presencia de estos dispositivos digitales en la vida moderna mucho ms all de las aplicaciones limitadas de mquinas de computacin dedicadas. Los microprocesadores modernos aparecen en todo, desde automviles, televisores, neveras, calculadoras, aviones, hastatelfonos mviles o celulares, juguetes, entre otros. Casi todos los CPU tratan con estados discretos, y por lo tanto requieren una cierta clase de elementos de conmutacin para diferenciar y cambiar estos estados. Antes de la aceptacin comercial del transistor, los rels elctricos y los tubos de vaco (vlvulas termoinicas) eran usados comnmente como

elementos de conmutacin. Aunque stos tenan distintas ventajas de velocidad sobre los anteriores diseos puramente mecnicos, no eran fiables por varias razones. Por ejemplo, hacer circuitos de lgica secuencial de corriente directarequera hardware adicional para hacer frente al problema del rebote de contacto. Por otro lado, mientras que los tubos de vaco no sufren del rebote de contacto, stos deben calentarse antes de llegar a estar completamente operacionales y eventualmente fallan y dejan de funcionar por completo.1 Generalmente, cuando un tubo ha fallado, la CPU tendra que ser diagnosticada para localizar el componente que falla para que pueda ser reemplazado. Por lo tanto, los primeros computadores electrnicos, (basados en tubos de vaco), generalmente eran ms rpidos pero menos confiables que las computadoras electromecnicas, (basadas en rels). Las computadoras de tubo, como el EDVAC, tendieron en tener un promedio de ocho horas entre fallas, mientras que las computadoras de rels, (anteriores y ms lentas), como el Harvard Mark I, fallaban muy raramente. Al final, los CPU basados en tubo llegaron a ser dominantes porque las significativas ventajas de velocidad producidas generalmente pesaban ms que los problemas de confiabilidad. La mayor parte de estos tempranos CPU sncronos corran en frecuencias de reloj bajas comparadas con los modernos diseos microelectrnicos, (ver ms abajo para una exposicin sobre la frecuencia de reloj). Eran muy comunes en este tiempo las frecuencias de la seal del reloj con un rango desde 100 kHzhasta 4 MHz, limitado en gran parte por la velocidad de los dispositivos de conmutacin con los que fueron construidos. [editar]CPU de transistores y de circuitos integrados discretos

CPU, memoria de ncleo, e interfaz de bus externo de un MSI PDP-8/I.

La complejidad del diseo de los CPU se increment a medida que varias tecnologas facilitaron la construccin de dispositivos electrnicos ms pequeos y confiables. La primera de esas mejoras vino con el advenimiento del transistor. Los CPU transistorizados durante los aos 1950 y los aos 1960 no tuvieron que ser construidos con elementos de conmutacin abultados, no fiables, y frgiles, como los tubos de vaco y los rels elctricos. Con esta mejora, fueron construidos CPU ms complejos y ms confiables sobre una o varias tarjetas de circuito impreso que contenan componentes discretos (individuales). Durante este perodo, gan popularidad un mtodo de fabricar muchos transistores en un espacio compacto. El circuito integrado (IC) permiti que una gran cantidad de transistores fueran fabricados en una simple oblea basada en semiconductor o "chip". Al principio, solamente circuitos digitales muy bsicos, no especializados, como las puertas NOR fueron miniaturizados en IC. Los CPU basadas en estos IC de "bloques de construccin" generalmente son referidos como dispositivos de pequea escala de integracin "small-scale integration" (SSI). Los circuitos integrados SSI, como los usados en el computador gua del Apollo (Apollo Guidance Computer), usualmente contenan transistores que se contaban en nmeros de mltiplos de diez. Construir un CPU completo usando IC SSI requera miles de chips individuales, pero todava consuma mucho menos espacio y energa que diseos anteriores de transistores discretos. A medida que la tecnologa microelectrnica avanz, en los IC fue colocado un nmero creciente de transistores, disminuyendo as la cantidad de IC individuales necesarios para un CPU completo. Los circuitos integrados MSI y el LSI (de mediana y gran escala de integracin) aumentaron el nmero de transistores a cientos, y luego a miles. En 1964, IBM introdujo su arquitectura de computador System/360, que fue usada en una serie de computadores que podan ejecutar los mismos programas con velocidades y desempeos diferentes. Esto fue significativo en un tiempo en que la mayora de las computadoras electrnicas eran incompatibles entre s, incluso las hechas por el mismo fabricante. Para facilitar esta mejora, IBM utiliz el concepto demicroprograma, a menudo llamado "microcdigo", ampliamente usado an en los CPU modernos. La arquitectura System/360 era tan popular que domin el mercado del mainframe durante las siguientes dcadas y dej una herencia que todava an perdura en las computadoras modernas, como el IBM zSeries. En el mismo ao de 1964, Digital Equipment Corporation (DEC) introdujo otro computador que sera muy influyente, dirigido a los mercados cientficos y de investigacin, el PDP-8. DEC introducira ms adelante la muy popular lnea del PDP-11, que originalmente fue construido con IC SSI pero eventualmente fue implementado con componentes LSI cuando se convirtieron en prcticos. En fuerte contraste con sus precursores hechos con tecnologa SSI y MSI, la primera

implementacin LSI del PDP-11 contena un CPU integrado nicamente por cuatro circuitos integrados LSI. Los computadores basados en transistores tenan varias ventajas frente a sus predecesores. Aparte de facilitar una creciente fiabilidad y un menor consumo de energa, los transistores tambin permitan al CPU operar a velocidades mucho ms altas debido al corto tiempo de conmutacin de un transistor en comparacin a un tubo o rel. Gracias tanto a esta creciente fiabilidad como al dramtico incremento de velocidad de los elementos de conmutacin que por este tiempo eran casi exclusivamente transistores, se fueron alcanzando frecuencias de reloj del CPU de decenas de megahertz. Adems, mientras que los CPU de transistores discretos y circuitos integrados se usaban comnmente, comenzaron a aparecer los nuevos diseos de alto rendimiento como procesadores vectoriales SIMD (Single Instruction Multiple Data) (Simple Instruccin Mltiples Datos). Estos primeros diseos experimentales dieron lugar ms adelante a la era de lassupercomputadoras especializadas, como los hechos por Cray Inc. [editar]Microprocesadores

Microprocesador Intel 80486DX2 en un paquetePGA de cermica Artculo principal: Microprocesador Desde la introduccin del primer microprocesador, el Intel 4004, en 1971, y del primer microprocesador ampliamente usado, el Intel 8080, en 1974, esta clase de CPUs ha desplazado casi totalmente el resto de los mtodos de implementacin de la Unidad Central de Proceso. Los fabricantes de mainframes y minicomputadores de ese tiempo lanzaron programas de desarrollo de IC propietarios para actualizar sus ms viejas arquitecturas de computador, y eventualmente produjeron microprocesadores con conjuntos de instrucciones que eran compatibles hacia atrs con sus ms viejos hardwares y

softwares. Combinado con el advenimiento y el eventual vasto xito del ahora ubicuo computadora personal, el trmino "CPU" es aplicado ahora casi exclusivamente a los microprocesadores. Las generaciones previas de CPUs fueron implementadas como componentes discretos y numerosos circuitos integrados de pequea escala de integracin en una o ms tarjetas de circuitos. Por otro lado, los microprocesadores son CPUs fabricados con un nmero muy pequeo de IC; usualmente solo uno. El tamao ms pequeo del CPU, como resultado de estar implementado en una simple pastilla, significa tiempos de conmutacin ms rpidos debido a factores fsicos como el decrecimiento de la capacitancia parsita de las puertas. Esto ha permitido que los microprocesadores sncronos tengan tiempos de reloj con un rango de decenas de megahercios a varios gigahercios. Adicionalmente, como ha aumentado la capacidad de construir transistores excesivamente pequeos en un IC, la complejidad y el nmero de transistores en un simple CPU tambin se ha incrementado dramticamente. Esta tendencia ampliamente observada es descrita por la ley de Moore, que ha demostrado hasta la fecha, ser una prediccin bastante exacta del crecimiento de la complejidad de los CPUs y otros IC. Mientras que, en los pasados sesenta aos han cambiado drsticamente, la complejidad, el tamao, la construccin, y la forma general del CPU, es notable que el diseo y el funcionamiento bsico no ha cambiado demasiado. Casi todos los CPU comunes de hoy se pueden describir con precisin como mquinas de programa almacenado de von Neumann. A medida que la ya mencionada ley del Moore contina mantenindose verdadera, se han presentado preocupaciones sobre los lmites de la tecnologa de transistor del circuito integrado. La miniaturizacin extrema de puertas electrnicas est causando los efectos de fenmenos que se vuelven mucho ms significativos, como la electromigracin, y el subumbral de prdida. Estas ms nuevas preocupaciones estn entre los muchos factores que hacen a investigadores estudiar nuevos mtodos de computacin como la computadora cuntica, as como ampliar el uso de paralelismo, y otros mtodos que extienden la utilidad del modelo clsico de von Neumann. [editar]Operacin del CPU La operacin fundamental de la mayora de los CPU, es ejecutar una secuencia de instrucciones almacenadas llamadas "programa". El programa es representado por una serie de nmeros que se mantentienen en una cierta clase de memoria de computador. Hay cuatro pasos que casi todos los CPU de arquitectura de von Neumann usan en su operacin: fetch, decode, execute, y writeback, (leer, decodificar, ejecutar, y escribir).

Diagrama mostrando como es decodificada una instruccin del MIPS32. (MIPS Technologies 2005) El primer paso, leer (fetch), implica el recuperar una instruccin, (que es representada por un nmero o una secuencia de nmeros), de la memoria de programa. La localizacin en la memoria del programa es determinada por uncontador de programa (PC), que almacena un nmero que identifica la posicin actual en el programa. En otras palabras, el contador de programa indica al CPU, el lugar de la instruccin en el programa actual. Despus de que se lee una instruccin, el Contador de Programa es incrementado por la longitud de la palabra de instruccin en trminos de unidades de memoria.2 Frecuentemente la instruccin a ser leda debe ser recuperada de memoria relativamente lenta, haciendo detener al CPU mientras espera que la instruccin sea retornada. Este problema es tratado en procesadores modernos en gran parte por los cachs y las arquitecturas pipeline (ver abajo). La instruccin que el CPU lee desde la memoria es usada para determinar qu deber hacer el CPU. En el paso de decodificacin, la instruccin es dividida en partes que tienen significado para otras unidades del CPU. La manera en que el valor de la instruccin numrica es interpretado est definida por la arquitectura del conjunto de instrucciones (el ISA) del CPU.3 A menudo, un grupo de nmeros en la instruccin, llamados opcode, indica qu operacin realizar. Las partes restantes del nmero usualmente proporcionan informacin requerida para esa instruccin, como por ejemplo, operandos para una operacin de adicin. Tales operandos se pueden dar como un valor constante (llamado valor inmediato), o como un lugar para localizar un valor, que segn lo determinado por algn modo de direccin, puede ser unregistro o una direccin de memoria. En diseos ms viejos las unidades del CPU responsables de decodificar la instruccin eran dispositivos de hardware fijos. Sin embargo, en CPUs e ISAs ms abstractos y complicados, es frecuentemente usado un microprogramapara ayudar a traducir instrucciones en varias seales de configuracin para el CPU. Este microprograma es a veces reescribible de tal manera que puede ser modificado para cambiar la manera en que el CPU decodifica instrucciones incluso despus de que haya sido fabricado.

Diagrama de bloques de un CPU simple Despus de los pasos de lectura y decodificacin, es llevado a cabo el paso de la ejecucin de la instruccin. Durante este paso, varias unidades del CPU son conectadas de tal manera que ellas pueden realizar la operacin deseada. Si, por ejemplo, una operacin de adicin fue solicitada, unaunidad aritmtico lgica (ALU) ser conectada a un conjunto de entradas y un conjunto de salidas. Las entradas proporcionan los nmeros a ser sumados, y las salidas contendrn la suma final. La ALU contiene la circuitera para realizar operaciones simples de aritmtica y lgica en las entradas, como adicin y operaciones de bits (bitwise). Si la operacin de adicin produce un resultado demasiado grande para poder ser manejado por el CPU, tambin puede ser ajustada una bandera (flag) de desbordamiento aritmtico localizada en un registro de banderas (ver abajo la seccin sobre rango de nmeros enteros). El paso final, la escritura (writeback), simplemente "escribe" los resultados del paso de ejecucin a una cierta forma de memoria. Muy a menudo, los resultados son escritos a algn registro interno del CPU para acceso rpido por subsecuentes instrucciones. En otros casos los resultados pueden ser escritos a una memoria principal ms lenta pero ms barata y ms grande. Algunos tipos de instrucciones manipulan el contador de programa en lugar de directamente producir datos de resultado. stas son llamadas generalmente "saltos" (jumps) y facilitan comportamientos comobucles (loops), la ejecucin condicional de programas (con el uso de saltos condicionales), yfunciones en programas.4 Muchas instrucciones tambin cambiarn el estado de dgitos en un registro de "banderas". Estas banderas pueden ser usadas para influenciar

cmo se comporta un programa, puesto que a menudo indican el resultado de varias operaciones. Por ejemplo, un tipo de instruccin de "comparacin" considera dos valores y fija un nmero, en el registro de banderas, de acuerdo a cul es el mayor. Entonces, esta bandera puede ser usada por una posterior instruccin de salto para determinar el flujo de programa. Despus de la ejecucin de la instruccin y la escritura de los datos resultantes, el proceso entero se repite con el siguiente ciclo de instruccin, normalmente leyendo la siguiente instruccin en secuencia debido al valor incrementado en el contador de programa. Si la instruccin completada era un salto, el contador de programa ser modificado para contener la direccin de la instruccin a la cual se salt, y la ejecucin del programa contina normalmente. En CPUs ms complejos que el descrito aqu, mltiples instrucciones pueden ser ledas, decodificadas, y ejecutadas simultneamente. Esta seccin describe lo que es referido generalmente como el "entubado RISC clsico" (Classic RISC pipeline), que de hecho es bastante comn entre los CPU simples usados en muchos dispositivos electrnicos, a menudo llamados microcontroladores.5

Vous aimerez peut-être aussi