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

📚 Artikel Terkait di Wikipedia

Memory management unit

low-level firmware machine code (here called PALcode) walks a page table. The OpenVMS AXP PALcode and DEC OSF/1 PALcode walk a three-level tree-structured page

Translation lookaside buffer

TLB, with the TLB miss handling code being in PALcode, rather than in the operating system. As the PALcode for a processor can be processor-specific and

DEC Alpha

and Richard T. Witek. The PRISM's Epicode was developed into the Alpha's PALcode, providing an abstracted interface to platform- and processor implementation-specific

Microcode

features of the instruction set. The DEC Alpha, a pure RISC design, used PALcode to implement features such as translation lookaside buffer (TLB) miss handling

OpenVMS

the emulation of certain low-level details of the VAX architecture in PALcode, such as interrupt handling and atomic queue instructions. The VMS port

NX bit

bit in page table entries with the OpenVMS, Tru64 UNIX, and Alpha Linux PALcode. The SPARC Reference MMU for Sun SPARC version 8 has permission values

List of x86 instructions

accessible in a special "hyper mode" operation mode, similar to DEC Alpha's PALcode and Intel's XuCode) for many complicated operations that are implemented

Millicode

System/370 instructions and code that had access to special hardware features. PALcode Rogers, Bob (Sep–Oct 2012). "The What and Why of zEnterprise Millicode"