PDP-11
PDP-11 — серія 16-розрядних міні-ЕОМ компанії DEC, що серійно вироблялися та продавалися в 1970-80-х роках; розвиток серії PDP-8 із загальної лінійки комп'ютерів PDP. У PDP-11 з'явилося кілька унікальних технологічних інновацій, ця серія була простішою в програмуванні, ніж її попередники. Але, попри її загальне визнання з боку програмістів, PDP-11 з часом була витіснена персональними комп'ютерами, включаючи IBM PC та Apple II.
Система команд ряду PDP-11 значно вплинула на мову програмування C.
Програмісти полюбили PDP-11 за її «ортогональну» систему команд: можна було окремо запам'ятовувати команди, і окремо — методи доступу до операндів. Можна було вважати, що будь-який метод доступу (режим адресації) буде працювати з будь-якою операцією, не потрібно було запам'ятовувати список винятків і особливих випадків, у яких операція має обмежений набір режимів адресації, всі регістри були універсальними та могли використовуватися з будь-якою командою. Насправді винятки й особливі випадки були, але лише в кількох досить рідко застосовуваних командах.
У певному сенсі, набір режимів адресації утворював «базис», а набір операцій — інший базис. Кожна двооперандна інструкція складалася з двох 6-бітних ідентифікаторів операндів (кожен з них містив три біти на номер регістра і три біти на режим адресації), а також з 4-бітного коду операції; однооперандна інструкція містила один 6-бітний ідентифікатор операнда і 10-бітний код операції. З восьми регістрів (з номерами від 0 до 7), шість були регістрами загального призначення; регістр 6 особливо виділявся як вказівник стека; регістр 7 був покажчиком поточної інструкції. Проте всі ці регістри могли використовуватися як операнди в арифметико-логічних операціях або використовуватися при формуванні адрес операндів.
На відміну від багатьох інших комп'ютерів того часу, перші моделі PDP-11 не мали окремої шини вводу/виводу — тільки шину пам'яті Unibus. Всі регістри пристроїв введення/виведення мали свої адреси, аналогічні адресами пам'яті, тому окремі інструкції введення/виведення були не потрібні. Система переривань була зроблена максимально простою, але достатньо гнучкою. Кожен пристрій мав свій вектор переривання, який, при необхідності, повідомляв процесору, тому не було жорсткого обмеження на кількість векторів, доступних для використання пристроями.
Високопродуктивні машини сімейства, починаючи з PDP-11/45, вже мали окрему шину пам'яті, Unibus же продовжувала використовуватися тільки для вводу/виводу. У PDP-11/70 був зроблений ще один крок вперед: додався окремий інтерфейс для магнітних дисків і стрічок — Massbus. Однак, керівні регістри пристроїв введення/виведення, як і раніше проєктувалися на пам'ять, і окремих інструкцій введення/виведення не було потрібно.
І нарешті, комп'ютери PDP-11 були розроблені для виробництва на заводах з низькокваліфікованої робочою силою. Розміри всіх конструктивних частин були відносно некритичними. При збірці, штамповані плати підключалися до загальної плати, на якій застосовувався монтаж навивкою. Сполучні блоки були дуже схожі на ті, які вже давно застосовувалися в телефонії.
LSI-11 (PDP-11/03), представлений в лютому 1975[1] був першою моделлю PDP-11 виробленою з використанням великих інтегральних схем; центральний процесор складався з чотирьох інтегральних схем виробництва Western Digital (чипсет MCP-1600; п'ята мікросхема могла додаватися, аби розширити набір інструкцій, як зображено на фото справа). Він використовував шину, яка була варіантом Unibus — цей варіант називався LSI Bus або Q-Bus[en].
У Радянському Союзі випускалася лінійка сумісних з LSI-11 мікрокомп'ютерів під назвою «Електроніка-60».
Цей розділ потребує доповнення. (червень 2017) |
Приклад програми «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!
- Від DEC: DOS-11, IAS, P/OS, RSX-11, RT-11, RSTS/E, Ultrix-11
- Від сторонніх виробників: ANDOS, MK-DOS, CSI-DOS, TRIPOS, MUMPS, Unix (кілька версій), TSX-Plus, Venix та інші.
- Радянські: РАФОС, ФОДОС, РУДОС, ОС ДВК (клони RT-11), ОС-РВ (клон RSX -11), ДЕМОС (клон UNIX), ІНМОС (клон UNIX), ДЗГ КП (клон RSTS/E)
PDP-11 за залізною завісою
[ред. | ред. код]В СРСР та інших країнах східного блоку було розроблено і випускалося кілька машин, сумісних за системою команд і частково за архітектурою з серією PDP-11: [2]
- СМ-3, СМ-4, СМ-1420, СМ-1600 — див. СМ ЕОМ — в СРСР
- Електроніка БК-0010 — домашній/навчальний комп'ютер на основі K1801BM1A (аналог - LSI-11/03)
- ДВК - персональний комп'ютер на основі К1801ВМ1/ВМ2/ВМ3 і співпроцесора ВМ4
- Союз-Неон ПК-11/16 — домашній/навчальний комп'ютер на основі Н1806ВМ2.
- Електроніка МС 0511 «УКНЦ» — навчальний комп'ютер на 2-х процесорах КМ1801ВМ2
- Електроніка 100/25 — клон PDP-11/34
- Електроніка 79 — клон PDP-11/70
- Електроніка 60 — клон LSI-11 (PDP-11/06)
- Електроніка 85 — клон DEC Pro-350 на основі КН1831
- Ізот-1016 — в Болгарії
- TPA-11/40, TPA-11/48, TPA-11/110, TPA-11/170, TPA-EMU-11, TPA-11/440, TPA-11/420 — в Угорщині
- CORAL 4001/4011/4030 — в Румунії
- Mera — в Польщі
- Електроніка 87, СМ-1425 — клон Micro PDP 11/73
- Наірі-4 — у Вірменії
- ↑ 16-bit Timeline. microsoft.com (англ.). Архів оригіналу за 8 грудня 2008. Процитовано 8 листопада 2016.
- ↑ faq.pages/Soviet11s.html The PDP-11 FAQ — PDP-11s behind the Iron Curtain [Архівовано 29 січня 1999 у Wayback Machine.] (англ.)
- Р. Экхауз, Л. Моррис, Мини-ЭВМ: организация и программирование, М.: Финансы и статистика, 1983. (рос.)
- М. Сингер, Мини-ЭВМ PDP-11: Программирование на языке ассемблера и организация машины, Москва: Мир, 1984. == Michael Singer. PDP-11. Assembler Language Programming and Machine Organization. 1980. (рос.)
- PDP (серія комп'ютерів)
- MSP430 — Контролер з архітектурою, досить близькою до ідей PDP-11.
- SIMH [Архівовано 22 лютого 2008 у Wayback Machine.] — емулятор PDP (англ.)
- Сайт присвячений PDP-11 [Архівовано 1 липня 2010 у Wayback Machine.] (рос.)
Це незавершена стаття про інформаційні технології. Ви можете допомогти проєкту, виправивши або дописавши її. |