ゲームでコンピューターの仕組みを学ぶ ~Human Resource Machine~
by
ShirayanagiRyuji
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
ゲームで コンピューターの仕組みを学ぶ ~ Human Resource Machine ~ 白栁隆司
Slide 2
Slide 2 text
自己紹介 エンジニアカウンセラー 白栁 隆司 Youtubeに平日ほぼ毎日動画投稿中! #ほぼ日ITエンジニアニュース @IT 自分戦略研究所 エンジニアライフにて「コレがワタシの生きる様」連載中(木曜日) 4つのことを、ITエンジニアに勧めてます 1. 傾聴によるコミュニケーション 2. メンタルヘルス(セルフケア) 3. セルフマネジメント 4. 日々の生活の中からエンジニアリングを学ぶ
Slide 3
Slide 3 text
はじめに この動画はMiraitoDesign社がYoutubeチャンネルで公開 している「現役エンジニアが最近話題のプログラミングの ゲームやってみた」シリーズの動画にインスパイアを受け て作成しました。 https://www.youtube.com/c/MiraitoDesignInc
Slide 4
Slide 4 text
知りたい、でもハードルが高い! CPUの仕組みやメモリの動きを知りたい人は多い これらを机上で教えるのは大変!!(経験談) ● 「メモリ空間」のイメージが難しい ● 「アセンブラ」?よくわからん! ● レジスタ?アーム?メモリと違うの?? etc...
Slide 5
Slide 5 text
実践で覚えればいいじゃない アセンブラ(CASLⅡ)Webシュミレーター https://www.chiba-fjb.ac.jp/fjb_labo/casl/index.html
Slide 6
Slide 6 text
実践で覚えればいいじゃない Paiza(C言語) ※C言語ならオンラインコーディング環境は沢山ある。 https://paiza.jp/
Slide 7
Slide 7 text
実践で覚えればいいじゃない アセンブラやC言語をやればいいけれど... やっぱりハードルが高い ● フルスペックなので機能が多い(全部入り) ● メモリ破壊ですぐ動かなくなる ● 低級言語過ぎて人間はわからん etc...
Slide 8
Slide 8 text
ゲームで覚えればいいじゃない Human Resource Machine ©Tomorrow Corporation ・STEAM ・WiiU ・iOS ・Android ・Nintendo Switch ※Swith版は解説付き
Slide 9
Slide 9 text
何故 Human Resoce Machine なのか? 1. 基本的なCPUとメモリの仕組みを再現 2. 限定された機能 3. 【一人称】の的確さ 4. いろんなハードで手軽に遊べる 5. 最終的にはアルゴリズムゲームになる
Slide 10
Slide 10 text
1. 基本的なCPUとメモリの仕組みを再現 ● 画面のそれぞれが、CPUやメモリに相当(次画面) ● 命令の少なさもCUP準拠(泣) ○ バリバリの低級言語仕様 ● メモリ領域やコードにラベルを書ける辺りが ちょっと高級言語!
Slide 11
Slide 11 text
1. 基本的なCPUとメモリの仕組みを再現 レジスタ 【標準入力】 【メモリー(アドレス)】 (外部・主記憶装置) 【演算装置(プロセッサー)】+【レジスター】 ※レジスタは内部の一時記憶領域 【標準出力】
Slide 12
Slide 12 text
【標準入力】 【標準出力】 【メモリー(アドレス)】 (外部・主記憶装置) 【使用可能命令】 (低級言語)
Slide 13
Slide 13 text
【実行メモリー(アドレス) 】 【メモリー(アドレス)】 (外部・主記憶装置) 【演算装置(プロセッサー)】 ※人が持ってる部分が【レジスター】 (アキュムレーターのみ)
Slide 14
Slide 14 text
2. 限定された機能 ● シンプル of シンプル ○ 必要なものは揃ってる ● 実行に必要なものが沢山 ○ 実行、ステップ実行、コード領域(3面) ラベル、アンドゥ、コピー&ペースト etc...
Slide 15
Slide 15 text
3. 【一人称】の的確さ ● 【人】が中心 ○ inbox : 人に入力 ○ outbox : 人から出力 ○ copyfrom : 人に指定メモリの情報を複写 ○ copyto : 人から指定メモリへ情報を複写
Slide 16
Slide 16 text
3. 【一人称】の的確さ ● 【CPU】が中心 ○ inbox : CPUに入力 ○ outbox : CPUから出力 ○ copyfrom : CPUに指定メモリの情報を複写 ○ copyto : CPUから指定メモリへ情報を複写
Slide 17
Slide 17 text
4. いろんなハードで遊べる ● PlayStation系、Xbox系以外のハードなら遊べる? (Wikipedia調べ) ● オススメはNintendoSwitch版 ○ 各問題の解説ペーパーが付いてくるらしい ● Steam版+ネットの攻略記事でいいかも?
Slide 18
Slide 18 text
5. 最終的にはアルゴリズムゲームになる ● 「アルゴリズムゲーム」だと感じられたら、 CPUとメモリの仕組みが理解できてると思っていい ● 加減乗除に総和、素因数分解等、基本的なアルゴリズ ムは課題として用意されている ● 最小ステップ、最短ステップというゲーム性
Slide 19
Slide 19 text
おまけ. 足りないと感じたところ ● 比較処理の中に同値比較がない ○ ゼロ比較、マイナス比較は現実的な実装 ● ビット演算系の実装がない ○ ビット演算やシフト演算がない ○ それを利用して解く課題がない為だろう
Slide 20
Slide 20 text
おまけ2. ゼロ比較とマイナス比較の仕組み ビット演算で、とてもシンプルに実装できる 前提:2進数での数字表現の仕組み 2の乗数の組み合わせと符号での管理
Slide 21
Slide 21 text
おまけ2. ゼロ比較とマイナス比較の仕組み ◇ ゼロ比較の仕組み この演算結果が「ゼロ」なら【真】とする
Slide 22
Slide 22 text
おまけ2. ゼロ比較とマイナス比較の仕組み ◇ マイナス比較の仕組み 符号だけを取りだして「0/1」の判断ができる
Slide 23
Slide 23 text
まとめ ● Human Resource Machine は良いゲーム ○ CPUとメモリの機能を程よく再現している ○ 理解の目安も立てやすい ● 続編?の7 Bilion Machine は機械操作的要素多 ○ マルチスレッドの考え方とも言えるか?
Slide 24
Slide 24 text
ご視聴ありがとうございました エンジニアカウンセラー 白栁隆司 CPUとメモリの仕組みは面白い!