IBM System/7

From Wikipedia, the free encyclopedia

The IBM System/7 was introduced in the early 1970s, designed in Boca Raton. It was a 16-bit machine and one of the first made by IBM to use semiconductor memory. Most IBM machines up to that date, and continuing for a while later, used magnetic core memory. There were 8 registers which were mostly general purpose (capable of being used equally in instructions) although R0 had some extra capabilities for indexed memory access or system IO. Later models may have been faster, but the versions extant in 1973 had register to register operation times of 400 nsec, memory read operations at 800 nsec, memory write operations at 1.2 μsec, and direct IO operations were generally 2.2 μsec. The instruction set would be familiar to a modern RISC programmer, with the emphasis on register operations and few memory operations or fancy addressing modes. Multiply and divide were done in software.

The machine was physically compact for its day, designed around racks similar to the standard racks of today and a typical configuration would take up 2 racks about 8 feet high. The usual console device was a teletype, which was also how the machine would generally read its boot loader sequence. Since the semiconductor memory emptied when it lost power (in those days, losing memory when you switched off the power was regarded as a novelty) and ROM BIOS was unknown (after all, you did not need them if your memory was magnetic) the machine had minimal capabilities at startup. It typically would read a tiny bootloader from the teletype, and then that program would in turn read in the full program from another computer or from a high speed paper tape reader. Perhaps because of the teletype or because of the market it was aimed at, the character set used was ASCII rather than the EBCDIC which IBM then used on most systems.

There were various specializations for process control. The CPU had 4 banks of registers each of different priority and it could respond to interrupts within one instruction cycle by switching to the higher priority set. Many specialized IO devices could be configured for things such as analog measurement or signal generation, solid state or relay switching, or TTL digital input and output lines. The machine could be installed in an industrial environment without air conditioning.

The operating system would more properly be called a monitor. IBM provided a wide variety of subroutines, mostly written in assembler, that could be configured into a minimum set to support the peripherals and the application. The application specific code was then written on top of that. A minimal useful configuration would run with 8 kilobytes of memory, though in practice the size of the monitor and application program was usually 12kB and upwards. The maximum configuration had 64kB of memory. That fancy semiconductor memory made the machine fast but also expensive, so a lot of work went into minimizing the typical memory footprint of an application before deployment. The development tools normally ran on IBM's 360 computer system and the program image was then downloaded to a System/7 in a development lab by serial link. Up until 1975 at least it was rare to use disk overlays for the programs, with no support for that in the software tools. Hard disks, in the IBM Dolphin line of sealed cartridges, were available but expensive and were generally used as file systems storing data only.

Most work was done in a macro assembly language, with a fairly powerful macro language facility allowing great flexibility in code configuration and generation. Static variable binding, like Fortran, was the norm and the use of arbitrary subroutine call patterns was rare. The machines were usually deployed for very fixed jobs with a rigidly planned set of software. This often extended to the real-time interrupt latency, using the 4 levels of priority and the carefully crafted software paths to ensure guaranteed latencies. Fortran and PL/1 subset compilers may have become available later as larger configurations became more affordable and more complex data processing was required.

IBM had earlier products in industrial control, notably the IBM 1800 which appeared around 1970. However, there was minimal resemblance in architecture or software between the 1800s and the System/7. The System/7 appears not to have been a successful product or influential outside of IBM and the product line disappeared by the end of the 1970's. IBM's subsequent product in industrial control was the Series/1, also designed at Boca Raton.