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