.


:




:

































 

 

 

 


RISC- PowerPC




 

:

1 68 ?

2 - ?

 

Power : , , , , , .

, . . , . r r, rD. GPR 31 GPR 0. SIm UIm 32- , .

. :

= (r!0) + d 32 ;

= (r!0) + (r) ;

r, r GPR 31... GPR 1; d 32 32- . GPRO : 0, = d 32 , = (r) . d 32 , r.

. t-adr ( + t-adr).

32- . 32- . , , 32- , 32- t-adr. , 4 8 .

(. 14.1) , . . , SO, EQ, GT, LT CR 0 CR. , OV, SO XER; SO CR 0. addic, addc, adde, addme, addze subfc, subfic, subfe, subfme, subfze XER . addi r = 0 SIm rD, r = /0 r. addis rA = /0 r SIm, , rA = 0 SIm rD.

 

14.1

addi(addis) rDrA,SIm add(add., addo, addo.) rDrA,rB addic(addic.) rD,rA,SIm addc(addc., addco, addco.) rD,rA,rB adde(adde., addeo, addeo.) rD,rA,rB addme(addme., addmeo, addmeo.) rD,rA addze(addze., addzeo, addzeo.) rD,rA rA|O+Slm →rD ( SIm) rA+rB →rD rA+SIm →rD, rA+rB →rD, rA+rB+CA→rD, rA-1+CA → rD, rA+CA → rD,
subf(subf., subfo, subfo.) rD,rA,rB subfic rD,rA,Slm subfc(subfc., subfco, subfco.) rD,rA,rB subfe(subfe., subfeo, subfeo.) rD,rA,rB subfme(subfme., subfmeo, subfmeo) rD,rA subfze(subfze., subfzeo, subfzeo) rD,rA -rA+rB →rD -rA+Slm → rD, -rA+rB → rD, -rA+rB+CA → rD, C -rA-1+CA → rD, C -rA+CA → rD, C
mulli rD,rA,Slm mullw(mullw., mullwo, mullwo) rD,rA,rB mulhw(mulhw.) rD,rA,rB mulhwu(mulhwu.) rD,rA,rB rA*SIm → rD, 1616 rA*rB → rD, 1616 rA*rB → rD, 3232 rA*rB → rD, 3232
divw(divw., divwo, divwo.) rD,rA,rB divwu(divwu., divwuo, divwuo.) rD,rA,rB rA/rB → rD, 32:32 rA/rB → rD, 32:32
neg(neg., nego, negok) rD,rA -rA → rD
extsb(exstb.) rA,rS extsh(exsth) rA,rS rS(.) → rA rS (./) → rA

 

. 16- ( mulli, mullw) rD 32- . 32- ( mulhw) ( mulhwu) rD 32 , (r + 1) 32 . 32- ( divw) ( divwu) rD 32- .

neg . extsb rS 32- , rD. extsh 16- ( ) rS.

(. 14.2) , rS, rB (UIm). : , Δ, Δ, -Ͳ, -Ͳ, , , . , . , CR 0 CR. ands., oris., xoris. 16 . cntizw, rS, . rA.

 

14.2

andi.(andis.) rA,rS,UIm ori.(oris.) rA,rS,UIm xori.(xoris) rA,rS,UIm rS ^ UIm →rA, ( UIm) rS v UIm →rA, ( UIm) rS Å UIm →rA, ( UIm)
and(and.) rA,rS,rB or(or.) rA,rS,rB xor(xor.) rA,rS,rB and(nand.) rA,rS,rB nor(nor.) rA,rS,rB andc(andc.) rA,rS,rB orc(orc.) rA,rS,rB egv(egv.) rA,rS,rB rS ^ rB →rA rS v rB →rA rS Å rB →rA rS ^ rB →rA rS v rB →rA rS ^ rB →rA rS v rB →rA rS Å rB →rA
cntizw(cntizw.) rA,rS 0 rS→rA

 

(. 14.3) , rA, rB, (SIm, UIm), . CRi CR. i = 7...2 crdD . 0, R 0. L , 0.

(sew, srw), (sraw, srawi) (rewinm, rewnm, rewimi) rS rA. ʳ Ns, rB. ( sew) ( srw) , , . ( sraw, srawi) .

 

14.3

cmpi crfD,L,rA,SIm cmp crfD,L,rA,rB cmpli crfD,L,rA,UIm cmpl crfD,L,rA,rB -rA + Sim ( ) -rA + rB ( ) -rA + Sim ( ) -rA + rB ( )
slw(slw.) rA,rS,rB srw(srw.) rA,rS,rB srawi(srwi.) rA,rS,Ns sraw(sraw.) rA,rS,rB [rS←s(rB)]→rS, [rS→s(rB)]→rA, [rS→s(Ns)]→rA, [rS→s(rB)]→rA,
riwinm(riwinm.) rA,rS,Ns,Mb,Me riwnm(riwnm.) rA,rS,rB,Mb,Me rlwimi(rlwimi.) rA,rS,Ns,Mb,Me [rS←r(Ns)] ^ M→rA [rS←r(rB)] ^ M→rA ([rS←r(Ns)] ^ M) v (rA ^ M) →rA

 

, M. Mb . b 1, . 0, . rA. rewinm, rewnm rA . rewimi rA , 0.

CR 0 CR . . .

(. 14.4) GPR rD , , (32 ) , rS. , rA rB , rA d 32. ( lbz lbzx) rD . ( lbhz, lnzx) b 15 ( lha, lhax).

- u, : rA , .

 


 

14.4 GPR

lbz(lbzu) rD,d(rA) lbzx(lbzux) rD,rA,rB lhz(lhzu) rD,d(rA) lhzx(lhzux) rD,rA,rB lha(lhau) rD,d(rA) lhax(lhaux) rD,rA,rB lwz(lwzu) rD,d(rA) lwzx(lwzux) rD,rA,rB (EA)→rD, , (EA→rA) (EA)→rD, , (EA→rA) (EA)→rD, , (EA→rA) (EA)→rD, , (EA→rA) (EA)→rD, , (EA→rA) (EA)→rD, , (EA→rA) (EA)→rD, , (EA→rA) (EA)→rD, , (EA→rA)
stb(stbu) rS,d(rA) stbx(Stbux) rS,rA,rB sth(sthu) rS,d(rA) sthx(sthux) rS,rA,rB stw(stwu) rS,d(rB) stwx(stwux) rS,rA,rB rS→(EA), , (EA→rA) rS→(EA), , (EA→rA) rS→(EA), , (EA→rA) rS→(EA), , (EA→rA) rS→(EA), , (EA→rA) rS→(EA), , (EA→rA)
lhbrx(lwbrx) rD,rA,rB sthbrx(stwbrx) rA,rB (EA)→rD, (EA)→rD,
lmw rD,d(rA) stmw rS,d(rA) (EA)→rD...GPR31, RsGPR31→(EA),
Lswi(lswx) rD,rA,Nb(rS) stswi(stswx) rS,rA,Nb(rB) (EA)→rD, rS→(EA),

 

lhbrz lwbrz rD . sthbrx, stwbrx rS .

Imw, stmw , rD rS GPR 31. , , . rA , .

lswi, lswx, stswi, stswx n . ʳ Nb ( lswi, stswi) SS R ( lswx, stswx). = (rA) lswi, stswi = (rA!0) + (rB) lswx, stwx. , rD rS. , rA rB , .

, tw, twi, sc rfi (. 14.5). ( b, bl, bc, bcl) .

 

14.5

b t-adr ba t-adr bl t-adr bla t-adr PC + (t-adr)→PC (t-adr)→PC PC→LR, PC + (t-adr)→PC PC→LR, (t-adr)→PC
bc BO,BI,t-adr bca BO,BI,t-adr bcl BO,BI,t-adr bcla BO,BI,t-adr PC + (t-adr)→PC, = CRi (t-adr)→PC, = CRi PC→LR, PC + (t-adr)→PC, BO = CRi PC→LR, (t-adr)→PC, = Ri
bclr BO,BI bclrl BO,BI bcctr BO,BI bcctrl BO,BI LR→PC, BO = CRi PC→LR, BO = CRi CTR→PC, BO = CRi PC→LR, CTR→PC, BO = CRi
twi TO,rA,SIm tw TO,rA,rB -rA+Slm, TO, o PC, MSR→SRRO, SRR 1, Ve→PC -rA+rB, TO, o PC, MSR→SRRO, SRR 1, Ve→PC
sc *rfi PC, MSR→SSRO, SRR 1, Ve→PC SSRO, SRR 1 →PC, MSR

 

t-adr , . l ( bl, bla, bcl, bcla), LR , . bc, bca, bcl, bcla . CRi CR BO. , , ². CRi , ( bca, bcla) ( b, bcl) . . bcl, bcla, LR , . bclr, bclrl , CRi. LR. bcrfri LR .

bcctr, bcctri R; = Cri, bctrd LR.

, 1 . U . . U .

tw, twi . MSR SRQO SRR 1. CRO, rA SIm ( twi) rB ( tw), 4- . , 1 CRO . rA, rB SIm . sc . rfi , SRR 0, SRR 1 MSR, . .

CR. , . 14.6. mtcrd CR rS, 32- cr, . CR . mfcr CR rD. mcrxr XER ( SO, OV, CA) CRi CR, crft. ϳ SO, OV, CA XER . mcrf CRi CRj, i, j crfS crfD. bi, bj CR i, j , crbA crbB, bk, k crbD.

crand , cror AΔ, crxor Δ, crnand A-HI, cregv , crande , crorc .

 


14.6 , CR

mtcrf Mcr,rS mfcr rD mcrxr crfD mcrf crfD,crfS rS ^ Mcr→CR CR→rD XER( 3 -0) →CRi Cri→CRj
crand crbD,crbA,crbB cror crbD,crbA,crbB crxor crbD,crbA,crbB cmand crbD,crbA,crbB crnor crbD,crbA,crbB cregv crbD,crbA,crbB crandc crbD,crbA,crbB crorc crbD,crbA,crbB bi ^ bj→bk bi v bj→bk bi Å bj→bk bi ^ bj→bk bi v bj→bk bi Å bj→bk bi ^ bj→bk bi v bj→bk

 

sync, isync, cicio . sync , , . isync , , , , . cicio , . , , . cicio , , , . cciwx cowx . isync, cicio .

2002 Motorola RISC -: 7455, 11- . ֳ . 7455 1000 , 21,3 . 1,6 , - 2,5 . ̳ 1- ( 32 ) 2- 256 . ̳ 7455, 740, 750 , SIMD, .

 


:

1 RISC -?

2 604?

3 604?

4 RISC- Power?

 

:

1 604 ?

2 GPR 1, GPR 2 GPR 30 $12345678, $ ABCDH, $EF.

3 , , GPR 10.

 






:


: 2015-10-19; !; : 510 |


:

:

- - , .
==> ...

1903 - | 1858 -


© 2015-2024 lektsii.org - -

: 0.052 .