Single Pipeline SMMU With Replicated Visible Structures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current System Memory Management Units (SMMUs) require multiple independent units to handle multiple interfaces, leading to increased area and power consumption due to redundant designs, while also limiting data sharing and throughput.
Innovation Solution
Implementing a single pipeline with replicated architecturally visible structures and shared architecturally hidden structures, allowing requests to be tagged and processed through a unified pipeline, which reduces area and power usage while maintaining the appearance of multiple units and enabling data sharing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple independent SMMU units are used to handle multiple interfaces, then the system can process requests from multiple interfaces simultaneously, but the area and power consumption increase due to redundant designs
Solution Approach 1:
The patent segments the SMMU functionality into two distinct parts: architecturally visible structures (registers, CAMs, LUTs) that are replicated for each interface to maintain independence and performance, and architecturally hidden structures (page walkers, translation logic) that are shared across all interfaces to reduce area and power consumption. This segmentation allows the system to process requests from multiple interfaces simultaneously while avoiding redundant implementation of identical logic across all units.
2Reliability
If multiple independent SMMU units are used to handle multiple interfaces, then each interface gets dedicated processing resources, but power consumption increases due to redundant operations
Solution Approach 1:
The patent merges the implementation of architecturally hidden structures by having them shared across multiple visible units. The page walkers and translation logic are implemented once and shared among all interfaces, eliminating redundant power consumption while maintaining the ability to handle requests from multiple interfaces independently through the replicated visible structures.
3Area of stationary object
If a single shared pipeline is used for multiple interfaces, then area and power are reduced, but data sharing and throughput may be limited
Solution Approach 1:
The patent segments the pipeline into visible and hidden components, where visible structures are replicated to handle multiple interfaces in parallel, maintaining high throughput and data sharing capability, while hidden structures are shared to reduce area. This segmentation ensures that each interface can independently access its dedicated visible structures while sharing the underlying hidden infrastructure.
4Productivity
If replicated visible structures are used for each interface, then each interface gets dedicated resources, but the complexity of the system increases
Solution Approach 1:
The patent segments the system into two clear layers: replicated visible structures that provide interface-specific functionality and shared hidden structures that provide common infrastructure. This segmentation strategy manages complexity by clearly defining what should be replicated (interface-specific registers, CAMs, LUTs) and what should be shared (page walkers, translation logic), making the system easier to design and maintain compared to fully independent units.
Data Source
AI summary
In an embodiment, interfacing a pipeline with two or more interfaces in a hardware processor includes providing a single pipeline in a hardware processor. The single pipeline presents at least two visible units. The single pipeline includes replicated architecturally visible structures, shared logic resources, and shared architecturally hidden structures. The method further includes receiving a request from one of a plurality of interfaces at one of the visible units. The method also includes tagging the request with an identifier based on the one of the at least two visible units that received the request. The method further includes processing the request in the single pipeline by propagating the request through the single pipeline through the replicated architecturally visible structures that correspond with the identifier.


