|
עמוד:374
איור 10 . 17 מדגים ביצוע 8 הוראות המסומנות באותיות 11-18 בצינור הוראות כפול . - השלב הראשון , המסומן באיור 10 . 17 באותיות , ( PreFetch ) PF אחראי להבאת שתי ההוראות , כשבמרבית המקרים ההוראות הבאות ( עבור שתי יחידות הביצוע ) נמצאת כבר בתור ההוראות . תור ההוראות במעבד הוא תור כפול , כדי ליעל את ביצוע הוראת הקפיצה . תור אחד מכיל את ההוראות לביצוע במקרה שהוראת הקפיצה לא תבוצע , והתור השני כולל את ההוראות במקרה של קפיצה . לאחר שיתברר אם הוראת הקפיצה בוצעה או לא , אחד התורים יהפוך לתקף והשני לא . - השלב השני , המסומן באיור 10 . 17 ב1- ס , הוא שלב פענוח ההוראות . בשלב זה מתבצעת ההחלטה אם ניתן לבצע את שתי ההוראות בו-זמנית . ביצוע הוראות בו-זמנית יימשך רק בתנאים מסוימים ו ההוראות חייבות להיות פשוטות וחייבת להתקיים אי תלות בין הנתונים של שתי ההוראות . - החל מהשלב השלישי , המסומן באיור 10 . 17 ב2- ס , צינור ההוראות של שתי יחידות הביצוע נפרדות לחלוטין . בשלב השלישי כל צינור הוראות מבצע חישוב של כתובות הנתונים בזיכרון ( אם יש כתובות כאלה , ( וקורא אותן . - בשלב הרביעי , המסומן באיור , EX-1 10 . 17 מבוצעות ההוראות . ALU-n שתי ההוראות מגיעות בו-זמנית לשלב הביצוע . הזמן הדרוש לביצוע כל אחת משתי ההוראות יכול להיות שונה . למשל , אם ביצוע ההוראה מהצינור ( u-pipeline ) U הסתיים לפני ביצוע ההוראה מהצינור , ( v-pipeline ) V המעבד לא ירשה להוראה חדשה להיכנס לשלב הביצוע בצינור ( u-pipeline ) U עד שיושלם ביצוע ההוראה בצינור . ( v-pipeline ) V בשלב האחרון , המסומן באיור , WB-3 10 . 17 בביצוע ההוראות נשמרת התוצאה . אמרנו כי הפנטיום יכול לבצע שתי הוראות במספרים שלמים , במחזור שעון יחיד . אולם להוראות בנקודה צפה דרושים שלושה מחזורי שעון , ובמרבית המקרים יכול המעבד לבצע בו-זמנית רק הוראה אחת בנקודה צפה .
|
|