Claims (47)
1. Устройство обработки данных, содержащее процессор (10), выполненный с возможностью функционирования в наборе режимов (1, 2, 3, 4; А, В, С) и наборе доменов (S, NS), при этом набор доменов содержит защищенный домен или незащищенный домен, набор режимов включает в себя по меньшей мере один защищенный режим (А, В, С), являющийся режимом в защищенном домене (S); и по меньшей мере один незащищенный режим (1, 2, 3, 4), являющийся режимом в незащищенном домене (NS); причем в случае, когда процессор (10) исполняет программу (82, 84) в защищенном режиме, программа имеет доступ к защищенным данным, которые не являются доступными в случае, когда процессор функционирует в незащищенном режиме; процессор реагирует на одно или несколько условий исключительной ситуации (RESET, UNDEF, ...) для запуска обработки исключительной ситуации с использованием обработчика исключительных ситуаций, причем процессор выполнен с возможностью выбора упомянутого обработчика исключительных ситуаций из набора возможных обработчиков исключительных ситуаций (VSO-7, VNSO-7) в зависимости от того, функционирует ли процессор в защищенном домене или в незащищенном домене.1. A data processing device comprising a processor (10) configured to operate in a set of modes (1, 2, 3, 4; A, B, C) and a set of domains (S, NS), while the set of domains contains a protected domain or an unprotected domain, the set of modes includes at least one protected mode (A, B, C), which is a mode in the protected domain (S); and at least one insecure mode (1, 2, 3, 4), which is a mode in an insecure domain (NS); moreover, in the case when the processor (10) executes the program (82, 84) in a protected mode, the program has access to protected data that is not available in the case when the processor operates in an insecure mode; the processor responds to one or more exception conditions (RESET, UNDEF, ...) to start processing the exception using the exception handler, and the processor is configured to select the exception handler from the set of possible exception handlers (VSO-7, VNSO-7), depending on whether the processor operates in a secure domain or in an insecure domain.
2. Устройство по п.1, в котором по меньшей мере одна из упомянутых исключительных ситуаций является выбираемой исключительной ситуацией, обрабатываемой посредством выбираемого обработчика исключительных ситуаций из либо незащищенного обработчика исключительных ситуаций, функционирующего в незащищенном режиме, либо защищенного обработчика исключительных ситуаций, функционирующих в защищенном режиме; и по меньшей мере одна из упомянутых исключительных ситуаций является выделенной защищенной исключительной ситуацией, которая обрабатывается защищенным обработчиком исключительных ситуаций, функционирующим в защищенном режиме.2. The device according to claim 1, in which at least one of the mentioned exceptional situations is a selectable exception processed by a selectable exception handler from either an unprotected exception handler operating in unprotected mode or a protected exception handler operating in protected mode; and at least one of the exceptions mentioned is a dedicated protected exception that is handled by a protected exception handler operating in protected mode.
3. Устройство по п.1, в котором упомянутые одно или несколько условий исключительной ситуации могут быть программно сконфигурированы так, чтобы запускать либо незащищенный обработчик исключительных ситуаций, функционирующий в незащищенном режиме, либо защищенный обработчик исключительных ситуаций, функционирующий в защищенном режиме, при любом изменении домена, которое также запускается, если требуется.3. The device according to claim 1, in which the aforementioned one or more conditions of an exception can be software configured to run either an unprotected exception handler operating in unprotected mode or a protected exception handler operating in protected mode with any change domain, which also starts if required.
4. Устройство по любому из предшествующих пунктов, в котором защищенная исключительная ситуация запускается посредством одного из сигналов на вводе сигнала выделенной защищенной исключительной ситуации и вводе сигнала незащищенной исключительной ситуации.4. The device according to any one of the preceding paragraphs, in which a protected exception is triggered by one of the signals on the input signal of the selected protected exceptional situation and the input signal unprotected exception.
5. Устройство по любому из пп.1-3, которое имеет ввод сигнала исключительной ситуации, совместно используемый защищенной и незащищенной исключительными ситуациями, и дополнительный входной сигнал, взаимодействующий с упомянутым вводом сигнала исключительной ситуации с целью контроля того, запущен ли защищенный обработчик исключительных ситуаций или незащищенный обработчик исключительных ситуаций.5. The device according to any one of claims 1 to 3, which has an exception signal input shared by protected and unprotected exceptions, and an additional input signal that interacts with the exception signal input to control whether the protected exception processor is running or an insecure exception handler.
6. Устройство по п.1, в котором упомянутый защищенный обработчик исключительных ситуаций является частью защищенной операционной системы, выполненной с возможностью функционирования в защищенном режиме.6. The device according to claim 1, in which the aforementioned protected exception handler is part of a protected operating system configured to operate in a protected mode.
7. Устройство по п.1, в котором упомянутый незащищенный обработчик исключительных ситуаций является частью незащищенной операционной системы, выполненной с возможностью функционирования в незащищенном режиме.7. The device according to claim 1, wherein said unprotected exception handler is part of an unprotected operating system configured to operate in unprotected mode.
8. Устройство по п.1, в котором процессор также выполнен с возможностью функционирования в режиме монитора, и любое переключение между защищенным режимом и незащищенным режимом, требуемое для обработки исключительной ситуации, происходит через режим монитора, при этом процессор выполнен с возможностью функционирования по меньшей мере частично в режиме монитора с целью исполнения программы монитора для управления переключением между защищенным режимом и незащищенным режимом.8. The device according to claim 1, in which the processor is also configured to operate in monitor mode, and any switching between the protected mode and the unprotected mode required to handle the exception occurs through the monitor mode, while the processor is configured to operate at least at least partially in monitor mode, in order to execute a monitor program to control the switch between protected mode and non-protected mode.
9. Устройство по п.8, в котором программа монитора выполнена с возможностью сохранения и восстановления данных контекста, задающих состояние процессора, при переключении между защищенным режимом и незащищенным режимом для обработки исключительной ситуации.9. The device of claim 8, in which the monitor program is configured to save and restore context data specifying the state of the processor when switching between the protected mode and the unprotected mode to handle an exception.
10. Устройство по п.8, в котором процессор включает в себя банк регистров, и программа монитора выполнена с возможностью очистки по меньшей мере части банка регистров, совместно используемого защищенным режимом и незащищенным режимом, при переключении из защищенного режима в незащищенный режим с тем, чтобы никакие защищенные данные, хранимые в банке регистров, не смогли переходить из защищенного режима в незащищенный режим иначе, чем разрешено в соответствии с программой монитора.10. The device of claim 8, in which the processor includes a register bank, and the monitor program is configured to clear at least a portion of the register bank shared by the protected mode and the non-protected mode when switching from the protected mode to the non-protected mode, so that no protected data stored in the register bank can be transferred from protected mode to unprotected mode other than allowed in accordance with the monitor program.
11. Устройство по п.1, в котором условия исключительной ситуации включают в себя одно или несколько из: исключительной ситуации при сигнале защищенного прерывания; сигнала программного прерывания переключения режима; исключительной ситуации сброса; исключительной ситуации при сигнале прерывания; сигнала программного прерывания; исключительной ситуации при неопределенной команде; исключительной ситуации аварийного завершения при ошибке предварительной выборки; исключительной ситуации аварийного завершения при ошибке данных; и исключительной ситуации при сигнале быстрого прерывания.11. The device according to claim 1, in which the conditions of an exception include one or more of: an exception when a secure interrupt signal; mode interrupt signal; dumping exception; an exception with an interrupt signal; software interrupt signal; an exceptional situation with an uncertain team; an abnormal termination exception with a prefetch error; abnormal termination exception during data error; and an exception with a fast interrupt signal.
12. Устройство по п.1, в котором процессор реагирует на условие исключительной ситуации, чтобы выбрать обработчик исключительных ситуаций в зависимости от значения вектора исключительной ситуации, ассоциированного с условием исключительной ситуации и хранимого в активной таблице векторов исключительных ситуаций, для упомянутого условия исключительной ситуации; и активная таблица векторов исключительных ситуаций является одной из набора таблиц векторов исключительных ситуаций.12. The device according to claim 1, in which the processor responds to an exception condition to select an exception handler depending on the value of the exception vector associated with the exception condition and stored in the active table of exception vectors for the exception condition mentioned; and the active table of exception vectors is one of a set of tables of exception vectors.
13. Устройство по п.12, в котором упомянутый набор таблиц векторов исключительных ситуаций включает в себя защищенную таблицу векторов исключительных ситуаций, выбираемую в защищенном режиме, и незащищенную таблицу векторов исключительных ситуаций, выбираемую в незащищенном режиме.13. The device according to item 12, in which the said set of tables of vectors of exceptional situations includes a protected table of vectors of exceptional situations, selected in protected mode, and an unprotected table of vectors of exceptional situations, selected in unprotected mode.
14. Устройство по любому из пп.12 и 13, в котором процессор также выполнен с возможностью функционирования в режиме монитора и любое переключение между защищенным режимом и незащищенным режимом для упомянутого набора векторов исключительных ситуаций выполняется через режим монитора.14. The device according to any one of paragraphs.12 and 13, in which the processor is also configured to operate in monitor mode, and any switching between the protected mode and the unprotected mode for said set of exception vectors is performed through the monitor mode.
15. Устройство по п.14, в котором упомянутый набор таблиц векторов исключительных ситуаций включает в себя таблицу векторов исключительных ситуаций режима монитора.15. The device according to 14, in which said set of tables of vectors of exceptional situations includes a table of vectors of exceptional situations of the monitor mode.
16. Устройство по п.15, в котором процессор реагирует на один или несколько параметров, задающих, какая из упомянутых исключительных ситуаций должна быть обработана в соответствии с таблицей векторов исключительных ситуаций режима монитора.16. The device according to clause 15, in which the processor responds to one or more parameters that specify which of the mentioned exceptional situations should be processed in accordance with the table of the monitor mode exception vectors.
17. Устройство по п.13, в котором процессор реагирует на один или несколько параметров, задающих, какая из упомянутых исключительных ситуаций должна быть обработана в соответствии с таблицей векторов исключительных ситуаций режима монитора, и защищенная таблица векторов является активной таблицей векторов в защищенном режиме, и незащищенная таблица векторов является активной таблицей векторов в незащищенном режиме, если упомянутые один или несколько параметров не задают, что таблица векторов режима монитора является активной таблицей векторов для упомянутого условия исключительной ситуации.17. The device according to item 13, in which the processor responds to one or more parameters that specify which of the mentioned exceptional situations should be processed in accordance with the table of emergency vectors of the monitor mode, and the protected vector table is an active vector table in protected mode, and an unprotected vector table is an active vector table in unprotected mode if the one or more parameters mentioned do not specify that the monitor mode vector table is an active table in lecturers for the mentioned exception condition.
18. Устройство по п.16, в котором по меньшей мере один из упомянутых параметров хранится в маске перехвата исключительных ситуаций.18. The device according to clause 16, in which at least one of the mentioned parameters is stored in the mask for interception of exceptional situations.
19. Устройство по п.18, в котором регистр управления исключительной ситуацией является записываемым в случае, когда процессор находится в режиме монитора, и регистр маски перехвата исключительных ситуаций является не записываемым, когда процессор не находится в незащищенном домене.19. The device of claim 18, wherein the exception control register is writable when the processor is in monitor mode and the exception interception mask register is not writable when the processor is not in an insecure domain.
20. Устройство по п.13, в котором защищенная таблица векторов исключительных ситуаций является записываемой в случае, когда процессор находится в защищенном режиме, и защищенная таблица векторов исключительных ситуаций является не записываемой, когда процессор находится в незащищенном режиме.20. The device according to item 13, in which the protected table of exception vectors is writable when the processor is in protected mode, and the protected table of exception vectors is not recorded when the processor is in unprotected mode.
21. Устройство по п.13, в котором защищенный обработчик исключительных ситуаций, являющийся частью защищенной операционной системы, используется защищенным режимом.21. The device according to item 13, in which a protected exception handler, which is part of a protected operating system, is used in protected mode.
22. Устройство по п.13, в котором незащищенный обработчик исключительных ситуаций, являющийся частью незащищенной операционной системы, используется незащищенным режимом.22. The device according to item 13, in which an unprotected exception handler, which is part of an unprotected operating system, is used in unprotected mode.
23. Устройство по п.12, которое содержит набор регистров указателей базовых адресов таблиц векторов, при этом каждый регистр хранит соответственное значение базового адреса для соответствующей таблицы из упомянутого набора таблиц векторов исключительных ситуаций.23. The device according to item 12, which contains a set of registers of pointers of the base addresses of the tables of vectors, while each register stores the corresponding value of the base address for the corresponding table from the said set of tables of vectors of exceptional situations.
24. Способ обработки данных, содержащий этапы, на которых исполняют программу с помощью процессора, выполненного с возможностью функционирования в наборе режимов и наборе доменов, причем набор доменов содержит защищенный домен или незащищенный домен, набор режимов включает в себя по меньшей мере один защищенный режим, являющийся режимом в защищенном домене; и по меньшей мере один незащищенный режим, являющийся режимом в незащищенном домене; при этом, если процессор исполняет программу в защищенном режиме, программа имеет доступ к защищенным данным, которые не являются доступными, если процессор функционирует в незащищенном режиме; и в ответ на одно или несколько условий исключительной ситуации запускают обработку исключительной ситуации с использованием обработчика исключительных ситуаций; причем процессор выполнен с возможностью выбора упомянутого обработчика исключительных ситуаций из набора возможных обработчиков исключительных ситуаций в зависимости от того, функционирует ли процессор в защищенном домене или в незащищенном домене.24. A data processing method comprising the steps of executing a program using a processor configured to operate in a set of modes and a set of domains, wherein the set of domains contains a secure domain or an unprotected domain, the set of modes includes at least one protected mode, being a mode in a secure domain; and at least one insecure mode being a mode in an insecure domain; in this case, if the processor executes the program in protected mode, the program has access to protected data that is not accessible if the processor operates in unprotected mode; and in response to one or more conditions of the exception, start processing the exception using the exception handler; wherein the processor is configured to select said exception handler from a set of possible exception handlers, depending on whether the processor operates in a secure domain or in an insecure domain.
25. Способ по п.24, в котором по меньшей мере одна из упомянутых исключительных ситуаций является выбираемой исключительной ситуацией, обрабатываемой посредством выбираемого обработчика исключительных ситуаций из либо незащищенного обработчика исключительных ситуаций, функционирующего в незащищенном режиме, либо защищенного обработчика исключительных ситуаций, функционирующего в защищенном режиме; и по меньшей мере одна из упомянутых исключительных ситуаций является выделенной защищенной исключительной ситуацией, которую обрабатывают посредством защищенного обработчика исключительных ситуаций, функционирующего в защищенном режиме.25. The method according to paragraph 24, in which at least one of the exceptions mentioned is a selectable exception handled by a selectable exception handler from either an unprotected exception handler operating in unprotected mode or a protected exception handler operating in protected mode; and at least one of said exceptions is a dedicated protected exception that is handled by a protected exception handler operating in protected mode.
26. Способ по п.24, в котором упомянутые одно или несколько условий исключительной ситуации могут быть программно сконфигурированы так, чтобы запускать либо незащищенный обработчик исключительных ситуаций, функционирующий в незащищенном режиме, либо защищенный обработчик исключительных ситуаций, функционирующий в защищенном режиме, при каком-либо изменении домена, которое также запускают, если требуется.26. The method according to paragraph 24, in which the aforementioned one or more exceptional conditions can be configured to run either an insecure exception handler operating in unprotected mode or a protected exception handler operating in protected mode, at which or a domain change, which is also triggered if required.
27. Способ по любому из пп.24-26, который содержит ввод сигнала защищенной исключительной ситуации и ввод сигнала незащищенной исключительной ситуации.27. The method according to any one of paragraphs.24-26, which comprises inputting a protected exception signal and inputting an unprotected exception signal.
28. Способ по любому из пп.24-26, который содержит ввод сигнала исключительной ситуации, совместно используемый защищенной и незащищенной исключительными ситуациями, и дополнительный входной сигнал, взаимодействующий с вводом сигнала исключительной ситуации с целью контроля того, запущен ли защищенный обработчик исключительных ситуаций или незащищенный обработчик исключительных ситуаций.28. The method according to any one of paragraphs.24-26, which comprises inputting an exception signal shared by protected and unprotected exceptions, and an additional input signal interacting with inputting an exception signal to control whether the protected exception handler is running or unprotected exception handler.
29. Способ по п.24, в котором защищенный обработчик исключительных ситуаций является частью защищенной операционной системы, выполненной с возможностью функционирования в защищенном режиме.29. The method according to paragraph 24, in which the protected exception handler is part of a secure operating system configured to operate in a secure mode.
30. Способ по п.24, в котором незащищенный обработчик исключительных ситуаций является частью незащищенной операционной системы, выполненной с возможностью функционирования в незащищенном режиме.30. The method according to paragraph 24, in which the unprotected exception handler is part of an unprotected operating system configured to operate in unprotected mode.
31. Способ по п.24, в котором процессор также выполнен с возможностью функционирования в режиме монитора, и любое переключение между защищенным режимом и незащищенным режимом, требуемое для обработки исключительной ситуации, происходит через режим монитора, при этом процессор выполнен с возможностью функционирования по меньшей мере частично в режиме монитора с целью исполнения программы монитора для управления переключением между защищенным режимом и незащищенным режимом.31. The method according to paragraph 24, in which the processor is also configured to operate in monitor mode, and any switching between the protected mode and the unprotected mode required to handle the exception occurs through the monitor mode, while the processor is configured to operate at least at least partially in monitor mode, in order to execute a monitor program to control the switch between protected mode and non-protected mode.
32. Способ по п.31, в котором программа монитора выполнена с возможностью сохранения и восстановления данных контекста, задающих состояние процессора, при переключении между защищенным режимом и незащищенным режимом для обработки исключительной ситуации.32. The method according to p, in which the monitor program is configured to save and restore context data that sets the state of the processor, when switching between protected mode and unprotected mode to handle an exception.
33. Способ по п.31, в котором процессор включает в себя банк регистров, и программа монитора выполнена с возможностью очистки по меньшей мере части банка регистров, совместно используемого защищенным режимом и незащищенным режимом, при переключении из защищенного режима в незащищенный режим, с тем чтобы никакие защищенные данные, хранимые в банке регистров, не могли переходить из защищенного режима в незащищенный режим иначе, чем в соответствии с разрешением программы монитора.33. The method according to p, in which the processor includes a register bank, and the monitor program is configured to clear at least part of the register bank shared by the protected mode and the unprotected mode when switching from the protected mode to the unprotected mode, so that no protected data stored in the register bank can be transferred from protected mode to unprotected mode other than in accordance with the resolution of the monitor program.
34. Способ по п.24, в котором упомянутое по меньшей мере одно условие исключительной ситуации включает в себя одно или несколько из: исключительной ситуации при сигнале защищенного прерывания; сигнала программного прерывания переключения режима; исключительной ситуации сброса; исключительной ситуации при сигнале прерывания; сигнала программного прерывания; исключительной ситуации при неопределенной команде; исключительной ситуации аварийного завершения при ошибке предварительной выборки; исключительной ситуации аварийного завершения при ошибке данных; и исключительной ситуации при сигнале быстрого прерывания.34. The method according to paragraph 24, in which said at least one condition for an exception includes one or more of: an exception with a protected interrupt signal; mode interrupt signal; dumping exception; an exception with an interrupt signal; software interrupt signal; an exceptional situation with an uncertain team; an abnormal termination exception with a prefetch error; abnormal termination exception during data error; and an exception with a fast interrupt signal.
35. Способ по п.24, в котором процессор реагирует на условие исключительной ситуации, чтобы выбрать обработчик исключительных ситуаций в зависимости от значения вектора исключительной ситуации, ассоциированного с упомянутым условием исключительной ситуации и хранимого в активной таблице векторов исключительных ситуаций, для упомянутого условия исключительной ситуации; и активная таблица векторов исключительных ситуаций является одной из набора таблиц векторов исключительных ситуаций.35. The method according to paragraph 24, in which the processor responds to an exception condition to select an exception handler depending on the value of the exception vector associated with the exception condition and stored in the active table of exception vectors for the exception condition ; and the active table of exception vectors is one of a set of tables of exception vectors.
36. Способ по п.35, в котором упомянутый набор таблиц векторов исключительных ситуаций включает в себя защищенную таблицу векторов исключительных ситуаций, выбираемую в защищенном режиме, и незащищенную таблицу векторов исключительных ситуаций, выбираемую в незащищенном режиме.36. The method according to clause 35, in which the said set of tables of vectors of exceptional situations includes a protected table of vectors of exceptional situations, selected in protected mode, and an unprotected table of vectors of exceptional situations, selected in unprotected mode.
37. Способ по любому из пп.35 и 36, в котором процессор также выполнен с возможностью функционирования в режиме монитора, и любое переключение между защищенным режимом и незащищенным режимом для упомянутого набора векторов исключительных ситуаций выполняют через режим монитора.37. The method according to any one of claims 35 and 36, wherein the processor is also operable in monitor mode, and any switching between the protected mode and the unprotected mode for said set of exception vectors is performed through the monitor mode.
38. Способ по п.37, в котором упомянутый набор таблиц векторов исключительных ситуаций включает в себя таблицу векторов исключительных ситуаций режима монитора.38. The method according to clause 37, in which said set of tables of vectors of exceptional situations includes a table of vectors of exceptional situations of the monitor mode.
39. Способ по п.37, в котором процессор реагирует на один или несколько параметров, задающих, какие из упомянутых исключительных ситуаций должны быть обработаны в соответствии с таблицей векторов исключительных ситуаций режима монитора.39. The method according to clause 37, in which the processor responds to one or more parameters that specify which of the mentioned exceptional situations should be processed in accordance with the table of exception vectors of exceptional situations of the monitor mode.
40. Способ по п.36, в котором процессор реагирует на один или несколько параметров, задающих, какие из упомянутых исключительных ситуаций должны быть обработаны в соответствии с таблицей векторов исключительных ситуаций режима монитора, и защищенная таблица векторов является активной таблицей векторов в защищенном режиме, и незащищенная таблица векторов является активной таблицей векторов в незащищенном режиме, если упомянутые один или несколько параметров не задают, что таблицей векторов режима монитора является активная таблица векторов для упомянутого условия исключительной ситуации.40. The method according to clause 36, in which the processor responds to one or more parameters that specify which of the mentioned exceptional situations should be processed in accordance with the table of exceptions vectors of the monitor mode, and the protected table of vectors is an active table of vectors in protected mode, and an unprotected vector table is an active vector table in unprotected mode, if one or more of the parameters mentioned does not specify that the vector table of the monitor mode is an active vector table a ditch for the exception condition mentioned.
41. Способ по п.39, в котором по меньшей мере один из параметров хранят в регистре маски перехвата исключительных ситуаций.41. The method according to § 39, in which at least one of the parameters is stored in the register mask interception of exceptional situations.
42. Способ по п.41, в котором регистр управления исключительной ситуацией является записываемым, если процессор находится в режиме монитора, и регистр маски внутреннего перехвата исключительных ситуаций является не записываемым, если процессор не находится в режиме монитора.42. The method according to paragraph 41, wherein the exception control register is writable if the processor is in monitor mode and the exception interception mask register is not writable if the processor is not in monitor mode.
43. Способ по п.36, в котором защищенная таблица векторов исключительных ситуаций является записываемой, если процессор находится в защищенном режиме, и защищенная таблица векторов исключительных ситуаций является не записываемой, если процессор находится в незащищенном режиме.43. The method according to clause 36, in which the protected table of exception vectors is writable if the processor is in protected mode, and the protected table of exception vectors is not writable if the processor is in unprotected mode.
44. Способ по п.36, в котором защищенный обработчик исключительных ситуации, являющийся частью защищенной операционной системы, используется защищенным режимом.44. The method according to clause 36, in which a protected exception handler, which is part of a protected operating system, is used in protected mode.
45. Способ по п.36, в котором незащищенный обработчик исключительных ситуаций, являющийся частью незащищенной операционной системы, используется незащищенным режимом.45. The method according to clause 36, in which an unprotected exception handler, which is part of an unprotected operating system, is used in unprotected mode.
46. Способ по п.35, содержащий этап, на котором сохраняют в наборе регистров базовых адресов таблиц векторов значения соответственных базовых адресов для соответствующих таблиц из упомянутого набора таблиц векторов исключительных ситуаций.46. The method according to clause 35, containing the stage at which the values of the corresponding base addresses for the corresponding tables from the said set of tables of emergency vector tables are stored in the set of registers of the base addresses of the vector tables.
47. Компьютерный программный продукт, содержащий компьютерную программу, выполненную с возможностью управления устройством обработки данных в соответствии со способом по любому из пп.24-46.47. A computer program product containing a computer program configured to control a data processing device in accordance with the method according to any one of paragraphs.24-46.