待补充 560

一、存储技术

1.1 随机存储内存

随机存储内存(Random-access memory,RAM)有两种形式——静态和动态。静态RAM(SRAM)速度更快,其价格也显著高于动态RAM(DRAM)。SRAM被用来作为缓存内存,DRAM被用来作为主存以及图像系统的帧缓存(frame buffer)。

1.1.1 静态RAM


1.1.2 动态RAM


1.1.3 传统DRAMs

DRAM芯片上的格子(cell)被划分成d个超格(supercell),每个超格包含w个DRAM格。一个d×wd\times wd×w的DRAM中可以存储dw位的信息。超格的组织形式是r行c列的长方形数组,其中rc=d。每一个超格都有(i,j)形式的下标,i代表行,j代表列。

例如,图6.3展示了一个16×816\times816×8的DRAM芯片的组织形式:

其中d=16超格,w=8位每超格,r=4行,c=4列。阴影部分指代在地址(2,1)处的超格。信息通过一种称为引脚(pins)的外部连接器流入和流出芯片。每个引脚携带1位的信号。图6.3展示了两类这样的引脚:一个8位的数据引脚,每次可以传递1字节的数据进入或流出芯片,还有一个2位的地址引脚,这个引脚携带了超格的行和列信息。其他传递控制信息的引脚没有显示在图中。

每个DRAM芯片都会连接到称为内存控制器(memory controller)的电路元件上,内存控制器可以一次传输进或传输出w位数据。为了读取位于(i,j)超格处的信息,内存控制器将行地址i及列地址j发送到DRAM中。DRAM将超格(i,j)中的内存返回到内存控制器中。行地址i被称为RAS请求(Row Access Strobe request),而列地址j被称为CAS请求(Column Access Strobe request)。注意RAS和CAS请求共享相同的DRAM地址引脚。

例如,为了从图6.3中的16×816\times816×8的DRAM中读取(2,1)超格,内存控制器会发送行地址2,如图6.4(a)中所示:

DRAM通过将row2中整行的数据拷贝进入一个内部行缓冲区中进行回应。接下来,内存控制器发送列地址1,如图6.4(b)中所示,DRAM将超格(2,1)中的8位数据从行缓冲区中拷贝出来,并将这些数据发送到内存控制器中。

1.1.4 内存模块


练习 6.1

1.1.5 增强的DRAMs

DRAMs内存有很多种类,新的种类随着处理器速度的快速提升而有规律地出现在市场上。每个新的种类都基于基本的动态内存格,但是这些种类会优化访问DRAM格的速度。

  • 快速页模式(fast page mode DRAM,FPM DRAM):传统的DRAM拷贝一整行超格进入内部行缓存中,但是仅仅使用其中一个并抛掉其他的。FPM DRAM通过允许连续访问行缓冲区中同一行来提高效率。例如,在传统DRAM中为了从行i中读取4个超格,内存控制器需要发送四对RAS/CAS请求,虽然每次行地址i都是相同的。在FPM DRAM中进行同样的读取时,内存控制器首先发送一个初始RAS/CAS请求,然后接下来会发送三个CAS请求。初始RAS/CAS请求将行i拷贝进入行缓冲区中,然后返回CAS寻址到的超格。接下来三个超格都是直接从行缓冲区中进行读取,因此要比原始的方式要快
  • 拓展数据流出DRAM(Extended data out DRAM,EDO DRAM):这是FPM DRAM的一种强化类型,allows the individual CAS signals to be spaced closer together in time.

1.1.6 非易失性内存(nonvolatile memory)

DRAM和SRAM是易失的,当失去电压后它们所存储的信息就都消失了。而非易失性内存在断电后仍然可以保存它们的数据。非易失性内存有很多种。从历史原因考量,它们共同被称为只读内存(ROMs),尽管一些ROMs可以被写入并读取。ROMS通过它们可以被写入及写入的机制进行区分。

可重编程ROM(programmable ROM,PROM)可以被重编程一次。PROMs内有一种熔断机制,每个内存格会被高电流熔断一次。

可擦除重编程ROM(EPROM)拥有一个透明石英窗口,允许光到达存储格。

1.1.7 访问主内存

数据在处理器和DRAM主内存间不断传输,通过称为总线(buses)的共享电路导线。在CPU和主存间的每次数据传输都通过一系列称为总线事务(bus transaction)的步骤完成。一个读事务(read transaction)将数据从主存传输到CPU,一个写事务(write transaction)将数据从CPU传输到主存。

总线是一组携带地址、数据及控制信号的并排的导线。取决于特定的导线设计,数据和地址信号可以共享同样的导线组,也可以使用不同的导线组。同样的,可以有多于两个设备共享相同的总线。控制线携带同步事务及辨别正在执行的是哪种事务的信号。例如,判断这个事务是有关主内存,还是有关一些其他的I/O设备,例如一个磁盘控制器。还可以判断这个事务是写事务还是读事务,这个在总线上的数据是地址还是数据项?

图6.6展示了一个示例计算机系统的说明:

最主要的组成部分是CPU芯片,一个称为I/O桥(I/O bridge)的芯片集,以及组成主存的DRAM内存模块。这些组成部分又一对总线连接起来:一个连接CPU和I/O桥的系统总线(system bus)以及一个连接I/O桥和主存的内存总线(memory bus)。

I/O桥将系统总线的电信号翻译为内存总线的电信号。I/O桥还会将系统总线和内存总线连接到一个I/O总线,这个I/O总线由I/O设备共享,例如磁盘和图形卡。现在,我们主要关注它连接内存总线的功能。

考虑当CPU执行一个装载指令时发生了什么,指令如下:

movl A,%eax

当将地址A处的内容装载进入寄存器%eax时,在CPU芯片上称为总线接口(bus interface)的电路器件会启动总线上的一个读事务。这个读事务包含三个步骤。首先,CPU将地址A放置到系统总线上。接下来I/O桥将这个信号传递到内存总线上(图6.7(a)所示):

接下来,主存会感受到内存总线上传来的地址信号,从内存总线上读取这个地址,从DRAM中获取数据字,并将数据写入内存总线。I/O桥将这个内存总线信号翻译为系统总线信号,并通过系统总线传递这个信号(图6.7(b))所示。最终,CPU会察觉到系统总线上的数据,从总线中读取数据,将它复制到寄存器%eax中(图6.7©)所示。

相反地,如果CPU执行一个存储指令,例如:

movl %eax,A

此时会将寄存器%eax中的内容写入地址A中,CPU会首先启动一个写事务。同样的,接下来有三个步骤。首先,CPU将地址放置于系统总线上。内存从内存总线中读取地址并且等待数据到来(图6.8(a))所示:

接下来,CPU将数据字从%eax寄存器复制到系统总线上(图6.8(b))所示。最终,主存从内存总线中读取数据,并将数据存储在DRAM中(图6.8©)所示。

1.2 磁盘存储

磁盘中存储了大量的数据,相比主存来说它的容量也十分庞大。但是从磁盘中读取数据要比DRAM中读取数据慢10万倍,比从SRAM中读取数据慢100万倍。

1.2.1 磁盘的几何结构

磁盘由盘片(platters)构成。每个盘片都有两边,或两个表面(surfaces),覆盖了磁性记录材料。盘片中心的旋转轴用一个固定的旋转速率旋转盘片,通常的速度为在5400到15000转每分钟(RPM)。一个磁盘通常包含一个或多个这种包装在密封容器内的盘片。



1.2.2 磁盘存储能力

待补充 606

6.1 存储技术介绍相关推荐

  1. 存储系统基础知识与RAID存储技术介绍【转载自微信公众号开源Linux】

    存储系统基础知识与RAID存储技术介绍 存储系统是整个IT系统的基石,是IT技术赖以存在和发挥效能的基础平台.早先的存储形式是存储设备(通常是磁盘)与应用服务器其他硬件直接安装于同一个机箱之内,并且该 ...

  2. 网络存储技术介绍(1) ( based on zt)

    最近由于某同学微信发了一些网络存储的文章,开始感兴趣,稍微收集了一些 一.  网络存储技术 http://ask.zol.com.cn/q/187044.html  (yxr:很老的技术介绍吧) 网络 ...

  3. 【存储】RAID 技术介绍和总结

    [存储]RAID 技术介绍和总结 简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能有很清楚的认识和掌握.本文将对RAID技术进行介绍和总结,以期能尽量阐明 ...

  4. 亿级数据湖统一存储技术实践

    导读:OPPO是一家智能终端制造公司,有着数亿的终端用户,手机 .IoT设备产生的数据源源不断,设备的智能化服务需要我们对这些数据做更深层次的挖掘.海量的数据如何低成本存储.高效利用是大数据部门必须要 ...

  5. 解读晦涩的存储技术缩略语

    这些日子以来有关存储技术的缩略语漫天飞舞,而且每天都好象不断冒出更多的新鲜词,所以要熟谙这些小东西还真是费神.事到如今,我们经常收到读者的电子邮件,询问这些令人难以捉摸的缩略语,以及它们对网络存储又有 ...

  6. IBM确定公司未来存储技术发展方向

    IBM工作人员.分析师.以及用户在星期三在旧金山IBM举行的媒体会议上对存储做了相关讨论,企业需要处理的数据量增长迅速.大量数据的出现需要更强更快的设备支持以便企业能握牢有用的信息. IBM 明确了两 ...

  7. iSCSI存储技术全攻略

    什么是iSCSI iSCSI(iSCSI = internet Small Computer System Interface )是由IEETF开发的网络存储标准,目的是为了用IP协议将存储设备连接在 ...

  8. MySQL—05—MySQL如何处理SQL语句;MySQL数据库存储引擎介绍;

    一. MySQL 中的执行计划 1 MySQL 执行计划 在 MySQL 中可以通过 explain 关键字模拟优化器,执行 SQL 语句,从而知道 MySQL 是 如何处理 SQL 语句的. 2 M ...

  9. 网易视频云分享:流媒体技术介绍(上篇)

    网易视频云分享:流媒体技术介绍(上篇) 网易视频云2016-04-14 11:49:49 创业 媒体 技术 阅读(949)评论(0) 声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代 ...

  10. 清华出品:一文看尽AI芯片两类瓶颈三大趋势,存储技术开拓新疆界 | 附全文...

    12月10日-11日,由北京未来芯片技术高精尖创新中心和清华大学微电子学研究所联合主办的「第三届未来芯片论坛:可重构计算的黄金时代」在清华大学主楼举办,并正式发布了<人工智能芯片技术白皮书(20 ...

最新文章

  1. python实现表格_零基础小白怎么用Python做表格?
  2. linux下进程的tty,Linux下TTY驱动程序分析
  3. LeetCode: Surrounded Regions [130]
  4. 【学习笔记】python - pyecharts
  5. 使用备用访问映射改变站点访问路径
  6. mysql复制架构迁移到pxc_2020-03-18 Mysql常见的HA中间层架构mmm,pxc,mha
  7. 带有Jersey和Spring的RESTful Web应用程序
  8. 维修点滴:键盘进杂物
  9. android 按钮控制线程,关于手机安卓-线程测试
  10. PO_本地一揽子采购协议(流程)
  11. 金蝶业务+sqlserver子查询
  12. Kotlin入门(32)网络接口访问
  13. css整理-03 文本
  14. 最全微信小程序源码项目开发代码合集
  15. 机器学习系列(11)_决策树挖掘NBA冠军球队数据
  16. 【掘金运营套路揭露】真心被掘金的套路....
  17. 工业计算机控制系统的分类,工业自动化系统组成和产品分类介绍
  18. JavaScript工具函数
  19. python当前运行目录_Python获取运行目录与当前脚本目录的方法
  20. 万豪国际集团公布新任首席执行官和总裁

热门文章

  1. 覆盖电商、推荐、ETL、风控等多场景,网易的实时计算平台做了啥?
  2. android自定义趋势图
  3. 七夕过后,我用Python分析了大家单身的原因,结果令人震惊...
  4. 就问你慌不慌:每天都有 一百万 程序员在投简历
  5. getvalue参数计数不匹配_数据人:不懂业务,分析就仅仅只是提数
  6. terminated 线程_一个 Java 线程生命周期,我竟然可以扯半小时
  7. c语言打字游戏程序设计报告,2016打字游戏程序设计报告.doc
  8. pythonsocket中tcp通信接收不到数据_通信中数据发生错误,接收方如何判决?检错码与纠错码必不可少...
  9. 填报true\false和复选框应用及导出打印显示复
  10. tina中信号带宽_如何理解选择示波器带宽的5倍法则 ?