首页 > 其他分享 >第三回:数据何所依,硬盘话原理

第三回:数据何所依,硬盘话原理

时间:2023-05-22 15:32:21浏览次数:50  
标签:阿飞 控制器 何所依 DMA 总线 内存 第三回 硬盘


公众号原文


前情回顾:《第一回:天才闯秘境,绝地寻生机》

上回说到,阿飞从混沌中醒来,意外发现自己的大脑被数据化存储到了一台计算机内存中,根据神秘声音的指示,他需要赶紧联系网卡找到自己大脑的另一半然后逃离这里。不料内存却告诉他,如果不赶紧把自己持久化存储起来,一旦计算机关闭他就会消失···

“怎么,怎么持久化存储起来?”,阿飞一下紧张起来,说话竟都有些结巴了。

刚说完,阿飞的眼前又划出了一道光亮,光线指向的远处,他看到了另一个庞然大物。

“这是硬,硬盘?”


第三回:数据何所依,硬盘话原理_持久化存储

“没错,我这里不是久留之地,一旦断电了数据就都消失了。硬盘可以持久化存储数据,就算没有供电,数据也依然存在,你要是能到那里就安全了”,内存说到。

“那我怎么才能从这里到硬盘里去呢?”

“这事得找CPU,这台计算机上是一个x86-64架构的CPU,他有两条指令:inout,可以用来从硬盘上读写数据,他可以用mov指令把你读到寄存器中,再用out指令把你写到硬盘上”

mov bx, addr;
.rep:
  mov ax, [bx];
  out port, ax;
  add bx, 2;
  loop .rep

“寄存器?那才几个字节,这样折腾不得写好久?唉,说到这,我连我自己有多少数据量都还不知道,内存大哥,你看下我有多少字节?”,阿飞问到。

内存条顿了顿,计算了起来,片刻之后回答道:“20210529个字节,差不多20MB”

怎么才20MB,我的大脑就这么点数据吗,就算只有一部分那也太少了吧?阿飞心里这样想着,感到有些诧异。

“让我算一下,这得传输多少次···20MB,一次2个字节···就是···”,阿飞念念有词的计算起来。

“不用算了,我给你算好了,就算一次传送4个字节,CPU也得读写五百多万次”,内存打断了阿飞。

“什么?这也太慢了!”,阿飞失望的说到。

“你嫌慢?CPU大哥估计还不愿意干这活呢”

“啊?为什么?”

“这种传输方式叫Programming Input/Output,简称PIO,因为传输效率低下,这会花去CPU大量时间,不能去执行其他程序了,所以现在他们很少用这方式来传输数据了”

“那言下之意,还有别的办法了?别卖关子了,快告诉我吧!”,阿飞急的问到。

“有,用DMA的方式,直接让DMA控制器通过总线把你传输到硬盘中,数据不用经过CPU老大哥”

DMA?阿飞一下想起了什么,“这个东西我在大学课本上学过,叫直接存储器访问(Direct Memory Access),由DMAC,也就是DMA控制器来负责数据的传输,我记得DMAC好像是一个编号叫8257的芯片,他现在在哪里?”


第三回:数据何所依,硬盘话原理_计算机原理_02

内存不禁笑出了声:“什么8257,那都是哪个年代的老黄历了,那玩意早就下岗了。”

“那现在DMAC在哪里?”

“看到硬盘不远处的那块芯片了吗,那就是PCH,也就是你口中说的南桥芯片,它里面集成了SATA控制器,用于控制那个SATA接口的硬盘,SATA控制器中又集成了DMA控制器,一会儿就由他把你传输过去。”


第三回:数据何所依,硬盘话原理_持久化_03

“看来我学的课本真过时了,你赶紧帮我联系一下,我很着急啊”,阿飞催促到。

“这可不行,我只是一个总线从设备,只能被动接收命令时使用总线,只有总线主设备才能主动使用总线,等着吧”

等?阿飞的心一下又悬了起来,“那谁是主设备呢?”

“CPU老大,他是最大的主设备,还有DMA控制器们,他们也是主设备,等一会儿硬盘的DMA控制器找我通信时,我帮你给他带个话,让他把你传输过去”,内存说到。

阿飞只好耐着性子等了起来,不时又想起神秘老者的话,他急的像热锅上的蚂蚁,不知道如何是好。

“这要等多久?”,阿飞忍不住问到。

不过这一次,内存没有理他。

过了好一阵···

“快来了!我看到DMA控制器发出总线申请信号了”,内存说到。

“什么意思?”,阿飞有些不太明白。

“之前不是给你说过了吗,咱们主板上各部件之间通信都得通过总线系统,这总线系统英文名叫bus,也就是公共汽车的意思,所有人共享的。但共享得有个章法,不能大家一起用,那就乱了套了,所以主设备们要使用之前,都得发出申请,交给总线仲裁器来判定由谁来使用”


第三回:数据何所依,硬盘话原理_数据_04

“共享?那么多设备,忙得过来吗?”

“很早以前的ISA总线只有几十MB/s,设备连得多了以后确实不太忙得过来,不过后来改成PCI总线就快多了,有几百MB/s了。到现在这台计算机中的PCIe总线,能达到好几GB/s,完全忙得过来”

“就这一根线,能传输的这么快?”

内存又忍不住笑了出来,“总线可不是一根线,那可是几十上百根线呢,数据、地址、时钟还有各种控制信号,一根线哪里够”

“原来如此,我一直以为总线就是一根线呢,看来又被课本上的图给误导了···”,阿飞若有所思的说到。

“来了来了,消息来了,我得去忙了,你等我一下,我把你的情况给DMA控制器说一下”,阿飞还沉浸在自己的思索中,内存又接着说到。

阿飞又开始紧张起来,一会儿就要去硬盘里了,那里又是怎样一副天地,心里一点数也没有,既期待又害怕。

无聊之际,阿飞又试图回忆自己是如何来到这里,却依旧是一阵头晕,看来自己的大脑数据真是缺失了一部分,忙完持久化存储的事情,得赶紧找网卡帮我把信息传递出去才行。

等了好久,内存条终于来了消息:“你快准备好,我已经跟硬盘的DMA控制器说好了,马上就来传输你”

话音刚落,还没等阿飞反应过来,只感觉一阵电流窜遍全身,接着像是在一股巨大的引力撕扯下,阿飞感觉自己被吸入了一个漩涡,身旁的一切飞速向后退去,心脏都快要从身体里跳了出来,打出生以来他哪里见过这阵仗。


第三回:数据何所依,硬盘话原理_数据_05

“快看,来了一个新文件”

“这家伙是什么格式的,怎么从来没见过”

···

迷迷糊糊中,阿飞听到有人在说话,慢慢睁开眼睛,才发现自己不知什么时候竟然睡了过去,一定是刚才那阵引力把我弄晕了,阿飞心里这样想着。

阿飞环顾四周,仍旧是一片漆黑。

“内存大哥?内存大哥?”,阿飞叫了两声。

“什么内存大哥,这里是硬盘”,不远处一个声音传来。

看来成功来到硬盘了,阿飞长舒了一口气,再也不用担心断电了。


第三回:数据何所依,硬盘话原理_计算机原理_06

突然,一个巨大的东西从远处飞了过来,在阿飞眼前划出了一束电子流,刹那间,四周全被照亮。

这时,阿飞看到了刚才那声音的源头···

预知后续如何,请看下回:

数据何所依,硬盘话原理

标签:阿飞,控制器,何所依,DMA,总线,内存,第三回,硬盘
From: https://blog.51cto.com/u_15202985/6324798

相关文章

  • ubuntu 虚拟机单硬盘扩容
    初始状态#查看磁盘情况fdisk-l#查看分区情况df-h增加虚拟机硬盘空间原硬盘空间为60GB,更改为80GB,扩容20GB更改后,通过fdisk-l并不能看到磁盘空间改变,需要重启虚拟机reboot或shutdown-rnow重启服务器重启后,通过fdisk-l查看磁盘空间已增加20GB,但上面有......
  • 群晖硬盘容量计算器,硬盘组raid或者SHR还有多少可用空间
    群晖硬盘容量计算器 点我去计算:RAID容量计算器|群晖科技SynologyInc.  ......
  • Ubuntu22.04 将EFI启动分区迁移到另一块硬盘
    机器上有两块硬盘,一块已经安装了Win10,另一块新装Ubuntu22.04,在新硬盘上划分分区的时候,有分出256M给BOOTEFI,但是安装的时候没注意,启动分区不知道怎的跑到Windows所在的硬盘上了记录一下将/boot/efi分区迁移至Ubuntu所在硬盘,并创建Grub的记录.预留的boot......
  • linux 系统中查看总内存、总硬盘、总逻辑CPU数目
     001、总内存[root@PC1test]#free-htotalusedfreesharedbuff/cacheavailableMem:3.7G830M1.8G38M1.1G2.5GSwap:3.9G0B3.9G  002、......
  • 挂载硬盘
    挂载硬盘https://blog.csdn.net/qq_31708763/article/details/86506959https://www.jb51.net/article/162363.htm两篇文章结合用 首先我们使用命令df-TH查看当前系统挂载的情况:我们看到并没有挂载新的数据盘,数据盘是200多G的。然后通过命令fdisk-l查看硬盘信息。可以......
  • centos 格式化硬盘 ,挂载
     在CentOS上格式化硬盘并挂载,可以按照以下步骤进行操作:首先,使用fdisk命令分区并格式化硬盘。假设要格式化的硬盘为/dev/sdb,可以使用以下命令:  fdisk/dev/sdb然后按照提示进行分区操作。n:创建一个新分区d:删除一个......
  • 服务器使用中硬盘故障的常规表现
    服务器使用中硬盘故障的常规表现 服务器硬盘作为服务器的核心数据仓库,所有用户数据以及软件都存在于此,它的稳定与安全与否直接决定着服务器数据安全。服务器每时每刻都需要对数据进行记录和读取,而这个过程也对服务器的硬盘有着很大的联系,硬盘就是服务器的一个主要存储空间,存储着......
  • VMware硬盘类型厚置备延迟置零 、 厚置备置零、精简置备的区别
    1、厚置备延迟置零(zeroedthick)以默认的厚格式创建虚拟磁盘。创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,但是以后从虚拟机首次执行写操作时会按需要将其置零。简单的说就是立刻分配指定大小的空间,空间内数据暂时不清空,以后按需清空。 2、厚......
  • 将windows操作系统(win10)装入移动硬盘
    1.准备windows系统镜像比如我的iso镜像:zh-cn_windows_10_business_editions_version_22h2_updated_april_2023_x64_dvd_c03ed5aa.iso镜像挂载后可以看到关键文件 2.对移动硬盘进行分区 listdiskselectdiskncleanconvertgptselectpartition1deletepartiti......
  • 【触想智能】工业平板电脑使用固态硬盘的优势分析
    工业平板电脑是集工业触摸屏、液晶显示器、主机与一体的工业电脑,其主要硬件包括中央处理器CPU、主板、内存、显卡、硬盘等。前面几项硬件对工业平板电脑的影响,大部分人都比较了解,但是说到硬盘的影响,知道的人就不是很多了,甚至很多人在选购时忽略了硬盘对平板电脑的影响。......