Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ppa(LRQ): optimise LRQ entries for ppa #4183

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

jin120811
Copy link
Contributor

Previously, due to LRQ can't backpressure, we set LoadQueueReplaySize no smaller than VirtualLoadQueueSize to ensure uop can always enter LRQ. But LRQ is very redundant, so it cause an increase in area and power.

Now, in order to optimize power and area, we need to reduce LRQ redundant entries.

We should resolve this constraint at first.
Use "lqThreshold" to control the execution of load instructions. When the free entries in LRQ reaches the "lqThreshold", we backpressure to make IssueQueue send the oldest uop to LDU.

And then, reduce LoadQueueReplaySize from 72 to 48.

Previously, due to LRQ can't backpressure, we set LoadQueueReplaySize
no smaller than VirtualLoadQueueSize to ensure uop can always enter LRQ.
But LRQ is very redundant, so it cause an increase in area and power.

Now, in order to optimize power and area, we need to reduce LRQ
redundant entries.

We should resolve this constraint at first.
Use "lqThreshold" to control the execution of load instructions.
When the free entries in LRQ reaches the "lqThreshold", we backpressure
to make IssueQueue send the oldest uop to LDU.

And then, reduce LoadQueueReplaySize from 72 to 48.
@XiangShanRobot
Copy link

[Generated by IPC robot]
commit: 6ee1534

commit astar copy_and_run coremark gcc gromacs lbm linux mcf microbench milc namd povray wrf xalancbmk
6ee1534 1.803 0.441 2.642 1.227 2.154 2.142 2.358 0.938 1.400 1.961 3.104 2.560 2.274 3.293

master branch:

commit astar copy_and_run coremark gcc gromacs hmmer-Vector lbm linux mcf microbench milc namd povray wrf xalancbmk
517c737 2.636 1.501 0.939 1.401 3.303
800b4e0 1.819 0.442 2.636 1.240 2.143 2.140 2.361 0.939 1.405 1.984 3.113 2.565 2.271 3.303
e836c77 1.819 0.442 2.636 1.230 2.143 2.140 2.361 0.939 1.408 1.984 3.113 2.565 2.271 3.303
25a80bc 1.819 0.442 2.636 1.226 2.143 2.140 2.361 0.939 1.408 1.984 3.113 2.565 2.271 3.303
bcdee82 1.823 0.442 2.639 1.230 2.159 2.145 2.361 0.939 1.401 1.931 3.107 2.559 2.272 3.308
b7a6349 1.823 0.442 2.640 1.233 2.159 2.145 2.361 0.939 1.401 1.931 3.107 2.559 2.272 3.308
e9cac66 1.823 0.442 2.639 1.220 2.159 2.145 2.361 0.939 1.401 1.931 3.107 2.559 2.272 3.308
0b4afd3 1.823 0.442 2.639 1.225 2.159 2.145 2.361 0.939 1.405 1.931 3.107 2.559 2.272 3.308

@jin120811 jin120811 requested a review from Anzooooo January 17, 2025 01:44
@jin120811 jin120811 marked this pull request as ready for review January 17, 2025 02:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants