Difference between revisions of "34K"

From LinuxMIPS
Jump to: navigation, search
(Linux support)
(Slight restructuring; elaborate a little on SMTC.)
Line 3: Line 3:
 
== Linux support ==
 
== Linux support ==
 
Linux implements several code models based on the MT ASE which can be choosen at kernel configuration time:
 
Linux implements several code models based on the MT ASE which can be choosen at kernel configuration time:
* VSMP<br>or Virtual&nbsp;SMP uses the processor's [[VPE]]s to implement virtual processors.  In currently available configuration of the 34K processor this allows for a dual processor.  Both processors will share the same primary caches, each will obtain the half of the TLB for it's own exclusive use.  For a layman this model can be described as similar to what Intel calls [[wikipedia:Hyperthreading|Hyperthreading]].
+
=== VSMP ===
* SMTC<br>is presenting the available TC's of the core as processors to Linux.  On currently available 34K processors this means a Linux system will see up to 5 processors.  The implementation of the SMTC kernel differs ''significantly'' from VSMP.
+
or Virtual&nbsp;SMP uses the processor's [[VPE]]s to implement virtual processors.  In currently available configuration of the 34K processor this allows for a dual processor.  Both processors will share the same primary caches, each will obtain the half of the TLB for it's own exclusive use.  For a layman this model can be described as similar to what Intel calls [[wikipedia:Hyperthreading|Hyperthreading]].
* AP/SP<br>is based on a normal Linux uniprocessor kernel.  Instead of presenting additional VPEs as processors to the kernel it allows loading of an application program built with MIPS SDE into kernel space where this application will run on a secondary VPE undisturbed by the Linux kernel.
+
=== SMTC ===
 +
is presenting the available TC's of the core as processors to Linux.  On currently available 34K processors this means a Linux system will see up to 5 processors.  The implementation of the SMTC kernel differs ''significantly'' from VSMP.  It was found that SMTC cannot efficiently coexist in the same kernel binary with other modes of multiprocessor support so enabling SMTC is a compile time decision.  The choice between VSMP and SMTC is a bit delicate as it is affected by clockspeed, memory speed, the specific workload and other factors. As such the choice should not be made on an evaluation board such as the Malta but preferably on the final target hardware.
 +
=== AP/SP ===
 +
is based on a normal Linux uniprocessor kernel.  Instead of presenting additional VPEs as processors to the kernel it allows loading of an application program built with MIPS SDE into kernel space where this application will run on a secondary VPE undisturbed by the Linux kernel.
  
Support for all three code models is available in 34k-2.6.16* branches of linux-mips.org's git repository and will be part of 2.6.17.
+
Support for all three code models is available in linux-2.6.16-stable branch of linux-mips.org's [[git]] repository and kernel.org kernels 2.6.17 and newer.

Revision as of 09:59, 16 September 2010

The MIPS 34K is the latest member of MIPS's family of MIPS32 processors. It is the first MIPS processor supporting multithreaded execution according to the MT ASE specification.

Linux support

Linux implements several code models based on the MT ASE which can be choosen at kernel configuration time:

VSMP

or Virtual SMP uses the processor's VPEs to implement virtual processors. In currently available configuration of the 34K processor this allows for a dual processor. Both processors will share the same primary caches, each will obtain the half of the TLB for it's own exclusive use. For a layman this model can be described as similar to what Intel calls Hyperthreading.

SMTC

is presenting the available TC's of the core as processors to Linux. On currently available 34K processors this means a Linux system will see up to 5 processors. The implementation of the SMTC kernel differs significantly from VSMP. It was found that SMTC cannot efficiently coexist in the same kernel binary with other modes of multiprocessor support so enabling SMTC is a compile time decision. The choice between VSMP and SMTC is a bit delicate as it is affected by clockspeed, memory speed, the specific workload and other factors. As such the choice should not be made on an evaluation board such as the Malta but preferably on the final target hardware.

AP/SP

is based on a normal Linux uniprocessor kernel. Instead of presenting additional VPEs as processors to the kernel it allows loading of an application program built with MIPS SDE into kernel space where this application will run on a secondary VPE undisturbed by the Linux kernel.

Support for all three code models is available in linux-2.6.16-stable branch of linux-mips.org's git repository and kernel.org kernels 2.6.17 and newer.