まつたろうの歩み

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

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

私にとってはようやく(察しが良い人はさっとできたのでしょうが)、CPUとコンピュータができました。

やっと完成!嬉しい!

ここまでの道のりは遠かったです。基本的な回路構成は示してありますが、信号の流れがよくわかりません。この図で、信号の流れが確認できました。

信号の流れ、半導体の性質上やはり逆方向には流れません。

CPU abstraction これらの動作をさせなければなりません。

CPU abstraction

回路構成は下図のようになってます。

回路構成

この図にもとに、考えられる回路図を描きました。当然、何回も書き直しが必要です。まずはハードウェアシミュレータに読み込んでもらわないと、何も始められません。わからないところは、とりあえずtrueを入れたりして、読み込んでもらえるようにしました。A命令とC命令を分ける最上位ビット、MSBをどう使うか考えるところがスタートです。

C命令

なかなかうまくいきません。

検討中1

別の表示でも確認します。OutPutで見てみます。

検討中2

Compareってなんだろう?

問題の箇所発見

比較ファイルでは、27からインクリして28になっています。私のシステムではPCが1000を指しています。Jump命令が違うようです。

Jump命令

上の図は何回も見ました。何日たっても、理解ができませんでした。なぜ出力はzr/ngの2つなんだろう?しかし吹き出しには、計算できると書いてあります。頭をよじらせ考えました。ずーっと考えていると、フッと思いつきました。思いついたら、30分ほどでCPUが完成しました。

ここで行き詰まってあきらめそうになっている方に:著者の意向もありますので答を出すことはできませんが、おまじないをかけてあげましょう。あきらめず、頑張りましょう!

最後のコンピューターは難なくできました。

コンピューター完成。

ここまでで私のテーマであった「指し示すもの」ということが、ほぼ腑に落ちました。これから残りの章でも、興味がある内容が続きます。大学の同窓会も中止延期、このコロナ禍で飲み会も旅行も行けません。この本は安い買い物でした。当分の間、その隙間を埋めてくれそうです。

---------------------------------------

意見

共産主義社会主義は、人民皆平等という立場に立っていると考えます。そう考えると、戦争をするというのはあってはなりません。ロシアはすぐに戦争をやめるべきです。スターリン時代を想起させます。日本も過去、大きな過ちを犯しました。多くの人が亡くなり、苦しみました。国民はだれ一人として喜んだ人はいないと思います。そういう歴史を経て、今はなんとか平和を保っています。私は何にもできませんが、ウクライナに平和がきますように願っています。少ないけど、2千円だけ市役所の募金箱に入れました。

---------------------------------------

 

おまじない(マウスでなぞったらねがいがかなう)

ブラ カダブラ- 

CPU abstraction ドコカデミタゾ、ソウダALUノページ

ナンジャモンジャ ソワカ

<= [n]  デ、7ツノJumpメイレイヲヒョウゲンスル ?