ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

深入理解计算机系统(六)

2021-10-07 12:02:43  阅读:191  来源: 互联网

标签:计算机系统 闪存 总线 扇区 磁道 理解 深入 磁盘 CPU


  1. 访问主存

数据流通过称为 总线(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 磁盘存储

  1. 磁盘构造

在这里插入图片描述

  1. 磁盘容量

一个磁盘上可以记录地最大位数称为它的最大容量,简称容量

  • 记录密度(recording density)(位/英寸):磁盘一英寸的段中可以放入的位数。
  • 磁道密度(track density)(道/英寸):从盘片中心出发半径上一英寸的段内可以有的磁道数。
  • 面密度(areal density)(位/平方英寸):记录密度与磁道密度的乘积。

在这里插入图片描述

读/写磁盘内容时:

在这里插入图片描述

磁盘以扇区大小的块来读写数据 。对扇区的访问时间:

  • 寻道时间:移动传动臂所需的时间。依赖于读/写头以前的位置和传动臂在盘面上移动的速度。
  • 旋转时间:驱动器 等待目标扇区的第一个位旋转到读/写头下。依赖于当读/写头到达目标扇区时盘面的位置以及磁盘的旋转速度。
  • 传送时间:当目标扇区的第一个位位于读/写头下时,驱动器就可以开始读或者写该扇区的内容了。依赖于旋转速度和每条磁道的扇区数目。
  1. 逻辑磁盘块

线代磁盘将它们复杂的构造呈现为一个简单的视图,一个B个扇区代销的逻辑块的序列,编号为0,1,…,B-1。磁盘封装中有一个硬件/固件设备,称为磁盘控制器,维护着逻辑块号和物理磁盘扇区之间的映射关系。

当操作系统想要执行一个I/O操作时,发送一个命令到磁盘控制器,控制器上的固件执行一个快速表查找,将一个逻辑块号翻译成一个 (盘面,磁道,扇区)的三元组,这个三元组唯一标识了对应的物理扇区。

  1. 连接I/O设备

虽然I/O总线比系统总线和内存总线慢,但是它可以容纳种类繁多的第三方I/O设备。

  • 通用串行总线(Universal Serial Bus,USB)控制器:连接到USB总线的设备的中转机构。
  • 图形卡(或适配器):包含硬件和软件逻辑,负责代表CPU在显示器上画像素。
  • 主机总线适配器:将一个或多个磁盘连接到I/O总线,使用的是一个特别的主机总线接口定义的通信协议。两个最常用的磁盘接口SCSI和SATA。

在这里插入图片描述

  1. 访问磁盘

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有