| MulTEP:
A MultiThreaded
Embedded
Processor |
| Thesis
derives from the Greek for 'place' in the sense that it is something you
wish to argue, a position that you wish to maintain. -- E. Phillips and D. Pugh |
Research
is based on an open system of thought in order to find out something
you don't know. -- E. Phillips and D. Pugh |
| Thesis quotes | Part 1: Background Chapter 1 - Introduction If
we know what it was we were doing, Chapter 2 - Architecture Level Parallelism
Chapter 3 - Multithreaded Processors Chapter 4 - Embedded Systems Design
Part 2: Architectural Design Chapter 5 - System Overview
Chapter 6 - Hardware Architecture Chapter 7 - Software Support
Part 3: Evaluation and Conclusions Chapter 8 - Evaluation and Results All
that we are is the result of Chapter 9 - Conclusions and Future Directions
|
| Outcomes | Official Page: EPSRC Multithreaded Embedded Processor Project Presentations: First Year | Poster | Hardware Discussion | Cambridge-MIT Workshop
|
| 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. These
techniques might not be suitable for embedded systems where real-time
performance guarantees need to be met. Furthermore, miss-predicted speculation
consumes power by performing work which is never used.
Multithreading appears to be a feasible solution with enormous potential for embedded processors. The multithreaded model benefits from sequential characteristic of control-flow and concurrency characteristic of data-flow. Thread-level parallelism has a potential to overcome the limitations of insufficient instruction-level parallelism to hide the increasing memory latencies. Earlier empirical studies on multithreaded processors demonstrated that exploiting thread-level concurrency not only offers latency tolerance, but also provides predictable performance gain. A MulTithreaded Embedded Processor (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 supports four additional multithreading instructions (i.e. spawn, wait, switch, stop) 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. |
| Back to my main page | research page |
Update: Febuary 18th, 2004 |