Het werkingsprincipe van de processorkern. Centrale processor en zijn apparaat

Tegenwoordig heeft bijna elk huis een computer. Het is vandaag de dag moeilijk om je een leven zonder voor te stellen. Zoeken naar de nodige informatie, nieuws en weer bekijken, goederen kopen en verkopen, films en programma's bekijken - dit alles kan zonder uw huis te verlaten en zonder enige moeite. bijzondere inspanning. U hoeft alleen maar uw computer aan te zetten en online te gaan.

Maar weinig mensen denken na over waar een computer uit bestaat, met behulp waarvan je zo snel alle benodigde informatie kunt verkrijgen. Een van de belangrijkste componenten van een computer is de processor. Nadat je hebt uitgezocht hoe de processor werkt, kun je veel nieuwe dingen voor jezelf verduidelijken.

Wat is een verwerker

CPU, of zoals het in de wereld van de informatica wordt genoemd, de CPU is het belangrijkste onderdeel van elke computer, het is het hart en de hersenen. Het is de processor die alle door de gebruiker opgegeven opdrachten uitvoert, alle informatie verwerkt en andere computerapparaten bestuurt.

Tegenwoordig zijn dat de belangrijkste processorfabrikanten Intel en Advanced Micro Devices (AMD), die lange tijd op de markt bestaan informatietechnologie en toonde zich alleen met de beste kant. Natuurlijk zijn er nog andere fabrikanten, maar die zijn nog ver verwijderd van het niveau van deze gigantische bedrijven. Het is interessant dat Intel en AMD voortdurend vechten om het primaat bij de productie van processors, waarbij ze afwisselend eerste posities winnen bij het uitbrengen van nieuwe modellen. Vreemd genoeg is het deze strijd die een impuls geeft aan de voortdurende kwalitatieve ontwikkeling van dit gebied van informatietechnologie.

Verschijning

U moet beginnen met het inspecteren van het computerprocessorapparaat vanaf zijn verschijning. Op het eerste gezicht is het gewoon een metalen doos met achterkant die zich bevindt kleine vergoeding van ongeveer 5x5 cm en diverse contacten, waarmee de processor is verbonden moederbord. Er zitten miljoenen, en soms zelfs miljarden, in het midden van de processor diverse transistoren die het voornaamste werk doen.

Waar is de processor van gemaakt?

De processor zelf bestaat voornamelijk uit zand, of preciezer gezegd, silicium, waarvan slechts 30% zich in de aardkorst bevindt. Het proces van het vormen van processors is behoorlijk complex en vereist speciale apparatuur en materiaalkosten. Kortom, het productieschema van de processor lijkt enigszins op de fotoprinttechnologie: bij de vervaardiging ervan wordt fotolithografietechnologie gebruikt. De rol van fotografie wordt hier gespeeld door "pannenkoeken" - toekomstige processors waarop, met behulp van boorionen die sterk zijn versneld in een speciale versneller, een miniatuurstructuur met veel transistors wordt gecreëerd. En hoe dunner proces, hoe groter de kracht en snelheid van werking van deze structuur. Ieder jaar de maten hiervan structurele elementen steeds minder en binnenkort kunnen ze volgens wetenschappers slechts ongeveer 15 nm bereiken.

Je kunt de hoes verwijderen en kijken interne structuur processor, maar er bestaat een risico op schade aan de beste onderdelen van de processor, wat kan leiden tot onbruikbaarheid ervan.

Componenten

Na verloop van tijd veranderen het ontwerp en de werking van de processor kwalitatief. Ook de omvang van processors neemt af. Tegenwoordig worden vrijwel dezelfde principes voor het construeren van processors gebruikt als voorheen, alleen de grootte van de componenten is veranderd.

De binnenkant van de processor is ook best interessant. Het bestaat uit algemene architectuur- alles inclusief het bord, cores (van de werking waarvan de snelheid van de computer afhangt), bussen (mounts die op het moederbord zijn aangesloten), evenals revisies (deeltjes die kleiner zijn dan de cores, maar ook erg belangrijk en functioneel).

Indicatoren voor computerprestaties

Computerreactie op gegeven commando's kan afhangen van verschillende indicatoren: het aantal cores, het aantal threads (valt mogelijk niet samen met het aantal cores), cachegroottes - het interne geheugen van de processor, klokfrequentie, bussnelheid, evenals het productieproces van de verwerker zelf.

Werkingsprincipe

Nadat we het apparaat in detail hebben bestudeerd, kunnen we nu het werkingsprincipe van de processor bekijken. De computer begint zijn werk nadat hij een bepaald commando van de gebruiker heeft ontvangen.

Maar weinig mensen weten dat elk commando uit twee delen bestaat: operationeel en operand:

  • het operationele deel van de opdracht laat zien wat de computer moet doen,
  • het tweede deel van de opdracht geeft de processor-operands - waar de processor aan zou moeten werken.

Sommige processors kunnen twee pijpleidingen bevatten, d.w.z. rekeneenheid. Elk van hen verdeelt de uitvoering van een commando dat door de gebruiker aan de computer is gegeven in verschillende fasen: genereren, decoderen (dat wil zeggen het decoderen van het commando), uitvoering van het commando zelf, toegang krijgen tot het processorgeheugen en opslaan van de verkregen resultaten. Al deze stappen worden uitgevoerd in zo snel mogelijk. Wanneer een transportband in bedrijf is, krijgt elke fase één klokcyclus van dezelfde frequentie toegewezen, zodat de uitvoering van elk commando in de processor vijf klokcycli krijgt toegewezen.

Door het geheugen van een processor in de cache te plaatsen, worden de prestaties ervan verhoogd. Tegenwoordig is het gebruikelijk om twee cachegeheugens te gebruiken, omdat... het gebruik ervan leidde tot conflicten bij het uitvoeren van opdrachten. Dit komt door het feit dat vaak twee teams probeerden informatie uit dezelfde cache te halen. Afzonderlijke caching elimineert het optreden van dergelijke situaties volledig en maakt het mogelijk twee opdrachten tegelijkertijd uit te voeren.

Als u begrijpt hoe een computerprocessor werkt, is het de moeite waard om dat te overwegen computerprocessors Er zijn verschillende typen: lineair, cyclisch en vertakkend.

  • Lineaire processors voeren instructies uit, afhankelijk van de volgorde waarin ze in RAM worden geschreven.
  • Cyclische en vertakkende processors voeren instructies uit afhankelijk van de resultaten van het controleren van vertakkingsomstandigheden.

Het is ook belangrijk om te weten hoe processorbussen werken. Er zijn er twee, één, de snelle bus werkt met de cache van het tweede niveau, de tweede bus (langzamer) is ontworpen om informatie uit te wisselen met andere apparaten.

Een personal computer is een zeer complex en veelzijdig ding, maar in elk systeem eenheid we zullen het centrum van alle operaties en processen vinden: de microprocessor. Waaruit bestaat een computerprocessor en waarom is deze nog nodig?

Waarschijnlijk zullen velen blij zijn om te horen waaruit de microprocessor van een personal computer bestaat. Het bestaat vrijwel geheel uit gewone stenen en rotsen.

Ja dat klopt... De processor bevat stoffen zoals bijvoorbeeld silicium – hetzelfde materiaal waar zand en granieten rotsen van gemaakt zijn.

Hoffa-processor

De eerste microprocessor voor een personal computer werd bijna een halve eeuw geleden uitgevonden - in 1970 door Marchian Edward Hoff en zijn team van ingenieurs van Intel.

Hoff's eerste processor draaide op slechts 750 kHz.

De belangrijkste kenmerken van een computerprocessor van vandaag zijn natuurlijk niet vergelijkbaar met de bovenstaande figuur; de huidige 'stenen' zijn duizenden keren krachtiger dan hun voorouder, en daarvoor is het beter om een ​​​​beetje vertrouwd te raken met de problemen die daarmee gepaard gaan. het lost op.

Veel mensen geloven dat verwerkers kunnen ‘denken’. Het moet meteen gezegd worden dat hier geen kern van waarheid in zit. Elke superkrachtige personal computerprocessor bestaat uit veel transistors - originele schakelaars die één enkele functie vervullen - om het signaal door te geven of te stoppen. De keuze is afhankelijk van de signaalspanning.

Als je het van de andere kant bekijkt, kun je zien waaruit een microprocessor bestaat, en deze bestaat uit registers - informatieverwerkingscellen.

Om de "steen" met andere apparaten van de personal computer te verbinden, wordt een speciale hogesnelheidsweg, een "bus" genaamd, gebruikt. Kleine elektromagnetische signalen ‘vliegen’ er razendsnel langs. Dit is het werkingsprincipe van een computer- of laptopprocessor.

Microprocessor-apparaat

Hoe werkt een computerprocessor? In elke microprocessor zijn er 3 componenten:

  1. Processorkern (dit is waar de scheiding van nullen en enen plaatsvindt);
  2. Cachegeheugen is een kleine opslag van informatie direct in de processor;
  3. Een coprocessor is een speciaal hersencentrum van elke processor waarin de meeste complexe operaties. Hier werken wij met multimediabestanden.

Een vereenvoudigde versie van een computerprocessorcircuit ziet er als volgt uit:


Een van de belangrijkste indicatoren van een microprocessor is de klokfrequentie. Het laat zien hoeveel cycli de “steen” per seconde maakt. De kracht van een computerprocessor hangt af van de combinatie van hierboven gegeven indicatoren.

Opgemerkt moet worden dat raketlanceringen en satellietoperaties ooit werden bestuurd door microprocessors met een klokfrequentie die duizenden keren lager was dan die van hun huidige ‘broeders’. En de grootte van één transistor is 22 nm, de laag transistors is slechts 1 nm. Ter referentie: 1 nm is de dikte van 5 atomen!

Nu weet je hoe een computerprocessor werkt en welke successen zijn geboekt door wetenschappers die bij personal computerproductiebedrijven werken.

Gebruikt u een computer of mobiel apparaat om dit onderwerp momenteel te lezen. De computer of het mobiele apparaat gebruikt een microprocessor om deze acties uit te voeren. De microprocessor is het hart van elk apparaat, server of laptop. Er zijn veel merken microprocessors van de meeste verschillende fabrikanten, maar ze doen allemaal ongeveer hetzelfde en op ongeveer dezelfde manier.

Microprocessor- ook wel verwerker of centraal blok Processing is een computerengine die op één enkele chip is vervaardigd. De eerste microprocessor was de Intel 4004, deze verscheen in 1971 en was niet zo krachtig. Het kon optellen en aftrekken, en het waren slechts 4 bits tegelijk. De processor was geweldig omdat hij op één chip was gemaakt. Waarom, vraag je? En ik zal antwoorden: ingenieurs produceerden destijds processors uit verschillende chips of uit afzonderlijke componenten (transistors werden in afzonderlijke pakketten gebruikt).

Als je je ooit hebt afgevraagd wat een microprocessor in een computer doet, hoe hij eruit ziet of hoe hij verschilt van andere soorten microprocessors, ga dan naar onder kat- alle meest interessante dingen en details zijn aanwezig.

Vooruitgang in de productie van microprocessors: Intel

De eerste microprocessor, die later het hart van een eenvoudige computer werd thuiscomputer, was de Intel 8080 - een complete 8-bits computer op één chip, geïntroduceerd in 1974. De eerste microprocessor veroorzaakte een echte plons op de markt. Het werd later uitgebracht in 1979 nieuw model- Intel 8088. Als u bekend bent met de pc-markt en zijn geschiedenis, dan weet u dat de pc-markt is overgegaan van de Intel 8088 naar de Intel 80286, en dat naar de Intel 80386 en Intel 80486, en vervolgens naar de Pentium, Pentium II, Pentium III en Pentium 4 Al deze microprocessors zijn gemaakt door Intel en het zijn allemaal verbeteringen op het standaard Intel 8088-ontwerp. De Pentium 4 kan elke code uitvoeren, maar doet dit 5000 keer sneller.

In 2004 jaar Intel introduceerde microprocessors met meerdere kernen en miljoenen transistors, maar zelfs deze microprocessors volgden algemene regels, zoals eerder vervaardigde chips. Aanvullende informatie in de tabel:


  • Datum: is het jaar waarin de processor voor het eerst werd geïntroduceerd. Veel processors werden jarenlang na de oorspronkelijke releasedatum opnieuw uitgebracht met hogere kloksnelheden.
  • Transistoren: Dit is het aantal transistors op de chip. Je kunt zien dat het aantal transistors op één chip door de jaren heen gestaag is gegroeid
  • Micron: De breedte in microns van de kleinste draad op de chip. Ter vergelijking kan ik mensenhaar noemen, dat ongeveer 100 micron dik is. Naarmate de afmetingen steeds kleiner werden, nam het aantal transistors toe
  • Klokfrequentie: maximale snelheid, die de chip kan ontwikkelen. Ik zal je later vertellen over de klokfrequentie.
  • Databreedte (bus): is de breedte van de ALU (rekenkundige logische eenheid). Een 8-bits ALU kan optellen, aftrekken, vermenigvuldigen, enz. In veel gevallen heeft de databus dezelfde breedte als de ALU, maar niet altijd. Intel 8088 was 16-bit en had een 8-bit-bus moderne modellen Pentium 64-bits.
  • MIPS: Deze kolom in de tabel staat voor het weergeven van het aantal bewerkingen per seconde. Is een meeteenheid voor microprocessors. Moderne processors kunnen zoveel verschillende dingen doen dat de huidige beoordelingen in de tabel alle betekenis verliezen. Maar je kunt de relatieve kracht van de microprocessors van die tijd voelen
Uit deze tabel kunt u zien dat er over het algemeen een relatie bestaat tussen de kloksnelheid en MIPS (het aantal uitgevoerde bewerkingen per seconde). De maximale kloksnelheid is een functie van de productieprocessor. Er is ook een relatie tussen het aantal transistors en het aantal bewerkingen per seconde. Een Intel 8088 geklokt op 5 MHz (nu 2,5-3 GHz) voert bijvoorbeeld slechts 0,33 MIPS uit (ongeveer één instructie voor elke 15 klokcycli). Moderne processors kunnen vaak twee instructies per klokcyclus uitvoeren. Deze toename houdt rechtstreeks verband met het aantal transistors op de chip en ik zal hier later ook over praten.

Wat is een chip?


De chip wordt ook wel genoemd geïntegreerde schakeling. Dit is meestal een klein, dun stukje silicium waarop de transistors waaruit de microprocessor bestaat, zijn gegraveerd. Een chip kan 2,5 cm groot zijn, maar toch tientallen miljoenen transistors bevatten. Meer eenvoudige processoren kan bestaan ​​uit enkele duizenden transistors die op een chip van slechts enkele vierkante millimeters zijn geëtst.

Hoe werkt dit



Intel Pentium 4


Om te begrijpen hoe een microprocessor werkt, zou het nuttig zijn om naar binnen te kijken en meer te weten te komen over de interne onderdelen ervan. Tijdens het proces kun je ook leren over assembleertaal - moedertaal microprocessor, en veel dingen die ingenieurs kunnen doen om de processorsnelheid te verhogen.

De microprocessor voert een verzameling machine-instructies uit die de processor vertellen wat hij moet doen. Op basis van instructies doet de microprocessor drie belangrijke dingen:

  • Met behulp van zijn ALU (arithmetic logic unit) kan de microprocessor presteren wiskundige bewerkingen. Bijvoorbeeld optellen, aftrekken, vermenigvuldigen en delen. Moderne microprocessors zijn in staat uiterst complexe bewerkingen uit te voeren
  • De microprocessor kan gegevens van de ene geheugenlocatie naar de andere verplaatsen
  • De microprocessor kan beslissingen nemen en op basis van die beslissingen naar een nieuwe instructieset gaan


Om het bot te zeggen: een microprocessor doet complexe dingen, maar hierboven heb ik drie hoofdactiviteiten beschreven. Het volgende diagram toont een zeer eenvoudige microprocessor die deze drie dingen kan doen. Deze microprocessor heeft:

  • Adresbus (8, 16 of 32 bits) die geheugentoegangen verzendt
  • Databus (8, 16 of 32 bits) die gegevens naar het geheugen verzendt of gegevens uit het geheugen ontvangt
  • RD (lezen) en WR (schrijven) vertellen het geheugen of ze de geadresseerde locatie willen instellen of ophalen
  • Een kloklijn waarmee u de volgorde van de processorklokpulsen kunt bekijken
  • Resetregel, die de programmateller op nul zet en de uitvoering opnieuw start

Microprocessorgeheugen

Eerder hadden we het over adres- en databussen, maar ook over lees- en schrijflijnen. Dit alles is verbonden met RAM (Random Access Memory) of ROM (alleen-lezen geheugen of alleen-lezen geheugen, ROM) - meestal beide. In ons microprocessorvoorbeeld hebben we een brede adresbus van 8 bits en een even brede databus - ook 8 bits. Dit betekent dat de microprocessor toegang heeft tot 2^8 tot 256 bytes geheugen, en 8 bits geheugen tegelijk kan lezen en schrijven. Laten we aannemen dat deze eenvoudige microprocessor 128 bytes geheugen op de chip heeft, beginnend bij adres 0, en 128 bytes RAM, beginnend bij adres 128.

RAM staat voor alleen-lezen geheugen. Chip permanente herinnering geprogrammeerd met constante vooraf ingestelde doelbytes. Het busadres vertelt de RAM-chip welke bytes moeten worden bereikt en op de databus moeten passen. Wanneer de leeslijn van status verandert, presenteert de alleen-lezen geheugenchip de geselecteerde byte aan de databus.

RAM staat voor RAM, lol. RAM bevat bytes aan informatie, en de microprocessor kan naar deze bytes lezen of schrijven, afhankelijk van of de lijn lezen of schrijven signaleert. Een van de problemen die je kunt tegenkomen bij de huidige chips is dat ze alles vergeten zodra de energie op is. Daarom moet de computer RAM hebben.



RAM-chip of alleen-lezen geheugenchip (ROM).


Trouwens, bijna alle computers bevatten een bepaalde hoeveelheid RAM. Op persoonlijke computer Het permanente opslagapparaat wordt BIOS (Basic Input/Output System) genoemd. Wanneer de microprocessor opstart, begint deze de instructies uit te voeren die hij in het BIOS vindt. BIOS-instructies vervullen trouwens ook hun rol: ze controleren de hardware en dan gaat alle informatie naar harde schijf om een ​​opstartsector te creëren. De opstartsector is één klein programma en het BIOS slaat het op in het geheugen nadat het van schijf is gelezen. De microprocessor begint dan instructies uit te voeren opstartsector van RAM. Het opstartsectorprogramma zal de microprocessor laten zien wat er nog meer mee moet worden genomen. harde schijf in RAM, en doet dit allemaal, enzovoort. Dit is hoe de microprocessor het volledige besturingssysteem laadt en uitvoert.

Microprocessor-instructies

Zelfs de ongelooflijk eenvoudige microprocessor die ik zojuist heb beschreven, zal een vrij groot aantal instructies hebben die hij kan uitvoeren. De verzameling instructies wordt geïmplementeerd als bitpatronen, die elk een andere betekenis hebben wanneer ze in de instructiesector worden geladen. Mensen zijn niet bijzonder goed in het onthouden van bitpatronen, omdat het een verzameling korte woorden is. Overigens wordt deze reeks korte woorden processor-assembleertaal genoemd. Een assembler kan woorden heel gemakkelijk in een bitpatroon vertalen, en vervolgens worden de inspanningen van de assembler in het geheugen geplaatst zodat de microprocessor kan worden uitgevoerd.

Hier is een set assembleertaalinstructies:

  • LOADA mem- laden in register met geheugenadres
  • LOADB-mem- laden in register B vanaf het geheugenadres
  • CONB-mem- laad een constante waarde in register B
  • SAVEB mem- sla register B op in het geheugenadres
  • SAVEC-mem- sla register C op in het geheugenadres
  • TOEVOEGEN- voeg A en B toe en sla het resultaat op in C
  • SUB- trek A en B af en sla het resultaat op in C
  • MUL- vermenigvuldig A en B en sla het resultaat op in C
  • DIV- splits A en B en sla het resultaat op in C
  • COM- vergelijk A en B en sla het resultaat op in de test
  • JUMP-adr- ga naar het adres
  • JEQ-adr- ga als gelijk om op te lossen
  • JNEQ-adres- ga als het niet gelijk is om op te lossen
  • JG adres- ga, indien meer, om op te lossen
  • JGE adres- ga als groter dan of gelijk is om op te lossen
  • JL adres- ga als er minder op te lossen is
  • JLE adres- ga als kleiner dan of gelijk is om op te lossen
  • STOP- uitvoering stopzetten
Assembleertaal
De C-compiler vertaalt deze C-code naar assembleertaal. Als we aannemen dat RAM begint op adres 128 in deze processor, en ROM (dat het assembleertaalprogramma bevat) begint op adres 0, dan zou de assembler er voor onze eenvoudige microprocessor als volgt uit kunnen zien:

// Stel dat a zich op adres 128 bevindt // Stel dat F zich op adres 1290 bevindt CONB 1 // a=1;1 SAVEB 1282 CONB 1 // f=1;3 SAVEB 1294 LOADA 128 // als a > 5 de sprong naar 175 CONB 56 COM7 JG 178 LOADA 129 // f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // lus terug naar if17 STOP

Alleen-lezen geheugen (ROM)
Dus nu is de vraag: "Hoe integreren al deze instructies met alleen-lezen geheugen?" Ik zal het natuurlijk uitleggen: elk van deze commando's in assembleertaal moet in de vorm worden weergegeven binair getal. Laten we voor de eenvoud aannemen dat elke assembleertaalinstructie zichzelf toewijst uniek nummer. Het zou er bijvoorbeeld zo uitzien:

  • LAAD - 1
  • LAADB - 2
  • CONB - 3
  • BESPAARB - 4
  • SAVEC-mem - 5
  • TOEVOEGEN - 6
  • SUB - 7
  • MUL - 8
  • DIV - 9
  • COM - 10
  • JUMP-adr - 11
  • JEQ-adr - 12
  • JNEQ-adres - 13
  • JG adres - 14
  • JGE adres - 15
  • JL adres - 16
  • JLE adres - 17
  • STOP - 18
Deze nummers worden transactiecodes genoemd. Bij permanente opslag zou ons kleine programma er als volgt uitzien:

// Stel dat a zich op adres 128 bevindt // Stel dat F zich op adres 129Addr opcode/value0 3 bevindt // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB 125 12 6 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP

Je ziet dat 7 regels C-code 18 assemblageregels werden, en dat ze allemaal 32 bytes in alleen-lezen geheugen werden.

Decodering
De decodeerinstructie moet elk van de opcodes omzetten in een reeks signalen die zullen controleren diverse componenten binnenin de microprocessor. Laten we de ADD-instructie als voorbeeld nemen en kijken wat deze zou moeten doen. Dus:

  • 1. In de eerste cyclus is het nodig om de instructie zelf te laden, dus de decoder moet: de buffer voor de programmateller in drie staten activeren, de leeslijn (RD) activeren, gegevens activeren in drie staten van de buffer in het commandoregister
  • 2. In de tweede klokcyclus wordt de ADD-instructie gedecodeerd. Er is hier heel weinig te doen: stel de bewerking van de rekenkundige logische eenheid (ALU) in op het C-register
  • 3. Tijdens de derde klokcyclus wordt de programmateller verhoogd (in theorie zou dit kunnen overlappen in de tweede klokcyclus)
Elke instructie kan worden opgesplitst in een reeks opeenvolgende bewerkingen, zoals degene die we zojuist hebben bekeken. Ze manipuleren de componenten van de microprocessor in de juiste volgorde. Sommige instructies, zoals de ADD-instructie, kunnen twee of drie klokcycli in beslag nemen. Anderen kunnen vijf of zes cycli nodig hebben.

Laten we tot het einde komen


Het aantal transistors heeft een enorme impact op de processorprestaties. Zoals hierboven te zien is, een typisch voorbeeld Intel-microprocessor De 8088 kon 15 cycli uitvoeren. Hoe meer transistors, hoe hoger de prestaties - heel eenvoudig. Grote hoeveelheid Transistoren maken ook technologieën mogelijk zoals pijplijnverwerking.

Pipeline-architectuur bestaat uit het uitvoeren van opdrachten. Het kan vijf cycli duren om één instructie uit te voeren, maar er kunnen niet tegelijkertijd vijf instructies in verschillende uitvoeringsfasen zijn. Het lijkt er dus op dat één instructie elke klokcyclus voltooit.

Al deze trends zorgen ervoor dat het aantal transistors kan groeien, wat resulteert in de miljardentransistor-zwaargewichten die vandaag de dag verkrijgbaar zijn. Dergelijke processors kunnen ongeveer een miljard bewerkingen per seconde uitvoeren, stel je eens voor. Trouwens, nu zijn veel fabrikanten geïnteresseerd geraakt in het vrijgeven van 64-bit mobiele processoren en er komt duidelijk een nieuwe golf aan, maar deze keer is de koning van de mode 64-bit architectuur. Misschien kom ik binnenkort op dit onderwerp terug en vertel ik je hoe het eigenlijk werkt. Dat is waarschijnlijk alles voor vandaag. Ik hoop dat je het interessant vond en veel nieuwe dingen hebt geleerd.

Centrale verwerkingseenheid (CPU) is een functioneel onderdeel van een computer dat basisbewerkingen uitvoert voor het verwerken van gegevens en het besturen van de werking van andere eenheden. De centrale processor bestaat uit de volgende met elkaar verbonden samenstellende elementen: rekenkundig-logisch apparaat, besturingsapparaat en registers.

IN moderne computers processors zijn ontworpen als compacte module(afmetingen ongeveer 5x5x0,3 cm) in een ZIF-aansluiting (connector) gestoken. Meest moderne verwerkers geïmplementeerd in de vorm van een enkele halfgeleiderchip met miljoenen, miljarden transistors.

De belangrijkste kenmerken van de processor zijn: klokfrequentie.klokfrequentie– het aantal klokpulsen per seconde. Momenteel wordt de kloksnelheid gemeten in gigahertz, d.w.z. in miljarden (109) pulsen per seconde. Gebruik klok frequentie Het vergelijken van de prestaties van processors is alleen mogelijk als beide processors hetzelfde zijn ontworpen. Als een commando in een van de processors bijvoorbeeld in twee klokcycli wordt uitgevoerd, en in de andere in drie, dan zal de eerste, als de frequenties gelijk zijn, anderhalf keer sneller werken.

Een ander kenmerk waarmee u de prestaties van een processor kunt beoordelen, zijn de prestaties ervan beetje diepte.

Beetje diepte- Dit maximale hoeveelheid binaire bits die de processor in één instructie kan verwerken.

Meestal wordt bitdiepte gedefinieerd als de grootte van processorregisters in bits. De breedte van de databus en adresbus die de processor ondersteunt, is ook belangrijk. Breedte databus is het maximale aantal bits dat bij één geheugentoegang kan worden gelezen. Adresbusbreedte– is het aantal adresregels; het bepaalt de maximale hoeveelheid geheugen die de processor kan ondersteunen.

Belangrijke kenmerken processor zijn – kerntype, aantal kernen (1,2,3,4 kerncomputers, processorseries - conventioneel processormodelnummer en productietechnologie, systeembusfrequentie.

De processor werkt samen met RAM. Gegevens worden naar processorcellen (registers) gekopieerd en vervolgens volgens instructies geconverteerd (programma).

De meeste processors die momenteel in gebruik zijn, zijn Intel-compatibel, dat wil zeggen dat ze een reeks instructies en programmeerinterfaces hebben die in Intel-processors zijn geïmplementeerd.

De meest populaire processors van vandaag worden geproduceerd van Intel, AMD en IBM. Onder de processors van Intel: 8086, i286, i486, Pentium. , Pentium II, Pentium III worden "drie", Pentium 4 - "vier") genoemd Pentium III, Pentium 4, Celeron (een vereenvoudigde versie van Pentium) Core 2 Quad, Core 2 DUE Core i7, Xeon (een reeks processors voor servers), Itanium, Atom (een reeks processors voor embedded technologie), enz. AMD heeft in zijn lijn processors met x86-architectuur (analogen 80386 en 80486, K6-familie en K7-familie - Athlon, Duron, Sempron) en x86-64 ( Athlon 64, Athlon 64 X2, Phenom, Opteron, enz.). IBM-processors(POWER6, POWER7, Xenon, PowerPC) worden gebruikt in supercomputers, video-settopboxen van de 7e generatie en ingebedde technologie; eerder gebruikt in Apple-computers.

Wetenschappers hebben een patroon geïdentificeerd en noemen het ‘de wet van Moore’: DE KRACHT VAN MICROPROCESSORS VERDUBBELT ELK JAAR! In de komende 10 tot 20 jaar zal het materiële deel van verwerkers waarschijnlijk veranderen als gevolg van het feit dat het technologische proces de fysieke grenzen van de productie bereikt. Misschien wordt het:

  1. Optische computers- waarin in plaats van elektrische signalen Lichtstromen (fotonen, geen elektronen) worden verwerkt.
  2. Kwantumcomputers, wiens werk volledig gebaseerd is op kwantumeffecten. Momenteel wordt er gewerkt aan het maken van werkende versies kwantumprocessors.
  3. Moleculaire computers - computersystemen, waarbij gebruik wordt gemaakt van de rekenmogelijkheden van moleculen (voornamelijk organische). Moleculaire computers gebruiken het idee van de rekenkracht van de rangschikking van atomen in de ruimte.

De prestaties van de processor en de pc als geheel zijn sterk afhankelijk van het type chipset . Chipset (Engels) chipset) - een set chips ontworpen voor samenwerking om een ​​reeks functies uit te voeren. De chipset op het moederbord fungeert als verbindingscomponent die zorgt voor de gezamenlijke werking van de geheugensubsystemen, centrale processor en andere pc-apparaten.

Het interne elektronische geheugen in de pc is aanwezig in de volgende typen:

  1. Opslaggeheugen Basis systeem IO (Engels) BIOS ), vervaardigd met behulp van alleen-lezen-technologie (Engels . Alleen-lezen geheugen - ROM ) of in moderne pc's - afhankelijk van de technologie flash -geheugen, en bevattende:

· PC-zelftestprogramma na het inschakelen – NA (uit het Engels Zelftest bij inschakelen);

geheugenbeheerprogramma CMOS (Engels) CMOS ) – INSTELLING

· bootloader-zoekprogramma LAARS ) besturingssysteem, enz.

  1. Operationeel geheugen, of Random Access-opslagapparaat(Engels) Willekeurig toegankelijk geheugen - RAM ), ontworpen om alle gegevens en programma's op te slaan die worden uitgevoerd huidige moment. Uitgevoerd als dynamisch halfgeleidergeheugen (eng. Dynamisch willekeurig toegankelijk geheugen - DRAM ), waarin elke cel een condensator is, gebaseerd op de kruising van een CMOS-transistor.
  2. CMOS -geheugen (Engels) CMOS ). Onderscheidend functie CMOS-circuits zijn dat wel laag stroomverbruik in statische modus. Geheugen is vluchtig; in een pc wordt het van stroom voorzien oplaadbare batterij op het moederbord. Het CMOS-geheugen wordt door de gebruiker bestuurd in dialoog met het programma uit BIOS INSTELLING. Om het programma uit te voeren INSTELLING in de meeste gevallen moet u onmiddellijk na het inschakelen van de pc (mogelijk meerdere keren) op de toets drukken Verwijderen. CMOS-geheugen slaat op:

· enkele parameters basis apparaten PC (type harde schijf, diskettestation, enz.);

· “power-on”-wachtwoord voor de pc-gebruiker (in bepaalde gevallen en beheerder), al aangevraagd voordat het besturingssysteem opstart;

· huidige tijd(zelfs als de pc is uitgeschakeld);

zoekvolgorde systeem schijf(met besturingssysteem) waar u op moet letten bij het gebruik Live-ritten.

Intern geheugen heeft welke aard dan ook mobiel adres organisatie in tegenstelling tot extern geheugen gebaseerd op bestand organisaties.

  1. Cache- geheugen– dit is geheugen dat de werking van een ander (langzamer) type geheugen versnelt door leesgegevens op te slaan voor het geval deze opnieuw worden benaderd. Cachegeheugen wel statisch geheugen, wat veel sneller werkt dynamisch RAM-geheugen. Dat is niet het geval eigen adressen werkt het niet volgens het von Neumann-principe van targeting.
  2. Virtueel geheugen

De computer heeft een maximaal toegestane hoeveelheid geheugen, maar realistisch gezien geïnstalleerd RAM-geheugen- slechts enkele Deel deze ruimte. Het overige deel wordt in een special geplaatst systeembestand of gescheiden harde sectie schijf. Als de RAM-capaciteit niet voldoende is voor de volgende taak, kopieert het systeem het “minst benodigde” (langst ongebruikte) deel van het RAM-geheugen naar de schijf, waardoor de benodigde hoeveelheid geheugen vrijkomt. Wanneer daarentegen gegevens van de schijf nodig zijn, worden deze op dezelfde manier teruggestuurd naar de vrijgekomen RAM-ruimte.

De processor is zonder twijfel het belangrijkste onderdeel van elke computer. Het is dit kleine stukje silicium, enkele tientallen millimeters groot, dat alle complexe taken uitvoert die u voor uw computer instelt. Loopt hier besturingssysteem, evenals alle programma's. Maar hoe werkt het allemaal? We zullen proberen deze vraag in ons artikel van vandaag te onderzoeken.

De processor beheert de gegevens op uw computer en voert miljoenen instructies per seconde uit. En met de tekstverwerker bedoel ik precies wat het werkelijk betekent: een kleine chip gemaakt van silicium die feitelijk alle bewerkingen op de computer uitvoert. Voordat we verder gaan met hoe een processor werkt, moeten we eerst in detail bekijken wat hij is en waaruit hij bestaat.

Wat is een processor of CPU?

Laten we eerst eens kijken naar wat een processor is. CPU of centrale verwerkingseenheid (centrale verwerkingseenheid) - een microschakeling met een groot aantal transistors, gemaakt op een siliciumkristal. De eerste processor ter wereld werd in 1971 door Intel ontwikkeld. Het begon allemaal met Intel-modellen 4004. Het kon alleen rekenbewerkingen uitvoeren en kon slechts 4 bytes aan gegevens verwerken. Het volgende model kwam uit in 1974: Intel 8080 en kon al 8 bits aan informatie verwerken. De volgende waren 80286, 80386, 80486. Het was van deze processors dat de architectuur zijn naam kreeg.

De kloksnelheid van de 8088-processor was 5 MHz en het aantal bewerkingen per seconde was slechts 330.000, wat veel minder is dan bij moderne processors. Moderne apparaten hebben een frequentie tot 10 GHz en enkele miljoenen bewerkingen per seconde.

We zullen geen rekening houden met transistors; we zullen naar een hoger niveau gaan. Elke processor bestaat uit de volgende componenten:

  • Kern— hier worden alle informatieverwerking en wiskundige bewerkingen uitgevoerd; er kunnen meerdere kernen zijn;
  • Commandodecoder- dit onderdeel behoort tot de kern, het converteert programma commando's in een reeks signalen die de kerntransistors zullen uitvoeren;
  • Cache- een gebied met ultrasnel geheugen, een klein volume, waarin gegevens die uit RAM worden gelezen, worden opgeslagen;
  • Registreert- dit zijn zeer snelle geheugencellen waarin de momenteel verwerkte gegevens worden opgeslagen. Er zijn er maar een paar en ze hebben een beperkte grootte: 8, 16 of 32 bits, de bitcapaciteit van de processor hangt hiervan af;
  • Coprocessor- een aparte kern die alleen is geoptimaliseerd voor het uitvoeren van bepaalde bewerkingen, bijvoorbeeld videoverwerking of gegevenscodering;
  • Adresbus— voor communicatie met alle apparaten die op het moederbord zijn aangesloten, kan een breedte van 8, 16 of 32 bits hebben;
  • Databus- voor communicatie met RAM. Hiermee kan de processor gegevens naar het geheugen schrijven of van daaruit lezen. De geheugenbus kan 8, 16 of 32 bits zijn, dit is de hoeveelheid gegevens die in één keer kan worden overgedragen;
  • Synchronisatiebus— stelt u in staat de processorfrequentie en werkingscycli te controleren;
  • Bus opnieuw starten— om de processorstatus te resetten;

Het hoofdcomponent kan worden beschouwd als het kern- of rekenkundige computerapparaat, evenals processorregisters. Al het andere helpt deze twee componenten te werken. Laten we eens kijken naar wat registers zijn en wat hun doel is.

  • Registers A, B, C— ontworpen om gegevens op te slaan tijdens de verwerking, ja, er zijn er maar drie, maar dit is voldoende;
  • EIP— bevat het adres van de volgende programma-instructie in RAM;
  • ESP— adres van gegevens in RAM;
  • Z— bevat het resultaat van de laatste vergelijkingsbewerking;

Uiteraard zijn dit niet alle geheugenregisters, maar dit zijn wel de belangrijkste en worden het meest gebruikt door de processor tijdens de programma-uitvoering. Nou, nu je weet waaruit de processor bestaat, kun je kijken hoe deze werkt.

Hoe werkt een computerprocessor?

De rekenkern van de CPU kan alleen wiskunde, vergelijkingen uitvoeren en gegevens tussen cellen en RAM verplaatsen, maar het is voldoende om games te spelen, films te kijken, op internet te surfen en meer.

In feite bestaat elk programma uit de volgende instructies: verplaatsen, optellen, vermenigvuldigen, delen, differentiëren en naar de instructie gaan als aan de vergelijkingsvoorwaarde is voldaan. Dit zijn natuurlijk niet alle commando's; er zijn andere die de reeds genoemde commando's combineren of het gebruik ervan vereenvoudigen.

Alle gegevensverplaatsingen worden uitgevoerd met behulp van de verplaatsingsinstructie (mov), deze instructie verplaatst gegevens tussen registercellen, tussen registers en RAM, tussen geheugen en harde schijf. Voor rekenkundige bewerkingen Er is speciale instructies. En er zijn spronginstructies nodig om aan de voorwaarden te voldoen, controleer bijvoorbeeld de waarde van register A en als deze niet nul is, ga dan naar de instructie op naar het juiste adres. Je kunt ook loops maken met behulp van spronginstructies.

Dit is allemaal leuk en aardig, maar hoe werken al deze componenten met elkaar samen? En hoe begrijpen transistors instructies? De werking van de gehele processor wordt bestuurd door een instructiedecoder. Het zorgt ervoor dat elk onderdeel doet wat het moet doen. Laten we eens kijken wat er gebeurt als we een programma moeten uitvoeren.

In de eerste fase laadt de decoder het adres van de eerste instructie van het programma in het geheugen in het register van de volgende instructie EIP, activeert hiervoor het leeskanaal en opent de grendeltransistor om gegevens in het EIP-register te plaatsen.

In de tweede klokcyclus zet de instructiedecoder het commando om in een reeks signalen voor de transistors van de rekenkern, die het uitvoeren en het resultaat naar een van de registers schrijven, bijvoorbeeld C.

In de derde cyclus verhoogt de decoder het adres van de volgende instructie met één, zodat deze naar verwijst de volgende instructies in het geheugen. Vervolgens gaat de decoder verder met het laden van het volgende commando, enzovoort, tot het einde van het programma.

Elke instructie is al gecodeerd door een reeks transistors en omgezet in signalen. Het veroorzaakt fysieke veranderingen in de processor, bijvoorbeeld het veranderen van de positie van een grendel waarmee gegevens naar een geheugencel kunnen worden geschreven, enzovoort. Voor uitvoering verschillende elftallen nodig hebben verschillende hoeveelheden klokcycli, één commando kan bijvoorbeeld 5 klokcycli vereisen, en een andere, complexere, maximaal 20. Maar dit alles hangt nog steeds af van het aantal transistors in de processor zelf.

Nou, dit is allemaal duidelijk, maar dit alles werkt alleen als er één programma actief is, en als er meerdere zijn en allemaal tegelijkertijd. We kunnen aannemen dat de processor meerdere kernen heeft, en dat elke kern vervolgens wordt uitgevoerd aparte programma's. Maar nee, in feite zijn er geen dergelijke beperkingen.

In één bepaald moment Er kan slechts één programma worden uitgevoerd. Alle CPU-tijd wordt gedeeld tussen iedereen programma's draaien wordt elk programma een paar klokcycli uitgevoerd, waarna de processor wordt overgebracht naar een ander programma en alle inhoud van de registers wordt opgeslagen in RAM. Wanneer de besturing terugkeert naar dit programma, worden de eerder opgeslagen waarden in de registers geladen.

Conclusies

Dat is alles, in dit artikel hebben we gekeken naar hoe een computerprocessor werkt, wat een processor is en waaruit deze bestaat. Het is misschien een beetje ingewikkeld, maar we hebben het simpel gehouden. Ik hoop dat je nu beter begrijpt hoe dit zeer complexe apparaat werkt.

Ter afsluiting van de video over de geschiedenis van processors: