Introduction

<< Click to Display Table of Contents >>

Navigation:  ASA-EMulatR Reference Guide >

Introduction

Alpha AXP System Architecture Emulator

 

EMulatR is a high-fidelity architectural emulator of the DEC Alpha AXP processor family. It is designed to faithfully reproduce the architectural behavior of Alpha systems while running efficiently on modern hardware.

 

The project focuses on correctness, determinism, and structural clarity rather than cycle-exact microarchitectural simulation. Its goal is to provide a robust execution environment capable of booting and operating historical operating systems such as:

 

OpenVMS

Tru64 UNIX (DIGITAL UNIX)

Linux for Alpha

SRM firmware environments

 


 

Design Philosophy

 

EMulatR follows a layered architectural model. Each subsystem has a clearly defined responsibility and communicates through explicit contracts. The emulator prioritizes:

 

Architectural correctness over microarchitectural timing

Deterministic execution

Explicit memory ordering semantics

Precise exception and trap behavior

SMP safety and race-free interaction

Clear separation of CPU, memory, and device domains

 

The project does not attempt to replicate gate-level timing differences between EV4, EV5, EV6, or EV67 silicon revisions. Instead, it models the architectural guarantees defined by the Alpha System Architecture (ASA).

 


 

Architectural Scope

 

EMulatR implements:

 

Alpha AXP instruction decoding and execution

PALcode interface handling

Integer, floating-point, vector, and control instruction classes

Precise trap and exception handling

Memory ordering semantics (MB, WMB, RMB, etc.)

SMP-aware CPU execution model

Device abstraction and MMIO handling

Firmware bring-up targeting SRM boot

 

The system is structured to mirror Alpha’s conceptual hardware components, including execution domains such as I-Box, E-Box, F-Box, M-Box, and control layers.

 


 

Project Goals

 

The primary objectives of EMulatR are:

 

Achieve architectural correctness as defined by the Alpha AXP specification.

Boot to the SRM console prompt.

Support multiprocessor (SMP) configurations.

Provide a structured and maintainable emulator framework.

Enable long-term preservation and experimentation with Alpha software ecosystems.

 


 

Non-Goals

 

EMulatR explicitly does not aim to:

 

Provide cycle-perfect silicon modeling

Implement speculative out-of-order execution beyond architectural requirements

Model hardware-accurate cache latencies

Reproduce undocumented vendor behavior

These constraints preserve maintainability and verifiability.

 


 

Intended Audience

 

EMulatR is intended for:

 

Systems engineers and architecture enthusiasts

Researchers exploring Alpha AXP systems

Developers interested in firmware bring-up and OS porting

Preservation efforts for legacy Alpha software

 


 

Current Status

 

The project is under active development and progressing toward full SRM boot support. Major architectural components are implemented, with ongoing refinement of trap handling, firmware integration, and device modeling.