Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3661944B2 - Arithmetic engine, microprocessor, and arithmetic control method thereof - Google Patents
[go: Go Back, main page]

JP3661944B2 - Arithmetic engine, microprocessor, and arithmetic control method thereof - Google Patents

Arithmetic engine, microprocessor, and arithmetic control method thereof Download PDF

Info

Publication number
JP3661944B2
JP3661944B2 JP2002140061A JP2002140061A JP3661944B2 JP 3661944 B2 JP3661944 B2 JP 3661944B2 JP 2002140061 A JP2002140061 A JP 2002140061A JP 2002140061 A JP2002140061 A JP 2002140061A JP 3661944 B2 JP3661944 B2 JP 3661944B2
Authority
JP
Japan
Prior art keywords
data
calculation
stream
engine
input
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
JP2002140061A
Other languages
Japanese (ja)
Other versions
JP2003330703A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002140061A priority Critical patent/JP3661944B2/en
Publication of JP2003330703A publication Critical patent/JP2003330703A/en
Application granted granted Critical
Publication of JP3661944B2 publication Critical patent/JP3661944B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、演算エンジンとそれを搭載するマイクロプロセッサに係り、特に、画像処理、暗号処理など多様なデータストリームを処理するマルチメディアプロセッサに用いて好適な演算エンジンとそれを搭載するマイクロプロセッサに関する。
【0002】
【従来の技術】
近年、プロセッサ技術の進展に伴って、画像データ、暗号データ、音声データなど多様なストリームデータを処理するためのマルチメディアプロセッサが開発されている。
【0003】
従来、このようなフォーマットの異なる複数のストリームデータする場合には、リアルタイム性が重視される場合、入力されるストリームデータの数だけ演算器を設け、同時に処理することによりリアルタイムにデータを処理して出力していた。そして、演算結果は、主記憶装置へ保存され、必要に応じて出力される。また、リアルタイム性が重要でない場合には、ある一つのストリームデータ全てを処理して、その結果を主記憶装置へ格納後に、次のストリームデータの処理をおこない、主記憶装置へ格納するといったように順番に処理をおこなっていた。
【0004】
画像ストリームを扱う技術としては、特開2000−13712号公報の「マルチ画面表示装置」があり、この公報には、複数の画像ストリームを入力し、それらを選択的に表示する技術が開示されている。この技術は、入力される複数のストリーム毎にIピクチャのみを取り出したデータをまとめて保存し、必要に応じて展開済みのデータを同一の画面に表示できるというものである。
【0005】
【発明が解決しようとする課題】
フォーマットの異なる複数のストリームデータを処理する場合、途中で演算を中断することができず、少なくともストリームの切れ目まで処理する必要があった。そのために、ストリーム毎に演算器を設け、専用で処理できるようにしたが、ストリームデータの種類だけ演算器を設ける必要があり、製品コストの増大を招くという問題点があった。
【0006】
例えば、上記従来技術では、ストリームデータの数だけ、検出手段、記憶手段を設けなければならなかった。
【0007】
また、ある一つのストリームデータを切れ目まで処理し、別のフォーマットであるストリームデータを処理する場合、時間的なずれが生じることを防ぐために、処理後のストリームデータを保存することが可能な記憶装置を設ける必要があった。
【0008】
本発明は、上記問題点を解決するためになされたもので、演算エンジンを搭載するマイクロプロセッサにおいて、リアルタイムに多様な複数のストリームデータを処理することが可能であり、しかも、内部機構が簡易な演算エンジンを搭載するマイクロプロセッサを提供することにある。
【0009】
【課題を解決するための手段】
この発明に係る演算エンジンは、ストリームデータを入力する演算エンジンであって、演算結果を出力する演算器と、演算器の演算手法を設定することのできる演算設定レジスタとからなる。そして、演算エンジンに入力するストリームデータは、演算手法または付加データを記述したヘッダ部と、演算対象のデータ部とからなる。演算エンジンは、入力されたストリームデータを、ヘッダ部とデータ部に分割して、ヘッダ部の演算手法と付加の一部は、演算設定レジスタに入力され、ヘッダ部の付加データの一部とデータ部のデータは、演算器に入力される。そして、演算終了時に演算設定レジスタの内容をフッタ部のデータとして出力し、演算器の内容を演算結果として出力し、このフッタ部と演算結果により、出力ストリームデータを作成して出力する。
【0010】
そして、出力されるフッタ部の情報を、以降の入力ストリームデータのヘッダ部の情報として利用する。このようにして、演算の途中であっても、出力ストリームデータとして、出力し、次回の演算に利用することが可能であるので、特別な記憶装置を用意せずとも、簡単な機構で多種類にわたるストリームデータを効率的に処理することができる。
【0011】
【発明の実施の形態】
以下、本発明に係る各実施形態を、図1ないし図6を用いて説明する。
【0012】
〔実施形態1〕
以下、本発明に係る第一の実施形態を、図1ないし図5を用いて説明する。
【0013】
先ず、図1および図2を用いて本発明に係る演算エンジンと、それを搭載するマイクロプロセッサと主記憶装置からなるコンピュータシステムについて説明する。
図1は、本発明に係る演算エンジンの構成とストリームデータの関係を示す概略図である。
図2は、本発明に係る演算エンジンを搭載するマイクロプロセッサと主記憶装置からなるコンピュータシステムの構成図である。
【0014】
図2に示されるように本発明の演算エンジンを搭載するマイクロプロセッサは、演算エンジン200と、コア205からなる。演算エンジン200は、特殊な演算をおこなうための専用のプロセッサであり、コア205は、命令の解釈、実行により、主記憶装置204からのデータをロードしたり、ストアする。
【0015】
本発明の実施形態では、主記憶装置204に置かれた入力ストリーム100がマイクロプロセッサコア205を介して演算エンジン200へ転送される。転送された結果はマイクロプロセッサコアから主記憶装置204へ出力ストリーム105として書き戻される。
【0016】
次に、図2を用いて本発明に係る演算エンジンの構成と、ストリームデータを処理するときの動作について説明する。
【0017】
本発明の演算エンジンに入力される入力ストリーム100は、演算手法や付加データを記述したヘッダ101と演算の対象となる入力データ102から成る。
【0018】
この入力ストリーム100を演算エンジン200へ入力し、ヘッダ101の内容の一部は、演算設定レジスタ201に、一部は、演算器202に転送され、また、入力データ102は、演算器202へ転送される。
【0019】
そして、転送されたヘッダ101の内容を解釈することによって、演算器202の入力データ102の処理方法が決定され、演算結果104を出力する。入力データ102は、可変長であり、入力データ102の切れ目までは続けて演算器202に入力され演算結果104を出力する。
【0020】
演算が終了して、演算エンジンから出力される出力ストリーム105は、演算結果103の後ろにフッタ104を添付した構成である。
【0021】
フッタ103は、ヘッダ101を元にして作られるものであり、演算手法や演算途中結果である。
【0022】
次に、図3および図4を用いて入力ストリーム100と出力ストリーム105の加工処理について説明する。
図3は、入力ストリーム100と出力ストリーム105の各部の関係を示す模式図である。
図4は、複数の入力ストリーム100が入力され、複数の出力ストリーム105が出力されるときの様子を示す模式図である。
【0023】
図3に示されるように演算エンジン200に、入力ストリーム100として、ヘッダhと、データdが入力される。そして、これの演算結果の出力ストリーム105として、演算結果rと、フッタfが出力されたとする。
【0024】
このときに、本発明の演算エンジンを搭載したマイクロプロセッサは、フッタfを、次の入力ストリーム100のヘッダhとして用いられるものである。
【0025】
演算の内容としては、フッタfの内容と同一の内容であるときもあるし、それが加工されて用いられるときもある。
【0026】
また、図4に示されるように演算エンジンに複数の入力ストリームが入力されるものとする。このとき、入力ストリームAと入力ストリームAは、関連データであり、入力ストリームAが入力ストリームAの続きのデータであるとする。
【0027】
そして、入力ストリームBは、それらと無関係に処理されるデータであるとする。
【0028】
本来なら、入力ストリームAの、次に、入力ストリームAが処理されるのが最も効率がよい。しかしながら、入力ストリームBをある時間内に処理しなければならない場合には、入力ストリームAに優先して処理することになる。
【0029】
本発明では、そのような場合に、入力ストリームAのヘッダAを元にして作られたフッタAにそのような情報を反映させ、それを入力ストリームAのヘッダAを作成することにより、入力ストリームAの演算の途中結果を引き継いで、演算を再開することが可能になる。
【0030】
したがって、このような入力ストリームBによる割り込み(順番の乱れ)も許されることになる。
【0031】
次に、図5を用いて本発明の演算エンジンにより演算される入力ストリームと出力ストリームの具体例について説明する。
図5は、暗号モジュールに用いられる入力ストリームと出力ストリームを示した模式図である。
【0032】
本発明の演算エンジンは、例えば、暗号モジュールの処理に利用することができる。ヘッダ部に与える演算手法としては、どのような暗号を使っているかのモードであり、付加データとしては、データ長、暗号鍵、暗号の初期値などがある。
【0033】
例えば、暗号のCBCモードを使用する場合のヘッダは、ワード0〜ワード5までのCBCモードを示す暗号モード、データ長n、暗号鍵64ビットと暗号初期値64ビットである。ワード4とワード5に格納されている暗号初期値は、特にCBCモードの場合、演算結果を次の入力データと排他的論理和をとることにより暗号化をおこなうため、最初に演算する場合は、演算結果が存在しないため初期値を予め設定しておく必要があり、そのための初期値である。
【0034】
そして、入力ストリーム100のワード6〜ワード(n+5)については、平文、すなわち、暗号前のデータである。
【0035】
ヘッダに格納されている暗号モードの部分で演算エンジンの演算手法を定義しており、データ長nにデータである平文の処理量を示しておりこの値の処理が終了した時点で、暗号エンジンはフッタの出力を開始する。この暗号モードと、データ長に格納された情報は、図1に示される演算エンジン200の中の演算設定レジスタ201に送られる。
【0036】
また、鍵と暗号初期値は、転送されてくる平文の暗号化に使用されるデータである。これらは、平文データと同様に、演算エンジン200の演算器202へ送られ、演算器で平文データが暗号化される。そして、暗号化をおこなったデータから順に演算結果として、出力され、データ長nの処理が終了した場合には、フッタとして暗号化に使用した暗号モード、データ長n、鍵64ビットと途中結果64ビットを出力する。
【0037】
途中結果はCBCモードの排他的論理和で使用する値であり、次の暗号化の暗号初期値となる。
【0038】
ここで、データ部にあたるのは、暗号文が格納された出力ストリームのワード0〜ワードnまでの値であり、フッタにあたるのは、暗号モード、データ長n、鍵と途中結果が格納された出力ストリームのワードn〜ワード(n+5)までの値である。そして、次の暗号処理の演算では、これらのフッタの情報をそのままヘッダとして使用でき、続けてデータとして平文を与えてやることで暗号文を得ることが可能である。
【0039】
〔実施形態2〕
以下、本発明に係る第二の実施形態を、図6を用いて説明する。
図6は、本発明の演算エンジンを動画データの処理に応用したシステムのシステム構成図である。
【0040】
本実施形態は、本発明の演算エンジンのストリームの処理を、動画データの処理に応用した例である。
【0041】
このシステムは、図6に示されるように、ハードディスクなどの補助記憶装置内の動画データA209と動画B210をネットワーク206を用いて、マイクロプロセッサ203へ接続し、動画A209と動画B210を同時に出力できるシステムである。
【0042】
先ず、システムは、データA207をネットワーク206を用いてマイクロプロセッサ203へ転送する。マイクロプロセッサ203内のメモリコントローラ212は、受け取ったデータA214を、常に主記憶装置204内に保存しているヘッダA213の後へ保存し、ストリームデータAを作る。
【0043】
ストリームデータAは、コプロセッサ211からの要求によりメモリコントローラ212を介して転送されヘッダA213に従って演算をおこない、その結果をメモリコントローラ212を介して主記憶装置204へ保存する。
【0044】
この際、保存するデータは演算した結果である動画A215とフッタA216である。このフッタA216はデータA207からくる次のデータのヘッダA213として使用することになるため、このまま主記憶装置204に保持される。主記憶装置204内の動画データ215は、再度メモリコントローラ212を介してNTSC出力213を通り、外部へ動画A209として出力される。また、同時に出力すべきデータB208は、ネットワーク206を介してメモリコントローラ212を通り、主記憶装置204へ転送される。
【0045】
一方、この時、転送されたデータB218は、コプロセッサ211がおこなう演算手法を記述したヘッダB217の後へ保存され、ストリームデータBを形成する。ストリームデータBはメモリコントローラを介してコプロセッサ211へ転送されヘッダB217に従って処理をおこない、演算結果である動画B219とフッタBを主記憶装置へ転送する。
【0046】
そして、動画B219の部分のみ主記憶装置204からメモリコントローラ212、NTSC出力213を介して動画B210として外部へ出力される。これらの一連の処理は、時分割制御でおこなわれており、コプロセッサ211は、データA214とデータB218を切替えて処理をおこなっており、処理の方式は各々ヘッダA213とヘッダB217に記述されたとおりにおこなれる。
【0047】
ヘッダの内容としては、具体的には、動画データの拡大率、表示位置、再生速度などが考えられる。
【0048】
ここで重要なのは、ヘッダとフッタは、常に主記憶装置204に常駐しているため、補助記憶装置にアクセスすることなく、演算速度の低下が生じないことにある。
【0049】
【発明の効果】
本発明によれば、演算エンジンを搭載するマイクロプロセッサにおいて、リアルタイムに多様な複数のストリームデータを処理することが可能であり、しかも、内部機構が簡易な演算エンジンを搭載するマイクロプロセッサを提供することができる。
【図面の簡単な説明】
【図1】本発明に係る演算エンジンの構成とストリームデータの関係を示す概略図である。
【図2】本発明に係る演算エンジンを搭載するマイクロプロセッサと主記憶装置からなるコンピュータシステムの構成図である。
【図3】入力ストリーム100と出力ストリーム105の各部の関係を示す模式図である。
【図4】複数の入力ストリーム100が入力され、複数の出力ストリーム105が出力されるときの様子を示す模式図である。
【図5】暗号モジュールに用いられる入力ストリームと出力ストリームを示した模式図である。
【図6】本発明の演算エンジンを動画データの処理に応用したシステムのシステム構成図である。
【符号の説明】
100…入力ストリーム
105…出力ストリーム
124…入力データ群
125…出力データ群
200…演算エンジン
201…演算設定レジスタ
202…演算器
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a calculation engine and a microprocessor on which the calculation engine is mounted, and more particularly to a calculation engine suitable for use in a multimedia processor that processes various data streams such as image processing and encryption processing, and a microprocessor on which the calculation engine is mounted.
[0002]
[Prior art]
In recent years, with the progress of processor technology, multimedia processors for processing various stream data such as image data, encrypted data, and audio data have been developed.
[0003]
Conventionally, when a plurality of stream data having different formats are used, when the real-time property is important, as many arithmetic units as the number of input stream data are provided, and the data is processed in real time by processing simultaneously. It was output. The calculation result is stored in the main storage device and is output as necessary. If real time is not important, all the stream data is processed and the result is stored in the main memory, then the next stream data is processed and stored in the main memory. Processing was performed in order.
[0004]
As a technique for handling an image stream, there is a “multi-screen display device” disclosed in Japanese Patent Application Laid-Open No. 2000-13712. This publication discloses a technique for inputting a plurality of image streams and selectively displaying them. Yes. According to this technique, data obtained by taking out only I pictures for each of a plurality of input streams is collectively stored, and expanded data can be displayed on the same screen as necessary.
[0005]
[Problems to be solved by the invention]
When processing a plurality of stream data of different formats, the operation cannot be interrupted in the middle, and it is necessary to process at least the break of the stream. For this reason, an arithmetic unit is provided for each stream so that processing can be performed exclusively. However, it is necessary to provide arithmetic units only for the types of stream data, which causes an increase in product cost.
[0006]
For example, in the above prior art, it is necessary to provide as many detection means and storage means as the number of stream data.
[0007]
Also, when processing one stream data to a break and processing stream data in another format, a storage device capable of storing the processed stream data in order to prevent a time lag from occurring It was necessary to provide.
[0008]
The present invention has been made to solve the above-described problems, and a microprocessor equipped with a calculation engine can process a plurality of stream data in real time, and has a simple internal mechanism. The object is to provide a microprocessor equipped with an arithmetic engine.
[0009]
[Means for Solving the Problems]
An arithmetic engine according to the present invention is an arithmetic engine that inputs stream data, and includes an arithmetic unit that outputs an arithmetic result and an arithmetic setting register that can set the arithmetic method of the arithmetic unit. The stream data input to the calculation engine is composed of a header part describing a calculation method or additional data, and a data part to be calculated. The calculation engine divides the input stream data into a header part and a data part, and the calculation method and additional part of the header part are input to the calculation setting register, and a part of the additional data and data of the header part are input. The data of the part is input to the calculator. Then, at the end of the calculation, the contents of the calculation setting register are output as the data of the footer unit, the contents of the calculator are output as the calculation result, and output stream data is created and output based on the footer unit and the calculation result.
[0010]
Then, the output footer information is used as the header information of the subsequent input stream data. In this way, even during the calculation, it can be output as output stream data and used for the next calculation. Therefore, various types can be obtained with a simple mechanism without preparing a special storage device. Can be processed efficiently.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments according to the present invention will be described below with reference to FIGS.
[0012]
Embodiment 1
A first embodiment according to the present invention will be described below with reference to FIGS.
[0013]
First, a computer system comprising an arithmetic engine according to the present invention, a microprocessor on which it is mounted, and a main memory will be described with reference to FIGS.
FIG. 1 is a schematic diagram showing the relationship between the configuration of a calculation engine according to the present invention and stream data.
FIG. 2 is a block diagram of a computer system comprising a microprocessor equipped with a calculation engine according to the present invention and a main memory.
[0014]
As shown in FIG. 2, the microprocessor on which the arithmetic engine of the present invention is mounted includes an arithmetic engine 200 and a core 205. The arithmetic engine 200 is a dedicated processor for performing special arithmetic operations, and the core 205 loads and stores data from the main storage device 204 by interpreting and executing instructions.
[0015]
In the embodiment of the present invention, the input stream 100 placed in the main storage device 204 is transferred to the arithmetic engine 200 via the microprocessor core 205. The transferred result is written back as an output stream 105 from the microprocessor core to the main memory 204.
[0016]
Next, the configuration of the arithmetic engine according to the present invention and the operation when processing stream data will be described with reference to FIG.
[0017]
An input stream 100 input to the calculation engine of the present invention includes a header 101 describing a calculation method and additional data, and input data 102 to be calculated.
[0018]
This input stream 100 is input to the arithmetic engine 200, a part of the content of the header 101 is transferred to the arithmetic setting register 201, a part is transferred to the arithmetic unit 202, and the input data 102 is transferred to the arithmetic unit 202. Is done.
[0019]
Then, by interpreting the contents of the transferred header 101, the processing method of the input data 102 of the calculator 202 is determined, and the calculation result 104 is output. The input data 102 has a variable length, and is continuously input to the calculator 202 until the break of the input data 102 is output, and the calculation result 104 is output.
[0020]
The output stream 105 output from the calculation engine after the calculation is completed has a configuration in which a footer 104 is attached after the calculation result 103.
[0021]
The footer 103 is created based on the header 101, and is a calculation method or a calculation result.
[0022]
Next, processing of the input stream 100 and the output stream 105 will be described with reference to FIGS. 3 and 4.
FIG. 3 is a schematic diagram showing the relationship between each part of the input stream 100 and the output stream 105.
FIG. 4 is a schematic diagram illustrating a state when a plurality of input streams 100 are input and a plurality of output streams 105 are output.
[0023]
As shown in FIG. 3, the header h 1 and the data d 1 are input to the arithmetic engine 200 as the input stream 100. Then, it is assumed that the calculation result r 1 and the footer f 1 are output as the output stream 105 of the calculation result.
[0024]
At this time, the microprocessor equipped with the arithmetic engine of the present invention uses the footer f 1 as the header h 2 of the next input stream 100.
[0025]
The contents of the calculation may be the same as the contents of the footer f 1 or may be processed and used.
[0026]
In addition, it is assumed that a plurality of input streams are input to the arithmetic engine as shown in FIG. At this time, it is assumed that the input stream A 1 and the input stream A 2 are related data, and the input stream A 2 is a continuation data of the input stream A 1 .
[0027]
The input stream B is data that is processed independently of them.
[0028]
Originally, it is most efficient to process the input stream A 1 and then the input stream A 2 . However, if that must be processed within a certain time an input stream B will be processed in preference to the input stream A 2.
[0029]
In such a case, the present invention reflects such information in the footer A 1 created based on the header A 1 of the input stream A 1 , and creates the header A 2 of the input stream A 2. by, taken over the intermediate result of the operation of the input stream a 1, it is possible to resume the operation.
[0030]
Therefore, interruption (order disorder) by such an input stream B is also permitted.
[0031]
Next, specific examples of the input stream and output stream calculated by the calculation engine of the present invention will be described with reference to FIG.
FIG. 5 is a schematic diagram showing an input stream and an output stream used in the cryptographic module.
[0032]
The arithmetic engine of the present invention can be used for processing of a cryptographic module, for example. The calculation method applied to the header part is a mode of what kind of encryption is used, and the additional data includes a data length, an encryption key, an initial value of encryption, and the like.
[0033]
For example, when using the CBC mode of encryption, the header includes an encryption mode indicating the CBC mode from word 0 to word 5, a data length n, an encryption key of 64 bits, and an encryption initial value of 64 bits. The encryption initial values stored in the words 4 and 5 are encrypted by taking the exclusive OR of the operation result with the next input data, particularly in the CBC mode. Since there is no calculation result, it is necessary to set an initial value in advance, and this is the initial value.
[0034]
The words 6 to (n + 5) of the input stream 100 are plain text, that is, data before encryption.
[0035]
The calculation method of the calculation engine is defined in the encryption mode portion stored in the header, and the processing amount of plain text as data is shown in the data length n. When processing of this value is completed, the encryption engine Start footer output. The information stored in the encryption mode and the data length is sent to the operation setting register 201 in the operation engine 200 shown in FIG.
[0036]
The key and the initial encryption value are data used for encrypting the transmitted plaintext. Similar to the plaintext data, these are sent to the computing unit 202 of the computation engine 200, and the plaintext data is encrypted by the computing unit. Then, the data is output as the operation result sequentially from the encrypted data, and when the processing of the data length n is completed, the encryption mode used for the encryption as the footer, the data length n, the key 64 bits, and the intermediate result 64 Output bits.
[0037]
The intermediate result is a value used in the exclusive OR of the CBC mode, and becomes the initial encryption value for the next encryption.
[0038]
Here, the data portion corresponds to the values from word 0 to word n of the output stream in which the ciphertext is stored, and the footer corresponds to the output in which the encryption mode, the data length n, the key and the intermediate result are stored. This is a value from word n to word (n + 5) of the stream. In the next cryptographic processing operation, the information of these footers can be used as a header as it is, and it is possible to obtain a ciphertext by giving plaintext as data subsequently.
[0039]
[Embodiment 2]
Hereinafter, a second embodiment according to the present invention will be described with reference to FIG.
FIG. 6 is a system configuration diagram of a system in which the arithmetic engine of the present invention is applied to processing of moving image data.
[0040]
The present embodiment is an example in which the stream processing of the calculation engine of the present invention is applied to the processing of moving image data.
[0041]
In this system, as shown in FIG. 6, the moving image data A209 and the moving image B210 in the auxiliary storage device such as a hard disk are connected to the microprocessor 203 using the network 206, and the moving image A209 and the moving image B210 can be output simultaneously. It is.
[0042]
First, the system transfers data A 207 to the microprocessor 203 using the network 206. The memory controller 212 in the microprocessor 203 saves the received data A 214 after the header A 213 that is always saved in the main storage device 204, and creates stream data A.
[0043]
The stream data A is transferred via the memory controller 212 in response to a request from the coprocessor 211, performs an operation according to the header A 213, and stores the result in the main storage device 204 via the memory controller 212.
[0044]
At this time, the data to be stored are the moving image A 215 and the footer A 216 which are the calculation results. Since this footer A216 is used as the header A213 of the next data coming from the data A207, it is held in the main memory 204 as it is. The moving image data 215 in the main storage device 204 passes through the NTSC output 213 again through the memory controller 212 and is output to the outside as the moving image A209. The data B 208 to be output simultaneously is transferred to the main storage device 204 through the memory controller 212 via the network 206.
[0045]
On the other hand, at this time, the transferred data B 218 is stored after the header B 217 describing the calculation method performed by the coprocessor 211 to form stream data B. The stream data B is transferred to the coprocessor 211 via the memory controller and processed according to the header B217, and the moving image B219 and the footer B as the calculation results are transferred to the main storage device.
[0046]
Then, only the portion of the moving image B219 is output to the outside as the moving image B210 from the main storage device 204 via the memory controller 212 and the NTSC output 213. A series of these processes are performed by time-sharing control, and the coprocessor 211 performs the process by switching between the data A 214 and the data B 218, and the processing method is as described in the header A 213 and the header B 217, respectively. Can be done.
[0047]
As the contents of the header, specifically, the enlargement ratio, display position, reproduction speed, etc. of the moving image data can be considered.
[0048]
What is important here is that the header and the footer are always resident in the main storage device 204, so that the operation speed is not reduced without accessing the auxiliary storage device.
[0049]
【The invention's effect】
According to the present invention, it is possible to provide a microprocessor that can process a plurality of stream data in real time in a microprocessor equipped with an arithmetic engine, and that includes an arithmetic engine with a simple internal mechanism. Can do.
[Brief description of the drawings]
FIG. 1 is a schematic diagram showing a relationship between a configuration of a calculation engine according to the present invention and stream data.
FIG. 2 is a block diagram of a computer system comprising a microprocessor equipped with a calculation engine according to the present invention and a main memory.
FIG. 3 is a schematic diagram showing the relationship between each part of an input stream 100 and an output stream 105;
FIG. 4 is a schematic diagram showing a state when a plurality of input streams 100 are input and a plurality of output streams 105 are output.
FIG. 5 is a schematic diagram showing an input stream and an output stream used in the cryptographic module.
FIG. 6 is a system configuration diagram of a system in which the arithmetic engine of the present invention is applied to processing of moving image data.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 100 ... Input stream 105 ... Output stream 124 ... Input data group 125 ... Output data group 200 ... Calculation engine 201 ... Calculation setting register 202 ... Calculator

Claims (5)

ストリームデータを入力して演算する演算エンジンにおいて、
入力されるストリームデータは、演算手法または付加データを記述したヘッダ部と、演算対象のデータ部であり、
演算して出力されるストリームデータは、演算結果部と、演算手法または付加データを記述したフッタ部であり、
前記フッタ部を、次にこの演算エンジンに入力するストリームデータのヘッダ部の元になる情報として用いることを特徴とする演算エンジン。
In the calculation engine that inputs and calculates stream data,
The stream data to be input is a header portion describing the calculation method or additional data, and a data portion to be calculated,
The stream data that is calculated and output is a calculation result part and a footer part that describes a calculation method or additional data.
An arithmetic engine characterized in that the footer part is used as information that becomes a source of a header part of stream data to be input next to the arithmetic engine.
ストリームデータを入力して演算する演算エンジンにおいて、
この演算エンジンは、演算設定レジスタと、演算器とを含み、
入力されるストリームデータは、演算手法または付加データを記述したヘッダ部と、演算対象のデータ部であり、
演算して出力されるストリームデータは、演算結果部と、演算手法または付加データを記述したフッタ部であり、
前記演算設定レジスタは、前記ヘッダ部の演算手法と付加データとを入力して、フッタ部を出力し、
前記演算器は、前記ヘッダ部の付加データと前記データ部とに含まれるデータを入力して、前記演算結果部の演算結果を出力し、
前記出力されるストリームデータのフッタ部を、次にこの演算エンジンに入力するストリームデータのヘッダ部の元になる情報として用いることを特徴とする演算エンジン。
In the calculation engine that inputs and calculates stream data,
The calculation engine includes a calculation setting register and a calculator.
The stream data to be input is a header portion describing the calculation method or additional data, and a data portion to be calculated,
The stream data that is calculated and output is a calculation result part and a footer part that describes a calculation method or additional data.
The calculation setting register inputs a calculation method and additional data of the header part, outputs a footer part,
The computing unit inputs the data included in the additional data of the header part and the data part, and outputs the computation result of the computation result part,
An arithmetic engine characterized in that the footer part of the output stream data is used as information that becomes the basis of the header part of the stream data to be input to the arithmetic engine next time.
ストリームデータを入力して演算する演算エンジンの演算制御方法において、
入力されるストリームデータは、演算手法または付加データを記述したヘッダ部と、演算対象のデータ部であり、
演算して出力されるストリームデータは、演算結果部と、演算手法または付加データを記述したフッタ部であり、
前記フッタ部を、次にこの演算エンジンに入力するストリームデータのヘッダ部の元になる情報として用いることを特徴とする演算エンジンの演算制御方法。
In a calculation control method of a calculation engine that inputs and calculates stream data,
The stream data to be input is a header portion describing the calculation method or additional data, and a data portion to be calculated,
The stream data that is calculated and output is a calculation result part and a footer part that describes a calculation method or additional data.
An arithmetic control method for an arithmetic engine, characterized in that the footer part is used as information that is a source of a header part of stream data that is next input to the arithmetic engine.
ストリームデータを入力して演算するマイクロプロセッサにおいて、
このマイクロプロセッサは、演算エンジンを含み、
主記憶装置には、異なった演算手法により演算する一つ以上のデータ群と、そのデータの演算手法または付加データを記述したヘッダ部とを格納しておき、
前記主記憶装置より、入力データストリームとして演算手法または付加データを記述したヘッダ部と、演算対象のデータ部を読み出して、
前記演算エンジンに入力し、
前記ヘッダ部に記述された演算手法または付加データに基づいて演算した結果を、出力データストリームとして、演算結果部と、演算手法または付加データを記述したフッタ部として出力し、
それらを再び前記主記憶装置に書き込むことを特徴とするマイクロプロセッサ。
In a microprocessor that inputs and operates stream data,
The microprocessor includes an arithmetic engine,
The main storage device stores one or more data groups to be calculated by different calculation methods, and a header portion describing the calculation method or additional data of the data,
From the main storage device, read out the header part describing the calculation method or additional data as the input data stream, and the data part to be calculated,
Input to the arithmetic engine,
A calculation result based on the calculation method or additional data described in the header part is output as an output data stream as a calculation result part and a footer part describing the calculation method or additional data,
A microprocessor characterized in that they are written again into the main memory.
ストリームデータを処理するためのコンピュータシステムにおいて、
このコンピュータシステムは、
ストリームデータを格納する補助記憶装置と、
マイクロプロセッサと、
主記憶装置と、
前記マイクロプロセッサで処理された結果を出力するための出力装置とからなり、
前記ストリームデータは、演算手法または付加データを記述した部分と、演算対象となるデータ部とからなり、
前記マイクロプロセッサは、前記補助記憶装置からそのストリームデータを読み込み、
前記演算手法または付加データを記述した部分の情報を前記主記憶装置に保持して、
前記主記憶装置に保持された前記演算手法または付加データを記述した部分の情報に従って、前記マイクロプロセッサは、前記演算対象となるデータ部に対して演算をおこなって、
その演算の結果として、前記演算手法または付加データの情報を前記主記憶装置に書き戻し、
かつ、前記出力装置に演算結果を出力することによって、
異なった演算手法に対応するストリームデータを連続して前記補助記憶装置から読み込んで処理することを特徴とするコンピュータシステム。
In a computer system for processing stream data,
This computer system
An auxiliary storage device for storing the stream data;
A microprocessor;
A main storage device;
An output device for outputting a result processed by the microprocessor;
The stream data is composed of a part describing a calculation method or additional data and a data part to be calculated,
The microprocessor reads the stream data from the auxiliary storage device,
Holding the information of the part describing the calculation method or additional data in the main storage device,
According to the information of the part describing the calculation method or additional data held in the main storage device, the microprocessor performs an operation on the data part to be calculated,
As a result of the calculation, information on the calculation method or additional data is written back to the main memory,
And by outputting the calculation result to the output device,
A computer system, wherein stream data corresponding to different calculation methods are continuously read from the auxiliary storage device and processed.
JP2002140061A 2002-05-15 2002-05-15 Arithmetic engine, microprocessor, and arithmetic control method thereof Expired - Fee Related JP3661944B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002140061A JP3661944B2 (en) 2002-05-15 2002-05-15 Arithmetic engine, microprocessor, and arithmetic control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002140061A JP3661944B2 (en) 2002-05-15 2002-05-15 Arithmetic engine, microprocessor, and arithmetic control method thereof

Publications (2)

Publication Number Publication Date
JP2003330703A JP2003330703A (en) 2003-11-21
JP3661944B2 true JP3661944B2 (en) 2005-06-22

Family

ID=29701032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002140061A Expired - Fee Related JP3661944B2 (en) 2002-05-15 2002-05-15 Arithmetic engine, microprocessor, and arithmetic control method thereof

Country Status (1)

Country Link
JP (1) JP3661944B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4873546B2 (en) * 2006-06-20 2012-02-08 ルネサスエレクトロニクス株式会社 Data processing apparatus and data processing method
CN101473332B (en) 2007-06-15 2012-04-04 日立软件工程株式会社 Document processing system and method

Also Published As

Publication number Publication date
JP2003330703A (en) 2003-11-21

Similar Documents

Publication Publication Date Title
US7509502B2 (en) Data processing apparatus and method for merging secure and non-secure data into an output data stream
JP3661944B2 (en) Arithmetic engine, microprocessor, and arithmetic control method thereof
JP4051974B2 (en) Image processing apparatus and image processing method
JP2007034392A (en) Information processor and data processing method
CN108390915A (en) The rendering intent and terminal device at interface
JPH1185455A (en) Graphic drawing and processing system
JPH06262810A (en) Image processing device
JP2000165249A (en) Data restoring device
JPH03196345A (en) Data input/output system
JPH04148226A (en) Format overlay device
JPH0612198A (en) Printer device control circuit
JPH01195581A (en) Image data processing system
JPH04299437A (en) On-line program processing system
JPH08292878A (en) Console device output selection control system
JPH01156841A (en) Compression system for print file
JPS60171530A (en) Data processing system
JPH04133127A (en) Data display device
JPH02109095A (en) drawing device
JP2006260477A (en) Pipeline image processor, image processing method and program
JP2000163230A (en) Image data combining device, image output device provided with the device, and image output controller
JPH04336366A (en) Menu system using control file
JPH01147615A (en) Console control system
JPH04243480A (en) Retrieval method by contracted image
JPH05159029A (en) Graphic data processing system
JPH01142862A (en) Image processing system for information processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050317

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

Free format text: PAYMENT UNTIL: 20090401

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100401

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees