第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在Linux內(nèi)核中使用浮點(diǎn)

在Linux內(nèi)核中使用浮點(diǎn)

拉風(fēng)的咖菲貓 2019-12-17 09:51:29
我正在閱讀Robert Love的“ Linux內(nèi)核開發(fā)”,并且遇到了以下段落:無需(輕松)使用浮點(diǎn)數(shù)當(dāng)用戶空間進(jìn)程使用浮點(diǎn)指令時(shí),內(nèi)核將管理從整數(shù)到浮點(diǎn)模式的轉(zhuǎn)換。內(nèi)核使用浮點(diǎn)指令時(shí)必須執(zhí)行的操作因體系結(jié)構(gòu)而異,但是內(nèi)核通常會(huì)捕獲陷阱,然后啟動(dòng)從整數(shù)模式到浮點(diǎn)模式的轉(zhuǎn)換。與用戶空間不同,內(nèi)核不具有對(duì)浮點(diǎn)的無縫支持的奢侈,因?yàn)樗鼰o法輕易地陷入陷阱。在內(nèi)核內(nèi)部使用浮點(diǎn)數(shù)需要手動(dòng)保存和恢復(fù)浮點(diǎn)數(shù)寄存器,以及其他可能的瑣事。簡短的答案是:不要這樣做!除了極少數(shù)情況,內(nèi)核中沒有浮點(diǎn)運(yùn)算。我從未聽說過這些“整數(shù)”和“浮點(diǎn)”模式。它們到底是什么?為什么需要它們?這種區(qū)別是否存在于主流硬件體系結(jié)構(gòu)(例如x86)上,還是特定于某些更特殊的環(huán)境?從進(jìn)程和內(nèi)核的角度來看,從整數(shù)模式到浮點(diǎn)模式的轉(zhuǎn)換到底需要什么?
查看完整描述

2 回答

?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

因?yàn)?..

  • 許多程序不使用浮點(diǎn)數(shù),或者在任何給定的時(shí)間片上都不使用浮點(diǎn)數(shù);

  • 保存FPU寄存器和其他FPU狀態(tài)需要花費(fèi)時(shí)間;因此

...一個(gè)OS內(nèi)核可能只是關(guān)閉了FPU。Presto,沒有要保存和恢復(fù)的狀態(tài),因此可以更快地進(jìn)行上下文切換。(這就是模式的含義,僅表示已啟用FPU。)

如果程序嘗試FPU op,則該程序?qū)⑾萑雰?nèi)核,內(nèi)核將打開FPU,恢復(fù)可能已經(jīng)存在的所有保存狀態(tài),然后返回以重新執(zhí)行FPU op。

在上下文切換時(shí),它知道實(shí)際上要經(jīng)過狀態(tài)保存邏輯。(然后它可能會(huì)再次關(guān)閉FPU。)

順便說一句,我相信本書對(duì)內(nèi)核(而不僅僅是Linux)避免FPU ops的解釋不是很準(zhǔn)確。1個(gè)

內(nèi)核可以陷入自身,并為很多事情這么做。(計(jì)時(shí)器,頁面錯(cuò)誤,設(shè)備中斷等)。真正的原因是內(nèi)核特別不需要 FPU操作,而且還需要在完全沒有FPU的體系結(jié)構(gòu)上運(yùn)行。因此,它通過不執(zhí)行總是有其他軟件解決方案的操作,從而避免了管理自己的FPU上下文所需的復(fù)雜性和運(yùn)行時(shí)間。

有趣的是,如果內(nèi)核要使用FP,則必須多久保存一次FPU狀態(tài)。。。每個(gè)系統(tǒng)調(diào)用,每個(gè)中斷,內(nèi)核線程之間的每個(gè)切換。即使偶爾需要內(nèi)核FP,2在軟件中執(zhí)行它可能也會(huì)更快。


1.那是完全錯(cuò)誤的。
2.在某些情況下,我知道內(nèi)核軟件在哪里包含浮點(diǎn)算術(shù)實(shí)現(xiàn)。 一些體系結(jié)構(gòu)在硬件中實(shí)現(xiàn)傳統(tǒng)的FPU操作,但將一些復(fù)雜的IEEE FP操作留給軟件。(認(rèn)為:反常算術(shù)。) 當(dāng)發(fā)生某些奇怪的IEEE極端情況時(shí),它們會(huì)陷入軟件中,該軟件包含對(duì)可能陷入困境的操作進(jìn)行正確的模擬。


查看完整回答
反對(duì) 回復(fù) 2019-12-17
  • 2 回答
  • 0 關(guān)注
  • 835 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)