Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

4,012 views

Published on

.

Published in: Education

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

  1. 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. 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. 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. 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

×