مرجع
آخر الزيارات

معمارية ميبس

673 كلمة•0 مشاهدة•🗒️ منذ يوم
باختصار: معمارية الميبس (Microprocessor without Interlocked Pipelines معالج دون خط أنابيب مُشابك)، هو نوع من أنواع المعالجات من مجموعة الأوامر المختصرة للكمبيوتر (RISC) طورته شركة (MIPS Technologies). في هذه المقالة 27 قسماً: «ميزات لغة الميبس»، «h=i-j; Label1: sub $s3, $s4, $s5» و«أنواع التعليمات» وغيرها.
المحتويات
  1. ميزات لغة الميبس
  2. h=i-j; Label1: sub $s3, $s4, $s5
  3. أنواع التعليمات
  4. مبدأ تخزين البرنامج
  5. sub $s4, $s5, $s0
  6. ميزات ال RISC
  7. مقدمة عن تعليمات لغة الآلة
  8. 32 bits of data
  9. j Label Next instr. is at Label
  10. J-type
  11. 12
  12. j label
  13. عدد قليل من أنظمة العنونة
  14. Example
  15. بنية تحميل – تخزين
  16. 230 كلمة تعنون 0-4-8- 4-232
  17. sw $s1,100($s2) Memory[$s2+100] = $s1
  18. مثال
  19. 6
  20. bne $s1, $s3, Loop
  21. add $s0, $s1, $s2
  22. slt $t0, $s0, $s1
  23. دورة واحدة
  24. add $s3, $s0, $s1
  25. Assembly Language vs. Machine Language
  26. التعليمات يتم جلبها وتوضع في مسجل خاص
  27. مثلا العملية الحسابية

قبل الخوض في التفاصيل، معمارية الميبس (Microprocessor without Interlocked Pipelines معالج دون خط أنابيب مُشابك)، هو نوع من أنواع المعالجات من مجموعة الأوامر المختصرة للكمبيوتر (RISC) طورته شركة (MIPS Technologies). وفيما يلي تفاصيل أوسع عن ذلك.

ميزات لغة الميبس

تمتاز لغة الميبس بعدة مبادئ :

h=i-j; Label1: sub $s3, $s4, $s5

  • Label2:...
  • مثال أخر:
  • Example (loop):
  • Loop: ----
  • i=i+j;
  • if(i!=h) go to Loop
  • ---
  • Loop: ---
  • add $s1, $s1, $s2 #i=i+j

أنواع التعليمات

وعلى صعيد آخر، تعليمات ميبس الرياضية لها ثلاث معاملات والوجهة (النتيجة في أول مسجل) أولا

علاوةً على ذلك، بعض التعليمات قد تأخذ اما معامل (operand) واحد مثل: (Jump)، أو معاملان مثل (lw)، (sw)، أو ثلاثة معاملات مثل العمليات الحسابية (sub), (Add)

مبدأ تخزين البرنامج

beq $t0, $t1, Label # branch if equal

كذلك، القرار أو الشرط يغير التعليمات أي يغير تدفق التحكم ويغير التعليمة التالية التي سوف تنفذ.

bne $t0, $t1, Label # branch if not equal

sub $s4, $s5, $s0

  • المعاملات يجب أن تكون مسجلات ويوجد 32 مسجل
  • المبدأ الثاني : أصغر وأسرع
  • Registers vs. Memory
  • تنظم عناوين الذاكرة كمصفوفة مفهرسة بايت بايت
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5

ميزات ال RISC

و التي تتميز ب :

وعلى صعيد آخر، و بشكل افتراضي فكل التعليمات منذ عام 1982 تستعمل البنية البديلة RISC

مقدمة عن تعليمات لغة الآلة

وفي السياق ذاته، هي لغة برمجة ذات مستوى منخفض تتعامل مباشرة مع بنية المعالج من سجلات ومع عناوين الذاكرة مباشرة أي أنها تتخاطب مع العتاد (الهاردوير)، وهي لغة بدائية ومقيدة جدا. البرنامج عبارة عن تعليمات. وهذه التعليمات تخرن في الذاكرة كتعليمة واحدة تلو الأخرى والتي تجلب وتنفذ في الوقت نفسه ينفذ Mips مجموعة من العمليات مثل التحميل من الذاكرة والتخزين في الذاكرة، وبعض العمليات المنطقية مثل AND، shift, OR. والعمليات الحسابية مثل add,sub

32 bits of data

المبدأ الثالث : تصميم جيد يطلب اتفاقية جيدة

التعليمات هي مجموعة بيتات والبرامج تكون مخزنة بالذاكرة

j Label Next instr. is at Label

  • و هذه هي شيفرات التعلميات:
  • the 16 b and 26 b addresses are word addresses
  • op rs rt rd shamt funct
  • op rs rt 16 bit address
  • op 26 bit address
  • R-type
  • I-type

J-type

من جانب آخر، Slt تعني التفريع عندما يكون المعامل الأول أصغر من المعامل الثاني عندها يتم توضيع القيمة واحد في مسجل النتيجة.

12

  • ...
  • 32 bits of data
  • 32 bits of data

j label

  • Example (if - then - else):
  • if (i!=j) beq $s4, $s5, Label1
  • h=i+j; add $s3, $s4, $s5
  • else j Label2

عدد قليل من أنظمة العنونة

  • وحدة تحكم سريعة.
  • انظر كذلك
  • تقنية حاسب مجموعة التعليمات المعقدة

Example

bne $s0, $s1, Label

(if): if (i==j) h = i + j;

بنية تحميل – تخزين

عدد قليل من التعليمات

عدد كبير من المسجلات بالإضافة ل:

230 كلمة تعنون 0-4-8- 4-232

  • Not in all architectures!
  • 0
  • 4
  • 8

sw $s1,100($s2) Memory[$s2+100] = $s1

bne $s4,$s5,L Next instr. is at Label if $s4 $s5

beq $s4,$s5,L Next instr. is at Label if $s4 = $s5

مثال

  • C code: A = B + C + D;
  • E = F - A;
  • MIPS code: add $t0, $s1, $s2
  • add $s0, $t0, $s3

6

  • ...
  • 8 bits of data
  • 8 bits of data
  • 8 bits of data
  • 8 bits of data
  • 8 bits of data
  • ولكن أغلب المعطيات تستعمل 4 بايت
  • 230 بايت تعنون من 0 وحتى 232-1

bne $s1, $s3, Loop

  • بعض الأمثلة :
  • Instruction Meaning
  • add $s1,$s2,$s3 $s1 = $s2 + $s3
  • sub $s1,$s2,$s3 $s1 = $s2 – $s3
  • lw $s1,100($s2) $s1 = Memory[$s2+100]

add $s0, $s1, $s2

إضافةً إلى ذلك، هنا يجمع A و-B ممثلان ب(s$1) و(s$2) ويتم تخزين الحاصل في المسجل (register) المرمز (s$0)

slt $t0, $s0, $s1

وفي هذا الصدد، و في النهاية فان لغة الاسمبلي تزودنا بأشباه تعليمات 'pseudoinstructions'

من جهة ثانية، مثل تعليمة move $t0, $t1 في الاسمبلي هي عبارة عن add $t0,$t1,$zero

دورة واحدة

عدد قليل من شكل التعليمات ذات الطول الثابت.

add $s3, $s0, $s1

Label:....

تعليمات ميبس التفرعية غير الشرطية

Assembly Language vs. Machine Language

ومن جهة أخرى، تؤمن الاسمبلي عمليات أقوى من ميبس والهدف هو إنقاص عدد التعليمات المنفذة ولكن الخوف في بطئ دورة الساعة and/or

  • في بعض الأوقات يشار اليها باسم RISC vs. CISC
  • Reduced Instruction Set Computers
  • Complex Instruction Set Computers

التعليمات يتم جلبها وتوضع في مسجل خاص

في هذا الإطار، البيتات في مسجل التحكم الحدث التالي تجلب التعليمة التالية وتتابع.

مثلا العملية الحسابية

يمكن وصفها في MIPS كالآتي:

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.