RISC
初期のRISCの性能は低かったが、これらの設計手法を取り入れることによって1980年代後半にはCISCを大きく引き離す性能を達成した。半導体プロセスの進歩によってこれらの手法をCISCに導入できるようになるには1990年代初頭のPentium、Pentium Proまで待たねばならなかった。
RISCチップはそのコアを実現するのに必要なトランジスタ数が少なくて済むため、以下のような様々な機能や要求をチップに取り入れることができた。
レジスタセットの容量増加
内部並列性を向上させるための調停機構
巨大なキャッシュの追加
マイクロコントローラ向けのI/Oやタイマの追加
ベクタープロセッサ (SIMD命令) の追加
何も付加しないで、低電力化や小型化を指向する
RISCデザインで一般的な特徴は以下の通りである。
固定命令語長と統一されたビットフィールド設計
ビットフィードの構造を可能な限り統一し、オペコード・オペランドが常に同じビットに配置される様にして、命令デコードが高速に行える様にする
レジスタが基本的に全て同等で汎用である
コンパイラがレジスタに変数の割り当てを行うさいに制約がなく、コンパイラの実装が容易になる。ただし、整数用と浮動小数点数用レジスタは基本的に区別される
単純なアドレッシングモード
設計者は十分な時間を与えられず、全ての命令の処理を最適化することができずに、結果としてよく使われる命令の処理時間だけを最適化したのである。有名な例としてVAXのINDEX命令がある。この命令はループを使った同等機能のプログラムコードよりも遅かった。
一方で、メモリの速度よりもCPUの速度の向上が著しくなってきていた。1970年後半の時点でも、以後、CPUの演算速度が向上し続けるのに対してメモリアクセスの速度の向上は限定的であり、以後も速度差が拡大することが明らかだった。すなわち、今後10年の間にCPUの演算速度は相対的にメモリアクセスの10倍、100倍となってゆくのである。こうしてより高速化していくCPUの演算速度を維持するためにはアクセスまでの時間が短いレジスタを増やさなければならず、また、高速化するCPUと速度の上がらないメモリシステムの速度差を埋めるためにキャッシュを拡充しなければならないことは明らかだった。これら多数のレジスタやキャッシュを実装するための面積をシリコン上に確保する必要が生じた。これについてはCPUのアーキテクチャを単純にしてその面積を削減することで、レジスタやキャッシュの為の面積を確保できた。
さらにRISCアーキテクチャの別の優位性が、実際に使われているプログラムの解析結果からも明らかになった。
マイクロコードによる命令実行(マイクロプログラム方式)を排し、命令実行に要するクロックサイクル数を削減するとともに、命令解析・実行を行う回路をゲートの組み合わせで実装し、高クロック動作を可能にする。
この着想のひとつは、従来のプロセッサに備わっていた様々な命令の大部分が、実際のプログラムを書く際にはほとんど使われていないことが見出されたことにある。これは特に IBM 801 の開発に関して言われている。従来のプロセッサでは、複数の処理を一挙にこなす複雑な命令をもち、また、個々の演算命令につき、任意のアドレッシングモードを組み合わせることが可能(直交性がある)である。だが実際に作成されたプログラムを解析すると、使用される命令はそのうちのごくわずかなものに限られることが判った。この調査結果に基づいて命令セットを簡潔にすることが試みられた。
先行例としての(1970年代の)IBM 801 に続いて、RISCの提案は、1980年代のジョン・ヘネシーとデイビッド・パターソンによる。この論文"RISC I:A Reduced Instruction Set VLSI Computer"では、調査対象とした従来型の命令セットを持つプロセッサをCISCと呼び、その対比として提案した命令セットを持つプロセッサをRISCと呼んだ。特に、801 は「チップに集積されたコンピュータ」ではなく、一方、ヘネシーとパターソンの提案は Mead & Conway revolution(en:Mead & Conway revolution)と呼ばれている当時のVLSI開発の機運という背景もあって、マイクロプロセッサとしての実装が前提となっている。