Modcomp

Last updated
Modcomp
FormerlyModular Computer Systems
Company typePrivate
IndustryMinicomputers
Founded1970;54 years ago (1970) in Fort Lauderdale, Florida
SuccessorCSPi Technology Solutions
Front panel of the Modcomp Classic (ACONIT collection in Grenoble, France) Modcomp-Classic-ACONIT.jpg
Front panel of the Modcomp Classic (ACONIT collection in Grenoble, France)

Modcomp, Inc., originally Modular Computer Systems, was a small minicomputer vendor that specialized in real-time applications. They were founded in 1970 in Fort Lauderdale, Florida. In the 1970s and 1980s, they produced a line of 16- and 32-bit mini-computers. Through the 1980s, Modcomp lost market share as more powerful micro-computers became popular, and Digital Equipment Corporation's VAX and Alpha systems continued to grow. The company successfully survives today as a systems integrator operating as CSPi Technology Solutions headquartered in Deerfield Beach, Florida.

Contents

Computers

Their first computer was the 16-bit Modcomp III, introduced shortly after the company was founded. This had 15 general-purpose registers, and was initially offered with a 16-kilobyte (16,384 bytes), 18-mil magnetic-core memory with an 800 ns cycle time, expandable to 128 kilobytes (131,072 bytes). The Modcomp I followed for smaller applications, with only 3 general-purpose registers and a maximum of 64 kilobytes (65,536 bytes) of core. These machines were based on SSI and MSI TTL logic. The Modcomp II, introduced in 1972, maintained compatibility with the Modcomp III, while using some LSI circuits. [1] [ self-published source ] [2] The core architecture of the 16-bit machines included blocks of uncommitted opcodes and provisions for physical modularity that hint at the reasoning behind the company name.

The Modcomp IV was an upward compatible 32-bit machine with a paged memory management unit introduced in 1974. The minimum memory configuration was 32 kilobytes (32,768 bytes), expandable to 512 kilobytes (524,288 bytes), with access times of 500 to 800 nanoseconds (varying because of memory interleaving). The machine had 240 general purpose registers, addressable as 16 banks of 15 registers. The MMU contained 1024 address mapping registers, arranged as 4 page tables of 256 pages each (some of these page tables could be further subdivided if address spaces smaller than 128 kilobytes (131,072 bytes) were needed). Fields of the Program Status Doubleword were used to select the current active register bank and page table. The machine had a two-stage pipelined CPU, and a floating-point unit. [2] [3]

In many regards, the Modcomp IV had potential as a competitor for the VAX, although the address space per process was limited to 64K 16-bit words; 256 pages of 256 words each, from the perspective of the MMU. Beginning in 1978, the Modcomp IV was replaced by the Modcomp Classic; the first Classic model was the 7810. This retained compatibility with the Modcomp IV, while offering full support for 32-bit addressing. The later 9250 and 9260 continued to support both 16-bit and 32-bit applications.

Operating systems

The Modular Applications eXecutive family of operating systems supported these machines. MAX I was a real-time monitor for a fixed set of processes linked into a single memory image. This met the requirements of many embedded systems. MAX II was a batch disk operating system with real-time extensions. It could be used for program development in the background while foreground processes handled real-time loads. These systems used fixed-priority pre-emptive scheduling.

MAX III (for the 16-bit machines) and MAX IV (for the Modcomp IV) allowed for multiple interactive users. [2] In MAX III, all processes shared the one address space with swapping used to support multiple background processes, one per interactive user. The MAX IV operating system was largely compatible, while it took advantage of the new features of the Modcomp IV to allocate one address space for each process. Demand paging was not supported, and swapping was used when the total memory demand for all processes exceeded the available physical memory. The operating system also took advantage of the 15 registers to reduce time required to change program environments. The successor to MAX IV, developed to fully exploit the Modcomp Classic system, was called MAX 32.

Program development

In addition to a very capable Macro-Assembler, the Fortran system also was designed to take advantage of the multiple registers to temporarily hold the values of variables and indexes. The compiler also had optimization which reduced the number of operations required to process math expression most often found in indexing into arrays. The compiler also produced Macro-Code that when processed by the Macro-Assembler produced loadable machine code. When the Modcomp IV was released, the output of the compiler's code could be modified to take advantage of newer instructions available in the hardware. [4]

Applications

Front panel of a NASA Modcomp II Modcomp II.jpg
Front panel of a NASA Modcomp II

Many of Modcomp's early sales were for tracking and data collection from NASA space probes, and in the 1980s they provided a network of 250 Modcomp II systems to control the Space Shuttle launch complex at Cape Canaveral as well as SET at SAIL at JSC until T-30, at which point control was handed over to a single IBM mainframe. [1] In the 1990s Modcomp developed a product in the UK called ViewMax, which was used to connect web-based "front-ends" to legacy systems. In 1996, Modcomp had $36.7 million in sales, and were purchased by CSPI.

Modcomp IV computers were used for the control system of the PAVE PAWS radar system built for the United States Air Force Space Command. [5]

Outside of the aerospace industry, these systems were particularly popular with the oil industry, both in oil refineries and in oilfields, and for general manufacturing automation. Standard Oil, and Shell oil, made extensive use of Modcomp equipment in the 1970s. [6] [7] [8]

Related Research Articles

i386 32-bit microprocessor by Intel

The Intel 386, originally released as 80386 and later renamed i386, is a 32-bit microprocessor designed by Intel. The first pre-production samples of the 386 were released to select developers in 1985, while mass production commenced in 1986. The processor was a significant evolution in the x86 architecture, extending a long line of processors that stretched back to the Intel 8008. The 386 was the central processing unit (CPU) of many workstations and high-end personal computers of the time. The 386 began to fall out of public use starting with the release of the i486 processor in 1989, while in embedded systems the 386 remained in widespread use until Intel finally discontinued it in 2007.

<span class="mw-page-title-main">PDP-10</span> 36-bit computer by Digital (1966–1983)

Digital Equipment Corporation (DEC)'s PDP-10, later marketed as the DECsystem-10, is a mainframe computer family manufactured beginning in 1966 and discontinued in 1983. 1970s models and beyond were marketed under the DECsystem-10 name, especially as the TOPS-10 operating system became widely used.

The NS32000, sometimes known as the 32k, is a series of microprocessors produced by National Semiconductor. The first member of the family came to market in 1982, briefly known as the 16032 before becoming the 32016. It was the first general-purpose microprocessor on the market that used 32-bit data throughout: the Motorola 68000 used 32-bit data but had a 16-bit ALU and thus took twice as long perform many operations. However, the 32016 contained many bugs and often could not be run at its rated speed. These problems, and the presence of the otherwise similar 68000 which had been available since 1980, led to little use in the market.

<span class="mw-page-title-main">SPARC</span> RISC instruction set architecture

SPARC is a reduced instruction set computer (RISC) instruction set architecture originally developed by Sun Microsystems. Its design was strongly influenced by the experimental Berkeley RISC system developed in the early 1980s. First developed in 1986 and released in 1987, SPARC was one of the most successful early commercial RISC systems, and its success led to the introduction of similar RISC designs from many vendors through the 1980s and 1990s.

<span class="mw-page-title-main">Motorola 68010</span> Microprocessor model

The Motorola MC68010 and Motorola MC68012 are 16/32-bit microprocessors from Motorola, released in 1982 as successors to the Motorola 68000. The 68010 and 68012 added virtualization features, optimized loops and fixed several small flaws to the 68000. The MC68010 variants were pin compatible with its predecessor while the MC68012 is an 84-pin PGA version with its directly accessible memory space extended to 2 GiB.

In computer architecture, 8-bit integers or other data units are those that are 8 bits wide. Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data buses of that size. Memory addresses for 8-bit CPUs are generally larger than 8-bit, usually 16-bit. 8-bit microcomputers are microcomputers that use 8-bit microprocessors.

The Motorola 68000 series is a family of 32-bit complex instruction set computer (CISC) microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations and were the primary competitors of Intel's x86 microprocessors. They were best known as the processors used in the early Apple Macintosh, the Sharp X68000, the Commodore Amiga, the Sinclair QL, the Atari ST and Falcon, the Atari Jaguar, the Sega Genesis and Sega CD, the Philips CD-i, the Capcom System I (Arcade), the AT&T UNIX PC, the Tandy Model 16/16B/6000, the Sun Microsystems Sun-1, Sun-2 and Sun-3, the NeXT Computer, NeXTcube, NeXTstation, and NeXTcube Turbo, early Silicon Graphics IRIS workstations, the Aesthedes, computers from MASSCOMP, the Texas Instruments TI-89/TI-92 calculators, the Palm Pilot, the Control Data Corporation CDCNET Device Interface, the VTech Precomputer Unlimited and the Space Shuttle. Although no modern desktop computers are based on processors in the 680x0 series, derivative processors are still widely used in embedded systems.

x86 memory segmentation refers to the implementation of memory segmentation in the Intel x86 computer instruction set architecture. Segmentation was introduced on the Intel 8086 in 1978 as a way to allow programs to address more than 64 KB (65,536 bytes) of memory. The Intel 80286 introduced a second version of segmentation in 1982 that added support for virtual memory and memory protection. At this point the original mode was renamed to real mode, and the new version was named protected mode. The x86-64 architecture, introduced in 2003, has largely dropped support for segmentation in 64-bit mode.

In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units (CPUs). It allows system software to use features such as segmentation, virtual memory, paging and safe multi-tasking designed to increase an operating system's control over application software.

<span class="mw-page-title-main">Memory management unit</span> Hardware translating virtual addresses to physical address

A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware unit that examines all memory references on the memory bus, translating these requests, known as virtual memory addresses, into physical addresses in main memory.

<span class="mw-page-title-main">Zilog Z8000</span> 16-bit microprocessor

The Z8000 is a 16-bit microprocessor introduced by Zilog in early 1979. The architecture was designed by Bernard Peuto while the logic and physical implementation was done by Masatoshi Shima, assisted by a small group of people. In contrast to most designs of the era, the Z8000 did not use microcode which allowed it to be implemented in only 17,500 transistors.

<span class="mw-page-title-main">Memory address</span> Reference to a specific memory location

In computing, a memory address is a reference to a specific memory location used at various levels by software and hardware. Memory addresses are fixed-length sequences of digits conventionally displayed and manipulated as unsigned integers. Such numerical semantic bases itself upon features of CPU, as well upon use of the memory like an array endorsed by various programming languages.

A CPU cache is a hardware cache used by the central processing unit (CPU) of a computer to reduce the average cost to access data from the main memory. A cache is a smaller, faster memory, located closer to a processor core, which stores copies of the data from frequently used main memory locations. Most CPUs have a hierarchy of multiple cache levels, with different instruction-specific and data-specific caches at level 1. The cache memory is typically implemented with static random-access memory (SRAM), in modern CPUs by far the largest part of them by chip area, but SRAM is not always used for all levels, or even any level, sometimes some latter or all levels are implemented with eDRAM.

Memory segmentation is an operating system memory management technique of dividing a computer's primary memory into segments or sections. In a computer system using segmentation, a reference to a memory location includes a value that identifies a segment and an offset within that segment. Segments or sections are also used in object files of compiled programs when they are linked together into a program image and when the image is loaded into memory.

<span class="mw-page-title-main">IBM ROMP</span>

The ROMP is a reduced instruction set computer (RISC) microprocessor designed by IBM in the late 1970s. It is also known as the Research OPD Miniprocessor and 032. The ROMP was originally developed for office equipment and small computers, intended as a follow-on to the mid-1970s IBM OPD Mini Processor microprocessor, which was used in the IBM Office System/6 word-processing system. The first examples became available in 1981, and it was first used commercially in the IBM RT PC announced in January 1986. For a time, the RT PC was planned to be a personal computer, with ROMP replacing the Intel 8088 found in the IBM Personal Computer. However, the RT PC was later repositioned as an engineering and scientific workstation computer. A later CMOS version of the ROMP was first used in the coprocessor board for the IBM 6152 Academic System introduced in 1988, and it later appeared in some models of the RT PC.

In computing, a word is the natural unit of data used by a particular processor design. A word is a fixed-sized datum handled as a unit by the instruction set or the hardware of the processor. The number of bits or digits in a word is an important characteristic of any specific processor design or computer architecture.

In the x86-64 computer architecture, long mode is the mode where a 64-bit operating system can access 64-bit instructions and registers. 64-bit programs are run in a sub-mode called 64-bit mode, while 32-bit programs and 16-bit protected mode programs are executed in a sub-mode called compatibility mode. Real mode or virtual 8086 mode programs cannot be natively run in long mode.

The 9S08 is an 8-bit microcontroller (μC) family originally produced by Motorola, later by Freescale Semiconductor, and currently by NXP, descended from the Motorola 6800 microprocessor. It is a CISC microcontroller. A slightly extended variant of the 68HC08, it shares upward compatibility with the aging 68HC05 microcontrollers, and is found in almost any type of embedded systems. The larger members offer up to 128 KiB of flash, and 8 KiB of RAM via a simple memory management unit (MMU) which allows bank-switching 16 KiB of the address space and an address/data register pair which allows data fetches from any address. The paging scheme used allows for a theoretical maximum of 4 MB of flash.

The maximum random access memory (RAM) installed in any computer system is limited by hardware, software and economic factors. The hardware may have a limited number of address bus bits, limited by the processor package or design of the system. Some of the address space may be shared between RAM, peripherals, and read-only memory. In the case of a microcontroller with no external RAM, the size of the RAM array is limited by the size of the integrated circuit die. In a packaged system, only enough RAM may be provided for the system's required functions, with no provision for addition of memory after manufacture.

In computer architecture, 16-bit integers, memory addresses, or other data units are those that are 16 bits wide. Also, 16-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, address buses, or data buses of that size. 16-bit microcomputers are microcomputers that use 16-bit microprocessors.

References

  1. 1 2 Marshall William McMurran, "NASA Control Computers" (chapter 6), section "Modcomp", Achieving Accuracy, Xlibris, 2008; pages 161–162
  2. 1 2 3 Modcomp Family, Modular Computer Systems Inc, undated advertising brochure; discusses the Modcomp I, II. II/CP and IV computers. Therefore, the probable date is 1974–1975. Digitized Mar 18, 2009.
  3. Modcomp Max IV Reference Data, University of California at San Francisco, 1976; this is a third-party programmer's pocket reference card for the Modcomp IV.
  4. Felix Bearden, felix-bearde@felixlovesliz.com, previous employee
  5. National Research Council, Chapter 7 — Computers, Steering, and Beam Pointing, Radiation Intensity of the PAVE PAWS Radar System, National Academy of Sciences, 1979; page 33.
  6. William M. Herring, Dennis B. Walling, Multiplexer-analog/digital Conversion System, U.S. patent 3,968,487 , granted Jul. 6, 1976.
  7. William M. Herring, Dennis B. Walling, Computer Control System, U.S. patent 4,005,387 , granted Jan. 25, 1977.
  8. Mark F. Kempf, D'Arcy C. Randall, Timothy R. Walworth, Digital bus and control circuitry for data routing and transmission, U.S. patent 4,320,452 , granted Jul. 6, 1976.