Jak jsme pokročili s procesory a jak moc málo si toho všímáme
i Zdroj: PCTuning.cz
Historie Článek Jak jsme pokročili s procesory a jak moc málo si toho všímáme

Jak jsme pokročili s procesory a jak moc málo si toho všímáme | Kapitola 2

Michal Rybka

Michal Rybka

21. 12. 2019 03:00 33

Seznam kapitol

1. Není to taková nuda 2. Ze skříňe do skříňky 3. S Motorolou na Měsíc 4. Lídr v utajení 5. Jenom začátek

Když jsem si připravoval pro podcast Retro Nation podklady pro historii procesorů, myslel jsem, že se v pohodě vejdeme do jednoho dílu. Brutálně jsem se mýlil – přetekli jsme čas, a to jsem skončil ještě asi tak v polovině! Procesory se totiž vyvíjely dramaticky – a stále se dramaticky vyvíjejí.

Reklama

John von Neumann už ale v té době uvažoval o procesoru tak, jak ho dnes známe, tedy procesoru, který si čte svoje instrukce z paměti, což mělo tu výhodu, že se dalo jednodušším způsobem programovat, nahrávat programy do počítače, řídit tok instrukcí a navíc – v jeho architektuře bylo možné navíc zapisovat do paměti určené pro program a doslova ho tak měnit za chodu.

To není věc, která by se dělala úplně běžně, ale samomodifikující se programy existují, hlavně v oblasti počítačové bezpečnosti, kde se samomodifikující kód používá buď k tomu, aby se chránila integrita programu (je chráněný před klasickou analýzou dekompilací) anebo se přímo maskoval (například mutující viry, které při šíření unikátním způsobem kryptují každou svou kopii).

V té době existoval další koncept, harvardská architektura, která se od neumannovské liší tím, že má dva separátní adresové prostory, jeden pro data a druhý pro program. Oddělené adresové prostory nedovolují programu manipulovat s kódem jako s daty, ale má to některé výhody, například dvě nezávislé paměťové sběrnice, které mohou současně pracovat s programem i daty. Dnes, překvapivě, většina procesorů funguje jako modifikovaná harvardská architektura právě proto, že pro optimální výkon procesoru je lepší, aby se k datům a k instrukcím přistupovalo nezávisle. Proto mají dnešní procesory L1 cache rozdělenou na instrukční a datovou. Z hlediska běžného programování v tom není rozdíl, jenom programátoři, kteří chtějí modifikovat vlastní kód za běhu, musí hlídat koherenci cache (tedy zda se neliší obsah hlavní paměti a její kopie v cachích).

Ostatně – toto není jediný mechanismus, který je prostému uživateli zcela – a programátorům většinou – skrytý. Ona samotná cache je geniální nápad, který se objevil, pokud jsem správně informován, u procesoru Fairchild F8 (1975) jako takzvaná scratchpad memory o kapacitě 64 bytů, což znamenalo, že pokud jste s něčím potřebovali pracovat rychle a bylo toho málo, nemuseli jste pracovat s hlavní pamětí. Hlavní paměti byly vždy oproti procesorům pomalé – a jak se dnes ukazuje, u moderních procesorů to bez slušných cache pamětí prostě nejde. Fairchild F8 měl, pravda, takzvaný dedikovaný scratchpad, tedy programátor s ním pracoval explicitně – dnešní paměti cache jsou pro většinu programátorů neviditelné a používají se samy. Mimochodem, paměti jednotek SPE procesoru Cell Broadband Engine (2007) jsou, technicky vzato, vlastně také dedicated scratchpad, jenom se 128 KB podstatně větší!

Ale zpět ke spletitým dějinám vývoje procesorů. Dlouhou dobu procesor byla vlastně obrovská skříň s řídcí jednotkou. Většinou na tom byly žárovky anebo diody indikující stav a aktivitu, také přepínače. Trvalo dlouho, velice dlouho, než se podařilo srazit celou tu skříň do jediného malého obdélníčku!

Ještě při cestě Apolla na Měsíc neměl řídící počítač AGC (Apollo Guidance Computer) dedikovaný procesor, jak se můžete přesvědčit u fascinujícího seriálu, kde skupina nejvíc-nerdy-na-světě mazáků předvádí při tom, zatímco ten skvostný stroj opravují. Otevřený AGC vypadá jako skříňka plná modulů, které obsahují části počítače.

Samotné řízení zajišťuje sada modulů označených jako LOGIC MODULE (je to od sedmé minuty videa), dále ve skříni najdeme řízení napájení, oscilátor, budiče feritových ROM paměti (ROPE DRIVER MODULE) a tak dále. Počítač má ovládání pomocí rozšířené numerické klávesnice, ovládá se vkládáním kódu programů a zobrazuje data na fluorescenčních panelech. Jde o systém s řízením v reálném čase a s indikací vlastní spolehlivosti (ALARM MODULE), tedy dokáže sledovat, zda má v pořádku napájení, zda dokáže včas zpracovávat úlohy a podobně. Fascinující kus železa, který se nakonec podařilo rozchodit – a chlapi na něm nakonec simulují přistání na Měsíci, zatímco si ta magická skříňka plná drátů a čipů počítá, jako by bylo 1969!

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama