منظمة ذاكرة الوصول العشوائي: UMA و NUMA والاختلافات

يمكن تصنيف أنظمة الكمبيوتر بالطريقة التي يتم بها تنظيمها رامات تم تصميم الذاكرة ، وبالتالي في مجموعتين مختلفتين: نظام UMA وأنظمة NUMA. نشرح الفروق الأساسية بين هذه الطرق لتنظيم نظام حسب تنظيم الذاكرة وما هي مزايا وعيوب كل نوع.

عند تصميم نظام ما ، فإن أحد الأشياء الأولى التي يتم وضعها في جدول التصميم هو الطريقة التي سيتم بها تنظيم ذاكرة الوصول العشوائي ، لأن هذا لن يشير فقط إلى الشكل الذي ستكون عليه بنية النظام ، بل سيشير أيضًا إلى أدائه وتكلفة التصنيع الخاصة به قابلية التوسع.

منظمة ذاكرة RAM

تنظيم ذاكرة RAM: UMA

منظمة الذاكرة UMA

UMA هو اختصار لـ Uniform Memory Access ويشير إلى جميع الأنظمة حيث تكون ذاكرة الوصول العشوائي بئر واحد مشترك من حيث الوصول بواسطة وحدة المعالجة المركزية‏: وبقية معالجات النظام. يستخدم هذا النوع من التكوين بشكل خاص في SoCs اليوم ، حيث تشترك المكونات المختلفة في الوصول إلى الذاكرة.

نظام UMA هو أيضًا النظام المستخدم في أجهزة ألعاب الفيديو ، بشكل عام هو نظام الذاكرة المستخدم في كل نظام حيث يتم تثبيت مكوناته على لوحة مشتركة ، حيث يكون توجيه نوعين مختلفين من آبار الذاكرة تعقيدًا على المسارات وخطوط الاتصال التي تعبر اللوحة.

لذلك فهي أسهل طريقة لبناء نظام ذاكرة في أي نوع من أجهزة الكمبيوتر ، ولكنها تجلب معها سلسلة من المشكلات مثل حقيقة أن مشاركة الوصول إلى الذاكرة تؤدي إلى خلق تأثير تنازع ، حيث يتم إنشاء "قائمة انتظار" "للوصول إلى البيانات ، والتي لا يمكن التخفيف منها إلا باستخدام أنواع ذاكرة RAM مع قنوات وصول مختلفة.

تنظيم ذاكرة RAM: NUMA

منظمة مذكرات NUMA

منظمة NUMA أو ذاكرة الوصول إلى الذاكرة غير الموحدة. يشير إلى الأنظمة التي يتم فيها استخدام عدة آبار ذاكرة مختلفة في نفس النظام. هذا هو الحال بالنسبة للكمبيوتر الشخصي حيث ، على سبيل المثال ، يمكننا أن نرى كيف أن بطاقات الرسومات لها ذاكرة مختلفة عن ذاكرة الوصول العشوائي الرئيسية للنظام.

لا تعاني أنظمة NUMA من مشكلة الخلاف في الوصول إلى الذاكرة لأنظمة UMA ، ولكن في الواقع من أجل توصيل المكونات المختلفة للنظام مع بعضها البعض ، ينتج عن ذلك نظام معقد للغاية. والسبب في ذلك هو أن كل مكون يحتاج إلى آليات وصول إلى ذاكرة الوصول العشوائي الرئيسية للتواصل مع وحدة المعالجة المركزية ، على سبيل المثال ، تحتوي وحدات معالجة الرسومات على وحدات DMA التي تسمح لها بالوصول إلى ذاكرة الوصول العشوائي الرئيسية للنظام وعمل نسخ من بيانات معينة من RAM إلى VRAM.

يتم استخدام هذا النوع من تنظيم الذاكرة عندما نريد إنشاء نظام بقدرات توسع ، فمن الضروري بالنسبة لهم إنشاء ما يسمى بمنافذ التوسيع ، والتي تُستخدم لتوصيل وحدة المعالجة المركزية للنظام بأنظمة ذاكرة الوصول العشوائي للنظام. كل مكون يمثل جزءًا من النظام.

معالجة مقابل التنظيم المادي

ذاكرة الوصول العشوائي CPU

يعد نظام الذاكرة المتماسك تمامًا أحد المثل العليا في الكمبيوتر الشخصي ، حيث يكون معالجة المكونات المختلفة فيه أمرًا شائعًا في كل منها. هذا يعني أنه إذا قمنا بتعديل العنوان ، على سبيل المثال ، F4. بعد ذلك ، عند الانتقال إلى عنوان الذاكرة F4 ، يجب أن يشير أي مكون آخر للكمبيوتر الشخصي إلى نفس عنوان الذاكرة.

قد يعتقد المرء منذ البداية أنه نظرًا لأن أنظمة UMA لها ذاكرة مشتركة دائمًا على المستوى المادي ، فستكون هي نفسها على مستوى العنونة ، نظرًا لأننا نتحدث عن نفس تجمع الذاكرة على المستوى المادي. الواقع مختلف تمامًا ، لأنه من الضروري أن تكون المكونات المختلفة متماسكة من حيث الذاكرة ، مما يعني أنه إذا أخذنا المثال السابق إذا كتبنا القيمة 30 في العنوان F4 ، فإن جميع المكونات تعلم أن هناك قيمة 30 هناك.

شبكة CoreLink-Cache

وبالتالي ، فإن طريقة جعل جميع مكونات SoC متماسكة تمامًا لا تتمثل في استخدام نفس وحدة التحكم في الذاكرة ، ولكن لإضافة مستوى ذاكرة تخزين مؤقت أخير قبل وحدة التحكم المذكورة مباشرةً ، والتي ستكون خارج وحدة المعالجة المركزية ، وحدة معالجة الرسوميات‏:‏. والمكونات الأخرى وسيراها جميعًا على أنها المستوى الأخير من ذاكرة التخزين المؤقت.

تعد حقيقة إضافة ذاكرة تخزين مؤقت من المستوى الأخير قبل وحدة التحكم في الذاكرة أمرًا معتادًا لأنظمة PostPC ، نظرًا لأن جميعها مصممة من أجل SoCs من البداية ، فلا توجد برامج تقوم بعمل نسخ من البيانات من مساحة إلى أخرى. في الكمبيوتر الشخصي ، هذا ليس شائعًا وعلى الرغم من ذلك إنتل و AMD لقد تم إطلاق SoCs لسنوات حيث يتم توحيد جميع المكونات في شريحة واحدة ، والوصول إلى العناصر المختلفة داخل SoC ليس كذلك ويتم عزل أجزاء من ذاكرة الوصول العشوائي حصريًا لمكون معين. على سبيل المثال ، عندما يكون لدينا رسم متكامل ونخصص قدرًا من الذاكرة للرسم المذكور ، فإن ما نقوم به هو إخبار وحدة المعالجة المركزية أن مساحتها لا يمكن أن تلمسها ، لأنها خارج نطاق تخصيصها.