深入理解计算机系统(六)
作者:互联网
- 访问主存
数据流通过称为 总线(bus) 的共享电子电路在处理器和DRAM主存之间来来回回。每次CPU和主存之间的数据传送都是通过一系列步骤来完成的,这些步骤称为 总线事务(bus transaction)。读事务(read transaction) 从主存传送数据到CPU。写事务(read transaction) 从CPU传送数据到主存。
计算机系统的主要部件有CPU芯片、IO桥接器(芯片组,包括内存控制器),以及组成主存的DRAM内存模块。
当CPU执行如下读事务会发生什么?
m
o
v
q
A
,
%
r
a
x
movq\ A,\%rax
movq A,%rax
读事务是由以下三个步骤组成的。
当CPU执行如下写事务会发生什么?
m
o
v
q
%
r
a
x
,
A
movq\ \%rax,A
movq %rax,A
写事务是由以下三个步骤组成的。
6.1.2 磁盘存储
- 磁盘构造
- 磁盘容量
一个磁盘上可以记录地最大位数称为它的最大容量,简称容量。
- 记录密度(recording density)(位/英寸):磁盘一英寸的段中可以放入的位数。
- 磁道密度(track density)(道/英寸):从盘片中心出发半径上一英寸的段内可以有的磁道数。
- 面密度(areal density)(位/平方英寸):记录密度与磁道密度的乘积。
读/写磁盘内容时:
磁盘以扇区大小的块来读写数据 。对扇区的访问时间:
- 寻道时间:移动传动臂所需的时间。依赖于读/写头以前的位置和传动臂在盘面上移动的速度。
- 旋转时间:驱动器 等待目标扇区的第一个位旋转到读/写头下。依赖于当读/写头到达目标扇区时盘面的位置以及磁盘的旋转速度。
- 传送时间:当目标扇区的第一个位位于读/写头下时,驱动器就可以开始读或者写该扇区的内容了。依赖于旋转速度和每条磁道的扇区数目。
- 逻辑磁盘块
线代磁盘将它们复杂的构造呈现为一个简单的视图,一个B个扇区代销的逻辑块的序列,编号为0,1,…,B-1。磁盘封装中有一个硬件/固件设备,称为磁盘控制器,维护着逻辑块号和物理磁盘扇区之间的映射关系。
当操作系统想要执行一个I/O操作时,发送一个命令到磁盘控制器,控制器上的固件执行一个快速表查找,将一个逻辑块号翻译成一个 (盘面,磁道,扇区)的三元组,这个三元组唯一标识了对应的物理扇区。
- 连接I/O设备
虽然I/O总线比系统总线和内存总线慢,但是它可以容纳种类繁多的第三方I/O设备。
- 通用串行总线(Universal Serial Bus,USB)控制器:连接到USB总线的设备的中转机构。
- 图形卡(或适配器):包含硬件和软件逻辑,负责代表CPU在显示器上画像素。
- 主机总线适配器:将一个或多个磁盘连接到I/O总线,使用的是一个特别的主机总线接口定义的通信协议。两个最常用的磁盘接口SCSI和SATA。
- 访问磁盘
CPU使用一种称为内存映射 的技术来向I/O设备发射命令。在使用内存映射I/O的系统中,地址空间中有一块地址是为与I/O设备通信保留的。每个这样的地址称为一个I/O端口。当一个设备连接到总线时,它与一个或多个端口相关联(它被映射到一个或多个端口)。
其中,设备可以自己执行读或者写总线事务而不需要CPU干涉的过程,称为直接内存访问(Direct Memory Access,DMA)。这种数据传送称为DMA传送。
6.1.3 固态硬盘
固态硬盘(Solid State Disk,SSD) 是一种基于闪存 的存储技术。SSD封装插到I/O总线上标准硬盘插槽(通常是USB或SATA)中。一个SSD由一个或多个闪存芯片和闪存翻译层组成,闪存芯片替代传统旋转磁盘中的机械驱动器,而闪存翻译层是一个硬件/固件设备,扮演与磁盘控制器相同的角色,将对逻辑块的请求翻译成对底层物理设备的访问。
如下图,一个闪存由B个块的序列组成,每个块由p页组成。通常,页的大小是512字节 ~ 4KB,块是由32 ~ 128页组成,块的大小为16KB ~ 512KB。数据是以页为单位读写的。 只有在一页所属的块整个被擦除之后,才能写这一页(通常是指该块中的所有位都被设置为1)。
读SSD比写要快。随机读和写的性能差是由底层闪存基本属性决定的。
随机写很慢有两个原因:
- 擦除块需要相对较长时间,1ms级,比访问页所需时间要高一个数量级
- 如果写操作试图修改一个已有数据的页p,那么这个块中所有带有用数据的页都必须被复制到一个新(擦除过)块,然后才能进行对页p写。
优点: 固态硬盘由半导体存储器构成,没有移动的部件,因而随机访问时间比旋转磁盘要快,能耗更低,同时也更结实。
缺点:因为反复写之后,闪存块会磨损,所以SSD也容易磨损。
标签:计算机系统,闪存,总线,扇区,磁道,理解,深入,磁盘,CPU 来源: https://blog.csdn.net/Kiefer_lin/article/details/120634491