一種計(jì)算機(jī)指令執(zhí)行過程的可視化方法
【專利摘要】本發(fā)明涉及一種計(jì)算機(jī)指令執(zhí)行過程的可視化方法,屬于數(shù)據(jù)計(jì)算過程可視化領(lǐng)域。本發(fā)明方法首先將顯示頁面分為內(nèi)存區(qū)、中央處理器區(qū)、輸入?yún)^(qū)和顯示區(qū);主機(jī)區(qū)分為內(nèi)存區(qū)和硬盤區(qū);在內(nèi)存區(qū)和中央處理器區(qū)之間設(shè)置地址總線、控制總線和數(shù)據(jù)總線;在內(nèi)存區(qū)中設(shè)置代碼區(qū)、數(shù)據(jù)區(qū)、數(shù)據(jù)寄存器區(qū)、地址寄存器區(qū);在中央處理器區(qū)設(shè)置程序計(jì)數(shù)器區(qū)、指令寄存器區(qū)、控制器區(qū)等。輸入?yún)^(qū)設(shè)置第一操作數(shù)輸入?yún)^(qū)、第二操作數(shù)輸入?yún)^(qū)、確定控件等。然后通過模擬執(zhí)行一條加法指令,動(dòng)態(tài)的展示每一步驟得到的數(shù)據(jù)的存放位置以及數(shù)據(jù)流向,實(shí)現(xiàn)了計(jì)算機(jī)指令執(zhí)行過程的可視化。本發(fā)明方法有利于計(jì)算機(jī)學(xué)習(xí)者更快的理解計(jì)算機(jī)指令執(zhí)行過程。
【專利說明】
一種計(jì)算機(jī)指令執(zhí)行過程的可視化方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及一種計(jì)算機(jī)指令執(zhí)行過程的可視化方法,屬于數(shù)據(jù)計(jì)算過程可視化領(lǐng)域。
【背景技術(shù)】
[0002]計(jì)算機(jī)的工作方式取決于它的三個(gè)基本部件:存儲(chǔ)器、控制器和運(yùn)算器。這三個(gè)部件使得計(jì)算機(jī)具有兩個(gè)基本能力:一是能夠存儲(chǔ)數(shù)據(jù)和程序,二是能夠自動(dòng)地執(zhí)行程序。而能否用計(jì)算機(jī)求解問題并且得到滿意的結(jié)果,則取決于程序的正確和優(yōu)劣。程序是指令的集合,計(jì)算機(jī)周而復(fù)始的執(zhí)行程序中指令的過程,就是執(zhí)行程序的過程。但計(jì)算機(jī)指令在計(jì)算機(jī)內(nèi)部是如何執(zhí)行的,大多數(shù)人并不了解。因此,在計(jì)算機(jī)基礎(chǔ)知識(shí)教學(xué)過程中,需要將此過程可視化。目前在已有文獻(xiàn)中,還未查閱到計(jì)算機(jī)指令執(zhí)行過程的可視化過程的相關(guān)資料。
[0003 ]本發(fā)明涉及到的已有技術(shù)為:
[0004]指令的執(zhí)行:指令通常由操作碼和操作數(shù)兩部分組成。操作碼表示該指令的功能,如算是運(yùn)算或邏輯運(yùn)算等,存入指令寄存器。操作數(shù)表示指令要處理的數(shù)據(jù),或者數(shù)據(jù)所在的地址。整條指令以二進(jìn)制編碼的形式存放在存儲(chǔ)器中。一條指令的執(zhí)行可以分為三個(gè)階段:取指令、譯碼和執(zhí)行。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提出一種計(jì)算機(jī)指令執(zhí)行過程的可視化方法。
[0006]本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的。
[0007]—種計(jì)算機(jī)指令執(zhí)行過程的可視化方法,具體操作步驟為:
[0008]步驟1:將顯示頁面分為內(nèi)存區(qū)(RAM)、中央處理器區(qū)(CPU)、輸入?yún)^(qū)和顯示區(qū)。主機(jī)區(qū)分為內(nèi)存區(qū)和硬盤區(qū)。在內(nèi)存區(qū)和中央處理器區(qū)之間設(shè)置地址總線、控制總線和數(shù)據(jù)總線。在內(nèi)存區(qū)中設(shè)置代碼區(qū)、數(shù)據(jù)區(qū)、數(shù)據(jù)寄存器區(qū)、地址寄存器區(qū)。在中央處理器區(qū)設(shè)置程序計(jì)數(shù)器區(qū)、指令寄存器區(qū)、控制器區(qū)、第一通用寄存器區(qū)、第二通用寄存器區(qū)和算術(shù)邏輯單元。輸入?yún)^(qū)設(shè)置第一操作數(shù)輸入?yún)^(qū)、第二操作數(shù)輸入?yún)^(qū)、確定控件、取指令控件、指令譯碼控件、取數(shù)據(jù)控件、加法計(jì)算控件和重置控件。
[0009]步驟2:中央處理器區(qū)的程序計(jì)數(shù)器區(qū)中預(yù)置指令地址,所述指令地址對(duì)應(yīng)內(nèi)存區(qū)的代碼區(qū)的某一地址,用符號(hào)A表示。在內(nèi)存區(qū)的代碼區(qū)中地址A預(yù)置一條加法指令。
[0010]步驟3:在輸入?yún)^(qū)的第一操作數(shù)輸入?yún)^(qū)和第二操作數(shù)輸入?yún)^(qū)分別輸入兩個(gè)十進(jìn)制整數(shù)。
[0011 ]步驟4:點(diǎn)擊確定控件,將第一操作數(shù)和第二操作數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)并在輸入?yún)^(qū)顯示;同時(shí),將第一操作數(shù)和第二操作數(shù)的二進(jìn)制整數(shù)在內(nèi)存區(qū)的數(shù)據(jù)區(qū)顯示。
[0012]步驟5:點(diǎn)擊取指令控件,將中央處理器區(qū)的程序計(jì)數(shù)器區(qū)中預(yù)置的指令地址通過地址總線傳輸?shù)絻?nèi)存區(qū)的地址寄存器區(qū);然后從內(nèi)存區(qū)的地址A取出所述加法指令顯示在內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū);再將所述加法指令通過數(shù)據(jù)總線傳輸至中央處理器區(qū)的指令寄存器區(qū)。該步驟的數(shù)據(jù)移動(dòng)過程通過箭頭符號(hào)動(dòng)畫呈現(xiàn)。
[0013]步驟6:點(diǎn)擊指令譯碼控件,所述中央處理器區(qū)的指令寄存器區(qū)中的加法指令中的前4位顯示到中央處理器區(qū)的控制器區(qū)中。該步驟的數(shù)據(jù)復(fù)制過程通過動(dòng)畫呈現(xiàn)。
[0014]步驟7:點(diǎn)擊取數(shù)據(jù)控件,所述中央處理器區(qū)的指令寄存器區(qū)中的加法指令中的第5位至第10位通過地址總線傳輸至內(nèi)存區(qū)的地址寄存器區(qū),所述加法指令中的第5位至第10位表示第一操作數(shù)在內(nèi)存區(qū)的數(shù)據(jù)區(qū)的地址,用符號(hào)B表示;將內(nèi)存區(qū)的數(shù)據(jù)區(qū)中地址B中的數(shù)據(jù)顯示在內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū);將內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū)中的數(shù)據(jù)通過數(shù)據(jù)總線傳輸至中央處理器區(qū)的第一通用寄存器區(qū)中。該步驟的數(shù)據(jù)移動(dòng)過程通過箭頭符號(hào)動(dòng)畫呈現(xiàn)。
[0015]步驟8:再點(diǎn)擊取數(shù)據(jù)控件,所述中央處理器區(qū)的指令寄存器區(qū)中的加法指令中的第11位至第16位通過地址總線傳輸至內(nèi)存區(qū)的地址寄存器區(qū),所述加法指令中的第11位至第16位表示第二操作數(shù)在內(nèi)存區(qū)的數(shù)據(jù)區(qū)的地址,用符號(hào)C表示;將內(nèi)存區(qū)的數(shù)據(jù)區(qū)中地址C中的數(shù)據(jù)顯示在內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū);將內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū)中的數(shù)據(jù)通過數(shù)據(jù)總線傳輸至中央處理器區(qū)的第二通用寄存器區(qū)中。該步驟的數(shù)據(jù)移動(dòng)過程通過箭頭符號(hào)動(dòng)畫呈現(xiàn)。
[0016]步驟9:點(diǎn)擊加法計(jì)算控件,將中央處理器區(qū)的第一通用寄存器區(qū)和第二通用寄存器區(qū)中的數(shù)據(jù)分別傳輸至算術(shù)邏輯單元,經(jīng)過加法運(yùn)算后,將結(jié)果顯示在中央處理器區(qū)的第一通用寄存器區(qū)。同時(shí),計(jì)算結(jié)果顯示在輸入?yún)^(qū)。該步驟的數(shù)據(jù)移動(dòng)過程通過動(dòng)畫呈現(xiàn)。
[0017]通過上述步驟的操作,即可完成計(jì)算機(jī)指令執(zhí)行過程的可視化。
[0018]有益效果
[0019]本發(fā)明提出的一種計(jì)算機(jī)指令執(zhí)行過程的可視化方法,將顯示頁面分為內(nèi)存區(qū)(RAM)、中央處理器區(qū)(CPU)、輸入?yún)^(qū)和顯示區(qū),并對(duì)每個(gè)分區(qū)進(jìn)一步細(xì)分,并通過動(dòng)畫演示將指令的執(zhí)行過程在顯示頁面上實(shí)現(xiàn)可視化。本發(fā)明方法有利于計(jì)算機(jī)學(xué)習(xí)者更快的理解計(jì)算機(jī)指令的執(zhí)行過程。
【附圖說明】
[0020]圖1為本發(fā)明【具體實(shí)施方式】中步驟2操作完成后的顯示頁面示意圖;
[0021]圖2為本發(fā)明【具體實(shí)施方式】中步驟4操作完成后的顯示頁面示意圖;
[0022]圖3為本發(fā)明【具體實(shí)施方式】中步驟5操作完成后的顯示頁面示意圖;
[0023]圖4為本發(fā)明【具體實(shí)施方式】中步驟6操作完成后的顯示頁面示意圖;
[0024]圖5為本發(fā)明【具體實(shí)施方式】中步驟7操作完成后的顯示頁面示意圖;
[0025]圖6為本發(fā)明【具體實(shí)施方式】中步驟8操作完成后的顯示頁面示意圖;
[0026]圖7為本發(fā)明【具體實(shí)施方式】中步驟9操作完成后的顯示頁面示意圖。
【具體實(shí)施方式】
[0027]根據(jù)上述技術(shù)方案,下面結(jié)合附圖和實(shí)施實(shí)例對(duì)本發(fā)明進(jìn)行詳細(xì)說明。
[0028]本實(shí)例中,采用本發(fā)明提出的計(jì)算機(jī)指令執(zhí)行過程的可視化方法實(shí)現(xiàn)一條加法指令執(zhí)行過程的虛擬交互實(shí)驗(yàn)展示,具體操作步驟如下:
[0029]步驟1:將顯示頁面分為內(nèi)存區(qū)(RAM)、中央處理器區(qū)(CPU)、輸入?yún)^(qū)和顯示區(qū)。主機(jī)區(qū)分為內(nèi)存區(qū)和硬盤區(qū)。在內(nèi)存區(qū)和中央處理器區(qū)之間設(shè)置地址總線、控制總線和數(shù)據(jù)總線。在內(nèi)存區(qū)中設(shè)置代碼區(qū)、數(shù)據(jù)區(qū)、數(shù)據(jù)寄存器區(qū)、地址寄存器區(qū)。在中央處理器區(qū)設(shè)置程序計(jì)數(shù)器區(qū)、指令寄存器區(qū)、控制器區(qū)、第一通用寄存器區(qū)、第二通用寄存器區(qū)和算術(shù)邏輯單元。輸入?yún)^(qū)設(shè)置第一操作數(shù)輸入?yún)^(qū)、第二操作數(shù)輸入?yún)^(qū)、確定控件、取指令控件、指令譯碼控件、取數(shù)據(jù)控件、加法計(jì)算控件和重置控件。
[0030]步驟2:中央處理器區(qū)的程序計(jì)數(shù)器區(qū)中預(yù)置指令地址:0000 0000 00001010。所述指令地址對(duì)應(yīng)內(nèi)存區(qū)的代碼區(qū)的某一地址,用符號(hào)A表示。在內(nèi)存區(qū)的代碼區(qū)中地址A預(yù)置一條加法指令:0001 1101 0011 0110,如圖1所示。
[0031]步驟3:在輸入?yún)^(qū)的第一操作數(shù)輸入?yún)^(qū)和第二操作數(shù)輸入?yún)^(qū)分別輸入兩個(gè)十進(jìn)制整數(shù)I和2。
[0032]步驟4:點(diǎn)擊確定控件,將第一操作數(shù)和第二操作數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)并在輸入?yún)^(qū)顯示;同時(shí),將第一操作數(shù)和第二操作數(shù)的二進(jìn)制整數(shù)在內(nèi)存區(qū)的數(shù)據(jù)區(qū)顯示,如圖2所示。
[0033]步驟5:點(diǎn)擊取指令控件,將中央處理器區(qū)的程序計(jì)數(shù)器區(qū)中預(yù)置的指令地址通過地址總線傳輸?shù)絻?nèi)存區(qū)的地址寄存器區(qū);然后從內(nèi)存區(qū)的地址A取出所述加法指令顯示在內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū);再將所述加法指令通過數(shù)據(jù)總線傳輸至中央處理器區(qū)的指令寄存器區(qū)。該步驟的數(shù)據(jù)移動(dòng)過程通過箭頭符號(hào)動(dòng)畫呈現(xiàn),如圖3所示。
[0034]步驟6:點(diǎn)擊指令譯碼控件,所述中央處理器區(qū)的指令寄存器區(qū)中的加法指令中的前4位顯示到中央處理器區(qū)的控制器區(qū)中。該步驟的數(shù)據(jù)復(fù)制過程通過動(dòng)畫呈現(xiàn),如圖4所不O
[0035]步驟7:點(diǎn)擊取數(shù)據(jù)控件,所述中央處理器區(qū)的指令寄存器區(qū)中的加法指令中的第5位至第10位通過地址總線傳輸至內(nèi)存區(qū)的地址寄存器區(qū),所述加法指令中的第5位至第10位表示第一操作數(shù)在內(nèi)存區(qū)的數(shù)據(jù)區(qū)的地址,用符號(hào)B表示;將內(nèi)存區(qū)的數(shù)據(jù)區(qū)中地址B中的數(shù)據(jù)顯示在內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū);將內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū)中的數(shù)據(jù)通過數(shù)據(jù)總線傳輸至中央處理器區(qū)的第一通用寄存器區(qū)中。該步驟的數(shù)據(jù)移動(dòng)過程通過箭頭符號(hào)動(dòng)畫呈現(xiàn),如圖5所示。
[0036]步驟8:再點(diǎn)擊取數(shù)據(jù)控件,所述中央處理器區(qū)的指令寄存器區(qū)中的加法指令中的第11位至第16位通過地址總線傳輸至內(nèi)存區(qū)的地址寄存器區(qū),所述加法指令中的第11位至第16位表示第二操作數(shù)在內(nèi)存區(qū)的數(shù)據(jù)區(qū)的地址,用符號(hào)C表示;將內(nèi)存區(qū)的數(shù)據(jù)區(qū)中地址C中的數(shù)據(jù)顯示在內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū);將內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū)中的數(shù)據(jù)通過數(shù)據(jù)總線傳輸至中央處理器區(qū)的第二通用寄存器區(qū)中。該步驟的數(shù)據(jù)移動(dòng)過程通過箭頭符號(hào)動(dòng)畫呈現(xiàn),如圖6所示。
[0037]步驟9:點(diǎn)擊加法計(jì)算控件,將中央處理器區(qū)的第一通用寄存器區(qū)和第二通用寄存器區(qū)中的數(shù)據(jù)分別傳輸至算術(shù)邏輯單元,經(jīng)過加法運(yùn)算后,將結(jié)果顯示在中央處理器區(qū)的第一通用寄存器區(qū)。同時(shí),計(jì)算結(jié)果顯示在輸入?yún)^(qū)。該步驟的數(shù)據(jù)移動(dòng)過程通過動(dòng)畫呈現(xiàn),如圖7所示。
[0038]通過上述步驟的操作,即可完成計(jì)算機(jī)指令執(zhí)行過程的可視化。
[0039]雖然結(jié)合附圖描述了本發(fā)明的實(shí)施方式,但是對(duì)于本領(lǐng)域技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn),這些也應(yīng)視為屬于本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種計(jì)算機(jī)指令執(zhí)行過程的可視化方法,其特征在于:其具體操作步驟為: 步驟1:將顯示頁面分為內(nèi)存區(qū)、中央處理器區(qū)、輸入?yún)^(qū)和顯示區(qū);主機(jī)區(qū)分為內(nèi)存區(qū)和硬盤區(qū);在內(nèi)存區(qū)和中央處理器區(qū)之間設(shè)置地址總線、控制總線和數(shù)據(jù)總線;在內(nèi)存區(qū)中設(shè)置代碼區(qū)、數(shù)據(jù)區(qū)、數(shù)據(jù)寄存器區(qū)、地址寄存器區(qū);在中央處理器區(qū)設(shè)置程序計(jì)數(shù)器區(qū)、指令寄存器區(qū)、控制器區(qū)、第一通用寄存器區(qū)、第二通用寄存器區(qū)和算術(shù)邏輯單元;輸入?yún)^(qū)設(shè)置第一操作數(shù)輸入?yún)^(qū)、第二操作數(shù)輸入?yún)^(qū)、確定控件、取指令控件、指令譯碼控件、取數(shù)據(jù)控件、加法計(jì)算控件和重置控件; 步驟2:中央處理器區(qū)的程序計(jì)數(shù)器區(qū)中預(yù)置指令地址,所述指令地址對(duì)應(yīng)內(nèi)存區(qū)的代碼區(qū)的某一地址,用符號(hào)A表示;在內(nèi)存區(qū)的代碼區(qū)中地址A預(yù)置一條加法指令; 步驟3:在輸入?yún)^(qū)的第一操作數(shù)輸入?yún)^(qū)和第二操作數(shù)輸入?yún)^(qū)分別輸入兩個(gè)十進(jìn)制整數(shù);步驟4:點(diǎn)擊確定控件,將第一操作數(shù)和第二操作數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)并在輸入?yún)^(qū)顯示;同時(shí),將第一操作數(shù)和第二操作數(shù)的二進(jìn)制整數(shù)在內(nèi)存區(qū)的數(shù)據(jù)區(qū)顯示; 步驟5:點(diǎn)擊取指令控件,將中央處理器區(qū)的程序計(jì)數(shù)器區(qū)中預(yù)置的指令地址通過地址總線傳輸?shù)絻?nèi)存區(qū)的地址寄存器區(qū);然后從內(nèi)存區(qū)的地址A取出所述加法指令顯示在內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū);再將所述加法指令通過數(shù)據(jù)總線傳輸至中央處理器區(qū)的指令寄存器區(qū);該步驟的數(shù)據(jù)移動(dòng)過程通過箭頭符號(hào)動(dòng)畫呈現(xiàn); 步驟6:點(diǎn)擊指令譯碼控件,所述中央處理器區(qū)的指令寄存器區(qū)中的加法指令中的前4位顯示到中央處理器區(qū)的控制器區(qū)中;該步驟的數(shù)據(jù)復(fù)制過程通過動(dòng)畫呈現(xiàn); 步驟7:點(diǎn)擊取數(shù)據(jù)控件,所述中央處理器區(qū)的指令寄存器區(qū)中的加法指令中的第5位至第10位通過地址總線傳輸至內(nèi)存區(qū)的地址寄存器區(qū),所述加法指令中的第5位至第10位表示第一操作數(shù)在內(nèi)存區(qū)的數(shù)據(jù)區(qū)的地址,用符號(hào)B表示;將內(nèi)存區(qū)的數(shù)據(jù)區(qū)中地址B中的數(shù)據(jù)顯示在內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū);將內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū)中的數(shù)據(jù)通過數(shù)據(jù)總線傳輸至中央處理器區(qū)的第一通用寄存器區(qū)中;該步驟的數(shù)據(jù)移動(dòng)過程通過箭頭符號(hào)動(dòng)畫呈現(xiàn);步驟8:再點(diǎn)擊取數(shù)據(jù)控件,所述中央處理器區(qū)的指令寄存器區(qū)中的加法指令中的第11位至第16位通過地址總線傳輸至內(nèi)存區(qū)的地址寄存器區(qū),所述加法指令中的第11位至第16位表示第二操作數(shù)在內(nèi)存區(qū)的數(shù)據(jù)區(qū)的地址,用符號(hào)C表示;將內(nèi)存區(qū)的數(shù)據(jù)區(qū)中地址C中的數(shù)據(jù)顯示在內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū);將內(nèi)存區(qū)的數(shù)據(jù)寄存器區(qū)中的數(shù)據(jù)通過數(shù)據(jù)總線傳輸至中央處理器區(qū)的第二通用寄存器區(qū)中;該步驟的數(shù)據(jù)移動(dòng)過程通過箭頭符號(hào)動(dòng)畫呈現(xiàn); 步驟9:點(diǎn)擊加法計(jì)算控件,將中央處理器區(qū)的第一通用寄存器區(qū)和第二通用寄存器區(qū)中的數(shù)據(jù)分別傳輸至算術(shù)邏輯單元,經(jīng)過加法運(yùn)算后,將結(jié)果顯示在中央處理器區(qū)的第一通用寄存器區(qū);同時(shí),計(jì)算結(jié)果顯示在輸入?yún)^(qū);該步驟的數(shù)據(jù)移動(dòng)過程通過動(dòng)畫呈現(xiàn);通過上述步驟的操作,即可完成計(jì)算機(jī)指令執(zhí)行過程的可視化。
【文檔編號(hào)】G06F9/44GK105930155SQ201610244997
【公開日】2016年9月7日
【申請(qǐng)日】2016年4月19日
【發(fā)明人】李鳳霞, 趙三元, 雷正朝, 劉永繼, 張王成, 王清云
【申請(qǐng)人】北京理工大學(xué)