VAX - VAX

VAX
Dec-vax-logo.png
Дизайнер Корпорация цифрового оборудования
Биты 32-битный
Введено 1977 ; 44 года назад ( 1977 )
Дизайн CISC
Тип Регистр-Регистр
Регистр-
Память-Память
Кодирование Переменная (от 1 до 56 байт)
Разветвление Код состояния
Порядок байтов Маленький
Размер страницы 512 байт
Расширения Режим совместимости с PDP-11, векторные расширения VAX, расширения VAX VM
Открытым Нет
Регистры
Общее назначение 16 × 32-бит
Плавающая запятая нет, использует георадар
Вектор 16 × 4096 бит (512 байт)

VAX - это архитектура набора команд CISC (ISA) и линейка суперминикомпьютеров и рабочих станций, разработанная Digital Equipment Corporation (DEC) в середине 1970-х годов. VAX-11/780 , введенный 25 октября 1977, был первым из целого ряда популярных и влиятельных компьютеров , реализующих VAX ISA. За время существования дизайна было представлено более 100 моделей, последние из которых появились в начале 1990-х годов. На смену VAX пришла DEC Alpha , которая включала в себя несколько функций машин VAX, чтобы упростить перенос с VAX.

VAX был разработан как преемник 16-битного PDP-11 , одного из самых успешных миникомпьютеров в истории, было продано около 600 000 экземпляров. Система была разработана для обеспечения обратной совместимости с PDP-11 при расширении памяти до полной 32-разрядной реализации и добавлении виртуальной памяти, выгружаемой по запросу . Название VAX относится к его концепции « расширения виртуального адреса », которая позволяла программам использовать эту новую доступную память, оставаясь при этом совместимыми с неизмененным кодом PDP-11. Название «VAX-11», использовавшееся на ранних моделях, было выбрано, чтобы подчеркнуть эту возможность.

Более поздние модели в серии отказались от маркировки -11, поскольку совместимость PDP-11 больше не вызывала особого беспокойства. Линия расширилась до высокопроизводительных машин, таких как VAX 9000, а также до систем масштаба рабочих станций, таких как серия VAXstation . В конечном итоге семейство VAX состояло из десяти различных дизайнов и в общей сложности более 100 отдельных моделей. Все они были совместимы друг с другом и обычно работали с хорошо зарекомендовавшей себя операционной системой VAX / VMS .

VAX был воспринят как квинтэссенция CISC ISA с его очень большим количеством режимов адресации и машинных инструкций, удобных для программирования на ассемблере , высоко ортогональной архитектурой и инструкциями для сложных операций, таких как вставка или удаление очереди , форматирование чисел и полиномиальное представление. оценка.

Имя

VAX-11/780

Название «VAX» возникло как аббревиатура от Virtual Address eXtension , потому что VAX рассматривался как 32-битное расширение более старого 16-битного PDP-11 и потому, что он (после Prime Computer ) был одним из первых пользователей виртуальной памяти. для управления этим большим адресным пространством.

Ранние версии процессора VAX реализуют «режим совместимости», который имитирует многие инструкции PDP-11, давая ему 11 в VAX-11, чтобы подчеркнуть эту совместимость. Более поздние версии выгружали режим совместимости и некоторые из менее используемых инструкций CISC для эмуляции в программном обеспечении операционной системы.

Набор инструкций

Набор команд VAX был разработан, чтобы быть мощным и ортогональным . Когда он был представлен, многие программы были написаны на ассемблере, поэтому наличие «удобного для программиста» набора инструкций было важным. Со временем, когда все больше программ было написано на языке более высокого уровня, набор инструкций стал менее заметным, и единственные, кого это сильно беспокоило, были составители компиляторов.

Одним из необычных аспектов набора команд VAX является наличие масок регистров в начале каждой подпрограммы. Это произвольные битовые комбинации, которые определяют, когда управление передается подпрограмме, какие регистры должны быть сохранены. Поскольку маски регистров представляют собой форму данных, встроенных в исполняемый код, они могут затруднить линейный анализ машинного кода. Это может усложнить методы оптимизации, применяемые к машинному коду.

Операционные системы

Стилизованный VAX / VMS, используемый Digital

«Родной» операционной системой VAX является VAX / VMS компании Digital (переименованная в OpenVMS в 1991 или в начале 1992 года, когда она была перенесена на Alpha , модифицирована для соответствия стандартам POSIX и « отмечена » консорциумом X / Open как совместимая с XPG4 ) .

Архитектура VAX и операционная система OpenVMS были «спроектированы одновременно», чтобы максимально использовать друг друга, как и первоначальная реализация возможности VAXcluster . Другие операционные системы VAX включают различные выпуски BSD UNIX до 4.3BSD , Ultrix -32, VAXELN и Xinu . Совсем недавно NetBSD и OpenBSD поддерживали различные модели VAX, и была проделана некоторая работа по переносу Linux на архитектуру VAX. OpenBSD прекратил поддержку этой архитектуры в сентябре 2016 года.

История

VAX 8350, вид спереди со снятой крышкой

Первой проданной моделью VAX была VAX-11/780 , которая была представлена ​​25 октября 1977 года на ежегодном собрании акционеров Digital Equipment Corporation. Билл Стрекер, докторант Ч. Гордона Белла в Университете Карнеги-Меллона , отвечал за архитектуру. Впоследствии было создано множество различных моделей с разной ценой, уровнем производительности и мощности. VAX superminicomputers были очень популярны в начале 1980 - х годов.

Некоторое время VAX-11/780 использовался в качестве стандарта в тестах CPU . Первоначально он был описан как машина с одной MIPS , потому что ее производительность была эквивалентна IBM System / 360, которая работала на одной MIPS, а реализации System / 360 ранее были стандартами производительности де-факто. Фактическое количество инструкций, выполненных за 1 секунду, составило около 500 000, что привело к жалобам на маркетинговое преувеличение. Результатом стало определение «VAX MIPS», скорость VAX-11/780; компьютер, работающий на скорости 27 VAX MIPS, будет запускать ту же программу примерно в 27 раз быстрее, чем VAX-11/780.

В цифровом сообществе термин VUP ( VAX Unit of Performance ) был более распространенным термином, потому что MIPS не очень хорошо сравниваются между разными архитектурами. Связанный термин кластерные VUP неофициально использовался для описания совокупной производительности VAXcluster . (Производительность VAX-11/780 по-прежнему служит базовым показателем в BRL-CAD Benchmark, пакете анализа производительности, включенном в дистрибутив программного обеспечения твердотельного моделирования BRL-CAD.) VAX-11/780 включал в себя подчиненный стенд. один компьютер LSI-11, который выполнял функции загрузки микрокода, загрузки и диагностики для родительского компьютера. Это было исключено из последующих моделей VAX. Таким образом, предприимчивые пользователи VAX-11/780 могут запускать три разные операционные системы Digital Equipment Corporation: VMS на процессоре VAX (с жестких дисков) и либо RSX-11S, либо RT-11 на LSI-11 (с одиночной дисковод гибких дисков).

VAX претерпел множество различных реализаций. Оригинальный VAX 11/780 был реализован в TTL и заполнял шкаф размером четыре на пять футов одним процессором . Реализации ЦП, которые состояли из нескольких вентильных матриц ECL или микросхем массивов макроячеек, включали в себя супермини VAX 8600 и 8800 и, наконец, машины класса мэйнфреймов VAX 9000 . Реализации ЦП, которые состояли из нескольких специализированных микросхем MOSFET, включали машины классов 8100 и 8200. Младшие машины VAX 11-730 и 725 были построены с использованием компонентов битового среза AMD Am2901 для ALU.

MicroVAX I представляет собой важный переход в семье VAX. На момент разработки еще не было возможности реализовать полную архитектуру VAX в виде одного чипа СБИС (или даже нескольких чипов СБИС, как это было позже сделано с ЦП V-11 VAX 8200/8300). Вместо этого MicroVAX I была первой реализацией VAX, которая переместила некоторые из более сложных инструкций VAX (например, упакованные десятичные дроби и связанные с ними коды операций) в программное обеспечение эмуляции. Это разделение существенно уменьшило количество необходимого микрокода и было названо архитектурой «MicroVAX». В MicroVAX I ALU и регистры были реализованы в виде единой микросхемы вентильной матрицы , в то время как остальная часть управления машиной представляла собой обычную логику.

Полная реализация архитектуры MicroVAX на базе VLSI ( микропроцессора ) прибыла с процессором MicroVAX II 78032 (или DC333) и FPU 78132 (DC335). 78032 был первым микропроцессором со встроенным блоком управления памятью . MicroVAX II был основан на одной четырехъядерной процессорной плате, которая несла процессорные микросхемы и работала под управлением операционных систем MicroVMS или Ultrix -32 . Машина имела 1 МБ встроенной памяти и интерфейс шины Q22 с DMA- пересылкой. На смену MicroVAX II пришли многие другие модели MicroVAX с значительно улучшенной производительностью и памятью.

Далее последовали процессоры VLSI VAX в виде реализаций V-11, CVAX , CVAX SOC («система на кристалле», однокристальный CVAX), Rigel , Mariah и NVAX . Микропроцессоры VAX расширили архитектуру до недорогих рабочих станций, а позже также вытеснили высококачественные модели VAX. Такой широкий спектр платформ (от мэйнфрейма до рабочей станции), использующих одну архитектуру, был уникальным в компьютерной индустрии того времени. На кристалле микропроцессора CVAX была выгравирована всякая графика. Фраза CVAX ... когда вы достаточно заботитесь о том, чтобы украсть самое лучшее, была выгравирована на ломаном русском языке как игра на слогане Hallmark Cards , предназначенная как послание советским инженерам, которые, как известно, похищали компьютеры DEC для военных приложений и наоборот. инженерные их дизайн чипа.

В предложениях DEC архитектура VAX была в конечном итоге заменена технологией RISC . В 1989 году DEC представила ряд рабочих станций и серверов, на которых работали Ultrix , DECstation и DECsystem соответственно, на основе процессоров, реализующих архитектуру MIPS . В 1992 году DEC представила свою собственную архитектуру набора команд RISC, Alpha AXP (позже переименованную в Alpha), и свой собственный микропроцессор на базе Alpha, DECchip 21064 , высокопроизводительную 64-разрядную конструкцию, способную запускать OpenVMS.

В августе 2000 года Compaq объявила, что оставшиеся модели VAX будут сняты с производства к концу года, но старые системы по-прежнему широко используются.

Программные эмуляторы VAX Stromasys CHARON-VAX и SIMH остаются доступными, и VMS теперь управляется VMS Software Incorporated, хотя они предлагают только OpenVMS для систем Alpha и серверов HPE Integrity с поддержкой x86-64 и не предлагают это для VAX.

Архитектура процессора

MicroVAX 3600 (слева) с принтером (справа)
Регистры DEC VAX
3 1 . . . 2 3 . . . 1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (битовая позиция)
Общие регистры
R0 Регистр 0
R1 Регистр 1
R2 Регистр 2
R3 Регистр 3
R4 Регистр 4
R5 Регистр 5
R6 Регистр 6
R7 Регистр 7
R8 Регистр 8
R9 Регистр 9
R10 Регистр 10
R11 Регистр 11
R12 / AP Регистр 12 / указатель аргумента
R13 / FP Регистр 13 / Указатель кадра
R14 / SP Регистр 14 / указатель стека
R15 / ПК Регистр 15 / Программный счетчик
Флаги состояния
N Z V C Регистр кода состояния

Карта виртуальной памяти

Виртуальная память VAX разделена на четыре части. Каждый имеет размер один гигабайт (в контексте адресации - 2 30 байт):

Раздел Диапазон адресов
P0 0x00000000 - 0x3fffffff
P1 0x40000000 - 0x7fffffff
S0 0x80000000 - 0xbfffffff
S1 0xc0000000 - 0xffffffff

Для VMS P0 использовался для пространства процессов пользователя, P1 для стека процессов, S0 для операционной системы и S1 был зарезервирован.

Режимы привилегий

VAX имеет четыре аппаратных режима привилегий:

Нет. Режим Использование VMS Примечания
0 Ядро Ядро ОС Высший уровень привилегий
1 Должностное лицо Файловая система
2 Руководитель Оболочка (DCL)
3 Пользователь Нормальные программы Самый низкий уровень привилегий

Регистр статуса процессора

Регистр состояния процесса имеет 32 бита:

СМ TP МБЗ FD ЯВЛЯЕТСЯ cmod pmod МБЗ IPL МБЗ DV FU IV Т N Z V C
31 год 30 29 27 26 25 23 21 год 20 15 7 6 5 4 3 2 1 0
Биты Имея в виду
31 год Режим совместимости PDP-11
30 ожидание трассировки
29:28 MBZ (должен быть нулевым)
27 первая часть сделана (прерванная инструкция)
26 стек прерываний
25:24 текущий привилегированный режим
23:22 предыдущий привилегированный режим
21 год MBZ (должен быть нулевым)
20:16 IPL (уровень приоритета прерывания)
15: 8 MBZ (должен быть нулевым)
7 включение ловушки десятичного переполнения
6 включение ловушки потери значимости с плавающей запятой
5 включить ловушку целочисленного переполнения
4 след
3 отрицательный
2 нуль
1 переполнение
0 нести
SPEC-1 VAX, VAX 11/780, используемый для тестирования , показывает внутреннее устройство

Системы на базе VAX

Первой системой на базе VAX была VAX-11/780 , член семейства VAX-11 . VAX 8600 высшего класса заменил VAX-11/780 в октябре 1984 года, а в середине 1980-х к нему присоединились миникомпьютеры MicroVAX начального уровня и рабочие станции VAXstation . MicroVAX был заменен VAX 4000 , VAX 8000 был заменен VAX 6000 в конце 1980-х, и был представлен VAX 9000 класса мэйнфреймов . В начале 1990 - х был представлен отказоустойчивый VAXft , а также Alpha- совместимый VAX 7000/10000 . Вариант различных систем на базе VAX продавался как VAXserver .

SIMACS (одновременные машинные ACceS)

System Industries разработала возможность иметь более одного ЦП DEC, но не иметь одновременно доступ для записи на общий диск. Они реализовали усовершенствование, называемое SIMACS (одновременные машинные ACceS), которое позволило их специальному контроллеру диска устанавливать флаг семафора для доступа к диску, позволяя выполнять многократную ЗАПИСЬ в одни и те же файлы; диск используется несколькими системами DEC. SIMACS также существовала всистемахPDP-11 RSTS .

Отмененные системы

Отмененные системы включают " BVAX ", VAX высшего класса на базе ECL , и две другие модели VAX на базе ECL: " Argonaut " и " Raven ". Raven был отменен в 1990 году. VAX, известный как " Gemini ", также был отменен, что было запасным вариантом на случай, если Scorpio, основанный на LSI, потерпит неудачу. Он так и не был отправлен.

Клоны

Было произведено несколько клонов VAX, как разрешенных, так и неавторизованных. Примеры включают:

  • Компания Systime Computers Ltd из Соединенного Королевства произвела клоны ранних моделей VAX, таких как Systime 8750 (эквивалент VAX 11/750).
  • Компания Norden Systems произвела серию усиленных устройств MIL VAX, соответствующих военным требованиям.
  • Венгерский Центральный научно - исследовательский институт физики (KFKI) выпустил серию клонов ранних моделей VAX, ТКА-11/540, 560 и 580.
  • SM 52/12 из Чехословакии , разработанный в VUVT Жилина (ныне Словакия ) и производится с 1986 по ЗВТ Банска Быстрица (ныне Словакия ).
  • Восточногерманский VEB Robotron K 1840 (SM 1710) представляет собой клон VAX-11/780 и Robotron K 1820 (SM 1720) является копией MicroVAX II.
  • СМ-1700 является Советским клоном VAX-11/730, СМ-1702 был клоном MicroVAX II и СМ-1705 был клоном VAX-11/785. Эти системы запускали различные клонированные операционные системы - DEMOS (на основе BSD Unix), MOS VP (на основе VAX / VMS) или MOS VP RV (на основе VAXELN).
  • NCI-2780 Super-mini, также продаваемый как Taiji-2780, является клоном VAX-11/780, разработанного Северо-Китайским институтом вычислительных технологий в Пекине.

дальнейшее чтение

  • Кой, Питер (6 января 2021 г.). «Кто помнит мини-компьютер VAX, икону 80-х?» . Bloomberg News . Проверено 9 января 2021 года .

использованная литература

внешние ссылки