PDP-11

PDP-11
Dezvoltator Digital Equipment Corporation
Adâncime de biți pe 16 biți
Arhitectură CISC
Tip de Memorie-Memorie
Codare SK 1..3 cuvinte pe 16 biți
Implementarea tranziției Steaguri de stare
Ordinea octetilor little-endian
Mărimea paginii 8 KiB
Extensii EIS, FIS, FPP, CIS
Registrele
scop general 6
 Fișiere media la Wikimedia Commons

PDP-11 este o serie de minicalculatoare DEC  pe 16 biți care au fost produse și vândute în serie în anii 1970 și 80. O evoluție a seriei PDP-8 din linia generală de calculatoare PDP . PDP-11 a prezentat mai multe inovații tehnologice unice și a fost mai ușor de programat decât predecesorii săi. De-a lungul timpului, a fost înlocuit de computerele personale .

Caracteristicile lui PDP-11

Sistem de comandă

Programatorii s-au îndrăgostit de PDP-11 pentru sistemul său de instrucțiuni „ortogonal” : a fost posibilă memorarea comenzilor separat și separat - metode de acces la operanzi. Orice metodă de acces ( modul de adresare ) poate fi considerată funcțională cu orice operațiune; nu era nevoie să ne amintim lista de excepții și cazuri speciale în care operațiunea are un set limitat de moduri de adresare, toate registrele ( R0... R7) puteau fi folosite cu orice comandă. Registrele R0... R4erau universale, iar registrele R5( FP, frame pointer, English  frame pointer ), R6( SP, stack pointer, English  stack pointer ) și R7( PC, program counter ) erau deosebite, existau excepții pentru mai multe comenzi, dar 

Într-un fel, setul de moduri de adresare a format o „bază”, iar setul de operații a format o altă bază. Fiecare instrucțiune cu doi operanzi a constat din doi identificatori de operanzi de 6 biți (fiecare conținând trei biți pentru numărul de registru și trei biți pentru modul de adresare), precum și un opcode de 4 biți; o instrucțiune cu un singur operand conținea un identificator de operand de 6 biți și un cod operativ de 10 biți. Datorită unui sistem de instrucțiuni logic și structurat, codurile sunt destul de ușor de citit în codul mașinii direct în notație octală, de exemplu, formatul de instrucțiuni cu doi operanzi:

cincisprezece paisprezece 13 12 unsprezece zece 9 opt 7 6 5 patru 3 2 unu 0
B opcode modul R Sr modul R Dst

Unde bitul B este un semn că operația pe un octet sau pe un cuvânt

B Opcode Mnemonice Efect
0 1 MOV Expediere:dest = src
unsprezece MOVB
0 2 CMP Comparație: calculați src − destfără a înregistra rezultatul
12 CMPB
0 3 pic Verificați biții: calculați dest & srcfără a scrie rezultatul
13 BITB
0 4 BIC Biți de resetare sau „ȘI logic cu inversare src”:dest &= ~src
paisprezece BICB
0 5 BIS Setarea biților sau „SAU logic”:dest |= src
cincisprezece BISB
06 ADĂUGA Plus,dest += src
16 SUB Scădere,dest −= src

Modul specifică modul de utilizare a registrului (valoarea înregistrată direct/registrul conține adresa/adresa cu increment post-auto etc.)

Astfel, comanda 010103 8 este citită ca „copy R1to R3”.

Lipsa unei magistrale I/O separate

Spre deosebire de multe alte computere din vremea lor, primele modele PDP-11 nu aveau o magistrală I/O separată, ci doar o magistrală de memorie Unibus . Toate registrele dispozitivelor I/O aveau adresele lor, similare adreselor de memorie, astfel încât instrucțiunile I/O separate nu erau necesare. Sistemul de întrerupere a fost făcut cât se poate de simplu, dar suficient de flexibil. Fiecare dispozitiv avea propriul său vector de întrerupere, care raporta procesorului atunci când era necesar, astfel încât nu exista o limită strictă a numărului de vectori disponibili pentru utilizare de către dispozitive.

Mașinile de înaltă performanță ale familiei, începând cu PDP-11/45, aveau deja o magistrală de memorie separată, în timp ce Unibus a continuat să fie folosit doar pentru I/O. PDP-11/70 a făcut un alt pas înainte: a fost adăugată o interfață separată pentru discuri și benzi magnetice - Massbus . Cu toate acestea, registrele de control al dispozitivului I/O erau încă mapate la memorie și nu erau necesare instrucțiuni I/O separate.

Conceput pentru producția de masă

În cele din urmă, calculatoarele PDP-11 au fost proiectate pentru fabricarea în fabrici cu calificare redusă . Dimensiunile tuturor pieselor structurale au fost relativ necritice. În timpul asamblarii, plăcile de circuite imprimate au fost conectate la o placă comună pe care a fost aplicat ansamblul spiralat . Blocurile de conexiune erau foarte asemănătoare cu cele care fuseseră mult timp folosite în telefonie.

Problemă

Inițial, computerul PDP-11 a fost produs pe microcircuite TTL cu un grad scăzut de integrare. În 1975, a fost dezvoltată o versiune a procesorului cu o singură placă bazată pe cipuri foarte integrate. În 1979, procesorul DEC J-11 a fost dezvoltat pe două sau trei microcircuite. Ultimele modele din linia PDP-11 au fost PDP-11/93 și PDP-11/94 introduse în 1990.

Exemplu de program

Exemplu de program „ Bună ziua, lume!” » în macro-asamblatorul MACRO-11 , pentru a rula sub RT-11 :

.TITLUL HELLO WORLD .MCALL .TTYOUT ,. EXIT HELLO: : MOV #MSG,R1 ;INITALIZARE R1 - POINTERUL LA CARACTERUL ACTUAL 1 $: MOVB ( R1 ) + , R0 ;COPIEAZĂ CARACTERUL ÎN R0 CU INSTALARE R1 BEQ DONE ;DACĂ CARACTERUL ESTE ZERO, EXIT LOOP .TTYOUT ;ELSE ; CHAR BR 1 $ ; REPETARE CICLU TERMINAT: .EXIT MSG: .ASCIZ / Salut , lume ! /.FINE SALUT _

Pentru a compila și a rula acest program pe sistemul RT-11, se execută o secvență de comenzi:

. MACRO SALUT ERORI DETECTE: 0 . LINK SALUT . ALERGĂ SALUT Salut Lume!

Sisteme de operare

PDP-11 în țările CMEA

În URSS și în alte țări socialiste , au fost dezvoltate și produse mai multe mașini care erau compatibile în sistemul de comandă și parțial în arhitectură cu seria PDP-11 [1] :

Electronică 100-16 Electronică 100-25 Electronică-79
Lățimea magistralei de adrese, bit 16 optsprezece 22
Set de comenzi 73 (de bază fără MARK) 89 (B+, EIS, FIS, manager de memorie) 137 (B+, EIS, FIS, FP11, manager de memorie)
Viteză, op/s 250 000 800 000 3.000.000
Numărul de registre opt opt 16
Moduri de privilegiu unu 2 3
Niveluri de întrerupere 5 5 opt

Vezi și

Note

  1. Întrebări frecvente PDP-11 - PDP-11 în spatele Cortinei de Fier Arhivat 25 martie 2012.
  2. Leonid Chernyak. Calculatoare încorporate de înaltă performanță  (link nu este disponibil)  - articol în revista Open Systems

Literatură

  • Eckhouse R., Morris L. , Minicalculator: organizare și programare / R. Eckhouse, L. Morris; Pe. din engleza. A. F. Kondratyuk, L. S. Chernyak. - M. : Finanţe şi statistică, 1983. - 359 p.
  • Singer M. Minicalculator PDP-11: Programare în limbaj de asamblare și organizare a mașinii: Per. din engleză = PDP-11. Programarea în limbaj asamblator și organizarea mașinilor / Michael Singer. — M .: Mir, 1984. — 272 p.

Link -uri