プロセッサを回路図にマップ


11

私は(.NET、C、C ++などの高水準言語を使用する)ソフトウェア開発者であり、コンピューターが低レベルでどのように機能するかを理解しようとしています。

私はこの図に精通しています:

リンクの図が次のような回路図にどのようにマップされるかについて、高レベルの洞察を得ようとしています。

たとえば、アセンブリ言語ステートメントを見てください。

ADD 1,2

プロセッサが出力として「3」を生成する方法を理解しようとしています。この質問は、簡単な言葉で答えるのは難しいかもしれないと思います。もしそうなら、おそらく本へのリンクが役立ちます。


あなたが投稿した最初の図を参照すると、実際の演算に必要な詳細はすべて「ALU」というラベルの付いた大きなブロックに隠されています。そして結果はまた出ました。...それはあなたが求めていたものだった場合は、ALUがどのように機能するかを読むことを始めることができる、ということを知って
ブライアン・ドラモンド

5
最初の図は、2番目の図のZ80 CPUにマップされます。
starblue 2013年

回答:


7

問題は、コンピューターが1 + 2 = 3になる方法を理解するために、以前よりも2レベルほど深く理解する必要があることです。

大まかに言えば、コンピュータは(研究分野の観点から)最高レベルの抽象化から最も物理的な現実まで、次のように編成されています。

  1. アプリケーションソフトウェア
  2. 仮想マシン
  3. オペレーティング・システム
  4. BIOS
  5. 組み込みシステム
  6. IPブロック(サブユニット/周辺機器)
  7. 論理ブロック
  8. ゲートレベル
  9. トランジスタレベル
  10. 半導体
  11. デバイスの物理

コンピューターが2 + 1 = 3を生成できる理由を正しく理解するには、まず「信仰に基づいて」何を受け入れようとしているか、それを内面化するまで信じないことを決定する必要があります。その情報は、あなたが理解しているものの2つ下のレベルになります。したがって、論理レベルで加算回路を理解したい場合は、「デジタル」トランジスタ(特にCMOS)の基本を理解する必要があります。

以前のサイトを例として使用して、このリソースを検討してください。「全加算器」、つまりキャリーインとキャリーアウトを含む加算/減算が可能な最小の完全に汎用的な回路について説明します。

また、数値が2の補数でどのように表されるかを理解する必要があります(整数計算のために現代のコンピューターで使用されている数値システム)。

ワールドクラスの入門コースが本当に必要な場合は、ジョージア工科大学のスコットウィルズ教授を十分に推薦することはできません。彼は去年の癌で亡くなりましたが、彼の経過は続いています。Georgia Tech ECE2030(コンピューターエンジニアリング入門)クラスには、教科書と演習がすべてオンラインで用意されています。

幸運を!


これをありがとう。+1。CおよびC ++の経験はありますが、私は.NET開発者です。C#が中間言語にコンパイルされ、JITコンパイラがILコードをオンザフライでコンパイルすることでコンピュータアーキテクチャをターゲットにしていることを理解しています。マイクロコントローラーがオペランドとオペコードを受け取り、出力を生成する方法を理解しようとしています。私はトランジスター、コンデンサーなどのような電子部品について知識があります(GCSEレベル)
w0051977

...次に、リーディングの「スイッチデザイン」から始めて、そこからのレッスンを進めます。
DrFriedParts 2013年

トピックのリストは、質問に関係のないトピックをいくつか投げ入れて、最も関連性の高いトピックをスキップしています。
Chris Stratton

@Chris-いいえ、ありません。
DrFriedParts 2013

3

私は大学でも同じことを学ばなければならなかったので、 非常に詳細な「コンピューターの組織と設計」という本を使用しました(ただし、ニーズに合わせて詳細すぎるかもしれません)。

PattersonとHennesyは、いくつかの「単純な」MIPSプロセッサを使用して、CPUの全機能をアセンブラのサンプルコードで示しました。

一般的に、「単純な」プロセッサ(Arduinoなど)を使用して機能を理解しようとするのは良い考えだと思います。実装された命令コードの大きさがより複雑になるためです。

PS多分グーグルコードからの基本的なマイクロプロセッサが役に立つでしょう。これは、Javaでシミュレートされたマイクロプロセッサです。


2

ロジャーヤングによる無料の本「コンピュータの仕組み-プロセッサとメインメモリ」はあなたの質問に答えます。理解を深めるために、トランジスタではなくリレーを使用しています。


2
その本は有用に見えますが、完全なタイトルと著者情報を含めるように回答を編集してください。このようにして、リンクが変更された場合でも、将来的にそれを追跡することが可能になる場合があります。
PeterJ 2013

これは、当時私が探していたもののようです。+1。見てから戻ってきます。
w0051977 2013

-1

私はここで私の答えを見つけまし。数値を追加するプロセスの概要です。


4
回答の内容を要約すると、将来の読者にとってより役立ちます。外部リソースへのリンクを提供するだけでは、EE.SEに大きな影響はありません。
Photon

@ThePhotonがここで言っていることに注意してください。そのyoutubeビデオはあなたを助けるかもしれませんが、あなたが学んだことを要約して、そのビデオリンクが壊れたとしても、これがまだ答えであるようにできますか?
Kortuk 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.