第三章 運算方法和運算部件

第三章 運算方法和運算部件

ID:40223117

大?。?.27 MB

頁數(shù):114頁

時間:2019-07-27

第三章 運算方法和運算部件_第1頁
第三章 運算方法和運算部件_第2頁
第三章 運算方法和運算部件_第3頁
第三章 運算方法和運算部件_第4頁
第三章 運算方法和運算部件_第5頁
資源描述:

《第三章 運算方法和運算部件》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫

1、第一講不同層次程序員看到的運算及ALU第二講定點數(shù)運算及其運算部件 第三講浮點數(shù)運算及其運算部件Ch3:ArithmeticandLogicOperateandALU運算方法和運算部件第一講:不同層次程序員看到的運算及ALU主要內(nèi)容C語言程序中涉及的運算整數(shù)算術運、浮點數(shù)算術運算按位、邏輯、移位、位擴展和位截斷指令集中與運算相關的指令(以MIPS為參考)涉及到的定點數(shù)運算算術運算帶符號整數(shù)運算:取負/符號擴展/加/減/乘/除/算術移位無符號整數(shù)運算:0擴展/加/減/乘/除邏輯運算邏輯操作:與/或/非/…移位操作:

2、邏輯左移/邏輯右移涉及到的浮點數(shù)運算:加、減、乘、除基本運算部件ALU的設計C語言程序中涉及的運算算術運算(最基本的運算)無符號數(shù)、帶符號整數(shù)、浮點數(shù)的運算按位運算用途對位串實現(xiàn)“掩碼”(mask)操作或相應的其他處理(主要用于對多媒體數(shù)據(jù)或控制信息進行處理)操作按位或:“

3、”按位與:“&”按位取反:“~”按位異或:“^”問題:如何從一個16位采樣數(shù)據(jù)y中提取高位字節(jié),并使低字節(jié)為0?可用“&”實現(xiàn)“掩碼”操作:y&0xFF00例如,當y=0x2C0B時,通過掩碼操作得到結(jié)果為:0x2C00C語言程序中涉及的運算

4、邏輯運算用途用于關系表達式的運算例如,if(x>yandi<100)then……中的“and”運算操作“‖”表示“OR”運算“&&”表示“AND”運算例如,if((x>y)&&(i<100))then……“!”表示“NOT”運算與按位運算的差別符號表示不同:&~&&;

5、~‖;……運算過程不同:按位~整體結(jié)果類型不同:位串~邏輯值C語言程序中涉及的運算移位運算用途提取部分信息擴大或縮小數(shù)值的2、4、8…倍操作左移::x<>k不區(qū)分是邏輯移位還是算術移位,由x的類型確定無符號數(shù):邏輯左移、邏輯右移高(

6、低)位移出,低(高)位補0,可能溢出!問題:何時可能發(fā)生溢出?如何判斷溢出?若高位移出的是1,則左移時發(fā)生溢出帶符號整數(shù):算術左移、算術右移左移:高位移出,低位補0??赡芤绯觯∫绯雠袛啵喝粢瞥龅奈徊坏扔谛碌姆栁?,則溢出。右移:低位移出,高位補符,可能發(fā)生數(shù)據(jù)丟失。C語言程序中涉及的運算位擴展和位截斷運算用途類型轉(zhuǎn)換時可能需要數(shù)據(jù)擴展或截斷操作沒有專門操作運算符,根據(jù)類型轉(zhuǎn)換前后數(shù)據(jù)長短確定是擴展還是截斷擴展:短轉(zhuǎn)長無符號數(shù):0擴展,前面補0帶符號整數(shù):符號擴展,前面補符截斷:長轉(zhuǎn)短強行將高位丟棄,故可能發(fā)生“溢

7、出”例1:在大端機上輸出si,usi,i,ui的十進制和十六進制值是什么?shortsi=-12345;unsignedshortusi=si;inti=si;unsingnedui=usi;si=-12345CFC7usi=53191CFC7i=-12345FFFFCFC7ui=531910000CFC7例2:i和j是否相等?inti=53191;shortsi=(short)i;intj=si;不相等!i=531910000CFC7si=-12345CFC7j=-12345FFFFCFC7原因:對i截斷時發(fā)生

8、了“溢出”,即:53191截斷為16位數(shù)時,有效數(shù)據(jù)丟失,無法被正確表示!MIPS定點算術運算指令InstructionExampleMeaningCommentsaddadd$1,$2,$3$1=$2+$33operands;exceptionpossiblesubtractsub$1,$2,$3$1=$2–$33operands;exceptionpossibleaddimmediateaddi$1,$2,100$1=$2+100+constant;exceptionpossibleaddunsignedad

9、du$1,$2,$3$1=$2+$33operands;noexceptionssubtractunsignedsubu$1,$2,$3$1=$2–$33operands;noexceptionsaddimm.unsign.addiu$1,$2,100$1=$2+100+constant;noexceptionsmultiplymult$2,$3Hi,Lo=$2x$364-bitsignedproductmultiplyunsignedmultu$2,$3Hi,Lo=$2x$364-bitunsignedprod

10、uctdividediv$2,$3Lo=$2÷$3,Lo=quotient,Hi=remainderHi=$2mod$3divideunsigneddivu$2,$3Lo=$2÷$3,Unsignedquotient&remainderHi=$2mod$3涉及到的操作數(shù):32/16位無符號數(shù),32/16位帶符號數(shù)涉及到的操作:加/減/乘/除(有符號/無符號)MIPS邏輯運

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。