ucb-bar / gemmini

Berkeley's Spatial Array Generator
Other
785 stars 160 forks source link

Is there any parameter that can turn off parallel execution and make an instruction receive the complete signal before issuing the next instruction? #318

Closed 1024GeBug closed 9 months ago

1024GeBug commented 10 months ago

Hello, I would like to count the relevant information of each instruction during operation and the running time under different workload conditions. Is there any parameter that can turn off parallel execution and make an instruction receive the complete signal before issuing the next instruction, so that the instruction is issued and completed one after another instead of at the same time? Thanks!

hngenc commented 10 months ago

If you insert a gemmini_fence, it should stop the CPU from progressing and issuing more instructions until the last one finishes. This could greatly reduce your performance though

1024GeBug commented 10 months ago

Hello, I originally thought it was related to the following parameters, I changed the following parameters: reservation_station_entries_ld = 1, reservation_station_entries_st = 1, reservation_station_entries_ex = 1, ld_queue_length = 1, st_queue_length = 1, ex_queue_length = 3, It seems that I have misunderstood. Can I ask the meaning of these parameters? Will they continue to receive new instructions without receiving the complete signal?

1024GeBug commented 10 months ago

In addition, I would like to ask whether instructions like LOOP_WS do not enter the reserved station. I seem to have not seen the analysis of such instructions in the reserved station hardware source code. thank you very much for your patience