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

データ変換装置 Download PDF

Info

Publication number
JP3731565B2
JP3731565B2 JP2002176995A JP2002176995A JP3731565B2 JP 3731565 B2 JP3731565 B2 JP 3731565B2 JP 2002176995 A JP2002176995 A JP 2002176995A JP 2002176995 A JP2002176995 A JP 2002176995A JP 3731565 B2 JP3731565 B2 JP 3731565B2
Authority
JP
Japan
Prior art keywords
data
point format
format data
floating
fixed
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
JP2002176995A
Other languages
English (en)
Other versions
JP2004023526A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2002176995A priority Critical patent/JP3731565B2/ja
Priority to US10/462,503 priority patent/US6737997B2/en
Publication of JP2004023526A publication Critical patent/JP2004023526A/ja
Application granted granted Critical
Publication of JP3731565B2 publication Critical patent/JP3731565B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes

Description

【発明の属する技術分野】
本発明は、データ変換装置、データ変換方法、および、データ変換方法を実行させるためのプログラムならびにその記録媒体に関し、特にデータを圧縮してメモリに書き込み、その後メモリから読み出したデータを伸長するデータ変換装置に関する。なお、ここにいう変換とは、これら圧縮および伸長を含む広い概念として使用する。
【0001】
【従来の技術】
実数を固定有限長の2進数により表現する形式として、固定小数点形式と浮動小数点形式とがある。固定小数点形式とは、小数点を特定の位置に固定して表現する方法であり、一般に、数値を表す部分に符号ビットを加えた構成を有する。一方、浮動小数点形式とは、整数rを基数として、r進固定小数点数f(仮数部)とr進整数e(指数部)との組合せによってある数yを表すものであり、この場合、数yは仮数部fにrのe乗を掛け合わせたもの(y=f×r)になる。一般には基数としてr=2が用いられ、さらに符号ビットを加えた構成を有する。
【0002】
固定小数点形式は、小数点位置が固定されているという性質上、ダイナミックレンジが狭く、表現できる範囲が限定される。そこで、実際にプログラムを作成する際には、浮動小数点形式の考え方に倣い、固定小数点形式の数値部分を仮数部に見立てて、指数部を別の変数に保持しておくことにより、小数点位置を適宜変更するという手法が利用される。但し、この場合、演算のダイナミックレンジを把握して、オーバフローやアンダーフローが発生しないように指数部を設定する必要がある。
【0003】
これに対し、浮動小数点形式は、仮数部の有限精度を保ちながら演算を行うことが可能であり、指数部を可変とすることによって広いダイナミックレンジを実現する。そのため、ダイナミックレンジは大雑把に把握していればよく、プログラム開発を効率良く行うことができる。また、特に浮動小数点演算ユニットを有する処理装置では、高速に浮動小数点形式の数値演算が可能である。
【0004】
【発明が解決しようとする課題】
しかしながら、浮動小数点形式は仮数部をデータに含んで構成されるため、固定小数点形式と比べてより多くのビット数を要する。例えば、固定小数点形式として一般に使用される形式は15ビットの数値部分を含む16ビットデータであるが、IEEE(米国電気電子学会)規格(IEEE standard 754−1985)による単精度浮動小数点形式のデータは23ビットの仮数部を含む32ビットデータである。浮動小数点形式データをテーブルに多数用意して演算を行うような場合には、これらデータ容量の問題は特に深刻になる。
【0005】
例えば、41KHzから32KHzへのサンプリングレートコンバータを実現するためには、512乃至1024のタップ数(係数の数)を有するFIRフィルタを構成しなければならず、これら係数をテーブルに保持するためには各データを極力コンパクトに収めることが必要となる。
【0006】
本発明の目的は、処理装置で使用される形式のデータをメモリに書き込む際に圧縮して書き込み、メモリから読み出す際に伸長して読み出すデータ変換装置を提供することにある。
【0007】
【課題を解決するための手段】
上記課題を解決するために本発明の書込み命令に対応するデータ変換装置は、処理装置から出力されたメモリへの浮動小数点形式データの書込み命令に応答して、上記浮動小数点形式データを固定小数点形式データに変換するデータ変換装置であって、上記処理装置から出力された上記書込み命令に対応する書込みアドレスに含まれる上記固定小数点形式データとしての指数部から上記浮動小数点形式データにおける指数部を減じた値を繰り返し回数として出力する手段と、上記回数に従って上記浮動小数点形式データにおける仮数部右シフト操作を施して上記メモリに出力される固定小数点形式データにおける仮数部して出力する手段とを具備する。これにより、上記処理装置から出力された上記書込み命令に対応する書込みアドレスに含まれる上記固定小数点形式データとしての指数部上記メモリに出力される上記固定小数点形式データとしての仮数部とによって上記浮動小数点形式データにおける指数部および仮数部が近似されるという作用をもたらす。
【0011】
また、本発明の書込み命令に対応する他のデータ変換装置は、上記書込みアドレスを所定のアドレスに変換する手段と、上記書込みアドレスが浮動小数点データ空間の領域内にあることを検出する手段と、上記書込みアドレスが上記浮動小数点データ空間の領域内にあることが検出された場合には上記変換されたアドレスを上記メモリに出力し、上記書込みアドレスが上記浮動小数点データ空間の領域内にあることが検出されなかった場合には上記書込みアドレスをそのまま上記メモリに出力する手段とをさらに具備する。これにより、書込みアドレスの領域によってアドレス変換の要否を制御するという作用をもたらす。
【0012】
また、本発明の書込み命令に対応する他のデータ変換装置は、上記書込みアドレスが浮動小数点データ空間の領域内にあることを検出する手段と、上記書込みアドレスが上記浮動小数点データ空間の領域内にあることが検出された場合には上記固定小数点形式データを上記メモリに出力し、上記書込みアドレスが上記浮動小数点データ空間の領域内にあることが検出されなかった場合には上記処理装置から出力されたデータをそのまま上記メモリに出力する手段とをさらに具備する。これにより、書込みアドレスの領域によってデータ変換の要否を制御するという作用をもたらす。
【0013】
また、本発明の書込み命令に対応する他のデータ変換装置は、上記浮動小数点形式データが所定の数値であることを検出する手段と、上記浮動小数点形式データが所定の数値であることが検出された場合には予め定められたデータを上記メモリに出力する手段とをさらに具備する。これにより、上記浮動小数点形式データが所定の数値であれば予め定められたデータをメモリに出力するという作用をもたらす。
【0014】
また、本発明の書込み命令に対応する他のデータ変換装置は、上記浮動小数点形式データが所定の数値であることが検出された場合には上記処理装置に対して割込みを報告する手段をさらに具備する。これにより、上記浮動小数点形式データが所定の数値であれば上記処理装置に対して割込みを報告するという作用をもたらす。
【0015】
また、本発明の書込み命令に対応する他のデータ変換装置は、報告された上記割込みについて装置内部の状態を保持するコントロールレジスタをさらに保持する。これにより、割込みに際して装置内部の状態を容易に把握させるという作用をもたらす。
【0016】
また、本発明の書込み命令に対応する他のデータ変換装置において、上記コントロールレジスタは、上記割込みを受け付けるか否かを設定する割込みマスクレジスタをさらに含む。これにより、割込みの報告を受け付けるか否かを制御するという作用をもたらす。
【0017】
上記課題を解決するために本発明の読出し命令に対応するデータ変換装置は、処理装置から出力されたメモリからの浮動小数点形式データの読出し命令に応答して、上記メモリから出力された固定小数点形式データを浮動小数点形式データに変換するデータ変換装置であって、上記固定小数点形式データにおける仮数部に対して上記固定小数点形式データの左端から特定のビットがシフトアウトされるまで左シフト操作を繰り返して上記固定小数点形式データにおける仮数部して出力する手段と、上記処理装置から出力された上記読出し命令に対応する読出しアドレスに含まれる上記固定小数点形式データとしての指数部から前記左シフト操作の繰り返し回数を減じた数を上記浮動小数点形式データにおける指数部して出力する手段とを具備する。これにより、上記処理装置から出力された上記読出し命令に対応する読出しアドレスに含まれる上記固定小数点形式データとしての指数部上記メモリから出力された上記固定小数点形式データに含まれる上記固定小数点形式データとしての仮数部とによって上記浮動小数点形式データにおける指数部および仮数部が近似されるという作用をもたらす。
【0021】
上記課題を解決するために本発明の読出し命令に対応する他のデータ変換装置は、上記読出しアドレスを所定のアドレスに変換する手段と、上記読出しアドレスが浮動小数点データ空間の領域内にあることを検出する手段と、上記読出しアドレスが上記浮動小数点データ空間の領域内にあることが検出された場合には上記変換されたアドレスを上記メモリに出力し、上記読出しアドレスが上記浮動小数点データ空間の領域内にあることが検出されなかった場合には上記読出しアドレスをそのまま上記メモリに出力する手段とをさらに具備する。これにより、読出しアドレスの領域によってアドレス変換の要否を制御するという作用をもたらす。
【0022】
上記課題を解決するために本発明の読出し命令に対応する他のデータ変換装置は、上記読出しアドレスが浮動小数点データ空間の領域内にあることを検出する手段と、上記読出しアドレスが上記浮動小数点データ空間の領域内にあることが検出された場合には上記浮動小数点形式データを上記処理装置に出力し、上記読出しアドレスが上記浮動小数点データ空間の領域内にあることが検出されなかった場合には上記メモリから読み出したデータをそのまま上記処理装置に出力する手段とをさらに具備する。これにより、読出しアドレスの領域によってデータ変換の要否を制御するという作用をもたらす。
【0023】
上記課題を解決するために本発明の読出し命令に対応する他のデータ変換装置は、上記
固定小数点形式データが所定の数値であることを検出する手段と、上記固定小数点形式データが所定の数値であることが検出された場合には予め定められたデータを上記処理装置に出力する手段とをさらに具備する。これにより、上記固定小数点形式データが所定の数値であれば予め定められたデータを処理装置に出力するという作用をもたらす。
【0024】
上記課題を解決するために本発明の読出し命令に対応する他のデータ変換装置は、上記固定小数点形式データが所定の数値であることが検出された場合には上記処理装置に対して割込みを報告する手段をさらに具備する。これにより、上記固定小数点形式データが所定の数値であれば上記処理装置に対して割込みを報告するという作用をもたらす。
【0025】
上記課題を解決するために本発明の読出し命令に対応する他のデータ変換装置は、報告された上記割込みについて装置内部の状態を保持するコントロールレジスタをさらに保持する。これにより、割込みに際して装置内部の状態を容易に把握させるという作用をもたらす。
【0026】
上記課題を解決するために本発明の読出し命令に対応する他のデータ変換装置において、上記コントロールレジスタは、上記割込みを受け付けるか否かを設定する割込みマスクレジスタをさらに含む。これにより、割込みの報告を受け付けるか否かを制御するという作用をもたらす。
【0027】
【発明の実施の形態】
次に本発明のデータ変換装置の実施の形態について図面を参照して詳細に説明する。
【0028】
図1を参照すると、本発明におけるデータ変換装置の実施の形態は、一例として、バス200を介して処理装置100に接続するとともに、メモリ400に接続される。データ変換装置300は、バス200に接続するバスインタフェース310と、メモリ400に接続するメモリインタフェース350と、バスインタフェース317からのアドレスを変換するアドレス変換部320と、バスインタフェース317からのデータを圧縮するデータ圧縮部330と、メモリインタフェース350からのデータを伸長するデータ伸長部340とを備える。
【0029】
バス200とバスインタフェース310は、信号線319を介して接続される。この信号線319には、例えば、32ビットのアドレス線および32ビットのデータ線を含めることができる。また、処理装置100とバスインタフェース310は、割込み信号線318を介して接続される。この割込み信号線318は、バスインタフェース310から処理装置100に割込みの発生を報告するために使用される。
【0030】
バスインタフェース310とアドレス変換部320、データ圧縮部330およびデータ伸長部340は、アドレス信号線317を介して接続される。このアドレス信号線317は、メモリ400への書込み命令における書込みアドレスまたはメモリ400からの読出し命令における読出しアドレスをバスインタフェース310からアドレス変換部320、データ圧縮部330およびデータ伸長部340へ出力する。
【0031】
バスインタフェース310とアドレス変換部320は、ベースアドレス信号線315により接続される。このベースアドレス信号線315は、バスインタフェース310のコントロールレジスタに保持されるベースアドレスをバスインタフェース310からアドレス変換部320に出力するために使用される。
【0032】
バスインタフェース310とデータ圧縮部330は、データ信号線316により接続される。このデータ信号線316は、書込み命令における書込みデータをバスインタフェース310からデータ圧縮部330に出力するために使用される。さらに、バスインタフェース310とデータ圧縮部330は割込み信号線338により接続される。この割込み信号線338は、データ圧縮部330における割込みの発生をバスインタフェース310に出力するために使用される。
【0033】
バスインタフェース310とデータ伸長部340は、データ信号線349により接続される。このデータ信号線349は、読出し命令における読出しデータをデータ伸長部340からバスインタフェース310に出力するために使用される。さらに、バスインタフェース310とデータ伸長部340は割込み信号線348により接続される。この割込み信号線348は、データ伸長部340における割込みの発生をバスインタフェース310に出力するために使用される。
【0034】
メモリインタフェース350とアドレス変換部320は、アドレス信号線329により接続される。このアドレス信号線329は、メモリ400への書込み命令における書込みアドレスまたはメモリ400からの読出し命令における読出しアドレスをアドレス変換部320からメモリインタフェース350に出力するために使用される。
【0035】
メモリインタフェース350とデータ圧縮部330は、データ信号線339により接続される。このデータ信号線339は、メモリ400への書込み命令における書込みデータをデータ圧縮部330からメモリインタフェース350に出力するために使用される。
【0036】
メモリインタフェース350とデータ伸長部340は、データ信号線358により接続される。このデータ信号線358は、メモリ400からの読出し命令における読出しデータをメモリインタフェース350からデータ伸長部340に出力するために使用される。
【0037】
メモリインタフェース350とメモリ400は、信号線359により接続される。この信号線359には、例えば、28ビットのアドレス線および16ビットのデータ線を含めることができる。
【0038】
バスインタフェース310は、バス200からのメモリ400への書込み命令における書込みアドレスまたはメモリ400からの読出し命令における読出しアドレスをバス200から受け、アドレス変換部320、データ圧縮部330およびデータ伸長部340に出力する。また、バスインタフェース310は、書込み命令における書込みデータをバス200から受け、データ圧縮部330に出力する。さらに、バスインタフェース310は、読出し命令における読出しデータをデータ伸長部340から受け、バス200に出力する。
【0039】
また、バスインタフェース310は、データ圧縮部330およびデータ伸長部340における割込みの発生を受け、その割込みを処理装置100に報告するか否か制御する。さらに、バスインタフェース310は、割込みに関して装置内部の状態を保持するコントロールレジスタを内部に有する。割込みを報告する際にはこのコントロールレジスタに保持された状態が処理装置100から参照される。また、コントロールレジスタにはベースアドレスが保持され、このベースアドレスはアドレス変換部320におけるアドレス変換に利用される。
【0040】
アドレス変換部320は、バスインタフェース310からメモリ400への書込み命令における書込みアドレスまたはメモリ400からの読出し命令における読出しアドレスを受け、アドレス変換を行う。アドレス変換の際には、ベースアドレス信号線315によりバスインタフェース310から受けたアドレスをベースアドレスとして利用する。
【0041】
また、アドレス変換部320は、バスインタフェース310から受けたアドレスが所定の領域内のものであればアドレス変換後のアドレスをアドレス信号線329に出力し、所定の領域外のものであればアドレス変換されない元のアドレスをアドレス信号線329にそのまま出力する。
【0042】
データ圧縮部330は、バスインタフェース310から受けたメモリ400への書込みデータを圧縮する。その一例として、32ビット浮動小数点形式データを16ビット固定小数点形式データに変換する。データ圧縮部330は、書込みアドレスが所定領域内であれば変換されたデータを信号線339に出力するが、所定領域外であれば変換前のデータをそのまま信号線339に出力する。また、データ圧縮部330は、圧縮の過程で割込みが発生した場合にはその旨を、信号線338を介してバスインタフェース310に知らせる。
【0043】
データ伸長部340は、メモリインタフェース350から受けたメモリ400からの読出しデータを伸長する。その一例として、16ビット固定小数点形式データを32ビット浮動小数点形式データに変換する。データ伸長部340は、読出しアドレスが所定領域内であれば変換されたデータを信号線349に出力するが、所定領域外であれば変換前のデータをそのまま信号線349に出力する。また、データ伸長部340は、伸長の過程で割込みが発生した場合にはその旨を、信号線348を介してバスインタフェース310に知らせる。
【0044】
メモリインタフェース350は、アドレス変換部320からの書込みアドレスおよびデータ圧縮部330からの書込みデータをメモリ400に出力する。また、メモリインタフェース350は、アドレス変換部320からの読出しアドレスをメモリ400に出力して、メモリ400から読み出された読出しデータをデータ伸長部340に出力する。
【0045】
次に、本発明の実施の形態において扱うデータ形式の一例について説明する。
【0046】
図2(a)を参照すると、浮動小数点形式データの一例として、IEEE規格による単精度浮動小数点形式データは、1ビットの符号部sF911と、8ビットの指数部eF912と、23ビットの仮数部fF913とからなる。これにより表される数yは、
【数1】
Figure 0003731565
となる。但し、指数部eF=ffh(16進数によるff、すなわち10進数による255を表す。以下、同様。)の場合、仮数部fF=0かつ符号部sF=0であれば正の無限大を表し、仮数部fF=0かつ符号部sF=1であれば負の無限大を表し、仮数部fFが0以外であれば非数を表す。また、指数部eF=0hの場合、仮数部fF=0かつ符号部sF=0であれば正のゼロを表し、仮数部fF=0かつ符号部sF=1であれば負のゼロを表し、仮数部fFが0以外であれば非正規化数を表す。
【0047】
図2(b)を参照すると、固定小数点形式データの一例として、16ビット固定小数点形式データは、1ビットの符号部sX921と、15ビットの仮数部fX922とからなる。この固定小数点形式データの他に8ビットの指数部eXを保持しておいたと仮定すると、これにより表される数yは、
【数2】
Figure 0003731565
となる。但し、仮数部fX=0かつ符号部sX=0であればゼロを表し、仮数部fX=0かつ符号部sX=1であれば非数を表す。
【0048】
本発明の実施の形態において、データ変換の一例としての32ビット浮動小数点形式データと16ビット固定小数点形式データの変換は、図2(c)のような対応関係を有する。すなわち、両者において符号部は等しいが、仮数部は固定小数点形式データの有効桁数の方が少ないため、変換の過程で切り捨てもしくは補充が必要となる。また、変換の過程で仮数部の桁移動が行われるため、それに応じて指数部も修正する必要がある。
【0049】
図3を参照すると、本発明の実施の形態におけるアドレス空間は、32ビットアドレスを仮定すると、4GB(B:バイト)まで表現できることになる。メモリ400に実装される実メモリ空間M410は、アドレス00000000hから例えば最大512MBまで有効とする。この実メモリ空間M410には、メモリ400において固定小数点形式データが実際に格納される固定小数点データ空間R411が存在する。この固定小数点データ空間R411は、バスインタフェース310から提供されるベースアドレスを開始アドレスとして、例えば1MBの領域を有するものとする。
【0050】
一方、浮動小数点データ空間V420は、実メモリ空間M410の範囲外に存在する。浮動小数点データ空間V420は、8ビットの指数部eXの値に応じた256個のサブ空間421(V0乃至V255)から構成される。このサブ空間421は例えばそれぞれ2MBの領域を有するものとする。浮動小数点データ空間V420の開始アドレスを、例えば20000000hとすると、最終アドレスは3fffffffhとなる。
【0051】
図4を参照すると、32ビットのアドレス空間において、最下位ビットから最上位ビットに向かって0から昇順にビット番号が付与されているものとすると、31ビット目から29ビット目までの3ビットが「001」であれば浮動小数点データ空間V420の領域内となる。そして、28ビット目から21ビット目までの8ビットが指数部eXの値、すなわちサブ空間421の番号を表す。また、20ビット目から0ビット目までの21ビットがサブ空間421内の2MB空間のアドレスとなる。この浮動小数点データ空間V420のサブ空間421の各々は、図4のように、指数部eXの値にかかわらず、固定小数点データ空間R411にマッピングされる。但し、後述のように、指数部eXの値がffh(255)である場合にはコントロールレジスタにマッピングされる。
【0052】
図5を参照すると、サブ空間421の各々は2MBの領域を有し、それぞれ32ビットの浮動小数点形式データを512K(0.5M)個分保持できる。一方、固定小数点データ空間R411は1MBの領域を有し、16ビットの固定小数点形式データを512K(0.5M)個分保持できる。そして、サブ空間421の512K個のデータは、図5のようにそれぞれ固定小数点データ空間R411の512K個のデータにマッピングされる。この仕組みを利用して、処理装置100からメモリ400への書込みデータを浮動小数点データ空間V420の何れかのサブ空間421に割り当てることにより固定小数点データ空間R411にマッピングさせ、処理装置からの浮動小数点形式データを固定小数点形式データとしてメモリ400に書き込むことができる。また、メモリ400からデータを読み出す際に、浮動小数点データ空間V420の何れかのサブ空間421を指定することにより固定小数点データ空間R411にマッピングさせ、固定小数点形式データとして書き込まれていたデータを浮動小数点形式データとして処理装置に出力することができる。この変換の過程では、アドレスの28ビット目から21ビット目までの8ビットを固定小数点形式データの指数部eXとして利用することができるため、16ビットの固定小数点形式データは、実質的には24ビットの浮動小数点形式データとして機能することになる。
【0053】
次に、本発明の実施の形態におけるデータ変換装置の構成について詳細に説明する。
【0054】
図6を参照すると、アドレス変換部320は、アドレスコントローラ322と、アドレス変換器323と、アドレスセレクタ325とを備える。バスインタフェース310から信号線317を介して入力されたアドレス321は、この一例では32ビットからなり、アドレス321のビット31ビット目から29ビット目までの3ビットが「001」であれば、浮動小数点データ空間V420(図3)の領域内であることを意味する。また、浮動小数点データ空間V420の領域内であれば、アドレス321のビット20ビット目から0ビット目までの21ビットはサブ空間421(図3)内の2MBのアドレス空間を表す。
【0055】
アドレスコントローラ322は、アドレス321のビット31ビット目から29ビット目までの3ビットが「001」であるか否か、すなわち浮動小数点データ空間V420(図3)の領域内であるか否かを判断する。
【0056】
アドレス変換器323は、ベースアドレス信号線315のベースアドレスにアドレス321のビット20ビット目から1ビット目までの20ビットを加算したアドレスを出力する。アドレス321のビット20ビット目から1ビット目までの20ビットは1MB空間を表すので、ベースアドレスを1MB単位とすれば、アドレス変換器は加算器である必要はなく、単なるビット結合により実現できる。このアドレス変換器323から出力された変換後のアドレス324は、ベースアドレスを開始アドレスとする固定小数点データ空間R411(図3)のアドレスを示している。
【0057】
アドレスセレクタ325は、アドレスコントローラ322が浮動小数点データ空間V420(図3)の領域内であると判断した場合には変換後のアドレス324をアドレス信号線329に出力し、浮動小数点データ空間V420の領域外であると判断した場合には変換前のアドレス321をアドレス信号線329に出力する。
【0058】
図7を参照すると、データ圧縮部330は、ライトコントローラ331と、ライトシフタ333と、ライトセレクタ335とを備える。バスインタフェース310から信号線316を介して入力されたデータ332は、この一例では32ビットからなり、最下位ビットから最上位ビットに向かって0から昇順にビット番号が付与されているものとすると、浮動小数点形式データであれば、31ビット目に1ビットの符号部sFを、30ビット目から23ビット目に8ビットの指数部eFを、22ビット目から0ビット目に23ビットの仮数部fFを備える。
【0059】
ライトシフタ333は、ライトコントローラ331から指示された回数に従ってデータ332の22ビット目から0ビット目の23ビットを右シフトする。この右シフトに先立って、22ビット目の左側には最初に1ビットの「1」が補われる。すなわち、1回目の右シフト後は22ビット目に「1」が表れ、2回目以降の右シフト後は22ビット目に「0」が表れることになる。また、ライトシフタ333のシフト後の表現桁は上位から15ビット分であり、右シフトにより表現桁から外れるビットは消滅するものとして扱う。このように右シフトされたデータはデータ334の14ビット目から0ビット目の15ビットに設定される。また、データ332の最上位ビット(31ビット目)のデータはデータ334の最上位ビット(15ビット目)に設定される。これにより、データ332が浮動小数点形式データであれば、データ334は変換後の固定小数点形式データを表すことになる。
【0060】
ライトコントローラ331は、バスインタフェース310から信号線316を介して入力されたデータ332における30ビット目から23ビット目の8ビットを浮動小数点形式データの指数部eFと仮定し、バスインタフェース310からの信号線317のアドレスにおける28ビット目から21ビット目までの8ビットを固定小数点形式データの指数部eXと仮定して、(eX−eF)回をシフト回数としてライトシフタ333に右シフトを指示する。このとき、シフト回数である(eX−eF)がゼロより小さかった場合にはレンジを超えた値が書き込まれたことになるので、ライトコントローラ331は、その旨の割込みを割込み信号線338によりバスインタフェース310に知らせる。
【0061】
また、ライトコントローラ331は、バスインタフェース310からの信号線317のアドレスにおける31ビット目から29ビット目までの3ビットが「001」となっているか、すなわち浮動小数点データ空間V420(図3)の領域内であるか否かを判断する。
【0062】
さらに、ライトコントローラ331は、バスインタフェース310から信号線316を介して入力されたデータ332が特殊数値に該当するか否かを調べ、特殊数値に該当する場合には、以下のような値を出力するようライトセレクタ335に指示する。すなわち、指数部eF=ffh、仮数部fF=0かつ符号部sF=0であれば正の無限大を表すので、固定小数点形式における最大値である「7fffh」を出力する。また、指数部eF=ffh、仮数部fF=0かつ符号部sF=1であれば負の無限大を表すので、固定小数点形式における最小値である「ffffh」を出力する。また、指数部eF=ffhであって仮数部fFが0以外であれば非数を表すので、固定小数点形式における非数である「8000h」を出力する。また、指数部eF=0hで仮数部fF=0であれば正または負のゼロを表すので、固定小数点形式におけるゼロである「0000h」を出力する。また、指数部eF=0hであって仮数部fFが0以外であれば非正規化数を表すので、上述の右シフトの際に22ビット目の左側に「1」を補わずに、それ以外は通常の変換を行う。また、ライトコントローラ331は、これら特殊数値の変換を行った場合には、各事象が発生した旨の割込みを割込み信号線338によりバスインタフェース310に知らせる。
【0063】
ライトセレクタ335は、バスインタフェース310からの信号線317のアドレスにおける31ビット目から29ビット目までの3ビットによりライトコントローラ331が浮動小数点データ空間V420の領域内であると判断した場合にはデータ334を信号線339に出力し、浮動小数点データ空間V420の領域外であると判断した場合にはバスインタフェース310から信号線316を介して入力されたデータ332をそのまま信号線339に出力する。
【0064】
図8を参照すると、データ伸長部340は、リードコントローラ341と、リードシフタ343と、リードセレクタ345とを備える。メモリインタフェース350から信号線358を介して入力されたデータ342は、この一例では16ビットからなり、最下位ビットから最上位ビットに向かって0から昇順にビット番号が付与されているものとすると、固定小数点形式データであれば、15ビット目に1ビットの符号部sXを、14ビット目から0ビット目に15ビットの仮数部fXを備える。
【0065】
リードシフタ343は、データ342の14ビット目から0ビット目までの15ビットを、14ビット目の左側からビット「1」がシフトアウトされるまで左シフトする。そして、シフト終了後の15ビットデータをデータ344の22ビット目から8ビット目までに設定する。また、データ344の7ビット目から0ビット目までの8ビットには全て「0」が設定され、データ344の最上位ビット(31ビット目)にはデータ342の最上位ビット(15ビット目)の値が設定される。
【0066】
リードコントローラ341は、リードシフタ343が左シフト操作をした回数をn回とし、バスインタフェース310からの信号線317のアドレスにおける28ビット目から21ビット目までの8ビットを固定小数点形式データの指数部eXと仮定して、(eX−n)をデータ344の30ビット目から23ビット目までの8ビットに設定する。
【0067】
また、リードコントローラ341は、バスインタフェース310からの信号線317のアドレスにおける31ビット目から29ビット目までの3ビットが「001」となっているか、すなわち浮動小数点データ空間V420(図3)の領域内であるか否かを判断する。
【0068】
さらに、リードコントローラ341は、メモリインタフェース350から信号線358を介して入力されたデータ342が特殊数値に該当するか否かを調べ、特殊数値に該当する場合には、以下のような値を出力するようリードセレクタ345に指示する。すなわち、仮数部fX=0かつ符号部sX=0であればゼロを表すので、例えば浮動小数点形式における正のゼロである「00000000h」を出力する。また、仮数部fX=0かつ符号部sX=1であれば非数を表すので、例えば浮動小数点形式における非数である「7fffffffh」を出力する。また、リードコントローラ341は、これら特殊数値の変換を行った場合には、各事象が発生した旨の割込みを割込み信号線348によりバスインタフェース310に知らせる。
【0069】
リードセレクタ345は、バスインタフェース310からの信号線317のアドレスにおける31ビット目から29ビット目までの3ビットによりリードコントローラ341が浮動小数点データ空間V420の領域内であると判断した場合にはデータ344を信号線349に出力し、浮動小数点データ空間V420の領域外であると判断した場合にはメモリインタフェース350から信号線358を介して入力されたデータ342をそのまま信号線349に出力する。
【0070】
図9を参照すると、バスインタフェース310内のコントロールレジスタ500は、割込みマスクレジスタ510と、割込み要因状態レジスタ520と、割込みバスアドレスレジスタ530と、割込みデータレジスタ540と、ベースアドレスレジスタ550と、非数設定レジスタ560とを備える。
【0071】
割込みマスクレジスタ510は、データ変換装置300内で発生した割込みを処理装置100に報告するか否かを割込みの要因毎に制御するためのレジスタであり、特定の要因に対する割込みを報告しないようマスクすることができる。割込み要因状態レジスタ520は、割込みの要因毎に発生の有無を保持するレジスタである。割込みバスアドレスレジスタ530は、割込みが発生した際のバスアドレスを保持するレジスタである。割込みデータレジスタ540は、割込みを発生した要因となるデータを保持するレジスタである。ベースアドレスレジスタ550は、固定小数点データ空間R411の開始アドレスを示すベースアドレスを保持するレジスタである。非数設定レジスタ560は、非数として上述の「7fffffffh」以外の値を割り当てたい場合に非数の値を設定するためのレジスタである。
【0072】
これらコントロールレジスタ500は、浮動小数点データ空間V420のサブ空間V255(図3)にマッピングされており、すなわち「3fe00000h」を基点として図9のオフセットアドレスにより参照することができる。
【0073】
次に、本発明の実施の形態における処理の流れについて図面を参照して説明する。
【0074】
図10を参照すると、バスインタフェース310は、処理装置100から受けたアドレスが浮動小数点データ空間V420の範囲にあるか否かを調べる(ステップS3101)。浮動小数点データ空間V420の範囲になければ、そのままアドレスをアドレス変換部320、データ圧縮部330およびデータ伸長部340に通す。浮動小数点データ空間V420の範囲にあれば、さらにアドレスの指数部eXがffh(255)であるか調べる(ステップS3102)。eXがffhであればコントロールレジスタ500(図9)にアクセスし(ステップS3103)、その結果を処理装置100へ出力する(ステップS3104)。一方、eXがffhでなければ固定小数点データ空間R411へのアドレス変換を行うため、コントロールレジスタ500内のベースアドレスレジスタ550(図9)の内容を読出し(ステップS3105)、ベースアドレス信号線315を介してアドレス変換部320に出力する(ステップS3106)。
【0075】
図11を参照すると、アドレス変換部320は、信号線317を介してバスインタフェース310から受けたアドレスにより浮動小数点データ空間V420の領域内へのアクセスであると判断すると(ステップS3201)、固定小数点データ空間R411へのアドレス変換を行い(ステップS3202)、変換後のアドレスがアドレス信号線329に出力される。一方、浮動小数点データ空間V420の領域外であれば変換前のアドレスがそのままアドレス信号線329に出力される。このアドレス信号線329を介してアドレスがメモリインタフェース350に出力され、メモリ400へのアクセスに使用される(ステップS3203)。
【0076】
図12を参照すると、データ圧縮部330は、バスインタフェース310から受けた書込みアドレスが浮動小数点データ空間V420の範囲にあるか否かを調べる(ステップS3301)。浮動小数点データ空間V420の範囲になければ、バスインタフェース310から受けた書込みデータをそのままメモリインタフェース350に出力する。一方、浮動小数点データ空間V420の範囲にあれば、さらにバスインタフェース310から受けた書込みデータが特殊数値であるか否かを調べる(ステップS3302)。特殊数値でなければ、浮動小数点形式データの仮数部fFの左隣のビットに「1」を補った上で(ステップS3303)、仮数部fFを所定回数右シフトする(ステップS3304)。この右シフトの回数は、前述のとおり、書込み命令に対応する書込みアドレスの所定部分(指数部eX)と浮動小数点形式データにおける指数部eFとの差によって定められる。そして、シフト後の仮数部fFを固定小数点形式データにおける仮数部fXとするとともに、浮動小数点形式データにおける符号部sFを固定小数点形式データにおける符号部sXとする(ステップS3305)。
【0077】
ステップS3302で特殊数値であると判断された場合には、上述のとおり浮動小数点形式の特殊数値を固定小数点形式の特殊数値に置き換える(ステップS3306)。また、特殊数値の変換操作が行われた旨の割込みを割込み信号線338によりバスインタフェース310に伝える(ステップS3307)。
【0078】
図13を参照すると、データ伸長部340は、バスインタフェース310から受けた読出しアドレスが浮動小数点データ空間V420の範囲にあるか否かを調べる(ステップS3401)。浮動小数点データ空間V420の範囲になければ、メモリインタフェース350から受けた読出しデータをそのままバスインタフェース310に出力する。一方、浮動小数点データ空間V420の範囲にあれば、さらにメモリインタフェース350から受けた読出しデータが特殊数値であるか否かを調べる(ステップS3402)。特殊数値でなければ、固定小数点形式データの仮数部fXの左隣のビットから「1」がシフトアウトされるまで、仮数部fXの左シフト操作を行い、この左シフト操作をした回数をn回とする(ステップS3403乃至S3406)。そして、シフト終了後の仮数部fXを浮動小数点形式データの仮数部fFとするとともに、固定小数点形式データにおける符号部sXを浮動小数点形式データにおける符号部sFとする(ステップS3407)。また、固定小数点形式データの指数部eXからnを引いた値(eX−n)を浮動小数点形式データの指数部eFとする(ステップS3407)。
【0079】
ステップS3402で特殊数値であると判断された場合には、上述のとおり固定小数点形式の特殊数値を浮動小数点形式の特殊数値に置き換える(ステップS3408)。また、特殊数値の変換操作が行われた旨の割込みを割込み信号線348によりバスインタフェース310に伝える(ステップS3409)。
【0080】
このように、本発明の実施の形態によれば、メモリ400へのデータ書込みの際にはデータ圧縮部330により浮動小数点形式データから固定小数点形式データに変換した上で書込みを行い、メモリ400からのデータ読出しの際にはデータ伸長部340により固定小数点形式データから浮動小数点形式データへ変換して処理装置100にて受け取られる。これにより、処理装置100では浮動小数点形式データを扱いながら、メモリ400格納の際にはよりコンパクトな固定小数点形式データとすることができる。
【0081】
また、本発明の実施の形態では、アドレスの一部を固定小数点形式データの指数部として用いることにより、固定小数点形式データにおける仮数部のビット幅を活かしたまま、容易にダイナミックレンジの調整をすることができる。
【0082】
なお、本発明の実施の形態では、32ビット浮動小数点形式データと16ビット固定小数点形式データの変換を一例として用いたが、本発明はこれに限定されるものではなく、第1の形式のデータを第2の形式のデータに変換してメモリに出力する場合またはメモリから出力された第2の形式のデータを第1の形式のデータに変換する場合において、アドレスの所定部分と第2の形式のデータとによって第1の形式のデータが近似される関係にあれば本発明を適用することができる。
【0083】
また、本発明の実施の形態では、データ変換装置について説明したが、本発明はこれに限定されず、コンピュータによるデータ変換方法としても実現可能である。さらに、このデータ変換方法を実現するためのプログラムやこのプログラムを記録した記録媒体についても本発明の範疇に含まれる。
【0084】
【発明の効果】
以上の説明で明らかなように、本発明によると、処理装置で使用される形式のデータをメモリに書き込む際に圧縮して書き込み、メモリから読み出す際に伸長して読み出すことができる。そのため、処理装置における処理を制限することなくメモリ使用量を削減することができる。
【図面の簡単な説明】
【図1】本発明によるデータ変換装置の実施の形態を示すブロック図である。
【図2】本発明の実施の形態におけるデータ形式を説明する図である。
【図3】本発明の実施の形態におけるアドレスマップを示す図である。
【図4】本発明の実施の形態における浮動小数点データ空間と固定小数点データ空間の関係を示す図である。
【図5】本発明の実施の形態における浮動小数点データ空間内データと固定小数点データ空間内データの関係を示す図である。
【図6】本発明の実施の形態におけるアドレス変換部の構成を示すブロック図である。
【図7】本発明の実施の形態におけるデータ圧縮部の構成を示すブロック図である。
【図8】本発明の実施の形態におけるデータ伸長部の構成を示すブロック図である。
【図9】本発明の実施の形態におけるコントロールレジスタの構成を示すブロック図である。
【図10】本発明の実施の形態におけるバスインタフェースの処理の流れを示す図である。
【図11】本発明の実施の形態におけるアドレス変換部の処理の流れを示す図である。
【図12】本発明の実施の形態におけるデータ圧縮部の処理の流れを示す図である。
【図13】本発明の実施の形態におけるデータ伸長部の処理の流れを示す図である。
【符号の説明】
100 処理装置
200 バス
300 データ変換装置
310 バスインタフェース
320 アドレス変換部
330 データ圧縮部
340 データ伸長部
350 メモリインタフェース
400 メモリ
410 実メモリ空間M
411 固定小数点データ空間R
420 浮動小数点データ空間V
421 浮動小数点データ空間Vのサブ空間
500 コントロールレジスタ

Claims (22)

  1. 処理装置から出力されたメモリへの浮動小数点形式データの書込み命令に応答して、前記浮動小数点形式データを固定小数点形式データに変換してメモリに出力するデータ変換装置であって、
    前記処理装置から出力された前記書込み命令に対応する書込みアドレスに含まれる前記固定小数点形式データとしての指数部前記メモリに出力される前記固定小数点形式データとしての仮数部とによって前記浮動小数点形式データにおける指数部および仮数部が近似されることを特徴とするデータ変換装置。
  2. 処理装置から出力されたメモリからの浮動小数点形式データの読出し命令に応答して、メモリから出力された固定小数点形式データを前記浮動小数点形式データに変換して前記処理装置に出力するデータ変換装置であって、
    前記処理装置から出力された前記読出し命令に対応する読出しアドレスに含まれる前記固定小数点形式データとしての指数部前記メモリから出力された前記固定小数点形式データに含まれる前記固定小数点形式データとしての仮数部とによって前記浮動小数点形式データにおける指数部および仮数部が近似されることを特徴とするデータ変換装置。
  3. 処理装置から出力されたメモリへの浮動小数点形式データの書込み命令に応答して、前記浮動小数点形式データを固定小数点形式データに変換するデータ変換装置であって、
    前記処理装置から出力された前記書込み命令に対応する書込みアドレスに含まれる前記固定小数点形式データとしての指数部から前記浮動小数点形式データにおける指数部を減じた値を繰り返し回数として出力する手段と、
    前記回数に従って前記浮動小数点形式データにおける仮数部右シフト操作を施して前記メモリに出力される固定小数点形式データにおける仮数部して出力する手段と
    を具備することを特徴とするデータ変換装置。
  4. 前記書込みアドレスを所定のアドレスに変換する手段と、
    前記書込みアドレスが浮動小数点データ空間の領域内にあることを検出する手段と、
    前記書込みアドレスが前記浮動小数点データ空間の領域内にあることが検出された場合には前記変換されたアドレスを前記メモリに出力し、前記書込みアドレスが前記浮動小数点データ空間の領域内にあることが検出されなかった場合には前記書込みアドレスをそのまま前記メモリに出力する手段と
    をさらに具備することを特徴とする請求項記載のデータ変換装置。
  5. 前記書込みアドレスが浮動小数点データ空間の領域内にあることを検出する手段と、
    前記書込みアドレスが前記浮動小数点データ空間の領域内にあることが検出された場合には前記固定小数点形式データを前記メモリに出力し、前記書込みアドレスが前記浮動小数点データ空間の領域内にあることが検出されなかった場合には前記処理装置から出力されたデータをそのまま前記メモリに出力する手段と
    をさらに具備することを特徴とする請求項記載のデータ変換装置。
  6. 前記浮動小数点形式データが所定の数値であることを検出する手段と、
    前記浮動小数点形式データが所定の数値であることが検出された場合には予め定められたデータを前記メモリに出力する手段と
    をさらに具備することを特徴とする請求項記載のデータ変換装置。
  7. 前記浮動小数点形式データが所定の数値であることが検出された場合には前記処理装置に対して割込みを報告する手段をさらに具備することを特徴とする請求項記載のデータ変換装置。
  8. 報告された前記割込みについて装置内部の状態を保持するコントロールレジスタをさらに保持することを特徴とする請求項記載のデータ変換装置。
  9. 前記コントロールレジスタは、前記割込みを受け付けるか否かを設定する割込みマスクレジスタをさらに含むことを特徴とする請求項記載のデータ変換装置。
  10. 処理装置から出力されたメモリへの浮動小数点形式データの書込み命令に応答して、前記浮動小数点形式データを固定小数点形式データに変換するデータ変換方法であって、
    前記処理装置から出力された前記書込み命令に対応する書込みアドレスに含まれる前記固定小数点形式データとしての指数部から前記浮動小数点形式データにおける指数部を減じた値を繰り返し回数としてコンピュータが出力する手順と、
    前記回数に従って前記浮動小数点形式データにおける仮数部にコンピュータが右シフト操作を施して前記メモリに出力される固定小数点形式データにおける仮数部して出力する手順と
    を具備することを特徴とするデータ変換方法。
  11. 処理装置から出力されたメモリへの浮動小数点形式データの書込み命令に応答して、前記浮動小数点形式データを固定小数点形式データに変換するための手順をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記処理装置から出力された前記書込み命令に対応する書込みアドレスに含まれる前記固定小数点形式データとしての指数部から前記浮動小数点形式データにおける指数部を減じた値を繰り返し回数として出力する手順と、
    前記回数に従って前記浮動小数点形式データにおける仮数部右シフト操作を施して前記メモリに出力される固定小数点形式データにおける仮数部して出力する手順と
    をコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  12. 処理装置から出力されたメモリへの浮動小数点形式データの書込み命令に応答して、前記浮動小数点形式データを固定小数点形式データに変換するための手順をコンピュータに実行させるためのプログラムであって、
    前記処理装置から出力された前記書込み命令に対応する書込みアドレスに含まれる前記固定小数点形式データとしての指数部から前記浮動小数点形式データにおける指数部を減じた値を繰り返し回数として出力する手順と、
    前記回数に従って前記浮動小数点形式データにおける仮数部右シフト操作を施して前記メモリに出力される固定小数点形式データにおける仮数部して出力する手順と
    をコンピュータに実行させることを特徴とするプログラム。
  13. 処理装置から出力されたメモリからの浮動小数点形式データの読出し命令に応答して、前記メモリから出力された固定小数点形式データを浮動小数点形式データに変換するデータ変換装置であって、
    前記固定小数点形式データにおける仮数部に対して前記固定小数点形式データの左端から特定のビットがシフトアウトされるまで左シフト操作を繰り返して前記固定小数点形式データにおける仮数部して出力する手段と、
    前記処理装置から出力された前記読出し命令に対応する読出しアドレスに含まれる前記固定小数点形式データとしての指数部から前記左シフト操作の繰り返し回数を減じた数を前記浮動小数点形式データにおける指数部して出力する手段と
    を具備することを特徴とするデータ変換装置。
  14. 前記読出しアドレスを所定のアドレスに変換する手段と、
    前記読出しアドレスが浮動小数点データ空間の領域内にあることを検出する手段と、
    前記読出しアドレスが前記浮動小数点データ空間の領域内にあることが検出された場合には前記変換されたアドレスを前記メモリに出力し、前記読出しアドレスが前記浮動小数点データ空間の領域内にあることが検出されなかった場合には前記読出しアドレスをそのまま前記メモリに出力する手段と
    をさらに具備することを特徴とする請求項13記載のデータ変換装置。
  15. 前記読出しアドレスが浮動小数点データ空間の領域内にあることを検出する手段と、
    前記読出しアドレスが前記浮動小数点データ空間の領域内にあることが検出された場合には前記浮動小数点形式データを前記処理装置に出力し、前記読出しアドレスが前記浮動小数点データ空間の領域内にあることが検出されなかった場合には前記メモリから読み出したデータをそのまま前記処理装置に出力する手段と
    をさらに具備することを特徴とする請求項13記載のデータ変換装置。
  16. 前記固定小数点形式データが所定の数値であることを検出する手段と、
    前記固定小数点形式データが所定の数値であることが検出された場合には予め定められたデータを前記処理装置に出力する手段と
    をさらに具備することを特徴とする請求項13記載のデータ変換装置。
  17. 前記固定小数点形式データが所定の数値であることが検出された場合には前記処理装置に対して割込みを報告する手段をさらに具備することを特徴とする請求項16記載のデータ変換装置。
  18. 報告された前記割込みについて装置内部の状態を保持するコントロールレジスタをさらに保持することを特徴とする請求項17記載のデータ変換装置。
  19. 前記コントロールレジスタは、前記割込みを受け付けるか否かを設定する割込みマスクレジスタをさらに含むことを特徴とする請求項18記載のデータ変換装置。
  20. 処理装置から出力されたメモリからの浮動小数点形式データの読出し命令に応答して、前記メモリから出力された固定小数点形式データを浮動小数点形式データに変換するデータ変換方法であって、
    コンピュータが前記固定小数点形式データにおける仮数部に対して前記固定小数点形式データの左端から特定のビットがシフトアウトされるまで左シフト操作を繰り返して前記固定小数点形式データにおける仮数部して出力する手順と、
    前記処理装置から出力された前記読出し命令に対応する読出しアドレスに含まれる前記固定小数点形式データとしての指数部から前記左シフト操作の繰り返し回数を減じた数をコンピュータが前記浮動小数点形式データにおける指数部して出力する手順と
    を具備することを特徴とするデータ変換方法。
  21. 処理装置から出力されたメモリからの浮動小数点形式データの読出し命令に応答して、前記メモリから出力された固定小数点形式データを浮動小数点形式データに変換するための手順をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記固定小数点形式データにおける仮数部に対して前記固定小数点形式データの左端から特定のビットがシフトアウトされるまで左シフト操作を繰り返して前記固定小数点形式データにおける仮数部して出力する手順と、
    前記処理装置から出力された前記読出し命令に対応する読出しアドレスに含まれる前記固定小数点形式データとしての指数部から前記左シフト操作の繰り返し回数を減じた数を前記浮動小数点形式データにおける指数部して出力する手順と
    をコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  22. 処理装置から出力されたメモリからの浮動小数点形式データの読出し命令に応答して、前記メモリから出力された固定小数点形式データを浮動小数点形式データに変換するための手順をコンピュータに実行させるためのプログラムであって、
    前記固定小数点形式データにおける仮数部に対して前記固定小数点形式データの左端から特定のビットがシフトアウトされるまで左シフト操作を繰り返して前記固定小数点形式データにおける仮数部して出力する手順と、
    前記処理装置から出力された前記読出し命令に対応する読出しアドレスに含まれる前記固定小数点形式データとしての指数部から前記左シフト操作の繰り返し回数を減じた数を前記浮動小数点形式データにおける指数部して出力する手順と
    をコンピュータに実行させることを特徴とするプログラム。
JP2002176995A 2002-06-18 2002-06-18 データ変換装置 Expired - Fee Related JP3731565B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002176995A JP3731565B2 (ja) 2002-06-18 2002-06-18 データ変換装置
US10/462,503 US6737997B2 (en) 2002-06-18 2003-06-16 Data conversion apparatus and data conversion method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002176995A JP3731565B2 (ja) 2002-06-18 2002-06-18 データ変換装置

Publications (2)

Publication Number Publication Date
JP2004023526A JP2004023526A (ja) 2004-01-22
JP3731565B2 true JP3731565B2 (ja) 2006-01-05

Family

ID=29728131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002176995A Expired - Fee Related JP3731565B2 (ja) 2002-06-18 2002-06-18 データ変換装置

Country Status (2)

Country Link
US (1) US6737997B2 (ja)
JP (1) JP3731565B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050010452A1 (en) * 2003-06-27 2005-01-13 Lusen William D. System and method for processing transaction records suitable for healthcare and other industries
GB2420952B (en) * 2004-12-06 2007-03-14 Autoliv Dev A data compression method
EP2309648A1 (en) 2009-09-14 2011-04-13 Thomson Licensing Method for encoding floating-point data, method for decoding floating-point data, and corresponding encoder and decoder
KR101718817B1 (ko) * 2010-11-17 2017-03-29 삼성전자주식회사 부동 소수점 데이터와 정수형 데이터 간의 변환장치 및 그 방법
US8527467B2 (en) * 2011-06-30 2013-09-03 International Business Machines Corporation Compression-aware data storage tiering
CN106294232B (zh) * 2015-05-21 2019-04-30 深圳市中兴微电子技术有限公司 一种dma控制器及其实现方法
GB2543736B (en) 2015-09-10 2019-03-27 Advanced Risc Mach Ltd An interface apparatus and method of operating an interface apparatus
GB2560830B (en) * 2017-03-24 2019-04-03 Imagination Tech Ltd Floating point to fixed point conversion
GB2560766B (en) 2017-03-24 2019-04-03 Imagination Tech Ltd Floating point to fixed point conversion
GB2556645B (en) 2017-03-24 2019-04-03 Imagination Tech Ltd Floating point to fixed point conversion
WO2021087841A1 (en) * 2019-11-07 2021-05-14 Intel Corporation Interleaved data conversion to change data formats
US20230236764A1 (en) * 2022-01-26 2023-07-27 Pure Storage, Inc. Edge accelerator card

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2702930B2 (ja) * 1987-06-29 1998-01-26 株式会社日立製作所 フィルタリング方法
US5719998A (en) * 1995-06-12 1998-02-17 S3, Incorporated Partitioned decompression of audio data using audio decoder engine for computationally intensive processing
US6178489B1 (en) * 1998-06-08 2001-01-23 International Business Machines Corporation Method and apparatus for managing linear address mapped storage under selective compression and regency of usage constraints

Also Published As

Publication number Publication date
JP2004023526A (ja) 2004-01-22
US20030231121A1 (en) 2003-12-18
US6737997B2 (en) 2004-05-18

Similar Documents

Publication Publication Date Title
JP3731565B2 (ja) データ変換装置
JP3110288B2 (ja) 指数対数変換回路
JPH02201645A (ja) 例外検出回路
JP3251823B2 (ja) 2進データ・フィールド内において、先行2進データ・ビットの数を判定する装置
JPS6242296B2 (ja)
JP2004240713A (ja) データ転送方法及びデータ転送装置
JPH09212337A (ja) 浮動小数点演算処理装置
JP3539806B2 (ja) Cd/cd−i音声信号のl,rチャンネル間の混合を利用したオーディオ処理装置
JPH03117918A (ja) プライオリティエンコーダおよび浮動小数点正規化装置
JPH09231071A (ja) コンピュータ装置
JP2003101415A (ja) データ変換装置、データ生成装置、データ変換プログラム及びデータ生成プログラム、並びにデータ変換方法及びデータ生成方法
JP2002271207A (ja) データ変換装置およびデータ圧縮装置およびデータ伸長装置
JPS62187933A (ja) 加減算装置
US6128636A (en) Method for interfacing floating point and integer processes in a computer system
JP4479370B2 (ja) プロセッサ
JPH02126317A (ja) データ形式変換方式
JPH0291724A (ja) 演算装置
JPH021650A (ja) データ伝送方式
JPS59174942A (ja) 演算制御装置
JP3342380B2 (ja) 符号化及び復号装置とそれを適用した画像処理装置
JP2023161967A (ja) 演算装置、演算方法及びプログラム
JPH02224021A (ja) 加減算装置
JPS61243528A (ja) バツフアメモリ管理装置
WO1996027831A1 (en) Floating point conversion circuit
JPS6136653B2 (ja)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050818

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050920

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051003

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081021

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131021

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees