البنية الدقيقة (علم الحاسوب)
في هندسة الحاسوب، تُعدُّ البنية الدقيقة، والتي تسمى أيضًا تنظيم الحاسوب وتُختصر أحيانًا باسم µarch أو uarch، هي الطريقة التي تُنفّذ بها مجموعة التعليمات في معالج معين.[1] قد تُنفّذ مجموعة تعليمات معينة مع بُنى دقيقة مختلفة؛[2][3] قد تختلف التطبيقات بسبب أهداف مختلفة لتصميم معين أو بسبب التحولات في التكنولوجيا.[4]
هندسة الحاسوب هي مزيج من البُنى الدقيقة ومجموعة التعليمات.
أصل المصطلح
[عدل]تستخدم أجهزة الكمبيوتر البرمجة الدقيقة لمنطق التحكم منذ الخمسينيات، تقوم وحدة المعالجة المركزية بفك تشفير التعليمات وإرسال الإشارات إلى المسارات المناسبة عن طريق مفاتيح الترانزستور.
العلاقة مع بنية مجموعة التعليمات
[عدل]ترتبط الهندسة المعمارية الدقيقة بهندسة مجموعة التعليمات ولكنها ليست هي نفسها، بنية مجموعة التعليمات قريبة من نموذج البرمجة للمعالج كما يراه مبرمج لغة التجميع والذي يتضمن نموذج التنفيذ وسجلات المعالج وأوضاع عنوان الذاكرة وتنسيقات العنوان والبيانات وما إلى ذلك، بشكل أساسي هي عبارة عن بنية ذات مستوى منخفض وبالتالي فهي تدير عددًا كبيرًا من التفاصيل المخفية في نموذج البرمجة وهي تصف الأجزاء الداخلية للمعالج وكيفية عملها معًا من أجل تنفيذ المواصفات المعمارية.
قد تكون العناصر المعمارية الدقيقة هي كل شيء بدءًا من البوابات المنطقية الفردية إلى السجلات وجداول البحث والمضاعفات والعدادات وحتى العناصر الأكبر، يمكن تقسيم مستوى الدوائر الإلكترونية بدوره إلى تفاصيل على مستوى الترانزستور مثل الهياكل الأساسية لبناء البوابة المستخدمة وأنواع التنفيذ المنطقي المختارة (ثابت / ديناميكي وعدد المراحل إلخ) بالإضافة إلى تصميم المنطق الفعلي المستخدم في بنائها.
بعض النقاط المهمة:
يمكن استخدام معمارية دقيقة واحدة، خاصة إذا كانت تتضمن رمزًا صغيرًا، لتنفيذ العديد من مجموعات التعليمات المختلفة، عن طريق تغيير مخزن التحكم.
قد يكون لآلتين نفس البنية الدقيقة وبالتالي نفس مخطط الكتلة ولكن تطبيقات أجهزة مختلفة تمامًا، هذا يدير كلاً من مستوى الدوائر الإلكترونية وحتى المستوى المادي للتصنيع (لكل من الدوائر المتكاملة و / أو المكونات المنفصلة).
قد يكون للآلات ذات البنى الدقيقة المختلفة نفس بنية مجموعة التعليمات وبالتالي يكون كل منها قادرًا على تنفيذ نفس البرامج، إن البنى الدقيقة الجديدة و / أو حلول الدوائر إلى جانب التطورات في تصنيع أشباه الموصلات هي التي تسمح للأجيال الجديدة من المعالجات بتحقيق أداء أعلى.
أوصاف مبسطة
[عدل]الوصف المبسط للغاية عالي المستوى هو أمر شائع في التسويق، قد يُظهر فقط الخصائص الأساسية إلى حد ما مثل وحدات التنفيذ والأنظمة الكبيرة الأخرى مثل التنبؤ بالفروع وذاكرة التخزين المؤقت، قد يتم أيضًا تضمين بعض التفاصيل مثل الجلب وفك التشفير والتعيين والتنفيذ وإعادة الكتابة في بعض الأحيان.
جوانب العمارة الدقيقة
[عدل]يعد مسار البيانات الموصّل بالأنابيب أكثر تصميمات مسار البيانات شيوعًا في الهندسة المعمارية الدقيقة اليوم، تُستخدم هذه التقنية في معظم المعالجات الدقيقة، تسمح البنية المخططة بتداخل تعليمات متعددة في التنفيذ، مثل خط التجميع، يتضمن خط الأنابيب عدة مراحل مختلفة والتي تعتبر أساسية في تصاميم العمارة الدقيقة، تتضمن بعض هذه المراحل إحضار التعليمات وفك تشفير التعليمات والتنفيذ وإعادة الكتابة، تتضمن بعض البنى مراحل أخرى مثل الوصول إلى الذاكرة، يعد تصميم خطوط الأنابيب أحد المهام المعمارية الدقيقة المركزية.
وحدات التنفيذ ضرورية أيضًا للهندسة المعمارية الدقيقة، تتضمن وحدات التنفيذ وحدات المنطق الحسابي ووحدات الفاصلة العائمة ووحدات التحميل/التخزين وتنبؤ الفرع، تقوم هذه الوحدات بعمليات أو حسابات المعالج، يعد اختيار عدد وحدات التنفيذ ووقت الاستجابة والإنتاجية من مهام التصميم المعماري الجزئي المهمة، الحجم والكمون والإنتاجية والاتصال بالذكريات داخل النظام هي أيضًا قرارات معمارية دقيقة.
يمكن اعتبار قرارات التصميم على مستوى النظام مثل تضمين الأجهزة الطرفية أو عدم تضمينها ووحدات التحكم في الذاكرة جزءًا من عملية تصميم البنية الدقيقة، يتضمن ذلك القرارات المتعلقة بمستوى الأداء وتوصيل هذه الأجهزة الطرفية.
على عكس التصميم المعماري حيث يكون مستوى الأداء المحدد هو الهدف الرئيسي، فإن التصميم المعماري الدقيق يولي اهتمامًا أكبر للقيود الأخرى، يجب الانتباه إلى قضايا مثل:
مساحة / تكلفة الرقاقة.
استهلاك الطاقة.
تعقيد المنطق.
سهولة الاتصال.
قابلية التصنيع.
سهولة التصحيح.
قابلية الاختبار.
المفاهيم المعمارية الدقيقة
[عدل]بشكل عام تقوم جميع وحدات المعالجة المركزية أو المعالجات الدقيقة أحادية الشريحة أو التطبيقات متعددة الشرائح بتشغيل البرامج من خلال تنفيذ الخطوات التالية:
اقرأ التعليمات وفك تشفيرها.
ابحث عن أي بيانات مرتبطة مطلوبة لمعالجة التعليمات.
معالجة التعليمات.
اكتب النتائج.
تعقيد هذه السلسلة البسيطة من الخطوات هو حقيقة أن التسلسل الهرمي للذاكرة والذي يتضمن التخزين المؤقت والذاكرة الرئيسية والتخزين غير المتطاير مثل الأقراص الصلبة (حيث توجد تعليمات البرنامج والبيانات) كان دائمًا أبطأ من المعالج نفسه، غالبًا ما تقدم الخطوة (2) تأخيرًا (في مصطلحات وحدة المعالجة المركزية يُطلق عليه غالبًا "توقف") أثناء وصول البيانات عبر ناقل الكمبيوتر، تم إجراء قدر كبير من الأبحاث في التصميمات التي تتجنب هذه التأخيرات قدر الإمكان، على مر السنين كان هدف التصميم المركزي هو تنفيذ المزيد من التعليمات بالتوازي وبالتالي زيادة سرعة التنفيذ الفعال للبرنامج، أدخلت هذه الجهود هياكل منطقية ودوائر معقدة، في الماضي لم يكن بالإمكان تنفيذ مثل هذه التقنيات إلا على حواسيب رئيسية باهظة الثمن أو أجهزة كمبيوتر عملاقة نظرًا لكمية الدوائر اللازمة لهذه التقنيات، مع تقدم تصنيع أشباه الموصلات يمكن تنفيذ المزيد والمزيد من هذه التقنيات على شريحة واحدة من أشباه الموصلات.
ما يلي هو مسح لتقنيات معمارية دقيقة شائعة في وحدات المعالجة المركزية الحديثة.
اختيار مجموعة التعليمات
[عدل]يؤثر اختيار بنية مجموعة التعليمات التي سيتم استخدامها بشكل كبير على تعقيد تنفيذ الأجهزة عالية الأداء، على مر السنين، بذل مصممو الكمبيوتر قصارى جهدهم لتبسيط مجموعات التعليمات من أجل تمكين عمليات التنفيذ عالية الأداء من خلال توفير جهد المصممين والوقت للميزات التي تعمل على تحسين الأداء بدلاً من إهدارها على تعقيد مجموعة التعليمات.
خط أنابيب التعليمات
[عدل]واحدة من أولى وأقوى التقنيات لتحسين الأداء هي استخدام خط أنابيب التعليمات، نفذت تصميمات المعالج المبكرة جميع الخطوات المذكورة أعلاه بناءً على تعليمات واحدة قبل الانتقال إلى التالي، تركت أجزاء كبيرة من دوائر المعالج في وضع الخمول في أي خطوة واحدة، على سبيل المثال ستكون دارة فك تشفير التعليمات خا
خاملة أثناء التنفيذ وهكذا.
تعمل خطوط الأنابيب على تحسين الأداء من خلال السماح لعدد من التعليمات بالعمل في طريقها عبر المعالج في نفس الوقت، في نفس المثال الأساسي، سيبدأ المعالج في فك (الخطوة 1) بينما واحد آخر ينتظر النتائج، سيسمح هذا بالتعامل مع ما يصل إلى أربعة تعليمات في وقت واحد مما يجعل المعالج يبدو أسرع أربع مرات.
سمحت التحسينات في تصنيع الرقائق بوضع المزيد من الدوائر على نفس الشريحة وبدأ المصممون في البحث عن طرق لاستخدامها، كانت إحدى الطرق الأكثر شيوعًا هي إضافة كمية متزايدة من ذاكرة التخزين المؤقت على الشريحة، ذاكرة التخزين المؤقت هي ذاكرة سريعة جدًا وهي ذاكرة يمكن الوصول إليها في بضع دورات.
التنبؤ الفرعي والتنفيذ التخميني
[عدل]تنبؤ الفرع هو المكان الذي تقدم فيه الأجهزة تخمينات مستنيرة حول ما إذا كان سيتم اتخاذ فرع معين، يسمح التخمين للأجهزة بالجلب المسبق للتعليمات دون انتظار قراءة السجل، أما التنفيذ التخميني فهو تحسين إضافي يتم فيه تنفيذ الكود على طول المسار المتوقع قبل معرفة ما إذا كان يجب أخذ الفرع أم لا.
تنفيذ خارج الترتيب
تقلل إضافة ذاكرات التخزين المؤقت من تكرار أو مدة التوقف بسبب انتظار البيانات المراد جلبها من التسلسل الهرمي للذاكرة الرئيسية، في التصميمات المبكرة قد يؤدي خطأ في ذاكرة التخزين المؤقت إلى إجبار وحدة التحكم في ذاكرة التخزين المؤقت على إيقاف المعالج والانتظار، بالطبع قد يكون هناك بعض التعليمات الأخرى في البرنامج الذي تتوفر بياناته في ذاكرة التخزين المؤقت في تلك المرحلة، يسمح التنفيذ خارج الطلب بمعالجة التعليمات الجاهزة أثناء انتظار التعليمات القديمة في ذاكرة التخزين المؤقت، ثم إعادة ترتيب النتائج لتظهر أن كل شيء حدث بالترتيب المبرمج.
المراجع
[عدل]- ^ Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering (PDF). Association for Computing Machinery. 2004. ص. 60. مؤرشف من الأصل (PDF) في 2019-06-12.
Comments on Computer Architecture and Organization: Computer architecture is a key component of computer engineering and the practicing computer engineer should have a practical understanding of this topic...
- ^ Murdocca، Miles؛ Heuring، Vincent (2007). Computer Architecture and Organization, An Integrated Approach. Wiley. ص. 151. ISBN:9780471733881.
- ^ Clements، Alan. Principles of Computer Hardware (ط. 4th). ص. 1–2.
- ^ Flynn، Michael J. (2007). "An Introduction to Architecture and Machines". Computer Architecture Pipelined and Parallel Processor Design. Jones and Bartlett. ص. 1–3. ISBN:9780867202045.