周山
【摘 要】HCDFG-Ⅱ-面向C语言系统,是一种技术性和专业性很强的编程系统。由于C语言是一种专业的计算机语言,因此,这种语言系统需要被描述和控制。技术人员只有采取科学、合理的描述和控制措施,并适当用数据流图对系统加以表示,才能使得这种计算机语言系统更好地被人们理解。因此,本文着重探讨HCDFG-Ⅱ-面向C语言系统描述的控制和数据流图表示。
【关键词】HCDFG-Ⅱ-面向C语言系统描述;控制;数据流图表示
【中图分类号】F224-39【文献标识码】A【文章编号】1672-5158(2013)07-0351-01
随着计算机技术的快速发展,计算机语言程序表示方式也在不断更新。HCDFG-Ⅱ-面向C语言系统描述的控制和数据流图表示,是近年来新出现的一种计算机语言程序描述和表示方式。这种方式是面向系统软件与硬件分类的中间描述方法,它吸收了层次控制方法和数据转换方法的优点,并对这两种方法进行了补充和扩展;它通过引进计算机内存的访问点,来处理语言程序中的数据组和指针结构,采用并发方式表示相应的并发构造。同时,HCDFG-Ⅱ-面向C语言系统描述的控制和数据流图表示采用了控制流的内部构造,方便了数据语言的转换,为计算机系统的软件和硬件分类提供了更加精确的信息。
一、系统描述控制和数据流图表示的必要性
计算机芯片,是集成电路中的核心组成部分。随着计算机电路内部结构的完善和总体规模的扩大,电路内部芯片的构造也越来越复杂;芯片已经成为相关领域学者们研究的重点。如果将整个计算机程序编入到一个独立的芯片之中,那么计算机程序算法的复杂性将会大大增加,这会给计算机语言的设计者带来全新的挑战。要想实现计算机软件和硬件的协调工作,就必须首先正确划分计算机软件和硬件;然而,近年来,人们的研究重点集中在分类算法的改进方面,很少有学者研究分类算法的输入方式问题。事实上,衡量一个计算机系统能否高效有序运转,一个重要的标准就是计算机软件和硬件的分类算法是否科学,这种算法得出的信息是否精确。
计算机软件和硬件协调工作模式设计的出发点,应该是对计算机系统的功能进行科学表述。设计人员通常采用专业的设计语言,如C语言来描述这种系统功能,并使用手动或者自动的工具来进行表示方式的中间转换。研究一种新型的语言系统描述和控制方法,有利于提高分类算法的精确程度,并帮助人们完善系统功能。HCDFG-Ⅱ-面向C语言系统描述的控制和数据流图表示,既适应了计算机C语言的编程特点,方便了语言程序之间的转换,又适应了不同的软件和硬件分类算法,为计算机系统提供了运算需要的各种信息。
二、HCDFG-Ⅱ内部结构
HCDFG-Ⅱ是面向计算机软件和硬件分类的表示方法,它的基础是计算机C语言描述,它是一种中间描述方式。HCDFG-Ⅱ的内部结构适应了C语言和其他计算机语言之间的差异性转化需要。具体而言,HCDFG-Ⅱ的内部结构主要包括内存的访问点和并发构造两部分:前者主要用来处理信息和数据,方便规模较大的数据群组的处理;后者主要用来表示计算机程序中可以并发的结构部分,确保并发执行的时间符合总的执行要求。
(一) 内存的访问点
内存中访问点的作用是处理C语言程序中的数据群组和相关指针。访问点具有很强的综合性,在通常情况下,每一个变量都对应一个存储装置,包括数据群组。如果将数据群组中的元素都看成变量,那么C语言中的数据信息就可以被赋予具体的数值。但是这样的操作方法比较复杂,会浪费操作人员的时间和精力。因此,为了适应计算机C语言的特殊性,我们可以将这种编程语言中的每个符号当做一个计算符号,用虚线来表示对应的控制信号,用实线来表示对应的数据信号,从而将对于数值的访问与赋值控制有机结合起来。
(二) 并发构造
并发构造通常存在于串联的程序中,我们可以用这样的结构来表示计算机C语言中可以并发执行的部分。例如:某个分类方案中含有三个依次被执行的结点,其中有的结点由计算机硬件负责执行,有的结点由计算机软件负责执行。如果忽略程序的并发特点,那么执行这三个点所需要耗费的总时间为三个独立执行的时间之和;然而,这三个点之间是彼此独立的关系,其中的数据没有联系,它们是可以被并发操作的。由于计算机的软件和硬件资源互相独立,彼此不存在冲突,因此,计算机的软件和硬件可以分工执行这三个访问计算机的结点。
三、HCDFG-Ⅱ-面向C语言系统描述的控制和数据流图表示
HCDFG-Ⅱ-面向C语言系统以并发操作为主要操作方式。因此,这种系统中的数据信息比较清楚。C语言程序具有串联的特性,为了使控制流程更符合这种特点,我们采用了以控制性的数据流为主要构造的结构方式,这种结构更能方便不同程序之间的互相转化。以控制性数据流为主要构造的结构,包括分支模式与循环模式两种模式,这两种模式分别应用不同的语句作为控制指令。这种数据流的构造还包括专用于操作数据的结点和专用于输出数据的结点,对于这两种结点的控制,也是系统控制中的重点部分。
用于操作数据的结点分为很多层次,这些层次包括具体操作步骤、操作语句单元、函数单元以及完整的操作程序。在HCDFG-Ⅱ模式下,内存的访问点还包括数据群组和相关指针。另外,函数的结点还可以表示函数的具体运算过程,以及从其他地方被调过来的语句模块。HCDFG-Ⅱ模式允许不同系统实现信息和数据的共享。
用于输出数据的结点也分为很多层次,输出数据的操作也需要调用C语言程序中的数据与信息,而这些被调用的数据实现方法都是一样的。HCDFG-Ⅱ通过引入函数结点来统一调用和处理信息,这些函数结点不同于旧式的操作点,因为函数结点将输入系统和输出系统的数据都表示为参数的形式。参数的具体数值要根据函数被调用的具体情况来确定。
总结
HCDFG-Ⅱ非常适合描述并控制计算机C语言的系统。这种中间表达方式保留了传统表达方式的合理之处,又对传统的表达方式进行了适当扩展。因此,HCDFG-Ⅱ更适合于计算各种数据,并给计算机的软件和硬件系统分类。目前,HCDFG-Ⅱ-面向C语言系统描述的控制和数据流图表示方法还在进一步完善的过程中,我们相信,随着计算机技术的发展,这种新型的表达方式更加成熟。
参考文献
[1] 牛亚文.边计年.吴强. HCDFG-Ⅱ-面向C语言系统描述的控制/数据流图表[J].计算机辅助设计与图形学学报,2004(11)
[2] 赵康.边计年.吴强. C语言系统描述的HCDFG-Ⅱ实现 [J].计算机工程与科学,2005(04)
[3] 雍信阳.刘坚.蔡希尧.基于C语言的系统的重新工程化问题 [J].西安电子科技大学学报,1996(12)