MIPS Green Card Greek

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

1 ΣΥΝΟΛΟ ΕΝΤΟΛΩΝ ΑΡΙΘΜΗΤΙΚΟΥ ΠΥΡΗΝΑ 2

∆εδοµένα αναφοράς MIPS OPCODE/


ΜΝΗ- FMT/FT
ΜΟ- ΜΟΡ- FUNCT
ONOMA ΝΙΚΟ ΦΗ ΛΕΙΤΟΥΡΓΙΑ (Hex)
ΣΥΝΟΛΟ ΕΝΤΟΛΩΝ ΠΥΡΗΝΑ MIPS Branch on FP True bclt FI if(FPcond)PC=PC+4+BranchAddr (4) 11/8/1/--
ΜΝΗ- OPCODE/ Branch on FP False bclf FI if(!FPcond)PC=PC+4+BranchAddr (4) 11/8/0/--
ΜΟ- ΜΟΡ- FUNCT Divide div R Lo=R[rs]/R[rt]; Hi=R[rs]%R[rt] 0/--/--/1a
ΟΝΟΜΑ ΝΙΚΟ ΦΗ ΛΕΙΤΟΥΡΓΙΑ (Verilog) (Hex) Divide Unsigned divu R Lo=R[rs]/R[rt]; Hi=R[rs]%R[rt] (6) 0/--/--/1b
Add add R R[rd]=R[rs]+R[rt] (1) 0 / 20hex FP Add Single add.s FR F[fd]=F[fs]+F[ft] 11/10/--/0
Add Immediate addi I R[rt]=R[rs]+SignExtImm (1,2) 8hex {F[fd],F[fd+1]}={F[fs],F[fs+1]} +
FP Add Double add.d FR 11/11/--/0
{F[ft],F[ft+1]}
Add Imm.
addiu I R[rt]=R[rs]+SignExtImm (2) 9hex FP Compare Single c.x.s* FR FPcond=(F[fs] op F[ft]) ? 1 : 0 11/10/--/y
Unsigned
FP Compare FPcond=({F[fs],F[fs+1]} op
Add Unsigned addu R R[rd]=R[rs]+R[rt] 0 / 21hex c.x.d* FR 11/11/--/y
Double {F[ft],F[ft+1]}) ? 1 : 0
And and R R[rd]=R[rs]&R[rt] 0 / 24hex * (x είναι eq, lt, ή le) (op είναι ==, <, ή <=) (y είναι 32, 3c, ή 3e)
And Immediate andi I R[rt]=R[rs]&ZeroExtImm (3) chex FP Divide Single div.s FR F[fd]=F[fs] / F[ft] 11/10/--/3
if(R[rs]==R[rt]) {F[fd],F[fd+1]}={F[fs],F[fs+1]} /
Branch On Equal beq I (4) 4hex FP Divide Double div.d FR 11/11/--/3
PC=PC+4+BranchAddr {F[ft],F[ft+1]}
Branch On Not if(R[rs]!=R[rt]) FP Multiply Single mul.s FR F[fd]=F[fs] * F[ft] 11/10/--/2
bne I (4) 5hex
Equal PC=PC+4+BranchAddr FP Multiply {F[fd],F[fd+1]}={F[fs],F[fs+1]} *
mul.d FR 11/11/--/2
Jump j J PC=JumpAddr (5) 2hex Double {F[ft],F[ft+1]}
FP Subtract Single sub.s FR F[fd]=F[fs] – F[ft] 11/10/--/1
Jump And Link jal J R[31]=PC+4;PC=JumpAddr (5) 3hex
{F[fd],F[fd+1]}={F[fs],F[fs+1]} –
Jump Register jr R PC=R[rs] 0 / 08hex FP Subtract Double sub.d FR 11/11/--/1
{F[ft],F[ft+1]}
Load Byte R[rt]={24’b0,M[R[rs] Load FP Single lwc1 I F[rt]=M[R[rs]+SignExtImm] (2) 31/--/--/--
lbu I (2) 0 / 24hex
Unsigned +SignExtImm](7:0)} F[rt]=M[R[rs]+SignExtImm];
Load FP Double ldc1 I (2) 35--/--/--
Load Halfword R[rt]={16’b0,M[R[rs] F[rt+1]=M[R[rs]+SignExtImm+4]
lhu I (2) 0 / 25hex
Unsigned +SignExtImm](15:0)} Move From Hi mfhi R R[rd]=Hi 0/--/--/10
Load Linked ll I R[rt]=M[R[rs]+SignExtImm] (2,7) 30hex Move From Lo mflo R R[rd]=Lo 0/--/--/12
Load Upper Imm. lui I R[rt]={imm, 16’b0} fhex Move From
mfc0 R R[rd]=CR[rs] 16/0/--/0
Control
Load Word lw I R[rt]=M[R[rs]+SignExtImm] (2) 23hex
Multiply mult R {Hi, Lo}=R[rs] * R[rt] 0/--/--/18
Nor nor R R[rd]=~(R[rs] | R[rt]) 0 / 27hex Multiply Unsigned multu R {Hi, Lo}=R[rs] * R[rt] (6) 0/--/--/19
Or or R R[rd]=R[rs] | R[rt] 0 / 25hex Shift Right Arith. sra R R[rd] = R[rt] >>> shamt 0/--/--/3
Or Immediate ori I R[rt]=R[rs] | ZeroExtImm (3) dhex Store FP Single swc1 I M[R[rs]+SignExtImm]=F[rt] (2) 39/--/--/--
Set Less Than slt R R[rd]=(R[rs] < R[rt]) ? 1 : 0 0 / 2ahex M[R[rs]+SignExtImm]=F[rt];
Store FP Double sdc1 I (2) 3d/--/--/--
M[R[rs]+SignExtImm+4]=F[rt+1]
Set Less Than R[rt]=(R[rs] < SignExtImm)
slti I (2) ahex
Imm. ?1:0
ΜΟΡΦΕΣ ΕΝΤΟΛΩΝ ΚΙΝΗΤΗΣ ΥΠΟ∆ΙΑΣΤΟΛΗΣ
Set Less Than R[rt]=(R[rs] < SignExtImm)
sltiu I (2,6) bhex FR opcode fmt ft fs fd funct
Imm. Unsigned ?1:0
31 26 25 21 20 16 15 11 10 6 5 0
Set Less Than
sltu R R[rd]=(R[rs] < R[rt]) ? 1 : 0 (6) 0 / 2bhex
Unsigned FI opcode fmt ft immediate
Shift Left Logical sll R R[rd]=R[rt] << shamt 0 / 00hex 31 26 25 21 20 16 15 0

Shift Right Logical srl R R[rd]=R[rt] >> shamt 0 / 02hex ΣΥΝΟΛΟ ΨΕΥ∆ΟΕΝΤΟΛΩΝ
M[R[rs]+SignExtImm](7:0)= ONOMA ΜΝΗΜΟΝΙΚΟ ΛΕΙΤΟΥΡΓΙΑ
Store Byte sb I (2) 28hex
R[rt](7:0)
Branch Less Than blt if(R[rs]<R[rt])PC=Label
M[R[rs]+SignExtImm]=R[rt]; Branch Greater Than bgt if(R[rs]>R[rt])PC=Label
Store Conditional sc I (2,7) 38hex
R[rt] = (atomic) ? 1 : 0
Branch Less Than Or Equal ble if(R[rs]<=R[rt])PC=Label
M[R[rs]+SignExtImm](15:0)= Branch Greater Than Or Equal bge if(R[rs]>=R[rt])PC=Label
Store Halfword sh I (2) 29hex
R[rt](15:0)
Load Immediate li R[rd]=immediate
Store Word sw I M[R[rs]+SignExtImm]= R[rt] (2) 2bhex Move move R[rd]=R[rs]
Subtract sub R R[rd]=R[rs]-R[rt] (1) 0 / 22hex
Subtract Unsigned subu R R[rd]=R[rs]-R[rt] 0 / 23hex ONOMA, ΑΡΙΘΜΟΣ, ΧΡΗΣΗ, ΣΥΜΒΑΣΗ ΚΛΗΣΗΣ ΚΑΤΑΧΩΡΗΤΩΝ
∆ΙΑΤΗΡΕΙΤΑΙ ΚΑΤΑ
(1) Μπορεί να προκαλέσει εξαίρεση υπερχείλισης ONOMA ΑΡΙΘΜΟΣ ΧΡΗΣΗ ΤΗΝ ΚΛΗΣΗ;
(2) SignExtImm = { 16{immediate[15]}, immediate } $zero 0 Η σταθερή τιµή 0 ∆/Ε
(3) ZeroExtImm = { 16{lb’0}, immediate }
(4) BranchAddr = { 14{immediate[15]}, immediate, 2’b0 } Προσωρινός καταχωρητής
$at 1 Όχι
(5) JumpAddr = { PC[31:28], address, 2’b0 } συµβολοµεταφραστή
(6) Οι τελεστέοι θεωρούνται µη προσηµασµένοι αριθµοί (όχι σε Τιµές για αποτελέσµατα συναρτήσεων
$v0-$v1 2-3 Όχι
συµπλήρωµα ως προς 2) και υπολογισµό παραστάσεων
(7) Αδιαίρετο ζεύγος test&set· R[rt] = 1 αν το ζεύγος είναι $a0-$a3 4-7 Ορίσµατα Όχι
αδιαίρετο, 0 αν δεν είναι $t0-$t7 8-15 Προσωρινοί καταχωρητές Όχι
ΒΑΣΙΚΕΣ ΜΟΡΦΕΣ ΕΝΤΟΛΩΝ Αποθηκευµένοι προσωρινοί
$s0-$s7 16-23 Ναι
καταχωρητές
R opcode rs rt rd shamt funct $t8-$t9 24-25 Προσωρινοί καταχωρητές Όχι
31 26 25 21 20 16 15 11 10 6 5 0 ∆εσµευµένοι για τον πυρήνα του
$k0-$k1 26-27 Όχι
λειτουργικού συστήµατος
I opcode rs rt immediate $gp 28 Καθολικός δείκτης Ναι
31 26 25 21 20 16 15 0 $sp 29 ∆είκτης στοίβας Ναι
$fp 30 ∆είκτης πλαισίου Ναι
J opcode address $ra 31 ∆ιεύθυνση επιστροφής Ναι
31 26 25 0

Copyright 2009 by Elsevier, Inc., All rights reserved. From Patterson and Hennessy, Computer Organization and Design, 4th ed.
3 ΠΡΟΤΥΠΟ ΚΙΝΗΤΗΣ 4
ΚΩ∆ΙΚΟΙ ΛΕΙΤΟΥΡΓΙΑΣ, ΜΕΤΑΤΡΟΠΗ ΒΑΣΗΣ, ΣΥΜΒΟΛΑ ASCII ΥΠΟ∆ΙΑΣΤΟΛΗΣ IEEE 754 ΣΥΜΒΟΛΑ IEEE 754
MIPS (1) MIPS (2) MIPS ∆εκα- Χαρα- ∆εκα- Χαρα-
∆εκα- ∆εκα- Εκθέτης Κλάσµα Αντικείµενο
opcode funct funct ∆υαδικό εξα- κτήρας εξα- κτήρας
δικό δικό (-1)Π×(1+Κλάσµα)×2(Εκθέτης-Πόλωση) 0 0 ±0
(31:26) (5:0) (5:0) δικό ASCII δικό ASCII
(1) sll add.f 00 0000 0 0 NUL 64 40 @ όπου πόλωση απλής ακρίβειας = 127, 0 ≠0 ± Μη κανονικ.
sub.f 00 0001 1 1 SOH 65 41 A πόλωση διπλής ακρίβειας = 1023. 1 ως MAX - 1 οτιδήποτε ± Αριθ. κ. υ.
j srl mul.f 00 0010 2 2 STX 66 42 B
jal sra div.f 00 0011 3 3 ETX 67 43 C MAX 0 ±∞
beq sllv sqrt.f 00 0100 4 4 EOT 68 44 D MAX ≠0 NaN
bne abs.f 00 0101 5 5 ENQ 69 45 E MAX απλής ακρίβειας = 255
blez srlv mov.f 00 0110 6 6 ACK 70 46 F MAX διπλής ακρίβειας = 2047
bgtz srav neg.f 00 0111 7 7 BEL 71 47 G
addi jr 00 1000 8 8 BS 72 48 H Μορφές αριθµών απλής και διπλής ακρίβειας ΙΕΕΕ
addiu jalr 00 1001 9 9 HT 73 49 I
slti movz 00 1010 10 a LF 74 4a J Π Εκθέτης Κλάσµα
31 30 23 22 0
sltiu movn 00 1011 11 b VT 75 4b K
andi syscall round.w.f 00 1100 12 c FF 76 4c L
Π Εκθέτης Κλάσµα
ori break trunc.w.f 00 1101 13 d CR 77 4d M
63 62 52 51 0
xori ceil.w.f 00 1110 14 e SO 78 4e N
lui sync floor.w.f 00 1111 15 f SI 79 4f O ΚΑΤΑΝΟΜΗ ΜΝΗΜΗΣ ΠΛΑΙΣΙΟ ΣΤΟΙΒΑΣ
mfhi 01 0000 16 10 DLE 80 50 P
(2) mthi 01 0001 17 11 DC1 81 51 Q $sp 7fff fffchex Στοίβα … Υψηλότερες
mflo movz.f 01 0010 18 12 DC2 82 52 R Όρισµα 6 διευθύνσεις
mtlo movn.f 01 0011 19 13 DC3 83 53 S µνήµης
Όρισµα 5
01 0100 20 14 DC4 84 54 T $fp
01 0101 21 15 NAK 85 55 U Αποθηκευµένοι
01 0110 22 16 SYN 86 56 V καταχωρητές
01 0111 23 17 ETB 87 57 W
∆υναµικά δεδοµένα Αύξηση της
mult 01 1000 24 18 CAN 88 58 X
στοίβας
multu 01 1001 25 19 EM 89 59 Y $gp 1000 8000hex Στατικά δεδοµένα Τοπικές
div 01 1010 26 1a SUB 90 5a Z 1000 0000hex µεταβλητές
divu 01 1011 27 1b ESC 91 5b [ Κείµενο $sp
01 1100 28 1c FS 92 5c \ pc 0040 0000hex Χαµηλότερες
01 1101 29 1d GS 93 5d ] διευθύνσεις
∆εσµευµένο
01 1110 30 1e RS 94 5e ^ 0hex µνήµης
01 1111 31 1f US 95 5f _
lb add cvt.s.f 10 0000 32 20 Space 96 60 ` ΕΥΘΥΓΡΑΜΜΙΣΗ ∆Ε∆ΟΜΕΝΩΝ
lh addu cvt.d.f 10 0001 33 21 ! 97 61 a
∆ιπλή λέξη
lwl sub 10 0010 34 22 " 98 62 b
Λέξη Λέξη
lw subu 10 0011 35 23 # 99 63 c
Ηµιλέξη Ηµιλέξη Ηµιλέξη Ηµιλέξη
lbu and cvt.w.f 10 0100 36 24 $ 100 64 d
Byte Byte Byte Byte Byte Byte Byte Byte
lhu or 10 0101 37 25 % 101 65 e 0 1 2 3 4 5 6 7
lwr xor 10 0110 38 26 & 102 66 f Τιµή των τριών λιγότερο σηµαντικών bit της διεύθυνσης byte (Big Endian)
nor 10 0111 39 27 ' 103 67 g
sb 10 1000 40 28 ( 104 68 h ΚΑΤΑΧΩΡΗΤΕΣ ΕΛΕΓΧΟΥ ΕΞΑΙΡΕΣΗΣ: CAUSE ΚΑΙ STATUS
sh 10 1001 41 29 ) 105 69 i B Interrupt Exception
swl slt 10 1010 42 2a * 106 6a j D Mask Code
sw sltu 10 1011 43 2b + 107 6b k 31 15 8 6 2
10 1100 44 2c , 108 6c l Pending U E I
10 1101 45 2d - 109 6d m Interrupt M L E
15 8 4 1 0
swr 10 1110 46 2e . 110 6e n
BD = Branch Delay, UM = User Mode, EL = Exception Level, IE = Interrupt Enable
cache 10 1111 47 2f / 111 6f o
ll tge c.f.f 11 0000 48 30 0 112 70 p ΚΩ∆ΙΚΟΙ ΕΞΑΙΡΕΣΕΩΝ
lwc1 tgeu c.un.f 11 0001 49 31 1 113 71 q
Αριθ- Όνοµα Αιτία εξαίρεσης Αριθ- Όνοµα Αιτία εξαίρεσης
lwc2 tlt c.eq.f 11 0010 50 32 2 114 72 r µός µός
pref tltu c.ueq.f 11 0011 51 33 3 115 73 s 0 Int Interrupt (hardware) 9 Bp Breakpoint Exception
teq c.olt.f 11 0100 52 34 4 116 74 t
Address Error Exception Reserved Instruction
ldc1 c.ult.f 11 0101 53 35 5 117 75 u 4 AdEL 10 RI
(load or instruction fetch) Exception
ldc2 tne c.ole.f 11 0110 54 36 6 118 76 v Address Error Exception Coprocessor
c.ule.f 11 0111 55 37 7 119 77 w 5 AdES 11 CpU
(store) Unimplemented
sc c.sf.f 11 1000 56 38 8 120 78 x Bus Error on Arithmetic Overflow
swc1 c.ngle.f 11 1001 57 39 9 121 79 y 6 IBE 12 Ov
Instruction Fetch Exception
swc2 c.seq.f 11 1010 58 3a : 122 7a z 7 DBE Bus Error on Load or Store 13 Tr Trap
c.ngl.f 11 1011 59 3b ; 123 7b { 8 Sys Syscall Exception 15 FPE Floating Point Exception
c.lt.f 11 1100 60 3c < 124 7c |
sdc1 c.nge.f 11 1101 61 3d = 125 7d } ΠΡΟΘΕΜΑΤΑ ΜΕΓΕΘΟΥΣ (10x για δίσκους, επικοινωνίες·
sdc2 c.le.f 11 1110 62 3e > 126 7e ~ 2x για µνήµη)
c.ngt.f 11 1111 63 3f ? 127 7f DEL
ΜΕΓΕ- ΠΡΟ- ΜΕΓΕ- ΠΡΟ- ΜΕΓΕ- ΠΡΟ- ΜΕΓΕ- ΠΡΟ-
(1) opcode(31:26) == 0 ΘΟΣ ΘΕΜΑ ΘΟΣ ΘΕΜΑ ΘΟΣ ΘΕΜΑ ΘΟΣ ΘΕΜΑ
(2) opcode(31:26) == 17ten(11hex); if fmt(25:21) == 16ten(10hex) f = s (single); 103, 210 Kilo- 1015, 250 Peta- 10-3 milli- 10-15 femto-
if fmt(25:21) == 17ten(11hex) f = d (double) 106, 220 Mega- 1018, 260 Exa- 10-6 micro- 10-18 atto-
109, 230 Giga- 1021, 270 Zetta- 10-9 nano- 10-21 zepto-
1012, 240 Tera- 1024, 280 Yotta- 10-12 pico- 10-24 yocto-
Το σύµβολο κάθε προθέµατος είναι απλώς το πρώτο του γράµµα, εκτός από το µ που
χρησιµοποιείται για το micro.

Copyright 2009 by Elsevier, Inc., All rights reserved. From Patterson and Hennessy, Computer Organization and Design, 4th ed.

You might also like