Professional Documents
Culture Documents
عفوا ليمكنك رؤية الروابط ال بعد التسجيل والرد على الموضوع وذلك للحفاظ على حقوق الكاتب .
أو يطلق عليها اختصارا المعالج ( )Processorهي احد مكونات الحاسوب الرقمي التي تقوم
بتفسير التعليمات و معالجة البيانات التي تتضمنها البرمجيات .يعتبر المعالج بالضافة للذاكرة
الرئيسية و وحدات الدخال و الخراج من أهم مكونات الحواسب الدقيقة (
)microcomputersالحديثة .تعرف المعالجات التي تم تصنيعها بواسطة الدارات المتكاملة (
)integrated circuitsبالمعالجات الدقيقة ( )microprocessorو التي بدأ تصنيعها
منذ منتصف سبعينات القرن العشرين على شكل رقاقات مدمجة حلت محل معظم أنواع المعالجات
الخرى.
يدل مصطلح وحدة معالجة مركزية على فئة من اللت المنطقية التي تقوم بتنفيذ برامج حاسوبية
معقدة والتي تشمل أيضا العديد من الحواسب القديمة التي كانت موجودة قبل ظهور هذا المصطلح في
بداية الستينات من القرن العشرين.
صممت المعالجات بداية كمعالجات خاصة بتطبيقات معينة و كأحد مكونات الحواسيب الكبيرة
والتخصصية لكن ارتفاع تكاليف هذا السلوب من التصميم أدى إلى إفساح المجال أمام ظهور
معالجات رخيصة و قياسية متعددة الغراض.
هذه النزعة نحو التوحيد القياسي بدأت بالظهور في عصر الحواسب المركزية ()mainframe
ذات الترانزستورات المنفصلة ( )discrete transistorو الحواسب الصغيرة (
)minicomputersو تسارع مع انتشار الدارات المتكاملة حيث سمحت هذه الدارات بزيادة
تعقيد المعالجات و تصغير حجمها .أدى التوحيد القياسي و التصغير المستمر للمعالجات إلى انتشارها
الواسع و تجاوزها للتطبيقات التي انحصرت بالحواسب المتخصصة حيث دخلت المعالجات
المكروية في شتى مجالت الحياة المعاصرة من السيارات إلى أجهزة الهاتف الخليوية و ألعاب
الطفال.
وحدات التحكم
وحدة التحكم عبارة عن جزء من وحدة المعالجة المركزية cpuأو أي جهاز آخر ،و هي تقوم
بتوجيه عمليات هذا الجهاز .
في البدايت كانت وحدات التحكم تعتمد على منطق ( ad-hocالمنطق غير المحدد) .و كان من
الصعب تصميمها .أما الن فإنها أصبحت تحقق بواسطة البرامج الصغرية حيث يخزن البرنامج في
مخزن التحكم .كلمات البرنامج المصغر ينم اختيارها من قبل موجه ميكروي و بتات هذه الكلمات
تتحكم بالجزاء المختلفة للجهاز و التي تتضمن :المسجلت و وحدة الحساب والمنطق و مسجلت
التعليمات و الممرات و رقاقات الدخل/الخرج .و سوف نلحظ هذه الجزاء في شكل توضيحي
يبينها مع وحدة التحكم .في أنظمة الحاسب الحديثة ربما يكون كل نظام جزئي* redbubeله
وحدة التحكم الخاصة به بالضافة إلى وحدة التحكم الساسية كمراقب عام .تتمثل وحدة التحكم بتلك
السلك التي تتحكم بتدفق المعلومات عبر المعالج و تنظم عمل الوحدات الخرى الموجودة داخله .
و بطريقة أخرى هي دماغ داخل دماغ .إن وظيفة وحدة التحكم تتغير بتغير البني الداخلية للمعالج
حيث أن وحدة التحكم هي التي تحقق البني الداخلي للمعالج بشكل عملي .في المعالجات التي تنفذ
تعليمات × 86فإن وحدة التحكم تنجز المهام التالية :جلب التعليمة و فك شيفرتها و إدارة تنفيذها و
تخزين النتيجة .في المعالجات ذات النوع RISCفإن وحدة التحكم تقوم بمهام كثيرة حتى تنفذ هذه
التعليمات .فهي تقوم بإدارة تحويل تعليمات × 86إلى تعليمات RISCو جدولة التعليمات
الصغرية بين وحدات التنفيذ المختلفة و قذف الخرج من هذه الوحدات للتأكد من أنها انتهت في المكان
الذي يفترض بها أن تذهب إليه .في أحد هذه المعالجات قد تقسم وحدة التحكم إلى وحدات أخرى
(مثل وحدة الجدولة لمعالجة الجدولة و وحدات التقاعد للتعامل مع النتائج القادمة من خطوط المعالجة
) و ذلك حسب تعقيد العمل الذي سوف تقوم به .سوف نقوم الن بتصميم وحدة تحكم بسيطة و نبين
بعض الجزاء الخرى التي تشرف عليها وحدة التحكم هذه.
:)Memory address register (MAR .1و هو الجزء الذي يقوم بمسك المولدة من
قبل العداد PCو تقله إلى ممر المعطيات لرساله إلى الذاكرة .
:)Program counter (PC .2وهو يقوم بتوليد عنوان الحجرة الذاكرية التي تحتوي على
التعليمة التالية التي سوف يتم تنفيذها
:)Memory buffer register (MBR .3وهو عبارة عن مسجل يقوم بتخزين شيفرة
التعليمة التي تم احضارها من الذاكرة
:)Instruction register (IR .4وهو مسجل يحتوي على التعليمة الحالية التي سوف تنفذ
في وحدة الحساب و المنطق :ALU. 5. Timerوهو دارة تقوم بتوليد الفترات الزمنية لتنفيذ
التعليمات .مرحلة جلب التعليمة :هذه المرحلة تكون مقسمة إلى فترات زمنية كما يلي • :الفترة t0
:و فيها يتم تفعيل كل من الطرفين c1و c5حيث أن c1تعني قراءة العنوان الذاكري إلى ممر
المعطيات و c5تعني كتابة محتوى ممر المعطيات إلى MARو بذلك يكون قد أصبح عنوان
التعليمة موجود على ممر العناوين للذاكرة • الفترة : t1و فيها يتم تفعيل كل من c3و c7حيث أن
c7تجعل الذاكرة تضع محتويات الحجرة الذاكرية المحددة على ممر المعطيات لتصل إلى MBR
الذي أيضًا يتم تفعيله بواسطة c3ليضع محتوياته في • . IRالفترة : t2يتم في هذه الفترة إرسال
نبضة إلى عداد البرنامج من الطرف cinللـ cuلزيادة محتوى العداد ليشير إلى الحجرة الذاكرية
التالية كما يتم تفعيل الطرف wrللـ IRو بذلك تكون شيفرة التعليمة قد أصبحت على مدخل وحدة
التحكم في هذه المرحلة يأتي دور وحدة التحكم في فك تشفير التعليمة و إرسال الشارات اللزمة
لتنفيذ هذه التعليمة مرحلة تنفيذ التعليمة :في الشكل الذي لدينا سوف نقوم بتتبع تنفيذ التعليمة and
acc,r3حيث أن شيفرة هذه التعليمة في وحدة الحساب و المنطق التي لدينا تعطى بالشكل
Op code don't care register codeو عندما تدخل هذه الشيفرة إلى cuتفك
شيفرتها و تصدر الشارات التالية و ذلك حسب الفترات الزمنية • الفترة :T3في هذه الفترة يتم نقل
محتويات R3إلى المسجل ( tempجميع العمليات في هذا المعالج تتم بين Accو ) temp
وذلك بتفعيل قطب القراءة ( )RDللمسجل R3الذي يقابل الطرف c15في cuو تفعيل قطب
الكتابة WRللمسجل tempالذي يمثل الطرف c20للـ . cu
• الفترة : t5يتم وضع محتويات كل من Accو ذلك بتفعيل الطرف c18للـ cuو الـ tempو
ذلك بتفعيل الطرف c19للـ cuعلى دخل وحدة الحساب و المنطق لجراء العملية المطلوبة كما
يتم تفعيل طرف القراءة لمسجل العلم عن طريق تفعيل الطرف c22للـ . cu
• الفترة : t6في هذه الفترة يتم تصفير مولد الزمنة time generatorللبدء بعملية جلب
تعليمة جديدة .
ملحظة :إن هذه العملية احتاجت أكثر من نبضة ساعة حتى انتهى تنفيذها ( 4نبضات ساعة ) و
بعض التعليمات تحتاج لزمن أطول ملحظة :يتم تصميم الدارة التركيبية لوحدة التحكم عن طريق
تشكيل جدول الحقيقة الذي يتم فيه مراعاة شيفرة التعليمات و معرفة اطراف وحدة التحكم المطلوب
تفعيلها من أجل كل تعليمة بدءاً من جلب التعليمة و حتى انتهاء تنفيذها .
وحدة إدارة الذاكرة (: )MMU
إن وحدة إدارة الذاكرة بالتعريف هي :دارة تدعم الذاكرة الظاهرية و نقل الصفحات الذاكرية و ذلك
بترجمة العنوان الفعال إلى عنوان فيزيائي ،و تكون جزء من المعالج و في بعض التصاميم تأتي
كشريحة مستقلة ،تحتوي على ذاكرة صغيرة تحتفظ بالعناوين الفعالة و الفيزيائية المقابلة لها و تكون
على شكل جدول يدعى TLBوجميع الطلبات الذاكرية ترسل لل MMUو التي تحدد مكان وجود
المعلومة المطلوبة هل هي في الكاش أم في ال MMأم في القرص الصلب .
MMUتحتوي على جدول الصفحات الذاكرية Page tableمفهرس بأرقام الصفحات و كل
مدخل في جدول الصفحات )Page Table Entry(PTEيعطي العنوان الفيزيائي المطابق
للفعال .من الممكن أن ل يوجد عنوان فيزيائي مقابل للعنوان الفعال لذا سوف تعيد MMUإشارة
خلل في الصفحة الذاكرية إلى المعالج عندها سوف يحاول نظام التشغيل إيجاد صفحة فارغة في
الذاكرة و إنشاء PTEجديد يتم ربطه مع العنوان الفعال المطلوب ،إذا لم توجد صفحة ذاكرية
فارغة سوف يكون من الضروري اختيار صفحة موجودة مسبقا و ذلك باستخدام أحد خوارزميات
الستبدال و حفظها في القرص الصلب ( و هذا ما يعرف بنقل الصفحات الذاكرية . )Paging
: TLBهو جدول يستخدم في نظام الذاكرة الفتراضية حيث يسجل رقم صفحة العنوان الفيزيائي
مرتبطا مع رقم صفحة العنوان الفعال ،يستخدم ال TLBللربط مع الكاش و التي يكون دليلها معتمدا
على العنونة الفتراضية .يقدّم العنوان الفعال لل TLBو بنفس الوقت يقدم للكاش لذا فإن الوصول
للكاش و ترجمة العنوان من فعال إلى فيزيائي يتم على التوازي و بالتالي عند عدم وجود المعلومة
في الكاش فيتم استخدام العنوان الفبزيائي للوصول إليها في ال . MM
إن عملية تخطيط الذاكرة تأخذ بعين العتبار الصلة بين المستويين المتعاقبين في هرم الذاكرة أل و
هما المستوى الولي و الثانوي ،كالصلة بين ذاكرة الكاش و الذاكرة الرئيسية ( ، )MMفذاكرة
الكاش تمثل المستوى الولي في حين أن الذاكرة الرئيسية تمثل المستوى الثانوي و ,نفس المبدأ يمكن
تطبيقه على أي مستويين من هرم الذاكرة .أن طلب الوصول لعنصر ما في الذاكرة يتم عن طريق
المعالج و ذلك بإرسال عنوان ذلك العنصر إلى الذاكرة .العنوان المرسل يمكن أن يتطابق مع عنوان
عنصر موجود حاليا في الكاش ( )Cache hitو إل يتطابق مع عنوان موجود في ال MMلذا ل
بد من وجود ترجمة للعنوان لتحديد مكان العنصر المطلوب ،هذا العمل يتم إنجازه عن طريق وحدة
إدارة الذاكرة . MMUالمخطط التالي يوضح كيفية مقابلة العنوان :
في المخطط السابق يمثل عنوان النظام address systemالعنوان المرسل من المعالج من
أجل العنصر المطلوب ،هذا العنوان يتم معالجته من قبل المترجم داخل ال . MMUفإذا ما تبين أن
العنوان المترجم متطابق مع عنوان موجود في الكاش فسوف يتم إرجاع العنصر للمعالج و إل عند
عدم وجوده في الكاش فسيتم إحضاره كجزء من بلوك من الذاكرة الرئيسية و يتم وضعه في الكاش و
بالتالي العنصر المطلوب يتم تحصيله للمعالج .
يشبه مفهوم الذاكرة الوهمية من حيث المبدأ الذاكرة المخبئية (الكاش) ،إن مفهوم الذكرة الوهمية
يعني تحسين استخدام الذاكرة الفيزيائية (الرئيسية) ذات السرعة العالية مع الثانوية (القرص
الصلب ) ذات السرعة البطيئة .بالنتيجة فإن مفهوم الذاكرة الوهمية هو تقنية تستخدم وسيلة التخزين
الثانوية لتوسيع الحجم المحدود للذاكرة الفيزيائية و ذلك عندما ل تكون المساحة المتوفرة في الذاكرة
الرئيسية كافية لحتواء أجزاء البرنامج الفعال التي تحضر إلى ال MMفي حين أن الجزاء الغير
فعالة سوف تخزن في القرص المغناطيسي (الصلب) .فإذا لم تكن الكلمة المطلوبة من قبل المعالج
موجودة في ال MMعندها يجب إحضارها من الذاكرة الثانوية (القرص الصلب ) .مبدأ النظام
المتبع في التعامل مع الذاكرة الوهمية مشابه للكاش و هذا المبدأ يعتمد على نقل المقاطع الغير فعالة
إلى القرص الصلب و إبقاء الفعالة منها في ال . MMعملية نقل المعطيات بين القرص الصلب و ال
MMيأخذ شكل صفحات ذاكرية ،و الصفحة الذاكرية هي مجموعة كلمات ذاكرية و التي يتم نقلها
من القرص إلى ال MMعندما يطلب المعالج الوصول إلى كلمة من تلك الصفحة ،ويكون حجم
الصفحة عادة من 2حتى 16كيلو بايت .نظام التشغيل هو المسئول عن عملية نقل الصفحات من
القرص إلى ، MMنعلم أن المعالج يبعث عنوان يسمى العنوان المنطقي (الفعال) و هو غير متطابق
مع العنوان الفيزيائي (في ال )MMلذا تأتي هنا مهمة وحدة إدارة الذاكرة MMUفي ترجمة
العنوان الفعال (الوهمي) إلى مقابله الفيزيائي و تتم هذه العملية بواسطة أحد ثلث تقنيات هي :
direct mapping
fully mapping
set associative mapping
في جميع هذه التقنيات فإن المعلومات عن المواقع الذاكرية و الصفحات الوهمية الموافقة لها موجودة
في جدول يدعى جدول الصفحة Page tableالذي يكون مخزنا في ال . MM
عندما ينفذ ال cpuتعليمة التحميل loadفإنه يولد عنوانا فعال و يرسله للذاكرة الرئيسية عن
طريق ممر الذاكرة فتقوم الذاكرة الرئيسية بجلب أربع بايتات تبدأ من العنوان الفيزيائي 4و تعيدها
للمعالج الذي بدوره يخزنها في مسجل .الحواسب م}خرا استخدمت العنونة الفيزيائية PAوالنظمة
– مثل معالجات الشارة الرقمية و المتحكمات المدمجة و الحواسب العملقة – استمرت بهذه
الطريقة ،على كل حال فإن المعالجات الحديثة تم تصميمها للحسابات ذات الغراض العامة
مستخدمة صيغة عنونة تعرف بالعنونة الفتراضية . VA
في العنونة الفتراضية فإن وصولت المعالج للذاكرة الرئيسية تتم عن طريق توليد عنوان افتراضي
VAو الذي يتحول للعنوان الفيزيائي المناسب مثل إرساله للذاكرة الرئيسية ،العملية التي تقوم
بتحويل العنوان الوهمي إلى فيزيائي تعرف بعملية ترجمة العنوان .إن ترجمة العنوان تتطلب تعاونا
بين بنية المعالج و نظام التشغيل ،البنية الصلبة في المعالج و المسئولة عن ذلك هي Memory
، )Management Unit(MMUتقوم هذه الوحدة بترجمة العنوان الفعال بسرعة و ذلك
باستنتاجه من جدول مخزن في الذاكرة الرئيسية و الذي يتم إدارة محتوياته من قبل نظام التشغيل .
نظام الذاكرة الوهمية يدعم حجم صفحات يصل إلى 4KBو بالتالي العنوان ذو 32bitسوف يقسم
إلى 20bitمن أجل رقم الصفحة و 12bitمن أجل الزاحة .في كل مرة يتم فيها ترجمة العنوان
الفعال (و ذلك لحضار تعليمة أو عملية كتابة أو قراءة لمعامل ) فإن رقم العملية و رقم الصفحة
يدخلن إلى المسجل entry-hiو سوف ييم مقارنتهما سويا مع جميع العناوين الفعالة الموافقة و
الموجودة في ال TLBو عند وجود تطابق فإن مسجل الدليل indexيشير إليهما و إلى المُدخل
المطابق في ال ، TLBبعد ذلك سوف تتم قراءة مدخل ال TLBالمطابق و العنوان الفيزيائي لقاعدة
الصفحة تلك و ينتقل إلى المسجل ، entry-loبعدها يأتي دور الزاحة في تحديد العنوان
الفيزيائي المطلوب عند إضافتها لعنوان القاعدة .