中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

淺談linuxkernel對(duì)于浮點(diǎn)運(yùn)算的支持-創(chuàng)新互聯(lián)

目前大多數(shù)CPU都支持浮點(diǎn)運(yùn)算單元FPU,F(xiàn)PU作為一個(gè)單獨(dú)的協(xié)處理器放置在處理器核外,但是對(duì)于嵌入式處理器,浮點(diǎn)運(yùn)算本來就少用,有些嵌入式處理器就會(huì)去掉浮點(diǎn)協(xié)處理器。

創(chuàng)新互聯(lián)建站為企業(yè)級(jí)客戶提高一站式互聯(lián)網(wǎng)+設(shè)計(jì)服務(wù),主要包括網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、成都App定制開發(fā)、小程序定制開發(fā)、宣傳片制作、LOGO設(shè)計(jì)等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗(yàn)豐富的經(jīng)驗(yàn),可以確保每一個(gè)作品的質(zhì)量和創(chuàng)作周期,同時(shí)每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。 

X86處理器一般都是有FPU的。而ARM PPC MIPS處理器就會(huì)出現(xiàn)沒有FPU的現(xiàn)象。

linux kernel如何處理浮點(diǎn)運(yùn)算,我們就分為帶FPU的處理器和不帶FPU的處理器來討論。

(以下為個(gè)人知識(shí)總結(jié),研究不深,錯(cuò)誤之處希望大家指正,共同學(xué)習(xí))

一 對(duì)于帶FPU的處理器

1 對(duì)于linux kernel來說,kernel本身編譯默認(rèn)使用了-msoft-float選項(xiàng),默認(rèn)編譯為軟浮點(diǎn)程序,軟浮點(diǎn)含義是有g(shù)cc編譯器模擬浮點(diǎn)運(yùn)算(glibc庫提供),將浮點(diǎn)運(yùn)算代碼替換為定點(diǎn)運(yùn)算。

對(duì)于帶FPU的處理器,我們可以將編譯選項(xiàng)-msoft-float去掉,一般是在arch/xxx/Makefile中。將kernel編譯為硬浮點(diǎn),也就是讓處理器的浮點(diǎn)指令計(jì)算浮點(diǎn),

硬浮點(diǎn)運(yùn)算肯定要比模擬的定點(diǎn)運(yùn)算效率高。(kernel代碼中一般不會(huì)有浮點(diǎn)運(yùn)算,所以效率影響不大)

2 對(duì)于運(yùn)行在kernel上的app來說,特別是對(duì)于圖形程序,如QT,浮點(diǎn)運(yùn)算較多,我們直接編譯即可,因?yàn)樘幚砥髦С指↑c(diǎn)運(yùn)算,支持浮點(diǎn)運(yùn)算指令。

二 對(duì)于不帶FPU處理器

1 對(duì)于linux kernel來說,編譯默認(rèn)使用了-msoft-float選項(xiàng),默認(rèn)編譯為軟浮點(diǎn)程序,linux kernel編譯不依賴鏈接任何庫,kernel中來實(shí)現(xiàn)對(duì)應(yīng)的模擬浮點(diǎn)ABI。

2 對(duì)于運(yùn)行在kernel之上的app來說,如何處理浮點(diǎn)運(yùn)算,這里就有2種方法了:

(1)由kernel來模擬軟浮點(diǎn).

應(yīng)用程序使用硬浮點(diǎn)直接編譯(編譯器默認(rèn)就是編譯成硬浮點(diǎn)程序)。

而對(duì)于kernel,我所了解的PPC MIPS處理器都有專門的浮點(diǎn)運(yùn)算異常處理,程序運(yùn)行碰到浮點(diǎn)指令,無法運(yùn)行浮點(diǎn)指令時(shí),硬件會(huì)產(chǎn)生相應(yīng)的中斷異常,kernel浮點(diǎn)異常處理程序根據(jù)指令內(nèi)容進(jìn)行軟浮點(diǎn)模擬操作,將運(yùn)算結(jié)果返回之后再恢復(fù)到用戶空間執(zhí)行。

對(duì)于ARM我在其異常介紹中沒有找到對(duì)于浮點(diǎn)計(jì)算的異常入口,但是kernel中也有對(duì)于其軟浮點(diǎn)的支持,

在配置ARM Linux內(nèi)核時(shí),應(yīng)該都會(huì)看到這樣的配置:

 menu "Floating point emulation"
 comment "At least one emulation must be selected"
 config FPE_NWFPE
  ...

新聞名稱:淺談linuxkernel對(duì)于浮點(diǎn)運(yùn)算的支持-創(chuàng)新互聯(lián)
分享地址:http://www.rwnh.cn/article34/djgdpe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化Google、網(wǎng)站營銷、域名注冊(cè)App設(shè)計(jì)、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
四会市| 洞头县| 丹凤县| 类乌齐县| 叶城县| 喜德县| 丹凤县| 丰镇市| 七台河市| 驻马店市| 永修县| 阳泉市| 乐山市| 南陵县| 武陟县| 虹口区| 民县| 青川县| 南昌县| 西林县| 开封县| 洮南市| 兴和县| 双鸭山市| 刚察县| 兴安盟| 蒙自县| 黎城县| 南木林县| 涡阳县| 富宁县| 峨边| 二连浩特市| 辽阳市| 高尔夫| 乌海市| 霍邱县| 彭阳县| 东兰县| 若羌县| 新巴尔虎左旗|