Saturday 15 December 2012

4.3 Branch Instructions

Apakah fungsi Branch Instructions?
-Branch Instructions digunakan untuk menukar urutan pelaksanaan arahan.


Disebabkan semua branch instructions di sempadan perkataan, pemproses melaksanakan cawangan menghiraukan bit 30 dan 31 alamat sasaran cabang yang dijana. Semua branch instructions boleh digunakan dalam keadaan unprivileged.



Sesuatu branch instruction mengira alamat sasaran dalam salah satu daripada empat cara:

• Alamat sasaran adalah jumlah pemalar dan alamat branch instruction sendiri.
• Sasaran alamat adalah alamat mutlak yang diberikan sebagai satu operan arahan.
• Sasaran alamat adalah alamat yang terdapat dalam Link Register.
• Sasaran alamat adalah alamat yang terdapat dalam Count Register.


Menggunakan kaedah pertama dan kedua, alamat sasaran boleh dikira dengan cukup di hadapan arahan cawangan prefetch arahan di sepanjang jalan sasaran.



Menggunakan kaedah yang ketiga dan keempat, praambilan arahan sepanjang jalan cawangan juga mungkin yang disediakan Link Register atau Count Register dimuatkan cukup menjelang branch instruction.



Jenis Branch Instructions

• Branch Unconditional
• Branch Conditional


Dalam pelbagai bentuk sasaran, branch instruction umumnya sama ada branch unconditionally sahaja, branch uncondtionally dan memberikan alamat kembali, branch conditionally sahaja, atau branch conditionally dan menyediakan alamat kembali. Jika branch instruction mempunyai set Link sedikit kepada 1, maka Link Registration diubah untuk menyimpan alamat kembali untuk kegunaan oleh subroutine. Alamat pulangan adalah alamat arahan segera berdasarkan arahan cawangan.

No comments:

Post a Comment