量子制御を動かしたまま命令を更新するTIDE、時刻を守る三つの境界

曲線に沿って並ぶ淡い色の板が紫の門へ入り、その先で透明な箱がまっすぐ等間隔に並ぶ。変更できる命令と確定した出力を抽象的に表す。

量子コンピュータでは、測定の結果を見て、続く操作を変えたい場面があります。誤りを補う操作を選んだり、少しずつ変わる装置の状態に合わせて制御値を直したりするときです。ただし、操作の内容を書き換える間にも、すでに決めた出力時刻は守る必要があります。

北京量子情報科学研究院と清華大学の研究者によるTIDEは、この二つの要求をつなぐFPGA制御プロセッサです。2026年8月に初稿が公開され、11月3日に更新された論文の第2版では、実行中の命令やパラメータを変更する仕組みと、確定した出力を時刻どおりに送り出す仕組みを分けて検証しています。

簡単にまとめると?

  • TIDEは、これから使う数値や命令列を更新しながら、すでに確定した出力の時刻と内容を守る制御回路です。
  • 数値の更新期限、命令を書き換えてよい範囲、出力を確定する時点を分けています。遅れた更新が、狙った操作に必ず間に合うわけではありません。
  • 検証したのはFPGA内部のデジタル入出力です。実際の量子ビット、アナログ波形、測定から操作までの全体の遅延は、別に評価する必要があります。

命令の処理と、出力の時計を分ける

FPGAは、用途に合わせて内部の論理回路を構成できる半導体です。TIDEでは、プログラムを進める制御コアが、出力先、時刻、内容を一つのイベント記述にまとめます。出力側の待ち行列がこの記述を受け入れると、そのイベントは確定します。論文では、この受け入れを「コミットメント」と呼びます。

確定後のイベントは、独立したハードウェアの時計に従って送り出されます。後からプログラムが分岐したり、制御コアが一時停止したり、元のパラメータが変わったりしても、確定済みの時刻と内容には影響させない設計です。

ここで、数値をイベント記述に取り込む時点と、待ち行列に受け入れられて確定する時点は同じとは限りません。待ち行列が混んで受け入れを待つ間も、いったん取り込んだ内容は安定して保持されます。この区別が、どこまで更新してよいかを決めます。

TIDEが守る三つの境界。数値はイベントへの取り込みまで、命令は安全に読み出しを保護できる未来の範囲で変更できる。待ち行列が受け入れたイベントは時刻と内容を固定する。
TIDEの更新可能範囲を整理した概念図。論文を基にQuantum Sea作成。実際の配線図ではありません。

数値の変更は「次に一致する1回」に使う

一つ目の更新経路DIPUは、命令列自体を変えず、イベントに使う数値を差し替えます。例えば、次の対象操作だけに新しい補正値を使いたい場合を考えると理解しやすくなります。

更新値が、対象のイベントに数値を取り込む時点までに届いていれば、その値が使われます。更新は1回限りで、対象のイベントが確定すると消費され、その後は元の基本値へ戻ります。継続的に使う値の書き換えとは別の仕組みです。

注意したいのは、意図したイベントに間に合わなかった更新が、自動的に捨てられるわけではないことです。更新値は次に条件が一致するイベントを待ちます。したがって、外側の制御系には、どのイベントへ適用されるかを把握して、締め切り前に届ける役割が残ります。

命令列の変更は、読み出しとの衝突を防ぐ

もう一つの更新経路DISOは、これから実行する命令のまとまりを置き換えます。命令を何もしないものへ変える論理的な削除や、別に確保した領域へ新しい命令列を置き、そこを経由させる挿入も扱います。

問題は、書き換えの途中で命令が読み出されることです。古い命令と新しい命令が混ざった不完全な列を実行してしまうおそれがあります。TIDEは現在の読み出し位置と更新対象の距離を調べ、近すぎる要求は拒否します。受け入れた後も、まだ安全に読めない場所へ処理が近づくと、命令の読み出しだけを一時停止させます。

この停止中も、ハードウェアの時計と、確定済みイベントの出力処理は進みます。ただし、新しいイベントを作るのが遅れれば、そのイベントの予定時刻に間に合わなくなる可能性はあります。「確定済みの出力を守る」と「将来の全操作が必ず間に合う」は別の性質です。

4サイクルと1サイクルは、別の締め切り

実装にはXilinx ZCU102ボードを使い、制御コアを250MHz、時刻管理と更新回路を425MHzで動かしています。論文に出てくるサイクル数は、どちらの時計で数えたかを合わせて読む必要があります。

評価したもの 報告された結果 その数字が表す範囲
DIPUの更新が間に合う余裕 制御側で4サイクル テストした位相条件で全件が成功した最小値。論文の時刻対応では、更新受理から取り込みまで16ns以上20ns未満
16語の命令置換 更新側で21サイクル、約49.41ns データを途切れず供給した場合の要求受理から更新完了まで。測定結果の解析時間は含まない
確定から予定出力までの余裕 時刻管理側で1サイクル、約2.353ns 出力先が受け入れ可能で、待ち行列の順序などの条件を満たす試験で、予定のサイクルに出力

三つの数字は、同じ処理の速さを競う値ではありません。4サイクルは新しい数値を間に合わせるための余裕、21サイクルは命令列の書き換え時間、1サイクルは完成したイベントを出力側へ渡す締め切りです。いずれも「量子ビットを測ってから補正パルスが届くまでの時間」とは異なります。

予定時刻どおりに出力するには、各チャネルの待ち行列へ時刻順にイベントを入れ、同じチャネルの同じ時刻へ複数の出力を詰め込まないことも必要です。前のイベントが出力先の混雑で残っていれば、後ろのイベントは進めません。遅れて確定したイベントは消去されず、出力できる最初のサイクルへ回されます。

実機で確かめた範囲と、量子実験へつなぐための範囲

評価はFPGA上で行われました。同じFPGA内の試験回路が更新要求を送り、内部の記録回路で受理、数値の取り込み、イベントの確定、命令メモリへの書き込み、デジタル出力を観測しています。物理的な量子ビットや外部の量子装置は使用していません。

例えば、確定後に分岐、割り込み、数値や命令の変更などを加えた180例では、対象イベントの時刻と内容は変わらず、出力はそれぞれ1回でした。また、命令の置換試験では、受け入れた更新は完全な新しい列として実行され、拒否した要求では元の実行経路が保たれています。これは試した構成と要求の範囲での検証です。

実用化を考える際には、更新データが最後まで到着するという前提にも注意が必要です。この実装には、未完了の更新を取り消すロールバックやタイムアウト、パケット全体を受け取ってから書く仕組みはありません。更新途中の命令を実行しない保護はあっても、通信の中断から自動的に復旧する機能まで含むわけではありません。

量子実験へ接続するときは、測定、結果の判定や誤りの復号、通信、命令の生成、読み出し停止の影響、下流の波形生成を合わせて時間を見積もる必要があります。電気信号の細かな時刻の揺らぎや、基板間の出力ずれも、今回のデジタル回路内の試験の対象外です。

TIDEの要点は、変更を受け付ける期限と範囲を決め、確定したイベントを守ることです。制御装置を比べるときも、単一の遅延値だけでなく、何を更新でき、どの境界から時刻が保証されるかを見ると、量子計算全体へ組み込むための条件が見えてきます。

ZCU102を製品として案内しているAMDのCPU・GPU事業を知るには、CyclewaveのAMDの企業解説も参考になります。

出典