Hi all, 

I came to the point where I'll have to add some new instructions to gem5. 
Something like load a number of bytes and process.
I have some "high-level" questions that I'd like to ask for more experienced 
users, so that I don't find myself in a dead-end later on.

1 - First, pseudo-instructions vs ISA instructions. I read that pseudo 
instructions are not very accurate since they are not "pushed" in the actual 
core pipeline. They are more suitable for functionality, rather than latency 
modeling, etc. Since I'm looking for accurate modeling, I guess implementing a 
instruction as those in the ISA is the (harder, but accurate) way. Is this 
assumption correct? If that is the case, I guess the way to learn how to do 
that is to check/"copy" how other instructions are implemented, right?

2 - It took me a fair amount of time to make the gem5 setup work with my 
application, and in the end, I had to use KVM to fast-forward and take 
checkpoints, otherwise simulation time would be impractical. That said: is the 
use of a custom instruction with gem5+KVM a problem? The custom instruction 
won't be in the host hardware to be used by KVM... How do people generally 
handle the use of KVM while having a custom instruction? In terms of KVM 
support (and back to question 1), does it make any difference if I go with 
pseudo-instruction vs. "extending" the ISA?

I'm targeting aarch64, in a full-system simulation. 

PS.: Having gem5 101 links back on would be very helpful!

Thank you in advance, 
Pedro.
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to