ムーアの法則は「コンピュータ評論家の飯のタネ」だということを述べた私の記事をご記憶だろうか?
かつて、マイクロプロセッサに関する一般向け記事という狭い業界には、いつでも使えるコラムの題材がもう1つあった。「RISC対CISC」だ。
コンピュータの黎明期、コンピュータルームには冷蔵庫サイズのCPUキャビネットがずらりと並び、メモリ容量は非常に限られていた。コンピュータ科学者たちはこういったマシンでどのようにプログラムを実行すべきかを検討し、新たな命令を定義することでプログラムを切り詰め、高速化する方法を探していたものだ。
たとえば、あるデータベースアプリケーションが、あるアドレスからデータを取り出し、アドレスに1を加え、さらに同じ作業を繰り返すことが分かったとする。同じシリーズの次期マシンでは、新たな論理回路を組み込んで、データの取り出しとアドレスのインクリメントを同時に行う単一の命令を実装するかもしれない。そうすれば、プログラムは1命令分だけ短くなり、少しだけ高速化できるというわけだ。
こうしてCISC(複合命令セットコンピュータ)ができあがった。Advanced Micro Devices(AMD)やIntelのx86プロセッサは、CISCプロセッサの一例だ。
現行のコンピュータアーキテクチャすべてから見て祖型とも言えるIBMの「zSeries」には、894もの異なる命令がある(プロセッサに関する国際学会「Hot Chips 19」でIBMが行った「z6」に関するプレゼンテーションについて、ブログの中で述べたとおりだ)。
しかし、1960年代や1970年代においても、IBMやControl Data Corporation(CDC)には異なるアプローチを研究している人々がいた。RISC(縮小命令セットコンピュータ)という名で知られるようになった手法だ。RISCの基本となる考えは、比較的少数の命令と標準的な論理設計を採用し、特殊な用途の命令を排して高速化と効率化を図るというものだ。
1990年代に入ると、RISCとCISCはどちらが優れたアプローチなのかという論争が巻き起こった。特に、私が以前勤めていた「Microprocessor Report」のニューズレターでは議論が盛んだった。
しかし結局のところ、ソフトウェアの設計はCISC的だがハードウェアの設計はRISC的ということになり、双方とも勝ったと言える。x86アーキテクチャはパソコン市場やサーバ市場で主流となっているが、その内部構造は非常にRISC的だ。このような組み合わせ方は、1つの複雑な命令を数個の単純な命令に翻訳することにより可能となった。面倒なやり方に思えるかもしれないが、実際うまくいっている。この手法が一般的になったのは10年ほど前からだ。
こうしたいきさつを思い出したのは、8月30日のAMDの発表があったからだ。AMDは次期CUPコア「Bulldozer」(開発コード名)にマルチメディア用の新たな命令セットを追加し、その名称は「SSE5」(SSEはStreaming SIMD Extensionsの略)だという。
AMDがこの名称を用いるのは、かなり奇妙だ。「SSE」という名のついた拡張命令セットはこれまでに4種類あるが、それらはIntelが定義したものだったからだ。AMDがこの名称を使用することについてどう感じているのか、また、自社のプロセッサにSSE5を取り入れる予定があるのかどうか、Intelは明らかにしていない。AMDの方は、Intelの拡張命令セット「SSE」「SSE2」「SSE3」を採用しており、Intelが2007年に入って発表した「SSE4」もその一部を取り入れる予定だ。
この記事は海外CNET Networks発のニュースを編集部が日本向けに編集したものです。海外CNET Networksの記事へ
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」