PALcode

Last updated

PALcode (Privileged Architecture Library code) [1] [2] is the name used by DEC in the Alpha instruction set architecture (ISA) for a set of functions in the System Reference Manual (SRM) or AlphaBIOS firmware, providing a hardware abstraction layer for system software, covering features such as cache management, translation lookaside buffer (TLB) miss handling, interrupt handling, and exception handling. It evolved from a feature of the DEC PRISM architecture named Epicode. [3]

PALcode is Alpha machine code, running in a special mode [4] that also allows access to internal registers specific to the particular Alpha processor implementation. Thus, it is somewhere between the role of microcode and of a hardware emulator. PALcode is operating system-specific, [5] so different versions of PALcode are required by OpenVMS, Tru64 UNIX, and Windows NT. Tru64 UNIX PALcode is also used by NetBSD, FreeBSD, OpenBSD and Linux.

Related Research Articles

<span class="mw-page-title-main">Digital Equipment Corporation</span> U.S. computer manufacturer 1957–1998

Digital Equipment Corporation, using the trademark Digital, was a major American company in the computer industry from the 1960s to the 1990s. The company was co-founded by Ken Olsen and Harlan Anderson in 1957. Olsen was president until forced to resign in 1992, after the company had gone into precipitous decline.

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

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

The Motorola 68000 is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector.

<span class="mw-page-title-main">Operating system</span> Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.

<span class="mw-page-title-main">VAX</span> Line of computers sold by Digital Equipment Corporation

VAX is a series of computers featuring a 32-bit instruction set architecture (ISA) and virtual memory that was developed and sold by Digital Equipment Corporation (DEC) in the late 20th century. The VAX-11/780, introduced October 25, 1977, was the first of a range of popular and influential computers implementing the VAX ISA. The VAX family was a huge success for DEC – over 100 models were introduced over the lifetime of the design, with the last members arriving in the early 1990s. The VAX was succeeded by the DEC Alpha, which included several features from VAX machines to make porting from the VAX easier.

<span class="mw-page-title-main">OpenVMS</span> Computer operating system

OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using OpenVMS include banks and financial services, hospitals and healthcare, telecommunications operators, network information services, and industrial manufacturers. During the 1990s and 2000s, there were approximately half a million VMS systems in operation worldwide.

<span class="mw-page-title-main">Tru64 UNIX</span> Computer operating system

Tru64 UNIX is a discontinued 64-bit UNIX operating system for the Alpha instruction set architecture (ISA), currently owned by Hewlett-Packard (HP). Previously, Tru64 UNIX was a product of Compaq, and before that, Digital Equipment Corporation (DEC), where it was known as Digital UNIX.

A computing platform or digital platform is an environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying software, as long as the program code is executed with it. Computing platforms have different abstraction levels, including a computer architecture, an OS, or runtime libraries. A computing platform is the stage on which computer programs can run.

<span class="mw-page-title-main">System call</span> Way for programs to access kernel services

In computing, a system call is the programmatic way in which a computer program requests a service from the operating system on which it is executed. This may include hardware-related services, creation and execution of new processes, and communication with integral kernel services such as process scheduling. System calls provide an essential interface between a process and the operating system.

<span class="mw-page-title-main">Ultrix</span> Series of discontinued Unix operating systems by DEC

Ultrix is the brand name of Digital Equipment Corporation's (DEC) discontinued native Unix operating systems for the PDP-11, VAX, MicroVAX and DECstations.

OSF/1 is a variant of the Unix operating system developed by the Open Software Foundation during the late 1980s and early 1990s. OSF/1 is one of the first operating systems to have used the Mach kernel developed at Carnegie Mellon University, and is probably best known as the native Unix operating system for DEC Alpha architecture systems.

<span class="mw-page-title-main">DEC PRISM</span>

PRISM was a 32-bit RISC instruction set architecture (ISA) developed by Digital Equipment Corporation (DEC). It was the outcome of a number of DEC research projects from the 1982–1985 time-frame, and the project was subject to continually changing requirements and planned uses that delayed its introduction. This process eventually decided to use the design for a new line of Unix workstations. The arithmetic logic unit (ALU) of the microPrism version had completed design in April 1988 and samples were fabricated, but the design of other components like the floating point unit (FPU) and memory management unit (MMU) were still not complete in the summer when DEC management decided to cancel the project in favor of MIPS-based systems. An operating system codenamed MICA was developed for the PRISM architecture, which would have served as a replacement for both VAX/VMS and ULTRIX on PRISM.

The Multia, later re-branded the Universal Desktop Box, was a line of desktop computers introduced by Digital Equipment Corporation on 7 November 1994. The line is notable in that units were offered with either an Alpha AXP or Intel Pentium processor as the CPU, and most hardware other than the backplane and CPU were interchangeable. Both the Alpha and Intel versions were intended to run Windows NT.

<span class="mw-page-title-main">SRM firmware</span>

The SRM firmware is the boot firmware written by Digital Equipment Corporation (DEC) for computer systems based on the DEC Alpha microprocessor. SRM are the initials of (Alpha) System Reference Manual, the publication detailing the Alpha AXP architecture and which specified various features of the SRM firmware.

In computing, ioctl is a system call for device-specific input/output operations and other operations which cannot be expressed by regular system calls. It takes a parameter specifying a request code; the effect of a call depends completely on the request code. Request codes are often device-specific. For instance, a CD-ROM device driver which can instruct a physical device to eject a disc would provide an ioctl request code to do so. Device-independent request codes are sometimes used to give userspace access to kernel functions which are only used by core system software or still under development.

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

AlphaStation is the name given to a series of computer workstations, produced from 1994 onwards by Digital Equipment Corporation, and later by Compaq and HP. As the name suggests, the AlphaStations were based on the DEC Alpha 64-bit microprocessor. Supported operating systems for AlphaStations comprise Tru64 UNIX, OpenVMS and Windows NT. Most of these workstations can also run various versions of Linux and BSD operating systems.

<span class="mw-page-title-main">AlphaServer</span> Computer system

AlphaServer is a series of server computers, produced from 1994 onwards by Digital Equipment Corporation, and later by Compaq and HP. AlphaServers were based on the DEC Alpha 64-bit microprocessor. Supported operating systems for AlphaServers are Tru64 UNIX, OpenVMS, MEDITECH MAGIC and Windows NT, while enthusiasts have provided alternative operating systems such as Linux, NetBSD, OpenBSD and FreeBSD.

VAX MACRO is the computer assembly language implementing the VAX instruction set architecture for the OpenVMS operating system, originally released by Digital Equipment Corporation (DEC) in 1977.

Charon is the brand name of a group of software products able to emulate several CPU architectures. The emulators available under this brand mostly cover the Digital Equipment DEC hardware platforms PDP-11, VAX, and AlphaServer, which support many of the legacy operating systems, including Tru64 and OpenVMS. The product range also includes virtualization solutions for HP 3000 using MPE/iX and SPARC. Charon software products have been developed by the Swiss software company Stromasys SA, which has its headquarters in Cointrin, near Geneva.

MICA was the codename of the operating system developed for the DEC PRISM architecture. MICA was designed by a team at Digital Equipment Corporation led by Dave Cutler. MICA's design was driven by Digital's need to provide a migration path to PRISM for Digital's VAX/VMS customers, as well as allowing PRISM systems to compete in the increasingly important Unix market. MICA attempted to address these requirements by implementing VMS and ULTRIX user interfaces on top of a common kernel that could support the system calls, libraries and utilities needed for both environments.

References

  1. Alpha Architecture Reference Manual. 2014. ISBN   978-1483294339. PALcode—Alpha's Very Flexible Privileged Software Library A Privileged Architecture Library (PALcode) is a set of subroutines that ...
  2. "PALcode for Alpha Microprocessors System Design Guide" (PDF). May 2, 1996. PALcode for Alpha Microprocessors. System Design Guide. May 1996. This guide explains how to use the Privileged Architecture Library code.
  3. Neil Rieck. "Dave Cutler, PRISM, Mica, Emerald, etc". neilrieck.net. Retrieved 2020-12-21.
  4. "PALcode - ES40 Emulator". PALcode is Alpha machine code, running in a special mode that allows access to internal registers specific to the particular Alpha processor
  5. "The Alpha AXP Processor". The Alpha AXP architecture uses a set of subroutines, call privileged architecture library code (PALcode). PALcode is specific to the operating system, the CPU ...