初級程序員比招式,,高級程序員只看內(nèi)功,!對于程序員來說,計算機組成原理相關知識重要嗎,? 不知道大家有沒有發(fā)現(xiàn)各個大學計算機系的培養(yǎng)計劃,,它們都有差不多十來門核心課程。其中,,“計算機組成原理”卻是入門和底層知識的第一課,。 為什么這樣說?想象一下,,一名賽車手不知道賽車的內(nèi)部構成和工作原理,,你覺得他能駕馭賽車,,在專業(yè)賽事中奪冠嗎,? 同樣的道理,要成為一名優(yōu)秀的軟件工程師,,寫得一手好程序,,就要了解計算機是怎么工作的,深入計算機組成原理,。 我們直接用肉眼來看,,計算機是由CPU、內(nèi)存,、顯示器這些設備組成的硬件,,而大部分人工作后從事的是軟件開發(fā),顯然,,在硬件和軟件之間需要一座橋梁,,而“計算機組成原理”就扮演了這樣一個角色,它既隔離了軟件和硬件,,也提供了讓軟件無需關心硬件,,就能直接操作硬件的接口。 簡單地說,,你只需要對硬件有原理性的理解,,就可以信賴硬件的可靠性,,安安心心用高級語言來寫程序。無論是寫操作系統(tǒng),、編譯器這樣的硬核代碼,,還是寫Web應用、手機App這樣的應用層代碼,,你都可以做到心里有底,。 如上圖,學習組成原理之后,,向下,,你可以學習數(shù)字電路相關的課程,向上,,你可以學習編譯原理,、操作系統(tǒng)這些核心課程。它會讓你真正對計算機的知識有一個全局的了解,。 當然,,這門課還可以直接解決你在并發(fā)編程、性能優(yōu)化中經(jīng)常遇到的一些困惑,,比如CPU Cache的原理是什么,,CPU和I/O之間是如何通信的,虛擬內(nèi)存是要解決什么問題,。 如果你看過倚天屠龍記,,會發(fā)現(xiàn)張無忌幾個時辰,就把別人幾十年沒有練成的乾坤大挪移學會了,,最根本的原因,,是他有“九陽神功”練就的內(nèi)功底子! 同樣的,,深入學習這門“底層知識”,,就是在練扎馬步、核心肌肉力量,,提升你自己的“根骨”和“資質(zhì)”,,從而拔高你發(fā)展的上限。 如何系統(tǒng)的學習,? 作為計算機底層知識第一課,,當然不那么好啃,概念多,,太抽象,,難理解,不好學以致用。我身邊不少想打好這門“硬核內(nèi)功”的工程師,,大都是買了資料,,前面100頁已經(jīng)發(fā)黃了,后面500頁從來沒有打開過,;不少非科班出身的程序員,,直接說“這些書根本看不懂”,典型的“買書如山倒,,讀書如抽絲”,。 在這里特別推薦個靠譜的學習資料,極客時間的新專欄《深入淺出計算機組成原理》,,在考研統(tǒng)考的4門核心基礎課程中,,極客時間已經(jīng)出了數(shù)據(jù)結構與算法、操作系統(tǒng),,計算機網(wǎng)絡相關的3門很受歡迎的計算機基礎課程,,這是第4門也是非常重要的第一課,等你做了多年開發(fā)以后,,會發(fā)現(xiàn),,原來這么多年就是圍繞這4門課程打轉(zhuǎn)。 △掃碼免費試讀或訂閱 這個課的作者是徐文浩,,一個目前正在創(chuàng)業(yè)的工程師,。7歲開始接觸代碼,近30年的碼齡,,畢業(yè)于上海交通大學計算機系,,在 Trilogy Software 寫過各種大型企業(yè)軟件,也曾任 MediaV 技術總監(jiān),,從零開始搭建支撐每天百億流量的廣告算法系統(tǒng),,提升了十倍以上的廣告收入和 ROI,;2016年底進軍人工智能領域,,創(chuàng)辦 BotHub.AI,成為唯一進入 F8 大會開發(fā)者代表的中國公司,。 為什么推薦這門課程,? 極客時間平臺我本身一直都很認可和信任,更重要的是我看了目錄和內(nèi)容,,感覺確實不錯,,為了針對性的解決大家學習中的困難,徐文浩在專欄中結合自己多年硬件研究和軟件開發(fā)經(jīng)驗,,通過日常工作實際場景 硬件發(fā)展歷史 軟件開發(fā)案例,,深入淺出的為你講解計算機組成原理的核心知識,教你真正看懂、學會,、記住,,從源頭理解軟、硬件的共同之處,,洞悉性能問題的本質(zhì),,學以致用。 為了方便大家的學習,,徐文浩老師特地整理了一份學習腦圖,,希望你對將要學習的內(nèi)容有個總綱的了解,做到心中有數(shù),。 你能獲得什么,? 1、學以致用的計算機底層知識 專欄會以日常開發(fā)中的真實案例,,幫你理解計算機的各個組件是怎么運作的,,遇到問題的根源是什么,從知識→應用→知識,,形成閉環(huán),,學以致用。 比如說,,CPU里面的冒險和分支預測的策略,,就好像在接力賽跑里面后面幾棒的選手早點起跑,如果交接棒沒有問題,,自然占了便宜,,但是如果沒能交接上,就會吃個大虧,。 2,、30 計算機組成原理核心要點 作者會把整個的計算機組成原理通過指令、計算,、CPU,、存儲系統(tǒng)和IO串起來,以一個程序的執(zhí)行過程進行逐層分解,,從歷史視角講清楚“是什么”,,結合案例講清楚“怎么做”,帶你搞懂計算機組成原理中最核心,、最重要的內(nèi)容,。 3、洞悉性能問題的本質(zhì) 學習計算機組成原理,,其實就是理解計算機是怎么運作的,,以及為什么這么運作,。在此基礎上,我們才能又快又準地優(yōu)化性能,,提升效率,。而我們想要解決性能問題,其實就是在此基礎上,,去關注時鐘周期時間,、每條指令的平均時鐘周期數(shù)CPI、指令數(shù),。 4,、組成原理在工業(yè)界的實際應用 理解了計算機各個組件的運作之后,還將手把手帶你實操,。利用存儲器層次結構設計大型 DMP 系統(tǒng),,并通過 Disruptor,跟你一起感受 CPU 的風馳電掣,,讓你真正學有所用,。 “練拳不練功,到老一場空”,。做一個真正的工程師,,越早弄清楚計算機的底層原理,在你的知識體系中“儲蓄”起這些知識,,也就意味著你有越長的時間來收獲學習知識的“利息”,。長久的“復利效應”,會讓你的未來走的更遠更輕松,。 |
|
來自: liang1234_ > 《計算機》