字体:大 中 小
护眼
关灯
上一章
目录
下一页
第144章 时序逻辑电路和寄存器 (第1/2页)
小服务员给弄来的这套渔具相当有档次。 用具一应俱全:钓竿、水兜、鱼篓、小笊篱、鱼饵…… 居然还有个小折叠凳。 江寒谢过小服务员,拿着这些东西,来到中央鱼塘处。 在岸边选了个没人的地方,架好鱼竿,就开始闭目养神。 当然,其实是进入了虚拟空间。 闲着也是闲着,不如做点事情。 上次做的算数逻辑单元,还有几个地方,必须完善一下。 比如,其中的加法器部分,当时并没有考虑执行效率的问题。 当进位从低位向高位,逐一传递时,可能会产生很高的延迟。 江寒通过看书,找到了一种解决方案。 这种被称为“进位预测”的技术,通过特殊设计的逻辑电路,能有效地缓解进位延迟问题。 江寒按照资料中的讲解,将原本的ALU改造了一下。 测试后,效果还算令人满意。 附带一提,这个ALU并没有实现乘除法和浮点运算。 并不是不需要,而是如果一切都用硬件来实现,电路会过于复杂。 ALU是和cao作系统搭配工作的,一个计算机系统能做多少事情,由二者共同决定。 在设计ALU时,硬件上需要实现多少种功能和cao作指令,本质上是个性价比问题。 如果为了性能,应该尽可能用硬件来实现所有的算数运算和逻辑运算。 但这样做,成本太高昂了。 江寒权衡再三后,决定现阶段只实现基本的算数和逻辑,剩下的部分交给cao作系统,用软件的方式解决。 接下来,江寒打算实现一个存储系统。 计算机不仅要能做计算,还应该能根据需要,存储、读取数据。 计算机中的数据,都是以二进制来存储的。 其中比较特别的,是机器指令代码。 其实,在冯诺依曼体系中,指令也被看做一种数据,特殊的、可执行的数据。 这也就是存储程序的概念…… 计算机中的存储单元,无论是寄存器,还是内部存储器,通常都是由时序电路组成的。 时序电路的实现,其实并不算特别复杂,本质上就是个周期性电信号的处理。 但如果考虑到同步、时钟、反馈等一系列问题,就稍微有点麻烦了。 江寒照旧将大任务分解成小模快,,然后从最基本的地方入手。 首先,要实现一个“触发器”。 如果说ALU的基本部件是“与非门”,那么时序单元的基本部件,就是“触发器”。 工程实践中,“触发器”有多种设计方案。 江寒选用的,是最常用的,也是比较简单的“D触发器”,简称DFF。 此类“触发器”通常包括4个“与非门”,并提供1个输入管脚,一个输出管脚,通过“反馈回路”来连接基本的逻辑门。 大多数计算机系统里,都是采用振荡器来实现时钟信号。 用连续的交变信号序列,来表示时间流逝。 所谓交变,就是电信号从高到低,在从低到高,反复循环。 用数字来表示,就是0-1-0-1-0-1…… 每两个波峰之间的间隔,称之为1个“时钟周期”。 现代个人电子计算机的时钟频率,通常高达每秒钟几十、几百甚至几千兆赫! 计算机系统通过时序信号,来整体协调各个部件的运行。 “触发器”根据主时钟信号的连续交变,将前一个时钟周期的输入,当做当前时钟周期的输出。 这个过程可以用out=in来描述。 江寒用4个与非门打造出D触发器后,又在其基础上实现了“二进制存储单元”。 这是只能存取、记忆1个二进制位的小装置。 包括一个输入
上一章
目录
下一页