JP6974254B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP6974254B2
JP6974254B2 JP2018096329A JP2018096329A JP6974254B2 JP 6974254 B2 JP6974254 B2 JP 6974254B2 JP 2018096329 A JP2018096329 A JP 2018096329A JP 2018096329 A JP2018096329 A JP 2018096329A JP 6974254 B2 JP6974254 B2 JP 6974254B2
Authority
JP
Japan
Prior art keywords
virtual machine
unit
count
counter
channel
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.)
Active
Application number
JP2018096329A
Other languages
English (en)
Other versions
JP2019200707A5 (ja
JP2019200707A (ja
Inventor
泰洋 杉田
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2018096329A priority Critical patent/JP6974254B2/ja
Priority to US16/404,162 priority patent/US11188373B2/en
Priority to EP19175063.7A priority patent/EP3570174A1/en
Priority to CN201910414057.9A priority patent/CN110502388A/zh
Publication of JP2019200707A publication Critical patent/JP2019200707A/ja
Publication of JP2019200707A5 publication Critical patent/JP2019200707A5/ja
Priority to US17/509,768 priority patent/US11915032B2/en
Application granted granted Critical
Publication of JP6974254B2 publication Critical patent/JP6974254B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • 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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Description

本開示は、複数の仮想マシンを実行可能なデータ処理装置に関する。
従来より、CPU(Central Processing Unit)への割込み処理を監視することにより異常を検知する方式が提案されている。
例えば、特許第4065131号公報においては、割込み処理間の時間を計測し、計測時間に基づいてCPUに対する異常を検知する方式が提案されている。
一方で、単一の物理リソース(ハードウェア資源)を複数のリソースに見せかける仮想化技術がある。この仮想化技術を用いることで、例えば、1つのCPU上で複数の仮想マシン(VM:Virtual Machine)を動作させることができ、これにより各々の仮想マシン上で異なるオペレーティングシステム(OS:Operating System)を動作させることができる。
各々の仮想マシン(VM)は、独立した機能安全上の要求が求められる。すなわち、それらの機能が相互に影響を及ぼさないこと(FFI :Freedom From Interference)を保証する必要がある。
この点を保証するためには、仮想マシンの割込み処理の状態を監視することが可能な仕組みが必要となる。
特許第4065131号公報
本開示は、上記の課題を解決するためになされたものであって、仮想マシンの割込み処理の状態を適切に監視することが可能なデータ処理装置を提供する。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本開示のある局面に従うデータ処理装置は、複数の仮想マシンをそれぞれ実行する演算部と、複数の仮想マシンのうちの少なくとも1つを指定する仮想マシン情報と共に割り込み処理の実行を演算部に指示する割込制御部とを備える。割込制御部は、仮想マシン情報に基づいて、仮想マシン毎に割り込み回数をカウントするカウンタを含む。
一実施例によれば、本開示のデータ処理装置は、仮想マシンの割込み処理の状態を適切に監視することが可能である。
実施形態1に基づくデータ処理装置1を車両200に用いた場合の構成例を示すブロック図である。 実施形態1に基づくデータ処理装置1およびその周辺回路を説明する図である。 実施形態1に基づくカウント対象設定情報CCFGについて説明する図である。 実施形態1に基づく仮想マシン情報について説明する図である。 実施形態1に基づくVM一致判定部45の構成について説明する図である。 実施形態1に基づく付加条件判定部50の構成について説明する図である。 実施形態1に基づくカウント指示部55の構成について説明する図である。 実施形態1に基づくカウント処理の具体例について説明する図である。 実施形態1に基づくアクセス対象設定情報ACFGについて説明する図である。 実施形態1に基づくアクセス許可判定部25で用いられる仮想マシン情報について説明する図である。 実施形態1に基づくアクセス許可判定部25の構成について説明する図である。 実施形態1に基づくカウンタアクセス要求生成部27の構成について説明する図である。 実施形態1に基づくアクセス処理の具体例について説明する図である。 実施形態2に基づくデータ処理装置1#およびその周辺回路を説明する図である。 実施形態2に基づく付加条件判定部50#の構成を説明する図である。 実施形態2に基づくカウント処理の具体例について説明する図である。 実施形態3に基づくデータ処理装置1Pおよびその周辺回路を説明する図である。
実施形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
(実施形態1)
図1は、実施形態1に基づくデータ処理装置1を車両200に用いた場合の構成例を示すブロック図である。
図1を参照して、車両200には、データ処理装置1、センサ210およびカメラ220が設けられている。データ処理装置1は車載用のチップである。
センサ210は、車両200の所定の情報を取得する。
また、カメラ220は、車両200の周辺の映像を取得する。
センサ210およびカメラ220で取得された情報は、データ処理装置1に供給される。
データ処理装置1は、センサ210およびカメラ220で取得された情報に応じて、所定の処理を実施する。本例においては、一例として仮想マシンVMを用いた種々の機能を実行する。
図2は、実施形態1に基づくデータ処理装置1およびその周辺回路を説明する図である。
図2を参照して、データ処理装置1は、CPUと、メモリ10と、データバス15と、割込制御部20とを含む。
CPU5は、実行部を含む。実行部は、メモリ10に格納されている仮想マシンを実行するプログラムを読み出して仮想マシンVMおよび仮想マシンモニタVMM(Virtual Machine Monitor)の機能を実現する。本例においては、一例として、仮想マシンVM0〜VMiの機能を実現するためのプログラムがメモリ10に格納されている場合が示されている。また、仮想マシンVMを管理するための仮想マシンモニタVMMの機能を実現するためのプログラムもメモリ10に格納されている。
CPU5とメモリ10とはデータバス15を介してデータの授受を実行する。また、CPU5は、データバス15を介して割込制御部20との間でもデータの授受を実行する。
なお、本例においては、メモリ10が1つ設けられている構成について説明するが、特にこれに限られず複数のメモリを設けた構成とすることも可能である。また、CPU5は、データバス15を介してメモリ10にアクセスする場合について説明するが、特にこれに限られずデータバス15を介さずにメモリと直接アクセス可能な経路を設けるようにしても良い。
また、CPU5は、割込制御部20にCPU5の状態を示す状態信号STを出力する。当該状態信号STは、CPU5が割込み処理の実行が可能か否かを示す信号である。一例として状態信号STが「1」であれば割込み処理の受け付けが可能であり、「0」であれば割込み処理の受け付けが不能である場合を示す。なお、当該例は一例であり、データの状態が逆であっても良い。
割込制御部20は、状態信号STに基づいてCPU5が割込み処理の実行が可能であると判断した場合は、CPU5に割込み処理の実行を指示する。
CPU5は、割込制御部20からの割込み処理の実行の指示に従ってメモリ10にアクセスし、指示された仮想マシンVM0〜VMiあるいは仮想マシンモニタVMMの機能を実現するためのプログラムを読み出して、実行部で実行する。
なお、割込制御部20は、CPU5の状態を示す複数の情報を状態信号STを介して取得し、後述する割込み情報格納部65に格納されている情報に基づいて割り込み処理の実行が可能か否かを判定するようにしてもよい。
割込制御部20は、アクセス許可判定部25と、カウンタ部30と、カウント条件設定部35と、複数のカウンタ制御部40と、割込み情報格納部65と、割込み確定部60とを含む。
アクセス許可判定部25は、カウンタ部30あるいはカウント条件設定部35に対するアクセスが可能であるか否かを判定する。当該処理については後述する。
カウンタ部30は、カウンタチャネルCCH毎の割込み処理の回数CNTをカウントして格納する。本例においては、(m+1)個のカウンタチャネルCCH0〜CCHm(以下、総称してカウンタチャネルCCHとも称する)が設けられている。それぞれのカウンタチャネルCCHに対応付けられて割込み処理の回数CNTがカウントされて格納される。
カウント条件設定部35は、カウンタ部30における割込み処理の回数をカウントするカウント条件を設定する。具体的には、カウンタチャネルCCH毎にカウント条件が設定される。具体的には、カウント条件は、カウントする対象となる仮想マシンを設定するカウント対象設定情報CCFGと、カウントする際の付加情報を設定するカウント付加設定情報CNDとを含む。また、カウント条件とは別に、カウンタチャネルCCH毎にアクセス条件も設定される。具体的には、アクセスする際の許可対象となる仮想マシンを設定するアクセス対象設定情報ACFGを含む。
例えば、カウント対象設定情報CCFGは、複数ビットで構成される。一例として、先頭のビットが仮想マシンモニタVMMの設定情報として割り当てられている。以降のビットが仮想マシンVMi〜VM0の設定情報として割り当てられている。したがって、先頭のビットが「1」に設定されている場合には、当該カウンタチャネルCCHにおいて、仮想マシンモニタVMMがカウント対象として設定されていることを指し示す。一方、先頭のビットが「0」に設定されている場合には、当該カウンタチャネルCCHにおいて、仮想マシンモニタVMMがカウント対象として設定されていないことを指し示す。他のビットについても同様である。
したがって、カウント対象設定情報CCFGに従って、カウンタチャネルCCHにおけるカウント対象となる仮想マシンVM0〜VMiおよび仮想マシンモニタVMMが設定される。ここで、カウント対象となる仮想マシンは、1つに限られず複数の仮想マシンをカウント対象に設定することが可能である。
カウント付加設定情報CNDは、複数ビットのデータで構成される。具体的には、カウント付加設定情報CNDは、チャネル指定データCHEと、チャネル番号CHNUMと、優先指定データPREと、優先番号PRENUMとを含む。
チャネル指定データCHEは、カウント条件としてチャネル番号を含めるか否かを指定するデータである。例えば、チャネル指定データCHEが「0」に設定されている場合には、カウント条件としてチャネル番号を含めないことを示す。チャネル指定データCHEが「1」に設定されている場合には、カウント条件としてチャネル番号を含めることを示す。
チャネル番号CHNUMは、カウント条件としてチャネル番号を含める場合(チャネル指定データCHE(「1」))に、カウント条件となるチャネル番号を指定するビットである。例えば、チャネル番号CHNUMが「0」に設定されている場合には、カウント条件としてチャネル番号「0」が指定されていることを示す。チャネル番号CHNUMが「10」に設定されている場合には、カウント条件としてチャネル番号「10」が指定されていることを示す。
優先指定データPREは、カウント条件として優先番号を含めるか否かを指定するデータである。例えば、優先指定データPREが「0」に設定されている場合には、カウント条件として優先番号を含めないことを示す。優先指定データPREが「1」に設定されている場合には、カウント条件として優先番号を含めることを示す。
優先番号PRNUMは、カウント条件として優先番号を含める場合(優先指定データPRE(「1」))に、カウント条件となる優先番号を指定するデータである。例えば、優先番号PRNUMが「0」に設定されている場合には、カウント条件として優先番号「0」が指定されていることを示す。優先番号PRNUMが「10」に設定されている場合には、カウント条件として優先番号「10」が指定されていることを示す。
アクセス対象設定情報ACFGは、複数ビットのデータで構成される。一例として、先頭のビットが仮想マシンモニタVMMの設定情報として割り当てられている。以降のビットが仮想マシンVMi〜VM0の設定情報として割り当てられている。したがって、先頭のビットが「1」に設定されている場合には、当該カウンタチャネルCCHにおいて、仮想マシンモニタVMMがアクセス可能な仮想マシンとして設定されていることを指し示す。一方、先頭のビットが「0」に設定されている場合には、当該カウンタチャネルCCHにおいて、仮想マシンモニタVMMはアクセス可能な仮想マシンとして設定されていないことを指し示す。他のビットについても同様である。
したがって、アクセス対象設定情報ACFGに従って、カウンタチャネルCCHにおけるアクセス可能となる仮想マシンVM0〜VMiおよび仮想マシンモニタVMMが設定される。ここで、アクセス可能な仮想マシンは、1つに限られず複数の仮想マシンをアクセス可能な仮想マシンの対象に設定することが可能である。
カウンタ制御部40は、カウント条件設定部35で設定されたカウント条件に基づいてカウンタチャネルCCH毎に割込み処理の回数をカウントする制御を実行する。
本例においては、カウンタチャネルCCH0〜CCHmまでの(m+1)個のカウンタチャネルが設けられるためカウンタ制御部40もカウンタチャネルCCH毎に設けられる。
当該図においては、説明の簡略化のためにカウンタチャネルCCHxに対応して設けられるカウンタ制御部40x(総称してカウンタ制御部40とも称する)が示されている。他のカウンタ制御部40についても同様である。
割込み情報格納部65は、チャネルCH毎の割り込み情報を格納する。本例においては、チャネルCH0〜CHnが設けられており、チャネルCH毎に割込み対象となる仮想マシン情報が格納される。
例えば、センサあるいはカメラ等からの出力情報にはそれぞれチャネルCHが予め割り当てられている。センサあるいはカメラ等からの出力情報に従って割込み情報格納部65の予め割り当てられているチャネルCHに指定されている仮想マシン情報が格納される。
割込み情報格納部65は、格納されている情報を割込み確定部60に出力する。具体的には、割込み情報格納部65は、割込要求信号CREQと、チャネルCHと、仮想マシン情報(VM,VMID)と、優先データPRIとを割込み確定部60に出力する。
割込み確定部60は、割込み情報格納部65からの情報を受けて、CPU5からの状態信号STに従って割込み処理の受け付けが可能であるか否かを判断する。
割込み確定部60は、CPU5からの状態信号STに従って割込み処理の受け付けが可能であると判断した場合には、CPU5に割込み処理の実行を指示する。割込み確定部60は、チャネルCHおよび仮想マシン情報を含む割込み情報格納部65からの情報をCPU5に出力する。
また、割込み確定部60は、状態信号STが「1」であるならば割込み処理の受け付けが可能であると判断して、割込み情報格納部65からの情報をカウンタ制御部40に出力する。
割込み確定部60は、状態信号STが「0」であるならば割込み処理の受け付けが可能でないと判断して、状態信号STが「1」になるまで待機する。そして、割込み確定部60は、状態信号STが「1」になった際に、割込み情報格納部65からの情報をカウンタ制御部40に出力する。
なお、割込み確定部60は、CPU5の状態を示す複数の情報を状態信号STを介して取得し、割込み情報格納部65に格納されている情報に基づいて割り込み処理の実行が可能か否かを判定するようにしてもよい。
カウンタ制御部40は、VM一致判定部45と、付加条件判定部50と、カウント指示部55とを含む。
VM一致判定部45は、カウント条件設定部35で設定されたカウント対象設定情報CCFGと、割込み確定部60から出力された仮想マシン情報(VM,VMID)とに基づいて、割込み処理が受け付けられた仮想マシン情報がカウント条件のカウント対象として設定されているか否かを判定する。
VM一致判定部45は、カウント条件設定部35で設定されたカウント対象設定情報CCFGと、割込み確定部60から出力された仮想マシン情報(VMD,VMID)とに基づいて、割込み処理が受け付けられた仮想マシン情報がカウント条件のカウント対象として設定されていると判断した場合には、一致信号Vhitをカウント指示部55に出力する。
例えば、一致信号Vhitは、「1」であれば割込み処理が受け付けられた仮想マシン情報がカウント条件のカウント対象として設定されていることを示す。
一方、一致信号Vhitは、「0」であれば割込み処理が受け付けられた仮想マシン情報がカウント条件のカウント対象として設定されていないことを示す。
付加条件判定部50は、カウント条件設定部35で設定されたカウント付加設定情報CNDと、割込み確定部60から出力されたチャネルCHおよび優先データPRIとに基づいて、割込み処理が受け付けられた仮想マシン情報に対応する付加条件が一致するか否かを判定する。
付加条件判定部50は、カウント条件設定部35で設定されたカウント付加設定情報CNDと、割込み確定部60から出力されたチャネルCHおよび優先データPRIとに基づいて、割込み処理が受け付けられた仮想マシン情報に対応する付加条件が一致したと判定した場合には、一致信号Chitをカウント指示部55に出力する。
なお、付加条件判定部50は、必ずしも付加条件の判定を実行する必要はなく付加条件の判定をしない場合には一致信号Chitは「1」に設定される。
例えば、一致信号Chitは、「1」であれば割込み処理が受け付けられた仮想マシン情報に対応する付加条件が一致したことを示す。
一方、一致信号Vhitは、「0」であれば割込み処理が受け付けられた仮想マシン情報に対応する付加条件が一致しないことを示す。
カウント指示部55は、割込み要求信号CREQに従ってカウント指示動作を実行する。具体的には、カウント指示部55は、VM一致判定部45の一致信号Vhitおよび付加条件判定部50の一致信号Chitに基づいてカウンタチャネルCCHのカウント指示信号を出力する。
カウンタ部30は、カウント指示信号に従って対応するカウンタチャネルCCHの回数CNTを更新する。例えば、カウンタ部30は、一例としてインクリメントして回数CNTに1を加算する。
なお、本例においては、割込み情報格納部65は、1つである構成について説明したが、例えばCPU毎に割込み情報格納部65を設けた構成とすることも可能である。
図3は、実施形態1に基づくカウント対象設定情報CCFGについて説明する図である。
図3を参照して、カウント対象設定情報CCFGは、カウント対象とするか否かを設定する情報である。
上述したように、カウンタチャネルCCH毎に設けられているカウント対象設定情報CCFGは、当該カウンタチャネルCCHのカウント対象となる仮想マシンを設定する。
具体的には、対象となる仮想マシンのビットが「1」に設定されている場合には、当該対象となる仮想マシンのイベントに対する割込み情報を受け付けた場合に、カウントする。対象となる仮想マシンのビットが「0」に設定されている場合には、当該対象となる仮想マシンのイベントに対する割込み情報を受け付けた場合に、カウントしない。
図4は、実施形態1に基づく仮想マシン情報について説明する図である。
図4を参照して、仮想マシン情報は、仮想マシン管理データVMDと、仮想マシン識別データVMIDとを有する。
仮想マシン管理データVMDは、仮想マシンモニタVMMと通常の仮想マシンVMとを識別する。具体的には、仮想マシン管理データVMDが「0」の場合には、仮想マシンモニタVMMであることを示す。一方、仮想マシン管理データVMDが「1」の場合には、通常の仮想マシンVMであることを示す。通常の仮想マシンVMは、仮想マシン識別データVMIDによりそれぞれの仮想マシンVMを識別することが可能である。
本例においては、仮想マシンVM0は、仮想マシン管理データVMDが「1」、仮想マシン識別データVMIDが「0」に割り当てられている。仮想マシンVM1は、仮想マシン管理データVMDが「1」、仮想マシン識別データVMIDが「1」に割り当てられている。仮想マシンVM2は、仮想マシン管理データVMDが「1」、仮想マシン識別データVMIDが「2」に割り当てられている。仮想マシンVM3は、仮想マシン管理データVMDが「1」、仮想マシン識別データVMIDが「3」に割り当てられている。
当該仮想マシン情報に基づいて各仮想マシンVM,VMMを識別することが可能である。
図5は、実施形態1に基づくVM一致判定部45の構成について説明する図である。
図5(A)を参照して、VM一致判定部45は、仮想マシン情報判定部46を含む。
仮想マシン情報判定部46は、仮想マシン管理データVMDおよび仮想マシン識別データVMIDに基づいて仮想マシンを識別する。
図5(B)は、割込み処理が受け付けられた仮想マシン情報がカウント条件のカウント対象であることを示す一致信号Vhitを出力する回路を説明する図である。
図5(B)を参照して、VM一致判定部45は、複数のAND回路AD0〜AD4と、OR回路OR0とをさらに含む。
複数のAND回路AD0〜AD4は、仮想マシン情報判定部46の判定結果と、カウント対象設定情報CCFGの各ビットとのAND論理演算結果を出力する。具体的には、仮想マシン情報判定部46は、仮想マシン管理データVMDおよび仮想マシン識別データVMIDに基づいて対象となる仮想マシン情報の判定結果を「1」に設定する。各AND回路ADは、カウント対象設定情報CCFGの各ビットのうち「1」が設定され、仮想マシン情報の判定結果が「1」の場合にはOR回路OR0に「1」を出力する。そして、一致信号Vhitが「1」に設定される。すなわち、割込み処理が受け付けられた仮想マシン情報がカウント条件のカウント対象として設定されていると判断される。
一方、一致信号Vhitが「0」の場合には、割込み処理が受け付けられた仮想マシン情報がカウント条件のカウント対象として設定されていないと判断する。
図6は、実施形態1に基づく付加条件判定部50の構成について説明する図である。
図6を参照して、比較回路GT0,GT1と、AND回路AD5,AD6,AD7と、OR回路OR1,OR2とを含む。
比較回路GT0は、指定されたチャネル番号CHNUMと、割込み情報格納部65から出力されたチャネルCHのデータとを比較し、一致するか否かを判断する。
比較回路GT0は、割込み情報格納部65から出力されたチャネルCHのデータが指定されたチャネル番号CHNUMと一致すると判断した場合に、「1」を出力する。一致しないと判断した場合には、「0」を出力する。
比較回路GT1は、指定された優先番号PRNUMと、割込み情報格納部65から出力された優先データPRIとを比較し、一致するか否かを判断する。
比較回路GT1は、割込み情報格納部65から出力された優先データPRIが指定された優先番号PRNUMと一致すると判断した場合に、「1」を出力する。一致しないと判断した場合には、「0」を出力する。
AND回路AD5は、比較回路GT0が「1」を出力し、チャネル指定データCHEが「1」である場合に、AND論理演算結果(「1」)を出力する。
それ以外の場合には、AND論理演算結果(「0」)を出力する。
OR回路OR1は、AND回路AD5からの出力信号と、チャネル指定データCHEの反転データとを受けて、OR論理演算結果をAND回路AD7に出力する。
AND回路AD6は、比較回路GT1が「1」を出力し、優先指定データPREが「1」である場合に、AND論理演算結果(「1」)を出力する。
それ以外の場合には、AND論理演算結果(「0」)を出力する。
OR回路OR2は、AND回路AD6からの出力信号と、優先指定データPREの反転データとを受けて、OR論理演算結果をAND回路AD7に出力する。
AND回路AD7は、OR回路OR1,OR2のAND論理演算結果を出力する。
チャネル指定データCHEが「0」、優先指定データPREが「0」の場合には、OR回路OR1,OR2は、共に「1」を出力する。したがって、AND回路AD7は、一致信号Chitを「1」に設定する。この場合、付加条件判定部50の条件判定処理は実行されない。
一方で、チャネル指定データCHEが「1」の場合にチャネルCHのデータが指定されたチャネル番号CHNUMと一致するか否かの条件判定処理が実行される。また、優先指定データPREが「1」の場合に、優先データPRIが指定された優先番号PRNUMと一致するか否かの条件判定処理が実行される。
付加条件判定部50は、実行された条件判定処理により一致した場合には、一致信号Chitを「1」に設定する。付加条件判定部50は、実行された条件判定処理により不一致の場合には、一致信号Chitを「0」に設定する。この場合には、カウント指示信号は出力されない。
図7は、実施形態1に基づくカウント指示部55の構成について説明する図である。
図7を参照して、カウント指示部55は、AND回路AD7を含む。
AND回路AD7は、一致信号Chitと、一致信号Vhitと、割込み要求信号CREQとに基づいてカウント指示する。
具体的には、カウント指示部55は、一致信号Chitが「1」と、一致信号Vhitが「1」と、割込み要求信号CREQが「1」の場合にカウント指示信号を「1」に設定する。それ以外の場合には、カウント指示信号は「0」に設定される。カウンタ部30は、カウント指示部55からのカウント指示信号(「1」)に従って対応するカウンタチャネルCCHの回数CNTを更新する。カウンタ部30は、一例としてインクリメントして回数CNTに1を加算する。
(具体例)
図8は、実施形態1に基づくカウント処理の具体例について説明する図である。
図8(A)を参照して、割込み情報格納部65の一例が示されている。
具体的には、チャネルCH10,CH11,CH20,CH21に対応する割込み情報を受け付けた場合が示されている。
ここで、チャネルCH10に対応する仮想マシン管理データVMDは「1」、仮想マシン識別データVMIDは「0」が設定されている。
チャネルCH11に対応する仮想マシン管理データVMDは「1」、仮想マシン識別データVMIDは「0」が設定されている。
チャネルCH20に対応する仮想マシン管理データVMDは「1」、仮想マシン識別データVMIDは「1」が設定されている。
チャネルCH21に対応する仮想マシン管理データVMDは「1」、仮想マシン識別データVMIDは「1」が設定されている。
図8(B)を参照して、カウンタ部30およびカウント条件設定部35の一例が示されている。
具体的には、カウンタ部30には、カウンタチャネルCCH0〜CCH3が設定されている。カウンタチャネルCCH0に対応するカウント対象設定情報CCFGは仮想マシンVM0のみが「1」に設定されている。カウンタチャネルCCH1に対応するカウント対象設定情報CCFGは仮想マシンVM0のみが「1」に設定されている。また、カウント付加設定情報CNDは、チャネル指定データCHEが「1」に設定されている。また、チャネル番号CHNUMは、「10」に設定されている。カウンタチャネルCCH2に対応するカウント対象設定情報CCFGは仮想マシンVM1のみが「1」に設定されている。カウンタチャネルCCH3に対応するカウント対象設定情報CCFGは仮想マシンVM1のみが「1」に設定されている。また、カウント付加設定情報CNDは、チャネル指定データCHEが「1」に設定されている。また、チャネル番号CHNUMは、「20」に設定されている。
図8(C)を参照して、図8(A)で説明した割込み情報格納部65に対してカウンタチャネルCCHxのカウント処理について説明する図である。
チャネルCH10に対応する割込み処理について説明する。
カウンタチャネルCCH0に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。付加条件判定部50は、一致信号Chit(「1」)をカウント指示部55に出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50の一致信号Chit(「1」)に基づいてカウンタチャネルCCH0のカウント指示信号を出力する。これに伴いカウンタチャネルCCH0の回数CNTが更新される。
カウンタチャネルCCH1に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。
付加条件判定部50は、指定されたチャネル番号CHNUMと、割込み情報格納部65から出力されたチャネルCHのデータとを比較し、一致すると判断する。したがって、一致信号Chit(「1」)をカウント指示部55に出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50の一致信号Chit(「1」)に基づいてカウンタチャネルCCH1のカウント指示信号を出力する。これに伴いカウンタチャネルCCH1の回数CNTが更新される。
他のカウンタチャネルCCHxに対応して設けられるカウンタ制御部40は、カウント指示信号を出力しない。
次に、チャネルCH11に対応する割込み処理について説明する。
カウンタチャネルCCH0に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。付加条件判定部50は、一致信号Chit(「1」)をカウント指示部55に出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50の一致信号Chit(「1」)に基づいてカウンタチャネルCCH0のカウント指示信号を出力する。これに伴いカウンタチャネルCCH0の回数CNTが更新される。
カウンタチャネルCCH1に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。
付加条件判定部50は、指定されたチャネル番号CHNUMと、割込み情報格納部65から出力されたチャネルCHのデータとを比較し、不一致と判断する。したがって、一致信号Chit(「0」)をカウント指示部55に出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50の一致信号Chit(「0」)に基づいてカウンタチャネルCCH1のカウント指示信号を出力しない。これに伴いカウンタチャネルCCH1の回数CNTは更新されない。
他のカウンタチャネルCCHxに対応して設けられるカウンタ制御部40についても、カウント指示信号を出力しない。
チャネルCH20に対応する割込み処理について説明する。
カウンタチャネルCCH2に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。付加条件判定部50は、一致信号Chit(「1」)をカウント指示部55に出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50の一致信号Chit(「1」)に基づいてカウンタチャネルCCH2のカウント指示信号を出力する。これに伴いカウンタチャネルCCH2の回数CNTが更新される。
カウンタチャネルCCH3に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。
付加条件判定部50は、指定されたチャネル番号CHNUMと、割込み情報格納部65から出力されたチャネルCHのデータとを比較し、一致すると判断する。したがって、一致信号Chit(「1」)をカウント指示部55に出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50の一致信号Chit(「1」)に基づいてカウンタチャネルCCH3のカウント指示信号を出力する。これに伴いカウンタチャネルCCH3の回数CNTが更新される。
他のカウンタチャネルCCHxに対応して設けられるカウンタ制御部40は、カウント指示信号を出力しない。
次に、チャネルCH21に対応する割込み処理について説明する。
カウンタチャネルCCH2に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。付加条件判定部50は、一致信号Chit(「1」)をカウント指示部55に出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50の一致信号Chit(「1」)に基づいてカウンタチャネルCCH2のカウント指示信号を出力する。これに伴いカウンタチャネルCCH2の回数CNTが更新される。
カウンタチャネルCCH3に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。
付加条件判定部50は、指定されたチャネル番号CHNUMと、割込み情報格納部65から出力されたチャネルCHのデータとを比較し、不一致と判断する。したがって、一致信号Chit(「0」)をカウント指示部55に出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50の一致信号Chit(「0」)に基づいてカウンタチャネルCCH3のカウント指示信号を出力しない。これに伴いカウンタチャネルCCH3の回数CNTは更新されない。
他のカウンタチャネルCCHxに対応して設けられるカウンタ制御部40についても、カウント指示信号を出力しない。
(カウンタチャネルCCHxのアクセスについて)
図9は、実施形態1に基づくアクセス対象設定情報ACFGについて説明する図である。
図9を参照して、アクセス対象設定情報ACFGは、アクセス対象とするか否かを設定する情報である。
上述したように、カウンタチャネルCCH毎に設けられているアクセス対象設定情報ACFGは、当該カウンタチャネルCCHのアクセス対象となる仮想マシンを設定する。
具体的には、対象となる仮想マシンのビットが「1」に設定されている場合には、当該対象となる仮想マシンは、カウンタチャネルCCHに対応する情報にアクセスすることが可能である。具体的には、カウント対象設定情報CCFGおよびカウント付加設定情報CNDの内容を変更することも可能である。一方、対象となる仮想マシンのビットが「0」に設定されている場合には、当該対象となる仮想マシンは、カウンタチャネルCCHに対応する情報にアクセスすることができない。
図10は、実施形態1に基づくアクセス許可判定部25で用いられる仮想マシン情報について説明する図である。
図10を参照して、仮想マシン情報は、仮想マシン管理データVMDと、仮想マシン識別データVMIDとを有する。図4で説明したのと同様である。
仮想マシン管理データVMDは、仮想マシンモニタVMMと通常の仮想マシンVMとを識別する。具体的には、仮想マシン管理データVMDが「0」の場合には、仮想マシンモニタVMMであることを示す。一方、仮想マシン管理データVMDが「1」の場合には、通常の仮想マシンVMであることを示す。通常の仮想マシンVMは、仮想マシン識別データVMIDによりそれぞれの仮想マシンVMを識別することが可能である。
本例においては、仮想マシンVM0は、仮想マシン管理データVMDが「1」、仮想マシン識別データVMIDが「0」に割り当てられている。仮想マシンVM1は、仮想マシン管理データVMDが「1」、仮想マシン識別データVMIDが「1」に割り当てられている。仮想マシンVM2は、仮想マシン管理データVMDが「1」、仮想マシン識別データVMIDが「2」に割り当てられている。仮想マシンVM3は、仮想マシン管理データVMDが「1」、仮想マシン識別データVMIDが「3」に割り当てられている。
当該仮想マシン情報に基づいて各仮想マシンVM,VMMを識別することが可能である。
図11は、実施形態1に基づくアクセス許可判定部25の構成について説明する図である。
図11を参照して、アクセス許可判定部25は、アドレスデコード回路26と、カウンタアクセス要求生成部27と、セレクタ28とを含む。
アドレスデコード回路26は、アクセス要求AQを受け付けてデコード処理する。
アドレスデコード回路26は、アクセス要求AQに含まれるアドレス信号に基づいてカウンタチャネル番号を抽出する。
また、カウンタアクセス要求生成部27は、アクセス要求AQを出力した仮想マシンに関する仮想マシン情報の入力をさらに受け付ける。仮想マシン情報は、仮想マシン管理データVMDと、仮想マシン識別データVMIDとを有する。
アドレスデコード回路26は、入力されたアドレス信号に基づいてカウンタチャネル番号CCHxと、選択信号SEL_ACFGを生成する。
アドレスデコード回路26は、選択信号SEL_ACFGをカウンタアクセス要求生成部27に出力する。
カウンタアクセス要求生成部27は、仮想マシン管理データVMDと、仮想マシン識別データVMIDとに基づいて仮想マシンを識別する。
そして、識別された仮想マシンに関して、アクセス対象設定情報ACFGにおいて対象となる仮想マシンのビットが「1」に設定されているか否かを判定する。
カウンタアクセス要求生成部27は、判定結果をカウンタアクセス要求信号CAQ(「1」)としてカウンタ部30に出力する。
カウンタ部30は、カウンタアクセス要求信号CAQに従って回数CNTを出力する。具体的には、アクセスした仮想マシンに対して回数CNTをデータバス15を介して出力する。
また、カウンタアクセス要求生成部27は、アクセス対象設定情報ACFGに従って、アクセス対象設定情報ACFGに対するアクセス許可信号APを許可する。
アクセス許可信号AP(「1」)が設定された場合には、アクセス対象設定情報ACFGのデータを編集することが可能である。
図12は、実施形態1に基づくカウンタアクセス要求生成部27の構成について説明する図である。
図12(A)を参照して、カウンタアクセス要求生成部27は、仮想アクセスマシン情報判定部27Aを含む。
仮想アクセスマシン情報判定部27Aは、仮想マシン管理データVMDおよび仮想マシン識別データVMIDに基づいてアクセスする仮想マシンを識別する。
仮想アクセスマシン情報判定部27Aは、仮想マシン管理データVMDおよび仮想マシン識別データVMIDに基づいてアクセスしてきた仮想マシン情報の判定結果を「1」に設定する。
図12(B)は、カウンタアクセス要求生成部27は、アクセス判定部27Bをさらに含む。
アクセス判定部27Bは、複数のAND回路AD8〜AD14と、OR回路OR3とをさらに含む。
複数のAND回路AD9〜AD13は、仮想アクセスマシン情報判定部27Aの判定結果と、アクセス対象設定情報ACFGの各ビットとのAND論理演算結果を出力する。具体的には、仮想アクセスマシン情報判定部27Aは、仮想マシン管理データVMDおよび仮想マシン識別データVMIDに基づいてアクセスする仮想マシン情報の判定結果を「1」に設定する。AND回路ADは、アクセス対象設定情報ACFGの各ビットのうち「1」が設定され、アクセスする仮想マシン情報の判定結果が「1」の場合にはOR回路OR3に「1」を出力する。
AND回路AD14は、OR回路OR3の出力信号と、カウンタアクセス要求コマンドIAQとのAND論理演算結果をカウンタアクセス要求信号CAQとして出力する。
カウンタ部30は、カウンタアクセス要求信号CAQに従って回数CNTを出力する。
AND回路AD8は、アクセス対象設定情報ACFGに格納されている仮想マシンモニタ(VMM)に対応して設けられているビット信号と、選択信号SEL_ACFGとのAND論理演算結果をアクセス対象設定情報ACFGに対するアクセス許可信号APとして出力する。
アクセス許可信号APが「1」に設定される場合には、アクセス対象設定情報ACFGにアクセスすることが可能である。一方、アクセス許可信号APが「0」に設定される場合には、アクセス対象設定情報ACFGにアクセスすることはできない。
(具体例)
図13は、実施形態1に基づくアクセス処理の具体例について説明する図である。
図13(A)を参照して、カウンタ部30およびカウント条件設定部35の一例が示されている。
具体的には、カウンタ部30には、カウンタチャネルCCH0,CCH1が設定されている。カウンタチャネルCCH0に対応するアクセス設定情報ACFGは仮想マシンVM0のみが「1」に設定されている。カウンタチャネルCCH1に対応するアクセス設定情報ACFGは仮想マシンモニタVMMおよび仮想マシンVM1のみが「1」に設定されている。
図13(C)を参照して、図13(A)で説明したアクセス設定情報に従うアクセス処理について説明する。
ここでは、仮想マシンモニタVMMおよび仮想マシンVM0,VM1がアクセスする場合について説明する。
仮想マシンモニタVMMについて説明する。
カウンタチャネルCCH0に対して、仮想マシンモニタVMMからのアクセスであるためアクセス許可信号APが「1」に設定される。したがって、アクセス設定情報ACFGに対するアクセスは許可される。一方、アクセス設定情報ACFG以外に対してはアクセスは許可されない。
カウンタチャネルCCH1に対して、仮想マシンモニタVMMからのアクセスであるためアクセス許可信号APが「1」に設定される。したがって、アクセス設定情報ACFGに対するアクセスは許可される。一方、アクセス設定情報ACFGに仮想マシンモニタVMM自身のアクセス許可が設定されるためアクセス設定情報ACFGに対してもアクセスは許可されない。
仮想マシンVM0について説明する。
カウンタチャネルCCH0に対して、仮想マシンVM0からのアクセスであるためカウンタアクセス要求信号CAQが「1」に設定される。したがって、カウンタアクセス要求信号(「1」)に従ってカウンタ部30に対するアクセスは許可される。一方、アクセス設定情報ACFGに対してはアクセスは許可されない。
カウンタチャネルCCH1に対して、仮想マシンVM0からのアクセスであるためカウンタアクセス要求信号CAQは「0」に設定される。したがって、カウンタ部30に対するアクセスは許可されない。また、アクセス設定情報ACFGに対してもアクセスは許可されない。
仮想マシンVM1について説明する。
カウンタチャネルCCH0に対して、仮想マシンVM1からのアクセスであるためカウンタアクセス要求信号CAQが「0」に設定される。したがって、カウンタ部30に対するアクセスは許可されない。また、アクセス設定情報ACFGに対してもアクセスは許可されない。
カウンタチャネルCCH1に対して、仮想マシンVM1からのアクセスであるためカウンタアクセス要求信号CAQは「1」に設定される。したがって、カウンタ部30に対するアクセスは許可される。一方、アクセス設定情報ACFGに対してはアクセスは許可されない。
当該方式により、アクセス設定情報ACFGを設定することにより、仮想マシン毎に当該情報に対するアクセス制御を実行することが可能である。また、当該アクセス設定情報ACFGを読み出してアクセスが可能か否かを判断するのではなく、アクセス許可判定部25で判定処理する方式であるためアクセスが可能な否かの判断処理を高速に実行することが可能である。
実施形態1に従う方式により仮想マシンモニタVMMは、カウント処理を実行するための割り込み処理を実行する必要が無く、仮想マシンVMに対して割り込み処理が実行された際に並列的にカウント処理が実行される。
したがって、割り込み処理性能を犠牲にすることなく、各仮想マシンVMの特定のチャネルや優先度の割込み処理の回数を適切に監視することが可能である。
たとえば、過剰に割り込み要求が発生している仮想マシンVMを異常状態と判断して終了するなどのセーフティメカニズムを実現することも可能である。
また、自由にカウント対象とする仮想マシンVMを設定することが可能である。したがって、必ずしも仮想マシンVM毎にカウンタを設ける必要はなく、仮想マシンVM毎にカウンタを持つ場合に比べ、無駄なハードウェア資源が発生しないという利点もある。
また、カウンタ部へのアクセスを制限する機能を有する。仮想マシンモニタVMMに限定することにより、異常状態に陥った仮想マシンVMの影響をうけることなく、割り込み発生回数のカウントを適切に実行することが可能である。
また、特定の仮想マシンVMに対してアクセス許可設定を行うことで、仮想マシンVMが自身の割り込み回数を監視するようなセーフティメカニズムを実現することも可能となり柔軟な処理が可能となる。
(実施形態2)
図14は、実施形態2に基づくデータ処理装置1#およびその周辺回路を説明する図である。
図14を参照して、データ処理装置1#は、データ処理装置1と比較して割込制御部20を割込制御部20#に置換した点が異なる。その他の構成については実施形態1の図2で説明したのと同様であるのでその詳細な説明については繰り返さない。
割込制御部20#は、割込制御部20と比較して、カウント条件設定部35をカウント条件設定部35#に置換し、割込み情報格納部65を割込み情報格納部65#に置換し、付加条件判定部50を付加条件判定部50#に置換した点が異なる。その他の構成については同様であるのでその詳細な説明については繰り返さない。
カウント条件設定部35#は、カウント条件設定部35と比較して、カウント付加設定情報CND#の構成が異なる。
カウント付加設定情報CND#は、複数ビットのデータで構成される。具体的には、カウント付加設定情報CND#は、チャネル指定データCHEおよびチャネル番号CHNUMの代わりにチャネル識別指定データCIEおよびチャネル識別番号IDNUMが設けられている点が異なる。優先指定データPREと、優先番号PRENUMとについては、上記で説明したのと同様である。
チャネル識別指定データCIEは、カウント条件としてチャネル識別番号を含めるか否かを指定するデータである。例えば、チャネル識別指定データCIEが「0」に設定されている場合には、カウント条件としてチャネル識別番号を含めないことを示す。チャネル識別指定データCIEが「1」に設定されている場合には、カウント条件としてチャネル番識別号を含めることを示す。
チャネル識別番号IDNUMは、カウント条件としてチャネル識別番号を含める場合(チャネル識別指定データCIE(「1」))に、カウント条件となるチャネル識別番号を指定するビットである。例えば、チャネル識別番号IDNUMが「0」に設定されている場合には、カウント条件としてチャネル識別番号「0」が指定されていることを示す。チャネル識別番号IDNUMが「10」に設定されている場合には、カウント条件としてチャネル識別番号「10」が指定されていることを示す。
本例においては、異なるチャネルCHに対しても同じチャネル識別番号を割り当てることにより同じグループとしてカウント処理することが可能である。
割込み情報格納部65#は、割込み情報格納部65と比較して、チャネル識別番号CIDがさらに関連付けられている場合が示されている。
具体的には、各チャネルCHに対応してチャネル識別番号CIDが割り当てられている。
図15は、実施形態2に基づく付加条件判定部50#の構成を説明する図である。
図15を参照して、図6の構成と比較して入力するデータが異なる。
具体的には、チャネル指定データCHEの代わりにチャネル識別指定データCIEが入力される。また、チャネル番号CHNUMの代わりにチャネル識別番号IDNUMが入力される。また、チャネルCHの代わりにチャネル識別番号CIDが入力される。
比較回路GT0は、指定されたチャネル識別番号IDNUMと、割込み情報格納部65#から出力されたチャネル識別番号CIDのデータとを比較し、一致するか否かを判断する。
比較回路GT0は、割込み情報格納部65から出力されたチャネル識別番号CIDのデータが指定されたチャネル識別番号IDNUMと一致すると判断した場合に、「1」を出力する。一致しないと判断した場合には、「0」を出力する。
AND回路AD5は、比較回路GT0が「1」を出力し、チャネル識別指定データCIEが「1」である場合に、AND論理演算結果(「1」)を出力する。
それ以外の場合には、AND論理演算結果(「0」)を出力する。
OR回路OR1は、AND回路AD5からの出力信号と、チャネル識別指定データCIEの反転データとを受けて、OR論理演算結果をAND回路AD7に出力する。
他の構成については図6で説明したのと同様であるのでその詳細な説明については繰り返さない。
付加条件判定部50#は、チャネル識別番号IDNUMと、割込み情報格納部65#から出力されたチャネル識別番号CIDとを比較し、比較結果に基づいて一致信号Chitを出力する。
したがって、チャネルCHは異なる場合であっても、チャネル識別番号CIDを共通の値にしておけば同じグループとしてカウント処理することが可能となる。
(具体例)
図16は、実施形態2に基づくカウント処理の具体例について説明する図である。
図16(A)を参照して、割込み情報格納部65#の一例が示されている。
具体的には、チャネルCH0,CH10,CH11,CH20,CH21に対応する割込み情報を受け付けた場合が示されている。
ここで、チャネルCH0に対応する仮想マシン管理データVMDは「0」、仮想マシン識別データVMIDは「0」が設定されている。チャネル識別番号CIDは、「0」に設定されている。
チャネルCH10に対応する仮想マシン管理データVMDは「1」、仮想マシン識別データVMIDは「0」が設定されている。チャネル識別番号CIDは、「0」に設定されている。
チャネルCH11に対応する仮想マシン管理データVMDは「1」、仮想マシン識別データVMIDは「0」が設定されている。チャネル識別番号CIDは、「1」に設定されている。
チャネルCH20に対応する仮想マシン管理データVMDは「1」、仮想マシン識別データVMIDは「0」が設定されている。チャネル識別番号CIDは、「2」に設定されている。
チャネルCH21に対応する仮想マシン管理データVMDは「1」、仮想マシン識別データVMIDは「0」が設定されている。チャネル識別番号CIDは、「2」に設定されている。
図16(B)を参照して、カウント条件設定部35#の一例が示されている。
具体的には、カウンタ部30には、カウンタチャネルCCH0〜CCH2が設定されている。
カウンタチャネルCCH0に対応するカウント対象設定情報CCFGは仮想マシンVM0のみが「1」に設定されている。カウント付加設定情報CND#のチャネル識別指定データCIEは「0」が設定されている。
カウンタチャネルCCH1に対応するカウント対象設定情報CCFGは仮想マシンVM0のみが「1」に設定されている。カウント付加設定情報CND#のチャネル識別指定データCIEは「1」が設定されている。チャネル識別番号IDNUMは、「1」が設定されている。
カウンタチャネルCCH2に対応するカウント対象設定情報CCFGは仮想マシンVM0のみが「1」に設定されている。カウント付加設定情報CND#のチャネル識別指定データCIEは「1」が設定されている。チャネル識別番号IDNUMは、「2」が設定されている。
図16(C)を参照して、図16(A)で説明した割込み情報格納部65に対してカウンタチャネルCCHxのカウント処理について説明する図である。
チャネルCH0に対応する割込み処理について説明する。
カウンタチャネルCCH0に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「0」)をカウント指示部55に出力する。カウント指示部55は、カウンタチャネルCCH0のカウント指示信号を出力しない。これに伴いカウンタチャネルCCH0の回数CNTは更新されない。
カウンタチャネルCCH1に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「0」)をカウント指示部55に出力する。また、カウンタチャネルCCH2に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「0」)をカウント指示部55に出力する。
これに伴い、カウンタチャネルCCH1,CCH2の回数CNTは更新されない。
次に、チャネルCH10に対応する割込み処理について説明する。
カウンタチャネルCCH0に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。付加条件判定部50は、一致信号Chit(「1」)をカウント指示部55に出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50の一致信号Chit(「1」)に基づいてカウンタチャネルCCH0のカウント指示信号を出力する。これに伴いカウンタチャネルCCH0の回数CNTが更新される。
カウンタチャネルCCH1に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「0」)をカウント指示部55に出力する。
また、カウンタチャネルCCH2に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「0」)をカウント指示部55に出力する。
これに伴い、カウンタチャネルCCH1,CCH2の回数CNTは更新されない。
次に、チャネルCH10に対応する割込み処理について説明する。
カウンタチャネルCCH0に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。付加条件判定部50は、一致信号Chit(「1」)をカウント指示部55に出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50の一致信号Chit(「1」)に基づいてカウンタチャネルCCH0のカウント指示信号を出力する。これに伴いカウンタチャネルCCH0の回数CNTが更新される。
カウンタチャネルCCH1に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「0」)をカウント指示部55に出力する。
また、カウンタチャネルCCH2に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「0」)をカウント指示部55に出力する。
これに伴い、カウンタチャネルCCH1,CCH2の回数CNTは更新されない。
次に、チャネルCH11に対応する割込み処理について説明する。
カウンタチャネルCCH0に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。付加条件判定部50は、一致信号Chit(「1」)をカウント指示部55に出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50の一致信号Chit(「1」)に基づいてカウンタチャネルCCH0のカウント指示信号を出力する。これに伴いカウンタチャネルCCH0の回数CNTが更新される。
カウンタチャネルCCH1に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。
付加条件判定部50#は、チャンネル識別番号IDNUM(「1」)と、チャンネル識別番号CID(「1」)とを比較し、一致信号Chit(「1」)を出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50#の一致信号Chit(「1」)に基づいてカウンタチャネルCCH1のカウント指示信号を出力する。これに伴いカウンタチャネルCCH1の回数CNTが更新される。
カウンタチャネルCCH2に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「0」)をカウント指示部55に出力する。
これに伴い、カウンタチャネルCCH2の回数CNTは更新されない。
次に、チャネルCH20に対応する割込み処理について説明する。
カウンタチャネルCCH0に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。付加条件判定部50は、一致信号Chit(「1」)をカウント指示部55に出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50の一致信号Chit(「1」)に基づいてカウンタチャネルCCH0のカウント指示信号を出力する。これに伴いカウンタチャネルCCH0の回数CNTが更新される。
カウンタチャネルCCH1に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「0」)をカウント指示部55に出力する。
これに伴い、カウンタチャネルCCH1の回数CNTは更新されない。
カウンタチャネルCCH2に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「0」)をカウント指示部55に出力する。
付加条件判定部50#は、チャンネル識別番号IDNUM(「2」)と、チャンネル識別番号CID(「2」)とを比較し、一致信号Chit(「1」)を出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50#の一致信号Chit(「1」)に基づいてカウンタチャネルCCH2のカウント指示信号を出力する。これに伴いカウンタチャネルCCH2の回数CNTが更新される。
次に、チャネルCH21に対応する割込み処理について説明する。
カウンタチャネルCCH0に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「1」)をカウント指示部55に出力する。付加条件判定部50は、一致信号Chit(「1」)をカウント指示部55に出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50の一致信号Chit(「1」)に基づいてカウンタチャネルCCH0のカウント指示信号を出力する。これに伴いカウンタチャネルCCH0の回数CNTが更新される。
カウンタチャネルCCH1に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「0」)をカウント指示部55に出力する。
これに伴い、カウンタチャネルCCH1の回数CNTは更新されない。
カウンタチャネルCCH2に対応して設けられるカウンタ制御部40は、VM一致判定部45において、一致信号Vhit(「0」)をカウント指示部55に出力する。
付加条件判定部50#は、チャンネル識別番号IDNUM(「2」)と、チャンネル識別番号CID(「2」)とを比較し、一致信号Chit(「1」)を出力する。カウント指示部55は、VM一致判定部45の一致信号Vhit(「1」)および付加条件判定部50#の一致信号Chit(「1」)に基づいてカウンタチャネルCCH2のカウント指示信号を出力する。これに伴いカウンタチャネルCCH2の回数CNTが更新される。
当該方式により、チャネルCHが異なる場合であってもチャネル識別番号を設定することにより共通のグループとしてカウント処理することが可能である。これにより、セーフティー上カウントしたいチャネルCHが複数ある場合でもグループ化することによりカウンタ数を削減することが可能である。
また、セーフティレベル毎にチャネル識別番号CIDを設定することで、監視したいチャネルをいくつかのセーフティレベルに分ける対応も可能である。
(実施形態3)
図17は、実施形態3に基づくデータ処理装置1Pおよびその周辺回路を説明する図である。
図17を参照して、データ処理装置1Pは、データ処理装置1と比較してカウント条件設定部35をカウント条件設定部35Pに置換し、通知部70をさらに設けた点が異なる。その他の構成については実施形態1の図2で説明したのと同様であるのでその詳細な説明については繰り返さない。
カウント条件設定部35Pは、カウント条件設定部35と比較して、回数CNTに対して例外通知するための条件OVCNDが設定されている。
条件OVCNDは、一例として例外通知するための回数CNTの閾値が設定されている。
通知部70は、カウンタチャネルCCHに対応してカウントする回数CNTと、条件OVCNDとの情報に基づいてCPU5に例外通知信号を出力する。
例えば、通知部70は、回数CNTと条件OVCNDに設定されている閾値とを比較し、回数CNTが条件OVCNDの閾値に到達した場合に、CPU5に例外通知信号を出力する。
CPU5は、例外通知信号を受信してたとえばエラーとして認識する。
例えば、仮想マシンモニタVMMに制御を切り替えて、エラー処理を実行することが可能である。
通知機能が無い場合には、仮想マシンモニタVMMに制御が切り替わった後にエラー処理を実行することが可能であるが本実施形態3に従う構成により、エラーが有った場合には即座に仮想マシンモニタVMMに制御を切り替えてエラー処理することが可能であるためセーフティレベルを向上させることが可能である。
なお、条件OVCNDは、例外通知する閾値に限られず他の情報を含んでいてもよい。
たとえば、条件OVCNDは、オーバーフローの判定対象とするビット位置を指し示す情報であっても良い。例えば、閾値を「32」とする場合に6ビットを判定対象として指定する。6ビット目が「0」から「1」に変化した場合には、オーバーフローと判定し、CPU5に例外通知信号を出力するようにしてもよい。
あるいは、条件OVCNDは、回数CNTがオーバーフローした場合にセットされるビットを示しても良い。
あるいは、条件OVCNDに、上限値あるいは下限値の閾値の範囲を設定するようにしてもよい。例えば、下限値「80」と、上限値「120」を設定する。
通知部70は、回数CNTが当該範囲に含まれる場合には、例外通知信号を出力しない。一方、通知部70は、回数CNTが当該範囲に含まれない場合には、例外通知信号を出力する。
なお、本例においては、一例としてカウント指示信号に従って回数CNTをインクリメントする場合について説明したが、特にこれに限られずデクリメントして回数CNTを減算する方式を採用しても良い。また、これらを組み合わせて回数CNTを加減算する方式を採用するようにしても良い。
以上、本開示を実施形態に基づき具体的に説明したが、本開示は、実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
1,1P データ処理装置、10 メモリ、15 データバス、20 割込制御部、25 アクセス許可判定部、26 アドレスデコード回路、27 カウンタアクセス要求生成部、27A 仮想アクセスマシン情報判定部、27B アクセス判定部、28 セレクタ、30 カウンタ部、35,35P カウント条件設定部、40 カウンタ制御部、45 VM一致判定部、46 仮想マシン情報判定部、50 付加条件判定部、55 カウント指示部、60 割込み確定部、65 割込み情報格納部、70 通知部、200 車両、210 センサ、220 カメラ。

Claims (13)

  1. 複数の仮想マシンをそれぞれ実行する演算部と、
    前記複数の仮想マシンのうちの少なくとも1つを指定する仮想マシン情報と共に割り込み処理の実行を前記演算部に指示する割込制御部とを備え、
    前記割込制御部は、前記仮想マシン情報に基づいて、仮想マシン毎に割り込み回数をカウントするカウンタを含み、
    前記割込制御部は、前記複数の仮想マシンを管理する仮想マシンマネージャを指定する前記仮想マシン情報とともに割り込み処理の実行を前記演算部をさらに指示し、
    前記カウンタは、前記仮想マシン情報に基づいて、前記仮想マシンおよび前記仮想マシンマネージャ毎に割り込み回数をカウントする、データ処理装置。
  2. 前記割込制御部は、前記割り込み処理の要求を受け付けるための複数の割込チャネルを有し、
    前記割込制御部は、前記複数の割込チャネルのうちの少なくとも1つを指定する割込チャネル情報を前記演算部に出力し、
    前記カウンタは、前記仮想マシン情報と前記割込チャネル情報とに基づいて、前記仮想マシン毎に割り込み回数をカウントする、請求項1に記載のデータ処理装置。
  3. 複数の仮想マシンをそれぞれ実行する演算部と、
    前記複数の仮想マシンのうちの少なくとも1つを指定する仮想マシン情報と共に割り込み処理の実行を前記演算部に指示する割込制御部とを備え、
    前記割込制御部は、前記仮想マシン情報に基づいて、仮想マシン毎に割り込み回数をカウントするカウンタを含み、
    前記割込制御部は、
    前記カウンタによるカウント条件を設定するためのカウント条件設定部と、
    前記カウント条件設定部で設定されたカウント条件に基づいて前記仮想マシン毎に割込み回数をカウントする前記カウンタを制御するカウンタ制御部とをさらに含む、データ処理装置。
  4. 前記割込制御部は、前記演算部の状態に基づいて前記カウンタ制御部に対して動作の実行を指示する割込確定部をさらに含む、請求項3記載のデータ処理装置。
  5. 前記カウンタ制御部は、
    前記割り込み処理する仮想マシンの情報を受け付けて、前記カウント条件を満たすか否かを判定する判定部と、
    前記判定部の判定結果に基づいて前記カウンタにカウント指示するカウント指示部とを有する、請求項3記載のデータ処理装置。
  6. 前記判定部は、前記カウント条件設定部で設定されたカウント対象として設定されている仮想マシンの識別情報と、受け付けた前記仮想マシンの情報に含まれる前記割り込み処理する仮想マシンの識別情報とを比較し、
    前記カウント指示部は、比較結果に基づいて前記カウンタにカウント指示する、請求項5記載のデータ処理装置。
  7. 前記判定部は、前記カウント条件設定部で設定されたカウント対象として設定されているチャネル情報と、前記受け付けた前記仮想マシンの情報に対応付けられたチャネル情報とを比較し、
    前記カウント指示部は、比較結果に基づいて前記カウンタにカウント指示する、請求項記載のデータ処理装置。
  8. 前記判定部は、前記カウント条件設定部で設定されたカウント対象として設定されている優先度情報と、前記受け付けた前記仮想マシンの情報に対応付けられた優先度情報とを比較し、
    前記カウント指示部は、比較結果に基づいて前記カウンタにカウント指示する、請求項記載のデータ処理装置。
  9. 前記カウント条件設定部は、前記カウント条件に関する情報にアクセス可能な条件を示すアクセス条件をさらに含み、
    前記割込制御部は、
    前記アクセス条件に基づいて前記仮想マシンの実行による前記カウント条件に関する情報のアクセスを制御するアクセス許可判定部をさらに含む、請求項3記載のデータ処理装置。
  10. 前記判定部は、前記カウント条件設定部で設定されたカウント対象として設定されているチャネル識別情報と、前記受け付けた前記仮想マシンの情報に対応付けられたチャネル識別情報とを比較し、
    前記カウント指示部は、比較結果に基づいて前記カウンタにカウント指示する、請求項5記載のデータ処理装置。
  11. 前記割込制御部は、前記カウンタのカウント値に基づいて前記演算部に通知する通知部をさらに含む、請求項1〜10のいずれか1項に記載のデータ処理装置。
  12. 前記通知部は、前記カウンタのカウント値が所定値を示す仮想マシンを異常として前記演算部に通知する、請求項11記載のデータ処理装置。
  13. 前記割込制御部は、前記カウンタのカウント値に基づいて前記演算部に通知する通知部をさらに含み、
    前記カウント条件設定部は、前記カウンタのカウント値に基づいて前記演算部に通知する条件を示す通知条件をさらに含み、
    前記通知部は、前記カウンタのカウント値と前記通知条件とに基づいて前記演算部に通知する、請求項3記載のデータ処理装置。
JP2018096329A 2018-05-18 2018-05-18 データ処理装置 Active JP6974254B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018096329A JP6974254B2 (ja) 2018-05-18 2018-05-18 データ処理装置
US16/404,162 US11188373B2 (en) 2018-05-18 2019-05-06 Executing interrupt processing of virtual machines using processor's arithmetic unit
EP19175063.7A EP3570174A1 (en) 2018-05-18 2019-05-17 Data processing device
CN201910414057.9A CN110502388A (zh) 2018-05-18 2019-05-17 数据处理装置
US17/509,768 US11915032B2 (en) 2018-05-18 2021-10-25 Interrupt processing using virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018096329A JP6974254B2 (ja) 2018-05-18 2018-05-18 データ処理装置

Publications (3)

Publication Number Publication Date
JP2019200707A JP2019200707A (ja) 2019-11-21
JP2019200707A5 JP2019200707A5 (ja) 2020-10-22
JP6974254B2 true JP6974254B2 (ja) 2021-12-01

Family

ID=66589415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018096329A Active JP6974254B2 (ja) 2018-05-18 2018-05-18 データ処理装置

Country Status (4)

Country Link
US (2) US11188373B2 (ja)
EP (1) EP3570174A1 (ja)
JP (1) JP6974254B2 (ja)
CN (1) CN110502388A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11501295B2 (en) * 2019-07-24 2022-11-15 Advanced New Technologies Co., Ltd. Object distribution processing

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187178A (ja) 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
JPH06250850A (ja) 1993-02-26 1994-09-09 Hitachi Ltd 入出力割込み要因の処理方法
DE10063449B4 (de) 2000-12-20 2018-07-12 Robert Bosch Gmbh Steuergerät mit einer Konsistenzüberwachung von Interrupts und ein Verfahren zur Durchführung einer Konsistenzüberwachung von Interrupts bei einem Steuergerät
US7222203B2 (en) * 2003-12-08 2007-05-22 Intel Corporation Interrupt redirection for virtual partitioning
JP4756603B2 (ja) * 2006-10-10 2011-08-24 ルネサスエレクトロニクス株式会社 データプロセッサ
JP5223596B2 (ja) * 2008-10-30 2013-06-26 富士通株式会社 仮想計算機システム及びその管理方法、管理プログラム並びに記録媒体、制御方法
JP5352848B2 (ja) * 2008-11-28 2013-11-27 株式会社日立製作所 仮想計算機の制御方法及び計算機装置
US8234432B2 (en) * 2009-01-26 2012-07-31 Advanced Micro Devices, Inc. Memory structure to store interrupt state for inactive guests
JP2010271993A (ja) 2009-05-22 2010-12-02 Renesas Electronics Corp 割込み処理装置及び方法
WO2011072423A1 (en) 2009-12-17 2011-06-23 Intel Corporation Cooperated interrupt moderation for a virtualization environment
US8819680B2 (en) * 2010-06-25 2014-08-26 Panasonic Intellectual Property Corporation Of America Computer system for controlling the execution of virtual machines
JP5970461B2 (ja) * 2011-09-07 2016-08-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 仮想計算機制御装置、仮想計算機制御方法、仮想計算機制御プログラム、及び集積回路
US9436626B2 (en) * 2012-08-09 2016-09-06 Freescale Semiconductor, Inc. Processor interrupt interface with interrupt partitioning and virtualization enhancements
US10331589B2 (en) * 2013-02-13 2019-06-25 Red Hat Israel, Ltd. Storing interrupt location for fast interrupt register access in hypervisors
US9329880B2 (en) * 2013-02-13 2016-05-03 Red Hat Israel, Ltd. Counter for fast interrupt register access in hypervisors
JP6191686B2 (ja) * 2013-03-21 2017-09-06 富士通株式会社 情報処理装置、資源割当方法、及びプログラム
JP6337676B2 (ja) * 2014-07-29 2018-06-06 富士通株式会社 情報処理システム及び方法

Also Published As

Publication number Publication date
EP3570174A1 (en) 2019-11-20
US11188373B2 (en) 2021-11-30
US11915032B2 (en) 2024-02-27
CN110502388A (zh) 2019-11-26
JP2019200707A (ja) 2019-11-21
US20220043666A1 (en) 2022-02-10
US20190354393A1 (en) 2019-11-21

Similar Documents

Publication Publication Date Title
US3825902A (en) Interlevel communication in multilevel priority interrupt system
US9442870B2 (en) Interrupt priority management using partition-based priority blocking processor registers
US9436626B2 (en) Processor interrupt interface with interrupt partitioning and virtualization enhancements
US7174274B2 (en) Gathering I/O measurement data during an I/O operation process
EP0382505B1 (en) Virtual computer system having improved input/output interrupt control
US20180129619A1 (en) Virtualizing interrupt prioritization and delivery
ES2768277T3 (es) Función de interrupción de seguimiento de advertencias
US4494189A (en) Method and means for switching system control of CPUs
GB2517493A (en) Handling access attributes for data accesses
US20090271597A1 (en) Branch Prediction In A Computer Processor
CN112528345A (zh) 通信方法、装置、计算机可读存储介质和芯片
JP6974254B2 (ja) データ処理装置
US10545697B1 (en) Reverse order request queueing by para-virtual device drivers
US7139857B2 (en) Method and apparatus for handling interrupts
US9977730B2 (en) System and method for optimizing system memory and input/output operations memory
US11019061B2 (en) Protecting supervisor mode information
JP7569307B2 (ja) 例外原因イベントをハンドリングするための装置及び方法
US20210103464A1 (en) Data processing device and method for processing an interrupt
US11966743B2 (en) Reverse order queue updates by virtual devices
JP2019114097A (ja) 半導体装置
JP5236278B2 (ja) 非同期制御転送
EP3584707B1 (en) Data processing apparatus and memory protection method
JPH0271328A (ja) 分岐ヒストリーテーブル制御方式
JP2012141667A (ja) 割り込み制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200909

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211012

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211104

R150 Certificate of patent or registration of utility model

Ref document number: 6974254

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150