stringtranslate.com

ВАКС

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

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

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

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

Имя

ВАКС-11/780

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

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

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

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

Одним из необычных аспектов набора инструкций VAX является наличие масок регистров [8] в начале каждой подпрограммы. Это произвольные битовые шаблоны, которые указывают, когда управление передается подпрограмме, какие регистры должны быть сохранены. В большинстве архитектур компилятор должен создать инструкции для сохранения необходимых данных, обычно используя стек вызовов для временного хранения. В VAX с 16 регистрами это может потребовать 16 инструкций для сохранения данных и еще 16 для их восстановления. Используя маску, одно 16-битное значение выполняет те же операции внутри оборудования, экономя время и память. [5]

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

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

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

Собственная операционная система VAX — это VAX/VMS компании Digital (переименованная в OpenVMS в 1991 или начале 1992 года, когда она была портирована на Alpha , изменена для соответствия стандартам POSIX и обозначена как совместимая с XPG4 консорциумом X/Open ). [10] Архитектура VAX и операционная система VMS были « разработаны одновременно », чтобы максимально использовать преимущества друг друга, как и первоначальная реализация функции VAXcluster .

В 1980-х годах в Digital был разработан гипервизор для архитектуры VAX под названием VMM (Virtual Machine Monitor), также известный как VAX Security Kernel , с целью разрешить запуск нескольких изолированных экземпляров VMS и ULTRIX на одном и том же оборудовании. [11] VMM был предназначен для достижения соответствия TCSEC A1. К концу 1980-х годов он работал на оборудовании серии VAX 8000 , но был заброшен до выпуска клиентам.

Другие операционные системы VAX включали различные выпуски Berkeley Software Distribution (BSD) UNIX вплоть до 4.3BSD , Ultrix -32, VAXELN и Xinu . Совсем недавно NetBSD [12] и OpenBSD [13] поддерживали различные модели VAX, и была проделана некоторая работа по портированию Linux на архитектуру VAX. [14] OpenBSD прекратила поддержку архитектуры в сентябре 2016 года. [15]

История

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

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

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

В цифровом сообществе термин VUP ( VAX Unit of Performance ) был более распространенным термином, поскольку MIPS плохо сравниваются между различными архитектурами. Связанный термин кластер VUPs неформально использовался для описания совокупной производительности 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 и занимал шкаф размером четыре на пять футов [18] с одним ЦП . В течение 1980-х годов высокопроизводительная часть семейства постоянно совершенствовалась с использованием все более быстрых дискретных компонентов, и эта эволюция завершилась выпуском VAX 9000 в октябре 1989 года. Эта конструкция оказалась слишком сложной и дорогой и в конечном итоге была заброшена вскоре после выпуска. Реализации ЦП, которые состояли из нескольких вентильных матриц с эмиттерно-связанной логикой (ECL) или микросхем макроячеек, включали супермини VAX 8600 и 8800 и, наконец, машины класса мэйнфреймов VAX 9000. Реализации ЦП, которые состояли из нескольких пользовательских микросхем MOSFET , включали машины классов 8100 и 8200. Низкопроизводительные машины VAX 11-730 и 725 были построены с использованием компонентов бит-слайса AMD Am2901 для АЛУ.

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

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

Далее последовали процессоры VLSI VAX в виде реализаций V-11, CVAX , CVAX SOC («System On Chip», однокристальная CVAX), Rigel , Mariah и NVAX . Микропроцессоры VAX расширили архитектуру до недорогих рабочих станций и позже также вытеснили высокопроизводительные модели VAX. Этот широкий спектр платформ (от мэйнфрейма до рабочей станции), использующих одну архитектуру, был уникальным в компьютерной индустрии того времени. Разнообразная графика была выгравирована на кристалле микропроцессора CVAX. Фраза CVAX... когда вы достаточно заботитесь, чтобы украсть самое лучшее, была выгравирована на ломаном русском языке как игра слов на слогане Hallmark Cards , предназначенном как сообщение советским инженерам, которые, как было известно, как воровали компьютеры DEC для военных целей, так и занимались обратным проектированием их чипов. [20] [21] К концу 1980-х годов микропроцессоры VAX выросли в мощности, чтобы конкурировать с дискретными конструкциями. Это привело к отказу от серий 8000 и 9000 и их замене моделями VAX 6000 с двигателем Rigel, а позднее — системами VAX 7000 с двигателем NVAX .

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

В августе 2000 года Compaq объявила, что оставшиеся модели VAX будут сняты с производства к концу года, [22] но старые системы продолжают широко использоваться. [23] Программные эмуляторы VAX Stromasys CHARON-VAX и SIMH остаются доступными. VMS теперь разрабатывается VMS Software Incorporated, хотя только для платформ Alpha , HPE Integrity и x86-64 .

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

MicroVAX 3600 (слева) с принтером (справа)

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

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

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

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

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

Длинное слово статуса процессора

Длинное слово статуса процесса содержит 32 бита:

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

SPEC-1 VAX, VAX 11/780, используемый для сравнительного анализа , демонстрирует внутренние компоненты

Первой системой на базе 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)

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

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

Отмененные системы включают BVAX , высокопроизводительную эмиттерно-связанную логику (ECL) на базе VAX и две другие модели VAX на базе ECL: Argonaut и Raven . [26] Raven была отменена в 1990 году. [27] Также была отменена VAX под названием Gemini , которая была запасным вариантом на случай, если Scorpio на базе LSI выйдет из строя. Она так и не была отправлена.

Клоны

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

Ссылки

  1. ^ "VAX MACRO and Instruction Set Reference Manual". Документация OpenVMS . Апрель 2001 г. 8.1 Базовая архитектура. Архивировано из оригинала 6 сентября 2001 г.
  2. ^ DEC STD 032 – Стандарт архитектуры VAX (PDF) . Digital Equipment Corp. 5 января 1990 г. стр. 12-5 . Получено 1 августа 2022 г. .
  3. ^ Бистричану, Вирджил. «Архитектура компьютера – Заметки для занятий» (PDF) . Иллинойсский технологический институт . Получено 15 апреля 2022 г. .
  4. ^ Пэйн, Мэри; Бхандаркар, Дилип (1980). «VAX с плавающей точкой: прочная основа для численных вычислений». ACM SIGARCH Computer Architecture News . 8 (4). ACM: 22–33. doi : 10.1145/641845.641849 . ISSN  0163-5964. S2CID  15021135.
  5. ^ ab Леви, Генри; Экхаус, Ричард (28 июня 2014 г.). Программирование и архитектура компьютеров: The Vax. Digital Press. ISBN 9781483299372.
  6. ^ "Другой подход к архитектуре набора инструкций — VAX" (PDF) . Архивировано из оригинала (PDF) 10 июня 2017 г. . Получено 3 октября 2018 г. . ... архитектур набора инструкций, мы выбрали VAX как удобный для программиста набор инструкций, актив
  7. ^ "VAX". Особенно известен своим большим, удобным для программистов-ассемблеров набором инструкций --- актив, который
  8. ^ "VAX MACRO and Instruction Set Reference Manual". Документация OpenVMS . Апрель 2001 г. 9.2.5 Инструкции по вызову процедур. Архивировано из оригинала 30 марта 2002 г.
  9. ^ Goss, Clinton F. (август 2013 г.) [Впервые опубликовано в июне 1986 г.]. Оптимизация машинного кода: улучшение исполняемого объектного кода (PDF) (PhD). Том. Технический отчет факультета компьютерных наук № 246. Институт Куранта, Нью-Йоркский университет. arXiv : 1308.4815 . Bibcode :2013arXiv1308.4815G . Получено 22 августа 2013 г.
    • Клинтон Ф. Госс (2013) [1986]. Оптимизация машинного кода – улучшение исполняемого объектного кода (диссертация доктора философии). Институт Куранта, Нью-Йоркский университет.
  10. ^ ab Rainville, Jim; Howard, Karen, eds. (1997). "VAX/VMS at 20". Digital Equipment Corporation. Архивировано из оригинала 20 июля 2018 г. Получено 20 июля 2018 г.
  11. ^ Пол А. Каргер; Мэри Эллен Зурко; Дуглас В. Бенин; Эндрю Х. Мейсон; Клиффорд Э. Кан (7–9 мая 1990 г.). Ядро безопасности VMM для архитектуры VAX (PDF) . Труды. Симпозиум компьютерного общества IEEE 1990 г. по исследованиям в области безопасности и конфиденциальности. IEEE. doi :10.1109/RISP.1990.63834 . Получено 31 января 2021 г.
  12. ^ "NetBSD/vax".
  13. ^ "OpenBSD/vax".
  14. ^ «Перенос Linux на VAX».
  15. ^ "OpenBSD 6.0". 2016 . Получено 20 июня 2017 .
  16. ^ «VAX 11/780, первая система VAX (октябрь 1977 г.)».
  17. ^ Слейтер, Роберт (1987). Портреты из кремния. МТИ Пресс. п. 213. ИСБН 978-0-262-69131-4.
  18. ^ "VAX 11/780 Computer: CPU". Computer History Museum . Получено 24 октября 2012 г.
  19. ^ "MicroVAX II (1985)". История компьютеров и моделирование .
  20. ^ "Укради лучшее". micro.magnet.fsu.edu . Получено 30 января 2008 г. .Русская фраза звучала так: СВАКС... Когда вы забатите довольно воровать настоящее лучшее.
  21. ^ "CVAX (1987)". История компьютеров и моделирование . Получено 30 января 2008 г.
  22. ^ "VAX Systems: Письмо Джесси Липкона". Архивировано из оригинала 15 августа 2000 г.
  23. ^ «Если не сломалось, не чини: древние компьютеры, используемые сегодня». PCWorld . Получено 11 октября 2021 г.
  24. ^ Ванд, Р.; Кестевен, М.; Рейнер, П. (24 февраля 1984 г.). «Вычислительные требования для разработки программного обеспечения AT» (PDF) .
  25. ^ Джоши, Прем; Делакруа, Жак (сентябрь 1984 г.). «Новая гибкость для нескольких VAX/VMS». ПЕЧАТНАЯ КОПИЯ . стр. 64–68.
  26. Марк Смотерман (19 июля 2008 г.). «Кто такие компьютерные архитекторы?» . Получено 30 сентября 2008 г.
  27. ^ Supnik, Bob (2007). "Raven". Computer History and Simulation . Получено 1 марта 2019 г.
  28. ^ "RAL Informatics Report 1984-85" . Получено 15 октября 2007 г. .
  29. ^ "История TPA" . Получено 15 октября 2007 г.
  30. ^ Dujnic, J.; Fristacky, N.; Molnar, L.; Plander, I.; Rovan, B. (1999). «Об истории развития компьютерной науки, вычислительной техники и компьютерных технологий в Словакии». IEEE Annals of the History of Computing . 21 (3): 38–48. doi :10.1109/85.778981.
  31. ^ Лаймутис Телкснис; Антанас Жилинскас (июль 1999 г.). «Компьютеры в Литве» (PDF) . IEEE Annals of the History of Computing . 21 (3): 31–37. doi :10.1109/85.778980. S2CID  16240778.
  32. ^ Прохоров Н.Л.; Горский В.Е. «Базовое программное обеспечение для 32-разрядных моделей ЭВМ СМ». Журнал «Программные системы ». 1988 (3) . Получено 15 сентября 2021 г.
  33. ^ Конгресс США , Управление по оценке технологий (июль 1987 г.). Передача технологий в Китай. Типография правительства США . стр. 96. ISBN 9781428922914. ОТА-USC-340.
  34. ^ Ся Наньинь; Чан Лайсин (1990). «Спутниковые системы запуска и TT&C Китая и их роль в международном сотрудничестве». В F. Sharokhi; JS Greenberg; T. Al-Saud (ред.). Коммерциализация космоса: средства запуска и программы . Американский институт аэронавтики и астронавтики . стр. 244. ISBN 0-930403-75-4.

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

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