You are on page 1of 86

‫الوحدة االولى‬

‫هيكلية الحاسوب‬
‫هيكلية الحاسوب ولغة التجميع اسمبلي‬
‫‪1381‬‬

‫د‪ .‬يوسف ابوزر‬


‫جامعة القدس المفتوحة‬
‫المواضيع‬

‫• سنعرفك عزيزي الدارس في هذه الوحده‬


‫على مكونات الحاسوب وانواع الهيكليات‬
‫المستخدمه واهم خصائص هذه الهيكليات‬

‫‪2‬‬
‫أهداف الوحدة‬
‫• تشرح مكونات الحاسوب و تعد وظائف كل‬
‫منه‪I‬ا وتبين طريقة وصل هذه المكونات‬
‫بعضها مع بعض ‪.‬‬
‫• تشرح أهم ميزات هيكليات الحواسيب الكبيرة‬
‫والصغيرة ‪.‬‬
‫• تم‪I‬يز أنواع الهيكليات وتوضح خصائص كل‬
‫نوع منها‪.‬‬
‫‪3‬‬
‫أهداف الوحدة‬
‫ضح مكونات التعليمه وتعد أصناف‬ ‫• تو ّ‬
‫التعليمات (مع االمثله) حسب عدد العناوين‬
‫فيها‬
‫• تبين تأثير عدد العناوين في التعليمه على طول‬
‫البرنامج مع األم‪I‬ثلة ‪.‬‬
‫• تشرح خطوات تنفيذ البرنامج في الحاسوب ‪.‬‬

‫‪4‬‬
‫المك‪I‬ونات االساسية للحاسوب‬
‫• ما هي المهام االساسية التي ينفذها‬
‫الحاسوب؟‬
‫• ما هي الوحدات التي يجب ان يحتويها لينفذ‬
‫هذه المهام؟‬
‫• ما هي الع‪I‬وامل التي تعتمد عليها قدرة و‪I‬كفاءة‬
‫الحاسوب ؟‬
‫‪5‬‬
‫تستخدم لنقل‬
‫والبرامجالمكونات األساسية للحاسوب‬
‫المدخالت من العالم‬
‫الخارجي إلى‬
‫تستخدم لعرض‬
‫البيانات‬
‫‪.‬‬
‫الحاسوب‬ ‫‪ .‬والمعلومات‬

‫وحدة‬ ‫وحدة‬ ‫وحدة‬


‫االدخال‬ ‫المعالجة‬ ‫اإلخراج‬
‫تستخدم لتخزين‬ ‫تستخدم لتنفيذ‬
‫البيانات والبرامج‬ ‫البرامج على‬
‫قبل المعالجة‬ ‫البيانات‬
‫وكذلك لتخزين‬ ‫وحدة‬ ‫وتحويل األخيرة‬
‫النتائج بعد‬
‫‪.‬المعالجة‬
‫الذاكرة‬ ‫‪ .‬إلى معلومات‬
‫‪6‬‬
‫وحدة المعالجة المركزية‬
‫وحدة‬
‫الحساب‬ ‫المسجالت‬
‫والمنطق‬
‫وحدة التحكم‬

‫الناقالت‬
‫وحدة‬ ‫البيانات‬ ‫وحدة‬
‫اإلدخال‬ ‫التحكم‬ ‫اإلخراج‬
‫العنوان‬

‫الذاكرة‬
‫الرئيسية‬
‫‪7‬‬
‫التنظيم الهيكلي للحاسوب‬
‫• ما هي عناصر هيكلية الحاسوب‬
‫–انواع البيانات وطرق تمثيلها‬
‫–طرق العنونة‬
‫–ص‪I‬يغ التعليمات وانواعها‬
‫–النم‪I‬وذج البرمجي للمعالج‬
‫‪8‬‬
‫التنظيم الهيكلي للحاسوب‬
‫• تابع ‪ .....‬ما هي عناص‪I‬ر هيكلية الحاسوب‬
‫–تنظيم الذاكرة الرئيسية‬
‫–نظام االدخال واالخرج‬
‫–االعتراض‪I‬ات‬
‫–انظمة التشغيل‬
‫‪9‬‬
‫بنية المعالج‬
‫في حواسيب‬
‫‪IBM‬‬
‫‪360/370‬‬

‫‪CPU‬‬
‫‪registers‬‬
‫‪10‬‬
‫النموذج‬
‫البرامجي‬
‫للم‪-‬عالج ‪-‬‬
‫المسجالت التي‬
‫يسمح للمبرمج‬
‫استخدامها اثناء‬
‫كتابة برامج‬
‫‪11‬‬ ‫بلغة اسمبلي‬
‫صيغ التعليمات وطرق العنونة‬

‫• تتكون تعليمات حواسيب‬


‫‪IBM 360/370‬‬
‫من ‪ 2‬او ‪ 4‬او ‪ 6‬بايت‪.‬‬
‫• يتراوح عدد العناوين فيها من عنوان‬
‫واحد الى ثالثة عناوين ‪.‬‬

‫‪12‬‬
‫صيغ التعليمات وطرق العنونة‬

‫‪13‬‬
‫صيغ التعليمات وطرق العنونة‬
‫حسب مواقع تخز‪I‬ين المعامالت وطرق عنونتها تصنف‬
‫التعليمات الى االنواع الخمسه التاليه ‪:‬‬
‫– تعليمات ‪ ( RR‬مسجل ‪ -‬مسجل ) تحتوي تعليمات‬
‫‪ RR‬على معاملتين اثنتين في المسجالت ‪.‬‬
‫– تعليمات ‪ ( RX‬مسجل ‪ -‬ذاكره ) ‪ .‬تحتوي‪ I‬تعليمات‬
‫‪ RX‬على معاملتين اثنتين احداهما في احد‬
‫المسجالت واالخر‪I‬ى في احد مواقع الذاكره الر‬
‫ئيسيه‪.I‬‬
‫‪14‬‬
‫صيغ التعليمات وطرق العنونة‬
‫–تعليمات ‪ ( RS‬مسجل ‪ -‬ذاكره ) تحتوي‬
‫تعليمات ‪ RS‬على ثالث معامال ت ‪:‬‬
‫االولى والثانيه في المسجالت ‪ ،‬والثالثه في‬
‫احد مواقع الذاكر ة الرئيسيه ‪.‬‬
‫–تعليمات ‪ ( SS‬ذاكره ‪ -‬ذاكره ) تحتوي‬
‫تعليمات‪ SS‬على معاملتين اثنتين كالهما‬
‫في مواقع الذاكر ة الر ئيسيه ‪.‬‬
‫‪15‬‬
‫صيغ التعليمات وطرق العنونة‬
‫–تعليمات ‪ ( SI‬ذاكره ‪ -‬تعليمه ) تحتوي‬
‫تعليمات ‪ SI‬على معاملتين اثنتين احداهما‬
‫في احد مواقع الذاكر ة الرئيسيه واالخرى‬
‫في التعليمه نفسها ‪.‬‬

‫‪16‬‬
‫نعني بطرق‬
‫طرق العنونة‬ ‫العنونة األساليب‬
‫ألمتبعه في تحديد‬
‫مواقع البيانات‪.‬‬

‫‪17‬‬
‫طرق العنونة‬

‫‪18‬‬
‫طرق العنونة‬
‫• إذا استخدمت طريقة العنونه باستخدام االساس‬
‫والفهرس ‪ ،‬فإن العنوان يتكون من ثالثة‬
‫عناصر هي ‪-:‬‬
‫–محتويات مسجل االساس "‪Base ” B‬‬
‫–مقدار االزاحه "‪Displacement" D‬‬
‫–محتويات مسجل الفهرس "‪Index “X‬‬
‫‪19‬‬
‫طرق العنونة‬
‫• ولحساب العنوان الفعلي تجمع القيم الثالثه‬
‫اآلنفة الذك‪-‬ر كما يلي ‪:‬‬
‫‪Address = ( B ) + ( X ) + D‬‬

‫‪20‬‬
‫الذ اكره الرئيسية‬
‫‪IBM 360/370‬‬ ‫• تصل سعة الذاكرة الرئيسية في حواسيب‬
‫لغاية ‪ 16‬ميغابايت (حوالي ‪ 16‬مليون بايت)‪،‬‬
‫• مقسمه الى كلمات طول كل منها ‪ 4‬بايت‪ .‬ويمكن تجزئة‬
‫الكلمه ‪ Word‬إلى نصف كلمه ‪ ،Halfword‬ويمكن كذلك‬
‫تجزئة نصف الكلمه ألى نصفين طول كل منهما بايت‬
‫واحد‬

‫‪21‬‬
‫الذ اكره الرئيسية‬
‫• من الطرق المتبعه لزيادة فعالية الذاكره‬
‫الرئيسيه في حواسيب ‪IBM 360/370‬‬
‫استخدام ذاكرة كاشي ‪Cache memory‬‬
‫والذاكره اإلرتباطيه ‪Associative memory‬‬

‫وحدة‬ ‫الذاكرة‬
‫المعالج‬ ‫الر‪I‬ئيسي‬
‫ذاكر‬
‫ة‬ ‫ة‬
‫ة‬
‫المركز‬
‫‪22‬‬
‫كاش‬
‫ية‬
‫نظام االدخال واالخراج‬
‫‪IBM‬‬‫• يتكون نظام اإلدخال واالخراج في حواسيب‬
‫‪ 360/370‬من االجزاء التاليه ‪:‬‬
‫–وحدات اإلدخال واالخراج ‪.‬‬
‫–وحدات التحكم بوحدات اإلدخال واالخراج‬
‫‪Control units‬‬
‫–معالجات قنوات اإلدخال واالخراج ‪IOP Input-‬‬
‫‪. Output Processors‬‬
‫‪23‬‬
‫نظام االدخال واالخراج‬

‫• امثلة هذه التعليمات ‪:‬‬


‫– تعليمة إبدأ اإلدخال ‪ /‬االخراج ‪Start input/output‬‬
‫‪SIO‬‬
‫– تعليمة أو قف اإلدخال ‪ /‬االخراج ‪Halt input/output‬‬
‫‪HIO‬‬
‫– تعليمة إفحص اإلدخال ‪ /‬االخراج ‪Test input/output‬‬
‫‪TIO‬‬

‫‪24‬‬
‫نظام االدخال واالخراج‬
‫• ومن األمثله على تعليمات معالجات اإلدخال واالخراج ما‬
‫يلي ‪:‬‬
‫– تعليمة إقرأ ‪read‬‬
‫– تعليمة خ ّزن ‪write‬‬
‫– تعليمة إقلب الصفحه ‪eject‬‬

‫‪25‬‬
‫المخطط‬
‫الصندوقي‬
‫لحواسيب ‪IBM‬‬
‫‪360/370‬‬

‫‪26‬‬
‫التنظيم اله‪I‬يكلي للحواسيب الميكروية‬
‫• المعالج ‪ 80286‬او ‪286‬‬
‫• ‪ 16‬ثنائية‬
‫• معالج رياضي ‪- 80287‬‬
‫معالجة بيانات النقطة العائمة‬

‫‪27‬‬
28
‫التنظيم الهيكلي للحواسيب الميكرويه‬
‫وحدة‬ ‫وحدة الناقلة‬
‫العنوان‬

‫وحدة التنفيذ‬ ‫وحدة التعليمة‬


‫‪ALU, CU, 8 reg‬‬ ‫محلل التعليمة ‪ ,‬طابورالتعليمات‬
‫المشفرة‬

‫‪29‬‬ ‫بنية المعالج الميكروي ‪ – 286‬البنية األنبوبية‬


‫بنية المعالج الميكروي‪286‬‬
‫• و حد ة الناقله ‪Bus Unit‬‬
‫– تعتبر بمثابة الوسيط بين المعالج ‪ 286‬من جهه ‪ ،‬والذاكره‬
‫الرئيسة وحدات االدخال واالخراج من جهه اخر ى ‪.‬‬
‫– تتولى مهمة االشراف على عمليات تبادل البيانات بين‬
‫المعالج ووحدات الحاسوب االخرى ‪.‬‬

‫‪30‬‬
‫بنية المعالج الميكروي‪286‬‬
‫• و حد ة العنوان ‪Address Unit‬‬
‫–تتولى و حد ة العنوان مهمة حساب العناوين‬
‫الفعليه ‪ physical addresses‬لمواقع الذاكرة‬
‫الرئيسة المشاركه في التعليمات ‪.‬‬

‫‪31‬‬
‫بنية المعالج الميكروي‪286‬‬
‫• تحتوي وحدة العنوان‬
‫– ‪ 4‬مسجالت خاصه ( تس ّمى مسجالت القطاعات‬
‫‪،) segment registers‬‬
‫– و دائرة جمع اإلزاحه ‪،offset adder‬‬
‫– ودائرة جمع العنوان الفعلي ‪physical address.‬‬
‫‪adder‬‬

‫‪32‬‬
‫النموذج البرامجي للم‪-‬عالج ‪286‬‬
‫أن النموذج البرامجي للمعالج ‪ 286‬يتكون من ‪:‬‬ ‫•‬
‫مسجالت البيانات ( ‪. ) AX , BX , CX , DX‬‬ ‫•‬
‫مسجالت القطاعات ( ‪. ) CS , DS , SS , ES‬‬ ‫•‬
‫مسجالت العناوين و التأشير ( ‪. ) BP , SP , SI , DI‬‬ ‫•‬
‫مسجالت خاصه ( ‪. ) IP ,FLAGS‬‬ ‫•‬

‫‪33‬‬
‫النموذج البرامجي للم‪-‬عالج ‪286‬‬

‫‪34‬‬
‫صيغ التعليمات و طرق الع‪I‬نونه‬
‫• تصنف تعليمات المعالج ‪ 286‬حسب عد د عناوين‬
‫المعلمات إلى ‪:‬‬
‫– تعليمات صفرية العنوان ‪،‬‬
‫– تعليمات احادية العنوان ‪،‬‬
‫– تعليمات ثنائية العنوان ‪.‬‬
‫• نتيجة إلختالف عد د العناوين فإن طول التعليمه يتراوح‬
‫بين ‪ 6-1‬بايت‬
‫‪35‬‬
‫صيغ التعليمات و طرق العنونه‬
‫• يمكن تصنيف تعليمات المعالج حسب نوع العمليه إلى‪:‬‬
‫– تعليمات نقل البيانات ‪.‬‬
‫– التعليمات الحسابية‪.‬‬
‫– التعليمات المنطقيه ‪.‬‬
‫– تعليمات اإلزاحه والتد و ير ‪.‬‬
‫– تعليمات معالجة سالسل الرمو ز‬
‫– تعليمات التحكم بالبرنامج ‪.‬‬
‫– تعليمات التحكم بالمعالج ‪.‬‬
‫‪36‬‬
‫طرق العنونه ففي حواسيب ‪286‬‬
‫–العنونه الفوريه ‪،‬‬
‫–العنونه المباشره ‪،‬‬
‫–العنونه غير المباشره ‪،‬‬
‫–العنونه النسبيه بإستخدام االساس ‪،‬‬
‫–العنونه النسبيه بإستخدام الفهرس‪... ، I‬‬
‫وغيرها‬
‫‪37‬‬
‫الذاكره الرئيسيه‬
‫• يعمل المعالج ‪286‬بأحد اسلوبي التشغيل التاليين ‪:‬‬
‫‪Real-address‬‬ ‫–اسلوب العنوان‪ K‬الحقيقي‬
‫‪ mode‬حيث يعمل المعالج ‪286‬بشكل مشابه‬
‫للمعالجات ‪ 8086‬و ‪ .8088‬وعندما يعمل‬
‫المعالج ‪ 286‬في هذا االسلوب يمكنها التعامل‬
‫مع ذاكره رئيسيه تصل سعتها لغاية ‪ 1‬ميغابايت‬
‫‪.‬‬
‫‪38‬‬
‫الذاكره الرئيسيه‬
‫• اسلوب العنوان التخيلي المحمي ‪Protected virtual‬‬
‫‪address mode‬‬
‫– يمتاز هذا االسلوب بكون المعالج ‪ 286‬يستطيع‬
‫العمل بشكل متطور بالنسبه للمعالجات ‪ 8086‬و‬
‫‪ 8088‬وغير متوافق معها ‪.‬‬
‫–ذاكره رئيسيه تصل سعتها لغاية‬
‫‪16‬ميغابايت ‪.‬‬
‫‪39‬‬
‫نظام االد خال واالخراج‬
‫• نظام االد خال واالخراج المستخد م في حواسيب‬
‫‪ 286‬وفي الحواسيب الصغيره بشكل عام ‪ ،‬فهو‬
‫ال يختلف عن نظام االد خال واالخراج المستخدم‬
‫في الحواسيب الكبيره سوى في قدرة وسرعة‬
‫مكونات النظام وحدات االدخال ‪ ،‬و وحدات‬
‫االخراج ‪ ،‬ومعالجات االدخال واالخراج‬

‫‪40‬‬
‫أنواع وخصائص هـيـكلـيات الـحاسـوب‬
‫• إن نـوع الـهـيـكـلـيـه المـسـتـخـدمـه فـي‬
‫الـحـاسـوب تـحـدد مـعـظـم خـصـائصـه مـثـل ‪:‬‬
‫–سـرعـة تـنـفـيـذ الـعـمـلـيـات‬
‫–وصـيـغ الـتـعـلـيـمـات وانـواعـهـا ‪.‬‬

‫‪41‬‬
‫أنواع وخصائص هـيـكلـيات الـحاسـوب‬
‫• تـصـنـف الـهـيـكـليـات المـسـتـخـدمـه فـي‬
‫الـحـواسيـب الـى ثـالثـة انـواع ‪:‬‬
‫–الـهـيـكـليـات المـركـمـيـه ‪Accumulator-based‬‬
‫‪computers‬‬

‫–الـهـيـكـليـات ذات المـسـجـالت‬


‫الـعـامـة‪General-register computers‬‬
‫–الـهـيـكـليـات المـكـدسيـه ‪Stack computers‬‬
‫‪42‬‬
‫الـهـيـكـليـات المركـمـيه‬
‫عداد البرنامج‬ ‫مسجل العنوان‬ ‫مسجل البيانات‬
‫‪PC‬‬ ‫‪AR‬‬ ‫‪DR‬‬
‫الذاكرة‬
‫الرئيسية‬
‫‪ACC‬‬
‫‪IR‬‬
‫المر=كم‬ ‫وحدة التحكم‬

‫مسجل الرايات‬
‫‪ALU‬‬
‫‪43‬‬
‫الـهـيـكـليـات المركـمـيه‬
‫مثال‬
‫‪ADD X‬‬
‫‪ACC= ACC +X‬‬

‫•مـعـظـم تـعـلـيـمـاتـهـا أحادية الـعـنـوان‪.‬‬


‫يـفـتـرض وجود إحدى المـعامـالت في المـركم في حـيـن إن‬
‫المعاملة األخرى توجد فـي الـتـعـلـيـمـة نفسها‪.‬‬
‫•النتيجة ـتـخـزن في المـركـم ثـانـيـةً ‪.‬‬
‫مثال ‪MC6809, MCS-48 :‬‬
‫‪44‬‬
‫تـنـفـيـذ الـتـعـلـيـمـه‬
‫‪ADD X‬‬
‫‪ACC= ACC +X‬‬

‫‪45‬‬
46
47
‫الـهـيـكـليـات ذات المـسـجـالت الـع‪-‬ـامـه‬
‫عداد البرنامج‬ ‫مسجل العنوان‬ ‫مسجل البيانات‬
‫‪PC‬‬ ‫‪AR‬‬ ‫‪DR‬‬
‫الذاكرة‬
‫الر=ئيسية‬
‫‪R0‬‬
‫‪R1‬‬ ‫‪IR‬‬
‫‪R2‬‬ ‫وحدة التحكم‬
‫…‬
‫‪R7‬‬

‫مسجل الرايات‬
‫‪ALU‬‬
‫‪48‬‬
‫الـهـيـكـليـات ذات المـسـجـالت الـعـامـه‬
‫‪.Z8000 ، M68000، IBM 370، VAX-11‬‬ ‫•‬
‫يـتـراوح عـدد المـسـجـالت ألعامه في هـذه المـعـالجـات بين ‪ 8‬و ‪.16‬‬ ‫•‬
‫أهم ميزاتها –مـعـظـم تـعـلـيـمـاتـهـا ذات عـنـوانـيـن او ذات ثـالثـة‬ ‫•‬
‫عـنـاويـن‬
‫مثال ‪ :‬لـجـمـع القـيـمـتـيـن ‪ x , y‬المخزنـتيـن في الذاكرة الرئيسية‬ ‫•‬
‫وتـخـزيـن المـجـمـوع في المـوقـع ‪ ، Z , Z = Y + X‬فـإنـنـا‬
‫نـسـتـخـدم تـعـلـيـمـة الـجـمـع التالية ‪  :‬‬
‫‪  ADD‬‬ ‫‪Z, Y, X‬‬

‫‪49‬‬
‫الـهـيـكـلـيـات المـكـدسيه‬
‫عداد البرنامج‬ ‫مسجل العنوان‬ ‫مسجل البيانات‬
‫‪PC‬‬ ‫‪AR‬‬ ‫‪DR‬‬
‫الذاكرة‬
‫الرئيسية‬
‫‪TEMP‬‬
‫‪IR‬‬
‫مسجل مؤقت‬
‫وحدة التحكم‬

‫مسجل الرايات‬
‫‪ALU‬‬
‫‪50‬‬
‫الـهـيـكـلـيـات المـكـدسيه‬
‫حـسـب طـريـقـة بـنـاء المكدس يـمـكـن تـصـنـيـفـهـا إل‪I‬ى‬
‫نـوعـيـن ‪:‬‬

‫•المـكـدس المادي ‪Hardware stack‬‬


‫•المـكـدس البرمجي ‪Software stack‬‬

‫‪51‬‬
‫الـهـيـكـلـيـات المـكـدسيه‬
‫•المـكـدس المادي ‪Hardware stack‬‬

‫•م‪II‬ن اجـل بـنـاء مـكـدس بـسـعـة ‪ n‬قـيـمـه يـلـزم‬


‫اسـتـخـدام ‪ n‬من مـسـجـالت االزاحه ‪.‬‬
‫• يـمـتـاز المـكـدس المادي بس‪I‬ـرعـتـه العالي‪I‬ة ف‪I‬ي تـنـفـيـذ‬
‫عـمـلـيـات الـدفـع والـسـحـب والتـي تـلـزم ف‪III‬ي‬
‫الـحـواسـيب بـشـكل واسع لمعالجة االعـتراضـات ‪.‬‬
‫•م‪IIII‬ن أمثل‪IIII‬ة الحـواسـيـب التـي تـسـتـخـدم المكدس‬
‫المـادي‪IBM 370‬‬ ‫‪52‬‬
‫الـهـيـكـلـيـات المـكـدسيه‬
‫المـكـدس البرمجي ‪Software stack‬‬
‫يـبـنـى المـكـدس ال‪II‬برمجي عـادةً بـتـخـصـيص‬
‫مـنـطـقـه في الذاكرة الرئيسية بـسعـة ‪ n‬قـيـمـه ‪.‬‬
‫•يـخـصـص احـد مـسـجالت المـعـالـج‪ ،‬يـسـمـى‬
‫مـؤشر المـكـدس ‪ ، SP‬لـتـخـز يـن عـنـوان أخ‪I‬ر‬
‫قـيـمـه تـم دفـعـهـا إلى المـكـدس ‪.‬‬
‫• ان مـؤشر المـكـدس ‪ SP‬يـشيـر دائـما ً إل‪I‬ى قـمة‬
‫المـكـدس ‪.‬‬‫‪53‬‬
‫الـهـيـكـلـيـات المـكـدسيه‬
‫•مميزات الـحـواسـيـب ذات الـهـيـكـلـيـات ألمكدسيه‬
‫•مـعـظـم تـعـلـيـمـاتـهـا ال تـحـتـوي أي‪II‬ة عـنـاويـن ( ص‪II‬ـفـريـة)‬
‫الـعـنـوان‬
‫•تـتـكـون الـتـعـلـيمة من كـود العملية فـقـط ‪.‬‬
‫•المـعـلمات المشارك‪I‬ة ف‪I‬ي العملي‪I‬ة يجـب عـلـى المـبـرمـج‬
‫تـخـزيـنـهـا في المـكـدس قـبـل الـبـدء بـتـنـفـيـذ العملية‪.‬‬
‫•مثال جـمـع قـيـمـتـيـن مـخـزنـتـيـن ف‪I‬ي مـواقع الذاكرة الـرئـيـسة‬
‫‪ X‬و ‪.Y‬‬
‫‪PUSH X‬‬
‫‪PUSH Y‬‬
‫‪ADD‬‬
‫‪54‬‬
‫تـر كيب الـتعـلـيـم‪I‬ـات‬
‫حـقـل كـود العملية‬
‫‪operation code field op-code‬‬
‫حـقـل المـعامـالت ‪operand field‬‬
‫مثال‬
‫‪MOV CX,BETA‬‬

‫‪55‬‬
‫تـر كيب الـتعـلـيـم‪I‬ـات‬
‫هـنـاك عـدة أساليب لـتـشـفـيـر كـود العملية في‬
‫التـعلـيـمـات وأهمها ‪  :‬‬
‫‪ ‬‬ ‫•أسلوب الـكود الـثـابـت الـطـول‪Block code‬‬
‫•أسلوب الـكود الممـتـد ‪  Expanding op-code‬‬
‫•أسلوب كود هو فمـان ‪  Huffman code‬‬

‫‪56‬‬
‫أسلوب الـكود الـثـابـت‬
‫•يعتمد على إعطاء شيفرة ذات طول ثابت‬
‫•إذا كـان عـدد العـمـلـيـات الـتـي يـسـتـطـيـع‬
‫المـعـالـج تـنـفـيـذهـا هـو ‪ ، N‬فـانـه لـتـمـثـيـل‬
‫كـل عـمـلـيـه يـلـزم حـقـل طـولـه ‪ m‬بت و‬
‫يحـدد حـسـب العال قه التالية‬
‫‪m= log N‬‬

‫‪57‬‬
‫حـقـل المـعامـالت‬
‫• يـسـتـخـدم لـتـحـد يـد المـعامـالت المشاركة في‬
‫الـعـمـلـيـات ‪.‬‬
‫• يـمـكـن تـخـزيـن المـعامـالت في احـد االمـاكـن الـتـالـيـه ‪  :‬‬
‫– الـتـعـلـيـمـه نفـسـهـا ‪ ‬‬
‫– المـسـجـالت عـامـة االغـراض في المـعـالـج ‪  .‬‬
‫– مـواقع الـذاكره الـرئـيـسيـه ‪ ‬‬
‫– مـنافـذ االدخال ‪  .‬‬

‫‪58‬‬
‫تـركيب الـتعـلـيـم‪I‬ـات‬
‫• يـعـتـمـد طـول ألتع‪I‬ليمه عـلـى عـدة عـوامل‬
‫مـنـها‪:‬‬
‫–عدد ا لحقول( عـدد الـعـنـاوين) في‬
‫ألتعليمه‪،‬‬
‫–طـريـقـة العنونة المستخدمة لـلـتـع‪I‬ـبـير‬
‫عـن المـعامـالت ‪.‬‬ ‫‪59‬‬
‫تـركيب الـتعـلـيـم‪I‬ـات‬

‫• عـدد الـعـنـاوين في ألتعليمه ـيعـتـمـد بـدوره‬


‫عـلـى نـوع الهيكلية المستخدمة في المـعـالـج‬
‫‪.‬‬

‫‪60‬‬
‫تـركيب الـتعـلـيـم‪I‬ـات‬
‫• يمـكـن تـصـنـيـف الـتـعـلـيـمـات حـسـب عـدد الـعـنـاوين‬
‫فـيـهـا إلى األنواع التالية ‪  :‬‬
‫‪.1‬صفرية الـعـنـوان ‪ ‬‬
‫‪.2‬احـاد ية الـعـنـوان ‪ ‬‬
‫‪.3‬ثنائـية الـعـنـوان ‪ ‬‬
‫‪.4‬ثـالثـية الـعـنـوان ‪  .‬‬
‫•‪ ‬‬
‫‪61‬‬
‫تعليمة‬ ‫مالحظات‬

LOAD addr Acc=M(addr) 1 - ‫مثال‬


STORE addr M(addr)=Acc

ADD addr Acc=Acc+M(addr)


SUB addr Acc=Acc-M(addr)

INCA Acc=Acc+1

DECA Acc=Acc-1

ZERO Acc=0

HALT halt the CPU


62
‫مثال ‪1 -‬‬
‫‪ .1‬مـا هـو اقـل عـدد من الـثنـائيـات يـلزم لـتـشـفـير‬
‫هـذه الـتـعـلـيـمـات ؟ ‪ ‬‬
‫‪ .2‬ارسـم جدوالً يبـيـن الـكـود لـكـل تـعـلـيـمـه ؟ ‪ ‬‬
‫‪ .3‬حـدد نـوع دائرة تـحـلـيـل الـعـمـلـيـه الـالزمه ؟‬
‫‪ ‬‬
‫‪ ‬‬
‫‪63‬‬
‫مثال ‪1 -‬‬
‫‪ .1‬مـا هـو اقـل عـدد من الـثنـائيـات يـلزم لـتـشـفـير‬
‫هـذه الـتـعـلـيـمـات ؟‬
‫‪ m= log N‬‬
‫‪  ‬بـتـعـويـض ‪N = 8‬‬
‫إذن ‪m = 3‬‬

‫‪64‬‬
‫مثال ‪1 -‬‬
‫‪ -2‬ارسـم جدوالً يبـيـن الـكـود لـكـل تـعـلـيـمـه ؟ ‪ ‬‬
‫‪ ‬‬

‫‪65‬‬
‫‪X = A * B + C *D‬‬

‫مثال ‪1 -‬‬
‫‪ -3‬حـدد نـوع دائرة تـحـلـيـل الـعـمـلـيـه الـالزمه ؟ ‪ ‬‬
‫‪ ‬‬

‫‪66‬‬
‫الـتـعـلـيـمـات والـرمـوز الـتـي سـنـسـتـخـدمـهـا في الـبـرامـج هي‬
‫‪ADD‬‬ ‫تعـلـيـمـة الـجـمـع‬

‫‪MUL‬‬ ‫تعـلـيـمـة الـضرب‬


‫‪LOAD‬‬ ‫الـتـحـمـيـل( نـقـل الـقـيـم من الذاكرة إلى المـركم)‬

‫‪STORE‬‬ ‫الـتـخـزين( نـقـل الـقـيـم من المركم إلى الذاكرة)‬

‫‪PUSH‬‬ ‫الـدفع‬
‫‪POP‬‬ ‫الـسـحـب‬
‫‪MOVE‬‬ ‫الـتـحـريـك‪ ‬‬
‫‪Acc‬‬ ‫المركم‬
‫‪R1, R2‬‬ ‫مـسجالت عـامة األغراض‬

‫‪TOS‬‬ ‫قـمـة المكدس‬


‫… ‪M(A),M(B) , A,B ,‬‬ ‫مـواقـع الذاكرة الرئيسية الـتي تـحـتوي الـقـيم‪...,‬‬
‫‪67‬‬
‫مثال ‪2 -‬‬
‫• لـتـوضـيـح تـأثـيـر عـدد الـعـنـاو يـن عـلـى‬
‫طـول الـبرنـامـج سـوف نـكـتـب بـرامـجـا ً‬
‫بـإسـتـخـدام انـواع الـتـعـلـيـمـات االنـفـة الـذكر‬
‫لـحـسـاب الـعـالقه الـريـاضـيـه الـتـالـيـه ‪  :‬‬

‫‪X = A + B * C +D  ‬‬
‫‪68‬‬
‫الـتـعـلـيـمـات والـرمـوز الـتـي سـنـسـتـخـدمـهـا في الـبـرامـج هي‬ ‫م‪I‬ثال ‪-‬‬
‫‪ADD‬‬ ‫تعـلـيـمـة الـجـمـع‬
‫‪2‬‬
‫‪MUL‬‬ ‫تعـلـيـمـة الـضرب‬
‫‪LOAD‬‬ ‫الـتـحـمـيـل( نـقـل الـقـيـم من الذاكرة إلى المـركم)‬

‫‪STORE‬‬ ‫الـتـخـزين( نـقـل الـقـيـم من المركم إلى الذاكرة)‬

‫‪PUSH‬‬ ‫الـدفع‬
‫‪POP‬‬ ‫الـسـحـب‬
‫‪MOVE‬‬ ‫الـتـحـريـك‪ ‬‬
‫‪Acc‬‬ ‫المركم‬
‫‪R1, R2‬‬ ‫مـسجالت عـامة األغراض‬

‫‪TOS‬‬ ‫قـمـة المكدس‬


‫… ‪M(A),M(B) A,B ,‬‬ ‫مـواقـع الذاكرة الرئيسية الـتي تـحـتوي الـقـيم‪...,‬‬
‫‪69‬‬
‫ـنـوان‬I‫الـتـعـلـيـمـات ثـالثية الـع‬X = A + B * C +D
2 - ‫مثال‬

ADD R1, A, B ; R1 = M(A)+M(B)  


  ADD R2, C, D ; R2 = M(C)+M(D)
  MUL X, R1, R2 ; X =R1*R2

70
‫الـتـعـلـيـمـات ثنائـية الـعـنـوان‬ 2 - ‫مثال‬
X = A + B * C +D

  MOVE R1 , A ;R1= M(A)


  ADD R1 , B ;R1= R1 + M(B)
  MOVE R2 , C ;R2= M(C)
  ADD R2 , D ;R2= R2 + M(D)
  MUL R1 , R2 ;R1= R1 * R2
MOVE X , R1 ;M(X)= R
71
‫الـتـعـلـيـمـات أحاد ية الـعـنـوان‬ 2 - ‫مثال‬
X = A + B * C +D
LOAD A ;ACC = M(A)
ADD B ; ACC = ACC+M(B)
STORE X ;M(X)= Acc
LOAD C ;Acc = M(C)
ADD D ;Acc = Acc+M(D)
MUL X ;Acc = Acc*M(X)
STORE X ;M(X)= Acc
72
‫فـرية الـعـنـوان‬I‫الـتـعـلـيـمـات ص‬ 2 - ‫مثال‬
X = A + B * C +D
PUSH A ;TOS = A
PUSH B ;TOS = B
ADD ;TOS =(A+B)
PUSH C ; TOS = C
PUSH D ; TOS = D
ADD ; TOS = (D+C)
MUL ; TOS = (C+D)*(A+B)
POP X ;M(X)= TOS
73
‫اسئلة ؟‬
‫سؤال‬
‫لديك جهاز حاسوب يستخد م ناقله تحتوي ‪ 22‬خطا‬
‫للعنوان و ‪ 32‬خطا للبيانات عدد إشارات ا‪I‬لتحكم فيه‬
‫‪ . 20‬احسب‪:‬‬
‫أ) طول كلمة الذ اكره الرئيسة ‪  .‬‬
‫ب) سعة ا‪I‬لذ اكرة الرئيسيه التي يستطيع هذ ا‪ I‬الحاسوب‬
‫عنونتها‬
‫‪74‬‬
‫سؤال‬
‫• سعة ذاكره رئيسة في أحد الحواسيب تساوي ‪1‬‬
‫ميجابايت = ‪ 1048576‬بايت‪ ،‬اوجد عدد خطوط‬
‫العنوان ‪m‬‬
‫• نحدد عدد خطوط العنوان ‪ m‬كما يلي‪:‬‬
‫‪N = 2m‬‬
‫‪m = log2 N‬‬
‫‪m = 20‬‬
‫‪75‬‬
‫اسئلة ؟‬
‫سؤال‬
‫ما الفرق بين المسجالت خاصة األغراض و‬
‫المسجالت عامة األغراض‬

‫‪76‬‬
‫اسئلة ؟‬
‫مسجالت عامة‬ ‫مسجالت خاصة‬
‫األغراض‬ ‫األغراض‬

‫المستخدم‬ ‫الحاسوب‬ ‫المستخدم‬

‫جميع أنواع‬ ‫بيانات أو عناوين‬ ‫نوع البيانات التي‬


‫البيانات‬ ‫خاصة‬ ‫تخز‪-‬نها‬

‫مسجالت الفاصلة‬ ‫مسجل ألتعليمه‬ ‫مثال‬


‫الثابتة‬
‫‪77‬‬
‫ملخص‬
‫• تتكون هيكلية الحاسوب من العناصر التاليه ‪:‬‬
‫–صيغ البيانات ‪،‬‬
‫–طرق العنونه‪،‬‬
‫–صيغ التعليمات وانواعها‪،‬‬
‫–تنظيم المعالج ونموذجه البرامجي‪،‬‬
‫–الذاكره الرئيسيه ونظام االدخال واالخراج ‪.‬‬
‫‪78‬‬
‫ملخص‬
‫• انواع وخصائص هيكليات الحاسوب حيث علمنا‬
‫من خالل هذه الوحدة أنها تصنف‪ I‬الى ثالثة انواع‬
‫– الهيكليات المركميه‪،‬‬
‫–الهيكليات ذات المسجالت عامة االغراض‪،‬‬
‫–الهيكليات المكدسيه ‪.‬‬

‫‪79‬‬
‫ملخص‬
‫• تركيب التعليمات والتي وتتكون من جزئين اثنين‬
‫• االول‪ ،‬ح‪I‬قل كود العمليه‪ ،‬اساسي وال يمكن‬
‫االستغناء عنه وذلك النه يحدد نوع العمليه في‬
‫التعليمه ‪.‬‬
‫• الجزء الثاني‪ ،‬حقل المعلمات‪ ،‬فهو ثانوي‪ ،‬و يعتمد‬
‫وجوده وطوله (عدد العناوين فيه) على نوع العمليه‬
‫في التعليمه ‪.‬‬
‫‪80‬‬
‫ملخص‬
‫• تنفيذ البرنامج في الحاسوب‬
‫• تتكون دورة التعليمه من مرحلتين هما ‪:‬‬
‫• مرحلة االحضار‪ ،‬يتم نقل ألتعليمه التالية من الذاكرة‬
‫الرئيسية إلى وحدة المعالجة المركزية حيث يتم هناك‬
‫تحديد‬
‫– نوع العملية‬
‫– أماكن تخزين المعلمات (إن لزم ذلك) ‪.‬‬
‫‪81‬‬
‫ملخص‬
‫• مرحلة التنفيذ ‪.‬‬
‫–فيتم إح‪I‬ضار المعلمات‪ I‬إل‪I‬ى وحدة المعالج‪I‬ه‬
‫المركزيه‬
‫–تنفيذ ا‪I‬لعمليه المطلوبه في ال‪I‬تعل‪I‬يمه على‬
‫المعلمات‬
‫–تخزين ال‪I‬نتائج في المكان المناسب‪  . I‬‬
‫‪82‬‬
‫لمحه مسبقه عن الوحده الدراسيه الثانيه‬
‫• التعرف على تركيب المعالج الد قيق من نوع‬
‫‪ 8088/8086‬المستخدم في الحواسيب‬
‫المصغره والشخصيه من نوع ‪ IBM‬او‬
‫موافقاتها ‪.‬‬
‫• التعرف على الوحدات الوظيفيه المكونه لهذا‬
‫المعالج‪،‬‬
‫‪83‬‬
‫لمحه مسبقه عن الوحده الدراسيه الثانيه‬
‫• نموذجه البرامجي وما يحتويه من مسجالت ‪.‬‬
‫الم‪I‬فاهيم االساسيه المتعلقه باالعتراضات‬
‫(‪ ،)Interrupts‬واهميتها وانواعها وكيفية‬
‫معالجتها ‪  .‬‬
‫‪ ‬‬

‫‪84‬‬
‫مقدمة لمقرر‬
‫هيكلية الحاسوب ولغة اسيمبلي‬
‫‪1381‬‬

‫شكرا لكم‬
‫اسئلة ؟‬
‫الحل‬
‫أ) طول كلمة الذاكره الرئيسيه = عد د خطوط البيانات في الناقله ‪ ‬‬
‫= ‪ 32‬بت ‪  .‬‬
‫ب) سعة الذاكره الرئيسيه ‪ N‬يحسب من العالقه ‪  N=2m‬‬
‫حيث ‪ m‬تساوي عد د خطوط العنوان في الناقله (‪ ، )22‬لذا ‪ ‬‬
‫‪  N = 222‬‬
‫ميجابايت‪=  MB 4‬‬

‫‪86‬‬

You might also like