Els ordinadors que executen més instruccions per segon necessàriament més ràpid?

Per què, per exemple, un 266 GHz dual-core Core i5 és més ràpid que un 266 GHz Core 2 Duo, que també és dual?

És per instruccions noves que poden processar informació en menys cicles del rellotge? En quins altres canvis d'arquitectura hi ha?

Aquesta pregunta apareix sovint i les respostes solen ser iguals. Aquest article està destinat a proporcionar una resposta definitiva i canònica per a aquesta pregunta. Tingueu lliure d' editar les respostes per afegir detalls addicionals.

Dissenyar un processador per a proporcionar un alt rendiment és molt més que l'augment de la taxa de rellotge. Hi ha moltes altres maneres d'augmentar el rendiment, habilitar a través de la llei i l'instrument de Moore al disseny dels processadors moderns.

Les taxes de rellotge no poden augmentar indefinidament.

A primera vista, pot semblar que un processador simplement executa un flux d' instruccions després d'un altre, amb el rendiment augmenta a través de les taxes de rellotge més altes. No obstant això, l'augment de la taxa de rellotge no és suficient. Augmenta el consum d'energia i la producció de calor com a taxa de rellotge.

Amb taxes de rellotge molt elevat, augment significatiu de La unió del nucli de la CPU Que sigui necessari. Perquè el TDP augmenta amb el quadrat de la V nucliNote this is a KRunner keyword Finalment arribem a un punt en què el consum d'energia excessiva, la producció de calor, i els requisits de refrigeració impedeixen que s'incrementin més en el ritme del rellotge. Aquest límit s'ha assolit l'any 2004, en els dies del Pentiui 4 PrescottCity name (optional, probably does not need a translation) . Mentre que les millores recents en l'eficiència del poder han ajudat, l'augment significatiu de la taxa de rellotge ja no és viable. Veure: Per què els fabricants de la CPU han aturat cada cop més la velocitat del rellotge dels seus processadors?

Gràfica de velocitats del rellotge de borsa en PC entusiasta tallant durant els anys. Font de la imatge

  • A través La llei de Moore , una observació que diu que el nombre de transistors en un circuit integrat es doblarà cada 18 a 24 mesos, principalment com a resultat de mor els psiquiatres , una varietat de tècniques que s' han implementat per incrementar el rendiment. Aquestes tècniques s'han refinat i perfeccionades durant aquests anys, fent que s' executin més instruccions durant un període de temps determinat. Aquestes tècniques es discuteixen a continuació.

Sovint es poden paral· lelar els fluxos d' instruccions seqüencials.

  • Tot i que un programa pot consistir en una sèrie d' instruccions per executar-ne un rere l'altre, aquestes instruccions, o parts d'allà, sovint es poden executar simultàniament. Això s'anomena Nivell d' instrucció paral· lelisme (ILP) . L'explotació de la ILP és vital per assolir un alt rendiment, i els processadors moderns usen moltes tècniques per fer-ho.

Trencar instruccions en peces més petites que es poden executar en paral· leles.

Cada instrucció es pot dividir en una seqüència de passos, cadascuna de les quals s' executa per una part separada del processador. paral· lelisme d' instrucció Permet múltiples instruccions a través d'aquests passos un rere un altre sense haver d' esperar que cada instrucció acabi completament. La recollida permet taxes de rellotge més altes: tenint un pas de cada instrucció completa en cada cicle del rellotge, menys temps es necessitaria per cada cicle que si totes les instruccions s' han de completar d' un en un.

La Preducció clàssica de RISC conté cinc fases: instrucció agafada, descodificada, execució d' instrucció, accés de memòria i escriptura. Els processadors moderns trenquen l'execució en molts més passos, produint una canonada més profunda amb més fases (i incrementar les taxes de rellotge com cada etapa és més petita i triga menys temps a completar-se), però aquest model hauria de proporcionar una comprensió bàsica de com funciona el paral· lelisme.

No obstant això, el paral· lelisme pot introduir riscos que s' han de resoldre per assegurar l' execució correcta del programa.

Perquè diferents parts de cada instrucció s' executen al mateix temps, és possible que els conflictes que interfereixin amb l' execució correcta. Aquests són anomenats Riscs . Hi ha tres tipus de riscos: dades, estructural i control.

Riscs de dades Passa quan les instruccions llegeixen i modifiqueu les mateixes dades alhora o en l' ordre equivocat, potencialment comportant- se als resultats incorrectes. Riscs estructurals Passa quan múltiples instruccions han d' usar una part en particular del processador alhora. Riscs de control Passa quan s' ha trobat una instrucció condicional.

Aquests riscos es poden resoldre de diverses maneres. La solució més simple és simplement aturar la canonada, posant temporalment l'execució d'una o instruccions a la canonada per assegurar resultats correctes. Això s' evita sempre que sigui possible perquè redueix l'actuació. Per risc de dades, tècniques com Redirecció d' operand S'usa per reduir els llocs. Els riscos del control es gestionen a través predicció de la branca , que requereix tractament especial i està coberta a la següent secció.

La predicció de la branca s'utilitza per resoldre els riscos de control que poden desactivar tota la canonada.

Riscs de control, que succeeixen quan a branca condicionalStencils S'ha trobat, és particularment seriós. Les branques introdueixen la possibilitat que l' execució continuï en un altre lloc en el programa en comptes de simplement les següents instruccions en el flux d' instruccions, basant- se en si una condició en particular és certa o falsa.

Perquè la següent instrucció a executar no es pot determinar fins que s' avalua la condició de la branca, no és possible inserir cap instruccions a la canonada després d' una branca en absència. La canonada està buidada per tant ( Estirat ) que pot malgastar gairebé tants cicles de rellotge com hi ha fases a la canonada. Les branques tendeixen a succeir molt sovint en programes, així que el control dels riscos pot provocar un rendiment de processador greu.

predicció de la branca Adreces d'aquesta qüestió suposant si es prendrà una branca. La manera més simple de fer-ho és simplement per assumir que les branques sempre es prenen o mai s'han pres. No obstant això, els processadors moderns utilitzen molt més tècniques sofisticades per a una major precisió de predicció. En essència, el processador manté la pista de branques anteriors i utilitza aquesta informació de diverses maneres per predir la següent instrucció a executar. La canonada pot ser alimentada amb instruccions des de la ubicació correcta basant-se en la predicció.

Per descomptat, si la predicció està malament, les instruccions que es posen a través de la canonada després de caure la branca, i per tant, si s'ha de revertir qualsevol canvi per aquestes instruccions. Com a resultat, l'exactitud de la branca predictor es torna cada cop més crítica quan les canonades són més llargues i més llargues. Les tècniques de predicció específiques són més enllà de l' àmbit d'aquesta resposta.

Les memòria cau s' usen per accelerar els accessos de memòria.

Els processadors moderns poden executar instruccions i processar dades molt més ràpides del que es pot accedir a la memòria principal. Quan el processador ha d' accedir a la RAM, l' execució pot parar durant llargs períodes de temps fins que les dades estiguin disponibles. Cal mitigar aquest efecte, petites àrees de memòria d' alta velocitat anomenades Memòria cau S'inclou en el processador.

A causa de l'espai limitat disponible en el processador mor, els caus són de mida molt limitada. Per a fer la majoria d' aquesta capacitat limitada, la memòria cau tan sols desa les dades més recentment o freqüentment que s' accedeixen ( Localitat temporal ). A mesura que els accessos de memòria tendeixen a ser agrupats en àrees particulars ( Localitat espacial ), els blocs de dades prop del que s' accedeix recentment també es desen a la memòria cau. Veure: Localitat de referència

Els llocs cau també estan organitzats en múltiples nivells de mida variable per a optimitzar el rendiment com a cau més gran tendeix a ser més lent que les cau menors. Per exemple, un processador pot tenir un cau de nivell 1 (L1) que és només 32 KB en mida, mentre que el seu nivell 3 (L3) cau pot ser de diverses megabytes grans. La mida de la memòria cau, així com la Asssociativitat de la memòria cau, que afecta a com gestiona el processador la substitució de dades en una memòria cau completa, un impacte significativament el guany de rendiment que s' obté a través d' una memòria cau.

No totes les instruccions en un flux d' instruccions depenen de l'un de l'altre. Per exemple, encara que a + b = c S' ha d' executar abans c + d = e , a + b = c i d + e = f són independents i poden executar-se alhora. A més, quan s'espera una instrucció en progrés un accés de memòria o un altre retard, les instruccions posteriors no depenen necessàriament d'aquesta operació retardada.

Execució fora de l' ordre S'ha d'aprofitar d'aquest fet per permetre que altres instruccions independents s' executin mentre s'atura una instrucció. En lloc de demanar instruccions per executar-ne un després d'un altre en un pas de pany, Previsió El maquinari s' afegeix a permetre les instruccions independents que s' executin en qualsevol ordre. Les instruccions són Enviat a una cua d' instruccions i S' ha emès a la part apropiada del processador quan les dades necessàries es troben disponibles. D'aquesta manera, instruccions que estan atrapades esperant dades de la memòria o d'una instrucció anterior no lliga les instruccions més tard que siguin independents.

  • Es necessiten diverses estructures de dades noves i expandides per realitzar l' execució fora de l' ordre. La cua d' instruccions anteriors, la Estació de reserva , s' usa per a mantenir instruccions fins que les dades necessàries per a l' execució esdevingui disponible. La Memòria intermèdia de reordenament (ROB) s'utilitza per seguir la pista de l' estat de les instruccions en progrés, en l' ordre en què es van rebre, de manera que les instruccions s' hagin completat en l' ordre correcte. Acard symbol S' està registrant el fitxerThe role of the transaction, in present tense Que s'estén més enllà del nombre de registres proveïts per l' arquitectura mateixa és necessària per Reanomenat de registre , que ajuda a prevenir altres instruccions independents de convertir-se en dependent degut a la necessitat de compartir el conjunt limitat de registres proveïts per l'arquitectura.

Les arquitectures supercalar permeten múltiples instruccions dins d' un flux d' instruccions a executar al mateix temps.

Les tècniques es van discutir per sobre només augmenten l'actuació de la canonada d' instruccions. Aquestes tècniques no permeten més d' una instrucció per completar el cicle del rellotge. No obstant això, sovint és possible executar instruccions individuals dins d' un flux d' instruccions en paral· lel, com quan no depenen de l' altra (com s' explica a la secció d' execució de sortida de sobre).

Col· laboracions supercalars Aprofita el paral·lelisme d'aquesta instrucció permetent- li enviar instruccions a múltiples unitats funcionals alhora. El processador pot tenir múltiples unitats funcionals d' un tipus particular (com ara un enter ALUs) i/ o diferents tipus d' unitats funcionals (com unitats de coma flotant i enter) a les que s' envien actualment les instruccions.

En un processador supercalar, les instruccions estan programades com a disseny de sortida, però ara hi ha múltiples emet ports , permetent diferents instruccions a enviar i executar al mateix temps. Les instruccions expandides permeten que el processador llegeixi diverses instruccions alhora en cada cicle del rellotge i determinen les relacions entre elles. Un processador d'alta impressió modern pot planificar vuit instruccions per cicle de rellotge, depenent del que fa cada instrucció. Així és com els processadors poden completar diverses instruccions per cicle de rellotge. Veure: HaswellCity name (optional, probably does not need a translation) Motor d' execució a AnandTech

  • No obstant això, les arquitectures supercalar són molt difícils de dissenyar i optimitzar. S' estan comprovant les dependències entre les instruccions requereix una lògica molt complexa, la mida de la qual pot escalar exponencialment com el nombre d' instruccions simultànies augmenta. També, depenent de l' aplicació, només hi ha un nombre limitat d' instruccions dins de cada flux d' instruccions que es poden executar alhora, així que els esforços per aprofitar-se d'ILP pateixen de disminuir.

S' afegeixen instruccions més avançades que executen operacions complexes en menys temps.

A mesura que s'incrementen els pressupostos, es pot implementar instruccions més avançades que permeten realitzar operacions complexes en una fracció del temps que d'altra manera acceptarien. Exemples d' inclusió conjunts d' instrucció vectorials tal com SSEwind direction i AVX que fa càlculs en múltiples peces de dades al mateix temps i al mateix temps S' ha establert una instrucció "AES " que s'accelera l' encriptatge de dades i el desencriptatge.

Per a realitzar aquestes operacions complexes, useu processadors moderns micro- operacions (pons) . Les instruccions complexes es descodificaran en seqüències de μops, que es desen dins d' una memòria intermèdia dedicada i programades per a l' execució individualment (al grau permès per dependències de dades). Això proporciona més espai al processador per explotar la ILP. Per a millorar el rendiment, un rendiment especial Memòria cau del μop Es pot usar per a desar els μops sense descodificar recentment, de manera que els μops per a instruccions d' execució recentment es puguin veure ràpidament.

Tanmateix, l'addició d'aquestes instruccions no millora automàticament el rendiment. Les noves instruccions només poden incrementar el rendiment si una aplicació està escrita per usar- les. Adopció d'aquestes instruccions s'ha exhaurit pel fet que les aplicacions que les usen no funcionaran en processadors antics que no els permeten.

Com milloren aquestes tècniques el rendiment dels processadors al llarg del temps?

Les línies de conducte s'han tornat més llargues durant els anys, reduint la quantitat de temps necessari per completar cada etapa i per tant habilitació de taxes de rellotge més altes. No obstant això, entre altres coses, les canonades més llargues augmenten la pena per a una predicció de la branca incorrecta, així que una canonada no pot ser massa llarga. En intentar arribar a velocitats molt altes del rellotge, el processador Pentiui 4 va utilitzar canonades molt llargues, fins a 31 fases en PrescottCity name (optional, probably does not need a translation) . Per reduir els dèficits de rendiment, El processador provaria d'executar instruccions encara que fallissin, i continuaria intentant-ho fins que ho hagin aconseguit . Això va portar al consum d'alt poder i va reduir l'actuació a partir de Explisió hiper-thing . Els processadors de nous ja no usen canonades tant de temps, especialment perquè l' escalat del rellotge ha arribat a una paret; HaswellCity name (optional, probably does not need a translation) Utilitza una canonada que varia entre 14 i 19 fases llargues, i les arquitectures de baix poder usen canonades més curtes (Atel Atom SilvermontCity name (optional, probably does not need a translation) Té 12 a 14 estadis.

L' exactitud de la predicció de la branca ha millorat amb arquitectura més avançades, reduint la freqüència de color de canonades causat per maladicció i permetent més instruccions executar- se de manera actual. Tenint en compte la longitud de canonades en els processadors d'avui, això és crític per mantenir el rendiment alt.

Amb els pressupostos cada cop més elevats, es poden incrustar a la memòria cau més i més efectius en el processador, reduir els llocs degut a l'accés a la memòria. Els accessos de memòria poden necessitar més de 200 cicles per completar els sistemes moderns, de manera que és important reduir la necessitat d'accedir a la memòria principal tant com sigui possible.

Els processadors de nous són millors capaços d'aprofitar la ILP a través de la lògica d'execució supercalar més avançada i de dissenys de "matr" que permeten obtenir més instruccions per descodificar i executar-los actualment. La HaswellCity name (optional, probably does not need a translation) L'arquitectura pot descodificar quatre instruccions i enviar 8 microoperacions per cicle rellotge. Incrementant els pressupostos transsexuals permeten més unitats funcionals com ara l' enter ALUs per tal d' incloure' s en el nucli del processador. Les estructures de dades de clau usades en l' execució de l' ordre i el supercalar, com ara l' estació de reserva, reordena la memòria intermèdia i el fitxer de registre, s' expandiran en dissenys més nous, el qual permet que el processador cerqui una finestra més àmplia d' instruccions per explotar la seva ILP. Aquesta és una gran força de conduir darrere de l'actuació augmenta en els processadors d'avui.

S' inclouen instruccions més complexes en nous processadors, i un nombre creixent d' aplicacions utilitza aquestes instruccions per millorar el rendiment. Avança en la tecnologia de compiladors, incloent millores en Selecció d' instrucció i Vectorització automàtica , habilita un ús més efectiu d' aquestes instruccions.

A més de la part superior, major integració de parts prèviament externes a la CPU com ara el pont nord, el controlador de memòria i els carrils PCIe redueixen el retard d' E/O i la memòria. Augmenta la reducció de llocs causats per retards en l' accés de dades d' altres dispositius.

Tot el que va dir abans és veritat, però fins a un grau. La meva resposta és curta: els processadors de generació més nous són "més ràpid" principalment perquè Tenen un cau més gran i millor organitzat . Aquest és el factor més important en l'actuació de l'ordinador. Per a consideracions més quantitatives, mireu " revista Linux: El rendiment en HPC "

En poques paraules, per a les aplicacions més comuns (com en la col· lecció d' IPG), el factor límit és la memòria. Quan s' està executant un càlcul de realització real, les memòries de memòria cau estan carregades amb dades, però cada cau de la memòria cau fa que la pipa d' execució de la CPU s' aturi i esperi. El problema és que no importa com de sofisticat és la canonada de la CPU, o les millors instruccions són, l'el· lel· lelisme d' instruccions encara és bastant limitat (excepte alguns casos especials optimitzats). Una vegada trobat una dependència crítica, tot el paral·lelisme acaba en cinc rellotges de CPU, mentre que pren centenars de rellotges de CPU per a desallotjar una línia i carregar-ne un de nou des de la memòria principal. Així que el processador espera no fer res. Tot aquest concepte també és cert per a multicres.

Així que, si algú vol un PC "més ràpid," compra'l amb una CPU que té la memòria cau més gran que et pots permetre.

Perquè milloren com moltes instruccions per cada cicle(clock) la CPU pot fer a través de les unitats d'execució més altes, per aquesta raó millora el IPC, a més, redueixen la memòria cau, la descodificació, la millora de les operacions d'ordre i la predicció de la branca, després d' afegir més memòria cau mentre tenen retard. Memòria cau de banda superior. Afegeix noves instruccions ara i una altra vegada. Redueix el cicle que voleu per instrucció(CPI)

Les velocitats del rellotge només són una part de l'actuació d'una CPU, un component essencial, però sense sort els nodes del mètode estaven colpejant una paret per a la dècada passada o així, no hi ha res que pugui treure més de cinc.0 0z.2Ghz inspit de l'aigua de qualitat fred, sense recórrer a gel o líquids.

Artículos Relacionados:

- Processador -

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