stringtranslate.com

ИМЛАК

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приложения

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

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

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

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

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

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

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

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

Эмуляция

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

Ссылки

  1. Вычислительная техника и автоматизация (PDF) . Декабрь 1969. С. 51–52.
  2. ^ "Обзор компьютерного дисплея" (PDF) . Март 1970 г. Архивировано (PDF) из оригинала 8 марта 2024 г.
  3. ^ Справочное руководство по системе PDS-4: Предварительное. Корпорация IMLAC, 1974.
  4. ^ "USA Visit: June 1976". Архивировано из оригинала 3 декабря 2021 года.
  5. ^ "Рекламное объявление IMLAC PDS-1D" (PDF) . Архивировано (PDF) из оригинала 24 декабря 2023 г.
  6. ^ "PDS-1D Programming Guide" (PDF) . Архивировано (PDF) из оригинала 7 марта 2024 г.
  7. ^ Инструкции по набору руководств: цвет карты imlac[ мертвая ссылка ]
  8. ^ «Визит в США: июнь 1976 г.».
  9. ^ «Визит в США: август 1978 г.».
  10. ^ http://www.dvq.com/ads/imlac_mms_8_78.jpg [ файл изображения URL без URL ]
  11. ^ ИИЭЭ
  12. ^ «Джим Мичмерхёйзен: История работы».
  13. ^ "Векторные графические терминалы".
  14. ^ "Цены на память с 1957 по 2012". Архивировано из оригинала 2012-10-26 . Получено 2012-10-27 .
  15. ^ "Раздел 3: Индустрия развивается". Архивировано из оригинала 2008-06-13 . Получено 2012-04-10 .
  16. ^ «Терминалы ICF: Обновление дисплеев».
  17. ^ http://www.bitsavers.org/pdf/imlac/PDS-1_TechnicalMan.pdf [ пустой URL-адрес PDF ]
  18. ^ http://www.bitsavers.org/pdf/imlac/PDS-1_Schematics.pdf [ пустой URL-адрес PDF ]
  19. ^ http://www.cadhistory.net/15%20Patrick%20Hanratty%20and%20MCS.pdf Архивировано 30 августа 2015 г. на Wayback Machine [ URL PDF без URL ]
  20. ^ "Frogger". 6 января 2018 г.
  21. ^ https://github.com/larsbrinkhoff/imlac-software/blob/master/washington/freeway.pdf [ пустой URL-адрес PDF ]
  22. ^ http://www.digibarn.com/collections/presentations/maze-war/The-aMazing-History-of-Maze.ppt
  23. ^ "Архивная копия" (PDF) . Архивировано из оригинала (PDF) 2011-08-11 . Получено 2011-04-20 .{{cite web}}: CS1 maint: archived copy as title (link)
  24. ^ "The Minicomputer Orphanage". Архивировано из оригинала 2012-07-02 . Получено 2012-04-15 .
  25. ^ "DigiBarn Systems: Терминал AED 767 от Advanced Electronic Design — ранняя графическая рабочая станция (прототип)".
  26. ^ Джош Дерш (2013-07-11). "BitRot: sImlac v0.0 готов к употреблению человеком" . Получено 2013-10-17 .

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