تجميع أحمد الرفاعي
يوضع داخل كل حجرة رقم ست عشري يتراوح بين 0 و عع و يدعى هذا الرقم بمحتوى تلك الحجرة.
يوجد بين المعالج و الذاكرة ممران هما ممر المعطيات بعرض 16 بت و ممر العناوين بعرض 20 بت.
عندما يحتاج المعالج إلى القيمة المخزنة في الحجرة ذات الرقم 100 ( عنوائها 100 ) فإن الرقم
0 يمثل بشكل ثنائي و يوضع على ممر العناوين و يرسل إلى الذاكرة؛ و حالما تستلم الذاكرة هذا
العنوان فإن محتوى الحجرة 100 يرسل إلى المعالج عن طريق ممر المعطيات.
إن كون ممر العناوين ذو عرض 20 بت ( 20 خط نقل) هذا يعني أنه يستطيع نقل رقم ثنائي ذو 20
خانة أي أن أكبر قيمة يمكن وضعها على ممر العناوين هي :
و بذلك يستطيع المعالج 8086 عنونة واحد ميغا من الذاكرة فقط.
مقاطع الذاكرة (هنه الشرة مرئيطة ارتبلئ ونث بلمسجانت)
يتعامل المعالج كما ذكرنا مع واحد ميغا من الذاكرة؛ و يمكن أن نقتطع من هذه الميغا أربعة مقاطع أساسية
يتعامل معها برنامجنا بشكل مباشر (أي أنه لا تتم الاستفادة من كل الذاكرة بآن واحد) و هذه المقاطع
الأربعة هي:
1) مقطع الشيفرة 65 58901801 6006
يخصص هذا المقطع من الذاكرة -كما هو واضح من تسميته- البرنامج. و هناك مسجل له
نفس الاسم 08 موجود في المعالج يحتفظ بقيمة تدل على بداية هذا المقطع في الذاكرة و يساعده المسجل
2) مقطع المعطيات 05 58901801 0318
يخصص هذا المقطع من الذاكرة لتخزين المعطيات و المتحولات. و هناك مسجل له نفس الاسم 05
موجود في المعالج يحتفظ بقيمة تدل على بداية هذا المقطع في الذاكرة و يساعده المسجل |8 الذي يث
إلى الإزاحة بالنسبة إلى بدايته.
3) مقطع المكدس 55 568901801 51801
يخصص هذا المقطع للحفظ المؤقت لبعض المعلومات
4 ا (5002)5-2 (إدخال معلومات)
يخشى أن تضيع أو
تتغير أشاء تنفيذ
برنامج ما. وهناك مسجل له 88 رشة فيس)
نفس الاسم 88 موجود في
المقطع في الذاكرة. ثر سي تنا
آلية عمل المكدس 0011150 :51:5 85110 ( آخر ما امد
يدخل أول ما يخرج ) : أي أن أول عنصر يدخل إلى لس
المكدس يصبح في قعره و آخر عنصر يدخل المكدس يصبح في قمته و يتم
سحب المعلومات من المكدس من قمته حيث لدينا مسجل اسمه 58 0010018 81806 يشير دوماً إلى قمة
المكدس فهو يتغير حسب الحالة التي يتم بها التعامل مع المكدس ( إدخال معلومات أو إخراج ). فعند
إدخال معلومة بطول 2 بايت فإن قمة المكدس تقترب من بداية الذاكرة انظر الشكل) و بذلك تنقص قيمة
80 بمقدار 2 لأن إملاء المكدس يعني الاقتراب من العنوان الأصغر و العكس بالعكس أي عندما نسحب
العالي لتقنيات الحاسوب ٍ 0
بق العربي للبرمجة. تجميع أحمد الرفاعي
معلومة من المكدس فإن قمته تبتعد عن بداية الذاكرة و بذلك تزيد م9 بمقدار 2 لأن إفراغ المكدس يعني
الاقتراب من العنوان الأكبر.
4) مقطع المعطيات الإضافي 55 58900801 51:8
يستخدم عند الحاجة إلى استخدام مقطعي معطيات بنفس الوقت و بذلك نستطيع الاستفادة من مساحة أكبر
في الذاكرة. و يساعده المسجل 01 1006# 065008400 الموجود في المعالج و الذي يشير إلى الإزاحة
بالنسبة
التمييز بين المقطع و مسجل المقطع حيث المقطع هو جزء من الذاكرة بينما مسجل المقطع
زو عر توجرذ في المعلي.
المسجلات 5165/و16
يملك المعالج 6 أربعة مجموعات من المسجلات ذات 16 بت يستطيع المبرمج الوصول إليها و هي:
1) مؤشر التعليمة 18
2) أربعة مسجلات معطيات )*2068:,0:,0 .
3) أربعة مسجلات تأشير و فهرسة 81,01,88,88 .
4) أربعة مسجلات مقاطع 08,05,85,88 .
بالإضافة إلى ذلك يوجد مسجل آخر هو مسجل الأعلام و يدعى أيضاً مسجل الحالة و هو مسجل ذو 16
سنشرح كل من هذه المسجلات بالتفصيل :
المجموعة الأولى : مسجلات المقاطع
و هي عبارة عن أربعة مسجلات طول كل منها 16 بت أي 2 بايت و هي :
1) مسجل مقطع الشيفرة 05 : يحتوي على عنوان أول حجرة في مقطع شيفرة البرنامج في الذاكرة؛ أي
أنه يشير إلى بداية مقطع الشيفرة
0 ال يحتوي على عنوان أول حجرة في مقطع المعطيات في الذاكرة؛ أي أنه
3) مسجل مقطع المكدس 85 : : يحتوي على عنوان أول حجرة في مقطع المكدس في الذاكرة؛ أي أنه
يشير إلى بداية مقطع المكدس.
مَسجل قطع المعطيات الإضافي 5ع : يحتوي على عنوان أول حجرة في مقطع المعطيات الإضافي
في الذاكرة؛ أي أنه يشير إلى بداية مقطع المعطيات الإضافي.
العالي لتقنيات الحا
يات الفريق العر
المقاطع؛ و طول هذه المسجلات 16 بت أي 2
1) مسجل دليل المصدر 51 *«1008 5010168 يخزن فيه عنوان يدل على الإزاحة ضمن مقطع المعطيات
8 و بمعنى آخر يستعمل في إمساك العناوين الفعالة من أجل التعليمات التي تتناول المعطيات
المخزنة في مقطع المعطيات في الذاكرة.
2) مسجل دليل الهدف 01 »1006 065008100 : يخزن فيه عنوان يدل على الإزاحة ضمن مقطع
المعطيات الإضافي 5ح ؛ و بمعنى آخر يستعمل مسجل دليل الهدف 01 من أجل استنتاج العنوان
الفيزيائي الذي يحدد حجرة متحول الهدف.
3) مسجل مؤشر المكدس 58 00100188 !5:80 : يسمح مؤشر المكدس بوصول سهل للحجرات في مقطع
المكدس الموجود في الذاكرة حيث أن القيمة في 50 تمثل العنوان الفعل لحجرة المكدس التالية التي
يمكن الوصول إليها نسبة إلى العنوان الحالي الموجود في مسجل مقطع المكدس 85 و يحتفظ م5
دوماً بقيمة تدل على قمة المكدس ؛ هذا و إن قيمة هذا المسجل تتعدل تلقائياً عند وضع أو سحب
معلومة بالمكدس.
4) مسجل مؤشر القاعدة 88 801046 8858 : يحوي قيمة تدل على الإزاحة بالنسبة لمقطع المكدس 58
وهو يستخدم لقراءة المعطيات ضمن مقطع المكدس بدون إزالتها من المكدس.
المجموعة الثالثة: مسجلات المعطيات
تستخدم هذه المسجلات من أجل التخزين المؤقت للنتائج المرحلية أثناء تنفيذ البرنامج حيث أن تخزين
تقسم المسجلات إلى :
1) مسجل المراكم 80000018063 و يرمز له بالرمز 8 .
2) مسجل القاعدة 8856 و يرمز له بالرمز 8 .
3) مسجل العد 00001 و يرمز له بالرمز © .
4) مسجل المعطيات 0848 و يرمز له بالرمز 0 .
وكل مسجل من المسجلات السابقة يمكن استعماله إما ككلمة 16 بت و يدل على ذلك بكتابة الحرف )(
بعد اسم المسجل أو يمكن استعماله كبايتين كل منهما 8 بت و يدل على ذلك باستخدام الحرفين ,| حيث :
. للبايت ذو العنوان الأصغر ؛ مثال لم ١
للبايت ذو العنوان الأكبر ؛ مثال 81 .
الأسمبلي متل 800 ,800 .
و من أجل بعض التعليمات متل البرامج التي تحتوي على تعليمات سلاسل فإنها تستعمل مسجلات معيئة
مثل استعمال المسجل 0 لتخزين العدد الذي يمثل عدد البايتات التي ستنفذ عليها تعليمات السلاسل ( عدا
مرات تكرار تعليمة السلسلة )
مسجل مؤشر التعليمة 18 +801046 10511001100
هذا المسجل يحدد موقع التعليمة التالية التي ستنفذ في مقطع الشيفرة و بعد جلب شيفرة التعليمة من الذاكرة
فإن لا1 تعدل قيمة 18 بحيث تشير إلى التعليمة التالية في الذاكرة ( التعديل يتم آلب ).
مسجل الأعلام +516زو86 1295
هو مسجل ذو 16 بت موجود في وحدة التنفيذ كما هو واضح بالشكل :
إلى طلاب المركز العالي لتقنيات الحاسوب ٍ 0
ت الفريق العربي للبرمجة تجميع أحمد الرفاعي
و كما نلاحظ من الشكل السابق أنه يوجد ستة أعلام للحالة هي ع0 ,85 ,25 ,عم ,ع0 ,ع0 ؛ و كذلك
يوجد ثلاثة أعلام للتحكم ع7 ,ع1 ,05
أ) أعلام الحالة
تشير إلى الحالات الناتجة كنتيجة لتنفيذ تعليمة منطقية أو حيث تكون إما في حالة واحد منطقٌ
.6 أو تكون في حالة صفر منطقي »هم ؛ و منلخص فيما بلي حمل كل منهاء
يكون في حالة الواحد المنطقي إذا وجد اذ اج خارجي ( حمل ) أو استعارة من أجل الخانة الأخيرة (البت
الأخير) و ذلك أثناء تنفيذ التعليمات الرياه
حاتي خاي المنطقي إذا لم يوجد حمل أو استعارة من أجل البت الأخير.
و حالة الإنزياح
الاحظ بأن النتبجة لم تمع في ثمانية بنات و إنما
لاحظ بأن العند الأول الشمثل ثنائياً أصغر من العدد
الثاني الممثل ننائبا أيضاً ؛ لذلك فعند إجراء عملية
استعارة من أجل البت الأعلى رتبة.
و في المثالين السابقين نطبق نفس الكلام من أجل 2 بايت و لكن الإنزياح الخارج و الاستعارة تكون من
أجل البت الخامس عشر (الأخير).
بعد التحويل إلى النظام الثنائي طبعاً ) و إلا يكون في حالة الصفر المنطقي.
نلاحظ أن علم ]0 يفحص البايت السفلي فقط حتى لو كنا نتعامل مع كلمة ( 2 بايت ) ؛ أما عندما نتعامل
ثالثا: علم الإنزياح المساعد عم ه12 /معانساحظ
يكون في حالة الواحد المنطقي إذا وجد إنزياح من النصف السفلي إلى النصف العلوي أو استعارة من
النصف العلوي إلى النصف السفلي و ذلك من أجل البايت السفلي من الكلمة ( 2 بايت ) و بمعنى آخر أنه
العالي لتقنيات الحاسوب
ت الفريق العربي للبرمجة
في هذه الحالة بكون 820 لأنهه
في الناتج
الخانة الثالئة
رابعاً: علم الصفر ]2 7189 20610
ب بح في حالة واحد نطقي عندما يكون ناتج آخر
يصبح في حالة صفر من ندما يكون ناتج آخر
خامساً: علم الإشارة ع8 و16 5190
يكون علم 87 في حالة واحد منطقي 88 إذا كانت نتيجة آخر عملية حسابية عدداً سالبا.
يل الأعداد السالبة في الكمبيوتر هي اعتبار الخانة الأخيرة مخصصة للإشارة
خانات فسيتم اقتطاع الخانة الأخيرة منه من أجل الإشارة فإن احتوت على
و بذلك يكون 8 هو نسخة عن الخانة الأخيرة في الناتج عند اعتماد هذا النظام لتمثيل الأعداد السالبة.
واحد من -128 إلى +127
سادساً: علم الطفحان ]0 و18 /0/8111010
يكون في حالة واحد منطقي عندما لا تتسع النتيجة في المكان المخصص لتخزينها أي تتجاوز القدرة
يحدث الطفحان في الحالات ا ٍ
1) جمع أعداد موجبة كبيرة.
2) جمع أعداد سالبة كبير
3) طرح عدد موجب كبير من عدد سالب كبير.
4) طرح عدد سالب كبير من عدد موجب كبير.
المعالج مزود بتعليمات تستطيع اختبار حالة هذه الأعلام لتغيير تتابع تنفيذ البرنامج فمثلاً يمكن اختبار
علم 2-1 كشرط من أجل القفز إلى جزء آخر من البرنامج.
و يدا إلى منشرح إعلام لتسكير
أولً: علم الخطوة الوحيدة 7 و18 م738
يوضع بالحالة واحد منطقي عندما نرغب بتنفيذ البرنامج خطوة خطوة و هو مفيد عندما نريد تصحيح
برنامجنا و استكشاف مواقع الأخطاء.
العالي لتقنيات الحاسوب
ت الفريق العربي للبرمجة
ثانياً: علم المقاطعة ١ و02 معام
يستخدم من أجل التعبير عن إمكانية أو عدم إمكانية
نرغب بتنفيذ أي مقاطعة (المقاطعة محجوبة) أما عند وضعه في حالة الصفر المنطقي فإن المقاطعة
مسموح بها.
ملاحظة: المقاطعة هي عبارة عن خدمة تؤدي إلى عمل معين فمثلاً المقاطعة 21 و التي من أحد خدماتها
العودة إلى نظام التشغيل.
ثالثا: علم الاتجاه ]0 و16 01660100
يدل على اتجاه سير العمليات التسلسلية.
عندما يكون في حالة واحد منطقي السلسلة تكون من العنوان الأعلى إلى العنوان الأدنى.
عندما يكون في حالة صفر منطقي فإن السلسلة تكون من العنوان الأدنى إلى العنوان الأعلى.
مفهوم العنوان الفيزيائي و الإزاحات
مقدمة 0
لاحظنا أن الذاكرة بطول 1 ميغا بايت أي أنها مرقمة من 0000017 إلى ]ع لذلك فإنئا نحتاج أثناء
عنونة المقاطع إلى رقم ست عشري بطول 20 بت ذلك لأن تمثيل رقم ست عشري بطول خمس خانات (
وهو المستخدم في ترقيم حجرات الذاكرة ) يحتاج إلى عشرين بت لكن مسجلات المقاطع و التي
نستخدمها في العنونة هي بطول 16 بت فقط الأمر الذي يضطرنا إلى استنتاج عنوان فيزيائي بعشرين بت
آلية الحصول على العنوان الفيزيائي م٠ 00:855م ل68 ارا
يلزمنا لإيجاد العنوان الفيزيائي قيمتين هما :
فكرة م71 9000 /80/ا :
عندما نريد إزاحة رقم ممثل بالنظام العشري خانة واحدة نحو اليسار فإننا نضربه بعشرة !!
مثال: هل تستطيع إزاحة الرقم 192 إلى اليسار خطوة واحدة ليصبح 1920 ؟؟
نعم و ذلك بضربه بعشرة كالتالي 1920 - 10 192
مقايلها في النظام العندري . عثمرة النظام البسث عتشري
1) نأخذ قيمة مسجل المقطع الممتلة بالنظام الست عشري و نضربها بعشرة النظام الست عشري فتنزاح
قيمة مسجل المقطع خانة واحدة نحو اليسار.
2) نجمع قيمة المسجل المساعد لنفس ال و الممثلة أيضاً بالنظام الست عشري فتكون النتيجة هي
حصولنا على العنوان الفيزيائي
(800685 011/51621) 0/8 - قيمة المسجل المساعد + ( 108 * مسجل المقطع )
بفرض لدينا مسجل مقطع الشيفرة 08 يحتوي على 1860 و قيمة مسجل مؤشر التعليمة 0 المساعد له
هي 80 أوجد العنوان الفيزيائي للتعليمة :
تجميع أحمد الرفاعي
60 - 20 + 1860106 - © + ( 605100 ) حدم
بوجه هذا العنوان إلى الذاكرة
مثال آخر: أوجد 0/8 بفرض 10000 - 08 و 812175 .
عندما نُعطى العنوان القزيائي وانرية استتتج قيسة مسجل المقلع ( عنوان المقطع ) و قيمة المسجل
المساعد له ( الإزاحة ) نتبع إحدى الطريقتين
الطريقة الأولى
1- نأخذ الخانات الأربعة اليمينية من العنوان الفيزيائي المعطى و نعتبرها إزاحة ( أي نضع قيمتها في
المسجل المساعد ) .
2- نصفر الخانات الأربعة الأولى من العنوان الفيزيائي فينتج معنا رقم ست عشري أول أربع خانات منه
3- نحذف الصفر الأول من الرقم الناتج فينتج معنا رقم ست عشري هو قيمة مسجل المقطع .
بفرض لدينا عدد موجود في العنوان الفيزيائي 410001 أوجد قيمة مسجل المعطيات 05 و قيمة المسجل
المساعد له 81 .
الحل: حسب الطريقة بأخذ الخانات الأربعة الأولى من على اليمين تكون قيمة 51 تساوي 10005 و هي
طريقه أخرى
1- نأخذ الخائة الأولى من العنوان الفيزيائي ونعتبرها إزاحة.
2- نحذف تلك الخانة من العنوان الفيزيائي فيصبح الرقم الناتج مؤلف من أربع خانات و هو يمثل قيمة
مسجل المقطع.
مثال: بفرض كان 410005 حرم
الحل : بأخذ الخانة الأولى
أخذنا الخانات المتبقية من الرقم 05-4100 2
طلاب المركز العالي لتقنيات الحاسوب
مسجل الأعلام
الذاكرة الخارجية
العالي لتقنيات الحاسوب
يات الفريق العربي للبرة
أساليب العنونة
إن حيز الذاكرة منظم على شكل بايتات معنونة من 000005 إلى (اع]ع]عح لذلك من أجل كلمات
المعطبات 16 بت يتم تخزين البايت السفلي في العنوان الأصغر و البايت العلوي في العنوان الأكبر كما
المكدس و مقطع المعطيات الإضافي؛ حيث يتم الرجوع إلى هذه المقاطع بمساعدة مسجلات المقاطع ذات
ل مج تبديل الع يم في مسجلاك العا قاطع برمجياء أن ليات جديد ببساطة
نلك يملق المسجل 05 عن طريق تنفيذ التعليمتين التاليتين
كل نظام عنونة له طريقة مختلفة لحساب عنوان المتحول الذي سيخرج على ممر العناوين أثناء دورة
ملاحظة: جميع التعليمات ستشرح لاحقا.
أولاً: نظام العنونة بالمسجل
في هذا النظام يكمن المتحول بمسجل داخلي للمعالج؛ فمثلاً التعليمة التي تستعمل نظام العنونة بالمسجل هي
1/001 و التي تعني نقل محتوى 87 (متحول المصدر) إلى المسجل )م (متحول الهدف) أي أن
تنفيذ هذه التعليمة يتم دون الرجوع إلى الذاكرة أي في المعالج لأن كلا المسجلين )80م و *«8 موجودين في
خطينة | علد عنوان