تصميم وحدة المعالجة المركزيةProcessing Unit - هندسة الحاسوب Computer engineering
أهلا وسهلا بك إلى معهد توب ماكس تكنولوجي.
  1. ما شاء الله تبارك الله ( يا ربي لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك )
  2. معهد توب ماكس تكنولوجي | أعلى قمة للتكنولوجيا الحديثة في الشرق الأوسط - صرح علمي متميز
  3. طريقة تسجيل عضوية في معهد توب ماكس تكنولوجي بشكل سريع
    مع ملاحظة أن التسجيل مجاني ومفتوح طيلة أيام الأسبوع عند تسجيل العضوية تأكد من البريد الالكتروني أن يكون صحيحا لتفعيل عضويتك وأيضا أن تكتبه بحروف صغيره small و ليست كبيرة تستطيع أيضا استخدام الروابط التالي : استرجاع كلمة المرور | طلب كود تفعيل العضوية | تفعيل العضوية
  4. اشترك ألان في خدمة رسائل المعهد اليومية لتعرف كل جديد اضغط هنا للاشتراك
التفاصيل : الردود : 0 المرفقات : 0 المشاهدات: 3805 مشاهدة
مشاهدة صفحة طباعة الموضوع
أرسل هذا الموضوع إلى صديق…

المواضيع المتشابهه

  1. تسليم 2000 وحدة سكنية للنازحين دليل على ترابط القيادة مع الشعب
    بواسطة كاتب الأخبار في المنتدى المركز الاخباري
    مشاركات: 0
    آخر مشاركة: 03-09-2012, 03:10 AM
  2. وحدة المعالجة المركزية Central Processing Unit
    بواسطة سائر في ربى الزمن في المنتدى هندسة الحاسوب Computer engineering
    مشاركات: 1
    آخر مشاركة: 03-25-2010, 03:00 PM
  3. تسليم 60 وحدة سكنية لمتضرري الزلزال بكشمير
    بواسطة كاتب الأخبار في المنتدى المركز الاخباري
    مشاركات: 0
    آخر مشاركة: 07-27-2009, 02:40 AM

النتائج 1 إلى 1 من 1
  1. #1
    مشرف القسم العام
    قسم هندسة الكهرباء
    قسم هندسة الشبكات wan lan
    الصورة الرمزية سائر في ربى الزمن
    تاريخ التسجيل
    Nov 2008
    الدولة
    اليمن السعيد
    المشاركات
    5,301
    معدل تقييم المستوى
    22

    افتراضي تصميم وحدة المعالجة المركزيةProcessing Unit

    Processing Unit وحدة المعالجة المركزية


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

    أساسيات وحدة المعالجة المركزية CPU BASICS

    تتألف وحدة المعالجة المركزية من ثلاث مكونات رئيسية هي:

    مجموعة المسجلات

    وحدة الحساب والمنطق ALU

    وحدة التحكم CU

    1- تخنلف مجموعة المسجلات من حاسب حاسب لاخر وذلك حسب بنيته. حيث تضم مجموعة مسجلات الأغراض العامة ومجموعة مسجلات الأغراض الخاصة.وتستخدم مجموعة مسجلات الأغراض العامة لأي غرض ما بينما مجموعة مسجلات الأغراض الخاصة يكون لها وظيفة محددة.على سبيل المثال عداد البرنامج PC هو مسجل أغراض خاصة يستخدم من أجل الأحتفاظ بعنوان التعليمة التي سيتم تنفيذها لاحقا بينما المسجل IR يحتفظ بالتعليمة الحالية التي يتم تنفيذها حالياً.

    2- وحدة الحساب والمنطق ALU تزود الدارات اللازمة من أجل تنفيذ العمليات الحسابية والمنطقية وعمليات الإزاحة الموجودة في مجموعة التعليمات
    3- وحدة التحكم CU مسؤولة عن جلب التعليمة من الذاكرة الرئيسية وفك شيفرتها وتنفيذها. الشكل 5.1 يبين المكونات الرئيسية لوحدة المعالجة المركزية CPU والعلاقة بين نظام الذاكرة وأجهزة الدخل والخرج I/O.




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

    جلب التعليمة التي سيتم تنفيذها من الذاكرة والتي عنوانها مخزن في المسجل PC وتخزينها في المسجل IR.

    فك شيفرة التعليمة.

    جلب المتحولات من الذاكرة وتخزينها في مسجلات ال CPU.

    تنفيذ التعليمة.

    نقل النتائج من مسجلات ال CPU إلى الذاكرة.

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


    تصحيح الحالة التي أدت إلى المقاطعة وإعادة تخزين الحالة في البرنامج

    إن الأعمال التي تقوم بها وحدة المعالجة المركزية خلا تنفيذها لدورة التعليمة تعرف باسم العمليات الميكروية وهذه العمليات مصدرها لوحة التحكم CU. هذه العمليات الميكروية توزع إشارات التحكم على خطوط تحكم محددة. على سبيل المثال دعنا نفترض أننا نريد تنفيذ تعليمة تقوم بنقل محتويات السجل X إلى السجل Y ولنفرض أيضاً ان كلا المسحلين متصلين مع ممر المعطيات D عندها ستطلب وحدة التحكم إشارات تحكم لاخبار المسجل X بوضع محتوياته على ممر المعطيات D وبعد فترة تأخير معينة فإن إشارة تحكم أخرى سوف ترسل لاخبار السجل Y بالقراءة من ممر المعطيات D. تفعيل إشارات التحكم يحدد إما باستخدام البرمجة الميكروية microprogramming أو باستخدام hardwired control.وهذه الأفكار سوف نتطرق لشرحها لاحقاً إن شاء الله ،وسنشرح أيضاً مجموعة المسجلات ووظائفها المختلفة وما المقصود من ممر المعطيات وممر التحكم ودورة التعليمة لوحدة المعالجة المركزية CPU وأخيراً سوف نشرح

    وحدة التحكم CU

    مجموعة المسجلات REGISTER SET

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

    Memory Access Registers مسجلات الولوج إلى الذاكرة



    هناك مسجلين أساسيين من أحل عمليات القراءة من الذاكرة والكتابة فيها هما MDR (memory data register) و MAR (memory address register).المسجلات MDR، MAR تستعمل بشكل خاص من قبل وحدة المعالجة المركزية ولا يمكن الوصول إليهما من قبل المبرمج. • من أجل تمثيل عملية كتابة في موقع محدد في الذاكرة سوف تستخدم المسجلين MDR و MAR كما يلي :

    تخزين الكلمة في المسحل MDR ويتم ذلك بواسطة ال CPU

    تخزين الموقع الذي سبخزن فيه الكلمة في المسحل MAR ويتم ذلك بواسطة ال CPU أيضاً.

    يتم طلب إشارة كتابة من ال CPU.

    وبشكل مشابه من اجل تمثيل عملية القراءة من الذاكرة فإن استخدام المسجلين MDR و MAR يكون كالتالي:

    تخزين الموقع الذاكري الذي سنقرأ منه المعطيات في المسجل MAR

    طلب إشارة قراءة من الذاكرة

    تخزين الكلمة المطلوبة من الذاكرة في المسجل MDR حيث تصبح جاهزة للاستخدام من قبل وحدة المعالجة المركزية CPU.


    مسجلات جلب التعليمة Instruction Fetching Registers



    يوجد لدينا مسجلين أساسيين هما مسجل عداد البرنامج PC ومسجل التعليمة IR

    المسجل PC يحتوي على عنوان التعليمة التالية التي سيتم جلبها.

    التعليمة المجلوبة يتم تخزينها في المسجل IR من أحل تنفيذها.

    بعد جلب التعليمة بنجاج يتم تحديث محتويات المسجل PC ليشير إلى التعليمة التالية التي سيتم تنفيذها.

    المسجلات الشرطية condition registers

    المسجلات الشرطية أو الأعلام تستخدم لتحديد حالة المعلومات، بعض البنى تحتوي على مسجلات خاصة لحالة كلمة البرنامج PSW (program status word register) حيث يحتوي ال PSW على بتات يتم وضعها من قبل وحدة المعالجة المركزية CPU لتحديد الحالة الأنية من تنفيذ البرنامج. هذه المؤشرات تستخدم بشكل مثالي في العمليات الحسابية والمقاطعات وحماية معلومات الذاكرة وحالة المعالج




    مسجلات عنونة الأغراض الخاصة special –purpose address registers


    مسجلات فهرسة index register

    في العنونة المفهرسة العنوان لمتحول ما يتم الحصول عليه بإضافة ثابت ما لمحتويات مسجل المفهرسة، حيث يحتفظ مسجل الفهرسة بعنوان الإزاحة. العنونة المفهرسة يشار إليها في التعليمة من خلال وضع مسجل الفهرسة ما بين اقواس هلالية واستخدام الرمز x للإشارة إلى الثابت الذي ستم اضافته.

    مؤشر المقطع segment pointers


    عندما يتم طلب عنوان من المعالج ينبغي أن يتألف من رقم المقطع (القاعدة (ومن الإزاحة. مسجل المقطع يحتفظ بعنوان القاعدة (الأساس (لهذا المقطع

    مؤشر المكدس stack pointer

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

    ممر المعطيات DATAPATH


    يمكن تقسيم وحدة المعالجة المركزية إلى قسمين:قسم المعطيات وقسم التحكم

    قسم المعطيات يسمى أيضاً ممر المعطيات datapath ويتألف من المسجلات و ALU ويستخدم لتمثيل بعض العمليات على المعطيات

    قسم التحكم وهو بشكل أساسي وحدة التحكم CU والذي يرسل الإشارات إلى ممر المعطيات الداخلي حيث يتم نقل البيانات من مسجل لآخر وبين ال ALU والمسجلات داخل وحدة المعالجة المركزية CPU.

    نقل البيانات الداخلي يتم تمثيله بالممر المحلي والذي يحمل المعلومات والتعليمات والعناوين. خارجياً يتم نقل المعطيات من المسجلات إلى الذاكرة وأجهزة الدخل والخرج I/O بواسطة ممر النظام نقل البيانات الداخلي بين المسجلات وبين ال ALU والمسجلات يمكن أن يستخدم عدة بنى مختلفة تتضمن : بنية بممر واحد – ممرين - ثلاث ممرات و إن تخصيص ممر المعطيات يستخدم أيضاً بين المكونات التي يتم نقل البيانات من خلالها فعلى سبيل المثال يتم نقل محتويات المسجل PC إلى المسجل MAR من اجل جلب تعليمة جديدة في بداية كل دورة تعليمة.لذلك يكون تخصيص ممر المعطيات من المسجل PC إلى المسجل MAR مفيدا في سرعة تنفيذ هذه التعليمة.



    بنية بممر واحد One-Bus Organization


    عند استخدام ممر واحد فإن مسجلات وحدة المعالجة المركزية CPU ووحدة الحساب والمنطق ALU سوف تستخدم ممر وحيد لنقل البيانات الداخلة والناتجة. في هذه الحالة الممر يقوم بعملية واحدة لنقل البيانات في دورة ساعة واحدة ونتيجة لذلك العمليات بمتحولين سوف تحتاج إلى دورتي ساعة لجلب المتحولات إلى ال ALU كما أن المسجلات تكون بحاجة إلى BUFFER من اجل وحدة الحساب والمنطق ALU. بنية ها الممر تكون أبسط واقل تكلفة لكنها محدودة في كمية البيانات المنقولة في نفس دورة الساعة وبالتالي فهي تبطئ من سرعة الأداء.
    الشكل 5.3 يبين ممر معطيات واحد يتألف من مجموعة مسجلات الأغراض العامة ومن المسجل MDR والمسجل MAR والمسجل IR والمسجل PC ومن وحدة الحساب والمنطق ALU


    بنية بممرين Two-Bus Organization


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




    بنية بثلاث ممرات Three-Bus Organization


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



    دورة التعليمة في وحدة المعالجة المركزية CPU INSTRUCTION CYCLE

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


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


    جلب التعليمة Fetch Instructions



    يمكن تلخيص سلسلة الأحداث في عملية جلب التعليمة في الخطوات التالية :

    تحميل محتويات المسجل PC في المسجل MAR.

    زيادة محتويات المسجل PC (و هذه العملية تتم على التوازي مع الوصول إلى الذاكرة).

    نتيجة لعملية قراءة الذاكرة يتم تحميل التعليمة في المسجل MDR.

    تحميل محتويات المسجل MDR في المسجل IR.

    عند استخدامنا لنظام بممر معطيات واحد كما هو مبين في الشكل 5.3 فإن عملية جلب التعليمة يمكن انجازها بثلاث خطوات كما هو مبين في الجدول التالي علماً أن t0 < t1 < t2





    أما عند استخدامنا لثلاث ممرات معطيات المبين في الشكل 5.5 فإن خطوات انجاز جلب التعليمة يمكن انجازها كما في الجدول التالي :


    تنفيذ عملية حسابية بسيطةExecute Simple Arithmetic Operation Add R1,R2,R0



    هذه العملية تقوم بجمع محتويات مسجلي المصدر R1، R2 وتخزن النتيجة في مسجل المستقر، يمكن تنفيذ عملية الجمع هذه كما يلي :

    المسجلات R0 ،R1 ،R2 تستخرج من المسجل IR.

    تمرير محتويات المسجلين R1 ،R2 إلى ALU لإجراء عملية الجمع.

    خرج ال ALU ينقل إلى المسجل R0.

    -عند استخدام ممر معطيات واحد كما هو مبين في الشكل 5.3 فإن عملية الجمع هذه سوف تحتاج إلى ثلاث خطوات كما هو مبين في الجدول التالي: حيث t0 < t1 < t2




    -عند استخدام ممرين للمعطيات كما هو مبين في الشكل 5.4a فإن هذه العملية تحتاج إلى خطوتين كما هو مبين في الجدول التالي : حيث t0 < t1




    -عند استخدام ممرين للمعطيات كما هو مبين في الشكل 5.4b فإن هذه العملية تحتاج إلى خطوتين كما هو مبين في الجدول التالي : حيث t0 < t1

    -عند استخدام ثلاث ممرات معطيات كما هو مبين في الشكل 5.5 فإن عملية الجمع سوف تحتاج إلى خطوة واحدة كما يلي :


    ADD X,R0


    هذه العملية تجمع محتويات موقع الذاكرة X مع محتويات المسجل R0 وتخزن النتيجة في المسجل R0 يمكن تنفيذ هذه العملية وفق الخطوات التالية :

    استخراج موقع الذاكرة X من المسجل IR وتحميلها في المسجل MAR.

    نتيجة عملية قراءة الذاكرة فإن محتويات الموقع X يتم تحميلها في المسجل MDR.

    يتم جمع محتويات المسجل MDR مع محتويات المسجل R0.

    -عنداستخدام ممر معطيات كماهو مبين في الشكل 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


    خدمة المقاطعة Interrupt Handling

    بعد تنفيذ التعليمة فإنه يتم إجراء اختبار لطلب المقاطعة، فإذا وجد طلب للمقاطعة فإنه يتم إجراء الخطوات التالية: 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 مخطط صندوقي لتوضيح استخدام التوقيت في توليد إشارات التحكم.
    يوجد نوعين من مختلفين من وحدات التحكم هما : البرمجة الميكروية - البنية الصلبة في تقنية البرمجة الميكروية تكون إشارات التحكم مرتبطة بعمليات مخزنة في وحدات ذاكرة خاصة لا للمبرمج الوصول إليها كما هو الحال في كلمات التحكم. كلمة التحكم هي تعليمة ميكروية تحدد عملية ميكروية أو أكثر، وتسمى سلسلة التعليمات الميكروية بالبرنامج الميكروي والذي يتم تخزينه في الROM أو RAM والتي تسمى ذاكرة التحكم CM. في تقنية البنية الصلبة يتم تثبيت دارة منطقية والتي تتعامل بشكل مباشر مع العلاقات البوليانية المستخدمة لتوليد إشارات التحكم.وتجدر الإشارة أن تقنية البنية الصلبة تتميز بأنها أسرع من البرمجة الميكروية ورغم ذلك إلا أن البنية الصلبة بكلفتها العالية وتعيدها من أجل الأنظمة المعقدة.، لكنها تعتبر تجارية من أجل وحدات التحكم الصغيرة. بينما البرمجة الميكروية تكون أكثر سهولة للتحديث في حال تغيير بنية النظام، حيث يمكننا إضافة تعليمات جديدة بدون تغيير البنية الصلبة أما في حالة لبرمجة الميكروية فإن ذلك يتطلب إعادة تصميم الأنظمة الداخلية.من أجل أي تغيير في النظام


    EXAMPLE 1

    دعنا نعود لتعليمة الجمع التي تقوم بجمع محتويات مسجلات المصدر 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.



    EXAMPLE 2

    لنكرر العملية السابقة بطريقة مختلفة وذلك باستخدام ممر معطيات واحد المبين في الشكل 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. يتألف البرنامج الميكروي من سلسلة من التعليمات الميكروية.و التعليمة الميكروية هي شعاع من البتات بحيث أن كل بت يمثل إشارة تحكم، الشيفرة الشرطية، أو عنوان التعليمة الميكروية التالية.


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




    HORIZONTAL VERSUS VERTICAL MICROINSTRUCTION


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


    EXAMPLE 3

    إذا اخذنا بعين الإعتبار ثلاث ممرات معطيات المبين في الشكل 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، في هذا المثال سوف نتعرف على شكل التعليمة الميكروية على أساس التنظيم الأفقي، وسوف نستخدم التعليمات الميكروية الأفقية والتي لديها بت تحكم واحد من اجل كل خط تحكم،




    EXAMPLE 4

    في هذا المثال سوف نستخدم التعليمات الميكروي العمودية والتي تحتاج إلى فاكات شيفرة، وسوف نستخدم ثلاث ممرات معطيات المبينة في الشكل 5.5. لنفرض أن لدينا 16 مسجل أغراض عامة و ALU تدعم ثمانية عمليات، يبين الجدول التالي تشفير وظائف ALU - المسجلات المتصلة مع out-bus 1 (source 1) والمسجلات المتصلة مع out-bus 2 (source 2) والمسجلات المتصلة مع in-bus (destination).



    EXAMPLE 5

    باستخدام نفس التشفير في المثال 4 سنقوم بإيجاد التعليمات الميكروية العمودية المستخدمة في جلب تعليمة ما.
    PC <---MAR
    أولاً سوف نختار PC كمصدر وذلك باستخدام "10000” من حقل source 1 وسوف نختار MAR كمستقر ياستخدام "10010” من حقل destination، وسوف نستخدم "0000” من أجل ال ALU والتي سيتم فك تشفيرها إلى "NONE " وكما هو مبين في جدول تشفير ALU في example 4 فإن “NONE” تعني اتصال out-bus 1 مع in-bus. الحقل source 2 سوف يوضع إلى "10000” للإشارة بعدم اختيار أي من المسجلات. التعليمة الميكروية موضحة في الشكل 5.15



    Memory Read and Write


    عمليات الذاكرة يمكن ملائمتها بسهولة بإضافة بت واحد من أجل القراءة وبت أخر من أجل الكتابة. التعليمتين الميكرويتين المتتاليتين في الشكل 5.16 تمثلان القراءة والكتابة.
    Fetch
    يمكن اجراء عملية جلب تعليمة ما باستخدام ثلاث تعليمات ميكروية كما هو مبين في الشكل 5.17
    التعليمتان الميكرويتان الأولى والثانية تم توضيحهما سابقاً أما التعليمة الميكروية الثالثة فهي تنقل محتويات MDR إلى IR (MDR IR). MDR تم اختياره كــ source 1 وذلك باستخدام "10011" من الحقل source 1 وبشكل مشابه تم أختيار IR كـ destination باستخدام الحقل "10001"، وسوف نستخدم أيضاً "0000" (NONE) في حقل ال ALU والذي يعني اتصال out-bus 1 مع in-bus. الحقل source 2 سيتم توضيعه على "10000" والذي يعني عدم أختيار أي من المسجلات.
    الخلاصة: تعتبر وحدة المعالجة المركزية CPU جزء الحاسب الرئيسي الذي يقوم بتفسير وتنفيذ التعليمات الموجودة في البرامج التي نكتبها. المكونات الرئيسية ل CPU هي حقل المسجلات -ALU ووحدة التحكم. يتضمن حقل المسجلات –مسجلات أغراض عامة –خاصة. مسجلات الأغراض العامة تستخدم لحفظ المتحولات والنتائج المرحلية اما مسجلات الأغراض الخاصة قد تستخدم للوصول إلى الذاكر – التنسيق - حالة المعلومات أو لحفظ التعليمة المجلوبة خلال فك التشفير والتنفيذ. العمليات الحسابية والمنطقية يمكن تمثيلها في وحدة الحساب والمنطق ALU. دلخل ال CPU يمكن أن تنتقل البيانات من أحد المسجلات إلى مسجلات أخرى أو بين المسجلات وال ALU، كما يمكن للبيانات أن تنتقل بين ال CPU والمكونات الخارجية مثل الذاكرة ووحدات الدخل والخرج I/O. وحدة التحكم هي المكون الذي ينحكم بحالة دورة التعليمة. حيث أنه يتم جلب التعليمات من الذاكرة طالما توجد تعليمات تطلب التنفيذ، ويتم تنفيذ التعليمة بالاعتماد على عملية محددة في حقل شيفرة التعليمة. تولد وحدة التحكم إشارات للتحكم بتدفق المعلومات خلال ال CPU وبين ال CPU والوحدات الخارجية مثل الذاكرة ووحدات الدخل والخرج I/O. ويمكن تمثيل وحدة التحكم باستخدام تقنيات البنية الصلبة أو البرمجة الميكروية
    التعديل الأخير تم بواسطة سائر في ربى الزمن ; 03-22-2010 الساعة 11:30 PM

 

 

الكلمات الدلالية لهذا الموضوع

المفضلات

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
لتوفير الجهد والوقت عليك ابحث عن ما تريد في جوجل من هنا

جميع الحقوق محفوظة لـ شبكة توب ماكس تكنولوجي

Copyright © 2007 - 2010, topmaxtech.net . Trans by topmaxtech.

المعهد غير مسئول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه اتجاه ما يقوم به من بيع وشراء و اتفاق مع أي شخص أو جهة