قطرة ... تروي الأذهان  
 
بنيان الحواسيب /2/ ~ التوارد

 

التوارد

 

ســ1ــ : ما هو زمن امتلاء التوارد ؟؟

جــ1ــ : إنه الدور الأول في التنفيذ والتي تكون قنوات التوارد ما زالت فارغة ولم تبدأ عملها في العمل، ففي الدور الأول لا يتم تنفيذ إلا تعليمة واحدة .. ويبدأ التوارد عندها في الأدوار المقبلة.

 

ســ2ــ : ما هو إفراغ القناة ؟؟

جــ2ــ : عند تنفيذ تعليمة قفز ( تفريع ) فإن المراحل التي نفذت للتعليمتين التاليتين سوف تذهب هدراً وسيضطر المعالج للتنفيذ بدء من التعليمة التي تم إليها القفز، لذلك سيبدأ بمرحلة إملاء التوارد من ثم يعود للتنفيذ المتوارد.

 

ســ3ــ : صح أم خطأ : في حال كان مراحل التنفيذ غير متساوية في الزمن .. فالتوارد مقيد بالتعليمة الأبطأ ؟؟

جــ3ــ : صحيح تماماً ..

 

ســ4ــ : ما الفرق ما بين التنفيذ وحيد الدور، متعدد الأدوار، والمتوارد ؟؟

جــ4ــ : الفروق :

- الوحيد الدور : يقوم على تنفيذ التعليمة كاملة خلال دور ساعة واحد cpi = 1 .. لذلك فكلفته عالية ..

- المتعدد الأدوار : يقوم على تنفيذ التعليمة وفق عدة أدوار ساعة، ولكن كلفته أخفض من الوحيد الدور لتشارك الموارد.

- المتوارد : يقوم على تنفيذ التعليمات وفق عدة أدوار ساعة .. لكن لا يوجد أي دور راحة ما بين تنفيذ التعليمات .. فبمجرد انتهاء مرحلة لتعليمة ما يتم مباشرة الانتقال لتنفيذ مرحلة التعليمة التالية.

 

ســ5ــ : ما هي أعطال التوارد وما حلولها ؟؟

جــ5ــ : أعطال التوارد هي ثلاثة :

1) الأعطال البنيوية : وهي ناتجة عن التنازع على الموارد

تحل إما بالفقاعات BUBBLES أو الفصل ما بين السجلات والذواكر

2) الأعطال البينية : وهي ناتجة عن الترابطات

تحل إما بالفقاعات أو التخطي / الإحالة

3) الأعطال التحكمية : وهي ناتجة عن تعليمات القفز والتفريع

تحل إما بالتأخير ( الفقاعات ) أو التنبؤ أو إضافة موارد ( ALU ) أو القفز المؤجل وغير المؤجل

 

ســ6ــ : ما المقصود بالتوارد الديناميكي ؟؟

جــ6ــ : إن للتوارد الديناميكي مفهوم مختلف عن التوارد التقليدي، يقوم هذا النوع من التوارد على تنفيذ كل نوع من التعليمات دفعة واحدة، وذلك لعدم ضياع الوقت في الانتظار بينما تكون التعليمة على أهب الاستعداد للتنفيذ، حيث يوضع وحدة حساب ومنطق لكل نوع من التعليمات ( تخزين - تحميل - جمع فاصلة عائمة .. ).

 

ســ7ــ : ما المقصود بالتوارد الفائق ؟؟

جــ7ــ : هي تقوم على تقسيم دور الساعة الواحد إلى دوري ساعة .. وبذلك يصبح عدد المراحل التي تمر بها التعليمة هي الضعف .. فمن أجل تعليمة تمر بخمس مراحل تصبح عدد مراحلها في التوارد الفائق ( 10 ) مراحل.

 

ســ8ــ : ما هي مشكلة التوارد الفائق ؟؟

جــ8ــ : في حال ورود تعليمة قفز .. فإنه يتم ضياع عدد أكبر من أدوار الساعة في حال القفز بسبب تقسيم دور الساعة إلى دورين.

 

ســ9ــ : ما الفرق ما بين التوارد التقليدي والتوارد الفائق ؟؟

جــ9ــ : يكمن الفرق في أن التوارد التقليدي ينفذ التعليمات وفق قناة توارد واحدة فقط .. بينما في التوارد الفائق فإنه يتم عدة قنوات توارد ( قناة توارد مضاعفة ).

 

ســ10ــ : ما الفرق ما بين التوارد الديناميكي والتوارد الفائق ؟؟

جــ10ــ : الفرق ما بينهما يكمن أن التوارد الفائق يعمل ضمن عدة قنوات للتوارد، بينما التوارد الديناميكي يعمل وفق عدة وحدات للحساب والمنطق ALU.

 

ســ11ــ : ما هي تقنية الإصدار المتعدد ؟؟

جــ11ــ : ظهرت نتيجة التوارد السلمي الفائق، حيث لدينا عدة قنوات للتوارد، حيث يتم جلب التعليمات في كل قناة توارد وإصدارها معاً لكي يتم تنفيذ أكثر من تعليمة معاً.

 

ســ12ــ : صح أم خطأ : إصدار التعليمة تعني جلبها مباشرة من الذاكرة ؟؟

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

 

ســ13ــ : ما هي أنماط التنفيذ في الإصدار المتعدد ؟؟

جــ13ــ : هي ثلاثة أنماط لا رابع لها :

1) الإصدار المرتب / الإنجاز المرتب

وهي تنفيذ التعليمات وكتابة نتائجها بشكل مرتب حسب ترتيب المبرمج، ولا يتم كتابة نتائج تعليمة إلا بانتهاء تنفيذ جميع التعليمات السابقة وكتابتها.

2) الإصدار المرتب / الإنجاز الغير مرتب

وهي تنفيذ التعليمات بشكل مرتب حسب ترتيب المبرمج، لكن تتم كتابة النتائج مباشرة بعد انتهاء تنفيذ التعليمة "حتى" لو لم تنته جميع التعليمات السابقة بعد من التنفيذ والكتابة.

3) الإصدار الغير مرتب / الإنجاز الغير مرتب

وهي تنفيذ التعليمات بشكل عشوائي "غير مرتب حسب المبرمج" وتكتب النتائج فور انتهاء تنفيذ التعليمة.

 

ســ14ــ : متى تحدث الترابطات RAW و WAW ؟؟

جــ14ــ :

RAW : وهي ترابط القراءة بعد الكتابة وتحدث في الإصدار غير المرتب / الإنجاز غير المرتب حيث تنتج عن قراءة سجل ما وهو ما زال طور الكتابة ولم تتم تنفيذ تعليمة الكتابة بعد.

WAW : وهي ترابط الكتابة بعد الكتابة وتحدث في الإصدار المرتب / الإنجاز غير المرتب حيث تنتج عن تعديل قيمة سجل ما ما زال قيد الكتابة من قبل تعليمة أخرى ولم يتم إكمال عملية الكتابة عليها.

 

ســ15ــ : ما هي التقنيات المستخدمة لتخفيف ترابطات RAW & WAW ؟؟

جــ15ــ :

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

2) فك الحلقات

 

ســ16ــ : صح أم خطأ : قنوات التوارد PowerPC استخدمت في معالجات "Intel - Pentium" ؟؟

جــ16ــ : خطأً .. بل استخدمت في معالجات "Motorolla - Macintosh".

 

ســ17ــ : ما هي تقنية التوازي الصريح ؟؟

جــ17ــ : ظهرت هذه التقنية إثر فكرة أن يتم تنفيذ التعليمات بشكل متوازي ومباشر، وبذلك يتم تقليل زمن التنفيذ "cpi" إلى النصف من أجل قناتين متوازيتين، لتنفيذ هذه التقنية يجب ترتيب التعليمات بحيث يتم تنفيذ كل تعليمتين معاً دون أن يكون هناك أي ترابط فيما بينها .. وهذا لم يعد من مهام العتاد وإنما المترجم ( compiler ) وبذلك تعتمد هذه التقنية على القسم البرمجي.

 

ســ18ــ : صح أم خطأ : إن ترتيب التعليمات يتم قبل تنفيذها وفق التوازي الصريح.

جــ18ــ : صحيح

 

ســ19ــ : ما الذي ميز طريقة التوازي الصريح عن غيرها ؟؟

جــ19ــ :

1) العتاد أبسط : لأن الترتيب يتم عن طريق برمجي وليس عتادي.

2) كتلة التحكم بسيطة التعقيد : حيث لم تعد وحدة التحكم تلزم ذلك التعقيد .. فمهمتها تقتصر على التحكم بالعمليات المطلوب تنفيذها في كل دور ساعة.

3) مترجمات أعقد : حيث يجب أن يكون المترجم قادراً على ترتيب التعليمات بحيث يستطيع المعالج تنفيذ التعليمات دون حدوث ترابط بيني أو بنيوي وقادراً على إعادة ترتيب التعليمات عند إنهاء تنفيذها.

 

ســ20ــ : ما هو VLIW ؟؟

جــ20ــ : VLIW : VERY LONG INSTRUCTION WORD

تعني أن طول التعليمة يكون أطول من طول الكلمة الواحدة، لذلك فإنه يتم تخزين التعليمة في أكثر من كلمة ( 128 - 256 ) بت وهي تحتوي فعلاً على أكثر من تعليمة واحدة يتم إرسالها معاً من أجل تنفيذها على التوازي.

 

ســ21ــ : ماذا نعني بافتراض القفز ؟؟

جــ21ــ : في حال وجود تعليمة قفز بين التعليمات التي سيتم تنفيذها، فإنه يتم تنفيذ كلاً من الحالتين إن تم القفز ولم يتم، بحيث يكون المعالج جاهزاً للوقوع في حالة القفز أم الاستمرار وبذلك لا يتم ضياع أدوار ساعة.

 

ســ22ــ : ما هو التحميل الاستباقي ؟؟

جــ22ــ : هو تنفيذ تعليمات التحميل من الذاكرة أولاً، بحيث إذا وجد في إجرائية أو مجموعة من التعليمات تعليمة تقوم بالتحميل من الذاكرة فإنه يتم تنفيذها أولاً من ثم وضع إشارة SPECULATIVE CHECK دلالة على تنفيذ هذه التعليمة.

 

ســ23ــ : ما هي رزمة التعليمات INSTRUCTION BUNDLE ؟؟

جــ23ــ : هي مجموعة من التعليمات ( 3 تعليمات ) ترمز في هذه الرزمة، طولها 128 بت، تسع لثلاث تعليمات طولها 41 بت، والبتات الباقية تكون للقالب TEMPLATE.

 

ســ24ــ : ما هو القالب TEMPLATE ؟؟

جــ24ــ : هي دلالة على عدد التعليمات الفعلي في الرزمة، حيث أن الرزمة تتسع لثلاث تعليمات لكنها ليس من اللازم أن تحوي ذلك العدد، فمثلاً الترميز ( 011 ) يدل على أنها تحوي تعليمتين من أصل ثلاثة تعليمات.

 

ســ25ــ : كيف ترمز التعليمة في الرزمة BUNDLE ؟؟

جــ25ــ : حجم التعليمة 41 بت تقسم إلى :

-- ( 4 ) بتات من أجل MAJOR OPCODE وهي تشير للتعليمة المنفذة.

-- ( 6 ) بتات من أجل سجل الافتراض الذي هو من أجل افتراض القفز.

-- ( 7 ) بتات من أجل كل معامل من معاملات التعليمة ( حيث يوجد 3 معاملات ).

-- ( 10 ) بتات من أجل ترميزات ومعاملات أخرى.

 

ســ26ــ : ما هي ميزة تقنية نوافذ السجلات ؟؟

جــ26ــ : ميزتها تكمن في استخدام السجلات مما يعطي سرعة نفاذ أكبر من النفاذ إلى الذاكرة الرئيسية، بحيث يتم استخدام المعاملات المتشاركة ما بين الإجرائيات المنفذة.

 

ســ27ــ : ما هي قيود تقنية نوافذ السجلات ؟؟

جــ27ــ : أن المعالج مهما كان فهو يحوي عدداً محدوداً من السجلات.

 

 


 

 

© شبكة قطرة 2007 - 2008 ~ جميع الحقوق محفوظة