A dual-mode instruction prefetch scheme for improved worst case and average case program execution times

Minsuk Lee, S. Min, C. Park, Young Hyun Bae, Heonshik Shin, Chong-Sang Kim
{"title":"A dual-mode instruction prefetch scheme for improved worst case and average case program execution times","authors":"Minsuk Lee, S. Min, C. Park, Young Hyun Bae, Heonshik Shin, Chong-Sang Kim","doi":"10.1109/REAL.1993.393511","DOIUrl":null,"url":null,"abstract":"One of the obstacles to using RISC processors in a hard real-time environment is the unpredictability of caches. This unpredictability stems from basing them on a design that tries to optimize the average case execution time. We propose a dual mode instruction prefetch scheme as an alternative to instruction caching schemes. In the proposed scheme, a thread is associated with each instruction block. The thread indicates the instruction block that is to be prefetched once the block containing it is accessed by the processor. The proposed scheme operates in two different modes: real-time and non real-time modes. In the real-time mode, the prefetching of instruction blocks is made in the direction that improves the worst case execution time. For this purpose, the thread is generated by the compiler through an analysis of the worst case execution path. In the non real-time mode, the thread is dynamically updated so that it indicates the instruction block that is most likely to be accessed next is the block that was previously accessed after the present block. Therefore, the thread is made to point to such a block in the non real-time mode. The above tailoring of thread information is on a task basis and, therefore, each task in the system can choose its own mode depending on its needs. Typically real-time tasks choose the real-time mode for an improved worst case execution time whereas non time critical tasks choose the non real-time mode for an improved average case execution time. This paper shows, through analysis using a timing tool, that the proposed scheme significantly (up to 45%) improves the predicted worst case execution time in the real-time mode as compared with no prefetching scheme.<<ETX>>","PeriodicalId":198313,"journal":{"name":"1993 Proceedings Real-Time Systems Symposium","volume":"25 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1993-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"25","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"1993 Proceedings Real-Time Systems Symposium","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/REAL.1993.393511","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 25

Abstract

One of the obstacles to using RISC processors in a hard real-time environment is the unpredictability of caches. This unpredictability stems from basing them on a design that tries to optimize the average case execution time. We propose a dual mode instruction prefetch scheme as an alternative to instruction caching schemes. In the proposed scheme, a thread is associated with each instruction block. The thread indicates the instruction block that is to be prefetched once the block containing it is accessed by the processor. The proposed scheme operates in two different modes: real-time and non real-time modes. In the real-time mode, the prefetching of instruction blocks is made in the direction that improves the worst case execution time. For this purpose, the thread is generated by the compiler through an analysis of the worst case execution path. In the non real-time mode, the thread is dynamically updated so that it indicates the instruction block that is most likely to be accessed next is the block that was previously accessed after the present block. Therefore, the thread is made to point to such a block in the non real-time mode. The above tailoring of thread information is on a task basis and, therefore, each task in the system can choose its own mode depending on its needs. Typically real-time tasks choose the real-time mode for an improved worst case execution time whereas non time critical tasks choose the non real-time mode for an improved average case execution time. This paper shows, through analysis using a timing tool, that the proposed scheme significantly (up to 45%) improves the predicted worst case execution time in the real-time mode as compared with no prefetching scheme.<>
一种改进最坏情况和平均情况程序执行时间的双模式指令预取方案
在硬实时环境中使用RISC处理器的障碍之一是缓存的不可预测性。这种不可预测性源于基于尝试优化平均案例执行时间的设计。我们提出了一种双模式指令预取方案作为指令缓存方案的替代方案。在该方案中,每个指令块对应一个线程。线程指示一旦包含该指令的块被处理器访问就要预取的指令块。该方案在实时和非实时两种不同的模式下运行。在实时模式下,指令块的预取是朝着提高最坏情况执行时间的方向进行的。为此,该线程由编译器通过对最坏情况执行路径的分析生成。在非实时模式下,线程是动态更新的,因此它指示下一个最有可能被访问的指令块是在当前块之后先前被访问的块。因此,线程在非实时模式下指向这样一个块。上述线程信息的裁剪是以任务为基础的,因此,系统中的每个任务可以根据自己的需要选择自己的模式。通常情况下,实时任务选择实时模式是为了改善最坏情况的执行时间,而非时间关键型任务选择非实时模式是为了改善平均情况的执行时间。通过使用时序工具进行分析,本文表明,与不预取方案相比,该方案在实时模式下可显著提高预测的最坏情况执行时间(最多可提高45%)
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信