計算機的發(fā)展歷史
嚴(yán)格來講計算機從誕生到現(xiàn)在經(jīng)歷了很多階段,已經(jīng)發(fā)展成為一種自動地、高速地、精確地進(jìn)行信息處理的電子設(shè)備,也是20世紀(jì)的重大發(fā)明之一。
計算機的發(fā)展包括了硬件和軟件的發(fā)展,硬件的發(fā)展為計算機提供了更快的處理速度,而軟件的發(fā)展為用戶提供了更好的體驗。兩者相輔相成,密不可分。
-
第一階段: 60年代中期以前,是計算機系統(tǒng)發(fā)展的早期時代。在這個時期通用硬件已經(jīng)相當(dāng)普遍,軟件卻是為每個具體應(yīng)用而專門編寫的,大多數(shù)人認(rèn)為軟件開發(fā)是無需預(yù)先計劃的事情。這時的軟件實際上就是規(guī)模較小的程序,程序的編寫者和使用者往往是同一個(或同一組)人;
-
第二階段:從60年代中期到70年代中期,是計算機系統(tǒng)發(fā)展的第二代。在這10年中計算機技術(shù)有了很大進(jìn)步。多道程序、多用戶系統(tǒng)引入了人機交互的新概念,開創(chuàng)了計算機應(yīng)用的新境界,使硬件和軟件的配合上了一個新的層次;
-
第三階段:計算機系統(tǒng)發(fā)展的第三代從20世紀(jì)70年代中期開始,并且跨越了整整10年。在這10年中計算機技術(shù)又有了很大進(jìn)步。分布式系統(tǒng)極大地增加亍計算機系統(tǒng)的復(fù)雜性,局域網(wǎng)、廣域網(wǎng)、寬帶數(shù)字通信以及對“即時”數(shù)據(jù)訪問需求的增加,都對軟件開發(fā)者提出了更高的要求;
-
第四階段:在計算機系統(tǒng)發(fā)展的第四代已經(jīng)不再看重單臺計算機和程序,人們感受到的是硬件和軟件的綜合效果。由復(fù)雜操作系統(tǒng)控制的強大的桌面機及局域網(wǎng)和廣域網(wǎng),與先進(jìn)的應(yīng)用軟件相配合,已經(jīng)成為當(dāng)前的主流。計算機體系結(jié)構(gòu)已迅速地從集中的主機環(huán)境轉(zhuǎn)變成分布的客戶機/服務(wù)器。
馮·諾依曼計算機模型
雖然計算機的發(fā)展迅速,但整體設(shè)計上還是符合馮·諾依曼的組織結(jié)構(gòu),那么什么是馮·諾依曼計算機模型。
根據(jù)馮·諾依曼體系結(jié)構(gòu)構(gòu)成的計算機,必須具有如下功能,先從內(nèi)存中取出第一條指令,通過控制器的譯碼,按指令的要求,從存儲器中取出數(shù)據(jù)進(jìn)行指定的運算和邏輯操作,然后再按地址把結(jié)果送到內(nèi)存中去。接下來再取出第二條指令,在控制器的指揮下完成規(guī)定操作。我們來一張圖更直觀的解釋:
從圖中可以看出馮·諾依曼體系結(jié)構(gòu)計算機由五大部分組成:
-
控制器:
是整個計算機的中樞神經(jīng),其功能是對程序規(guī)定的控制信息進(jìn)行解釋,根據(jù)其要求進(jìn)行控制,調(diào)度程序、數(shù)據(jù)、地址、協(xié)調(diào)計算機各部分工作及內(nèi)存與外設(shè)的訪問等。
-
運算器:
運算器是計算機中對信息進(jìn)行加工、運算的部件,它的速度決定了計算機的運算速度。運算器的功能是對二進(jìn)制編碼進(jìn)行算術(shù)運算(加、減、乘、除)和邏輯運算(與、或、非、比較、移位)。通常情況下是把運算器和控制器合在一起,做在一塊半導(dǎo)體集成電路中,稱為中央處理器,簡稱CPU。
-
存儲器:
其功能是存儲程序、數(shù)據(jù)和各種信號、命令等信息,并在需要時提供這些信息。
-
輸入設(shè)備:
輸入設(shè)備和輸出設(shè)備統(tǒng)稱為外部設(shè)備,簡稱外設(shè)。輸入設(shè)備的作用是將程序、原始數(shù)據(jù)、文字、字符、控制命令或現(xiàn)場采集的數(shù)據(jù)等信息輸入到計算機。常見的輸入設(shè)備有鍵盤、鼠標(biāo)、觸摸屏等。
-
輸出設(shè)備:
輸出設(shè)備與輸入設(shè)備同樣是計算機的重要組成部分,它把計算機的中間結(jié)果或最后結(jié)果、機內(nèi)的各種數(shù)據(jù)符號及文字或各種控制信號等信息輸出出來。微機常用的輸出設(shè)備有顯示終端LCD、音響等。
哈佛計算機模型
哈佛結(jié)構(gòu)就是將程序的邏輯代碼和變量分開存放的一種結(jié)構(gòu),而他們存放的位置可以是形同的也可以是不同的,總是只要是分成兩個部分單獨訪問的結(jié)構(gòu)都可以叫哈佛結(jié)構(gòu)。(例如:51的程序的邏輯代碼段放在ROM中,而變量部分則放在ROM中;而ARM的邏輯代碼和變量都是存放在RAM(內(nèi)存)中的,但是,它在內(nèi)存中劃分了兩部分的空間,其中一部分放邏輯代碼,另一部分方變量。之間不會相互干擾)哈佛結(jié)構(gòu)的優(yōu)點就是邏輯代碼和變量單獨存放,使之不會相互干擾,進(jìn)而當(dāng)程序出BUG的時候,最多只會修改變量的值,而不會修改程序的執(zhí)行順序(邏輯關(guān)系)。因此,這種結(jié)構(gòu)大量應(yīng)用在嵌入式編程當(dāng)中。
計算機系統(tǒng)的構(gòu)成
計算機是一個系統(tǒng)的集合,由硬件和軟件兩部分構(gòu)成,只有硬件的計算機只能算裸機,硬件是筋骨,軟件是靈魂。計算機的構(gòu)成可以概括如下:
硬件包括CPU,存儲器,各種外設(shè)等,我們先來解釋下CPU是什么?
CPU是一塊超大規(guī)模的集成電路,是一臺計算機的運算核心和控制核心。它的功能主要是解釋計算機指令以及處理計算機軟件中的數(shù)據(jù)。主要包括運算器和高速緩沖存儲器及實現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制及狀態(tài)的總線。它與內(nèi)部存儲器和輸入/輸出設(shè)備合稱為電子計算機三大核心部件。
軟件包括系統(tǒng)軟件和應(yīng)用軟件,系統(tǒng)軟件是指控制和協(xié)調(diào)計算機及外部設(shè)備,支持應(yīng)用軟件開發(fā)和運行的系統(tǒng),是無需用戶干預(yù)的各種程序的集合,主要功能是調(diào)度,監(jiān)控和維護(hù)計算機系統(tǒng),即操作系統(tǒng),比如 linux, Android 等。
應(yīng)用軟件是和系統(tǒng)軟件相對應(yīng)的,一般指用于實現(xiàn)某種用途或特定行業(yè)需求的軟件,也就是我們常說的App。






