Map-Based Indirect Register Access for Large Register Files
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing processor architectures face limitations in register addressability due to the constraints of prior art indirection mechanisms, which fail to accommodate large register files effectively, limiting flexibility and efficiency in accessing and managing registers.
Innovation Solution
A novel indirection mechanism using map-based register management that allows for arbitrary mappings between a base set of register names and an extended set, enabling indirect access to a larger number of registers through SIMD-oriented management, where updates to map entries can be managed concurrently with data processing using single update instructions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a processor includes a large number of registers to improve performance, then register bandwidth and access speed are improved, but register addressability deteriorates because more bits are required to address each register in instructions
Solution Approach 1:
The patent introduces a register map as an intermediary structure between the instruction register fields and the actual physical registers. The register map contains mapping entries that translate the limited number of instruction register designations to the larger number of physical registers, enabling indirect access to extended register files without increasing the instruction bit width
Solution Approach 2:
The patent adds a dimensional layer by introducing map registers that hold mapping entries. This creates a two-level addressing structure where the first level selects a map register and the second level selects a specific entry within that map, effectively extending the address space without increasing the original instruction format
2Device complexity
If prior art indirection mechanisms are used to access large register files, then register addressability is improved, but flexibility and efficiency in accessing and managing registers deteriorates
Solution Approach 1:
The patent implements dynamic map management where the register map can be modified at runtime. Map entries can be updated to change the mapping between virtual and physical registers during execution, allowing the system to adapt to different access patterns and optimization needs without changing the hardware architecture
Solution Approach 2:
The patent divides the register mapping into multiple independent map registers, each capable of holding mapping entries for different register sets. This segmentation allows selective updating and management of specific register mappings without affecting the entire register file, improving both flexibility and efficiency
3Device complexity
If map entry updates are performed sequentially, then map management simplicity is maintained, but pipeline latency increases and processing efficiency deteriorates
Solution Approach 1:
The patent implements preliminary action by allowing map entries to be updated in advance of when they are needed for data processing. The map management unit can prepare new mappings before the processor needs to access the affected registers, enabling the processor to continue executing instructions without waiting for map updates to complete
Solution Approach 2:
The patent maintains continuity of useful action by enabling map entry updates to occur concurrently with data processing operations. The map management unit is designed to update maps without stalling the processor pipeline, ensuring that both map management and data processing activities continue simultaneously without interruption
Data Source
AI summary
A facility is provided for managing register maps for map-based indirect register file access within a processor. The management facility includes a register mapping including a set of maps, each map of the set of maps having a plurality of map registers. A set of actual registers is indirectly accessed by the processor via map entries of the set of maps. The number of actual registers in the set of actual registers is greater than the number of map entries in the set of maps, and the map entries of the set of maps reference only a subset of the set of actual registers at any given time. The facility includes managing updates to multiple entries of the set of maps of the register mapping by updating multiple map entries of at least one map of the set of maps responsive to executing a single update instruction.


