Page 1

‫المعالج المصغر ‪8086‬‬ ‫‪Microprocessor 8086‬‬ ‫معالج مصغر عملي _ الجلسة اللولى‬


‫التنظكيم الكيكلي للحاسب‬ ‫يتكون الاسب من خ س وحدات رئكيسكية هي ‪:‬‬ ‫• وحدة الخدخال ‪.‬‬ ‫• وحدة التحكم ‪.‬‬ ‫• وحدة الساب والنطق ‪.‬‬ ‫• وحدة الذاكرة ‪.‬‬ ‫• وحدة الخراج ‪.‬‬ ‫‪2‬‬


‫وحدة المعالجة المركزية‬ ‫‪CPU‬‬ ‫‪OutPut‬‬

‫‪ALU‬‬

‫‪Control‬‬ ‫‪Unit‬‬

‫وحدة الخراج‬

‫وحدة الذاكرة‬

‫‪3‬‬

‫‪Input‬‬ ‫وحدة الخدخال‬

‫‪Memory‬‬


‫‪1.‬‬ ‫‪2.‬‬ ‫‪3.‬‬ ‫‪4.‬‬ ‫‪5.‬‬ ‫‪6.‬‬ ‫‪7.‬‬ ‫‪4‬‬

‫أولً _ مواصفات عامة‬

‫عدخد خطوط الطعطكيات ‪.bit 16‬‬ ‫ترخدخد الساعة ‪. MHZ 8‬‬ ‫عدخد خطوط الطعنونة ‪ bit 20‬وبذلك له إمكانكية التطعامل مع ذاكرة‬ ‫)عنونة( بطول ‪. M byte 1‬‬ ‫مر الطعطكيات مشت ك مع مر الطعناوين ‪.‬‬ ‫طول السجلت فكيه ‪.bit 16‬‬ ‫يتضمن تطعملكيات حسابكية )جع ‪ ,‬طرح ‪ ,‬ضرب ‪ ,‬قسمة( وتطعلكيمات تتطعامل‬ ‫مع بلوكات الذاكرة بشكل متطور ‪ ,‬وتضمن تطعلكيماته سهولة وسرعة‬ ‫الوصول إل الذاكرة ‪.‬‬ ‫متلئم مع خدارات ‪. TTL‬‬


‫• ت بناء الطعال الدقكيق ‪ 8086‬من وحدتي ‪:‬‬ ‫‪ .1‬وحدة التنفكيذ )‪.Execution Unit) EU‬‬ ‫‪ .2‬وحدة ملئمة المرات )‪.Bus Interface Unit) BIU‬‬ ‫• تستطكيع كل واحدة القكيام بهامها بشكل منفصل عن الخرى‪.‬‬

‫‪5‬‬


6


‫‪ .1‬وحدة التنفيذ )‪.Execution Unit) EU‬‬ ‫تتكون من ما يلي ‪:‬‬ ‫• وحدة الساب والنطق ذات ‪ 16‬خانة ثنائكية حكيث تقوم بتنفكيذ‬ ‫الطعملكيات السابكية والنطقكية التختلفة على الطعاملت ‪.‬‬ ‫• مسجلت عامة الرغراض كل منها طوله ‪ 16‬خانة ثنائكية وتستتخدم‬ ‫لتتخزين الطعاملت والنتائج بشكل مؤقت ‪.‬‬ ‫• مسجل الرايات ‪.Flags Register‬‬

‫‪7‬‬


Bus Interface Unit) BIU) ‫ وحدة ملمئمة الممرات‬.2

: ‫تتكون من ما يلي‬ Data Registers ‫• مسجلت الطعطكيات‬ Pointer and Index ‫• السجلت الؤشرة‬ registers Segment registers ‫• مسجلت القاطع‬ Instruction Pointer ‫• مؤشر التطعلكيمة ومسجل الرايات‬ .& Flags 8


‫بنكية الطعال ‪8086‬‬ ‫•‬ ‫•‬ ‫‪1.‬‬ ‫‪2.‬‬ ‫‪3.‬‬ ‫‪4.‬‬

‫‪9‬‬

‫تتلتخص الهمة الساسكية للمطعال ‪ 8086‬ف تنفكيذ تطعلكيمات‬ ‫البنامج واحدة تلو الخرى ‪.‬‬ ‫حكيث يكن تلتخكيص خدورة التطعلكيمة بالطوات التالكية ‪:‬‬ ‫نقل التطعلكيمة من الذاكرة إل الطعال )‪. (Fetch‬‬ ‫قراءة الطعاملت الشاركة ف تنفكيذ التطعلكيمة إن لزم المر )‪. (Read‬‬ ‫تنفبذ الطعملكية التضمنة ف التطعلكيمة على الطعاملت )‪.(Execute‬‬ ‫تزين نتائج التنفكيذ ف الكان التخصص )‪.(Write‬‬


‫• ترككيب الطعال ‪ 8086‬يسمح بتنفكيذ هذه الطوات على التوازي ‪,‬من‬ ‫أجل تقكيق هذه الهمة ت بناء الطعال ‪ 8086‬من وحدتي ‪:‬‬ ‫• وحدة التنفكيذ ‪Execution Unit EU‬‬ ‫• وحدة ملئمة المرات ‪Bus Interface Unit‬‬ ‫‪BIU‬‬ ‫ف الطعال ‪ 8086‬ف الوقت الذي تقوم به وحدة التنفكيذ ف تنفكيذ‬ ‫التطعلكيمة الالكية فإن وحدة ملئمة المرات تقوم بإحضار التطعلكيمة‬ ‫اللحقة ما يؤخدي إل تقلكيل وقت النتظار اللزم لحضار‬ ‫التطعلكيمة التالكية ‪.‬‬ ‫‪10‬‬


‫ثانياً – المسجلت ) ‪(Registers‬‬ ‫• جكيع السجلت ف الطعال ‪ 8086‬بطول ‪ bit 16‬ويكن تصنكيفها كالتال ‪:‬‬

‫‪11‬‬


‫‪ – 1‬مسجلت عامة ‪:‬‬ ‫‪bit 16‬‬

‫• تتألف من أربطعة مسجلت هي ‪:‬‬ ‫‪ AX,BX,CX,DX‬بطول ‪16‬‬ ‫‪. bit‬‬ ‫• يكن أن يتم التطعامل مع كل مسجل ككل‬ ‫أو كمسجلي أخدن ‪ Low‬وأعلى ‪High‬‬ ‫كل واحد بطول ‪ , bit 8‬حكيث يقسم‬ ‫‪ AX‬إل مسجلي ‪ AL , AH‬وكذلك‬ ‫باقي السجلت ‪BL,BH),) :‬‬ ‫‪((CL,CH),(DL,DH‬‬ ‫‪12‬‬

‫‪bit 8‬‬

‫‪bit 8‬‬


‫‪ – 2‬مسجلت العنونة ‪:‬‬ ‫• وهي تستتخدم عند التطعامل مع الذاكرة ‪ ,‬ويوضع فكيها عنوان الجرة الراخد التطعامل‬ ‫مطعها‪.‬‬ ‫مثال ‪:‬‬ ‫]‪• MOV BL,[0300H‬‬ ‫• يكن ان نضع ف السجل ‪ SI‬القكيمة ‪ 0300H‬ث نكتب‬ ‫]‪• MOV BL,[SI‬‬ ‫• تتألف هذه الموعة من ثلثة مسجلت ينضم إلكيها السجل الطعام ‪BX‬‬ ‫لتصبح أربطعة مسجلت و تقسم إل مموعتي ‪:‬‬ ‫‪13‬‬


‫مسجلت الفهرسة ‪ : Index‬وتتألف من مسجلي ‪:‬‬ ‫)‪1‬‬ ‫أ – ‪ : (SI (Source Index‬مسجل الصدر )النبع(‪.‬‬ ‫ب _ ‪ : (DI (Destination Index‬مسجل الدف )الستقر(‪.‬‬ ‫مسجلت الساس أو القاعدة )‪ : (Base‬وتتألف من مسجلي ‪:‬‬ ‫)‪2‬‬ ‫أ – ‪) BP: Base Pointer‬مؤشر القاعدة أو الاساس(‪.‬‬ ‫ب _ ‪ BX : Base‬مسجل القاعدة أو الاساس ‪.‬‬

‫‪14‬‬


‫‪ – 3‬مسجلت المقاطع ‪: Segment‬‬ ‫وظكيفتها تويل الطعنوان من ‪ bit 16‬إل عنوان فطعال ‪ Active‬بطول ‪20‬‬ ‫•‬ ‫‪.bit‬‬ ‫و نطعلم أننا نضع ف الذاكرة إحدى القكيم التالكية ‪:‬‬ ‫•‬ ‫‪ .1‬البرنامج ‪ :‬ويدخل إل الذاكرة بشكيفرة لغة اللة ‪.Code‬‬ ‫‪ .2‬المعطيات )‪ :(Data‬وهي الرقام الت ترى علكيها الطعملكيات أو النتائج‪.‬‬ ‫‪ .3‬التكديس )‪ :(Stack‬وهي مطعطكيات و عناوين تستتخدم من قبل الطعال‬ ‫لضمان تسلسل تنفكيذ التطعلكيمات)عند القاططعة مثلً أو تنفكيذ تطعلكيمات الناخداة‬ ‫‪ (Call‬ويكن للمبمج الوصول إل منطقة التكدي س )بإستتخدام تطعلكيمات‬ ‫‪(...Push,Pop‬‬ ‫‪15‬‬


‫• لذلك قسمت مموعة مسجلت الناطق بكيث يكون لكل منطقة من الناطق الثلثة‬ ‫السابقة مسجل يطعتن با‪,‬وهي ‪:‬‬ ‫‪ .1‬المسجل ‪ :(CS (Code Segment‬وهو السؤول عن منطقة البامج‪.‬‬ ‫‪ .2‬المسجل ‪ : (DS (Data Segment‬وهو السؤول عن منطقة‬ ‫الطعطكيات‪.‬‬ ‫‪.3‬المسجل ‪ :(SS (Stack Segment‬وهو السؤول عن منطقة‬ ‫التكدي س‪.‬‬ ‫‪ .4‬المسجل ‪ : (ES(Extra Segment‬وهو السؤول عن منطقة النطقة‬ ‫الضافكية‪.‬‬

‫‪16‬‬


‫‪ – 4‬مسجل التكديس ‪(SP (Stack Pointer‬‬ ‫• وهو السؤول عن تديد عنوان منطقة التكدي س‬

‫‪ – 5‬مسجل التعليمة ‪:(IP (Instruction Pointer‬‬ ‫• ويشي إل عنوان التطعلكيمة الت ستنفذ ‪.‬‬

‫‪17‬‬


‫‪ – 6‬مسجل العل م ‪:(F (Flag‬‬

‫• وهو مسجل حالة وكل خانة فكيه مسؤولة عن مراقبة حالة ما وف حال حدوثها تصبح‬ ‫‪1‬وعند عدم حدوثها تصبح ‪ , 0‬والعلم هي ‪:‬‬

‫‪18‬‬


‫الطعنونة ‪Addressing‬‬ ‫• الطعال ‪ 8086‬يستطكيع التطعامل ف أية لظة زمنكية مع أربع مقاطع متلفة ‪ ,‬لكي‬ ‫يقوم بذه الهمة فأنه يتوي على أربع مسجلت مقاطع‬ ‫)‪ (CS,DS,SS,ES‬حكيث يتوي كل منها على عنوان بداية القطاع‬ ‫الناسب ‪.‬‬ ‫• لكن حجم الذاكرة الرئكيسكية الت يستطكيع الطعال عنونتها قد تصل إل ‪ 1‬مكيغا‬ ‫بايت ‪ ,‬اي يلزمنا لطعنونة كل موقع ف الذاكرة عنوان طوله ‪ 20‬بت ‪ ,‬لكن طول‬ ‫كل من مسجلت القاطع هو ‪ 16‬بت ‪ ,‬بالتال ل نستطكيع تزين عناوين‬ ‫الذاكرة الرئكيسكية لذلك ل بد من تقسكيم الطعنوان إل جزئي ‪:‬‬ ‫‪19‬‬


‫• عنوان المقطع ‪ Segment Address‬الذي يخزن في‬ ‫مسجل ت المقاطع ‪ ,‬طول هذا العنوان يساوي ‪ 16‬ب ت ‪.‬‬ ‫• الزاحة ‪ Offset‬أي بعد الموقع المراد الوصول إليه من بداية‬ ‫القطاع ‪ .‬طول الزاحة يساوي ‪ 16‬ب ت ‪ ,‬يخزن مقدار الزاحة‬ ‫في أحد المسجل ت المؤشرة ‪ ,‬طول القطاع الواحد ل يتجاوز ‪64‬‬ ‫كيلو باي ت‬ ‫• يمكن كتابة عنوان اي موقع على شكل‬ ‫• إزاحة ‪ :‬مقطع‬ ‫=‪• Physical Address‬‬ ‫‪• Segment Address * 10H + Offset‬‬ ‫‪20‬‬


‫أمثلة ‪:‬‬ ‫• احسب الطعنوان الفكيزيائي إذا علمت أن مقدار الزاحة ‪ 50H‬بايت‬ ‫و عنوان القطع ‪3572H‬‬ ‫• الطعنوان الفكيزيائي = عنوان القطع *‪+16‬مقدار الزاحة‬ ‫‪• =3572H*10H+50H‬‬ ‫‪• =35720H+50H‬‬ ‫‪• =35770H‬‬

‫‪21‬‬


‫الطرق الساسكية والهمة ف الطعنونة‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬

‫‪22‬‬

‫الطعنونة الفورية ‪.‬‬ ‫الطعنونة باستتخدام السجلت‪.‬‬ ‫الطعنونة الباشرة ‪.‬‬ ‫الطعنونة رغي الباشرة باستتخدام السجلت ‪.‬‬ ‫الطعنونة باستتخدام مسجلت الساس‬ ‫الطعنونة الفهرسة ‪.‬‬ ‫الطعنونة الفهرسة باستتخدام الساس ‪.‬‬ ‫عنونة منافذ الخدخال والخراج ‪.‬‬


‫تطور لغات البمة‬ . Machine Language ‫• لغة اللة‬ . Assembly Language ‫• لغة التجمكيع‬ . High Level Language ‫• لغة عالكية الستوى‬

23

introduction  

Introduction to The 8086 Microprocessor