编程语言与并行架构之间是什么关系?
计算模型的理论是比编程语言和计算机体系结构方法更高层次的抽象。
编程语言可以被认为是一种规范工具,它使计算任务的系统适用,其中假定了一个特定的计算模型。
计算机体系结构可以被认为是执行计算模型或实现使用编程语言定义的给定计算任务的工具,其中给定了一个特定的计算模型。
为了演示这些关系,可以考虑与冯·诺依曼计算模型相比较的编程语言和计算机体系结构的基本特征。
对应于此模型的编程语言应该能够声明变量,并通过使用理想的指令集在计算期间根据需要多次操作其值。
此外,该语言必须支持控制指令,以启用对执行序列的显式控制。满足这些需求的语言被称为命令式语言。最广泛使用的语言,包括C、PASCAL、FORTRAN等,都是命令式语言。
很容易看出,冯·诺依曼体系结构适合冯·诺依曼计算模型。变量在内存或寄存器中实现为可寻址位置,因此可以根据需要多次更改其值。通过将指令存储在内存中并声明一个称为程序计数器的指针来实现顺序控制,该指针指示首先执行的指令。
最后,应该指出,新的计算模型及其相应的编程语言和体系结构通常按照以下顺序演变:计算模型、编程语言、计算机体系结构,如图所示。
为了强调这一点,我们引用了关于数据流操作原理(Karp 和 Miller,1966)、数据流(单赋值)语言(Tesler 和 Enea,1968)和数据流体系结构的文献的发表日期,作为论文设计(Dennis 和 Misunas,1975,Arvind 和 Gostelow,1977)以及作为工作的实验机器,例如 1977 年的 DDM1(Davis,1978)或 1979 年的 LAU(Gurud 等人,1987)。
广告