Anda di halaman 1dari 34

Teknologi Prosesor Intel

1. MMX (set instruksi)


MMX adalah instruksi tunggal, multiple data ( SIMD ) set instruksi yang dirancang
oleh Intel , diperkenalkan pada tahun 1997 dengan mereka P5 berbasis Pentium garis mikroprosesor , ditunjuk sebagai "Pentium dengan Teknologi
MMX". Ini dikembangkan dari unit serupa memperkenalkan pada Intel i860 , dan
sebelumnya Intel i750 prosesor video pixel. MMX adalah kemampuan tambahan
prosesor yang didukung pada akhir IA-32 prosesor dengan Intel dan vendor lainnya.
MMX kemudian telah diperpanjang dengan beberapa program oleh Intel dan lainlain: 3DNow! dan revisi berkelanjutan Streaming SIMD Extensions .

Penamaan
MMX adalah resmi berarti initialism merek dagang oleh Intel secara tidak resmi, inisial telah
berbagai dijelaskan sebagai berdiri untuk ekstensi MultiMedia, Multiple Math
ekstensi, atauMatrix Math ekstensi.
AMD , dalam salah satu pertempuran pengadilan banyak dengan Intel, menghasilkan materi
pemasaran dari Intel menunjukkan bahwa MMX berdiri untuk "Matrix Math
Extensions". Karena initialism tidak bisa merek dagang, ini merupakan upaya untuk
membatalkan merek dagang Intel. Pada tahun 1997, Intel mengajukan gugatan terhadap
AMD dan Cyrix Corp untuk penyalahgunaan MMX merek dagang. AMD dan Intel
diselesaikan, dengan AMD mengakui MMX sebagai merek dagang yang dimiliki oleh Intel,
dengan Intel dan AMD hibah hak untuk menggunakan merek dagang MMX sebagai nama
teknologi, tetapi bukan nama prosesor.

Rincian teknis

Prosesor Pentium II dengan teknologi MMX


MMX didefinisikan delapan register , yang dikenal sebagai MM0 melalui MM7 (selanjutnya
disebut sebagai MMN). Untuk menghindari masalah kompatibilitas dengan mekanisme saklar
konteks sistem operasi yang ada, register ini adalah alias untuk ada x87 FPU tumpukan
register (jadi tidak ada register baru perlu diselamatkan atau dikembalikan). Oleh karena itu,
apa pun yang dilakukan untuk floating point tumpukan juga akan mempengaruhi register
MMX dan sebaliknya. Namun, tidak seperti FP stack, register MMN secara langsung
dialamatkan (random access).

Setiap register MMN memegang 64 bit ( mantissa -bagian dari penuh 80-bit FPU
pendaftaran). Penggunaan utama dari set instruksi MMX didasarkan pada konsep dikemas
tipe data, yang berarti bahwa alih-alih menggunakan seluruh register integer 64-bit tunggal,
dua bilangan bulat 32-bit, empat bilangan bulat 16-bit, atau delapan 8 -bit bilangan bulat
dapat diproses secara bersamaan.
Pemetaan MMX register ke register FPU yang ada membuatnya agak sulit untuk bekerja
dengan floating point dan data SIMD dalam aplikasi yang sama. Untuk memaksimalkan
kinerja, programmer sering digunakan prosesor secara eksklusif dalam satu modus atau yang
lain, menunda saklar relatif lambat antara mereka selama mungkin.
Karena tumpukan register FPU adalah 80 bit lebar, bagian atas 16 bit dari register tumpukan
pergi tidak digunakan di MMX, dan bit-bit yang siap untuk orang, membuat
mereka NaN atau tak terbatas itu dalam representasi floating point. Hal ini dapat digunakan
untuk memutuskan apakah konten register tertentu dimaksudkan sebagai floating point atau
data SIMD.
MMX hanya menyediakan operasi integer. Ketika awalnya dikembangkan, untuk Intel i860 ,
penggunaan bilangan bulat matematika masuk akal (baik 2D dan 3D diperlukan perhitungan
itu), tetapi sebagai kartu grafis yang melakukan banyak hal ini menjadi
umum, bulat SIMD dalam CPU menjadi agak berlebihan untuk aplikasi grafis. Di sisi
lain, aritmatika saturasi beroperasi di MMX secara signifikan dapat mempercepat
beberapa pemrosesan sinyal digital aplikasi.

Penerus
AMD, vendor mikroprosesor x86 bersaing, MMX Intel ditingkatkan dengan mereka
sendiri 3DNow! set instruksi. 3DNow paling dikenal untuk menambahkan presisi tunggal
(32-bit) dukungan floating-point ke SIMD instruksi-set, antara lain bilangan bulat dan
perangkat yang lebih umum.
Setelah MMX, ekstensi x86 utama berikutnya Intel adalah SSE , diperkenalkan dengan
keluarga Pentium-III (kira-kira setahun setelah 3DNow AMD! diperkenalkan.)
SSE membahas kekurangan inti MMX (ketidakmampuan untuk mencampur integer SIMD
ops dengan floating-point ops) dengan menciptakan 128-bit lebar register file baru (xmm0XMM7) dan instruksi SIMD baru untuk itu.Seperti 3DNow, SSE berfokus pada presisi
tunggal operasi floating-point (32-bit), operasi integer SIMD masih dilakukan dengan
menggunakan register MMX dan set instruksi. Namun, XMM baru mendaftar-file yang
diizinkan SSE SIMD-operasi untuk digabungkan secara bebas dengan baik MMX atau x87
FPU ops.
SSE2 , diperkenalkan dengan Pentium 4, lebih lanjut memperluas SIMD instruksi x86 set
dengan bilangan bulat (8/16/32 bit) dan double-presisi data dukungan floating-point untuk
register file XMM. SSE2 juga memungkinkan opcodes MMX menggunakan XMM
mendaftar operan, tetapi berakhir dukungan ini dengan SSE4 (dan baru-baru dengan SSE4.2 ,
diperkenalkan padamikroarsitektur Inti) Namun, karena dukungan prosesor untuk setiap
revisi SSE juga menyiratkan dukungan untuk MMX, penghapusan tidak membatasi jenis data
yang dapat digunakan oleh x86 SIMD.

MMX dalam aplikasi embedded

Intel dan Marvell 's XScale mikroprosesor inti dimulai dengan PXA270 termasuk SIMD set
instruksi ekstensi ke inti ARM disebut iwMMXt yang fungsinya mirip dengan orang-orang
dari IA-32ekstensi MMX. iwMMXt singkatan dari "Intel Wireless MMX Technology". Ini
menyediakan operasi aritmatika dan logika pada 64-bit bilangan bulat (perangkat lunak dapat
memilih untuk bukan melakukan dua 32-bit, empat 16-bit atau delapan operasi 8-bit dalam
instruksi tunggal). Ekstensi berisi 16 register data dari 64-bit dan delapan register kontrol 32bit. Semua register diakses melalui standar arsitektur ARM coprocessor mekanisme
pemetaan. iwMMXt menempati coprocessors 0 dan 1 ruang, dan beberapa
yang opcodes bentrokan dengan opcodes perpanjangan sebelumnya floating-point, FPA.
Kemudian versi Marvell prosesor ARM 's mendukung WMMX (Wireless MMX) dan
WMMX2 (Wireless MMX2) dukungan.

2. Streaming SIMD Extensions


Dalam komputasi , Streaming SIMD Extensions (SSE) adalah SIMD set instruksi ekstensi
untuk x86 arsitektur, dirancang oleh Intel dan diperkenalkan pada tahun 1999 di
mereka Pentium IIIprosesor seri sebagai jawaban atas AMD 's 3DNow! . SSE berisi 70
instruksi baru, yang sebagian besar bekerja pada presisi tunggal floating point data. Instruksi
SIMD dapat sangat meningkatkan kinerja kapan tepatnya operasi yang sama harus dilakukan
pada beberapa objek data. Aplikasi yang umum adalah pemrosesan sinyal
digital dan pengolahan grafis .
Pertama Intel IA-32 SIMD usaha adalah MMX set instruksi. MMX punya dua masalah
utama: digunakan kembali ada floating point register membuat CPU tidak dapat bekerja pada
kedua floating point dan data SIMD pada saat yang sama, dan hanya bekerja pada bilangan
bulat . SSE instruksi floating point beroperasi pada independen mendaftar set baru (register
XMM), dan menambahkan beberapa instruksi integer yang bekerja pada register MMX.
SSE kemudian diperluas oleh Intel untuk SSE2 , SSE3 , SSSE3 , dan SSE4 . Karena
mendukung floating point matematika, itu aplikasi yang lebih luas daripada MMX dan
menjadi lebih populer.Penambahan dukungan integer dalam SSE2 MMX membuat sebagian
besar berlebihan, meskipun peningkatan kinerja lebih lanjut dapat dicapai dalam beberapa
situasi dengan menggunakan MMX secara paralel dengan operasi SSE.
SSE awalnya disebut Katmai New Instructions (KNI), Katmai menjadi nama kode untuk
revisi inti Pentium III pertama. Selama Katmai proyek Intel berusaha untuk membedakannya
dari lini produk mereka sebelumnya, terutama mereka andalannya Pentium II . Ia kemudian
diganti Intel Streaming SIMD Extensions (ISSE), kemudian SSE. AMD akhirnya

menambahkan dukungan untuk instruksi SSE, dimulai dengan yang Athlon


XP dan Duron ( Morgan inti ) prosesor.

Register
SSE awalnya menambah delapan baru 128-bit register dikenal sebagai xmm0 melalui
XMM7. The AMD64 ekstensi dari AMD (awalnya disebut x86-64) menambahkan delapan
register lanjut XMM8 melalui XMM15, dan ekstensi ini diduplikasi dalam 64
Intel arsitektur. Ada juga kontrol / status mendaftar 32-bit yang baru, MXCSR. Register
XMM8 melalui XMM15 hanya dapat diakses dalam mode operasi 64-bit.

SSE digunakan hanya tipe data tunggal untuk register XMM:

empat 32-bit presisi tunggal nomor floating point

SSE2 kemudian memperluas penggunaan XMM register meliputi:

dua 64-bit presisi ganda nomor floating point atau

dua bilangan bulat 64-bit atau

empat bilangan bulat 32-bit atau

delapan bilangan bulat pendek 16-bit atau

enam belas byte 8-bit atau karakter.

Karena register 128-bit adalah negara Program tambahan bahwa sistem operasi harus
menjaga seluruh switch tugas , mereka dinonaktifkan secara default sampai sistem operasi
eksplisit memungkinkan mereka. Ini berarti bahwa OS harus tahu bagaimana menggunakan
FXSAVE dan instruksi FXRSTOR, yang merupakan pasangan diperpanjang instruksi yang

dapat menyimpan semua x86 dan register SSE negara sekaligus. Dukungan ini dengan cepat
ditambahkan ke semua sistem operasi utama IA-32.
CPU pertama yang mendukung SSE, yang Pentium III , berbagi sumber daya eksekusi antara
SSE dan FPU . Sementara dikompilasi aplikasi dapat interleave FPU dan instruksi SSE sideby-side, Pentium III tidak akan mengeluarkan FPU dan instruksi SSE di sama siklus
clock . Keterbatasan ini mengurangi efektivitas pipelining , tetapi register XMM terpisah
mengizinkan SIMD dan operasi floating point skalar untuk dicampur tanpa kinerja hit dari
MMX eksplisit / modus floating point switching.

Versi

SSE2 , diperkenalkan dengan Pentium 4 , adalah perangkat tambahan besar untuk


SSE. SSE2 menambahkan instruksi matematika baru untuk presisi ganda titik (64-bit)
mengambang dan juga memperluas instruksi integer MMX untuk beroperasi pada 128-bit
register XMM. Sampai SSE2, SSE instruksi bilangan bulat diperkenalkan dengan
ekstensi SSE kemudian masih bisa beroperasi pada 64-bit MMX register karena register
XMM baru membutuhkan dukungan sistem operasi. SSE2 memungkinkan programmer
untuk melakukan SIMD matematika pada setiap tipe data (dari 8-bit integer 64-bit float)
seluruhnya dengan XMM file vektor-register, tanpa perlu menggunakan warisan MMX
atau register FPU. Banyak programmer menganggap SSE2 menjadi "segalanya SSE
seharusnya", sebagai SSE2 menawarkan himpunan ortogonal instruksi untuk menangani
jenis data umum.

SSE3 , juga disebut Prescott New Instructions (PNI), merupakan incremental upgrade
ke SSE2, menambahkan beberapa berorientasi DSP instruksi matematika dan beberapa
proses (benang) instruksi manajemen.

SSSE3 adalah incremental upgrade ke SSE3, menambahkan 16 instruksi baru yang


meliputi permuting byte dalam kata, mengalikan 16-bit fixed-point angka dengan
pembulatan benar, dan dalam kata menumpuk instruksi. SSSE3 sering keliru
untuk SSE4 sebagai istilah ini digunakan selama pengembangan dari
Core microarchitecture .

SSE4 adalah peningkatan besar lainnya, menambahkan instruksi dot produk, instruksi
integer tambahan, instruksi popcnt, dan banyak lagi.

XOP , FMA4 dan CVT16 adalah iterasi baru diumumkan oleh AMD pada bulan
Agustus 2007 dan direvisi pada Mei 2009.

AVX (Advanced Vector Extensions) adalah versi lanjutan dari SSE diumumkan oleh
Intel menampilkan jalur data melebar dari 128 bit ke 256 bit dan instruksi 3-operan (naik
dari 2). Intel merilis prosesor pada awal tahun 2011 dengan dukungan AVX. AVX
memerlukan dukungan dari sistem operasi. AVX tidak dapat dimanfaatkan pada sistem
operasi lama seperti Windows XP atau Windows Vista, bahkan jika CPU mendukung
AVX.

Perangkat lunak dan keras


Dengan semua ekstensi set instruksi x86, terserah ke BIOS , sistem operasi dan pemrogram
aplikasi untuk menguji dan mendeteksi keberadaan mereka dan operasi yang tepat.

Intel dan AMD menawarkan aplikasi untuk mendeteksi ekstensi mendukung CPU
Anda.

The CPUID opcode adalah penolong instruksi prosesor (namanya berasal dari CPU
Identification) untuk arsitektur x86. Saat itu diperkenalkan oleh Intel pada tahun 1993
ketika memperkenalkan Pentium dan prosesor 486 SL Enhanced.

Pengguna aplikasi penyerapan ekstensi x86 telah lambat bahkan dengan telanjang minimum
dasar MMX dan dukungan SSE (dalam beberapa kasus) tidak didukung oleh aplikasi sekitar
10 tahun setelah ekstensi ini menjadi umum tersedia. Komputasi terdistribusi telah
mempercepat penggunaan ekstensi ini di masyarakat-dan ilmiah banyak aplikasi ilmiah
menolak untuk berjalan kecuali CPU mendukung SSE2 atau SSE3 .
Penggunaan beberapa revisi dari aplikasi untuk mengatasi banyak set yang berbeda dari
ekstensi yang tersedia adalah cara paling sederhana sekitar masalah optimasi ekstensi
x86. Software perpustakaan dan beberapa aplikasi telah mulai mendukung beberapa jenis
ekstensi mengisyaratkan bahwa penuh penggunaan instruksi x86 yang tersedia mungkin
akhirnya menjadi umum sekitar 5 sampai 15 tahun setelah instruksi awalnya diperkenalkan.

3. SSE2
SSE2, Streaming SIMD Extensions 2, adalah salah satu dari Intel SIMD (Instruksi Single,
Multiple Data) prosesor instruksi tambahan set pertama diperkenalkan oleh Intel dengan versi
awalPentium 4 pada tahun 2001. Ini memperluas sebelumnya SSE set instruksi, dan
dimaksudkan untuk sepenuhnya menggantikan MMX . Intel diperpanjang SSE2 untuk
membuat SSE3 pada tahun 2004. SSE2 menambahkan 144 instruksi baru untuk SSE, yang
memiliki 70 instruksi. Bersaing pembuat chip AMD menambahkan dukungan untuk SSE2
dengan pengenalan mereka Opterondan Athlon 64 kisaran AMD64 64-bit CPU pada tahun
2003.

Perubahan
Sebagian besar instruksi SSE2 menerapkan vektor floating-point operasi juga ditemukan di
MMX. Mereka berbeda dari setara MMX mereka dalam bahwa mereka menggunakan XMM
register bukan x87 register. Yang pertama digunakan oleh instruksi SSE dan yang terakhir
dengan skalar floating-point (x87) instruksi. Karena menggunakan satu set register untuk set
instruksi yang berbeda membutuhkan modus switching, SSE2 memungkinkan pencampuran
skalar dan vektor operasi floating-point tanpa hukuman kinerja beralih modus. Selain itu,
sementara MMX yang menggunakan x87 register sebagai register 64bit, SSE2 dapat
menggunakan kapasitas penuh 128bit register XMM, yang memberikan potensi keuntungan
kinerja besar dalam aplikasi dioptimalkan.
Lainnya SSE2 ekstensi termasuk satu set Cache instruksi kontrol dimaksudkan terutama
untuk meminimalkan pencemaran tembolok saat memproses aliran tak terbatas informasi,
dan pelengkap canggih instruksi konversi format numerik.
Pelaksanaan AMD SSE2 pada (AMD64 x86-64 ) platform termasuk tambahan delapan
register, dua kali lipat jumlah total 16 (xmm0 melalui XMM15). Ini tambahan register hanya
terlihat ketika berjalan dalam modus 64-bit. Intel mengadopsi ini register tambahan sebagai
bagian dari dukungan mereka untuk arsitektur x86-64 (atau dalam bahasa Intel, "Intel 64")
pada tahun 2004.

Perbedaan antara x87 FPU dan SSE2


FPU (x87) instruksi memberikan presisi lebih tinggi dengan menghitung hasil antara dengan
80 bit presisi, secara default, untuk meminimalkan kesalahan roundoff dalam algoritma
numerik tidak stabil (lihat desain IEEE 754 pemikiran dan referensi di dalamnya). Namun,
x87 FPU adalah unit skalar hanya sementara SSE2 dapat memproses vektor kecil dari operan
secara paralel.

Jika kode yang dirancang untuk x87 yang porting ke bawah presisi ganda presisi floating
point SSE2, kombinasi tertentu operasi matematika atau dataset input dapat mengakibatkan
penyimpangan numerik terukur, yang dapat menjadi masalah dalam perhitungan ilmiah
direproduksi, misalnya jika hasil perhitungan harus dibandingkan terhadap hasil yang
dihasilkan dari arsitektur mesin yang berbeda. Isu yang terkait adalah bahwa, secara historis,
standar bahasa dan compiler telah tidak konsisten dalam penanganan register x87 80-bit
menerapkan variabel presisi diperpanjang ganda, dibandingkan dengan format presisi ganda
dan tunggal diimplementasikan dalam SSE2: pembulatan diperpanjang nilai presisi
menengah untuk menggandakan variabel presisi tidak sepenuhnya ditentukan dan tergantung
pada rincian pelaksanaan seperti ketika register yang tumpah ke memori. Namun, standar
bahasa modern seperti C99 dan Fortran 2003 telah memasukkan dukungan IEEE 754 floating
point dan sekarang persis menentukan semantik diperpanjang ganda ("panjang ganda")
ekspresi presisi untuk menghindari masalah reproduktifitas tersebut.

Perbedaan antara MMX dan SSE2


SSE2 meluas instruksi MMX untuk beroperasi pada register XMM. Oleh karena itu, adalah
mungkin untuk mengubah semua kode MMX yang ada untuk setara SSE2. Sejak mendaftar
XMM adalah dua kali lebih lama sebagai MMX register, counter lingkaran dan akses memori
mungkin perlu diubah untuk mengakomodasi ini. Namun, beban 8 byte dan toko untuk XMM
tersedia, jadi ini tidak diperlukan ketat.
Meskipun satu SSE2 instruksi dapat beroperasi pada dua kali lebih banyak data sebagai
instruksi MMX, kinerja mungkin tidak meningkat secara signifikan. Dua alasan utama
adalah: mengakses SSE2 data dalam memori tidak selaras dengan batas 16-byte dapat
dikenakan hukuman yang signifikan, dan throughput yang dari SSE2 petunjuk di
tua x86 implementasi adalah setengah bahwa untuk instruksi MMX. Intel membahas masalah
pertama dengan menambahkan instruksi dalam SSE3 untuk mengurangi overhead mengakses
data unaligned dan meningkatkan kinerja keseluruhan beban sejajar, dan masalah terakhir
dengan memperluas mesin eksekusi mereka mikroarsitektur Inti di Core 2 Duo dan produk
kemudian.
Sejak MMX dan x87 file mendaftar alias satu sama lain, menggunakan MMX akan mencegah
x87 instruksi dari bekerja seperti yang diinginkan. Setelah MMX telah digunakan,
programmer harus menggunakan instruksi Emms (C: _mm_empty ()) untuk mengembalikan
operasi untuk register file x87. Pada beberapa sistem operasi, x87 tidak digunakan sangat
banyak, tapi masih dapat digunakan dalam beberapa bidang penting seperti pow () dimana
presisi ekstra yang dibutuhkan. Dalam kasus tersebut, para koruptor floating-point negara
disebabkan oleh kegagalan untuk memancarkan Emms mungkin tidak terdeteksi selama

jutaan instruksi sebelum akhirnya menyebabkan rutinitas floating-point untuk gagal, kembali
NaN. Karena masalahnya bukan lokal jelas dalam kode MMX, bug bisa sangat memakan
waktu untuk menemukan dan memperbaiki waktu. Sebagai SSE2 tidak memiliki masalah ini,
biasanya menyediakan throughput yang lebih baik dan menyediakan lebih banyak register
dalam kode 64-bit, itu harus lebih diutamakan untuk hampir semua pekerjaan vektorisasi.

Compiler penggunaan
Ketika pertama kali diperkenalkan pada tahun 2000, SSE2 tidak didukung oleh alat
pengembangan perangkat lunak. Misalnya, untuk menggunakan SSE2 dalam Microsoft
Developer Studioproyek, programmer harus secara manual menulis inline-perakitan atau
impor kode-obyek dari sumber eksternal. Kemudian Visual C + + Pack menambahkan
Processor SSE2 dukungan untukVisual C + + dan MASM .
The Intel C + + Compiler secara otomatis dapat menghasilkan SSE4/SSSE3/SSE3/SSE2
dan / atau SSE-kode tanpa menggunakan tangan-kode perakitan.
Sejak GCC 3, GCC secara otomatis dapat menghasilkan SSE/SSE2 kode skalar ketika target
mendukung instruksi tersebut. vektorisasi otomatis untuk SSE/SSE2 telah ditambahkan sejak
GCC 4.
The Sun Studio Compiler Suite juga dapat menghasilkan SSE2 instruksi ketika compiler
bendera xvector = SIMD digunakan.

CPU yang mendukung SSE2

AMD K8 berbasis CPU ( Athlon 64 , Sempron 64 , Turion 64 , dll)

AMD Phenom CPU

Intel NetBurst berbasis CPU ( Pentium 4 , Xeon , Celeron , Celeron D , dll)

Intel Pentium M dan Celeron M

Intel Core keluarga (termasuk Intel Core 2 , Intel Core i5 , Intel Core i7 )

Intel Atom

Transmeta Efficeon

VIA C7

VIA Nano

Terkemuka IA-32 CPU tidak mendukung SSE2


SSE2 merupakan perpanjangan dari IA-32 arsitektur. Oleh karena itu setiap arsitektur yang
tidak mendukung IA-32 tidak mendukung SSE2. x86-64 CPU semua menerapkan IA32 . Semua dikenal x86-64 CPU juga menerapkan SSE2. Karena IA-32 mendahului SSE2,
awal IA-32 CPU tidak menerapkannya. SSE2 dan set instruksi SIMD lain dimaksudkan
terutama untuk meningkatkan dukungan CPU untuk grafis realtime, terutama game. SSE2
juga merupakan persyaratan untuk menginstal Windows 8 atau Microsoft Office 2013 "untuk
meningkatkan keandalan aplikasi dan driver berjalan di Windows 8 pihak ketiga".
Berikut CPU dilaksanakan IA-32 setelah SSE2 dikembangkan, tetapi tidak menerapkan
SSE2:

AMD CPU sebelum Athlon 64 , termasuk semua Socket A CPU berbasis

Intel CPU sebelum Pentium 4

VIA C3

Transmeta Crusoe

4. SSE3
SSE3, Streaming SIMD Extensions 3, juga yang dikenal dengan Intel kode nama Prescott
New Instructions (PNI), merupakan iterasi ketiga dari SSE set instruksi untuk IA-32 (x86)
arsitektur.Intel memperkenalkan SSE3 pada awal tahun 2004 dengan revisi Prescott dari
mereka Pentium 4 CPU. Pada bulan April 2005, AMD memperkenalkan subset dari SSE3
dalam revisi E (Venice dan San Diego) mereka Athlon 64 CPU. Semakin awal SIMD set
instruksi pada x86 Platform, dari yang terlama ke terbaru,
adalah MMX , 3DNow! (dikembangkan oleh AMD), SSE dan SSE2 .
SSE3 berisi 13 instruksi baru selama SSE2 .

Perubahan
Perubahan yang paling penting adalah kemampuan untuk bekerja secara horizontal di
register, yang bertentangan dengan lebih atau kurang ketat vertikal operasi dari semua
instruksi SSE sebelumnya. Lebih khusus, instruksi untuk menambah dan mengurangi
beberapa nilai yang disimpan dalam register tunggal telah ditambahkan. Instruksi ini
menyederhanakan pelaksanaan sejumlah DSP dan 3D operasi. Ada juga instruksi baru untuk
mengkonversi nilai floating point ke integer tanpa harus mengubah modus pembulatan
global, sehingga menghindari mahal pipawarung. Akhirnya, ekstensi menambahkan LDDQU,
beban vektor bilangan bulat sejajar alternatif yang memiliki performa lebih baik
pada NetBurst platform berbasis untuk beban yang melintasi batas cacheline.

CPU dengan SSE3

AMD :

Athlon 64 (Venice sejak Stepping E3 dan San Diego Stepping E4)

Athlon 64 X2

Athlon 64 FX (sejak San Diego Stepping E4)

Opteron (karena Stepping E4)

Sempron (karena Stepping E3 Palermo.)

Phenom

Phenom II

Athlon II

Turion 64

Turion 64 X2

Turion X2

Turion X2 Ultra

Turion II X2 Ponsel

Turion II X2 Ultra

APU

FX Series

Intel :

Celeron D

Celeron (dimulai dengan mikroarsitektur Core)

Pentium 4 (sejak Prescott)

Pentium D

Pentium Extreme Edition (tapi BUKAN Pentium 4 Extreme Edition)

Pentium Dual-Core

Pentium (dimulai dengan mikroarsitektur Core)

Inti

Xeon (karena Nocona)

Atom

VIA / Centaur :

C7

Nano
Transmeta Efficeon TM88xx (TIDAK Model Nomor TM86xx).

Instruksi baru

Instruksi umum
Hitung

ADDSUBPD - (Add-Kurangi-Dikemas-Double)

Masukan: {A0, A1}, {B0, B1}

Output: {A0 - B0, A1 + B1}

ADDSUBPS - (Add-Kurangi-Dikemas-Single)

Masukan: {A0, A1, A2, A3}, {B0, B1, B2, B3}

Output: {A0 - B0, A1 + B1, A2 - B2, A3 + B3}

AOS (Array Of Struktur)

HADDPD - (Horizontal-Add-Dikemas-Double)

Masukan: {A0, A1}, {B0, B1}

Output: {A0 + A1, B1 B0 +}

HADDPS (horizontal-Add-Dikemas-Single)

Masukan: {A0, A1, A2, A3}, {B0, B1, B2, B3}

Output: {A0 + A1, A2 + A3, B0 + B1, B2 + B3}

HSUBPD - (Horizontal-Kurangi-Dikemas-Double)

Masukan: {A0, A1}, {B0, B1}

Output: {A0 - A1, B0 - B1}

HSUBPS - (Horizontal-Kurangi-Dikemas-Single)

Masukan: {A0, A1, A2, A3}, {B0, B1, B2, B3}

Output: {A0 - A1, A2 - A3, B0 - B1, B2 - B3}

LDDQU - Sebagaimana dinyatakan di atas, ini adalah sejajar beban vektor bilangan
bulat alternatif. Hal ini dapat membantu untuk tugas-tugas kompresi video.

MOVDDUP, MOVSHDUP, MOVSLDUP - ini juga digunakan untuk bilangan


kompleks, dan dapat membantu untuk perhitungan gelombang seperti suara.

FISTTP - Seperti tua x87 FISTP instruksi, tetapi mengabaikan pengaturan modus
pembulatan floating point kontrol mendaftar dan menggunakan "memotong" (truncate)
siaga sebagai pengganti. Memungkinkan kelalaian pemuatan mahal dan re-loading
register kontrol dalam bahasa seperti C di mana konversi apung ke-int memerlukan
perilaku truncate oleh standar.

Instruksi Intel

MONITOR, MWAIT - Ini mengoptimalkan aplikasi multi-threaded, memberikan


prosesor dengan Hyper-Threading kinerja yang lebih baik.

5. SSSE3
Tambahan Streaming SIMD Extensions 3 (SSSE3 atau SSE3S) adalah SIMD set instruksi
yang

Sejarah
SSSE3 pertama kali diperkenalkan dengan prosesor Intel berdasarkan mikroarsitektur
Inti tanggal 26 Juni 2006 dengan "Woodcrest" Xeon.
SSSE3 telah disebut oleh codenames Tejas Instruksi Baru (TNI) atau Merom New
Instructions (MNI) untuk desain prosesor pertama dimaksudkan untuk mendukungnya.

Fungsi
SSSE3 berisi 16 petunjuk diskrit baru.

Setiap instruksi dapat bertindak pada 64-bit MMX atau 128-bit register XMM. Oleh karena
itu, bahan Intel lihat 32 instruksi baru.
Menurut Intel:
SSSE3 memberikan 32 instruksi (diwakili oleh 14 mnemonik) untuk mempercepat
perhitungan pada bilangan bulat dikemas. Ini termasuk:

Dua belas instruksi yang melakukan penambahan horisontal atau operasi


pengurangan.

Enam instruksi yang mengevaluasi nilai absolut.

Dua instruksi yang melakukan biak dan menambahkan operasi dan mempercepat
evaluasi dot produk.

Dua instruksi yang mempercepat operasi multiply dikemas bilangan bulat dan
menghasilkan nilai integer dengan skala.

Dua instruksi yang melakukan byte-bijaksana, di tempat mengocok sesuai dengan


operan kontrol mengocok kedua.

Enam instruksi yang meniadakan bilangan bulat dikemas dalam operan tujuan jika
tanda-tanda dari elemen yang sesuai dalam operan sumber kurang dari nol.

Dua instruksi yang menyelaraskan data dari komposit dari dua operan.

CPU dengan SSSE3

AMD :

Bobcat

Buldoser

Piledriver

Intel :

Xeon 5100 Series

Xeon 5300 Series

Xeon 3000 Series

Core 2 Duo

Core 2 Extreme

Core 2 Quad

Core i7

Core i5

Core I3

Pentium Dual Core

Celeron 4xx Urutan Conroe-L

Celeron Dual Core E1200

Celeron M 500 series

Atom

VIA :

Nano

6. SSE4
SSE4 (Streaming SIMD Extensions 4) adalah CPU set instruksi yang digunakan
dalam Intel mikroarsitektur Core dan AMD K10 (K8L) . Ini diumumkan pada tanggal 27
September 2006 di musim gugur 2006 Intel Developer Forum , dengan rincian jelas
dalam kertas putih ,rincian lebih tepat dari 47 instruksi menjadi tersedia di musim semi
2007 Intel Developer Forum di Beijing , dalam presentasi. The SSE4 Pemrograman
Referensi tersedia dari Intel.

SSE4 subset

Intel SSE4 terdiri dari 54 instruksi. Sebuah subset yang terdiri dari 47 instruksi, disebut
sebagai SSE4.1 di beberapa dokumentasi Intel, tersedia dalam Penryn . Selain
itu, SSE4.2, subset kedua yang terdiri dari 7 instruksi yang tersisa, adalah pertama yang
tersedia di Nehalem berbasis core i7 . Intel credits umpan balik dari pengembang sebagai
memainkan peran penting dalam pengembangan set instruksi.
AMD mendukung 4 instruksi dari SSE4 set instruksi, tetapi juga telah menambahkan empat
instruksi SSE baru, penamaan kelompok SSE4a. Instruksi ini tidak ditemukan dalam prosesor
Intel mendukung SSE4.1 dan prosesor AMD baru mulai mendukung Intel SSE4.1 dan
SSE4.2 di Bulldozer FX prosesor berbasis. Dukungan telah ditambahkan untuk SSE4a untuk
unaligned SSE instruksi beban-operasi (yang sebelumnya diperlukan keselarasan 16-byte).

Penamaan
Apa yang sekarang dikenal sebagai SSSE3 (Supplemental Streaming SIMD Extensions 3),
diperkenalkan dalam Intel Core 2 garis prosesor, disebut sebagai SSE4 oleh beberapa media
hingga Intel datang dengan moniker SSSE3. Internal dijuluki Merom Petunjuk Baru, Intel
awalnya tidak berencana untuk menetapkan nama khusus bagi mereka, yang dikritik oleh
beberapa wartawan. Intel akhirnya dibersihkan kebingungan dan milik nama SSE4 untuk
mereka (pada waktu itu) mendatang set instruksi ekstensi.
Intel menggunakan istilah pemasaran HD Meningkatkan untuk merujuk SSE4.

Instruksi baru
Tidak seperti semua iterasi sebelumnya SSE, SSE4 berisi instruksi yang mengeksekusi
operasi yang tidak spesifik untuk aplikasi multimedia. Ini memiliki sejumlah instruksi yang
tindakan ditentukan oleh medan konstan dan satu set instruksi yang mengambil xmm0
sebagai operan ketiga implisit.
Beberapa petunjuk ini diaktifkan oleh satu siklus mesin shuffle dalam Penryn. (Operasi
Shuffle menyusun ulang byte dalam register.)

7. Hyper-threading

Skema Teknologi Hyper-Threading Intel.

Hyper-threading (resmi Teknologi Hyper-Threading atau HT


Technology, disingkat HTT atau HT) adalah Intel milik simultan multithreading
(SMT) implementasi digunakan untuk meningkatkan paralelisasi perhitungan (melakukan
beberapa tugas sekaligus) dilakukan pada mikroprosesor PC. Ini pertama kali muncul pada
bulan Februari 2002 tentang Xeon Server prosesor dan pada bulan November 2002
tentang Pentium 4 desktop CPU. Kemudian, Intel termasuk teknologi ini di Itanium , Atom ,
dan Core 'i' Seri CPU, antara lain.
Untuk setiap inti prosesor yang hadir secara fisik, dengan sistem operasi membahas dua core
virtual atau logis, dan saham beban kerja antara mereka bila memungkinkan. Fungsi utama
dari hyper-threading adalah untuk mengurangi jumlah instruksi tergantung pada pipa. Ia
mengambil keuntungan dari superscalar arsitektur (beberapa instruksi beroperasi pada data
yang terpisah secara paralel). Mereka muncul ke OS sebagai dua prosesor, sehingga OS dapat
menjadwalkan dua proses sekaligus. Selain dua atau lebih proses dapat menggunakan sumber
daya yang sama. Jika satu proses gagal maka sumber daya dapat segera kembali dialokasikan.

Hyper-threading tidak hanya menuntut bahwa sistem operasi mendukung TPS , tetapi juga
bahwa secara khusus dioptimalkan untuk HTT, dan Intel merekomendasikan menonaktifkan
HTT ketika menggunakan sistem operasi yang belum dioptimalkan untuk fitur chip ini.

Detail

prosesor yang menggabungkan Teknologi Hyper-Threading Intel Pentium


Hyper-threading bekerja dengan menduplikasi bagian tertentu dari prosesor-orang yang
menyimpan negara arsitektur - tetapi tidak menduplikasi sumber utama eksekusi. Hal ini
memungkinkan prosesor hyper-threading untuk tampil sebagai prosesor biasa "fisik" dan
tambahan "logis" prosesor ke sistem operasi host (sistem operasi HTT-sadar melihat dua
"fisik" prosesor), yang memungkinkan sistem operasi untuk menjadwalkan dua benang atau
proses secara bersamaan dan tepat. Ketika sumber daya eksekusi tidak akan digunakan oleh
tugas saat ini di prosesor tanpa hyper-threading, dan terutama ketika prosesor terhenti,
prosesor dilengkapi hyper-threading dapat menggunakan sumber daya eksekusi untuk
menjalankan tugas lain dijadwalkan.(Prosesor mungkin kios karena cache miss , cabang
misprediction , atau data ketergantungan .)
Teknologi ini transparan untuk sistem operasi dan program. Minimum yang diperlukan untuk
mengambil keuntungan dari hyper-threading adalahSymmetric Multiprocessing (SMP)
dukungan dalam sistem operasi , seperti prosesor logis muncul sebagai prosesor yang terpisah
standar.
Hal ini dimungkinkan untuk mengoptimalkan perilaku sistem operasi pada multi-prosesor
sistem yang mampu hyper-threading. Sebagai contoh, perhatikan sistem SMP dengan dua

prosesor fisik yang baik hiper-threaded (untuk total empat prosesor logis). Jika sistem operasi
benang schedulertidak menyadari hyper-threading akan memperlakukan semua empat
prosesor logis yang sama. Jika hanya dua benang berhak mencalonkan diri, mungkin memilih
untuk jadwal mereka benang pada dua prosesor logis yang kebetulan milik prosesor fisik
yang sama, prosesor yang akan menjadi sangat sibuk sementara yang lain akan menganggur,
menyebabkan kinerja yang lebih miskin daripada yang mungkin dengan penjadwalan yang
lebih baik. Masalah ini dapat dihindari dengan meningkatkan scheduler untuk mengobati
prosesor logis berbeda dari prosesor fisik, dalam arti, ini adalah bentuk terbatas dari
perubahan scheduler yang diperlukan untuk NUMA sistem.

Sejarah
Denelcor, Inc memperkenalkan multi-threading dengan HEP ( Processor Element heterogen )
pada tahun 1982. Pipa HEP tidak bisa menahan beberapa instruksi yang independen karena
mereka milik proses yang berbeda. Hanya satu instruksi dari suatu proses diizinkan untuk
hadir dalam pipa pada setiap titik waktu. Haruskah instruksi dari proses blok tertentu dalam
pipa, instruksi dari proses lainnya akan berlanjut setelah pipa dikeringkan.
Intel menerapkan hyper-threading pada prosesor arsitektur x86 pada tahun 2002 dengan Xeon
MP berbasis Foster. Itu juga termasuk pada 3,06 GHz Northwood berbasis Pentium 4 pada
tahun yang sama, dan kemudian tetap sebagai fitur di setiap Pentium 4 HT, Pentium 4
Extreme prosesor Pentium Extreme Edition sejak Edition dan. Sebelumnya generasi prosesor
Intel berdasarkanmikroarsitektur Inti tidak memiliki Hyper-Threading, karena mikroarsitektur
Core merupakan keturunan dari mikroarsitektur P6 yang digunakan dalam iterasi Pentium
sejak Pentium Pro melaluiPentium III dan Celeron (Covington, Mendocino, Coppermine dan
berbasis Tualatin) dan Pentium II Xeon dan Pentium III Xeon model.
Intel merilis Nehalem (Core i7) pada bulan November 2008 di mana hyper-threading dibuat
kembali. Nehalem generasi pertama berisi empat core dan efektif skala delapan benang. Sejak
itu, dua dan model enam-core telah dirilis, skala empat dan dua belas thread masing-masing.
Intel Atom adalah prosesor di-order dengan hyper-threading, untuk PC mobile daya rendah
dan PC desktop harga rendah.
Itanium 9300 diluncurkan dengan delapan benang per prosesor (dua thread per core) melalui
teknologi hyper-threading ditingkatkan. Poulson, Itanium generasi berikutnya, dijadwalkan
untuk memiliki tambahan tambahan hyper-threading.

Intel Xeon 5500 chip server juga memanfaatkan dua arah hyper-threading.

Keuntungan dari hyper-threading terdaftar sebagai: meningkatkan dukungan untuk kode


multi-threaded, memungkinkan beberapa thread untuk berjalan secara simultan,
meningkatkan reaksi dan waktu respon.
Menurut Intel implementasi pertama hanya digunakan 5% lebih daerah mati daripada
prosesor non-hyperthreaded sebanding, tapi kinerja adalah 15-30% lebih baik.
Intel mengklaim hingga peningkatan kinerja 30% dibandingkan dengan dinyatakan identik,
non- simultan multithreading Pentium 4. Hardware Tom menyatakan "Dalam beberapa kasus
P4 berjalan pada 3,0 GHz dengan HT di bahkan bisa mengalahkan P4 berjalan pada 3,6 GHz
dengan HT diaktifkan off. " [10] Intel juga mengklaim peningkatan kinerja yang signifikan
dengan 4 prosesor hyper-threading-enabled Pentium dalam beberapa algoritma kecerdasan
buatan.
Secara keseluruhan sejarah kinerja hyper-threading adalah satu campuran di awal. Sebagai
salah satu komentar pada komputasi kinerja tinggi dari November 2002 mencatat:
Hyper-Threading dapat meningkatkan kinerja beberapa MPI aplikasi, tetapi tidak
semua. Tergantung pada konfigurasi cluster dan yang paling penting, sifat aplikasi yang
berjalan pada cluster, keuntungan kinerja dapat bervariasi atau bahkan menjadi
negatif. Langkah selanjutnya adalah dengan menggunakan alat kinerja untuk memahami apa
daerah berkontribusi terhadap peningkatan kinerja dan apa daerah berkontribusi terhadap
penurunan kinerja.
Seperti disebutkan di atas peningkatan kinerja terlihat sangat aplikasi-tergantung,. Namun
ketika menjalankan dua program yang memerlukan perhatian penuh dari prosesor itu benarbenar dapat tampak seperti salah satu atau kedua program melambat sedikit ketika HyperThreading Technology dihidupkan. Hal ini disebabkan oleh sistem ulangan dari 4 Pentium
mengikat sumber daya berharga eksekusi, menyamakan sumber daya prosesor antara dua
program yang menambahkan jumlah bervariasi dari waktu eksekusi. Pentium 4 dan Xeon
"Prescott inti" memperoleh antrian replay, yang mengurangi waktu eksekusi yang dibutuhkan
untuk sistem replay. Ini cukup untuk sepenuhnya mengatasi itu memukul kinerja.

Kekurangan
Ketika pertama HT prosesor yang dirilis, banyak sistem operasi yang tidak dioptimalkan
untuk teknologi hyper-threading (misalnya Windows 2000 dan Linux lebih tua dari 2,4). [15]
Pada tahun 2006, hyper-threading dikritik karena energi inefisiensi. Misalnya, spesialis
rendah daya CPU perusahaan desain ARM menyatakan multithreading simultan (TPS) dapat
menggunakan daya hingga 46% lebih dari desain dual-core biasa. Selain itu, mereka
mengklaim SMT meningkat meronta-ronta Cache sebesar 42%, sedangkan dual
core menghasilkan penurunan 37%. [16]Intel membantah klaim ini, menyatakan hyperthreading ini sangat efisien karena menggunakan sumber daya yang idle.
Pada tahun 2010, ARM mengatakan mungkin mencakup multithreading simultan dalam chip
di masa depan . namun hal ini ditolak untuk 64 bit desain 2012 mereka.

Keamanan
Pada bulan Mei 2005 Colin Percival menunjukkan bahwa pada Pentium 4, benang berbahaya
dapat menggunakan serangan waktu untuk memonitor pola akses memori thread lain dengan
saham yang cache, memungkinkan pencurian informasi kriptografi. Potensi solusi untuk ini
termasuk prosesor mengubah strategi penggusuran cache, atau sistem operasi mencegah
eksekusi simultan, pada inti fisik yang sama, benang dengan hak yang berbeda.

8. SpeedStep
SpeedStep merupakan merek dagang untuk serangkaian skala frekuensi dinamis teknologi
(nama kode Geyserville dan termasuk SpeedStep, SpeedStep II, dan III SpeedStep) dibangun
ke beberapa Intel mikroprosesor yang memungkinkan kecepatan clock prosesor agar berubah
secara dinamis (untuk berbeda P -negara) oleh perangkat lunak. Hal ini memungkinkan
prosesor untuk memenuhi kebutuhan kinerja sesaat dari operasi yang dilakukan, saat
meminimalkan tarikan daya dan panas. Enhanced Intel SpeedStep sering disingkat
sebagai EIST.

Penjelasan
Menjalankan prosesor pada kecepatan clock tinggi memungkinkan untuk performa yang lebih
baik. Namun, ketika prosesor yang sama dijalankan pada frekuensi yang lebih rendah
(kecepatan), menghasilkan lebih sedikit panas dan mengkonsumsi daya yang lebih
kecil. Dalam banyak kasus, tegangan inti juga dapat dikurangi, lebih lanjut mengurangi
konsumsi daya dan panas. Hal ini dapat menghemat daya baterai di notebook, mengurangi
biaya operasional dan dampak lingkungan, memperpanjang umur prosesor, dan mengurangi
kebisingan yang dihasilkan oleh penggemar kecepatan variabel. Dengan menggunakan
SpeedStep, pengguna dapat memilih keseimbangan konservasi daya dan kinerja yang paling
sesuai dengan mereka, atau bahkan mengubah kecepatan clock secara dinamis sebagai
perubahan beban prosesor.
Daya yang dikonsumsi oleh CPU dengan kapasitansi C, berjalan pada frekuensi f dan
tegangan V adalah sekitar.

Untuk prosesor yang diberikan, C adalah nilai tetap. Namun, V dan f dapat
bervariasi. Misalnya, untuk 1,6 GHz Pentium M , frekuensi clock dapat mengundurkan diri
pada decrements 200 MHz selama rentang 1,6-0,6 GHz. Pada saat yang sama, kebutuhan
tegangan menurun dari 1,484 V 0,956 V. Hasilnya adalah bahwa konsumsi daya teoritis turun
dengan faktor 6,4. Dalam prakteknya, efeknya mungkin lebih kecil karena beberapa instruksi
CPU menggunakan lebih sedikit energi per centang dari jam CPU daripada yang
lain. Sebagai contoh, ketika sistem operasi tidak sibuk, ia cenderung untuk
mengeluarkan berhenti instruksi yang menangguhkan operasi bagian CPU untuk periode
waktu, sehingga menggunakan lebih sedikit energi per centang dari jam CPU daripada ketika
mengeksekusi instruksi produktif normal negara. Untuk tingkat tertentu kerja, CPU berjalan
pada clock rate yang lebih tinggi akan mengeksekusi proporsi yang lebih besar dari instruksi
HLT. Persamaan sederhana yang berhubungan daya, tegangan dan frekuensi di atas juga tidak
memperhitungkan konsumsi listrik statis dari CPU. Ini cenderung tidak berubah dengan
frekuensi, tetapi tidak berubah dengan suhu dan tegangan. Hot elektron, dan elektron terkena
medan listrik kuat lebih cenderung untuk bermigrasi melintasi gerbang sebagai "gerbang
kebocoran" saat ini, yang mengarah ke peningkatan konsumsi listrik statis.

Prosesor yang lebih tua, menggunakan versi teknologi SpeedStep, memiliki peningkatan
sedikit, seperti Pentium 4-M . Misalnya, GHz Pentium 4M 1.7 dapat berjalan pada 1,6 GHz,
1,2 GHz pada, dan pada 786 MHz.
Teknologi SpeedStep sebagian bertanggung jawab untuk mengurangi konsumsi daya prosesor
Pentium M Intel, bagian dari Centrino merek.

Masalah ketika menggunakan SpeedStep


Microsoft telah melaporkan bahwa mungkin ada masalah pratinjau file video ketika
SpeedStep (atau AMD setara PowerNow! ) diaktifkan di bawah Windows 2000 atau
Windows XP. Hal ini juga dapat menurunkan keandalan ketika overclocking.

Dukungan sistem operasi


BSD
Kernel BSD memiliki integrasi dukungan SpeedStep penuh.

Linux
Sistem operasi dan / atau distribusi, menggunakan Linux kernel, memiliki dukungan
penuh SpeedStep terintegrasi sejak kernel versi 2.6.

Mac
Mac OS X juga memiliki SpeedStep dibangun dalam kernel, sejak rilis versi Intel Mac
OS X 10.4 dan sudah diaktifkan. Hal ini tidak dapat dikontrol dalam Sistem Preferensi
"Energy Saver." Untuk menonaktifkan fitur ini, dan mengatur kecepatan clock tertentu
(kecepatan penuh atau dikurangi) memerlukan aplikasi pihak ketiga, seperti coolbook .

Solaris
Solaris telah mendukung SpeedStep sejak OpenSolaris SXDE 7/9.

Windows
Versi Microsoft Windows, Windows 2000 dan sebelumnya, membutuhkan driver khusus
dan aplikasi dashboard untuk mengakses fitur SpeedStep. Website Intel secara khusus
menyatakan bahwa driver tersebut harus datang dari produsen komputer,. Tidak ada
driver generik dipasok oleh Intel yang akan memungkinkan SpeedStep untuk versi
Windows yang lebih tua jika seseorang tidak dapat memperoleh sopir produsen
Di bawah Microsoft Windows XP , dukungan SpeedStep dibangun ke dalam konsol
manajemen kekuasaan di bawah panel kontrol. Pada Windows XP pengguna dapat
mengatur kecepatan prosesor secara tidak langsung dengan mengubah skema
daya. "Home / Office Desk" pengaturan menonaktifkan SpeedStep, yang "Portabel /
Laptop" skema kekuasaan memungkinkan SpeedStep, dan "Max Battery" menggunakan
SpeedStep untuk memperlambat prosesor ke tingkat daya minimal sebagai baterai
melemah. Pengaturan SpeedStep untuk skema daya, baik built-in atau adat, tidak dapat
diubah dari GUI panel kontrol, tapi dapat diubah dengan menggunakan utilitas baris
perintah POWERCFG.EXE.
Sebaliknya, AMD terus memasok dan dukungan driver untuk
saing PowerNow! teknologi yang akan bekerja pada Windows 2000, ME, 98, dan NT.

Versi
V1.1 digunakan oleh prosesor generasi kedua Pentium III. Hal ini memungkinkan CPU
untuk beralih di antara dua mode: tinggi dan frekuensi rendah. Hal ini dilakukan dengan
memodifikasi multiplier CPU. A 1 GHz Pentium III memakan sekitar 20 watt bisa
dikurangi menjadi 600 MHz yang mengurangi konsumsi daya sekitar 6 watt.
V2.1 (Enhanced SpeedStep) digunakan dalam prosesor Pentium III-Mobile dan mirip
dengan versi sebelumnya, tapi dalam modus frekuensi rendah CPU juga menggunakan
tegangan yang berbeda dari modus frekuensi tinggi.

V2.2 diadaptasi untuk prosesor Pentium 4-Mobile. Dengan ini, GHz Pentium 4-M
mengkonsumsi 1,8 sekitar 30 watt dapat menurunkan frekuensi untuk 1,2 GHz, sehingga
mengurangi konsumsi daya sekitar 20 watt.
V3.1 (EIST) digunakan dengan generasi pertama dan kedua dari prosesor Pentium M
(Banias dan Dothan core, yang digunakan dalam platform Centrino). Dengan teknologi
ini, CPU bervariasi frekuensi (dan tegangan) antara sekitar 40% dan 100% dari frekuensi
dasar dalam penambahan sebesar 100 MHz (untuk Banias inti) atau 133 MHz (untuk core
Dothan). Dengan teknologi ini, Intel juga memperkenalkan Level 2 variasi kapasitas
cache realtime, lebih meningkatkan penghematan energi.
V3.2 (Enhanced EIST) yang diadaptasi untuk prosesor multi-core dengan unified cache
Level 2.

9. virtualisasi x86
Dalam komputasi , virtualisasi x86 adalah fasilitas yang memungkinkan beberapa sistem
operasi secara simultan berbagi x86 sumber daya prosesor dengan cara yang aman dan
efisien, fasilitas umum dikenal sebagai virtualisasi hardware . Pada akhir 1990-an x86
virtualisasi dicapai dengan teknik perangkat lunak kompleks yang mengatasi kekurangan
prosesor dukungan virtualisasi dan kinerja yang wajar dicapai. Pada tahun 2006,
baik Intel ( VT-x ) dan AMD ( AMD-V ) menambahkan dukungan hardware untuk prosesor
mereka membuat perangkat lunak virtualisasi sederhana, dan kemudian perubahan hardware
menyajikan peningkatan kecepatan substansial.

Virtualisasi berbasis software


Dalam modus dilindungi Kernel berjalan pada privilege menjadi lebih tinggi seperti cincin 0,
dan aplikasi pada hak istimewa yang lebih rendah seperti cincin 3. Demikian pula, OS tuan
rumah harus mengontrol prosesor sedangkan OS tamu dicegah dari akses langsung ke
perangkat keras. Salah satu pendekatan yang digunakan dalam virtualisasi berbasis software
x86 disebutdeprivileging cincin, yang melibatkan menjalankan OS tamu di sebuah cincin
yang lebih tinggi dari 0.
Tiga teknik membuat virtualisasi protected mode mungkin:

Terjemahan biner digunakan untuk menulis ulang dalam hal cincin 3 instruksi cincin
tertentu 0 instruksi, seperti POPF , yang lain akan gagal diam-diam atau berperilaku
berbeda ketika dijalankan di atas cincin 0, membuat klasik perangkap-dan- meniru
virtualisasi mustahil.Untuk meningkatkan kinerja, diterjemahkan blok dasar perlu dicache dengan cara yang koheren yang mendeteksi kode patch (digunakan
dalam VxDs misalnya), penggunaan kembali halaman oleh OS tamu, atau
bahkan memodifikasi diri kode .

Sejumlah struktur data utama yang digunakan oleh prosesor perlu dibayangi . Karena
sebagian besar sistem operasi menggunakan paged virtual memory , dan pemberian OS
guest akses langsung ke MMU akan berarti hilangnya kontrol oleh manajer virtualisasi ,
beberapa karya MMU x86 perlu digandakan dalam perangkat lunak untuk OS tamu
menggunakan teknik dikenal sebagai tabel halaman bayangan.ini melibatkan
menyangkal OS tamu setiap akses ke halaman entri tabel yang sebenarnya dengan
menjebak upaya akses dan meniru mereka bukan dalam perangkat lunak. Arsitektur x86
menggunakan negara tersembunyi untuk menyimpan segmen penjelas dalam prosesor,
jadi setelah deskriptor segmen telah dimuat ke dalam prosesor, memori dari mana mereka
telah dimuat mungkin ditimpa dan tidak ada cara untuk mendapatkan deskriptor kembali
dari prosesor tabel deskripsi Shadow. karena itu harus digunakan untuk melacak
perubahan yang dibuat ke meja deskriptor oleh OS tamu.

I / O perangkat emulasi: perangkat tidak didukung pada OS tamu harus ditiru


oleh emulator perangkat yang berjalan di host OS.

Teknik ini dikenakan beberapa overhead kinerja karena kurangnya dukungan virtualisasi
MMU, dibandingkan dengan VM berjalan pada arsitektur native virtualizable seperti
IBM System/370 .
Pada mainframe tradisional, klasik tipe 1 adalah hypervisor yang berdiri sendiri dan tidak
tergantung pada sistem operasi atau menjalankan aplikasi pengguna itu sendiri. Sebaliknya,
pertama x86 produk virtualisasi yang ditujukan untuk komputer workstation, dan berlari OS
tamu di dalam host OS dengan menanamkan hypervisor dalam modul kernel yang berlari di
bawah host OS (tipe 2 hypervisor).
Ada beberapa kontroversi apakah arsitektur x86 tanpa bantuan hardware virtualizable seperti
yang dijelaskan oleh Popek dan Goldberg . VMware peneliti menunjukkan di
2006 ASPLOS kertas yang teknik di atas membuat platform x86 virtualizable dalam arti
memenuhi tiga kriteria Popek dan Goldberg, meskipun tidak oleh klasik perangkap-danmeniru teknik.

Sebuah rute yang berbeda diambil oleh sistem lain seperti Denali , L4 , dan Xen , yang
dikenal sebagai paravirtualization , yang melibatkan porting sistem operasi untuk dijalankan
pada mesin virtual yang dihasilkan, yang tidak melaksanakan bagian aktual set instruksi x86
yang sulit untuk virtualisasi . The paravirtualized I / O memiliki manfaat kinerja yang
signifikan seperti yang ditunjukkan dalam bahasa aslinya SOSP '03 kertas Xen.
Versi awal x86-64 ( AMD64 ) tidak memungkinkan untuk perangkat lunak hanya virtualisasi
penuh karena kurangnya dukungan segmentasi modus lama , yang membuat perlindungan
memori hypervisor yang tidak mungkin, khususnya, perlindungan handler perangkap yang
berjalan di ruang alamat kernel tamu. Revisi D dan kemudian 64-bit AMD prosesor (sebagai
aturan praktis, yang diproduksi di 90 nm atau kurang) menambahkan dukungan dasar untuk
segmentasi lama modus, sehingga memungkinkan untuk menjalankan 64-bit tamu di 64-bit
host melalui terjemahan biner. Intel tidak menambahkan dukungan segmentasi pelaksanaan
x86-64 nya ( Intel 64 ), membuat 64-bit software-satunya virtualisasi mustahil pada CPU
Intel, namun Intel dukungan VT-x membuat hardware 64-bit dibantu virtualisasi mungkin
pada platform Intel.
Pada beberapa platform, adalah mungkin untuk menjalankan tamu 64-bit pada host OS 32-bit
jika prosesor yang mendasari adalah 64-bit dan mendukung ekstensi virtualisasi diperlukan.

Hardware membantu
Pada tahun 2005 dan 2006, Intel dan AMD (bekerja secara independen) dibuat baru ekstensi
prosesor dengan arsitektur x86. Generasi pertama dari dukungan hardware x86 untuk
virtualisasi membahas masalah instruksi istimewa, dengan dukungan untuk virtualisasi MMU
ditambahkan ke chipset nanti.

Prosesor
AMD virtualisasi (AMD-V)

AMD Phenom CPU

AMD mengembangkan ekstensi virtualisasi generasi pertama di bawah nama kode "Pacifica",
dan pada awalnya diterbitkan sebagai AMD Secure Virtual Machine (SVM), tetapi kemudian
dipasarkan mereka di bawah merek dagang AMD Virtualization, disingkat AMD-V.
Pada tanggal 23 Mei 2006, AMD merilis Athlon 64 ( "Orleans" ), Athlon 64 X2 ( "Windsor" )
dan Athlon 64 FX ( "Windsor" ) sebagai yang pertama prosesor AMD untuk mendukung
teknologi ini.
Kemampuan AMD-V juga dilengkapi pada Athlon 64 dan Athlon 64 X2 keluarga prosesor
dengan revisi "F" atau "G" pada soket AM2 , Turion 64 X2 , dan Opteron generasi ke-2 dan
generasi ke-3, Phenom dan Phenom II prosesor. The APU Fusion mendukung prosesor
AMD-V. AMD-V tidak didukung oleh Socket 939 prosesor. Satu-satunya prosesor
Sempron yang mendukungnya adalah Huron dan Sargas .
AMD Opteron CPU dimulai dengan Keluarga 0x10 Barcelona line, dan Phenom II CPU,
mendukung teknologi virtualisasi hardware generasi kedua yang disebut cepat Virtualization
Indexing (sebelumnya dikenal sebagai Bersarang Tabel Halaman selama pengembangan),
kemudian diadopsi oleh Intel sebagai Extended Page Tabel (EPT) .
Bendera CPU AMD-V adalah "svm". Hal ini dapat diperiksa derivatif
BSD melalui dmesg atau sysctl dan Linux via /proc/cpuinfo .

Intel virtualisasi (VT-x)


"Intel VT-x" beralih ke halaman ini. Hal ini tidak menjadi bingung dengan Intel VT-i .

Intel Core i7 (Bloomfield) CPU

Sebelumnya diberi kode "Vanderpool", VT-x merupakan teknologi Intel untuk virtualisasi
pada platform x86.
Pada tanggal 13 November 2005, Intel merilis dua model Pentium 4 (Model 662 dan 672)
sebagai yang pertama prosesor Intel untuk mendukung VT-x.
Seperti tahun 2009 tidak semua prosesor Intel didukung VT-x, yang Intel digunakan
untuk segmen pasarnya . Dukungan untuk VT-x mungkin bahkan berbeda antara versi yang
berbeda (seperti yang diidentifikasi dengan Nomor sSpec Intel) dari nomor model yang
sama . Untuk daftar lengkap dan up-to-date lihat website Intel. Bahkan pada bulan Mei,
2011, Intel CPU P6100 yang di laptop tidak mendukung virtualisasi hardware.
Dengan beberapa motherboard , VT-x fitur Intel harus diaktifkan di BIOS sebelum aplikasi
dapat memanfaatkannya.
Intel mulai memasukkan Extended Page Tabel (EPT), sebuah teknologi untuk virtualisasi
page-table, sejak Nehalem arsitektur.
Intel mulai memasukkan VMCS Bayangan, sebuah teknologi untuk mempercepat virtualisasi
bersarang dari VMMs, sejak Haswell arsitektur.
Bendera CPU untuk VT-x adalah "vmx". Ini dapat diperiksa di Linux melalui /proc/cpuinfo .

VIA virtualisasi (VIA VT)


VIA Nano 3000 Series Prosesor dan dukungan yang lebih tinggi yang disebut teknologi
virtualisasi VIA VT kompatibel dengan Intel VT.

Software menggunakan AMD-V dan / atau Intel VT


Chipset
Memori dan I / O virtualisasi dilakukan oleh chipset .Biasanya fitur ini harus diaktifkan oleh
BIOS, yang harus mampu mendukung mereka dan juga diatur untuk menggunakannya.
I / O MMU virtualisasi (AMD-Vi dan VT-d)

Sebuah input / output unit manajemen memori (IOMMU) memungkinkan tamu mesin
virtual untuk langsung menggunakan perangkat perangkat, seperti Ethernet, kartu grafis
dipercepat, dan pengendali hard-drive, melalui DMA dan mengganggu remapping. Ini
kadang-kadang disebut PCI passthrough. Baik AMD dan Intel telah merilis spesifikasi:

AMD I / O Virtualization Technology, "AMD-Vi", awalnya disebut "IOMMU".

Intel "Virtualization Technology untuk Directed I / O" (VT-d). [33] Termasuk di


sebagian besar tapi tidak semua prosesor berbasis Nehalem.

Virtualisasi jaringan (VT-c)

Intel "Teknologi Virtualisasi untuk Konektivitas" (VT-c).

PCI-SIG I / O virtualisasi (IOV)

PCI-SIG I / O virtualisasi (IOV) adalah seperangkat umum (non-x86 spesifik) PCI Express
(PCI-E) hardware asli berbasis I / O metode virtualisasi standar oleh PCI-SIG:
Jasa terjemahan alamat (ATS)
ini mendukung asli IOV di PCI-E melalui terjemahan alamat. Hal ini membutuhkan
dukungan untuk transaksi baru untuk mengkonfigurasi terjemahan tersebut.
Single-akar IOV (SR-IOV)
ini mendukung IOV asli di akar tunggal yang ada kompleks topologi PCI-E. Hal ini
membutuhkan dukungan untuk kemampuan perangkat baru untuk mengkonfigurasi
beberapa ruang konfigurasi virtual.

Multi-akar IOV (MR-IOV)


ini mendukung IOV asli di topologi baru (misalnya, server blade) dengan membangun
SR-IOV untuk menyediakan beberapa kompleks akar yang berbagi umum hirarki
PCI-E.
Dalam SR-IOV, yang paling umum dari ini, VMM tuan mengkonfigurasi
perangkat yang didukung untuk menciptakan dan mengalokasikan virtual
"bayangan" dari ruang konfigurasi mereka sehingga tamu mesin virtual dapat
langsung mengkonfigurasi dan mengakses seperti "bayangan" sumber daya
perangkat.

Intel Turbo Boost

Intel Turbo Boost adalah teknologi dilaksanakan oleh Intel dalam versi tertentu
mereka Nehalem -, Sandy Bridge- -, Ivy-Bridge , dan Haswell berbasis CPU , termasuk Core
i5 dan i7 yang memungkinkan prosesor untuk menjalankan di atas basis frekuensi
operasi melalui kontrol dinamis "CPU clock rate ".Hal ini diaktifkan bila sistem
operasi meminta tertinggi negara kinerjaprosesor. Prosesor menyatakan kinerja didefinisikan
oleh Advanced Configuration dan Power Interface (ACPI) spesifikasi, sebuah standar terbuka
yang didukung oleh semua sistem operasi utama,. tidak ada software tambahan atau driver
yang diperlukan untuk mendukung teknologi. Konsep desain belakang Turbo Boost
umumnya disebut sebagai "dinamis overclocking ".
Peningkatan clock rate dibatasi oleh prosesor listrik , saat ini dan termal batas, serta jumlah
core yang sedang digunakan dan frekuensi maksimum core yang aktif. Ketika beban kerja
pada prosesor panggilan untuk performa yang lebih cepat, dan prosesor berada di bawah
batas-batasnya, jam prosesor akan meningkatkan frekuensi operasi secara bertahap reguler
yang diperlukan untuk memenuhi permintaan. Frekuensi kenaikan terjadi pada penambahan
sebesar 133 MHz untuk mikroarsitektur Nehalem prosesor dan 100 MHz untuk Sandy / Ivy
Bridge mikroarsitekturprosesor. Ketika salah satu batas listrik atau termal tercapai, frekuensi
operasi secara otomatis berkurang dalam decrements dari 133 MHz sampai MHz/100
prosesor lagi beroperasi dalam batas-batas desain.

Sejarah
Intel kertas putih November 2008 membahas "Turbo Boost" teknologi sebagai fitur baru yang
dimasukkan ke dalam prosesor berbasis Nehalem dirilis pada bulan yang sama.
Sebuah fitur yang serupa disebut Intel Dynamic Acceleration (IDA) yang tersedia pada
banyak platform Centrino Core 2 berbasis. Fitur ini tidak menerima perlakuan pemasaran
yang diberikan kepada Turbo Boost. Intel Dynamic Percepatan dinamis mengubah frekuensi
inti sebagai fungsi dari jumlah core yang aktif. Ketika sistem operasi menginstruksikan salah
satu core yang aktif untuk memasuki keadaan tidur C3 menggunakan Konfigurasi Lanjut dan
Antarmuka Daya (ACPI), inti aktif lainnya (s) secara dinamis dipercepat ke frekuensi yang
lebih tinggi.

Contoh
(Frekuensi operasi normal adalah 2,0 GHz. Turbo diindikasikan sebagai: 2/2/8/9 di mana
nomor pertama adalah kelipatan 133 MHz didukung ketika empat core yang aktif, angka
kedua adalah ganda untuk tiga core, jumlah ketiga adalah untuk dua core, dan nomor keempat
adalah untuk satu inti aktif.
Dikenakan batas konsumsi suhu, arus dan daya, prosesor dapat meningkatkan kecepatan
clock (dari frekuensi dasar 2,0 GHz) dalam langkah 133 MHz ke:
# Core aktif

# Turbo Langkah

Max frekuensi

Perhitungan

3 atau 4

2.26 GHz

2000 + (2 133) = 2000 + 267 = 2267

3.06 GHz

2000 + (8 133) = 2000 + 1067 = 3067

3.20 GHz

2000 + (9 133) = 2000 + 1200 = 3200

Untuk Core i7-2920XM.


Frekuensi operasi normal adalah 2,5 GHz. Turbo diindikasikan sebagai: 7/7/9/10 di mana
nomor pertama adalah beberapa dari 100 MHz didukung ketika empat core yang aktif, angka
kedua adalah ganda untuk tiga core, jumlah ketiga adalah untuk dua core, dan nomor keempat
adalah untuk satu inti aktif.

Dikenakan batas suhu, konsumsi arus dan daya, prosesor dapat meningkatkan kecepatan
clock (dari frekuensi dasar 2,5 GHz) dalam langkah 100 MHz ke:
# Core aktif

# Turbo Langkah

Max frekuensi

Perhitungan

3 atau 4

3.20 GHz

2500 + (7 100) = 2500 + 700 = 3200

3.40 GHz

2500 + (9 100) = 2500 + 900 = 3400

10

3.50 GHz

2500 + (10 100) = 2500 + 1000 = 3500

Anda mungkin juga menyukai