シストリックアレイとは
シストリックアレイとは、単純な演算セルを規則正しく格子状に配置し、計算の途中結果を隣のセルへ直接手渡しながら行列演算を進める仕組みです。 演算器そのものの速さよりも、途中結果の送り先まで含めて設計した配置といえます。
名前から入ると全体像が早くつかめます。日本オペレーションズ・リサーチ学会の学会誌に1992年に載った解説は、systolicを「心臓収縮の」を意味する形容詞とし、心臓が収縮を繰り返しながら血液を全身へ送り、また汲み上げる動きになぞらえて名づけられたとしています。血液にあたるのがデータで、心臓にあたるのが1つ1つの演算セルです。
同じ解説は、シストリックアレイをKungとLeisersonが提案したVLSI向きの並列計算機の仕組みとし、単純なプロセッサを多数、決まった規則で組み合わせた並列計算のシステムと述べています。特徴として挙げられているのは三つです。各セルが左右に隣接するセルとだけ直接つながる局所結合、すべてのセルが単純で同じ構造を持ち実数の四則演算などを1ステップでこなす均一構造、そしてアレイへの入出力を逐次的に、アレイ上での計算を並列に行い、それらがパイプライン化されて重なりながら進むこと、この三つです。
当時の想定も現在に通じます。同解説は、シストリックアレイをノイマン型計算機のシステムバスへつなぐ特定用途向けのハードウェア付加装置として使う形を示しており、その内部には簡単なプロセッサが数千個から数万個、規則正しく並ぶとしています。これは、いまのAIアクセラレータがチップの中で占める位置とよく重なります。
途中結果を、どこへ送るか
Section titled “途中結果を、どこへ送るか”Google Cloudの日本語ドキュメントは、CPUがメモリから値を取り出し、演算し、その結果をふたたびメモリへ書き込む往復を繰り返すものとし、この出入りの遅さがチップ全体の処理量に上限を作る現象をフォンノイマンボトルネックと呼んでいます。GPUは演算器を数千個備えて処理量を稼ぎますが、汎用プロセッサという立場のため、何千もの演算器で行う演算のたびにレジスタや共有メモリへ出入りする点はCPUと共通すると述べています。
シストリックアレイは、この往復を減らします。同ドキュメントは、TPUの数千個の乗算アキュムレータが互いに直につながって1つの大きな格子をなしているとし、この構造をシストリックアレイ アーキテクチャと呼んでいます。そして、乗算が1回済むごとにその答えが次の乗算アキュムレータへ送られ、データとパラメータの乗算結果をすべて足し合わせたものが出力になるとし、行列乗算の処理はメモリアクセスを挟まずに進むと述べています。
升目の大きさと、1サイクルの仕事量
Section titled “升目の大きさと、1サイクルの仕事量”具体的な数字が入ると規模がつかめます。Google Cloudの日本語ドキュメントは、TPUチップに1つ以上のTensorCoreが入るとし、そのTensorCoreが、行列乗算ユニット(MXU)と、ベクトル用・スカラー用のユニットを備えるとしています。そのMXUは、格子状に並べた乗算アキュムレータの集まりで、大きさはTPU v6eとTPU7xで256×256、それより前の世代で128×128としています。1つのMXUが1サイクルで16,000回の乗累算をこなし、乗算はbfloat16の入力を取り、累積はFP32で行うとも述べています。これらはGoogle CloudがTPUについて公開している仕様値です。
演算の中身そのものは素朴です。NEDOの注釈は、積和演算に特化した演算ユニットについて、大量の積和演算器による並列処理でニューラルネットワークの高速な処理が可能になると述べています。掛けて足す、それだけの回路をひたすら敷き詰めた升目が、シストリックアレイの実体です。
升目を埋めきる難しさが、そのまま代償です
Section titled “升目を埋めきる難しさが、そのまま代償です”大きさの決まった正方形の升目には、裏返しの弱点が伴います。Google Cloudの日本語ドキュメントは、高い性能に届くCloud TPUプログラムを、密な計算を128×128のかたまりへタイル化できるものとしています。そして、埋まりきらずに余った部分はコンパイラがテンソルをゼロで埋めるとし、その埋め合わせによってTPUコアの利用率が下がるという欠点を挙げています。ゼロを掛けた升目が費やす電力と時間は、そのまま損になります。
同ドキュメントは、XLAコンパイラが最初のバッチで作った計算グラフを使い回すため、テンソルの形が毎回そろっているものがTPUに向くとも述べています。升目の形に計算のほうを合わせる作業が、性能を左右します。
国内でも、演算器を格子状に配置しています
Section titled “国内でも、演算器を格子状に配置しています”NEDOと東京工業大学が2021年8月23日に公表したリリースは、エッジ機器でのCNN推論向けに、入力データの平面シフトを受け持つ整形の仕組みと、直積型の並列演算アレイとを組み合わせたアーキテクチャーを提案したとしています。同リリースは、演算を省いてモデルを小さくするとメモリの読み出し位置が飛び飛びになり、データを使い回しにくくなって演算器の空き時間が増えるため、並列処理の計算効率が落ちる、という課題を出発点に挙げています。升目を敷き詰める設計では、稼働率が共通の関心事になります。
試作LSIの仕様も公開されています。並列演算アレイのサイズを32×32とし、活性値と係数値に4ビット固定小数点(INT4)量子化を採用し、TSMCの40nmプロセスで製作したうえで、電源1.1V・最大534MHzという条件での消費電力を400mW以内と実測したとしています。同リリースは、カーネル要素数を9分の1まで絞り、残した要素だけを演算した条件で、この値が実効効率26.5TOPS/Wに相当するとしています。これらは同リリースが公表した試作LSIの値です。
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”シストリックアレイとは何ですか?
単純な演算セルを規則正しく格子状に配置し、計算の途中結果を隣のセルへ直接手渡しながら行列演算を進める仕組みです。日本オペレーションズ・リサーチ学会の学会誌に載った解説は、KungとLeisersonが提案したVLSI向きの並列計算機の仕組みとしています。
名前の由来は何ですか?
同じ解説は、systolicが「心臓収縮の」を意味する形容詞とし、心臓が収縮を繰り返しながら血液を全身へ送り、また汲み上げる動きになぞらえて名づけられたとしています。
なぜ行列演算が速く進むのですか?
途中結果の行き先が近いためです。Google Cloudの日本語ドキュメントは、乗算が1回済むごとにその答えが次の乗算アキュムレータへ送られるとし、行列乗算の処理はメモリアクセスを挟まずに進むと述べています。
どれくらいの大きさの升目ですか?
Google Cloudの日本語ドキュメントは、TPUのMXUを格子状に並んだ乗算アキュムレータの集まりとし、その大きさをTPU v6eとTPU7xで256×256、それより前の世代で128×128としています。1つのMXUが1サイクルで16,000回の乗累算をこなすとも述べています。
GPUとどこが異なりますか?
途中結果の行き先です。同ドキュメントは、GPUが汎用プロセッサとして数多くのソフトウェアを支えるため、何千もの演算器で行う演算のたびにレジスタや共有メモリへ出入りすると述べています。
弱点はありますか?
升目を埋めきれるかどうかに性能が左右されます。同ドキュメントは、高い性能に届くCloud TPUプログラムを、密な計算を128×128のかたまりへタイル化できるものとし、余った部分をコンパイラがゼロで埋めるため、TPUコアの利用率が下がるとしています。
国内にも演算器を格子状に配置した例はありますか?
NEDOと東京工業大学が2021年8月に公表したリリースは、CNN推論向けに直積型の並列演算アレイを中核へ据えたアーキテクチャーを提案し、アレイサイズを32×32とした試作LSIで最大26.5TOPS/Wの実効効率を実測したとしています。
比較・違いを学ぶ
Section titled “比較・違いを学ぶ”- AIアクセラレータとは ── シストリックアレイを内側に持つ側の、チップ内の一区画
- メモリ階層とは ── シストリックアレイが往復を減らそうとしている相手側
この記事の事実は、誰でも読める公開資料を根拠とし、各URLの到達可否をこちらで実測しています。したがって、リンク先が移動または消滅した場合は、その旨をこのページへ反映します。
- Google Cloud「TPU のアーキテクチャ」(2026年8月30日にリンク生存を実測、200)── シストリックアレイの構造、MXUの升目の大きさ、1サイクル16,000の乗累算、bfloat16入力とFP32累積
- Google Cloud「Cloud TPU の概要」(2026年8月30日にリンク生存を実測、200)── 128×128のタイル化、ゼロでのパディングとコア利用率、計算グラフの使い回し
- 日本オペレーションズ・リサーチ学会「シストリック・アーキテクチャとそのアルゴリズム」(2026年8月30日にリンク生存を実測、200)── 名前の由来、KungとLeisersonによる提案、局所結合・均一構造・逐次入出力という特徴、付加装置としての利用形態
- NEDO「スマホやロボットなどで高効率なAI処理を行うプロセッサーアーキテクチャーを開発」(2026年8月30日にリンク生存を実測、200)── 直積型並列演算アレイ、32×32のアレイサイズ、40nm試作LSIの実測値と26.5TOPS/W
- NEDO「従来技術に比べて最大10倍の電力効率を実現した人工知能(AI)チップを開発」(2026年8月30日にリンク生存を実測、200)── 積和演算に特化した演算ユニットと並列処理の役割