計算機程序的執(zhí)行過程_第1頁
計算機程序的執(zhí)行過程_第2頁
計算機程序的執(zhí)行過程_第3頁
計算機程序的執(zhí)行過程_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、一.計算機程序的執(zhí)行過程程序就是指令的集合為使計算機按預(yù)定要求工作,首先要編制程序.程序是一個特定的指令序列,它告訴計算機要做哪些事,按什么步驟去 做.指令是一組二進制信息的代碼,用來表示計算機所能完成的根本操作.1.程序程序是為求解某個特定問題而設(shè)計的指令序列.程序中的每條指令規(guī)定機器完成一組根本操作.如果把計算機完成一次 任務(wù)的過程比作樂隊的一次演奏,那么限制器就好比是一位指揮,計算機的其它功能部件就好比是各種樂器與演員,而 程序就好似是樂譜.計算機的工作過程就是執(zhí)行程序的過程,或者說,限制器是根據(jù)程序的規(guī)定對計算機實施限制的. 例如,對于算式r a+bh"口a+ 1 b 1 =

2、-a-bb<0計算機的解題步驟可作如下安排:步驟1 :取a ;步驟2 :取b ;步驟3:判斷;.假設(shè)b>0,執(zhí)行步驟4.假設(shè)b<0,執(zhí)行步驟6步驟4 :執(zhí)行a+ b;步驟5 :轉(zhuǎn)步驟7 ;步驟6 :執(zhí)行a b;步驟7 :結(jié)束.計算機的工作過程可歸結(jié)為:取指令-分析指令-執(zhí)行指令一再取下一條指令,直到程序結(jié)束的反復循環(huán)過程.通常把其中的一次循環(huán)稱為計算機的一個指令周期.總之,我們可把程序?qū)τ嬎銠C的限制歸結(jié)為每個指令周期中指令對計算 機的限制.2 .指令程序是由指令組成的.指令是機器所能識別的一組編制成特定格式的代碼串,它要求機器在一個規(guī)定的時間段指令 周期內(nèi),完成一組特定的操作

3、. 指令的根本格式可歸結(jié)為操作碼 OP和操作數(shù)地址AD兩局部,具體內(nèi)容是:指出計算機應(yīng)完成的一組操作內(nèi)容,如傳送MOV、加法ADD、減法SUB、輸出、停機HLT、條 件轉(zhuǎn)移JZ等.這局部稱為指令的操作碼局部.兩個操作數(shù)的地址和存放結(jié)果的地址及尋址方式.為保證程序執(zhí)行的連續(xù)性,在執(zhí)行當前指令時,還需指出下一條指令的地址.由于指令在存儲器中一般是順序存放的,所以只要設(shè)置一個指令指針I(yè)P,每執(zhí)行一條指令,IP自動加1,便自動指出下一條指令的地址,而不必在指 令中專門指出下一條指令的地址.只有在轉(zhuǎn)移指令中才指出下一條指令的地址.此時,IP的內(nèi)容將隨轉(zhuǎn)移指令所指示的內(nèi)容改變.3 .指令的執(zhí)行指令規(guī)定的內(nèi)

4、容是通過限制器執(zhí)行的,或者說限制器是根據(jù)一條指令的內(nèi)容指揮操作的.限制器的功能定序功能一一保證按程序規(guī)定的順序執(zhí)行指令. 定時功能一一計算機處理信息是通過信息在計算機的邏輯電路中的流通完成的.為保證計算機工作的準確性,控 制器要為計算機 中的各部件提供統(tǒng)一節(jié)拍,使各條指令及組成每條指令的各根本操作通常稱為微操作都嚴格地按規(guī)定的時間有條不紊地自動執(zhí)行. 操作限制功能一一限制器應(yīng)能根據(jù)指令規(guī)定的內(nèi)容,在相應(yīng)的節(jié)拍向有關(guān)部件發(fā)出操作限制信號.限制器的組成在限制器中,上述功能分別由指令部件、時序部件和操作限制部件來完成.它們的組成如圖1-8所示操作限制信號地址 單元圖1 «限制器工作探理圖指

5、令部件:指令部件的主要功能是取指令和分析指令.它由指令指針I(yè)P 也叫指令計數(shù)器IC或程序計數(shù)器PC、指令存放器IR、指令譯碼器、地址計算部件組成.其中:射旨令指針I(yè)P的功能是指出當前指令的地址.它有加1功能,通常每取一條指令后自動加1 ,以指出下條指令的地址. 遇到特殊情況如轉(zhuǎn)移可通過地址計算部件形成下一條指令的地址.射旨令存放器IR保存由存儲器取來的指令,并分別把操作碼 OP和操作數(shù)地址AD送指令譯碼和地址計算部件.附旨令譯碼器也稱操作碼譯碼器.它按操作碼的內(nèi)容向操作限制部件提供相應(yīng)的操作電信號.地址計算部件的作用是對指令中地址碼進行變址、間址等運算,求出的操作數(shù)地址送存儲器以取出數(shù)據(jù);或者

6、把轉(zhuǎn)移指令中指出的下一條指令地址送IP.時序部件:時序部件也叫節(jié)拍發(fā)生器,它能為各部件提供一個時間基準.時鐘頻率如800MHz, 1GHz, 2 GHz,2.4 GHz , 3 GHz越高,計算機的工作速度就越快.操作限制部件:該部件的功能是根據(jù)指令譯碼器的規(guī)定內(nèi)容,在規(guī)定的節(jié)拍內(nèi)向有關(guān)部件發(fā)出操作限制信號.指令的執(zhí)行過程通常,計算機執(zhí)行一條指令的步驟如下: 把指令指針I(yè)P中的指令地址送存儲器,從該地址取出指令送指令存放器IR; 地址計算部件,根據(jù)IR中的地址碼形成操作數(shù)地址送存儲器,從該地址取出數(shù)據(jù),送到運算器中的存放器或寄 存器組; 將IR中的操作碼OP送指令譯碼器進行譯碼; 在限制器發(fā)出

7、的操作信號的限制下,計算機各有關(guān)部件執(zhí)行操作碼OP規(guī)定的操作;指令指針I(yè)P加1,形成下一條指令地址.如遇到轉(zhuǎn)移指令,那么按轉(zhuǎn)移指令對狀態(tài)標志存放器測試的結(jié)果,決定是 否將轉(zhuǎn)移指令中指出的指令地址送指令指針 IP o4.計算機的解題過程要使計算機按預(yù)定要求工作,首先要編制程序.程序是一個特定的指令序列,它告訴計算機要做哪些事,按什么步驟去做.指令是一組二進制信息的代碼,用來表示計算機所能完成的根本操作.不同的計算機所包含指令的種類和數(shù)目是不同的,通常把一臺計算機所能執(zhí)行的各類指令的集合,稱為該機的指令系統(tǒng). 因此,在機器一級的程序設(shè)計,就是按 照解題要求在機器指令系統(tǒng)中選擇并有序組合解題需要的指

8、令序列的過程.使用計算機解題大致要經(jīng)過程序設(shè)計 一輸入程序-執(zhí)行程序等步驟.現(xiàn)以計算 a+b-c為例來說明這一過程.設(shè)a、b、c為的三個數(shù),分別存放在主存的 57號單元中,結(jié)果將存放在主存的8號單元.假設(shè)采用單累加器結(jié)構(gòu)的 運算器,要完成上述計算至少需要5條指令,這5條指令依次存放在主存的04號單元中,參加運算的數(shù)也必須存放在 主存指定的單元中,主存中有關(guān)單元的內(nèi)容如圖 1-9(a)所示.運算器的簡單框圖如圖1-9(b)所示,圖中參加運算的一個 操作數(shù)來自累加器,另一個來自主存,運算結(jié)果那么放在累加器中.000102030405060703圖1-9計苴懶行過程舉例計算機的限制器將限制指令的逐條

9、、依次執(zhí)行,最終得到正確的結(jié)果.具體步驟如下:執(zhí)行取數(shù)指令,從主存5號單元取出數(shù)a,送入累加器中.執(zhí)行加法指令,將累加器中的內(nèi)容 a與從主存6號單元取出的數(shù)b 一起送到算術(shù)邏輯部件ALU (Arithmetic Logic Unit, ALU)中相加,結(jié)果a+b保存在累加器中. 執(zhí)行減法指令,將累加器中的內(nèi)容 a+b與從主存7號單元取出的數(shù)c一起送到算術(shù)邏輯部件ALU中相減,結(jié)果 a+bc保存在累加器中. 執(zhí)行存數(shù)指令,把累加器中的內(nèi)容 a+b-c存至主存8號單元.執(zhí)行停機指令,計算機停止工作.二.編譯型和解釋型語言將高級語言譯成機器語言有兩種方式:編譯和解釋.二者區(qū)別在于譯的時間不同.編譯型

10、語言:程序在執(zhí)行之前需要一個專門的編譯過程,把程序編譯成為機器語言的文件,運行時不需要重新譯,直接使用編譯的結(jié)果就行了.因此效率比擬高.比方C語言.解釋型語言:程序不需要編譯,程序在運行時才譯成機器語言,每執(zhí)行一次都要譯一次.因此效率比擬低.比方Basic語言,專門有一個解釋器能夠直接執(zhí)行Basic程序,每個語句都是執(zhí)行的時候才譯.C語言是編譯型的.Java比擬特殊,Java程序也需要編譯,但是沒有直接編譯成機器語言,而是編譯成字節(jié)碼,然后用解釋方式執(zhí)行字節(jié)碼.C程序一一 機器語言編譯Java程序一一 字節(jié)碼編譯一一 機器語言解釋指令是由0和1組成的一組具有 根據(jù)當前硬件狀態(tài)而改變計算機硬件狀態(tài)為目地的二進制代碼.簡單的說計算機就是電 路的狀態(tài)的表現(xiàn).計算機是一種思想 限制、輸入輸出、處理、存儲從一個人的處理事件的角度上說是符合人類的處理 方式.所以計算機是一種以人類處理事物思想的產(chǎn)物.計算機能按部就班的工作是依靠它的內(nèi)部電路的狀態(tài)如 存放器,在計算機內(nèi)一條指令可以理解成改變這些電路狀態(tài) 的二進制代碼,當然改變是根據(jù)硬件當時的狀態(tài)來改變的,比方果1+1的計算機內(nèi)部,1這個值是一種電路狀態(tài),通過一組邏輯電路把兩組電路的狀態(tài)重新組

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論