Hello to all,
I need a small help with the processor instructions. Can anybody provide me an example where during execution, the functional unit must not be used or it must be deactivated?
All data-processing and data-transfer instruction need the functional unit. Initially, I thought the NOP instruction can be one of the examples, but while going through the documentations, I got to know that NOP instruction is nothing but the MOV R8,R8.
I really want to measure the effect of functional unit activation and deactivation. So, is there any instruction example or any measurement technique, which will be helpful in our case?
I am working on ARM Cortex-M4.
Thanking you in advance,
Warm Regards,
Himanshu
Dear Mr. Yiu,
Thank you very much for the clarification. With the provided instruction example, I am getting the nop instruction assembly. Thank you very much.
But, still I do have one question:
1. Therefore, Is it okay to use the NOP instruction (with assembly 0xBF00) which does not use the functional unit?
Thanking you,
Regards,
Yes, it is perfectly fine to use NOP instructions. However, there is no guarantee that each NOP will generate 1 cycle delay.
Thank you very much for your quick reply. Therefore any of the NOP with 0xBF00 (16-bit NOP instruction) or NOP.W with 0xF3AF8000 (32-bit NOP instruction) can be used in our case (No usage of the functional unit), am I right?
(generated from Cortex-M4)
Thanking you once again,
Kind Regards,
Yes, that's correct.
>No usage of the functional unit
Bear in mind that the processor will still be decoding and fetching subsequent instructions, so there is some activities in the processor.
Thank you very much once again for the tip. I will surely keep in mind.