Кіріспе
Графикалық дисплей жүйесі
IMLAC Corporation – 1970 жылдары графикалық дисплей жүйелерін, негізінен PDS 1 және PDS 4 өндірген, Массачусетс штатының Нидхэм қаласында орналасқан американдық электроника компаниясы. PDS 1 1970 жылы дебют жасады. Бұл Иван Сазерлендтің Sketchpad жүйесінің қозғалыспен өте интерактивті компьютерлік графикалық дисплейінің алғашқы, төмен бағалы коммерциялық іске асырылуы болды. Қосымша опцияларды ескермегенде, оның бағасы 8300 долларды құрады, бұл төрт Volkswagen Beetle машинасының құнымен тең еді. PDS 1 функционалдық тұрғыдан 30 есе қымбат IBM 2250 жүйесімен салыстырылатын болды. Бұл компьютерлік жұмыс станциялары мен қазіргі заманғы дисплейлерге жасалған маңызды қадам еді. PDS 1 құрамына CRT мониторы, пернетақта, жарық қаламы және шағын үстелдегі басқару панелі кірді, ал үстелдің төменгі бөлігінде электронды логиканың көп бөлігі орналасқан. Электроникаға қарапайым 16 биттік мини-компьютер, 8 дана 16 килобайттық магниттік ядролық жад және CRT сәулесінің қозғалысын басқаруға арналған дисплей процессоры кірді. IMLAC – бұл аббревиатура емес, Самюэл Джонсонның «Абиссиния князі Расселас тарихы» романындағы ақын-философтың есімі.
Өнімдердің уақыт реті
1968 жылы: Imlac құрылды. Олардың бизнес жоспары қор биржасы саудагерлері үшін интерактивті графикалық терминалдарды жасау болған, бірақ ол іске аспады. 1970: PDS 1 жалпы графикалық нарыққа енгізілді. 1972: PDS 1D енгізілді. Ол PDS 1-ге ұқсас, бірақ схемалары мен артқы панелі жақсартылған. 1973: PDS 1G енгізілді. 1974: PDS 4 енгізілді. Ол екі есе жылдам жұмыс істеді және екі есе көбірек мәтін мен графиканы жыпылықтаусыз көрсетті. Оның дисплейлік процессоры кескіш арқылы бірден интерактивті ұлғайтуды қолдайды. Оған жылжымалы нүктелі қосымша да қолдау бар еді. 1977 ж.: АҚШ-та шамамен 700 PDS 4 жүйесі сатылды. Олар жапсарылыс өндірісіне емес, тапсырыс бойынша жасалды. 1978: Dynagraphic 3250 енгізілді. Ол негізінен үлкен компьютерлерде жұмыс істейтін, терминал ішінде клиенттік бағдарламалаусыз, жеке Fortran кодталған графикалық кітапханамен пайдалануға арналған. ? ??? : Dynagraphic 6220 енгізілді. 1979: Imlac корпорациясы тек мәтіндік терминалдарды шығаратын Hazeltine корпорациясымен сатып алынды. 1981: Hazeltine-нің Imlac Dynagraphic Series II енгізілді. Ол SIGGRAPH-тің CORE 1979 3D графикалық кітапхана стандартына сәйкес келеді. Оның құны OEM көлемінде 9000 долларға тең болды. Оның 2Kx2K ажыратымдылығы, 192 килобайт жедел жады және 8086 микропроцессоры болды, барлығы монитордың ішінде. DEC GT40 PDS 1D-ге ұқсас дизайн мен бағаға ие болды. Оның үстел электронды құрылғылары ықшамдатылған және жергілікті мини-компьютер ретінде жапсарылыс өндірісті PDP 11/05 тақта жиынтығын пайдаланды. Бұл автоматты түрде бағдарламалау құралдарының кең жиынтығын қамтамасыз етті. Бірақ оны да көбінесе үлкен PDP жүйелерінде жұмыс істейтін қосымшалар басқарды.
Жаңа векторлық дисплей
Монитор болған 14 дюймдік монохромды векторлық дисплей, жергілікті жадтан үнемі жаңарып тұратын. Оның қалыпты ажыратымдылығы – 1024 х 1024 адрестелетін нүкте, ал кішкентай шрифт масштабында – 2K x 2K. КРТ электронды сәулесі X және Y координаталары мен бұрышы бойынша бағдарламалық басқарумен еркін қозғалып, жеке көлбеу сызықтар мен әріп формаларын салды, бұл қаламмен қағазға сызуға ұқсас, қаламдық принтер сияқты. Сәуле экранның бос аймақтарын өткіріп жіберді. Объектілерді кез келген ретпен салуға болады. Векторлық дисплейлер – қазіргі таңда ескірген растрлық сканерлеу дисплейлеріне балама. Векторлық дисплейлерде КРТ электронды сәулесі көрсетілетін сызықтар мен қисықтарды ғана «салады». Растрлық сканерлеу дисплейлерінде кескін пиксельдік нүктелердің торынан («биттік карта») тұрады, ал КРТ сәулесі экранды тұрақты көлденең үлгімен (телевизорлардағыдай) қайта-қайта сүртіп өтеді, қандай нүктелер жанғандығына қарамастан. Биттік карталық растрлық графика векторлық графикаға қарағанда әлдеқайда көп жадты қажет етеді. XGA деңгейі 1024x768 қара-ақ ажыратымдылығына 96 килобайт бейне жаңарту жады қажет, бұл негізгі PDS 1-ден 12 есе көп. 1970 жылы мұндай көлемдегі жадтың құны шамамен 8000 долларға тең болды. (Қазіргі уақытта DRAM-ның құны 0,05 центтен басталады.) Векторлық дисплейлер деректер диаграммаларын көрсетуге, сызықтық суреттерді және CAD диаграммаларын өңдеуге, 3D сымдық модельдерді айналдыруға, мәтінді өңдеуге, баспа беттерін құрастыруға және қарапайым ойындар ойнауға ыңғайлы болды. Бірақ олар түстерді, кескіндерді, толтырылған аймақтарды, ақ фонда қара мәтінді немесе кәсіби басылған мәтіннің шрифтіне сәйкес келетін WYSIWYG сапасын қолдамады. PDS 1 экраны көзге көрінетін жыпылықтауды болдырмау үшін секундтық 40 рет жаңартылып немесе қайта салынып тұрды. Бірақ сәуленің бұзылмаған қозғалысы растрлық дисплейдегі тұрақты қозғалыстан баяу болды. Сәуленің бұрылуын магниттік орамдар басқарды, және олар тоқтың өзгеруіне қарсы күресті. Экран 800 дюймнен астам сызықтармен немесе 1200-ден астам символмен толтырылғанда жыпылықтайтын, өйткені сәулеге бәрін қайта салу үшін секундының 1/40-нан астам уақыт қажет болатын. Бәсекелес, арзан бағадағы Tektronix 4010 графикалық терминалы тұрақты жаңартуды қажет етпейтін және демек, жергілікті компьютерлік дисплей жады мүлдем қажет етпейтін, жадты сақтау түтігі CRT технологиясын қолданды. КРТ люминофоры кескіннің жарқырауын есте сақтады. Бірақ Etch A Sketch сияқты, жинақталған кескінге тек бүкіл экранды өшіру арқылы және содан кейін үлкен компьютерден қайта жіберілген деректермен оны қайта салу арқылы өзгертуге немесе жылжытуға болады. Бұл PDS 1-ге қарағанда интерактивтілігі төмен және анимацияны көрсетуге мүмкіндік бермейді. Бұл дәуірдегі басқа дисплейлерде мәтіннің шрифтері бекітілген және оларды өзгертуге болмайтын. Мысалы, CDC 6600 операторлық консольдары Charactron CRT электронды сәулесін A пішінді тесігі бар металл штамп маскасы арқылы немесе B пішінді тесігі арқылы жіберіп, әр әріпті бірден қалыптастырды. Бірақ PDS 1-де барлық әріптердің пішіні, мөлшері және арақашықтығы бағдарламалық қамтамасыз ету арқылы толық басқарылды. E әрпінің әрбір қажетті пішіні сол әріп үшін қысқа векторлық штрихтардың тізбесін орындайтын жеке дисплейлік кіші бағдарламасына ие болды. Экрандағы әрбір әріптің пайда болуы – дисплейлік процессордың сол әріптің кіші бағдарламасына шақыруы. Бұл схема кез келген шрифтерді, кеңейтілген символдар жиынтығын және тіпті араб тілі сияқты оңнан солға қарай жазылатын тілдерді қолдады. Кішкентай, жылдам сурет салуға арналған шрифтер жаман болды, дөңгелек контурлардың алмаз тәрізді жуықтамаларымен. Дисплейлік кіші бағдарлама схемасы электрондық дизайн символдарымен де жұмыс істеді. PDS 1 мониторының экраны тіктөртбұрышты және портреттік немесе ландшафттық бағдарламада қол жетімді болды. 1K x 1K нүктелер желісі мәтін мен графикалық экранды толтыруға мүмкіндік беру үшін ұзын бағытта 33%-ға созылды. Барлық графикалық бағдарламалар квадрат емес пиксельдерді ескеруі керек болды. Егер жүйе негізінен графикалық мақсаттар үшін пайдаланылса, мониторды экранның шеттерін тұрақты түрде пайдаланбайтын созылмаған тормен орнатуға болады.
Екі процессор
PDS 1-дің дисплей процессоры және оның шағын компьютері бір уақытта, бір жадтан жұмыс істеді. Дисплей процессоры үшін нұсқаулар әріптер мен қисықтарға арналған 1 байттық қысқа штрихтық нұсқаулар, 6 байттық ұзақ векторлық нұсқаулар және 2 байттық шартсыз секірулерден тұрды. Дисплей процессорында стандартты АЛУ нұсқаулары болған жоқ және ол жадты ешқашан өзгертпеді. Секурірулер әріптер мен символдар сияқты қайталамалы объектілерді шақыру үшін қосалқы бағдарламаларды қолдады. Сондай-ақ секурірулер көрсетілген объектілерді жылдам өңдеу үшін байланысты тізімдерге орналастыруды қолдады. XY координаталары тек бүтін сан түрінде болды. Бұру немесе кездейсоқ масштабтау мүмкіндігі болған жоқ. Егер символ экран жиегінен шығып кетсе, кескіштің орнына сәуле екінші жағына оралып, бейне бұрмаланатын еді. Сондықтан, қолданбаның жоғары деңгейлері бөлек дерек құрылымдарын пайдалана отырып, кескіштің дұрыс екенін тексеруі керек болды. (Бұл кейінірек шыққан үлгілерде түзетілді.) Әріп қаріптерінің қосалқы бағдарламаларын құрастыру тілі арқылы жасалды. Сызықтар мен жалпы макеттің коды жергілікті шағын компьютерде немесе қашықтағы үлкен компьютерде жұмыс істейтін бағдарламалармен динамикалық түрде жасалды. PDS 1-дің кіші компьютері пайдаланушының пернетақтасымен және жарық қаламымен әрекеттесуге жылдам жауап беру үшін қажет болды, көмек алу үшін қашықтағы үлкен компьютермен байланысуды кешіктірмей. Шағын компьютердің негізгі міндеті келесі жаңару циклы үшін дисплей тізімін құру және өзгерту болды. Мәтін мен 2D сызықтық графика үшін бұл оңай болды және көп есептеуді қажет етпеді. Құныны азайту үшін Imlac компаниясы мүмкіндігінше аз регистрлер мен логикалық қақпалары бар қарапайым шағын компьютерін жасады. Бұл DEC PDP 8-ге ұқсас, бірақ 12 бит емес, 16 биттік нұсқаулар мен деректерді қолданды. Бүтін санды көбейту/бөлу нұсқаулары, қозғалатын нүкте нұсқаулары, микропрограммалау, виртуалды адрестеу және кэш болған жоқ. Адресті өзгертудің жалғыз түрі жадта сақталған жанама адрес көрсеткіштері арқылы болды. Кейбір көрсеткіш жасушалары пайдаланылғанда автоматты түрде көбейеді. Стек операциялары қолдау таппады. Бұл шағын компьютеріне бағдарламалау құрастыру тілі арқылы жасалды. Ол басқа объектілік кодпен үйлесімді емес еді, сондықтан құралдарды қолдау шектеулі болды. Imlac ақырында, тығыз жадқа байланысты бірнеше сағатқа созылатын өздігінен жүретін Fortran компиляторын қосты. Кейбір PDS үлгілерінде IBM 2310 картридждік дискілік дискісі немесе 8 дюймдік дискета болды. Бұл бағдарламалық жапсырмаларды қолдайтын қарапайым дискілік ОС-ты іске қосты. Дискілер кейінгі өнімдерден алынып тасталды. PDS 1 электроникасы 7400 сериялы төмен тығыздықты TTL интегралдық схемаларынан құралған, әрбір DIP чипінде ондаған логикалық қақпалар немесе 4 регистр биті болды. Кішкентай баспалы схемалық карталардың әрқайсысында 12 чип орналастырылды. Төменгі жақтағы тұғыр үш қатар карточкаларды ұстады, әр қатарда 25 карточка және барлық карточкаларды байланыстыратын сыммен оралған артқы панель болды. Біртектес артқы панельдік шина болған жоқ. Клиенттік құжаттамаға порт деңгейіне дейінгі толық сызбалар кірді, сондықтан клиенттер өздерінің интерфейстік тақталарын жасауға мүмкіндік алды. Жүйенің қалай жұмыс істейтінін толық көруге, ұстауға және түсінуге болады. Негізгі жадтың циклдық уақыты PDS 1 үшін 2,0 микросекунд, ал PDS 1D үшін 1,8 микросекунд болды. TTL логикасы 10 есе жылдам жұмыс істеді, ядролық жад циклына 10 уақыт импульсымен. Базалық PDS 1 ұзақ векторларға арналған қосымша аппараттық карталарды қамтыған жоқ. Оның орнына, шағын компьютер қысқа штрихтық дисплей нұсқауларының ұзақ тізбесін жасады. Бағдарламалық жасақтама жылдам Брезенхам әдісін қолданды, көбейту мен бөлуді орындамай, еңкейген сызықтардың аралық нүктелерін есептеді. Ұзақ векторлық аппаратты құрылғыға да тек қосу/алу схемасы қажет болды. Егер ұзақ векторлық бағдарлама қателікпен ұзын векторлық опциясы жоқ базалық машинада іске қосылса, дисплей процессоры қалыптан шығып, монитордың фосфорын немесе бұрылу күшейткіштерін өртеп жіберуі мүмкін.
Қолданбалар
PDS 1 және PDS 4 құрылғыларын Ғылыми-зерттеу ұйымдары мен көптеген университеттер аз санда сатып алды. Олар компьютерлік қолданбаларды жасап, графикалық жүйелерді жобалайтын жаңа буын мамандарды дайындады. FRESS гипермәтіндік жүйесі PDS 1 жүйесінен қол жеткізгенде мүмкіндіктері мен қолдану ыңғайлылығы арта түсті; пайдаланушы жарық стилусімен гиперсілтемелер жасап, оларды бірнеше перне басу арқылы оңай құра алатын болды. PDS 1 қолданғанда FRESS-те көп терезелі өңдеу де мүмкін еді. PDS 1 жүйелері Arpanet желілік графикалық протоколын жобалау үшін пайдаланылды. Imlac дисплей жүйелері визуалды дизайн мен арнайы бағдарламалық қамтамасыздандыруды қамтитын түрлі ірі коммерциялық өнімдерге енгізілді. Imlac, PDS 1 негізінде CES деп аталатын газет беттерін құру және жинау жүйесін сатты. MCS Anvil механикалық CAD жүйесі кейінірек Imlac жұмыс станцияларын механикалық бөлшектерді интерактивті жобалау үшін пайдаланды, олар металлдан автоматты түрде кесілді. Кейбір қарапайым қолданбалар, мысалы мәтін редакторлары, толығымен Imlac ассемблерінде кодталған және үлкен компьютерге көптеген араласуларсыз жұмыс істей алатын. Хофштадтер өзінің «Гёдель, Эшер, Бах» кітабын Imlac редакторында жазды. Бірақ көптеген графикалық қолданбаларға күшті қалқың нүктелік қолдау, компиляторлар және файлдық жүйе қажет болды. Бұл қолданбалар көбінесе қымбат уақыт бөлісілетін компьютерде жұмыс істеді, ол Imlac-қа өңделген кескін деректерін жіберді, ол жалпы графикалық терминалды эмуляциялайтын шағын ассемблер бағдарламасын іске қосты. Типик қолданылуы – бұрын офлайн режимінде салынған архитектуралық суреттер мен анимациялық бейнелерді көрсету. PDS 1 пайдалануы бірнеше жыл бойы анимацияны немесе интерактивті сурет салуды және нысандарды сүйреуді қолдайтын стандартты бағдарламалық кітапхананың болмауынан шектелді. Бірақ түнгі уақытта студенттер көңіл көтеру үшін ғана үлкен көлемде код жазуға дайын болды. Бүгінде ең көп еске алынатын PDS 1 қолданбалары – алғашқы интерактивті ойындар. Екі ойыншылық Spacewar! PDP 1 демо-нұсқасынан көшірілді. Танымал Frogger аркадалық ойынының алғашқы нұсқасы Freeway Crossing 1971 жылы психологиялық эксперимент аясында PDS 1-де құрылды. Mazewar, алғашқы онлайн көп ойыншылы компьютерлік ойын, PDS 1-де құрылды. Кейіннен 8 ойыншы PDS 1 станцияларында немесе MIT хост PDP 10 компьютерімен Mazewar AI бағдарламасын іске қосатын басқа терминалдарда ойнады. MIT пен Стэнфорд арасындағы Mazewar ойындары ертедегі Arpanet-тегі маңызды дерек жүктемесі болды.
Векторлық дисплейлер пиксельмен алмастырылады
Компьютерлік жадтың тығыздығы, сыйымдылығы және бағасы ондаған жылдар бойы тұрақты және экспоненциалды түрде жақсарды, бұл Мура заңы деп аталатын инженерлік тенденция. Жаңартылатын немесе сақтау векторлық дисплейлердің шектеулері тек олар растрлық сканерлеуге қарағанда әлдеқайда арзан болған кезде ғана қабылданды. 128 килобайттың бағасы маңызды болмай қалғанда растрлық графикалық дисплейлер сөзсіз жеңіске жетті. Xerox PARC-тегі Imlac PDS 1 олардың өзара әрекеттесуімен және графикасымен әсер етті. Бірақ оның жаман мәтіні Чак Таккерді 1973 жылы эксперименталды биттік картасы бар Xerox Alto машинасын жасауға итермеледі, бұл көп жад зерттеуге қатысты емес, жеке пайдаланушыларға қолжетімді болғаннан он жыл бұрын болды. Ал Alto графикалық интерфейс революциясына бастап кетті. PDS 1 және ұқсас векторлық терминалдар 1980-ші жылдары (бағдарламаланбайтын) растрлық графикалық терминалдармен, мысалы AED767, ауыстырылды. Содан кейін растрлық графикасы бар Terak 8510/a UCSD Pascal машинасы және жоғары өнімді PERQ Unix жүйесі сияқты оңай бағдарламаланатын жеке жұмыс станцияларымен алмастырылды. Оларды микропроцессорлық Macintosh, Windows PC және бейне ойын консольдары ығыстырды. Ал қазір смартфон ішіндегі бір чиппен алмастырылды.
Эмуляция
2013 жылы sImlac деп аталған Imlac эмуляторы құрастырылды. Осы эмулятордың жаңартылған нұсқасын Сиэтл қаласындағы Living Computers: Museum + Labs-тың GitHub репозиторийінен алуға болады.