Vissza: Gép és hardver

CPU

A processzor hajtja végre a programok utasításait lépésről lépésre.

Mit jelent az, hogy CPU?

A CPU az angol Central Processing Unit rövidítése. Magyarul központi feldolgozó egységnek vagy egyszerűen processzornak szoktuk nevezni.

A CPU feladata az, hogy végrehajtsa a programok utasításait. Amikor elindítasz egy böngészőt, játékot, Node.js szervert vagy akár egy egyszerű parancssori programot, végső soron a processzor hajtja végre a hozzá tartozó műveleteket.

A CPU nem varázslat

A magas szintű programkód, például JavaScript, PHP, C# vagy Python, ember számára érthető formában van megírva. A gép szintjén viszont a CPU sok egyszerű, alacsony szintű műveletet hajt végre: adatot mozgat, számol, összehasonlít, ugrik egyik utasításról a másikra.

Mit csinál valójában a processzor?

A CPU nagyon egyszerű műveleteket végez, csak elképesztően gyorsan. A programok bonyolult működése ezekből az apró lépésekből áll össze.

  • adatot olvas a memóriából,
  • adatot ír vissza a memóriába,
  • számításokat végez, például összead, kivon, szoroz,
  • összehasonlít értékeket,
  • feltétel alapján másik kódrészre ugrik,
  • más hardverelemekkel és az operációs rendszerrel együttműködik.

Fontos különbség

A CPU nem tárolja tartósan a fájlokat. A program a háttértáron van, futáskor bekerül a memóriába, majd a processzor elkezdi végrehajtani az utasításait.

Mi történik, amikor elindul egy program?

1

A program a háttértáron van

Például egy `.exe` fájl, egy Node.js projekt, egy böngésző vagy egy játék fájljai az SSD-n vagy HDD-n vannak eltárolva.

2

Az operációs rendszer betölti a memóriába

A program futásához szükséges kódrészek és adatok bekerülnek a RAM-ba.

3

Létrejön egy processz

A futó programból lesz egy processz, amelynek saját memóriaterülete, állapota és erőforrásai vannak.

4

A CPU végrehajtja az utasításokat

A processzor sorban dolgozza fel az utasításokat, miközben a memóriából adatokat olvas és oda eredményeket ír vissza.

8 bites, 16/32 bites és 64 bites számítógépek fejlődése
A processzorok fejlődése a régi 8 bites otthoni gépektől a 16/32 bites PC-ken át a mai 64 bites számítógépekig. Ahogy nőtt a processzorok bitessége, úgy vált lehetővé nagyobb adatok és nagyobb memóriacím-tartományok természetes kezelése.

Bitek: 8 bit, 16 bit, 32 bit, 64 bit

Amikor azt mondjuk, hogy egy processzor 8 bites, 16 bites, 32 bites vagy 64 bites, akkor leegyszerűsítve arról beszélünk, hogy a processzor belül mekkora adatdarabokkal tud természetes módon dolgozni.

A CPU-n belül vannak nagyon gyors, kicsi tárolóhelyek, ezeket regisztereknek nevezzük. Ezeket elképzelheted úgy, mint a processzor saját belső változóit. Amikor a CPU számol, összehasonlít, memóriacímet kezel vagy adatot mozgat, nagyon gyakran ezekben a regiszterekben dolgozik.

Ha egy processzor 8 bites, akkor egy ilyen alap belső adatméret 8 bit széles. Ha 32 bites, akkor 32 bit széles. Ha 64 bites, akkor 64 bit széles. Minél több bit áll rendelkezésre, annál nagyobb számokat, memóriacímeket és adatdarabokat lehet természetes módon kezelni.

Mi köze ennek a memóriához?

A memória eléréséhez a processzornak címekkel kell dolgoznia. Egy memóriacím olyan, mint egy házszám: megmondja, hogy a RAM melyik részéből akarunk adatot olvasni, vagy hová akarunk adatot írni.

Ha a processzor és a rendszer csak kisebb méretű címekkel tud dolgozni, akkor kevesebb különböző memóriahelyet tud közvetlenül megcímezni. Ezért kapcsolódik össze a processzor bitessége és az elérhető memória mérete.

Miért volt korlát a 32 bites rendszereknél?

Egy 32 bites cím azt jelenti, hogy a cím 32 darab bitből áll. Egy bit kétféle értéket vehet fel: 0 vagy 1. Ezért 32 biten összesen 232 különböző cím állítható elő.

Ez nagyjából 4 GB címezhető tartományt jelent. Ezért hallani azt, hogy egy klasszikus 32 bites rendszer általában körülbelül 4 GB memóriát tud közvetlenül kezelni.

A valóságban ebből sokszor még kevesebb volt használható a programok számára, mert a hardvereszközök, videokártya, rendszerterületek és az operációs rendszer is lefoglalt részeket ebből a címtartományból.

És miért sokkal nagyobb a 64 bit?

Egy 64 bites címnél már 264 különböző cím lehetséges. Ez elméletben hatalmas címtartományt jelent: körülbelül 16 exabájt memória címezhető vele.

Ez nem azt jelenti, hogy egy mai otthoni gépbe ténylegesen ennyi RAM-ot lehet tenni. A gyakorlati határt az alaplap, a processzor konkrét típusa, az operációs rendszer verziója és a hardveres megvalósítás is korlátozza.

A lényeg az, hogy a 64 bites világban a 32 bites rendszerek néhány GB-os korlátja már nem ilyen szűk keresztmetszet. Ezért tudnak a mai gépek 16 GB, 32 GB, 64 GB vagy akár sokkal több memóriával is természetesen működni.

Típus Mit jelent leegyszerűsítve? Memória / címezés gondolata
8 bites A processzor alapvetően 8 bites adatdarabokkal dolgozik. Egy 8 bites érték 0 és 255 közötti számot tud tárolni. Régi otthoni gépek világa. Sok ilyen gép 64 KB körüli memóriatartományban mozgott, vagy trükkökkel, például lapozással tudott több memóriát használni.
16 bites Nagyobb belső adatméret, fejlettebb címzési lehetőségek. Átmeneti korszak a nagyon korlátozott 8 bites gépek és a későbbi PC-s világ között.
32 bites Sokáig ez volt a PC-s világ egyik meghatározó alapja. 32 bites címzéssel elméletben körülbelül 4 GB memória címezhető közvetlenül.
64 bites A mai PC-k, laptopok és szerverek általános alapja. Elméletben óriási címtartományt ad. A gyakorlatban a hardver és az operációs rendszer szabja meg, hogy mennyi RAM használható ténylegesen.

Régi trükk: lapozás, bankváltás

A régi 8 bites gépeknél gyakori probléma volt, hogy a processzor közvetlenül csak kis memóriatartományt tudott kezelni. Ezt néha úgy kerülték meg, hogy a memóriát több részre, vagyis lapokra bontották.

Ilyenkor a processzor egyszerre csak egy adott memórialapot látott, de a rendszer át tudott kapcsolni egy másik lapra. Ez olyan, mintha egy könyvből egyszerre csak egy oldalt látnál, de tudnál lapozni a következő oldalra.

Ettől a gép nem lett valódi modern 32 vagy 64 bites rendszer, de ügyes trükkökkel több adatot tudott kezelni, mint amit a közvetlen címezés elsőre megengedett volna.

CPU architektúrák: x86, x64, ARM és mikrokontrollerek
A különböző processzorarchitektúrák más-más célterületre készültek. Az x86 a régebbi PC-s világ, az x64 / amd64 a mai PC-k és szerverek egyik alapja, az ARM / arm64 pedig telefonokban, Raspberry Pi-ben, Apple Silicon gépekben és beágyazott eszközökben is gyakori.

CPU architektúrák: nem csak az számít, hány bites

A processzoroknál nemcsak az fontos, hogy 8, 16, 32 vagy 64 bitesek, hanem az is, hogy milyen architektúrára épülnek.

Az architektúra leegyszerűsítve azt jelenti, hogy a processzor milyen utasításkészletet ért, hogyan kezeli a memóriát, milyen regiszterei vannak, milyen módon hajtja végre a programokat, és milyen működési modellre épül.

Ez azért fontos, mert egy program nem „általában processzorra” készül, hanem egy konkrét architektúrára. Egy Windowsos x64 program például nem fog csak úgy natívan elindulni egy ARM-os Raspberry Pi-n vagy egy mikrokontrolleren.

Architektúra = közös nyelv a program és a processzor között

Képzeld el úgy, mintha a processzor egy adott nyelvet értene. Az x86/x64 egy ilyen világ, az ARM egy másik világ, a régi 8 bites gépek processzorai pedig megint más utasításkészletet használtak.

Ha egy program nem azon a „nyelven” készült, amit az adott processzor ért, akkor vagy külön verzió kell belőle, vagy valamilyen fordításra, emulációra, kompatibilitási rétegre van szükség.

x86: a klasszikus PC-s világ alapja

Az x86 a PC-s világ egyik legismertebb processzorarchitektúrája. Eredetileg a régi Intel processzorok vonalából nőtt ki, és hosszú időn keresztül ez határozta meg az asztali számítógépek világát.

Amikor régebbi PC-kről, DOS-ról, korai Windowsokról vagy 32 bites Windows rendszerekről beszélünk, akkor nagyon gyakran az x86 világhoz kapcsolódunk.

Az x86 név ma sokszor tágabb értelemben is előkerül: nemcsak egy konkrét régi processzort jelent, hanem egy egész PC-s örökséget, utasításkészletet és kompatibilitási világot.

x64 / x86-64 / amd64: a modern PC-s 64 bites világ

Az x64, más néven x86-64 vagy amd64, a klasszikus x86 világ 64 bites továbbfejlesztése.

Ez nem mikrokontroller-vonal, hanem a mai asztali PC-k, laptopok és szerverek egyik legfontosabb alapja. Amikor egy átlagos Windowsos vagy Linuxos PC-ről beszélünk, az nagyon gyakran x64 architektúrájú gépet jelent.

Az amd64 elnevezés azért érdekes, mert a 64 bites x86-vonal elterjedésében az AMD-nek nagyon fontos szerepe volt. Ettől még az amd64 nem azt jelenti, hogy csak AMD processzoron fut. Intel processzoros gépeknél is gyakran ugyanilyen architektúrájú rendszerről beszélünk.

Régi processzorok és mikrokontrollerek

A régi otthoni számítógépekben, például a Commodore 64 vagy a ZX Spectrum korában, jellemzően egyszerűbb, 8 bites processzorok dolgoztak. Ezek már valódi processzorok voltak, de mai szemmel nagyon korlátozott memóriával, teljesítménnyel és lehetőségekkel.

A mikrokontroller egy kicsit más kategória. Egy mikrokontroller általában nemcsak egy CPU-magból áll, hanem egyetlen chipen belül tartalmazhat programmemóriát, RAM-ot, időzítőket, bemeneteket, kimeneteket és egyéb vezérlőegységeket is.

Ezért használják őket rengeteg olyan helyen, ahol nem kell teljes operációs rendszer vagy nagy számítási teljesítmény, csak megbízható vezérlés:

  • mosógépben, kávéfőzőben, termosztátban,
  • autók elektronikájában,
  • szenzoros eszközökben,
  • Arduino-szerű hobbiprojektekben,
  • 3D nyomtatók vezérlésében,
  • világítás-, motor- vagy relévezérlésben.

CPU vagy mikrokontroller?

Egy normál PC-s CPU olyan, mint egy nagy teljesítményű motor egy autóban: önmagában nagyon erős, de kell mellé memória, háttértár, alaplap, videokártya, operációs rendszer és sok más komponens.

Egy mikrokontroller inkább olyan, mint egy kis önálló vezérlődoboz: nem olyan erős, de sok minden egy chipen belül van, és konkrét feladatokra nagyon hatékony.

Modern mikrokontrollerek: már ezek sem feltétlenül „buták”

Régen sok mikrokontroller valóban nagyon egyszerű 8 bites eszköz volt. Ma viszont rengeteg modern mikrokontroller már 32 bites, és akár ARM Cortex-M alapokra épül.

Ezek még mindig nem PC-k és nem szerverprocesszorok, de nagyon komoly feladatokra képesek a saját területükön. Tudnak szenzorokat kezelni, kommunikálni, motorokat vezérelni, hangot feldolgozni, kijelzőt meghajtani vagy alacsony fogyasztású okoseszközökben működni.

Itt fontos megérteni a különbséget: egy ARM Cortex-M mikrokontroller-vonal nem ugyanaz a kategória, mint egy telefonban, Raspberry Pi-ben vagy Macben lévő nagyobb ARM processzor.

ARM: nem egy gyártó, hanem egy architektúra-világ

Az ARM nem egyszerűen egy harmadik PC-s processzorgyártó az Intel és az AMD mellett. Az ARM egy másik architektúra-világ, amelyet nagyon sokféle chipgyártó használhat.

ARM-alapú processzorokat találhatsz telefonokban, tabletekben, Raspberry Pi-ben, okoseszközökben, beágyazott rendszerekben, mikrokontrollerekben, sőt újabb Mac gépekben is.

Az ARM világon belül is vannak külön kategóriák. Nagyon leegyszerűsítve:

  • ARM Cortex-A: nagyobb teljesítményű alkalmazásprocesszorok, például telefonokban, tabletekben, Raspberry Pi-ben, beágyazott Linuxos rendszerekben.
  • ARM Cortex-M: mikrokontrollerekhez, alacsony fogyasztású, valós idejű és beágyazott vezérlési feladatokra.

ARM-ból is többféle világ van

Attól, hogy két eszköz ARM-alapú, még nem biztos, hogy ugyanaz a program ugyanúgy fut rajtuk.

Egy Raspberry Pi már futtathat Linuxot, Docker konténereket, webszervert vagy Python programokat. Egy egyszerű ARM Cortex-M mikrokontroller viszont általában nem ilyen módon működik: oda sokszor közvetlenül egy firmware kerül, amely egy konkrét hardveres feladatot végez.

Apple Silicon: Mac processzorok ARM-alapokon

A régebbi Mac gépek hosszú ideig Intel processzorokat használtak. Az újabb Mac gépeknél viszont az Apple áttért a saját fejlesztésű Apple Silicon chipekre.

Ilyenek például az M-szériás Apple chipek. Ezek ARM-alapú processzorok, de nem egyszerű telefonos chipek: kifejezetten Mac gépekhez, nagy teljesítményre és jó energiahatékonyságra tervezett rendszerek.

Ezért van az, hogy Macen ma már különösen fontos lehet, hogy egy programból van-e Apple Silicon / arm64 verzió, vagy csak régebbi Intel / x64 verzió érhető el.

Mi történik a régi Inteles Mac programokkal?

Amikor egy régebbi Mac program még Intel/x64 architektúrára készült, az nem ugyanazt a gépi kódot tartalmazza, mint amit egy Apple Silicon ARM processzor natívan végrehajtana.

Ilyenkor a rendszer kompatibilitási megoldásokkal tud segíteni, vagy a fejlesztő készít külön Apple Silicon verziót. A legjobb teljesítményt általában az adja, ha a program natívan arra az architektúrára készült, amin futtatjuk.

Intel és AMD: két gyártó, hasonló PC-s világ

A PC-s világ két legismertebb processzorgyártója az Intel és az AMD. Mindkettő gyárt olyan processzorokat, amelyek a hétköznapi asztali gépekben, laptopokban és szerverekben használt x86/x64 világhoz tartoznak.

Ezért tud ugyanaz a Windows, Linux, játék vagy program Intel és AMD processzoron is futni, ha ugyanarra az architektúrára készült.

A két gyártó processzorai belül nem teljesen ugyanolyanok, de a programok felé hasonló utasításkészlet-világot biztosítanak. Egy fejlesztőnek ezért sok esetben nem az a legfontosabb kérdés, hogy Intel vagy AMD, hanem az, hogy például x64 vagy ARM architektúráról beszélünk-e.

Mai processzorcsaládok és generációk

Amikor ma processzort nézel egy webshopban, általában nem csak azt látod, hogy Intel vagy AMD. A névben sokszor benne van a teljesítményszint, a generáció, a célterület és néhány fontos extra tulajdonság is.

Intel oldalon sokáig az Intel Core i3, i5, i7, i9 elnevezések voltak nagyon ismertek. Újabb gépeknél már találkozhatsz Intel Core és Intel Core Ultra nevekkel is. A Core Ultra modelleknél például megjelenhet NPU is, vagyis külön AI-gyorsító egység.

AMD oldalon a legismertebb otthoni és asztali processzorcsalád a Ryzen. Itt is vannak teljesítményszintek, például Ryzen 3, Ryzen 5, Ryzen 7 és Ryzen 9. Minél nagyobb ez a szám, általában annál magasabb kategóriájú processzorról beszélünk, de önmagában ez sem mond el mindent.

A processzor nevében szereplő generációs számok azért fontosak, mert egy újabb generáció gyakran modernebb architektúrát, jobb energiahatékonyságot, újabb memóriatámogatást, gyorsabb csatlakozásokat vagy jobb beépített egységeket hozhat.

Mit jelent az, hogy 1000-es, 5000-es vagy 12000-es sorozat?

A processzorok nevében szereplő számok sokszor a generációra vagy az adott processzorcsaládon belüli helyére utalnak. Ez azért fontos, mert egy újabb generáció nem csak nagyobb számot jelenthet, hanem modernebb architektúrát, jobb energiahatékonyságot, újabb memóriatámogatást, gyorsabb csatlakozásokat vagy fejlettebb beépített egységeket is.

Például amikor azt hallod, hogy Intel 12. generáció, 13. generáció vagy 14. generáció, akkor nem egyszerűen egy i3/i5/i7/i9 kategóriáról van szó, hanem arról is, hogy az adott processzor melyik korszakba tartozik.

AMD-nél hasonlóan találkozhatsz olyan nevekkel, mint Ryzen 1000, Ryzen 3000, Ryzen 5000, Ryzen 7000 vagy Ryzen 9000. Ezek a nagy sorozatszámok segítenek elhelyezni, hogy nagyjából melyik Ryzen-korszakról beszélünk.

Intel generációk egyszerűen

A klasszikus Intel Core i-s processzoroknál a típusnévben lévő szám eleje sokszor megmutatja a generációt.

Példa Mit jelent? Egyszerű magyarázat
Intel Core i5-10400 10. generáció A 10 a 10400 elején a 10. generációra utal.
Intel Core i5-12600K 12. generáció A 12 a 12600 elején a 12. generációt jelenti.
Intel Core i7-13700K 13. generáció A 13 a 13700 elején a 13. generációt jelenti.
Intel Core i9-14900K 14. generáció A 14 a 14900 elején a 14. generációt jelenti.

Ezért mondjuk például azt, hogy egy i5-12600K egy 12. generációs Intel Core i5 processzor, míg egy i7-13700K már 13. generációs Intel Core i7.

Az i5, i7, i9 nem elég önmagában

Nagyon fontos, hogy az i5, i7 vagy i9 csak a teljesítménykategóriát jelzi az adott családon belül. Egy régebbi i7 nem biztos, hogy jobb, mint egy újabb i5.

Például egy modern, újabb generációs i5 sok esetben gyorsabb és hatékonyabb lehet, mint egy több generációval régebbi i7. Ezért vásárláskor vagy gépértékeléskor mindig a teljes típusszámot kell nézni, nem csak azt, hogy i5 vagy i7.

AMD Ryzen generációk egyszerűen

AMD Ryzen processzoroknál a nagy sorozatszám segít megérteni, hogy melyik Ryzen-korszakhoz tartozik a processzor.

Sorozat Korszak / architektúra gondolata Egyszerű magyarázat
Ryzen 1000 Első Ryzen generáció Ez volt az AMD Ryzen korszak indulása. Nagy fordulatot jelentett az AMD asztali processzorainál.
Ryzen 2000 Továbbfejlesztett korai Ryzen generáció Finomított, javított Ryzen-vonal, jobb órajelekkel és hatékonysággal.
Ryzen 3000 Újabb nagy ugrás Nagyon népszerű generáció volt, sok asztali gépben és fejlesztői gépben találkozhatsz vele.
Ryzen 5000 Erős Zen 3 korszak Sokáig az egyik legjobb ár/teljesítmény arányú Ryzen generáció volt, játékra és munkára is erős modellekkel.
Ryzen 7000 Újabb platform, DDR5, AM5 Modernebb platformra váltott, újabb memóriával és csatlakozási lehetőségekkel.
Ryzen 9000 Újabb Zen 5 generáció Még modernebb Ryzen sorozat, fejlettebb architektúrával és jobb hatékonysággal.

Példa AMD Ryzen név olvasására

Vegyünk például egy ilyen nevet: AMD Ryzen 7 5800X.

  • A Ryzen 7 a teljesítménykategóriát jelzi.
  • Az 5800 elején az 5 arra utal, hogy ez az 5000-es Ryzen sorozatba tartozik.
  • Az X általában magasabb teljesítményre hangolt modellt jelent.

Egy Ryzen 7 7800X3D esetén a Ryzen 7 továbbra is kategória, a 7000-es szám már újabb sorozatot jelez, az X3D pedig extra 3D V-Cache gyorsítótáras modellt jelent.

Generáció ≠ automatikusan mindenben gyorsabb

Általában igaz, hogy egy újabb generáció modernebb, de nem minden újabb processzor gyorsabb minden régebbi processzornál. Egy felső kategóriás régebbi CPU bizonyos feladatokban még mindig erős lehet, míg egy újabb, de belépőszintű modell kevesebb maggal vagy alacsonyabb teljesítménykerettel rendelkezhet.

Ezért mindig a teljes képet kell nézni: generáció, magszám, szálak száma, órajel, cache, fogyasztás, alaplap/platform, memória és az adott felhasználási cél.

Újabb Intel Core Ultra név: itt már más a logika

Az Intel újabb processzorainál megjelent a Core Ultra elnevezés. Itt már nem mindig a régi, egyszerű i5-12600K / i7-13700K jellegű számozást látod.

Például egy Intel Core Ultra 7 265K már nem úgy olvasandó, mint egy régi 15. generációs i7-15700K. A Core Ultra névnél külön kell figyelni a sorozatra, a teljesítményszintre, a pontos SKU-számra és a végén lévő betűjelzésre.

Ez azért jó példa, mert megmutatja: a processzorok elnevezése idővel változik. Régebbi Intel Core i-s processzoroknál viszonylag egyszerűen leolvasható a generáció, az újabb Core Ultra vonalnál viszont már más jelölési rendszert használ az Intel.

Hogyan gondolkodj róla vásárláskor?

Ha processzort nézel, ne csak azt figyeld, hogy i5, i7, Ryzen 5 vagy Ryzen 7. Nézd meg a teljes típusszámot is.

  • Intel Core i5-12600K: 12. generációs, K-s, tuningolható Intel modell.
  • Intel Core i7-13700F: 13. generációs Intel modell, F jelöléssel, tehát külön videokártyát igényel.
  • AMD Ryzen 5 5600: Ryzen 5000-es sorozatú, népszerű középkategóriás modell.
  • AMD Ryzen 7 7800X3D: Ryzen 7000-es sorozatú, extra 3D V-Cache-es modell, játékoknál különösen érdekes lehet.
  • AMD Ryzen 9 9900X: Ryzen 9000-es sorozatú, újabb generációs, magasabb kategóriás modell.

A lényeg: a generáció segít megérteni, hogy mennyire modern a processzor, de a végső döntéshez mindig a konkrét modell adatait kell nézni.

Ne csak a nevet nézd

Egy régebbi i7 nem biztos, hogy gyorsabb, mint egy újabb i5. Ugyanígy egy régebbi Ryzen 7 sem biztos, hogy mindenben jobb, mint egy újabb Ryzen 5. A teljesítményt a generáció, az architektúra, a magok száma, az órajel, a cache, a fogyasztási keret és az adott program jellege együtt határozza meg.

Mit jelentenek a processzor nevében a betűk?

A processzorok végén gyakran látsz betűket, például K, F, KF, X, X3D vagy G. Ezek nem véletlen díszítések, hanem fontos információkat adnak.

Ezek a jelölések gyártónként eltérhetnek, ezért mindig az adott Intel vagy AMD modell adatlapját érdemes megnézni. Tanulási szinten viszont néhány gyakori jelölést már most is érdemes ismerni.

Gyakori Intel jelölések

Jelölés Mit jelent? Miért érdekes?
K Magasabb teljesítményű, szorzózár nélküli, tuningolható modell. Olyan gépbe való, ahol fontos a teljesítmény, és az alaplap/hűtés is alkalmas lehet tuningra.
F Nincs használható beépített grafikus mag, külön videokártya kell. Olcsóbb lehet, de monitorhoz, játékhoz vagy grafikus munkához mindenképpen külön VGA szükséges.
KF K-s, tehát tuningolható modell, de F-es is, vagyis nincs benne használható iGPU. Erős gamer vagy munkaállomás gépeknél gyakori, ahol úgyis kerül mellé külön videokártya.
T Alacsonyabb fogyasztásra optimalizált asztali modell. Kisebb gépekbe, irodai vagy halkabb rendszerekbe lehet érdekes.

Gyakori AMD Ryzen jelölések

Jelölés Mit jelent? Miért érdekes?
X Általában magasabb teljesítményre és magasabb órajelekre hangolt modell. Erősebb asztali gépekbe, játékra, munkára vagy komolyabb feladatokra lehet jó választás.
X3D 3D V-Cache technológiával készült modell, extra gyorsítótárral. Sok játékban különösen erős lehet, mert a nagyobb cache csökkentheti a memóriaelérés miatti várakozást.
G Erősebb beépített grafikus egységgel rendelkező Ryzen modell. Olyan gépbe hasznos, ahol nem akarsz külön videokártyát, például irodai, otthoni vagy kis méretű gépnél.
F Olyan modell, amelyhez külön videokártya szükséges. Akkor nem gond, ha a gépbe eleve dedikált videokártya kerül.

Mi az a binning, vagyis válogatás?

A processzorok gyártása nagyon összetett folyamat. Nem minden legyártott chip sikerül teljesen ugyanolyanra. A gyártás után a chipeket tesztelik: megnézik, milyen órajelet, fogyasztást, hőtermelést és működési stabilitást tudnak.

Ezután a gyártó különböző kategóriákba sorolhatja őket. Ezt hívják binningnek. Leegyszerűsítve: amelyik chip jobban teljesít a teszteken, abból lehet magasabb kategóriás modell, amelyik kevesebbet tud, abból lehet alacsonyabb kategóriás vagy részben letiltott modell.

Ezért létezhet ugyanarra a technológiai alapra többféle processzor is: eltérő magszámmal, órajellel, fogyasztással, grafikus résszel vagy tuningolhatósággal.

K-s processzorok és tuning

Intel oldalon a K jelölésű processzorok egyik fontos tulajdonsága, hogy szorzózár nélküliek, vagyis megfelelő alaplappal és hűtéssel tuningolhatók.

A tuning azt jelenti, hogy a processzort a gyári alapbeállításoknál magasabb teljesítményre próbáljuk állítani. Ez történhet például magasabb órajellel vagy módosított feszültséggel.

Ez viszont nem varázslat és nem kockázatmentes. A tuning több hőt, nagyobb fogyasztást, erősebb hűtést és stabilabb alaplapot igényelhet. Ráadásul két azonos típusú processzor sem biztos, hogy pontosan ugyanannyira tuningolható.

A tuninghoz nem elég a K-s CPU

Hiába tuningolható egy processzor, ha az alaplap, a BIOS/UEFI, a tápegység vagy a hűtés nem alkalmas rá. A magasabb órajel több hőt termelhet, és ha a hűtés nem elég jó, a processzor visszaveszi a teljesítményét, vagy instabillá válhat a rendszer.

Integrált grafikus mag: kell külön videokártya?

Sok processzor tartalmazhat integrált grafikus magot, röviden iGPU-t. Ez azt jelenti, hogy a processzoron belül van egy grafikus egység, amely képes képet adni a monitorra.

Ez nagyon hasznos lehet irodai gépben, tanulós gépben, szerver karbantartásánál, hibakeresésnél vagy olyan otthoni gépnél, ahol nem cél a komoly játék.

Fontos viszont, hogy az integrált grafika teljesítménye nagyon eltérő lehet. Van olyan iGPU, amely főleg csak képmegjelenítésre, böngészésre és videólejátszásra jó, és van olyan erősebb APU-s megoldás, amely már könnyebb játékokra is alkalmas lehet.

F-es processzor mellé kell videokártya

Ha egy processzor jelölésében az F azt jelenti, hogy nincs használható integrált grafikus egysége, akkor a géphez külön videokártya kell.

Ilyenkor hiába van az alaplapon HDMI vagy DisplayPort csatlakozó, attól még nem biztos, hogy lesz kép. Az alaplapi videokimenet általában csak akkor működik, ha a processzorban van használható integrált grafika.

Példák név alapján

Nézzünk néhány gondolati példát arra, hogyan lehet olvasni a processzorok neveit. Ezek nem vásárlási ajánlások, csak a jelölések megértését segítik.

Példa jelölés Mit sejthetünk belőle? Mire kell figyelni?
Intel Core Ultra 7 ...K Magasabb kategóriás, tuningolható Intel asztali processzor. Erős hűtés, megfelelő alaplap és fogyasztás fontos lehet.
Intel Core Ultra 7 ...KF Tuningolható Intel processzor, de használható integrált grafika nélkül. Külön videokártya kell hozzá.
AMD Ryzen 7 ...X Magasabb teljesítményre hangolt Ryzen modell. A hűtés és a fogyasztás itt is fontos lehet.
AMD Ryzen 7 ...X3D Extra 3D V-Cache gyorsítótáras Ryzen modell. Játékoknál nagyon erős lehet, de nem minden feladat profitál belőle ugyanannyit.
AMD Ryzen ...G Erősebb beépített grafikus egységgel rendelkező Ryzen modell. Külön videokártya nélkül is használható lehet, főleg irodai/otthoni gépbe.
AMD Ryzen ...F Olyan Ryzen modell, amely külön videokártyát igényel. Alaplapi videokimenet önmagában nem elég, ha a CPU-ban nincs iGPU.
Architektúra / világ Hol találkozol vele? Fejlesztőként miért érdekes?
x86 Régebbi 32 bites PC-k, régi Windowsos környezetek. Régi programok, kompatibilitás, régi rendszerek támogatása.
x64 / x86-64 / amd64 Mai PC-k, laptopok, szerverek jelentős része. Windows/Linux szerverek, Docker image-ek, natív programok, modern PC-s fejlesztés.
ARM / arm64 Telefonok, Raspberry Pi, Apple Silicon Mac gépek, egyes szerverek. Külön build, külön Docker image, energiahatékony eszközök, beágyazott rendszerek.
ARM Cortex-M / mikrokontroller Arduino-szerű eszközök, szenzorok, vezérlők, IoT, autóipari és ipari elektronikák. Firmware-fejlesztés, közvetlen hardvervezérlés, kis memória, alacsony fogyasztás.
CPU-mag és thread vagy szál közötti különbség
A CPU-mag fizikai végrehajtó egység a processzorban. A thread, vagyis szál egy program futási ága. Egy 6 magos / 12 szálas processzornál 6 fizikai mag van, de az operációs rendszer 12 logikai végrehajtási lehetőséget lát.

Mi az a CPU-mag?

A CPU-mag a processzor egyik tényleges végrehajtó egysége. Leegyszerűsítve olyan, mint egy külön kis „dolgozó” a processzoron belül, amely képes utasításokat végrehajtani.

Régebben sok processzor egymagos volt. Ez azt jelentette, hogy egyszerre alapvetően egy fő végrehajtási egység dolgozott. A mai processzorok viszont több magból állhatnak: például lehetnek 2, 4, 6, 8, 12 vagy még több magosak.

Ha egy processzor többmagos, akkor több feladatot tud párhuzamosan végezni. Például az egyik mag dolgozhat a böngészőn, egy másik egy háttérben futó víruskeresőn, egy harmadik egy fejlesztői szerveren, miközben az operációs rendszer is futtatja a saját feladatait.

A mag fizikai dolog

A CPU-mag hardveres értelemben létező része a processzornak. Nem egy program, nem egy Windows-beállítás, nem egy virtuális fogalom, hanem a processzoron belüli valódi végrehajtó egység.

Ha azt mondjuk, hogy egy processzor 6 magos, akkor abban ténylegesen 6 ilyen végrehajtó mag található.

Miért jó, ha több mag van?

A több mag fő előnye az, hogy a gép egyszerre több dolgot tud hatékonyabban csinálni. Ez különösen akkor hasznos, amikor sok program fut egyszerre, vagy egy program maga is több részfeladatra tudja bontani a munkát.

  • egy játék használhat több magot a fizika, grafika-előkészítés vagy háttérfolyamatok miatt,
  • egy videóvágó program több magon kódolhatja a videót,
  • egy webszerver egyszerre több kérést dolgozhat fel,
  • egy fejlesztői gépen egyszerre futhat IDE, böngésző, adatbázis, Docker és tesztkörnyezet,
  • egy operációs rendszer több futó programot tud elosztani a magok között.

Fontos viszont, hogy a több mag nem jelent automatikusan arányosan nagyobb sebességet. Egy 8 magos processzor nem biztos, hogy minden programot nyolcszor gyorsabban futtat, mint egy egymagos processzor.

Nem minden program használ ki sok magot

Egy programnak úgy kell felépülnie, hogy a munkát több részre tudja bontani. Ha egy program csak egy fő végrehajtási szálon dolgozik, akkor hiába van a gépben sok mag, a program nem fogja mindet teljesen kihasználni.

Ezért fordulhat elő, hogy egy régi vagy egyszerű program nem gyorsul látványosan egy sokmagos processzoron, míg egy videókonvertáló, 3D renderelő vagy szerveroldali alkalmazás sokkal jobban profitálhat belőle.

Mi az a szál, vagyis thread?

A thread, magyarul szál, már nem elsősorban hardveres fogalom, hanem a programok futásához kapcsolódik.

Egy futó programot processznek nevezünk. Egy processzen belül pedig lehet egy vagy több végrehajtási szál. A szál azt jelenti, hogy a programon belül van egy önálló futási útvonal, amelyen utasítások hajtódnak végre.

Ha egy program egyszálú, akkor alapvetően egy fő futási útvonala van. Ha többszálú, akkor több feladatot is végezhet párhuzamosan vagy párhuzamosnak látszó módon.

A szál inkább programfutási fogalom

A mag a processzor fizikai végrehajtó része. A szál ezzel szemben egy futó program végrehajtási ága.

Az operációs rendszer feladata, hogy a sok futó program és szál között ossza be a processzoridőt. Ő dönti el, hogy egy adott pillanatban melyik szál melyik CPU-magon fusson.

Példa szálakra egy programon belül

Tegyük fel, hogy van egy asztali alkalmazás vagy egy fejlesztői eszköz. Ez a program több szálat is használhat különböző feladatokra.

  • az egyik szál kezeli a felhasználói felületet,
  • egy másik szál fájlt tölt le a háttérben,
  • egy harmadik szál adatokat dolgoz fel,
  • egy negyedik szál naplóz vagy kommunikál egy szerverrel.

Így a program nem fagy le attól, hogy közben valami hosszabb műveletet végez. Például a felület továbbra is reagálhat, miközben a háttérben történik a feldolgozás.

Egyszerű gondolati példa JavaScriptben

Ez nem valódi CPU-szálkezelés, csak azt mutatja, hogy egy program többféle feladatot is végezhet.

console.log("Felület elindult");

// háttérben indulhat például adatlekérés
fetch("/api/data")
    .then(response => response.json())
    .then(data => {
        console.log("Adatok feldolgozva", data);
    });

console.log("A program közben tovább tud futni");

Hogyan találkozik a mag és a szál?

A szálakat végül valamilyen CPU-magon kell futtatni. Ha sok szál fut a rendszerben, az operációs rendszer folyamatosan osztja be, hogy melyik szál mikor és melyik magon kapjon futási lehetőséget.

Egy egyszerű hasonlat:

  • a CPU-mag olyan, mint egy dolgozó, aki ténylegesen munkát végez,
  • a thread olyan, mint egy feladatlista vagy munkafolyamat, amit végre kell hajtani,
  • az operációs rendszer ütemezője pedig olyan, mint a művezető, aki kiosztja, ki min dolgozzon.

Mit jelent az, hogy 6 mag / 12 szál?

Amikor egy processzornál azt látod, hogy például 6 mag / 12 szál, az két külön információt jelent.

Jelölés Mit jelent?
6 mag A processzorban 6 darab fizikai CPU-mag van. Ezek valódi hardveres végrehajtó egységek.
12 szál Az operációs rendszer 12 logikai végrehajtási lehetőséget lát. Ez általában azt jelenti, hogy egy fizikai mag két logikai szálat tud kezelni.

Ez hasznos, mert a processzor jobban ki tudja használni a belső erőforrásait. Ha az egyik szál éppen vár valamire, például memóriára, akkor a másik szál addig is tudhat munkát adni ugyanannak a magnak.

A 12 szál nem ugyanaz, mint 12 fizikai mag

A 6 mag / 12 szál nem azt jelenti, hogy a processzorban 12 teljes értékű fizikai mag van. A fizikai magok száma továbbra is 6.

A 12 szál azt jelenti, hogy a processzor és az operációs rendszer 12 logikai futási lehetőséget tud kezelni. Ez sok esetben gyorsíthat, de nem ugyanaz, mintha ténylegesen 12 külön CPU-mag dolgozna.

Hyper-Threading és SMT

Amikor egy fizikai CPU-mag több logikai szálat tud kezelni, azt általánosan SMT-nek, vagyis simultaneous multithreadingnek nevezik.

Intel oldalon erre gyakran a Hyper-Threading nevet használják. A lényeg ugyanaz: egy fizikai mag bizonyos helyzetekben több logikai szálat tud kiszolgálni, így a processzor hatékonyabban használhatja ki a belső erőforrásait.

Fogalom Micsoda? Egyszerű hasonlat
CPU-mag A processzor fizikai végrehajtó egysége. Egy dolgozó, aki ténylegesen munkát végez.
Thread / szál Egy program futási ága, végrehajtási útvonala. Egy feladat vagy munkafolyamat, amit végre kell hajtani.
Operációs rendszer ütemezője Beosztja, melyik szál mikor melyik magon fusson. A művezető, aki kiosztja a feladatokat a dolgozóknak.
Logikai szál A CPU által az operációs rendszer felé mutatott futási lehetőség. Olyan, mintha egy dolgozó két feladat között nagyon gyorsan tudna váltani.
Processzor órajel fejlődése MHz-től GHz-ig
A processzorok órajele a régi MHz-es korszakból eljutott a mai több GHz-es világig. Az órajel fontos adat, de önmagában nem mondja meg a teljes teljesítményt: számít az architektúra, az IPC, a magok száma, a cache, a memória és a hűtés is.

Órajel: MHz és GHz

A processzor órajelét régen gyakran MHz-ben, ma pedig többnyire GHz-ben adják meg. Ez azt mutatja, hogy a CPU belső órája milyen gyors ütemben „ketyeg”.

A Hz azt jelenti, hogy valami másodpercenként hányszor történik meg. Egy 1 Hz-es jel másodpercenként egyszer ismétlődik. Egy 1 MHz-es jel már egymilliószor, egy 1 GHz-es jel pedig egymilliárdszor ismétlődik másodpercenként.

Ha egy processzor például 3 GHz-en működik, az leegyszerűsítve azt jelenti, hogy a belső órajele másodpercenként körülbelül 3 milliárd ciklust ad. Ez azonban nem azt jelenti, hogy pontosan 3 milliárd teljes programutasítást hajt végre, mert egy utasítás végrehajtása több belső lépésből is állhat, más utasítások pedig hatékonyabban futhatnak.

Mi az az órajelciklus?

A CPU működését egy belső ritmus vezérli. Ezt hívjuk órajelnek. Egy órajelciklus alatt a processzor belső részei egy apró lépést tudnak elvégezni: például adatot mozgatnak, számolási műveletet készítenek elő, utasítást dolgoznak fel, vagy egy végrehajtási folyamat következő állapotába lépnek.

Ezt úgy képzelheted el, mint egy nagyon gyors metronómot. Minden „kattanásra” történik valami a processzor belsejében. Minél gyorsabban ketyeg ez a belső óra, annál több lehetőség van műveleteket végezni egy másodperc alatt.

Régen MHz-ben mérték: 4 MHz, 33 MHz, 100 MHz...

A régebbi processzoroknál teljesen természetes volt, hogy az órajelet MHz-ben adták meg. A korai otthoni gépek, régi PC-k és 486-os/Pentium korszak környékén a processzorok még néhány MHz-től pár száz MHz-ig terjedő órajeleken működtek.

Például régen egy gépnél már az is komoly dolognak számított, ha 33 MHz-es, 66 MHz-es vagy 100 MHz-es processzor volt benne. Később megjelentek a 200 MHz, 400 MHz, 800 MHz körüli processzorok, majd a PC-s világ átlépett a GHz-es korszakba.

Amikor először megjelentek az 1 GHz körüli processzorok, az óriási mérföldkőnek számított: ez már azt jelentette, hogy a CPU belső órája másodpercenként milliárdos nagyságrendű ciklusszámmal működött.

Mértékegység Mit jelent? Egyszerűen
1 Hz 1 ciklus másodpercenként Nagyon lassú ritmus, emberi szemmel is könnyen elképzelhető.
1 kHz 1 000 ciklus másodpercenként Ezerszeres sebesség.
1 MHz 1 000 000 ciklus másodpercenként Régi processzoroknál gyakori nagyságrend volt.
1 GHz 1 000 000 000 ciklus másodpercenként Mai processzoroknál általános nagyságrend.

Akkor a nagyobb GHz mindig gyorsabb?

Régen sokkal egyszerűbbnek tűnt a helyzet: ha az egyik processzor 100 MHz-es volt, a másik pedig 200 MHz-es, akkor sokan azt mondták, hogy a 200 MHz-es biztosan gyorsabb. Ez bizonyos korszakokban sokszor nagyjából igaz is volt, mert a processzorok felépítése közelebb állt egymáshoz.

Ma viszont az órajel önmagában már nagyon félrevezető lehet. Két különböző processzor közül nem biztos, hogy az a gyorsabb, amelyiknek nagyobb a GHz értéke.

Ennek az az oka, hogy nemcsak az számít, milyen gyorsan ketyeg a processzor belső órája, hanem az is, hogy egy-egy ciklus alatt mennyi hasznos munkát tud elvégezni.

A GHz nem egyenlő a teljesítménnyel

Egy 3 GHz-es régebbi processzor nem feltétlenül gyorsabb, mint egy modernebb, alacsonyabb órajelű processzor. A modern CPU-k egy órajelciklus alatt sokkal hatékonyabban dolgozhatnak, jobb előrejelzést, gyorsítótárat, több végrehajtó egységet és fejlettebb architektúrát használhatnak.

Ezért lehet az, hogy egy mai mobilprocesszor, laptopprocesszor vagy szerverprocesszor alacsonyabb órajelen is nagyon erős lehet, ha közben modernebb a felépítése.

Mi számít még az órajelen kívül?

A CPU teljesítményét sok tényező együtt határozza meg. Az órajel csak az egyik adat a sok közül.

  • Architektúra: mennyire modern és hatékony a processzor belső felépítése.
  • IPC: vagyis hogy egy órajelciklus alatt mennyi utasítást/munkát tud elvégezni.
  • Magok száma: hány fizikai CPU-mag tud egyszerre dolgozni.
  • Szálkezelés: hány logikai szálat tud kezelni a processzor.
  • Cache: mekkora és milyen gyors a CPU saját gyors memóriája.
  • Memória sebessége: milyen gyorsan kap adatot a processzor a RAM-ból.
  • Fogyasztás és hűtés: mennyi ideig tudja tartani a magas órajelet túlmelegedés nélkül.
  • Program jellege: az adott program egy szálon fut, vagy ki tud használni több magot is.

IPC: miért nem mindegy, mit csinál egy ciklus alatt?

Az IPC az angol Instructions Per Cycle rövidítése. Leegyszerűsítve azt mutatja, hogy a processzor egy órajelciklus alatt mennyi hasznos utasítást vagy munkát tud elvégezni.

Ezért lehet két processzor között nagy különbség akkor is, ha hasonló az órajelük. Ha az egyik processzor egy ciklus alatt több hasznos munkát végez, akkor ugyanazon a GHz értéken is gyorsabb lehet.

Alapórajel, turbó órajel

Mai processzoroknál gyakran nem csak egyetlen órajelet adnak meg. Láthatunk például alapórajelet és turbó órajelet.

Az alapórajel az a működési tartomány, amelyet a processzor tartósabban is képes lehet használni. A turbó órajel pedig egy magasabb érték, amelyet a CPU bizonyos helyzetekben rövidebb vagy hosszabb ideig elérhet, ha van elég hűtés és energia.

Például ha egy program csak egy-két magot terhel, a processzor magasabb turbó órajelre kapcsolhat. Ha viszont minden mag egyszerre dolgozik, akkor lehet, hogy nem tudja minden magon tartani a maximális turbó értéket.

A hűtés is számít

Ha a processzor túlmelegszik, visszaveheti az órajelét. Ezt hívják throttlingnak. Ilyenkor papíron lehet, hogy a CPU magas turbó órajelet tudna, de a valóságban a hőmérséklet miatt lassabban fog működni.

Ezért lehet különbség két azonos processzor között is: egy jól hűtött asztali gépben tovább tud magas órajelen működni, mint egy vékony laptopban, ahol kevesebb hely van a hűtésre.

Egyszerű példa: két processzor összehasonlítása

Tegyük fel, hogy van két processzor:

Processzor Órajel Miért lehet mégis más a teljesítmény?
Régebbi CPU 3,5 GHz Régebbi architektúra, kevesebb mag, kisebb cache, rosszabb hatékonyság.
Modern CPU 3,0 GHz Újabb architektúra, jobb IPC, több mag, jobb cache, fejlettebb energia- és turbókezelés.

A modern CPU tehát alacsonyabb órajelen is lehet gyorsabb. Nem azért, mert „csal” a GHz érték, hanem mert egy ciklus alatt többet tud elvégezni, és a teljes rendszer hatékonyabban működik.

CPU cache, RAM és háttértár sebesség és kapacitás szerint
A CPU-hoz legközelebb lévő tárolók a leggyorsabbak, de a legkisebbek. A regiszterek és cache-szintek nagyon gyorsak, a RAM nagyobb, de lassabb, a háttértár pedig sokkal nagyobb kapacitású, viszont nagyságrendekkel lassabb.

Cache: a CPU saját gyors memóriája

A CPU sokkal gyorsabb, mint a normál RAM. Ha minden apró adatért mindig a memóriához kellene fordulnia, sokat várakozna.

Ezért van a processzorban cache, vagyis gyorsítótár. Ez egy nagyon gyors, CPU-közeli memória, ahová gyakran használt adatok és utasítások kerülnek.

A cache célja, hogy a processzor minél kevesebbet várjon a lassabb memóriára.

Magas szintű kódból gépi utasítások

Fejlesztőként általában JavaScriptet, PHP-t, C#-ot, Pythont vagy más magas szintű nyelvet írunk. Ezek ember számára olvashatóbbak, de a processzor végül nem ilyen formában hajtja végre őket.

A program futás előtt vagy futás közben lefordul alacsonyabb szintű műveletekre. A CPU szintjén már nem „szép változónevek” vannak, hanem regiszterek, memóriacímek, összeadások, összehasonlítások és ugrások.

Magas szintű példa JavaScriptben

Ezt írja a fejlesztő. A példa szándékosan ugyanazt a logikát mutatja, mint az alatta lévő assembly-szerű kód.

let x = 5;

x = x + 3;

if (x == 8) {
    console.log("egyenlő");
}

Mit csinál ez a program?

A fenti JavaScript kód gondolata nagyon egyszerű:

  1. létrehozunk egy x változót, amelynek értéke 5,
  2. hozzáadunk 3-at, így az értéke 8 lesz,
  3. megnézzük, hogy az x értéke 8-e,
  4. ha igen, akkor kiírjuk, hogy egyenlő.

Magas szinten ez kényelmes és olvasható. Alacsonyabb szinten viszont ugyanez már sokkal egyszerűbb CPU-műveletekből áll össze.

Ugyanez assembly-szerű gondolatként

Ez nem egy teljes futtatható program, hanem egy leegyszerűsített minta: ugyanazt a logikát mutatja, mint a JavaScript példa.

mov eax, 5
add eax, 3
cmp eax, 8
je egyenlo

; ide kerülne az a rész, ha nem egyenlő

egyenlo:
; itt történne a "egyenlő" szöveg kiírása

Assembly példa magyarázata

Az assembly már sokkal közelebb van ahhoz, amit a CPU ténylegesen végrehajt. Még mindig ember által olvasható forma, de már közvetlenebbül látszik benne, hogy a processzor regiszterekkel és egyszerű utasításokkal dolgozik.

Utasítás Mit jelent? Kapcsolat a JavaScript kóddal
mov eax, 5 Az eax nevű regiszterbe bekerül az 5. let x = 5;
add eax, 3 Az eax értékéhez hozzáadunk 3-at. Az eredmény 8 lesz. x = x + 3;
cmp eax, 8 Összehasonlítjuk az eax értékét 8-cal. if (x == 8) első része.
je egyenlo Ha az összehasonlítás szerint egyenlő, akkor a program az egyenlo címkéhez ugrik. Az if feltétel teljesülése.
egyenlo: Ez egy címke, ahová a program ugorhat. Az if blokkon belüli rész kezdete.

Az if mögött összehasonlítás és ugrás van

Amikor magas szinten azt írod, hogy if (x == 8), az nagyon kényelmesnek tűnik. A gép szintjén viszont a gondolat az, hogy hasonlíts össze két értéket, majd az eredménytől függően ugorj egy másik kódrészre.

Ezért jó ez a példa: ugyanaz látszik rajta magas szinten és alacsonyabb szinten is. A JavaScriptben az if egy olvasható szerkezet, assembly-szerű formában pedig már látszik mögötte a cmp és a je.

És hol van ebben a gépi kód?

Az assembly még nem maga a gépi kód, hanem annak ember számára olvashatóbb formája. A valódi gépi kód bájtokból áll: számokból, amelyeket a processzor közvetlenül értelmezni tud.

Például egy processzor számára az olyan utasítás, hogy mov eax, 5, végül nem szövegként jelenik meg, hanem bájtok sorozataként.

Gépi kód gondolata bájtokkal

Ez csak szemléltetés: a pontos bájtok architektúrától, üzemmódtól és fordítótól is függhetnek.

B8 05 00 00 00    ; mov eax, 5
83 C0 03          ; add eax, 3
83 F8 08          ; cmp eax, 8
74 ??             ; je egyenlo - ugrás, a ?? az ugrás távolságától függ