信息处理基本原理-设计4

信息cpu的指令确定为如下的形式后:
[
原信息1, 原信息2, 原信息3][ 原信息4, 原信息5]< 原信息6, 原信息7, 原信息8><原信息9, 原信息10>->生成信息。
(是否可以增加一个选择信息组形式以便减少编程时所用的指令的数量)
接下来的工作就是设计可运行的cpucpu既然是为了执行设计的指令的,我们必须规范信息和指令运行时行为,使得cpu设计有章可循。
暂定如下规范:
1
、既取消指令指针,全部指令并行运行(包括函数、过程中的指令)。
2
、取消循环结构,全部指令一直循环运行。
3
、取消地址,数据以符号代替(可以增加数组结构的符号表示)。
4
、取消数据类型计算,数据类型计算蕴含于程序函数中。
5
、信息可选永久保存在存储介质上。
6
、信息可选赋值形式。
采取上述信息和指令运行时行为规范后,初定信息编程语言形式如下:

/*
程序定义*/
procename{
/*
函数定义*/
fuctname(param1,param1)(return1,return1)
{
  [5361,fgdsgf,gfds][dfg,dfg]<sfgf,dfg,dfg><dfgdf,yu>->dgdf  
     /*>twter表示任意数值,[] 内的表示激活逻辑条件,[][]表示逻辑或的形式,<>内的表示终止逻辑条件,<><>表示逻辑或的形式*/
    [twter,fgdsgf,gfds][dfg,dfg]<sfgf,dfg,dfg><dfgdf,yu>->$dgdf  
    /*->$dgdf表示进程时间内永久保存(但可被更改)*/
    [twter,fgdsgf,gfds][dfg,dfg]<sfgf,dfg,dfg><dfgdf,yu>->dgdf=356
    /*->dgdf=356表示产生的标记有数值*/

    [twter=898,fgdsgf=878,gfds][dfg,dfg]<sfgf=767,dfg,dfg><dfgdf,yu>->dgdf
    /*twter=898,fgdsgf=878表示有值*/
    [twter,fgdsgf,gfds][dfg,dfg]<sfgf,dfg,dfg><dfgdf,yu>->(rrr=wwer,wsre=werwe)
    /*条件赋值,->(rrr=wwer,wsre=werwe)表示条件赋值形式*/
    [twter,fgdsgf,gfds][dfg,dfg]<sfgf,dfg,dfg><dfgdf,yu>->(return1,return1)
    /*函数条件返回,->(return1,return1)表示函数条件返回形式*/
    [twter,fgdsgf,gfds][dfg,dfg]<sfgf,dfg,dfg><dfgdf,yu>->procename.fuctname(wer,werwe)(return1,return1)
    /*函数条件调用,return(param1=wer,param1=werwe)表示函数条件调用形式  */
  }
}

/*以上所有符号都是符号标记,可谓为中文英文*/
说明:

1、在上述的信息编程语言中,程序是类,函数也是类的成员。这样当程序完成后,就可以被其它或自己调用了,相当于windows中的“dll”模块或“lib”库。

2、每个语句前面都带有如下形式:
         [原信息1, 原信息2, 原信息3][ 原信息4, 原信息5]< 原信息6, 原信息7, 原信息8><原信息9, 原信息10>
的前置逻辑比较,其含义就是每条语句都先判断、选择、比较,然后再决定是否生成"->"后的信息,除了"->"简单生成信息语句外,还有调用、返回、赋值等语句,这些语句也是采用前置逻辑比较的形式,目的是为了满足全部指令运行的指令规范。

指令的设计与cpu结构设计关联性。

1、指令信息保存形式。当指令信息生成后第二次再运行使用后是否保存,极大影响了cpu结构设计也影响了指令编程,考虑再三后,决定采取可选的保存的形式既带“$”符号就一直保留,其他信息一般在第二次运行使用后就消除了,相当于这些指令只是中间暂时信息。

2、函数的调用方式。程序的函数指令在内存中只有一个,但是每个程序调用时就会产生多个调用,像类的定义,类的定义只有一个,而类的实例化可以有多个,为了满足同时并行运行的函数实例,必须在cpu上设置专用的调用栈内存;

3、函数返回方式。函数返回时必须处理的一些细节,因为函数指令编译后是固化的,它的返回信息符号必须与函数实例化后的句柄挂钩起来,并与原调用函数句柄有关,不像串行指令,可以在栈顶存取函数的返回有关的值。

4 在信息cpu里设计,最大难题不在前置逻辑比较实现,而在于信息生成后如何处理,像重复信息符号处理、信息生存周期、信息的作用范围、信息的存取、信息的符号与值、cpu结构的优化等,所有这些技术处理与各种指令形式的含义有很大相关性。

5、函数调用、返回、信息赋值是信息生成一种特殊形式,其母的是为了信息程序的复用性,本质上没有破坏信息cpu指令只有一条的宗旨。

 可以说一套完整的指令集设计时就已经考虑到了以后的cpu设计,指令集里增加的功能比如增加寄存器、寻址方法、结果值处理等、各种函数调用返回方式极大影响了cpu的设计,相反cpu的计算功能反而是cpu设计最简单的东西。一套指令集就是一套虚拟计算机,当实现了运行指令集的机器后,也就完成了虚拟计算机实例化。如计算机语言,语言也是一套虚拟计算机,编译程序把计算机语言编译成可执行文件,编译程序就是计算机语言的虚拟计算机。

多年来,国人常常听到cpu指令集只是一种东西不同的写法,购买指令集只不过是为了一些权宜之计采取的便宜措施,无关大碍,关键是要开拓市场云云。错了!君不见,当年各大国产汽车商也号称技术引进,更快开拓占领市场云云,最后各大国产汽车商也成了国外汽车技术代理商。二三十年年前国人以求学之心,满以为完成学业就可以创业了,没想到却从学生变成了学徒,最后成了打工仔。这种教训实在太多了,cpu指令集代表国外占领国内cpu技术市场的隐形杀手,冠于冠冕堂皇的技术授权,我们就如得了宝贝似的收下来,高兴地设计生产了。君不见,二三十年来,国人举国学英文,直弄的国语也差点忘了,只能写一点俄意奉承之类的话,到头来,国外技术没学家,又变成了假洋人了。

以《霍元甲》之歌“昏睡百年,国人渐已醒,睁开眼吧,小心看吧,哪个愿臣虏自认”与各位有志之士共勉。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值