JPH06175819A - スワップ情報格納形式 - Google Patents

スワップ情報格納形式

Info

Publication number
JPH06175819A
JPH06175819A JP32400392A JP32400392A JPH06175819A JP H06175819 A JPH06175819 A JP H06175819A JP 32400392 A JP32400392 A JP 32400392A JP 32400392 A JP32400392 A JP 32400392A JP H06175819 A JPH06175819 A JP H06175819A
Authority
JP
Japan
Prior art keywords
swap
register
data
bit
bits
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
JP32400392A
Other languages
English (en)
Inventor
Chihiro Tamura
千尋 田村
Hitoshi Kawaguchi
仁 川口
Kazuo Sukai
和雄 須貝
Hideo Haruta
日出雄 春田
Masataka Kobayashi
正隆 小林
Yoshitake Kurokawa
能毅 黒川
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
Hitachi Micro Software Systems Inc
Original Assignee
Hitachi Ltd
Hitachi Micro Software Systems Inc
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, Hitachi Micro Software Systems Inc filed Critical Hitachi Ltd
Priority to JP32400392A priority Critical patent/JPH06175819A/ja
Publication of JPH06175819A publication Critical patent/JPH06175819A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/768Data position reversal, e.g. bit reversal, byte swapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】本発明はスワップレジスタの設計を他のレジス
タと同等に行い、読み込み及び書き込みに際してはプロ
グラム容易なユーザインタフェスの提供を可能にする、
スワップ情報格納形式を提供することにある。 【構成】バスデータはI/Oインタフェス中のスワップ
ロジック311,312を通じて各情報格納機構330
と入出力される。スワップ情報保持機構331のデータ
入出力に際しては他の情報保持機構と同様にスワップさ
れたデータが授受される。スワップレジスタはスワップ
前後においてビット配置が不変のレジスタエントリを持
つ。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】ワークステーション,パーソナル
コンピュータ等の情報処理機器におけるメモリ及びI/
Oアクセスに伴い、ビッグエンディアン及びリトルエン
ディアンなデ−タ構造間での変換のような、データ構造
の変更がある場合に関する。
【0002】
【従来の技術】従来エンディアン変換,画像情報変換等
のため、ハーフワード,バイト,ビット順序の変更を伴
いデータの送受信を行う場合、この順序変更に関する指
示内容を格納したレジスタであるスワップレジスタは、
自分自身が指示するスワップ動作のため自分自身へ書き
込み及び読み込みされるデータもスワップしてしまう可
能性があり、対策を施さないかぎり不正なレジスタ情報
を生成する原因となる恐れがあった。
【0003】これに対処するためスワップ動作に合わ
せ、スワップレジスタの書き込みデータの前処理又は読
み込みデータの後処理を行っていた。
【0004】もしくはスワップ動作を必要とするレジス
タと不要なレジスタを異なるデータフロー系に置くよう
にしていた。このような例としてはWEITEK社製の
グラフィックコントローラW8720がある。このグラ
フィックコントローラは使用されるCPU系と表示処理
系間のデータ構成の相違をハーフワードスワップ,バイ
トスワップ、ビットスワップを用いて吸収する。これら
のスワップ動作の指示は命令レジスタへの書き込みの際
にアドレスの一部として入力される。アドレスバスはス
ワップロジックとは独立しているため書き込まれるデー
タがスワップされることはない。しかしこの方法では、
命令レジスタへの書き込み以前に必要なスワップ動作を
指示することが可能なアドレスを計算する必要がある。
【0005】
【発明が解決しようとする課題】上記のようにソフトウ
ェアによりデータ加工を行った場合、そのオーバヘッド
が問題となる。
【0006】またレジスタにより異なるデータフロー系
にレジスタが置かれた場合、アクセス方式に一貫性が無
い煩雑なレジスタ構成が問題となる。
【0007】本発明の目的はスワップ動作の如何に関わ
らずソフトウェアによるデータ加工を要さず、また他の
レジスタと同様にアクセス可能なレジスタ構成を取りつ
つ、常に期待されるスワップ動作の情報をスワップレジ
スタに書き込み及び読み出し可能とすることである。
【0008】
【課題を解決するための手段】上記課題を解決するため
に本発明ではレジスタの構造により対応する。レジスタ
のビット幅に対し、保持しなければならない情報の種類
が極めて少ないため同種のビットをレジスタエントリ中
に複数個保有可能である。これらのビットをスワップの
状態に依存せずに読み込み及び書き込み可能なように配
置する。
【0009】32ビットバスを想定した場合、上位ハー
フワードと下位ハーフワードのスワップを指示するハー
フワードスワップビット、各ハーフワード内で上位及び
下位バイトのスワップを指示するバイトスワップビッ
ト、各バイト内で上位及び下位ビットのスワップを指示
するビットスワップビットの3種類のビットから32ビ
ット幅のスワップレジスタを構成する。
【0010】バイト境界内において上記3種類のビット
を各2ビットづつ対称に配置する。更に、ハーフワード
境界内及びワード境界内で各種ビットを対称に配置す
る。
【0011】また、レジスタ実体の個数をスワップビッ
トの種類と同数とし、書き込み時は同種のビットの論理
和(以下orと記す)をとりラッチに格納し、読出し時は
同種のビットについては単一のラッチから出力する。
【0012】64ビットバスを想定した場合、上記3種
類のスワップビットに上位ワードと下位ワードのスワッ
プを指示するワードスワップビットを加えた4種類のビ
ットから64ビット幅のスワップレジスタを構成する。
【0013】この場合、各ビットはバイト境界内、ハー
フワード境界内、ワード境界内、ロングワード境界内に
おいて対称となるように配置する。
【0014】レジスタ実体の割当ては32ビットバスを
想定した際と同様とする。
【0015】
【作用】上記解決手段により、本発明は以下のようにス
ワップレジスタアクセス時の煩雑さを軽減する。
【0016】スワップレジスタ中バイト境界内において
各スワップビットが対称に配置されていることにより、
ビットスワップの有無に依存せず一定のレジスタ実体か
らの読出しを可能とする。更にハーフワード境界内、ワ
ード境界内において各スワップビットが対称に配置され
ていることからバイトスワップ、ハーフワードスワップ
の影響を受けず一定のレジスタ実体からの読出しが可能
となる。
【0017】また、レジスタ実体の個数をスワップビッ
トの種類と同数とし、同種のビットであればエントリ内
のどのビット位置でも同一のレジスタ実体に割り当てら
れる構成をとることにより、スワップ動作の状態に配慮
することなくレジスタへの書き込みが可能となる。
【0018】
【実施例】本発明の一実施例を図面を用いて詳細に説明
する。
【0019】図1は本実施例のスワップレジスタが用い
られる情報処理機器のシステム構成である。これはワー
クステーション,パーソナルコンピュータ等を意識して
描いたものであるが、本発明はバスアーキテクチャの変
換等、バイト,ハーフワード,ワード,ロングワード境
界内において、ビット,バイト,ハーフワード,ワード
単位でのスワップを行う(以下単にスワップ動作と記す)
場合に関連するものであり、実施形態として図1に限定
されない。
【0020】システムはCPU110、メモリシステム
コントローラ120、主記憶130、I/Oコントロー
ラ群140、I/O装置群150から構成される。
【0021】CPU110は固有にシステム内のデータ
及びバスのビット幅及びビット順(バイト順,ワード順)
(以下単にデータ構成,バス構成と記す)を決定する。C
PU110、メモリシステムコントローラ120、主記
憶130から構成される部分は同一のデータ構成、バス
構成により入出力が行われるためデータ構成バス構成の
変換を行う必要はない。
【0022】しかし、メモリシステムコントローラ12
0−各I/Oコントローラ間のデータ構成およびI/O
コントローラ−I/O装置間のデータ構成、バス構成
は、接続先のI/O装置のデータ構成、バス構成に従い
適宜合致させる必要がある。データ構成の変換はCPU
系の相違によるエンディアンの変更、画像データ入出力
時のビット順の変更等種々の変換を扱う可能性を持つ。
これに対応するため、32ビット系であれば、ハーフワ
ードスワップ,バイトスワップ,ビットスワップを各々
単独又は自在に組み合わせて実行可能とする。
【0023】これらのスワップ動作を必要とするデータ
としてI/Oコントローラ中の各種レジスタに格納する
データがある。これらのレジスタ中にはI/Oコントロ
ーラが演算,加工するためI/O装置から読み込んだデ
ータ又はI/OコントローラからI/O装置に送出する
ためのデータが格納される。I/Oコントローラ中のレ
ジスタに対するデータの格納および送出について図3を
用いて説明する。
【0024】図3はI/Oコントローラ中のレジスタの
物理的構成を示したものである。レジスタは大別してバ
スデータスワップロジック310とレジスタ実体320
から構成される。バスデータスワップロジック310は
レジスタ内部の各情報保持機構のデータ構成とバスデー
タのデータ構成を整合させるために、スワップ情報保持
機構331のデータをもとにスワップ動作を行う。レジ
スタへの書き込みに際しては、入力側スワップロジック
311がスワップレジスタの情報保持機構から得られる
スワップ情報に従いスワップしたバスデータは、目的と
する情報保持機構に格納される。レジスタ実体320は
各レジスタ情報保持機構330とこれらの出力を選択す
るセレクト機構321から構成される。ここにはスワッ
プレジスタの情報保持機構331も含まれここからの出
力が直接入力側及び出力側スワップロジック311,3
12に入力される。レジスタからの読出しに際しては、
出力側スワップロジック312がスワップした情報保持
機構のデータがバス上に送出される。
【0025】I/Oコントローラ中のレジスタにはスワ
ップ動作の影響を受けると意味のなくなるものもある。
I/Oコントローラの制御情報を格納したレジスタ等で
ある。これらのレジスタのうちの一つがスワップに関す
る情報を格納したスワップレジスタである。
【0026】スワップレジスタ以外のレジスタの入出力
は、入出力以前にスワップレジスタの値を適切に設定す
ることにより正しいデータ構成が保証される。しかし、
スワップレジスタの入出力は入出力時のスワップレジス
タの値の影響を受け、正しいデータ構成は保証されな
い。これに対処するため、入出力データをスワップ動作
に合わせてソフトウェアにより加工したり、図3とは異
なりスワップレジスタのみを他のレジスタ情報保持機構
と切離しスワップロジックを持たないデータフロー系に
置くことは煩雑な処理を必要とする。
【0027】上記問題に対し、本発明ではスワップレジ
スタのエントリ構成および情報保持機構を工夫すること
により対処する。
【0028】まずスワップレジスタのエントリ構成であ
る。32ビット幅のレジスタエントリを例に採ると、こ
の中に含むべきビットはビットスワップビット,バイト
スワップビット,ハーフワードスワップビットの全3種
類である(64ビット幅のバスに対応したI/Oコント
ローラ中のスワップレジスタの場合、ワードスワップビ
ットが加わる)。このことによりエントリ内において同
種のビットが複数個、相異なるビット位置に存在するこ
とが可能である。
【0029】書き込み及び読み込みに時に図2に示した
様なスワップの影響がないということは、スワップ前後
のデータ構成が同一に見えれば良い。つまりビットの並
び順がスワップ前後で同一であれば良い。同種のビット
が複数個存在可能であることを用いて、各スワップビッ
トをバイト境界内、ハーフワード境界内、ワード境界内
で対称(下位ビット側から読んでも上位ビット側から読
んでも同一の並びであること)に配置する。
【0030】図3は32ビット幅のスワップレジスタエ
ントリの一例を示す。図中下側に示されるのがエントリ
全体420、拡大部分410は一つのバイト境界内のビ
ット配置を示したものである。Hはハーフワードスワッ
プビット、Bはバイトスワップビット、bはビットスワ
ップビットを示す。d.c.は任意ビットである。図に示さ
れるとおり3種類のスワップビットはバイト境界内で対
称に配置される必要がある。ただし、対称であればこれ
以外の配置も可能である。他のバイト境界内のビット配
置はこれと同一である。
【0031】上記スワップレジスタエントリ420を通
じてスワップ情報保持機構と入出力を行う際、同種のビ
ットが全て等価に働くことが必要である。つまり、読み
込み時は各境界内で各スワップビットは対称に配置され
ているため、同種のビットが同一の値を格納していれば
スワップの影響を受けない。また書き込み時では、エン
トリ内のいずれかのスワップビットへの書き込みがあっ
た場合、同種のビット全てが書き込まれた場合と同様に
情報保持機構へのデータ格納が行われればスワップの影
響を考慮する必要が無くなる。
【0032】上記の要求を満たすため、スワップ情報の
保持機構により対応する。図5は図4のスワップレジス
タエントリに対応したスワップ情報保持機構である。図
中上方の数字は入力データのビット番号510、下側の
数字は出力データのビット番号520である。書き込み
時は最初に入力側スワップロジックから入力されたデー
タは同種のビット間でorをとられる。次にこの値が各
々専用のラッチ531,532,533に格納される。
読出し時、各ラッチの出力は同種の出力データビットに
分配される。この後出力側スワップロジックを通じ出力
される。同種のビットであればエントリ内のビット位置
に依らず単一のラッチから入出力を行うことになるため
スワップの影響に配慮することなく読み込み及び書き込
みが可能となる。
【0033】
【発明の効果】本発明により従来行われていたデータ構
成の変更に伴うソフトウェアのオーバヘッドを削減し、
スワップレジスタの情報保持機構を他のレジスタから分
離する煩雑なレジスタ構成を回避可能とする。
【0034】スワップレジスタの書き込み及び読み込み
に際しスワップ動作の状態を配慮する必要がない、プロ
グラムの容易なユーザインタフェスを提供することが可
能となる。
【図面の簡単な説明】
【図1】本発明の適用されるシステム構成例を示す図で
ある。
【図2】32ビットデータに対するスワップの仕様を示
す図である。
【図3】スワップレジスタ及び他のレジスタの物理的な
構成を情報保持機構を中心に示す図である。
【図4】スワップレジスタのエントリ構成の1例を示す
図である。
【図5】スワップ情報保持機構の構成図である。
【符号の説明】
110…CPU、120…メモリシステムコントロー
ラ、130…主記憶、140…I/Oコントローラ群、
150…I/O装置群、310…バスデータスワップロ
ジックブロック、311…入力側スワップロジック、3
12…出力側スワップロジック、320…レジスタ実
体、321…セレクト機構、330…各種情報保持機
構、331…スワップ情報保持機構、410…スワップ
レジスタエントリ中の1バイト境界、420…スワップ
レジスタエントリ全体、510…スワップ情報入力線、
520…スワップ情報出力線、531…ハーフワードス
ワップビット格納用ラッチ、532…バイトスワップビ
ット格納用ラッチ、533…ビットスワップビット格納
用ラッチ。
フロントページの続き (72)発明者 川口 仁 横浜市戸塚区吉田町292番地株式会社日立 製作所マイクロエレクトロニクス機器開発 研究所内 (72)発明者 須貝 和雄 横浜市戸塚区吉田町292番地株式会社日立 製作所マイクロエレクトロニクス機器開発 研究所内 (72)発明者 春田 日出雄 横浜市戸塚区吉田町292番地株式会社日立 マイクロソフトウェアシステムズ内 (72)発明者 小林 正隆 横浜市戸塚区吉田町292番地株式会社日立 マイクロソフトウェアシステムズ内 (72)発明者 黒川 能毅 横浜市戸塚区吉田町292番地株式会社日立 製作所マイクロエレクトロニクス機器開発 研究所内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】データのビット並び順を変換(スワップ)す
    るロジックを伴ったデータフロー系に位置し、他レジス
    タと同様に制御可能なスワップ情報を格納することを特
    徴とするスワップ情報格納形式。
  2. 【請求項2】自身のスワップ情報に従い引き起こされる
    スワップ動作により自身の入出力に影響を受けないこと
    を特徴とする請求項1記載のスワップ情報格納形式。
JP32400392A 1992-12-03 1992-12-03 スワップ情報格納形式 Pending JPH06175819A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32400392A JPH06175819A (ja) 1992-12-03 1992-12-03 スワップ情報格納形式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32400392A JPH06175819A (ja) 1992-12-03 1992-12-03 スワップ情報格納形式

Publications (1)

Publication Number Publication Date
JPH06175819A true JPH06175819A (ja) 1994-06-24

Family

ID=18161044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32400392A Pending JPH06175819A (ja) 1992-12-03 1992-12-03 スワップ情報格納形式

Country Status (1)

Country Link
JP (1) JPH06175819A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4814129A (en) * 1985-06-14 1989-03-21 Nikkiso Co., Ltd. Process for producing stabilized yarn for producing carbon fiber
KR101329850B1 (ko) * 2005-06-01 2013-11-14 르네사스 일렉트로닉스 가부시키가이샤 반도체 장치 및 데이터 처리 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4814129A (en) * 1985-06-14 1989-03-21 Nikkiso Co., Ltd. Process for producing stabilized yarn for producing carbon fiber
KR101329850B1 (ko) * 2005-06-01 2013-11-14 르네사스 일렉트로닉스 가부시키가이샤 반도체 장치 및 데이터 처리 시스템

Similar Documents

Publication Publication Date Title
JP2633331B2 (ja) マイクロプロセッサ
TW389903B (en) DRAM with integral SRAM and systems and methods using the same
US4293941A (en) Memory access control system in vector processing system
JPS6136848A (ja) データ処理システムのエミユレーシヨン
US4136383A (en) Microprogrammed, multipurpose processor having controllable execution speed
JPH0414385B2 (ja)
US5634013A (en) Bus bridge address translator
JPS6312072A (ja) メモリ制御装置
JPS623461B2 (ja)
JPH06175819A (ja) スワップ情報格納形式
KR910001708B1 (ko) 중앙처리장치
JPS59114677A (ja) ベクトル処理装置
JPS6058487B2 (ja) デ−タ処理装置
JPH0192851A (ja) アドレス空間切替装置
JP2794481B2 (ja) 表示システム
JPS584464A (ja) メモリ・アドレツシング方式
SU758126A1 (ru) Устройство для сопряжения 1
JP2842024B2 (ja) レジスタファイル回路
JP2573711B2 (ja) マイクロサブルーチン制御方式
JP2710483B2 (ja) 半導体集積回路
JPH10240525A (ja) 情報処理装置
JPS63115250A (ja) メモリ制御装置
JPH05143718A (ja) 画像処理装置
JPH0498678A (ja) レジスタ・ファイル制御方式
JPS616746A (ja) 部分書込み制御方式