-
Notifications
You must be signed in to change notification settings - Fork 140
Describe simulation of BP and BTB pipelines #997
Comments
@beanefit Disclaimer: you have 10 points already in this term. Any additional work will not affect your your course result (however, in the contribution score table all the points will be mentioned) . |
Thank you for the disclaimer. I just want to try myself in explaining some things to others, that's why I've assigned this issue. |
I've attempted to explain some basics of this simulation. Here it is. |
Your manual requires a lot of pictures, |
|
I've begun refactoring. Will finish this evening. Could you please have a quick look at it just to notice some general mistakes? |
Please do not rush — write permission won't disappear after the deadline. |
No, I mean I'll continue working on it this evening. |
See my comments inlined on the Wiki page: I suggest to stop writing the manual now. Please provide the structure of your story instead — the lack of the skeleton would make refactoring infinite. |
I've attempted to shortly introduce my view of structure. Pictures and formatting are ignored for now. |
That should actually be an introduction. Then I suggest to write about branches performance problem — that you have to multiplex on Fetch, but control signal is ready only on late stages. Then branch prediction is naturally introduced, we explain here why we need it. Why we need a direction prediction? Why we need a target prediction?
Please no. You need to have Tarantino's talent to shoot Pulp Fiction. I advise to start with indirect jumps. They are the simplest — predict target, calculate target, check target. Then should go direct jumps — predict target, decode target, check target. Then should go branches — predict direction, predict target (if branch is predicted taken), check target (if branch is predicted taken), calculate direction, check direction. |
Hello. I didn't forget about this task. I just want to take a several days break, because I have some stuff to complete till the end of this term. |
Sure. Just a reminder — you wanted to clean up that code: mipt-mips/simulator/modules/decode/decode.cpp Lines 121 to 126 in a176277
|
@beanefit The manual is still actual for us. Could you please spend some time to complete it? |
Hello, just saw this reply and it reminded me of this manual. Sorry for inconveniences, will refresh the work soon |
Should we expect this or it's better to put it back to the pool of tasks? |
If there is someone who wants to take this task, then it's ok to put it back to the pool. Nevertheless, I will have much more time in the end of January. That was awkward, sorry :-) |
We have a detailed description of BPU model, but it does not cover interaction with pipeline and process of flush.
New manual should answer these questions:
The text was updated successfully, but these errors were encountered: