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.

References

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