| המועמדים צריכים להיות מסוגלים: | הערות והנחיות |
|---|---|
| הוכח הבנה של מחשבים עם סט פקודות מצומצם (RISC) ומחשבים עם סט פקודות מורכב (CISC) | ההבדלים בין RISC ל-CISC הבנת טיפול בהפרעות במעבדי CISC ו-RISC |
| הוכח הבנה של החשיבות/השימוש בפיפלינג ובריגיסטר במעבדי RISC | |
| הוכח הבנה של ארבע הארכיטקטורות הבסיסיות למחשב | SISD, SIMD, MISD, MIMD |
| הוכח הבנה של מאפייני מחשבים מקבילים בצורה מאסיבית | |
| הוכח הבנה של המושג של מכונה וירטואלית | נתן דוגמאות לתפקיד מכונות וירטואליות הבנת היתרונות והמגבלות של מכונות וירטואליות |
חומרה ומחשבים וירטואליים
מדעי המחשב A-Level · נושא 15
15:02
RISC, זרמי ביצועים ולוגיקה
שני מעצבי שבבים עומדים מול אותו בעיה: להפוך את התוכניות לרצות מהר. האחד אומר — בנה הוראות חזקות, כך שכל אחת תבצע הרבה עבודה. השני אומר — שמור…
קריאת קול באנגלית · תרגום אנגלי + סינית שרוף בתוך הסרטון
15.1
מעבדי RISC לעומת CISC
סיילבוס
מקור: הסיילבוס הבינלאומי של קמבריד'ג'
שני סוגי עיצוב CPU. ה-CPU מחובר ללוח אם, הלוח הראשי המקשר בין המעבד, הזיכרון וכמעט כל חלק אחר במחשב.


CISC
CISC (Complex Instruction Set Computers) כולל הרבה, לעיתים מורכבות, הוראות (אחת עשויה לבצע מספר גישות לזיכרון ותפעולים), בעלות אורך משתנה, ולכן הפיענוח מורכב. היא ביצעת יותר בהוראה אחת ברמת החומרה. דוגמאות: Intel x86.
RISC
RISC (Reduced Instruction Set Computers) כולל סט קטן של הוראות פשוטות, כל אחת מבצעת פעולה בסיסית אחת, כולן בעלות אורך קבוע (מהירה לפיענוח). רק load ו-store מגיעים לזיכרון; הכל שאר הוא ריגסטר ל-ריגסטר. התוכניות ארוכות יותר אך כל הוראה מהירה וניתנת לחיזוי, מה שמתאים לפיפלינג. דוגמאות: ARM, RISC-V.
| מאפיין | CISC | RISC |
|---|---|---|
| סט הוראות | הרבה | מעט |
| אורך הוראה | משתנה | קבוע |
| גישה לזיכרון | פקודות רבות | רק טעינה/אחסון |
| ידידותי לפייפליינינג | קשה יותר | באופן טבעי |
| מחזורי פקודה אחת | משתנה | בדרך כלל 1 |
המסחר הוא בין ביצוע יותר כל פקודה (CISC) לבין ביצוע כל פקודה מהר וצפוי יותר (RISC). שבבים מודרניים של אינטל ממירים פקודות CISC לתוך מיקרו-פקודות פשוטות דמויות RISC בפנים.
"זהה ארבע מאפיינים של מעבד RISC." ארבעה מ: ערכה קטנה של פקודות פשוטות; פקודות בעלות אורך קבוע (מילה אחת); רוב הפקודות נגמרות ב-מחזור שעון אחד; רבות רשומות מטרה כללית; רק פקודות טעינה ואחסון מגיעות לגישה לזיכרון (כל האריתמטיקה היא מהרשומות לרשומות); בקרת חיווט קשיח (ללא מיקרו-קוד); מתוכנן ל-פיפליינינג; ה-קומפילר עושה יותר מהעבודה, כך שבתוכניות יש יותר פקודות ונדרש יותר זיכרון. "זהה ארבע מאפיינים של מעבד CISC." ארבעה מ: ערכה גדולה של פקודות, רבות מהן מורכבות (פקודה אחת עשויה לבצע מספר פעולות); פקודות בעלות אורך משתנה; פקודות הנוTakinges מספר מחזורי שעון; פחות רשומות; פקודות שיכולות להגיע לגישה ישירה לזיכרון; בקרה מיקרו-מתוכנת; פחות מתאים לפיפליינינג; תוכניות קצרות יותר, ולכן קומפילר פשוט יותר ופחות זיכרון. "תיאר את המשמעות של RISC ו-CISC" (שתי נקודות כל אחד): ציין את ההרחבה ותן את הרעיון המגדיר (פקודות פשוטות יחיד-מחזוריות; פקודות מורכבות רבות-מחזוריות).
טיפול בהפרעות בשני העיצובים. במעבד CISC הפקודה הנוכחית, לא משנה כמה היא מורכבת, מושלמת לפני שההפרעה מטופלת; המעבד אז שומר תוכן של הרשומות שלו (כולל מדף התוכנית) על הערימה, קופץ לנקודת השירות להפרעה, ומשחזר את הרשומות לאחר מכן. במעבד RISC עם פיפליינינג, מספר פקודות נמצאות בחצי הדרך בזמן שההפרעה מגיעה, ולכן המעבד חייב או להשאיר כל פקודה בפיפליינינג להסתיים, או לפנות (flush) את הפקודות שהוצאו למחצה ולהתחיל אותן מחדש לאחר ההפרעה; בכל מקרה הערימה מתרוקנת, הרשומות נשמרות, ונקודת השירות פועלת. ניסוח הבחינה: "הפיפליינינג הופך את הטיפול בהפרעות למורכב יותר, כי תוכן הערימה חייב להיות טיפל לפני שההפרעה יכולה להיות מטופלת".
| English | עברית |
|---|---|
| motherboard/ˈmʌðəbɔːd/ | לוח אם |
| CISC/sɪsk/ | CISC |
| RISC/rɪsk/ | RISC |
| register/ˈredʒɪstə/ | רשמה |
| interrupt/ˈɪntərʌpt/ | הפרעה |
15.1
פיפליינינג
פיפליינינג מעבד פקודות בשלבים חופפים, כמו קו הרכבה: חיפוש → פענוח → ביצוע (ב-ALU) → גישה לזיכרון → כתיבה חוזרת. כל שלב עובד על פקודה שונה בו-זמנית, כך שתמיד הערימה מלאה, פקודה אחת נגמרת בכל מחזור. פקודות RISC בעלות אורך קבוע ופשוטות גורמות לכל שלב לקחת אותו זמן. פיפליינינג יכול להסתגר על סיכון — סיכון נתונים (פקודה צריכה תוצאה שלא מוכנה עדיין) או סיכון בקרה (ענף הופך את הכתובת הבאה לחסרת ודאות).

שבבי RISC שומרים נתונים ברשומות רבות כי הזיכרון איטי והרשומות מהירות; הקומפילר מקצה ערכים לרשומות בצורה חכמה.
"תיאר את השימוש בפיפליינינג במעבדי RISC" (שלוש נקודות). (1) מחזור החיפוש-ביצוע מחולק לשלבים (חיפוש, פענוח, ביצוע, גישה לזיכרון, כתיבה חוזרת); (2) מספר פקודות נמצאות בפיפליינינג בו-זמנית, כל אחת בשלב שונה, כך שמעבר לפעולת ביצוע אחת, הבאה נפענחת והשלישית נחפשת; (3) פקודה חדשה מתחילה, ופקודה אחת נגמרת, בכל מחזור שעון לאחר שהערימה מלאה, מה שמגביר את התפוקה (מספר הפקודות שנגמרות בשנייה), למרות שכל פקודה עדיין לוקחת את אותו זמן לעצמה. פקודות RISC בעלות אורך קבוע ומחזור יחיד הן מה שהופך את השלבים לשווים ואת הפיפליינינג לאפשרי.
דוגמה פותרת. מעבד משתמש בחמישה שלבי פיפליינינג (IF, ID, OF, EX, WB). ארבע פקודות נכנסות לפיפליינינג אחת לאחר השנייה. באיזה מחזור נגמרת הפקודה האחרונה, וכמה מחזוריים היו נדרשים ל这四 פקודות ללא פיפליינינג?
פקודה 1 תופסת IF במחזור 1, ID ב-2, OF ב-3, EX ב-4 ו-WB ב-5; פקודה 2 מתחילה מחזור אחד מאוחר יותר ונגמרת במחזור 6; פקודה 3 במחזור 7; פקודה 4 במחזור 8. באופן כללי $n$ פקודות דרך $k$ שלבים לוקחים $n + k - 1$ מחזוריים, כאן $4 + 5 - 1 = 8$. ללא פיפליינינג כל פקודה לוקחת את כל חמישת המחזוריים לפני שהבאה מתחילה: $4 \times 5 = 20$ מחזוריים. הטבלה בבחינה מתמלאה על ידי כתיבת שלבי כל פקודה אלכסונית, עמודה אחת מימין לפקודה הקודמת.
מעבד הפועל במהירות כזו פולט הרבה חום, ולכן מפזר חום ומאוורר יושבים מעליו. סנפיר המתכת מפזרים את החום והמאוורר נושף אותו הרחק, ושומר על ה-CPU קר מספיק כדי לעבוד.

כיצד זרם הוראות מתמלא
עבורו דרך מחזורי השעון. ברגע שזרם ההוראות מלא, הוראה חדשה נסתיימת בכל מחזור — למרות שכל אחת מהן עדיין לוקחת מספר שלבים — מכיוון שהשלבים של הוראות שונות חופפים זה על גבי זה.
| English | עברית |
|---|---|
| pipeline/ˈpaɪplaɪn/ | מפעל עיבוד |
| ALU/ˌeɪ el ˈjuː/ | יחידת אריתמטיקה ולוגיקה (ALU) |
| hazard/ˈhæzəd/ | סיכון |
| throughput/ˈθruːpʊt/ | תפוקה |
| heat-sink/hiːt sɪŋk/ | מפזר חום |
| Flynn's taxonomy/flɪnz tækˈsɒnəmi/ | טקסונומיית פליין |
15.1
טקסונומיית פליין
טקסונומיית פליין ממיין מחשבים לפי מספר זרמי הפקודות והנתונים:
- SISD — פקודה אחת, זרם נתונים אחד (ליבה בודדת מסורתית).
- SIMD — הוראה אחת פועלת על מספר רב של פריטי מידע בו-זמנית (יחידות עיבוד גרפי, הרחבות וקטוריות במעבד). מצוין לעיבוד תמונות, וידאו ומערכות מדעיות.
- MISD — מספר פעולות על אותו נתון; נדיר, בעיקר תיאורטי.
- MIMD — מעבדים רבים מבצעים הוראות שונות על נתונים שונים (מעבדים רב-ליבה, אשכולות). הגנרית ביותר.
תיאור ארבע הארכיטקטורות (שתי נקודות לכל אחת). SISD: מעבד אחד מבצע הוראה אחת בכל פעם על פריט נתונים אחד; ללא מקבילות, המכונה ון נוימן המסורתית. SIMD: הוראה אחת מופעלת בו-זמנית על מספר פריטי נתונים, על ידי מספר יחידות עיבוד הפועלות בסנכרון; משמש לעיבוד מערכות וגרפיקה. MISD: מספר מעבדים מיישמים הוראות שונות על אותו נתון; נדיר בשימוש, למשל במערכת סבלנית לתקלות שבה מספר מעבדים בוחנים זרם נתונים אחד. MIMD: מעבדים רבים, כל אחד מבצע הוראות משלו על נתונים שלו, באופן עצמאי; המחשב הרב-ליבה והאשכול.

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


| English | עברית |
|---|---|
| SIMD/ˈsɪmdiː/ | SIMD |
| MIMD/ˈmɪmdiː/ | MIMD |
| graphics card/ˈɡræfɪks kɑːd/ | כרטיס גרפי |
| massively parallel/ˈmæsɪvli ˈpærəlel/ | מקביליות עצומה |
| distributed memory/ˈdɪstrɪbjuːtɪd ˈmeməri/ | זיכרון מפוזר |
| machine learning/məˈʃiːn ˈlɜːnɪŋ/ | למידת מכונה |
| supercomputers/ˌsuːpəkəmˈpjuːtəz/ | מחשבים על-עוצמתיים |
15.1
מחשבים מקבילים בעוצמה רבה
מערכת מקבילית בעוצמה רבה משתמשת באלפי מעבדים ברשת מהירה, לכל אחד זיכרון משלו (זיכרון מפוזר), ומחליפה נתונים באמצעות הודעות. זו ארכיטקטורת MIMD, דורשת תוכנה שנכתבה במיוחד (MPI, CUDA), ומתאימה לדמיית אקלים, אימון מלמך מכונה גדול ואסטרופיזיקה. המחשבים העל-מהירים הגדולים ביותר הם מקבילים בעוצמה רבה.
"סקירה של מאפייני מחשבים מקבילים בעוצמה רבה (שלוש נקודות). מספר גדול מאוד של מעבדים (אלפים), כל אחד עם זיכרון משלו, מחוברים ברשת (חיבור מהיר או סליל) כדי שיכולים לשלוח הודעות זו לזה; הם עובדים בו-זמנית על חלקים מאותו בעיה, כך שהבעיה חייבת להיות כתובה בתוכנית שניתן לפצל לחלקים הפועלים במקביל ומשלב את התוצאות שלהם. זו תצורת MIMD.
המעבדים ממוקמים במגירות שרת גבוהות, לעיתים קרובות ממלאות חדר שלם (מרכז נתונים), מחוברים חשמלית כדי שיוכלו לעבוד על בעיה גדולה אחת בו-זמנית.

| English | עברית |
|---|---|
| server/ˈsɜːvə/ | שרת |
| data centre/ˈdeɪtə ˈsentə/ | מרכז נתונים |
| virtual machine/ˈvɜːtʃuːəl məˈʃiːn/ | מכונה וירטואלית |
15.1
מכונות וירטואליות
מכונה וירטואלית (VM) היא סימולציה תוכנתית של מחשב שלם — התוכנה הפנימית רואה CPU, זיכרון ודיסקים שנראים אמיתיים אך מנוהלים על ידי תוכנת המארח.
- מכונת וירטואלית של מערכת מפעילה מערכת הפעלה שלמה. היפרייזור יוצר ומנהל VMs, כל אחת מפעילה את מערכת ההפעלה המארחת שלה. שימושים: הפעלת מערכות הפעלה שונות על מכונה אחת; מיזוג שרתים; בידוד (תוכנה מסוכנת פועלת בבידוד); נקודות הצלבה.
- מכונת וירטואלית (VM) רצה תוכנית אחת ב-בייטקוד נייד — ה-JVM (Java), ה-CLR (.NET), CPython. יתרונות: ניידות ("כתוב פעם אחת, הרץ בכל מקום"), בדיקות בטיחות בזמן ריצה ו-הרכבה בזמן אמת למעין מהירות קרובה לזו של המארח. העלות היא שכבת נוספת והצורך בהתקנת ה-VM.

"תיארו את המשמעות של מכונה וירטואלית" (שתי נקודות). אמולציה תוכנתית (יישום) של מערכת מחשב הנמצאת על מחשב מארח ומתנהגת, לתוכניות הרוצות בתוכה, כמו מחשב פיזי נפרד עם מעבד, זיכרון ואחסון משלו. מערכת ההפעלה המארחת רצה על החומרה בפועל, מנהלת את המשאבים האמיתיים ו(עבור ה-hypervisor) יוצרת ושולטת במכונות הווירטואליות; כל מערכת הפעלה אורחת רצה בתוך מכונה וירטואלית, מנהלת את האפליקציות שבה, ואינה מודעת לכך שהחומרה שלה היא וירטואלית.
יתרונות (תנו שניים). מספר מערכות הפעלה שונות יכולות לרץ על מחשב אחד בו-זמנית; תוכנה יכולה להיות נבדקת על מערכות רבות ללא רכישת חומרה; מערכת מחשב חדשה יכולה להיות אמולציה ולבדק לפני הבנייה; כל VM היא מובודדת, כך שאירוע כשל או תוכנת זדון באחת אינו פוגע במארח או באחרות; VMs ניתן להעתק, להעביר ולשמר כקבצים, ומשרת יכול לשמש מספר רב של משתמשים, מפחית עלות חומרה. מגבלות (תנו שניים). VM רצה איט יותר מהחומרה האמיתית כי כל פקודה עוברת דרך שכבת האמולציה; היא צורכת את הזיכרון והעוצמה של המארח, ולכן המארח חייב להיות חזק; חלק ממאפייני החומרה או מכשירים אינם אמולציה מדויקת, ולכן התוכנה שנבדקה עשויה להתנהג בצורה שונה במחשב האמיתי; נדרשות רישיונות עבור כל מערכת הפעלה אורחת, והתקנת המערכת דורשת מומחיות.
מעבדת מושגי מחשוב
סווג דוגמאות מلموسة לפי הרעיון המחשובי שהן מדגימות.
| English | עברית |
|---|---|
| hypervisor/ˌhaɪpəˈvaɪzə/ | היפרי-ויזור |
| sandboxing/ˈsændbɒksɪŋ/ | בידוד סנפוקס |
| bytecode/ˈbaɪtkəʊd/ | בייקוד (bytecode) |
| just-in-time compilation/dʒʌst ɪn taɪm ˌkɒmpɪˈleɪʃn/ | הרכבה בזמן אמת (just-in-time compilation) |
| host operating system/həʊst ˈɒpəreɪtɪŋ ˈsɪstəm/ | מערכת הפעלה מארח |
| guest operating system/ɡest ˈɒpəreɪtɪŋ ˈsɪstəm/ | מערכת הפעלה אורח |
| Boolean algebra/ˈbuːlɪən ˈældʒɪbrə/ | אלגברה בולית |
| Boolean/ˈbuːlɪən/ | בוליאני |
| truth tables/truːθ ˈteɪblz/ | טבלאות אמת |
| De Morgan's laws/də ˈmɔːɡənz lɔːz/ | חוקי דה מורגן |
| absorption/əbˈsɔːpʃn/ | ספיגה |
| sum-of-products/sʌm ɒv ˈprɒdʌkts/ | סכום-מוכפלים |
| Karnaugh map/ˈkɑːnɔː mæp/ | מפת קארנו |
| Gray code/ɡreɪ kəʊd/ | קוד גריי |
15.2
אלגברה בוליאנית
סיילבוס
| המועמדים צריכים להיות מסוגלים: | הערות והנחיות |
|---|---|
| צור טבלאות אמת למעגלים לוגיים כולל וספים ווספים מלאים | עשוי לכלול שערי לוגיקה עם יותר משני קלטות |
| הוכח הבנה של פליפ-פלופ (SR, JK) | שרטוט מעגל לוגיקה ויצירת טבלת אמת עבור פליפ-פלופ הבנת התפקיד של פליפ-פלופים כאלמנט אחסון נתונים |
| הוכח הבנה של אלגברת בוליאן | הבנת חוקי דה מורגן ביצוע אלגברת בוליאן באמצעות חוקי דה מורגן הפשטת מעגל לוגיקה/ביטוי באמצעות אלגברת בוליאן |
| הוכח הבנה של מפות קרנו (K-map) | הבנת היתרונות בשימוש במפות קרנו פתרון בעיות לוגיקה באמצעות מפות קרנו |
מקור: הסיילבוס הבינלאומי של קמבריד'ג'
אלגברה בוליאנית מצמצמת ביטויים בוליאניים, אשר ניתן לתאר גם באמצעות טבלאות אמת. סמלים: + עבור OR, · עבור AND ( לעיתים קרובות מושמד), פס מעל NOT.
חוקים מרכזיים כוללים חילופין, אסוציאטיבי ודיסטריבוטיבי (כמו באלגברה רגילה), בנוסף:
- זהות $A + 0 = A$, $A \cdot 1 = A$; ביטול $A + 1 = 1$, $A \cdot 0 = 0$.
- אידימפוטנט $A + A = A$; הפוך $A + \overline{A} = 1$, $A \cdot \overline{A} = 0$.
- חוקי דה מורגן: $(A + B)' = A' \cdot B'$; $(A \cdot B)' = A' + B'$ — לשנות סימן את הכל, להחליף AND/OR, לשנות סימן כל אופרנד.
- ספיגה: $A + AB = A$.
הקצאה מפחיתה את מספר האיברים, ולכן מעגל הלוגיקה resulting יהיה בעל שערים פחותים. לדוגמה: $Z = AB + A\overline{B} = A(B + \overline{B}) = A$.
החוקים עם שמותיהם (העתיקו את השם בכל שלב כאשר מבוקש "הראו את כל הפעולה").
| חוק | צורת OR | צורת AND |
|---|---|---|
| זהות | $A + 0 = A$ | $A \cdot 1 = A$ |
| ביטול (השמדה) | $A + 1 = 1$ | $A \cdot 0 = 0$ |
| אידימפוטנט | $A + A = A$ | $A \cdot A = A$ |
| משלים (הפוך) | $A + \overline{A} = 1$ | $A \cdot \overline{A} = 0$ |
| קומוטטיבי | $A + B = B + A$ | $A \cdot B = B \cdot A$ |
| אסוציאטיביות | $A + (B + C) = (A + B) + C$ | $A(BC) = (AB)C$ |
| פיזור | $A + BC = (A + B)(A + C)$ | $A(B + C) = AB + AC$ |
| ספיגה | $A + AB = A$ | $A(A + B) = A$ |
| דה מורגן | $\overline{A + B} = \overline{A} \cdot \overline{B}$ | $\overline{A \cdot B} = \overline{A} + \overline{B}$ |
| כפול שלילי | $\overline{\overline{A}} = A$ |
דוגמה מפורטת. פשטו $X = \overline{\overline{(A \cdot B)} \cdot \overline{(A + B)}}$, תוך הצגת כל השלבים.
$X = \overline{\overline{(A \cdot B)}} + \overline{\overline{(A + B)}}$ (דה מורגן על הפס העליון) $= A \cdot B + A + B$ (כפול שלילי) $= A + B$ (ספיגה, $A + AB = A$, מיושמת כאשר $A + B$ סופגת את $AB$).
דוגמה מפורטת. פשטו $(\overline{A + B}) \cdot (\overline{A} + B)$.
$= \overline{A} \cdot \overline{B} \cdot (\overline{A} + B)$ (דה מורגן) $= \overline{A}\,\overline{B}\,\overline{A} + \overline{A}\,\overline{B}\,B$ (פיזור) $= \overline{A}\,\overline{B} + 0$ (אידמפוטנט, משלים) $= \overline{A}\,\overline{B}$.
דוגמה מפורטת. פשטו $Y = \overline{A}\,\overline{B}\,\overline{C} + \overline{A}\,\overline{B}\,C + A\,\overline{B}\,C$.
$= \overline{A}\,\overline{B}(\overline{C} + C) + A\,\overline{B}\,C$ (פיזור) $= \overline{A}\,\overline{B} + A\,\overline{B}\,C$ (משלים, זהות) $= \overline{B}(\overline{A} + AC)$ (פיזור) $= \overline{B}(\overline{A} + C)$, תוך שימוש ב-$\overline{A} + AC = (\overline{A} + A)(\overline{A} + C) = \overline{A} + C$. יישום דה מורגן על ביטוי בעל שלושה קלטות עובד באותו אופן: $\overline{A + B + C} = \overline{A} \cdot \overline{B} \cdot \overline{C}$.
צירוף-מכפלות מתוך טבלת אמת. לקחו כל שורה שבה הפלט הוא 1, כתבו את AND של הקלטות שלה (משתנה עם פס כאשר הוא 0), ואז OR את הביטויים: שורה עם $A = 1, B = 0, C = 1$ נותנת $A\,\overline{B}\,C$. זוהי צורת צירוף-מכפלות שהמבחן מבקש, והיא הנקודת התחלה גם לפישוט אלגברי וגם למפת קרנאוג'.
אלגברה בולית
A·B, A+B, Ā …
אלגברה בוליאנית היא פשוט שערים אלו כתובים כביטויים — השוו את טבלאות האמת.
טבלאות אמת בוליאניות
בחר פעולה והקלטות כדי לבנות את טבלת האמת שלה – האלגברה המעומדת מאחורי מעגלי לוגיקה.
| English | עברית |
|---|---|
| half adder/hɑːf ˈædə/ | מחבר חצי |
15.2
מפות קרנאוג'
מפת קרנאוג' (K-map) מקצרת ביטוי בוליאני על ידי חיבור 1s סמוכים מטבלת האמת. עמודות ושורות משתמשות בסדר קוד גריי (00, 01, 11, 10) כך שתאים סמוכים נבדלים במשתנה אחד.
הניחו 1 בכל תא שבו הפלט הוא 1. מצאו קבוצות מלבניות של 1s שצדדיהן הם חזקות של 2 (1, 2, 4, 8), תוך עקיפה סביב הקצוות אם это יוצר קבוצה גדולה יותר. כל קבוצה גדולה יותר, כל הביטוי פשוט יותר: קבוצה של 2 מפחיתה משתנה אחד, קבוצה של 4 מפחית שניים, וכן הלאה — משתנים השונים בתוך הקבוצה נעלמים. OR את ביטויי הקבוצה יחד לקבלת הביטוי המופשט. כיסו כל 1 באמצעות מספר הקטן ביותר של קבוצות גדולות ככל האפשר.
דוגמה פתורה. מפת קרנאוג עבור $A$ ו$B$ מכילה 1 בתאים $\overline{A}B$ ו$AB$. פשט. שני ה1s הם שכונים - הם משתפים את עמודת ה$B=1$ - ולכן קבץ אותם כמלבן של 2. בתוך הקבץ הזה $B$ נשאר 1 לאורך כל הדרך בעוד $A$ משתנה מ0 ל1, וכל משתנה που משתנה בתוך קבץ נעלם. לכן הקבץ משאיר פשוט $X = B$. השווה זאת לסכום המכפלים קורא ישירות טבלה, $\overline{A}B + AB$: אותו מעגל, שעריGate fewer. שני כללים מבצעים את רוב העבודה - תן לכל קבץ גדול ככל האפשר (קבץ של 2 מוריד משתנה אחד, 4 מוריד שניים, 8 מוריד שלושה), וזכור שהמפה מתעגלת סביב קצוותיה, ולכן העמודות השמאלית והימנית הן שכונות. התעגלות זו היא ההקבצת שרוב המועמדים מפספס.

בניית וקריאת K-map. סימנו את העמודות $AB$ ואת השורות $C$ (או $CD$) בסדר קוד גריי 00 01 11 10, כך שתאים שכנים נבדלים במשתנה בלבד. הניחו 1 בכל תא שבו מיניטרם מופיע בביטוי (או ששורת טבלת האמת שלו מציגה פלט של 1). לאחר מכן שרטטו את המספר הקטן ביותר של לולאות גדולות שמכסות כל 1: כל לולאה חייבת להיות מלבן של $1, 2, 4$ או $8$ תאים, לולאות יכולות להשתלב, יכולות להתעקף סביב הקצוות השמאלי-ימני והעליוני-תחתון, וארבע הפינות יחד יוצרות לולאה. לכל לולאה כתבו את המשתנים ש-קבועים בתוכה (עם פס כאשר 0), ואז OR את ביטויי הלולאות: זהו צירוף-מכפالات אופטימלי. למה להשתמש בזה? זה נותן את הביטוי הפשוט ביותר ללא אלגברה, בשלבים מעטים, עם סיכון פחות לשגיאה, והאותה מפה מתאימה לשלושה או ארבעה משתנים.
דוגמה מפורטת. $Z = \overline{A}\,\overline{B}\,\overline{C} + \overline{A}\,\overline{B}\,C + \overline{A}\,B\,\overline{C} + \overline{A}\,B\,C + A\,\overline{B}\,\overline{C} + A\,\overline{B}\,C$.
על מפת שלושה-משתנים, ה1 ממלאים את העמודות 00, 01 ו10 בשתי השורות. הלולאה של ארבעה על העמודות 00 ו01 מכילה $A = 0$ לאורך כל זמן ו$B$, $C$ משתנים שניהם: האיבר $\overline{A}$. הלולאה של ארבעה על העמודות 00 ו10 (מתעגלת) מכילה $B = 0$ לאורך כל זמן: האיבר $\overline{B}$. אז $Z = \overline{A} + \overline{B}$, דבר שאלגברה בוליאנית מאשרת: $\overline{A}(\overline{B} + B) + \ldots = \overline{A} + \overline{B}$. שתי לולאות של שניים היו נכונות גם כן אך לא אופטימליות; לולאה צריכה להיות גדולה ככל שה1 מאפשר.
דוגמה מפורטת (ארבעה משתנים). מפה מכילה 1s רק בארבעת הפינות שלה: $\overline{A}\,\overline{B}\,\overline{C}\,\overline{D}$, $A\,\overline{B}\,\overline{C}\,\overline{D}$, $\overline{A}\,\overline{B}\,C\,\overline{D}$ ו-$A\,\overline{B}\,C\,\overline{D}$. מכיוון שהשורה העליונה והתחתונה הן סמוכות וגם העמודות החיצוניות הן סמוכות, הפינות הן לולאה אחת של ארבעה; $B = 0$ ו-$D = 0$ קבועים בכל אחד מהם בעוד ש-$A$ ו-$C$ משתנים, ולכן $Z = \overline{B}\,\overline{D}$.
15.2
מחסר חצי ומחסר מלא
מחשב מחציתי מחבר שני ביטים בודדים $A$ ו$B$, ונותן סכום $S$ ועומס (carry) $C$:
| A | B | S | C |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
כלומר $S = A \text{ XOR } B$ ו$C = A \text{ AND } B$. הוא מתעלם מנשיאה נכנסת — ולכן "חצי".

מחסר מלא מכנס שלושה ביטים ($A$, $B$, נשיאה נכנסת), ומפיק סכום ונשיאת יציאה: $S = A \text{ XOR } B \text{ XOR } C_{\text{in}}$. ניתן לבנות אותו משני מחסרי חצי ועם שערי OR. חיבור מחסרים מלאים בסדרה (כשכל נשיאת יציאה מזינה את הנשיאה הנכנסת הבאה) יוצר מחסר רב-ביטי מסוג "נשיאה הולכת" (ripple-carry).

טבלת האמת למחסר מלא. עם קלט $A$, $B$ ונשיאה נכנסת $C_{\text{in}}$: הסכום $S$ הוא 1 כאשר מספר אי-זוגי של קלטים הוא 1, והנשיאת היציאה היא 1 כאשר שניים או יותר מהקלטים הם 1.
| $A$ | $B$ | $C_{\text{in}}$ | $S$ | $C_{\text{out}}$ |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
שאלות מעגלים שהבחינה מציבה. נתון מעגל של שערי XOR ו-AND המשתפים שני קלטים, או שני מחסרי חצי ושערי OR, "השלם את טבלת האמת (הראה את עבודתך)" פירונו הוספת עמוד לכל פלט מעגלי ביניים ומילוי השורות בסדר; "צין את שם המעגל" הוא מחסר חצי או מחסר מלא; "צין את התפקיד של כל פלט" הוא הסכום של הביטים והנשיאה לעמודה הבאה. סכום-מכפלות עבור מחסר חצי: $S = \overline{A}B + A\overline{B}$, $C = AB$. שרשרת מחסרים מלאים, שכל אחד מועבר את נשיאת היציאה שלו לנשיאה הנכנסת הבאה, מכנס שני מספרים רב-ביטיים.
השערות בתוך מחבר.
ביטון התוצאה של מחצית מחבר הוא שער XOR והנשיאה היא שער AND — שינה את A ו-B וצפה כיצד שורת טבלת האמת מדליקה.
| English | עברית |
|---|---|
| carry/ˈkæri/ | משיאה |
| full adder/fʊl ˈædə/ | מוסיף מלא |
15.2
פליפ-פלופים
פליפ-פלופ הוא מעגל דו-יציב — לשני מצבים יציבים (0 ו-1) — שהוא זוכר את מצבו. הוא מאחסן ביט אחד והוא האלמנט הבסיסי ברגיסטר וב-SRAM.
פליפ-פלופ SR
הקלף SR (SR flip-flop) הוא קלף עם כניסות S (הגדרה) ו-R (איפוס) והוצאות Q ו-$\overline{Q}$. S=1,R=0 מגדיר את Q ל-1; S=0,R=1 מאפס אותו ל-0; S=0,R=0 שומר על המצב; S=1,R=1 הוא לא חוקי. נבנה משתי שערי NOR מחוברים בצורה צולבת.

"שרטט מעגל לוגי לפליפ-פלופ SR וסמן את הקלטים." שני NOR (או שני NAND), פלט של כל אחד מחובר בחזרה לקלט אחד של השני; הקלט הפנוי של שער אחד הוא S, של השני R; הפלט הם $Q$ ו$\overline{Q}$. ה-מזיגה היא מה שמעניקים עליה נקודות: בלעדה אין זיכרון. "צין את תפקידו של פליפ-פלופ." לאחסן ביט אחד של מידע; הוא אלמנט הזיכרון הבסיסי ממנו נבנים רגיستر ו-Static RAM, והוא שומר על ערכו עד שיש שינוי מכוון. הקלט הלא חוקי $S = R = 1$ גורם לשני הפלט להיות 0, כך ש$\overline{Q}$ אינו longer המשלימה של $Q$, והמצב לאחר שהקלטים חוזרים ל-0 הוא בלתי צפוי, וזהו חולשו של פליפ-פלופ SR.
פליפ-פלופ JK
פליפ-פלופ JK משפר עליו על ידי השימוש בקלט 1,1 שהיה בעבר לא חוקי כהפיכה (הפלט מתהפך). זה הופך אותו לאידיאלי לבניית מוניטרים (שרשרת של פליפ-פלופים המהפכים). הוא בדרך כלל מופעל בשעון — הקלטים פועלים רק בקצה השעון, ומשמר את סינכרוניות הפליפ-פלופים.

מפגשים הם בלוקי הבנייה של רגיסטרים (n ביטים = n מפגשים), ספנים ותאי SRAM RAM.
טבלת אמת למפגש JK. קלט השעון קובע מתי נקראים הקלטים J ו-K, ולכן הפלט משתנה רק על גל שעון: עם $J = K = 0$ הפלט נשמר; $J = 1, K = 0$ מגדיר $Q$ ל-1; $J = 0, K = 1$ מוחיק אותו ל-0; $J = K = 1$ הופך אותו (Q הופך ל$\overline{Q}$). שורה זו היא בדיוק קלט האסור במפגש SR שהפך לשימושי, ולכן ה-JK עדיף: כל צירוף קלטים תקף, והפעולה בשעון הופכת אותו לבלוק בנייה לספנים ורגיסטרים הזזה.
| English | עברית |
|---|---|
| flip-flop/flɪp flɒp/ | פרלפ-לופ |
| bistable/baɪˈsteɪbl/ | דו-יציבות |
| SRAM/ˈesræm/ | SRAM |
| clock/klɒk/ | שעון |
| SR flip-flop/ˌes ˈɑː flɪp flɒp/ | פליפ-לופ SR |
| JK flip-flop/ˌdʒeɪ ˈkeɪ flɪp flɒp/ | פליפ-לופ JK |
15.2
הגדרות מקובלות בקורס
שאלת הגדרה מוקדמת לפי טקסט קבוע. לימודן במדויק, ותן תשובה אחת בלבד.
| מונח | הגדרה |
|---|---|
| RISC | מעבד בעל סט קטן של הוראות פשוטות וארוכות קבועות, הרוב מתבצעות במחזור שעון אחד, באמצעות רגיסטרים רבים ופיילינג |
| CISC | מעבד בעל סט גדול של הוראות מורכבות וארוכות משתנות, רבות מהן לוקחות מספר מחזורי שעון ומגיעות ישירות לזיכרון |
| פיילינג | חלוקת מחזור המציאה–ביצוע לשלבים כך שמספר הוראות יעובדו בו-זמנית, כל אחת בשלב שונה |
| SISD / SIMD / MISD / MIMD | הוראה אחת על פריט נתונים אחד; הוראה אחת על פריטי נתונים רבים; הוראות רבות על פריט נתונים אחד; הוראות רבות על פריטי נתונים רבים |
| מחשב מקביל-עצום | אלפי מעבדים, לכל אחד זיכרון עצמאי, מחוברים ברשת ועובדים בו-זמנית על בעיה אחת |
| מכונה וירטואלית | אמולציה תוכנתית של מערכת מחשב הפועלת על מחשב מארח ומתנהגת כמחשב פיזי נפרד |
| היפריז'ר | התוכנה היוצרת מכונות וירטואליות וחולקת את החומרה של המחשב המארח ביניהן |
| טבלת אמת | טבלה המפרטת כל צירוף של קלטים למעגל לוגי עם הפלט(ים) המתקבל |
| סכום-מכפלות | ביטוי בוליאני הכתוב כ-OR של איברים AND, איבר אחד לכל צירוף קלטים הנותן 1 |
| מפת קארנו | רשת של פלטות טבלת האמת, מסודרות בסדר קוד גריי, בהם לולאות של 1s סמוכים נותנות את הביטוי המקוצר |
| מחבר חצי | מעגל שמחבר שני ביטים, ומייצר סכום ונשיאה |
| מחבר מלא | מעגל שמחבר שני ביטים ונשיאה-כניסה, ומייצר סכום ונשיאה-יציאה |
| מפגש | מעגל דו-יציב שאוחסן ביט אחד, ושומר את פלטו עד לקלט שישנה אותו |
15.2
טיפים לבחינות
- RISC ו-CISC נענעים כרשימות תכונות: פשוט, קבוע, מחזור אחד, רגיסטרים רבים, מטען/אחסן, פיילינג לעומת מורכב, משתנה, רב-מחזורי, פחות רגיסטרים, גישה ישירה לזיכרון, מיקרו-קוד. ארבעה מכל סוג.
- פיילינג: שלבים, מספר הוראות בו-זמנית, אחת מושלמת בכל מחזור, נפח עבודה גבוה יותר; $n + k - 1$ מחזורי שעון עבור $n$ הוראות דרך $k$ שלבים; הפרעות חייבות לרוקן את הפייל.
- ארבע הקטגוריות של פליין הן "כמה זרמי הוראות" לפי "כמה זרמי נתונים"; לומר מה רץ על מה. מקביל-עצום: מעבדים רבים, זיכרון עצמי, רשת, אותה בעיה.
- מכונה וירטואלית: אמולציה של מחשב על מארח; מערכת הפעלה של המארח על החומרה, היפריז'ר שמחלק אותה, מערכת הפעלה אורחת בתוך. שתי יתרונות ושתי מגבלות, כל אחת משפט מלא.
- אלגברת בולית: קראו שם כל חוק כשאתם משתמשים בו; דה מורגן מחליף את האופרטור ומכפיל (מבטל) כל איבר; בדקו בטבלת אמת אם יש ספק.
- טבלת קארטיאן: סדר קוד גריי, לולאות הגדולות ביותר של 1/2/4/8, עיגול מותר, איבר אחד לכל לולאה עם המשתנים הבלתי משתנים. ציינו מדוע: הביטוי הפשוט ביותר ללא שימוש באלגברה.
- מחבר חצי נותן סכום ונשיאה; מחבר מלא לוקח גם נשיאה נכנסת; פליפ-פlop SR הוא שני שערים NOR/NAND מצומדים בצורה צולבת ואחסון ביט אחד; בקלט 1,1 של JK מתבצע הפעלה (Toggle).
טעויות נפוצות
- החלפת רשימות מאפייני RISC ו-CISC, או הצעת "מהירות" כמאפיין; תנו מאפייני עיצוב, ולא פסקה.
- תיאור זרימה (Pipelining) כ"הרצת פקודות במקביל על מספר ליבות"; זהו השתלבות של שלבים במעבד אחד.
- בלבול בין SIMD (פקודה אחת, נתונים רבים) לבין MIMD (רבים משניהם), או תיאור MISD כמקרה הנפוץ.
- הגדרת מכונה וירטואלית כ" העתק של מחשב" ללא השימוש במונח אמולציה או המארח והאורח.
- יישום דה מורגן רק לחלק מהביטוי תחת קו ארוך, או הסרת הקו ללא החלפת AND ב-OR.
- יצירת לולאה של שלושה תאים, או קבוצה לא מרובעת בטבלת קארטיאן; סידור העמודות 00, 01, 10, 11 במקום קוד גריי.
- כתיבת הנשיאה של מחבר חצי כ-XOR והסכום כ-AND.
- ציור פליפ-פlop SR כשני שערים ללא משוב, או השארת מצב לא תקין מחוסר מטרה בטבלת האמת.
| English | עברית |
|---|---|
| toggle/ˈtɒɡl/ | הפכה |
| counters/ˈkaʊntəz/ | סופרים |
שיעורים אינטראקטיביים בנושא זה
לעבור על הדברים צעד אחר צעד, עם תרגילים לבדיקה מיידית.