2Read/2Write Register File Array Sub-Array Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional register file arrays require large SRAM cell areas and complex decoding schemes to support multiple simultaneous reads and writes, leading to slow access times and increased area usage.

Innovation Solution

A 2Read/2Write register file array is partitioned into sub-arrays with each sub-array containing 16 entries, allowing for multiple simultaneous reads and writes using only one read address and one write address, with a simplified decoding scheme that reduces the number of address decodes required from 6 to 4, enabling efficient alignment and access of consecutive entries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a conventional register file array uses multiple read/write ports to support multiple simultaneous reads and writes, then the number of simultaneous operations increases, but the SRAM cell area and decoding complexity increase significantly

Engineering Contradiction:
Improvenumber of simultaneous read/write operationsVSAvoidSRAM cell area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The register file array is divided into multiple sub-arrays (e.g., 4 sub-arrays of 16 entries each). Each sub-array can be independently accessed, allowing multiple simultaneous operations across different sub-arrays while keeping each sub-array compact and efficient

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a sub-array selection dimension in addition to the traditional address dimension. By selecting which sub-arrays are active and using alignment logic to map logical addresses to physical sub-array positions, the system achieves multiple simultaneous operations without proportionally increasing the area of individual SRAM cells

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

2Productivity

If a conventional register file array uses multiple read/write ports to support multiple simultaneous reads and writes, then the number of simultaneous operations increases, but the decoding complexity increases

Engineering Contradiction:
Improvenumber of simultaneous read/write operationsVSAvoiddecoding scheme complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The address decoding is segmented into two stages: first decoding the sub-array index to select which sub-arrays are active, then decoding the offset within each sub-array. This divides the complex single-stage decoding into simpler, modular stages that can be implemented more efficiently

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary alignment of addresses to determine which sub-arrays will be accessed before the actual read/write operations. This pre-computation of sub-array selection simplifies the subsequent decoding required during the actual memory access operations

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a conventional register file array uses a large SRAM cell area to support multiple simultaneous reads and writes, then the number of simultaneous operations increases, but the access time increases

Engineering Contradiction:
Improvenumber of simultaneous read/write operationsVSAvoidaccess time
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

By segmenting the large register file into smaller sub-arrays, each sub-array can be accessed more quickly than a single large array. The segmented structure reduces the critical path for address decoding and data access within each sub-array, improving overall access time despite supporting multiple simultaneous operations

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7400548B2Method for providing multiple reads/writes using a 2read/2write register file array
Publication Date: 2008.07.15 META PLATFORMS INC
  • US7400548B2 patent drawing
  • US7400548B2 patent drawing
  • US7400548B2 patent drawing

AI summary

Reading a plurality of consecutive entries and writing a plurality of consecutive entries with only one read address and one write address using a 2Read/2Write register file is provided. In one exemplary embodiment, a 64 entry register file array is partitioned into four sub-arrays. Each sub-array contains sixteen entries having one or more 2Read/2Write SRAM cells. A mechanism to write the consecutive entries by only having a 4 to 16 decode of one address is also provided. In addition, a mechanism for reading data from the register file array using a starting read word address and two read word lines generated based on the starting read word address is provided. The two read word lines are used to access the two read ports of the entries in the sub-arrays.