シャドウレジスタは、割り込みレイテンシを減らすために使用されます。
Armには15個のレジスタがありますが、これらのシャドウレジスタはどこに保存されていますか?
「シャドウレジスタ」という用語は、バンクレジスタと非バンクレジスタに関連していますか?
シャドウレジスタは、割り込みレイテンシを減らすために使用されます。
Armには15個のレジスタがありますが、これらのシャドウレジスタはどこに保存されていますか?
「シャドウレジスタ」という用語は、バンクレジスタと非バンクレジスタに関連していますか?
ARMの技術文書ではシャドウについて具体的に言及されていないため、シャドウをARMに関連付けるのは少し難しいです。
ただし、 ARMとMIPSアーキテクチャの観点から比較すると、次のようになります。
MIPSアーキテクチャは、レジスタの複数の「シャドウ」バンクの実装をサポートします。これにより、より効率的なコンテキスト切り替え操作が可能になりますが、この機能がMIPSベースのデバイスに一般的または一貫して実装されていないため、使用が制限されます。その結果、それを利用するコンパイラやオペレーティングシステムはほとんどありません。
このコンテキストでは、「シャドウレジスタ」は、より自由なものです。バンクレジスタは明確に分離された実行モード用ですが、多くの用途に使用できます。
armには15を超えるレジスタがあり、アクセスできるレジスタのバンクのうち15はモードに依存します。infocenter.arm.comにあるアームアーキテクチャリファレンスマニュアル(従来のアームアーチをカバーするARMv5を入手してください)には、レジスタのリストと、それらにアクセスするために必要なモードが示されています。
ARMはシャドウレジスタという用語を使用しませんが、fiqモードは、中断されたタスクから多くのレジスタまたは任意のレジスタを保持する必要がないため、要求しているものと似ています。ARMはさらに、モードに応じて複数のスタックなどを持ちます。