ארכיטקטורת פון ניימן ומעבד המרכזי
הוצג| English | משמעות |
|---|---|
| processor/ˈprəʊsesə/ | מעבד |
| registers/ˈredʒɪstəz/ | רישומים |
| buses/ˈbʌsɪz/ | אוטובוסים |
| Von Neumann architecture/vɒn ˈnɔɪmən ˈɑːkɪtektʃə/ | ארכיטקטורת פון ניימן |
| Immediate Access Store/ɪˈmiːdɪət ˈækses stɔː/ | אחסון נגישות מידית |
| stored program/stɔːd ˈprəʊɡræm/ | תוכנית מאוחסנת |
| ALU/ˌeɪ el ˈjuː/ | יחידה אריתמטית לוגית (ALU) |
| control unit/kənˈtrəʊl ˈjuːnɪt/ | יחידת בקרה |
| system clock/ˈsɪstəm klɒk/ | שעון מערכת |
| clock speed/klɒk spiːd/ | מהירות שעון |
| general-purpose registers/ˈdʒenərəl ˈpɜːpəs ˈredʒɪstəz/ | רישומים רב-תכליתיים |
| special purpose registers/ˈspeʃl ˈpɜːpəs ˈredʒɪstəz/ | רישומים ייעודיים |
| Program Counter/ˈprəʊɡræm ˈkaʊntə/ | מדד תוכנית |
| Memory Address Register/ˈmeməri əˈdres ˈredʒɪstə/ | רישום כתובת זיכרון |
| Memory Data Register/ˈmeməri ˈdeɪtə ˈredʒɪstə/ | רישום נתוני זיכרון |
| Current Instruction Register/ˈkʌrənt ɪnˈstrʌkʃn ˈredʒɪstə/ | רישום הוראה נוכחית |
| accumulator/əˈkjuːmjʊleɪtə/ | מצבר |
| Index Register/ˈɪndeks ˈredʒɪstə/ | רישום אינדקס |
| Status Register/ˈsteɪtəs ˈredʒɪstə/ | רישום סטטוס |
| flag/flæɡ/ | דגל |
| address bus/əˈdres bʌs/ | כביש כתובות |
| data bus/ˈdeɪtə bʌs/ | כביש נתונים |
| control bus/kənˈtrəʊl bʌs/ | כביש בקרה |
| register transfer/ˈredʒɪstə ˈtrænsfɜː/ | העברת רישומים |
הדוח שמחשב כל עוד עוקב
- ביוני 1945, ג'ון פון ניימן הפיץ גרסה מקושטת המתארת מכונה שלא נבנתה עדיין: ה-EDVAC.
- הרעיון היה פשוט ומחדש. שמרו את התוכנית באותו זיכרון כמו הנתונים, והעבדן יוריד ויבצע את ההוראות אחת אחת.
- הגרסה לא הושלמה לעולם, אך העיצוב הועתיק בכל מקום. הטלפון שלך, המחשב הנייד שלך והשרת בבית הסכול בנויים עליו.
- שיעור זה מפרק את הדגם: הזיכרון, חלקי העבדן, הרגיסטריונים והביסים ביניהם.
דגם פון ניימן
- הארכיטקטורה של פון ניימן· יש לה זיכרון יחיד, אחסון נגיש מיידי (IAS), המאחסן גם הוראות תוכנית וגם נתונים. זוהי התוכנית מאוחסת.
- העבדן יוריד כל הוראה מהזיכרון ויבצע אותה, אחת אחת, בסדר כתובות אלא אם הוראת קפיצה משנה את זרימת ההוראות.
- הוראות, נתונים וכיתוביות נעים כולם בין העבדן לזיכרון לאורך ביסים משותפים.

זיכרון אחד, מעבד אחד, שלושה בוסים
מדוע תכנית האחסון חשובה
- שינוי התוכנית בזיכרון גורם לאותו חומרה לבצע משימה שונה. אין צורך בחיווט מחדש או במכונה חדשה.
- תוכנית היא פשוט נתונים עד לרגע שהיא נטמעת, ולכן ניתן להטמיע אותה מכדיסק, לשלוח אותה ברשת או לכתוב אותה על ידי תוכנית אחרת.
- הניסוח בבחנות: הוראות ונתונים מאוחסנים באותו זיכרון, והוראות נטמעות אחת אחת ומבוצעות על ידי המעבד.
הרעיון של התוכנית מאוחזת (וון ניימן) אומר ש:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
זיכרון אחד מחזיק הוראות ונתונים יחד; שינוי התוכנית הארוזה משנה את מה שהמחשב עושה, ללא צורך בחיווט מחדש.
יחידת אריתמטיקה ולוגיקה, יחידת בקרה ושעון
- ALU (יחידת חישוב ואריתמטיקה) מבצעת פעולות אריתמטיות (חיבור, חיסור) ולוגיות (AND, OR, השוואות), קולטת אופרנדים מהרישומים ומחזירה את התוצאה אל רישום אחד.
- יחידת הבקרה (CU) פוענחת כל הוראה ושולחת את אותות הבקרה המבצעים אותה: פתיחת מסלולי נתונים, הוראת ALU מה לעשות, הזמנת קריאות וכתיבות לזיכרון.
- שעון המערכת שולח זרם רציף של פולסים. יחידת הבקרה ממשיכה את המחזור צעד אחד בכל פולס, כך שכל החלקים משנים מצב בו-זמנית; מהירות השעון, בג'יגה-הרץ, היא מספר הפולסים בשנייה.

כל המעבד הוא שבב קטן אחד
ה-ALU אחראי על:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
יחידת האריתמטיקה והלוגיקה מבצעת חישובים ולוגיקה/השוואות. פענוח הוא משימת יחידת השליטה.
היחידה ____ מפענחת כל הוראה ושולחת את אותות השליטה המבצעים אותה.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
יחידת השליטה מפענחת ושולחת אותות; היחידה האריתמטית הלוגית מבצעת את החישובים והלוגיקה; השעון שומר על סנכרון.
הרישומים
- רישומים הם מאגרים קטנים ומהירים מאוד בתוך המעבד. רישומים למטרות כלליות מחזיקים ערכים זמניים של המתכנת. רישומים למטרות מיוחדות יש לכל אחד מהם משימה קבועה אחת במחזור.
| רישום | משימה |
|---|---|
| מתנגח תוכנה (PC) | הכתובת של ההוראה הבאה שצריך לטמוע |
| מתנגח כתובת זיכרון (MAR) | הכתובת של המקום שנקרא ממנו או נכתב אליו |
| מתנגח נתוני זיכרון (MDR) | הנתונים או ההוראה שנקראו רק מהמקום הזה או שעומדים להיות נכתבים אליו |
| מתנגח הוראה נוכחית (CIR) | ההוראה שנפונחת ומבוצעת כרגע |
| מצבר (ACC) | התוצאה של הפעולה האריתמטית או הלוגית האחרונה |
| רשומת אינדקס (IX) | עיבוי המנוסה על כתובת באמצעות כתובת אינדקס |
| רשום סטטוס | הסימנים שהוגדרו על ידי הפעולה האחרונה |

רשומות, יחידת בקרה ו-ALU, מחוברים על ידי הרצועות
לחץ על חלקי מחשב וון ניימן
חקור כל בלוק. ה-CPU (יחידת בקרה, ALU, רגיסטרים) מתקשר עם זיכרון ראשי אחד דרך השדרות — והזיכרון המשותף הזה להוראות AND לנתונים הוא הרעיון של וון ניימן.
התאם כל רגיסטר ייעודי למקום בו נשמר.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
PC מצביע להוראה הבאה, CIR אחוז בהוראה הנוכחית, MAR/MDR הם זוג הכתובת/נתונים עבור הזיכרון, ו-ACC אחוז בתוצאה המתמשכת.
דוגמה מופיעה: "תאר את תפקיד כל רשומה"
- שאלת הטבלא דורשת משפט מדויק אחד לכל רשומה, והמילים שמייצרות נקודות הן בדגש.
- PC: אחסן את כתובת ההוראה הבאה שתוטלה. MAR: אחסן את כתובת המקום הנמצא כרגע בגישה.
- MDR: אחסן את הנתונים שנקראו לאחרונה או עומדים להיכתב לזיכרון. CIR: אחסן את ההוראה הנפרשת ומתבצעת כרגע.
- ACC: אחסן את התוצאה של הפעלת ALU האחרונה. שימו לב ששתי רשומות אחסנות כתובות, שתי אחסנו תוכן, ואחת אחסה תוצאה.
הסימנים ברשום הסטטוס
- כל סימן הוא ביט אחד, המוגדר או נמחק על ידי ALU לאחר פעולה: הסימן אפס כאשר תוצאה או השוואה נותנת אפס, הסימן נשיאה כאשר חיבור גרם למעבר סף מהרשומה, הסימן שלילי כאשר התוצאה היא שלילית, הסימן מעבר לסף (overflow) כאשר תוצאה חתומה אינה מתאימה.
- קפיצה תנאיית קוראת סימן כדי לקבוע האם לערוך קפיצה. כך
IFוערכים חוזרים מגיעים לחומרה. - סימן מעבר לסף יכול גם לגרום להפרעה (interrupt), נושא העוסק בו השיעור הבא.
איזה מאלו הם דגלים ברישום המצב? סמן הכל הנכון.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
נשיאה, אפס, שלילי והתפרצות הן דגלים בעל-יחיד המוגדרים על ידי יחידת ההיעול האריתמטית והלוגית. רישום מחלקת התוכנית הוא רישום נפרד המכיל כתובת.
שלוש הרצועות
- רצועת הכתובות ממשיכה את הכתובת שהמעבד רוצה. היא חד-כיוונית, מהמעבד לזיכרון.
- רצועת הנתונים ממשיכה את הנתונים או את ההוראה עצמה. היא דו-כיוונית, מכיוון שקריאות וכתיבות הולכות בכיוונים הפוכים.
- רצועת הבקרה ממשיכה אותות בקרה כמו קריאה, כתיבה, שעון והפרעה. היא דו-כיוונית.

שלוש רצועות המערכת המחברות בין מעבד, זיכרון וכניסה/יציאה
איזה סירוק הוא חד-כיווני (מוביל מידע בכיוון אחד בלבד)?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
סירוק הכתובות הוא חד-כיווני (CPU → זיכרון). סירוק הנתונים וסירוק הבקרה הם דו-כיווניים.
דוגמה מופיעה: עד כמה רוחב מספיק?
- רצועת כתובות בעלת $n$ ביטים יכולה לכתוב ל$2^{n}$ מקומות. רצועה בעלת 16 ביטים מגיעה ל$2^{16} = 65\,536$ מקומות; רצועה בעלת 32 ביטים מגיעה ל$2^{32}$, כמעט ארבע מיליארד.
- "צין השפעה אחת של הגדלת רוחב נתיב הכתובות": ניתן לכתוב את יותר מיקומי זיכרון.
- "צין השפעה אחת של הגדלת רוחב נתיב הנתונים": יותר ביטים מעברים בכל העברה, ולכן נדרשות פחות העברות עבור אותו נתון.
- הרחבת נתיב הכתובות מאפשרת יותר זיכרון; הרחבת נתיב הנתונים מגבירה את מהירות ההעברה.
כמה מקומות בזיכרון יכול להגיע סירוק כתובות בגודל 16 ביטים?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
$2^{16} = 65\,536$ מקומות.
סירוק כתובות רחב יותר מאפשר ל-CPU לגשת למקומות זיכרון נוספים.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
כל קו כתובות נוסף מכפיל את הטווח בפי שניים — n קווים גושים 2ⁿ מקומות.
סימון העברת רשמים
- תנועות בין רשומות לזיכרון מצויות בסימן של העברת רשומה:
MAR ← [PC]פירושו "העתק תכולת ה-PC לתוך ה-MAR". - סוגרי מרובעים פירושו "תכולת", ו
[[MAR]]פירושו "תכולת המיקום שכתובתו נמצאת ב-MAR". - מחזור ההוצאה והביצוע כולו מצוין כך בשיעור הבא; הסימון זהה לחץ ההטלה בפסודוקוד.
מה משמעות MAR ← [PC]?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
החץ מצביע על היעד והסוגריים המרובעים פירושו "תכולת". זהו השלב הראשון בכל ציוד הוראות.
סימונים נופלים מהיד
- ה-PC מכיל את כתובת ההוראה הבאה, ולא הנוכחית; ה-CIR מכיל את ההוראה, ולא כתובת.
- ה-MAR מכיל כתובת, וה-MDR מכיל נתונים. התערובת ביניהם גוררת הפסד נקודות.
- רק נתיב הכתובות הוא חד-כיווני. אמירת "כל נתיבי התקשורת הם חד-כיווניים" או "נתיב הנתונים הוא חד-כיווני" היא טעות נפוצה.
- רשומות נמצאות בתוך המעבד, אינן חלק מ-RAM, והן מהירות מכל זיכרון אחר.
מחלקת התוכנית מכילה את ההוראה שנבצעת כרגע.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
ה-PC מכיל את הכתובת של ההוראה הבאה. ההוראה הנוכחית ממוקמת ב-CIR.
הבנתך מושלמת
- ונ ניימן: זיכרון אחד (IAS) מכיל הוראות ונתונים; המעבד מוציא ומבצע אותם אחת אחת.
- ALU מבצעת חישובים, CU פענחת ומפנה אותות, השעון שומר על קצב השלבים.
- PC כתובת הבאה · MAR הכתובת הנגשת · MDR נתונים · CIR ההוראה הנוכחית · ACC התוצאה · IX עיבוי · רשומת סטטוס דגלים
- נתיב כתובות חד-כיווני, $2^{n}$ מיקומים; נתונים ובקרה דו-כיווניים;
MAR ← [PC]מעתיק את תכולת ה-PC לתוך ה-MAR