Проект Кронос и малоизвестная российская команда из Новосибирского академгородка Kronos Research Group (KRG)

Аватар пользователя ВладимирХ

Да, были люди в наше время,

Не то, что нынешнее племя.

Богатыри, не вы!

Речь пойдет о проекте, который еще раз опровергает тот предвзятый факт, что в области компьютерных технологий мы всегда отставали от Запада, а российские программисты занимаются «коленочным» программированием, и удел разработчиков разве что настраивать готовые системы под потребности нашего отечественного рынка.



df56e52f3fe14643aa0adfa02c35fc2e.png
 

Проект Кронос и малоизвестная российская команда из Новосибирского академгородка Kronos Research Group (KRG)


Во второй половине 1980 годов исследовательской группой Кronos были разработаны уникальные технологии, воплощенные в виде целого ряда законченных коммерческих продуктов, и ряд проектов в области космической и телекоммуникационной промышленности. С течением времени группа трансформировалась в три самостоятельные компании, известные как XDS, xTech Ltd. и ProPro Group.

Kronos Research Group (KRG) еще в середине 80 годов разработала отечественную 32-разрядную рабочую станцию, собственную UNIX-подобную операционную систему, реализовала программную и аппаратную части транспьютерной архитектуры для проекта МАРС (Модульные Асинхронные Развиваемые Системы).

ac2a76e956d640f0a26e96844b128e31.png

9b012b0162b64609b8debda1045d8a47.png
Новосибирский государственный университет

Лето 1983 года считается началом создания проекта Кронос, как раз в это время стали доступны материалы по Modula-2 и Lilith. Алексей Недоря работал над дипломной работой — компилятор с языка Edison, Дмитрий Кузнецов работал над созданием компилятора Modula-2. Была организована небольшая группа, которая интересовалась программированием, компиляторами в том числе. Позже к группе присоединились Евгений Тарасов и Владимир Васекин. И вот весной 1984 года этим четверым в голову пришла «нахальная» идея создать что-то подобное Lilith, разработать свою машину со своей ОС.

Кронос-игрушки – это отдельная история. Вообще говоря, Кронос и задумывался изначально потому, что народу очень хотелось иметь машину для игр в собственном распоряжении. Дорого бы я дала сейчас, чтобы поиграть в Кроносовые игрушки. Чемоданчики – были написаны Джоном Серюковым. Он подолгу играл в них – должно быть, отлаживал :) Ксоникс – каких только не было придумано стратегий выигрыша! Самым изящным считалось загнать все шарики-убийцы в узкие комнаты или лабиринты, где они могли совершать только слабые подёргивания. Пентикс – аналог Тетриса, только из пяти квадратиков – первая игрушка на Илюшином цветном дисплее. Аддикция игры была такая, что добровольно прекратить играть было абсолютно невозможно. Одной из игрушек был «Лабиринт», творение Димки Флаасса. Суть игры – требовалось запрограммировать робота на мета-язычке так, чтобы он обошёл лабиринт, собрав по пути все «клады». Народ сидел, вырисовывая на бумажке схему лабиринта, вычисляемую в процессе игры эмпирически – лабиринт порождался для каждой игры случайным образом. Увлечение игрой закончилось неожиданно и закономерно – Димка переделал лабиринт в 3-мерный, что сильно усложнило игру и катастрофически увеличило время ее прохождения. Не осилили.


Опираясь на опыт разработки персональной ЭВМ Lilith при разработке, все же многие решения принимались независимо. Была существенно переработана архитектура взаимодействия процессов, прерываний, адресации и работы с внешними устройствами. Многие упрощения были достигнуты благодаря 32-разрядности процессора (в виде платы для Электроники-60), созданием которого были заняты Тарасов с Васекин. Дедушкой Кроноса можно уверенно считать Никлауса Вирта, профессора из Цюриха, именно он создал язык программирования Modula-2 и реализовал его на машине Lilith. Modula-2 незаменима при разработке программного обеспечения.

Название было дано в честь греческого титана Кроноса. В представлении древних греков царство Кроноса соответствовало «золотому веку», а еще оно созвучно греческому слову «хронос», что в переводе означает — время. По словам разработчиков название скорее всего было выбрано случайно, понравилось звучание.

Существенной особенностью проекта Кронос была исключительная, я бы сказал, магическая, притягательность его для талантливых студентов. Такого эффективно работающего, стихийно самоорганизованного молодежного коллектива я больше никогда не видел. В выделенных для работы 40 квадратных метрах день и ночь что-то программировалось (программировали обычно ночью), обсуждалось, приходили все новые и новые студенты, им ставили задачи, а уже через небольшое время они чувствовали себя старожилами Кроноса. Через этот проект прошло, наверное, человек 20. Сразу скажу, что все они достигли высшей квалификации и сейчас являются лидерами своих нынешних команд, хотя и в разных организациях, городах и странах.


Кузнецов начал писать компилятор на Burroughs 6700 и интерпретатор Кроноса. Недоря реализовывал маленькую ОС под управлением интерпретатора. К лету 1984 года Недоря написал на языке Паскаль микроассемблер для микропрограммирования Кроноса. Уже в декабре 1984 года процессор Кронос-1 был готов. После того как для организации кросс-разработки по последовательному каналу Кронос был подключен к Burroughs, начался сложный процесс отладки.

baab254347944f859c3144707721898a.png

На Кроносе работала пультовая микропрограмма, на Burroughs же была написана маленькая связная утилита, она позволяла загрузить программу в Кронос и запустить ее. Все заработало, но так себе. Поэтому вскоре началась разработка Кронос-2. Планировалось изменить систему команд, процессор, компилятор. Его разработка началась с разработки системы команд, которую не удавалось друг с другом согласовать. Раскрутка новой системы велась прямо через Кронос, на Паскале был завершен Кронос-ассемблер, который был структурным и поддерживал понятия процедуры и раздельной компиляции.

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

Начиная с 1985 года все работы по проекту Кронос проводились в Вычислительном центре, при поддержке А.Г.Марчука. Тут работали создатели проекта Дмитрий Кузнецов, Алексей Недоря, Евгений Тарасов и Владимир Филиппов. Изначально был разработан Кронос-1, позже Кронос-2, Кронос-2.2, Кронос-2.5, Кронос-2.6. Кронос-2 был высоко оценен любителями (вручную было изготовлено около 50 машин) и специалистами в промышленности — документация передавалась в разные организации и в некоторых разработка тиражировалась.

Кронос-2.2, Кронос-2.5, Кронос-2.6 известны как семейство процессоров Кронос.

В 1985 году команде Kronos Group попала в руки книга Вирта на английском языке, которая была о Modula-2.

Это было то, что мы искали, – разбиение программных модулей на интерфейсные и исполнительные части, а также система более строгого программирования с сохранением удобного доступа к низкоуровневым средствам. Появилась возможность наладить нормальное коллективное взаимодействие и вычленить на уровне языка системно-зависимые части. Продолжая работы по обкатанной технологии, мы стали перестраивать свое инструментальное хозяйство на ходу. За пару месяцев удалось разыскать работающий компилятор (это были преемники виртовской системы для PDP-11: М22 и М23 для RT-11). Система понравилась, единственное, что разочаровало, – не очень удачная реализация генератора объектного кода. Даже ради красивой идеи мы не могли позволить себе транжирить системные ресурсы.


Командой была реализована несложная методика ассемблерных вставок, выявлялись критические процедуры, после чего они переписывались вручную на ассемблере "… Оставалось только обмануть защиту компоновщика и написать небольшую программку, которая прямо с листинга в кодах заносила «оптимизированные» процедуры в соответствующее место и корректировала все контрольные суммы, обеспечивающие целостность объектного кода. Все работало как часы".

18256ddcccd8469f9a73392d95722214.png
Алексей Недоря и Владимир Филиппов у рабочей станции Кронос 2.6

Работы проводились на машине с 96 Кбайт оперативной памяти, с единственной внешней памятью были флоппи-диски (480 Кбайт). Так как программировать дальше на ассемблере было «затруднительно», Недоря, Кузнецов и Тарасов занялись написание компилятора, для этого потребовалось 2 недели, размер такого компилятора — 3 тысячи строк на ассемблере. «Не знаю, как остальные, – подчеркивает Недоря, – но я до сих пор считаю тот компилятор для „Кроноса“ одной из лучших своих разработок». Команда приступила к созданию операционной системы Excelsior.
Для ОС Excelsior прототипом послужила ОС UNIX. Она была популярна на то время. Правда окончательная версия, которая была полностью написана на Modula-2, была названа Excelsior iV (мнимая UNIX System V). Она была многопользовательская, многозадачная, построенная на принципе динамической загрузки. 15 человек трудились над созданием операционной системы Excelsior, Дмитрий Кузнецов занимался разработкой файловой системы, а Алексей Недоря — ядром.

В 1986 году из группы ушел Васекин и его место занял Владимир Филиппов. Уже к 1988 году группа насчитывала почти 20 человек.

В 1987 году выпускались модификации Кронос-2.5 и Кронос-2.6. СКВ Института кибернетики АН Эстонии, радиозавод в Ижевске, завод в Ленинграде, несколько предприятий в Новосибирске, Бердске, Кишиневе, Перми занимались выпуском этого семейства процессоров, были модернизированы финские 16-разрядные компьютеры серии ELORG-DATA, позже начал разрабатываться 64-разрядный арифметический сопроцессор.

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

Семейство процессоров Кронос 2.X

Семейство 2.X включает в себя три разработки: 2.2, 2.5, 2.6. Процессоры Кронос выпускались опытными партиями в основном для целей построения инструментальных машин для создания и отладки ПО. Основное применение нашли процессоры Кронос 2.6 при мелкосерийном производстве Рабочей станции Кронос-2.6WS.

a1ccc022f3c5495c9ab4dad7939298d1.png
Рабочая станция Кронос-2.6WS

Процессоры семейства 2.X имеют одну систему команд, различаются по внутреннему функциональному устройству, быстродействию и конструктивному исполнению. Процессоры полностью совместимы программно, блок микропрограммного управления реализует логику функционирования всех блоков. «Две шины данных объединяют арифметико-логическое устройство, блок регистров, быстрый аппаратный стек на 7 слов, устройства выборки команд и ввода/вывода. Двухшинная внутренняя структура процессоров позволяет выполнять бинарные операции на стеке (сложение, вычитание, логические И, ИЛИ и т.д.) за один такт. Таким образом, за один такт исполняется большинство команд, что отвечает основным идеям RISC-архитектуры. Микропрограммное управление упрощает устройство процессоров и дает возможность реализовать сложные команды типа вызова процедуры». (Архитектура процессоров семейства Кронос)

7ad1d353e8ed4d80b8cb95503655bef3.jpg
ОЗУ Кронос М256.2

5bed7f9ab5394549b61bc218b71413ec.jpg
процессор Кронос П2.1

b8bc89e7c1654657a47dc8ad5721ef74.jpg
процессор Кронос П2.2

Кронос 2.2 — первая реализация изложенных выше архитектурных концепций. Процессор выполнен в виде платы в конструктиве ЭВМ Электроника-60, полностью совместим со всеми устройствами, поддерживающими протокол обмена по шине Q-bus 22, оперирует 32-разрядными словами. Шина 16-разрядная, поэтому доступ к слову данных в памяти происходит за два обращения по шине Q-bus 22. АЛУ Кронос 2.2 — 20-разрядное. Адресная арифметика обрабатывается за один такт, а данные – за два такта, процессор размещен на одной плате.

cccdee0e2c994e41bb01645d3d76caeb.jpg
процессор Кронос П2.5

Существенным отличием Кронос 2.5 является наличие локальной памяти объемом 0,5-2 Мбайт — в зависимости от применяемых микросхем. Остальная память — на шине Multibus-1 (до 1 Мбайт). Кронос 2.5 является полностью 32-разрядным, выполнен в виде двух плат в конструктиве Intel. Тактовая частота процессора — 3 МГц, производительность — 1 млн простых операций в секунду над стеком.

cc68c1575abb4aaf9120541bbe7b6b8a.jpg
процессор Кронос П2.6

Кронос 2.6 отличается конструктивным исполнением и гибкостью реконфигурации для конкретного применения, он может быть встроен в отдельную мини-ЭВМ, в мультипроцессорный комплекс, размер плат 233,3 х 220 мм (Е2) — плата обрабатывающего тракта (АЛУ, стек, регистры), плата микропрограммного управления, плата локальной памяти (0.5-2 Мбайт), плата адаптера шины ввода/вывода. Устройства объединены локальной синхронной 32-разрядной шиной, куда могут быть добавлены платы памяти, адаптера межпроцессорной связи, контроллера к локальной сети и накопителя на магнитных дисках, плата памяти кода bitmap-дисплея, арифметического вычислителя и других устройств, тактовая частота процессора — 3 МГц, производительность — 1,5 млн операций в секунду над стеком.

380b2e90b2574557874e5fc62c0bcf89.png

Из жизни коллектива: "… на рабочей станции Кронос 2.6 без особого напряга могли работать одновременно три пользователя. Поскольку народу в группе было гораздо больше, работать приходилось посменно в круглосуточном режиме. Ночные смены любил Леопольд: он сидел до утра, а потом около восьми шел отводить ребенка в садик. Утром подтягивалась следующая смена.

Приходим однажды утром, на клавиатуре записка от Леопольда. На перфокарте большими печатными буквами написано: «Don't touch! SYSTEM BUCHET!» Английского слова «buchet» никто не знал. Стали искать в словаре Мюллера. Было ясно, что слово написано неправильно, но в каком месте он его переврал и что имел в виду? После обеда, отоспавшись, пришел сам виновник торжества. Оказалось, он хотел донести до нас, что ничего нельзя трогать, поскольку модуль SYSTEM виснет".

96468717fa8143d4af6a660d86a05d56.jpg
Кронос-2.6 WS. Экспериментальная модель рабочей станции

fce9168a0e91462fa84b2daf1cc8ab74.png

0f46ee070067492fa7110b74999c85f1.jpg

060e0adeabc14a6297a3dd25fcebe18e.jpg

f5507438f4d24f29922016c0dfa6b42d.jpg

76373fd9bc18456489f703b32f2254eb.jpg

Как упоминалось раньше, ЭВМ с процессорами Кронос 2.2, Кронос 2.5 и Кронос 2.6 работали под управлением операционной системы Excelsior, которая предназначалась для решения широкого круга задач. ОС Excelsior была создана отвечая следующим принципам — открытость системы, модульность, интегрируемость результатов, удобство интерфейса. Все программные средства ОС Excelsior ориентированы на мультипроцессное, многозадачное и многопользовательское применение. Модульная архитектура позволяла применять процессоры Кронос и во встроенных системах реального времени, и в супермини-ЭВМ. Легкость программирования делала Кронос незаменимым в приложениях, которые требовали постоянного развития и изменения ПО.
 

Исследовательский проект МАРС (Модульные Асинхронные Развиваемые Системы)


В 1983 году стало известно, что в Японии ведется проект по созданию компьютеров пятого поколения, в котором упор делался на значительное повышение «интеллектуальности» создаваемых систем. Проект привлек внимание и США, и стран Европы, начали формироваться предложения по созданию альтернативных проектов. В СССР взялись дать оценку японскому проекту и предложить концепцию, реальную в наших условиях. Для этого была создана группа специалистов по архитектуре и программному обеспечению ЭВМ, которую возглавил Котов, были привлечены многие специалисты. К началу 1985 года удалось собрать коллектив, подготовить и согласовать необходимые документы, в апреле Временный научно-технический коллектив Старт приступил к работе.

Александр Марчук заместитель руководителя ВНТК Старт:

Хорошо помню, что серьезных разногласий, а тем более конфликтов — не было. Была творческая атмосфера, научный анализ, уважение к чужому мнению. В отчете совсем мало было написано про японский проект, недостатки которого не хотелось даже критиковать. Будущее показало, что мы были правы и из того японского «чуда» мало что получилось. Кстати, и ведущие западные страны ответили на «японский вызов» программами национального уровня, и результаты американцев и европейцев оказались впоследствии куда более значимыми. Энтузиазм и творческую атмосферу нашей рабочей группы подпитывало ощущение начала большой созидательной работы.


Пару слов о финансировании, было выделено 12 млн. рублей на три года, и более миллиона долларов в валюте для закупки инструментальных компьютеров.

2ed38cacb8784c608e83964d581a9724.jpg
Одна из стоек суперкомпьютера МАРС-М, 1989

Кронос стал базовым процессором для создаваемой коллективом Старт вычислительной системы МАРС. В Старте Кронос был доведен до промышленного образца, выпускался мелкими сериями. Был разработан микропроцессор.

МАРС вычислительный элемент имел произвольное число соседей. Основным строительным блоком служил процессор Кронос (МАРС-Т). Целью проекта МАРС-Т было создание сети процессоров, которые были бы связаны быстрыми каналами. Память в системе была только локальная.
Макет МАРС-Т состоял из четырех процессоров Кронос-2.6, связанных каналами. В процессоры были добавлены дополнительные команды для приема/передачи данных из каналов. На одну машину (головную) загружалась ОС Excelsior iV с модифицированным ядром, на все остальные – небольшое специализированное ядро.

Позже был проект СОКРАТ, во главе с И. В. Поттосиным, сюда же вошли и некоторые члены Kronos Research Group. Проект предусматривал создание средств кросс-разработки для бортового ПО российских спутников.

После развала Сюза правительственное финансирование исследовательских проектов прекратилось и, увы, уже в 1991 году проект Старт был практически полностью свернут.

Началась новая эра -эра частного бизнеса. Участники Группы Кронос создали несколько предприятий. Прикладные программисты собрались в компании ProPro Group, начали работать над созданием чертежного и конструкторского САПР bCAD. Системщики же создали компанию xTech и работали над созданием инструментов программирования, в основном на языках Modula-2 и Оберон-2.

de208033843e478696a478248cbbba77.png
New Kronos

270531847a7943bf9031bb5c2a336d2c.png
А. Денисов, А. Серюков, Е. Тарасов

Авторство: 
Копия чужих материалов

Комментарии

Аватар пользователя kroog
kroog(10 лет 3 месяца)

фамилию не знаю, но когда я общался на выставке с сотрудниками компании (год 10-11, не помню точно), они сообщили, что главный разработчик и, по-моему, один из основателей компании умер, и поэтому развитие ПО приостанавливается на неопределенный срок. Пользуйтесь, типа, тем , что есть.

Жаль, конечно, программа и на сей день неплоха, но конкуренты не дремлют - развиваются

Скрытый комментарий Повелитель Ботов (без обсуждения)
Аватар пользователя Повелитель Ботов

Перспективный чат детектед! Сим повелеваю - внести запись в реестр самых обсуждаемых за последние 4 часа.

Комментарий администрации:  
*** Это легальный, годный бот ***
Аватар пользователя Visit0r
Visit0r(7 лет 2 месяца)

Заголовок запутал. Тоже приходилось иметь дело с "кроносом". Только тот нем. был. Просто кампания производственная. 12К сотрудников. Оборот 2.82 млрд. EUR(2013)

Аватар пользователя sugrobische
sugrobische(11 лет 2 месяца)

шикардос

Аватар пользователя Маргадон
Маргадон(7 лет 9 месяцев)

Знаю их компилятор купили в 99? хз, перелезазал на него с Топ Спида

отличный и среда рабочая... но 32 разрядный

сейчас мне мало

М2 - рабочий язык до сих пор

 

Аватар пользователя vovbel
vovbel(8 лет 9 месяцев)

smile9.gif

Аватар пользователя AntonieS
AntonieS(6 лет 2 дня)

Благодарю за интересную информацию. %)))

 

Аватар пользователя Николай Северин

Отличная статья! Книга "Модула-2" Никлауса Вирта была у меня в домашней библиотеке, наряду с книгами других компьютерных корифеев того времени. Спасибо за отличный перевод! Однако, свои программы я писал в основном на фортране (колода перфокарт в последнее версии была почти с меня ростом), немного на  PL/1, чуть-чуть на языке АП для серии мини-ЭВМ "Наири", что у нас были в вычислительной лаборатории при кафедре, также чуть-чуть на Бейсики для настольных ЭВМ типа ДВК. Еще на ассемблере для серии ЕС ЭВМ (1020, 1045,1060). Экспериментировал с языком Форт. Преподавал виртовский Паскаль своим студентам. На его основе и сделана Модула-2. Молодцы мужики! В те времена это был передний край и наша страна ничуть не отставала от запада. 

Аватар пользователя мужик-лапотник
мужик-лапотник(7 лет 11 месяцев)

Смутно помню, но, кажется видел я материалы по микропроцессору Кронос. Это было то-ли ТЗ, то-ли ТТХ (выжимки из ТЗ). Попали мне в руки эти материалы, кажется в ЦБП ИМС (ЦКБ "Дейтон"). Серьёзная была заявка на прорыв.

Надеялся, что когда этот микропроцессор доделают - будет большой простор для роста и развития.

Не про него ли говорил Велихов с трибуны съезда народных депутатов СССР?

Кто помнит, - были ли в системе команд процессора трёхадресные операции?

Аватар пользователя ВладимирХ
ВладимирХ(11 лет 4 месяца)

Кронос - стековая машина.

Аватар пользователя Ильич_08
Ильич_08(8 лет 5 месяцев)

Тогда программирование было искусством, не то, что сейчас. Поджимало и время и объёмы ОЗУ, приходилось сильно изворачиваться, зато результат вызывал восторг у разработчика. Настольные книги - "Искусство программирования" Кнута и "Этюды для программистов" Чарлза Везерелла.

Аватар пользователя ВладимирХ
ВладимирХ(11 лет 4 месяца)

+

Аватар пользователя blkpntr
blkpntr(8 лет 5 месяцев)

Сохранилась ли документация на всё это?

Аватар пользователя ВладимирХ
ВладимирХ(11 лет 4 месяца)

Да, конечно. Посмотрите на сайте. Интерпретатор процессора там точно был.

Страницы