Linked Search List for Rapid Interrupt Lookups
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for interrupt look-ups in integrated circuits, especially when a large number of interrupt status vectors are stored in memory, are inefficient as they require scanning every address, resulting in a time complexity of O(n) which becomes unacceptably long with a large number of interrupts.
Innovation Solution
Implementing a linked search list in random access memory where activated interrupt status vectors are inserted and dismissed vectors are removed, allowing for rapid look-ups by traversing the list, thereby reducing the time complexity by focusing on active interrupts only.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a linear scan of all interrupt status vectors in memory is performed, then all interrupts can be checked, but the lookup time becomes unacceptably long when the number of interrupts is large
Solution Approach 1:
The patent segments the interrupt status vectors into two groups: active interrupts (stored in a linked search list) and inactive interrupts (stored in memory but not in the list). This segmentation allows the system to quickly access only relevant interrupt status information without scanning all possible interrupts, thereby resolving the contradiction between complete checking and fast lookup.
Solution Approach 2:
The patent performs preliminary action by maintaining a linked search list that is continuously updated to contain only active interrupt status vectors. This pre-organization of data ensures that when an interrupt lookup is needed, the system only needs to traverse the pre-filtered list of active interrupts rather than scanning all interrupts from scratch, thus reducing lookup time while maintaining reliability.
2Speed
If a linked search list is maintained in memory to store only active interrupt addresses, then lookup speed is improved, but memory usage and data structure complexity increase
Solution Approach 1:
The patent introduces a linked search list as an intermediary data structure between the interrupt sources and the interrupt handling logic. This intermediary contains only the addresses of active interrupts, serving as a filter that speeds up lookup while managing the complexity through a well-defined data structure with clear insertion and deletion operations.
Solution Approach 2:
The linked search list is dynamically maintained by inserting addresses of newly activated interrupts and removing addresses of dismissed interrupts. This dynamic adaptation allows the data structure to automatically adjust to the current state of active interrupts, optimizing lookup speed while keeping the structure manageable through standard linked list operations.
Data Source
AI summary
The present disclosure provides methods and apparatus for rapid interrupt look-ups for interrupts stored in memory. One embodiment relates to a method for providing interrupt lookups for a plurality of interrupt status vectors stored in random access memory on an integrated circuit. The plurality of interrupt status vectors in the random access memory are scanned to find activated interrupt status vectors that changed from null to non-null and dismissed interrupt status vectors that changed from non-null to null. A linked search list is maintained in the random access memory by inserting memory addresses of the activated interrupt status vectors into the linked search list and removing memory addresses of the dismissed interrupt status vectors from the linked search list. Interrupt status vectors for currently active interrupts are looked-up by transversing the linked search list in the random access memory. Other embodiments, aspects and features are also disclosed herein.


