SlideShare a Scribd company logo
1 of 14
コンピュータの構成と設計 第 3 版 第 2 章 勉強会資料 futada Twitter: futada
目次 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.1  はじめに  (p.44-45) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.2  コンピュータ・ハードウェアの演算 (p. 45-46) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],add a, b, c オペランド ( 演算の対象となる値や変数 )
2.2  コンピュータ・ハードウェアの演算 例題: C の複雑な代入分の MIPS へのコンパイル (p. 46) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],add t0, g, h add t1, i, j sub f, t0, t1 解
2.3  コンピュータ・ハードウェアのオペランド (p. 47-48) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2.3  コンピュータ・ハードウェアのオペランド 例題:レジスタを利用した C の代入分のコンパイル (p. 48) ,[object Object],[object Object],[object Object],add $t0, $s1, $s2  # g+h add $t1, $s3, $s4  # i+j sub $s0, $t0, $t1 解
2.3  コンピュータ・ハードウェアのオペランド メモリのオペランド (p. 49) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],アドレス 0 : 1 アドレス 1 : 101 アドレス 2 : 10 レジスタ 0 プロセッサ メモリ
2.3  コンピュータ・ハードウェアのオペランド メモリのオペランド (p. 50-51) ,[object Object],[object Object],[object Object],[object Object],1 101 10 メモリ 100 0 4 8 12 データ ( ワード単位 ) アドレス … …
2.3  コンピュータ・ハードウェアのオペランド 例題:ロードとストアが使用されているコードのコンパイル (p. 51) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],lw  $t0, 32($s3)  #  レジスタ $t0 にメモリから転送する #  オペランドの 2 つめはメモリのアドレス #  アドレスは $3( ベース )+ 定数 32( オフセット ) # 32 はワード単位 (4 バイト )*8 個目の要素だから add $t0, $s2, $t0  # h を足す sw  $t0, 48($s3)  #  レジスタ $t0 の値をメモリに転送する 解
参考: IA-32 の add   ,[object Object],[object Object],[object Object],[object Object],[object Object],add  レジスタ 1,  レジスタ 2  #  レジスタ 1 +=  レジスタ 2 add  実効 アドレス ,  レジスタ  #  実行アドレスの所の値  += レジスタ add  レジスタ ,  実効アドレス  #  レジスタ  += 実効アドレスの所の値 他にもパターンがあるが省略
参考: IA-32 の alignment ,[object Object],アライメントの合っていないデータアクセスを行うと、パフォーマンスが大幅に低下する恐れがある。これは特にキャッシュラインの分割に当てはまる。 ( 中略 ) 64  バイト境界にアライメントが合っていないデータにアクセスすると、メモリーアクセスが 2  回発生し、複数のマイクロオペレーション( μOP )を実行しなければならなくなる。 最適なパフォーマンスを得るには、以下のようにデータをアライメントする。 •  8  ビット・データは、任意のアドレスにアライメントを合わせる。 ( 中略 ) •  32  ビット・データは、ベースアドレスが 4  の倍数になるようにアライメントする
2.3  コンピュータ・ハードウェアのオペランド 定数または即値のオペランド (p. 52-53) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],addi $s3, $3, 4  # $3 = $3 + 4
2.4 コンピュータ内での命令の表現 (p. 54-55) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],add $t0, $s1, $s2 0 17 18 8 0 32 6 ビット op 5 ビット rs 5 ビット rt 5 ビット rd 5 ビット shamt 6 ビット funct アセンブリ言語  機械語

More Related Content

Viewers also liked

医療情報学1(標準化と診療)20120120 b
医療情報学1(標準化と診療)20120120 b医療情報学1(標準化と診療)20120120 b
医療情報学1(標準化と診療)20120120 b
Shinya Oku
 
osoljp201105_ZFSjiman_nslope
osoljp201105_ZFSjiman_nslopeosoljp201105_ZFSjiman_nslope
osoljp201105_ZFSjiman_nslope
Noriyasu Sakaue
 
第2回 Jenkins勉強会 LT 藤川
第2回 Jenkins勉強会 LT 藤川第2回 Jenkins勉強会 LT 藤川
第2回 Jenkins勉強会 LT 藤川
Koichi Fujikawa
 
Croozにおけるjenkins活用事例20130618
Croozにおけるjenkins活用事例20130618Croozにおけるjenkins活用事例20130618
Croozにおけるjenkins活用事例20130618
Katsuya Ohnishi
 
ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争
goccy
 

Viewers also liked (20)

Icf inputterfor slideshare141224
Icf inputterfor slideshare141224Icf inputterfor slideshare141224
Icf inputterfor slideshare141224
 
医療情報学1(標準化と診療)20120120 b
医療情報学1(標準化と診療)20120120 b医療情報学1(標準化と診療)20120120 b
医療情報学1(標準化と診療)20120120 b
 
電子カルテデータの二次利用
電子カルテデータの二次利用電子カルテデータの二次利用
電子カルテデータの二次利用
 
Laura Milena Ordoñez Chávez
Laura Milena Ordoñez ChávezLaura Milena Ordoñez Chávez
Laura Milena Ordoñez Chávez
 
2016年度秋学期 画像情報処理 第12回 画像フィルタとフィルタ定理 (2016. 12. 22)
2016年度秋学期 画像情報処理 第12回 画像フィルタとフィルタ定理 (2016. 12. 22)2016年度秋学期 画像情報処理 第12回 画像フィルタとフィルタ定理 (2016. 12. 22)
2016年度秋学期 画像情報処理 第12回 画像フィルタとフィルタ定理 (2016. 12. 22)
 
osoljp201105_ZFSjiman_nslope
osoljp201105_ZFSjiman_nslopeosoljp201105_ZFSjiman_nslope
osoljp201105_ZFSjiman_nslope
 
第2回 Jenkins勉強会 LT 藤川
第2回 Jenkins勉強会 LT 藤川第2回 Jenkins勉強会 LT 藤川
第2回 Jenkins勉強会 LT 藤川
 
プログラマとデザイナで時計を作るVisual studioハッカソン ~ TDDの考え方を開発全体に応用してみよう!
プログラマとデザイナで時計を作るVisual studioハッカソン ~ TDDの考え方を開発全体に応用してみよう!プログラマとデザイナで時計を作るVisual studioハッカソン ~ TDDの考え方を開発全体に応用してみよう!
プログラマとデザイナで時計を作るVisual studioハッカソン ~ TDDの考え方を開発全体に応用してみよう!
 
JenkinsとjMeterで負荷テストの自動化
JenkinsとjMeterで負荷テストの自動化JenkinsとjMeterで負荷テストの自動化
JenkinsとjMeterで負荷テストの自動化
 
仕事を遊びにする自動化とガラクタプロダクト
仕事を遊びにする自動化とガラクタプロダクト仕事を遊びにする自動化とガラクタプロダクト
仕事を遊びにする自動化とガラクタプロダクト
 
【セプテーニHD】2016年9月期 第1四半期決算説明会資料
【セプテーニHD】2016年9月期 第1四半期決算説明会資料【セプテーニHD】2016年9月期 第1四半期決算説明会資料
【セプテーニHD】2016年9月期 第1四半期決算説明会資料
 
Tdtechtalk20160425myui
Tdtechtalk20160425myuiTdtechtalk20160425myui
Tdtechtalk20160425myui
 
capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活を
 
Croozにおけるjenkins活用事例20130618
Croozにおけるjenkins活用事例20130618Croozにおけるjenkins活用事例20130618
Croozにおけるjenkins活用事例20130618
 
ドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkins
 
自分よりも技術力の高い会社に入社して感じたこと
自分よりも技術力の高い会社に入社して感じたこと自分よりも技術力の高い会社に入社して感じたこと
自分よりも技術力の高い会社に入社して感じたこと
 
Jenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいますJenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいます
 
Jenkinsで始める継続的デリバリーと実践の道程
Jenkinsで始める継続的デリバリーと実践の道程Jenkinsで始める継続的デリバリーと実践の道程
Jenkinsで始める継続的デリバリーと実践の道程
 
ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争
 
20120720自動車技術会
20120720自動車技術会20120720自動車技術会
20120720自動車技術会
 

Similar to コンピュータの構成と設計 第3版 第2章 勉強会資料

30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
Hirotaka Kawata
 
Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版
Takuya Matsunaga
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
Hirotaka Kawata
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
Shintaro Fukushima
 
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
Takuya Matsunaga
 
Linux Kernel Seminar in tripodworks
Linux Kernel Seminar in tripodworksLinux Kernel Seminar in tripodworks
Linux Kernel Seminar in tripodworks
tripodworks
 
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
YoheiOkuyama
 
kagami_comput2015_6
kagami_comput2015_6kagami_comput2015_6
kagami_comput2015_6
swkagami
 
産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会
Hirotaka Kawata
 
CAP Custom Handlers をクリーンにしよう
CAP Custom Handlers をクリーンにしようCAP Custom Handlers をクリーンにしよう
CAP Custom Handlers をクリーンにしよう
ksugi
 

Similar to コンピュータの構成と設計 第3版 第2章 勉強会資料 (20)

30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
 
Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
 
Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)
 
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
 
高位合成におけるC++テンプレートメタプログラミングの効果
高位合成におけるC++テンプレートメタプログラミングの効果高位合成におけるC++テンプレートメタプログラミングの効果
高位合成におけるC++テンプレートメタプログラミングの効果
 
20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_public20171212 titech lecture_ishizaki_public
20171212 titech lecture_ishizaki_public
 
C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)C++0xの概要(デブサミ2010)
C++0xの概要(デブサミ2010)
 
Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)Rにおける大規模データ解析(第10回TokyoWebMining)
Rにおける大規模データ解析(第10回TokyoWebMining)
 
20221226_TITECH_lecture_ishizaki_public.pdf
20221226_TITECH_lecture_ishizaki_public.pdf20221226_TITECH_lecture_ishizaki_public.pdf
20221226_TITECH_lecture_ishizaki_public.pdf
 
JAWS DAYS 2019
JAWS DAYS 2019JAWS DAYS 2019
JAWS DAYS 2019
 
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
 
さわってみようTOPPERS/SSP
さわってみようTOPPERS/SSPさわってみようTOPPERS/SSP
さわってみようTOPPERS/SSP
 
Linux Kernel Seminar in tripodworks
Linux Kernel Seminar in tripodworksLinux Kernel Seminar in tripodworks
Linux Kernel Seminar in tripodworks
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
 
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
 
kagami_comput2015_6
kagami_comput2015_6kagami_comput2015_6
kagami_comput2015_6
 
産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会産学間連携推進室(AC部屋) 2012 成果報告会
産学間連携推進室(AC部屋) 2012 成果報告会
 
CAP Custom Handlers をクリーンにしよう
CAP Custom Handlers をクリーンにしようCAP Custom Handlers をクリーンにしよう
CAP Custom Handlers をクリーンにしよう
 
Dell emc highperformancevirtualinfracommunitymeetup_20180621publish
Dell emc highperformancevirtualinfracommunitymeetup_20180621publishDell emc highperformancevirtualinfracommunitymeetup_20180621publish
Dell emc highperformancevirtualinfracommunitymeetup_20180621publish
 

コンピュータの構成と設計 第3版 第2章 勉強会資料