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 .
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”.
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.
Î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.
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 „ 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!Calculatoarele din URSS | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
Î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 |
Digital Equipment Corporation | Computers||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
PDP |
| |||||||||||
VAX |
| |||||||||||
x86 |
| |||||||||||
MIPS |
| |||||||||||
Alfa |
|