Dukungan Perangkat Keras

Bila page table berukuran kecil (misal 256 entri), maka page table dapat diimplementasikan dengan menggunakan register. Namun pada masa sekarang ini page table memiliki ukuran yang terlalu besar (misal 1 juta entri) untuk diterapkan di register sehingga page table harus diletakkan di memori. Untuk itu digunakan Page Table Base Register (PTBR) dan Page Table Length Register (PTLR) yang menunjukkan ukuran page table. Masalah untuk implementasi ini adalah dibutuhkan dua kali akses ke memori pada program, yaitu untuk page table dan untuk data/instruksi. Untuk mempercepat waktu akses ini, digunakan cache yang terdiri dari sekumpulan register asosiatif atau disebut TLB (Translation Look-aside Buffer) yang merupakan memori berkecepatan tinggi.

Register asosiatif

Setiap register asosiatif menyimpan pasangan nomor page dan nomor frame (alamat awal). Input untuk register asosiatif akan dibandingkan dengan data pada register asosiatif. Bila input ditemukan maka nomor frame yang sesuai akan dihasilkan, kejadian ini disebut TLB hit. Sedangkan TLB miss terjadi bila input tidak ditemukan, maka input tersebut akan dicari pada memori (yang lebih lambat dari cache).

Waktu Akses Memori Efektif / Effective Access Time (EAT)

Peluang bahwa nomor page akan ditemukan dalam register disebut Hit Ratio. Hit ratio 80% berarti menemukan nomor page yang ingin kita cari dalam TLB sebesar 80%. Jika untuk mencari TLB memakan waktu 20 nanodetik dan 100 nanodetik untuk akses ke memori, maka total waktunya adalah 120 nanodetik bila nomor page ada di TLB. Jika kita gagal mendapat nomor page di TLB (20 nanodetik), maka kita harus mengakses memori untuk page table dan nomor frame (100 nanodetik) dan mengakses byte yang diharapkan di memori (100 nanodetik), sehingga totalnya 220 nanodetik. Untuk mendapatkan waktu akses memori efektif, kita mengalikan tiap kasus dengan peluangnya:

waktu akses efektif = (0,80 x 120) + (0,20 x 220) = 140 nanodetik