Architect Note


しがないPHPerのブログ

ひとりNand2Tetris(5b) ーハードウェア編完遂!

Nand2Tetrisもくもくの続き。やっとComputerという回路が完成し、ハードウェアが完成になります。 次のアセンブラからは好きな言語を使って実装して良いとのことなので、専用の環境ともお別れですね。 コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方 CPUの実装メモ これまでの集大成とも言えるCPUという回路。この本で言うところの「Hack」という名前の機械語が直接動作するように作らなければいけません。 基本的に、本に大体..


ひとりNand2Tetris(5a) ーアドレスを盛大に勘違いしていた

Nand2Tetrisもくもくの続き。5章はついにコンピュータを作るのですが、まだ途中です。 コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方 Memory nand2tetris-memo/Memory.hdl at master ・ hirak/nand2tetris-memo 3章で作ったRAM16Kという16kBのチップと、新たに入出力を操作するためのメモリマップ領域を連結して、メモリが完成となります。 ただ、3章のRAM..


やり直しC言語:配列はファーストクラスではなかった

C言語を久しぶりに触ってやっと理解できたのが、配列は第一級オブジェクト(ファーストクラスオブジェクト) ではない 、ということです。 第一級オブジェクト - Wikipedia 第一級オブジェクト Wikipediaによると、第一級オブジェクトと呼ばれるものは以下の様な特徴を持つそうな。 無名のリテラルとして表現可能である。 変数に格納可能である。 データ構造に格納可能である。 それ自体が独自に存在できる(名前とは独立している)。 他のものとの等値性の..


ひとりNand2Tetris(4) ーしたしむアセンブリ言語

Nand2Tetrisもくもく昨日の続き。3章まででALUやRAMが揃ったので、一気にコンピュータを組み上げたいところですが、一旦作業は中断して、完成形のサンプルを見ていきます。 コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方 そもそもどんなものを作りたいのか、イメージしないとダメですよね。 用語のメモ 機械語 ハードウェアが直接解釈できる言葉。どのピンに1/0を送るか、をまとめたもの。 機械語はハードウェアが解釈してくれるも..


やり直しC言語:複雑な宣言の読み方

C言語は宣言文が非常に読みにくいことで有名で、後発のGo言語はこれを批判して宣言の構文を変えています。私もずっと読むのが苦手だったのですが、私の頭が悪いのではなく、C言語の仕様がヘン、ということらしい。 今まで飽きるほどこの手の解説は書かれてきてるわけですが、自分なりにまとめないと覚えた気がしないので、あえてまとめておきます。ここに書いてある内容は、「C言語ポインタ完全制覇」に詳しく書いてあります。 型の派生 C言語では、int, char, floatなどの基本型..