Архитектура DEC PDP-11
Архитектура DEC PDP-11 — это 16-битная мини-компьютерная архитектура, разработанная компанией Digital Equipment Corporation (DEC) и впервые реализованная в 1970 году в модели PDP-11/20. Архитектура PDP-11 стала одной из наиболее влиятельных в истории вычислительной техники, оказав значительное воздействие на развитие микропроцессоров, операционных систем и языков программирования, в частности языка Си и операционной системы UNIX. Отличительными чертами архитектуры являются ортогональный набор команд с общей адресацией, единое адресное пространство для памяти и устройств ввода-вывода, а также поддержка восьми 16-битных регистров общего назначения.
История
Разработка PDP-11 началась в конце 1960-х годов под руководством Гордона Белла и Гарольда МакФарланда. Команда стремилась создать более гибкую и программируемую альтернативу существовавшим мини-компьютерам, таким как PDP-8. Первая модель, PDP-11/20, была выпущена в 1970 году и стоила около 10 800 долларов США. Она использовала дискретную логику и магнитную память на ферритовых сердечниках.
В 1972 году вышла модель PDP-11/40, которая стала первой в серии, поддерживающей память с произвольным доступом (RAM) на интегральных схемах. В 1975 году была представлена PDP-11/70 — флагманская модель, способная адресовать до 4 Мбайт физической памяти и поддерживающая кэш-память. В 1979 году DEC выпустила PDP-11/23, первую модель на основе микропроцессора (F-11), что значительно снизило стоимость и размеры системы.
В 1980-х годах архитектура PDP-11 была лицензирована рядом производителей, включая советские предприятия. В СССР выпускались клоны PDP-11: серии СМ ЭВМ (СМ-1, СМ-2, СМ-4) и Электроника-60. Производство оригинальных PDP-11 продолжалось до 1990-х годов, когда DEC полностью переключилась на архитектуру VAX.
Архитектура и основные характеристики
Регистровая модель
Архитектура PDP-11 включает восемь 16-битных регистров общего назначения (R0–R7). Регистры R6 и R7 имеют специальные функции:
Регистры R0–R5 являются полностью универсальными и могут использоваться для любых целей, включая адресацию, арифметику и хранение данных.
Система команд
Набор команд PDP-11 является ортогональным: большинство команд могут работать с любыми регистрами и любыми режимами адресации. Команды имеют длину от 16 до 48 бит. Основные группы команд:
- Арифметические: ADD, SUB, MUL, DIV (последние две — в старших моделях).
- Логические: AND, OR, BIC (битовое очищение), BIS (битовое установление).
- Пересылки: MOV (перемещение), MOVB (перемещение байта).
- Управления: BR (безусловный переход), BEQ, BNE, BGT (условные переходы), JMP (прыжок), JSR (переход к подпрограмме), RTS (возврат из подпрограммы).
- Сдвиги: ASL, ASR, ROL, ROR.
- Ввода-вывода: MOV с адресацией в пространство устройств.
Режимы адресации
Архитектура PDP-11 поддерживает 8 режимов адресации, которые применяются к каждому операнду команды:
| Режим | Название | Описание |
|---|---|---|
| 0 | Регистровый | Операнд находится в регистре |
| 1 | Косвенный регистровый | Адрес операнда в регистре |
| 2 | Автоинкрементный | Адрес в регистре, затем регистр увеличивается на 2 или 1 |
| 3 | Косвенный автоинкрементный | Адрес операнда по адресу в регистре, затем регистр увеличивается |
| 4 | Автодекрементный | Регистр уменьшается, затем адрес из регистра |
| 5 | Косвенный автодекрементный | Регистр уменьшается, затем адрес по адресу из регистра |
| 6 | Индексный | Адрес = регистр + смещение (16 бит) |
| 7 | Косвенный индексный | Адрес операнда по адресу = регистр + смещение |
Адресное пространство и ввод-вывод
PDP-11 использует единое адресное пространство размером 64 Кбайт (16-битная шина адреса). В старших моделях (PDP-11/70 и выше) применялась сегментация для доступа к памяти объёмом до 4 Мбайт. Устройства ввода-вывода отображаются на старшие адреса этого пространства (обычно начиная с 0160000 в восьмеричной системе). Это позволяет использовать стандартные команды MOV для обмена данными с устройствами, без специальных команд ввода-вывода.
Прерывания и исключения
Архитектура поддерживает векторные прерывания. Каждое устройство имеет свой вектор прерывания (адрес в памяти, где хранится адрес обработчика). Приоритет прерываний задаётся программно через регистр состояния процессора (PS). Исключения (деление на ноль, неверная команда, обращение к несуществующей памяти) также обрабатываются через векторы.
Реализации и модели
Оригинальные модели DEC
- PDP-11/20 (1970) — первая модель, дискретная логика, до 56 Кбайт памяти.
- PDP-11/40 (1972) — поддержка RAM на ИС, аппаратная защита памяти.
- PDP-11/45 (1972) — производительная модель для научных расчётов.
- PDP-11/70 (1975) — флагман, кэш-память, до 4 Мбайт физической памяти.
- PDP-11/03 (1975) — первая модель на микропроцессоре (LSI-11).
- PDP-11/23 (1979) — микропроцессор F-11, расширенный набор команд.
- PDP-11/84 (1985) — последняя модель на микропроцессоре J-11.
Советские клоны
В СССР архитектура PDP-11 была воспроизведена в нескольких сериях:
- СМ ЭВМ (СМ-1, СМ-2, СМ-4) — семейство мини-ЭВМ, разработанное в 1970–1980-х годах. СМ-4 (1979) была наиболее массовой моделью, использовалась в системах управления и научных исследованиях.
- Электроника-60 — 16-битный микрокомпьютер, выпускавшийся с 1978 года. Широко применялся в промышленности и образовании.
- Электроника-85 — клон PDP-11/03 на базе микропроцессора К1801ВМ1.
- ДВК (Диалоговый вычислительный комплекс) — серия персональных компьютеров на базе архитектуры PDP-11, выпускавшаяся с 1980-х годов.
Программное обеспечение
Операционные системы
- RT-11 — однопользовательская операционная система реального времени, основная ОС для PDP-11.
- RSX-11 — многозадачная ОС реального времени, поддерживающая до 64 пользователей.
- RSTS/E — многопользовательская ОС с разделением времени.
- UNIX — ранние версии UNIX (V6, V7) были разработаны на PDP-11. Именно на этой архитектуре были созданы ключевые концепции UNIX: файловые дескрипторы, системные вызовы, иерархическая файловая система.
- Ultrix — вариант UNIX от DEC для PDP-11.
Языки программирования
- Язык Си — разработан Деннисом Ритчи для PDP-11. Первый компилятор Си был написан для этой архитектуры.
- FORTRAN, BASIC, COBOL, Pascal — все эти языки имели реализации для PDP-11.
Влияние и наследие
Архитектура PDP-11 оказала фундаментальное влияние на развитие вычислительной техники:
- Ортогональность команд стала стандартом для многих последующих процессоров, включая Motorola 68000 и ARM.
- Единое адресное пространство ввода-вывода было заимствовано архитектурой x86.
- Регистровая модель с восемью регистрами общего назначения повлияла на проектирование микропроцессоров Intel 8086.
- Операционная система UNIX и язык Си, разработанные на PDP-11, стали основой для современных вычислительных систем.
- Советские клоны PDP-11 обеспечили развитие вычислительной техники в СССР и странах Восточной Европы.
Интересные факты
- Первая версия игры «Spacewar!» для PDP-11 была написана в 1972 году.
- Архитектура PDP-11 использовалась в системе управления космическими аппаратами «Союз» и «Прогресс».
- В 1980-х годах на базе PDP-11 были построены системы управления атомными электростанциями в СССР.
- Микропроцессор К1801ВМ1, клон PDP-11, выпускался в СССР до 1990-х годов и использовался в бытовых компьютерах «Электроника МС 0511».
Источники
- Bell, C. G., Mudge, J. C., & McNamara, J. E. (1978). Computer Engineering: A DEC View of Hardware Systems Design. Digital Press.
- Eckhouse, R. H., & Morris, L. R. (1979). Minicomputer Systems: Organization, Programming, and Applications (PDP-11). Prentice-Hall.
- DEC (1979). PDP-11 Processor Handbook. Digital Equipment Corporation.
- Гордон, Б. (1980). Архитектура мини-ЭВМ PDP-11. Мир. (Перевод с английского).
- Материалы по истории вычислительной техники в СССР (сборники статей, 1980–1990).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →