1.指令和程序
根據(jù)馮·諾依曼機(jī)關(guān)于“存儲(chǔ)程序”的概念,計(jì)算機(jī)的工作過程實(shí)際上就是執(zhí)行指令和程序的過程。
指令是指計(jì)算機(jī)完成某個(gè)基本操作的命令,由操作碼和操作數(shù)兩個(gè)部分組成。操作碼表示計(jì)算機(jī)要完成的操作,如取數(shù)、加法等;操作數(shù)表示要操作對(duì)象的內(nèi)容或所在單元的地址。如ADD AX,BX,此處的ADD為操作碼(代表加法運(yùn)算),后面的AX與BX為操作數(shù)。
一臺(tái)計(jì)算機(jī)所能執(zhí)行的全部指令的集合,稱為這臺(tái)計(jì)算機(jī)的指令系統(tǒng)。不同種類的計(jì)算機(jī),其指令系統(tǒng)的指令數(shù)目與格式也不同。指令系統(tǒng)越豐富完備,編制程序就越方便靈活。根據(jù)各條指令功能的不同,一般指令系統(tǒng)可分為數(shù)據(jù)傳送、數(shù)據(jù)處理、程序控制、輸入輸出、狀態(tài)管理五種類型。
程序是指能完成特定功能的一組指令(計(jì)算機(jī)高級(jí)語言稱為語句)的有序集合。計(jì)算機(jī)按照程序設(shè)定的指令依次執(zhí)行,并完成對(duì)應(yīng)的一系列操作,這就是程序執(zhí)行的過程。
2.計(jì)算機(jī)的工作原理
按照馮·諾依曼存儲(chǔ)程序的原理,人們預(yù)先編好程序,利用輸入設(shè)備把程序輸入內(nèi)存,計(jì)算機(jī)在控制器控制下,從內(nèi)存中逐條取出程序指令給運(yùn)算器執(zhí)行。把結(jié)果送回內(nèi)存,再由輸出設(shè)備輸出。
一般地,一條指令的執(zhí)行過程如下:
① 取指令:根據(jù)當(dāng)前控制器中程序計(jì)數(shù)器的指令起始地址值,從內(nèi)存中取出指令送到控制器的指令寄存器存儲(chǔ)起來。
② 分析指令:將指令寄存器中存放的指令送往指令譯碼器,對(duì)操作碼進(jìn)行譯碼,即將指令的操作碼轉(zhuǎn)換成相應(yīng)的控制電位信號(hào),由地址碼確定操作數(shù)地址。
③ 執(zhí)行指令:由操作控制部件發(fā)出完成該操作所需要的一系列控制信息,驅(qū)動(dòng)相應(yīng)部件完成該指令所要求的操作。
④ 程序計(jì)數(shù)器自動(dòng)加1:為執(zhí)行下一條指令做好準(zhǔn)備,即形成下一條指令地址。
一般把計(jì)算機(jī)完成一條指令所花費(fèi)的時(shí)間稱為一個(gè)指令周期,指令周期越短,指令執(zhí)行越快。通常人們所說的CPU主頻或又叫工作頻率,就反映了指令執(zhí)行周期的長(zhǎng)短。
計(jì)算機(jī)的工作就是執(zhí)行程序,即自動(dòng)、連續(xù)地執(zhí)行一系列指令,而程序開發(fā)人員的工作就是編制程序。