Mengapa kita memiliki Cpu dengan semua core pada saat yang sama kecepatan dan kombinasi kecepatan yang berbeda?

Secara umum jika anda membeli komputer baru, anda akan menentukan prosesor untuk membeli dengan apa yang anda diharapkan beban kerja akan. Kinerja dalam permainan cenderung ditentukan oleh single core kecepatan, sedangkan aplikasi seperti video editing ditentukan oleh jumlah core.

Dalam hal dari apa yang tersedia di pasar - semua Cpu tampaknya memiliki kira-kira kecepatan yang sama dengan perbedaan utama menjadi lebih benang atau lebih core.

Misalnya:

  • Intel Core i5-7600K, frekuensi dasar 3.80 GHz, 4 core, 4 thread
  • Intel Core i7-7700K, frekuensi dasar 4.20 GHz, 4 core dan 8 thread
  • AMD Ryzen 5 1600X, frekuensi dasar 3.60 GHz 6 core 12 thread
  • AMD Ryzen 7 1800X, frekuensi dasar 3.60 GHz, 8 core 16 thread

Jadi, mengapa kita melihat pola ini meningkatkan core dengan semua core yang memiliki kecepatan clock yang sama?

Mengapa kita tidak memiliki varian dengan perbedaan kecepatan clock? Misalnya, dua 'besar' core dan banyak core.

Untuk contoh sake, bukan, mengatakan, empat core di 4.0 GHz (yaitu 4x4 GHz ~ 16 GHz maksimum), bagaimana CPU dengan dua core yang berjalan di katakan 4.0 GHz dan mengatakan empat core yang berjalan pada 2 GHz (yaitu 2x4.0 GHz + 4x2.0 GHz ~ 16 GHz maksimum). Tidak't opsi kedua sama-sama baik pada ulir tunggal beban kerja, tetapi berpotensi baik di multi-threaded beban kerja?

Saya mengajukan pertanyaan ini sebagai titik umum - tidak secara khusus tentang orang-orang Cpu saya yang tercantum di atas, atau tentang salah satu tertentu tertentu beban kerja. Saya hanya ingin tahu mengapa pola seperti itu.

Mengomentari pertanyaan (15)
Larutan

Hal ini dikenal sebagai heterogen multiprocessing (HMP) dan banyak diadopsi oleh perangkat mobile. Di perangkat berbasis LENGAN yang menerapkan besar.SEDIKIT, yang berisi prosesor core dengan kinerja yang berbeda dan kekuatan profil, misalnya beberapa core yang berlari cepat tapi menarik banyak kekuasaan (arsitektur lebih cepat dan/atau lebih tinggi jam) sementara yang lain adalah hemat energi tapi lambat (lebih lambat arsitektur dan/atau yang lebih rendah jam). Hal ini berguna karena penggunaan listrik cenderung meningkat secara tidak proporsional seperti yang anda meningkatkan kinerja setelah anda melewati titik tertentu. Idenya di sini adalah untuk mendapatkan kinerja ketika anda membutuhkannya dan baterai ketika anda don't.

Pada platform desktop, konsumsi daya jauh lebih sedikit dari masalah ini adalah tidak benar-benar diperlukan. Sebagian besar aplikasi mengharapkan masing-masing core memiliki kinerja yang sama karakteristik, dan penjadwalan proses untuk HMP sistem ini jauh lebih kompleks dari penjadwalan untuk SMP tradisional sistem. (Windows 10 secara teknis memiliki dukungan untuk HMP, tapi itu's terutama ditujukan untuk perangkat mobile yang menggunakan LENGAN besar.SEDIKIT.)

Juga, sebagian besar desktop dan laptop prosesor hari ini adalah tidak termal maupun elektrik terbatas ke titik di mana beberapa core perlu untuk menjalankan lebih cepat dari yang lain bahkan untuk ledakan singkat. Kami've pada dasarnya menabrak dinding pada seberapa cepat kita dapat membuat individu core, sehingga mengganti beberapa core dengan lambat yang tidak't membiarkan sisanya core untuk menjalankan lebih cepat.

Sementara ada beberapa desktop prosesor yang memiliki satu atau dua core yang mampu berlari lebih cepat dari orang lain, kemampuan ini saat ini terbatas tertentu yang sangat high-end Intel prosesor (seperti Turbo Boost Max Teknologi 3.0) dan hanya melibatkan sedikit keuntungan dalam kinerja untuk orang-core yang dapat berjalan lebih cepat.


Sementara hal ini tentu saja mungkin untuk desain tradisional x86 prosesor dengan investasi besar, cepat, core dan yang lebih kecil, lebih lambat core untuk mengoptimalkan berat-threaded beban kerja, hal ini akan menambah kompleksitas yang cukup banyak untuk prosesor desain dan aplikasi adalah mungkin untuk benar mendukung itu.

Mengambil hipotetis prosesor dengan dua fast Kaby Danau (7-generasi Core) inti dan delapan lambat Goldmont (Atom) core. Anda'a memiliki total 10 core, dan berat-threaded beban kerja yang dioptimalkan untuk jenis prosesor dapat melihat keuntungan dalam kinerja dan efisiensi yang lebih dari normal quad-core Kaby Danau prosesor. Namun, berbagai jenis core yang memiliki sangat berbeda tingkat kinerja, dan lambat core don't bahkan mendukung beberapa petunjuk cepat core mendukung, seperti AVX. (LENGAN menghindari masalah ini dengan membutuhkan investasi besar dan KECIL core untuk mendukung petunjuk yang sama.)

Lagi-lagi, sebagian besar berbasis Windows aplikasi multithreaded berasumsi bahwa setiap core memiliki yang sama atau hampir sama dengan tingkat kinerja dan dapat mengeksekusi instruksi yang sama, jadi ini jenis asimetri kemungkinan akan mengakibatkan kurang ideal kinerja, bahkan mungkin crash jika menggunakan instruksi tidak didukung oleh core lambat. Sementara Intel bisa memodifikasi lambat core untuk menambahkan instruksi lanjutan dukungan agar semua core dapat menjalankan semua instruksi, ini tidak akan menyelesaikan masalah dengan perangkat lunak dukungan untuk prosesor yang heterogen.

Pendekatan yang berbeda untuk aplikasi desain, dekat dengan apa yang anda're mungkin berpikir tentang pertanyaan anda, akan menggunakan GPU untuk percepatan sangat paralel bagian-bagian dari aplikasi. Hal ini dapat dilakukan dengan menggunakan Api seperti OpenCL dan CUDA. Adapun solusi chip tunggal, AMD mempromosikan dukungan hardware untuk akselerasi GPU untuk APUs, yang menggabungkan tradisional dan CPU tinggi-kinerja GPU terintegrasi pada chip yang sama, seperti Heterogen Sistem Arsitektur, meskipun ini belum terlihat banyak industri serapan luar beberapa aplikasi khusus.

Komentar (7)

Apa yang anda're bertanya mengapa saat ini menggunakan sistem Symmetric multiprocessing daripada Asymmetric multiprocessing.

Asymmetric multiprocessing digunakan di hari tua, ketika komputer besar dan ditempatkan di atas beberapa unit.

Cpu Modern yang berperan sebagai satu unit, satu mati, di mana hal ini jauh lebih sederhana tidak untuk campuran Cpu yang berbeda jenis, karena mereka semua berbagi bus yang sama dan RAM.

Ada juga kendala dari jam yang mengatur siklus CPU dan RAM akses. Ini akan menjadi mustahil ketika pencampuran Cpu yang berbeda kecepatan. Jam-kurang eksperimental komputer memang ada dan bahkan cukup cepat, tapi kompleksitas hardware modern yang dikenakan sederhana arsitektur.

Misalnya, Sandy Bridge dan Ivy Bridge core dapat't berjalan pada kecepatan yang berbeda pada saat yang sama sejak L3 cache bus yang berjalan pada kecepatan clock yang sama seperti core, sehingga untuk mencegah masalah sinkronisasi mereka semua harus berjalan pada kecepatan itu atau akan diparkir/off (link: Intel's Sandy Bridge Arsitektur Terkena). (Juga diverifikasi di komentar di bawah ini untuk Skylake.)

[EDIT] Beberapa orang telah keliru jawaban saya bermaksud mengatakan bahwa pencampuran Cpu adalah mustahil. Untuk keuntungan mereka saya menyatakan : Pencampuran yang berbeda Cpu tidak melampaui hari ini's teknologi, tapi ini tidak dilakukan - "mengapa tidak" adalah pertanyaan. Sebagai dijawab di atas, ini akan menjadi teknis yang rumit, oleh karena itu lebih mahal dan terlalu sedikit atau tidak ada keuntungan finansial, sehingga tidak menarik minat para produsen.

Berikut adalah jawaban untuk beberapa komentar di bawah ini :

Turbo boost perubahan kecepatan CPU sehingga mereka ** bisa diubah

Turbo boost ini dilakukan dengan mempercepat waktu dan mengubah beberapa pengganda, yang adalah apa yang orang lakukan ketika overclocking, kecuali bahwa hardware apakah itu untuk kita. Jam dibagi antara core pada CPU yang sama, sehingga hal ini mempercepat seragam seluruh CPU dan semua core.

Beberapa ponsel memiliki lebih dari satu CPU kecepatan yang berbeda

Seperti ponsel biasanya memiliki custom firmware dan software stack yang terkait dengan setiap CPU, lebih seperti dua Cpu (atau seperti CPU dan GPU), dan mereka kekurangan satu tampilan dari sistem memori. Kompleksitas ini adalah sulit untuk program dan Asymmetric multiprocessing tersisa di ranah mobile, sejak itu membutuhkan tingkat rendah close-to-the-hardware, pengembangan perangkat lunak, yang dijauhi oleh general-purpose desktop OS. Ini adalah alasan bahwa konfigurasi tersebut aren't ditemukan di PC (kecuali untuk CPU/GPU jika kita meregangkan cukup definition).

server Saya dengan 2x Xeon E5-2670 v3 (12 core dengan HT) saat ini memiliki core 1,3 GHz, 1.5 GHz, 1,6 GHz, 2.2 GHz, 2.5 GHz, 2.7 GHz, 2.8 GHz, 2.9 GHz, dan banyak lainnya kecepatan.

Inti adalah baik aktif atau tidak aktif. Semua core yang aktif pada saat yang sama berjalan pada frekuensi yang sama. Apa yang anda lihat adalah hanya sebuah artefak, baik waktu atau rata-rata. Saya sendiri juga mencatat bahwa Windows tidak parkir inti untuk waktu yang lama, melainkan secara terpisah taman/unparks semua core jauh lebih cepat dari refresh rate Sumber daya Monitor, tapi aku don't tahu alasan untuk perilaku ini yang mungkin di balik pernyataan di atas.

Intel Haswell prosesor memiliki integrated voltage regulator yang memungkinkan individu tegangan dan frekuensi untuk setiap core

Individu regulator tegangan berbeda dari kecepatan clock. Tidak semua core yang identik - beberapa lebih cepat. Lebih cepat core diberi sedikit kurang daya, menciptakan ruang untuk meningkatkan kekuatan yang diberikan lemah core. Core voltage regulator akan ditetapkan serendah mungkin dalam rangka untuk mempertahankan arus kecepatan clock. Power Control Unit di CPU mengatur tegangan dan akan menimpa OS permintaan mana yang diperlukan untuk core yang berbeda dalam kualitas. Ringkasan: Individu regulator adalah untuk membuat semua core beroperasi secara ekonomis pada jam yang sama, kecepatan angin, tidak untuk pengaturan individu core kecepatan

Komentar (25)

Mengapa kita tidak memiliki varian dengan perbedaan kecepatan clock? ie. 2 'besar' core dan banyak core.

It's mungkin bahwa telepon di saku anda olahraga persis bahwa pengaturan - yang ARM big.KECIL bekerja persis seperti yang anda gambarkan. Ada's bahkan tidak hanya kecepatan clock perbedaan, mereka dapat sepenuhnya inti yang berbeda jenis - biasanya, semakin lambat clock yang bahkan "bodoh" (tidak out-of-order eksekusi dan lain CPU optimasi).

It's nice ide dasarnya untuk menghemat baterai, tetapi memiliki kekurangan; pembukuan untuk memindahkan barang-barang antara Cpu yang berbeda adalah lebih rumit, komunikasi dengan seluruh peripheral yang lebih rumit dan, yang paling penting, untuk menggunakan core efektif task scheduler harus sangat cerdas (dan sering untuk "menebak dengan benar").

Pilihan pengaturan untuk menjalankan non-waktu-kritis latar belakang tugas atau relatif kecil interaktif tugas-tugas pada pada "sedikit" core dan bangun "besar" orang-orang hanya untuk besar, panjang perhitungan (di mana waktu yang dihabiskan untuk sedikit core berakhir makan lebih banyak baterai) atau untuk menengah-tugas interaktif, dimana pengguna merasa kelesuan pada core.

Namun, scheduler memiliki informasi yang terbatas tentang jenis pekerjaan masing-masing tugas dapat berjalan, dan harus resor untuk beberapa heuristik (atau informasi eksternal, seperti memaksa beberapa afinitas masker pada tugas yang diberikan) untuk memutuskan di mana untuk jadwal mereka. Jika sampai ini salah, anda dapat berakhir membuang-buang banyak waktu/kekuatan untuk menjalankan tugas lambat inti, dan memberikan pengalaman pengguna yang buruk, atau menggunakan "besar" core untuk tugas prioritas rendah, dan dengan demikian membuang-buang tenaga/mencuri mereka dari tugas-tugas yang akan membutuhkan mereka.

Juga, pada asymmetric multiprocessing system's biasanya lebih mahal untuk bermigrasi tugas-tugas inti yang berbeda dari itu akan di SMP sistem, sehingga scheduler umumnya telah membuat awal yang baik menebak alih-alih mencoba untuk berjalan secara random gratis inti dan bergerak di sekitar kemudian.


Intel pilihan di sini bukan adalah untuk memiliki jumlah yang lebih identik cerdas dan cepat, core, tetapi dengan sangat agresif frekuensi scaling. Ketika CPU akan sibuk dengan cepat landai sampai dengan maksimum clock speed, melakukan pekerjaan yang tercepat itu bisa dan kemudian timbangan itu turun untuk kembali ke terendah penggunaan daya modus. Ini doesn't tempat tertentu beban pada scheduler, dan menghindari yang buruk skenario yang dijelaskan di atas. Tentu saja, bahkan ketika di low mode jam, core ini adalah "dengan" orang-orang, sehingga mereka'll mungkin mengkonsumsi lebih dari yang rendah-jam "bodoh" besar.SEDIKIT core.

Komentar (5)

Kinerja dalam permainan cenderung ditentukan oleh single core kecepatan,

Di masa lalu (era DOS games): Benar. Hari-hari ini, itu tidak lagi benar. Banyak permainan modern yang berulir dan manfaat dari beberapa core. Beberapa game yang sudah cukup bahagia dengan 4 core dan yang jumlahnya meningkat dari waktu ke waktu.

sedangkan aplikasi seperti video editing ditentukan oleh jumlah core.

Semacam yang benar.

Jumlah core kali kecepatan inti efisiensi. Jika anda membandingkan satu sama core untuk satu set core identik, maka anda sebagian besar benar.

Dalam hal dari apa yang tersedia di pasar - semua Cpu tampaknya memiliki kira-kira kecepatan yang sama dengan perbedaan utama menjadi lebih benang atau lebih banyak core. Misalnya:

Intel Core i5 7600k, Tempat Freq 3.80 GHz, 4 Cores Intel Core i7 7700k, Tempat Freq 4.20 GHz, 4 Core Dan 8 Thread AMD Ryzen 1600x, Tempat Freq 3.60 GHz 6 Core 12 Thread AMD Ryzen 1800x, Tempat Freq 3.60 GHz, 8 Core 16 Thread

Membandingkan arsitektur yang berbeda adalah berbahaya, tapi ok...

Jadi mengapa kita bisa melihat pola ini meningkatkan core dengan semua core yang memiliki jam yang sama, kecepatan angin?

Sebagian karena kami berlari ke sebuah penghalang. Meningkatkan kecepatan clock yang lebih berarti lebih banyak daya yang dibutuhkan dan lebih banyak panas yang dihasilkan. Lebih panas berarti bahkan lebih banyak kekuatan diperlukan. Kami telah mencoba dengan cara itu, hasilnya mengerikan pentium 4. Panas dan haus kekuasaan. Keras untuk mendinginkan. Dan bahkan lebih cepat dari yang rapi dirancang Pentium-M (P4 di 3.0 GHz adalah kira-kira secepat P-mob di 1,7 GHz).

Sejak itulah, kita kebanyakan menyerah pada mendorong kecepatan clock dan bukan kami membangun solusi cerdas. Bagian dari itu adalah untuk menggunakan beberapa core di atas baku clock speed.

E. g. satu 4GHz core mungkin menarik lebih banyak daya dan menghasilkan panas sebanyak tiga core 2GHz. Jika perangkat lunak anda dapat menggunakan beberapa core, itu akan menjadi jauh lebih cepat.

Tidak semua software bisa melakukan itu, tetapi perangkat lunak modern biasanya dapat.

Yang sebagian jawaban mengapa kita memiliki chip dengan beberapa core, dan mengapa kami menjual keripik dengan nomor yang berbeda dari core.

Seperti clock speed, saya pikir saya bisa mengidentifikasi tiga poin:

  • Daya listrik rendah Cpu akal untuk beberapa kasus yang baku kecepatan tidak diperlukan. E. g. Domain controller, NAS setup, ... ini, kami memiliki frekuensi yang lebih rendah Cpu. Kadang-kadang bahkan dengan lebih banyak core (misalnya 8x kecepatan rendah CPU masuk akal untuk sebuah web server).
  • Untuk sisanya, kita biasanya dekat dengan frekuensi maksimum yang dapat kita lakukan tanpa kita saat ini desain yang terlalu panas. (katakanlah 3 4GHz dengan desain saat ini).
  • Dan di atas semua itu, kami lakukan binning. Tidak semua CPU yang dihasilkan sama. Beberapa CPU skor buruk atau skor parah di bagian chip mereka, memiliki bagian-bagian yang cacat dan dijual sebagai produk yang berbeda.

Contoh klasik dari hal ini adalah 4 core AMD chip. Jika salah satu inti rusak, itu dinonaktifkan dan dijual sebagai 3 core chip. Ketika permintaan untuk 3 core sangat tinggi, bahkan beberapa 4 core yang dijual sebagai inti 3 versi, dan dengan perangkat lunak yang tepat hack, anda bisa mengaktifkan kembali 4 core.

Dan ini tidak hanya dilakukan dengan jumlah core, hal ini juga mempengaruhi kecepatan. Beberapa chip berjalan lebih panas dari yang lain. Terlalu panas dan menjualnya sebagai menurunkan kecepatan CPU (di mana frekuensi yang lebih rendah juga berarti lebih sedikit panas yang dihasilkan).

Dan kemudian ada produksi dan pemasaran dan yang macam-macam itu lebih jauh.

Mengapa kita tidak memiliki varian dengan perbedaan kecepatan clock? ie. 2 'besar' core dan banyak core.

Yang kita lakukan. Di tempat-tempat yang masuk akal (misalnya ponsel), kita sering memiliki SoC dengan lambat core CPU (daya rendah), dan beberapa lebih cepat core. Namun, di PC desktop biasa, hal ini tidak dilakukan. Itu akan membuat setup jauh lebih kompleks, lebih mahal, dan tidak ada baterai untuk tiriskan.

Komentar (2)

Mengapa kita tidak memiliki varian dengan perbedaan kecepatan clock? Misalnya, dua 'besar' core dan banyak core.

Kecuali kita sangat prihatin tentang konsumsi daya, itu akan tidak masuk akal untuk menerima semua biaya yang terkait dengan inti tambahan dan tidak mendapatkan banyak kinerja yang keluar dari inti mungkin. Maksimum clock speed ditentukan sebagian besar oleh proses fabrikasi, dan seluruh chip ini dibuat dengan proses yang sama. Jadi apa yang akan keuntungan dapat untuk membuat beberapa core lambat dari proses fabrikasi yang didukung?

Kita sudah memiliki core yang dapat memperlambat untuk menghemat daya. Apa yang akan menjadi titik untuk membatasi kinerja puncak mereka?

Komentar (7)

Mengapa kita tidak memiliki varian dengan perbedaan kecepatan clock? Misalnya, dua 'besar' core dan banyak core.

Nominal kecepatan clock don't benar-benar berarti terlalu banyak untuk sebagian besar, prosesor yang lebih besar saat ini karena mereka semua memiliki kemampuan untuk clock diri mereka sendiri atas dan ke bawah. Anda're menanyakan apakah atau tidak mereka dapat jam core yang berbeda atas dan bawah secara independen.

I'm jenis terkejut dengan banyak jawaban yang lain. Prosesor Modern dapat dan jangan melakukan hal ini. Anda dapat menguji ini dengan, misalnya, membuka CPU-Z pada smartphone - Google Pixel sangat mampu menjalankan core yang berbeda pada kecepatan yang berbeda:

Itu adalah nominal 2.15 Ghz, tapi dua core di 1.593 Ghz dan dua di 1.132 Ghz.

Bahkan, sejak tahun 2009 mainstream Intel Cpu memiliki logika untuk meningkatkan individu core yang lebih tinggi sementara underclocking core lainnya, yang memungkinkan lebih baik single core kinerja sementara sisanya hanya TDP anggaran: http://www.anandtech.com/show/2832/4

Baru prosesor Intel dengan "Disukai Core" (Intel istilah pemasaran) masing-masing inti yang ditandai di pabrik, dengan tercepat core yang mampu meningkatkan ekstra tinggi: http://www.anandtech.com/show/11550/the-intel-skylakex-review-core-i9-7900x-i7-7820x-and-i7-7800x-tested/7

AMD's Bulldozer chip telah primitif versi ini: http://www.anandtech.com/show/4955/the-bulldozer-review-amd-fx8150-tested/4

AMD's baru Ryzen chip probably ini juga, meskipun itu's tidak secara eksplisit dinyatakan di sini: http://www.anandtech.com/show/11170/the-amd-zen-and-ryzen-7-review-a-deep-dive-on-1800x-1700x-and-1700/11

Komentar (2)

Pada sistem modern anda sering melakukan memiliki semua core yang berjalan pada kecepatan yang berbeda. Clocking turun inti yang isn't banyak digunakan mengurangi penggunaan daya dan output panas yang lebih baik, dan fitur seperti "turbo boost" biarkan satu atau dua core yang berjalan secara signifikan lebih cepat asalkan core lainnya yang menganggur, dan oleh karena itu penggunaan daya dan panas keluaran dari seluruh paket don't pergi terlalu tinggi. Dalam kasus sebuah chip dengan fitur tersebut, kecepatan yang anda lihat dalam daftar adalah kecepatan tertinggi yang bisa anda dapatkan dengan semua core sekaligus. Dan mengapa semua core yang sama-sama memiliki kecepatan maksimum? Nah, mereka're semua desain yang identik, sama fisik chip, ditetapkan sama dengan proses semikonduktor, jadi mengapa mereka harus berbeda?

Alasan semua core yang identik adalah karena yang membuatnya mudah untuk thread yang's berjalan pada satu inti pada satu titik untuk mulai berjalan pada inti yang berbeda di titik lain. Seperti yang disebutkan di tempat lain, ada yang biasa-chip yang digunakan don't mengikuti prinsip ini identik core, yaitu ARM "besar.SEDIKIT" Cpu. Meskipun dalam pikiran saya, perbedaan yang paling penting antara "besar" dan "sedikit" core isn't clock speed ("besar" core cenderung menjadi lebih menarik, lebih luas, lebih spekulatif core yang mendapatkan lebih banyak instruksi per clock pada biaya yang lebih tinggi penggunaan kekuatan, sementara "sedikit" core hew lebih dekat ke LENGAN's single-masalah, in-order, low-power akar), karena mereka're desain yang berbeda pada chip yang sama mereka umumnya akan memiliki maksimum yang berbeda kecepatan clock juga.

Dan semakin jauh ke ranah komputasi heterogen, it's juga menjadi umum untuk melihat "CPU" dan "GPU" core yang terintegrasi pada chip yang sama. Ini telah benar-benar desain yang berbeda, menjalankan instruksi yang berbeda set, ditangani secara berbeda, dan umumnya akan clock berbeda pula.

Komentar (0)

Fast single-thread kinerja dan sangat tinggi multi-thread throughput adalah apa yang anda dapatkan dengan CPU seperti Intel's Xeon E5-2699v4. It's 22-core Broadwell. Berkelanjutan clock speed 2.2 GHz dengan semua core aktif (misalnya video encoding), tapi single-core max turbo adalah 3,6 GHz. Sehingga saat menjalankan tugas paralel, menggunakan 145W power budget 22 6.6 W core. Tetapi saat menjalankan tugas dengan hanya beberapa benang, bahwa kekuatan yang sama budget memungkinkan beberapa turbo core hingga 3.6 GHz. (Yang lebih rendah single-core, memori dan L3-cache bandwidth besar Xeon cara ini mungkin tidak berjalan secepat desktop prosesor quad-core di 3.6 GHz, meskipun. Satu inti di desktop Intel CPU dapat menggunakan lebih banyak dari total bandwidth memori.) 2,2 GHz dinilai clock speed yang rendah karena batas-batas termal. Semakin banyak core CPU, semakin lambat mereka harus lari ketika mereka're semuanya aktif. Efek ini isn't sangat besar pada 4 dan 8 core Cpu yang anda sebutkan dalam pertanyaan, karena 8 isn't yang banyak core, dan mereka memiliki daya yang sangat tinggi anggaran. Bahkan penggemar desktop Cpu terasa menunjukkan efek ini: Intel's Skylake-X i9-7900X adalah 10c20t bagian dengan dasar 3.3 GHz, max turbo 4.5 GHz. Yang's jauh lebih single-core turbo headroom dari i7-6700k (4.0 GHz berkelanjutan / 4.2 GHz turbo tanpa overclocking). Frequency/voltage scaling (DVFS) memungkinkan inti yang sama untuk beroperasi atas berbagai kinerja / efisiensi kurva. Lihat juga ini IDF2015 presentasi pada Skylake manajemen daya, dengan banyak detail yang menarik tentang apa Cpu dapat dilakukan secara efisien, dan perdagangan dari kinerja vs. efisiensi baik statis pada waktu desain, dan on the fly dengan DVFS. Di ujung lain dari spektrum, Intel Core M Cpu memiliki sangat rendah berkelanjutan frekuensi, suka 1.2 GHz dengan 4.5 W, tetapi dapat turbo up to 2.9 GHz. Dengan beberapa core yang aktif, mereka'll menjalankan core yang lebih efisien jam-kecepatan, seperti raksasa Samsung. Anda don't perlu heterogen besar.SEDIKIT gaya arsitektur untuk mendapatkan sebagian besar manfaat. Kecil core di LENGAN besar.SEDIKIT yang cukup jelek di-order core yang tidak't baik untuk menghitung pekerjaan. Intinya adalah untuk menjalankan UI dengan daya yang sangat rendah. Banyak dari mereka tidak akan menjadi besar untuk video encoding atau serius lainnya nomor berderak. (@Lưu Vĩnh Phúc ditemukan beberapa diskusi tentang mengapa x86 doesn't memiliki besar.KECIL. Pada dasarnya, pengeluaran tambahan silikon yang sangat-rendah-power extra-lambat core tidak't menjadi layak untuk khas desktop/laptop penggunaan.)

sedangkan aplikasi seperti video editing ditentukan oleh jumlah core. [Tidak't 2x 4.0 GHz + 4x 2.0 GHz menjadi lebih baik di multi-threaded beban kerja dari 4x 4GHz?] Ini adalah kunci anda kesalahpahaman. Anda tampaknya berpikir bahwa jumlah yang sama dari total jam kutu per detik adalah lebih berguna jika tersebar lebih banyak core. Yang's tidak pernah terjadi. It's lebih suka

cores * perf_per_core * (scaling efficiency)^cores

(perf_per_core bukanlah hal yang sama seperti clock speed, karena 3GHz Pentium4 akan mendapatkan banyak kurang kerja per siklus clock dari 3GHz Skylake.) Yang lebih penting,'s sangat jarang bahwa efisiensi adalah 1.0. Beberapa embarrasingly paralel tugas melakukan skala hampir secara linear (misalnya kompilasi beberapa sumber file). Tapi video encoding adalah tidak seperti itu. Untuk x264, skala sangat baik hingga beberapa core, tapi akan lebih buruk dengan core lebih banyak. misalnya pergi dari 1 sampai 2 core akan hampir dua kali lipat kecepatan, tapi pergi dari 32 ke 64 core akan banyak membantu apalagi bagi yang khas 1080p encode. Titik di mana kecepatan dataran tinggi tergantung pada pengaturan. (-preset veryslow tidak lebih analisis pada setiap frame, dan dapat menyimpan lebih banyak core sibuk dari -preset fast). Dengan banyak sangat lambat core, single-threaded bagian x264 akan menjadi kemacetan. (misalnya akhir CABAC bitstream encoding. It's jam.264's setara dengan gzip, dan doesn't memparalelkan.) Setelah beberapa fast core akan menyelesaikan itu, jika OS yang tahu bagaimana untuk menjadwalkan untuk itu (atau jika x264 disematkan sesuai benang untuk cepat cores). x 265 dapat mengambil keuntungan dari lebih banyak core dari x264, karena memiliki lebih banyak analisis yang harus dilakukan, dan jam.265's WPP desain memungkinkan lebih encode dan decode paralelisme. Tapi bahkan untuk 1080p, anda berjalan keluar dari paralelisme untuk exploit di beberapa titik.

Jika anda memiliki beberapa video untuk mengkodekan, lakukan beberapa video secara paralel skala baik, kecuali untuk kompetisi untuk sumber daya bersama seperti L3 cache kapasitas dan bandwidth, dan bandwidth memori. Lebih sedikit lebih cepat core bisa mendapatkan keuntungan yang lebih dari jumlah yang sama dari L3 cache, karena mereka tidak't perlu untuk bekerja pada begitu banyak bagian yang berbeda dari masalah sama sekali.

Komentar (0)

Sementara itu's mungkin untuk desain komputer yang memiliki bagian-bagian yang berbeda berjalan pada berbagai independen kecepatan, arbitrase sering membutuhkan sumber daya yang dapat dengan cepat memutuskan mana permintaan untuk layanan pertama, yang pada gilirannya memerlukan mengetahui apakah ada permintaan lain, mungkin telah datang cukup cepat untuk memenangkan prioritas. Memutuskan hal-hal seperti itu, sebagian besar waktu, adalah cukup sederhana. Sesuatu seperti "kuis bel" sirkuit bisa dilaksanakan dengan sebagai sedikit sebagai dua transistor. Masalahnya adalah bahwa membuat keputusan yang cepat yang andal jelas lebih sulit. Satu-satunya cara praktis untuk melakukan yang dalam banyak kasus adalah dengan menggunakan memutuskan disebut "kurang", yang dapat menghindari ambiguitas tapi memperkenalkan dua siklus penundaan. Orang bisa merancang sebuah cache controller yang andal akan menengahi antara dua sistem dengan memisahkan jam jika seseorang bersedia untuk mentolerir dua siklus penundaan pada setiap operasi untuk menentukan siapa yang menang arbitrase. Pendekatan seperti itu akan menjadi kurang berguna, namun, jika salah satu akan seperti cache untuk segera merespon permintaan tanpa adanya perselisihan, karena bahkan tidak terbantahkan permintaan akan masih memiliki dua siklus penundaan.

Menjalankan segala sesuatu dari jam umum untuk menghindari kebutuhan untuk sinkronisasi, yang pada gilirannya menghindari dua siklus komunikasi menunda setiap kali itu's yang diperlukan untuk menyampaikan informasi atau sinyal kontrol antara jam domain.

Komentar (0)

Komputer Desktop lakukan ini sudah.

Mereka memiliki (set) CPU(s), dengan 1-72 benang aktif sekaligus, dan (set) GPU(s), dengan 16-7168 komputasi unit.

Grafis adalah contoh dari tugas yang kita telah menemukan besar pekerjaan paralel untuk menjadi efisien. GPU ini dioptimalkan untuk melakukan jenis operasi yang ingin kita lakukan grafis (tetapi isn't terbatas untuk itu).

Ini adalah sebuah komputer dengan beberapa besar core, dan banyak dari kecil core.

Secara umum, perdagangan satu inti di X JEPIT untuk tiga core di X/2 JEPIT tidak layak, tetapi trading satu inti di X JEPIT untuk seratus core pada X/5 JEPIT adalah sangat berharga.

Ketika pemrograman untuk ini, anda menghasilkan sangat berbeda kode untuk CPU dan GPU. Banyak pekerjaan yang dilakukan untuk membagi beban kerja, sehingga GPU mendapat tugas-tugas yang terbaik dilakukan pada GPU, dan CPU mendapat tugas-tugas yang terbaik dilakukan pada CPU.

Hal ini bisa dibilang jauh lebih mudah untuk menulis kode untuk sebuah CPU, karena massively paralel kode adalah lebih sulit untuk mendapatkan hak. Jadi hanya ketika hasilnya adalah besar apakah itu layak trading single-core untuk kinerja multi-core situasi. Gpu memberikan hasil yang besar bila digunakan dengan benar.

Sekarang, perangkat mobile melakukan ini untuk alasan yang berbeda. Mereka memiliki daya rendah-core yang secara signifikan lebih lambat, tetapi menggunakan daya kurang signifikan per unit menghitung juga. Hal ini memungkinkan mereka meregang hidup baterai yang lebih lama ketika tidak melakukan CPU intensive tugas. Di sini kami memiliki berbagai jenis "besar hasil"; bukan kinerja, tapi efisiensi daya. Masih dibutuhkan banyak bekerja pada bagian dari OS dan mungkin aplikasi penulis untuk mendapatkan ini untuk bekerja dengan baik; hanya besar hasil yang dibuat itu layak.

Komentar (0)

Alasan umum sistem memiliki core pada kecepatan yang sama adalah masalah matematika sederhana. Input dan output waktu (dengan optimasi) yang didasarkan pada satu set konstanta (yang terukur = memultiplikasikan oleh jumlah unit).

Dan seseorang mengatakan perangkat mobile yang memiliki multi-cpu dengan kecepatan yang berbeda. Yang's tidak benar. Bukan sebuah central processing unit jika tidak unit central processing; tidak peduli apa-produsen mengatakan hal ini atau tidak. dalam kasus itu [bukan cpu] hanya "dukungan paket".

Komentar (0)

Saya don't pikir OP memahami dasar elektronika. Semua komputer membutuhkan satu hal bagi mereka untuk fungsi - jam. Jam siklus yang dihasilkan oleh internal clock adalah metronom untuk pergerakan dari semua data. Untuk mencapai sinkronisitas, semua operasi harus diikat untuk umum jam. Hal ini berlaku untuk kedua data internal eksekusi pada sebuah komputer terisolasi serta seluruh jaringan.

Jika anda ingin mengisolasi core pada CPU dengan menjalankan mereka di frekuensi yang berbeda, anda pasti bisa desain platform tersebut. Meskipun, itu akan memerlukan teknik motherboard solusi yang mengikat setiap individu core sendiri terisolasi subset dari motherboard fitur. Anda akan ditinggalkan dengan 4 masing-masing komputer, bukan quad-core komputer.

Selain itu, sebagai orang lain menunjukkan, anda dapat menambahkan kode ke kernel anda yang menyesuaikan frekuensi inti secara individual. Hal ini akan menyebabkan hits pada kinerja, meskipun. Anda dapat memiliki kecepatan atau efisiensi daya - tetapi anda dapat't memiliki keduanya.

Komentar (6)