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...

Full description

Saved in:
Bibliographic Details
Main Authors: Kaveh Aasaraai, Andreas Moshovos
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