计算机组成原理唐朔飞第三章答案_计算机组成原理第五章

计算机组成原理唐朔飞第三章答案_计算机组成原理第五章计算机组成原理:如何存储数据(数据存储)(五)这是计算机组成原理系列文章的第5篇,欢迎持续!:游戏服务器开发上一篇罗罗的游戏:计算机组成原理:如何输入数据(键盘输入)(四)根据上一章的知识,我们有了第二层抽

计算机组成原理:如何存储数据(数据存储)(五)   这是计算机组成原理系列文章的第5篇,欢迎持续!
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   :游戏服务器开发   上一篇罗罗的游戏:计算机组成原理:如何输入数据(键盘输入)(四)   根据上一章的知识,我们有了第二层抽象的编码器这个好用的工具。可以简单地把键盘看作是编码器,因为我们输入数据几乎都是通过键盘来输入,无论我们输入的是数字,字母或者文字,本质上键盘都帮我们进行了编码,转换为二进制数值   现在我们要解决的问题是如何存储这些二进制数值?我们不想在每次需要数据的时候,再手动从键盘输入数据。或者说计算机程序在运行的时候才输入指令和数据,此时已经来不及了。所以我们需要一个跟编码器一样的工具,帮助我们记住这些数据,并且在需要的时候计算机自动地读取这些数据   注意:我们现在依然处于第一原则的输入数据部分   RS触发器   要做第二层抽象的存储器,我们需要先了解第一层抽象的工作原理,毕竟所有的实现都离不开第一层抽象的逻辑门,这就是最底层。我们先来看一个简单的图
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   注意图中奇特的连接方式:   左边或非门的输出是右边或非门的输入,记住或非门的口诀:有1出0,全0出1   右边或非门的输出是左边或非门的输入,记住或非门的口诀:有1出0,全0出1   我们先来看第一种情况:   闭合上面的开关,左边或非门的输出变为0   于是右边或非门的输出变为 1   灯泡被点亮
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   接着来看第二种情况   当断开上面的开关时   由于或非门的输入中只要有一个为 1,其输出就是 0   而左边或非门的输出不变,灯泡仍然亮着!!
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   我们需要注意到这个奇怪的现象:   根据以往的经验,我们拨动一个开关,必然会影响灯泡的亮与灭,而这次我们关闭开关或打开开关,竟然得到的是相同的结果:灯泡一直亮着!   最后来看第三种情况:   闭合下面的开关   由于右边或非门的输入中有一个是 1,则其输出变为0,灯泡熄灭   左边或非门的输出此刻变为 1   此时,无论下面开关状态如何,灯泡都是不亮的!!
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   或者
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   总结起来就是:   闭合上面的开关使灯泡点亮,当再断开时,灯泡仍然亮着   闭合下面的开关使灯泡熄灭,当再断开时,灯泡仍然不亮   上面的电路,像是有了某一种“记忆”。我们可以根据灯泡的状态,推测出上一次开关的闭合是哪一个。如果灯泡是亮的,那么就是上面的开关关闭。如果是灯泡是熄灭的,那么就是下面的开关关闭的。   但是这并不是很直观,我们需要的是一个能存储数据的工具,这个电路好像并不能让我们简单的使用和操作   上面简单的电路其实就是我们说的RS触发器了,上面的开关就是置位器(Set),它可以把灯泡点亮,也就是置为1。下面的开关就是重置器(Reset),它可以把灯泡关闭,也就是置为0,等于重置电路。在重置器(Reset)为1时,外面的输入对置位器(Set)无效   让我们先把前面的RS触发器抽象画出来,如图:
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   把输入端S(Set),即上面的开关,表示置位   把输入端R(Reset),即下面的开关,表示复位   把输出端Q(Output),即灯泡的亮灭,表示状态   把输出端-Q(Output),表示灯泡相反的状态   你可以把“置位”理解为把 Q设为1, 而“复位”是把Q设为0。当S为1时(对应于前面图中闭合上面开关的情况),Q变为1而-Q变为 0;当R为1时(对应于前面图中闭合下面开关的情况),Q变为0而-Q变为1。当S和R都为0时,输出保持Q原来的状态   以上就是我们所说的RS触发器,它的作用很简单:通过输入端S(Set)把电路置为1,然后无论你在输入什么(拨动开关),电路的输出都保持为1,电路“记忆”了输入的值为1。如果你需要重置电路到初始状态,你需要通过输入端R(Reset),把电路重置为0,然后无论你输入什么(拨动开关),电路的输出都保持为0,电路“记忆”了输入的值为0   RS触发器能够记住哪一个输入端最近被输入高电位,这确实很有趣。但更有用的电路应该能记住某个特定时间点上上一个信号是0还是1。简单来说就是:我想电路有个数据端和控制端。我可以通过控制端,控制数据端的输入是否写入电路。如果可以写入,那么电路就记录数据端的数据,并保存数据。如果不可以写入,那么电路就维持上一次记录的数据,无论数据端输入什么数据都不要理   D型触发器   为了实现上面所说的要求,我们需要构造一个电路,我们先来思考一下它的行为功能第一   它需要两个输入,其中一个称为数据端(Data),数据端输入可以是0或1   另一个输入称为保持位(Hold that bit),保持端输入可以是 0或1第二   通常情况下,保持位设为0,这时,数据端对电路没什么影响   当保持位置为1时,电路就反映出数据端的值   接着保持位又置为0,这时电路将记住数据端输入的最近一个值   在保持位置为0时,数据端信号的任何改变不会对电路再有影响   它的功能如果用如下的真值表来表达:
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   这个真值表有很清楚的表达:   当保持位为1的时候,输出就是数据端的输入   当保持位为0的时候,输出就是上一次的数据   在前两种情况下,保持位置为1,Q端输出和数据端输入相同   在后两种情况下,保持位置为0,Q端输出和它以前的值相同,即保持原状态   后两种情况中当保持位为0时,Q端输出不再受数据端输入的影响,功能表可以简化表示为
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   X表示不关心其取值情况,它的值对于电路输出没有影响   直接给出D型触发器的电路图,它由RS触发器改进而来,如图:
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   这个电路称为电平触发的D型触发器,D(Data)表示数据端输入。所谓电平触发是指当保持位输入为某一特定电平(本例中为“ 1”)时,触发器才对数据端的输入值进行保存。它表示电路锁存住一位数据并保持至将来使用,它也可以称为 1位存储器   通常情况下,当这样一个电路出现在书中时,输入并不被标为保持位,而是标为“时钟”。 当然,这个信号并不是一个真的时钟,但它有时却具有类似钟一样的属性,即在 0和1之是有规律地来回变化
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   重点是:现在时钟只是用来指示什么时候保存数据   把数据端简写为D,时钟端简写为Clk,真值表如图所示
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   当时钟输入为1时,Q端输出与数据端输入是相同的。但当时钟输入变为0时,Q端输出将 维持原来的数据端输入,再改变数据端输入不会影响Q端输出,直到时钟输入再次变为1为止   看上去现在构造了符合我们要求的电路,为了更加直观,让我们把它换个标注:
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   这是同一个触发器!更改标注后,我们能更直观地知道这个电路的作用了   现在Q输出端命名为数据输出(Data Out)   时钟输入端(之前名为保持位)命名为写入(Write)   数据输入端(之前名为数据端)命名为数据输入(Data In)   写入信号使得数据输入(Data In)信号写入或存储到电路中   若写入信号(Write)为0,则数据输入(Data In)信号对输出无影响   而当我们想在触发器中存储数据输入信号时,写入信号(Write)应先置1后置0   注意:我们现在依然处于第一原则的输入数据部分,因为存储数据也只是为了优化输入数据这个步骤,让我们在使用数据的时候能更加快速并自动的读取这些数据给CPU使用   8位存储器   以上的记忆电路是根据第一层抽象的逻辑门构造而成的,并且只能记忆1位数据,信息虽然有限,但是却非常有用。一个触发器可保存1位信息,保存1位信息当然并不代表保存全部信息,但这是一个开端。一旦我们知道了如何存储 1位信息,就可以容易地存储2位、3位或更多位信息   但我们并不希望每次都画出一个电路图出来,所以根据我们的惯例,我们抽象出来二级工具,而这个就是我们开头所说的需要的工具
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   这个就是一位锁存器。DI是数据输入,W是写入控制,DO是数据输出   把多个1位锁存器连成多位锁存器是相当容易的,只需连接好写入信号
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   让我们再做个跟编码器一样的二级抽象工具:
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章
计算机组成原理唐朔飞第三章答案_计算机组成原理第五章   现在我们有了一个可以存储8位数据的存储器,我们只需要发出写信息,并且把数据输入到该锁存器,并且再把写信号置为0,就轻松实现了我们保存数据的目的。当我们需要读取数据的时候,只需要把写信号置0,那么我们就能从数据输出端得到我们上次存储的数据   我们现在实现的存储器还是非常低级和简单的,现实中存储器还要加上读写信号的控制,数据线和地址线等情况。这个存储器还只是单独存储8个比特的信息,如何存储大量数据,如何组织利用这些存储空间,以及如何读取数据等问题,还需要文件系统的支持。这些我们不用深究这么深,对我们的编程和理解计算机结构影响不大   当然,可能编程需要考虑存储的字大小,内存对齐,数据存取的效率问题,但一般我们遇不到这些问题,遇到了再查找资料即可,并不会很复杂,这里不再叙述   我们需要记住,计算机中处处是分层,我们要充分相信上层的工作   我们需要明确理解的概念是:什么是存储器。存储器帮我们记录上一次写入的二进制信息数据,方便我们读取和使用。这里算是进行了第二层抽象,我们利用第一层抽象(逻辑门电路),组成了一个第二层抽象(存储器)。现在,我们就拥有了第二个神奇的工具:存储器   只要发出对应的控制信号,它就能帮助我们把二进制数据存储进电路,例如我们存416,它自动会帮我们在电路中存储为,下次再发出读取的信号,就会返回具体的二进制数据给我们   内存和磁盘   需要说明的一点是,以上的数据存储电路,都是需要有电的情况下才能实现的。就好比你要灯泡亮,无论你开关怎么处理,都是需要通电灯泡才会亮。存储器也是同样的道理,存储器的电路之所以能记忆电路,也是需要在通电的情况下才能“记忆”0和1的状态,一旦断电,那么是没办法保持“记忆”的   这就是我们日常生活中所说的内存,是一种易失性的存储器。但是电脑中还有另一种永久存储数据的器件,就是硬盘。硬盘的原理这里不再细说,只需要记住:硬盘能够把这些二进制数据永久地存储在磁盘里面,不受供电的影响。当我们需要这些数据的时候,就给磁盘通电,读取磁道上磁性,转换为电路上的0和1,并把这些0和1作为输入数据,传给我们的内存,也就是传给我们存储器中的数据输入端,我们因此读取了数据。这个过程也叫做加载数据。可以搜索学习“硬盘的工作原理”   反过来也一样,当我们计算完数据,需要永久存储数据时,我们把数据输入给磁盘,文件系统会根据文件名,磁道,数据大小等规则,通过电流,把数据0和1在磁盘的磁道上刻下对应的磁极,从而永久保存数据   最后,上面的存储器是属于最简单的电路实现,我们现在用的内存或者存储器都是更加复杂和快速的,是经过十几年的研究和改进,才形成今天的内存条,但这并不影响我们对存储器底层实现逻辑的理解。我们应该把存储器抽象出来,作为一个可信任的工具,不用事无巨细地思考实现的细节,我们应该充分信任研发存储器的人员,他们能够准确迅速安全地存储我们给存储器的每一位比特,而我们只需要根据使用规则,正确使用存储器就可以了   现在,我们依然处在输入数据这个原则中,并且拥有了2个有用的工具:编码器(键盘)+ 存储器(内存&硬盘)   如果这篇文章对你有帮助,就点个赞,反正你们收藏了也不看的   上一篇罗罗的游戏:计算机组成原理:如何输入数据(键盘输入)(四)   下一篇罗罗的游戏:计算机组成原理:如何读取数据(地址选择)(六)   :游戏服务器开发

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/18306.html

(0)
上一篇 2024年 9月 16日
下一篇 2024年 9月 16日

相关推荐

关注微信