AMD hUMA معمارية الذاكرة الموحدة الغير متجانسة…هو المستقبل بحد ذاته

HUMA-7

منذ سنوات مضت، بدأت شركة AMD في رحلة طويلة لتمزج بسلاسة الوظائف المتعددة والتي انتشرت بشكل طبيعي عبر جميع الأماكن للنظام كل ذلك إلى داخل رقاقة واحدة شاملة. إن النظام على الرقاقة هذا لم يكن شيئا جديدا لكن يمكن القول بأن شركة AMD رائدة في هذا المجال، وغالبا من خلال عملية الدمج والتكامل وذلك قبل فترة طويلة من منافستها شركة Intel.هذه العملية بدأت بأسلوب مباشر مع دمج بسيط لوحدة تحكم الذاكرة في داخل مساحة قالب وحدة المعالج المركزي. التكرارات اللاحقة بالتدريج منحت ولادة لما نسميه الآن وحدات المعالجة المسرعة (APU) التي اتخذت بشكل متحد معالج رسومي قوي بشكل معقول داخل نفس الحزمة أيضا. مع هذا، لم تتوقف شركة AMD هنا. هدفها النهائي هو تكوين مايُسمى الآن معمارية نظام غير متجانسة بحيث تكون كل القطع باختلاف أوامرها لخط مسار المعالجة – سواء كانت قدرات المعالجة الموازية لوحدة المعالج الرسومي أو تسلسل وحدات المعالج المركزي- التركيز المحوري- تتصل بشكل متجانس بدون أي فترة للوصول المترافقة مع الطرق المتعددة للرقاقة وهذا ما كانت AMD تبحث عنه في الماضي ويبدو انه اصبح حقيقة اخيرا بفضل AMD.

في حين معالجات وحدات المعالجة المسرعة Trinity القادمة من معمارية Piledriver وسابقتها معالجات وحدات المعالجة المسرعة LIano القادمة من معمارية K10 أخذت الخطوات المبدئية الأولى باتجاه منهج HSA، فإنها فعلا امتلكت تحسينات معمارية قليلة جدا يمكن أن تُعتبر جيلا قادما في الصنف. مع هذا، فإن وحدات المعالج المسرعة Kaveri القادمة من معمارية Steamroller ( المتوقع إطلاقها في النصف الثاني لعام 2013) ستكون القفزة الأولى باتجاه تحقيق أهداف شركة AMD على المدى الطويل. أحد عناصرها الرئيسية ستكون معمارية الذاكرة الموحدة الغير متجانسة hUMA في السعي لإزالة بعض من اختناقات الانتظار لـHSA والمقصود بهذه المعمارية هو انها تجمع منصة حوسبة تتضمن معالجات مع معمارية مجموعة أوامر مختلفة وتجلعا تعمل سويا بشكل متجانس.

HUMA-1

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

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

HUMA-2

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

HUMA-3

كما يمكن أن يتوقع المرء من اسمها، فإن hUMA تنجز مهامها، من خلال إدراج نطاق واسع من دمج ذاكرة غير متجانسة عبر مراحل تجهيز وحدات المعالج المسرعة. قبل hUMA، كلا من نواة معالجة x86 ومعمارية الرسوميات كان لديها وحدات تحكم ذاكرة خاصة بها وأحواض ذاكرة معنونة، حتى ضمن معالجات وحدات المعالجة المسرعة Trinity و LIano. في بعض الحالات، فإن حجم الذاكرة المخصصة لكل عنص يمكن أن تعدل من المستخدم لكن بالنسبة للجزء الأكبر، لم يكن هناك شيء ديناميكي حولها والكفاءة ضاعت بشكل واضح. الـ hUMA من ناحية أخرى يسمح لوحدة المعالج الرسومي أن تدخل في عالم الذاكرة الموحدة عن طريق وصلها بنفس مساحة عنوان الذاكرة كما وحدة المعالج المركزي. هذا يؤدي إلى معمارية حوسبة ذكية التي تمكن نواة x86، مراحل وحدة المعالج الرسومي ومعالجات فرعية أخرى للعمل بانسجام على قطعة أحادية من السيليكون، ضمن مساحة ذاكرة غير موحدة بينما ديناميكيا إدارة مهام المعالجة لأفضل معالج مناسب.

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

HUMA-5

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

HUMA-6

مع وضع كل العناصر التقنية جانبا، مايهم فعلا هو كيف ستكون هذه التقنية بين أيدينا. حتى الآن حوسبة وحدة المعالج الرسومي كانت مبعدة بشكل كبير في الهوامش حيث أن المبرمجين كانوا بحاجة إلى لغات خاصة، أدوات ونماذج ذاكرة لفتحها والوصول إلى أدائها وقدراتها.أحد الأهداف الرئيسية هو الحصول على المخزون من المطورين. بدون البرمجيات التي تدعم hUMA، فإنها ستصبح بسرعة معيار آخر الذي تم إبعاده جانبا قبل إدراك إمكانياته كاملا. من أجل امتلاك ختم الموافقة الذي يصعب الحصول عليه أحيانا من مجتمع التطوير.، فإن شركة AMD ضمنت البرمجة للأنظمة المستندة على hUMA بقدر مايمكن من الكفاءة. إنها متوافقة كليا مع لغات البرمجة ذات المعايير الصناعية مثل C++، NET، و Python، مما يضمن أن مجتمع المطور يمكن أن تستخدم المنهجيات القائمة من أجل امتلك النتائج المثلى.

أثناء تصميم hUMA، سألت شركة AMD سؤالا بسيطا: كيف لنا أن نرفع نقاط القوة النسبية لوحدات المعالج المسرعة بدون البدء من الصفر؟ بواسطة تكوين صلة مباشرة بين وحدة المعالج المركزي ووحدة المعالج الرسومي كان لهم أن يحققوا ذلك تماما بكل بساطة. بدلا من التقسيم الذي يشبه جدار برلين بين تلك العناصر المعمارية، فإن وحدات المعالج المسرعة ستتمكن ديناميكيا من توزيع المهام لأفضل معالج شريك مناسب بطريقة ذات شفافية تامة للمستخدم النهائي. بطبيعة الحال، هذا كل يتوقف على القبول من مجتمع المطور لكن مع استخدامهم المبسط للغات البرمجة ذات المعايير الصناعية، يبدو وأن شركة AMD قد غطت تلك المسألة بشكل مثالي. مع hUMA والذي اصبح في مكانه، نأمل بأن معالجات وحدات المعالجة المسرعة Kaveri ستُعطي فرصة للتألق وتعود AMD من جديد للواجهة وبشكل قوي وفعال.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *