רכיבי בקרה עיקריים על לוח האם

 

עד עכשיו הכרנו שני סוגי רכיבים בכרטיס האם:

  1. זיכרונות
  2. מעבדים

חלק גדול מהעבודה של המעבד מתבצעת מול זיכרון DRAM, והוא נעזר גם ברכיבי SRAM, בשביל שהתהליך יזורז. בנוסף לזה הוא גם צריך לטפל בכל ההתקנים האחרים שעובדים איתו, כמו בקר המקלדת וכרטיסים שנתקעים בלוח. כשהתקן מסוים רוצה לעבוד עם המעבד, הוא צריך לפנות אליו, והוא עושה זאת על ידי כך שהוא מבקש פסיקה, מהמעבד של מנת שהוא "יתייחס" אליו. בשביל זה המעבד נעזר ברכיב שקוראים לו "בקר פסיקות".           

 

בקר פסיקות - 8259A

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

 

שלבי הפעולה

אחד ההתקנים פונה לבקר פסיקות ומבקש פסיקה, כלומר הוא רוצה להעביר בקשה למעבד. לבקשה כזרת קוראים IRQ. בקר הפסיקות מחליט אם לענות לו, ואם כן, הוא פונה למעבד ברגל int. המעבד מסיים את הפקודה בה הוא מטפל כרגע ואז הוא נענה לבקשה וניגש לטפל בהתקן. אבל במי הוא אמור לטפל, איך הוא יודע במי? בקר הפסיקות שולח בנוסף לרגל int קוד של 8 סיביות. המעבד משתמש בקוד הזה כדי לפנות למקום המתאים בטבלת הפסיקות. לאחר שהמעבד יודע את כתובת פסיקה, כל מה שנשאר הוא לפנות להתקן ולטפל בבקשתו.

 

מבחינת המחשב התהליך ברור וקבוע אבל לנו זה קצת יותר מסובך.

 

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

 

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

 

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

 

וזוהי מפת הפסיקות:

 

מספר פסיקה

תיאור

0

עדכון שעון - Timer Output 0

1

מקלדת

2

מחוברת לבקר פסיקות שני

3

תקשורת טורית - COM2

4

תקשורת טורית - COM1

5

תקשורת מקבילית - LPT2

6

בקר כונני דיסקטים

7

תקשורת מקבילית -LPT1

8

Real time clock

9

(פנוי) פסיקה 9 ופסיקה 2 מקושרות בינהן

10

פנוי

11

פנוי

12

פנוי

13

שמור למעבד מתמטי

14

בקר דיסק קשיח

15

פנוי, משתמשים בפסיקה זו לערוץ שני של IDE

 

כפי שאנו רואים, מספר הפסיקות הפנויות מצומצם למדי.

 

 

יציאת קלט\פלט

יציאת קלט\פלט מציינת ערוץ שדרכו עוברים נתונים בין החומרה לבין המעבד. המעבד מתייחס אל היציאה כאל כתובת. לכל התקן חומרה שנכלל במערכת חייב להיות מספר יצאת קלט\פלט בסיסית. המספרים מופיעים כמספר הקסהדצימלי

 

 

כתובת זיכרון בסיסית

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

 

ולסיכום: לכל כרטיס שמותקן במחשב צריך שתי הגדרות:

  1. מספר פסיקה - IRQ
  2. יציאת קלט\פלט בסיסית - base I\O port

 

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

 

תהליך העבודה הוא

1.       ההתקן פונה לבקר DMA ומבקש ממנו העברת מידע ישירה. הוא מודיע על מספר הבתים שיש להעביר ואת הכתובת הרצויה בזיכרון.

2.       בקר DMA פונה למעבד לאשר לו תהליך DMA.

3.       אחרי שהוא מקבל אישור, הבקר מודיע להתקן על כך ומתחיל בהעברת נתונים.

בנוסף לעבודה הזאת, מוטלת על בקר DMA אחריות רבה. הוא זה שאחראי לביצוע רענון ל-DRAM.

 

התקנים רבים משתמשים בתהליך DMA: SCSI, כרטיסי קול ועוד, ולכן יש לאפשר להם לגשת לבקר DMA. הדבר נעשה באמצעות פנייה הנקראת בקשת DREQ. בקר DMA  יכול לתמוך ב-4 בקשות DMA. כל בקשה משתמשת בשני פינים: אחד לפנייה והשני לאישור.

 

כיום שמים במחשב שני כרטיסי DMA בשביל שיהיה יותר גישה ליותר התקנים. לכל DMA יש 8 פינים שאפשר להשתמש בהם אבל רק 7 מהם פנויים משום שהאחד שנשאר משמש בשביל חיבור שני הכרטיסים/

 

כאשר מתקינים במחשב כרטיס שדורש תמיכה ב-DMA, צריך להגדיר מספר DREQ פנוי. כך יוצא שבנוסף למספר פסיקה וליציאת I\O יש להגדיר מספר DMA  פנוי.

 

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

 

רכיב Timer מחולק ל-3 מונים. כל אחד מהמונים מקבל כניסת תדר. כאשר בשלושתם הכניסה זהה, אבל שני המונים הראשונים מוציאים תדר קבוע ביציאה, בעוד שהשלישי מוציא תדר משתנה. נסקור כאן את שלושת המונים.

 

Counter 0 - אחראי על עדכון השעון המחשב. היציאה מחוברת לבקר הפסיקות, ואז פעולת המעבד תופסק לזמן קצר, לעדכון השעון.

Counter 1 - אחראי על רענון הזיכרון. ניגש כל כמה זמן לבקר DMA ואז הבקר מתחיל לרעמן את הזיכרון.

Counter 2 - מחובר דרך מערכות בקרה לרמקול המחשב. תדר היציאה משתנה ולא קבוע וכך מקבלים צלילים שונים.

 

כשמתקינים כטיס קול, תוכנות ומשחקים, יושמעו דרכו ויציאת המונה ב-counter 2 אמורה להתנתק ולא להפעיל את הרמקול הפנימי

 

 

 

 

בזאת הסתיימה הכתבה הרביעית על טכנאות PC על רכיבי בקרה בלוח האם. לתגובות או שאלות, אנא פנו לדואר אלקטרוני בכתובת: yanivh80@netvision.net.il