المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الفروق بين معماريات بطاقات Nvidia و ATI .. من الأفضل ؟



abenmila
26-11-2009, 13:19
فروق المعمارية بين ATI و Nvidia :ah34:


https://img11.imageshack.us/img11/87/2myq4q0ri5uf0.gif
https://i50.tinypic.com/5lucyo.jpg
https://img11.imageshack.us/img11/87/2myq4q0ri5uf0.gif

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




ما السبب في ذلك الاختلاف يا تري ؟ وكيف يصب هذا الاختلاف البيّن في بوتقة أداء متقارب ؟ ما التصميم الذي يقدم أداء أفضل ؟ ما التصميم الذي يناسب المستقبل أكثر ؟ ، هذا ما سوف نتعرف عليه الآن :




حتي نفهم اكثر طريقة تفكير كلا من الشركتين ، دعونا نعود الي أواخر العام 2004 ، عندما طلبت شركة Microsoft ، من ATI ، تصميم شريحة الرسوميات في منصة ألعابها الجديدة Xbox360 .




في ذلك الوقت ، قررت ATI ، استخدام معمارية التظليل الموحدة لهذه الشريحة Unified Shader Architecture ، علي الرغم من كون تلك المعمارية جديدة تماما ، وغير مستخدمة في بطاقات الرسوميات المكتبية .


[]https://media.teamxbox.com/dailyposts/xbox360/specs/gpu_sops_xbox360vsps3.jpg

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




ثم تعالوا نقفز الي عام 2005 ، عندما طلبت شركة Sony ، من Nvidia ، تصميم شريحة الرسوميات الخاصة بمنصة ألعابها الجديدة PlaySation 3 ..




لم تكن المعمارية الموحدة منتشرة في ذلك الوقت أيضا ، علي الرغم من مرور عام كامل ، وعلي الرغم من المدح والثناء الذين أغدقت بهما ATI علي هذه المعمارية ، في المؤتمرات والمنتديات التقنية ، والذين تقابلا مع وقفة صارمة لـ Nvidia ، أمام هذه المعمارية ، حيث أعلنت أن الوقت لم يحن بعد لها ، وأن السوق في غني عنها حاليا .




وعلي هذا الأساس تم تصميم رقاقة منصة Sony الرسومية ، باستخدام المعمارية القديمة ، والتي تخصص كتلة معالجات محددة لحساب كل نوع من أنواع البيانات الرسومية (والتي لم تكن تخرج عن ، بيانات المضلعات ، وبيانات الاضاءة ، وبيانات التظليل ) ، وتختلف كل كتلة عن الأخري بحسب نوع البيانات التي تحسبها ، بينما تستخدم المعمارية الموحدة ، مجموعة واحدة من المعالجات لحساب كل تلك البيانات الرسومية ، بالاضافة لقدرتها علي حساب بيانات أخري ، لا علاقة لها بالرسوميات .




وهنا نري مقترق الطرق الواضح ، فكلا من ATI و Nvidia ، قاما باتخاذ قرارين مختلفين تماما ، وبعد مرور خمس سنوات علي تصميم ATI لرقاقة Xbox360 ، نستطيع أن نري تأثير القرارين:




-منصة ألعاب Xbox360 ، تتميز برسوميات أفضل ، (ليست أفضل كثيرا) ، وأداء أفضل أيضا ، مع برمجة أسهل .




-منصة ألعاب PS3 ، تأتي برسوميات أقل قليلا (بسبب ضعف شريحة Nvidia مع الألعاب الحديثة التي تحمل مؤثرات تظليل مكثفة) ، وأداء أقل من منصة Xbox في معظم الأحوال (لنفس السبب السابق) ، مع برمجة أصعب ، حيث يحتاج المبرمج الي توريط معالج PS3 المركزي في عملية الرسم ، وهذا الأخير يتطلب خبرة عميقة في البرمجة ، لا تتوافر لدي الكثيرين .

https://www.flashingblade.net/classics/xbox-nvidia-gpu.jpg


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




لكن نستطيع أن نعرف أي القرارين كان الأفضل ، وهو قرار ATI في هذه الحالة ، فلو قامت Nvidia ، بتصميم شريحة PS3 ، بنظام المعمارية الموحدة ، لتغير مصير المنصة تماما ، ولأصبحت أقوي منصة بلا منازع .




يمكننا أن نضع عدة احتمالات لامتناع Nvidia عن ذلك ، منها أن تكون تكلفة تصميم شريحة بهذه المعمارية ، أكبر من أرباح العقد بين Nvidia و Sony ، ومنها معرفة Nvidia ، لقدرات معالج PS3 المركزي ، واعتمادها علي توريطه في عملية الرسم ، ومنها اعتقاد Nvidia ان شريحتها سوق تكون كافية لألعاب ذلك الوقت والمستقبل أيضا .




تري هل يتشابه حال البطاقات المكتبية مع حال شرائح منصات الألعاب ؟




هذا ما سوف نكشف النطاق عنه حالا ان شاء الله ، ولنبدأ بمعمارية Nvidia ، هذه المرة ، وذلك لأنها أول من صمم شريحة رسوميات مكتبية باستخدام المعمارية الموحدة .

https://img11.imageshack.us/img11/87/2myq4q0ri5uf0.gif


معمارية بطاقات Nvidia الحديثة :




كان أول ظهور للمعمارية الموحدة في بطاقات Nvidia المكتبية عام 2006 ، وذلك مع البطاقة العملاقة 8800GTX ، أتت البطاقة بعدد كبير من المعالجات الموحدة ، 128 معالجا بالتحديد ، وكان تصميم البطاقة فريدا من نوعه ، فمن المعروف أن البطاقات في السابق كانت تحتوي علي قلب Core ، وذاكرة Video RAM ، ولكل منهما تردد مستقل .. الا أن معمارية Nvidia الموحدة كان لها رأي آخر :




- عدد 128 معالج موحد المعمارية ، بتردد أعلي من 1.0GHz ، ويصل الي 1.8GHz ، في بطاقة 9800GTX .


-تتصل تلك المعالجات بقلب البطاقة Core ، وهو معالج عادي يعمل علي تردد منخفض ، قد يصل الي 700MHz ، وله وظيفة توزيع البيانات علي معالجات المعمارية الموحدة ، بحيث تعمل كل تلك المعالجات بأقصي طاقة لها ، لتوفير أداء عالي في الألعاب .


-منظومة ذاكرة ، باستخدام شرائح DDR3 ، وعرض حزمة بنطاق 384 بت .




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




بقي أن أذكر ، ان معمارية بطاقة 8800GTX الموحدة هي أساس معمارية بطاقة GTX280، والتي أتت بنواة هائلة الحجم ، وذلك لعدة اسباب :




1-زيادة عدد معالجات المعمارية الموحدة الي 240 معالج ، متصلين بالمعالج المركزي للبطاقة أيضا .


2-اضافة العديد من شرائح الذاكرة المخبأة Caches والمسجلات Registers ، لتحسين أداء البطاقة في التطبيقات غير الرسومية .


3-عرض الحزمة الأكبر : 512 بت .




ساهم كل ذلك في جعل نواة البطاقة أكبر الأنوية في التاريخ !



https://img11.imageshack.us/img11/87/2myq4q0ri5uf0.gif


معمارية بطاقات ATI الحديثة :




ظهرت معمارية المعالجة الموحدة في بطاقات ATI المكتبية عام 2007 ، بعد ستة أشهر من بطاقة Nvidia ، ويبدو أن ATI قد استثمرت فيها وقتا ومجهودا كبيرا ، لأنها خرجت بتصميم فريد من نوعه أيضا ، حيث حملت البطاقة عدد 320 معالج موحد ، بتردد 750MHz ، وذاكرة DDR4 بعرض حزمة 512 بت .




وهنا تظهر الاختلافات تباعا :




1- عدد المعالجات الموحدة عند ATI ، أكبر بكثير من Nvidia ...ا(320 في مقابل 128 ) ، ولكن ترددها أقل الي النصف .


2-لا تحتوي بطاقات ATI ، علي معالج محوري منفصل .


3-ذاكرة DDR4 بعرض حزمة أكبر (512 في مقابل 384 ) .




اذا نظرنا الي الفروق علي الورق ، سوف نجزم بتفوق بطاقة ATI ، فعدد المعالجات أكبر بكثير، وعرض الذاكرة أكبر أيضا ... ، ولكن فعليا ، فأداء البطاقة لم يقترب من 8800GTX ، فكيف حدث ذلك ؟




دعونا من نقطة عرض الذاكرة الأكبر ، لأن تاثيرها ليس كبيرا ، ودعونا نركز أكثر علي عدد المعالجات الموحدة ، والتي هي أكثر من معالجات Nvidia ، بحوالي 200 معالجا ، وتحمل ترددات أقل من ترددات Nvidia الي النصف ، السؤال الآن ، هل تلك الترددات المنخفضة كانت السبب في ضعف الأداء ؟ الجواب هو لا ! ، فحتي لو كان ذلك حقيقيا ، فان معالجا واحدا من Nvidia سيساوي اثنين من ATI ، أي (128X2 =256) ،وهذا يترك 32 معالجا زائدا في بطاقة ATI ، لأن (320-256) = 64 /2 = 32 ، أي أن الأداء سوف يكون أكبر من Nvidia وليس أقل !




اذن فالسر يمكن في سبب آخر غير نظرية التردد .. ولقد قمنا باستبعاد عرض حزمة الذاكرة بالفعل ، اذن لا يتبقي أمامنا سوي وجود معالج محوري منفصل في بطاقات Nvidia ، وعدم وجوده في بطاقات ATI ! ، فهل هذا صحيح ؟

https://img11.imageshack.us/img11/87/2myq4q0ri5uf0.gif


نعم !




اذا نظرنا الي تركيب معالجات ATI الموحدة ، سوف نجد أنّهم في الحقيقة ليسوا معالجات حقيقية وانما وحدات معالجة .، فعدد المعالجات الحقيقية المستقلة في بطاقات ATI هو 64 فقط ، كل معالج حقيقي من هؤلاء يحتوي علي 5 وحدات معالجة صغيرة ، ليصبح المجموع النهائي هو (5X64 ) يساوي 320 معالجا !




فكر في معالج رباعي المحور أو النواة ، مثل معالج AMD Phenom II X4 940 ، اذا قمت بوضع أربعة منه علي بطاقة رسوميات ، فسأقول أن البطاقة تحتوي علي أربع معالجات رباعية النواة ، أي تحتوي علي 16 نواة ، ولكنها لا تحتوي علي 16 معالج .




بالمثل ، عند تركيبك لمعالج Q6600 من Intel ، علي لوحتك الأم ، فانك تقول أنا أمتلك معالجا واحدا ، ولكنه رباعي النواة ، وذلك لسبب بسيط ، لأن اللوحة الأم لا توفر سوي ناقل بيانات واحد للأربع أنوية ، أما عن اللوحات التي توفر أكثر من ناقل واحد ، فهي لوحات تدعم تركيب اكثر من معالج (حيث تحتوي علي أكثر من مقبس للمعالج ) ، وفي هذه الحالة نقول أن اللوحة تدعم معالجين أو ثلاثة أو أربعة ، وهي في هذا تختلف عن اللوحات الأم العادية التي تدعم نواتين أو ثلاثة أو اربعة (مقبس واحد للمعالج ).




اذن فالفكرة كلها في نواقل البيانات ، ففي بطاقة Nvidia ، يصبح لكل معالج موحد ، ناقل بيانات مستقل يختص به ، فالبطاقة تحتوي علي 128 معالج حقيقي ، بينما في بطاقة ATI ، يصبح لكل خمس أنوية ، ناقل بيانات واحد ، اي أن البطاقة تحتوي علي 64 معالج حقيقي ، وكل معالج حقيقي يحتوي علي خمس أنوية .




والحقيقة أن الفارق بين كلمة معالج ونواة ، هو فارق في المسمّي لا أكثر ، لأنه في نهاية اليوم ، فما يقوم به المعالج تقوم به النواة ، لكن يتبقي الفارق في اتصال ناقل البيانات بالمعالج وعدم اتصاله بالنواة .




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




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




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




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






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




بقي أن نقول ان بطاقة HD4870 ، مبنية علي هذه المعمارية ، والاختلاف الوحيد هو أنها تحمل 160 معالج حقيقي ، وكل معالج يحتوي علي خمس أنوية ، بمجموع 800 معالج للبطاقة كلها .




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




من الأمور التي يتم التعليق عليها هذه الأيام ، هو حجم نواة HD4870 ، مقارنة بحجم نواة GTX280 ، والذي يتميز بالصغر ، والأسباب ببساطة هي :




1-تقنية تصنيع 55 نانومتر التي بنيت عليها النواة .. مقارنة بتقنية 65 نانو في GTX280


2- عدد المعالجات الحقيقية (أو نواقل البيانات ) هو 160 فقط .. مقارنة بـ 240 في GTX280


3-عرض حزم الذاكرة 256 بت فقط .. مقارنة بـ 512 بت في GTX280








وفي نهاية اليوم ، نستطيع تلخيص القرارات المختلفة التي اتخذتها كل شركة في تصميم بطاقاتها الي الآتي :




nvidia اختارت :




1-استخدمت عدد أكبر من المعالجات الحقيقية (التي تتصل بتاقل بيانات مستقل ) ، ولكنها استخدمت عدد أقل من وحدات المعالجة (الأنوية) .




2-نتيجة لاستخدامها عدد اقل من وحدات المعالجة في المجمل ، تمكنت من زيادة التردد الي مستويات عالية ، تقترب من 2.0GHz




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




4-سهولة تصميم برامج القيادة ، وسهولة البرمجة لبطاقاتها عموما ، ويتم استغلال بطاقاتها الي الحد الكامل .


https://img11.imageshack.us/img11/87/2myq4q0ri5uf0.gif



ATI اختارت :




1-استخدام عدد اكبر من الأنوية ، وعدد أقل من المعالجات الحقيقية .




2-نتيجة لاستخدامها عدد أكبر من وحدات المعالجة في المجمل ، فان تردد هذه المعالجات يجب الأ يزيد عن حد معين ، والا كانت كمية الحرارة الناتجة ، غير قابلة للتصريف ، لذا يتراوح تردد هذه المعالجات مابين 750MHz و 1.0GHz




3-لم تقم بفصل تردد المعالج المحوري ، لأن الشغل الواقع عليه كبير جدا ، ولو استطاعت ATI ، لجعلت تردده 3.0GHz (نلاحظ ذلك عند كسر سرعته ، فان الأداء يزيد بمقدار محترم ) .




4-صعوبة كتابة برامج القيادة ، وخصوصا للألعاب ذات المحركات الجديدة ، (وهذا يفسر الزيادات الكبيرة التي نجدها في برامج ATI القيادية ) .. ، وصعوبة البرمجة لبطاقاتها عموما ، ولا يتم استغلال البطاقة جيدا ، وبالكامل الا في حالات نادرة .




5-احتاجت ATI الي ذاكرة عالية السرعة DDR5 ، للتغلب علي جزء من نقاط الاختناق التي تصيب بطاقاتها نتيجة عدم الدعم الكامل لعتادها .




6-اذا تمت البرمجة لعتاد ATI بشكل صحيح ، فان أداء البطاقات سوف يكون متفجرا ، ولن ينافسها في ذلك أحد ، لكن الكلام أسهل من الفعل ، للأسف .


____________________




وهنا أيها الزملاء ،تتكرر قصة ATI و Nvidia ، مع منصتي Xbox360 و PS3




1-فاختارت Nvidia ، السائد ، واختارت أن تتوافق مع قدرات مبرمجي الألعاب ، وتستغل ماهو موجود علي النحو الأكمل .




2-واختارت ATI ، المستقبل ، وراهنت عليه ، آملة في دفع الصناعة كلها نحو الأداء الأعلي .




من الأفضل ؟ مازال الوقت مبكرا علي الاجابة ..




فمع مقدم DirectX 11 ، جاء دعم اكبر للمعالجة ذات المسارات العديدة (بأعداد أكبر) ، مما قد يعني أن الألعاب التي سوف تدعم DirectX 11 ، سوف تضطر الي دعم عتاد ATI بدرجة أكبر ، ومن جانبها ، فستحاول ATI ، تعديل عتادها بحيث يتم تقليل نقاط الاختناق ، اما بكسر السرعة واما بتزويد عرض حزمة الذاكرة .. الخ .


https://t0.gstatic.com/images?q=tbn:G9G02qhTYsBkmM:https://www.f1cd.ru/news/graphics_cards/2009/06/graphics_cards_115_2.jpg (https://images.google.com/imgres?imgurl=https://www.f1cd.ru/news/graphics_cards/2009/06/graphics_cards_115_2.jpg&imgrefurl=https://www.f1cd.ru/news/graphics_cards/115/&usg=__u5KCk9QI5lmQBg-qArdrsbOyoYo=&h=267&w=400&sz=16&hl=en&start=5&um=1&tbnid=G9G02qhTYsBkmM:&tbnh=83&tbnw=124&prev=/images%3Fq%3Ddirectx11%26hl%3Den%26sa%3DN%26um%3D1 )

وعلي الجانب الآخر ، نسمع الأنباء عن كون بطاقة Nvidia القادمة ، داعمة لتقنية MIMD ، وهي تقنية مشابهة لتصميم ATI ، وتختلف عنها في طريقة التنفيذ فقط ، وقد تقلل من تكون نقاط الاختناق .




وهنا يبرز سؤال جديد .. من سيكون الأفضل ؟




والاجابة هذه المرة في علم الله وحده ..




أفادكم الله جميعا الي ما فيه الخير ..

https://i40.tinypic.com/qnw5fq.jpghttps://www5.0zz0.com/2008/12/11/10/787966057.gif

Salem AL Fituri
26-11-2009, 13:46
منقول نسخ لصق من موضوع الزميل Hameedo (https://www.arabhardware.net/forum/member.php?u=11111809)

الفروق بين معماريات بطاقات Nvidia و ATI .. من الأفضل ؟ (https://www.arabhardware.net/forum/showthread.php?t=130098)
أرجو الإلتزام في المرات القادمة
يغلق
.

zwawy
26-11-2009, 14:23
أيضاً أرجو أن تراجع الموضوع المثبت بالقسم عن المواضيع المتميزة للإطلاع على بقية المقال :)