Mips 最小所需内存空间

Mips 最小所需内存空间,mips,Mips,运行程序(其部分如下所示)所需的最小内存量是多少?在5个管道级的MIPS上运行哪个运行时,对于定点操作,每个级2纳秒?在浮点运算阶段,EX的成本为16纳秒。这些指令仅包含执行所需的最后数量的管道阶段(假设管道之间没有冲突) 另外,流水线和在特定阶段上花费的时间有助于动态指令计数和/或指令处理时间,但不影响存储程序所需的内存 .text从0x10010000开始 .data从0x00400000开始 您需要多少内存似乎是合理的,这取决于硬件/芯片组是否可以在不同位置虚拟呈现内存,而不需要物理内存来

运行程序(其部分如下所示)所需的最小内存量是多少?在5个管道级的MIPS上运行哪个运行时,对于定点操作,每个级2纳秒?在浮点运算阶段,EX的成本为16纳秒。这些指令仅包含执行所需的最后数量的管道阶段(假设管道之间没有冲突)


另外,流水线和在特定阶段上花费的时间有助于动态指令计数和/或指令处理时间,但不影响存储程序所需的内存

.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)