Custom Search
5/26/2012 01:18:00 PM

MANAJEMEN MEMORY PADA PENTIUM


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.

MANAJEMEN MEMORY ARM
ARM menyediakan arsitektur sistem memori virtual yang serbaguna dapat disesuaikan dengan kebutuhan dari desainer sistem embedded.
Sistem memori Organisasi

Hardware memori virtual terjemahan menggunakan satu atau dua tingkat tabel untuk terjemahan dari virtual ke alamat fisik, seperti yang dijelaskan selanjutnya. Para melihat sisi terjemahan buffer (TLB) adalah cache dari entri tabel halaman terakhir. Jika entri tersedia dalam TLB, maka TLB langsung mengirim alamat fisik ke memori utama untuk operasi membaca atau menulis. Data yang dipertukarkan antara prosesor dan memori utama melalui cache. Jika sebuah organisasi cache yang logis digunakan, maka persediaan ARM bahwa alamat langsung ke cache serta memasok ke TLB saat terjadi cache miss. Jika sebuah organisasi cache yang fisik digunakan, maka TLB harus memberikan alamat fisik ke cache. Entri dalam tabel penerjemahan juga termasuk bit kontrol akses, yang menentukan apakah suatu proses dapat mengakses bagian tertentu memori. Jika akses ditolak, akses kontrol hardware pasokan sinyal membatalkan ke prosesor ARM.
Virtual Memory Address Translation
ARM mendukung akses memori didasarkan pada baik bagian atau halaman:
• Supersections (opsional): Terdiri dari 16-MB blok memori utama
• Sections : Terdiri dari 1-MB blok memori utama
• Large pages : Terdiri dari 64-KB blok memori utama
• Small pages : Terdiri dari 4-KB blok memori utama
Bagian dan supersections didukung untuk memungkinkan pemetaan wilayah besar memori sementara hanya menggunakan satu entri dalam TLB. Mekanisme akses kontrol tambahan diperpanjang dalam halaman kecil untuk Subpages 1KB, dan dalam halaman besar untuk 16KB Subpages. Tabel terjemahan diselenggarakan di memori utama memiliki dua tingkat:
• First-level table : Gelar terjemahan bagian dan supersection, dan pointer ke tingkat kedua tabel
• Second-level tables : Pegang baik terjemahan halaman besar dan kecil
Unit memori-manajemen (MMU) menerjemahkan alamat virtual yang dihasilkan oleh prosesor ke alamat fisik untuk mengakses memori utama, dan juga berasal dan memeriksa izin akses.Terjemahan terjadi sebagai akibat dari miss TLB, dan mulai dengan mengambil tingkat pertama. Sebuah mengakses seksi-dipetakan hanya membutuhkan tingkat pertama mengambil, sedangkan mengakses halaman-dipetakan juga membutuhkan tingkat kedua-fetch.
Sebuah prosedur dua halaman pencarian yang serupa digunakan untuk halaman yang besar. Untuk bagian dan supersection, hanya halaman L1 tabel lookup diperlukan.
Manajemen Format Memori
Untuk mendapatkan pemahaman yang lebih baik dari skema manajemen memori ARM, kita mempertimbangkan format kunci.
• Bit [01:00] = 01 dan bit 19 = 0: entri ini adalah bagian untuk alamat deskriptor terkait virtual.
• Bit [01:00] = 01 dan bit 19 = 1: entri ini adalah deskriptor supersection untuk alamat terkait virtual.
Entri dengan bit [01:00] = 11 disediakan.
Untuk memori terstruktur ke halaman, dua-tingkat halaman akses tabel diperlukan. Bit [31:10] dari halaman masuk L1 berisi pointer ke tabel halaman L1. Untuk halaman kecil, entri L2 berisi pointer 20-bit untuk alamat dasar halaman 4-KB di memori utama.
Parameter Manajemen Memori ARM
Access Permission (AP), Access Permission Extension (APX)
Bit-bit kontrol akses ke wilayah memori yang sesuai. Jika mengakses dibuat untuk area memori tanpa izin diperlukan, Patahan Izin dinaikkan.
Bufferable (B) bit
Menentukan, dengan bit TEX, bagaimana menulis buffer digunakan untuk memori cacheable.

Cacheable (C) bit
Menentukan apakah wilayah ini memori dapat dipetakan melalui cache.

Domain
Koleksi kontrol memori regions.Access dapat diterapkan berdasarkan domain.

not Global (nG)
Menentukan apakah terjemahan harus ditandai sebagai global (0), atau spesifik proses (1).

Shared (S)
Menentukan apakah terjemahan ini karena tidak-berbagi memori (1) (0), atau berbagi.

SBZ
Should be zero.

Type Extension (TEX)
Bit ini, bersama dengan bit B dan C, kontrol akses ke cache, bagaimana menulis buffer digunakan, dan jika wilayah memori dibagikan dan oleh karena itu harus disimpan koheren.

Execute Never (XN)
Menentukan apakah wilayah ini dieksekusi (0) atau tidak dieksekusi (1).
Kisaran ruang alamat fisik dapat diperluas hingga delapan bit alamat tambahan (bit [23:20] dan [8:05]). Jumlah bit tambahan bit dependent. Implementasi tambahan dapat diartikan sebagai memperluas ukuran dari memori fisik sebanyak faktor demikian, memori fisik mungkin sebenarnya sebanyak 256 kali lebih besar ruang memori yang tersedia untuk setiap proses individu.
Access Control
AP bit kontrol akses dalam setiap akses entri tabel kontrol ke wilayah memori dengan suatu wilayah tertentu process.A memori dapat ditunjuk sebagai tidak ada akses, read only, atau membaca-menulis. Selanjutnya, wilayah ini dapat ditunjuk sebagai akses istimewa saja, dicadangkan untuk digunakan oleh OS dan bukan oleh aplikasi.
ARM juga mempekerjakan konsep dari sebuah domain, yang merupakan kumpulan bagian dan / atau halaman yang memiliki izin akses tertentu. Mendukung arsitektur ARM 16 domain. Fitur domain memungkinkan beberapa proses untuk menggunakan tabel terjemahan yang sama tetap menjaga beberapa perlindungan dari satu sama lain.
Setiap entri tabel halaman dan masuk BIS berisi field yang menentukan entri yang domain yang masuk Sebuah medan 2-bit dalam Access Control Domain mengontrol akses ke setiap domain. Setiap bidang memungkinkan akses ke seluruh domain akan diaktifkan dan dinonaktifkan dengan sangat cepat, sehingga daerah seluruh memori dapat ditukarkan dalam dan keluar dari memori virtual yang sangat efisien. Dua jenis akses domain yang didukung:
• Clients: Pengguna domain (mengeksekusi program dan data akses) yang harus memperhatikan hak akses dari bagian individu dan / atau halaman yang membentuk domain tersebut.
• Managers: Kontrol perilaku dari domain (bagian saat ini dan halaman dalam domain, dan akses domain), dan memotong hak akses untuk entri tabel dalam domain tersebut
Salah satu program dapat menjadi klien dari beberapa domain, dan manajer dari beberapa domain lainnya, dan tidak memiliki akses ke domain yang tersisa. Hal ini memungkinkan perlindungan memori yang sangat fleksibel untuk program yang mengakses sumber daya memori yang berbeda.

0 komentar:

Posting Komentar

IPv6 Certification Badge for yogaawuy
.