JPS62150435A - デ−タ処理方式 - Google Patents

デ−タ処理方式

Info

Publication number
JPS62150435A
JPS62150435A JP29049785A JP29049785A JPS62150435A JP S62150435 A JPS62150435 A JP S62150435A JP 29049785 A JP29049785 A JP 29049785A JP 29049785 A JP29049785 A JP 29049785A JP S62150435 A JPS62150435 A JP S62150435A
Authority
JP
Japan
Prior art keywords
data
instruction
program
operand
data type
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
JP29049785A
Other languages
English (en)
Inventor
Junichi Otsuki
大槻 純一
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP29049785A priority Critical patent/JPS62150435A/ja
Publication of JPS62150435A publication Critical patent/JPS62150435A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明はプログラムの制御によりデータを処理する装置
におけるデータ処理方式に関し、特にノイマン型電子計
算機に適用して好適なデータ処理方式に関する。
(従来の技術) 従来、ノイマン型電子計算機のマシン語(バイナリコー
ド)において、処理すべきデータの属性、すなわちデー
タの構造、データタイプ、データ長、アドレス等は解読
対象とする命令の中、又は命令の組合せによるアルゴリ
ズムにより記述されている。
第5図に、データの属性を命令の中に記述する例を示す
、同図(a)はプログラム(手続き部)を示し、同図(
b)はデータを示す、これらのプログラム及びデータは
、電子計算機の主記憶装置上に記憶されている。プログ
ラムは命令1,2,3゜4・・・のように各命令が配列
されている。特に、図中、命令3はB←(A)、すなわ
ち第5・図(b)に示すAの内容をBに転送する命令で
ある。1つの命令はオペレーション、第1オペランド指
定及び第2オペランド指定を含む、命令3の場合、オペ
レーションはMOVE’”であり、第1オペランド指定
はデータAに関するデータタイプ、アドレシングモード
、アドレスal及びデータ長!2亀の各情報を含む。同
様に、第2オペランド指定もデータBに関する同種の情
報を含む、また、命令4はB←(B)+ (C)、すな
わちBの内容とCの内容とを加算して、加算した結果を
Bに格納する命令である。命令4はオペレーションとし
て“A D D ”と、第1オペランド指定としてデー
タBに関する各種情報と、第2オペランド指定としてデ
ータCに関する各種情報を含む。
(発明が解決しようとする問題点) しかしながら、このような従来の方式は以下の問題点を
有する。
一般のプログラムでは、1つのデータは複数の命令によ
りアクセス、演算されることが多い、この場合、命令数
はデータ数より多く、命令及びデータのトータル容量に
おいて、プログラム中のデータの属性を記述する部分の
占める割合が大きくなる。この結果、プログラム全体の
容量が大きくなるという問題点がある。
また、プログラム手続きとデータとは深く関っており、
マシン語レベルにおいて、それぞれを独立に扱うこと、
すなわち1つのプログラム手続きをその内容を変更する
ことなく、異なるデータ構造に対応させることは不可能
である。
従って、本発明はこれらの問題点を解決し、データの属
性をプログラム側でなくデータ側に持たせることにより
プログラムの容量を減少させるとともに、プログラムと
データとの独立性を高めて1つのプログラム手続きをそ
の内容を変更することなく異なる属性のデータに対応で
きるデータ処理方式を提供することを目的とする。
(問題点を解決するための手段) 本発明はプログラムの制御によりデータを処理する装置
を対象とする。
本発明は、第1に、データの属性(データの構造、デー
タタイプ、長さ、アドレス等)を規定するテーブル列を
設ける。このテーブル列は装置の主記憶装置に格納され
る。第2に、プログラムの命令中に、当該命令に係るオ
ペランドに対応する前記テーブル列上の領域を指定する
情報(後述する実施例の要素番号及び配列番号に相当す
る)を設ける。そして、データの処理を、命令実行の際
、当該命令中に前記情報によって指定された前記テーブ
ル列の領域に格納されているデータの属性を参照して行
う。
(作 用) 命令(たとえばADD)実行の際、当該命令に係る第1
オペランド及び第2オペランドに対応するテーブル列上
の領域がアクセスされ、それぞれのデータの属性を知る
。これにより、オペランド間のデータタイプ変換及びデ
ータ6長の調整が行われ、演算、格納が行われる。
(実施例) 以下、データを1次元の配列として処理する場合の実施
例について説明する。
まず、以下の説明中で用いられる用語を定義する。「配
列」とは同一データタイプかつ同一容量のデータ(以下
、これを「要素」と呼ぶ)の並びである。全ての配列は
データディレクトリと呼ぶ、1つの特別な配列により定
義される。すなわち、データディレクトリの1つの要素
は1つの配列の、データタイプ・l要素バイト数・先頭
アドレスを定義する。尚、本実施例では、データをすべ
て1次元の配列として処理するので、データ構造をデー
タディレクトリの要素として定義していない。ただし、
各要素間の関係が種々変化するような場合には、データ
構造を定義する必要がある。更に、データディレクトリ
の第a番目(aはOから始まる正の整数)の要素が示す
配列をA、IIと記し、aを“配列番号パと呼ぶ。配列
Aaの第m番目(mはOから始まる正の整数)の要素を
“a Aa、 mIIと記し、mを゛要素番号″と呼ぶ
第1図は本実施例におけるプログラム及びデータの例を
示す図であって、1はプログラム手続き、2はデータ、
3はデータディレクトリ、4はデータ実体である。プロ
グラム手続きlにおいて、命令3は Aaz、nu ←(Aaz、mz ) すなわち、A a2. mtの内容をAal、lに転送
する命令である。また命令4は Aal、m+ + (Aal、m+ ) + (AaL
m3 )すなわち、Aal、mfの内容とAa9.m3
の内容を加算し、Aal、+Hに格納する命令である。
命令3及び命令4はそれぞれ図示のように、オペレーシ
ョン(演算内容)を指定する部分と、第1オペランドを
指定する部分と、第2オペランドを指定する部分とから
構成されている。命令のオペランド指定部分は、アドレ
シングモードと要素番号と配列番号とから構成されてい
る。すなわち1本実施例に、おけるオペランド指定部分
には前述した従来の方式で規定されているオペランドの
データタイプや容量を示す情報は無い。
第4図は命令3又は4の形式の具体例を示す図である。
図中、横方向の数字7〜0ビツトを示し、縦方向の数字
0〜6はバイトを示す。OFは命令の型、オペレーショ
ンを指定する。miは要素番号のアドレシングモードを
指定する。m1=Oのときは直接モードであり、m1=
1のときは間接モードである。mrはm1=1のときの
み意味を持ち、要素番号を記憶するレジスタ(例えば、
後述する間接アドレスレジスタ13)の番号(記憶領域
)を指定する。aiは配列番号のアドレシングモードを
指定し、ai=oのときは直接モード、ai=1のとき
は間接モードである。arはai=1のときのみ意味を
もち、配列番号を記憶するレジスタの番号を指定する0
mはm1=oのときのみ存在し、要素番°号を指定する
。aはai=0のときのみ存在し、配列番号を指定する
以上の構成のプログラム手続きlの命令の実行に際し、
オペランド間のデータタイプ変換及び長さの調整は、命
令とは独立にデータディレクトリ3を参照することによ
り行われる。すなわち、命令3(move)において、
配列Aa1とAaiはデータタイプ及び1要素バイト数
が異なっていても良く、データの転送時、データディレ
クトリ3を参照して、Aa2のデータタイプはAalの
それに変換され、また基準桁(データタイプによって決
定する)からのバイト数がAalのそれに合わせて調整
される。また、命令4 (ADD)において−も同様に
データタイプ変換及びバイト数の調整を行い、演算、格
納が行われる。
このように、データの属性をプログラム手続き側でなく
データ側にデータディレクトリとして記述することによ
り、プログラムの容量を減少させることができ、また1
つのプログラム手続きをその内容を変更することなく、
異なる属性のデータに対応させることができることがわ
かる。
第2図は第1図に示した処理を実施するためのハードウ
ェアを示すブロック図である。命令デコーダ6は、アド
レスバス18及びデータバス20に接続されている図示
しない主記憶装置からの命令をデコードする。マイクロ
命令ROM7は、主記憶装置上の命令に対応するマイク
ロコードを格納している。マイクロ制御機構8は、主記
憶装置上の命令に対応するマイクロコードをマイクロ命
令ROM7から取出し、オペレーションラッチ用レジス
タ17にラッチする。データディレクトリデコーダ9は
、マイクロ制御機構8から指定される配列番号を受けて
、主記憶装置に格納されているデータディレクトリの当
該配列番号の要素をデコードし、その配列のデータタイ
プ、1要素バイト数及び先頭アドレスを決定する。デー
タタイプラッチ用レジスタ14は、得られたデータタイ
プをラッチする。データ長ラッチ用レジスタ15は、得
られたデータ長(l要素バイト数)をラッチする。実行
アドレス演算器lOは、オペランド部分の先頭アドレス
を計算する。間接アドレスレジスタ13は、前述したよ
うに、アドレシングモードが間接モードのときの配列番
号及び要素番号を記憶する。実行アドレスラッチ用レジ
スタ1Bは、実行アドレス演算器10で計算された先頭
アドレスをラッチする。データタイプコンバータ11は
オペランドのデータタイプ変換及びデータ長を変換する
。Aレジスタ12a及びBレジスタ12bは、それぞれ
データを一時記憶する。ALU18はAレジスタ12a
とBレジスタ12bの内容を演算する。
以上の構成における、配列の7ドレシング及び演算動作
は、次のシーケンスにより行なわれる。
(A)まず、図示しない主記憶装置上の命令を、マイク
ロ命令ROM7の関与のもとに命令デコーダ6によりデ
コードし、オペレーションをオペレーションラッチレジ
スタ17にラッチする。
(B)第1オペランドラツチ (B−1)更に、命令デコーダ6により、第1オペラン
ドの配列番号a1  と要素番号m1をデコードする。
(B−2)マイクロ制御機構8は、データディレクトリ
デコーダ9に対し配列番号a1 を出力する。データデ
ィレクトリデコーダ9はデータディレクトリの第11番
目の要素をデコードし、配列Aalのデータタイプ、1
要素バイト数(これをlとする)及び先頭アドレス(こ
れをbとする)を決定する。
(B−3)データタイプをデータタイプラッチ用レジス
タ14にラッチし、1要素バイト数をデータ長ラッチ用
レジスタ15にラッチする。
(B−4)第1オペランドAaj、層1の先頭アドレス
adを実行アドレス演算器10により、ad=!・m1
+bに決定する。この結果を、実行アドレスラッチ用レ
ジスタ1Bにラッチする。
(B−5)データタイプコンバータ11は、第1オペラ
ンドAa+、al1 、すなわち主記憶装置のad番地
から!バイトの内容を、データタイプにより決定する基
準桁位置より取出し、バイナリに変換しつつAレジスタ
12aにラッチする。
(C)同様にして、第2オペランドAa2.mzの内容
をバイナリに変換し、Bレジスタ12bにラッチする。
(D)ALU113はAL/ジスタ12aの内容とBL
/ジスタ12bの内容を演算し、その結果をAレジスタ
12aにラッチする。
(E) Aレジスタ12aの内容をデータタイプコンバ
ータ11により、第1オペランドのデータタイプに変換
しつつ主記憶装置上のA al 、mlに格納し、この
命令の実行を終了する。
尚、上記実施例において、データディレクトリ3の内容
の決定方法としては、 (イ)主記憶装置上にローディングしたディフォルト(
システムによって予じめ決められる初期値)をそのまま
静的に使用する方法、及び(ロ)プログラムの中で配列
を動的に定義して使用する方法の2つが考えられる。特
に、後者の方法においては、複数の配列を1つの配列番
号に割当てて使用可能である。これは第3図に示すよう
に、配列を木構造、すなわち配列のAaの要素Aa、+
sを1つの配列A(a、m)として動的に定義し、処理
する場合に有効である。
(発明の効果) 以上説明したように、本発明によれば、以下の効果が得
られる。
(イ)データの属性をデータ側に持たせたことにより、
データの属性を記述する部分が1ケ所で済み、プログラ
ムの容量が減る。
(ロ)プログラムの手続き部とデータ部との独立性が高
くなり、1つのプログラム手続きを、その内容を変更す
ることなく、異なる属性のデータに対応することができ
る。
【図面の簡単な説明】
第1図は本発明の一実施例による主記憶装置上のプログ
ラム手続き及びデータの構成を示す図、第2図は本実施
例のハードウェアを示すブロック図、第3図は配列を木
構造として扱う場合の配列の構成を示す図、第4図は本
実施例における命令の具体的な構成を示す図、及び第5
図は従来の方式による主記憶装置上の命令の構成を示す
図である。 1・・・プログラム手続き、 2・・・データ、 3・・・データディレクトリ、 4・・・データ実体、 6・・・命令デコーダ、 7・・・マイクロ命令ROM 8・・・マイクロ制御機構、 8・・・データディレクトリデコーダ。 10・・・実行アドレス演算器、 11・・・データタイプコンバータ、 12a・・・Aレジスタ、 12b・・・Bレジスタ、 13・・・間接アドレスレジスタ、 14・・・データタイプラッチ用レジスタ、15・・・
データ長ラッチ用レジスタ、16・・・実行アドレスラ
ッチ用レジスタ、17・・・オペレーションラッチ用レ
ジスタ、18・・・ALtJ。 19・・・アドレスバス、 20・・・データバス。

Claims (1)

  1. 【特許請求の範囲】 プログラムの制御によりデータを処理する装置において
    、 データの属性を規定するテーブル列を設けるとともに、 プログラムの命令中に、当該命令に係るオペランドに対
    応する前記テーブル列の領域を指定する情報を設け、 データの処理は、命令実行の際、当該命令中の前記情報
    によって指定された前記テーブル列の領域に格納されて
    いるデータの属性を参照して行われることを特徴とする
    データ処理方式。
JP29049785A 1985-12-25 1985-12-25 デ−タ処理方式 Pending JPS62150435A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29049785A JPS62150435A (ja) 1985-12-25 1985-12-25 デ−タ処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29049785A JPS62150435A (ja) 1985-12-25 1985-12-25 デ−タ処理方式

Publications (1)

Publication Number Publication Date
JPS62150435A true JPS62150435A (ja) 1987-07-04

Family

ID=17756786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29049785A Pending JPS62150435A (ja) 1985-12-25 1985-12-25 デ−タ処理方式

Country Status (1)

Country Link
JP (1) JPS62150435A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428801A (en) * 1989-02-28 1995-06-27 Sharp Kabushiki Kaisha Data array conversion control system for controlling conversion of data arrays being transferred between two processing systems
JP2010020450A (ja) * 2008-07-09 2010-01-28 Seiko Epson Corp 信号処理プロセッサ及び半導体装置
JP2010020449A (ja) * 2008-07-09 2010-01-28 Seiko Epson Corp 信号処理プロセッサ及び半導体装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5746576A (en) * 1980-09-04 1982-03-17 Canon Inc Magnetic image recording and reproducing device incorporating camera

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5746576A (en) * 1980-09-04 1982-03-17 Canon Inc Magnetic image recording and reproducing device incorporating camera

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428801A (en) * 1989-02-28 1995-06-27 Sharp Kabushiki Kaisha Data array conversion control system for controlling conversion of data arrays being transferred between two processing systems
JP2010020450A (ja) * 2008-07-09 2010-01-28 Seiko Epson Corp 信号処理プロセッサ及び半導体装置
JP2010020449A (ja) * 2008-07-09 2010-01-28 Seiko Epson Corp 信号処理プロセッサ及び半導体装置

Similar Documents

Publication Publication Date Title
EP0148478B1 (en) A data processor with control of the significant bit lenghts of general purpose registers
US5675758A (en) Processor having primary integer execution unit and supplemental integer execution unit for performing out-of-order add and move operations
KR20130016246A (ko) 다중 명령 세트에 의해 사용되는 레지스터 간의 매핑
JPH09311786A (ja) データ処理装置
US5682531A (en) Central processing unit
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
US5802359A (en) Mapping processor state into a millicode addressable processor state register array
US6578139B1 (en) Processor architecture scheme which uses virtual address registers to implement different addressing modes and method therefor
JP2003044273A (ja) データ処理装置及びデータ処理方法
JP2006527435A (ja) 複数の命令セットを有するデータ処理装置内における命令エンコード
JPH01161442A (ja) レジスタ退避・回復方式
US6542989B2 (en) Single instruction having op code and stack control field
JPH0673105B2 (ja) 命令パイプライン方式のマイクロプロセッサ
US4771376A (en) Processor
US5819078A (en) Addressing extended memory using millicode by concatenating a small millicode address and address extension data
US5390306A (en) Pipeline processing system and microprocessor using the system
JPS623461B2 (ja)
JPS6212529B2 (ja)
JPH03171231A (ja) マイクロコンピュータシステム
JPS62150435A (ja) デ−タ処理方式
KR100322725B1 (ko) 전문 갱신 및 분기 명령을 이용하는 밀리코드 플래그
JPS623336A (ja) 条件付きブランチ方式
US5754810A (en) Specialized millicode instruction for certain decimal operations
US7596680B2 (en) System and method for encoding and decoding architecture registers
JP2000112754A (ja) データ処理装置