Život po x86 aneb kam dále s procesorovými architekturami?
i Zdroj: PCTuning s využitím DALL-E (AI)
Procesory, Paměti, Desky Článek Život po x86 aneb kam dále s procesorovými architekturami?

Život po x86 aneb kam dále s procesorovými architekturami?

Michal Rybka

Michal Rybka

36

Seznam kapitol

1. x86 stokrát jinak 2. Cache pro cache 3. ARM nebyl jediný 4. Intel a Itanic 5. Pomůže nám AI?

Tvrzení, že architektura x86 je „stará“ anebo „přežilá“ architektura, jsou přehnaná. Faktem ale je, že si tato architektura táhne až příliš bohaté dědictví – a vývojáři se opakovaně pokouší o něco jiného a lepšího. Otázka ale je, zda to je opravdu o tolik lepší.

Reklama

Na architektuře x86 není až tolik revolučního, ale taky ne moc démonického. Spousta problémů, které se během let objevily, spočívala v tom, že se v čase radikálně měnila představa, jaké požadavky mají splňovat malé procesory – a taky to, že vývoj komponent probíhal nerovnoměrně a to, co se zdálo jako super nápad v jedné generaci, byla katastrofa pro tu další. A ano, mluvím o té relativně přehlížené komponentě, totiž o paměti.

Většina uživatelů se o paměť zajímá pouze v tom smyslu, zda jí mají dost – a její rychlost moc neřeší, protože drtivou většinu kritických případů pokrývá mnohovrstvá architektura pamětí cache. Ti pokročilejší uživatelé vědí, že ona to s paměťmi není až taková legrace a že u výkonných komponent šířka paměťové sběrnice, latence a propustnost může znamenat rozdíl celé jedné třídy procesorů anebo grafik. 

Ti, kteří se zabývají velkými výpočetními architekturami, obvykle lámou rukama, snaží se mít v serverových procesorech celý les řadičů pamětí a z mnoha praktických důvodů měří výkonnost paměťového subsystému nikoliv v rychlosti kontinuálního přenosu dat, ale v transakcích za sekundu. A pokud jde o vývojáře subsystémů cache… no, ti se ocitají na prahu šílenství, který smetl řadu opravdu, ale opravdu parádních nápadů – tedy ony alespoň vypadaly parádně teoreticky.

Ano, mluvím o paměťově orientované architektuře procesorů. V roce 1974 se objevil nádherný, téměř didakticky čistý design Motoroly 6800, která měla registr A, registr B, indexregistr, ukazatel zásobníku, programový čítač a flagy – a to bylo všechno. Tento procesor počítal s tím, že všechno ostatní bude v paměti včetně paměťově orientovaných vstupů a výstupů, kdy jste výstup dělali tak, že jste zapsali na speciální paměťovou buňku a čtení vstupu jste dělali tak, že jste přečetli speciální paměťovou buňku. Bylo to čisté a parádní – absolutní nádhera oproti všelijakým osmibitovým, zdvojeným a šestnáctibitovým registrům, se kterými přišel Intel – a také se systémem portů a vstupně výstupních instrukcí IN, OUT a další věci, které dělaly z jeho instrukční sady chaos.

Paměťově orientovaný design počítal s tím, že zdrojem i cílem operace je paměť, přičemž registry A a B, zvané „akumulátory“ sloužily jen pro zápis mezivýsledků. Je to elegantní, ale taky to je založené na představě, že paměť není o moc pomalejší než procesor, či, přesněji řečeno, paměť dokáže držet s procesorem krok a když si procesor o něco řekne, tak to taky dostane. Což funguje jenom v oblasti nejméně výkonných komponent, tedy tam, kde procesor jede 1 MHz až 2 MHz. Pokud začneme zrychlovat, tak zjistíme, že s procesorem máme kapku potíže, ale s pamětí jsou potíže mnohem větší, přičemž problémy rostou s tím, jak se kapacita paměti zvětšuje.

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama