Compaq ECQD2KCTE Laptop User Manual


 
Common PALcode Architecture 6–1
Chapter 6
Common PALcode Architecture
6.1 PALcode
In a family of machines, both users and operating system developers require functions to be
implemented consistently. When functions conform to a common interface, the code that uses
those functions can be used on several different implementations without modification.
These functions range from the binary encoding of the instruction and data to the exception
mechanisms and synchronization primitives. Some of these functions can be implemented cost
effectively in hardware, but others are impractical to implement directly in hardware. These
functions include low-level hardware support functions such as Translation Buffer miss fill
routines, interrupt acknowledge, and vector dispatch. They also include support for privileged
and atomic operations that require long instruction sequences.
In the VAX, these functions are generally provided by microcode. This is not seen as a prob-
lem because the VAX architecture lends itself to a microcoded implementation.
One of the goals of Alpha architecture is to implement functions consistently without micro-
code. However, it is still desirable to provide an architected interface to these functions that
will be consistent across the entire family of machines. The Privileged Architecture Library
(PALcode) provides a mechanism to implement these functions without microcode.
6.2 PALcode Instructions and Functions
PALcode is used to implement the following functions:
Instructions that require complex sequencing as an atomic operation
Instructions that require VAX style interlocked memory access
Privileged instructions
Memory management control, including translation buffer (TB) management
Context swapping
Interrupt and exception dispatching
Power-up initialization and booting
Console functions
Emulation of instructions with no hardware support