重生学神有系统

一碗酸梅汤

首页 >> 重生学神有系统 >> 重生学神有系统最新章节(目录)
大家在看我是精神病啊,你敢惹我?道爷不好惹凤凰传奇:歌手翻车,求我们出战我把老婆培养成仙帝一体双魂之最强大脑徒儿你无敌了,下山祸害师姐去吧东北往事:江湖儿女机车觉醒:开局觉醒重卡金刚极品神医暗牖
重生学神有系统 一碗酸梅汤 - 重生学神有系统全文阅读 - 重生学神有系统txt下载 - 重生学神有系统最新章节 - 好看的都市言情小说

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

上一章目录下一章阅读记录

小服务员给弄来的这套渔具相当有档次。

用具一应俱全:钓竿、水兜、鱼篓、小笊篱、鱼饵……

居然还有个小折叠凳。

江寒谢过小服务员,拿着这些东西,来到中央鱼塘处。

在岸边选了个没人的地方,架好鱼竿,就开始闭目养神。

当然,其实是进入了虚拟空间。

闲着也是闲着,不如做点事情。

上次做的算数逻辑单元,还有几个地方,必须完善一下。

比如,其中的加法器部分,当时并没有考虑执行效率的问题。

当进位从低位向高位,逐一传递时,可能会产生很高的延迟。

江寒通过看书,找到了一种解决方案。

这种被称为“进位预测(carrylook-ahead)”的技术,通过特殊设计的逻辑电路,能有效地缓解进位延迟问题。

江寒按照资料中的讲解,将原本的ALU改造了一下。

测试后,效果还算令人满意。

附带一提,这个ALU并没有实现乘除法和浮点运算。

并不是不需要,而是如果一切都用硬件来实现,电路会过于复杂。

ALU是和操作系统搭配工作的,一个计算机系统能做多少事情,由二者共同决定。

在设计ALU时,硬件上需要实现多少种功能和操作指令,本质上是个性价比问题。

如果为了性能,应该尽可能用硬件来实现所有的算数运算和逻辑运算。

但这样做,成本太高昂了。

江寒权衡再三后,决定现阶段只实现基本的算数和逻辑,剩下的部分交给操作系统,用软件的方式解决。

接下来,江寒打算实现一个存储系统。

计算机不仅要能做计算,还应该能根据需要,存储、读取数据。

计算机中的数据,都是以二进制来存储的。

其中比较特别的,是机器指令代码。

其实,在冯诺依曼体系中,指令也被看做一种数据,特殊的、可执行的数据。

这也就是存储程序的概念……

计算机中的存储单元,无论是寄存器,还是内部存储器,通常都是由时序电路组成的。

时序电路的实现,其实并不算特别复杂,本质上就是个周期性电信号的处理。

但如果考虑到同步、时钟、反馈等一系列问题,就稍微有点麻烦了。

江寒照旧将大任务分解成小模快,,然后从最基本的地方入手。

首先,要实现一个“触发器”。

如果说ALU的基本部件是“与非门”,那么时序单元的基本部件,就是“触发器”。

工程实践中,“触发器”有多种设计方案。

江寒选用的,是最常用的,也是比较简单的“D触发器”(DataFlip-Flop),简称DFF。

此类“触发器”通常包括4个“与非门”,并提供1个输入管脚,一个输出管脚,通过“反馈回路”来连接基本的逻辑门。

大多数计算机系统里,都是采用振荡器来实现时钟信号。

用连续的交变信号序列,来表示时间流逝。

所谓交变,就是电信号从高到低,在从低到高,反复循环。

用数字来表示,就是0-1-0-1-0-1……

每两个波峰之间的间隔,称之为1个“时钟周期”。

现代个人电子计算机的时钟频率,通常高达每秒钟几十、几百甚至几千兆赫!

计算机系统通过时序信号,来整体协调各个部件的运行。

“触发器”根据主时钟信号的连续交变,将前一个时钟周期的输入,当做当前时钟周期的输出。

这个过程可以用out(t)=in(t-1)来描述。

江寒用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内存开始,自动构建功能的附加收费,就超过了元件本身的价格了。

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

浪费点积分也是值得的。

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

请大家记得我们的网站:CC读书(m.ccdushu.com)重生学神有系统更新速度全网最快。

上一章目录下一章存书签
站内强推全民海洋求生:一发入魂出奇迹穿书鲛人:魅魔徒弟偷偷的暗恋我斗罗:穿越霍雨浩,开局至尊骨!都市修仙从摆摊开始美梦成真:大佬她靠小道具通关清冷美人下山摆摊,打赏千亿!和总裁大人借了个种骄花诸天:我有一座万界神殿撒娇哭包弟弟变疯批啦!穿成俊俏木匠的极品妻靠美食致富什么,这个清冷上将就是我老婆斗罗:开局觉醒超神级拔剑超市风云:美女老板娘的非凡日常咸鱼他上加速综艺后爆红了圣魂村神医重瞳开天:开局融合仙凰女帝糟糕!网恋对象是舍友怎么办?蛊道真仙觉醒3S天赋?拖累我的短板罢了
经典收藏被八零糙汉子偏宠,她娇软又旺夫霸道总裁轻点宠邢先生的冷面女友迷彩红妆这个傀儡师有点那啥老婆忌日,我重生了极品家丁百万调音师:我只好亲自上台了!金牌宠妃(系统)海贼世界的诡秘之旅皇上非要为我废除六宫绯闻男神:首席诱妻成瘾修仙从被雷劈开始一吻成灾:帝少的77次锁情回2001陪你长大我的快递通万界重生之重启2004四合院:从五级厨师开始不想当大将的我选择佛系祸害娱乐圈,你说自己是正经人?
最近更新这世间最后的神开局直送麒麟神兽,强度直接拉满直播开出租,女乘客个个是老司机尊龙出狱七零不做冤大头,下乡赶山娶村花反派:主角犯错,亲妈遭罪我一堂堂演员绑定个曲库有啥用?每秒一点熟练度每天变强亿点点家师黑虎阿福!看招!乌鸦坐飞!时间与鬼神豪的豪车日常建国后不准修仙初恋女友变病娇,强制关我小黑屋被动瞬移,我心态没崩,反派崩了官场之科技崛起风云半兆环星开局网恋大蜜蜜,吹的牛都成真了柳条兄弟之兄弟故事会1985,重生就成接盘侠夭寿,我才八个月,系统迟到六十年?
重生学神有系统 一碗酸梅汤 - 重生学神有系统txt下载 - 重生学神有系统最新章节 - 重生学神有系统全文阅读 - 好看的都市言情小说