Code
Last updated
Was this helpful?
Last updated
Was this helpful?
加法器:行波进位(ripple carry),前置进位。
减法运算的关键在于求补, 此时引入负数的表示法,需要知道位数,首位表示正负
蜂鸣器:继电器回路实现 振荡器 或者叫 时钟(clock)
功能表、逻辑表、真值表
边沿触发器,正负跳变,分频器 计数器 行波计数器,并行(同步)计数器
累加器
如果把数据保存在同一个ram,则可以空位实现 或者干脆操作指令(指令码或者操作码-- add, subtract , store, halt )有专门的ram存放
对于16位相加,并不是一定要全数相加,可以分成高低位两部分,通过进位锁存器处理进位 当然为了实现,还要额外的增加一个进位(Add with Carry)的操作码 同样的,减法添加借位(Subtract and Borrow)
为了改变时钟产生的顺序信号,需要在存储指令时,存储目标地址 这样子就可以寻址指令,进行 取指令、和执行的操作
但是如果之前做过了一套指令,比如0001地址是指令,0002地址是数据高位,0003地址是数据低位; 那么最后一个结果指令是halt。 而此时想要增加一部分数据,并且肯定不愿意重写之前的指令,应该怎么拼接呢? (如果是单纯的替换halt,为数据,那么取指令的规则肯定会被破坏。) 对应的增加一个jump指令(也叫 branch或者goto) 可以通过电路在某个需要的地方,将输出设置成和输入一样,这里就是改成jump指令
零锁存器
需要注意R-S触发器从设计角度来讲,要避免同时讲两个输入开关置为1,因为输出会不相反,和假设不符
8-1选择器,3-8译码器 RAM阵列,位宽