Цвет сверхдержавы - красный 4 Восхождение. часть 2
Шрифт:
Продолжая совершенствовать, и одновременно изучать Forth, уже в первые дни Ершов освоил работу со стеком, где временно хранились данные для обработки. Стек Forth работает как магазин автоматического пистолета. Если пронумеровать патроны, например от 1 до 8, и затем засунуть их в магазин по порядку номеров, то при стрельбе первым будет выстрелен патрон № 8, а последним — патрон №1. Также в языке Forth для арифметических выражений используется так называемая «обратная польская нотация». Чтобы вычислить простейший арифметический пример 3 + 4 = 7,
3 4 + .
То есть, сначала в стек «засовываются» два числа, затем слово «+» складывает их и помещает результат на вершину стека. Слово, обозначаемое символом «.» (точка), снимает результат со стека и выводит на печать или на экран. Поначалу это выглядело очень непривычно, но возможности языка заметно превосходили этот «недостаток», тем более, что Forth позволяет использовать и обычные переменные.
Продолжая разбираться с примерами, приведёнными в переданном Лебедевым учебнике, Андрей Петрович определил ещё несколько «слов» языка, написав простенькую программу:
: ЗВЕЗДА 42 EMIT ;
: ЗВЕЗДЫ 0 DO ЗВЕЗДА LOOP ;
: ПОЛЕ CR 30 SPACES ;
: ТОЧКА ПОЛЕ ЗВЕЗДА ;
: ПОЛОСА ПОЛЕ 5 ЗВЕЗДЫ ;
: F ПОЛОСА ТОЧКА ПОЛОСА ТОЧКА ТОЧКА CR ;
Набрав букву «F», он получил в распечатке латинскую букву F, составленную из звёздочек:
*****
*
*****
*
*
Проходивший мимо Геннадий Исаакович Кожухин машинально посмотрел на распечатку, остановился и спросил:
— Ты как это сделал?
— Да вот, простейшая программка на Forth, сижу, разбираюсь с возможностями языка. А что?
— Погоди, погоди... электрическая машинка целую букву одним ударом печатает. То есть, может печатать только те буквы, что в неё встроены, — задумался Кожухин. — А если вместо букв поставить матрицу из иголочек... Даже не матрицу, а несколько иголочек в ряд, вертикально. Предположим, каждая звёздочка в твоей программке — это удар иголочки по бумаге через ленту от пишущей машинки. И заставить головку двигаться вдоль строки по направляющей. Чтобы тяжёлую каретку не двигать. Тогда АЦПУ сможет не только буквы и цифры, оно же сможет любые символы печатать?
Так появилась идея сделать матричный принтер (АИ, первый коммерчески успешный матричный принтер был выпущен в 1971 г компанией Centronics, хотя IBM экспериментировала с матричной печатью ещё в 50-х). Конечно, он печатал не «звёздочками», а принимал передаваемые ЭВМ битовые последовательности, где печатаемые точки обозначались как «единица», а пропускаемые — как «ноль». «Печать звёздочками» тоже пригодилась — для печати графиков, особенно там, где не требовалась высокая точность — для различных отчётов.
В этот период АЦПУ вечно не хватало, что сильно мешало отладке программ, так как основным средством отображения оставалась печать на бумаге. Электрофотографическая машина (ЭФМ, см. гл. 02-32) стоила достаточно дорого, и цена 1 листа на ней получалась больше, чем на АЦПУ ударного действия. Поэтому, когда Шокину принесли эскизный проект графопостроителя формата
— Мужики, да вы охренели... Сколько будет стоить замена светочувствительного барабана такой длины — кто-нибудь считал? Думайте дальше.
Матричный принтер позволял выводить на печать графику, хотя и достаточно примитивную, учитывая существующие ограничения по оперативной памяти. Идея не умерла, её передали в НИИСчётмаш, где работа по созданию матричного принтера была продолжена. (АИ частично, НИИСчётмаш действительно занимался разработкой АЦПУ, хотя на тот момент не матричных
Взаимодействие НПО «Научный центр» и Пензенского филиала СКБ-245 с ЭНИМС в части разработок станков с ЧПУ привело к взаимопроникновению идей и тематик. Вычерчивание схем, чертежей, выклеивание масок для микросхем вручную занимало много времени и приводило к неизбежным ошибкам. Для упрощения процесса пользовались фотоспособом и делением маски на отдельные функциональные блоки, которые вычерчивали по отдельности, а потом склеивали вместе и переснимали на плёнку.
Наблюдая за тем, как режет металл проволокой электроэрозионный станок, у электронщиков возникла идея автоматизировать процесс черчения. Вторым толчком для этого стала необходимость разработки клиентских устройств для системы спутниковой навигации. Их делали на основе уже имевшихся морских курсопрокладчиков, в которых на перематывающейся рулонной карте строилась линия, соответствующая курсу и текущему положению судна.
(Первые плоттеры, например Calcomp 565, разработанный в 1959 г, работали на принципе передвижения бумаги с помощью ролика, обеспечивая тем самым координату X, а Y обеспечивалась движением пера. Другой подход, воплощённый в первой CAD системе Computervision’s Interact I, представлял собой модернизированный пантограф, управляемый вычислительной машиной и имеющий шариковое перо в качестве рисующего элемента
К этой работе подключился НИИСчётмаш. Разработка двухкоординатного регистрирующего графопостроителя ДРП-1 велась группой специалистов под руководством Валентина Борисовича Ушакова и Геннадия Михайловича Петрова (АИ частично, в реальной истории двухкоординатные регистрирующие приборы от ДРП-1 до ДРП-5 разрабатывали Ушаков В. Б., Петров Г. М., Басов Е. П., Махин В. П., Чалых В. Г., Родионов А. Г. в 1962—1968 гг)
Сделать графопостроитель было недостаточно. Требовалась специальная программа, которая могла бы им управлять — прообраз системы автоматизированного проектирования (САПР). Заставить ЭВМ управлять графопостроителем, считывая данные с запоминающего устройства по частям было уже можно.
(В 1963 году Айвен Сазерленд (Ivan Sutherland) разработал программу Sketchpadкоторая позволяла рисовать простые эскизы на экране ЭЛТ-телевизора при помощи изобретённого в 1955 г светового пера.
Программа работала на компьютере TX-2, разработанном в MIT в 1958 г и имевшем память 64 тысячи 36-битных слов. Быстродействие TX-2 в режиме 36-битных слов — 150 тыс сложений/с и 80 тыс умножений/с. Описание компьютера
Описания программно-аппаратного комплекса Sketchpad на английском: