1

デジタル コンピューターには、1 ワードあたり 32 ビットのメモリ ユニットがあります。命令セットは、150 の異なる操作で構成されています。すべての命令には、オペレーション コード部分 (オペコード)、レジスタ オペランド部分 (10 個の異なるレジスタから 1 つを指定)、およびメモリ オペランド アドレス部分があります。各命令は、メモリの 1 ワードに格納されます。

(d) このコンピュータの命令は、(i) 2 つのメモリ オペランドと (ii) 2 つのレジスタ オペランドを使用できますか? 可能であれば、その方法を説明してください。できない場合は、その理由を説明してください。

この質問については本当によくわかりません。最初の部分への答えは、指定されたレジスタにメモリアドレスが含まれていて、命令がADDのようなものである場合、命令は2つのメモリオペランドを使用していると思いますか? それとも私は質問を理解していませんか?

(ii)については、できるというのが答えだと思いますが、どのようにできているのかわかりませんし、答えを探す方法もわかりません。編集:レジスタオペランドを命令のメモリオペランド部分に配置できるという答えは単純ですか?

4

1 に答える 1

2

命令のエンコードから、すべての命令が占有する 32 ビットのうち、8 は命令/操作のエンコードに使用され、4 はレジスタのエンコードに使用され、残りの 20 はメモリ内のアドレスのエンコードに使用されます。

上記を考えると、2つのメモリオペランドを操作するADD、OR、MOV、XCHGなどの命令が存在できない理由はわかりません。そのアドレスは20ビットにあり、レジスタは他の4ビットによって選択されますビット。

同様に、レジスタがメインメモリに常駐できず、命令の 4 ビットフィールドまたは命令の 20 ビットフィールドの適切なアドレスのいずれかによって選択できない理由がわかりません。レジスタがメインメモリとは別のストレージを持たず、メインメモリの固定位置にすぎない多くの CPU が存在します。

述べたように、この問題は、両方の質問に対する答えが「はい」であることを可能にします。

于 2012-03-12T02:48:23.573 に答える