JPH0675742A - データ変換装置 - Google Patents

データ変換装置

Info

Publication number
JPH0675742A
JPH0675742A JP22978792A JP22978792A JPH0675742A JP H0675742 A JPH0675742 A JP H0675742A JP 22978792 A JP22978792 A JP 22978792A JP 22978792 A JP22978792 A JP 22978792A JP H0675742 A JPH0675742 A JP H0675742A
Authority
JP
Japan
Prior art keywords
data
processor
signal
bus
format
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
JP22978792A
Other languages
English (en)
Inventor
Hiroo Hayashi
宏雄 林
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP22978792A priority Critical patent/JPH0675742A/ja
Publication of JPH0675742A publication Critical patent/JPH0675742A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 メモリアクセス時にバイト並びの変換を自動
的に行うことのできるデータ変換装置の提供を目的とす
る。 【構成】 データ・バス5〜8とプロセッサ9を選択装
置21を介して接続する。プロセッサがメモリアクセス
時に用いるアドレス変換装置のページ・テーブル14内
に、各ページに対応してそのページのデータの配列順序
がどのようなものであるかを示す情報17を格納してお
き、選択装置21は、メモリアクセス時にこの情報を参
照して、データ・バス上のデータの配列順序を変換しプ
ロセッサに供給する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子計算機装置に関わ
り、特にプロセッサのデータ・バス上のデータに対する
アクセスを制御するデータ変換装置に関する。
【0002】
【従来の技術】複数バイトの整数データをメモリに格納
する場合、その各バイト・データをメモリに格納する順
序として幾つかの方法がある。これらの格納方式として
littleendian と呼ばれるものとbig endianと呼ばれる
ものが広く用いられている。
【0003】このうちlittle endian と呼ばれるもの
は、複数バイトからなるデータのうち最下位のバイト・
データから順に、それぞれ若いアドレスから順に格納さ
れる。これに対してbig endianと呼ばれるものは、最上
位のバイト・データから順に、それぞれ若いアドレスか
ら順に格納される。
【0004】従来複数バイト・データにアクセスを行な
う場合、メモリ・アクセスを行なう装置が仮定している
データ順序と、メモリに格納されているデータの格納順
序が異なる場合、ソフトウェアでデータ順序を変換する
必要があった。
【0005】例えばデータがlittle endian で格納され
ていることを前提に設計されたプロセッサがbig endian
で格納された2バイトのワード・データを読み出す場
合、本来下位バイトに読み込まれるバイト・データが上
位バイトに、上位バイトに格納されるべきバイト・デー
タが下位バイトに、それぞれ格納されてしまうことにな
る。そこでこのデータを使用する前にバイト順序を入れ
換える必要がある。書き込みの場合も同様にバイト順序
を変えてから、メモリに書き込まなければならない。こ
れらの変換操作はソフトウェアで行なわなければならな
い。ここでプロセッサが読み込んだデータのバイト並び
を変換する命令を持っていたとしても、その命令をソフ
トウェアで明示的に実行しなければならない。
【0006】図2に示す密結合共有メモリsystemを例に
あげる。このsystemは、メモリ上のデータをlittle end
ian で格納されているものとしてアクセスするprocessr
o (1)(例えばDEC社のVAXシリーズ、Inte
l社の86シリーズなど)と、big endianで格納されて
いるものとしてアクセスするprocessor (2)(例えば
Motorola社の68000 シリーズ、SUN社のSPARCプ
ロセッサなど)と、これらのプロセッサがアクセスする
共有メモリ(3)と、これらを結合するデータ・バス
(4)からなる。ここでlittle endian のプロセッサが
書き込んだデータをbig endianのプロセッサが読み出す
場合、ソフトウェアで一旦バイト並びを変換してから扱
わなければならなかった。
【0007】また従来ネットワークを用いた分散環境な
どでendianの異なるデータをアクセスする場合、基本ソ
フトウェアでアクセスする毎にデータ・サイズを指定
し、必要に応じてバイト並びを変換してからデータをア
プリケーション・ソフトウェアに渡している。この場合
もバイト並びを変換が必要な場合はソフトウェアで変換
を行なうことに変わりはない。
【0008】またMIPS社のR4000、Motorola社
M88000などのプロセッサでは、内部レジスタの値
を書き換えることによりlittle endian とbig endianを
切替えることが可能となっている。このレジスタの値を
書き換えることにより、それ以後の全てのメモリ・アク
セスの並びを変換する。ここでメモリ・アクセスは命令
コードに対するものとデータに対するものに分類される
が、これらのプロセッサにおいてメモリ・アクセスの並
びを変換した場合、命令コードのアクセスにおけるデー
タの並びも変換してしまう。ここでlittle endian のデ
ータにアクセスする命令コードはlittle endian でなく
てはならないため、一つのプログラム・コード内に異な
るデータ並びの命令コードが混在しなければならない。
このためプログラム・コードの生成が繁雑となる。また
このプログラム・コードの生成が繁雑となる問題は、プ
ログラム・コードのバイト並びは固定とし、データに対
するメモリ・アクセスのデータ並びのみを変換するよう
にすることにより解決されるが、この場合でもデータ並
びの異なるデータをアクセスする毎に、そのデータのデ
ータ並びに合わせてデータ並びを変換する命令(内部レ
ジスタへの書き込み命令)を挿入しなければならない。
【0009】次に浮動小数データの変換を例にあげる。
データ並びと同様にデータ・フォーマットつまり浮動小
数値のビット表現方法として幾つかの方法が用いられて
いる。例えばIEEE標準フォーマット、IBMフォー
マット、DECフォーマットなどが広く用いられてい
る。従来これらのデータをアクセスする時、プログラム
でその対象のデータがどのフォーマットであるかを意識
し、必要であればプログラム中に変換命令などを入れる
ことによって明示的にデータ・フォーマットを変換しな
ければならなかった。
【0010】
【発明が解決しようとする課題】以上述べたように、従
来プロセッサなどで、そのプロセッサが仮定しているバ
イト並びと異なるバイト並びのデータをアクセスしよう
とした場合、そのデータ並びを考慮して、ソフトウェア
でデータの並びを変えるか、メモリアクセス時にバイト
並びを変換することを指示する命令を入れるなど、その
データの並びを意識してアクセスしなければならなかっ
た。
【0011】また浮動小数点デ−タなどの場合も、アク
セスするデ−タがどのフォ−マットであるかを意識し
て、必要に応じてソフトウェアでフォ−マットを変換し
なければならなかった。
【0012】本発明は以上の点を鑑みてなされたもの
で、メモリアクセス時にバイト並びあるいはデ−タフォ
−マットの変換を自動的に行うことのできるデータ変換
装置の提供を目的とする。
【0013】
【課題を解決するための手段】本発明に係るデータ変換
装置は、データ・バスとプロセッサをつなぐものであっ
て、アドレスによってそのアドレスのデータのデータ・
バス上での配列順序を知る手段と、この配列順序にした
がってデータ・バス上のデータの配列順序を変換してプ
ロセッサに供給する手段とを具備する。
【0014】また本発明は上記の配列順序を知る手段と
して、アドレス変換装置内のページ・テーブルの各エン
トリに、対応するそれぞれのページのデータ・バス上で
の配列順序を格納する手段を具備する。
【0015】また本発明のもう1つの発明に係るデータ
変換装置は、データ・バス上のデータの配列順序を示す
データ・バスから供給される信号にしたがってデータ・
バス上のデータの配列順序を変換してプロセッサに供給
する手段を具備する。
【0016】
【作用】本発明によれば、データ・アクセス時にそのデ
ータ・アドレスによってデータの配列順序を知ることが
可能となる。この情報によってデータの配列順序を変更
する必要があることが判明した場合は、配列順序を変換
する手段を用いてデータの配列順序を変換する。
【0017】また本発明によれば、アドレス変換装置内
のページ・テーブル各エントリにそれぞれのページのデ
ータの配列順序を格納することにより、データ・アクセ
ス時にそのアクセス・アドレスによってページ・テーブ
ルを引き、対応するページ・テーブル・エントリのこの
配列順序を示す情報を得ることが可能となる。これによ
り必要に応じてデータの配列順序の変換を行なう。
【0018】また本発明によれば、データ・バスからデ
ータ・アクセス時にデータと共にデータの配列順序を示
す信号が供給される。そしてこの信号で示されるデータ
配列情報によって、必要に応じてデータの配列順序の変
換を行なう。
【0019】
【実施例】図1に本発明の第1の実施例に係るデータ変
換装置の構成を示す。これはlittle endian もしくはbi
g endianのデータが現れる32bitのシステム・デー
タ・バス(5),(6),(7),(8)と32bit
プロセッサ(9)のデータ・バスであるプロセッサ・デ
ータ・バス(10),(11),(12),(13)と
を接続するものである。システム・データ・バス(5〜
8)は、図2のシステム・バス4に相当し、他のプロセ
ッサやI/O機器,メモリ等のデータ入出力装置が接続
されている。プロセッサ(9)はこれらのデータ・バス
を介して他のデータ入出力装置へアクセス(読出/書
込)を行う。
【0020】なおここでは、ショート・ワード(2by
te)、ワード(4byte)のデータはそれぞれのワ
ード境界に合わせられるものとする。つまりショート・
ワード・データはアドレスの最下位1bitが0、ワー
ド・データはアドレスの最下位2bitが0であるもの
とする。
【0021】32bitのシステム・データ・バスは8
bit毎に4つの組に分けられる。以下0bit目から
7bit目をB0(5)、8bit目から15bit目
をB1(6)、16bit目から23bit目をB2
(7)、24bit目から31bit目をB3(8)と
それぞれ呼ぶ。図3に示されるように、バイト・データ
はそのアドレスの最下位2bitによって、アドレスの
下位2bitが2進表現で00、01、10、11のバ
イト・データはそれぞれB0、B1、B2、B3にそれ
ぞれ現れる。
【0022】同様に32bitのプロセッサ・データ・
バスも8bit毎に4つの組に分けられる。下位から0
bit目から7bit目をP0(10)、8bit目か
ら15bit目をP1(11)、16bit目から23
bit目をP2(12)、24bit目から31bit
目をP3(13)とそれぞれ呼ぶ。このプロセッサ・デ
ータ・バスにはプロセッサ内部で使用されるbit順序
で信号が現れる。つまり最下位バイトから順にP0,P
1,P2,P3に現れる。
【0023】図1において、ページ・テーブル(14)
は通常のアドレス変換・データ保護などを行なうための
情報の他に、現在アクセスされているデータ・アドレス
のデータ並びがlittle endian であるかbig endianであ
るかを示す1bitの情報を格納し、アクセスされてい
るページに対応するこのデータ並びを示す信号を出力す
る。このページ・テーブルのそれぞれのページ・テーブ
ル・エントリには、通常の対応するページの物理ページ
番号(15)、アクセス保護情報などを格納する幾つか
のフラグ・ビット(16)などの他に、そのページのデ
ータがシステム・データ・バス上でbig endianで現れる
か、little endian で現れるかを示すendian bit(1
7)を持つ。データ・アクセス時には対応するページの
endian bitの値がendian信号(18)として出力され
る。
【0024】図1においてデータ・サイズ信号size
(19)はプロセッサが出力する信号で、データ・アク
セス時にそのデータ・アクセス・サイズが、バイト(8
bit)、ショート・ワード(16bit)、ワード
(32bit)のいずれかであることを示す。同様にア
ドレス信号adrs[1:0](20)もプロセッサに
よって出力される信号で、データ・アクセス時にそのデ
ータ・アドレスの最下位2bitを示す。
【0025】図1において(21)は、その入力制御信
号であるendian信号、データ・サイズ信号size、ア
ドレス信号adrs[1:0]の値に従って、システム
・データ・バスとプロセッサ・データ・バスとをバイト
並びを変換して接続するデータ選択装置である(図
4)。
【0026】このデータ選択装置内には4組みの8bi
t信号選択装置(22),(23),(24),(2
5)がある。これらはそれぞれに対応する制御信号C0
(26),C1(27),C2(28),C3(29)
の値にしたがってシステム・データ・バス側の2もしく
は4組の8bit信号のいずれかとプロセッサ側の8b
it信号を接続する。例えば内部制御信号C2が0の時
はプロセッサ・データ・バスのP2とシステム・データ
・バスのB1とを接続する。同様に内部制御信号C2が
1の時はプロセッサ・データ・バスのP2とシステム・
データ・バスのB2とを接続する。
【0027】プロセッサ(9)がlittle endian である
場合のデータ選択装置の、入力制御信号、endian信号、
データ・サイズ信号size、アドレス信号adrs
[1:0]のそれぞれの値と、内部制御信号C0,C
1,C2,C3との対応を図5に示す。また同図にはこ
れらの入力制御信号に従って生成される内部制御信号に
従って、プロセッサ・データ・バスとシステム・データ
・バスとが各々どのように接続されるかも示されてい
る。尚、big endianのアクセスをするプロセッサに接続
されている選択装置の場合は、endian信号がlittleのと
きには表の下段に示す動作を行い、endian信号がbig の
ときには表の上段に示す動作をすることになる。以下本
実施例のデータ・アクセス時の動作を説明する。動作の
流れを図6に示す。
【0028】まずプロセッサ(9)はアクセスするデー
タの論理アドレスを出力する(S1)。この論理アドレ
スが含まれるメモリ・ページに対応するエントリをペー
ジ・テーブル(14)から選択する(S2)。このペー
ジ・テーブルにあらかじめ、そのページの物理アドレス
(15)や保護情報(16)などと共に、そのページの
バイト並びを示す情報(17)が格納されている。メモ
リ・アクセス時にはこの選択されたページ・テーブル・
エントリ・バイト並びを示す情報がendian信号(18)
として出力される(S3)。
【0029】またプロセッサ(9)からアドレスととも
にそのデータ・アクセスのデータ・サイズを示すsiz
e信号(19)も出力される。このsize(19)信
号と先のendian信号(18)とアドレス信号の下位2bit
(20)を選択装置に与える。選択装置はこれらの信号
から内部制御信号C0(26),C1(27),C2
(28),C3(29)を生成し、4組みの8bit信
号選択装置(22),(23),(24),(25)に
与える(S4,S5)。これによりシステム・データ・
バス(5),(6),(7),(8)とプロセッサ・デ
ータ・バス(10),(11),(12),(13)が
適切にバイト並びが変換されて接続される(S6)。す
なわち、データがlittle endian で格納されているもの
としてアクセスするプロセッサに対してはlittle endia
n に変換されたデータが供給され、big endianとしてア
クセスするプロッサに対してはbig endianに変換された
データが供給される。
【0030】さらに、図5からわかるように、ワード・
データやショート・ワード・データについてはendianを
変換し、バイト・データについては変換しないため、数
値データと文字データが混在している場合にも、数値デ
ータ(ワード)についてはendianを変換し、文字データ
(バイト)については変換しないという動作がソフトウ
ェアによらずに実現できる。
【0031】次に図7に本発明の第2の実施例を示す。
これも先の実施例と同様にlittle endian もしくはbig
endianのデータが現れる32bitのシステム・データ
・バスと33bitプロセッサ・データ・バスとを接続
するものであり、システム・データ・バスにはデータ入
出力装置31が接続されている。
【0032】これは、システム・データ・バスにデータ
並びを示す信号線(30)を設け、データ入出力装置に
信号線駆動部32を設ける。また通常このシステム・デ
ータ・バス上にはlittle endian でデータが与えられる
ものとする。データ並びを示す信号(30)はハイ・レ
ベルにプル・アップされている。このシステム・データ
・バスにlittl endianデータを出力する場合は、この信
号をハイ・レベルのままにしておく。一方big endianで
データ出力する装置(プロセッサ、I/O機器、メモリ
など)は信号線駆動部32を用いてデータ出力時にこの
信号(30)をロウ・レベルにプル・ダウンする。1つ
のデータ入出力装置にlittle endeianとbig endianのデ
ータが混在する場合には、そのデータ格納位置等に基づ
いて信号線駆動部がどちらのendianであるかを判断す
る。これによりデータをバスから入力する装置は、この
信号を先に説明した選択装置(21)に供給することに
より、データのバイト並びを適切に変換することが可能
となる。
【0033】以上の実施例において、プロセッサから現
在のデータ・アクセスが浮動小数データへのアクセスで
あることを示す信号を選択装置に対して出力するように
すれば、同様の手段で浮動小数フォーマットを変換する
ことが出来る。例えば第一の実施例において、ページ・
テーブルのバイト並びの情報を格納する代わりに浮動小
数フォーマットの種類を表す情報(仮数部と指数部の各
々の桁数等)を格納し、さらに選択装置をこのフォーマ
ット情報にしたがって浮動小数データに対するアクセス
時にフォーマット変換を行なうようにする。これにより
浮動小数データのデータ・フォーマットを適切に変換す
ることが可能となる。
【0034】
【発明の効果】以上のように本発明によれば、従来プロ
セッサなどそのプロセッサが仮定しているバイト並びと
異なるバイト並びのデータをアクセスしようとする場合
でも、そのアクセス時にバイト並びの変換が自動的に行
なわれる。これにより、従来のようにソフトウェアでデ
ータの並びを変えたり、メモリアクセス時にバイト並び
を変換することを指示する命令を入れる必要がなくな
る。
【0035】また同様に浮動小数データなどの場合も、
アクセスするデータがどのフォーマットであるかを意識
して、必要に応じてソフトウェアでフォーマットを変換
する必要がなくなる。
【図面の簡単な説明】
【図1】 本発明の第1の実施例に係るデータ変換装置
の構成図
【図2】 密結合共有メモリSystemの構成図
【図3】 外部Data Bus上のデータとアドレス最下位2
bitとの対応を表す図
【図4】 図1の選択装置の構成図
【図5】 図1の選択装置の動作を表す図
【図6】 第1の実施例装置の動作を表すフロー・チャ
ート
【図7】 本発明の第2の実施例に係るデータ変換装置
の構成図
【符号の説明】
1 little endian のプロセッサ 2 big endianのプロセッサ 3 共有メモリ 4 システム・データ・バス 5 システム・データ・バス(0−7bit) 6 システム・データ・バス(8−15bit) 7 システム・データ・バス(16−23bit) 8 システム・データ・バス(24−31bit) 9 プロセッサ 10 プロセッサ・データ・バス(0−7bit) 11 プロセッサ・データ・バス(8−15bit) 12 プロセッサ・データ・バス(16−23bit) 13 プロセッサ・データ・バス(24−31bit) 14 ページ・テーブル 15 物理ページ番号 16 アクセス保護情報などのフラグ 17 endian bit 18 endian信号 19 データ・サイズ信号 20 アドレス信号 21 データ選択装置 22,23,24,25 8bit信号選択装置 26,27,28,29 8bit信号選択装置の制御
信号 30 データ並びを表す信号 31 データ入出力装置 32 信号線駆動部 33 データ格納部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 データ・バスとプロセッサをつなぐデー
    タ変換装置において、アドレスによってそのアドレスの
    データのデータ・バス上での配列順序あるいはフォ−マ
    ットの種類を知る手段と、この配列順序あるいはフォ−
    マットの種類にしたがってデータ・バス上のデータの配
    列順序あるいはフォ−マットを変換してプロセッサに供
    給する手段とを具備したことを特徴とするデータ変換装
    置。
  2. 【請求項2】 請求項1記載のデータ変換装置におい
    て、プロセッサがアクセスするデータのアドレスを管理
    する手段を備え、この管理を行うためのページ・テーブ
    ルの各エントリに、対応するそれぞれのページのデータ
    ・バス上での配列順序あるいはフォ−マットの種類を示
    す情報を予め格納しておき、この情報を参照することに
    より配列順序あるいはフォ−マットの種類を知ることを
    特徴とするデータ変換装置。
  3. 【請求項3】 データ・バスとプロセッサをつなぐデー
    タ変換装置において、前記デ−タ・バスにデータ・バス
    上のデータの配列順序あるいはフォ−マットの種類を示
    す信号線を設け、この信号線から供給される信号にした
    がって前記データ・バス上のデータの配列順序を変換し
    てプロセッサに供給する手段を具備したことを特徴とす
    るデータ変換装置。
JP22978792A 1992-08-28 1992-08-28 データ変換装置 Pending JPH0675742A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22978792A JPH0675742A (ja) 1992-08-28 1992-08-28 データ変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22978792A JPH0675742A (ja) 1992-08-28 1992-08-28 データ変換装置

Publications (1)

Publication Number Publication Date
JPH0675742A true JPH0675742A (ja) 1994-03-18

Family

ID=16897671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22978792A Pending JPH0675742A (ja) 1992-08-28 1992-08-28 データ変換装置

Country Status (1)

Country Link
JP (1) JPH0675742A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100329373B1 (ko) * 1997-10-28 2002-09-26 닛본 덴기 가부시끼가이샤 개선된바이트-스위칭연산기

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100329373B1 (ko) * 1997-10-28 2002-09-26 닛본 덴기 가부시끼가이샤 개선된바이트-스위칭연산기

Similar Documents

Publication Publication Date Title
US4361868A (en) Device for increasing the length of a logic computer address
US5724540A (en) Memory system having a column address counter and a page address counter
US5386523A (en) Addressing scheme for accessing a portion of a large memory space
EP0248436A2 (en) Method of and apparatus for processing data
JP3940435B2 (ja) ダイレクト・メモリ・アクセス(dma)バイト・スワッピングを実行する方法および装置
EP0840228A2 (en) Programmable memory access
US5848436A (en) Method and apparatus for efficiently providing data from a data storage medium to a processing entity
US5127096A (en) Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes
US4691282A (en) 16-bit microprocessor system
JPH0675742A (ja) データ変換装置
EP0049137B1 (en) Fixed data reading apparatus and method
US5771368A (en) Memory addressing scheme for increasing the number of memory locations available in a computer for storing higher precision numbers
JP2005222519A (ja) メモリに記憶されたデータワード内のビット値へのアクセス
US20030126402A1 (en) Device and method for information processing
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
US7370159B2 (en) Microprocessor having an extended addressable space
EP0321044B1 (en) Data bus control of ROM units in information processing system
JPS58137047A (ja) コンピユ−タの省略命令制御装置
KR0168973B1 (ko) 어드레스를 자동 증가시켜 롬을 억세스하는 방법 및 그장치
JP2954988B2 (ja) 情報処理装置
JP2918570B2 (ja) 中央演算処理装置
JP3217815B2 (ja) アドレス変換方式
JP3173807B2 (ja) 記憶装置の切替制御装置
KR100262014B1 (ko) 비트 조작이 가능한 입/출력 포트
JPH1040165A (ja) データ読み出し方法およびリードバッファ