HP 2100 — это серия 16-битных мини-компьютеров , которые выпускались компанией Hewlett-Packard (HP) с середины 1960-х до начала 1990-х годов. За 25 лет существования этой серии были проданы десятки тысяч машин, что сделало HP четвертым по величине поставщиком мини-компьютеров в 1970-х годах.
Разработка началась в Data Systems Inc (DSI) и изначально была известна как DSI-1000. HP приобрела компанию в 1964 году и объединила ее со своим подразделением Dymec. Первоначальная модель 2116A, построенная с использованием интегральных схем и памяти на магнитных сердечниках , была выпущена в 1966 году. В течение следующих четырех лет были выпущены модели от A до C с различными типами памяти и расширения, а также более дешевые модели 2115 и 2114. Все эти модели были заменены серией HP 2100 в 1971 году [1] , а затем снова как серия 21MX в 1974 году, когда память на магнитных сердечниках была заменена полупроводниковой памятью. [2]
Все эти модели также были упакованы как серия HP 2000 , объединяющая машину серии 2100 с дополнительными компонентами для запуска языка программирования BASIC в многопользовательском режиме разделения времени . HP Time-Shared BASIC был популярен в 1970-х годах, и многие ранние программы BASIC были написаны на этой платформе или для нее, в частности, основополагающая Star Trek , которая была популярна в раннюю эру домашних компьютеров . Компания People's Computer Company опубликовала свои программы в формате HP 2000.
Появление HP 3000 в 1974 году обеспечило высокую конкуренцию серии 2100; вся линейка была переименована в HP 1000 в 1977 году и позиционировалась как компьютеры реального времени . Значительно переработанная версия была представлена в 1979 году как 1000 L-Series , использующая крупномасштабные интегральные микросхемы CMOS и представляющая модель корпуса Tower для установки на столешницу . Это была первая версия, которая нарушила обратную совместимость с предыдущими картами расширения серии 2100. Последним обновлением стала серия A с новыми процессорами, способными обеспечивать производительность более 1 MIPS , [3] с финальным A990 , выпущенным в 1990 году. [4]
HP основала Dynac в 1956 году, чтобы выступать в качестве центра разработки проектов, которые основная компания обычно не брала бы на себя. Их первоначальный логотип был просто перевернутым логотипом HP, образуя что-то похожее на «dy», что и вдохновило на название. Узнав, что Westinghouse владеет торговой маркой на это имя, в 1958 году они изменили его на Dymec. Компания была преобразована в компанию в 1959 году, чтобы стать подразделением Dymec, а в ноябре 1967 года была переименована в Palo Alto Division. [5]
Dymec изначально производила множество продуктов для семейства HP, но со временем стала в первую очередь интегратором, создававшим испытательное оборудование и аналогичные системы, которые использовались HP. В 1964 году Кей Маглби и Пол Стофт начали экспериментировать с использованием компьютеров PDP-5 и PDP-8 в качестве контроллеров для своих сложных испытательных систем, но они чувствовали, что машины потребуют изменений, чтобы по-настоящему соответствовать их потребностям. В то время Digital Equipment Corporation (DEC) все еще была небольшой компанией и целью поглощения. Дэвид Паккард посчитал Кена Олсена слишком сложным в общении, и такие планы ни к чему не привели. [5]
В поисках другого проекта, который они могли бы купить, Packard обратились в компанию Data Systems, Inc. (DSI) из Детройта, состоящую из пяти человек. DSI принадлежала Union Carbide , и когда Packard спросил, как так получилось, что Union Carbide стала владельцем компьютерной компании, менеджер HP Labs Барни Оливер ответил: «Мы не требовали ответа на этот вопрос». Билл Хьюлетт изначально отказывался рассматривать разработку «мини-компьютера», но когда Packard переформулировал это как «контроллер инструментов», сделка была одобрена. [5]
DSI была приобретена в 1964 году и изначально была основана в Dymec четырьмя из пяти первоначальных сотрудников DSI и рядом других сотрудников из инструментальных подразделений HP. [5] [6] Позднее компьютерная группа переехала в собственные офисы в Купертино, Калифорния , в здании, купленном у Varian Associates , и стала подразделением Cupertino. [5]
Под руководством Маглби новое подразделение завершило разработку под названием 2116A, которое было продемонстрировано 7–10 ноября 1966 года на Объединенной компьютерной конференции в Сан-Франциско. [7] [8] Это был один из первых 16-битных мини-компьютеров, появившихся на рынке, но в то время он был более известен как «необычный новый инструментальный компьютер» с высокорасширяемой конструкцией и поддержкой реального времени . Система имела большой корпус, вмещавший до 16 карт расширения, или могла быть дополнительно расширена до 48 карт с помощью внешнего каркаса расширения.
Система запускалась с 20 различными картами инструментов, включая «счетчики, ядерные весы, электронные термометры , цифровые вольтметры , преобразователи переменного тока в ом, усилители данных и входные сканеры». Дополнительный набор добавлял устройства ввода/вывода, такие как ленточные накопители , принтеры, перфокарты и бумажную ленту , а также другие периферийные устройства. [9] Обслуживание в реальном времени обеспечивалось путем назначения каждому слоту карты фиксированного вектора прерывания , который вызывал соответствующий драйвер устройства . [5]
Когда машина вышла на рынок, быстро стало ясно, что она продается гораздо быстрее на рынке обработки бизнес-данных , чем на первоначально целевом рынке приборов. Это привело к появлению 2115A в 1967 году, в котором была удалена большая часть возможностей расширения, чтобы сделать предложение по более низкой цене для коммерческих пользователей. Еще более упрощенная версия была отправлена как 2114A в 1968 году, [5] в которой было всего восемь слотов, что оставляло место для блока питания, встраиваемого в основное шасси. [10] 2115 и 2114 также не имели обширного управления DMA 2116, удалили некоторые математические операции и работали на немного более низких скоростях.
Это оригинальные модели, использующие основную память и аппаратно реализованный ЦП:
В ноябре 1968 года [13] компания выпустила 2000A Timeshare System, [13] позже известную как HP 2000/Access. Она была основана на 2116B (2116A с расширенной 8k основной памятью) под управлением HP Time-Shared BASIC и использовала отдельный 2114 в качестве терминального сервера . TS BASIC позволял создавать несколько учетных записей пользователей [14] с одновременным входом до 16 пользователей.
Более поздние модели 2000, от B до F, использовали более новые версии базового ЦП по мере их появления. Некоторые модели использовали младшие версии того же ЦП, что и терминальный сервер; например, 2000F использовал 2100S в качестве основного ЦП и контроллера первичного хранилища, в то время как 2100A выступал в качестве терминального сервера. [15] Модели B, C и F были двухпроцессорными. В последней версии использовались ЦП 2000F, 2100S и 2100A, причем 2100A подключался к 32 последовательным терминалам через последовательные мультиплексорные интерфейсы. [15]
Несмотря на свою относительно высокую стоимость — 2000F стоил 105 000 долларов в 1974 году [15] или около 649 000 долларов в 2023 году — это был первый мини-компьютер, предлагавший BASIC с разделением времени [16] , что сделало его очень популярным в начале-середине 1970-х годов.
В течение 1970-х годов модельный ряд постоянно совершенствовался за счет новых моделей, остававшихся совместимыми по программному обеспечению и расширению с оригинальной моделью 2116.
В начале 1970 года Фреду Алларду, ранее работавшему в Ampex 's Memory Core Division, было поручено разработать новую систему памяти на магнитных сердечниках для систем, а не продолжать закупать их у Ampex. Используя новые 18- миллиметровые сердечники вместо 22-миллиметровых и одну линию считывания/запрета , они поместили 8-киловаттную память на одну карту расширения. Это использовалось, начиная с моделей 2116C. [18]
В 1971 году обновленный 2100A заменил всю существующую линейку 211x. Общая система была похожа на более ранние модели и продолжала основываться на сердечниковой памяти. Физически она больше всего напоминала 2114, так как блок питания был встроенным и имел ограниченное внутреннее расширение. Однако ЦП был перестроен с микрокодом , который мог программироваться пользователем, добавлено аппаратное умножение и деление, и добавлена простая система защиты памяти , которая вызывала высокоприоритетное прерывание при срабатывании. Двухканальный контроллер DMA обеспечивал более высокую пропускную способность. Также был доступен дополнительный блок с плавающей точкой . Кнопки на передней панели подсвечивались небольшими лампами накаливания , которые перегорали при использовании. Использование импульсного блока питания [a] позволило сделать корпус значительно меньше, чем у более ранних моделей.
К 1972 году HP поставила 4500 mini, став одной из крупнейших компаний на рынке. В том же году они объединили Mountain View Division, производившую магнитные ленточные накопители, с Cupertino Division, чтобы создать Data Systems Division (DSD). К этому времени проект HP 3000 оказался в серьезной беде, и в феврале 1973 года Packard отправила Пола Эли возглавить подразделение. Продажи серии 2100 оставались высокими; 6000-й был отправлен в августе 1973 года, 8000-й — в феврале 1974 года, а 10000-й — в феврале 1975 года. [20] Они были объявлены устаревшими в 1978 году. [1]
В 1972 году подразделение решило перейти на 4-килобитные чипы памяти SRAM вместо ядра. Они были примерно в два раза быстрее современных недорогих ядер и намного меньше, что позволяло создавать машины на 32 тысячи слов в форм-факторе, подобном 2114. В то время, когда они приняли это решение, 4-килобитные SRAM на самом деле не были доступны, поэтому изначально использовались экспериментальные машины, использующие ядро из серии 2100, замененные 1-килобитной SRAM. Сначала казалось, что детали 4k не будут доступны к тому времени, когда остальная часть машины будет обновлена, поэтому компания опросила различных производителей и обнаружила, что некоторые из них активно разрабатывали детали 4k. В частности, Intel , Mostek , Motorola и Texas Instruments предполагали, что такие детали будут доступны в большом количестве к концу 1974 года. [21]
Использование такой памяти в шасси расширения, как в более ранних системах, означало, что было место для гораздо большего объема памяти, в диапазоне мегаслов. Однако использование ЦП 15-битных адресов ограничивало размер до 32 тыс. слов. [22] Чтобы удовлетворить потребность в более крупных системах, HP разработала «Систему динамического отображения» или DMS. DMS расширила формат адреса с 15 до 20 бит, что позволило использовать максимум 1 048 576 слов, что было значительным расширением исходной системы. [23]
Эти изменения привели к появлению в 1974 году первой из машин серии 21MX. Это означало процессор «21-M» и память «21-X», поскольку системы управления памятью были отделены от ЦП, чтобы обеспечить гибкость в случае, если выбранные 4k-детали были изменены во время производства. Это оказалось полезным на практике, поскольку машины поставлялись с памятью, использующей детали Motorola или Texas Instruments, и их можно было смешивать в одной машине, в то время как система с более высокой плотностью, основанная на 16-контактных деталях Mostek, могла поддерживаться заменой обычного контроллера 21-X/2 на 21-X/1. [21]
Вся серия 2100 была заменена в 1974 году первой из этих машин серии 21MX. Используя детали с самой высокой плотностью, новые машины могли поддерживать до 1,2 МБ в самых больших моделях. Когда в 1976 году ЦП был дополнительно модернизирован, новые модели стали «21MX E-Series», а оригинальные модели задним числом стали «21MX M-Series». Главное различие между M и E заключалось в том, что E использовала умную синхронизацию для повышения скорости примерно в два раза по сравнению с M. [24] В рамках серии 21MX было выпущено более широкое разнообразие стилей машин, включая меньшие системы с четырьмя слотами и более крупные с 9 или 14 слотами. [25]
Серия 21MX имела блок управления памятью и полупроводниковую память , расширяемую до 1 048 576 слов (одно мегаслово ). В качестве битовых дисплеев на кнопках передней панели использовались небольшие красные светодиоды (LED) вместо ламп накаливания, склонных к перегоранию, которые использовались в более ранних версиях.
21MX работал под управлением операционной системы HP RTE (реальное время). Они начинались как 19-дюймовые системы для монтажа в стойку размером с холодильник с индикаторами и переключателями на передних панелях. Последние модели использовали 1-чиповый процессор и помещались под столом с помощью консольного терминала, а не передней панели.
Новые модели серий L и A имели интерфейс HP-IB , но, как и все системы HP того времени, мигающие светодиодные индикаторы были удалены с передней панели. Несмотря на требования клиентов о возможности работы в реальном времени и усилия HP R&D по использованию устанавливаемой карты реального времени, ОС RTE-A не была так хороша в операциях в реальном времени, как RTE на 21MX. Это была важная причина, по которой этот компьютер было трудно убить. Многие компании используют операции в реальном времени для выполнения измерений и управления процессами — включения или выключения насоса, нагревателя, клапана, ускорения или замедления двигателя и т. д.
В конце 1977 года вся линейка была переименована в «HP 1000», став «HP 1000 M-Series» и «HP 1000 E-Series». В следующем году была представлена «HP 1000 F-Series», которая представляла собой E-Series с добавленным блоком для вычислений с плавающей точкой. [26] К 1978 году успех линейки позволил HP стать четвертым по величине производителем в области мини-компьютеров, уступая только DEC, IBM и Data General . [5]
В 1980 году была представлена «серия HP 1000 L». Она использовала новый процессор на основе крупномасштабного интегрированного процесса HP «кремний на сапфире» . Кроме того, карты расширения также были оснащены собственными процессорами, которые позволяли им получать доступ к основной памяти и выполнять ввод/вывод, не нагружая ЦП. Хотя это впервые сделало карты расширения несовместимыми с более ранними моделями, это также значительно повысило общую производительность. В этих моделях отсутствовал блок управления памятью. [27]
L-Series, в свою очередь, была заменена в 1982 году на "HP 1000 A-Series", которая включала новый дизайн ЦП "Lightning", достигавший 1 MIPS , и еще более быстрый ЦП "Magic" с 3 MIPS. Было выпущено большое разнообразие различных моделей, включая настольные башни и различные стоечные системы разных размеров. [27] Модель младшего класса A400 была представлена в 1986 году, [28] а последняя модель старшего класса A990 была выпущена в 1990 году. [29] Каждая из них могла адресуть до 32 МБ ОЗУ.
Год | Машина | Размер микрослова | Размер микрокода | Типы микрослов | АЛУ | Генератор переноса | Микросеквенсор | |
---|---|---|---|---|---|---|---|---|
1973 | 2100С | 24 | 1К | 3 | 4× 74181 | 74182 | Дискретный | |
1974 | 1000 M-серия | 24 | 4К | 4 | 4×74181 | 74182 | Дискретный | |
1976 | 1000 E-серия | 24 | 16К | 4 | 4×74С181 | 74С182 | Дискретный | |
1978 | 1000 F-серия | 24 | 16К | 4 | 4×74С181 | 74С182 | Дискретный | |
19?? | F-серия FPP | ? | ? | ? | 4×74С181 | 74С182 | Дискретный | |
1980 | 1000 L-серия | ? | ? | ? | Пользовательский CMOS/SOS | |||
1981 | 1000 А600 | 56 | 4К | 5 | 4× 2901Б | 74С182 | 2910+2904 | |
1982 | 1000 А700 | 32 | 16К | 11 | 4×2903 | 74С182 | 2911 | |
1984 | 1000 А900 | 48 | 32К | 4 | 4×74С381 | 74С182 | Дискретный | |
1986 | 1000 А400 | 32 | 16К | 11 | Пользовательский CMOS/SOS | |||
1975 | 13037 Контроллер [31] | 24 | 4К | 7 | 4×74С181 | 74С182 | Дискретный | |
1980 | 13365 Контроллер | 24 | 3К | ? | 2×2901 | ? | ||
1977 | 3000 Серия I | 32 | 4К | 5 | 4×74181 | 74182 | Дискретный | |
1978 | 3000 Серия III | 32 | 64К | 5 | 4×74С181 | 74С182 | Дискретный | |
1978 | 3000 Серия 33 | 32 | 6К | ? | Пользовательский CMOS/SOS | |||
198? | 3000 Серия 48 | 48 | 12К | 2 | 4×74С181 | 74С182 | Дискретный | |
1982 | 3000 Серия 64 | 64 | 8К | ? | 4× 100181 | 100179 | Дискретный | |
1985 | 3000 Серия 37 | 64 | 10К | ? | Пользовательская матрица вентилей КМОП |
Серия HP 2000 была представлена в 1969 году, продавалась до июня 1978 года и поддерживалась до 1985 года. [32]
Версии многих основополагающих игр BASIC были написаны на этой платформе или портированы на нее. Среди них выделяется Star Trek Майка Мэйфилда 1971 года. [33] [34] [b] Его популярность сделала диалект BASIC языком общения , и многие листинги BASIC обычно предоставлялись в этом формате; компания People's Computer Company публиковала свои программы в формате HP 2000. [35] [36] Системы HP также использовались для обучения статистике, регрессионному анализу , [37] и экономике. [c]
Обозначения 2000 и 2100 были использованы повторно:
HP 2100 был разработан в эпоху, когда ОЗУ в виде памяти на магнитных сердечниках падала с долларов до пенни за бит, [40] в то время как реализация регистров процессора с использованием транзисторов или мелкомасштабной интеграции оставалась очень дорогой. Это благоприятствовало конструкциям с небольшим количеством регистров и большей частью хранения в ОЗУ, что, в свою очередь, повлияло на архитектуру набора инструкций (ISA) для использования конструкции память-память или память - аккумулятор . Эта базовая концепция была впервые широко представлена в основополагающем 12-битном PDP-8, который породил множество похожих конструкций, таких как 2100.
В 2100 адреса имеют длину 15 бит, что позволяет в общей сложности 32 тыс. 16-битных слов памяти (64 КБ в современных терминах). [41] Наименьшая адресуемая единица памяти — это 16-битное слово; в нем нет инструкций, которые извлекают один 8-битный байт. Адрес разбит на две части, 5 старших бит относятся к одной из 32 «страниц», в то время как 10 младших бит являются «смещением», указывающим на одно слово в пределах страницы из 1024 слов. С системой DMS в серии 21MX старшие 5 бит вместо этого используются для выбора одного из 32 регистров, каждый из которых содержит 12 бит. Затем младшие 10 бит регистра помещаются перед исходным 10-битным смещением, чтобы создать 20-битный адрес. [23] Два старших бита используются для реализации защиты памяти . [23]
Большая часть обработки выполняется в двух регистрах A и B, каждый из которых имеет ширину 16 бит. Регистры также доступны в ячейках памяти 0 и 1 соответственно. Это означает, что можно загрузить значение в аккумулятор, используя обычную операцию сохранения регистра, например, LDA 1
будет загружено значение регистра A в ячейку памяти 1, тем самым копируя значение A в B. [42]
В дополнение к регистрам A и B, ЦП также включает регистр M, который хранит текущий адрес памяти, и регистр T, который хранит значение по этому адресу. [43] Регистр P используется как счетчик программ и автоматически увеличивается с каждой инструкцией, но он также используется как базовый адрес для некоторых обращений к памяти (см. ниже), которые вычисляются и помещаются в M. Также есть два однобитных регистра, Overflow и Extend, [41] в современных терминах эти биты можно было бы считать регистром состояния . Кроме того, есть 16-битный регистр S/D (Switch/Display), который используется для ввода и вывода с передней панели. [44] [45]
Некоторые области памяти зарезервированы для специальных целей, например, ячейки 0 и 1, используемые аккумуляторами. Дополнительные слова в нижних 64 ячейках памяти используются для прямого доступа к памяти (DMA) и векторных прерываний (см. ниже). В более поздних моделях верхние 64 слова доступной памяти зарезервированы для загрузчика . [46]
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 | (позиция бита) |
Аккумуляторы | ||||||||||||||||
А | ||||||||||||||||
Б | ||||||||||||||||
Счетчик программ | ||||||||||||||||
П (страница) | П (адрес) | |||||||||||||||
Флаги | ||||||||||||||||
О | Х |
Первоначальный набор инструкций содержал 68 [5] или 70 инструкций. [48]
Все 68 инструкций в стандартном наборе инструкций имеют длину 16 бит. Большинство из них выполняются за один цикл памяти или 16 тактов, [49] хотя косвенная адресация и ISZ
может использовать до 36 циклов. [44] Условное ветвление выполняется с помощью инструкции условного пропуска через одну, эта инструкция обычно является инструкцией перехода . Стек для подпрограмм отсутствует ; вместо этого первая ячейка памяти подпрограммы зарезервирована, и адрес возврата записывается в эту ячейку инструкцией JSB
. [50] Это означает, что нет внутренней поддержки для реентерабельного кода; поддержка для этого должна быть добавлена через реализованный пользователем стек.
В ISA есть три основных стиля инструкций: ссылки на память, ссылки на регистры и ввод/вывод. Некоторые модели расширяли ISA дополнительным оборудованием, добавляя, например, инструкции с плавающей точкой или дополнительные инструкции по целочисленной математике и памяти, но они попадают в те же три основные категории. [42]
Инструкции памяти используют четыре бита для инструкции и еще два для специальных флагов, всего шесть бит 16-битного слова. Это оставляет место для 10-битного адреса в инструкции, хранящегося в младших значащих битах (LSB), от 0 до 9. Если установлен бит 15, это указывает на «косвенную» адресацию вместо «прямой». В прямом режиме адрес в инструкции является адресом операнда, в то время как в косвенном режиме адрес был указателем на другую ячейку памяти, содержащую адрес операнда. Можно также установить бит 15 в этой ячейке, что позволяет косвенности иметь любую требуемую глубину, заканчиваясь, когда одна из ячеек имеет 0 в бите 15. [41] [51]
В дополнение к режиму Direct/Indirect, бит 10 инструкции управляет флагом Z/C. При установке в 0 это означает, что верхние пять бит адреса были нулевыми, а нижние 10 были значением в инструкции. Это обеспечивает быстрый доступ к странице Z(ero), первым 1024 словам памяти. При установке в 1 адрес формируется путем объединения 10 бит в инструкции с верхними 5 битами регистра P, страницы C(current) памяти, что позволяет осуществлять доступ к памяти как к 32 страницам по 1024 слова. [52] Таким образом, в любой момент времени можно адресовать 2048 слов; 1024 из них на нулевой странице и еще 1024 на той же странице, что и инструкция, выполняющая ссылку. [51]
Регистровые инструкции не требуют адреса и, таким образом, имеют больше свободных битов для работы. Это используется для упаковки четырех или восьми инструкций в одно слово памяти, [53] которое при правильном использовании может значительно ускорить операции. Всего включено 39 регистровых операций, которые разбиты на инструкции сдвига и поворота и инструкции изменения и пропуска, обозначенные битом 10, [54], тогда как бит 11 указывает, применяется ли это к регистру A или B. [55]
Существует два общих класса инструкций регистра, группа сдвига и поворота и группа изменения и пропуска. Первая используется для базовой побитовой манипуляции значениями в регистре и может иметь до четырех инструкций на слово, хотя две инструкции в середине всегда являются a CLE,SLA/B
(очистить E, пропустить, если A/B равно нулю). Вторая группа имеет восемь инструкций, которые выполняют приращения в регистрах, а затем условный переход. Они обычно используются для реализации циклов. [54]
Инструкции ввода/вывода обычно взаимодействуют через аккумуляторы. Формат инструкции начинается с битов "1000" в старших битах, за которыми следует один бит, указывающий, какой регистр использовать (A=0, B=1), за которым следует "1", бит флага H/C, а затем три бита для инструкции и оставшиеся шесть бит для идентификатора устройства ввода/вывода [56] или канала, что позволяет использовать до 64 устройств. Некоторые номера устройств используются самой системой. [57]
Ввод-вывод инициируется очисткой бита Флага с помощью STF
и последующей установкой бита C с помощью STC
. Аппаратное обеспечение замечает этот шаблон и начинает свою работу. Когда операция завершена, устройство устанавливает бит Флага, а затем программа загружает полученные данные с карты с помощью инструкции LI*
или отправляет их на карту с помощью OT*
. [56]
Фактическая передача данных обычно выполняется с использованием системы прерываний. Ячейки памяти с 4 по 63 (десятичные) содержат адреса подпрограмм, к которым осуществляется переход при возникновении прерывания, обеспечивая 60 уровней прерываний. [58] Ячейки с 4 по 7 жестко привязаны к сбоям питания, ошибкам проверки четности и в более поздних моделях ошибкам защиты памяти. Ячейки с 8 и выше являются доступными пользователю векторами прерываний, сопоставленными с каналом ввода-вывода и расположенными в порядке приоритета. [59] Таким образом, если устройство ввода-вывода 13 создало прерывание, ЦП переходит к ячейке в ячейке памяти 13, но только если она не замаскирована прерыванием с более высоким приоритетом, с 1 по 12. [58]
Еще одной ключевой особенностью серии 2100 является отдельный контроллер прямого доступа к памяти, который использует захват цикла для доступа к памяти, когда ЦП ее не использует, например, во время выполнения внутренних вычислений. Используя эту функцию, можно завершить длительные процессы ввода-вывода, пока ЦП работает над другими проблемами. Система настраивается путем отправки инструкции контроллеру DMA с помощью команд ввода-вывода; контроллер DMA — это канал 6, и изначально ему отправляется инструкция, содержащая номер устройства ввода-вывода, которое хочет использовать DMA, будь то ввод (запись в память с устройства) или вывод (чтение из памяти на устройство), начальное местоположение в памяти для данных и количество слов. Этот код настройки часто устанавливается в один из векторов прерываний, автоматизируя процесс. [57] DMS имеет отдельные таблицы для ЦП и системы DMA, поэтому DMA может загружать данные в отдельные части расширенной памяти. [23]
HP предоставила трехпроходный ассемблер для машины, [60] используя формат с разделителями столбцов. Первая область слева от строки кода — это метка, которая должна начинаться в столбце 1, если она есть. Далее следует мнемоника инструкции, затем параметры. Оставшаяся часть строки может быть использована для комментария. Ассемблер позволяет записывать основные математические выражения напрямую, вместо использования мнемоники, а также включает ряд псевдоинструкций, таких как ORG
установка базового адреса программы. [56]
В дополнение к ассемблеру и связанному с ним компоновщику , машины изначально поставлялись с компилятором FORTRAN 66 , операционной системой и драйверами ввода-вывода. Со временем были добавлены дополнительные языки, включая BASIC, ALGOL , FORTRAN IV [61] и FORTRAN 77. [ 62]
HP перенесла реализации AGL на платформу, добавив команды к их BASIC для создания графики на их графических терминалах и плоттерах . Аналогичное расширение в их FORTRAN называлось GRAPHICS/1000.
2100-е обычно использовались с операционной системой «Real Time Executive» или сокращенно RTE. [63] Было выпущено несколько версий RTE для разных версий машины: RTE-II для 2114-2116, RTE-III для 2100-х, RTE-IV для серии 21MX и RTE-A для серии «A».
Оболочка операционной системы, даже в конце 1970-х годов, была очень примитивной, с одноуровневой файловой системой , File Manager или FMGR. Например, команда для запуска компилятора FORTRAN будет выглядеть следующим образом: [62]
ru, f77, &тест,'тест,%тест
то есть запустить программу f77, используя специальные символы для различения исходного файла, объектного и исполняемого файлов.
HP 1000 также был одним из немногих мини-компьютеров, которые ограничивали имена файлов всего пятью символами, а не шестью, как было принято в то время, что делало портирование и даже написание программ сложной задачей. Более поздний RTE-A для HP 1000 предоставлял обычную структуру каталогов с именами файлов 16.4 и делал команду ru необязательной.
TODS (Test Oriented Disk System) была разработана техником в центре ремонта плат HP для сокращения времени выполнения заказов в центре. Она использовалась для загрузки диагностических данных из центрального хранилища вместо загрузки отдельных бумажных лент. TODS также использовалась на моделях серий HP 2116–21MX-F для испытательных систем для таких ракет, как Phoenix (9206B), Harpoon (9500D-354), Tomahawk и многих других. Ранними испытательными комплектами были 9500A, которые затем превратились в 9500D, за которыми последовала ATS (Automated Test System); специальные испытательные системы HP, такие как испытательный комплект для пусковых компонентов Minuteman 9500D-A46 и испытательный комплект для пусковых компонентов Peacekeeper/Minuteman ATS-E35; микроволновый ANA/ASA (автоматический сетевой анализатор/автоматический анализатор спектра) HP 8580/8542, работающий на TODS; а испытательный комплект микроволнового транспондера TDRSS использовал TODS и представлял собой очень большую систему.
Существовала также MTOS (операционная система на магнитной ленте), похожая на TODS.
Настольные компьютеры HP 9810, 9820 и 9830 используют медленную, сериализованную версию TTL ЦП 2116, хотя в конечном итоге они не использовали никакую операционную систему или прикладное программное обеспечение, вместо этого полагаясь на удобные для пользователя интерпретаторы на основе ПЗУ , такие как BASIC , которые работают при включении питания, и интегрированные клавиатуры и дисплеи вместо дисков или стандартных терминалов . В 1975 году HP представила BPC (Binary Processing Chip), один из первых в мире 16-разрядных микропроцессоров , использующий процесс HP NMOS -II. [64] [65] BPC обычно был упакован в керамический гибридный модуль с чипами EMC и IOC, которые добавляли расширенные математические и I/O инструкции. Гибрид был разработан как сердце нового настольного компьютера 9825. [66] Более поздняя рабочая станция 9845 добавила чип MMU . Они были предшественниками персональных компьютеров и технических рабочих станций.
Главные различия между оригинальной архитектурой 2116 и микропроцессором BPC заключаются в полностью переработанной структуре ввода-вывода, удалении нескольких уровней косвенной адресации и предоставлении стекового регистра для вызова и возврата подпрограммы. Устранение множественной косвенности сделало дополнительный бит доступным в слове памяти, содержащем косвенный адрес, что позволило увеличить максимальную емкость памяти с 32К 16-битных слов до 64К. BPC также добавил вход, позволяющий «текущей странице» быть относительно местоположения текущей инструкции, а не выровненной по степени двойки страницы.
BPC использовался в широком спектре компьютеров HP, периферийных устройств и испытательного оборудования, пока его выпуск не был прекращен в конце 1980-х годов.
Польша производила клон HP 2114B с 1973 года. Польские клоны назывались MKJ-28 (прототип, 1973), SMC-3 (пилотное производство, 17 машин, 1975-1977) и PRS-4 (серийное производство, более 150 машин, 1978-1987).
Чехословакия производила собственные совместимые с HP 1000 клоны, обозначенные как ADT4000 (4300, 4500, 4700, 4900). Поставщики Aritma Prague (разработка), ZPA Čakovice и ZPA Trutnov поставили более 1000 единиц между 1973 и 1990 годами. Эти компьютеры служили на электростанциях, включая атомные, в других отраслях промышленности, в армии, в университетах и т. д. из-за их высокой надежности и функций реального времени. Операционными системами были DOS/ADT (несколько версий) и Unix. Самый старый гибридный ADT7000 (1974) состоял из цифровой части ADT4000 и аналоговой части ADT3000, но только цифровая часть была интересна покупателям. ADT4316 (1976) имел 16К слов памяти на ферритовых сердечниках, ADT4500 (1978) — до 4М слов полупроводниковой оперативной памяти. ADT 4900 был разработан как одноплатный компьютер , но его массовое производство не началось. Чехословацкая народная армия использовала мобильные миникомпьютеры MOMI 1 и MOMI 2 на базе ADT, встроенные в контейнер, перевозимый грузовиком Tatra 148.
2000A была первой системой HP 2000 с разделением времени на рынке около 1969 г.
HP 2000-2b19wm .. 15-дюймовый ноутбук менее чем за 300 долларов