JPH1145207A - データバス変換方式 - Google Patents
データバス変換方式Info
- Publication number
- JPH1145207A JPH1145207A JP9202765A JP20276597A JPH1145207A JP H1145207 A JPH1145207 A JP H1145207A JP 9202765 A JP9202765 A JP 9202765A JP 20276597 A JP20276597 A JP 20276597A JP H1145207 A JPH1145207 A JP H1145207A
- Authority
- JP
- Japan
- Prior art keywords
- data
- data bus
- state
- unit
- units
- 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.)
- Withdrawn
Links
Landscapes
- Bus Control (AREA)
Abstract
(57)【要約】
【課題】本発明はMPU及びメモリに接続されたnビッ
ト幅のデータバス上でデータの配列を変換するデータバ
ス変換方式に関し,データバス上で上位,下位のデータ
配列の変換や,任意の配列順序の変換や,複数のデータ
を対象としたバイト単位の縦横配列の変換等をファーム
ウェア負荷を軽減しながら高速に行うことを目的とす
る。 【解決手段】データバス上のデータを受け取って,デー
タの配列を変換した出力を前記データバス上に発生する
データ変換部を設け,データ変換部は,データバス上の
データを一時保持するラッチ部と,ラッチ部の出力が入
力され,入力データの位置と異なる出力側の前記データ
バスの位置に予め接続されたスリーステート部とを備え
る。ラッチ部にデータを書き込みを行った後,スリース
テート部を読み出すことによりデータバス上に変換され
たデータを出力するよう構成する。
ト幅のデータバス上でデータの配列を変換するデータバ
ス変換方式に関し,データバス上で上位,下位のデータ
配列の変換や,任意の配列順序の変換や,複数のデータ
を対象としたバイト単位の縦横配列の変換等をファーム
ウェア負荷を軽減しながら高速に行うことを目的とす
る。 【解決手段】データバス上のデータを受け取って,デー
タの配列を変換した出力を前記データバス上に発生する
データ変換部を設け,データ変換部は,データバス上の
データを一時保持するラッチ部と,ラッチ部の出力が入
力され,入力データの位置と異なる出力側の前記データ
バスの位置に予め接続されたスリーステート部とを備え
る。ラッチ部にデータを書き込みを行った後,スリース
テート部を読み出すことによりデータバス上に変換され
たデータを出力するよう構成する。
Description
【0001】
【発明の属する技術分野】本発明はデータバスの配列の
変換を可能とし,メモリ上のデータ入れ換えをハードウ
ェアで行い,処理装置における処理性能の向上を可能と
するデータバス変換方式に関する。
変換を可能とし,メモリ上のデータ入れ換えをハードウ
ェアで行い,処理装置における処理性能の向上を可能と
するデータバス変換方式に関する。
【0002】近年,伝送装置等の装置内の監視制御部等
に用いられるマイクロプロセッサ(MPU)等の処理装
置により複雑な処理が要求されるようになり,8ビット
から16ビット,32ビット,64ビットと徐々にデー
タビット幅が拡張している。これらの拡張されたデータ
ビット幅のバスを使用したデータの処理では,メモリか
らのデータの配列を上位と下位の間で変換したり,バイ
ト単位で配列順序を変えたり,複数のデータにより縦横
配列の変換等を簡易な構成により実現することが望まれ
ている。
に用いられるマイクロプロセッサ(MPU)等の処理装
置により複雑な処理が要求されるようになり,8ビット
から16ビット,32ビット,64ビットと徐々にデー
タビット幅が拡張している。これらの拡張されたデータ
ビット幅のバスを使用したデータの処理では,メモリか
らのデータの配列を上位と下位の間で変換したり,バイ
ト単位で配列順序を変えたり,複数のデータにより縦横
配列の変換等を簡易な構成により実現することが望まれ
ている。
【0003】
【従来の技術】図21,図22は従来例の説明図(その
1),(その2)である。図21にはa.装置構成と
b.データ変換のフローチャートを示す。この説明で
は,対象となる装置構成の例としてa.に示すように,
MPUに32ビットのデータ幅のデータバスが設けら
れ,このデータバスにメモリが接続され,他の装置は図
示省略されている。
1),(その2)である。図21にはa.装置構成と
b.データ変換のフローチャートを示す。この説明で
は,対象となる装置構成の例としてa.に示すように,
MPUに32ビットのデータ幅のデータバスが設けら
れ,このデータバスにメモリが接続され,他の装置は図
示省略されている。
【0004】この構成において,メモリの32ビットの
データの中の上位16ビットと下位16ビットを入れ換
える場合の従来の処理内容を図21のb.及び図22を
用いて説明する。なお,メモリから読み出した元の32
ビットのデータは,4バイト(1バイト=8ビット)で
構成され,上位バイトから下位バイトにバイトA,バイ
トB,バイトC,バイトDと配列されているものとす
る。最初にメモリから32ビットデータを読み出して作
業テーブルA(MPU内)に格納する(図21のS1,
図22の)。次に作業テーブルAのデータを16ビッ
ト右シフトして作業テーブルBに代入する(図21のS
2,図22の)。次に作業テーブルAのデータを16
ビット左シフトして作業テーブルCに代入する(図21
のS1,図22の)。このとき左右にシフトされて,
オーバーフローした16ビット分のデータは消えて,空
いた部分に“0”が代入される。最後に作業テーブルB
と作業テーブルCのビットについてオア(論理和)演算
を実行し,上位/下位を16ビット単位で順序を変換し
たバイトC,D,A,Bが得られる。
データの中の上位16ビットと下位16ビットを入れ換
える場合の従来の処理内容を図21のb.及び図22を
用いて説明する。なお,メモリから読み出した元の32
ビットのデータは,4バイト(1バイト=8ビット)で
構成され,上位バイトから下位バイトにバイトA,バイ
トB,バイトC,バイトDと配列されているものとす
る。最初にメモリから32ビットデータを読み出して作
業テーブルA(MPU内)に格納する(図21のS1,
図22の)。次に作業テーブルAのデータを16ビッ
ト右シフトして作業テーブルBに代入する(図21のS
2,図22の)。次に作業テーブルAのデータを16
ビット左シフトして作業テーブルCに代入する(図21
のS1,図22の)。このとき左右にシフトされて,
オーバーフローした16ビット分のデータは消えて,空
いた部分に“0”が代入される。最後に作業テーブルB
と作業テーブルCのビットについてオア(論理和)演算
を実行し,上位/下位を16ビット単位で順序を変換し
たバイトC,D,A,Bが得られる。
【0005】
【発明が解決しようとする課題】上記の上位/下位16
ビット単位のデータ入れ換えのように,データバスアク
セス技術において,従来技術ではファームウェアで実行
するため,左右へのビットシフト処理にかかる時間が大
きく,システム性能が低下するという問題があった。上
記の32ビットデータの上位/下位16ビットずつを入
れ換える場合にかかる時間をMPUマシンサイクル値で
示すと,以下のようになる。
ビット単位のデータ入れ換えのように,データバスアク
セス技術において,従来技術ではファームウェアで実行
するため,左右へのビットシフト処理にかかる時間が大
きく,システム性能が低下するという問題があった。上
記の32ビットデータの上位/下位16ビットずつを入
れ換える場合にかかる時間をMPUマシンサイクル値で
示すと,以下のようになる。
【0006】 メモリ読み出し処理 1マシンサイクル 16ビット右シフト処理 16マシンサイクル 16ビット左シフト処理 16マシンサイクル ビットOR処理 1マシンサイクル これらを合計すると34(MPUマシンサイクル)とな
る。
る。
【0007】本発明は広いビット幅を持つデータバスに
より接続された処理装置とメモリを備えるシステムにお
いてデータバス上で上位,下位のデータ配列の変換や,
バイト単位やビット単位での任意の配列順序の変換や,
複数のデータを対象としたバイト単位の縦横配列の変換
等をファームウェア負荷を軽減しながら高速に行うこと
ができるデータバス変換方式を提供することを目的とす
る。
より接続された処理装置とメモリを備えるシステムにお
いてデータバス上で上位,下位のデータ配列の変換や,
バイト単位やビット単位での任意の配列順序の変換や,
複数のデータを対象としたバイト単位の縦横配列の変換
等をファームウェア負荷を軽減しながら高速に行うこと
ができるデータバス変換方式を提供することを目的とす
る。
【0008】
【課題を解決するための手段】本発明はファームウェア
処理機能を一部ハードウェアにより処理することでファ
ームウェアの負荷を軽減し,nビット長のデータバス上
で上位n/2ビットと下位n/2ビットのデータ配列変
換,LSB/MSB配列変換,バイト単位で自在にデー
タ配列順序を可変の配列変換及び複数データについてバ
イト単位のデータ縦横配列変換を行うものである。
処理機能を一部ハードウェアにより処理することでファ
ームウェアの負荷を軽減し,nビット長のデータバス上
で上位n/2ビットと下位n/2ビットのデータ配列変
換,LSB/MSB配列変換,バイト単位で自在にデー
タ配列順序を可変の配列変換及び複数データについてバ
イト単位のデータ縦横配列変換を行うものである。
【0009】図1は本発明の原理説明図であり,1は図
示省略されたMPU等の処理装置及びメモリと接続され
たデータバス,2は3及び4の各部で構成するデータ変
換部,3はデータバス1からの各ビット信号を保持する
ラッチ部,4は制御信号(EN)により禁止されるとハ
イインピーダンスとなり,制御信号により許容されると
入力信号(“0”,“1”に対応する信号)に応じた出
力信号を発生する複数のゲートからなるスリーステート
部,1’はスリーステート部4の出力が入力される出力
側のデータバスであり,上記データバス1と接続され,
スリーステート部4の各バイト(ビット)の出力線はそ
れぞれ予め決められた変換先の出力側のデータバス1’
の変換先のバイト(ビット)の線に接続するよう配線さ
れている。
示省略されたMPU等の処理装置及びメモリと接続され
たデータバス,2は3及び4の各部で構成するデータ変
換部,3はデータバス1からの各ビット信号を保持する
ラッチ部,4は制御信号(EN)により禁止されるとハ
イインピーダンスとなり,制御信号により許容されると
入力信号(“0”,“1”に対応する信号)に応じた出
力信号を発生する複数のゲートからなるスリーステート
部,1’はスリーステート部4の出力が入力される出力
側のデータバスであり,上記データバス1と接続され,
スリーステート部4の各バイト(ビット)の出力線はそ
れぞれ予め決められた変換先の出力側のデータバス1’
の変換先のバイト(ビット)の線に接続するよう配線さ
れている。
【0010】この説明では,データバスが32ビット
(4バイト)のビット幅(D31 〜D00)を備え,データ変
換部2において上位の16ビットデータ(D31〜D16)と下
位の16ビットデータ(D15〜D00)を入れ換える場合の原
理について説明する。メモリから読み出された32ビッ
ト(上位側からバイトA〜Dの順に配列)のデータはデ
ータバス1を介してデータ変換部2のラッチ部3に供給
され,書き込み制御信号(Write)が入力されるとラッチ
部3に並列に格納される。次にスリーステート部4に対
し読み出し制御信号(Read) が入力されると,ラッチ部
3に保持された各ビット信号が,対応する各スリーステ
ートゲートを介して,予め配線により設定された出力側
のバス1’のビット線に出力される。この例では,デー
タバス1からバイトA(D31〜D24)とバイトB(D23〜D16)
としてラッチ部3に保持されたビットデータが,スリー
ステート部4から出力側のデータバス1’に上位と下位
を入れ換えて出力される。すなわち,バイトAはデータ
バス1’のビット線 D08〜D15 に出力され, バイトBは
データバス1’のビット線 D00〜D07 に出力され, バイ
トCはデータバス1’のビット線 D24〜D31 に出力さ
れ, バイトDはデータバス1’のビット線 D16〜D23 に
出力される。従って,データバス1’(データバス1と
接続)上には,ラッチ部3に書き込まれた時のバイト
A,B,C,Dの配列に対し,スリーステート部4から
読み出されるとバイトC,D,A,Bの配列に変換され
る。
(4バイト)のビット幅(D31 〜D00)を備え,データ変
換部2において上位の16ビットデータ(D31〜D16)と下
位の16ビットデータ(D15〜D00)を入れ換える場合の原
理について説明する。メモリから読み出された32ビッ
ト(上位側からバイトA〜Dの順に配列)のデータはデ
ータバス1を介してデータ変換部2のラッチ部3に供給
され,書き込み制御信号(Write)が入力されるとラッチ
部3に並列に格納される。次にスリーステート部4に対
し読み出し制御信号(Read) が入力されると,ラッチ部
3に保持された各ビット信号が,対応する各スリーステ
ートゲートを介して,予め配線により設定された出力側
のバス1’のビット線に出力される。この例では,デー
タバス1からバイトA(D31〜D24)とバイトB(D23〜D16)
としてラッチ部3に保持されたビットデータが,スリー
ステート部4から出力側のデータバス1’に上位と下位
を入れ換えて出力される。すなわち,バイトAはデータ
バス1’のビット線 D08〜D15 に出力され, バイトBは
データバス1’のビット線 D00〜D07 に出力され, バイ
トCはデータバス1’のビット線 D24〜D31 に出力さ
れ, バイトDはデータバス1’のビット線 D16〜D23 に
出力される。従って,データバス1’(データバス1と
接続)上には,ラッチ部3に書き込まれた時のバイト
A,B,C,Dの配列に対し,スリーステート部4から
読み出されるとバイトC,D,A,Bの配列に変換され
る。
【0011】この原理説明では1つのデータについて1
つの変換の例について示したが,この原理を用いてデー
タバスのデータをバイト単位またはビット単位で種々に
変換することができ,更に複数のデータについて縦横の
変換を行うことができる。
つの変換の例について示したが,この原理を用いてデー
タバスのデータをバイト単位またはビット単位で種々に
変換することができ,更に複数のデータについて縦横の
変換を行うことができる。
【0012】
【発明の実施の形態】図2は実施例1の構成である。図
中,10はMPU,11はメモリ,12−1〜12−4
はそれぞれ1バイト分(8ビット)の信号を格納するラ
ッチ部(図1の3に対応),13−1〜13−4はそれ
ぞれ1バイト分の入力信号を制御信号(EN)により許
可されると出力し,禁止されるとハイインピーダンス状
態になるスリーステート部(図1の4に対応)であり,
データの上位/下位を交換したデータを読み出すよう出
力側のバスと接続されている。14はアドレスをデコー
ドするアドレスデコーダ(DECで表示),15は書込
制御部(ORで表示),16は読出制御部(ORで表
示)である。
中,10はMPU,11はメモリ,12−1〜12−4
はそれぞれ1バイト分(8ビット)の信号を格納するラ
ッチ部(図1の3に対応),13−1〜13−4はそれ
ぞれ1バイト分の入力信号を制御信号(EN)により許
可されると出力し,禁止されるとハイインピーダンス状
態になるスリーステート部(図1の4に対応)であり,
データの上位/下位を交換したデータを読み出すよう出
力側のバスと接続されている。14はアドレスをデコー
ドするアドレスデコーダ(DECで表示),15は書込
制御部(ORで表示),16は読出制御部(ORで表
示)である。
【0013】また,10aはMPUデータバス(以下,
データバスという),10bはMPUアドレスバス(以
下,アドレスバスという)であり,10cはMPU書込
制御信号(MPU Write で表示, 以下,書込制御信号とい
う),10dはMPU読出制御信号 (MPU Readで表示,
以下,読出制御信号という),10a’はスリーステー
ト部の出力側のデータバスを表し,上記データバス10
aと接続されている。
データバスという),10bはMPUアドレスバス(以
下,アドレスバスという)であり,10cはMPU書込
制御信号(MPU Write で表示, 以下,書込制御信号とい
う),10dはMPU読出制御信号 (MPU Readで表示,
以下,読出制御信号という),10a’はスリーステー
ト部の出力側のデータバスを表し,上記データバス10
aと接続されている。
【0014】この図2に示す実施例の構成は,32ビッ
トデータの上位16ビットと下位16ビットデータの入
換を行うもので,図3に示す実施例1の動作フローを用
いて説明する。
トデータの上位16ビットと下位16ビットデータの入
換を行うもので,図3に示す実施例1の動作フローを用
いて説明する。
【0015】最初にMPU10からメモリ11に対しア
ドレスバス10b上に任意のアドレスを指定し,読出制
御信号10dを駆動して32ビットデータ(バイトA〜
D)をデータバス10aに読み出しMPU10内の作業
テーブルA(図示省略)に格納する(図3のS1)。次
に,作業テーブルAのデータの書き込みの指示により書
込制御信号10cを駆動すると,書込制御部15から各
ラッチ部12−1〜12−4のクロック端子CKに供給
されると,作業テーブルAの32ビットのデータがデー
タバス10aから最下位バイト(バイトD)〜最上位バ
イト(バイトA)の順に配列して各ラッチ部12−1〜
12−4に書込む(図3のS2)。次にスリーステート
部13−1〜13−4にアクセスし,アドレスデコーダ
14及び読出制御信号10dを出力して読出制御部16
を介してイネーブル端子(EN)に読出許可信号として
供給すると,スリーステート部13−1〜13−4の出
力は,それぞれ予め配線された接続に従って出力側デー
タバス10a’の各ビット線に出力され,最下位バイト
側から順にバイトB,バイトA,バイトD,バイトCの
順に配置され,このデータはMPU10の作業テーブル
Aに格納される(図3のS3)。
ドレスバス10b上に任意のアドレスを指定し,読出制
御信号10dを駆動して32ビットデータ(バイトA〜
D)をデータバス10aに読み出しMPU10内の作業
テーブルA(図示省略)に格納する(図3のS1)。次
に,作業テーブルAのデータの書き込みの指示により書
込制御信号10cを駆動すると,書込制御部15から各
ラッチ部12−1〜12−4のクロック端子CKに供給
されると,作業テーブルAの32ビットのデータがデー
タバス10aから最下位バイト(バイトD)〜最上位バ
イト(バイトA)の順に配列して各ラッチ部12−1〜
12−4に書込む(図3のS2)。次にスリーステート
部13−1〜13−4にアクセスし,アドレスデコーダ
14及び読出制御信号10dを出力して読出制御部16
を介してイネーブル端子(EN)に読出許可信号として
供給すると,スリーステート部13−1〜13−4の出
力は,それぞれ予め配線された接続に従って出力側デー
タバス10a’の各ビット線に出力され,最下位バイト
側から順にバイトB,バイトA,バイトD,バイトCの
順に配置され,このデータはMPU10の作業テーブル
Aに格納される(図3のS3)。
【0016】図4は実施例1によるデータ変換の前・後
の状態を示す。このように,変換後のデータはMPUか
ら読み込んだ上位データと下位データの16ビットずつ
が交換されている。
の状態を示す。このように,変換後のデータはMPUか
ら読み込んだ上位データと下位データの16ビットずつ
が交換されている。
【0017】図5は実施例2の構成である。図中,MP
U10,メモリ11及びデータバス10a,アドレスバ
ス10b,書込制御信号10c,読出制御信号10dは
上記実施例1(図2)と同様である。17−1〜17−
4はそれぞれ1バイト分のデータの書込・読出を独立に
行う2つのポート,すなわちLポート(WR-L,RD-L)とR
ポート(WR-R,RD-R)を備えたデュアルポートメモリであ
る。この実施例2では,上記実施例1のようなラッチ部
とスリーステート部を使用しないでデュアルポートメモ
リを使用し,データの連続アクセスによる変換を可能に
する。
U10,メモリ11及びデータバス10a,アドレスバ
ス10b,書込制御信号10c,読出制御信号10dは
上記実施例1(図2)と同様である。17−1〜17−
4はそれぞれ1バイト分のデータの書込・読出を独立に
行う2つのポート,すなわちLポート(WR-L,RD-L)とR
ポート(WR-R,RD-R)を備えたデュアルポートメモリであ
る。この実施例2では,上記実施例1のようなラッチ部
とスリーステート部を使用しないでデュアルポートメモ
リを使用し,データの連続アクセスによる変換を可能に
する。
【0018】この実施例2でも,上記実施例1の場合と
同様に上位16ビットデータと下位の16ビットデータ
の入れ換えを行う例について,図6に示す実施例2の動
作フローを用いて説明する。
同様に上位16ビットデータと下位の16ビットデータ
の入れ換えを行う例について,図6に示す実施例2の動
作フローを用いて説明する。
【0019】MPU10がメモリ11の任意のアドレス
からデータバス10aを介して32ビットのデータがM
PU10のプログラム内の作業テーブルA(図示省略)
に格納される(図6のS1)。次に作業テーブルAのデ
ータをデュアルポートメモリ17−1〜17−4のLポ
ートに接続されいるデータバスを介して,任意のアドレ
スn番地にデータ(各デュアルポートメモリに1バイ
ト)を書き込む(図6のS2)。この時,デュアルポー
トメモリ17−1〜17−4のそれぞれのデータ配列は
最下位バイト(バイトD)〜最上位バイト(バイトA)
である。この後,更に連続して任意のアドレス(n+
1)番地・・・・n+m番地まで,データの書き込みを
行う。
からデータバス10aを介して32ビットのデータがM
PU10のプログラム内の作業テーブルA(図示省略)
に格納される(図6のS1)。次に作業テーブルAのデ
ータをデュアルポートメモリ17−1〜17−4のLポ
ートに接続されいるデータバスを介して,任意のアドレ
スn番地にデータ(各デュアルポートメモリに1バイ
ト)を書き込む(図6のS2)。この時,デュアルポー
トメモリ17−1〜17−4のそれぞれのデータ配列は
最下位バイト(バイトD)〜最上位バイト(バイトA)
である。この後,更に連続して任意のアドレス(n+
1)番地・・・・n+m番地まで,データの書き込みを
行う。
【0020】次にデュアルポートメモリ17−1〜17
−4のRポートに接続されているデータバスから任意に
アドレスn番地・・・・n+m番地まで連続してデータ
の読み出しを行う。この時,デュアルポートメモリ17
−1〜17−4の出力側のデータ配列はバイトB,バイ
トA,バイトD,バイトCであり,このデータはMPU
10の作業テーブルAに格納される(図6のS3)。変
換が終了したか判別し(図6のS4),終了しないとS
1に戻り,同じ処理が繰り返す。このように,上位/下
位16ビットデータの変換部としてデュアルポートメモ
リを用いることで,変換前のデータの書き込みと変換デ
ータの取り出しをそれぞれ連続して行うことができる。
−4のRポートに接続されているデータバスから任意に
アドレスn番地・・・・n+m番地まで連続してデータ
の読み出しを行う。この時,デュアルポートメモリ17
−1〜17−4の出力側のデータ配列はバイトB,バイ
トA,バイトD,バイトCであり,このデータはMPU
10の作業テーブルAに格納される(図6のS3)。変
換が終了したか判別し(図6のS4),終了しないとS
1に戻り,同じ処理が繰り返す。このように,上位/下
位16ビットデータの変換部としてデュアルポートメモ
リを用いることで,変換前のデータの書き込みと変換デ
ータの取り出しをそれぞれ連続して行うことができる。
【0021】上記実施例1(図2)及び実施例2(図
5)では,データ変換の内容が固定(上位/下位16ビ
ットを交換する例)であったが,次の実施例3ではバイ
ト単位で組み合わせを自在に可変設定できるようにし
た。
5)では,データ変換の内容が固定(上位/下位16ビ
ットを交換する例)であったが,次の実施例3ではバイ
ト単位で組み合わせを自在に可変設定できるようにし
た。
【0022】図7は実施例3の構成である。図中,MP
U10,データバス10a,アドレスバス10b,書込
制御信号10c,読出制御信号10d,メモリ11,ラ
ッチ部12−1〜12−4,スリーステート部13−1
〜13−4,アドレスデコーダ(DEC)14,書込制
御部(OR)15,読出制御部(OR)16の各部は上
記実施例1(図2)と同じであり,実施例1の構成に新
たに追加される回路は,データ選択部(SEL)18−
1〜18−4,データ選択部設定部(SEL設定部)1
9,及び選択情報設定制御部(ORで表示)20であ
る。データ選択部(SEL)18−1〜18−4は,そ
れぞれラッチ部12−1〜12−4からの各8ビット
(合計4バイト)の入力を受け取って選択信号により指
定された一つを選択して出力するよう接続されている。
なお,この実施例3のスリーステート部13−1〜13
−4は,上記実施例1,2とは異なり,それぞれの出力
線と出力側のデータバス10a’との接続配置によりデ
ータ変換を行う必要がないため,最下位バイト〜最上位
バイトを発生する。
U10,データバス10a,アドレスバス10b,書込
制御信号10c,読出制御信号10d,メモリ11,ラ
ッチ部12−1〜12−4,スリーステート部13−1
〜13−4,アドレスデコーダ(DEC)14,書込制
御部(OR)15,読出制御部(OR)16の各部は上
記実施例1(図2)と同じであり,実施例1の構成に新
たに追加される回路は,データ選択部(SEL)18−
1〜18−4,データ選択部設定部(SEL設定部)1
9,及び選択情報設定制御部(ORで表示)20であ
る。データ選択部(SEL)18−1〜18−4は,そ
れぞれラッチ部12−1〜12−4からの各8ビット
(合計4バイト)の入力を受け取って選択信号により指
定された一つを選択して出力するよう接続されている。
なお,この実施例3のスリーステート部13−1〜13
−4は,上記実施例1,2とは異なり,それぞれの出力
線と出力側のデータバス10a’との接続配置によりデ
ータ変換を行う必要がないため,最下位バイト〜最上位
バイトを発生する。
【0023】図8はデータ選択部の詳細を説明する図,
図9は選択信号に対応するデータ選択部の選択論理を示
す図である。図8では1つのデータ選択部18−1だけ
示すが,他のデータ選択部18−2〜18−4も同様で
ある。データ選択部18−1に前段のラッチ部12−1
〜12−4(図7)のそれぞれの出力として各8ビット
データが入力される。一方,MPUからデータバス10
aを介してデータ変換内容に対応するバイト選択情報
(8ビット)がデータ選択部設定部19に供給され,同
時にMPUから書込制御信号10cが出力されると選択
情報設定制御部20を介してデータ選択部設定部19の
クロック端子を駆動すると,バイト選択情報がデータ選
択部設定部19に設定される。
図9は選択信号に対応するデータ選択部の選択論理を示
す図である。図8では1つのデータ選択部18−1だけ
示すが,他のデータ選択部18−2〜18−4も同様で
ある。データ選択部18−1に前段のラッチ部12−1
〜12−4(図7)のそれぞれの出力として各8ビット
データが入力される。一方,MPUからデータバス10
aを介してデータ変換内容に対応するバイト選択情報
(8ビット)がデータ選択部設定部19に供給され,同
時にMPUから書込制御信号10cが出力されると選択
情報設定制御部20を介してデータ選択部設定部19の
クロック端子を駆動すると,バイト選択情報がデータ選
択部設定部19に設定される。
【0024】データ選択部設定部19は,設定された情
報から,4つデータ選択部18−1〜18−4のそれぞ
れに選択信号a,bを出力する。選択信号a,bの組み
合わせに対応して各データ選択部は図9に示す選択論理
により,入力された4つのバイトの中の1つのバイト
(8ビット)を選択して出力する。この構成により,各
データ選択部は,4バイトの中から指定された任意の1
バイトを選択することが可能となる。また,4つのデー
タ選択部の中の複数が,同じバイトを選択すること,更
に全てのデータ選択部で一つのバイトを選択することも
可能である。
報から,4つデータ選択部18−1〜18−4のそれぞ
れに選択信号a,bを出力する。選択信号a,bの組み
合わせに対応して各データ選択部は図9に示す選択論理
により,入力された4つのバイトの中の1つのバイト
(8ビット)を選択して出力する。この構成により,各
データ選択部は,4バイトの中から指定された任意の1
バイトを選択することが可能となる。また,4つのデー
タ選択部の中の複数が,同じバイトを選択すること,更
に全てのデータ選択部で一つのバイトを選択することも
可能である。
【0025】図10は実施例3(図7)の動作フローで
ある。図10のS1,S2,S4は上記図3(実施例1
の動作フロー)のS1,S2,S3と同様であり,図1
0のS3のバイト選択情報の設定処理が追加されている
が,この設定処理はその後のS4の処理より前であれば
いつ設定してもよい。
ある。図10のS1,S2,S4は上記図3(実施例1
の動作フロー)のS1,S2,S3と同様であり,図1
0のS3のバイト選択情報の設定処理が追加されている
が,この設定処理はその後のS4の処理より前であれば
いつ設定してもよい。
【0026】図10において,メモリから32ビットの
データを読み出して作業テーブルAに格納し(S1),
その作業テーブルAのデータをラッチ部12−1〜12
−4に書き込みを行う(S2)。次にデータ選択部設定
部(SEL設定部)19にバイト選択情報を書き込む
(図10のS3)。これにより4つデータ選択部18−
1〜18−4は,データ選択部設定部19からそれぞれ
に対する選択信号a,bにより4つのバイト入力の一つ
を選択する。続いて,読出制御信号により各スリーステ
ート部13−1〜13−4のデータを読み出してデータ
バスを介して作業テーブルAに格納する(図10のS
4)。
データを読み出して作業テーブルAに格納し(S1),
その作業テーブルAのデータをラッチ部12−1〜12
−4に書き込みを行う(S2)。次にデータ選択部設定
部(SEL設定部)19にバイト選択情報を書き込む
(図10のS3)。これにより4つデータ選択部18−
1〜18−4は,データ選択部設定部19からそれぞれ
に対する選択信号a,bにより4つのバイト入力の一つ
を選択する。続いて,読出制御信号により各スリーステ
ート部13−1〜13−4のデータを読み出してデータ
バスを介して作業テーブルAに格納する(図10のS
4)。
【0027】このようにラッチ部12−1〜12−4の
保持データをスリーステート部に出力する段階でデータ
選択部18−1〜18−4において,4者択一の選択を
行うことにより入力データをどのようにもコントロール
することができ,バイト単位でのデータ変換の組み合わ
せは図10に示す。
保持データをスリーステート部に出力する段階でデータ
選択部18−1〜18−4において,4者択一の選択を
行うことにより入力データをどのようにもコントロール
することができ,バイト単位でのデータ変換の組み合わ
せは図10に示す。
【0028】図11は実施例3によるデータ変換の組み
合わせを示し,24(=4×3×2)通りある。具体例
によりデータ選択部設定部19への制御について説明す
る。図11のバイト入れ換え前の配列であるバイトA,
B,C,Dを*印を付したバイトD,A,C,Bの配列
へ変換する場合,各スリーステート部13−4〜13−
1に対して,バイトD,バイトA,バイトC,バイトB
が入力されるように,データ選択部設定部19(図8)
のD07〜D00に対しバイト選択情報として「0,1,
1,1,0,0,0,0」を設定すればよい。このバイ
ト選択情報により各データ選択部18−1〜18−4へ
の選択信号a,bが先頭から2ビット区切りで発生し,
上記図9の選択論理に従って選択を行う。
合わせを示し,24(=4×3×2)通りある。具体例
によりデータ選択部設定部19への制御について説明す
る。図11のバイト入れ換え前の配列であるバイトA,
B,C,Dを*印を付したバイトD,A,C,Bの配列
へ変換する場合,各スリーステート部13−4〜13−
1に対して,バイトD,バイトA,バイトC,バイトB
が入力されるように,データ選択部設定部19(図8)
のD07〜D00に対しバイト選択情報として「0,1,
1,1,0,0,0,0」を設定すればよい。このバイ
ト選択情報により各データ選択部18−1〜18−4へ
の選択信号a,bが先頭から2ビット区切りで発生し,
上記図9の選択論理に従って選択を行う。
【0029】さらにデータ選択部設定部19へのバイト
選択情報を「1,1,1,1,1,1,1,1」とすれ
ば,入力データ(A〜Dの4バイト)を,バイトA,
A,A,Aという配列にも変換できる。従って,32ビ
ットデータをデータ選択部設定部19(図8)へのバイ
ト選択情報の設定値によっては,図11の変換の組み合
わせ以外の配列,例えば,バイトA,C,A,Cの配列
や,バイトD,D,B,B等のように,必要とするフォ
ーマットに自在に変換することができる。
選択情報を「1,1,1,1,1,1,1,1」とすれ
ば,入力データ(A〜Dの4バイト)を,バイトA,
A,A,Aという配列にも変換できる。従って,32ビ
ットデータをデータ選択部設定部19(図8)へのバイ
ト選択情報の設定値によっては,図11の変換の組み合
わせ以外の配列,例えば,バイトA,C,A,Cの配列
や,バイトD,D,B,B等のように,必要とするフォ
ーマットに自在に変換することができる。
【0030】上記の各実施例1〜実施例3の構成では,
バイト単位でデータ変換を行っているが,次に示す実施
例4ではビット単位のデータ変換を行う構成を示す。図
12は実施例4の構成である。図中,10,10a〜1
0d,11,14〜16は上記実施例1(図2)の同一
符号の各部と同であり説明を省略する。12はラッチ
部,13はスリーステート部である。このスリーステー
ト部13は,上記の各実施例1のスリーステート部13
−1〜13−4のようにバイト単位でデータ変換を行う
ために出力側のデータバス10a’と接続せず,ラッチ
部12からの入力ビットの位置を反転するようにスリー
ステート部13の出力のビット位置と接続されている。
すなわち,ラッチ部12のビットD00( 最下位ビット)
がスリーステート部13の出力側のデータバス10a’
のビットD31に出力され,ラッチ部12のビットD31(
最上位ビット) がスリーステート部13の出力側のデー
タバス10a’のビットD00に出力される。その他のビ
ットも図12に示すようにそれぞれビット位置が入れ換
えられる。
バイト単位でデータ変換を行っているが,次に示す実施
例4ではビット単位のデータ変換を行う構成を示す。図
12は実施例4の構成である。図中,10,10a〜1
0d,11,14〜16は上記実施例1(図2)の同一
符号の各部と同であり説明を省略する。12はラッチ
部,13はスリーステート部である。このスリーステー
ト部13は,上記の各実施例1のスリーステート部13
−1〜13−4のようにバイト単位でデータ変換を行う
ために出力側のデータバス10a’と接続せず,ラッチ
部12からの入力ビットの位置を反転するようにスリー
ステート部13の出力のビット位置と接続されている。
すなわち,ラッチ部12のビットD00( 最下位ビット)
がスリーステート部13の出力側のデータバス10a’
のビットD31に出力され,ラッチ部12のビットD31(
最上位ビット) がスリーステート部13の出力側のデー
タバス10a’のビットD00に出力される。その他のビ
ットも図12に示すようにそれぞれビット位置が入れ換
えられる。
【0031】この実施例4の動作フローは上記図3と同
様であるため図示省略されているが,最後にスリーステ
ート部13から読み出しをすると,32ビットデータの
最下位ビット(LSB)と最上位ビット(MSB)を入
れ換えることができる。
様であるため図示省略されているが,最後にスリーステ
ート部13から読み出しをすると,32ビットデータの
最下位ビット(LSB)と最上位ビット(MSB)を入
れ換えることができる。
【0032】上記実施例1乃至実施例4では,バイトま
たはビットの入れ換え処理を一度メモリから読み出した
後にラッチ部,スリーステート部(実施例1,実施例3
〜実施例5)またはデュアルポートメモリ(実施例2)
へのアクセスを行うことで実施していたが,より簡単化
してメモリからの読み出しでバイトまたはビットの入れ
換えを終了することが可能な構成を実施例5に示す。
たはビットの入れ換え処理を一度メモリから読み出した
後にラッチ部,スリーステート部(実施例1,実施例3
〜実施例5)またはデュアルポートメモリ(実施例2)
へのアクセスを行うことで実施していたが,より簡単化
してメモリからの読み出しでバイトまたはビットの入れ
換えを終了することが可能な構成を実施例5に示す。
【0033】図13は実施例5の構成であり,32ビッ
トデータのMSBとLSBの入れ換えが選択可能にする
場合の構成である。図中,10,10a〜10d,1
1,14,15は上記実施例4(図12)の同一符号の
各部と同であり説明を省略する。21−1,21─2は
方向制御端子(DIR)への制御信号により入出力の方
向が可変制御され,イネーブル端子(EN)への制御信
号により駆動される双方向スリーステート部であり,2
2はスリーステート制御部,23は反転部である。双方
向スリーステート部21─1は,何れの方向へのゲート
動作においても32ビットの入力信号がそのまま(位置
を変更せず)出力側のバスに転送する構成を備え,双方
向スリーステート部21─2は,何れの方向へのゲート
動作においても32ビットの入力信号の順序を反転して
出力側のバスに転送するよう接続され,各双方向スリー
ステート部はイネーブル端子(EN)を駆動することに
より同時に1つだけ動作する。
トデータのMSBとLSBの入れ換えが選択可能にする
場合の構成である。図中,10,10a〜10d,1
1,14,15は上記実施例4(図12)の同一符号の
各部と同であり説明を省略する。21−1,21─2は
方向制御端子(DIR)への制御信号により入出力の方
向が可変制御され,イネーブル端子(EN)への制御信
号により駆動される双方向スリーステート部であり,2
2はスリーステート制御部,23は反転部である。双方
向スリーステート部21─1は,何れの方向へのゲート
動作においても32ビットの入力信号がそのまま(位置
を変更せず)出力側のバスに転送する構成を備え,双方
向スリーステート部21─2は,何れの方向へのゲート
動作においても32ビットの入力信号の順序を反転して
出力側のバスに転送するよう接続され,各双方向スリー
ステート部はイネーブル端子(EN)を駆動することに
より同時に1つだけ動作する。
【0034】実施例5の動作を,図14に示す実施例5
の動作フローを用いて説明する。最初にMPU10がメ
モリ11よりデータを読み出す前に,MSBとLSBを
入れ換えるかどうかを指示する制御データをデータバス
10aからスリーステート制御部22に供給し,書込制
御信号10cが発生することで制御データがスリーステ
ート制御部22に設定される。スリーステート制御部2
2の出力により双方向スリーステート部21─1,21
─2の一方が選択(イネーブル端子を駆動)される。
の動作フローを用いて説明する。最初にMPU10がメ
モリ11よりデータを読み出す前に,MSBとLSBを
入れ換えるかどうかを指示する制御データをデータバス
10aからスリーステート制御部22に供給し,書込制
御信号10cが発生することで制御データがスリーステ
ート制御部22に設定される。スリーステート制御部2
2の出力により双方向スリーステート部21─1,21
─2の一方が選択(イネーブル端子を駆動)される。
【0035】ビット配列をそのままでメモリから読み出
す場合は,スリーステート制御部22に対しMPU10
からビット入れ換え「なし」を設定すると(図14のA
のS1),双方向スリーステート部21─1が選択(イ
ネーブル)され,双方向スリーステート部21─2が非
選択(ディゼーブル)される。この時,メモリ11にア
ドレスバス10bからアドレスを指定して読出制御信号
10dを供給することで読み出されたデータ(32ビッ
ト)は,スリーステート部21─1を介してデータバス
10aへデータ配列がそのままで出力されMPU10に
転送される(図14のA.のS2)。なお,この時,双
方向スリーステート部21─1と21─2は,書込制御
信号10cが駆動されないため方向制御端子(DIR)
はディゼーブルとなりメモリ側からMPU側へ向かう方
向の転送を行う。
す場合は,スリーステート制御部22に対しMPU10
からビット入れ換え「なし」を設定すると(図14のA
のS1),双方向スリーステート部21─1が選択(イ
ネーブル)され,双方向スリーステート部21─2が非
選択(ディゼーブル)される。この時,メモリ11にア
ドレスバス10bからアドレスを指定して読出制御信号
10dを供給することで読み出されたデータ(32ビッ
ト)は,スリーステート部21─1を介してデータバス
10aへデータ配列がそのままで出力されMPU10に
転送される(図14のA.のS2)。なお,この時,双
方向スリーステート部21─1と21─2は,書込制御
信号10cが駆動されないため方向制御端子(DIR)
はディゼーブルとなりメモリ側からMPU側へ向かう方
向の転送を行う。
【0036】ビット配列を逆転する場合は,スリーステ
ート制御部22に対しビット入れ換え「あり」を設定す
ると(図14のB.のS1),双方向スリーステート部
21─1がディゼーブルに,双方向スリーステート部2
1−2はイネーブルになる。これにより,メモリ11か
らの読み出しデータは,ビット配列のMSBとLSBが
逆転して読み出される(図14のB.のS2)。
ート制御部22に対しビット入れ換え「あり」を設定す
ると(図14のB.のS1),双方向スリーステート部
21─1がディゼーブルに,双方向スリーステート部2
1−2はイネーブルになる。これにより,メモリ11か
らの読み出しデータは,ビット配列のMSBとLSBが
逆転して読み出される(図14のB.のS2)。
【0037】図14に示す動作フローは,上記実施例1
〜実施例3のフロー(図3,図6,図10)と比べると
明らかなように,処理が1プロセス(1MPUマシンサ
イクル)少なくて済む。また,この実施例5において,
双方向スリーステート部21─1,21─2を双方向制
御機能付きのスリーステートバッファにすると,MPU
10がメモリ11から読み出す時だけでなく,書き込む
時にビット入れ換えを行うこともできるので,他のMP
Uとの共有メモリでのデータの受け渡しでビット配列の
MSBとLSBの定義が反対になっているようなシステ
ム等との接続において,データの配列の入れ換えが必要
になった場合に有効である。
〜実施例3のフロー(図3,図6,図10)と比べると
明らかなように,処理が1プロセス(1MPUマシンサ
イクル)少なくて済む。また,この実施例5において,
双方向スリーステート部21─1,21─2を双方向制
御機能付きのスリーステートバッファにすると,MPU
10がメモリ11から読み出す時だけでなく,書き込む
時にビット入れ換えを行うこともできるので,他のMP
Uとの共有メモリでのデータの受け渡しでビット配列の
MSBとLSBの定義が反対になっているようなシステ
ム等との接続において,データの配列の入れ換えが必要
になった場合に有効である。
【0038】これまでの各実施例では一つのデータのバ
イトまたはビットをデータバス変換により行う構成を示
したが,次に複数のデータをバイト単位で縦横配列の変
換を可能とした実施例6を示す。
イトまたはビットをデータバス変換により行う構成を示
したが,次に複数のデータをバイト単位で縦横配列の変
換を可能とした実施例6を示す。
【0039】図15は実施例6の構成,図16はラッチ
部とスリーステート部の関係説明図,図17は実施例6
のデータ変換則,図18は実施例6の動作フロー,図1
9は各処理過程におけるラッチ部の状態,図20は具体
的な適用例を示す。
部とスリーステート部の関係説明図,図17は実施例6
のデータ変換則,図18は実施例6の動作フロー,図1
9は各処理過程におけるラッチ部の状態,図20は具体
的な適用例を示す。
【0040】図15において,MPU10,データバス
10a,アドレスバス10b,書込制御信号10c,読
出制御信号10d,メモリ11,アドレスデコーダ(D
EC)14,書込制御部(OR)15は上記実施例1
(図2),実施例3(図7),実施例4(図12),実
施例5(図13)と同様であり,この実施例6に特有の
構成要素として,読出制御部(OR)16─1〜16─
4,それぞれ1バイトの容量を持つ4段のラッチ部24
─1〜24─4,25─1〜25─4,26─1〜26
─4,27─1〜27─4,それぞれ4バイト(32ビ
ット)分のデータを入出力するスリーステート部28─
1〜28─4を備える。
10a,アドレスバス10b,書込制御信号10c,読
出制御信号10d,メモリ11,アドレスデコーダ(D
EC)14,書込制御部(OR)15は上記実施例1
(図2),実施例3(図7),実施例4(図12),実
施例5(図13)と同様であり,この実施例6に特有の
構成要素として,読出制御部(OR)16─1〜16─
4,それぞれ1バイトの容量を持つ4段のラッチ部24
─1〜24─4,25─1〜25─4,26─1〜26
─4,27─1〜27─4,それぞれ4バイト(32ビ
ット)分のデータを入出力するスリーステート部28─
1〜28─4を備える。
【0041】図15内のラッチ部とスリーステート部の
関係を図16及び図17を用いて説明する。図16には
スリーステート部28─1だけを示す。この実施例6で
は図17に示すように最初にデータとして1A,1
B,1C,1Dからなる4バイト(32ビット)が読み
出されると,並列に各ラッチ部24−1〜24─4に設
定され,その後データ〜データが順次読み出される
と各データ〜が,ラッチ24−1〜24─4のそれ
ぞれ後段にシフトしながら設定され,4つのデータが設
定された状態で,図16のスリーステート部28─1を
イネーブルにすると,各ラッチ24─1,24─2,2
4─3,24─4からは,図17の変換後のデータ配列
のデータとして示すように4A,3A,2A,1Aか
らなるデータ(データ〜の最上位のバイトを集めた
4バイト)が出力される。同様に,図14の各スリース
テート部28─2〜28─4からは,図17の変換後デ
ータ配列のデータ〜データとして示すデータが出力
される。このように,図16のラッチ部は,全体として
バイト単位で間口4バイト奥行き4バイトのシフトレジ
スタとして構成される。また,スリーステート部28─
1〜28─4はバイト単位で奥行きをもつラッチ部の各
々の4バイトを出力として取り出せるように構成されて
いる。
関係を図16及び図17を用いて説明する。図16には
スリーステート部28─1だけを示す。この実施例6で
は図17に示すように最初にデータとして1A,1
B,1C,1Dからなる4バイト(32ビット)が読み
出されると,並列に各ラッチ部24−1〜24─4に設
定され,その後データ〜データが順次読み出される
と各データ〜が,ラッチ24−1〜24─4のそれ
ぞれ後段にシフトしながら設定され,4つのデータが設
定された状態で,図16のスリーステート部28─1を
イネーブルにすると,各ラッチ24─1,24─2,2
4─3,24─4からは,図17の変換後のデータ配列
のデータとして示すように4A,3A,2A,1Aか
らなるデータ(データ〜の最上位のバイトを集めた
4バイト)が出力される。同様に,図14の各スリース
テート部28─2〜28─4からは,図17の変換後デ
ータ配列のデータ〜データとして示すデータが出力
される。このように,図16のラッチ部は,全体として
バイト単位で間口4バイト奥行き4バイトのシフトレジ
スタとして構成される。また,スリーステート部28─
1〜28─4はバイト単位で奥行きをもつラッチ部の各
々の4バイトを出力として取り出せるように構成されて
いる。
【0042】図18の動作フローを,図19を参照しな
がら説明する。最初にメモリ11の任意のアドレス指定
によりデータバス10aを介して32ビットデータを読
み出してMPU10の作業テーブルAに格納する(図1
8のS1)。次に作業テーブルAのデータをラッチ部2
4─1,25─1,26─1,27─1に書き込む(図
18のS2)。この場合,アドレスデコーダ14,及び
書込制御部15からの制御信号をラッチ部へのクロック
信号として供給し,データバス10a上のデータを各先
頭のラッチ部に格納する。この結果,図19に示す「1
回目の書き込み」のように書き込みデータが書き込ま
れ,各ラッチ部には1D〜1Aの各バイトが設定され,
それぞれが出力される状態となる。
がら説明する。最初にメモリ11の任意のアドレス指定
によりデータバス10aを介して32ビットデータを読
み出してMPU10の作業テーブルAに格納する(図1
8のS1)。次に作業テーブルAのデータをラッチ部2
4─1,25─1,26─1,27─1に書き込む(図
18のS2)。この場合,アドレスデコーダ14,及び
書込制御部15からの制御信号をラッチ部へのクロック
信号として供給し,データバス10a上のデータを各先
頭のラッチ部に格納する。この結果,図19に示す「1
回目の書き込み」のように書き込みデータが書き込ま
れ,各ラッチ部には1D〜1Aの各バイトが設定され,
それぞれが出力される状態となる。
【0043】この後,図18のS1,S2の処理が実行
されて合計4回実行すると(図18のS3),図19の
2回目の書き込み(2D〜2A),3回目の書き込み
(3D〜3A),4回目の書き込み(4D〜4A)に対
応する書き込みデータ,ラッチ部の状態として示すよう
に書込み毎にバイト単位で順次シフトされる。
されて合計4回実行すると(図18のS3),図19の
2回目の書き込み(2D〜2A),3回目の書き込み
(3D〜3A),4回目の書き込み(4D〜4A)に対
応する書き込みデータ,ラッチ部の状態として示すよう
に書込み毎にバイト単位で順次シフトされる。
【0044】書き込みを4回繰り返した後,次にスリー
ステート部28─1〜28─4にアクセスし,アドレス
デコーダ14からの制御信号及び読出制御部16─1か
ら発生する許可信号(EN)をスリーステート部28─
1の読み出し許可信号として与え,ラッチ部24─1〜
24─4に保持されたそれぞれのバイトのデータが新た
な4バイトのデータとしてデータバス上に出力される
(図18のS4)。この動作を各スリーステート部に対
して順番に繰り返して4回のループを実行すると(図1
8のS5),処理を終了する。
ステート部28─1〜28─4にアクセスし,アドレス
デコーダ14からの制御信号及び読出制御部16─1か
ら発生する許可信号(EN)をスリーステート部28─
1の読み出し許可信号として与え,ラッチ部24─1〜
24─4に保持されたそれぞれのバイトのデータが新た
な4バイトのデータとしてデータバス上に出力される
(図18のS4)。この動作を各スリーステート部に対
して順番に繰り返して4回のループを実行すると(図1
8のS5),処理を終了する。
【0045】すなわち,2回目はスリーステート部28
─2は読出制御部16─2からの許可信号により選択さ
れて読み出し,他のスリーステート部28─3,28─
4もそれぞれ読出制御部16─3,16─4からの許可
信号により読み出しを行う。各スリーステート部から読
み出されるデータは,図19の4回目の書き込みに対応
するラッチ部の出力状態の内容を,横方向に4バイトず
つであり,スリーステート部28─4からは「4A,3
A,2A,1A」のデータ,スリーステート部28─3
からは「4B,3B,2B,1B」のデータ,スリース
テート部28─2からは「4C,3C,2C,1C」の
データ,スリーステート部28─1からは「4D,3
D,2D,1D」のデータが読み出される。
─2は読出制御部16─2からの許可信号により選択さ
れて読み出し,他のスリーステート部28─3,28─
4もそれぞれ読出制御部16─3,16─4からの許可
信号により読み出しを行う。各スリーステート部から読
み出されるデータは,図19の4回目の書き込みに対応
するラッチ部の出力状態の内容を,横方向に4バイトず
つであり,スリーステート部28─4からは「4A,3
A,2A,1A」のデータ,スリーステート部28─3
からは「4B,3B,2B,1B」のデータ,スリース
テート部28─2からは「4C,3C,2C,1C」の
データ,スリーステート部28─1からは「4D,3
D,2D,1D」のデータが読み出される。
【0046】図20は実施例6の具体的な適用例を示
す。具体的には,通信装置等の監視装置において,通信
装置を構成する複数のパッケージの状態を一定周期で監
視する場合の例である。図20の(a) は,PKG−A,
PKG−B,PKG−C,PKG−Dの4つのパッケー
ジの状態を表すデータ(4バイト)を1秒毎に収集する
場合に,現在データ,−1秒データ(1秒前),−2秒
データ,−3秒データの4つのデータを順番に図15の
ラッチ部に格納した状態を表す。この4つのデータを縦
横変換することにより,図20の(b) に示すように同じ
パッケージ毎に,−3秒,−2秒,−1秒,現在のバイ
トで構成された4バイトのデータに変換される。これに
より,1秒周期で各パッケージから収集した警報状態を
警報評定する場合に,各パッケージ毎に処理する場合に
有効である。
す。具体的には,通信装置等の監視装置において,通信
装置を構成する複数のパッケージの状態を一定周期で監
視する場合の例である。図20の(a) は,PKG−A,
PKG−B,PKG−C,PKG−Dの4つのパッケー
ジの状態を表すデータ(4バイト)を1秒毎に収集する
場合に,現在データ,−1秒データ(1秒前),−2秒
データ,−3秒データの4つのデータを順番に図15の
ラッチ部に格納した状態を表す。この4つのデータを縦
横変換することにより,図20の(b) に示すように同じ
パッケージ毎に,−3秒,−2秒,−1秒,現在のバイ
トで構成された4バイトのデータに変換される。これに
より,1秒周期で各パッケージから収集した警報状態を
警報評定する場合に,各パッケージ毎に処理する場合に
有効である。
【0047】
【発明の効果】本発明によればファームウェアで処理し
やすい形へのデータ変換を可能とし,ファームウェアの
みで行っていたデータ変換に比べてハードウェアで補助
回路を持つことでシステム性能を向上することができ
る。具体的には,上記「発明が解決しようとする課題」
で説明した従来技術では34マシンサイクルを必要とし
ていたデータ変換を,本発明の実施例1,実施例2では
メモリ読み出し処理の1マシンサイクル,ラッチ部書き
込み処理の1マシンサイクル,スリーステート部の読み
出し処理の1マシンサイクルの合計3マシンサイクルで
あり,10倍以上の高速化を実現できる。
やすい形へのデータ変換を可能とし,ファームウェアの
みで行っていたデータ変換に比べてハードウェアで補助
回路を持つことでシステム性能を向上することができ
る。具体的には,上記「発明が解決しようとする課題」
で説明した従来技術では34マシンサイクルを必要とし
ていたデータ変換を,本発明の実施例1,実施例2では
メモリ読み出し処理の1マシンサイクル,ラッチ部書き
込み処理の1マシンサイクル,スリーステート部の読み
出し処理の1マシンサイクルの合計3マシンサイクルで
あり,10倍以上の高速化を実現できる。
【0048】また,実施例3ではバイト単位で組み合わ
せを自在に可変設定してデータ変換を行うことができ,
実施例4ではビット単位のデータ変換を高速に実現する
ことができる。更に,実施例5によれば,メモリからの
読み出しでバイトまたビットの入れ換えを終了させるこ
とが可能となる。更に実施例6によれば,複数のデータ
の縦横変換を高速に実現することができる。
せを自在に可変設定してデータ変換を行うことができ,
実施例4ではビット単位のデータ変換を高速に実現する
ことができる。更に,実施例5によれば,メモリからの
読み出しでバイトまたビットの入れ換えを終了させるこ
とが可能となる。更に実施例6によれば,複数のデータ
の縦横変換を高速に実現することができる。
【図1】本発明の原理説明図である。
【図2】実施例1の構成を示す図である。
【図3】実施例1の動作フローを示す図である。
【図4】実施例1によるデータ変換の前・後の状態を示
す図である。
す図である。
【図5】実施例2の構成を示す図である。
【図6】実施例2の動作フローを示す図である。
【図7】実施例3の構成を示す図である。
【図8】データ選択部の詳細を説明する図である。
【図9】選択信号に対応するデータ選択部の選択論理を
示す図である。
示す図である。
【図10】実施例3の動作フローを示す図である。
【図11】実施例3によるデータ変換の組み合わせを示
す図である。
す図である。
【図12】実施例4の構成を示す図である。
【図13】実施例5の構成を示す図である。
【図14】実施例5の動作フローを示す図である。
【図15】実施例6の構成を示す図である。
【図16】ラッチ部とスリーステート部の関係説明図で
ある。
ある。
【図17】実施例6のデータ変換則を示す図である。
【図18】実施例6の動作フローを示す図である。
【図19】各処理過程におけるラッチ部の状態を示す図
である。
である。
【図20】実施例6の具体的な適用例を示す図である。
【図21】従来例の説明図(その1)である。
【図22】従来例の説明図(その2)である。
1 データバス 1’ 出力側のデータバス 2 データ変換部 3 ラッチ部 4 スリーステート部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 安永 昌隆 大阪府大阪市中央区城見2丁目2番6号 富士通関西ディジタル・テクノロジ株式会 社内 (72)発明者 桑子 健一 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内
Claims (7)
- 【請求項1】 MPU及びメモリに接続されたnビット
幅のデータバス上でデータの配列を変換するデータバス
変換方式において,前記データバス上のデータを受け取
って,データの配列を変換した出力を前記データバス上
に発生するデータ変換部を設け,前記データ変換部は,
前記データバス上のデータを一時保持するラッチ部と,
前記ラッチ部の出力が入力され,入力データの位置と異
なる出力側の前記データバスの位置に予め接続されたス
リーステート部とを備え,前記ラッチ部にデータを書き
込みを行った後,前記スリーステート部を読み出すこと
により前記データバス上に変換されたデータを出力する
ことを特徴とするデータバス変換方式。 - 【請求項2】 請求項1において,前記データ変換部の
ラッチ部とスリーステート部はそれぞれバイト単位の複
数個で構成され,前記各スリーステート部は入力側の上
位n/2ビットのバイトと下位n/2ビットのバイトが
それぞれ出力側のデータバス上で入れ換わる位置に接続
され,前記ラッチ部からのnビット幅のデータをn/2
ビットで配列変換を行うことを特徴とするデータバス変
換方式。 - 【請求項3】 請求項1において,前記データ変換部を
デュアルポートメモリにより構成し,前記データバス上
に読み出されたデータを一方のポートから書き込み,前
記デュアルポートメモリの他方のポートの読み出しデー
タのビット位置は出力側のデータバス上の異なるビット
位置と予め接続され,前記デュアルポートメモリに複数
のデータを連続して書き込んだ後,読み出しを行うこと
により前記データバス上に変換されたデータを連続して
発生することを特徴とするデータバス変換方式。 - 【請求項4】 請求項1において,前記データ変換部の
ラッチ部とスリーステート部をそれぞれバイト単位の複
数個で構成され,前記複数のラッチ部からの全てのバイ
ト出力が入力されて選択信号により一つを出力するデー
タ選択部を各スリーステート部の前段にそれぞれ設け,
前記各スリーステート部は,それぞれ前段のデータ選択
部からの入力を配置位置に対応した出力側のデータバス
上の本来の位置へ出力するよう接続され,前記各データ
選択部に対し,データバス上のデータをバイト単位で変
換する内容に応じた各選択信号を発生するデータ選択部
設定部を設け,前記データ選択部設定部に選択信号を設
定してバイト単位で任意のデータ変換を行うことを特徴
とするデータバス変換方式。 - 【請求項5】 請求項1において,前記スリーステート
部は,入力データの各ビット位置を反転するよう出力側
の各ビットを出力側のデータバスの各ビット位置に接続
され,前記ラッチ部にデータの書き込みを行った後,前
記スリーステート部を読み出すことにより前記データバ
ス上に全ビットが反転されたデータを出力することを特
徴とするデータバス変換方式。 - 【請求項6】 請求項1において,前記データ変換部と
して,前記MPUに接続されたデータバスと前記メモリ
との間に,データを構成する全ビットをデータバスから
メモリへまたはメモリからデータバスへの双方向に転送
可能な2つのスリーステート部を設け,前記スリーステ
ート部の一方は,入力された各ビットをそのまま出力側
の同じ位置に出力するよう接続し,他方は入力された各
ビットが出力側へ反転した位置に出力するよう接続し,
前記メモリとMPU間のデータの読み出しまたは書き込
みにおいて前記2つのスリーステート部の一方を駆動す
ることにより全ビットが反転されたデータを出力するこ
とを特徴とするデータバス変換方式。 - 【請求項7】 MPU及びメモリに接続されたnビット
幅のデータバス上で複数のデータをバイト単位で縦横配
列の変換をするデータバス変換方式において,前記デー
タバスのデータを構成するバイト数に対応する個数のラ
ッチ部を備え,前記各ラッチ部は前段から後段にバイト
をシフトする前記バイト数に対応する複数段により構成
され,前記各ラッチ部の複数の各段の出力を入力とし,
読出制御信号により出力側のデータバスに前記複数段の
出力を並列に出力する複数のスリーステート部を備え,
メモリから読み出したデータを前記各ラッチ部の先頭に
格納し,前記複数のデータが格納された後,前記複数の
スリーステート部を順番に読出すことにより縦横変換さ
れたデータを順次データバス上に発生することを特徴と
するデータバス変換方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9202765A JPH1145207A (ja) | 1997-07-29 | 1997-07-29 | データバス変換方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9202765A JPH1145207A (ja) | 1997-07-29 | 1997-07-29 | データバス変換方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1145207A true JPH1145207A (ja) | 1999-02-16 |
Family
ID=16462807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9202765A Withdrawn JPH1145207A (ja) | 1997-07-29 | 1997-07-29 | データバス変換方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1145207A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001331441A (ja) * | 2000-05-22 | 2001-11-30 | Cradle Technologies | 1以上の仮想ポートを規定する構成回路および集積回路 |
US6510472B1 (en) * | 1999-09-23 | 2003-01-21 | Intel Corporation | Dual input lane reordering data buffer |
JP2015097072A (ja) * | 2013-10-11 | 2015-05-21 | 富士電機株式会社 | 組込システム |
CN114328326A (zh) * | 2021-12-28 | 2022-04-12 | 湖南航天经济发展有限公司 | 总线矩阵端口可配置的微控制器及其内部数据传输方法 |
-
1997
- 1997-07-29 JP JP9202765A patent/JPH1145207A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6510472B1 (en) * | 1999-09-23 | 2003-01-21 | Intel Corporation | Dual input lane reordering data buffer |
JP2001331441A (ja) * | 2000-05-22 | 2001-11-30 | Cradle Technologies | 1以上の仮想ポートを規定する構成回路および集積回路 |
JP2015097072A (ja) * | 2013-10-11 | 2015-05-21 | 富士電機株式会社 | 組込システム |
CN114328326A (zh) * | 2021-12-28 | 2022-04-12 | 湖南航天经济发展有限公司 | 总线矩阵端口可配置的微控制器及其内部数据传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4472788A (en) | Shift circuit having a plurality of cascade-connected data selectors | |
JP2500740B2 (ja) | デュアルポ―トメモリ | |
JPS5998262A (ja) | メモリ・アクセス方法及び双方向デ−タ・バイト整列装置 | |
JPH0652102A (ja) | データ転送装置 | |
JPS6240740B2 (ja) | ||
US5701517A (en) | Pipelined alignment shifter and method for universal bit field boundary alignment | |
JPH08235130A (ja) | 並列プロセッサ | |
JPH1145207A (ja) | データバス変換方式 | |
JP3983451B2 (ja) | ディジタル信号のサンプリング周波数変換装置 | |
GB2246223A (en) | D.M.A. control device | |
JP2969825B2 (ja) | デュアルポートメモリ | |
JPH0553920A (ja) | 構造化アドレス生成装置 | |
JP3340449B2 (ja) | ラインメモリ回路及び、データ格納方法 | |
JP3077992B2 (ja) | データ伝送装置 | |
JP3455828B2 (ja) | ビットシフト回路 | |
JPS62154049A (ja) | デ−タバス変換回路 | |
JP5145581B2 (ja) | 直交変換回路 | |
JP2643576B2 (ja) | 高速フーリエ変換用番地発生回路 | |
JP2623519B2 (ja) | 時間スイツチ回路 | |
JPS63118965A (ja) | Dmaワ−ド転送方式 | |
JPH0325822B2 (ja) | ||
JPS61112270A (ja) | バイト変換装置 | |
JPH0877064A (ja) | データ処理装置 | |
JPH0464988A (ja) | Fifoメモリ | |
JPS63131243A (ja) | メモリ回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20041005 |