stringtranslate.com

ИМЛАК

IMLAC Corporation — американская электронная компания из Нидэма, штат Массачусетс , которая производила системы графического отображения, в основном PDS-1 и PDS-4 , в 1970-х годах.

PDS-1 дебютировал в 1970 году. Это была первая недорогая [1] коммерческая реализация системы Sketchpad Ивана Сазерленда , представляющей собой высокоинтерактивный компьютерный графический дисплей с движением. При продаже за 8300 долларов без учета опционов его цена была эквивалентна стоимости четырех Volkswagen Beetle . PDS-1 функционально был похож на гораздо больший IBM 2250 , который стоил в 30 раз дороже. Это был значительный шаг вперед на пути к компьютерным рабочим станциям и современным дисплеям.

PDS-1 состоял из ЭЛТ-монитора , клавиатуры, светового пера и панели управления на небольшом столе с большей частью электронной логики на подставке стола. Электроника включала простой 16-битный мини-компьютер , 8-16 килобайт памяти на магнитных сердечниках и процессор дисплея для управления движением луча ЭЛТ.

IMLAC — это не аббревиатура, а имя поэта-философа из романа Сэмюэля Джонсона «История Расселаса, принца Абиссинии» . [2]

Хронология продуктов

DEC GT40 имел дизайн и цену, аналогичную PDS-1D. Его настольная электроника была более компактной, и в качестве локального мини-компьютера использовалась серийная плата PDP 11/05 . Это автоматически дало ему гораздо больший набор инструментов программирования. Но это также обычно было вызвано приложениями, работающими на более крупных PDP-системах.

Обновленное векторное отображение

Монитор представлял собой 14-дюймовый монохромный векторный дисплей , постоянно обновляемый из локальной памяти. Его нормальное разрешение составляло 1024 на 1024 адресуемых точки и 2K x 2K в режиме масштабирования мелким шрифтом. Электронный луч ЭЛТ свободно перемещался по координатам X и Y и под углом под управлением программы, рисуя отдельные наклонные линии и формы букв, очень похоже на движения пера по бумаге на перьевом плоттере . Луч пропускал пустые участки экрана. Вещи можно было рисовать в произвольном порядке.

Векторные дисплеи являются устаревшей альтернативой дисплеям растрового сканирования . В векторных дисплеях электронный луч ЭЛТ «рисует» только отображаемые линии и кривые. На дисплеях с растровой разверткой изображение представляет собой сетку пятен пикселей («растровое» изображение), а луч ЭЛТ неоднократно сканирует весь экран по фиксированной горизонтальной схеме (как в телевизорах), независимо от того, какие точки включены. [12] Растровая графика требует гораздо больше памяти, чем векторная графика. Черно-белое разрешение XGA -уровня 1024x768 требует 96 килобайт видеопамяти, что в 12 раз больше, чем у базового PDS-1. В 1970 году такой объем основной памяти стоил около 8000 долларов. [13] (Сейчас он стоит всего 0,05 цента общей DRAM.)

Векторные дисплеи были хороши для отображения диаграмм данных, изменения линейных рисунков и диаграмм САПР , переворачивания трехмерных каркасных фигур, редактирования текста, компоновки печатных страниц и игр в простые игры. Но они не обрабатывали цвета, изображения, заполненные области, черно-белые экраны или соответствие WYSIWYG шрифтам профессионально напечатанного текста.

Экран ПДС-1 неоднократно обновлялся или перерисовывался 40 раз в секунду, чтобы избежать видимого мерцания. Но неравномерное движение луча было медленнее, чем устойчивое движение на растровых дисплеях. Отклонения луча приводились в действие магнитными катушками, и эти катушки боролись с быстрыми изменениями тока. Экран мерцал, когда на нем было более 800 дюймов строк или более 1200 символов, потому что лучу тогда требовалось более 1/40 секунды, чтобы все проследить.

В конкурирующем более дешевом графическом терминале Tektronix 4010 использовалась альтернативная технология ЭЛТ с накопительной трубкой , которая не требовала постоянного обновления и, следовательно, вообще не требовала памяти локального компьютера. Светящееся изображение запомнилось самому ЭЛТ-люминофору. Но, как и в случае с Etch A Sketch , накопленное изображение можно было изменить или переместить только путем мгновенного стирания всего экрана, а затем замедления перерисовки всего с использованием данных, повторно отправленных с какого-то большого компьютера. [14] Он был гораздо менее интерактивным, чем PDS-1, и не мог отображать анимацию.

На других дисплеях той эпохи текстовые шрифты были встроены и не могли быть изменены. Например, пульты оператора CDC 6600 формировали каждую букву сразу, направляя электронный луч ЭЛТ Charactron через металлическую трафаретную маску с А-образным отверстием или через B-образное отверстие и т. д.

Но в PDS-1 все формы, размеры и интервалы букв полностью контролировались программным обеспечением. Каждая желаемая форма буквы E имела свою собственную подпрограмму отображения, которая выполняла последовательность коротких векторных штрихов для этой буквы. Каждое появление буквы на экране было вызовом процессором дисплея подпрограммы этой буквы. Эта схема обрабатывала произвольные шрифты, расширенные наборы символов и даже языки с написанием справа налево, такие как арабский. Шрифты меньшего размера, которые быстрее рисовались, были уродливыми, с ромбовидными приближениями закругленных петель. Схема подпрограммы отображения также обрабатывала символы электронного дизайна. [15]

Лицевая панель монитора PDS-1 была прямоугольной и доступна в книжной или альбомной ориентации. Сетка точек 1K x 1K была растянута на 33% в длинном направлении, чтобы текст и графика могли заполнить экран. Все графические программы тогда должны были учитывать неквадратные пиксели. Если система должна была использоваться в основном для графики, монитор можно было установить с нерастянутой сеткой, оставив концы экрана постоянно неиспользованными.

Двойные процессоры

Процессор дисплея PDS-1 и его миникомпьютер работали одновременно, используя одну и ту же память.

Инструкции для процессора дисплея состояли из 1-байтовых коротких инструкций для букв и кривых, 6-байтовых длинных векторных инструкций и 2-байтовых безусловных переходов. Процессор дисплея не имел обычных инструкций ALU и никогда не модифицировал память. Переходы поддерживали вызовы подпрограмм для повторяющихся объектов, таких как буквы и символы. Jumps также поддерживает объединение отображаемых объектов в связанные списки для быстрого редактирования. Позиции XY были только в целочисленной форме. Не было поддержки вращений или произвольного масштабирования на лету. Если символ пересекал край экрана, луч переворачивался на другую сторону, а не обрезался, образуя размазывание. Поэтому более высокие уровни приложения должны были выполнить тест отсечения, используя отдельные структуры данных. (Это было исправлено в более поздних моделях.) Программирование подпрограмм шрифта букв осуществлялось на языке ассемблера. Код для чертежей и общего макета генерировался «на лету» с помощью программ, запущенных на локальном мини-компьютере или на большом удаленном компьютере.

Встроенный мини-компьютер PDS-1 [16] был необходим для быстрого реагирования на действия пользователя с помощью клавиатуры и светового пера, без задержек при обращении за помощью к удаленному большому компьютеру с разделением времени . Основная задача миникомпьютера заключалась в построении и изменении списка отображения по мере необходимости для следующего цикла обновления. Для текста и двухмерной линейной графики это было легко и не требовало больших вычислений. Чтобы минимизировать затраты, компания Imlac разработала собственный простой мини-компьютер с минимальным количеством регистров и логических элементов. Это была машина с одним аккумулятором, очень похожая на DEC PDP-8 , за исключением использования 16-битных инструкций и данных вместо 12-битных. Не было ни инструкций целочисленного умножения/деления, ни инструкций с плавающей запятой, ни микропрограммирования, ни виртуальной адресации, ни кэша. Единственная форма модификации адреса заключалась в использовании косвенных указателей адреса, хранящихся в памяти. Некоторые ячейки указателя будут автоматически увеличиваться при использовании. Операции со стеком не поддерживались.

Программирование этого миникомпьютера осуществлялось на языке ассемблера. Это не был объектный код, совместимый ни с чем другим, и поэтому имел ограниченную поддержку инструментов. В конце концов Imlac добавил автономный компилятор Fortran с часовой компиляцией из-за нехватки памяти. Некоторые модели PDS имели дополнительный картриджный дисковод IBM 2310 или 8-дюймовый дисковод для гибких дисков. На них работала элементарная дисковая ОС, поддерживающая оверлеи программ. Диски были исключены из более поздних продуктов.

Электроника PDS-1 была построена на основе интегральных схем TTL низкой плотности серии 7400 , всего с дюжиной логических элементов или 4 битами регистра на микросхему DIP . Маленькие печатные платы вмещали до 12 микросхем каждая. Неглубокая подставка стола вмещала три стойки или ряда карточек, по 25 карточек в каждом, а также объединительную панель из проволочной обмотки, соединяющую все карты. Единой объединительной шины не было. Документация для клиентов включала полные схемы [17] вплоть до уровня шлюзов, чтобы клиенты могли разрабатывать свои собственные интерфейсные платы. Можно было увидеть, потрогать и понять каждую деталь того, как работает вся система. Время цикла основной памяти составляло 2,0 микросекунды для PDS-1 и 1,8 микросекунды для PDS-1D. Логика TTL работала в 10 раз быстрее: на цикл основной памяти приходилось 10 тактовых импульсов.

Базовая версия PDS-1 не включала дополнительные аппаратные карты для длинных векторов. Вместо этого миникомпьютер создавал длинную последовательность инструкций с коротким ходом на дисплее. Программное обеспечение использовало быстрый метод Брезенхема для вычисления промежуточных точек для наклонных линий без выполнения умножения или деления. Для аппаратного обеспечения длинных векторов также требовалась только схема сложения/вычитания. Если длинная векторная программа была по ошибке запущена на базовой машине без этой опции, процессор дисплея мог выйти из строя и потенциально сжечь люминофор монитора или усилители отклонения.

Приложения

ПДС-1 и ПДС-4 закупались в небольших количествах научно-исследовательскими организациями и многими университетами. Они разработали новаторские компьютерные приложения и подготовили новое поколение дизайнеров графических систем. Гипертекстовая система FRESS имела расширенные возможности и удобство использования при доступе к ней из системы PDS-1; пользователь мог создавать гиперссылки световым пером и создавать их просто парой нажатий клавиш. Многооконное редактирование в FRESS также было возможно при использовании PDS-1. Системы PDS-1 использовались для разработки протокола сетевой графики Arpanet.

Системы отображения Imlac были включены в различные более крупные коммерческие продукты, включающие визуальный дизайн и специализированное программное обеспечение. Imlac продавала систему верстки и набора газет с использованием PDS-1 под названием CES. Механическая CAD-система Anvil компании MCS использовала более поздние рабочие станции Imlac для интерактивного проектирования механических деталей, которые затем автоматически фрезеровались из металлической заготовки. [18]

Некоторые простые приложения, такие как текстовые редакторы, были полностью написаны на ассемблере Imlac и могли работать без особого участия на более крупном компьютере. Хофштадтер написал свою книгу «Гёдель, Эшер, Бах» в редакторе Imlac. Но большинству графических приложений требовалась надежная поддержка операций с плавающей запятой, компиляторы и файловая система. Эти приложения работали в основном на дорогом компьютере с разделением времени, который отправлял обработанные данные изображения в Imlac, который запускал небольшую ассемблерную программу, эмулирующую обычный графический терминал. Типичным применением была визуализация архитектурных чертежей и анимированных пошаговых инструкций, ранее созданных в автономном режиме. Использование PDS-1 сдерживалось на несколько лет из-за отсутствия стандартной библиотеки программ, поддерживающей анимацию или интерактивное рисование и перетаскивание объектов.

Но по ночам студенты были готовы писать большие объемы ассемблерного кода просто ради развлечения. Наиболее запоминающимися сегодня приложениями PDS-1 являются ранние интерактивные игры . Космическая война для двух игроков ! был портирован из демо-версии PDP-1. Freeway Crossing , ранний предшественник популярной аркадной игры Frogger , был создан на PDS-1 в рамках психологического эксперимента в 1971 году. [19] [20] Mazewar , первая многопользовательская онлайн-игра, была создана на паре ПДС-1. Позже до 8 игроков играли на станциях PDS-1 или других терминалах, подключенных к главному компьютеру MIT PDP-10, на котором работала программа Mazewar AI . [21] Игры Mazewar между MIT и Стэнфордом были основной нагрузкой данных на раннем Arpanet .

Пиксели заменяют векторные дисплеи

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

Imlac PDS-1 в Xerox PARC поразил их своей интерактивностью и графикой. Но его уродливый текст побудил Чака Такера разработать экспериментальный растровый аппарат Xerox Alto в 1973 году, [22] за десять лет до того, как такой объем памяти стал доступен для однопользовательских машин, не предназначенных для исследований. И Alto привел к революции графического пользовательского интерфейса.

PDS-1 и аналогичные векторные терминалы были вытеснены в 1980-х годах терминалами (непрограммируемой) растровой графики, такими как AED767. [23] [24] А также легко программируемые персональные рабочие станции с растровой графикой, такие как Terak 8510/ машина UCSD Pascal и высокопроизводительная система PERQ Unix. И их вытеснили массовые Macintosh на базе микропроцессоров , ПК с Windows и игровые консоли . А теперь по отдельным чипам внутри смартфонов .

Эмуляция

В 2013 году был написан эмулятор Imlac под названием sImlac. [25] Обновленную версию этого эмулятора можно получить из репозитория GitHub компании Living Computers: Museum + Labs, расположенной в Сиэтле .

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

  1. ^ http://bitsavers.informatik.uni-stuttgart.de/topic/graphics/ComputerDisplayReview_Mar70.pdf [ пустой URL-адрес PDF ]
  2. ^ Справочное руководство по системе PDS-4: предварительное. Корпорация ИМЛАК, 1974 год.
  3. ^ «Визит в США: июнь 1976 г.».
  4. ^ http://www.dvq.com/ads/acm/imlac_acm_72.pdf [ пустой URL-адрес PDF ]
  5. ^ http://www.bitsavers.org/pdf/imlac/PDS-1D_ProgrammingGuide.pdf [ пустой URL-адрес PDF ]
  6. ^ http://www.digibarn.com/collections/instruction-set-guides/imlac-card-color/index.html [ постоянная мертвая ссылка ]
  7. ^ «Визит в США: июнь 1976 г.».
  8. ^ «Визит в США: август 1978 г.».
  9. ^ http://www.dvq.com/ads/imlac_mms_8_78.jpg [ файл изображения с пустым URL ]
  10. ^ http://ieeexplore.ieee.org/iel5/38/35133/01674054.pdf [ неработающая ссылка ]
  11. ^ «Джим Михмерхейзен: История работы» .
  12. ^ «Терминалы векторной графики» .
  13. ^ «Цены на память с 1957 по 2012 год» . Архивировано из оригинала 26 октября 2012 г. Проверено 27 октября 2012 г.
  14. ^ «Раздел 3: Индустрия развивается» . Архивировано из оригинала 13 июня 2008 г. Проверено 10 апреля 2012 г.
  15. ^ «Терминалы ICF: обновление дисплеев» .
  16. ^ http://www.bitsavers.org/pdf/imlac/PDS-1_TechnicalMan.pdf [ пустой URL-адрес PDF ]
  17. ^ http://www.bitsavers.org/pdf/imlac/PDS-1_Schematics.pdf [ пустой URL-адрес PDF ]
  18. ^ http://www.cadhistory.net/15%20Patrick%20Hanratty%20and%20MCS.pdf [ пустой URL-адрес PDF ]
  19. ^ "Фроггер". 6 января 2018 г.
  20. ^ https://github.com/larsbrinkhoff/imlac-software/blob/master/washington/freeway.pdf [ пустой URL-адрес PDF ]
  21. ^ http://www.digibarn.com/collections/presentations/maze-war/The-aMazing-History-of-Maze.ppt
  22. ^ «Архивная копия» (PDF) . Архивировано из оригинала (PDF) 11 августа 2011 г. Проверено 20 апреля 2011 г.{{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка )
  23. ^ "Миникомпьютерный приют". Архивировано из оригинала 02 июля 2012 г. Проверено 15 апреля 2012 г.
  24. ^ «DigiBarn Systems: терминал Advanced Electronic Design AED 767 - ранняя графическая рабочая станция (прототип)» .
  25. ^ Джош Дерш (11 июля 2013 г.). «BitRot: sImlac v0.0 готов к употреблению человеком» . Проверено 17 октября 2013 г.

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