بنيان الحواسيب 2 - المحاضرة الأولى - PDF
Document Details
Uploaded by DynamicNash3049
Al-Wataniya Private University
د. رويدة مهباني
Tags
Summary
This document covers the first lecture of the 2nd Computer Architecture course at the Al-Wataniya Private University in Syria. It provides an outline of the course topics including registers, memory, and buses, along with introductory descriptions of different registers and operations. Introduces the topics of computer architecture and the general workings of a computer system.
Full Transcript
# المقرر: بنيان الحواسيب 2 ## المحاضرة الأولى ### د. رويدة مهباني ## المسجلات و البنية العامة ### مقدمة عن عمل الذاكرة ### النواقل في بنية الحاسب - تُعتبر المسجلات من المكونات الرئيسية للمعالج لذلك سوف نشرح هنا ما هي المسجلات و ما المسجلات التي تدخل في تركيب المعالج ٨٠٨٦ و ها هي وظيفة كل مسجل بشك...
# المقرر: بنيان الحواسيب 2 ## المحاضرة الأولى ### د. رويدة مهباني ## المسجلات و البنية العامة ### مقدمة عن عمل الذاكرة ### النواقل في بنية الحاسب - تُعتبر المسجلات من المكونات الرئيسية للمعالج لذلك سوف نشرح هنا ما هي المسجلات و ما المسجلات التي تدخل في تركيب المعالج ٨٠٨٦ و ها هي وظيفة كل مسجل بشكل عام. - **المسجلات**: - المسجلات عبارة عن أماكن تخزين للبيانات ضمن المعالج يمكن أن نقسم بشكل عام المسجلات لثلاثة أنواع: - مسجلات البيانات و تستخدم من أجل تخزين البيانات لتطبيق العمليات الحسابية و المنطقية عليها. - مسجلات العناوين و تستخدم من أجل تخزين العناوين. - مسجل الحالة و يستخدم من أجل تخزين بعض الحالات المتعلقة بعمل المعالج. ## مسجلات البيانات AX, BX, CX, DX و تدعى بمسجلات البيانات العامة General Purpose Register و على الرغم من أن هذه المسجلات تستخدم استخدامات عامة إلا أن لكل منها أيضاً الاستخدام الخاص. تستخدم هذه المسجلات للتعامل مع البيانات داخل المعالج بشكل عام. و بالطبع التعامل معها يكون أسرع بكثير من التعامل مع الذاكرة. يتكون كل من هذه المسجلات من ١٦ bits أو على جزئين كل منهما مكون من 8 bits الأول يدعى High و الثاني يدعى Low . على سبيل المثال المسجل BX له جزئين الأول BH و الثاني BL. - أما الاستخدامات الخاصة لهذه المسجلات العامة فهي كالآتي: - المسجل AX و يدعى مسجل Accumulator أو المراكم و هو المسجل الذي يفضل استخدامه من أجل عمليات الحساب والمنطق و التعامل مع الذاكرة و منافذ الدخل و الخرج المستخدم . إن استخدام هذا المسجل يولد برامج قصيرة و يزيد من الكفاءة. - المسجل Base Register) و غالباً ما يستخدم هذا المسجل من أجل العنونة غير المباشرة. و يتكون من مسجل BL و BH و كل منهما ۸ بت. - المسجل count Register C) و يتم استخدام هذا المسجل من أجل الحلقات و الإزاحة و الدوران للتعليمات كما يستخدم كعداد في التطبيقات على السلاسل. - المسجل Data Register) DX): يُستخدم كرقم مخرج أو مدخل في عمليات الإدخال والإخراج كما يستخدم في تخزين ال ١٦ بت العلوية في عمليات التقسم و الضرب للأرقام المكونة من ٣٢ بت. ## مسجلات المقاطع CS, DS, ES, SS إن السجلات في المعالج ۸۰۸٦ للتعليمات و للبيانات ( Instructions and Data) يمكن أن تعنون فقط ضمن مجال 64KB . و لنتمكن من الوصول إلى مجال الذاكرة B ) خط عنونة كاملا تم تقسيمها إلى أربع مجالات كل منها 64KB و كل مجال يدعى Segment أو المقطع و لتحديد في أي مكان من الذاكرة يمكن أن نتعامل ضمن هذه المقاطع نستخدم مسجلات المقاطع و هي الآتي: - مسجل مقطع الشيفرة CS : يحتوي على عنوان أول حجرة في مقطع شيفرة البرنامج في الذاكرة، أي أنه يشير إلى بداية مقطع الشيفرة. - مسجل مقطع المعطيات DS: يحتوي على عنوان أول حجرة في مقطع المعطيات في الذاكرة، أي أنه يشير إلى بداية مقطع المعطيات. - مسجل مقطع المكدس SS : يحتوي على عنوان أول حجرة في مقطع المكدس في الذاكرة، أي أنه يشير إلى بداية مقطع المكدس. - مسجل مقطع المعطيات الإضافي ES : يحتوي على عنوان أول حجرة في مقطع المعطيات الإضافي في الذاكرة، أي أنه يشير إلى بداية مقطع المعطيات الإضافي. ## مسجلات الفهرسة و التأشير SI, DI, SP, BP يتم استخدام هذه المؤشرات مع مسجلات المقاطع للتخاطب مع عناوين محددة في الذاكرة و يمكن أيضا استخدام هذه المسجلات للعمليات الحسابية و المنطقية. المسجلات هذه تفصيليا كالآتي: - مسجل دليل المصدر Source Index : يخزن فيه عنوان يدل على الإزاحة ضمن مقطع المعطيات DS و بمعنى آخر يستعمل في إمساك العناوين الفعالة من أجل التعليمات التي تتناول المعطيات المخزنة في مقطع المعطيات في الذاكرة. - مسجل دليل الهدف Destination Index DI : يخزن فيه عنوان يدل على الإزاحة ضمن مقطع المعطيات الإضافي ES ، و بمعنى آخر يستعمل مسجل دليل الهدف DI من أجل استنتاج العنوان الفيزيائي الذي يحدد حجرة متحول الهدف. - مسجل مؤشر المكدس Stack Pointer S : يسمح مؤشر المكدس بوصول سهل للحجرات في مقطع المكدس الموجود في الذاكرة حيث أن القيمة في SP تمثل العنوان الفعال الحجرة المكدس التالية التي يمكن الوصول إليها نسبة إلى العنوان الحالي الموجود في مسجل مقطع المكدس SS و يحتفظ SP دوماً بقيمة تدل على قمة المكدس ، هذا و إن قيمة هذا المسجل تتعدل تلقائياً عند وضع أو سحب معلومة بالمكدس. - مسجل مؤشر القاعدة Base Pointer B : يحوي قيمة تدل على الإزاحة بالنسبة لمقطع المكدس SS و هو يستخدم لقراءة المعطيات ضمن مقطع المكدس بدون إزالتها من المكدس. - مسجل مؤشر التعليمة Instruction Pointer IP: هذا المسجل يحدد موقع التعليمة التالية التي ستنفذ في مقطع الشيفرة و بعد جلب شيفرة التعليمة من الذاكرة فإن BIU تعدل قيمة IP بحيث تشير إلى التعليمة التالية في الذاكرة ( التعديل يتم آلياً ) . - مسجل الأعلام Flags: Register وهو عبارة عن ١٦ بت و لكن يستخدم منها 9 بت و هي ستة أعلام للحالة و ثلاث أعلام للتحكم. ## الذاكرة الرئيسية Main Memory لتنفيذ العمل لابد من وجود البرنامج و البيانات اللازمة في الذاكرة الرئيسية بصورة مؤقتة حتى تتم عملية المعالجة ويتم نقل النتائج إلى وحدات الإخراج وكما نعلم أن الذاكرة الرئيسية تتألف من مجموعة خلايا ثنائية على شكل مصفوفة وتحمل الخلايا في السطر الواحد نفس العنوان أو الموقع، ومسجل بيانات مؤقت يسمي مسجل الكلمة Word Register ووحدة تحكم محلية و ترتبط الذاكرة مع وحدة التحكم عن طريق مسجل العنوان باستخدام) خطوط العنوان ( وبعض إشارات التحكم لتحديد عملية القراءة أو الكتابة. ### تركيب الذاكرة الرئيسية: يجب تمثيل رموز البيانات بالنظام الثنائي حتى يستطيع الحاسب معالجة هذه الرموز لهذا فإن الذاكرة الرئيسية تتكون من عدد من الخلايا Cells قادرة على تمثيل الأرقام الثنائية ( صفر أو واحد ) لذا يمكن لهذه الخلايا أن تمثل بالمفاتيح حيث أن حالة المفتاح المغلق تمثل الواحد و المفتوح تمثل الصفر أو يمكن أن تمثل بواسطة الخلايا المغناطيسية التي يسري فيها التيار الكهربائي. فعند سريان التيار الكهربائي في الخلية المغناطيسية فأنه سوف يولد بها مجالاً مغناطيسياً و اتجاه هذا المجال يحدد الحالة التي تقع فيها الخلية . فإذا كان اتجاه المجال مع عقارب الساعة فإن الخلية تقع في حالة الواحد و في حالة الصفر إذا كان المجال بعكس عقارب الساعة ومهما كان نوع خلايا الذاكرة فإنه يمكن اعتبار الذاكرة لوحة الكترونية مكونة من خلايا بحيث تشكل المصفوفة المواقع في هذه الخلايا المصفوفة والشكل التالي يوضح ذلك. <start_of_image> къде 1 2 3 4 M 1 2 3 N تمثل أسطر هذه الذاكرة . فالأعمدة طول الكلمة ( عدد الخلايا في السطر ( من حاسب لآخر فقد تحتوي الكلمة على أربعة خلايا "بت" bit أو ثمان أو ست عشرة ولتحديد كلمة ما في الذاكرة لابد من تحديد موقعها Address الممثل بالسطر فالكلمة الثالثة يتم الوصول إليها عن طريق العنوان 3 وهكذا . ومن هنا يتبين لنا تركيب الذاكرة الرئيسية حيث تضم هذه الذاكرة الأجزاء الرئيسية التالية: 1. مسجل العنوان address register حيث يخزن في المسجل عنوان الكلمة المراد الوصول إليها (رقم السطر في المصفوفة ) 2. مسجل الكلمة word register حيث يسجل في المسجل الكلمة المراد الوصول إليها الأعمدة المالمشار إليها بالعنوان المسجل في مسجل العنوان ) 3. وحدة تحكم محلية Control Unit للإشراف على عمليات الوصول إلى الكلمات (القراءة والكتابة ) 4. وحدة التخزين Storage Unit والممثلة بالمصفوفة نفسها (خلايا الذاكرة). والشكل يوضح تركيب الذاكرة الرئيسية: <img src = "https://i.imgur.com/Vrk7L83.png" alt="Diagram of the memory system. The image shows the address register, the memory unit, and word register." /> مثال: إذا علمت أن طول مسجل العنوان يساوي 8 خلايا وطول مسجل الكلمة 4 خلايا فاحسب حجم الذاكرة: الحل: <img src = "https://i.imgur.com/Z2R82D6.png" alt="The solution calculation for the size of memory based on the length of the address register and the word register." /> من أهم العمليات التي يمكن أجراؤها على البيانات هي عملية القراءة و الكتابة حيث تتم عملية القراءة كما يلي: . ١. يؤخذ العنوان من وحدة المعالجة المركزية ( وحدة التحكم ويخزن في مسجل العنوان. 2. تقوم وحدة التحكم المحلية بالإشراف على عملية البحث عن الكلمة المحدد عنوانها في مسجل العنوان 1. عند إيجاد الكلمة المعينة تحت العنوان المحدد يتم نقلها إلى مسجل الكلمة وبعدها تنقل وحدة المعالجة. أما عملية الكتابة فتتم حسب الخطوات التالية: 1. يحدد العنوان المراد تسجيل الكلمة فيه بوضع هذا العنوان في مسجل العنوان. 2. تتم عملية البحث عن المواقع بإشراف وحدة التحكم المحلية. 3. تسجل الكلمة في مسجل الكلمة وبعد تحديد الموقع تنقل من هذا المسجل إلى الموقع المحدد. ## ذاكرة الوصول العشوائي . تتكون من خلايا تخزين الكترونية <img src = "https://i.imgur.com/mB7X42P.png" alt="Diagram of random access memory (RAM). The image shows the cells that store electrical charges and the address lines." /> . يعطى لكل خلية عنوان Address . يحدد المعالج عنوان الخلية عن طريق خطوط العناوين . ثم ترسل البيانات بواسطة خطوط البيانات <img src = "https://i.imgur.com/tL6nJws.png" alt="Diagram of a CPU connected to the main memory via the system bus. The image shows the PC, MAR, IR, MBR, I/O AR, and I/O BR registers." /> ## جلب التعليمات هناك مرحلتين : - جلب - و تنفيذ <img src = "https://i.imgur.com/6v7R6wD.png" alt="Diagram of the fetch and execute cycle. The image shows the fetch next instruction and execute instruction blocks." /> ## Fetch Phase طور جلب التعليمة • Program Counter (PC) holds address of next instruction to fetch • عداد البرنامج يحمل عنوان التعليمة التالية التي نريد جلبها. • Processor fetches instruction from memory location pointed to by PC • المعالج يجلب التعليمات من مواقع الذاكرة المشار لها بواسطة عداد البرنامج • Instruction loaded into Instruction Register (IR) • Increment PC (but PC may be changed later...) زيادة عداد البرنامج بمقدار واحد ## Execute Phase طور التنفيذ • Processor decodes instruction and set-up circuits to perform required actions • يقوم المعالج بفك ترميز التعليمة وتوضيع العملية المناسبة الطلوبة: - Actual execution of operation: - العمليات على الذاكرة - نقل البيانات بين المعالج والذاكرة الرئيسية . - عمليات الادخال و الاخراج - - نقل البيانات بين الوحدات الطرفية و المعالج . - معالجة البيانات - العمليات الرياضية و المنطقية . - التحكم - - تغيير تسلسل التنفيذ . - مثال تعليمات القفز . ## Buses الممرات ، النواقل يكون التخاطب بين معالج البيانات و باقي الاجزاء عن طريق ما يسمى بالنواقل (Buses) كما هو موضح بهذا الشكل. <img src = "https://i.imgur.com/bH0v6iZ.png" alt="Diagram of the buses used to communicate between the CPU, memory, and I/O devices. " /> ## ناقل العناوين خطوط العنوان لنفرض أن المعالج لديه معلومة يريد أن يضعها في الذاكرة. فعليه أولا أن يختار الجزء من الذاكرة التي يريد أن يضعها فيه أي عليه أن يحدد عنوان هذا الجزء فيقوم بإرسال رمز العنوان عن طريق ناقل العناوين وعدد هذه الخطوط يحدد السعة القصوى للذاكرة التي يمكن توصيلها مع هذا المعالج الدقيق. لـ n خط يمكن توصيل ذاكرة حجمها 2 بايت، وهذه الخطوط ذات اتجاه واحد Unidirectional ) دائماً خارجة من المعالج الدقيق. ## ناقل المعلومات ( البيانات ) أو خطوط البيانات (Data Busses عندما يتحدد العنوان المطلوب في الذاكرة يقوم المعالج بإرسال المعلومة إلى الذاكرة عن طريق ناقل المعلومات. عدد هذه الخطوط يحدد عرض الموقع الذي يمكن نقله من و ألي المعالج الدقيق وهذه الخطوط ذات اتجاه ثنائي ) Bidirectional ) ## ناقل التحكم او خطوط التحكم يتكون ناقل التحكم من مجموعة من الأسلاك فعن طريقها يقوم المعالج بلبلاغ الأجزاء الأخرى متى يجب عليها أن تعمل مثل متى تقرأ أو تكتب وما إلى ذلك. ولهذا الغرض للمعالج إشارة تخص القراءة (RD) وإشارة تخص الكتابة ( WR) . أما الإشارات التابعة لناقل التحكم وهي كالتالي : <img src = "https://i.imgur.com/T2zT00x.png" alt="The table shows the abbreviations used for the various control signals for RAM and I/O." /> <img src = "https://i.imgur.com/sQ6gF3s.png" alt="Diagram of the 8086 processor connected to the main memory, the I/O module, and several other devices through the system bus. " /> ملحوظة هامة . لاحظ في الشكل السابق أن نواقل العناوين والتحكم لها اتجاه واحد فقط وهو من المعالج إلى الأجزاء الأخرى أي أن الأوامر تأتي عن طريقها من المعالج إلى الأجزاء الأخرى فقط. أما ناقل المعلومات فهو ذو اتجاه مزدوج حيث أن المعالج يحتاج إلى القراءة من هذه الأجزاء . كما يحتاج إلى إرسال المعلومات إليها أيضاً ( هذا الكلام صحيح فيما عدا ذاكرة الروم فإنه لا يمكن الكتابة فيها وسنعرف لماذا عند تناول الذاكرة ، ولذلك نلاحظ أن السهم الخارج من الروم هو في اتجاه واحد فقط).