Liste des Groupes | Revenir à c arch |
MitchAlsup1 wrote:I always had RSs keep tack of which FU was delivering the finalOn Thu, 18 Jul 2024 0:48:18 +0000, EricP wrote:>
>MitchAlsup1 wrote:>>>
{Would be an interesting reservation station design, though}
In what way would the RS be interesting or different?
The instruction stream consists of 4 FMAC-bound instructions unrolled
as many times as will fit in register file.
>
You typical reservation station can accept 1 new instruction per cycle
from the decoder. So, either the decoder has to spew the instructions
across the stations (and remember they are data dependent) or the
station has to fire more than one per cycle to the FMAC units.
>
So, instead of 1-in, 1-out per cycle, you need 4-in 4-out per cycle
and maybe some kind of exotic routing.
This is where I saw a benefits to using valued reservation stations vs
valueless ones - when a uArch has multiple similar FU each with its own
bank of RS that is scheduled for that FU.
>
Example of horizontal scaling of similar FU each with its own RS bank.
https://i0.wp.com/chipsandcheese.com/wp-content/uploads/2024/07/cheese_oryon_diagram_revised.png
>
With valueless RS, each RS stores only the source register number of
its operands and each FU has to be able to read all its operands
when a uOp launches (begins execution). This means the number of
PRF read ports scales according to the total number of FU operands.
(One could do read port sharing but then you have to schedule that too
and could have contention.) Also if an FU is unused on any cycle then
all its (expensive) operand read ports are unused.
>Delivering result at dispatch time.
Using the above Oryon as an example, with valueless RS, to launch
all 14 FU with 3 operands all at once needs 42 read ports.
>
With valued RS the operand values stored in each RS and, if ready,
read at Dispatch (hand-off from the front end to the RS bank) or are
received from the forwarding network if in-flight at Dispatch time.
The number of PRF read ports scales with the number of dispatched uOpThe width of the decoder is narrower than the width of the data path.
operands. Since the operand values are stored in each RS, each bank
can then schedule and launch independently.
>First, a 6-wide machine is not doing 6 3-operand instructions,
With valued RS, to Dispatch 6 wide with 3 operands needs 18 read ports,
and the read ports are potentially usable for all dispatches.One should also note that these machines deliver 1-2 I/c RMS
Then all 14 FU can launch at once independently.
>
Each FU can also have two kinds of valued RS banks,
a simple one if all the operands are ready at Dispatch as this does
not need a wake-up matrix entry or need to receive forwarded values,
and a complex one that monitors the wake-up matrix and forwarding buses.
If all the operands are ready, the Dispatcher can choose either RS bank
for
the FU, giving preference to the simpler. If all operands are not ready
then Dispatcher selects from the complex bank.
Date | Sujet | # | Auteur | |
13 Jul 24 | Continuations | 138 | Lawrence D'Oliveiro | |
13 Jul 24 | Re: Continuations | 4 | BGB | |
14 Jul 24 | Re: Continuations | 2 | aph | |
15 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
14 Jul 24 | Re: Continuations | 1 | Anton Ertl | |
13 Jul 24 | Re: Continuations | 23 | John Dallman | |
14 Jul 24 | Re: Continuations | 21 | Lawrence D'Oliveiro | |
14 Jul 24 | Re: Continuations | 20 | George Neuner | |
14 Jul 24 | Re: Continuations | 19 | John Levine | |
14 Jul 24 | Re: Continuations | 18 | Niklas Holsti | |
15 Jul 24 | Re: Continuations | 16 | John Levine | |
15 Jul 24 | Re: Continuations | 1 | Terje Mathisen | |
15 Jul 24 | Re: Continuations | 1 | John Levine | |
15 Jul 24 | Re: Continuations | 9 | Niklas Holsti | |
16 Jul 24 | Re: Continuations | 8 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 7 | John Levine | |
16 Jul 24 | Re: Continuations | 1 | Chris M. Thomasson | |
16 Jul 24 | Re: Continuations | 5 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 4 | John Levine | |
16 Jul 24 | Re: Continuations | 3 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 2 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 3 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 2 | MitchAlsup1 | |
16 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 1 | MitchAlsup1 | |
16 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
14 Jul 24 | Re: Continuations | 1 | BGB | |
13 Jul 24 | Re: Continuations | 1 | BGB | |
14 Jul 24 | Re: Continuations | 10 | Lawrence D'Oliveiro | |
15 Jul 24 | Re: Continuations | 7 | Thomas Koenig | |
15 Jul 24 | Re: Continuations | 6 | Thomas Koenig | |
16 Jul 24 | Re: Continuations | 4 | Thomas Koenig | |
16 Jul 24 | Re: Continuations | 2 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
17 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
17 Jul 24 | Re: Continuations | 1 | John Dallman | |
16 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 1 | John Levine | |
14 Jul 24 | Re: Continuations | 1 | George Neuner | |
14 Jul 24 | Re: Continuations | 92 | John Savard | |
14 Jul 24 | Re: Continuations | 1 | BGB | |
15 Jul 24 | Re: Continuations | 90 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 89 | John Savard | |
16 Jul 24 | Re: Continuations | 2 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 1 | Lawrence D'Oliveiro | |
16 Jul 24 | Re: Continuations | 86 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 69 | John Savard | |
17 Jul 24 | Re: Continuations | 68 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 67 | Thomas Koenig | |
17 Jul 24 | Re: Continuations | 1 | Thomas Koenig | |
17 Jul 24 | Re: Continuations | 1 | Michael S | |
17 Jul 24 | Re: Continuations | 37 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 36 | Stephen Fuld | |
17 Jul 24 | Re: Continuations | 35 | MitchAlsup1 | |
17 Jul 24 | Re: Continuations | 22 | Stephen Fuld | |
18 Jul 24 | Re: Continuations | 8 | MitchAlsup1 | |
18 Jul 24 | Re: Continuations | 1 | Michael S | |
18 Jul 24 | Re: Continuations | 6 | MitchAlsup1 | |
19 Jul 24 | Re: Continuations | 1 | Stephen Fuld | |
21 Jul 24 | Re: Reservation stations [was Continuations] | 2 | Anton Ertl | |
21 Jul 24 | Re: Reservation stations [was Continuations] | 1 | MitchAlsup1 | |
21 Jul 24 | Re: Reservation stations [was Continuations] | 2 | MitchAlsup1 | |
22 Jul 24 | IPC (was: Reservation stations) | 1 | Anton Ertl | |
18 Jul 24 | Re: Continuations | 11 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 10 | Michael S | |
18 Jul 24 | Re: Continuations | 9 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 8 | Michael S | |
18 Jul 24 | Re: Continuations | 6 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 1 | Michael S | |
18 Jul 24 | Re: Continuations | 4 | Michael S | |
19 Jul 24 | Re: Continuations | 3 | Thomas Koenig | |
19 Jul 24 | Re: Continuations | 2 | Michael S | |
20 Jul 24 | Re: Continuations | 1 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 1 | MitchAlsup1 | |
18 Jul 24 | Re: Continuations | 2 | John Savard | |
18 Jul 24 | Re: Continuations | 1 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 6 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 5 | Michael S | |
18 Jul 24 | Re: Continuations | 4 | Michael S | |
18 Jul 24 | Re: Continuations | 3 | Thomas Koenig | |
18 Jul 24 | Re: Continuations | 2 | MitchAlsup1 | |
20 Jul 24 | Re: Continuations | 1 | Thomas Koenig | |
18 Jul 24 | Non-pipelined FDIV/SQRT (was: Continuations) | 3 | Stefan Monnier | |
18 Jul 24 | Re: Non-pipelined FDIV/SQRT | 1 | MitchAlsup1 | |
28 Jul 24 | Re: Non-pipelined FDIV/SQRT | 1 | Michael S | |
18 Jul 24 | Re: Continuations | 3 | MitchAlsup1 | |
28 Jul 24 | Re: Continuations | 2 | Paul A. Clayton | |
28 Jul 24 | Re: Continuations | 1 | Michael S | |
19 Jul 24 | Re: Continuations | 27 | Terje Mathisen | |
19 Jul 24 | Re: Continuations | 5 | Thomas Koenig | |
19 Jul 24 | Re: Continuations | 1 | Chris M. Thomasson | |
19 Jul 24 | Re: Continuations | 3 | MitchAlsup1 | |
20 Jul 24 | Re: Continuations | 1 | Terje Mathisen | |
20 Jul 24 | Re: Continuations | 1 | Thomas Koenig | |
19 Jul 24 | Re: Continuations | 21 | MitchAlsup1 | |
19 Jul 24 | Re: Continuations | 8 | Terje Mathisen | |
22 Jul 24 | Re: Continuations | 7 | Michael S | |
22 Jul 24 | Re: Continuations | 3 | MitchAlsup1 | |
22 Jul 24 | Re: Continuations | 2 | Michael S | |
23 Jul 24 | Re: Continuations | 1 | MitchAlsup1 | |
23 Jul 24 | Re: Continuations | 3 | Terje Mathisen | |
19 Jul 24 | Faster div or 1/sqrt approximations (was: Continuations) | 12 | Thomas Koenig | |
17 Jul 24 | Re: Continuations | 3 | Lawrence D'Oliveiro | |
17 Jul 24 | Re: Continuations | 12 | Stephen Fuld | |
17 Jul 24 | Re: fancy instructions, Continuations | 1 | John Levine | |
15 Jul 24 | Re: Continuations | 1 | wolfgang kern | |
15 Jul 24 | Re: pessimal storage allocation, Continuations | 3 | John Levine | |
15 Jul 24 | Re: Continuations | 1 | MitchAlsup1 | |
16 Jul 24 | Re: Continuations | 1 | Lynn Wheeler |
Les messages affichés proviennent d'usenet.