coreblocks icon indicating copy to clipboard operation
coreblocks copied to clipboard

Scheduler name collisions

Open wikku opened this issue 2 years ago • 1 comments

Currently there are three concepts we call schedulers:

  • a hardware module which has an input signal representing a set of requests and an output signal representing which request is granted, eg. amaranth.lib.scheduler.RoundRobin and coreblocks.transactions._utils.Scheduler (a one-hot version of the former).
  • a mechanism of executing transactions in our transaction framework. Here, multiple transactions (which request execution/whose execution condition is satisfied) can be granted at once. There were proposals to rename these to arbiters (and I have a git branch which implements that).
  • a middle stage of our processor. I can't find a precedent for this kind of name. It appears that this part is in-order and out-of-order scheduling first appears in the wakeup/select logic, which was apparently placed in the execution stage. I think this also should be named differently.

wikku avatar May 23 '22 10:05 wikku