NCOR: An FPGA-Friendly Nonblocking Data Cache for Soft Processors with Runahead Execution
Soft processors often use data caches to reduce the gap between processor and main memory speeds. To achieve high efficiency, simple, blocking caches are used. Such caches are not appropriate for processor designs such as Runahead and out-of-order execution that require nonblocking caches to tolera...
Saved in:
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
Wiley
2012-01-01
|
Series: | International Journal of Reconfigurable Computing |
Online Access: | http://dx.doi.org/10.1155/2012/915178 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
_version_ | 1832553559790452736 |
---|---|
author | Kaveh Aasaraai Andreas Moshovos |
author_facet | Kaveh Aasaraai Andreas Moshovos |
author_sort | Kaveh Aasaraai |
collection | DOAJ |
description | Soft processors often use data caches to reduce the gap between processor and
main memory speeds. To achieve high efficiency, simple, blocking caches are used.
Such caches are not appropriate for processor designs such as Runahead and out-of-order execution that require nonblocking caches to tolerate main memory latencies.
Instead, these processors use non-blocking caches to extract memory level parallelism
and improve performance. However, conventional non-blocking cache designs are expensive and slow on FPGAs as they use content-addressable memories (CAMs). This
work proposes NCOR, an FPGA-friendly non-blocking cache that exploits the key
properties of Runahead execution. NCOR does not require CAMs and utilizes smart
cache controllers. A 4 KB NCOR operates at 329 MHz on Stratix III FPGAs while it
uses only 270 logic elements. A 32 KB NCOR operates at 278 Mhz and uses 269 logic
elements. |
format | Article |
id | doaj-art-9795f5371b224c0b805bd177a41a2c1a |
institution | Kabale University |
issn | 1687-7195 1687-7209 |
language | English |
publishDate | 2012-01-01 |
publisher | Wiley |
record_format | Article |
series | International Journal of Reconfigurable Computing |
spelling | doaj-art-9795f5371b224c0b805bd177a41a2c1a2025-02-03T05:53:48ZengWileyInternational Journal of Reconfigurable Computing1687-71951687-72092012-01-01201210.1155/2012/915178915178NCOR: An FPGA-Friendly Nonblocking Data Cache for Soft Processors with Runahead ExecutionKaveh Aasaraai0Andreas Moshovos1Department of Electrical and Computer Engineering, University of Toronto, Toronto, ON, CanadaDepartment of Electrical and Computer Engineering, University of Toronto, Toronto, ON, CanadaSoft processors often use data caches to reduce the gap between processor and main memory speeds. To achieve high efficiency, simple, blocking caches are used. Such caches are not appropriate for processor designs such as Runahead and out-of-order execution that require nonblocking caches to tolerate main memory latencies. Instead, these processors use non-blocking caches to extract memory level parallelism and improve performance. However, conventional non-blocking cache designs are expensive and slow on FPGAs as they use content-addressable memories (CAMs). This work proposes NCOR, an FPGA-friendly non-blocking cache that exploits the key properties of Runahead execution. NCOR does not require CAMs and utilizes smart cache controllers. A 4 KB NCOR operates at 329 MHz on Stratix III FPGAs while it uses only 270 logic elements. A 32 KB NCOR operates at 278 Mhz and uses 269 logic elements.http://dx.doi.org/10.1155/2012/915178 |
spellingShingle | Kaveh Aasaraai Andreas Moshovos NCOR: An FPGA-Friendly Nonblocking Data Cache for Soft Processors with Runahead Execution International Journal of Reconfigurable Computing |
title | NCOR: An FPGA-Friendly Nonblocking Data Cache for Soft Processors with Runahead Execution |
title_full | NCOR: An FPGA-Friendly Nonblocking Data Cache for Soft Processors with Runahead Execution |
title_fullStr | NCOR: An FPGA-Friendly Nonblocking Data Cache for Soft Processors with Runahead Execution |
title_full_unstemmed | NCOR: An FPGA-Friendly Nonblocking Data Cache for Soft Processors with Runahead Execution |
title_short | NCOR: An FPGA-Friendly Nonblocking Data Cache for Soft Processors with Runahead Execution |
title_sort | ncor an fpga friendly nonblocking data cache for soft processors with runahead execution |
url | http://dx.doi.org/10.1155/2012/915178 |
work_keys_str_mv | AT kavehaasaraai ncoranfpgafriendlynonblockingdatacacheforsoftprocessorswithrunaheadexecution AT andreasmoshovos ncoranfpgafriendlynonblockingdatacacheforsoftprocessorswithrunaheadexecution |