Search....

Sabtu, 07 Januari 2017

ARM MEMORY MANAGEMENT

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.

Tidak ada komentar:

Posting Komentar