1

プログラミングを始める前にいくつかの基本を理解しようとする私の探求では、コンピューターがコアレベルでどのように機能するかについての基本的な知識を探しています。

私は、コンピューターシステムに関する散発的な知識の代わりに、スタックはもちろんスタックオーバーフローが何であるかを実際に理解することが、長期的に役立つという理論を持っています。

プロセッサがどのように構造化されているかを説明し、全体的な概要を説明し、デジタル ロジックの知識に何らかの形で関連する本やサイトはありますか?

私は理にかなっていますか?

4

5 に答える 5

1

はい、いくつかのトピックを読む必要があります

ジョン L. ヘネシー & デビッド A. パターソン、「コンピューター アーキテクチャ: 定量的アプローチ」

マイクロプロセッサの歴史と理論 (RISC アーキテクチャ - MIPS から始まる)、パイプライン、メモリ、ストレージなどがあります。

David Patterson は、U. Berkeley の EECS 部門のコンピューター サイエンスのコンピューター教授です。http://www.eecs.berkeley.edu/~pattrsn/

お役に立てば幸いです、ここにリンクがあります

于 2010-01-12T11:12:26.283 に答える
1

Tanenbaum の『Structured Computer Organization』は、コンピューターがどのように機能するかについての優れた本です。本を読み進めるのが難しいと感じるかもしれませんが、それはほとんどの場合、著者ではなく主題によるものです。

ただし、このアプローチを取ることをお勧めするかどうかはわかりません。コンピューターがどのように機能するかを理解することは確かに役立ちますが、プログラミングの知識がまったくない場合は、その知識を実際に活用することはできません。とにかく、その知識はまだ必要ないでしょう. プログラム設計について学ぶために、オブジェクト指向プログラミングやデータ構造などのトピックについて学習したほうがよいでしょう。非常に限られたシステムで組み込みプログラミングを行うことを検討していない限り、それらのスキルは、コンピューターの内部の仕組み。

于 2010-01-12T11:14:28.420 に答える
1

私の意見では、20 年前には、BASIC からオペレーティング システム、ハードウェア、トランジスタ、さらには量子レベルに至るまで、すべてのスペクトルを理解することができました。今日のテクノロジーを使って、一人の人がそのスペクトル全体を理解できるかどうかはわかりません. (何年も前は、誰もが自分の車を整備していました。今日では難しすぎます。)

あなたが興味を持っているかもしれない「レイヤー」のいくつか:

于 2010-01-12T11:21:27.420 に答える
1

それは非常に単純です-CPUは命令をロードして実行します。これらの命令のほとんどは、値をレジスタまたはメモリ位置にロードしてから、それらの値を操作することを中心に展開します。画面やハード ドライブなど、マシンに接続されている周辺機器と通信するために、特定のメモリ範囲が確保されます。

Apple ][ と Commodore 64 の時代に戻ると、メモリの場所に値を直接入れることができ、それによって画面上のピクセルが直接変更されました。ドライバーやオペレーティング システムなど、いくつかのコード レイヤー。

この種のもの、またはアセンブリ言語 (私は大ファンです)、またはハードウェア レベルの AND/NAND ゲートについて学ぶことができますが、この種のものを知っていても、Web アプリケーションをコーディングするのには役立ちません。 ASP.NET MVC を作成するか、簡単で汚い Python または Powershell スクリプトを記述します。

CPU やその他のハードウェアがどのように機能するかについての洞察を提供する多くのリソースがネット上に散らばっています。またはどこかで、アセンブリ言語の特定のフレーバーを学びます(学ぶのに良いかもしれないプログラム可能なPICコントローラーがたくさんあることも理解しています)。古いマシンを手に入れると、ソフトウェアの抽象化がなくなり、学習がはるかに簡単になります。画面上でスプライトを動かしたり、スピーカーを直接切り替えて (または PIC コントローラーを使用して小さなロボットを制御して) サウンドを生成したりするなど、すぐに満足感を得られると、よりよく学習できます。それらの古いマシンでは、

于 2010-01-12T11:21:44.240 に答える
0

プロセス全体を理解することは信じられないほど難しいため、以前の回答に同意しますが、少なくとも、最低 (電子に最も近い) から最高 (実際に見えるものに最も近い) までのカテゴリに分類できます。

Lowest Solid State Device Physics (トランジスタが物理的にどのように機能するか) 回路理論 (トランジスタを組み合わせて論理ゲートを作成する方法) Digital Logic (論理ゲートを組み合わせてデジタル機能またはデジタル構造、つまりマルチプレクサ、全加算器などを作成する方法) ハードウェア構成(データ パスが CPU でどのようにレイアウトされているか、フォン ノイマン マシンのコンポーネント -> メモリ、プロセッサ、算術論理ユニット、フェッチ/デコード/実行) マイクロ命令 (ビット レベルのプログラミング)登録し、単純なものでさえプログラムするのに永遠に時間がかかります) 解釈/コンパイル済み言語 (アセンブリにコンパイルまたは解釈されるプログラミング言語。オペレーティング システムはこれらのいずれかに含まれる場合があります) オペレーティング システム (プロセス スケジューリング、ハードウェア インターフェイス、高レベル言語 (これらの種類は 2 回表示されます。言語によって異なります。Java は非常に高レベルで行われますが、C は直接アセンブリに進み、C コンパイラはおそらく C で記述されます) ユーザー インターフェイス/アプリケーション/Gui (最後のステップ、見栄えを良くする)

これらのそれぞれについて多くを知ることができます。私は物事のデジタルロジックの側面についてある程度の専門家です。デジタルロジックの完全なチュートリアルが必要な場合は、私のWebサイトの電気工学メニューにアクセスしてください。

affablyevil.wordpress.com

私はクラスを教えており、オンラインレッスンを追加しています。

于 2014-02-07T08:14:38.253 に答える