La unitat central de processament[1] o CPU (per l'acrònim en anglès de central processing unit), o simplement el processador o microprocessador, és el component de l'ordinador i d'altres dispositius programables, que interpreta les instruccions contingudes en els programes i processa les dades. Els CPU proporcionen les característiques fonamentals de l'ordinador digital (la programabilitat) i són un dels components necessaris trobats a les computadores de qualsevol temps, junt amb l'emmagatzemament primari i els dispositius d'entrada/sortida. Es coneix com a microprocessador la CPU que és manufacturada amb circuits integrats. Des de mitjans anys 1970, els microprocessadors d'un sol xip han reemplaçat gairebé totalment tots els tipus de CPU, i avui en dia, el terme CPU és aplicat usualment a tots els microprocessadors.
L'expressió «unitat central de procés» és, en termes generals, una descripció d'una certa classe de màquines lògiques que poden executar programes complexos de computador. Aquesta àmplia definició pot fàcilment ser aplicada a molts dels primers computadors que van existir molt abans que el terme CPU tingués l'ampli ús que té actualment. Encara que aquest terme realment ha estat utilitzat en la indústria de la informàtica des de principis dels anys 1960. La forma, el disseny i la implementació dels CPU ha canviat dràsticament des dels primers exemples, però la seva operació fonamental segueix essent similar.
Està constituïda per dues unitats funcionals: la unitat aritmetico-lògica, i la unitat de control.
Història
Les primeres CPU van ser dissenyades a mida com a part d'un ordinador més gran, això no obstant, aquest costós mètode de dissenyar les CPU a mida, per una aplicació particular, ha desaparegut i ha estat substituït pel desenvolupament de classes de CPU barates i estandarditzades adaptades per a diferents propòsits. Aquesta estandardització va començar a l'era dels transistors discrets, computadores centrals, i microcomputadores, i es va accelerar ràpidament amb la popularització del circuit integrat, aquest ha permès que siguin dissenyats i fabricats processadors més complexos en espais petits. Tant la miniaturització com l'estandardització dels CPU han augmentat la presència d'aquests dispositius digitals en la vida moderna molt més enllà de les aplicacions limitades de màquines de computació dedicades. Els microprocessadors moderns estan presents arreu.
Abans de l'arribada de les màquines semblants a les unitats centrals de procés d'avui dia, els ordinadors com l'ENIAC havien de ser recablejats físicament abans d'executar cada tasca, per això se'ls va denominar ”ordinadors de programa fix” (fixed-program computers), atès que havien de ser reconfigurats per tal de poder executar un nou programa. Atès que el terme “unitat central de procés” es defineix habitualment com un dispositiu per a l'execució de programari (Programa informàtic), els primers ginys que podien rebre aquesta denominació van arribar amb els ordinadors amb programes enregistrats.
La idea d'emmagatzemar els programes informàtics ja era present als dissenys de J. Presper Eckert i John William Mauchly per l'ENIAC, però havia estat descartada per poder finalitzar la màquina més ràpidament. El 30 de juny del 1945, abans de l'acabament de l'ENIAC, el matemàtic John von Neumann va difondre el document titulat First Draft of a Report on the EDVAC (Primer esborrany d'un informe sobre l'EDVAC). En aquest document va descriure el disseny d'un ordinador amb programa emmagatzemat que va ser completat l'agost del 1949.[2] L'EDVAC va ser dissenyat per executar un cert nombre d'instruccions de diferents tipus. Aquestes instruccions podien ser combinats per crear programes útils per al funcionament de l'EDVAC. De manera significativa, els programes escrits per l'EDVAC van ser emmagatzemats a la memòria d'alta velocitat de l'ordinador en comptes de ser definits per mitjà del cablejat físic de l'ordinador. Amb això es va superar una de les limitacions importants de l'ENIAC que necessitava una gran quantitat de temps i esforç per reconfigurar l'ordinador per tal de poder executar una nova tasca. Amb el disseny de von Neumann el programa o programari que executava l'EDVAC podia ser canviat de manera senzilla canviant el contingut de la memòria de l'ordinador.[3]
Tot i que habitualment s'atribueix el disseny dels programes emmagatzemats a l'ordinador a von Neumann a causa del seu disseny de l'EDVAC, abans d'altres investigadors com Konrad Zuse ja havien suggerit i implementat idees semblants. A més la denominada arquitectura Harvard del Harvard Mark I, que va ser finalitzat abans de l'EDVAC, també havia utilitzat un disseny de programa emmagatzemat utilitzant cinta perforada en comptes de memòria electrònica. La diferència fonamental entre les arquitectures de von Neumann i Harvard és que la darrera separa l'emmagatzemament i el tractament de les instruccions i les dades, mentre que la primera utilitza el mateix espai de memòria per ambdues. La majoria de les unitats centrals de procés d'avui dia segueixen el disseny de von Neumann però també és habitual trobar elements de l'arquitectura Harvard.
Com tots els dispositius digitals, les unitats centrals de procés només poden tractar un nombre limitat d'estats i, per tant, requereixen alguns elements de commutació per tal de poder diferenciar i canviar aquests estats. Abans del desenvolupament comercial del transistor els elements de commutació que s'utilitzaven habitualment eren els relés i les vàlvules de buit o termoiòniques. Tot i que aquests dispositius presentaven avantatges de velocitat sobre els precedents, purament mecànics, eren pocs fiables per diferents raons, per exemple, per realitzar un circuit de lògica seqüencial en corrent continu amb relés era necessari per corregir el problema del fimbrament del contacte. Tot i que les vàlvules termoiòniques no patien el problema del fimbrament del contacte, havien de ser escalfats abans de poder arribar a ser totalment operatives i eventualment deixar de funcionar a causa de la petita contaminació dels seus càtodes que es produïa amb el funcionament normal. Quan fallava l'estanqueïtat s'accelerava la contaminació del càtode. Quan una vàlvula fallava calia procedir a un diagnòstic de la CPU per tal de localitzar el component afectat per tal de procedir al seu reemplaçament. En conseqüència els primers ordinadors electrònics basats en vàlvules termoiòniques eren més ràpids però menys fiables que els ordinadors electromecànics basats en relés.
Els ordinadors construïts basant-se en les vàlvules termoiòniques, com l'EDVAC, funcionaven una mitjana de vuit hores seguides sense avaries, mentre que els ordinadors basats en relés, més lents però més antics, com el Harvard Mark I rarament fallaven.[4] Finalment les CPU basades en vàlvules de buit van acabar per suplantar les de relés, malgrat els problemes de fiabilitat, a causa de la diferència substancial de la velocitat de procés que oferien. La majoria de les primeres CPU eren síncrones i treballaven a baixes freqüències de rellotge en comparació amb els dissenys de la microelectrònica actual. Les freqüències del senyal de rellotge d'entre 100 quilohertz (kHz) i 4 megahertz (MHz) eren comunes a l'època i eren limitades en gran part per la velocitat de commutació dels dispositius que utilitzaven.
L'expressió "unitat central de procés" és, en termes generals, una descripció d'una certa classe de màquines de lògica que poden executar complexos programes d'ordinador. Aquesta àmplia definició pot fàcilment ser aplicada a molts dels primers ordinadors que van existir molt abans que el terme "CPU" estigués a ampli ús. No obstant això, el terme en si mateix i el seu acrònim han estat en ús en la indústria de la informàtica com a mínim des del principi dels anys 1960.
CPUs a base de transistors i circuits integrats
La complexitat dels dissenys de les CPU es va anar incrementant a mesura que la tecnologia permetia la construcció de dispositius electrònics cada cop més petits i fiables. La primera d'aquestes millores tecnològiques va arribar amb l'aparició del transistor. Les CPU transistoritzades de les dècades del 1950 i 1960 ja no necessitaven els dispositius de commutació fràgils i poc fiables com les vàlvules de buit o els relés electromecànics. Amb els transistors es van construir CPUs sobre un o diversos circuits impresos que contenien components discrets.
Durant aquest període va aparèixer un nou mètode de fabricació de transistors que permetia de crear grups de transistors sobre material semiconductor ocupant molt poc espai, era el naixement dels circuits integrats. Aquests dispositius permetien la creació d'un gran nombre de transistors en un únic bloc de material semiconductor (die) o xip. Al principi només es van fer integracions miniaturitzades de circuits molt bàsics com les portes lògiques de tipus NOR. Les CPU basades en aquests blocs són conegudes habitualment com a dispositius de baixa integració (SSI, en les sigles angleses de small-scale integration). Aquest tipus de circuits de “baixa integració”, com els que van ser utilitzats als ordinadors de les naus del programa Apollo, normalment incorporaven una desena de transistors en cada bloc. Per tant la construcció d'una CPU requeria la utilització de milers de xips, però tot i això l'espai i l'energia requerits eren molt inferiors que en el cas de les basades en transistors discrets. A mesura que avançava la tecnologia de la microelectrònica i s'incrementava el nombre de transistors que es podien integrar als circuits va anar disminuint el nombre de circuits integrats necessaris per bastir una CPU completa. Els circuits de mitjana integració (MSI de Medium-scale integration) portaven un centenar de transistors mentre que els de gran integració (LSI de Large-scale integration) ja podien arribar als 10.000.
El 1964 IBM va presentar l'arquitectura System/360 que va ser utilitzada en una sèrie d'ordinadors que podien executar els mateixos programes a diferents velocitats i rendiment. Aquest fet va ser una novetat significativa atès que llavors la majoria dels ordinadors, inclosos els d'un mateix fabricant, eren incompatibles entre ells. Per fer possible aquesta millora IBM va utilitzar el concepte de microcodi que encara és habitual a les CPUs modernes.[5] L'arquitectura System/360 va arribar a ser tan popular que va dominar el mercat dels ordinadors centrals durant dècades i deixant un llegat que continua essent utilitzat a ordinadors moderns com la sèrie System z (2000) d'IBM. El mateix any 1964, Digital Equipment Corporation (DEC) va presentar un altre ordinador que va tenir una gran influència, el PDP-8, destinat al mercat dels ordinadors científics i de recerca. Més tard DEC presentaria la línia PDP-11 que va arribar a ser molt popular que originalment es basava en circuits de baixa integració però que va passar a utilitzar components de gran integració quan van estar a l'abast. En contrast amb els seus predecessors basats en circuits de baixa i mitjana integració, la primera implementació del PDP-11 que utilitzava components de gran integració portava una CPU només basada en quatre circuits integrats.[6]
Els ordinadors basats en transistors presentaven molts avantatges respecte als seus predecessors, a més de la millor fiabilitat i el menor consum d'energia, els transistors van permetre que les CPUs poguessin funcionar a velocitats molt més elevades gràcies al fet que el temps de commutació d'un transistor és encara més petit que el de les vàlvules de buit o els relés. Gràcies a aquests dos elements, l'increment de la fiabilitat i l'enorme increment de la velocitat de commutació, la freqüència de rellotge de les CPUs es va incrementar fins a arribar a assolir desenes de megahertzs. Mentre la utilització dels transistors i els circuits integrats esdevenia habitual, es va començar a experimentar en nous dissenys d'alt rendiment com el SIMD (Single Instruction Multiple Data) utilitzat als processadors vectorials. Aquests models experimentals portarien al desenvolupament dels supercomputadors com els fabricats per l'empresa Cray Inc.
Microprocessadors
L'aparició dels microprocessadors a la dècada del 1970 va afectar de manera significativa els dissenys i la implementació de les CPUs. Des de la introducció el 1970 del primer microprocessador, l'Intel 4004 i del primer que es va utilitzar de manera corrent a les CPUs, l'Intel 8080 del 1974, la implementació de CPUs basant-se en microprocessadors ha suplantat gairebé de manera completa tots els altres mètodes alternatius. Els fabricants de miniordinadors i ordinadors centrals d'aquella època van adoptar els seus propis programes de desenvolupament dels seus propis circuits integrats per tal d'actualitzar les seves antigues arquitectures i van produir microprocessadors amb un joc d'instruccions que asseguraven la compatibilitat amb el programari dels seus models antics.
Les anteriors generacions de CPUs havien estat implementades com un conjunt de components discrets i nombrosos circuits integrats sobre un o més circuits impresos. Per la seva banda, els microprocessadors són construïts amb un petit nombre de circuits integrats, habitualment un de sol, amb un nivell molt alt d'integració als circuits integrats a molt gran escala (VLSI o Very Large Scale Integration). La mida reduïda de les CPUs són el resultat de ser implementades sobre un únic bloc de material semiconductor (die), de manera que el factor de forma comporta un temps de commutació més petit al mateix temps que disminueix la capacitància paràsita de les portes.
Això ha permès els microprocessadors síncrons tenir freqüències de rellotge des de diverses desenes de megahertzs fins a diversos gigahertzs. De manera addicional, a mesura que l'evolució de la tecnologia ha permès la construcció de transistors de mida extremadament petita sobre un circuit integrat, la complexitat i el nombre de transistors que conté una CPU s'ha incrementat exponencialment. Aquesta tendència és descrita per la llei de Moore, que ha demostrat ser força acurada en les seves prediccions sobre el creixement de la complexitat de les CPUs i d'altres tipus de circuits integrats.
Mentre que la complexitat, la mida, la construcció i la forma general de les CPUs ha canviat dràsticament durant els darrers seixanta anys, cal remarcar que el disseny de base i la funció no han canviat massa. Gairebé totes les CPUs actuals poden ser descrites de manera acurada com màquines amb programa emmagatzemat de von Neumann. Mentre que la llei de Moore, citada més amunt, continua essent vàlida han començat a sorgir qüestions al voltant dels límits dels circuits integrats de transistors. L'extrema miniaturització de les portes electròniques ha fet que alguns efectes abans negligibles esdevinguin cada cop més importants, en són exemples l'electromigració (la degradació progressiva de les interconnexions metàl·liques que comporta una pèrdua de la fiabilitat dels circuits integrats) i els corrents de fuita (que són els responsables d'un sobreconsum d'energia elèctrica). Aquests nous problemes són entre molts d'altres, alguns dels factors que han portat als investigadors a la recerca de noves tecnologies com la computació quàntica al mateix temps que s'avança en la utilització de la computació paral·lelai d'altres mètodes que expandeixen la utilització del model clàssic de von Neumann.
Els recents processadors multi nucli comporten la presència de diversos nuclis dins d'un sol circuit integrat, la seva eficàcia depèn molt de la topologia de la interconnexió entre els nuclis. Algunes noves aproximacions com la superposició de la memòria (memory stacking) són en estudi i haurien de conduir a una millora del rendiment. Les previsions basades en la tendència dels darrers 10 anys indicarien que els processadors haurien d'assolir el petaflop vers l'any 2010 als servidors i cap al 2012 als ordinadors personals. El supercomputador militar IBM Roadrunner va ser el primer a depassar aquesta barrera el juny del 2008[7] i poc més tard, el novembre del mateix any, el supercomputador Jaguar de Cray Inc. també ho va fer.[8]
Elements
Els microprocessadors moderns estan integrats per milions de transistors i altres components empaquetats en una càpsula de grandària variable segons les necessitats de l'aplicació de la CPU i que van actualment des de la grandària d'un gra de llentia fins al de quasi una galeta. Les parts lògiques que componen un microprocessador són, entre altres:
Unitat aritmetico-lògica
(UAL o Arithmetic Logical Unit) Realitza una operació segons l'opcode (operation code) indicat per la Unitat de Control. Aquesta operació pot ser aritmètica (Suma, Resta, Divisió, Multiplicació), Lògica (AND, OR, XOR…), o un desplaçament dels bits de la variable (shift).
Unitat de control
Unitat inclosa a la CPU encarregada de llegir les instruccions màquina guardades en la memoria principal i de generar els senyals de control necessaris per controlar i coordinar la resta de les unitats funcionals d'un ordinador amb el propòsit d'executar les instruccions llegides.
Registres
Són petites unitats que emmagatzemen dades del processador, la capacitat dels registres serà una o una altra. Per exemple en arquitectures de 64 bits, els registres són de 64 bits. En processadors Pentium, són de 32 bits. I en microcontroladors, acostumen a ser de 8 bits. Es poden implementar amb flip-flops o, actualment, amb fitxers de registres (Static RAM).
Memòria cau
Com que l'accés a memòria principal és molt lent en comparació amb les velocitats del processador, en processadors amb certes prestacions s'acostuma a usar una memòria a mig camí que manté una còpia de les dades de memòria, anomenada memòria cau, per suavitzar aquesta diferència de velocitats.
Característiques
La CPU dota a l'ordinador la seva capacitat més fonamental, la capacitat de programar-lo, i és un dels components absolutament necessaris per a muntar qualsevol ordinador juntament amb els ports d'entrada i sortida. Una UCP pot estar integrada en un sistema com va ser el cas dels primers computadors o en un sol xip (SoC) i si és així l'anomenem microprocessador. Al principi dels anys 70 els microprocessadors cada cop van ser més complexos i de mica en mica van substituir la resta de dissenys que usaven diversos xips fent que avui en dia el terme processador o CPU s'usin habitualment per a referir-nos a qualsevol microprocessador.
La forma i de disseny de les CPU han anat variant dràsticament al llarg dels anys però les característiques bàsiques del funcionament en realitat no han variat tant al llarg dels anys. Les antigues UCP eren muntades en computadors d'un sol propòsit (per exemple una màquina expenedora de begudes) això feia que calgues dissenyar una UCP específica per a cada tipus de tasca encarint molt el cost, més endavant però s'aconseguiria fabricar UCPs preparades per a executar més d'un programa sent el primer pas per a arribar al que avui coneixem com a ordinador personal (PC). Amb l'expansió dels transistors CMOS i l'ús dels circuits integrats va arribar l'estandardització en la fabricació de les UCP. Així, el circuit integrat ha permès anar augmentant la complexitat dels microprocessadors contínuament (seguint la llei de Moore) fins a aconseguir dissenyar-los en petits espais de només uns mil·límetres. La miniaturització i estandardització de les CPU ha incrementat la presència de dispositius digitals en la vida moderna lluny de les limitades aplicacions de les primeres UCP. Els microprocessadors moderns apareixen en gairebé qualsevol dispositiu, des d'automòbils a ordinadors passant per telèfons mòbils, reproductors de música portàtils o joguines per als nens per exemple.
Els investigadors estan estudiant nous mètodes de computació com l'ordinador quàntic, l'ampliació del paral·lelisme, i d'altres més.
UCP al PC modern
Paràmetres significatius d'un processador són l'amplada de banda del seu bus, mesurat habitualment en bits, la freqüència del cicle de rellotge, mesurada en hertzs i la grandària de la memòria cau mesurada en kilobytes.
Hi ha diversos fabricants de microprocessadors (alguns d'ells són IBM, Intel, Zilog, Motorola, Cyrix, AMD). Com hem vist,al llarg de la història i des de la seva primera implementació els microprocessadors han millorat enormement la seua capacitat passant dels antics models Intel 8080, Zilog Z80, Motorola 6809 fins als recents Intel Itanium, Transmeta Efficeon o Cell. Actualment els nous micros poden tractar instruccions de fins a 256 bits, havent passat anteriorment pels de 128, 64, 32, 16,etc.
Des dels anys 60, quan comença el desenvolupament d'aquesta tecnologia, l'evolució dels processadors segueix aproximadament l'anomenada llei de Moore, que en resum afirma que cada 18 mesos el nombre de transistors que es poden integrar en un microprocessador es duplica.
Funcionament d'un processador
Totes les dades procedents de qualsevol perifèric o unitat d'emmagatzematge del PC arriben a la memòria RAM. El microprocessador llavors és capaç de llegir la informació continguda en aquestes adreces de memòria en un ordre determinat habitualment pel sistema operatiu.
De la RAM a la CPU es troba l'anomenat bus de sistema que funciona a velocitats molt elevades (actualment entre 400-1066 MHz).
La CPU simplement processa les dades i les torna a guardar a la RAM i el destí gràcies a la seva connexió física amb el processador serà capaç de llegir de nou del bus de dades la posició de memòria desitjada.
Segons la velocitat del bus de sistema i un factor multiplicatiu s'obté la freqüència a la qual treballa el processador (ex: 200 MHz × 4 = 800 MHz).
CPU (Control Process Unit) Unitat de control de procés.
Característiques:
- La freqüència de treball del processador sol mesurar-se en GHz o MHz, (és el que els usuaris sovint i equivocadament anomenen velocitat del sistema)
- La quantitat de memòria cau (Caché) interna de què disposa
- Conjunts d'instruccions suportades (3dNow, EM64T, ...)
'Tipus de connexió de la CPU:'
- Socket: Aquesta connexió és la que utilitzen la majoria dels ordinadors, acostuma a ser quadrada i està plena de contactes menys en un dels seus extrems, allà n'hi falta un perquè així el processador només pugui encaixar d'una manera. També se sol incorporar un dissipador enganxat amb pega tèrmica i un ventilador al damunt. No tots els processadors encaixen en tots els Sockets, per exemple els processadors AMD Athlon Socket 939 no encaixen en un Socket LGA 775 (Socket únicament aplicable a una CPU Intel), mentre que els processadors Intel no són compatibles a un Socket 939.
Slot:
- 1 (Intel)
- A (AMD)
Els slots van sortir al final dels anys 90. Utilitzaven com a CPU una espècie de cartutx que necessitava una ranura especial per ficar-hi la CPU i eren diferents entre Intel i AMD.
- La CPU utilitza registres.
- La CPU és molt cara tot i que gràcies a la llei de Moore baixa ràpidament de preu. Els preus de la CPU venen marcats sobretot per la generació a la qual pertany el processador, després un segon factor decisiu serà la velocitat del rellotge.
L'arquitectura de la CPU pot ser:
- RISC (Reduced Instruction Set Computer)
- La filosofia dels processadors RISC va sorgir de la necessitat d'augmentar l'eficàcia de les CPU, està basada en de l'arquitectura CISC i consisteix a treballar amb instruccions més senzilles, això permet que els processadors siguin més ràpids i eficients però també fa que les CPU depenguin de compiladors més complexos.Alguns models que l'usen són PowerPC (MAC), SPARC
- CISC (Complex Instruction Set Computer)
- Va ser la primera arquitectura de CPUs, els seus inicis es remunten a la dècada dels '60 i '70, és bastant econòmica, té pocs errors, la seva arquitectura és força complexa, el seu sistema de treball es basa en microprogramació i les instruccions són descodificades internament i executades amb una sèrie de microinstruccions emmagatzemades a la ROM. L'usen Intel i AMD a nivell extern.
- Overclocking
- Es pot incrementar a la força la velocitat de rellotge de la CPU. Tot i que els fabricants no ho aconsellen així es pot aconseguir un major rendiment de l'ordinador, ja que cal tenir en compte que és el ritme dels cicles de rellotge el que marca el ritme en què l'ordinador processa les instruccions. El principal efecte negatiu de l'overclocking és que redueix substancialment el temps de vida del processador.
- CPU Mobile
- Sol ser utilitzada pels ordinadors portàtils i és interessant perquè desactiva les parts de la CPU que no utilitzen aconseguint així conservar més energia a la bateria.
Doble nucli vs Hyper-Threading
Un processador single-threaded pot executar només una seqüència d'instruccions (thread) al mateix temps de forma successiva. Així aquest tipus de processadors són poc apropiats per a entorns multitasca tot i que degut a la dificultat per a serialitzar el disseny dels processadors HyperThreading van ser utilitzats gairebé fins a l'actualitat.
Un processador amb tecnologia HyperThreading pot executar en un sol bus de direccions almenys dues seqüències de forma paral·lela aconseguint aprofitar millor els recursos.
En l'actualitat els processadors amb tecnologia de nucli doble (Dual Core) contenen 2 nuclis d'execució. Per tant s'aconsegueix l'execució paral·lela real de les dues seqüències. En executar 2 seqüències, cadascuna farà servir un nucli d'execució independent, concepte diferent al HyperThreading. Així per exemple un processador amb nucli doble i tecnologia HyperThreading de 2 branques permet executar 4 seqüències gairebé en paral·lel obtenint així un major rendiment.
Processadors vectorials i el SIMD
Un menys comú però cada vegada més important paradigma de CPU (i de fet, de computació en general) tracta amb vectors.Com implica el seu nom, els processadors vectorials s'ocupen de múltiples peces de dades en el context d'una instrucció, això contrasta amb els processadors escalessis, que tracten una peça de dada per cada instrucció. Aquests dos esquemes d'ocupar-se de les dades són generalment referits respectivament com SISD (Single Instruction, Single Data) (Simple Instrucció, Simple Dada) i SIMD (Single Instruction, Multiple Data) (Simple Instrucció, Múltiples Dades). La gran utilitat a crear CPUs que s'ocupin de vectors de dades radica en l'optimització de tasques que tendeixen a requerir la mateixa operació, per exemple, una suma, o un producte escalar, a ser realitzat en un gran conjunt de dades. Alguns exemples clàssics d'aquest tipus de tasques són les aplicacions multimèdia (imatges, vídeo, i so), així com molts tipus de tasques científiques i d'enginyeria. Mentre que un CPU escalar ha de completar tot el procés de llegir, decodificar, i executar cada instrucció i valor en un conjunt de dades, un CPU vectorial pot realitzar una simple operació en un comparativament gran conjunt de dades amb una sola instrucció. Per descomptat, això és solament possible quan l'aplicació tendeix a requerir molts passos que apliquin una operació a un conjunt gran de dades. La majoria dels primers CPU vectorials, com el Cray-1, van ser associats gairebé exclusivament amb aplicacions d'investigació científica i criptografia. No obstant això, a mesura que la multimèdia es va desplaçar en gran part a mitjans digitals, ha arribat a ser significativa la necessitat d'una certa forma de SIMD en CPUs de propòsit general. Poc després que comencés a ser comú incloure unitats de coma flotant en processadors d'ús general, també van començar a aparèixer especificacions i implementacions d'unitats d'execució SIMD per als CPU d'ús general. Algunes d'aquestes primeres especificacions SIMD, com el MMX de Intel, van anar solament per a nombres sencers. Això va demostrar ser un impediment significatiu per a alguns desenvolupadors de programari, ja que moltes de les aplicacions que es beneficiaven del SIMD tractaven sobretot amb nombres de coma flotant. Progressivament, aquests primers dissenys van ser refinats i refets en alguna de les comunes, modernes especificacions SIMD, que generalment estan associades a un ISA. Alguns exemples moderns notables són el SSE de Intel i el AltiVec relacionat amb el PowerPC (també conegut com a VMX).
Freqüència de rellotge
La majoria de CPU, i de fet, la majoria de dispositius de lògica seqüencial, són de naturalesa síncrona: estan dissenyats i operen en funció d'un senyal de sincronització. Aquest senyal, conegut com a senyal de rellotge, usualment forma part d'una ona quadrada periòdica. Calculant el temps màxim en què els senyals elèctrics es poden moure en les diferents bifurcacions dels circuits d'una CPU, els dissenyadors poden seleccionar un període apropiat pel senyal del rellotge. Aquest període ha de ser més llarg que la quantitat de temps que pren un senyal per moure's, o propagar-se, en el pitjor dels casos.
Referències
Vegeu també
Enllaços externs
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.