CG & C++ blog
57 subscribers
13 photos
2 files
129 links
Краткий обзор публикаций, презентаций, докладов по графике и C++
Download Telegram
Addressing Criticism of RISC-V Microprocessors
перевод

Об отличии ARM от RISC-V. Малополезно для оптимизации, но интересно посмотреть насколько разные у них подходы.
#hw #arm #riscv
Как получить информацию о ЦП на Android.

Через /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