Addressing Criticism of RISC-V Microprocessors
перевод
Об отличии ARM от RISC-V. Малополезно для оптимизации, но интересно посмотреть насколько разные у них подходы.
#hw #arm #riscv
перевод
Об отличии ARM от RISC-V. Малополезно для оптимизации, но интересно посмотреть насколько разные у них подходы.
#hw #arm #riscv
Как получить информацию о ЦП на Android.
Через
Константы можно посмотреть здесь: arm cputype, arm64 cputype, julia/processor_arm.cpp - расширенный список, включает ЦП для IoT.
То же самое можно получить через getauxval() с AT_HWCAP и AT_HWCAP2.
Через
По максимальной частоте можно сгруппировать ядра по типу производительности:
* высокопроизводительные (X1, X2)
* производительные (A78)
* энергоэффективные (A55)
Либо через параметр
#blog #arm #cpu_prof
Через
/proc/cpuinfo
можно узнать количество ядер и их описание.processor
- номер ядра.CPU implementer
- производитель ЦП (`ARM_CPU_IMP_*`).CPU part
- номер модели ЦП (`*_CPU_PART_*`).Константы можно посмотреть здесь: arm cputype, arm64 cputype, julia/processor_arm.cpp - расширенный список, включает ЦП для IoT.
Features
- список расширенных инструкций ЦП, расшифровка есть здесь: Arm CPU features tableТо же самое можно получить через getauxval() с AT_HWCAP и AT_HWCAP2.
BogoMIPS
- мера производительности, но часто выдает одинаковые значения для всех типов ядер.Через
/sys/devices/system/cpu/cpu[x]
доступна дополнительная информация:cpufreq/cpuinfo_min_freq
, cpufreq/cpuinfo_max_freq
- минимальная и максимальная частота ядра.cpufreq/scaling_cur_freq
- текущая частота ядра, используется как замена cpuinfo_cur_freq
, который недоступен.По максимальной частоте можно сгруппировать ядра по типу производительности:
* высокопроизводительные (X1, X2)
* производительные (A78)
* энергоэффективные (A55)
Либо через параметр
/sys/devices/system/cpu/cpu[x]/cpu_capacity
- чем он больше, тем производительнее ядро.#blog #arm #cpu_prof