Let me introduce: Kronos and company

                         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.