|
עמוד:365
בשלב D ( בדוגמה המוצגת באיור ( 10 . 9 בהוראה הראשונה , ( MOV AL , varl ) המעבד צריך לפנות לזיכרון כדי לקרוא אופרנד השמור בזיכרון , ובו-בזמן מתבצע שלב F של ההוראה השנייה , שבה המעבד צריך לפנות לזיכרון כדי לקרוא את ההוראה . במקרה כזה מתרחשת התנגשות כי למרות ששני השלבים פונים לתאי זיכרון שונים , הם משתמשים באותם פסי נתונים ובאותם פסי כתובות , וכך משתבש המידע שמועבר בהם . אחת השיטות לפתור את הבעיה היא , כאמור , להשהות ביחידת זמן אחת את ביצוע פעולת ההבאה של ההוראה השנייה . בחלק ב של איור 10 . 9 מובא ביצוע תכנית הכולל השהיה באורך יחידת זמן אחת , כתוצאה מכך הביצוע של קטע תכנית זה נמשך 8 יחידות זמן במקום . 7 שיטה נוספת לפתור בעיה זו היא להכפיל את מספר המשאבים . לדוגמה ! כדי למנוע את ההתנגשות הנובעת מביצוע שתי פעולות אריתמטיות , מעבד פנטיום כולל שתי יחידות ביצוע , ( ALU ) וכדי למנוע התנגשות במהלך הגישה לזיכרון , מעבד פנטיום מכיל שתי יחידות זיכרון הנקראות זיכרון מטמון לנתונים ו זיכרון מטמון להוראות . בסעיף הבא נעסוק בארגון הזיכרון במעבדים מתקדמים ונדון בו בתפקידו של זיכרון המטמון . ב . טיפול Data Hazard-n כפי שכבר אמרנו , ביצוע התכנית מואט כאשר הביצוע של הוראה אחת תלוי בתוצאת החישוב של הוראה אחרת שעדיין לא התבצעה ; מצב זה נקרא . Data Hazards נניח לדוגמה שתכנית כוללת ההוראות האלה inc dx sub ex , ax add ax , bx איור 10 . 9 ב שימוש בהשהיה כדי למנוע מצב structural hazard
|
|