計(jì)算機(jī)的工作原理是什么
計(jì)算機(jī)的工作原理是什么
很多人都會(huì)用電腦,那么你知道計(jì)算機(jī)的工作原理是什么嗎學(xué)習(xí)啦小編總結(jié)了一些資料,供大家參考!
計(jì)算機(jī)的基本原理是存貯程序和程序控制
預(yù)先要把指揮計(jì)算機(jī)如何進(jìn)行操作的指令序列(稱為程序)和原始數(shù)據(jù)通過輸入設(shè)備輸送到計(jì)算機(jī)內(nèi)存貯器中。每一條指令中明確規(guī)定了計(jì)算機(jī)從哪個(gè)地址取數(shù),進(jìn)行什么操作,然后送到什么地址去等步驟。
計(jì)算機(jī)在運(yùn)行時(shí),先從內(nèi)存中取出第一條指令,通過控制器的譯碼,按指令的要求,從存貯器中取出數(shù)據(jù)進(jìn)行指定的運(yùn)算和邏輯操作等加工,然后再按地址把結(jié)果送到內(nèi)存中去。接下來,再取出第二條指令,在控制器的指揮下完成規(guī)定操作。依此進(jìn)行下去,直至遇到停止指令。
o 程序與數(shù)據(jù)一樣存貯,按程序編排的順序,一步一步地取出指令,自動(dòng)地完成指令規(guī)定的操作是計(jì)算機(jī)最基本的工作原理。這一原理最初是由美籍匈牙利數(shù)學(xué)家馮.諾依曼于1945年提出來的,故稱為馮.諾依曼原理。
什么是計(jì)算機(jī)的工作原理
1、計(jì)算機(jī)系統(tǒng)的組成
微型計(jì)算機(jī)由硬件系統(tǒng)和軟件系統(tǒng)組成。
硬件系統(tǒng):指構(gòu)成計(jì)算機(jī)的電子線路、電子元器件和機(jī)械裝置等物理設(shè)備,它包括計(jì)算機(jī)的主機(jī)及外部設(shè)備。
軟件系統(tǒng):指程序及有關(guān)程序的技術(shù)文檔資料。包括計(jì)算機(jī)本身運(yùn)行所需要的系統(tǒng)軟件、各種應(yīng)用程序和用戶文件等。軟件是用來指揮計(jì)算機(jī)具體工作的程序和數(shù)據(jù),是整個(gè)計(jì)算機(jī)的靈魂。
計(jì)算機(jī)硬件系統(tǒng)主要由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備等五部分組成。
2、計(jì)算機(jī)的工作原理
(1)馮?諾依曼原理
“存儲(chǔ)程序控制”原理是1946年由美籍匈牙利數(shù)學(xué)家馮?諾依曼提出的,所以又稱為“馮?諾依曼原理”。該原理確立了現(xiàn)代計(jì)算機(jī)的基本組成的工作方式,直到現(xiàn)在,計(jì)算機(jī)的設(shè)計(jì)與制造依然沿著“馮?諾依曼”體系結(jié)構(gòu)。
(2)“存儲(chǔ)程序控制”原理的基本內(nèi)容
?、俨捎枚M(jìn)制形式表示數(shù)據(jù)和指令。
?、趯⒊绦?數(shù)據(jù)和指令序列)預(yù)先存放在主存儲(chǔ)器中(程序存儲(chǔ)),使計(jì)算機(jī)在工作時(shí)能夠自動(dòng)高速地從存儲(chǔ)器中取出指令,并加以執(zhí)行(程序控制)。
?、塾蛇\(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備五大基本部件組成計(jì)算機(jī)硬件體系結(jié)構(gòu)。
(3)計(jì)算機(jī)工作過程
第一步:將程序和數(shù)據(jù)通過輸入設(shè)備送入存儲(chǔ)器。
第二步:啟動(dòng)運(yùn)行后,計(jì)算機(jī)從存儲(chǔ)器中取出程序指令送到控制器去識別,分析該指令要做什么事。
第三步:控制器根據(jù)指令的含義發(fā)出相應(yīng)的命令(如加法、減法),將存儲(chǔ)單元中存放的操作數(shù)據(jù)取出送往運(yùn)算器進(jìn)行運(yùn)算,再把運(yùn)算結(jié)果送回存儲(chǔ)器指定的單元中。
第四步:當(dāng)運(yùn)算任務(wù)完成后,就可以根據(jù)指令將結(jié)果通過輸出設(shè)備輸出。
指令
指令是用來規(guī)定計(jì)算機(jī)執(zhí)行的操作和操作對象所在存儲(chǔ)位置的一個(gè)二進(jìn)制位串。
指令的格式
一條指令由操作碼和地址碼兩部分組成。 例如二地址指令格式如下: 操作碼 地址碼1 地址碼2 操作碼:用來指出計(jì)算機(jī)應(yīng)執(zhí)行何種操作的一個(gè)二進(jìn)制代碼。 具體說明指令的性質(zhì)或功能,每條指令只有一個(gè)操作碼 。 例如,加法、減法、乘法、除法、取數(shù)、存數(shù)等各種基本操作均有各自相應(yīng)的操作碼。 地址碼: 指出該指令所操作(處理)的對象(稱為操作數(shù))所在存儲(chǔ)單元的地址。 包括著操作數(shù)的來源,結(jié)果的去向或下一條指令的地址等信息,不同指令中地址碼的個(gè)數(shù)可以不一樣。
指令系統(tǒng)
定義 一臺(tái)計(jì)算機(jī)所能識別并執(zhí)行的全部指令的集合,稱為該臺(tái)計(jì)算機(jī)的指令系統(tǒng)。指令系統(tǒng)中有數(shù)以百計(jì)的不同指令。
指令的分類:
1,數(shù)據(jù)傳送指令:用于把存儲(chǔ)器或寄存器中的某個(gè)操作數(shù)復(fù)制到指定的存儲(chǔ)單元或寄存器中去。
例如: MOV CL,05H
解釋:將05H保存到寄存器CL中
2,算術(shù)運(yùn)算指令:用于完成兩個(gè)操作數(shù)的加、減、乘、除等各種算術(shù)運(yùn)算。
例如: CX=0029H,SI=04EDH,執(zhí)行指令A(yù)DD SI,CX之后
將寄存器SI中存儲(chǔ)的數(shù)04EDH和寄存器CX中存儲(chǔ)的數(shù)0029H相加,
并把結(jié)果存在寄存器SI中
驗(yàn)算過程如下:
0029H
+ 04EDH
0516H
結(jié)果SI=0516H
3,邏輯運(yùn)算指令:用于完成兩個(gè)操作數(shù)的邏輯加、邏輯乘、按位加等各種邏輯運(yùn)算。
例如:按位求反指令
BL=FBH,執(zhí)行指令NOT BL后,
BL=(11111011)2
取反后BL=(00000100)2=04H
4,移位運(yùn)算指令:用于完成指定操作數(shù)的各種類型的移位操作。
5,位與位串操作:計(jì)算機(jī)中越來越重視非數(shù)值數(shù)據(jù)的操作,包括位與位串的裝入、存儲(chǔ)、傳送比較、重復(fù)執(zhí)行等,也可包括位串的插入、型存取。
6,控制與轉(zhuǎn)移指令:通常程序中的指令多數(shù)是依次序一條條的順序執(zhí)行,但根據(jù)指令執(zhí)行的結(jié)果,也可以跳到其他指令或其他程序段去執(zhí)行。具有這種功能的就是各種類型的轉(zhuǎn)移指令。
7,輸入/輸出指令:在微機(jī)中,往往把輸入/輸出設(shè)備中與主機(jī)可交換數(shù)據(jù)的寄存器稱為I/O端口。同時(shí),把各個(gè)I/O端口統(tǒng)一編址。使用輸入/輸出指令,就可以去存取各種外部設(shè)備的I/O端口,實(shí)現(xiàn)數(shù)據(jù)的輸入/輸出。
8,其它指令:包括各種處理器控制指令,它們往往由操作系統(tǒng)專用。
兼容性問題
每種CPU都有自己獨(dú)特的指令系統(tǒng),用某一類計(jì)算機(jī)的機(jī)器語言編制的程序難以在其他各類計(jì)算機(jī)上運(yùn)行,這個(gè)問題稱之為指令不兼容。 向下兼容: 如586機(jī)器語言向下兼容486機(jī)器語言程序。
指令精簡問題 精簡指令系統(tǒng)計(jì)算機(jī)RISC。
--------------------------------------------------------------------------------
程序
為解決某一問題而設(shè)計(jì)的一系列指令稱為程序。 程序和相關(guān)數(shù)據(jù)存放在存儲(chǔ)器中,計(jì)算的工作就是執(zhí)行存放在存儲(chǔ)器中的程序。 計(jì)算機(jī)運(yùn)行程序的過程就是一條一條地執(zhí)行指令的過程。
程序的執(zhí)行又自動(dòng)地控制著整個(gè)計(jì)算機(jī)的全部操作。 這就是50年前美國數(shù)學(xué)家馮·諾依曼提出的程序存儲(chǔ)和程序控制的思想。這也是目前計(jì)算機(jī)的基本工作方式。
指令的執(zhí)行
一條指令的執(zhí)行過程大體如下:
(1)指令預(yù)取部件向指令快存提取一條指令,若快存中沒有,則向總線接口部件發(fā)出請求,要求訪問存儲(chǔ)器,取得一條指令;
(2)總線接口部件在總線空閑時(shí),通過總線從存儲(chǔ)器中取出一條指令,放入快存和指令預(yù)取部件;
(3)指令譯碼部件從指令預(yù)取部件中取得該指令,并把它翻譯成起控制作用的微碼;
(4)地址轉(zhuǎn)換與管理部件負(fù)責(zé)計(jì)算出該指令所使用的操作數(shù)的有效物理地址,需要時(shí),請求總線接口部件,通過總線從存儲(chǔ)器中取得該操作數(shù);
(5)執(zhí)行單元按照指令操作碼的要求,對操作數(shù)完成規(guī)定的運(yùn)算處理,并根據(jù)運(yùn)算結(jié)果修改或設(shè)置處理器的一些狀態(tài)標(biāo)志;
(6)修改地址轉(zhuǎn)換與管理部件中的指令地址,提供指令預(yù)取部件預(yù)取指令時(shí)使用。
Pentium 處理器中的流水線過程
由于Pentium中有兩個(gè)整數(shù)ALU,所以它能同時(shí)執(zhí)行兩條流水線, 這種結(jié)構(gòu)稱為“超標(biāo)量結(jié)構(gòu)”(Superscalar)。