Страница произведения
Войти
Зарегистрироваться
Страница произведения

Цвет сверхдержавы - красный 4 Восхождение. часть 2


Статус:
Закончен
Опубликован:
17.10.2015 — 11.10.2021
Читателей:
22
Аннотация:
Preproduction вариант. Возможны любые дополнения и изменения. Растаскивание по онлайн-библиотекам - на совести растаскивающих. Последняя актуальная версия - только здесь.
Новые карты от тов. Sentinel - коррекция политической карты мира АИ на 1959 г, а также Турция и Народная Республика Курдистан.
Смотреть в иллюстрациях, по правой кнопке мыши - укрупнённо.
Предыдущая глава  
↓ Содержание ↓
↑ Свернуть ↑
  Следующая глава
 
 

Лебедев задумался, вспоминая. Что-то крутилось в памяти, он чувствовал, что решение есть, оно было прислано из 2012 года в составе полученного массива информации.

— Алексей Андреевич, а вот у вас толковый аспирант был, Ершов. Он перед аспирантурой у нас работал. Он сейчас где? — спросил академик.

— Ершов? Он сейчас заведует отделом автоматизации программирования в Вычислительном центре АН СССР.

— Дайте мне его телефончик, пожалуйста, — попросил Лебедев. — Я думаю, это тот человек, который нам нужен.

Сергей Алексеевич нашёл то, что искал. Александр Веденеев прислал вполне приличную подборку литературы по нескольким перспективным языкам, а также часть репозитория, содержащую не только бинарные пакеты, но и исходные коды. По ним в ИТМиВТ под руководством Лебедева уже переписали в машинных кодах ядро операционной системы (АИ, см. гл. 03-15). Сейчас перед учёными стояла похожая задача.

Андрей Петрович Ершов приехал к Лебедеву в ИТМиВТ через пару дней. Академик коротко пересказал ему свою недавнюю беседу с Ляпуновым.

— Вы ведь сейчас занимаетесь разработкой расширения АЛГОЛа? — спросил Лебедев.

— Не то что бы занимаемся... Пока это только предварительные намётки, — признался Ершов. — Идеи такие есть, но они, если честно, ещё не оформились во что-то конкретное.

— Сейчас правительство поставило перед нами задачу автоматизации производств, разработки программного обеспечения для робототехники. Есть одна зарубежная разработка, судя по всему, из числа закрытых, — сказал Лебедев. — Никакой открытой информации по ней нет, но чекисты постарались. Вот смотрите.

Он слегка повернул к Ершову стоящий у него на столе монитор терминала, и залогинился в БЭСМ-1М. Ершов с интересом смотрел на зелёные буквы и цифры, светящиеся на экране — ему обычно приходилось работать с машиной через телетайп, читая её ответы на бумажной ленте.

— Предположим, у нас есть язык, основные команды которого реализованы в виде коротких программ в машинных кодах, загружаемых, или даже непосредственно прошитых в постоянную память ЭВМ.

— Ого! То есть, программа не транслируется, а выполняется в режиме интерпретации, но со скоростью транслируемой программы? — тут же уточнил Ершов.

— Может и транслироваться, но задача трансляции в этом случае тоже упрощается, — ответил академик. — Ещё более важное свойство языка — можно комбинировать несколько операторов — «слов», в более сложное «слово», и сразу же обращаться к нему в программе. Вновь определённое слово заносится на вершину словаря языка. Смотрите.

Лебедев напечатал:

15 SPACES

На мониторе отобразилось Ok, перед которым было напечатано 15 пробелов.

— Теперь я выведу звёздочку, у неё код 42, — академик набрал на клавиатуре

42 EMIT

Нажал ввод и на экране появилась звёздочка «*»

— Чтобы каждый раз не писать, язык позволяет определить новые слова, — Лебедев набрал строчки:

: ЗВЕЗДА 42 EMIT ;

: ПОЛЕ 15 SPACES ;

: ЗВЕЗДЫ 0 DO ЗВЕЗДА LOOP ;

— Определение нового слова начинается с двоеточия и заканчивается точкой с запятой. Теперь, если ввести команду:

ПОЛЕ 3 ЗВЕЗДЫ

— Мы получим три звёздочки, отодвинутые от края экрана на 15 пробелов, — улыбнулся Лебедев. — Поняли принцип, Андрей Петрович?

Язык, который был нужен для решения задач, стоящих перед робототехникой, и который Лебедев показывал Ершову, назывался Forth. В 1959-м его ещё не существовало. Теперь предстояло адаптировать Forth к вновь разработанным советским ЭВМ.

(пример взят из книги Лео Броуди «Начальный курс программирования на языке Forth» и опробован на реализации gforth для Ubuntu, с русскими словами, приведёнными в тексте.)

— Принцип гениальный, Сергей Алексеич, — улыбнулся Ершов. — Этак можно будет по человечески написать 30 ПОВОРОТ ПО ЧАСОВОЙ, а не раскидывать значения в восьмеричном виде по регистрам и ячейкам памяти, да ещё адреса ячеек где-то хранить... Только вот надо бы основной словарь языка тоже перевести на русский.

— Да хоть на малаялам, просто обозначим слова основного словаря цифровыми кодами, а в конкретной локализации эти коды будут вызываться мнемониками на русском, английском, или вообще на суахили, — усмехнулся Лебедев. — Займётесь? Исходники я дам.

— Да с удовольствием! — обрадовался Ершов.

— На мехмате МГУ под руководством Николая Петровича Брусенцова недавно сделали очень необычную машину «Сетунь» с троичной логикой. ЭВМ использует ферритовые логические элементы, и получилась на редкость дешёвой и компактной, — продолжил Лебедев. — Я собираюсь рекомендовать её правительству для серийного производства, в первую очередь, в качестве управляющей машины и учебной ЭВМ для ВУЗов. Надо в первую очередь реализовать Forth для этой машины, а затем — для управляющей ЭВМ УМ-1НХ, которую разрабатывают в Зеленограде товарищи Старос и Берг. Потом будем внедрять его и на других наших ЭВМ, но «Сетунь» и УМ-1НХ — в первую очередь.

(В 1980 г Н.П. Брусенцовым был разработан язык ДССП, напоминающий несколько усложнённый Forth http://forth-j.narod.ru/dssp.htm)

— Да мне это самому интересно, — ответил Ершов. — Ведь, если подумать, то машина, работающая на таком языке, может сама себя программировать. В смысле, не просто транслировать программу в машинные коды автоматически, а определять новые слова в процессе работы и тут же их использовать. Это же один из путей создания искусственного интеллекта.

— Искусственный интеллект — проблема весьма интересная, но ей мы займёмся позже, — слегка охладил его Лебедев. — Сейчас надо сосредоточить все усилия на управляющих ЭВМ для промышленности.

Ершов с энтузиазмом взялся за дело. Основной словарь Forth был переведён на русский язык, ещё некоторое время ушло на адаптацию языка к машинным кодам ЭВМ «Сетунь». Для скорости вначале реализовали не все слова основного словаря, а лишь те, что были необходимы для управления манипулятором, рассчитывая дополнить словарь в следующей версии.

Параллельно несколько программистов писали на Forth программу для управления манипулятором. Наконец её впервые запустили на реальной ЭВМ. Две недели работали в три смены, вылавливая ошибки. Затем подключили к «Сетуни» манипулятор. Архитектура языка сильно упрощала отладку. Каждую команду, каждое движение можно было отладить в интерактивном режиме, обращаясь при этом напрямую к процедурам, написанным в машинных кодах. Уже отлаженные движения в виде новых «слов» Forth добавлялись в основную программу. Каждый день манипулятор «умнел», «разучивая» новые движения и обретая новые возможности. Наконец, механическая «рука» начала уверенно брать с лотка подачи заготовки и устанавливать их в патрон токарного станка. Это была победа.

Общий объём программы на Forth оказался даже меньше, чем объём памяти для машинных кодов, реализующих её «внутри» ЭВМ. Программа была написана «почти человеческим» языком, что привело в восторг заводских технологов МЗМА, на котором опробовали новую систему.

В конце июня образец гибкой производственной ячейки под управлением ЭВМ «Сетунь», оснащённый манипулятором и управляющей программой на Forth, показали в США на «Выставке достижений советской науки, техники и культуры» (АИ, см. гл. 04-12). Но целью разработки и внедрения была не «показуха» в Штатах. Пока программисты совершенствовали свою реализацию языка Forth и переносили её на разрабатываемую Старосом ЭВМ УМ-1НХ, к работе подключился Институт автоматики и телемеханики (ИАТ АН СССР), которым с 1951 года руководил академик Вадим Александрович Трапезников.

Программисты ИАТ по достоинству оценили возможности Forth в части управления оборудованием и робототехникой. Они, совместно со специалистами ЭНИМС, взяли на себя внедрение новых технологий, сначала на МЗМА. (АИ) Затем планировалось внедрять гибкие производственные ячейки на Горьковском автозаводе, на заводе «Коммунар» в Запорожье, где изготавливалась IFA «Спутник», и далее везде. И это было только начало.

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

Переход промышленности на широкое применение станков с программным управлением требовал внедрения новых устройств и технологий. В 1958 году могилёвский завод «Электродвигатель» освоил серийное производство шаговых двигателей, а челябинский завод «Электромашина» запустил в серию линейные электродвигатели нескольких типоразмеров, необходимые для электроэрозионных станков, а также станков гидравлической, плазменной и лазерной резки. (АИ) До этого данные типы двигателей изготавливались только в небольших количествах, в лабораторных условиях. На этих двигателях собирались станки с программным управлением, разрабатываемые в ЭНИМС.

Передача разработок периферийных устройств ввода-вывода из Пензенского филиала СКБ-245 в НИИСчётмаш происходила постепенно, тем более, что некоторые из этих устройств уже были в достаточно высокой степени готовности, и передача их разработки в другую организацию на этом этапе лишь отодвинула бы окончание работ. В то же время в НИИСчётмаш разработки периферийных устройств по заданию министерства электронной промышленности уже велись, и решение Шокина лишь зафиксировало сложившееся положение дел.

Продолжая совершенствовать, и одновременно изучать 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 листа на ней получалась больше, чем на АЦПУ ударного действия. Поэтому, когда Шокину принесли эскизный проект графопостроителя формата А1, основанного на принципе ЭФМ, он сказал:

— Мужики, да вы охренели... Сколько будет стоить замена светочувствительного барабана такой длины — кто-нибудь считал? Думайте дальше.

Матричный принтер позволял выводить на печать графику, хотя и достаточно примитивную, учитывая существующие ограничения по оперативной памяти. Идея не умерла, её передали в НИИСчётмаш, где работа по созданию матричного принтера была продолжена. (АИ частично, НИИСчётмаш действительно занимался разработкой АЦПУ, хотя на тот момент не матричных http://www.computer-museum.ru/histussr/niism.htm)

Взаимодействие НПО «Научный центр» и Пензенского филиала СКБ-245 с ЭНИМС в части разработок станков с ЧПУ привело к взаимопроникновению идей и тематик. Вычерчивание схем, чертежей, выклеивание масок для микросхем вручную занимало много времени и приводило к неизбежным ошибкам. Для упрощения процесса пользовались фотоспособом и делением маски на отдельные функциональные блоки, которые вычерчивали по отдельности, а потом склеивали вместе и переснимали на плёнку.

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

(Первые плоттеры, например Calcomp 565, разработанный в 1959 г, работали на принципе передвижения бумаги с помощью ролика, обеспечивая тем самым координату X, а Y обеспечивалась движением пера. Другой подход, воплощённый в первой CAD системе Computervision’s Interact I, представлял собой модернизированный пантограф, управляемый вычислительной машиной и имеющий шариковое перо в качестве рисующего элемента https://sites.google.com/site/sinkevichslava/home/grafopostroitel)

123 ... 137138139140141 ... 153154155
Предыдущая глава  
↓ Содержание ↓
↑ Свернуть ↑
  Следующая глава



Иные расы и виды существ 11 списков
Ангелы (Произведений: 91)
Оборотни (Произведений: 181)
Орки, гоблины, гномы, назгулы, тролли (Произведений: 41)
Эльфы, эльфы-полукровки, дроу (Произведений: 230)
Привидения, призраки, полтергейсты, духи (Произведений: 74)
Боги, полубоги, божественные сущности (Произведений: 165)
Вампиры (Произведений: 241)
Демоны (Произведений: 265)
Драконы (Произведений: 164)
Особенная раса, вид (созданные автором) (Произведений: 122)
Редкие расы (но не авторские) (Произведений: 107)
Профессии, занятия, стили жизни 8 списков
Внутренний мир человека. Мысли и жизнь 4 списка
Миры фэнтези и фантастики: каноны, апокрифы, смешение жанров 7 списков
О взаимоотношениях 7 списков
Герои 13 списков
Земля 6 списков
Альтернативная история (Произведений: 213)
Аномальные зоны (Произведений: 73)
Городские истории (Произведений: 306)
Исторические фантазии (Произведений: 98)
Постапокалиптика (Произведений: 104)
Стилизации и этнические мотивы (Произведений: 130)
Попадалово 5 списков
Противостояние 9 списков
О чувствах 3 списка
Следующее поколение 4 списка
Детское фэнтези (Произведений: 39)
Для самых маленьких (Произведений: 34)
О животных (Произведений: 48)
Поучительные сказки, притчи (Произведений: 82)
Закрыть
Закрыть
Закрыть
↑ Вверх