1

מסמכים קשורים
Comp. Arch. Lecture 1

מבוא לאסמבלי

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

תרגול מס' 1

מערכות הפעלה

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

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

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

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

Microsoft PowerPoint - lecture4_handnotes_2013_2.ppt [Compatibility Mode]

סדנת תכנות ב C/C++

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

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

שאלהIgal : מערכים דו מימדיים רקורסיה:

PowerPoint Presentation

Slide 1

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

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

מקביליות

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

PowerPoint Presentation

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

שאלהIgal : מערכים דו מימדיים רקורסיה:

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

Microsoft PowerPoint - Lecture1

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

תרגול 1

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

Slide 1

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

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

PowerPoint Presentation

שאלהIgal : מערכים דו מימדיים רקורסיה:

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

מבנה מחשבים ספרתיים

Homework Dry 3

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

PowerPoint Presentation

Tutorial 11

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

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

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

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

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

הגשה תוך שבוע בשעת התרגול

מטלת מנחה (ממ"ן) 11 הקורס: חשבון אינפיניטסימלי II חומר הלימוד למטלה: יחידות 2,1 4 מספר השאלות: 7 משקל המטלה: נקודות סמסטר: ב 2007 מו

Microsoft PowerPoint - L01-n.ppt

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

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

Microsoft PowerPoint - lec2.ppt

Microsoft Word - c_SimA_MoedB2005.doc

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

תאריך הבחינה 30

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

Microsoft PowerPoint - 10_threads.ppt

Slide 1

Slide 1

הגשה תוך שבוע בשעת התרגול

תרגיל בית מספר 1#

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

PowerPoint Presentation

Slide 1

PowerPoint Presentation

PRESENTATION NAME

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

Microsoft Word - Ass1Bgu2019b_java docx

Slide 1

Microsoft PowerPoint - rec1.ppt

Microsoft Word B

Microsoft Word - דוגמאות ב

תכנות מונחה עצמים א' – תש"ע

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

יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן

PowerPoint Presentation

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

Slide 1

Slide 1

Microsoft Word - moed_A_sol.doc

Slide 1

Slide 1

Microsoft Word - Summary

Microsoft PowerPoint - lec10.ppt

Microsoft PowerPoint - T-10.ppt [Compatibility Mode]

Slide 1

המשימה תרגול מס' 5: קלט-פלט במערכות הפעלה שונות יש סימונים שונים עבור ירידת שורה :)newline( ב- UNIX/Linux )Line Feed( \n ב- Windows )Carriage Return +

תכנות דינמי פרק 6, סעיפים 1-6, ב- Kleinberg/Tardos סכום חלקי מרחק עריכה הרעיון: במקום להרחיב פתרון חלקי יחיד בכל צעד, נרחיב כמה פתרונות אפשריים וניקח

MathType Commands 6 for Word

מבנה מחשבים ספרתיים

מערכות הפעלה

בגרות עז יולי 17 מועד קיץ ב שאלון ,000 א. ניתוח הנתונים מחירה של ספה הוא שקלים, והיא התייקרה ב-. 25% כאשר המחיר מתייקר ב- המחיר החדש הוא פי,

תרגול 1

פייתון

שיעור 1

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

תמליל:

נא לקרא את השאלות בעין ולענות על 15 שאלות מתוך 11. לשאלות משקל זהה, כל שאלה 5 נק', וכל תשובה דרוש למסן את כל השובות הנכונות. במחשב נתון מתפלגות השכיחות של הפעולות לפי SPEC נתון כדלקמן. שים לב שחישובים של משספרים ממשיים מחושב ע"י שימוש בחישובי Integer ותופסים 66% מסך כל חישובי ה- Integer מס' מחזורי שעון שכיחות משפחת פעולות 3 50% Integer 8 20% Memory Access 5 30% Branching שתי השאלות הבאות מתיחסות למחשב זה שאלה 1. אם נתון שתדירות השעון של מעבד מחשב זה היא 10, Hz זמן הריצה של הממוצע של תוכנה שמכילה 566 פקודות הוא: time = CPI ClockTime InstCount = 4.6 0.1 500=230 sec תשובה: שאלה 0. לשיפור ביצוע מחשב זה הוחלט להוסיף יחידה מתמטית לחישובים ממשיים )float( אשר תחליף כל שלוש פעולות Integer שהוקצו לחישובים )מספרים( ממשיים בפעולת float אחת שדורשת בממוצע 4 מחזורי שעון. ממוצע המחזורים לפקודה )CPI( אחרי השיפור הוא: CPI = (5 0.3 + 8 0.2+3 (0.4*0.5) + 4 ((0.6/3) 0.5)) /0.8 = (5 0.3+8 0.2+3 0.2+4 0.1)/0.8 = (1.5+1.6+0.6+0.4)/0.8=5.125 תשובה: שאלה 3. סדר את המשימות הבאות לפי יעילות המקבול )1 הכי יעיל( עבור חישוב n איברים בכל משימה 3 2 1 חישוב הנוסחה הרקורסיבית מכפלה פנימית של שני וקטורים a i =a i-1 +3*a i-2 חיבור שני וקטורים שאלה 4. מה ידפיס קטע הקוד הבא: push 'bor' push 'sud' push esp call printf add esp, 12 0\ לא ידוע( 'bor' 'sud' לא ניתן לקבוע )סוף מחרוזת 'borsud' שאלה 5. איזה מקטעי הקוד הבאים ידליק את סיבית ה-? overflow 1

mov al, -128 sub al, 1 mov ax, 127 add ax, 2 mov al, 0 sub al, 1 mov al, 0xFF add al, 1 שאלה 1. להלן קטע לא מלא מתוך קובץ רשימה file) (listing : 6 00000000 EB0C jmp short L1 ; jmp within a byte range 7 00000002 90 nop 8 00000003 EB04 jmp short L2 9 00000005 90 nop 10 00000006 **** jmp short L1 11 00000008 90 nop מהו קוד המכונה שירשם במקום המצוין בכוכביות )'*'(? EB0E EB0C EB06 FF06 שאלה 7. בהינתן קטע הקוד הבא, ידוע שערכו של הרגיסטר al הוא 1 וערכו של cx כמו כן ידוע שמספר סיביות ה- 1 של bl הוא חיובי. נסמנו ב- x. הוא 6. mubarak: where: here: end : test bl, al jnz where rol al, 1 jmp mubarak inc cx not al and bl, al jz end not al rol al, 1 cmp al, 1 jz mubarak test bl, al jz here inc cx jmp here מה תחשב התוכנית mubarak לרגיסטר? cx 2

8*x טור חשבוני x++1+2 אף תשובה מהנ"ל X 2 שאלה 8. בארכיתקטורות אינטל יש שני מודים Read Mode ו-.Protected Mode אחד ההבדלים ביניהם החשוב ביניהם נובע מצורת יצוג וחישוב כתובות בזכרון. סמן את הנכון מהאמירות דלהלן לכל תוכנה ב- Mode Protected יש טבלת (LDT) local descriptor table שמחזיקה את נותוני סגמטני הזכרון שלה יכולות ליצג אותה כתובת ליניארית Segment:Offset כתובות שונות של ב- Real Mode.(Linear addess) בשני המודים יש התאמה חד-חד ערכית ועל בין כתותב לוגית address( )logic לכתותב ליניארית. כל האמיורת א-ג אינן נכונות. שאלה 9. הפקודה call מבצעת קריאה לרוטינה,)Routine( והדלקת Interrupt מבצעת קריאה גם ל- לגבי שני סוגי האמירות הנכונות (ISR).Interrupt Service Routine סמן את שנקראת Routine הרוטינות בהקשר של.Protected Mode שני הרוטינות מוחזקות במרחב הזיכרון של האפליקציה רטוינה רגילה ו- ISR מבצצעות חזרה ע"י שימוש באותה פקודה לפני הקריאה לשתי הרוטינות נשמרת כתובת החזרה. כל האמיורת א-ג אינן נכונות. שאלה 12. במעבדי x86 יש שתי פקודות pusha ו- popa שמאפשרות דחיפה והוצאה של כל הרגסטרים במחסנית. סמן את האמירות הנכונות. תמיד נכון להשתמש בפקודה pusha בתיחלת הרוטינה ו- popa ממש לפני פוקדת. 1. עדיף להשתמה בפקודות אלו אם אנחנות משתמשים בחלק גדול מהרגסטרים ברוטינה. 2. מאחר וזו פקודה אחת תמיד יותר יעיל להשתמש בהם אם רוצים לשמור יותר משני רגסטרים. 3. פקודות אלו נבנו במיוחד עבור ISR שבהן יש צורך לשמור כל המצב )context( לפני הקפיצה ולא 4. מומלץ להשתמש בהם ברוטינות רגילות. void Sum(int* a, int n, int* s){ int i ; *s = 0 ; for ( i = 0 ; i < n ; i++) *s = *s + a[i] ; } Sum(a, n, &s); שאלה 11. נתונה הפונקציה Sum והקריאה שלה בשפת C. איך יראה קוד של הפונקציה והקריאה לה, בתרגום לאסמבלי. 3

Sum: sub ESP, 4 ; mov DWORD [EBP-4], 0 mov EBX, [EBP+8] add DWORD[EBP-4], DWORD [EBX] int EBX cmp EBX, DWORD[EBP+12], jnz L mov DWORD[EBP+16], DWORD[EBP-4] pop EBP 8 push s push [n] push a Swap: xor EAX, EAX mov EBX, [EBP+8] mov ECX, [EBP+12] mov EDX, [EBP+16] add EAX, [EBX] add EBX, 4 loop L mov [EDX], EAX pop EBP 12 push s push [n] push a Swap: sub ESP, 4 ; xor EAX, EAX mov EBX, [EBP+16] mov ECX, [EBP+12] add EAX, EBX add EBX, 4 loop L mov [EBP+8], EAX add ESP, 4 12 push [s] push [n] push a Swap: sub ESP, 4 mov EAX, 0 mov EBX, [EBP+8] mov ECX, [EBP+12] add EAX, DWORD [EBX] add EBX, 4 loop L mov [EBP+16], EAX pop EBP 12 push s push n push [a] 4

שאלה 10. נתון מבנה נתונים להחזקת נתונים של סטודנט בקורס שכולל מזהה, שם, ציון עבודות, ציון מבחן, וציון סופי. נתוני הסטודנטים מוחזקים במערך של Student(.)struct סמן את הקוד שמחשב את הציון הסופי של סטודנטים כאשר הציון הסופי הינו סכום ציון המבחן וציון העבודות. הנח ש- stud הוא מערך הסטודנטים שקטן מ- 1624 ו- ESI מכיל את האינדקס של הריקורד במערך. struct Student { int id ; char name[16]; short assignments ; short exam ; short final ; }; shl ESI, 4 add ESI, 10 mov AX, [stud+esi+20] mov DX, [stud+esi+22] add AX, DX mov [EBX+ESI+24], AX mov EAX, 26 mul ESI mov ESI, EAX mov EBX, stud mov AX, [EBX+ESI+20] add AX, [EBX+ESI+22] mov [EBX+SI+24], AX mov EBX, stud add EBX, ESI mov EAX, [EBX+20] mov EDX, [EBX +22] add EAX, EDX mov [EBX +24], EAX mov AX, 26 mul SI mov ESI, EAX mov EAX, stud[esi+20] mov EDX, stud[esi+22] add EAX, EDX mov [EBX + ESI+24], EAX שאלה 13. ניתן להבחין בין שני סוגים של שפות אסמבלי מבחינת עבודה עם הזכרון. במשפחה I הערכים נטענים מהזכרון לרגסטרים וכל פעולות ה- ALU נעשות על רגסטרים ובסוף התוצאה מועתקת לזכרון )מעבדי MIPS למשל( במשפחה II ארגומנט של פעולת ALU יכול להיות כתובת בזכרון ( IA32 למשל(. סמן את הנכון גבי מדד זה משפחה I מאפשרות בנית ארכיתקטורה יותר יעילה )שערים לוגים יחסית לביצועים( משפחה II מאפשרות קידוד )תכנות( יותר גמיש מזוית ראיה של מתכנת. לשתי המשפחות יש אותם ביצועים בממוצע בהנחה שהמרכיבים האחרים זהים. אין הבדל בית שתי המשפחות. שאלה 11. מה יהיה מספר הגישות לזיכרון במקרה הגרוע עבור הפקודה add [eax+0x1234567], ebx כאשר ידוע שגודלו של ה- opcode הוא 2 בתים. 4 5 7 6 5

במעבדי x86 יש רגסטרים בגדלים שונים,1. 2 4, bytes סמן את הנכון שאלה 15. זה נבנה במיוחד לאפשר גישה יותר מהירה ויעילה לזכרון. לאפשר חישוב מהיר של כתובות שונות בזכרון. לאפשר עיבוד נוח של byte) Ascii-code 1) ו- (2byte) Unicode זה נבע מהתפתחות הארכיתקטורה והצורך לאפשר תאימות אחורה compatability).(back במעבד גרפי שמשתמש בארכיתקטורת CUDA עלות קריאה היא 3 מחזורי שעון, ועלות פעולות ALU שאלה 11. הוא שני מחזורי שעון, וזמן המתנה של קריאה אחרי כתיבה הוא 10 מחזורי שעון. הנח ככל thread לא יכול לבצע שתי קריאות מהזכרון בוזמנית. אם גודל של WARP הוא 16 כמה threads יספיקו להסתיר את זמן ההמתנה של קריאה אחרי כתיבה. הנח שהקוד הוא מהצורה c = a + b ; d = w * c ; 64 8 16 32 בהצלחה 6