字:
关灯 护眼
笔趣阁 > 重生学神有系统 > 第144章 时序逻辑电路和寄存器

第144章 时序逻辑电路和寄存器

江寒用4个与非门打造出D触发器后,又在其基础上实现了“二进制存储单元”。

这是只能存取、记忆1个二进制位的小装置。

包括一个输入、一个输出,和一个负责写操作的load接口。

别看它小,可是构成寄存器和内存阵列的基本结构。

根据out(t)=in(t-1)的设计需求,D触发器的输出必须反馈到输入。

但简单的将输出信号传送给输入端,肯定是行不通的。

必须通过合理的设计,才能让其正确工作。

比如加装一个“多路转换器”,用它的“选择位”作为寄存器的“加载位”……

D触发器的设计,保证了输出变化仅发生在两个时钟周期之间的切换点上,而不会发生在时钟周期内部。

这样,即使时序逻辑电路在时钟周期内出现不稳定,也不会影响输出的准确性。

只需要保证在下一个时钟周期开始时,输出准确无误的数值就可以了。

这种“离散化”的特性,对于保证计算机系统的同步协调十分重要。

比如,要让ALU计算两个数A与B的和。

假设A所在的RAM寄存器,距离ALU很近,而B所在的RAM寄存器,距离ALU较远。

由于物理条件的限制,比如电阻、干扰、信号噪声或者其他随机因素,A、B信号也许无法同步到达ALU。

为了不让运算结果出错,就要保证:在一个时钟周期内,ALU输出的结果,能到达最远的RAM寄存器。

这样才能将互相独立的一系列硬件,同步成一个协调、统一的整体系统。

江寒耗费了一点脑细胞后,终于将“二进制单元”搞定。

接下来,就可以大展拳脚了。

只要做出一个二进制单元,就能很容易地做出n位寄存器。

只要将n个一模一样的二进制单元,有机地组织在一起,就能构建出n个“比特门”。

然后将此寄存器的load信号,赋予每个“比特门”,就可以批量存取数据了。

通常用8个“比特门”,来实现一个字节的数据存取。

若干个字节组织在一起,又可以构成任意位宽的寄存器。

比如江寒打算实现的,就是一个由4个字节组成的32位寄存器。

每个寄存器存储的位宽,也叫“字长”,若干个寄存器组织在一起,就形成了“寄存器组”。

江寒设计的寄存器组,由8个32位寄存器组成。

接下来,是“存储块”,也就是俗称内存的RAM(随机读写存储器)。

这种内存在设计上,要求不管存储单元的物理位置在哪里,ALU都能花费基本相同的时间,直接访问。

设计的时候,先给RAM的每个记忆单元,分配一个地址,然后构建一个由N个寄存器组成的阵列。

再构建一个逻辑门,使其通过地址访问到对应的记忆单元……

典型的RAM接受三种输入值:数据、地址和加载位。

RAM设计起来不容易,但实现起来意外的简单。

江寒先做出了一个字节的RAM,然后将其与空白图纸一起卖掉。

得到图纸后,就利用自动搭建功能,批量生产出大量“字节存储单元”。

接下来,就可以组装出任意规模的存储阵列了。

江寒组装了一个8个字节的存储阵列,称之为RAM8,然后将其再次转换成图纸。

接下来,制作8组RAM8阵列,设计配套的电路,将其组合在一起,就成了RAM64。

重复上述过程,就打造出了RAM512、RAM4K、RAM16K、RAM64K……

“我去,这么贵?”

前面还好,从4kb内存开始,自动构建功能的附加收费,就超过了元件本身的价格了。

但为了节省时间,消灭错误率,还是得使用这个自动构建功能。

浪费点积分也是值得的。

反正积分来的容易,万一不够了,再多做几台无线电发射器也就是了……

https://zerifeisheng.com/book/7208/1891287_2.html

本站地址:zerifeisheng.com

点此播放在线视频 ①

点此播放在线视频 ②

最新小说: 让你算命,你说我算什么东西? 我养大的妹妹们,只想把我送监狱 老六老师:我淋过雨,你们想撑伞 表白失败,那就追她闺蜜 让你写歌,你吊打国学大师? 重生就别当舔狗了 我抢了别人的重生门票 我带家乡科技致富 华娱太子爷! 重生不当接盘侠,前世老婆她急了