チップとチップの間、機器と機器の間で、データを速く運ぶ仕組みを説明する。並列から直列への変化、差動の信号、信号のゆがみと整え方、電力を抑える工夫、メモリやプロセッサとの関係を扱う。
並列と直列、差動の信号(模式図)
- 並列と直列線の数か、一本の速さか
- 差動の信号差をとると雑音が消える
図:左は、データの運び方。並列は、多数の線で同時に運ぶ。直列は、一本の道に順番に流す。右は、差動の信号。二本の線で逆の信号を送り、まわりから入る雑音は二本に同じように加わるので、差をとると打ち消される。目盛りのない模式図、本サイトで作成データは、チップの外でも運ばれる
プロセッサが計算するには、メモリからデータを読み、結果を書き戻す必要がある。画像を処理するチップは、カメラのチップからデータを受け取る。データを運ぶ道は、チップの中だけでなく、チップとチップの間、基板の上、ケーブルの先にもある。
AIや動画のように、扱うデータが増えるほど、データを運ぶ速さが、機器全体の性能を決めるようになる。計算が速くても、データが届くのが遅ければ、待つ時間が増えてしまう。このページでは、データを速く、少ない電力で運ぶための考え方を見ていく。
並べて運ぶか、一本で運ぶか
データを運ぶ方法は、大きく二つある。一つは、並列である。複数の線を並べ、同時に複数の値を運ぶ。もう一つは、直列である。一本の道に、値を順番に流す。
並列は、線の数が多いほど、一度に運べる量も多い。ただし、線の間で、届く時間にずれが出やすい。速さを上げるほど、ずれが問題になる。そこで、速さを求める長い距離の通信では、直列が多く使われる。一本あたりを非常に速く動かして、全体の速さを確保する。
チップを積み重ねたり、近い距離に並べたりする方式では、並列の線を非常に多く、短く並べる方法が使われる。インターポーザやTSVは、このためのつなぎ方である。距離が短ければ、速さを上げなくても、線の数で量を稼げ、電力も少なくて済む。
二本の線で、逆の信号を送る
高速の通信で広く使われるのが、差動の信号である。一本の線に電圧を流す代わりに、二本の線を対にして、一方が上がるとき、もう一方を下げる。受ける側は、二本の線の差だけを見る。
この方法の利点は、雑音に強いことである。まわりから入る雑音は、二本の線に同じように加わる。二本の差をとれば、同じ雑音は打ち消される。信号の振れを小さくできるので、速く切り替えられ、電力も抑えられる。
速くなるほど、信号はゆがむ
信号を速く切り替えると、信号は配線を通るあいだに、なまってゆがむ。配線は、電気をためる性質や、電気の流れにくさを持つ。そのため、きれいな四角い波形で送っても、受ける側では、角が丸く、前後の信号と混じり合った形になる。
ゆがみを減らすために、いくつかの工夫がある。送る側で、ゆがむ分を見込んで、あらかじめ信号の形を変えておく。受ける側では、信号の形を整える回路を使う。さらに、基板やパッケージの配線を、電気の伝わり方が一定になるように設計する。こうした回路と配線の設計は、通信用の半導体で学んだ、高い周波数の扱い方と同じ考え方である。
時計を合わせる
直列の通信では、受ける側が、どの瞬間の信号を読み取ればよいかを知る必要がある。送る側と受ける側で、別々の時計を使っていると、少しずつずれていく。
そこで、受けた信号の変わり目から、読み取る時刻を取り出す回路が使われる。信号の変わり目が十分にあれば、受ける側は、自分の時計をそれに合わせられる。送る側では、変わり目が少なくなりすぎないよう、信号の並びを工夫する。
電力を抑える
データを運ぶ回路は、それ自体が電力を使う。速さを上げるほど、使う電力も増える。大量のデータを扱う機器では、運ぶための電力が、全体の消費電力の大きな部分を占めるようになる。
電力を抑えるには、いくつかの方法がある。運ぶ距離を短くする、信号の振れを小さくする、使わないときは回路を休ませる、といった方法である。近い距離は電圧を小さく、遠い距離は誤りが起きにくい強い信号で運ぶなど、距離に応じて方式を変えることもある。
メモリとプロセッサの間
プロセッサとメモリの間は、特に多くのデータが行き来する。メモリのチップを積み重ねたHBMは、プロセッサのすぐ近くに置かれ、非常に多くの線で、幅広くデータを運ぶ。これにより、速さを上げすぎなくても、大量のデータを運べる。
一方、基板の上で離れたメモリを使う方式では、線の数を減らし、一本を非常に速く動かす。どちらの方式を選ぶかは、速さ、電力、費用、置ける場所によって決まる。
このページのまとめ
データを運ぶ速さは、機器全体の性能を左右する。長い距離では、一本を非常に速く動かす直列が使われ、近い距離では、多数の線を並べる並列が使われる。差動の信号は雑音に強く、速く、少ない電力で運べる。速くなるほど信号がゆがむので、送る側と受ける側の回路や、配線の設計で整える。受ける側が読み取る時刻は、信号の変わり目から取り出す。
理解度チェック
本文の内容から答えられる問いです。答えを選ぶと、正しいかどうかと解説が出ます。
問1
差動の信号が雑音に強い理由として、正しいものはどれか。
答えと解説を見る
答え:1. まわりから入る雑音は二本の線に同じように加わり、差をとると打ち消されるため
二本の線に、逆の信号を送る。まわりから入る雑音は二本に同じように加わるので、受ける側で差をとると、打ち消される。
問2
プロセッサとメモリの間を、多数の線で幅広くつなぐ方式の利点として、正しいものはどれか。
答えと解説を見る
答え:1. 一本あたりの速さを上げすぎなくても、大量のデータを運べる
線の数を多くして並列に運ぶと、一本あたりの速さを上げすぎなくても、大量のデータを運べる。