TY - GEN
T1 - Constructing virtual architectures on a tiled processor
AU - Wentzlaff, David
AU - Agarwal, Anant
PY - 2006
Y1 - 2006
N2 - As the amount of available silicon resources on one chip increases, we have seen the advent of ever increasing parallel resources integrated on-chip. Many architectures use these resources as individually controllable, parallel processing elements. While such architectures excel at parallel applications, they seldom support legacy single-threaded applications. In this work, we propose using parallel resources to facilitate execution of legacy codes with acceptable performance on parallel architectures containing a drastically different instruction set through the use of an all software parallel dynamic binary translation engine. This engine spatially implements different portions of a superscalar processor across distinct parallel elements thus exploiting the pipeline parallelism inherent in a superscalar. This virtual microarchitecture facilitates changing the allocation of silicon resources between different superscalar units in software which is not possible when special purpose physical resources are built. We propose building dynamically reconfigurable architectures that inspect the current virtual machine configuration along with the dynamic instruction stream and change the configuration to best suit the program's needs at runtime. An x86 to Raw parallel translation engine was built in which tiles dedicated to translation can be traded for tiles dedicated to the memory system as an example of dynamic reconfiguration.
AB - As the amount of available silicon resources on one chip increases, we have seen the advent of ever increasing parallel resources integrated on-chip. Many architectures use these resources as individually controllable, parallel processing elements. While such architectures excel at parallel applications, they seldom support legacy single-threaded applications. In this work, we propose using parallel resources to facilitate execution of legacy codes with acceptable performance on parallel architectures containing a drastically different instruction set through the use of an all software parallel dynamic binary translation engine. This engine spatially implements different portions of a superscalar processor across distinct parallel elements thus exploiting the pipeline parallelism inherent in a superscalar. This virtual microarchitecture facilitates changing the allocation of silicon resources between different superscalar units in software which is not possible when special purpose physical resources are built. We propose building dynamically reconfigurable architectures that inspect the current virtual machine configuration along with the dynamic instruction stream and change the configuration to best suit the program's needs at runtime. An x86 to Raw parallel translation engine was built in which tiles dedicated to translation can be traded for tiles dedicated to the memory system as an example of dynamic reconfiguration.
UR - http://www.scopus.com/inward/record.url?scp=84868706992&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84868706992&partnerID=8YFLogxK
U2 - 10.1109/CGO.2006.11
DO - 10.1109/CGO.2006.11
M3 - Conference contribution
AN - SCOPUS:84868706992
SN - 0769524990
SN - 9780769524993
T3 - Proceedings of the CGO 2006 - The 4th International Symposium on Code Generation and Optimization
SP - 173
EP - 184
BT - Proceedings of the CGO 2006 - The 4th International Symposium on Code Generation and Optimization
T2 - 4th International Symposium on Code Generation and Optimization, CGO 2006
Y2 - 26 March 2006 through 29 March 2006
ER -