極客時間出品的《深入淺出計算機組成原理》由徐文浩所作,徐文浩是bothub創始人,《深入淺出計算機組成原理》課程作者。本專欄課程將帶你掌握計算機體系全貌。
在計算機專業十餘門核心課程中,計算機組成原理是當之無愧的第一課。
《深入淺出計算機組成原理》課程背景
無論你想要向上學習計算機的底層知識,比如編譯原理、作業系統、體系結構,還是想要學習數位電路、數字邏輯等內容,都要先掌握計算機組成原理。這門課不僅能讓你對計算機體系有一個總綱的認識,當你選擇研究更深入的領域時也大有裨益。
那如何才能學會計算機組成原理呢?作為一名工程師,你應該明白,學習的關鍵是要搞懂原理、掌握本質、解決問題。而學習計算機組成原理,其實就是理解計算機是怎麼運作的以及為什麼要這麼運作,在此基礎上,我們才能又快又準地優化效能,提升效率。
《深入淺出計算機組成原理》作者介紹
徐文浩,bothub 創始人。畢業於上海交通大學計算機系,在 Trilogy Software 寫過大型企業軟體;在 MediaV 擔任技術總監,從零開始搭建支撐每天百億流量的廣告演算法系統;2015 年,加入拼多多,參與重寫拼多多的交易系統;2016 年底創辦 bothub.ai,通過自然語言處理技術,為走向海外的中國企業提供英語的智慧客服和社交網路營銷服務。
在他看來,學習計算機組成原理,就是通過指令、計算、CPU、儲存系統和 I/O,掌握整個計算機運作過程的核心知識點;通過拆解程式的執行過程,對計算機系統有一個全貌的瞭解。
因此,在這個專欄裡,他將結合自己多年的硬體研究成果和軟體開發經驗,通過硬體發展歷史和軟體開發案例,深入淺出地為你講解計算機組成原理的核心知識和典型應用,繼而幫你從源頭理解硬體原理和軟體架構的共通之處,洞悉效能問題的本質。
《深入淺出計算機組成原理》課程模組
專欄分三個模組,共 45 講。
入門篇
學習計算機組成原理,最關鍵的問題就是學什麼、怎麼學、有什麼用。因此這一模組會給你一張知識地圖,告訴你學習路徑,並提供“從多方面提升效能”這一最終目標的實現思路。
原理篇
這一模組將為你摘出計算機組成的五大部分(控制器、運算器、儲存器、輸入和輸出裝置)中,與當下開發最相關的知識和問題,從歷史視角講清楚“是什麼”,結合案例講清楚“怎麼做”。帶你搞懂計算機組成原理中最核心、最重要的內容。
應用篇
理解了計算機各個元件的運作之後,最後一個模組將手把手帶你實操。利用儲存器層次結構設計大型 DMP 系統,並通過 Disruptor,跟你一起感受 CPU 的風馳電掣,讓你真正學有所用。
《深入淺出計算機組成原理》課程目錄
入門篇
1.開篇詞丨為什麼你需要學習計算機組成原理?
2.馮+諾依曼體系結構:計算機組成的金字塔
3.給你一張知識地圖,計算機組成原理應該這麼學
4.通過你的CPU主頻,我們來談談“效能”究竟是什麼?
5.穿越功耗牆,我們該從哪些方面提升“效能”?
原理篇
指令和運算
6.計算機指令:讓我們試試用紙帯程式設計
7.指令跳轉:原來if…else就是goto
8.函式呼叫:為什麼會發生stack overflow?
9.靜態連結和ELF:為什麼Linux和Windows的應用不相容?
10.程式裝載:“640K記憶體”真的不夠用麼?
11.動態連結:程式內部的“共享單車”
12.二進位制編碼:“手持兩把錕斤拷,口中疾呼燙燙燙”?
13.理解電路:從電報機到閘電路,我們如何做到“千里傳信”?
14.加法器:如何像搭樂高一樣搭電路(上)?
15.乘法器:如何像搭樂高一樣搭電路(下)?
16.浮點數和定點數(上):如何用有限的Bit表示更多的資訊?
17.浮點數和定點數(下):深入理解浮點數到底有什麼用?
處理器
18.建立資料通路:指令+運算=CPU
19.面向流水線的指令設計(上):_心多用的現代CPU
20.面向流水線的指令設計(下):奔騰4是怎麼失敗的?
21.冒險和預測(上):hazard是“危”也是“機”
22.冒險和預測(下):今天下雨了,明天還會下雨麼?
23.異常和中斷:程式出錯了怎麼辦?
24.SIMD:如何加速矩陣乘法?
25. CISC和RISC:為什麼手機晶片都是ARM?
26.GPU:為什麼深度學習需要使用GPU?
27.FPGA、ASIC和TPU:計算機體系結構的黃金時代
28.分散式計算:如果所有人的大腦都聯網會怎麼樣?
29.理解虛擬機器:你在雲上拿到的計算機是什麼樣的?
儲存與I/O系統
30.儲存器層次結構全景:資料儲存的大金字塔長什麼樣?
31.區域性性原理:資料庫效能跟不上,加個快取就好了?
32.快取記憶體(上):“4毫秒”究竟值多少錢?
33.快取記憶體(下):你確定你的資料更新了麼?
34.理解記憶體:虛擬記憶體和記憶體保護是什麼?
35.輸入輸出裝置:我們並不是只能用燈泡顯示“0”和“1”
36.理解IO_WAIT: CPU和I/O是怎麼通訊的?
37.DMA:為什麼Kafka這麼快?
38.機械磁碟:Google早期用過的“黑科技”
39.函SSD硬碟:如何完成效能優化的KPI?
40.資料完整性(上):硬體壞了怎麼辦?
41.資料完整性(下):如何還原犯罪現場?
應用篇
42.設計大型DMP系統(上):MongoDB並不是什麼靈丹妙藥
43.設計大型DMP系統(下):SSD拯救了所有的DBA
44.理解Dismpto「(上):帶你體會CPU快取記憶體的風馳電掣
45.理解Dismpto「(下):不需要換擋和踩剎車的CPU,有多快?
46.總結與答疑
訂閱價格:
為回報猿人學的粉絲,所有通過我分享的二維碼購買的使用者,請加我微訊號:dismissmewp,備註:返現。
享受完其它優惠後,我再給大家立即返¥12元現金。
我的公眾號:猿人學 Python 上會分享更多心得體會,敬請關注。
***版權申明:若沒有特殊說明,文章皆是猿人學 yuanrenxue.com 原創,沒有猿人學授權,請勿以任何形式轉載。***