לרשותך מערכת עיבוד שנקראת על ידי הפונקציה:
void process(data);
הנח שהפונקציה הנ"ל ממומשת, עובדת ומבצעת את המוטל עליה.
בעקבות שינוי בחומרת המערכת נוצרה מגבלה על קצב הקריאות שמערכת מסוגלת לטפל בהן.
מוגדר לך
#define MAX_CALLS 100
שמגדיר את הקצב המקסימלי של קריאות שמערכת מסויימת יכולה לתמוך בו בכל שניה.
הסבר מה עליך לשנות בקוד כדי שפונקציה לא תיקרא יותר מהקצב המוגדר.
מותר לך להוסיף פונקציות/מחלקות/משתנים וכל מה שתרצה.
תשובות
הוסף תשובה
|
לצפיה בתשובות
מאי 2018
נעשה מעין semaphore תוכניתי. נגדיר משתנה בגודל 100, ובכל פעם שמישהו יעבור בשורת קוד זו נבדוק האם הערך של המספר הוא אפס, אם לא נחסיר ממנו אחד ונמשיך לבצע את יתר הקוד. בסיום הקוד, נדאג להעלות את הערך של המשתנה חזרה באחד כדי לאפשר לתהליכים נוספים להיכנס. אם הערך של המשתנה הוא אפס, נכניס את התהליך שרוצה להתבצע ל-busy waiting עד שהערך של המשתנה יעלה באחד ואז נוכל לבצע אותו
נתונה קובייה. ניתן להתקדם על פני שטח הפנים של הקובייה. מעוניינים להגיע מקוקוד אחד של הקובייה הנמצא בשמינית המרחב המוגדרת ע"י x,y,z<0 לקודקוד הנמצא בשמינית המרחב המוגדרת ע"י x,y,z>0 במרחק הקצר ביותר.
מהו המרחק הקצר ביותר?
1. חידת היגיון
נתון לוח שעון עם 12 שנתות. לוח השעון מונח על מוט אנכי. יש להניח 5 קוביות על שנתות השעון (בלבד) כך שהשעון יישאר מאוזן.
2. שאלת setup time. נתון מעגל עם FFs, בינהם יש לוגיקה עם זמן השהייה של 12ps. זמן המחזור הוא 15ps ו tsetup=2ps. יש לרשום משוואה כללית על setup time. יש לצייר את האותות.
תשובות
הוסף תשובה
|
לצפיה בתשובות
מאי 2018
נשים את הקוביות על 12, 4, 8, 3, 9 ע"פ עיקרון סופרפוזיציה