JPH04241032A - System call execution device - Google Patents

System call execution device

Info

Publication number
JPH04241032A
JPH04241032A JP3007338A JP733891A JPH04241032A JP H04241032 A JPH04241032 A JP H04241032A JP 3007338 A JP3007338 A JP 3007338A JP 733891 A JP733891 A JP 733891A JP H04241032 A JPH04241032 A JP H04241032A
Authority
JP
Japan
Prior art keywords
privileged
processing
task
system call
bank
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3007338A
Other languages
Japanese (ja)
Other versions
JP2677458B2 (en
Inventor
Mikio Ogisu
荻須 幹雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP3007338A priority Critical patent/JP2677458B2/en
Publication of JPH04241032A publication Critical patent/JPH04241032A/en
Application granted granted Critical
Publication of JP2677458B2 publication Critical patent/JP2677458B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30061Multi-way branch instructions, e.g. CASE

Abstract

PURPOSE:To improve a protecting function by judging whether or not a bank state is to be saved before the execution of a system call process, entering a privileged mode unconditionally for access to a vector address area, and approving only access based upon double indirect addresses for branching to a vector address table. CONSTITUTION:Address table specification 14 is inputted to an address table area decision part 7 by an interruption 3 with a system call instruction 2. It is judged whether privileged bank information is automatically saved in a specified address table area and the mode is automatically changed into privileged mode. The protecting function operates since normal operation is not performed without double indirect addressing when a specific address area called a address table is specified and a branch instruction 1 is issued. The privileged mode is entered without any software intervention, and high-speed processing becomes possible.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、分岐処理、システムコ
ール処理や割込み処理時に発生するスタックエリアへの
自動待避処理を一律に行うのではなく、必要なときのみ
実行し、かつ上記処理を特権モードで行うときは特権モ
ードへの移行を実行するシステムコール実行装置に関す
るものである。
[Industrial Application Field] The present invention does not uniformly perform automatic save processing to the stack area that occurs during branch processing, system call processing, and interrupt processing, but executes it only when necessary, and privileges the above processing. mode, it relates to the system call execution device that executes the transition to privileged mode.

【0002】0002

【従来の技術】従来、システム管理に関連するタスクは
システム制御レジスタなどのCPU状態を決定する動作
を制御しており、ユーザーアプリケーションプログラム
で構成されたユーザータスクの暴走などの要因により上
記レジスタの誤設定やCPUの状態を決定する命令の実
行を回避するため、システム管理を扱うタスクにはハー
ドウェアで保護機能を動作させ、システムの信頼性を向
上させていた。システムタスク上では割込みの受理処理
やタスクスケジュールリング処理やIOドライバの起動
が行われるが、マルチバンクで構成されたシステムでは
ユーザータスクを起動後、特権タスクを実行していたバ
ンクでの処理が発生せず、システムコール発生持ちや割
込み発生待ち状態であるシステムも存在している。また
、システムコール発生や割込み発生によってハードウェ
アでは特権タスクを実行するバンクのCPU演算部の結
果や特権タスクのインストラクションポインタ、あるい
はCPUの状態を決定するレジスタを待避し、バンクの
状態を保存しておいてからシステムコール処理や割込み
処理を実行していた。したがって、上記の待ち状態にあ
るバンクでは待避動作が必要ないにもかかわらず、待避
処理が実行されていた。
[Prior Art] Conventionally, tasks related to system management have controlled operations such as system control registers that determine the CPU state. To avoid executing instructions that determine configuration or CPU status, hardware protection was implemented for tasks that involved system management, improving system reliability. Interrupt acceptance processing, task scheduling processing, and IO driver startup are performed on the system task, but in systems configured with multi-banks, after the user task is started, processing occurs in the bank that was executing the privileged task. There are also systems that generate system calls or wait for interrupts to occur. In addition, when a system call or an interrupt occurs, the hardware saves the results of the CPU arithmetic unit of the bank that executes the privileged task, the instruction pointer of the privileged task, or the register that determines the state of the CPU, and saves the state of the bank. System call processing and interrupt processing were executed after the Therefore, even though the bank in the above-mentioned wait state does not require a save operation, the save process is executed.

【0003】一方、システムコールの際にハードウェア
で特権モードに自動設定されるシステムコール命令を使
用せず、分岐命令の実行により直接特権プログラムを実
行するものがある。
On the other hand, there are systems that directly execute a privileged program by executing a branch instruction without using a system call instruction that is automatically set to a privileged mode by hardware at the time of a system call.

【0004】0004

【発明が解決しようとする課題】しかし、上記のような
構成では、通常の分岐命令ではユーザーモード状態のま
まであり、ユーザーモードの状態から特権モード状態に
切り替えは不可能であった。この問題を解決する手段と
して、特権モード状態かユーザーモード状態かを示すフ
ラグをユーザーモードからも変更できたり、特権モード
でのみ実行可能ないわゆる特権命令の実行により特権状
態に移行したりする方法がとられるが、このようなシス
テムでは十分な保護機能を提供できなかった。
However, in the above configuration, the user mode remains in the normal branch instruction, and it is impossible to switch from the user mode to the privileged mode. As a way to solve this problem, there are ways to change the flag indicating whether the user is in privileged mode or user mode from user mode, or to enter the privileged state by executing a so-called privileged instruction that can only be executed in privileged mode. However, such systems did not provide sufficient protection.

【0005】本発明は上記従来の問題を解決するもので
、分岐処理、システムコール処理や割込み処理の場合、
それらの処理を実行するバンク上の状態を自動待避する
かどうかをユーザーが任意に指定でき、かつユーザー状
態から特権状態への移行に際して保護機能が働くシステ
ムコール実行装置を提供することを目的とするものであ
る。
The present invention solves the above-mentioned conventional problems, and in the case of branch processing, system call processing, and interrupt processing,
The purpose of the present invention is to provide a system call execution device that allows the user to arbitrarily specify whether or not to automatically save the state on the bank that executes these processes, and that has a protection function when transitioning from the user state to the privileged state. It is something.

【0006】[0006]

【課題を解決するための手段】この課題を解決するため
に本発明のシステムコール実行装置は、ベクタアドレス
のテーブルアドレスにより分岐処理、システムコール処
理や割込み処理の実行前にバンク状態を待避するかどう
かを判断し、ベクタアドレス領域へのアクセスは無条件
に特権モードに移行するようにされ、分岐命令によるベ
クタアドレステーブルへの分岐には2重間接アドレスで
のアクセスのみ認め、保護をかけるように構成されてい
る。
[Means for Solving the Problems] In order to solve this problem, the system call execution device of the present invention saves the bank state before executing branch processing, system call processing, or interrupt processing using a table address of a vector address. Accesses to the vector address area are now unconditionally shifted to privileged mode, and branches to the vector address table by branch instructions are now protected by only allowing access with double indirect addresses. It is configured.

【0007】また、本発明のシステムコール装置は、分
岐命令による特定領域への分岐ではバンク状態を待避せ
ず、かつ無条件に特権モードに移行するように構成され
ている。
Furthermore, the system call device of the present invention is configured such that when branching to a specific area by a branch instruction, the bank state is not saved and the system is unconditionally shifted to a privileged mode.

【0008】さらに、本発明のシステムコール装置は、
フラグにより任意にバンク状態を待避するかを決定でき
るようにし、フラグはユーザーバンク起動時にはリセッ
トされ、ユーザーバンクから特権バンクへの移行の際は
、基本的には待避動作を行なわないように構成されてい
る。
Furthermore, the system call device of the present invention includes:
It is possible to arbitrarily decide whether to save the bank state using a flag, and the flag is reset when the user bank is started, and the system is configured so that basically no save operation is performed when transitioning from the user bank to the privileged bank. ing.

【0009】[0009]

【作用】この構成により、リアルタイム処理が可能とな
り、システムのスループットを向上することができ、か
つユーザータスクからシステムタスクへの移行に保護機
能を付加することができ、システムの高信頼性を実現で
きる。
[Effect] This configuration enables real-time processing, improves system throughput, and adds protection functions to the transition from user tasks to system tasks, achieving high system reliability. .

【0010】0010

【実施例】【Example】

以下本発明の一実施例を図面に基づいて説明する。 図1は本発明の一実施例のシステムコール実行装置の構
成図であり、アドレステーブルによりスタックへの自動
待避動作をするかどうかを決定し、かつユーザータスク
処理から特権タスク処理に移行したときに特権モードに
切り替える構成を示している。
An embodiment of the present invention will be described below based on the drawings. FIG. 1 is a configuration diagram of a system call execution device according to an embodiment of the present invention, which determines whether or not to perform an automatic save operation to the stack based on an address table, and when transitioning from user task processing to privileged task processing. Shows the configuration to switch to privileged mode.

【0011】図1において、分岐命令1は2重間接アド
レッシングの指定が可能であり、1重目の間接アドレッ
シングによりアドレステーブル指定14が行われ、メモ
リ空間4のアドレステーブル領域6内のアドレスが選択
される。アドレステーブル領域6のデータにはプログラ
ムの開始アドレスが格納されている。分岐命令1は2重
目の間接アドレッシングにより分岐先プログラムに分岐
し、プログラムが開始される。アドレステーブル領域6
には実行するプログラムの開始アドレスが格納されてお
り、アドレステーブル領域6内の一部にはハードウェア
による自動待避処理が一切発生しないアドレステーブル
領域5がある。
In FIG. 1, branch instruction 1 can specify double indirect addressing, and address table specification 14 is performed by the first indirect addressing, and an address in address table area 6 of memory space 4 is selected. be done. The data in the address table area 6 stores the start address of the program. Branch instruction 1 branches to the branch destination program by second indirect addressing, and the program is started. address table area 6
The start address of the program to be executed is stored in the address table area 6, and part of the address table area 6 includes an address table area 5 in which no automatic save processing by hardware occurs.

【0012】アドレステーブル指定14によりアドレス
テーブル領域6の自動待避処理のないアドレステーブル
領域5が選択されたかどうかは、アドレステーブル領域
判定部7により判定される。アドレステーブル領域判定
部7にはアドレステーブル領域6の上限アドレス10と
下限アドレス11、自動待避処理のないアドレステーブ
ル領域5の上限アドレス8と下限アドレス9が入力され
、アドレステーブル指定14との比較が行われる。分岐
命令1の1重目の間接のアドレス指定がアドレステーブ
ル領域6の上限アドレス10と下限アドレス11の間の
アドレスであった場合、アドレステーブル領域判定部7
は特権/ユーザーモード管理部13に制御信号15を出
力し、ソフトウェアの介入なしでCPUモード信号16
を特権モードに切り替える。さらに、アドレステーブル
指定14が自動待避処理のないアドレステーブル領域5
の上限アドレス8と下限アドレス9のアドレスであった
場合、アドレステーブル領域判定部7はμROM12に
対して制御信号15を出力し、特権バンク上のプログラ
ム情報のスタックエリアへの自動待避を行わない。
The address table area determination unit 7 determines whether or not the address table area 5 without automatic save processing of the address table area 6 is selected by the address table designation 14. The upper limit address 10 and lower limit address 11 of the address table area 6 and the upper limit address 8 and lower limit address 9 of the address table area 5 without automatic save processing are input to the address table area determination unit 7, and a comparison with the address table specification 14 is performed. It will be done. If the first indirect address specification of branch instruction 1 is an address between upper limit address 10 and lower limit address 11 of address table area 6, address table area determination unit 7
outputs the control signal 15 to the privileged/user mode manager 13 and outputs the CPU mode signal 16 without software intervention.
Switch to privileged mode. Furthermore, address table specification 14 is address table area 5 without automatic save processing.
If the addresses are upper limit address 8 and lower limit address 9, address table area determination section 7 outputs control signal 15 to μROM 12, and does not automatically save the program information on the privileged bank to the stack area.

【0013】システムコール命令2はユーザータスクか
らシステムタスクをコールする命令であり、アドレステ
ーブル指定子を持ち、アドレステーブル領域6内のアド
レスをベクタアドレスとし、特権プログラムに起動をか
ける。また、割込み3は割込み発生要因によりアドレス
テーブル領域6内のアドレスをベクタアドレスとする。 分岐命令1と同様に、システムコール命令2と割込み3
によりアドレステーブル指定14がアドレステーブル領
域判定部7に入力され、指定されたアドレステーブル領
域により特権バンク情報が自動待避されるかどうかが判
断され、また、特権モードに自動的に変更される。
System call instruction 2 is an instruction for calling a system task from a user task, has an address table specifier, uses an address in address table area 6 as a vector address, and starts a privileged program. Furthermore, for interrupt 3, an address in address table area 6 is used as a vector address depending on the cause of the interrupt occurrence. Similar to branch instruction 1, system call instruction 2 and interrupt 3
The address table designation 14 is input to the address table area determining section 7, and it is determined whether the privileged bank information is automatically saved based on the designated address table area, and the mode is automatically changed to the privileged mode.

【0014】アドレステーブルという特定のアドレス領
域の指定と、分岐命令1では2重間接アドレッシングで
ないと正常動作しないこととから、保護機能が働く。ま
た特権モードへの移行にはソフトウェアが介入せず、特
権バンク上のプログラム情報のスタックエリアへの自動
待避処理実行について実行するか否かを選択でき、高速
に処理をすることができる。
The protection function works because a specific address area called an address table is designated and the branch instruction 1 cannot operate normally unless double indirect addressing is used. Further, the transition to the privileged mode does not involve software intervention, and it is possible to select whether or not to execute automatic saving processing of program information on the privileged bank to the stack area, allowing high-speed processing.

【0015】図2は本発明の他の実施例のシステムコー
ル実行装置の構成図であり、分岐先アドレスにより特権
モードに切り替えるかどうかを判断する構成を示してい
る。図2において、分岐命令17はプログラム分岐を実
行する命令であり、分岐アドレスがメモリ領域判定部1
8に入力される。メモリ領域判定部18にはメモリ空間
19の特権プログラム領域20の上限アドレス21と下
限アドレス22が入力されており、分岐命令17の分岐
アドレスが上限アドレス21と下限アドレス22の間に
ある特権プグラムへの分岐かどうかが判断される。分岐
命令17の分岐アドレスが特権プログラム領域20であ
ればメモリ領域判定部18は特権モード信号23を特権
/ユーザーモード管理部24に出力する。特権/ユーザ
ーモード管理部24はこれを受けて、CPUモード信号
25を発生し、特権モードに自動的に変更される。
FIG. 2 is a block diagram of a system call execution device according to another embodiment of the present invention, showing a configuration for determining whether to switch to a privileged mode based on a branch destination address. In FIG. 2, a branch instruction 17 is an instruction to execute a program branch, and the branch address is the memory area determination unit 1.
8 is input. The upper limit address 21 and lower limit address 22 of the privileged program area 20 in the memory space 19 are input to the memory area determination unit 18, and the branch address of the branch instruction 17 is directed to a privileged program between the upper limit address 21 and the lower limit address 22. It is determined whether there is a branch. If the branch address of the branch instruction 17 is in the privileged program area 20, the memory area determination unit 18 outputs the privileged mode signal 23 to the privileged/user mode management unit 24. In response to this, the privilege/user mode management section 24 generates a CPU mode signal 25 and is automatically changed to the privilege mode.

【0016】このとき、特定のアドレス領域の指定での
み特権モードに移行することから、保護機能が働く。ま
た特権モードへの移行にはソフトウェアが介入せず、ジ
ャンプ動作をする分岐命令を使用することで待避処理が
発生せず、システムタスクの起動を高速に実行すること
ができる。
[0016] At this time, the protection function is activated because the mode shifts to the privileged mode only when a specific address area is specified. In addition, the transition to privileged mode does not involve software intervention, and by using a branch instruction that performs a jump operation, no save processing occurs, and system tasks can be started at high speed.

【0017】図3は本発明のさらに他の実施例のシステ
ムコール実行装置の構成図であり、フラグにより任意に
バンク状態を待避するかどうかを決定できる構成を示し
ている。
FIG. 3 is a block diagram of a system call execution device according to yet another embodiment of the present invention, showing a configuration in which it can be arbitrarily determined whether or not to save the bank state based on a flag.

【0018】図3において、レジスタファイル群30は
ユーザーバンクと特権バンクを含む複数のバンクa、b
、c〜nから成り、タスクがどのバンクを使用するかは
、バンク管理部29が選択する。起動時、システムタス
クが実行されると、バンク管理部29は特権バンク実行
中を示す信号36を出力する。スタックエリアにバンク
状態を待避するかどうかを示すスタック自動待避フラグ
31は初期状態“1”で自動待避するようにセットされ
ており、特権バンク実行中を示す信号36とともにAN
D回路35に入力されている。AND回路35の出力は
μROM37に入力されており、AND回路35の出力
が“1”のとき自動待避が実行される。
In FIG. 3, the register file group 30 has a plurality of banks a and b including a user bank and a privileged bank.
, c to n, and the bank management unit 29 selects which bank a task uses. At startup, when a system task is executed, the bank management unit 29 outputs a signal 36 indicating that the privileged bank is being executed. The stack automatic save flag 31, which indicates whether or not to save the bank state to the stack area, is set to an initial state of "1" so that the bank state is automatically saved.
It is input to the D circuit 35. The output of the AND circuit 35 is input to the μROM 37, and automatic saving is executed when the output of the AND circuit 35 is "1".

【0019】スタック自動待避フラグ31の設定はプロ
グラムや端子による設定34により可能であり、任意の
状態に設定できるが、システムタスクからユーザータス
クへ移行し、特権バンクからユーザーバンクへバンク切
り替えが起こったときのユーザータスク起動信号33が
入力されるインバータ回路32により常にリセットされ
る。したがって、分岐処理26、システムコール処理2
7や割込み処理28によりユーザーバンクから特権バン
クに起動がかかってもAND回路35の出力は“0”と
なり、特権バンクへの移行では特権バンクの内容の自動
待避処理は行われない。
The stack automatic save flag 31 can be set by the setting 34 using a program or a terminal, and can be set to any state. It is always reset by the inverter circuit 32 to which the user task activation signal 33 is input. Therefore, branch processing 26, system call processing 2
Even if the user bank is activated from the user bank to the privileged bank by 7 or the interrupt processing 28, the output of the AND circuit 35 becomes "0", and automatic saving processing of the contents of the privileged bank is not performed in the transition to the privileged bank.

【0020】このように、スタック自動待避フラグ31
はユーザーバンク起動時にリセットされ、ユーザーバン
クから特権バンクへの移行の際、基本的に待避動作を行
なわないので、特権タスクの処理開始までのオーバーヘ
ッドを少なくすることができ、リアルタイムシステムを
実現することができる。
In this way, the stack automatic save flag 31
is reset when the user bank is started, and basically no save operation is performed when transferring from the user bank to the privileged bank, so the overhead until the start of processing of privileged tasks can be reduced and a real-time system can be realized. I can do it.

【0021】[0021]

【発明の効果】以上のように本発明によれば、特権モー
ドへの移行にはソフトウェアが介入せず、特権バンク上
のプログラム情報のスタックエリアへの自動待避処理実
行について実行するか否かを選択できて、リアルタイム
処理が可能となり、システムのスループットを向上する
ことができる。また、ユーザータスクからシステムタス
クへの移行に保護機能を付加することができ、ユーザー
タスクによるシステム環境の破壊を回避でき、システム
の高信頼性を実現できる。
As described above, according to the present invention, software does not intervene in the transition to the privileged mode, and it is possible to determine whether or not to execute automatic saving processing of program information on the privileged bank to the stack area. selection, real-time processing is possible, and system throughput can be improved. In addition, a protection function can be added to the transition from a user task to a system task, preventing destruction of the system environment due to user tasks, and achieving high system reliability.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】本発明の一実施例の、アドレステーブルにより
スタックへの自動待避動作をするかどうかを決定し、か
つユーザータスク処理から特権タスク処理に移行したと
きに特権モードに切り替えるシステムコール実行装置を
示す構成図である。
FIG. 1 is a system call execution device according to an embodiment of the present invention that determines whether or not to perform an automatic save operation to the stack based on an address table, and switches to privileged mode when transitioning from user task processing to privileged task processing. FIG.

【図2】本発明の他の実施例の、分岐先アドレスにより
特権モードに切り替えるかどうかを判断するシステムコ
ール実行装置を示す構成図である。
FIG. 2 is a configuration diagram showing a system call execution device that determines whether to switch to a privileged mode based on a branch destination address according to another embodiment of the present invention.

【図3】本発明のさらに他の実施例の、フラグにより任
意にバンク状態を待避するかどうかを決定できるシステ
ムコール実行装置を示す構成図である。
FIG. 3 is a configuration diagram showing a system call execution device that can arbitrarily determine whether or not to save the bank state based on a flag, according to still another embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1,17    分岐命令 2        システムコール命令3      
  割込み 4,19    メモリ空間 5        自動待避処理のないアドレステーブ
ル領域6        アドレステーブル領域7,1
8    アドレステーブル領域判定部8,9    
自動待避処理のないアドレステーブル領域の上限アドレ
スと下限アドレス 10,11    アドレステーブル領域の上限アドレ
スと下限アドレス 12,37    μROM 13,24    特権/ユーザーモード管理部14 
       アドレステーブル指定15      
  制御信号 16,25    CPUモード信号 20        特権プログラム領域21,22 
   特権プログラム領域の上限アドレスと下限アドレ
ス 23        特権モード 26        分岐処理 27        システムコール 28        割込み処理 29        バンク管理部 30        レジスタファイル群31    
    スタック自動待避フラグ32        
インバータ回路 33        ユーザータスク起動信号34  
      プログラム、端子による設定35    
    AND回路
1,17 Branch instruction 2 System call instruction 3
Interrupts 4, 19 Memory space 5 Address table area 6 without automatic save processing Address table area 7, 1
8 Address table area determination unit 8, 9
Upper limit address and lower limit address 10, 11 of address table area without automatic save processing Upper limit address and lower limit address 12, 37 of address table area 12, 37 μROM 13, 24 Privilege/user mode management unit 14
Address table specification 15
Control signals 16, 25 CPU mode signal 20 Privilege program area 21, 22
Upper limit address and lower limit address of privileged program area 23 Privileged mode 26 Branch processing 27 System call 28 Interrupt processing 29 Bank management section 30 Register file group 31
Stack automatic save flag 32
Inverter circuit 33 User task activation signal 34
Setting by program and terminal 35
AND circuit

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】  システム管理を行う特権タスクとユー
ザータスクからタスクが構成され、かつユーザータスク
処理から特権タスク処理に移行する場合、特権タスクが
使用していたCPUモード(演算結果フラグ)とインス
トラクションポインタとメモリエリアあるいはレジスタ
エリア内のデータ待避をするか、もしくは前記データ待
避を全く行わないで特権タスクに制御を移行するかを切
り替え可能に構成され、さらに、ユーザータスク上での
システムコール発行時に、このシステムコール発行がシ
ステムコールオペコードと特権バンクの実行インストラ
クションの開始アドレスが格納されているアドレステー
ブルの値で構成されるシステムコール命令を実行するこ
とによりシステムコール処理をする第1の手段と、ユー
ザータスク上での分岐命令の実行時に、この分岐命令が
分岐命令オペコードと特権バンクの実行インストラクシ
ョンの開始アドレスが格納されているアドレステーブル
を指定することにより、間接的に前記インストラクショ
ンの開始アドレスを指定可能な2重間接アドレスで構成
される分岐命令を実行することにより分岐処理をする第
2の手段と、割込みの実行時に、割込み処理要因毎に指
定される割込み処理開始アドレスが格納されているアド
レステーブルにより割込み処理をする第3の手段とを備
え、前記3つの手段のいずれかによる実行時に、特権タ
スクへの移行と、待避処理を行うかどうかをアドレステ
ーブル自身のアドレスにより判断し、かつユーザータス
ク処理から特権タスク処理に移行したときにソフトウェ
アの介入なしでCPUを特権モードに切り替える手段を
備えたことを特徴とするシステムコール実行装置。
Claim 1: When a task is composed of a privileged task that performs system management and a user task, and when transitioning from user task processing to privileged task processing, the CPU mode (operation result flag) and instruction pointer used by the privileged task. It is configured such that it is possible to switch between saving data in the memory area or register area, or transferring control to a privileged task without saving data at all, and furthermore, when issuing a system call on a user task, A first means for processing a system call by executing a system call instruction in which this system call issuance consists of a system call opcode and a value in an address table in which a start address of an execution instruction of a privileged bank is stored; When a branch instruction is executed on a task, this branch instruction can indirectly specify the start address of the instruction by specifying the branch instruction opcode and the address table in which the start address of the execution instruction of the privileged bank is stored. A second means for performing branch processing by executing a branch instruction consisting of double indirect addresses, and an address table storing interrupt processing start addresses specified for each interrupt processing factor when executing an interrupt. and a third means for processing an interrupt by using one of the three means, and when executed by any of the three means, it is determined based on the address of the address table itself whether to transfer to a privileged task and perform save processing, and the user task A system call execution device comprising means for switching a CPU to a privileged mode without software intervention when transitioning from processing to privileged task processing.
【請求項2】  システム管理を行う特権タスクとユー
ザータスクからタスクが構成され、かつ分岐命令オペコ
ードと特権バンクの実行インストラクションの開始アド
レスから成る分岐命令の実行により、ユーザータスク処
理から特権タスク処理への移行をユーザータスク上での
分岐命令の実行で切り替え可能に構成され、さらに特権
タスク処理に移行したときにソフトウェアの介入なしで
CPUを特権モードに切り替える手段を備えたことを特
徴とするシステムコール実行装置。
Claim 2: A task consists of a privileged task that performs system management and a user task, and a branch instruction consisting of a branch instruction opcode and a start address of an execution instruction in a privileged bank is executed to switch from user task processing to privileged task processing. A system call execution system configured such that transition can be switched by executing a branch instruction on a user task, and further comprising means for switching a CPU to a privileged mode without software intervention when transitioning to privileged task processing. Device.
【請求項3】  マルチレジスタファイル構成において
、分岐処理、システムコール処理あるいは割込み時に、
前記処理の実行前にCPUモード(演算結果フラグ)と
インストラクションポインタとメモリエリアあるいはレ
ジスタエリア内のデータ待避をするか、もしくは前記デ
ータ待避を全く行なわないで前記処理を実行するかをフ
ラグにより設定可能に構成され、プログラム、外部端子
によりフラグの設定を可能とし、特権バンクからユーザ
ーバンクの切り替え時には、フラグをリセットし、シス
テムコール命令でのユーザーバンクから特権バンクへの
移行時には基本的に前記待避処理を行わない手段を備え
たことを特徴とするシステムコール実行装置。
[Claim 3] In a multi-register file configuration, at the time of branch processing, system call processing, or interrupt,
It is possible to set the CPU mode (operation result flag), instruction pointer, and whether to save data in the memory area or register area before executing the process, or to execute the process without saving the data at all. The flag can be set by a program or an external terminal, and when switching from a privileged bank to a user bank, the flag is reset, and when a system call instruction is used to transition from a user bank to a privileged bank, the above-mentioned save processing is basically performed. A system call execution device characterized by comprising means for not performing.
JP3007338A 1991-01-25 1991-01-25 System call execution device Expired - Fee Related JP2677458B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3007338A JP2677458B2 (en) 1991-01-25 1991-01-25 System call execution device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3007338A JP2677458B2 (en) 1991-01-25 1991-01-25 System call execution device

Publications (2)

Publication Number Publication Date
JPH04241032A true JPH04241032A (en) 1992-08-28
JP2677458B2 JP2677458B2 (en) 1997-11-17

Family

ID=11663160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3007338A Expired - Fee Related JP2677458B2 (en) 1991-01-25 1991-01-25 System call execution device

Country Status (1)

Country Link
JP (1) JP2677458B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266624A (en) * 1992-09-21 1994-09-22 Internatl Business Mach Corp <Ibm> Protective device of memory and generation method of address
JP2004005679A (en) * 2002-05-29 2004-01-08 Samsung Electronics Co Ltd Computer system, memory structure, and method of executing program
JP2006106956A (en) * 2004-10-01 2006-04-20 Fujitsu Ltd Falsification detection device and falsification detection method for software
JP2008269597A (en) * 2008-04-09 2008-11-06 Net Kuriasu Systems Kk Task processor
JP2011048851A (en) * 2010-10-29 2011-03-10 Fujitsu Ltd Software tampering prevention device and software tampering prevention method
JP2011048850A (en) * 2010-10-29 2011-03-10 Fujitsu Ltd Software tampering prevention device and software tampering prevention method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02118727A (en) * 1988-10-27 1990-05-07 Kobe Nippon Denki Software Kk System for calling system sub-routine
JPH02272640A (en) * 1989-04-14 1990-11-07 Nec Corp Task switching system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02118727A (en) * 1988-10-27 1990-05-07 Kobe Nippon Denki Software Kk System for calling system sub-routine
JPH02272640A (en) * 1989-04-14 1990-11-07 Nec Corp Task switching system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266624A (en) * 1992-09-21 1994-09-22 Internatl Business Mach Corp <Ibm> Protective device of memory and generation method of address
JP2004005679A (en) * 2002-05-29 2004-01-08 Samsung Electronics Co Ltd Computer system, memory structure, and method of executing program
JP2006106956A (en) * 2004-10-01 2006-04-20 Fujitsu Ltd Falsification detection device and falsification detection method for software
JP4728619B2 (en) * 2004-10-01 2011-07-20 富士通株式会社 Software falsification detection device, falsification prevention device, falsification detection method and falsification prevention method
JP2008269597A (en) * 2008-04-09 2008-11-06 Net Kuriasu Systems Kk Task processor
JP2011048851A (en) * 2010-10-29 2011-03-10 Fujitsu Ltd Software tampering prevention device and software tampering prevention method
JP2011048850A (en) * 2010-10-29 2011-03-10 Fujitsu Ltd Software tampering prevention device and software tampering prevention method

Also Published As

Publication number Publication date
JP2677458B2 (en) 1997-11-17

Similar Documents

Publication Publication Date Title
US5701493A (en) Exception handling method and apparatus in data processing systems
US5161226A (en) Microprocessor inverse processor state usage
US5386563A (en) Register substitution during exception processing
JP2650675B2 (en) Method and operating system for executing a program in a multi-mode microprocessor
KR20130012126A (en) Apparatus and method for handling exception events
US7882293B2 (en) Interrupt masking control
JP3970609B2 (en) Processor system
JP2004157636A (en) Data processing apparatus
JPH04241032A (en) System call execution device
US20030037227A1 (en) Processor enabling exception handling to be set by program
JP3659048B2 (en) Operating system and computer
JP3539984B2 (en) Processor
JPH0414376B2 (en)
JP2007317232A (en) Data processor
JP2723847B2 (en) Microprocessor
JP2585905B2 (en) Multitask execution device
JPH0635800A (en) Microprocessor and data processing system using it
JPH044630B2 (en)
WO1990005951A1 (en) Method of handling unintended software interrupt exceptions
JPS61184644A (en) Control system of virtual computer system
JPS623345A (en) Interruption system
JPS6365528A (en) Coprocessor
JPH01216433A (en) Interruption control system
JPH0683640A (en) Interruption response processing system
JPH0683614A (en) Microcomputer

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees