Microsoft PowerPoint - tirgul12.ppt

מסמכים קשורים
תרגול מס' 1

מבוא לאסמבלי

פתרון מבחן במיקרו בקרים תשעו

Microsoft PowerPoint - L01-n.ppt

הטכניון מכון טכנולוגי לישראל הפקולטה למדעי המחשב הוראות הגשה: ההגשה בזוגות. הוסיפו שמות, ת.ז., אי-מייל, תא אליו יש להחזיר את התרגיל ואת תשובותיכם לתרג

שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע

PowerPoint Presentation

Disclaimer מסמך זה הינו סיכום און-ליין של השיעור ולא עבר עריכה כלל. מצאת טעות? שלח/י לי מייל ואתקן: 07/05/2009 קורס: מערכות ה

מערכות הפעלה

מתכונת עיצוב 3013

Microsoft PowerPoint - Lecture1

PowerPoint Presentation

מהוא לתכנות ב- JAVA מעבדה 3

הטכניון – מכון טכנולוגי לישראל

Comp. Arch. Lecture 1

Microsoft PowerPoint - lecture4_handnotes_2013_2.ppt [Compatibility Mode]

תקנון Switc h To Mac 2019

תוכן העניינים

תרגול 1

בחן במערכות הפעלה

Microsoft PowerPoint - lec10.ppt

PowerPoint Presentation

תוכן העניינים

אגף כלכלה תקציב ומסחר

<4D F736F F D20E8E9E9EEF8E9ED20E5EEE5F0E9ED20E1E1F7F >

Microsoft Word - moed_A_sol.doc

Microsoft PowerPoint - rec1.ppt

מקביליות

PowerPoint Presentation

Microsoft PowerPoint - 10_threads.ppt

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

מקביליות

הסבר על HSRP, VRRP, GLBP

מבוא למדעי המחשב

Slide 1

תאריך פרסום: תאריך הגשה: מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש לה

Office 365 ProPlus בחינם לסטודנטים באוניברסיטת בן גוריון בנגב הוראות סטודנטים באוניברסיטת בן גוריון בנגב יכולים להוריד ולהתקין את חבילת התוכנה Office

<4D F736F F D20FAF8E2E5EC20E0ECE2E1F8E420EEF2E5F8E D F9E0ECE5FA2E646F63>

Slide 1

PowerPoint Presentation

Microsoft PowerPoint - lec2.ppt

Microsoft Word - caid.doc

PowerPoint Presentation

<4D F736F F D20F4E9E6E9F7E420FAF8E2E5ED20ECF2E1F8E9FA20E4E2E4E420F1E5F4E9FA20496C616E2E646F63>

מבוא למדעי המחשב

תרגול מס' 7 – חזרה על MST ואלגוריתם Dijkstra

משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק

áñéñ åîéîã (ñéåí)

תרגיל 3 בקורס תוכנה 1

מקביליות

BIG DATA תיאור הקורס המונח Big Data הולך וצובר תאוצה בשנים האחרונות, הוא הופך למגמה רווחת בתעשייה. המשמעות הפרקטית של המונח Big Data הינה טכנולוגיות נ

SPAM Everyone's favorite food Aviram Jenik

CITROËN DS3

Algorithms Tirgul 1

מדינת ישראל סוג הבחינה: בגרות לבתי ספר על יסודיים משרד החינוך מועד הבחינה: קיץ תשע"ה, 2015 אין להעביר את הנוסחאון לנבחן אחר נספח לשאלון: נוסחאו

תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש

תרגול 1

הגנה - שקפי תרגול

MathType Commands 6 for Word

תוכן העניינים: פרק צמצומים ומימושים של פונקציות בוליאניות... 2 צמצומים של פונקציות באמצעות מפת קרנו:...2 שאלות:... 2 תשובות סופיות:... 4 צמצום

אוניברסיטת בן גוריון בנגב תאריך המבחן: שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות מס' הקורס : מיועד לתלמידי : הנד

מבוא למדעי המחשב

PowerPoint Presentation

Microsoft Word - vaidya.doc

Microsoft Word - sync_LG.doc

I am Very Good - Stage3 Pwned! מאת רונן שוסטין )Antartic( ופלג הדר )P( הקדמה במאמר זה נסקור טכניקות אנטי-דיבאגינג מסויימות. כרקע אנו ממליצים לקרוא את

רובוטיקה – מבוא

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

PowerPoint Presentation

Slide 1

תכנון אלגוריתמים, אביב 1021, תרגול מס' 4 תכנון דינאמי תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (16.1.(CLR ראשית נראה דוגמא: דוגמא: תהינה

דוגמאות שהוצגו בהרצאה 10 בקורס יסודות מערכות פתוחות דוגמה 1 דוגמאות של פונקציות ב- awk שמראות שהעברת פרמטרים של משתנים פשוטים היא by value והעברת פרמט

מצגת של PowerPoint

PowerPoint Presentation

מועצה מקומית אפרת

מבוא למדעי המחשב

Homework Dry 3

תורת הקומפילציה

Microsoft Word Viewer - Winter0708-MoedC.doc

הסבר והגדרת Cisco NTP ומהו Stratum,הסבר על DHCP על DHCP Relay Agent והגדרת IP Helper,הגדרת DHCP בCisco Router,הסבר על IPv6,הסבר על Switch Virtual Inte

Microsoft Word - Ass1Bgu2019b_java docx

Microsoft Word - solutions.doc

PowerPoint Presentation

Slide 1

מבוא לתכנות ב- JAVA תרגול 7

מצגת של PowerPoint

. שאלה 1: ה אי x] T : R 4[ x] R 4[ אופרטור ליניארי מוגדר על-ידי T( ax bx cx d) bx ax cx c )13 נק'( א( מצאו את הערכים העצמיים, המרחבים העצמיים

פרק 57

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

אנליזה נומרית תרגול :1 MATLAB סימולציה, MATLAB היא סביבה אינטראקטיבית לחישוב מדעי והנדסי, ויזואליזציה ותכנון אלגוריתמים.

1 מבחן משווה בפיסיקה כיתה ז' משך המבחן 90 דקות מבנה השאלון : שאלון זה כולל 4 שאלות עליך לענות על כולן.כתוב את הפתרונות המפורטים בדפים נפרדים וצרף אותם

תמליל:

תרגול 12 מלכודות בניית ה- Debugger 1 מבוסס על שקפים מאת יאן ציטרין מלכודות במצבים מסוימים המעבד מפסיק את ריצת התוכנית הנוכחית ועובר לביצוע של שגרה מיוחדת שכתובתה נמצאת במקום שמור בזיכרון. דוגמאות: כתובת אי זוגית ב- PC (4,6) פקודה לא חוקית (12,10) אירוע כזה נקרא מלכודת (פסיקת תוכנה). בניגוד לפסיקות רגילות שהן תוצאות של אירוע חיצוני, מקור של מלכודת תוכנית עצמה. 2 1

תזכורת: מנגנון קפיצה וחזרה מפסיקה פסיקה וקטור הפסיקה α α + 2 pc psw RTI PC PSW pc psw 3 מנגנון המלכודת בדיוק כמו וקטור הפסיקות וקטור מלכודת α α + 2 קפיצה למלכודת pc psw PC PSW pc psw RTT יש הבדל קטן בין ל- RTI RTT הוא יובהר בהמשך 4 2

השוואה בין המלכודות לפסיקות פסיקות אירוע נגרם ע"י התקן חיצוני המתכנת אינו יודע מתי תתרחש הפסיקה ביצוע פסיקה מותנה בעדיפות חומרה גדולה מעדיפות תוכנה המנגנון משתמש במלות Status ו- Buffer כתובת שיגרת שירות נמצאת בוקטור פסיקות מנגנון הקפיצה והחזרה: שמירה ושחזור של PC ו- PSW חזרה: RTI 5 המלכודות "פסיקות תוכנה". פקודה או אירוע בתוך תוכנה במקרים מסוימים המתכנת בעצמו מכניס את פקודת המלכודת לתוכנה, ואז הוא יודע בדיוק מתי המלכודת תתרחש המלכודת מתבצעת תמיד. אין מושג עדיפות חומרה לא משתמשים במלות Status ו- Buffer כתובת שיגרת שירות נמצאת בוקטור מלכודות מנגנון הקפיצה והחזרה זהה לזה של הפסיקות חזרה: RTT 15 14 13 12 11 T-bit 10 9 8 7 6 5 4 3 2 1 0 T N Z V C דרך נוספת לגרום לפסיקת תוכנה היא להדליק את ה- T-bit במילת הסטטוס של המעבד (PSW) אחרי ביצוע של כל פקודה ה- CPU בודק את ה- T-bit אם הוא דלוק מתבצעת קפיצה למלכודת בכתובת (16,14) המנגנון הזה מאפשר לממש - tracing ביצוע של איזושהי תוכנית, פקודה אחרי פקודה, כאשר בסיום ביצוע של כל פקודה השליטה חוזרת למשתמש 6 3

ההבדל בין RTI ל- RTT אחרי פק ודת RTT לא מתבצעת בדיקת ה- T-bit ניתן להשתמש בתכונה המיוחדת הזו לצורך בניית debugger פשוט (נקרא לו ( tracer 7 הרעיון של ה- tracer אתחול: כתובת התחלת התוכנית המדובגת ו- PSW עם ה- T-bitדלוק נמצאים בראש ה- tracer נמצא בשגרת שירות של מלכודת (16,14) אופן הפ עול ה:.1.2.3 ה- tracer מבצע.RTT אחרי ביצוע RTT המעבד אינו מתייחס ל-.T-bit המעבד מבצע פקודה ראשונה של התוכנית המדובגת ובעקבות ה- T-bit מתבצעת קפיצה למלכודת (16,14), כלומר ל- tracer. חזרה לשלב 1. 8 4

הסכמה של ה- tracer tracer push PSW (T-bit on) וקטור המלכודת push #main PC=#main 14 HandleT rtt PSW(T-bit on) 16 PSW main: mov add HandleT: print r0 rtt זוהי הפקודה הראשונה של התוכנית המדובגת בעקבות הביצוע של rtt תתחיל להתבצע התוכנית המדובגת לאחר ביצוע של כל פקודה ב- main נכנסים למלכודת (14,16) 9 מלכודת BPT והרחבת ה- tracer הבעיה של ה- tracer שראינו : לא מאפשר הרבה דברים שהיינו רוצים מה- debugger, למשל בדיקת ערכי הרגיסטרים או זיכרון בצורה אינטראקטיבית (ולא כמו קודם בכל breakpoint לבצע סדרה קבועה של פעולות) BPT מלכודת, אשר הוקטור שלה נמצא ב-( 16,14), כלומר אותה שגרת שירות כמו ל- T-bit ניתן להשתמש ב- BPT על מנת להכניס breakpoints לתוכנית המדובגת וברגע שהתוכנית עוצרת ב- breakpoint שהגדרנו לאפשר למשתמש לבצע :monitoring לראות ערכים של הרגיסטרים להמשיך ריצה של התוכנית המדובגת ועוד 10 5

טיפול ב- breakpoints א) ב) השתלת ה- breakpoint בוחרים פקודה בתוכנית שלפניה רוצים לעצור, שומרים אותה במקום אחר בזיכרון, ובמקומה מכניסים את ה- opcode של BPT (ערך 000003) עצירה ב- breakpoint מבצעים את התוכנית וברגע שנגיע לפקודת BPT (שהוחלפה לפני כן) נקפוץ לשגרת השירות של המלכודת (ממשק של ה- (.Debugger 11 תרשים הזרימה של ה- debugger ב- interface מחליפים את הפקודה המקורית ל- BPT (000003) מבצעים BPT ב- main ובעקבות כך נכנסים למלכודת משחזרים את הפקודה המקורית מעבירים שליטה למשתמש (שיוכל לבצע (monitoring מדליקים את ה- T-bit בתוך PSW שבמחסנית חוזרים לתוכנית הראשית מבצעים פקודה מקורית וחוזרים ל- debugger בגלל ה- T-bit מחליפים את הפקודה המקורית ב- BPT מכבים את T-bit (כדי לעצור רק לפני הפקודה ב- breakpoint ) 12 6

debugger debugger: mov pc, sp tst (sp) mov #break_subr, @#14 ; Initialize trace clr @#16 ; and BPT vector jsr pc, interface jsr pc, main בדוגמה הזו התוכנית מתחילה להתבצע לא מ- main אלא מה- debugger jsr halt pc, interface main: mov #7, r0 loop : sob r0, loop rts pc baddr:.word loop ; the address of the original ; command save:.blkw 1 ; the original command is ; saved here נותנים למשתמש להגדיר פעולה של debugger (ההנחה הסמויה שהוא יכניס לפני ה- loop breakpoint זוהי התוכנית "המדובגת.שימו לב שהיא מסתיימת ב- RTS ולא ב- HALT 13 User Interface interface: waitp: tstb @#tps bpl waitp movb # $, @#tpb print the promt waitr: tstb @#tks bpl waitr movb @#tkb, userinp checkr: cmpb userinp, # r bne checkb movb r0, temp bic #177770, temp add #60, temp busy_w: tstb @#tks bpl busy_w movb temp, @#tpb br ret read the input into userinp prints the value of the r0 on the display 14 7

User Interface (cont.) checkb: cmpb userinp, # b ; inserts breakpoint to baddr bne checkc mov @baddr, save ; saves the original command mov #000003, @baddr ; puts BPT instead of the br ret ; original command checkc: cmpb userinp, # c ; continue bne interface ret: rts pc userinp:.blkw 1 temp:.blkw 1 15 שיגרת השירות של BPT BPT BPT T-bit מחזיר י ם פק ודה מקור ית מקטינ י ם כת ובת חזרה מדליקים T-bit בתוך PSW במחסנית ממשק המש תמש מבצע ים RTT.1.2.3.4.5 מחזיר י ם את ה- BPT מכבי ם את ה-- T PSW bitבתוך במחסנית מבצע ים RTT.1.2.3 16 8

שגרת שרות של המלכודת break_subr: bit #20, 2(sp) ; Is the T-bit set? bne T_called BPT_called: mov save, @baddr ; restore the original command sub #2, 0(sp) ; make the PC re-run the ; command on the breakpoint bis #20, 2(sp) ; T-bit on jsr pc, interface rtt T_called: mov #000003, @baddr ; replace the original ; command with BPT bic #20, 2(sp) ; Clear the T-bit rtt 17 9