العمليات الدقيقة في وحدة المعالجة المركزية ، ما هي وكيف تعمل

أحد المفاهيم الأساسية لفهم العمارة والأداء الحالي إنتل و AMD وحدات المعالجة المركزية (CPU) هي مفهوم العمليات الدقيقة ، بالإضافة إلى الوحدات مثل ذاكرة التخزين المؤقت الخاصة بهم. في هذه المقالة سوف نخبرك بطريقة يسهل الوصول إليها بما هي عليه ولماذا تعتمد معالجات اليوم جميع عملياتها عليها لتحقيق أقصى أداء ممكن.

A وحدة المعالجة المركزية‏: يمكن اليوم تنفيذ عدد كبير من التعليمات المختلفة ، وهو يفعل ذلك بترددات تصل إلى 5,000 مرة أعلى من تلك التي كانت في أجهزة الكمبيوتر الشخصية القديمة. نميل إلى الاعتقاد والخطأ تمامًا في أن المقدار الأكبر من MHz أو GHz يرجع إلى التصنيع الجديد. الواقع مختلف تمامًا ، وهنا يأتي دور العمليات الدقيقة ، والتي تعد أساسية لتحقيق قوة الحوسبة الهائلة للمعالجات الدقيقة اليوم.

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

ما هي العمليات الدقيقة؟

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

Flujo Microoperaciones

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

خط أنابيب Instrucciones Tiempo

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

في الواقع ، ولدت هذه مع ظهور تنفيذ خارج الترتيب لهندسة Intel P6 ووحدات المعالجة المركزية المشتقة مثل Pentium II و III. والسبب في ذلك هو أن تجزئة P5 أو Pentium سمح لهم فقط بالوصول إلى ما يزيد قليلاً عن 200 ميجاهرتز. مع العمليات الدقيقة ، من خلال إطالة عدد مراحل كل تعليمات بشكل أكبر ، فقد تجاوزوا حاجز GHz مع Pentium 3 وتمكنوا من الحصول على سرعات ساعة أعلى بـ16 مرة مع Pentium 4. ومنذ ذلك الحين تم استخدامها في جميع وحدات المعالجة المركزية مع التنفيذ خارج الطلب ، بغض النظر عن العلامة التجارية والتسجيل ومجموعة التعليمات.

وحدات المعالجة المركزية الخاصة بك ليست x86 ولا RISC-V ولا ARM

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

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

تحلل التعليمات إلى عمليات دقيقة وتحويل البرامج المخزنة فيها رامات في الرمز الصغير موجود اليوم في جميع المعالجات. حتى عندما ISA هاتفك ARM تقوم وحدة المعالجة المركزية (CPU) أو وحدة المعالجة المركزية (CPU) بجهاز الكمبيوتر الخاص بك بتنفيذ برامج ، ولا تقوم وحدات التنفيذ الخاصة بها بحل التعليمات باستخدام تلك المجموعات من السجلات والتعليمات.

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

ما هي ذاكرة التخزين المؤقت الدقيقة؟

العنصر المهم الآخر لتحقيق أقصى أداء ممكن هو ذاكرة التخزين المؤقت للعمليات الصغيرة ، والتي تأتي بعد العمليات الدقيقة وبالتالي أقرب في الوقت المناسب. يمكن العثور على أصله في ذاكرة التخزين المؤقت للتتبع التي نفذتها Intel في Pentium 4. وهو امتداد لذاكرة التخزين المؤقت للمستوى الأول للتعليمات التي تخزن الارتباط بين التعليمات المختلفة والعمليات الدقيقة التي تم تفكيكها مسبقًا بواسطة وحدة التحكم .

ذاكرة التخزين المؤقت Microscopio

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

وبالتالي ، تعد ذاكرة التخزين المؤقت للعملية الصغيرة تطورًا لذاكرة التخزين المؤقت للتتبع ، ولكنها ليست جزءًا من ذاكرة التخزين المؤقت للتعليمات ، بل هي كيان مستقل عن الأجهزة. في ذاكرة التخزين المؤقت للعمليات الدقيقة ، يتم تحديد حجم كل منها من حيث عدد البايت ، مما يسمح على سبيل المثال لوحدة المعالجة المركزية مع ISA x86 بالعمل في أقرب وقت ممكن من نوع RISC وتقليل تعقيد وحدة التحكم ومعها استهلاك. يتمثل الاختلاف عن ذاكرة التخزين المؤقت لمؤامرة Pentium 4 في أن ذاكرة التخزين المؤقت للعمليات الدقيقة الحالية تخزن جميع العمليات الصغيرة التي تنتمي إلى التعليمات في سطر واحد.

كيف تعمل؟

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

ذاكرة التخزين المؤقت microoperaciones cómo funciona

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

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