Як і цей , який робить 1,49 DMIPS / МГц. Навіть при конвеєрному каналі все ще залишається лише 1 етап виконання циклу, чи не так?
Як і цей , який робить 1,49 DMIPS / МГц. Навіть при конвеєрному каналі все ще залишається лише 1 етап виконання циклу, чи не так?
Відповіді:
DMIPS і MIPS - не те саме. DMIPS означає "Dhrystone MIPS", і це стандарт для порівняння характеристик різних мікроконтролерів / мікропроцесорів для різних наборів інструкцій. Стандарт вже не такий новий (*), тому те, що опорний процесор міг би робити на 1 DMIPS / МГц за 1 секунду, може зайняти більш просунутий контролер 670 мс на тій же тактовій частоті, тільки тому, що він буде виконувати деякі дії за 1 інструкцію тоді як іншому контролеру можуть знадобитися 2 інструкції або інструкція, що вимагає більше машинних циклів.
Наприклад, 16-бітна архітектура, як правило, матиме кращу ефективність Dhrystone, ніж 8-бітна архітектура, а 32-розрядна, як та, про яку ви посилаєтесь, навіть більше.
(*) m.Alin посилається на новіший орієнтир CoreMark . Зауважте, що це написано на C, тому насправді ви також включаєте продуктивність компілятора в результат (як і Dhrystone, BTW).
DMIPS є відносним вимірюванням, а не абсолютним. На відміну від MIPS, він фактично вимірює, наскільки швидко UC може зробити щось корисне замість того, як швидко виконує вказівки.
Як і будь-який тест, він має свої обмеження, але простий спосіб його розгляду полягає в тому, наскільки швидко він може виконати контрольний код порівняно з VAX 11/780 (машина на 1 MIPS).
Так, наприклад, якщо ваш UC завершує показник в 100 разів швидше ніж VAX 11/780, у вас машина 100DMIPS. Якщо він працює на 100 МГц, то він оцінюється в 1 DMIPS / МГц.
Зауважте, що рекламоване DMIPS, як правило, недосяжне при звичайному використанні, особливо на великих UC зі швидкістю спалаху, попередньою програмою, часом очікування / пропусканням тощо. Ось хороша дискусія щодо продуктивності PIC32 DMIPS. На цьому посиланні міститься код Dhrystone для мікроконтролерів.