# PERQ

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/PERQ
> Markdown URL: https://mediated.wiki/source/PERQ.md
> Source: https://en.wikipedia.org/wiki/PERQ
> Source revision: 1345455777
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

First commercially produced personal workstation with a Graphical User Interface

Not to be confused with [PERC](/source/PERC_(disambiguation)).

Two ICL PERQ 1 workstations

The **PERQ**, also referred to as the **Three Rivers PERQ** or **ICL PERQ**, is a pioneering [workstation](/source/Workstation) [computer](/source/Computer) produced in the late 1970s through the early 1980s. It is the first commercially produced personal workstation with a [graphical user interface](/source/Graphical_user_interface) (GUI). The design of the PERQ was heavily influenced by the original workstation computer, the [Xerox Alto](/source/Xerox_Alto), which was never commercially produced. The workstation was conceived by six former [Carnegie Mellon University](/source/Carnegie_Mellon_University) [alumni](/source/Alumni) and employees: Brian S. Rosen, James R. Teter, William H. Broadley, J. Stanley Kriz, [Raj Reddy](/source/Raj_Reddy) and Paul G. Newbury, who formed the startup [Three Rivers Computer Corporation](/source/Three_Rivers_Computer_Corporation) (3RCC) in 1974.

The name "PERQ" was chosen both as an acronym of "[Pascal](/source/Pascal_(programming_language)) Engine that Runs Quicker," and to evoke the word *[perquisite](/source/Employee_benefits)* commonly called a *perk*, that is an additional employee benefit.[1]

In June 1979, the company took its very first order from the UK's Rutherford Appleton Laboratory and the computer was officially launched in August 1979 at [SIGGRAPH](/source/SIGGRAPH) in Chicago.[2] 3RCC later entered into a relationship with the British computer company [International Computers Limited](/source/International_Computers_Limited) (ICL) in 1981 for European distribution, and later co-development and manufacturing,[3] as a result of interest from the [UK](/source/United_Kingdom) [Science Research Council](/source/Science_and_Engineering_Research_Council) (later, the Science and Engineering Research Council).

The PERQ was used in a number of academic research projects in the UK during the 1980s. 3RCC was renamed PERQ System Corporation in 1984. It went out of business in 1986, largely due to competition from other workstation manufacturers such as [Sun Microsystems](/source/Sun_Microsystems), [Apollo Computer](/source/Apollo_Computer) and [Silicon Graphics](/source/Silicon_Graphics).

Brian Rosen, one of the founders of 3RCC, also worked at [Xerox PARC](/source/PARC_(company)) on the [Dolphin](/source/Xerox_Dolphin) workstation.

## Hardware

### Processor

The PERQ [CPU](/source/Central_processing_unit) was a [microcoded](/source/Microcode) [discrete logic](/source/Transistor%E2%80%93transistor_logic) design, rather than a [microprocessor](/source/Microprocessor). It was based around [74S181](/source/74S181) [bit-slice](/source/Bit-slice) [ALUs](/source/Arithmetic_logic_unit) and an [Am2910](/source/AMD_Am2900) [microcode sequencer](/source/Microsequencer). The PERQ CPU was unusual in having 20-bit wide [registers](/source/Processor_register) and a writable [control store](/source/Control_store) (WCS), allowing the microcode to be redefined.[4] The CPU had a microinstruction cycle period of 170 [ns](/source/Nanosecond) (5.88 MHz).[5]

### PERQ 1

The original PERQ (also known as the *PERQ 1*), launched in 1980, was housed in a pedestal-type cabinet with a brown fascia and an 8-inch floppy disk drive mounted horizontally at the top.

The PERQ 1 CPU had a WCS comprising 4k [words](/source/Word_(data_type)) of 48-bit microcode memory. The later *PERQ 1A* CPU extended the WCS to 16k words. The PERQ 1 could be configured with 256 KB, 1 or 2 MB of 64-bit-wide [RAM](/source/Random-access_memory) (accessed via a 16-bit bus),[5] a 12 or 24 MB, 14-inch [Shugart](/source/Shugart_Associates) SA-4000-series [hard disk](/source/Hard_disk_drive), and an 8-inch [floppy disk](/source/Floppy_disk) drive.[6][7] The internal layout of the PERQ 1 was dominated by the vertically mounted hard disk drive. It was largely this that determined the height and depth of the chassis.

A basic PERQ 1 system comprised a CPU board, a memory board (incorporating the [framebuffer](/source/Framebuffer) and monitor interface) and an [I/O](/source/Input%2Foutput) board (IOB, also called CIO).[8] The IOB included a [Zilog Z80](/source/Zilog_Z80) [microprocessor](/source/Microprocessor), an [IEEE-488](/source/IEEE-488) interface, an [RS-232](/source/RS-232) [serial port](/source/Serial_port), hard and floppy disk interfaces and [speech synthesis](/source/Speech_synthesis) hardware.[9] PERQ 1s also had a spare Optional I/O (OIO) board slot for additional interfaces such as [Ethernet](/source/Ethernet).

A [graphics tablet](/source/Graphics_tablet) was standard. Most PERQ 1s were supplied with an 8½ ×11-inch, 768×1024 pixel, [portrait orientation](/source/Page_orientation), white phosphor [monochrome](/source/Monochrome) monitor.

### PERQ 2

The *PERQ 2* (codenamed *Kristmas* during development) was announced in 1983.[10] The PERQ 2 could be distinguished from the PERQ 1 by its wider, ICL-designed cabinet, with a lighter-coloured fascia, vertical floppy disk drive and three-digit diagnostic display.

The PERQ 2 used the same 16k WCS CPU as the PERQ 1A and had a 3-button [mouse](/source/Computer_mouse) in place of the graphics tablet. It was configured with a quieter 8-inch 35 MB [Micropolis Corporation](/source/Micropolis_Corporation) 1201 hard disk, 1 or 2 MB of RAM and had the option of the PERQ 1's portrait monitor or a 19-inch, 1280×1024 landscape orientation monitor.[11]

Due to manufacturing problems with the original 3RCC PERQ 2 (also known as the *K1*), ICL revised the hardware design, resulting in the *PERQ 2 T1* (or ICL 8222).[11]

The later *PERQ 2 T2* (ICL 8223) and *PERQ 2 T4* models replaced the 8-inch hard disk with a 5¼-inch hard disk, which also allowed for a second disk to be installed internally.

The T4 model (of which only around 10 are thought to have been produced) had an extended 24-bit CPU and [backplane](/source/Backplane) bus, allowing the use of a 4MB RAM board.[4][7]

The PERQ 2 retained the PERQ 1's OIO slot, but replaced the IOB with either an EIO (Ethernet I/O) or NIO (Non-Ethernet I/O) boards. These were similar to the IOB, with the addition of a [non-volatile](/source/Non-volatile) [real-time clock](/source/Real-time_clock), a second RS-232 port, and (on the EIO board) an Ethernet interface.

### PERQ 3

The *PERQ 3A* (otherwise known as the ICL 3300 Advanced Graphics Workstation) was developed by ICL as a replacement for the PERQ 2. The PERQ 3A had an all-new hardware architecture based around a 12.5 MHz [Motorola](/source/Motorola) [68020](/source/Motorola_68020) [microprocessor](/source/Microprocessor), [68881](/source/Motorola_68881) [floating-point unit](/source/Floating-point_unit) and 68450 Direct Memory Access Controller, plus two [AMD 29116A](/source/AMD_29000) [32-bit](/source/32-bit) [bit slice](/source/Bit_slice) processors which acted as graphics co-processors. It also had up to 2 MB of RAM, a [SCSI](/source/SCSI) hard disk and was housed in a desktop "mini-tower"-style enclosure. The operating system was a port of [UNIX System V](/source/UNIX_System_V) Release 2 called PNX 300.[*[citation needed](https://en.wikipedia.org/wiki/Wikipedia:Citation_needed)*] Prototype units were produced in 1985, but the project was cancelled before full production commenced, the project having run late.[*[citation needed](https://en.wikipedia.org/wiki/Wikipedia:Citation_needed)*] ICL had decided that as a solution provider, it would sell Sun workstations into markets including computer-integrated manufacturing and public administration.[12]

Another workstation design under development at the time of the company's demise, the *PERQ 3B* was a colour model (sometimes referred to as the *PERQ 5*) was taken over by [Crosfield Electronics](/source/Crosfield_Electronics) for its Crosfield Studio 9500 [page layout](/source/Page_layout) workstation.[7] The workstation was also known internally as Python, was developed in 1986 jointly by MegaScan and Conner Scelza Associates (both in [Gibsonia, PA](/source/Gibsonia%2C_Pennsylvania), U.S.A.) and the Crosfield team (in [Hemel Hempstead](/source/Hemel_Hempstead), England). MegaScan, led by Brian Rosen, developed the workstation electronics and Conner Scelza Associates (led by Jerry Conner and Don Scelza) ported UNIX and wrote all the other supporting software. Crosfield (led by Andrew Chapman) were the overall project managers and had embedded engineers in MegaScan (Simon Butler and Mark Somervail) and Conner Scelza (Roger Willcocks).[13]

The Crosfield requirement was for a very high performance graphics system (known as Viper, developed by their subsidiary benchMark Technologies) and a large (at the time) amount of disk storage. The Crosfield team in Hemel Hempstead developed an early [RAID](/source/RAID) solution that supported up to 8 [SCSI](/source/SCSI) controllers operating in parallel with data streaming from 5¼-inch [full-height](/source/Full-height) drives and a fast [fibre-optic](/source/Fibre-optic) network known as GALAN. Prototypes were running in late 1986 in both the US and UK and volume production from Crosfield's [Peterborough](/source/Peterborough) factory started early 1987.[14]

### Peripherals

Various optional OIO boards were produced for the PERQ 1 and 2: 3RCC OIO boards provided a 16-bit parallel PERQlink interface (intended for downloading microcode from another PERQ at boot time) plus Ethernet or a [Canon](/source/Canon_Inc.) CX [laser printer](/source/Laser_printer) controller. Thus, a PERQ 2 could be configured with two Ethernet ports (EIO plus OIO). A [dot-matrix printer](/source/Dot-matrix_printer) could also be connected to the RS-232 or IEEE-488 ports. Other third-party OIO boards were produced to interface to other devices, such as [QIC](/source/Quarter-inch_cartridge)-02 [tape drives](/source/Tape_drive) or [video cameras](/source/Video_camera).[4]

## Software

The PERQ's original [p-Code](/source/P-code_machine#UCSD_p-Machine)-like instruction set (called *Q-Code*) was optimized for [Pascal](/source/Pascal_(programming_language)) (specifically, an extended PERQ Pascal). Q-Code instructions could be executed at a rate of up to 1 [million instructions per second](/source/Million_instructions_per_second).[15] This gave rise to the alternative definition of the PERQ name: *Pascal Evaluation Real Quick*. In fact it was generally more efficient to use Pascal than to attempt to create "[assembly language](/source/Assembly_language)" programs directly with Q-Code.[*[citation needed](https://en.wikipedia.org/wiki/Wikipedia:Citation_needed)*]

### Operating systems

A variety of [operating systems](/source/Operating_system) were developed for the PERQ. These included:[7]

**POS (PERQ Operating System)**
- The initial single-task operating system for PERQ workstations, developed by 3RCC. POS and its utilities were written in PERQ Pascal.

**MPOS (Multitasking POS)**
- A [multitasking](/source/Computer_multitasking) version of POS, not officially released by 3RCC.

**[Accent](/source/Accent_kernel)**
- A multitasking research operating system developed at CMU, with a [window manager](/source/Window_manager) called Sapphire. Accent was a predecessor of the [Mach kernel](/source/Mach_kernel) which many later operating systems would use. A [UNIX System V](/source/UNIX_System_V)-compatible environment running under Accent in a Sapphire window, called *QNIX*, was developed by [Spider Systems](/source/Spider_Systems).

**PNX ([/ˈpiːnɪks/](https://en.wikipedia.org/wiki/Help:IPA/English) [*PEE-nix*](https://en.wikipedia.org/wiki/Help:Pronunciation_respelling_key))**
- A port of [Unix](/source/Unix) for the PERQ, based on [Seventh Edition Unix](/source/Seventh_Edition_Unix) and [UNIX System III](/source/UNIX_System_III). This was developed by ICL at [Bracknell](/source/Bracknell), [Dalkeith Palace](/source/Dalkeith_Palace) and later [Kidsgrove (Staffordshire)](/source/Kidsgrove) for the UK research community.[7] PNX used its own microcode, more appropriate for the [C programming language](/source/C_(programming_language)), called *C-Code*.

**[FLEX](/source/Flex_machine)**
- Developed by the [Royal Signals and Radar Establishment](/source/Royal_Signals_and_Radar_Establishment), FLEX was implemented in microcode and similar to other early workstation systems such as [Lisp machines](/source/Lisp_machine), [UCSD Pascal](/source/UCSD_Pascal) or [Modula-2](/source/Modula-2), except that the language of choice was [ALGOL 68](/source/ALGOL_68).

### Compilers

ICL and 3RCC contracted with the [Edinburgh Regional Computing Center](https://en.wikipedia.org/w/index.php?title=Edinburgh_Regional_Computing_Center&action=edit&redlink=1) (ERCC) over 1981-1982 to supply an optimised [Fortran77](/source/Fortran#FORTRAN_77) compiler. This also resulted in an [Imp](/source/Edinburgh_IMP) compiler being created, as the F77 compiler from the ERCC was written in Imp. The ERCC compilers generated [Q-Code](https://en.wikipedia.org/w/index.php?title=Q-Code&action=edit&redlink=1). By 1987, maintenance of the PERQ compiler suite had been taken over by a commercial spin-off group of ex-ERCC employees, [Edinburgh Portable Compilers Ltd](https://en.wikipedia.org/w/index.php?title=Edinburgh_Portable_Compilers&action=edit&redlink=1) (EPCL).

### Applications

*Spy* third party [text editor](/source/Text_editor) from 1983 running on a PERQ workstation at Bletchley Park in 2013.

The PERQ was a popular early graphical workstation; therefore, it helped spawn many early third-party applications that took advantage of the [graphical user interface](/source/Graphical_user_interface) and [bitmapped graphics](/source/Raster_graphics). [Intran](https://en.wikipedia.org/w/index.php?title=Intran&action=edit&redlink=1) (around 1982) produced a pioneering graphical program suite called MetaForm, which consisted of the separate Graphics Builder, Font Builder, Form Builder, and File Manager programs. The PERQ also served as a dedicated platform for several pioneering [hypertext](/source/Hypertext) programs, such as [ZOG](/source/ZOG_(hypertext)), [KMS](/source/KMS_(hypertext)), and [Guide](/source/Guide_(hypertext)). DP ("Drawing Program"), a [CAD](/source/Computer-aided_design) system used for creating [circuit diagrams](/source/Circuit_diagram) on the PERQ, was written by Dario Giuse at CMU.[16]

## References

1. **[^](#cite_ref-1)** [PERQ History: Part I: 3. Early Days](http://www.chilton-computing.org.uk/acd/sus/perq_history/part_1/c3.htm). [Chilton Computing](http://www.chilton-computing.org.uk/), UK.

1. **[^](#cite_ref-2)** ["PERQ and Advanced Raster Graphics Workstations"](http://www.chilton-computing.org.uk/acd/sus/perq_papers/perq_external/p001.htm). September 1982.

1. **[^](#cite_ref-3)** [PERQ History: Part III: 16. Decision Time](http://www.chilton-computing.org.uk/acd/sus/perq_history/part_3/c16.htm), Chilton Computing, UK.

1. ^ [***a***](#cite_ref-hardware-faq_4-0) [***b***](#cite_ref-hardware-faq_4-1) [***c***](#cite_ref-hardware-faq_4-2) Tony Duell (12 October 1993). ["PERQ 2 Hardware FAQ (long)"](https://groups.google.com/group/alt.sys.perq/msg/d15c89bb70505499?hl=en). [Newsgroup](/source/Usenet_newsgroup): [alt.sys.perq](news:alt.sys.perq). [Usenet:](/source/Usenet_(identifier)) [12OCT199321195696@siva.bris.ac.uk](news:12OCT199321195696@siva.bris.ac.uk). Retrieved 2 December 2008.

1. ^ [***a***](#cite_ref-sus-leaflets-1985_5-0) [***b***](#cite_ref-sus-leaflets-1985_5-1) [PERQ Publicity: ICL's PERQ Leaflets 1985](http://www.chilton-computing.org.uk/acd/sus/perq_pr/p017.htm)

1. **[^](#cite_ref-6)** [PERQ Brochure](http://www.chilton-computing.org.uk/acd/sus/perq_pr/p005.htm), Chilton Computing, UK.

1. ^ [***a***](#cite_ref-faq_7-0) [***b***](#cite_ref-faq_7-1) [***c***](#cite_ref-faq_7-2) [***d***](#cite_ref-faq_7-3) [***e***](#cite_ref-faq_7-4) ["PERQ FAQ, Rev. 7"](https://web.archive.org/web/20210814171406/http://vonhagen.org/perq-gen-faq.html#I-33). Archived from [the original](http://vonhagen.org/perq-gen-faq.html#I-33) on 14 August 2021. Retrieved 29 November 2008.

1. **[^](#cite_ref-8)** [Three Rivers PERQ](http://yahozna.dyndns.org/computers/perq/index.html)

1. **[^](#cite_ref-9)** [PERQ Display Boards](http://www.chilton-computing.org.uk/acd/sus/perq_pr/p002.htm), Chilton Computing, UK.

1. **[^](#cite_ref-10)** [PERQ History: Part V: 20. ICL Manufacturing](http://www.chilton-computing.org.uk/acd/sus/perq_history/part_5/c20.htm), Chilton Computing, UK.

1. ^ [***a***](#cite_ref-sus-vii-34_11-0) [***b***](#cite_ref-sus-vii-34_11-1) [PERQ History: Part VII: 34. Hardware](http://www.chilton-computing.org.uk/acd/sus/perq_history/part_7/c34.htm), Chilton Computing, UK.

1. **[^](#cite_ref-unigramx19860809_icl_12-0)** ["...and ICL Dumps PERQ Systems in Favour of Sun"](https://archive.org/details/unigram_x_1986_0034_0058/page/n230/mode/1up). *Unigram/X*. 9 August 1986. p. 1. Retrieved 3 October 2025.

1. **[^](#cite_ref-13)** [PERQ Workstations by R. D. Davis](http://bitsavers.informatik.uni-stuttgart.de/pdf/perq/RD_Davis/Davis-PERQ_Workstations_Nov03.pdf)

1. **[^](#cite_ref-14)** [A Crosfield Glossary](http://www.caffnib.co.uk/xfld_gloss.html)

1. **[^](#cite_ref-15)** [PERQ Publicity: ICL's PERQ Brochure](http://www.chilton-computing.org.uk/acd/sus/perq_pr/p007.htm), Chilton Computing, UK.

1. **[^](#cite_ref-16)** ["Entry for *DP - Command Set* at the Defense Technical Information Center"](https://web.archive.org/web/20090531004614/http://oai.dtic.mil/oai/oai?&verb=getRecord&metadataPrefix=html&identifier=ADA126401). Archived from [the original](http://oai.dtic.mil/oai/oai?&verb=getRecord&metadataPrefix=html&identifier=ADA126401) on 31 May 2009. Retrieved 3 December 2008.

## External links

- [ICL Technical Journal - November 1982](https://www.fujitsu.com/ie/imagesgig5/ICL-Technical-Journal-v03i02.pdf)

- [All About PERQ Workstations](http://www.chiark.greenend.org.uk/~pmaydell/PERQ/)

- [DigiBarn: The Three Rivers PERQ](http://www.digibarn.com/collections/systems/perqt2/)

- [PERQ Documentation at bitsavers.org](http://bitsavers.org/pdf/perq)

- [Graphical User Interface Gallery: Three Rivers / ICL Perq](http://toastytech.com/guis/perq.html)

- [Rutherford Laboratory Atlas Computing Division: Single User System Programme archive](http://www.chilton-computing.org.uk/acd/sus/overview.htm). Includes detailed material relating to PERQ history as it affected a joint project involving the Science and Engineering Research Council and ICL.

- [PERQemu: a PERQ 1 emulator](https://web.archive.org/web/20090715073249/http://yahozna.dyndns.org/projects/PERQemu/index.html) for Microsoft Windows/Mono (under development, v0.21 is capable of booting and running POS)

- [PERQemu: a PERQ 1 emulator](https://github.com/jdersch/PERQemu/blob/master/PERQemu/Readme.txt) for Microsoft Windows/Mono (under development, v0.4.4 is the fourth major release)

- [ICL Perq 3A major component lists](https://groups.google.com/g/alt.sys.perq/c/Svlt7pabvns)

- [Code generator for F77 and Imp compilers](https://history.dcs.ed.ac.uk/archive/os/emas/users/ercs07/emas-2900/oldqfiles_f77code2.txt) by Edinburgh Regional Computing Center (ERCC). (The full compiler sources are in the [enclosing directory](https://history.dcs.ed.ac.uk/archive/os/emas/users/ercs07/emas-2900/). Some related [explicitly copyrighted files](https://history.dcs.ed.ac.uk/archive/os/emas/users/ercs07/emas-2900/COPYRIGHT.LIST) have been removed from that public archive.)

v t e International Computers Limited (ICL) 1968-2002 Predecessor mainframes LEO I ICT 1301 ICT 1501 Elliott 803 KDF8 KDF9 English Electric System 4 series System 4/10 System 4/30 System 4/50 System 4/70 System 4/72 System 4/75 ICT 1900 series 1901 1901A 1901S 1901T 1902 1902A 1902S 1902T 1903 1903A 1903S 1903T 1904 1904A 1904E 1904F 1904S 1905 1905E 1905F 1906 1906A 1906E 1906F 1906S 1907 1907E 1907F 1908 1909 ICL 2900 Series 2950 2955 2956 2960 2966 2970 2972 2976 2980 2982 2988 CAFS DAP OCP ICL Series 39 Level 30 Level 50 Level 60 Level 80 Minicomputers category 2903 2904 2905 ME29 System Ten System 25 Workstations category 7502 7503 7561 DRS 20 DRS 100 DRS 200 DRS 300 DRS 400 DRS 500 DRS 3000 DRS 6000 PERQ One Per Desk Operating systems category OpenVME VME VME/B VME/K superNova CME DME TME Executive GEORGE MAXIMOP MINIMOP J MultiJob Programming languages category PLAN Fortran ALGOL 60 SOBS COBOL JEAN C Pascal S3 SCL SFL ApplicationMaster ReportMaster RPG DAP FORTRAN

---
Adapted from the Wikipedia article [PERQ](https://en.wikipedia.org/wiki/PERQ) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/PERQ?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
