Sunday 16 December 2012

5.3 Multithreading

Apakah maksud multithreading?
- Keupayaan sesebuah sistem operasi untuk melaksanakan threads, iaitu bahagian-bahagian program yang berbeza dengan serentak.


Multithreading dibahagikan kepada 3 jenis:
• Fine-grain Multithreading
• Coarse-grain Multithreading
• Simultaneous Multithreading



Fine-grain Multithreading





Fine-grain Mutithreading (FMT) mempercepatkan penyiapan semua threads yang sedang berjalan, dan ia adalah throughput keseluruhan yang secara umumnya perkara yang paling penting. FMT dijalankan untuk menyembunyikan latencies yang sangat panjang dalam pelaksanaan thread. Grafik perjalanan FMT telah ditunjukkan di atas.

Kecekapan yang bertambah baik disebabkan penurunan dalam "vertical waste". "Vertical waste" bermaksud situasi di mana tiada unit fungsian berjalan disebabkan untuk satu thread punah.



Coarse-grain Multithreading





Coarse-grain Multithreading (CMT) meningkatkan kecekapan dengan penggunaan unit berfungsi dengan melaksanakan satu thread untuk satu kitaran jam dan kemudian beralih ke seterusnya. Apabila beralih ke thread lain, pemproses menjimatkan keadaan benang itu (ia menjimatkan mana arahan yang berada dalam pipeline yang unit sedang digunakan) dan beralih kepada satu lagi. Dengan itu, pemproses CTM n-way dapat menyimpan keadaan n-threads.



Simultaneous Multithreading





Simultaneous Multithreading (SMT) pemproses dapat menjalankan arahan daripada thread yang berbeza, pada bila-bila masa yang diberikan serta mana-mana unit fungsi yang diberikan. Dengan berputar melalui thread, cip SMT bertindak seperti pemproses FMT, dengan melaksanakan arahan daripada thread yang berbeza pada masa yang sama, ia bertindak seperti pemproses CMP.

No comments:

Post a Comment