计算机系统的发展史、基本组成、工作原理
文章目錄
- 1 計(jì)算機(jī)的發(fā)展史
- 1.1 第一臺(tái)通用電子計(jì)算機(jī)的誕生
- 1.2 馮諾依曼的故事
- 1.3 現(xiàn)代計(jì)算機(jī)的原型
- 2 馮·諾依曼結(jié)構(gòu)
- 2.1 馮·諾依曼結(jié)構(gòu)計(jì)算機(jī)模型
- 2.2 馮·諾依曼結(jié)構(gòu)的主要思想
- 3 現(xiàn)代計(jì)算機(jī)結(jié)構(gòu)
- 3.1 現(xiàn)代計(jì)算機(jī)結(jié)構(gòu)模型
- 3.2 計(jì)算機(jī)是如何工作的
- 3.3 計(jì)算機(jī)的基本組成與基本功能
- 4 指令和數(shù)據(jù)
1 計(jì)算機(jī)的發(fā)展史
1.1 第一臺(tái)通用電子計(jì)算機(jī)的誕生
1946年,第1臺(tái)通用電子計(jì)算機(jī) ENIAC誕生:
- 由電子真空管組成
- 美國(guó)賓夕法尼亞大學(xué)研制
- 用于解決復(fù)雜彈道計(jì)算問(wèn)題
- 5000次加法/s –平方、立方、sin、cos等
- 用十進(jìn)制表示信息并運(yùn)算
- 采用手動(dòng)編程,通過(guò)設(shè)置開(kāi)關(guān)和插拔電纜來(lái)實(shí)現(xiàn)
Electronic Numerical Integrator And Computer:電子數(shù)字積分計(jì)算機(jī)。
1.2 馮諾依曼的故事
- 1944年,馮·諾伊曼參加原子彈的研制工作,涉及到極為困難的計(jì)算。
- 1944年夏的一天,諾伊曼巧遇美國(guó)彈道實(shí)驗(yàn)室的軍方負(fù)責(zé)人戈?duì)査固?#xff0c;他正參與ENIAC的研制工作。
- 馮·諾依曼被戈?duì)査固菇榻B加入ENIAC研制組,1945年,他們?cè)诠餐懻摰幕A(chǔ)上,馮·諾伊曼以“關(guān)于EDVAC的報(bào)告草案”為題,起草了長(zhǎng)達(dá)101頁(yè)的總結(jié)報(bào)告,發(fā)表了全新的“存儲(chǔ)程序通用電子計(jì)算機(jī)方案”。
- 一向?qū)8憷碚撗芯康钠樟炙诡D高等研究院批準(zhǔn)讓馮·諾依曼建造計(jì)算機(jī),其依據(jù)就是這份報(bào)告。
- Electronic Discrete Variable Automatic Compute(電子離散變量自動(dòng)計(jì)算)。
1.3 現(xiàn)代計(jì)算機(jī)的原型
1946年,普林斯頓高等研究院(the Institute for Advance Study at Princeton,IAS )開(kāi)始設(shè)計(jì)“存儲(chǔ)程序”計(jì)算機(jī),被稱(chēng)為IAS計(jì)算機(jī)(1951年才完成,并不是第一臺(tái)存儲(chǔ)程序計(jì)算機(jī),1949年由英國(guó)劍橋大學(xué)完成的EDSAC是第一臺(tái))。
- 在那個(gè)報(bào)告中提出的計(jì)算機(jī)結(jié)構(gòu)被稱(chēng)為馮·諾依曼結(jié)構(gòu)。
- 馮·諾依曼結(jié)構(gòu)最重要的思想是“存儲(chǔ)程序(Stored-program)”工作方式:任何要計(jì)算機(jī)完成的工作都要先被編寫(xiě)成程序,然后將程序和原始數(shù)據(jù)送入主存并啟動(dòng)執(zhí)行。一旦程序被啟動(dòng),計(jì)算機(jī)應(yīng)能在不需操作人員干預(yù)下,自動(dòng)完成逐條取出指令和執(zhí)行指令的任務(wù)。
- 馮·諾依曼結(jié)構(gòu)計(jì)算機(jī)也稱(chēng)為馮·諾依曼機(jī)器(Von Neumann Machine)。
- 幾乎現(xiàn)代所有的通用計(jì)算機(jī)大都采用馮·諾依曼結(jié)構(gòu),因此,IAS計(jì)算機(jī)是現(xiàn)代計(jì)算機(jī)的原型機(jī)。
IAS計(jì)算機(jī)結(jié)構(gòu)大致如下:
- 應(yīng)該有個(gè)主存,用來(lái)存放程序和數(shù)據(jù)。
- 應(yīng)該有一個(gè)自動(dòng)逐條取出指令的部件。
- 還應(yīng)該有具體執(zhí)行指令(即運(yùn)算)的部件。
- 程序由指令構(gòu)成。
- 指令描述如何對(duì)數(shù)據(jù)進(jìn)行處理。
- 應(yīng)該有將程序和原始數(shù)據(jù)輸入計(jì)算機(jī)的部件。
- 應(yīng)該有將運(yùn)算結(jié)果輸出計(jì)算機(jī)的部件。
2 馮·諾依曼結(jié)構(gòu)
2.1 馮·諾依曼結(jié)構(gòu)計(jì)算機(jī)模型
早期,部件之間用分散方式相連。現(xiàn)在,部件之間大多用總線方式相連。
2.2 馮·諾依曼結(jié)構(gòu)的主要思想
- 計(jì)算機(jī)應(yīng)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備五個(gè)基本部件組成。
- 各基本部件的功能是:
- 存儲(chǔ)器不僅能存放數(shù)據(jù),而且也能存放指令,形式上兩者沒(méi)有區(qū)別,但計(jì)算機(jī)應(yīng)能區(qū)分?jǐn)?shù)據(jù)還是指令;
- 控制器應(yīng)能自動(dòng)取出指令來(lái)執(zhí)行;
- 運(yùn)算器應(yīng)能進(jìn)行加/減/乘/除四種基本算術(shù)運(yùn)算,并且也能進(jìn)行一些邏輯運(yùn)算和附加運(yùn)算;
- 操作人員可以通過(guò)輸入設(shè)備、輸出設(shè)備和主機(jī)進(jìn)行通信。
- 內(nèi)部以二進(jìn)制表示指令和數(shù)據(jù)。每條指令由操作碼和地址碼兩部分組成。操作碼指出操作類(lèi)型,地址碼指出操作數(shù)的地址。由一串指令組成程序。
- 采用“存儲(chǔ)程序”工作方式。
3 現(xiàn)代計(jì)算機(jī)結(jié)構(gòu)
3.1 現(xiàn)代計(jì)算機(jī)結(jié)構(gòu)模型
計(jì)算機(jī)中最基本的部件:
- CPU:中央處理器;
- PC:程序計(jì)數(shù)器;
- MAR:存儲(chǔ)器地址寄存器;
- ALU:算術(shù)邏輯部件;
- IR:指令寄存器;
- MDR:存儲(chǔ)器數(shù)據(jù)寄存器;
- GPRs:通用寄存器組(由若干通用寄存器組成,早期就是累加器)。
3.2 計(jì)算機(jī)是如何工作的
類(lèi)似“存儲(chǔ)程序”工作方式。
先想象一下媽媽是怎樣做一桌你喜歡(指定)的菜的?
- 廚房-CPU,你媽-控制器,盤(pán)-GPRs,鍋灶等-ALU ,架子-存儲(chǔ)器。
做菜前:
- 原材料(數(shù)據(jù))和菜譜(指令)都按序放在廚房外的架子(存儲(chǔ)器)上, 每個(gè)架子有編號(hào)(存儲(chǔ)單元地址)。
- 菜譜上信息:原料位置、做法、做好的菜放在哪里等
- 例如,把10、11號(hào)架上的原料一起炒,并裝入3號(hào)盤(pán)
- 然后,我告訴媽媽從第5個(gè)架上(起始PC=5)指定菜譜開(kāi)始做
開(kāi)始做菜:
- 第一步:從5號(hào)架上取菜譜(根據(jù)PC取指令)
- 第二步:看菜譜(指令譯碼)
- 第三步:從架上或盤(pán)中取原材料(取操作數(shù))
- 第四步:洗、切、炒等具體操作(指令執(zhí)行)
- 第五步:裝盤(pán)或直接送桌(回寫(xiě)結(jié)果)
- 第六步:算出下一菜譜所在架子號(hào)6=5+1(修改PC的值)繼續(xù)做下一道菜(執(zhí)行下一條指令)。
類(lèi)似的,計(jì)算機(jī)工作方式如下:
程序由指令組成(菜單由菜譜組成)。
程序在執(zhí)行前:
- 數(shù)據(jù)和指令事先存放在存儲(chǔ)器中,每條指令和每個(gè)數(shù)據(jù)都有地址,指令按序存放,指令由OP、ADDR字段組成,程序起始地址置PC(原材料和菜譜都放在廚房外的架子上, 每個(gè)架子有編號(hào)。媽媽從第5個(gè)架上指定菜譜開(kāi)始做)
開(kāi)始執(zhí)行程序:
- 第一步:根據(jù)PC取指令(從5號(hào)架上取菜譜)
- 第二步:指令譯碼(看菜譜)
- 第三步:取操作數(shù)(從架上或盤(pán)中取原材料)
- 第四步:指令執(zhí)行(洗、切、炒等具體操作)
- 第五步:回寫(xiě)結(jié)果(裝盤(pán)或直接送桌)
- 第六步:修改PC的值(算出下一菜譜所在架子號(hào)6=5+1)繼續(xù)執(zhí)行下一條指令(繼續(xù)做下一道菜)
3.3 計(jì)算機(jī)的基本組成與基本功能
什么是計(jì)算機(jī):
- 計(jì)算機(jī)是一種能對(duì)數(shù)字化信息進(jìn)行自動(dòng)、高速算術(shù)和邏輯運(yùn)算的處理裝置。
計(jì)算機(jī)的基本部件及功能:
- 運(yùn)算器(數(shù)據(jù)運(yùn)算):ALU、GPRs、標(biāo)志寄存器等
- 存儲(chǔ)器(數(shù)據(jù)存儲(chǔ)):存儲(chǔ)陣列、地址譯碼器、讀寫(xiě)控制電路
- 總線(數(shù)據(jù)傳送):數(shù)據(jù)(MDR)、地址(MAR)和控制線
- 控制器(控制):對(duì)指令譯碼生成控制信號(hào)
計(jì)算機(jī)實(shí)現(xiàn)的所有任務(wù)都是通過(guò)執(zhí)行一條一條指令完成的!
4 指令和數(shù)據(jù)
程序啟動(dòng)前:
- 指令和數(shù)據(jù)都存放在存儲(chǔ)器中,形式上沒(méi)有差別,都是0/1序列。
采用”存儲(chǔ)程序“工作方式:
- 程序由指令組成,程序被啟動(dòng)后,計(jì)算機(jī)能自動(dòng)取出一條一條指令執(zhí)行,在執(zhí)行過(guò)程中無(wú)需人的干預(yù)。
指令執(zhí)行過(guò)程中:
- 指令和數(shù)據(jù)被從存儲(chǔ)器取到CPU,存放在CPU內(nèi)的寄存器中,指令在IR中,數(shù)據(jù)在GPR中。
指令中需給出的信息:
- 操作性質(zhì)(操作碼)
- 源操作數(shù)1 或/和 源操作數(shù)2 (立即數(shù)、寄存器編號(hào)、存儲(chǔ)地址)
- 目的操作數(shù)地址 (寄存器編號(hào)、存儲(chǔ)地址)
- 存儲(chǔ)地址的描述與操作數(shù)的數(shù)據(jù)結(jié)構(gòu)有關(guān)!
參考資料:
總結(jié)
以上是生活随笔為你收集整理的计算机系统的发展史、基本组成、工作原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 有符号数与无符号数
- 下一篇: 辗转相除法的程序实现