TLB Output Comparator Structure for Single-Cycle Address Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional translation lookaside buffer (TLB) structures in processor designs are not fast enough to provide physical address translations in certain systems, leading to delays in memory access.

Innovation Solution

A processor with a TLB that includes a data array and a compare unit, where the data array outputs translated physical addresses within a clock cycle and the compare unit concurrently compares these addresses with outstanding write requests, providing hit indications within the same cycle.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional TLB structures are used, then the device complexity is reduced, but the processing speed becomes insufficient

Engineering Contradiction:
Improveaddress translation speedVSAvoidTLB structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The TLB is segmented into multiple data arrays (first data array, second data array) that can be accessed in parallel. Each data array handles specific address translation tasks, allowing simultaneous operations to increase overall translation speed without requiring a single complex monolithic structure

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The compare unit performs preliminary comparison actions by concurrently comparing translated physical addresses with outstanding write request addresses within the same clock cycle. This preliminary action identifies potential conflicts before they affect memory operations, enabling faster conflict resolution and reducing overall processing latency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 3:

The patent merges the address translation function and the address comparison function into a unified TLB structure. The data arrays provide translation while the compare unit simultaneously performs conflict detection, combining multiple functions that would traditionally require separate processing stages into a single integrated unit

Inventive Principle:
Principle #5Merging (Combining)

2Loss of time

If sequential processing is used, then the device complexity is reduced, but the time required for memory access increases

Engineering Contradiction:
Improvememory access timeVSAvoidprocessing structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The TLB maintains continuous useful action by performing address translation and address comparison simultaneously within the same clock cycle. The compare unit continuously monitors outstanding write requests against translated addresses, ensuring no processing stage idle time and maximizing throughput without requiring complex multi-cycle sequencing

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent adds a temporal dimension to the processing by enabling concurrent operations within the same clock cycle. Instead of sequential processing through multiple cycles, the system performs translation and comparison in parallel time slots, effectively adding a time dimension to the processing architecture

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS8949573B2Translation lookaside buffer structure including an output comparator
Publication Date: 2015.02.03 APPLE INC
  • US8949573B2 patent drawing
  • US8949573B2 patent drawing
  • US8949573B2 patent drawing

AI summary

A processor includes a translation lookaside buffer (TLB) including a data array and a compare unit. The data array includes a number of entries each configured to store a respective translated physical address. In response to a read access to a given entry of the TLB, the data array is configured to output within a particular clock cycle, the respective translated physical address stored in the given entry. In addition the compare unit may be configured to compare the respective translated physical address output by the data array with a number of additional addresses. The compare unit may also be configured to provide a hit indication for each of the additional addresses within the particular clock cycle.