280 likes | 401 Views
תכן לוגי. תרגול 4 DRAM. הקדמה. ניתן לחלק זיכרונות RAM מחיקים (נמחקים כאשר מנותקים מאספקת החשמל) לזיכרונות סטטיים ודינמיים. זיכרון סטטי: המידע נשמר בזיכרון כל עוד הרכיב מקבל מתח. זיכרון דינמי: אחרי פרק זמן מסוים, אם לא ננקוט פעולה מונעת, המידע עלול להימחק מהזיכרון.
E N D
תכן לוגי תרגול 4 DRAM
הקדמה • ניתן לחלק זיכרונות RAM מחיקים (נמחקים כאשר מנותקים מאספקת החשמל) לזיכרונות סטטיים ודינמיים. • זיכרון סטטי: המידע נשמר בזיכרון כל עוד הרכיב מקבל מתח. • זיכרון דינמי: אחרי פרק זמן מסוים, אם לא ננקוט פעולה מונעת, המידע עלול להימחק מהזיכרון. • אנו נדבר על זיכרון דינאמי.
מבנה ועקרונות פעולה • הרכיב דוגם שורה, ערכם של הקבלים בשורה הנבחרת נקרא אל זיכרון השורה. זהו תהליך הרסני, קריאת הקבלים מלווה בפריקתם. • הרכיב דוגם ביט מסוים (תלוי ברוחב הזיכרון), ערכו של ביט זה נקרא/נכתב. תלוי אם מדובר במחזור קריאה/כתיבה. • בסוף המחזור תוכן זיכרון השורה נכתב חזרה לזיכרון Row Decoder Column Selector
כתובת • באופן כללי אנו נדרשים לכתובת בגודל • הכתובת מחולקת לשני חלקים: כתובת שורה, וכתובת עמודה. • אין צורך לספק בו זמנית את שני חלקי הכתובת, מכיוון שמשמשים אותנו לשלבים שונים. ננצל עובדה זו לחסכון בהדקים. • נשתמש באותם הדקים גם לכתובת שורה וגם לכתובת עמודה • ולכן נקבל שמספר ההדקים יהייה:
רענון • בקבל מציאותי קיימים זרמי זליגה מההדק החיובי לשלילי, ולכן המתח עליו יורד בהדרגה. ללא פעולת מנע, המתח על קבל הטעון ל 1 לוגי ירד מתחת לסף המאפשר הבחנה, וידמה ל 0 לוגי. • לכן כל פרק זמן מתאים נרענן את הקבלים. • רענון שורה: הורדת תוכן השורה אל זיכרון השורה וכתיבתו חזרה לקבלים, ובכך הם ניטענים למתח מלא. • הערה:בגישת כתיבה/קריאה מהזיכרון אנו מרעננים את השורה אותה ראנו/כתבנו. • חשוב לוודא שכל השורות זוכות לרענון, תוך פרק זמן מתאים. + -
שיטות רענון • RAS Only Refresh (ROR): הצורה הפשוטה ביותר. יש לספק כתובת שורה, להוריד את RAS למשך הזמן הדרוש. והשורה שהוגדרה מרועננת. דורש מערכת חיצונית ל DRAM שתעקוב אחרי מספרי השורות לרענון.
שיטות רענון • CAS before RAS (CBR) CAS יורד ראשון (שונה מכל שאר מחזורי העבודה). RAS יורד לפרק זמן מסוים, ומונה פנימי קובע איזה שורה תרוענן.
שיטות רענון • רענון עצמי (Self refresh/Sleep Mode/Auto Refresh) במקרה זה משמש מתנד פנימי לקביעת מחזור הרענון, ומונה פנימי מייצר את כתובות כשורות. בד"כ משמש להתקנים ניידים מבוססי סוללות. צריכת הספק במצב זה נמוכה מאד. דאגרמתהזמנים נראית כמחזור CBR ארוך.
דוגמה לשיפור (לא קיים ברכיב הנלמד) • במהלך מחזורי הרענון נכתב מידע לזיכרון השורה ונכתב בחזרה. ניתן להשתמש בזיכרון שורה כפול בגודלו, וכך נרענן כל פעם שורה כפולה ונזדקק למחצית מספר מחזורי הרענון. • נשים לב שבמחזורי קריאה/כתיבה נצטרך להשתמש בביט אחד מכתובת השורה כדי לבחור בשורה הנכונה מזיכרון השורה.
קריאה מהזיכרון • מחזור קריאה בסיסי נכניס כתובת שורה ועמודה לקריאת ביט מסוים
Fast Page Mode (FPM) • אם ברצוננו לקרוא מספר נתונים מאותה השורה, ניתן להשאיר אותה בזיכרון השורה ולספק רק כתובות עמודה חדשות.
Extended Data Out (EDO) (לא קיים ברכיב שלנו) • EDO דומה ל FPM . ההבדל העיקרי הוא שיציאת הנתונים לא מנוטרלת (High Z) עם עליית CAS. נתונים ממחזור הקריאה הקודם מצויים ביציאת הנתונים במקביל לתחילת מחזור הקריאה הבא. למעשה יש פה צינור בדרגה שתיים, הספקת כתובת ושלב הוצאת הנתונים. • דבר זה מאפשר זמן מחזור קצר יותר ושיפור של כ- 40% בביצועים בהשוואה ל FPM
כתיבה לזיכרון • כאן WE ירד במהלך מחזור הכתיבה • יש לספק נתון יציב ביחס למעבר הקובע WE או CAS
כתיבה מבוקרת CASEarly write)) CAS הוא המעבר הקובע
כתיבה FPW CAS הוא המעבר הקובע FPW כתיבת מספר ערכים לאותה שורה, רק העמודה משתנת
כתיבה מבוקרת WE • קריאה וכתיבה לאותה כתובת ולכן WE הוא המעבר הקובע