Department of Computer Science and Technology

Technical reports

MulTEP: A MultiThreaded Embedded Processor

Panit Watcharawitch

May 2004, 190 pages

This technical report is based on a dissertation submitted November 2003 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Newnham College.

DOI: 10.48456/tr-588

Abstract

Conventional embedded microprocessors have traditionally followed the footsteps of high-end processor design to achieve high performance. Their underlying architectures prioritise tasks by time-critical interrupts and rely on software to perform scheduling tasks. Single threaded execution relies on instruction-based probabilistic techniques, such as speculative execution and branch prediction, which are unsuitable for embedded systems when real-time performance guarantees need to be met. Multithreading appears to be a feasible solution for embedded processors. Thread-level parallelism has a potential to overcome the limitations of insufficient instruction-level parallelism to hide the increasing memory latencies. MulTEP is designed to provide high performance thread-level parallelism, real-time characteristics, a flexible number of threads and low incremental cost per thread for the embedded system. In its architecture, a matching-store synchronisation mechanism allows a thread to wait for multiple data items. A tagged up/down dynamic-priority hardware scheduler is provided for real-time scheduling. Pre-loading, pre-fetching and colour-tagging techniques are implemented to allow context switches without any overhead. The architecture provides four additional multithreading instructions for programmers and advance compilers to create programs with low-overhead multithreaded operations. Experimental results demonstrate that multithreading can be effectively used to improve performance and system utilisation. Latency operations that would otherwise stall the pipeline are hidden by the execution of the other threads. The hardware scheduler provides priority scheduling, which is suitable for real-time embedded applications.

Full text

PDF (3.6 MB)

BibTeX record

@TechReport{UCAM-CL-TR-588,
  author =	 {Watcharawitch, Panit},
  title = 	 {{MulTEP: A MultiThreaded Embedded Processor}},
  year = 	 2004,
  month = 	 may,
  url = 	 {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-588.pdf},
  institution =  {University of Cambridge, Computer Laboratory},
  doi = 	 {10.48456/tr-588},
  number = 	 {UCAM-CL-TR-588}
}