ما هو اختبار fpu. اختبار أداء

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

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

لاحظ أنه عند العمل مع الأعداد الحقيقية، هناك نفس الفروق الدقيقة كما هو الحال في عمليات الأعداد الصحيحة - لا يمكن تنفيذ الأمر في دورة ساعة واحدة للمعالج (راجع المقالة "لماذا يحتاج المعالج إلى ناقل"، "KB" رقم /2003) . وإذا كان 486 معالجًا قد بدأ بالفعل في استخدام خط أنابيب من خمس مراحل لمعالجة تعليمات الأعداد الصحيحة، فإن FPU لم يكن بعد من نوع خط الأنابيب، أي. كان على أمر النقطة العائمة التالي دائمًا الانتظار حتى يكتمل الأمر السابق. أدى هذا إلى إبطاء أداء المعالج بشكل كبير مع تطبيقات الوسائط المتعددة. وكان الأخير في ذلك الوقت قد بدأ بالفعل يكتسب زخمًا سريعًا في "طلباته". لذلك، من الطبيعي أن تبدأ شركة Intel، بدءًا من معالجات Pentium، في استخدام خط الأنابيب ليس فقط بشكل صحيح، ولكن أيضًا في العمليات الحقيقية. اتخذت شركة AMD بدورها مسارًا مختلفًا بعض الشيء - فبدلاً من خط أنابيب FPU، بدأت في إدخال تقنية 3DNow في منتجاتها، والتي كانت تهدف أيضًا إلى زيادة الأداء في العمليات ذات الأرقام الحقيقية. وقد واجهت هذه التكنولوجيا العديد من التحديات في تنفيذها. أعتقد أن الكثير من الناس يتذكرون كيف أن AMD K6-2، المصمم للتنافس مع Pentium II في عمليات الأعداد الصحيحة، كان متخلفًا بنسبة ثلاثين بالمائة عنه في معالجة الأرقام الحقيقية.

ولكن، كما يقولون، تتعلم من الأخطاء، لذلك في Athlons والمعالجات اللاحقة، تحولت AMD إلى نوع خط الأنابيب FPU علاوة على ذلك، في المعالجات الجديدة، لم تستخدم AMD فقط خطوط الأنابيب الفائقة، ولكن أيضا SuperScalarity في وحدة النقطة العائمة - في. أصبح هناك معالج واحد، تقريبًا، ثلاث وحدات FPU، كل منها تشارك في حسابات الفاصلة العائمة، بمعنى آخر، مع إصدار Athlon/ المعالجات.

08.08.2012

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

سأبدي تحفظًا على الفور بأن نتائج اختبار اليوم لا تمثل الحقيقة المطلقة. ولا يدعي أنه دقيق بنسبة 100٪. عند استخدام مبادئ اختبار أخرى، يمكنك الحصول على نتائج مختلفة، ولكن يبدو لي أن هذه الطريقة بالذات تجعل من الممكن استخلاص استنتاجات كافية تؤكدها القصة.

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

وهذا هو بلا شك الأداء الخالص لأهم وحدتين من معالجات x86 الحديثة: وحدة الأعداد الصحيحة (ALU - وحدة المنطق الحسابي) ووحدة الفاصلة العائمة (FPU - وحدة النقطة العائمة). إن القواسم المشتركة لخصائصها هي التي تحدد مفهوم البنية - وهذا المفهوم ليس له علاقة بذاكرة التخزين المؤقت أو التردد، في حين أنه يؤثر بشكل مباشر على الأداء العام للمعالج.

لذا، قبل أن نبدأ دراسة كبيرة، دعونا نتعرف على ماهية هذه الكتل وماذا تفعل وكيف يتم ترتيبها. كما قلت سابقًا، لا تتحدث هذه المادة عن العمل مع الذاكرة وذاكرة التخزين المؤقت والإضافات الأخرى؛ سنتحدث فقط عن ALU وFPU، وبالطبع عن مكونيهما المهمين - خطوط الأنابيب ووحدة التنبؤ الفرعية. حسنًا، لنتحدث قليلاً عن تقنية Hyper-Threading من إنتل، فهي تؤثر بشكل مباشر على أداء النواة عند إجراء العمليات البسيطة.

كتلة العمليات الصحيحة

الوحدة الأولى والرئيسية للمعالج. على الرغم من أنه سيكون من الأصح أن نقول ليس كتلة، بل كتل، حيث يوجد العديد منها في المعالجات. بشكل تقريبي، في فجر التطوير، لم يكن هناك شيء عمليًا في المعالج باستثناء هذه الكتلة. منذ النماذج الأولى وحتى الوحوش الحالية، لم تتغير المهمة الأساسية لـ ALU. ولا يزال يعمل مع الأعداد الأولية (الصحيحة)، وإجراء عمليات الجمع والطرح والمقارنة وتحويل الأرقام؛ ينفذ عمليات منطقية بسيطة، فضلا عن التحولات قليلا.

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

وحدة النقطة العائمة

ظهرت هذه الكتلة في المعالجات في وقت لاحق بكثير من ALU، وفي البداية تم اعتبارها معالجًا مساعدًا. ومع ذلك، فقد انتقلت لاحقًا إلى قلب المعالج الرئيسي ومنذ ذلك الحين أصبحت جزءًا لا يتجزأ منه ومهمًا للغاية (كما هو الحال مع وحدة ALU، فإن هذه الكتلة ليست وحدها في المعالج). كما يوحي اسمها، فإن المهمة الرئيسية لوحدة FPU هي على وجه التحديد العمليات على أرقام الفاصلة العائمة.

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

الناقل

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

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

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

هناك نقطة أخرى مهمة: تحتوي خطوط أنابيب المعالجات المختلفة على عدد مختلف من المراحل. تتمثل ميزة خطوط الأنابيب القصيرة في أنها تتيح لك تحقيق أداء أعلى بنفس التردد، بينما تساعدك خطوط الأنابيب الطويلة على تحقيق سرعات ساعة أعلى. مثال بسيط من واقع الحياة: معالجات AMD Athlon XP وAthlon 64 ذات معماريات K7 وK8، على التوالي، والتي تنافست ذات يوم مع معالجات Intel Pentium 4 ذات بنية NetBurst. كما تتذكر على الأرجح، كانت العديد من المعالجات في هذه الخطوط قريبة جدًا من بعضها البعض في الأداء، لكنها كانت مختلفة تمامًا في الخصائص. على وجه الخصوص، فإن Athlon 64 3200+، الذي تم تسجيله بسرعة 2200 ميجا هرتز، غالبًا ما يتفوق على Pentium 4 عند 3200 ميجا هرتز. السبب وراء هذه الحقيقة هو اختلاف طول خط الأنابيب: إذا استخدمت AMD تقليديًا مرحلة قصيرة مكونة من 12 مرحلة، فإن Intel في Pentium 4 استخدمت مرحلة أطول بكثير مكونة من 20 مرحلة، وبعد ذلك بقليل - 31 مرحلة! ومن هنا جاء الفرق الملحوظ في الأداء.

كتلة التنبؤ بالفرع (كتلة التنبؤ بالفرع المشروط)

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

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

حسنًا، لقد تلقيت القليل من التعليم حول المعالجات، والآن يمكننا أن ننظر إلى كيفية عمل كل شيء في الواقع، ومدى فعالية هذه البنية أو تلك ومدى فعالية وحدات ALU وFPU (وبالطبع، وحداتها المساعدة). لكي نكون قادرين على تغطية أكبر قدر ممكن من نوى المعالج وفي نفس الوقت تقليل التأثير على نتائج الاختبار لأجزاء مهمة من وحدات المعالجة المركزية الحديثة مثل ذاكرة التخزين المؤقت وناقل المعالج وعرض النطاق الترددي للنظام الفرعي للذاكرة، لجأنا إلى AIDA 64 علاوة على ذلك، تم اختيار حزمتين اصطناعيتين فقط من حزمة الاختبار - CPU Queen وFPU SinJulia. لماذا هم؟ تكمن الإجابة في مبدأ عملها والامتثال الكامل لمتطلبات هذا الاختبار. من أجل فهم كيفية انعكاس بعض الميزات المعمارية لكل اختبار في نتائج الاختبار، دعونا نلقي نظرة على الوصف الرسمي:

ملكة وحدة المعالجة المركزية

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

عند تساوي سرعات ساعة المعالج، سيتم منح الميزة للنموذج الذي يحتوي على خط أنابيب أقصر وأخطاء تنبؤ أقل. على وجه الخصوص، مع تعطيل HyperThreading، سيحصل معالج Pentium 4 الموجود على نواة Northwood على نتائج أفضل من النموذج الذي يحتوي على نواة Prescott، لأنه في الحالة الأولى يتم استخدام خط أنابيب أقصر مكون من 20 مرحلة، مقابل خط أنابيب مكون من 31 مرحلة في الحالة الثانية .

وفي الوقت نفسه، يمكن أن يؤدي تمكين HyperThreading إلى تغيير ميزان القوى والسماح لبريسكوت بالفوز. بالإضافة إلى ذلك، يجب أن يكون أداء معالجات عائلة AMD K8 أعلى من أداء طرازات عائلة K7، وذلك بفضل استخدام وحدة التنبؤ بالفروع المحسنة.

يستخدم اختبار CPU Queen امتدادات البث MMX وSSE، حتى الإصدار SSSE3. تشغل أقل من 1 ميغابايت من ذاكرة الوصول العشوائي. يدعم أنظمة HyperThreading والمعالجات المتعددة (SMP) والمعالجات متعددة النواة.

تم تحديد اختيار هذا الاختبار في المقام الأول من خلال القدرة على القضاء تمامًا على تأثير نظام الذاكرة الفرعي وحجم ذاكرة التخزين المؤقت على جميع المستويات على النتيجة. أي الحصول على نتيجة عمل وحدة ALU المدعومة بوحدة التنبؤ الفرعية. الاختبارات الأخرى من حزمة ALU، على الرغم من أنها طفيفة، لا تزال تشعر بتأثير تردد وحجم ذاكرة التخزين المؤقت، بالإضافة إلى عرض النطاق الترددي لحافلة المعالج وحافلة الذاكرة. وفي حالتنا، عند مقارنة العشرات من المعالجات من أجيال مختلفة، يمكن أن يصل الفرق في أداء هذه الأنظمة الفرعية إلى عدة أوامر من حيث الحجم. على سبيل المثال، يتضمن أحد الجداول: معالج Pentium III الذي يستخدم ذاكرة SDR-133 مع ناقل ذاكرة بعرض 64 بت، ومعالج Core i7 به ناقل ذاكرة 192 بت ويعمل مع ذاكرة DDR3-1333.

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

FPU سينجوليا

اختبار لحسابات الفاصلة العائمة بدقة متزايدة (80 بت). يعتمد الاختبار على حساب إطار واحد لكسورية جوليا المعدلة. تمت كتابة رمز هذا الاختبار بلغة التجميع، وبالتالي فهو مثالي لكل من معالجات Intel وAMD. خاصة تلك النوى التي يمكنها استخدام تعليمات x87 المثلثية والأسية.
يستهلك اختبار SinJulia FPU أقل من 1 ميغابايت من ذاكرة الوصول العشوائي. يدعم أنظمة HyperThreading والمعالجات المتعددة (SMP) والمعالجات متعددة النواة.

كما ترون، فإن اختبار SinJulia FPU، مثل CPU Queen، مستقل تمامًا عن أداء النظام الفرعي للذاكرة، بالإضافة إلى تردد وحجم ذاكرة التخزين المؤقت للمعالج. علاوة على ذلك، ستكون نتيجة SinJulia موضوعية حتى عند مقارنة K6-III القديم وPhenom II الحديث، نظرًا لحقيقة أن الاختبار لا يستخدم امتدادات البث مثل MMX وSSE. حسنًا، تتيح لنا الدقة العالية للحسابات استخلاص استنتاجات مناسبة للمهام الحديثة المخصصة لوحدة المعالجة المركزية.

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

نتيجة الاختبار / عدد النوى / التردد

وبتقسيم هذه القيم لكل معالج حصلنا على نتيجة نواة واحدة لكل دورة ساعة. مع الأخذ في الاعتبار وصف الاختبارات، فمن الضروري إجراء العديد من التعديلات. أولاً: مع دعم HyperThreading يحصل المعالج دائماً على نتائج أفضل. ثانياً: المعالجات التي لا تدعم SSE ستظهر نتائج أقل في اختبار ALU أي CPU Queen. لحسن الحظ، لا يوجد الكثير من هذه المعالجات في القائمة، في الواقع، هذه فقط AMD K6-III؛

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

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

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

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

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

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

ستكون المعالجات الأولى والأقدم في هذه القائمة هي طرازات AMD K6-III على نواة Sharptooth وPentium III على نواة Katmai. تمتلك هذه المعالجات مسارًا قصيرًا إلى حد ما لهذه الأيام - 12 مرحلة فقط لشركة Intel و6 مراحل على الأقل لـ AMD. بفضل هذا، لا يحتاج الأخير عمليا إلى كتلة التنبؤ الفرعية، لأن الأخطاء المرتبطة باختيار المسار غير الصحيح لن تؤثر على النتيجة بشكل كبير كما هو الحال في معالج Pentium. في الواقع، هذا المعالج لم يكن يمتلك هذا، بل معالج إنتل يمتلكه، ورغم أن كفاءته منخفضة بالمعايير الحديثة، إلا أن آليات التحليل هي نفسها الموجودة في المعالجات الحديثة. ونتيجة لذلك، حصل AMD K6-III على نتيجة أعلى في اختبار ALU بسبب قصر خط الأنابيب. وكانت نتيجته 2.03 وحدة/دورة مقابل 1.93 لمنافسه. وهذا على الرغم من حقيقة أن معالجات AMD من هذا الجيل لم يكن لديها دعم لامتدادات البث SSE! في الوقت نفسه، في اختبار FPU، يتقدم Pentium III، ويرجع الفضل في ذلك إلى حد كبير إلى وحدة التنبؤ الفرعية، بنتيجة 0.164 وحدة/دورة مقابل 0.128 لممثل بنية K6.


تميز Pentium III بالكفاءة الممتازة. فقط أثلون يمكنه التنافس معها في هذه المعلمة بنجاح متفاوت

إن نواة Coppermine وTualatin الناجحة جدًا لمعالجات Pentium III والتي ظهرت لاحقًا أبقت على بنية Katmai دون تغيير، وبالتالي فإن نتائج المعالجين: Celeron 700 وPentium III 1333 تشبه ما رأيناه بالفعل. لكن AMD، بحلول الوقت الذي تم فيه إصدار هذه المعالجات، تخلت بالفعل عن بنية K6، نظرا لأن خط الأنابيب القصير للغاية لم يسمح بالوصول إلى الترددات فوق 550 ميغاهيرتز. ونتيجة لذلك، تلقت بنية K7 الجديدة مسارًا أطول مكونًا من 10 مراحل، والعديد من الميزات والتغييرات الإضافية التي جلبت تحسينات ملحوظة في الأداء. كان الابتكار الرئيسي والأهم في إطار هذه المادة هو ظهور كتلة التنبؤ الفرعية. ومع ذلك، فإن المنتجات الجديدة، التي حصلت على اسمها الخاص "أثلون"، فشلت في تجاوز أداء وحدات ALU ومعالجات Pentium III. لكن كفاءة FPU زادت بشكل ملحوظ: في هذه المعلمة، تجاوزت AMD K7 Athlon بشكل ملحوظ K6 ولحقت بمنافسيها، مما يدل على نتيجة 0.163 وحدة / دورة. لكن خط الأنابيب الأطول قلل بشكل كبير من كفاءة وحدة ALU - إلى 1.58 وحدة/دورة، أي بنسبة 25 بالمائة تقريبًا مقارنة بـ K6. ومع ذلك، كان هذا مبررًا، نظرًا لأن وحدة FPU في معظم التطبيقات في ذلك الوقت كانت أكثر أهمية، وكان التردد الأعلى الذي تم تحقيقه في النهاية أكثر من تغطية هذه الخسائر.

إن انتقال AMD Athlon إلى نواة Thunderbird لم يغير بأي حال من الأحوال توازن الطاقة والكفاءة لكل ساعة، لأن هذا النواة لها نفس البنية. ولكن، بعد فترة وجيزة، ظهرت معالجات Pentium 4 الأولى المبنية على بنية NetBurst الجديدة تمامًا في السوق. ربما من وجهة نظر التسويق والمبيعات، حققت هذه المعالجات نجاحًا غير مشروط، ولكن من وجهة نظر الهندسة والكفاءة، لم يكن هناك هندسة معمارية أسوأ في التاريخ.


بنتيوم 4 مع نواة ويلاميت. أحد المعالجات الأولى التي تعتمد على بنية Netburst غير الناجحة، ولكنها مرنة بشكل مدهش.

السبب هو: في السعي وراء Megahertz الكبيرة، التي أرادها العملاء، قام مهندسو Intel بخطوة غير تافهة لتحقيق ترددات أعلى، مما أدى إلى إطالة خط الأنابيب بشكل كبير - ما يصل إلى 20 مرحلة. بالطبع، في السباق على Megahertz، أصبحوا على الفور قادة، لكن الأداء على مدار الساعة انخفض بشكل ملحوظ للغاية. متوسط ​​نتيجة معالجات Pentium 4 على نواة Willamette وNorthwood في اختبار ALU هو 1.02، وفي اختبار FPU هو 0.108. قارن مع نتائج Pentium III - الفرق هائل! من أجل التفوق على معالجات الجيل السابق، احتاج Pentium 4 إلى تردد أعلى بكثير. وهذا هو، في الواقع، من أجل الحصول على كفاءة متساوية لوحدات ALU مع أعلى معالج من عائلة Pentium III الذي يعمل بتردد 1400 ميجا هرتز، يجب أن يعمل Pentium 4 core بتردد 2536 ميجا هرتز! ولتحقيق نفس النتيجة في اختبار FPU، تحتاج إلى 2111 ميجا هرتز، وهو أقل قليلاً، ولكنه أيضًا ليس صغيرًا على الإطلاق. وهذا هو، إذا قمنا بمتوسط ​​النتائج، فإن معالجات Pentium III 1400 و Pentium 4 2.4 ستكون متساوية تقريبا في الكفاءة.

في الوقت نفسه، لم تطارد AMD شركة Intel في الترددات، ومع الحفاظ على بنية K7 دون تغيير تقريبًا، أصدرت مجموعة من معالجات Athlon XP، التي لم تعد معالجاتها تتميز بالتردد، ولكن بالتصنيفات التي تحمل علامة "زائد" والتي أظهرت كفاءة مقارنة بمعالجات Pentium 4، أي أنه وفقًا لمسوقي AMD، يجب أن يتنافس معالج Athlon XP 1800+ مع معالج Pentium 4 الذي يعمل بسرعة 1800 ميجا هرتز.

دعونا نتحقق من مدى ملاءمة هذا النهج، مع الأخذ في الاعتبار أن كفاءة نوى Athlon XP تبلغ مستوى 1.58 وحدة/دورة في ALU و0.163 وحدة/دورة في FPU. مع التردد الحقيقي للطراز 1800+ الذي يساوي 1533 ميغاهيرتز، تكون النتيجة 2422 وحدة في وحدة المعالجة المركزية Queen و250 وحدة في SinJulia FPU. وفي الوقت نفسه، فإن نتيجة بنتيوم 4 بتردد 1.8 جيجاهيرتز ستكون 1908 و 195 وحدة على التوالي. يبدو أنه تم التقليل من التصنيف. على الرغم من أننا لا ينبغي أن ننسى أن الأداء في التطبيقات الحقيقية قد يختلف قليلاً إذا أخذنا في الاعتبار خصائص المعالج الأخرى، مثل ذاكرة التخزين المؤقت والحافلات وأشياء أخرى.

والمثير للدهشة أن التجربة المريرة لم تعلم مهندسي إنتل أي شيء جيد، ومرة ​​أخرى، في مواجهة استحالة زيادة التردد، يذهبون مرة أخرى إلى زيادة طول خط الأنابيب. علاوة على ذلك، ليس على مرحلتين، ولكن بشكل كبير للغاية - إذا كان لدى Northwood Core 20 مرحلة، فقد كان هناك 31 مرحلة في بريسكوت، وهذا ليس مجرد ناقل طويل، ولكنه طويل جدًا. نعم، بالطبع، بفضل هذا التغيير، كانت عتبة الحد الأقصى لتردد الساعة للنوى الجديدة أعلى، ولكن تبديد الحرارة كان أعلى أيضًا.


كان نواة بريسكوت بمثابة مزيد من التدهور في بنية Netburst في السعي وراء الوصول إلى ميغاهيرتز عالية. نواة Intel الأكثر كفاءة على الإطلاق.

ومع ذلك، فإن التغيير الأهم، والذي لم يتمكن الجميع من تقديره، كان الانخفاض الكبير في الكفاءة مقارنة بسابقه، وعلى الرغم من أن ظهور تقنية HyperThreading إلى حد ما أنقذ الموقف، إلا أن المعالجات التي لا تستخدمها أظهرت ببساطة رعبًا مرعبًا. مستوى الكفاءة. ابحث عن معالجات Pentium D 820 و 925، بالإضافة إلى Celeron D 326 في الجدول وسوف تفهم ما أتحدث عنه. كانت النتيجة لكل دورة الموضحة في اختبار CPU Queen متواضعة وهي 0.75 وحدة، وقدرت FPU SinJulia كفاءة بنية NetBurst المحدثة بـ 0.081 وحدة فقط. كان الانخفاض في الأداء بالنسبة لنوى Willamette/Northwood حوالي 30 بالمائة في ALU وما يصل إلى 40 بالمائة في FPU.

إن مقارنة Prescott-256 وSmithfield مع معالجات AMD K8 لا معنى لها على الإطلاق. نظرًا لأن البنية الجديدة لم تتلق سوى خط أنابيب أطول بمرحلتين من K7، ولكنها في الوقت نفسه اكتسبت وحدة تنبؤ فرعية محسنة بشكل ملحوظ وأكثر كفاءة. ونتيجة لذلك، تُظهر النوى المبنية على البنية الجديدة كفاءة ALU وFPU أعلى قليلاً. ارتفع متوسط ​​​​درجة اختبار وحدة المعالجة المركزية Queen إلى 1.74 وحدة، وظلت SinJulia FPU عند مستوى سابقتها. كما ترون، ليس من قبيل الصدفة أن معالجات Athlon 64 وSempron كانت ذات قيمة عالية من قبل اللاعبين - كفاءتها عالية جدًا، أكثر من ضعف كفاءة معالج Pentium 4 الذي تم الترويج له كثيرًا مع نوى بريسكوت وسميثفيلد، والتي في معظم التطبيقات لم يكن مدعومًا بأعلى أداء في أوقات التردد، ولا بالكمية الهائلة من ذاكرة التخزين المؤقت من المستوى الثاني.


الحل الناجح للغاية من AMD هو Athlon 64. بالمقارنة مع Pentium 4، تميزت هذه المعالجات باستهلاكها المنخفض للطاقة وكفاءتها الممتازة.

ومع ذلك، في هذه المرحلة، تجدر الإشارة إلى أنه في قلب بريسكوت ظهرت تقنية HyperThreading. بالطبع، لم يظهر بسبب الحياة الطيبة، وكان محاولة فاشلة لإخفاء عيوب الحزام الناقل الطويل. وبفضل هذه التكنولوجيا، وإن كانت لا تزال غير كاملة في ذلك الوقت، تمكن المهندسون من تسوية إطالة الناقل. على سبيل المثال، أظهر معالج Pentium 4 2800E المعتمد على نواة بريسكوت ودعم HT كفاءة مماثلة للنوى ذات خط أنابيب مكون من 20 مرحلة، ولكن بدون HT. ومع ذلك، لم يكن من الممكن تحقيق زيادة في الكفاءة من دعم HyperThreading لأنوية Willamette/Northwood، كما يتضح من نتائج معالج Pentium 4 3.46 GHz Extreme Edition النادر، والذي يعتمد على نواة Gallatin (المشابهة لـ Northwood، ولكن مع ذاكرة تخزين مؤقت سعة 2 ميجابايت L3) ويدعم هذه التقنية.

بعد ذلك بقليل، في نهاية عصر NetBurst، تمكن مهندسو Intel من تحسين HyperThreading بشكل كبير وتحقيق زيادة جيدة في كفاءة وحدة حساب النقطة العائمة. انتبه إلى الأسرع في الخط، Pentium 4 3.73 جيجا هرتز Extreme Edition أحادي النواة، وPentium 955 Extreme Edition ثنائي النواة. تبلغ كفاءة FPU الخاصة بهم بالفعل 0.138 وحدة، على الرغم من أن أداء ALU عند نفس المستوى. ومع ذلك، حتى بفضل هذا، لم يكن من الممكن تجاوز المنافسين الرئيسيين - AMD Athlon 64 X2، على الرغم من حقيقة أن الأخير يعمل بتردد ساعة أقل ولا يدعم HT.

انظر إلى الجدول - لا يمكن لأي من معالجات بنية NetBurst التنافس مع Athlon 64 X2 5200+، ناهيك عن أفضل AMD Athlon 64 6400+ في ذلك الوقت. ومع ذلك، أدركت إنتل منذ فترة طويلة أن السعي وراء "الجيجاهيرتز العالي" كان خطأً، وبالتالي كانت تستعد لأحدث بنية، والتي لم يكن من المفترض أن تكون أقل نجاحًا من الناحية التسويقية من بنتيوم 4، ولكنها أكثر كفاءة.


ربما يكون Athlon 64 X2 هو المعالج الأخير حتى الآن الذي يمكنه التفوق في الأداء على معالجات Intel المتطورة. ومع ذلك، لم يكن من الصعب التغلب على Pentium D غير الفعال والساخن.

نحن نتحدث بطبيعة الحال عن كور. أثناء تطوير هذه البنية، عاد مهندسو Intel إلى خط أنابيب يتكون من 14 مرحلة فقط، أي أنهم قاموا بتقصيره بأكثر من النصف مقارنة بأحدث ممثلي NetBurst. بطبيعة الحال، في مثل هذه الظروف، لم يكن هناك حديث عن الوصول إلى 4 جيجاهيرتز، لكن الممثلين الأوائل للعائلة الجديدة، على الرغم من التردد المنخفض، أظهروا أعلى أداء. أظهر كلا المعالجين من هذا الجيل - Pentium M 730 على نواة Dothan وCore Duo T2500 على نواة Yonah نتائج لكل ساعة كانت متفوقة حتى على Pentium III، وأعلى بشكل ملحوظ من تلك الخاصة بعائلة AMD K8 المنافسة.

وصلت البنية التي تم اختبارها على حلول الأجهزة المحمولة إلى سوق أجهزة الكمبيوتر المكتبية في شكل معدل قليلاً في شكل معالجات Core 2 Duo وPentium Dual Core. في وقت الإصدار، لم يتمكنوا من التباهي بالترددات العالية، ولكن في الوقت نفسه أظهروا أعلى كفاءة، ونتيجة لذلك، الأداء، حتى على الرغم من عدم وجود دعم HyperThreading! وبطبيعة الحال، عملت كتلة التنبؤ بالفرع المحسنة بشكل كبير أيضًا على تحقيق ذلك. انظر إلى النتائج. وفي اختبار CPU Queen ارتفع متوسط ​​كفاءة نواة Conroe ومشتقاتها إلى مستوى أكثر من وحدتين في الساعة ووصل إلى متوسط ​​2.13. في اختبار FPU SinJulia كانت النتيجة أيضًا جيدة جدًا – 0.175. هذا، على الرغم من أنه ليس كثيرا، أكثر من معالجات البنية الأساسية للجيل الأول، وأعلى بكثير من AMD K8، الذي حارب به Pentium 4 لفترة طويلة وغير ناجحة.


أظهرت بنية Core 2 التي حلت محل NetBurst أن Intel يمكنها صنع معالجات سريعة وباردة ذات كفاءة عالية.

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

وهنا بدأت مشاكل AMD الآن لم يكن لديهم ميزة في الكفاءة الأساسية، وبدلاً من إعادة بنائها بالكامل، بدأ المهندسون، عند إنشاء جيل K10، وبالتالي المعالجات التي تسمى Phenom وAthlon، في زيادة عدد النوى وذاكرة التخزين المؤقت. وبطبيعة الحال، زاد الأداء الإجمالي لهذه الحلول، ولكن التغييرات التي تم إجراؤها ليس لها تأثير يذكر على الكفاءة. زاد أداء ALU بشكل طفيف، على ما يبدو بسبب وحدة التنبؤ الفرعية المحسنة مرة أخرى، لكن كفاءة FPU ظلت دون تغيير تمامًا - مع هذه الخصائص كان من الممكن التنافس مع Core 2 فقط بسبب عدد أكبر من النوى أو تردد أعلى. مع الأخير، واجهت معالجات الجيل K10، كما تتذكر، مشاكل خطيرة للغاية.


من الواضح أن الفينوم معالج فاشل. لم تصل كفاءتها إلى Core 2 وكانت هناك مشاكل خطيرة في الترددات.

نتيجة لذلك، لم تصبح Phenom منافسًا لمعالجات Core 2 Duo وCore 2 Quad. ومع ذلك، سرعان ما تم حل مشكلة الترددات، وأصبحت المعالجات الجديدة Phenom II و Athlon II من بنية K10.5 جاهزة للتنافس مع حلول Intel في هذا الصدد. لكن الكفاءة في الجيل الجديد ظلت على نفس المستوى، وبالتالي لم تتمكن حلول AMD من التنافس مع المنافسين على ترددات متساوية. بالإضافة إلى ذلك، عند التحول إلى تقنية المعالجة 45 نانومتر، قامت Intel مرة أخرى بعمل سحر بسيط على البنية وحققت زيادة أخرى في كفاءة وحدة FPU، إلى مستوى 0.185 وحدة/دورة.

وعلى الرغم من التفوق المريح، فقد تم بالفعل صياغة سلاح مثالي جديد في ورش ومختبرات إنتل، وهو تطوير بنية Core، التي رأت النور في معالجات Core i3 وi5 وi7 تحت الاسم العام Nehalem. أدت التغييرات التالية في الكتل وتحسين جميع المعلمات إلى نتائج ممتازة. انظر إلى أداء Core i5-750: ظلت كفاءة ALU عند مستوى Core 2 تقريبًا، ولكن في الوقت نفسه، زاد أداء أهم كتلة من العمليات الصحيحة بشكل ملحوظ في الوقت الحالي - حتى 0.225 وحدات لكل ساعة!

ولكن، بالإضافة إلى التحسينات المعمارية، كانت إنتل تستعد لسلاح خارق آخر - تقنية HyperThreading المثالية. لقد جعل استخدامه من الممكن الحصول على كفاءة رائعة بكل بساطة. أعطت هذه التقنية، عند تحسينها بشكل صحيح، تأثيرًا كبيرًا وزيادة في الكفاءة بمقدار مرة ونصف تقريبًا! 3.05 في ALU و0.36 في FPU هي ببساطة نتائج ممتازة. ومع ذلك، حتى بدون دعم هذه التكنولوجيا، تبين أن المعالجات القائمة على بنية Nehalem أكثر كفاءة من أسلافها ومنافسيها.


كانت Nehalen أول بنية Intel يتم فيها إيلاء أقصى قدر من الاهتمام للكفاءة الأساسية. وكانت النتيجة ممتازة. أظهر أحفاد ساندي بريدج وآيفي بريدج أنه لا تزال هناك إمكانات.

أظهر الجيلان اللاحقان من Intel - المعالجات المعتمدة على نواة Sandy Bridge وIvy Bridge - أداءً أعلى ليس فقط بسبب زيادة التردد. جعلت التغييرات الصغيرة في النوى من الممكن زيادة أداء كتلة العمليات الصحيحة باستمرار بمقدار 0.25 وحدة/دورة في كل جيل، سواء مع HyperThreading أو بدونه. ولكن لا يوجد تغيير في كفاءة FPU. ومع ذلك، حتى بدون تحسينات، فإن هذا المؤشر جيد جدًا. ونظرًا لهذا الاتجاه، يمكننا أن نتوقع زيادة أخرى في الكفاءة عند ظهور الجيل التالي من معالجات Intel.

لا يمكن لشركة AMD إلا أن تحلم بهذه الكفاءة. ومع ذلك، فإنهم لا يجلسون مكتوفي الأيدي محاولين تحسين أداء معالجاتهم. على وجه الخصوص، أظهرت معالجات Llano المستندة إلى نوى بنية K10.5 كفاءة ALU أعلى قليلاً من أحدث معالجات Phenom وAthlon. ويرجع الفضل في ذلك بشكل أساسي إلى وحدة التنبؤ بالفروع المحسنة، بينما ظلت كفاءة FPU على نفس المستوى كما أظهرته جميع معالجات AMD السابقة منذ عائلة Athlon K7 الأولى.


أحدث ممثل لعائلة AMD، والتي بدأت في جيل K7، هو Liano APU. ولسوء الحظ، فهو أيضًا لا يتألق بكفاءة مقارنة بأحدث معالجات Intel

ومع ذلك، حتى Llano يمكن اعتباره حلا قديما، حيث سيتم ربط المستقبل القريب لمعالجات AMD بمعالجات بنية البلدوزر الجديدة تماما، والتي تم تقديمها في معالجات AMD FX ومشتقاتها. كانت هذه المعالجات، التي تبين أنها لا جدال فيها بأي حال من الأحوال، وضعتنا في طريق مسدود عند حساب كفاءة النوى. وكل ذلك لأن مبدأ التنظيم النووي فيها معقد للغاية. على وجه الخصوص، يحتوي المعالج FX-8150 على أربع وحدات ثنائية النواة، وتعلن الشركة أنها ثمانية النواة. ومن أجل معاقبة الشركة على ذلك، كان من الممكن تمامًا حساب كفاءتها استنادًا إلى ثمانية أنوية، لكن هذا سيكون غير صحيح من الناحية الفنية، وستكون النتيجة على مستوى معالجات Intel المبنية على معمارية NetBurst. لذلك، تقرر حساب الكفاءة ليس لكل نواة، ولكن لكل وحدة، وهو أمر مبرر تمامًا، نظرًا لأن كل وحدة تحتوي على وحدة حسابية واحدة فقط للفاصلة العائمة.


أظهرت AMD FX على بنية البلدوزر زيادة ملحوظة في الكفاءة، لكن البنية المعقدة لم تكشف عن نفسها بعد. وربما لن يكشف ذلك بعد الآن.

مع ALU، كل شيء أكثر تعقيدا - هناك في الواقع ثماني وحدات من هذا القبيل في معالج من أربع وحدات، لكن لا يمكنهم العمل بالتوازي بكفاءة كافية بسبب ميزات مدير المهام في نظام التشغيل Windows 7 وأنظمة التشغيل السابقة من Microsoft. لذلك، تقرر حساب كفاءة ALU بناءً على عدد الوحدات. هذا القرار مثير للجدل، ولن أصر على موضوعية هذه النتيجة. وبالمناسبة، تبين أن النتائج جيدة نسبيًا. فيما يتعلق بالأسلاف بالطبع. على وجه الخصوص، فيما يتعلق بكفاءة نتيجة ALU المثيرة للجدل، أظهرت معالجات بنية البلدوزر نتيجة 2.2 وحدة/دورة، وهي أعلى بشكل ملحوظ من K10.5 وLlano وحتى أكثر قليلاً من Core 2، على الرغم من أنه قبل Sandy Bridge، حتى بدون دعم Hyper Threading لا يزال الطريق طويلاً. كما أن كفاءة FPU (يمكن الوثوق بهذه النتيجة تمامًا) تجاوزت بشكل كبير جميع حلول AMD السابقة، وتبين أنها تقع بالضبط بين بنيات Core 2 المبكرة والمتأخرة.

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

ومن أجل راحتك، قمنا بتلخيص كافة النتائج في جدول يحتوي على متوسط ​​مؤشرات الكفاءة لمختلف النوى.

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

مواد ذات صلة:
  • وحدة النقطة العائمة (FPU) - جزء من المعالج لإجراء مجموعة واسعة من العمليات الرياضية على الأعداد الحقيقية.

    معالجات عائلة Intel x86

    بالنسبة لمعالجات عائلة x86، تم تخصيص وحدة الفاصلة العائمة لشريحة منفصلة تسمى المعالج الرياضي. تم توفير موصل منفصل لتثبيت المعالج المساعد على لوحة الكمبيوتر.

    المعالج المساعد ليس معالجًا كاملاً، لأنه لا يعرف كيفية القيام بالعديد من العمليات اللازمة لذلك (على سبيل المثال، لا يعرف كيفية العمل مع البرنامج وحساب عناوين الذاكرة)، كونه مجرد ملحق لـ المعالج المركزي.

    يتم تنفيذ أحد مخططات التفاعل بين المعالج المركزي والمعالج المساعد، المستخدم، على وجه الخصوص، في المعالجات المساعدة x86، على النحو التالي:

    منصات أخرى

    وبالمثل، احتوت اللوحات الأم للكمبيوتر الشخصي المبنية على معالجات موتورولا على معالج رياضي مساعد قبل تطوير تلك الشركة للمعالج MC68040 (الذي تم دمج المعالج فيه). عادةً، تم استخدام معالج مساعد 68881 16 ميجا هرتز أو 68882 25 ميجا هرتز كوحدة FPU. يحتوي أي معالج حديث تقريبًا على معالج مساعد مدمج.

    أنتجت Weitek أيضًا معالجات رياضية مساعدة للمنصات وMIPS.

    جهاز FPU

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

    ميزات الاستخدام

    بعد إصدار 3DNow! من AMD ثم SSE، بدءًا من معالجات Pentium III من Intel، أصبحت الحسابات أحادية الدقة ممكنة دون مساعدة تعليمات FPU، ومع زيادة الأداء. يوفر ملحق SSE2 وملحقات مجموعة التعليمات اللاحقة أيضًا حسابات سريعة مزدوجة الدقة (انظر معيار IEEE-754). في هذا الصدد، في أجهزة الكمبيوتر الحديثة، انخفضت بشكل كبير الحاجة إلى أوامر المعالج الرياضي الكلاسيكي. ومع ذلك، فإنها لا تزال مدعومة على جميع معالجات x86 في الإنتاج للتوافق مع التطبيقات الأقدم وللتطبيقات التي تتطلب تحويلات BCD أو حسابات دقيقة موسعة (حيث لا تكون الدقة المزدوجة كافية). تستخدم حاليا الأوامر x87تظل الطريقة الأكثر فعالية لإجراء مثل هذه الحسابات.

    تنسيقات البيانات

    داخل FPU، يتم تخزين الأرقام بتنسيق الفاصلة العائمة 80 بت (دقة موسعة)، ويمكن استخدام ما يلي للكتابة أو القراءة من الذاكرة:

    • الأعداد الحقيقية بثلاثة تنسيقات: قصيرة (32 بت)، طويلة (64 بت)، وممتدة (80 بت).
    • الأعداد الصحيحة الثنائية بثلاثة تنسيقات: 16 و32 و64 بت.
    • الأرقام العشرية الصحيحة المعبأة (BCD) - الحد الأقصى لطول الرقم هو 18 رقمًا عشريًا مكتظًا (72 بت).

    تدعم FPU أيضًا القيم الرقمية الخاصة:

    • الأعداد الحقيقية غير المقيسة هي أرقام قيمتها المطلقة أقل من الحد الأدنى للعدد المقيس. عندما يتم تشكيل مثل هذه القيمة في سجل مكدس معين، يتم تشكيل قيمة خاصة 10 في علامة تسجيل TWR المقابلة لهذا السجل. علامة الرقم غير الطبيعي في تمثيله الثنائي هي حقل الترتيب الصفري.
    • تحدث اللانهاية (الموجبة والسالبة) عندما يتم قسمة قيمة غير الصفر على صفر، وكذلك الفائض. عندما يتم تشكيل مثل هذه القيمة في سجل مكدس معين، يتم تشكيل قيمة خاصة 10 في علامة تسجيل TWR المقابلة لهذا السجل.
    • غير رقم (الإنجليزية ليس رقمًا (NaN)). هناك نوعان من غير الأرقام:
      • SNaN (الإشارة إلى غير رقم) - الإشارة إلى غير الأرقام. يتفاعل المعالج الثانوي مع ظهور هذا الرقم في سجل المكدس عن طريق رفع استثناء عملية غير صالح. لا يقوم المعالج المشترك بإنشاء أرقام الإشارة. يقوم المبرمجون بتكوين مثل هذه الأرقام عمدًا من أجل رفع الاستثناء في الوضع الصحيح.
      • QNaN (هادئ بدون رقم) - هادئ (هادئ) بدون أرقام. يمكن للمعالج المساعد توليد أرقام غير هادئة استجابةً لبعض الاستثناءات، مثل رقم عدم اليقين الحقيقي.
    • صفر (إيجابي وسلبي). على الرغم من أن الصفر يمكن اعتباره قيمة خاصة من حيث تنسيق النقطة العائمة، إلا أنه أيضًا حالة خاصة للرقم غير الطبيعي.
    • عدم اليقين والتنسيقات غير المدعومة. هناك العديد من مجموعات البت التي يمكن تمثيلها بتنسيق أرقام حقيقية ممتدة. بالنسبة لمعظم قيمها، يتم إنشاء استثناء عملية غير صالح.

    السجلات

    هناك ثلاث مجموعات من السجلات في FPU:

    • مكدس المعالج: يسجل R0..R7. أبعاد كل سجل: 80 بت.
    • سجلات الخدمة
      • سجل حالة المعالج SWR (تسجيل كلمات الحالة) - معلومات حول الحالة الحالية للمعالج المساعد. البعد: 16 بت.
      • سجل التحكم في المعالج الثانوي CWR (سجل كلمات التحكم) - التحكم في أوضاع تشغيل المعالج الثانوي. البعد: 16 بت.
      • العلامات تسجيل الكلمات (TWR) - التحكم في السجلات R0..R7 (على سبيل المثال، لتحديد القدرة على الكتابة). البعد: 16 بت.
    • يسجل المؤشر
      • مؤشر بيانات DPR (تسجيل نقطة البيانات). البعد: 48 بت.
      • فهرس أوامر IPR (تسجيل نقطة التعليمات). البعد: 48 بت.

    نظام تعليمات المعالج المشترك

    يتضمن النظام حوالي 80 أمرًا. تصنيفهم:

    • أوامر نقل البيانات
      • بيانات حقيقية
      • بيانات عددية
      • البيانات العشرية
      • تحميل الثوابت (0، 1، Pi، log 2 (10)، log 2 (e)، log (2)، ln (2))
      • تبادل
      • إعادة التوجيه المشروط (Pentium II/III)
    • أوامر مقارنة البيانات
      • بيانات حقيقية
      • بيانات عددية
      • تحليل
      • من الصفر
      • المقارنة الشرطية (بنتيوم II/III)
    • الأوامر الحسابية
      • البيانات الحقيقية: الجمع والطرح والضرب والقسمة
      • البيانات الصحيحة: الجمع، الطرح، الضرب، القسمة
      • الأوامر الحسابية المساعدة (الجذر التربيعي، المعامل، تغيير الإشارة، الأس واستخراج الجزء العشري)
    • أوامر متعالية
      • علم المثلثات: الجيب، جيب التمام، الظل، ظل القطب الشمالي
      • حساب اللوغاريتمات والقوى
    • أوامر التحكم
      • تهيئة المعالج المساعد
      • العمل مع البيئة
      • العمل مع المكدس
      • تبديل الأوضاع

    يحتوي AIDA64 على العديد من الاختبارات التي يمكن استخدامها لتقييم أداء القطع الفردية من المعدات أو النظام ككل. هذه اختبارات تركيبية، مما يعني أنها تستطيع تقدير الأداء النظري الأقصى للنظام. تعتمد اختبارات إنتاجية الذاكرة أو وحدة المعالجة المركزية أو FPU على محرك الاختبار متعدد الخيوط AIDA64، الذي يدعم ما يصل إلى 640 سلسلة معالجة متزامنة و10 مجموعات معالجات (منذ AIDA64 Business 4.00). توفر هذه الآلية الدعم الكامل للمعالجات المتعددة (SMP)، والتقنيات متعددة النواة والخيوط الفائقة.

    اختبار أداء ذاكرة التخزين المؤقت والقرص

    يقدم AIDA64 أيضًا اختبارات منفصلة لتقييم إنتاجية القراءة والكتابة والنسخ، بالإضافة إلى ذاكرة التخزين المؤقت لوحدة المعالجة المركزية وزمن وصول ذاكرة النظام. توجد أيضًا وحدة اختبار منفصلة لتقييم أداء أجهزة التخزين، بما في ذلك محركات الأقراص الثابتة (S)ATA أو SCSI ومصفوفات RAID ومحركات الأقراص الضوئية ومحركات أقراص SSD ومحركات أقراص USB وبطاقات الذاكرة.

    اختبار أداء GPGPU

    لوحة الاختبار هذه، والتي يمكن الوصول إليها في قسم القائمة الأدوات | يقدم GPGPU Benchmark مجموعة من اختبارات أداء OpenCL GPGPU. وهي مصممة لتقييم أداء حوسبة GPGPU باستخدام أحمال عمل OpenCL المختلفة. يمكن تشغيل كل اختبار فردي على 16 وحدة معالجة رسومات كحد أقصى، بما في ذلك معالجات AMD وIntel وNVIDIA أو مجموعات منها. بالطبع، يتم دعم تكوينات CrossFire وSLI بشكل كامل، بالإضافة إلى dGPU وAPU. بشكل عام، تتيح لك هذه الوظيفة اختبار أداء أي جهاز كمبيوتر تقريبًا يتم تمثيله كوحدة معالجة رسومات (GPU) بين أجهزة OpenCL.

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

    اختبار أداء الذاكرة

    تقوم اختبارات أداء الذاكرة بتقييم الحد الأقصى من الإنتاجية الممكنة عند إجراء عمليات معينة (القراءة والكتابة والنسخ). تمت كتابتها بلغة التجميع وتم تحسينها إلى أقصى حد لجميع المتغيرات الشائعة لمراكز معالجات AMD وIntel وVIA باستخدام ملحقات مجموعة التعليمات المناسبة x86/x64، x87، MMX، MMX+، 3DNow!، SSE، SSE2، SSE4.1، AVX وAVX2.

    يقوم اختبار زمن الوصول للذاكرة بتقييم زمن الوصول النموذجي عندما تقرأ وحدة المعالجة المركزية البيانات من ذاكرة النظام. زمن وصول الذاكرة هو الوقت المناسب لتوفير البيانات في السجل الحسابي للأعداد الصحيحة لوحدة المعالجة المركزية بعد إصدار أمر القراءة.

    ملكة وحدة المعالجة المركزية

    يقوم اختبار الأعداد الصحيحة البسيط هذا بتقييم التنبؤ بفرع وحدة المعالجة المركزية وقدرات التنبؤ الخاطئ للفرع. يقوم بحساب حلول اللغز الكلاسيكي مع ثماني ملكات موضوعة على رقعة الشطرنج 10x10. من الناحية النظرية، وبنفس سرعة الساعة، يمكن للمعالج الذي يحتوي على خط أنابيب أقصر وحمل أقل في حالة افتراض فرع غير صحيح أن يُظهر نتائج اختبار أفضل. على سبيل المثال، إذا قمت بتعطيل تقنية Hyperthreading، فإن معالجات Pentium 4 المستندة إلى Intel Northwood ستحرز نقاطًا أعلى من وحدات المعالجة المركزية Intel Prescott لأن الأولى تحتوي على خط أنابيب مكون من 20 مرحلة بينما تحتوي الأخيرة على خط أنابيب مكون من 31 مرحلة. تستخدم وحدة المعالجة المركزية CPU تحسينات الأعداد الصحيحة MMX وSSE2 وSSSE3.

    وحدة المعالجة المركزية PhotoWorxx

    يقوم اختبار الأعداد الصحيحة هذا بتقييم أداء وحدة المعالجة المركزية باستخدام العديد من خوارزميات معالجة الصور ثنائية الأبعاد. ينفذ المهام التالية مع صور RGB كبيرة إلى حد ما:

    • ملء الصورة بالبكسلات ذات اللون المحدد عشوائيًا؛
    • تدوير الصورة 90 درجة عكس اتجاه عقارب الساعة؛
    • تدوير الصورة 180 درجة؛
    • تمايز الصورة
    • تحويل مساحة اللون (يستخدم، على سبيل المثال، في تحويل JPEG).

    الاختبار مخصص بشكل أساسي للكتل التي تؤدي عمليات حسابية صحيحة لبنية SIMD للمعالج المركزي وأنظمة الذاكرة الفرعية. يستخدم اختبار PhotoWorxx CPU ملحقات مجموعة التعليمات x87، MMX، MMX+، 3DNow!، 3DNow!+، SSE، SSE2، SSSE3، SSE4.1، SSE4A، AVX، AVX2، ويدعم NUMA، وhyperthreading، والمعالجات المتعددة (SMP)، ومتعددة النواة (CMP).

    وحدة المعالجة المركزية ZLib

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

    وحدة المعالجة المركزية AES

    يقوم اختبار العدد الصحيح هذا بتقييم أداء وحدة المعالجة المركزية عند إجراء تشفير AES. في التشفير، AES هي خوارزمية تشفير كتلة متماثلة. اليوم، يتم استخدام AES في العديد من أدوات الضغط مثل 7z وRAR وWinZip، بالإضافة إلى برامج التشفير BitLocker وFileVault (Mac OS X) وTrueCrypt. تستخدم وحدة المعالجة المركزية CPU AES تعليمات x86 وMMX وSSE4.1 المناسبة ويتم تسريع الأجهزة على معالجات VIA C3 وVIA C7 وVIA Nano وVIA QuadCore التي تدعم محرك VIA PadLock Security Engine، بالإضافة إلى المعالجات التي تدعم Intel AES تمديد مجموعة التعليمات. يدعم هذا الاختبار خيوط المعالجة المتعددة والمعالجات المتعددة (SMP) والنوى المتعددة (CMP).

    تجزئة وحدة المعالجة المركزية

    يقوم اختبار العدد الصحيح هذا بتقييم أداء وحدة المعالجة المركزية عند تنفيذ خوارزمية التخزين المؤقت SHA1 وفقًا لمعيار معالجة المعلومات الفيدرالي 180-4. تمت كتابة رمز هذا الاختبار بلغة التجميع وتم تحسينه ليناسب معظم مراكز معالجات AMD وIntel وVIA الشائعة باستخدام ملحقات مجموعة التعليمات المناسبة MMX وMMX+/SSE وSSE2 وSSSE3 وAVX وAVX2 وXOP وBMI و مؤشر كتلة الجسم2. اختبار تجزئة وحدة المعالجة المركزية عبارة عن تسريع الأجهزة على معالجات VIA C7، وVIA Nano، وVIA QuadCore التي تدعم تقنية VIA PadLock Security Engine.

    فبو VP8

    يقيس هذا الاختبار أداء ضغط الفيديو لبرنامج ترميز Google VP8 (WebM) الإصدار 1.1.0. يتم التشفير في مسار واحد من دفق الفيديو بدقة 1280 × 720 ("HD جاهز") وسرعة 8192 كيلوبت في الثانية بأقصى إعدادات الجودة. يتم إنشاء محتوى الإطار بواسطة الوحدة النمطية الكسورية Julia FPU. يستخدم رمز الاختبار ملحقات ومجموعات التعليمات MMX، أو SSE2، أو SSSE3، أو SSE4.1، ويدعم أيضًا خيوط المعالجة المتعددة، والمعالجات المتعددة (SMP)، والنوى المتعددة (CMP).

    FPU جوليا

    يقوم هذا المعيار بتقييم أداء النقطة العائمة ذات الدقة الواحدة (دقة 32 بت) عن طريق حساب أجزاء جوليا الفركتلية المتعددة. تمت كتابة التعليمات البرمجية لهذا الاختبار بلغة التجميع وتم تحسينها لتناسب نوى معالجات AMD وIntel وVIA الأكثر شيوعًا باستخدام ملحقات مجموعة التعليمات x87 و3DNow! و3DNow!+ وSSE وAVX وAVX2 وFMA وFMA4 المناسبة. . تدعم FPU Julia المعالجة الفائقة والمعالجة المتعددة (SMP) والنواة المتعددة (CMP).

    فبو ماندل

    يقوم هذا المعيار بتقييم أداء النقطة العائمة مزدوجة الدقة (دقة 64 بت) من خلال محاكاة عدة أجزاء كسورية من ماندلبروت. تمت كتابة التعليمات البرمجية لهذا الاختبار بلغة التجميع وتم تحسينها لتناسب نوى معالجات AMD وIntel وVIA الأكثر شيوعًا من خلال تطبيق ملحقات مجموعة التعليمات x87 وSSE2 وAVX وAVX2 وFMA وFMA4 المناسبة. يدعم Mandel FPU خيوط المعالجة المتعددة والمعالجة المتعددة (SMP) ومتعددة النواة (CMP).

    FPU سينجوليا

    يقوم الاختبار بتقييم أداء النقطة العائمة عالي الدقة (دقة 80 بت) من خلال حسابات إطار بإطار باستخدام كسورية جوليا المعدلة. تمت كتابة رمز هذا الاختبار بلغة التجميع، وهو مُحسّن لمعظم نوى المعالجات الشائعة من AMD وIntel وVIA، ويسمح باستخدام التعليمات المثلثية والأسية في بنية x87. تدعم SinJulia FPU خيوط المعالجة المتعددة والمعالجة المتعددة (SMP) ومتعددة النواة (CMP).

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

    تساعد FPU وحدة المعالجة (CPU) على إجراء العمليات الحسابية. في السابق، حسنًا، منذ وقت طويل جدًا، كانت وحدة FPU منفصلة، ​​وعندها فقط في عام 1989 أصبحت جزءًا من المعالج. على الرغم من أن كل هذا لا يزال من العصور القديمة.

    لقد وجدت صورة حول الموضوع المعروض هنا، لكن بالطبع لا أفهمها حقًا:

    ومع ذلك، أنا مندهش لأنني لم أسمع عن FPU من قبل، مع الأخذ في الاعتبار أن كلمات مثل Northwood وPrescott (مكتوبة في الصورة أعلاه)، هذه الكلمات معروفة بالنسبة لي: هذه هي نوى معالجات Pentium 4 لقد كنت في الماضي معجبًا كبيرًا بـ Pentium 4.

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


    حسنًا، كما أفهمها، FPU هو معالج رياضي مساعد، أليس كذلك؟ على الرغم من أنني لا أعرف ما إذا كان هذا هراء أم لا، ولكن في موقع آخر مكتوب أن FPU في AIDA64 هو اختبار لمراوح التبريد الموجودة في الكمبيوتر... ولكن يبدو أن هذه معلومات غير صحيحة، أعتقد ذلك لا يزال FPU معالجًا مساعدًا

    هنا وجدت اللوحة، انظر:


    بصراحة، لا أعرف أين بالضبط، ولكن يبدو أن هناك معالج Intel 287-10 FPU المساعد، أي يبدو أنه يأتي بشكل منفصل. ولكن أين هو بالضبط، لا أستطيع أن أقول على وجه اليقين، للأسف. على أية حال، كل هذا هو العصور القديمة القوية. الآن تعمل وحدة FPU بالفعل، وبشكل عام، لا يعرف عنها سوى عدد قليل من الناس، لأنها ليست مثيرة للاهتمام بشكل خاص. ومع ذلك، إليك ما فكرت فيه: هل يؤثر ذلك على الأداء بطريقة أو بأخرى؟