今更聞けないSMT技術

出先で4コア8スレッドのスレッドってどういう意味?
とのご質問を受けました。

1パッケージに4コア入っていて、8つの処理が
同時にできるCPUのこと。。。と言うとフ〜ン。。。
分かってもらえたのか甚だ疑問です。

今更ですがちょっとだけ。

CPUがマルチタスクとして複数の処理をさせるために
タスクスケジューラで高速に切り替えて、あたかも
同時に処理しているように見せかけている話は
以前のポストのとおりです。
しかし基本的には1コアのCPUは1度に1個のことしか
処理できません。

現在のCPUはコアが複数入って1パッケージと
なっているものが一般的で、そのコア数だけは
見せかけでなく本当に同時処理が可能になります。

プログラムにおける処理工程をスレッドと言いますが、
マルチコアに対応したプログラムではスレッドを分割して
マルチコアで並列処理させる方法により、高速化を実現しています。
対応したプログラムであればコア数が多いほど早いということです。
しかし現在の技術ではCPUのパッケージ内において、そう多くは
コア数を増やせません。

サイマルティニアス マルチ スレッディング

我々がよく目にするCore5とかCore7などはコア数が
2とか4で、一昔前のCore2DuoやCore2Quadと同じです。
ところがSMT(simultaneous multi threading)という技術で
2コアを4個に、4コアを8個に見せかけているのです。
これはPentium4時代のハイパースレッディング(HT)と同様の
古くからある技術ですが、HTはシングルコアに対応したもので、
マルチコアではSMTとなります。

簡単に言うとコアが何かを処理していても、ほとんどの場合
100%力を出しきっていることはないので、アイドル状態と
なっている処理ユニットの余力を使って、プログラムに対し
単独のコアとして見せかける技術と言えます。
つまり4コア8スレッドのCPUにおいては、コアは4つしか
無いけど、対応しているプログラムに対しては、同時に8つの
並行処理を行いますよ。という意味なのです。

時間があればこの程度の説明はしたんですけどね。w

HOME

おすすめ

1件の返信

  1. kakko より:

    こんにちは、ご無沙汰しています。
    メールフォームから何度か送信したのですが、お返事が無かったもので・・・
    レンタルサーバーの料金の件です。
    ここには詳しく書けないと思うので、とりあえずご返信ください。
    そしたら、そのアドレス宛てに内容書いて送信します。
    お忙しいところすみません。