The Flex Computer System: UK’s Forgotten Capability Computer Architecture [Hackaday]

View Article on Hackaday

Two ICL PERQ 1 workstation computers, Department of Computer Science, North Machine Hall, James Clerk Maxwell Building, University of Edinburgh. (Credit: J. Gordon Hughes)

During the 1970s many different computer architectures were being developed, many of them focused on making computer systems easier and more effective to use. The Flex Machine developed at the UK Ministry of Defence’s Royal Signals and Radar Establishment (RSRE) was one of them, falling in the category of Capability Architectures. These architectures required hardware with programmable microcode, which required either custom hardware, or computer systems like the Xerox Alto-inspired ICL PERQ (pictured). What’s interesting about Flex is that it didn’t just remain in the 1980s as a quaint footnote, but as detailed by [Martin C. Atkins] – who worked on the system – evolved into the Ten15 system, which later got renamed to TenDRA.

Capability architectures have a long history – including the Intel iAPX 432 and more recent implementations – but they all have in common is that they effectively implement an object-based memory architecture, rather than the low-level, flat memory space that we usually see with computer systems. These object-based capabilities, as they were termed, provides a level of memory protection and security that would be hard to implement otherwise. The book Capability-Based Computer Systems by [Henry M. Levy] forms a good introduction here.

Detailed information on the Flex System is somewhat scattered, with much of the information contained in scans of original paper documentation, such as this introduction to the Flex Computer System from 1979, and the documentation on the instruction set and firmware architecture from 1981.

The TenDRA project is as described on the project page a ‘compiler framework for architecture neutral representation of compiled programs’. The Wikipedia entry for the TenDRA Compiler describes it as a C/C++ compiler for POSIX compatible operating systems, which is now two projects: Ten15 and TenDRA. TenDRA compiles into the Architecture Neutral Distribution Format (ANDF) as an intermediate format, which is an Open Software Foundation definition that is based on the Ten15 Distribution Format, continuing the Flex System legacy.

Although Flex System and TenDRA are not well known, and ANDF never get that much traction in a space ruled by .NET, the JVM and others, one could argue that it’s still a relevant and very much alive set of technologies today.

Thanks to [gnif] for the tip.

Top image: Two ICL PERQ 1 workstation computers, Department of Computer Science, North Machine Hall, James Clerk Maxwell Building, University of Edinburgh. (Credit: J. Gordon Hughes)