Teknologi Prosesor Intel
1. MMX (set instruksi)
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 lain-lain: 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 (xmm0-XMM7) 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 32-bit. 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 side-by-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.
Instruksi SSE
SSE memperkenalkan kedua skalar dan dikemas instruksi floating point.
Mengambang instruksi titik
• Pergerakan data Memory-to-register/register-to-memory/register-to-register
• Skalar - MOVSS
• Dikemas - MOVAPS, MOVUPS, MOVLPS, MOVHPS, MOVLHPS, MOVHLPS
• Hitung
• Skalar - ADDSS, SUBSS, MULSS, DIVSS, RCPSS, SQRTSS, MAXSS, MINSS, RSQRTSS
• Dikemas - ADDPS, SUBPS, MULPS, DIVPS, RCPPS, SQRTPS, MAXPS, MINPS, RSQRTPS
• Membandingkan
• Skalar - CMPSS, COMISS, UCOMISS
• Dikemas - CMPPS
• Mengocok Data dan membongkar
• Dikemas - SHUFPS, UNPCKHPS, UNPCKLPS
• Data- jenis konversi
• Skalar - CVTSI2SS, CVTSS2SI, CVTTSS2SI
• Dikemas - CVTPI2PS, CVTPS2PI, CVTTPS2PI
• Bitwise operasi logis
• Dikemas - ANDPS, ORPS, XORPS, ANDNPS
Instruksi integer
• Hitung
• PMULHUW, PSADBW, PAVGB, PAVGW, PMAXUB, PMINUB, PMAXSW, PMINSW
• Pergerakan data
• PEXTRW, PINSRW
• Lain
• PMOVMSKB, PSHUFW
Instruksi lain
• MXCSR manajemen
• LDMXCSR, STMXCSR
• Cache Memory dan manajemen
• MOVNTQ, MOVNTPS, MASKMOVQ, PREFETCH0, PREFETCH1, PREFETCH2, PREFETCHNTA, SFENCE
Contoh
Contoh berikut sederhana menunjukkan keuntungan dari menggunakan SSE. Pertimbangkan operasi seperti penjumlahan vektor, yang sangat sering digunakan dalam aplikasi komputer grafik.Untuk menambahkan dua presisi tunggal, vektor empat komponen bersama-sama menggunakan x86 memerlukan empat instruksi penambahan floating-point
vec_res.x = v1.x + v2.x;vec_res.y = v1.y + v2.y;
vec_res.z = v1.z + v2.z;
vec_res.w = v1.w + v2.w;
Hal ini akan sesuai dengan empat instruksi x86 FADD dalam kode obyek. Di sisi lain, seperti yang ditunjukkan pseudo-kode berikut, satu 128-bit 'dikemas-add' instruksi dapat mengganti instruksi penambahan skalar empat.
movaps xmm0, [v1]; xmm0 = v1.w | v1.z | v1.y | v1.xaddps xmm0, [v2]; xmm0 = v1.w + v2.w | v1.z + v2.z | v1.y + v2.y | v1.x + v2.x
movaps [vec_res], xmm0
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
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 .
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 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 IA-32 . 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 SSE3AMD :
• 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)
• Core
• 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 Strukt)
• 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
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 (TIDAK "Pentium D")
• Celeron 4xx Urutan Conroe-L
• Celeron Dual Core E1200
• Celeron M 500 series
• Atom
VIA :
• Nano
Petunjuk baru
Dalam tabel di bawah, satsw (X) (dibaca sebagai 'jenuh dengan kata ditandatangani') mengambil integer ditandatangani X, dan mengkonversi ke -32768 jika kurang dari -32.768, untuk 32.767 jika itu lebih besar dari 32767, dan daun berubah sebaliknya. Seperti biasa untuk arsitektur Intel, byte 8 bit, 16 bit kata-kata, dan dwords 32 bit, 'mendaftar' mengacu pada MMX atau XMM vektor mendaftar.
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.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).
Asal Nama
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.)
SSE4.1
Instruksi ini diperkenalkan dengan mikroarsitektur Penryn , 45 nm menyusut dari Intel mikroarsitektur Core . Dukungan ini ditunjukkan melalui CPUID.01H: ECX.SSE41 [Bit 19] bendera.
SSE4.2
SSE4.2 menambahkan STTNI (String dan Teks Petunjuk Baru),beberapa instruksi baru yang melakukan pencarian karakter dan perbandingan pada dua operan dari 16 byte pada suatu waktu.Ini dirancang (antara lain) untuk mempercepat penguraian XML dokumen. Ia juga menambahkan instruksi untuk menghitung CRC32 redundansi siklik cek seperti yang digunakan dalam protokol transfer data tertentu. Instruksi ini pertama kali diimplementasikan dalam Nehalem berbasis Intel Core i7 lini produk dan menyelesaikan set instruksi SSE4. Dukungan ini ditunjukkan melalui CPUID.01H: ECX.SSE42 [Bit 20] bendera.
Popcnt dan LZCNT
Instruksi ini beroperasi pada integer daripada register SSE, dan meskipun diperkenalkan pada saat yang sama, tidak dianggap sebagai bagian dari set instruksi SSE4.2, melainkan mereka memiliki sendiri bit CPUID berdedikasi untuk menunjukkan dukungan. Intel menerapkan awal popcnt dengan Nehalem mikroarsitektur dan awal LZCNT dengan Haswell mikroarsitektur. AMD mengimplementasikan kedua diawali dengan mikroarsitektur Barcelona .AMD menyebut pasangan ini instruksi Lanjutan (ABM).
Hasil lzcnt adalah 31 dikurangi hasil bsr (bit reverse scan), kecuali ketika input adalah 0. Lzcnt menghasilkan hasil 32, sementara bsr menghasilkan hasil yang tidak terdefinisi (dan menetapkan bendera nol ). Trailing nol dapat dihitung dengan menggunakan instruksi bsf ada.
SSE4a
SSE4a grup instruksi diperkenalkan pada AMD Barcelona mikroarsitektur . Instruksi ini tidak tersedia di prosesor Intel. Dukungan ini ditunjukkan melalui CPUID.80000001H: ECX.SSE4A [Bit 6] bendera.
7.Hyper-threading
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.
Skema Teknologi Hyper-Threading Intel.
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. The Intel Atom adalah prosesor di-order dengan hyper-threading, untuk PC mobile daya rendah dan PC desktop harga rendah. The 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. "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 benar-benar dapat tampak seperti salah satu atau kedua program melambat sedikit ketika Hyper-Threading 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.
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.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
(Diambil dari daftar Intel i7 mikroprosesor core .)
Untuk Core i7-920XM.
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:
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:
Pemantauan Turbo Boost Turbo Boost dapat dipantau dengan GUI dengan menggunakan Intel Turbo Boost Technology Monitor.
0 komentar:
Posting Komentar