许言

上文描述了寄存器的内部电路,本文讲述另一种电路,这种电路的输入与输出使用了相同一根导线,而不是上文的两根导线

当然了,依然以上升沿D触发器为基础,其中G是一个电子开关,与我们普通继电器开关相比,它的速度很快,当有电压的时候,开关通电,没有电压的时候,开关断开,并且W和R不能同时为1


写操作
当W=1(准确的说是从0变1),R=0的时候,Q=S,也就是说,D读取S的值,然后将S的值存储到Q端,如果此时S=1,那么Q就=1,如果S=0,那么Q就=0,这个过程就是写操作

读操作
当W=0,R=1时候,G点闭合,此时Q通过线路输出到S端,也就是说,S读取Q的值

它的简化表达方式如下

上述电路可以保存1个bit位置,但是我们知道内存是非常多bit位,所以应该对每个该电路单元进行连接,图5是一个保存3个bit的电路,假设现在我想将二进制110写入内存,则此时应该
W0=1,R0=0,S1=1,S2=1,S3=0

一个字节
像图5的电路,只有3个bit位,表示一次能同时写入或者读取3个bit位,如果是一次能读写8个bit位呢??想必不用我说,也知道我要表达什么了,图5这个整体叫做一个可读写单元,实际内存中,都是以1个字节作为一个可读写单元的

地址转换
假设内存中有N个可读写单元,那么如图6表示,这个电路会有个问题,就是从0-N,需要N条线,如果N=几亿,那么这个电路太大了

图8中有一个地址转换器,它将输入的值转换成指定位置的可读写单元,假设要读取单元1中的内容,可以认为单元1的地址是1,然后约定Add0是低位,Add2是高位,则Add2Add1Add0=001,推出
Add2=0
Add1=0
Add0=1
这就是普通的二进制转换,这样就能马上定位到要访问的内存地址了,那么具体是读,还是写,要取决于W和R

上图中Add最大值为2,所以这个地址有三条线,最大值表示111,也就是十进制的7,所以单元N最大=7,如果超过7,那么将无法寻址的到,这也正是:32位的CPU,无法寻址4GB以上内存的原因,假设我给我的32位电脑,配上一个8G的内存,是毫无意义的

好了,本文就到这里,今天是端午节,说端午快乐太简单,端午安康又太跟风,就祝大家端午牛逼吧

计算机系统-电路设计11-内存的内部电路实现(输入与输出同线)相关推荐

  1. 计算机系统-电路设计05-RS触发器的内部电路实现

    下面有图1这样的一个电路,大体上分上下两部分,每部分都由一个开关,一个或门,一个非门,加一个灯泡组成 将开关R闭合,闭合之后,就会出现图2的逻辑值,其中绿色线表示1,红色表示0 流程如下:R闭合,R= ...

  2. 计算机系统-电路设计10-寄存器的内部电路实现(输入与输出不同线)

    高丽洁的身材是真好 在之前介绍过上升沿D触发器,本文将D触发器进行稍微改造,则就会创造一个寄存器,图1中,将三个上升沿D触发器相连接,图1中开关是断开的,所以CP=0,三个输出均维持原来的值,无论输入 ...

  3. 计算机系统-电路设计07-上升沿D触发器的内部电路实现/移位寄存器/串行接口/并行接口

    D是英文Data的意思 之前的文章介绍了RS触发器的内部电路实现,该电路有个缺点,就是需要用R和S两个控制端输入,才能控制Q端的输出,为了减少复杂度,D触发器诞生了,D触发器通过一个输入端,控制一个输 ...

  4. 晶振及其内部电路详解

    晶振及其内部电路详解: 晶振原理:晶振,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低 的频率是串联谐振,较高的频率是并联谐振 ...

  5. C++11 并发指南七(C++11 内存模型一:介绍)

    第六章主要介绍了 C++11 中的原子类型及其相关的API,原子类型的大多数 API 都需要程序员提供一个 std::memory_order(可译为内存序,访存顺序) 的枚举类型值作为参数,比如:a ...

  6. Android内存解析(二)— 详解内存,内部存储和外部存储

    总述 觉得十分有必要搞清楚内存,内部存储和外部存储的区别,还有我们在开发中真正将数据存在了手机的哪儿. 先提一个问题:手机设置的应用管理中,每个App下都有清除数据和清除缓存,清除的分别是哪里的数据? ...

  7. Android开发中内存、内部存储、外部存储详解

    手机是有两个内存的.2G和16G同时出现在一个手机中,2G是指运行内存,16G是指存储内存. 手机的内存,分两种,一个是存储内存,相当于电脑的硬盘,一般手机参数里超过4G的都是指这个.存储内存是可以扩 ...

  8. 硬件设计——不一二电路设计(电源电路、接口电路、时钟电路)

    电源电路 电源电路设计中,功能性设计主要考虑温升和纹波大小.温升大小由结构散热和效率决定:输出纹波除了采用输出滤波外,输出滤波电容的选取也很关键:大电容一般采用低ESR电容,小电容采用0.1UF和10 ...

  9. tl494c封装区别_tl494详解(特性、封装、内部电路方框图)

    TL494是一种固定频率脉宽调制电路,它包含了开关电源控制所需的全部功能,广泛应用于单端正激双管式.半桥式.全桥式开关电源.TL494有SO-16和PDIP-16两种封装形式,以适应不同场合的要求.其 ...

最新文章

  1. 谷歌迂回入华:Waymo无人车抢先进驻上海!
  2. (转)Javascript模块化编程(一):模块的写法
  3. 【转】软件工程师的年终总结2
  4. Ubuntu 16.04安装VirtualBox 5.1实现无缝模式
  5. 【无码专区4】幸运数字4(折半搜索+计数+结论)
  6. 关于在vSphere环境中,安装WindowsServer2008_R2_x64系统,分区格式为GPT,隐藏分区为200M方法心得
  7. Java嵌入式数据库H2学习总结(一)——H2数据库入门
  8. mysql 时间 本周 本月_MySQL日期查询:本周、本月、本季、本年
  9. python炫彩界面_用 ESP32 制造炫彩 LED 球
  10. python可以引流吗_你都用 Python 来做什么?
  11. segmentation fault(core dump);Run-Time Check Failure #3 -The variable 'p' is being used without bein
  12. 分布式环境搭建之Redis安装及使用
  13. 电脑病毒怎么彻底清理?你不知道的8个方法
  14. 24 直面配分函数Confronting Partition Function
  15. 大数据平台数据治理体系建设和管理方案
  16. C++电话号码转对应字母
  17. 虚拟服务器中毒,虚拟机中毒会影响主机吗
  18. PL/0源程序C语言版
  19. 李锐:金龙客车DMS上云实践以及对网络、混合云、弹性、运维、安全的思考
  20. 三极管PNP与NPN控制区别

热门文章

  1. 不能正常判断按键函数中的Flag
  2. 学习iot_腾讯 AI Lab智慧农业组招收多名算法工程实习生 -- IOT/机器学习方向
  3. ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效---解决方法
  4. zookeeper无法启动的原因定位
  5. flink Sql查询异常NoResourceAvailableException: Could not acquire the minimum required resources
  6. Could not create a validated object, cause: ValidateObject failed
  7. C语言极坐标转直角坐标,C语言实现直角坐标转换为极坐标的方法
  8. mysql批量存图片_教你如何在MySQL数据库中直接储存图片(3)
  9. canvas刷新_【前端冷知识】Canvas 滤镜的性能优化
  10. Maven Install报错:Perhaps you are running on a JRE rather than a JDK