Lühiülevaade PDP-11-st, kõigi aegade mõjukaimast miniarvutist

Lühiülevaade PDP-11-st, kõigi aegade mõjukaimast miniarvutist

Arvutustehnoloogia ajalugu võib laias laastus jagada kolmeks ajastuks: suurarvutite, miniarvutite ja mikroarvutite ajastu. Miniarvutid said oluliseks lüliks esimeste suurarvutite ja tänapäeva üldlevinud mikroarvutite vahel. See on lugu PDP-11-st, kõige mõjukamast ja edukamast miniarvutist.

Omal ajal kasutati miniarvuteid mitmesugustes rakendustes. Need toimisid sidekontrollerite, instrumentide kontrollerite, suurte süsteemi eeltöötlejate, lauaarvutite ja reaalajas andmete kogumise protsessoritena. Kuid nad panid ka aluse olulistele edusammudele riistvaraarhitektuuris ning andsid suure panuse tänapäevastesse operatsioonisüsteemidesse, programmeerimiskeeltesse ja interaktiivsesse andmetöötlusse, nagu me neid täna tunneme.

Tänapäeva arvutimaailmas, kus igas arvutis töötab mõni Windowsi, Maci või Linuxi versioon, on raske eristada operatsioonisüsteemi aluseks olevaid protsessoreid. Kuid oli aeg, mil erinevused CPU arhitektuuris olid väga olulised. PDP-11 aitab selgitada, miks see nii on.

PDP-11 tutvustati 1970. aastal, kui enamik andmetöötlust tehti kallitel GE, CDC ja IBMi suurarvutitel, millele vähestel oli juurdepääs. Ei olnud sülearvuteid, lauaarvuteid ega personaalarvuteid. Programmeerimisega tegelesid vaid mõned ettevõtted, peamiselt assemblerkeeles, COBOL ja FORTRAN. Sisestus tehti perfokaartidega ja programmid käivitati mitteinteraktiivsete partiikäibetega.

Kuigi esimene PDP-11 oli tagasihoidlik, pani see aluse miniarvutite invasioonile, mis muutis järgmise põlvkonna arvutid taskukohasemaks, muutes andmetöötluse sisuliselt revolutsiooniliseks. PDP-11 aitas luua UNIX-i operatsioonisüsteemi ja C-programmeerimiskeele. See mõjutaks suuresti ka järgmise põlvkonna arvutiarhitektuure. PDP-11 eluea 22 aasta jooksul – tänapäevaste standardite järgi enneolematu aja jooksul – on müüdud üle 600 000 PDP-11.

Varased PDP-11-d ei olnud nii muljetavaldavad. Esimene 11/20 PDP-11 maksis 20 000 dollarit, kuid kaasas oli ainult 4 KB muutmälu. See kasutas salvestusena paberlinti ja sellel oli ASR-33 teletaibikonsool, mis printis 10 tähemärki sekundis. Kuid sellel oli ka hämmastav ortogonaalne 16-bitine arhitektuur, kaheksa registrit, 65 KB aadressiruumi, 1,25 MHz tsükliaeg ja paindlik UNIBUSi riistvarasiin, mis toetas tulevasi riistvara välisseadmeid. See oli võitnud kombinatsioon selle loojale Digital Equipment Corporationile.

PDP-11 esialgne rakendus hõlmas reaalajas riistvara juhtimist, tehase automatiseerimist ja andmetöötlust. Kuna PDP-11 saavutas maine paindlikkuse, programmeeritavuse ja taskukohasuse poolest, leidis see kasutust foorijuhtimissüsteemides, Nike’i raketitõrjesüsteemis, lennujuhtimises, tuumaelektrijaamades, mereväe pilootide väljaõppesüsteemides ja telekommunikatsioonis. Ta oli teerajaja ka tekstitöötluses ja andmetöötluses, mida me praegu peame iseenesestmõistetavaks.

Ja PDP-11 mõju on kõige ilmsem seadme koostamise programmeerimisel.

Montaaži programmeerimise põhitõed

Enne kõrgetasemeliste keelte, nagu Python, Java ja Fortran, leiutamist tehti programmeerimine montaažikeeles. Assembly keeles programmeerimist saab teha väga vähese RAM-i ja kettaruumiga, mis sobib ideaalselt arvutitöö algusaegadeks.

Assembly keel on madala taseme keskmine vorming, mis teisendatakse masinkeeleks ja mida saab seejärel arvuti otse käivitada. See on madal, kuna juhite otseselt arvuti arhitektuuri aspekte. Lihtsamalt öeldes liigutab montaažikeele programmeerimine teie andmeid baithaaval läbi riistvararegistrite ja mälu. PDP-11 programmeerimise eristas miniarvuti elegantne disain. Igal juhisel oli oma koht ja igal juhisel oli tähendus.

16-bitine aadressiruum tähendas, et iga register võis otse adresseerida kuni 64 KB RAM-i, kusjuures ülemine 4 KB oli reserveeritud mälukaardiga sisendiks ja väljundiks. PDP-11-d suudaksid registrisegmente kasutades adresseerida kokku 128 KB RAM-i (sellest pikemalt). Ehkki PDP-11 süsteemid tarniti ainult 4 KB muutmäluga, olid need siiski tootlikud tänu varajase programmeerimistehnika nutikale kasutamisele.

Kokkupanemise programm

Lihtsaim viis sellest kontseptsioonist aru saada on lihtsa PDP-11 montaažikeele programmiga, mida me allpool vaatleme. Märksõnad, mis algavad tähega “.” on komplekteerija juhised. .globlekspordib sildi sümbolina linkerile operatsioonisüsteemi kasutamiseks. .textmäärab koodisegmendi alguse. .datamäärab ühe andmesegmendi alguse. “:”-lõpulised märksõnad on sildid. Assamblee keele programmeerimine kasutab mälu sümboolseks adresseerimiseks silte. (Märkus: žargooni ja PDP-11 kodeerimise tulekuga on mis tahes tekst pärast / kommentaar.)

Märksõnad Tõlge
.globl_main Eksportige _main silt operatsioonisüsteemi kasutamiseks sisenemispunktina.
.tekst Kirjutuskaitstud koodi sisaldava käsusegmendi algus
_peamine: MOOTORI VÄÄRTUS1, R0 Kopeerige sõna väärtus mälukohast VAL1 registrisse 0.
LISA 10 $, R0 Lisage registri 0 väärtusele 10
MOOTOR R0 VÄÄRTUS1 Kopeerige väärtus registrist 0 mälukohta VAL1.
_.andmed Lugemis-/kirjutusandmeid sisaldava andmesegmendi algus.
VAL1:. sõna 100 dollarit Reserveerige 2 baiti mälu, et hoida Val1 lähtestatuna 100-ni.

Kuigi saate mäluaadresside jaoks kasutada numbrilisi väärtusi, lihtsustab siltide kasutamine kõvakoodiga aadresside asemel programmeerimist ja võimaldab teil koodi mälus liigutada. See annab operatsioonisüsteemile paindlikkuse koodi täitmiseks, muutes iga programmi kiireks ja tõhusaks.

komplekteerija direktiiv. andmed paigutavad andmed mälusegmenti, mis on nii loetav kui ka kirjutatav. Koodimälu segment on kirjutuskaitstud, et programmeerimisvead ei rikuks programmi ega põhjustaks kokkujooksmisi. Seda juhiste eraldamist PDP-11 andmetest nimetatakse käskude ja andmete eraldamiseks. Lisaks stabiilsuse parandamisele kahekordistab see funktsioon ka aadressiruumi, pakkudes 64 KB koodi jaoks ja 64 KB andmete jaoks, mida tollal peeti uuenduseks. Sellest lähtuvalt kasutasid Intel X86 mikroarvutid segmente hiljem laialdaselt.

Lisa kommentaar

Sinu e-postiaadressi ei avaldata. Nõutavad väljad on tähistatud *-ga