Code

基本电路符号.jpg
摩根定律.jpg

异或门和半加器.jpg 全加.jpg

加法器:行波进位(ripple carry),前置进位。

求补器.jpg

减法运算的关键在于求补, 此时引入负数的表示法,需要知道位数,首位表示正负

蜂鸣器:继电器回路实现 振荡器 或者叫 时钟(clock)

功能表、逻辑表、真值表

触发器.jpg 需要注意R-S触发器从设计角度来讲,要避免同时讲两个输入开关置为1,因为输出会不相反,和假设不符

锁存器.jpg

边沿触发器,正负跳变,分频器 计数器 行波计数器,并行(同步)计数器

8-1选择器,3-8译码器 RAM.jpg RAM阵列,位宽

累加器

如果把数据保存在同一个ram,则可以空位实现 或者干脆操作指令(指令码或者操作码-- add, subtract , store, halt )有专门的ram存放

对于16位相加,并不是一定要全数相加,可以分成高低位两部分,通过进位锁存器处理进位 当然为了实现,还要额外的增加一个进位(Add with Carry)的操作码 同样的,减法添加借位(Subtract and Borrow)

为了改变时钟产生的顺序信号,需要在存储指令时,存储目标地址 这样子就可以寻址指令,进行 取指令、和执行的操作

但是如果之前做过了一套指令,比如0001地址是指令,0002地址是数据高位,0003地址是数据低位; 那么最后一个结果指令是halt。 而此时想要增加一部分数据,并且肯定不愿意重写之前的指令,应该怎么拼接呢? (如果是单纯的替换halt,为数据,那么取指令的规则肯定会被破坏。) 对应的增加一个jump指令(也叫 branch或者goto) 可以通过电路在某个需要的地方,将输出设置成和输入一样,这里就是改成jump指令

零锁存器

Last updated

Was this helpful?