JP5195228B2 - 処理プログラム、処理装置及び処理方法 - Google Patents

処理プログラム、処理装置及び処理方法 Download PDF

Info

Publication number
JP5195228B2
JP5195228B2 JP2008247369A JP2008247369A JP5195228B2 JP 5195228 B2 JP5195228 B2 JP 5195228B2 JP 2008247369 A JP2008247369 A JP 2008247369A JP 2008247369 A JP2008247369 A JP 2008247369A JP 5195228 B2 JP5195228 B2 JP 5195228B2
Authority
JP
Japan
Prior art keywords
command
input
state value
value
output device
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.)
Expired - Fee Related
Application number
JP2008247369A
Other languages
English (en)
Other versions
JP2010079612A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008247369A priority Critical patent/JP5195228B2/ja
Priority to US12/493,951 priority patent/US20100082948A1/en
Publication of JP2010079612A publication Critical patent/JP2010079612A/ja
Application granted granted Critical
Publication of JP5195228B2 publication Critical patent/JP5195228B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • G06F9/3832Value prediction for operands; operand history buffers
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、入出力装置を制御するコマンドを読み込む技術に関する。
一般に、コンピュータにおいて、入出力装置との間の入出力操作をCPUから独立させて進行させるべく、主記憶装置及び入出力装置との間の情報転送を制御するチャネルが用いられる。チャネルでは、入出力装置に対する制御指示が記述されたCCW(チャネルコマンドワード:Channel Command Word)をメモリから読み出す。このCCWは、1語8バイトで構成され、入出力装置を制御するコマンドやCC(Chain-Command)フラグ等の各種の制御フラグ等を含むものである。そして、読みだしたCCWのコマンドを実行し、入出力装置に対して動作指示を行う。
また、CCWでは、各コマンドの実行結果として入出力装置から返される状態値に応じて、次に処理されるコマンドが変わる。具体例を挙げると、あるコマンドの実行結果の状態値が「0C」のときには、CCWに含まれるコマンドのうち1語進んだ先のコマンドを実行し、状態値が「4C」のときには、2語進んだ先のコマンドを実行する、という具合である。また、コマンドのなかには、入出力操作を行わせるもの以外に、任意の1語のコマンドを実行させるブランチ命令としての「TIC」等も存在する。
ここで、マルチプロセッサを実装するコンピュータ等においては、並列処理を効率的に行うべく、メモリからCCWを読み出すCCW読み出し部と、読みだしたCCWのコマンドを実行するCCW実行部と、が別々に構成されている場合がある。このような構成においては、CCW読み出し部及びCCW実行部の間の通信量を削減するべく、コマンドの先読みが行われる。先読みとは、CCW読み出し部において複数のコマンドを読み出し、読みだしたコマンドをまとめてCCW実行部に送信する一方、CCW実行部において、受信した複数のコマンドを1語ずつ順次実行するものである。
そして、この先読みにおいては、実際にコマンドを実行してその実行結果の状態値が入出力装置から返される前に、次に処理するコマンドを読み込んでおく必要がある。このため、全てのコマンドにおいて必ず特定の状態値が返されると仮定した上で、順次コマンドの先読みを行う。しかし、実際には、仮定した状態値とは異なる状態値が入出力装置から返されることがあり、先読みしたコマンドと、実際に入出力装置から返された状態値により次に実行すべきコマンドと、の間に不整合が生じることがある。上述の具体例においては、全てのコマンドの実行結果として入出力装置から返される状態値が「0C」であることを前提として順次コマンドを読み込んでも、実際には、状態値は「0C」とは限らず、「4C」が返されることもある。また、例えば、実行結果として入出力装置から返される状態値が「0C」であることを前提とし、次に先読みしたコマンドが「TIC」であった場合において、「TIC」が1つ前のコマンドを実行させるものであったときなどには、無限ループを引き起こすこともある。このため、CCWに先読み制御ビットを設け、入出力装置及びコマンドの種別に応じて、先読みするコマンドを制御する技術が提案されている。
特開昭63−245542号公報
しかしながら、このように入出力装置及びコマンドの種別に応じて先読みするコマンドを制御する場合であっても、実際にコマンドを実行してその実行結果の状態値が得られる前にコマンドを先読みしなければならないことには変わりはない。このため、入出力装置及びコマンドの種別ごとに、コマンドの実行結果の状態値を予測し、その予測した状態値が入出力装置から返されると仮定した上で、先読みするコマンドを制御する必要がある。しかし、入出力装置及びコマンドの種別が同じであっても、実際にコマンドを実行した結果、常に同じ状態値が返されるとは限らない。また、実際には予測した状態値よりも他の状態値のほうが頻繁に入出力装置から返されることもある。このような場合には、依然として、先読みしたコマンドと実際の入出力装置の状態値の相違により、次に実行すべきコマンドとの間に不整合が生じることが多くあった。
以上のような問題点に鑑み、実際のコマンドの実行結果の状態値を学習し、その学習結果に基づいて、コマンドの実行結果の状態値を予測して読み込みを行うことで、コマンドの読み込みにおける予測の精度を向上させ、不整合を回避することを目的とする。
複数のコマンドそれぞれに対して、コマンドの入力に応じて制御対象の入出力装置から返される状態値と状態値が入出力装置から返される確率の高さを示すパラメータとを対応付けて記憶した記憶部を参照する。そして、記憶部に記憶された情報に基づいて特定のコマンドの入力に応じて返される状態値を予測し、その予測された状態値に基づいて予測される、特定のコマンドのあとに実行されるコマンドを読み込む
コマンドの読み込みを行うときに、状態値が入出力装置から返される確率の高さを示すパラメータの値に基づいて、入力装置から返される状態値が予測され、その予測に基づいてコマンドの読み込みが行われる。このため、読み込んだコマンドと実際の入出力装置の状態値により次に実行すべきコマンドとの間の不整合を回避することができ、読み込み可能なコマンドの数が増加する。その結果、入出力装置制御を効率化することができる。
図1は、CCW先読み機構を具現化した装置の一例の全体構成を示す。この装置の各構成要素の機能は、少なくともCPU(Central Processing Unit)及び記憶手段を備えたコンピュータにおいて、CCW先読み処理プログラムをロードすることで実現される。そして、本装置は、図1に示すように、CCWプログラムが格納されたメモリ10,CCW読み出し部20,CCW実行部30を含んで構成され、さらに、入出力装置100と接続されている。この入出力装置100には、磁気ディスク等の外部記憶装置やプリンタ等、コンピュータとの間でデータの送受信を行う様々な装置が該当する。さらに、本装置は、結果予測表40,CPA(Channel Program Address)リスト50,入出力装置表60のテーブルを含む。また、CCW読み出し部20からCCW実行部30へとデータを送信するために、COB(Channel Operation Buffer)70のデータ構造(領域)を用いる。一方、CCW実行部30からCCW読み出し部20へとデータを送信するために、CIB(Channel Interruption Buffer)80のデータ構造を用いる。なお、図1では、入出力装置100が1つのみ接続されているように図示されているが、1つに限られない。
次に、本装置の各構成要素について説明する。
メモリ10には、上述のように、CCWプログラムが格納されている。
CCW読み出し部20は、少なくとも、メモリ10に格納されたCCWを読み出し、COB70に設定してCCW実行部30へ送信する。なお、CCW読み出し部20により、少なくとも、先読みステップ及び先読み手段の機能が実現される。そして、このCCW読み出し部20は、装置識別部20A,結果予測部20B及び結果学習部20Cを含んで構成される。
装置識別部20Aは、入出力装置表60を参照し、ユーザアプリケーション等(図示せず)から通知される、制御対象となる入出力装置100の機番に基づいて、入出力装置名を取得する。
結果予測部20Bは、結果予測表40のうち、入出力装置100に対応した表を参照し、コマンドごとに実行結果の状態値の予測値を取得する。なお、結果予測部20Bにより、予測ステップ及び予測手段の機能が実現される。
結果学習部20Cは、CCW実行部30から受信したCIB80に含まれる実行結果に基づき、結果予測表40のうち、入出力装置100に対応した表を更新する。なお、結果学習部20Cにより、第1の更新ステップ,第1の更新手段,第2の更新ステップ及び第3の更新ステップの機能が実現される。
CCW実行部30は、少なくとも、CCW読み出し部20により読み出されたコマンドを実行して入出力装置100を制御するとともに、入出力装置100から返される状態値を受信する。なお、CCW実行部30により、少なくとも、実行ステップ,実行手段,受信ステップ及び受信手段の機能が実現される。そして、このCCW実行部30は、結果比較部30A及び結果通知部30Bを含んで構成される。
結果比較部30Aは、先読みにおける状態値の予測値と、コマンドの実行結果として入出力装置から実際に返された状態値とを比較する。そして、両者が一致した場合には先読みにおける予測が成功したと判定する一方、両者が不一致の場合には、予測が失敗したと判定する。なお、結果比較部30Aにより、判定ステップ及び判定手段の機能が実現される。
結果通知部30Bは、先読みが成功したか否かの結果を含んだ情報をCIB80に設定し、CCW読み出し部20に送信する。
結果予測表40は、入出力装置ごとに各コマンドの状態値の予測値が設定されるものである。そして、図2に示すように、コマンド表として、コマンドと、コマンドの状態値の予測値と、各状態値が入出力装置100から返される確率の高さを示す予測決定点数(パラメータ)と、を含んで構成される。なお、コマンドの状態値の予測値には、予測決定点数が最も高い状態値が設定され、予測決定点数は、コマンドごとに各状態値の点数の合計が100になるように設定される。そして、この表は、接続された入出力装置100ごとに夫々対応させて登録されている。また、結果予測表40はさらに、入出力装置100ごとに、先読みするコマンドの最大数を示す有効最大数,先読みにおける予測の成功数及び失敗数を含んで構成される。
CPAリスト50は、先読みしたコマンドのアドレスを保持しておき、先読み予測が失敗したときなどに使用するためのものであり、図3に示すように、コマンド及びコマンドのアドレスを含んで構成される。
入出力装置表60は、接続された入出力装置の機番及び名称の対応表であり、図4に示すように、入出力装置の機番及び入出力装置名を含んで構成される。
COB70は、図5に示すように、CCW読み込み部20において先読みしたコマンドの数が格納されるPFC(Prefetch Count)を含む。このPFCの値が「0」であれば先読みが無効であることを示し、「1以上」であれば、先読みが有効であり、その値は先読みしたコマンドの数を示す(但し、先頭のコマンドを除く)。さらに、先読みされたコマンドが、先読みされた順に格納される。また、制御対象となる入出力装置の入出力装置名がさらに格納される。
CIB80は、図6に示すように、コマンドの実行結果として入出力装置で生成された状態値が格納されるDSF(Device Status Field)を含む。さらに、CIB80は、先読みにおける予測が成功したか失敗したかを判定するために使用されるRPC(Residual Prefetch Count)を含む。このRPCの値が「0」であれば、予測が成功したか、若しくは先読み処理自体が行われていないことを示す。また、「1以上」であれば、予測が失敗したことを示し、その値は、先読み予測が失敗したコマンド及び予測が失敗したことにより未処理のコマンドの数を示す。
≪本装置における処理内容の説明≫
次に、本装置における処理内容について、フローチャートを用いて説明する。
図7及び図8は、CCW読み出し部20における処理を示す。
ステップ1(図ではS1と略記する。以下同様)では、先読みを有効にする。具体的には、先読みを行うか否かの判定に用いる変数に、有効であることを示す値を設定する(prefetch_sts = valid)。
ステップ2では、COB70のPFCに0を設定する。
ステップ3では、装置識別部20Aにおいて実行される装置識別処理のサブルーチンを実行する。
ステップ4では、装置識別処理により識別された入出力装置名に対応する表が、結果予測表40に設定されているか否かを判定する。入出力装置名に対応する表が設定されていれば、ステップ5に進み(Yes)、入出力装置名に対応する表が設定されていなければ、ステップ6に進む(No)。
ステップ5では、先読み判定処理のサブルーチンを実行する。
ステップ6では、先読みを無効にする(prefetch_sts = invalid)。
ステップ7では、CCWのコマンドを1語フェッチ(読み込み)する。
ステップ8では、フェッチしたコマンド及びそのアドレスを、CPAリストに設定する。
ステップ9では、先読みが有効であるか否かを判定する(prefetch_sts == valid)。先読みが有効であれば、ステップ10に進み(Yes)、先読みが無効であれば、ステップ17に進む(No)。
ステップ10では、COB70のPFCが、結果予測表40に設定された、制御対象の入出力装置名に対応する有効最大数以上であるか否かを判定する。PFCが有効最大数以上であれば、ステップ17に進み(Yes)、PFCが有効最大数より小さければ、ステップ11に進む(No)。
ステップ11では、CCWのCCフラグが立っているか否かを判定する。CCフラグが立っていれば、ステップ12に進み(Yes)、CCフラグが立っていなければ、ステップ17に進む(No)。
ステップ12では、最後にフェッチしたコマンドのアドレスと、その直前にフェッチしたコマンドのアドレスと、が異なるか否かを判定する。両者が異なれば、ステップ13に進み(Yes)、両者が同一であれば、ステップ17に進む(No)。
ステップ13では、結果予測部20Bにおいて実行される結果予測処理のサブルーチンを実行する。
ステップ14では、結果予測処理により取得された、実行結果の状態値の予測値に基づいて、さらにコマンドを1語フェッチする。例えば、予測値が「0C」であれば1語進んだ先のコマンドをフェッチし、予測値が「4C」であれば2語進んだ先のコマンドをフェッチする。
ステップ15では、フェッチしたコマンド及びそのアドレスを、CPAリストに設定する。
ステップ16では、COB70のPFCをインクリメントする。
ステップ17では、CCW実行部30に対し、COB70を送信する。このとき、フェッチしたコマンドをCOB70に設定した上で送信する。
ステップ18では、CCW実行部30からCIB80を受信したか否かを判定する。CIB80を受信したときには、ステップ19に進み(Yes)、CIB80を受信していないときには待機する(No)。
ステップ19では、結果学習部20Cにおいて実行される結果学習処理のサブルーチンを実行する。
ステップ20では、CIB80のRPCが0であるか否かを判定する。RPCが0であれば、ステップ21に進み(Yes)、RPCが0でなければ、ステップ22に進む(No)。
ステップ21では、CCWのCCフラグが立っているか否かを判定する。CCフラグが立っていれば、ステップ7に戻り(Yes)、CCフラグが立っていなければ、処理を終了する(No)。
ステップ22では、COB70のPFCに0を設定する。
ステップ23では、先読み判定処理のサブルーチンを実行する。
図9は、先読み判定処理のサブルーチンの内容を示す。
ステップ31では、結果予測表40のうち、制御対象の入出力装置に対応する表において、成功数及び失敗数を取得する。
ステップ32では、失敗数が成功数より多いか否かを判定する。失敗数が成功数よりも多ければ、ステップ33に進み(Yes)、失敗数が成功数以下であれば、処理を終了する。
ステップ33では、先読みフラグを無効にする。
図10は、装置識別部20Aにおいて実行される装置識別処理のサブルーチンの内容を示す。
ステップ41では、入出力装置表60を参照し、制御対象となる入出力装置の機番に基づいて入出力装置名を取得する。
ステップ42では、COB70の入出力装置名に、取得した入出力装置名を設定する。
図11は、結果予測部20Bにおいて実行される結果予測処理のサブルーチンの内容を示す。
ステップ51では、結果予測表40を参照し、入出力装置名に対応する表を取得する。
ステップ52では、取得した結果予測表40から、最後にフェッチされたコマンドに対応する予測値を取得し、これを返す。
図12は、結果学習部20Cにおいて実行される結果学習処理のサブルーチンの内容を示す。
ステップ61では、制御対象の入出力装置に対応する表が、結果予測表40に設定されているか否かを判定する。入出力装置に対応する表が設定されていれば、ステップ62に進み(Yes)、入出力装置に対応する表が設定されていなければ、処理を終了する(No)。なお、以下、この処理においては、結果予測表40のうち、制御対象の入出力装置に対応する表を処理対象とすることを前提とする。
ステップ62では、CIB80のRPCが0か否かを判定する。RPCが0であれば、ステップ63に進み(Yes)、RPCが0でなければ、ステップ64に進む(No)。
ステップ63では、結果予測表40の成功数をインクリメントする。
ステップ64では、結果予測表40において、CCW実行部30により最後に実行されたコマンドの予測値として設定されている状態値に対応する予測決定点数をデクリメントする。なお、この最後に実行されたコマンドは、RPCの値により特定することが可能である。
ステップ65では、CIB80のDSFに実際に設定された状態値に対応する予測決定点数をインクリメントする。なお、ステップ64及び65の処理により、予測値として設定されている状態値に対応する予測決定点数から、CIB80のDSFに実際に設定された状態値に対応する予測決定点数へと、1点移動したこととなる。
ステップ66では、結果予測表40において、CCW実行部30により最後に実行されたコマンドにおける予測値及び予測決定点数が最大の状態値が異なっていれば、予測値を、予測決定点数が最大の状態値で更新する。なお、予測決定点数が同一の状態値が複数あるときには、予測決定点数が最後にインクリメントされた状態値を予測値とすればよい。
ステップ67では、結果予測表40の失敗数をインクリメントする。
図13は、CCW実行部30による処理を示す。
ステップ71では、CIB80のRPCに、COB70のPFCを設定する。
ステップ72では、CIB80に設定されたコマンドのうち次の順番のものを、実行対象のコマンドとして決定する。
ステップ73では、実行対象とされたコマンドを実行する。
ステップ74では、結果比較処理のサブルーチンを実行する。
ステップ75では、先読みの予測が成功したか否かを判定する。先読み予測が成功していれば、ステップ76に進み(Yes)、先読み予測が失敗していれば、ステップ79に進む(No)。
ステップ76では、CIB80のRPCが0であるか否かを判定する。RPCが0であれば、ステップ79に進み(Yes)、RPCが0でなければステップ77に進む(No)。
ステップ77では、CIB80に設定されたコマンドのうち次の順番のものを、実行対象のコマンドとして決定する。
ステップ78では、CIB80のRPCをデクリメントする。
ステップ79では、結果通知処理のサブルーチンを実行する。
図14は、結果比較部30Aにおいて実行される結果比較処理のサブルーチンの内容を示す。
ステップ81では、結果予測表40のうち、制御対象の入出力装置に対応する表において、最後に実行されたコマンドに対応する予測値を取得する。
ステップ82では、コマンドの実行結果として入出力装置から返された状態値が予測値と同一か否かを判定する。状態値が予測値と同一であれば、ステップ83に進み(Yes)、状態値が予測値と同一でなければ、ステップ74に進む(No)。
ステップ83では、先読みの予測が成功した情報を返す。
ステップ84では、先読みの予測が失敗した情報を返す。
図15は、結果通知部30Bにおいて実行される結果通知処理のサブルーチンの内容を示す。
ステップ91では、最後に実行されたコマンドの実行結果として入出力装置から返された状態値を、CIB80のDSFに格納する。
ステップ92では、COB70に設定されたコマンドのうち、先読み予測が失敗したコマンド及び予測が失敗したことにより未処理のコマンドの数をCIB80のRPCに格納する。
ステップ93では、CIB80をCCW読み出し部20に送信する。
かかる本装置のCCW先読み処理によれば、次のような作用及び効果がある。
即ち、本装置のCCW先読み処理におけるフロントエンド部として機能するCCW読み出し部20(装置識別部20A,結果予測部20B及び結果学習部20Cを含む)において、コマンドの先読みを行うときに、結果予測表40が参照される。そして、コマンドの実行結果の状態値のうち、予測決定点数が最も大きい状態値である予測値に基づいて、入出力装置から返される状態値が予測される。さらに、その予測に基づいてコマンドの先読みが行われる。また、その一方で、CCWプログラムの先読み処理機構のバックエンド部として機能するCCW実行部30(結果比較部30A及び結果通知部30Bを含む)において、先読みされたコマンドが実行され、実際に入出力装置から返された状態値がCCW読み出し部20に対しフィードバックされる。そして、CCW読み出し部20では、予測値と実際に入出力装置から返された状態値が一致しないときに、予測が失敗したものとして、結果予測表40の予測決定点数が更新される。さらに、結果予測表40において、受信した状態値に対応する予測決定点数のほうが予測値に設定された状態値に対応する予測決定点数よりも大きいときは、予測値を受信した状態値で更新される。
このように、結果予測表40では、実際に実行結果として入出力装置から返された状態値の内容が反映され、学習される。このため、コマンドの先読みにおいて、実際に実行結果として入出力装置から受信される確率の高い状態値を予測することが可能となり、予測の精度が向上する。そして、先読みしたコマンドと実際の入出力装置の状態値により次に実行すべきコマンドとの間の不整合を回避することができ、先読み可能なコマンドの数が増加する。その結果、CCW読み出し部20及びCCW実行部30の間の通信量を削減することができ、入出力装置制御を効率化することができる。
また、CCW読み込み部20の処理において、最後にフェッチしたコマンドのアドレスと、その直前にフェッチしたコマンドのアドレスと、が同一か否かを判定し、両者が同一であれば、直前にフェッチしたコマンドまでを先読み対象としている。これにより、例えば、ブランチ命令である「TIC」が存在し、その「TIC」が実行させるコマンドがその直前にフェッチしたコマンドである場合に、先読みによる無限ループを回避することができる。
さらに、結果予測表40では、制御対象となる入出力装置ごとに、成功数及び失敗数を含んでいる。そして、CCW読み出し部20では、制御対象の入出力装置において、この成功数が失敗数以上であるときにのみ、先読みを行うようにしている。また、CCW読み出し部20では、先読みされたコマンドの処理が全て終了したときには、成功数をインクリメントする一方、先読みが失敗したときには、失敗数をインクリメントする。こうすることで、コマンドの実行結果の状態値の予測が困難であって先読みに適さない入出力装置の場合には、先読みを行わずに制御をすることが可能である。
さらに、結果予測表40では、制御対象となる入出力装置ごとに、有効最大数を含んでいる。そして、CCW読み出し部20では、先読みするコマンドの数が有効最大数を超えない範囲内で先読みを行うようにしている。こうすることで、先読みしたコマンドがCOB70で確保可能なデータ領域を超えることによるエラーの発生を回避することができる。
なお、本装置では、結果予測表40が予測値を含んで構成されているが、予測決定点数を含んでいれば、予測値は含まなくてもよい。この場合には、CCW読み出し部20においてコマンドの実行結果の状態値を予測するときに、結果予測表40に設定された状態値の中から予測決定点数が最も大きい状態値を特定し、その状態値を予測値とすればよい。
次に、かかる本装置のCCW先読み処理について、先読み予測が成功する場合と失敗する場合とに分け、夫々具体例を示して説明する。
本具体例においては、成功する場合及び失敗する場合ともに、次のことを前提とする。
「接続装置:磁気ディスクZ
処理対象のCCWプログラム:07-1F-23-31-TIC-06-1E-1E」
なお、上記CCWプログラムのコマンドの処理内容は、以下の通りである。
07(シーク):読み書きヘッドを所定の位置に移動する。
1F(セットファイナルマスク):読み書きヘッドを指定シリンダに移動する。
23(セットセクタ):読み書きヘッドを指定セクタに移動する。
31(サーチID):読み書きヘッドから現位置のカウント領域と指定値とを比較する。その比較結果により状態値が変化する(一致:4C、不一致:0C)。
06(リードデータ部):読み書きヘッドからデータ領域を読み込む。
1E(リードカウント、キー、データ部):読み書きヘッドからカウント、キー、データ領域を読み込む。
TIC:任意の1語にブランチさせる命令である。
[A.先読み予測が成功する場合]
この場合では、結果予測表40のうち磁気ディスクZに対応する表が、図16に示す状態となっている。そして、図17は、先読み予測が成功する場合における処理シーケンスを示す。
まず、CCW読み出し部20では、結果予測表40のうち、磁気ディスクZに対応した表に設定された各コマンドの予測値に基づいて、コマンドを先読みする。その結果、コマンドは「07-1F-23-31-06-1E-1E」と先読みされてCOB70に設定される。また、COB70の入出力装置名に「磁気ディスクZ」が、PFCに「6」が夫々設定される。
(1) CCW読み取り部20は、COB70をCCW実行部30に送信する。
(2)−1 COB70を受信したCCW実行部30は、COB70に設定された先頭のコマンド[07]を実行する。
(2)−2 磁気ディスクZは、コマンド[07]の実行による制御に応じて読み書きヘッドを移動させ、状態値(0C)を返す。
(3)−1 CCW実行部30は、状態値(0C)と結果予測表40における予測値(0C)が一致するため、COB70に設定された次のコマンド[1F]を実行する。
(3)−2 磁気ディスクZは、コマンド[1F]の実行による制御に応じて読み書きヘッドを指定シリンダに移動させ、状態値(0C)を返す。
(4)−1 CCW実行部30は、状態値(0C)と結果予測表40における予測値(0C)が一致するため、COB70に設定された次のコマンド[23]を実行する。
(4)−2 磁気ディスクZは、コマンド[23]の実行による制御に応じて読み書きヘッドを指定セクタ領域に移動させ、状態値(0C)を返す。
(5)−1 CCW実行部30は、状態値(0C)と結果予測表40における予測値(0C)が一致するため、COB70に設定された次のコマンド[31]を実行する。
(5)−2 磁気ディスクZは、コマンド[31]の実行による制御に応じて、指定した値と読み書きヘッドからセクタのカウント領域の値を取得して両者が一致していることを確認し、状態値(4C)を返す。
(6)−1 CCW実行部30は、状態値(4C)と結果予測表40における予測値(4C)が一致するため、COB70に設定された次のコマンド[06]を実行する。
(6)−2 磁気ディスクZは、コマンド[06]の実行による制御に応じて、読み書きヘッドから指定セクタのデータ領域を読み出し、状態値(0C)を返す。
(7)−1 CCW実行部30は、状態値(0C)と結果予測表40における予測値(0C)が一致するため、COB70に設定された次のコマンド[1E]を実行する。
(7)−2 磁気ディスクZは、コマンド[1E]の実行による制御に応じて、読み書きヘッドから次のセクタのカウント、キー、データ領域を読み出し、状態値(0C)を返す。
(8)−1 CCW実行部30は、状態値(0C)と結果予測表40における予測値(0C)が一致するため、COB70に設定された次のコマンド[1E]を実行する。
(8)−2 磁気ディスクZは、コマンド[1E]の実行による制御に応じて、読み書きヘッドから次のセクタのカウント、キー、データ領域を読み出し、状態値(0C)を返す。
(9) CCW実行部30は、CIB80のDSFに、最後に実行したコマンド[1E]の実行結果としての状態値(0C)を、RPCに先読みが成功したことを示す「0」を設定し、CCW読み出し部20に対して送信する。一方、CCW読み出し部20は、CIB80のRPCの値「0」に基づいて、結果予測表40の成功数をインクリメントする。
そして、かかる処理が実行されることにより、磁気ディスクZに対応する結果予測表は、図18に示すように更新される。即ち、コマンド表のほうは特に更新されず、成功数のみがインクリメントされた結果となる。
[B.先読み予測が失敗する場合]
この場合では、結果予測表40のうち磁気ディスクZに対応する表が、図19に示す状態となっている。そして、図20は、先読み予測が失敗する場合における処理シーケンスを示す。
まず、CCW読み出し部20では、結果予測表40のうち、磁気ディスクZに対応した表に設定された各コマンドの予測値に基づいた順番でコマンドをフェッチする。ここで、結果予測表40において、コマンド[31]の予測値が(0C)であり、次の[TIC]が1つ前のアドレスのコマンドを指定するものであるため、最後にフェッチしたコマンドのアドレスとその直前にフェッチしたコマンドのアドレスが同一となる(ステップ12参照)。このため、コマンドのうち「07-1F-23-31」までが先読みされてCOB70に設定される。また、COB70の入出力装置名に「磁気ディスクZ」が、PFCに「3」が夫々設定される。
(1)〜(4)では、上記Aの先読みが成功した場合における(1)〜(4)と夫々同様に処理がなされるため、説明を省略する。
(5)−1 CCW実行部30は、(4)におけるコマンド[23]の実行結果の状態値(0C)と結果予測表40における予測値(0C)が一致するため、COB70に設定された次のコマンド[31]を実行する。
(5)−2 磁気ディスクZは、コマンド[31]の実行による制御に応じて、指定した値と読み書きヘッドからセクタのカウント領域の値を取得して両者が一致していることを確認し、状態値(4C)を返す。
(6) CCW実行部30は、状態値(4C)と結果予測表40における予測値(0C)が一致しないため、CIB80のDSFに、最後に実行したコマンド[31]の実行結果としての状態値(4C)を、RPCに「1」を設定し、CCW読み出し部20に対して送信する。
(7) CCW読み出し部20では、次の処理を行う。即ち、結果学習部20Cにおいて、RPCの値「1」に基づいて、予測が失敗したと判定し、結果予測表40のうち、磁気ディスクZに対応する表における、コマンド[31]の予測決定点数における状態値(0C)の点数をデクリメントする一方、状態値(4C)の点数をインクリメントする。また、コマンド[31]における予測決定点数が最大の状態値が(0C)から(4C)に変化するため、予測値を(4C)に更新する。さらに、結果予測表40の失敗数をインクリメントする。その結果、磁気ディスクZに対応する結果予測表は、図21に示すように更新される。
そして、CCW読み出し部20では、次のコマンド[06]から再度フェッチを開始し、磁気ディスクZに対応した表に設定された各コマンドの予測値に基づいた順番でコマンドをフェッチする。その結果、コマンドのうち「06-1E-1E」が先読みされてCOB70に設定される。さらに、COB70の入出力装置名に「磁気ディスクZ」が、PFCに「2」が夫々設定され、CCW実行部30に送信される。
(8)−1 COB70を受信したCCW実行部30は、COB70に設定された先頭のコマンド[06]を実行する。
(8)−1 磁気ディスクZは、コマンド[06]の実行による制御に応じて、読み書きヘッドから指定セクタのデータ領域を読み出し、状態値(0C)を返す。
(9)及び(10)では、上記Aの先読みが成功した場合における(7)及び(8)と夫々同様に処理がなされるため、説明を省略する。
(11) CCW実行部30は、CIB80のDSFに、最後に実行したコマンド[1E]の実行結果としての状態値(0C)を、RPCに先読みが成功したことを示す「0」を設定し、CCW読み出し部20に対して送信する。一方、CCW読み出し部20は、CIB80のRPCの値「0」に基づいて、結果予測表40の成功数をインクリメントする。
なお、本具体例において、CCWプログラムの途中に[TIC]が存在するために全く先読みを行わなかった場合、その処理シーケンスは、図22のようになる。この場合、CCWプログラムを構成するコマンドごとに、次の手順を繰り返す。即ち、CCW読み取り部20においてCCWプログラムのコマンドを1つフェッチしてCOB70に設定し、CCW実行部30に送信する。そして、CCW実行部30においてそのコマンドを実行し、実行結果として入出力装置から返された状態値をCIB80に設定してCCW読み取り部20に送信する。さらに、CCW読み取り部20では、その状態値に基づいて、さらに次のコマンドを1つフェッチする。
そして、このように先読みを行わずに1つずつフェッチ及び実行を繰り返した場合における図22の処理シーケンスと、上述の図17及び図20の処理シーケンスとを比較する。すると、図17及び図20の処理シーケンスのほうが、CCW読み出し部20及びCCW実行部30間における通信量が大幅に少ないことがわかる。このように、先読みの精度を向上させて先読みを行い、先読み予測と実際の状態値とが一致しないときにのみコマンドの再読み込みを行うことで、入出力装置100の制御におけるデータの受け渡しを大幅に削減することができ、効率的に入出力装置100の制御を行うことができる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1) CCWプログラムの制御対象となる入出力装置ごとに、CCWプログラムに含まれる各コマンドの実行結果として制御対象の入出力装置から返される各状態値について、入出力装置から返される確率の高さを示すパラメータが設定されたテーブルを参照し、そのパラメータに基づいて各コマンドの実行結果の状態値を予測する予測ステップと、前記予測ステップにより予測された各コマンドの実行結果の状態値に基づいて先読み対象のコマンドを決定し、メモリに格納されたCCWプログラムから、全ての先読み対象のコマンドを先読みする先読みステップと、前記先読みステップにより全ての先読み対象のコマンドの先読みが完了したときに、先読みされたコマンドを順次実行する実行ステップと、前記実行ステップによりコマンドが実行されるごとに、コマンドの実行結果としての状態値を制御対象の入出力装置から受信する受信ステップと、前記受信ステップにより状態値が受信されたときに、その受信された状態値と前記予測ステップにより予測された状態値とが同一か否かを判定する判定ステップと、前記判定ステップにより、前記受信された状態値と前記予測された状態値とが異なると判定されたときに、前記テーブルに設定された、前記受信された状態値に対応するパラメータの値を、前記予測された状態値に対応するパラメータの値に対して相対的に増加させるように更新する第1の更新ステップと、をコンピュータに実現させることを特徴とするCCW先読み処理プログラム。
(付記2) 前記テーブルには、CCWプログラムに含まれる各コマンドの実行結果として制御対象の入出力装置から返される各状態値のうちパラメータの値が最も大きい状態値が、入出力装置から返される確率の最も高い予測値としてコマンドごとにさらに設定されており、前記予測ステップは、各コマンドの前記予測値を参照し、その予測値を各コマンドの実行結果の状態値として予測することを特徴とする付記1記載のCCW先読み処理プログラム。
(付記3) 前記予測値として設定された状態値のパラメータの値よりも、前記受信された状態値のパラメータの値のほうが大きいときに、前記予測値を前記受信された状態値で更新する第2の更新ステップをさらに含むことを特徴とする付記2記載のCCW先読み処理プログラム。
(付記4) 前記先読みステップは、先読み対象のコマンドを決定するときに、CCWプログラムのコマンドの中に、他のコマンドにブランチさせるブランチ命令が含まれており、かつ、そのブランチ命令により実行されるコマンドとそのブランチ命令の直前に読み込まれるコマンドとが一致している場合には、そのブランチ命令の直前に読み込まれるコマンドまでを先読み対象のコマンドとして決定し、先読みを行うことを特徴とする付記1〜付記3のいずれか1つに記載のCCW先読み処理プログラム。
(付記5) 前記テーブルには、前記制御対象の入出力装置ごとに、先読みにおける予測が成功した回数を示す成功数及び先読みにおける予測が失敗した回数を示す失敗数がさらに設定されており、前記先読みステップは、成功数が失敗数以上であるときにのみ、先読みをすることを特徴とする付記1〜付記4のいずれか1つに記載のCCW先読み処理プログラム。
(付記6) 前記先読みステップにより先読みされたコマンドが前記実行ステップにより全て実行されたときに、成功数を加算する一方、前記判定ステップにより、受信された状態値と前記予測ステップにより予測された状態値とが異なると判定されたときに、失敗数を加算するように、成功数又は失敗数を更新する第3の更新ステップをさらに含むことを特徴とする付記5記載のCCW先読み処理プログラム。
(付記7) 前記テーブルには、前記制御対象の入出力装置ごとに、先読みをするコマンド数の上限としての有効最大数がさらに設定されており、前記先読みステップは、先読みするコマンド数が有効最大数を超えない範囲内で先読みをすることを特徴とする付記1〜付記6のいずれか1つに記載のCCW先読み処理プログラム。
(付記8) CCWプログラムの制御対象となる入出力装置ごとに、CCWプログラムに含まれる各コマンドの実行結果として制御対象の入出力装置から返される各状態値について、入出力装置から返される確率の高さを示すパラメータが設定されたテーブルを参照し、そのパラメータに基づいて各コマンドの実行結果の状態値を予測する予測手段と、前記予測手段により予測された各コマンドの実行結果の状態値に基づいて先読み対象のコマンドを決定し、メモリに格納されたCCWプログラムから、全ての先読み対象のコマンドを先読みする先読み手段と、前記先読み手段により全ての先読み対象のコマンドの先読みが完了したときに、先読みされたコマンドを順次実行する実行手段と、前記実行手段によりコマンドが実行されるごとに、コマンドの実行結果としての状態値を制御対象の入出力装置から受信する受信手段と、前記受信手段により状態値が受信されたときに、その受信された状態値と前記予測手段により予測された状態値とが同一か否かを判定する判定手段と、前記判定手段により、前記受信された状態値と前記予測された状態値とが異なると判定されたときに、前記テーブルに設定された、前記受信された状態値に対応するパラメータの値を、前記予測された状態値に対応するパラメータの値に対して相対的に増加させるように更新する第1の更新手段と、を含んで構成されたことを特徴とするCCW先読み処理装置。
CCW先読み機構を具現化した装置の一例の全体構成図 結果予測表の説明図 CPAリストの説明図 入出力装置表の説明図 COBの説明図 CIBの説明図 CCW読み出し部による処理のフローチャート(1) CCW読み出し部による処理のフローチャート(2) 先読み判定処理のフローチャート 装置識別処理のフローチャート 結果予測処理のフローチャート 結果学習処理のフローチャート CCW実行部による処理のフローチャート 結果比較処理のフローチャート 結果通知処理のフローチャート 先読み予測が成功する場合の具体例における処理前の結果予測表の説明図 先読み予測が成功する場合の具体例における処理シーケンスの説明図 先読み予測が成功する場合の具体例における処理後の結果予測表の説明図 先読み予測が失敗する場合の具体例における処理前の結果予測表の説明図 先読み予測が失敗する場合の具体例における処理シーケンスの説明図 先読み予測が失敗する場合の具体例における処理後の結果予測表の説明図 先読みを行わない場合における処理シーケンスの説明図
符号の説明
10 メモリ
20 CCW読み込み部
20A 装置識別部
20B 結果予測部
20C 結果学習部
30 CCW実行部
30A 結果比較部
30B 結果通知部
40 結果予測表
50 CPAリスト
60 入出力装置表
70 COB
80 CIB
100 入出力装置

Claims (9)

  1. 複数のコマンドそれぞれに対して、コマンドの入力に応じて制御対象の入出力装置から返される状態値と該状態値が前記入出力装置から返される確率の高さを示すパラメータとを対応付けて記憶した記憶部を参照し、前記記憶部に記憶された情報に基づいて特定のコマンドの入力に応じて返される状態値を予測する予測手段と、
    予測された前記状態値に基づいて予測される、前記特定のコマンドのあとに実行されるコマンドを読み込む読み込み手段と、
    コンピュータに実現させることを特徴とする処理プログラム
  2. 前記処理プログラムは、
    前記特定のコマンドの実行に応じて前記入出力装置から返された実行結果状態値と、予測された前記状態値と、が同一か否かを判定する判定手段と、
    前記判定手段による判定の結果に基づいて、前記記憶部に記憶された前記実行結果状態値に対応するパラメータの値を変更する第1の変更手段と、
    を前記コンピュータに実現させることを特徴とする請求項1記載の処理プログラム
  3. 前記第1の変更手段は、前記判定手段による判定の結果において、前記実行結果状態値と予測された前記状態値とが異なると判定された場合、前記記憶部に記憶された前記実行結果状態値に対応するパラメータの値を、予測された前記状態値に対応するパラメータの値に対して相対的に増加させるように変更することを特徴とする請求項2記載の処理プログラム
  4. 前記記憶部には、複数のコマンドの実行結果として制御対象の入出力装置から返される各状態値のうちパラメータの値が最も大きい状態値が、入出力装置から返される確率の最も高い予測値としてコマンドごとにさらに設定されており、
    前記予測手段は、特定のコマンドの前記予測値を参照し、その予測値を特定のコマンドの実行結果の状態値として予測することを特徴とする請求項1〜請求項3のいずれか1つに記載の処理プログラム
  5. 前記予測値として設定された状態値のパラメータの値よりも、前記読み込み手段により読み込まれたコマンドの実行結果として前記入出力装置から返された状態値のパラメータの値のほうが大きいときに、前記予測値を前記返された状態値で更新する第2の更新手段を、前記コンピュータに実現させることを特徴とする請求項4記載の処理プログラム
  6. 前記読み込み手段は、読み込み対象のコマンドを決定するときに、他のコマンドにブランチさせるブランチ命令が含まれており、かつ、そのブランチ命令により実行されるコマンドとそのブランチ命令の直前に読み込まれるコマンドとが一致している場合には、そのブランチ命令の直前に読み込まれるコマンドまでを読み込み対象のコマンドとして決定し、読み込みを行うことを特徴とする請求項1〜請求項5のいずれか1つに記載の処理プログラム。
  7. 前記記憶部には、前記制御対象の入出力装置ごとに、前記コマンドの読み込みにおける予測が成功した回数を示す成功数及び前記コマンドの読み込みにおける予測が失敗した回数を示す失敗数がさらに設定されており、
    前記読み込み手段は、成功数が失敗数以上であるときにのみ、コマンドの読み込みをすることを特徴とする請求項1〜請求項6のいずれか1つに記載の処理プログラム。
  8. 複数のコマンドそれぞれに対して、コマンドの入力に応じて制御対象の入出力装置から返される状態値と該状態値が前記入出力装置から返される確率の高さを示すパラメータとを対応付けて記憶した記憶部を参照し、前記記憶部に記憶された情報に基づいて特定のコマンドの入力に応じて返される状態値を予測する予測手段と、
    予測された前記状態値に基づいて予測される、前記特定のコマンドのあとに実行されるコマンドを読み込む読み込み手段と、
    を含んで構成されたことを特徴とする処理装置。
  9. コンピュータが、
    複数のコマンドそれぞれに対して、コマンドの入力に応じて制御対象の入出力装置から返される状態値と該状態値が前記入出力装置から返される確率の高さを示すパラメータとを対応付けて記憶した記憶部を参照し、
    前記記憶部に記憶された情報に基づいて特定のコマンドの入力に応じて返される状態値を予測し、
    予測された前記状態値に基づいて予測される、前記特定のコマンドのあとに実行されるコマンドを読み込む
    ことを特徴とする処理方法。
JP2008247369A 2008-09-26 2008-09-26 処理プログラム、処理装置及び処理方法 Expired - Fee Related JP5195228B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008247369A JP5195228B2 (ja) 2008-09-26 2008-09-26 処理プログラム、処理装置及び処理方法
US12/493,951 US20100082948A1 (en) 2008-09-26 2009-06-29 Channel command word pre-fetching apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008247369A JP5195228B2 (ja) 2008-09-26 2008-09-26 処理プログラム、処理装置及び処理方法

Publications (2)

Publication Number Publication Date
JP2010079612A JP2010079612A (ja) 2010-04-08
JP5195228B2 true JP5195228B2 (ja) 2013-05-08

Family

ID=42058858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008247369A Expired - Fee Related JP5195228B2 (ja) 2008-09-26 2008-09-26 処理プログラム、処理装置及び処理方法

Country Status (2)

Country Link
US (1) US20100082948A1 (ja)
JP (1) JP5195228B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101515430B1 (ko) 2012-10-24 2015-04-27 제일모직 주식회사 라미네이트 시트, 라미네이트 시트의 제조 방법, 상기 라미네이트 시트를 이용한 성형품 및 성형품의 제조 방법
US11573800B2 (en) * 2018-07-05 2023-02-07 Marvell Asia Pte, Ltd. Complex I/O value prediction for multiple values with physical or virtual addresses

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4276595A (en) * 1978-06-30 1981-06-30 International Business Machines Corporation Microinstruction storage units employing partial address generators
JPH0754469B2 (ja) * 1985-06-17 1995-06-07 株式会社日立製作所 仮想計算機システムのための入出力命令実行装置
JPS63245542A (ja) * 1987-03-31 1988-10-12 Toshiba Corp 入出力チヤネル
US5060142A (en) * 1988-05-20 1991-10-22 Menon Moothedath J System which matches a received sequence of channel commands to sequence defining rules for predictively optimizing peripheral subsystem operations
JPH0237450A (ja) * 1988-07-27 1990-02-07 Nec Corp チャネル装置
JP3495447B2 (ja) * 1995-02-27 2004-02-09 株式会社東芝 分岐命令実行機能を持つプロセッサ
JP3453585B2 (ja) * 1995-06-29 2003-10-06 富士通株式会社 入出力インタフェース延長制御方法並びにそのためのチャネル側装置,チャネル側延長装置及び入出力側延長装置
JP3796281B2 (ja) * 1995-10-04 2006-07-12 富士通株式会社 I/o処理方法
US5781752A (en) * 1996-12-26 1998-07-14 Wisconsin Alumni Research Foundation Table based data speculation circuit for parallel processing computer
US7519566B2 (en) * 2004-02-11 2009-04-14 Oracle International Corporation Method and apparatus for automatically and continuously updating prediction models in real time based on data mining
US7587580B2 (en) * 2005-02-03 2009-09-08 Qualcomm Corporated Power efficient instruction prefetch mechanism
JP2006277583A (ja) * 2005-03-30 2006-10-12 Hitachi Ltd データ処理システム、データ処理方法、及びプログラム

Also Published As

Publication number Publication date
JP2010079612A (ja) 2010-04-08
US20100082948A1 (en) 2010-04-01

Similar Documents

Publication Publication Date Title
CN110069285B (zh) 一种检测分支预测的方法及处理器
CN205176828U (zh) 条件分支预测器逻辑单元
CN104793920A (zh) 堆栈指针值预测
JPS62106545A (ja) 分岐命令の結果予測装置
JP2000215056A (ja) 複数予測分岐命令にわたる命令フェッチの位置合わせ命令キャッシュ処理
JP2003005956A (ja) 分岐予測装置、プロセッサ、及び分岐予測方法
CN104820580A (zh) 改进的返回堆栈缓存
JPS6341093B2 (ja)
US9715351B2 (en) Copy-offload on a device stack
KR100335672B1 (ko) 메모리페이지크로싱예측주석을사용하는실제주소지정데이타기억구조로부터의빠른데이타검색
US9753730B2 (en) Decoding instructions from multiple instructions sets
US20110060863A1 (en) Controller
KR20160065144A (ko) 데이터 처리장치 및 추론적 벡터 액세스 연산의 수행방법
US8707014B2 (en) Arithmetic processing unit and control method for cache hit check instruction execution
CN104871144A (zh) 使用虚拟地址到物理地址跨页缓冲器的推测性寻址
US9773534B2 (en) Non-volatile memory accelerator and method for speeding up data access
KR20210018415A (ko) 예측 실패 복구에 대한 레이턴시를 줄이기 위한 이차적 분기 예측 저장
JP4334598B1 (ja) 情報処理装置およびエラー訂正方法
JP2008186233A (ja) 命令キャッシュプリフェッチ制御方法及びその装置
JP5195228B2 (ja) 処理プログラム、処理装置及び処理方法
JP3798998B2 (ja) 分岐予測装置および分岐予測方法
CN110825442B (zh) 一种指令预取方法及处理器
US6678638B2 (en) Processor having execution result prediction function for instruction
KR20220079493A (ko) 페이지-레벨로 추적되는 로드 순서화 큐를 이용하는 추측 실행
US8856468B2 (en) Memory device capable of improving write processing speed and memory control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120907

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: 20130108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130121

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees