Processzorok fejlődése, működése
(Intel 80486-ig)

A CPU működése

A processzor főbb alkotórészei

-ALU: (Arithmetic and Logical Unit – Aritmetikai és Logikai Egység). A processzor alapvető alkotórésze, ami alapvető matematikai és logikai         műveleteket hajt végre. Sebessége növelhető egy koprocesszor (FPU, Floating Point Unit, lebegőpontos műveleteket végző egység) beépítésével. Az FPU korábban külön részegység volt, manapság a processzorok mindegyike beépítve tartalmazza.
-AGU: (Address Generation Unit) - a címszámító egység, feladata a programutasításokban található címek leképezése a főtár fizikai címeire és a tárolóvédelmi hibák felismerése.
-CU: (Control Unit a.m. vezérlőegység vagy vezérlőáramkör). Ez szervezi, ütemezi a processzor egész munkáját. Például lehívja a memóriából a soron következő utasítást, értelmezi és végrehajtatja azt, majd meghatározza a következő utasítás címét.
-Regiszter (Register): A regiszter a processzorba beépített nagyon gyors elérésű, kis méretű memória. A regiszterek addig (ideiglenesen) tárolják az információkat, utasításokat, amíg a processzor dolgozik velük. A mai gépekben 32/64 bit méretű regiszterek vannak. A processzor adatbuszai mindig akkorák, amekkora a regiszterének a mérete, így egyszerre tudja az adatot betölteni ide. Például egy 32 bites regisztert egy 32 bites busz kapcsol össze a RAM-mal. A regiszterek között nem csak adattároló elemek vannak (bár végső soron mindegyik az), hanem a processzor működéséhez elengedhetetlenül szükséges számlálók, és jelzők is. Ilyen például :
    utasításszámláló, (PC=program counter, IP=instruction pointer) ami mindig a következő végrehajtandó utasítás címét,
    utasításregiszter (IR=instruction register), mely a memóriából kiolvasott utasítást tárolja. E kód alapján határozza meg a vezérlőegység az elvégzendő műveletet
    flagregiszter, amely a processzor működése közben létrejött állapotok jelzőit (igaz, vagy hamis),
    veremmutató (SP = Stack Pointer) ,
    és az akkumulátor, (AC) amely pedig a logikai és aritmetikai műveletek egyik operandusát, majd az utasítás végrehajtása után az eredményt tartalmazza.
-Buszvezérlő: A regisztert és más adattárolókat összekötő buszrendszert irányítja. A busz továbbítja az adatokat.
-Cache: A modern processzorok fontos része a cache (gyorsítótár). A cache a processzorba, vagy a processzor környezetébe integrált memória, ami a viszonylag lassú rendszermemória-elérést hivatott kiváltani azoknak a programrészeknek és adatoknak előzetes beolvasásával, amikre a végrehajtásnak közvetlenül szüksége lehet. A mai PC processzorok általában két gyorsítótárat használnak, egy kisebb (és gyorsabb) első szintű (L1) és egy nagyobb másodszintű (L2) cache-t. A gyorsítótár mérete ma már megabyte-os nagyságrendű.

A processzor működése

1. Az utasítás beolvasása a memóriából a processzorba: A memória címtárolójából, az AR-ból (address register - címregiszter) kerül át a processzor címtárolójába az IP-be (instruction pointer). Ezek után a memória adattároló regiszteréből, a DR-ből (data register - adatregiszter) kerülnek át az adatok a processzor adattárolójába, az IR (instruction register)-be.
2.
A beolvasott utasítás dekódolása, elemzése: Az ALU az utasítás kódját értelmezi, melyből kiderül milyen műveletet kell elvégeznie, és hogy mennyi adatot kell beolvasni még ahhoz, hogy meghatározhatóak legyenek az operandusok, amelyeken a műveleteket végzi.
3.
A művelet végrehajtása, mely eredménye az LR3 segédregiszterbe kerül.
4.
Eredmény tárolása: az LR3 segédregiszterből egy másik regiszterbe, vagy a DR-en keresztül a memóriacímre kerül.
5.
A következő utasítás címének meghatározása: A szekvenciális program esetében az IP értékének megnövelésével jut el az ALU a következő utasítás címéhez. Ellenkező esetben egy regiszter tartalmazza a következő utasítás címét, melyet a processzor az IP-be ír.

Az óra és az órajel

Az óra az egész számítógép működéséhez szükséges ütemet biztosítja. Az óra magában foglal egy kvarckristályt, ami az órajel előállításához szükséges rezgés stabilitását adja. Sebességét Hertzben (vagy megahertzben) mérjük. Az órajel-generátor néhány száz MHz-es rezgést ad, ezért a processzor órajelének előállításához egy beállítható szorzót alkalmaznak, hogy többféle sebességű processzort is a rendszerbe lehessen építeni.
A processzor részegységei (itt a legalapvetőbb műveleteket végző részegységekre kell gondolni, tehát nem egy olyan nagy egységre, mint például az ALU.), az órajel ütemére végzik feladataikat; amikor egy részegység megkapja az órajelet egy elektronikus jel formájában, akkor elvégzi a soron következő műveletet, amikor megkapja a következő jelet, akkor a következő műveletet végzi el. Egy másodperc alatt egy mai processzor egysége több milliószor kap jelet. Az órajel sebességének így ahhoz az időhöz kell alkalmazkodnia, amennyi időbe telik egy részegységnek a rá kijelölt művelet elvégzése (különben akkor jönne a következő művelet, amikor az előző még feldolgozás alatt van, és ez érthetően problémákat okozna). Ez lényegében azt eredményezheti, hogy a processzor egységeinek a leglassúbb elem miatt kell várakozniuk. Ezt persze különféle megoldásokkal orvosolják.
Ám a műveletet nem szabad összetéveszteni az utasítással, ezek bonyolultsága miatt egy utasítás végrehajtása több órajelciklust is igénybe vehet. Az is lassító tényező, hogy a processzor az adatokat lassabban kapja, mint ahogy fel tudná dolgozni őket, ilyenkor pedig várakoznia kell.
Gépi ciklusnak nevezzük azt az időt, amely alatt a számítógép egy gépi műveletet végre tud hajtani. Egy gépi ciklus általában több órajelütemből áll, az egyes utasítások végrehajtásához szükséges gépi ciklusok száma utasításonként más és más lehet.

A processzor utasításkészlete

A processzor által ismert műveletek és utasítások összességét értjük a processzor utasításkészlete alatt. Legelőször a RISC (Reduced Instructions Set Computer) utasításkészletet használták, ez leegyszerűsített, rövid utasításokat tartalmazott. Elsődlegesnek tekintette a sebességet, és az egyszerűséget. Később a CISC-et (Complex Instructions Set Computer) alkalmazták, ez már több, hosszabb utasítást tartalmazott, ám a túl sok, bonyolult utasítás nem bizonyult célravezetőnek, ezért visszatértek a RISC-hez. Ma már persze rengeteg utasításkészlet van, melyben keverednek a RISC, és a CISC irányelvei (Pentium, Pentium MMX, SSE 3/4, 3D now!).

Történelem    Működés    Kronológia    4004    4040    8008    8080    8085    8086    8088    80186    80286    80386    80486