Unidá central de procesamientu

De Wikipedia
Saltar a navegación Saltar a la gueta
Vista cimera d'una CPU Intel 80486DX2 nun paquete PGA de cerámica.
Vista posterior d'una Intel 80486DX2.

La unidá central de procesamientu o unidá de procesamientu central (conocida poles sigles CPU, del inglés: central processing unit), ye'l hardware dientro d'un ordenador o otros dispositivos programables, qu'interpreta les instrucciones d'un programa informáticu por aciu la realización de les operaciones básiques aritmétiques, lóxiques y d'entrada salida del sistema. El términu, y el so acrónimo, tuvieron n'usu na industria de la Informática a lo menos dende'l principiu de los años 1960.[1] La forma, el diseñu de CPU y la implementación de les CPU camudó drásticamente dende los primeros exemplos, pero la so operación fundamental sigue siendo la mesma.

Un ordenador puede tener más d'una CPU; esto llámase multiprocesamiento. Toles CPU modernes son microprocesadores, lo que significa que contienen un solu circuitu integráu (chip). Dellos circuitos integraos pueden contener delles CPU nun solu chip; estos son denominaos procesadores multinucleu. Un circuitu integráu que contién una CPU tamién puede contener los dispositivos periféricos, y otros componentes d'un sistema informáticu; a esto llámase un sistema nun chip (SoC).

Dos componentes típicos d'una CPU son la unidá aritméticu lóxica (ALU), que realiza operaciones aritmétiques y lóxiques, y la unidá de control (CU), qu'estraye instrucciones de la memoria, les decodifica y les executa, llamando a la ALU cuando sía necesariu.

Non tolos sistemes computacionales tán basaos nuna unidá central de procesamientu. Una matriz de procesador o procesador vectorial tien múltiples elementos cómputu paralelu, ensin una unidá considerada'l "centru". Nel modelu de computación distribuíu, resuélvense problemes por aciu d'un conxuntu interconectáu y distribuíu de procesadores.

Historia[editar | editar la fonte]

El EDVAC, una de los primeros ordenadores de programes almacenaos electrónicamente.

Los primeros ordenadores, como'l ENIAC, teníen que ser físicamente recableaos pa realizar distintes xeres, lo que fixo qu'estes máquines denominárense "ordenadores de programa fixu". Cuidao que el términu "CPU" xeneralmente defínese como un dispositivu pa la execución de software (programa informáticu), los primeros dispositivos que con razón podríamos llamar CPU vinieron col advenimiento del ordenador con programa almacenáu.

La idea d'un ordenador con programa almacenáu yá taba presente nel diseñu de John Presper Eckert y nel ENIAC de John William Mauchly, pero esta característica omitióse primeramente por que el aparatu pudiera tar llistu antes. El 30 de xunu de 1945, primero que se construyera la ENIAC, el matemáticu John von Neumann distribuyó'l trabayu tituláu First Draft of a Report on the EDVAC (Primer Borrador d'un Reporte sobre'l EDVAC). Foi l'esbozu d'un ordenador de programa almacenáu, que se terminó n'agostu de 1949.[2] EDVAC foi diseñáu pa realizar un ciertu númberu d'instrucciones (o operaciones) de dellos tipos. Significativamente, los programes escritos pal EDVAC crear pa ser almacenaos na memoria d'alta velocidá del ordenador y non por que los especificara'l cableaxe físicu del ordenador. Esto superó una severa llimitación del ENIAC, que yera l'importante tiempu y esfuerzu riquíu pa volver configurar l'equipu pa realizar una nueva xera. Col diseñu de von Neumann, el programa o software que corría EDVAC podría ser camudáu a cencielles camudando'l conteníu de la memoria. Sicasí, EDVAC nun foi'l primer ordenador de programa almacenáu; la Máquina Esperimental de Pequena Escala de Mánchester, un pequenu prototipu d'ordenador de programa almacenáu, executó'l so primer programa'l 21 de xunu de 1948[3] y la Manchester Mark I executó'l so primer programa na nueche del 16 al 17 xunu de 1949.

Les primeres CPU fueron diseñaes a midida como parte d'un ordenador más grande, xeneralmente un ordenador únicu na so especie. Sicasí, esti métodu de diseñar les CPU a midida, pa una aplicación particular, sumió en gran parte y sustituyóse pol desenvolvimientu de clases de procesadores baratos y estandarizados afechos pa unu o dellos propósitos. Esti enclín d'estandarización empezó xeneralmente na era de los transistores discretos, computadores centrales y microcomputadores y foi acelerada rápido cola popularización del circuitu integráu (IC), este dexó que sían diseñaos y fabricaos CPU más complexes n'espacios pequenos na orde de nanómetros. Tanto la miniaturización como la estandarización de les CPU aumentaron la presencia d'estos dispositivos dixitales na vida moderna muncho más allá de les aplicaciones llindaes de máquines de computación dedicaes. Los microprocesadores modernos apaecen en tou, dende automóviles hasta teléfonos móviles o celulares y xuguetes de neños.

Magar von Neumann munches vegaes acreditáu pol diseñu del ordenador con programa almacenáu por cuenta del so diseñu del EDVAC, otros primero que él, como Konrad Zuse, suxurieren y aplicáu idees similares. La denomada arquiteutura Harvard del Harvard Mark I, que se completó antes de EDVAC, tamién utilizó un diseñu de programa almacenáu usando cinta de papel furada en cuenta de memoria electrónica. Estremar clave ente les arquitectures de von Neumann y la de Harvard ye que la postrera dixebra l'almacenamientu y tratamientu d'instrucciones de la CPU y los datos, ente que'l primeru utiliza'l mesmu espaciu de memoria pa dambos. La mayoría de los CPU modernos son de diseñu von Neumann, pero los CPU con arquiteutura Harvard vense asina, sobremanera n'aplicaciones enfiñíes; por casu, los microcontroladores Atmel AVR son procesadores d'arquiteutura Harvard.

Los relés eléctricos y los tubos de vacíu (válvules termoiónicas) yeren usaos comúnmente como elementos de conmutación; un ordenador útil rique miles o decenes de miles de dispositivos de conmutación. La velocidá global d'un sistema depende de la velocidá de los conmutadores. El ordenadores de tubu, como'l EDVAC, tendieron en tener un promediu d'ocho hores ente fallos, ente qu'el ordenadores de relés, (anteriores y más lentos), como'l Harvard Mark I, fallaben bien raramente.[1] A la fin, los CPU basaos en tubu aportaron a dominantes porque les significatives ventayes de velocidá producíes xeneralmente pesaben más que los problemes de confiabilidad. La mayor parte d'estes tempranes CPU síncronas corríen en frecuencies de reló baxes comparaes colos modernos diseños microelectrónicos. Yeren bien comunes nesti tiempu les frecuencies de la señal del reló con un rangu dende 100 kHz hasta 4 MHz, llindáu en gran parte pola velocidá de los dispositivos de conmutación colos que fueron construyíos.

CPU de transistores y de circuitos integraos discretos[editar | editar la fonte]

CPU, memoria de núcleu y interfaz de bus esternu d'un MSI PDP-8/I. Fechu de circuitos integraos de mediana escala.

La complexidá del diseñu de les CPU aumentó xuntu cola facilidá de la construcción de dispositivos electrónicos más pequenos y confiables. La primera d'eses meyores vieno col advenimiento del transistor. Les CPU transistorizadas mientres los años 1950 y los años 1960 nun tuvieron que ser construyíos con elementos de conmutación abuitaos, non fiables y fráxiles, como los tubos de vacíu y los relés eléctricos. Con esta meyora, fueron construyíes CPU más complexes y más confiables sobre una o delles tarxetes de circuitu impresu que conteníen componentes discretos (individuales).

Mientres esti períodu, ganó popularidá un métodu de fabricar munchos transistores nun espaciu compactu. El circuitu integráu (IC) dexó qu'una gran cantidá de transistores fueren fabricaos nuna simple oblea basada en semiconductor o "chip". De primeres, solamente circuitos dixitales bien básicos, non especializaos, como les puertes NOR fueron miniaturizados en IC. Les CPU basaes nestos IC de "bloques de construcción" xeneralmente son referíos como dispositivos de pequena escala d'integración "small-scale integration" (SSI). Los circuitos integraos SSI, como los usaos nel computador guía del Apollo (Apollo Guidance Computer), usualmente conteníen transistores que se cuntaben en númberos de múltiplos de diez. Construyir un CPU completu usando IC SSI riquía miles de chips individuales, pero inda consumía muncho menos espaciu y enerxía que diseños anteriores de transistores discretos. A midida que la tecnoloxía microelectrónica avanzó, nos IC foi asitiáu un númberu creciente de transistores, menguando asina la cantidá de IC individuales necesarios pa una CPU completa. Los circuitos integraos MSI y el LSI (de mediana y gran escala d'integración) aumentaron el númberu de transistores a cientos y depués a miles.

En 1964, IBM introdució la so arquiteutura d'ordenador System/360, que foi usada nuna serie d'ordenadores que podíen executar los mesmos programes con velocidaes y desempeños distintos. Esto foi significativu nun tiempu en que la mayoría d'el ordenadores electrónicos yeren incompatibles ente sigo, inclusive les feches pol mesmu fabricante. Pa facilitar esta meyora, IBM utilizó'l conceutu de microprograma, de cutiu llamáu «microcódigo», llargamente usáu entá nes CPU modernes.[4] L'arquiteutura System/360 yera tan popular qu'apoderó'l mercáu del mainframe mientres les siguientes décades y dexó un heriedu qu'inda entá perdura n'el ordenadores modernos, como'l IBM zSeries. Nel mesmu añu de 1964, Digital Equipment Corporation (DEC) introdució otru ordenador que sería bien influyente, dirixíu a los mercaos científicos y d'investigación, el PDP-8. DEC introduciría más palantre la bien popular llinia del PDP-11, que originalmente foi construyíu con IC SSI pero eventualmente foi implementáu con componentes LSI cuando se convirtieron en prácticos. En fuerte contraste col so precursores fechos con tecnoloxía SSI y MSI, la primera implementación LSI del PDP-11 contenía una CPU integrada namái por cuatro circuitos integraos LSI.[5]

El ordenadores basaos en transistores teníen delles ventayes frente a los sos predecesores. Amás de facilitar una creciente fiabilidá y un menor consumu d'enerxía, los transistores tamién dexaben que CPU operara a velocidaes muncho más altes debíu al curtiu tiempu de conmutación d'un transistor en comparanza a un tubu o relé. Gracies tantu a esta creciente fiabilidá como a la dramática medría de velocidá de los elementos de conmutación que por esti tiempu yeren casi puramente transistores, fuéronse algamando frecuencies de reló de la CPU de decenes de megahercios. Amás, ente que les CPU de transistores discretos y circuitos integraos usábense comúnmente, empezaron a apaecer los nuevos diseños d'altu rendimientu como procesadores vectoriales SIMD (single instruction multiple data – instrucción única, datos múltiples). Estos primeros diseños esperimentales dieron llugar más palantre a la era de los superordenadores especializaos, como los fechos por Cray Inc.

Microprocesadores[editar | editar la fonte]

Artículu principal: Microprocesador


Na década de 1970 los inventos fundamentales de Federico Faggin (ICs Silicon Gate MOS con puertes autoalineadas xuntu cola so nueva metodoloxía de diseñu de lóxica aleatoria) camudó'l diseñu y implementación de les CPU pa siempres. Dende la introducción del primera microprocesador comercialmente disponible, el Intel 4004, en 1970 y del primera microprocesador llargamente usáu, el Intel 8080, en 1974, esta clase de CPU movió casi totalmente el restu de los métodos de implementación de la Unidá Central de procesamientu. Los fabricantes de mainframes y miniordenadores d'esi tiempu llanzaron programes de desenvolvimientu de IC propietarios p'actualizar los sos arquitectures d'ordenadores más vieyes y eventualmente producir microprocesadores con conxuntu d'instrucciones conxuntos d'instrucciones que yeren retrocompatibles coles sos hardwares y softwares más vieyos. Combináu col advenimiento y l'eventual vastu ésitu de l'agora ubicua ordenador personal, el términu "CPU" ye aplicáu agora casi puramente[nota 1] a los microprocesadores.

Les xeneraciones previes de CPU fueron implementaes como componentes discretos y numberosos circuitos integraos de pequena escala d'integración nuna o más tarxetes de circuitos. Per otru llau, los microprocesadores son CPU fabricaos con un númberu bien pequenu de IC; usualmente solo unu. El tamañu más pequenu del CPU, como resultáu de tar implementáu nuna simple pastilla, significa tiempos de conmutación más rápidos por cuenta de factores físicos como'l decrecimiento de la capacitancia parásita de les puertes. Esto dexó que los microprocesadores síncronos tengan tiempos de reló con un rangu de decenes de megahercios a dellos gigahercios. Adicionalmente, como aumentó la capacidá de construyir transistores descomanadamente pequenos nun IC, la complexidá y el númberu de transistores nun simple CPU tamién s'amontó dramáticamente. Esti enclín llargamente reparáu ye descrita pola llei de Moore, que demostró hasta la fecha, ser una predicción bastante esacta de la crecedera de la complexidá de los CPUs y otros IC.[6]

Ente que, nos pasaos sesenta años camudaron drásticamente, la complexidá, el tamañu, la construcción y la forma xeneral de la CPU, ye notable que'l diseñu y el funcionamientu básicu nun camudó demasiáu. Casi tolos CPU comunes de güei pueden describise con precisión como máquines de programa almacenáu de von Neumann.[nota 2] A midida que la yá mentada llei del Moore sigue calteniéndose verdadera,[6] presentáronse esmoliciones sobre les llendes de la tecnoloxía de transistor del circuitu integráu. La miniaturización estrema de puertes electróniques ta causando los efectos de fenómenos que se vuelven muncho más significativos, como la electromigración y el subumbral de perda. Estes nueves esmoliciones tán ente los munchos factores que faen a investigadores estudiar nuevos métodos de computación como la computación cuántica, según ampliar l'usu de paralelismu y otros métodos qu'estienden la utilidá del modelu clásicu de von Neumann.

Operación[editar | editar la fonte]

La operación fundamental de la mayoría de les CPU ye executar una secuencia d'instrucciones almacenaes llamaes «programa». El programa ye representáu por una serie de númberos que se caltienen nuna cierta clase de memoria d'ordenador. Hai cuatro pasos que casi toos les CPU de arquiteutura de von Neumann usen na so operación: fetch, decode, execute, y writeback, (lleer, decodificar, executar y escribir).

Diagrama amosando como ye decodificada una instrucción del MIPS32. (MIPS Technologies 2005)

Fetch[editar | editar la fonte]

El primer pasu, lleer, implica'l recuperar una instrucción, (que ye representada por un númberu o una secuencia de númberos), de la memoria de programa. La localización na memoria del programa ye determinada por un contador de programa (PC), qu'almacena un númberu qu'identifica la dirección de la siguiente instrucción que se debe buscar. Dempués lléese una instrucción, el PC ye amontáu pol llargor de la instrucción en términos d'unidaes de memoria de cuenta que va contener la dirección de la siguiente instrucción na secuencia.[nota 3] Frecuentemente, la instrucción a ser lleida ten de ser recuperada de memoria relativamente lenta, faciendo detener al CPU mientres espera que la instrucción sía devuelta. Esta cuestión tratar en gran midida n'el procesadores modernos polos caxés y les arquitectures pipeline (ver embaxo).

Decode[editar | editar la fonte]

Nel pasu de decodificación, la instrucción ye estremada en partes que tienen significáu pa otres unidaes de la CPU. La manera en que'l valor de la instrucción numbérica ye interpretáu ta definida pola arquiteutura del conxuntu d'instrucciones (el ISA) de la CPU.[nota 4] De cutiu, un grupu de númberos na instrucción, llamaos opcode, indica qué operación realizar. Les partes restantes del númberu usualmente apurren información riquida pa esa instrucción, como por casu, operandos pa una operación de adición. Tales operandos pueden dase como un valor constante (llamáu valor inmediatu), o como un llugar p'alcontrar un valor, que según lo determinao por dalgún manera de dirección, pue ser un rexistru o una dirección de memoria. En diseños más vieyos les unidaes del CPU responsables de decodificar la instrucción yeren dispositivos de hardware fixos. Sicasí, en CPUs y ISAs más astractos y complicaos, ye frecuentemente usáu un microprograma p'ayudar a traducir instrucciones en delles señales de configuración pal CPU. Esti microprograma ye dacuando reescribible de tal manera que puede ser modificáu pa camudar la manera en qu'el CPU decodifica instrucciones inclusive dempués de que fuera fabricáu.

Execute[editar | editar la fonte]

Diagrama de bloques d'un CPU simple.

Dempués de los pasos de llectura y decodificación, ye lleváu a cabu'l pasu de la execución de la instrucción. Mientres esti pasu, delles unidaes del CPU son conectaes de tal manera qu'elles pueden realizar la operación deseyada. Si, por casu, una operación de adición foi solicitada, una unidá aritméticu lóxica (ALU) va ser conectada a un conxuntu d'entraes y un conxuntu de salíes. Les entraes apurren los númberos a ser sumaos, y les salíes van contener la suma final. La ALU contién la circuitería pa realizar operaciones simples d'aritmética y lóxica nes entraes, como adición y operaciones de bits (bitwise). Si la operación de adición produz una resultancia demasiada grande pa poder ser remanáu pol CPU, tamién puede ser afecha una bandera (flag) de llena aritmética alcontrada nun rexistru de banderes (ver embaxo la sección sobre rangu de númberos enteros).

Writeback[editar | editar la fonte]

El pasu final, la escritura, a cencielles «escribe» les resultancies del pasu d'execución a una cierta forma de memoria. Bien de cutiu, les resultancies son escritos a dalgún rexistru internu del CPU p'accesu rápidu por subsecuentes instrucciones. N'otros casos les resultancies pueden ser escritos a una memoria principal más lenta pero más barata y más grande. Dellos tipos d'instrucciones manipolien el contador de programa en llugar de directamente producir datos de resultancia. Estes son llamaes xeneralmente "saltos" (jumps) y faciliten comportamientos como bucles, la execución condicional de programes (col usu de saltos condicionales), y funciones en programes.[nota 5] Munches instrucciones tamién van camudar l'estáu de díxitos nun rexistru de "banderes". Estes banderes pueden ser usaes pa influyir cómo se porta un programa, cuidao que de cutiu indiquen la resultancia de delles operaciones. Por casu, un tipu d'instrucción de "comparanza" considera dos valores y afita un númberu, nel rexistru de banderes, d'alcuerdu a cuál ye'l mayor. Entós, esta bandera puede ser usada por una posterior instrucción de saltu pa determinar el fluxu de programa.

Dempués de la execución de la instrucción y l'escritura de los datos resultantes, el procesu enteru repitir col siguiente ciclu d'instrucción, de normal lleendo la siguiente instrucción en secuencia debíu al valor amontáu nel contador de programa. Si la instrucción completada yera un saltu, el contador de programa va ser modificáu pa contener la dirección de la instrucción a la cual saltóse, y l'execución del programa sigue de normal. En CPUs más complexos que'l descritu equí, múltiples instrucciones pueden ser lleíes, decodificadas, y executaes simultáneamente. Esta sección describe lo que ye referíu xeneralmente como'l "entubado RISC clásicu" (Classic RISC pipeline), que de fechu ye abondo común ente los CPU simples usaos en munchos dispositivos electrónicos, de cutiu llamaos microcontroladores.[nota 6]

Diseñu y implementación[editar | editar la fonte]

Rangu d'enteros[editar | editar la fonte]

La manera en qu'un CPU representa los númberos ye una opción de diseñu qu'afecta les más básiques formes en que'l dispositivu funciona. Dalgunes de les primeres calculadores dixitales usaron, pa representar númberos internamente, un modelu eléctricu del sistema de numberación decimal común (base diez). Dellos otros ordenadores usaron sistemes de numberación más exóticos como'l ternariu (base trés). Casi tolos CPU modernos representen los númberos en forma binaria, onde cada díxitu ye representáu por una cierta cantidá física de dos valores, como un voltaxe "alto" o "so".[nota 7]

Microprocesador MOS 6502 nun dual in-line package (encapasulado en doble llinia), un diseñu desaxeradamente popular de 8 bits.

Cola representación numbérica tán rellacionaos el tamañu y la precisión de los númberos qu'un CPU puede representar. Nel casu d'un CPU binariu, un bit referir a una posición significativa nos númberos con que trabaya un CPU. El númberu de bits (o de posiciones numbériques, o díxitos) qu'un CPU usa pa representar los númberos, de cutiu llámase "tamañu de la palabra", "anchu de bits", "anchu de ruta de datos", o "precisión del númberu enteru" cuando s'ocupa puramente de númberos enteros (n'oposición a númberos de coma flotante). Esti númberu difier ente les arquitectures, y de cutiu dientro de distintes unidaes del mesmu CPU. Por casu, un CPU de 8 bits remana un rangu de númberos que pueden ser representaos por ocho díxitos binarios, cada díxitu teniendo dos valores posibles, y en combinación los 8 bits teniendo 28 o 256 númberos discretos. N'efectu, el tamañu del númberu enteru afita una llende de hardware nel rangu de númberos enteros qu'el software cuerre y que'l CPU puede usar directamente.[nota 8]

El rangu del númberu enteru tamién puede afectar el númberu de posiciones en memoria qu'el CPU puede direccionar (alcontrar). Por casu, si un CPU binariu utiliza 32 bits pa representar una dirección de memoria, y cada dirección de memoria representa a un octeto (8 bits), la cantidá máxima de memoria qu'el CPU puede direccionar ye 232 octetos, o 4 GB. Esta ye una vista bien simple del espaciu de dirección del CPU, y munchos diseños modernos usen métodos de dirección muncho más complexos como paxinación p'alcontrar más memoria qu'el so rangu enteru dexaría con un espaciu de dirección planu.

Niveles más altos del rangu de númberos enteros riquen más estructures pa remanar los díxitos adicionales, y poro, más complexidá, tamañu, usu d'enerxía, y xeneralmente costo. Por ello, nun ye del tou infrecuente, ver microcontroladores de 4 y 8 bits usaos n'aplicaciones modernes, entá cuando tán disponibles CPU con un rangu muncho más alto (de 16, 32, 64, ya inclusive 128 bits). Los microcontroladores más simples son xeneralmente más baratos, usen menos enerxía, y polo tanto estenen menos calor. Tou esto pueden ser considerancies de diseñu importantes pa los dispositivos electrónicos. Sicasí, n'aplicaciones del estremu altu, los beneficios producíos pol rangu adicional, (más de cutiu l'espaciu de dirección adicional), son más significativos y con frecuencia afecten les opciones del diseñu. Pa ganar delles de les ventayes proporcionaes polos llargores de bits tantu más baxes, como más altes, munches CPUs tán diseñaes con anchos de bit distintos pa distintes unidaes del dispositivu. Por casu, el IBM System/370 usó un CPU que foi sobremanera de 32 bits, pero usó precisión de 128 bits dientro de les sos unidaes de coma flotante pa facilitar mayor exactitú y rangu de númberos de coma flotante.[4] Munchos diseños posteriores de CPU usen un amiestu d'anchu de bits similar, especialmente cuando'l procesador ta diseñáu pa usos de propósitu xeneral onde se riquir un razonable equilibriu ente la capacidá de númberos enteros y de coma flotante.

Frecuencia de reló[editar | editar la fonte]

Artículu principal: Frecuencia de reló

La mayoría de los CPU, y ello ye que la mayoría de los dispositivos de lóxica secuencial, son de naturaleza síncrona.[nota 9] Esto ye, tán diseñaos y operen en función d'una señal de sincronización. Esta señal, conocida como señal de reló, usualmente toma la forma d'una onda cuadrada periódica. Calculando'l tiempu máximu en que les señales eléctriques pueden movese nes varies bifurcaciones de los munchos circuitos d'un CPU, el diseñadores pueden escoyer un período apropiáu pa la señal del reló.

Esti períodu tien de ser más llargu que la cantidá de tiempu que toma a una señal movese, o arrobinase nel peor de los casos. Al afitar el períodu del reló a un valor bastante mayor sobre'l retardo del espardimientu del peor casu, ye posible diseñar tol CPU y la manera que mueve los datos alredor de los "cantos" de la xubida y baxada de la señal del reló. Esto tien la ventaya de simplificar el CPU significativamente, tantu nuna perspectiva de diseñu, como nuna perspectiva de cantidá de componentes. Sicasí, esto tamién tien la desventaxa que tol CPU tien d'esperar polos sos elementos más lentos, entá cuando delles unidaes de la mesma son muncho más rápides. Esta llimitación foi compensada en gran parte por dellos métodos d'aumentar el paralelismu del CPU (ver embaxo).

Sicasí, les meyores arquitectóniques por sigo soles, nun solucionen toles desventaxes de CPUs globalmente síncronas. Por casu, una señal de reló ta suxeta a los retardos de cualesquier otra señal eléctrica. Velocidaes de reló más altes en CPUs cada vez más complexes faen más malo de caltener la señal del reló en fase (sincronizada) al traviés de tola unidá. Esto condució que munchos CPU modernos rican que se-yos apurra múltiples señales de reló idéntiques, pa evitar retardar una sola señal lo suficiente como pa faer al CPU funcionar incorrectamente. Otru importante problema cuando la velocidá del reló aumenta dramáticamente, ye la cantidá de calor que ye estenáu pol CPU. La señal del reló camuda costantemente, provocando la conmutación de munchos componentes (cambéu d'estáu) ensin importar si tán siendo usaos nesi momentu. Polo xeneral, un componente que ta camudando d'estáu, usa más enerxía qu'un elementu nun estáu estáticu. Poro, a midida que la velocidá del reló aumenta, asina lo fai tamién la disipación de calor, causando qu'el CPU rica soluciones d'enfriamientu más efectives.

Un métodu de tratar la conmutación de componentes innecesarios llámase'l clock gating, qu'implica apagar la señal del reló a los componentes innecesarios, efectivamente desactivándolos. Sicasí, esto ye frecuentemente consideráu como malo d'implementar y polo tanto nun ve usu común fora de diseños de bien baxa potencia. Un notable diseñu de CPU tardíu qu'utiliza una amplia compuerta del reló p'amenorgar los requisitos de potencia de la consola de videoxuegos ye la de la Xbox 360 basada na PowerPC de IBM.[7] Otru métodu de tratar dalgunos de los problemes d'una señal global de reló ye la completa remoción de la mesma. Ente que quitar la señal global del reló fai, de munches maneres, considerablemente más complexu'l procesu del diseñu, en comparanza con diseños síncronos similares, los diseños asincrónicos (o ensin reló) tienen marcaes ventayes nel consumu d'enerxía y la disipación de calor. Anque se trate de daqué infrecuente, les CPUs completes construyéronse ensin utilizar una señal global de reló. Dos notables exemplos d'esto son el AMULET, qu'implementa l'arquiteutura del ARM, y el MiniMIPS, compatible col MIPS R3000. En llugar de remover totalmente la señal del reló, dellos diseños de CPU dexen que ciertes unidaes del dispositivu sían asincrónicas, como por casu, usando ALU en conxunción con pipelining superescalar p'algamar delles ganancies nel desempeñu aritméticu. Ente que nun tea dafechu claru si los diseños totalmente asincrónicos pueden desempeñase a un nivel comparable o meyor que los sos contrapartes síncronas, rescampla qu'a lo menos sobresalen nes operaciones matemátiques más simples. Esto, combináu coles sos escelentes característiques de consumu d'enerxía y disipación de calor, facer bien fayadizos para sistemes enfiñíos.[8]

Paralelismu[editar | editar la fonte]

Artículu principal: Computación paralela
Modelu d'un CPU subescalar. Note que toma quince ciclos pa terminar tres instrucciones.

La descripción de la operación básica d'un CPU ufiertada na sección anterior describe la forma más simple que puede tomar un CPU. Esti tipu de CPU, usualmente referíu como subescalar, opera sobre y executa una sola instrucción con una o dos pieces de datos al empar.

Esti procesu da llugar a una ineficacia inherente en CPU subescalares. Cuidao que solamente una instrucción ye executada al empar, tol CPU tien d'esperar qu'esa instrucción complétese antes de dar en la siguiente instrucción. Como resultancia, la CPU subescalar queda "paralizáu" n'instrucciones que tomen más d'un ciclu de reló pa completar la so execución. Inclusive la adición d'una segunda unidá d'execución (ver embaxo) nun ameyora enforma'l desempeñu. En llugar d'un camín quedando conxeláu, agora dos caminos paralícense y aumenta el númberu de transistores ensin usar. Esti diseñu, onde los recursos d'execución de la CPU pueden operar con solamente una instrucción al empar, solo puede, posiblemente, algamar el desempeñu esguilar (una instrucción por ciclu de reló). Sicasí, el desempeñu casi siempres ye subescalar (menos d'una instrucción por ciclu).

Les tentatives d'algamar un desempeñu esguilar y meyor, resultaron nuna variedá de metodoloxíes de diseñu que faen portase al CPU menos linealmente y más en paralelu. Cuando se refier al paralelismu nos CPU, xeneralmente son usaos dos términos pa clasificar estes técniques de diseñu.

  • El paralelismu a nivel d'instrucción, n'inglés instruction level parallelism (ILP), busca aumentar la tasa na cual les instrucciones son executaes dientro d'un CPU, esto ye, aumentar l'usu de los recursos d'execución na pastilla.
  • El paralelismu a nivel de filo d'execución, n'inglés thread level parallelism (TLP), que se propón amontar el númberu de filos (efectivamente programes individuales) qu'un CPU pueda executar simultáneamente.

Cada metodoloxía estrémase tantu nes maneres nes que tán implementaes, como na efectividá relativa que producen nel aumentu del desempeñu de la CPU pa una aplicación.[nota 10]

ILP: Segmentación y arquiteutura superescalar[editar | editar la fonte]

Artículu principal: Superescalar
Tubería básica de cinco etapes. Nel meyor de los casos, esta tubería puede sostener un ratio de completáu d'una instrucción por ciclu.

Unu de los métodos más simples pa llograr amontar el paralelismu ye empezar los primeros pasos de lleer y decodificar la instrucción primero que la instrucción anterior terminara d'executase. Esta ye la forma más simple d'una técnica conocida como segmentación (instruction pipelining n'inglés), y ye utilizada en casi toes los CPU de propósitu xeneral modernos. Al estremar la ruta d'execución n'etapes discretes, la tubería dexa que más d'una instrucción sía executada en cualquier tiempu. Esta separación puede ser comparada a una llinia d'ensamblaxe, na cual una instrucción ye fecha más completa en cada etapa hasta que sale de la tubería d'execución y ye retirada del mesmu.

Sicasí, la tubería introduz la posibilidá d'una situación onde ye necesariu terminar la resultancia de la operación anterior pa completar la operación siguiente; una condición llamada de cutiu como conflictu de dependencia de datos. Pa faer frente a esto, ten de ser tomáu un cuidu adicional pa comprobar estes clases de condiciones, y si esto asocede, tien de retrasase una porción de la tubería d'instrucción. Naturalmente, llograr esto rique circuitería adicional, el procesadores entubados son más complexos que los subescalares, pero non muncho. Un procesador entubado puede aportar a casi dafechu esguilar, solamente tornáu poles abruptas paraes de la tubería (una instrucción durando más d'un ciclu de reló nuna etapa).

Segmentación superescalar simple. Al lleer y espachar dos instrucciones al empar, un máximu de dos instrucciones por ciclu pueden ser completaes.

Una meyora adicional sobre la idea del entubado d'instrucción (instruction pipelining) condució al desenvolvimientu d'un métodu que mengua inclusive más el tiempu ociosu de los componentes del CPU. Diseños que se diz que son superescalares inclúin una llarga tubería d'instrucción y múltiples unidaes d'execución idéntiques.[9] Nuna tubería superescalar, múltiples instrucciones son lleíes y pasaes a un espachador, que decide si les instrucciones puédense o nun executar en paralelu (simultáneamente). De ser asina, son espachaes a les unidaes d'execución disponibles, dando por resultancia la capacidá por que delles instrucciones sían executaes simultáneamente. Polo xeneral, cuanto más instrucciones un CPU superescalar ye capaz d'espachar simultáneamente a les unidaes d'execución n'espera, más instrucciones van ser completaes nun ciclu dáu.

La mayor parte de la dificultá nel diseñu d'una arquiteutura superescalar de CPU fuelga en crear un espachador eficaz. L'espachador precisa poder determinar rápida y correchamente si les instrucciones pueden executase en paralelu, tan bien como espachales d'una manera que caltenga ocupaes tantes unidaes d'execución como sía posible. Esto rique que la tubería d'instrucción sía enllenada tan de cutiu como sía posible y amóntase la necesidá, nes arquitectures superescalares, de cantidaes significatives de caxé de CPU. Esto tamién crea técniques pa evitar peligros como la predicción de bifurcación, execución especulativa, y la execución fora d'orde, cruciales pa caltener altos niveles de desempeñu. Tratando de predicir qué caña (o trayectoria) va tomar una instrucción condicional, la CPU puede embrivir el númberu de vegaes que tou la canal tien d'esperar hasta que se complete una instrucción condicional. Frecuentemente, la execución especulativa apurre aumentos modestos del desempeñu al executar porciones de códigu que nun puede ser necesariu dempués de completase una operación condicional. Fora de la orde d'execución camuda de dalguna manera l'orde en que s'executen les instrucciones p'amenorgar retardos por cuenta de les dependencies de datos. Tamién nel casu d'instrucciones individuales de datos múltiples — el procesadores modernos, en casu de que se procesaren una gran cantidá de datos del mesmu tipu, pueden desactivar partes de la tubería de manera que cuando s'executa una sola sentencia munches vegaes, la CPU salta la captación y decodifica fases y polo tanto aumenta considerablemente'l rendimientu en ciertes ocasiones, sobremanera nos motores de programes altamente monótonos como'l software de creación de video y procesamientu de fotografíes.

Nel casu onde una porción de la CPU ye superescalar y una parte nun lu ye, la parte que nun ye superescalar sufre nel desempeñu por cuenta de les paraes d'horariu. El Intel Pentium orixinal (P5) tenía dos ALUs superescalares que podíen aceptar, caúna, una instrucción por ciclu de reló, pero'l so FPU nun podía aceptar una instrucción por ciclu de reló. Asina'l P5 yera superescalar na parte de númberos enteros pero nun yera superescalar de númberos de coma (o puntu [decimal]) flotante. El socesor a l'arquiteutura del Pentium d'Intel, el P6, amestó capacidaes superescalares a les sos funciones de coma flotante, y polo tanto produció un significativu aumentu nel desempeñu d'esti tipu d'instrucciones.

Tanto'l diseñu superescalar como'l entubado simple aumenten el ILP d'una CPU al dexar a un solu procesador completar la execución d'instrucciones en ratios que devasen una instrucción por ciclu (IPC).[nota 11] La mayoría de los modernos diseños de CPU son a lo menos daqué superescalares, y na última década, casi tolos diseños de CPU de propósitu xeneral son superescalares. Nos últimos años daqué de la énfasis nel diseñu de computadores d'altu ILP movióse del hardware del CPU escontra'l so interfaz de software, o ISA. La estratexa very long instruction word o VLIW, causa a dalgún ILP a ser implícitu directamente pol software, amenorgando la cantidá de trabayu qu'el CPU tien de realizar pa da-y un emburrie significativu al ILP y polo tanto amenorgar la complexidá del diseñu.

Paralelismu a nivel de filos[editar | editar la fonte]

Otra estratexa pa llograr el rendimientu ye executar dellos programes o filos en paralelu. Esta área d'investigación conozse como computación paralela. Na taxonomía de Flynn, esta estratexa conozse como múltiples instrucciones de dellos datos o MIMD.

Una tecnoloxía utilizada pa esti propósitu foi'l multiprocesamiento (MP). El puntapié inicial d'esta tecnoloxía conozse como multiprocesamiento simétricu (SMP), onde un pequenu númberu de CPU comparten una visión coherente del so sistema de memoria. Nesti esquema, cada CPU tien un hardware adicional pa caltener una visión costantemente actualizada de la memoria. Pa evitar visites rancies de la memoria, les CPU pueden cooperar nel mesmu programa y los programes pueden migrar dende una CPU a otra. P'aumentar el númberu de CPUs que cooperen más allá d'unes poques, introducir en 1990, los esquemes tales como'l non-uniform memory Access (accesu non uniforme a memoria) (NUMA) y los protocolos de coherencia basaos en directorios. Los sistemes SMP llindar a un pequenu númberu de CPU ente que los sistemes NUMA construyéronse con miles de procesadores. Primeramente, el multiprocesamiento construyóse usando múltiples CPUs discretes y tableros pa implementar la interconexión ente'l procesadores. Cuando'l procesadores y el so interconexión fueren implementaes nun únicu chip de siliciu, la tecnoloxía conozse como un procesador multinúcleo.

Darréu, reconocióse qu'esistía un paralelismu bien estrechu con un únicu programa. Un únicu programa podría tener dellos filos (o funciones) que podríen ser executaes por separáu o en paralelu. Dalgunos de los primeros exemplos d'esta tecnoloxía implementaba procesamientu de entrada/salida tales como'l accesu directu a memoria como un filo separáu del filo computáu. Na década de 1970, introducióse un enfoque más xeneral a esta tecnoloxía, cuando se diseñaron sistemes pa executar múltiples filos de computación en paralelu. Esta tecnoloxía conozse como multihilo (MT).

Esti enfoque considérase más rentable que la del multiprocesamiento, yá que solo retrúcase un pequenu númberu de componentes dientro d'una CPU pa soportar MT n'oposición a la totalidá de la CPU nel casu de MP. En MT, les unidaes d'execución y el sistema de memoria incluyendo los caxés son compartíos ente dellos filos. La desventaxa de MT ye que'l soporte de hardware pa multihilo ye más visible pal software que la de MP y polo tanto'l software supervisor como'l de los sistemes operativos tienen que sometese a los cambeos más grandes pa sofitar MT. Un tipu de MT que s'implementó ye conocíu como bloque multihilo, onde s'executa un filo hasta que se paralice esperando que tornen los datos dende la memoria esterna. Nesti esquema, la CPU tendría entós que camudar rápido a otru filo que ta llistu pa funcionar, el interruptor munches vegaes realiza un ciclu de reló de la CPU, como la tecnoloxía UltraSPARC. Otru tipu de MT denominar multihilo simultáneu, onde les instrucciones de múltiples filos executar en paralelu dientro d'un ciclu de reló de la CPU.

Paralelismu de datos[editar | editar la fonte]

Artículu principal: SIMD

Un menos común pero cada vez más importante paradigma de CPU (y ello ye que de computación polo xeneral) trata con vectores. El procesadores de los que se faló enantes son toos referíos como ciertu tipu de dispositivu esguilar.[nota 12] Como implica'l so nome, el procesadores vectoriales ocupar de múltiples pieces de datos nel contestu d'una instrucción, esto oldea con el procesadores esguilares, que traten una pieza de datu per cada instrucción. Estos dos esquemes d'ocupase de los datos son xeneralmente referíos respectivamente como SISD (single instruction, single data) y SIMD (single instruction, multiple data). La gran utilidá en crear CPU que s'ocupen de vectores de datos anicia na optimización de xeres que tienden a riquir la mesma operación, por casu, una suma, o un productu esguilar, a ser realizáu nun gran conxuntu de datos. Dellos exemplos clásicos d'esti tipu de xeres son les aplicaciones multimedia (imaxes, vídeu, y soníu), según munchos tipos de xeres científiques y d'inxeniería. Ente que una CPU esguilar tien de completar tol procesu de lleer, decodificar, y executar cada instrucción y valor nun conxuntu de datos, una CPU vectorial puede realizar una simple operación nun comparativamente grande conxuntu de datos con una sola instrucción. De xacíu, esto ye solamente posible cuando l'aplicación tiende a riquir munchos pasos qu'apliquen una operación a un conxuntu grande de datos.

La mayoría de les primeres CPU vectoriales, como'l Cray-1, acomuñáronse casi puramente a aplicaciones d'investigación científica y criptografía. Sicasí, a midida que la multimedia mover en gran parte a medios dixitales, aportó a significativa la necesidá d'una cierta forma de SIMD en CPUs de propósitu xeneral. Poco dempués de qu'empezara a ser común incluyir unidaes de coma flotante en procesadores d'usu xeneral, tamién empezaron a apaecer especificaciones y implementaciones d'unidaes d'execución SIMD pa les CPU d'usu xeneral. Dalgunes d'estes primeres especificaciones SIMD, como'l MMX d'Intel, fueron solamente pa númberos enteros. Esto demostró ser una torga significativa pa dellos desarrolladores de software, una y bones munches de les aplicaciones que se beneficiaben del SIMD trataben sobremanera con númberos de coma flotante. Progresivamente, estos primeros diseños fueron refinaos y rehechos en dalguna de les comunes, modernes especificaciones SIMD, que xeneralmente tán acomuñaes a un ISA. Dellos exemplos modernos notables son el SSE d'Intel y el AltiVec rellacionáu col PowerPC (tamién conocíu como VMX).[nota 13]

Desempeñu[editar | editar la fonte]

Plantía:Más información El "desempeñu" (performance) o la velocidá d'un procesador depende de, ente munchos otros factores, la velocidá del reló (xeneralmente dada en múltiplos de hertz) y les instrucciones por ciclu de reló (IPC), que xuntos son los factores pa les Millones d'instrucciones per segundu instrucciones per segundu (IPS) qu'el CPU puede rindir.[10] Munchos reportes de valores IPS representaron tases d'execución "picu" en secuencies d'instrucciones artificiales con poques cañes, ente que les cargues de trabayu realistes consisten nuna combinación d'instrucciones y d'aplicaciones, dalgunes de les cualos riquen más tiempu pa executar qu'otres. El rendimientu de la xerarquía de memoria tamién afecta en gran midida al rendimientu del procesador, una tema bien poca teníu en cuenta nos cálculos de MIPS. Por cuenta de estos problemes, pa esti fin, desenvolviéronse dellos exames estandarizados, tales como SPECint munches vegaes llamaos "puntos de referencia" - pa tratar de midir el rendimientu real efectivu n'aplicaciones d'usu cotidianu.

El desempeñu de procesamientu de los ordenadores amóntase utilizando procesadores multinúcleo, que n'esencia ye conectar dos o más procesadores individuales (llamaos núcleos nesti sentíu) nun solu circuitu integráu.[11] Idealmente, un procesador de doble núcleu sería casi dos veces tan potente como un procesador de núcleu únicu. Na práctica, la ganancia de desempeñu ye enforma menor, solo alredor del 50%, [ensin referencies] por cuenta de la implementación d'algoritmos imperfectos de software.[12] L'aumentu del númberu de núcleos nun procesador (esto ye, dual-core, quad-core, etc) aumenta la carga de trabayu que puede remanase. Esto significa que'l procesador agora puede remanar numberosos eventos asíncronos, interrupciones, etc que pueden tomar un "peaxe" na CPU (Central Processing Unit) cuando s'acorvia. Estos núcleos pueden considerase como distintes plantes nuna planta de procesamientu, col manexu de cada pisu una xera distinta. N'ocasiones, estos núcleu remanen les mesmes xeres que los núcleos axacentes a ellos si un solu núcleu nun ye abondu pa remanar la información.

Por cuenta de les capacidaes específiques de les CPU modernes, como Hyper-Threading y Uncore, qu'impliquen l'intercambiu de recursos reales de la CPU ente que l'oxetivu d'un mayor usu, supervisar los niveles de rendimientu y l'usu del hardware foise convirtiendo gradualmente nuna xera más complexa. Como respuesta, delles CPUs implementen lóxica de hardware adicional que controla l'usu real de les diverses partes d'una CPU y apurre dellos contadores accesibles a software; un exemplu ye la tecnoloxía Performance Counter Monitor ("Monitor de contador de rendimientu") d'Intel.[13]

Ver tamién[editar | editar la fonte]

Notes[editar | editar la fonte]

  1. Integrated circuits llabre now used to implement all CPUs, except for a few machines designed to withstand large electromagnetic pulsies, say from a nuclear weapon.
  2. The so-called 'von Neumann' avantu expounded the escurre of stored programs, stored say, on punch cards, paper tape, or magnetic tape
  3. Since the program counter counts memory addresses and not instructions, it is incremented by the number of memory units that the instruction word contains. In the case of simple fixed-length instruction word ISAs, this is always the same number. For example, a fixed-length 32-bit instruction word ISA that uses 8-bit memory words would always increment the PC by 4 (except in the case of jumps). ISAs that use variable length instruction words increment the PC by the number of memory words corresponding to the last instruction's length.
  4. Because the instruction set architecture of a CPU is fundamental to its interface and usage, it is often used as a classification of the "type" of CPU. For example, a "PowerPC CPU" uses some variant of the PowerPC ISA. A system can execute a different ISA by running an emulator.
  5. Some early computers like the Harvard Mark I did not support any kind of "jump" instruction, effectively limiting the complexity of the programs they could run. It is largely for this reason that these computers llabre often not considered to contain a CPU proper, despite their close similarity as stored program computers.
  6. This description is, in fact, a simplified view even of the Classic RISC pipeline. It largely ignores the important role of CPU cache, and therefore the access stage of the pipeline. See the respective articles for more details.
  7. The physical concept of voltage is an analog one by its nature, practically having an infinite range of possible values. For the purpose of physical representation of binary numbers, set ranges of voltages llabre defined as one or zero. These ranges llabre usually influenced by the operational parameters of the switching elements used to create the CPU, such as a transistor's threshold level.
  8. While a CPU's integer size sets a limit on integer ranges, this can (and often is) overcome using a combination of software and hardware techniques. By using additional memory, software can represent integers many magnitúes larger than the CPU can. Sometimes the CPU's ISA will even facilitate operations on integers larger that it can natively represent by providing instructions to make large integer arithmetic relatively quick. While this method of dealing with large integers is somewhat slower than utilizing a CPU with higher integer size, it is a reasonable trade-off in cases where natively supporting the full integer range needed would be cost-prohibitive. See Arbitrary-precision arithmetic for more details on purely software-supported arbitrary-sized integers.
  9. In fact, all synchronous CPU use a combination of sequential logic and combinatorial logic. (See boolean logic)
  10. Neither ILP nor TLP is inherently cimeru over the other; they llabre simply different means by which to increase CPU parallelism. As such, they both have advantages and disadvantages, which llabre often determined by the type of software that the processor is intended to run. High-TLP CPUs llabre often used in applications that lend themselves well to being split up into numerous smaller applications, so-called "embarrassingly parallel problems". Frequently, a computational problem that can be solved quickly with high TLP design strategies like SMP take significantly more time on high ILP devices like superscalar CPUs, and vice trata.
  11. Best-case scenario (or peak) IPC rates in very superscalar architectures llabre difficult to maintain since it is impossible to keep the instruction pipeline filled all the time. Therefore, in highly superscalar CPU, average sustained IPC is often discussed rather than peak IPC.
  12. Earlier the term scalar was used to compare most the IPC (instructions per cycle) count afforded by various ILP methods. Here the term is used in the strictly mathematical sense to contrast with vectors. See scalar (mathematics) and vector (spatial).
  13. Although SSE/SSE2/SSE3 have superseded MMX in Intel's xeneral purpose CPU, later IA-32 designs still support MMX. This is usually accomplished by providing most of the MMX functionality with the same hardware that supports the much more expansive SSE instruction sets.

Referencies[editar | editar la fonte]

  1. 1,0 1,1 Weik, Martin H. (en inglés). A Third Survey of Domestic Electronic Digital Computing Systems. Ballistic Research Laboratories. http://ed-thelen.org/comp-hist/BRL61.html. 
  2. (en inglés) First Draft of a Report on the EDVAC. Moore School of Electrical Engineering, Universidá de Pennsylvania. http://www.virtualtravelog.net/entries/2003-08-TheFirstDraft.pdf. 
  3. (en inglés)Resurrection (The Computer Conservation Society) 20, Branu de 1998, ISSN 0958-7403, http://www.cs.man.ac.uk/CCS/res/res20.htm#d, consultáu 'l 19 d'abril de 2008 
  4. 4,0 4,1 Amdahl, G. M., Blaauw, G. A., & Brooks, F. P. Jr. (en inglés). Architecture of the IBM System/360. IBM Research. Archivado del original el 5 de febreru de 2007. https://web.archive.org/web/20070205061542/http://www.research.ibm.com/journal/rd/441/amdahl.pdf. 
  5. Digital Equipment Corporation. «LSI-11 Module Descriptions», LSI-11, PDP-11/03 user's manual, 2da (en inglés), Maynard, Massachusetts: Digital Equipment Corporation, 4–3.
  6. 6,0 6,1 (en inglés) Excerpts from A Conversation with Gordon Moore: Moore's Law. Intel. Archivado del original el 29 d'ochobre de 2012. https://web.archive.org/web/20121029060050/ftp://download.intel.com/museum/Moores_Law/Video-Transcripts/Excepts_A_Conversation_with_Gordon_Moore.pdf. Consultáu 'l 25 de xunetu de 2012. 
  7. Brown, Jeffery. «Application-customized CPU design» (inglés). IBM developerWorks. Consultáu'l 17 d'avientu de 2005.
  8. Garside, J. D., Furber, S. B., & Chung, S-H (en inglés). AMULET3 Revealed. University of Manchester Computer Science Department. Archivado del original el 10 d'avientu de 2005. https://web.archive.org/web/20051210205845/http://www.cs.manchester.ac.uk/apt/publications/papers/async99_A3.php. 
  9. Huynh, Jack. «The AMD Athlon XP Processor with 512KB L2 Cache» (inglés) páxs. 6–11. University of Illinois — Urbana-Champaign. Archiváu dende l'orixinal, el 28 de payares de 2007. Consultáu'l 6 d'ochobre de 2007.
  10. «CPU Frequency» (inglés). CPU World Glossary. CPU World (25 de marzu de 2008). Consultáu'l 1 de xineru de 2010.
  11. «What is (a) multi-core processor?» (inglés). Data Center Definitions. SearchDataCenter.com (27 de marzu de 2007). Consultáu'l 1 de xineru de 2010.
  12. «Quad Core Vs. Dual Core». Consultáu'l 26 de payares de 2014.
  13. «Intel Performance Counter Monitor A better way to measure CPU utilization» (inglés) (18 d'avientu de 2014). Consultáu'l 17 de febreru de 2015.

Bibliografía[editar | editar la fonte]

Enllaces esternos[editar | editar la fonte]

Diseños de microprocesador[editar | editar la fonte]

Llectura adicional[editar | editar la fonte]



Unidad central de procesamiento