[go: up one dir, main page]

JP2671325B2 - Data processing device - Google Patents

Data processing device

Info

Publication number
JP2671325B2
JP2671325B2 JP62274966A JP27496687A JP2671325B2 JP 2671325 B2 JP2671325 B2 JP 2671325B2 JP 62274966 A JP62274966 A JP 62274966A JP 27496687 A JP27496687 A JP 27496687A JP 2671325 B2 JP2671325 B2 JP 2671325B2
Authority
JP
Japan
Prior art keywords
delimiter
data
instruction
word
read
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 - Lifetime
Application number
JP62274966A
Other languages
Japanese (ja)
Other versions
JPH01116727A (en
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP62274966A priority Critical patent/JP2671325B2/en
Priority to US07/258,153 priority patent/US4975835A/en
Priority to CA000580309A priority patent/CA1308490C/en
Priority to DE3855066T priority patent/DE3855066T2/en
Priority to EP88117758A priority patent/EP0318699B1/en
Priority to KR1019880014095A priority patent/KR920000417B1/en
Publication of JPH01116727A publication Critical patent/JPH01116727A/en
Application granted granted Critical
Publication of JP2671325B2 publication Critical patent/JP2671325B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、オフイスコンピュータ、パーソナルコン
ピュータ等を構成するデータ処理装置に関する。 [従来の技術] 従来、オフィスコンピュータ等を構成する中央演算処
理装置は、1つの命令で固定長の1バイト単位で転送や
演算等の処理を行なうようにしている。 ところで、ファイルは1レコードを最小単位として入
出力が行なわれ、また1レコードは複数のフィールドか
ら成っている。通常、フィールドは複数のバイトから構
成されており、レコード内のデータの更新は、フィール
ドを最小単位として行なわれる。したがって、ファイル
のデータ処理においては、複数バイト単位で処理が行な
われることが多い。 [発明が解決しようとする問題点] このように、従来の中央演算処理装置は、1つの命令
で固定長の1バイト単位でしか処理を行なうことができ
ないので、ファイリングにおいてフィールド単位やレコ
ード単位でデータ処理を行なう場合には、複数命令から
なるサブルーチンプログラムを作成して処理せればなら
なかった。 このため、プログラム作成の為の作業時間が長くな
り、しかも処理速度が遅くなるという欠点があった。 この発明の課題は、1つの命令で任意の長さのデータ
を処理することができ、これにより、処理速度を大幅に
向上させることである。 [問題点を解決するための手段] この発明の手段は次の通りである。 データ記憶手段1(第1図の機能ブロック図を参照、
以下同じ)は、データ及びこのデータの区切りを示すと
共に処理の優先順位に応じた重み付けを示す複数種のデ
リミタを記憶する。 アドレス生成手段2は、データ記憶手段1に対するア
ドレス生成する。 命令語格納手段3は、命令語及びこの命令語に対応し
て指定され且つこの命令語にしたがった処理の優先順位
に応じた重み付けを示す1つの指定デリミタを記憶す
る。 制御手段4は、命令語格納手段3に記憶されている命
令語を解読し、アドレス生成手段2のアドレス指定によ
ってデータ記憶手段1から順次読み出されるデータを前
記命令語にしたがって処理する。 検出手段5は、アドレス生成手段2のアドレス指定に
よってデータ記憶手段1から読み出されたデリミタと命
令語格納手段3に記憶されている指定デリミタとを比較
し、データ記憶手段1からの読み出されたデリミが前記
指定デリミタよりも高い優先順位か若しくは同一の優先
順位である時に検出信号を制御手段4へ出力する。 そして、制御手段4は前記検出信号が入力されていな
い場合は前記命令語にしたがった処理を継続し、前記検
出信号が入力された際に前記命令語にしたがった処理を
終了する。 [作 用] この発明の手段の作用は次の通りである。 まず、データ記憶手段1にデータ及びこのデータの区
切りを示すと共に処理の優先順位に応じた重み付けを示
す複数種のデリミタを記憶しておくと共に、命令語格納
手段3に命令語及びこの命令語に対応して指定され且つ
この命令語にしたがった処理の優先順位に応じた重み付
けを示す1つの指定デリミタを記憶しておく。 この状態において、制御手段4は、命令語格納手段3
に記憶されている命令語を解読し、アドレス生成手段2
のアドレス指定によってデータ記憶手段1から順次読み
出されるデータを前記命令語にしたがってデータ転送,
演算等の処理を行なう。また、検出手段5はアドレス生
成手段2のアドレス指定によってデータ記憶手段1から
読み出されたデリミタと命令語格納手段3に記憶されて
いる指定デリミタとを比較し、データ記憶手段1から読
み出されたデリミタが前記指定デリミタよりも高い優先
順位か若しくは同一の優先順位である時に検出信号を制
御手段4へ出力する。この場合、制御手段4は前記検出
信号が入力されていない場合は前記命令語にしたがった
処理を継続し、前記検出信号が入力された際に前記命令
語にしたがった処理を終了する。 したがって、1つの命令によって任意の長さのデータ
処理が可能となり、処理速度を大幅に向上させることが
できる。 [第1実施例] 以下、第1実施例を第2図〜第4図を参照しながら説
明する。 構 成 第2図はオフィスコンピュータ等を構成する中央演算
処理装置のブロック回路図で、インストラクションレジ
スタ11はアドレスバスAB、データバスDBを介して接続さ
れたプログラムメモリ(図示せず)から読み出された命
令語を記憶するレジスタであり、このインストラクショ
ンレジスタ11に格納された命令語内のオペレーションコ
ードは命令デコーダ12に、アドレス変更方向はアドレス
発生回路13に、指定デリミタはデリミタ検出回路14に供
給される。 命令デコーダ12は入力されるオペレーションコードを
解読し、そのデコード結果に基づく出力信号を制御回路
15に与える。なお、制御回路15は命令デコーダ12によっ
て解読された命令を実行する為に必要な制御信号cをア
ドレス発生回路13等へ出力する。 アドレス発生回路13は制御回路15から出力される制御
信号に応答して実行サイクル毎に、リードアドレス、ラ
イトアドレスをインストラクションレジスタ11からのア
ドレス更新方向にしたがってインクリメントあるいはデ
クリメントするもので、これによって生成されたアドレ
スはアドレスバスABを介して上記主記憶装置に供給され
る。この場合、主記憶装置からアドレス発生回路13のリ
ードアドレスによって指定されたデータが読み出される
と、データバスDBを介してリードバッファ16に格納され
る。また、主記憶装置からアドレス発生回路13のライト
アドレスによって指定されたデータが読み出されると、
データバスDBを介してリードバッファ17に格納される。
なお、インストラクションレジスタ11に格納されたオペ
レーションコードが算術論理演算命令のように被演算デ
ータと演算データの演算を行う命令であれば、リードバ
ッファ16に被演算データ、リードバッファ17に演算デー
タがセットされる。この場合、リードバッファ16、17内
の被演算データ、演算データはALU(論理演算回路)18
に入力され、ALU18は命令デコーダ12からの演算命令に
したがった演算を行い、その演算結果はデータバスバッ
ファ19に取り込まれたのちデータバスDBを介して主記憶
装置に供給され、アドレス発生回路13のライトアドレス
によって指定されるアドレス領域内に書き込まれる。一
方、インストラクションレジスタ11のオペレーションコ
ードが指定する命令が転送命令である場合には、アドレ
ス発生回路13のリードアドレスによって指定されたデー
タが主記憶装置から読み出され、リードバッファ16にセ
ットされる。そして、次のアドレス発生回路13からライ
トアドレスが出力され、リードバッファ16にセットされ
ているデータがALU18、データバッファ19を介して主記
憶装置に供給されると、そのデータはライトアドレスに
よって指定されるアドレス領域内に書き込まれる。 デリミタ検出回路14はインストラクションレジスタ11
に記憶されている指定デリミタあるいはデリミタ指定レ
ジスタ20に予め設定されている設定デリミタと、リード
バッファ16にセットされているデータ(デリミタ)とを
比較し、その比較結果(両デリミタが一致した場合等)
に応じて検出信号aを出力し、制御回路15に与える。制
御回路15はデリミタ検出回路14から検出信号aが入力さ
れると、命令を実行させる為の制御信号の出力を終了す
ると共に終了信号bを出力し、プログラムメモリからの
次の命令語の読み出し指定を行う。 第3図はデリミタ検出回路14の具体的な構成を示して
いる。まず、本実施例において取扱うデリミタについて
説明する。デリミタは主記憶装置内のデータの区切りを
示すと共に処理の優先順位の重み付けを示すもので、以
下の4種類がある。 (……レコードスタート 9N……ワードエンド(数値用) 9……ワードエンド(キャラクタ用) なお、各デリミタ1バイト構成で16進コードによって
表現され、トラックエンドは“FF"、レコードエンドは
“FE"、数値用ワードエンドは“FD"、キャラクタ用ワー
ドエンドは“0"に対応している。このような4種類の固
定デリミタの他、本実施例においては、デリミタ設定レ
ジスタ20に任意のデリミタを設定することができ、この
設定デリミタを加えて5種類のデリミタがある。 そして、この5種類のデリミタには以下の優先順位が
付いている。即ち、優先順位は高いものから(1)トラ
ックエンド、(2)レコードスタート、(3)2種類の
ワードエンド、(4)デリミタ設定レジスタ20内の設定
デリミタの順で、これは固定的な順位である。なお、数
値用ワードエンド、キャラクタ用ワードエンドの優先順
位は同一である。 また、インストラクションレジスタ11の指定デリミタ
に設定されるコードは2ビット構成の2進コードによっ
て表現され、“11"はトラックエンド、“10"はレコード
スタート、“01"はワードエンド(数値用)、“00"はワ
ードエンド(キャラクタ用)を示し、主記憶装置内のデ
ータの区切りを示す1バイト構成の16進コードで表わさ
れるデリミタ“FF"、“FE"、“FD"、“00"と対応付けら
れている。 デリミタ検出回路14には第3図に示すように、インス
トラクションレジスタ11からの指定デリミタが供給され
る4つの一致回路14−1〜14−4と、リードバッファ16
からの読み出しデリミタが供給される5つの一致回路14
−5〜14−9が設けられている。そして、4つの一致回
路14−1〜14−4には対応する“00"〜“11"の固定デリ
ミタが供給されており、各固定デリミタは2ビット構成
の2進コードによって表現されている。しかして、一致
回路14−1〜14−5はインストラクションレジスタ11か
らの指定デリミタ(2進コードの“00"、“01"、1
“0"、“11"のうち指定されたコード)との一致を検出
した時に一致信号c1〜c4のいずれか一つの信号を出力
し、比較回路14−10に与える。この場合、一致回路14−
1、14−2の出力はワイヤードオアされている。また、
比較回路14−10には、デリミタ設定レジスタ20に任意の
デリミタが設定されている場合にデリミタ設定レジスタ
20から出力される設定有り信号c0が入力され、一致回路
14−1〜14−4の出力と合わせて4ビット構成のデータ
Bとして入力される。なお、この4ビットデータBの各
桁は優先順位に対応して“1、2、4、8"の重みが付け
られ、設定有り信号c0は重み“1"、c1orc2は重み“2"、
c3は重み“4"、c4は重み“8"に対応している。 また、リードバッファ16からの読み出しデリミタが入
力される5つの一致回路14−5〜14−9の他方には、1
バイト構成で16進コードによって表現される一致検出用
のコードが入力される。即ち、一致回路14−5にはデリ
ミタ設定レジスタ20内の設定デリミタコード、一致回路
14−6にはキャラクタ用ワードエンドを示す“00"コー
ド、一致回路14−7には数値用ワードエンドを示す“F
D"コード、一致回路14−8にはレコードスタートを示す
“FE"コード、一致回路14−9にはトラックエンドを示
す“FF"コードが入力れている。そして、一致回路14−
5〜14−9はリードバッファ16からの読み出しデリミタ
との一致を検出した時に一致信号d0、d1……d4を出力
し、比較回路14−10に与える。この場合、一致回路14−
6、14−7の出力はワイヤードオアされている。したが
って、比較回路14−10には一致回路14−5〜14−9の出
力が4ビットのデータAとして入力されている。なお、
この4ビットデータAの各桁はデリミタの有せ順位に対
応して“1、2、4、8"の重みが付けられ、一致信号d0
は重み“1"、d1ord2は重み“2"、d3は重み“4"、d4は重
み“8"に対応している。 比較回路14−10はデータAとデータBとを比較し、そ
の結果、A−B≧0のとき検出信号aを出力する。 動 作 いま、第4図に示すように、主記憶装置MM内に記憶さ
れるデータd(dは1バイト構成で16進コードによって
表現される)を各種のデリミタ(キャラクタ用ワードエ
ンド、レコードスタート、トラックエンド)で所定の単
位に区切られて主記憶装置MM内に記憶されている。以下
の説明では、インストラクションレジスタ11内にセット
されたオペレーションコードの指示する命令が転送命令
であるものとする。 この場合、アドレス発生回路13からのリードアドレス
によって読み出された主記憶装置MM内のデータはリード
バッファ16にセットされる。次いで、アドレス発生回路
13からライトアドレスが出力され、リードバッファ16内
のデータが読み出されて主記憶装置MMの指定アドレス領
域に書き込まれる。この際、リードバッファ16内のデー
タはデリミタ検出回路14にも送られるが、そのデータが
デリミタでなければデリミタ検出回路14から検出信号a
は出力されず、制御回路15は転送命令を実行させる為の
制御信号を再度出力し、アドレス発生回路13の各アドレ
スを更新し、主記憶装置MM内の次のデータがリードバッ
ファ16にセットされる。このようなデータ転送の実行中
に主記憶装置MMから読み出されたデリミタがリードバッ
ファ16にセットされている状態において、デリミタ検出
回路14はインストラクションレジスタ11からの指定デリ
ミタあるいはデリミタ設定レジスタ20からの設定デリミ
タとリードバッファ16にセットされているデリミタとを
比較し、その結果、指定デリミタあるいは設定デリミタ
よりも高い優先順位か同一の優先順位のデリミタがリー
ドバッファ16にセットされたときには検出信号aを出力
する。 いま、インストラクションレジスタ11内の指定デリミ
タがキャラクタ用ワードエンド「9」に対応するデリミ
タ“00"であり、そして、リードバッファ16にそれと同
じデリミタ「9」が読み出されたものとする。この場
合、デリミタ検出回路14においては、一致回路14−1、
14−6から夫々一致信号c1,d1が出力される為、データ
A、Bが夫々「2」となり、比較回路14−10から検出信
号aが出力される。この検出信号aが制御回路15に与え
られると、制御回路15は転送命令の実行を終了し、終了
信号bを出力する。これによって、次のオペレーション
コードがインストラクションレジスタ11にセットされ
る。このように指定デリミタがキャラクタ用ワードエン
ドである場合、第4図(A)に示すように、主記憶装置
MMから最初にそのデリミタが読み出されたリードバッフ
ァ16にセットされた際に転送命令の実行が終了する為、
このデリミタで区切れたデータ長を単位とするデータを
転送が行なわれる。また、前記リードバッファ16にデリ
ミタ「9」よりも優先順位の高いデリミタ「(」もしく
が読み出された場合も比較回路14−10から検出信号aが
出力され、転送命令の実行を終了する。 次に、インストラクションレジスタ11内の指定デリミ
タがレコードスタート「(」に対応するデリミタ“10"
である場合、主記憶装置MMからキャラクタ用ワードエン
ドのデリミタ「9」が読み出されたとしても、デリミタ
検出回路14においては、一致回路14−3、14−6から一
致信号c3、d1が出力される為、データAは「2」、デー
タBは「4」となる。即ち、指定デリミタよりもリード
バッファ16にセットされたデリミタの方が優先順位が低
い為に、比較回路14−10からは検出信号aが出力され
ず、その結果、データ転送処理は繰り返し実行される。
しかして、主記憶装置MMから最初のレコードスタートを
示すデリミタ「(」が読み出されてリードバッファ16に
セットされると、デリミタ検出回路14においては、一致
回路14−3、14−8から一致信号c3、d3が出力される
為、データA、Bが夫々「4」となり、比較回路14−10
から検出信号aが出力される。この為、指定デリミタが
レコードスタートであれば、第4図(B)に示すように
主記憶装置MMから最初にレコードスタートを示すデリミ
タが読み出された際に、転送命令の実行が終了し、この
デリミタが区切られたデータ長を単位とするデータ転送
が行なわれる。また、デリミタ「(」よりも優先順位の
高いデリミタ がリードバッファ16に読み出された場合も転送命令の実
行を終了する。 同様に、インストラクションレジスタ11内の指定デリ
ミタがトラックエンド に対応するデリミタ“11"である場合に、主記憶装置MM
からそのデリミタ が読み出されると、デリミタ検出回路14において一致回
路14−4、14−9から一致信号c4、d4が出力される為、
データA、Bが夫々「8」となり、比較回路14−10から
検出信号aが出力される。したがって、トラックエンド
のデリミタが区切られたデータ長を単位とするデータ転
送が行われる(第4図)。 このように4種類の固定デリミタのうちそのいずれか
のデリミタをインストラクションレジスタ11内の命令語
に対応して指定しておけば、1つの命令語(転送命令)
によって任意の長さのデータを単位とするデータ転送が
可能となる。 また、任意のコードによってデリミタ制定レジスタ20
に任意のデリミタを設定した場合には、デリミタの種類
を固定デリミタと合わせて5種類に増大することができ
ると共に、設定デリミタの優先順位が最も低い為、ワー
ドエンドのデリミタで区切られたデータを更に複数のブ
ロックに分けることができ、このブロックを単位とする
データ転送が可能となる。 更に、ワードエンドのデリミタを数値用、キャラクタ
用に区別し、優先順位を同一とすることにより、デリミ
タコードを判断するだけでデータの種類を判断すること
ができると共に、数値とキャラクタが混在したデータで
あっても優先順位を同一とした為、同一の処理単位とし
て処理することができる。 なお、オペレーションコードが演算命令や論理演算命
令である場合には、主記憶装置の連続するアドレスに記
憶されている演算データと被演算データとに基づいて演
算が実行されるが、この場合においてもデリミタ単位で
処理が行なわれることはデータ転送の場合と同様であ
る。 [第2実施例] 第5図は第2実施例を示したデリミタ検出回路31の構
成図である。なお、本実施例は、4種類のデリミタを任
意のコードによって設定可能であると共に、それらの優
先順位も任意に設定可能としたものである。即ち、デリ
ミタ設定レジスタ31−1〜31−4は4種類のデリミタが
設定されるレジスタで、その設定デリミタは対応する一
致回路31−5〜31−8に供給される。この一致回路31−
5〜31−8は第2図で示したリードバッファ16からのデ
リミタとの一致を検出した際に一致信号を出力し、比較
回路31−13に与える。この4ビットデータAの各桁は、
優先順位に対応して“1、2、4、8"の重みが付けら
れ、一致回路31−5の出力は重み“1"……一致回路31−
8の出力は重み“8"に対応している。 また、第2図で示したインストラクションレジスタ11
からの指定デリミタ“00"〜“11"が供給される一致回路
31−9〜31−12は上記第1実施例と同様であるが、本実
施例において一致回路31−9〜31−12からの4ビットデ
ータBの各桁は、優先順位に対応して、“1、2、3、
4"の重みが付けられ、一致回路31−9の出力は重み“1"
……一致回路31−12の出力は重み“8"に対応し、比較回
路31−13に供給される。また、比較回路31−13は上記実
施例と同様に、データA、Bを比較し、A−B≧0のと
き検出信号aを出力する。 このように構成すれば、4種類のデリミタを任意のコ
ードによって設定可能であると共にそれらの優先順位も
任意に設定可能となる。 尚、命令語の中の指定デリミタのコードとデータ中の
デリミタのコードは同一のコードを用いてもよく、同一
のコードを用いなくてもよい。同一のコードを用いない
場合は、指定デリミタに用いるデリミタのコードとデー
タ中で用いるデリミタのコードを予め対応させておき、
デリミタ検出回路14の検出時に、前記対応関係に基づい
て両デリミタの検出を行う。 [発明の効果] 本発明によれば、デリミタで区切られる任意の長さの
データの転送や演算等の処理を1命令語で行なうことが
可能になり、データの処理速度が向上し且つデータの処
理のためのプログラム作成も容易になると共に、デリミ
タの優先順位に応じたデータ処理が可能になるため、デ
ータを予め優先順位に対応したレベルのブロック単位に
デリミタで区切っておけば、種々のレベルでのブロック
単位の処理を1命令語で行なうことができる。
The present invention relates to a data processing device that constitutes an office computer, a personal computer, or the like. [Prior Art] Conventionally, a central processing unit constituting an office computer or the like is configured to perform processing such as transfer and calculation in fixed-length 1-byte units with one instruction. By the way, a file is input / output with one record as a minimum unit, and one record is composed of a plurality of fields. Usually, a field is composed of a plurality of bytes, and the data in the record is updated with the field as a minimum unit. Therefore, in file data processing, processing is often performed in units of a plurality of bytes. [Problems to be Solved by the Invention] As described above, since the conventional central processing unit can perform processing only in a unit of 1 byte having a fixed length by one instruction, in filing, it is performed in units of fields or records. When performing data processing, a subroutine program consisting of a plurality of instructions had to be created and processed. Therefore, there is a drawback that the work time for creating the program becomes long and the processing speed becomes slow. An object of the present invention is to process data of an arbitrary length with one instruction, thereby significantly improving the processing speed. [Means for Solving Problems] Means of the present invention are as follows. Data storage means 1 (see the functional block diagram of FIG. 1,
The same shall apply hereinafter) stores a plurality of types of delimiters that indicate data and delimiters of this data, and indicate weighting according to the priority of processing. The address generation means 2 generates an address for the data storage means 1. The command word storage unit 3 stores a command word and one specified delimiter indicating a weight corresponding to the command word and designated according to the priority order of processing according to the command word. The control means 4 decodes the instruction word stored in the instruction word storage means 3 and processes the data sequentially read from the data storage means 1 according to the address designation of the address generation means 2 according to the instruction word. The detection means 5 compares the delimiter read from the data storage means 1 by the address designation of the address generation means 2 with the designated delimiter stored in the instruction word storage means 3 and read from the data storage means 1. When the delimiter has a higher priority than the designated delimiter or the same priority, the detection signal is output to the control means 4. Then, the control means 4 continues the processing according to the command word when the detection signal is not input, and ends the processing according to the command word when the detection signal is input. [Operation] The operation of the means of the present invention is as follows. First, the data storage unit 1 stores a plurality of types of delimiters that indicate the data and the delimiters of the data, and also indicate the weighting according to the priority order of processing, and the command word storage unit 3 stores the command word and this command word. One designated delimiter indicating the weighting correspondingly designated and according to the priority of the processing according to this command is stored. In this state, the control means 4 controls the instruction word storage means 3
The address generation means 2 decodes the instruction word stored in
The data sequentially read from the data storage means 1 by the address designation of
Performs processing such as calculation. Further, the detection means 5 compares the delimiter read from the data storage means 1 by the address designation of the address generation means 2 with the designated delimiter stored in the instruction word storage means 3 and read from the data storage means 1. When the delimiter has a higher priority than the designated delimiter or the same priority, the detection signal is output to the control means 4. In this case, the control means 4 continues the processing according to the command word when the detection signal is not input, and ends the processing according to the command word when the detection signal is input. Therefore, one instruction enables data processing of an arbitrary length, and the processing speed can be greatly improved. [First Embodiment] A first embodiment will be described below with reference to FIGS. 2 to 4. Structure FIG. 2 is a block circuit diagram of a central processing unit that constitutes an office computer, etc. The instruction register 11 is read from a program memory (not shown) connected via an address bus AB and a data bus DB. The instruction code stored in the instruction register 11 is supplied to the instruction decoder 12, the address change direction is supplied to the address generation circuit 13, and the designated delimiter is supplied to the delimiter detection circuit 14. It The instruction decoder 12 decodes an input operation code and outputs an output signal based on the decoding result to a control circuit.
Give to 15. The control circuit 15 outputs a control signal c necessary for executing the instruction decoded by the instruction decoder 12 to the address generation circuit 13 and the like. The address generation circuit 13 responds to the control signal output from the control circuit 15 and increments or decrements the read address and the write address according to the address update direction from the instruction register 11 for each execution cycle. Address is supplied to the main memory device through an address bus AB. In this case, when the data designated by the read address of the address generation circuit 13 is read from the main storage device, it is stored in the read buffer 16 via the data bus DB. Further, when the data designated by the write address of the address generation circuit 13 is read from the main memory,
It is stored in the read buffer 17 via the data bus DB.
If the operation code stored in the instruction register 11 is an instruction that performs an operation on the operand data such as an arithmetic logic operation instruction, the operand data is set in the read buffer 16 and the operand data is set in the read buffer 17. To be done. In this case, the operation data and operation data in the read buffers 16 and 17 are ALU (logical operation circuit) 18
ALU 18 performs an operation according to the operation instruction from the instruction decoder 12, and the operation result is fetched in the data bus buffer 19 and then supplied to the main memory device via the data bus DB, and the address generation circuit 13 Is written in the address area specified by the write address of. On the other hand, when the instruction designated by the operation code of the instruction register 11 is a transfer instruction, the data designated by the read address of the address generation circuit 13 is read from the main storage device and set in the read buffer 16. Then, when the write address is output from the next address generation circuit 13 and the data set in the read buffer 16 is supplied to the main storage device via the ALU 18 and the data buffer 19, the data is designated by the write address. Are written in the address area. The delimiter detection circuit 14 is an instruction register 11
The specified delimiter stored in or the setting delimiter preset in the delimiter specification register 20 is compared with the data (delimiter) set in the read buffer 16, and the comparison result (when both delimiters match, etc. )
The detection signal a is output in accordance with the above, and is supplied to the control circuit 15. When the detection signal a is input from the delimiter detection circuit 14, the control circuit 15 terminates the output of the control signal for executing the instruction and outputs the termination signal b to specify the reading of the next instruction word from the program memory. I do. FIG. 3 shows a specific configuration of the delimiter detection circuit 14. First, the delimiter handled in this embodiment will be described. The delimiter indicates the delimiter of data in the main storage device and also indicates the weighting of the priority of processing, and there are the following four types. (... record start 9 N ... word end (for numerical value) 9 ... word end (for character) In addition, each delimiter consists of 1 byte and is expressed by a hexadecimal code. The track end is "FF" and the record end is " FE ", the word end for numerical values corresponds to" FD ", and the word end for characters corresponds to" 0 ". In addition to these four types of fixed delimiters, in the present embodiment, an arbitrary delimiter setting register 20 is set. A delimiter can be set, and there are 5 types of delimiters in addition to this setting delimiter, and these 5 types of delimiters are given the following priority order: from the highest priority order (1) This is a fixed order in the order of track end, (2) record start, (3) two types of word end, and (4) setting delimiter in delimiter setting register 20. The numerical word end and the character word end have the same priority, and the code set in the designated delimiter of the instruction register 11 is expressed by a binary code of 2 bits, where "11" is the track end and " 10 "indicates the record start," 01 "indicates the word end (for numerical value)," 00 "indicates the word end (for character), and is represented by a 1-byte hexadecimal code indicating the data delimiter in the main memory. It is associated with the delimiters “FF”, “FE”, “FD”, and “00.” The delimiter detection circuit 14 is supplied with four delimiters from the instruction register 11 as shown in FIG. Matching circuits 14-1 to 14-4 and read buffer 16
5 matching circuits 14 supplied with read delimiters from
-5 to 14-9 are provided. The four matching circuits 14-1 to 14-4 are supplied with corresponding fixed delimiters of "00" to "11", and each fixed delimiter is represented by a binary code having a 2-bit structure. Therefore, the coincidence circuits 14-1 to 14-5 use the designated delimiters (binary codes “00”, “01”, 1 and 1 from the instruction register 11).
"0", "11" and outputs any one of signals of the coincidence signal c 1 to c 4 when the coincidence has been detected with the specified code) of the, and supplies the comparison circuit 14-10. In this case, the matching circuit 14-
The outputs of 1 and 14-2 are wired or. Also,
The comparator circuit 14-10 has a delimiter setting register when an arbitrary delimiter is set in the delimiter setting register 20.
The setting signal c 0 output from 20 is input, and the matching circuit
It is input as 4-bit data B together with the outputs of 14-1 to 14-4. It should be noted that each digit of the 4-bit data B is given a weight of "1, 2, 4, 8" corresponding to the priority, and the set signal c 0 has a weight of "1" and c 1 orc 2 has a weight of " 1 ". 2 ",
c 3 corresponds to the weight “4”, and c 4 corresponds to the weight “8”. In addition, 1 is input to the other of the five matching circuits 14-5 to 14-9 to which the read delimiter from the read buffer 16 is input.
A code for matching detection, which is expressed in hexadecimal code in byte structure, is input. That is, the matching circuit 14-5 includes the set delimiter code in the delimiter setting register 20 and the matching circuit.
14-6 shows a "00" code indicating a character word end, and a matching circuit 14-7 shows "F" indicating a numerical word end.
The D "code, the" FE "code indicating the record start, and the" FF "code indicating the track end are input to the matching circuit 14-8 and the matching circuit 14-9, respectively.
5-14-9 output coincidence signals d 0 , d 1 ... D 4 when detecting coincidence with the read delimiter from the read buffer 16 and give them to the comparison circuit 14-10. In this case, the matching circuit 14-
The outputs of 6 and 14-7 are wired-OR. Therefore, the outputs of the coincidence circuits 14-5 to 14-9 are input to the comparison circuit 14-10 as 4-bit data A. In addition,
Each digit of the 4-bit data A is weighted with "1, 2, 4, 8" corresponding to the order of presence of the delimiter, and the coincidence signal d 0
Corresponds to weight “1”, d 1 ord 2 corresponds to weight “2”, d 3 corresponds to weight “4”, and d 4 corresponds to weight “8”. The comparison circuit 14-10 compares the data A and the data B, and as a result, when AB ≧ 0, outputs the detection signal a. Operation Now, as shown in FIG. 4, various delimiters (word end for character, record start) are stored in the data d (d is represented by a hexadecimal code in 1-byte structure) stored in the main memory MM. , Track end) and stored in the main memory MM in a predetermined unit. In the following description, it is assumed that the instruction designated by the operation code set in the instruction register 11 is a transfer instruction. In this case, the data in the main memory device MM read by the read address from the address generation circuit 13 is set in the read buffer 16. Next, address generation circuit
The write address is output from 13 and the data in the read buffer 16 is read and written in the designated address area of the main memory MM. At this time, the data in the read buffer 16 is also sent to the delimiter detection circuit 14, but if the data is not the delimiter, the delimiter detection circuit 14 outputs the detection signal a.
Is not output, the control circuit 15 outputs the control signal for executing the transfer instruction again, updates each address of the address generation circuit 13, and the next data in the main memory MM is set in the read buffer 16. It In the state where the delimiter read from the main storage device MM is set in the read buffer 16 during the execution of such data transfer, the delimiter detection circuit 14 specifies the delimiter from the instruction register 11 or the delimiter setting register 20 from the delimiter setting register 20. The set delimiter is compared with the delimiter set in the read buffer 16, and as a result, when the delimiter having a higher priority than the designated delimiter or the set delimiter or the same priority is set in the read buffer 16, the detection signal a is output. Output. Now, it is assumed that the designated delimiter in the instruction register 11 is the delimiter "00" corresponding to the character word end "9", and the same delimiter "9" is read into the read buffer 16. In this case, in the delimiter detection circuit 14, the matching circuit 14-1,
Since the coincidence signals c 1 and d 1 are respectively output from 14-6, the data A and B become “2”, respectively, and the comparison circuit 14-10 outputs the detection signal a. When the detection signal a is given to the control circuit 15, the control circuit 15 ends the execution of the transfer instruction and outputs the end signal b. As a result, the next operation code is set in the instruction register 11. When the designated delimiter is the word end for characters in this way, as shown in FIG.
Since the execution of the transfer instruction is completed when the delimiter is first set in the read buffer 16 read from the MM,
Data is transferred in units of the data length separated by this delimiter. In addition, the read buffer 16 has a delimiter "(" or a delimiter "(" or a Even when is read, the detection signal a is output from the comparison circuit 14-10 and the execution of the transfer instruction is completed. Next, the designated delimiter in the instruction register 11 is the delimiter "10" corresponding to the record start "(".
In this case, even if the character word end delimiter “9” is read from the main memory MM, in the delimiter detection circuit 14, the match signals c 3 and d 1 are received from the match circuits 14-3 and 14-6. Is output, the data A becomes “2” and the data B becomes “4”. That is, since the delimiter set in the read buffer 16 has a lower priority than the designated delimiter, the detection signal a is not output from the comparison circuit 14-10, and as a result, the data transfer process is repeatedly executed. .
Then, when the delimiter "(" indicating the first record start is read from the main memory MM and set in the read buffer 16, the delimiter detection circuit 14 matches from the matching circuits 14-3 and 14-8. Since the signals c 3 and d 3 are output, the data A and B respectively become “4”, and the comparison circuit 14-10
Outputs a detection signal a. Therefore, if the designated delimiter is the record start, the execution of the transfer instruction ends when the delimiter indicating the record start is first read from the main memory MM as shown in FIG. 4B. Data transfer is performed in units of the data length delimited by the delimiter. Also, the delimiter with a higher priority than the delimiter "(" Is also read into the read buffer 16, the execution of the transfer instruction is completed. Similarly, the designated delimiter in the instruction register 11 is the track end. If the delimiter "11" corresponding to
From its delimiter Is read out, the match signals c 4 and d 4 are output from the match circuits 14-4 and 14-9 in the delimiter detection circuit 14,
The data A and B respectively become "8", and the detection signal a is output from the comparison circuit 14-10. Therefore, data transfer is performed in units of the data length with the delimiter at the track end delimited (FIG. 4). In this way, if any one of the four types of fixed delimiters is designated corresponding to the instruction word in the instruction register 11, one instruction word (transfer instruction)
This enables data transfer in units of data of arbitrary length. In addition, the delimiter establishment register 20 can be
When any delimiter is set to, the type of delimiter can be increased to 5 including fixed delimiter, and since the setting delimiter has the lowest priority, the data delimited by the word end delimiter can be used. It can be further divided into a plurality of blocks, and data transfer can be performed in units of this block. Furthermore, by distinguishing the word end delimiter for numeric value and character and setting the same priority order, it is possible to determine the type of data only by determining the delimiter code, and the data in which numeric value and character are mixed. However, since the priorities are the same, they can be processed in the same processing unit. When the operation code is an operation instruction or a logical operation instruction, the operation is executed based on the operation data and the operated data stored in consecutive addresses of the main storage device. Processing in delimiter units is the same as in the case of data transfer. Second Embodiment FIG. 5 is a block diagram of the delimiter detection circuit 31 showing the second embodiment. In this embodiment, four kinds of delimiters can be set by arbitrary codes, and their priority can be set arbitrarily. That is, the delimiter setting registers 31-1 to 31-4 are registers in which four kinds of delimiters are set, and the set delimiters are supplied to the corresponding coincidence circuits 31-5 to 31-8. This matching circuit 31-
Reference numerals 5 to 31-8 output coincidence signals when the coincidence with the delimiter from the read buffer 16 shown in FIG. 2 is detected, and the coincidence signals are given to the comparison circuit 31-13. Each digit of this 4-bit data A is
Weights of "1, 2, 4, 8" are assigned according to the priority order, and the output of the matching circuit 31-5 is weighted "1".
The output of 8 corresponds to the weight “8”. In addition, the instruction register 11 shown in FIG.
Matching circuit to which the specified delimiters "00" to "11" are supplied from
31-9 to 31-12 are the same as those in the first embodiment, but in this embodiment, each digit of the 4-bit data B from the coincidence circuits 31-9 to 31-12 corresponds to the priority order. "1, 2, 3,
The output of the coincidence circuit 31-9 is weighted by "1".
The output of the coincidence circuit 31-12 corresponds to the weight "8" and is supplied to the comparison circuit 31-13. Further, the comparator circuit 31-13 compares the data A and B, and outputs the detection signal a when AB ≧ 0, as in the above embodiment. With this configuration, the four types of delimiters can be set by arbitrary codes, and their priorities can also be set arbitrarily. The code of the designated delimiter in the instruction word and the code of the delimiter in the data may or may not use the same code. If the same code is not used, the code of the delimiter used for the specified delimiter and the code of the delimiter used in the data are made to correspond in advance,
When the delimiter detection circuit 14 detects, both delimiters are detected based on the above correspondence. [Effects of the Invention] According to the present invention, it is possible to perform processing such as transfer and operation of data of arbitrary length delimited by a single command word, improving the data processing speed and Since programs for processing can be easily created and data can be processed according to the priority of the delimiter, if the data is divided into blocks at the level corresponding to the priority in advance, various levels can be set. The processing in block units can be performed with one instruction word.

【図面の簡単な説明】 第1図はこの発明の機能ブロック図、第2図〜第5図は
第1実施例を示し、第2図は全体のブロック回路図、第
3図は第2図で示したデリミタ検出回路14の具体的な構
成を示した図、第4図は指定デリミタに対応して処理さ
れるデータ単位を説明する為の図、第5図は第2実施例
を示したデリミタ検出回路の具体的な構成を示した図で
ある。 11……インストラクションレジスタ、12……命令デコー
ダ、13……アドレス発生回路、14、31……デリミタ検出
回路、15……制御回路、16……リードバッファ、18……
ALU、20……デリミタ設定レジスタ、MM……主記憶装
置。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a functional block diagram of the present invention, FIGS. 2-5 show a first embodiment, FIG. 2 is an overall block circuit diagram, and FIG. 3 is FIG. 4 is a diagram showing a specific configuration of the delimiter detection circuit 14 shown in FIG. 4, FIG. 4 is a diagram for explaining a data unit to be processed corresponding to a designated delimiter, and FIG. 5 is a second embodiment. It is the figure which showed the concrete structure of the delimiter detection circuit. 11 …… instruction register, 12 …… instruction decoder, 13 …… address generation circuit, 14,31 …… delimiter detection circuit, 15 …… control circuit, 16 …… read buffer, 18 ……
ALU, 20 ... Delimiter setting register, MM ... Main memory.

Claims (1)

(57)【特許請求の範囲】 1.データ及びこのデータの区切りを示すと共に処理の
優先順位に応じた重み付けを示す複数種のデリミタを記
憶するデータ記憶手段と、 このデータ記憶手段に対するアドレスを生成するアドレ
ス生成手段と、 命令語及びこの命令語に対応して指定され且つこの命令
語にしたがった処理の優先順位に応じた重み付けを示す
1つの指定デリミタを記憶する命令語格納手段と、 この命令語格納手段に記憶されている命令語を解読し、
前記アドレス生成手段のアドレス指定によって前記デー
タ記憶手段から順次読み出されるデータを前記命令語に
したがって処理する制御手段と、 前記アドレス生成手段のアドレス指定によって前記デー
タ記憶手段から読み出されたデリミタと前記命令語格納
手段に記憶されている指定デリミタとを比較し、前記デ
ータ記憶手段から読み出されたデリミタが前記指定デリ
ミタよりも高い優先順位か若しくは同一の優先順位であ
る時に検出信号を前記制御手段へ出力する検出手段と、 を備え、前記制御手段は前記検出信号が入力されていな
い場合は前記命令語にしたがった処理を継続し、前記検
出信号が入力された際に前記命令語にしたがった処理を
終了することを特徴とするデータ処理装置。
(57) [Claims] Data storage means for storing data and a plurality of types of delimiters for indicating the division of the data and weighting according to the priority of processing, address generation means for generating an address for the data storage means, command word and this command An instruction word storage unit that stores one designated delimiter that is designated corresponding to a word and indicates weighting according to the priority of processing according to this instruction word, and an instruction word stored in this instruction word storage unit. Decipher,
Control means for processing data sequentially read from the data storage means according to the instruction word by the address designation of the address generation means; delimiter read from the data storage means by the address designation of the address generation means and the instruction The designated delimiter stored in the word storage means is compared, and when the delimiter read from the data storage means has a higher priority than the designated delimiter or the same priority, a detection signal is sent to the control means. Detecting means for outputting, and the control means continues the processing according to the command word when the detection signal is not input, and the processing according to the command word when the detection signal is input A data processing device characterized by terminating.
JP62274966A 1987-10-30 1987-10-30 Data processing device Expired - Lifetime JP2671325B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP62274966A JP2671325B2 (en) 1987-10-30 1987-10-30 Data processing device
US07/258,153 US4975835A (en) 1987-10-30 1988-10-14 Variable length data processing apparatus for consecutively processing variable-length data responsive to one instruction
CA000580309A CA1308490C (en) 1987-10-30 1988-10-17 Operation apparatus
DE3855066T DE3855066T2 (en) 1987-10-30 1988-10-25 Surgical device for processing data of arbitrary length
EP88117758A EP0318699B1 (en) 1987-10-30 1988-10-25 Operation apparatus processing data of arbitrary length
KR1019880014095A KR920000417B1 (en) 1987-10-30 1988-10-28 Processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62274966A JP2671325B2 (en) 1987-10-30 1987-10-30 Data processing device

Publications (2)

Publication Number Publication Date
JPH01116727A JPH01116727A (en) 1989-05-09
JP2671325B2 true JP2671325B2 (en) 1997-10-29

Family

ID=17549052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62274966A Expired - Lifetime JP2671325B2 (en) 1987-10-30 1987-10-30 Data processing device

Country Status (1)

Country Link
JP (1) JP2671325B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1146591A2 (en) 2000-04-10 2001-10-17 Hitachi, Ltd. Electromagnetic wave absorber, method of manufacturing the same and appliance using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS545636A (en) * 1977-06-15 1979-01-17 Sanyo Electric Co Ltd Input/output control system for electronic computer

Also Published As

Publication number Publication date
JPH01116727A (en) 1989-05-09

Similar Documents

Publication Publication Date Title
EP0239081B1 (en) Pipelined data processor capable of decoding and executing plural instructions in parallel
EP0126247B1 (en) Computer system
JPH04233640A (en) Microcontroller having pseudo-linear bank which switches memory expanding scheme
US5081608A (en) Apparatus for processing record-structured data by inserting replacement data of arbitrary length into selected data fields
JP2845433B2 (en) Integrated circuit device
US5117488A (en) Microprogram controlled microprocessor having a selectively expandable instruction code length including independent description of operand addressing and a type of operation for an operand by single instruction in a common coding scheme
US4975835A (en) Variable length data processing apparatus for consecutively processing variable-length data responsive to one instruction
JP2551167B2 (en) Microcomputer
US4309753A (en) Apparatus and method for next address generation in a data processing system
US4575796A (en) Information processing unit
US5381532A (en) Microprocessor having branch aligner between branch buffer and instruction decoder unit for enhancing initiation of data processing after execution of conditional branch instruction
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JP2671325B2 (en) Data processing device
KR950009271B1 (en) Information processing system
KR920002573B1 (en) Data processor
US3425036A (en) Digital computer having a generalized literal operation
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
KR960016401B1 (en) Page selecting circuit of register pages using register page pointer
JPH0778780B2 (en) Bus width controller
JPH1173301A (en) Information processing device
JP2965045B2 (en) Semiconductor integrated circuit device
JP2752220B2 (en) String processing unit
JP3033597B2 (en) Priority encoder and semiconductor integrated circuit using the same
JPH056273A (en) Processor
JPH05127903A (en) Parallel processing micro processor