Abstract
This paper describes how a superscalar in-order processor must be modified to support Simultaneous Multithreading (SMT) such that time-predictability is preserved for hard real-time applications. For superscalar in-order architectures the calculation of the Worst Case Execution Time (WCET) is much easier and tighter than for out-of-order architectures. By a careful enhancement that completely isolates the threads, this capability can be perpetuated to an in-order SMT architecture. Our design goal is to minimise the WCET of the highest priority thread, while releasing as many resources as possible for the execution of concurrent non critical threads. The resultant processor executes hard real-time threads at the same speed as its singlethreaded ancestor, but idle issue slots are dynamically used by non critical threads. The modifications to enable SMT are demonstrated by CarCore, a multithreaded embedded processor that implements the Infineon Tricore instruction set.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Tullsen, D.M., Eggers, S.J., Levy, H.M.: Simultaneous multithreading: maximizing on-chip parallelism. In: ISCA 1995, pp. 392–403 (1995)
Gerosa, G., Curtis, S., D’Addeo, M., Jiang, B., Kuttanna, B., Merchant, F., Patel, B., Taufique, M., Samarchi, H.: A Sub-1W to 2W Low-Power IA Processor for Mobile Internet Devices and Ultra-Mobile PCs in 45nm Hi-K Metal Gate CMOS. In: IEEE International Solid-State Circuits Conference (ISSCC 2008), pp. 256–611 (2008)
Mische, J., Uhrig, S., Kluge, F., Ungerer, T.: Exploiting Spare Resources of In-order SMT Processors Executing Hard Real-time Threads. In: ICCD 2008, pp. 371–376 (2008)
Mische, J., Uhrig, S., Kluge, F., Ungerer, T.: IPC Control for Multiple Real-Time Threads on an In-order SMT Processor. In: Seznec, A., Emer, J., O’Boyle, M., Martonosi, M., Ungerer, T. (eds.) HiPEAC 2009. LNCS, vol. 5409, pp. 125–139. Springer, Heidelberg (2009)
Metzlaff, S., Uhrig, S., Mische, J., Ungerer, T.: Predictable dynamic instruction scratchpad for simultaneous multithreaded processors. In: Proceedings of the 9th Workshop on Memory Performance (MEDEA 2008), pp. 38–45 (2008)
Jain, R., Hughes, C.J., Adve, S.V.: Soft Real-Time Scheduling on Simultaneous Multithreaded Processors. In: RTSS 2002, pp. 134–145 (2002)
Dorai, G.K., Yeung, D., Choi, S.: Optimizing SMT Processors for High Single-Thread Performance. Journal of Instruction-Level Parallelism 5 (April 2003)
Cazorla, F.J., Knijnenburg, P.M., Sakellariou, R., Fernndez, E., Ramirez, A., Valero, M.: Predictable Performance in SMT Processors. In: Proceedings of the 1st Conference on Computing Frontiers, pp. 433–443 (2004)
Yamasaki, N., Magaki, I., Itou, T.: Prioritized SMT Architecture with IPC Control Method for Real-Time Processing. In: RTAS 2007, pp. 12–21 (2007)
Hily, S., Seznec, A.: Out-Of-Order Execution May Not Be Cost-Effective on Processors Featuring Simultaneous Multithreading. In: HPCA-5, pp. 64–67 (1999)
Zang, C., Imai, S., Frank, S., Kimura, S.: Issue Mechanism for Embedded Simultaneous Multithreading Processor. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences E91-A(4), 1092–1100 (2008)
Moon, B.I., Yoon, H., Yun, I., Kang, S.: An In-Order SMT Architecture with Static Resource Partitoning for Consumer Applications. In: Liew, K.-M., Shen, H., See, S., Cai, W. (eds.) PDCAT 2004. LNCS, vol. 3320, pp. 539–544. Springer, Heidelberg (2004)
El-Moursy, A., Garg, R., Albonesi, D.H., Dwarkadas, S.: Partitioning Multi-Threaded Processors with a Large Number of Threads. In: IEEE International Symposium on Performance Analysis of Systems and Software, March 2005, pp. 112–123 (2005)
Raasch, S.E., Reinhardt, S.K.: The Impact of Resource Partitioning on SMT Processors. In: PACT 2003, pp. 15–25 (2003)
El-Haj-Mahmoud, A., AL-Zawawi, A.S., Anantaraman, A., Rotenberg, E.: Virtual Multiprocessor: An Analyzable, High-Performance Architecture for Real-Time Computing. In: CASES 2005, pp. 213–224 (2005)
Lickly, B., Liu, I., Kim, S., Patel, H.D., Edwards, S.A., Lee, E.A.: Predictable programming on a precision timed architecture. In: CASES 2008, pp. 137–146 (2008)
Infineon Technologies AG: TriCore 1 User’s Manual. V1.3.8 (January 2008)
HighTec EDV-Systeme GmbH: Website, http://www.hightec-rt.com/
Hennessy, J.L., Patterson, D.A.: Computer architecture: a quantitative approach, 4th edn. Morgan Kaufmann Publishers Inc., San Francisco (2007)
Embedded Microprocessor Benchmark Consortiu: AutoBench 1.1 software benchmark data book, http://www.eembc.com/techlit/datasheets/autobench_db.pdf
Märdalen WCET research group: Worst Case Execution Time Bechmarks, http://www.mrtc.mdh.se/projects/wcet/benchmarks.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mische, J., Guliashvili, I., Uhrig, S., Ungerer, T. (2010). How to Enhance a Superscalar Processor to Provide Hard Real-Time Capable In-Order SMT. In: Müller-Schloer, C., Karl, W., Yehia, S. (eds) Architecture of Computing Systems - ARCS 2010. ARCS 2010. Lecture Notes in Computer Science, vol 5974. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11950-7_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-11950-7_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-11949-1
Online ISBN: 978-3-642-11950-7
eBook Packages: Computer ScienceComputer Science (R0)