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