Bagaimana Anda Menghitung Kecepatan Prosesor pada Prosesor Multi-core?

Daftar Isi:

Bagaimana Anda Menghitung Kecepatan Prosesor pada Prosesor Multi-core?
Bagaimana Anda Menghitung Kecepatan Prosesor pada Prosesor Multi-core?

Video: Bagaimana Anda Menghitung Kecepatan Prosesor pada Prosesor Multi-core?

Video: Bagaimana Anda Menghitung Kecepatan Prosesor pada Prosesor Multi-core?
Video: Cara Memilih Tripod Sesuai Kebutuhan !!! - YouTube 2024, Maret
Anonim
Munculnya prosesor multi-core kelas konsumen yang ekonomis menimbulkan pertanyaan bagi banyak pengguna: bagaimana Anda secara efektif menghitung kecepatan nyata dari sistem multi-inti? Apakah sistem 4-core 3Ghz benar-benar 12Ghz? Baca terus selagi kami menyelidikinya.
Munculnya prosesor multi-core kelas konsumen yang ekonomis menimbulkan pertanyaan bagi banyak pengguna: bagaimana Anda secara efektif menghitung kecepatan nyata dari sistem multi-inti? Apakah sistem 4-core 3Ghz benar-benar 12Ghz? Baca terus selagi kami menyelidikinya.

Sesi Tanya & Jawab Hari ini hadir untuk memberi kami SuperUser - subdivisi Stack Exchange, pengelompokan komunitas situs web Tanya-Jawab.

Pertanyaan

Pembaca SuperUser NReilingh ingin tahu bagaimana kecepatan prosesor untuk sistem multi-core sebenarnya dihitung:

Is it correct to say, for example, that a processor with four cores each running at 3GHz is in fact a processor running at 12GHz?

I once got into a “Mac vs. PC” argument (which by the way is NOT the focus of this topic… that was back in middle school) with an acquaintance who insisted that Macs were only being advertised as 1Ghz machines because they were dual-processor G4s each running at 500MHz.

At the time I knew this to be hogwash for reasons I think are apparent to most people, but I just saw a comment on this website to the effect of “6 cores x 0.2GHz = 1.2Ghz” and that got me thinking again about whether there’s a real answer to this.

So, this is a more-or-less philosophical/deep technical question about the semantics of clock speed calculation. I see two possibilities:

  1. Each core is in fact doing x calculations per second, thus the total number of calculations is x(cores).
  2. Clock speed is rather a count of the number of cycles the processor goes through in the space of a second, so as long as all cores are running at the same speed, the speed of each clock cycle stays the same no matter how many cores exist. In other words, Hz = (core1Hz+core2Hz+…)/cores.

Jadi apa cara yang tepat untuk menunjukkan kecepatan clock total dan, yang lebih penting, apakah mungkin untuk menggunakan nomenklatur single-core pada sistem multi-core?

Jawabannya

Penyumbang SuperUser Mokubai membantu menjernihkan masalah. Dia menulis:

The main reason why a quad-core 3GHz processor is never as fast as a 12GHz single core is to do with how the task running on that processor works, i.e. single-threaded or multi-threaded. Amdahl’s Law is important when considering the types of tasks you are running.

If you have a task that is inherently linear and has to be done precisely step-by-step such as (a grossly simple program)

10: a = a + 1

20: goto 10

Maka tugas sangat bergantung pada hasil dari pass sebelumnya dan tidak dapat menjalankan banyak salinan dari dirinya sendiri tanpa merusak nilai

'a'

karena setiap salinan akan mendapatkan nilai

'a'

pada waktu yang berbeda dan menulisnya kembali secara berbeda. Ini membatasi tugas ke utas tunggal dan dengan demikian tugas hanya dapat berjalan pada satu inti pada waktu tertentu, jika itu dijalankan pada beberapa inti maka korupsi sinkronisasi akan terjadi. Ini membatasi hingga 1/2 dari daya cpu dari sistem dual core, atau 1/4 dalam sistem quad core.

Sekarang ambil tugas seperti:

10: a = a + 1

20: b = b + 1

30: c = c + 1

40: d = d + 1

50: goto 10

Semua lini ini bersifat independen dan dapat dibagi menjadi 4 program terpisah seperti yang pertama dan dijalankan pada saat yang sama, masing-masing dapat menggunakan kekuatan penuh dari salah satu inti tanpa masalah sinkronisasi, di sinilah Hukum Amdahl datang ke dalamnya.

Jadi, jika Anda memiliki aplikasi berulir tunggal yang melakukan perhitungan kasar, prosesor 12GHz tunggal akan menang telak, jika Anda dapat membuat tugas dibagi menjadi beberapa bagian dan multi-berulir maka 4 core dapat mendekati, tetapi tidak cukup menjangkau, kinerja yang sama, sesuai Hukum Amdahl.

Hal utama yang diberikan oleh sistem multi-CPU adalah responsif. Pada mesin inti tunggal yang bekerja keras sistem dapat tampak lamban karena sebagian besar waktu dapat digunakan oleh satu tugas dan tugas-tugas lainnya hanya berjalan dalam semburan pendek di antara tugas yang lebih besar, menghasilkan sistem yang tampaknya lamban atau juddery. Pada sistem multi-core, tugas berat mendapat satu inti dan semua tugas lainnya bermain di core lain, melakukan pekerjaan mereka dengan cepat dan efisien.

Argumen “6 core x 0.2GHz = 1.2Ghz” adalah sampah di setiap situasi kecuali di mana tugas-tugasnya paralel sempurna dan independen. Ada sejumlah tugas yang sangat paralel, tetapi mereka masih membutuhkan beberapa bentuk sinkronisasi. Handbrake adalah trancoder video yang sangat bagus dalam menggunakan semua CPU yang tersedia tetapi itu memang membutuhkan proses inti untuk menjaga agar benang-benang lainnya diisi data dan mengumpulkan data yang telah mereka kerjakan.

Setiap inti sebenarnya melakukan x perhitungan per detik, sehingga jumlah total perhitungan adalah x (core).

Setiap inti mampu melakukan x kalkulasi per detik, dengan asumsi beban kerja sesuai paralel, pada program linier yang Anda miliki adalah 1 inti.

Kecepatan clock lebih merupakan hitungan jumlah siklus yang dilalui prosesor dalam waktu satu detik, jadi selama semua core berjalan pada kecepatan yang sama, kecepatan setiap siklus clock tetap sama tidak peduli berapa banyak core yang ada.. Dengan kata lain, Hz = (core1Hz + core2Hz +…) / core.

Saya pikir itu adalah kekeliruan untuk berpikir bahwa 4 x 3GHz = 12GHz, diberikan matematika bekerja, tetapi Anda membandingkan apel dengan jeruk dan jumlahnya tidak benar, GHz tidak bisa begitu saja ditambahkan bersama untuk setiap situasi. Saya akan mengubahnya menjadi 4 x 3GHz = 4 x 3GHz.

Memiliki sesuatu untuk ditambahkan ke penjelasan? Bicaralah di komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang paham teknologi lainnya? Lihat diskusi lengkap di sini.

Direkomendasikan: