lw:从哪个内存加载字 - RAM或磁盘

时间:2017-07-24 18:01:31

标签: assembly mips

lw - 从指定的地址将一个字加载到寄存器(在CPU中) 但是从哪个内存加载了这个词? RAM还是磁盘?我知道内存在CPU之外但是哪个内存是指地址(第二个操作数)?

1 个答案:

答案 0 :(得分:2)

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

MIPS架构可能最接近"second generation" from the wiki

  

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

存储芯片通常直接连接到CPU(M线为地址总线,MIPS最高为32,N线为数据传输,MIPS 32也为数据)和几对线处理读/写/ ack / err /奇偶校验传输逻辑......这是很多线路,通常它占用CPU引脚的主要部分和[差不多] RAM芯片的所有引脚。

以类似的方式连接任何/多个存储设备会使PCB的设计非常困难和昂贵,因此I / O引脚通常更稀疏,并且所有I / O设备共享该部分总线,使用一些控制引脚同步/共享哪个设备正在使用总线。

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

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