There are several methods that can be employed to enable/disable special operating modes of the AEMB. The most obvious method would be to set/clear special bits within the MSR register using the standard instructions. However, there is another method of doing it that may be employed.

Firstly, it is possible to use any branch instruction to activate or de-activate any special mode. All branch targets are meant to be word-aligned. Therefore, any non-aligned branch could be used for this purpose. The non-aligned branch target could be used internally to activate any special modes while still reading the aligned memory address externally.

Secondly, it is possible to store any special states by using the last two bits of the return address. The branch instruction can still branch to both aligned and non-aligned addresses. However, internal mode information could be stored in the least significant bits. This could be useful for saving some status registers during exception or break or interrupt processing.

As for what special modes may need to be activated/de-activated, there are many ideas for that – none of which are finalised. Ideas include a 16-bit 'compact' instruction mode, introducing a kernel/user mode, activating certain peripherals and more.

Categories: Ideation


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.