سؤال

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

هل هذا صحيح؟

هل كانت مفيدة؟

المحلول

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

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

وهناك طرق أفضل بكثير من الحصول على معدل على مدار الساعة، مثل طرح نظام التشغيل لذلك (وبطبيعة الحال، وكيفية القيام بذلك يختلف مع OS).

نصائح أخرى

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

وماذا CPU أنت استهداف؟ هناك طرق أكثر تحديدا من تحديد معدل على مدار الساعة، على الأقل إلى x86.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top