مجموعة تعليمات ميبس
معمارية الميبس (Microprocessor without Interlocked Pipelines "معالج دون خط أنابيب مُشابك")، هو نوع من أنواع المعالجات من "مجموعة الأوامر المختصرة للكمبيوتر" (RISC) طورته شركة (MIPS Technologies).
هي لغة برمجة ذات مستوى منخفض تتعامل مباشرة مع بنية المعالج من سجلات ومع عناوين الذاكرة مباشرة أي أنها تتخاطب مع العتاد (الهاردوير)، وهي لغة بدائية ومقيدة جدا. البرنامج عبارة عن تعليمات. وهذه التعليمات تخرن في الذاكرة كتعليمة واحدة تلو الأخرى والتي تجلب وتنفذ في الوقت نفسه ينفذ Mips مجموعة من العمليات مثل التحميل من الذاكرة والتخزين في الذاكرة، وبعض العمليات المنطقية مثل AND، shift, OR. والعمليات الحسابية مثل add,sub
بعض التعليمات قد تأخذ اما معامل (operand) واحد مثل: (Jump)، أو معاملان مثل (lw)، (sw)، أو ثلاثة معاملات مثل العمليات الحسابية (sub), (Add)
تعليمات ميبس الرياضية لها ثلاث معاملات والوجهة (النتيجة في أول مسجل) أولا
مثلا العملية الحسابية
formula_1
يمكن وصفها في MIPS كالآتي:
هنا يجمع A و-B ممثلان ب(s$1) و(s$2) ويتم تخزين الحاصل في المسجل (register) المرمز (s$0)
تمتاز لغة الميبس بعدة مبادئ :
C code: A = B + C + D; 
E = F - A; 
MIPS code: add $t0, $s1, $s2 
add $s0, $t0, $s3 
sub $s4, $s5, $s0 
المعاملات يجب أن تكون مسجلات ويوجد 32 مسجل
"Registers vs. Memory"
تنظم عناوين الذاكرة كمصفوفة مفهرسة بايت بايت
0 
1 
2 
3 
4 
5 
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
230 كلمة تعنون 0-4-8- 4-232
Not in all architectures!
0 
4 
8 
12 
32 bits of data 
32 bits of data 
32 bits of data
التعليمات هي مجموعة بيتات والبرامج تكون مخزنة بالذاكرة 
التعليمات يتم جلبها وتوضع في مسجل خاص
البيتات في مسجل التحكم الحدث التالي تجلب التعليمة التالية وتتابع.
مبدأ تخزين البرنامج
القرار أو الشرط يغير التعليمات أي يغير تدفق التحكم ويغير التعليمة التالية التي سوف تنفذ.
bne $t0, $t1, Label # branch if not equal
beq $t0, $t1, Label # branch if equal
Example
bne $s0, $s1, Label 
add $s3, $s0, $s1 
Label:... 
تعليمات ميبس التفرعية غير الشرطية
j label 
Example (if - then - else):
if (i!=j) beq $s4, $s5, Label1 
h=i+j; add $s3, $s4, $s5 
else j Label2 
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
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]
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
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 تعني التفريع عندما يكون المعامل الأول أصغر من المعامل الثاني عندها يتم توضيع القيمة واحد في مسجل النتيجة. 
slt $t0, $s0, $s1
و "في النهاية" فان لغة الاسمبلي تزودنا بأشباه تعليمات 'pseudoinstructions'
مثل تعليمة move $t0, $t1 في الاسمبلي هي عبارة عن add $t0,$t1,$zero
"Assembly Language vs. Machine Language"
تؤمن الاسمبلي عمليات أقوى من ميبس والهدف هو إنقاص عدد التعليمات المنفذة ولكن الخوف في بطئ دورة الساعة and/or
في بعض الأوقات يشار اليها باسم "RISC vs. CISC"
Reduced Instruction Set Computers
Complex Instruction Set Computers
و بشكل افتراضي فكل التعليمات منذ عام 1982 تستخدم البنية البديلة RISC
و التي تتميز ب :
The Mips Programmer's Handbook (The Morgan Kaufmann Series in Computer* Architecture and Design) by Erin Farquhar and Philip J. Bunce