CPUのスカラー型とベクトル型の違いとは?
最終更新日
2023年09月07日
CPUのスカラー型とベクトル型の違いとは何か
ASCII.jp:スーパースカラーによる高速化とx86の問題点とは (1/2)
には、以下のとおり書かれています。(この記事の更新年月日は2010/09/20)
スカラー型は一つの命令で一つのデータを扱えますが、ベクトル型は一つの命令で複数のデータを扱えるようです。
スカラー型でも一つの命令で2つや3つ等のデータを扱える場合もあるようです。
掛け算でイメージすると、以下のとおりになると考えられます。
数字を2倍にしてという命令で一つのデータを扱えるのがスカラー型であり、1というデータを与えられたら2倍にして2という答えを出せます。
数字を2倍にしてという命令で複数のデータを扱えるのがベクトル型であり、扱えるデータの数が8とし1から8までのデータを与えられたら、2,4,6,8,10,12,14,16これら8つの答えを出せます。
スーパースカラーという語源は、もともとはスカラーとベクトルという2種類の命令の処理方式に起因する。スカラー型というのは、要するに「普通の」CPUデータ方式で、x86命令のほとんどがこれにあたる。強いて分類すれば「SISD」(Single Instruction Single Data)に相当するもので、原理的にはひとつの命令でひとつのデータを操作するものである(2つとか3つなどの場合もたまにはあるが)。スカラー型とベクトル型は、一つの命令で扱えるデータの数に違いがあるようです。
これに対抗する概念がベクトル型で、身近な例で言えば、MMXから連なる「SIMD」(Single Instruction Multi Data)に分類されるものがそれにあたる。こちらはひとつの命令で複数個のデータを扱えるものを指す(MMXですら最大で同時に8つのデータ同士の演算で、16個のデータを扱える)。
スカラー型は一つの命令で一つのデータを扱えますが、ベクトル型は一つの命令で複数のデータを扱えるようです。
スカラー型でも一つの命令で2つや3つ等のデータを扱える場合もあるようです。
掛け算でイメージすると、以下のとおりになると考えられます。
数字を2倍にしてという命令で一つのデータを扱えるのがスカラー型であり、1というデータを与えられたら2倍にして2という答えを出せます。
数字を2倍にしてという命令で複数のデータを扱えるのがベクトル型であり、扱えるデータの数が8とし1から8までのデータを与えられたら、2,4,6,8,10,12,14,16これら8つの答えを出せます。
キャンペーン情報(PR) |
---|
マウスコンピューター
・オータムセール 最大50,000円OFF (10月9日迄) DELL ・今週のおすすめ製品 対象製品が特別価格でお買い得 (キャンペーン実施中) パソコン工房 ・決算セール セール対象BTOパソコン最大55,000円OFF (10月1日迄) |