「big.LITTLE技術の概要」「big.LITTLEに必要なシステムレベルコヒーレンシとシステムIP製品」

ARMセミナの内容をtsudaりました。
2
kinneko @kinneko

#armjp バックグラウンド負荷。機能を単純化。MP3再生のみ。同一性能で-70%のエネルギー削減。(そもそも、こいうモデルだとbig不要なだけじゃないのかね)

2013-06-21 14:02:13
kinneko @kinneko

#armjp big.LITTELでの性能改善。Android環境。ベンチマーク結果では性能が向上。パワーは変わっていないか下がっている(でも、ここは口頭のみなんだよね)。

2013-06-21 14:03:28
kinneko @kinneko

#armjp ソフトウエアの入手。Linaro In-Kernel-Switcher(IKS)は提供開始している。(ジットって言うな、ギットだろ) Samsungで採用されている。

2013-06-21 14:04:54
kinneko @kinneko

#armjp グローバルタスクスイッチングは、まだまだ開発中。完成のスケジュールは不明。

2013-06-21 14:05:55
kinneko @kinneko

#armjp big.LITTLEのためのARM DS-5。対応した仕様を出している。システムモデルも提供中。最終的な目標は消費電力の最適化なので、エナジープローブという機能も持っている。

2013-06-21 14:08:30
kinneko @kinneko

新しい話はまったくなかったな。パフォーマンスデータは更新されているかもしれない。でも、ぱっとしたデータじゃない。#armjp

2013-06-21 14:11:21
kinneko @kinneko

プロセス小さくなるし、ダイサイズでかくなるので、ベースリークは増える。これがほんとにいい方法かというと、どうも過渡期な場当たり的な対応のような。今んとこ寒しかやってないし。#armjp

2013-06-21 14:11:34
kinneko @kinneko

Androidとかなら、当分はA12でいいんじゃないだろうか。#armjp

2013-06-21 14:12:32
kinneko @kinneko

#armjp 「big.LITTLEに必要なシステムレベルコヒーレンシとシステムIP製品」

2013-06-21 14:13:05
kinneko @kinneko

#armjp big.LITTLEを支える技術と製品。ヘテロジニアスなマルチプロセッサ環境。基本構成の図。メモリをどう使うかという話に還元されていく。シェアードメモリになる。外のDDRに一斉にアクセスがかかり、ボトルネックになる。メモリを早く、帯域を広げる、しかし限界。

2013-06-21 14:17:30
kinneko @kinneko

#armjp システムコヒーレンシという解決手段。同一メモリアドレスの内容が複数のキャッシュ内に存在し、すべてが最新のデータに更新され続けること。

2013-06-21 14:18:59
kinneko @kinneko

#armjp なぜ必要? ソフトウエアの管理なしに、複数のオンチップキャッシュ間でデータを共有できるようにするため。

2013-06-21 14:19:37
kinneko @kinneko

#armjp どのように働く? データが書かれるときには、コピーが1つしか存在しないことを保証する。他のエージェントがデータを読むときには、複数のコピーを許す。かなり単純化して言っている。

2013-06-21 14:20:38
kinneko @kinneko

#armjp ハードウエアによるコヒーレンシ-過去と現在。決して新しい話ではなく、2004年からSMP(ARM11 MPCore)で登場。第二世代はA9 MPCoreで。アクセラレータコヒーレンシポート(ACP)によりMPCoreのキャッシュを共有。昔からある技術ではある。

2013-06-21 14:22:52
kinneko @kinneko

#armjp 導入にあたり、NECエレから技術供与を受けた。組み込みに持ってきたのは日本のテクノロジ。

2013-06-21 14:23:35
kinneko @kinneko

#armjp ARM11 MPCoreの概要。キャッシュスヌープユニットをとって、ローカルキャッシュの同期をとった。

2013-06-21 14:24:18
kinneko @kinneko

#armjp A9 MPCore。同じMPテクノロジ。下にキャッシュ用のスヌープユニットを設置して同期。L1を4つのCPUだけで使うにはもったいないので、アクセラレーターコヒーレントポート経由で外部から参照を可能にした。

2013-06-21 14:25:40
kinneko @kinneko

#armjp 現在は第三世代のキャッシュコヒーレンシシステムとして、AMVA AXIコヒーレンシ拡張(ACE)。外部の同期のためのポートをCPUのポートとして標準搭載。なかったポートをCPUバスに乗せる。バスのプロトコルもAXI AMBA3->ACE AMBA4になった。

2013-06-21 14:27:21
kinneko @kinneko

#armjp バスの話については、1つのセミナーができるくらい難しい話。去年9月に開催。希望があればもう一度やりたい。アンケートに書いて。

2013-06-21 14:27:56
kinneko @kinneko

#armjp コヒーレンシの基礎-キャッシュラインの状態。簡単に。キャッシュに書く場合は一箇所。読む場合はどちらからでもよい。バスプロトコルの拡張が必要。

2013-06-21 14:29:31
kinneko @kinneko

#armjp 具体的なモデル例。異なるバスマスタ(ACE準拠のもの)間での読み書き。

2013-06-21 14:31:09
kinneko @kinneko

#armjp AMBA4 ACEは、AXI4の上に構築。ACEでどのような拡張が行われているか。スヌープするための外に出さないトランザクションポートがAXIに追加されている。チャンネルが増えている分バスが大きくなる。シリコンでのレイアウトがたいへん。

2013-06-21 14:33:45
kinneko @kinneko

#armjp big.LITTLEのためのCoreLink400シリーズ。実際の配線をどうのように作り上げていくか。半導体ベンダでデザインし、ユーザーロジックとして定義されている部分NIC-400がキモ。ネットワークインターコネクトモジュール。マスタスレーブの数やトポロジは設計可

2013-06-21 14:36:26
kinneko @kinneko

#armjp 概念的な話を。配線混雑を避ける必要性。物理ビューの概念図。ロジックビューはシンプルなのに、シリコンに落とすと配線遅延が長くなったり、論理的にも物理的にもメモリの近くに置きたいモジュールもある。

2013-06-21 14:38:10