模拟冯.诺依曼计算机

来源:互联网 发布:淘宝买隐形眼镜放心吗 编辑:程序博客网 时间:2024/04/28 07:41

(值此中秋佳节之际,祝愿天下所有为理想奋斗着、努力着、梦想着的人心想事成)

道指令不但可以模拟图灵机、元胞自动机、神经元、基因等的工作过程,还可以模拟冯.诺依曼计算机,现在要利用道指令编制模拟冯.诺依曼计算机的道程序。

19456月,冯诺依曼提出了在数字计算机内部的存储器中存放程序的概念(Stored Program Concept),这是所有现代电子计算机的范式,被称为“冯 诺依曼结构”,按这一结构建造的电脑称为存储程序计算机(Stored Program Computer),又称为通用计算机。冯诺依曼计算机主要由运算器、控制器、存储器和输入输出设备组成,它的的特点是:程序以二进制代码的形式存放在存储器中;所有的指令都是由操作码和地址码组成;指令在其存储过程中按照执行的顺序;以运算器和控制器作为计算机结构的中心等(网上资料)

上述冯诺依曼的关键在存储指令顺序执行,全并行的道指令要模拟顺序执行的诺依曼模型指令就必须让道指令按顺序执行。这个过程就像齐宣王的吹竽的乐师们一样,奏乐时300个人一起演奏,而换了齐宣王的儿子后,乐师们却要一个一个排队轮流来演奏。让道指令按顺序执行也要乐师们像排队演奏:

首先,对各道指令按顺序进行排队,每个道指令分配一个不同令牌,在每条道指令的激活部分(阳)加入令牌,如:

[sdfsd,sdfsd,sdfsdf][]变换为:

[令牌12321sdfsd,sdfsd,sdfsdf][令牌1]

并且道指令的生成结果部分加入下一条道指令的令牌生成等式,如:

-〉(dfds=23,sdafdsf=sdfsd. 变换为:

-〉(dfds=23,sdafdsf=sdfsd, 令牌2.

上述转换过程虽然不会很麻烦,但对有大量的道指令的程序还是一个不小的工作量,这种工作应该让机器自动为我们做变换工作。对顺序执行的道指令段,采用“(.)”括号括起来,如:

[wr6u6efsdf,sd567fs23d,sd567fd]<>

[]->adfds=758;

[]->adf23ds=709;

[wefsdf,sdfs23d,sdfd]<>->adf234ds=7890;if条件表达式)

[]->adfd234s=789;

)

表示:当“(.)”前面的表达式满足时,“(.)”顺序执行,道编译器自动为做上述的变换工作。道指令经过变换后,道cpu也可作如下优化:不用取出全部道指令执行,仅取出当前活动令牌所指的道指令(可以设置活动令牌专用寄存器即指令寄存器),并取出该道指令所要求的数据后,该道指令才开始执行。这样一来,这个道cpu就会退化为平常顺序指令cpu,道指令也就会退化为普通的顺序指令。我们可以再进一步模拟多发射功能、并行运算、指令转移预测等功能,这方面道指令比顺序指令更能胜任。

上述描述了道cpu、道指令转变为平常顺序指令cpu及顺序指令,这个过程是非常明显易懂的,虽然有些无关大碍的细节还必须细化,但已经显示道指令不但能适应未来计算,而且能够满足当前计算的需求。

并行、多核时代已经降临,串行顺序指令已经阻碍了并行、多核的进一步发展,只有开发全并行的道指令技术,并行、多核才会为我们真正带来全新的计算前景。

原创粉丝点击