Hello to all,
I am willing to know the variation in the current consumption due to the instruction address. Therefore I have performed two experiments, first time filled the pipeline with a 32-bit instruction and second time filled it with the 16-bit instruction. Then I have observed the effect of energy consumption due to that. I saw a difference in the energy behavior. Can any body explain me why such?
I have attached the result below:
So, a clear difference can be observed in the patterns of current consumption. So, I have few doubt:
...
Byte[0xB], Byte[0xA], Byte[9], Byte[8].
Byte[7], Byte[6], Byte[5], Byte[4].
Byte[3], Byte[2], Byte[1], Byte[0].
The addresses for each byte lane are identical. So is there any assumption that the current consumption for each row is similar ???Since in case of 16-bit only 2-byte lanes will be activated but for 32-bit all 4-byte lanes.
Kindly help me out with that. All the experiments have been performed on ARM Cortex-M4
Thanking you,
Kind Regards,
Himanshu
Hi. First, for the same core architecture but different manufacturers you could have different results of measured current consumption in the case of using the same instruction set, for example Thumb. The main reason of this is that the ARM designs a core architecture, but implementation level of a design depends on manufacturer's technologies. Second, not seeing your measurements, I think that Thumb instruction set execution consumes less power than Arm instruction set, because of code density, in one cycle prefetcher downloads two Thumb instructions or one Arm instruction; for the same activity you need more Arm instructions.