为什么看存储电影时不慢

问题描述 投票:0回答:1

我不确定是否可以在Stack Overflow中发布没有代码的问题。这是关于计算机如何工作的问题。

我知道观看电影时它并不慢,因为存储中的数据已复制到内存并被使用。但是,由于存储处理速度慢,难道不比直接处理器访问和读取存储慢吗?还是其他设备充当副本?我想详细了解该原理。

cpu-architecture
1个回答
0
投票

处理器访问可寻址数据:每个存储单元由一个地址标识。

主存储器是可寻址的:这允许处理器利用主存储器的全部容量从“ here”读取并写入“ there”和“ there”。没有内存,处理器只能使用其内部存储单元(寄存器),但是它们的大小有限(对于x86,大约为2KiB,但是对于通用寄存器,其大小降至128 bytes)。在此讨论中,高速缓存等效于内存。

磁盘无法以相同的方式对内存进行寻址:这是由于历史原因(地址空间较小)和性能(即使对于SSD而言,随机读取的性能也比预先计划要差,而且读取和写入的命令也更多,有些可能会并行执行)。因此,磁盘要么做成将数据写入主存储器(DMA),要么有一个固定的位置来写命令以发送命令,并且有一个固定的位置要从中读取重复以获取所有数据(PIO)。该读取位置足够小,可以装入CPU内部存储单元,但是一旦CPU拥有了数据,它就必须将其“保存”到某个地方以供以后处理,因此无论如何该数据最终都将存储在内存中(PIO的速度比DMA慢)。

请注意,非易失性设备被认为是一种新的存储形式,介于主内存和磁盘之间(尽管NV设备不会逐步淘汰主内存,因为我们需要暂存内存,如果NV技术可以在不影响性能的情况下解决寿命和密度问题)。它们像主存储器一样可寻址,因此CPU可以直接从它们读取数据。基于Symbian OS的移动电话以这种方式工作:OS可执行文件存储在Flash ROM(这是NV设备)中,并且不加载而直接由CPU读取(它们已经被加载)。

还请注意,FWIW视频是为采样率很慢的人播放的。我们只需要大约24帧/秒就可以使电影平滑,即使从网络上也可以轻松维持(尽管它取决于分辨率和格式)。因此,磁盘有足够的时间服务于播放所需的读取。相反,视频转换会受到磁盘速度的影响。

此外,视频也经过压缩,因此,除非有硬件设备可以直接播放压缩流和文件格式,否则CPU必须修改数据(这意味着它需要覆盖数据或将结果存储在主内存中的某个位置)才能播放视频。是正确的。在这种情况下,将视频存储在NV设备上可以实现更快的重现,而无需使用CPU或内存中的任何副本。但是,提速并不是很大,我们正在减少从内存读取所需的时间,而不是从存储设备读取所需的时间(这仍然是影响速度的主要因素)。这与为人类玩游戏时涉及的帧速率几乎无关。

© www.soinside.com 2019 - 2024. All rights reserved.