JPH09152984A - Generalized data format converting device - Google Patents

Generalized data format converting device

Info

Publication number
JPH09152984A
JPH09152984A JP7312585A JP31258595A JPH09152984A JP H09152984 A JPH09152984 A JP H09152984A JP 7312585 A JP7312585 A JP 7312585A JP 31258595 A JP31258595 A JP 31258595A JP H09152984 A JPH09152984 A JP H09152984A
Authority
JP
Japan
Prior art keywords
data
processor
word
format
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7312585A
Other languages
Japanese (ja)
Inventor
Peku Yuu Tan
タン・ペク・ユ−
Nun Fuatsuto Kee
ケ−・ヌン・ファット
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP7312585A priority Critical patent/JPH09152984A/en
Publication of JPH09152984A publication Critical patent/JPH09152984A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To store and transfer program code or data with high efficiency by converting source data to a standard processor format. SOLUTION: The block diagram of a standard processor data format encoder consists of five functional blocks, i.e., a header generating circuit 11, a source data file purser 12, a dual-buffer bank 13, a pack coded word connector and byte swapper 14, and a bit stream formatter 15. The functional block 14 packs each pack data word in specific format according to an Endian flag mark. Further, the bit stream formatter compose and assembles the header and pack coded word generated by the functional block 14 in the standard processor data format. Thus, the source data is converted to the standard processor format for storing and transmitting the processor program code and data.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する分野】本発明は、異なるプロセッサファ
ミリのためのプロセッサコ−ド又はデ−タの記憶、検索
及び伝送に関するものである。
FIELD OF THE INVENTION The present invention relates to the storage, retrieval and transmission of processor code or data for different processor families.

【0002】[0002]

【従来技術】多くのコンピュ−タ又はプロセッサシステ
ムでは、プログラム及びデ−タメモリはシステムの構成
部分を形成する。異なるマイクロプロセッサシステムフ
ァミリのワード長は異なっている。例えば、モトロ−ラ
の56000ディジタル信号プロセッサ(DSP)ファミリのマイ
クロコ−ドは24ビットのワード長を有し、松下電器のMN
1900(DSP)マイクロプロセッサファミリは40ビットのワ
ード長を有する。
BACKGROUND OF THE INVENTION In many computer or processor systems, program and data memory form part of the system. Different microprocessor system families have different word lengths. For example, Motorola's 56000 Digital Signal Processor (DSP) family of microcodes has a word length of 24 bits, and Matsushita Electric's MN
The 1900 (DSP) microprocessor family has a word length of 40 bits.

【0003】プログラム又はデ−タメモリ領域にロ−ド
される必要があるオブジェクトコ−ド又はデ−タは所定
のプログラムワード長に従う必要がある。この要求を満
たすために、これらのデ−タは16ビットワード長のフォ
−マットに記憶される。フォ−マット化16ビットワード
は上位バイト及び下位バイトに分割される。このビッグ
エンディアンフォ−マットでは、上位バイトは偶数のア
ドレスロケ−ションに記憶され、下位バイトは奇数のア
ドレスロケ−ションに記憶される。この従来のファイル
フォ−マットを使用すると、ワード長が、2バイトより
大きく、かつ奇数のバイト数を有するならば、ワード毎
に1バイトの無駄があることになる。プログラム又はデ
−タワードの最初のバイトは偶数アドレスで始まるよう
に、1つのダミ−バイトがワード毎に付加される。もし
この従来のファイルフォ−マットが8ビット幅のPROMに
デ−タを記憶するために使用されるならば、記憶される
ワード毎に1バイトの無駄がある(図6を参照)。
The object code or data that needs to be loaded into the program or data memory area must follow a predetermined program word length. To meet this requirement, these data are stored in a 16-bit word length format. A formatted 16-bit word is divided into upper and lower bytes. In this big endian format, the upper byte is stored in the even address location and the lower byte is stored in the odd address location. Using this conventional file format, there is a waste of 1 byte per word if the word length is greater than 2 bytes and has an odd number of bytes. One dummy byte is added word by word such that the first byte of the program or data word begins at an even address. If this conventional file format is used to store data in an 8-bit wide PROM, there is a waste of one byte for each word stored (see Figure 6).

【0004】市販市場におけるプロセッサの数は、驚く
べき割合で増加している。あるコンピュ−タシステムで
は、複雑な問題を解決するために2つ以上のプロセッサ
の必要が起こっている。専門家の中には、複雑な計算上
の徹底的な問題を解決する能力を有する1つで全てを包
含するプロセッサはないと思っている人もいる。多くの
マルチプロセッサシステムでは、各プロセッサはそのオ
ブジェクトコ−ドを実行するための別個のプログラムメ
モリ空間を必要とする。プログラム空間の構成はプロセ
ッサの種類に応じてワード長が変化する。このことは、
オブジェクトコ−ドのプログラムワード長を変えるた
め、オブジェクトコードをプログラムメモリ空間にダウ
ンロ−ドすることを困難にかつ煩わしくする。
The number of processors in the commercial market is increasing at a surprising rate. In some computer systems, there is a need for more than one processor to solve complex problems. Some experts think that no one all-inclusive processor has the ability to solve complex computationally intensive problems. In many multiprocessor systems, each processor requires a separate program memory space to execute its object code. The word length of the program space varies depending on the type of processor. This means
Changing the program word length of the object code makes it difficult and troublesome to download the object code into the program memory space.

【0005】異なるメモリバンクの構成は、異なるプロ
セッサファミリからなるマルチプロセッサコンピュ−タ
プラットフォ−ムにおいて個々のプロセッサのために特
に形成される必要がある。マルチプロセッサ環境におい
て非常に大きな動的アプリケ-ションプログラムを実行
することは、実行時にプログラムロ−ドする必要があ
る。このようなシステムにおいて、ロ−ディングは監視
エンティティによって実行される。この監視エンティテ
ィは、コンピュ-タシステムにおけるプロセッサ群内の
特定プロセッサにプログラムをロ−ドする。個別のプロ
セッサのためのデ−タロ−ディングを許可するために、
プロセッサマイクロワード長のためのチャネルは、監視
エンティティとプロセッサとの間に必要とされる。マル
チプロセッサ環境では、プロセッサのためにn個の異な
る種類のワード長があり、n個の物理チャネルが監視エ
ンティティとプロセッサとの間に必要とされる。
Different memory bank configurations need to be specially configured for individual processors in a multiprocessor computer platform of different processor families. Executing a very large dynamic application program in a multiprocessor environment requires program loading at run time. In such a system, the loading is performed by the monitoring entity. This supervising entity loads the program to a specific processor within the processors in the computer system. To allow data loading for individual processors,
A channel for processor microword length is required between the supervisory entity and the processor. In a multiprocessor environment, there are n different types of word lengths for the processor, and n physical channels are required between the supervisory entity and the processor.

【0006】[0006]

【発明が解決すべき課題】従来の各種方法には、上述し
たような課題が存在する。
The various conventional methods have the above-mentioned problems.

【0007】本発明は、元2進データフォーマットから
伝送及び記憶に適した標準プロセッサデータフォーマッ
トへのデータ翻訳技術を提供する。このフォーマット
は、異なるワード長のためのプロセッサの元2進データ
を記憶する目的のために発明される。プロセッサワード
の間に詰めるために使用されるいかなる冗長データも完
全に除去される。このように、異なるプロセッサワード
長要求に対して、有効な効率のデータ記憶フォーマット
である。データフォーマットで指定されたワード長に従
って標準のダウンロードデータ動作を生じるように各プ
ロセッサにある装置が発明される。プロセッサデータロ
ーとしても公知のこの装置は、実時間標準プロセッサデ
ータフォーマットがデータを復号し、ターゲットプロセ
ッサにロードすることを可能にする。
The present invention provides a technique for translating data from the original binary data format into a standard processor data format suitable for transmission and storage. This format is invented for the purpose of storing the processor's original binary data for different word lengths. Any redundant data used to pad between processor words is completely removed. Thus, it is an effective and efficient data storage format for different processor word length requirements. The device in each processor is invented to produce a standard download data operation according to the word length specified in the data format. This device, also known as processor data row, enables the real-time standard processor data format to decode the data and load it into the target processor.

【0008】[0008]

【課題を解決するための手段】異なる種類のターゲット
プロセッサにダウンロードされるプログラム又はデータ
ワードの間に詰められた冗長データを除去し、マルチプ
ロセッサ環境においてターゲットプロセッサにデータを
ダウンロードするための異なる種類の伝送チャネルを有
することを避けるために、一般化データフォーマット翻
訳器は、元2進データを異なる種類のプロセッサワード
長のためのデータの記憶及び伝送のための標準プロセッ
サデータフォーマットに変換する手段と、奇数のバイト
数を有するプロセッサワード長の間に詰められた冗長メ
モリを除去するための手段と、標準プロセッサデータフ
ォーマットを復号し、かつ前記ターゲットプロセッサに
データをダウンロードするための手段とを備えている。
SUMMARY OF THE INVENTION Different types of data for downloading to a target processor in a multi-processor environment are eliminated to eliminate redundant data packed between programs or data words downloaded to different types of target processors. To avoid having a transmission channel, the generalized data format translator comprises means for converting the original binary data into a standard processor data format for storage and transmission of data for different types of processor word lengths, Means for removing redundant memory packed between processor word lengths having an odd number of bytes, and means for decoding standard processor data formats and downloading data to said target processor. .

【0009】本発明は、元データをプロセッサプログラ
ムコード及びデータを記憶及び伝送するための標準プロ
セッサフォーマットに変換されることを可能にする。標
準プロセッサデータフォーマットを使用して、プロセッ
サコード及びデータはターゲットプロセッサにダウンロ
ードされることができる。標準プロセッサデータフォー
マットで符号化されたデータの伝送は、一般的な直列チ
ャネルを使用して実行され得る。プロセッサデータ又は
コードの標準プロセッサデータフォーマットの復号及び
ダウンロードは、プロセッサデータローダによって実行
される。この装置は、記憶プログラムデータ又はトラン
スポートプログラムデータ及びターゲットプロセッサの
フォーマットを示すヘッダ情報を抽出する。フォーマッ
ト情報に関しては、入力データバイトがターゲットデー
タフォーマットに従ってそれぞれのロケーションに送ら
れるように適当なバッファを使用可能にするためのシー
ケンスが生成される。
The present invention allows original data to be converted into standard processor formats for storing and transmitting processor program code and data. The processor code and data can be downloaded to the target processor using standard processor data formats. Transmission of data encoded in a standard processor data format may be performed using common serial channels. Decoding and downloading of processor data or code in a standard processor data format is performed by the processor data loader. The device extracts stored program data or transport program data and header information indicating the format of the target processor. Regarding the format information, a sequence is generated to enable the appropriate buffer so that the input data bytes are sent to their respective locations according to the target data format.

【0010】[0010]

【発明の実施の形態】以下、本発明の実施の形態例につ
いて図面を参照して説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.

【0011】図1、2、3、4、5は本発明の実施の形
態例を示す。
1, 2, 3, 4, and 5 show embodiments of the present invention.

【0012】元データの符号化 図1は、プロセッサオブジェクトコード又はデータから
なる元データファイルを符号化する際に使用される本発
明の実施の形態例を示す。標準プロセッサデータフォー
マットエンコーダのブロック図は、5つの機能ブロッ
ク、すなわちヘッダ生成器回路(11で示される)、元デ
ータファイルパーサ(12で示される)、デュアルバッフ
ァバンク(13で示される)、パックコード化ワード連結
器・バイトスワッパー(14で示されている)及びビット
ストリームフォーマッタ(15で示される)からなる。
Encoding of Original Data FIG. 1 shows an exemplary embodiment of the present invention used in encoding an original data file consisting of processor object code or data. A block diagram of a standard processor data format encoder is shown with five functional blocks: a header generator circuit (shown at 11), an original data file parser (shown at 12), a dual buffer bank (shown at 13), and a packed code. It consists of a digitized word concatenator / byte swapper (shown at 14) and a bitstream formatter (shown at 15).

【0013】図1で示された符号化の動作は、下記にス
テップで示される。 [11] ヘッダ生成中、SW1はPt1.1位置にある。ヘッダ
は、符号化される元ファイルのフォーマットを示す入力
値に基づいて生成される。SW1は、ヘッダを生成後、ヘ
ッダ情報の後にパック符号化データが付加されることを
可能にするPt1.2に切り換えられる。 [12] プログラムコード又はデータを含んでいる元デ
ータファイルは、ワード長(WL)元データファイルに従
って解析される。元データファイルパーサ1.2は、その
WLの値(単位はバイト数)によって決定されたワード
長を有する入力元データファイルから2つのプロセッサ
コード又はデータワードを取り出す。この機能ブロック
1.2はまた、SW2位置に基づいてワードをデュアルバッフ
ァバンク1.3に転送する。符号化される2プログラムコ
ード又はデータがいずれもデュアルバッファバンクに記
憶された後、SW2は最初の位置に戻る。 [13] 偶数アドレスオフセットプロセッサデータ又は
コードワードは偶数バッファに記憶され、奇数アドレス
オフセットワードは奇数バッファに記憶される。奇数オ
フセットアドレス(奇数アドレスとしても知られる)
は、2n+1の値によって決定され、偶数オフセットアドレ
ス(偶数アドレスとしても知られる)は、2nの値によっ
て決定される。開始するアドレスは、入力パラメータ、
すなわち開始アドレスから得られる。SW2は偶数オフセ
ットアドレス指定ワードにロードするためにPt2.2位置
にあり、SW2は奇数オフセットアドレス指定ワードにロ
ードするためにPt2.1位置にある。nの値は、バッファ
にロードされる2プロセッサコード又はデータ毎に1ス
テップだけ増分される。 [14] エンディアン標識に基づいて、符号化される2
プロセッサデータはパックコード化ワードを形成するた
めに連結される。エンディアンフラグに応じて、各サブ
コード化ワードの中のバイトはバイトスワップされる。
各コード化ワードは16バイト長である。各コード化ワ
ード中のサブコード化ワード数はWLの値に等しい。この
機能ブロック14は、エンディアンフラグ標識に基づいて
各パックデータワードを図1に示されたフォーマットに
パックする。SW3は、各サブコード化ワードのために連
結及びバイトスワップされた2プロセッサコード又はデ
ータワード毎にPt3.1位置にある。 [15] ビットストリームフォーマッタは、14で示され
た機能ブロックによって生成されたヘッダ及びパックコ
ード化ワードを標準プロセッサデータフォーマットに編
成及び組立てる。
The operation of the encoding shown in FIG. 1 is shown in steps below. [11] SW1 is at Pt1.1 position during header generation. The header is generated based on the input value indicating the format of the original file to be encoded. SW1 is switched to Pt1.2 which allows the pack encoded data to be added after the header information after generating the header. [12] The original data file containing the program code or data is analyzed according to the word length (WL) original data file. The source data file parser 1.2 retrieves two processor codes or data words from the input source data file having a word length determined by the value of WL (unit is the number of bytes). This functional block
1.2 also transfers words to dual buffer bank 1.3 based on SW2 position. After any two encoded program codes or data are stored in the dual buffer bank, SW2 returns to its initial position. [13] Even address offset processor data or codewords are stored in even buffers and odd address offset words are stored in odd buffers. Odd offset address (also known as odd address)
Is determined by the value 2n + 1 and the even offset address (also known as the even address) is determined by the value 2n. The starting address is the input parameter,
That is, it is obtained from the start address. SW2 is in position Pt2.2 to load even offset addressing words and SW2 is in position Pt2.1 to load odd offset addressing words. The value of n is incremented by one step for every two processor codes or data loaded into the buffer. [14] 2 encoded based on the endianness indicator
The processor data are concatenated to form a pack coded word. Depending on the endian flag, the bytes within each subcoded word are byte swapped.
Each coded word is 16 bytes long. The number of sub-coded words in each coded word is equal to the value of WL. This function block 14 packs each packed data word into the format shown in FIG. 1 based on the endian flag indicator. SW3 is at the Pt3.1 position for every two processor code or data words concatenated and byte swapped for each subcoded word. [15] The bitstream formatter organizes and assembles the header and pack coded words generated by the functional block shown at 14 into a standard processor data format.

【0014】標準プロセッサデータフォーマット 標準プロセッサデータフォーマットは、異なるプログラ
ム及びデータコードの情報を提供するためのファイルヘ
ッダを持つ。図5に示すように、ヘッダは10バイトブロ
ックである。ヘッダの後に続くのはプログラムコードで
ある。10バイトのヘッダブロックは、ターゲットメモリ
のベースページアドレス、アドレスオフセット、プログ
ラム/データのサイズ、変換プログラムワード長(バイ
ト単位)及びリトル又はビッグエンディアンフォーマッ
ト標識からなる。下記のビットストリームヘッダは、k
個の数のパックコード化ワードを記憶するフォーマット
記述を示している。
Standard Processor Data Format The standard processor data format has a file header to provide information for different programs and data codes. As shown in FIG. 5, the header is a 10-byte block. Following the header is the program code. The 10 byte header block consists of the base page address of the target memory, the address offset, the program / data size, the translated program word length (in bytes) and the little or big endian format indicator. The bitstream header below is k
7 illustrates a format description for storing a number of packed coded words.

【0015】ページアドレスは、256アドレスオフセッ
トでアドレス指定される256ページまで使用可能にす
る。64Kワードまでのプログラムサイズが使用され得
る。エンディアンフォーマット標識は、2バイトが16ビ
ットコード化ワード毎にスワップされるかどうかを指定
する。
The page address makes up to 256 pages addressed by a 256 address offset. Program sizes up to 64K words can be used. The endian format indicator specifies whether 2 bytes are swapped per 16-bit coded word.

【0016】プログラムローダは、ローディング処理を
セットアップするためにヘッダを抽出しなければならな
い。アドレスページ及びオフセットは、ローダがターゲ
ットプロセッサのメモリ空間内の開始するロケーション
を決定することを可能にする。プログラムサイズは、ロ
ードするためのプログラムコードの総数を提供する。プ
ロセッサメモリにプログラムワードをラッチングするこ
とはワード長標識によって決定される。エンディアン標
識がセットされる場合、ハイ及びローバイトはスワップ
されねばならない。このように、マルチプロセッサ環境
では、この標準ファイルフォーマットは、ヘッダ復号及
びデータローディングのための標準装置を使用してプロ
セッサに送られ、メモリにロードされ得る。
The program loader must extract the header to set up the loading process. The address page and offset allow the loader to determine a starting location within the target processor's memory space. Program size provides the total number of program codes to load. Latching a program word in processor memory is determined by the word length indicator. If the endian indicator is set, the high and low bytes must be swapped. Thus, in a multiprocessor environment, this standard file format can be sent to the processor and loaded into memory using standard equipment for header decoding and data loading.

【0017】プロセッサデータローダ メモリからのデータは、マイクロコントローラ又はアド
レス及びヘッダ生成ができる他のいかなる他の種類の装
置によっても抽出される。シングルプロセッサ環境で
は、ターゲットプロセッサの選択なしのヘッダは、次の
フィールド、(I)プログラムサイズ、(II)開始アドレ
ス、(III)エンディアン標識、及び(IV)ターゲットワ
ード長(ヘッダが翻訳器で局部的に生成されることがで
きるので、任意である)で生成される。開始アドレス
は、翻訳データが記憶されるべきである第1のターゲッ
トプロセッサプログラムメモリのロケーションを示して
いる。プログラムサイズは、ターゲットメモリに記憶さ
れるデータワードの総数に変換される記憶(ソース)プ
ログラムデータの長さを示している。エンディアン標識
は、バイトスワップがソースプログラムデータからター
ゲットプログラムデータまで必要とされるかどうかを示
している。
The data from the processor data loader memory is retrieved by a microcontroller or any other type of device capable of address and header generation. In a single processor environment, the header without target processor selection includes the following fields: (I) program size, (II) start address, (III) endian indicator, and (IV) target word length (header local to translator). Can be generated at will, which is optional). The starting address indicates the location in the first target processor program memory where the translation data should be stored. The program size indicates the length of the stored (source) program data converted into the total number of data words stored in the target memory. The endian indicator indicates whether byte swapping is required from the source program data to the target program data.

【0018】奇数データワードのバイトスワッピング
(ハイバイトに対するローバイト及びその逆)のため
に、データワードの最後のバイトは、次のワードの最初
のバイト後に記憶される。もし予備バッファが使用され
ないならば、現ワードの最後のワードは次のワードの最
初のバイト後のみクロックアウトされるので、現ワード
の最初のバイトは、次の続いて起こるバイトによってオ
ーバーライトされる。次に、再配置又は変換データは、
ターゲットプログラムが完全にダウンロードされるま
で、ターゲットプロセッサメモリにラッチされる。これ
は、図2に示されている。しかしながら、奇数バイトタ
ーゲットデータワードのためのこの記憶により、奇数タ
ーゲットワードクロックは1バイトクロックだけ遅延さ
れねばならないが、偶数ターゲットワードクロックは1
バイトクロックだけ増加されねばならない。偶数バイト
ターゲットワードでは、ワードクロックは無矛盾である
か又は固定されている。
Due to byte swapping of odd data words (low bytes to high bytes and vice versa), the last byte of a data word is stored after the first byte of the next word. If the spare buffer is not used, the last word of the current word is clocked out only after the first byte of the next word, so the first byte of the current word is overwritten by the next succeeding byte. . Then the rearranged or converted data is
It will be latched in the target processor memory until the target program is completely downloaded. This is shown in FIG. However, due to this storage for odd byte target data words, the odd target word clock must be delayed by one byte clock, while the even target word clock is
It must be increased by the byte clock. For even byte target words, the word clock is consistent or fixed.

【0019】要するに、可変ワードクロックは、バイト
スワップを有する奇数バイトターゲットデータワードの
ために必要とされるのみである。偶数アドレスワードク
ロックはn+1バイト長であるが、奇数アドレスクロック
はn-1バイトである。ここで、nはバイト単位のターゲ
ットワード長である。異なる入出力フォーマットの組合
せを必要とされるワードクロック(奇数及び偶数)を得
るための式が、[47]で見い出され得る。偶数アドレス
は、データが書き込まれる最初及びあらゆる次の交互の
アドレスを参照するが、奇数アドレスは第2番目及びあ
らゆる交互に並ぶアドレスを参照する。
In summary, a variable word clock is only needed for odd byte target data words with byte swap. The even address word clock is n + 1 bytes long, while the odd address clock is n-1 bytes. Here, n is the target word length in bytes. The equations for obtaining the required word clocks (odd and even) with different combinations of input and output formats can be found in [47]. Even addresses refer to the first and every next alternating address where data is written, while odd addresses refer to the second and every alternating address.

【0020】図3は、いかにプロセッサデータローダが
シングル又はマルチプロセッサシステムに順応させるか
を示す。 [31] マイクロプロセッサは、プログラムコード/デ
ータを抽出し、ターゲットプロセッサのためのデータフ
ォーマット翻訳に必要とされるヘッダを付加する。所望
のターゲットプロセッサを示すためのマルチプロセッサ
環境のためのヘッダの中に(シングルプロセッサに較べ
て)エキストラ(extra)フィールドがある。 [32] マルチプロセッサ環境では、エキストラ(extr
a)デコーダはターゲットプロセッサメモリの一つ(又
はそれ以上)を選択する必要がある。デコーダは、所望
のターゲットメモリを選択することができるいかなる装
置又は回路でもある。 [33] データフォーマット翻訳器は、記憶プログラム
コード/データをヘッダで指定されたターゲットプロセ
ッサフォーマットに変換する。 [34] プロセッサメモリは、異なるタイプのプロセッ
サによって検索された変換コード/データを記憶する。
メモリは、FIFO、バッファアレイ、RAM、EPR
OM及びディジタルデータを記憶できるその他のような
いかなる記憶装置をも含んでいる。
FIG. 3 illustrates how the processor data loader accommodates single or multi-processor systems. [31] The microprocessor extracts the program code / data and adds the headers needed for data format translation for the target processor. There is an extra field (compared to a single processor) in the header for a multiprocessor environment to indicate the desired target processor. [32] In a multiprocessor environment, extra (extr
a) The decoder needs to select one (or more) of the target processor memories. A decoder is any device or circuit that can select the desired target memory. [33] The data format translator converts the stored program code / data into the target processor format specified in the header. [34] Processor memory stores conversion codes / data retrieved by different types of processors.
The memory is FIFO, buffer array, RAM, EPR
It includes any storage device such as an OM and other capable of storing digital data.

【0021】図4は、標準プロセッサデータフォーマッ
トを所望のターゲットフォーマットに変換することを示
している。
FIG. 4 illustrates converting a standard processor data format to a desired target format.

【0022】示される実施の形態例の動作は下記にステ
ップで示される。 [41] 処理要素からソースデータ及びヘッダ情報を受
け取る。 [42] ターゲットワード長、エンディアン標識、プロ
グラムサイズ及びアドレスフィールドのようなヘッダ情
報を抽出する。 [43] 二次バッファからの最初のバイトが無効である
ので、ターゲットメモリの開始アドレスよりも前に1ワ
ードを指示するようにアドレスポインタを初期設定す
る。「書き込み及びチップイネーブル」信号もまた同時
に生成される。(昇順又は降順に応じてゼロ又は最終ア
ドレス+1にセットされる)カウンタ及び比較器は、プ
ログラムサイズに従ってターゲットメモリ にロードす
る。アドレスポインタは、データの各ワードがメモリに
書き込まれるとき、増分される。 [44] エンディアン標識及びターゲットワード長フィ
ールドに応じて、下記のシーケンスが生成される。 エンディアン標識=1(バイトスワップ) 奇数バイトターゲットワード 偶数アドレス XX01,XX00,XX11,XX10,...XX00,n アンダーラインをつけた2進シーケンスは、バイトが予
備バッファに送られることを示している。
The operation of the illustrated embodiment is illustrated in steps below. [41] Receive source data and header information from the processing element. [42] Extract header information such as target word length, endian indicator, program size and address fields. [43] Since the first byte from the secondary buffer is invalid, initialize the address pointer to point one word before the starting address of the target memory. A "write and chip enable" signal is also generated at the same time. The counter and comparator (set to zero or final address + 1 depending on ascending or descending order) loads into the target memory according to the program size. The address pointer is incremented as each word of data is written to memory. [44] The following sequence is generated depending on the endian indicator and the target word length field. Endian indicator = 1 (byte swap) Odd byte target word Even address XX01, XX00 , XX11, XX10, ... XX00 , n An underlined binary sequence indicates that a byte is sent to the spare buffer. .

【0023】奇数アドレス XX10,XX01,.....n,n-1 偶数バイトターゲットワード 偶数及び奇数アドレス XX01,XX00,XX11,XX10,.....n,n-1 エンディアン標識=0(非バイトスワップ) 偶数及び奇数バイトターゲットワード 奇数及び偶数アドレス XX00,XX01,XX10,.....n-1,n ここで、XXの長さはワード幅に依存し、nは2進形式の
ワード幅である。シーケンスの長さはターゲットワード
長に依存するが、シーケンスの配列はエンディアン標識
に依存する。シーケンス生成器は、一旦最後のプログラ
ムワードが記憶されると、停止する。 [45] 生成されたシーケンスを復号し、バッファを起
動してターゲットプログラムフォーマットが得られるよ
うに入力データを所望のバッファロケーションに連続し
て送る。データワードがバッファに満杯にされる毎にシ
ーケンスが繰り返される。 [46] データワードが形成されるまで、バッファは個
別のデータバイトを記憶する。 [47] アドレス生成器で指示されたアドレスとともに
形成されたデータワードをターゲットメモリにラッチす
る。ワードクロックは、エンディアン標識及びワード幅
に応じて固定又は可変である。ワードクロックは、ター
ゲットメモリのためのバッファに記憶されたデータをラ
ッチするために下記に要約されたようなワードクロック
タイミングでのパルスからなる。 ワードクロック=n+(c*e) n バイト単位のターゲットワード幅 c 奇数アドレスワードクロックに対して1 偶数アドレスワードクロックに対して1 e(エンディアン標識) 0 非バイトスワップ 1 バイトスワップ [48] 一旦、データワードがワードクロックでラッチ
され、メモリに書き込まれると、プログラムメモリのた
めのアドレスは増分される。標準プロセッサデータフォーマットのデータ記憶効率 データ記憶効率ための計算は下記の式に基づいている。
Odd address XX10, XX01, ..... n, n-1 Even byte target word Even and odd address XX01, XX00, XX11, XX10, ..... n, n-1 Endian indicator = 0 ( Non-byte swap) Even and odd byte target words Odd and even addresses XX00, XX01, XX10, .... n-1, n where XX length depends on word width, n is in binary form It is word wide. The length of the sequence depends on the target word length, while the array of sequences depends on the endianness indicator. The sequence generator stops once the last program word has been stored. [45] Decode the generated sequence and send the input data continuously to the desired buffer location so that the buffer is activated and the target program format is obtained. The sequence repeats each time a data word fills the buffer. [46] The buffer stores individual data bytes until a data word is formed. [47] Latch the data word formed with the address indicated by the address generator in the target memory. The word clock is fixed or variable depending on the endian indicator and the word width. The word clock consists of pulses at word clock timing as summarized below to latch the data stored in the buffer for the target memory. Word clock = n + (c * e) Target word width in n-byte units c 1 for odd address word clock 1 for even address word clock 1 e (endian indicator) 0 non-byte swap 1 byte swap [48] When the data word is latched with the word clock and written to memory, the address for program memory is incremented. Data Storage Efficiency of Standard Processor Data Format The calculation for data storage efficiency is based on the following formula:

【0024】 eff%=(D×100)/(D+H+R) (式1) D: 記憶される元データのビットの数 H: ヘッダ記述のために使用されるビットの数 R: ビットストリームを符号化する際に使用される
冗長ビット 記憶及び伝送のために使用されるフォーマットに基づい
て、効率は、eff(wL=3)=99.99962% となる。
Eff% = (D × 100) / (D + H + R) (Equation 1) D: number of bits of original data to be stored H: number of bits used for header description R: bit Based on the redundant bit storage used when encoding the stream and the format used for transmission, the efficiency is eff (wL = 3) = 99.99962%.

【0025】ここで、ワード長=3バイト R=0 H=8×8Here, word length = 3 bytes R = 0 H = 8 × 8

【0026】[0026]

【発明の効果】本発明にかかる一般化データフォーマッ
ト翻訳器は、プロセッサプログラムコード又はデータが
高効率の標準プロセッサフォーマットと呼ばれる標準デ
ータフォーマットに記憶及び伝送されることを可能にす
る。
The generalized data format translator according to the present invention enables processor program code or data to be stored and transmitted in a standard data format referred to as a highly efficient standard processor format.

【0027】本発明では、任意のバイト長の異なるエン
ディアンフォーマットのプロセッサデータ/コードワー
ドを伝送及び記憶するための標準フォーマットに翻訳す
るための方法が装置にされる。本発明はまた、装置が、
シングルプロセッサ又はマルチプロセッサ計算環境でヘ
ッダ復号及び標準プロセッサフォーマットをターゲット
プロセッサのメモリへのロードを実行することを可能に
する。
In the present invention, an apparatus is provided for translating processor data / codewords of different endian formats of arbitrary byte length into a standard format for transmission and storage. The present invention also provides that the device
Allows header decoding and loading of standard processor formats into the memory of the target processor in a single processor or multiprocessor computing environment.

【0028】本装置は、非常に低いハードウェアの複雑
性によって実施され得る。
The device can be implemented with very low hardware complexity.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施の形態例にかかる標準プロセッ
サデータフォーマットのエンコーダ
FIG. 1 is a standard processor data format encoder according to an embodiment of the present invention.

【図2】フォーマット復号及びデータローディング際に
再配置するバイトの例示
FIG. 2 is an example of bytes to be rearranged during format decoding and data loading.

【図3】シングル又はマルチプロセッサシステムで使用
されるプロセッサデータローダ
FIG. 3 is a processor data loader used in a single or multiprocessor system.

【図4】プロセッサデータローダのブロックFIG. 4 Block of processor data loader

【図5】標準プロセッサデータフォーマットFIG. 5: Standard processor data format

【図6】冗長バイト詰込み[Figure 6] Packing of redundant bytes

【符号の説明】[Explanation of symbols]

11 ヘッダ生成器回路 12 元データパーサ 13 デュアルバッファバンク 14 パックコード化ワード連結及びバイトスワッパ 15 ビットストリームフォーマッタ 11 Header Generator Circuit 12 Original Data Parser 13 Dual Buffer Bank 14 Pack Coded Word Concatenation and Byte Swapper 15 Bit Stream Formatter

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】(a)元入力ファイルを構文解析して、入
力ファイルフォーマットのために指定されたバイトで示
される任意のワード長のワードサイズにする手段と、 (b)隣接ワードを連結して、一つの偶数及び一つの奇
数のアドレス指定されたプロセッサワードからなるパッ
クコード化ワードを形成する手段と、 (c)標準プロセッサデータフォーマットで記憶された
データの内容及びフォーマットを示すヘッダを有する変
換ファイルを記憶する手段と、 を備え、 特定のプロセッサのためのデータ又はコードを含んでい
る元(raw)2進入力を記憶及び伝送のための標準プロ
セッサデータフォーマットに変換することを特徴とする
一般化データフォーマット変換装置。
1. A means for (a) parsing an original input file into a word size of an arbitrary word length indicated by bytes specified for the input file format; and (b) concatenating adjacent words. Means for forming a packed coded word consisting of one even and one odd addressed processor word, and (c) a transformation having a header indicating the content and format of the data stored in the standard processor data format. A means for storing files, characterized in that it converts a raw binary input containing data or code for a particular processor into a standard processor data format for storage and transmission. Data format converter.
【請求項2】(a)請求項1記載の一般化データフォー
マット変換装置を利用して作られた、トランスポートフ
ァイルから前記ヘッダを抽出する手段と、 (b)各メモリワード(ターゲットプロセッサデータ
幅)のために昇順(降順)でターゲットプロセッサプロ
グラムメモリへのアドレスを生成する手段と、 (c)記憶ファイルフォーマットがターゲットファイル
フォーマットのその最初のロケーションに戻されるよう
にデコーダ又は多重分離装置のために適当なシーケンス
を生成する手段であって、前記デコーダ又は多重分離装
置はまた、所望のロケーションにデータバイトをスイッ
チするためのクロックを生成することができるものであ
って、 (d)データワードが形成されるとき、データワード幅
をターゲットプロセッサメモリ領域の中へラッチする手
段と、 を備え、前記標準プロセッサデータフォーマットを復号
し、かつ実時間でターゲットプロセッサにデータをロー
ドするための復号装置。
2. (a) means for extracting the header from a transport file, which is created by using the generalized data format conversion device according to claim 1, and (b) each memory word (target processor data width). Means for generating addresses to the target processor program memory in ascending (descending) order for (c), and (c) for the decoder or demultiplexer so that the storage file format is returned to its original location in the target file format. Means for generating a suitable sequence, said decoder or demultiplexer being also capable of generating a clock for switching the data bytes to the desired location, where (d) the data word is formed. The data word width to the target processor memory And means for latching into the decode a standard processor data format, and real-time decoding apparatus for loading data to the target processor.
JP7312585A 1995-11-30 1995-11-30 Generalized data format converting device Pending JPH09152984A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7312585A JPH09152984A (en) 1995-11-30 1995-11-30 Generalized data format converting device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7312585A JPH09152984A (en) 1995-11-30 1995-11-30 Generalized data format converting device

Publications (1)

Publication Number Publication Date
JPH09152984A true JPH09152984A (en) 1997-06-10

Family

ID=18030982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7312585A Pending JPH09152984A (en) 1995-11-30 1995-11-30 Generalized data format converting device

Country Status (1)

Country Link
JP (1) JPH09152984A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100324597B1 (en) * 1999-12-30 2002-02-16 박종섭 Bit Stream Processor
JP2008033722A (en) * 2006-07-31 2008-02-14 Matsushita Electric Ind Co Ltd Data transfer control device with endian conversion circuit
WO2022127453A1 (en) * 2020-12-14 2022-06-23 International Business Machines Corporation In-line data packet transformations

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100324597B1 (en) * 1999-12-30 2002-02-16 박종섭 Bit Stream Processor
JP2008033722A (en) * 2006-07-31 2008-02-14 Matsushita Electric Ind Co Ltd Data transfer control device with endian conversion circuit
WO2022127453A1 (en) * 2020-12-14 2022-06-23 International Business Machines Corporation In-line data packet transformations
US11379390B1 (en) 2020-12-14 2022-07-05 International Business Machines Corporation In-line data packet transformations
GB2617739A (en) * 2020-12-14 2023-10-18 Ibm In-line data packet transformations

Similar Documents

Publication Publication Date Title
JP2610084B2 (en) Data expansion method and apparatus, and data compression / expansion method and apparatus
US6195026B1 (en) MMX optimized data packing methodology for zero run length and variable length entropy encoding
US6144322A (en) Variable length code processor with encoding and/or decoding
US5087913A (en) Short-record data compression and decompression system
US5572209A (en) Method and apparatus for compressing and decompressing data
US7130952B2 (en) Data transmit method and data transmit apparatus
US5499382A (en) Circuit and method of bit-packing and bit-unpacking using a barrel shifter
US5623262A (en) Multi-word variable length encoding and decoding
JP3558840B2 (en) Apparatus and method for detecting bit stream signal format in signal processing system
KR20010085220A (en) Efficient coding of side information in a lossless encoder
WO1997022932A1 (en) Computer implemented method for transferring packed data between register files and memory
US5309156A (en) Variable-length code decoding device
JPH09152984A (en) Generalized data format converting device
JPH11353225A (en) Memory that processor addressing gray code system in sequential execution style accesses and method for storing code and data in memory
US4789852A (en) Method and apparatus for converting data in a binary format
JPH05183443A (en) Code conversion method
JPH11509664A (en) VLIW processor for processing compressed instruction format
US5739778A (en) Digital data formatting/deformatting circuits
FI115350B (en) Method and apparatus for using a data structure for data compression
US4727510A (en) System for addressing a multibank memory system
US10931303B1 (en) Data processing system
KR20080075773A (en) Method and apparatus for gif decompression using fixed-size codeword table
EP0499225B1 (en) Variable-length code decoding device
FI110373B (en) Procedure for unpacking packed audio signal
JPS62245467A (en) Symbolic processing system and method