الهندسة المعمارية الدقيقة

مخطط للهندسة المعمارية الدقيقة لمعالج Intel Core 2

في الإلكترونيات وعلوم الكمبيوتر وهندسة الكمبيوتر ، تُعرف الهندسة الدقيقة ، والتي تُسمى أيضًا تنظيم الكمبيوتر ويُختصر أحيانًا باسم μarch أو uarch ، بأنها الطريقة التي يتم بها تنفيذ بنية مجموعة التعليمات (ISA) المعينة في معالج معين . [1] يمكن تنفيذ ISA المعينة باستخدام بنى دقيقة مختلفة؛ [2] [3] قد تختلف التنفيذات بسبب الأهداف المختلفة لتصميم معين أو بسبب التحولات في التكنولوجيا. [4]

هندسة الحاسوب هي مزيج من الهندسة المعمارية الدقيقة وهندسة مجموعة التعليمات.

العلاقة مع بنية مجموعة التعليمات

هندسة معمارية دقيقة منظمة حول حافلة واحدة

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

عادةً ما يتم تمثيل البنية الدقيقة للآلة على هيئة مخططات (مفصلة إلى حد ما) تصف الترابطات بين العناصر الدقيقة المختلفة للآلة، والتي قد تكون أي شيء من البوابات والسجلات الفردية، إلى وحدات المنطق الحسابي الكاملة (ALUs) وحتى العناصر الأكبر حجمًا. تفصل هذه المخططات عمومًا بين مسار البيانات (حيث يتم وضع البيانات) ومسار التحكم (الذي يمكن القول إنه يوجه البيانات). [5]

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

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

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

وجوه

معمارية Intel 80286

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

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

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

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

المفاهيم المعمارية الدقيقة

دورات تعليمية

لتشغيل البرامج، يجب على جميع وحدات المعالجة المركزية أحادية الشريحة أو متعددة الشرائح:

  1. قراءة التعليمات وفك شفرتها
  2. ابحث عن أي بيانات مرتبطة مطلوبة لمعالجة التعليمات
  3. معالجة التعليمات
  4. اكتب النتائج

يتم تكرار دورة التعليمات بشكل مستمر حتى يتم إيقاف تشغيل الطاقة.

هندسة دقيقة متعددة الدورات

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

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

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

زيادة سرعة التنفيذ

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

اختيار مجموعة التعليمات

لقد تغيرت مجموعات التعليمات على مر السنين، من كونها بسيطة للغاية في الأصل إلى كونها معقدة للغاية في بعض الأحيان (في جوانب مختلفة). في السنوات الأخيرة، كانت معماريات التحميل والتخزين وأنواع VLIW و EPIC رائجة. تشمل المعماريات التي تتعامل مع التوازي في البيانات SIMD و Vectors . بعض العلامات المستخدمة للإشارة إلى فئات معماريات وحدة المعالجة المركزية ليست وصفية بشكل خاص، وخاصة تسمية CISC؛ العديد من التصميمات المبكرة التي تم الإشارة إليها بأثر رجعي باسم " CISC " هي في الواقع أبسط بكثير من معالجات RISC الحديثة (في جوانب عديدة).

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

خط أنابيب التعليمات

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

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

يجعل RISC خطوط الأنابيب أصغر وأسهل بكثير في البناء من خلال الفصل الواضح بين كل مرحلة من مراحل عملية التعليمات وجعلها تستغرق نفس القدر من الوقت - دورة واحدة. يعمل المعالج ككل على غرار خط التجميع ، حيث تأتي التعليمات من جانب وتخرج النتائج من الجانب الآخر. ونظرًا للتعقيد المنخفض لخط أنابيب RISC الكلاسيكي ، يمكن وضع النواة المقسمة وذاكرة التخزين المؤقت للتعليمات على نفس حجم الشريحة التي قد تناسب النواة وحدها في تصميم CISC. كان هذا هو السبب الحقيقي وراء سرعة RISC. غالبًا ما كانت التصميمات المبكرة مثل SPARC و MIPS تعمل بسرعة تزيد عن 10 أضعاف حلول CISC من Intel و Motorola بنفس سرعة الساعة والسعر.

لا تقتصر خطوط الأنابيب بأي حال من الأحوال على تصميمات RISC. بحلول عام 1986، كان تنفيذ VAX الأفضل ( VAX 8800 ) عبارة عن تصميم مترابط بشكل كبير، يسبق قليلاً أول تصميمات MIPS و SPARC التجارية. أصبحت معظم وحدات المعالجة المركزية الحديثة (حتى وحدات المعالجة المركزية المضمنة) مترابطة الآن، ولا تُرى وحدات المعالجة المركزية المشفرة بدقة بدون خطوط أنابيب إلا في المعالجات المضمنة الأكثر تقييدًا بالمساحة. [ بحاجة لمثال ] يتم تنفيذ أجهزة CISC الكبيرة، من VAX 8800 إلى Pentium 4 و Athlon الحديثين، بكل من التعليمات البرمجية الدقيقة وخطوط الأنابيب. تُعَد التحسينات في خطوط الأنابيب والتخزين المؤقت من أهم التطورات المعمارية الدقيقة التي مكنت أداء المعالج من مواكبة تكنولوجيا الدوائر التي تستند إليها.

مخبأ

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

بدأت تصميمات RISC في إضافة ذاكرة تخزين مؤقتة في منتصف إلى أواخر الثمانينيات، وغالبًا ما كانت 4 كيلوبايت فقط في المجموع. نما هذا الرقم بمرور الوقت، وتحتوي وحدات المعالجة المركزية النموذجية الآن على 2 ميجا بايت على الأقل، بينما تأتي وحدات المعالجة المركزية الأكثر قوة بـ 4 أو 6 أو 12 ميجا بايت أو حتى 32 ميجا بايت أو أكثر، مع كون معظمها 768 ميجا بايت في خط EPYC Milan-X الذي تم إصداره حديثًا، والذي تم تنظيمه في مستويات متعددة من التسلسل الهرمي للذاكرة . بشكل عام، تعني ذاكرة التخزين المؤقت الأكبر أداءً أكبر، بسبب انخفاض التعطل.

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

التنبؤ بالفرع

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

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

فائق السلم

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

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

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

تنفيذ خارج الترتيب

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

إعادة تسمية التسجيل

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

المعالجة المتعددة والتنفيذ المتعدد الخيوط

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

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

أحد الأساليب المستخدمة لتحقيق هذا التوازي هو من خلال أنظمة المعالجة المتعددة ، وهي أنظمة كمبيوتر ذات وحدات معالجة مركزية متعددة. كانت الخوادم متعددة المعالجات صغيرة الحجم (2-8) مخصصة في السابق لأجهزة الكمبيوتر المركزية وأجهزة الكمبيوتر العملاقة عالية الأداء ، ولكنها أصبحت شائعة الاستخدام في سوق الأعمال الصغيرة. أما بالنسبة للشركات الكبيرة، فإن المعالجات المتعددة كبيرة الحجم (16-256) شائعة الاستخدام. وحتى أجهزة الكمبيوتر الشخصية ذات وحدات المعالجة المركزية المتعددة ظهرت منذ تسعينيات القرن العشرين.

مع المزيد من التخفيضات في حجم الترانزستور المتاحة مع تقدم تكنولوجيا أشباه الموصلات، ظهرت وحدات المعالجة المركزية متعددة النواة حيث يتم تنفيذ وحدات معالجة مركزية متعددة على نفس شريحة السيليكون. تم استخدامها في البداية في الرقائق التي تستهدف الأسواق المضمنة، حيث تسمح وحدات المعالجة المركزية الأبسط والأصغر بتركيب نسخ متعددة على قطعة واحدة من السيليكون. بحلول عام 2005، سمحت تكنولوجيا أشباه الموصلات بتصنيع وحدات المعالجة المركزية المكتبية عالية الأداء المزدوجة CMP بكميات كبيرة. عادت بعض التصميمات، مثل UltraSPARC T1 من Sun Microsystems ، إلى تصميمات أبسط (عددية، بالترتيب) من أجل تركيب المزيد من المعالجات على قطعة واحدة من السيليكون.

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

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

هناك تحسين آخر يتمثل في تعدد العمليات المتزامنة . تسمح هذه التقنية لوحدات المعالجة المركزية الفائقة بتنفيذ التعليمات من برامج/عمليات مختلفة في نفس الوقت في نفس الدورة.

انظر أيضا

مراجع

  1. ^ Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering (PDF) . Association for Computing Machinery. 2004. p. 60. أرشيف من الأصل (PDF) في 2017-07-03. تعليقات على بنية الحاسوب وتنظيمه: بنية الحاسوب هي أحد المكونات الرئيسية لهندسة الحاسوب ويجب أن يكون لدى مهندس الحاسوب الممارس فهم عملي لهذا الموضوع...
  2. ^ Murdocca, Miles; Heuring, Vincent (2007). Computer Architecture and Organization, An Integrated Approach . Wiley. ص. 151. ISBN 9780471733881.
  3. ^ كليمنتس، آلان. مبادئ أجهزة الكمبيوتر (الطبعة الرابعة). ص 1-2.
  4. ^ فلين، مايكل ج. (2007). "مقدمة إلى الهندسة المعمارية والآلات". هندسة الكمبيوتر وتصميم المعالجات المتوازية والموجهة . جونز وبارتليت. ص 1-3. ISBN 9780867202045.
  5. ^ ab Hennessy, John L. ; Patterson, David A. (2006). Computer Architecture: A Quantitative Approach (الطبعة الرابعة). Morgan Kaufmann. ISBN 0-12-370490-1.
  6. ^ Wilkes, MV (1969). "نمو الاهتمام بالبرمجة الدقيقة: دراسة استقصائية للأدبيات". ACM Computing Surveys . 1 (3): 139–145. doi : 10.1145/356551.356553 . S2CID  10673679.

قراءة إضافية

  • باترسون، د.؛ هينيسي، ج. (2004). تنظيم وتصميم الحاسوب: واجهة الأجهزة/البرمجيات. مورجان كوفمان. رقم ISBN 1-55860-604-1.
  • Hamacher, VC; Vrasenic, ZG; Zaky, SG (2001). تنظيم الحاسوب . McGraw-Hill. ISBN 0-07-232086-9.
  • ستالينجز، ويليام (2002). تنظيم الحاسوب وبنيته . برنتيس هول. ISBN 0-13-035119-9.
  • هايز، جيه بي (2002). بنية الحاسوب وتنظيمه . ماكجرو هيل. رقم ISBN 0-07-286198-3.
  • شنايدر، جاري مايكل (1985). مبادئ تنظيم الحاسب الآلي. وايلي. ص 6-7. ISBN 0-471-88552-5.
  • مانو، م. موريس (1992). هندسة أنظمة الكمبيوتر . برنتيس هول. ص. 3. ISBN 0-13-175563-3.
  • عبد البر، مصطفى؛ الرويني، هشام (2004). أساسيات تنظيم وهندسة الحاسب الآلي . وايلي. ص 1. ISBN 0-471-46741-3.
  • جاردنر، ج. (2001). "هندسة المعالجات الدقيقة للكمبيوتر الشخصي". ExtremeTech.
  • جيلريث، ويليام ف.؛ لابلانت، فيليب أ. (2012) [2003]. هندسة الحاسوب: منظور بسيط. سبرينغر. رقم ISBN 978-1-4615-0237-1.
  • باترسون، ديفيد أ. (10 أكتوبر 2018). عصر ذهبي جديد للهندسة المعمارية للحاسوب. ندوة بيركلي الأمريكية لجائزة تورينج. ctwj53r07yI.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Microarchitecture&oldid=1224226211"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate