RU2320002C2 - Method for switching context of tasks and procedures in a processor - Google Patents
Method for switching context of tasks and procedures in a processor Download PDFInfo
- Publication number
- RU2320002C2 RU2320002C2 RU2006112635/09A RU2006112635A RU2320002C2 RU 2320002 C2 RU2320002 C2 RU 2320002C2 RU 2006112635/09 A RU2006112635/09 A RU 2006112635/09A RU 2006112635 A RU2006112635 A RU 2006112635A RU 2320002 C2 RU2320002 C2 RU 2320002C2
- Authority
- RU
- Russia
- Prior art keywords
- context
- memory
- task
- register
- processor
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
Изобретение относится к вычислительной технике, а именно к процессорам для обработки данных, предназначенным для работы в многозадачном режиме, и может быть использовано, в частности, во встраиваемых приложениях.The invention relates to computing, and in particular to processors for data processing, designed to operate in multitasking mode, and can be used, in particular, in embedded applications.
При работе в многозадачном режиме обычно требуется переключение контекста задач и процедур, т.е. осуществление сохранения и восстановления соответствующих им ресурсов процессора. При этом контекст задачи включает такие ресурсы, как значения счетчика команд, слова состояния процессора, регистров общего назначения и контексты всех вызванных задачей процедур.When working in multitask mode, switching the context of tasks and procedures is usually required, i.e. the implementation of the conservation and restoration of their corresponding processor resources. The task context includes resources such as instruction counter values, processor status words, general purpose registers, and contexts of all procedures caused by the task.
Отличие между задачей и процедурой заключается в том, что задача запускается прерыванием (trap), а процедура вызывается из задачи (call), возможно с передачей параметров и, по существу, представляет собой подпрограмму или функцию, по завершении которой возможен возврат результатов в породившую данную процедуру задачу. Для операционной системы это подпроцесс процесса задачи.The difference between the task and the procedure is that the task is started by an interrupt (trap), and the procedure is called from the task (call), possibly with the transfer of parameters and, in essence, is a subroutine or function, upon completion of which it is possible to return the results to the originating one task procedure. For the operating system, this is a subprocess of the task process.
В данном описании использованы следующие сокращенные обозначения терминов:In this description, the following abbreviated notation of terms is used:
АЛУ - арифметико-логическое устройство, входящее в состав процессора;ALU - an arithmetic-logical device that is part of the processor;
БИ - буфер инструкций;BI - instruction buffer;
БОП - блок обращения к памяти для чтения/записи данных (load/store unit);BOP - memory access unit for reading / writing data (load / store unit);
БФАВИ - блок формирования адреса выбираемой инструкции (instruction fetch unit);BFAVI - block forming the address of the selected instruction (instruction fetch unit);
ДК - дешифратор команд;DK - command decoder;
ДПРК - дескриптор начала и размера области памяти для размещения контекста (дескриптор памяти размещения контекста);DPRK - descriptor of the beginning and size of the memory area for context allocation (context location memory descriptor);
ИП - идентификатор процесса (PID - process identifier);IP - process identifier (PID - process identifier);
КБР - кольцевой буфер РОНов;KBR - ring buffer RONs;
КСПК - кольцевой стек обеспечения переключения контекста (кольцевой стек переключения контекста);KSPK - ring stack providing context switching (ring stack context switching);
ОЗУ-Д - оперативное запоминающее устройство для хранения данных;OZU-D - random access memory for data storage;
ОЗУ-И - оперативное запоминающее устройство для хранения инструкций;RAM-I - random access memory for storing instructions;
ПЗЗ - признак запуска задачи;ПЗЗ - sign of the task launch;
ПП - приоритет процесса;PP - process priority;
ПРВО - признаки результата выполненной операции;PRVO - signs of the result of the operation;
ПССП - признак ССП;PSSP - a sign of MTP;
РО-КБР - регистр обращения к КБР;RO-CBD - register of appeal to the CBD;
РО-КСПК - регистр обращения к КСПК;RO-KSPK - the register of the appeal to KSPK;
РО-П - регистр обращения к памяти;RO-P - memory access register;
РОНы - регистры общего назначения;RONs - general purpose registers;
СК - счетчик команд;SK - team counter;
ССП - слово состояния процессора (PSW - processor status word);SSP - processor status word (PSW - processor status word);
СУПК - структура управления механизмом переключения контекста и выбором режимов работы КБР и КСПК (структура управления переключением контекста);СУПК - the control structure of the context switching mechanism and the choice of CBD and KSPK operating modes (context switching control structure);
УВ-КБР - указатель начала текущего окна в КБР (указатель верхушки КБР);UV-KBR - a pointer to the beginning of the current window in the CBD (a pointer to the top of the CBD);
УВ-КСПК - указатель начала свободного пространства в КСПК (указатель верхушки КПСК);UV-KSPK - a pointer to the beginning of free space in the KSPK (top pointer KPSK);
УД-КБР - указатель начала заполнения КБР (указатель дна КБР);UD-CBD - a pointer to the beginning of filling the CBD (bottom indicator of the CBD);
УД-КСПК - указатель начала заполнения КСПК (указатель дна КПСК);UD-KSPK - a pointer to the beginning of filling the KSPK (bottom indicator KPSS);
УКК-П - указатель на конец контекста в оперативной памяти (указатель конца контекста);UKK-P - a pointer to the end of the context in RAM (pointer to the end of the context);
УСА-П - указатель на адрес оперативной памяти для записи/считывания следующего элемента контекста (указатель следующего адреса в памяти);USA-P - pointer to the address of RAM for writing / reading the next context element (pointer to the next address in memory);
УТ-ДПРК - указатель на строку таблицы ДПРК (указатель таблицы ДПРК);UT-DPRK - pointer to a row of the DPRK table (pointer to the DPRK table);
ЧСР-КБР - число сохраняемых РОНов КБР соответствующего контекста.CSR-CBD - the number of stored CBR RONs of the relevant context.
Одна из первых реализаций поддержки переключения контекста, получившая широкое распространение, относится к RISC процессорам с архитектурой SPARC V8 (The SPARC Architecture Manual. Version 8. SPARC International Inc; 1992, 303 p.). Одной из особенностей SPARC V8 является большой регистровый файл со свойствами циклического буфера и технологией регистрового окна. Однако при этом управление механизмом переключения контекста должно быть реализовано программными средствами, что обуславливает относительно невысокую скорость переключения контекста по сравнению с возможной аппаратной реализацией данного механизма и, следовательно, ведет к ограниченной производительности процессоров данной архитектуры.One of the first implementations of context switching support, which was widely used, relates to RISC processors with the SPARC V8 architecture (The SPARC Architecture Manual.
Задача повышения скорости переключения контекста частично решена в процессорах архитектуры TriCore (TriCore™ 1. 32-Bit Unified Processor Core. Volume 1:V1.3 Core Architecture. User's Manual, V1.3.6. Infineon Technologies AG, 2005, 209 p.), реализующих переключение контекста аппаратными средствами. Однако все сохраненные контексты размещаются в модуле памяти, время доступа к которой существенно превышает время доступа к внутренним регистрам процессора.The task of increasing the context switching speed was partially solved in TriCore architecture processors (TriCore ™ 1. 32-Bit Unified Processor Core. Volume 1: V1.3 Core Architecture. User's Manual, V1.3.6. Infineon Technologies AG, 2005, 209 p.), implement context switching hardware. However, all saved contexts are placed in the memory module, the access time to which is significantly longer than the access time to the internal registers of the processor.
Существенное повышение скорости переключения контекста достигнуто благодаря использованию в процессоре двух регистровых файлов для промежуточного хранения контекстов с последующим их переносом в модуль памяти (патент US 6553487 B1, 22.04.2003). Процедура переключения контекста в данной реализации способа может быть ускорена благодаря применению большего числа регистровых файлов. Однако при увеличении числа регистровых файлов существенно возрастает сложность управления ими.A significant increase in the context switching speed was achieved due to the use of two register files in the processor for intermediate storage of contexts with their subsequent transfer to the memory module (patent US 6553487 B1, 04/22/2003). The context switching procedure in this implementation of the method can be accelerated by using a larger number of register files. However, as the number of register files increases, the complexity of managing them increases significantly.
Наиболее близким аналогом заявленного изобретения является способ переключения контекста в процессоре (патент US 6115777 A, 05.09.2000), заключающийся в оперативном хранении контекстов в большом кольцевом регистровом стеке и переносе контекстов в память при его переполнении. При этом каждый регистр кольцевого стека помимо области хранения данных содержит дополнительный информационный бит, указывающий на действительность хранимых данных. Указанная реализация способа переключения контекста использует дополнительный регистр для временного хранения указанных информационных битов. Кроме того, для управления механизмом сохранения и восстановления контекстов, использованы регистры указателей на области хранения контекстов во внешней памяти. Данный способ также способен обеспечить высокую скорость переключения контекста.The closest analogue of the claimed invention is a method for switching context in the processor (patent US 6115777 A, 09/05/2000), which consists in the operational storage of contexts in a large circular register stack and transferring contexts to memory when it is full. Moreover, each ring stack register, in addition to the data storage area, contains an additional information bit indicating the validity of the stored data. The indicated implementation of the context switching method uses an additional register for temporary storage of the indicated information bits. In addition, to control the mechanism for saving and restoring contexts, registers of pointers to storage areas of contexts in external memory were used. This method is also able to provide high speed context switching.
Задачей заявленного изобретения является достижение минимизации аппаратурных затрат на реализацию переключения контекста при сохранении относительно высокой скорости переключения контекста и его функциональности.The objective of the claimed invention is to minimize hardware costs for the implementation of context switching while maintaining a relatively high speed of context switching and its functionality.
Технический результат при этом заключается в увеличении скорости переключения контекста задач и процедур при уменьшенном количестве использованных аппаратных ресурсов.The technical result in this case is to increase the speed of switching the context of tasks and procedures with a reduced amount of used hardware resources.
Данный технический результат обеспечивается способом переключения контекста задач и процедур в процессоре, способом размещения контекстов задач и процедур в оперативной памяти, способом формирования ССП, способом переноса контекстов задач и процедур в оперативную память и способом начальной установки параметров переключения контекста задач и процедур в процессоре.This technical result is provided by a method of switching the context of tasks and procedures in the processor, a method of placing contexts of tasks and procedures in RAM, a method of generating SSPs, a method of transferring contexts of tasks and procedures to RAM, and a method of initially setting parameters to switch the context of tasks and procedures in the processor.
Технический результат достигается за счет того, что согласно способу переключения контекста задач и процедур в процессоре, процессор содержит КБР, регистр ССП, СК и КСПК. Причем КСПК выполнен с возможностью хранения значений ССП и СК контекста, и данных, характеризующих размещение в оперативной памяти контекстов задач. Процессор содержит также аппаратное средство для управления переключением контекста (СУПК). При этом способ включает в себя последовательное резервирование контекстов в КБР и КСПК с последующим восстановлением, при необходимости, контекстов в обратной последовательности. При переполнении КБР или КСПК производят вытеснение самого раннего контекста в память. При необходимости повторяют такое вытеснение до освобождения требуемых запускаемой задачей или процедурой ресурсов в КБР и/или КСПК. При завершении задачи или процедуры производят восстановление контекстов из памяти в обратной последовательности в освободившиеся ресурсы КБР и КСПК при отсутствии необходимых ресурсов в КБР и/или КСПК.The technical result is achieved due to the fact that according to the method of switching the context of tasks and procedures in the processor, the processor contains a CBD, a register of SSP, SK and KSPK. Moreover, KSPK is made with the possibility of storing the values of the SSP and SK context, and data characterizing the placement of task contexts in the RAM. The processor also comprises hardware for context switching control (CMS). Moreover, the method includes sequential reservation of contexts in the CBD and KSPK with the subsequent restoration, if necessary, of the contexts in the reverse order. When an overflow of CBD or KSPK, the earliest context is forced out into memory. If necessary, such repression is repeated until the resources required by the task or procedure to be launched in the CBD and / or the KSPK are released. Upon completion of a task or procedure, contexts are restored from memory in the reverse order to the freed resources of the CBD and the KSPK in the absence of the necessary resources in the KBR and / or the KSPK.
Согласно способу размещения контекстов задач и процедур в оперативной памяти в ячейки памяти ОЗУ-Д, выделенные для первого элемента контекста задачи записывают УКК-П для предыдущего контекста, а в последний элемент контекста задачи таким же образом записывают ДПРК следующей задачи. Причем контексты всех процедур задачи последовательно и непрерывно размещают внутри контекста данной задачи.According to the method of placing the contexts of tasks and procedures in RAM into RAM-D memory cells allocated for the first element of the context of the task, write UKK-P for the previous context, and in the last element of the context of the task, the DPRK of the next task is written in the same way. Moreover, the contexts of all procedures of the task are sequentially and continuously placed inside the context of this task.
Согласно способу формирования ССП в регистр ССП записывают значения битов полей ПРВО, ПП, ЧСР-КБР, ИП, ПЗЗ и ПССП.According to the method for generating the MSS, the values of the bits of the PRVO, PP, ChSR-KBR, IP, PZZ and MSSP fields are recorded in the MSS register.
Согласно способу переноса контекстов задач и процедур в оперативную память, процессору подают команду, характеризующуюся тем, что в результате декодирования и выполнения данной команды процессором все контексты, за исключением текущего, последовательно переносят из процессора в память. Причем для каждого контекста переносят значения ССП, СК, ДПРК и УКК-П.According to the method of transferring the contexts of tasks and procedures to RAM, the processor is given a command, characterized in that as a result of decoding and execution of this command by the processor, all contexts, except the current one, are sequentially transferred from the processor to memory. Moreover, for each context, the values of SSP, SK, DPRK and UKK-P are transferred.
Согласно способу начальной установки параметров переключения контекста задач и процедур в процессоре процессору подают команды записи новых значений в служебные регистры переключения контекста, декодируемые и исполняемые процессором. Причем одним из служебных регистров является регистр УТ-ДПРК.According to the method of initial setting the context switching parameters of tasks and procedures in the processor, the processor is instructed to write new values to the context switching service registers decoded and executed by the processor. Moreover, one of the service registers is the UT-DPRK register.
В частных случаях своей реализации заявленное изобретение дополнительно характеризуется тем, что в способе переключения контекста задач и процедур в процессоре, контексты для всех процедур задачи последовательно размещают в памяти, внутри контекста этой задачи.In particular cases of its implementation, the claimed invention is additionally characterized by the fact that in the method of switching the context of tasks and procedures in the processor, the contexts for all procedures of the task are sequentially placed in memory, inside the context of this task.
В другом частном случае данные, характеризующие размещение в памяти контекстов задач, представлены значениями ДПРК и УКК-П связанных, соответственно, со значением УКК-П для предыдущего контекста и значением ДПРК следующего контекста.In another particular case, the data characterizing the placement of task contexts in memory is represented by the values of DPRK and UKK-P associated, respectively, with the value of UCC-P for the previous context and the value of the DPRK of the next context.
При этом КСПК может быть выполнен с возможностью размещения в одном регистре стека значений ССП и СК одного контекста или значений УКК-П и ДПРК, одно из которых относится к первому контексту, а другое ко второму контексту, являющимися соседними.In this case, the QPSC can be configured to place in the same register of the stack the values of the SSP and the SK of one context or the values of UKK-P and DPRK, one of which refers to the first context, and the other to the second context, which are adjacent.
Кроме того, для вытеснения контекста в память, последовательно записывают в память значения РОНов, СК и ССП вытесняемого контекста. Количество РОНов, значения которых будут сохранены в КБР при вытеснении контекста, определяется исходя из значений полей ЧСР-КБР и ПЗЗ ССП. Причем, в случае истинности, ПЗЗ записывают значения всех РОНов задачи, в противном случае записывают значения РОНов, число которых задано в ЧСР-КБР. Непосредственно после значения ССП записывают значение ДПРК для размещения следующего контекста, а значение УКК-П вытесняемого контекста в памяти записывают по адресу начала области памяти для размещения следующего контекста.In addition, to oust the context into memory, the values of RONs, SC, and BSC of the ousted context are sequentially written into the memory. The number of RONs whose values will be stored in the CBD upon displacing the context is determined based on the values of the fields CSR-KBR and MSS of the MSS. Moreover, in the case of truth, the RPS record the values of all RONs of the task, otherwise write down the values of RONs, the number of which is specified in the Czechoslovak-KBR. Immediately after the SSP value, the DPRK value is recorded to place the next context, and the value of the UCC-P of the extruded context in the memory is recorded at the beginning of the memory area to place the next context.
Для такой реализации способа процессор содержит архитектурные регистры ДПРК, УКК-П и УСА-П. При переключении контекста задачи в КСПК заносят значения УКК-П и ДПРК из указанных регистров. Значение ДПРК получают из таблицы ДПРК, содержащей все заранее определенные значения ДПРК. Начальное значение регистра УКК-П устанавливают равным значению регистра ДПРК. При вытеснении контекста задачи в память увеличивают значение регистра УКК-П на величину размера сохраняемых в памяти элементов контекста. Осуществляют запись в память посредством РО-П, выполненного с возможностью отображения элемента памяти с адресом, содержащемся в регистре УСА-П. Причем после записи в РО-П значение УСА-П увеличивают на единичное значение.For such an implementation of the method, the processor contains architectural registers DPRK, UKK-P and USA-P. When switching the context of the task, the values of UKK-P and DPRK from the indicated registers are entered into the KSPK. The DPRK value is obtained from the DPRK table containing all predetermined DPRK values. The initial value of the register UKK-P is set equal to the value of the register DPRK. When the context is pushed out, tasks in memory increase the value of the UKK-P register by the size of the context elements stored in the memory. Write to the memory by means of the PO-P, configured to display the memory element with the address contained in the register USA-P. Moreover, after recording in RO-P, the value of USA-P is increased by a single value.
Для обеспечения возможности восстановления контекстов из памяти в ССП и УКК-П изначально включают поле признака ССП или УКК-П соответственно. Причем при восстановлении контекстов из памяти считывают из памяти элемент контекста с адресом из УСА-П посредством РО-П. Если данный элемент обладает признаком ССП, то считываемый контекст является контекстом вложенной в задачу процедуры, для восстановления которой последовательно считывают значения ССП и СК в КСПК, а РОНы, численно соответствующие значению ЧСР-КБР из ССП, в КБР. В случае, если первоначально прочитанный из памяти элемент обладает признаком УКК-П, то считываемый контекст является контекстом задачи. При этом осуществляют переход по адресу из прочитанного УКК-П, указывающий на конец ранее сохраненного в памяти контекста, после чего последовательно считывают значения ССП и СК в КСПК, а все РОНы данного контекста в КБР.To provide the possibility of reconstructing contexts from memory, in the SSP and UKK-P initially include the attribute field SSP or UKK-P, respectively. Moreover, when reconstructing contexts from memory, a context element with an address from USA-P is read from memory by means of PO-P. If this element has the sign of SSP, then the context being read is the context of the procedure embedded in the task, to restore which the values of SSP and SK in the KSPK are sequentially read, and RONs, numerically corresponding to the value of CSR-KBR from SSP, in KBR. If the element originally read from memory has the sign of UKK-P, then the read context is the context of the task. In this case, a transition to the address from the read UKK-P is carried out, indicating the end of the context previously stored in the memory, after which the values of the SSP and SK in the KSPK are sequentially read, and all RONs of this context in the KBR.
Способ размещения контекстов задач и процедур в оперативной памяти в своих частных случаях характеризуется тем, что значение УКК-П считывают из поля УКК-П регистра КСПК, а значение ДПРК считывают из поля ДПРК этого же регистра. Или, в случае, когда из задачи не были вызваны процедуры, значение УКК-П вычисляют как сумму элементов памяти для размещения значений РОНов, значения СК, значения ССП данной задачи и значения ДПРК следующего контекста. В случае наличия вызванных из задачи процедур, сумма адресов элементов памяти дополнительно включает адреса элементов памяти для размещения значений РОНов, значений СК и значений ССП всех процедур данной задачи.The method for placing the contexts of tasks and procedures in RAM in their particular cases is characterized by the fact that the value of UCC-P is read from the UCC-P field of the KSPK register, and the value of DPRK is read from the DDRK field of the same register. Or, in the case when no procedures were called from the task, the UCC-P value is calculated as the sum of memory elements for placing the RON values, the SC value, the SSP value of the given task, and the DPRK values of the following context. If there are procedures called up from the task, the sum of the addresses of the memory elements additionally includes the addresses of the memory elements for the placement of RON values, SC values, and SSP values of all procedures of this task.
В частном случае данного способа УКК-П содержит поле признака, определяющего содержимое данного регистра как УКК-П. Причем поле признака УКК-П имеет нулевое значение, не подлежит изменению и расположено в тридцать втором от начала регистра бите, являющемся последним.In the particular case of this method, UKK-P contains a feature field that defines the contents of this register as UKK-P. Moreover, the attribute field UKK-P has a zero value, cannot be changed, and is located in the thirty-second from the beginning of the register bit, which is the last.
Для каждой области памяти, предназначенной для размещения в ней контекста задачи, заранее может быть сформировано значение ДПРК, а при запуске задачи осуществлена запись соответствующего ей значения ДПРК в КСПК.For each memory area intended for placing the context of the task in it, a DPRK value can be generated in advance, and when the task is started, the corresponding DPRK value is recorded in the CSPC.
Любая из частных реализации данного способа может дополнительно характеризоваться тем, что каждый контекст занимает непрерывную область памяти.Any of the private implementations of this method can be further characterized in that each context occupies a continuous memory area.
Способ формирования ССП в частных случаях характеризуется тем, что значение бита поля ПССП всегда задают отличным от значения бита, имеющего такую же позицию в УКК-П. При этом бит поля ПССП всегда задают равным, например, единице.The method of forming SSP in special cases is characterized by the fact that the value of the bits of the SSSP field is always set to be different from the value of the bit having the same position in UKK-P. In this case, the bit of the MSSP field is always set equal, for example, to one.
В другом частном случае реализации способа, при запуске задачи, значение бита поля ПЗЗ задают равным единице.In another particular case of the implementation of the method, when starting a task, the value of the bit of the PPZ field is set to unity.
В еще одном частном случае значения битов поля ЧСР-КБР непосредственно устанавливают командой процессора, имеющей код 11100100 в своих старших разрядах, и поле из четырех бит в первых младших разрядах для величины задаваемой командой записи в ССП значения числа сохраняемых РОНов.In another particular case, the values of the bits of the CSR-KBR field are directly set by the processor command having the code 11100100 in their high order bits, and the field of four bits in the first low order bits for the value of the number of stored RONs specified by the write command in the SSP.
В любом из частных случаев данного способа полям ПРВО, полю ПП и полю ЧСР-КБР выделяют последовательно по четыре бита начиная от начала ССП, полю ИП выделяют последующие пять битов, а полю ПССП выделяют тридцать второй бит, являющийся последним.In any of the particular cases of this method, four bits are sequentially allocated to the FIR fields, the PP field and the CSR-KBR field starting from the beginning of the MSS, the next five bits are allocated to the IP field, and the thirty-second bit, which is the last, is allocated to the MSS field.
В частном случае способа переноса контекстов задач и процедур в оперативную память команда, подаваемая процессору, имеет код 11101100 в своих старших разрядах.In the particular case of the method of transferring the contexts of tasks and procedures to the RAM, the command issued to the processor has the code 11101100 in its high order bits.
В одном из частных случаев способ начальной установки параметров переключения контекста задач и процедур в процессоре дополнительно характеризуется тем, что служебные регистры включают в свое число рабочие регистры КСПК, а записываемые новые значения представляют собой ДПРК.In one of the special cases, the method of initial setting the parameters for switching the context of tasks and procedures in the processor is additionally characterized by the fact that the service registers include the KSPK working registers, and the new values recorded are DPRK.
В другом частном случае способ характеризуется тем, что служебные регистры включают в свое число регистр УВ-КСПК.In another particular case, the method is characterized in that the service registers include the UV-KSPK register.
В любом из приведенных частных случаев данного способа команда записи подаваемая процессору может иметь код 11101111 или 11011101 или 01110000 в своих разрядах с 25 по 32.In any of the particular cases of this method, the write command issued to the processor may have a code 11101111 or 11011101 or 01110000 in its
Приведенные совокупности признаков обеспечивают получение указанного технического результата во всех случаях, на которые распространяется испрашиваемый объем правовой охраны.These sets of features provide the specified technical result in all cases to which the requested amount of legal protection applies.
Сущность изобретения поясняют следующие схемы:The invention is illustrated by the following schemes:
фиг.1: принципиальная схема переключения контекста;figure 1: schematic diagram of the context switch;
фиг.2: схема общего алгоритма переключения контекста;2: a diagram of a general context switching algorithm;
фиг.3: схема алгоритма вытеснения контекста в оперативную память;figure 3: diagram of the algorithm for displacing the context in RAM;
фиг.4: схема последовательности запуска механизма переключения контекста;4: sequence diagram of the start of the context switching mechanism;
фиг.5: упрощенная структурная схема микропроцессора "Орхидея".5: simplified block diagram of the microprocessor "Orchid".
Осуществление изобретения поясняется на примере процессора, в котором реализован полностью аппаратный механизм переключения контекста задач и процедур, Начального задания требуют только области памяти для размещения контекстов.The implementation of the invention is illustrated by the example of a processor in which a fully hardware-based mechanism for switching the context of tasks and procedures is implemented. Initial tasks require only memory areas for placing contexts.
Процессор содержит архитектурные регистры СК, ССП, ДПРК, УКК-П, УТ-ДПРК и УСА-П, а также показанные на фиг.1 КБР 1 и КСПК 2.The processor contains the architectural registers SK, SSP, DPRK, UKK-P, UT-DPRK and USA-P, and also shown in figure 1
ССП характеризует задачу или процедуру, а СК характеризует стадию их выполнения.BSC characterizes the task or procedure, and SC characterizes the stage of their implementation.
Архитектурные регистры ДПРК, УКК-П, УТ-ДПРК и УСА-П выполнены обособленными от КБР 1 и КСПК 2 и предназначены для организации хранения контекстов в оперативной памяти 3.The architectural registers DPRK, UKK-P, UT-DPRK and USA-P are made separate from
КБР 1 представляет собой набор из 32-битных регистров. Процессор непосредственно обрабатывает данные только из регистров, попадающих в текущее окно (фрейм) 4. Эти регистры являются РОНами выполняемой задачи или процедуры. В данном примере реализации способа окно РОНов содержит 16 регистров. При переключении между задачами или процедурами смещение окна 4 составляет от 1 до 16 регистров.
Адресация РОНов в КБР 1 выполнена так, что адрес следующего регистра на 1 больше адреса предыдущего регистра, а при достижении адреса самого последнего регистра следующий адрес будет принадлежать самому первому регистру.Addressing RONs in
Для управления КБР 1 служат регистры УД-КБР и УВ-КБР.For the management of
КСПК 2 представляет собой стек регистров для хранения величин ССП, СК, ДПРК и УКК-П, соответствующих РОНам из КБР 1. В каждый регистр КСПК 2 может быть записана пара значений {ССП, СК} или пара значений {УКК-П, ДПРК}. Причем УКК-П должно относиться к первому из двух соседних контекстов, а значение ДПРК ко второму контексту, следующему непосредственно за первым. Благодаря этому КСПК 2 реализует функции стека возвратов (return stack) и стека обращений к памяти.
Адрес в КСПК 2, по которому может быть сделана следующая запись, содержится в регистре УВ-КСПК. Для того чтобы можно было отличить занятую и свободную области КСПК 2, используют регистр УД-КСПК.The address in
Чтение и запись в регистры КБР 1 и КСПК 2 осуществляется посредством регистров РО-КБР и РО-КСПК, являющихся регистрами косвенной адресации.Reading and writing to the
РО-КБР выполнен с возможностью отображения элемента КБР 1 с адресом, содержащимся в регистре УД-КБР. Причем после чтения из РО-КБР значение адреса в регистре УД-КБР увеличивается на единичное значение. Перед записью в РО-КБР адрес в УД-КБР уменьшается на единичное значение.RO-CBD is configured to display the
РО-КСПК выполнен с аналогичными свойствами в отношении регистра УД-КСПК.RO-KSPK is made with similar properties in relation to the register UD-KSPK.
Для осуществления механизма переключения контекста в ССП и УКК-П включены специальные поля.To implement the context switching mechanism, special fields are included in the BSC and UKK-P.
Формат ССП характеризуется тем, что ССП содержит поля признаков ПРВО, ПП, ЧСР-КБР, ИП, ПЗЗ и ПССП. Значение бита поля ПССП всегда задают отличным от значения бита, имеющего такую же позицию в УКК-П, что позволяет различать их при восстановлении контекста.The BSC format is characterized by the fact that the BSC contains the fields of attributes PRVO, PP, ChSR-KBR, IP, PPZ and PSSP. The value of the bit of the PSSS field is always set different from the value of the bit having the same position in UKK-P, which allows them to be distinguished when restoring the context.
Для функционирования механизма переключения контекста задач должны быть определены значения ДПРК, содержащие данные о размере и расположении в памяти 3 всех областей для сохраняемых контекстов. Все ДПРК на этапе начальной установки процессора помещают в таблицу 5 ДПРК в памяти 3. Строку для чтения из таблицы 5 ДПРК определяет значение регистра УТ-ДПРК.For the switching mechanism of the task context to work, the values of the DPRK must be determined, containing data on the size and location in memory of 3 of all areas for the saved contexts. All DPRK at the stage of initial installation of the processor are placed in table 5 DPRK in memory 3. The line for reading from table 5 DPRK determines the value of the register UT-DPRK.
Переключение контекста в процессоре осуществляется следующим образом.Context switching in the processor is as follows.
После получения 6 (фиг.2) сигнала прерывания производится проверка 7 наличия свободных ресурсов в КБР 1 и КСПК 2. Необходимым условием доступности свободных ресурсов для новой задачи в данном примере процессора является наличие не менее 16 свободных РОНов в КБР 1 и не менее двух свободных строк-регистров в КСПК 2. В случае, если необходимые ресурсы недоступны, производится вытеснение 8 самого раннего (старого) контекста из КБР 1 и КСПК 2 в оперативную память 3.After receiving 6 (FIG. 2) interrupt signal, a check is made of 7 availability of free resources in
При наличии необходимых свободных ресурсов производят резервирование 9 текущего контекста в КБР 1 и КСПК 2, включающее в себя смещение 10 в КБР 1 текущего окна РОНов путем увеличения значения УВ-КБР на значение ЧСР-КБР из текущего ССП. Значение ЧСР-КБР при этом унаследовано от предыдущего контекста или, при необходимости, заново установлено программно.If the necessary free resources are available, 9 current contexts are backed up in
Затем осуществляется сохранение 11 в КСПК 2 значений регистров ССП и СК, относящихся к текущей задаче, по адресу, содержащемуся в УВ-КСПК 2. Данные значения записываются в один регистр и представляют собой одну строку в КСПК 2.Then, the 11 values of the SSP and SK registers related to the current task are stored in
В следующую строку КСПК 2 записывают 12 значения ДПРК для новой запускаемой задачи и УКК-П для текущей задачи, являющейся резервируемой. Причем значение ДПРК считывают из строки таблицы ДПРК в памяти по УТ-ДПРК, а УКК-П вычисляют как сумму элементов памяти для размещения РОНов, СК, ССП и ДПРК. В случае наличия вызванных из задачи процедур, сумма элементов памяти дополнительно включает элементы памяти для размещения РОНов, СК и ССП всех процедур.In the next line of
После успешного резервирования 9 текущего контекста осуществляется инициализация 13 регистров ССП и СК для запускаемой задачи.After successfully backing up 9 current contexts, 13 registers of SSP and SK are initialized for the task to be started.
Вытеснение 8 самого раннего контекста из КБР 1 и КСПК 2 в оперативную память 3 поясняется фиг.3, и включает в себя чтение 14 из РО-КСПК значения текущего регистра КСПК.The crowding out 8 of the earliest context from the
Так как ССП содержит поле ПЗЗ, то всегда можно определить 15, относится данный контекст к задаче или к процедуре.Since the MTS contains the field of the PPZ, it is always possible to determine 15, this context refers to the task or procedure.
Если данный контекст относится к задаче, то число последующих циклов чтения устанавливается 16 равным полному числу РОНов задачи - 16. В случае контекста процедуры число последующих циклов чтения устанавливается 17 равным значению ЧСР-КБР из ССП. После этого выполняется 18 требуемое число циклов чтения значений из РО-КБР и их запись в РО-П. Регистр РО-П является регистром косвенной адресации и отображает элемент памяти с адресом, содержащимся в УСА-П. Причем перед чтением из РО-П содержимое УСА-П увеличивается на единичное значение, что ведет к смещению указателя на следующий элемент памяти.If this context refers to the task, then the number of subsequent reading cycles is set to 16 equal to the total number of RONs of the task - 16. In the case of the context of the procedure, the number of subsequent reading cycles is set to 17 equal to the value of the CSR-CBD from the BSC. After that, the required number of 18 cycles of reading values from the RO-CBD and their writing to the RO-P are performed. Register RO-P is a register of indirect addressing and displays a memory element with the address contained in the USA-P. Moreover, before reading from RO-P, the contents of USA-P are increased by a single value, which leads to a shift of the pointer to the next memory element.
Таким образом, в оперативную память 3 перенесены сохраняемые РОНы одного контекста.Thus, the stored RONs of the same context are transferred to the RAM 3.
Затем осуществляется запись 19 в РО-П значений СК и ССП.Then, a record of 19 in the RO-P of the values of SC and BSC is carried out.
Если данный контекст является 20 контекстом процедуры, то его вытеснение в оперативную память 3 завершено 21.If this context is the 20th context of the procedure, then its extrusion into RAM 3 is completed 21.
Если данный контекст является 20 контекстом задачи, то осуществляется последовательное чтение 22 из РО-КСПК пары значений УКК-П и ДПРК, запись 23 в РО-П значения ДПРК, запись 24 в УСА-П значения ДПРК и запись 25 в РО-П значения УКК-П. Таким образом, вытеснение контекста задачи в оперативную память 3 завершено 21. Причем контексты всех процедур, вызванных данной задачей, последовательно размещены внутри контекста этой задачи.If this context is the 20 context of the task, then a sequential reading of 22 from the RO-KSPK pair of UKK-P and DPRK values is made, writing 23 in the RO-P values of the DPRK, writing 24 in the USA-P values of the DPRK and writing 25 in the RO-P values UKK-P. Thus, the displacement of the context of the task into RAM 3 is completed 21. Moreover, the contexts of all procedures caused by this task are sequentially placed inside the context of this task.
Возможны ситуации, когда необходимо перенести все сохраненные контексты из КБР 1 и КСПК 2 в память 3. Например для того, чтобы просмотреть или изменить какой-либо контекст, в частности значение ССП. Для этого система команд процессора должна включать в себя команду переноса контекстов задач и процедур в память 3, в результате декодирования и выполнения которой все контексты, за исключением текущего, должны быть перенесены из регистров процессора в память 3.There may be situations when it is necessary to transfer all saved contexts from
При завершении текущей задачи автоматически осуществляется восстановление к тому контексту, из которого была вызвана текущая задача.When the current task is completed, it is automatically restored to the context from which the current task was called.
При завершении задачи УВ-КСПК уменьшается на единичное значение, одновременно с этим декрементируется и УВ-КБР.Upon completion of the task, the HC-CBFR decreases by a single value, and at the same time, the HC-CBD decreases.
Значения полученных указателей сравниваются со значениями УД-КБР и УД-КСПК, на основании чего определяется наличие требуемых данных в КБР 1 и КСПК 2. Если требуемых для восстановления данных в них нет, то автоматически включается механизм их восстановления из памяти 3. При этом значение РО-П уже отражает содержание УСА-П, указывающее на место в памяти 3, из которого следует производить восстановление.The values of the obtained pointers are compared with the values of UD-KBR and UD-KSPK, on the basis of which the availability of the required data in
Если данный элемент контекста является УКК-П, то осуществляют переход по адресу, содержащемуся в нем, а затем последовательно считывают в КСПК 2 значения ДПРК, ССП, СК. Значения 16 РОНов переносят в КСВ 1. После этого заносят в КСПК 2 значение УКК-П предыдущего контекста, расположенное в последнем элементе контекста в памяти 3.If this context element is UKK-P, then go to the address contained in it, and then sequentially read in
Если текущий элемент контекста является ССП, то в КСПК 2 переносят значения ССП, СК, а в КСВ 1 переносят РОНы, число которых узнают из поля ЧСР-КБР считанного ССП.If the current context element is SSP, then SSP, SK are transferred to
Организация контекстов в КБР 1, КСПК 2 и памяти 3 поясняется примером, представленным на фиг.1, на которой выделен контекст одной задачи.The organization of contexts in
РОНы 26 КБР 1 и данные 27 КСПК 2 представляют собой контекст одной задачи.RONs 26
В показанной на фиг.1 ситуации контекст задачи "В" включает два контекста, один из которых относится непосредственно к данной задаче - контекст "В0", а второй относится к вызванной из нее процедуре "В1".In the situation shown in FIG. 1, the context of the task “B” includes two contexts, one of which relates directly to this task - the context “B0”, and the second refers to the procedure “B1” called from it.
Связь контекстов в памяти 3 организуется за счет того, что в последний элемент 28 предыдущего контекста "А" записывают значение ДПРК(В), определяющее расположение первого элемента контекста "В". Записывают по данному адресу памяти значение УКК-П(А), указывающее на расположение элемента 28 в памяти. Причем для считывания значений ДПРК(В) и УКК-П(А) из КСПК 2 требуется одна операция чтения, т.к. эти величины расположены в одном регистре КСПК 2.Communication contexts in memory 3 is organized due to the fact that in the last element 28 of the previous context "A" write the value of DPRK (B), which determines the location of the first element of the context "B". The value UKK-P (A) is recorded at this memory address, indicating the location of element 28 in memory. Moreover, to read the values of DPRK (B) and UKK-P (A) from
Вслед за УКК-П(А) записывают в память значения 29 РОНов, СК и ССП для всех контекстов, входящих в контекст данной задачи. Затем значение УКК-П(В) помещают в самый первый элемент 30 контекста задачи "В".Following UKK-P (A), the values of 29 RONs, SC, and BSC are recorded in memory for all contexts included in the context of this task. Then the value UKK-P (B) is placed in the very first element 30 of the context of the task "B".
Последовательность запуска механизма переключения контекста поясняет фиг.4.Figure 4 illustrates the startup sequence of the context switching mechanism.
После включения 31 питания процессора необходимо подать 32 на него внешний сигнал сброса (RESET), посредством которого производится начальная установка 33 регистров процессора. При этом устанавливается наивысший приоритет в регистре ССП и начальное значение СК.After turning on 31 processor power, it is necessary to apply 32 to it an external reset signal (RESET), through which the initial setup of 33 processor registers is performed. In this case, the highest priority is set in the SSP register and the initial value of SK.
После снятия сигнала RESET процессор начинает выполнять программу с указанного адреса. При этом таблица векторов прерываний и таблица ДПРК еще не определены. В данном режиме процессор не может отвечать на прерывания и переключаться с задачи на задачу, но при этом он может вызывать процедуры с максимальной глубиной вложенности до восьми.After removing the RESET signal, the processor starts to execute the program from the specified address. At the same time, the table of interrupt vectors and the DPRK table have not yet been determined. In this mode, the processor cannot respond to interruptions and switch from task to task, but at the same time it can call procedures with a maximum nesting depth of up to eight.
Сначала выполняется 34 программа начальной установки процессора, по завершении которой выполняется 35 команда начальной установки механизма сохранения/восстановления контекста задач при вытеснении контекстов в память и осуществляется запуск 36 первичной задачи.First, a 34 initial processor installation program is executed, after which a 35 command is executed for the initial installation of the mechanism for saving / restoring the context of tasks when the contexts are pushed into memory, and 36 primary tasks are launched.
Программа начальной установки процессора формирует 37 таблицу ДПРК, формирует 38 УТ-ДПРК. Затем формируется 39 таблица векторов прерываний и формируется 40 указатель на таблицу векторов прерываний.The initial setup program of the processor generates 37 DPRK tables, forms 38 UT-DPRK. Then, a 39 interrupt vector table is generated and a 40 pointer to an interrupt vector table is generated.
По завершении указанных действий становится возможным выполнить команду начальной установки 35 механизма сохранения/восстановления контекста задач при вытеснении контекстов в память (RESTART), приводящую к считыванию из таблицы ДПРК первого значения и его размещению 41 в КСПК. Затем из таблицы векторов прерываний выбираются 42 значения ССП и СК, соответствующие задаче рестарта. После этого контекст начальной загрузки забывается.Upon completion of these steps, it becomes possible to execute the
Команда RESTART выполняется как особое прерывание без сохранения текущего контекста.The RESTART command is executed as a special interrupt without saving the current context.
Для приведения механизма сохранения/восстановления контекстов в памяти в исходное состояние в регистр УТ-ДПРК следует записать адрес нулевого дескриптора таблицы ДПРК. Затем записывают нулевые значения в регистры УВ-КБР, УД-КБР, УВ-КСПК и УД-КСПК. Записывают в КСПК 2 пару значений ДПРК, после чего увеличивают значение УВ-КСПК на единичное значение и присваивают регистру УКК-П значение ДПРК.To bring the mechanism of saving / restoring contexts in memory to their initial state, the address of the zero descriptor of the DPRK table should be written in the UT-DPRK register. Then, zero values are recorded in the registers UV-KBR, UD-KBR, UV-KSPK and UD-KSPK. A pair of DPRK values is recorded in
Примером осуществления заявленного изобретения является микропроцессор для встраиваемых приложений "Орхидея". На фиг.5 представлена упрощенная структурная схема этого процессора.An example implementation of the claimed invention is a microprocessor for embedded applications "Orchid". Figure 5 presents a simplified structural diagram of this processor.
Микропроцессор "Орхидея" является процессором с сокращенным набором команд (RISC) и характеризуется полностью автоматической поддержкой механизма переключения задач и процедур, причем все необходимые для этого действия выполняются на аппаратном уровне, за исключением формирования таблицы ДПРК.Microprocessor "Orchid" is a processor with a reduced set of instructions (RISC) and is characterized by fully automatic support for the mechanism of switching tasks and procedures, and all the necessary steps for this are performed at the hardware level, except for the formation of the DPRK table.
"Орхидея" содержит КБР 1, АЛУ 43, ДК 44 и БИ 45, СК 46 и БФАВИ 47, а также БОП 48, характерные для ряда RISC процессоров."Orchid" contains
Существенным отличием "Орхидеи" от обычных RISC процессоров является механизм переключения контекста, существенным элементом которого являются блоки КСПК 2 и СУПК 49 (фиг.5).A significant difference between "Orchids" and conventional RISC processors is a context switching mechanism, an essential element of which are blocks KSPK 2 and CUPK 49 (figure 5).
При этом вход-выход данных АЛУ 43 и первый вход-выход данных БОП 48 соединены с входом-выходом данных КБР 1.In this case, the input-
ДК 44 соединен своим входом данных с выходом данных ОЗУ-И 50 через БИ 45 посредством шины данных. Выходы управления ДК 44 соединены с входами управления АЛУ 43, БОП 48, СК 46 и первым входом управления КБР 1. ДК 44 также соединен с СУПК 49 через вход-выход управления.
Вход-выход данных СК 46 соединен с входом-выходом данных КСПК 2, а выход данных связан со входом данных ОЗУ-И 50 через БФАВИ 47 и адресную шину.The input / output of
Первый выход данных КБР 1 и выход данных КСПК 2 соединены с СУПК 49. Первый и второй выходы управления СУПК 49 соединены соответственно с входом управления КСПК 2 и вторым входом управления КБР 1.The first output of the
Выход данных СУПК 49 соединен с входом данных БОП 48.The output of the
Второй вход-выход данных БОП 48 соединен с входом-выходом данных ОЗУ-Д 51 посредством шины данных, а вход данных ОЗУ-Д 51 соединен с выходом данных БОП 48 посредством адресной шины.The second input-
СУПК 49 представляет собой абстрактное обобщение аппаратных средств, необходимых для управления переключением контекста. Данные аппаратные средства, по своему существу, являются средствами работы с системными регистрами посредством операций чтения и записи в соответствии с алгоритмом переключения контекста, реализованным на основе конечного автомата. Аппаратная реализация СУПК может иметь различные варианты и не представляет сложности относительно существующих технологий.
Сохранение и восстановление контекстов в/из памяти осуществляется следующим образом.Saving and restoring contexts to / from memory is as follows.
По признаку переполнения ресурсов хотя бы в КБР 1 или КСПК 2 генерируется сигнал запуска СУПК 49, в процессе работы которого осуществляется перенос данных из КБР 1 и КСПК 2 в ОЗУ-Д 51 через БОП 48, формирующего адрес, данные и сигналы записи в ОЗУ-Д 51.Based on the sign of overflow of resources, at least in
По признаку отсутствия ресурсов в КБР 1 или КСПК 2 производится генерирование сигнала запуска СУПК 49, осуществляющего перенос данных из ОЗУ-Д 51 в КБР 1 и КСПК 2 через БОП 48. При этом БОП 48 формирует адрес, данные и сигналы чтения из ОЗУ-Д 51.On the basis of the lack of resources in
Причем при осуществлении операции записи в регистр ССП из ОЗУ-И 50 выбирается код инструкции, который в дальнейшем дешифрируется в ДК 44 с целью получения сигналов для управления логической схемой записи регистра ССП, а при выполнении команды переноса контекстов задач и процедур в ОЗУ-Д 51, из ОЗУ-И 50 выбирается код инструкции, дешифрируемый в дальнейшем в ДК 44 с целью получения логического сигнала запуска СУПК 49.Moreover, during the operation of writing to the SSP register from RAM-
Реализация "Орхидеи" характерна тем, что значение бита поля ПССП всегда равно единице, а соответствующий бит в УКК-П всегда имеет нулевое значение. Значение бита поля ПЗЗ при запуске задачи равно единице.The implementation of "Orchid" is characterized by the fact that the value of the bit of the PSSS field is always equal to one, and the corresponding bit in UKK-P always has a zero value. The value of the bit of the PPZ field at the start of the task is equal to one.
Кроме того, поля ПРВО, ПП и ЧСР-КБР в ССП "Орхидеи" занимают по четыре бита начиная от начала ССП, поле ИП занимает последующие пять битов, а поле ПССП занимает самый последний, тридцать второй бит. Причем установка битов поля ЧСР-КБР осуществляется командой с машинным кодом 11100100 в своих старших разрядах, и содержащей поле из четырех бит в первых младших разрядах для величины задаваемой командой записи в ССП значения числа сохраняемых РОНов в КБР 1.In addition, the PRVO, PP, and CSR-KBR fields in the Orchid SSP occupy four bits each, starting from the beginning of the SSP, the IP field occupies the next five bits, and the PRSS field occupies the last, thirty-second bit. Moreover, setting the bits of the CSR-KBR field is carried out by a command with machine code 11100100 in its high order bits, and containing a field of four bits in the first low order bits for the value of the number of stored RONs in
Команда переноса всех сохраненных контекстов в память для "Орхидеи" имеет код 11101100 в старших разрядах, а команда записи, подаваемая процессору, имеет код 11101111 или 11011101 или 01110000 в своих разрядах с 25 по 32.The command to transfer all saved contexts to the memory for "Orchid" has the code 11101100 in the upper digits, and the write command issued to the processor has the code 11101111 or 11011101 or 01110000 in its
Claims (21)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2006112635/09A RU2320002C2 (en) | 2006-04-18 | 2006-04-18 | Method for switching context of tasks and procedures in a processor |
| PCT/RU2007/000124 WO2007120075A1 (en) | 2006-04-18 | 2007-03-15 | Method for switching context of tasks and procedures in a processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2006112635/09A RU2320002C2 (en) | 2006-04-18 | 2006-04-18 | Method for switching context of tasks and procedures in a processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| RU2006112635A RU2006112635A (en) | 2007-11-20 |
| RU2320002C2 true RU2320002C2 (en) | 2008-03-20 |
Family
ID=38609763
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2006112635/09A RU2320002C2 (en) | 2006-04-18 | 2006-04-18 | Method for switching context of tasks and procedures in a processor |
Country Status (2)
| Country | Link |
|---|---|
| RU (1) | RU2320002C2 (en) |
| WO (1) | WO2007120075A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2589306C2 (en) * | 2011-08-26 | 2016-07-10 | Амазон Текнолоджис, Инк. | Remote viewing session control |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103049325A (en) * | 2013-01-09 | 2013-04-17 | 浙江大学 | Method for implementing CSA (context save area) node manager on basis of TC1767 platform |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US610744A (en) * | 1898-09-13 | Valve-seat | ||
| US6092144A (en) * | 1993-06-30 | 2000-07-18 | Microsoft Corporation | Method and system for interrupt-responsive execution of communications protocols |
| WO2003007105A3 (en) * | 2000-11-24 | 2003-09-12 | Catharon Productions Inc | Computer multi-tasking via virtual threading |
| RU2239228C2 (en) * | 2001-07-05 | 2004-10-27 | Всероссийский научно-исследовательский институт автоматики | Method for distributing time of central processor between tasks in automatized system for controlling technological processes |
| RU2003113302A (en) * | 2000-11-13 | 2004-11-10 | Коммиссариат А Л'Энержи Атомик | METHOD OF PROTECTION WITH DETERMINED EXECUTION IN REAL TIME OF MULTI-TASK APPLICATIONS OF MANAGEMENT AND CONTROL TYPE WITH RESTRICTION OF ERRORS |
| RU2263949C2 (en) * | 2000-10-05 | 2005-11-10 | Арм Лимитед | Translated commands with possible rerun |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6108744A (en) * | 1998-04-16 | 2000-08-22 | Sun Microsystems, Inc. | Software interrupt mechanism |
| FR2816730B1 (en) * | 2000-11-13 | 2004-10-15 | Commissariat Energie Atomique | SECURITY METHOD FOR DETERMINING REAL-TIME EXECUTION OF MULTITASTIC APPLICATIONS OF CONTROL-CONTROL TYPE WITH ERROR CONTAINMENT |
-
2006
- 2006-04-18 RU RU2006112635/09A patent/RU2320002C2/en not_active IP Right Cessation
-
2007
- 2007-03-15 WO PCT/RU2007/000124 patent/WO2007120075A1/en not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US610744A (en) * | 1898-09-13 | Valve-seat | ||
| US6092144A (en) * | 1993-06-30 | 2000-07-18 | Microsoft Corporation | Method and system for interrupt-responsive execution of communications protocols |
| RU2263949C2 (en) * | 2000-10-05 | 2005-11-10 | Арм Лимитед | Translated commands with possible rerun |
| RU2003113302A (en) * | 2000-11-13 | 2004-11-10 | Коммиссариат А Л'Энержи Атомик | METHOD OF PROTECTION WITH DETERMINED EXECUTION IN REAL TIME OF MULTI-TASK APPLICATIONS OF MANAGEMENT AND CONTROL TYPE WITH RESTRICTION OF ERRORS |
| WO2003007105A3 (en) * | 2000-11-24 | 2003-09-12 | Catharon Productions Inc | Computer multi-tasking via virtual threading |
| RU2239228C2 (en) * | 2001-07-05 | 2004-10-27 | Всероссийский научно-исследовательский институт автоматики | Method for distributing time of central processor between tasks in automatized system for controlling technological processes |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2589306C2 (en) * | 2011-08-26 | 2016-07-10 | Амазон Текнолоджис, Инк. | Remote viewing session control |
Also Published As
| Publication number | Publication date |
|---|---|
| RU2006112635A (en) | 2007-11-20 |
| WO2007120075A1 (en) | 2007-10-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI323847B (en) | Data processing system having multiple register contexts and method therefor | |
| US6314513B1 (en) | Method and apparatus for transferring data between a register stack and a memory resource | |
| US7010555B2 (en) | System and method for compacting a computer system heap | |
| US7840773B1 (en) | Providing memory management within a system management mode | |
| JP2014504768A (en) | Method, computer program product, and apparatus for progressively unloading classes using a region-based garbage collector | |
| US6115777A (en) | LOADRS instruction and asynchronous context switch | |
| KR20130012126A (en) | Apparatus and method for handling exception events | |
| US4454580A (en) | Program call method and call instruction execution apparatus | |
| JP2011529225A (en) | Avoiding self-eviction due to dynamic memory allocation in flash memory storage | |
| JPS604493B2 (en) | Microprogrammed data processing system | |
| US20070055841A1 (en) | Memory allocation in a computer system | |
| US5175830A (en) | Method for executing overlays in an expanded memory data processing system | |
| US6065114A (en) | Cover instruction and asynchronous backing store switch | |
| RU2320002C2 (en) | Method for switching context of tasks and procedures in a processor | |
| JPH05257808A (en) | Microprocessor and its operation conversion method | |
| US7934073B2 (en) | Method for performing jump and translation state change at the same time | |
| US5450587A (en) | Expanded memory addressing scheme | |
| CN116541314A (en) | Address mapping method, device and storage medium based on system page table | |
| US8756193B2 (en) | System and method for persisting object pointers | |
| JP2004206369A (en) | Access method and access program to common resource | |
| KR100654477B1 (en) | How Processors Work | |
| JPS6032220B2 (en) | information processing equipment | |
| RU2294010C1 (en) | Digital data processing method | |
| KR100336717B1 (en) | Address space management method of multi-threads for real-time systems | |
| US10817288B2 (en) | Combined instruction for addition and checking of terminals |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20110419 |