Вопросы по теме 'cortex-a8'

Эффективное сравнение с плавающей запятой (Cortex-A8)
Есть большой (~ 100 000) массив переменных с плавающей запятой, и есть порог (также с плавающей запятой). Проблема в том, что мне приходится сравнивать каждую переменную из массива с порогом, но передача флагов NEON занимает очень много времени...
2170 просмотров
schedule 14.10.2021

Эффективный алгоритм для преобразования (суммирования) 128-битных данных в q-регистре в 16-битные данные
У меня есть 128-битные данные в q-регистре. Я хочу просуммировать отдельный 16-битный блок в этом q-регистре, чтобы, наконец, получить 16-битную окончательную сумму (любой перенос, превышающий 16-битный, должен быть взят и добавлен к младшему разряду...
524 просмотров
schedule 10.09.2021

Конвейер ARM Cortex-A8 - 13 или 14 этапов?
Если вы видите эту популярную схему конвейера ARM Cortex-A8 в одном из ARM презентации . Понятно, что этап выборки инструкций занимает 3 цикла, но первый цикл как бы со скидкой . Но почему? Есть предположения? Спасибо...
3845 просмотров
schedule 30.09.2021

некоторые сомнения относительно циклов ARM NEON
Я написал неоновый код на ассемблере и стремился к максимальной оптимизации. Хотя задержка из-за конфликта регистров и конвейера уменьшена, разница только в 1 цикл, то есть до номера 70-0 после номера 69-0. почему это так, я не понял. вот мой...
204 просмотров
schedule 08.11.2021

Почему -fpie не работает в коде без операционной системы и не вызывает дикий указатель?
Я использую S5PV210, основанный на cortex-A8. Он начинается с инициализации, затем переходит к 0x20000000 SDRAM и запускает мои коды. Так что мне просто нужно поместить мою основную функцию на 0x20000000. Насколько я знаю, есть два способа сделать...
218 просмотров
schedule 22.11.2021

ARM - выборка 32-битных данных с использованием 16-битной шины данных
На нашей встроенной платформе некоторые устройства имеют 16-битную шину данных (например, FPGA). Однако нам нужно читать их как 32-битные значения (например, 32-битные числа с плавающей запятой). Насколько я понимаю, когда к 16-битной памяти...
1297 просмотров
schedule 26.02.2022

Измерьте время выполнения на ARM Cortex-A8 с помощью аппаратного счетчика
Я использую процессор Exynos 3110 (одноядерный ARM Cortex-A8 с частотой 1 ГГц, например, используемый в Nexus S) и пытаюсь измерить время выполнения определенных функций. У меня на Nexus S работает Android 4.0.3. Пробовал метод из [1] Как...
5161 просмотров

Реализация кода контрольной суммы для Neon в Intrinsics
Я пытаюсь реализовать код вычисления контрольной суммы (дополнение 2) для NEON, используя встроенный. Текущее вычисление контрольной суммы выполняется на ARM. Моя реализация извлекает 128-бит сразу из памяти в регистры NEON и делает SIMD...
1225 просмотров
schedule 16.05.2022

ARM Cortex-A8: в чем разница между VFP и NEON
В процессоре ARM Cortex-A8 я понимаю, что такое NEON, это сопроцессор SIMD. Но работает ли модуль VFP (Vector Floating Point), который также является сопроцессором, как процессор SIMD? Если да, то какой лучше использовать? Я прочитал несколько...
34195 просмотров
schedule 28.05.2022

Низкоуровневый счетчик циклов в устройствах iOS
Теперь, когда стало ясно, что Cortex -Счетчики производительности A8 недоступны на iPhone/iPad (их нужно явно включить для пользовательского режима, чего Apple не сделала), есть ли другой способ получить разумное количество циклов на устройствах...
860 просмотров
schedule 04.07.2022

Преобразование кода руки для использования встроенных функций NEON
Я пытался изменить приведенный ниже код для работы с NEON Intrinsics, тем самым создав ускорение. К сожалению, ничего не работает правильно. Кто-нибудь знает, что происходит не так? Я обновил двойники до одиночных элементов с плавающей запятой....
967 просмотров
schedule 12.08.2022

Почему ARM NEON не быстрее обычного C++?
Вот код С++: #define ARR_SIZE_TEST ( 8 * 1024 * 1024 ) void cpp_tst_add( unsigned* x, unsigned* y ) { for ( register int i = 0; i < ARR_SIZE_TEST; ++i ) { x[ i ] = x[ i ] + y[ i ]; } } Вот неоновая версия: void...
20085 просмотров
schedule 10.09.2022

Как использовать инструкцию сравнения NEON (больше или равно)?
Как вообще пользоваться инструкциями сравнения NEON? Вот случай, который я хочу использовать, инструкция «Больше или равно»? В настоящее время у меня есть, int x; ... ... ... if(x >= 0) { .... } В NEON я хотел бы использовать x...
2288 просмотров
schedule 09.12.2022

Почему u-boot может поместить адрес глобальных данных в регистр r9?
Когда я просматриваю исходный код u-boot, я обнаружил, что он передает глобальные данные через регистр r9 следующим образом. register volatile gd_t *gd asm ("r9") Итак, мне любопытно, как u-boot гарантирует, что дальнейшие коды не будут...
566 просмотров
schedule 20.01.2023

Неон: внутренние свойства isnan(val)
Я хочу использовать isnan() functionality во встроенных функциях NEON. Ниже приведен мой код: input1, input2 и output имеют тип float. Эти значения обновляются из ROI входного изображения/кадра (пример обработки изображения). for(x =...
571 просмотров
schedule 30.06.2023

Как включить неоновый сопроцессор в am335x (cortex A8)?
Я использую процессор TI Sitara am335x. Я должен использовать неоновый процессор для криптографических целей. Эта ссылка говорит, как включить его. Я добавил его в kernel/init/main.c. При компиляции я получил сообщение об ошибке " выбранный...
404 просмотров
schedule 10.12.2022

Пополнение кэша и пополнение TLB
В чем разница между L1_Data_Cache_Refill и L1D_TLB_Refill? Как использовать эти два события PMU для расчета коэффициента промахов кеша? Ссылка на документацию по событию. документ о мероприятии PMU
122 просмотров
schedule 26.06.2023