0


0

私は、コンパイラー、プロセッサー、およびメモリーが私のプログラムでどのように機能するのかについて、逆方向に進みたいと思います。 私はこれがすべて依存している物理学にも興味を持っています。 良い参考文献や本があれば幸いです…​

12 Answer


4


コンパイラに関しては、最終的な本は Dragon Book、別名Principles of Compiler Designです。 最初はやや大変ですが、パスを実行するたびに簡単になります。 それは古典的であり、プログラミング/コンピュータサイエンスのすべての真剣な学生によって読まれるべきです。


3


私が最初に提案したのはhttps://rads.stackoverflow.com/amzn/click/ com / 0735611319 [Code]です。 プロセッサの話題に関するより良い、しかしもっと難しい本はhttps://rads.stackoverflow.com/amzn/click/com / 123744938 [コンピューターの構成] あなたはアマゾンかHalf.comでより古い版を探すかもし​​れません。 それらはずっと安くなり、基本的に同じ情報を持ちます。

これらは両方とも、プロセッサの動作原理、アセンブリ言語などの基本をあなたに教えるでしょう。 これはあなたのプログラムがどのように解釈されるか、そしてあなたのデザインに基づいてどのようなパフォーマンスのボトルネックが存在するかを理解するのに役立ちます。


3


あなたがコンピュータサイエンスの学位を取得したいように私には聞こえます。 :-)


2


最も簡単な紹介、そして非常によく書かれているのはCharles Petzoldによるコードです。

http://ecx.images-amazon.com/images/I/31t68r9K28L.BO2,204,203,200_PIsitb-sticker-arrow-click、TopRight、35,-76_AA240_SH20_OU01.jpg Altテキストhttp://ecx.images-amazon。 com / images / I / 31t68r9K28L.BO2,204,203,200_PIsitb-sticker-arrowクリック、TopRight、35、-76_AA240_SH20_OU01.jpg]


2


私は通常、物理学とコンパイラを同時に考えません。

http://oco.uoregon.edu/Group_Pages/Raymer/publications/a_Contents_204a.pdf[このリンク]あなたのことを考えるようになるかもしれません。


1


C64のような簡単なエミュレータを書いてください。 CPU、メモリ、その他のチップをどのようにエミュレートするかを考えることで、これらの単純なマシンがどのように機能するのかを学ぶことができます。 今日のコンピュータは、かなり複雑で、ほとんど同じように動作しますが、基本的な考え方は同じです。

あなたのエミュレータは超高速である必要はありません - C64ウェルカムメッセージを試してみて、あなたが正しいコードを書いたのであれば - 基本的なプログラムをPOKEして書くことができるはずです:)

10「私には聞かないでください - リンゴ// Eの規則」を印刷してください

20後藤10


1


私は、アセンブラで単純な_Hello World_プログラムを書くことができるように十分な*アセンブラ*を学ぶことをお勧めします。

これにより、CPUがレジスタおよびメモリレベルでどのように機能するのかが正確にわかります。

また、ソースコードをオブジェクトファイルに変換する方法、およびリンカがこれらすべてのオブジェクトファイルをまとめて作業プログラムを作成する方法についても紹介します。


1


ヘネシーのいずれかを拾う https://rads.stackoverflow.com/amzn/click/com / 1558605967 [コンピュータアーキテクチャ - 定量的アプローチ]または コンピュータの構成


1


ファインマンはhttps://rads.stackoverflow.com/amzn/click / com / 0738202967 [計算の物理学]についてのすてきなことを書いています。

http://ecx.images-amazon.com/images/I/51BKJV58A9L.BO2,204,203,200_PIsitb-sticker-arrow-click、TopRight、35,-76_AA240_SH20_OU01.jpg

これはあなたの質問の第二部に対処します。


0


Amazonの「Computer Organization」または「Computer Architecture」の本を読んでください。 私が大学に通っていたとき、//rads.stackoverflow.com/amzn/click/com/0131755633 [彼が私たちが使用したもの]です。 それはそれほど厚くはありません、そしてゲートレベルからメモリがどのように編成されプログラムが書かれるかに至るまでずっとあなたに基本を与えます。 この後、あなたが物理学をより深く調べたいと思うならば、あなたは半導体物理学に関する本を拾いたいと思うでしょう。 (しかし、私があなたであれば、ウィキペディアで「論理ゲート」、「ダイオード」、および「トランジスタ」を調べることから始めましょう!)