Performance Evaluation of Multiple Register Set Architectures and Cache Memories
Eickemeyer, Richard James
This item is only available for download by members of the University of Illinois community. Students, faculty, and staff at the U of I may log in with your NetID and password to view the item. If you are trying to access an Illinois-restricted dissertation or thesis, you can request a copy through your library's Inter-Library Loan office or purchase a copy directly from ProQuest.
Permalink
https://hdl.handle.net/2142/69383
Description
Title
Performance Evaluation of Multiple Register Set Architectures and Cache Memories
Author(s)
Eickemeyer, Richard James
Issue Date
1988
Doctoral Committee Chair(s)
Patel, Janak H.
Department of Study
Electrical Engineering
Discipline
Electrical Engineering
Degree Granting Institution
University of Illinois at Urbana-Champaign
Degree Name
Ph.D.
Degree Level
Dissertation
Keyword(s)
Engineering, Electronics and Electrical
Computer Science
Abstract
Multiple register set architectures have been proposed as a method to reduce the large amount of memory traffic associated with high-level language procedure calls. In this thesis, the effect on overall processor memory traffic of multiple register sets is characterized for a set of real programs. To accomplish this, traces of programs' address and register references were collected on a VAX-11/780. These traces were then mapped to the traces that could have come from a hypothetical VAX with multiple register sets. The memory traffic for various numbers of register sets and numbers of registers per set were compared to the memory traffic in the original trace. The results show a 10-20% reduction in memory traffic using the multiple register sets; the results vary among programs. The effect of context switch was also measured and found not to be significant.
A synthetic benchmark program, Dhampstone, was written in the C language with the goal to accurately characterize program behavior with and without multiple register sets. To construct the program, existing program statistics were supplemented with measurements of I/O and C language register declarations. The change in memory traffic with multiple register sets on Dhampstone was compared to the change measured in the real programs; there was good agreement for a variety of numbers of sets and numbers of registers per set.
Multiple register sets were compared to other local memory organizations using a chip area model and a memory access time model. These organizations consisted of a variety of different cache organizations. Combinations of different caches and multiple register sets were also examined. With a small chip area, a top-of-stack cache performed better than multiple register sets. For larger chip areas, an instruction cache, or better yet, an instruction cache plus a small top-of-stack cache, perform well. At the largest cache sizes studied, a full cache is required, so that each memory reference could potentially be in the cache. Adding multiple register sets to a full cache improves performance slightly for larger chip areas.
Use this login method if you
don't
have an
@illinois.edu
email address.
(Oops, I do have one)
IDEALS migrated to a new platform on June 23, 2022. If you created
your account prior to this date, you will have to reset your password
using the forgot-password link below.