Trumpas žvilgsnis į PDP-11, įtakingiausią visų laikų mini kompiuterį

Trumpas žvilgsnis į PDP-11, įtakingiausią visų laikų mini kompiuterį

Skaičiavimo technologijų istoriją galima grubiai suskirstyti į tris eras: pagrindinių kompiuterių, mini kompiuterių ir mikrokompiuterių erą. Minikompiuteriai tapo svarbia grandimi tarp pirmųjų pagrindinių kompiuterių ir visur paplitusių šiandieninių mikrokompiuterių. Tai istorija apie PDP-11, įtakingiausią ir sėkmingiausią mini kompiuterį.

Vienu metu mini kompiuteriai buvo naudojami įvairioms programoms. Jie tarnavo kaip ryšių valdikliai, prietaisų valdikliai, dideli sistemų pirminiai procesoriai, staliniai skaičiuotuvai ir realaus laiko duomenų gavimo procesoriai. Tačiau jie taip pat padėjo pagrindą reikšmingai pažangai aparatinės įrangos architektūroje ir labai prisidėjo prie šiuolaikinių operacinių sistemų, programavimo kalbų ir interaktyvaus skaičiavimo, kaip mes žinome šiandien.

Šiuolaikiniame kompiuterijos pasaulyje, kuriame kiekviename kompiuteryje veikia tam tikra „Windows“, „Mac“ ar „Linux“ versija, sunku atskirti procesorius, kurie yra operacinės sistemos pagrindas. Tačiau buvo laikas, kai procesoriaus architektūros skirtumai buvo labai svarbūs. PDP-11 padeda paaiškinti, kodėl taip yra.

PDP-11 buvo pristatytas 1970 m., kai dauguma skaičiavimų buvo atliekami brangiuose GE, CDC ir IBM pagrindiniuose kompiuteriuose, prie kurių tik nedaugelis turėjo prieigą. Nebuvo nei nešiojamų, nei stalinių, nei asmeninių kompiuterių. Tik kelios įmonės užsiėmė programavimu, daugiausia surinkimo kalba, COBOL ir FORTRAN. Įvestis buvo atlikta perforuotomis kortelėmis, o programos buvo paleistos neinteraktyviu paketiniu paleidimu.

Nors pirmasis PDP-11 buvo kuklus, jis sukūrė pagrindą minikompiuterių invazijai, dėl kurios naujos kartos kompiuteriai tapo prieinamesni ir iš esmės padarė perversmą kompiuterijoje. PDP-11 padėjo sukurti UNIX operacinę sistemą ir C programavimo kalbą. Tai taip pat turėtų didelės įtakos naujos kartos kompiuterių architektūroms. Per 22 PDP-11 gyvavimo metus – precedento neturintį laiką pagal šių dienų standartus – buvo parduota daugiau nei 600 000 PDP-11.

Ankstyvieji PDP-11 nebuvo tokie įspūdingi. Pirmasis 11/20 PDP-11 kainavo 20 000 USD, bet buvo tik su 4 KB RAM. Jis naudojo popierinę juostą kaip saugyklą ir turėjo ASR-33 teletipo pultą, kuris spausdino 10 simbolių per sekundę. Tačiau jis taip pat turėjo nuostabią stačiakampę 16 bitų architektūrą, aštuonis registrus, 65 KB adresų erdvę, 1,25 MHz ciklo laiką ir lanksčią UNIBUS aparatinės įrangos magistralę, palaikančią būsimus aparatūros periferinius įrenginius. Tai buvo pergalingas derinys jo kūrėjui „Digital Equipment Corporation“.

Pradinė PDP-11 programa apėmė aparatinės įrangos valdymą realiuoju laiku, gamyklos automatizavimą ir duomenų apdorojimą. Kai PDP-11 įgijo lankstumo, programuojamumo ir įperkamumo reputaciją, jis buvo naudojamas šviesoforų valdymo sistemose, Nike priešraketinės gynybos sistemoje, oro eismo valdyme, atominėse elektrinėse, karinio jūrų laivyno pilotų mokymo sistemose ir telekomunikacijose. Jis taip pat buvo tekstų apdorojimo ir duomenų apdorojimo pradininkas, kurį dabar laikome savaime suprantamu dalyku.

O PDP-11 įtaka labiausiai išryškėja programuojant įrenginio surinkimą.

Surinkimo programavimo pagrindai

Prieš išrandant aukšto lygio kalbas, tokias kaip Python, Java ir Fortran, programavimas buvo atliktas asamblėjos kalba. Asamblėjos kalbos programavimas gali būti atliktas naudojant labai mažai RAM ir vietos diske, idealiai tinka ankstyvosioms skaičiavimo dienoms.

Surinkimo kalba yra žemo lygio tarpinis formatas, konvertuojamas į mašinos kalbą, kurią vėliau gali paleisti tiesiogiai kompiuteris. Tai žemo lygio, nes jūs tiesiogiai valdote kompiuterio architektūros aspektus. Paprasčiau tariant, asamblėjos kalbos programavimas perkelia jūsų duomenis baitas po baito per aparatūros registrus ir atmintį. PDP-11 programavimą išskyrė elegantiškas mini kompiuterio dizainas. Kiekvienas nurodymas turėjo savo vietą ir kiekvienas nurodymas turėjo prasmę.

16 bitų adresų erdvė reiškė, kad kiekvienas registras galėjo tiesiogiai adresuoti iki 64 KB RAM, o viršutinė 4 KB skirta atminties susietai įvestims ir išvestims. PDP-11 gali apdoroti iš viso 128 KB RAM, naudodami registro segmentus (apie tai daugiau). Taigi, nors PDP-11 sistemos buvo tiekiamos tik su 4 KB RAM, jos vis tiek buvo produktyvios dėl protingo ankstyvųjų programavimo metodų naudojimo.

Surinkimo programa

Lengviausias būdas suprasti šią sąvoką yra naudojant paprastą PDP-11 asamblėjos kalbos programą, kurią apžvelgsime toliau. Raktiniai žodžiai, prasidedantys raide „.“, yra surinkėjo nurodymai. .globleksportuoja etiketę kaip simbolį į nuorodą, skirtą naudoti operacinei sistemai. .textapibrėžia kodo segmento pradžią. .dataapibrėžia vieno duomenų segmento pradžią. Raktiniai žodžiai, kurie baigiasi „:“, yra žymos. Asamblėjos kalbos programavimas naudoja etiketes, kad simboliškai adresuotų atmintį. (Pastaba: atsiradus žargonui ir PDP-11 kodavimui, bet koks tekstas po / yra komentaras.)

Raktažodžiai Vertimas
.globl_main Eksportuokite _main etiketę kaip įvesties tašką, skirtą naudoti operacinei sistemai.
.tekstas Instrukcijos segmento, kuriame yra tik skaitomas kodas, pradžia
_pagrindinis: VARIKLIO VERTĖ1, R0 Nukopijuokite žodžio reikšmę iš atminties vietos VAL1 į registrą 0.
PRIDĖTI 10 USD, R0 Pridėkite 10 prie reikšmės registre 0
VARIKLIO R0 VERTĖ1 Nukopijuokite reikšmę iš registro 0 į atminties vietą VAL1.
_.duomenys Duomenų segmento, kuriame yra skaitymo / rašymo duomenys, pradžia.
VAL1:. žodis 100 USD Rezervuokite 2 baitus atminties, kad Val1 būtų inicijuotas iki 100.

Nors atminties adresams galite naudoti skaitines reikšmes, etikečių naudojimas vietoj užkoduotų adresų supaprastina programavimą ir leidžia perkelti kodą atmintyje. Tai suteikia operacinei sistemai lankstumo vykdyti kodą, todėl kiekviena programa yra greita ir efektyvi.

surinkėjo direktyva. duomenys talpina duomenis į atminties segmentą, kuris yra skaitomas ir įrašomas. Kodo atminties segmentas yra tik skaitomas, kad programavimo klaidos nesugadintų programos ir nesukeltų gedimų. Šis instrukcijų atskyrimas nuo duomenų PDP-11 vadinamas „instrukcijų ir duomenų atskyrimu“. Ši funkcija ne tik pagerina stabilumą, bet ir padvigubina adresų erdvę, suteikdama 64 KB kodui ir 64 KB duomenims, o tai tuo metu buvo laikoma naujove. Atitinkamai, „Intel X86“ mikrokompiuteriai vėliau plačiai panaudojo segmentus.

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *