<<迷雾>> 第11章 全自动加法计算机(8)--一只开关取数并相加 示例电路

用一只开关就可完成将所有的数从存储器里依次取出并逐个相加的过程.

info::操作说明

增加了 指令寄存器 和 译码电路, 扩充了 RR 循环移位寄存器

存储器中前 10 个地址已经提前写入了指令和数值, 其中 17(10001) 代表装载指令, 18(10010) 代表相加指令, 其它则为要加的数.

需检查地址计数器 AC 的值是否为零, RR 循环移位寄存器 Q0 是否为 1. 其它寄存器不为零的也需要先清零.

另: 增加了一些过程中的二进制转十进制译码输出, 方便观察整个运行过程

注: 读者如想仔细观察整个过程, 也可将按钮开关 K 调整为普通开关, 完全自主控制其按下和松开的过程.

  1. 初始状态 RR 寄存器 Q0=1, 译码器 Iar=1, 准备锁存第一个地址;

  2. 第一次按动开关 K, 寄存器 AR 存储第一个地址 0000, RR 寄存器 Q1=1, 译码器 Ird=1, 存储器第一个装载指令 10001 被读出, Ird=1 准备锁存该指令;

  3. 第二次按动开关 K, 寄存器 DR 将第一条装载指令保存, RR 寄存器 Q2=1, 译码器 Iac=1, 准备增加地址计数;

  4. 第三次按动开关 K, RR 寄存器 Q3=1, 译码器 Iir=1, 准备将指令锁存; 地址计数器 AC 加一, 变成 0001;

  5. 第四次按动开关 K, 指令寄存器 IR 将第一条装载指令保存, 并送入译码电路 EC, EC 译码并输出 IL=1, RR 寄存器 Q4=1, 译码器输入 IL=1, 输出 Iar=1, 准备锁存第二个地址;

  6. 第五次按动开关 K, 寄存器 AR 存储第二个地址 0001, RR 寄存器 Q5=1, 译码器输出 Idr=1, Ird=1, 存储器读出第二个地址中的操作数 10(也即第一个装载指令所要载入的数)

  7. 第六次按动开关 K, 寄存器 DR 存储操作数 10, RR 寄存器 Q6=1, 译码器输出 Iac=1;

  8. 第七次按动开关 K, 地址计数器 AC 再加一, RR 寄存器 Q7=1, 译码器输出 Ira=1, Iga=1, 传输门 GA 打开, 数据到达寄存器 RA 的输入端;

  9. 第八次按动开关 K, RR 寄存器 Q8=1, 寄存器 RA 把值存储并送入加法器 A 输入端.

  10. 第九次按动开关 K, RR 寄存器 Q0=1, 完成一次循环; 译码器 Iar=1;

  11. 第十次按动开关 K, RR 寄存器 Q1=1, 寄存器 AR 保存地址 0010, 译码器 Idr=Ird=1, 存储器读出第三个地址存储的相加指令;

  12. 第十一次按动开关 K, RR 寄存器 Q2=1, 寄存器 DR 保存相加指令并送到指令寄存器 IR 的输入端;

  13. 第十二次按动开关 K, RR 寄存器 Q3=1, 地址计数器 AC 再加一, 译码器 Iir=1;

  14. 第十三次按动开关 K, 指令寄存器 IR 将第二条相加指令保存, 并送入译码电路 EC, EC 译码并输出 IA=1, RR 寄存器 Q4=1, 译码器输入 IA=1, 输出 Iar=1;

  15. 第十四次按动开关 K, 寄存器 AR 存储存储新的地址值, RR 寄存器 Q5=1, 译码器输出 Idr=1, Ird=1, 存储器读出相加指令的操作数 5;

  16. 第十五次按动开关 K, 寄存器 DR 存储操作数 5, RR 寄存器 Q6=1, 译码器输出 Iac=1;

  17. 第十六次按动开关 K, 地址计数器 AC 再加一, RR 寄存器 Q7=1, 译码器输出 Itr=1, Iga=1, 传输门 GA 打开, 数据到达加法器 B 输入端, 加法器将之前装载的数 10 和现在的数 5 相加, 结果是 15;

  18. 第十七次按动开关 K, RR 寄存器 Q8=1, 寄存器 TR 把和值 15 存储, 译码器输出 Ira=1, Igb=1, 传输门 GB 打开, 和被反馈到寄存器 RA 的输入端;

  19. 第十八次按动开关 K, RR 寄存器 Q0=1, 又完成一次循环, 反馈的和被寄存器 RA 存储, 译码器输出 Iar=1, 传输门 GB 关闭.

  20. 重复按动开关 K, 直至取出所有指令及操作数, 完成累加.

primary::在线交互操作链接

https://cc.xiaogd.net/?startCircuitLink=https://book.xiaogd.net/cyjsjdmw-examples/assets/circuit/cyjsjdmw-ch11-10-circuit-using-one-switch-for-reading-and-adding.txt

原图

相关推荐
果冻的猿宇宙2 天前
<<迷雾>> 第11章 全自动加法计算机(5)--顺序取数 示例电路
存储器·circuitjs·穿越计算机的迷雾·加法器·自动加法器·地址计数器·地址寄存器
Projectsauron14 天前
ROM、RAM 和 Flash 的区别
内存·flash·ram·存储器·rom
果冻的猿宇宙16 天前
七段 LED 显示器(7段数码管)
显示器·led·数码管·模拟器·circuitjs·7段led·7段数码管
果冻的猿宇宙24 天前
<<编码>> 第 16 章 存储器组织(3)--3-8 译码器 示例电路
数字电路·存储器·地址·译码器·circuitjs·《编码》·3-8译码器
果冻的猿宇宙1 个月前
<<编码>> 第 11 章 逻辑门电路--或非门, 与非门, 缓冲器 示例电路
继电器·或非门·逻辑门·circuitjs·《编码》·与非门·缓冲器
热爱学习地派大星1 个月前
BRAM IP Native模式使用
fpga开发·ip·verilog·fpga·存储器·bram
果冻的猿宇宙1 个月前
继电器的使用
继电器·电路仿真·circuitjs·电路模拟·中继
深栈3 个月前
FPGA:3-8译码器的设计
人工智能·fpga开发·verilog·译码器
胡斌附体6 个月前
软考之零碎片段记录(二十七)+复习巩固(十三、十四)
软考·硬件·程序计数器·案例题·risc和cisc·指令寄存器·贮存和状态条件寄存器