Suppose we have a simple processor, could be an embedded system, with one system bus, for the sake of the argument, a 32bit bus.
Now, if we have a couple of Peripherals, one named PER0 for example, attached to the bus, we can do two things:
Allow it to have fixed-width access to the main bus, for example 8 bits, and that way PER0 will always communicate with the bus in 8bit packages. This we can call static-width access.
Allow it to have options to choose how it will communicate with the bus in terms of size of data by using signals with which it tells the processor the mode of access it wants to use. For example, we create two signals, A1 and A0, between the processor and PER0, whose values will say:
00 - wait
01 - 8bit
10 - 16bit
11 - 32bitand so the processor will know whether to send 8bit data to its bus, or 32bit data, based on the values of A1, A0. This we can call dynamic-width access to the bus.
Question: In your experience, which of these two methods is preferred, and why? Also, in which cases should this be implemented? And finally, considering embedded systems, which method is more widely spread?
EDIT: I would like to expand on this topic, so I'm not asking for personal preferences, but for further information about these two methods, and their applications in computer systems. Therefore, I believe that this qualifies as a legitimate stackoverflow question.
Thanks!