引き続き、Noam Nisan、Shimon Schocken(2015)『コンピューターシステムの理論と実装』O'REILLYの第1章について。
ハードウェア記述言語(HDL: Hardware Description Language)を体験する。環境は Mac ( OS X)。 ハードウェアシミュレーターは以下よりダウンロード。 zipがダウンロードされるので解凍。
解凍したファイル群の構造は以下。
nand2tetris
├── projects
│ ├── 00
│ ├── 01
│ ├── 02
│ ├── 03
│ ├── 04
│ ├── 05
│ ├── 06
│ ├── 07
│ ├── 08
│ ├── 09
│ ├── 10
│ ├── 11
│ ├── 12
│ ├── 13
│ └── demo
└── tools
├── Assembler. bat
├── Assembler
├── CPUEmulator. bat
├── CPUEmulator
├── HardwareSimulator. bat
├── HardwareSimulator
├── JackCompiler. 『コンピュータシステムの理論と実装』を読んだ - 30歳からのプログラミング. bat
├── JackCompiler
├── OS
├── TextComparer. bat
├── TextComparer
├── VMEmulator. bat
├── VMEmulator
├── bin
├── builtInChips
└── builtInVMCode
ハードウェアシミュレーターを実行するにはを実行。 Hardware Simulator 解凍したファイルの中に、AND, OR, NOT等各回路のHDLが存在する。試しにNAND回路をロードして挙動を確認する。
"File" > "Load Chip"から/... /nand2tetris/builtInChips/Nand. hdlを選択し、"Load Chip"を選択。 左下のHDLボックスからHDLのコードが確認できる。入力としてa, bの変数、出力としてoutが定義されている。
BUILTIN回路としてNandを実行するように定義されている。BUILTINで定義されている箇所は、builtInChips ディレクト リから Java のクラス(今回の場合は)をロードする仕組みになっている。 定義した各変数の入力は"Input pins"ボックスから変更できる。
入力ピンの値を変更後に出力を確認するには、左上">"のアイコンを選択するか、"Run" > "Single Step"を選択する。
(Single Stepとは別に">>"のアイコン又は"Run" > "Run"を実行できる。Single StepはHDLを1度のみ実行するのに対しRunはHDLを繰り返し実行する)
第1章の課題は、Nand回路を最小構成としてAnd, Not, Or, Xor, マルチプレクサを構成する。
HDLファイル作成時、<ファイル名>.
『コンピュータシステムの理論と実装』を読んだ - 30歳からのプログラミング
『 O'Reilly Japan - コンピュータシステムの理論と実装 』
コンピュータを理解するための最善の方法はゼロからコンピュータを作ることです。
コンピュータの構成要素は、ハードウェア、ソフトウェア、コンパイラ、OSに大別できます。
本書では、これらコンピュータの構成要素をひとつずつ組み立てます。
具体的には、NANDという電子素子からスタートし、論理ゲート、加算器、CPUを設計します。
そして、オペレーティングシステム、コンパイラ、バーチャルマシンなどを実装しコンピュータを完成させて、最後にその上でアプリケーション(テトリスなど)を動作させます。
実行環境はJava(Mac、Windows、Linuxで動作)。
About this repository
上記書籍の各章の演習問題を回答して上げていきます。
各章ごとに、気づいたことやつまづいた部分などのメモをに書き記しておきます。
1 概要
4. 2 A命令
4. 3 C命令
4. 4 シンボル
4. 5 入出力操作
4. 6 シンタックスとファイルフォーマット
4. 3 展望
4. 4 プロジェクト
5章 コンピュータアーキテクチャ
5. 1 背景
5. 1 プログラム内蔵方式
5. 2 ノイマン型アーキテクチャ
5. 3 メモリ
5. 4 CPU
5. 5 レジスタ
5. 6 入出力
5. 2 Hackハードウェアのプラットフォーム仕様
5. 1 概観
5. 2 CPU
5. 3 命令メモリ
5. 4 データメモリ
5. 5 コンピュータ
5. 3 実装
5. 3. 1 CPU
5. 2 メモリ
5. 3 コンピュータ
5. 4 展望
5. 5 プロジェクト
6章 アセンブラ
6. 1 背景
6. 2 Hackアセンブリからバイナリへの変換の仕様
6. 1 構文規約とファイルフォーマット
6. 2 命令
6. 3 シンボル
6. 4 例
6. 3 実装
6. 1 Parserモジュール
6. 2 Codeモジュール
6. 3 シンボルを含まないプログラムのためのアセンブラ
6. 4 SymbolTableモジュール
6. 5 シンボルを含むプログラムのためのアセンブラ
6. 4 展望
6. 5 プロジェクト
7章 バーチャルマシン#1:スタック操作
7. 1 背景
7. 1 バーチャルマシンの理論的枠組み
7. 2 スタックマシン
7. 2 VM仕様(第1部)
7. 1 概要
7. 2 算術と論理コマンド
7. 3 メモリアクセスコマンド
7. 4 プログラムフローと関数呼び出しコマンド
7. 5 Jack-VM-Hackプラットフォームにおけるプログラム要素
7. 6 VMプログラムの例
7. 3 実装
7. 1 Hackプラットフォームの標準VMマッピング(第1部)
7. 2 VM実装の設計案
7. 3 プログラムの構造
7. 4 展望
7. 5 プロジェクト
7. 5. 1 実装についての提案
7. 2 テストプログラム
7. 3 助言
7. 4 ツール
8章 バーチャルマシン#2:プログラム制御
8. 1 背景
8. 1 プログラムフロー
8. 2 サブルーチン呼び出し
8. 2 VM仕様(第2部)
8. 1 プログラムフローコマンド
8. 2 関数呼び出しコマンド
8. 3 関数呼び出しプロトコル
8.
!箱をトントンたたいて相撲とり♪ どっちが倒れないで立っていられるかな? 小さなス
98
153
ウィーン…ガシャ!動く空き箱ロボ〜廃材で楽しむ本格製作遊び〜
飲み終わったジュースや牛乳パックがロボットに変身! ?ぼく…ただのロボットじゃなくて、本物みたいに腕が動く
16
41
アレンジいろいろひも通し〜指先を使って楽しむ手作りおもちゃ〜
身近な材料で作る、ついつい夢中になっちゃうひも通し。あっちに通して、こっちに通して…次はどの穴に通そうか
84
106
123
私だけのオリジナル宝箱〜楽しさ詰まった製作遊び〜
金貨がいっぱい入ったまま、海底に沈んでそうな宝箱…! 箱や段ボールさえあれば作れちゃうのが嬉しい! 中に
43
21
ダンボールde手作り箱〜世界に一つ!自分だけの箱作り〜
ダンボールを自分だけの箱にリメイクしちゃおう!形や大きさはもちろん、デザインだって自由自在!ふたを作れば
19
17
3
ニョロニョロ動くちんあなご〜ちょっとシュール! お菓子の空き箱で工作♪簡単だけど幼稚園の女の子が喜ぶものの作り方!|ココシレル. ?な手作りおもちゃ〜
水族館の人気者!砂の中が大好きなちんあなご。ニョロニョロくねくね顔を出したり引っ込めたり…作った後も楽し
13
31
ポストで郵便屋さんごっこ〜廃材で作る手作りおもちゃ〜
ティッシュ箱を使って作る、郵便ポスト。アレンジや楽しみ方いろいろ!年賀状のやりとりで手紙興味をもった時期
94
お月さまこんばんは☆〜仕掛けが楽しい!手作りおもちゃ〜
空き箱と画用紙を使った、お月さまのアイディアおもちゃ。まんまるだったお月様が…だんだん欠けて三日月に!月
48
45
なんちゃってレジ〜廃材で楽しむ製作遊び〜
ティッシュの空箱を使って、お店屋さんにあるレジがお家でも楽しめる!なりたいお店のイメージに合わせて、ボタ
72
87
159
捨てるなんてもったいない!廃材を使って楽しめる製作遊び12選
身近な廃材が、作って楽しい遊んで楽しいおもちゃに大変身!廃材を使った製作遊びの記事の中から、オススメのア
147
空き箱ギター〜見た目も本格的な手作り楽器〜
ジャジャジャーン♪廃材の空き箱がなんとギターに大変身! 自分だけのギターを弾きながら気分はすっかりミュー
38
95
さかなつりやさん〜アレンジいろいろ手作りおもちゃ〜
廃材など、身近にあるものを使って楽しむ手作りおもちゃ。さかなつりごっこもできるし、海の世界やすいぞくかん
30
28
47
お菓子の空き箱で工作♪簡単だけど幼稚園の女の子が喜ぶものの作り方!|ココシレル
お菓子を食べ終わるとすぐに捨ててしまう空き箱。
これを使った工作がわが家の子供達は大好きなので、色々とっておきます。
簡単に作れるお家や船などを作って楽しめるのでオススメ。
空き箱でどんな物を作りたいか考えます。
はじめは家を作るのが簡単。四角に三角屋根、窓をつければOK。
箱の一部分をカットして屋根にし、窓は切り込みを入れて開くだけです。
今回は船を作りましたが、こちらも簡単に作れました。
パッケージのイラストのどの部分を使いたいか考えてから切ると良さそうです
お菓子などの空き箱デザインを生かした「パッケージクラフト」 :教えて君.Net | 空き箱, 工作 子供, 手作りおもちゃ
続きを見る 手作り♡起き上がりくまモンの作り方! 2016. 21 立ち上がれ!くまモン(^o^)/の起き上がり小法師単純だけど癒される!ぜひお子様と作って下さい起き上がり小法師☆福島会津地方に古くから伝わる縁起物、郷土玩具の1つ(ウィキペディアより) 続きを見る
キャー助けて〜?と言ってるのか?快適なのか?それは、中の子たちに聞いてみなければ(笑)
チープだけど、チョット楽しい〜
色んな色の色んな顔のモンスターを作って並べてみても可愛いと思います。
ハロウィンその他は↓
ペーパーマッシュで作るハロウィンランタン大集合☆ 2016. 09. 12 ペーパーマッシュ(半紙と風船)+粘土でオバケ、ミイラさん、ジャックオランタンいっぱい出来ました!小さな水風船て作れば紙を貼るのもあっという間に出来ます!ぜひお子様と一緒に作って楽しんで下さいね〜〜! 続きを見る セリアのつけまつ毛をリメイク!ハロウィンランタン! 2016. 11 ハロウィンシルエットがとにかく素敵な紙で出来たつけまつ毛!これをまつ毛に付ける自信はないけどランタンなら出来る〜!モノトーンでシックなお城のようにも見えるミニランタンが完成しました(*^o^*) 続きを見る 焼かないプラ板!窓のあるメッセージカードの作り方! 2016. 08. 16 少しだけ残ったプラ板やプラ板を焼くのが面倒(^^;;という方に!こんな使い方は如何でしょうか? お菓子の空き箱で簡単工作 - 暮らしニスタ. 続きを見る マスキングテープでハンドメイド!テトラパック5種! 2016. 13 マスキングテープと茶封筒、いらない封筒や色画用紙で作れるテトラ型パックです!突然のお客様でも可愛くおもてなし♡季節のテトラパックはディスプレイにもいかがですか? 続きを見る
仲間が増えたので、追加しました! ネコモンスターの耳は木のスプーン(100均にも売ってます)の持ち手を切り、本体の上に2箇所穴を開けて、ボンドを付けて差し込む
小さな強力マグネットを和紙(以前セリアで買ったラッピング用?の厚めの和紙ピンクを使用しました)で挟んで、本体内側にはマグネットシートを貼りました(^-^)/
ベロがバッグの留め金代わりになり機能性UP
(^-^)/
作っている途中で思いつき(^^;;ネコとハロウィンはあっかんべ〜をしてるように目にマジックで追加しました(^-^)/
ペットボトルキャップに、丸シールを貼ってお好みで文字などを描き、キャップの側面に目打ちで穴を開けて、アルミワイヤーを通しました。
本体にペットボトルキャップより一回り大きめに切ったフェルトを貼ってから多目的ボンドでフェルトとアルミワイヤーを付けたペットボトルキャップを両サイドに付けたら完成です♪♪♪
ノリノリ〜♪(´ε`)♪(´ε`)
ボディにはセリアのシールを貼りました!
お菓子の空き箱で簡単工作 - 暮らしニスタ
ぜひ、色んな封筒を作ってみてください。 スポンサーリンク あなたにおすすめの工作記事 スポンサーリンク
Cet article n'est pas disponible | Etsy Trouvez le cadeau fait main parfait, des vêtements vintage et tendance, des bijoux uniques et plus encore... bien plus. お菓子などの空き箱デザインを生かした「パッケージクラフト」 :教えて君.net | 空き箱, 工作 子供, 手作りおもちゃ. 牛乳パックでミニカーの駐車場 | あんふぁんWeb だいぶ前(6月…)に 「ママ充ブログで紹介していただきました」 という記事を書いたのですが、 そこに... 節分工作-オニの的あてゲーム | ゆずねこ堂のぶろぐ 節分工作の紹介です。豆まきって、お父さんだったり誰かが鬼のお面をかぶって豆を当てられると思うんですが…。オニ役って、なんだか可愛そうかなと思います。そして、ちっちゃい子は泣くんですよね。これが可愛いからつい、「がぉ〜」とか言ってしまうのです Fingerprint Flowers And Paper Butterfly Easy spring arts and crafts idea for kids. Fun idea to talk about concepts like pollination with preschool and kindergarten kids. 【クラフト】これは面白い!パッケージクラフトの世界 - NAVER まとめ パッケージクラフトがすごいので、画像を中心にまとめてみました。 画像: まるで妖精の仕業?こんなものがドールハウスに…画像集 - NAVER まとめ こちらはバイオリンの中のドールハウス。 妖精さんがせっせとお家作りをしているシーンを 思わず想像してしまいますね。 【アプリ投稿】オシャレ屋さん | 保育や子育てが広がる"遊び"と"学び"のプラットフォーム[ほいくる] オシャレ屋さん 変身するトレイン(へんしんするとれいん)|牛乳パックで作ろう 楽しい工作|雪印メグミルク株式会社 牛乳パックをリサイクルして、変身するトレインを作ってみよう!子供のおもちゃや、夏休みの自由研究に最適。小学生を対象とした簡単なものから、大人も楽しめる難しい作品まで、93種類以上の工作の作り方を紹介しています。 お菓子などの空き箱デザインを生かした「パッケージクラフト」 | 教えて君 お菓子などの空き箱デザインを生かした「パッケージクラフト」:教えて君 福笑いみたいなおもちゃ。パーツを作って、ハトメや画鋲で留めるだけ!