锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

操作系统:存储器——存储技术

时间:2023-01-04 13:00:01 rpm电容p48j5m密封连接器

前言

作为一名程序员,您需要了解存储层次结构,因为它对应用程序的性能有很大的影响。如果您的程序需要存储存储的数据CPU如果存储在寄存器中,则可以在指令执行期间0个周期内访问。如果存储在高速缓存中,则需要4~75个周期。如果存储在主存储器中,则需要数百个周期。如果存储在磁盘上,大约需要数千万个周期!

文章目录

  • 前言
  • 一、存储技术
    • 1. 随机访问存储器(部分)
      • 1.1 静态RAM
      • 1.2 动态RAM
      • 1.3 内存模块
      • 1.4 访问主存
    • 2. 磁盘存储
      • 2.1 磁盘构造
      • 2.2 磁盘容量
      • 2.3 磁盘操作
      • 2.4 访问磁盘
    • 3. 固态硬盘
  • end

一、存储技术

1. 随机访问存储器(部分)

随机访问存储器(Random-Access Memory,RAM)分为静态和动态两类。

静态RAM(SRAM)比动态RAM(DRAM)更快,但也贵得多。 SRAM 可用作高速缓存储器CPU芯片上,也可以在片下。DRAM用作主存和图形系统的帧缓冲区。典型的,桌面系统SRAM几兆字节不会超过,但是 DRAM但是有几百或几千兆字节。

1.1 静态RAM

SRAM一个存储每个位置双稳态的(bistable)存储单元每个单元使用六晶管电路这个电路有这样一个属性,它可以无限期地保持两个不同的电压配置(configuration)或状态(state)其中一个。任何其他状态都是不稳定的——从不稳定状态开始,电路将迅速转移到两个稳定状态中的一个。这样的存储单元类似于图中绘制的倒转钟摆。

在这里插入图片描述

当钟摆倾斜到最左或最右时,它是稳定的。钟摆会从任何其他位置倒向一侧或另一侧。钟摆原则上可以在垂直位置无限期保持平衡,但这种状态是亚稳态的(metastable)—最微妙的干扰也会使它倒下,一旦倒下,就永远不会回到垂直位置。
由于SRAM存储有电,存储器单元的双稳态特性就会始终保持其值。即使干扰(如电子噪声)扰乱电压,当干扰消除时,电路也会恢复到稳定值。

1.2 动态RAM

DRAM将每个位置存储为充电一个电容器。这个电容器很小,通常只有30毫微法拉(femtofarad.)——30×10^-15法拉。然而,法拉是一个非常大的计量单位。DRAM存储器可以非常密集—―每个单元由一个电容器和一个访问晶体管组成。但是,与SRAM 不同,DRAM存储单元对干扰非常敏感。当电容器的电压受到干扰时,它永远不会恢复。暴露在光线下会改变电容电压。

图中总结了SRAM和 DRAM存储器的特性。只要有电源,SRAM就会保持不变。与DRAM不同的是,它不需要刷新。SRAM的存取比DRAM 快。SRAM对光和电噪声等干扰不敏感。代价是SRAM单元比DRAM单元使用的晶体管较多,密度低,而且更贵,功耗更大。

1.3 内存模块

DRAM内存模块包装芯片( memory module)中间,它插入主板的扩展槽。Corei7系统使用的双列直插内存模块240个引脚(Dual Inline Memory Module,DIMM),它将数据传输到内存控制器,并将数据从内存控制器传输到64位。

内存模块的基本思想如图所示。示例模块使用8个64 Mbit的8M × 8的 DRAM总共存储64个芯片MB(兆字节)编号为0~7(兆字节)。每个超单元存储一个字节,并使用相应的超单元地址(i,j)主存中字节地址A处的64位字表示8个超单元。在图6-5的示例中,DRAMO存储第一个(低位)字节,DRAM按此类推,存储下一个字节。
内存控制器将A转换为超单元地址(i,j),并将其发送到内存模块,然后将主和j广播到每个内存模块 DRAM。作为响应,每一个DRAM输出它的(i,j)超级单元的8位内容。模块中的电路收集输出,并将其合并成64位字,然后返回到内存控制器。

1.4 访问主存

数据流通称为总线(bus)处理器和DRAM主存来回。次CPU和主存之间的数据传送都是通过一系列步骤来完成的,这些步骤称为总线事务(bus transaction)。读事务(read transaction)从主存传输数据到CPU。写事务(write transaction)从 CPU将数据传输到主存。

2. 磁盘存储

磁盘是一种广泛应用于保存大量数据的存储设备。基于数百到数千兆字节,存储数据的数量级可以达到数百到数千兆字节RAM存储器只能有几百或几千兆字节。然而,从磁盘上读取信息的时间是毫秒,比从 DRAM读慢了10万倍,比从从SRAM读慢了100万倍。

2.1 磁盘构造

磁盘是由盘片(platter)构成的。每个盘子都有两面或表面(surface),磁性记录材料覆盖在表面。盘子中央有一个主轴可旋转(spindle),它使盘子具有固定的旋转速率(rotational rate)通常是5400~15000转每分钟(Revolution Per Minute,RPM)。磁盘通常包含一个或多个这样的磁盘,并包装在密封容器中。

图a显示了磁盘表面的典型结构。每个表面由一组称为磁道(track)的同心圆组成的。每个磁道分为一组风扇(sector)。每个扇区包含相等数量的数据位(通常是512字节),这些数据编码在扇区上的磁性材料中。扇区之间由一些间隙(gap)在这些间隙中不存储数据位。间隙存储用于识别风扇区域的格式化位。

磁盘由一个或多个堆叠在一起的磁盘组成,它们包装在密封的包装中,如图b所示。整个装置通常被称为磁盘驱动器(disk drive),我们通常称之为磁盘(disk)。有时我们称磁盘为旋转磁盘(rotating disk),以区别于基于闪存的固态硬盘(SSD),SSD是没有移动部分的。

2.2 磁盘容量

磁盘上记录的最大位数称为其最大容量,或简称容量。磁盘容量由以下技术因素决定:

  1. 记录密度(recording density)(位/寸):可以放入磁道一寸段的位数。
  2. 磁道密度(track density)(道/英寸):磁道数可以从盘中心出发,半径上一英寸。
  3. 面密度(areal density)(位/平方英寸):记录密度和磁道密度的乘积。

计算公式:

2.3 磁盘操作

磁盘阅读/写头(read/write head)读写存储在磁性表面的位置,读写头连接到一个位置传动臂(actuator arm)一端,如图a所示。通过沿半径轴前后移动传动臂,驱动器可以在磁盘上的任何磁道上定位读写头。这种机械运动被称为寻道(seek)。一旦读/写头定位到了期望的磁道上,那么当磁道上的每个位通过它的下面时,读/写头可以感知到这个位的值(读该位),也可以修改这个位的值(写该位)。有多个磁盘的磁盘对每个磁盘都有一个独立的读写头,如图b所示。读写头垂直排列,行动一致。任何时候,所有的读写头都位于同一列。

2.4 访问磁盘

CPU使用一名字内存映射I/O(memory-mapped I/O)的技术来向I/O设备发射命令。使用内存映射I/O在系统中,地址空间中有一个地址I/O保留设备通信。每个这样的地址被称为1/O端口(I/O port)。当一个设备连接到总线时,它与一个或多个端口相关一个或多个端口)相关。

3. 固态硬盘

固态硬盘(Solid State Disk,SSD)在某些情况下,它是一种基于闪存的存储技术旋转磁盘的极有吸引力的替代产品。SSD封装插到I/O总线上标准硬盘插槽(通常是USB或SATA)中,行为就和其他硬盘一样,处理来自CPU的读写逻辑磁盘块的请求。一个SSD 封装由一个或多个闪存芯片和闪存翻译层(flash translation layer)组成,闪存芯片替代传统旋转磁盘中的机械驱动器,而闪存翻译层是一个硬件/固件设备,扮演与磁盘控制器相同的角色,将对逻辑块的请求翻译成对底层物理设备的访问。

读SSD比写要快。随机读和写的性能差别是由底层闪存基本属性决定的。如所示,一个闪存由B个块的序列组成,每个块由Р页组成。通常,页的大小是512字节~4KB,块是由32~128页组成的,块的大小为16KB~512KB。数据是以页为单位读写的。只有在一页所属的块整个被擦除之后,才能写这一页(通常是指该块中的所有位都被设置为1)。不过,一旦一个块被擦除了,块中每一个页都可以不需要再进行擦除就写一次。在大约进行100 000次重复写之后,块就会磨损坏。一旦一个块磨损坏之后,就不能再使用了。

随机写很慢,有两个原因。首先,擦除块需要相对较长的时间,1ms级的,比访问页所需时间要高一个数量级。其次,如果写操作试图修改一个包含已经有数据(也就是不是全为1)的页p,那么这个块中所有带有用数据的页都必须被复制到一个新(擦除过的)块,然后才能进行对页p的写。制造商已经在闪存翻译层中实现了复杂的逻辑,试图抵消擦写块的高昂代价,最小化内部写的次数,但是随机写的性能不太可能和读一样好。

end

节选自

《深入理解计算机系统》
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章