Difference between revisions of "34K"

From LinuxMIPS
Jump to: navigation, search
(Linux support)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
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.
+
The MIPS '''34K''' is a member of MIPS' family of [[MIPS32]] processors.  It is the first MIPS processor supporting multithreaded execution according to the MT ASE specification.
  
 
== 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 differes ''significantly'' from VSMP.
+
or Virtual&nbsp;SMP uses the processor's [[VPE]]s to implement virtual processors. In currently available configurations of the 34K processor this allows for a dual processor. Both processors will share the same primary caches and each will obtain the half of the TLB for its own exclusive use. For a layman this model can be described as similar to what Intel calls [[wikipedia:Hyperthreading|Hyperthreading]]. At some point MIPS marketing decided to renamed to '''SMVP''' but the renaming hasn't caught on as of yet.
* 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.
+
  
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.
+
=== SMTC ===
 +
is presenting the available TCs 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.Kevin Kissel's presentation<ref>http://tree.celinuxforum.org/CelfPubWiki/ELC2006Presentations?action=AttachFile&do=get&target=CELF_SMTC_April_2006_v0.3.pdf</ref> provides further details.
 +
 
 +
=== 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.
 +
 
 +
== References ==
 +
<references/>
 +
 
 +
[[category:MIPS32]]

Latest revision as of 15:07, 17 August 2012

The MIPS 34K is a member of MIPS' 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 configurations of the 34K processor this allows for a dual processor. Both processors will share the same primary caches and each will obtain the half of the TLB for its own exclusive use. For a layman this model can be described as similar to what Intel calls Hyperthreading. At some point MIPS marketing decided to renamed to SMVP but the renaming hasn't caught on as of yet.

SMTC

is presenting the available TCs 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.Kevin Kissel's presentation[1] provides further details.

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.

References

  1. http://tree.celinuxforum.org/CelfPubWiki/ELC2006Presentations?action=AttachFile&do=get&target=CELF_SMTC_April_2006_v0.3.pdf