Post : 10 Oktober 2013
AMD64
Set instruksi AMD64 diimplementasikan di AMD Opteron , Athlon 64 , Athlon 64 FX , Athlon 64 X2 , Athlon II , Athlon X2 , Turion 64 , Turion 64 X2 , kemudian Sempron , Phenom , Phenom II , FX , dan Fusion prosesor.
AMD64 diciptakan sebagai alternatif radikal berbeda IA-64 arsitektur, yang dirancang oleh Intel dan Hewlett Packard . Awalnya diumumkan pada tahun 1999 [10] dengan spesifikasi lengkap pada Agustus 2000, [11] arsitektur AMD64 diposisikan oleh AMD dari awal sebagai cara evolusi untuk menambahkan 64-bit kemampuan komputasi pada arsitektur x86 yang ada, sebagai lawan pendekatan Intel menciptakan arsitektur 64-bit yang sama sekali baru dengan IA-64.
Prosesor berbasis AMD64 pertama, Opteron , dirilis pada bulan April 2003.
fitur Arsitektur
Mendefinisikan karakteristik utama dari AMD64 adalah tersedianya 64-bit tujuan umum register prosesor , misalnya rax, rbx dll, 64-bit bilangan bulat operasi aritmatika dan logika, dan 64-bit alamat virtual . Para desainer mengambil kesempatan untuk melakukan perbaikan lain juga. Yang paling perubahan yang signifikan meliputi:
• 64-bit kemampuan integer: Semua register tujuan umum (GPR) yang berkembang dari 32 bit ke 64 bit, dan aritmatika semua dan operasi logis, memori-untuk-mendaftar dan mendaftarkan-ke-memori operasi, dll, sekarang dapat beroperasi secara langsung 64-bit bilangan bulat. Dorong dan muncul pada tumpukan selalu dalam 8-byte langkah, dan pointer adalah 8 byte lebar.
• Tambahan register: Selain untuk meningkatkan ukuran register tujuan umum, jumlah bernama tujuan umum register meningkat dari delapan (yakni eax, ebx, ecx, edx, EBP, esp, esi, edi) di x86 ke 16 (rax yaitu, rbx, RCX, RDX, rbp, RSP, rsi, RDI, r8, r9, R10, R11, R12, r13, R14, R15). Oleh karena itu mungkin untuk menjaga lebih banyak variabel lokal dalam register bukan pada stack, dan membiarkan register memegang konstanta sering diakses, argumen untuk subrutin kecil dan cepat juga dapat lulus dalam register ke tingkat yang lebih besar. Namun, AMD64 masih memiliki register lebih sedikit daripada yang umum RISC instruksi set (yang biasanya memiliki 32-64 register) atau VLIW -seperti mesin seperti IA-64 (yang memiliki 128 register), catatan, bagaimanapun, bahwa karena mendaftar penggantian nama tersebut jumlah register fisik seringkali jauh lebih besar daripada jumlah register terpapar oleh set instruksi.
• XMM Tambahan (SSE) register: Demikian pula, jumlah 128-bit register XMM (digunakan untuk Streaming SIMD petunjuk) juga meningkat dari 8 sampai 16 tahun.
• Ruang yang lebih besar alamat virtual: Arsitektur AMD64 mendefinisikan format 64-bit alamat virtual, dimana orde rendah 48 bit digunakan dalam implementasi saat ini. ini memungkinkan hingga 256 TB (2 48 byte ) virtual mengatasi ruang. Definisi arsitektur memungkinkan batas ini akan dibangkitkan dalam implementasi masa depan ke 64 bit penuh, memperluas ruang alamat virtual untuk 16 EB (2 64 byte). Hal ini dibandingkan dengan hanya 4 GB (2 32 byte) untuk x86. Ini berarti bahwa file yang sangat besar dapat dioperasikan oleh pemetaan seluruh file ke ruang alamat proses '(yang sering jauh lebih cepat daripada bekerja dengan file membaca / menulis panggilan), daripada harus memetakan daerah dari file ke dalam dan keluar dari ruang alamat.
• Besar ruang alamat fisik: Pelaksanaan asli dari arsitektur AMD64 dilaksanakan 40-bit alamat fisik dan alamat sehingga bisa sampai dengan 1 TB (2 40 byte) RAM. implementasi kini arsitektur AMD64 (mulai dari AMD 10h mikroarsitektur ) memperpanjang ini untuk 48-bit alamat fisik dan karena itu dapat alamat hingga 256 TB RAM. Arsitektur memungkinkan memperluas ini untuk 52 bit di masa depan (dibatasi oleh format entri tabel halaman); ini akan memungkinkan pengalamatan hingga 4 PB RAM. Sebagai perbandingan, prosesor 32-bit x86 terbatas sampai 64 GB RAM di Ekstensi Alamat Fisik (PAE) mode, atau 4 GB RAM tanpa modus PAE.
• Besar ruang alamat fisik dalam modus warisan: Ketika beroperasi di modus warisan arsitektur AMD64 mendukung Ekstensi Alamat Fisik (PAE) mode, seperti halnya prosesor x86 terbaru, namun meluas AMD64 PAE dari 36 bit ke arsitektur batas dari 52 bit alamat fisik. Setiap pelaksanaan oleh karena itu memungkinkan batas alamat fisik yang sama seperti di bawah modus lama.
• Instruksi pointer relatif akses data: Petunjuk sekarang dapat data referensi relatif terhadap penunjuk instruksi (RIP pendaftaran). Hal ini membuat kode posisi independen , seperti yang sering digunakan dalam shared library dan kode dimuat pada waktu berjalan, lebih efisien.
• Instruksi SSE: Arsitektur AMD64 asli diadopsi Intel SSE dan SSE2 sebagai instruksi inti. SSE3 instruksi yang ditambahkan pada bulan April 2005. SSE2 merupakan alternatif untuk x87 set instruksi yang 80-bit presisi IEEE dengan pilihan baik IEEE 32-bit atau 64-bit floating-point matematika. Ini menyediakan operasi floating-point yang kompatibel dengan CPU modern lainnya. SSE dan instruksi SSE2 juga telah diperpanjang untuk beroperasi pada delapan XMM register baru. SSE dan SSE2 tersedia dalam 32-bit mode prosesor x86 yang modern, namun, jika mereka digunakan dalam program 32-bit, program-program tersebut hanya akan bekerja pada sistem dengan prosesor yang memiliki fitur tersebut. Ini bukan masalah di 64-bit program, karena semua prosesor AMD64 memiliki SSE dan SSE2, sehingga menggunakan SSE dan SSE2 petunjuk bukannya x87 instruksi tidak mengurangi set mesin yang x86-64 program dapat dijalankan. SSE dan SSE2 umumnya lebih cepat daripada, dan duplikat sebagian besar fitur dari x87 instruksi tradisional, MMX , dan 3DNow! .
• No-Execute bit : The "NX" bit (bit 63 dari entri tabel halaman) memungkinkan sistem operasi untuk menentukan halaman mana yang ruang alamat virtual dapat mengandung kode executable dan yang tidak bisa. Sebuah usaha untuk mengeksekusi kode dari halaman tagged "tidak mengeksekusi" akan menghasilkan pelanggaran akses memori, mirip dengan upaya untuk menulis ke halaman read-only. Hal ini seharusnya membuat lebih sulit untuk kode berbahaya untuk menguasai sistem melalui " penyangga overrun "atau" dicentang penyangga "serangan. Sebuah fitur yang serupa telah tersedia pada prosesor x86 sejak 80286 sebagai atribut deskriptor segmen, namun, ini hanya bekerja pada seluruh segmen pada satu waktu. Tersegmentasi menangani telah lama dianggap sebagai modus usang operasi, dan semua sistem PC saat operasi berlaku memotong itu, pengaturan semua segmen ke alamat dasar dan 0 (dalam pelaksanaan 32 bit mereka) ukuran 4 GB. AMD adalah vendor x86-keluarga pertama untuk menerapkan no-execute dalam mode pengalamatan linier. Fitur ini juga tersedia dalam modus warisan pada prosesor AMD64, dan baru-baru ini Intel prosesor x86, saat PAE digunakan.
• Penghapusan fitur yang lebih tua: Sejumlah "pemrograman sistem" fitur dari arsitektur x86 tidak digunakan dalam sistem operasi modern dan tidak tersedia pada AMD64 di panjang (64-bit dan kompatibilitas) modus. Ini termasuk menangani tersegmentasi (meskipun FS dan GS segmen dipertahankan dalam bentuk vestigial untuk digunakan sebagai pointer dasar ekstra untuk struktur sistem operasi) yang tugas negara beralih mekanisme, dan Virtual 8086 modus . Fitur-fitur ini tetap sepenuhnya diimplementasikan dalam "modus warisan," sehingga memungkinkan prosesor untuk menjalankan sistem operasi 32-bit dan 16-bit tanpa modifikasi.
Pustaka : Wiki.org
0 comments:
Post a Comment