07 December 2013

Cara Kerja Processor Part 4

Out Of Order Execution (OOO)
Pada bagian sebelumnya sudah disebutkan bahwa processor mempunyai beberapa execution unit yang bekerja secara paralel dan disebutkan juga bahwa ada jenis execution unit yang berbeda-beda seperti ALU dan FPU. Sebagai contoh untuk lebih memahami out of order execution, misal sebuah processor mempunyai enam executon unit, 4 generic dan dua FPU. Mari kita asumsikan sebuah program dengan alur perintah sebagai berikut :

1. Generic instruction
2. Generic instruction
3. Generic instruction
4. Generic instruction
5. Generic instruction
6. Math instruction
7. Generic instruction
8. Generic instruction
9. Generic instruction
10. Math instruction
Apa yang terjadi dengan alur perintah diatas? schedule/dispatch unit akan mengirim 4 perintah pertama ke empat ALU, kemudian pada perintah ke lima processor harus menunggu sampai salah satu ALU selesai untuk menjalankan perintah berikutnya karena keempat ALU sibuk menjalankan perintah sebelumnya. Hal ini tidak bagus karena masih ada dua match unit yang diam. Kemudian processor dengan fitur Out Of Order execution (semua processor modern mempunyai fitur ini) akan mencari perintah berikutnya untuk melihat apakah bisa dikirim ke unit yang diam. Dari contoh diatas, tidak bisa karena perintah ke enam juga membutuhkan ALU untuk diproses. Out of order engine akan melanjutkan mencari ke perintah ke tujuh yaitu math instuction yang bisa diproses oleh FPU yang sedang diam/idle. Karena masih ada satu FPU lagi yang idle maka out of order engine akan terus mencari kebawah mencari math instruction lainnya melewati nomor 8, 9 dan memuat perintah ke 10.

Nama Out Of Order berasal dari fakta bahwa processor tidak harus menunggu, perintah bisa langsung dijalankan dari bawah dan memprosesnya sebelum perintah diatas/sebelumnya dijalankan. Tentu saja out of order engine tidak bisa selamanya mencari sebuah perintah jika memang sudah tidak ditemukan. Out of order engine pada semua processor mempunyai batasan dalam mencari perintah yaitu 512.

Labels:

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home