Assembly lw:加载内存中的字-RAM或磁盘

Assembly lw:加载内存中的字-RAM或磁盘,assembly,mips,Assembly,Mips,lw-一个字从指定地址加载到寄存器(在CPU中)。 但是这个词是从哪个记忆中载入的呢?内存还是磁盘?我知道内存在CPU之外,但哪个内存是指的地址(第二个操作数)?存储设备通常通过更复杂的I/O(输入/输出)机制连接,因为它们的运行速度甚至与CPU速度无关(我的意思是,即使使用旧的MHz处理器,任何带有硬盘的I/O都需要“时间”) MIPS体系结构可能最接近于: 他们通常将计算机分成两个“世界”,一边是CPU和内存,另一边是各种设备 内存芯片通常直接连接到CPU(M线用于地址总线,在MIPS上高达

lw
-一个字从指定地址加载到寄存器(在CPU中)。

但是这个词是从哪个记忆中载入的呢?内存还是磁盘?我知道内存在CPU之外,但哪个内存是指的地址(第二个操作数)?

存储设备通常通过更复杂的I/O(输入/输出)机制连接,因为它们的运行速度甚至与CPU速度无关(我的意思是,即使使用旧的MHz处理器,任何带有硬盘的I/O都需要“时间”)

MIPS体系结构可能最接近于:

他们通常将计算机分成两个“世界”,一边是CPU和内存,另一边是各种设备

内存芯片通常直接连接到CPU(M线用于地址总线,在MIPS上高达32,N线用于数据传输,在MIPS 32上也用于数据)和处理读/写/确认/错误/奇偶校验传输逻辑的几条线。。。这是许多电线,通常这需要CPU引脚的主要部分和RAM芯片的所有引脚

以类似的方式连接任意/多个存储设备会使PCB的设计变得非常困难和昂贵,因此I/O引脚通常比较稀疏,所有I/O设备共享总线的该部分,当哪个设备使用总线时,使用一些控制引脚来同步/共享

因此,磁盘上的数据没有任何直接在CPU上的“地址”,寻址是通过I/O总线向设备发送(有时是多个)信号,通过多条指令并花费一些CPU时间+同步来完成的。旧的磁盘速度很慢,这是没有问题的,而且一些块设备有足够简单的逻辑,可以由DMA芯片控制,DMA芯片代表“直接内存访问”,这使得CPU只需设置初始值即可进行传输,然后DMA芯片完成它,等待来自设备的所有数据,并将其直接写入RAM芯片(无需进一步的CPU干预)


任何关于“地址”和“内存”的ASM指令都是关于RAM/ROM/类似芯片的,任何其他指令都会在指令描述中包含它。

存储设备通常通过更复杂的I/O(输入/输出)机制连接,因为它们的运行速度甚至与CPU速度无关(我的意思是,即使使用旧的MHz处理器,任何带有硬盘的I/O都需要“时间”)

MIPS体系结构可能最接近于:

他们通常将计算机分成两个“世界”,一边是CPU和内存,另一边是各种设备

内存芯片通常直接连接到CPU(M线用于地址总线,在MIPS上最多32条,N线用于数据传输,在MIPS 32上也用于数据传输)和处理读/写/确认/错误/奇偶校验传输逻辑的几条线……这是很多线,通常占用CPU引脚的大部分和RAM芯片的[几乎]所有引脚

以类似的方式连接任意/多个存储设备会使PCB的设计变得非常困难和昂贵,因此I/O引脚通常比较稀疏,所有I/O设备共享总线的该部分,当哪个设备使用总线时,使用一些控制引脚来同步/共享

所以磁盘上的数据没有任何直接在CPU上的“地址”,寻址是通过发送(有时是几个)来完成的通过I/O总线通过多条指令将信号发送到设备,并需要一些CPU时间+同步。旧磁盘非常慢,因此这没有问题,而且一些块设备具有足够简单的逻辑,可以由DMA芯片控制,DMA芯片代表“直接内存访问”,这允许CPU仅使用初始值设置传输,然后DMA芯片完成传输,等待来自设备的所有数据并将其直接写入RAM芯片(无需进一步的CPU干预)


任何关于“地址”和“内存”的ASM说明我们总是在谈论RAM/ROM/类似的芯片,其他任何东西都会在指令描述中有它。

RAM当然。磁盘通常不是内存映射的。RAM。总是ram@Jester-谢谢。我刚才也想到了这一点,因为地址空间是32位的,2^32太小,无法映射到典型的磁盘大小。当然是RAM。磁盘通常不是我的莫里,拉姆,总是这样ram@Jester-谢谢。我刚才也计算过了,因为地址空间是32位的,2^32太小了,无法映射到典型的磁盘大小。