TotalEclipse wrote:
今天早上剛好有一點時...(恕刪)
這位大大所謂的單一cpu應該是指實體吧
HT 的技術是在於充份利用執行單元,減少相依性造成的延遲所形成的影響
不過 HT 技術各自有獨立的 architecture state
所以有時候也被稱為邏輯上的 multi-processor
leafy7382 wrote:
除去 binary ...(恕刪)
一般比較不會提到暫存器的影響主要是因為 x86 的運算架構
MMX 跟 SSE 之類的技術所用的暫存器跟一般程式用的也不一樣
或者可以稍微簡單區分整數跟浮點數運算
多數的程式邏輯,包含系統核心運算都是建立在整數運算上
而 x86 的整數運算暫存器就那幾個而已
編譯器也不會聰明到可以把兩個 16 bit 運算或 32 bit 運算用一次 64 bit 運算解決
先天的指令運算也很難達成這樣的目的
除非是針對演算法改進
否則是沒有太大差異
當然編譯器如果很聰明地把暫用資料擺在暫存器的 high part
取用 cache 的機會減少,記憶體存取的 penalty 自然變少
謝謝那位幫我把我這篇的回覆翻成中文的朋友。
我不是台灣人;用注音輸入法打字又不選字對我而言比英文文法錯誤還難懂意思。
幼稚?
我是為了嗆人強用英文?
會這樣想才是幼稚吧?
誰有空在這邊展現自己的外語能力有多強, 英打有多快
請問你有看懂我的回文的意思嗎?
看得懂的話,我不用再重覆了。
看不懂的話,就簡單總結如下;
我回文,是抱著來幫忙的心,我把我知道的說出來,因為打中文對我而言很困難,所以我只能用英文。
我有兩個選擇; 要麼就是用英文回答我所知道的,要麼就是不回答。
發問的人如果懂英文,他看了我的回覆後得到多一點資料,那是好事。
http://www.mobile01.com/topicdetail.php?f=177&t=367706&last=3237400
http://www.mobile01.com/topicdetail.php?f=177&t=363417&last=3197633
如果不懂,那也沒有損失。等有人用中文回答就是了。如果有人好心幫忙翻譯一下,那也是好事。
當然,如果有人就是對英文的發言存有敵意,那我們這些人就只好選擇不發言,就是知道答案,也不能說了。
以上,最後一次在本篇發言。以上離題,請樓主見諒!
【10.5疑問一籮筐】64位元與32位元
一籮筐的疑問如下:
dionarap wrote:
在64位元硬體上跑64位元的軟體像飛的一樣
跑32位元的像龜爬
是因為
32位元的軟體在64位元硬體上用模擬的嗎?就像PPC軟體在Intel硬體上嗎?所以比目前10.4還慢?
或是32位元的軟體在64位元硬體上的10.5系統以原生的速度跑,就是那麼慢?【跟目前10.4一樣快?】
日前MacWorld的測試8核並沒有比4核快多少,也是因為軟體跟系統尚未對硬體最佳化的緣故嗎?
有專業人士能夠解惑嗎?
再離題下去就中了討戰文的陷阱....
只要是柏油路 都是RB的天下!http://xavier0107.blogspot.com/
xavier0107 wrote:
回到主題吧【10.5...(恕刪)
1. PPC 一般是 ARM 的架構,跟x86不一樣,所以通常是模擬(simulation)。不過也有code translation的技術可以達到emulation(可以看做硬體模擬)的效果,作法是有組織地替換成對應的x86碼執行。
2. 單看 64 bit (extension) 跟 32bit,可以簡單看做一種運算能力的擴充,但是向下包容。不過事實上,CPU內部的設計更為複雜,x86本身是CISC指令集,但是實現的方式目前都偏向RISC,加上超純量的相關設計,並非單純把暫存器跟記憶體介面從 32 bit擴充到 64bit這麼簡單。多了64bit的運算與定址能力,自然某些相關的程式設計方式可以有所改進,但是並非全部都受益。舉個例子,當需要做16bit運算時,如果延伸成64bit的運算只會浪費時間,也造成資料空間的浪費跟記憶體載入變久的代價。
3. 多核心需要多方面的支持,對於OS來說,排程是一個重要的課題,何時讓某程式在那個核心執行某片段、執行多久、資源要如何分配,不同的核心數量有不同的最佳寫法。應用程式的行為撰寫也有大大關係,通常會假定兩種情況,一種是單顆CPU,一種是多顆CPU(沒有限定數量,比如從thread的概念來實現),這牽涉程式的先天平行度,而平行編譯技術則牽涉到CPU內部執行單元的平行度。所以多核的系統主要會卡在OS的支援能力與程式的行為,不過兩個核心並不代表單顆核心的兩倍效率,因為系統資源會有共用的情況,所以會有等待的情況發生,系統呼叫也不見得會設計成分散式處理,因為中央集權式的作法比較好實現,所以在八核的系統上很有可能常常發生七核在執行應用程式時,卻必須等待另外一核心的執行。
總的來說,多核並不代表多倍率的執行能力,但是卻可以提供更高抗負載的能力,比如同時執行較多的程式比較不會LAG,但是並不一定可以讓單一程式執行變快。32bit變成64bit代表的是能力的提升,但不一定是效率的提升。

好像打英文的原因是因為不知如何設定中文輸入法?
)
























































































