Ako funguje počítačový mikroprocesor? Pozrime sa na niektoré dôležité body o tom, ako počítač funguje.

Domov / Prenosné počítače

Takmer každý vie, že v počítači je hlavným prvkom všetkých „tvrdých“ komponentov centrálny procesor. Ale okruh ľudí, ktorí rozumejú tomu, ako procesor funguje, je veľmi obmedzený. Väčšina používateľov o tom nemá ani potuchy. A aj keď sa systém náhle začne spomaľovať, mnohí veria, že je to procesor, ktorý nefunguje dobre, a nepripisujú dôležitosť iným faktorom. Aby sme úplne pochopili situáciu, pozrime sa na niektoré aspekty činnosti CPU.

Čo je to centrálna procesorová jednotka?

Z čoho sa skladá procesor?

Ak hovoríme o tom, ako funguje procesor Intel alebo jeho konkurent AMD, musíte sa pozrieť na to, ako sú tieto čipy navrhnuté. Prvý mikroprocesor (mimochodom, bol od Intelu, model 4040) sa objavil už v roku 1971. Dokázal vykonávať len najjednoduchšie operácie sčítania a odčítania so spracovaním iba 4 bitov informácie, teda mal 4-bitovú architektúru.

Moderné procesory, podobne ako prvorodené, sú založené na tranzistoroch a sú oveľa rýchlejšie. Vyrábajú sa fotolitografiou z určitého počtu jednotlivých kremíkových doštičiek, ktoré tvoria jeden kryštál, do ktorého sú vtlačené tranzistory. Okruh je vytvorený na špeciálnom urýchľovači pomocou zrýchlených iónov bóru. Vo vnútornej štruktúre procesorov sú hlavnými komponentmi jadrá, zbernice a funkčné častice nazývané revízie.

Hlavné vlastnosti

Ako každé iné zariadenie, aj procesor sa vyznačuje určitými parametrami, ktoré nemožno ignorovať pri odpovedi na otázku, ako procesor pracuje. V prvom rade toto:

  • počet jadier;
  • počet vlákien;
  • veľkosť vyrovnávacej pamäte (vnútorná pamäť);
  • frekvencia hodín;
  • rýchlosť pneumatiky.

Zatiaľ sa sústreďme na taktovaciu frekvenciu. Nie nadarmo sa procesoru hovorí srdce počítača. Rovnako ako srdce pracuje v pulzačnom režime s určitým počtom úderov za sekundu. Frekvencia hodín sa meria v MHz alebo GHz. Čím je vyššia, tým viac operácií môže zariadenie vykonávať.

Na akej frekvencii procesor pracuje, zistíte z jeho deklarovaných charakteristík alebo si pozrite informácie v No pri spracovávaní príkazov sa frekvencia môže meniť a pri pretaktovaní (pretaktovaní) sa môže zvýšiť až do extrémnych limitov. Deklarovaná hodnota je teda len priemerný ukazovateľ.

Počet jadier je ukazovateľ, ktorý určuje počet spracovateľských centier procesora (nezamieňať s vláknami – počet jadier a vlákien nemusí byť rovnaký). Vďaka tejto distribúcii je možné presmerovať operácie na iné jadrá, čím sa zvýši celkový výkon.

Ako funguje procesor: spracovanie príkazov

Teraz trochu o štruktúre spustiteľných príkazov. Ak sa pozriete na to, ako procesor funguje, musíte jasne pochopiť, že každý príkaz má dve zložky - operačnú a operandovú.

Prevádzková časť špecifikuje, čo sa musí splniť momentálne počítačový systém, operand určuje, na čom má procesor pracovať. Okrem toho môže jadro procesora obsahovať dve výpočtové centrá (kontajnery, vlákna), ktoré rozdeľujú vykonávanie príkazu do niekoľkých etáp:

  • výroba;
  • dešifrovanie;
  • vykonávanie príkazov;
  • prístup k pamäti samotného procesora
  • uloženie výsledku.

Dnes sa používa samostatné ukladanie do vyrovnávacej pamäte vo forme použitia dvoch úrovní vyrovnávacej pamäte, čím sa zabráni zachyteniu prístupu k jednému z pamäťových blokov dvoma alebo viacerými príkazmi.

Na základe typu spracovania príkazov sa procesory delia na lineárne (vykonávanie príkazov v poradí, v akom sú zapísané), cyklické a vetviace (vykonávanie príkazov po spracovaní podmienok vetvenia).

Vykonané operácie

Medzi hlavné funkcie priradené procesoru, pokiaľ ide o vykonávané príkazy alebo inštrukcie, sa rozlišujú tri hlavné úlohy:

  • matematické operácie založené na aritmeticko-logickom zariadení;
  • presúvanie údajov (informácií) z jedného typu pamäte do druhého;
  • rozhodovanie o vykonaní príkazu a na jeho základe výber prechodu na vykonávanie iných sád príkazov.

Interakcia s pamäťou (ROM a RAM)

V tomto procese sú komponenty, ktoré treba poznamenať, zbernica a kanál na čítanie a zápis, ktoré sú pripojené k úložným zariadeniam. ROM obsahuje konštantnú sadu bajtov. Najprv si adresová zbernica vyžiada konkrétny bajt z ROM, potom ho prenesie na dátovú zbernicu, po čom čítací kanál zmení svoj stav a ROM poskytne požadovaný bajt.

Ale procesory dokážu dáta z RAM nielen čítať, ale aj zapisovať. V tomto prípade sa použije nahrávací kanál. Ale keď sa na to pozriete, celkovo moderné počítačeČisto teoreticky by sme sa bez RAM vôbec zaobišli, keďže moderné mikrokontroléry sú schopné umiestniť potrebné bajty dát priamo do pamäte samotného procesorového čipu. Bez ROM sa však nezaobídete.

Systém sa okrem iného spúšťa z režimu testovania hardvéru (príkazy systému BIOS) a až potom sa riadenie prenesie na načítavací operačný systém.

Ako skontrolovať, či procesor funguje?

Teraz sa pozrime na niektoré aspekty kontroly výkonu procesora. Musí byť jasné, že ak by procesor nefungoval, počítač by sa vôbec nemohol začať načítavať.

Iná vec je, keď sa v určitom momente potrebujete pozrieť na ukazovateľ využitia schopností procesora. Dá sa to urobiť zo štandardného „Správcu úloh“ (oproti akémukoľvek procesu je uvedené, koľko percent zaťaženia procesora poskytuje). Na vizuálne určenie tohto parametra môžete použiť kartu výkonu, kde sa zmeny sledujú v reálnom čase. Pokročilé možnosti je možné zobraziť pomocou špeciálne programy napr CPU-Z.

Okrem toho môžete použiť viacero procesorových jadier pomocou (msconfig) a ďalšie možnosti sťahovania.

Možné problémy

Na záver pár slov o problémoch. Mnoho používateľov sa často pýta, prečo procesor funguje, ale monitor sa nezapne? Táto situácia nemá nič spoločné s centrálnym procesorom. Faktom je, že keď zapnete akýkoľvek počítač, najskôr sa otestuje grafický adaptér a až potom všetko ostatné. Možno problém spočíva práve v procesore grafického čipu (všetky moderné video akcelerátory majú svoje vlastné grafické procesory).

Ale na príklade fungovania ľudského tela musíte pochopiť, že v prípade zástavy srdca zomrie celé telo. To isté s počítačmi. Procesor nefunguje - celý počítačový systém „zomrie“.

Moderné procesory majú tvar malého obdĺžnika, ktorý je prezentovaný vo forme kremíkového plátku. Samotná doska je chránená špeciálnym puzdrom vyrobeným z plastu alebo keramiky. Všetky hlavné obvody sú chránené, vďaka čomu sa vykonáva plná prevádzka CPU. Ak s vzhľad všetko je extrémne jednoduché, čo samotný obvod a ako je navrhnutý procesor? Pozrime sa na to podrobnejšie.

CPU nezahŕňa veľké množstvo rôzne prvky. Každý z nich vykoná svoju vlastnú akciu, prenesú sa údaje a riadenie. Bežní používatelia Procesory sme zvyknutí rozlišovať podľa taktu, množstva vyrovnávacej pamäte a jadier. Ale to nie je všetko, čo zaisťuje spoľahlivé a rýchla práca. Stojí za to venovať osobitnú pozornosť každej zložke.

Architektúra

Vnútorný dizajn CPU sa od seba často líši, každá rodina má svoj vlastný súbor vlastností a funkcií – nazýva sa to jej architektúra. Príklad konštrukcie procesora je možné vidieť na obrázku nižšie.

Mnoho ľudí je však zvyknutých chápať architektúru procesora trochu inak. Ak to vezmeme do úvahy z programovacieho hľadiska, potom je definovaný svojou schopnosťou vykonávať určitú množinu kódov. Ak si kúpite moderný CPU, potom s najväčšou pravdepodobnosťou ide o architektúru x86.

Jadrá

Hlavná časť CPU sa nazýva jadro, obsahuje všetky potrebné bloky a tiež vykonáva logické a aritmetické úlohy. Ak sa pozriete na obrázok nižšie, môžete vidieť, ako vyzerá každý funkčný blok jadra:

  1. Modul na načítanie pokynov. Inštrukcie sa tu rozpoznávajú podľa adresy, ktorá je uvedená v počítadle programu. Počet simultánnych čítaní príkazov priamo závisí od počtu nainštalovaných dešifrovacích jednotiek, čo pomáha načítať každý cyklus práce s najväčším počtom pokynov.
  2. Prediktor prechodu je zodpovedný za optimálnu činnosť jednotky na získanie inštrukcií. Určuje postupnosť inštrukcií, ktoré sa majú vykonať, čím sa načíta kanál jadra.
  3. Dekódovací modul. Táto časť jadra je zodpovedná za definovanie určitých procesov na vykonávanie úloh. Samotná dekódovacia úloha je veľmi náročná kvôli variabilnej veľkosti inštrukcie. V najnovších procesoroch je niekoľko takýchto blokov v jednom jadre.
  4. Moduly vzorkovania údajov. Informácie berú z pamäte RAM alebo vyrovnávacej pamäte. Vykonávajú presne vzorkovanie údajov, ktoré je v tomto momente potrebné na vykonanie inštrukcie.
  5. Ovládací blok. Už samotný názov vypovedá o dôležitosti tohto komponentu. V jadre je najdôležitejším prvkom, pretože rozdeľuje energiu medzi všetky bloky a pomáha vykonávať každú akciu včas.
  6. Modul na ukladanie výsledkov. Určené na nahrávanie po dokončení spracovania inštrukcie v RAM. Adresa úložiska je špecifikovaná v spustenej úlohe.
  7. Prvok práce s prerušeniami. CPU je schopné multitaskingu vďaka funkcii prerušenia, ktorá mu umožňuje zastaviť postup jedného programu prepnutím na inú inštrukciu.
  8. Registre. Dočasné výsledky inštrukcií sú uložené tu; Jeho veľkosť často nepresahuje niekoľko stoviek bajtov.
  9. Počítadlo príkazov. Ukladá adresu inštrukcie, ktorá sa použije v nasledujúcom cykle procesora.

Systémová zbernica

Systémová zbernica CPU spája zariadenia zahrnuté v PC. Iba on je s ním priamo spojený, zvyšné prvky sú pripojené cez rôzne ovládače. Samotná zbernica obsahuje veľa signálnych vedení, cez ktoré sa prenášajú informácie. Každá linka má svoj protokol, ktorý zabezpečuje komunikáciu cez ovládače s ostatnými pripojenými komponentmi počítača. Zbernica má svoju vlastnú frekvenciu, čím je vyššia, tým rýchlejšie prebieha výmena informácií medzi spojovacími prvkami systému.

Vyrovnávacia pamäť

Výkon CPU závisí od jeho schopnosti čo najrýchlejšie načítať inštrukcie a dáta z pamäte. Vďaka vyrovnávacej pamäti sa skracuje čas vykonávania operácií, pretože funguje ako dočasná vyrovnávacia pamäť, ktorá zabezpečuje okamžitý prenos dát z CPU do RAM alebo naopak.

Hlavnou charakteristikou vyrovnávacej pamäte je jej rozdiel v úrovniach. Ak je vysoká, znamená to, že pamäť je pomalšia a objemnejšia. Najrýchlejšia a najmenšia pamäť je prvá úroveň. Princíp fungovania tohto prvku je veľmi jednoduchý - CPU číta údaje z pamäte RAM a vkladá ich do vyrovnávacej pamäte akejkoľvek úrovne, pričom vymaže informácie, ku ktorým sa pristupovalo už dávno. Ak procesor potrebuje tieto informácie znova, vďaka dočasnej vyrovnávacej pamäti ich dostane rýchlejšie.

Zásuvka (konektor)

Vďaka tomu, že procesor má vlastný konektor (samica alebo slot), môžete ho jednoducho vymeniť, ak sa pokazí, alebo upgradovať počítač. Bez pätice by bol CPU jednoducho prispájkovaný do základnej dosky, čo by sťažilo následné opravy či výmenu. Stojí za to venovať pozornosť - každý slot je určený výlučne na inštaláciu určitých procesorov.

Používatelia často neúmyselne nakupujú nekompatibilný procesor a základná doska, čo spôsobuje ďalšie problémy.

CPU je hlavnou pracovnou súčasťou počítača, ktorá vykonáva aritmetické a logické operácie, riadi výpočtový proces a koordinuje činnosť všetkých počítačových zariadení.

Centrálny procesor vo všeobecnosti obsahuje:

    aritmeticko-logická jednotka;

    dátové zbernice a adresové zbernice;

    registre;

    počítadlá programov;

    cache - veľmi rýchla pamäť malý objem,

    matematický koprocesor s pohyblivou rádovou čiarkou.

Moderné procesory sú implementované ako mikroprocesory. Fyzicky je mikroprocesor integrovaný obvod - tenký obdĺžnikový plátok kryštalického kremíka s plochou len niekoľko štvorcových milimetrov, na ktorom sú umiestnené obvody, ktoré implementujú všetky funkcie procesora. Krištáľová doska je zvyčajne umiestnená v plastovom alebo keramickom plochom obale a spojená zlatými drôtmi s kovovými kolíkmi, aby sa dala pripevniť k základnej doske počítača.

Hlavné vlastnosti procesora:

    Výkon je hlavnou charakteristikou, ktorá ukazuje rýchlosť, akou počítač vykonáva operácie spracovania informácií. To zase závisí od nasledujúcich charakteristík:

    Frekvencia hodín - určuje počet cyklov procesora za sekundu

    Bitová kapacita – určuje veľkosť minimálnej časti informácie nazývanej strojové slovo

    Adresový priestor - šírka adresovej zbernice, to znamená maximálne množstvo pamäte RAM, ktorú je možné nainštalovať do počítača

8.2.3. Princíp činnosti procesora.

Procesor je hlavným prvkom počítača. Priamo alebo nepriamo riadi všetky zariadenia a procesy vyskytujúce sa v počítači.

V dizajne moderných procesorov je jasný trend k neustálemu zvyšovaniu taktovacej frekvencie. Je to prirodzené: čím viac operácií procesor vykonáva, tým vyšší je jeho výkon. Maximálna taktovacia frekvencia je do značnej miery určená existujúcou technológiou výroby mikroobvodov (najmenšie dosiahnuteľné veľkosti prvkov, ktoré určujú minimálny čas prenosu signálu).

Okrem zvýšenia taktovacej frekvencie je zvýšenie výkonu procesora dosiahnuté vývojármi pomocou menej zrejmých techník spojených s vynálezom nových architektúr a algoritmov spracovania informácií. Pozrime sa na niektoré z nich na príklade Procesor Pentium(P5) a nasledujúce modely.

Uveďme hlavné vlastnosti procesora Pentium:

    spracovanie informácií o potrubí;

    superskalárnu architektúru;

    prítomnosť oddelených vyrovnávacích pamätí pre príkazy a dáta;

    prítomnosť bloku predikcie prechodovej adresy;

    dynamické vykonávanie programu;

    prítomnosť výpočtovej jednotky s pohyblivou rádovou čiarkou;

    podpora viacprocesorovej prevádzky;

    dostupnosť nástrojov na detekciu chýb.

Pojem „superskalárna architektúra“ znamená, že procesor obsahuje viac ako jednu výpočtovú jednotku. Tieto výpočtové jednotky sa častejšie nazývajú potrubia. Všimnite si, že prvá superskalárna architektúra bola implementovaná v domácom počítači „Elbrus-1“ (1978).

Prítomnosť dvoch potrubí v procesore mu umožňuje súčasne vykonávať (dokončovať) dva príkazy (inštrukcie).

Každý kanál rozdeľuje proces vykonávania príkazov na niekoľko fáz (napríklad päť):

    načítanie (čítanie) príkazu z pamäte RAM alebo vyrovnávacej pamäte;

    dekódovanie (dekódovanie) príkazu, teda určenie kódu vykonávanej operácie;

    vykonávanie príkazov;

    prístup k pamäti;

    ukladanie získaných výsledkov do pamäte.

Na implementáciu každej z uvedených fáz (každá operácia) sa používa samostatný stupeň zariadenia. V každom procesore Pentium je teda päť stupňov.

Pri spracovaní potrubia je na vykonanie každej fázy pridelený jeden cyklus synchronizačnej (hodinovej) frekvencie. V každom novom cykle sa končí vykonávanie jedného príkazu a začína sa vykonávanie nového príkazu. Tento typ vykonávania príkazov sa nazýva vlákno.

Obrazne sa to dá prirovnať k výrobnému dopravníku (toku), kde sa na každej sekcii s rôznymi výrobkami vykonáva vždy rovnaká operácia. Zároveň, keď hotový výrobok opúšťa montážnu linku, prichádza naň nový a ostatné výrobky sú v tomto čase v rôznych štádiách pripravenosti. Prechod vyrobených výrobkov zo sekcie do sekcie musí prebiehať synchrónne, podľa špeciálnych signálov (v procesore sú to cykly generované generátorom hodín).

Celkový čas vykonania jednej inštrukcie v päťstupňovom potrubí by bol päť hodinových cyklov. V každom hodinovom cykle bude potrubie súčasne spracovávať (vykonávať) päť rôznych inštrukcií. Výsledkom je, že päť príkazov sa vykoná v piatich hodinových cykloch. Pipelining teda zvyšuje výkon procesora, ale neznižuje čas vykonania jedinej inštrukcie. Zisk sa získa vďaka tomu, že sa spracováva niekoľko príkazov naraz.

V skutočnosti pipeline dokonca zvyšuje čas vykonania každého jednotlivého príkazu v dôsledku dodatočných nákladov spojených s organizáciou potrubia. V tomto prípade je frekvencia hodín obmedzená rýchlosťou prevádzky najpomalšieho stupňa dopravníka.

Ako príklad uvažujme proces vykonávania príkazu, ktorého časy vykonávania fázy sú 60, 30, 40, 50 a 20 ns. Vezmime si dodatočné náklady na organizáciu spracovania potrubia 5 ns.

Ak by nebolo potrubie, tak by to trvalo

60 + 30 + 40 + 50 + 20 = 200 ns.

Ak sa použije dopravná organizácia, tak trvanie taktu by sa malo rovnať trvaniu najpomalšieho štádia spracovania s pripočítaním „režijných“ nákladov, t.j. 60 + 5 = 65 ns. Skrátenie času vykonávania príkazu dosiahnuté v dôsledku zreťazenia bude teda 200/65"3,1 krát.

Všimnite si, že čas vykonania pipeline pre jednu inštrukciu je 5 × 65 = 325 ns. Táto hodnota je podstatne viac ako 200 ns – čas vykonania príkazu bez zreťazenia. Ale súčasné vykonanie piatich príkazov naraz dáva priemerný čas dokončenia jedného príkazu 65 ns.

Procesor Pentium má dve vyrovnávacie pamäte L1 (sú umiestnené vo vnútri procesora). Ako viete, ukladanie do vyrovnávacej pamäte zvyšuje výkon procesora znížením počtu čakaní na príchod informácií z pomalej pamäte RAM. Potrebné údaje a príkazy preberá procesor z rýchlej vyrovnávacej pamäte (buffer), kde sa vopred zadávajú.

Jedna vyrovnávacia pamäť v predchádzajúcich návrhoch procesorov viedla k štrukturálnym konfliktom. Dve inštrukcie vykonávané potrubím sa niekedy súčasne pokúšali čítať informácie z jednej vyrovnávacej pamäte. Vykonávanie samostatného ukladania do vyrovnávacej pamäte (ukladanie do vyrovnávacej pamäte) pre príkazy a údaje eliminuje takéto konflikty a umožňuje súčasné vykonávanie oboch príkazov.

Vývoj výpočtovej techniky je neustály. Dizajnéri neustále hľadajú nové spôsoby, ako zlepšiť svoje produkty. Najcennejším zdrojom procesorov je ich výkon. Z tohto dôvodu sa vymýšľajú rôzne techniky na zvýšenie výkonu procesora.

Jednou z takýchto techník je ušetriť čas predpovedaním možných ciest vykonávania vetviaceho algoritmu. To sa vykonáva pomocou budúceho bloku predikcie adresy vetvy. Myšlienka, ako to funguje, je podobná myšlienke, ako funguje vyrovnávacia pamäť.

Ako je známe, existujú lineárne, cyklické a vetviace sa výpočtové procesy. V lineárnych algoritmoch sa príkazy vykonávajú v poradí, v akom sú zapísané v pamäti RAM: postupne jeden po druhom. Pre takéto algoritmy blok predikcie adresy vetvenia zavedený do procesora nemôže priniesť žiadne zisky.

Vo vetviacich algoritmoch je výber inštrukcie určený výsledkami kontroly podmienok vetvenia. Ak počkáte na koniec výpočtového procesu v bode vetvenia a potom vyberiete z RAM správny príkaz, potom nevyhnutne dôjde k časovým stratám v dôsledku neproduktívneho času nečinnosti procesora (čítanie príkazu z RAM je pomalé).

Blok predikcie adresy vetvy pracuje proaktívne a snaží sa vopred predpovedať adresu vetvy, aby sa požadovaná inštrukcia presunula z pomalej RAM do špeciálnej rýchlej cieľovej vyrovnávacej pamäte vetvy BTB (Branch Target Buffer).

Keď vyrovnávacia pamäť BTV obsahuje správnu predpoveď, prechod nastane bez oneskorenia. To pripomína vyrovnávaciu pamäť, ktorá má tiež chyby. Kvôli chybám sa operandy musia čítať nie z vyrovnávacej pamäte, ale z pomalého OP. Z tohto dôvodu sa stráca čas.

Myšlienka predpovedania adresy skoku je implementovaná v procesore pomocou dvoch nezávislých vyrovnávacích pamätí predbežného načítania. Pracujú spolu s vyrovnávacou pamäťou predikcie vetvy, pričom jedna z vyrovnávacích pamätí vyberá inštrukcie postupne a druhá podľa predpovedí BTV.

Procesor Pentium má dve päťstupňové pipeline na vykonávanie operácií s pevným bodom. Okrem toho má procesor osemstupňovú pipeline s pohyblivou rádovou čiarkou. Takéto výpočty sú potrebné pri vykonávaní matematických výpočtov, ako aj pri rýchlom spracovaní dynamických 3D farebných obrázkov.

Vývoj architektúry procesorov ide cestou neustáleho zvyšovania objemu vyrovnávacej pamäte prvej a druhej úrovne. Výnimkou bol procesor Pentium 4, ktorého veľkosť vyrovnávacej pamäte sa v porovnaní s Pentiom III nečakane zmenšila.

Na zlepšenie výkonu v nových dizajnoch procesorov dva systémové zbernice, pracujúce pri rôznych hodinových frekvenciách. Rýchla zbernica sa používa na prácu s vyrovnávacou pamäťou druhej úrovne a pomalá zbernica sa používa na tradičnú výmenu informácií s inými zariadeniami, ako je RAM. Prítomnosť dvoch zberníc eliminuje konflikty pri výmene informácií medzi procesorom a hlavnou pamäťou a vyrovnávacou pamäťou druhej úrovne umiestnenou mimo procesorového čipu.

Procesory nadväzujúce na Pentium obsahujú veľký počet stupňov v potrubí. To znižuje čas vykonávania každej operácie v samostatnej fáze, čo znamená, že vám umožňuje zvýšiť frekvenciu hodín procesora.

Procesor Pentium Pro (P6) využíva nový prístup k poradiu, v ktorom sa inštrukcie vykonávajú sekvenčne v RAM.

Nový prístup spočíva vo vykonávaní príkazov v náhodnom poradí, keď sú pripravené (bez ohľadu na poradie v RAM). Konečný výsledok je však vždy vygenerovaný v súlade s pôvodným poradím príkazov v programe. Toto poradie vykonávania príkazov sa nazýva dynamické alebo anticipačné.

Uvažujme ako príklad nasledujúci fragment učebného plánu napísaného v nejakom (fiktívnom) strojovo orientovanom jazyku.

r1 ¬mem Príkaz 1

r3 ¬r1 + r2 Príkaz 2

r5 ¬r5 + 1 tím 3

r6 ¬r6 – r7 Tím 4

Symboly r1…r7 označujú registre všeobecný účel(RON), ktoré sú zahrnuté v bloku registrov procesora.

Symbol mem označuje pamäťovú bunku RAM.

Vyjadrime sa k nahranému programu.

Príkaz 1: zapíšte do RON r1 obsah pamäťovej bunky RAM, ktorej adresa je špecifikovaná v RON r4.

Príkaz 2: zapíšte do RON r3 výsledok sčítania obsahu registrov r1 a r2.

Príkaz 3: pridajte jednotku k obsahu registra r5.

Príkaz 4: znížte obsah RON r6 o obsah registra r7.

Predpokladajme, že pri vykonávaní inštrukcie 1 (načítavanie operandu z pamäte do všeobecného registra r1) sa ukázalo, že obsah pamäte pamäťovej bunky nie je vo vyrovnávacej pamäti procesora (vyskytla sa chyba; požadovaný operand nebol predtým doručený do vyrovnávacej pamäte z RAM).

Pri tradičnom prístupe procesor pristúpi k vykonávaniu inštrukcií 2, 3, 4 až potom, čo dáta z hlavnej pamäťovej bunky vstúpia do procesora (presnejšie do registra r1). Keďže čítanie bude prebiehať z pomaly bežiacej pamäte RAM, tento proces bude trvať pomerne dlho (podľa štandardov procesora). Počas čakania na túto udalosť bude procesor nečinný a nebude vykonávať užitočnú prácu.

Vo vyššie uvedenom príklade nemôže procesor vykonať inštrukciu 2 pred dokončením inštrukcie 1, pretože inštrukcia 2 používa výsledky inštrukcie 1. Zároveň by procesor mohol vykonať inštrukcie 3 a 4 vopred, ktoré nezávisia od výsledku pokyny 1 a 2.

V takýchto prípadoch pracuje procesor P6 inak.

Procesor P6 nečaká na dokončenie vykonania pokynov 1 a 2, ale okamžite pristúpi k vykonaniu mimo poradia pokynov 3 a 4. Výsledky predbežného vykonania pokynov 3 a 4 sa uložia a vyhľadajú neskôr, po vykonaní pokynov 1 a 2. Procesor P6 teda vykonáva inštrukcie v súlade s ich pripravenosťou na vykonanie, bez ohľadu na ich počiatočné umiestnenie v programe.

Produktivita je, samozrejme, dôležitým ukazovateľom výkonu počítača. Rovnako dôležité je však aj rýchle výpočty s malým počtom chýb.

Procesor má samotestovacie zariadenie, ktoré automaticky kontroluje funkčnosť väčšiny prvkov procesora.

Okrem toho sa zisťovanie porúch, ktoré sa vyskytujú vo vnútri procesora, vykonáva pomocou špeciálneho formátu údajov. Ku každému operandu sa pridá paritný bit, čo spôsobí, že všetky čísla obiehajúce v procesore sú párne. Výskyt nepárneho čísla znamená, že došlo k poruche. Prítomnosť nepárneho čísla je ako vzhľad falošnej bankovky bez vodoznaku.

Jednotky na meranie rýchlosti procesorov (a počítačov) môžu byť:

    MIPS (MIPS - Mega Instruction Per Second) - milión príkazov (inštrukcií) na číslach s pevným bodom za sekundu;

    MFLOPS (Mega Floating Operation Per Second) – milión operácií s číslami s pohyblivou rádovou čiarkou za sekundu;

    GFLOPS (Giga Floating Operation Per Second) – miliarda operácií s číslami s pohyblivou rádovou čiarkou za sekundu.

Existujú správy o najrýchlejšom počítači na svete ASCI White (IBM Corporation), ktorý dosahuje 12,3 TFLOPS (bilión operácií).

Procesor je bezpochyby hlavnou súčasťou každého počítača. Práve tento malý kúsok kremíka, veľký niekoľko desiatok milimetrov, plní všetky zložité úlohy, ktoré si na svojom počítači nastavíte. Beží tu operačný systém, ako aj všetky programy. Ale ako to celé funguje? Túto otázku sa pokúsime preskúmať v našom dnešnom článku.

Procesor spravuje údaje vo vašom počítači a vykonáva milióny pokynov za sekundu. A slovom procesor mám na mysli presne to, čo v skutočnosti znamená – malý čip vyrobený z kremíka, ktorý v skutočnosti vykonáva všetky operácie na počítači. Skôr než prejdeme k fungovaniu procesora, musíme najprv podrobne zvážiť, čo to je a z čoho sa skladá.

Najprv sa pozrime, čo je to procesor. CPU alebo centrálna procesorová jednotka (centrálna procesorová jednotka) - čo je mikroobvod s veľkým počtom tranzistorov, vyrobený na kremíkovom kryštáli. Prvý procesor na svete vyvinula spoločnosť Intel v roku 1971. Všetko to začalo Intel 4004. Dokázal vykonávať iba výpočtové operácie a dokázal spracovať len 4 bajty dát. Ďalší model vyšiel v roku 1974 – Intel 8080 a už dokázal spracovať 8 bitov informácií. Ďalej boli 80286, 80386, 80486. Práve od týchto procesorov dostala architektúra svoje meno.

Taktovacia rýchlosť procesora 8088 bola 5 MHz a počet operácií za sekundu bol iba 330 000, čo je oveľa menej ako v moderných procesoroch. Moderné zariadenia majú frekvenciu až 10 GHz a niekoľko miliónov operácií za sekundu.

Nebudeme uvažovať o tranzistoroch, prejdeme na vyššiu úroveň. Každý procesor sa skladá z nasledujúcich komponentov:

  • Jadro- tu sa vykonávajú všetky procesy spracovania informácií a matematické operácie, jadier môže byť niekoľko;
  • Príkazový dekodér- tento komponent patrí k jadru, prevádza softvérové ​​príkazy na sadu signálov, ktoré budú vykonávané tranzistormi jadra;
  • Cache- oblasť ultrarýchlej pamäte, malý objem, v ktorom sú uložené dáta načítané z RAM;
  • Registre- ide o veľmi rýchle pamäťové bunky, v ktorých sa ukladajú práve spracovávané dáta. Je ich len niekoľko a majú obmedzenú veľkosť - od toho závisí bitová kapacita procesora;
  • Koprocesor- samostatné jadro, ktoré je optimalizované len na vykonávanie určitých operácií, napríklad spracovanie videa alebo šifrovanie údajov;
  • Adresný autobus- pre komunikáciu so všetkými zariadeniami pripojenými k základnej doske môže mať šírku 8, 16 alebo 32 bitov;
  • Dátová zbernica- pre komunikáciu s RAM. Pomocou neho môže procesor zapisovať dáta do pamäte alebo ich odtiaľ čítať. Pamäťová zbernica môže mať 8, 16 alebo 32 bitov, to je množstvo dát, ktoré je možné preniesť naraz;
  • Synchronizačná zbernica- umožňuje ovládať frekvenciu procesora a prevádzkové cykly;
  • Reštartujte autobus- resetovať stav procesora;

Za hlavnú zložku možno považovať jadro alebo aritmetické výpočtové zariadenie, ako aj registre procesora. Všetko ostatné pomáha týmto dvom komponentom fungovať. Pozrime sa, čo sú registre a aký je ich účel.

  • Registre A, B, C- určené na ukladanie údajov počas spracovania, áno, sú len tri, ale to je celkom dosť;
  • EIP- obsahuje adresu nasledujúcej programovej inštrukcie v RAM;
  • ESP- adresa údajov v RAM;
  • Z- obsahuje výsledok poslednej porovnávacej operácie;

Nie sú to samozrejme všetky pamäťové registre, ale tieto sú najdôležitejšie a procesor ich počas vykonávania programu využíva najviac. Teraz, keď viete, z čoho sa procesor skladá, sa môžete pozrieť, ako funguje.

Ako funguje počítačový procesor?

Výpočtové jadro procesora môže vykonávať iba matematiku, porovnávanie a presúvanie údajov medzi bunkami a pamäťou RAM, ale stačí na to, aby ste mohli hrať hry, sledovať filmy, prehliadať web a ďalšie.

V skutočnosti každý program pozostáva z nasledujúcich inštrukcií: pohyb, sčítanie, násobenie, delenie, rozdiel a prejdite na inštrukciu, ak je splnená podmienka porovnania. Samozrejme, toto nie sú všetky príkazy, existujú aj iné, ktoré kombinujú už uvedené príkazy alebo zjednodušujú ich používanie.

Všetky pohyby dát sa vykonávajú pomocou inštrukcie presunu (mov), táto inštrukcia presúva dáta medzi bunkami registra, medzi registrami a RAM, medzi pamäťou a pevný disk. Existujú špeciálne pokyny pre aritmetické operácie. A inštrukcie skoku sú potrebné na splnenie podmienok, napríklad skontrolujte hodnotu registra A a ak nie je nula, prejdite na inštrukciu na požadovanej adrese. Môžete tiež vytvárať slučky pomocou pokynov na skok.

To všetko je veľmi dobré, ale ako sa všetky tieto komponenty navzájom ovplyvňujú? A ako tranzistory chápu inštrukcie? Činnosť celého procesora riadi inštrukčný dekodér. Vďaka tomu každý komponent robí to, čo má robiť. Pozrime sa, čo sa stane, keď potrebujeme spustiť program.

V prvej fáze dekodér načíta adresu prvej inštrukcie programu v pamäti do registra ďalšej inštrukcie EIP, na tento účel aktivuje čítací kanál a otvorí blokovací tranzistor, aby vložil dáta do registra EIP.

V druhom hodinovom cykle inštrukčný dekodér prevedie príkaz na sadu signálov pre tranzistory výpočtového jadra, ktoré ho vykonajú a výsledok zapíšu do jedného z registrov, napríklad C.

V treťom cykle dekodér zvýši adresu nasledujúcej inštrukcie o jednu tak, aby ukazovala na ďalšiu inštrukciu v pamäti. Potom dekodér pokračuje v načítaní ďalšieho príkazu a tak ďalej až do konca programu.

Každá inštrukcia je už zakódovaná sekvenciou tranzistorov a prevedená na signály spôsobuje fyzikálne zmeny v procesore, napríklad zmenu polohy západky, ktorá umožňuje zapisovať dáta do pamäťovej bunky atď. Rôzne príkazy vyžadujú na vykonanie rôzny počet hodinových cyklov, napríklad jeden príkaz môže vyžadovať 5 hodinových cyklov a iný, zložitejší, až 20. To všetko však stále závisí od počtu tranzistorov v samotnom procesore.

To je všetko jasné, ale toto všetko bude fungovať iba vtedy, ak bude spustený jeden program a ak ich bude niekoľko a všetky súčasne. Môžeme predpokladať, že procesor má niekoľko jadier a potom sa každé jadro vykoná samostatné programy. Ale nie, v skutočnosti takéto obmedzenia neexistujú.

Naraz môže byť spustený iba jeden program. Všetok čas CPU je zdieľaný medzi všetkými spustené programy každý program sa vykonáva niekoľko hodinových cyklov, potom sa procesor prenesie do iného programu a celý obsah registrov sa uloží do RAM. Keď sa riadenie vráti do tohto programu, predtým uložené hodnoty sa načítajú do registrov.

Závery

To je všetko, v tomto článku sme sa pozreli na to, ako počítačový procesor funguje, čo je procesor a z čoho sa skladá. Môže to byť trochu komplikované, ale zachovali sme to jednoduché. Dúfam, že teraz lepšie rozumiete tomu, ako toto veľmi zložité zariadenie funguje.

Na záver videa o histórii procesorov:

V dnešnej dobe je na internete veľa informácií na tému procesory, dá sa nájsť kopa článkov ako to funguje, kde sa spomínajú hlavne registre, hodiny, prerušenia atď... Ale, pre človeka, ktorý je nie ste oboznámení so všetkými týmito pojmami a konceptmi, je dosť ťažké ako táto mucha“ pochopiť proces, ale musíte začať v malom - konkrétne so základným porozumením ako procesor funguje a z akých hlavných častí sa skladá.

Čo teda bude vo vnútri mikroprocesora, ak ho rozoberiete:

Číslo 1 označuje kovový povrch (kryt) mikroprocesora, ktorý slúži na odvod tepla a ochranu pred mechanickým poškodením toho, čo je za týmto krytom (teda vo vnútri samotného procesora).

Na čísle 2 je samotný kryštál, ktorý je v skutočnosti najdôležitejšou a najdrahšou súčasťou mikroprocesora na výrobu. Práve vďaka tomuto kryštálu prebiehajú všetky výpočty (a to je najdôležitejšia funkcia procesora) a čím je komplexnejší, tým je dokonalejší, tým je procesor výkonnejší a tým aj drahší. . Kryštál je vyrobený z kremíka. V skutočnosti je výrobný proces veľmi zložitý a obsahuje desiatky krokov, viac podrobností v tomto videu:

Číslo 3 je špeciálny textolitový substrát, ku ktorému sú pripevnené všetky ostatné časti procesora, navyše plní úlohu kontaktnej podložky - na ňom zadná strana Existuje veľké množstvo zlatých „bodiek“ - to sú kontakty (na obrázku ich môžete trochu vidieť). Vďaka kontaktnej podložke (podložke) je zabezpečená úzka interakcia s kryštálom, keďže kryštál nie je možné nijakým spôsobom priamo ovplyvniť.

Kryt (1) je pripevnený k podložke (3) pomocou lepiacej a tesniacej hmoty, ktorá je odolná voči vysoké teploty. Medzi kryštálom (2) a krytom nie je vzduchová medzera, po vytvrdnutí vytvára „most“ medzi kryštálom procesora a krytom, čo zabezpečuje veľmi dobrý prenos tepla.

Kryštál je spojený so substrátom pomocou spájkovania a tmelu, kontakty substrátu sú spojené s kontaktmi kryštálu. Tento obrázok jasne ukazuje, ako sú kryštálové kontakty spojené s kontaktmi substrátu pomocou veľmi tenkých drôtov (170-násobné zväčšenie na fotografii):

Vo všeobecnosti zariadenie procesorov rôznych výrobcov a dokonca aj modely od rovnakého výrobcu sa môžu značne líšiť. Avšak schému zapojeniaČinnosť zostáva rovnaká - všetky majú kontaktný substrát, kryštál (alebo niekoľko umiestnených v jednom puzdre) a kovový kryt na odvod tepla.

Takto napríklad vyzerá kontaktný substrát procesora Intel Pentium 4 (procesor je hore nohami):

Tvar kontaktov a štruktúra ich usporiadania závisí od procesora a základná doska počítač (zásuvky sa musia zhodovať). Napríklad na obrázku vyššie sú kontakty procesora bez „kolíkov“, pretože kolíky sú umiestnené priamo v zásuvke základnej dosky.

A existuje ďalšia situácia, keď „kolíky“ kontaktov vyčnievajú priamo z kontaktného substrátu. Táto funkcia je typická hlavne pre procesory AMD:

Ako bolo uvedené vyššie, zariadenie rôzne modely procesory od rovnakého výrobcu sa môžu líšiť, máme toho jasný príklad – štvorjadrový procesor; Intel Core 2 Quad, čo je v podstate 2 dvojjadrový procesor Core 2 duo linky kombinované v jednom puzdre:

Dôležité! Počet kryštálov vo vnútri procesora a počet jadier procesora nie sú to isté.

V moderných modeloch procesory Intel Naraz sa zmestia 2 kryštály (čipy). Druhý čip - grafické jadro procesora, v podstate hrá úlohu grafickej karty zabudovanej v procesore, to znamená, že aj keď v systéme nie je žiadna grafická karta, grafické jadro prevezme úlohu grafickej karty. , a to celkom výkonný (v niektorých modeloch procesorov vám výpočtový výkon grafických jadier umožňuje hrať moderné hry na stredných grafických nastaveniach).

To je všetko centrálne mikroprocesorové zariadenie, skrátka samozrejme.

© 2024 ermake.ru -- O oprave PC - Informačný portál