The Kronos
instruction set architecture was based on
Niklaus Wirth's
Modula-2 workstation
Lilith, developed at the Swiss Federal Institute of Technology (
ETH Zurich) of
Zürich Switzerland, which in turn was inspired by the
Xerox Alto developed at
Xerox PARC. The Modula-2-based Kronos was quite amenable to the basic principles of MARS, as Modula-2 is fundamentally modular, allowing programs to be partitioned into units with relatively well defined interfaces. These interfaces supported separate compiling of modules, and separating of module specifications from their implementation. The primary difference between Lilith and Kronos was that the processor of Lilith was
16-bit, while Kronos was 32-bit and incorporated several extensions to the instruction set to accommodate the inter-processor communication needed in MARS. Kronos satisfied many aspects of the
reduced instruction set computer (RISC) design, although it was not pure RISC: the evaluation stack was used to evaluate expressions and to hold parameters for procedure calls. Since most executed instructions were encoded in a single byte, the object code for Kronos was very compact. Although Kronos was a proprietary processor, it was well suited to applications which were sensitive to high programmability rather than to software compatibility. For example, embedded control systems require fast and reliable design of new original applications for controlling unique objects and processes. Modula-2 was then a perfect language for this purpose, and Kronos was a perfect processor to effectively run the Modula-2 software. ==Hardware==