-
Notifications
You must be signed in to change notification settings - Fork 59
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
A Simple Scoreboard to Handle Register Dependency #263
Comments
Could make it a Be interesting to see a diagram on how the delay mechanism works. I would assume that the user of this scoreboard would expect to do something like this:
But what happens if register 10 is not going to be ready on the next cycle? Do you go into a poll situation on register 10? That could get expensive... What if
|
Or read can return when the reg_list will be ready?
|
@klingaard Good point. I was thinking it might be not so expensive since it is for in-order use cases. Usually there is a unique instruction queue and limited issue (1/2/3-way) capability. I only need to check a few instructions every cycle and schedule issue event if there is any instruction in queue. But now it seems unnecessary. Both designs (Knute's and @kayeoc279's) look reasonable to me. |
The issue with read returning an expected ready time is that it is variable and most likely unknown. What if the dependency is on a load that misses in the cache? |
This issue describes a simple Scoreboard designed for in-order cores, which have the following characteristics:
An in-order scheduler has to know when the results of on-the-fly instructions are ready to use. So they can determine whether the issuing instructions can get data via bypassing network.
This scoreboard can be just a list of counters, showing when the data of those registers become ready:
Major features
Unresolved
The text was updated successfully, but these errors were encountered: