レジスターとは何ですか?

コンピュータに特に関心がない場合は、コンピュータのメモリの形式はハード ドライブと RAM だけだと思い込んでしまうことは許されます。コンピューターに興味がある人は、これが事実ではないこと、および CPU が RAM からデータをキャッシュして高速にアクセスできるようにするために使用される一連のキャッシュも CPU にあることを知っているでしょう。これらはすべて宣伝されている機能です。主な理由は、速度や容量が適切なセールス ポイントであり、一般的にパフォーマンス レベルに影響を与えるためです。

ただし、実際にはもう 1 つのメモリ層があります。L1 キャッシュが実際のプロセッシング コアにできるだけ近いと考えるかもしれませんが、メモリ階層には別の上位層があります。これらは CPU レジスタです。これらが実際に宣伝または言及されていない理由は、実際にはまったく変更されていないためです。技術的にはそうかもしれませんが、実際にはレジスタの数とサイズはアーキテクチャの基本です。これは、すべての x86-64 CPU が同じ数のレジスタを持っていることを意味します。それらは競合するポイントではないため、販売されていません。

レジスターは何をしますか?

レジスタは、プロセッサがすぐに利用できるストレージの場所です。レジスタへのアクセスはゼロ レイテンシで即時に行われますが、最近の CPU では L1 キャッシュでさえ、およそ 4 ~ 5 サイクルのレイテンシがあります。このアクセスの即時性は、レジスターのユースケースを示唆しています。レジスタは、CPU によってアクティブに操作されている命令を格納するために使用されます。また、処理するデータ ポイントも格納します。一部のレジスタは汎用であり、他のレジスタは非常に特殊な目的を持っています。特殊目的レジスタの例は、プロセッサがプログラム シーケンス内の位置を追跡するプログラム カウンタです。

多くのレジスタは、ユーザーがアクセスできると考えられています。ただし、これは、コンピューターのユーザーがどの値を入力するかを選択できるという意味ではありません。これは、実行中のソフトウェアがこれらのレジスタにロードされるデータを指定できることを意味します。少数のレジスタは内部レジスタです。つまり、ソフトウェアはそれらをまったくアドレス指定できません。現在実行中の命令を格納する命令レジスタは、内部レジスタの一例です。

改名登録

CPU アーキテクチャでは、レジスタの構成は 1 つしか許可されない場合がありますが、実際にはそれには微妙な違いがあります。最近のすべての CPU は、レジスタの名前変更を利用しています。これは、より多くの物理レジスタを使用して、データをプリロードしたり、別の方法では上書きされていたアウトオブオーダー命令に関連するデータを格納したりする手法です。CPU が余分なレジスターのデータを必要とする時点に達すると、アドレス指定可能になるように名前を変更するだけでなく、以前はアドレス指定可能だったレジスターをアドレス指定不可にします。

レジスタの名前を変更するプロセスは、順不同で実行する場合に非常に役立ちます。たとえば、あるメモリ位置が読み出されてから書き込まれるようにプログラムされていて、命令がその順序で実行された場合、これは問題ありません。ただし、書き込みを最初に実行するように命令の順序を変更すると、読み取り命令は間違った値を取得します。これを防ぐために、読み取られる元の値は未使用のレジスタに格納され、関連する命令が処理されるときに名前が変更されます。

結論

レジスタは、メモリ階層の最上位層です。これらは、CPU が直接アドレス指定できる唯一の部分であり、待ち時間はありません。レジスタは、CPU によってアクティブに実行されているデータを格納するために使用されます。これらは、次に実行される命令を追跡するプログラム カウンターなど、他のデータ ポイントを格納するためにも使用されます。16 個の汎用レジスタと、AVX-512 がサポートされているかどうかに応じて、16 個または 32 個の浮動小数点レジスタを備えた x86-64 アーキテクチャで使用できるレジスタの数は非常に限られています。



Leave a Comment

ハードドライブのクローンを作成する方法

ハードドライブのクローンを作成する方法

データが貴重な資産である現代のデジタル時代では、Windows 上でハード ドライブのクローンを作成することは、多くの人にとって重要なプロセスとなる可能性があります。この包括的なガイド

Windows 10でドライバーWUDFRdのロードに失敗した場合の修正方法

Windows 10でドライバーWUDFRdのロードに失敗した場合の修正方法

コンピュータの起動中に、ドライバ WUDFRd をコンピュータに読み込めなかったことを示すエラー メッセージが表示されましたか?

NVIDIA GeForce Experienceエラーコード0x0003を修正する方法

NVIDIA GeForce Experienceエラーコード0x0003を修正する方法

デスクトップで NVIDIA GeForce experience エラー コード 0x0003 が発生していますか? 「はい」の場合は、ブログを読んで、このエラーをすばやく簡単に修正する方法を見つけてください。

Chromebook の電源が入らないのはなぜですか

Chromebook の電源が入らないのはなぜですか

「Chromebook の電源がオンにならないのはなぜですか?」という質問に対する答えを見つけます。この役立つガイドは Chromebook ユーザー向けです。

Fitbit Versa 4 の文字盤を変更する方法

Fitbit Versa 4 の文字盤を変更する方法

Fitbit Versa 4 の文字盤を無料で変更して、時計の外観を毎日変えることができます。それがいかに早くて簡単かを見てください。

ルンバが止まったり、くっついたり、向きを変えたりする – 修正

ルンバが止まったり、くっついたり、向きを変えたりする – 修正

ルンバ ロボット掃除機が停止し、固着し、回転し続ける問題を修正します。

Steam Deckのグラフィック設定を変更する方法

Steam Deckのグラフィック設定を変更する方法

Steam デッキは、堅牢で多彩なゲーム体験をすぐに提供します。ただし、ゲームを最適化し、可能な限り最高のパフォーマンスを保証するには、

分離ベースのセキュリティとは何ですか?

分離ベースのセキュリティとは何ですか?

サイバーセキュリティの世界でますます重要になっているトピック、つまり分離ベースのセキュリティを詳しく掘り下げる予定でした。このアプローチは、

Chromebook でオート クリッカーを使用する方法

Chromebook でオート クリッカーを使用する方法

今日は、Chromebook で繰り返しクリックするタスクを自動化できるツール、オート クリッカーについて詳しく説明します。このツールは時間を節約し、

SMPSとは何ですか?

SMPSとは何ですか?

コンピューターに SMPS を選択する前に、SMPS とは何か、およびさまざまな効率評価の意味を理解してください。