Имлак ПДС-1 - Imlac PDS-1

В ИМЛАК ПДС-1 и ПДС-4 были популярными системами графического отображения в 1970-х годах. Их сделали Корпорация IMLAC, небольшая компания в Нидхэм, Массачусетс. IMLAC - это не аббревиатура, а имя поэта из Сэмюэл Джонсон роман, История Расселаса, принца Абиссинии.[1] PDS-1 дебютировал в 1970 году. Это был первый недорогой[2] коммерческая реализация Иван Сазерленд с Блокнот система интерактивного отображения компьютерной графики с движением. При продаже за 8300 долларов без учета опционов его цена была эквивалентна стоимости четырех Фольксваген Жуки. PDS-1 был функционально похож на гораздо более крупный IBM 2250, который стоил в 30 раз дороже. Это был значительный шаг к компьютерные рабочие станции и современные дисплеи.

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

Обновленный векторный дисплей

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приложения

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

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

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

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

Эволюция продукта Imlac

  • 1968: Основание компании Imlac. Их бизнес-план - интерактивные графические терминалы для биржевых трейдеров,[12] чего не произошло.
  • 1970: PDS-1 представлен для общего рынка графики.
  • 1972: Представлен PDS-1D. Он был похож на PDS-1 с улучшенными схемами и объединительной платой.[13][14]
  • 1973: Представлен ПДС-1Г.
  • 1974: Представлен ПДС-4. Он работал в два раза быстрее и отображал в два раза больше текста или графики без мерцания.[15] Его дисплейный процессор поддерживает мгновенное интерактивное увеличение с обрезкой. У него была дополнительная надстройка с плавающей запятой.
  • 1977: Всего в США было продано около 700 систем PDS-4.[16] Они строились по заказу, а не производились серийно.
  • 1978: Представлен Dynagraphic 3250. Он был разработан для использования в основном собственной графической библиотекой с кодом Fortran, работающей на больших компьютерах, без программирования пользователем внутри терминала.[17][18]
  • ????: Представлен Dynagraphic 6220.
  • 1979: Корпорация Imlac приобретена Hazeltine Corporation, производитель текстовых терминалов.
  • 1981: Представлена ​​серия Imlac Dynagraphic Series II Хазелтина. Он был разработан для совместимости со стандартом библиотеки трехмерной графики SIGGRAPH CORE 1979. Его стоимость составляла 9000 долларов США в количестве OEM. Он имел разрешение 2Kx2K, 192 килобайта оперативной памяти и микропроцессор 8086, все внутри блока монитора.[19][20]

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

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

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

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

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

Эмуляция

В 2013 году был написан эмулятор Imlac под названием sImlac.[24]

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

  1. ^ Справочное руководство по системе ПДС-4: Предварительная версия. Корпорация IMLAC, 1974 г.
  2. ^ http://bitsavers.informatik.uni-stuttgart.de/topic/graphics/ComputerDisplayReview_Mar70.pdf
  3. ^ «Терминалы векторной графики».
  4. ^ «Архивная копия». Архивировано из оригинал на 2012-10-26. Получено 2012-10-27.CS1 maint: заархивированная копия как заголовок (связь)
  5. ^ «Архивная копия». Архивировано из оригинал на 2008-06-13. Получено 2012-04-10.CS1 maint: заархивированная копия как заголовок (связь)
  6. ^ http://www.chilton-computing.org.uk/acd/icf/terminals/p008.htm
  7. ^ http://www.bitsavers.org/pdf/imlac/PDS-1_TechnicalMan.pdf
  8. ^ http://www.bitsavers.org/pdf/imlac/PDS-1_Schematics.pdf
  9. ^ http://www.cadhistory.net/15%20Patrick%20Hanratty%20and%20MCS.pdf
  10. ^ https://classicreload.com/arcade-frogger.html
  11. ^ http://www.digibarn.com/collections/presentations/maze-war/The-aMazing-History-of-Maze.ppt
  12. ^ http://www.chilton-computing.org.uk/acd/literature/reports/p002.htm
  13. ^ http://www.dvq.com/ads/acm/imlac_acm_72.pdf
  14. ^ http://www.bitsavers.org/pdf/imlac/PDS-1D_ProgrammingGuide.pdf
  15. ^ http://www.digibarn.com/collections/instruction-set-guides/imlac-card-color/index.html[постоянная мертвая ссылка ]
  16. ^ http://www.chilton-computing.org.uk/acd/literature/reports/p002.htm
  17. ^ http://www.chilton-computing.org.uk/acd/literature/reports/p012.htm
  18. ^ http://www.dvq.com/ads/imlac_mms_8_78.jpg
  19. ^ http://ieeexplore.ieee.org/iel5/38/35133/01674054.pdf
  20. ^ http://michmer.net/professional/cv_eng.html
  21. ^ «Архивная копия» (PDF). Архивировано из оригинал (PDF) на 2011-08-11. Получено 2011-04-20.CS1 maint: заархивированная копия как заголовок (связь)
  22. ^ http://www.dimka.com/daily/external-pages/spies.com-~aek-orphanage.html
  23. ^ http://www.digibarn.com/collections/systems/aed-graphics-workstation/index.html
  24. ^ Джош Дерш (11 июля 2013 г.). «BitRot: sImlac v0.0 готов к употреблению человеком». Получено 2013-10-17.

внешняя ссылка