Hardware Resource Management in Data Processing Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtualization of hardware resources in data processing systems, such as performance counters and context pointers, incurs significant overhead due to software trapping and response generation, impacting performance and validity of monitoring results, and requires efficient management to support multiple privilege levels and varying physical implementations.
Innovation Solution
A system with programmable boundary values divides hardware resources into portions, allowing different programs to query and access resources based on their privilege levels, with resource control circuitry managing access and responses to queries, enabling precise control and separation of resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If software trapping and response generation is used to virtualize hardware resources, then hardware resource management flexibility is improved, but system performance and execution speed deteriorate due to significant overhead consuming hundreds of processor cycles
Solution Approach 1:
The patent introduces a hardware intermediary (resource control circuitry with boundary indicating circuitry) that mediates between the hypervisor software and hardware resources. This hardware mediator handles resource allocation and access control directly in hardware, eliminating the need for software trapping and response generation, thus resolving the contradiction by maintaining flexibility through hardware-mediated resource management while restoring performance by removing software overhead.
Solution Approach 2:
The patent replaces the software-based resource management mechanism (trapping and response generation) with a hardware-based mechanism (resource control circuitry). This substitution eliminates the performance penalty of software processing while maintaining the adaptive resource management capabilities, directly resolving the contradiction between flexibility and performance.
2Ease of operation
If hardware resources are virtualized through software trapping, then resource allocation control is improved, but execution speed deteriorates due to significant overhead
Solution Approach 1:
The resource control circuitry acts as a hardware intermediary that maintains resource allocation control through programmable boundary values while executing access decisions in hardware at native speed, eliminating the software trapping overhead and resolving the contradiction between control capability and execution speed.
3Adaptability or versatility
If performance counters are accessed through software trapping for virtualization, then resource management flexibility is improved, but monitoring accuracy deteriorates due to impact on software behavior and performance
Solution Approach 1:
The patent replaces software-based performance counter access management with hardware-based resource control circuitry that directly manages counter access without software intervention. This eliminates the performance impact and behavioral changes introduced by software trapping, ensuring accurate monitoring while maintaining flexible resource management through programmable boundaries.
4Ease of operation
If context pointers are accessed through software trapping, then virtualization control is improved, but context switching speed deteriorates
Solution Approach 1:
The patent replaces software trapping for context pointer access with hardware-based resource control circuitry that manages pointer access directly in hardware. This eliminates the time-consuming software trapping and response generation overhead, enabling fast context switching while maintaining virtualization control through programmable boundary values.
Data Source
Figure 1~2
Figure 3~5
Figure 6
AI summary
A processor (6) is provided with a plurality of hardware resources, such as performance monitors (12) and context pointers (18). Boundary indicating circuitry (14, 20) stores a boundary value which is programmable and which indicates a boundary position dividing the hardware resources into a first portion and a second portion. Resource control circuitry (16, 22) controls access to the hardware resources such that when program execution circuitry (8) is executing a first program it is responsive to a query as to how many off said plurality of hardware resources are present to return a first value whereas when the program execution circuitry is executing a second program it responds to such a query by returning a value corresponding to those hardware resources within the second portion.