簡(jiǎn)明圖解馮·諾依曼計(jì)算機(jī)體系

      網(wǎng)友投稿 1071 2022-05-28

      1 基本硬件組成

      一臺(tái)計(jì)算機(jī)組成至少如下:

      CPU(Central Processing Unit)

      中央處理器,計(jì)算機(jī)的所有計(jì)算由CPU執(zhí)行。

      內(nèi)存(Memory)

      撰寫的程序、打開的瀏覽器、運(yùn)行的游戲,都要加載到內(nèi)存里才能運(yùn)行。

      程序讀取的數(shù)據(jù)、計(jì)算得到的結(jié)果,也都要放在內(nèi)存里。內(nèi)存越大,能加載的東西自然也就越多。

      存放在內(nèi)存里的程序和數(shù)據(jù),需要被CPU讀取,CPU計(jì)算完之后,還要把數(shù)據(jù)寫回到內(nèi)存。然而CPU不能直接插到內(nèi)存上,反之亦然。

      主板(Motherboard)

      一個(gè)有著各種各樣,有時(shí)候多達(dá)數(shù)十乃至上百個(gè)插槽的配件。CPU、內(nèi)存都要插在主板。

      主板的芯片組(Chipset)和總線(Bus)解決了CPU和內(nèi)存之間如何通信的問題。

      芯片組

      控制數(shù)據(jù)流轉(zhuǎn)

      總線

      實(shí)際數(shù)據(jù)傳輸?shù)母咚俟贰?偩€速度(Bus Speed)決定數(shù)據(jù)傳輸速度

      輸入(Input)/輸出(Output)設(shè)備,即I/O設(shè)備。

      顯示器這所謂的輸出設(shè)備。

      鼠標(biāo)和鍵盤所謂的輸入設(shè)備。

      硬盤,數(shù)據(jù)持久化。

      顯示器、鼠標(biāo)、鍵盤和硬盤這些東西并不是一臺(tái)計(jì)算機(jī)必須的部分。

      其實(shí)只需要有I/O設(shè)備,能讓我們從計(jì)算機(jī)里輸入和輸出信息即可。云服務(wù)器,只要讓計(jì)算機(jī)能通過網(wǎng)絡(luò),SSH遠(yuǎn)程登陸訪問就好了,因此沒必要配顯示器、鼠標(biāo)、鍵盤。

      顯卡(Graphics Card),使用圖形界面操作系統(tǒng)的計(jì)算機(jī)必不可少。

      有人可能要說了,我裝機(jī)的時(shí)候沒有買顯卡,計(jì)算機(jī)一樣可以正常跑起來啊!那是因?yàn)椋F(xiàn)在的主板都帶了內(nèi)置的顯卡。

      如果玩游戲,做圖形渲染或者跑深度學(xué)習(xí)應(yīng)用,就需要買一張單獨(dú)顯卡,因?yàn)轱@卡里有GPU(Graphics Processing Unit,圖形處理器),GPU一樣可以做各種“計(jì)算”的工作。

      鼠標(biāo)、鍵盤以及硬盤都是插在主板。作為外部I/O設(shè)備,它們通過主板上的南橋(SouthBridge)芯片組,來控制和CPU之間的通信的。

      “南橋”芯片

      它在主板上的位置,通常在主板的“南面”

      它的作用就是作為“橋”,來連接鼠標(biāo)、鍵盤以及硬盤這些外部設(shè)備和CPU之間的通信。

      以前的主板上通常也有“北橋”芯片,用來作為“橋”,連接CPU和內(nèi)存、顯卡之間的通信。不過現(xiàn)在的主板上的“北橋”芯片的工作,已經(jīng)被移到了CPU內(nèi)部。

      2 馮·諾依曼體系結(jié)構(gòu)

      手機(jī)制造商們把CPU、內(nèi)存、網(wǎng)絡(luò)通信,乃至攝像頭芯片,都封裝到一個(gè)芯片,然后再嵌入到手機(jī)主板上,即SoC,System on a Chip(系統(tǒng)芯片)。

      但無論是PC/服務(wù)器/手機(jī)都遵循馮·諾依曼體系結(jié)構(gòu)(Von Neumann architecture),也叫存儲(chǔ)程序計(jì)算機(jī),意味著“可編程”、“存儲(chǔ)”計(jì)算機(jī)。

      計(jì)算機(jī)由各種門電路組成完成計(jì)算程序。一旦需要修改功能,就要重新組裝電路。這樣的話,計(jì)算機(jī)就是“不可編程”的,因?yàn)槌绦蛟谟?jì)算機(jī)硬件層面是“寫死”的。最常見的就是老式計(jì)算器,電路板設(shè)好了加減乘除,做不了任何計(jì)算邏輯固定之外的事情。

      再看“存儲(chǔ)”計(jì)算機(jī)。程序存儲(chǔ)在計(jì)算機(jī)內(nèi)存,可通過加載不同程序解決不同問題。

      不能存儲(chǔ)程序的計(jì)算機(jī)

      早年“Plugboard”這種插線板計(jì)算機(jī),在板子上不同的插頭或者接口的位置插入線路實(shí)現(xiàn)不同功能。這樣的計(jì)算機(jī)“可編程”,但編寫好的程序不能存儲(chǔ)下來供下一次加載使用,不得不每次要用到和當(dāng)前不同的“程序”的時(shí)候,重新插板子,重新“編程”。

      為了效率,有了“存儲(chǔ)程序計(jì)算機(jī)”。馮基于在秘密開發(fā)的EDVAC寫了一篇報(bào)告First Draft of a Report on the EDVAC,描述了一臺(tái)計(jì)算機(jī)什么樣。

      包含處理器單元(Processing Unit):

      算術(shù)邏輯單元(Arithmetic Logic Unit,ALU)

      處理器寄存器(Processor Register)

      完成各種算術(shù)和邏輯運(yùn)算。

      因?yàn)樗軌蛲瓿筛鞣N數(shù)據(jù)的處理或者計(jì)算工作,因此也有人把這個(gè)叫作數(shù)據(jù)通路(Datapath)或者運(yùn)算器。

      包含控制器單元(Control Unit/CU):

      指令寄存器(Instruction Reigster)

      程序計(jì)數(shù)器(Program Counter)

      控制程序的流程,通常就是不同條件下的分支和跳轉(zhuǎn)。

      算術(shù)邏輯單元和控制器單元組成CPU。

      存儲(chǔ)器

      存儲(chǔ)數(shù)據(jù)(Data)和指令(Instruction)的內(nèi)存。以及更大容量的外部存儲(chǔ),在過去,可能是磁帶、磁鼓這樣的設(shè)備,現(xiàn)在通常就是硬盤。

      分類

      存儲(chǔ)介質(zhì)

      半 導(dǎo)體存儲(chǔ)器:

      內(nèi)存、U盤、固態(tài)硬盤

      磁存儲(chǔ)器:

      磁帶、磁盤

      存取方式

      隨機(jī)存取存儲(chǔ)器RAM(Random Access Memory),通過電容存儲(chǔ)數(shù)據(jù),必須隔一段時(shí)間刷新一次,如果掉電,那么一段時(shí)間后將丟失所有數(shù)據(jù)。

      隨機(jī)讀取、與位置無關(guān)

      串行存儲(chǔ)器:

      與位置有關(guān)、按順序查找

      只讀存儲(chǔ)器(ROM):

      只讀不寫

      層次結(jié)構(gòu)

      原理

      局部性原理。即在CPU與主存之間增加一層速度快(容量小)的Cache,以解決主存速度不足問題。

      局部性原理。在主存之外增加輔助存儲(chǔ)器(磁盤、SD卡、 U盤等),以解決主存容量不足的問題。

      輸入和輸出設(shè)備

      無論是使用什么樣的計(jì)算機(jī),都是和輸入輸出設(shè)備打交道。

      個(gè)人電腦的鼠標(biāo)鍵盤是輸入設(shè)備,顯示器是輸出設(shè)備

      我們用的智能手機(jī),觸摸屏既是輸入設(shè)備,又是輸出設(shè)備

      跑在各種云上的服務(wù)器,則是通過網(wǎng)絡(luò)來進(jìn)行輸入和輸出。這個(gè)時(shí)候,網(wǎng)卡既是輸入設(shè)備又是輸出設(shè)備

      任何一臺(tái)計(jì)算機(jī)的任何一個(gè)部件都可以歸到運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備中,而所有的現(xiàn)代計(jì)算機(jī)也都是基于這個(gè)基礎(chǔ)架構(gòu)來設(shè)計(jì)開發(fā)的

      而所有的計(jì)算機(jī)程序,也都可以抽象為從輸入設(shè)備讀取輸入信息,通過運(yùn)算器和控制器來執(zhí)行存儲(chǔ)在存儲(chǔ)器里的程序,最終把結(jié)果輸出到輸出設(shè)備中。而我們所有撰寫的無論高級(jí)還是低級(jí)語言的程序,也都是基于這樣一個(gè)抽象框架來進(jìn)行運(yùn)作的。

      通用設(shè)計(jì)

      數(shù)據(jù)線

      I/O設(shè)備與主機(jī)之間進(jìn)行數(shù)據(jù)交換的傳送線。

      分為:

      單向傳輸數(shù)據(jù)線

      雙向傳輸數(shù)據(jù)線

      狀態(tài)線

      I/O設(shè)備狀態(tài)向主機(jī)報(bào)告的信號(hào)線

      查詢?cè)O(shè)備是否已經(jīng)正常連接并就緒

      查詢?cè)O(shè)備是否已經(jīng)被占用

      命令線

      CPU向設(shè)備發(fā)送命令的信號(hào)線

      發(fā)送讀寫信號(hào)

      發(fā)送啟動(dòng)停止信號(hào)

      設(shè)備選擇線

      主機(jī)選擇I/O設(shè)備進(jìn)行操作的信號(hào)線

      對(duì)連在總線上的設(shè)備進(jìn)行選擇

      CPU與IO設(shè)備的通信

      程序中斷

      當(dāng)外圍IO設(shè)備就緒時(shí),向CPU發(fā)出中斷信號(hào)。CPU有專門的電路響應(yīng)中斷信號(hào)。

      提供低速設(shè)備通知CPU的一種異步的方式,CPU可以高速運(yùn)轉(zhuǎn)同時(shí)兼顧低速設(shè)備的響應(yīng)。

      程序中斷的一個(gè)簡(jiǎn)單流程

      簡(jiǎn)明圖解馮·諾依曼計(jì)算機(jī)體系

      不過頻繁切換 CPU 也會(huì)降低性能。所以又有如下方式

      DMA (直接存儲(chǔ)器訪問)

      DMA直接連接主存與I/O設(shè)備

      當(dāng)主存與I/O設(shè)備交換信息時(shí),無需中斷CPU,可提高 CPU 利用率

      CPU速度與I/O設(shè)備速度不一致。

      硬盤與外接顯卡里都有。

      硬件開發(fā)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:嵌入式設(shè)備——如何實(shí)現(xiàn)主車前進(jìn)?
      下一篇:7.10 Linux yum源及配置
      相關(guān)文章
      亚洲精品无码专区2| 亚洲日韩区在线电影| va天堂va亚洲va影视中文字幕| 亚洲无线码在线一区观看| 国产亚洲成人久久| 色久悠悠婷婷综合在线亚洲| 亚洲 无码 在线 专区| 亚洲av无码一区二区三区在线播放 | 亚洲精品乱码久久久久蜜桃| 亚洲欧美日韩自偷自拍| 亚洲中文字幕无码爆乳app| 亚洲一卡2卡4卡5卡6卡在线99| 亚洲精品91在线| 亚洲人成免费网站| 国产亚洲精品成人AA片| 91在线亚洲综合在线| 亚洲精品无码mⅴ在线观看| 亚洲狠狠婷婷综合久久| 精品无码专区亚洲| 亚洲成A人片在线观看中文| 亚洲欧洲日产国码一级毛片| 国产亚洲老熟女视频| 中文字幕亚洲无线码| 国产亚洲婷婷香蕉久久精品| 亚洲精品在线观看视频| 亚洲精品美女久久久久9999| 亚洲精品国产免费| 国产色在线|亚洲| 亚洲国产一区二区三区在线观看 | 亚洲大成色www永久网站| 亚洲AV无码久久精品狠狠爱浪潮 | 久久精品亚洲日本波多野结衣 | 国产成人亚洲精品电影| 亚洲人成色7777在线观看不卡| 国产午夜亚洲不卡| 亚洲成人精品久久| 亚洲中文字幕久在线| 亚洲国产精品无码久久| 亚洲一区视频在线播放| 亚洲s色大片在线观看| 亚洲高清视频在线播放|