PL/8

Last updated

PL/8 (or PL.8) is a dialect of PL/I developed by IBM Research in the 1970s by compiler group, under Martin Hopkins, within a major research program that led to the IBM RISC architecture. [1] It was so-called because it was about 80% of PL/I. [1] Written in PL/I and bootstrapped via the PL/I Optimizing compiler, it was an alternative to PL/S for system programming, compiling initially to an intermediate machine-independent language with symbolic registers and machine-like operations. [2] It applied machine-independent program optimization techniques to this intermediate language to produce exceptionally good object code. The intermediate language was mapped by the back-end to the target machine's register architecture and instruction set. Back-ends were written for IBM 801, S/370, Motorola 68000, [3] [4] and POWER/PowerPC.[ citation needed ] A version was used on IBM mainframes as a development tool for software that was being designed for the IBM AS/400, as well as to write the "i370" internal code for the "Capitol" chipset used in the IBM 9377 processor and some ES/9370 models [5] [6] and the millicode for S/390 and z/Architecture processors. [7]

Related Research Articles

<span class="mw-page-title-main">APL (programming language)</span> Functional programming language for arrays

APL is a programming language developed in the 1960s by Kenneth E. Iverson. Its central datatype is the multidimensional array. It uses a large range of special graphic symbols to represent most functions and operators, leading to very concise code. It has been an important influence on the development of concept modeling, spreadsheets, functional programming, and computer math packages. It has also inspired several other programming languages.

In computing, a compiler is a computer program that translates computer code written in one programming language into another language. The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a low-level programming language to create an executable program.

In processor design, microcode serves as an intermediary layer situated between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer, also known as its machine code. It consists of a set of hardware-level instructions that implement the higher-level machine code instructions or control internal finite-state machine sequencing in many digital processing components. While microcode is utilized in general-purpose CPUs in contemporary desktops, it also functions as a fallback path for scenarios that the faster hardwired control unit is unable to manage.

PL/I is a procedural, imperative computer programming language initially developed by IBM. The PL/1 ANSI standard, X3.53-1976, was published in 1976. It is designed for scientific, engineering, business and system programming. It has been in continuous use by academic, commercial and industrial organizations since it was introduced in the 1960s.

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

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

<span class="mw-page-title-main">IBM AS/400</span> IBM midrange computer (1988–2013)

The IBM AS/400 is a family of midrange computers from IBM announced in June 1988 and released in August 1988. It was the successor to the System/36 and System/38 platforms, and ran the OS/400 operating system. Lower-cost but more powerful than its predecessors, the AS/400 was extremely successful at launch, with an estimated 111,000 installed by the end of 1990 and annual revenue reaching $14 billion that year, increasing to 250,000 systems by 1994, and about 500,000 shipped by 1997.

In computer science, an instruction set architecture (ISA) 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 implementation.

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.

John Florian Sowa is an American computer scientist, an expert in artificial intelligence and computer design, and the inventor of conceptual graphs.

<span class="mw-page-title-main">IBM System/38</span> IBM midrange computer (1978–1988)

The System/38 is a discontinued minicomputer and midrange computer manufactured and sold by IBM. The system was announced in 1978. The System/38 has 48-bit addressing, which was unique for the time, and a novel integrated database system. It was oriented toward a multi-user system environment. At the time, the typical system handled from a dozen to several dozen terminals. Although the System/38 failed to displace the systems it was intended to replace, its architecture served as the basis of the much more successful IBM AS/400.

<span class="mw-page-title-main">John Cocke (computer scientist)</span> American computer scientist and mathematician

John Cocke was an American computer scientist recognized for his large contribution to computer architecture and optimizing compiler design. He is considered by many to be "the father of RISC architecture."

In compiler design, static single assignment form is a property of an intermediate representation (IR) that requires each variable to be assigned exactly once and defined before it is used. Existing variables in the original IR are split into versions, new variables typically indicated by the original name with a subscript in textbooks, so that every definition gets its own version. In SSA form, use-def chains are explicit and each contains a single element.

PL/S, short for Programming Language/Systems, is a "machine-oriented" programming language based on PL/I. It was developed by IBM in the late 1960s, under the name Basic Systems Language (BSL), as a replacement for assembly language on internal software projects; it included support for inline assembly and explicit control over register usage.

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">POWER2</span> 1993 family of microprocessors by IBM

The POWER2, originally named RIOS2, is a processor designed by IBM that implemented the POWER instruction set architecture. The POWER2 was the successor of the POWER1, debuting in September 1993 within IBM's RS/6000 systems. When introduced, the POWER2 was the fastest microprocessor, surpassing the Alpha 21064. When the Alpha 21064A was introduced in 1993, the POWER2 lost the lead and became second. IBM claimed that the performance for a 62.5 MHz POWER2 was 73.3 SPECint92 and 134.6 SPECfp92.

Explicit data graph execution, or EDGE, is a type of instruction set architecture (ISA) which intends to improve computing performance compared to common processors like the Intel x86 line. EDGE combines many individual instructions into a larger group known as a "hyperblock". Hyperblocks are designed to be able to easily run in parallel.

PACT was a series of compilers for the IBM 701 and IBM 704 scientific computers. Their development was conducted jointly by IBM and a committee of customers starting in 1954. PACT I was developed for the 701, and PACT IA for the 704. The emphasis in that early generation of compilers was minimization of the memory footprint, because memory was a very expensive resource at the time. The word "compiler" was not in widespread use at the time, so most of the 1956 papers described it as an "(automatic) coding system", although the word compiler was also used in some papers.

<span class="mw-page-title-main">History of compiler construction</span>

In computing, a compiler is a computer program that transforms source code written in a programming language or computer language, into another computer language. The most common reason for transforming source code is to create an executable program.

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.

Edward H. Sussenguth Jr. was an American engineer and former IBM employee, known best for his work on Systems Network Architecture (SNA). He was also a contributor to the architecture of IBM's Advanced Computer System (ACS).

References

  1. 1 2 Cocke, John; Markstein, V. (January 1990). "The evolution of RISC technology at IBM" (PDF). IBM Journal of Research & Development. IBM. 34 (1): 4–11. doi:10.1147/rd.341.0004 . Retrieved 2008-03-06.
  2. The compiler is described in: The 801 Minicomputer. George Radin. Nov 1983. IBM Journal of Research and Development. Vol 27, No 3.
  3. Marc Auslander; Martin Hopkins (June 1982). "An Overview of the PL.8 Compiler" (PDF). SIGPLAN Notices. 17 (6).
  4. Charles H. Ferguson; Charles R. Morris (1993). Computer Wars: The Post-IBM World. p. 44. ISBN   978-1-58798-139-5.
  5. Maergner, Juergen; Schwermer, Hartmut R. (September 1988). "I370 - a new dimension of microprogramming". ACM SIGMICRO Newsletter. 19 (3): 24–31. doi:10.1145/62185.62189. ISSN   1050-916X. S2CID   2068407.
  6. Wilhelm Spruth, ed. (6 December 2012). "7.2 High Level Microprogramming in I370". The Design of a Microprocessor. Springer-Verlag. ISBN   978-3-642-74918-6.
  7. Gellerich, W.; Hendel, T.; Land, R.; Lehmann, H.; Mueller, M.; Oden, P.H.; Penner, H. (May 2004). "The GNU 64-bit PL8 compiler: Toward an open standard environment for firmware development". IBM Journal of Research and Development. 48 (3.4): 543–556. doi:10.1147/rd.483.0543.