读取和加载与写入和存储之间的主要区别是什么?
我知道这是一个非常基本的问题,但不知何故我就是无法理解。
答案1
read
通常与从永久存储(HDD、USB 棒等)读取数据有关。
load
另一方面加载中您先前从 RAM 读取到 CPU 寄存器/累加器的数据(汇编命令lda
)。
同样的write
道理也适用于写作数据到永久存储。并且store
,商店将寄存器/累加器的值保存到 RAM 中的变量以保存其值。
答案2
读取和加载与写入和存储之间的主要区别是什么?
答案很复杂,因为这些词既可以用作行话,也可以在技术文档中以常规方式使用。即使作为行话,这些动词的含义也可能取决于其使用的上下文。
一个关键概念是,计算机内的数据传输方向(几乎)总是相对于 CPU。输入是直接向 CPU 传输数据。输出是直接远离 CPU 的数据传输。
的差异读相对加载和写相对店铺主要与行动的对象有关。行动的对象读是数据传输的来源(例如你读(根据)记忆或读(来自)设备寄存器或读一本书)。 ”读进入记忆”是尴尬的语法/语义。加载是数据传输的目的地(例如你加载登记册或加载(进入)记忆或加载一辆手推车)。 两者皆可读和加载可以是输入操作,但是读关注输入的来源,而加载重点关注该转移的目的地。
同样地,写是数据传输的目的地(例如你写(对)记忆或写(到)设备寄存器)。”写从记忆中”是没有意义的。店铺是数据传输的来源(例如你店铺寄存器)。 两者皆可写和店铺可以是输出操作,但是写重点关注输出的目的地,而店铺重点关注该转移的来源。
当然是动词的宾语读/加载/写/店铺也可能是数据本身,例如读A多变的从 RAM 或加载A程序 进入记忆。此结构适用于所有四个动词,因此没有区别。
另一个概念是“破坏”。我的第一位编程老师向我灌输了这样一句话:“读取是非破坏性的,写入是破坏性的“。他指的是读取(从)和写入(内存中的)程序变量。从变量读取不会改变其值。写入变量会破坏其先前的值。
读沙店铺通常是非破坏性的;源的内容不会被修改。但是有些计算机的寄存器在读取/存储时会被清除,而有些内存位置在读取时会增加(或减少)内容。 加载沙写为了有意义,传输必须具有破坏性;传输的数据有望取代目的地之前的内容。