cpu
8位CPU
__xa__
.
展开
-
2.2 带控制的寄存器
使用三态门来控制输出, 三态门相当于一个继电器(2.1 总线问题里有模拟)只有当三态门打开,数据才会输出原创 2023-11-25 23:52:38 · 65 阅读 · 0 评论 -
2.1 总线问题
同一时间只能有一个去控制总线,因此需要一个输出开关去确保总线不出错一旦同时开启输出开关,下面的锁存器还会被上面的数据修改如果上下同时开启可写,且同时开启可输出, 则短路原创 2023-11-25 23:51:44 · 84 阅读 · 0 评论 -
2.1 总线问题
同一时间只能有一个去控制总线,因此需要一个输出开关去确保总线不出错一旦同时开启输出开关,下面的锁存器还会被上面的数据修改如果上下同时开启可写,且同时开启可输出, 则短路原创 2023-11-25 23:49:45 · 65 阅读 · 0 评论 -
2. 寄存器
锁存器,用于存储1位的电路只有当 可写位(write enable)开启,才会把输入写到输出,同时保存输出使用锁存器带时钟的锁存器带时钟带可写控制的完整版锁存器下面的时钟使用按钮来代替, 只有按钮为1时,相连的电路才工作时钟的作用在于协同所有电路共同工作,也是一切电路自动化的源头更多关于时钟的解释在 3.1 内部数据总线与时钟 中1个8位的简易版寄存器可由8个锁存器组成原创 2023-11-25 23:48:41 · 93 阅读 · 0 评论 -
1.5 加减法
加减法这是一个有问题的加减法根据8位加法和8位取反可以组合成一个加减法减法相当于 加一个负数,而负数可以用取反+1的补码来表示现在的问题是如何解决+1的问题, 目前只有一个取反控制器 ?加法器中有个“首个进位控制" , 可以用来+1操作,只需要把 " 首个进位控制" 跟 取反器的“开启取反” 用同一个控制线连接即可根据下面可以看到2个数相加没问题,一旦相减,最后的进位还是存在问题, 原因在于 补码+正数 后的进位解决方式解决方案是如果没开负数,进位保持原样如果开了负数,则忽略进位原创 2023-11-25 23:46:03 · 31 阅读 · 0 评论 -
1.4 8位加法器
1.半加器2.全加器。原创 2023-11-25 23:44:27 · 105 阅读 · 0 评论 -
1.3 取反器和8位取反器
取反器真值表:取反开关输入输出011000110101取反器相当于一个异或门8位取反器原创 2023-11-25 23:40:41 · 206 阅读 · 0 评论 -
1.2 全加器
处理1个进位的加法根据半加器可知,结果和进位只有1种情况:要么有结果要么有进位因此全加器可由2个半加器组合而成通过一个半加器输出的结果和进位再次由另一个半加器输出2个半加器的进位通过或门输出原创 2023-11-25 23:38:04 · 80 阅读 · 0 评论 -
1.1 半加器
输入1输入2结果进位0000101001101101半加器: 实现1位的加法根据结果可知输入1与输入2相加结果 -> 符合 异或门进位 -> 符合 与门最终要么有结果要么有进位,不存在即有结果也有进位异或门的实现也可以由基本的3个 “与或非” 门实现与:& , 或:| , 非:! 用这3个符号表示假设输入1:x, 输入2:y可以得出真值表达式(仅有1的结果):sum = x&!y +原创 2023-11-25 23:36:35 · 101 阅读 · 0 评论 -
3. 内存单元
原行1 连接到 位0 , 原列1->位1,原行2->位2,原列2->位3…列1:1000010 (行4连连接到是位6, 列1连接到的是位1)由于上面一共16个地址, 因此2的4次方 => 2^4 就可以表示。行3连接到的是位4:10000, 列1连接到的是位1:10。总之,根据 行,列 对应连接的位来计算此内存单元的值。因此 行3列1 的内存单元 对应的值是:10010。下面替换的地址线,通过一个查找表来实现。列4:10010000。列4:11000000。列2:1001000。列3:1100000。原创 2023-11-25 23:27:55 · 112 阅读 · 0 评论 -
3.2 CPU的自动化
MOV_TO_ADDR(1010) 流程: step 0 ~ step 2一样。1.step 1,内存地址寄存器传送地址,内存缓存寄存器获取数据。4.step 4, 执行一次step 1, 传递地址获取内存数据。上述的改造还需要手动输入二进制,才能实现自动化,因此继续改造。2.step 2, 内存缓存寄存器把数据传送到指令寄存器。8.step 8, 执行MOV_TO_ADDR。5.step 5, 把数据传送到寄存器A。6.step 6, 回到step 0。7.step 7, 执行ADD。原创 2023-11-25 23:09:34 · 1444 阅读 · 1 评论 -
3.1 CPU内部结构与时钟与指令
CPU内部结构总线一些自定义部件总线图内存指令执行流程:取指令,译码,执行pc做的事内存地址寄存器内存缓存寄存器指令寄存器,译码第一步指令寄存器传递地址到内存地址寄存器指令MOV_A的过程(译码第二步)第一条指令执行完毕第三条指令的执行第四条指令第四条指令不同的执行流程整体流程内部数据总线使用到的有8位寄存器(用于输入),4位寄存器(用于内存地址,只能寻址16个内存单元[2^4]),简化版加法ALU寄存器带了时钟, 由时钟统一控制操作ALU不需要时钟, 输入端的原创 2023-11-25 23:00:25 · 1450 阅读 · 0 评论