Skip to content
STIMSMITH

Address translation

Concept

Address translation is a hardware mechanism that maps addresses between different address spaces. In conventional CPUs it converts data virtual addresses into physical addresses using page tables accelerated by TLBs, and it can also be expressed as PC-indexed translation that uses a load instruction's PC to obtain a page table entry. In distributed multi-GPU scale-up systems, a destination-side variant called reverse address translation maps Network Physical Addresses (NPAs) to System Physical Addresses (SPAs) using Link MMUs and Link TLBs. Because the mechanism is highly complex, verification uses specification-based test program generation; IBM's DeepTrans/Genesys-Pro approach models translation as a directed acyclic graph whose paths correspond to situations referenced from test templates, while ISP RAS's MicroTESK uses MMUSL specifications and graph-based constraint satisfaction (GCSP) to enumerate instruction execution paths and inter-path dependencies.

First seen 6/13/2026
Last seen 9/24/2026
Evidence 7 chunks
Wiki v3

WIKI

Overview

Address translation is a hardware mechanism described in processor architecture specifications alongside interrupt handling and multi-tasking, and is treated as a complex functional unit that must be verified together with the rest of the processor design [1]. Its purpose is to convert addresses produced by software (or by a remote peer) into the addresses actually used by the underlying memory or interconnect hardware. Two principal variants appear in contemporary systems: conventional data address translation used by CPUs, and reverse address translation used by destination nodes that receive remote memory accesses over scale-up fabrics such as NVLink or UALink.

Because the mechanism is exceptionally complex, its verification requires sophisticated test generation tools based on constraint satisfaction [2].

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

4 connections
DeepTrans ← implements 90% 1e
DeepTrans uses a specification language to depict address translation as a DAG
memory management unit part of → 95% 1e
Address translation is a key mechanism of the MMU
stimulus generation ← evaluates 92% 1e
Generated stimuli are used to test the address translation mechanism.
DAG mentions → 95% 1e
Address translation can be represented as a directed acyclic graph (DAG).

CITATIONS

10 sources
10 citations — click to expand
[1] Address translation is a hardware mechanism described in processor architecture specifications alongside interrupt handling and multi-tasking, treated as a complex functional unit that must be verified together with the rest of the processor design. Test program generator - International Business Machines Corporation
[2] The address translation process passes through a sequence of steps and can therefore be naturally described as a directed acyclic graph; a graph-based constraint satisfaction framework has been used to generate stimuli for testing it. Using Graph-Based CSP to Solve the Address Translation Problem for CP 2016 - IBM Research
[3] IBM's DeepTrans depicts address translation as a DAG whose vertices correspond to process stages and whose edges relate to transitions between stages; a path defines a particular situation referenced from test templates processed by Genesys-Pro. Specification-Based Test Program Generation for MIPS64 Memory Management Units
[4] MicroTESK is an open-source TPG framework combining an architecture-independent test generation core with architecture specifications in nML (ISA) and MMUSL (MMU); it analyzes MMUSL to extract instruction execution paths and inter-path dependencies. Specification-Based Test Program Generation for MIPS64 Memory Management Units
[5] In MMUSL, address translation can be expressed as a flat segment performing direct mapping (e.g., MIPS64 XKPHYS); buffers are specified by associativity, sets, entry format, index, tag, and policy; constructs include B(A).hit, E=B(A), B(A)=E. Specification-Based Test Program Generation for MIPS64 Memory Management Units
[6] Verification of address translation is treated as part of hardware processor design verification; verification tasks are described in the operation domain (operands, instructions, sequences) and the hardware domain (registers, memory, address translation, cache, pipeline), with operand-level tasks including alignment/page-boundary, page-fault, cache-hit, and cache-line-end cases. Test program generator - International Business Machines Corporation
[7] Different versions of MicroTESK have been applied to several industrial microprocessors and revealed many critical bugs not detected by random test programs; DSLs suit ISA/MMU specification while Ruby/Python suit test templates, but constraint solving needs performance optimization. Specification-Based Test Program Generation for MIPS64 Memory Management Units
[8] PCAX uses the PC of a load instruction (not the data virtual address) to obtain the PTE; effective DTLB miss rate can be cut by 2–3×, STLB misses reduced, with 1.7% average performance improvement and 7% data-address-translation energy reduction across 84 server traces. PC-Indexed Data Address Translation
[9] Reverse Address Translation maps NPAs to SPAs on the destination side of NVLink/UALink scale-up fabrics; Link MMUs with Link TLBs perform the translation, and cold TLB misses cause up to 1.4× performance degradation for small collectives. Analyzing Reverse Address Translation Overheads in Multi-GPU Scale-Up Pods
[10] Proposed optimizations for reverse address translation include fused pre-translation kernels overlapping translation with computation and software-guided TLB prefetching. Analyzing Reverse Address Translation Overheads in Multi-GPU Scale-Up Pods