天天日夜夜添_精品国产99久久久久久人裸体 _成人app在线观看_日韩色网站

新聞資訊

    徐文浩,創始人。畢業于上海交通大學計算機系試點班,在 寫過大型企業軟件;在擔任技術總監,從零開始搭建支撐每天百億流量的廣告算法系統;2015年,加入拼多多,參與重寫拼多多的交易系統;2016年底創辦.ai,通過自然語言處理技術,為走向海外的中國企業提供英語的智能客服和社交網絡營銷服務。也是《 深入淺出計算機組成原理》專欄的作者,該專欄目前有 24000+ 人已學習。

    在學習計算機組成原理一個一個零散的知識點之前,我整理了一份學習地圖,好讓你對將要學習的內容有一個總綱層面的了解。

    建議保存后查看大圖

    從這張圖可以看出來,整個計算機組成原理,就是圍繞著計算機是如何組織運作展開的。

    計算機組成原理知識地圖

    計算機組成原理的英文叫 。這里的 是“組織機構”的意思。計算機由很多個不同的部件放在一起,變成了一個“組織機構”。這個組織機構最終能夠進行各種計算、控制、讀取輸入,進行輸出,達成各種強大的功能。

    在這張圖里面,我們把整個計算機組成原理的知識點拆分成了四大部分,分別是計算機的基本組成、計算機的指令和計算、處理器設計,以及存儲器和 I/O 設備。

    首先,我們來看計算機的基本組成。

    這一部分,你需要學習計算機是由哪些硬件組成的。這些硬件,又是怎么對應到經典的馮·諾依曼體系結構中的,也就是運算器、控制器、存儲器、輸入設備和輸出設備這五大基本組件。除此之外,你還需要了解計算機的兩個核心指標,性能和功耗。性能和功耗也是我們在應用和設計五大基本組件中需要重點考慮的因素。

    計算機系統有哪五部分組成_計算機硬件系統的主要組成部件有五大部分_計算機四級計算機組成與接口總結

    了解了組成部分,接下來你需要掌握計算機的指令和計算。

    在計算機指令部分,你需要搞明白,我們每天撰寫的一行行 C、Java、PHP 程序,是怎么在計算機里面跑起來的。這里面,你既需要了解我們的程序是怎么通過編譯器和匯編器,變成一條條機器指令這樣的編譯過程(如果把編譯過程展開的話,可以變成一門完整的編譯原理課程),還需要知道我們的操作系統是怎么鏈接、裝載、執行這些程序的(這部分知識如果再深入學習,又可以變成一門操作系統課程)。而這一條條指令執行的控制過程,就是由計算機五大組件之一的控制器來控制的。

    在計算機的計算部分,你要從二進制和編碼開始,理解我們的數據在計算機里的表示,以及我們是怎么從數字電路層面,實現加法、乘法這些基本的運算功能的。實現這些運算功能的 ALU( Logic Unit/ALU),也就是算術邏輯單元,其實就是我們計算機五大組件之一的運算器。

    這里面有一個在今天看起來特別重要的知識點,就是浮點數( Point)。浮點數是我們在日常運用中非常容易用錯的一種數據表示形式。掌握浮點數能讓你對數據的編碼、存儲和計算能夠有一個從表到里的深入理解。尤其在 AI 火熱的今天,浮點數是機器學習中重度使用的數據表示形式,掌握它更是非常有必要。

    明白計算機指令和計算是如何運轉的,我們就可以深入到 CPU 的設計中去一探究竟了。

    CPU 時鐘可以用來構造寄存器和內存的鎖存器和觸發器,因此,CPU 時鐘應該是我們學習 CPU 的前導知識。搞明白我們為什么需要 CPU 時鐘(CPU Clock),以及寄存器和內存是用什么樣的硬件組成的之后,我們可以再來看看,整個計算機的數據通路是如何構造出來的。

    數據通路,其實就是連接了整個運算器和控制器,并最終組成了 CPU。而出于對于性能和功耗的考慮,你要進一步理解和掌握面向流水線設計的 CPU、數據和控制冒險,以及分支預測的相關技術。

    既然 CPU 作為控制器要和輸入輸出設備通信,那么我們就要知道異常和中斷發生的機制。在 CPU 設計部分的最后,我會講一講指令的并行執行,看看如何直接在 CPU 層面,通過 SIMD 來支持并行計算。

    計算機系統有哪五部分組成_計算機硬件系統的主要組成部件有五大部分_計算機四級計算機組成與接口總結

    最后,我們需要看一看,計算機五大組成部分之一,存儲器的原理。通過存儲器的層次結構作為基礎的框架引導,你需要掌握從上到下的 CPU 高速緩存、內存、SSD 硬盤和機械硬盤的工作原理,它們之間的性能差異,以及實際應用中利用這些設備會遇到的挑戰。存儲器其實很多時候又扮演了輸入輸出設備的角色,所以你需要進一步了解,CPU 和這些存儲器之間是如何進行通信的,以及我們最重視的性能問題是怎么一回事;理解什么是 ,如何通過 DMA 來提升程序性能。

    對于存儲器,我們不僅需要它們能夠正常工作,還要確保里面的數據不能丟失。于是你要掌握我們是如何通過 RAID、 Code、ECC 以及分布式 HDFS,這些不同的技術,來確保數據的完整性和訪問性能。

    學習計算機組成原理,究竟有沒有好辦法?

    相信這個學習地圖,應該讓你對計算機組成這門課要學些什么,有了一些了解。不過這個地圖上的知識點繁多,應該也給你帶來了不小的挑戰。

    我上一節也說過,相較于整個計算機科學中的其他科目,計算機組成原理更像是整個計算機學科里的“綱要”。這門課里任何一個知識點深入挖下去,都可以變成計算機科學里的一門核心課程。比如說,程序怎樣從高級代碼變成指令在計算機里面運行,對應著“編譯原理”和“操作系統”這兩門課程;計算實現背后則是“數字電路”;如果要深入 CPU 和存儲器系統的優化,必然要深入了解“計算機體系結構”。

    因此,為了幫你更快更好地學計算機組成,我為你總結了三個學習方法,幫你更好地掌握這些知識點,并且能夠學為所用,讓你在工作中能夠用得上。

    首先,學會提問自己來串聯知識點。學完一個知識點之后,你可以從下面兩個方面,問一下自己。

    無論是程序的編譯、鏈接、裝載和執行,以及計算時需要用到的邏輯電路、ALU,乃至 CPU 自發為你做的流水線、指令級并行和分支預測,還有對應訪問到的硬盤、內存,以及加載到高速緩存中的數據,這些都對應著我們學習中的一個個知識點。建議你自己腦子里過一遍,最好是口頭表述一遍或者寫下來,這樣對你徹底掌握這些知識點都會非常有幫助。

    計算機系統有哪五部分組成_計算機硬件系統的主要組成部件有五大部分_計算機四級計算機組成與接口總結

    其次,寫一些示例程序來驗證知識點。計算機科學是一門實踐的學科。計算機組成中的大量原理和設計,都對應著“性能”這個詞。因此,通過把對應的知識點,變成一個個性能對比的示例代碼程序記錄下來,是把這些知識點融匯貫通的好方法。因為,相比于強記硬背知識點,一個有著明確性能對比的示例程序,會在你腦海里留下更深刻的印象。當你想要回顧這些知識點的時候,一個程序也更容易提示你把它從腦海深處里面找出來。

    最后,通過和計算機硬件發展的歷史做對照。計算機的發展并不是一蹴而就的。從第一臺電子計算機 ENIAC( And ,電子數值積分計算機)的發明到現在,已經有 70 多年了。現代計算機用的各個技術,都是跟隨實際應用中遇到的挑戰,一個個發明、打磨,最后保留下來的。這當中不僅僅有學術層面的碰撞,更有大量商業層面的交鋒。通過了解充滿戲劇性和故事性的計算機硬件發展史,讓你更容易理解計算機組成中各種原理的由來。

    比如說,奔騰 4 和 SPARC 的失敗,以及 ARM 的成功,能讓我們記住 CPU 指令集的繁與簡、權衡性能和功耗的重要性,而現今高速發展的機器學習和邊緣計算,又給計算機硬件設計帶來了新的挑戰。

    給松鼠癥患者的學習資料

    學習總是要花點笨功夫的。最有效的辦法還是“讀書百遍,其義自見”。對于不夠明白的知識點,多搜索,多看不同來源的資料,多和朋友、同事、老師一起交流計算機系統有哪五部分組成,一定能夠幫你掌握好想要學習的知識點。

    在這個專欄之前,計算機組成原理,已經有很多優秀的圖書和課程珠玉在前了。為了覆蓋更多知識點的細節,這些書通常都有點厚,課程都會有點長。不過作為專欄的補充閱讀材料,卻是最合適不過了。

    因此,每一講里,我都會留下一些“補充閱讀”的材料。如果你想更進一步理解更多深入的計算機組成原理的知識,乃至更多相關的其他核心課程的知識,多用一些業余時間來看一看,讀一讀這些“補充閱讀”也一定不會讓你對花在上面的時間后悔的。

    下面給你推薦一些我自己看過、讀過的內容。我在之后的文章里推薦的“補充閱讀”,大部分都是來自這些資料。你可以根據自己的情況來選擇學習。

    計算機系統有哪五部分組成_計算機硬件系統的主要組成部件有五大部分_計算機四級計算機組成與接口總結

    入門書籍

    我知道,訂閱這個專欄的同學,有很多是非計算機科班出身,我建議你先對計算機組成原理這門課有個基本概念。建立這個概念,有兩種方法,第一,你可以把我上面那張地圖的核心內容記下來,對這些內容之間的關系先有個大致的了解。

    第二,我推薦你閱讀兩本書,準確地說,這其實是兩本小冊子,因為它們非常輕薄、好讀,而且圖文并茂,非常適合初學者和想要入門組成原理的同學。一本是《計算機是怎樣跑起來的》,另一本是《程序是怎樣跑起來的》。我要特別說一下后面這本,它可以說是一個入門微縮版本的“計算機組成原理”。

    除此之外,計算機組成中,硬件層面的基礎實現,比如寄存器、ALU 這些電路是怎么回事,你可以去看一看 上的北京大學免費公開課《 》。這個視頻課程的視頻部分也就 10 多個小時。在學習專欄相應章節的前后去瀏覽一遍,相信對你了解程序在電路層面會變成什么樣子有所幫助。

    深入學習書籍

    對于想要深入掌握計算機組成的同學,我推薦你去讀一讀《計算機組成與設計:硬件 / 軟件接口》和經典的《深入理解計算機系統》這兩本書。后面這本被稱為 CSAPP 的經典教材,網上也有配套的視頻課程。我在這里給你推薦兩個不同版本的鏈接( 版和 版 )。不過這兩本都在 500 頁以上,堅持啃下來需要不少實踐經驗。

    計算機組成原理還有一本的經典教材,就是來自操作系統大神塔能鮑姆( S. )的《計算機組成:結構化方法》。這本書的組織結構和其他教材都不太一樣,適合作為一個輔助的參考書來使用。

    如果在學習這個專欄的過程中,引發了你對于計算機體系結構的興趣,你還可以深入讀一讀《計算機體系結構:量化研究方法》。

    計算機四級計算機組成與接口總結_計算機硬件系統的主要組成部件有五大部分_計算機系統有哪五部分組成

    課外閱讀

    在上面這些教材之外,對于資深程序員來說,來自 的 What Every Know About 是寫出高性能程序不可不讀的經典材料。而 LMAX 開源的 ,則是通過實際應用程序,來理解計算機組成原理中各個知識點的最好范例了。

    《編碼:隱匿在計算機軟硬件背后的語言》和《程序員的自我修養:鏈接、裝載和庫》是理解計算機硬件和操作系統層面代碼執行的優秀閱讀材料。

    總結延伸

    學習不是死記硬背,學習材料也不是越多越好。到了這里,希望你不要因為我給出了太多可以學習的材料,結果成了“松鼠癥”患者,光囤積材料,卻沒有花足夠多的時間去學習這些知識。

    我工作之后一直在持續學習,在這個過程中,我發現最有效的辦法,不是短時間沖刺,而是有節奏地堅持,希望你能夠和專欄的發布節奏同步推進,做好思考題計算機系統有哪五部分組成,并且多在留言區和其他朋友一起交流,就更容易能夠“積小步而至千里”,在程序員這個職業上有更長足的發展。

    好了,對于學習資料的介紹就到這里了。希望你能和我一起走完這趟“計算機組成”之旅,從中收獲到知識和成長。

    歡迎你給我留言,也歡迎分享給更多的朋友一起閱讀。

    文章出處

    本文出自徐文浩專欄《深入淺出計算機組成原理》已經有 24000+ 人加入學習。在這個課程里,徐文浩將結合自己多年的硬件研究成果和軟件開發經驗,通過硬件發展歷史和軟件開發案例,深入淺出地為你講解計算機組成原理的核心知識和典型應用,繼而幫你從源頭理解硬件原理和軟件架構的共通之處,洞悉性能問題的本質。戳此免費試讀>>>

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有