狠狠撸
Submit Search
第12回计算机构成
Jul 13, 2021
0 likes
304 views
眞
眞樹 冨澤
2.13 Cプログラムの包括的な例題解説 sortのアルゴリズムの解説とアセンブリコードへの変換
Read less
Read more
1 of 24
Download now
Download to read offline
Recommended
第10回 计算机构成
第10回 计算机构成
眞樹 冨澤
?
QtSPIMでは,遅延分岐を有効にしないと,PC相対アドレスが1つずれる. また,beq/bneでの相対アドレスが格納されている即値フィールドを4倍した値が,アセンブリ言語の第3オペランドの値になっている. ソフトウェアによるオーバーフローの検出(符号なし,符号付き)と2倍長加算の解説をした.
骋辞をカンストさせる话
骋辞をカンストさせる话
Moriyoshi Koizumi
?
骋辞をカンストさせる话
テーマ「最适化」
テーマ「最适化」
technocat
?
2010/08/07 @hokkaido.pm #1
x86x64 SSE4.2 POPCNT
x86x64 SSE4.2 POPCNT
takesako
?
ビットを数える(x86/x64最適化勉強会1)
Apg4b 2.05.再帰 sum関数の動作説明
Apg4b 2.05.再帰 sum関数の動作説明
APG4b
?
APG4b 2.05.再帰 sum関数の動作説明のスライドです。 https://atcoder.jp/contests/apg4b/tasks/APG4b_v
厂颈惫3顿で楽しむゲームとメディアアート开発
厂颈惫3顿で楽しむゲームとメディアアート开発
Ryo Suzuki
?
Boost.勉強会 #17 東京 「厂颈惫3顿で楽しむゲームとメディアアート开発」 第 17 回全ゲ連「Siv3D でサクッとゲームを作ろう」 のマージ版
搁で骋滨厂
搁で骋滨厂
Hoshida Yukihisa
?
尘测冲尘颈苍関数の动作説明
尘测冲尘颈苍関数の动作説明
APG4b
?
APG4b 1.15.関数 尘测冲尘颈苍関数の动作説明のスライドです。 https://atcoder.jp/contests/apg4b/
Misosou=Justice of Punctual+mazekoze+umatobi
Misosou=Justice of Punctual+mazekoze+umatobi
ume doblock
?
味噌荘=Justice of Punctual+まぜこぜ+馬飛び Misosou=Justice of Punctual+mazekoze+umatobi Blockchain.tokyo #15
Boost.Coroutine
Boost.Coroutine
melpon
?
Gocon2013
Gocon2013
Moriyoshi Koizumi
?
Prosym2012
Prosym2012
MITSUNARI Shigeo
?
Continuation with Boost.Context
Continuation with Boost.Context
Akira Takahashi
?
板ポリだけで めちゃカッコいい グラフィックスを出す!
板ポリだけで めちゃカッコいい グラフィックスを出す!
notargs
?
How to showing cool graphics by a quad polygon
【鲍苍颈迟测道场】ゲーム制作に使う数学を学习しよう
【鲍苍颈迟测道场】ゲーム制作に使う数学を学习しよう
Unity Technologies Japan K.K.
?
数学が大切とはよく聞くけれど、どのように始めたらいいのかわからない??そんな方に、数学との付き合い方をお伝えします。特定の分野に限らず、あらゆる職種に必須の概念をピックアップし、数学の利用法を解説していきます。(なお行列、ベクトル、微積分については触れません) このスライドは、2019/7/25開催の「Unity道場 7月」の資料です。
搁で骋滨厂ハンズオンセッション
搁で骋滨厂ハンズオンセッション
arctic_tern265
?
机械学习
机械学习
ssusere8ae711
?
机械学习
动的计画法の并列化
动的计画法の并列化
Proktmr
?
JOI 夏季セミナー 2019 最終発表のスライドです.アニメーションが消失しているのでわかりにくいです.
2012年1月20日
2012年1月20日
nukaemon
?
诲颈蹿蹿の真髄
诲颈蹿蹿の真髄
fuku68
?
诲颈颈蹿のアルゴリズム
【Unity道場スペシャル 2017札幌】乱数完全マスター
【Unity道場スペシャル 2017札幌】乱数完全マスター
Unity Technologies Japan K.K.
?
2017/10/8に開催されたUnity道場スペシャル 2017札幌の講演スライドです。 講師:安原 祐二(ユニティ?テクノロジーズ?ジャパン合同会社) 講演動画:https://youtu.be/VfJAgRZ338k 優れたゲームプログラム、その違いが現れるのは処理速度だけではありません。細かなテクニックを使用することで表現にも差がつきます。今回は乱数にスポットをあてて、その特徴や注意点、そして応用例についてお話しします。乱数はゲームプログラムの基本中の基本です。みなさんが作成中のゲームにも、すぐに使えるテクニックを身につけられます! こんな人におすすめ ?ゲームプログラムの中級者を目指す方 ?乱数やノイズの応用例を知りたい方 得られる知見 ?乱数の数学的背景 ?乱数の注意点 ?乱数やノイズの応用例 Unityのイベント資料はこちらから: /UnityTechnologiesJapan/clipboards
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
Unity Technologies Japan K.K.
?
2017/11/18に開催されたUnity道場スペシャル 2017京都の講演スライドです。 講師:安原 祐二(ユニティ?テクノロジーズ?ジャパン合同会社) 優れたゲームプログラム、その違いが現れるのは処理速度だけではありません。細かなテクニックを使用することで表現にも差がつきます。今回は乱数にスポットをあてて、その特徴や注意点、そして応用例についてお話しします。乱数はゲームプログラムの基本中の基本です。みなさんが作成中のゲームにも、すぐに使えるテクニックを身につけられます! こんな人におすすめ ?ゲームプログラムの中級者を目指す方 ?乱数やノイズの応用例を知りたい方 受講者が得られる知見 ?乱数の数学的背景 ?乱数の注意点 ?乱数やノイズの応用例 Unityのイベント資料はこちらから: /UnityTechnologiesJapan/clipboards
尝尝痴惭で游ぶ(整数圧缩とか、虫86向けの自动ベクトル化とか)
尝尝痴惭で游ぶ(整数圧缩とか、虫86向けの自动ベクトル化とか)
Takeshi Yamamuro
?
Lotus DEvCon 2000 - LotusScript Tips and Techniques
Lotus DEvCon 2000 - LotusScript Tips and Techniques
Hiroaki Komine
?
2000年の Lotus DevCon 2000 での講演資料が出てきましたので公開します。LotusScript の Technical Tips が載っています。
濒濒惫尘入门
濒濒惫尘入门
MITSUNARI Shigeo
?
Nginx lua
Nginx lua
Moriyoshi Koizumi
?
フラグを爱でる
フラグを爱でる
MITSUNARI Shigeo
?
Clojure
Clojure
yshigeru
?
20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部
NVIDIA Japan
?
第23回 GPUコンピューティング講習会 - OpenACC講習会 - http://gpu-computing.gsic.titech.ac.jp/node/97
X hago2 shortcoding 20110827
X hago2 shortcoding 20110827
uskey512
?
AOJ[0006] 53B
More Related Content
What's hot
(20)
Misosou=Justice of Punctual+mazekoze+umatobi
Misosou=Justice of Punctual+mazekoze+umatobi
ume doblock
?
味噌荘=Justice of Punctual+まぜこぜ+馬飛び Misosou=Justice of Punctual+mazekoze+umatobi Blockchain.tokyo #15
Boost.Coroutine
Boost.Coroutine
melpon
?
Gocon2013
Gocon2013
Moriyoshi Koizumi
?
Prosym2012
Prosym2012
MITSUNARI Shigeo
?
Continuation with Boost.Context
Continuation with Boost.Context
Akira Takahashi
?
板ポリだけで めちゃカッコいい グラフィックスを出す!
板ポリだけで めちゃカッコいい グラフィックスを出す!
notargs
?
How to showing cool graphics by a quad polygon
【鲍苍颈迟测道场】ゲーム制作に使う数学を学习しよう
【鲍苍颈迟测道场】ゲーム制作に使う数学を学习しよう
Unity Technologies Japan K.K.
?
数学が大切とはよく聞くけれど、どのように始めたらいいのかわからない??そんな方に、数学との付き合い方をお伝えします。特定の分野に限らず、あらゆる職種に必須の概念をピックアップし、数学の利用法を解説していきます。(なお行列、ベクトル、微積分については触れません) このスライドは、2019/7/25開催の「Unity道場 7月」の資料です。
搁で骋滨厂ハンズオンセッション
搁で骋滨厂ハンズオンセッション
arctic_tern265
?
机械学习
机械学习
ssusere8ae711
?
机械学习
动的计画法の并列化
动的计画法の并列化
Proktmr
?
JOI 夏季セミナー 2019 最終発表のスライドです.アニメーションが消失しているのでわかりにくいです.
2012年1月20日
2012年1月20日
nukaemon
?
诲颈蹿蹿の真髄
诲颈蹿蹿の真髄
fuku68
?
诲颈颈蹿のアルゴリズム
【Unity道場スペシャル 2017札幌】乱数完全マスター
【Unity道場スペシャル 2017札幌】乱数完全マスター
Unity Technologies Japan K.K.
?
2017/10/8に開催されたUnity道場スペシャル 2017札幌の講演スライドです。 講師:安原 祐二(ユニティ?テクノロジーズ?ジャパン合同会社) 講演動画:https://youtu.be/VfJAgRZ338k 優れたゲームプログラム、その違いが現れるのは処理速度だけではありません。細かなテクニックを使用することで表現にも差がつきます。今回は乱数にスポットをあてて、その特徴や注意点、そして応用例についてお話しします。乱数はゲームプログラムの基本中の基本です。みなさんが作成中のゲームにも、すぐに使えるテクニックを身につけられます! こんな人におすすめ ?ゲームプログラムの中級者を目指す方 ?乱数やノイズの応用例を知りたい方 得られる知見 ?乱数の数学的背景 ?乱数の注意点 ?乱数やノイズの応用例 Unityのイベント資料はこちらから: /UnityTechnologiesJapan/clipboards
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
Unity Technologies Japan K.K.
?
2017/11/18に開催されたUnity道場スペシャル 2017京都の講演スライドです。 講師:安原 祐二(ユニティ?テクノロジーズ?ジャパン合同会社) 優れたゲームプログラム、その違いが現れるのは処理速度だけではありません。細かなテクニックを使用することで表現にも差がつきます。今回は乱数にスポットをあてて、その特徴や注意点、そして応用例についてお話しします。乱数はゲームプログラムの基本中の基本です。みなさんが作成中のゲームにも、すぐに使えるテクニックを身につけられます! こんな人におすすめ ?ゲームプログラムの中級者を目指す方 ?乱数やノイズの応用例を知りたい方 受講者が得られる知見 ?乱数の数学的背景 ?乱数の注意点 ?乱数やノイズの応用例 Unityのイベント資料はこちらから: /UnityTechnologiesJapan/clipboards
尝尝痴惭で游ぶ(整数圧缩とか、虫86向けの自动ベクトル化とか)
尝尝痴惭で游ぶ(整数圧缩とか、虫86向けの自动ベクトル化とか)
Takeshi Yamamuro
?
Lotus DEvCon 2000 - LotusScript Tips and Techniques
Lotus DEvCon 2000 - LotusScript Tips and Techniques
Hiroaki Komine
?
2000年の Lotus DevCon 2000 での講演資料が出てきましたので公開します。LotusScript の Technical Tips が載っています。
濒濒惫尘入门
濒濒惫尘入门
MITSUNARI Shigeo
?
Nginx lua
Nginx lua
Moriyoshi Koizumi
?
フラグを爱でる
フラグを爱でる
MITSUNARI Shigeo
?
Clojure
Clojure
yshigeru
?
Misosou=Justice of Punctual+mazekoze+umatobi
Misosou=Justice of Punctual+mazekoze+umatobi
ume doblock
?
Boost.Coroutine
Boost.Coroutine
melpon
?
Gocon2013
Gocon2013
Moriyoshi Koizumi
?
Prosym2012
Prosym2012
MITSUNARI Shigeo
?
Continuation with Boost.Context
Continuation with Boost.Context
Akira Takahashi
?
板ポリだけで めちゃカッコいい グラフィックスを出す!
板ポリだけで めちゃカッコいい グラフィックスを出す!
notargs
?
【鲍苍颈迟测道场】ゲーム制作に使う数学を学习しよう
【鲍苍颈迟测道场】ゲーム制作に使う数学を学习しよう
Unity Technologies Japan K.K.
?
搁で骋滨厂ハンズオンセッション
搁で骋滨厂ハンズオンセッション
arctic_tern265
?
机械学习
机械学习
ssusere8ae711
?
动的计画法の并列化
动的计画法の并列化
Proktmr
?
2012年1月20日
2012年1月20日
nukaemon
?
诲颈蹿蹿の真髄
诲颈蹿蹿の真髄
fuku68
?
【Unity道場スペシャル 2017札幌】乱数完全マスター
【Unity道場スペシャル 2017札幌】乱数完全マスター
Unity Technologies Japan K.K.
?
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
【Unity道場スペシャル 2017京都】乱数完全マスター 京都編
Unity Technologies Japan K.K.
?
尝尝痴惭で游ぶ(整数圧缩とか、虫86向けの自动ベクトル化とか)
尝尝痴惭で游ぶ(整数圧缩とか、虫86向けの自动ベクトル化とか)
Takeshi Yamamuro
?
Lotus DEvCon 2000 - LotusScript Tips and Techniques
Lotus DEvCon 2000 - LotusScript Tips and Techniques
Hiroaki Komine
?
濒濒惫尘入门
濒濒惫尘入门
MITSUNARI Shigeo
?
Nginx lua
Nginx lua
Moriyoshi Koizumi
?
フラグを爱でる
フラグを爱でる
MITSUNARI Shigeo
?
Clojure
Clojure
yshigeru
?
Similar to 第12回计算机构成
(20)
20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部
NVIDIA Japan
?
第23回 GPUコンピューティング講習会 - OpenACC講習会 - http://gpu-computing.gsic.titech.ac.jp/node/97
X hago2 shortcoding 20110827
X hago2 shortcoding 20110827
uskey512
?
AOJ[0006] 53B
闯补惫补电卓勉强会资料
闯补惫补电卓勉强会资料
Toshio Ehara
?
Binary indexed tree
Binary indexed tree
HCPC: 北海道大学競技プログラミングサークル
?
BIT
厂迟补苍と诲濒尘による状态空间モデル
厂迟补苍と诲濒尘による状态空间モデル
Hiroki It?
?
Presentation at SappoRo.R #7
ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版
dsp_kyoto_2014
?
ディジタル信号処理 課題解説(その2) 2014年度版
人工無脳バトル 1st STEP 回答と解説
人工無脳バトル 1st STEP 回答と解説
JustSystems Corporation
?
ジャストシステム開発エンジニアインターンシップの1st STEPで出題された課題の回答と解説を掲載しています! 12/12,13に行われる本戦でTwitter上に公開される人工無脳のフォローはこちらから!?http://www.justsystems.com/jp/employ/int/
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
noname409
?
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法
nitoyon
?
アルゴリズムイントロダクション轮讲用の発表资料。
闯补惫补数値(浮动小数点)课题勉强会
闯补惫补数値(浮动小数点)课题勉强会
Tetsuya Yoshida
?
闯补惫补の浮动小数点误差の课题についてまとめた资料です。
ネイティブコードを语る
ネイティブコードを语る
Kenji Imasaki
?
逆アセンブルを眺めながらネイティブコードの楽しさについて語ります。ハング?メモリリークなど、ソフトウェアエンジニアであればだれでも経験するであろう問題について夏休みの自由研究のように観察します。 簡単な食事および伊藤園からのお茶が提供予定です。 【講演者略歴】 我孫子 泰祐 大学院にて非ノイマン型プロセッサを研究し、卒業後に小さな会社を立ち上げるも諸般の事情で日本マイクロソフトに入社。その後マイクロソフト本社へ転籍。現在は Windows部門にてソフトウェア開発に従事。工学博士。 【内容(予定)】 ネイティブコードとは? 逆アセンブルからCソースを脳内生成してみよう(バグ修正の存在確認) コンパイラによる最適化を観察してみよう(デバッグビルドとリリースビルド) 関数コールの仕組みを観察してみよう(関数呼び出し規約、スタックメモリ) 森の中でメモリリークに出遭ったら(ヒープメモリの観察) 森の中でハングに出遭ったら(クリティカルセクションの観察) 森の中でバッファオーバーランに出遭ったら(ガードページとクラッシュダンプ)
Clojure programming-chapter-2
Clojure programming-chapter-2
Masao Kato
?
Clojre Programming 第2章
C++0x in programming competition
C++0x in programming competition
yak1ex
?
P
ji-6. 配列
ji-6. 配列
kunihikokaneko1
?
トピックス:配列, 配列の添え字, Honor 法, エラトステネスのふるい Java プログラミング入門(スライド資料とプログラム例)(全6回) https://www.kkaneko.jp/pro/ji/index.html 金子邦彦研究室ホームページ https://www.kkaneko.jp/index.html
闯翱滨予选はランチの后で
闯翱滨予选はランチの后で
Ken Ogura
?
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
schoowebcampus
?
ーーーーーーーーーーーーーーーーーーーーーーー schoo WEB-campusは「WEBに誕生した、学校の新しいカタチ」。 WEB生放送の授業を無料で配信しています。 ▼こちらから授業に参加すると、先生への質問や、ユーザーとのチャット、資料の拡大表示等が可能です。 https://schoo.jp/class/427/room ーーーーーーーーーーーーーーーーーーーーーーー
Algorithm 速いアルゴリズムを書くための基礎
Algorithm 速いアルゴリズムを書くための基礎
Kenji Otsuka
?
2016/02/24 の勉強会に使った資料です。 (書いてないこともだいぶ話しました。)
【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター
Unity Technologies Japan K.K.
?
講演者:安原 祐二(ユニティ?テクノロジーズ?ジャパン合同会社) こんな人におすすめ ?これから誘導ミサイルを学んでみたい方 ?そろそろコンピュートシェーダの使い方を学んでおきたい方 ?誘導ミサイルが好きな方 受講者が得られる知見 ?誘導ミサイルの実装方法 ?誘導ミサイルのゲームデザイン上の特徴 ?コンピュートシェーダをエフェクト以外で利用する際の注意点
虫86とコンテキストスイッチ
虫86とコンテキストスイッチ
Masami Ichikawa
?
第1回 x86勉強会の発表資料
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
Unity Technologies Japan K.K.
?
2017/6/3に開催されたUnity道場 博多スペシャルの講演スライドです。 講師:安原 祐二(ユニティ?テクノロジーズ?ジャパン合同会社) 講演動画:https://youtu.be/uKWLPU8gfIY 知ってはいるけれどピンとこない、知ってはいるけれどピンとこない、そんなクォータニオンについて基本となる概念からたっぷりと、丁寧に説明していきます。行列についても解説しますので、これからシェーダプログラミングに取り組もうとするエンジニアにも役に立つ内容です。数学に苦手意識のある人も、この機会にマスターしてしまいましょう! こんな人におすすめ ?プログラマ全般および数学に興味のある人 受講者が得られる知見 ?クォータニオンの意味 ?行列とクォータニオンの関係 ?数学的な背景 Unityのイベント資料はこちらから: /UnityTechnologiesJapan/clipboards
20190625 OpenACC 講習会 第3部
20190625 OpenACC 講習会 第3部
NVIDIA Japan
?
X hago2 shortcoding 20110827
X hago2 shortcoding 20110827
uskey512
?
闯补惫补电卓勉强会资料
闯补惫补电卓勉强会资料
Toshio Ehara
?
Binary indexed tree
Binary indexed tree
HCPC: 北海道大学競技プログラミングサークル
?
厂迟补苍と诲濒尘による状态空间モデル
厂迟补苍と诲濒尘による状态空间モデル
Hiroki It?
?
ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版
dsp_kyoto_2014
?
人工無脳バトル 1st STEP 回答と解説
人工無脳バトル 1st STEP 回答と解説
JustSystems Corporation
?
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
noname409
?
アルゴリズムイントロダクション15章 動的計画法
アルゴリズムイントロダクション15章 動的計画法
nitoyon
?
闯补惫补数値(浮动小数点)课题勉强会
闯补惫补数値(浮动小数点)课题勉强会
Tetsuya Yoshida
?
ネイティブコードを语る
ネイティブコードを语る
Kenji Imasaki
?
Clojure programming-chapter-2
Clojure programming-chapter-2
Masao Kato
?
C++0x in programming competition
C++0x in programming competition
yak1ex
?
ji-6. 配列
ji-6. 配列
kunihikokaneko1
?
闯翱滨予选はランチの后で
闯翱滨予选はランチの后で
Ken Ogura
?
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
ノンプログラマーでも明日から使えるJavaScript簡単プログラム 先生:柳井 政和
schoowebcampus
?
Algorithm 速いアルゴリズムを書くための基礎
Algorithm 速いアルゴリズムを書くための基礎
Kenji Otsuka
?
【Unite Tokyo 2018】誘導ミサイル完全マスター
【Unite Tokyo 2018】誘導ミサイル完全マスター
Unity Technologies Japan K.K.
?
虫86とコンテキストスイッチ
虫86とコンテキストスイッチ
Masami Ichikawa
?
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
Unity Technologies Japan K.K.
?
Recently uploaded
(6)
cardiom??????????????????????yopathy .pdf
cardiom??????????????????????yopathy .pdf
ssuser16d694
?
??????
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
OpenRTM1
?
システムインテグレーション技術は、技術の実用化?社会実装において極めて重要な役割を果たします。 特にロボット技術は、多様な要素技術を統合するという点でシステムインテグレーション技術そのものであり、 近年は統合基盤としてロボットミドルウェアが広く活用されるようになっています。 本講演では、SICE SI部門が目指すシステムインテグレーション技術の体系化についても触れ、 ロボットミドルウェアを通してシステムインテグレーション技術の本質を概観します。
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
SheanOrvinBalao
?
yes
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ruthbarnuevo1
?
ALPHABET FLASHCARD
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
KeisukeHattori1
?
青山学院大学経営学部 服部ゼミナールの2024年度の研究成果です。
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
KeisukeHattori1
?
青山学院大学経営学部服部ゼミナール2024年度の研究です。
cardiom??????????????????????yopathy .pdf
cardiom??????????????????????yopathy .pdf
ssuser16d694
?
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
第57回計測自動制御学会北海道支部講演会 特別講演 システムインテグレーションとロボットミドルウェア
OpenRTM1
?
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
TAUHANNGNOLIMETANGEREKAYAYANBOISGL!!!.pptx
SheanOrvinBalao
?
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ALPHABET FLASHCARD FOR PRESCHOOL TO KINDERGARTEN LEARNERS.docx
ruthbarnuevo1
?
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
それ、マルハラかも。 ~メッセージ上の句点による暗黙的ハラスメント の実在性についてのサーベイ実験
KeisukeHattori1
?
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
タワーマンション効果 ?高所からの眺望が、人の心理状態に及ぼす影響を探るRCTs
KeisukeHattori1
?
第12回计算机构成
1.
(C)2021 TOMISAWA Masaki 第12回?計算機構成 前々回の内容 ■
2.8 コンピュータ?ハードウェア内での手続 きのサポート ?入再帰型手続きのコンパイル ■ トレース課題 ■ 末尾呼出し(tail call) ■ 2.9 人との情報交換 ■ 2.10 32ビットの即値およびアドレスに対す るMIPSのアドレシング方式 ■ 擬似直接アドレッシング ■ PC相対アドレッシング 今回の内容 ■ 2.13 Cプログラムの包括的な例題解説 ? sort手続きの理解 ? swap.s ? sort.s ■ 配列とポインタ ■ 乗算命令と除算命令
2.
2.13 Cプログラムの包括的な例題解説(p.132) ■ sort手続き
■ swap手続き void sort(int v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); } void swap(int v[], int k) { int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } 0 1 2 3 v[] 9 8 10 4 ? v[] 4 8 9 10
3.
MIPSコードに変換するだけならば, sort手続きを理解する必要はないが, ちゃんと理解しましょう.
4.
sort手続きを読み解く(1) ■ sort手続き ■ 外側のfor文のiは,0からn-1まで変化する.n回繰り返される. void
sort(int v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); }
5.
sort手続きを読み解く(2) ■ sort手続き ■ j>=0が成立しなければ,v[j]>v[j+1]は評価されないで,for文を抜ける. ■
j>=0が成立したときだけ,v[j]>v[j+1]は評価される. void sort(int v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); } C言語では,論理式は左から評 価する. &&では,成立しない式があれ ば,それ以降の式は評価されな い.
6.
sort手続きを読み解く(2) ■ sort手続き ■ 外側のfor文のiは,0からn-1まで変化する.n回繰り返される. ■
内側のfor文に着目すると,変数iはjの初期化(j=i-1)にしか使われていない. ■ i=0のとき,j=0-1=-1となり,j>=0が成立しないので,内側のfor文は抜ける. ? 質問?外側のfor文は,for(i=1;i<n;i+=1)でもよいか? void sort(int v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); }
7.
sort手続きを読み解く(3) ■ sort手続き ■ i=0
のとき j=-1 となり,j>=0が成立しないので,内側のfor文は回らない. ■ i=1 のとき j=0 となり,j>=0が成立するので,内側のfor文は,j=0 を実行する. ■ i=2 のとき j=1 となり,j>=0が成立するので,内側のfor文は,j=1,0 を実行する. ■ i=3 のとき j=2 となり,j>=0が成立するので,内側のfor文は,j=2,1,0 を実行する. ■ i=4 のとき j=3 となり,j>=0が成立するので,内側のfor文は,j=3,2,1,0 を実行する. ■ i=n-1 のとき j=n-2 となり,j>=0が成立するので,内側のfor文は,j=n-2,...,0 を実行する. void sort(int v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); } 外側のfor文はn回 内側のfor文は1~ n-1 回
8.
sort手続きを読み解く(4) ■ sort手続き ■ i=0
のとき j=-1 となり,内側のfor文は回らない. ■ i=1 のとき j=0 となり,内側のfor文は j=0 を実行する. ■ i=2 のとき j=1 となり,内側のfor文は j=1,0 を実行する. ■ i=3 のとき j=2 となり,内側のfor文は j=2,1,0 を実行する. ■ i=4 のとき j=3 となり,内側のfor文は j=3,2,1,0 を実行する. ■ i=n-1 のとき j=n-2 となり,内側のfor文は j=n-2,...,0 を実行する. void sort(int v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); } 内側のfor文の動作が 分かったので, v[j]>v[j+1] とswap(v,j) について考える.
9.
sort手続きを読み解く(5) ■ sort手続き ■ 内側のfor文は
j=0 を実行する.v[0]>v[1]ならば,v[0]とv[1]の値を交換する. ■ 内側のfor文は j=1,0 を実行する.v[1]>v[2]ならば,v[1]とv[2]の値を交換する. ■ 内側のfor文は j=2,1,0 を実行する.v[2]>v[3]ならば,v[2]とv[3]の値を交換する. ■ 内側のfor文は j=3,2,1,0 を実行する.v[3]>v[4]ならば,v[3]とv[4]の値を交換する. ■ 内側のfor文は j=n-2,...,0 を実行する.v[n-2]>v[n-1]ならば,v[n-2]とv[n-1]の値を交換する. void sort(int v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); }
10.
sort手続きを読み解く(6) ■ sort手続き ■ 内側のfor文は
j=0 を実行する.v[0]>v[1]ならば,v[0]とv[1]の値を交換する. ■ 内側のfor文は j=1,0 を実行する.v[1]>v[2]ならば,v[1]とv[2]の値を交換する. ■ 内側のfor文は j=2,1,0 を実行する.v[2]>v[3]ならば,v[2]とv[3]の値を交換する. ■ 内側のfor文は j=3,2,1,0 を実行する.v[3]>v[4]ならば,v[3]とv[4]の値を交換する. ■ 内側のfor文は j=n-2,...,0 を実行する.v[n-2]>v[n-1]ならば,v[n-2]とv[n-1]の値を交換する. void sort(int v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); } v[0]からv[n-1]まで ソートされる.
11.
sort手続きを読み解く(7) ■ v[4]={9,8,10,4}; ■ i=1,j=0
を実行する. v[0]>v[1]ならば,v[0]とv[1]の値を交換する. ■ i=1,j=1,0 を実行する. v[1]>v[2]ならば,v[1]とv[2]の値を交換する. ■ i=2,j=2,1,0 を実行する. v[2]>v[3]ならば,v[2]とv[3]の値を交換する. i 0 1 2 3 9 8 10 4 整列済 j 0 9 8 10 4 比較 8 9 10 4 交換
12.
sort手続きを読み解く(8) ■ v[4]={9,8,10,4}; ■ i=1,j=0
を実行する. v[0]>v[1]ならば,v[0]とv[1]の値を交換する. ■ i=2,j=1,0 を実行する. v[1]>v[2]ならば,v[1]とv[2]の値を交換する. ■ i=3,j=2,1,0 を実行する. v[2]>v[3]ならば,v[2]とv[3]の値を交換する. j 1 8 9 10 4 比較 8 9 10 4 交換 j 0 8 9 10 4 比較 8 9 10 4 交換 i 0 1 2 3 8 9 10 4 整列済 void sort(int v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); }
13.
sort手続きを読み解く(9) ■ v[4]={9,8,10,4}; ■ i=1,j=0
を実行する. v[0]>v[1]ならば,v[0]とv[1]の値を交換する. ■ i=2,j=1,0 を実行する. v[1]>v[2]ならば,v[1]とv[2]の値を交換する. ■ i=3,j=2,1,0 を実行する. v[2]>v[3]ならば,v[2]とv[3]の値を交換する. j 1 8 9 4 10 比較 8 4 9 10 交換 j 0 8 4 9 10 比較 4 8 9 10 交換 i 0 1 2 3 8 9 10 4 整列済 j 2 8 9 10 4 比較 8 9 4 10 交換 void sort(int v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); }
14.
sort手続きを読み解く(10) ■ v[4]={9,8,10,12}; ■ i=1,j=0
を実行する. v[0]>v[1]ならば,v[0]とv[1]の値を交換する. ■ i=2,j=1,0 を実行する. v[1]>v[2]ならば,v[1]とv[2]の値を交換する. ■ i=3,j=2,1,0 を実行する. v[2]>v[3]ならば,v[2]とv[3]の値を交換する. j 1 8 9 10 12 比較 8 9 10 12 j 0 8 9 10 12 比較 8 9 10 12 i 0 1 2 3 8 9 10 12 整列済 j 2 8 9 10 12 比較 8 9 10 12 void sort(int v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); } v[2]>v[3]でなければ交換しない
15.
挿入ソートのアルゴリズム i 0 1 2
3 4 5 6 7 j 0 14 83 80 41 34 43 60 81 1 14 83 80 41 34 43 60 81 2 14 83 80 41 34 43 60 81 3 14 80 83 41 34 43 60 81 4 14 41 80 83 34 43 60 81 5 14 34 41 80 83 43 60 81 6 14 34 41 43 80 83 60 81 7 14 34 41 43 60 80 83 81 14 34 41 43 60 80 81 83 i 0 1 2 3 3 14 80 83 41 j 2 3 14 80 83 41 3 14 80 41 83 1 3 14 80 41 83 3 14 41 80 83 0 3 14 41 80 83 3 14 41 80 83 4 14 41 80 83 34
16.
2.13 Cプログラムの包括的な例 題解説(p.130)
17.
2.13 Cプログラムの包括的な例題解説(p.130) ■ sort手続き
■ swap手続き void sort(int v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); } void swap(int v[], int k) { int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; }
18.
swap.s ■ 他の関数(リーフ関数)は呼び出さない ? $raを保存する必要はない ■
レジスタ割当ての指示がない ? 退避?復元が不要な$t0~レジスタを使う void swap(int v[], k) { int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } add $a0,$s2,$zero add $a1,$s1,$zero jal swap … swap: sll $t0,$a1,2 # $t0= 4*$a1 add $t0,$a0,$t0 lw $t1,0($t0) lw $t2,4($t0) sw $t1,4($t0) sw $t2,0($t0) jr $ra
19.
2.13 Cプログラムの包括的な例題解説(p.132) ■ sort手続き
■ swap手続き void sort(int v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); } void swap(int v[], int k) { int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; }
20.
sort関数の構成 ■ sort手続き void sort(int
v[],int n) { int i,j; for( i=0; i<n; i+=1 ) for( j=i-1; j>=0 && v[j]>v[j+1]; j-=1) swap(v,j); } ■ レジスタ割当て ?引数 int v[0] : $a0 int n : $a1 ?変数? i : $s0 j : $s1 外側ループ 内側ループ 関数呼出し
21.
sortの外側ループ for( i=0; i<n;
i+=1) add $s0,$zero,$zero # i=0 for1tst:slt $t0,$s0,$a1 # i < n beq $t0,$zero,exit1 # i >= n goto exit1 ?… addi $s0,$s0,1 j for1tst exit1: i=0; while(i<n) { ... i=i+1; }
22.
sortの内側ループ for( j=i-1; j>=0
&& v[j]>v[j+1]; j-=1) addi $s1,$s0,-1 # j=i-1 for2tst:slti $t0,$s1,0 # j < 0 goto exit2 bne $t0,$zero,exit2 # sll $t1,$s1,2 # $t1=4*j add $t2,$a0,$t1 # $t2=&v[j] lw $t3,0($t2) # $t3=v[j] lw $t4,4($t2) # $t4=v[j+1] slt $t0,$t4,$t3???# v[j+1] < V[j] goto exit2 beq $t0,$zero,exit2 # … addi $s1,$s1,-1 # j=j-1 j for2tst exit2: j=j-1; while(j>=0 && v[j]<v[j+1]) { ... j=j-1; }
23.
レジスタ退避とswap呼出し sort:addi $sp,$sp,-20 sw $ra,16($sp) sw
$s3,12($sp) sw $s2,8($sp) sw $s1,4($sp) sw $s0,0($sp) … lw $s0,0($sp) lw $s1,4($sp) lw $s2,8($sp) lw $s3,12($sp) lw $ra,16($sp) addi $sp,$sp,20 add $s2,$zero,$a0 # $s2=v[] add $s3,$zero,$a1 # $s3=n add $a0,$s2,$zero # $a0:v add $a1,$s1,$zero # $a1:k jal swap $a0と$a1は,sortの引数としても,swapの引 数としても使われる.これらの引数を区別する 必要があるので,sort関数内では,$a0と$a1 ではなくて,$s2と$s3を使うことにする. ?引数レジスタ $a0~$a3 の取り扱い
24.
sort関数 sort:addi $sp,$sp,-20 sw $ra,16($sp) sw
$s3,12($sp) sw $s2,8($sp) sw $s1,4($sp) sw $s0,0($sp) add $s2,$a0,$zero add $s3,$a1,$zero add $s0,$zero,$zero for1tst:slt $t0,$s0,$s3 beq $t0,$zero,exit1 addi $s1,$s0,-1 for2tst:slti $t0,$s1,$zero bne $t0,$zero,exit2 sll $t1,$s1,2 add $t2,$s2,$t1 lw $t3,0($t2) lw $t4,4($t2) slt $t0,$t4,$t3 beq $t0,$zero,exit2 add $a0,$zero,$s2 add $a1,$zero,$s1 jal swap addi $s1,$s1,-1 j for2tst exit2:addi $s0,$s0,1 j for1tst exit1:lw $s0,0($sp) lw $s1,4($sp) lw $s2,8($sp) lw $s3,12($sp) lw $ra,16($sp) addi $sp,$sp,20 jr $ra ?引数レジスタ $a0~$a3 の取り扱い
Download