Lyhyt katsaus PDP-11:een, kaikkien aikojen vaikutusvaltaisimpaan minitietokoneeseen

Lyhyt katsaus PDP-11:een, kaikkien aikojen vaikutusvaltaisimpaan minitietokoneeseen

Tietojenkäsittelytekniikan historia voidaan jakaa karkeasti kolmeen aikakauteen: keskustietokoneiden, minitietokoneiden ja mikrotietokoneiden aikakauteen. Minitietokoneista tuli tärkeä linkki ensimmäisten keskustietokoneiden ja nykypäivän kaikkialla olevien mikrotietokoneiden välillä. Tämä on tarina PDP-11:stä, joka on vaikutusvaltaisin ja menestynein minitietokone.

Kerran minitietokoneita käytettiin erilaisissa sovelluksissa. Ne toimivat viestintäohjaimina, instrumenttiohjaimina, suurina järjestelmän esiprosessoreina, pöytälaskimina ja reaaliaikaisina tiedonkeruuprosessoreina. Mutta ne loivat myös perustan merkittäville edistysaskeleille laitteistoarkkitehtuurissa ja edistivät merkittävästi nykyaikaisia ​​käyttöjärjestelmiä, ohjelmointikieliä ja interaktiivista tietojenkäsittelyä sellaisina kuin ne nykyään tunnemme.

Nykypäivän tietojenkäsittelyn maailmassa, jossa jokaisessa tietokoneessa on jokin Windows-, Mac- tai Linux-versio, on vaikea erottaa käyttöjärjestelmän taustalla olevia suorittimia. Mutta oli aika, jolloin eroilla suorittimen arkkitehtuurissa oli paljon merkitystä. PDP-11 auttaa selittämään, miksi näin on.

PDP-11 esiteltiin vuonna 1970, jolloin suurin osa tietojenkäsittelystä tehtiin kalliilla GE-, CDC- ja IBM-keskikoneilla, joihin harvalla oli pääsy. Ei ollut kannettavia tietokoneita, ei pöytäkoneita, ei henkilökohtaisia ​​tietokoneita. Ohjelmointiin osallistui vain muutama yritys, enimmäkseen assembly-kielellä COBOL ja FORTRAN. Syöttö tehtiin reikäkorteilla ja ohjelmat käynnistettiin ei-interaktiivisilla eräajoilla.

Vaikka ensimmäinen PDP-11 oli vaatimaton, se loi alustan minitietokoneiden hyökkäykselle, joka teki seuraavan sukupolven tietokoneista edullisempia ja mullistaen olennaisesti tietojenkäsittelyn. PDP-11 auttoi luomaan UNIX-käyttöjärjestelmän ja C-ohjelmointikielen. Se vaikuttaisi myös suuresti seuraavan sukupolven tietokonearkkitehtuureihin. PDP-11:n elinkaaren 22 vuoden aikana – nykystandardien mukaan ennennäkemättömän pitkä aika – on myyty yli 600 000 PDP-11:tä.

Varhaiset PDP-11:t eivät olleet niin vaikuttavia. Ensimmäinen 11/20 PDP-11 maksoi 20 000 dollaria, mutta mukana tuli vain 4 kt RAM-muistia. Se käytti paperiteippiä säilytystilana ja siinä oli ASR-33-teletype-konsoli, joka tulostaa 10 merkkiä sekunnissa. Mutta siinä oli myös hämmästyttävä ortogonaalinen 16-bittinen arkkitehtuuri, kahdeksan rekisteriä, 65 kilotavua osoiteavaruutta, 1,25 MHz:n sykliaika ja joustava UNIBUS-laitteistoväylä, joka tuki tulevaisuuden oheislaitteita. Se oli voittava yhdistelmä luojalleen Digital Equipment Corporationille.

PDP-11:n alkuperäinen sovellus sisälsi reaaliaikaisen laitteiston ohjauksen, tehdasautomaation ja tietojenkäsittelyn. Kun PDP-11 sai mainetta joustavuudestaan, ohjelmoitavuudestaan ​​ja kohtuuhintaisuudestaan, sitä käytettiin liikennevalojen ohjausjärjestelmissä, Niken ohjuspuolustusjärjestelmässä, lennonjohdossa, ydinvoimaloissa, laivaston lentäjien koulutusjärjestelmissä ja tietoliikenteessä. Hän oli myös edelläkävijä tekstinkäsittelyssä ja tietojenkäsittelyssä, joita pidämme nykyään itsestäänselvyytenä.

Ja PDP-11:n vaikutus näkyy selvimmin laitteen kokoonpanon ohjelmoinnissa.

Kokoonpanon ohjelmoinnin perusteet

Ennen korkean tason kielten, kuten Python, Java ja Fortran, keksimistä ohjelmointi tehtiin kokoonpanokielellä. Assembly-kieliohjelmointi voidaan tehdä erittäin pienellä RAM-muistilla ja levytilalla, mikä on ihanteellinen tietojenkäsittelyn alkuaikoina.

Kokoonpanokieli on matalan tason välimuoto, joka muunnetaan konekieleksi, jota tietokone voi sitten käyttää suoraan. Se on matalatasoinen, koska hallitset suoraan tietokoneen arkkitehtuuria. Yksinkertaisesti sanottuna kokoonpanokieliohjelmointi siirtää tietosi tavulta laitteistorekisterien ja muistin läpi. Se, mikä erotti PDP-11-ohjelmoinnin, oli minitietokoneen tyylikäs muotoilu. Jokaisella ohjeella oli paikkansa ja jokaisella ohjeella oli merkitys.

16-bittinen osoiteavaruus tarkoitti, että jokainen rekisteri pystyi osoittamaan suoraan jopa 64 kilotavua RAM-muistia, ja ylin 4 kilotavua oli varattu muistikartoitettua tuloa ja lähtöä varten. PDP-11:t pystyivät käsittelemään yhteensä 128 KB RAM-muistia käyttämällä rekisterisegmenttejä (sitä lisää hetken kuluttua). Joten vaikka PDP-11-järjestelmät toimitettiin vain 4 kt RAM-muistilla, ne olivat silti tuottavia varhaisten ohjelmointitekniikoiden taitavan käytön ansiosta.

Kokoontumisohjelma

Helpoin tapa ymmärtää tämä konsepti on yksinkertaisella PDP-11 assembly-kieliohjelmalla, jota tarkastellaan alla. Avainsanat, jotka alkavat ”.” ovat ohjeita kokoajan. .globlvie etiketin symbolina linkkiin käyttöjärjestelmän käytettäväksi. .textmäärittää koodisegmentin alun. .datamäärittää yksittäisen datasegmentin alun. ”:”-päätteiset avainsanat ovat tunnisteita. Assembly-kieliohjelmointi käyttää tarroja muistin symboliseen osoittamiseen. (Huomaa: ammattislangin ja PDP-11-koodauksen myötä mikä tahansa teksti / jälkeen on kommentti.)

Avainsanat Käännös
.globl_main Vie _main-tunniste aloituspisteeksi käyttöjärjestelmän käyttöön.
.teksti Ohjesegmentin alku, joka sisältää vain luku -koodin
_main: MOOTTORIN ARVO1, R0 Kopioi sanan arvo muistipaikasta VAL1 rekisteriin 0.
LISÄÄ $10, R0 Lisää 10 rekisterin 0 arvoon
MOOTTORIN R0 ARVO1 Kopioi arvo rekisteristä 0 muistipaikkaan VAL1.
_.data Luku-/kirjoitusdataa sisältävän datasegmentin alku.
VAL1:. sana 100 dollaria Varaa 2 tavua muistia pitääksesi Val1 alustettuna 100.

Vaikka voit käyttää numeerisia arvoja muistiosoitteille, tarrojen käyttäminen kovakoodattujen osoitteiden sijasta yksinkertaistaa ohjelmointia ja mahdollistaa koodin siirtämisen muistissa. Tämä antaa käyttöjärjestelmälle joustavuutta koodin suorittamiseen, mikä tekee jokaisesta ohjelmasta nopean ja tehokkaan.

kokoonpanodirektiivi. data sijoittaa tiedot muistisegmenttiin, joka on sekä luettavissa että kirjoitettavissa. Koodimuistisegmentti on vain luku -tilassa estämään ohjelmointivirheet turmelemasta ohjelmaa ja aiheuttamasta kaatumisia. Tätä ohjeiden erottamista tiedoista PDP-11:ssä kutsutaan ”käskyjen ja tietojen erottamiseksi”. Vakauden parantamisen lisäksi tämä ominaisuus myös kaksinkertaistaa osoiteavaruuden tarjoamalla 64 kt koodille ja 64 kt datalle, mitä pidettiin tuolloin innovaationa. Näin ollen Intel X86 -mikrotietokoneet käyttivät myöhemmin laajasti segmenttejä.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *