Internships/ProjectIdeas/CacheModelling: Difference between revisions

From QEMU
(Created page with "=== TCG Plugin Cache Modelling === '''Summary:''' Implement a simple cache modelling plugin for QEMU's TCG plugins. QEMU's TCG emulation has traditionally avoided doing co...")
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
'''Summary:''' Implement a simple cache modelling plugin for QEMU's TCG plugins.
'''Summary:''' Implement a simple cache modelling plugin for QEMU's TCG plugins.
   
   
QEMU's TCG emulation has traditionally avoided doing complex modelling of the processor in favor of running fast. However the recent introduction of TCG plugins we can put some simple cache modelling into a plugin which can be optionally loaded when we want to examine how a program works. With such a plugin we could identify areas of code in either a linux-user program or a whole system that may not be cache optimal.
QEMU's TCG emulation has traditionally avoided doing complex modelling of the processor in favor of running fast. However the recent introduction of TCG plugins we can put some simple cache modelling into a plugin which can be optionally loaded when we want to examine how a program works. With such a plugin we could identify areas of code in either a linux-user program or a whole system that may not be cache optimal. The aim would be to write a plugin that allows you to simply model different icache/dcache configurations rather than actually simulate the micro-architecture of a CPU.
   
   
'''Links:'''
'''Links:'''
Line 10: Line 10:
* Example integration of [https://github.com/atos-tools/qemu/blob/stable-3.1.plugins/tcg/plugins/dineroIV.c Dinero IV Cache Simulator with a out-of-tree plugin solution]
* Example integration of [https://github.com/atos-tools/qemu/blob/stable-3.1.plugins/tcg/plugins/dineroIV.c Dinero IV Cache Simulator with a out-of-tree plugin solution]


'''Details:'''
'''Details:'''
* Skill level: intermediate with a good understanding of a processor instruction and data caches
* Skill level: intermediate with a good understanding of a processor instruction and data caches
* Language: C, Python
* Language: C, Python
* Mentor: Alex Bennée (alex.bennee@linaro.org)
* Mentor: Alex Bennée (alex.bennee@linaro.org)
* Suggested by: Alex Bennée
* Suggested by: Alex Bennée

Latest revision as of 16:51, 20 January 2020

TCG Plugin Cache Modelling

Summary: Implement a simple cache modelling plugin for QEMU's TCG plugins.

QEMU's TCG emulation has traditionally avoided doing complex modelling of the processor in favor of running fast. However the recent introduction of TCG plugins we can put some simple cache modelling into a plugin which can be optionally loaded when we want to examine how a program works. With such a plugin we could identify areas of code in either a linux-user program or a whole system that may not be cache optimal. The aim would be to write a plugin that allows you to simply model different icache/dcache configurations rather than actually simulate the micro-architecture of a CPU.

Links:

Details:

  • Skill level: intermediate with a good understanding of a processor instruction and data caches
  • Language: C, Python
  • Mentor: Alex Bennée (alex.bennee@linaro.org)
  • Suggested by: Alex Bennée