周山
【摘 要】HCDFG-Ⅱ-面向C語言系統(tǒng),是一種技術(shù)性和專業(yè)性很強的編程系統(tǒng)。由于C語言是一種專業(yè)的計算機語言,因此,這種語言系統(tǒng)需要被描述和控制。技術(shù)人員只有采取科學(xué)、合理的描述和控制措施,并適當(dāng)用數(shù)據(jù)流圖對系統(tǒng)加以表示,才能使得這種計算機語言系統(tǒng)更好地被人們理解。因此,本文著重探討HCDFG-Ⅱ-面向C語言系統(tǒng)描述的控制和數(shù)據(jù)流圖表示。
【關(guān)鍵詞】HCDFG-Ⅱ-面向C語言系統(tǒng)描述;控制;數(shù)據(jù)流圖表示
【中圖分類號】F224-39【文獻標(biāo)識碼】A【文章編號】1672-5158(2013)07-0351-01
隨著計算機技術(shù)的快速發(fā)展,計算機語言程序表示方式也在不斷更新。HCDFG-Ⅱ-面向C語言系統(tǒng)描述的控制和數(shù)據(jù)流圖表示,是近年來新出現(xiàn)的一種計算機語言程序描述和表示方式。這種方式是面向系統(tǒng)軟件與硬件分類的中間描述方法,它吸收了層次控制方法和數(shù)據(jù)轉(zhuǎn)換方法的優(yōu)點,并對這兩種方法進行了補充和擴展;它通過引進計算機內(nèi)存的訪問點,來處理語言程序中的數(shù)據(jù)組和指針結(jié)構(gòu),采用并發(fā)方式表示相應(yīng)的并發(fā)構(gòu)造。同時,HCDFG-Ⅱ-面向C語言系統(tǒng)描述的控制和數(shù)據(jù)流圖表示采用了控制流的內(nèi)部構(gòu)造,方便了數(shù)據(jù)語言的轉(zhuǎn)換,為計算機系統(tǒng)的軟件和硬件分類提供了更加精確的信息。
一、系統(tǒng)描述控制和數(shù)據(jù)流圖表示的必要性
計算機芯片,是集成電路中的核心組成部分。隨著計算機電路內(nèi)部結(jié)構(gòu)的完善和總體規(guī)模的擴大,電路內(nèi)部芯片的構(gòu)造也越來越復(fù)雜;芯片已經(jīng)成為相關(guān)領(lǐng)域?qū)W者們研究的重點。如果將整個計算機程序編入到一個獨立的芯片之中,那么計算機程序算法的復(fù)雜性將會大大增加,這會給計算機語言的設(shè)計者帶來全新的挑戰(zhàn)。要想實現(xiàn)計算機軟件和硬件的協(xié)調(diào)工作,就必須首先正確劃分計算機軟件和硬件;然而,近年來,人們的研究重點集中在分類算法的改進方面,很少有學(xué)者研究分類算法的輸入方式問題。事實上,衡量一個計算機系統(tǒng)能否高效有序運轉(zhuǎn),一個重要的標(biāo)準(zhǔn)就是計算機軟件和硬件的分類算法是否科學(xué),這種算法得出的信息是否精確。
計算機軟件和硬件協(xié)調(diào)工作模式設(shè)計的出發(fā)點,應(yīng)該是對計算機系統(tǒng)的功能進行科學(xué)表述。設(shè)計人員通常采用專業(yè)的設(shè)計語言,如C語言來描述這種系統(tǒng)功能,并使用手動或者自動的工具來進行表示方式的中間轉(zhuǎn)換。研究一種新型的語言系統(tǒng)描述和控制方法,有利于提高分類算法的精確程度,并幫助人們完善系統(tǒng)功能。HCDFG-Ⅱ-面向C語言系統(tǒng)描述的控制和數(shù)據(jù)流圖表示,既適應(yīng)了計算機C語言的編程特點,方便了語言程序之間的轉(zhuǎn)換,又適應(yīng)了不同的軟件和硬件分類算法,為計算機系統(tǒng)提供了運算需要的各種信息。
二、HCDFG-Ⅱ內(nèi)部結(jié)構(gòu)
HCDFG-Ⅱ是面向計算機軟件和硬件分類的表示方法,它的基礎(chǔ)是計算機C語言描述,它是一種中間描述方式。HCDFG-Ⅱ的內(nèi)部結(jié)構(gòu)適應(yīng)了C語言和其他計算機語言之間的差異性轉(zhuǎn)化需要。具體而言,HCDFG-Ⅱ的內(nèi)部結(jié)構(gòu)主要包括內(nèi)存的訪問點和并發(fā)構(gòu)造兩部分:前者主要用來處理信息和數(shù)據(jù),方便規(guī)模較大的數(shù)據(jù)群組的處理;后者主要用來表示計算機程序中可以并發(fā)的結(jié)構(gòu)部分,確保并發(fā)執(zhí)行的時間符合總的執(zhí)行要求。
(一) 內(nèi)存的訪問點
內(nèi)存中訪問點的作用是處理C語言程序中的數(shù)據(jù)群組和相關(guān)指針。訪問點具有很強的綜合性,在通常情況下,每一個變量都對應(yīng)一個存儲裝置,包括數(shù)據(jù)群組。如果將數(shù)據(jù)群組中的元素都看成變量,那么C語言中的數(shù)據(jù)信息就可以被賦予具體的數(shù)值。但是這樣的操作方法比較復(fù)雜,會浪費操作人員的時間和精力。因此,為了適應(yīng)計算機C語言的特殊性,我們可以將這種編程語言中的每個符號當(dāng)做一個計算符號,用虛線來表示對應(yīng)的控制信號,用實線來表示對應(yīng)的數(shù)據(jù)信號,從而將對于數(shù)值的訪問與賦值控制有機結(jié)合起來。
(二) 并發(fā)構(gòu)造
并發(fā)構(gòu)造通常存在于串聯(lián)的程序中,我們可以用這樣的結(jié)構(gòu)來表示計算機C語言中可以并發(fā)執(zhí)行的部分。例如:某個分類方案中含有三個依次被執(zhí)行的結(jié)點,其中有的結(jié)點由計算機硬件負責(zé)執(zhí)行,有的結(jié)點由計算機軟件負責(zé)執(zhí)行。如果忽略程序的并發(fā)特點,那么執(zhí)行這三個點所需要耗費的總時間為三個獨立執(zhí)行的時間之和;然而,這三個點之間是彼此獨立的關(guān)系,其中的數(shù)據(jù)沒有聯(lián)系,它們是可以被并發(fā)操作的。由于計算機的軟件和硬件資源互相獨立,彼此不存在沖突,因此,計算機的軟件和硬件可以分工執(zhí)行這三個訪問計算機的結(jié)點。
三、HCDFG-Ⅱ-面向C語言系統(tǒng)描述的控制和數(shù)據(jù)流圖表示
HCDFG-Ⅱ-面向C語言系統(tǒng)以并發(fā)操作為主要操作方式。因此,這種系統(tǒng)中的數(shù)據(jù)信息比較清楚。C語言程序具有串聯(lián)的特性,為了使控制流程更符合這種特點,我們采用了以控制性的數(shù)據(jù)流為主要構(gòu)造的結(jié)構(gòu)方式,這種結(jié)構(gòu)更能方便不同程序之間的互相轉(zhuǎn)化。以控制性數(shù)據(jù)流為主要構(gòu)造的結(jié)構(gòu),包括分支模式與循環(huán)模式兩種模式,這兩種模式分別應(yīng)用不同的語句作為控制指令。這種數(shù)據(jù)流的構(gòu)造還包括專用于操作數(shù)據(jù)的結(jié)點和專用于輸出數(shù)據(jù)的結(jié)點,對于這兩種結(jié)點的控制,也是系統(tǒng)控制中的重點部分。
用于操作數(shù)據(jù)的結(jié)點分為很多層次,這些層次包括具體操作步驟、操作語句單元、函數(shù)單元以及完整的操作程序。在HCDFG-Ⅱ模式下,內(nèi)存的訪問點還包括數(shù)據(jù)群組和相關(guān)指針。另外,函數(shù)的結(jié)點還可以表示函數(shù)的具體運算過程,以及從其他地方被調(diào)過來的語句模塊。HCDFG-Ⅱ模式允許不同系統(tǒng)實現(xiàn)信息和數(shù)據(jù)的共享。
用于輸出數(shù)據(jù)的結(jié)點也分為很多層次,輸出數(shù)據(jù)的操作也需要調(diào)用C語言程序中的數(shù)據(jù)與信息,而這些被調(diào)用的數(shù)據(jù)實現(xiàn)方法都是一樣的。HCDFG-Ⅱ通過引入函數(shù)結(jié)點來統(tǒng)一調(diào)用和處理信息,這些函數(shù)結(jié)點不同于舊式的操作點,因為函數(shù)結(jié)點將輸入系統(tǒng)和輸出系統(tǒng)的數(shù)據(jù)都表示為參數(shù)的形式。參數(shù)的具體數(shù)值要根據(jù)函數(shù)被調(diào)用的具體情況來確定。
總結(jié)
HCDFG-Ⅱ非常適合描述并控制計算機C語言的系統(tǒng)。這種中間表達方式保留了傳統(tǒng)表達方式的合理之處,又對傳統(tǒng)的表達方式進行了適當(dāng)擴展。因此,HCDFG-Ⅱ更適合于計算各種數(shù)據(jù),并給計算機的軟件和硬件系統(tǒng)分類。目前,HCDFG-Ⅱ-面向C語言系統(tǒng)描述的控制和數(shù)據(jù)流圖表示方法還在進一步完善的過程中,我們相信,隨著計算機技術(shù)的發(fā)展,這種新型的表達方式更加成熟。
參考文獻
[1] 牛亞文.邊計年.吳強. HCDFG-Ⅱ-面向C語言系統(tǒng)描述的控制/數(shù)據(jù)流圖表[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2004(11)
[2] 趙康.邊計年.吳強. C語言系統(tǒng)描述的HCDFG-Ⅱ?qū)崿F(xiàn) [J].計算機工程與科學(xué),2005(04)
[3] 雍信陽.劉堅.蔡希堯.基于C語言的系統(tǒng)的重新工程化問題 [J].西安電子科技大學(xué)學(xué)報,1996(12)