Technical summary - OpenVMS on Alpha
The following technical summary is based on practical experience gained over many years.
These notes are intended to help you understand some of the key aspects that you will come across when working with an AlphaServer system.
Alpha hardware overview
- 64bit RISC (Reduced Instruction Set Computer). Designed for performance.
- Best performance achieved with data aligned on 64bit boundaries (no need for bit masking in registers etc.).
- Needs synchronisation issues to be carefully considered and coded. What was a single "atomic instruction" on VAX can be multiple instructions on Alpha, so instruction flow through the CPU can be interrupted.
- "VAX like" console commands (SRM console).
- "PC like" BIOS (AlphaBIOS console) - used for Windows NT implementations on some machines (eg: PWS family).
- Predominantly PCI bus based.
- The "Marvel" series of machines (GS1280, ES80, ES47) based on the EV7 and EV7z chipset are superbly engineed high performance systems.
Alpha console interface
Each Alpha implementation had its own specific console interface. In general they are fairly consistent between models.
- ">>>" prompt (dead sergeant)
- Serial and graphics consoles (most Alphas have a graphics board, often a basic 2D VGA output device)
- Power-up self tests
- Device detection. Device naming convention generally matches OpenVMS device naming convention - there can be some slight differences with DSSI devices
- Device configuration by access to devices through Host Bus Adapters (FC WWIDMGR, access to DSSI controllers over DSSI bus etc.)
- Environment variables:
- Device configuration (Ethernet speed & duplex, FC WWID, SCSI ID, DSSI ID etc.)
- System configuration (language, auto boot, etc.)
- Configuring SAN boot requires the use of WWIDMGR to set up the boot paths.
- The "Marvel" series of machines have the MBM interface.
- Some AlphaServers support partitioning and a shared memory region known as "Galaxy". The GS1280 is the best example of a large machine capable of partitioning.
- Loader finds APB on system disc via boot block
- Data passed in CPU registers (R5 used for boot flags) to boot loader, eg: boot –flags 0,0 <device>.
- Reads executive into memory
- Reads system parameters (enters SYSBOOT> if flags set) and initialises fixed data structures
- Passes control to executive
- Devices appear as a set of CSRs (Control and Status Registers) in physical memory - the IO space.
- Devices have Interrupt Vectors which connect a device interrupt request to the device driver Interrupt Service Routine.
- CSR addresses and contents indicate device type.
- SYSMAN IO AUTO will scan IO space to find devices and set up OpenVMS device drivers to communicate with the hardware.