PALcode is written in standard machine code with some
PALcode lets Alpha implementations run the full OpenVMS Alpha, DIGITAL UNIX, and Windows NT Alpha operating systems. PALcode can provide this functionality with little overhead. For example, the OpenVMS Alpha PALcode instructions let Alpha run OpenVMS with little more hardware than that found on a conventional RISC machine: the PAL mode bit itself, plus four extra protection bits in each translation buffer entry.
Other versions of PALcode can be developed for
PALcode makes Alpha an especially attractive architecture for multiple operating systems.
Alpha and Programming Languages
Alpha is an attractive architecture for compiling a large variety of programming languages. Alpha has been carefully designed to avoid bias toward one or two programming languages. For example:
•Alpha does not contain a subroutine call instruction that moves a register window by a fixed amount. Thus, Alpha is a good match for programming languages with many parameters and programming languages with no parameters.
•Alpha does not contain a global integer overflow enable bit. Such a bit would need to be changed at every subroutine boundary when a FORTRAN program calls a C pro- gram.
1.2Data Format Overview
Alpha is a load/store RISC architecture with the following data characteristics:
•All operations are done between
•Memory is accessed via
•There are 32 integer registers and 32
•Longword
•Five
–VAX F_floating
–VAX G_floating
–IEEE single
–IEEE double
–IEEE extended
Introduction