引用:
|
作者kkcity59
X86-64的Long Mode在相容模式跟64bit切換,確實多少會減損
只是當他跟IA64的狀況比,當然效能減損是變得微不足道
"放 system call parameters 的 stack,這裡有些是跟 register (像是 PC 與 SP) 有關"
這裡聽不是很懂,您可以解釋一下關聯嗎?
處理器有太多動作,都跟sp或pc有關
我看不清楚這裡您要強調的用意
"data alignment 與 pointer 轉換"
data alignment 在這之間要轉換嗎?
還是您的意思是"確保他們產生相同的data alignment?
模式一變都要處理不同的data alignment...這....
CMS意思是transmeta的code morphing software
所以他算是一套"軟體"...因為原文是software....他就是軟體
這點大概是您跟小弟對"軟體"的認知,還是有些許不同
例如我跟x說..喂,CMS給我一下,他丟了一顆Crusoe給我說..
CMS在裡面,自己想辦法吧......那也...
|
WOW 負責主要 OS kernel system call 的轉換(並不是只有硬體介面,主要還是軟體介面),這點要讀過 OS 的人才曉得,system call 通常使用軟體中斷或是 trap 達到,但在此之前 WOW 會先做一次轉換,才切入 64bit kernel,使得 Application 能由 32/64bit user mode 切到 64bit kernel mode 執行 kernel 提供的服務,由於 windows x64 與 x86-32 的 system call 介面不同,system call 通常帶有軟體需要的"參數"與少數的硬體的 register(PC,SP),所以才需要 WOW 的轉換,另外一提 AP 如果沒有呼叫 system call,性能是不會有損失的,就算有的話,性能損失比起真正要做的事也是為微乎其微的轉換而已。
你把 WOW 想像成一個硬體轉換層是錯誤的,其實 WOW 主要是軟體介面轉換層。
system call 就是 OS kernel 提供給 AP 的服務,舉例來說就像:file I/O (create,read,and write, etc), synchronization control (event, semaphore), process/thread control, IPC(interprocessor communication) 等等。
http://www.transmeta.com/crusoe/codemorphing.html
CMS 的確是一套軟體或說是韌體,是你對 CMS 的認知有誤,Crusoe 一開始會執行 CMS (位於一顆 serial interface 的 flash 中),建立起模擬 x86 (甚至其他 cpu)的環境,並把 CMS 搬到 memory 做 shadow 以加速執行,然後才開始由 flash/rom 執行 BIOS 的第一道 x86 指令,CMS 像 BIOS 一樣是可以被更新的。
至於 amd 沒想到會賣那麼好的話,我想是你自己猜的,以我的觀點,就是設計的 trade-off,就算沒有 cpu hot swap,還是有其他的方式做到 fault tolerance。若以你的想法,我也可以說 intel 沒想到 xeon 會賣那麼好,也沒考慮到 cpu hot-swap,但 chipset 與系統廠商,像 unisys 還做出 128-way high-end server 來,intel 最後還得搞出 PAE 來,不然實體記憶體只有不到 4GB 怎麼分。不能說少了某個 feature 就是因為沒想到會賣那麼好,這實在是本末倒置。