目錄
前言
什么是馮諾依曼體系結(jié)構(gòu)?
馮諾依曼體系結(jié)構(gòu)如何進(jìn)行數(shù)據(jù)處理的?
存儲(chǔ)器在馮諾依曼體系中有什么作用?
馮諾依曼體系結(jié)構(gòu)為什么要這樣設(shè)計(jì)?
馮諾依曼結(jié)構(gòu)總結(jié)
前言
相信對(duì)于馮諾依曼這個(gè)人的名字大家一定不會(huì)感到陌生,他被稱為“現(xiàn)代計(jì)算機(jī)之父”
而在他生平比較重要的一大貢獻(xiàn)就是:創(chuàng)建了計(jì)算機(jī)的硬件結(jié)構(gòu)為馮諾依曼體系結(jié)構(gòu)
接下來(lái),我會(huì)對(duì)這個(gè)體系結(jié)構(gòu)進(jìn)行詳細(xì)的介紹,包括他為什么要這樣設(shè)計(jì),這樣設(shè)計(jì)的好處是什么,為什么現(xiàn)在計(jì)算機(jī)大多都以馮諾依曼體系結(jié)構(gòu)為主體。。。。也會(huì)娓娓道來(lái)!那就讓我們接下去看吧!
什么是馮諾依曼體系結(jié)構(gòu)?
馮諾依曼體系結(jié)構(gòu)是馮諾依曼提出的一種計(jì)算機(jī)硬件結(jié)構(gòu),如圖
我們先看看他其中的組成是怎么樣的
存儲(chǔ)器:指的其實(shí)就是我們熟知的內(nèi)存
輸入設(shè)備:指的是幫助計(jì)算機(jī)產(chǎn)生數(shù)據(jù)的設(shè)備,例如:鍵盤、攝像頭、話筒、磁盤、網(wǎng)卡。。。
輸出設(shè)備:指的是幫助計(jì)算機(jī)處理數(shù)據(jù)的設(shè)備,例如:顯示器、音響、磁盤、網(wǎng)卡。。。
注意:有些設(shè)備既可以是輸入設(shè)備,也可以是輸出設(shè)備
中央處理單元:指的就是電腦的CPU
運(yùn)算器:是CPU中較為主要的設(shè)備之一,它的功能是進(jìn)行各種運(yùn)算,例如:算術(shù)運(yùn)算/邏輯運(yùn)算
控制器:給CPU進(jìn)行響應(yīng)外部事件,例如拷貝數(shù)據(jù)到內(nèi)存中
現(xiàn)在,我們知道了什么是馮諾依曼體系結(jié)構(gòu),那么相信你也一定會(huì)有疑問,他到底是如何工作的呢?不要急,我們接下來(lái)看看!
馮諾依曼體系結(jié)構(gòu)如何進(jìn)行數(shù)據(jù)處理的?
第一步:首先是由輸入設(shè)備讀取完數(shù)據(jù)
第二步:把數(shù)據(jù)由輸入設(shè)備移動(dòng)到內(nèi)存中
第三步:此時(shí)CPU拿到并進(jìn)行處理內(nèi)存中的數(shù)據(jù)
第四步:CPU再把處理好的數(shù)據(jù)交給內(nèi)存
第五步:內(nèi)存再把數(shù)據(jù)給輸出設(shè)備,此時(shí)整個(gè)數(shù)據(jù)處理流程就完畢了
也就是如下圖示意圖的黑色箭頭指向即為馮諾依曼體系結(jié)構(gòu)的工作流程
存儲(chǔ)器在馮諾依曼體系中有什么作用?
在看了上述內(nèi)容后,相信你也有一些疑惑,為什么馮諾依曼體系結(jié)構(gòu)中需要有存儲(chǔ)器呢?
我們直接把數(shù)據(jù)從輸入設(shè)備把數(shù)據(jù)給到CPU再由CPU給到輸出設(shè)備不就好了嗎?
首先,我們先要了解一個(gè)概念,那就是在馮諾依曼體系結(jié)構(gòu)中不同的設(shè)備,他們的處理數(shù)據(jù)的速度是遠(yuǎn)遠(yuǎn)不同的
其中,輸入設(shè)備和輸出設(shè)備是一個(gè)級(jí)別的速度(最慢的)
其次,存儲(chǔ)器是一個(gè)級(jí)別的速度(中等的)
再然后,CPU是一個(gè)級(jí)別的速度(最快的)
如果我們說CPU是10納秒級(jí)別的速度的話,那么存儲(chǔ)器可能就是百納秒為單位的,而輸入設(shè)備和輸出設(shè)備是微秒級(jí)別的
我們其實(shí)可以發(fā)現(xiàn),在馮諾依曼體系結(jié)構(gòu)中,CPU是不直接與輸入輸出設(shè)備直接進(jìn)行交互的,原因也是因?yàn)樗麄兊乃俣冗^慢會(huì)導(dǎo)致CPU長(zhǎng)時(shí)間等待以至于運(yùn)行效率變低
這里就好比木桶效應(yīng)
木桶效應(yīng):決定一個(gè)桶能裝多少水的不是取決于最高的那塊木板,而是最低的那塊木板
同樣的,因?yàn)镃PU的速度已經(jīng)很快很快了,此時(shí)決定CPU的速度的就不是它自身的速度,而是其他較慢設(shè)備的速度。所以存儲(chǔ)器這個(gè)設(shè)備在體系結(jié)構(gòu)中也是必不可少的!
馮諾依曼體系結(jié)構(gòu)為什么要這樣設(shè)計(jì)?
?在上述內(nèi)容中,我們了解了,體系結(jié)構(gòu)中為什么需要存儲(chǔ)器,但我接下來(lái)又得要提出一個(gè)問題了。
為什么體系結(jié)構(gòu)中需要有輸入設(shè)備中的磁盤呢?同樣是讀取數(shù)據(jù),它的效率還比內(nèi)存要低,我不能全部換成內(nèi)存嗎?
從技術(shù)角度來(lái)說,這顯然是可行的。因?yàn)樯鲜?,同樣是讀取數(shù)據(jù),內(nèi)存一定比磁盤要好
但是我們除了要考慮技術(shù)問題,最重要的一個(gè)問題是成本
我們都知道,凡是被廣泛傳播的產(chǎn)品,一定是物美價(jià)廉的!
如果我們把磁盤中的512G全部換成內(nèi)存,顯然這個(gè)造價(jià)就會(huì)導(dǎo)致計(jì)算機(jī)無(wú)法廣泛傳播,并且性價(jià)比極低(全部換成內(nèi)存不一定就會(huì)比磁盤+內(nèi)存速度快)
如果真按照這樣子設(shè)計(jì),馮諾依曼體系結(jié)構(gòu)也或許并不會(huì)成為現(xiàn)代計(jì)算機(jī)的主流硬件結(jié)構(gòu)
這也從側(cè)面應(yīng)證了,馮諾依曼體系結(jié)構(gòu)之所以會(huì)成為現(xiàn)代計(jì)算機(jī)的主流硬件結(jié)構(gòu)就是因?yàn)槌杀镜停瑬|西好。
馮諾依曼結(jié)構(gòu)總結(jié)
在學(xué)習(xí)了上述內(nèi)容后,我們也可以仔細(xì)想想
我們?cè)趯W(xué)習(xí)編程語(yǔ)言的時(shí)候,時(shí)常聽到的一句話是:程序要運(yùn)行,必須先加載到內(nèi)存!
我們可能學(xué)的時(shí)候是會(huì)很想當(dāng)然的!我們也不考慮!但我現(xiàn)在就可以告訴你為什么了
因?yàn)槭邱T諾依曼體系結(jié)構(gòu)的特點(diǎn)決定的,因?yàn)轶w系結(jié)構(gòu)不讓CPU與外設(shè)直接交互!?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-628521.html
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 這篇文章就到這啦~我們下期再見!? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-628521.html
到了這里,關(guān)于【Linux系統(tǒng)編程】馮諾依曼體系結(jié)構(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!