vak: (Default)
[personal profile] vak
Закончив разработку МЭСМ, летом 1951 года Сергей Александрович Лебедев переехал в Москву, где занялся БЭСМ-1. Ему запретили взять с собой других членов команды. Вся группа осталась в Киеве, в составе Института математики АН УССР, где продолжила работу. С 1954 по 1958 год была разработана ЭВМ "Киев", развивающая архитектуру МЭСМ. В это же время в Москве Лебедевым делалась более мощная ЭВМ М-20. Фактически по архитектуре "Киев" находится между МЭСМ и М-20, занимая промежуточное положение. Как бы потерянное звено эволюции.

Разработчиком архитектуры "Киева" была Екатерина Логвиновна Ющенко. Книжку про ЭВМ "Киев" мне прислал её сын, Юрий Ющенко, за что ему огромное спасибо. А также за множество подробностей из тех времен, про которые я когда-нибудь отдельно напишу. Хардвер делали Екатерина Алексеевна Шкабара и Лев Наумович Дашевский.

Описание ЭВМ "Киев" можно почитать здесь: https://drive.google.com/file/d/1ysssn7u6ZHzauKt34lAGK67I1Z_Csi-E/view

Или скачать PDF здесь: Вычислительная-машина-Киев.pdf

В третьей главе можно видеть описание Адресного языка программирования, изобретённого Екатериной Логвиновной Ющенко. Считается, что в этом языке впервые появилась концепция указателей - раньше, чем у Bud Lawson (в 1964-м).

В книжке есть много примеров кода, так что вполне имело бы смысл попробовать воспроизвести его на симуляторе. Скажем, можно взять имеющийся симулятор М-20 и небольшими усилиями превратить его в "Киев".

Date: 2021-08-06 02:21 (UTC)
x86128: (Default)
From: [personal profile] x86128
Прикольная машинка. Хорошо что в одну книгу еще и исходники тестовых программ засунули.

Date: 2021-08-06 09:07 (UTC)
From: [personal profile] yury_yuschenko

Главным руководителем разработки компьютера "Киев" был Борис Владимирович Гнеденко, который возглавлял лабораторию вычислительной техники при Институте Математики АН УСССР. Екатерина Логвиновна Ющенко (Рвачова) была назначена руководителем разработки математического (теперь программного) обеспечения компьютера "Киев". Руководителем разработки технической части был назначен Лев Наумович Дашевский.

В обязанности К.Л.Ющенко входило разработка: 1. Системы команд удобной для программирования (архитектура). 2. Системы кодирования данных в памяти. 3. Языка программирования (использовался термин "математический формализм" описания алгоритма расчетов). 4. Программирующей программа (теперь называют "компилятор") перевода записей языка программирования в программы в двоичных кодах компьютера "Киев". Пункты 1 и 2 осуществлялись с активным участие инженера Екатерины Алексеевны Шкабары, которая, в том числе, определяла возможность реализации команд. К.А.Шкабара реализовала работу процессора. Таким образом основные работы по разработке архитектуры были проведены Ющенко К.Л. и Шкабарой К.А.

Долго решали и обсуждали по вопрос: "Как быть с "плавающей точкой"? Реализовывать апаратно или нет?". Ответ пришел сам собой: К.Л.Ющенко, имея опыт моделирования плавающей точки на МЭСМ, предложила программно реализовать плавающую точку. В программной реализации плавающей точки скрывался глубокий смысл, который состоял в следующем: - упрощалась архитектура компьютера, что сокращало сроки её реализации; - повышалась надежность работы компьютера за счет уменьшения количества не очень надёжных электронных ламп. При этом программисты ничего не теряли. У них была возможность писать программы с использованием плавающей точки, как в "машинных кодах эмулятора", так и на языке программирования высокого уровня. Замедление работы компьютера не было критичным, поскольку производительность компьютера "Киев" должна была быть в сотню раз выше, чем производительность компьютера МЭСМ, имеющегося в лаборатории вычислительной техники при Институте Математики АН УССР.. Последующий опыт эксплуатации компьютера "Киев" подтвердил правильность и целесообразность принятого решения.

Б.В.Гнеденко был не просто формальным руководителем работ и "добытчиком" средств, а и принимал участие в выборе разрядности, углублялся в систему команд подсказывал, указывал, поддерживал. Особое внимание Б.В.Гнеденко уделял разработки математического обеспечения, в частности языка программирования. Б.В.Гнеденко был в курсе всех технических решений по каждому устройству и в целиком по машине.

Магнитные барабаны подключили быстро. Некоторая задержка была со специфическими устройствами ввода/вывода изображений (фотопленка/фотопластины). На завершающем этапе разработки компьютера "Киев" главным руководителем разработки был Виктор Михайлович Глушков. Завершалась разработка и подключение особенных и уникальных устройств ввода изображений с фотопленки/фотопластин и устройств засветки их (вывода). Разработка компьютера была завершена в 1957году, хотя его эксплуатация для решения реальных задач началась значительно раньше. Некторые источники считают датой завершения разработки компьютера "Киев" - 14.03.1958г., которая, на самом деле, является датой включения его на ул.Лысогорской после того, как он был перевезен из Феофании, гда монтировался в соседнем с МЭСМ помещении.

Интересный факт: компьютер "Киев" монтировали по ул.Лысогорской в ещё недостроенном здании в котором не было крыши. Строительство было завершено осенью 1958г. В здании были предусмотрены помещения еще для 2-х компьютеров: М-20 и "Урал".

Date: 2021-08-07 07:49 (UTC)
From: [personal profile] yury_yuschenko
В Адресном языке, кроме косвенной адресации высшего ранга (косвенная адресация 2-ого ранга = указатели) появилась концепция деревобразных форматом, которой по предназначению и возможностям подобна всем известная концепция абстрактных типов данных.
Есть несовместимость этих двух концепций. Также есть отдельные преимущества концепции деревобразных форматов над абстрактными типами данных.

Необходимо провести глубокие научные исследования:
1) сравнить обе концепции;
2) оценить целесообразность включения возможностей деревообразных форматом в средства программирования.

Для проведения исследований необходимо иметь реализацию Адресного языка.

В Адресном языке используется кирилица, латиница, греческий алфавит, математические символы, которые используют математики, включая sin, cos и т.д. и т.п., а также специальные символы для описания алгоритмов, которые отсутствуют в используемых кодировках.
Кроме того в Адресном языке есть:
а) надстрочное и подстрочное написание цифр и литер;
б) подчеркнутые символы и символы с чертой сверху.
Для разработки компилятора Адресного языка потребуется перекодировать обозначения этого языка в имеющиеся символы в современных кодировках.
Также вижу:
а) возможность модификации синтаксиса Адресного языка для, в некотором смысле, приближения его к синтаксису классических императивных языков программирования;
б) усовершенствования, развития и дополнения Адресного языка отдельными средствами для повышения удобства программирования.

Современные средства программирования классифицируются на императивные (+функциональные) и декларативные.
Несомненно Адресный язык нужно отнести к императивным языкам, но некоторые его особенности имеют чисто декларативные свойства.
Предполагаю, что возможно на концепции Адресного программирования разработать многоконцептуальный язык программирования.

Всем, кто заинтересуется, готов лично пояснить и обосновать наведенные выше соображения.
Предлагаю всем, кто заинтересовался объединиться.

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

Напоминаю, что Адресный язык "умер" связи с "запретом" всех работ, связанных с его совершенствованием и работ, связанных с разработкой компиляторов для последующих компьютеров. Компилятор для БЕСМ-6 остался недоработанным.
From: [personal profile] yury_yuschenko
Еще несколько важных слов о компьютере "Киев":
Компьютер "Киев" был первый в мире HLL-компьютер (High Level Language computer). К HLL-компьютерам относят компьютеры фирмы Burroughs, на которых можно было программировать на диалекте языка Алгол. Первые Burroughs были чуть раньше киевских компьютеров МИР.

Система команд компьютера "Киев" покрывает все возможности языка программирования Plankalkül (1944г., Германия, Кондрад Цузе), который принято считать первым в мире языком программирования высокого уровня.
Кроме того, что было в Plankalkül, в архитектуре компьютера "Киев" было предусмотрено:
1. Командами "Киев" можно многократно уменьшать ранг адреса (разыменовывать указатели), т.е. выполнять Multiple indirection of Pointers.
2. Определять циклы по переменной "i" типа: "For i From 1 Step 1 to n".
3. Определять циклы по адресу "р" типа: "For р From List Step * to Null", где "p" - текущий "указатель", который "пробегает" по элементам линейного односвязного списка с "головой" "List". "*" в Step указывает, что "шагом" цикла (переходом к следующему елементу) является "разыменование указателя".
4. Команды "Киев" позволили программистам создавать и обрабатывать так называемые "деревообразные форматы", которым подобны "Абстрактные типы данных". Напоминаю, что Абстрактные типы данных" появились в западных языках программирования высокого уровня только после якобы изобретенных в 1964г. Гарольдом Лоусоном Pointers.

Программа ввода программ для компьютера "Киев" является реализацией базовой (основой) части Адресного языка программирования: https://vak.dreamwidth.org/771926.html.
Edited Date: 2021-08-09 06:07 (UTC)