EDK63 Thread Independence

The EDK62 core introduced multi-threaded capabilities to the AEMB2 in the form of fine-grained multi-threading using a barrel processor. Essentially, it interleaves and alternates the instructions for the two threads on each clock cycle. However, the two threads are inter-locked, which means that one blocking thread will block the other thread as well.

Thread Dislocation
This problem reduces the performance of the AEMB2. Therefore, the EDK63 core will unlock the two threads so that one blocking thread does not block the operation of the other thread. This should improve the real-time performance of each thread and reduce the interrupt/exception latency.

Thread Application
Since most applications written for the AEMB2 are inherently simple single threaded applications, the second thread usually lies idle except for interrupt handling. However, it is possible to exploit this idle time to perform other tasks.

A potential application is to virtualise certain hardware. Unlocking the threads would make this a possibility my ensuring that the hardware virtualisation thread does not lock due to the application thread.

You may also like...

Leave a Reply