DocumentCode :
2137944
Title :
An instruction cache architecture for parallel execution of Java threads
Author :
Chu, Wanming ; Li, Yamin
Author_Institution :
Dept. of Comput. Hardware, Univ. of Aizu, Aizu-Wakamatsu, Japan
fYear :
2003
fDate :
27-29 Aug. 2003
Firstpage :
180
Lastpage :
184
Abstract :
Designing a Java processor supporting horizontal multithreading has become more attractive as network computing gains importance. Different from the traditional superscalar processors that issue multiple instructions from a single instruction stream to exploit the instruction level parallelism (ILP), the horizontal multithreading Java processors issue multiple instructions (bytecodes) from multiple threads in parallel to exploit not only the ILP but the thread level parallelism (TLP). Such processors have multiple dispatch slots and require the instruction fetch unit to supply instructions with much higher bandwidth than superscalar processors. Using a traditional superscalar cache architecture in a horizontal multithreading Java processor results in high cache miss ratio caused by the interference among the threads. We investigate multibank instruction cache architecture for horizontal multithreading Java processor to meet the requirements of the high instruction fetch bandwidth. In order to evaluate the cache performance as well as the horizontal multithreading Java processor performance, we developed a trace driven simulator. The simulator consists of a trace generator that generates the Java bytecode execution traces and an architectural simulator that reads the traces and evaluates the performance of the instruction cache and the overall performance of the Java processor. Our simulation results show that the performance improvements are obtained by the low cache miss ratio and the high instruction fetch bandwidth of the proposed cache architecture. The IPC performance is about 19 when both the number of slots and the number of banks are 8, about 5 times better than one bank cache.
Keywords :
Java; cache storage; instruction sets; multi-threading; parallel architectures; performance evaluation; virtual machines; Java bytecode execution traces; Java processor performance evaluation; Java threads; Java virtual machine; architectural simulator; cache miss ratio; dispatch slots; horizontal multithreading; instruction fetch bandwidth; instruction level parallelism; multibank instruction cache architecture; superscalar cache architecture; superscalar processors; thread level parallelism; trace driven simulator; trace generator; Bandwidth; Clocks; Computer networks; Delay; Java; Multithreading; Parallel processing; Processor scheduling; Surface-mount technology; Yarn;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel and Distributed Computing, Applications and Technologies, 2003. PDCAT'2003. Proceedings of the Fourth International Conference on
Print_ISBN :
0-7803-7840-7
Type :
conf
DOI :
10.1109/PDCAT.2003.1236283
Filename :
1236283
Link To Document :
بازگشت