SysteMorph

低消費電力で安全なシステムLSIを実現するための
オンチップ・メモリ・システム
岩佐崇史 田中秀和 井上弘士 モシニャガ・ワシリー
福岡大学
1
システムLSIへの要求
21世紀の社会基盤を確立するためのシステムLSI
Performance
(性能)
Energy
Security
Consumption
(安全)
(消費エネルギ)
個人情報といった重要
バッテリ駆動時間の
延長、信頼性向上、
など
な情報の保持、など
2
研究目的
高性能、低消費電力、かつ、安全なシステムLSIを
実現するためのオンチップ・メモリ・システムを実現
現在進行中のプロジェクト紹介
1. 適応型低消費電力キャッシュ・アーキテクチャ
 メモリ・アクセス・パタンに基づきキャッシュ動作モードを
動的(または静的)に選択
 メモリ・システムへの要求性能に基づきキャッシュ動作
モードを動的(または静的)に選択
2. 悪質プログラム検出のためのメモリ・システム
 メモリ・アクセス・パタンを鍵情報とし、プログラム実行中
に鍵照合を行うことでプログラム認証を実現
3
研究紹介1
適応型低消費電力キャッシュ
アーキテクチャ
プログラム実行の振る舞いやメモリ・システム要求性能
に応じて動的(プログラム実行中)に動作モードを変更し、
性能低下を招く事無くキャッシュ・メモリの低消費エネル
ギー化を実現する!
4
これまでに提案された低消費エネルギー
化手法
ウェイ予測型(WP)
従来型(N) 段階型(P)
Nモード
Pモード
WPモード
ヒット
ミス
予測ヒット
予測ミス
読み出されるタグ数
M
M
M
1
M
読み出されるライン数
M
1
0
1
M
所要クロック数
1
2
1
1
2
M:連想度 5
消費エネルギー削減効果
Normalized Ecache
Normalized Tcache
Data Cache
段階型 ウェイ予測型
2
1.5
1
0.5
0
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
099.go
126.gcc
130.li
134.perl
101.tomcatv
103.su2cor
124.m88ksim 129.compress 132.ijpeg
102.swim
102.swim
104.hydro2d
6
問題点(PとWPの利点と欠点)
P方式の利点
常に低消費エネルギー化
を達成できる(メモリ・アク
セス・パタンに非依存)
P方式の欠点
常に性能低下が生じる
WP方式の利点
予測が正しい場合、性能
低下を伴う事無く消費エネ
ルギーを削減できる
WP方式の欠点
ウェイ予測の正確さはメモ
リ・アクセス・パタンに依存
する
予測が誤りの場合、性能
低下を伴い、かつ、消費エ
ネルギーは削減できない
7
解決策:適応型ウェイ予測キャッシュ
従来型(N)
段階型(P)
高速/高消費電力
低速/低消費電力
ウェイ予測型(WP)
高速/低消費電力
低速/高消費電力
 直接モード選択方式:外部入出力ピンより、N,P,または,
WP何れかを選択
 自己モード選択方式:プログラム実行の振る舞いに応じて
動的に動作モードを変更
8
応用例1:分岐予測技術を活用した適応型
ウェイ予測キャッシュ
 誰がモードを決定する?:専用ハードウェア(2ビット飽和カウンタ)
 どうやって?:過去のウェイ予測結果に基づき、ウェイ予測の信頼
性を判定
 具体的には?:分岐予測技術を活用
 つまり?:過去のウェイ予測結果に基づき、現アクセスにおける
ウェイ予測の信頼度を決定。もし、信頼度が高い場合にはWPモー
ド、低い場合にはN(またはP)モードでアクセスする。
正しい予測
3
2
間違った予測
0
1
正しい予測
ウェイ予測が正しい場合には飽和カウ
ンタをインクリメント
ウェイ予測が間違いの場合には飽和
カウンタをデクリメント
正しい予測 現在のカウンタ値が2か3の場合には
予測モード動作
現在のカウンタ値が0か1の場合には
段階モード動作
2ビット飽和カウンタ
9
応用例2:OSによるMPEGソフトウェア向け適応型
ウェイ予測キャッシュの制御




誰がモードを決定する?:オペレーティング・システム
どうやって?:何フレーム処理を終了したかを判定
具体的には?:オペレーティング・システムが割り込みを発生
つまり?:リアルタイム性を保障するために、動画像デコーダは3
0フレーム/秒処理しなければならない。画像の特徴によっては、
30フレームを0.5秒で終わる場合もある(性能制約が緩和され
る)。このような状況を検出し、リアルタイム性を十分保障できる
場合にはPモード、できそうにない場合にはNモードを選択する。
30枚のフレーム
30枚のフレーム
0
1
29 30
高い性能を要求 1秒
0
30
低い性能を要求 1秒
10
応用例3:ロード/ストア・クリティカリティに基
づく適応型ウェイ予測キャッシュの制御
キャッシュ・アクセス時間
(Instruction Per Clock cycle)
高い性能を要求
IPC (性能)
(Instruction Per Clock cycle)
IPC (性能)
 誰がモードを決定する?:コンパイラ、または、専用ハードウェア
 どうやって?:①IPCに影響を与えるロード/ストア命令を検出
②クリティカル・パス上のロード/ストア命令を検出
 具体的には?:メモリ・アクセス命令の緊急度を検出
 つまり?:高速で実行しなければならないロード/ストア命令と、低
速で実行しても性能に大きな影響を与えないロード/ストア命令に
分類し、前者はNモード、後者はPモードでアクセスする。
低い性能でもOK
キャッシュ・アクセス時間
11
適応型WPキャッシュの内部構成
現在、0.18μmCMOSプロセス(VDEC)を用いて設計中!
12
研究紹介2
悪質プログラム検出のための
メモリ・システム
プログラム・コード中に特別なロード命令を埋め込み、当該命令列
の振る舞いを鍵とみなすことで、正当なプログラムか否かをプロ
グラム実行中に判断する 。プログラム実行というハードウェア・レ
ベル(CPUレベル)にまで鍵情報を適用することでより安全なシス
テムを実現する!
13
システムLSIとセキュリティ

スマート・カードなど、今後、極めて重要な情報が
LSIに格納
システムLSIにおけるセキュリティ機能の向上が必
須!

考えられる問題点

情報の盗み見や改ざん
暗号化技術

ユーザの成りすまし
指紋情報の活用などの認証技術

ウィルスなどの悪質プログラムの暴走
認証鍵
14
新しい悪質プログラム検出方法
 プログラム・コード中にも鍵
アプリケーション発行元
情報を埋め込もう!
 プログラム実行の振る舞い
(例えばメモリアクセス・パ
Application
タン)を鍵情報とする
Program
 コンパイラは、「プログラム
ダウンロード 本来の機能に影響を与え
る事無く」、鍵(つまり、実行
実行
振る舞い)を実現する命令
列をコード中に挿入
OS
 可能な限り、性能と消費電
力オーバヘッドを削減
CPU
15
セキュア・プロセッサとそのコンパイラ
 どうやって鍵を実現するのか?:専用ロード命令を定義し、コン
パイラがプログラム・コード中に専用ロード命令を挿入
 どうやって鍵を検出するのか?:プロセッサは、鍵検出のための
専用ハードウェアを搭載し、専用ロード命令が実行されたときの
メモリアクセス・パタンを記録
 どうやって登録済み(悪質でない)プログラムか否かを判断する
のか?:事前に登録しておいたメモリアクセス・パタンと、検出し
たパタンが同じか否か調べる。異なっていれば悪質プログラムと
判断し、即座に実行を中止する。
鍵情報
(実行の振る舞い)
プログラム
ソースコード
コンパイラ
セキュア
CPU
鍵情報入り
オブジェクト
コード
16