Pascal MicroEngine — это серия микрокомпьютерных продуктов, выпускавшихся компанией Western Digital с 1979 по середину 1980-х годов, специально разработанных для эффективной работы p-System UCSD . [1] По сравнению с другими микрокомпьютерами, которые используют интерпретатор машинного языка p-кода , интерпретатор Pascal MicroEngine реализован в микрокоде ; p-код — это его машинный язык. Наиболее распространенным языком программирования, используемым в p-System, является Pascal .
MicroEngine использует специальную версию III p-System. Улучшения версии III были включены в версию IV, которая была опубликована для других платформ, но не для MicroEngine.
Серия продуктов MicroEngine предлагалась на различных уровнях интеграции:
Чипсет MicroEngine был основан на чипсете MCP-1600 , который лег в основу бюджетного мини-компьютера DEC LSI-11 и процессора WD16 , используемого Alpha Microsystems (каждый из которых использовал разный микрокод).
Одной из хорошо зарекомендовавших себя систем была двухпроцессорная карта на базе шины S-100, разработанная Digicomp Research из Итаки, штат Нью-Йорк. [4] Эти карты заслуживают отдельного упоминания, поскольку они пережили упадок одноплатной системы WD и обеспечивали надежную производительность на частоте до 2,5 МГц . Типичной конфигурацией был набор двухпроцессорных плат Digicomp, содержащий Zilog Z80 и биполярный картограф памяти, подключенный к чипсету microengine на второй плате, соединенный прямым кабелем. Единственная конфигурация, которая, как известно, все еще работала в 2018 году и задокументирована в Интернете, описана Маркусом Уиганом [5] и содержит 312 КБ памяти, поддержку RAM-диска через модифицированный Z80 BIOS (написанный Томом Эвансом), использующий преимущества чипа отображения памяти на плате Z80, и использующий версию операционной системы UCSD Pascal III, настроенную специально для чипсета WD - как только Microengine загружался, RAM-диск был доступен. Программное обеспечение в UCSD Pascal позволяло системе копировать всю операционную систему на RAM-диск и передавать ему управление. Это значительно ускоряло работу. Использование Z80 BIOS для управления всеми устройствами позволяло использовать ряд дискет , плат ввода-вывода и контроллеров жестких дисков .
Производительность этого Microengine на серии простых тестов Interface Age (первоначально разработанных для программ BASIC) задокументирована в докладе Австралийского компьютерного общества (MICSIG), представленном на Национальной конференции по программному обеспечению микрокомпьютеров в Канберре , ACT, в июне 1982 года [6] [7] вместе с широким спектром других современных машин и компиляторов, включая системы Z80, поддерживаемые чипом 9511 APU, размещенным в системе Digicomp S-100 Microengine, которую он использовал.
На момент появления единственными конкурентами были 8-битные процессоры (в основном системы на базе Intel 8080 , Z80 и MOS Technology 6502 ). [ неопределенно ] MicroEngine мог компилировать исходный код Pascal за долю времени (обычно около 1/10), требуемого современниками. Быстрая компиляция сделала MicroEngine особенно хорошей машиной для разработчика, а включение примитива семафора в микрокод было особенно полезно для многопользовательских улучшений, которые были разработаны в Мельбурне для компании Ortex Company, базирующейся в Канберре, Австралия, расширены до многопользовательской системы и часто продавались с комплектной системой управления аптекой, также поставляемой на компьютерах Sage IV под управлением UCSD Pascal IV и включенной как многопользовательская система с использованием многопользовательского BIOS Sage, а не путем расширения UCSD Pascal IV для добавления семафора. Это преимущество в производительности было сведено на нет более поздним появлением p-кода для трансляторов машинного кода и появлением основных 16-разрядных микропроцессоров, таких как Intel 8086 и Motorola 68000 .
Когда впервые были опубликованы подробности о MicroEngine, система собрала очень большое количество предварительных заказов (на то время). Первые отправленные платы были плохо спроектированы (провода питания и заземления того же размера, что и сигнальные проводники , очень мало конденсаторов ), требовали большого количества модификаций и даже тогда работали ненадежно. [ требуется цитата ] Прошло несколько лет после появления, прежде чем хорошо спроектированный MicroEngine стал доступен. Между испорченной репутацией и появлением IBM PC , в конечном итоге MicroEngine добился лишь скромного успеха.
Еще одним примером коммерческого продукта на базе MicroEngine стала система управления освещением AVAB Viking, в которой использовались платы Modular MicroEngine вместе с некоторым специализированным оборудованием.
Группа под руководством Дэвида А. Фишера разработала третий проверенный компилятор Ada , используя Modular MicroEngine. для версии 17.1 системы проверки Ada, которая тогда использовалась. Этот компилятор был позже перенесен на мэйнфреймы/миникомпьютеры под названием GenSoft Ada и работал в эмуляторе Microengine под операционной системой UCSD 3, специфичной для MicroEngine. Известно, что копии версии Prime для компьютера принадлежат MR Wigan, который также владеет лицензией с нулевой ценой на полную систему MicroEngine Ada и операционную систему UCSD 3, используемую для Modular Microengine, а также на три Modular MicroEngines, использованных для создания 17.1 Ada, и все 8-дюймовые дискеты разработки.
Единственным другим доступным полноценным языком программирования был Ada. [8] Джон Ллойд из Мельбурнского университета создал раннюю версию своего Prolog для этой системы, а компиляторы Basic и Fortran 77 были перенесены из других реализаций P-системы UCSD в разное время, но не получили широкого распространения.
Из-за ограниченного объема памяти (62К 16-битных слов , последние 2К слов зарезервированы для ввода-вывода с отображением в памяти и PROM для кода загрузки жесткого диска ) компилироваться могли только очень маленькие программы на Ada. В какой-то момент компиляции компилятор выгрузил операционную систему на диск, чтобы получить немного больше места.
«A(da» заменило «A(ssmble» в главном меню команд. Собственный ассемблер не был доступен или не требовался. Эта Ada на основе UCSD была позже переработана для Sage 4 компанией TeleSoft в Сан-Диего.