|
楼主 |
发表于 2012-4-13 21:41:54
|
显示全部楼层
3. 超强CPU
考虑到母生命信胞从最初的64KZ不断分裂进化,最终形成的智初可能会有16GGZ的虚拟空间XNKJ。必须为母生
命信胞设计一种超强的CPU。在一个智初里,具有实体CPU的只有母生命信胞;其它的子生命信胞只有虚拟CPU。类
似我们现在用的电脑系统。以下是我为之构造的一种16位CPU指令集。
在虚拟空间XNKJ中,母生命信胞的位置在:第0域YU(0).第0段DK(0)。简写:MXB。 MXB.DY(0)为其信胞核的位置。
寻址:
只有最多64K个单元的段(信胞)内对单元的寻址用2个字,简写:地址-DV;源地址-SDV;目的地址-MDV。
一个域只有最多64K个段(信胞),域内对信胞的寻址只用一个字,简写:地址-XB(i);i=1--64K
一个虚拟空间XNKJ只有最多64K个域YU,虚拟空间内对域的寻址只用一个字,简写:地址-YU(i);i=1--64K
4. 双操作数指令内核指令VL
// 操作码域3 位 [操作码] VL.15--VL.13
// 源域/目的域 2 位。VL.12--VL.11
// 00:母生命信胞到母生命信胞。 MXB.SDV->MXB.MDV
// 01:母生命信胞到另一生命信胞。 MXB.SDV->YU(i).XB(j).MDV i,j=0--64K
// 10:另一生命信胞到母生命信胞。 MXB.SDV->YU(i).XB(j).MDV i,j=0--64K
// 11:立即数到母生命信胞。 #N->(MXB.MDV)
1. MOV传送类(VL.15--VL.13 = 000): 状态位
MOV(BU10 L,Src,dst) Src ->dst - - - -
VL.10--VL.0 11位数据包的数据长度L(单位字)
2. 运算指令(VL.15--VL.13 = 001):
// 源域/目的域 2 位。VL.12--11 0:母生命信胞, 1:另一生命信胞
// VL.10--VL.7 4位16条分指令标识。
// VL.6--VL.5 2位参数标识。整形,单精度浮点型,双精度浮点型,字符串型。
// VL.4--VL.2 标识Src,dst 是1字,2字,4字,8字,16字,32字,64字,128字。
// VL.1--VL.0 未定义
V N Z C
1. ADD Src,dst Src+dst->dst * * * *
2. ADDC Src,dst Src+dst+C->dst * * * *
3. AND Src,dst Src.and.dst->dst 0 * * *
4. BIC Src,dst .not.src.and.dst->dst - - - -
5. BIS Src,dst Src.or.dst->dst - - - -
6. BIT Src,dst Src.and.dst 0 * * *
7. CMP Src,dst Dst-src * * * *
8. DADD Src,dst Src+dst+C->dst 十进制 * * * *
9. SUB Src,dst Dst+.not.src +1->dst * * * *
10.SUBC Src,dst Dst+.not.src +C->dst * * * *
11.XOR Src,dst Src.xor.dst->dst * * * *
12.MUL Src,dst Src * dst->dstAB * * * *
13.MLA Src,dst dstAB + Src * dst->dstAB * * * *
14.DIV Src,dst Src / dst->dstAB * * * *
15.
注:有些参数类型只有小量的对应指令,如字符串型就只是有与或非了。
3. 单操作数指令(VL.15--13 = 010): V N Z C
// 源域/目的域 2 位。VL.12--11 0:母生命信胞, 1:另一生命信胞
// VL.10--VL.7 4位16条分指令标识。
// VL.6--VL.5 2位标识。未定义
// VL.4--VL.2 标识Src,dst 是1字,2字,4字,8字,16字,32字,64字,128字。
// VL.1--VL.0 未定义
1: B0TV Src.X=0 #N->PC X位=0跳转 - - - -
2: B1TV Src.X=1 #N->PC X位=1跳转 - - - -
3: RRA dst MSB->MSB-> …LSB->C 0 * * *
4: RRC dst C-> MSB-> …LSB->C * * * *
5: SS1 Src 搜索BU64K(BT)位图左起(从高位起)第一个为1的位索引地址。index->dst
6: RET
7: RETI
8: PUSH
9: CALL
10.CMPN #N,dst,mb1 Dst-N,=0的索引index->mb1 * * * *
CMPN只有向量指令,用于SQL查询指令: 如单元的每个字与立即数字比较,返回相等的索引地址到查询表mb1。
数据库是用位图来管理的,一个位图对应一个索引单元,一个位图单元可装16个位图,管理1M条记录。
删除一条记录就是在已知的索引用BIS指令,1纳秒就可删除。插入一条记录就需先用SS1指令搜索到空位,
再用BIC指令占用空位,之后MOV指令插入记录,理想用时3纳秒。使用查询索引表来更快的形成查询表,
查询表排序等技巧也很容易用汇编编写。
指令表还没最终定型。
|
|