Perbedaan i386, i486, i586, i686, AMD64

Mungkin kamu tahu bahwa komputer hanya bisa baca machine code (atau binary). Tapi orang biasanya membuat program di komputer language tingkat tinggi (kayak C, C++). Untuk merubah programming language ke computer language, ada proses yang namanya compilation. Compilation hanya bisa dilakukan ke sebuah architecture yang spesifik (x86, PowerPC, Itanium, Alpha, dll). Binary yang dibuat di sebuah architecture tidak bisa dijalankan di architecture yang lain. Makannya Linux buat PC biasa (x86) tidak bisa dijalankan di Macintosh (PowerPC).

Nah, x86 architecture sebetulnya ada perubahan dari jamannya 8086 ke Pentium 4 atau Athlon 64. Namun, mereka tetap backward compatible, sehingga program2 lama bisa dijalankan di PC baru. Architecture i386 itu ada bedanya dengan i486, yang juga beda dengan architecture i586 (Pentium) yang juga beda dengan i686 (Pentium Pro ke atas). Apabila sebuah program di compile untuk architecture yang lebih rendah, program itu akan berjalan di PC yang architecturenya lebih tinggi. Namun, tidak sebaliknya. Program yang dicompile di architecture yang lebih tinggi tidak akan berjalan di PC yang architecturenya lebih rendah. Ini juga mengapa Linux untuk architecture x86 bisa berjalan di komputer berbasis x86_64 seperti Athlon 64 atau Pentium 4-EMT, namun tidak sebaliknya.

Orang2 mengcompile ke architecture yang lebih tinggi untuk memanfaatkan optimisasi dari architecture tersebut. Di komputer yang sama, sebuah program akan berjalan lebih cepat apabila di compile di architecture i586 daripada architecture i386 (kalo nggak salah kira2 15-20%). Namun perbedaan antara i586 dan i686 tidak begitu banyak (kira2 5% saja kalo nggak salah). Sekarang kebanyakan Linux compile ke architecture i586 karena mana ada sih yang masih pake 386 atau 486 untuk komputer sehari-hari (bukan untuk tujuan khusus yah). Ada beberapa distro yang compile ke architecture i686, namun bisa dihitung dengan jari (setahu saya cuman Yoper).

Komputer sekarang yang banyak beredar adalah arsitektur i586 - i686 (Pentium 4, Athlon XP, Sempron, Celeron, Pentium III)
Mengenai arsitektur i686, ada juga SuSe 9.3 prof yang di built untuk arsitektur i686.

Beberapa populer yang termasuk dlm keluarga x86 :

# i386 #
Original Intel's i386 CPU.

# i486 #
Intel's i486 CPU. (No scheduling)

# i586 / pentium #
Intel Pentium Classic CPU (no MMX support)

# pentium-mmx #
Intel Pentium Classic core with MMX instruction set support

# i686 / pentiumpro #
Intel PentiumPro CPU

# pentium2 #
Intel Pentium2 CPU based on PentiumPro core with MMX instruction set support

# pentium3 / pentium3m #
Intel Pentium3 CPU based on PentiumPro core with MMX and SSE instruction set support

# pentium-m #
Low power version of Intel Pentium3 CPU with MMX, SSE and SSE2 instruction set support (Centrino notebooks)

# pentium4 / pentium4m #
Intel Pentium4 CPU with MMX, SSE and SSE2 instruction set support

# prescott #
Improved version of Intel Pentium4 CPU with MMX, SSE, SSE2 and SSE3 instruction set support

# nocona #
Improved version of Intel Pentium4 CPU with 64-bit extensions, MMX, SSE, SSE2 and SSE3 instruction set support

# k6 #
AMD K6 CPU with MMX instruction set support

# k6-2 / k6-3 #
Improved versions of AMD K6 CPU with MMX and 3dNOW! instruction set support

# athlon / athlon-tbird #
AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and SSE prefetch instructions support

# athlon-4 / athlon-xp / athlon-mp #
Improved AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and full SSE instruction set support.

# k8 / opteron / athlon64 / athlon-fx #
AMD K8 core based CPUs with x86-64 instruction set support
(which are supersets MMX, SSE, SSE2, 3dNOW!, enhanced 3dNOW! and 64-bit instruction set extensions.)

# winchip-c6 #
IDT Winchip C6 CPU, dealt in same way as i486 with additional MMX instruction set support.

# winchip2 #
IDT Winchip2 CPU, dealt in same way as i486 with additional MMX and 3dNOW! instruction set support.

# c3 #
Via C3 CPU with MMX and 3dNOW! instruction set support (No scheduling is implemented for this chip)

# c3-2 #
Via C3-2 CPU with MMX and SSE instruction set support (No scheduling is implemented for this chip)

# x86-64 #
AMD64 atau x86-64 atau x64 adalah prosesor dengan arsitektur 64-bit yang diciptakan (invented) oleh AMD merupakan superset dari arsitektur x86 dan juga didukung secara native. Set instruksi AMD64 saat ini digunakan di prosesor tipe Athlon 64, Athlon 64 FX, dan Opteron.

Intel kemudian merilis salinan arsitektur AMD64 yang diimplementasikan di Xeon generasi baru dan prosesor Pentium 4 F kemudian ganti nama rebranding menjadi EM64T. Intel juga menambahkan beberapa instruksi di EM64T terutama untuk menangani teknologi Hyperthreading.
Set instruksi AMD's x86-64 atau AMD64 merupakan usaha ambisius untuk membersihkan dan mengupdate arsitektur Intel x86-32 ke format yang lebih dekat dengan leading edge 64 bit RISC environments. Dirk Meyer adalah salah satu original co-architects dari DEC Alpha 64 bit chip disebutkan berperan dalam pembuatan spesifikasi AMD64.

No comments:

Post a Comment