私は現在OSでいくつかのプロジェクトに取り組んでいます、私はシングルレベルページングでEATを見つける方法を知っています
EAT = (MAT+TLB-AT)*a+(2*MAT+TLB-AT)*(1-a)
どこ
MAT is memory access time,
TLB-AT is TLB hit time
a is hit ratio
私はEAT
2つのレベルで調べようとしていますが、TLBミスの場合は3回、または4回メモリにアクセスしますか。
私は現在OSでいくつかのプロジェクトに取り組んでいます、私はシングルレベルページングでEATを見つける方法を知っています
EAT = (MAT+TLB-AT)*a+(2*MAT+TLB-AT)*(1-a)
どこ
MAT is memory access time,
TLB-AT is TLB hit time
a is hit ratio
私はEAT
2つのレベルで調べようとしていますが、TLBミスの場合は3回、または4回メモリにアクセスしますか。
TLBにヒットがあった場合==> {TLBアクセス時間+メモリからの実際のページのアクセス時間}が必要です
TLBにミスがある場合==> {TLBアクセス時間+メモリからのページテーブルエントリのアクセス時間+メモリからの実際のページのアクセス時間}が必要です
1レベルページングの場合==>メモリからのページテーブルエントリのアクセス時間
2レベルページングの場合==>2*メモリからのページテーブルエントリのアクセス時間
。。
nレベルのページングの場合==>n*メモリからのページテーブルエントリのアクセス時間
したがって、一般化された式は次のようになります。
EMAT = p *(TLB-アクセス時間+メモリアクセス時間)+(1-p)* [TLB-アクセス時間+((n + 1)*メモリアクセス時間)]
ここで、p=ヒット率。
EAT =(%hit)(TLBAT + MAT)+(1-%hit)(TLBAT +(n + 1)(MAT))
シングルレベルページングではメモリに2回アクセスする必要があるため、ミックスに別のページを追加すると、プロセスに読み取られたメモリがもう1つ追加されます。