الفصل الخامس

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

5-1 المقدمة
5-2 وحدة المعالجة المركزية
5-3 وحدة الحساب و المنطق
  5-3-1عمليات وحدة الحساب و المنطق
  5-3-2 دوائر وحدة الحساب و المنطق
5-4 وحدة التحكم
  5-4-1 مكونات وحدة التحكم
  5-4-2حالات وحدة التحكم
  5-4-3 التعليمات
5-5 الذاكرة الرئيسية
  5-5-1 تركيب الذاكرة الرئيسية
  5-5-2 طرق عنونة الذاكرة
  5-5-3 تصنيف وحدة الذاكرة





بحث مخصص


5-1 المقدمة :

 

يتكون نظام الحاسوب الرقمي من المكونات والعناصر المادية التالية:
1. وحدة المعالجة المركزي 
   : Central processing Unit (CPU)
    • وحدة الحساب و المنطق
(Arithmetic &logical unit  (ALU.
    • وحدة التحكم
Control unit (CU) .
2.
الذاكرة الرئيسية : Main Memory (MM)وترتبط وحدة المعالجة المركزية مع الذاكرة عن طريق مجموعة من النواقل  buses  تتألف من مجموعة من الخطوط (الأسلاك).
الناقلات Buses:
تعرف الناقلات على أنها مجموعة من الأسلاك تربط وحدات الحاسوب المختلفة وذلك لتمرير وتبادل المعلومات بين هذه الوحدات ويمكن تصنيف الناقلات حسب:
1.طريقة نقل البيانات:
• ناقلات على التوالي: حيث يلزم سلك واحد لنقل البيانات بحيث تنقل بت تلو الآخر.
• ناقلات على التوازي: حيث يلزم عدد من الأسلاك مساو لعدد خانات الكلمة المراد تمريرها بحيث تنقل هذه الخانات دفعة واحدة وبشكل متوازي.

2.حسب طبيعة البيانات:
وتنقسم هذه النواقل إلى ثلاث أنواع:
•ناقل البيانات
 Data bus :  هي مجموعة الخطوط المخصصة لتبادل ونقل  المعلومات و البيانات بين وحدة المعالجة المركزية والذاكرة الرئيسية , وتنقل البيانات في الاتجاهين من وحدة المعالجة المركزية إلى الذاكرة و العكس.
•ناقل العنوان  Address bus :هي مجموعة الخطوط المخصصة لنقل العناوين من وحدة المعالجة المركزية إلى الذاكرة وتنقل العناوين باتجاه واحد من وحدة المعالجة المركزية إلى الذاكرة .
•ناقل التحكم  Control bus :هي مجموعة الخطوط المخصصة لنقل أشارات التحكم بين وحدة المعالجة المركزية والذاكرة وتنقل أشارات التحكم في الاتجاهين من وحدة المعالجة المركزية إلى الذاكرة و بالعكس .

2. وحدات التداول :
    • وحدات إدخال البيانات والتعليمات
Input unit
    • وحدات إخراج المعلومات
Output unit
    • وحدات التخزين المساعدة
Backing storage

أضغط لتكبير الشكل
الشكل 5-1 العناصر المادية لنظام الحاسوب

مشهد 5-1 عملية معالجة البيانات باستخدام العناصر المادية لنظام الحاسوب
     

5-2 وحدة المعالجة المركزية:

  تعتبر وحدة المعالجة المركزية العقل المدبر للحاسوب فهي المسؤولة عن تنفيذ كافة العمليات الخاصة بالمعالجة ومنها العمليات الحسابية و المنطقية وترتبط هذه الوحدة بالذاكرة حيث تستقبل منها البيانات و التعليمات الخاصة بالمعالجة.
 وتتكون وحدة المعالجة المركزية من وحدتين هما وحدة التحكم ووحدة الحساب والمنطق, وبذلك تؤدي وظيفتين أساسيتين :

    • تنفيذ البرنامج المخزن في الذاكرة الرئيسية وفق سياق أوامر و تعليمات البرنامج وضبط المعدات لتؤدي الوظائف المطلوبة.
    •إجراء العمليات الحسابية و المنطقية.

أن وحدة المعالجة المركزية عبارة عن مجموعة من المسجلات Registers  التي تستخدم في تخزين البيانات المدخلة إلى الدوائر الالكترونية لإجراء العمليات الحسابية , وما يتم تخزينه في المسجلات فهو تخزين مؤقت حتى تتم معالجة البيانات و تنقل النتائج إلى الذاكرة الرئيسية ,فالتخزين في الذاكرة تخزين مؤجل طويل الأمد نسبياً حتى تستدعي بياناتها ومحتوياتها للمعالجة, بينما التخزين على مسجلات وحدة المعالجة الرئيسية تخزين عاجل للمعالجة فقط .

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

العلاقة بين وحدة المعالجة المركزية و الذاكرة :

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

5-3 وحدة الحساب و المنطق:

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

ومن مكونات هذه الوحدة:
  1. دارة الجامع التام الذي يقوم بجمع 3 خانات ثنائية و دارة الجامع النصفي الذي يقوم بجمع خانتين ثنائيتين .
2. دارة العكس Invertors المستخدمة للحصول على المكمل لواحد أو لاثنين للرقم الثنائي.
3. المركم Accumulator وهو مجموعة خلايا ثنائية تسمى المسجل و تستخدم عادة للاحتفاظ بنتائج العمليات المنفذة مؤقتاً لحين نقلها إلى الذاكرة أو إلى وحدات أخرى.
4. مجموعة من الخلايا الثنائية تبين حالة العملية المنفذة و تسمى هذه المجموعة مسجل الحالة Status Register أو Flag Register حيث تخصص كل خلية لمتابعة حالة معينة.

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

كما وتتصل وحدة الحساب و النطق مع مسجل الحالة Status Register والذي يخزن مجموعة من الأرقام الثنائية التي تستخدم للتحكم بمعالجة البيانات ومن أهم هذه الأرقام:
1. بت الحمل Carry bit حيث يحتوي هذا البت على واحد إذا حدث فائض بعد إجراء العملية الحسابية .
2. بت الصفر Zero bit حيث يحتوي هذا البت على واحد إذا كانت القيمة الناتجة في المركم مساوية للصفر.
3. بت الإشارة الموجبة Positive bit حيث يحتوي على واحد إذا كان محتوى المركم موجباً.
4. بت الإشارة السالبة Negative bit حيث يحتوي على واحد إذا كان محتوى المركم سالباً.

أضغط لتكبير الشكل

الشكل5-2 وحدة الحساب والنطق

 

5-3-1عمليات وحدة الحساب و المنطق:

  تصنف عمليات وحدة الحساب و المنطق كما يلي:
1.  العمليات ذات المعامل الواحد ومن أهم هذه العمليات :
  • تصفير محتوى مسجل ما clear .
  إيجاد المكمل (المعكوس) لمحتوى المركم.
• زيادة محتوى مسجل ما بمقدار واحد Increment .
• طرح واحد من محتوى مسجل ما Decrement .
• إزاحة محتوى مسجل إلى اليسار أو اليمين .

2. العمليات ذات المعاملين ومن أهمها:
  • الجمع : جمع محتوى المركم مع محتوى مسجل ما .
• الطرح: طرح محتوى مسجل ما من محتوى المركم .
• المقارنة : حيث تشبه هذه العملية الطرح أو الجمع إلا أن النتيجة لا تخزن في المركم بل يخزن 1 أو صفر اعتماداً على نتيجة المقارنة في بت المقارنة.
• العملية المنطقيةOR (أو) إجراء عملية الجمع المنطقي بين محتوى المركم ومحتوى مسجل ما حيث تخزن النتيجة في المركم.
• العملية المنطقية AND (و) إجراء عملية الضرب المنطقي لمحتوى المركم و مسجل ما وتخزين النتيجة في المركم.

 

5-3-2 دوائر وحدة الحساب و المنطق:

  تتألف وحدة الحساب والمنطق من عدة دوائر تقوم بالعمليات الحسابية والمنطقية ومن أهم هذه الدوائر:
1.الجامع النصفي Half Adder:
عبارة عن دائرة الكترونية مؤلفة من بوابات منطقية تقوم بجمع رقمين ثنائيين مكون كل منهما من بت واحد. ولهذه الدائرة مدخلان ومخرجان يوضع الرقمان المراد جمعهما على المداخل أما المخارج فالأول يمثل نتيجة الفيض Carry .
ويبين الشكل التالي دائرة الجامع النصفي :

ويمكن توضيح عمل نصف الجامع من خلال الجدول المنطقي التالي:

C S B A
0 0 0 0
0 1 1 0
0 1 0 1
1 0 1 1

الجدول المنطقي للجامع النصفي

من خلال هذا الجدول يمكن تمثيل معادلات النتيجة و الفيض كدوال بالنسبة للمدخلات A,B فلو أخذنا الدالة S فإن قيمتها تكون مساوية للواحد في حالتين:
1. عندما تكون A=0  و B=1 وبهذا تؤلف هذه القيم الحد الأول AB
2. عندما تكون A=1 و B=0 وتؤلف هذه القيم الحد الثاني AB
  
وبهذا تصبح S كما يلي :
                          S= A.B + A.B  
أما بالنسبة لمعادلة الفيض فإنها تحتوي على حد واحد (لاحظ قيمة C تكون مساوية للواحد في حالة واحد وهي عندما تكون A=1 و B=1 وبهذا فإن C تصبح كما يلي :
                          C=A.B  


2. الجامع التام Full Adder :
يعرف الجامع التام على أنه دائرة الكترونية لها ثلاثة مداخل و مخرجان حيث يستخدم لجمع ثلاثة أرقام كل منها مؤلف من خانة واحدة بت ويمثل الجامع التام حسب الشكل التالي:


ويمكن فهم عمل هذا الجامع من خلال الجدول المنطقي التالي:

Ci Si Ci-1 Bi Ai
0 0 0 0 0
0 1 1 0 0
0 1 0 1 0
1 0 1 1 0
0 1 0 0 1
1 0 1 0 1
1 0 0 1 1
1 1 1 1 1
الجدول المنطقي للجامع التام

من خلال هذا الجدول يمكن استنتاج معادلة C , S

ومن خلال هذه المعادلات يمكن بناء دائرة الجامع التام و التي تأخذ الشكل التالي :



 

5-4 وحدة التحكم:

 

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

1.تنشيط موقع التعليمة المراد تنفيذها والإشراف على نقل التعليمة من الذاكرة إلى مسجل التعليمة.
2.
تحليل شفيرة العملية لتحديد نوع العملية المراد تنفيذها و إرسال إشارات التحكم الضرورية لوحدة الحساب والمنطق.
3.تنشيط مواقع البيانات في الذاكرة والإشراف على نقل هذه البيانات إلى مسجلات وحدة المعالجة المركزية CPU .
4.
إخبار وحدة الحساب والمنطق بنوع العملية المراد تنفيذها.
5.زيادة عداد البرنامج بقيمة مساوية لطول التعليمة لتحديد عنوان التعليمة اللاحقة في الذاكرة الأساسية.
6.الإشراف على تمرير النتائج إلى الذاكرة الرئيسة.
7.إصدار إشارات التحكم اللازمة للقراءة من الذاكرة أو الكتابة فيها وإشارات التحكم بعمل وحدة الحساب والمنطق.
8.إجراء عملية التوقيت اللازمة لتنفيذ ما سبق بشكل متسلسل.
بهذا فان وحدة التحكم يمكن تعريفها على أنها وحدة الكترونية مؤلفة من مجموعة من الدارات المنطقة "الرقمية".
 

5-4-1 مكونات وحدة التحكم:

  1.مسجل العنوان المستخدم لتخزين موقع الذاكرة المطلوب.
2.مسجل التعليمة لتخزين التعليمة المراد تنفيذها.
3.مسجل التعليمة لتحديد نوع العملية المراد تنفيذها.
4.مسجل عداد البرنامج الذي يخزن عنوان التعليمة المراد تنفيذها لاحقاً.
5.
دارات التوقيت لتحقيق عملية التسلسل في تنفيذ التعليمة.

5-4-2 حالات وحدة التحكم:

 

ترتبط وحدة التحكم مع عدة وحدات وتتبادل معها المعلومات وأثناء تنفيذ هذه الوحدة لمهامها قد تقع في إحدى الحالات التالية:
1.حالة الإدخال Input Mode أي عندما تقوم بقراءة تعليمات وبيانات من ناقل البيانات.
2. حالة الإخراج
Output Mode أي عندما تقوم بإرسال البيانات عبر ناقل البيانات.
3. حالة بداية عملية جديدة
Beginning new Operation .
4. حالة القراءة من الذاكرة
Memory Read.
5.حالة الكتابة في الذاكرة
Memory Write.
6.حالة البحث عن تعليمه
Instruction Fetch.
7.حالة القراءة من وحدة الإدخال
I/O Read.
8.حالة الكتابة في وحدة الإخراج
I/O Write.
 

5-4-3 التعليمات Instructions :

 

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

عناوين المعاملات
Operands Address

شيفرة العملية
Operation Code

التعليمة

مع ملاحظة أن شيفرة العملية تحدد نوع العملية المطلوب تنفيذها مثل الجمع،الطرح، ..الخ. ومن الواضح أن عدد خانات شيفرة العملية يحدد عدد العمليات الممكن تنفيذها:

حيث m عدد التعليمات,  n عدد خانات شيفرة التعليمة أما حقل عناوين المعاملات مكون من عدة حقول مستخدمة لتخزين المعاملات أو عناوينها عنوان التعليمة الثنائية, عنوان النتيجة.

هذا وتخزن كل تعليمة من التعليمات في موقع في الذاكرة الرئيسة تحت عنوان محدد بحيث يتم حفظ عنوان التعليمة في مسجل خاص في وحدة التحكم يسمى عداد البرنامج  Program Counter  حيث يشير إلى عنوان التعليمة التالية, وبعد البحث عن التعليمة وإيجادها تخزن التعليمة في مسجل خاص في وحدة التحكم يسمى بمسجل التعليمة Instruction Register .

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

تصنيف التعليمات:

1.تصنف التعليمات حسب عدد العناوين المستخدمة في حقل العناوين إلى:

  التعليمات ذات الأربع عناوين:
حيث تحتوي هذه التعليمات على حقل شيفرة العملية إضافة إلى أربعة حقول تمثل أربعة عناوين.
 
A4 A3 A2 A1 OPC

حيث أن:
  A1 , A2 عناوين المعاملين الأول والثاني.
 
A3 عنوان ناتج تنفيذ العملية.
 
A4 عنوان التعليمة التالية
  OPC شيفرة العملية.

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

A3 A2 A1 OPC

وحسب هذه التعليمة فانه يتم جلب المعاملات من المواقع A1,A2 وإجراء العملية المحدد نوعها في شيفرة العملية أما النتيجة فتخزن في الموقع A3.

التعليمات ذات العنوانين:
تحتوي هذه التعليمات على الحقول
OPC,A1,A2 وحسب هذه التعليمة فان المعاملات تجلب من المواقع A1,A2 وتنفذ عليها العملية المحدد نوعها قي شيفرة العملية أما النتيجة فتخزن في أحد مسجلات وحدة المعالجة المركزية.

•التعليمات ذات العنوان الواحد:
تحتوي هذه التعليمات على شيفرة العملية بالإضافة لعنوان معامل واحد أما المعامل الآخر فيتم استحضاره من المر كم.

2.تصنيف التعليمات حسب عدد المواقع اللازمة لتخزينها (حسب الطول):
التعليمات أحادية البايت :
طول هذه التعليمة 8 بت "خانات" أو 1بايت تستخدم هذه الخانات لتخزين شيفرة العملية.
•التعليمات ثنائية البايت:يستخدم البايت الأول لشيفرة العلمية أما البايت الثاني فيستخدم لتحديد عنوان المعامل.
•التعليمات ثلاثية البايت:طول التعليمة من هذا النوع 3 بايت يستخدم الأول لتخزين شيفرة العملية أما الثاني والثالث فيستخدم لتخزين عناوين المعاملين الأول والثاني.

3.تصنيف التعليمات حسب نوعها:
التعليمات الحسابية كتعليمات الجمع و الطرح الخ.
التعليمات المنطقية كتعليمات AND, OR وتعليمات الإزاحة لليسار أو اليمين.
تعليمات الإدخال والإخراج والمخصصة لتنفيذ عملية الإدخال أو الإخراج.
•تعليمات التكرار والمخصصة لتكرار تنفيذ عملية.
•تعليمات نقل التحكم والمخصصة لنقل التنفيذ إلى تعليمة لا تلي التعليمة التالية وذلك اعتمادا على شرط معين أو بدون شرط معين.

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

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

تمرر المعاملات من الذاكرة الرئيسية إلى وحدة الحساب والمنطق (قراءة المعاملات).
تقوم وحدة الحساب والمنطق بإجراء العملية المطلوبة على المعاملات.
تقوم وحدة التحكم بإصدار الإشارة الخاصة لوحدة الذاكرة لاستقبال النتيجة في العنوان المحدد في التعليمة.

محلل التعليمة Instruction Decoder :
قلنا انه لتنفيذ العملية لا بد من تحليل شيفرة التعليمة لتحديد نوعها وتنفيذها ويقوم بهذه المهمة وحدة خاصة داخل وحدة التحكم تسمى بمحلل التعليمة, ويلعب ط ول شيفرة التعليمة دورًا في تحديد تركيب محلل التعليمة حيث أن شيفرة التعليمة تحدد عدد الأوامر التي يمكن تنفيذها فلو كان طول الشفيرة 8 فإن اكبر عدد من الأوامر يمكن تنفيذه يساوي 256 أمرًا.
وبهذا يمكن تعريف محلل التعليمة على أنه دائرة الكترونية لها عدد من المداخل مساو لطول شيفرة التعليمة وعدد من المخارج مساو لعدد عمليات الأوامر الممكن تنفيذها.

 

5-5 الذاكرة الرئيسية Main Memory:

  لتنفيذ العمل لابد من التواجد هذا العمل (البرنامج) و البيانات اللازمة في الذاكرة الرئيسية بصورة مؤقتة حتى تتم عملية المعالجة ويتم نقل النتائج إلى وحدات الإخراج وكما نعلم أن الذاكرة الرئيسية تتألف من مجموعة خلايا ثنائية على شكل مصفوفة وتحمل الخلايا في السطر الواحد نفس العنوان أو الموقع, ومسجل بيانات مؤقت يسمي مسجل الكلمة Word Register ووحدة تحكم محلية و ترتبط الذاكرة مع وحدة التحكم عن طريق مسجل العنوان (باستخدام خطوط العنوان ) وبعض إشارات التحكم لتحديد عملية القراءة أو الكتابة.
 


5-5-1
تركيب الذاكرة الرئيسية:

 

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

تمثل أسطر هذه المصفوفة المواقع في الذاكرة أما الأعمدة فتمثل الكلمات ويختلف طول الكلمة (عدد الخلايا في السطر ) من حاسوب لآخر فقد تحتوي الكلمة على أربعة خلايا "بت"أو ثمانية أو ست عشرة.
ولتحديد كلمة ما في الذاكرة لابد من تحديد موقعها
Address الممثل بالسطر فالكلمة الثالثة يتم الوصول إليها عن طريق العنوان 3 وهكذا .ومن هنا يتبين لنا تركيب الذاكرة الرئيسية حيث تضم هذه الذاكرة الأجزاء الرئيسية التالية:

1.مسجل العنوان address register  حيث يخزن في المسجل عنوان الكلمة المراد الوصول إليها (رقم السطر في المصفوفة ).
2.مسجل الكلمة word register حيث يسجل في المسجل الكلمة المراد الوصول إليها (الأعمدة المشار إليها بالعنوان المسجل في مسجل العنوان ).
3.وحدة تحكم محلية Control Unit   للإشراف على عمليات الوصول إلى الكلمات(القراءة والكتابة ).
4.وحدة التخزين Storage Unit والممثلة بالمصفوفة نفسها (خلايا الذاكرة).
والشكل 5-3 يوضح تركيب الذاكرة الرئيسية:

أضغط لتكبير الشكل

الشكل 5-3 يوضح تركيب الذاكرة الرئيسية


 

يلعب مسجل العنوان دورًا في تحديد سعة الذاكرة حيث أن طول هذا المسجل (عدد الخلايا ) يحدد عدد المواقع Addresses التي يمكن الوصول إليها فلو كان طول هذا المسجل 8 بت فإن عدد المواقع يساوي أي 256 موقعاً. أما مسجل الكلمة فيحدد طول الكلمة التي يمكن تخزينها في الذاكرة.
مثال: إذا علمت أن طول مسجل العنوان يساوي
8 خلايا وطول مسجل الكلمة 4 خلايا فاحسب حجم الذاكرة:
الحل:


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

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

5-5-2 طرق عنونة الذاكرة Addressing Methods :  

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

تسمى الطريقة التي يتم فيها الحصول على المعامل بطريقة العنونة. والعنوان الذي يظهر مباشرة في التعليمة يسمى بالعنوان المبين Stated Address وعنوان موقع الذاكرة الذي يحتوي على المعامل يسمى بالعنوان الفعلي Effective Address .

قبل أن نستعرض طرق العنونة يجب أن نتذكر ما يلي :
• أن ذاكرة الحاسوب تخزن كل من التعليمات و البيانات:


 

• لعنونة التعليمة يستخدم مسجل خاص في وحدة التحكم يسمى بعداد البرنامج Program Counter ولعنونة البيانات يستخدم غالباً مسجل آخر يسمى بعداد البيانات Data Counter.

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

2. العنونة المباشرة Direct Addressing :
وهي أكثر طرق العنونة انتشاراً ويتم فيها الحصول على العنوان الفعلي من العنوان المبين في التعليمة مباشرة. أي أن حقل العنوان يحتوي على عنوان موقع الذاكرة الذي يخزن المعامل.
الشكل 5-4 يبين طريقة الحصول على المعامل في حالة العنونة المباشرة.

أضغط لتكبير الشكل

الشكل 5-4 طريقة الحصول على المعامل في العنونة المباشرة


من الأمثلة على هذه الطريقة : LDR r   Load Register  وتبعاً لهذه التعليمة تقرأ محتويات موقع الذاكرة المعنون بواسطة التعليمة ويجلب ليحمل في المسجل r.
ومن مساوئ العنونة المباشرة أن عدد مواقع الذاكرة المعنوية محدود , فإذا كان حقل العناوين يتكون من مواقع ثنائية عددها n فإنه يمكن عنونة       موقعاً فقط.
ويمكن حل هذه المشكلة بعدة طرق منها:
1. زيادة قياس حقل العناوين وبالتالي قياس التعليمة, إلا أن هذا يتطلب زيادة قياس موقع الذاكرة.
2. تخصيص أكثر من موقع ذاكرة لتخزين التعليمة, وتستخدم هذه الطريقة في الحواسيب الميكروية.
3. استخدام طرق عنونة أخرى.

3. العنونة غير المباشرة Indirect Addressing :
العنوان الفعلي في هذه الطريقة هو محتوى موقع الذاكرة المعنون بواسطة التعليمة. أي أن موقع الذاكرة المعنون بواسطة العنوان المبين في التعليمة يحتوي على عنوان موقع الذاكرة الذي يخزن فيه المعامل.
والشكل 5-5 يبين طريقة الحصول على المعامل في حالة العنونة غير المباشرة.

أضغط لتكبير الشكل
الشكل 5-5 يبين طريقة الحصول على المعامل في حالة العنونة غير المباشرة


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

لتميز نوع العنونة: هل هي مباشرة أم غير مباشرة يستخدم عادة بت خاص, فإذا كان محتواه 1 تكون طريقة العنونة المستخدمة غير مباشرة وإذا كان محتواه 0 تستخدم طريقة العنونة المباشرة.

التعليمة

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

أضغط لتكبير الشكل

الشكل 5-6 العنونة غير المباشرة باستخدام مسجلات وحدة التحكم

من مساوئ العنونة غير المباشرة ضرورة الرجوع إلى الذاكرة مرتين مما يؤدي إلى تدني السرعة.

4. العنونة المؤشرة Indexed Addressing :
حسب طريقة العنونة المؤشرة, للحصول على العنوان الفعلي يجب جمع العنوان المبين في التعليمة مع محتوى مسجل خاص يسمى بمسجل التأشير Index Register
ويبين الشكل 5-7 طريقة الحصول على العنوان الفعلي.

أضغط لتكبير الشكل

الشكل 5-7 طريقة الحصول على العنوان الفعلي في العنونة المؤشرة

عند التعامل مع الجداول المخزونة في مواقع متتالية في الذاكرة يمكن زيادة أو تنقيص محتوى مسجل التأشير بمقدار 1 للحصول على العنوان الفعلي, وتسمى هذه الطريقة بالتأشير الذاتي Auto Indexing .
ومن مساوئ استخدام العنونة المؤشرة ضرورة إجراء عملية الجمع للحصول على العنوان الفعلي.
ومن مزايا هذه الطريقة بالمقارنة مع العنونة غير المباشرة , الرجوع إلى الذاكرة مرة واحدة بدلاً من مرتين.
في كثير من الحالات تستخدم طريقتا العنونة غير المباشرة والمؤشرة معاً, وفي هذه الحالة يجب أن تحتوي التعليمة على بت أضافي يدل على نوع العنونة المستخدمة.ويبين الجدول التالي طريقة العنونة المستخدمة بالاعتماد على محتوى الخانتين الإضافيتين المستخدمين لتحديد طريقة العنونة.

ويبين الشكل5-8 طريقة الحصول على العنوان الفعلي في العنونة غير المباشرة_المؤشرة.

أضغط لتكبير الشكل
الشكل 5-8 طريقة الحصول على العنوان الفعلي في العنونة غير المباشرة - المؤشرة

5. العنونة النسبية Relative Addressing :
سنقوم بتسمية محتوى عداد البرنامج بالعنوان القاعدي Base Address. للحصول على العنوان الفعلي في هذه الطريقة يجب جمع العنوان المبين في التعليمة مع العنوان القاعدي.
ويبين الشكل 5-9 طريقة الحصول على العنوان الفعلي في العنونة النسبية.
 

أضغط لتكبير الشكل

الشكل 5-9 طريقة الحصول على العنوان الفعلي في العنونة النسبية


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

6. العنونة الصفحية Page Addressing:
كما هو معروف فإن قياس موقع الذاكرة محدود. فمثلاً يبلغ قياس موقع الذاكرة في أغلب الحواسيب الميكروية بايت واحد فقط. هذا الوضع يؤدي إلى تحديد قياس حقل العناوين في التعليمة.
من جهة أخرى, إذا كان قياس حقل العناوين في العناوين في التعليمة بايت واحد, فإن عدد مواقع الذاكرة الممكن عنونتها لا يزيد على 256 موقعاً, وواضح أن هذه السعة لا تسد الاحتياجات المطلوبة. وإحدى طرق حل هذه المشكلة هي زيادة سعة الذاكرة حسب الحاجة و تقسيم الذاكرة إلى صفحات Pages تحتوي كل منها على عدد متساوي من المواقع. وقياس الصفحة (عدد المواقع التي تحتويها) عادة يساوي عدد المواقع التي يمكن عنونتها بواسطة حقل العنوان في التعليمة.
ويبين الشكل 5-10 ذاكرة مقسمة إلى n صفحة (قياس كل صفحة 256 موقعاً).
 

أضغط لتكبير الشكل
الشكل 5-10 ذاكرة مقسمة إلى n صفحة تحتوي على 256 موقعاً


 

يتكون عداد البرنامج في العنونة الصفحية من جزئيين, حيث يحدد الجزء الأول رقم الصفحة ويحدد الجزء الثاني عنوان الموقع داخل الصفحة. أي أن العنوان الفعلي هو عنوان موقع الذاكرة بالنسبة للصفحة الحالية.
بمعني آخر فإنه يجب جمع عنوان أول موقع في الصفحة الحالية مع العنوان المبين للحصول على العنوان الفعلي.
من مزايا العنونة الصفحية أمكانية زيادة سعة الذاكرة رغم القيود على قياس العنوان.
عند استخدام العنونة الصفحية توجد عدة مشاكل أهمها: ماذا يحدث إذا خرجت قيمة العنوان الذي يحدد الموقع في الصفحة الحالية عن مجال القيم المسموح بها, أي إذا وصلت قيمة هذا العنوان إلى 1....111?
ولحل هذه المشكلة يمكن زيادة هذا العنوان بمقدار 1 للحصول على 0....00 وفيض يساوي 1 واستخدام أحدى الطرق التالية:
1. إهمال الفيض وبهذا فإنه تتم عنونة الموقع الأول من الصفحة الحالية.
2. جمع الفيض مع الجزء الثاني في عداد البرنامج والذي يحدد عنوان الصفحة و بهذا نكون قد انتقلنا إلى الموقع الأول في الصفحة التالية.
 

5-5-3 تصنيف وحدة الذاكرة:

 

تصنف حسب العوامل التالية:
1. حسب الوسط الفيزيائي المستخدم لتخزين المعلومات.

2.
حسب طريقة الوصول إلى المعلومات المخزنة.
3. حسب قابلية التطاير.
4. حسب القابلية للمسح والبرمجة.

•تصنيف وحدة الذاكرة حسب الوسط الفيزيائي المستخدم لتخزين المعلومات:
هناك أنواع كثيرة من الأوساط التي تستخدم لتخزين البيانات نذكر منها ما يلي:
الأوساط المغناطيسية: مثل ذاكرة الحلقة الممغنطة والأشرطة المغناطيسية والأقراص المغناطيسية.
•الأوساط الإلكترونية: وتستخدم هذه الأوساط الدوائر الإلكترونية المصممة من الترانزستورات وكان هذا النوع مستخدما في الحواسيب القديمة وتستخدم الآن الدوائر المتكاملة خصوصًا في الذاكرة الرئيسية كوسط الكتروني لتخزين المعلومات.
•الأوساط الورقية : تستخدم كأوسط تخزين في الذاكرة المساعدة مثل البطاقات المثقبة والأشرطة الو رقية المثقبة , ولم تعد هذه الأوساط تستخدم في وقتنا الحالي .

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

•تصنيف الذاكرة حسب قابلية التطاير:
نعني بالتطاير فقدان الذاكرة للمعلومات عند انقطاع التيار الكهربائي.
•الذاكرة المتطايرة: وهي الذاكرة التي تفقد المعلومات المخزونة فيها عند انقطاع مصدر التغذية الكهربائية كما هو الحال في الذاكرة الرئيسية.

الذاكرة الغير متطايرة: وهي الذاكرة التي تحتفظ بالمعلومات المخزونة فيها فترة طويلة عند انقطاع التيار الكهربائي كما هو الحال في الذاكرة المساعدة.

•تصنيف الذاكرة حسب القابلية للبرمجة والمسح:
•الذاكرة القابلة للمسح
Erasable Memory  حيث يمكن مسح الذاكرة وإعادة الكتابة عليها ومن أهم الأمثلة على هذه الذاكرة ذاكرة الحلقات الممغنطة والأقراص والأشرطة الممغنطة .
ومن الجدير بالذكر أن الذاكرة الرئيسية يطلق عليه
RAM (Random Access Memory) حيث يمكن القراءة منها والكتابة عليها .

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

ويبن الجدول أهم الفروقات بين RAM  ROM:

وجه المقارنة ROM RAM
عملية الكتابة ممنوعة مسموحة
تأثرها بالتيار غير متطايرة متطايرة
أمكانية البرمجة مرة واحدة حسب الحاجة
استخدامها لتخرين بعض البرامج اللازمة للتشغيل لتخزين نظم التشغيل و برامج المستخدم

•ذاكرة الكومة Stack  : تعتبر جزءًا من ذاكرة ROM وتستخدم لأغراض محددة وذلك لحفظ بعض القيم لاسترجاعها لاحقًاكما وتستخدم هذه الذاكرة بفاعلية عند استخدام البرامج الفرعية .
تتكون ذاكرة الكومة من مجموعة من المواقع تستخرج محتوياتها حسب مبدأ
LIFO وذلك باستخدام مؤشر يستخدم لأغراض خاصة يعرف باسم مؤشر الكومة   Stack Pointer وهو مسجل يشير إلى الموقع الذي يمكن التعامل معه .
تقبل ذاكرة الكومة عملية القراءة (الاسترجاع
pop ) وعملية الكتابة (الإضافة push ) كما هو مبين في الشكل 5-11 :

أضغط لتكبير الشكل
الشكل 5-11 ذاكرة الكومة

وتتم عملية التخزين في هذه الذاكرة دائمًا في المقدمة بحيث يكون في المقدمة بحيث يكون في المقدمة آخر عنصر تم إدخاله .LIFO last In First Out  (الداخل آخرًا الخارج أولاً) .
إن عملية إضافة عنصر إلى مقدمة الكومة تسمى عملية دفع
PUSH وعملية أخذ عنصر تسمى عملية سحب pop .
ودائماً يحتوي المؤشر على عنوان مقدمة الكومة
Stack وتستخدم ذاكرة الكومة المنتظمة عند تنفيذ العمليات الحسابية وتستخدم أيضاً عند تنفيذ البرامج الفرعية لحفظ العنوان عند التفرع. وفي حالات الاعتراض عند توقف تنفيذ البرامج وانتقال السيطرة إلى تنفيذ برنامج أو عمل آخر.

الذاكرة الخفية Cache Memory:
الذاكرة الخفية عبارة عن مسجلات بالغة السرعة (أسرع من مسجلات الذاكرة الرئيسية ) وأقل سرعة من مسجلات وحدة المعالجة المركزية
CPU Registers ,  وتقع الذاكرة المؤقتة(الخفية) بين المعالجات CPU Processors والذاكرة الأساسية,  وفيها يتم تخزين الإيعازات المنتظرة والبيانات المرتبطة بها مما يحقق تقليل زمن الاستدعاء بنسبة 90% تقريباً.
 عند استدعاء مجموعة من البيانات من الذاكرة الأساسية إلى المعالج, يتم فحص الذاكرة المؤقتة, فيما إذا كانت تحتوي على البيانات المطلوبة أم لا. فإذا كانت لا تحتوي على البيانات المطلوبة يتم إحضار البيانات من الذاكرة الأساسية إلى المواقع الفارغة في الذاكرة المؤقتة(الخفية).

أضغط لتكبير الشكل
الشكل 5-12 يبين موقع الذاكرة المؤقتة بالنسبة لكل من الذاكرة الأساسية و المعالجات



حول الموقع  الصفحة الرئيسية  المراجع