הזיכרון

הזיכרון הוא תחום חשוב ובעייתי במיוחד. יש מספר סוגים של רכיבי זיכרון במחשב ועל הטכנאי לדעת לזהות אותם. בנוסף, יש לזיכרון הגדרות רבות, כגון extended, expanded, shadow ועוד. כולן דורשות התייחסות, ואני יזכיר אותן בהרבה בכתבה זו.

 

ROM מול RAM

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

 

ROM - Read Only Memory

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

 

RAM - Random Access Memory

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

 

סוגי ROM

רכיבי זיכרון הם למעשה טבלה גדולה שממופה לפי כתובות שבכל אחת מהן רשומים הנתונים. בכל כתובת יש נתונים. הנתונים בתוך הרכיב מוצגים בצורה בינארית כמו שלמדנו בכתבה הקודמת, בצורת: "1" או "0". ב-ROM בסיסי משתמשים בטרנזיסטור כרכיב מיתוג. בכל מקום שבו רצה המתכנת של התוכנה להכניס "1" שיבצו טרנזיסטור. זהו כמובן תהליך איטי מורכב ויקר. ריכב מתקדם יותר נקרא PROM, ברכיב זה יש טרנזיסטורים בכל הכתובות, אולם בבסיס של כל טרנזיסטור מותקן מעין נתיך. מכשיר הנקרא צורב - "שורף" את הנתיכים של הטרנזיסטורים המיותרים. היתרון בשימוש ב-PROM הוא במחיר זול. רכיב נוסף נקרא EPROM. היתרון הגדול שלו הוא בכך שניתן לכתוב לתוכו פעמים רבות מבלי שימחק תוכנו. אפשרות זו קיימת בגלל שרכיב EPROM מורכב מקבלים שניתן לטעון ולפרוק מספר רב של פעמים. הפיתוח הנוסף בתחום ה-ROM הוא רכיבי EEPROM שהכתיבה אליהם לא דרושה בצורב. לפי מה שנראה, רכיבי EEPROM הם תחליף טוב ל-RAM משום ש-EEPROM לך נמחק בהפסקת חשמל. אבל הוא איטי ולכן לא משתמשים בו. הפיתוח המתקדם ביותר הוא רכיב ה-FLASH שהציגו רכיבי EEPROM מהירים וטובים יותר. רכיב זה לא החליף את ה-RAM אבל בהמשך נראה איך הם משתלבים טוב במחשב.

 

שימושים ברכיבי EPROM

כמו שכבר אמרתי, הרכיב השכיח ביותר הוא EPROM. כאשר אנו מקישם במעבד תמלילים בעברית, מה שמאפשר לנו לראות אותיות בעברית על המסך, זו עובדה שברכיב EPROM שבכרטיס המסך צרובים הקודים של העברית. מי שיקנה כרטיס מסך בחו"ל, לא יוכל לעבוד במצב טקסט ולהציג עברית על המסך, כי EPROM לא יתמוך בזה. יה עוד כמה דוגמאות לשימוש ב-EPROM וחלקן יוזכרו בהמשך אבל הדוגמה החשובה ביותר היא BIOS (Basic Input Output System).

 

מהו BIOS?

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

ל-BIOS יש שלושה תפקידים:

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

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

 

סוגי RAM

יש שני סוגים עיקריים של RAM. אליהם מצטרפים סוגים נוספים פחות חשובים

DRAM - Dynamic RAM

SRAM - Static RAM

 

DRAM איטי יחסית ל-SRAM, אבל הוא יותר זול וקטן יותר, אבל הוא דרוש רענון מתמיד.  SRAM מהיר יותר אבל הוא גדול ויקר מ-DRAM אבל הוא לא דורש רענון, ומנגנון הטיפול בו פשוט יותר. זיכרון המחשב מורכב מרכיבי DRAM. כאשר אנו קונים מחשב עם 4M, 8M או  16m זיכרון, הכוונה היא לזיכרון DRAM. אחרי כל השיקולים לגבי גודל ומחיר, ההכרעה הייתה לטובת ה-DRAM ולמעשה אנו משתמשים עם רכיב איטי ודי בעייתי. בלוחות של 683 ומעלה יש שימוש כבר ב-SRAM אבל לא כתחליף ל-DRAM, אלא כרכיב שבא לנסות ולשפר את בעיית המהירות ש-DRAM מאפשר למעבד.

 

VRAM - Video RAM

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

 

EDO RAM - Extended Data Out RAM

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

 

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

שימו לב לנושא זה שבו אני קצת יתקשתי כשלמדתי אותו ולכן אני ינסה להסביר לכם אותו בצורה הכי טובה שתוכלו להבין אותו !!!!!!!!!!!!

 

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

4 - קידומת סטנדרטית לרכיבי DRAM.

1 - מספר הסיביות בכל כתובת, הערך המותר הוא 1 או 4.

46 - מספר הכתובות ב-k.

21 - מהירות הרכיב. 21 מציין 021ns.

 

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

באותה תקופה השתמשו ברכיבי 4614. לכל רכיב כזה יש 64k כתובות, ובכל כתובת יש סיבית אחת בודדת. בכדי לאפשר למעבד לגשת ל-8 בתים יש למקם 8 רכיבים כאלה במקביל. כמו כך:

 

בגלל שכל 8 הרכיבים מורכבים אחד ליד השני, אז שמספר הכתובות השתנה ונשאר 64k. אבל מספר הסיביות בכל כתובת עלה מ-1 ל-8, ועכשיו יש לנו 46 בתים. כלומר 64k, ובכל כתובת יש 8 בתים. אותו דבר קרה גם כשרצינו להתקין128k, הרכבנו שתי שורות כאלה. במחשבי PCG, אפשר היה להרכיב מקסימום 640k של RAM, ולכן השתמשו ב-01 שורות של 46k. כשיצא מחשב ה-XT, החלו להשתמש ברכיב זיכרון יותר דחוס שנקרא 65214. זהו רכיב של 256k כתובות, ובכל כתובת יש סיבית אחת. וכך היה אפשר להרכיב את אותה כמות זיכרון בפחות מקום:

 

שורה שמורכבת מרכיבי 65214 נותנת 652kb. אותה כמות שזהה ל-4 שורות של 4614.

באמצעות רכיבי 65214 היה אפשר להרכיב זיכרון גדול יחסית בפחות מקום, אבל אז המחשבים החלו להתפתח והייתה דרישה גדולה יותר לכמות הזיכרון והחלו לייצר רכיבי זיכרון בנפח גדול יותר, כך למשל יצרו רכיב זיכרון בנפח של מגה 1 שנראה כך: 000114. זהו רכיב עם קיבולת של 1mb כתובות, שבכל כתובת נמצא סיבית אחת וזאת אומרת שהרכבת שורה רחת כזאת היא כמו 4 שורות של 65214.

בכל הרכיבים שהוזכרו הייתה רק סיבית אחת בכל כתובת, ולכן בא רכיב נוסף שבא להקל ולפרוץ דרך גם בתחום הסיביות. רכיב זה נראה כך: 65244

זהו רכיב עם 256kb כתובות, שבכל כתובת אחת מהן יש 4 סיביות ולכן, כדי להרכיב 256kb משתמשים בשני רכיבים בלבד.

לרכיבים אלה יש יתרון גדול משום שהוא מכיל הרבה פחות מקום. אבל אתם בוודאי שואלים למה לא עושים רכיב עם 8 סיביות בכל כתובות?

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

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

 

זיכרון מטמון - Cache Memory

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

 

זיכרון צללים - Shadow Memory

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

 

Setup

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

 

נפעיל את המחשב מחדש ונלחץ על המקש DEL ואז מסך כחול יפתח עם כמה אפשרויות בחירה:

Standard CMOS setup

Advanced CMOS setup

Power management setup

Auto configuration with bios default

Auto configuration with power on default

Change password

Auto detect hard disk

Write to CMOS and exit

Do not write to CMOS and exit

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

בחירה בשורה השנייה - תכניס אותנו למסך בו שאלות העוסקות בהגדרות מתקדמות יותר כמו: קצב ההקלדה במקלדת, האם לבדוק את הזיכרון שמעל ל-1m, האם מותרן זיכרון מטמון, והאם להתקין זיכרון צללים לתוכנת BIOS ולכרטיס מסך. שאלה חשובה במיוחד היא מאיזה כונן להפעיל את המחשב, ומאיפה לטעון את מערכת ההפעלה. בחירה מכונן c: היא עדיפה בגלל שכדי לטעון את ההתקנים יש לטעון בהתחלה את קבצי האתחול כמו config.sys ו-autoexec.bat שנמצאים בכונן c:.

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

 

Standard CMOS Setup

   עדכון תאריך - Date

   עדכון שעה - Time

   בחירת הכוננים המתאימים  - Floppy Drive

   סוג כרטיס מסך - Display

   האם אפשר להפעיל את המחשב ללא מקלדת מבלי לקבל הודעת שגיאה - Keyboard

 

Advanced CMOS Setup

   שאלות בנושא קצב ההקלדה, זמן השהיה בין לחציה ללחיצה - Typemetic Rate

   האם לבדוק את הזיכרון שמעל ל-1m - Above 1m Memory Test

   אפשרות לביצוע בדיקת זוגיות בזמן תהליך post באתחול - Memory Parity Error Check

   ניתן לבחור שתהליך האתחול יהיה מכונן a: או c: כיום יש אפשרויות נוספות - System Boot Up Sequence

   האם הסיסמא מתייחסת לכניסה למחשב, או רק ל-setup - Password Check Option

 

אפשרויות נוספות

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

 

זיכרון מוגדל - Extended Memory

זיכרון מוגדל הוא זיכרון שנמצא מעל ל-1m זיכרון DRAM, והוא נקרא extended memory. המחשב סופר רק את זיכרון ה-DRAM, אולם מבחינת מרחב הכתובות, אי אפשר להתעלם מהזיכרון העליון. ככה יוצא שאם במחשב מורכב 1m של זיכרון אז הוא מחולק ל-2 חלקים.

החלק הראון הוא בין 0kb ל-640kb

החלק השני הוא בין 1024kb ל-1406kb

כל זיכרון שנמצא מעל לכתובת 1mb עונה להגדרה extended memory. לדוגמא: קנית מחשב עם זיכרון של 8mb אז הזיכרון אמור להראות ככה:

זיכרון בסיסי: 0 - 639

זיכרון עילי: 640 - 1023

זיכרון מוגדל: 1024 - 8575

המשתמש הרכיב 8mb זיכרון RAM, וזה מה שנספר בהפעלת המחשב. מבחינת המחשב יש יותר זיכרון כי הוא מתייחס גם לזיכרון העליון.

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

 

זיכרון מורחב - expanded memory

לאחר שלמדנו על המגבלה שבזכרון שבתוכניות ה-DOS, באו שלוש חברות ופיתחו תקן חדש שקרוי LIM. תקן זה אפשר לתוכנות להנות משתי העולמות: גם להשאר תחת מערכת ההפעלה DOS, וגם לאפשר עבודה עם זיכרון שהוא מעל ל-640kb. הזיכרון המורחב איפשר להרחיב את הזיכרון לכמויות גבוהות בהרבה מהזיכרון הבסיסי.כאשר אתם הולכים לקנות מחשב ונותנים לכם לבחור בין 16mb,32mb,64mb,128mb אז מתכוונים לזיכרון הזה ושואלים אתכם עד כמה תרצו להרחיב אותו.

 

הזיכרון העליון - Upper Memory
כפי שכבר כתבתי, יש עוד זיכרון בשם זיכרון עליון. זיכרון זה חשוב בשביל הכרטיסים השונים כמו כרטיס תקשורת ועוד, בשביל העברת הנתונים. עם זאת נשאר עוד מקום פנוי בזיכרון הזה. לכן פותח תקן חדש שקרוי EMM386.EXE. אם זה נשמע לכם מוכר זה משום שראיתם אותו כתוב בתוך הקובץ CONFIG.SYS והוא הופך בלוקים שלא בשימוש בזיכרון העליון לבלוקים של RAM וככה המחשב מנצל יותר את זיכרון ה-RAM.

 

הזיכרון הגבוה - High Memory Area  - HMA

ניצול הזיכרון הגבוה הפך לדבר חשוב והכרחי במחשבים אישיים.

לפני כמה זמן התגלה שאפשר להוסיף עוד זיכרון של כ-64kb ל-1mb הראשונים שבזיכרון ואפילו מאפשר ל-DOS להשתמש בו.

המקטע של הזיכרון הגבוה נמצא מעל לזיכרון העליון.

 

 

 

 

 

כאן הסתיימה הכתבה השנייה על טכנאות PC שעוסקת בזיכרון. אני מקווה שלמדתם ממנה ביעילות.

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