מדריך לימודי - SDRAM


מידע טכני

בחלק זה תקבלו מידע טכני והסברים כיצד ה SDRAM עובד בפועל.

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

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

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

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

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

הבקר גם מתרגם את הפלט של ה SDRAM למשתמש.

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


ל SDRAM עצמו יש את אותות הבקרה הבאים

Cke- אות  Clock Enable. אות זה משמש כ Mask לאות השעון של ה SDRAM, כאשר Cke ב '0' ה SDRAM לא יזהה עליית שעון וה SDRAM  יעצור עד ש Cke יקבל '1'.

CS- אות Chip Select. כאשר אות זה הוא '1' ה SDRAM מתעלם מכול האותות המתקבלים מהבקר לבד מ CKE.

DQM-  אות Data Mask, ה Q היא שריד מהימים בהם ה קווי המידע כונו קווי DQ. כאשר הוא '1' אותות אלה מונעים ביצוע פקודות קריאה וכתיבה, פקודות כתיבה לא מבוצעות בעוד שאם הועלה ל '1' שני מחזורי שעון לפני פקודת כתיבה היא לא מבוצעת.

Ras,Cas- אותות Row/Collumn Strobe.  שני אותות אלה בנוסף ל WE קובעים איזה פקודה ה  SDRAM מקבל מהבקר בניגוד לשמם הם אינם אותות Strobe.

WE_not- אות Write Enable not . אות הבקרה השלישי הקובע את הפקודה המתקבלת.


בנוסף לאותות בקרה אלה ל SDRAM ישנם גם busses המשמשים לקבלת מספר שורה\טור ובנק מהבקר, ו Bus דו כיווני לקבלת ושליחת מידע.

 בפקודות אשר לא דורשות את כל 12 ביטי מספר השורה\טור  (פעולות  טור אשר היות שמספר הטורים הוא  בן 11 ביטים בלבד ולכן ניתנות לייצוג בעזרת הביטים A0-A9 ופעולות אשר לא דורשות כתובת) ביט הכתובת A10 משמש כאות בקרה נוסף המאפשר בחירת אפשרות שונה למימוש הפקודה המתקבלת.


הבקר יכול לשלוח את הפקודות הבאות ל SDRAM בעזרת אותות הבקרה.


Activate- הפעלה. בפקודה זו ה SDRAM מקבל מספר בנק (שני ביטים הקובעים לאיזה מ4 בנקים אפשריים הוא ייגש) ומספר שורה(היות שהשורה היא בת 12 ביטים גם ביט A10 משמש להעברת הכתובת ולכן אין לו שימוש מיוחד בפקודה זו).

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

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

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

יש שתי דרכים להורות על הכנה ב SDRAM. הראשונה היא באמצעות פקודת ה Precharge  אשר בהתאם לערכו של ביט A10 תכין את הבנק הנוכחי או את כל הבנקים.

הדרך השנייה היא לצרף לפקודת קריאה או כתיבה פקודת הכנה על ידי שליחת פקודת הקריאה\כתיבה כאשר A10 גבוה.

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

אם פקודת הרענון ניתנת ו Cke מורד ל '0' ה SDRAM יעבור למצב חסכון כוח בו יתעלם מפקודות נוספות עד ש Cke יעלה ל '1' וימשיך לרענן שורות במטרה למנוע אובדן מידע.

Mode Loading - הגדרת מצב עבודה. ל SDRAM יש 10 ביטים M0-M9 אשר מגדירים את מצב העבודה שלו.

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

תפקיד ביטי ה M

M9 - קובע האם ה SDRAM יבצע כתיבה ב Burst  או לא (קריאה היא תמיד ב Burst).

M8,M7  - ביטים שמורים אשר יש להגדירם כ '0' כאשר מתבצעת הגדרת המצב.

M6,M5,M4 - קובעים את ה CAS Latency , בדרך כלל היא תהיה  2(0,1,0) או 3 (0,1,1) .

M3 - קובע האם ה SDRAM משתמש ב Sequential Burst  או ב Interleaved Burst.

M2,M1,M0 - קובעים את גודל ה Burst בקריאה ואם M9 הוא '1' אז גם בכתיבה, הגדלים האפשריים הם  1 , 2 , 4 ו 8 .


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


כפי שניתן לראות מהניתוח הטכני של ה SDRAM, אין כל קשר ישיר בינו לבין המשתמש.

במקום זאת כל הבקשות מטופלות על-ידי הבקר השולח אותות בקרה מתאימים ל SDRAM ומידע הנקרא מה SDRAM למשתמש.



This free website was made using Yola.

No HTML skills required. Build your website in minutes.

Go to www.yola.com and sign up today!

Make a free website with Yola