JPH0241053B2 - - Google Patents

Info

Publication number
JPH0241053B2
JPH0241053B2 JP56155188A JP15518881A JPH0241053B2 JP H0241053 B2 JPH0241053 B2 JP H0241053B2 JP 56155188 A JP56155188 A JP 56155188A JP 15518881 A JP15518881 A JP 15518881A JP H0241053 B2 JPH0241053 B2 JP H0241053B2
Authority
JP
Japan
Prior art keywords
data
memory
register
address
output
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
JP56155188A
Other languages
English (en)
Other versions
JPS5856164A (ja
Inventor
Kazutoshi Eguchi
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
Tokyo Shibaura Electric 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP56155188A priority Critical patent/JPS5856164A/ja
Priority to US06/421,310 priority patent/US4502115A/en
Publication of JPS5856164A publication Critical patent/JPS5856164A/ja
Publication of JPH0241053B2 publication Critical patent/JPH0241053B2/ja
Granted legal-status Critical Current

Links

Classifications

    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】
本発明は可変長のデータを取り扱うマイクロプ
ログラム制御方式のデータ処理装置に関する。 マイクロプログラム制御方式のデータ処理装置
において、主メモリの或る領域に格納されている
或るデータ長(可変長)のデータ列を、主メモリ
の他の領域に移動する処理が必要となる場合があ
る。この場合、データ列のデータ長またはそのデ
ータ列の置かれる主メモリのアドレスがバイト単
位で指定されるデータ処理装置にあつては、処理
すべきデータを1バイト単位でリード/ライトす
るのが一般的であつた。このため、指定されたデ
ータ長のデータ列を処理するのに要するメモリア
クセスの回数が著しく多くなり、処理速度が遅く
なる欠点があつた。 本発明は上記事情に鑑みてなされたものでその
目的は、特に主メモリ内のデータ列を或る領域か
ら別の或る領域へ移動するようなリード/ライト
処理において、データ列の置かれる主メモリのア
ドレスの境界情報(全語境界、半語境界、バイト
境界)およびデータ長に基づいて全語アクセス、
半語アクセスまたはバイトアクセスのうちいずれ
かを最適なメモリアクセスを実行することによつ
てメモリアクセス回数が減少でき、もつてデータ
処理速度の高速化が図れるデータ処理装置の提供
することにある。 以下、本発明の一実施例を図面を参照して説明
する。第1図はマイクロプログラム制御方式のデ
ータ処理装置の概略構成を示すものである。図
中、1,2は主に被演算データが往来するデータ
バス(以下、それぞれAバス、Bバスと称する)、
3は主に演算結果が往来するデータバス(以下、
Sバスと称する)、4は各種制御信号が往来する
コントロールバス(以下、Cバスと称する)であ
る。10はたとえば10進演算を行なう演算制御部
であり、11はアダーである。20は後述する主
制御部50によつて起動されるデータ処理部であ
り、21はスタートレジスタ(第3レジスタ)で
ある。スタートレジスタ(以下、STARと称す
る)21にはデータ処理部20の処理動作を指定
するスタートマイクロ命令が保持される。22は
TAR21に保持されているマイクロ命令を実行
し、データ処理部20の各部を制御するナノプロ
グラム制御部(以下、NPCと称する)である。
23は処理すべきデータが格納されるデータフア
イル、24はデータフアイル23から1バイト単
位で取り出されるデータ保持されるレジスタであ
る。25は最大4バイト(全語)のデータが保持
される処理結果レジスタ(以下、RSLRと称す
る)、26はレジスタ制御部である。レジスタ制
御部26はメモリライトの種類(全語書き込み、
半語書き込み、バイト書き込み)に対応してレジ
スタ2のデータをRSLR25の必要なバイト位置
に保持せしめるようになつている。 第2図および第3図はそれぞれRSLR25およ
びレジスタ制御部26の構成を示すものである。
第2図において、100〜107は4ビツトのレ
ジスタである。レジスタ100,102,10
4,106にはレジスタ24の1バイト出力の上
位4ビツト(DRS0〜DRS3)が入力され、レ
ジスタ101,103,105,107にはレジ
スタ24の1バイト出力の下位4ビツト(DRS
4〜DRS7)が入力されるようになつている。
またレジスタ100〜107にはレジスタ制御部
26からイネーブル信号CERS0〜CERS7(論
理“1”で有効)が与えられるようになつてい
る。しかしてレジスタ100〜107はそれぞれ
対応するイネーブル信号CERS0〜CERS7が論
理“1”である場合に、クロツク信号RSLTに同
期して入力データ(4ビツト)をラツチする。一
方、第3図において、110はカウンタである。
カウンタ110は有効(論理“1”)なイネーブ
ル信号CECNRが与えられている期間中、クロツ
ク信号CSCLKに同期してアツプカウント動作を
行なう。カウンタ110には有効(論理“1”)
なロード信号CCNRLに応じてオール“0”デー
タがロードされるようになつている。111は
ROM(Read Only Memory)である。ROM1
11は、カウンタ110のカウント出力の下位2
ビツト(カウンタ110が2ビツトの2進カウン
タである場合にはカウント出力の全ビツト)およ
び前記スタートマイクロ命令で指定される処理の
種類を示す情報*との連結された情報をROMア
ドレスとし、対応する位置からあらかじめ記憶さ
れている8ビツトの情報を前記したイネーブル信
号CERS0〜CERS7としてレジスタ100〜1
07に出力する。 再び第1図を参照すると、27は主としてメモ
リアクセスの種類を決定するアクセス種類決定部
(以下、単に決定部と称する)である。第4図は
決定部27の構成を示すもので、200はセレク
タである。セレクタ200は後続するアダー20
2の出力またはBバス2上の2ビツトのデータの
いずれか一方を選択する。ここでBバス2上の2
ビツトのデータは、指定された領域の最初にアク
セスすべきメモリアドレスの下位2ビツトADR
30〜ADR31に対応するものである。201
はセレクタ200の選択出力が保持されるアドレ
ス境界情報レジスタ(第2レジスタ)、202は
アダーである。アダー202はアドレス境界情報
レジスタ(以下、BNDRと称する)201の出
力BNDADRと後続するレジスタ207の出力と
の加算を行ない、次にアクセスすべきメモリアド
レスの境界情報(アドレス境界情報)すなわちメ
モリアドレスの下位2ビツトを算出するようにな
つている。 203はROMである。ROM203はBNDR
201の出力BNDADR(アドレス境界情報)と
後述するDLR211の出力DL(データ長)との
連結情報をROMアドレスとし、対応する位置か
らあらかじめ記憶されているメモリアクセスの種
類(全語アクセス、半語アクセス、バイトアクセ
ス)を示すコマンド(リターン信号CERTNを含
む)を出力するようになつている。204は
ROM203の出力が保持されるレジスタ、20
5はレジスタ204の出力をCバス4(の特定ラ
イン)に出力する出力ゲート(以下、Gと称す
る)である。206はROMである。ROM20
6はROM203と同様にBNDR201の出力
BNDADRとDLR211の出力DLとの連結情報
をROMアドレスとし、対応する位置からあらか
じめ記憶されている次のメモリアドレスを計算す
るための数値データALPを出力するようになつ
ている。後述する主メモリ30に対するアドレス
がバイト単位で指定される本実施例では、上記数
値データALPは1回のメモリアクセスで処理さ
れるデータバイト数を示している。更にこの数値
データALPは、データ列のデータ長がバイト単
位で指定される本実施例では、1回のメモリアク
セスで処理されるデータ長をも示している。ここ
で本実施例におけるROM203,206の共通
のROMアドレスに対するROM出力の具体例を
下記表に示す。
【表】 この表において、BW(Byte Word)、HW
(Half Word)、およびFW(Full Word)はそれ
ぞれバイト(1バイト)アクセス、半語(2バイ
ト)アクセス、全語(4バイト)アクセスを示
し、Rはリターン信号CERTNの出力を示す。な
お、データ長DLに関し、実際に処理すべきデー
タは、本実施例ではDL+1バイトである。20
7はROM206の出力すなわち数値データALP
が保持されるレジスタ、208はレジスタ207
の出力(ALP)またはレジスタ207の反転出
力(補数)のいずれか一方を選択するセレクタ、
209はレジスタ207の反転出力をAバ
ス1に出力するG(出力ゲート)である。 210は後続するアダー212の出力またはB
バス2上のデータのいずれか一方を選択するセレ
クタである。ここでBバス2上のデータは指定さ
れたデータ列のデータ長DL0である。211はセ
レクタ210の選択出力が保持されるデータ長レ
ジスタ(第1レジスタ)、212はアダーである。
アダー212はデータ長レジスタ(以下、DLR
と称する)211の出力DLとセレクタ208の
出力との加算を行ない、処理すべき(未処理の)
データ長を算出するようになつている。 再び第1図を参照すると、30は主メモリ、4
0は主メモリ30を制御するメモリ制御部であ
る。50はデータ処理装置全体を制御する主制御
部、51は主制御部50の中心を成すマイクロプ
ログラム制御部(以下、MPCと称する)である。
52はMPC51の指示およびCバス4上の情報
に応じてメモリアクセス等の指示をメモリ制御部
に与えるアクセス指示部である。53は主メモリ
30からの読み出しデータまたは主メモリ30へ
の書き込みデータが保持されるメモリデータレジ
スタ(以下、MDRと称する)、54は主メモリ
30に対対するメモリアドレスが保持されるメモ
リアドレスレジスタ(以下、MARと称する5で
ある。なお、演算制御部10、メモリ制御部4
0、および主制御部50から成る構成を主処理部
と称する。 次に本発明一実施例の動作を、たとえば主メモ
リ30の1000番地から始まる領域に格納されてい
る11バイトのデータ(DL0=10)を、主メモリ3
0の2003番地から始まる領域に移動する場合を例
にとつて説明する。いま、主メモリ30の1000番
地からのデータ列は、すでにデータフアイル23
に格納されているものとする。また、上記データ
列のデータ長DL0(DL0=10)および当該データ
列の書き込み先先頭アドレス(2003番地)の下位
2ビツト(この場合は“11”)は、Bバス2を経
由して主制御部50からデータ処理部20の決定
部27に与えられ、それぞれセレクタ210,2
00を介してDLR211、BNDR201に保持
されているものとする。このような状態で第5図
のマイクロプログラム処理手順に示されているよ
うに、MPC51はスタートマイクロ命令
STARTを実行する。このスタートマイクロ命令
STARTはMPC51の制御によりデータ処理部
20のSTAR21に保持され、データ処理部2
0が動作を開始する(ステツプA)。すなわち
NPC22がSTAR21の保持内容に対応するナ
ノプログラムを実行する。次にマイクロプログラ
ムはBAL(Branch & Link)マイクロ命令に
より処理ルーチンに分岐する(ステツプB)。こ
の間データ処理部20では、データフアイル23
に格納されているデータ列のうち必要な部分がレ
ジスタ制御部26の制御によつてRSLR25の必
要なバイト位置に格納される。このレジスタ制御
部26の動作について、以下に詳細に説明する。 データ処理部20内では1バイト単位でデータ
が処理されるよになつており、データフアイル2
3に格納されているデータ列は1バイトずつレジ
スタ24に取り出された後、レジスタ制御部26
の制御によりRSLR25の必要なバイト位置に格
納される。レジスタ制御部26はNPC22の制
御のもとにメモリライトの種類、およびスタート
マイクロ命令STARTで指定された処理の種類に
応じてRSLR25を制御する。すなわちレジスタ
制御部26において、ROM111はカウンタ1
10のカウント出力(の下位2ビツト)およびス
タートマイクロ命令で指定される処理の種類を示
す情報*との連結された情報で示されるROMア
ドレスに応じて、対応する位置からイネーブル信
号CERS0〜CERS7を出力する。しかして
RSLR25内のレジスタ100,102,10
4,106には、対応するイネーブル信号CERS
0,CERS2,CERS4,CERS6が有効(論理
“1”)である場合に、クロツク信号RSLTに同期
してレジスタ24の出力の上位4ビツト(DRS
0〜DRS3)がラツチされる。同じくレジスタ
101,103,105,107には、対応する
イネーブル信号CERS1,CERS3,CERS5,
CERS7が有効(論理“1”)である場合に、ク
ロツク信号RSLTに同期してレジスタ24の出力
の下位4ビツト(DRS4〜DRS7)がラツチさ
れる。ここでレジスタ100,101の出力は32
ビツトデータ(Sバス3)のビツト0〜ビツト7
に対応し、…、レジスタ106,107の出力は
ビツト24〜31に対応している。 ところで1回のメモリライト動作に対応するレ
ジスタ制御部26の動作は、メモリライトの種類
によつて異なる。すなわち、レジスタ制御部26
は、バイト書き込みであれば、カウンタ110の
カウント出寮(の下位2ビツト)が“00”で処理
を終了し、半語書き込みであれば、カウンタ11
0のカウント出力(の下位2ビツト)が“01”で
処理を終了し、全語書き込みであれば、カウンタ
110のカウント出力(の下位2ビツト)が
“11”で処理を終了する。このカウンタ110は
NPC22によつて制御され、初期状態において
オール“0”データがロードされた後、メモリラ
イトの種類に応じてクロツク信号CSCLKに同期
して必要回数だけカウントアツプされる。前述し
たように1回のメモリライト動作で1バイトのデ
ータを書き込む(バイト書き込み)場合で、かつ
マイクロスタート命令STARTでデータのメモリ
内移動が指定されている場合、ROM111の出
力すなわちCERS0〜CERS7は全て有効となる
ようになつている。したがつてレジスタ24の出
力(1バイト)はレジスタ100,101、レジ
スタ102,103、レジスタ104,105、
およびレジスタ106,107にラツチされる。
すなわち、32ビツト構成のRSLR25の4つのバ
イト位置には、同一のバイトデータ(この例で
は主メモリ30の2003番地に書き込むべきデー
タ)が保持される(第6図イ参照)。 ここで半語書き込みおよび全語書き込みの場合
についても説明する。半語書き込みの場合、前述
したようにレジスタ制御部26の動作はカウンタ
110のカウント出力(の下位2バイト)が
“01”で終了する。明らかなようにカウント出力
が“00”のときのROM111の出力はバイト書
き込みと同じであり、RSLR25の内容は第6図
イに示される通りとなる。次にカウンタ110の
カウント出力が“01”となると、ROM111の
出力が変化し、信号CERS2,CERS3,CERS
6,CERS7だけが有効となるようになつてい
る。この結果、データに続いてデータフアイル
23からレジスタ24に取り出される1バイトデ
ータはRSLR25のビツト8〜ビツト15、およ
びビツト24〜ビツト31の2つのバイト位置にラツ
チされる。したがつてRSLR25の内容は、第6
図ロに示されるように上位・下位の半語(2バイ
ト)がそれぞれ同じ値(データおよびデータ
から成る半語)となる。また、全語書き込みの場
合、前述したようにレジスタ制御部26の動作は
カウンタ110のカウント出力(の下位2バイ
ト)が“11”で終了する。明らかなようにカウン
ト出力が“01”までのRSLR25の内容は第6図
イ,ロと同じである。そして、カウンタ110の
カウント出力が“10”となると、ROM111の
出力のうち信号CERS4,5だけが有効となるよ
うになつている。この結果、データに続いてデ
ータフアイル23からレジスタ24に取り出され
る1バイトデータはRSLR25のビツト16〜ビツ
ト23のバイト位置にラツトされる(第6図ハ参
照)。そして、カウンタ110のカウント出力が
“11”となると、ROM111の出力が変化し、
信号CERS6〜CERS7だけが有効となるように
なつている。この結果、データに続く1バイト
データはRSLR25のビツト24〜ビツト31のバ
イト位置にラツチされる。したがつて、RSLR2
5の内容は、第6図ニに示されるようにデータ
〜データからなる4バイト(全語)のデータと
なる。なお本実施例において、バイト書き込みの
場合は、第6図イに示されるRSLR25の4つの
バイト位置の下位の2つのバイト位置のメモリア
ドレスに対応する部分の1バイトデータが、主メ
モリ30に対する書き込みデータとして用いられ
る。また、半語書き込みの場合は、第6図ロに示
されるRSLR25の下位の2つのバイト位置の2
バイトデータが上記書き込みデータとして用いら
れる。また、全語書き込みの場合は、第6図ニに
示されるRSLR25の全て(4つ)のバイト位置
のデータ(4バイトデータ)がそのまま上記書き
込みデータとして用いられる。前述したレジスタ
制御部26の制御により、MPC51がBAL動作
を実行中に、主メモリ30の2003番地に書き込む
べき1バイトのデータがRSLR25に第6図イに
示されるように格納された後、マイクロプログラ
ムはステツプCに進む(第5図参照)。このステ
ツプCでは、MPC51の制御により、RSLR2
5の内容がSバス3を経由してMDR53に保持
される。このとき、決定部27からCバス4上に
メモリアクセスのコマンドが出力され、アクセス
指示部52に入力される。この結果、アクセス指
示部52からメモリ制御部40にメモリアクセス
指示が与えられ、メモリ制御部40の制御によつ
て主メモリ30の2003番地に1バイトのデータが
書き込まれる。 次に上記決定部27の動作について詳細に説明
する。DLR211の出力DL(この場合DL=DL0
=10)およびBNDR201の出力BNDADR(こ
の場合“11”)はROM203,206に共通に
与えられている。ROM203,206は上記出
力DLおよびBNDADRの連結情報で示される
ROMアドレス位置より、それぞれ対応するコマ
ンド、数値データALPを出力する。この場合、
BNDADR=“11”、DL=10(>1)であるため、
前記表から明らかなようにバイトアクセス
(BW)のコマンド、ALP=1(バイト)の数値デ
ータがそれぞれ出力される。このコマンドは、主
メモリ30の2003番地(アドレス境界情報は
“11”)から11バイト(2バイト以上)のデータ列
をアクセスする(書き込む)場合、第7図の符号
に示されるように1回目のメモリアクセス(メ
モリライト)動作で1バイトのデータをアクセセ
スする(書き込む)ことを示すものである。
ROM203から出力されるコマンドはレジスタ
204に保持され、G205を介して前述したよ
うにCバス4上に出力される。一方、ROM20
6から出力される数値データALP(この場合ALP
=1)はレジスタ207に保持されアダー202
に直接出力される。また、レジスタ207の内容
の反転出力(補数)すなわちはセレクタ2
08を介してアダー212に出力される。なお、
レジスタ207の内容すなわちALPがセレクタ
208を介してアダー212に出力されるのは、
メモリアクセスが指定された領域の最終アドレス
から先頭アドレスに向つて行なわれる場合であ
る。そして、アダー202にてBNDR201の
出力BNDADRと数値データALPとの加算が行な
われ、次にメモリアクセスすべき主メモリ30の
メモリアドレスの下位2ビツト(アドレス境界情
報)が算出される。このアダー202の出力はセ
レクタ200を介してBNDR201に保持され
る。この例ではBNDADR=“11”、ALP=1(2
進表示で“01”)であり、BNDR201の新たな
内容、すなわち次にメモリアクセスすべき主メモ
リ30のメモリアドレスの下位2ビツトは“00”
となる。また、アダー212では、DLR211
の出力DLと数値データALPの補数との加算、す
なわちDL―ALPが行なわれ、処理すべき(未更
新の)データ列のデータ長が算出される。このア
ダー212の出力はセレクタ210を介して
DLR211に保持される。この例ではDL=10、
ALP=1であり、DLR211の新たな内容、す
なわち処理すべきデータ列のデータ長DLは9(バ
イト)となる。 前記ステツプC(第5図参照)にて主メモリ3
0(の2003番地)に対するメモリアクセスが行な
われ、(1バイトの)データ書き込みが実行され
ると、MPC51はステツプDを実行する。この
ステツプDでは、ステツプCのメモリアクセスで
主メモリ30に書き込まれたデータのデータ長に
対応してメモリアドレスを更新して次のメモリア
クセス(メモリライトアクセス)のためのメモリ
アドレスを求める処理が行なわれる。このメモリ
アドレス更新のためにレジスタ207の保持内容
すなわち数値データALPが用いられる。まず数
値データALPの反転出力がG209よりAバス1上
に出力される。なお、数値データALPの反転出
力を用いるのはAバス1が“0”レベル真値のバ
スであるためであり、G209に代えてG205のよう
にナンド出力のゲートを用いる場合には数値デー
タALPをそのまま出力することになる。一方、
MAR54の保持内容はBバス2上に出力され
る。しかして演算制御部10におけるアダー11
にてAバス1上の数値データALPとBバス2上
のMAR54の保持内容(メモリアドレス)との
加算がMPC51の制御のもとで行なわれ、次の
メモリアククセスのためのメモリアドレスが算出
される。この例ではALP=1、MAR54の内容
(現メモリアドレス)=2003番地であるため、新メ
モリアドレスとして2004番地が求められる。アダ
ー11の出力はSバス3を介してMAR54に保
持される。これにより、MAR54の内容(メモ
リアドレス)が更新されたことになる。 一方、ステツプDにおける上述したマイクロプ
ログラム制御によるアドレス更新処理の間に、デ
ータ処理部20では次に主メモリ30に書き込む
べきデータをデータフアイル23により取り出し
てRSLR25に格納する処理が行なわれる。な
お、この処理は実際にはステツプCから行なわれ
ており、処理バイト数が2バイト以下の場合には
ステツプCの期間で処理が終了する。この場合に
は、メモリアドレスが2004番地すなわちメモリア
ドレスの下位2ビツト(アドレス境界情報)が
“00”であり(このことは前述したようにアダー
202の出力が保持されるBNDR201の出力
BNDADRで示される)、未更新のデータ長DLが
9(バイト)である(このことは前述したように
アダー212の出力が保持されるDLR211の
出力DLで示される)ため、(2004番地からの)全
語書き込みとなる。したがつて、前述したレジス
タ制御部26の詳細な動作説明から明らかなよう
に、RSLR25の4つのバイト位置にはそれぞれ
異なる1バイトのデータが格納されることにな
る。 ステツプDの処理が終了すると、MPC51は
ステツプEを実行する。このステツプEではデー
タ処理部20のRSLR25の保持内容がSバス3
を経由してMDR53に保持される。このとき、
決定部27からCバス4上にメモリアクセスのコ
マンドが出力され、アクセス指示部に入力され
る。この結果、アクセス指示部52からメモリ制
御部40にメモリアクセス指示が与えられ、メモ
リ制御部40の制御によつて主メモリ30に対す
るメモリアクセスが行なわれる。この場合には、
前述した決定部27の詳細な動作説明から類推で
きるように、上記コマンドは全語アクセス
(FW)を指示するコマンドである。したがつて、
メモリ制御部40の制御によつて、第7図の符号
に示されるように2回目のメモリアクセス(メ
モリライトアクセス)動作で主メモリ30の2004
番地から4バイトのデータが全語書き込みされ
る。 また、ステツプEにおける上述したメモリアク
セスの間に、データ処理部20の決定部27では
次にメモリアクセスすべき主メモリ30のメモリ
アドレスの下位2ビツト(アドレス境界情報)が
算出される。この算出結果はBNDR201に保
持される。同じくデータ処理部20の決定部27
では当該ステツプEにおけるメモリアクセス動作
の終了後の未処理データのデータ長が算出され
る。この算出結果はDLR211に保持される。
しかして、ROM203,206はBNDR201
の出力BNDADRおよびDLR211の出力DLの
連結情報で示されるROMアドレス位置よりそれ
ぞれ対応するコマンド、数値データALPを出力
する。これらROM203,206の出力はそれ
ぞれレジスタ204,207に保持され、次のス
テツプDにおけるアドレス計算、更に次のステツ
プEにおけるコマンド出力等に用いられる。更に
データ処理部20では、次に主メモリ30に書き
込むべきデータをデータフアイル23より取り出
してRSLR25に格納する処理が行なわれる。な
お、次に書き込むべきデータが4バイトとなる場
合には、上記RSLR25への格納処理はステツプ
Eで終了せず、次のステツプDの間にも継続され
る。 ステツプEのメモリアクセス処理が終了する
と、再びステツプDに戻り、指定されたデータ数
の処理が終了するまでステツプD,Eが繰り反し
実行される。この指定されたデータ数の処理終了
は、次にメモリアクセスすべき主メモリ30のメ
モリアドレスの下位2ビツトすなわちBNDR2
01の出力BNDADR、および未処理データのデ
ータ長すなわちDLR211の出出力DL(と次に
メモリアクセスされるデータのバイト数)で決定
することができる。そこで本実施例では、前記表
に示されるように、データ処理終了に該当する上
記出力BNDADRおよびDLの連結情報で示され
るROM203のアドレス位置に、メモリアクセ
スの種類を示すコマンドのほかにリターン信号
CERTNの出力情報Rをあらかじめ記憶させてい
る。 2度目のステツプDでは、前回のメモリアクセ
スにおけるメモリアドレス2004番地および、数値
データALPに基づいて、次のメモリアドレス
2008番地が算出される。続いて2度目のステツプ
Eにおいて、3回目のメモリアクセス動作が行な
われ、第7図の符号に示されるように主メモリ
30の2008番地から4バイトのデータが全語書き
込みされる。更に次の(3度目)のステツプDで
は、同じく前回のメモリアドレス2008番地および
数値データALPに基づいて、次のメモリアドレ
ス2012番地が算出される。そして、続く(3度目
の)ステツプEにおいて、4回目のメモリアクセ
ス動作が行なわれ、第7図の符号に示されるよ
うに主メモリ30の2012番地か2バイトのデータ
が半語書き込みされ、データ処理部20の決定部
27から出力されるリターン信号CERTNによつ
てMPC51はメインルーチンにリターンする。
この結果、データ処理部20の処理動作も終了す
る。 このように本実施例によれば、 未処理データのデータ長およびメモリアクセ
スすべき主メモリ30のメモリアドレスの下位
2ビツト(アドレス境界情報)に基づいて、主
メモリ30に対するメモリアクセスの種類(バ
イトアクセス、半語アクセス、全語アクセス)
を一義的に決定する論理、並びにこのメモリア
クセスに対応したバイト数のデータを適切なバ
イト位置に出力する論理によつて、1回のメモ
リアクセスで1バイトだけでなく、2バイト処
理、4バイト処理が行なえるので、メモリアク
セス回数を著しく減少でき、データ処理速度の
高速化が図れる。 上記に示したようにメモリアクセスの種類
の決定、データの取り揃えがマイクロプログラ
ム処理によらずに行なわれるので、マイクロプ
ログラムのステツプ数が減少し、データ処理速
度の一層の高速化が図れる。 BALマイクロ命令によりデータ処理のサブ
ルーチンに分岐し、未処理データのデータ長お
よびメモリアクセスすべき主メモリ30のメモ
リアドレスの下位2ビツトに基づいて、データ
処理の終了を判断してリターン信号を出力し、
データ処理を終了する論理によつて、マイクロ
プログラムによりデータ処理の終了を判断する
ものにくらべてデータ処理速度の一層の高速化
が図れる。 マイクロプログラム制御部(MPC)による
BAL動作、アドレス更新のための加算制御、
メモリアクセス制御の間にも、スタートレジス
タ(STAR)21に保持されているマイクロ
命令に基づいて、データ処理部20においてメ
モリアクセスの種類を示すコマンドの生成、必
要なバイト数のデータの必要なバイト位置への
取り揃えなどの各種データ処理が並行して行な
われるので、データ処理速度の一層の高速化が
図れる。 なお、前記実施例では、未処理データのデータ
長およびメモリアクセスすべき主メモリ30のメ
モリアドレスの下位2ビツトに基づいてデータ処
理の終了を判断する論理を設けた場合について説
明したが、本発明の要旨によれば、マイクロプロ
グラムによつてデータ処理の終了を判断するよう
にしてもよい。また、前記実施例では、マイクロ
プログラム制御部(MPC)によるBAL動作、ア
ドレス更新のための加算制御などと並行してメモ
リアクセスの種類を示すコマンドの生成、データ
の取り揃えなどの各種データ処理を行なう場合に
ついて説明したが、本発明の要旨によれば、必ず
しも並行処理の必要はない。 以上詳述したように本発明のデータ処理装置に
よれば、メモリアクセス回数が減少できるのでデ
ータ処理速度の高速化が図れる。
【図面の簡単な説明】
第1図は本発明のデータ処理装置の一実施例を
示すブロツク図、第2図は上記実施例における処
理結果レジスタ(RSLR)のレジスタ構成図、第
3図は上記実施例におけるレジスタ制御部の構成
を示すブロツク図、第4図は上記実施例における
アクセス種類決定部の構成を示すブロツク図、第
5図は動作を説明するための処理手順を示す図、
第6図イ〜ニは処理結果レジスタ(RSLR)への
データ格納例を示す図、第7図は主メモリに対す
るメモリライトアクセス例を示す図である。 10…演算制御部、11…アダー、202,2
12…アダー(更新手段)、20…データ処理部、
21…スタートレジスタ(STAR、第3レジス
タ)、22…ナノプログラム制御部(NPC)、2
5…処理結果レジスタ(RSLR)、26…レジス
タ制御部(データ整形手段)、27…アクセス種
類決定部、30…主メモリ、40…メモリ制御
部、50…主制御部、51…マイクロプログラム
制御部(MPC)、52…アクセス指示部、53…
メモリデータレジスタ(MDR)、54…メモリ
アドレスレジスタ(MAR)、110…カウンタ、
111…ROM、203…ROM(決定手段)、2
06…ROM(メモリアドレス計算データ生成手
段)、201…アドレス境界情報レジスタ
(BNDR、第2レジスタ)、211…データ長レ
ジスタ(DLR、第1レジスタ)。

Claims (1)

  1. 【特許請求の範囲】 1 マイクロプログラム制御方式のデータ処理装
    置において、 処理すべきデータのデータ長が保持される第1
    レジスタ、そのデータが置かれる主メモリのアド
    レス境界情報が保持される第2レジスタ、上記デ
    ータ長およびアドレス境界情報に基づいてメモリ
    アクセスの種類を決定する決定手段、このメモリ
    アクセスの種類に対応して次のメモリアドレスを
    計算するためのデータの生成に供されるメモリア
    ドレス計算データ生成手段、このメモリアドレス
    を計算するためのデータに基づいて上記第1およ
    び第2レジスタの内容を更新するための更新手
    段、およびメモリライト時にそのメモリライトの
    種類に対応して必要なデータを必要なバイト位置
    に出力するデータ整形手段を備えたデータ処理部
    と、 上記次のメモリアドレスを計算するためのデー
    タおよび前回のメモリアドレスに基づいて次のメ
    モリアクセスのためのメモリアドレスをアダーを
    用いて算出してメモリアドレスレジスタに設定す
    ると共に、メモリライト時には上記必要なバイト
    位置に出力されたライトデータをメモリデータレ
    ジスタに設定し、上記主メモリとの間で指定され
    たデータ長のデータのリード/ライト処理を行な
    うためのリード/ライト処理ルーチンを、BAL
    (Branch &Link)マイクロ命令により実行す
    る主制御部と、 を具備し、 上記決定手段は上記第1および第2レジスタの
    保持内容に基づいて上記データ処理部の処理終了
    を決定し、上記主制御部に対して上記リード/ラ
    イト処理ルーチンからメインルーチンに戻ること
    を指示するためのリターン信号を生成することを
    特徴とするデータ処理装置。 2 上記データ処理部は、上記BALマイクロ命
    令に先行して上記主制御部から発行され、上記デ
    ータ処理部の処理動作を指定するスタートマイク
    ロ命令が設定される第3レジスタと、この第3レ
    ジスタの保持内容に応じた制御動作を行なうナノ
    プログラム制御部とを備えていることを特徴とす
    る特許請求の範囲第1項記載のデータ処理装置。
JP56155188A 1981-09-30 1981-09-30 デ−タ処理装置 Granted JPS5856164A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP56155188A JPS5856164A (ja) 1981-09-30 1981-09-30 デ−タ処理装置
US06/421,310 US4502115A (en) 1981-09-30 1982-09-22 Data processing unit of a microprogram control system for variable length data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56155188A JPS5856164A (ja) 1981-09-30 1981-09-30 デ−タ処理装置

Publications (2)

Publication Number Publication Date
JPS5856164A JPS5856164A (ja) 1983-04-02
JPH0241053B2 true JPH0241053B2 (ja) 1990-09-14

Family

ID=15600405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56155188A Granted JPS5856164A (ja) 1981-09-30 1981-09-30 デ−タ処理装置

Country Status (2)

Country Link
US (1) US4502115A (ja)
JP (1) JPS5856164A (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59207481A (ja) * 1983-05-12 1984-11-24 Hitachi Ltd デ−タ処理装置
JPH0644245B2 (ja) * 1983-12-29 1994-06-08 富士通株式会社 ストアバッファ装置
US4663732A (en) * 1984-02-22 1987-05-05 Kla Instruments Corporation Apparatus for storing and retrieving data in predetermined multi-bit quantities containing fewer bits of data than word length quantities
KR900007564B1 (ko) * 1984-06-26 1990-10-15 모토로라 인코포레이티드 동적 버스를 갖는 데이터 처리기
US4761755A (en) * 1984-07-11 1988-08-02 Prime Computer, Inc. Data processing system and method having an improved arithmetic unit
JPS61165149A (ja) * 1984-12-17 1986-07-25 Fujitsu Ltd ム−ブ命令制御方式
JPS61221965A (ja) * 1985-03-28 1986-10-02 Nec Corp ベクトル・デ−タ処理装置
US4789957A (en) * 1986-03-28 1988-12-06 Texas Instruments Incorporated Status output for a bit slice ALU
US5165039A (en) * 1986-03-28 1992-11-17 Texas Instruments Incorporated Register file for bit slice processor with simultaneous accessing of plural memory array cells
US5243701A (en) * 1987-09-17 1993-09-07 Mitsubishi Denki Kabushiki Kaisha Method of and system for processing data having bit length variable with modes of operation
US5307474A (en) * 1987-09-30 1994-04-26 Mitsubishi Denki Kabushiki Kaisha Apparatus and method for processing literal operand computer instructions
US4933847A (en) * 1987-11-17 1990-06-12 International Business Machines Corporation Microcode branch based upon operand length and alignment
JPH0752405B2 (ja) * 1988-12-14 1995-06-05 日本電気株式会社 シングルチップマイクロコンピュータ
JPH02306338A (ja) * 1989-02-03 1990-12-19 Nec Corp マイクロプログラム制御装置
US5130797A (en) * 1989-02-27 1992-07-14 Mitsubishi Denki Kabushiki Kaisha Digital signal processing system for parallel processing of subsampled data
JPH04220826A (ja) * 1990-12-20 1992-08-11 Fujitsu Ltd 転送データ格納方式
US5386531A (en) * 1991-05-15 1995-01-31 International Business Machines Corporation Computer system accelerator for multi-word cross-boundary storage access
JPH05210573A (ja) * 1992-01-31 1993-08-20 Fujitsu Ltd アドレス生成方法
US5649127A (en) * 1994-05-04 1997-07-15 Samsung Semiconductor, Inc. Method and apparatus for packing digital data
WO1996019809A2 (en) * 1994-12-20 1996-06-27 Philips Electronics N.V. Method of and device for writing and reading data items in a memory system
US5737547A (en) * 1995-06-07 1998-04-07 Microunity Systems Engineering, Inc. System for placing entries of an outstanding processor request into a free pool after the request is accepted by a corresponding peripheral device
US5991849A (en) * 1996-04-10 1999-11-23 Sanyo Electric Co., Ltd Rewriting protection of a size varying first region of a reprogrammable non-volatile memory
JP3658101B2 (ja) * 1996-09-13 2005-06-08 株式会社ルネサステクノロジ データ処理装置
US6128718A (en) * 1997-08-28 2000-10-03 Intel Corporation Apparatus and method for a base address register on a computer peripheral device supporting configuration and testing of address space size
KR100266696B1 (ko) * 1998-06-03 2000-09-15 김영환 직렬 통신 인터페이스 회로

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51101435A (ja) * 1975-03-04 1976-09-07 Hitachi Ltd
JPS5319728A (en) * 1976-08-06 1978-02-23 Fujitsu Ltd Data treansfer processing system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
UST843614I4 (ja) * 1969-07-22

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51101435A (ja) * 1975-03-04 1976-09-07 Hitachi Ltd
JPS5319728A (en) * 1976-08-06 1978-02-23 Fujitsu Ltd Data treansfer processing system

Also Published As

Publication number Publication date
JPS5856164A (ja) 1983-04-02
US4502115A (en) 1985-02-26

Similar Documents

Publication Publication Date Title
JPH0241053B2 (ja)
KR940009094B1 (ko) 데이타처리 시스템
JPH0248931B2 (ja)
US3958221A (en) Method and apparatus for locating effective operand of an instruction
JPS62197830A (ja) デ−タ処理システム
JPH04233640A (ja) メモリ拡張スキームを切り替える疑似直線バンクを有するマイクロコントローラ
JPH06332695A (ja) データ処理装置及びその制御回路
JPH059816B2 (ja)
JPH027097B2 (ja)
JPS6049340B2 (ja) 分岐命令先取り方式
JPS6137654B2 (ja)
JPS6355636A (ja) デ−タ処理システム
JP2619425B2 (ja) シーケンスコントローラ
JPH0452986B2 (ja)
JPS6112579B2 (ja)
JPS6221131B2 (ja)
JPH01255933A (ja) 掃出し制御方式
JPS6126089B2 (ja)
JP3024410B2 (ja) プログラマブルコントローラ
JPH02138623A (ja) ポインタレジスタを備えたマイクロプログラム制御方式のマイクロプロセッサ
JPS603656B2 (ja) 計算機のメモリ拡張方式
JPS6027418B2 (ja) 命令先取り制御装置
JPH0239812B2 (ja)
JPS6263340A (ja) アドレス変換回路
JPH01156850A (ja) 情報処理装置