1688283060_6

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

‫كلية الهندسة‬

‫قسم هندسة امليكاترونيك‬

‫بنيان الحواسيب‬
‫محاضرة ‪6‬‬

‫د‪ .‬فادي متوج‬

‫‪https://manara.edu.sy/‬‬
‫تنفيذ تعليمات ‪ MIPS‬األساسية داخل‬
‫املعالج‬
‫ً‬
‫سوف ندرس في هذه املحاضرة آلية تنفيذ عددا من تعليمات ‪ MIPS‬األساسية مثل‪:‬‬

‫■ التعليمات التي تتعامل مع الذاكرة ‪sw ، lw :‬‬

‫■ التعليمات الحسابية و املنطقية ‪slt ، OR ، AND :‬‬

‫‪https://manara.edu.sy/‬‬
‫تنفيذ تعليمات ‪ MIPS‬األساسية داخل املعالج‬
‫• عند التنفيذ‪ ،‬تشترك جميع التعليمات بأول خطوتين‪:‬‬
‫إرسال عداد البرنامج )‪) PC‬إلى الذاكرة التي تحتوي على كود البرنامج و جلب التعليمات من تلك الذاكرة‪.‬‬ ‫‪.1‬‬
‫قراءة واحد أو اثنين من املسجالت‪،‬حيث يتم تحديد املسجالت املراد قراءتها باستخدام حقول التعليمات‪ .‬بالنسبة لتعليمة ‪ ،lw‬نحتاج إلى قراءة مسجل واحد فقط‪،‬‬ ‫‪.2‬‬
‫لكن معظم التعليمات األخرى تتطلب قراءة مسجلين‪.‬‬
‫• تستخدم جميع فئات التعليمات‪ ،‬باستثناء تعليمات القفز‪ ،‬وحدة الحساب واملنطق )‪ )ALU‬بعد قراءة املسجالت‪.‬‬
‫• تستخدم التعليمات التي تتعامل مع الذاكرة وحدة الحساب واملنطق )‪ )ALU‬لحساب العنوان‪ ،‬بينما تستخدم التعليمات الحسابية واملنطقية وحدة الحساب واملنطق‬
‫لتنفيذ العملية‪.‬‬
‫• بعد استخدام ‪ ،ALU‬تختلف اإلجراءات املطلوبة إلكمال التعليمات املختلفة‪.‬‬

‫• ستحتاج التعليمات التي تتعامل مع الذاكرة إلى الوصول إلى الذاكرة إما لقراءة البيانات من أجل تعليمة ‪ lw‬أو كتابة البيانات من أجل تعليمة ‪.sw‬‬
‫• يجب أن تقوم التعليمات الحسابية‪-‬املنطقية أو تعليمات التحميل بكتابة البيانات من ‪ ALU‬أو الذاكرة مرة أخرى في السجل‪.‬‬
‫• من أجل تعليمة التفرع ‪ ،beq‬قد نحتاج إلى تغيير عنوان التعليمة التالية ً‬
‫بناء على نتيجة املقارنة ؛ و إال‪ ،‬يجب زيادة قيمة املسجل ‪ PC‬بمقدار ‪ 4‬للحصول على عنوان‬
‫التعليمة التالية‬
‫‪.‬‬

‫‪https://manara.edu.sy/‬‬
https://manara.edu.sy/
‫بناء ممراملعطيات ‪Datapath‬‬
‫• عنصر ‪ : Datapath‬هو عنصر يستخدم للعمل على‬

‫أو االحتفاظ بالبيانات داخل املعالج‪.‬‬

‫• في آلية تنفيذ تعليمات ‪ ،MIPS‬تتضمن عناصر ممر‬

‫البيانات التعليمات(‪ )instruction‬و ذاكرة البيانات‬

‫(‪ )data memory‬وملف املسجالت (‪ )register file‬و‬

‫‪ ALU‬و الجوامع (‪.)adders‬‬

‫‪https://manara.edu.sy/‬‬
‫عمل ممرالبيانات للتعليمات من النوع ‪R‬‬
‫‪add $t1,$t2,$t3‬‬

‫‪https://manara.edu.sy/‬‬
‫عمل ممرالبيانات للتعليمات من النوع ‪R‬‬
‫‪add $t1,$t2,$t3‬‬

‫• يوضح الشكل السابق عمل ممر البيانات لتعليمة ‪ add $t1,$t2,$t3‬حيث يتم تنفيذ التعليمات في أربع‬
‫خطوات‪:‬‬

‫‪ .1‬يتم جلب التعليمات ‪ ،‬ويتم زيادة قيمة املسجل ‪.PC‬‬

‫‪ .2‬يتم قراءة مسجلين ‪ $t2‬و ‪ $t3‬من ملف املسجالت‪.‬‬

‫‪ .3‬تعمل وحدة ‪ALU‬على البيانات املقروءة من ملف املسجالت‪.‬‬

‫‪ .4‬تتم كتابة النتيجة من ‪ ALU‬في ملف املسجالت باستخدام البتات ‪ 15:11‬من رمز التعليمة لتحديد‬
‫مسجل الوجهة ‪$t1‬‬

‫‪https://manara.edu.sy/‬‬
: ‫عمل ممرالبيانات للتعليمة‬
lw $t1, offset($t2)

https://manara.edu.sy/
‫عمل ممرالبيانات للتعليمة ‪:‬‬
‫)‪lw $t1, offset($t2‬‬

‫تعمل تعليمة ‪ lw‬في خمس خطوات كما هو مبين على الشكل السابق ‪:‬‬

‫• يتم جلب التعليمات من ذاكرة التعليمات‪ ،‬ويتم زيادة قيمة املسجل ‪.PC‬‬

‫• تتم قراءة قيمة السجل ‪ $t2‬من ملف املسجالت‪.‬‬

‫• تحسب وحدة ‪ ALU‬مجموع القيمة املقروءة من ملف املسجالت و قيمة اإلزاحة ‪16‬بت بعد توسعتها إلى ‪ 32‬بت ‪.‬‬

‫• يستخدم املجموع الناتج من ‪ ALU‬كعنوان لذاكرة البيانات‪.‬‬

‫• تتم كتابة البيانات من وحدة الذاكرة في ملف املسجالت ؛ يتم تحديد مسجل الوجهة بالبتات ‪ 20:16‬من رمز التعليمة‬

‫‪. $t1‬‬

‫‪https://manara.edu.sy/‬‬

You might also like