JPS61502568A - Data processor with module access control - Google Patents

Data processor with module access control

Info

Publication number
JPS61502568A
JPS61502568A JP60502137A JP50213785A JPS61502568A JP S61502568 A JPS61502568 A JP S61502568A JP 60502137 A JP60502137 A JP 60502137A JP 50213785 A JP50213785 A JP 50213785A JP S61502568 A JPS61502568 A JP S61502568A
Authority
JP
Japan
Prior art keywords
access
module
data processor
controller
instruction
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.)
Pending
Application number
JP60502137A
Other languages
Japanese (ja)
Inventor
ゾルノウスキー,ジヨン
クラエス,マイケル
マクレガー,ダグラス ビー
Original Assignee
モトロ−ラ・インコ−ポレ−テッド
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 モトロ−ラ・インコ−ポレ−テッド filed Critical モトロ−ラ・インコ−ポレ−テッド
Publication of JPS61502568A publication Critical patent/JPS61502568A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Storage Device Security (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。 (57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 七ジュール・アクセス制御を有する データ・プロセッサ 発明の分野 本発明は、一般的にはデータ・プロセッサに関するものテロシ、特に、モジエー ル・アクセス制御機構(メカニズム)t−有するデータ・プロセッサに関する。[Detailed description of the invention] Has 7 joules access control data processor field of invention TECHNICAL FIELD The present invention relates generally to data processors, and more particularly to data processors. A data processor having an access control mechanism t-.

発明の背景 多くのプロセッサにおiて、実行プログラムは、一般にプロセッサに利用される アドレス空間内のどのアドレスにもアクセスする能力を具えて−る。他の多くの データ・プロセッサにおいては、アクセス制限はユーザ・プログラムに課せられ 、監視プログラムには課せられない。典型的に、アクセス制限・は、ノ1−ドウ エアによ〕課せられるアドレス範囲、ま九は空間制限の世代でおる。他の普通の 制限は、さもなければ、ユーザ・プログラムにアクセス可能なめる指定アドレス 範囲に書込み保護を賦課することでおる。Background of the invention In many processors, the executable program is generally utilized by the processor. It has the ability to access any address within the address space. many others In data processors, access restrictions are imposed on user programs. , not imposed on monitoring programs. Typically, access restrictions are The address range imposed by air is the generation of space restrictions. other normal Restrictions are placed on the specified addresses that would otherwise be accessible to the user program. This is done by imposing write protection on the range.

おる他の装wL(システム)では、監視プログ、ラムゆ、入力/出力オペレーシ 冒ン及び他の必要システム機能1に実行するための多くのサービス・ルーチンを 含んでいる。一般的に、このようなルーチンは特権が与へられると考えらzLl  ユーザ・プログラムによるそこへの全アクセスは、監視プログラムの中の適当 な特権遠退(妨害)ハンドラに対してトラップ(tデαp二割込み)されるのが 普通である。そのような実行にお−て、要求が承諾されるべきか否かを決定する のは、I−/ドラの責任である。若し、決定が肯定的であれば、制御がユーザ・ プログラムに送夛返えされる前に、ハンドラは要求されたサービスが実行される のをイネーブルにする。アクセス制御メカニズムを実行し九このソフトウェアは 、非常に汎用性であるから、このメカニズムに関連するオーバヘッドは極めて無 意味でめる。The other components of the system include monitoring programs, RAM, input/output operations, etc. A number of service routines are provided to perform operations and other required system functions. Contains. Generally, such routines are considered privileged. All access to it by user programs is restricted to the appropriate What happens when a trap (t de αp 2 interrupt) occurs for a privilege withdrawal (obstruction) handler? It's normal. In such execution, determining whether the request should be granted or not. It is I-/Dora's responsibility. If the decision is positive, control is The handler executes the requested service before being sent back to the program. enable. This software implements an access control mechanism. , it is very versatile, so the overhead associated with this mechanism is extremely negligible. Melt with meaning.

Digital Eqsiptmant Corporatios WAX及び Natiosalllmioosdsator NSC16000マイクロプロ セツサのような、他のデータ・プロセッサにおいて、他の七ジュールによシ適当 に“呼出され@(called )得る1組のデータ/コード・モジエールとし て、プログラムが構成されるでらろう。呼ばれたモジュール(galled m odslm )の終わシで、制御は呼び出しモジエール(aalli%g mo dsLa )に戻される。然し、これらのプロセッサは、モジエールへのアクセ スを制御するメカニズムはなにも与えない。そこで、モジエール・コール(no dsla call )命令は、モジュールの適当なスタート・アドレスに分岐 する前に、データ・プロセッサが、るる復帰(デーts1−%)1x@にユーザ ・スタックに簡単にスタックする、普通の分岐サブルーチン(brasch − 1o−ashy。sting )命令に比較できる。これらシステムのあるもの においては、このスタート・アドレスは、実行可能ロード・モジュールを生成す るプロセスにおいて、コノバイラ/アセンブラ及びリンカ(1tskar )に よシ構成される“モジュール・デスクリプタ(soム1m daaartpto デ)”の一部でるる。モジエールに関する他の情報は、また、モジエール・デス クリプタにおいて提供されるであろう。Digital Eqsiptmant Corporations WAX and Natiosallmioosdsator NSC16000 Micro Pro Applicable to other 7 joules in other data processors, such as As a set of data/code modules that get “called” Then the program will be configured. called module (galled m At the end of odslm), control is transferred to the calling module (aalli%gmo dsLa). However, these processors have limited access to modières. It does not provide any mechanism to control the Therefore, Mosier Cole (no. dsla call) instruction branches to the appropriate start address of the module. Before doing so, the data processor returns (data ts1-%) 1x@ the user ・Ordinary branch subroutines (brasch - 1o-ashy. sting) instruction. Some of these systems , this starting address is used to generate an executable load module. In the process, the conoviler/assembler and linker (1tskar) “Module descriptor (som1m daaartpto Other information about Mosier is also available at Mosier des It will be provided in Cryptor.

GssgraJ Elacrtr4cのGE 645“MULTIC!i”マシ ン及びよ)最近の、 Pv4tma Cavsp*tara and Data  Gmsmralによ多商業的に提供され九するマシ/では、システム・メモリ 内の利用可能アドレス空間の各“ページ″は、アクセス・レベルト関連し、事実 上1組の保護同心円“リング°を形成する。リング数は、変化するかもしれない が、最も感知可能データ/コード・モジュールは、最も英のリング内に記憶され るのが普通で、ユーザ・モジュールは最も外側のリング内でラル、監視グログ2 ムノ残シや関連コンパイラ/アセノブ2・モジ& −ルは、いくらかの利用可能 なリングに適当に分配される。最も奥のリング内に記憶されたデータ/コード・ モジエールに対するアクセスを得るためには、呼び出しモジエールは、最高のア クセス・レベルを与えられるべきで、最低のアクセス・レベルを持つモジネール でも、最も外周リングに記憶されたモジエールにアクセス出来る。この型式のよ シ有効なものでは、呼出(コール)・モジエール命令は、無許可の使用からの保 @をシステムが希望するデータ/コード・モジエールへのユーザ・プログラム制 御アクセスを可能にする。GssgraJ Elacrtr4c's GE 645 "MULTIC!i" Mashi ) Recent Pv4tma Cavsp*tara and Data Gmsmral offers a wide range of commercially available system memory Each “page” of available address space within is associated with an access level; A pair of protective concentric circles on top form a “ring°.The number of rings may vary However, the most perceivable data/code modules are stored within the most sensitive ring. Typically, the user module is in the outermost ring, and the monitor log 2 is Munozashi and related compilers/Acenobu 2 modules are available to some extent. properly distributed among the rings. Data/code stored in the innermost ring To gain access to Mosier, call Mosier to the highest The module that should be given access level and has the lowest access level However, you can access the mosieres stored in the outer ring. Like this model In the system-enabled version, the call module instruction is protected from unauthorized use. User programmatically converts @ to the data/code module desired by the system. access.

アクセス制御メカニズム(機構)を実現する典型的なデータ処理システムでは、 監視プログラムが、システムに設置された各ユーザ・プログラムに対するアクセ ス・レベルの割当の責任を持ってする。例えば、あるユーザは任務の九め、同じ プログラムの他のユーザよ)高いアクセス特権を割当てられるかもしれない。In a typical data processing system that implements an access control mechanism, The monitoring program has access to each user program installed on the system. Responsible for assigning service levels. For example, a user is task number nine, the same other users of the program) may be assigned higher access privileges.

同様に、おるプログラムはその性質の九め、他のプログラムよシ高−アクセス・ レベルを要するかもしれない。他方、全部のプログラムが、普通の入力/出力及 び関連サービス機能を行なう監視プログラム・モジエールへのアクセスを、一般 にはめるでろろう。呼出(コールンモジュール・メカニズムは、アクセス・レベ ルにおいて、そのような動的な変更を容易にする。Similarly, some programs have a higher level of access than other programs due to their properties. It may require a level. On the other hand, all programs have normal input/output and Access to monitoring programs and modules that perform related service functions is restricted to the general public. You can fit it in. Invocation (the call module mechanism is facilitate such dynamic changes in the system.

翻訳/アセンブリ及びリンク・プロセスの間に、監視プログラムは、一般にモジ ネール・デスクリプタ(時にはセグメント・デスクリゲタと呼ばれる)t−初期 設定し、各モジュールのアドレスやそのアクセス・レベルに関する情報を入れる 。システムの要求によシ、これらデスクリプタは、それぞれのモジエールを含む リングの内ま几は外の、何れかに記憶されるだろう。During the translation/assembly and linking process, supervisors typically nail descriptor (sometimes called segment descriptor) t-initial and enter information about each module's address and its access level. . Depending on the requirements of the system, these descriptors may contain their respective modules. What happens inside the ring will be remembered somewhere outside.

それから、これらデスクリプタは、システム資源内の適当な記憶媒体に設置され た呼び出しく ealltsg )モジエール及びリンク・プログラムの適当な 呼出(コール〕・モジエール命令に挿入される。このようにしてプログラムが実 行される時は常に、そのプログラムでなされたモジエール・呼出(コール)は全 部、前もりて承認されたことを、監視プログラムは確認できる。然し、プログラ ムが、高レベル・アクセス特権を許可されたモジエール以上に広がるには、なお 妨害されねばならない。この動的アクセス制御機能は、典型的にはデータ・プロ セッサ自体の内か、データ・プロセッサに密接に接続されたメ七り管理装置内で 実行されたアクセス・コントローラによシ処理される。一般には、アクセス・コ ントローラがシステム記憶への各アクセスをRaして、現在の実行モジエールの アクセス・レベルは、アクセスされるページのアクセメ・レベルよシ大きいか、 等しいかということを決定する。若しそうであれば、アクセスは許可され、若し そうでなければ、アクセスは誤ルでア)、呼び出しモジュールCcalltng fi%od%1m)の終了が強制される。呼出(コール)モジエール命令が実行 されるときはいつも、データ・プロセッサはアクセス・コントローラに、アクセ ス・レベルが呼ばれたモジュール(aallad sod%1m)の実行をイネ ーブルにするため、必要ならば、高いレベルに変更されなければならないことを 通知する。その後、アクセス・コントローラは、高いアクセス・レベルを持つペ ージへのアクセスを認めるでbろう。対応する“モジュールからのリタ/(デー tar%−fデ暢−惰・ムl−)′″命令実行によシ、データ・プロセッサは、 アクセス制御がアクセス・レベルを呼び出しモジエール(aaLLt%gm・d nbLm)の最初のレベルに戻どすように命令する。These descriptors are then placed on a suitable storage medium within the system resources. (call realtsg) appropriate modules and link programs. It is inserted into the call/modiere instruction. In this way, the program is executed. Whenever a program is executed, all modière calls made in that program are The monitoring program can confirm that the department has been approved in advance. However, the program It is still necessary for the system to extend beyond the modules granted high-level access privileges. must be thwarted. This dynamic access control feature is typically either within the data processor itself or within a memory management device closely connected to the data processor. Processed by the executed access controller. Generally, the access code The controller Raises each access to system memory and records the current execution module. Is the access level greater than the access level of the page being accessed? Determine equality. If so, access is granted and Otherwise, the access is incorrect.a), the calling module Ccalltng fi%od%1m) is forced to terminate. Call module instruction executed Whenever the data processor Enable execution of the called module (aallad sod%1m). be changed to a higher level, if necessary, in order to Notice. The access controller then selects a peer with a higher access level. Please allow access to the page. The corresponding “reta/(data from module)” To execute the tar% - f - inertia - m - ) ''' instruction, the data processor will: Access control calls access level module (aaLLt%gm・d nbLm) to return to the initial level.

あるシステムでは、各アクセス・レベルは、1組の“ゲート”をそれに関連させ 、各ゲートは監視プログラムの判断で、“開1また“閉”であることが可能であ る。一般的には、あるモジシールが、特定のアクセス・レベルを持つユーザ・グ ログラムにアクセス可能につくられる場合、監視プログラムは、そのアクセス・ レベルの特定のゲート・テーブルの内部のモジエール用のデスクリプタを記憶す ることによりこのモジュールに対しゲートを開にするでろろう。このような入力 (−1デシ)なしでは、ゲートは実効的には閉であるでろろう。その後、望まし いモジュールへのアクセスを制御する呼び出しモジエールCaalLi%g n oム1m)のアクセス・レベル内のゲート番号(ナンバー)ト、モジュール・デ スクリプタが記憶される夫々のゲート・テーブルへのインデックスをともに指定 することによル呼出しモジュール(aa(j(%g mod%1m )はモジュ ールへのアクセスを要求することが出来る。若しアクセス・コントローラが、そ のような入力が実際に存在するのを確かめれば、プロセッサが、呼出・モジエー ル命令で識別すれにモ・ジュール・デスクリプタに含まれる情報を用いて、適当 なアクセス・レベルや呼ばれたモジエールへの経路を確立するのが許され、そう でなければ、アクセスは誤シとされ、呼び出しモジエールの終了を強制する。呼 ばれ九モジュールから出力すれば、プロセッサは、そこに制御を戻す前に、呼び 出しモジエール(aallinfl f1Mlム1−)の最初のアクセス・レベ ルを再確立する。かな9のゲート・テーブル専用記憶空間に加えて、この技法は 、テーブル探索機能を実行するため、かなシ大量の複雑な回路を必要とする。In some systems, each access level has a set of "gates" associated with it. , each gate can be “open” or “closed” at the discretion of the monitoring program. Ru. Typically, a modiseal is used by a user group with a particular access level. If the program is made accessible, the monitoring program Memorize the descriptor for the internal modière of a specific gate table in a level. This will open the gate to this module. Input like this Without (-1 deci), the gate would be effectively closed. Then the desired Call module that controls access to modules Gate number (number) and module data within the access level of om1m) together specify the index into each gate table where the scripter is stored By calling module (aa(j(%g mod %1m)) You can request access to the tool. If the access controller If the processor verifies that an input like The information contained in the module descriptor is used to identify the are allowed to establish access levels and routes to called mosieres. Otherwise, the access is considered erroneous and forces termination of the calling module. call If you output from a module, the processor will call it before returning control to it. Initial access level of output module (aallinfl f1Mlm1-) re-establish the link. In addition to the dedicated storage space for Kana 9's gate table, this technique , requires a large amount of complex circuitry to perform the table lookup function.

発明の要約 従がって、本発明の目的は、改良されたモジニーλ・アクセス・メカニズムを持 つデータ・プロセッサを提供することでらる。Summary of the invention Therefore, it is an object of the present invention to have an improved modiny λ access mechanism. By providing one data processor.

他の目的は、アクセスが許可される基準に関係するデータ・プロセッサを必要と しないモジュール・アクセス制御メカニズム(機構)を提供することでらる。Other purposes require data processors related to the criteria by which access is granted. By providing a module access control mechanism that does not

さらに他の目的は、データ・プロセッサよシ独立したアクセス・コントローラが 、データ・プロセッサの代シに要求され九アクセスが許可さるべきか否か決定す るデータ・プロセッサを提供することで6る。Yet another objective is to provide access controllers that are independent of the data processor. , to determine whether the requested access should be granted on behalf of the data processor. 6 by providing a data processor that supports

さらに他の目的は、システム記憶装置に記憶され九モジエールへのアクセスの制 御において、データ・プロセッサが独立アクセス・コントローラと協力するため の有効なメカニズムの提供である。Yet another purpose is to control access to the nine modules stored in system storage. In order for the data processor to cooperate with an independent access controller in This is to provide an effective mechanism for

本発明のさらに他の目的は、データ・プロセッサ内で実行するモジエールによシ 、アクセス・コントローラがシステム記憶装置へのアクセスを直接に制御するた めの改良したゲート・メカニズムを提供することである。Yet another object of the present invention is to provide a system for implementing a module running within a data processor. , the access controller directly controls access to system storage. The purpose of the present invention is to provide an improved gate mechanism for

これら及び他の目的は、記憶装置に記憶されたモジエールへのアクセスを制御す るため、アクセス・コントローラと協力する本発明に基づき改良されたデータ・ プロセッサにより:i!成される。本発明の最も基本的な型では、データ・プロ セッサはモジエールへのアクセスを要求する命令を受けるように構成され、命令 はアクセス要求を含む記憶装置内のアドレスを指定する。These and other purposes are to control access to modules stored in storage devices. The improved data management system according to the present invention cooperates with the access controller to By processor: i! will be accomplished. In its most basic form, the invention Sessa is configured to receive instructions requesting access to Mosier, and specifies the address within storage that contains the access request.

命令の中で指定されたアドレスを用いて、データ・プロセッサはアクセス要求を 横系し、アクセス要求をアクセス・コントローラに供給する。データ・プロセッ サは、それから、モジ為−ルへの要求されたアクセスを開始する。然しアクセス は、若しアクセス・コントローラがアクセス要求を否定するこ・と全決定すれば 、!@シ(faxlt)にされるであろう。The data processor issues the access request using the address specified in the instruction. It works horizontally and supplies access requests to the access controller. data processing The server then initiates the requested access to the module. However, access If the access controller makes a full decision to deny the access request, ,! It will be sent to @shi(faxlt).

本発明の好ましい型式では、データ・プロセッサは、要求されたアクセスを試み る前に、アクセス要求に対するアクセス・コントローラの決定を要求する。アク セス・コントローラの決定が肯定的なら、データ・プロセッサはモジュールへの アクセスを許可する。然しアクセス・コントロー2の決定が否定的であれば、デ ータ・プロセッサはモジュールへのアクセスを拒否する。In a preferred form of the invention, the data processor attempts the requested access. requests the access controller's decision on the access request before Aku If the process controller's decision is positive, the data processor Allow access. However, if the decision of access controller 2 is negative, the The data processor denies access to the module.

いづれの型におφても、データ・プロセッサは、アクセス・コントローラにより 課されるアクセス基準を知る必要がない。かくして、アクセス要求の型と内容は 、アクセス制御メカニズムが実現されるデータ・プロセッサ及びその方法を変更 せずに、指定要求に適合するように、変更されることが可能でらる。In either type, the data processor is There is no need to know the access criteria imposed. Thus, the type and content of the access request is , change the data processor and method by which the access control mechanism is implemented. It can be modified to suit specific requirements without having to do so.

図面の簡単な説明 第1図は、本発明の実行に適するデータ処理システムのブロック図でるる。Brief description of the drawing FIG. 1 is a block diagram of a data processing system suitable for implementing the present invention.

第2図は、第1図のデータ・グロセ、ツサのブロック図でろる。FIG. 2 is a block diagram of the data, gross, and data in FIG. 1.

発明の説明 データ処理システムが第1図に図示され、そこにおいてデータ・プロセッサ(1 2)により出された論理アドレス(LADDR)は、物理バス(PBUs )  16へ出力のため対忘物理アドレス(PADDR)に、メモリ管理装置14によ シマツブされる。同時に、アクセスを制御する九めDP12によシ供給された% 種々の論理アクセス管理信号(LCNTL )は、MMU14の制御下のモディ ファイア装置18により、適当にタイミングを取った物理アクセス管理信号(P CNTL )に変換される。好ましい形式では、DP12は本発明に基づき改良 され、メモリ20にモジュールとして記憶されたデータ及びコードへのアクセス を制御するため、例えは、MMU14で実現されたアクセス・コントローラと協 力する。Description of the invention A data processing system is illustrated in FIG. 2) The logical address (LADDR) issued by physical buses (PBUs) The memory management device 14 outputs data to the memory management device 14 to the memory address physical address (PADDR) for output to the memory management device 16. It's getting smeared. At the same time, the percentage supplied by the ninth DP12 that controls access Various logical access control signals (LCNTL) The fire device 18 sends an appropriately timed physical access control signal (P CNTL). In a preferred form, DP12 is modified according to the invention. access to data and code stored as modules in memory 20 For example, in order to control the Strengthen.

ある範囲の物理アドレスに対応し、メモリ20は誤シ検出及び訂正回路(HDA C) 22と協力し、PBUEI I6の物理アクセス管理信号(PCNTL  )と同期をとj)DP12とデータ(DATA ) t−交換するであろ5゜デ ータ中に誤シを検出すれば、EDAC22は、交換を再試行CRETRY )す る九め誤シの型によシ、バス・エラー(ENTER)に通報するか、または、D P12に要求するかの何れかであろう。Corresponding to a range of physical addresses, the memory 20 includes a false alarm detection and correction circuit (HDA). C) In cooperation with 22, PBUEI I6 physical access control signal (PCNTL) ) and j) DP12 and data (DATA) t- exchange. If the EDAC 22 detects an erroneous code in the data, it will retry the exchange (CRETRY). If the error occurs, either report a bus error (ENTER) or press D. Either request to P12.

糸なる物理アドレスに応答して大容量記憶(massatortsgm )装置 インタフェース24は、DP I2と協力し。Mass storage (massatortsgm) device in response to a physical address Interface 24 cooperates with DP I2.

大容量記憶26にデータを転送し、おるいは、そこよりデータを転送するでらろ う。もし11が転送中におこれば、インタフェース24はバス・工+ −(BE ER) ノ信号を通報し、または適切でおれば、再試行(RFjTRY)の要求 も可能でるる。Transfer data to mass storage 26, or transfer data from there. cormorant. If 11 occurs during a transfer, interface 24 will ER) or request a retry (RFjTRY) if appropriate. It's also possible.

MMU14が、対応物理アドレスに特定の論理アドレス(LADDR) vi− マyプできない場合には、MMU14はアクセス障害(FAULT ) ftM 号通報するでろろう。The MMU 14 assigns a specific logical address (LADDR) to the corresponding physical address vi- If it is not possible, the MMU 14 will issue an access failure (FAULT) ftM I'll probably report it.

MMU14へのチェックとして、ウォッチドッグ・タイマ28が供給され、物理 アクセス管理信号(PCNTL )に関する適当な時間内でどの物理装置も物理 アドレス(pAnnR)に応答しなければ、ノ(ス・エラー(BEER)を信号 通報することが可能でらる。A watchdog timer 28 is supplied as a check to the MMU 14, and the physical Any physical device within a reasonable time regarding the access control signal (PCNTL) If it does not respond to the address (pAnnR), it will signal a no(s error) (BEER). It is possible to report.

データ・アクセス・バス・サイクルのろいだに、EETRYが要求されれば、O Rゲート32及び34が、f)p 12のEEEE及びHALT入力をそれぞれ 起動するでろろう。DP制御バス・サイクル中のBEER及びHALT入力の両 方の同時起動に応答して、DP12は現在のノくス・サイクルを打切9.RH: TEY信号が終了すれば。If EETRY is requested during a data access bus cycle, O R gates 32 and 34 respectively connect the EEEE and HALT inputs of f) p12. It will start. Both BEER and HALT inputs during the DP control bus cycle DP 12 aborts the current node cycle. RH: When the TEY signal ends.

七のサイクルを再試行するでおろう。Will try the cycle of seven again.

号の賢明な使用により、外部的に制御されることも可能でらる。OEゲート34 ヲ介するHALT入力のみの起動に応答して、DP12は現バス・サイクルの終 わシで停止し、 HALT信号の終了のみによシオペレーシ望ンを再開するでろ ろう。With judicious use of numbers, they can also be controlled externally. OE gate 34 In response to activation of only the HALT input through the Stop automatically and resume operation only after the HALT signal ends. Dew.

プロセッサ管理バス・サイクル中でのBEER入力のみの起動に応答して、DP 12は、現ノ(ス・サイクルを打切9、状態レジスタ○内容を保護させ、監視プ ログラム状態に入シ、ドレス状態がオンならこれをター/オフにし、バス・エラ ー・ベクトル番号(ナンノク−)を生成するでおろう。Op 12は、そこで、 現在のプロセッサの内部内容を反映する情報ブロックをメモリ20の監視プログ ラム・スタック領域にスタックし、そして、監視プログラムのエラー・ノ・ンド リング部分に分岐するためベクトル番号(ナンノζ−)を使用するでおろう。In response to activation of the BEER input only during a processor management bus cycle, the DP 12 aborts the current cycle, protects the contents of the status register, and closes the monitoring program. If the dress state is on, turn it off and set it to the bus error state. This will generate a vector number. Op 12 there, The monitoring program in memory 20 stores information blocks reflecting the current internal contents of the processor. stuck in the ram stack area, and the supervisor's error no. We will use the vector number (nanno ζ-) to branch into the ring parts.

スタック・オペエレイシ1ンの間、l)p’12は、退避状態(5aved m lat%#)レジスタ、プログラム、・カウンタの現内容、普通は現在の実行命 令の第1語でらる命令レジスタの内容、打切シバス・サイクルによシフクセスさ れていた論理アドレス、及び打切り/脣ス・サイクルの特性、即ち、読取ル/書 込み、命令/データ及び機能コード、を含む一般的性質の一定の情報をスタック するでおろう。以上の情報に加えてDP 12は、内部マシン状態に関する多く の情報をスタックするように構成される。もし例外ノ・/ドラが誤シの解決に成 功すれば、その最終命令は、DP12の制御を打切られたプログラムに戻すであ ろう。この命令の実行中に、さらにスタックされ次情報は検索され、DP12の 適当な部分にロードされ、バス・工2−が起きた時に存在した状態は復元される 。During the stack operation, p'12 is in the evacuated state (5 aved m). lat%#) The current contents of a register, program, or counter, usually the current execution instruction. The contents of the instruction register taken by the first word of the instruction are shifted by the aborted cycle. the logical address that was written, and the characteristics of the abort/extend cycle, i.e. read/write Stacks certain information of a general nature, including instructions/data and function codes. I'll do it. In addition to the above information, DP 12 also provides a lot of information regarding the internal machine state. configured to stack information. If the exception/dora is successful in solving the error, If successful, that final command will return control of DP12 to the aborted program. Dew. During the execution of this instruction, the next stacked information is searched and the DP12's next information is searched. It is loaded into the appropriate part, and the state that existed when the bus/work 2- occurred is restored. .

DP12の好マシいオペレージ冒ンは、DPI20マイクロプログラム可能実施 例の内部組織を図示する第2図を参照して説明されるでろろう。DP12の図示 された形状は、これから後に引用されるいくつかの米国特許に詳細に説明されて いる、モトローラ社OMG 6B(IOQマイクロプロセッサに非常に似て−る Oで、普通のオペレージ冒ン状況は、むしろ大まかに説明されるであろう。ひと たびDP12の内部アーキテクチユアの全般的理解が得られれば、議論は本発明 のアクセス制御面に集中されるでろろう。DP12's superior operating experience is realized by DPI20 micro-programmable It will be described with reference to FIG. 2, which illustrates the internal organization of an example. Illustration of DP12 The shape is described in detail in several U.S. patents cited hereafter. Motorola OMG 6B (very similar to IOQ microprocessor) In O, a typical operating environment will be described rather broadly. people Once a general understanding of the internal architecture of the DP12 is gained, the discussion can move on to the present invention. access control aspects will be the focus.

DP12はパイプライン凰、マイクロプログラム・データ・プロセッサでらる。DP12 is a pipeline screen, a microprogram data processor.

パイプライン型プロセッサにおいて、各命令は前命令の実行中に7エツチされる のが普通で、フェッチされた命令の翻訳は普通、前命令が終了する前に始まる。In pipelined processors, each instruction is etched 7 times during the execution of the previous instruction. Translation of a fetched instruction typically begins before the previous instruction finishes.

マイクロプログラム・データ・プロセッサでは、各命令は前命令の実行中にフェ ッチされるのが普通でラシ、フェッチされた命令の翻訳は普通は前命令の終了前 に始まる。マイクロプログラム・データ・プロセッサでは、各命、令は、命令に よシ定義されたオペレージ!1/の細部を行なうマイクロ命令の順序で実行され る。侠すれば、ユーザ命令はマイクロ命令との混乱を避けるため、マイクロ命令 と考えてもよい、DP12で各マイクロ命令は、マイクロ命令順序及び機能コー ド生成を制御するマイクロワード・(mlaro%Dord )と、機能装置の あいだの情報の実際の経路指定及びDP12の中の特別機能装置の駆動を制御す る刈応ナノワード(%anoword )よシなる。これを念頭に置いて、典型 的な命令実行サイクルは説明されるでちろう。In a microprogram data processor, each instruction The fetched instruction is usually translated before the previous instruction finishes. It begins. In a microprogram data processor, each instruction is Well defined operations! executed in the order of microinstructions that perform the details of 1/ Ru. With chivalry, user instructions are written as microinstructions to avoid confusion with microinstructions. In DP12, each microinstruction has a microinstruction order and function code. The microword (mlaro%Dord) that controls code generation and the function device controls the actual routing of information between and the driving of special function devices within the DP12. It is a nanoword (%anoword). With this in mind, a typical The general instruction execution cycle will be explained.

各命令の実行中の適当な時刻にマイクロ命令のプリフェッチは行なわれるであろ う。そのマイクロワード部は、マイクロEOM56よシマイクロROM出力ラッ チ38にロードされると、機能コード・バッフ740t−イネーブルにし、命令 サイクルを表示する論理アドレス(LADDR)の機能コード(FC)部を出力 する。同時にナノRQM42からナノROM出力ラッチ44にロードされ対応ナ ノワードは、命令7エツチ・バス・サイクルを行なうためバス・コ/トローラ4 6t−要求し、tfcアドレス・バス・バッフ150に次の命令の第1ワードの 論理アドレスを供給するため、命令実行装置48に要求する。PBUS16の制 御を得ればバス・コントローラ46ハ、論理アドレス(LADDR)のアドレス 部を出力する几め、アドレス・バッフ750iイネーブルにするでめろう。しば らくしてバス・コントローラ46は、メモリ20を駆動するため、適当なデータ ・ストローブ(いくつかのLCNTL信号)を供給するでろろう。メモリ20が 要求され7を一命令を供給すると、バス・コントローラ46はPBUS16から 次の命令の第1ワードを入力するため、命令レジスタ検索(zRc ) 52を イネーブルにする。現命令実行中のすこし後の時点で、他の命令が実行され、I RC52から命令レジスタ(IB)54に。Prefetching of microinstructions will occur at appropriate times during the execution of each instruction. cormorant. The micro word part is similar to the micro EOM56 and the micro ROM output latch. Once loaded into chip 38, function code buffer 740t-enables and commands Outputs the function code (FC) part of the logical address (LADDR) that displays the cycle. do. At the same time, the corresponding data is loaded from the nanoRQM42 to the nanoROM output latch 44. Nowaard commands bus controller 4 to perform instruction 7 bus cycles. 6t--Request and fill TFC address bus buffer 150 with the first word of the next instruction. Requests instruction execution unit 48 to provide a logical address. PBUS16 system If the bus controller 46 receives control, the address of the logical address (LADDR) In order to output the part, it is necessary to enable the address buffer 750i. Shiba Bus controller 46 then provides appropriate data to drive memory 20. - Will provide strobes (some LCNTL signals). memory 20 Upon request and supplying the command 7, bus controller 46 receives a command from PBUS 16. To input the first word of the next instruction, execute instruction register search (zRc) 52. Enable. At some later point during the execution of the current instruction, another instruction is executed and I From RC52 to instruction register (IB)54.

次の命令の第1ワードが転送され、またメモリ20からIRC52に、次のワー ドがロードされるでろろう。lR54の命令の型によF)IRC52のワードは 、即値データ(i嘱−dイate data ) 、オペランドのアドレス、ま たは、次の命令の第1ワードでろろう。一般的にはDP12に適当な命令セット の1例と、その様な命令セットの実現に応用されるマイクロ命令順序は、“マイ クロプログラム・データ・プロセッサ用2レベル制御記憶装置2と題する。19 82年4月13日にGsntaデその他に発行され、参考のためここに組入れら れた米国、特許第4.525,121号に十分開示されている。The first word of the next instruction is transferred and the next word is transferred from memory 20 to IRC 52. will be loaded. Depending on the instruction type of lR54, F) IRC52 word is , Immediate data (i-date data), operand address, or Or maybe it's the first word of the next command. In general, an instruction set suitable for DP12 An example of the microinstruction order applied to the implementation of such an instruction set is It is entitled Two-Level Control Storage Device 2 for Crop Program Data Processor. 19 Published on April 13, 1982 in Gsnta de et al. and incorporated herein for reference. U.S. Pat. No. 4,525,121.

次の命令の第1ワードがIR54にロードされるとすぐに、アドレス1デコーダ 56は、ある制御フィールドのデコードを開始し、lR540個々の命令の初め のマイクロ順序(m1aroaaqs−外am)の第1マイクロ命令のマイクロ ・アドレスを決定する。同時に違法命令デコーダ58は、IE54C)命令フォ ーマットの検討を始めるであろう。若し、フォーマットが不正と判定されると、 違法命令デコーダ58は、違法命令マイクロ順序の第1マイクロ命令のマイクロ ・アドレスを1供給するでらろう。フォーマット・工9−vcE答して例外論理 60は、マルチプレクサ62ヲ強制し、アドレス1デコーダ56で供給されにマ イクロ・アドレスを、違法命令デコーダ58で供給されたマイクロアドレスに置 き換えるでるろう。現在実行中の命令の最終マイクロ命令の実行がすめば、その マイクロワード部はマイクロ・アドレス・ラッチ64に適切なマイクロ・アドレ スを供給するため、マルチプレクサ62f:、イネーブルにし、一方そのナノワ ード部はIE 54から次の命令の第1ワードt−ロードするタメ、命令レジス タ・デコーダCIRD)66をイネーブルにする。選択されたマイクロ・アドレ スがマイクロ・アドレス・ラッチ64にロードされると、マイクロROM S6 は、それぞれのマイクロワードをマイクロROM出力ラッチ58に出力するでら ろり。またナノEOM42は、対応するナノワードをナノROM出力ラッチ44 に出力するであろう。As soon as the first word of the next instruction is loaded into IR54, the address 1 decoder 56 starts decoding certain control fields and starts the lR540 individual instruction. The first microinstruction micro in the micro order (m1aroaaqs-am) ・Determine the address. At the same time, the illegal instruction decoder 58 - I'll probably start considering mats. If the format is determined to be invalid, Illegal instruction decoder 58 decodes the first microinstruction microinstruction in the illegal instruction microsequence. ・You can supply one address. Format/Engineer 9-vcE Answer Exception Logic 60 forces the multiplexer 62 and the address 1 decoder 56 supplies the place the microaddress at the microaddress provided by the illegal instruction decoder 58. I can change it. Once the final microinstruction of the currently executing instruction has been executed, The microword portion loads the microaddress latch 64 with the appropriate microaddress. multiplexer 62f:, to supply the The code section is the first word of the next instruction from the IE 54. enable the data decoder (CIRD) 66. selected micro address When the micro ROM S6 is loaded into the micro address latch 64, the micro ROM S6 outputs each microword to the microROM output latch 58. Lori. The nano EOM 42 also stores the corresponding nano word in the nano ROM output latch 44. will be output to .

一般的にマイクロROM出力ラッチ38にロードされた各マイクロワードの1部 分は、実行される次のマイクロ命令のマイクロ・アドレスを指定し、一方他の部 分は、マイクロ・アドレス・2ツテ64の入力に対するマルチプレクサ60によ り、どの代替マイクロ・アドレスが選択されるか決定する。ある命令では指定オ ペレーションt−達成するため、1個以上のマイクロ順序が実行されなけれはな らなし。間接アドレス分解能(rmmolstio%)のよりなタスクは、一般 に、命令の中の追加制御フィールドを使用して指定される。これら追加マイクロ 順序に対する第1マイクロ命令のマイクロ・アドレスは、lR54の制御情報を 使用し、アドレス2−3デコーダ68により発生される。簡単な星のそのような 命令では、第1マイクロ順序は一般的には、ある準備タスクを行ない、それから アドレス2−3デコ−f6Bc)アドレス3部分より発生される実際のオペレ− シw /′?e実行するマイクロ順序のマイクロ・アドレスを選択するようにマ ルチプレクサ62ftイネーブルにするであろう。よシ複雑な型のそのような命 令では、第1マイクロ順序は第1準備タスクを行ない、アドレス2−3デコーダ 68のアドレス2部にょシ発生された次の準備マイクロ順序のマイクロ・アドレ スを選択するようにマルチプレクサ62ヲイネーブルにするでらろう。この追加 準備タスクを行なってから第2マイクロ順序は、アドレス2−3デコーダのアド レス5部にょシ発生された実際のオペレークM/l−実行するマイクロ順序のマ イクロ・アドレスを選択するようにマルチプレクサ62t″イネーブルにするで るろう。とにが〈各命令の最終マイクロ順序の最終マイクロ命令は、アトL/  ス1 テ=I−ダ56にょシ発生される矢の命令の第1マイクロ命令のマイクロ ・アドレスを選択するようにマルチプレクサ621にイネーブルにするであろう 。このように各命令の実行は、マイクロ命令の特定の順/!−t−通じ進行する で8ろ9゜マイクロ・アドレス順序選択メカニズムのよ〕完全な説明は、“マイ クロプログラム・データ・プロセッサ用命令レジスタ順序デコーダと題し、19 82年7月27日にTデーdgss4c&その他に発行され、参考のためにこ\ に組入れられた米国、特許第4.542.078号に与えられている。A portion of each microword is typically loaded into the microROM output latch 38. part specifies the microaddress of the next microinstruction to be executed, while the other part specifies the microaddress of the next microinstruction to be executed. The minutes are determined by multiplexer 60 on the inputs of microaddress 64. to determine which alternate micro-address is selected. Some commands use specified operation t - one or more micro-sequences must be executed to achieve None. Tasks with higher indirect address resolution (rmmolstio%) are generally specified using additional control fields in the instruction. These additional micro The microaddress of the first microinstruction for the sequence carries the control information of lR54. address 2-3 decoder 68. simple stars like that In instructions, the first micro-sequence typically performs some preparatory task and then Address 2-3 deco-f6Bc) Actual operation generated from address 3 part し /′? e Set the master to select the micro address of the micro order to execute. Multiplexer 62ft will be enabled. Such a complicated life In the instruction, the first micro-order performs the first preparation task and addresses 2-3 decoders. The second part of the address of 68 is the micro address of the next prepared micro sequence generated. Multiplexer 62 could be enabled to select the path. This addition After performing the preparation task, the second micro-sequence is the address 2-3 decoder address. The actual operation M/l that was generated in response part 5 is the micro-order map to be executed. Enable multiplexer 62t'' to select the macro address. Ruro. Toniga〈The final microinstruction of the final microinstruction of each instruction is atto L/ The first microinstruction microinstruction of the arrow instruction generated by the - Will enable multiplexer 621 to select the address . In this way, each instruction is executed in a specific order of microinstructions/! -t- progress through A complete explanation of the micro-address order selection mechanism can be found in 19 entitled "Instruction Register Order Decoder for Program Data Processor" Published on July 27, 1982 on T-day dgss4c & others, for reference. No. 4,542,078, incorporated herein by reference.

マイクロワードと対照的に、ナノROM出力ラッチ44にロードされるナノワー ドは、レジスタ制御(高ン70及びレジスタ制御(低及びデータ)72の制御に より、実行装置48のいくつかのレジスタ間で、また必要ならばそれらレジスタ 間の、オペランドの経路指定を間接的に制御する。らる場合にはナノワードはフ ィールド変換装置(tea%alatイ0%%nぜt)74をイネーブルにし、 実行装置48に入力のためIRD 6Bの命令から、特定ピット・フィールドを 抽出する。ナノワードはまた、AU制御76及びALび制御78の制御により、 実行装置48の実効アドレス計算及び実際のオペランド計算を間接的に制御する 。適当な場合にナノワードは、ALび制御78ヲイネーブルにし、実行装置48 による各オペランド計算から生ずる条件コードを状態レジスタ(SR)80に記 憶させる。°適当な温式のALU制御78の詳細な説明は、“データ・プロセッ サ用ALU及び条件コード発行され、参考のためにこ\に組み入れられ次米国。In contrast to microwords, nanowords loaded into nanoROM output latch 44 The code controls register control (high line 70) and register control (low and data) 72. between several registers of execution unit 48, and if necessary Indirectly controls the routing of operands between If the nanoword is enable the field converter (tea%alat-0%%nzet) 74; A specific pit field is input from the IRD 6B command to the execution device 48. Extract. The nanoword is also controlled by the AU control 76 and the AL control 78. Indirectly controls effective address calculation and actual operand calculation of execution unit 48 . When appropriate, the nanoword enables the AL and control 78 and executes the execution unit 48. The condition code resulting from each operand calculation is recorded in the status register (SR) 80. Make me remember. °A detailed description of a suitable thermal ALU control 78 can be found in “Data Processor Support ALU and condition codes have been published and are incorporated herein for reference.

特許第4,312.034号に与えられている。DP12の栴成及びオペレージ 目/に関する他の詳細は、1982年12月7日に出願され、1984年6月2 1日に許可された、“データ・プロセッサ・パージ□−i7%当性検査装置”と 題する米国出願番号第447,600号に見出される。No. 4,312.034. DP12 service and operation Other details regarding / filed on December 7, 1982 and filed on June 2, 1984. The “Data Processor Purge □-i7% Validity Checking Device” was approved on the 1st. No. 447,600.

DP12はマイクロプログラム・マシンであるカラ、その全部の資源と制御パス が新命令の機能を支持するように利用出来れば、追加命令の実現は主として、新 命令への適当なマイクロ順序を提供することでおる。DP12 is a microprogram machine, all its resources and control paths. The implementation of additional instructions is primarily based on the new instructions, provided that the This is done by providing an appropriate micro-order to the instructions.

モジュール・コール(CALF、M ) 及Uモジエール復帰(RTM )はそ の様な場合でろるから、この命令によ)DP12に課されるハードウェア要求は 、DP12にすでに利用可能な全アドレス空間の特定のアドレスから読出し、そ こKit込むためO実在する能力だけでおる。Module call (CALF, M) and U Mosier return (RTM) are The hardware requirements imposed on the DP12 by this command are , reads from a specific address in the entire address space already available to the DP12, and Since this kit is included, only existing abilities are required.

他方CALLM/ETMインタフェースにより課せられた制約内では、アクセス ・コントローラ機能の実現は完全にシステム設計者の判断でらる。そこでCAL LM及びRTM命令の実行においてDP12のオペレーショyt説明する目的に とって、例えばMMU14に便宜的にまとめられるアクセス・コントローラは、 存在アドレス空間内の各々の所定アドレスでアドレス可能なレジスタのセットと 0p12が認める、“ブラック・ボックス”として存在すると考えられるであろ う。On the other hand, within the constraints imposed by the CALLM/ETM interface, access ・The realization of the controller function is completely at the discretion of the system designer. So C.A.L. For the purpose of explaining the operation of DP12 in the execution of LM and RTM instructions. For example, access controllers that are conveniently grouped together in the MMU 14 are a set of registers addressable at each given address in the existing address space; It is thought that 0p12 recognizes that it exists as a "black box". cormorant.

好ましi形式では、 CALLM命令は、呼ばれたモジュール(called  sod%1m)用のデスクリプタが見出されるメモリ20内のアドレスを指示す る有効アドレス、及び、呼び出しモジュール(o811isg modsl−ン が呼ばれたモジュールに移りつつめれは、引数(aデgsm−%t)の番号(ナ ンバー)t−指示する引数カラ/りよシなる。In the preferred i form, the CALLM instruction indicates the address in memory 20 where the descriptor for effective address and the calling module (o811isgmodsline) Moving on to the module where is called, the number of the argument (a de gsm - %t) is (member) t-indicating argument color/return.

CALLM命令の準備においてモジエール・デスクリプタは、呼ばれ九モジエー ルの入口アドレス及びそのモジエールに関連するデータ領域のアドレスを得るた め、リンク・タイムに監視プログラムにより初期設定されるでろろう。モジエー ル・デスクリプタは、また、モジエールが引数を見出す期待があるスタックのア ドレスを含むでろろう。更にモジュール・デスクリゲタは、システム設計者が望 む個々のレベルのアクセス制御に適切な特殊フォーマットのアクセスの要求を含 むでろろう。例えば、好ましい実施例では、アクセス要求は、アクセス・レベル が変えられるべきか、もしそうでられは、呼ばれたモジュールの要求する新アク セス・レベルは何であるかということを指示するアクセス麗コードよシなる。In preparing the CALLM instruction, the modière descriptor is called nine modières. to obtain the entry address of the module and the address of the data area associated with that module. Therefore, it will be initialized by the supervisor at link time. Mosier The le descriptor is also the access point of the stack where Mosier expects to find the argument. That would include the dress. In addition, module descriptors can be Include requests for special format access as appropriate to individual levels of access control. Muderoro. For example, in the preferred embodiment, the access request is based on the access level should be changed, and if so, the new access requested by the called module. This is the access code that tells you what the access level is.

実行用のCADLM命令を受信すれば、DP12は、まづ有効アドレスを評価し 、それから、そのアドレスからアクセス要求、モジエール・アドレス及びモジュ ール・データ領域アドレスを検索するであろう。そこでDP12はアクセス要求 をテストし1行なわるべきアクセスの型、即ち、アクセス・レベルの変更が要求 されているか、または、現アクセス・レベルは呼ばれたモジュールに対し適当で 必るか、と−うことを決定する。Upon receiving a CADLM command for execution, the DP12 first evaluates the effective address. , then from that address access request, module address and module will retrieve the rule data area address. Therefore, DP12 requests access. Test the type of access that should be done, i.e. change of access level is required. or the current access level is appropriate for the called module. Decide if it is necessary.

更に好ましい形式のアクセス要求はまた、呼ばれたモジエールは呼び出しモジエ ール・スタックに引数を見つける見込みでろるか、あるいは、呼ばれたモジュー ル・スタックで見つける見込みかということを指示する。A further preferred form of access request is also that the called modier is the calling modier. It is expected to find arguments on the module stack, or the module called Indicates whether it is likely to be found in Le Stack.

例えば、アクセス・レベルは変えらるべきでないとアクセス型が指示すれば、D P12は現スタックの上にモジエール・スタック・フレームをつくるであろう。For example, if the access type indicates that the access level should not change, D P12 will create a mosier stack frame on top of the current stack.

若し、呼ばれたモジュールが引数を呼び出しモジュール・スタックで見つける見 込みでられは、DP12は呼ヒ出シモジエール・スタック・ボイ/りを1モジエ ール・スタック・フレームにスタックし、そこで呼はれたモジュールは、どこで 引数を見つけるべきかを知るでらろ5゜もし呼ばれたモジュールが、自分のスタ ックに引数を見つけることを予期すれは、DPi2は呼び出しモジュール・スタ ック・ボイ/りtスタックせず、最短経路(5hort aut ) f補償す るように単にモジュール・スタック・フレーム・ポインタを進める。DP12は 、そこで、モジエール・デスクリプタのアドレスが続くモジュール・スタック・ フレームに呼ヒ出シモジュール・プログラム・カウンタの現在値を書き込む。If the called module finds an argument on the calling module stack, If included, DP12 has one model of call-out simulator stack. The modules stacked in the module stack frame and called there are 5゜If the called module is in its own standby DPi2 expects to find arguments in the calling module stack. Shortest path (5hort out) without stacking / compensating Simply advance the module stack frame pointer as shown below. DP12 is , where the module stack followed by the address of the module descriptor Writes the current value of the calling module program counter to the frame.

好ましい形式では、呼ばれたモジュールの第1ワートハ、そのモジエールのデー タ領域のアドレスが含まれると、そのモジエールが予期する。DP12のおるレ ジスタを指定する。CALLM命令実行のこの時点で、DP12はこのレジスタ ・スベシファイア(apmetft−デ)を検索し、それから、指定され九レジ スタの現在内容をモジエール・スタック・フレームに記憶するでらろう。DP1 2は、 CALLM命令によ少指定された引数カウント及びモジエール・デスク リックから検索された、アクセス要求を記憶することによ)、モジュール・スタ ック・7レームを完成する。DP12はそれから、レジスタ・スペシファイアに 続く第1命令において、モジエールの実行を開始する。In the preferred form, the first word of the called module is the data of that module. If the address of the data area is included, the modière expects it. DP12 Orule Specify the register. At this point in the execution of the CALLM instruction, DP12 registers this register. ・Search for Svesifier (apmetft-de), then select the specified nine cash registers. The current contents of the star will be stored in the mosier stack frame. DP1 2 is the argument count and modière desk specified in the CALLM command. (by remembering the access requests retrieved from the Complete the 7th frame. DP12 then becomes a register specifier. In the following first instruction, execution of the module is started.

他方、若し、アクセス型が、アクセス・レベルを変更さるべきであると指示する 場合には、DP12は最初に呼び出しモジエールが、呼ばれたモジエールに引数 を移しているかどうかの決定上行ない、そうでおれば、全ての引数は呼び出し七 ジュールの適合アドレス空間内にあるのfDP12は確めるであろう。若し、ア クセス違反が検出され2ればDP12は、例外ハンドラにベクトルすることで、 呼び出しモジュールの終了を強制するでろろう。アクセス違反が検出されないと 、DP12にはアドレス空間の単なる第1所定アドレスとして知られる“現在ア クセス・レベル・レジスタ”からの呼び出しモジュールのアクセス・レベルと信 ぜられるものを、DP12は読み取るであろう。それからDP12は、利用可能 アドレス空間の第2所定アドレスとしてのみDP12には知られる“モジュール ・アドレス・レジスタ1に呼ばれたモジュールのアドレスと、ま九、アドレス空 間の第3所定アドレスとしてのみ、Z)、PI3に知られる“増加アクセス・レ ベル・レジスダに“新”アクセス・レベルを書き込むであろう。それからDP1 2は、アドレス空間の第4所定アドレスとしてのみDP12に知られる“アクセ ス状態レジスタ”からのアクセス要求に対するアクセス・コントローラの決定と 信じられるものを読み取る。On the other hand, if the access type indicates that the access level should be changed In this case, DP12 first sends an argument to the called module. If so, all arguments are passed to the call The fDP 12 will make sure that it is within the module's conforming address space. If, a If an access violation is detected2, the DP12 vectors to the exception handler to It will force the calling module to exit. If no access violation is detected , DP12 has a "current address" known as simply the first predetermined address of the address space. The access level and credentials of the calling module from the “access level register”. DP12 will read what is entered. Then DP12 is available A “module” known to DP 12 only as the second predetermined address of the address space. ・The address of the module called in address register 1 and the empty address Z), known to PI3 as the third predetermined address between It will write a "new" access level to the bell register. Then DP1 2 is an "access" address known to DP 12 only as the fourth predetermined address in the address space. The access controller's decision in response to an access request from the "Status Status Register" Read what you can believe.

若し決定が否定(少なくともDP12が否定と認めるもの)であれば、DP12 は例外ハンドラにベクトルして呼び出しモジエールの終了を強制するでaろ9゜ 若しDP12によ)決定が肯定的と認められれば、DP12の一時レジスタの中 に維持されているアクセス要求に、まえより含まれていた“新”アクセス・レベ ルの代シに“旧“アクセス・レベルを挿入するでろろう。If the decision is negative (at least DP12 recognizes it as negative), DP12 vector to the exception handler and force the termination of the calling module.9゜ If the decision (by DP12) is found positive, the The “new” access level that was previously included in the access request maintained in The "old" access level will be inserted in place of the file.

もし呼ばれたモジュールが、呼び出しモジエール・スタックに引数か、またはす くなくとも、モジュール・スタック・フレームに引数に対するポインタを見つけ ることを予期すれば、すでに説明したアクセス・レベル変更が無い時と同様に、 DP12はモジエール・スタック・フレームの完成を続行する。これに反し呼ば れたモジュールが自分のスタックに引数を見つけることが予期されると、DP1 2はモジエール・デスクリプタから呼ばれたモジュール・スタック・ポインタを 検索し、呼び出しモジュール・スタックからの全部の引数を、呼ばれたモジュー ル・スタックへ転送するでろろう。DP12はそこで、すでに説明されたモジエ ール・スタック・フレームを、呼ばれたモジュール・スタックにではなく、呼び 出しモジュール・スタック上につくる。モジュール・スタック・フレームが完成 した後は、どの場合でもDP12は、レジスタ・スペシファイアに続く第1命令 でモジュールの実行を開始する。If the called module has arguments or all At least find a pointer to the argument in the module stack frame. If you expect that DP12 continues completing the mosier stack frame. contrary to this When a module is expected to find an argument on its stack, DP1 2 is the module stack pointer called from the module descriptor. Finds all arguments from the calling module stack into the called module. will be transferred to the le stack. DP12 there, the already explained mosier module stack frame instead of the called module stack. Create on the output module stack. Module stack frame completed After that, DP12 is always the first instruction following the register specifier. Start execution of the module.

呼ばれたモジュールの終了における実行のためのRTM命令を受信すれば、DP 12は、アクセス要求、引数カウンタ、呼び出しモジュール用プログラム・カウ ンタ、及びそのデータ領域のポインタとして呼はれたモジュールに使用されたレ ジスタ中にある値を検索するでらろ5゜アクセス要求におけるアクセス温か、ア クセス変更は行なわれなかったことを指示すれば、DP12は、モジュール・ス タック・フレーム及ヒllW係引数を全部捨てるために現スタック・ポインタt v4整し、呼ばれたモジュールに使用されたレジスタの初めの値を復元し、それ から呼び出しモジュールの実行開始のため、プログラム・カウンタを復元する。Upon receiving the RTM instruction for execution at the end of the called module, the DP 12 is an access request counter, an argument counter, and a program counter for the calling module. record used by the called module as a pointer to its data area. Searching for a value in the register 5゜Access temperature in access request, access request If the DP12 indicates that no access change was made, the module The current stack pointer t is used to discard all tack frames and arguments. v4, restores the initial values of the registers used by the called module, and Restore the program counter to begin execution of the calling module.

然し、アクセス・レベル変更が行なわれたのをアクセス型が指示すれば、アドレ ス空間内の第5所定アドレスとしてのみDP12に対し知られる1減少アクセス ・レベル・レジスタ2に“旧°アクセス・レベルを書き込む前に、DP12は呼 ばれたモジュール・スタックから1旧”スタック・ポイ/りを検索する。DP1 2はそれから、“アクセス状態レジスタ”を再び読み取り、アクセス・レベル減 少要求に対するアクセス・コントローラの決定は何でらるかしらべる。もしその 決定が否定的であれば、DP12は例外ハンドラにベクトルすることで、呼び出 しモジエールの終了を強制するであろう。その決定が肯定的ならば、DP12は 、モジエール・スタック・フレームを捨てるため“旧”スタック・ポインタt− aq整し、本来の現スタック・ポインタを引き出すなめ、関係引数t−調整する でろろう。それからDP12はすでに説明したように、呼ばれたモジニールに使 用されたレジスタの最初の値を復元し、つぎに、呼び出しモジュールの実行を開 始するため、プログラム・カウンタを復元するでろろう。However, if the access type indicates that an access level change has occurred, the address Decrement-by-one access known to DP12 only as the fifth predetermined address in space - Before writing “old access level” to level register 2, DP12 Search the discovered module stack for 1 old” stack pointer.DP1 2 then reads the “Access Status Register” again and reduces the access level. Find out what the access controller's decisions are for small requests. If that If the decision is negative, DP12 calls the exception handler by vectoring to the exception handler. This would force Mosier's termination. If the decision is positive, DP12 , the “old” stack pointer t− to discard the mosier stack frame Arrange aq, extract the original current stack pointer, and adjust the relational argument t. Deroro. Then, DP12, as already explained, is used by the called Modinir. restores the initial values of the used registers and then starts execution of the calling module. To begin, we will restore the program counter.

すでに説明し次ようにDP 12は、CALLM及びETM命令の処理過程にお いて、呼ばれたモジュールの実行に取フかかる前に、アクセス・コントローラの 決定をまっている。然し要求があれば、アクセス・コントローラへアクセス要求 を移した後で、単純に要求グクセ′スに取シかかるのも可能である。もしアクセ ス・コントローラが、アクセスの否定を決定すれは、アクセス・コントローラは 単純にアクセス・サイクルをフォルトにし、それによ、l) DP 12をとに かく例外ハンドラに押しやる。かくして、本発明は一般的な意味で、DP12の ようなデータ・プロセッサが、アクセス・コントローラがそれを妨けない限シ、 アクセス要求が行なわれる独立アクセス・コントローラに助言するメカニズムに 関する。アクセス・コントローラが、いかにアクセスを許可しようと、それは全 くデータ・プロセッサされることが可能である。DP12の全命令に対するマイ クロ順序と同様に、そんなマイクロ順序の全般的理解のためには、米国特許第4 ,325,121号を参照とすることが可能である。As already explained, the DP 12 is responsible for the processing of CALLM and ETM instructions. the access controller, and before starting to execute the called module. I'm waiting for a decision. However, if there is a request, it will request access to the access controller. It is also possible to simply start working on the request process after you have moved it. If you access If the access controller decides to deny access, the access controller Simply fault the access cycle, thereby l) DP 12 to This will push it to the exception handler. Thus, in a general sense, the present invention A data processor such as A mechanism for advising an independent access controller where access requests are made related. No matter how much access an access controller grants, it It is possible for the data processor to be My commands for all commands of DP12 As with micro-orders, for a general understanding of such micro-orders, see U.S. Pat. , 325, 121.

Claims (11)

【特許請求の範囲】[Claims] 1.記憶装置に記憶されたモジュールヘのアクセスを制御するアクセス・コント ローラと協力するのに適合したデータプロセッサにおいて、 前記モジュールにアクセスを要求し、アクセス要求を含む前記記憶装置内のアド レスを指定する命令を受信する第1手段、 前記記憶装置よりのアクセス要求を検索するための第2手段、 前記アクセスコントローラに前記アクセス要求を供給するための第3手段、 前記アクセス要求が前記アクセス・コントローラにより否定されないかぎり、前 記モジュールヘの前記要求アクセスを許可する第4手段、からなるデータ・プロ セッサ。1. Access control that controls access to modules stored in storage devices In a data processor adapted to cooperate with Laura, an address in the storage device that requests access to the module and includes the access request; a first means for receiving an instruction specifying a response; a second means for searching for an access request from the storage device; third means for providing the access request to the access controller; Unless said access request is denied by said access controller, fourth means for granting said requested access to said module; Sessa. 2.若し前記アクセス要求が前記アクセス・コントローラにより否定されれは、 例外ハンドラにベクトルするための第5手段をさらに具える前記請求の範囲第1 項記載のデータ・プロセッサ。2. If the access request is denied by the access controller, Claim 1 further comprising fifth means for vectoring to an exception handler. Data Processor as described in Section. 3.前記命令により指定されたモジュールは、コード・モジュールであり、前記 命令はまた前記コード・モジュールに移される引数の選択番号を指定し、前記要 求アクセスを許可する前に、前記コード・モジュールへ前記引数を前記第4手段 が通過させる前記請求の範囲第1項記載のデータ・プロセッサ。3. The module specified by the instruction is a code module, and the module specified by the instruction is a code module. The instruction also specifies a selection number of arguments to be passed to said code module and the fourth means for passing the argument to the code module before granting access to the code module; 2. A data processor as claimed in claim 1, wherein said data processor passes through said data processor. 4.前記第4手段は、 前記アクセス要求にたいし前記アクセス・コントローラから決定を受信するため の第5手段、前記アクセス・コントローラからの肯定的決定に応答し前記モジュ ールヘの前記要求アクセスを許可し、前記アクセス・コントローラからの否定的 決定に応答し前記モジュールヘの前記要求アクセスを否定するための第6手段、 を具える請求の範囲第1項記載のデータ・プロセッサ。4. The fourth means is receiving a decision from the access controller regarding the access request; fifth means for controlling the module in response to a positive determination from the access controller; grant the requested access to the access controller; sixth means for denying the requested access to the module in response to the determination; 2. A data processor as claimed in claim 1, comprising: 5.前記アクセス要求が前記アクセス・コントローラにより否定されれば、例外 ハンドラにベクトルするための第7手段を、更に含む前記請求の範囲第4項記載 のデータ・プロセッサ。5. an exception if the access request is denied by the access controller. Claim 4 further comprising seventh means for vectoring to the handler. data processor. 6.記憶装置に記憶されたモジュールにたいするアクセスを制御するアクセス・ コントローラに協力するのに適合したデータ・プロセッサにおいて、前記モジュ ールへアクセスを要求し、アクセス要求を含む前記記憶装置内のアドレスを指定 する命令を受信し、 前記記憶装置から前記アクセス要求を検索し、前記アクセス・コントローラへ前 記アクセス要求を供給し: 前記アクセス要求が前記アクセス・コントローラに否定されなければ、前記モジ ュールに前記要求アクセスを許可する:段階を含む方法。6. Access controls that control access to modules stored in storage devices. In a data processor adapted to cooperate with a controller, said module request access to a file and specify the address within said storage device that contains the access request. receive an instruction to Retrieves the access request from the storage device and forwards it to the access controller. Serving the access request: If the access request is not denied by the access controller, the module granting the requested access to the module. 7.請求の範囲第6項のデータ・プロセッサにおいて、前記アクセス要求が前記 アクセス・コントローラにより否定されると、例外ハンドラへベクトルする段階 をさらに含む方法。7. 7. The data processor of claim 6, wherein the access request is If denied by the access controller, vectoring to the exception handler How to further include. 8.前記命令により指定されたモジュールがコード・モジュールであり、前記命 令がまた前記コード・モジュールに移される引数の選択番号を指定する請求の範 囲第6項のデータ・プロセッサにおいて、前記要求アクセスの許可の前に、前記 アクセスを許可する段階が、前記コート.・モジュールヘの前記引数を移すこと をさらに具える方法。8. The module specified by the instruction is a code module, and the module specified by the instruction A claim also specifies a selection number of arguments to be moved to said code module. In the data processor of Clause 6, before granting the requested access, the data processor The step of allowing access is the court.・Moving the above arguments to the module How to add more. 9.請求の範囲第6項のデータ・プロセッサにおいて、前記アクセスを許可する 段階は、 前記アクセス要求にたいし前記アクセス・コントローラから決定を受信し、 前記アクセス・コントローラからの肯定的決定に応答して前記モジュールヘの前 記要求アクセスを許可し、 前記アクセス・コントローラからの否定的決定に応答して前記モジュールヘの前 記要求アクセスを否定する、段階を具える方法。9. In the data processor according to claim 6, the access is permitted. The stages are receiving a decision from the access controller regarding the access request; forward access to the module in response to a positive determination from the access controller; allow the requested access, forwarding to the module in response to a negative decision from the access controller; A method comprising steps for denying requested access. 10.請求の範囲第9項のデータ・プロセッサにおいて、前記アクセス要求が前 記アクセス・コントローラにより否定されると、例外ハンドラにベクトルする段 階、をさらに含む方法。10. The data processor according to claim 9, wherein the access request is When negated by the access controller, the vector to the exception handler is A method that further includes a floor. 11.記憶装置に記憶されたモジュールヘのアクセスを制御するアクセス・コン トローラに協力するのに適合したデータ・プロセッサにおいて、 前記モジュールへアクセスを要求し、アクセス要求を含む前記記憶装置内のアド レスを指定する命令を受信し、 前記記憶装置から前記アクセス要求を検索し、前記アクセス・コントローラに前 記アクセス要求を供給し、 前記アクセス要求に対する前記アクセス・コントローラからの決定を受信し、 前記アクセス・コントローラの肯定的決定に応答して前記モジュールヘのアクセ スを許可し、前記アクセス・コントローラの否定的決定に応答し前記モジュール ヘのアクセスを否定する:段階を含む方法。11. An access controller that controls access to modules stored in storage devices. in a data processor adapted to cooperate with the troller; an address in the storage device that requests access to the module and includes the access request; receive an instruction specifying the response, retrieves the access request from the storage device and forwards it to the access controller; provide access requests; receiving a decision from the access controller regarding the access request; access to the module in response to a positive determination of the access controller; the module in response to a negative decision of the access controller; Denying access to: A step-by-step method.
JP60502137A 1984-06-28 1985-04-24 Data processor with module access control Pending JPS61502568A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US62636384A 1984-06-28 1984-06-28
US626363 1984-06-28

Publications (1)

Publication Number Publication Date
JPS61502568A true JPS61502568A (en) 1986-11-06

Family

ID=24510094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60502137A Pending JPS61502568A (en) 1984-06-28 1985-04-24 Data processor with module access control

Country Status (5)

Country Link
EP (1) EP0187763A4 (en)
JP (1) JPS61502568A (en)
KR (1) KR860700168A (en)
CA (1) CA1235821A (en)
WO (1) WO1986000437A1 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2258112A5 (en) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
GB1561482A (en) * 1976-11-18 1980-02-20 Ibm Protection of data processing system against unauthorised programmes
US4104721A (en) * 1976-12-30 1978-08-01 International Business Machines Corporation Hierarchical security mechanism for dynamically assigning security levels to object programs
JPS56140452A (en) * 1980-04-01 1981-11-02 Hitachi Ltd Memory protection system
US4366537A (en) * 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4442484A (en) * 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism
US4488228A (en) * 1982-12-03 1984-12-11 Motorola, Inc. Virtual memory data processor

Also Published As

Publication number Publication date
CA1235821A (en) 1988-04-26
KR860700168A (en) 1986-03-31
EP0187763A1 (en) 1986-07-23
EP0187763A4 (en) 1989-05-30
WO1986000437A1 (en) 1986-01-16

Similar Documents

Publication Publication Date Title
US4742451A (en) Instruction prefetch system for conditional branch instruction for central processor unit
US7047401B2 (en) Handling interrupts during multiple access program instructions
US20100058076A1 (en) Method and apparatus for loading a trustable operating system
KR101249693B1 (en) Selecting subroutine return mechanisms
KR20130036189A (en) Restricting memory areas for an instruction read in dependence upon a hardware mode and a security flag
US4740889A (en) Cache disable for a data processor
JP3707581B2 (en) Data processing system having self-aligned stack pointer and method thereof
CA1222323A (en) Method and apparatus for signed and unsigned bounds check
US7383584B2 (en) System and method for controlling device-to-device accesses within a computer system
CN108139906B (en) Method and device for processing data
JP2001249848A (en) Privileged advancement based on precedent privilege level
JPS61502568A (en) Data processor with module access control
JPH0192856A (en) Apparatus and method for protecting main memory unit using access and defect logic signal
US9501667B2 (en) Security domain prediction
US5815729A (en) Method and apparatus for on the fly descriptor validation
CA1233271A (en) Cache disable for a data processor
JPS6132703B2 (en)
JP3119859B2 (en) Computer system
JPS6221139B2 (en)
JPH0512175A (en) Peripheral controller
JPS61145643A (en) Variable word length instruction processing system
JPS58165149A (en) Information processing device
JPH0217544A (en) Information processor
JPS61502566A (en) Bit field instruction method and apparatus
JPS61141046A (en) System for controlling debug interruption