The STR9 is faster when it can execute at 96MHz in a straight line as the
flash can feed the CPU on each cycle. However, when a branch is taken you
need the ARM9 core to refill its pipline, but to do that it needs
instructions. The *first* instruction is provided by the branch cache but
the PFQ is empty--it burst fills at the full 96MHz rate but the core is left
waiting whilst it does so. We did some extensive benchmarking to
characterize this because, as I said, we were astounded by the reports
coming back from potential customers of the STR9 which asked us why it was
so slow on their applications. The information was fed back to ST who
acknowledged that there is an issue and that it will be fixed in the next
rev, but all that will happen is that the BTC is increased in size IIRC.
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
Retrieving data ...