A digital system and method of operation is provided in which a method is
provided for cleaning a range of addresses in a storage region specified
by a start parameter and an end parameter. An interruptible clean
instruction (802) can be executed in a sequence of instructions (800) in
accordance with a program counter. If an interrupt (804) is received
during execution of the clean instruction, execution of the clean
instruction is suspended before it is completed. After performing a
context switch (810), the interrupt is serviced (820). Upon returning from
the interrupt service routine (830, 834), execution of the clean
instruction is resumed by comparing the start parameter and the end
parameter provided by the clean instruction with a current content of a
respective start register and end register used during execution of the
clean instruction. If the same, execution of the clean instruction is
resumed using the current content of the start register and end register.
If different, execution of the clean instruction is restarted by storing
the start parameter provided by clean instruction in the start register
and by storing the end parameter in the end register. In this manner, no
additional context information needs to be saved during a context switch
in order to allow the clean instruction to be interruptible. If the
interrupt occurred during a non-interruptible instruction, then the
instruction is completed before the context switch and a return (830, 832)
after the interrupt service routine begins execution at the next
instruction (803). Other instructions that perform a sequence of
operations can also be made interruptible in a similar manner.
Цифровая система и порядоко эксплуатации обеспечены в метод обеспечен для очищать ряд адресов в зоне хранения определенной параметром старта и параметром конца. Interruptible чистую инструкцию (802) можно исполнить в последовательност инструкций (800) в соответствии с программным счетчик счетчиком. Если interrupt (804) получен во время исполнения чистой инструкции, то исполнение чистой инструкции suspended прежде чем оно завершито. После выполнять переключатель смысла (810), interrupt обслужен (820). По возвращающ от режима обслуживания interrupt (830, 834), исполнение чистой инструкции возобновляно путем сравнивать параметр старта и параметр конца обеспеченные чистой инструкцией с в настоящее время содержанием соответственно регистра старта и регистра конца используемых во время исполнения чистой инструкции. Если это же, исполнение чистой инструкции возобновляно использующ в настоящее время содержание регистра старта и регистра конца. Если по-разному, исполнение чистой инструкции повторено старт путем хранить параметр старта обеспеченный чистой инструкцией в регистре старта и путем хранить параметр конца в регистре конца. В этом образе, никакой дополнительный смысла быть сохраненным во время переключателя смысла для того чтобы позволить чистую инструкцию быть interruptible. Если interrupt произошел во время non-interruptible инструкции, то инструкция выполнена прежде чем переключатель смысла и возвращение (830, 832) после режима обслуживания interrupt начинают исполнение на следующей инструкции (803). Другие инструкции выполняют последовательность операций можно также сделать interruptible таким же образом.