JP2763207B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP2763207B2
JP2763207B2 JP3095666A JP9566691A JP2763207B2 JP 2763207 B2 JP2763207 B2 JP 2763207B2 JP 3095666 A JP3095666 A JP 3095666A JP 9566691 A JP9566691 A JP 9566691A JP 2763207 B2 JP2763207 B2 JP 2763207B2
Authority
JP
Japan
Prior art keywords
data
byte
order
processing apparatus
memory
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
JP3095666A
Other languages
English (en)
Other versions
JPH04363736A (ja
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.)
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 JP3095666A priority Critical patent/JP2763207B2/ja
Priority to US07/872,359 priority patent/US5630084A/en
Publication of JPH04363736A publication Critical patent/JPH04363736A/ja
Application granted granted Critical
Publication of JP2763207B2 publication Critical patent/JP2763207B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes

Description

【発明の詳細な説明】
【0001】 [発明の目的]
【0002】
【産業上の利用分野】この発明は、1命令が1ワードデ
ータからなる複数の命令を同時に実行可能な情報処理装
置に関し、特にプロセッサと外部メモリとのデータ接続
の仕方を可変にした情報処理装置に関する。
【0003】
【従来の技術】コンピュータシステムのデータ中のby
te(8ビット)単位のデータに対するアドレスの付け
方は規格が統一されておらず、2通りの方式がある。
【0004】図3(a)のように、MSB側のbyte
から順にアドレスを増加させていくBig−endia
nと、逆にLSB側のbyteから順にアドレスを増加
させていくLittle−endianである。このた
め、byte単位でアクセスすると両方式では順序が逆
になり、データ交換の際には不都合を生じ、互換性が保
てない。
【0005】一方、最近の傾向として、RISCプロセ
ッサの中でもスーパースカラVLIWといった、1サイ
クルで複数命令が同時実行可能な高速性を追求するプロ
セッサが主流になっている。これらのプロセッサはデー
タを外部メモリとやり取りする際も、一度に多くのデー
タの転送ができるようにバス幅を広く取り、これに伴っ
て外部メモリとの間に多くの接続ピンを備えている。
【0006】例えば、4word(1wordは32ビ
ット)を外部メモリから一度に取り込むような場合、B
ig−endianあるいはLittle−endia
nのデータは、図3(b)のように外部メモリ11に記
憶されているが、これらを接続ピンを通して読むと図3
(c)のようになる。すなわち、4つの接続ピン群A,
B,C,D(1つの接続ピン群は32本)から図の順序
でデータを読み込むことになる。
【0007】このとき、プロセッサ13の内部のハード
ウェアは、Big−endianかLittle−en
dianで構成されているので、これと異なる形式のデ
ータをアクセスするときには、2つの点で問題となる。
【0008】1つは、ワード(32bit)内でのby
teデータの順序が逆ということ、もう1つは、4つの
データの順序が逆であるという点である。
【0009】byte順の逆転に対しては、両方式に対
応できるため、図7に示すように、byte単位の入れ
換え回路が必要である。もし、この回路を設けたとして
も、ワードの逆順により、以下の点が問題として残る。
【0010】スーパースカラなどの場合、図4のように
外部メモリから複数の命令データを同時に読み込み、プ
ロセッサチップ13に内臓される命令レジスタ12に取
り込む。上で述べたように、プロセッサチップ13の内
部のハードウェアは、常に命令の順番がBig−end
ianあるいはLittle−endianに固定され
ている。このため、異なるendianのデータに対し
ては、命令の順番が反転してしまい、プロセッサによる
演算制御ができなくなる。
【0011】これを回避するために、図5のように命令
レジスタ12の前にSEL(セレクタ)を設け、データ
を交換する方法が考えられるが、上記のbyteの入れ
換え回路も設けなければならないので、データバス幅に
比例してバス配線によるチップサイズの増大が著しい。
【0012】さらに、セレクタを設けたとしても、倍精
度の浮動小数点データを扱うときには、図6(a)のよ
うに2ワードが連続したフォーマットになっている倍精
度データが、ワード単位で交換すると同図(b)のよう
なフォーマットになってしまう。なお、図6において、
sはサイン(符号)、eは指数部、fは仮数部を示す。
【0013】
【発明が解決しようとする課題】このように、従来のプ
ロセッサと外部メモリを接続する情報処理装置は、異な
るendianのデータに対してbyteの順番と命令
の順番が反転してしまい、演算制御ができなくなるとい
う問題があった。また、2ワード以上の連続したデータ
を用いて演算する場合には、データのフォーマットが使
用不可能なフォーマットになってしまうという欠点があ
った。
【0014】そこでこの発明は、このような従来の事情
に鑑みてなされたものであり、その目的とするところ
は、byte単位のアクセスを行うときには、byte
アドレスの2bitをendianの種類に応じて反転
させ、外部メモリに記憶されているデータの順番に対応
してプロセッサと外部メモリとの接続の仕方を可変する
ことにより、演算制御を可能にすると共に、2ワード以
上の連続したデータとして演算可能にすることができる
情報処理装置を提供することにある。
【0015】 [発明の構成]
【0016】
【課題を解決するための手段】上記目的を達成させる為
に、本発明による情報処理装置は、データ処理装置と、
このデータ処理装置に接続したメモリとからなり、前記
メモリから前記プロセッサへ、夫々複数のバイトデータ
からなるワードデータを複数同時に転送可能であり、前
記メモリへ与えるバイトアドレスを反転する回路を備
え、前記メモリと前記プロセッサとの接続が、同時に転
送可能なデータ内のワードの並び順が逆転するように行
われている。
【0017】また、この発明は、前記データ処理装置の
内部に、2ワード以上の連続したデータを用いて演算を
行う演算器と、ワード単位でのデータの入れ換えを行う
入れ換え手段とを備えている。
【0018】
【作用】上記構成において、この発明は、byte単位
のアクセスを行うときには、byteアドレスの2bi
tを反転させることによって、Big−endian、
Little−endianの両方式に対応できる。ま
た、この発明は、プロセッサ(データ処理装置)と外部
メモリ(記憶装置)とを接続するときの接続ピンの対応
を、システム全体で予め決定されているBig−end
ianあるいはLittle−endianに応じて可
変する。
【0019】さらに、この発明は、倍精度浮動小数点デ
ータのようなワード単位に連続したデータを扱うとき
は、プロセッサ内の演算器にセレクタを設け、入力され
る前にワード単位でデータの入れ換えを行う。
【0020】
【実施例】以下、図面を参照にしながらこの発明の実施
例を説明する。図8は、この発明の情報処理装置におけ
るbyteアドレス(2bit)の対応関係を示す説明
図である。
【0021】同図において、2bitのバイトアドレス
が3通り示してあるが、上段はLittle−endi
an、中段がBig−endian、下段がBig−e
ndianのビットを反転したものである。これによる
と、反転をすると両方式共、アドレスは同じになる。従
って、ビットの反転により、byteデータはメモリ上
の同じ位置に格納される。ビットの反転回路は、図9に
示すように、排他的論理和回路で簡単に構成するこどが
できる。
【0022】図1は、この発明の情報処理装置における
データと接続ピンの対応関係を示す説明図である。前提
として、上記のbyteアドレス反転により、byte
の順は揃っているものとする。
【0023】同図において、上段がBig−endia
nでデータが記憶されている外部メモリからデータを読
み出したときの順番を、下段がLittle−endi
anでデータが記憶されている外部メモリからデータを
読み出したときの順番を、中段がプロセッサと外部メモ
リを接続する接続ピンを示す。
【0024】上段および下段のデータは、バイト単位の
データであり、0〜Fはバイトアドレス(反転前)、a
〜pはバイトデータを区別するための識別子である。接
続ピンA〜Pは、バイト単位で各データと対応してい
る。
【0025】この図から分かるように、Big−end
ianの場合は、接続ピンAと外部メモリのアドレス0
とを接続させ、ピンBとアドレス1とを接続させ、同様
にピンC〜Pとアドレス1〜Fとを接続させる。Lit
tle−endianの場合は、ピンAとアドレス3と
を接続させ、ピンBとアドレス2とを接続させ、同様に
ピンC〜Pとアドレス1〜Cとを接続させる。
【0026】このように、システムのendianに応
じて接続ピンA〜Pの接続の仕方を可変することによ
り、バイトデータa〜pと接続ピンA〜Pとの関係は一
貫性が保たれ、命令順が逆転することがなくなる。
【0027】図2は、2ワード以上の連続したデータを
扱う演算器システムの構成を示すブロック図である。I
U(整数演算ユニット)1とFPU(浮動小数点演算ユ
ニット)2が、64ビットデータバス0,1を介して接
続されている。FPU2の入力の手前には、セレクタ
(SEL)が設けられており、各セレクタにはワード単
位にデータが入力されている。
【0028】このように、セレクタを設けることによっ
てワード単位でデータを入れ換えることができ、end
ianの違いに拘らず常に2ワードの連続したデータと
することができる。
【0029】以上のように、接続ピンA〜Pの接続の仕
方を可変することによってワード単位のアクセスに関し
ては問題ない。また、2ワードのデータに関しては主に
FPU2で使用されるので、入力の手前でendian
に応じてワード単位の入れ換えを行う。入れ換えの指定
はダイナミックにできるので、どちらのendianの
データでも扱うことができる。
【0030】
【発明の効果】以上説明したように、この発明の情報処
理装置によれば、接続ピンの接続の仕方を、外部メモリ
に記憶されているデータの昇順あるいは降順に応じて可
変することができる。これにより、命令の順番が逆転す
ること無く、プロセッサによる制御が可能となる。
【0031】また、演算器の入力の手前にワード単位で
データを入れ換える手段を設けることにより、常に連続
したデータとして扱うことができる。
【図面の簡単な説明】
【図1】この発明の情報処理装置におけるデータと接続
ピンの対応関係を示す説明図である。
【図2】2ワード以上の連続したデータを扱う演算器シ
ステムの構成を示すブロック図である。
【図3】従来のendianの違いにより読み出された
データの順序を示す概念図である。
【図4】従来の接続ピンとプロセッサの対応関係を説明
する説明図である。
【図5】プロセッサ内にセレクタを設けた、従来の接続
ピンとプロセッサの対応関係を説明する説明図である。
【図6】倍精度浮動小数点データのフォーマットを示す
データ構成図である。
【図7】従来のプロセッサ内に設けられている入れ換え
回路を示す回路図である。
【図8】この発明の情報処理装置におけるbyteアド
レス(2bit)の対応関係を示す説明図である。
【図9】この発明の情報処理装置に用いられる、ビット
の反転回路を示す回路図である。
【符号の説明】
0〜F バイトアドレス a〜p 識別子 A〜P 接続ピン 1 IU(整数演算ユニット) 2 FPU(浮動小数点演算ユニット)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 データ処理装置と、このデータ処理装置
    に接続したメモリとからなり、前記メモリから前記デー
    タ処理装置へ、夫々複数のバイトデータからなるワード
    データを複数同時に転送可能であり、前記メモリへ与え
    るバイトアドレスを反転する回路と、前記メモリ内のバ
    イトデータの並び順と前記データ処理装置で処理するバ
    イトデータの並び順が異なるか否かに応じで接続の仕方
    を可変とするための手段とを備え、同時に転送可能なデ
    ータ内のワードの並び順が必要に応じて逆転するように
    行われていることを特徴とする情報処理装置。
  2. 【請求項2】 前記バイトアドレスを反転する回路で
    は、前記メモリ内のバイトデータの並び順と前記データ
    処理装置内で処理するバイトデータの並び順が異なるこ
    とを示す信号と、前記バイトアドレスとの排他的論理和
    が計算されることを特徴とする特許請求の範囲第1項記
    載の情報処理装置。
  3. 【請求項3】 前記ワードデータは4バイトからなり、
    4ワードが同時に転送可能であることを特徴とする特許
    請求の範囲第2項記載の情報処理装置。
JP3095666A 1991-04-25 1991-04-25 情報処理装置 Expired - Fee Related JP2763207B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3095666A JP2763207B2 (ja) 1991-04-25 1991-04-25 情報処理装置
US07/872,359 US5630084A (en) 1991-04-25 1992-04-23 System for converting data in little endian to big endian and vice versa by reversing two bits of address referencing one word of four words

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3095666A JP2763207B2 (ja) 1991-04-25 1991-04-25 情報処理装置

Publications (2)

Publication Number Publication Date
JPH04363736A JPH04363736A (ja) 1992-12-16
JP2763207B2 true JP2763207B2 (ja) 1998-06-11

Family

ID=14143821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3095666A Expired - Fee Related JP2763207B2 (ja) 1991-04-25 1991-04-25 情報処理装置

Country Status (2)

Country Link
US (1) US5630084A (ja)
JP (1) JP2763207B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5928349A (en) * 1995-02-24 1999-07-27 International Business Machines Corporation Mixed-endian computing environment for a conventional bi-endian computer system
US5907865A (en) * 1995-08-28 1999-05-25 Motorola, Inc. Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes
US5848436A (en) * 1996-03-06 1998-12-08 International Business Machines Corporation Method and apparatus for efficiently providing data from a data storage medium to a processing entity
US5828884A (en) * 1996-05-23 1998-10-27 Advanced Micro Devices, Inc. Method for compiling a software program and executing on a system which converts data between different endian formats
US5898896A (en) * 1997-04-10 1999-04-27 International Business Machines Corporation Method and apparatus for data ordering of I/O transfers in Bi-modal Endian PowerPC systems
EP1119805B8 (en) * 1998-10-10 2006-05-03 Transitive Limited Endian transformation
US6691307B2 (en) * 1999-08-03 2004-02-10 Sun Microsystems, Inc. Interpreter optimization for native endianness
US6567884B1 (en) * 2000-03-21 2003-05-20 Cypress Semiconductor Corp. Endian-controlled counter for synchronous ports with bus matching
JP2001306295A (ja) * 2000-04-26 2001-11-02 Nec Corp エンディアン変換装置及びエンディアン変換方法
JP4446373B2 (ja) 2003-03-19 2010-04-07 パナソニック株式会社 プロセッサ、データ共有装置
US20050066146A1 (en) * 2003-09-19 2005-03-24 Intel Corporation Endian conversion
CN1838666B (zh) * 2005-03-24 2010-04-28 华为技术有限公司 一种跨操作系统平台的字节序转换方法
US7870316B1 (en) * 2006-12-29 2011-01-11 Unisys Corporation System and method for providing an inline data conversion for multiplexed data streams
CN102968330B (zh) * 2012-11-27 2015-08-19 武汉大学 一种固件代码反汇编中端模式差异的处理方法
US9853810B1 (en) * 2016-09-30 2017-12-26 International Business Machines Corporation Message padding for bit-oriented and bit-reversed input messages
CN108021444B (zh) * 2017-11-06 2022-04-05 珠海格力智能装备有限公司 数据处理方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58102381A (ja) * 1981-12-15 1983-06-17 Nec Corp バツフアメモリ
JPS60128543A (ja) * 1983-12-16 1985-07-09 Hitachi Ltd アドレス交換仮想記憶装置
JPS60152521A (ja) * 1984-01-19 1985-08-10 Toshiba Corp 注型用エポキシ樹脂組成物
JPH0738187B2 (ja) * 1984-03-23 1995-04-26 株式会社日立製作所 Lsiに構成されたマイクロコンピュータ
ATE82412T1 (de) * 1986-02-06 1992-11-15 Mips Computer Systems Inc Funktionseinheit fuer rechner.
US4814976C1 (en) * 1986-12-23 2002-06-04 Mips Tech Inc Risc computer with unaligned reference handling and method for the same
US5132898A (en) * 1987-09-30 1992-07-21 Mitsubishi Denki Kabushiki Kaisha System for processing data having different formats
US5101498A (en) * 1987-12-31 1992-03-31 Texas Instruments Incorporated Pin selectable multi-mode processor
JP2633331B2 (ja) * 1988-10-24 1997-07-23 三菱電機株式会社 マイクロプロセッサ
DE69124437T2 (de) * 1990-08-09 1997-07-03 Silicon Graphics Inc Verfahren und Vorrichtung zum Umkehren von Byteordnung in einem Rechner

Also Published As

Publication number Publication date
US5630084A (en) 1997-05-13
JPH04363736A (ja) 1992-12-16

Similar Documents

Publication Publication Date Title
JP2763207B2 (ja) 情報処理装置
US5995992A (en) Conditional truncation indicator control for a decimal numeric processor employing result truncation
EP1019805B1 (en) Data processing unit with digital signal processing capabilities
JP2674754B2 (ja) バレル・シフタ
US6243803B1 (en) Method and apparatus for computing a packed absolute differences with plurality of sign bits using SIMD add circuitry
US5187783A (en) Controller for direct memory access
EP1825383A2 (en) Data file storing multiple data types with controlled data access
KR20080049825A (ko) 임베딩된 마스킹을 갖는 빠른 회전자와 그 방법
EP0126247B1 (en) Computer system
US5251321A (en) Binary to binary coded decimal and binary coded decimal to binary conversion in a VLSI central processing unit
US20030131029A1 (en) Barrel shifter
JPH06103062A (ja) コンピュータ処理装置に利用できるレジスタ数を増大させる装置
US4133028A (en) Data processing system having a cpu register file and a memory address register separate therefrom
KR20060103965A (ko) 단일명령 복수데이터 관리를 위한 방법 및 컴퓨터 프로그램
US4811266A (en) Multifunction arithmetic indicator
JPH03142533A (ja) 10進データのチェック回路
JP3332606B2 (ja) マイクロプロセッサ
EP0114683A2 (en) Arithmetic unit
US6895424B2 (en) Method and circuit for alignment of floating point significants in a SIMD array MPP
JPS602709B2 (ja) ビルデイング・ブロツク構造をもつデータ処理システム
JP3043861B2 (ja) データ処理装置
JPH0997211A (ja) バス制御装置、及びバス制御装置を含む情報処理装置
US6128636A (en) Method for interfacing floating point and integer processes in a computer system
JPH023821A (ja) 高速演算装置
JP2859645B2 (ja) ベクトル処理システム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees