{"title":"嵌入式dsp中的缓存预取","authors":"A. Vaintraub, R. Kahn, S. Weiss","doi":"10.1109/ICSEE.2018.8646161","DOIUrl":null,"url":null,"abstract":"Prefetching has been a commonplace feature in the general purpose CPU world for more than a decade but has been much less common in the embedded and mobile world, moreover it has not been utilized for DSPs. The goal of this paper is to adapt and simulate straight-forward hardware prefetching techniques for embedded DSPs, assess their performance using the cycle count metric and find their potential improvement under the strict constraints of low power and low complexity. By using industry standard benchmarks we come to the conclusion that even though these algorithms exhibit a very high inherent hit rate, total cycle count improvement is possible due to relatively high external memory delay that stems from shared buses. Several parameters are simulated, including but not limited to cache size, number of prefetched blocks and the use of a small FIFO buffer to store the prefetched blocks as opposed to writing them directly into cache memory. We show that even a small FIFO buffer results in an improvement of 8% on average and up to 35% in total cycle count even in traces that exhibited a cache hit rate of over 99% without prefetching. We also show that a small prefetch buffer enables us to halve the cache size with no discernible effect on performance.","PeriodicalId":254455,"journal":{"name":"2018 IEEE International Conference on the Science of Electrical Engineering in Israel (ICSEE)","volume":"2016 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Cache Prefetching in Embedded DSPs\",\"authors\":\"A. Vaintraub, R. Kahn, S. Weiss\",\"doi\":\"10.1109/ICSEE.2018.8646161\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Prefetching has been a commonplace feature in the general purpose CPU world for more than a decade but has been much less common in the embedded and mobile world, moreover it has not been utilized for DSPs. The goal of this paper is to adapt and simulate straight-forward hardware prefetching techniques for embedded DSPs, assess their performance using the cycle count metric and find their potential improvement under the strict constraints of low power and low complexity. By using industry standard benchmarks we come to the conclusion that even though these algorithms exhibit a very high inherent hit rate, total cycle count improvement is possible due to relatively high external memory delay that stems from shared buses. Several parameters are simulated, including but not limited to cache size, number of prefetched blocks and the use of a small FIFO buffer to store the prefetched blocks as opposed to writing them directly into cache memory. We show that even a small FIFO buffer results in an improvement of 8% on average and up to 35% in total cycle count even in traces that exhibited a cache hit rate of over 99% without prefetching. We also show that a small prefetch buffer enables us to halve the cache size with no discernible effect on performance.\",\"PeriodicalId\":254455,\"journal\":{\"name\":\"2018 IEEE International Conference on the Science of Electrical Engineering in Israel (ICSEE)\",\"volume\":\"2016 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2018 IEEE International Conference on the Science of Electrical Engineering in Israel (ICSEE)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICSEE.2018.8646161\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE International Conference on the Science of Electrical Engineering in Israel (ICSEE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSEE.2018.8646161","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Prefetching has been a commonplace feature in the general purpose CPU world for more than a decade but has been much less common in the embedded and mobile world, moreover it has not been utilized for DSPs. The goal of this paper is to adapt and simulate straight-forward hardware prefetching techniques for embedded DSPs, assess their performance using the cycle count metric and find their potential improvement under the strict constraints of low power and low complexity. By using industry standard benchmarks we come to the conclusion that even though these algorithms exhibit a very high inherent hit rate, total cycle count improvement is possible due to relatively high external memory delay that stems from shared buses. Several parameters are simulated, including but not limited to cache size, number of prefetched blocks and the use of a small FIFO buffer to store the prefetched blocks as opposed to writing them directly into cache memory. We show that even a small FIFO buffer results in an improvement of 8% on average and up to 35% in total cycle count even in traces that exhibited a cache hit rate of over 99% without prefetching. We also show that a small prefetch buffer enables us to halve the cache size with no discernible effect on performance.