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 относится к концепции расширения виртуального адреса , которая позволяла программам использовать эту новую доступную память, сохраняя при этом совместимость с немодифицированным кодом пользовательского режима 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 и отмечена консорциумом X/Open как совместимая с XPG4 ). [10] Архитектура VAX и операционная система VMS были « разработаны одновременно », чтобы максимально использовать преимущества друг друга, как и первоначальная реализация средства VAXcluster .

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

Другие операционные системы VAX включали различные выпуски UNIX Berkeley Software Distribution (BSD) до 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 использовался в качестве стандарта в тестах процессоров . Первоначально она описывалась как машина с одним MIPS , поскольку ее производительность была эквивалентна IBM System/360 , работавшей с частотой один MIPS, а реализации System/360 ранее были де-факто стандартами производительности. Реальное количество инструкций, выполняемых за 1 секунду, составило около 500 000, что привело к жалобам на маркетинговое преувеличение. Результатом стало определение «VAX MIPS», скорости VAX-11/780; компьютер с производительностью 27 VAX MIPS будет запускать ту же программу примерно в 27 раз быстрее, чем VAX-11/780.

В цифровом сообществе термин VUP ( единица производительности VAX ) был более распространенным термином, поскольку 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 и занимал шкаф размером четыре на пять футов [18] с одним процессором . На протяжении 1980-х годов высококлассные модели семейства постоянно совершенствовались с использованием все более быстрых дискретных компонентов, и эта эволюция завершилась выпуском VAX 9000 в октябре 1989 года. Эта конструкция оказалась слишком сложной и дорогой, и вскоре от нее отказались. введение. Реализации ЦП, которые состояли из множества логических матриц с эмиттерной связью (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 АЛУ и регистры были реализованы как единая микросхема вентильной матрицы , тогда как остальная часть управления машиной представляла собой традиционную логику.

Полная реализация архитектуры 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 («Система на кристалле», однокристальный 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 разделена на четыре раздела. Каждый имеет размер один гигабайт (в контексте адресации 2 30 байт):

В 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 , а также альфа -совместимый VAX 7000/10000 . Варианты различных систем на базе VAX продавались как VAXserver .

ОДНОВРЕМЕННЫЙ ДОСТУП К МАШИНАМ (SIMACS)

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

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

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

Клоны

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

Рекомендации

  1. ^ «Справочное руководство VAX MACRO и набора команд» . Документация 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 с плавающей запятой: прочная основа для численных вычислений». SIGARCH Новости компьютерной архитектуры . АКМ. 8 (4): 22–33. дои : 10.1145/641845.641849 . ISSN  0163-5964. S2CID  15021135.
  5. ^ аб Леви, Генри; Экхаус, Ричард (28 июня 2014 г.). Компьютерное программирование и архитектура: The Vax. Цифровая пресса. ISBN 9781483299372.
  6. ^ «Другой подход к архитектуре набора команд — VAX» (PDF) . Архивировано из оригинала (PDF) 10 июня 2017 года . Проверено 3 октября 2018 г. ... архитектуры набора команд мы выбрали VAX как удобный для программистов набор инструкций, что является преимуществом
  7. ^ "ВАКС". Особенно известен своим большим, удобным для ассемблера и программиста набором команд — преимуществом, которое
  8. ^ «Справочное руководство VAX MACRO и набора команд» . Документация OpenVMS . Апрель 2001 г. 9.2.5 Инструкции по вызову процедур. Архивировано из оригинала 30 марта 2002 года.
  9. ^ Госс, Клинтон Ф. (август 2013 г.) [Впервые опубликовано в июне 1986 г.]. Оптимизация машинного кода: улучшение исполняемого объектного кода (PDF) (доктор философии). Том. Технический отчет факультета компьютерных наук № 246. Институт Куранта, Нью-Йоркский университет. arXiv : 1308.4815 . Бибкод : 2013arXiv1308.4815G . Проверено 22 августа 2013 г.
    • Клинтон Ф. Госс (2013) [1986]. Оптимизация машинного кода – улучшение исполняемого объектного кода (кандидатская диссертация). Курантовский институт Нью-Йоркского университета.
  10. ^ аб Рейнвилл, Джим; Ховард, Карен, ред. (1997). «VAX/VMS в 20». Корпорация цифрового оборудования. Архивировано из оригинала 20 июля 2018 года . Проверено 20 июля 2018 г.
  11. ^ Пол А. Каргер; Мэри Эллен Зурко; Дуглас В. Бенин; Эндрю Х. Мейсон; Клиффорд Э. Кан (7–9 мая 1990 г.). Ядро безопасности VMM для архитектуры VAX (PDF) . Слушания. 1990 Симпозиум компьютерного общества IEEE по исследованиям в области безопасности и конфиденциальности. IEEE. дои :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: ЦП» . Музей истории компьютеров . Проверено 24 октября 2012 г.
  19. ^ "MicroVAX II (1985)" . Компьютерная история и моделирование .
  20. ^ «Укради лучшее». micro.magnet.fsu.edu . Проверено 30 января 2008 г.Русская фраза звучала так: СВАКС... Когда вы забатите довольно воровать настоящее лучшее.
  21. ^ "CVAX (1987)" . Компьютерная история и моделирование . Проверено 30 января 2008 г.
  22. ^ "VAX Systems: письмо Джесси Липкона" . Архивировано из оригинала 15 августа 2000 года.
  23. ^ «Если он не сломан, не чините его: древние компьютеры используются сегодня» . ПКМир . Проверено 11 октября 2021 г.
  24. ^ Ванд, Р.; Кестевен, М.; Рейнер, П. (24 февраля 1984 г.). «Требования к вычислительным ресурсам для разработки программного обеспечения AT» (PDF) .
  25. ^ Джоши, Прем; Делакруа, Жак (сентябрь 1984 г.). «Новая гибкость для нескольких VAX/VMS». ТВЕРДАЯ КОПИЯ . стр. 64–68.
  26. Марк Смотерман (19 июля 2008 г.). «Кто такие компьютерные архитекторы?» . Проверено 30 сентября 2008 г.
  27. ^ Супник, Боб (2007). «Ворон». Компьютерная история и моделирование . Проверено 1 марта 2019 г.
  28. ^ "Отчет RAL по информатике за 1984-85 годы" . Проверено 15 октября 2007 г.
  29. ^ "История TPA" . Проверено 15 октября 2007 г.
  30. ^ Дуйнич, Дж.; Фристаки, Н.; Мольнар, Л.; Пландер, И.; Рован, Б. (1999). «К истории информатики, вычислительной техники и развития компьютерных технологий в Словакии». IEEE Анналы истории вычислений . 21 (3): 38–48. дои : 10.1109/85.778981.
  31. ^ Лаймутис Телкснис; Антанас Жилинскас (июль 1999 г.). «Компьютеры в Литве» (PDF) . IEEE Анналы истории вычислений . 21 (3): 31–37. дои : 10.1109/85.778980. S2CID  16240778.
  32. ^ Прохоров Н.Л.; Горский В.Е. "Базовое программное обеспечение для 32-битных моделей компьютеров СМ". Журнал программных систем (на русском языке). 1988 (3) . Проверено 15 сентября 2021 г.
  33. ^ Конгресс США , Управление по оценке технологий (июль 1987 г.). Трансфер технологий в Китай. Типография правительства США . п. 96. ИСБН 9781428922914. ОТА-USC-340.
  34. ^ Ся Наньинь; Чан Лайсин (1990). «Системы запуска спутников и TT&C Китая и их роль в международном сотрудничестве». У Ф. Шарохи; Дж. С. Гринберг; Т. Аль-Сауд (ред.). Коммерциализация космоса: ракеты-носители и программы . Американский институт аэронавтики и астронавтики . п. 244. ИСБН 0-930403-75-4.

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

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