core: Allow multiple loadstore instructions to be in flight
The idea here is that we can have multiple instructions in progress at the same time as long as they all go to the same unit, because that unit will keep them in order. If we get an instruction for a different unit, we wait for all the previous instructions to finish before executing it. Since the loadstore unit is the only one that is currently pipelined, this boils down to saying that loadstore instructions can go ahead while l_in.in_progress = 1 but other instructions have to wait until it is 0. This gives a 2% increase on coremark performance on the Arty A7-100 (from ~190 to ~194). Signed-off-by: Paul Mackerras <paulus@ozlabs.org>pull/269/head
							parent
							
								
									f583d088b7
								
							
						
					
					
						commit
						17fd069640
					
				
					Loading…
					
					
				
		Reference in New Issue