PDP-11PDP-11 — серія 16-розрядних міні-ЕОМ компанії DEC, що серійно вироблялися та продавалися в 1970-80-х роках; розвиток серії PDP-8 із загальної лінійки комп'ютерів PDP. У PDP-11 з'явилося кілька унікальних технологічних інновацій, ця серія була простішою в програмуванні, ніж її попередники. Але, попри її загальне визнання з боку програмістів, PDP-11 з часом була витіснена персональними комп'ютерами, включаючи IBM PC та Apple II. Система команд ряду PDP-11 значно вплинула на мову програмування C. Особливості PDP-11Система командПрограмісти полюбили PDP-11 за її «ортогональну» систему команд: можна було окремо запам'ятовувати команди, і окремо — методи доступу до операндів. Можна було вважати, що будь-який метод доступу (режим адресації) буде працювати з будь-якою операцією, не потрібно було запам'ятовувати список винятків і особливих випадків, у яких операція має обмежений набір режимів адресації, всі регістри були універсальними та могли використовуватися з будь-якою командою. Насправді винятки й особливі випадки були, але лише в кількох досить рідко застосовуваних командах. У певному сенсі, набір режимів адресації утворював «базис», а набір операцій — інший базис. Кожна двооперандна інструкція складалася з двох 6-бітних ідентифікаторів операндів (кожен з них містив три біти на номер регістра і три біти на режим адресації), а також з 4-бітного коду операції; однооперандна інструкція містила один 6-бітний ідентифікатор операнда і 10-бітний код операції. З восьми регістрів (з номерами від 0 до 7), шість були регістрами загального призначення; регістр 6 особливо виділявся як вказівник стека; регістр 7 був покажчиком поточної інструкції. Проте всі ці регістри могли використовуватися як операнди в арифметико-логічних операціях або використовуватися при формуванні адрес операндів. Відсутність окремої шини вводу/виводуНа відміну від багатьох інших комп'ютерів того часу, перші моделі PDP-11 не мали окремої шини вводу/виводу — тільки шину пам'яті Unibus. Всі регістри пристроїв введення/виведення мали свої адреси, аналогічні адресами пам'яті, тому окремі інструкції введення/виведення були не потрібні. Система переривань була зроблена максимально простою, але достатньо гнучкою. Кожен пристрій мав свій вектор переривання, який, при необхідності, повідомляв процесору, тому не було жорсткого обмеження на кількість векторів, доступних для використання пристроями. Високопродуктивні машини сімейства, починаючи з PDP-11/45, вже мали окрему шину пам'яті, Unibus же продовжувала використовуватися тільки для вводу/виводу. У PDP-11/70 був зроблений ще один крок вперед: додався окремий інтерфейс для магнітних дисків і стрічок — Massbus. Однак, керівні регістри пристроїв введення/виведення, як і раніше проєктувалися на пам'ять, і окремих інструкцій введення/виведення не було потрібно. Розроблено для масового виробництваІ нарешті, комп'ютери PDP-11 були розроблені для виробництва на заводах з низькокваліфікованої робочою силою. Розміри всіх конструктивних частин були відносно некритичними. При збірці, штамповані плати підключалися до загальної плати, на якій застосовувався монтаж навивкою. Сполучні блоки були дуже схожі на ті, які вже давно застосовувалися в телефонії. LSI-11LSI-11 (PDP-11/03), представлений в лютому 1975[1] був першою моделлю PDP-11 виробленою з використанням великих інтегральних схем; центральний процесор складався з чотирьох інтегральних схем виробництва Western Digital (чипсет MCP-1600; п'ята мікросхема могла додаватися, аби розширити набір інструкцій, як зображено на фото справа). Він використовував шину, яка була варіантом Unibus — цей варіант називався LSI Bus або Q-Bus[en]. У Радянському Союзі випускалася лінійка сумісних з LSI-11 мікрокомп'ютерів під назвою «Електроніка-60».
Приклад програмиПриклад програми «Hello, World!» На макроассемблері MACRO-11, для запуску під RT-11: .TITLE HELLO WORLD
.MCALL .TTYOUT,.EXIT ; МАКРОСИ СИСТЕМНИХ ВИКЛИКІВ З SYSMAC.SML
HELLO:: MOV #MSG,R1 ; ПОЧАТКОВА АДРЕСА СТРІЧКИ
1$: MOVB (R1)+,R0 ; ОТРИМУЄМО НАСТУПНИЙ СИМВОЛ
BEQ DONE ; ЯКЩО 0, ВИХОДИМО З ЦИКЛУ
.TTYOUT ; ІНАКШЕ ДРУКУЄМО СИМВОЛ
BR 1$ ; ПОВТОРЕННЯ ЦИКЛУ
DONE: .EXIT
MSG: .ASCIZ /Hello, world!/
.END HELLO
Для компіляції та запуску цієї програми в системі RT-11 виконується послідовність команд: . MACRO HELLO ERRORS DETECTED: 0 . LINK HELLO . RUN HELLO Hello, world! Операційні системи
PDP-11 за залізною завісоюВ СРСР та інших країнах східного блоку було розроблено і випускалося кілька машин, сумісних за системою команд і частково за архітектурою з серією PDP-11: [2]
Примітки
Література
Див. також
Посилання
Information related to PDP-11 |