21.01.2013 Views

Lecture Notes in Computer Science 4917

Lecture Notes in Computer Science 4917

Lecture Notes in Computer Science 4917

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

14 K.D. Kissell<br />

of a thread. A processor implement<strong>in</strong>g MIPS MT has up to 31 yield qualifier <strong>in</strong>puts, to<br />

be connected to <strong>in</strong>dicators of events external to the core. When a YIELD <strong>in</strong>struction is<br />

issued with a positive <strong>in</strong>put operand value, that value is <strong>in</strong>terpreted as a vector of orthogonal<br />

bits correspond<strong>in</strong>g to the yield qualifier <strong>in</strong>puts. If none of the qualifier <strong>in</strong>puts<br />

correspond<strong>in</strong>g to the operand value are asserted, execution of the thread is suspended<br />

until such time as one of them goes active.<br />

The ability to suspend execution based on a particular yield qualifier can be controlled<br />

by the operat<strong>in</strong>g system, us<strong>in</strong>g a privileged mask register. If a program issues a YIELD<br />

where the <strong>in</strong>put value has a set bit that is not set <strong>in</strong> the mask register, an exception is delivered<br />

on the YIELD. This allows operat<strong>in</strong>g systems to prevent unauthorized programs<br />

us<strong>in</strong>g <strong>in</strong>put state as a covert channel, and allows virtualization, whereby a program execut<strong>in</strong>g<br />

on a VPE to which a particular yield qualifier <strong>in</strong>put is not connected can have the<br />

YIELD operation emulated by the OS, <strong>in</strong> response to the illegal qualifier exception.<br />

Event service gated by YIELD <strong>in</strong>structions has potentially less latency than <strong>in</strong>terrupts,<br />

even those handled by dedicated <strong>in</strong>terrupt threads or shadow register files, because<br />

<strong>in</strong> addition to elim<strong>in</strong>at<strong>in</strong>g the need to save and restore context, there is no control<br />

transfer to a vector, which would typically require a pipel<strong>in</strong>e flush, and no decode of<br />

state to determ<strong>in</strong>e where to resume event process<strong>in</strong>g. In the case of the 34K-family<br />

cores, which have a per-TC <strong>in</strong>struction buffer (IB), the <strong>in</strong>struction follow<strong>in</strong>g the YIELD<br />

is generally already <strong>in</strong> the IB, ready to issue once the YIELD ceases to be blocked.<br />

5.2 Hierarchically Programmable Schedul<strong>in</strong>g<br />

In MIPS MT, each VPE and each TC has two registers of privileged resource state associated<br />

with its schedul<strong>in</strong>g; a control register and a feedback register. The schedul<strong>in</strong>g<br />

control registers allow software to express dynamic <strong>in</strong>formation, such as priority or a<br />

TDMA schedule, to a hardware schedul<strong>in</strong>g policy manager, while the schedul<strong>in</strong>g feedback<br />

registers allow the schedul<strong>in</strong>g hardware to provide feedback, such as the number<br />

of <strong>in</strong>structions issued or retired by the VPE or TC.<br />

The 34K processor core design features a modular schedul<strong>in</strong>g policy manager that<br />

can be replaced or modified to suit the quality-of-service requirements of a particular<br />

application.<br />

5.3 Gat<strong>in</strong>g Storage as a Peripheral Interface<br />

In addition to its primary function of provid<strong>in</strong>g <strong>in</strong>ter-thread synchronization for software,<br />

I/O FIFOs can be mapped <strong>in</strong>to the gat<strong>in</strong>g storage space, so that threads can be programmed<br />

to consume or produce data <strong>in</strong> an open loop. Their execution will then be governed<br />

by the ability of the peripherals connected to the FIFOs to consume or produce data.<br />

6 Virtualization of MIPS MT Resources<br />

In order to better support the portability of applications across different MIPS MT implementations,<br />

the new user-visible resources def<strong>in</strong>ed by the architecture: FORKed<br />

threads, ITC cells, and YIELD qualifiers, are all virtualizable.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!