電気・電子情報工学系 情報通信システム分野

専用計算システム研究室
研究室紹介・2024年度版
教授・市川 周一 ichikawa@tut.jp

担当教員： 市川 周一（教授）• 計算機アーキテクチャ– マイクロプロセッサ，並列計算機

共通の目標は…

手 • 専用計算回路，応用指向計算段– 組込みシステム，計算困難問題• 再構成可能論理– FPGA，データ依存回路技術• 高性能計算– 並列処理，クラスタ，負荷分散
応用 • セキュリティ– 暗号回路，乱数回路，セキュアシステム– 情報隠蔽，電子署名高速処理

研究分野• ハードウェア方面– 再構成可能計算機システム– 専用回路による応用の高速化– 組込みシステム– セキュアシステム• 応用ソフトウェア方面– 並列処理，広域分散処理– 高性能計算手法，最適化手法– 情報とシステムのセキュリティ

ハード
手広くやっています

ソフト重点的に進めている研究テーマ• 再構成可能論理を用いた専用回路– FPGAを用いて応用プログラムを高速化– 計算困難問題，産業機械への応用• セキュアシステムの研究– ソフトウェアのハードウェア化による秘匿性向上– セキュアプロセッサ– 乱数生成回路– 電子透かし，情報隠蔽• 並列処理技術– 近年のマルチコア／メニーコアシステムの利用技術– 組込み応用，組込みシステムの高性能化

再構成可能論理システム• FPGAというLSIは何度でも書き換え可能– ソフトウェア開発のようにハードウェア開発

マルチプロセッサ評価ボード (2002年度製作)

FPGA制御ボード (2006年度製作)

参考： Field Programmable Gate
Array (FPGA)• プログラム可能なLSI– 動作中でも，機能を何度でも変更できる– 極端に言うと，RAMとスイッチの塊
図: © Xilinx, Inc.

参考： FPGAとASIC• ASIC，カスタムLSI– ロット単位の生産– 単価は下がる– 設計変更のコストが高い– 集積度は高い，比較的高速• FPGA© Xilinx, Inc.

– 一品生産，フィールド・アップグレード可能．
• 動作中に再構成することも可能（動的再構成）– 集積度が向上した．数十～数百万ゲート．
– 速度も向上した．数百MHzでのシステム動作も可能．
– 最先端のプロセスが使用されている

専用回路への応用• 専用回路

定数伝播– 計算困難問題の高速化– 未解決問題の検証

xy• データ依存回路・特殊化

y=0– 回路の小型化と高速化• 部分グラフ同型問題• 暗号回路– ソフトウェアをハードウェアに自動で変換する研究

y=1z0xyz×zx

Strengthz reduction
xy=2x
Shuichi Ichikawa, Shoji Yamamoto: "Data Dependent Circuit for Subgraph Isomorphism Problem," IEICE Transactions onInformation and Systems, Vol. E86-D, No. 5, pp. 796--802 (2003).
Shoji Yamamoto, Shuichi Ichikawa, Hiroshi Yamamoto: "The Design and Evaluation of Data-Dependent Hardware for SubgraphIsomorphism Problem," IEICE Transactions on Information and Systems, Vol. E87-D, No. 8, pp. 2038--2047 (2004).

+zセキュアプロセッサ• ソフトウェアの解析・盗用・改ざん

0101110110101110011100010011...

– 機密情報流出・海賊版流布のリスク– ソフトウェア保護を提供するプロセッサ（セキュアプロセッサ）の需要!!

• 多様化 に基づいたセキュアプロセッサ– 1つ1つが少しずつ異なる別々のプロセッサ– FPGAとの親和性が高い！
A + B x C...
A + B x C...

111001110110110001000
0100100...

A + B x C...

00101100101100
1101100
1110111...
01110111111000
1010101
0010010...

Shuichi Ichikawa, Takashi Sawada, Hisashi Hata: "Diversification of Processors Based on Redundancy in Instruction
Set," IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, Vol. E91-A,
No.1, pp. 211--220 (2008).

プロセッサ毎に異なる機械語を理解する

IRFを用いた命令列の多様化#1...

• 命令レジスタファイル（IRF）– よく使われる機械語を記録，呼び出し– 電話で言うところの「短縮ダイヤル」

0532-xx-...

• IRFの命令リストを多様化する
Sum of DynamicFrequency

命令の秘匿化率– リストに載せる命令を適切に選ぶと，解析困難性が向上
10.8
0.6
0.4
0.2
0Instruction#3

addiu $2, $2, 1
32Instruction
Buffer

5IRF
00.2
0.4
0.6
0.8
1
Ratio of Entropy of IRF Index(part of instruction decode stage)

解析困難性
Naoki Fujieda, Tasuku Tanaka, Shuichi Ichikawa: "Design and Implementation of Instruction Indirection for
Embedded Software Obfuscation," Microprocessors and Microsystems, Vol. 45, Part A, pp. 115--128 (2016).

乱数生成器Random Number Generator• 多くの応用で乱数生成は必須– シミュレーション，ゲーム，等• 真性乱数生成器 (TRNG; True RNG)
– 物理現象から生成される．予測不能．
• 熱雑音，メタスタビリティ，ジッタ，…

– 専用ハードウェアが必要• 疑似乱数生成器 (PRNG; Pseudo-RNG)– アルゴリズムと初期値で生成される．予測可能．

• Unpredictable RNG (URNG)– TRNGとPRNGの中間，実質的に予測不能．
– プロセッサに専用レジスタを追加する，など
Naoki Fujieda, Shuichi Ichikawa, Ryusei Oya, Hitomi Kishibe: "Design and implementation of an on-line quality control system
for latch-based true random number generator," IEICE Transactions on Information and Systems, vol. E106-D, no.12,
pp.1940-1950 (2023).
Shunsuke Matsuoka, Shuichi Ichikawa, Naoki Fujieda: "A true random number generator that utilizes thermal noise in a
programmable system-on-chip (PSoC)," International Journal of Circuit Theory and Applications, vol. 49, no. 10, pp. 33543367 (2021).

2024/3/8

11Shuichi Ichikawa

乱数生成器Random Number Generator• 多くの応用で乱数生成は必須– シミュレーション，ゲーム，等• 真性乱数生成器 (TRNG; True RNG)
– 物理現象から生成される．予測不能．
• 熱雑音，メタスタビリティ，ジッタ，…

– 専用ハードウェアが必要• 疑似乱数生成器 (PRNG; Pseudo-RNG)– アルゴリズムと初期値で生成される．予測可能．

• Unpredictable RNG (URNG)– TRNGとPRNGの中間，実質的に予測不能．
– プロセッサに専用レジスタを追加する，など
鴨狩滉斗, 市川周一: "内蔵LFSRを用いた乱数生成方法の評価," 電気学会論文誌D, vol. 143, no. 2, pp. 87--93 (2023).
千葉歩武, 市川周一: "気象データとLFSRによる乱数生成手法の評価," 電気学会論文誌D, vol. 143, no. 2, pp. 80--86 (2023).
正岡秀崇, 市川周一, 藤枝直輝: “内蔵LFSRとサンプリング間隔の揺らぎを利用した乱数生成手法,” 電気学会論文誌D, vol. 141, no.
2, pp. 86-92 (2021).
Shuichi Ichikawa: "Pseudo-Random Number Generation by Staggered Sampling of LFSR," Proc. EleventhInternational Symposium on Computing and Networking (CANDAR 2023), pp. 134--140 (2023).

2024/3/8

12Shuichi Ichikawa

背景： 高位合成• ソフトウェアからハードウェアを生成する技術– 例: C言語 → ハードウェア記述言語– 歴史は古い（90年代～）が近年成熟しつつある

D = A * B + C;

プログラム×+論理回路（ハードウェア記述）

ハードウェア高位合成によるプロセッサ特殊化• ソフトウェア処理の一部をプロセッサに組入れ– プロセッサもソフトウェアで記述 → 組入れ容易– 処理をプロセッサごとハードウェア化 → 解析困難
– コンセプトを実証（2017～2021年度）
ソフトウェア

処理A
処理B
処理C

ハードウェアメインメモリプロセッサ処理C

岩原和輝, 市川周一, 藤枝直輝: "高位合成可能なソフトプロセッサにおける専用命令実装手法の評価," 電気学会論文誌D, vol. 143, no. 2,pp. 94--100 (2023).
岩本凌大, 藤枝直輝, 市川周一, 坂本譲二: "高位合成による専用命令実装手法の予備的評価," 電子情報通信学会技術研究報告
RECONF2018-62, vol. 118, no. 432, pp. 101-106 (2019).

oLLVMを用いたハードウェア難読化手法の評価•

難読化(obfuscation)とは–•

LLVM上でソフトウェアの難読化を施すツール

C言語ベースの論理設計記述をoLLVMで難読化し，高位合成(HLS)
ツールで論理合成–•

言語やプラットホームに依存しない

oLLVM–•

C sourcecode

LLVMはコンパイラ基盤–•

プログラムを等価に変形することにより，攻撃者による理解や解析を妨げること

clang

Logic
designoLLVM

難読化されたハードウェアが生成可能生成された難読化H/Wのオーバヘッ
ドを評価した–HLS(Original)

速度の低下，論理規模の増大山田翔太郎, 市川周一, 藤枝直輝： "LegUpとoLLVMによる難読化制御論理回路の実装," 電気学会論文誌C, vol. 139, no. 9, pp. 952--957 (2019).
松岡佑海, 藤枝直輝, 市川周一: "難読化ツールoLLVMを用いたハードウェア難読化手法の評価," 電気学会論文誌D, vol. 139, no. 2, pp. 111--118 (2019)

CBE
ObfuscatedC sourcecode

HLS
Obfuscatedlogic design(O, B, F, S)

電子透かし・情報隠蔽• 電子的著作物 （例：プログラム・立体モデル等）– 密かに情報を埋め込む– 著作権情報などの保護に重要情報を埋め込む
気づかれないように消えないように改変されないように
Shuichi Ichikawa, Hiroshi Chiyama, Kazuhiko Akabane: "Redundancy in 3D Polygon Models and Its
Application to Digital Signature," Journal of WSCG, Vol. 10, No. 1, pp. 225--232 (2002).

命令列表現の自由度• 自由度fがあれば情報log2f (bit)を埋め込める––––––

等価な命令: sub (r  r – 1) とadd (r  r + (-1))
基本ブロックのアドレス
基本ブロック内の命令の順序
大域変数のアドレス
局所変数の（SP相対）アドレス，レジスタ割り当てなどなど

Kazuhiro Hattanda, Shuichi Ichikawa: "The Evaluation of Davidson's Digital Signature Scheme," IEICE Transactions on
Fundamentals of Electronics, Communications and Computer Sciences, Vol. E87-A, No. 1, pp. 224--225 (2004).

組込み・制御システムへの応用••

PLC命令列（ソフトウェア）を論理回路（ハードウェア）に変換して実装するプロジェクト
八洲熱学（株）との共同研究 （2003～2004年度）–•

高速・小型・高秘匿性制御回路の開発

都市エリア産学官連携促進事業（一般型）

整列巻取機・試作１号機

FPGA制御デモ機

Shuichi Ichikawa, Masanori Akinaka, Ryo Ikeda, Hiroshi Yamamoto: "Converting PLC instruction sequence into logic circuit: A
preliminary study," Proceedings of 2006 IEEE International Symposium on Industrial Electronics (ISIE '06), pp. 2930--2935(2006).

整列巻取機SPM05-02 （H17～19）•八洲熱学（株）との共同研究（H17～H19)–––•

製品レベルの整列巻取機を製作
PLC制御／FPGA制御
FPGA制御ボードの開発

都市エリア産学官連携促進事業（発展型）

Shuichi Ichikawa, Masanori Akinaka, Hisashi Hata, Ryo Ikeda, Hiroshi Yamamoto: "An FPGA implementation of hard-wired
sequence control system based on PLC software," IEEJ Transactions on Electrical and Electronic Engineering, Vol. 6, No. 4, pp.
367--375 (2011).

専用回路技術の制振制御への応用• 制御モデルから専用回路を生成・評価(2009)ver. 7.8

MATLAB
Simulinkver. 7.3
Fixed Point Tool

Block Diagram・Fixed Point Toolbox 2.4
・Simulink Fixed Point 6.1

Simulink HDL Coder
HDL(VHDL)

Altera Quartus II
Synthesis

FPGAver. 1.5

ModelSimHDL Simulation
SE ver. 6.3aver. 9.1

Altera Cyclone III

Yasuaki Tezuka, Shuichi Ichikawa, Yoshiyuki Noda: "Evaluation of the Hardware Specialization Techniques for Vibration ControlApplications," Proceedings of the IEEE Symposium on Industrial Electronics and Applications (ISIEA 2010), pp. 579--584 (2010).

組込みシステムの性能測定と高速化• 組込みシステムにおけるCPUキャッシュに関する研究– （株）デンソーとの共同研究 (2007/9/1～2007/12/31)– 本テーマで卒業研究を行った学生は， 実務訓練を共同研究先で行った

カーナビ筐体組込みシステム

クロス開発環境

カーナビゲーションシステムの開発環境

分布間距離を用いたBilateral Filterの準最適パラメータ探索• Bilateral filterによるノイズ除去

元画像– 画像処理• フィルタパラメータを適切に選択する必要がある– 最適パラメータの選択が難しい– 探索に多大な時間が必
要Bilateral filter• 画質低下を抑えた準最適パラメータを短時間に探索する手法を提案
真喜志泰希, 市川周一, 藤枝直輝, 山田親稔： "分布間距離を用いたBilateral Filterの準最適パラメータ探索," 電気学会論文誌D, vol.
137, no. 7, pp. 576--582 (2017).
真喜志泰希, 市川周一, 藤枝直輝, 山田親稔, 宮城桂: "分布間距離を用いたBilateral Filterのパラメータ推定法の改良," 電気学会論文
誌D, vol. 139, no. 2, pp. 104--110 (2019).

…

並列処理・分散処理の最適化• ネットワークでつながった複数の計算機– PCクラスタ，不均一なPCクラスタなど• どうやって仕事を高速化するか？
仕事
仕事

仕事

ネットワー
ク

仕事
仕事

負荷分散

不均一クラスタ上での最適化• 最適化＝全体の実行時間を最小化する– 通信時間の考慮が重要– 各計算機に割り当てる最適な仕事量を求める– ワークロードに応じた最適な構成を求める– 実測に基づいた実行時間のモデル化→最適構成の予測

13211013Shuichi Ichikawa, Sho Takahashi, Yuu Kawai: "Optimizing Process Allocation of Parallel Programs for Heterogeneous Clusters,"
Concurrency and Computation: Practice and Experience, Vol. 21, No. 4, pp. 475--507 (2009)4

メニーコアでの並列プログラム• Xeon Phi: Intel のメニーコアプロセッサ– ワンチップで200スレッド以上の同時並列処理– 高並列・低通信なら高性能……その他は？？

• SAT（充足可能性問題）ソルバの性能評価(2017年度)– 高速化に向けた課題を明らかに通信頻度が多すぎると，スレッド数を増やすほど性能悪化

西脇慎太朗, 藤枝直輝, 市川周一: "並列SATソルバのXeon Phiプロセッサ上での性能評価," 電気学会
論文誌D, vol. 139, no. 2, pp. 119--126 (2019).

卒業研究のテーマ （過去数年）•2023年度•2022年度•

2021年度•

2020年度•

2019年度–––––––––––––––––––––

天文画像とLFSRによる乱数生成手法の検討
マルチリンガルプロセッサの設計
FPGA Implementation of the Staggered LFSR
気象データとLFSRを用いたURNGの改良
FPGA実装のためのオープンソースRISC-Vコアの比較
ストカスティック演算回路の合成
ソフトプロセッサCometにおける専用命令拡張方法
並列SAT ソルバの比較と評価
オープンソース高位合成ツールの調査と評価
ストカスティック数複製器の回路構成に関する検討
気象データとLFSRによる乱数生成手法の検討
ソフトプロセッサCometにおける専用命令拡張方法の検討
超解像画像生成のためのBack Projectionハードウェアの高位合成
単一ノード・マルチスレッド実行における Glucose syrupの性能測定
内蔵 LFSR を利用した乱数生成手法の設計指針
オンライン乱数検定回路の高位合成に関する予備調査
Xilinx製FPGAを用いたNIST乱数検定回路の軽量実装
近代及び近世の文献における２文字連接特徴とその利用に関する検討
フルディジタル超音波測位システムのためのソフトウェア試作
MIPSプロセッサにおけるCountレジスタを用いたURNGの検討
OpenCVによる古文書内の類似文字検索修士論文のテーマ （過去の例）•

セキュアハードウェア系•

乱数生成回路系•専用回路系•組込みシステム系•

並列処理技術系

–
–
–
–
–
–

Obfuscator-LLVMとBambuを用いたハードウェア難読化
高位合成によるLogic Locking手法の実装と評価
Path ORAMの軽量実装とパスのランダム性に関する検討
位置レジスタを付加した命令レジスタファイルにおける耐タンパ性手法
プログラムの命令列表現の自由度に関する研究
ハードウェア難読化のための難読化指標の検討

–
–
–
–

マイクロプロセッサの内部状態とタイミング揺らぎを利用した乱数生成手法
暗号資産価格の揺らぎとLFSRを利用した乱数生成手法
ラッチ型TRNGの軽量実装と乱数品質保持手法の検討
RSラッチのメタスタビリティを利用した真性乱数生成回路

–
–
–
–

Stochastic Computingによる画像処理回路の検討
高位合成による専用命令実装手法の再評価
プロセッサの高位合成および特殊命令の実装・評価
高基数モンゴメリ乗算法によるべき乗剰余演算の高速化––––

動的部分再構成を用いた耐故障化手法のXilinx Zynq-7000 SoCによる実装
PLC 命令列の高位合成によるハードウェア化と難読化
ハードウェア特殊化技術の制振制御への応用
物体検出によるくずし字認識の検討–

分布間距離を用いたBilateral Filterの準最適パラメータ推定法における実行時間と推定精度のトレードオフ
並列SATソルバによるXeon Phiの性能評価

–

各種情報
• 卒業論文・修士論文のテーマや，各種研
究情報はWWWで見ることができます
http://www.ccs.ee.tut.ac.jp/ich/

連絡先• 教授 市川周一• E-mail:ichikawa@tut.jp• 住所： 441-8580
豊橋市天伯町雲雀ヶ丘1-1
豊橋技術科学大学
電気・電子情報工学系