Mips 最小所需内存空间
运行程序(其部分如下所示)所需的最小内存量是多少?在5个管道级的MIPS上运行哪个运行时,对于定点操作,每个级2纳秒?在浮点运算阶段,EX的成本为16纳秒。这些指令仅包含执行所需的最后数量的管道阶段(假设管道之间没有冲突)Mips 最小所需内存空间,mips,Mips,运行程序(其部分如下所示)所需的最小内存量是多少?在5个管道级的MIPS上运行哪个运行时,对于定点操作,每个级2纳秒?在浮点运算阶段,EX的成本为16纳秒。这些指令仅包含执行所需的最后数量的管道阶段(假设管道之间没有冲突) 另外,流水线和在特定阶段上花费的时间有助于动态指令计数和/或指令处理时间,但不影响存储程序所需的内存 .text从0x10010000开始 .data从0x00400000开始 您需要多少内存似乎是合理的,这取决于硬件/芯片组是否可以在不同位置虚拟呈现内存,而不需要物理内存来
另外,流水线和在特定阶段上花费的时间有助于动态指令计数和/或指令处理时间,但不影响存储程序所需的内存
.text
从0x10010000开始
.data
从0x00400000开始
您需要多少内存似乎是合理的,这取决于硬件/芯片组是否可以在不同位置虚拟呈现内存,而不需要物理内存来填补空白
无虚拟/逻辑内存管理
如果没有提供逻辑内存管理的芯片组或系统,那么似乎需要4194304字节,如果没有.data
部分,则需要4MB。如果在.data
中有任何内容,则无论存储多少字节,它都至少需要256MB+64 KB
在您的示例中,这意味着您需要256 MB+64 KB+36字节=268501028字节,或大约256.07 MB
使用虚拟内存管理
假设您的MIPS程序运行在执行虚拟内存管理的平台上。然后,系统可以在位置0x10010000处显示内存,例如,没有实际定位所有以前的地址(如0x1000ffff)
此外,如果使用修改后的MIPS内存布局,此分析也可以工作。在MARS中,您可以通过将.data
设置为从地址0x0开始来压缩内存
在这里,它将是指令和数据的简单计算。在您的示例中,由于ble
和l.d
是伪指令,因此它们将指令数从表面上的8条增加到11条实际机器指令。.text
中的11个字(44字节)加上中的9个字。data
(36字节)给出80个字节
.data
Pf1: .word 0x41400000
Vet1: .double 1.0, 2.0, 3.0, 4.0
.text
leaf_example:
addi $sp, $sp, -48
sw $s0, 0($sp)
sll $t0, $s0, 5
label: addu $t0, $t0, $s2
sll $t0, $t0, 3
addu $t0, $a1, $t0
bgt $t0, $s0, label
l.d $f18, 0($t0)