مامن شك في ان AMD نجحت في تعويض ما فاتها من سنوات عدم المنافسة مع معمارية Zen، فلقد صارت علي مرمي حجر من امكانيات وقدرات معماريات Intel المتعاقبة.ولقد حققت كل هذا فقط بالجيل الاول من معالجات AMD RYZEN، والذي استطاعت من خلاله تقليل تكلفة التصنيع الكلية للمعالجات، بما يمكنها من وضع عدد انوية اكبر مقارنة ب Intel والمنافسة بقوة في تطبيقات الانوية المتعددة Multi Threaded Applications، والاقتراب من كفاءة النواة الواحدة Single Threaded لدي Intel علي نحو خطر.

والان، وبعد عام من الجيل الاول من Ryzen، حان وقت الجيل الثاني 2nd Gen RYZEN، وحان وقت الاقتراب من Intel اكتر واكثر. لقد عاني الجيل الاول من عدد من التنازلات الهندسية تتعلق بتصميم العتاد والمعمارية، كان اشهرها طول ازمان التاخير latency عند التواصل بين الانوية، وضعف تردد كل نواة مقارنة ب Intel، مما أدي للضعف النسبي لأداء النواة الواحدة لدي AMD مقارنة بـ Intel.

وهنا يأتي دور الجيل الثاني في تصحيح وتحسين هذه النواقص.

درجة تصنيع جديدة Manufacturing Prcess:

حرصت AMD بشدة علي تصنيع الجيل الثاني بدرجة 12nm الجديدة، بدلا من 14nm في Ryzen 1. والسبب؟ حجم الدوائر Transisitors في 12nm الأصغر. مما يعني أن الفولت (الجهد) اللازم لتشغيلهم يقل أيضا، فيقل استهلاك الطاقة، وتقل درجة الحرارة الناتجة.

استغلت AMD هذا الانخفاض في الطاقة/الحرارة، في زيادة تردد المعالج ككل، فالسرعة القصوي للجيل الأول وصلت الي 4.0GHz، لكن الجيل الثاني استطاع الوصول الي 4.3GHz كسرعة قصوي، وهي زيادة قدرها 300MH فقط من درجة التصنيع الأصغر.

فيما بعد مع الجيل الثالث ستتطلع AMD الي تصنيعه بدرجة 7nm، وسيكون علينا الانتظار لنري ما اذا كانت الزيادة في التردد ستكون كبيرة هذه المرة.

AMD RYZEN

 

تطويع رفع السرعة Boost:

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

ونتيجة لهذا نجد أن المعالجات ترفع ترددها فوق التردد القياسي كلما أصبحت أنويتها شاغرة بلا عمل. مثلا المعالج سداسي النواة 8700K يصل بتردده من 3.7GHz الي 4.7GHz اذا كانت خمسة أنوية فيه شاغرة. بمعني أخر المعالج يحول الطاقة والجهد من الأنوية التي بلا عمل الي النواة التي تعمل بالفعل، فيرفع من سرعتها.

ولقد احتوي الجيل الأول من Ryzen علي نوع بدائي نسبيا من رفع السرعة، فالمعالج 1800X يأتي بسرعة قصوي 4.0GHz، لكنه يلتزم بسرعة 3.7GHz متي تعدي استهلاك الأنوية أكثر من نواتين، وهو ما يعني أن المعالج يقضي معظم وقته في سرعة 3.7GHz بالفعل. ولا يصل الي سرعة 4.0GHz القصوي الا في حدود ضيقة جدا.

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

وكنتيجة لهذا، نجد أن المعالج الجديد 2700X يستطيع العمل بسرعة 4.1GHz حتي وكل أنويته مشغولة بالعمل. ويزداد هذا التردد كلما امتلك المستخدم وسائل تبريد قوية، بينما ينسحق تردد 8700K الي 4.3GHz متي كانت كل أنويته مشغولة. بل ويصل الي 3.7GHz متي بدأت في مسرعات AVX 512 في العمل.

الجديد في معالجات Ryzen 2000

استجابة الذواكر المساعدة Cache:

واحدة من نقاط ضعف الجيل الأول من Ryzen كانت هي استجابة الذواكر المساعدة الأبطأ من المعالجات المماثلة لدي Intel. يرجع هذا الي تركيبة المعمارية نفسها، حيث أن الذاكرة المساعدة الثالثة L3 Cache لا تغطي كل أنوية المعالج، وانما تقسم الي نصفين، كل نصف يتولي تغطية نصف الأنوية ويتواصل مع النصف الآخر من خلال ناقل اضافي، مما يزيد من زمن التأخير بين الأنوية والذواكر المساعدة، علي العكس من حلول Intel التي تتضمن ذاكرة مساعدة ثالثة تغطي كافة الأنوية.

يضاف الي هذا خبرة AMD الأقل في عمل الذواكر المساعدة بشكل عام، مقارنة بخبرات Intel الهائلة في هذا الشأن، ليرسم كل هذا صورة متواضعة لحالة الذواكر المساعدة لدي AMD في الجيل الأول من Ryzen. فالذاكرة الثالثة التي تستخدمها AMD هي من النوع غير الشمولي Non Inclusive، أو كما يطلق عليه الذاكرة الضحية Victim Cache. وهو واحد من أسوأ أنواع الذواكر المساعدة.

ولفهم الفروق بين الذواكر المساعدة الثالثة، يجب أن نعلم أن هناك ثلاثة أنواع رئيسية، الذاكرة الشمولية، والحصرية، وغير الشمولية.

الذاكرة الشمولية Inclusive تدخر البيانات في كل مستويات الذاكرة المساعدة L1, L2 , L3 .. اذا ما تم طرد اي بيانات من L1، تظل موجودة في الباقين L2 و L3 .. فائدة هذه التركيبة أنها تحافظ علي البيانات في حالة احتاجها المعالج لاحقا، عيوب هذه الطريقة هو ضرورة أن يكون كل مستوي أكبر بدرجة ملحوظة من الذي قبله، حتي يكفي لتخزين بيانات المستوي الذي قبله اضافة الي كمية لا بأس بها من البيانات الجديدة، مثال تكون L1 رُبع ميجابايت، بينما تكون L2 واحد ميجابايت، وL3 تكون اثنين ميجابايت.

الذاكرة الحصرية Exclusive لا تدخر أي بيانات مكررة، لهذا تزيد من مساحة الذاكرة المساعدة المتاحة. لكن يعيبها هنا أنها تزيد من وقت استخراج البيانات القديمة المطرودة لأننا الآن سنلجأ الي الذاكرة المؤقتة RAM.

أما النوع غير الشمولي Non Inclusive، أو الضحية Victim .. فهو لا يدخر بيانات مكررة، لكنه يدخر فقط البيانات المطرودة من L1 و L2 .. لحين الحاجة اليها لاحقا، فبهذا يجمع بين أفضل العالمين، يدخر بيانات قديمة مطرودة قد نحتاج اليها وفي نفس الوقت يوفر مساحة أكبر للتخزين بسب أنه لا يدخر كل بيانات L1 و L2. لكن يعيبه أنه أبطأ من النوعين السابقين، بسبب أن البيانات تذهب اليه من L1 و L2 حين طردها وهذا يتطلب نسخ ونقل للبيانات مما يكلف وقتا ويزيد من زمن الاستجابة كما أنه يتسبب في عمليات تبديل متكررة تحدث مع نسخ البيانات، فالبيانات المنسوخة من L3 الي L2 و L1 تأتي فوق بيانات أخري في مستوي L1 أو L2، فتطردها، وهنا تصير البيانات المطرودة حملا جديدا يجب نسخه الي L3. مما يكلف وقتا أكثر.

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

و لكن مع Ryzen 2 انصب تركيز AMD علي تطويع هذا النوع أكثر وأكثر، عن طريق تدريبه بأساليب أسرع للتواصل مع مستويات الذاكرة المختلفة، بالطبع تظل الذاكرة الضحية ضحية كما هي، بكل عيوبها، لكن يمكننا القول أنها لم تعد بطيئة كالسابق، وفي الحقيقة فان تركيز AMD لم يتوقف عند المستوي الثالث فقط، بل امتد للمستويات الأخري كلها. والتي صارت كلها الآن أقل بطئا عن الجيل الأول.

الجديد في معالجات Ryzen 2000

تحسين أداء النواة الواحدة:

إن كل ما سبق يفضي الي تحسين أداء النواة الواحدة بشكل طفيف: زيادة التردد الأقصي، زيادة تردد العمل الفعلي boosted clocks وتحسين استجابة الذواكر المساعدة، كل هؤلاء أضافوا حوالي 3% زيادة في عدد التعلميات والعمليات الحسابية التي يمكن انجازها في كل تردد، وهو ما يطلق عليه Instructions Per Clock، أو IPC أختصارا، وهو المعيار الأساسي لقياس كفاءة النواة الواحدة. وبهذا اقتربت AMD أكثر من كفاءة Intel في معالجاتها الأخير Coffe Lake.

الجديد في معالجات Ryzen 2000

متي تلحق AMD بـ Intel؟

تظل هناك فروق جوهرية بين تركيبة معالجات Zen و Coffe Lake، ففي السابق، فان فلسفة تصميم AMD اعتمدت علي بناء معالجات بعدد أنوية كبير وبتكلفة أقل. وقد صار هذا واضحا في معمارية Bulldozer الفائتة، والتي حاولت الخروج عن المألوف بتصميم مختلف للأنوية يزداد فيه العدد الكلي لها، لكن تتشارك فيه كل نواتين في عتاد التحكم، مع ذاكرة مساعدة أقل انضباطا.

تغير هذا الأمر مع Zen وعادت AMD الي التصميم كما يقول الكتاب وبالطريقة المألوفة الصحيحة، فعادت الي عدد الأنوية العالي لكن دون مشاركات ودون تنازلات، لكنها تنازلت في الطريقة التي يتم توصيل ألأنوية ببعضها، فبدلا من استعمال ناقل دائري ضخم Ring Bus يوصل ما بين الأنوية كلها بأقل تأخير ممكن، كما لدي Intel، اختارت AMD توصيل الأنوية بناقل شكبي Grid Mesh، يقسم الأنوية الي جزر معزولة (تسمي CCX) بمعدل 4 في كل جزيرة تتواصل فيما بينها بناقل دائري، لكن التواصل ما بين الجزر يتم بناقل شبكي كبير يسمي Infinity Fabric.

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