CPUアーキテクチャーの進化
CPU高速化の常套手段 パイプライン処理の基本 【その1】
2010年09月06日 12時00分更新
今回はCPUのパイプラインについて説明をしてみたいと思う。だがその前に、デジタル回路の基礎を、ちょっとだけ復習しておきたい。
そもそもゲートとはなんぞや?
デジタル回路ではよくGate(ゲート)という用語が出てくる。ゲートという用語は非常によく使われるが、大別して2つの意味がある。ひとつは「門」としてのゲートで、例えばトランジスター内部の電圧制御を行なう部分を指す。「ゲート酸化膜」だの「HKMG」(High-k Metal Gate)だのというのがこちらである。「Clock Gating」とか「Power Gating」も同様で、こちらはクロック信号や電力供給回路の「門として作用する回路」の意味だ。
もうひとつの意味が、「デジタル回路の最小単位」の意味である。デジタル回路の最小単位と言えば論理回路のことで、NOT/AND/ORという3種類の演算と、0と1(もしくはLowとHigh)の2種類の状態値で論理を記述するものである。CPUではあまり縁がないが、ASICとかFPGAなどで「ゲートアレイ」とか「XXX万ゲート相当」なんて言い方をするときのゲートがこれである。
普通はNAND回路もしくはNOR回路1個を1ゲートと呼ぶが、最近はもう少し複雑なものを1ゲートと表現する場合もある。この1ゲートを何トランジスターで実現するかというのも、これまた製品によって異なっている。CPUのように回路の最適化を図ったものでは、数個のトランジスターで実現できるが、ASICなどでは数個~10個近く、FPGAではへたをすると数十個が必要だったりする。これは各々の製品の特性によって、ゲートそのものに求められる要求が異なるためだ。
それでは「ゲートで何ができるの?」というひとつのサンプルが、図1である。これは「RSフリップフロップ」、もしくは「RSラッチ」などと呼ばれるもので、左の「Set」にHighを入れると出力がHighを、左の「Reset」にHighを入れると出力がLowを維持するというものである。要するにSRAMの1bit分だと思えばよい。
RSフリップフロップは非常に原始的で、しかもいろいろ問題もあるので、一般にはもう少し複雑なものを使う。だがゲート回路でSRAMを作る場合、2ゲートほど必要になる、ということがおわかりいただけよう。演算回路なども、こんな感じでさまざまなゲートを組み合わせて構成される。ただし、複雑な演算をさせようとすると回路が一段ではすまなくなるので、図2のように複数の回路を順につなげる形で実現することになる。
さて、図2のように複数の回路が連結されている場合に問題となるのは、遅延である。図2では、入力に対して「A→B→C→D」という4つの処理が行なわれるのだが、ここで「DはAの出力とCの出力の両方を必要とする」なんて場合がある。問題は、A/B/Cともに、入力後「ほんの少し」経過してから出力されるため、時間軸で見るとどんどん遅くなってくる。そこで問題となるのはDの入力で、Aの出力とCの出力のタイミングが微妙にずれているので、Dが正しく動作しない場合がある。
この連載の記事
-
第769回
PC
HDDのコントローラーとI/Fを一体化して爆発的に普及したIDE 消え去ったI/F史 -
第768回
PC
AIアクセラレーター「Gaudi 3」の性能は前世代の2~4倍 インテル CPUロードマップ -
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ -
第766回
デジタル
Instinct MI300のI/OダイはXCDとCCDのどちらにも搭載できる驚きの構造 AMD GPUロードマップ -
第765回
PC
GB200 Grace Blackwell SuperchipのTDPは1200W NVIDIA GPUロードマップ -
第764回
PC
B100は1ダイあたりの性能がH100を下回るがAI性能はH100の5倍 NVIDIA GPUロードマップ -
第763回
PC
FDD/HDDをつなぐため急速に普及したSASI 消え去ったI/F史 -
第762回
PC
測定器やFDDなどどんな機器も接続できたGPIB 消え去ったI/F史 -
第761回
PC
Intel 14Aの量産は2年遅れの2028年? 半導体生産2位を目指すインテル インテル CPUロードマップ -
第760回
PC
14nmを再構築したIntel 12が2027年に登場すればおもしろいことになりそう インテル CPUロードマップ -
第759回
PC
プリンター接続で業界標準になったセントロニクスI/F 消え去ったI/F史 - この連載の一覧へ