0

如何测试为 RISC 和 CISC 处理器编写的内存占用程序?

哪一个需要更多内存,为什么?

4

1 回答 1

0

所以,我这样做的方式是通过实验。我将为这两种架构编译二进制文件,然后使用 gcc 工具查看内存占用量。对于以下示例,我将比较 x86_64 和 RISCV 架构。我会使用的第一种方法是尺寸工具,它分解精灵的各个部分并报告尺寸。

 # riscv64-unknown-elf-size Test.elf

哪个会输出这样的东西

   text    data     bss     dec     hex filename
 XXXXXX     XXX XXXXXXX XXXXXXX  XXXXXX Test.elf

然后将其与 x86 版本进行比较:

 # size Test.exe

哪个会输出这样的东西

   text    data     bss     dec     hex filename
 XXXXXX     XXX XXXXXXX XXXXXXX  XXXXXX Test.exe

另一种方法是将你的精灵转换成一个直接的二进制文件,它将一点一点地放入你的内存中(这对于更复杂的内存架构可能不是真的,但我们将假设一个简单的情况,它全部被存储并且从 RAM 执行)。用于此的工具是 objcopy。

 # riscv64-unknown-elf-objcopy -O binary Test.elf Test.elf.bin
 # objcopy -O binary Test.exe Test.exe.bin

然后检查两个生成的 bin 文件的大小。

于 2019-04-10T16:46:55.053 回答