Как определить базовый уровень для различных операций на основе технических характеристик оборудования?

У меня есть встроенное устройство Linux, и я хотел бы знать базовую линию для различных операций на устройстве, например, чтение памяти, запись в память, перемещение и чтение и запись и т. Д. Есть ли способ найти базовые скорости для этих операций на устройстве?

1 ответ

Решение

Прочитайте таблицы данных для различных устройств и сделайте немного математики.

Например, если у вас 32-битная SDRAM, работающая на частоте 50 МГц, с задержками CAS 4-1-1-1 и вы можете выполнить пакетную передачу, то вы знаете, что для передачи 4 слов (16 байт) потребуется 7 часов. Вероятно, также будет период простоя, равный 1 такту, так что на самом деле это 8 тактов для 16 байтов или 2 байта для каждого такта, что при 50 МГц составляет 100 МБ / с. Теперь вы должны вычесть время, которое тратит на обновление памяти и т. Д.

Нет никакого способа узнать, какой должна быть производительность, не читая спецификации и не занимаясь математикой.

Другие вопросы по тегам