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