זיכרון SDRAM

SDRAM, ראשי תיבות של Synchronous Dynamic Random Access Memory, הוא התקן חומרה לזיכרון מחשב. התקן זה משתמש בתושבת דימים (DIMMs). בדרך כלל SDRAM תומך במהירויות מ-66 מגה הרץ ועד 133 מגה הרץ.

לעומת 72 הפינים שהיו בזיכרונות EDO DRAM שקדמו לו, או 30 פינים בזיכרונות מוקדמים יותר, התקן SDRAM משתמש בתושבת בעלת 168 פינים.

רקע – זיכרון גישה אקראית (RAM)

[עריכת קוד מקור | עריכה]
ערך מורחב – זיכרון גישה אקראית

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

קיימים שני סוגי זיכרון גישה אקראית:

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

זיכרון גישה אקראית דינמי סינכרוני (SDRAM)

[עריכת קוד מקור | עריכה]

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

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

הצנרה[1] (Pipelining) היא שיטה בה ניתן לקבל הוראות חדשות לפני שמסתיים הטיפול בקודמות. בכתיבה בצינור נתונים ניתן לשלוח פקודת כתיבה נוספת מיד לאחר פקודת כתיבה בלא להמתין שהמידע ייכתב למערך הזיכרון. בקריאה בצינור נתונים המידע הנדרש מגיע מספר מחזורים קבוע לאחר פקודת הקריאה ובמהלך מחזורי שעון אלה ניתן לשלוח פקודות נוספות (מספר מחזורי ההמתנה (Latency) מהווה שיקול חשוב בבחירת SDRAM למחשב).

גרסאות זיכרון SDRAM

[עריכת קוד מקור | עריכה]
זכרונות DDR שונים
סוג/משפחה מתח נפח מהירות שנה
DDR 2.5V 128M-2Gbits 200-400MHz 2000
DDR2 1.8V 256M-4Gbits 400-800MHz 2004
DDR3 1.5V/1.35V 512M-8Gbits 800-2,133MHz 2007
DDR4 1.2V/1.0V 1G-16Gbits 1,600-2,667MHz 2012

מידע טכני

[עריכת קוד מקור | עריכה]

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

אותות בקרה

[עריכת קוד מקור | עריכה]

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

תפקיד ביטי ה-M:

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

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

בקר ה-SDRAM

[עריכת קוד מקור | עריכה]

הבקר הוא החולייה המקשרת בין ה-SDRAM לבין המשתמש (Host) המבקש לקרוא או לכתוב ל-SDRAM. בדרך כלל הוא ממומש בקוד כמכונת מצבים. הבקר מוכרח לעקוב אחר ה-SDRAM במטרה לטפל בבקשות המשתמש, המעקב כולל:

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

ראו גם

[עריכת קוד מקור | עריכה]

קישורים חיצוניים

[עריכת קוד מקור | עריכה]
מיזמי קרן ויקימדיה תמונות ומדיה בוויקישיתוף: SDRAM

הערות שוליים

[עריכת קוד מקור | עריכה]
  1. ^ הַצְנָרָה במילון טכנולוגיית המידע: טכניקות (תשס"ו), באתר האקדמיה ללשון העברית
  2. ^ בתרגום: סיים תמסורת צרורות
  3. ^ ה-Q היא שריד מהימים בהם קווי המידע כונו קווי DQ