Clipper architecture
   HOME

TheInfoList



OR:

The Clipper architecture is a 32-bit
RISC In computer engineering, a reduced instruction set computer (RISC) is a computer designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set comp ...
-like
instruction set architecture In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ...
designed by
Fairchild Semiconductor Fairchild Semiconductor International, Inc. was an American semiconductor company based in San Jose, California. Founded in 1957 as a division of Fairchild Camera and Instrument, it became a pioneer in the manufacturing of transistors and of int ...
. The architecture never enjoyed much market success, and the only
computer A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations ( computation) automatically. Modern digital electronic computers can perform generic sets of operations known as programs. These prog ...
manufacturers to create major product lines using Clipper processors were
Intergraph Intergraph Corporation was an American software development and services company, which now forms part of Hexagon AB. It provides enterprise engineering and geospatially powered software to businesses, governments, and organizations around the ...
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. The Clipper architecture used a simplified instruction set compared to earlier CISC architectures, but it did incorporate some more complicated instructions than were present in other contemporary RISC processors. These instructions were implemented in a so-called Macro Instruction ROM within the Clipper CPU. This scheme allowed the Clipper to have somewhat higher
code density In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ...
than other RISC CPUs.


Versions

The initial Clipper microprocessor produced by Fairchild was the C100, which became available in 1986. This was followed by the faster C300 from Intergraph in 1988. The final model of the Clipper was the C400, released in 1990, which was extensively redesigned to be faster and added more floating-point registers. The C400 processor combined two key architectural techniques to achieve a new level of performance — superscalar instruction dispatch and superpipelined operation. While many processors of the time used either
superscalar A superscalar processor is a CPU that implements a form of parallelism called instruction-level parallelism within a single processor. In contrast to a scalar processor, which can execute at most one single instruction per clock cycle, a sup ...
instruction dispatch or superpipelined operation, the Clipper C400 was the first processor to use both. Intergraph started work on a subsequent Clipper processor design known as the C5, but this was never completed or released. Nonetheless, some advanced processor design techniques were devised for the C5, and Intergraph was granted
patent A patent is a type of intellectual property that gives its owner the legal right to exclude others from making, using, or selling an invention for a limited period of time in exchange for publishing an enabling disclosure of the invention."A ...
s on these. These patents, along with the original Clipper patents, have been the basis of patent-infringement lawsuits by Intergraph against
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 ser ...
and other companies. Unlike many other microprocessors, the Clipper processors were actually sets of several distinct chips. The C100 and C300 consist of three chips: one central processing unit containing both an integer unit and a
floating point unit Floating may refer to: * a type of dental work performed on horse teeth * use of an isolation tank * the guitar-playing technique where chords are sustained rather than scratched * ''Floating'' (play), by Hugh Hughes * Floating (psychological ...
, and two
cache Cache, caching, or caché may refer to: Places United States * Cache, Idaho, an unincorporated community * Cache, Illinois, an unincorporated community * Cache, Oklahoma, a city in Comanche County * Cache, Utah, Cache County, Utah * Cache County ...
and
memory management Memory management is a form of resource management applied to computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when ...
units (CAMMUs), one responsible for data and one for instructions. The CAMMUs contained caches,
translation lookaside buffer A translation lookaside buffer (TLB) is a memory cache that stores the recent translations of virtual memory to physical memory. It is used to reduce the time taken to access a user memory location. It can be called an address-translation cache ...
s, and support for
memory protection Memory protection is a way to control memory access rights on a computer, and is a part of most modern instruction set architectures and operating systems. The main purpose of memory protection is to prevent a process from accessing memory that h ...
and
virtual memory In computing, virtual memory, or virtual storage is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very ...
. The C400 consists of four basic units: an integer CPU, an FPU, an MMU, and a cache unit. The initial version used one chip each for the CPU and FPU and discrete elements for the MMU and cache unit, but in later versions the MMU and cache unit were combined into one CAMMU chip.


Registers and instruction set

The Clipper had 16 integer registers (R15 was used as the stack pointer), 16 floating-point registers (limited to 8 in early implementations), plus a program counter (PC), a processor status word (PSW) containing ALU and FPU status flags and trap enables, and a system status word (SSW) containing external interrupt enable, user/supervisor mode, and address translation control bits. User and supervisor modes had separate banks of integer registers. Interrupt handling consisted of saving the PC, PSW, and SSW on the stack, clearing the PSW, and loading the PC and SSW from a memory trap vector. The Clipper was a load/store architecture, where arithmetic operations could only specify register or immediate operands. The basic instruction "parcel" was 16 bits: 8 bits of opcode, 4 bits of source register, and 4 bits of destination register. Immediate-operand forms allowed 1 or 2 following instruction parcels to specify a 16-bit (sign-extended) or 32-bit immediate operand. The processor was uniformly little-endian, including immediate operands. A special "quick" encoding with a 4-bit unsigned operand was provided for add, subtract, load (move quick to register), and not (move complement of quick to register). Addressing modes for load/store and branch instructions were as follows. All displacements were sign-extended. * (Rn), d12(Rn), d32(Rn): Register relative with 0, 12- or 32-bit displacement * d16(PC), d32(PC): PC-relative * d16, d32: absolute * xRn), xPC): Register or PC-relative indexed. The index register was not scaled. In addition to the usual logical and arithmetic operations, the processor supported: * 32×32→32-bit multiply, divide, and remainder (signed and unsigned) * 64-bit shifts and rotates, operating on even/odd register pairs * 32×32→64-bit extended multiplies * Integer register push/pop (store with pre-decrement, load with post-increment) * Subroutine call (push PC, move address of operand to PC) * Return from subroutine (pop PC from stack) * Atomic memory load and set msbit * Supervisor trap More complex macro instructions allowed: * Push/pop multiple integer registers R''n''–R14 * Push/pop multiple floating-point registers D''n''–D7 * Push/pop user registers R0–R15 * Return from interrupt (pop SSW, PSW and PC) * Initialize string (store R0 copies of R2 in memory starting at R1) * Move and compare characters (length in R0, source in R1, destination in R2) Most instructions allowed an arbitrary stack pointer register to be specified, but except for the user register save/restore, the multiple-register operations could use only R15.


Intergraph's Clipper systems

Intergraph sold several generations of Clipper systems, including both
server Server may refer to: Computing *Server (computing), a computer program or a device that provides functionality for other programs or devices, called clients Role * Waiting staff, those who work at a restaurant or a bar attending customers and su ...
s and
workstation A workstation is a special computer designed for technical or scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating systems. The term ''workst ...
s. These systems included the InterAct, InterServe, and InterPro product lines and were targeted largely at the
CAD Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve c ...
market. Fairchild promoted the CLIX operating system, a version of
UNIX System V Unix System V (pronounced: "System Five") is one of the first commercial versions of the Unix operating system. It was originally developed by AT&T and first released in 1983. Four major versions of System V were released, numbered 1, 2, 3, an ...
, for use with the Clipper. Intergraph adopted CLIX for its Clipper-based systems and continued to develop it; this was the only operating system available for those systems. Intergraph did work on a version of
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washi ...
Windows NT Windows NT is a proprietary graphical operating system produced by Microsoft, the first version of which was released on July 27, 1993. It is a processor-independent, multiprocessing and multi-user operating system. The first version of Win ...
for Clipper systems and publicly demonstrated it, but this effort was canceled before release. Intergraph decided to discontinue the Clipper line and began selling x86 systems with Windows NT instead.


References

* * * * *
Intergraph history
* * * {{Authority control Instruction set architectures 32-bit microprocessors