Īss ieskats PDP-11, visu laiku ietekmīgākajā minidatorā

Īss ieskats PDP-11, visu laiku ietekmīgākajā minidatorā

Datortehnoloģiju vēsturi var aptuveni iedalīt trīs laikmetos: lieldatoru, minidatoru un mikrodatoru laikmetā. Minidatori kļuva par svarīgu saikni starp pirmajiem lieldatoriem un mūsdienu visuresošajiem mikrodatoriem. Šis ir stāsts par PDP-11, ietekmīgāko un veiksmīgāko minidatoru.

Savulaik minidatori tika izmantoti dažādās lietojumprogrammās. Tie kalpoja kā sakaru kontrolieri, instrumentu kontrolieri, lieli sistēmas priekšapstrādātāji, galda kalkulatori un reāllaika datu ieguves procesori. Taču tie arī lika pamatus ievērojamiem sasniegumiem aparatūras arhitektūrā un sniedza lielu ieguldījumu mūsdienu operētājsistēmās, programmēšanas valodās un interaktīvajā skaitļošanā, kā mēs tos pazīstam šodien.

Mūsdienu skaitļošanas pasaulē, kurā katrā datorā darbojas kāda Windows, Mac vai Linux versija, ir grūti atšķirt CPU, kas ir operētājsistēmas pamatā. Bet bija laiks, kad CPU arhitektūras atšķirībām bija liela nozīme. PDP-11 palīdz izskaidrot, kāpēc tas tā ir.

PDP-11 tika ieviests 1970. gadā, kad lielākā daļa skaitļošanas tika veikta ar dārgiem GE, CDC un IBM lieldatoriem, kuriem bija piekļuve tikai dažiem. Nebija ne klēpjdatoru, ne galddatoru, ne personālo datoru. Programmēšanā bija iesaistīti tikai daži uzņēmumi, galvenokārt montāžas valodā, COBOL un FORTRAN. Ievade tika veikta ar perfokartēm, un programmas tika palaistas ar neinteraktīvu pakešu izpildi.

Lai gan pirmais PDP-11 bija pieticīgs, tas radīja pamatu minidatoru iebrukumam, kas padarīja nākamās paaudzes datorus pieejamākus, būtiski mainot skaitļošanu. PDP-11 palīdzēja izveidot UNIX operētājsistēmu un C programmēšanas valodu. Tas arī lielā mērā ietekmētu nākamās paaudzes datoru arhitektūru. 22 PDP-11 dzīves gados — mūsdienu standartiem nepieredzēti ilgā laikā — ir pārdoti vairāk nekā 600 000 PDP-11.

Agrīnie PDP-11 nebija tik iespaidīgi. Pirmais 11/20 PDP-11 maksāja 20 000 USD, bet tika piegādāts tikai ar 4 KB RAM. Tas izmantoja papīra lenti kā glabātuvi, un tam bija ASR-33 teletaipa konsole, kas drukāja 10 rakstzīmes sekundē. Bet tam bija arī pārsteidzoša ortogonāla 16 bitu arhitektūra, astoņi reģistri, 65 KB adrešu telpa, 1,25 MHz cikla laiks un elastīga UNIBUS aparatūras kopne, kas atbalstīja nākotnes aparatūras perifērijas ierīces. Tā bija veiksmīga kombinācija tās radītājam Digital Equipment Corporation.

Sākotnējā PDP-11 lietojumprogramma ietvēra reāllaika aparatūras vadību, rūpnīcas automatizāciju un datu apstrādi. Tā kā PDP-11 ieguva reputāciju ar elastīgumu, programmējamību un pieejamību, tas tika izmantots luksoforu vadības sistēmās, Nike pretraķešu aizsardzības sistēmā, gaisa satiksmes kontrolē, atomelektrostacijās, Jūras spēku pilotu apmācības sistēmās un telekomunikācijās. Viņš arī bija teksta apstrādes un datu apstrādes pionieris, ko mēs tagad uzskatām par pašsaprotamu.

Un PDP-11 ietekme visspilgtāk izpaužas ierīces montāžas programmēšanā.

Montāžas programmēšanas pamati

Pirms augsta līmeņa valodu, piemēram, Python, Java un Fortran, izgudrošanas programmēšana tika veikta montāžas valodā. Montāžas valodas programmēšanu var veikt, izmantojot ļoti maz RAM un diska vietas, kas ir ideāli piemērots skaitļošanas sākumam.

Montāžas valoda ir zema līmeņa vidēja līmeņa formāts, kas tiek pārveidots par mašīnvalodu, kuru pēc tam dators var palaist tieši. Tas ir zems līmenis, jo jūs tieši kontrolējat datora arhitektūras aspektus. Vienkārši sakot, montāžas valodas programmēšana pārvieto jūsu datus pa baitam, izmantojot aparatūras reģistrus un atmiņu. Tas, kas atšķīra PDP-11 programmēšanu, bija minidatora elegantais dizains. Katrai instrukcijai bija sava vieta, un katrai instrukcijai bija sava nozīme.

16 bitu adrešu telpa nozīmēja, ka katrs reģistrs varēja tieši adresēt līdz pat 64 KB RAM, bet augšējie 4 KB bija rezervēti atmiņas kartējuma ievadei un izvadei. Izmantojot reģistra segmentus, PDP-11 varētu apstrādāt kopā 128 KB RAM (vairāk par to pēc brīža). Tātad, lai gan PDP-11 sistēmas tika piegādātas tikai ar 4 KB RAM, tās joprojām bija produktīvas, jo tika izmantotas agrīnās programmēšanas metodes.

Montāžas programma

Vienkāršākais veids, kā saprast šo jēdzienu, ir ar vienkāršu montāžas valodas programmu PDP-11, kuru mēs apskatīsim tālāk. Atslēgvārdi, kas sākas ar “.” ir montētāja norādījumi. .globleksportē etiķeti kā simbolu uz saiti, lai to izmantotu operētājsistēma. .textnosaka koda segmenta sākumu. .datadefinē viena datu segmenta sākumu. Atslēgvārdi, kas beidzas ar “:”, ir atzīmes. Montāžas valodas programmēšana izmanto etiķetes, lai simboliski adresētu atmiņu. (Piezīme: līdz ar žargona un PDP-11 kodēšanas parādīšanos jebkurš teksts aiz / ir komentārs.)

Atslēgvārdi Tulkošana
.globl_main Eksportējiet etiķeti _main kā ievades punktu operētājsistēmas lietošanai.
.teksts Instrukcijas segmenta sākums, kurā ir tikai lasāms kods
_galvenais: ENGINE VALUE1, R0 Kopējiet vārda vērtību no atmiņas vietas VAL1 uz reģistrāciju 0.
PIEVIENOT $ 10, R0 Pievienojiet 10 vērtībai reģistrā 0
MOTORS R0 VĒRTĪBA1 Kopējiet vērtību no reģistra 0 uz atmiņas vietu VAL1.
_.dati Tāda datu segmenta sākums, kurā ir lasīšanas/rakstīšanas dati.
VAL1:. vārds 100 USD Rezervējiet 2 baitus atmiņas, lai Val1 būtu inicializēts uz 100.

Lai gan atmiņas adresēm varat izmantot skaitliskās vērtības, etiķešu izmantošana kodētu adrešu vietā vienkāršo programmēšanu un ļauj pārvietot kodu atmiņā. Tas nodrošina operētājsistēmai elastību koda izpildē, padarot katru programmu ātru un efektīvu.

montētāja direktīva. dati ievieto datus atmiņas segmentā, kas ir gan lasāms, gan rakstāms. Koda atmiņas segments ir tikai lasāms, lai programmēšanas kļūdas nesabojātu programmu un neizraisītu avārijas. Šo instrukciju nodalīšanu no datiem PDP-11 sauc par “instrukciju un datu atdalīšanu”. Papildus stabilitātes uzlabošanai šī funkcija arī dubulto adrešu telpu, nodrošinot 64 KB kodam un 64 KB datiem, kas tajā laikā tika uzskatīts par jauninājumu. Attiecīgi Intel X86 mikrodatori vēlāk plaši izmantoja segmentus.

Atbildēt

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti kā *