Productive Design of Extensible On-Chip Memory Hierarchies
Henry Cook
EECS Department, University of California, Berkeley
Technical Report No. UCB/EECS-2016-89
May 13, 2016
http://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-89.pdf
As Moore’s Law slows and process scaling yields only small returns, computer architecture and design are poised to undergo a renaissance. This thesis brings the productivity of modern software tools to bear on the design of future energy-efficient hardware architectures.
In particular, it targets one of the most difficult design tasks in the hardware domain: Coherent hierarchies of on-chip caches. I have extended the capabilities of Chisel, a new hardware description language, by providing libraries for hardware developers to use to describe the configuration and behavior of such memory hierarchies, with a focus on the cache coherence protocols that work behind the scenes to preserve their abstraction of global shared memory. I discuss how the methods I provide enable productive and extensible memory hierarchy design by separating the concerns of different hierarchy components, and I explain how this forms the basis for a generative approach to agile hardware design.
This thesis describes a general framework for context-dependent parameterization of any hardware generator, defines a specific set of Chisel libraries for generating extensible cache-coherent memory hierarchies, and provides a methodology for decomposing high-level descriptions of cache coherence protocols into controller-localized, object-oriented transactions.
This methodology has been used to generate the memory hierarchies of a lineage of RISC-V chips fabricated as part of the ASPIRE Lab’s investigations into application-specific processor design.
Advisors: David A. Patterson and Krste Asanović
BibTeX citation:
@phdthesis{Cook:EECS-2016-89, Author= {Cook, Henry}, Editor= {Asanović, Krste and Patterson, David A.}, Title= {Productive Design of Extensible On-Chip Memory Hierarchies}, School= {EECS Department, University of California, Berkeley}, Year= {2016}, Month= {May}, Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-89.html}, Number= {UCB/EECS-2016-89}, Abstract= {As Moore’s Law slows and process scaling yields only small returns, computer architecture and design are poised to undergo a renaissance. This thesis brings the productivity of modern software tools to bear on the design of future energy-efficient hardware architectures. In particular, it targets one of the most difficult design tasks in the hardware domain: Coherent hierarchies of on-chip caches. I have extended the capabilities of Chisel, a new hardware description language, by providing libraries for hardware developers to use to describe the configuration and behavior of such memory hierarchies, with a focus on the cache coherence protocols that work behind the scenes to preserve their abstraction of global shared memory. I discuss how the methods I provide enable productive and extensible memory hierarchy design by separating the concerns of different hierarchy components, and I explain how this forms the basis for a generative approach to agile hardware design. This thesis describes a general framework for context-dependent parameterization of any hardware generator, defines a specific set of Chisel libraries for generating extensible cache-coherent memory hierarchies, and provides a methodology for decomposing high-level descriptions of cache coherence protocols into controller-localized, object-oriented transactions. This methodology has been used to generate the memory hierarchies of a lineage of RISC-V chips fabricated as part of the ASPIRE Lab’s investigations into application-specific processor design.}, }
EndNote citation:
%0 Thesis %A Cook, Henry %E Asanović, Krste %E Patterson, David A. %T Productive Design of Extensible On-Chip Memory Hierarchies %I EECS Department, University of California, Berkeley %D 2016 %8 May 13 %@ UCB/EECS-2016-89 %U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-89.html %F Cook:EECS-2016-89