ACM Home Page
Please provide us with feedback. Feedback
A survey of processors with explicit multithreading
Full text PdfPdf (920 KB)
Source ACM Computing Surveys (CSUR) archive
Volume 35 ,  Issue 1  (March 2003) table of contents
Pages: 29 - 63  
Year of Publication: 2003
ISSN:0360-0300
Authors
Theo Ungerer  University of Augsburg, Augsburg, Germany
Borut Robič  University of Ljubljana, Ljubljana, Slovenia
Jurij Šilc  Jožef Stefan Institute, Ljubljana, Slovenia
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 69,   Downloads (12 Months): 491,   Citation Count: 18
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/641865.641867
What is a DOI?

ABSTRACT

Hardware multithreading is becoming a generally applied technique in the next generation of microprocessors. Several multithreaded processors are announced by industry or already into production in the areas of high-performance microprocessors, media, and network processors.A multithreaded processor is able to pursue two or more threads of control in parallel within the processor pipeline. The contexts of two or more threads of control are often stored in separate on-chip register sets. Unused instruction slots, which arise from latencies during the pipelined execution of single-threaded programs by a contemporary microprocessor, are filled by instructions of other threads within a multithreaded processor. The execution units are multiplexed between the thread contexts that are loaded in the register sets.Underutilization of a superscalar processor due to missing instruction-level parallelism can be overcome by simultaneous multithreading, where a processor can issue multiple instructions from multiple threads each cycle. Simultaneous multithreaded processors combine the multithreading technique with a wide-issue superscalar processor to utilize a larger part of the issue bandwidth by issuing instructions from different threads simultaneously.Explicit multithreaded processors are multithreaded processors that apply processes or operating system threads in their hardware thread slots. These processors optimize the throughput of multiprogramming workloads rather than single-thread performance. We distinguish these processors from implicit multithreaded processors that utilize thread-level speculation by speculatively executing compiler- or machine-generated threads of control that are part of a single sequential program.This survey paper explains and classifies the explicit multithreading techniques in research and in commercial microprocessors.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
 
4
 
5
 
6
7
 
8
9
 
10
Bolychevsky, A., Jesshope, C. R., and Muchnik, V. B. 1996. Dynamic scheduling in RISC architectures. IEE P. Comput. Dig. Tech. 143, 5, 309--317.
 
11
12
 
13
Borkenhagen, J. M., Eickemeyer, R. J., Kalla, R. N., and Kunkel, S. R. 2000. A multithreaded PowerPC processor for commercial servers. IBM J. Res. Dev. 44, 6, 885--898.
 
14
Brinkschulte, U., Bechina, A., Picioroaga, F., Schneider, E., Ungerer, T., Kreuzinger, J., and Pfeffer, M. 2000. A microkernel middleware architecture for distributed embedded real-time systems. In Proceedings of the 20th IEEE Symposium on Reliable Distributed Systems (New Orleans LA). 218--226.
 
15
 
16
Brinkschulte, U., Krakowski, C., Marston, R., Kreuzinger, J., and Ungerer, T. 1999b. The Komodo project: thread-based event handling supported by a multithreaded Java microcontroller. In Proceedings of the 25th Euromicro Conference (Milan, Italy). 122--128.
 
17
Brinkschulte, U., Kreuzinger, J., Pfeffer, M., and Ungerer, T. 2002. A scheduling technique providing a strict isolation of real-time threads. In Proceedings of the 7th IEEE International Workshop on Object-oriented Real-time Dependable Systems (San Diego, CA). 169-- 172.
 
18
 
19
20
21
22
 
23
 
24
 
25
Dennis, J. B. and Gao, G. R. 1994. Multithreaded architectures: principles, projects, and issues. In Multithreaded Computer Architecture: A Summary of the State of the Art, R. A. Iannucci, G. R. Gao, R. Halstead, and B. J. Smith, Eds. Kluwer Boston, MA, Dordrecht, The Netherlands, London, U.K. 1--74.
 
26
Dorojevets, M. 2000. COOL multithreading in HTMT SPELL-1 processors. Int. J. High Speed Electron. Sys. 10, 1, 247--253.
 
27
 
28
Dubey, P. K., O'Brien, K., O'Brien, K. M., and Barton, C. 1995. Single-program speculative multithreading (SPSM) architecture: compiler-assisted fine-grain multithreading. Tech. Rep. RC 19928. IBM, Yorktown Heights, NY.
 
29
 
30
Emer, J. S. 1999. Simultaneous multithreading: multiplying Alpha's performance. In Proceedings of the Microprocessor Forum (San Jose, CA).
 
31
 
32
 
33
 
34
Franklin, M. 1993. The multiscalar architecture. Tech. Rep. 1196. Department of Computer Science, University of Wisconsin-Madison, Madison, WI.
 
35
 
36
Gelinas, B., Hays, P., and Katzman, S. 2002. Fine-grained hardware multi-threading: A CPU architecture for high-touch packed processing. Lexra Inc., Waltham, MA. White paper.
 
37
Glaskowsky, P. N. 2002. Network processors mature in 2001. Microproc. Report. February 19, 2002 (online journal).
 
38
Grünewald, W. and Ungerer, T. 1996. Towards extremely fast context switching in a blockmultithreaded processor. In Proceedings of the 22nd Euromicro Conference (Prague, Czech Republic). 592--599.
 
39
 
40
 
41
Gwennap, L. 1997. DanSoft develops VLIW design. Microproc. Report 11, 2 (Feb. 17), 18--22.
42
43
 
44
 
45
46
 
47
Iannucci, R. A., Gao, G. R., Halstead, R., and Smith, B. J., Eds. 1994. Multithreaded Computer Architecture: A Summary of the State of the Art. Kluwer Boston, MA, Dordrecht, The Netherlands, London, U.K.
 
48
IBM Corporation. 1999. IBM network processor. Product overview. IBM, Yorktown Heights, NY.
 
49
Intel Corporation. 2002. Intel Internet exchange architecture network processors: flexible, wire-speed processing from the customer premises to the network core. White paper. Intel, Santa Clara, CA.
 
50
 
51
 
52
Kavi, K. M., Levine, D. L., and Hurson, A. R. 1997. A non-blocking multithreaded architecture. In Proceedings of the 5th International Conference on Advanced Computing (Madras, India). 171--177.
 
53
54
 
55
 
56
Kreuzinger, J. and Ungerer, T. 1999. Context-switching techniques for decoupled multithreaded processors. In Proceedings of the 25th Euromicro Conference (Milan, Italy). 1:248--251.
57
58
 
59
Lawson, S. and Vance, A. 2002. Sun hints at UltraSparc V and beyond. Available online at PC World.com.
 
60
 
61
62
63
64
 
65
 
66
Lüth, K., Metzner, A., Piekenkamp, T., and Risu, J. 1997. The events approach to rapid prototyping for embedded control system. In Proceedings of the Workshop Zielarchitekturen eingebetteter Syststeme (Rostock, Germany). 45--54.
 
67
Mankovic, T. E., Popescu, V., and Sullivan, H. 1987. CHoPP priciples of operations. In Proceedings of the 2nd International Supercomputer Conference (Mannheim, Germany). 2--10.
68
 
69
Marr, D. T., Binns, F., Hill, D. L., Hinton, G., Koufaty, D. A., Miller, J. A., and Upton, M. 2002. Hyper-threading technology architecture and microarchitecture: a hypertext history. Intel Technology J. 6, 1 (online journal).
 
70
Metzner, A. and Niehaus, J. 2000. MSparc: multithreading in real-time architectures. J. Universal Comput. Sci. 6, 10, 1034--1051.
 
71
 
72
 
73
Oehring, H., Sigmund, U., and Ungerer, T. 1999b. Simultaneous multithreading and multimedia. In Proceedings of the Workshop on Multithreaded Execution, Architecture and Compilation (Orlando, FL).
 
74
 
75
 
76
Pontius, N. and Bagherzadeh, N. 1999. Multithreaded extensions enhance multimedia performance. In Proceedings of the Workshop on Multithreaded Execution, Architecture and Compilation (Orlando, FL).
 
77
 
78
 
79
 
80
 
81
Sigmund, U., Steinhaus, M., and Ungerer, T. 2000. Transistor count and chip space assessment of multimedia-enhanced simultaneous multithreaded processors. In Proceedings of the 4th Workshop on Multithreaded Execution, Architecture and Compilation (Monterrey, CA).
 
82
Sigmund, U. and Ungerer, T. 1996a. Evaluating a multithreaded superscalar microprocessor versus a multiprocessor chip. In Proceedings of the 4th PASA Workshop on Parallel Systems and Algorithms (Jülich, Germany). 147--159.
 
83
 
84
Šilc, J., Robič, B., and Ungerer, T. 1998. Asynchrony in parallel computing: from dataflow to multithreading. Parall. Distr. Comput. Practices 1, 1, 57--83.
 
85
Šilc, J., Robič, B., and Ungerer, T. 1999. Processor Architecture: From Dataflow to Superscalar and Beyond. Springer-Verlag, Heidelberg and Berlin, Germany, and New York, NY.
 
86
Smith, B. J. 1981. Architecture and applications of the HEP multiprocessor computer system. SPIE Real-Time Signal Processing IV 298, 241--248.
 
87
 
88
 
89
Sohi, G. S. 1997. Multiscalar: another fourth-generation processor. Computer 30, 9, 72.
 
90
91
 
92
Steinhaus, M., Kolla, R., Larriba-Pey, J. L., Ungerer, T., and Valero, M. 2001. Transistor count and chip space estimation of simple-scalar-based microprocessor models. In Proceedings of the Workshop on Complexity-Effective Design (Göteborg, Sweden).
 
93
Sterling, T. 1997. Beyond 100 teraflops through superconductors, holographic storage, and the data vortex. In Proceedings of the International Symposium on Supercomputing (Tokyo, Japan).
 
94
Tendler, J. M., Dodson, J. S., Fields, Jr., J. S., Le, H., and Sinharoy, B. 2002. POWER4 system microarchitecture. IBM J. Res. Dev. 46, 1, 5--26.
 
95
Texas Instruments. 1994. TMS320C80 Technical brief. Texas Instruments, Dallas, TX.
 
96
 
97
Tremblay, M. 1999. A VLIW convergent multiprocessor system on a chip. In Proceedings of the Microprocessor Forum (San Jose, CA).
 
98
 
99
100
101
 
102
 
103
Ungerer, T., Robič, B., and Šilc, J. 2002. Multithreaded processors. Computer J. 45, 3, 320--348.
104
 
105
106
107
 
108
 
109
Wittenburg, J. P., Meyer, G., and Pirsch, P. 1999. Adapting and extending simultaneous multithreading for high performance video signal processing applications. In Proceedings of the Workshop on Multithreaded Execution, Architecture and Compilation (Orlando, FL).
 
110

CITED BY  18

Collaborative Colleagues:
Theo Ungerer: colleagues
Borut Robič: colleagues
Jurij Šilc: colleagues