البنية الدقيقة

مخطط البنية الدقيقة لمعالج Intel Core 2

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

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

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

بنية دقيقة منظمة حول ناقل واحد

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

عادةً ما تُصوَّر البنية الدقيقة للآلة على شكل مخططات (مفصلة بدرجات متفاوتة) تصف الترابطات بين مختلف عناصرها، والتي قد تتراوح بين البوابات والمسجلات الفردية، ووحدات الحساب والمنطق الكاملة، وحتى العناصر الأكبر حجمًا. تفصل هذه المخططات عمومًا بين مسار البيانات (حيث تُخزَّن البيانات) ومسار التحكم (الذي يُوجِّه البيانات). [ 5 ]

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

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

من حيث المبدأ، يمكن لبنية دقيقة واحدة أن تنفذ عدة مجموعات تعليمات مختلفة مع تغييرات طفيفة فقط في الشفرة الدقيقة .

وجوه

بنية Intel 80286 الدقيقة

يُعد مسار البيانات المُجزأ (pipelined datapath) التصميم الأكثر شيوعًا في هندسة المعالجات الدقيقة اليوم. تُستخدم هذه التقنية في معظم المعالجات الدقيقة الحديثة، ووحدات التحكم الدقيقة ، ومعالجات الإشارات الرقمية (DSP) . تسمح بنية مسار البيانات المُجزأ بتداخل تنفيذ تعليمات متعددة، تمامًا كما في خط التجميع. يتضمن مسار البيانات عدة مراحل أساسية في تصميمات المعالجات الدقيقة. [ 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 تعمل بسرعة تزيد عن عشرة أضعاف سرعة حلول CISC من Intel و Motorola بنفس سرعة الساعة والسعر.

لا تقتصر تقنية خطوط الأنابيب بأي حال من الأحوال على تصميمات RISC. ففي عام 1986، كان تصميم VAX 8800 ، وهو أحدث تصميم من سلسلة VAX، يعتمد بشكل كبير على خطوط الأنابيب، متفوقًا بذلك على تصميمات MIPS وSPARC التجارية الأولى. معظم وحدات المعالجة المركزية الحديثة (حتى المدمجة منها) تعتمد الآن على خطوط الأنابيب، بينما لا نرى وحدات المعالجة المركزية ذات التعليمات البرمجية الدقيقة التي لا تدعم خطوط الأنابيب إلا في المعالجات المدمجة ذات المساحة المحدودة للغاية. أما أجهزة CISC الكبيرة، بدءًا من VAX 8800 وصولًا إلى معالجات Intel وAMD الحديثة، فتُنفذ باستخدام كلٍ من التعليمات البرمجية الدقيقة وخطوط الأنابيب. يُعد تحسين خطوط الأنابيب والتخزين المؤقت من أهم التطورات المعمارية الدقيقة التي مكّنت أداء المعالج من مواكبة تقنية الدوائر التي بُنيت عليها.

مخبأ

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

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

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

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

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

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

مقياس فائق

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

انظر أيضاً

مراجع

  1. إرشادات المناهج الدراسية لبرامج البكالوريوس في هندسة الحاسوب (ملف PDF) . جمعية آلات الحوسبة. 2004. ص  60. مؤرشف من الأصل (ملف PDF) بتاريخ 2017-07-03. تعليقات على بنية الحاسوب وتنظيمه: تُعد بنية الحاسوب عنصرًا أساسيًا في هندسة الحاسوب، وينبغي أن يمتلك مهندس الحاسوب الممارس فهمًا عمليًا لهذا الموضوع...
  2. ميردوكا، مايلز؛ هيورينغ، فنسنت (2007). هندسة الحاسوب وتنظيمه: منهج متكامل . وايلي. ص 151. ISBN  9780471733881.
  3. كليمنتس، آلان. مبادئ أجهزة الحاسوب ( الطبعة الرابعة). الصفحات 1-2 .  
  4. فلين، مايكل ج. (2007). "مقدمة في الهندسة المعمارية والآلات" . هندسة الحاسوب: تصميم المعالجات المتوازية والمتسلسلة . جونز وبارتليت. الصفحات 1-3 . ISBN  9780867202045.
  5. 1 2 هينيسي، جون لباترسون، ديفيد أ. (2006). هندسة الحاسوب: منهج كمي ( الطبعة الرابعة). مورغان كوفمان. ISBN  0-12-370490-1.
  6. ويلكس، إم. في. (1969). "نمو الاهتمام بالبرمجة المصغرة: دراسة أدبية" . مجلة ACM Computing Surveys . 1 (3): 139-145 . doi : 10.1145/356551.356553 . S2CID 10673679 . 

للمزيد من القراءة