[an error occurred while processing this directive]
|
Для него примерно следующая ситуация. Если TMS55 имеет фиксированный набор сложных инструкций, то из простых инструкций ZSP400 вы можете собрать любую сложную от TMS55. Но можете собрать и такую инструкцию, какая у TMS отсутствует. Интересен пример ниже:
label:
lddu r8, r14, 2
lddu r10, r15, 2
dmac.a r10, r8
mov r2, 0x1234
lddu r8, r14, 2
lddu r10, r15, 2
dmac.a r10, r8
lddu r8, r14, 2
lddu r10, r15, 2
dmac.a r10, r8
mov r3, r2
lddu r8, r14, 2
lddu r10, r15, 2
dmac.a r10, r8
neg r3, r3
lddu r8, r14, 2
lddu r10, r15, 2
dmac.a r10, r8
add r2, r3
lddu r8, r14, 2
lddu r10, r15, 2
dmac.a r10, r8
agn0 label
Что он делает? Да обычный честный 32-битный КИХ, с производительностью 1 такт, один порядок (чего TMS55 делать уже не может). Но этого мало! Параллельно, я произвожу следующее:
ввожу в регистр r2 число 0х1234, перекидываю это число в r3. Там меняю у него знак на противополжный и складываю его с r2.
при этом, 32-битный КИХ как работал, так и работает без всяких задержек. TMS55, по-моему, тут выглядит несколько бледно :)
E-mail: info@telesys.ru