Advertisement
Advertisement

More Related Content

Slideshows for you(20)

Advertisement

More from Dimitris Psounis(20)

Advertisement

ΠΛΗ10 ΜΑΘΗΜΑ 1.5 (ΕΚΤΥΠΩΣΗ)

  1. 10 1: / 1.5: MIPS ! " #$ A. 1. MIPS 1. 2. 3. 4. 1. 2. 5. ! " # 6. ! " $ ! " #$ % &'() % $ A. & 1. MIPS 1. MIPS $ RISC : • ' $ (' Assembly ' $ %$. • ) % * 32 ' $% $0, $1, …, $32 • $0 ' '$ $ 0. • # +( ' % . • , $ 4bytes (32 bits) • ( '$ - , % '( $% . $ : *+ ++ + + + + + ! + "+#$ % +&'() : $ '$ + *$ 10 - $ . ( - $ $ ( ( '$ MIPS. / 0/ $ ( -1 $ ( -2 $ ( -3 …. $ ( -n ' $ ( - % , (Program Counter-PC) $0 $2 $3 $4$1 $5 $31 0 A. & 1. MIPS 2. $ (' ! *$ $ (' ! *$ (li-load intermediate) # $ $ '$ $ . #$ : li Rdest, Imm % : • Imm: '$ % • Rdest: $ $ $ ,+ ++ + + + + + ! + "+#$ % +&'() - : $ ( li $1, 10 # $ $1 $ 10. 1 : , % # $ $2 $ 5 $ $8 $ 12.
  2. A. & 1. MIPS 3. ' $ (' ' $ (' $ $ % . #$ : % : • Rdest,Rsrc1,Rsrc2: ' , imm % • add: % *$ ( -#$ 2 - (* ) Rdest:=Rsrc1+Rsrc2 • addi: % - # ( -#$ 2 - (* ) Rdest:=Rsrc1+Imm • sub: . *$ ( -#$ 2 - (* ) Rdest:=Rsrc1-Rsrc2 + ++ + + + + + ! + "+#$ % +&'() add Rdest, Rsrc1, Rsrc2 addi Rdest, Rsrc1, Imm sub Rdest, Rsrc1, Rsrc2 - : A$ $1 ' $ 5 $2 ' $ 3. $ ( add $3, $1, $2 # $ $3 $ 8. $ ( add $1, $1, $2 # $ $1 $ 8. $ ( addi $1, $1, 2 # $ $1 $ 7. $ ( sub $3, $1, $2 # $ $3 $ 2. $0 $2 $3 $$1 0 35 1 : $ *$ $1,$2, $3 ' %( : -+ ++ + + + + + ! + "+#$ % +&'() A. & 1. MIPS 3. ' $ (' li $1, 7 li $2, 10 addi $3, $1, 2 add $3, $3, $3 sub $3, $2, $3 addi $2, $0, 8 A. & 1. MIPS 4. ' $ (' ( ' ) ' $ (' ( #$ ( ' and, or, nand, nor, xor, not - - ' $ $ *$ $ '$ ' #$ : % : • Rdest,Rsrc,Rsrc1,Rsrc2: ' , Imm % • and: ( % , 3 - - ' + ( ' Rsrc1 Rsrc2 Rdest • $ or, nand, nor, xor, not • andi: ( % , 3 - - ' + ( ' Rsrc Imm Rdest • .+ ++ + + + + + ! + "+#$ % +&'() and Rdest, Rsrc1, Rsrc2 andi Rdest, Rsrc, Imm - : A$ $1 ' $ 5 $2 ' $ 3. $ ( and $3, $1, $2 # $ $3 $ 1. $ ( or $3, $1, $2 # $ $3 $ 7. $ ( andi $3, $1, 2 # $ $1 $ 7. $0 $2 $3$1 0 35 not Rdest, Rsrc - : A$ $1 ' $ 5 $ ( sll $1, $1, 1 # $ $1 $ 10. . 00000000000000000000000000000101 A. & 1. MIPS 4. ' $ (' ( $ (' ( ) $ (' ( sll srl ( #$ - ( $ '$ . #$ : % : • Rdest,Rsrc1 ' , Rsrc2 % • sll: $ %( bits Rsrc1 Rsrc2 ' • $ Rsrc2=1 % - $ - ( % # • srl: $ %( bits Rsrc1 Rsrc2 ' • $ Rsrc2=1 % - $ - ( % # ( % div 2) /+ ++ + + + + + ! + "+#$ % +&'() sll Rdest, Rsrc1, Rsrc2 $1 srl Rdest, Rsrc1, Rsrc2 00000000000000000000000000001010 $1
  3. 1 : % $ $ *$ $1-$5 ' '( ; 0+ ++ + + + + + ! + "+#$ % +&'() A. & 1. MIPS 4. ' $ (' li $1, 11 andi $2, $1, 1 srl $1, $1, 1 andi $3, $1, 1 srl $1, $1, 1 andi $4, $1, 1 srl $1, $1, 1 andi $5, $1, 1 srl $1, $1, 1 A. & 1. MIPS 5. $ (' . (' ( $ (' # ) $ (' . (' (( 4 $ i '( $ $ (*$ $ ( $ # $ . & ( % ' (- ( - $ ): #$ : % : • Rdest,Rsrc,Rsrc1,Rsrc2: ' • label: ' $ ( • (' $ ' $ *$ Rsrc1 Rsrc2 $ . • $ $ $ - ( - $ ' label • $ % $ + $ % $ $ ( + ++ + + + + + ! + "+#$ % +&'() beq Rsrc1, Rsrc2, label $ 4 $ $ (' . (' (( : #$ : bge Rsrc1, Rsrc2, label Rsrc1 Rsrc2 bgt Rsrc1, Rsrc2, label Rsrc1 Rsrc2 ble Rsrc1, Rsrc2, label Rsrc1 Rsrc2 blt Rsrc1, Rsrc2, label Rsrc1 Rsrc2 beq Rsrc1, Rsrc2, label Rsrc1 Rsrc2 bne Rsrc1, Rsrc2, label Rsrc1 Rsrc2 j label ! ! ( - $ ! 1 1: $ %( *- ; + ++ + + + + + ! + "+#$ % +&'() A. & 1. MIPS 5. $ (' . (' ( $ (' # ) bge $4, 0, label1 sub $4, $0, $4 label1: addi $4, $4, 1 + ++ + + + + + ! + "+#$ % +&'() A. & 1. MIPS 5. $ (' . (' ( $ (' # ) : $ (' - ( - # $ ( $ %" (% $ - - ) . . %( *- ( '$ $ (% '( $ % $ R1 $ 0 $ $ (( 4 % $ $ 20. $ % % (( 4 % $ $ 30. % ' $ 4 $ '( . … beq $1, $0, ltrue j lfalse ltrue: li $1, 20 j lexit: lfalse: li $1, 30 j lexit: lexit: …. $1=0 )33 $1 := 20 $1 := 30
  4. *+ ++ + + + + + ! + "+#$ % +&'() A. & 1. MIPS 5. $ (' . (' ( $ (' # ) : $ (' - ( - # $ ( $ & (% $ - - ) . . %( *- ( '$ ( $ (*$ . ' … li $1, 1 li $2, N loop: bgt $1, $2, lexit addi $1, $1, 1 j loop lexit: …. $1>$2 $1 := 1 $2 := $1 := $1 + 1 NAI OXI … 1 2: $ %( *- ; ,+ ++ + + + + + ! + "+#$ % +&'() A. & 1. MIPS 5. $ (' . (' ( $ (' # ) li $1, 0 li $2, 3 li $4, 0 li $5, 5 loop: add $1, $1, $2 addi $4, $4, 1 bne $5, $4, loop A. & 1. MIPS 6. $ (' . ! - '$ $ $ ( . - - '$ $ move .' % $ $% '$ $ (( . #$ : % : • Rdest,Rsrc ' • $ . % $ Rsrc $ Rdest + ++ + + + + + ! + "+#$ % +&'() move Rdest, Rsrc 1 : $ %( *- ; li $5, 0 move $4, $3 Loop1: add $4, $4, $3 addi $5, $5, 1 bne $5, 4, Loop1
Advertisement