JP6894474B2 - 情報処理方法とプロセッサ - Google Patents

情報処理方法とプロセッサ Download PDF

Info

Publication number
JP6894474B2
JP6894474B2 JP2019128086A JP2019128086A JP6894474B2 JP 6894474 B2 JP6894474 B2 JP 6894474B2 JP 2019128086 A JP2019128086 A JP 2019128086A JP 2019128086 A JP2019128086 A JP 2019128086A JP 6894474 B2 JP6894474 B2 JP 6894474B2
Authority
JP
Japan
Prior art keywords
processing
output
valid
processing result
processing results
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
JP2019128086A
Other languages
English (en)
Other versions
JP2020027614A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2020027614A publication Critical patent/JP2020027614A/ja
Application granted granted Critical
Publication of JP6894474B2 publication Critical patent/JP6894474B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • 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, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30061Multi-way branch instructions, e.g. CASE
    • 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/30098Register arrangements
    • G06F9/30101Special purpose registers
    • 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/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • 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, look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • 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, look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations

Description

本発明の実施例は、コンピュータ技術の分野に関し、具体的にはインターネット技術の分野に関し、特に情報処理方法とプロセッサに関する。
プロセッサがデータ処理を行う場合、算術論理ユニットによる処理結果は、一般的にFIFOキューに書き込まれバッファリングされる。処理結果の書き込みには一定の時間がかかることが多く、その後の再読み出しには同様に長い時間がかかり、プログラムの実行効率に影響を与える。
本発明の実施例は、情報処理方法とプロセッサを提案する。
第1態様において、本発明の実施例は、算術論理ユニット、バイパスユニット、キューユニット、マルチプレクサ、およびレジスタファイルを含み、バイパスユニットは、データ処理サブユニットを含み、データ処理サブユニットは、算術論理ユニットによって出力された少なくとも1つの有効な処理結果を取得し、少なくとも1つの有効な処理結果から1つの処理結果を決定し、決定された処理結果をマルチプレクサに出力し、少なくとも1つの有効な処理結果のうち、決定された処理結果以外の処理結果をキューユニットに出力するために使用され、ここで、処理結果はイネーブル信号を含み、有効な処理結果はハイレベルのイネーブル信号またはローレベルのイネーブル信号を含み、マルチプレクサは、1つ以上の有効な処理結果をレジスタファイルに順次出力するために使用され、ここで、1つ以上の有効な処理結果は、決定された処理結果と、キューユニットから出力された有効な処理結果とを含むプロセッサに関する。
いくつかの実施例において、バイパスユニットは、バイパス出力サブユニットをさらに含み、データ処理サブユニットは、数量決定モジュール、多入力処理モジュールを含み、数量決定モジュールは、1クロック周期内に算術論理ユニットによって出力された少なくとも2つの処理結果のうち、有効な処理結果の数量を決定し、数量が2以上であると決定すると、少なくとも2つの処理結果を多入力処理モジュールに出力するために使用され、多入力処理モジュールは、予め設定された優先度に従って、少なくとも2つの処理結果から、少なくとも2つの有効な処理結果を決定し、少なくとも2つの有効な処理結果から、優先度が最も高い処理結果を決定し、バイパス出力サブユニットに出力するために使用される。
いくつかの実施例において、データ処理サブユニットは、単一入力処理モジュールをさらに含み、数量決定モジュールはさらに、数量が1であると決定すると、少なくとも2つの処理結果を単一入力処理モジュールに出力するために使用され、単一入力処理モジュールは、少なくとも2つの処理結果から、1つの有効な処理結果を決定し、1つの有効な処理結果をバイパス出力サブユニットに出力するために使用される。
いくつかの実施例において、バイパスユニットは、メイン出力サブユニットをさらに含み、キューユニットは、FIFOキューユニットを含み、多入力処理モジュールはさらに、少なくとも2つの有効な処理結果のうち、優先度が最も高い処理結果以外の他の処理結果をメイン出力サブユニットに出力するために使用され、メイン出力サブユニットは、他の処理結果をFIFOキューユニットに出力するために使用され、FIFOキューユニットは、他の処理結果をバッファリングし、他の処理結果をマルチプレクサに出力するために使用される。
いくつかの実施例において、マルチプレクサはさらに、各FIFOキューユニットによって出力された処理結果とバイパス出力サブユニットによって出力された処理結果とをレジスタファイルに順次出力するために使用され、ここで、バイパス出力サブユニットによって出力された処理結果は、マルチプレクサから出力される優先度が最も高く、異なるFIFOキューユニットによって出力された処理結果は、マルチプレクサから出力される優先度が異なる。
いくつかの実施例において、数量決定モジュールはさらに、加算器を使用して少なくとも2つの処理結果のうち、第1レベルのイネーブル信号を積算して、第1レベルのイネーブル信号の数量を取得し、第1レベルのイネーブル信号の数量に基づいて有効な処理結果の数量を決定するために使用され、ここで、第1レベルは、ハイレベルまたはローレベルである。
いくつかの実施例において、単一入力処理モジュールおよび多入力処理モジュールは、多段マルチプレクサを含み、多段マルチプレクサは、少なくとも2つの処理結果から有効な処理結果を決定するために使用される。
第2態様において、本発明の実施例は、上記のいずれかに記載のプロセッサを含むチップに関する。
第3態様において、本発明の実施例は、プロセッサのための情報処理方法であって、プロセッサは、算術論理ユニット、バイパスユニット、キューユニット、マルチプレクサ、およびレジスタファイルを含み、バイパスユニットは、データ処理サブユニットを含み、情報処理方法は、データ処理サブユニットは、算術論理ユニットによって出力された少なくとも1つの有効な処理結果を取得し、少なくとも1つの有効な処理結果から1つの処理結果を決定し、決定された処理結果をマルチプレクサに出力し、少なくとも1つの有効な処理結果のうち、決定された処理結果以外の処理結果をキューユニットに出力するステップであって、ここで、処理結果はイネーブル信号を含み、有効な処理結果はハイレベルのイネーブル信号またはローレベルのイネーブル信号を含むステップと、マルチプレクサは、1つ以上の有効な処理結果をレジスタファイルに順次出力するステップであって、ここで、1つ以上の有効な処理結果は、決定された処理結果と、キューユニットから出力された有効な処理結果とを含むステップとを含む方法に関する。
いくつかの実施例において、バイパスユニットは、バイパス出力サブユニットをさらに含み、データ処理サブユニットは、数量決定モジュール、多入力処理モジュールを含み、算術論理ユニットによって出力された少なくとも1つの有効な処理結果を取得し、少なくとも1つの有効な処理結果から1つの処理結果を決定するステップは、数量決定モジュールは、1クロック周期内に算術論理ユニットによって出力された少なくとも2つの処理結果のうち、有効な処理結果の数量を決定し、数量が2以上であると決定すると、少なくとも2つの処理結果を多入力処理モジュールに出力するステップと、多入力処理モジュールは、予め設定された優先度に従って、少なくとも2つの処理結果から、少なくとも2つの有効な処理結果を決定し、少なくとも2つの有効な処理結果から、優先度が最も高い処理結果を決定し、バイパス出力サブユニットに出力するステップとを含む。
いくつかの実施例において、データ処理サブユニットは、単一入力処理モジュールをさらに含み、算術論理ユニットによって出力された少なくとも1つの有効な処理結果を取得し、少なくとも1つの有効な処理結果から1つの処理結果を決定するステップは、数量決定モジュールは、数量が1であると決定すると、少なくとも2つの処理結果を単一入力処理モジュールに出力するステップと、単一入力処理モジュールは、少なくとも2つの処理結果から、1つの有効な処理結果を決定し、1つの有効な処理結果をバイパス出力サブユニットに出力するステップとをさらに含む。
いくつかの実施例において、バイパスユニットは、メイン出力サブユニットをさらに含み、キューユニットは、FIFOキューユニットを含み、方法は、多入力処理モジュールは、少なくとも2つの有効な処理結果のうち、優先度が最も高い処理結果以外の他の処理結果を前記メイン出力サブユニットに出力するステップと、メイン出力サブユニットは、他の処理結果をFIFOキューユニットに出力するステップと、FIFOキューユニットは、他の処理結果をバッファリングし、他の処理結果をマルチプレクサに出力するステップとをさらに含む。
いくつかの実施例において、1つ以上の有効な処理結果をレジスタファイルに順次出力するステップは、マルチプレクサは、各FIFOキューユニットによって出力された処理結果とバイパス出力サブユニットによって出力された処理結果とをレジスタファイルに順次出力するステップであって、ここで、バイパス出力サブユニットによって出力された処理結果は、マルチプレクサから出力される優先度が最も高く、異なるFIFOキューユニットによって出力された処理結果は、マルチプレクサから出力される優先度が異なるステップを含む。
いくつかの実施例において、1クロック周期内に算術論理ユニットによって出力された少なくとも2つの処理結果のうち、有効な処理結果の数量を決定するステップは、数量決定モジュールは、加算器を使用して少なくとも2つの処理結果のうち、第1レベルのイネーブル信号を積算して、第1レベルのイネーブル信号の数量を取得し、第1レベルのイネーブル信号の数量に基づいて有効な処理結果の数量を決定するステップであって、ここで、第1レベルは、ハイレベルまたはローレベルであるステップを含む。
いくつかの実施例において、単一入力処理モジュールおよび多入力処理モジュールは、多段マルチプレクサを含み、多段マルチプレクサは、少なくとも2つの処理結果から有効な処理結果を決定するために使用される。
第4態様において、本発明の実施例は、1つ以上のプロセッサと、1つ以上のプログラムが記憶されている記憶装置とを含み、1つ以上のプログラムが1つ以上のプロセッサによって実行されるとき、プロセッサのための情報処理方法のいずれか実施例に記載の方法を1つ以上のプロセッサに実現させる電子機器に関する。
第5態様において、本発明の実施例は、コンピュータプログラムが記憶されたコンピュータ可読媒体であって、このコンピュータプログラムがプロセッサによって実行されるとき、プロセッサのための情報処理方法のいずれかの実施例に記載の方法を実現するコンピュータ可読媒体。
本発明の実施例に係るプロセッサの技術案において、係るプロセッサは、算術論理ユニット、バイパスユニット、キューユニット、マルチプレクサ、およびレジスタファイルを含み、バイパスユニットは、データ処理サブユニットを含む。当該技術案において、データ処理サブユニットは、算術論理ユニットによって出力された少なくとも1つの有効な処理結果を取得し、少なくとも1つの有効な処理結果から1つの処理結果を決定し、決定された処理結果をマルチプレクサに出力し、少なくとも1つの有効な処理結果のうち、決定された処理結果以外の処理結果をキューユニットに出力するために使用され、ここで、処理結果はイネーブル信号を含み、有効な処理結果はハイレベルのイネーブル信号またはローレベルのイネーブル信号を含む。マルチプレクサは、1つ以上の有効な処理結果をレジスタファイルに順次出力するために使用され、ここで、1つ以上の有効な処理結果は、決定された処理結果と、キューユニットから出力された有効な処理結果とを含む。本発明の実施例は、バイパスユニットによって、プロセッサにおける処理結果のバッファリングプロセスを低減し、プロセッサの処理効率を向上させることができる。同時に、バイパスユニットを使用して有効な処理結果を選択し、無効な処理結果の干渉を低減し、この後の処理結果の利用を容易にする。
本発明のその他の特徴、目的および利点をより明確にするために、以下の図面を参照してなされた非限定的な実施例の詳細な説明を参照する。
本発明に係るプロセッサの一実施例の概略構造図である。 本発明に係る単一入力処理モジュールの回路構造の一実施例の概略構造図である。 本発明に係る多入力処理モジュールの回路構造の一実施例の概略構造図である。 本発明に係るプロセッサの別の実施例の概略構造図である。 本発明に係るプロセッサのための情報処理方法の一実施例のフローチャートである。 本発明の実施例を実現するための電子機器のコンピュータシステムの概略構造図である。
以下、図面及び実施例を参照して本発明についてより詳細に説明する。ここで説明された具体的な実施例は、関連する発明を説明するためだけのものであり、この発明を制限するものではないことを理解できる。なお、説明を容易にするために、図面には関連する発明に関連する部分のみを示している。
なお、矛盾しない場合には、本発明の実施例及び実施例における特徴が互いに組み合わせることができる。以下、図面を参照して、実施例に合わせて本発明を詳細に説明する。
図1を参照すると、本発明に係るプロセッサの一実施例が示されている。当該プロセッサは、算術論理ユニット(arithmetic and logic unit、ALU)、バイパスユニット、キューユニット、マルチプレクサ(multiplexer、MUX) 、およびレジスタファイル(Register file)を含み、バイパスユニットは、データ処理サブユニットを含む。
データ処理サブユニットは、算術論理ユニットによって出力された少なくとも1つの有効な処理結果を取得し、少なくとも1つの有効な処理結果から1つの処理結果を決定し、決定された処理結果をマルチプレクサに出力し、少なくとも1つの有効な処理結果のうち、決定された処理結果以外の処理結果をキューユニットに出力するために使用され、ここで、処理結果はイネーブル信号を含み、有効な処理結果はハイレベルのイネーブル信号またはローレベルのイネーブル信号を含む。
本実施例において、バイパスユニットにおけるデータ処理サブユニットは、演算論理ユニットによって出力された1つまたは2つ以上の有効な処理結果を取得するために使用される。そして、この中から1つの処理結果を決定し、決定された処理結果をマルチプレクサに出力することができる。処理結果の数量が1つ以上の場合、決定された処理結果以外の処理結果を受信した後で、キューユニットは、設定された順番出力の規則(例えば、先入先出)に従って、処理結果をマルチプレクサに出力する。
ここで、データ処理サブユニットのマルチプレクサへの処理結果の出力について、直接にマルチプレクサへ出力してもよく、中継点を介してマルチプレクサに転送してもよく、例えば出力用のサブユニットで出力することができる。ここで、取得された有効な処理結果は、ローカルまたは算術論理ユニットから直接に取得されてもよく、レベルの高低に基づいて、選択などにより得られても良い。
処理結果はイネーブル信号を含み、イネーブル信号は、処理結果が有効であるか否かを示すために使用されることができる。算術論理ユニットから出力された有効な処理結果は、ハイレベルのイネーブル信号でもローレベルのイネーブル信号でもよい。そして、処理結果には、算術論理ユニットの演算により得られたデータも含まれる。
実践では、複数の方法で1つの処理結果を決定することができる。例を挙げると、生成時刻が早い処理結果を選択することができる。予め設定された優先度が最も高い処理結果を選択することもできる。例えば、算術論理ユニット毎に優先度を予め設定し、優先度が最も高い演算論理ユニットから出力された処理結果を優先度が最も高い処理結果としてもよい。
なお、上記の演算論理ユニットは、単一の算術論理ユニットであってもよいし、複数の算術論理ユニットのセットであってもよい。上記のキューユニットは、単一のキューユニットであってもよいし、複数のキューユニットのセットであってもよく、例えば、キューユニットがFIFOキューユニットである場合、キューユニットは複数のFIFOキューユニットを含むことができる。
上記マルチプレクサは、1つ以上の有効な処理結果をレジスタファイルに順次出力するために使用され、ここで、1つ以上の有効な処理結果は、決定された処理結果と、キューユニットから出力された有効な処理結果とを含む。
本実施例において、マルチプレクサは、1つ以上の有効な処理結果から、1つの処理結果を選択し、レジスタファイルに出力することができる。1つ以上の処理結果には、バイパスユニットから上記マルチプレクサに直接入力された上記決定された処理結果が含まれることができる。また、1つ以上の処理結果には、バイパスユニットから直接入力される以外の他の経路から得られる処理結果が含まれることもできる。例を挙げると、1つ以上の処理結果には、プロセッサのキューユニットから上記マルチプレクサに入力する有効な処理結果が含まれることができる。例えば、係るキューユニットは、FIFOキューユニットやLIFOキューユニットなどであってもよい。
具体的に、マルチプレクサは、複数の方法で1つの処理結果を選択することができる。例えば、生成時刻が早い処理結果を選択することができ、優先度が最も高い処理結果を選択することもできる。優先度で選択する場合、有効な処理結果を上記マルチプレクサに出力するユニット毎に優先順位を予め設定することができる。この後、処理結果を出力するユニットの優先度に応じて、優先度が最も高い処理結果を選択する。
なお、本発明のプロセッサを様々なチップに適用できる。
本実施例は、バイパスユニットによって、プロセッサにおける処理結果のバッファリングプロセスを低減し、プロセッサの処理効率を向上させることができる。同時に、バイパスユニットを使用して有効な処理結果を選択し、無効な処理結果の干渉を低減し、この後の処理結果の利用を容易にする。
さらに、上記の各図に示された方法の実現として、本発明はプロセッサの別の実施例を提案する。当該プロセッサのバイパスユニットは、バイパス出力サブユニットをさらに含み、データ処理サブユニットは、数量決定モジュール、多入力処理モジュールを含む。
数量決定モジュールは、1クロック周期内に算術論理ユニットによって出力された少なくとも2つの処理結果のうち、有効な処理結果の数量を決定し、数量が2以上であると決定すると、少なくとも2つの処理結果を多入力処理モジュールに出力するために使用される。
本実施例において、上記数量決定モジュールは、上記算術論理ユニットが1クロック周期内で出力した少なくとも2つの処理結果のうち、有効な処理結果の数量を決定することができる。有効な処理結果の数量が2以上であると決定すると、上記少なくとも2つの処理結果を多入力処理モジュールに出力する。具体的に、数量決定モジュールは、有効な処理結果がハイレベルの処理結果である場合に、ハイレベルの処理結果の数量を決定することができる。有効な処理結果がローレベルの処理結果である場合に、ローレベルの処理結果の数量を決定する。
多入力処理モジュールは、少なくとも2つの処理結果から、少なくとも2つの有効な処理結果を決定し、予め設定された優先度に従って、少なくとも2つの有効な処理結果から、優先度が最も高い処理結果を決定し、バイパス出力サブユニットに出力するために使用される。
本実施例において、多入力処理モジュールは、上記少なくとも2つの処理結果から、少なくとも2つの有効な処理結果を決定し、予め設定された優先度に従って、少なくとも2つの有効な処理結果から、優先度が最も高い処理結果を決定し、バイパス出力サブユニットに出力することができる。
実践では、予め設定された優先度が最も高い処理結果は、生成時刻が最も早い処理結果であってもよい。また、異なる算術論理ユニットによって出力される処理結果は、異なる優先度を持つことができる。多入力処理モジュールは、処理結果を出力する算術論理ユニットの優先度を比較して、優先度が最も高い算術論理ユニットによって出力された処理結果を優先度が最も高い処理結果とすることができる。複数の方法で算術論理ユニットの優先度を決定することができ、例えば、予め設定された算術論理ユニットの番号に基づいて決定することができる。
具体的に、多入力処理モジュールに対して対応するコマンドを実行することによって、優先度が最も高い処理結果を決定することができる。また、多入力処理モジュールに優先度配置レジスタを設けることによって、優先度が最も高い処理結果を決定することもできる。
本実施例のいくつかの選択可能な実施形態において、データ処理サブユニットは、単一入力処理モジュールをさらに含み、
上記数量決定モジュールは、数量が1であると決定すると、少なくとも2つの処理結果を単一入力処理モジュールに出力するために使用される。
これらの選択可能な実施形態において、数量決定モジュールは、処理結果の数量が1であると決定すると、上記の少なくとも2つの有効な処理結果を単一入力処理モジュールに出力する。
単一入力処理モジュールは、少なくとも2つの処理結果から、1つの有効な処理結果を決定し、1つの有効な処理結果をバイパス出力サブユニットに出力するために使用される。
本実施例において、単一入力処理モジュールは、処理結果におけるイネーブル信号のレベルに基づいて、1つの有効な処理結果を決定することができる。この有効な処理結果をバイパス出力サブユニットに出力する。
これらの実施形態のいくつかの選択可能な適用状況において、単一入力処理モジュールおよび多入力処理モジュールは、多段マルチプレクサを含み、多段マルチプレクサは、少なくとも2つの処理結果から有効な処理結果を決定するために使用される。
これらの選択可能な適用状況において、上記単一入力処理モジュールは、多段マルチプレクサを含むことができ、多入力処理モジュールは、多段マルチプレクサを含むこともできる。
図2には、単一入力処理モジュールの回路構成が示されている。上記少なくとも2つの処理結果から1つの有効な処理結果を決定するために、OR論理があるサブモジュールに多段マルチプレクサを設けることができる。単一入力処理モジュールの出力には、例えばEn0とIn0のようなEnとInのセットが含まれる。
図中のEnとInは入力された処理結果であり、Enはイネーブル信号であり、Inは算術論理ユニットから出力された、算術論理ユニットの演算で得られたデータである。同じ番号のEnとInは対応する。このEnとInについての説明は同様に図3に適用される。
図3には、多入力処理モジュールの回路構造が示されている。その中に多段マルチプレクサを設けることができる。同時に、少なくとも2つの有効な処理結果を絞り出すために、デコーダを設けることもできる。例を挙げると、優先度配置レジスタを使用する場合、入力経路の優先度はいくつか予め設定されていてもよい。例えば、配置には、配置1:In0> In1> In2> In3、配置2:In2> In3> In1> In0が含まれる。これらの2つの配置は、デコーダに予め設けられてもよい。優先度配置レジスタによって、優先度配置の一つを決定することができる。配置1を採用する場合、処理結果におけるIn0と処理結果におけるIn1がいずれも有効であれば、優先度の高いIn0およびIn0のイネーブル信号を選択することができる。これらの適用状況は、多入力処理モジュールにおいて異なる優先度選択処理結果を採用でき、より多くのデータ処理ソリューションを提供し、プロセッサの柔軟性を向上させる。
本実施例のいくつかの選択可能な実施形態において、数量決定モジュールはさらに、加算器を使用して少なくとも2つの処理結果のうち、第1レベルのイネーブル信号を積算して、第1レベルのイネーブル信号の数量を取得し、第1レベルのイネーブル信号の数量に基づいて有効な処理結果の数量を決定するために使用され、ここで、第1レベルは、ハイレベルまたはローレベルである。ハイレベルのイネーブル信号は処理結果が有効であることを示す場合、ハイレベルのイネーブル信号の数量を積算する。ローレベルのイネーブル信号は処理結果が有効であることを示す場合、ローレベルのイネーブル信号の数量を積算する。
これらの選択可能な実施形態において、数量決定モジュールは、加算器を使用して処理結果のうちのハイレベルまたはローレベルのイネーブル信号を加算して、有効なイネーブル信号の数量を取得することができる。ハイレベルとローレベルのどちらのレベルが有効であるかを取得することができる。ハイレベルのイネーブル信号は処理結果が有効であることを示す場合、ハイレベルのイネーブル信号の数量を加算する。ローレベルのイネーブル信号は処理結果が有効であることを示す場合、ローレベルのイネーブル信号の数量を加算する。
実践では、数量決定モジュールは、イネーブル信号の数量を処理結果の数量として決定することができる。また、数量決定モジュールは、イネーブル信号の数量に対して予め設定されたデータ処理を行うこともでき、例えば1を加算して処理結果の数量を得る。
本実施例は、多入力処理モジュールと単一入力処理モジュールによって、有効な処理結果の数量が異なる場合に、異なる処理結果選択ソリューションを与えることができる。このように、数量が唯一である場合には、演算量の少ない回路構成を採用して演算速度を向上させることができる。数量が多い場合には、より正確な結果を得るために、比較的複雑な回路構造を採用することができる。
さらに図4を参照すると、上記の各図に示された方法の実現として、プロセッサの別の実施例の概略図400が示されている。
バイパスユニットは、メイン出力サブユニットをさらに含み、キューユニットは、FIFO(First Input First Output)キューユニットを含む。
多入力処理モジュールはさらに、少なくとも2つの有効な処理結果のうち、優先度が最も高い処理結果以外の他の処理結果をメイン出力サブユニットに出力するために使用される。
本実施例において、多入力処理モジュールは、優先度が最も高い処理結果をバイパス出力サブユニットに出力するだけでなく、上記少なくとも2つの処理結果のうちの他の処理結果をメイン出力サブユニットに出力することができる。
メイン出力サブユニットは、他の処理結果をFIFOキューユニットに出力するために使用される。
本実施例において、メイン出力サブユニットは、多入力処理モジュールから入力された上記他の処理結果をFIFOキューユニットに出力することができる。具体的に、FIFOキューユニットは複数存在し、メイン出力サブユニットは、上記他の処理結果から、各FIFOキューユニットに出力する処理結果を決定することができる。例を挙げると、各FIFOキューユニットは、対応するハードウェア番号を有することができ、番号に従ってFIFOキューユニットに対して処理結果を順次分配することができる。また、各FIFOキューユニットに対して処理結果をランダムに分配することもできる。処理結果の生成時刻、処理結果のメイン出力サブユニットへの入力時刻などに応じて、上記他の処理結果の分配順序を決定することができる。
FIFOキューユニットは、他の処理結果をバッファリングし、他の処理結果をマルチプレクサに出力するために使用される。
本実施例において、各FIFOキューユニットは、受信した他の処理結果をバッファリングし、そして当該FIFOキューユニットにおいて受信した処理結果のそれぞれを並べる。先入先出の規則に従って、処理結果をマルチプレクサに出力する。出力された処理結果には、受信した他の処理結果が含まれている。
本実施例のいくつかの選択可能な実施形態において、マルチプレクサはさらに、各FIFOキューユニットによって出力された処理結果とバイパス出力サブユニットによって出力された処理結果とをレジスタファイルに順次出力するために使用され、ここで、バイパス出力サブユニットによって出力された処理結果は、マルチプレクサから出力される優先度が最も高く、異なるFIFOキューユニットによって出力された処理結果は、マルチプレクサから出力される優先度が異なる。
これらの選択可能な実施形態において、マルチプレクサは、各FIFOキューユニットによって出力された処理結果とバイパス出力サブユニットによって出力された処理結果とをレジスタファイルに順次出力することができる。順次出力する際に使用される出力の優先度の規則とは、バイパス出力サブユニットによって出力された処理結果は、マルチプレクサから出力される優先度が最も高く、異なるFIFOキューユニットによって出力された処理結果は、マルチプレクサから出力される優先度が異なるということである。
複数の方法で、マルチプレクサから出力する優先度を決定することができる。例を挙げると、各FIFOキューユニットに対し異なる優先度を予め設定し、優先度の高いFIFOキューユニットによって出力された処理結果を優先的にマルチプレクサからレジスタファイルに出力することができる。各FIFOキューユニットのハードウェア番号を当該FIFOキューユニットの優先度とすることも可能である。例えば、番号が小さいほど、優先度が高い。
さらに、上記の各図に示された方法の実現として、本発明おいて、上述した任意の実施形態におけるプロセッサを含むチップが提案される。
本実施例は、バイパスユニットによって、プロセッサにおける処理結果のバッファリングプロセスを低減し、チップの処理効率を向上させることができる。同時に、バイパスユニットを使用して有効な処理結果を選択し、無効な処理結果の干渉を低減し、この後の処理結果の利用を容易にする。
具体的には、このチップは人工知能チップであってもよく、このプロセッサによって処理結果を選択することで、人工知能チップの演算速度を効果的に向上させることができる。
図5に示すように、本発明では、プロセッサのための情報処理方法の一実施例が提案され、プロセッサは、算術論理ユニット、バイパスユニット、キューユニット、マルチプレクサ、およびレジスタファイルを含み、バイパスユニットは、データ処理サブユニットを含み、方法は、データ処理サブユニットは、算術論理ユニットによって出力された少なくとも1つの有効な処理結果を取得し、少なくとも1つの有効な処理結果から1つの処理結果を決定し、決定された処理結果をマルチプレクサに出力し、少なくとも1つの有効な処理結果のうち、決定された処理結果以外の処理結果をキューユニットに出力し、ここで、処理結果はイネーブル信号を含み、有効な処理結果はハイレベルのイネーブル信号またはローレベルのイネーブル信号を含むことと、マルチプレクサは、1つ以上の有効な処理結果をレジスタファイルに順次出力し、ここで、1つ以上の有効な処理結果は、決定された処理結果と、キューユニットから出力された有効な処理結果とを含むこととを含む。
いくつかの実施形態において、バイパスユニットは、バイパス出力サブユニットをさらに含み、データ処理サブユニットは、数量決定モジュール、多入力処理モジュールを含み、算術論理ユニットによって出力された少なくとも1つの有効な処理結果を取得し、少なくとも1つの有効な処理結果から1つの処理結果を決定することは、数量決定モジュールは、1クロック周期内に算術論理ユニットによって出力された少なくとも2つの処理結果のうち、有効な処理結果の数量を決定し、数量が2以上であると決定すると、少なくとも2つの処理結果を多入力処理モジュールに出力することと、多入力処理モジュールは、予め設定された優先度に従って、少なくとも2つの処理結果から、少なくとも2つの有効な処理結果を決定し、少なくとも2つの有効な処理結果から、優先度が最も高い処理結果を決定し、バイパス出力サブユニットに出力することとを含む。
いくつかの実施形態において、データ処理サブユニットは、単一入力処理モジュールをさらに含み、算術論理ユニットによって出力された少なくとも1つの有効な処理結果を取得し、少なくとも1つの有効な処理結果から1つの処理結果を決定することは、数量決定モジュールは、数量が1であると決定すると、少なくとも2つの処理結果を単一入力処理モジュールに出力することと、単一入力処理モジュールは、少なくとも2つの処理結果から、1つの有効な処理結果を決定し、1つの有効な処理結果をバイパス出力サブユニットに出力することとをさらに含む。
いくつかの実施形態において、バイパスユニットは、メイン出力サブユニットをさらに含み、キューユニットは、FIFOキューユニットを含み、方法は、多入力処理モジュールは、少なくとも2つの有効な処理結果のうち、優先度が最も高い処理結果以外の他の処理結果をメイン出力サブユニットに出力することと、メイン出力サブユニットは、他の処理結果をFIFOキューユニットに出力することと、FIFOキューユニットは、他の処理結果をバッファリングし、他の処理結果をマルチプレクサに出力することとをさらに含む。
いくつかの実施形態において、1つ以上の有効な処理結果をレジスタファイルに順次出力することは、マルチプレクサは、各FIFOキューユニットによって出力された処理結果とバイパス出力サブユニットによって出力された処理結果とをレジスタファイルに順次出力し、ここで、バイパス出力サブユニットによって出力された処理結果は、マルチプレクサから出力される優先度が最も高く、異なるFIFOキューユニットによって出力された処理結果は、マルチプレクサから出力される優先度が異なることを含む。
いくつかの実施形態において、1クロック周期内に算術論理ユニットによって出力された少なくとも2つの処理結果のうち、有効な処理結果の数量を決定することは、数量決定モジュールは、加算器を使用して少なくとも2つの処理結果のうち、第1レベルのイネーブル信号を積算して、第1レベルのイネーブル信号の数量を取得し、第1レベルのイネーブル信号の数量に基づいて有効な処理結果の数量を決定し、ここで、第1レベルは、ハイレベルまたはローレベルであることを含む。
いくつかの実施形態において、単一入力処理モジュールおよび多入力処理モジュールは、多段マルチプレクサを含み、多段マルチプレクサは、少なくとも2つの処理結果から有効な処理結果を決定するために使用される。
本実施例は、バイパスユニットによって、プロセッサにおける処理結果のバッファリングプロセスを低減し、プロセッサの処理効率を向上させることができる。同時に、バイパスユニットを使用して有効な処理結果を選択し、無効な処理結果の干渉を低減し、この後の処理結果の利用を容易にする。
以下、図6を参照し、本発明の実施例を実現するための電子機器のコンピュータシステム600の概略構造図が示されている。図6に示した電子機器は一例であり、本発明の実施例の機能と使用範囲を限定するものではない。
図6に示すように、コンピュータシステム600は、読み出し専用メモリ(ROM)602に記憶されているプログラムまたは記憶部608からランダムアクセスメモリ(RAM)603にロードされたプログラムに従って各種の適切な動作と処理を行うことができる中央処理装置(CPU/GPU)601を含む。RAM603には、システム600の操作に必要な様々なプログラムとデータが記憶されている。CPU601、ROM602、およびRAM603は、バス604によって相互に接続されている。入力/出力(I/O)インターフェース605もバス604に接続されている。
I/Oインターフェース605には、キーボード、マウスなどを含む入力部606と、陰極線管(CRT)、液晶ディスプレイ(LCD)、スピーカーなどを含む出力部607と、ハードディスクなどを含む記憶部608と、LANカード、デモジュレータなどのネットワークインターフェースカードを含む通信部609とが接続されている。通信部609は、インターネットのようなネットワークを介して通信処理を行う。ドライバ610も必要に応じてI/Oインターフェース605に接続されている。ディスク、光ディスク、磁気ディスク、半導体メモリなどの着脱可能な媒体611は、必要に応じてドライバ610に取り付けられることにより、そこから読み出されるコンピュータプログラムが必要に応じて記憶部608にインストールされる。
特に、本発明の実施例によると、上記のフローチャートを参照して説明されたプロセスは、コンピュータソフトウェアのプログラムとして実現されることができる。例えば、本発明の実施例は、コンピュータ可読媒体に担持されたコンピュータプログラムを含むコンピュータプログラム製品を含み、当該コンピュータプログラムは、フローチャートに示された方法を実行するためのプログラムコードを含む。このような実施例では、このコンピュータプログラムは、通信部609を介してネットワークからダウンロードされてインストールされ、および/または着脱可能な媒体611からインストールされることができる。このコンピュータプログラムが中央処理装置601によって実行されるときに、本発明のシステムで限定された上記の機能を実行する。なお、本発明のコンピュータ可読媒体は、コンピュータ可読信号媒体、あるいはコンピュータ可読記憶媒体、または上記の両方の任意の組合せであってもよい。コンピュータ可読記憶媒体は、例えば、電気、磁気、光、電磁気、赤外線、あるいは半導体のシステム、装置またはデバイス、あるいは上記の任意の組合せであってもよいが、これらに限らない。コンピュータ可読記憶媒体のより具体的な例には、1本以上のワイヤによる電気的接続、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、コンパクトディスク読み取り専用メモリ(CD−ROM)、光記憶装置、磁気記憶装置、または上記の任意の組み合わせが含まれるが、これらに限らない。本発明では、コンピュータ可読記憶媒体は、プログラムを含むかまたは記憶する任意の有形の媒体であることができ、このプログラムは、指令実行システム、装置またはデバイスによって使用され、またはそれらと組み合わせて使用されることができる。本発明では、コンピュータが読み取り可能な信号媒体は、コンピュータが読み取り可能なプログラムコードを担持した、ベースバンド内でまたは搬送波の一部として伝播されるデータ信号を含んでもよい。このような伝播されたデータ信号は、多種の形式を採用でき、電磁気信号、光信号、または上記の任意の適切な組み合わせを含むが、これらに限らない。コンピュータが読み取り可能な信号媒体は、コンピュータ可読記憶媒体以外のいかなるコンピュータ可読媒体であってもよく、このコンピュータ可読媒体は、指令実行システム、装置またはデバイスによって使用され、またはそれらと組み合わせて使用されるためのプログラムを送信、伝播または伝送することができる。コンピュータ可読媒体に含まれるプログラムコードは、任意の適切な媒体で伝送されることができ、無線、ワイヤ、光ファイバケーブル、RFなど、または上記の任意の適切な組み合わせを含むが、これらに限らない。
図の中のフローチャートおよびブロック図には、本発明の様々な実施例によるシステム、方法とコンピュータプログラム製品の実現可能なアーキテクチャ、機能、および操作が示されている。この点で、フローチャート又はブロック図の各ブロックは、1つのモジュール、プログラミングのセグメント、またはコードの一部を代表でき、このモジュール、プログラミングのセグメント、またはコードの一部は、所定のロジック機能を実現するための1つ以上の実行可能指令を含む。また、いくつかの代替の実施例では、ブロックに示されている機能は、図面に示された順序と異なる順序で発生してもよいことに留意されたい。例えば、連続して示す2つのブロックは実際に並行して実行されてもよく、それらは係る機能に応じて時に逆の順序で実行されてもよい。ブロック図および/またはフローチャートの各ブロック、およびブロック図および/またはフローチャートのブロックの組み合わせは、特定の機能または操作を実行する専用のハードウェアによるシステムによって実現されてもよく、または専用ハードウェアとコンピュータ指令の組み合わせによって実現されてもよいことにも留意されたい。
別の態様において、本発明は、コンピュータ可読媒体をさらに提供し、このコンピュータ可読媒体は、上記の実施形例で説明された装置に含まれてもよく、個別に存在しこの装置に組み込まれなくてもよい。上記のコンピュータ可読媒体は、1つ以上のプログラムを担持し、上記の1つ以上のプログラムが一つのこの装置によって実行されたとき、当該装置において、データ処理サブユニットは、算術論理ユニットによって出力された少なくとも1つの有効な処理結果を取得し、少なくとも1つの有効な処理結果から1つの処理結果を決定し、決定された処理結果をマルチプレクサに出力し、少なくとも1つの有効な処理結果のうち、決定された処理結果以外の処理結果をキューユニットに出力し、ここで、処理結果はイネーブル信号を含み、有効な処理結果はハイレベルのイネーブル信号またはローレベルのイネーブル信号を含み、マルチプレクサは、1つ以上の有効な処理結果をレジスタファイルに順次出力し、ここで、1つ以上の有効な処理結果は、決定された処理結果と、キューユニットから出力された有効な処理結果とを含む。
上記の説明は、本発明の好ましい実施例および応用された技術の原理の説明にすぎない。本発明に係る発明の範囲が、上記の技術的特徴を組み合わせて得られた技術案に限定されず、同時に上記の発明の概念から逸脱しない場合に、上記の技術的特徴またはこれと同等の技術的特徴を任意に組み合わせて得られた他の技術案を含むべきであることを当業者は理解すべきである。例えば、上記特徴が本発明において開示されているもの(しかしこれに限らず)と類似した機能を有する技術的特徴と相互に入れ替わって形成された技術案が挙げられる。

Claims (13)

  1. 算術論理ユニット、バイパスユニット、キューユニット、マルチプレクサ、およびレジスタファイルを含み、
    前記バイパスユニットは、データ処理サブユニットを含み、
    前記データ処理サブユニットは、算術論理ユニットによって出力された少なくとも1つの有効な処理結果を取得し、前記少なくとも1つの有効な処理結果から1つの処理結果を決定し、決定された処理結果を前記マルチプレクサに出力し、前記少なくとも1つの有効な処理結果のうち、決定された処理結果以外の処理結果を前記キューユニットに出力するために使用され、前記処理結果はイネーブル信号を含み、有効な処理結果はハイレベルのイネーブル信号またはローレベルのイネーブル信号を含み、
    前記マルチプレクサは、1つ以上の有効な処理結果を前記レジスタファイルに順次出力するために使用され、前記1つ以上の有効な処理結果は、決定された処理結果と、前記キューユニットから出力された有効な処理結果とを含み、
    前記バイパスユニットは、バイパス出力サブユニットをさらに含み、前記データ処理サブユニットは、数量決定モジュール、単一入力処理モジュール、多入力処理モジュールを含み、
    前記数量決定モジュールは、1クロック周期内に前記算術論理ユニットによって出力された少なくとも2つの処理結果のうち、有効な処理結果の数量を決定し、前記数量が1であると決定すると、前記少なくとも2つの処理結果を前記単一入力処理モジュールに出力し、前記数量が2以上であると決定すると、前記少なくとも2つの処理結果を前記多入力処理モジュールに出力するために使用され、
    前記単一入力処理モジュールは、前記少なくとも2つの処理結果から、1つの有効な処理結果を決定し、前記1つの有効な処理結果を前記バイパス出力サブユニットに出力するために使用され、
    前記多入力処理モジュールは、予め設定された優先度に従って、前記少なくとも2つの処理結果から、少なくとも2つの有効な処理結果を決定し、前記少なくとも2つの有効な処理結果から、優先度が最も高い処理結果を決定し、前記バイパス出力サブユニットに出力するために使用される、
    プロセッサ。
  2. 前記バイパスユニットは、メイン出力サブユニットをさらに含み、前記キューユニットは、FIFOキューユニットを含み、
    前記多入力処理モジュールは、さらに、前記少なくとも2つの有効な処理結果のうち、優先度が最も高い処理結果以外の他の処理結果を前記メイン出力サブユニットに出力するために使用され、
    前記メイン出力サブユニットは、前記他の処理結果を前記FIFOキューユニットに出力するために使用され、
    前記FIFOキューユニットは、前記他の処理結果をバッファリングし、前記他の処理結果を前記マルチプレクサに出力するために使用される、
    請求項に記載のプロセッサ。
  3. 前記マルチプレクサは、さらに、各FIFOキューユニットによって出力された処理結果とバイパス出力サブユニットによって出力された処理結果とを前記レジスタファイルに順次出力するために使用され、前記バイパス出力サブユニットによって出力された処理結果は、前記マルチプレクサから出力される優先度が最も高く、異なるFIFOキューユニットによって出力された処理結果は、前記マルチプレクサから出力される優先度が異なる請求項に記載のプロセッサ。
  4. 前記数量決定モジュールは、さらに、加算器を使用して前記少なくとも2つの処理結果のうち、第1レベルのイネーブル信号を積算して、第1レベルのイネーブル信号の数量を取得し、前記第1レベルのイネーブル信号の数量に基づいて有効な処理結果の数量を決定するために使用され、前記第1レベルは、ハイレベルまたはローレベルである請求項に記載のプロセッサ。
  5. 前記単一入力処理モジュールおよび前記多入力処理モジュールは、多段マルチプレクサを含み、前記多段マルチプレクサは、前記少なくとも2つの処理結果から有効な処理結果を決定するために使用される請求項に記載のプロセッサ。
  6. 上記請求項1からのいずれか1項に記載のプロセッサを含むチップ。
  7. プロセッサのための情報処理方法であって、
    前記プロセッサは、算術論理ユニット、バイパスユニット、キューユニット、マルチプレクサ、およびレジスタファイルを含み、前記バイパスユニットは、データ処理サブユニットを含み、
    前記情報処理方法は、
    前記データ処理サブユニットは、算術論理ユニットによって出力された少なくとも1つの有効な処理結果を取得し、前記少なくとも1つの有効な処理結果から1つの処理結果を決定し、決定された処理結果を前記マルチプレクサに出力し、前記少なくとも1つの有効な処理結果のうち、決定された処理結果以外の処理結果を前記キューユニットに出力するステップであって、前記処理結果はイネーブル信号を含み、有効な処理結果はハイレベルのイネーブル信号またはローレベルのイネーブル信号を含むステップと、
    前記マルチプレクサは、1つ以上の有効な処理結果を前記レジスタファイルに順次出力するステップであって、前記1つ以上の有効な処理結果は、決定された処理結果と、前記キューユニットから出力された有効な処理結果とを含むステップと、
    を含み、
    前記バイパスユニットは、バイパス出力サブユニットをさらに含み、前記データ処理サブユニットは、数量決定モジュール、単一入力処理モジュール、多入力処理モジュールを含み、
    前記算術論理ユニットによって出力された少なくとも1つの有効な処理結果を取得し、前記少なくとも1つの有効な処理結果から1つの処理結果を決定するステップは、
    前記数量決定モジュールは、1クロック周期内に前記算術論理ユニットによって出力された少なくとも2つの処理結果のうち、有効な処理結果の数量を決定し、前記数量が1であると決定すると、前記少なくとも2つの処理結果を前記単一入力処理モジュールに出力し、前記数量が2以上であると決定すると、前記少なくとも2つの処理結果を前記多入力処理モジュールに出力するステップと、
    前記単一入力処理モジュールは、前記少なくとも2つの処理結果から、1つの有効な処理結果を決定し、前記1つの有効な処理結果を前記バイパス出力サブユニットに出力するステップと、
    前記多入力処理モジュールは、予め設定された優先度に従って、前記少なくとも2つの処理結果から、少なくとも2つの有効な処理結果を決定し、前記少なくとも2つの有効な処理結果から、優先度が最も高い処理結果を決定し、前記バイパス出力サブユニットに出力するステップと、
    を含む、方法。
  8. 前記バイパスユニットは、メイン出力サブユニットをさらに含み、前記キューユニットは、FIFOキューユニットを含み、
    前記方法は、
    前記多入力処理モジュールは、前記少なくとも2つの有効な処理結果のうち、優先度が最も高い処理結果以外の他の処理結果を前記メイン出力サブユニットに出力するステップと、
    前記メイン出力サブユニットは、前記他の処理結果を前記FIFOキューユニットに出力するステップと、
    前記FIFOキューユニットは、前記他の処理結果をバッファリングし、前記他の処理結果を前記マルチプレクサに出力するステップと、
    をさらに含む請求項に記載の方法。
  9. 前記1つ以上の有効な処理結果を前記レジスタファイルに順次出力するステップは、
    前記マルチプレクサは、各FIFOキューユニットによって出力された処理結果とバイパス出力サブユニットによって出力された処理結果とを前記レジスタファイルに順次出力するステップであって、前記バイパス出力サブユニットによって出力された処理結果は、前記マルチプレクサから出力される優先度が最も高く、異なるFIFOキューユニットによって出力された処理結果は、前記マルチプレクサから出力される優先度が異なるステップを含む、
    請求項に記載の方法。
  10. 前記1クロック周期内に前記算術論理ユニットによって出力された少なくとも2つの処理結果のうち、有効な処理結果の数量を決定するステップは、
    前記数量決定モジュールは、加算器を使用して前記少なくとも2つの処理結果のうち、第1レベルのイネーブル信号を積算して、第1レベルのイネーブル信号の数量を取得し、前記第1レベルのイネーブル信号の数量に基づいて有効な処理結果の数量を決定するステップであって、前記第1レベルは、ハイレベルまたはローレベルであるステップを含む、
    請求項に記載の方法。
  11. 前記単一入力処理モジュールおよび前記多入力処理モジュールは、多段マルチプレクサを含み、前記多段マルチプレクサは、前記少なくとも2つの処理結果から有効な処理結果を決定するために使用される請求項に記載の方法。
  12. 1つ以上のプロセッサと、
    1つ以上のプログラムが記憶されている記憶装置と、
    を含み、
    前記1つ以上のプログラムが前記1つ以上のプロセッサによって実行された場合に、請求項から1のいずれか1項に記載の方法が前記1つ以上のプロセッサにより実現される、
    電子機器。
  13. コンピュータプログラムが記憶されたコンピュータ可読媒体であって、
    前記コンピュータプログラムがプロセッサによって実行された場合に、請求項から1のいずれか1項に記載の方法が実現される、
    コンピュータ可読媒体。
JP2019128086A 2018-08-10 2019-07-10 情報処理方法とプロセッサ Active JP6894474B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810907909.3A CN110825439B (zh) 2018-08-10 2018-08-10 信息处理方法和处理器
CN201810907909.3 2018-08-10

Publications (2)

Publication Number Publication Date
JP2020027614A JP2020027614A (ja) 2020-02-20
JP6894474B2 true JP6894474B2 (ja) 2021-06-30

Family

ID=69406082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019128086A Active JP6894474B2 (ja) 2018-08-10 2019-07-10 情報処理方法とプロセッサ

Country Status (4)

Country Link
US (1) US11055100B2 (ja)
JP (1) JP6894474B2 (ja)
KR (1) KR102238025B1 (ja)
CN (1) CN110825439B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7040544B2 (ja) 2020-02-20 2022-03-23 三菱マテリアル株式会社 コネクタ用端子材
CN111856258B (zh) * 2020-07-24 2023-05-09 北京百度网讯科技有限公司 用于芯片的测试的方法、设备、存储介质和相应的芯片

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6668316B1 (en) 1999-02-17 2003-12-23 Elbrus International Limited Method and apparatus for conflict-free execution of integer and floating-point operations with a common register file
ATE529802T1 (de) * 2000-02-09 2011-11-15 Texas Instruments Inc Datenverarbeitungsvorrichtung
JP2002318689A (ja) 2001-04-20 2002-10-31 Hitachi Ltd 資源使用サイクルの遅延指定付き命令を実行するvliwプロセッサおよび遅延指定命令の生成方法
EP1430319B1 (en) 2001-09-20 2007-02-28 Koninklijke Philips Electronics N.V. Electronic device
US7062635B2 (en) * 2002-08-20 2006-06-13 Texas Instruments Incorporated Processor system and method providing data to selected sub-units in a processor functional unit
US7149877B2 (en) * 2003-07-17 2006-12-12 International Business Machines Corporation Byte execution unit for carrying out byte instructions in a processor
US7350056B2 (en) 2005-09-27 2008-03-25 International Business Machines Corporation Method and apparatus for issuing instructions from an issue queue in an information handling system
US8250337B2 (en) * 2006-04-28 2012-08-21 Qualcomm Incorporated Array processor with two parallel processing paths of multipliers and ALUs with idle operation capability controlled by portions of opcode including indication of valid output
JP5403661B2 (ja) 2009-03-16 2014-01-29 エヌイーシーコンピュータテクノ株式会社 ベクトル演算装置及びベクトル演算方法
CN101799795B (zh) * 2009-12-30 2011-11-02 龙芯中科技术有限公司 一种1553b总线监控器及具有该监控器的总线系统
US8949575B2 (en) * 2011-12-14 2015-02-03 International Business Machines Corporation Reversing processing order in half-pumped SIMD execution units to achieve K cycle issue-to-issue latency
CN102866957B (zh) * 2012-07-31 2014-07-30 中国人民解放军国防科学技术大学 面向多核多线程微处理器的虚拟活跃页缓冲方法及装置
US10203958B2 (en) * 2013-07-15 2019-02-12 Texas Instruments Incorporated Streaming engine with stream metadata saving for context switching
US10073696B2 (en) * 2013-07-15 2018-09-11 Texas Instruments Incorporated Streaming engine with cache-like stream data storage and lifetime tracking
GB2516864A (en) * 2013-08-02 2015-02-11 Ibm Increased instruction issue rate and latency reduction for out-of-order processing by instruction chaining and collision avoidance
DE102015006670A1 (de) * 2014-06-26 2015-12-31 Intel Corporation Befehle und logik zum bereitstellen von kryptographischer allzweck-gf(256)-simd- arithmetikfunktionalität
CN108255777B (zh) * 2018-01-19 2021-08-06 中国科学院电子学研究所 用于fpga的嵌入式浮点型dsp硬核结构

Also Published As

Publication number Publication date
KR20200018238A (ko) 2020-02-19
JP2020027614A (ja) 2020-02-20
CN110825439B (zh) 2021-03-09
KR102238025B1 (ko) 2021-04-09
US20200050456A1 (en) 2020-02-13
CN110825439A (zh) 2020-02-21
US11055100B2 (en) 2021-07-06

Similar Documents

Publication Publication Date Title
JP7382925B2 (ja) ニューラルネットワークアクセラレーションのための機械学習ランタイムライブラリ
EP3557434B1 (en) Computational resource pipelining in general purpose graphics processing unit
US20190146817A1 (en) Binding constants at runtime for improved resource utilization
CN110825436B (zh) 应用于人工智能芯片的计算方法和人工智能芯片
JP6894474B2 (ja) 情報処理方法とプロセッサ
CN113614789A (zh) 图形处理中的通用寄存器和波槽分配
CN109165723B (zh) 用于处理数据的方法和装置
US10209912B2 (en) Pre-allocating save areas of a memory
US9703614B2 (en) Managing a free list of resources to decrease control complexity and reduce power consumption
CN109672931B (zh) 用于处理视频帧的方法和装置
KR20140012320A (ko) 어플리케이션을 고속으로 처리하는 연산 처리 장치 및 방법
US7958284B2 (en) Multi-channel fractional clock data transfer
CN110704782A (zh) 页面响应方法、装置、电子设备及存储介质
CN110825461A (zh) 数据处理方法和装置
CN116804915B (zh) 基于存储器的数据交互方法、处理器、设备以及介质
CN116048816B (zh) 数据请求处理方法、装置、电子设备和存储介质
US11281831B2 (en) Information processing device, information processing method, and recording medium
US20220353874A1 (en) Method and Apparatus for Maximizing a Number of Connections That Can Be Executed from a Mobile Application
CN117520228A (zh) 命令处理方法、装置、设备及计算机可读存储介质
CN114968516A (zh) 调度方法、装置、设备及存储介质
CN111625678A (zh) 信息处理方法、装置和计算机可读存储介质
JP2017199091A (ja) 情報処理装置、情報処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201027

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210122

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210421

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210603

R150 Certificate of patent or registration of utility model

Ref document number: 6894474

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313114

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350