hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
معالجة تفرعية أمثلة عن المعالجات المتزامنة
المعالجات ثنائية النواة(بالإنجليزية: Dual Core)‏: وهو عبارة عن مصطلح يشير إلى شرائح الدارات المتكاملة (بالإنجليزية: IC)‏ التي تحتوي في داخلها على معالجين (نواتين) فيزيائيين كاملين يتوضعان على شريحة سيليكونية واحدة، أو على عدة شرائح سليكونية داخل ال (بالإنجليزية: ICE PACKAGE)‏.
كل نواة فيزيائية تملك مصادرها الخاصة من مسجلات ووحدات تنفيذ..الخ
في المعالج ذو النوى المتعددة، التي تتوضع على نفس الشريحة السليكونية، من ممكن لهذه النوى أن تشترك أو أن لا تشترك بالخابية (Cache).
المعالجات ثنائية النواة يمكن أن تصنع بأحد الأشكال التالية:
ونلاحظ أن المعالجات ثنائية النواة لا تستخدم الممر الأمامي (بالإنجليزية: FSB)‏ لتتصل مع بعضها البعض، بل تستخدم الممر الأمامي فقط لتتصل مع النظام الخارجي.
معالجة تفرعية أمثلة عن المعالجات المتزامنة
المعالجة باستخدام تقنية النياسب المتعددة (بالإنجليزية: HYPER-THREADING TECHNOLOGY)‏: طورت شركة إنتل تقنية (بالإنجليزية: HT)‏ وزودت معالجاتها بها، بحيث يصبح بمقدور المعالج وحيد النواة أن ينفذ نيسبين، بشكل متوازي (في نفس الوقت) بدلا من طريقة تبديل السياق بين النياسب(بالإنجليزية: context switching)‏. فجدولة النياسب على نفس النواة الفيزيائية يسمح باستخدام أفضل لمصادر المعالج. يمكن أن نجد أن تقنية ال (بالإنجليزية: HT)‏ في معالجات إنتل (بالإنجليزية: XEON)‏ وبعض معالجات بنتيوم فور (بالإنجليزية: PENTIUM 4)‏.
أضافت هذه التقنية إلى المعالج الفيزيائي الوحيد، دارات وبرمجيات، تمكنه ليبدو وكأنه معالجين منفصلين (كل معالج من هذين المعالجين هو معالج منطقي وليس فيزيائي).
معالجة تفرعية أمثلة عن المعالجات المتزامنة
لكل من هذين المعالجين تحكم مقاطعة مبرمج خاص به (بالإنجليزية: Advanced Programmble Interrpt Controllers AIPC)‏ والذي يسمح بإدارة مقاطعات المعالِجات، وتقسيم المقاطعات بين المعالِجات (سواء كانت المقاطعات دينامكية أو ستاتيكية) بشكل منسجم.
الموارد المشتركة في هذه الحالة بين المعالِجات تشمل الكاش والمسجلات ووحدات التنفيذ (بالإنجليزية: Ececution Unites)‏
المعالجات المزودة بتقنية (بالإنجليزية: HT)‏ تحتاج إلى: أنظمة تشغيل تدعم (بالإنجليزية: HT)‏ وبيوس يدعم تقنية (بالإنجليزية: HT)‏.
من الملاحظ أنه يمكننا أن نجد معالج ثنائي النواة، كل نواة تحتوي على تقنية ال (بالإنجليزية: HT)‏ وبذلك المعالج يصبح المرء قادرًا على تشغيل أربع برامج (أو نياسب threads) في نفس الوقت.
التكلفة والأداء: كما أسلفنا بالذكر فإن المعالجات المزودة بتقنية ال (بالإنجليزية: HT)‏ تظهر لنظام التشغيل وكأنها معالجان منطقيان. ولكن من غير المتوقع أن تعمل بكفاءة معالجين فيزيائيين حقيقيين. فمعالجات (بالإنجليزية: HT)‏ تعمل بكفاءة أداء أعلى بحوالي 1.3 - 1.5 مرة من المعالجات التقليدية التي لا تحتوي هذه التقنية. وبذلك نكون قد رفعنا الأداء بحوالي 18 % إلى 30 % في بيئة المعالجات المتعددة المهام (بالإنجليزية: Multi-Tasking)‏ بمساحة أقل من 5 % من مساحة الشريحة السليكونية تأخذها دارات تقنية (بالإنجليزية: HT)‏.
في المعالجات الثنائية نلاحظ ارتفاع الأداء عن المعالجات وحيدة النواة بحوالي 10 % بالنسبة للتطبيقات وحيدة الخيط، وبحوالي 40 % - 80 % للتطبيقات المتعددة الخيوط.
أدوبي أكروبات
أدوب أكروبات (بالإنجليزية: Adobe Acrobat) هي عائلة برمجيات من شركة أدوبي سيستمز التي تستخدم في قراءة الملفات من صيغة المستندات المحمولة (بي دي إف). تختلف البرامج المنتمية لهذه العائلة بين المجانية والتجارية. برنامج أدوب ريدر (يطلق عليه أحيانًا أدوب أكروبات) متاح على موقع شركة أدوب للتحميل المجاني ويمكن للبرنامج عرض وطباعة الملفات بصيغة (بي دي إف). بدأ البرنامج في التسعينيات الميلادية عن طريق عدد من المستخدمين.
يحتوى ملف البي دي إف على كتابة بدعم لكل اللغات وصور، ووصلات انترنيت للقراءة بالأساس لكن يمكن نسخ هذه المحتويات عند الحاجة لها إذا سمح منشئ الملف بذلك كما يوجد برامج جاهزة تقوم بتحويل الملف إلى ملف مايكروسوفت وورد للتعامل بسهولة أكثر.
أدوبي أكروبات إصدارات أكروبات
في 15 يونيو عام 1993 أصدر أكروبات 1.0 لأجهزة الماكنتوش، ثم لاحقآ صدرت نسخ تعمل على نظام دوس DOS وويندوز 3.1 Windows ، لم يكن متوفرآ كنسخة منفردة أو مجانية، بيع مع أكروبات ريدر بسعر 50 دولار لكل مستخدم، بعد مدة اشترت دائرة الإيرادات الداخلية للولايات المتحدة الحق في توزيع برنامج ريدر 1.0 ، مما جعل الذين يحصلون عليه بهذه الطريقة يعتقدون بأنه برنامج مجاني .
أدوب أكروبات 1.0 تضمن:
أصدر أكروبات 2.0 في سبتمبر عام 1994 لأنظمة التشغيل ويندوز وماكنتوش، وتضمن :
أصدر أدوب اكروبات بروفيشنال 2.0 Acrobat Professional الذي تضمن أكروبات إكستشانج مع تطبيق ديزتلر .
أصدرت أدوب أول أدوت تطوير برمجية Plug-ins SDK تسمح للمطورين بإنشاء مكونات لتطبيق أكروبات إكستشانج
تصميم وحدة المعالجة المركزية Processing Unit وحدة المعالجة المركزية
أن أهم المكونات الرئيسية لأي حاسب هي وحدة المعالجة المركزية CPU والوظيفة الرئيسية لها تكمن في تنفيذ مجموعة التعليمات المخزنة في ذاكرة الحاسب.
أساسيات وحدة المعالجة المركزية CPU BASICS
تتألف وحدة المعالجة المركزية من ثلاث مكونات رئيسية هي:
1- تختلف مجموعة المسجلات من حاسب حاسب لاخر وذلك حسب بنيته. حيث تضم مجموعة مسجلات الأغراض العامة ومجموعة مسجلات الأغراض الخاصة.وتستخدم مجموعة مسجلات الأغراض العامة لأي غرض ما بينما مجموعة مسجلات الأغراض الخاصة يكون لها وظيفة محددة.على سبيل المثال عداد البرنامج PC هو مسجل أغراض خاصة يستخدم من أجل الأحتفاظ بعنوان التعليمة التي سيتم تنفيذها لاحقا بينما المسجل IR يحتفظ بالتعليمة الحالية التي يتم تنفيذها حالياً.
2- وحدة الحساب والمنطق ALU تزود الدارات اللازمة من أجل تنفيذ العمليات الحسابية والمنطقية وعمليات الإزاحة الموجودة في مجموعة التعليمات
3- وحدة التحكم CU مسؤولة عن جلب التعليمة من الذاكرة الرئيسية وفك شفرتها وتنفيذها.
الشكل 5.1 يبين المكونات الرئيسية لوحدة المعالجة المركزية CPU والعلاقة بين نظام الذاكرة وأجهزة الدخل والخرج I/O.
تصميم وحدة المعالجة المركزية Processing Unit وحدة المعالجة المركزية
تقوم وحدة المعالجة المركزية بجلب التعليمات من الذاكرة وقراءة التعليمات من الذاكرة وكتابتها فيها ونقل البيانات من وإلى أجهزة الدخل والخرج. يمكن تنفيذ دورة التعليمة بشكل مبسط ومثالي كما يلي:
تتكرر دورة تنفيذ التعليمة طالما توجد تعليمات يجب تنفيذها وإن عملية أختبار المقاطعة تكون عادة ضمن دورة تنفيذ التعليمة، ومثال على ذلك طلبات أجهزة الدخل والخرج والطفحان الرياضي وخطأ الصفحة.
عندما يتم مصادفة طلب المقاطعة فإنه يتم الانتقال إلى روتين خدمة المقاطعة وهو عبارة عن برنامج يستدعى لجمع الحالات حول البرنامج الجاري تنفيذه
تصميم وحدة المعالجة المركزية Processing Unit وحدة المعالجة المركزية
إن الأعمال التي تقوم بها وحدة المعالجة المركزية عند تنفيذها لدورة الأمر تعرف باسم العمليات الميكروية وهذه العمليات مصدرها لوحة التحكم CU.
هذه العمليات الميكروية توزع إشارات التحكم على خطوط تحكم محددة. على سبيل المثال دعنا نفترض أننا نريد تنفيذ الأمر الذي يقوم بنقل محتويات السجل X إلى السجل Y ولنفرض أيضاً ان كلا المسحلين متصلين مع data path(ممر البيانات) عندها سترسل وحدة التحكم إشارات تحكم (control signals) لأخبار المسجل X بوضع محتوياته على ممر البيانات (Data path) وبعد فترة تأخير معينة فإن إشارة تحكم أخرى سوف ترسل لأخبار السجل Y بالقراءة من ممر البيانات data path.
تفعيل إشارات التحكم يحدد إما باستخدام البرمجة الميكروية microprogramming أو باستخدام hardwired control.وهذه الأفكار سوف نتطرق لشرحها لاحقاً إن شاء الله، وسنشرح أيضاً مجموعة المسجلات ووظائفها المختلفة وما المقصود من ممر المعطيات وممر التحكم ودورة تنفيذ الأمر من خلال وحدة المعالجة المركزية CPU وأخيرًا سوف نشرح
تصميم وحدة المعالجة المركزية وحدة التحكم CU
المسجلات عبارة عن مواقع ذاكرية سريعة جداً ضمن وحدة المعالجة المركزية تستعمل لتوليد وتخزين نتائج عمليات وحدة المعالجة المركزية والحسابات الأخرى.
تختلف الحواسيب عن بعضها بالمسجلات من حيث عدد المسجلات وأنواعها وطول كل مسجل وتختلف أيضاً في استعمال كل مسجل.
-مسجلات الأغراض العامة : تستخدم لأغراض خاصة متعددة ويتم تخصيصها لوظائف مختلفة من قبل المبرمج.
- مسجلات الأغراض الخاصة : وهذه المسجلات مخصصة لوظائف محددة، في بعض الحالات بعض المسجلات تستخدم فقط من أجل حفظ المعلومات، وكلما كان طول المسجل أكبر كلما كان ذلك أفضل
- مسجلات العنونة : يمكن استخدامها لنمط عنونة معين أو يمنك استخدامها لعنونة عامة الأغراض.
والجدير بالذكر عدد المسجلات في بنية ما يؤثر على تصميم مجموعة التعليمات فعندما يكون عدد المسجلات قليل سيؤدي ذلك إلى زيادة الإشارات المرسلة إلى الذاكرة، حيث تستخدم بعض المسجلات لحفظ بتات حالة المعالجة أو الأعلام، هذه البتات ترسل من ال CPU كنتيجة لتنفيذ تعليمة ما. بتات الحالة يمكن اختبارها في فترة أطول بالمقارنة مع عمليات أخرى.
تصميم وحدة المعالجة المركزية وحدة التحكم CU
هناك مسجلين أساسيين من أحل عمليات القراءة من الذاكرة والكتابة فيها هما MDR (memory data register) و MAR (memory address register).المسجلات MDR، MAR تستعمل بشكل خاص من قبل وحدة المعالجة المركزية ولا يمكن الوصول إليهما من قبل المبرمج.
أولا:	من أجل تمثيل عملية كتابة في موقع محدد في الذاكرة سوف تستخدم المسجلين MDR و MAR كما يلي:
ثانيا: تخزين الكلمة في المسحل MDR ويتم ذلك بواسطة ال CPU
ثالثا: تخزين الموقع الذي سبخزن فيه الكلمة في المسحل MAR ويتم ذلك بواسطة ال CPU أيضاً.
خامسا: تخزين الموقع الذاكري الذي سنقرأ منه المعطيات في المسجل MAR
سادسا: طلب إشارة قراءة من الذاكرة
سابعا: تخزين الكلمة المطلوبة من الذاكرة في المسجل MDR حيث تصبح جاهزة للاستخدام من قبل وحدة المعالجة المركزية CPU.
يوجد لدينا مسجلين أساسيين هما مسجل عداد البرنامج PC ومسجل الأمر IR
بعد احضار الأمر بنجاج يتم تحديث محتويات المسجل PC ليشير إلى الأمر التالي الذي سيتم تنفيذها.
تصميم وحدة المعالجة المركزية وحدة التحكم CU
المسجلات الشرطية أو الأعلام تستخدم لتحديد حالة المعلومات، بعض البنى تحتوي على مسجلات خاصة لحالة كلمة البرنامج PSW (program status word register) حيث يحتوي ال PSW على بتات يتم وضعها من قبلالة المعالج
تستخدم مسجلات الأغراض العامة لأغراض خاصة متعددة ويتم تخصيصها لوظائف مختلفة من قبل المبرمج.
في العنونة المفهرسة العنوان لمتحول ما يتم الحصول عليه بإضافة ثابت ما لمحتويات مسجل المفهرسة، حيث يحتفظ مسجل الفهرسة بعنوان الإزاحة.
العنونة المفهرسة يشار إليها في التعليمة من خلال وضع مسجل الفهرسة ما بين اقواس هلالية واستخدام الرمز x للإشارة إلى الثابت الذي ستم اضافته.
عندما يتم طلب عنوان من المعالج ينبغي أن يتألف من رقم المقطع (القاعدة (ومن الإزاحة. مسجل المقطع يحتفظ بعنوان القاعدة (الأساس (لهذا المقطع
المكدس هومنطقة تخزين للمعطيات بحيث أن المعطيات التي توضع أخيراً فيها يتم إخراجها أولا، وهناك عمليتين يمكن تمثيلهما في المكدس PUSH، POP ويوجد مسجل خاص يسمى SP يستخدم لتحديد موقع المكدس الذي يمكن عنونته.
في عملية PUSH قيمة SP تستخدم للإشارة إلى الموقع (قمة المكدس) حيث أنه بعد دفع قيمة إلى المكدس فإن قيمة SP سوف تزداد. وتتناقص قيمة SP أثناء نمو المكدس
تصميم وحدة المعالجة المركزية ممر المعطيات DATAPATH
يمكن تقسيم وحدة المعالجة المركزية إلى قسمين: قسم المعطيات وقسم التحكم
نقل البيانات الداخلي يتم تمثيله بالممر المحلي والذي يحمل المعلومات والتعليمات والعناوين.
خارجياً يتم نقل المعطيات من المسجلات إلى الذاكرة وأجهزة الدخل والخرج I/O بواسطة ممر النظام
نقل البيانات الداخلي بين المسجلات وبين ال ALU والمسجلات يمكن أن يستخدم عدة بنى مختلفة تتضمن:
بنية بممر واحد – ممرين - ثلاث ممرات
و إن تخصيص ممر المعطيات يستخدم أيضاً بين المكونات التي يتم نقل البيانات من خلالها فعلى سبيل المثال يتم نقل محتويات المسجل PC إلى المسجل MAR من أجل جلب تعليمة جديدة في بداية كل دورة تعليمة.لذلك يكون تخصيص ممر المعطيات من المسجل PC إلى المسجل MAR مفيدا في سرعة تنفيذ هذه التعليمة.
تصميم وحدة المعالجة المركزية ممر المعطيات DATAPATH
عند استخدام ممر واحد فإن مسجلات وحدة المعالجة المركزية CPU ووحدة الحساب والمنطق ALU سوف تستخدم ممر وحيد لنقل البيانات الداخلة والناتجة. في هذه الحالة الممر يقوم بعملية واحدة لنقل البيانات في دورة ساعة واحدة ونتيجة لذلك العمليات بمتحولين سوف تحتاج إلى دورتي ساعة لجلب المتحولات إلى ال ALU كما أن المسجلات تكون بحاجة إلى BUFFER من أجل وحدة الحساب والمنطق ALU.
بنية ها الممر تكون أبسط واقل تكلفة لكنها محدودة في كمية البيانات المنقولة في نفس دورة الساعة وبالتالي فهي تبطئ من سرعة الأداء.
الشكل 5.3 يبين ممر معطيات واحد يتألف من مجموعة مسجلات الأغراض العامة ومن المسجل MDR والمسجل MAR والمسجل IR والمسجل PC ومن وحدة الحساب والمنطق ALU
تصميم وحدة المعالجة المركزية ممر المعطيات DATAPATH
إن استخدام بنية بممرين هو حل أسرع من استخدام بنية بممر واحد وفي هذه الحالة تكون من مسجلات الأغراض العامة متصلة مع كلا الممرين والبيانات يمكن أن تنتقل في نفس الوقت بين مسجلين مختلفين إلى دخل وحدة الحساب
والمنطق لذلك يمكن جلب متحولي العملية في نفس نبضة الساعة..بالإضافة إلى ذلك فإن المسجلات تحتاج إلى
BUFFER لحفظ خرج ال ALU عندما تكون وحدة المعالجة المركزية مشغولة في تحميل المتحولين
الشكل 5.4a يبين بنية بممرين.
في بعض الحالات يكون أحد الممرات مخصص لنقل البيانات إلى المسجلات (ممر دخل)، بينما الممر الآخر مخصص من أجل نقل البيانات الناتجة من المسجلات (ممر خرج).في هذه الحالة نحن نحتاج أيضاً على BUFFER للمسجل لكل مداخل وحدة الحساب والمنطق من أجل حفظ أحد المتحولات.
خرج ال ALU يمكن أن يتصل بشكل مباشر إلى ممر الدخل والذي سوف ينقل النتائج إلى أحد المسجلات والشكل 5.4b يبين بنية بممرين (ممر دخل وممر خرج)
في البنية ذات الثلاث ممرات فإن يتم استخدام ممرين كمصدر بينما الممر الثالث يستخدم كمستقر، ممرات المصدر تنقل البيانات من خرج المسجلات (ممر خرج)، وممر المستقر ينقل البيانات إلى دخل المسجلات (ممر دخل)، كل من ممري الخرج متصل مع وحدة الحساب والمنطق بينما خرج وحدة الحساب والمنطق متصل مباشرة مع ممر الدخل
كما هو متوقع فإن زيادة عدد الممرات سيؤدي إلى زيادة كمية البيانات التي ستم نقلها في نفس دورة الساعة الواحدة
على كل حال عند زيادة عدد الممرات سيؤدي أيضاً إلى زيادة تعقيد البنية.
الشكل 5.5 يبين مثال على نظام بثلاث ممرات للمعطيات.
تصميم وحدة المعالجة المركزية دورة التعليمة في وحدة المعالجة المركزية CPU INSTRUCTION CYCLE
إن سلسلة التعليمات المنجزة بواسطة وحدة المعالجة المركزية خلال تنفيذها لتعليمة ما مبينة في الشكل 5.6 وطبعاً يتم جلب التعليمات من الذاكرة الرئيسية طالما توجد هناك تعليمات يجب تنفيذها.
و إن تنفيذ التعليمة يعتمد على متغيرات محددة في حقل شيفرة التعليمة وبعد إتمام تنفيذ التعليمة يتم إجراء اختبار لمعرفة حدوث طلب للمقاطعة أم لا، لأن روتين خدمة المقاطعة يتطلب استدعاءه في حالة المقاطعة.
العملية الأساسية خلال جلب التعليمة – تنفيذ التعليمة - خدمة المقاطعة معرفة كسلسلة من العمليات الميكروية ولا بد من تفعيل مجموعة من إشارات التحكم لبدء تنفيذ العمليات الميكروية
سنتعرف فيما بعد على عمليات ميكروية لتنفيذ جلب التعليمة - تنفيذ تعليمة حسابية بسيطة – خدمة المقاطعة.
يمكن تلخيص سلسلة الأحداث في عملية جلب التعليمة في الخطوات التالية:
عند استخدامنا لنظام بممر معطيات واحد كما هو مبين في الشكل 5.3 فإن عملية جلب التعليمة يمكن إنجازها بثلاث خطوات كما هو مبين في الجدول التالي علماً أن t0 < t1 < t2
تصميم وحدة المعالجة المركزية دورة التعليمة في وحدة المعالجة المركزية CPU INSTRUCTION CYCLE
أما عند استخدامنا لثلاث ممرات معطيات المبين في الشكل 5.5 فإن خطوات إنجاز جلب التعليمة يمكن إنجازها كما في الجدول التالي:
هذه العملية تقوم بجمع محتويات مسجلي المصدر R1، R2 وتخزن النتيجة في مسجل المستقر، يمكن تنفيذ عملية الجمع هذه كما يلي:
-عند استخدام ممر معطيات واحد كما هو مبين في الشكل 5.3 فإن عملية الجمع هذه سوف تحتاج
إلى ثلاث خطوات كما هو مبين في الجدول التالي: حيث t0 < t1 < t2
-عند استخدام ممرين للمعطيات كما هو مبين في الشكل 5.4a فإن هذه العملية تحتاج إلى خطوتين كما هو مبين في الجدول التالي: حيث t0 < t1
-عند استخدام ممرين للمعطيات كما هو مبين في الشكل 5.4b فإن هذه العملية تحتاج إلى خطوتين كما هو مبين في الجدول التالي: حيث t0 < t1
-عند استخدام ثلاث ممرات معطيات كما هو مبين في الشكل 5.5 فإن عملية الجمع سوف تحتاج إلى خطوة واحدة كما يلي:
هذه العملية تجمع محتويات موقع الذاكرة X مع محتويات المسجل R0 وتخزن النتيجة في المسجل R0 يمكن تنفيذ هذه العملية وفق الخطوات التالية:
تصميم وحدة المعالجة المركزية دورة التعليمة في وحدة المعالجة المركزية CPU INSTRUCTION CYCLE
-عنداستخدام ممر معطيات كماهو مبين في الشكل 5.3 فإن عملية الجمع سوف تحتاج
إلى خمس خطوات كما هو مبين في الجدول التالي: حيث t0< t1< t2 < t3 < t4
-عند استخدام ممرين للمعطيات كما هو مبين في الشكل 5.4 a فإن عملية الجمع تتم في أربع خطوات كما هو مبين في الجدول التالي: : حيث t0< t1< t2 < t3
-عند استخدام ممرين للمعطيات كما هو مبين في الشكل 5.4b فإن عملية الجمع تتم في أربع خطوات كما هو مبين في الجدول التالي: : حيث t0< t1< t2 < t3
-عند استخدام ثلاث ممرات للمعطيات كما هو مبين في الشكل 5.5 فإن عملية الجمع تحتاج إلى ثلاث خطوات كما هو مبين في الجدول التالي: حيث t0< t1< t2
بعد تنفيذ التعليمة فإنه يتم إجراء اختبار لطلب المقاطعة، فإذا وجد طلب للمقاطعة فإنه يتم إجراء الخطوات التالية:
1- تخزين محتويات المسجل PC في المسجل MDR (من أجل حفظها).
2- تحميل المسجل MAR بالعنوان الموجود في محتويات المسجل PC.(يتم حفظها).
3- تحميل المسجل PC بعنوان أول تعليمة من روتين خدمة المقاطعة.
4-تخزين محتويات المسجل MDR (قيم المسجل PC القديمة) في الذاكرة.
يبين الجدول التالي تسلسل العمليات السابقة. حيث t1< t2 < t3
تصميم وحدة المعالجة المركزية وحدة التحكم CONTROL UNIT
تعتبر وحدة التحكم المكون الذي ينظم عمليات النظام من خلال إرسال إشارات التحكم إلى ممر المعطيات، هذه الإشارات تتحكم بتدفق البيانات خلال ال CPU وبين ال CPU والوحدات الخارجية مثل I/O.
ممرات التحكم بشكل عام تنقل الإشارات بين وحدة التحكم ومكونات الحاسب الأخرى في فترات ساعة منظمة.إن نظام الساعة يولد سلسلة مستمرة من النبضات خلال زمن محدد وتردد معين.
تستعمل سلسلة الخطوات t0,t1,t2,.... لتنفيذ تعليمة محددة حيث أن ......... t0<t1<t2
في جلب التعليمة يتم فك تشفير حقل الشيفرة لتزويد إشارات التحكم اللازمة، حيث تنتج معلومات حول التعليمة التي سيتم تنفيذها، وهذه المعلومات يتم توليدها عن طريق دارة منطقية تستخدم مع مداخل أخرى لتوليد إشارات التحكم.توليد الإشارات يمكن تحديده ببساطة عن طريق مجموعة من المعادلات المنطقية تربط بين الدخل والخرج.يبين الشكل 5.7 مخطط صندوقي لتوضيح استخدام التوقيت في توليد إشارات التحكم.
تصميم وحدة المعالجة المركزية وحدة التحكم CONTROL UNIT
يوجد نوعين من مختلفين من وحدات التحكم هما: البرمجة الميكروية - البنية الصلبة
في تقنية البرمجة الميكروية تكون إشارات التحكم مرتبطة بعمليات مخزنة في وحدات ذاكرة خاصة لا للمبرمج الوصول إليها كما هو الحال في كلمات التحكم.
كلمة التحكم هي تعليمة ميكروية تحدد عملية ميكروية أو أكثر، وتسمى سلسلة التعليمات الميكروية بالبرنامج الميكروي والذي يتم تخزينه في الROM أو RAM والتي تسمى ذاكرة التحكم CM.
في تقنية البنية الصلبة يتم تثبيت دارة منطقية والتي تتعامل بشكل مباشر مع العلاقات البوليانية المستخدمة لتوليد إشارات التحكم.وتجدر الإشارة أن تقنية البنية الصلبة تتميز بأنها أسرع من البرمجة الميكروية ورغم ذلك إلا أن البنية الصلبة بكلفتها العالية وتعيدها من أجل الأنظمة المعقدة. لكنها تعتبر تجارية من أجل وحدات التحكم الصغيرة.
بينما البرمجة الميكروية تكون أكثر سهولة للتحديث في حال تغيير بنية النظام، حيث يمكننا إضافة تعليمات جديدة بدون تغيير البنية الصلبة أما في حالة لبرمجة الميكروية فإن ذلك يتطلب إعادة تصميم الأنظمة الداخلية.من أجل أي تغيير في النظام
تصميم وحدة المعالجة المركزية وحدة التحكم CONTROL UNIT
دعنا نعود لتعليمة الجمع التي تقوم بجمع محتويات مسجلات المصدر R1، R2 مع وتخزن النتائج في مسجل المستقر R0 وقد أشرنا سابقاً إلى أن هذه التعليمة يمكن إنجازها بخطوة واحدة باستخدام ثلاث ممرات معطيات المبين في الشكل 5.5 الآن سنقوم بفحص تسلسل التحكم المطلوب لإنجاز هذا الجمع خلال الخطوة t0.
لنفرض انه تم فك تشفير حقل الشيفرة لهذه التعليمة إلى النوع inst-x، في البداية نحن بحاجة لاختيار مسجلات المصدر ومسجلات المستقر بعدها نختار عملية الجمع من ال ALU وا لجدول التالي خطوة وتسلسل التجكم.
الشكل 5.8 يبين الإشارات المولدة لتنفيذ التعليمة inst-x خلال الفترة t0. البوابة AND تؤكد ان هذه الإشارات سوف يتم طلبها عندما يتم فك تشفير حقل الشيفرة إلى inst-x خلال الفترة t0
الإشارات (1R1 out-bus)،(2R2 out-bus)، (R0 in-bus) و Add سوف تختار على التوالي R1 كمصدر ل out-bus 1 و R2 كمصدر ل out-bus 2 و R0 كمنستقر ل in-bus وسف تختار عملية الجمع من ال ALU.
تصميم وحدة المعالجة المركزية وحدة التحكم CONTROL UNIT
لنكرر العملية السابقة بطريقة مختلفة وذلك باستخدام ممر معطيات واحد المبين في الشكل 5.3 وقد أشرنا سابقاً أن هذه التعليمة تحتاج إلى ثلاث خطوات. على فرض انه تم فك تشفير حقل الشيفرة للتعليمة الحالية إلى النوع inst-x
يبين الجدول التالي خطوات وتسلسل التحكم المطلوب:
الشكل 5.9 يوضح الإشارات المولدة لتنفيذ inst-x خلال الفترات t0 ،t1 ،t2 البوابة AND تؤكد أن الإشارات المناسبة سوف يتم طلبها عندما يتم فك تشفير حقل الشيفرة inst-x وخلال الزمن المناسب.
خلال الفترة t0 سوف يتم طلب الإشارات R1 out و A in لنقل محتويات R1 إلى A وبشكل مشابه خلال الفترة t1 يتم طلب الإشارات R2 out و B in لنقل محتويات R2 إلى B.أخيراً الإشارة R0 in و Add سوف يتم طلبها خلال الفترة t2 لجمع محتويات A مع B ونقل النتائج إلى R0.
تصميم وحدة المعالجة المركزية Hardwired implementation
في البنية الصلبة لوحدة التحكم يتم إنجاز تنفيذ مباشر باستخدام دارات منطقية، حيث أنه من أجل كل خط تحكم فإن خط تحكم واحد سوف يجد تعبير بولياني في أمثلة الدخل لتوليد إشارة التحكم كما هو مبين في الشكل 5.7، لنشرح هذا التنفيذ من خلال مثال بسيط. لنفرض أن مجموعة التعليمات لآلة تتألف من ثلالث تعليمات inst-y، inst-x inst-z وأن خطوط التحكم هي A، B, C, D، E ،F ،G، H
الجدول التالي يبين خطوط التحكم الواجب تفعيلها من أجل ثلالث عمليات بثلاث خطوات t0، t1، t2
العلاقات البوليانية من أجل خطوط التحكم A، B، C يمكن الحصول عليها كما يلي:
يبين الشكل 5.10 الدارة المنطقية لهذه الخطوط والتعبيرات البوليانية لبقية خطوط التحكم يمكن الحصول عليها بنفس الطريقة.
الشكل 5.11 يبين مخطط الحالة لدورة تنفيذ هذه التعليمات
تصميم وحدة المعالجة المركزية MICROPROGRAMMED CONROL UNIT
لقد تم طرح فكرة البرمجة الميكروية لوحدات التحكم من قبل العالم M.V.Wikes في بداية عام 1950 s.
وقد كانت البرمجة مثيرة من أجل الرغبة لتقليل التقييد الموجود في وحدات التحكم القائمة على البنية الصلبة،
وكما أشرنا سابقاً فإنه يتم تنفيذ التعليمة باستخدام مجموعة من العمليات الميكروية، حيث يتم ربط كل عملية ميكروية بواسطة مجموعة من خطوط التحكم والتي يجب تفعيلها لإيجاد لبعملية الميكروية المطلوبة.
الغاية من البرمجة الميكروية هي تخزين إشارات التحكم المرتبطة مع تعليمة محددة كبرنامج ميكروي في ذاكرة مخصصة تسمى ذاكرة التحكم CM. يتألف البرنامج الميكروي من سلسلة من التعليمات الميكروية.و التعليمة الميكروية هي شعاع من البتات بحيث أن كل بت يمثل إشارة تحكم، الشيفرة الشرطية، أو عنوان التعليمة الميكروية التالية.
تصميم وحدة المعالجة المركزية MICROPROGRAMMED CONROL UNIT
يتم جلب التعليمات الميكروية من ال CM وبنفس الطريقة يتم جلب البرنامج من الذاكرة الرئيسية كما
في الشكل 5.12. عندما يتم جلب تعليمة من الذاكرة سيقوم حقل الشيفرة لهذه التعليمة بتحديد البرنامج الميكروي الذي سيتم تنفيذه، وبكلمات أخرى يقوم معالج التعليمات الميكروية باستخدام هذا العنوان لجلب التعليمة الميكروية الأولى من البرنامج الميكروي، وبعد جلب كل تعليمة ميكروية يتم تفعيل خطوط التحكم المناسبة. وكل خط تحكم يوافق "1" bit ينبغي ان يتم تفعيله بينما كل خط تحكم يوافق "0" bit ينبغي عدم تفعيله. وبعد اتمام تنفيذ تعليمة ميكروية واحدة سيتم جلب تعليمة ميكروية جديدة لتنفيذها، وعندما تشير بتالت الشيفرة الشرطية إلى ضرورة تنفيذ برنامج فرعي عندها يتم تحديد التعليمة الميكروية التالية من بتات العنوان للتعليمة الحالية وإلا يتم جلب التعليمة الميكروية التالية وتنفيذها.يتم تحديد طول اللتعليمة الميكروية بالاعتماد على عدد العمليات الميكروية المحددة في التعليمات الميكروية، وعلى طريق تفسير بتات التحكم وكيفية الحصول على التعليمة الميكروية التالية.
تصميم وحدة المعالجة المركزية MICROPROGRAMMED CONROL UNIT
التعليمة الميكروية تحدد بعملية ميكروية واحدة أو أكثر من أجل تنفيذها بنفس الوقت ويزداد طول التعليمة الميكروية بزيادة عدد العمليات الميكروية التي تعمل على التوازي في نفس التعليمة الميكروية. علاوة على ذلك عندما يتم توافق بت التحكم في التعليمة الميكروية بالضبط مع خط تحكم واحد فإن طول التعليمة الميكروية سوف يصبح أكبر.
وينبغي تصغير طول التعليمة الميكروية عندما يتم تشفير خطوط التحكم في التعليمة الميكروية في حقول محددة.
و نحتاج لفاك الشيفرة من أجل تنظيم كل حقل في خطوطتحكم منفصلة. والواضح ان استخدام فاكات الشيفرة سوف يقلل عدد خطوط التحكم التي يتم تفعيلها بنفس الوقت.
كما أن هناك علاقة تبادلية بين طول التعليمة الميكروية والتنفيذ التفرعي، وانه من الضروري تصغير طول التعليمة الميكروية لتقليل الزمن المستغرق للوصول إلى ذاكرة التحكم، ومن المفضل تمثيل العمليات الميكروية بشكل تفرعي وبخطوط تحكم أكثر والتي يتم تفعيلها بنفس الوقت.
HORIZONTAL VERSUS VERTICAL MICROINSTRUCTION
تصميم وحدة المعالجة المركزية MICROPROGRAMMED CONROL UNIT
يمكن تصنيف التعليمات الميكروية بشكل أفقي أو عمودي، حيث يتم توافق بتات منفصلة في التعليمات الميكروية الأفقية مع خطوط تحكم منفصلة. التعليمات الميكروية الأفقية تكون طويلة وتسمح بتنفيذ تفرعي أكبر لأن كل بت يتحكم بخط تحكم مفرد.
في التعليمات الميكروية العمودية يتم تشفير خطوط التحكم في حقول محددة ضمن كل تعليمة ميكروية ونحتاج فاكات الشيفرة لجدولة حقل مؤلف من K بت إلى 2^K من خطوط التحكم المنفصلة. على سبيل المثال من أجل حقل تعليمة ميكروية مكونة من 3 بت سوف يتم استخدام واحد من ثمانية خطوط ممكنة.
لأن تشفير التعليمات الميكروية العمودية يكون أقصر من التعليمات الميكروية الأفقية فإن تشفير خطوط التحكم في نفس الحقل لا يمكن تفعيله بنفس الوقت، ونتيجة لذلك فإن التعليمات الميكروية العمودية تسمح فقط بتنفذ متوازي محدد. ويجب ملاحظة اننا لسنا بحاجة لفك التشفير في التعليمات الميكروية الأفقية بينما هذا الأمر ضروري في التعليمات الميكروية العمودية.
تصميم وحدة المعالجة المركزية MICROPROGRAMMED CONROL UNIT
إذا اخذنا بعين الاعتبار ثلاث ممرات معطيات المبين في الشكل 5.5 بالإضافة إلى المسجلات PC، MAR، MDR، IR ولافتراض أن هناك 16 مسجل أغراض عامة مرقمة من R0 إلى R15 ولنفرض أيضاً أن ال ALU تدعم ثمانية عمليات (add ،subtract,multiply,divide,and or ،shift left, shift right).وباعتبار أن عملية الجمع add R1، R2 ،R0 تجمع محتويات مسجلي المصدرR1، R2 وتخزن النتيجة في مسجل المستقر R0، في هذا المثال سوف نتعرف على شكل التعليمة الميكروية على أساس التنظيم الأفقي، وسوف نستخدم التعليمات الميكروية الأفقية والتي لديها بت تحكم واحد من أجل كل خط تحكم، وإن شكل التعليمة الميكروية يتضمن بتات تحكم كما يلي:
الجدول التالي يوضح عدد البتات المطلوبة من أجل ال ALU وال source1 و source 2 ال destination