RISC
一方で、CPUの性能を向上する技術が導入されていった。
1980年代初頭、既存の設計技法は限界に来ていると考えられていた。将来の性能向上は半導体プロセスの進歩に依存するしかないが、それが限界に達するということはつまりチップ上の機能を削減するということである。チップの複雑性はそのままであるが、チップの面積を縮小することで動作周波数を上げることができる。通信リンクを組み込んだ並列コンピューティングの研究に少なからぬ投資が行われた。高速なチップを作る代わりにたくさんのチップを並べ、処理すべき問題を分割して各チップに割り当てるのである。
しかし、当初の恐れは杞憂であった。1980年代後半にはCPUの性能を向上させるいくつかの技術が導入された。ひとつは、1960年代よりメインフレーム用など高価なCISCのCPUで採用されていた技術であるが、命令の処理を複数のステップに分割する命令パイプラインや、その効果を高める分岐予測などである。これにより、複数の命令のそれぞれ別の処理ステージを同時に実行することで命令の並列実行を実現するのである。一般的なプロセッサは、命令を読み込み、デコード(解釈)し、必要ならばデータをメモリから取ってきて、実際の処理を実行し、結果を指定された場所に格納する。パイプラインという手法が生まれたのは、命令を読み込んだら、その命令の処理の完了を待たずに次の命令を読み込むことができるという洞察からであった。
RISC(reduced instruction set computer、リスク)は、コンピュータのプロセッサの命令セットアーキテクチャ (ISA) の設計の方向性として、命令セットの複雑さを減らすことすなわち、命令の総数や種類を減らし、それぞれの命令が行う処理を単純なものにし、命令フォーマットの種類を減らし、オペランドのアドレッシングを単純化する、などといった方向性により「命令セットを縮小して」設計されたコンピュータ(プロセッサ)である。この方向性が新しいものとして提案された際、従来のその逆の方向性を指すレトロニムとしてCISCという語が同時に提案された。
命令の解読に際して可変長命令では命令長の判別と切り出し等に時間がかかっていた欠点を排除し、命令デコードに要する時間を短縮すると共に、命令の先読みをしてパイプラインの効率を上げる。
パイプライン動作にウエイトを生じさせない。初期のアーキテクチャでは処理に複数クロックを要する乗除算命令を省略し、乗除算の必要には複数の命令を組み合わせて実現した。
パイプラインハザードを避け、パイプラインの処理効率を上げる。
などが挙げられるが、例外も多い。
CISCではハードウエアでサポートされているスタック操作命令がRISCにはなく、スタック操作などの処理は単純な命令を組み合わせて代替処理を行う。命令の組み合わせによって発生し得るパイプラインハザードはコンパイラでコード生成時に検出し、命令の順序を最適化することで回避する。排他制御などで不可欠なアトミック命令はRISCでもサポートされる。
命令語長を固定長にすることでパイプライン処理の処理効率を向上させることができるが、プログラムをコンパイルする際にパイプライン動作を前提とした最適化を行う必要があり、コンパイラ作成には高度な技術が要求される。