まつたろうの歩み

PythonやCの勉強中に「指し示す」いう表現がありました。それを知りたくて今はコンピュータシステムを勉強しています。

2022-01-01から1年間の記事一覧

コンピュータシステムの理論と実装。第7章 Stack 操作ができません。

SimpleAdd ができたので、次の Stack 操作のプログラム作成に取りかかりました。どうすれば良いか考えながら、試行錯誤が続きます。 きちんと表示されません。 あきらめないで Pyhton の復習をやりながら、あれこれ試してみます。ちょっと進み、値が取り出せ…

コンピュータシステムの理論と実装。第7章 SimpleAdd ができました。

第7章は、バーチャルマシンとHackコンピュータをつなぐトランスレーターの作成が課題です。バックエンドとか呼ばれるようです。具体的には、○○○.vm 疑似コードを機械語の ○○○.asm ファイルに変換する内容です。前章のアセンブラーは抽象構文木などは使わず…

「独学プログラマーこそコンピューターサイエンスを学ぼう」コーリー・アルソフ 氏の講演がありました。

events.nikkeibp.co.jp 日経クロステック EXPO 2022 が開催されています。現代の進んだ技術の経済やIT技術など、いろんな情報を学べます。私は無料会員ですが、登録していろんなセミナーを受講しました。また、毎週メールで数十件の記事が紹介されます。知…

コンピュータシステムの理論と実装。第6章アセンブラー 完全版が完成しました!

前回、第6章のアセンブラー が完成したことはお伝えしました。実は、前回のプログラムでは、C命令を事前定義の辞書に入れてそれを読み込んで使ってました。C命令は「M=D」などの表現でかかれています。それを下の画像のように、2進数16ビットに翻訳して…

電子辞書 BRAIN が Linux コンピュータになりました。(箸休め)

「中古電子辞書がパソコンに変身!Debianベースの独自Linuxを動かす」 Part6 難易度:高 シャープの電子辞書「Brain」 末田 卓巳 この記事URL:https://xtech.nikkei.com/atcl/nxt/column/18/02170/083100006/ このページに掲載されている記事・写真・図表な…

コンピュータシステムの理論と実装。第6章アセンブラー 完成しました!

高レベルなプロジェクトだったので、途中で投げ出すかもしれないと思って始めました。途中で投げ出しても、何年か後に取り組めるからと気楽な気持ちでいました。これまで報告しているように大変な取り組みでした。先日、Lタイプのアセンブラーが完成したこと…

コンピュータシステムの理論と実装。第6章アセンブラー Lタイプがやっとできました。

4ヶ月かかって、やっと L タイプの asmファイルを hack ファイルにアセンブリするプログラムができました。初学者の私はパイソンの入門書の勉強程度で、まとまったプログラムを考えて書いたりしたことはありませんでした。遠い道のりでした。その歩みを振り…

今日は、広島原爆の日でした。

黙祷をしながら、核兵器やすべての兵器が無くなるように、平和な世界になるように願いました。 今日も暑い日でした。水を求めた人たちの声が、聞こえたような気がしました。早期退職してから、平和行進や集会に参加することがほとんどなくなりました。せめて…

コンピュータシステムの理論と実装。第6章アセンブラー作成、試行錯誤しています。

ハンドアセンブラができてから、すでに2ヶ月近くたちました。2万行くらいあるプログラムも、ハンドアセンブラでとうの昔に完成していると思います。前回紹介した、「パイソンで最初から簡単なインタープリター」の記事を一生懸命取り組みました。 jayconrod…

コンピュータシステムの理論と実装。第6章アセンブラー作成のため、研究中。

アセンブラーの作成、なかなか進みません。この一月あまりの歩みです。英語の勉強が中心になりました。Pythonのチュートリアルを学習し、次に標準ライブラリを調べました。 Python標準ライブラリ 言語リファレンスも読みました。 Python言語リファレンス 正…

コンピュータシステムの理論と実装。第6章アセンブラープログラムできません。挫折しそうです・・・。

「まつたろうのブログ」のタイトル名は他の方も使っていたので、「まつたろうの歩み」に変えました。 前回お伝えした第6章です。Pythonで機械語に翻訳するアセンブラーを作ろうと思ってとりかかりましたが、悪戦苦闘中です。アセンブラー作りを飛び越して、…

コンピュータシステムの理論と実装。第6章プロジェクトを手作業で機械語に直しました。

ここまできたら、コンピューターは0と1で動いてる。いや、0と1でいろんなことができるんだ!ということが実感できました。これまで作ってきたものは、著者がHackコンピューターと名付けています。それは16ビットコンピュータです。Hackアセンブリでは、1…

コンピュータシステムの理論と実装。第5章のCPU,Computerができました。

私にとってはようやく(察しが良い人はさっとできたのでしょうが)、CPUとコンピュータができました。 やっと完成!嬉しい! ここまでの道のりは遠かったです。基本的な回路構成は示してありますが、信号の流れがよくわかりません。この図で、信号の流れ…

コンピュータシステムの理論と実装。第5章のうち Memory ができました。

コンピュータシステムの理論と実装。 次のプロジェクトのCPUに入りましたが、時間がかかりそうなので忘れないうちにMemoryをまとめておきます。Memory作成で考えるポイントは、addressの幅のちがいです。そこにMuxやDMuxを入れて、ビット数を揃える必要があ…

コンピュータシステムの理論と実装。第4章機械語が終わりました。

HACKコンピュータの機械語(アセンブリ)は独特です。CASL2とは表現の仕方が、かなり違います。できるのか心配していましたが、どうにか終わりました。今回もグーグル翻訳に助けて頂きました。 翻訳中 本誌の他に重要な資料はレクチャーのPDF資料です。153ペ…

コンピュータシステムの理論と実装。プロジェクト03-bが終わりました。

前回までにRAM64をつくっていたので、今回の課題は簡単にできました。これらは全て同じAPIで構成されていると何度も書いてあったので、同じように作れば良いと考えRAM64と同じようにつくりました。Mux16とAndをいつものように使いました。RAM512をハ…

コンピュータシステムの理論と実装。プロジェクト03-aが終わりました。

第2章が終わり、2週間あまりかけプロジェクト03-aが終わりました。今回も本を読んで、自分なりに考えてはやってみての試行錯誤の繰り返しでした。 コンピュータシステムの理論と実装 リソースはプロジェクトにあります。それぞれにリンクが貼ってありました…

コンピュータシステムの理論と実装、ようやく第2章が終わりました。

「コンピュータシステムの理論と実装」約3ヶ月かけ、ようやく第2章が終わりました。下の写真がオライリー社から出版されている本です。 コンピュータシステムの理論と実装 メモ: 人間は期待どおりにはほとんど動かない。コンピュータも期待通り動かないこ…

ラズパイデスクトップをUbuntu20.04に変えてみました

この記事も2年ほど前のものですが、少し編集しました。 ラズパイデスクトップがLinux PC 「 Ubuntu 20.04 」に生まれ変わりました。 Linuxのコマンドをたくさん学びました。 下の写真が、Linux PC Ubuntu 20.04です。普通のパソコンです。ワープロ・表計算・…

古いVAIO-PCがラズベリーパイに変わった

これも2年前の古い記事です。この後Ubuntu20.04にも変えましたが、非力な10年以上前のVAIOでは重くて使い勝手が悪くラズパイに戻しました。Ubuntuのことは後で発信します。 古いパソコンがラズパイPCになりました。 古いウインドウズVISTAがラズパイデスクト…

CPUはこうやって動いている2

前に続き、昨年の7月の記事を紹介します。回路図どおりに作っただけで、全然覚えていません。自営業をしているのでレンタルサーバーを借りて、自分のWebサイトを運営していました。もう廃業するのでレンタルサーバーはやめて、はてなブログにのりかえました…

CPUはこうやって動いている1

前にトランジスタ技術のことを書きましたが、昨年私のサイトでアップしていた記事があります。それを、今回紹介します。昨年の6月の記事です。 全加算器をつくりました。 トランジスタ技術2020年8月号は、私が追い求めていた本でした。執筆していただいた別…