Refresh the page

Mik azok a processzorarchitektúrák?

Érkezik a harmadik nagy processzorarchitektúra • Szerző: Michal Rybka

Üdv a tízrészes sorozatunk első részénél, amely a RISC-V processzorarchitektúráról szól – ami egy nyílt és rugalmas alternatíva a domináns x86 és ARM architektúrákkal szemben. Mielőtt azonban a RISC-V részleteire térnénk, fontos megérteni, mik a processzorarchitektúrák, hogyan működnek, és miért kulcsfontosságúak a modern számítástechnikában. Ebben a bevezető részben ezért a processzorarchitektúrák alapjaival, fejlődésével, működési elveivel és azzal foglalkozunk, miért váltak egyesek dominánssá, míg mások megszűntek. Ez a háttér segít majd jobban megérteni a RISC-V egyediségét.

Processzorarchitektúrák

RISC-V architektúra

A mai technológiai világot két fő processzorarchitektúra-család uralja: az x86, amivel főként a személyi számítógépekben találkozunk, és amelynek jelentős részét az Intel és az AMD gyártja, valamint az ARM, amely a világ többi részén dominál – a mobiltelefonoktól (SoC, System-on-a-Chip) kezdve az adatközpontokba telepített processzorokig. Ezt az egyensúlyt 2024 nyarán a Snapdragon processzoros, Windows on ARM laptopok megjelenése kicsit felborította, de hamarosan ismét változás várható a harmadik architektúra, a RISC-V érkezésével. Ez egy teljesen új architektúra, és mivel Open Architecture-nek számít, teljesen nyílt és ingyenesen elérhető a hardvergyártók számára.

A RISC-V projekt még viszonylag fiatal, de már túllépett a tervezési fázison, és az első generáció már meg is jelent, amit a jövőbeli termékek fejlesztésére és prototípus-készítésre használnak. Az új architektúrával kapcsolatos fejlesztések iránt Kína is nagy érdeklődést mutat, jelentős összegeket fektetve a RISC-V processzorok, az operációs rendszerek és az alkalmazásfejlesztő eszközök fejlesztésébe. Ebben a mini-sorozatban bemutatjuk, mi is a RISC-V, hogyan áll a jelenlegi architektúrák mellett, és miért olyan vonzó a kínai gyártók számára.

Processzorarchitektúrák
A három domináns processzorarchitektúra jelentősen eltér a tervezési megközelítésben. A RISC-V az egyszerűségre és a modularitásra épít, lehetővé téve, hogy csak a szükséges bővítések kerüljenek beépítésre. Az ARM kiegyensúlyozott kompromisszumot képvisel az egyszerűség és a teljesítmény között – ezért uralja a mobileszközök világát. Az x86 ezzel szemben a legösszetettebb architektúra, mivel meg kell őriznie a visszafelé kompatibilitást egészen az 1978-as 8086-os processzorig. Mindegyik architektúrának megvannak a maga előnyei: a RISC-V tervezési szabadságot kínál, az ARM az energiahatékonyságban emelkedik ki, míg az x86 a legnagyobb teljesítményt nyújtja az erőforrás-igényes alkalmazások számára.

Információk a diagramhoz

A diagram a három fő processzorarchitektúrát és azok kulcsfontosságú jellemzőit mutatja be:

A RISC-V a legújabb architektúra, amely a modularitás elvére épül. Alapját egy egyszerű mag alkotja (RV32I/RV64I), amely csak a legszükségesebb utasításokat tartalmazza. Igény szerint ehhez szabványos bővítések adhatók hozzá:

  • M: Bővítés összetettebb egész számokkal végzett műveletekhez (szorzás, osztás)
  • F: Lebegő tizedesvesszős számítások támogatása
  • D: Dupla pontosságú műveletek
  • C: Tömörített utasítások a hatékonyabb memóriakihasználásért

A gyártók emellett saját, egyedi bővítéseket is hozzáadhatnak speciális felhasználási célokra.

Az ARM az egyszerűség és a teljesítmény közötti kompromisszumot képviseli. Több fontos bővítést is kínál:

  • NEON SIMD: Vektorszámítások a multimédiás adatok gyors feldolgozásához
  • Thumb: Tömörített utasítások a hatékonyabb memóriakihasználásért
  • VFP: Koprocesszorok a lebegő tizedesvesszős számításokhoz
  • TrustZone: Biztonsági mechanizmusok a kritikus kód elkülönítésére

Kiegyensúlyozott felépítésének köszönhetően az ARM a mobileszközök és a beépített rendszerek piacát uralja.

Az x86 a legidősebb és legösszetettebb processzorarchitektúra. Komplexitását az indokolja, hogy meg kell őriznie a visszafelé kompatibilitást – az új processzoroknak futtatniuk kell a 1978-as 8086-ra írt programokat is. Idővel a következő támogatások kerültek beépítésre:

  • 32 bites programok (IA-32)
  • 64 bites programok (x86-64)
  • MMX: Az első multimédiás műveleteket támogató bővítés
  • SSE és AVX: Fejlett vektorutasítások az igényesebb számításokhoz

Mindhárom architektúrának megvannak a maga előnyei: a RISC-V tervezési szabadságot és optimalizációs lehetőséget kínál, az ARM az energiahatékonyságával emelkedik ki, míg az x86 a legnagyobb teljesítményt és a legszélesebb szoftverkompatibilitást biztosítja.

Mik azok a processzorarchitektúrák?

A processzor a számítógép alapegysége, amely irányítja a gépet. A processzort programokkal lehet vezérelni, amelyeket ma már mesterséges intelligencia is képes generálni, de általában programozók írják őket magas szintű programozási nyelveken. Ezeket a programokat le kell fordítani a processzor számára érthető egyedi nyelvre, azaz a gépi kódra. A gépi kód utasításokból áll, amelyek együtt alkotják az utasításkészletet (ISA, Instruction Set Architecture). Ez szorosan kapcsolódik a processzor vezérlő struktúráihoz és az architektúrájához.

Számos különböző filozófiájú processzorarchitektúra létezik. A múltban nagyon népszerűek voltak a memóriaközpontú architektúrák, ahol a processzor csak minimális saját memóriával rendelkezett az átmeneti eredmények tárolására (regiszterek), és a műveleteket közvetlenül a fő memórián végezte. Például a processzor elolvasta a bemeneti adatokat a programozó által megadott címekről, majd az eredményt a megadott első címre írta vissza. Ez a megközelítés lehetővé tette nagyon elegáns kódok írását, de ahogy a processzorok sebessége jelentősen nőtt a memóriákhoz képest, ez az eljárás nagyon lassúvá vált.

Load-store architektúra – a modern megközelítés

Ma a processzorok a load-store architektúrát használják, ami azt jelenti, hogy a processzor a teljes belső regiszterkészletét használja: a fő memóriából betöltőutasításokkal (load) veszi át az adatokat, és tárolóutasításokkal (store) írja vissza. Bár elsőre bonyolultnak tűnik, ez nagy előnyt jelent, mert a memóriaműveletek így a processzor független memória-szubrendszerén keresztül zajlanak, ami lehetővé teszi az optimalizálást – például az adatok előreolvasását és a gyorsítótár (cache) konzisztenciájának kezelését.

Korábban az egyszerű, minimális felépítésű processzorokat tartották elegánsnak, ma azonban a teljesítmény a döntő. A modern processzorok ezért összetett utasításütemezési és végrehajtási mechanizmusokkal dolgoznak, amelyek a műveleteket a különböző végrehajtóegységekre bontják. Az, hogy a processzor hogyan hajtja végre ezeket az utasításokat, az architektúra határozza meg. A processzorarchitektúrák mindig kompromisszumokkal dolgoznak, az utasítások optimalizálása és kiválasztása nem egyszerű feladat, ráadásul a visszafelé kompatibilitást is biztosítaniuk kell a régi utasítások támogatása érdekében.

A modern processzoroknak nemcsak a klasszikus utasításokat kell támogatniuk, hanem a specializált utasításokat is, amelyek például a videó- vagy hangfeldolgozást, illetve újabban az AI-feladatokat segítik. Ezek az utasítások a processzor speciális egységeit vezérlik, de a funkciók ezzel még nem érnek véget. A modern processzoroknak biztonságosnak is kell lenniük: a programok csak a számukra engedélyezett memóriaterületekhez férhetnek hozzá, védik az operációs rendszer magját, és támogatják a kriptográfiai gyorsítást. A kriptográfia lehetővé teszi, hogy az adatokat a merevlemezen vagy a számítógép memóriájában titkosítva tároljuk.

A processzorarchitektúrák fejlődése nagy részben az új utasításokkal való kísérletezésről szólt, és arról, hogy ezek milyen hatással vannak az operációs rendszerekre. Vizsgálták, hogyan lehet az utasításokat dekódolni és optimalizáltan végrehajtani, gyakran próba-szerencse módszerrel. Az új funkciók és utasítások bevezetésével előfordult, hogy bizonyos utasítások feleslegesnek bizonyultak, és törlésre kerültek (deprecated, discontinued instructions). Ha a processzor olyan utasítást kap, amelyet nem ismer, egy UD (UnDefined instruction) kivételt aktivál, ami automatikusan a futó program megszakadásához vezet.

Rejtett utasítások és mikrokód

A régi, elavult utasításokon kívül léteznek úgynevezett „rejtett” vagy dokumentálatlan utasítások is. Ilyenek már a régi processzoroknál is előfordultak, például a Zilog Z80A (1977) esetében. Néha ezek félkész, kísérleti utasítások voltak, vagy olyan utasítások, amelyek nem működtek a tervezett módon, ezért nem kerültek be az hivatalos utasításkészletbe.

Ma is léteznek dokumentálatlan utasítások, amelyek időnként magának a processzornak a működését szolgálják, például a belső mikrokód kezelését. Ezeket 2020‑ban a hackerek is felfedezték az Intel processzoroknál. Ezek az utasítások nem nyilvánosak, mert nem az alkalmazásfejlesztők számára készültek. A hackerek számára a felfedezésük érthetően izgalmas, a processzorgyártók viszont féltve őrzik ezeket a titkokat, mivel a mikrokód módosításának lehetősége kulcsfontosságú a processzorhibák távoli javításához.

Try our cookies

Alza.cz a. s., Company identification number 27082440, uses cookies to ensure the functionality of the website and with your consent also to personalisage the content of our website. By clicking on the “I understand“ button, you agree to the use of cookies and the transfer of data regarding the behavior on the website for displaying targeted advertising on social networks and advertising networks on other websites.

More information
I understand Detailed settings Reject everything
P-DC1-WEB05