Arithmetic Processor Page-Table Buffer for Address Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing page-table walk process in arithmetic processors is inefficient due to the high number of memory lookups required, especially with multilevel page tables, leading to increased execution time and hardware complexity, even with caching mechanisms like L1 caches and prefetch buffers.

Innovation Solution

An arithmetic processor is designed with a request generation circuit, a translation buffer, and a page-table buffer that reduces page-table walk time by efficiently managing virtual and physical addresses, using a controller circuit to handle TLB misses and cache data from multiple levels, thereby minimizing hardware requirements and lookup times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a multilevel page table structure is used for address translation, then the ability to manage large virtual address spaces is improved, but the number of memory lookups required increases leading to longer execution time

Engineering Contradiction:
Improvevirtual address space management capabilityVSAvoidpage-table walk execution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by prefetching page table entries from higher levels of the page table hierarchy before they are actually needed for address translation. The prefetch buffer proactively loads entries based on predicted access patterns, so that when a TLB miss occurs, the required page table data is already available in the buffer, significantly reducing the time penalty of multilevel page table walks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the page table hierarchy into multiple levels (L0, L1, L2, etc.) with dedicated buffers for each level. Instead of treating the entire page table as a single structure requiring sequential access, each level is independently buffered, allowing parallel preparation of data from different levels and reducing the critical path delay of address translation.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If traditional caching mechanisms like L1 cache and prefetch buffer are used, then some page table data can be cached, but hardware complexity increases and lookup times are not sufficiently reduced

Engineering Contradiction:
Improvememory lookup timeVSAvoidhardware circuit complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent merges the functionality of multiple separate caching structures (L1 cache, prefetch buffer, and page table buffers for each level) into a unified hierarchical buffering system. This integration eliminates redundant hardware components and control logic that would exist if these structures operated independently, while maintaining the performance benefits of having data from multiple levels readily available.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal buffering structure that serves multiple functions: it acts as a cache for recently accessed page table entries, a prefetch buffer for anticipated accesses, and a hierarchical storage system for data from different page table levels. This multi-functional design reduces the need for separate specialized hardware for each function, thereby reducing overall complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If page table data is stored in separate buffers for each level, then lookup efficiency is improved, but hardware resources and device complexity increase

Engineering Contradiction:
Improveaddress translation throughputVSAvoidbuffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a buffer management unit that acts as an intermediary between the multiple level-specific buffers and the TLB. This mediator coordinates data movement between buffers, manages buffer contents, and provides a unified interface for address translation operations. By centralizing control logic in this intermediary component, the patent avoids the need for complex distributed control logic that would be required if each buffer managed itself independently.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10929306B2Arithmetic processor, information processing apparatus, and control method of arithmetic processor
Publication Date: 2021.02.23 FUJITSU LTD
  • US10929306B2 patent drawing
  • US10929306B2 patent drawing
  • US10929306B2 patent drawing

AI summary

An arithmetic processor includes a request generation circuit which generates an information request including a request address. A translation buffer associates a virtual address of a page with a physical address (PA). A page-table buffer associates data in a page table in a level other than the last level with a PA of the data, and stores the associated data and address. A controller circuit obtains, from the request address, a PA of data in a page table to be accessed when the request address is not stored in the translation buffer. The controller circuit searches in the page-table buffer for the data when the page table to be accessed is in a level other than the last level. The controller circuit obtains the data from a memory, such as a cache memory or a main memory, when the page table to be accessed is in the last level, and registers the data in the translation buffer. The translation buffer may output an erase signal to invalidate all entries in the page-table buffer. The page-table buffer may include a control queue which outputs a control signal indicating a least recently used (LRU) entry.