計算機的組成
從「裝機」理解——三大件:cpu、記憶體、主機板
cpu(central processing unit,**處理器):最重要是因為所有的「計算」都是由cpu來進行的,也是因為cpu是最貴的部件之一。
記憶體(memory):作業系統以上的所有軟體(如開發的程式、開啟的瀏覽器、執行的遊戲)都要載入到記憶體裡才能執行。程式讀取的資料、計算得到的結果,也都要放在記憶體裡。記憶體越大,能載入的東西自然也就越多。
存放在記憶體裡的程式和資料,需要被 cpu 讀取;cpu 計算完之後,還要把資料寫回到記憶體。
主機板(motherboard):主機板的晶元組(chipset)和匯流排(bus)解決了 cpu 和記憶體之間如何通訊的問題。
a) 晶元組控制了資料傳輸的流轉,也就是資料從**到**的問題。
b) 匯流排則是實際資料傳輸的高速公路。因此,匯流排速度(bus speed)決定了資料能傳輸得多快。
從「裝機」理解——其他:電源、輸入(input)/輸出(output)裝置
問題1:如何長久的儲存資料呢?答:硬碟
問題2:如何隔絕灰塵和解決散熱問題呢?答:機箱和風扇
問題3:不要硬碟、鍵盤、滑鼠、顯示器、機箱和風扇可以嗎?答:可以
問題4:不要硬碟還可以怎麼長久儲存資料?答:網路硬碟 --> 順帶演示ssh
顯示卡(graphics card):使用圖形介面作業系統的計算機必備之必須。玩遊戲、做圖形渲染和跑深度學習應用的計算機之良品。
問題5:那為什麼有些計算機沒有顯示卡呢?答:整合了
問題6:顯示卡裡有什麼?答:gpu(grahphics processing unit,圖形處理器)
問題7:鍵盤、滑鼠和硬碟這些i/o裝置(外設)由什麼來控制?答:由主機板上的南橋(southbridge)晶元組來控制,控制他們與cpu之間的通訊。
問題8:北橋是幹嘛的?我的計算機怎麼沒有北橋了?北橋用來控制cpu和記憶體、顯示卡之間的通訊。現在很多已經整合到cpu中去了。
問題9:手機的組成與通用計算機的組成是一樣的嗎?答:一樣。但是,手機一般沒有記憶體插槽、cpu 插槽,手機將 cpu、記憶體、網路通訊,甚至攝像頭晶元,都封裝到乙個晶元,然後再嵌入到手機主機板上。這塊整合封裝的晶元叫做system on a chip(soc)
馮.諾依曼體系結構
無論是pc、伺服器、手機,還是raspberry pi(樹莓派)都遵循乙個「計算機」抽象概念——馮.諾依曼體系結構(von neumann architecture),也稱為儲存程式計算機。
問題10:什麼是儲存程式計算機?答:1.可程式設計計算機;2.儲存計算機。
老式計算器是不可程式設計計算機。
馮.諾依曼2023年6月30日寫的一篇101頁(不完整)的報告,叫做first draft of a report on the edvac(中文名為《第乙份草案》),描述了他心目中的計算機是什麼樣子的,歸納為:
a) 有乙個處理器單元(processing unit),由算術邏輯單元(arithmetic logic unit,簡稱alu)和處理器暫存器(processor register)組成,用來完成各種算術和邏輯運算。
b) 有乙個控制器單元(control unit,簡稱cu),由指令暫存器(instruction register,簡稱ir)和程式計數器(program counter,簡稱pc)組成,用來控制程式的流程。
c) 記憶體用來儲存資料(data)和指令(instruction)。
d) 有各種輸入和輸出裝置。
總結
學習計算機組成原理就是在理解從控制器、運算器、儲存器、輸入裝置以及輸出裝置,從電路這樣的硬體,到最終開放給軟體的介面,是怎麼運作的,為什麼要設計成這樣,以及在軟體開發層面怎麼盡可能用好它。
a) 儲存程式:將程式存放在計算機的儲存器中。處理器cpu只能對存放在主存(即記憶體)中的程式或資料進行運算。
問題11:儲存系統的構建?如何快速訪問主存中的程式和資料?
b) 程式控制:按照指令位址訪問主存並取出指令,經解碼依次產生執行指令所需的控制訊號,實現對計算機系統的控制,完成指令的功能。
問題12:指令系統、控制器如何設計?
問題13:另一位計算機大師圖靈(alan mathison turing)提出了圖靈機(turing machine)的概念,這個概念和馮.諾依曼提出的計算機有什麼不同?
a) 運算器:(算術運算)加/減/乘/除…;(邏輯運算)與/或/非/移位…,由alu(arithmetic logical unit)和暫存器(sram)組成。由於指令、資料型別、效能要求等不同,不同運算器在功能和結構上有所不同。
b) 控制器:控制訊號形式有電平訊號和脈衝訊號兩種。產生控制訊號的依據由指令、狀態、時序決定,分別對應指令暫存器、狀態觸發器和時序電路。控制訊號產生的方式分為微程式和硬佈線兩種方式。
c) 儲存器:存放原程式、原資料、運算的中間結果等。其工作模式分為讀和寫兩種。按照位址讀或寫對應的儲存單元。
問:儲存容量和位址線數量的關係?
10-bit位址線 --> 2^10=1kb
20-bit位址線 --> 2^20=1mb
30-bit位址線 --> 2^30=1gb
d) 輸入/輸出裝置
a) 可以在計算機硬體上執行的思想和內容的數位化。
思想 (程式的表達):演算法、規律、方法。
內容:影象、資料、聲音、文字等。
b) 用二進位制表示的程式和資料。
c) 核心是演算法。
a) 邏輯等效性:某些功能既可以由硬體實現,又可以由軟體實現。
b) 相互依存:硬體是軟體執行的基礎,軟體可以充分發揮硬體的功能。
c) 協同發展:交織發展,缺一不可。
a) 透明性:存在的事物或屬性,從某個角度卻看不到。例如:硬體的特性對c語言的設計者而言是透明的。
b) 系統觀:硬體結構變化會對軟體產生影響,不同的軟體對硬體有不同的要求。例如:程式設計時應該查閱對應cpu的程式設計手冊。
c) 軟硬體的分界線:指令集架構層。
微型計算機之MMU到底是什麼
記憶體管理單元 mmu 是您的工作部件,負責管理記憶體讀 寫。用一句話來說明,管理記憶體的部件 是 記憶體管理單元 也可以省略記憶體管理單元,並將其表示為 mmu 舉個例子,記憶體是 電腦工作時使用的桌子 電腦先生把工作工具攤在桌子 記憶體 上,勤勤懇懇地工作著。電腦先生根據需要把東西放在這張桌子上...
雲計算到底是什麼?
雲計算到底是什麼?它能做什麼?好像這已經不再是乙個it或者網際網路專業人員以及愛好者們的話題了吧?普通的人也會問雲計算到底是什麼了?說實話,本人也不知道雲計算是什麼?到底它主流的代表意義是什麼?只有走向未來才知道,而我們只能 它,目前只能選擇它是什麼或者能解決什麼方案!雖然雲計算的概念早期是由谷歌提...
計算機是什麼
越是大眾的讀物越容易有錯誤。本文也是如此。計算機的設計初衷是為了做計算。以前的人們也需要計算。在 談音律 這篇文章中,朱載堉利用乙個八十一位的超大算盤,計算了這個值,並精確到小數點後第二十五位,計算出12 2,由此得出十二平均律。但是在計算機出現之後,我們可以更快,更容易的計算了。你的智慧型手機中有...