SSブログ

CPUのアーキテクチャ紹介(Intel) [プロセッサ]

CPUのアーキテクチャについて考えて行く際に、実際に使用されているアーキテクチャについて把握することが現実的な問題を把握するのに大きく役立ちます。全体的な概要についてはCPUにおけるアーキテクチャの違いに記述していますが、ここでは、まず既存の各CPUのアーキテクチャについて確認して見ます。
まずは、Intelを見ていきたいと思います。半導体チップとしてのCPUの歴史を考えると、実はそのままIntelの歴史となります。1971年に当時の日本の電卓メーカーだったビジコン社と共同で開発したのが世界初のCPUのi4004だからです。4-bit CPUでしたが、確かにCPUでした。

現在のIntelのCPUに直接つながって来るCPUとなると、その数年後に開発された8-bit CPUのi8080になります。実はこのi8080に実装された命令セットが、現行のIntelのCPUの8-bit命令になっています。

逆に言うと、IntelのCPUは40年以上前の命令セットを今も引きずっているのです。その結果、現在ではあまり使われない命令を実装することになったり、8-bit命令が動作するアドレス空間の維持が必要です。

そのため、命令セット互換性維持のため無駄に近い回路を実装し続ける必要があり、またアドレス空間も番地指定するフィールドを継ぎ足ししてオフセットの上位アドレスの番地を指定できるようにするなど、アセンブリ言語として直接扱う命令セットとしては、かなり複雑なものになってしまいました。

ただ、幸いなことにIntel CPUのメインの用途はある程度規模の大きいパソコン向けですので、8-bit命令を少し無駄に実装してもCPU全体の回路規模に比べ非常に小さく無視できる程度です。

また、8-bit命令までサポートすることで強力な互換性が生まれ、今日のPC向けのCPUのデファクトスタンダードであるIntel CPUが誕生したわけで、製品全体の商品戦略としては非常に成功した訳です。

また、実はこの8-bit命令、Intel CPUの動作周波数の高速化に非常に貢献しています。8-bit命令は二進数でたった8桁で実行を終了します。従って、高速のクロックで動作させることが出来ます。

一方、32-bitや64-bitなど時間がかかる演算は無理に1クロックで実行しなくてもマルチサイクルをかけて複数クロックで実行します。よくIntel CPUで2.5GHzとか3GHzとか高速のクロック周波数で動作させるのは、実は8-bit命令など一部の命令だけなのです。

ちょっとインチキではないかと思われるかと思いますが、そもそも浮動小数点命令はどのCPUでも1サイクルで実行できる命令はほとんどありませんし、現状はこのからくりで動作周波数が定義されてしまっています。

Intelのアーキテクチャをより詳細に見たいときは、ちょっと本格的ですかこちらがお薦めです。



コンピュータの構成と設計 第5版 上 4,536円(税込)



コンピュータの構成と設計 第5版 上



コンピュータの構成と設計 第5版 下 4,536円



コンピュータの構成と設計 第5版 下

また、アーキテクチャのポイントは継続して説明していきたいと思います。


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。