O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

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

4.017 visualizações

Publicada em

.

Publicada em: Educação

ΠΛΗ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

×