M.Philippova
Kronos - this is the name of the processor family, and
this is the name of research group of people who carried out
Kronos project. I was lucky enough to know these remarkable
people for a long time and to work together with them. So I'll
tell about Kronos group and Kronos computer.
From the very beginning
Now all members of Kronos group are reliable grown men.
But in 1984 they were just a students of Novosibirsk
university, lived in a student hostel and specialized on
computer science in the different Academician institutes. No
doubt, they dreamed of a personal computer (not per twelve
person!). There were no IBM PC or any Soviet personal computer
in the Soviet Union this time. That's because they decided to
make a computer for their own needs. They wanted it to be
powerful, but not very large: the room in the hostel had a
floorspace 8x10 feet.
Upon this time students acquainted with Niclaus Wirth
work concerned architecture of his computer Lilith. The idea
to design architecture for language seemed to them very
alluring, and the first Kronos processor was born.
It was assembled with parts of broken "Electronica-60"
(LSI-11-like Soviet computer) in standard 'post box'. It
means, that processor card was placed in one post box, memory
card - in the second one, disk drive - in the third one, and
there was a lot of different conductors which links all boxes.
Nevertheless, the system operated.
The creation received the name of titan Kronos from
ancient Creek mythology. I suspect that the reason of this
choice were kronosides. Kronoside is the holiday with hearty
meal and drink, which Greeks made in honour of Kronos, who was
the god of harvest and prosperity.
The student work seemd interesting to Alexander Marchuk,
the leader of a laboratory of Computing Center Institute. He
invited the young men to work in the institute.
Later within the precincts of the institute processor
Kronos-2 and following versions Kronos 2.5 and Kronos 2.6 were
designed. Also the operating system Excelsior and all
applications for this hardware were created there.
However it's possible that the main thing is not hardware
or software. Initially Kronos group consists of four men - two
mathematician and two physician. Later new people grown up on
Kronos. Now some of them joined to the group, other work in
the different institutes, but all of them absorbed "Kronos
style" of programming and design.
And what they obtained
The architecture of KRONOS family processors is oriented
to the support of the high-level languages (C, Modula-2,
Pascal, Occam, Oberon) and thereby permit to design modern
conceptions for computer application. 32-bit machine word
allows one to use processors of the family for scientific
researches. The hardware support of the interruption handler
(for the events and processes synchronization) and compact
code give surance that the processors of KRONOS family may be
used successfully in the real-time systems.
Any processor of the family may be used in a single
computer or in a multiprocessing system as well.
All processors were made of the Soviet chips. On the one
hand, it gives the possibility to construct processors from
'materials at hand' without limitations in quantity, on the
other hand, processors are limited in clock rate (3 mHz in 2.6
model). Nevetheless, felicitous architecture allows to rich
about 1,6 thousands drystones at 2.6 model.
Loving child: model number 2
KRONOS-2 was the first implementation of preceding
concepts. It was embedded in "Electronica-60" computer and was
compatible with its peripheral devices and memory. The
processor was designed on 8-bit slice and other TTL-chips.
This model had 32-bit word, and RAM upto 4Mbytes.
The computer with Kronos-2 was very cheap. They were
distributed among friends of Kronos group in whole country.
This processor was also used in a few embedded systems (in Red
Army).
On Multibus
KRONOS-2.5 is the development of KRONOS-2 processor
distinguished by higher performance: 1 million instructions
over stack per second. Interface with the external devices is
performed via MULTIBUS 1.
Really the 2.5 model was embedded in Labtam computer. It
has a pleasant monitor and keyboard, and that's because the
designers prefer to use exactly this model for home work.
Kronos 2.6 and workstation
Kronos 2.6 was designed for using in workstation. Now
Kronos workstation exists, and everybody can buy it.
In 1988 the informatics system department leadership
suggested to Novosibirsk region authorities to produce Kronos
workstations. Then the region communist leaders adviced to
rename a computer with names 'Syberia' or 'Ob'. It was very
funny, because these were the names of ... washing machines.
Later the production of workstations was organized in another
region.
Workstation was oriented to professional programmers or
computer designers, providing from two to four workplaces, but
may be used as an administrating machine in nets, or as an
production manager. It dependes of concrete configuration and
external devices. Workstation may be reconfigurated easily for
any specific case.
The single-chip variant of KRONOS processor was not
fulfilled, and it's sad, because it permits to provide the
creation of systems with performance about 5 million
instructions per second for each transputer element. The
academician institute hasn't a possibility to produce chips.
In any way, now it's too late. The Russian market filled with
IBM PC, and it is very difficult to change this situation.
About operating system
Kronos software was written on Kronos from the beginning
to the end. The name of operating system Excelsior reflects
the principals of creation Kronos software. The system was
rewritten more than once. The base language is Modula-2.
Kronos softmen consider it is the best language for system
design. It permit to create modular evolutionable systems. The
modular organization provides quick reconfiguration of system
depending of hardware devices and user needs.
Excelsior is multiusers and multitask system. It is
oriented to professional programmers (it does not exclude it
usage in another purposes). So the main property of OS
Excelsior is programmability. It is provided by different
means, one of which is the dynamic program loading. Coupled
with turbo-compilation it allows one to make the debugging
cycle fantastically short.
Programming system
On my mind, the programming system is a language, a
compiler realising this language, a collection of libraries,
which allow one to write his own programs with another hands,
and text editor.
Language
Kronos programmers use an extended version of Modula-2,
so called 'Modula-X'. The extensions were added in language
for program simplicity. For example, I like most of all such
extension as sequence parameter, which allows to realize
procedure 'print' with parameters for any case of life. Also I
like the introduction of standard type 'DYNARR' - dynamic
array, which deliver user from tiring and dangerous work with
pointers. More detail all extensions were described in [1].
Compiler & Text Editor
It is difficult to separate compiler and text editor
because turbo-compilation include both of them.
Kronos text editor is universal. It valids for programs
and for texts like this. Creating it, the authors hold a
conception of saving of human intellect, which they consider
as the most limited resourse. One can carry out a lot of
actions using macros apparate. For example, for typing all
words 'Kronos' in this text I pressed two buttons only. So it
requires about 20 buttons to type program printing 'hello'.
Two buttons more - and your program is compiled, two buttons
more - and after typing its name program is working.
Kronos Modula-compiler is a serious scientific work.
Designer used non-trivial algorythms and principals in its
realisation. But I have not read the text of the compiler, so
I'll tell about it as a simple user.
What I mean by the words 'fast computer'? When TopSpeed
Modula compiler in IBM PC compiles my program, I go to drink
tea or to talk with somebody, although this computer has about
10 mHz clock rate. Kronos Modula-compiler does not permit to
weaken. For example, it compiles itself for 2 minutes (its
size is about 9000 lines). An usual module of 200 lines has
been compile practically in a moment. However, when I deal
with program consisting of many modules, I can compile it
parallel with another task.
Libraries
As stated above, to use libraries is a good way to write
own programs with another hands. Library procedures are the
building materials for user programs. Libraries save not only
time, but a space, I means a disk space. Libraries entire to
programs as modules. Because of dynamic program loading, it is
not necessary to link modules in large image file, and so the
libraries codes are stored at disk in a single copy. In
addition, the experience showd that usage of the libraries
educates young programmers in a good style of programming.
Applications software
For the last five years numerous application programs
appeared for Kronos. Kronos bitmap graphic subsystem provided
the designing of some variants of window managers and graphic
editors.
The topology editor and processor 2.6 were created just
the same time, and the processor cards were laid out with the
editor trasser.
Now Kronos has computer-aided design system of machinery
building which could concure with well-known products AutoCAD
and CADKEY and other. This is multiwindows and multimodels
high perfomance system.
What does they do now
Kronos group continious their work in some directions. Te
first one are nets, including international channels, and the
second one is Oberon system. There appears a problem of
program portability to more distributed computers. In the
desigion of the problem group have reached some success. I
hope, that this one and the last events in politics will help
Kronos group to join to the world computer science.