@techreport{oai:ipsj.ixsq.nii.ac.jp:00070050, author = {Naruki, Kurata and Ryota, Shioya and Jun, Nakashima and Masahiro, Goshima and Shuichi, Sakai and Naruki, Kurata and Ryota, Shioya and Jun, Nakashima and Masahiro, Goshima and Shuichi, Sakai}, issue = {27}, month = {Jul}, note = {“Delinquent” instructions are a small number of static instructions that cause most branch prediction misses and cache misses in a program. One of the important features of those delinquent instructions is that most of them are executed in small loops. We have proposed a new scheme of multithreading called Switch-on-Future-Event Multithreading (SoFE-MT) that hides a latency of delinquent instructions by multithreading execution of a loop in a single program. The conventional SoFE-MT did not assume periodic memory cache misses or memory access order violation between threads which often occur in a loop. We propose a memory access prediction system and a memory confliction detection system to deal with such problems. Simulation results shows that our proposal achieves performance improvement by an average of 2.4% and a maximum of 15.3%., “Delinquent” instructions are a small number of static instructions that cause most branch prediction misses and cache misses in a program. One of the important features of those delinquent instructions is that most of them are executed in small loops. We have proposed a new scheme of multithreading called Switch-on-Future-Event Multithreading (SoFE-MT) that hides a latency of delinquent instructions by multithreading execution of a loop in a single program. The conventional SoFE-MT did not assume periodic memory cache misses or memory access order violation between threads which often occur in a loop. We propose a memory access prediction system and a memory confliction detection system to deal with such problems. Simulation results shows that our proposal achieves performance improvement by an average of 2.4% and a maximum of 15.3%.}, title = {An Improvement of Switch-on-Future-Event Multithreading}, year = {2010} }