Dual-core of quad-coreprocessor. Wat is een centrale verwerkingseenheid

...tijdens het ontwikkelingsproces zal het aantal kernen steeds groter worden.

(Intel-ontwikkelaars)

Meer kern, en ook kern, en nog veel, veel meer kern!..

...Tot voor kort hadden we er niets van gehoord of geweten meerkernig processors, en tegenwoordig vervangen ze op agressieve wijze single-core processors. De opkomst van multi-coreprocessors is begonnen, en dat is nog maar een klein beetje! – worden afgeremd door hun relatief hoge prijzen. Maar niemand twijfelt eraan dat de toekomst ligt bij multi-core processors!

Wat is een processorkern

In het centrum van een moderne centrale microprocessor ( CPU– afkorting uit het Engels centrale verwerkingseenheid– centraal computerapparaat) is de kern ( kern) is een siliciumkristal met een oppervlakte van ongeveer één vierkante centimeter, waarop het schakelschema van de processor, de zogenaamde architectuur (chip-architectuur).

De kern is verbonden met de rest van de chip (het "pakket" genoemd CPU-pakket) met behulp van flip-chip-technologie ( flip-chip, flip-chip-binding– omgekeerde kern, bevestiging met behulp van de omgekeerde kristalmethode). Deze technologie dankt zijn naam aan het feit dat het naar buiten gerichte (zichtbare) deel van de kern feitelijk de "onderkant" is, om direct contact te bieden met het koellichaam van de koeler voor een betere warmteoverdracht. Aan de achterkant (onzichtbare) kant bevindt zich de “interface” zelf: de verbinding tussen het kristal en de verpakking. De verbinding tussen de processorkern en de verpakking gebeurt met behulp van pin-pinnen ( Soldeer hobbels).

De kern bevindt zich op een textolietbasis, waarlangs contactpaden naar de "poten" (contactvlakken) lopen, gevuld met een thermische interface en bedekt met een beschermende metalen afdekking.

De eerste (uiteraard single-core!) microprocessor Intel 4004 werd op 15 november 1971 geïntroduceerd door Intel Corporation. Het bevatte 2.300 transistors, geklokt op 108 kHz, en kostte $ 300.

De vereisten voor de rekenkracht van een centrale microprocessor zijn voortdurend gegroeid en blijven groeien. Maar waar eerdere processorfabrikanten zich voortdurend moesten aanpassen aan de huidige dringende (steeds groeiende!) gebruikersverzoeken, lopen chipfabrikanten nu veel voorop!

Lange tijd waren verbeteringen in de prestaties van traditionele single-core processors voornamelijk te danken aan een consistente verhoging van de klokfrequentie (ongeveer 80% van de processorprestaties werd bepaald door de klokfrequentie), terwijl tegelijkertijd het aantal transistors op een enkele chip toenam. . Een verdere verhoging van de klokfrequentie (bij een klokfrequentie van meer dan 3,8 GHz raken de chips simpelweg oververhit!) stuit echter op een aantal fundamentele fysieke barrières (aangezien het technologische proces bijna de grootte van een atoom benadert: tegenwoordig worden processors geproduceerd met behulp van 45 nm-technologie, en de grootte van een siliciumatoom is ongeveer 0,543 nm):

Ten eerste neemt de lekstroom van de transistors toe naarmate de kristalgrootte afneemt en de klokfrequentie toeneemt. Dit leidt tot een hoger energieverbruik en een hogere warmteafgifte;

Ten tweede worden de voordelen van hogere kloksnelheden gedeeltelijk tenietgedaan door de latentie van geheugentoegang, aangezien de geheugentoegangstijden geen gelijke tred houden met toenemende kloksnelheden;

Ten derde worden traditionele seriële architecturen voor sommige toepassingen inefficiënt naarmate de kloksnelheden toenemen als gevolg van het zogenaamde ‘von Neumann-knelpunt’, een prestatiebeperking die voortvloeit uit de sequentiële rekenstroom. Tegelijkertijd nemen de vertragingen bij de overdracht van RC-signalen toe, wat een extra knelpunt is dat samenhangt met een toename van de klokfrequentie.

Het gebruik van multiprocessorsystemen is ook niet wijdverbreid, omdat hiervoor complexe en dure multiprocessor-moederborden nodig zijn. Daarom werd besloten om de prestaties van microprocessors op andere manieren verder te verbeteren. Het concept werd erkend als de meest effectieve richting multithreading, dat zijn oorsprong vindt in de wereld van supercomputers, is de gelijktijdige parallelle verwerking van meerdere commandostromen.

Dus in de diepten van het bedrijf Intel werd geboren Hyper-Threading-technologie (HTT) is een super-threaded gegevensverwerkingstechnologie waarmee de processor maximaal vier programmathreads parallel kan uitvoeren op een single-coreprocessor. Hyperthreading verhoogt aanzienlijk de efficiëntie van het uitvoeren van resource-intensieve toepassingen (bijvoorbeeld toepassingen die verband houden met audio- en videobewerking, 3D-simulatie), evenals de werking van het besturingssysteem in multitasking-modus.

CPU Pentium4 met inbegrepen Hyperthreading heeft er een fysiek kern die in tweeën is verdeeld logisch, dus het besturingssysteem identificeert het als twee verschillende processors (in plaats van één).

Hyperthreading werd feitelijk een springplank naar de creatie van processors met twee fysieke kernen op één chip. In een 2-core chip werken twee cores (twee processors!) parallel, die bij een lagere klokfrequentie zorgen voor O betere prestaties, omdat twee onafhankelijke instructiesstromen parallel (gelijktijdig!) worden uitgevoerd.

Het vermogen van een processor om meerdere programmathreads tegelijkertijd uit te voeren, wordt genoemd parallellisme op draadniveau (TLPparallellisme op draadniveau). Behoefte aan TLP hangt af van de specifieke situatie (in sommige gevallen is het gewoon nutteloos!).

De belangrijkste problemen bij het maken van processors

Elke processorkern moet onafhankelijk zijn, met een onafhankelijk energieverbruik en regelbaar vermogen;

De softwaremarkt zou moeten worden voorzien van programma's die het instructievertakkingsalgoritme effectief kunnen splitsen in een even (voor processors met een even aantal cores) of een oneven (voor processors met een oneven aantal cores) aantal threads;

Volgens de persdienst AMD Tegenwoordig is de markt voor 4-coreprocessors goed voor niet meer dan 2% van het totale volume. Het is duidelijk dat het kopen van een 4-coreprocessor voor thuisgebruik voor een moderne koper om vele redenen nog steeds weinig zin heeft. Ten eerste zijn er tegenwoordig vrijwel geen programma's die effectief kunnen profiteren van 4 gelijktijdig werkende threads; ten tweede fabrikanten positioneer 4-coreprocessors als Hallo einde-oplossingen door toevoeging aan apparatuur de modernste videokaarten en grote harde schijven - en dit verhoogt uiteindelijk de toch al dure kosten

Ontwikkelaars Intel ze zeggen: "...tijdens het ontwikkelingsproces zal het aantal kernen steeds groter worden...".

Wat staat ons te wachten in de toekomst

In een bedrijf Intel ze hebben het niet langer over “Multi-core” ( Meerkernig) processors, zoals wordt gedaan met betrekking tot 2-, 4-, 8-, 16- of zelfs 32-core-oplossingen, maar over “Multi-core” ( Veel-kern), wat een volledig nieuwe architectonische macrostructuur van de chip impliceert, vergelijkbaar (maar niet vergelijkbaar) met de processorarchitectuur Cel.

De structuur van dergelijke Veel-kern-chip omvat het werken met dezelfde reeks instructies, maar met behulp van een krachtige centrale kern of meerdere krachtige CPU, “omringd” door vele hulpkernen, die zullen helpen complexe multimediatoepassingen efficiënter te verwerken in multi-threaded modus. Naast "algemene" kernen, processors Intel zal ook over gespecialiseerde kernen beschikken voor het uitvoeren van verschillende soorten taken, zoals grafische afbeeldingen, algoritmen voor spraakherkenning en het verwerken van communicatieprotocollen.

Dit is precies de architectuur gepresenteerd door Justin Rattner ( Justin R. Rattner), hoofd van de sector Bedrijfstechnologiegroep Intel, op een persconferentie in Tokio. Volgens hem kunnen er enkele tientallen van dergelijke hulpkernen in een nieuwe multi-coreprocessor zitten. In tegenstelling tot de focus op grote, energie-intensieve rekenkernen met een hoge warmteafvoer, zijn multi-core kristallen Intel activeert alleen die kernen die nodig zijn om de huidige taak te voltooien, terwijl de overige kernen worden uitgeschakeld. Hierdoor kan het kristal precies zoveel elektriciteit verbruiken als het op een bepaald moment nodig heeft.

In juli 2008 heeft het bedrijf Intel meldde dat het de mogelijkheid overweegt om enkele tientallen en zelfs duizenden rekenkernen in één processor te integreren. Toonaangevende ingenieur van het bedrijf Envar Galum ( Anwar Ghuloum) schreef op zijn blog: "Uiteindelijk raad ik aan het volgende advies van mij aan te nemen... ontwikkelaars zouden nu moeten gaan nadenken over tientallen, honderden en duizenden cores." Volgens hem op dit moment Intel onderzoekt technologieën die computers kunnen opschalen “door het aantal kernen dat we nog niet verkopen.”

Uiteindelijk zal het succes van multi-core systemen afhangen van ontwikkelaars, die waarschijnlijk de programmeertalen zullen moeten veranderen en alle bestaande bibliotheken zullen moeten herschrijven, zei Galum.

QX | 22 juli 2015, 14:45
Niet alleen de frequentie, ook het technische proces. Moderne 2-coreprocessors op 3 GHz zijn niet te vergelijken met de eerste 2-coreprocessors, ook op 3 GHz. De frequentie is hetzelfde, maar de oude zijn gewoon vreselijke remmen vergeleken met de nieuwe. Hierdoor is de moderne 2-core i3 veel beter dan de 4-core Quad Q6600. Zelfs de nieuwere Pentium G is beter dan de oude Quad.

QX | 11 juli 2015, 12:18
Hier is het frequentieverschil niet groot, 3,5 versus 3 GHz. Daarom zijn 4 kernen interessant. Maar uiteraard wel als de andere kenmerken zich ook blijven ontwikkelen. Er zijn veel kernen nodig voor archivering, videocodering, enz. Door 2 kernwapens mee te nemen kun je ook wat besparen. Een andere vraag is hoeveel je eraan gaat werken. Nou, het zou beter zijn als je beide modellen specifiek zou noemen. En dus zou ik je aanraden om een ​​krachtigere en frissere Core i3 te hebben.

MaKos007 | 30 maart 2015, 16:00 uur
Hier zal ik mijn gedachten over de boom verspreiden. Daarom zeg ik meteen dat je keuze een dual-coreprocessor met een hogere frequentie is. Als de theorie niet interessant is, hoef je niet verder te lezen.

De processorfrequentie is in feite het aantal bewerkingen dat hij per tijdseenheid uitvoert. Hoe hoger de frequentie, hoe meer acties er bijvoorbeeld per seconde worden uitgevoerd.

Hoe zit het met het aantal cores... Als er meer dan één core is, kan de processor meer dan één taak verwerken. Het is net als transportbanden. Eén transportband werkt snel, maar twee parallelle banden waarop bewerkingen plaatsvinden, leveren twee keer zoveel output op. In theorie zullen dual-core oplossingen dus twee keer zo snel werken als een single-core oplossing.

Dit is een theorie, maar net als bij transportbanden moeten deze twee draden ergens mee worden geladen. laad tegelijkertijd correct, zodat elke riem met volledige efficiëntie werkt. In het geval van processors is dit afhankelijk van de architectuur van programma's en games die gebruik maken van deze multi-core. Als een applicatie taken in verschillende threads kan verdelen (lezen - gebruik een multi-coreprocessor), dan kan multi-core een aanzienlijke toename van de snelheid van opdrachtuitvoering opleveren. Maar als dat niet lukt, of als de taken zodanig zijn dat het onmogelijk is om ze te verdelen, dan maakt het helemaal niet uit of er veel cores in de CPU zitten of niet.

In feite is de vraag naar het optimale aantal kernen complex. Wat hier ook van belang is, is de architectuur van de kernen zelf en de verbindingen daartussen. De eerste multi-coreprocessors hadden dus een aanzienlijk minder functioneel ontwerp dan moderne. Bovendien moet er rekening mee worden gehouden dat moderne Windows 7- en Windows 8-besturingssystemen (ik denk hier niet aan *nix-systemen en hun ondersteuning voor multi-coreprocessors - een apart en zeer interessant onderwerp) zeer goed zijn geworden in het parallelliseren van veel taken. Multi-core helpt dus om de hoofdprocessen (applicaties en games die door de gebruiker worden gebruikt) niet te vertragen als gevolg van achtergrondtaken. Antivirusbescherming en firewall zullen dus een actief spel of werk in Photoshop niet vertragen (om precies te zijn, ze zullen het in mindere mate vertragen).

Voor welke programma's is multi-core belangrijk? Nadat u enige tijd op internet heeft doorgebracht, zult u ontdekken dat het de conversie van video en audio versnelt; rendering van 3D-modellen, signaalversleuteling, enz. Voor Photoshop en videobewerking heb je geen 4 kernen nodig. Het is voldoende, zoals ik al zei, twee, maar met een hogere prestatie van elk van hen.

teleporteren | 21 april 2013, 01:30 uur
Een eenvoudige prestatieberekening laat zien: voor een 2-core is de totale prestatie 2 x 3,5 = 7, voor een 4-core - 4 x 3 = 12. Een 4-core is dus bijna 2 keer krachtiger. Bovendien is het waarschijnlijk moderner en dus zuiniger en productiever. En als er maar één kern wordt gebruikt, warmt deze minder op, omdat de frequentie van één kern iets lager is, maar dit is belangrijk voor verwarming.

Voor videobewerking is de processor hoogstwaarschijnlijk niet kritisch; er worden voornamelijk de bronnen van de videokaart of een speciale videobewerkingskaart gebruikt. Maar de processor neemt hier ook aan deel, en als een 2-coreprocessor één kern toewijst voor deze taak, dan zullen de resterende taken (verschillende antivirusprogramma's) vechten voor de resterende kern, wat tot vreselijke domheid zal leiden. Kortom, multi-core is beter.

yang | 11 april 2013, 20:22
In dit geval zal een dual-coreprocessor in alle opzichten efficiënter en zuiniger zijn.

Een van de fasen bij het verbeteren van de von Neumann-architectuur is draadparallelisatie ( Draad Niveau Parallellisme, TLP). Onderscheiden gelijktijdige multithreading (Gelijktijdig Multithreading, SMT) En multithreading op die-niveau (Chip- niveau Multithreading, CMT). De twee benaderingen verschillen vooral in hun begrip van wat een stroom is. Een typische vertegenwoordiger SMT is de zogenaamde technologie HTT (Hyper- Inrijgen Technologie).

P de eerste vertegenwoordigers van de architectuur CMP staalprocessors bedoeld voor gebruik in servers. Het was een eenvoudige tandem; in dergelijke apparaten werden twee in wezen onafhankelijke kernen op één substraat geplaatst (Fig. 8). De ontwikkeling van dit schema werd eerst een structuur met een gedeeld cachegeheugen (Fig. 9, en vervolgens een structuur met multi-threading in elke kern.

De voordelen van multi-coreprocessors zijn als volgt.

    Eenvoud (uiteraard relatief) van ontwerp en productie. Zodra één enkele efficiënte kern is ontwikkeld, kan deze op de chip worden gerepliceerd, waardoor de architectuur wordt aangevuld met de vereiste systeemcomponenten.

    Het energieverbruik wordt merkbaar verminderd. Als je bijvoorbeeld twee cores op een chip plaatst en ze dwingt om te werken op een klokfrequentie die prestaties levert die gelijk zijn aan die van zijn single-core ‘broer’, en dan het stroomverbruik van beide vergelijkt, zul je ontdekken dat het vermogen het verbruik neemt verschillende keren af, omdat het bijna proportioneel groeit met de vierkante frequenties.

Als u goed naar de figuren 8 en 9 kijkt, kunt u in het algemeen zien dat er geen fundamenteel verschil is tussen bijvoorbeeld een systeem met twee processors en een computer met een processor met twee kernen. De problemen zijn hetzelfde. En een van de eerste is het bijbehorende besturingssysteem.

Manieren om het werk van verwerkers te organiseren

De belangrijkste stimulans voor de ontwikkeling van computerarchitectuur is het verhogen van de productiviteit. Een van de manieren om de computerproductiviteit te vergroten is specialisatie (zowel individuele computerelementen als het creëren van gespecialiseerde computersystemen).

De specialisatie van processors begon in de jaren zestig, toen de centrale processor van grote computers werd bevrijd van het uitvoeren van routinematige informatie-invoer/uitvoerbewerkingen. Deze functie is overgebracht naar de I/O-processor, die communiceert met randapparatuur.

Een andere manier om de prestaties te verbeteren is om afstand te nemen van Von Neumanns sequentiële architectuur en zich te concentreren op parallellisme. M. Flynn vestigde de aandacht op het feit dat er slechts twee redenen zijn die aanleiding geven tot computationeel parallellisme: de onafhankelijkheid van commandostromen die tegelijkertijd in het systeem bestaan, en de onafhankelijkheid van gegevens die in één commandostroom worden verwerkt. Als de eerste reden voor het parallellisme van het computerproces vrij goed bekend is (het is eenvoudige multiprocessing), dan zullen we dieper ingaan op data-parallellisme, omdat het in de meeste gevallen verborgen is voor programmeurs en wordt gebruikt door een beperkte kring van mensen. professionals.

Het eenvoudigste voorbeeld van gegevensparallellisme is een reeks van twee opdrachten: A=B+C; D=E*F;

Als we het von Neumann-principe strikt volgen, kan de tweede operatie pas worden uitgevoerd na voltooiing van de eerste operatie. Het is echter duidelijk dat de volgorde waarin deze instructies worden uitgevoerd er niet toe doet: de operanden A, B en C van de eerste instructie zijn op geen enkele manier gerelateerd aan de operanden D, E en F van de tweede instructie. Met andere woorden, beide bewerkingen zijn parallel, juist omdat de operanden van deze instructies geen verband houden met elkaar. Je kunt veel voorbeelden geven van een reeks van drie of meer opdrachten met niet-gerelateerde gegevens die tot een duidelijke conclusie zullen leiden: vrijwel elk programma bevat groepen bewerkingen op parallelle gegevens.

D Een ander type data-parallellisme komt doorgaans voor in cyclische programma's voor het verwerken van data-arrays. Wanneer u bijvoorbeeld elementen van twee arrays toevoegt, kan één opdracht een grote array (meerdere streams) aan gegevens verwerken. Dergelijke opdrachten worden vector genoemd, en de processor die deze modus implementeert wordt vector genoemd. De volgende definitie kan worden gegeven: “Een vectorprocessor is een processor die parallelle uitvoering van bewerkingen op data-arrays (vectoren) mogelijk maakt. Het wordt gekenmerkt door een speciale architectuur gebouwd op een groep parallelle verwerkingselementen en is ontworpen voor het verwerken van afbeeldingen, matrices en data-arrays.”

Er zijn verschillende classificaties van softwareparallellisme die qua betekenis vrij gelijkaardig zijn, waarvan de classificatie in zes niveaus als de meest erkende wordt beschouwd (Fig. 10). De bovenste drie niveaus van parallellisme worden ingenomen door grote softwareobjecten: onafhankelijke taken, programma's en programmaprocedures. Niet-gerelateerde verklaringen, lussen en bewerkingen vormen de lagere niveaus van parallellisme. Als we deze rangschikking combineren met M. Flynns categorieën van ‘parallelle commandostromen’ en ‘parallelle datastromen’, zien we dat parallellisme op het hoogste niveau voornamelijk wordt bereikt via vele onafhankelijke commandostromen, terwijl parallellisme op een lager niveau zijn bestaan ​​voornamelijk te danken heeft aan niet-gerelateerde datastromen.

Transportbandverwerking en transportbandstructuren

OVER Een van de effectieve manieren om de computerprestaties te verbeteren is pipelineisatie. In afb. 11 A) toont verwerking in een enkel universeel blok, en Fig. 11 B) En V)- in de transportband. Het idee van pijplijnverwerking is om een ​​functie die wordt geïmplementeerd door een universeel functieblok (FB) te splitsen tussen verschillende gespecialiseerde functies. Alle functionele blokken van de transportband moeten met dezelfde snelheid werken (tenminste gemiddeld). In de praktijk wordt dit laatste zelden bereikt en als resultaat nemen de prestaties van de pijplijn af, aangezien de periode van ontvangst van invoergegevens wordt bepaald door de maximale verwerkingstijd in elk functioneel blok. Om schommelingen in de bedrijfstijd van de FB's te compenseren, zijn er bufferregisters tussen opgenomen. Een meer universele techniek is het gebruik van bufferopslagapparaten van het FIFO-type (Fig. 11 V). Er is nog een verschil tussen de cijfers. B) En V). In structuur V) er is geen SI-synchronisatielijn. Dit betekent niet dat het niet in een dergelijke structuur kan zitten, er zijn eenvoudigweg twee soorten pijpleidingen: synchroon met een gemeenschappelijke synchronisatielijn en asynchroon, zonder één. De eersten worden ook wel genoemd met commandobeheer, en de tweede – met databeheer. Een voorbeeld van asynchrone pijpleidingen zijn systolische arrays.

NAAR De pijplijn is niet altijd een lineaire keten van blokken. Soms blijkt het voordelig dat functionele blokken niet opeenvolgend met elkaar worden verbonden, maar volgens een complexer schema in overeenstemming met de verwerkingslogica, terwijl sommige blokken in de keten kunnen worden overgeslagen, terwijl andere cyclische structuren kunnen vormen. De structuur van een niet-lineaire pijplijn die twee functies X en Y kan berekenen, en een diagram waarin de functies X en Y bepaalde functionele blokken vereisen, worden getoond in figuur 1. 12

  • Handleiding

In dit artikel zal ik proberen de terminologie te beschrijven die wordt gebruikt om systemen te beschrijven die in staat zijn om meerdere programma's parallel uit te voeren, dat wil zeggen multi-core, multi-processor, multi-threaded. Verschillende soorten parallellisme verschenen op verschillende tijdstippen en in enigszins inconsistente volgorde in de IA-32 CPU. Het is vrij gemakkelijk om in dit alles in de war te raken, vooral als je bedenkt dat besturingssystemen details zorgvuldig verbergen voor minder geavanceerde applicatieprogramma's.

Het doel van het artikel is om aan te tonen dat met de verscheidenheid aan mogelijke configuraties van multiprocessor-, multi-core en multi-threaded systemen er mogelijkheden worden gecreëerd voor programma's die erop draaien, zowel voor abstractie (het negeren van verschillen) als voor het rekening houden met specifieke kenmerken ( de mogelijkheid om de configuratie programmatisch te achterhalen).

Waarschuwing voor ®, ™ tekens in het artikel

Mijn commentaar legt uit waarom werknemers van bedrijven copyrightvermeldingen in openbare communicatie moeten gebruiken. In dit artikel moest ik ze vrij vaak gebruiken.

CPU

De oudste, meest gebruikte en controversiële term is uiteraard ‘verwerker’.

In de moderne wereld is een processor iets dat we kopen in een mooie retaildoos of een niet zo mooi OEM-pakket. Een ondeelbare entiteit die in een socket op het moederbord wordt geplaatst. Zelfs als er geen connector is en deze niet kan worden verwijderd, dat wil zeggen, als deze stevig is gesoldeerd, is het één chip.

Mobiele systemen (telefoons, tablets, laptops) en de meeste desktops hebben één processor. Werkstations en servers beschikken soms over twee of meer processors op één moederbord.

Het ondersteunen van meerdere CPU's in één systeem vereist talrijke ontwerpwijzigingen. Het is op zijn minst noodzakelijk om hun fysieke verbinding te garanderen (voorzie meerdere sockets op het moederbord), problemen met processoridentificatie op te lossen (zie verderop in dit artikel, evenals mijn vorige opmerking), coördinatie van geheugentoegang en onderbrekingslevering (de interrupt-controller moet interrupts voor meerdere processors kunnen routeren) en uiteraard ondersteuning vanuit het besturingssysteem. Helaas kon ik geen documentaire vermelding vinden van de creatie van het eerste multiprocessorsysteem op Intel-processors, maar Wikipedia beweert dat Sequent Computer Systems ze al in 1987 leverde, met behulp van Intel 80386-processors. Ondersteuning voor meerdere chips in één systeem wordt steeds wijdverbreid. te beginnen met Intel® Pentium.

Als er meerdere processors zijn, heeft elk zijn eigen connector op het bord. Elk van hen heeft volledige onafhankelijke kopieën van alle bronnen, zoals registers, uitvoeringsapparaten, caches. Ze delen een gemeenschappelijk geheugen: RAM. Het geheugen kan er op verschillende en tamelijk niet-triviale manieren mee in verband worden gebracht, maar dit is een verhaal apart dat buiten het bestek van dit artikel valt. Het belangrijkste is dat in ieder geval de illusie van homogeen gedeeld geheugen dat toegankelijk is vanaf alle processors in het systeem moet worden gecreëerd voor uitvoerbare programma's.


Klaar om op te stijgen! Intel® desktopkaart D5400XS

Kern

Historisch gezien verschenen multi-cores in Intel IA-32 later dan Intel® HyperThreading, maar in de logische hiërarchie komen ze daarna.

Het lijkt erop dat als een systeem meer processors heeft, de prestaties hoger zijn (bij taken die alle bronnen kunnen gebruiken). Als de kosten van communicatie tussen hen echter te hoog zijn, worden alle voordelen van parallellisme teniet gedaan door lange vertragingen bij de overdracht van gemeenschappelijke gegevens. Dit is precies wat wordt waargenomen in systemen met meerdere processors: zowel fysiek als logisch liggen ze erg ver van elkaar. Voor effectieve communicatie onder dergelijke omstandigheden is het noodzakelijk om gespecialiseerde bussen te bedenken, zoals Intel® QuickPath Interconnect. Het energieverbruik, de omvang en de prijs van de uiteindelijke oplossing worden door dit alles uiteraard niet verminderd. Een hoge integratie van componenten zou te hulp moeten komen - circuits die delen van een parallel programma uitvoeren, moeten dichter bij elkaar worden gebracht, bij voorkeur op één chip. Met andere woorden: één processor zou er meerdere moeten organiseren kernen, in alles identiek aan elkaar, maar zelfstandig werkend.

De eerste multi-core IA-32-processors van Intel werden in 2005 geïntroduceerd. Sindsdien is het gemiddelde aantal cores op server-, desktop- en nu mobiele platforms gestaag gegroeid.

In tegenstelling tot twee single-coreprocessors op hetzelfde systeem die alleen geheugen delen, kunnen twee cores ook caches en andere geheugengerelateerde bronnen delen. Meestal blijven caches op het eerste niveau privé (elke kern heeft zijn eigen), terwijl de tweede en derde niveaus gedeeld of gescheiden kunnen zijn. Met deze systeemorganisatie kunt u de vertragingen bij het leveren van gegevens tussen aangrenzende kernen verminderen, vooral als ze aan een gemeenschappelijke taak werken.


Deze coupe van een quad-core Intel-processor met de codenaam Nehalem. Er worden afzonderlijke kernen, een gemeenschappelijke cache op het derde niveau, evenals QPI-koppelingen naar andere processors en een gemeenschappelijke geheugencontroller toegewezen.

Hyperthread

Tot ongeveer 2002 was de enige manier om een ​​IA-32-systeem te krijgen dat twee of meer programma's parallel kon uitvoeren, het gebruik van multiprocessorsystemen. De Intel® Pentium® 4, evenals de Xeon-lijn met de codenaam Foster (Netburst), introduceerden een nieuwe technologie - hyperthreads of hyperthreads - Intel® HyperThreading (hierna HT).

Er is niets nieuws onder de zon. HT is een speciaal geval van wat in de literatuur simultane multithreading (SMT) wordt genoemd. In tegenstelling tot 'echte' kernen, die volledige en onafhankelijke kopieën zijn, wordt in het geval van HT slechts een deel van de interne knooppunten, die primair verantwoordelijk zijn voor het opslaan van de architecturale staatsregisters, in één processor gedupliceerd. De uitvoerende knooppunten die verantwoordelijk zijn voor het organiseren en verwerken van gegevens blijven uniek en worden op elk moment door maximaal één van de threads gebruikt. Net als kernen delen hyperthreads caches, maar vanaf welk niveau hangt af van het specifieke systeem.

Ik zal niet proberen alle voor- en nadelen van SMT-ontwerpen in het algemeen en HT-ontwerpen in het bijzonder uit te leggen. De geïnteresseerde lezer kan in veel bronnen, en uiteraard op Wikipedia, een vrij gedetailleerde bespreking van de technologie vinden. Ik zal echter het volgende belangrijke punt opmerken, dat de huidige beperkingen op het aantal hyperthreads in echte producten verklaart.

Draadbeperkingen
In welke gevallen is de aanwezigheid van “oneerlijke” multi-cores in de vorm van HT gerechtvaardigd? Als één applicatiethread niet alle uitvoeringsknooppunten in de kernel kan laden, kunnen ze worden “uitgeleend” aan een andere thread. Dit is typisch voor toepassingen die niet een knelpunt hebben bij de berekening, maar bij de gegevenstoegang, dat wil zeggen dat ze vaak cache-missers genereren en moeten wachten tot gegevens uit het geheugen worden afgeleverd. Gedurende deze tijd zal de kern zonder HT gedwongen worden inactief te zijn. Door de aanwezigheid van HT kunt u snel vrije uitvoerende knooppunten naar een andere architecturale staat overschakelen (aangezien deze gedupliceerd is) en de instructies ervan uitvoeren. Dit is een speciaal geval van een techniek die latentieverbergen wordt genoemd, waarbij een lange bewerking, waarbij nuttige bronnen inactief zijn, wordt gemaskeerd door de parallelle uitvoering van andere taken. Als de applicatie al een hoge mate van benutting van kernelbronnen heeft, zal de aanwezigheid van hyperthreads geen versnelling mogelijk maken - hier zijn "eerlijke" kernels nodig.

Typische scenario's voor desktop- en serverapplicaties die zijn ontworpen voor machine-architecturen voor algemene doeleinden hebben het potentieel voor parallellisme geïmplementeerd met behulp van HT. Dit potentieel wordt echter snel benut. Misschien om deze reden is het aantal hardware-hyperthreads op bijna alle IA-32-processors niet groter dan twee. In typische scenario's zou de winst uit het gebruik van drie of meer hyperthreads klein zijn, maar het verlies aan matrijsgrootte, stroomverbruik en kosten is aanzienlijk.

Een andere situatie wordt waargenomen bij typische taken die worden uitgevoerd op videoversnellers. Daarom worden deze architecturen gekenmerkt door het gebruik van SMT-technologie met een groter aantal threads. Omdat Intel® Xeon Phi-coprocessors (geïntroduceerd in 2010) ideologisch en genealogisch vrij dicht bij videokaarten staan, hebben ze mogelijk vier hyperthreading op elke kern - een configuratie die uniek is voor de IA-32.

Logische processor

Van de drie beschreven ‘niveaus’ van parallellisme (processors, cores, hyperthreads) kunnen sommige of zelfs alle ontbreken in een bepaald systeem. Dit wordt beïnvloed door BIOS-instellingen (multi-core en multi-threading zijn onafhankelijk uitgeschakeld), microarchitectuurfuncties (HT was bijvoorbeeld afwezig in de Intel® Core ™ Duo, maar werd teruggebracht met de release van Nehalem) en systeemgebeurtenissen ( servers met meerdere processors kunnen defecte processors uitschakelen als er fouten worden gedetecteerd en blijven "vliegen" op de resterende processors). Hoe is deze dierentuin van gelijktijdigheid op meerdere niveaus zichtbaar voor het besturingssysteem en uiteindelijk voor applicatietoepassingen?

Verder geven we voor het gemak het aantal processors, cores en threads in een bepaald systeem aan met drie ( X, j, z), Waar X is het aantal processors, j- het aantal kernen in elke processor, en z- aantal hyperthreads in elke kern. Vanaf nu noem ik dit drie topologie- een gevestigde term die weinig te maken heeft met de tak van de wiskunde. Werk P = xyz definieert het aantal aangeroepen entiteiten logische processors systemen. Het definieert het totale aantal onafhankelijke contexten van applicatieprocessen op een gedeeld geheugensysteem, die parallel worden uitgevoerd, waarmee het besturingssysteem rekening moet houden. Ik zeg "geforceerd" omdat het de uitvoeringsvolgorde van twee processen op verschillende logische processors niet kan controleren. Dit geldt ook voor hyperthreads: hoewel ze ‘opeenvolgend’ op dezelfde kern draaien, wordt de specifieke volgorde bepaald door de hardware en kan deze niet worden waargenomen of gecontroleerd door programma’s.

Meestal verbergt het besturingssysteem voor eindtoepassingen de kenmerken van de fysieke topologie van het systeem waarop het draait. De volgende drie topologieën: (2, 1, 1), (1, 2, 1) en (1, 1, 2) - het besturingssysteem vertegenwoordigt twee logische processors, hoewel de eerste twee processors heeft, de tweede - twee kernen, en de derde - slechts twee threads.


Windows Task Manager toont 8 logische processors; maar hoeveel kost het in processors, cores en hyperthreads?


Linux top toont 4 logische processors.

Dit is best handig voor makers van applicaties: ze hebben niet te maken met hardwarefuncties die voor hen vaak onbelangrijk zijn.

Softwaredefinitie van topologie

Natuurlijk schept het abstraheren van de topologie in een enkel aantal logische processors in sommige gevallen voldoende grond voor verwarring en misverstanden (in verhitte internetgeschillen). Computertoepassingen die maximale prestaties uit hardware willen halen, vereisen gedetailleerde controle over waar hun threads worden geplaatst: dichter bij elkaar op aangrenzende hyperthreads of, omgekeerd, verder weg op verschillende processors. De snelheid van communicatie tussen logische processors binnen dezelfde kern of processor is veel hoger dan de snelheid van gegevensoverdracht tussen processors. De mogelijkheid van heterogeniteit in de organisatie van het werkgeheugen compliceert het beeld ook.

Informatie over de topologie van het systeem als geheel, evenals de positie van elke logische processor in de IA-32, is beschikbaar met behulp van de CPUID-instructie. Sinds de komst van de eerste multiprocessorsystemen is het logische processoridentificatieschema verschillende keren uitgebreid. Tot op heden zijn de onderdelen ervan opgenomen in de bladen 1, 4 en 11 van de CPUID. Welk blad u moet bekijken, kunt u bepalen aan de hand van het volgende stroomdiagram uit het artikel:

Ik zal je hier niet vervelen met alle details van de afzonderlijke onderdelen van dit algoritme. Als er interesse is, kan het volgende deel van dit artikel hieraan worden gewijd. Ik verwijs de geïnteresseerde lezer naar deze kwestie, die zo gedetailleerd mogelijk op deze kwestie ingaat. Hier zal ik eerst kort beschrijven wat APIC is en hoe het zich verhoudt tot de topologie. Vervolgens gaan we kijken naar het werken met het 0xB-blad (elf in decimalen), wat momenteel het laatste woord is in "apico-building".

APIC-ID
Lokale APIC (advanced programmable interrupt controller) is een apparaat (nu onderdeel van de processor) dat verantwoordelijk is voor het afhandelen van interrupts die naar een specifieke logische processor komen. Elke logische processor heeft zijn eigen APIC. En elk van hen in het systeem moet een unieke APIC ID-waarde hebben. Dit nummer wordt gebruikt door interruptcontrollers voor adressering bij het bezorgen van berichten, en door iedereen (bijvoorbeeld het besturingssysteem) om logische processors te identificeren. De specificatie voor deze interruptcontroller is geëvolueerd van de Intel 8259 PIC via Dual PIC, APIC en xAPIC naar x2APIC.

Momenteel heeft de breedte van het nummer dat is opgeslagen in de APIC ID de volledige 32 bits bereikt, hoewel dit in het verleden beperkt was tot 16, en zelfs eerder - slechts 8 bits. Tegenwoordig zijn overblijfselen van vroeger verspreid over de CPUID, maar CPUID.0xB.EDX retourneert alle 32 bits van de APIC ID. Op elke logische processor die onafhankelijk de CPUID-instructie uitvoert, wordt een andere waarde geretourneerd.

Verduidelijking van familiebanden
De APIC ID-waarde zelf vertelt u niets over de topologie. Om erachter te komen welke twee logische processors zich in één fysieke processor bevinden (dat wil zeggen: het zijn ‘broers’ hyperthreads), welke twee zich in dezelfde processor bevinden en welke zich volledig in verschillende processors bevinden, moet u hun APIC ID-waarden vergelijken. Afhankelijk van de mate van verwantschap zullen sommige van hun bits samenvallen. Deze informatie is opgenomen in CPUID.0xB-sublijsten, die operandgecodeerd zijn in ECX. Elk van hen beschrijft de positie van het bitveld van een van de topologieniveaus in EAX (meer precies, het aantal bits dat naar rechts moet worden verschoven in de APIC ID om de lagere topologieniveaus te verwijderen), evenals de type van dit niveau - hyperthread, core of processor - in ECX.

Voor logische processors die zich in dezelfde kern bevinden, zullen alle APIC ID-bits overeenkomen, behalve die welke tot het SMT-veld behoren. Voor logische processors die zich in dezelfde processor bevinden, alle bits behalve de Core- en SMT-velden. Omdat het aantal subbladen voor CPUID.0xB kan groeien, zal dit schema ons in staat stellen de beschrijving van topologieën met een groter aantal niveaus te ondersteunen, als dat in de toekomst nodig zou zijn. Bovendien zal het mogelijk zijn om tussenniveaus tussen bestaande niveaus in te voeren.

Een belangrijk gevolg van de organisatie van dit schema is dat er in de verzameling van alle APIC-ID's van alle logische processors van het systeem "gaten" kunnen zitten, d.w.z. ze zullen niet opeenvolgend gaan. In een multi-coreprocessor waarbij HT is uitgeschakeld, kunnen bijvoorbeeld alle APIC-ID's even blijken te zijn, aangezien de minst significante bit die verantwoordelijk is voor het coderen van het hyperthread-nummer altijd nul zal zijn.

Ik merk op dat CPUID.0xB niet de enige bron van informatie is over logische processors die beschikbaar zijn voor het besturingssysteem. Een lijst met alle beschikbare processors, samen met hun APIC ID-waarden, is gecodeerd in de MADT ACPI-tabel.

Besturingssystemen en topologie

Besturingssystemen bieden informatie over de topologie van logische processors aan applicaties die hun eigen interfaces gebruiken.

Op Linux bevindt topologie-informatie zich in het pseudobestand /proc/cpuinfo, evenals in de uitvoer van de opdracht dmidecode. In het onderstaande voorbeeld filter ik de inhoud van cpuinfo op een quad-coresysteem zonder HT, waardoor alleen gegevens overblijven die verband houden met de topologie:

Verborgen tekst

ggg@shadowbox:~$ cat /proc/cpuinfo |grep "processor\|physical\ id\|siblings\|core\|cores\|apicid" processor: 0 fysieke id: 0 broers en zussen: 4 core id: 0 cpu cores: 2 apicid: 0 aanvankelijke apicid: 0 processor: 1 fysieke id: 0 broers en zussen: 4 kern-id: 0 cpu-kernen: 2 apicid: 1 initiële apicid: 1 processor: 2 fysieke id: 0 broers en zussen: 4 kern-id: 1 cpu-kernen: 2 apicid: 2 initiële apicid: 2 processor: 3 fysieke id: 0 broers en zussen: 4 kern-id: 1 cpu-kernen: 2 apicid: 3 initiële apicid: 3

Op FreeBSD wordt de topologie gerapporteerd via het sysctl-mechanisme in de kern.sched.topology_spec variabele als XML:

Verborgen tekst

gebruiker@host:~$ sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1 DRAAD groepSMT-groep 2, 3 DRAAD groepSMT-groep 4, 5 DRAAD groepSMT-groep 6, 7 DRAAD groepSMT-groep

In MS Windows 8 kan topologie-informatie worden bekeken in Taakbeheer.

...tijdens het ontwikkelingsproces zal het aantal kernen steeds groter worden.

(Intel-ontwikkelaars)

Een korte kroniek van het ‘nucleaire’ ras van chipmakers, of hoe de processor werd

1999 – 's werelds eerste 2-core CPU– server RISC-CPU IBM Power4.

Het tijdperk van multi-coreprocessors is begonnen!

2001– de verkoop van 2-coreprocessors begon IBM Power4.

2002– het bedrijf kondigde de vooruitzichten aan om twee kernen te gebruiken in zijn K8-architectuurprocessors AMD. Bijna gelijktijdig werd een soortgelijke verklaring afgelegd door Intel.

December 2002– de eerste desktops kwamen uit Intel Pentium4, ter ondersteuning van “virtuele” 2-coretechnologie Hyperthreading.

2004IBM heeft de tweede generatie van zijn 2-coreprocessors uitgebracht - IBM Power5. Elk van de kernen Vermogen 5 ondersteunt de gelijktijdige uitvoering van twee programmathreads (dat wil zeggen, het is uitgerust met een analoog Hyperthreading).

18 april 2005Intel bracht 's werelds eerste desktop dual-coreprocessor uit Pentium Extreme-editie 840(codenaam - Smithfield). Gemaakt met behulp van 90nm-technologie.

21 april 2005AMD Athlon 64X2(codenaam - Toledo) met kloksnelheden van 2,0 tot 2,4 GHz. Gemaakt met behulp van 90nm-technologie.

1 augustus 2005AMD introduceerde een lijn van 2-coreprocessors Athlon 64X2(codenaam - Manchester) met kloksnelheden van 2,0 tot 2,4 GHz. Gemaakt met behulp van 90nm-technologie.

In de tweede helft van 2005 Intel problemen:

Pentium D8**(codenaam - Smithfield) met kloksnelheden van 2,8 tot 3,2 GHz. Gemaakt met behulp van 90nm-technologie. 2-coreprocessors Pentium D– dit zijn twee onafhankelijke kernen gecombineerd op één siliciumwafel. Processorkernen zijn gebaseerd op architectuur NetBurst verwerkers Pentium4;

– lijn van 2-coreprocessors Pentium D9**(codenaam - Presler) met kloksnelheden van 2,8 tot 3,4 GHz. Gemaakt met behulp van 65nm-technologie (opgemerkt moet worden dat ingenieurs Intel profiteerde van de 65 nm-procestechnologie, die een kleiner die-oppervlak of een groter aantal transistors mogelijk maakt).

23 mei 2006AMD introduceerde een lijn van 2-coreprocessors Athlon 64X2(codenaam - Windsor) met kloksnelheden van 2,0 tot 3,2 GHz. Gemaakt met behulp van 90nm-technologie.

27 juli 2006- bedrijf Intel Intel Core2Duo(codenaam - Conroe) met een klokfrequentie van 1,8 – 3,0 GHz. Gemaakt met behulp van een 65nm-procestechnologie.

27 september 2006Intel demonstreerde een prototype van een 80-coreprocessor. Aangenomen wordt dat massaproductie van dergelijke processors pas mogelijk zal zijn na de transitie naar een 32-nanometer procestechnologie (vermoedelijk in 2010).

november 2006Intel heeft een reeks 4-coreprocessors uitgebracht Intel Core 2 Quad Q6***(codenaam - Kentsfield) met een klokfrequentie van 2,4 – 2,6 GHz. Gemaakt met behulp van 65nm-technologie. In feite zijn ze een samenstel van twee kristallen Conroe in één gebouw.

5 december 2006AMD introduceerde een lijn van 2-coreprocessors Athlon 64X2(codenaam - Brisbane) met kloksnelheden van 1,9 tot 2,8 GHz. Gemaakt met behulp van 65nm-technologie.

10 september 2007AMD vrijgegeven native (in de vorm van een enkele chip) 4-coreprocessors voor servers AMD quad-core opteron(codenaam - Barcelona). Gemaakt met behulp van 65nm-technologie.

19 november 2007AMD heeft een 4-coreprocessor voor homecomputers uitgebracht AMD Quad-Core-fenomeen. Gemaakt met behulp van 65nm-technologie.

November 2007- bedrijf Intel introduceerde een lijn van 2-coreprocessors Penryn met kloksnelheden van 2,1 tot 3,3 GHz. Gemaakt met behulp van 45nm-technologie.

6 januari 2008- bedrijf Intel uitgebracht (onder de merken Kern 2Duo En Kern 2 Extreem) eerste batches van 2-coreprocessors Penryn, gemaakt met behulp van 45nm-technologie.

Februari 2008 is een wereldberoemde fabrikant van communicatieapparatuur, bedrijf Cisco-systemen, ontwikkeld QuantumFlow– 40-coreprocessor ontworpen voor installatie in netwerkapparatuur. De processor, die meer dan vijf jaar nodig had om te ontwikkelen, kan tot 160 parallelle berekeningen uitvoeren. De chip zal worden gebruikt in nieuwe netwerkapparaten.

Maart 2008– single-coreprocessors van de familie Pentium4(661, 641 en 631) en 2-kerngezinnen Pentium D(945, 935, 925 en 915) stopgezet.

Maart 2008- bedrijf AMD uitgebrachte 3-coreprocessors Fenomeen X3 8400, 8600, 8450, 8650 en 8750 met kloksnelheden van 2,1 tot 2,4 GHz. Gemaakt met behulp van 65nm-technologie. In feite zijn deze processors 4-core Fenomeen met één kern uitgeschakeld. Deze processors werden in september 2007 aangekondigd. Volgens de ontwikkelaar zijn dergelijke chips ontworpen voor degenen "voor wie twee cores niet genoeg zijn, maar niet bereid zijn om voor vier te betalen."

Het belangrijkste voordeel van 3-coreprocessors is dat ze lagere kosten hebben in vergelijking met 4-corechips, maar sneller werken dan 2-corechips, waardoor de assortimentsruimte tussen beide wordt opgevuld. Belangrijkste concurrent AMD– onderneming Intel– produceert dergelijke processors niet. Voor het eerst over het voornemen om met de productie van dergelijke chips te beginnen AMD 2007 aangekondigd

Maart 2008- bedrijf AMD op de tentoonstelling 2008 in Hannover presenteerde zijn eerste processors vervaardigd op basis van de 45-nm-procestechnologie. Quad-corechips met codenaam Sjanghai voor servers en Deneb voor desktopsystemen werden in de fabriek vervaardigd Fab 36 in Dresden, Duitsland. Voor hun productie werden substraten van 300 mm gebruikt. Het bedrijf ontwikkelde een technologisch proces met een topologisch niveau van 45 nm AMD samen met zijn partner, het bedrijf IBM. Nieuwe processors Sjanghai En Deneb, evenals Fenomeen X4, zijn “echt” 4-core, omdat alle vier de kernen op hetzelfde siliciumsubstraat zijn geplaatst.

April 2008- bedrijf AMD vrijgegeven 4-coreprocessors Fenomeen X4– 9550, 9650, 9750 en 9850 – met een klokfrequentie van 2,2–2,5 GHz. Gemaakt met behulp van 65nm-technologie.

Mei 2008– 8-coreprocessor uitgebracht Cel van IBM. Gebruikt binnen PlayStation.

September 2008- bedrijf Intel Intel Core 2 Quad Q8***(codenaam - Yorkveld) met een klokfrequentie van 2,3 – 2,5 GHz. Gemaakt met behulp van 45nm-technologie.

September 2008- bedrijf Intel heeft een reeks 4-coreprocessors uitgebracht Intel Core 2 Quad Q9***(codenaam - Yorkveld) met een klokfrequentie van 2,5 – 3,0 GHz. Gemaakt met behulp van 45nm-technologie.

15 september 2008– op de conferentie VMwereld, georganiseerd door het bedrijf VMware, bedrijf Intel heeft officieel de release aangekondigd van de eerste in massa geproduceerde 6-core serverprocessor in de sector Xeon 7400(codenaam van de chips is Dunnington). In feite bestaat het uit drie 2-kernkristallen gecombineerd in één pakket. Gemaakt met behulp van 45 nm-technologie, werkend op een frequentie van 2,66 GHz. Kan met meerdere besturingssystemen tegelijk werken. Heeft hardwareondersteuning voor virtualisatietechnologie ( Intel-virtualisatietechnologie).

Oktober 2008- bedrijf Intel ontwikkelde een 80-coreprocessor. Het werd vervaardigd met behulp van 65 nm-technologie, waardoor het formaat kon worden verkleind, maar het blijft desalniettemin te groot voor commercieel gebruik. Hoogstwaarschijnlijk zal de processor de komende zeven jaar in ontwikkeling zijn. Op dit moment maken de bestaande technologieën het niet mogelijk om het energieverbruik en de omvang ervan te verminderen. Volgens deskundigen zal massaproductie pas na 2012 mogelijk zijn Intel zal de 10nm-procestechnologie beheersen. Op dit moment is bekend dat het bedrijf van plan is eind 2009 de 32 nm-processortechnologie te introduceren, en 22 nm in 2011.

Nu kan de processor het besturingssysteem niet eens draaien, maar dit stoort de ontwikkelaars niet. Er vindt op grote schaal een inloop plaats van nieuwe functies die in de toekomst in processors zullen worden gebruikt, waarvan er één slim-een functie om ongebruikte kernen uit te schakelen, wat een positief effect zal hebben op het stroomverbruik en de warmteafvoer.

17 november 2008Intel introduceerde een lijn van 4-coreprocessors Intel Core i7, die gebaseerd zijn op een nieuwe generatie microarchitectuur Nehalem. De processors werken op een klokfrequentie van 2,6 – 3,2 GHz. Gemaakt met behulp van een 45nm-procestechnologie. Hun belangrijkste kenmerk is dat de geheugencontroller een integraal onderdeel van de processor is geworden. Dit maakte het mogelijk om de werkingssnelheid van de chip met RAM-modules te verhogen en maakte de frontsysteembus overbodig FSB.

December 2008– leveringen van 4-coreprocessor zijn begonnen AMD Phenom II 940(codenaam - Deneb). Werkt op een frequentie van 3 GHz, geproduceerd met behulp van een 45 nm-procestechnologie.

Februari 2009- bedrijf AMD demonstreerde de eerste 6-core serverprocessor. Gemaakt met behulp van 45nm-technologie. Codenaam processor – Istanbul, het zal serverprocessors vervangen Opteron met codenaam Sjanghai, die slechts 4 kernen hebben.

Februari 2009- bedrijf AMD kondigde de start aan van de levering van nieuwe modellen:

– 3-kern Fenomeen II X3(chipcodenaam - Toliman) met een klokfrequentie van 2,8 GHz. Gemaakt met behulp van 45nm-technologie;

– 4-kern Phenom II X4 810(chipcodenaam - Draak) met een klokfrequentie van 2,6 GHz. Gemaakt met behulp van 45nm-technologie.

april 2009- bedrijf Intel Start levering van 32nm centrale processors Westmere fabrikanten , zowel mobiele systemen als desktops. Hoewel we het niet hebben over kant-en-klare commerciële oplossingen, maar alleen over de eerste testkopieën, is het belangrijkste doel van de apparaten om ze te testen om enkele bedieningsfuncties te identificeren, zodat fabrikanten het ontwerp van hun systemen kunnen debuggen en computers kunnen vrijgeven die volledig compatibel met de nieuwe generatie processors.

In hun kern: verwerkers Westmere zijn een 32nm-architectuur Nehalem. De familie omvat twee categorieën microchips: oplossingen voor desktopcomputers (codeaanduiding - Clarkdale), en apparaten voor mobiele systemen (codeaanduiding - Arrandale).

"Mobiele" processoren Arrandale omvatten niet alleen de processorkern zelf, maar ook geïntegreerde grafische afbeeldingen. Volgens de ontwikkelaars kan deze architectuur het stroomverbruik van de processor-systeemlogica-combinatie met geïntegreerde grafische kaart aanzienlijk verminderen. Bovendien zullen, als gevolg van de overgang naar een nauwkeuriger technologisch proces, de kosten voor het vervaardigen van de microchips zelf dalen, en als gevolg van de integratie van een groter aantal elementen op één ‘chip’ zullen de kosten van voltooide mobiele computers ook dalen. .

Levering van seriële processors Westmere zou eind 2009 van start moeten gaan.

april 2009- bedrijf AMD heeft twee nieuwe modellen 4-core centrale processors voor pc’s uitgebracht – Phenom II X4 955 zwarte editie En Phenom II X4 945. Gemaakt met behulp van 45nm-technologie.

14 mei 2009- bedrijf Fujitsu kondigde de oprichting aan van 's werelds meest productieve processor, die tot 128 miljard drijvende-kommabewerkingen per seconde kan uitvoeren. CPU SPARC64 VIIfx(codenaam Venus) werkt ongeveer 2,5 keer sneller dan de krachtigste chip van 's werelds grootste chipleverancier Intel.

De verhoging van de bedrijfssnelheid werd mogelijk gemaakt door een nauwere integratie van processorcircuits en de overgang naar 45 nm-technologie. Wetenschappers konden 8 rekenkernen op een siliciumwafel plaatsen met een oppervlakte van 2 cm2, in plaats van 4 bij eerdere ontwikkelingen. Het verlagen van het topologieniveau resulteerde ook in een lager energieverbruik. IN Fujitsu beweren dat hun chip drie keer minder energie verbruikt dan moderne processors Intel. Naast 8 cores bevat de chip een RAM-controller.

CPU SPARC64 VIIfx gepland om te worden gebruikt in een nieuwe supercomputer, die zal worden gebouwd bij het Instituut voor Natuurwetenschappen RIKEN in Japan. Het bevat 10.000 van deze chips. De supercomputer zal naar verwachting worden gebruikt voor het voorspellen van aardbevingen, het onderzoeken van medicijnen, raketmotoren en ander wetenschappelijk werk. De computer zal naar verwachting vóór het voorjaar van 2010 op de markt komen.

Mei 2009- bedrijf AMD introduceerde een overgeklokte versie van de GPU ATI Radeon HD4890 waarbij de kernkloksnelheid werd verhoogd van 850 MHz naar 1 GHz. Dit is de eerste GPU die op 1 GHz draait. De rekenkracht van de chip is dankzij een verhoging van de frequentie toegenomen van 1,36 naar 1,6 teraflops (opgemerkt moet worden dat videokaarten op basis van de overgeklokte versie RadeonHD4890 vereisen geen vloeistofkoeling (een ventilator is voldoende).

De processor bevat 800 verwerkingskernen en ondersteunt videogeheugen GDDR5, , ATI CrossFireX en alle andere technologieën die inherent zijn aan moderne videokaartmodellen. De chip is vervaardigd op basis van 55 nm-technologie.

27 mei 2009– onderneming Intel officieel de nieuwe processor geïntroduceerd Xeon onder de codenaam Nehalem-EX. De processor zal maximaal 8 rekenkernen bevatten, die de verwerking van maximaal 16 threads tegelijkertijd ondersteunen. De grootte van het cachegeheugen is 24 MB.

IN Nehalem-EX Er zijn nieuwe middelen geïmplementeerd om de betrouwbaarheid te verbeteren en het onderhoud te vergemakkelijken. De processor erfde enkele functies die de chips hadden Intel Itanium, Bijvoorbeeld, Herstel van Machine Check Architecture (MCA).. Ook implementeert de 8-coreprocessor technologieën Turbo-modus En QuickPath-interconnect. De eerste technologie zorgt ervoor dat gestopte cores vrijwel onmiddellijk in gevechtsmodus kunnen worden gebracht (wat de processorprestaties verbetert), en de tweede technologie zorgt ervoor dat processorcores rechtstreeks toegang krijgen tot I/O-controllers met snelheden tot 25,5 GB/sec.

Nehalem-EX in staat om 9 keer hogere RAM-snelheid te bieden vergeleken met Intel Xeon 7400 vorige generatie.

De nieuwe chip is geschikt voor consolidatie van serverbronnen, virtualisatie, het draaien van data-intensieve applicaties en voor wetenschappelijk onderzoek. De massaproductie zal naar verwachting in de tweede helft van 2009 beginnen. De chip zal worden vervaardigd op basis van 45 nm-technologie met behulp van een transistorformule. Hallo. Aantal transistors – 2,3 miljard. De eerste systemen gebaseerd Nehalem-EX verwacht begin 2010

1 juni 2009- bedrijf AMD kondigde de start aan van de levering van 6-core serverprocessors Opteron(codenaam Istanbul) voor systemen met twee, vier en acht processorsockets. Volgens AMD 6-coreprocessors zijn ongeveer 50% sneller vergeleken met serverprocessors met vier cores. Istanbul zal concurreren met 6-coreprocessors Intel Xeon onder de codenaam Dunnington, die in september 2008 in de verkoop ging. De processor is vervaardigd met behulp van 45 nm-technologie, werkt op een frequentie van 2,6 GHz en heeft 6 MB cache op het derde niveau.

Augustus 2009– onderneming IBM introduceerde 8-coreprocessors Vermogen 7(elke kern kan maximaal 4 opdrachtstromen tegelijkertijd verwerken).

9 september 2009Intel nieuwe processors geïntroduceerd - Kern i7-860 ( 2,8 GHz) En Kern i7-870(2,93 GHz) met de mogelijkheid om de klokfrequentie te verhogen naar respectievelijk 3,46 en 3,6 GHz (technologie Intel TurboBoost). De chips hebben een cachegeheugen van 8 MB en geïntegreerde 2-kanaals RAM-controller DDR3-1333. Elk van de gepresenteerde 4-coreprocessors Kern i7 kan dankzij de technologie door het systeem worden herkend als 8-core Hyperthreading. De codenaam van de chips is Bloomfield, architectuur – Nehalem, technisch proces – 45 nm.

22 september 2009- bedrijf AMD kondigde zijn voornemen aan om de eerste 6-core centrale processors voor pc's uit te brengen. De nieuwe producten zullen gebaseerd zijn op de 6-core architectuur van serverprocessors AMD Opteron Istanboel, hun codeaanduiding is Thuban. Zoals serverprocessors Istanbul, Thuban Het zullen apparaten zijn die gebaseerd zijn op één kristal, terwijl de productie van geïntegreerde schakelingen zal worden uitgevoerd met behulp van een 45-nm-procestechnologie. 6-coreprocessors zullen, net als hun server-tegenhangers, uit 904 miljoen transistors bestaan, terwijl het chipoppervlak 346 vierkante meter zal bedragen. mm. Vermoedelijk zullen er onder de processors op de markt verschijnen AMD Phenom II X6.

22 september 2009Intel lanceert 's werelds eerste processors op basis van 32 nm-technologie (codenaam van de chips is Westmere). Nieuwe processors zullen technologieën ondersteunen Intel TurboBoost(verhoog de klokfrequentie op aanvraag) en Hyperthreading(multithreaded verwerking), evenals een nieuwe reeks opdrachten Geavanceerde coderingsstandaard (AES) voor snellere codering en decodering. Daarnaast, Westmere– de eerste krachtige processors met een grafische kern geïntegreerd op hetzelfde siliciumsubstraat als computerkernen.

2 december 2009- bedrijf Intel presenteerde een experimentele 48-coreprocessor (voorlopig een “single-chip cloud computer” genoemd), een miniatuur datacenter dat op een siliciumchip past met een oppervlakte niet groter dan een postzegel. Het prototype zal worden gebruikt bij verder onderzoek naar multi-core systemen. Dankzij de nieuwste energiebeheertechnologieën, waaronder de mogelijkheid om kernen individueel uit te schakelen en hun snelheid te beperken, verbruikt de chip slechts 25 W in de standby-modus. In de maximale prestatiemodus verbruikt de chip 125 W.

23 februari 2010- bedrijf AMD begon met het leveren van 8- en 12-core serverprocessors Opteron 6100-serie met codenaam Magny-Cours. Deze processors zijn ontworpen om in een socket te worden geïnstalleerd G34. Hun niveau TDP varieert van 85 tot 140 Watt, wat op zijn beurt afhangt van de frequentie van elk van de 12 kernen (van 1,7 tot 2,4 GHz, afhankelijk van het model).

Eind februari 2010Intel begon met de implementatie van 6-coreprocessors Core i7-980 Extreme-editie(codenaam Golfstad). Geproduceerd op basis van 32 nm-technologie. De klokfrequentie is 3,33 GHz (in Turbo bedrijfssnelheid bereikt 3,60 GHz).

16 maart 2010Intel introduceerde 32nm 6-coreprocessors Xeon 5600 voor servers en desktopsystemen (kan werken op een maximale frequentie van 2,93 GHz bij TDP 95W). Processors in deze familie hebben beveiligingsfuncties Intel Advanced Encryption Standard Nieuwe instructie (AES-NI) En Intel Trusted Execution-technologie (Intel TXT), die versnelde gegevenscodering en -decodering en op hardware gebaseerde malwarebescherming en ondersteunende technologieën biedt Intel TurboBoost En Hyperthreading.

28 maart 2010AMD begon met het verzenden van de eerste 8- en 12-cores serverprocessors op architectuur x86 . Heeft zich bij de familie aangesloten AMD Opteron 6100 en voorheen bekend als Magny-Cours zijn de nieuwe chips ontworpen voor data-intensieve systemen met 2 en 4 sockets. Het bedrijf beweert dat de nieuwe processors de kosten voor elektriciteit, warmteafvoer en software verlagen, waarvan de kosten van een licentie afhankelijk zijn van het aantal processors in het systeem. De nieuwe chips worden geproduceerd op basis van de 45 nm-procestechnologie. De processors bestaan ​​uit twee kristallen die elk respectievelijk 4 of 6 kernen bevatten. De kosten van chips variëren van $ 266 voor een 8-core Opteron 6128 met een klokfrequentie van 1,5 GHz en een stroomverbruik van 65 W tot $1386 voor een 12-core Opteron 6176 SE met een klokfrequentie van 2,4 GHz en een verbruik van 105 W.

31 maart 2010Intel kondigde 4-, 6- en 8-core serverchips aan Nehalem-EXXeon 6500 En Xeon 7500. De nieuwe chips ondersteunen onder meer de technologie voor het eerst Architectuur van machinecontrole (MCA) Herstel, waarmee u een systeem kunt herstellen na een fatale systeemfout, waarbij halfgeleidercomponenten, het besturingssysteem en de manager betrokken zijn bij het herstelproces.

25 april 2010- bedrijf AMD begon met het leveren van 6-coreprocessors AMD Phenom II X6( codenaam Thuban). De klokfrequentie van het model is 2,8 GHz. De processors zijn gemaakt met behulp van een 45 nm-procestechnologie en zijn uitgerust met Turbokern. Deze technologie kiest hoeveel cores er moeten worden gebruikt. Als de belasting licht of middelmatig is, worden er maximaal 3 kernen gebruikt, waarvan de frequentie kan worden verhoogd (terwijl de overige kernen in de standby-modus worden gezet). Bij het uitvoeren van multi-threaded applicaties met intensief gebruik van computerbronnen, opent de processor toegang tot de kernen die in reserve zijn.

20 juli 2010- bedrijf Intel heeft een nieuwe 6-coreprocessor uitgebracht Kern i7-970, ontworpen voor desktopgaming en werkstations. De chip is gemaakt met behulp van 32nm-technologie. De kloksnelheid bedraagt ​​3,2 GHz (de frequentievermenigvuldiger is vergrendeld om overklokken van de processor te voorkomen).

September 2010- bedrijf Orakel officieel de nieuwste 16-core serverprocessors geïntroduceerd die tot de familie van microchips behoren SPARCSPARC T3. Geïntegreerde schakelingen worden vervaardigd met behulp van een technologisch proces van 40 nm, waarbij elke kern werkt op een frequentie van 1,65 GHz.

December 2010- een groep wetenschappers van de Universiteit van Glasgow en de Universiteit van Massachusetts in Lowell, onder leiding van Vanderbouwede ( Vanderbauwhede) heeft een processor gecreëerd die gegevens twintig keer sneller kan verwerken dan moderne desktopprocessors. Als basis nemen FPGA(programmeerbare geïntegreerde schakeling, of zogenaamde gate-array), creëerden wetenschappers een processor met 1000 kernen, die elk een afzonderlijke reeks instructies berekenden. Hiervoor in de chip FPGA Er zijn eerder meer dan 1000 logische circuits gemaakt. Om de werking van de chip te versnellen, hebben ingenieurs elke kern uitgerust met speciaal geheugen.

De mogelijkheden van de processor zijn getest door een bestand te verwerken met behulp van het algoritme dat wordt gebruikt in MPEG. De processor verwerkte dit met een snelheid van 5 GB per seconde, wat ongeveer 20 keer sneller is dan de snelheid waarmee hetzelfde bestand op de krachtigste desktopprocessors wordt verwerkt.

Volgens Vanderbouwede zijn sommige fabrikanten al begonnen met het produceren van hybride oplossingen bestaande uit een centrale processor en een programmeerbare matrix. Een dergelijk product is bijvoorbeeld onlangs geïntroduceerd Intel. De wetenschapper denkt dat dit de komende jaren zal gebeuren FPGA-oplossingen zullen steeds gebruikelijker worden in de consumentenelektronica, omdat ze hoge prestaties en een laag stroomverbruik bieden.

“Het ligt voor de hand dat het creëren van processors met duizenden kernen mogelijk is”, schrijft de auteur van het artikel in ZDNet Clark ( Clark). – In theorie is er niet eens een limiet op het aantal cores. Voordat we dergelijke processors kunnen maken, moeten we echter veel vragen beantwoorden en vooral de vraag of we zo’n aantal kernen nodig hebben, welke toepassingen dergelijke rekenkracht nodig hebben...”

Opmerkingen

1. Codenaam(aanduiding, naam) is de naam van de processorkern.

2. Liniaal is een modelreeks processors uit dezelfde serie. Binnen dezelfde lijn kunnen processors op een aantal parameters aanzienlijk van elkaar verschillen.

3. Chip(Engels) chip) – kristal; chip.

4. Onder technologisch proces(technisch proces, technologie, productietechnologie van microprocessors) verwijst naar de grootte van de transistorpoort. Als we bijvoorbeeld zeggen: 32nm-procestechnologie, - dit betekent dat de poortgrootte van de transistor 32 nanometer is.

5. Kanaal- dit is het gebied van de transistor waar een gecontroleerde stroom van de hoofdladingsdragers doorheen gaat.

Bron– dit is de elektrode van de transistor van waaruit de belangrijkste ladingsdragers het kanaal binnenkomen.

Voorraad– dit is de elektrode van de transistor waardoor de hoofdladingsdragers het kanaal verlaten.

Hek– dit is de elektrode van de transistor, die dient om de dwarsdoorsnede van het kanaal te regelen.

6. In feite zijn transistors miniatuurschakelaars met behulp waarvan juist de "nullen" en "enen" worden gerealiseerd die de basis vormen. De poort is ontworpen om de transistor aan en uit te zetten. Wanneer deze is ingeschakeld, laat de transistor stroom door, maar wanneer deze is uitgeschakeld, gebeurt dat niet. Het poortdiëlektricum bevindt zich onder de poortelektrode. Het is ontworpen om de poort te isoleren wanneer er stroom door de transistor gaat.

Al meer dan 40 jaar wordt siliciumdioxide gebruikt om diëlektrica voor transistorpoorten te maken (vanwege het gebruiksgemak bij massaproductie en het vermogen om de prestaties van de transistor voortdurend te verbeteren door de dikte van de diëlektrische laag te verminderen). Voor specialisten Intel het was mogelijk om de dikte van de diëlektrische laag terug te brengen tot 1,2 nm (wat overeenkomt met slechts 5 atoomlagen!) - dit cijfer werd bereikt in de productietechnologie van 65 nm.

Een verdere afname van de dikte van de diëlektrische laag leidt echter tot een toename van de lekstroom door het diëlektricum, wat resulteert in grotere stroomverliezen en warmteontwikkeling. De toename van de lekstroom door de transistorpoort naarmate de dikte van de diëlektrische laag van siliciumdioxide afneemt, is een van de moeilijkste technische obstakels die onderweg moeten worden overwonnen. Om dit fundamentele probleem op te lossen, heeft het bedrijf Intel siliciumdioxide in het poortdiëlektricum vervangen door een dunne laag materiaal hoog-k op basis van hafnium. Dit maakte het mogelijk om de lekstroom ruim tien keer te verminderen in vergelijking met siliciumdioxide. Materiaal hoog-k Het poortdiëlektricum is niet compatibel met traditionele siliciumpoortelektroden, aldus het tweede deel van het "recept" Intel Voor zijn nieuwe transistors, gemaakt op basis van de 45-nanometer-procestechnologie, begon de ontwikkeling van elektroden met nieuwe metalen materialen. Een combinatie van verschillende metalen materialen wordt gebruikt om transistorpoortelektroden te maken.

7. De chronologie van de schepping die in het artikel wordt gegeven, pretendeert niet alomvattend te zijn.