[英]why op tf.tile() is always running on CPU even if I have set to run on GPU
[英]Why is EFLAGS bit 1 always set?
我想知道為什么 EFLAGS 寄存器的未定義第二位默認設置為 1。 所有其他未定義/保留位都設置為 0。這有特殊含義嗎?
它是“保留的”,而不是“未定義的”。 大概它反映了一些內部 state 根本不暴露於正常應用程序。
有時未記錄的行為實際上意味着“僅在內部記錄”。
大概該位被保留用於默認/兼容設置被視為真實的用途。
作為分配給保留位的值可能很重要的示例,請考慮 x86 頁表中的 No-eXecute 位。 因為該位被定義為保留值為零,所以不可能將其稱為執行權限位(同時保持軟件兼容性)。 另外,x86如何使用它的頁表樹,最終的權限是由所有級別的頁表(NX除外)的權限設置的and
生成的; 這使得每個權限位至少與虛擬 memory 中最嚴格的部分一樣具有限制性。 但是,由於 NX 為 1 作為限制性更強的權限,因此必須區別對待 NX(使用or
代替and
)。
提供一致的概念框架是基本的良好實踐,使 memory 更可靠(產生的錯誤更少,某些類型的錯誤更明顯,並且不需要檢查文檔)並且學習更容易。 通過提供保留為 1 位,合理默認為 true 的值可以具有一致、直接的名稱和表示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.