[小惡魔的電腦教室] 1-1.認識CPU

asusk8n wrote:
借用 AMD 網站上的一張 3D 架構圖來看, 比較清楚 (Opteron 架構圖, 和 AM2 X2 相同 )
...(恕刪)


看不到圖, 再來一次

但要注意,不同廠商的快取大小不能混為一談,因為所用的架構不同,比如Intel CPU的快取通常是AMD CPU的兩倍或更大,這是有特殊原因的。

可以詳細說明一下為什麼INTER比AMD快取大嗎?我常常為這件事百思不得其解,小弟只知道AMD記憶體控制器內建在CPU內,這對快取有差別嗎?找了很多文章都沒有詳細說明,可以麻煩幫忙解釋一下嗎?



百香空空 wrote:
但要注意,不同廠商的...(恕刪)


如果我沒有記錯的話,INTEL設計cache 是用 inclusive
也就是 L2 包含 L1 資料
好處是 L1 上的資料如果因為短暫 cache miss 掉,還可以在 L2 上找到
有些巢狀設計的程式可能就有這樣的特性

AMD 的是 exclusive
也就是 L1 跟 L2 是不同的資料群
這樣的好處是cache可以小一點
但是風險是L1 miss 的penalty不小

通常在cache 設計上會考量 time 跟 space (locality) 的特性
AMD 早期在製程上就一直落後INTEL
而exclusive 的設計可以減少 cache 的使用大小
所以我個人認為這應該也是因素之一
另外就是大 cache 的耗電是很可觀的

cache設計的不同並不能直接判定好壞
因為這跟程式的行為也有關係
freeskylin wrote:
再來,現在又有一個新名詞叫x64,這代表這顆CPU有支援所謂的64位元,而32位元和64位元的差別在於CPU可以處理的位元數,32位元代表CPU可以處理2的32次方的資料,而64位元代表CPU可以處理2的64次方的資料,在記憶體定址的部份,32位元可以定址2的32次方,也就是4GB,這也是為什麼在64位元CPU出來前,主機板最多只能支援4GB的記憶體,而64位元則可以定址2的64次方(很大的數,有興趣的朋友可以自己算一算),或許有網友會認為,2的64次方我們又用不到這麼多,有必要定址到這麼高嗎?其實一般使用者是用不到,但對於伺服器或大型主機來說的話,記憶體是永遠不嫌多的。


data-line 與 address-line 是不同的, 32位元代表CPU可以處理32位元的資料, 64位元代表CPU可以處理64位元的資料.
定址靠address-line. Intel Pemtium 地address有36條, 但大部分北橋祇接32條 也就是4GB的定址.要大於4GB除了address 要接上之外, OS也要支援才可.
jerome923 wrote:
其實現在的NB已經不...(恕刪)

可以賣給MoDT的玩家
阿福仔仔 wrote:
如果我沒有記錯的話,INTEL設計cache 是用 inclusive
也就是 L2 包含 L1 資料
好處是 L1 上的資料如果因為短暫 cache miss 掉,還可以在 L2 上找到
有些巢狀設計的程式可能就有這樣的特性 ...(恕刪)


除了 L1/L2 inclusive 之外, INTEL CPU 的 整個大 Cache 是 Shared, 舉例來說, E6600 L2=4 MB, 這 4 MB 的 Cache 中, 混合儲存了提供給 x2 Core 運算的暫存資料.

優點 : 除了以上大大說的之外, 還有就是在單一程式的執行上, 因為運算資料比較單純, 而且 x2 core 一起從 Cache 拿資料來運算, 執行速度可以加快.

尤其是跑測試軟體, 絕大的比例都是執行 LOOP 運算, Shared Cache 這點更是佔有極大優勢.

缺點 : x2 Core 同時從同一塊 Cache 拿資料運算, 在多工程式和大量資料處理的環境下, x2 Core 的協調分工就比較費時費事, 多花時間在處理 x2 Core 之間的協同, 相對就會降低運算的效能.

阿福仔仔 wrote:
AMD 的是 exclusive
也就是 L1 跟 L2 是不同的資料群
這樣的好處是cache可以小一點
但是風險是L1 miss 的penalty不小...(恕刪)


而 AMD 則剛好相反, 除了 L1/L2 exclusive 之外, Cache 是 Dedicated, 也就是 x2 Core 之中, 每個 CPU Core 都有獨立的 L1 / L2 Cache. 舉例來說最近很紅的 35W AM2 3800+ X2, 就是 128KB L1 x 2 + 512KB L2 x 2.

優點 : 每個 CPU Core 可以視為 full function 的 CPU, 可以從頭到尾, 獨立解決到所有的運算工作. 在多工環境時, 優勢就比較明顯.

再加上內建 Memory Controller, 每個 CPU Core 都可以 access DDR 記憶體, 大量資料處理時速度會比較快.

缺點 : 如果軟體程式的沒有寫好, 經常發生兩個獨立 CPU Core Loading 不同步的情況, 一個 Core 忙得要死, 另外一個 Core 卻 "櫻櫻美代子". 尤其是目前的軟體絕大多數都沒有支援 Multi-Thread, 前述情況更加明顯.

所以啦, AMD 就提供了 AMD Dual-Core Optimizer 讓 x2 CPU 的 User 下載使用, 讓執行軟體時的 Loading 可以平均 share 給 x2 Core , 單工 or 多工的環境都可以使用......
很詳細的CUP認識教學,
看過這麼詳細的教學,
相信很多人都瞭解更多了。
dbahome wrote:
真是一篇好文章,真的...(恕刪)


小弟也是有同感
undefined
簡直太完美了
說的好詳細而且不雜亂
圖片又清晰可見

真是給大家一個滿足+概念
我是 今天 加的新手
希望從今日開始
能在貴站學習瞭解到更多資訊
請各位多多指教了
我有問題要問問

INTEL 以現在來講 跑多工效能跑輸 AMD 唷
我知道之前 INTEL 跑多工是贏AMD的
後來AMD出了雙核心那效能上來比的話AMD贏上 INTEL 了嗎?
感覺好奇怪唷
現在是這樣嗎?
多工AMD> INTEL (我知道兩個都是雙核心只是說兩個 比起的效能)
跑沒很操的程式 INTEL >AMD

剛剛看了一下大大說的
不好意思!是什麼原因呢?
文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 12)

今日熱門文章 網友點擊推薦!