The 3 key challenges in programming for MC



Similar documents
は 固 定 流 動 及 び 繰 延 に 区 分 することとし 減 価 償 却 を 行 うべき 固 定 の 取 得 又 は 改 良 に 充 てるための 補 助 金 等 の 交 付 を 受 けた 場 合 にお いては その 交 付 を 受 けた 金 額 に 相 当 する 額 を 長 期 前 受 金 とし

Microsoft PowerPoint 資料6 技術基準.ppt [互換モード]

Taro-契約条項(全部)

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

1. 決 算 の 概 要 法 人 全 体 として 2,459 億 円 の 当 期 総 利 益 を 計 上 し 末 をもって 繰 越 欠 損 金 を 解 消 しています ( : 当 期 総 利 益 2,092 億 円 ) 中 期 計 画 における 収 支 改 善 項 目 に 関 して ( : 繰 越

<4D F736F F D AC90D1955D92E CC82CC895E DD8C D2816A2E646F63>

検 討 検 討 の 進 め 方 検 討 状 況 簡 易 収 支 の 世 帯 からサンプリング 世 帯 名 作 成 事 務 の 廃 止 4 5 必 要 な 世 帯 数 の 確 保 が 可 能 か 簡 易 収 支 を 実 施 している 民 間 事 業 者 との 連 絡 等 に 伴 う 事 務 の 複 雑

<4D F736F F D C689D789B582B581698AAE90AC92CA926D816A2E646F63>

工 事 名 渟 城 西 小 学 校 体 育 館 非 構 造 部 材 耐 震 改 修 工 事 ( 建 築 主 体 工 事 ) 入 札 スケジュール 手 続 等 期 間 期 日 期 限 等 手 続 きの 方 法 等 1 設 計 図 書 等 の 閲 覧 貸 出 平 成 28 年 2 月 23 日 ( 火

( 別 途 調 査 様 式 1) 減 損 損 失 を 認 識 するに 至 った 経 緯 等 1 列 2 列 3 列 4 列 5 列 6 列 7 列 8 列 9 列 10 列 11 列 12 列 13 列 14 列 15 列 16 列 17 列 18 列 19 列 20 列 21 列 22 列 固 定

Microsoft Word - ☆f.doc

小 売 電 気 の 登 録 数 の 推 移 昨 年 8 月 の 前 登 録 申 請 の 受 付 開 始 以 降 小 売 電 気 の 登 録 申 請 は 着 実 に 増 加 しており これまでに310 件 を 登 録 (6 月 30 日 時 点 ) 本 年 4 月 の 全 面 自 由 化 以 降 申

工 事 名 能 代 南 中 学 校 体 育 館 非 構 造 部 材 耐 震 改 修 工 事 ( 建 築 主 体 工 事 ) 入 札 スケジュール 手 続 等 期 間 期 日 期 限 等 手 続 きの 方 法 等 1 設 計 図 書 等 の 閲 覧 貸 出 平 成 28 年 5 月 24 日 ( 火

1. 前 払 式 支 払 手 段 サーバ 型 の 前 払 式 支 払 手 段 に 関 する 利 用 者 保 護 等 発 行 者 があらかじめ 利 用 者 から 資 金 を 受 け 取 り 財 サービスを 受 ける 際 の 支 払 手 段 として 前 払 式 支 払 手 段 が 発 行 される 場 合

工 事 名 沢 口 浄 配 水 場 建 設 工 事 ( 浄 水 管 理 棟 ) 入 札 スケジュール 手 続 等 期 間 期 日 期 限 等 手 続 きの 方 法 等 平 成 24 年 5 月 8 日 ( 火 ) 正 午 から 1 設 計 図 書 等 の 閲 覧 貸 出 基 本 事 項 2のとおり

(1)1オールゼロ 記 録 ケース 厚 生 年 金 期 間 A B 及 びCに 係 る 旧 厚 生 年 金 保 険 法 の 老 齢 年 金 ( 以 下 旧 厚 老 という )の 受 給 者 に 時 効 特 例 法 施 行 後 厚 生 年 金 期 間 Dが 判 明 した Bは 事 業 所 記 号 が

<4D F736F F D E598BC68A8897CD82CC8DC490B68B7982D18E598BC68A8893AE82CC8A C98AD682B782E993C195CA915B C98AEE82C382AD936F985E96C68B9690C582CC93C197E1915B927582CC898492B75F8E96914F955D89BF8F915F2E646F6

私立大学等研究設備整備費等補助金(私立大学等

第1章 財務諸表

<4D F736F F D208ED089EF95DB8CAF89C193FC8FF38BB CC8EC091D492B28DB88C8B89CA82C982C282A282C42E646F63>

平 成 27 年 11 月 ~ 平 成 28 年 4 月 に 公 開 の 対 象 となった 専 門 協 議 等 における 各 専 門 委 員 等 の 寄 附 金 契 約 金 等 の 受 取 状 況 審 査 ( 別 紙 ) 専 門 協 議 等 の 件 数 専 門 委 員 数 500 万 円 超 の 受

3. 選 任 固 定 資 産 評 価 員 は 固 定 資 産 の 評 価 に 関 する 知 識 及 び 経 験 を 有 する 者 のうちから 市 町 村 長 が 当 該 市 町 村 の 議 会 の 同 意 を 得 て 選 任 する 二 以 上 の 市 町 村 の 長 は 当 該 市 町 村 の 議

<4D F736F F F696E74202D2082C882E982D982C DD8ED88EE688F882CC82B582AD82DD C668DDA9770>

Microsoft PowerPoint 葉玉弁護士資料.ppt

1 変更の許可等(都市計画法第35条の2)

別 紙 第 号 高 知 県 立 学 校 授 業 料 等 徴 収 条 例 の 一 部 を 改 正 する 条 例 議 案 高 知 県 立 学 校 授 業 料 等 徴 収 条 例 の 一 部 を 改 正 する 条 例 を 次 のように 定 める 平 成 26 年 2 月 日 提 出 高 知 県 知 事 尾

積 載 せず かつ 燃 料 冷 却 水 及 び 潤 滑 油 の 全 量 を 搭 載 し 自 動 車 製 作 者 が 定 める 工 具 及 び 付 属 品 (スペアタイヤを 含 む )を 全 て 装 備 した 状 態 をいう この 場 合 に おいて 燃 料 の 全 量 を 搭 載 するとは 燃 料

事 業 税 の 外 形 標 準 課 税 事 業 税 は 都 道 府 県 が 所 得 ( 利 益 )に 対 して 課 税 します 1. 個 人 事 業 税 業 種 区 分 税 率 ( 標 準 税 率 ) 第 1 種 事 業 ( 物 品 販 売 業 製 造 業 金 銭 貸 付 業 飲 食 店 業 不 動

第2回 制度設計専門会合 事務局提出資料

. 負 担 調 整 措 置 8 (1) 宅 地 等 調 整 固 定 資 産 税 額 宅 地 に 係 る 固 定 資 産 税 額 は 当 該 年 度 分 の 固 定 資 産 税 額 が 前 年 度 課 税 標 準 額 又 は 比 準 課 税 標 準 額 に 当 該 年 度 分 の 価 格 ( 住 宅

第 40 回 中 央 近 代 化 基 金 補 完 融 資 推 薦 申 込 み 公 募 要 綱 1 公 募 推 薦 総 枠 30 億 円 一 般 物 流 効 率 化 促 進 中 小 企 業 高 度 化 資 金 貸 付 対 象 事 業 の 合 計 枠 2 公 募 期 間 平 成 28 年 6 月 20


Microsoft Word )40期決算公開用.doc

03_主要処理画面.xlsx

ていることから それに 先 行 する 形 で 下 請 業 者 についても 対 策 を 講 じることとしまし た 本 県 としましては それまでの 間 に 未 加 入 の 建 設 業 者 に 加 入 していただきますよう 28 年 4 月 から 実 施 することとしました 問 6 公 共 工 事 の


4 承 認 コミュニティ 組 織 は 市 長 若 しくはその 委 任 を 受 けた 者 又 は 監 査 委 員 の 監 査 に 応 じなければ ならない ( 状 況 報 告 ) 第 7 条 承 認 コミュニティ 組 織 は 市 長 が 必 要 と 認 めるときは 交 付 金 事 業 の 遂 行 の

(別紙3)保険会社向けの総合的な監督指針の一部を改正する(案)

目 論 見 書 補 完 書 面 ( 投 資 信 託 ) <コード 8027> 当 ファンドに 係 る 当 社 は ファンドの 販 売 会 社 として 募 集 の 取 扱 いおよび 販 売 等 に 関 する 事 務 を 行 います 金 融 商 品 取 引 契 約 の 概 要 当 社 が 行 う 金 融

スライド 1

個 人 所 得 課 税 ~ 住 宅 ローン 控 除 等 の 適 用 期 限 の 延 長 2 4. 既 存 住 宅 に 係 る 特 定 の 改 修 工 事 をした 場 合 の 所 得 税 額 の 特 別 控 除 居 住 年 省 エネ 改 修 工 事 控 除 限 度 額 バリアフリー 改 修 工 事 平

4 参 加 資 格 要 件 本 提 案 への 参 加 予 定 者 は 以 下 の 条 件 を 全 て 満 たすこと 1 地 方 自 治 法 施 行 令 ( 昭 和 22 年 政 令 第 16 号 ) 第 167 条 の4 第 1 項 各 号 の 規 定 に 該 当 しない 者 であること 2 会 社

<4D F736F F F696E74202D C90BF8F CC8DEC90AC97E181698A4F8D E8816A5F56322E707074>

Microsoft Word - 第3章.doc

1_2013BS(0414)


SBIAQ確認検査業務手数料規定

1 書 誌 作 成 機 能 (NACSIS-CAT)の 軽 量 化 合 理 化 電 子 情 報 資 源 への 適 切 な 対 応 のための 資 源 ( 人 的 資 源,システム 資 源, 経 費 を 含 む) の 確 保 のために, 書 誌 作 成 と 書 誌 管 理 作 業 の 軽 量 化 を 図

現 行 工 業 地 域 準 工 業 地 域 商 業 地 域 近 隣 商 業 地 域 改 正 後 準 工 業 地 域 ( 特 別 業 務 地 区 ( 第 2 種 ) 及 び 指 定 集 積 区 域 を 除 く) 近 隣 商 業 地 域 2 / 7

第4回税制調査会 総4-1

2 省 エネルギー 性 耐 震 性 及 バリアフリー 性 を 満 たす 住 宅 とは 新 築 住 宅 既 存 住 宅 ( 中 古 住 宅 ) 増 改 築 等 次 のいずれかの 住 宅 が 対 象 次 のいずれかの 住 宅 が 対 象 次 のいずれかの 住 宅 が 対 象 級 4の 住 宅 一 次 エ

スライド 1

< 現 在 の 我 が 国 D&O 保 険 の 基 本 的 な 設 計 (イメージ)> < 一 般 的 な 補 償 の 範 囲 の 概 要 > 請 求 の 形 態 会 社 の 役 員 会 社 による 請 求 に 対 する 損 免 責 事 由 の 場 合 に 害 賠 償 請 求 は 補 償 されず(

[2] 控 除 限 度 額 繰 越 欠 損 金 を 有 する 法 人 において 欠 損 金 発 生 事 業 年 度 の 翌 事 業 年 度 以 後 の 欠 損 金 の 繰 越 控 除 にあ たっては 平 成 27 年 度 税 制 改 正 により 次 ページ 以 降 で 解 説 する の 特 例 (

<4D F736F F F696E74202D208E9197BF322D31208C9A90DD B835E CC8A C982C282A282C4>

空 き 家 を 売 却 した 場 合 の,000 万 円 控 除 特 例 の 創 設 被 相 続 人 が 住 んでいた 家 屋 及 びその 敷 地 を 相 続 があった 日 から 年 を 経 過 する 年 の 月 日 までに 耐 震 工 事 をしてから あるいは 家 を 除 却 し てから 売 却

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

公 的 年 金 制 度 について 制 度 の 持 続 可 能 性 を 高 め 将 来 の 世 代 の 給 付 水 準 の 確 保 等 を 図 るため 持 続 可 能 な 社 会 保 障 制 度 の 確 立 を 図 るための 改 革 の 推 進 に 関 する 法 律 に 基 づく 社 会 経 済 情


東近江行政組合職員の育児休業等に関する条例

する 場 合 だけが 下 請 法 の 対 象 となる 5000 万 円 基 準 の 場 合 3 億 円 を5000 万 円 と 置 き 換 えればよい つ まり 自 社 の 資 本 金 の 額 が5000 万 円 超 であれば 5000 万 円 以 下 の 事 業 者 ( 法 人 だけでなく 個 人

一般競争入札について

駐 車 場 管 理 規 程

企 業 の 採 用 予 定 数 採 用 予 定 数 は 増 やす と 回 答 した 企 業 が 減 らす と 回 答 した 企 業 を3 年 連 続 上 回 り 採 用 は 増 加 傾 向 にある 特 に 非 上 場 非 製 造 において 採 用 数 を 増 やす と 回 答 する 割 合 が 大

連 結 損 益 計 算 書 売 上 高 及 びその 他 の 営 業 収 入 営 業 費 用 売 上 原 価 販 売 費 及 び 一 般 管 理 費 研 究 開 発 費 営 業 費 用 合 計 営 業 利 益 営 業 外 収 益 ( 費 用 ) 受 取 利 息 支 払 利 息 営 業 外 収 益 (

Taro-別紙1 パブコメ質問意見とその回答


 

R4財務対応障害一覧

第一部【証券情報】

<4D F736F F D203193FA8AD45F95CA8E86325F89898F4B315F94F093EF8AA98D AD97DF914F82CC8FEE95F182CC8EFB8F C28E8B89BB2E646F63>

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

注 記 事 項 (1) 当 四 半 期 連 結 累 計 期 間 における 重 要 な 子 会 社 の 異 動 : 無 (2) 四 半 期 連 結 財 務 諸 表 の 作 成 に 特 有 の 会 計 処 理 の 適 用 : 有 ( 注 ) 詳 細 は 添 付 資 料 4ページ 2.サマリー 情 報 (

<4D F736F F D F93878CA797708F4390B3816A819A95CA8B4C976C8EAE91E682538B4C8DDA97E12E646F6378>

(3) その 他 市 長 が 必 要 と 認 める 書 類 ( 補 助 金 の 交 付 決 定 ) 第 6 条 市 長 は 前 条 の 申 請 書 を 受 理 したときは 速 やかにその 内 容 を 審 査 し 補 助 金 を 交 付 すべきものと 認 めたときは 規 則 第 7 条 に 規 定 す

年金通信25-30厚年基金見直し(法改正概要)

(Microsoft Word - \212\356\226{\225\373\220j _\217C\220\263\201j.doc)

新 生産管理システム ご提案書 2002年10月15日 ムラテック情報システム株式会社

目 次 機 能 概 要 ン/ チャ 引 新 規 注 文 - WAY 新 規 注 文 - WAY OCO 新 規 注 文 - 成 行 新 規 注 文 - 指 値 逆 指 値 新 規 注 文 - IFD 新 規 注 文 - OCO 新 規 注 文 - IFDOCO 新 規 注 文 - 決 済 注 文 -

スライド 1

<4D F736F F D B67E05682E682E C8E313193FA834B F EF8ED FC90B382CC A548163>

社 会 保 障 税 一 体 改 革 ( 年 金 分 野 )の 経 緯 社 会 保 障 税 一 体 改 革 大 綱 (2 月 17 日 閣 議 決 定 ) 国 年 法 等 改 正 法 案 (2 月 10 日 提 出 ) 法 案 を 提 出 する または 法 案 提 出 を 検 討 する と された 事

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

2. ど の 様 な 経 緯 で 発 覚 し た の か ま た 遡 っ た の を 昨 年 4 月 ま で と し た の は 何 故 か 明 ら か に す る こ と 回 答 3 月 17 日 に 実 施 し た ダ イ ヤ 改 正 で 静 岡 車 両 区 の 構 内 運 転 が 静 岡 運

Taro-○離島特産品等マーケティング支援事業に係る企画提案募集要領

kyoukai.indd

Taro-役員退職手当規程(H27.10改正)HP版

の 購 入 費 又 は 賃 借 料 (2) 専 用 ポール 等 機 器 の 設 置 工 事 費 (3) ケーブル 設 置 工 事 費 (4) 防 犯 カメラの 設 置 を 示 す 看 板 等 の 設 置 費 (5) その 他 設 置 に 必 要 な 経 費 ( 補 助 金 の 額 ) 第 6 条 補

損 益 計 算 書 ( 平 成 25 年 10 月 1 日 から 平 成 26 年 9 月 30 日 まで) ( 単 位 : 千 円 ) 科 目 金 額 営 業 収 益 304,971 営 業 費 用 566,243 営 業 総 損 失 261,271 営 業 外 収 益 受 取 利 息 3,545

適合証明業務手数料規程

為 が 行 われるおそれがある 場 合 に 都 道 府 県 公 安 委 員 会 がその 指 定 暴 力 団 等 を 特 定 抗 争 指 定 暴 力 団 等 として 指 定 し その 所 属 する 指 定 暴 力 団 員 が 警 戒 区 域 内 において 暴 力 団 の 事 務 所 を 新 たに 設

文化政策情報システムの運用等

消 費 ~ 軽 減 率 消 費 の 軽 減 率 制 度 が 消 費 率 10% 時 に 導 入 することとされています 平 成 26 年 4 月 1 日 平 成 27 年 10 月 1 日 ( 予 定 ) 消 費 率 5% 消 費 率 8% 消 費 率 10% 軽 減 率 の 導 入 平 成 26

平成15・16年度の建設工事入札参加資格の認定について

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参

続 に 基 づく 一 般 競 争 ( 指 名 競 争 ) 参 加 資 格 の 再 認 定 を 受 けていること ) c) 会 社 更 生 法 に 基 づき 更 生 手 続 開 始 の 申 立 てがなされている 者 又 は 民 事 再 生 法 に 基 づき 再 生 手 続 開 始 の 申 立 てがなさ

<4D F736F F D208E52979C8CA78E598BC68F5790CF91A390698F9590AC8BE08CF D6A2E646F6378>

者 が 在 学 した 期 間 の 年 数 を 乗 じて 得 た 額 から 当 該 者 が 在 学 した 期 間 に 納 付 すべき 授 業 料 の 総 額 を 控 除 した 額 を 徴 収 するものとする 3 在 学 生 が 長 期 履 修 学 生 として 認 められた 場 合 の 授 業 料 の

説 明 内 容 料 金 の 算 定 期 間 と 請 求 の 単 位 について 分 散 検 針 制 日 程 等 別 料 金 料 金 の 算 定 期 間 と 支 払 義 務 発 生 日 日 程 等 別 料 金 の 請 求 スケジュール 料 金 のお 支 払 い 方 法 その 他 各 種 料 金 支 払

Transcription:

プロセッサー キャッシュ 最 適 化 技 法 インテル 株 式 会 社 ソフトウェア&ソリューションズ 統 括 部 ソフトウェア 製 品 部

はじめに L1キャッシュでのアクセスミスは 数 十 クロックのペナ ルティーが 生 じる L2キャッシュでのアクセスミスは 数 十 バスクロックの ペナルティーが 生 じる キャッシュを 有 効 利 用 するにはデータやコードの 位 置 関 係 が 重 要 となる しかしそれは... 他 の 最 適 化 技 術 に 影 響 を 及 ぼす 場 合 がある 2

キャッシュに 読 み 込 まれるタイミング 1. アプリケーションが 参 照 したメモリーの 内 容 がキャッシュにない 場 合 2. アプリケーションがメモリーに 書 き 込 みを 行 った 内 容 がキャッシュにない 場 合 3. アプリケーションがプリフェッチ 命 令 を 実 行 した 場 合 4. ハードウェア プリフェッチャーが 動 作 した 場 合 読 み 込 み 書 き 出 しの 最 小 単 位 はキャッシュライン(64バイト) 3

ハードウェア プリフェッチャー ハードウェアは 2 つの 方 法 でデータを 取 り 込 む ストライド プリフェッチ データ アクセス パターンを 基 にキャッシュラインのプリフェッチを 開 始 する いくつかのキャッシュラインを 取 得 する 通 常 のデータ アクセス パターンのときによいパフォーマンスが 得 られるようにする キャッシュライン 参 照 の 読 み 込 みミスがトリガーになる しきい 値 内 での 2 回 のキャッシュミスがトリガーになる 90 ナノ メートル テクノロジーのインテル Pentium 4 プロセッサーでは 512 バイト それ 以 前 のインテル Pentium 4 プロセッサーでは 256 バイト 次 のノードへの 距 離 をトリガーとなる 距 離 の 1/2 以 上 に 保 つ 隣 接 ライン プリフェッチ 128 バイトのフェッチで L2(L3)ミスを 考 慮 する キャッシュミスが 下 位 64 バイトで 起 こったなら 隣 接 する 上 位 64 バイトを 取 り 込 む キャッシュミスが 上 位 64 バイトで 起 こったなら 隣 接 する 下 位 64 バイトを 取 り 込 む キャッシュライン 参 照 の 読 み 込 みミスがトリガーになる 4

Intel NetBurst マイクロアーキテクチャー システムバス 頻 繁 に 使 用 されるパス それほど 頻 繁 に 使 用 されないパス クワッド パンプ 100MHz/333MHz 400MT/ 秒 = 3.2 GB/ 秒 最 大 1066MT/ 秒 = 8.5 GB/ 秒 バス インターフェイス ユニット L2 キャッシュ (1/2MB 8 ウエイ 128 バイト キャッシュ ライン) 108G バイト/ 秒 フェッチ/ デコード 64 ビット 幅 フロントエンド BTB 分 岐 予 測 L1 データキャッシュ (16KB 8 ウエイ 64 バイト キャッシュ ライン) 実 行 ユニット 256 ビット 幅 リタイアメント 5 トレースキャッシュ TC μコードrom BTB 命 令 プール (ROB)

インテル モバイル マイクロアーキテクチャー システムバス 頻 繁 に 使 用 されるパス それほど 頻 繁 に 使 用 されないパス クワッドパンプ 100MHz 400MT/ 秒 = 3.2 GB/ 秒 ( 最 大 533MT/ 秒 = 4.2 GB/ 秒 ) バス インターフェイス ユニット L2 キャッシュ (1MB 8ウエイ 128バイト キャッシュ ライン) L1 命 令 キャッシュ (32KB 8ウエイ ) フェッチ/ デコード 64ビット 幅 フロントエンド BTB 分 岐 予 測 実 行 ユニット L1 データキャッシュ (32KB 8ウエイ ) 256ビット 幅 リタイアメント μopのフュージョン 6 命 令 プール (ROB)

第 1 世 代 のデュアルコア プロセッサー Pentium D Pentium Extreme Edition システムバス バス インターフェイス ユニット L2 キャッシュ (1/2MB 8 ウエイ 128 バイト キャッシュ ライン) 108G バイト/ 秒 L2 キャッシュ (1/2MB 8 ウエイ 128 バイト キャッシュ ライン) 108G バイト/ 秒 L1 データキャッシュ (16KB 8 ウエイ 64 バイト キャッシュ ライン) L1 データキャッシュ (16KB 8 ウエイ 64 バイト キャッシュ ライン) 64 ビット 幅 256 ビット 幅 64 ビット 幅 256 ビット 幅 フェッチ/ デコード フロントエンド BTB 分 岐 予 測 実 行 ユニット リタイアメント フェッチ/ デコード フロントエンド BTB 分 岐 予 測 実 行 ユニット リタイアメント トレースキャッシュ TC μコードrom BTB トレースキャッシュ TC μコードrom BTB 命 令 プール (ROB) 命 令 プール (ROB) 7

インテル Core マイクロアーキテクチャー システムバス クワッド パンプ 166MHz/266MHz/333MHz 頻 繁 に 使 用 されるパス それほど 頻 繁 に 使 用 されないパス 667MT/ 秒 = 5.3 GB/ 秒 1066MT/ 秒 = 8.5GB/ 秒 1333MT/ 秒 = 10.6GB/ 秒 バス インターフェイス ユニット アドバンスド スマートL2 キャッシュ (2MB/4MB 8ウエイ 128バイト キャッシュ ライン) 256ビット 幅 256ビット 幅 L1 命 令 キャッシュ (32KB 8ウエイ ) L1 データキャッシュ (32KB 8ウエイ ) L1 命 令 キャッシュ (32KB 8ウエイ ) L1 データキャッシュ (32KB 8ウエイ ) 64ビット 幅 64ビット 幅 5 フロントエンド フェッチ/ BTB デコード 分 岐 予 測 実 行 ユニット(5つ) リタイアメント 5 フロントエンド フェッチ/ BTB デコード 分 岐 予 測 実 行 ユニット(5つ) リタイアメント マクロ オペレーションのフュージョン 4 マイクロ オペレーション(μOP)のフュージョン 4 マクロ オペレーションのフュージョン 4 マイクロ オペレーション(μOP)のフュージョン 4 命 令 プール (ROB) 命 令 プール (ROB) 8

インテル Core マイクロアーキテクチャー クアッドコア プロセッサー システムバス バス インターフェイス ユニット アドバンスド スマートL2 キャッシュ (2MB/4MB 8ウエイ 128バイト キャッシュ ライン) アドバンスド スマートL2 キャッシュ (2MB/4MB 8ウエイ 128バイト キャッシュ ライン) 256ビット 幅 256ビット 幅 256ビット 幅 256ビット 幅 L1 命 令 キャッシュ (32KB 8ウエイ ) L1 データキャッシュ (32KB 8ウエイ ) L1 命 令 キャッシュ (32KB 8ウエイ ) L1 データキャッシュ (32KB 8ウエイ ) L1 命 令 キャッシュ (32KB 8ウエイ ) L1 データキャッシュ (32KB 8ウエイ ) L1 命 令 キャッシュ (32KB 8ウエイ ) L1 データキャッシュ (32KB 8ウエイ ) 64ビット 幅 64ビット 幅 64ビット 幅 64ビット 幅 5 フロントエンド フェッチ/ BTB デコード 分 岐 予 測 実 行 ユニット(5つ) リタイアメント 5 フロントエンド フェッチ/ BTB デコード 分 岐 予 測 実 行 ユニット(5つ) リタイアメント 5 フロントエンド フェッチ/ BTB デコード 分 岐 予 測 実 行 ユニット(5つ) リタイアメント 5 フロントエンド フェッチ/ BTB デコード 分 岐 予 測 実 行 ユニット(5つ) リタイアメント マクロ オペレーションのフュージョン 4 マイクロ オペレーション(μOP)のフュージョン 4 マクロ オペレーションのフュージョン 4 マイクロ オペレーション(μOP)のフュージョン 4 マクロ オペレーションのフュージョン 4 マイクロ オペレーション(μOP)のフュージョン 4 マクロ オペレーションのフュージョン 4 マイクロ オペレーション(μOP)のフュージョン 4 命 令 プール (ROB) 命 令 プール (ROB) 命 令 プール (ROB) 命 令 プール (ROB) 9

スマート メモリー アクセス システムバス L1 データ キャッシュ コア1 スマート 共 有 L2 キャッシュ L1 データ キャッシュ コア2 時 間 の 局 所 性 空 間 の 局 所 性 データを 可 能 な 限 り 早 く 利 用 できるようにする データが 可 能 な 限 り 近 くにあるようにする メモリー サブシステムのレイテンシーを を 隠 蔽 10

プリフェッチャーとマルチコア マイクロ コード ROM 命 令 フェッチ およびプリデコード 命 令 キュー デコード リネーム/ 割 り 当 て リタイアメント ユニット (リオーダーバッファー リオーダーバッファー) 5 4 スケジューラー 4 2M/4M 共 有 L2 キャッシュ 最 大 10.6GB/ 秒 のFSB 命 令 フェッチ およびプリデコード 命 令 キュー デコード リネーム/ 割 り 当 て 4 5 4 スケジューラー マイクロ コード ROM リタイアメント ユニット (リオーダーバッファー リオーダーバッファー) ALU 分 岐 MMX/SSE FPmove ALU FAdd MMX/SSE FPmove ALU FMul MMX/SSE FPmove ロード ストア ストア ロード ALU FMul MMX/SSE FPmove ALU FAdd MMX/SSE FPmove ALU 分 岐 MMX/SSE FPmove L1 データキャッシュと D-TLB L1 データキャッシュと D-TLB 11 動 的 に 共 有 される 2 つの L2 プリフェッチャー

アドバンスト スマート キャッシュ マルチコアに 最 適 化 コア1 コア2 L2 キャッシュ スマートキャッシュの 利 点 L2 が 各 コアの 負 荷 に 適 応 できる 高 速 データ 共 有 複 製 データがない 追 加 の 利 点 L1 キャッシュに 対 する 2 倍 の 帯 域 幅 マルチコアに 最 適 化 された 共 有 キャッシュ2 倍 の 帯 域 幅 12

アドバンスト スマート キャッシュ ダイナミック キャッシュ アロケーション アドバンスト スマート キャッシュ 独 立 キャッシュ コア1 コア2 コア1 コア2 L2 キャッシュ L2 L2 キャッシュ キャッシュ 共 有 キャッシュは2つのコアからの 不 均 衡 な 負 荷 に 適 応 しかし 独 立 キャッシュは 一 方 のキャッシュの 使 用 率 が 低 く キャッシュが 空 いていても もう 一 方 の 高 負 荷 のアプリケ ーションはその 空 きキャッシュを 利 用 できずパフォーマンス 向 上 が 見 込 めない 13

アドバンスト スマート キャッシュ 効 率 的 なデータ 共 有 アドバンスト スマート キャッシュ 独 立 キャッシュ コア1 コア2 コア1 コア2 L2 キャッシュ FSB チップセット MCH L2 キャッシュ L2 キャッシュ FSB チップセット MCH 14 L2 から L1 への 2 倍 の 帯 域 幅

空 間 の 局 所 性 と 時 間 の 局 所 性 アクセスされたデータに 隣 接 するデータは 近 い 将 来 参 照 される 可 能 性 が 高 い アクセスされたデータは 近 い 将 来 再 びアクセスされる 可 能 性 が 高 い 15

キャッシュの 構 成 容 量 ( C ) ラインサイズ ( B ) アソシアティビティ ( A ) いくつかの 不 特 定 なメモリーの 内 容 がキャッシュの 特 定 の ブロックに 割 り 当 てられる A = 1 A = C / B 1< A < (C / B) ダイレクトマッピング フルアソシアティビティー セット アソシアティビティー 16

メモリー 中 のスキップを 避 ける メモリー スキップするアクセスはパフォーマンスを 低 下 させる IA-32 / インテル 64 プロセッサーのハードウェア プリフェッチャーは メモリー 中 のスキップを 認 識 しない TLB のエントリーには 限 りがある 各 アクセスにつき 1 つのキャッシュ ラインが 入 出 力 される キャッシュに 未 使 用 データが 含 まれる 未 使 用 データのためにより 多 くの 帯 域 が 必 要 ユニット ストライドされないアクセスのため 効 率 的 にベクトル 化 されない 17

スキップの 例 特 定 のスキップ for (i = 0; i < MAX; i += 10) A[i]; 外 部 次 元 中 のループ for (i = 0; i < MAX; i++) A[i][1]; ループ 構 造 の 1 つの 要 素 のみにアクセス Struct Person[100] { int ID; char[50] Name; char[100] address; } for (i = 0; i < 100; i++) if (Person[i].ID=match) matchid = i; 18

2 n の 法 則 さまざまなアーキテクチャーの 特 性 は 2 n 離 れた アドレスで 明 示 される 大 きな 幅 の 2 n (キャッシュ ラインよりも 大 きい 場 合 )は キャッシュ アクセスを 招 く セット アソシアティブ( 連 想 方 式 ) キャッシュ キャッシュ 管 理 大 きな 幅 の 2 n のスキップは 大 きなパフォーマン ス 低 下 につながる! 2 n の 境 界 (2K 4K 16K...256K)でメモリー スキップを 行 うと キャッシュ 入 れ 替 えの 原 因 となる 正 確 なサイズはプロセッサーとキャッシュ 構 成 によって 異 なる 19

8ウェイ セット アソシアティブの 場 合 31 11 10 6 5 00000.00000 0 0 0 1 1 0 0.0 0 0 1 0 0 64バイト 8ウェイ set0 set1 set2 set3 set4 set5 set6 0000-0000 2KB set30 set31 20 タグブロック 64バイト データブロック

キャッシュ アクセス ミスとは 初 期 参 照 ミス 容 量 ミス 競 合 ミス キャッシュ 競 合 なし 競 合 A B A B メモリー メモリー 21

キャッシュ アクセス ミスを 減 らす 最 適 化 技 術 配 列 のマージ パディングとアライメント パッキング 書 き 込 み 前 の 読 み 込 み ループインターチェンジ ループフュージョン ブロッキング コードサイズの 削 除 struct { int A[ ]; int B[ ]; } for(){ } 22

ローカリティーを 増 やす コードとデータサイズを 減 らす 23

SoA( 配 列 構 造 体 )とAoS( 構 造 体 配 列 ) Loop Loop s.a[i] s.b[i] Loop s[i].a s[i].b struct { int a[size]; int b[size]; } s; struct { int a; int b; } s[size] 24

SoA( 配 列 構 造 体 )とAoS( 構 造 体 配 列 ) struct { int a[size]; int b[size]; } s; a a a a a a a a b b b b b b b b Loop s[i].a s[i].b Loop struct { int a; int b; } s[size] a a b b a a b b a a b b a a b b s.a[i] Loop s.b[i] 25

パディング struct { int val[15]; } struct { int val[15]; int pad; } コンパイラーによって 自 動 的 にアライメントされないデータ 構 造 を 考 える 26

64 バイト (1キャッシュライン) struct { int val[15]; } s [SIZE] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 0 1 2 3 struct { int val[15]; int Pad; } s [SIZE] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pad 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pad 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pad 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pad もしくは _declspec (align (16)) struct { int val[15]; } s [SIZE] 27

自 然 なアライメントと SIMD アライメント C 言 語 の 仕 様 では 構 造 体 と 配 列 内 のデータは 宣 言 したデータ 要 素 が 自 然 なサイズになるようにアライメントされる 他 の 方 法 (パッキング)を 指 定 した 場 合 を 除 く 標 準 コードのメモリーアクセスをスピードアップ C 言 語 では SSE のパフォーマンスを 上 げる SIMD アライメント (16 バイト)は 強 要 しない 例 : float A[100] 16 バイトアドレスでアライメントする 必 要 はない 高 速 な SIMD movapd 命 令 は 使 用 できない インテル コンパイラーは 16/32 バイト 境 界 でアライメントしようとする 28

コンパイラーの 支 援 : データのアライメント(1) declspec(align(16)) float B[MAX]; void funca(float * B) { assume_aligned(b,16); A=_mm_malloc(sizeof(float) * MAX,16); for (i = 0; i < MAX; i++) A[i] += B[i]; _mm_free(a); } 29

コンパイラーの 支 援 : データのアライメント(2) _declspec(align(16)) float B[MAX]; void funca(float * B[]) { A=_mm_malloc(sizeof(float)*MAX,16); #pragma vector aligned for ( i = 0 ; i < MAX; i++) A[i] += B[i]; _mm_free(a); } 30

アライメント 用 のコンパイラー 組 み 込 み 関 数 declspec(align(base, [offset])) 境 界 からのオフセット offset (バイト 単 位 デフォルトは 0)で base バイト 境 界 でアライメントされる 変 数 を 作 成 する void* _mm_malloc (int size, int n) n バイト 境 界 でアライメントされるメモリーへのポインターを 作 成 する #pragma vector aligned unaligned ベクトルアクセスにアライメントされている またはアライメントされていないロード およびストアーを 使 用 する assume_aligned(a,n) 配 列 "a" が "n" バイト 境 界 でアライメントされると 仮 定 する 31

構 造 体 メンバーの 再 配 置 struct unix_proc { struct proc *next; struct proc *back;... int pid;... int prio; int nice;... char uid; } struct unix_proc { struct proc *next; int pid; int prio; struct proc *back;...... int nice;... char uid; } 32

キャッシュ ラインの 分 割 定 義 : データ 要 素 がキャッシュ 境 界 をまたぐこと 影 響 : そのデータ 要 素 にアクセスするには 1 回 ではなく 2 回 のメモリーアクセ スが 必 要 になるため パフォーマンスが 低 下 する インテル Pentium 4 プロセッサーのキャッシュ ラインは 64 バイト SSE3 では キャッシュ ラインの 分 割 問 題 を 解 消 するために 新 しい lddqu 命 令 を 追 加 アドレス 029e70c1h アドレス 029e70feh キャッシュ ライン 029e70c0h キャッシュ ライン 029e7100h Index 0 Index 0( 続 き) Index 1 Index 15 Index 16 33

ソフトウェア プリフェッチーの 追 加 メカニズム void _mm_prefetch(char const*a, int sel) (PREFETCH を 使 用 ) 指 定 されたアドレスからプロセッサーに 近 い キャッシュ 階 層 にデータのキャッシュ ラインをロ ードする 値 のセットは プリフェッチ 命 令 のタイプを 指 定 する プリフェッチ 命 令 のタイプに 合 わ せて 次 の 定 数 を 選 択 する: _MM_HINT_T0 _MM_HINT_T1 _MM_HINT_T2 _MM_HINT_NTA 使 用 方 法 インテル Pentium 4 プロセッサーのアーキテクチャーでは CPU コアのリソース を 要 求 しないでハードウェア プリフェッチを 行 うことができるため ソフトウェア プリフ ェッチは 通 常 意 味 がない 細 心 の 注 意 を 払 って 試 す メモリーをランダムにアクセスするコードには 有 効 34

ストリーミング ストアー #pragma vector nontemporal for (i = 0; i < N; i++) a[i] = 1; 定 義 : キャッシュ 中 にデータを 置 かないストアーのこと ループ 回 数 が 大 きなループのパフォーマンスを 著 しく 向 上 注 : a[i] は 終 了 時 にキャッシュ 中 に 存 在 しないため 通 常 は a[i] に 格 納 され たデータをすぐに 使 用 しない 35

データ アクセス パターンの 理 想 しきい 値 距 離 内 のデータをアクセスすることで ハードウェア ストライド プリフェッチャーは 連 続 してアクセスできる L2(L3)のヒットレートを 向 上 させる 128 バイト 以 内 に 分 散 したデータを 利 用 することで 隣 接 ライ ン プリフェッチャーの 恩 恵 を 受 けられる 4K 以 内 にデータアクセスを 集 中 することで 過 剰 なページン グを 防 止 する 36

実 行 コードによるキャッシュ アクセス 最 適 化 37

ループインターチェンジ for ( j = 0; j < 100; j++ ) for ( i = 0; i < 100; i++ ) a[i][j] = 2 * a[i][j]; for ( i = 0; i < 100; i++ ) for ( j = 0; j < 100; j++ ) a[i][j] = 2 * a[i][j]; 38 3,1 2,1 1,1 1,2 1,3... 1,100 3,1 2,1 1,1 1,2 1,3... 1,100 100,1 100,1

ループフュージョン ループフュージョン 実 行 前 ; for ( i = 0; i < N; i++ ) for ( j = 0; j < N; j++ ) a[i][j] = b[i][j] * c[i][j]; for ( i = 0; i < N; i++ ) for ( j = 0; j < N; j++ ) d[i][j] = a[i][j] + c[i][j]; ループフュージョン 実 行 後 ; for ( i = 0; i < N; i++ ) for ( j = 0; j < N; j++ ) { a[i][j] = b[i][j] * c[i][j]; d[i][j] = a[i][j] + c[i][j]; } 39

ループアンロール for ( j = 0; j < M; j++) for ( k = 0; k < N; k++ ) for ( i = 0; i < L; i++ ) C[k][i]+=A[k][j] * B[j][i]; for ( j = 0; j < M; j += 4 ) for ( k = 0; k < N; k++ ) for ( i = 0; i < L; i++ ) C[k][i]+=A[k][j] * B[j][i] + A[k][j+1] * B[j+1][i] + A[k][j+2] * B[j+2][i] + A[k][j+3] * B[j+3][i]; 40

ストリップマイニング ストリップマイニング(ループセクション)はキャッシュを 効 率 良 く 使 用 するためのループ 変 換 手 法 であり 大 きなループを 小 さな ループに 分 割 することで データキャッシュの 時 間 および 空 間 の 局 所 性 を 高 める strip_mine(){ struct _vertex{ float x, y, z, nx, ny, nz, u, v; } v[num]; } for(i=0; i<num; i++){ transform(&v[i]); Lighting(&v[i]); } for(i=0; i<num; i+=sm){ for(j=i; j < min(num, i*sm); j++){ transform(&v[j]); Lighting(&v[j]); } } 41

ブロッキング float A[MAX, MAX], B[MAX, MAX]; for(i=0, i<max, i++){ for(j=0, j<max, j++){ A[ i ][ j ] = A[ i ][ j ] + B[ j ][ i ]; } } 配 列 AとBはシーケンシャルにアクセス されるが 配 列 Bはアクセスするたびに キャッシュミスが 発 生 し キャッシュの 再 利 用 がまったく 考 慮 されていない float A[MAX, MAX], B[MAX, MAX]; for(i=0, i<max, i+=blocksize){ for(j=0; j<n; j+= blocksize){ for(ii=i; ii<i+blocksize; ii++){ for(jj=j; j<j+blocksize; jj++){ A[ii][jj] = A[ii][jj] + B[jj][ii]; 42 配 列 AとBをキャッシュサイズに 収 ま るように 断 片 的 にアクセスすること により 配 列 Bのキャッシュミスを 減 らす Blocksizeを8にすると 各 配 列 がブロッキングされる 断 片 は8キ ャッシュラインとなる

A(i,j)のアクセスパターン j キャッシュサイズより 小 さい i B(i,j)のアクセスパターン + 43

オルタ-ネイトル-プ void matrix(n){ double a[100][100],b[100][100],c[100][100]; int i,j,k; } for(i=0; i < n; j++){ for(j=0; j < n; j++){ for(k=0; k < n; k++) a[i][j] = a[i][j] + b[i][k] * c[k][j]; } } if(n > itval){ ル-プの 回 数 が 不 定 で あるため,ブロッキング 等 ができない ブロッキング 化 したコ-ド ル-プのコピ-を 作 り,ル-プの 回 数 がトランスフォ-メ-ションを 行 なうのに 十 分 な 大 きさがあれば, 最 適 化 したコ-ドを 実 行 する 44 } else { for(i=0; i < n; j++){ for(j=0; j < n; j++){ for(k=0; k < n; k++) a[i][j] = a[i][j] + b[i][k] * c[k][j]; } } }

コードサイズを 減 らす(アセンブリー) 複 数 サイクル 命 令 を 使 用 する アドレス 生 成 時 にインデックス オフセット そしてスケールを 使 用 する 短 いオペコードを 使 用 する +/-128 以 下 の 即 値 mov eax, 0 の 変 わりに xor eax, eax を 使 用 レジスターはなるべく eax を 使 用 45

まとめ コード/データアクセスのローカリティー 向 上 コード/データサイズを 減 らす キャッシュの 性 能 を 監 視 する: キャッシュの 使 用 率 のプロファイル ホットスポットの 検 索 アクセスミスのタイプ 割 り 出 し 適 切 な 方 法 で 最 適 化 46

参 考 資 料 47

プリフェッチ 命 令 プリフェッチ 命 令 はデータの 参 照 に 先 行 してデータをフェッチすることにより アプリケーション コードのパフォーマンス クリティカルな 部 分 でのメモリー アクセス 遅 延 を 隠 すことができる 非 一 時 命 令 prefetchnta 一 時 命 令 prefetcht0 prefetcht1 prefetcht2 L0へ 読 み 込 み(L1) すべてのレベルのキャッシュへ 読 み 込 み L0を 除 くキャッシュへ 読 み 込 み(L2) L0,L1を 除 くキャッシュ(L2)へ 読 み 込 み 48

メモリーアクセスによる 遅 延 とプリフェッチ 時 間 実 行 パイプライン フロントサイドバス 実 行 ユニット のアイドル 時 間 ロード 命 令 メモリーの 遅 延 実 行 ユニット のアイドル 時 間 ロード 命 令 メモリーの 遅 延 FSBのアイドル 時 間 実 行 パイプライン 時 間 フロントサイドバス 49

プリフェッチ 命 令 による メモリーアクセスの 最 適 化 プリフェッチを 実 行 する 間 隔 プリフェッチの 連 結 プリフェッチの 最 小 化 プリフェッチの 分 散 キャッシュのブロッキング メモリーバンクのアクセス 競 合 キャッシュ 管 理 50

プリフェッチを 実 行 する 間 隔 プリフェッチ 命 令 を 有 効 に 使 用 するには 適 切 な 実 行 間 隔 が 設 定 されなけ ればいけない 間 隔 が 狭 すぎると プリフェッチの 時 間 を 他 の 演 算 実 行 サイクルで 隠 すことができず 間 隔 が 広 すぎるとプリフェッチしたデータが キャッシュに 無 い 可 能 性 がある i i+1 i+2 i+3 小 さくてタイトなループはプリ フェッチの 恩 恵 を 受 けそうに 見 えるが 実 際 にはそうでは ない 51

プリフェッチ 間 隔 (PSD) Psd = Nlookup + Nxfer (N pref +N st ) CPI N inst Psd Nlookup Nxfer NprefとNst Ninst プリフェッチのスケジュール 間 隔 ルックアップレイテンシークロック メモリーやチップセットに 依 存 キャッシュラインの 転 送 に 要 するクロック プリフェッチとストアーされるキャッシュライン 数 1 回 のループの 命 令 数 Psd = 60 + 25 (N pref +N st ) 1.5 N inst 52

プリフェッチの 連 結 ネストしたループでは 内 側 のループが 終 了 し 外 側 のループ 処 理 が 始 まるまでにパイプラインが 途 切 れる 可 能 性 がある for (ii=0; ii=100; ii++){ for(jj=0; jj<32; jj+=8){ prefetch a[ii][jj+8]; computation a[ii][jj]; } } この 例 では a[ii][0]を 含 むキャッシュラインがプリフェッチされて おらず 内 側 のループの 最 後 で 不 要 なプリフェッチが 行 われる 53

プリフェッチの 連 結 (2) プリフェッチの 連 結 は 内 側 と 外 側 の 実 行 パイプラインを 繋 ぐブリッジの 役 目 をはたす 内 側 のループの 繰 り 返 しを ループ 外 で 次 のループで 使 用 す るデータのプリフェッチと 共 に 行 うことで メモリーパイプラインの 途 切 れに よる 性 能 低 下 を 回 避 する for (ii=0; ii=100; ii++){ for(jj=0; jj<24; jj+=8){ prefetch a[ii][jj+8]; computation a[ii][jj]; } prefetch a[ii+1][0]; computation a[ii][jj]; } 54

プリフェッチの 最 小 化 過 度 なプリフェッチは 次 のような 問 題 を 招 く フィル バッファーに 空 きが 無 い 場 合 フィル バッファー エントリーの 割 り 当 て 待 ちでプリフェッチがロードバッファー 内 に 蓄 積 する ロードバッファーに 空 きが 無 いと 命 令 の 割 り 当 てがストールする 対 象 ループが 小 さな 場 合 プリフェッチによってオーバーヘッドが 増 大 する 55 Loop: prefetchnta [edx+esi+32] prefetchnta [edx*4+esi+32] movaps xmm1,[edx+esi] movaps xmm2,[edx*4+esi] add esi,16 cmp esi,ecx jl Loop Loop: prefetchnta [edx+esi+32] prefetchnta [edx*4+esi+32] movaps xmm1,[edx+esi] movaps xmm2,[edx*4+esi] movaps xmm1,[edx+esi+16] movaps xmm2,[edx*4+esi+16] add esi,32 cmp esi,ecx jl Loop

プリフェッチの 分 散 すべてのプリフェッチをループのはじめに 実 行 すると 大 幅 な 性 能 低 下 につながる 可 能 性 がある プリフェッチは 他 の 演 算 と 交 互 に 配 置 する PentiumIIIプロセッサー(500MHz)では 20-25サイクル 毎 にプリフェッチ 命 令 を 挿 入 する Loop: prefetchnta [ebx+128] prefetchnta [ebx+1128] prefetchnta [ebx+2128] prefetchnta [ebx+3128] prefetchnta [ebx+17128] prefetchnta [ebx+18128] prefetchnta [ebx+19128] prefetchnta [ebx+20128] mulps xmm3,[ebx+4000] addps xmm1,[ebx+1000] addps xmm2,[ebx+3016] mulps xmm3,[ebx+2000] mulps xmm1,xmm2 add ebx,32 cmp ebx,ecx jl Loop 56

ビデオデコーダにおけるキャッシュ 管 理 ここでのビデオデコーダでは 処 理 済 のフレームデータをビデオメモリー へ 書 き 込 み その 後 データのコピーがプロセッサーによってライトバックメ モリーに 格 納 され 以 降 のデータ 生 成 に 利 用 されることを 前 提 とする データはストリーミング ストアー 命 令 でビデオメモリーへ 直 接 書 き 込 むこと により プロセッサーキャッシュの 汚 染 を 防 止 する その 後 プロセッサーは prefetchnta 再 読 み 込 みされるため 使 用 可 能 なバンド 幅 は 最 大 とな る NTA( 非 一 時 ) 読 み 込 みを 行 うことで キャッシュ 内 の 他 のデータへの 影 響 を 最 小 限 に 押 さえる MOVNTQ m64, mm MOVNTPS m128, xmm Pentium 4 L1 regs bsb L2 fsb グラフィック コントローラー AGP チップセット システム メモリー 57

本 資 料 に 掲 載 されている 情 報 は インテル 製 品 の 概 要 説 明 を 目 的 としたものです 製 品 に 付 属 の 売 買 契 約 書 Intel s Terms and conditions of Sales に 規 定 され ている 場 合 を 除 き インテルはいかなる 責 を 負 うものではなく またインテル 製 品 の 販 売 や 使 用 に 関 する 明 示 または 黙 示 の 保 証 ( 特 定 目 的 への 適 合 性 商 品 性 に 関 する 保 証 第 三 者 の 特 許 権 著 作 権 その 他 知 的 所 有 権 を 侵 害 していない ことへの 保 証 を 含 む) に 関 しても 一 切 責 任 を 負 わないものとします インテル 製 品 は 予 告 なく 仕 様 が 変 更 されることがあります * その 他 の 社 名 製 品 名 などは 一 般 に 各 社 の 商 標 または 登 録 商 標 です 2007, Intel Corporation. 58