Search....

Sabtu, 07 Januari 2017

PENTIUM MEMORY MANAGEMENT

Sejak diperkenalkannya dari arsitektur 32-bit, mikroprosesor telah berevolusi skema manajemen memori canggih yang membangun pembelajaran dengan sistem menengah dan skala besar. Dalam banyak kasus, versi mikroprosesor lebih unggul dengan yang lebih besar-sistem mereka pendahulunya. Karena skema tersebut dikembangkan oleh vendor perangkat keras mikroprosesor dan dapat digunakan dengan berbagai sistem operasi, mereka cenderung menjadi cukup umum purpose. Sebagai contoh yang representatif adalah skema yang digunakan pada perangkat keras II. Pentium II manajemen memori pada dasarnya adalah sama seperti yang digunakan dalam Intel 80386 dan 80486 prosesor, dengan beberapa perbaikan.

Alamat Spasi
Pentium II mencakup perangkat keras untuk kedua segmentasi dan paging. Kedua mekanisme dapat dinonaktifkan, memungkinkan pengguna untuk memilih dari empat pandangan yang berbeda dari memori:
• Memori Unpaged Unsegmented: Dalam hal ini, alamat virtual adalah sama dengan alamat fisik. Hal ini berguna, misalnya, dalam kompleksitas rendah, highperformance aplikasi kontroler.
• Memori Paged Unsegmented: Berikut memori dipandang sebagai ruang alamat linier paged. Perlindungan dan manajemen memori dilakukan melalui paging. Ini disukai oleh beberapa sistem operasi (misalnya, Berkeley UNIX).
• Memori Unpaged Tersegmentasi: Berikut memori dipandang sebagai kumpulan dari ruang alamat logis. Keuntungan dari pandangan ini melalui pendekatan paged adalah bahwa hal ini memberikan perlindungan ke tingkat byte tunggal, jika perlu. Selanjutnya, tidak seperti paging, ia menjamin bahwa tabel terjemahan yang diperlukan (tabel segmen) yang on-chip ketika segmen tersebut dalam memori. Oleh karena itu, hasil memori tersegmentasi unpaged di waktu akses diprediksi.
• Segmented paged memori: Segmentasi digunakan untuk menentukan partisi memori logis tunduk pada kontrol akses, dan paging digunakan untuk mengelola alokasi memori dalam partisi.Sistem operasi seperti UNIX System V mendukung pandangan ini.

Segmentasi
Ketika segmentasi digunakan, masing-masing alamat virtual (disebut alamat logis di Pentium II dokumentasi) terdiri dari referensi segmen 16-bit dan 32-bit offset. Dua bit dari kesepakatan referensi segmen dengan mekanisme perlindungan, meninggalkan 14 bit untuk menentukan segmen tertentu. Jadi, dengan memori unsegmented, memori virtual pengguna adalah 232 = 4 GBytes. Dengan memori tersegmentasi, ruang total memori virtual sebagai terlihat oleh pengguna adalah 246 = 64 terabyte (TBytes). Ruang alamat fisik menggunakan alamat 32-bit untuk maksimal 4 GBytes.
Jumlah memori virtual sebenarnya dapat lebih besar dari 64 TBytes. Hal ini karena penafsiran prosesor dari alamat virtual tergantung pada proses yang sedang aktif. Ruang alamat virtual dibagi menjadi dua bagian. Satu-setengah dari ruang alamat virtual (8K segment x 4 GBytes) adalah global, bersama dengan semua proses, sisanya adalah lokal dan berbeda untuk setiap proses.
Terkait dengan segmen masing-masing dua bentuk perlindungan: hak istimewa tingkat dan atribut akses. Ada empat tingkat hak istimewa, dari yang paling dilindungi (tingkat 0) untuk paling tidak dilindungi (tingkat 3). Tingkat hak istimewa yang terkait dengan segmen data adalah “klasifikasi” nya, tingkat hak istimewa yang terkait dengan segmen program yang mengeksekusi Sebuah program hanya dapat mengakses segmen data untuk tingkat peluruhan yang lebih rendah dari (lebih istimewa) atau sama “izin.” untuk (hak istimewa yang sama) tingkat hak istimewa segmen data.
Hardware tidak menentukan bagaimana tingkat hak istimewa yang akan digunakan; ini tergantung pada desain OS dan implementasi. Hal ini dimaksudkan bahwa hak istimewa tingkat 1 akan digunakan untuk sebagian besar OS, dan tingkat 0 akan digunakan untuk itu sebagian kecil dari OS ditujukan untuk manajemen memori, perlindungan, dan kontrol akses. Hal ini meninggalkan dua tingkat untuk aplikasi. Dalam banyak sistem, aplikasi akan berada di tingkat 3, dengan tingkat 2 yang tidak terpakai. Subsistem aplikasi khusus yang harus dilindungi karena mereka menerapkan mekanisme keamanan mereka sendiri adalah kandidat yang baik untuk tingkat 2. Beberapa contoh adalah sistem manajemen database, sistem otomatisasi kantor, dan lingkungan rekayasa perangkat lunak.
Selain akses mengatur ke segmen data, mekanisme hak membatasi penggunaan instruksi tertentu. Beberapa instruksi, seperti yang berhubungan dengan manajemen memori register, hanya dapat dilaksanakan di tingkat 0. Instruksi I / O hanya dapat dieksekusi sampai ke tingkat tertentu yang ditunjuk oleh OS, biasanya, ini akan menjadi level 1. Atribut akses data segmen menentukan apakah membaca / menulis atau baca akses yang diizinkan. Untuk segmen program, menentukan atribut akses membaca / mengeksekusi atau membaca-hanya akses.
Terjemahan alamat mekanisme untuk segmentasi melibatkan pemetaan alamat virtual ke dalam apa yang disebut sebagai alamat linier.
Sebuah alamat maya terdiri dari 32-bit offset dan 16-bit segmen pemilih. Segmen pemilih terdiri dari bidang-bidang berikut:
• Tabel Indikator (TI): Menunjukkan apakah tabel segmen global atau tabel segmen lokal harus digunakan untuk terjemahan.
• Segmen Number: Jumlah segmen. Ini berfungsi sebagai indeks ke dalam tabel segmen.
• Requested Privilege Level (RPL): Tingkat diminta untuk hak akses ini.
Setiap entri dalam tabel segmen terdiri dari 64 bit.

Paging
Segmentasi merupakan fitur opsional dan dapat dinonaktifkan. Ketika segmentasi digunakan, alamat yang digunakan dalam program adalah alamat virtual dan dikonversi menjadi alamat linier, seperti yang baru saja dijelaskan. Ketika segmentasi tidak digunakan, alamat linier yang digunakan dalam program. Dalam kedua kasus, langkah berikut adalah untuk mengkonversi alamat linier ke alamat 32-bit nyata.
Untuk memahami struktur dari alamat linier, Anda perlu tahu bahwa mekanisme Pentium II sebenarnya paging dua tingkat tabel operasi pencarian. Tingkat pertama adalah direktori halaman, yang berisi hingga 1024 entri. Ini membagi ruang memori 4-GByte linier menjadi 1024 kelompok halaman, masing-masing dengan tabel halaman sendiri, dan masing-masing 4 MBytes panjang. Setiap tabel halaman berisi hingga 1024 entri; setiap entri sesuai ke halaman 4-KByte tunggal. Manajemen memori memiliki pilihan untuk menggunakan salah satu direktori halaman untuk semua proses, salah satu direktori halaman untuk setiap proses, atau beberapa kombinasi dari keduanya.Direktori halaman untuk tugas saat ini selalu dalam memori utama. Tabel halaman mungkin dalam memori virtual.
Pentium II juga membuat penggunaan buffer melihat sisi terjemahan. Buffer dapat menyimpan entri tabel halaman 32.Setiap kali bahwa direktori halaman berubah, buffer akan dihapus.
 Untuk kejelasan, melihat sisi terjemahan buffer dan mekanisme memori cache tidak ditampilkan.
Akhirnya, Pentium II termasuk ekstensi baru tidak ditemukan pada 80386 atau 80486, penyisihan untuk dua ukuran halaman.Jika PSE (ekstensi halaman ukuran) bit dalam kontrol mendaftar 4 adalah set ke 1, maka unit paging memungkinkan programmer OS untuk mendefinisikan sebuah halaman baik sebagai KByte 4 atau 4 MByte dalam ukuran.
Ketika 4-MByte halaman yang digunakan, hanya ada satu tingkat tabel lookup untuk halaman. Ketika hardware mengakses direktori halaman, direktori halaman masuk memiliki set bit ke 1 PS. Dalam hal ini, bit 9 sampai 21 bit diabaikan dan 22 sampai 31 menentukan alamat dasar untuk halaman 4-MByte dalam memori. Jadi, ada tabel halaman.
Segmen Descriptor (Segmen Entri Tabel)
Base
Mendefinisikan alamat awal segmen dalam ruang alamat 4-GByte linier.
D/B bit
Dalam sebuah segmen kode, ini adalah sedikit D dan menunjukkan apakah operand dan mode pengalamatan yang 16 atau 32 bit.
Descriptor Privilege Level (DPL)
Menentukan tingkat hak istimewa dari segmen disebut oleh deskriptor segmen.
Granularity bit (G)
Menunjukkan apakah bidang Batas harus ditafsirkan dalam unit dengan satu byte atau 4 KByte.
Limit
Mendefinisikan ukuran segmen. Prosesor menafsirkan bidang batas dalam salah satu dari dua cara, tergantung pada bit rincian: dalam satuan satu byte, hingga batas segmen berukuran 1 MByte, atau dalam satuan 4 KByte, hingga batas ukuran segmen 4 GBytes .
S bit
Menentukan apakah segmen yang diberikan adalah sistem atau segmen segmen kode atau data.

Segment Present bit (P)
Digunakan untuk sistem nonpaged. Hal ini menunjukkan apakah segmen hadir dalam memori utama. Untuk paged sistem, bit ini selalu diset ke 1.
Type
Membedakan antara berbagai macam segmen dan menunjukkan atribut akses.
Page Directory Entry and Page Table Entry
Accessed bit (A)
Bit ini diset ke 1 oleh prosesor dalam kedua tingkat tabel halaman saat membaca atau menulis operasi untuk halaman yang sesuai terjadi.

Dirty bit (D)
Bit ini diset ke 1 oleh prosesor ketika operasi menulis ke halaman yang sesuai terjadi.

Page Frame Address
Menyediakan alamat fisik dari halaman dalam memori jika bit ini diatur. Karena frame halaman yang sejajar pada batas-batas 4K, 12 bit bawah adalah 0, dan hanya bagian atas 20 bit termasuk dalam entri. Dalam direktori halaman, alamat adalah bahwa dari sebuah tabel halaman.

Page Cache Disable bit (PCD)
Menunjukkan apakah data dari halaman mungkin cache.

Page Size bit (PS)
Menunjukkan apakah ukuran halaman adalah 4 KByte atau 4 MByte.

Halaman Menulis Melalui bit (PWT)
Menunjukkan apakah write-through atau menulis-kembali kebijakan caching akan digunakan untuk data di halaman yang sesuai.

Present bit (P)
Menunjukkan apakah tabel halaman atau halaman dalam memori utama.

Read/Write bit (RW)
Untuk pengguna-tingkat halaman, menunjukkan apakah halaman akses read-only atau membaca / menulis akses untuk user-level program.

User/Supervisor bit (US)
Menunjukkan apakah halaman yang tersedia hanya untuk sistem operasi (tingkat pengawas) atau tersedia untuk kedua sistem operasi dan aplikasi (tingkat pengguna).
Penggunaan 4-MByte halaman mengurangi persyaratan penyimpanan memori-manajemen untuk kenangan utama besar.Dengan 4-KByte halaman, memori 4-GByte penuh utama membutuhkan sekitar 4 MBytes memori hanya untuk tabel halaman. Dengan 4-MByte halaman, tabel tunggal, 4 KByte panjang, sudah cukup untuk manajemen halaman memori.

Tidak ada komentar:

Posting Komentar