IBM ROMP

Last updated
ROMP
Designer IBM
Bits 32-bit
Introducedcommercially January 1986;38 years ago (1986-01)
Design RISC
Type Load–store
Encoding Variable (2 or 4 bytes long)
Branching Condition code
Page size4 KB
OpenNo
Registers
General-purpose 16× 32-bit
ROMP Romp.jpg
ROMP

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 (after the two IBM divisions that collaborated on its inception, IBM Research and the Office Products Division (OPD)) and 032. [1] The ROMP was originally developed for office equipment and small computers, [2] intended as a follow-on to the mid-1970s IBM OPD Mini Processor microprocessor,[ citation needed ] 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.

Contents

History

The architectural work on the ROMP began in late spring of 1977, as a spin-off of IBM Research's 801 RISC processor (hence the "Research" in the acronym). Most of the architectural changes were for cost reduction, such as adding 16-bit instructions for byte-efficiency. The original ROMP had a 24-bit architecture, but the instruction set was changed to 32 bits a few years into the development. [3]

The first chips were ready in early 1981, making ROMP the first industrial RISC. The processor was revealed at the International Solid-State Circuits Conference in 1984 [4] ROMP first appeared in a commercial product as the processor for the IBM RT PC workstation, which was introduced in 1986. To provide examples for RT PC production, volume production of the ROMP and its MMU began in 1985. [4] The delay between the completion of the ROMP design, and introduction of the RT PC was caused by overly ambitious software plans for the RT PC and its operating system (OS). This OS virtualized the hardware and could host multiple other operating systems. This technology, called virtualization, while commonplace in mainframe systems, only began to gain traction in smaller systems in the 21st century. An improved CMOS version of the ROMP was first used in the IBM 6152 Academic System workstation, and later in some models of the RT PC.

IBM Research used the ROMP in its Research Parallel Processor Prototype (RP3), an early experimental scalable shared-memory multiprocessor that supported up to 512 processors first detailed in 1985; and the CMOS version in its ACE, an experimental NUMA multiprocessor that was operational in 1988. [5]

Architecture

The ROMP's architecture was based on the original version of the IBM Research 801 minicomputer. The main differences were a larger word size (32 bits instead of 24), and the inclusion of virtual memory. [6] The architecture supported 8-, 16-, and 32-bit integers, 32-bit addressing, and a 40-bit virtual address space. It had an instruction pointer register and sixteen 32-bit general-purpose registers. The microprocessor was controlled by 118 simple 16- and 32-bit instructions. [7]

The ROMP's virtual memory has a segmented 40-bit (1 TB) address space consisting of 4,096 256 MB segments. The 40-bit virtual address is formed in the MMU by concatenating a 12-bit segment identifier with 28 low-order bits from a 32-bit ROMP-computed virtual address. The segment identifier is obtained from a set of 16 segment identifiers stored in the MMU, addressed by the four high-order bits of the 32-bit ROMP-computed virtual address. [8]

Implementation

The ROMP is a scalar processor with a three-stage pipeline. [7] In the first stage, if there are instructions in the 16-byte instruction prefetch buffer, an instruction was fetched, decoded, and operands from the general-purpose register file read. The instruction prefetch buffer read a 32-bit word from the memory whenever the ROMP was not accessing it. [7] Instructions were executed in the second stage, and written back into the general-purpose register file in the third stage. The ROMP used a bypass network and appropriately scheduled the register file reads and writes to support back-to-back execution of dependent instructions. [7] Most register-to-register instructions were executed in one cycle; of the 118 instructions, 84 had a single-cycle latency. [9] The ROMP had an IBM-developed companion integrated circuit which was code-named Rosetta during development. [10] Rosetta was a memory management unit (MMU), and it provided the ROMP with address translation facilities, a translation lookaside buffer, and a store buffer. [7]

The ROMP and Rosetta were originally implemented in an IBM 2 μm silicon-gate NMOS technology with two levels of metal interconnect. [11] [4] The ROMP consists of 45,000 transistors and is 7.65 × 7.65 mm large (58.52 mm2), while Rosetta consists of 61,500 transistors and is 9.02 × 9.02 mm large (81.36 mm2). Both are packaged in 135-pin ceramic pin grid arrays. [4] A CMOS version of the ROMP and Rosetta (called ROMP-C and Rosetta-C) was later developed.

Related Research Articles

<span class="mw-page-title-main">DEC Alpha</span> 64-bit RISC instruction set architecture

Alpha is a 64-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by Digital Equipment Corporation (DEC). Alpha was designed to replace 32-bit VAX complex instruction set computers (CISC) and to be a highly competitive RISC processor for Unix workstations and similar markets.

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">Microprocessor</span> Computer processor contained on an integrated-circuit chip

A microprocessor is a computer processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, and control circuitry required to perform the functions of a computer's central processing unit (CPU). The IC is capable of interpreting and executing program instructions and performing arithmetic operations. The microprocessor is a multipurpose, clock-driven, register-based, digital integrated circuit that accepts binary data as input, processes it according to instructions stored in its memory, and provides results as output. Microprocessors contain both combinational logic and sequential digital logic, and operate on numbers and symbols represented in the binary number system.

<span class="mw-page-title-main">Reduced instruction set computer</span> Processor executing one instruction in minimal clock cycles

In electronics and computer science, a reduced instruction set computer (RISC) is a computer architecture designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set computer (CISC), a RISC computer might require more instructions in order to accomplish a task because the individual instructions are written in simpler code. The goal is to offset the need to process more instructions by increasing the speed of each instruction, in particular by implementing an instruction pipeline, which may be simpler to achieve given simpler instructions.

x86 Family of instruction set architectures

x86 is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the 8086 microprocessor and its 8088 variant. The 8086 was introduced in 1978 as a fully 16-bit extension of 8-bit Intel's 8080 microprocessor, with memory segmentation as a solution for addressing more memory than can be covered by a plain 16-bit address. The term "x86" came into being because the names of several successors to Intel's 8086 processor end in "86", including the 80186, 80286, 80386 and 80486. Colloquially, their names were "186", "286", "386" and "486".

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">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.

The 88000 is a RISC instruction set architecture developed by Motorola during the 1980s. The MC88100 arrived on the market in 1988, some two years after the competing SPARC and MIPS. Due to the late start and extensive delays releasing the second-generation MC88110, the m88k achieved very limited success outside of the MVME platform and embedded controller environments. When Motorola joined the AIM alliance in 1991 to develop the PowerPC, further development of the 88000 ended.

The 801 was an experimental central processing unit (CPU) design developed by IBM during the 1970s. It is considered to be the first modern RISC design, relying on processor registers for all computations and eliminating the many variant addressing modes found in CISC designs. Originally developed as the processor for a telephone switch, it was later used as the basis for a minicomputer and a number of products for their mainframe line. The initial design was a 24-bit processor; that was soon replaced by 32-bit implementations of the same concepts and the original 24-bit 801 was used only into the early 1980s.

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.

<span class="mw-page-title-main">64-bit computing</span> Computer architecture bit width

In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit central processing units (CPU) and arithmetic logic units (ALU) are those that are based on processor registers, address buses, or data buses of that size. A computer that uses such a processor is a 64-bit computer.

<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.

The NX bit (no-execute) is a technology used in CPUs to segregate areas of a virtual address space to store either data or processor instructions. An operating system with support for the NX bit may mark certain areas of an address space as non-executable. The processor will then refuse to execute any code residing in these areas of the address space. The general technique, known as executable space protection, also called Write XOR Execute, is used to prevent certain types of malicious software from taking over computers by inserting their code into another program's data storage area and running their own code from within this section; one class of such attacks is known as the buffer overflow attack.

The POWER1 is a multi-chip CPU developed and fabricated by IBM that implemented the POWER instruction set architecture (ISA). It was originally known as the RISC System/6000 CPU or, when in an abbreviated form, the RS/6000 CPU, before introduction of successors required the original name to be replaced with one that used the same naming scheme (POWERn) as its successors in order to differentiate it from the newer designs.

<span class="mw-page-title-main">AMD Am29000</span> Family of RISC microprocessors and microcontrollers

The AMD Am29000, commonly shortened to 29k, is a family of 32-bit RISC microprocessors and microcontrollers developed and fabricated by Advanced Micro Devices (AMD). Based on the seminal Berkeley RISC, the 29k added a number of significant improvements. They were, for a time, the most popular RISC chips on the market, widely used in laser printers from a variety of manufacturers.

<span class="mw-page-title-main">IBM RT PC</span> Early RISC workstation from IBM

The IBM RT PC is a family of workstation computers from IBM introduced in 1986. These were the first commercial computers from IBM that were based on a reduced instruction set computer (RISC) architecture. The RT PC uses IBM's proprietary ROMP microprocessor, which commercialized technologies pioneered by IBM Research's 801 experimental minicomputer. The RT PC runs three operating systems: AIX, the Academic Operating System (AOS), and Pick.

<span class="mw-page-title-main">Clipper architecture</span> 32-bit RISC-like computing architecture

The Clipper architecture is a 32-bit RISC-like instruction set architecture designed by Fairchild Semiconductor. The architecture never enjoyed much market success, and the only computer manufacturers to create major product lines using Clipper processors were Intergraph and High Level Hardware, although Opus Systems offered a product based on the Clipper as part of its Personal Mainframe range. The first processors using the Clipper architecture were designed and sold by Fairchild, but the division responsible for them was subsequently sold to Intergraph in 1987; Intergraph continued work on Clipper processors for use in its own systems.

<span class="mw-page-title-main">R4000</span> MIPS microprocessor

The R4000 is a microprocessor developed by MIPS Computer Systems that implements the MIPS III instruction set architecture (ISA). Officially announced on 1 October 1991, it was one of the first 64-bit microprocessors and the first MIPS III implementation. In the early 1990s, when RISC microprocessors were expected to replace CISC microprocessors such as the Intel i486, the R4000 was selected to be the microprocessor of the Advanced Computing Environment (ACE), an industry standard that intended to define a common RISC platform. ACE ultimately failed for a number of reasons, but the R4000 found success in the workstation and server markets.

The PowerPC 600 family was the first family of PowerPC processors built. They were designed at the Somerset facility in Austin, Texas, jointly funded and staffed by engineers from IBM and Motorola as a part of the AIM alliance. Somerset was opened in 1992 and its goal was to make the first PowerPC processor and then keep designing general purpose PowerPC processors for personal computers. The first incarnation became the PowerPC 601 in 1993, and the second generation soon followed with the PowerPC 603, PowerPC 604 and the 64-bit PowerPC 620.

IBM POWER is a reduced instruction set computer (RISC) instruction set architecture (ISA) developed by IBM. The name is an acronym for Performance Optimization With Enhanced RISC.

References

  1. Heberlein, Larry (October 1986). "A programmer's view of the PC RT chip". Computer Language. Vol. 3, no. 10. pp. 41–46.
  2. Hester, P.D.; Simpson, Richard O.; Chang, Albert. "The IBM RT PC ROMP and Memory Management Unit Architecture". In Waters, Frank (ed.). The IBM RT Personal Computer Technology, Form No. SA23-1057 (PDF). p. 48.
  3. Waldecker, D.E.; Woon, P.Y. "ROMP/MMU Technology Introduction". In Waters, Frank (ed.). The IBM RT Personal Computer Technology, Form No. SA23-1057 (PDF). p. 44.
  4. 1 2 3 4 Bambrick, Richard (27 January 1986). "IBM's New RISC Processor Based on 10-Year Project". Electronic News .
  5. Lerman, G.; Rudolph, L. (1993). Parallel Evolution of Parallel Processors . Springer Science & Business Media. p.  146. ISBN   9781461528562.
  6. Dewar, Robert B.K.; Smosna, Matthew. Microprocessors: A Programmer's View. McGraw-Hill. p. 378.
  7. 1 2 3 4 5 Furber, Stephen (1989). VLSI RISC Architecture and Organization. CRC Press. pp. 106–109. ISBN   9780824781514.
  8. Tabak, Daniel (1987). RISC Architecture. Research Studies Press. pp. 102–103.
  9. Seymour, Jim (10 June 1986). "RISC Architecture". PC Magazine . p. 113.
  10. Chandler, David (1986). "The ROMP Is Not Just A Lark". UNIX Review.
  11. Waters, Frank (ed.). The IBM RT Personal Computer Technology. p. 8.