网站建设在windos的设置,安卓小程序开发入门,html5网站开发公司,可以做早安图片的网站LC-3—MMIO、Caller Save、Callee SaveMMIOCaller Save、Callee Save举个例子MMIO
MMIO#xff08;Memory Mapped I/O#xff09;是一种在系统内存中映射I/O端口的技术#xff0c;它允许设备直接访问内存中的特定地址#xff0c;从而实现I/O操作。MMIO技术可以提高I/O操作…
LC-3—MMIO、Caller Save、Callee SaveMMIOCaller Save、Callee Save举个例子MMIO
MMIOMemory Mapped I/O是一种在系统内存中映射I/O端口的技术它允许设备直接访问内存中的特定地址从而实现I/O操作。MMIO技术可以提高I/O操作的效率并减少CPU的负担。LC-3的MMIO技术可以提高I/O操作的效率并减少CPU的负担。使用MMIO时可以将特定的I/O端口映射到系统内存的特定地址从而可以使用LD指令将数据从I/O端口加载到寄存器或者用ST指令将数据从寄存器存储到I/O端口。例如假设我们想要从系统中的I/O端口0xFE00处读取一个字节的数据。我们可以将I/O端口0xFE00映射到系统内存的地址x3000然后使用LD指令将x3000处的数据加载到R0中LD R0, x3000。这样R0中就包含了从I/O端口0xFE00处读取的数据。
; Program to read data from an I/O device
; R0 contains the I/O device address
IN R1, R0
STR R1, x3000
; R1 contains the data read from the device, which is stored in memory location x3000
; Program to write data to an I/O device
; R0 contains the I/O device address
; R1 contains the data to be written
MOV R2, R1
OUT R2, R0
; Data in R1 is written to the deviceMMIO指令允许处理器向外部设备写入数据而MIO指令则仅允许处理器从外部设备读取数据。MIO指令不支持向外部设备写入数据因为这样会破坏物理硬件的一致性和稳定性。MMIO指令的设计更加安全因此才能用于处理器与外部设备之间的数据交换。MIO.EN是一个特殊的LC-3指令可用于启用/禁用处理器的MIO功能。当MIO.EN指令将MIO功能禁用时处理器将不能从外部设备读取数据但可以继续使用MMIO指令向外部设备写入数据
Caller Save、Callee Save
进入子程序前保存子程序结束后恢复的是调用者保存Caller Save进入子程序后先保存子程序结束前恢复的再返回原位置的是被调用者保存Callee Save
举个例子 把对fib的函数调用看成整体而言的R7在调用函数的内部总是会被修改为返回地址所以R7在调用fib之前需要由调用者保存。而R0和R2在调用过程中也会被修改但是fib函数最后会还原这两个值所以R7是Caller Save、R0R2是Callee Save