Cache Memory Bank Segmentation for Misaligned Instruction Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Direct mapped caches have performance limitations due to unused parts being constantly overwritten while other parts remain unused, and they cannot efficiently handle misaligned instructions, leading to inefficient use of cache memory.
Innovation Solution
A cache memory structure with a set associative approach, utilizing a first and second set of storage locations addressable by different address groups, with addressing circuitry providing pairs of addresses to access syllables and selection circuitry to output the correct syllables to processor lanes based on addressability, reducing addressing complexity and increasing flexibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a direct mapped cache is used to allow four syllable reads from arbitrary 32 bit aligned addresses, then the cache can handle misaligned instructions, but unused parts of the cache are constantly overwritten while other parts remain unused, leading to inefficient cache memory usage
Solution Approach 1:
The cache is divided into multiple banks (B0, B1, B2, B3) that can be independently addressed and accessed. Each bank can be selectively accessed based on the address, allowing the cache to efficiently handle both aligned and misaligned instructions without wasting space. The segmentation into banks enables parallel access to different parts of the cache, improving overall efficiency while maintaining adaptability.
2Adaptability or versatility
If each bank comprises an individually addressable RAM to handle non-aligned addresses, then the cache can access arbitrary addresses, but the addressing complexity increases with multiple address lines and row addresses
Solution Approach 1:
The cache structure adds a bank selection dimension to the addressing scheme. Instead of using complex addressing within a single large RAM, the system uses a two-dimensional approach: bank selection (choosing which bank to access) and row address (accessing the specific location within the selected bank). This dimensional breakdown simplifies the addressing logic while maintaining the ability to access any address in the cache.
3Device complexity
If a direct mapped cache uses a fixed mapping where each address maps to a specific line, then the cache structure is simple, but instructions can only be written into a line of the cache to which it legitimately maps, causing performance limitations
Solution Approach 1:
The cache system dynamically selects which bank to access based on the address being fetched. Rather than having a fixed mapping where each address is confined to a specific line, the system can dynamically route different address patterns to different banks. This dynamic behavior allows the cache to adapt to various access patterns and improve performance while maintaining a relatively simple structured banks.
Data Source
AI summary
A cache memory comprises a first set of storage locations for holding syllables and addressable by a first group of addresses; a second set of storage locations for holding syllables and addressable by a second group of addresses; addressing circuitry operable to provide in each addressing cycle a pair of addresses comprising one from the first group and one from the second group, thereby accessing a plurality of syllables from each set of storage locations; and selection circuitry operable to select from said plurality of syllables to output to a processor lane based on whether a required syllable is addressable by an address in the first or second group.


