存储
对逻辑门不了解的建议先阅读这篇小文章:布尔运算和逻辑门
本课链接(B站):计算机科学速成课第六课
本节主要内容:ROM和寄存器的理论模型
1、永久Memory(ROM)
来自百度百科:
只读存储器(Read-Only Memory,ROM)以非破坏性读出方式工作,只能读出无法写入信息。信息一旦写入后就固定下来,即使切断电源,信息也不会丢失,所以又称为固定存储器
举例:
:ROM组成图示:
若output初始值为1
若output初始值为0
如图所示,以上两种寄存器,无论Input的值为多少,Output的值都不会改变(保持初始值不变),即只能读出无法写入信息。
2、锁存器:
在使用计算机的过程中,永久Memory并不能够进行写入操作,那有什么办法可以使得用户做到写入数据呢?
来自百度百科:
锁存器:是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态
解释一下这句话就是,锁存器是可以在特定输入时,允许用户写入。
举例:
: AND-OR锁存器图示 :
在上图这个例子中,reset为特定输入,当reset=0时,允许用户写入(即set值可以改变output值);当reset=1时,用户只能读出无法写入(即set值无法改变output值)。
假设output的初始值为0,进行如下操作:
:reset=1:
图中黄色代表通路
由上图可知,当reset=1时,reset输入所在的通路经过not逻辑门和and逻辑门后,永远为假(即0)。此时set的值无法改变output的值(即无法写入)。
:reset=0:
图中黄色代表通路
由上图可知,当reset=0时,reset输入所在的通路经过not逻辑门后,永远为真(即1)。此时output的值由set的值决定(即允许写入)。
小总结:
1、锁存器可以在特定输入脉冲电平作用下改变状态。在所举的例子中,reset的值就是这个决定锁存器状态的特定输入,当reset的值为0时,用户可以进行写入操作;当reset的值为1时,只有读取功能。
2、类似这样的锁存器的还有很多种,它们的特点是,根据一个特定输入,转换锁存器的编辑状态(可编辑状态/不可编辑状态),从而达到写入和读取的效果。
3、:锁存器概念图:
3、寄存器(REG)
一个锁存器中可以存储一个数字,一个数字的位数,叫做锁存器的位宽(即位)
想要写入和读取n个位宽的数据,就需要n个锁存器。而一组n个锁存器,就组成了寄存器。
来自百度百科:
寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的
举例:
:256位寄存器:
如图所示,该寄存器为256个锁存器16✖16排列组成的256位寄存器。其中的8位地址线为写入和读取时寻找寄存器所用。
- 为什么是8位地址线呢?
举例 :如第12行第8列的寄存器,地址为11001000。
也就是说,每个锁存器都对应着自己独一无二的地址。8条地址线,可以表示2的8次方(即256个地址)。而在256位寄存器中,共有256个锁存器。能够满足一个锁存器一个地址的条件。
总结:
1、存储器分为ROM和RAM两种
2、ROM:Read-Only Memory,只读存储器。断电数据不丢失。
3、RAM:Random Access Memory,随机存取存储器(可存可取)。断电数据丢失。
一则提问:
1、寄存器和RAM的区别是什么呢?
看了很多种说法,有的说REG可以看成是一种特殊的寄存器,也有的说RAM可以看成是由REG组成的,我目前的理解是REG和RAM的理论结构的差异不是很大,只是这些不是很大的差异会使得RAM更快一些并且保存数据无上限(随时更新)。现在还不是很懂这个,坐等大佬的解答。
以上均为个人学习所得见解,若有错误或不足欢迎补充和指正