2

マシンコードの状態をポストしたプログラムはどうなりますか? アセンブラ/コンパイラは、高レベル コードまたはアセンブリ コードを機械語命令に変換します。この段階では、マシン命令はまだソフトウェア形式であり、メモリに常駐しています。このコードは、ハードウェアで処理できる物理的な電気信号にどのように変換されるのでしょうか? なんらかのインターフェイス デバイスがあれば、それがどのように変換を行うのか知りたいです。

4

4 に答える 4

8

筋肉や指がキーボードのキーに触れた時点から、ソース コードは電気信号になります。これは、コンパイルと実行まで続きます。Code という Petzold の本がありますが、興味深いかもしれません。

于 2012-03-17T22:09:00.677 に答える
6

記憶は物理的です。メモリデバイスは、次の命令のためにプロセッサによって照会されます。プロセッサの設定に応じて、メモリ位置のアドレスを選択する32本の実際のワイヤに高電圧または低電圧を設定します。このメモリは、32本のワイヤのセットで高電圧または低電圧を提供するように設計されています。これらのワイヤはデータバスと呼ばれ、プロセッサに戻され、そこで高電圧または低電圧の状態がサンプリングされ、命令キャッシュと呼ばれる小さなメモリに配置されます。メモリから読み取られた値は、マシンコードと呼ばれる数学的表現の物理的表現です。

そこから、処理はデジタルロジックの形で続行されます。数学や記号で表現することもできますが、実際の物理的な表現は、入力を高電圧または低電圧として感知し、回路の他の部分に高電圧または低電圧で応答する論理回路です。タイミングは、これらの信号の一部を非常に一定の時間間隔でハイまたはローに発振させることによって制御されます。

于 2012-03-17T12:59:08.157 に答える
6

ドウェルチは正しい。キーボード (またはマウスまたはタッチスクリーン) に触れた瞬間。コンピュータ内部のソフトウェアは、ラッチ/フリップフロップ (トランジスタ化された回路) を使用した電圧の保存に他なりません。キーボードからコードを入力すると (C のような高水準言語でも、アセンブラーのような低水準言語でもかまいません)、電気信号 (電圧) として入力されます。ただし、モニターに表示されるのは、電圧を英語または英語のようなテキストで表したものです (現在、世界のすべての言語)。

ポイントは、テキストが電気信号に変換されないことです。ソフトウェアはすでにその形式 (電圧) であり、その逆ではありません。

于 2012-11-03T21:13:26.417 に答える
3

ソフトウェア命令がハードウェア命令に変換される瞬間はありません。高水準プログラミング言語のコードを低水準プログラミング言語に変換するプロセスでさえ、その下のハードウェアによって実行されます。

生成されたマシンコードを実行するようにコンピューターに要求するのと同じです。コンピューターが実行するのは、マシンコードの実行だけだからです。バイナリ実行可能ファイルが作成されると、コンピュータはそれがメモリ内のどこにあるかを知る必要があり、実行を開始できます。

于 2012-03-17T12:58:24.960 に答える