
当程序要读取数据时,将传入内存地址(行地址+列地址)。如果数据不在主内存中,则会触发页面错误异常。此时,系统将向磁盘发送磁盘读取信号。气缸号,磁头号,扇区号找到磁盘位置,找到数据的起始位置,然后向后读一页或几页,然后将其加载到内存中。
我们在程序中的数据处理主要是操纵磁盘和内存。硬盘是最常用的磁盘类型。曾经有所谓的软盘,它也是一种磁盘。其原理与硬盘相同。它们都使用磁性材料的特性用于存储信息。磁盘的原理是使用电磁转换。当我们学习物理学时,我们知道电可以使材料具有磁性,而当金属在磁场移动时切断感应线时,它将产生电流。磁盘上有许多磁性粉末颗粒。通过磁头写入数据时,磁头中的电流将导致磁粉极化并改变其方向。读取数据时,导体头穿过磁性颗粒区域会产生电流。无论如何,这可能意味着。
硬盘存储数据的原理:
我们知道信息存储在硬盘驱动器上,如果拆开它们,只有一些光盘看不到里面的任何东西。假设,如果使用显,磁头号,扇区号)
确定磁盘地址(气缸号,磁头号,扇区号),内存地址(源/目标):

当需要从磁盘读取数据时,系统会将数据的逻辑地址传递给磁盘,磁盘的控制电路将根据寻址逻辑将逻辑地址转换为物理地址,即是,确定要读取数据的磁道和扇区。面积。
要读取此扇区中的数据,您需要将磁头置于该扇区上方,以实现此目的:
1)必须首先找到圆柱体,也就是说,磁头需要移动以与相应的轨道对齐。此过程称为寻道,花费的时间称为寻道时间。
2)然后,目标扇区在磁头下方旋转,即,磁盘旋转使目标扇区在磁头下方旋转。在此过程中花费的时间称为旋转时间。
磁盘访问请求(读/写)的完成过程包括三个操作:
1)搜索(时间):头部移动并定位到指定的轨道
2)旋转延迟(时间):等待指定扇区在磁头下方旋转

3)数据传输(时间):磁盘和内存之间的实际数据传输
内存的读写原理:(行地址+列地址)
内存地址
存储器中的单元按矩阵排列。每行和每一列将具有对应的行地址线(通常称为字线)和列地址线(通常称为位线),每个特定的单元连接到这样的行地址电路和列地址电路,对应于唯一的行号和列号。将行号和列号组合在一起就是内存地址。
上图是Thaiphoon Burner的SPD转储。每个地址都是一个字节。但是,我们可以假设这些数据只有一位,作为一个简单的内存地址表,行地址在左侧是垂直的,而列地址在顶部是水平的。例如,如果我们要在第七行和倒数第二列(地址7E)中找到数据,则它只有一个对应的值:FD。当然,在存储单元中,只能为0或1。
寻址
要将数据写入存储器中的单元,或从存储器中的单元读取数据,必须首先完成该单元的寻址。在寻址过程中,首先将要操作的单元的行地址信号和列地址信号输入到行/列地址缓冲器中,然后通过行选择特定的行地址线以激活特定的行地址。每行地址线连接到多个列地址线和单元。为了检测列地址线上的弱激活信号,需要一个额外的读出放大器(Sense Amplifier)来放大此信号。当激活该行时,列地址缓冲区中的列地址信号由列(Column Decoder)确定,并通过相应的读出放大器连接到IO线,因此该单元被激活并可以读取和读取。书面。地址完整。从激活行地址到找到列地址的时间为tRCD。

从内存读取到磁盘先读取
由于存储介质的特性,磁盘访问比主存储器要慢得多。加上机械运动的成本,磁盘访问速度通常是主存储器的百分之几。因此,为了提高效率,请最小化磁盘I / O。为了实现此目标,通常不严格按需读取磁盘,而是每次都预先读取。即使只需要一个字节,磁盘也将从该位置开始,并顺序地向后读取一定长度的数据,然后将其放入内存。其理论基础是计算机科学中著名的局部性原理:
使用一条数据时,通常会立即使用附近的数据。
程序中所需的数据通常是集中的。
由于磁盘顺序读取效率很高(不需要寻道时间,只需要很小的旋转时间),因此对于本地程序,预读取可以提高I / O效率。
预读的长度通常是页面的整数倍。页面是计算机管理内存的逻辑块。硬件和操作系统通常将主存储器和磁盘存储区域划分为大小相等的连续块。每个内存块都称为一个页面(在许多操作系统中,页面大小通常为4k)。主内存和磁盘以页面为单位交换数据。当程序要读取的数据不在主存储器中时,将触发页面错误异常。此时,系统将向磁盘发送磁盘读取信号,磁盘将找到数据的起始位置并连续读取一页或几页。加载到内存中,然后异常返回,程序继续运行。
参考:
硬盘读写原理
记忆的工作原理和时机介绍
深入了解记忆:原理介绍
原始链接:
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/dianqi/article-331867-1.html
远远不如拉森号或者我们的海口号
这是一个好演员
美国把伊拉克蹂躏了
如果生虫是真的