Объем памяти программы для RISC-процессора - PullRequest
0 голосов
/ 08 апреля 2019

Как проверить программы, занимающие места в памяти, написанные для RISC и процессора CISC?

Какой из них потребует больше памяти и почему?

1 Ответ

0 голосов
/ 10 апреля 2019

Итак, я бы сделал это с помощью экспериментов.Я бы скомпилировал двоичные файлы для обоих типов архитектур, а затем использовал инструменты 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

Другой метод заключается в преобразовании вашего эльфа в прямой двоичный файл, который будет бит за битом, что ставитсяв вашу память (это может быть не так для более сложных архитектур памяти, но мы предположим простой случай, когда все это хранится и выполняется из ОЗУ).Инструментом для этого является objcopy.

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

Затем проверьте размеры двух полученных бинарных файлов.

...