Dá sa povedať, že história výpočtovej techniky sa delí na tri éry: históriu sálových počítačov, mikropočítačov a mikropočítačov. Mikropočítače predstavovali dôležitý most medzi prvými sálovými počítačmi a dnes všadeprítomnými mikropočítačmi. Toto je príbeh PDP-11, najvplyvnejšieho a najúspešnejšieho mikropočítača všetkých čias.
V súčasnosti sa mikropočítače používajú v rôznych aplikáciách. Slúžili ako ovládače komunikácie, ovládače prístrojov, veľké systémové procesory, stolné kalkulačky a procesory na zber údajov v reálnom čase. Ale tiež položili základy pre veľký pokrok v hardvérovom inžinierstve a významne prispeli k moderným operačným systémom, programovacím jazykom a interaktívnej výpočtovej technike, ako ich poznáme dnes.
V dnešnom počítačovom svete, kde na každom počítači beží nejaký variant systému Windows, Mac alebo Linux, je ťažké určiť, ktoré CPU sú pod operačným systémom. Ale boli časy, keď rozdiely v architektúre CPU boli veľkým problémom. PDP-11 pomáha vysvetliť, prečo je to tak.
PDP-11 bol predstavený v roku 1970, v čase, keď sa väčšina výpočtov vykonávala na drahých počítačoch GE, CDC a IBM, ku ktorým malo prístup len málo ľudí. Neexistovali žiadne notebooky, stolné počítače ani osobné počítače. Programovanie robilo niekoľko firiem, väčšinou montážne, COBOL a Fortran. Zadávanie prebiehalo na diernych štítkoch a programy prebiehali v neinteraktívnych skupinách.
Hoci prvý PDP-11 bol skromný, položil základ pre dobytie mikropočítačov, ktoré by umožnili ľahšiu dostupnosť novej generácie počítačov, čo v podstate znamenalo revolúciu vo výpočtovej technike. PDP-11 pomohla porodiť Operačný systém UNIX A programovací jazyk C. Výrazne to ovplyvní aj ďalšiu generáciu počítačových architektúr. Počas 22-ročnej životnosti PDP-11 – čo je na dnešné štandardy neslýchané obdobie – sa predalo viac ako 600 000 kusov PDP-11.
Prvé prototypy PDP-11 neboli príliš pôsobivé. Prvý PDP-11 11/20 stojí 20 000 dolárov, ale dodáva sa len s približne 4 kB RAM. Na skladovanie som použil papierovú pásku a mal som diaľkový ovládač tlačiarne ASR-33, ktorý tlačí 10 znakov za sekundu. Ale mal tiež pôsobivú 16-bitovú ortogonálnu architektúru, osem registrov, 65 KB adresného priestoru, 1,25 MHz čas cyklu a flexibilnú hardvérovú zbernicu UNIBUS, ktorá podporovala budúce periférie. Pre jeho tvorcu, spoločnosť Digital Equipment Corporation, to bola úspešná kombinácia.
Počiatočná implementácia PDP-11 zahŕňala riadenie prístrojového vybavenia v reálnom čase, automatizáciu závodu a spracovanie údajov. Keďže PDP-11 si získal povesť pre flexibilitu, programovateľnosť a cenovú dostupnosť, svoje využitie zaznamenal v systémoch riadenia semaforov, protiraketovej obrany Nike, riadenia letovej prevádzky, jadrových elektrární a výcvikových a komunikačných systémov námorných pilotov. Bola tiež priekopníkom v oblasti spracovania textu a údajov, ktoré dnes považujeme za samozrejmosť.
Účinok PDP-11 sa nápadne prejavuje v programovaní zostavy zariadenia.
Základy programovania v assembleri
Pred vynálezom jazykov na vysokej úrovni, ako sú Python, Java a Fortran, sa programovalo v jazyku symbolických inštrukcií. Programovanie v assembleri je možné vykonať s veľmi malou pamäťou RAM a úložným priestorom – ideálne pre prostredie v prvých dňoch výpočtovej techniky.
Assembler je nízkoúrovňový stredný formát, ktorý je konvertovaný do strojového jazyka, ktorý potom môže počítač spustiť priamo. Je to nenápadné, pretože priamo manipulujete s aspektmi počítačovej architektúry. Jednoducho povedané, programovanie zostavy presúva vaše dáta bajt po byte cez hardvérové a pamäťové registre. Programovanie PDP-11 bolo odlišné v tom, že dizajn mikropočítača bol elegantný. Každý pokyn má svoje miesto a každý pokyn má zmysel.
16-bitový adresný priestor znamená, že každý register dokáže spracovať až 64 kB pamäte RAM, pričom najvyššie 4 kB je vyhradené pre vstup a výstup mapovaný do pamäte. PDP-11 dokáže spracovať celkom 128 kB pamäte RAM pomocou registračných klipov (viac o tom trochu). Takže aj keď sa systémy PDP-11 dodávali s iba 4 kB RAM, stále boli produktívne vďaka šikovnému využívaniu skorých programovacích techník.
program v assembleri
Najjednoduchšie je pochopiť tento koncept na príklade jednoduchého programu v assembleri PDP-11, o ktorom budeme diskutovať nižšie. Kľúčové slová začínajúce na „.“ Sú to pokyny k zhromaždeniu. .globl
Exportujte štítok ako ikonu na prepojenie na použitie operačným systémom. .text
Určuje začiatok segmentu kódu. .data
Určuje začiatok samostatného segmentu údajov. Kľúčové slová končiace na „:“ sú taxonómie. Programovanie zostáv používa štítky na symbolickú manipuláciu s pamäťou. (Poznámka: s terminológiou PDP-11 a kódovaním, bez textu/komentára.)
Kľúčové slová | Preklad |
.globl _main | Exportujte označenie _main ako vstupný bod pre operačný systém |
.text | Začiatok inštrukčného bloku, kde sa nachádza kód len na čítanie |
_hlavný: MOV VAL1, R0 | Skopírujte hodnotu slova do pamäťového miesta VAL1 v registri 0 |
Pridajte 10 USD, R0 | Pridajte 10 k hodnote v registri 0 |
MOV R0, VAL1 | Skopírujte hodnotu v registri 0 do pamäťového miesta VAL1 |
_.údaje | Začiatok segmentu údajov, kde sa údaje čítajú/zapisujú |
VAL1: .slovo 100 dolárov | Ponechajte si 2 bajty úložného priestoru na uloženie Val1, nakonfigurovaného na 100 |
Aj keď pre adresy v pamäti možno použiť číselné hodnoty, používanie štítkov namiesto kódovaných adries uľahčuje programovanie a umožňuje premiestnenie kódu v pamäti. To dáva operačnému systému flexibilitu pri spúšťaní kódu, čo zabezpečuje, že každý program je rýchly a efektívny.
Direktíva zberateľa údajov umiestňuje údaje do segmentu pamäte, ktorý je možné čítať a zapisovať. Pamäťová časť kódu je určená len na čítanie, aby sa predišlo chybám programovania, aby poškodili program a spôsobili zlyhania. Toto oddelenie inštrukcií a údajov na PDP-11 sa nazýva „rozdelenie inštrukcií a údajov“. Okrem pridania stability táto funkcia tiež zdvojnásobuje adresný priestor tým, že umožňuje 64 kB pre kód a 64 kB pre dáta – to sa v tom čase považovalo za veľkú inováciu. V súlade s tým mikropočítače X86 od Intelu hojne využívali sektory.
„Bacon ninja. Alkoholický guru. Hrdý prieskumník. Vášnivý nadšenec popkultúry.“