Bug 289 - LD/ST Function Unit address match "vector" optimisation
Summary: LD/ST Function Unit address match "vector" optimisation
Status: CONFIRMED
Alias: None
Product: Libre-SOC's first SoC
Classification: Unclassified
Component: Source Code (show other bugs)
Version: unspecified
Hardware: PC Linux
: --- enhancement
Assignee: Luke Kenneth Casson Leighton
URL:
Depends on:
Blocks:
 
Reported: 2020-04-20 10:10 BST by Luke Kenneth Casson Leighton
Modified: 2020-04-20 10:10 BST (History)
1 user (show)

See Also:
NLnet milestone: ---
total budget (EUR) for completion of task and all subtasks: 0
budget (EUR) for this task, excluding subtasks' budget: 0
parent task for budget allocation:
child tasks for budget allocation:
The table of payments (in EUR) for this task; TOML format:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Luke Kenneth Casson Leighton 2020-04-20 10:10:43 BST
at the L0 Cache/Buffer level, and in the address-match matrix, a massive
array of XOR gates (comparators) is needed.  this is a huge power drain.

however back at the vector-issue phase, information is known between
multiple units: there is a very high probability that related element
addresses will not have changed (especially on element-strided
LD/STs) and, furthermore, it is very easy to detect.

https://groups.google.com/d/msg/comp.arch/cbGAlcCjiZE/IDhmQPS6AAAJ

therefore as an enhancement, when Vector LD/STs are involved, provide
additional information down to the address-match and L0 cache/buffer
that saves huge amounts of power.