טיוטה:Memory controller

מתוך ויקיפדיה, האנציקלופדיה החופשית

בקר הזיכרון הוא מעגל דיגיטלי שמנהל את זרימת הנתונים וממנו אל הזיכרון הראשי של המחשב. בקר זיכרון יכול להיות שבב נפרד או משולב בשבב אחר, כגון מיקום על אותו קובייה או כחלק אינטגרלי של מיקרו־מעבד; במקרה האחרון, זה נקרא בדרך כלל בקר זיכרון משולב (IMC). בקר זיכרון נקרא לפעמים גם בקר שבב זיכרון (MCC)[1] או יחידת בקר זיכרון (MCU).[2]

צורה נפוצה של בקר זיכרון היא יחידת ניהול הזיכרון (MMU) אשר במערכות הפעלה רבות מיישמת כתובת וירטואלית.

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

רוב המיקרו-מעבדים המודרניים של שולחנות עבודה או תחנות עבודה משתמשים בבקר זיכרון משולב (IMC), כולל מיקרו-מעבדים של אינטל, AMD ואלה שנבנו סביב ארכיטקטורת ARM.

לפני K8 (בערך 2003), למיקרו-מעבדים של AMD היה בקר זיכרון מיושם על הגשר הצפוני של לוח האם שלהם. ב-K8 ואילך, AMD השתמשה בבקר זיכרון משולב.[3] באופן דומה, עד Nehalem (בערך 2008), מעבדי אינטל השתמשו בבקרי זיכרון המיושמים על הגשר הצפוני של לוח האם. נחלם ( מיקרו-ארכיטקטורה) ובהמשך עבר לבקר זיכרון משולב.[4]

דוגמאות נוספות למיקרו־מעבדים המשתמשים בבקרי זיכרון משולבים כוללות את POWER5 של IBM ואת UltraSPARC T1 של Sun Microsystems.

בעוד שלבקר זיכרון משולב יש פוטנציאל להגביר את ביצועי המערכת, כגון על ידי הפחתת זמן השהייה בזיכרון, הוא מגביל את המיקרו-מעבד לסוג (או סוגים) ספציפיים של זיכרון, ומאלץ עיצוב מחדש על מנת לתמוך בטכנולוגיות זיכרון חדשות יותר. כאשר DDR2 SDRAM הוצג, AMD הוציאה מעבדי Athlon 64 חדשים. הדגמים החדשים הללו, עם בקר DDR2, משתמשים בשקע פיזי אחר (המכונה Socket AM2), כך שהם יתאימו רק ללוחות אם המיועדים לסוג ה-RAM החדש. כאשר בקר הזיכרון אינו מותקן, אותו מעבד עשוי להיות מותקן בלוח אם חדש, עם גשר צפוני מעודכן.

לכמה מעבדים בשנות ה-90, כגון DEC Alpha 21066 ו-HP PA-7300LC, היו בקרי זיכרון משולבים; עם זאת, במקום לשיפור ביצועים, זה יושם כדי להפחית את עלות המערכות על ידי ביטול הצורך בבקר זיכרון חיצוני.

חלק מהמעבדים מתוכננים לקבל את בקרי הזיכרון שלהם כרכיבים חיצוניים ייעודיים שאינם חלק מערך השבבים. דוגמה לכך היא IBM POWER8, שמשתמשת בשבבי Centaur חיצוניים המורכבים על מודולי DIMM ופועלים כמאגרי זיכרון, שבבי מטמון L4 וכבקרי זיכרון בפועל. הגרסה הראשונה של שבב Centaur השתמשה בזיכרון DDR3 אך מאוחר יותר שוחררה גרסה מעודכנת שיכולה להשתמש ב-DDR4.[5]

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

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

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

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

אבטחה[עריכת קוד מקור | עריכה]

כמה בקרי זיכרון ניסיוניים (שמכוונים בעיקר לשוק השרתים שבו נדרשת הגנה על נתונים על פי חוק) מכילים רמה שנייה של תרגום כתובות, בנוסף לרמה הראשונה של תרגום כתובות המבוצעת על ידי יחידת ניהול הזיכרון של ה-CPU. [6]

בקרי זיכרון המשולבים במעבדי Intel Core מסוימים מספקים גם ערבול זיכרון כתכונה שהופכת את נתוני המשתמש שנכתבו לזיכרון הראשי לתבניות פסאודו אקראיות.[7][8]

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

עם זאת, ערבול זיכרון תוכנן רק כדי לטפל בבעיות חשמליות הקשורות ל-DRAM. תקני ערבול הזיכרון המאוחרים של שנות ה-2010 אינם מתקנים או מונעים בעיות או בעיות אבטחה. תקני ערבול הזיכרון של שנות ה-2010 אינם מאובטחים מבחינה קריפטוגרפית, או בהכרח במקור פתוח או פתוח לעדכון או ניתוח ציבורי.[9]

ל-ASUS ולאינטל יש תקני ערבול זיכרון משלהם. נכון לעכשיו לוחות אם של ASUS אפשרו למשתמש לבחור באילו תקני ערבול זיכרון להשתמש [ASUS או Intel] או אם לכבות את התכונה לחלוטין.

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

זיכרון קצב נתונים כפול[עריכת קוד מקור | עריכה]

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

זיכרון רב ערוצי[עריכת קוד מקור | עריכה]

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

זיכרון מלא במאגר[עריכת קוד מקור | עריכה]

מערכות זיכרון מאומצות במלואן מציבות התקן מאגר זיכרון בכל מודול זיכרון (נקרא FB-DIMM כאשר נעשה שימוש ב-Fully Buffered RAM), אשר בניגוד להתקני בקר זיכרון מסורתיים, משתמשים בקישור נתונים טורי לבקר הזיכרון במקום בקישור המקביל המשמש ב־עיצובי RAM קודמים. זה מקטין את מספר החוטים הדרושים להצבת התקני הזיכרון על לוח האם (מאפשר שימוש במספר קטן יותר של שכבות, כלומר ניתן למקם יותר התקני זיכרון על לוח בודד), על חשבון הגדלת השהיה (הזמן). הכרחי כדי לגשת למיקום זיכרון). עלייה זו נובעת מהזמן הנדרש להמרת המידע המקביל הנקרא מתא ה-DRAM לפורמט הטורי המשמש את בקר ה-FB-DIMM, ובחזרה לצורה מקבילה בבקר הזיכרון בלוח האם.

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

בקר זיכרון פלאש[עריכת קוד מקור | עריכה]

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

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

קישורים חיצוניים[עריכת קוד מקור | עריכה]

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

  1. ^ Comptia A+ Certification Exam Guide, Seventh Edition, by Mike Meyers, in the glossary, bottom of page 1278: "Chip that handles memory requests from the CPU."
  2. ^ Neat, Adam G. (2003-12-04). Maximizing Performance and Scalability with IBM WebSphere. ISBN 9781590591307. נבדק ב-6 בפברואר 2015. {{cite book}}: (עזרה)
  3. ^ Vries, Hans de. "Chip Architect: AMD's Next Generation Micro Processor's Architecture". www.chip-architect.com. נבדק ב-2018-03-17.
  4. ^ Torres, Gabriel (2008-08-26). "Inside Intel Nehalem Microarchitecture". Hardware Secrets. p. 2. נבדק ב-7 בספטמבר 2017. {{cite web}}: (עזרה)
  5. ^ Prickett Morgan, Timothy (2016-10-17). "IBM Brings DDR4 Memory To Bear On Power Systems". IT Jungle. p. 1. נבדק ב-2017-09-07.
  6. ^ This is a security feature in that it allows the Operating System to provide better protection separate from using a bit to deny arbitrary code execution in (System and/or User) RAM memory areas. John Carter, Wilson Hsieh, Leigh Stoller, Mark Swansony, Lixin Zhang, et al. "Impulse: Building a Smarter Memory Controller".
  7. ^ "2nd Generation Intel Core Processor Family Desktop, Intel Pentium Processor Family Desktop, and Intel Celeron Processor Family Desktop" (PDF). ביוני 2013. p. 23. נבדק ב-2015-11-03. {{cite web}}: (עזרה)
  8. ^ "2nd Generation Intel Core Processor Family Mobile and Intel Celeron Processor Family Mobile" (PDF). בספטמבר 2012. p. 24. נבדק ב-2015-11-03. {{cite web}}: (עזרה)
  9. ^ Igor Skochinsky (2014-03-12). "Secret of Intel Management Engine". SlideShare. pp. 26–29. נבדק ב-2014-07-13.

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