2011/10/13

資訊學院的30門課-計算機組織與結構(posted)

這門課我覺得是大學最有趣的一門課,直接與電腦硬體有關係,80386SX、80386DX、
80486、Pentium等等的演進,也在這門課有的功能性的瞭解。

甚麼是super-pipeline、super-scalar、中斷式i/o、DMA、RAID、cache memory、等等
都解釋得很清楚。DISK的Access Time、傳輸率等等。

後來畢業後,讓我百思不得及解的是,為何Hyper-Threading可以增加CPU效能?或許賣
電腦的只能跟你說因為他是虛擬雙核,我想了想,忽然我想到超純量架構
(super-scalar),每個核心本來同時就可以處理兩個以上的指令,因為超純量架構有超
過一個以上的整數運算單元,Hyper-Threading就是增加這些整數運算單元的可用性,
以增加少部分電路,防止因為缺乏硬體資源導致整數運算單元閒置。

最近AMD推土機(bulldozer)延遲的消息,讓我注意到了這顆CPU,它新的概念,把
Hyper-Threading更上一層樓,把兩個幾乎可以獨立運作的整數運算單元合併成一個模
組,再搭配一個FPU與共用的快取。這樣的模組要稱之為雙核也不是,因為只有一個
FPU,號稱雙核保證被公幹,特別是CAD領域的應用。稱之為單核也太滅自己志氣了,稱
之為Hyper-Threading?又比HT強大。但能不能最效率的使用晶圓面積?買得到後再來看
看。不過AMD拉高整數運算單元能力的例子,在歷史上滿多見的,如AMD 5x86、K6等等
例子。

以上是我的想法,有錯誤請大大來函指正。
對職場的影響? 去電腦街賣電腦,講這麼多大道理,還不如正妹的一句甜言蜜語,
客人準備將你擊倒。所以就用冷笑話一則做結尾。

主管:「把你前面的座位給整理一下,不要堆那麼多東西,看起來就像是垃圾堆一
樣!」

Kradark:「桌面是L1 cache,抽屜是L2 cache,書櫃是主記憶體,我是在實作記憶體
階層管理,表面上看起來是亂的,實際上卻大大的提升Access的效能啊!」

主管:「好吧,那我現在呼叫你這個API,進行garbage collection。」

more reading:: http://ithelp.ithome.com.tw/question/10075384

AMD全新一代的高效能x86多核心架構為「Bulldozer」或稱為推土機,Bulldozer模塊擁有兩組整數運算的排程器(由四條管線組成),一個可合併為256位元的浮點運算單元(由兩組128位元FMAC構成),以及所有單元共用的 Fetch/Decode、L2快取。Bulldozer模塊中每一個整數運算單元將會被辨認為一個物理核心,有點類似 Intel 超執行緒技術,但其實現的方法是不太相同,其中CPU一共包含4個模組(一個模組內有2個核心共計8個核心)(或稱4M8T)、4組2MB L2快取、4組2MB L3快取、四條HT匯流排、DDR3記憶體控制器、北橋模組、I/O輸入輸出等等。六核心和四核心型號都是在此基礎上遮庇部分模組(核心)和快取而來的。其中推土機核心處理器在AMD產品中,家族編號為Family 15h,是AMD K8以來的首個全新設計處理器架構,最大特點就是每兩個整數核心加一個浮點核心組成一個模組,進行資源的共享。推土機的每個核心都有自己的16KB 4way L1快取,每個模組有自己的2MB 16way L2快取 (兩個核心共用),然後所有模組與核心分享最多8MB 16 wayL3快取。另外推土機處理器還提供了了兩個72-bit DDR3-1866記憶體控制器通道,以及四個16-bit接收、16-bit發射HyperTransport匯流排連結。推土機處理器的桌上行處理器Zambeizi將改用新介面Socket AM3+,另外也改進了Turbo Code技術為第二代,該技術提供類似Intel的Turbo Boost技術的Turbo Code技術,當然兩者有些許不同,讓產品在不增加TDP的條件下,在程式不支援多核心運算,調高部分核心的頻率,提高工作效率。這次第一波面市的型號預計為分別是八核心FX-8150、FX-8120、六核心FX-6100及4核心的FX-4100,價位分別是$245、$205、$165及$115。

Bulldozer架構的下代CPU定於2011年10月12日推出,不過AMD於今年6月首先推出搭配Bulldozer架構的處理器晶片組產品,Computex期間所發表990FX、990X及970晶片組及搭配的南橋晶片組SB950及SB920,隨著AMD新一代主機板晶片發布,雖說當時Bulldozer核心CPU尚未推出,不過受惠於AM3+主機板可支援AM3腳位之CPU,所以各主機板大廠也就先推出支援AM3+腳位的產品線的主機板,打出支援推土機核心CPU主機板來搶佔先機,也是看AMD主機板這塊市場,此次推出搭載990FX晶片主機板,也提供AMD及Nvidia顯示卡多卡顯示卡(SLI及CrossFireX)運算模式,讓使用者可以在同一主機板上安裝Nvidia系列的顯示卡組成SLI,發揮9系列晶片組990FX最高階產品之身段,可以支援SLI及CrossFireX技術,聯卡繪圖技術不只可增強多卡繪圖處理效能,使得遊戲效能可以得到大幅度的的提升,如今支援兩種模式均支援更可大幅增加AMD CPU平台升級顯示卡時的選擇彈性,這是針對AMD新世代CPU及晶片組所全新打造運算平台,以下就八核心FX-8150效能部分做簡測。

[AMD] 推土機核心面積公開 官方首次提及FX-8150

.....發表於 2011-8-25 13:09 ... 【XF首頁模式瀏覽】
1

TAG:日志
在加州舉行的年度高性能處理器研討會Hot-Chips 23上,IBM、Intel、AMD等各大巨頭都沒有公佈全新的產品或者技術,而是繼續翻出老一套進行深入宣傳和“佈道”,AMD最重點的當然就是“推土機”了。

推土機的核心架構圖我們已經見識過很多次了,但這種來自AMD官方、詳細標注各個模組名稱和相對大小的卻不多見,而且它第一次公開了推土機處理器的核心面積:八核心型號為315平方毫米。做為對比,32nm Gulftown六核心為240平方毫米,32nm Sandy Bridge四/雙核心為216/149平方毫米,45nm Phenom II X6/X4分別為346/258平方毫米。
從圖上可以清晰地看到推土機的四個模組(八個核心)、四組2MB二級緩存、四組2MB三級緩存、四條HT匯流排、DDR3記憶體控制器、北橋模組、I/O輸入輸出等等。六核心和四核心型號都是在此基礎上遮罩部分模組(核心)和緩存而來的。

一張架構圖和架構特性簡介:推土機的家族編號為Family 15h,是AMD K8以來的首個全新設計處理器架構,最大特點就是每兩個整數核心加一個浮點核心組成一個模組,進行資源的共用。
推土機的每個核心都有自己的16KB 4路關聯一級緩存,每個模組有自己的2MB 16路關聯二級緩存(兩個核心共用),然後所有模組與核心分享最多8MB 16路關聯三級緩存。三個級別緩存的緩存行(cacheline)都是64位元組的。
另外推土機處理器還集成了兩個72-bit DDR3-1866記憶體控制器通道,以及四個16-bit接收、16-bit發射HyperTransport匯流排連結。

推土機處理器的桌上出版本Zambeizi將改用新介面Socket AM3+,可支援低電壓記憶體,ILDT電流增加到最高2.0A,從而將HT總線速度提升到最高5.2GT/s,IDDR電流也增加到最高4.0A。
推土機將主要搭配990FX、990X、970北橋晶片和SB950南橋晶片,理論上也向下相容8系列晶片組,但老主機板需要硬體改造或者BIOS刷新才行,而且可能無法發揮推土機的全部實力。
Socket AM3+插座具備向下相容性,即新主機板仍可安裝Socket AM3介面的Phenom II/Athlon II系列處理器,但反過來不行,也就是AM3插座的主機板無法使用AM3+推土機處理器。

推土機架構的首要理念就是每個模組由兩個核心組成,對於整數管線、一級資料緩存等等分別予以執行,而對於浮點管線、二級緩存則由兩個核心共用合作完成。
AMD表示,這種做法能夠讓每個核心在需要的時候完成更多功能、發揮更高性能,同時節省核心面積,比每個核心都單獨割裂開來效率更高。

下邊來看推土機每個模組的具體組成,首先是兩個核心共用的前端

兩個獨立的整數核心

中間夾著一個共用的浮點核心

二級緩存和資料預取器也是兩個核心共用的

FX-8150結構圖:這是AMD官方文檔第一次明確提及FX-8150的型號命名,最終證實了它的存在,只是這裡並未提及頻率規格,僅僅在總體架構上做了簡單示意。負責各個模組、核心同步的系統請求佇列(SRQ)其實也不是新技術,從AMD第一代雙核心Athlon 64 X2就有了。

電源管理方面,推土機增加了新的核心狀態Core C6(簡稱CC6),可在某個核心空閒的時候借助功率門控(Power Gating)將其徹底關閉。
當模組內的兩個核心全部空閒時,緩存和寄存器狀態都轉儲到CC6保留空間內,然後關掉Core VSS,恢復的時候則重新載入CC6保存的狀態,繼續執行。

處理器通過核心電源狀態(Core P-States)定義多個頻率和電壓運行點,其中高頻率電源狀態可以帶來更高的性能,但需要更高的電壓和功耗;硬體和作業系統會根據核心當前所處的具體電源狀態來提供所需的性能,但如果可能的話,會儘量使用更低頻率的電源狀態,以節省功耗。
推土機將支援AMD的第二代Turbo Core動態加速技術,在處理器低於功耗和發熱量極限的時候自動提升頻率、電壓,直到達到功耗和發熱量極限再降回來。
另外從曲線圖上還可以隱約看出,AMD給推土機設想的電壓最低應該只有0.7V,最高也不過1.3V左右,但因為GlobalFoundries 32nm工藝的不成熟,我們看到大量推土機樣品的實際常規電壓都達到了1.4V以上,不過據說刷了最新BIOS之後已經可以降到1.2V。

第二代Turbo Core技術的兩大特點:一是在多執行緒敏感應用中支援所有核心同時加速,只要熱設計功耗允許就行;二是在頻率敏感應用中可以讓半數模組進入C6關閉狀態,另一半模組則以更大的幅度加速,最多可以提速1GHz。

2011/10/11

資訊學院的30堂課-番外篇 體育課

大學不管甚麼系,都會修體育課吧。

體育課是四學期,各兩學分,共四學分。當時最最熱門的就屬保齡球,不用曬太陽,還可以用上班時間打保齡球。不過因為太熱門一直與他無緣。只好退而求其次,

找一些也是不用曬太陽,室內的課。我大學共修了一個學期的羽球,三個學期的高爾夫球。
羽球課就不用說了,一律在體育館上課。這門課女生可以說是身材最好的,我很少看看打羽球的女生是胖胖的。
不過這門課還是很累的說。

所以我就挑了一門更輕鬆的課─高爾夫球。這門可有多輕鬆,很少點名,老師也只有前幾堂課有在上課,然後呢?每次上課,就跟老師借桿子,然後去投50元還是100元,忘了,買球,然後把球通通打到練習場一樓就可以下課。有時候真的不想打,就把球通通丟到一樓也是可以啦。

有其他同學,選擇壘球,因為上一次課,滾過來的沒幾次,超輕鬆的,根本就是散步課,還有就是當時職業棒球很熱門之外,大家都想嘗嘗上場打擊的滋味吧。

好吧,就在第15篇跟大家分享一下這也算是資訊學院的必修課。

這就隱藏參數運氣的威力。

這就隱藏參數運氣的威力。以後也要朝這方面轉職....
http://tw.news.yahoo.com/article/url/d/a/111011/78/30ae2.html

cpu rating:: ARM9架構依此表約同clock的core 2 duo的1/4速度

ARM9架構依此表約同clock的core 2 duo的1/4速度
System Rating Index
Intel 8088 clock × 0.004 0.02
Intel/AMD 386SX clock × 0.14 0.8
Intel/AMD 386DX clock × 0.18 1 (definition)
Motorola 68030 clock × 0.25 1.4
Cyrix/IBM 486 clock × 0.34 1.8
Intel Pentium clock × 0.40 2.2
Intel 486 clock × 0.50 2.8
AMD 5x86 clock × 0.50 2.8
MIPS R4000/R4400 clock × 0.50 2.8
ARM9 clock × 0.50 2.8
Motorola 8081 clock × 0.65 3.6
Motorola 68040 clock × 0.67 3.7
PowerPC 603 clock × 0.67 3.7
Intel StrongARM clock × 0.66 3.7
NexGen Nx586 clock × 0.75 4.2
PowerPC 601 clock × 0.84 4.7
Alpha 21064/21064A clock × 0.99 5.5
Alpha 21066/21066A clock × 0.99 5.5
Alpha 21164/21164A clock × 0.99 5.5
Intel Pentium Pro clock × 0.99 5.5
Cyrix 5x86/6x86 clock × 1.00 5.6
Intel Pentium II/III clock × 1.00 5.6
AMD K7/Athlon clock × 1.00 5.6
Intel Celeron clock × 1.00 5.6
Intel Itanium clock × 1.00 5.6
R4600 clock × 1.00 5.6
Hitachi SH-4 clock × 1.00 5.6
Intel Itanium 2 clock × 1.49 8.3
Alpha 21264 clock × 1.99 11.1
VIA Centaur clock × 1.99 11.1
AMD K5/K6/K6-2/K6-III clock × 2.00 11.1
AMD Duron/Athlon XP clock × 2.00 11.1
AMD Sempron clock × 2.00 11.1
UltraSparc II clock × 2.00 11.1
Intel Pentium MMX clock × 2.00 11.1
Intel Pentium 4 clock × 2.00 11.1
Intel Pentium M clock × 2.00 11.1
Intel Core Duo clock × 2.00 11.1
Intel Core 2 Duo clock × 2.00 11.1
Intel Atom N455 clock × 2.00 11.1
Centaur C6-2 clock × 2.00 11.1
PowerPC 604/604e/750 clock × 2.00 11.1
Intel Pentium III Coppermine clock × 2.00 11.1
Intel Pentium III Xeon clock × 2.00 11.1
Motorola 68060 clock × 2.01 11.2
Intel Xeon MP (32-bit) (hyper-threading) clock × 3.97 22.1
IBM S390 not enough data (yet)
ARM not enough data (yet)

資訊學院的30門課

1.嵌入式系統概論  12 小時

2.基礎程式設計
-C語言程式設計  36 小時
-C++程式語言  36 小時
- Java程式語言  36 小時
- 資料結構  36 小時

3.作業系統操作
- Linux 系統與網路管理  42 小時

4.GUI程式設計
-Qt 程式設計  36 小時
- Android程式設計  36 小時

5.作業系統與系統程式
-行程控制 signal  6 小時
-執行緒 thread  6 小時
-記憶體管理 ipcs  6 小時
-輸出入與檔案管理 Mapped Memory  6 小時
-終端機控制  6 小時
-並行控制 semaphore  6 小時
-Shell 程式設計  12 小時
-Socket 程式設計  12 小時

6.計算機組織程式設計
-中央處理單元 (CPU)  6 小時
-記憶體 (RAM)  6 小時
-整合設備電路 (IDE)  6 小時
-PCI 與 PCI Express  6 小時
-串列埠 (Serial Port)  6 小時
-網路埠 (Network Port)  6 小時

7.Linux驅動程式開發
-Character Device Driver  12 小時
-Serial Driver  6 小時
-Interrupt  6 小時
-PCI Device Driver  6 小時
-Network Device Driver  6 小時
-USB Device Driver  6 小時

8.Embedded Linux系統設計
-Toolchain開發環境的製作與建立  6 小時
-Linux 核心模組功能選定,編譯及修補  6 小時
-檔案系統的製作  12 小時
-週邊裝置驅動程式實驗分析與測試  18 小時
-ARM 在Qt4應用程式設計實例  12 小時
-ARM 在Android 應用程式設計實例  12 小時

9.就業職場演講  6 小時

10.專題  60 小時