Per què la CPU també s'anomena processador?

La Unitat de processament central ( CPU ) o la Processador és la part d' una ordinador sistema que desactiva les instruccions d' un programa d'ordinadors , i és l'element principal que duu a terme les funcions de l'ordinador. Aquest terme s'ha utilitzat com a mínim des dels anys 60 [[ 1]] . El formulari, el disseny i la implementació de CPU han canviat radicalment des dels primers exemples, però la seva operació fonamental segueix sent molt igual.

De vegades es van dissenyar CPU personalitzades com a part d'una de més gran, d'un ordinador. No obstant això, aquest mètode costosament de Disseny La CPU personalitzada per a una aplicació en particular ha donat molt camí al desenvolupament dels processadors de massa proporcionals que es fan per a un o molts propòsits. Aquesta tendència estàndard generalment va començar a l'era de discreta Transistor Planners i miniordinadors i s'ha accelerat ràpidament amb la popularització de la circuit integrat (IC). L'IC ha permès que cada cop més CPU complexes siguin dissenyades i fabricades a toleràncias sobre l'ordre de nanòmetresunit synonyms for matching user input . Tant la miniaturització com l'estàndard de CPU han augmentat la presència d'aquests dispositius digitals de la vida moderna molt més enllà de l'aplicació limitada de màquines de computació dedicats. Els microprocessadors moderns apareixen en tot des de automòbilsunit synonyms for matching user input a telèfons mòbils I les joguines dels nens.

Historial

Ordinadors com ara el ENIAConstellation name (optional) Havia de ser físicament rewit per a realitzar diferents tasques, aquestes màquines són "ordinadors del programa." Atès que el terme "CPU" es defineix generalment com a dispositiu d' execució de programari (ordinador), els primers dispositius que es podrien anomenar CPU amb l' aparició de l' ordinador del programa emmagatzemat.

La idea de l' ordinador del programa ja estava present en el disseny de J. Presper Eckert i John William Maucly L'ACIAC, però va ser omès inicialment perquè la màquina es pogués acabar abans. El 30 de juny de 1945, abans de que l'ENAC s'hagi completat, el matemàtic John von Neumann distribuït el paper titulat " Primer esborrany de l'informe de l'EDVAC ". Va destacar el disseny d'un ordinador del programa emmagatzemat que finalment s'acabaria en l'agost del 1949. [2] . EDVAC va ser dissenyat per realitzar algunes instruccions (o operacions) de diversos tipus. Aquestes instruccions es poden combinar per crear programes útils per executar l'EDVAC. Signifingly, els programes escrits per l'EDVAC es van emmagatzemar a alta velocitat Memòria de l' ordinador En comptes d' especificar el cablejat físic de l' ordinador. Això va fer una forta limitació de l'ENIAC, que va ser el considerable temps i l'esforç necessari per reconfigurar l'ordinador per realitzar una nova tasca. Amb el disseny de von Neumann, el programa o software, que l'EDVAC va poder canviar simplement canviant el contingut de la memòria de l'ordinador. [3]

Mentre von Neumann és més sovint crèditat amb el disseny de l'ordinador del programa emmagatzemat a causa del seu disseny de l'EDVAC, d'altres abans que ell, com ara Konrad Zuse , havia suggerit i implementat idees similars. Els anomenats Arquitectura de Harvard de la Mark de Harvard ICity name (optional, probably does not need a translation) , que va ser completat abans de l'EDVAC, també va utilitzar un disseny del programa emmagatzemat usant Un cop de cinta de paper En comptes de la memòria electrònica. La diferència clau entre la von Neumann i les arquitectures de Harvard és que l'última parteix el magatzem i el tractament de les instruccions de la CPU i les dades, mentre que l'anterior usa el mateix espai de memòria per als dos. La majoria de CPU modernes són principalment von Neumann en el disseny, però també es veuen elements de l'arquitectura de Harvard.

Com a digital El dispositiu, una CPU està limitada a un conjunt d' estats discrets, i requereix algun tipus de canvi d' elements per diferenciar entre i canviar els estats. Abans del desenvolupament comercial del transistor, Entregals elèctriques i tubs d' buit S' utilitzaven com a canvia d' elements. Tot i que hi havia diferents avantatges de velocitat més d'abans, dissenys mecànics purament, eren poc fiables per diverses raons. Per exemple, edifici Actual directe lògica seqüencial Els circuits sortints d'un repetidor requereixen hardware addicional per fer front al problema de Rebot de contacte . Mentre que els tubs de buit no pateixen el rebot de contacte, s'han d'escalfar abans de convertir-se completament operacionals, i finalment deixen de funcionar degut a la lenta contaminació dels seus cathodes que es produeix en el curs de l'operació normal. Si un tub es filtra, com passa a vegades, la contaminació del catòdic s'accelera. Normalment, quan un tub ha fallat, la CPU hauria de ser diagnosticada per localitzar el component fallat per tal que es pugui reemplaçar. Per tant, els ordinadors electrònics electrònics (vacuum basats en el tub) eren generalment més ràpids, però menys fiables que l'elechanèsical (relay▁based) ordinadors.

Ordinadors de Tub com EDVAConstellation name (optional) Abocat a 8 hores de mitjana entre fracassos, mentre que un repetidor d'ordinadors com el (més lent, però abans) Mark de Harvard ICity name (optional, probably does not need a translation) ha fallat molt rarament [[ 1]] . Al final, les CPU basades en tub es van tornar dominant perquè els avantatges significatius de velocitat es van permetre generalment sobrepassant els problemes de fiabilitat. La major part d'aquestes CPU simíncrones va córrer a baix Taxa de rellotge Comparat amb els dissenys moderns (veure més avall per a una discussió de la taxa de rellotge). Galàxies de senyal del rellotge que van passar des de 100 kHz quatre MHz eren molt comuns en aquest moment, limitats en gran mesura per la velocitat dels dispositius de canvi amb què es van construir.

Transistor de Discret i CPU integrat de circuits

La complexitat del disseny de CPU augmentava quan diverses tecnologies van facilitar l'edifici més petits i més fiables dispositius electrònics. La primera millora va arribar amb l'aparició de la Transistor . CPU transsoritzada durant els anys 50 i 60 ja no s'havia de construir fora de la majoresa, fiable i fràgil canvi d' elements com tubs d' buit i Entregals elèctriques . Amb aquesta millora es van construir CPU més complexes i fiables en una o moltes Taulers de circuit imprès contenint components discrets (individual).

Durant aquest període, un mètode de fabricació de molts transistors en una popularitat a l'espai compacte. La circuit integrat ( IC ) permès un gran nombre de transistors a crear en un sol semiconductor - Basada morir , o "chip." Al principi només circuits digitals molt bàsics com ara portes NOR Van ser miniatruitzats a IC. Les CPU es basen en aquest bloc de construcció "ICs" generalment es refereixen a com a "integració a escala petita" ( SSI dispositius ). SSICs, com els que s'utilitzaven en el Ordinador d' orientació de l'Apol· lació , normalment conté el transistor compta amb múltiples de deu. Per construir tota una CPU de SSIC requereix milers de fitxes individuals, però encara consumeix menys espai i poder que els dissenys discrets anteriors. A mesura que es va avançar la tecnologia microelecció, es van posar un creixent nombre de transistors a IC, per tant van reduir la quantitat d'individus IC per a una CPU completa. MSI i LSI L'IC compta amb centenars, i després milers.

El 1964 IBM Va presentar la seva Sistema/360 arquitectura de l' ordinador usada en una sèrie d'ordinadors que podrien executar els mateixos programes amb velocitat i rendiment diferent. Això era significatiu en un moment en què la majoria d'ordinadors electrònics eren incompatibles amb un altre, fins i tot els que van fer pel mateix fabricant. Per facilitar aquesta millora, IBM va utilitzar el concepte d'un microprogramari (often anomenat "code codi "), que encara veu l' ús extensiu en les CPU modernes [4] . L' arquitectura del sistema/360 era tan popular que dominava la Ordinador de l'ordinador principal El mercat durant dècades i va deixar un llegat que encara segueix amb ordinadors moderns semblants com ara IBM zSeriesCity name (optional, probably does not need a translation) . El mateix any (1964), Company de l' equip digital Corporation (DEC) va introduir un altre ordinador influent dirigit al mercat científic i d'investigació, el PDP-8 . DEC es presentaria més tard la extremadament popular PDP- 11 Línia que originalment es va construir amb SSIC però finalment es va implementar amb components LSI quan es van tornar pràctics. En contrast amb els seus predecessors SSI i MSI, la primera implementació LSI de la PDP-11 conté una CPU composta per només quatre circuits integrats LSI [5] .

Els ordinadors basats en transistor tenien diferents avantatges sobre els seus predecessors. A més de l'augment de la fiabilitat i el consum d'energia més baix, els transistors també permeten operar a grans velocitats a causa del temps de canvi curt d'un transitor en comparació amb un tub o un repetidor. Gràcies a tots dos la major fiabilitat així com la velocitat espectacular dels elements de commutació (que eren gairebé exclusivament transistors per aquest temps), les taxes de rellotge de la CPU en les desenes de megahertz s'han obtingut durant aquest període. A més, mentre que els transistor discrets i les CPU IC estaven en ús pesat, nous dissenys d'alta capacitat com SIMD (Instrucció diverses dades) Processadors de vectors Comença d'aparèixer. Aquests primers dissenys experimentals van sorgir més tard a l'època d'especialitats. superordinadors com aquells fets per Cray Inc.

Microprocessadors

La introducció de la microprocessador Als anys 70, s'ha afectat significativament el disseny i l'aplicació de CPU. Des de la introducció de la primera microprocessador disponible comercialment (el Intel 4004 ) el 1970 i el primer microprocessador usat àmpliament (el Intel80 ) el 1974, aquesta classe de CPU té gairebé tots els altres mètodes de implementació de processament central. Desenvolupadors principals i miniordinadors de l'època llançats programes de desenvolupament IC per actualitzar els seus programes de desenvolupament més antics arquitectura de l' ordinador , i finalment va produir instrucció arranjada microprocessadors compatibles amb el seu maquinari i el seu programari més antic. Combinat amb l'aparició i el final d'un gran èxit de l'actual actualisme Ordinador personal El terme "CPU" ara s'aplica gairebé exclusivament als microprocessadors.

Es van implementar generacions anteriors de CPU com a components discrets i nombrosos petits circuits integrats En un o més plaques de circuits. Els microprocessadors, d'altra banda, són CPU fabricades en un nombre molt petit de IC; normalment només un. La mida general de la CPU com a resultat d' implementar- la en una sola mort vol dir canviar el temps a causa dels factors físics com el paradistic de disminuir CapacitonceCity name (optional, probably does not need a translation) . Això ha permès que els microprocessadors sincrons tinguin índex de rellotge des de desenes de megahertz a diversos gigaherz. A més, com l'habilitat de construir supersexuals molt petits d'una IC ha augmentat, la complexitat i el nombre de transistors en una única CPU ha augmentat radicalment. Aquesta tendència molt observada és descrita per La llei de Moore , la qual cosa ha demostrat ser un predictor exacte del creixement de la CPU (i d' altres) la complexitat de la IC) a la data.

Mentre la complexitat, la mida, la construcció i la forma general de CPU han canviat dràsticament durant els últims seixanta anys, no és possible que el disseny bàsic i la funció no hagi canviat gaire. Gairebé totes les CPU comuns d'avui poden ser descrites amb molta precisió com les màquines del programa von Neumann desades al programa. Com que la llei de Moore anterior continua sent activada, s'han presentat preocupacions sobre els límits de la tecnologia transisor integrada del circuit. La freqüència extrema de les portes electròniques està causant els efectes del fenomen com Electrors i Escanejament subterres Per ser molt més significatiu. Aquestes noves preocupacions són entre els molts factors que van causar investigadors per investigar nous mètodes de informàtica com ara el Ordinador quàntica , així com per expandir l'ús de paral· lelisme I altres mètodes que amplien la utilitat del model clàssic von Neumann.

Operació

L' operació fonamental de la majoria de CPU, independentment del formulari físic que prenen, és executar una seqüència d' instruccions desades anomenades un programa. El programa està representat per una sèrie de números que es mantenen en alguna mena de Memòria de l' ordinador . Hi ha quatre passos que gairebé totes les CPU utilitzen en la seva operació: Obtén , Descodificador , executa , i writeback .

El primer pas, Obtén , implica recuperar un instrucció (que és representat per un nombre o seqüència de números) de la memòria del programa. La ubicació en la memòria del programa està determinada per un Comptador de programes (CP), que desa un número que identifica la posició actual del programa. En altres paraules, el comptador del programa manté la pista del lloc de la CPU en el programa actual. Després d' obtenir una instrucció, el PC s' incrementarà amb la longitud de la paraula d' instrucció en termes de les unitats de memòria. [6] Sovint les instruccions a recuperar s' han de recuperar de memòria relativament lenta, fent que la CPU s' aturi mentre s' està esperant que es tornin les instruccions. Aquest problema s'adreça en gran part en processadors moderns per cau i arquitectura de canonada (veure a sota).

L' instrucció que la CPU recupera de la memòria s' usa per a determinar què és la CPU. En el@ info: whatsthis Descodificador step, la instrucció està trencada en parts que tenen significat en altres parts de la CPU. La manera en la qual s' interpreta el valor d' instrucció numèric és definit per l' arquitectura establerta a la CPU ( ISA ). [7] Sovint, un grup de nombres en la instrucció, anomenat l'opcode, indica quina operació realitzar. Les parts restants del número solen proporcionar informació necessària per a aquesta instrucció, com els operands per a una operació de suma. Aquests operands es poden indicar com un valor constant (anomenat un valor immediat), o com a lloc per a localitzar un valor: a S' està registrantThe role of the transaction, in present tense o una adreça de memòria, tal com s' ha determinat per alguns Mode d' adreçació . En els dissenys més antics, les porcions de la CPU responsables de la descodificació d' instruccions eren dispositius de maquinari impossibles. No obstant això, en CPU més abstractes i complicades i ISA, sovint s' utilitza un microprogramari per ajudar a traduir instruccions a diversos senyals de configuració de la CPU. Aquest microprogramat és de vegades regravable per tal que es pugui modificar per canviar la manera com es descodifica la CPU fins i tot després de que s' hagi creat.

Després de la recuperació i el descodificador de passos, els executa El pas es fa. Durant aquest pas, diverses parts de la CPU estan connectades per poder realitzar l'operació desitjada. Si, per exemple, s' ha sol· licitat una operació de suma, una Unitat de lògica aritmètica ( ALU ) es connectarà a un conjunt d' entradas i un conjunt de sortides. Les entrades proporcionen els números a afegir, i les sortides contenen la suma final. L' ALU conté el circuit per a realitzar operacions aritmètica simples i lògiques sobre les dades d' entrada (com l' afegit i Operacions bitwise ). Si l' operació A més produeix un resultat massa gran per a la CPU per a manejar, també es pot establir una bandera aritmètica sobre l' estil d' un registre de banderes.

L'últim pas, writeback , simplement "escrius enrere" els resultats de l' execució de pas a alguna forma de memòria. Sovint els resultats s'escriuen a un registre intern de la CPU per a un ràpid accés per instruccions subsegüents. En altres casos, es poden escriure a més lent, però més barat i més gran, Memòria principal . Alguns tipus d' instruccions manipulen el comptador del programa en comptes de produir dades resultants directament. Aquests són generalment anomenats "jumps" i facilitar el comportament com bucles Execució del programa condicional (a través de l' ús d' un salt condicional), i funcions en programes. [8] Moltes instruccions també canviaran l'estat de dígits en un registre "flags." Aquests indicadors es poden usar per influir en com es comporta un programa, ja que sovint indiquen el resultat de diverses operacions. Per exemple, un tipus d' instrucció "compilada" considera dos valors i estableix un número en el registre de banderes d' acord amb el que és més gran. Aquesta bandera es pot usar després per una instrucció de salt per a determinar el flux del programa.

Després de l' execució de l' instrucció i d'escriure les dades resultants, el procés sencer repeteix, amb el proper cicle d' instruccions normalment recuperació de la instrucció següent degut al valor increment en el comptador del programa. Si la instrucció completa ha estat un salt, el comptador de programes es modificarà per a contenir l' adreça de la instrucció a la que s' ha saltat i l' execució del programa continua normalment. En CPU més complexes que el descrit aquí, es poden recuperar múltiples instruccions, descodificar i executar simultàniament. Aquesta secció descriu el que normalment es refereix com a "l'ISCoducte," que, de fet, és força comú entre les CPU simples usades en molts dispositius electrònics (de vegades s' anomena microcontroller). En gran part ignora el paper important de Memòria cau de la CPU , i per tant la accés A l'escenari de la canonada.

Disseny i implementació

Interval enter

La manera com una CPU Representa números és una elecció de disseny que afecta les maneres més bàsiques de les que funciona el dispositiu. Alguns dels primers ordinadors digitals van fer servir un model elèctric del comú decimal (base deu) Sistema numèric per representar nombres internament. Alguns ordinadors han utilitzat sistemes més exòtics com ara ternaryCity name (optional, probably does not need a translation) (base 3.) Gairebé totes les CPU modernes representen números en binari forma, amb cada dígit representat per alguna quantitat física de dos valors com una "alta" o "lent" voltage . [9]

La representació relacionada amb el nombre és la mida i la precisió dels números que pot representar una CPU. En el cas d'una CPU binària, una bit Es refereix a un lloc significatiu en els nombres que tracta una CPU. El nombre de bits (o números) que una CPU usa per a representar números se sol anomenar " mida de paraula "L' amplada de bit", "amplada del camí de les dades" o la precisió "enteger" en tractar amb números estrictament enters (en oposició al punt flotant). Aquest número difereix de les arquitectures, i sovint en diferents parts de la mateixa CPU. Per exemple, un 8 bits@ label: textbox Tracta la CPU amb un interval de números que es poden representar per vuit dígits binaris (cada dígit té dos valors possibles), això és, 2 8 o 256 números discrets. En efecte, la mida enter estableix un límit de maquinari en l' interval d' enters el programari que s' executa per la CPU pot usar. [10]

L' interval sencer també pot afectar el nombre de localitzacions en memòria que la CPU pot adreça (locate). Per exemple, si una CPU binària utilitza 32 bits per representar una adreça de memòria, i cada adreça de memòria representa una octet (8 bits), la quantitat màxima de memòria que la CPU pot abordar és 2 32 octets, o 4 GiB . Aquesta és una vista molt simple de la CPU espai d' adreça , i molts dissenys utilitzen mètodes de referència més complexes com paginant per a localitzar més memòria que el seu abast enter permetia amb un espai pla d' adreces.

Els nivells més alts de l' abast enter necessiten més estructures per tractar amb els dígits addicionals, i, per tant, més complexitat, mida, ús de poder i despeses generals. No és gens estrany, per tant, veure 4 o 8- bits microcontroladors S'utilitza en aplicacions modernes, tot i que les CPU amb molt més alt abast (com 16, 32, 64, fins i tot en 128 bits) estan disponibles. Els microcontroladors més senzills solen ser més barats, usen menys poder, i per tant desordenant menys calor, tots poden ser consideracions de disseny importants per als dispositius electrònics. No obstant això, en aplicacions més elevades, els beneficis que s' han aconseguit per mitjà de l' interval extra (normalment l' espai d' adreces addicional) són més significatius i sovint afecten les opcions de disseny. Per aconseguir alguns dels avantatges que s'han permès tant per longituds més baixes com per més alts, molts CPU estan dissenyats amb diferents longituds d'amplada per diferents parts del dispositiu. Per exemple, IBM Sistema/370 Usa una CPU que va ser principalment 32 bits, però va usar una precisió de 128 bits dins del seu Punt flotant Unitats per facilitar la precisió i l' interval en els números de coma flotant [4] . Molts dissenys de la CPU més tard usen una amplada mixta similar, especialment quan el processador es refereix a l' ús general de difusió on es requereix un balanç raonable d' un enter i una capacitat de puntuació flotant.

Taxa de rellotge

La majoria de CPU, i de fet, la majoria lògica seqüencial dispositius, són síncrona en la natura. [11] És a dir, estan dissenyats i operen les suposicions sobre un senyal de sincronització. Aquest senyal, conegut com a Senyal del rellotge , normalment pren la forma d'un periòdic ona quadradaunit synonyms for matching user input . En calcular el temps màxim que els senyals elèctriques poden moure' s en diverses branques dels molts circuits d' una CPU, els dissenyadors poden seleccionar un valor apropiat Període pel senyal del rellotge.

Aquest període ha de ser més llarg que la quantitat de temps que triga a moure un senyal, o propagar, en el pitjor dels casos. En establir el període del rellotge a un valor bé per sobre del cas pitjor Retard de la propagació , és possible dissenyar tota la CPU i la manera com mou les dades al voltant de "ges" de l'aixecament i cau el senyal del rellotge. Això té l'avantatge de simplificar la CPU significativament, tant des d'una perspectiva de disseny com una perspectiva de components. No obstant això, també porta el desavantatge que tota la CPU ha d'esperar en els seus elements més lents, tot i que algunes parts són molt més ràpides. Aquesta limitació s'ha compensat en gran mesura per diversos mètodes d'augment del paral·lelisme de la CPU. (veure a baix)

No obstant això, les millores arquitectòniques només no resolen tots els inconvenients de CPU sinòcrona globalment. Per exemple, una senyal del rellotge està sotmesa als retards de qualsevol altra senyal elèctrica. Els índexs de rellotge més alts en CPU complexes fan que sigui més difícil mantenir el senyal del rellotge en fase (syncitzat) a tota la unitat. Això ha portat a moltes CPU modernes per a requerir múltiples senyals de rellotge idèntics per tal d' evitar retardar un senyal únic significativament suficient per a causar que la CPU funcioni. Un altre tema important com a taxes de rellotge augmenta radicalment és la quantitat de calor que es desintegra per la CPU. El rellotge canviant constantment fa que molts components canviïn sense importar si s' usen en aquest moment. En general, un component que canviarà utilitza més energia que un element en un estat estàtic. Per tant, a mesura que la taxa de rellotge augmenta, de manera que fa la dissipació de calor, causant que la CPU requereixi solucions més efectives.

Un mètode de tractar amb el canvi de components no necessaris s' anomenen Gravació del rellotge , que implica apagar el senyal del rellotge per als components innecessàries (nefectivament deshabilitant- los). No obstant això, això sovint es considera tan difícil d'implementar i, per tant, no es veu un ús comú fora de dissenys de baixa potència. Un disseny de la CPU que utilitza el rellotge de repetició és la de l' IBM PowerPCLanguage - Basada Xbox 360 . Utilitza una gran varietat de rellotges per tal de reduir els requeriments d'una consola de videojocs que s'utilitza. [12] Un altre mètode de tractar alguns dels problemes amb una senyal del rellotge global és l'eliminació del senyal del rellotge del tot. En eliminar la senyal del rellotge global fa que el procés de disseny sigui considerablement més complex en molts aspectes, els dissenys asíncrons (o sense rellotge) porten avantatges marcats en el consum de poder i la dissipació de calor en comparació amb dissenys sinòcrons similars. Encara que una mica estrany, tot CPU asíncrona S'ha construït sense utilitzar una senyal global del rellotge. Dos exemples d'això són els ARM Concommible AUMUX i el MIPS R300 compatible amb MiniMIPS. En comptes d' eliminar totalment la senyal del rellotge, alguns dissenys de CPU permeten certes porcions del dispositiu ser asíncrones, com ara usar asíncrona ALUsCity name (optional, probably does not need a translation) en conjunció amb paral·lel al supercalar per assolir alguns guanys d'aritmètica. Encara que no és del tot clar si els dissenys absoluts poden realitzar a un nivell comparable o millor que els seus homòlegs sincrons, és evident que fan almenys notables en operacions matemàtiques més simples. Això, combinat amb el seu excel·lent consum d'energia i propietats de dissipació de calor, fa que sigui molt adequat per a ells. Ordinadors encastats [13] .

Paral· lelisme

La descripció de l' operació bàsica d' una CPU ofert a la secció anterior descriu la forma més simple que pot prendre una CPU. Aquest tipus de CPU, normalment es refereix a subcalar , opera i executa una instrucció en una o dues peces de dades alhora.

Aquest procés dóna lloc a una infificència inherent a les CPU subcalar. Des de només s' executa una instrucció en un moment, tota la CPU ha d' esperar que aquesta instrucció acabi abans de procedir a la següent instrucció. Com a resultat, la CPU subcalar es posa "ung amunt" en instruccions que prenen més d'un cicle de rellotge per completar l'execució. Fins i tot afegir una segona unitat d' execució (veure a sota) no millora gaire el rendiment, en comptes de que una ruta que està sent penjat, ara es penja dues vies i el nombre de transistors no utilitzats s' incrementa. Aquest disseny, on els recursos d' execució de la CPU poden operar només una instrucció a la vegada, només es pot arribar a l' abast EsquilarCity name (optional, probably does not need a translation) rendiment (una instrucció per rellotge). No obstant això, l'actuació és gairebé sempre subscalar (menys d'una instrucció per cicle).

Intenta aconseguir un rendiment esquirat i millor han resultat en una varietat de mètodeologies de disseny que causen que la CPU es comporti menys linealment i més en paral·lel. En referir-se al paral·lelisme a les CPU, normalment s'utilitzen dos termes per classificar aquestes tècniques de disseny. Nivell d' instrucció paral· lelisme (ILP) cerca augmentar la taxa a les quals s' executen instruccions dins d' una CPU (això és, per augmentar l' ús dels recursos d' execució), i Nivell de fil paral· lelisme (TLP) objectiu augmentar el nombre de fils ( programes individuals efectiu) que una CPU pot executar simultàniament. Cada metodologia difereix de les dues maneres en què estan implementades, així com l'eficàcia relativa que se'ls permet augmentar l'actuació de la CPU per a una aplicació. [14]

Nivell d' instrucció paral· lelisme

Un dels mètodes més simples que s'utilitzen per aconseguir el paral·lelisme és començar les primeres passes de la recuperació d' instruccions i la descodificació abans de l' execució de les instruccions anteriors. Aquesta és la forma més simple d' una tècnica coneguda com instrucció paral· lelisme , i s'usa en gairebé totes les CPU generals modernes. El conducte de canonades permet executar més d' una instrucció en qualsevol moment que es trenqui la ruta d' execució en fases discrets. Aquesta separació es pot comparar amb una línia d'assemblament, en la qual es completa una instrucció a cada etapa fins que surti de la canonada d'execució i es retira.

De tota manera, el conducte de canonades introdueix la possibilitat d' una situació en la qual es necessita el resultat de l' operació anterior per completar la següent operació, una condició amb freqüència en conflicte amb la dependència de dades. Per fer front a això, cal tenir cura addicional per comprovar aquesta mena de condicions i retardar una porció de la canonada d' instruccions si això succeeix. Naturalment, aconseguir això requereix circuits addicionals, per tant, els processadors canonadas són més complexos que els subcalars (encara que no molt significativament). Un processador de canonades es pot convertir en molt gairebé esquilar, inhibit només per escarregadors de canonades (una instrucció passa més d'un cicle de rellotge en una etapa).

Més millora sobre la idea del paral· lelisme d' instruccions va portar al desenvolupament d' un mètode que disminueix el temps inactiu dels components de la CPU fins i tot més lluny. Dissenys que s' han de dir a ser supercalar Inclou una canonada d' instruccions llargues i múltiples unitats d' execució idèntiques. [15] En una canonada supercalar, hi ha diverses instruccions que es llegeixen i passen a un enviament, que decideix si es poden executar o no en paral· leles (simultosament). Si s'envien a les unitats d'execució disponibles, resultants en l'habilitat d' executar diverses instruccions simultàniament. En general, les instruccions més a una CPU supercalar és capaç d'enviar alhora a les unitats d'execució, les instruccions es finalitzaran en un entorn donat.

La major part de la dificultat en el disseny d'una arquitectura de CPU supercalar es troba en crear un enviament efectiu. L'enviament necessita ser capaç de determinar automàticament i correctament si les instruccions es poden executar en paral· lela, així com enviar- les d' aquesta manera per mantenir tantes unitats d' execució ocupats com sigui possible. Això requereix que la canonada d' instruccions s' omple tan sovint com sigui possible i que dóna la necessitat de les arquitectures supercalar per a quantitats importants de Memòria cau de la CPU . També fa Risc - Marques com tècniques d'avoides predicció de la branca , Execució espepeculi , i Execució fora de l' execució de l' ordre crucial per mantenir alts nivells de rendiment. Per intentar predir quina branca (o camí) s' agafarà una instrucció condicional, la CPU pot minimitzar el nombre de vegades que la canonada ha d' esperar fins que s' hagi completat una instrucció condicional. L' execució Specutiu sovint proporciona un increment modest de rendiment executant porcions de codi que poden o no ser necessàries després de completar una operació condicional. S'ha de reduir l'execució de l'ordre de les instruccions que s' executen per reduir els retards degut a les dependències de dades. També en el cas de simples instruccions múltiples Dades - un cas en què s'ha de processar moltes dades del mateix tipus, els processadors moderns poden deshabilitar parts de la canonada de manera que quan s' executi una única instrucció, la CPU salta les fases de recuperació i es descodifica i, per tant, un gran rendiment en certes ocasions, especialment en motors de programa altament monoton com el software de creació de vídeo i el procés fotogràfic.

En el cas en què una part de la CPU és supercalar i part no és, la part que no pateix una pena de rendiment degut a les places de planificació. L' Intel· ligència P5 Pentiu Tenia dos supercalar ALUs que podria acceptar una instrucció per rellotge cada, però la seva FPU no podia acceptar cap instrucció per rellotge. Així el P5 era el supercalar sencer, però no el punt flotant supercalar. El successor d'Intel de l'arquitectura P5, P6 , afegeix noves capacitats de supercalar a les seves característiques de punt flotant, i per tant va permetre un augment significatiu en el rendiment d' instrucció flotant.

El paral· lelisme i el disseny supercalar augmenten una ILP de la CPU permetent que un únic processador acabi l' execució d' instruccions a les taxes que superen una instrucció per cicle ( IPCLanguage ). [16] La majoria dels dissenys de la CPU modernes són almenys supercalars, i gairebé tots els CPU generals dissenyats en l'última dècada són súpercalars. En anys després, alguns de l'èmfasi en dissenyar ordinadors d'alta ILP s'han mogut fora del maquinari de la CPU i en la seva interfície de programari, o ISA. L'estratègia de la Paraula d' instrucció molt llarga (VIW) fa que alguna ILP es faci implícitament amb el programari, reduint la quantitat de treball que la CPU ha de dur a empènyer ILP i reduir la complexitat del disseny.

Nivell paral· lisme del fil

Una altra estratègia d'aconseguir rendiment és executar múltiples programes o fils en paral·lel. Aquesta àrea d'investigació es coneix com càlcul paral· lel . Entrada La taxonomia d'en Flynn , aquesta estratègia es coneix com a múltiples instruccions-formades o MMIMD.

Una tecnologia usada per a aquest propòsit era S' està multiprocessantThe role of the transaction, in present tense (MP). El sabor inicial d'aquesta tecnologia es coneix com multiprocessat simètric (SMP), on un petit nombre de CPU comparteixen una visió coherent del seu sistema de memòria. En aquest esquema, cada CPU té maquinari addicional per a mantenir una vista permanent de la memòria. Per evitar vistes dures de memòria, les CPU poden cooperar en el mateix programa i els programes poden migrar d' una CPU a una altra. Per augmentar el nombre de CPU cooperades més enllà d' un grapat, esquemes com Accés a memòria no uniforme (NUMA) i Protocols de coherència basada en directoris Es van presentar als anys 90. Els sistemes SMP estan limitats a un petit nombre de CPU mentre els sistemes NUMA s'han construït amb milers de processadors. Al principi, es va construir multiprocessant usant múltiples CPU discretes i plaques per implementar la interconnexió entre els processadors. Quan els processadors i la seva interconnexió estan implementats en un únic xip de silici, la tecnologia es coneix com a multi-core microprocessador.

Més tard es va reconèixer que l'el·lelisme ben fi-grans existeix amb un únic programa. Un únic programa pot tenir diversos fils (o funcions) que es poden executar separadament o en paral· lel. Alguns exemples més primers d'aquesta tecnologia implementats entrada/ sortida S' està processant com ara Accés directe de memòria com a fil separat del fil de càlcul. S'ha introduït un enfocament més general a aquesta tecnologia als anys 70 quan es van dissenyar sistemes per executar múltiples fils de càlcul en paral·lel. Aquesta tecnologia és coneguda com multi- lectura (MT). Aquesta aproximació es considera més efectiu que el procés multiprocessant, com que només es replica un petit nombre de components dins d' una CPU per tal de donar suport a la MT en oposició a tota la CPU en el cas de l'MP. A MT, les unitats d' execució i el sistema de memòria que inclouen les cau es comparteixen entre múltiples fils. La més baixa de la MT és que el funcionament del maquinari per a la multifilació és més visible per a software que això de MP i, per tant, el supervisor del programari com el sistema operatiu han de respectar els canvis més grans per a recolzar el MT. Un tipus de MT que s' ha implementat és conegut com a bloc multifiling, on s' executa un fil fins que s' aturin les dades a tornar de la memòria externa. En aquest esquema, la CPU canviarà ràpidament a un altre fil que està preparat per executar- lo, el canvi sovint fet en un cicle de rellotge de CPU, com ara el UltraSPARC La tecnologia. Un altre tipus de MT es coneix com Multifilisme simultaniKCharselect unicode block name , on s' executen instruccions de múltiples fils en paral· leles dins d' un cicle del rellotge de CPU.

Durant diverses dècades des dels anys 70 a principis dels 2000, el focus en el disseny de altes CPU generals de rendiment va ser en gran mesura aconseguir alta ILP a través de tecnologies com paral·lels, cau, execució supercalar, execució de l'execució de l'execució, etc. Aquesta tendència culminada en grans, CPU de poder com la Intel·ligència Pentiu 4 . A principis de 2000, els dissenyadors de la CPU es van reduir d'aconseguir un major rendiment des de les tècniques ILP degut a la desparitat creixent entre les freqüències operatius de la CPU i les freqüències de memòria principals, així com l'augment de la potència de la CPU degut a més tècniques eòtèdices iLP.

Els dissenyadors de CPU van agafar idees dels mercats d'informàtica comercials, com ara S' està processant la transaccióThe role of the transaction, in present tense , on el rendiment de múltiples programes, també conegut com a través de rendiment informàtica, era més important que l'actuació d'un sol fil o programa.

Aquesta reversitat d' èmfasi és provada per la prol·leccionació de dual i múltiple dissenys de nucli CMP (xip- level multiprocessant) i, de fet, els dissenys més nous de l'Intel·ligència s'assemblen al seu supercalar P6 arquitectura. Dissenys tardos en diverses famílies de processadors mostren CMP, incloent-hi el x86- 64 OpteronCity name (optional, probably does not need a translation) i Athlon 64 X2 , the SPARConstellation name (optional) UltraSPARC T1 , IBM POWER4 i POWER5 , així com altres Consola de videojocs CPU com ara les Xbox 360 El disseny del 'core PowerPCP de triple potència, i el PS3 's 7-core microprocessador de cèl· lules .

Dades paral· lelisme

Un paradigma menys comú però cada cop més important de CPU (i de fet, informàtica en general) tracta d'un paral·lel de dades. Els processadors es van discutir abans es refereixen a un tipus de dispositiu d'estretlar. [17] Com el nom implica, els processadors vectorials tracten amb múltiples peces de dades en el context d' una instrucció. Aquest contrast amb processadors d'esquilar, que tracten amb un tros de dades per a cada instrucció. Usar La taxonomia d'en Flynn , aquests dos esquemes de tractar amb dades es refereixen generalment a SISD (Investrucció única, dades única) i SIMD (Investrucció única, múltiples dades), respectivament. La gran utilitat per a crear CPU amb vectors de dades es troben en tasques optimitzadores que tendeixen a necessitar la mateixa operació (per exemple, una suma o una a) Producte d' alt ) a realitzar en un gran conjunt de dades. Alguns exemples clàssics d' aquests tipus de tasques són multimèdia Aplicacions (imatges, vídeo i so), així com molts tipus de científic I tasques d'enginyeria. Mentre que una CPU esquilar ha d' completar tot el procés de recuperació, descodificació, i executar cada instrucció i valor en un conjunt de dades, una CPU vectorial pot realitzar una única operació en un conjunt de dades comparades amb una instrucció. Per descomptat, això només és possible quan l' aplicació tendeix a necessitar molts passos que s' apliquen una operació a un gran conjunt de dades.

CPU de vectors més primerencs, com ara Cray- 1 , es van associar gairebé exclusivament a la recerca científica i Criptografia Aplicacions. No obstant això, com a multimèdia s'ha desplaçat en gran mesura als mitjans digitals, la necessitat d'alguna forma de SIMD en general-puri CPU ha esdevingut significativa. Poc després Unitats d' execució flotant Va començar a ser comunament comú per incloure en processadors general-purposats, especificacions de i implementacions de unitats d'execució SIMD també van començar a aparèixer per a CPU general-positives. Algunes d' aquestes especificacions de SIMD com ara HP' s Acceleració multimèdia eXtensions (MAX) i 'Intel' MMX Només era un enter. Això va resultar ser un impuls significatiu per a alguns desenvolupadors de programari, ja que moltes de les aplicacions que beneficien de l'acord SIMD principalment amb Punt flotant Números. progressivament, aquests primers dissenys van ser refinats i es van tornar a fer en algunes de les especificacions comunes, modernes SIMD, que normalment estan associades amb una ISA. Alguns exemples moderns no moderns són "Intel " SSEwind direction i la connexió amb el PowerPC AltaiVecCity name (optional, probably does not need a translation) (també conegut com a VMX). [18] També s' anomena taxa de rellotge, la velocitat a la que un microprocessador executa instruccions. Cada ordinador conté un rellotge intern que regula la taxa en la que s' executen les instruccions i sincronitza tots els diversos components de l' ordinador. La CPU requereix un nombre fix de marques de rellotge (o cicles de rellotge) per executar cada instrucció. Com més ràpid sigui el rellotge, més instruccions que la CPU pot executar per segon.

Rendiment

La rendiment o velocitat d'un processador depèn de l'E.g. la taxa de rellotge i les instruccions Per Rellotge (IPC), que junts són els factors per al Instruccions per segon (IPS) que la CPU pot realitzar. [19] Molts dels valors IPS han representat les taxes d'execució "peak" de seqüències d' instruccions artificials amb poques branques, mentre que els carregadors realistes consisteixen en una barreja d' instruccions i aplicacions, alguns dels quals tenen més temps d'executar que d'altres. L'actuació de la jerarquia de memòria També afecta molt el rendiment del processador, un problema amb prou feines considerat en càlculs MIPS. A causa d'aquests problemes, diverses proves estandarditzat com GLEPERConstellation name (optional) s' ha desenvolupat per intentar mesurar el rendiment real en aplicacions usades habitualment.

El processament de l' ordinador s' incrementa usant Processadors multicore , que bàsicament està connectant dos o més processadors individuals (anomenats nuclisunit synonyms for matching user input en aquest sentit) en un circuit integrat . [20] L'ideal seria que un processador de nucli dual seria el doble de poderós com un simple processador de nucli. En la pràctica, però, el guany de l'actuació és molt menys, només un 50 per cent. [20] A causa de, p.g. Algorismes de programari imperfect i implementació.

  • ValparaísoCity name (optional, probably does not need a translation) Mentre que l'EDVAC va ser dissenyat uns quants anys abans de construir-se l'ACIAC, l'ACIAC estava realment retribuït per executar programes emmagatzemats el 1948, una mica abans que l'EDVAC s'hagi completat. Per tant, LENIAC va convertir-se en un ordinador de programa emmagatzemat abans de que l'EDVAC s'hagi completat, tot i que les capacitats emmagatzemades del programa es van eliminar originalment del disseny de l'ENIAC a causa del cost i les preocupacions de planificació.
  • ValparaísoCity name (optional, probably does not need a translation) Des del comptador del programa compta Adreces de memòria i no instruccions. L' increment del nombre d' unitats de memòria que conté la paraula d' instrucció. En el cas d'una simple paraula d'avaluació fixada ISAs, això sempre és el mateix nombre. Per exemple, una paraula d' instrucció de 32 bits fixa queSA usa paraules de memòria de 8 bits sempre incrementaria el PC a 4 (excepte en el cas de salts). ISAs que utilitzen les paraules d' instrucció variable, incrementa el PC pel nombre de paraules de memòria corresponents a la longitud de l' última instrucció.
  • ValparaísoCity name (optional, probably does not need a translation) Perquè l'arquitectura establerta d' instrucció d' una CPU és fonamental a la seva interfície i ús, sovint s' usa com a classificació del tipus de CPU. Per exemple, una " CPUPCP" usa alguna variant del CTP ISA. Un sistema pot executar una ISA diferent executant un emulador.
  • ValparaísoCity name (optional, probably does not need a translation) Alguns ordinadors primers com la Marka de Harvard que no van donar suport a cap tipus d' instrucció "jump," limitant efectivament la complexitat dels programes que podrien executar. És en gran mesura per aquesta raó que aquests ordinadors no es consideren sovint que contenen una CPU adequada, malgrat la seva similitud com a ordinadors de programa emmagatzemats.
  • ValparaísoCity name (optional, probably does not need a translation) El concepte físic de voltage és anàleg un per la seva naturalesa, pràcticament tenint un interval infinit de possibles valors. Per a l' propòsit de la representació física dels números binaris, es defineixen intervals de volatges com a un o zero. Aquests intervals normalment estan influenciats pels dissenys de circuit i paràmetres operatius dels elements de canvi emprats per crear la CPU, com ara un Transistor El nivell de llindar.
  • ValparaísoCity name (optional, probably does not need a translation) Mentre que la mida enter de la CPU estableix un límit en intervals enters, això pot (i sovint) superarà usant una combinació de programari i tècniques de maquinari. Utilitzant memòria addicional, el programari pot representar enters de magnituds molt més grans que la CPU pot. A vegades, l'ISA fins i tot facilitarà les operacions en enters més grans del que pot representar natiument les instruccions per fer grans aritmètica a l' enter relativament ràpida. Mentre que aquest mètode de tractar amb grans enters és una mica més lent que usar una CPU amb una mida més alta dels enters, és un sacrifici raonable en casos en què el nivell natiu dóna suport a tot el nombre sencer necessari seria cost-prohibitiu. Veure Arbitari-precisió aritmètica Per a més detalls sobre enters de programari implementats de manera pura.
  • ValparaísoCity name (optional, probably does not need a translation) De fet, totes les CPU sincrones utilitzen una combinació de lògica seqüencial i lògica de combinacióKCharselect unicode block name . (Mira.) lògica booleana )
  • ValparaísoCity name (optional, probably does not need a translation) Cap ILP ni TLP és inherentment superior a l'altre; simplement són diferents mitjans pels quals incrementar el paral· lelisme de CPU. Per això, tots dos tenen avantatges i desavantatges, que sovint estan decidits pel tipus de programari que el processador té previst executar. Les CPU d'alt TLP sovint s'utilitzen en aplicacions que s'han d'utilitzar bé per separar-se a moltes aplicacions més petites, així que s'anomena "-" paral· lela vergonyósment paral· lel Problemes. Més sovint, un problema computacional que es pot resoldre ràpidament amb estratègies de disseny d'alta TLP com SMP prendre més temps en aparells d'alta ILP com CPU supercalar, i viceversa.
  • ValparaísoCity name (optional, probably does not need a translation) L'escenari del millor cas (o pic) és difícil de mantenir les arquitectures de supercalar ja que és impossible mantenir les instruccions omplides tot el temps. Per tant, en CPU molt supercalar, la mitjana de CPN es parla sovint més que el pic IPC.
  • ValparaísoCity name (optional, probably does not need a translation) A començaments del terme s' utilitza per comparar el CP (instroducció per cicle) compte signat per diversos mètodes ILP. Aquí el terme s' usa en el sentit estrictament matemàtic per a contrastar amb vectors. Veure Esquilar (mètics) i Vector (geomètric) .
  • ValparaísoCity name (optional, probably does not need a translation) Tot i que SSE/SSE2/SSE3 han substituït MMX a les CPU generals de l' Intel· ligència, més endavant IA- 32 Els dissenys encara accepten el MX. Això s' aconsegueix habitualment proporcionant la major part de la funcionalitat MMX amb el mateix maquinari que dóna suport a les instruccions més expansives SSE.
  • ARM Ltd - ARM Ltd , un dels pocs dissenyadors de CPU que només beneficien la llicència dels seus dissenys en comptes de fabricar-los. arquitectura ARM Els microprocessadors són entre les més populars del món per a les aplicacions incrustades.

Artículos Relacionados:

- Processador -

Esta web usa cookies, puedes ver la política de cookies, aquí -
Política de cookies +