JPH0469738A - データ型タグ生成方式 - Google Patents
データ型タグ生成方式Info
- Publication number
- JPH0469738A JPH0469738A JP18203790A JP18203790A JPH0469738A JP H0469738 A JPH0469738 A JP H0469738A JP 18203790 A JP18203790 A JP 18203790A JP 18203790 A JP18203790 A JP 18203790A JP H0469738 A JPH0469738 A JP H0469738A
- Authority
- JP
- Japan
- Prior art keywords
- data type
- data
- tag
- address
- cpu
- 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
Links
- 238000012545 processing Methods 0.000 abstract 2
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、データ型タグ生成方式に関し、特にマイクロ
プロセッサシステムによりL i s p等の記憶処理
言語を扱うためのデータ型タグ生成方式〔従来の技術〕 一般に、Li spに代表されるような記号処理言語で
は、実行時にオブジェクトのデータ型を判定する必要が
ある。しかし、オブジェクトのデータ型はコンパイル時
には判断できない。つまりLi5pでは処理系の高速化
のためには、高速な動的データ型判定が必要とされる。
プロセッサシステムによりL i s p等の記憶処理
言語を扱うためのデータ型タグ生成方式〔従来の技術〕 一般に、Li spに代表されるような記号処理言語で
は、実行時にオブジェクトのデータ型を判定する必要が
ある。しかし、オブジェクトのデータ型はコンパイル時
には判断できない。つまりLi5pでは処理系の高速化
のためには、高速な動的データ型判定が必要とされる。
そのため、以下に説明するような様々なデータ型判定方
式が考案されてきた。
式が考案されてきた。
これらは、大別して、ラフ1ヘウエアによる方式とハー
ドウェアによる方式とに分けられる。
ドウェアによる方式とに分けられる。
まず、ソフトウェアによる方式について説明する。
その第一はポインタ内蔵方式である。
この方式は、Li5pオブジエクトへのポインタの一部
をタグ用ビットとして割り当て、データ型判定を行う方
式である。
をタグ用ビットとして割り当て、データ型判定を行う方
式である。
32ビツトマシンでよく見られる例としては、第5図の
ように上位8ピツI・をタグ′、下位24ヒツトをアド
レスとして用いる方式である。
ように上位8ピツI・をタグ′、下位24ヒツトをアド
レスとして用いる方式である。
この方式では、データ型判定をするためにANDまたは
5HIFT命令等を使ってソフトウェアでポインタマス
クする必要かある。また、アドレス空間が24ビツト分
しか利用できない。
5HIFT命令等を使ってソフトウェアでポインタマス
クする必要かある。また、アドレス空間が24ビツト分
しか利用できない。
第二の方式とはオフシェクトタグ方式である。
第6図のようにポインタ中ではなく、L、 i s p
オブジェクI・の中にデータ型タグを持つ方式である。
オブジェクI・の中にデータ型タグを持つ方式である。
この方式では、32ビツトをすべてアドレスとして使え
、またマスク演算も不要である反面、データ型判定のな
めに必ずメモリアクセスを必要とする。また各オブジェ
クトにデータ型タグを持つため、メモリを多く消費して
しまう。
、またマスク演算も不要である反面、データ型判定のな
めに必ずメモリアクセスを必要とする。また各オブジェ
クトにデータ型タグを持つため、メモリを多く消費して
しまう。
第三の方式はヒープ分割方式である。
第7図のように、ヒープ領域をLi spオブジェクト
のデータ型によって分割して利用する方式この方式では
データ型の判定は、アドレスがどのデータ型の領域の範
囲内にあるかを比較することによって行う。
のデータ型によって分割して利用する方式この方式では
データ型の判定は、アドレスがどのデータ型の領域の範
囲内にあるかを比較することによって行う。
しかし、各領域の上限、下限アドレスの全てをレジスタ
にアサインできないときは、メモリアクセスを必要とす
る。また、各領域の配分が非常に難しいこともある。
にアサインできないときは、メモリアクセスを必要とす
る。また、各領域の配分が非常に難しいこともある。
以上のように、高速なデータ型判定に対するソフトウェ
アでの対応が困難なところから、タグアーキテクチャと
呼ばれるハードウェアが考案された。
アでの対応が困難なところから、タグアーキテクチャと
呼ばれるハードウェアが考案された。
次に、ハードウェアであるタグアーキテクチャについて
説明する。
説明する。
第8図は、40ビツトタグアーキテクチヤのデータフォ
ーマットの例である。
ーマットの例である。
下位32ビツトは前述の各方式と同様にアドレス用とし
、上位8ビツトをタグ専用としている。
、上位8ビツトをタグ専用としている。
CPU内部では、タグ部専用の比較器を持つことにより
、高速にデータ型判定が出来る。
、高速にデータ型判定が出来る。
第4図はタグアーキテクチャによる従来のデータ型タグ
生成方式のシステム構成例である。
生成方式のシステム構成例である。
第4図において、従来のデータ型タグ生成方式はアドレ
スおよびデータ32ビツトで、タグ8ビツトのCPUI
と、40ビツト幅主記憶2と、32ビツト幅アドレスバ
ス3と、40ビツト幅データバス4から構成されていた
。
スおよびデータ32ビツトで、タグ8ビツトのCPUI
と、40ビツト幅主記憶2と、32ビツト幅アドレスバ
ス3と、40ビツト幅データバス4から構成されていた
。
次に、従来のデータ型タグ生成方式の動作について説明
する。
する。
まず、CPUIはアドレスバス3に一連の処理を実行す
るため、主記憶2のデータをアクセスするアドレスを出
力する。
るため、主記憶2のデータをアクセスするアドレスを出
力する。
主記憶2はアドレスを受は取り該当するデータ32ビツ
トとタグ8ビツトを併せた40ピツ)・データをデータ
バス4に出力する。
トとタグ8ビツトを併せた40ピツ)・データをデータ
バス4に出力する。
次に、CP、Ulは、データバス4から40ピツ1ヘデ
ータを読み込む。
ータを読み込む。
最後に、CPUIは、40ビツトデータより、タグ専用
の上位8ビツトのデータをCPU内部のタグ専用比較器
に入力し、データ型タグを生成する。
の上位8ビツトのデータをCPU内部のタグ専用比較器
に入力し、データ型タグを生成する。
この方式では、最も高速にデータ型判定を行えるが、外
部データバスか40ビツト幅必要なため、VME、Mu
ltibus、NubusFuturebusなどの汎
用バスを利用することができず、また主記憶も40ビツ
ト幅が必要であった。
部データバスか40ビツト幅必要なため、VME、Mu
ltibus、NubusFuturebusなどの汎
用バスを利用することができず、また主記憶も40ビツ
ト幅が必要であった。
上述した従来のデータ型タグ生成方式では、ソフトウェ
アによってデータ型を判定する方式では速度が遅いとい
う欠点があった。
アによってデータ型を判定する方式では速度が遅いとい
う欠点があった。
またハードウェアによってデータ型を判定する方式では
システムコストが高くなってしまうという欠点があった
。
システムコストが高くなってしまうという欠点があった
。
本発明のデータ型タグ生成方式は、CPUと主記憶を有
し、信号処理言語によるプログラムを実行する記号処理
言語プロセッサシステムにおいて、 前記主記憶に対するアドレスにより読出すように前記記
号処理言語のオブジェクトのデータ型に対応するタグを
記憶した記憶手段を有するものである。
し、信号処理言語によるプログラムを実行する記号処理
言語プロセッサシステムにおいて、 前記主記憶に対するアドレスにより読出すように前記記
号処理言語のオブジェクトのデータ型に対応するタグを
記憶した記憶手段を有するものである。
〔実施例〕
次に、本発明の構成並びに動作について図面を用いて説
明する。
明する。
第1図は本発明の第1の実施例を示すブロック図である
。
。
第1図において、本発明のデータ型タグ生成方式はアド
レスおよびデータ32ビツトでタグ8ビ・y1〜のCP
UIと、32ビット幅主記憶2と32ヒッ1−幅アドレ
スバス3と、32ビット幅データバス4と、データ型タ
グ生成器5とから構成されている。
レスおよびデータ32ビツトでタグ8ビ・y1〜のCP
UIと、32ビット幅主記憶2と32ヒッ1−幅アドレ
スバス3と、32ビット幅データバス4と、データ型タ
グ生成器5とから構成されている。
CPUIは従来例と同様、第8図のようなデータフォー
マットを用いる。
マットを用いる。
データ型タグ発生器5は、たとえば、あらかじめデータ
型に対応するタグを記憶した8ビツトのROMであり、
第2図に示すように入力アドレスに対応するタグ“を出
力するものである。
型に対応するタグを記憶した8ビツトのROMであり、
第2図に示すように入力アドレスに対応するタグ“を出
力するものである。
次に本実施例の動作について説明する。
まず、CPUIは一連の処理を実行するため、主記憶2
のデータを、アクセスするアドレスを出力する。出力さ
れたアドレスは、アドレスバス3と同様にデータ型タグ
生成器5にも送られる。
のデータを、アクセスするアドレスを出力する。出力さ
れたアドレスは、アドレスバス3と同様にデータ型タグ
生成器5にも送られる。
次に、主記憶2は、アドレスバス3からアドレスを読み
、該当するデータをデータバス4に出力する。
、該当するデータをデータバス4に出力する。
データ型タグ発生器5は、CPUlが出力したアドレス
を読み、第2図に示すようなアドレスに対応したタグを
出力する。
を読み、第2図に示すようなアドレスに対応したタグを
出力する。
次に、CPUIは、データバス4から32とットデータ
を、データ型タグ生成器]5から8ビツトのタグをそれ
ぞれ読み込む。
を、データ型タグ生成器]5から8ビツトのタグをそれ
ぞれ読み込む。
最後に、CPU1は、データ型タグ生成器5から読み込
んだ8ビートタグを用いて高速にデータ型判定を行う。
んだ8ビートタグを用いて高速にデータ型判定を行う。
なお、第2図に示したデータ型分類によるタグ生成は一
例であり、より細かいデータ型分類によるタグ生成も可
能である。
例であり、より細かいデータ型分類によるタグ生成も可
能である。
次に、本発明の第2の実施例について説明する。
第4図に第2の実施例を示す。
第4図において、CPUI、主記憶2.アドレスバス3
およびデータバス4は、第一の実施例と同様のものであ
る。データ型タグ生成器5はCPUIのI10空間上に
マツピングされている点が、第一の実施例と異なる。
およびデータバス4は、第一の実施例と同様のものであ
る。データ型タグ生成器5はCPUIのI10空間上に
マツピングされている点が、第一の実施例と異なる。
次に、本箱2の実施例の動作について説明する。
本実施例の動作が第1の実施例と異なる点は、第一の実
施例では固定であったアドレスに対するタグの値を動的
に変えることができる点である。
施例では固定であったアドレスに対するタグの値を動的
に変えることができる点である。
すなわち、データ型タグ生成器5は、該当する1、10
アドレスへのライト命令によりアドレス空間を分割する
境界を変更することができる。
アドレスへのライト命令によりアドレス空間を分割する
境界を変更することができる。
これにより、たとえば、L i s p処理系が動作中
にコンスセル領域が足りなくなった場合に、I10命令
によりコンスセル領域を拡張することができる。
にコンスセル領域が足りなくなった場合に、I10命令
によりコンスセル領域を拡張することができる。
〔発明の効果〕
以上説明したように、本発明は、CPUが出力するアド
レスによりデータ型タグを生成するデータ型タグ生成に
より、CPUが読み込むデータを動的に生成するので、
タグアーキテクチャを用いながら、システムデータバス
幅、主記憶幅を増加することなく高速なデータ型判定を
行うことができるという効果がある。
レスによりデータ型タグを生成するデータ型タグ生成に
より、CPUが読み込むデータを動的に生成するので、
タグアーキテクチャを用いながら、システムデータバス
幅、主記憶幅を増加することなく高速なデータ型判定を
行うことができるという効果がある。
したがって、システムコストの上昇も抑えることができ
るという効果がある。
るという効果がある。
第1図は本発明の第一の実施例を示すブロック図、第2
図は第1図で示したCPUアドレスとデータ型タグの対
応を示す図、第3図は本発明の第二の実施例を示すブロ
ック図、第4図は従来のデータ型タグ生成方式の一例を
示すブロック図、第5図はポインタ内蔵方式のデータフ
ォーマットの一例を示す図、第6図はオブジェクトタグ
方式のデータオブジェクトの一例を示す図、第7図はヒ
ープ分割方式のメモリマツピングの一例を示す図、第8
図はタグアーキテクチャのデータフォーマットの一例を
示す図である。 ]・・・CPU、2・・・主記憶、3・・・アドレスバ
ス、=9 1〇− 4・・・データバス、 5・・・データ型タグ生成器。 1−1=
図は第1図で示したCPUアドレスとデータ型タグの対
応を示す図、第3図は本発明の第二の実施例を示すブロ
ック図、第4図は従来のデータ型タグ生成方式の一例を
示すブロック図、第5図はポインタ内蔵方式のデータフ
ォーマットの一例を示す図、第6図はオブジェクトタグ
方式のデータオブジェクトの一例を示す図、第7図はヒ
ープ分割方式のメモリマツピングの一例を示す図、第8
図はタグアーキテクチャのデータフォーマットの一例を
示す図である。 ]・・・CPU、2・・・主記憶、3・・・アドレスバ
ス、=9 1〇− 4・・・データバス、 5・・・データ型タグ生成器。 1−1=
Claims (1)
- 【特許請求の範囲】 CPUと主記憶を有し、信号処理言語によるプログラム
を実行する記号処理言語プロセッサシステムにおいて、 前記主記憶に対するアドレスにより読出すように前記記
号処理言語のオブジェクトのデータ型に対応するタグを
記憶した記憶手段を有することを特徴とするデータ型タ
グ生成方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP18203790A JPH0469738A (ja) | 1990-07-10 | 1990-07-10 | データ型タグ生成方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP18203790A JPH0469738A (ja) | 1990-07-10 | 1990-07-10 | データ型タグ生成方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0469738A true JPH0469738A (ja) | 1992-03-04 |
Family
ID=16111236
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP18203790A Pending JPH0469738A (ja) | 1990-07-10 | 1990-07-10 | データ型タグ生成方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0469738A (ja) |
-
1990
- 1990-07-10 JP JP18203790A patent/JPH0469738A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4347565A (en) | Address control system for software simulation | |
| US6363436B1 (en) | Method and system for loading libraries into embedded systems | |
| EP0208428B1 (en) | Direct input/output in a virtual memory system | |
| US8386750B2 (en) | Multiprocessor system having processors with different address widths and method for operating the same | |
| US5481688A (en) | Information processing system having an address translation table loaded with main/expanded memory presence bits | |
| JPH06250924A (ja) | 共用ライブラリの動的ロードのためのシステム及び方法 | |
| US7949848B2 (en) | Data processing apparatus, method and computer program product for reducing memory usage of an object oriented program | |
| US20040019774A1 (en) | Processor device and information processing device, compiling device, and compiling method using said processor device | |
| US6606697B1 (en) | Information processing apparatus and memory control method | |
| US6862675B1 (en) | Microprocessor and device including memory units with different physical addresses | |
| JPH0469738A (ja) | データ型タグ生成方式 | |
| US7404064B2 (en) | Method and device for calculating addresses of a segmented program memory | |
| JP3338466B2 (ja) | 主記憶アクセス最適化処理装置 | |
| KR920002829B1 (ko) | 메모리 액세스 제어 시스템 | |
| JP2006113935A (ja) | ダイナミックリンクライブラリ呼び出しコード生成方法、プログラム、および、装置 | |
| KR100207335B1 (ko) | 마이크로컴퓨터와 어드레스 발생 방법 | |
| JPS6234240A (ja) | デ−タ割付け方式 | |
| JP2635310B2 (ja) | アドレス変換装置 | |
| JPH0546480A (ja) | メモリアクセス方式 | |
| JP2504500B2 (ja) | アドレス変換装置 | |
| JPH07129408A (ja) | 言語処理プログラムの実行方式 | |
| JPH03127126A (ja) | 情報処理装置 | |
| JPH03109642A (ja) | コンパイル装置 | |
| EP0423735A2 (en) | Microprocessor having parity check function | |
| JPH077365B2 (ja) | 情報処理装置 |