现代的PC(包括NB)都是以存储器为核心的多总线结构,即CPU只通过存储总线与主存储器交换信息(先在Cache里找数据,如果找不到,再去主存找)。输入输出设备通过I/O总线直接与主存储器交换信息。在I/O设备和主存储器之间配置专用的I/O处理器。CPU不直接参与I/O设备与主存储器之间的信息传送。

  存储器分为内部存储器和外部存储器(或者叫主存储器和辅助存储器)。内部存储器简称内存,也可称为主存。从广义上讲,只要是PC内部的易失性存储器都可以看作是内存,如显存,二级缓存等等。外部存储器也称为外存,主要由一些非易失性存储器构成,比如硬盘、光盘、U盘、存储卡等等。

  内存作为数据的临时仓库,起着承上启下的作用,一方面要从外存中读取执行程序和需要的数据,另一方面还要为CPU服务,进行读写操作。所以主存储器快慢直接影响着PC的速度。下面我就从内存的原理开始谈起。

  ①内存寻址

  首先,内存从CPU获得查找某个数据的指令,然后再找出存取资料的位置时(这个动作称为“寻址”),它先定出横坐标(也就是“列地址”)再定出纵坐标(也就是“行地址”),这就好像在地图上画个十字标记一样,非常准确地定出这个地方。对于电脑系统而言,找出这个地方时还必须确定是否位置正确,因此电脑还必须判读该地址的信号,横坐标有横坐标的信号(也就是RAS信号,Row Address Strobe)纵坐标有纵坐标的信号(也就是CAS信号,Column Address Strobe),最后再进行读或写的动作。因此,内存在读写时至少必须有五个步骤:分别是画个十字(内有定地址两个操作以及判读地址两个信号,共四个操作)以及或读或写的操作,才能完成内存的存取操作。

  ②内存传输

  为了储存资料,或者是从内存内部读取资料,CPU都会为这些读取或写入的资料编上地址(也就是我们所说的十字寻址方式),这个时候,CPU会通过地址总线(Address Bus)将地址送到内存,然后数据总线(Data Bus)就会把对应的正确数据送往微处理器,传回去给CPU使用。

  ③存取时间

  所谓存取时间,指的是CPU读或写内存内资料的过程时间,也称为总线循环(bus cycle)。以读取为例,从CPU发出指令给内存时,便会要求内存取用特定地址的特定资料,内存响应CPU后便会将CPU所需要的资料送给CPU,一直到CPU收到数据为止,便成为一个读取的流程。因此,这整个过程简单地说便是CPU给出读取指令,内存回复指令,并丢出资料给CPU的过程。我们常说的6ns(纳秒,秒-9)就是指上述的过程所花费的时间,而ns便是计算运算过程的时间单位。我们平时习惯用存取时间的倒数来表示速度,比如6ns的内存实际频率为1/6ns=166MHz(如果是DDR就标DDR333,DDR2就标DDR2 667)。

  ④内存延迟

  内存的延迟时间(也就是所谓的潜伏期,从FSB到DRAM)等于下列时间的综合:FSB同主板芯片组之间的延迟时间(±1个时钟周期),芯片组同DRAM之间的延迟时间(±1个时钟周期),RAS到CAS延迟时间:RAS(2-3个时钟周期,用于决定正确的行地址),CAS延迟时间 (2-3时钟周期,用于决定正确的列地址),另外还需要1个时钟周期来传送数据,数据从DRAM输出缓存通过芯片组到CPU的延迟时间(±2个时钟周期)。一般的说明内存延迟涉及四个参数CAS(Column Address Strobe 行地址控制器)延迟,RAS(Row Address Strobe列地址控制器)-to-CAS延迟,RAS Precharge(RAS预冲电压)延迟,Act-to-Precharge(相对于时钟下沿的数据读取时间)延迟。其中CAS延迟比较重要,它反映了内存从接受指令到完成传输结果的过程中的延迟。大家平时见到的数据3—3—3—6中,第一参数就是CAS延迟(CL=3)。当然,延迟越小速度越快。

内存的寻址、传输、存取时间与延迟原理介绍相关推荐

  1. 内存系列二:深入理解硬件原理

    本篇文章承接上文继续介绍DDR内存的硬件原理,包括如何寻址,时序和时延以及可以为提高内存的效能可以有哪些方法. 上次虽然解决了小张的问题,却引发了他对内存原理的兴趣.这不他又来找我了,说我还欠他一个解 ...

  2. CPU 与 Memory 内存之间的三级缓存的实现原理

    title: CPU Cache date: 2019-11-17 20:20:30 keywords: cache "CPU cache" "三级缓存" 缓存 ...

  3. CPU 与 内存之间的三级缓存的实现原理

    一. CPU 与 Memory 内存之间的三级缓存的实现原理 1.1 cache 存在的原理   引入 Cache 的理论基础是程序局部性原理,包括时间局部性和空间局部性.时间局部性原理即最近被CPU ...

  4. (王道408考研操作系统)第三章内存管理-第一节1:内存基础知识、程序编译运行原理

    注意:本节内容和<计算机组成原理>"存储器"那一部分内容相关性很强,组成原理是从硬件角度,操作系统是从软件角度.因此如果没有学习过这部分的同学,强烈建议先看这一部分 王 ...

  5. ntp同步 mysql_解析Mysql 主从同步延迟原理及解决方案

    MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以 ...

  6. MYSQL主从不同步延迟原理分析及解决方案

    MYSQL主从不同步延迟原理分析及解决方案 参考文章: (1)MYSQL主从不同步延迟原理分析及解决方案 (2)https://www.cnblogs.com/shishanyu/p/7977835. ...

  7. 深入解析Mysql 主从同步延迟原理及解决方案

    深入解析Mysql 主从同步延迟原理及解决方案 参考文章: (1)深入解析Mysql 主从同步延迟原理及解决方案 (2)https://www.cnblogs.com/fengff/p/1101170 ...

  8. “内存不能为read/written”是什么原理?

    "内存不能为read/written"是什么原理: 翻译错误,原文:This memory cannot be read/written,应当翻译为内存不能被读取/写入 内存有个存 ...

  9. 内存泄漏的3个解决方案与原理实现,掌握一个轻松应对开发丨内存池|mtrace||API实现|框架封装|中间件|异步请求|连接池

    内存泄漏的3个解决方案与原理实现,掌握一个轻松应对开发 视频讲解如下,点击观看: 内存泄漏的3个解决方案与原理实现,掌握一个轻松应对开发丨内存池|mtrace||API实现|框架封装|中间件|异步请求 ...

最新文章

  1. MongoDB是个好东西,希望你也会
  2. 命名实体识别新SOTA:改进Transformer模型
  3. 通过插件自动将maven项目打成jar包的同时将当前项目依赖的第三方Jar包一起打包
  4. 线程Java的两种方式_多线程(java和guava两种方式):
  5. 897. 递增顺序查找树-未解决
  6. 主干开发前要知道的,4错误认识+3优势
  7. mysql 每组取一条_MySql分组后随机获取每组一条数据的操作
  8. opencv 环境相关
  9. Exp4恶意软件分析 20154326杨茜
  10. 任正非发声:把活下来作为最主要纲领;安卓山寨 iOS 启动器下载超 5000 万次;公司停电,程序员去网吧写代码 | EA周报...
  11. linux把 root文件夹删除文件,在Linux下删除顽固文件和目录
  12. php获取扫描枪数据,条码扫描枪的读取技巧
  13. Micrium 开放了µC/OS-III源代码
  14. 好用的三维绘图软件CREO绘制椭圆
  15. python获取键盘按键键值_python获取键值
  16. 高中python教程_杭师大顶级初高中Python课程师训,酷哥优秀教师授课获赞!
  17. 日常英语---八、REBOOT - What is the difference? -MapleStory
  18. 前端模块化——彻底搞懂AMD、CMD、ESM和CommonJS
  19. MSproject软件在项目管理中实际操作干货
  20. vue 导出excel文件 利用 excelJs插件

热门文章

  1. 计算机基础知识1000题,计算机基础知识题库1000道,这一千道题比较好.doc
  2. C++类的成员函数(在类外定义成员函数)
  3. TM1637数码管显示
  4. com.netflix.client.ClientException: Load balancer does not have available server for client: userser
  5. C++:关于保留小数和保留有效数字。
  6. 三分钟带你学会修改VS的默认对齐数
  7. 服务器虚拟化书籍,服务器虚拟化解决方案书模板-精选版.doc
  8. 补码-加法与减法运算
  9. 我逛遍各大论坛,分享这份大厂招聘总结:涵盖Java岗位95%+真题
  10. 用好WinXP自带的虚拟光驱