「スレッド(thread)」は英語で「糸」の意味がありますが、一本に連なった「議論の道筋」といった意味も持っています。掲示板などで特定テーマで続く一連の議論の流れも「スレッド」と呼ばれます。
同じようにパソコンのプログラムでも、一連の命令が順番に処理されていく流れ(最小の処理単位)のことを「スレッド」と呼びます。
プログラムを効率よくするため、複数のスレッドに分け、同時に処理できるようにしたのが「マルチスレッド」ということになります。
パソコンの頭脳とも言える「CPU」は高速で命令を処理しているため、OS 側で短い時間で CPU の利用を切り替えることでマルチスレッドに対応させることは可能ですが、切り替えにより処理の効率は落ちます。
そこで「CPU」の中に複数の「CPU」を組み込むことで、切り替えなく てもマルチスレッドに対応できるようになります。そしてこの「CPU」の中にある「CPU」のことを「コア」と表現しているわけです。
そのためコアが2つの「デュアルコア」、4つの「クアッドコア」とCPU はコア数を増やして高速化を図る一方、インテル社は CPU 側にひとつのコアで2つのスレッドが処理できる技術を搭載しました。
それが「ハイパースレッディング・テクノロジー」というわけです。
技術的な説明は難しいので、上記のインテルが公開している紹介動画のコックさんの作業で「感覚的」に伝われば十分だと思います。
ひとつのコアで2つのスレッドを処理するよりは、2つのコアで2つのスレッドを処理したほうが間違いなく速いので、CPU では基本的に他の条件が同じならコア数の多いほうが高速で高価となります。
同様に同じ条件の CPU に「ハイパースレッディング・テクノロジー」が搭載されると、搭載された CPU のほうが高速で高価となりますが、ひとつのコアに2つの作業をさせても処理は2倍にはならないので
A.4つのコアで4つのスレッドを処理
B.2つのコアで「ハイパースレッディング・テクノロジー」を
使って4つのスレッドを処理
という2つを他の条件を同じで比べると、Aのほうが高速になります。
強引なイメージ図はこちら。
この図はインテルのハイパースレッディング・テクノロジーの紹介動画を参考にしたものです。
Multitask with Intel® Hyper-Threading Technology(英文)
かなり大雑把な解説ですが、最近の CPU で使われる用語とその違いを理解する一助になればと思って書いてみました。
記事の情報は公開時あるいは更新時のもので、最新情報はリンク先など情報元の公式ページでご確認ください。