作成日: 2022/11/21 更新日: 2023/03/25 サイトの紹介と使い方
概要
- 8086系またはx86系と呼ばれるMPU(CPU)は、45年くらい前から存在します。
- この記事では、その歴史を軽く触れていきたいと思います。
MPU(CPU)の規格(性能)
- 速度(クロック数):MPUの演算(処理)速度
- MHzまたは、GHzで表します。
- 1MHzの場合、1秒間に100万回の演算ができ、1GHzの場合、1秒間に10億回の演算ができます。
- bit数:メイン演算部のレジスタのサイズ
- レジスタの他に外部バス(MPUと外部装置との連絡ホース)がありますが、ほとんど意識されません(もの凄く大事なのですけど)。
ホースのサイズが大きいほど、データ転送速度が上がり、結果として演算速度も上がります。 - bit数が2倍になると演算速度は、2倍以上になります。加減乗除のケースによりますが、除算(整数)の時、1千倍を軽く超えることもあります(理由は、別記事で記述します)。
- レジスタの他に外部バス(MPUと外部装置との連絡ホース)がありますが、ほとんど意識されません(もの凄く大事なのですけど)。
- コア数:MPUの数
- MPUを複数使って、小規模な並列演算を行います。
歴代(旧式)の8086系MPU
- 8080:1974年発売・8bit
- 8086:1978年発売・16bit
- クロック数:5MHz~10MHz
- 8087:数値演算プロセッサー・8086と同期して動作
- 実メモリ空間:1Mバイト空間をセグメントレジスタにより実現
- 80286:1982年発売・16bit
- 80386:1985年発売・32bit
- 代表的なクロック数:16MHz,20MHz
- 80387:数値演算プロセッサー・80386と同期して動作
- マルチタスクに対応
- パイプライン処理を80286から踏襲
- 実メモリ空間:1Gバイト・実質的に仮想メモリシステムが可能。
- 80486:1989年発売・32bit
- Pentium:1993年発売・32bit
- 1995年に発売されたWindows95とあいまって大ベストセラーとなったシリーズです。
- このシリーズの後継MPUが、現代まで引き継がれています。
パイプライン処理
- MPUはマシン語で動作します。
- マシン語は、MPUのbit単位(ワード)で1つの命令を表します(厳密ではありませんが、この認識で困る人はほとんどいません)。
- そして、マシン語の羅列(プログラムのこと)は実装メモリ上に存在しなければなりません。
どのようなプログラム言語を用いてもこの規則は変わりません。 - MPUは、プログラム・カウンタのアドレスの実装メモリから1つのマシン語(ワード)を読み出します(これをフェッチと呼びます)。
- 次に、マシン語を解釈して、必要な処理を行います。
- そして、マシン語を実行します。
ジャンプ命令以外の時、プログラム・カウンタは1増加します。 - 4.~6.の処理を繰り返し行います。
- パイプライン処理とは、4.~6.のそれぞれに処理装置が存在して、独立して処理が行われることを言います。
- 5.の必要な処理は、「データ用メモリの読み出し」・「各種ハードウエアのためのIO処理」など複数の処理があり、MPUの進歩によってパイプがさらに多段になっていきます。
- 例えば、パイプライン処理の代表的な例として、プリフェッチが挙げられます。
遠くにある実装メモリからフェッチするより、専用パイプで予め(プリ)MPUの近くに読み込んでおいたマシン語を処理する方が、圧倒的に実行速度を上げることができます。
仮想メモリシステム
- 実装メモリ空間(A)と仮想(非実体)のメモリ空間(B)を考えます。
- (B)ー(A)以上のメモリ空間をハードディスクに用意します。
この領域をページファイルと呼びます。
尚、通常ページファイルのサイズを、ユーザが特定することは困難です。 - 実装メモリ空間が足りなくなると、使用優先順位の低いメモリ領域をぺージファイルに移動します。
- ページファイルに退避したメモリ領域の使用優先順位が上がると、実装メモリ空間に移動します。
- この実装メモリ空間とページファイルのメモリ領域交換のことをスワップと呼びます。
- そのスワップが多発すると、パソコンはフリーズします。
ハードディスクのIOが多発してCPUのリソース(能力)がそこにばかり集中するからです。 - 筆者は、現代において仮想メモリシステムのメリットはないと考えています。
- 過去と違い、有り余るほどのハードウエアの存在が仮想メモリシステムの必要性を感じさせません。
- むしろ、仮想メモリシステムに依るオーバーヘッドがパソコンを遅くしていると考えますし、実装メモリが足りなければ、買い足せば済むという選択が現代では現実的です。
- とは言え、用途によっては、仮想メモリシステムが必要になると思われるので、これといった結論は出せませんね。
最後に
- 今後、MPUの進歩は、コア数を増やすことがメインになると思われます。
- 1つのコアの性能を上げるためには、MPUが発する熱問題などを解決しなければならないからです。
パソコンの購入
- パソコンを購入する時に、留意する点は何に使うか?(用途)です。
- 表計算にしか用いないのに、10万円以上の新品を購入する必要はありません。
- MPUの進歩が頭打ちになることを予測すると、使用目的に合ったコア数と実装メモリのサイズの検討がウエイトを占めそうです。
- もちろん、筆者は上記を考慮した中古品の購入をお勧めします。