2

さて、これは私を悩ませてきた本当に一般的なクエリです。プロセッサレジスタについて読んだところ、基本的にtwpの幅広いクラスがあることを学びました-ユーザーに表示されるレジスタ:メモリ参照を最小限に抑え、プロセッサ自体の動作のためにプロセッサによって使用される機能レジスタと制御レジスタおよびステータスレジスタを高速化します。誰かが説明することができますか、またはおそらくこの概念の私の理解を高めることができるいくつかのリンクを私に紹介することができます。ユーザーに表示されるレジスタとは、正確にはどういう意味ですか?また、PCがユーザーに表示されることもあることも読みました。さて、それはどういう意味ですか?

前もって感謝します。

4

2 に答える 2

1

プロセッサには通常、ユーザーに表示されるレジスタが少数あります。これは、あなたが言ったように、メモリ使用量を最小限に抑えるために使用されるレジスタです。たとえば、コンパイラはforループ内の制御変数をレジスタに割り当てる場合があります。レジスタの読み取り時間は、通常、RAMからの読み取り時間よりも桁違いに高速です。実際、レジスタはキャッシュよりもさらに高速です。したがって、コードが変数の読み取りや変更を頻繁に行う場合、UserVisibleレジスタはそれらの計算を高速化するのに役立ちます。一般に、コンパイラーは使用可能なユーザーレジスターを非常に効果的に使用します。

一方、コントロールレジスタとステータスレジスタは一般的に非常に特権があり、通常のユーザーはアクセスできない場合があります。たとえば、プロセッサには、コア温度やプロセッサのモデル番号などの情報を保持するレジスタが数百または数千もあることがよくあります。これらは、デバッグ中にプロセッサメーカーによってよく使用されます。

PCがユーザーに見えるかもしれないと人々が言うとき、彼らは次に実行される命令へのポインター(アドレス)を保持するレジスターであるプログラムカウンターを指します。PCのアドレスは、メモリからの命令を命令レジスタ(IR)にロードするために使用され、その後、デコードされて実行されます。

于 2012-08-04T07:14:59.397 に答える
0

さて、私のOSクラスとマイクロプロセッサクラスからしばらく経ちましたが、「ユーザー可視レジスタ」という用語はコースで使用されることはありません。教授のスライドのこのPDFを見つけることができます:http://umcs.maine.edu/~cmeadow/courses/cos335/COA12.pdf。したがって、「ユーザー可視レジスタ」は、制御レジスタでもステータスレジスタでもない単なるレジスタですが、通常、このサブグループの「ユーザー可視レジスタ」の区別は行われません。一般的なレジスタタイプとその機能のリストは次のとおりです。http://en.wikipedia.org/wiki/Processor_register

あなたが行った質問と推論から、最初から始めて、図書館から本を入手する方が役立つかもしれません。

于 2012-08-04T07:09:26.093 に答える