Architektúra počítača: princípy, súčasti a implementácia
Prehľad počítačovej architektúry, jej hlavné časti (ISA, mikroarchitektúra, návrh systému), kroky implementácie a historické smery ako RISC a CISC. Praktické príklady a dôležité rozdiely.
Prehľad
Počítačová architektúra je koncepčný návrh a základná prevádzková štruktúra moderného počítača. V tejto disciplíne sa skúma, ako sa komponenty navzájom kombinujú, aby vytvorili funkčný počítačový systém, a zároveň sa definujú kritériá výkonu, rozsahu a ceny. Architektúra sa často vníma ako spojenie vedy a umenia: z jednej strany je to systematická veda, z druhej strany je to tvorivý prístup pri výbere a previazaní hardvérových komponentov. Zvláštny dôraz pritom býva na správanie centrálnej procesorovej jednotky CPU a na spôsob, akým sa adresuje a spravuje pamäť.
Galéria obrázkov
1 ObrázokHlavné zložky architektúry
V praxi sa počítačová architektúra zvyčajne delí na niekoľko prehľadných vrstiev, z ktorých každá má odlišnú rolu a mieru abstrakcie. Medzi najdôležitejšie patria:
- Architektúra inštrukčnej sady (ISA): abstraktný model počítača, ktorý popisuje sadu inštrukcií, formáty údajov, režimy adresovania a súbor registrov. Predstavuje rozhranie medzi softvérom a hardvérom; programátor vidí strojový kód alebo assembler (strojový jazyk, assembler) cez túto vrstvu. ISA určuje, aké operácie sú dostupné a ako sú k dispozícii registre.
- Mikroarchitektúra: nízkoúrovňový opis organizácie a fungovania procesora, ktorý implementuje ISA. Mikroarchitektúra definuje napríklad veľkosť a politiku vyrovnávacej pamäte, pipeline, jednotky vykonávania a ďalšie interné bloky (mikroarchitektúra).
- Návrh systému: zahŕňa ostatné hardvérové prvky a ich vzájomné prepojenia, napríklad zbernice, radiče a pamäťové hierarchie. Typické komponenty tu zahŕňajú systémové zbernice a prepínacie mechanizmy (zbernice), radiče pamäte a periférií, a mechanizmy ako priame prístupy do pamäti (DMA).
Implementačné úrovne
Po špecifikácii ISA a mikroarchitektúry nasleduje fyzická implementácia, ktorá sa obvykle delí na tri vzájomne prepojené etapy:
- Implementácia logiky – návrh logických blokov popísaných v mikroarchitektúre, najmä na úrovni registrov a logických hradiel. Tu sa určuje, ako sa spracúvajú bity, ako sa riadia signály a ako prebieha synchronizácia.
- Implementácia obvodu – návrh obvodov na úrovni tranzistorov a základných prvkov, ako sú multiplexory (multiplexory), flip‑flopy a aritmeticko‑logické jednotky (ALU). Na tejto úrovni sa rozhoduje o konkrétnych topológiách logických buniek a optimalizácii rýchlosti a spotreby energie.
- Fyzická implementácia – umiestnenie a prepojenie súčiastok do vrstvy čipu alebo dosky plošných spojov, návrh napájania, vedení a chladiacich systémov. Výstupom je konkrétny hardvér pripravený do výroby alebo montáže.
História a vývoj
Počítačová architektúra sa vyvíjala od jednoduchých, jednojadrových systémov ku komplexným viacjadrovým a heterogénnym návrhom. V 70. až 90. rokoch vznikol zásadný rozpor medzi dvoma filozofiami návrhu procesorov: RISC (Reduced Instruction Set Computing) a CISC (Complex Instruction Set Computing). RISC sa zameriava na jednoduché, rýchle inštrukcie a efektívne pipeline, kým CISC preferoval bohatú množinu inštrukcií, ktoré mali znížiť prácu kompilátora a programátora. Praktické návrhy často kombinujú prvky oboch prístupov; moderné CPU navyše využívajú viacúrovňové cache, predikciu vetvenia a superskalárne vykonávanie.
Použitie, význam a rozdiely
Počítačová architektúra ovplyvňuje každý aspekt počítačového riešenia: výkon aplikácií, spotrebu energie, cenu a kompatibilitu softvéru. V oblastiach od vestavieb cez osobné počítače až po serverové farmy sa architektonické rozhodnutia (napríklad o ISA, veľkosti cache alebo type zbernice) priamo premietajú do reálnych vlastností produktov. Rozdiely medzi ISA a mikroarchitektúrou sú dôležité pre softvérových vývojárov; zatiaľ čo ISA definuje, čo program robí, mikroarchitektúra určuje, ako rýchlo a efektívne sa to vykoná. Návrh systému ďalej rieši otázky škálovania, priepustnosti I/O a paralelizácie.
Prehľad architektúry zahŕňa teoretické koncepcie aj praktické inžinierske kroky: od definovania inštrukčnej sady po fyzický návrh čipu a jeho integráciu so systémovými zbernicami, koncepčnými schémami a inými dokumentmi. Pri prechode z návrhu na výrobok zohrávajú úlohu aj návrhy riadenia a testovania, ktoré sa často dotýkajú špecifík implementačných blokov a logických prvkov.
Viac informácií o konkrétnych aspektoch architektúry a jej blokoch možno nájsť v odborných textoch a štandardoch, ktoré popisujú detailnejšie oblasti ako správa pamäte, zbernicové protokoly, návrh ALU, multiplexorov a synchronizačných obvodov. Pre záujemcov sú užitočné aj materiály, ktoré rozoberajú praktické príklady návrhu procesora a systémových komponentov v kontexte súčasných trendov.
dokumentácia • systémové modely • CPU • pamäť • veda • umenie • hardvér • ISA • strojový kód • assembler • adresovanie • mikroarchitektúra • zbernice • DMA • hradlá • tranzistory • multiplexory • flip‑flopy • ALU • RISC • CISC
Ďalšie poddefinície
Niektorí odborníci na počítačovú architektúru používajú jemnejšie podkategórie:
- Makroarchitektúra: Vrstvy architektúry, ktoré sú abstraktnejšie ako mikroarchitektúra, napríklad ISA.
- Architektúra inštrukčnej sady (ISA): Ako je definované vyššie.
- UISA (architektúra inštrukčnej sady mikrokódu): Rodina strojov s rôznymi mikroarchitektúrami na hardvérovej úrovni môže mať spoločnú architektúru mikrokódu, a preto sa nazýva UISA.
- Montáž ISA: Inteligentný asembler môže konvertovať abstraktný jazyk asembleru spoločný pre skupinu procesorov na mierne odlišný strojový jazyk pre rôzne implementácie procesorov.
- Viditeľná makroarchitektúra programátora: Nástroje vyššej úrovne jazyka, ako sú kompilátory, môžu definovať určité rozhranie pre programátorov, ktorí ich používajú, pričom abstrahujú od rozdielov medzi základnými ISA, UISA a mikroarchitektúrami; napríklad štandardy C, C++ alebo Java definujú tri rôzne definované programovacie rozhrania.
- Architektúra kolíkov: Z hľadiska hardvérovej platformy je to súbor funkcií, ktoré má mikroprocesor poskytovať. Napríklad signály, ktoré má procesor vysielať počas vykonávania inštrukcie.
Príklady počítačových architektúr
- x86, ktoré vyrábajú spoločnosti Intel a AMD.
- SPARC, ktorý vyrobili spoločnosti Sun Microsystems a iné.
- PowerPC, ktorý vyrobili spoločnosti Apple, IBM a Motorola.
Súvisiace stránky
- Počítačový hardvér
- Softvérová architektúra
- Mikroarchitektúra
Otázky a odpovede
Otázka: Čo je to architektúra počítača?
Odpoveď: Architektúra počítača je koncepčný návrh a základná operačná štruktúra počítačového systému. Zahŕňa technické výkresy a funkčný opis všetkých konštrukčných požiadaviek, ako sú rýchlosti a prepojenia, s cieľom vytvoriť počítače, ktoré spĺňajú výkonnostné, nákladové a funkčné ciele.
Otázka: Aké sú tri hlavné podkategórie počítačovej architektúry?
Odpoveď: Tri hlavné podkategórie architektúry počítačov sú architektúra inštrukčnej sady (ISA), mikroarchitektúra (známa aj ako organizácia počítača) a návrh systému.
Otázka: Čo zahŕňa ISA?
Odpoveď: Architektúra inštrukčnej sady (ISA) zahŕňa abstraktný model počítačového systému, ktorý vidí programátor strojového jazyka alebo jazyka assembleru. Zahŕňa súbor inštrukcií, režimy adresovania pamäte, registre procesora a formáty adries a údajov.
Otázka: Čo zahŕňa mikroarchitektúra?
Odpoveď: Mikroarchitektúra zahŕňa podrobný opis systému na nižšej úrovni, ktorý postačuje na úplný opis činnosti všetkých častí výpočtového systému, ako aj spôsobu ich vzájomného prepojenia a interakcie s cieľom implementovať ISA.
Otázka: Čo zahŕňa návrh systému?
Odpoveď: Návrh systému zahŕňa všetky ostatné hardvérové komponenty v rámci výpočtového systému, ako sú systémové prepojenia, napríklad počítačové zbernice a prepínače; radiče pamäte; mechanizmy odľahčenia procesora, napríklad priamy prístup do pamäte; otázky viacprocesorového spracovania atď.
Otázka: Ako sa implementácia člení na tri časti?
Odpoveď: Implementáciu možno rozdeliť na logickú implementáciu, ktorá zahŕňa návrh blokov definovaných v mikroarchitektúre na úrovniach prenosu registrov alebo hradiel; obvodovú implementáciu, ktorá zahŕňa návrh základných prvkov alebo väčších blokov na úrovni tranzistorov; fyzickú implementáciu, ktorá zahŕňa kreslenie fyzických obvodov, umiestnenie rôznych obvodových komponentov na pôdoryse čipu alebo dosky, vedenie vodičov, ktoré ich spájajú.
Súvisiace články
Autor
AlegsaOnline.com Architektúra počítača: princípy, súčasti a implementácia Leandro Alegsa
URL: https://sk.alegsaonline.com/art/22306
Zdroje
- portal.acm.org : ISCA: Proceedings of the International Symposium on Computer Architecture
- microarch.org : Micro: IEEE/ACM International Symposium on Microarchitecture
- hpcaconf.org : HPCA: International Symposium on High Performance Computer Architecture
- portal.acm.org : ASPLOS: International Conference on Architectural Support for Programming Languages and Operating Systems
- acm.org : ACM Transactions on Computer Systems
- computer.org : IEEE Computer Society
- mdronline.com : Microprocessor Report
- elsevierdirect.com : Computer Architecture: A Quantitative Approach