欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 【图灵完备(Turing Complete)】6——处理器架构2

【图灵完备(Turing Complete)】6——处理器架构2

2025/4/19 14:41:48 来源:https://blog.csdn.net/sinat_33408502/article/details/144136250  浏览:    关键词:【图灵完备(Turing Complete)】6——处理器架构2

        第六章处理器架构2的内容如下:

1.异或

        实现异或,等价于与非&或:

# 异或等价于与非&或
MOV|in|1
MOV|in|2
NAND
MOV|3*8|4
OR
MOV|3*8|5
MOV|4*8|1
MOV|5*8|2
AND
MOV|3*8|out

2.8位异或

        对两个单字节输入执行按位异或(XOR):


3.8位常数

        高低电平搭配使得始终输出164:


4.相等

        判断两个数相等,可以将一个数取反,与另一个数相加,结果为0则相等:


5.无符号小于

        无符号判断的思路跟上面判断相等类似:


6.有符号小于

        有符号小于需要额外加入最高位补码(负号)的判断


7.宽指令

        偶数时刻存储,奇数时刻一次输出两个值:


8.一把线,像挂面

        前面都是小打小闹,这一关真正是走上了LEG架构之路。LEG架构如下图所示:

        注意,这一关里操作码(OPCODE)始终是0,这意味着我们将对参数1和参数2做加法(ADD),并将结果发送到目标地址上。命令的输入参数和输出参数都是地址值。地址值与元件的对应关系如下所示:

地址值元件
00号寄存器
11号寄存器
22号寄存器
33号寄存器
44号寄存器
55号寄存器
6计数器

        下面来实现这一关的功能:

(1)首先准备构建上面的内存地址模块 RegisterGroup,里面包含了寄存器、程序计数器与输入/输出设备:

        先封装一个4-16的译码器 4-16DEC 元件,取8位输入低四位,译码为0-15的十进制数输出

        再封装一个寄存器两路控制输出 Register2Out 元件,使能加载1则输出1,使能加载2则输出2

        构建内存地址模块 RegisterGroup ,其中,左边一列作为输入,从上到下分别为操作码、参数1、参数2、结果地址、输入使能;右边一列作为输出,从上到下分别为输出操作码、输出1、输出2;上面一行为参数1_bit6、参数2_bit6、结果_bit6;下面一行为参数1_bit7、参数2_bit7、结果_bit7。主要实现将参数1(橙色线路)、参数2(蓝色线路)、地址(绿色线路)通过4-16DEC元件解码之后,控制12个Register2Out元件

(2)实现LEG架构的算术逻辑单元LEG_ALU。

        先封装一个 LEG_CMD_JUDGE 元件,用来根据指令码判断执行算术逻辑单元ALU还是条件跳转单元COND:

        再通过4-16DEC元件解析收到的指令码,并执行相关计算:

(3)组装程序体PROGRAM 、内存地址模块RegisterGroup、算术逻辑单元LEG_ALU,实现一个LEG的基础架构,通过计数器设定运算步长4:


9.操作码

        上面的LEG_ALU已经实现了这一关下面几种操作码的功能,不再重复。


10.立即数

        新增立即数功能,即当操作码的第8位为1时,将参数1作为立即数(而非地址值);当操作码的第7位为1时,将参数2作为立即数(而非地址值)

        首先需要调整一下之前的寄存器组处理模块RegisterGroup,使其加上立即数功能,即上图中标*的两根线,重新命名为RegisterGroup_IMM,在之前的模块中新增右上角紫色部分(指令码进来之后取第7、第8位作为开关,使能参数2、参数1直接用作模块输出,输入输出端口封装不变)。

        注意其中左下角的两个小模块包括其周边电路暂时都不需要,是后面关卡的内容,可以按需删除或者参考我后面的文章提前完成


11.条件判断Ⅱ

        新增条件判断模块。在之前的指令中,4个字节分别代表操作码、参数1、参数2、结果地址。而对于条件判断模块,4个字节分别代表操作码、参数1、参数2、跳转地址。其中操作码分为以下几种:

        那么需要增加基于LEG架构的条件判断单元 LEG_COND,封装如下:

        将条件判断模块LEG_COND与之前的算术计算模块LEG_ALU并联到系统中,加入开关筛选数据输出

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词