What happens when offset value becomes 30 in case of load/store operation

Hello to all,

I was looking at different offset values for both load and store operations. Since due to little endian arrangement, the memory looks something like this to processor:

Byte[0x23],Byte[0x22],Byte[0x21],Byte[0x20]

Byte[0x1F],Byte[0x1E],Byte[0x1D],Byte[0x1C]

   .         .         .         .

   .         .          .         .

Byte[0x7],Byte[0x6],Byte[0x5],Byte[0x4]

Byte[0x3],Byte[0x2],Byte[0x1],Byte[0x0]

Since the different value consumes different cycles: 

Offset(0xn) (n ∈ 0,4,8,...) = 1 cycles

Offset(0xn) (n ∈ 1,5,9,...) = 3 cycles

Offset(0xn) (n ∈ 2,6,A,...) = 2 cycles

Offset(0xn) (n ∈ 3,7,B,...) = 3 cycles

Therefore for offset 30 => 0x1E should consumed 2 cycles since it belongs to the category of 2 offset. Rather, it has consumed 1 cycles and thereafter on all the next coming offset value, offset 30 becomes reference. I mean, for offset 32 => 0x20 (ideally it should consumes only 1 clock-cycles, but in reality it is consuming 2 clock cycles) and so on.

Does anybody know the reason behind this??

Kindly help me out with that.

Thanking you,

Regards,

Himanshu

Parents Reply Children
No data
More questions in this forum