Compaq ECQD2KCTE manual Data Format Overview, Alpha and Programming Languages

Models: ECQD2KCTE

1 371
Download 371 pages 20.35 Kb
Page 19
Image 19

PALcode is written in standard machine code with some implementation-specific extensions to provide access to low-level hardware.

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 real-time, teaching, and other applications.

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 64-bit registers.

Memory is accessed via 64-bit virtual byte addresses, using the little-endian or, option- ally, the big-endian byte numbering convention.

There are 32 integer registers and 32 floating-point registers.

Longword (32-bit) and quadword (64-bit) integers are supported.

Five floating-point data types are supported:

VAX F_floating (32-bit)

VAX G_floating (64-bit)

IEEE single (32-bit)

IEEE double (64-bit)

IEEE extended (128-bit)

Introduction 1–3

Page 19
Image 19
Compaq ECQD2KCTE manual Data Format Overview, Alpha and Programming Languages