JP2954671B2 - メモリ管理用制御装置 - Google Patents

メモリ管理用制御装置

Info

Publication number
JP2954671B2
JP2954671B2 JP18825990A JP18825990A JP2954671B2 JP 2954671 B2 JP2954671 B2 JP 2954671B2 JP 18825990 A JP18825990 A JP 18825990A JP 18825990 A JP18825990 A JP 18825990A JP 2954671 B2 JP2954671 B2 JP 2954671B2
Authority
JP
Japan
Prior art keywords
memory
access
data
repetition
circuit
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
JP18825990A
Other languages
English (en)
Other versions
JPH0474237A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP18825990A priority Critical patent/JP2954671B2/ja
Publication of JPH0474237A publication Critical patent/JPH0474237A/ja
Application granted granted Critical
Publication of JP2954671B2 publication Critical patent/JP2954671B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 [目 次] 概要 産業上の利用分野 従来の技術(第11〜20図) 発明が解決しようとする課題(第11〜20図) 課題を解決するための手段(第1図) 作 用(第1図) 実施例(第2〜10図) 発明の効果 [概 要] 大容量・小容量あるいは高速・低速等の種々のメモリ
を管理し制御するためのメモリ管理用制御装置に関し、 種々のメモリ中に存在するデータに対する外部アクセ
スについてのメモリ管理機能および高速汎用処理を実現
するためのプロセッサ機能を内蔵させることにより、処
理量を少なくして処理速度の高速化をはかれるようにす
ることを目的とし、 内部処理クロックで動作することにより、管理すべき
メモリを要求するための外部アクセス要求の調停動作と
内部処理サイクルとを並列化する調整回路と、調整回路
の出力として得られるアクセス要求から所望のアクセス
サイクルを決定してメモリのための制御線へ出力するメ
モリアクセス制御回路と、内部プログラム動作に基づく
処理を外部アクセスに基づく処理と平行して行なうよう
制御するマイクロプログラム制御回路と、マイクロプロ
グラム制御回路と協働してメモリ間のアドレスバスおよ
びデータバスの交換を行なうバス制御回路とをそなえる
ように構成する。
[産業上の利用分野] 本発明は、大容量・小容量あるいは高速・低速等の種
々のメモリを管理し制御するためのメモリ管理用制御装
置に関する。
一般的なプロセッサ構成方式では、データバスおよび
アドレスバスをそれぞれ1本ずつそなえているものが多
い。この構成ではプログラムコードを格納するメモリと
データを格納するためのメモリとが同一のバス上に接続
されているため、プログラムコードのフェッチ(獲得)
動作とデータアクセス動作とを同時に行なうことができ
ないのが一般的である。
また、ディジタル信号処理専用プロセッサ(DSP)な
どでは、プログラムメモリとデータメモリとを別々のバ
スとして、処理のパイプライン化を実現しているものも
あるが、メモリ・メモリ間の転送に関しては、一度プロ
セッサ内のレジスタに記憶しておき、その後他のアドレ
スのメモリに転送するという処理を行なわなければなら
ない。
[従来の技術] 以下、メモリ管理制御を含むプロセッサ構成方式につ
いての説明を行なう。
(1)プロセッサ構成方式について 従来の一般的なプロセッサ構成方式では、プロセッサ
に、データ・アドレスバスを介してメモリが接続されて
おり、上記のバスを経由してプログラムコードの獲得
(フェッチ)やデータの読み書きを行なうようになって
いる(第12図参照)。
また、第11図に示すように、特殊目的のパイプライン
処理を実現するものでは、プログラム用のアドレスバス
111とデータバス112とを分離させて設け、これらのバス
111,112を介して、高速プロセッサ110とメモリ113,114,
その他の入出力装置115とが接続されている。
ところで、メモリ114のある部分から別の部分へデー
タを転送する処理を行なう場合を考えると、第13図に示
すように、データ保存用のメモリ114は単一であること
から、プロセッサ110の内部レジスタ(記憶装置)110a
に一度記憶し、それを別なメモリへ転送している。
(2)メモリ管理LSIの構成方法について 従来のメモリ管理制御装置としてのメモリ管理LSIの
構成方法を第14図(a)に示す。この第14図(a)の構
成は、通常、描画処理等の応用に使用されるメモリ管理
LSIの例であり、このメモリ管理LSI140は上位CPU141に
外部バス142を介して接続されており、更にこのメモリ
管理LSI140にはメモリ143が接続されている。
このような構成により、上位CPU141からのメモリアク
セス制御やリフレッシュ等の制御およびメモリ143に対
するいくつかの処理を実行することができるが、メモリ
管理LSIでの機能が単機能であるため、第14図(b)に
示すように、メモリ管理LSI140での処理を行なった前又
は後に、上位CPU141からのアクセスによる処理が行なわ
れる。
(3)メモリアクセス方式について 従来技術によるメモリアクセス制御の方法を第15図に
示す。
この第15図に示すものでは、プロセッサ150が複数種
(3種)のメモリ151,152,153(メモリ151が高速メモ
リ,メモリ152が中速メモリ,メモリ153が低速メモリ)
にアクセスできるようになっているが、このために、プ
ロセッサ150とメモリ151,152,153との間に、それぞれア
クセス制御回路154,155,156が介装されている。
そして、例えばプロセッサ150がメモリ151〜153に対
してそれぞれアクセスを要求する場合には、メモリ151
〜153にそれぞれ対応したアクセス制御回路154〜156に
よりアクセスサイクルを確保するためのREADY信号がプ
ロセッサ150に対して送出されるようになっている。
なお、従来のメモリアクセス方式では、低速メモリ15
3にアクセスする場合は、アクセスサイクルを引き延ば
すためにメモリに対する遅延制御信号(READY,ACK)を
インアクティブにすることにより、メモリに対するアク
セスタイミングを確保するという方式が一般的である。
(4)アクセス調停方式について 次に、従来のアクセス非同期プロセス間の調停方式に
ついて説明する。第16図(a)は従来のアクセス調停用
の回路を示すブロック図であるが、この第16図(a)に
示す回路は、調停動作の同期をとるための2段のフリッ
プフロップ回路160,161間に、アクセス優先度を考慮し
たアクセス要求選択回路162が存在する構成となってい
る。
なお、この調停回路は、1マシンサイクルとは異なる
例えば20MHzクロックCLKで動作する[第17図(a),
(b)参照]。
また、アクセス調停部により調停されたアクセス要求
信号は後続のアクセスサイクル制御部(メモリアクセス
制御回路)へ渡され個々のメモリへの制御信号の生成を
行なうことになる。
なお、調停動作とメモリアクセス動作(MC;マイクロ
プログラムコード)とは第16図(b)に示すように従属
処理となっている。
(5)繰り返し命令制御方式について 従来のプログラム制御プロセッサにおける繰り返し命
令制御方式は、カウンタのデクリメントと条件ジャンプ
の組合せで実現するものである。即ち、第18図に示すよ
うに、ステップa1で、ループ内処理(例えば転送命令)
を施した後、カウンタデクリメント処理(ステップa2)
を経て終了条件判定およびジャンプ命令処理(ステップ
a3)を行なっている。
(6)2次元アドレスカウンタ方式について 従来のメモリ構成に関する2次元データ配列アクセス
では、第19図に示すように、X方向のデータ数をアドレ
スカウンタ190に加算し、実際にアドレス計算図191を用
いてアドレスを計算しながら、アクセスすることによ
り、2次元データメモリ192を構成している。
(7)ヒストグラムカウンタ構成方式について 文字認識等では、まず読み込んだ2値画像に対する切
り出し処理を行なうことが一般的である。
この場合、2値イメージに対する水平および垂直ヒス
トグラムをパラメータとして処理を進めることが多い。
そして、推定ヒストグラムの抽出は表引きにより比較的
簡単に実現できる。
これに対して、垂直ヒストグラムの抽出を通常のプロ
セッサで実現する場合には、データ毎に水平シフトおよ
びその結果によるヒストグラムカウントのカウント動作
を行なわなければならない。この処理は単なるデータの
処理に比べ数倍から十数倍の処理量となってしまう。
(8)パイプラインプロセッサの実現方式について 従来の高速汎用プロセッサ構成方式では、プロセッサ
本体であるプログラム制御部とメモリ等の外部アクセス
制御部とを独立させて構成する方法を取っている。かか
る構成方法を第20図に示す。
すなわち、マルチプロセッサシステムにおいては、個
々のプロセッサ200−1,200−2,200−3は外部プロセッ
サ201との調停回路202−1,202−2,202−3およびメモリ
203−1,203−2,203−3をアクセスするためのメモリア
クセス制御回路204−1,204−2,204−3をそなえてい
る。
[発明が解決しようとする課題] しかしながら、上記の従来のものでは、それぞれ次の
ような問題点がある。
(1)プロセッサ構成方式について 即ち、第11図に示す特殊目的のパイプライン処理を実
現するものでは、データメモリ114のある部分から別の
部分へデータを転送する処理を行なう場合、第13図に示
すように、データ保存用のメモリ114は単一であること
から、プロセッサ110の内部レジスタ(記憶装置)110a
に一度記憶し、それを別なメモリへ転送しており、これ
により転送処理を行なうたびに、2つの処理を行なう必
要があるため、全体として処理量が増えてしまう。
(2)メモリ管理LSIの構成方法について しかしながら、第14図(a)に示す従来のメモリ管理
LSIの構成方法では、メモリ管理LSIでの機能が単機能で
あるため、第14図(b)に示すように、メモリ管理LSI1
40での処理を行なった前又は後にしか、上位CPU141から
のアクセスによる処理を行なうことができず、例えば、
メモリ管理LSI140での調停処理を行なわない描画塗りつ
ぶし等の処理実行中は、上位CPU141からのアクセスは拒
絶されるのである。即ち、従来の構成では、メモリ管理
LSIで処理を行ないながら上位CPU141で同じメモリ143内
のデータに対する処理を平行して進めることはできない
のである。
(3)メモリアクセス方式について 上述のように第15図に示す従来のメモリアクセス方式
では、低速メモリ153にアクセスする場合は、アクセス
サイクルを引き延ばすためにメモリに対する遅延制御信
号(READY,ACK)をインアクティブにすることにより、
メモリに対するアクセスタイミングを確保するという方
式が一般的であるので、全体の動作が十分に低速な場合
には、実現可能であるが、高速なメモリをアクセスサイ
クルの限界近くで使用する場合には、READY信号を生成
する回路(アクセス制御回路)で発生する遅延時間が無
視できなくなり実用的ではない。
また、アクセスサイクルの異なるメモリを複数接続す
るような場合には、各々のメモリに対するREADY信号生
成回路(アクセス制御回路)を構成しなければならなく
なり、これにより回路規模の増大を招く。
さらに、アクセス制御回路で生成される(READY,AC
K)信号は基本的にメモリのアクセス規格値を満足する
ためのタイマとしての働きしかなく、なんらデータの確
認機能を有しているわけではない。
(4)アクセス調停方式について 上記のように調停動作とメモリアクセス動作とは従属
処理となっているので、調停機能を実現するためには、
全体としてのマシンサイクル(処理速度)が遅くなると
いう問題を生じていた。
すなわち、従来はフリップフロップ回路160,161を単
なるクロックCLKで動作させていたため、調停動作が終
了したのち、後続の制御信号を生成するアクセス制御回
路が動作し、このため調停部分とアクセス制御部との同
期が取れず、調停動作とアクセス制御部の動作が従属と
なって、これが処理速度の限界となっているのである
[第16図(b),第17図(a),(b)参照]。
(5)繰り返し命令制御方式について 上記のように従来の繰り返し命令制御方式では、どん
な短いルーブ内処理命令を繰り返しループ内で処理する
にしても、第18図に示すように、カウンタのデクリメン
ト命令と終了条件判定およびジャンプ命令を省くことが
できず、従ってこれらの繰り返し制御命令(第18図のス
テップa2,a3参照)のために、処理速度の高速化をはか
ることが難しくなっている。これは、メモリ間転送のよ
うな短い命令の繰り返しの場合に、特に致命的なものと
なる。
また、パイプライン処理等では、プロセッサでの処理
と命令コードのフェッチが平行して処理されるが、ジャ
ンプ命令に関しては飛び先が決定していないため、パイ
プライン処理中に無効な処理が生じてしまうという問題
を含むことにもなる。
(6)2次元アドレスカウンタ方式について 従来のメモリ構成に関する2次元データ配列アクセス
では、上述のようにX方向のデータ数をアドレスカウン
タに加算し、実際にアドレス計算図を用いてアドレスを
計算しながら、アクセスすることにより、2次元データ
メモリを構成しているので、メモリ中の2次元データを
Y方向へ向かって連続してアクセスするような場合に
は、1データアクセスする毎に、X方向のデータ長をア
ドレスカウンタに加算するという処理が必要である。
このため、マイクロプログラム制御による並列動作を
行なっていても、Y方向の連続アクセスのためには、ア
ドレスカウンタ更新のための処理が必要になり、これが
高速化を阻止する理由となっている。
(7)ヒストグラムカウンタ構成方式について 上記のように垂直ヒストグラムの抽出を通常のプロセ
ッサで実現する場合には、データ毎に水平シフトおよび
その結果によるヒストグラムカウンタのカウント動作を
行なわなければならないので、これが単なるデータの処
理に比べ数倍から十数倍の処理量となってしまい、これ
により処理量の大幅な増大を招く。
(8)パイプラインプロセッサの実現方式について 従来の高速汎用プロセッサ構成方式では、上記のよう
なプロセッサ本体であるプログラム制御部とメモリ等の
外部アクセス制御部とは独立して構成する方法を取って
いるので、各プロセッサ毎に回路規模が大きくなり、ま
た信号遅延等により処理速度の限界をきたすものであ
る。
本発明は、上記のような種々の問題点に鑑み創案され
たもので、種々のメモリ中に存在するデータに対する外
部アクセスについてのメモリ管理機能および高速汎用処
理を実現するためのプロセッサ機能を内蔵させることに
より、処理量を少なくして処理速度の高速化をはかれる
ようにした、メモリ管理用制御装置を提供することを目
的としている。
[課題を解決するための手段] 第1図は本発明の原理ブロック図である。
この第1図において、1は調整回路で、この調整回路
1は、内部処理クロックで動作することにより、管理す
べきメモリを要求するための外部アクセス要求の調停動
作と内部処理サイクルとを並列化するものである。
ここで、この調整回路1は、内部処理クロックと同期
して動作すべく構成されている。
2はメモリアクセス制御回路で、このメモリアクセス
制御回路2は、調整回路1の出力として得られるアクセ
ス要求から所望のアクセスサイクルを決定してメモリ3
−1,3−2,3−3のための制御線へ出力するものである。
ここで、メモリアクセス制御回路2は、アクセス要求
をされたメモリ3−iのうち最も遅いメモリに適合した
アクセスサイクルを決定して出力すべく構成されてい
る。
また、管理すべきメモリとしては、少なくとも次の3
種のメモリが使用される。即ち、入力データを記憶する
入力メモリ3−1,出力データを記憶する出力メモリ3−
2およびプログラムを保存するとともに作業領域を確保
するプログラム/作業メモリ3−3である。
4はマイクロプログラム制御回路で、このマイクロプ
ログラム制御回路4は、内部プログラム動作に基づく処
理を外部アクセスに基づく処理と平行して行なうよう制
御するものである。
5はバス制御回路で、このバス制御回路5は、マイク
ロプログラム制御回路4と協働して、メモリ3−1,3−
2,3−3間のアドレスバスおよびデータバスの交換を行
なうものである。
なお、各メモリ3−i(i=1,2,3)につい、アドレ
スバスおよびデータバスが独立して設けられて、これら
のアドレスバスおよびデータバスが独立したメモリ3−
iをマイクロプログラム制御回路4で制御するようにな
っている。
6はプログラム動作中のループ動作を高速化するため
の繰り返し命令制御回路で、この繰り返し命令制御回路
6は、繰り返し命令ブロックの開始点を記憶する繰り返
し開始アドレスレジスタと、繰り返し命令ブロックの終
了点を記憶する繰り返し終了アドレスレジスタと、繰り
返し命令ブロックの繰り返し回数を記憶する繰り返し回
数カウントレジスタと、繰り返し命令処理中の命令番地
をカウントする繰り返し命令カウンタと繰り返し命令ブ
ロック内の命令を保存するための繰り返し命令保存メモ
リとをそなえて構成されている。
また、複数次元データに対するアドレス制御を行なう
べく、メモリ3−iのアクセス時に使用するアドレスレ
ジスタと、複数次元データの互いに異なる各方向につい
てそれぞれ独立にカウントしうる回路を有するカウント
制御回路とがマイクロプログラム制御回路4に設けられ
ている。
7はヒストグラムカウンタ回路で、このヒストグラム
カウンタ回路7は、内部データバス上のデータに対して
ヒストグラムをカウントするものである。
[作 用] 上述の本発明のメモリ管理用制御装置では、調整回路
1で、内部処理クロックで動作することにより、管理す
べきメモリを要求するための外部アクセス要求の調停動
作と内部処理サイクルとを並列化する調整が行なわれ
る。このとき調整回路1は、内部処理クロックと同期し
て動作する。
また、メモリアクセス制御回路2が、調整回路1の出
力として得られるアクセス要求から所望のアクセスサイ
クルを決定してメモリ3−1,3−2,3−3のための制御線
へ出力する。このときメモリアクセス制御回路2は、ア
クセス要求をされたメモリ3−iのうち最も遅いメモリ
に適合したアクセスサイクルを決定して出力する。
さらに、マイクロプログラム制御回路4では、内部プ
ログラム動作に基づく処理を外部アクセスに基づく処理
と平行して行なっており、更にバス制御回路5が、マイ
クロプログラム制御回路4と協働して、メモリ3−1,3
−2,3−3間のアドレスバスおよびデータバスの交換を
行なう。
このとき、アドレスバスおよびデータバスが独立した
メモリ3−iをマイクロプログラム制御回路4で制御し
ている。
もし、プログラム動作中にループ動作がある場合は、
繰り返し命令制御回路6にて次のような動作が行なわれ
る。
すなわち、まず繰り返し命令を実行する前に、繰り返
し回数および繰り返し開始点アドレスを設定し、ついで
1回目のルーブ動作をプログラムメモリ3−2にフェッ
チを行ないながら進めるが、このとき同時にプログラム
コードの内容を繰り返し命令保存メモリに保存しながら
処理を進める。また、繰り返し命令の終了部分には、繰
り返し命令の終了を設定する命令を格納しておく。かか
る命令を実行すると、繰り返し命令の終了アドレスが繰
り返し終了アドレスレジスタに書き込まれる。2回目以
降の繰り返し処理は繰り返し命令保存メモリの内容を参
照しながら進む。このとき繰り返し命令カウンタは繰り
返し開始レジスタの値から始まり繰り返し終了アドレス
レジスタの間を周期的にカウントする。すなわち、終了
アドレスと同じ値になると、繰り返し命令カウンタに繰
り返し開始アドレスレジスタの内容をコピーする。ま
た、このとき同時に繰り返し回数カウントレジスタの値
を1だけデクリメントする。
繰り返し命令処理の終了は繰り返し命令カウントレジ
スタの値が0になることによって検出し、繰り返し命令
ブロック以下の命令処理へと進む。
上記のような処理内容によって、繰り返し命令を処理
することにより、繰り返し命令処理中に繰り返し終了条
件の判定処理を入れることなく、高速な繰り返し処理を
行なうことができる。
また、複数次元データに対するアドレス制御に際して
は、カウント制御回路によって、複数次元データの互い
に異なる各方向についてそれぞれ独立にカウントしなが
ら、複数次元データに対するアドレス制御を実行する。
さらに、ヒストグラムのカウントに際しては、ヒスト
グラムカウンタ回路7によって、内部データバス上のデ
ータに対してヒストグラムをカウントすることが行なわ
れる。
[実施例] 以下、図面を参照して本発明の実施例を説明する。
第2図は本発明の一実施例を示すブロック図で、この
第2図において、20はメモリ管理用制御装置としてのメ
モリ管理LSIで、このメモリ管理LSI20には、2次元デー
タ保存用の大容量メモリ(入力メモリ)3−1,処理結果
の転送先としての出力メモリ3−2,メモリ管理LSI20の
マイクロプログラム保存および作業領域用のメモリ(プ
ログラム/作業メモリ)3−3が接続されるとともに、
汎用処理を行なうための外部入出力装置21が接続されて
いる。
また、このメモリ管理LSI20は、データおよび制御コ
マンド通信のためのデータおよびアドレス用のバス22を
介して上位CPU23にも接続されている。
ところで、メモリ管理LSI20の構成概要を第3図に示
す。すなわち、このメモリ管理LSI20は、メモリアクセ
ス制御機能およびメモリアクセス調停機能を具備すると
共に、自らもマイクロプログラムシーケンスに従ってメ
モリ間転送、算術・論理演算、アドレス制御、ジャンプ
等の処理を主プロセッサからの外部アクセスと平行して
処理することを可能とするもので、このために、このメ
モリ管理LSI20は、調停回路(調整回路)1,メモリアク
セス回路2,マイクロプログラム制御回路4,バス制御回路
5,繰り返し命令制御回路6,ヒストグラムカウンタ回路7
をそなえて構成されている。
ここで、この調停回路1は、内部アクセスサイクルと
管理すべきメモリ3−iを要求するための外部アクセス
要求との調停を行なうものである。すなわち、この調停
回路1は、内部処理クロックで動作することにより、内
部処理サイクルと管理すべきメモリ3−iを要求するた
めの外部アクセス要求の調停動作とを並列化する調整回
路として機能するものである。更にこのアクセス調停回
路は、メモリ管理LSI20の中でのプログラム処理(メモ
リ転送、判定、ジャンプ等)と、本来のメモリ管理機能
であるDRAMのリフレッシュ機能および外部CPU23からの
アクセスを調停し、各々のサイクル間の相互関係を排除
して、独立な動作を確認するために必要な回路でもあ
る。
さらに、従来アクセス調停を行なう場合には、アクセ
ス要求が発生した後、調停動作を行ない、その後実際の
アスセスサイクル動作に入っていたが、本発明による調
停回路1では、外部アクセス要求の調停動作と内部処理
用のクロックとを同一化すること[内部処理クロック
(マシンサイクル)MCLKと同期して動作させること]
で、外部アクセス要求の調停動作と内部処理サイクルと
を並列(パイプライン)化し、一つのサイクルの短縮を
実現すると共に調停動作を確実なものとしている。
具体的な構成および動作の概要を第4,5図により説明
する。
まず、この調停回路1は、第4図に示すように、調停
処理を同期化するためのフリップフロップ回路1−1,1
−2とは優先度付きアクセス要求選択回路1−3とをそ
なえており、第1段フリップフロップ回路1−1により
同期化された要求信号は、現在の選択状態を保存するフ
リップフロップ回路1−2の出力値を参照しながらアク
セス権の獲得動作を処理していくのである。
ところで、この調停回路1は、上記のように内部処理
クロックMCLKと同期して動作しているので、第5図に示
すように、調停動作[第5図(b)の「調停」と記載さ
れている部分参照]と内部処理サイクル[第5図(a)
の「MC(マイクロプログラムコード)」と記載されてい
る部分参照]とを並列(パイプライン)化することがで
き、これにより一つのサイクルの短縮を実現すると共
に、調整動作を確実なものにすることができるのであ
る。
すなわち、この調停回路1を用いることにより、外部
のプロセッサ等からの非同期な配下メモリへのアクセス
要求に対するアクセス調停を行なうと共に、アクセスの
スループットの向上を達成することができ、これにより
調停処理とメモリアクセス動作をパイプライン化する機
能を持たせることができる。
メモリアクセス制御回路2は、調停回路1の出力とし
て得られるアクセス要求から所望のアクセスサイクルを
決定してメモリ3−1,3−2,3−3のための制御線へ出力
するものであるが、更にこのメモリアクセス制御回路2
は、アクセス要求をされたメモリ3−iのうち最も遅い
メモリに適合したアクセスサイクルを決定して出力すべ
く構成されている。
なお、管理すべきメモリとしては、上記のように入力
データを記憶する入力メモリ3−1,出力データを記憶す
る出力メモリ3−2およびプログラムを保存するととも
に作業領域を確保するプログラム/作業メモリ3−3が
使用されるが、これらのメモリにおいて、アクセスサイ
クルは、プログラム/作業メモリ3−3(100nsec),
出力メモリ3−2(150nsec),入力メモリ3−1(300
nsec)の順に速い。
さらに、このメモリアクセス制御回路2は、調停回路
1の出力として得られるアクセス要求からアクセスサイ
クルを決定するアクセスサイクル決定回路2−1と、こ
のアクセスサイクル決定回路2−1でのアクセスサイク
ルの決定を受けて多種のアクセスサイクルを生成するア
クセスサイクル生成回路2−2とを有しているが、この
メモリアクセス制御回路2を更に詳細に示すと、第6図
のようになる。
この第6図からも分かるように、アクセスサイクル決
定回路2−1は、アクセス要求を受ける3つのゲート回
路2−1−1〜2−1−3と、これらのゲート回路2−
1−1〜2−1−3からの出力を比較して最も遅いメモ
リに適合したアクセスサイクルを決定する比較器2−1
−4とをそなえている。
また、アクセスサイクル生成回路2−2は、5つのフ
リップフロップ2−2−1〜2−2−5と、フリップフ
ロップ間に設けられる4つのゲート回路2−2−6〜2
−2−9とをそなえている。このような構成により、ア
クセスサイクル生成回路2−2は可変機能を持つ。
そして、このような構成のアクセスサイクル生成回路
2−2からはマシンクロックMCLKが出力されるが、更に
マシンクロックMCLKはスタート信号STARTを一方の入力
とするゲート回路2−3を経由することによりプログラ
ムクロックPCLKとして出力されるようになっている。な
お、このプログラムクロックPCLKは、マシンクロックMC
LKと同じものであるが、スタート信号STARTが入らない
と出ない。
なお、第6図において、CLKはマシンサイクルクロッ
クの基になる20MHzのクロック、CLRはクリア信号であ
る。
このような構成により、プログラムフェッチおよびデ
ータ転送等によりメモリに対するアクセス要求が複数同
時に発生すると、選択されたメモリの中で最もアクセス
サイクルの遅いものに合わせて他のメモリに対するアク
セスサイクルが伸長される。
このようにアクセス速度、アクセス手順および容量等
の異なる複数のメモリに対するアクセス制御をメモリ選
択状態に従って、リアルタイムで制御することにより、
高速,低速あるいはDRAMの混在する環境下でも、効率の
よいメモリの制御を行なうことができる。
さらに、マイクロプログラム制御回路4は、内部プロ
グラム動作に基づく処理を外部アクセスに基づく処理と
平行して行なうよう制御するもので、バス制御回路5
は、マイクロプログラム制御回路4と協働して、メモリ
3−1,3−2,3−3間のアドレスバスおよびデータバスの
交換を行なうものである。
なお、各メモリ3−i(i=1,2,3)については、ア
ドレスバスおよびデータバスが独立して設けられてお
り、これらのアドレスバスおよびデータバスが独立した
メモリ3−iをマイクロプログラム制御回路4で制御す
るようになっている。
このようなデータバスおよびアドレスバスの独立した
複数のメモリ(3個)をプロセッサの制御下に置くこと
により、プログラムフェッチとメモリ間でのテータ転
送、算術・論理演算、アドレス制御、ジャンプ等を並列
して高速に実行することができる 繰り返し命令制御回路6は、プログラム動作中のルー
プ動作を高速化するためのもので、このために、この繰
り返し命令制御回路6は、繰り返し命令ブロックの開始
点を記憶する繰り返し開始アドレスレジスタ6−1と、
繰り返し命令ブロックの終了点を記憶する繰り返し終了
アドレスレジスタ6−2と、繰り返し命令ブロックの繰
り返し回数を記憶する繰り返し回数カウントレジスタ
(繰り返し回数カウンタ)6−3と、繰り返し命令処理
中の命令番地をカウントする繰り返し命令カウンタ(プ
ログラムカウンタ)6−4と繰り返し命令ブロック内の
命令を保存するための繰り返し命令保存メモリ6−5
と、ループ数が所定値になったかどうかをカウントする
ループカウンタ6−6とをそなえて構成されている。
このような構成により、この動作は次のようになる。
すなわち、繰り返し命令を実行する前には繰り返し回数
および繰り返し開始点アドレスを設定する。
次に、1回目のループ動作をプログラムメモリ3−3
にフェッチを行ないながら進めるが、このとき同時にプ
ログラムコードの内容を繰り返し命令保存メモリ6−5
に保存しながら処理を進め、繰り返し命令の終了部分に
は繰り返し命令の終了を設定する命令を格納しておく。
そして、この命令を実行すると、繰り返し命令の終了
アドレスが繰り返し終了アドレスレジスタ6−2へ書き
込まれる。
2回目以降の繰り返し処理は繰り返し命令保存メモリ
6−5の内容を参照しながら進む。このとき繰り返し命
令カウンタ6−4は繰り返し開始アドレスレジスタ6−
1の値から始まり繰り返し終了アドレスレジスタ6−2
の間を周期的にカウントする。
すなわち、終了アドレスと同じ値になると繰り返し命
令カウンタ6−4に繰り返し開始アドレスレジスタ6−
1の内容をコピーする。
また、このとき同時に繰り返し回数カウントレジスタ
6−3の値を1だけデクリメントする。
繰り返し命令処理の終了は、繰り返し命令カウンタ6
−4の値が0になったことをループカウンタ6−6で検
出し、この検出後に繰り返し命令ブロック以下の命令処
理へと進む。
上記のような処理内容により繰り返し命令を処理する
ことにより、繰り返し命令処理中に繰り返し終了条件の
判定処理を入れることなく、即ち繰り返し処理のマイク
ロプログラムコードのフェッチに関して繰り返し開始ア
ドレスレジスタ6−1および繰り返し終了アドレスレジ
スタ6−2を配置することにより、ループカウント動作
およびジャンプ動作をなくすことができ、これにより高
速な繰り返し処理を行なうことができる。
また、2次元データに対するアドレス制御を行なうべ
く、メモリ3−iのアクセス時に使用するアドレスレジ
スタと、2次元データの互いに異なる各方向(X,Y方
向)についてそれぞれ独立にカウントしうる回路を有す
るカウント制御回路とがマイクロプログラム制御回路4
に設けられている。
すなわち、本発明による2次元イメージデータアクセ
スの方法を第8図に示す。ここではイメージメモリのX
方向のデータ長が2のべき乗の場合のみを考慮してい
る。
また、各種のX方向のデータ長に対応するためにX方
向データ長はカウンタの構成により数種の選択が可能で
ある。
この第8図において、3−iはアクセス対象となるメ
モリ、80はバイト(ワード)アドレスカウンタ、81はY
方向のアドレスカウンタ、82はX方向のアドレスカウン
タ、83はクロック入力の可変なカウンタ、84はX方向の
データ長保存のためのレジスタである。
以下に、この回路を使った2次元メモリアクセスのメ
カニズムについて説明する。
X方向のデータ長は2のべき乗であるため、カウンタ
のカウントアップおよびカウントダウンのクロック入力
点が変更できるようなカウンタ83をX方向のデータ長の
変化分に対応するところへ使用する。このカウンタ83へ
のカウントロックは前もって設定されているX方向デー
タ長設定レジスタ84によって選択されたカウント部分へ
加えられる。
X方向のカウントについてはXアドレスレジスタの最
下位ビットへのカウントクロックの入力により実現でき
る。Y方向のアドレスカウンタ81のカウントは上記クロ
ック入力場所の可変なカウンタ部分に設定レジスタで選
択されたクロック入力場所にクロックを入力することで
実現が可能である。
このようにして、本発明による2次元メモリアクセス
方法は、前もってX方向のデータ長を選択しておけば、
X方向およびY方向に関するカウントアップおよびカウ
ントダウンを1マシンサイクルで実現することができ
る。
さらに、本発明のメモリ管理LSI20では、マイクロコ
ード中にこのアドレスのアップおよびダウン命令ビット
を設定しておき、他の通常の転送、算術演算命令を行な
いながら、アドレスカウンタのアップおよびダウンが可
能な構成となっている。
上記のようにメモリアクセス時に使用するアドレスレ
ジスタのカウント制御をX,Y独立にカウントできるよう
な回路80(81〜83)を付加することにより、2次元イメ
ージデータに対するアドレス制御を高速かつ容易実行す
ることができるのである。
ヒストグラムカウンタ回路7は、内部バス上の転送動
作中のバスデータに対して垂直ヒスクグラムをカウント
するもので、第9図に示すように、メモリ管理LSI20の
内部データバスのデータ線それぞれ毎にヒストグラムカ
ウンタ7−0〜7−15が接続されている。そして、各ヒ
ストグラムカウンタ7−0〜7−15のカウントイネーブ
ル信号をデータ線で制御し、カウントクロックをマシン
クロックで制御することにより、またアドレスカウンタ
をY方向に1アドレスずつ更新していく処理を行なうこ
とにより、垂直ヒストグラムカウントを計算することが
できるようになっている。
このようにすれば、特に2値イメージ処理に関して頻
繁に使用するヒストグラムのカウントをデータ転送と同
時に行なうことができるので、従来のように垂直ヒスト
グラムの抽出を通常のプロセッサで実現する場合に、デ
ータ毎に水平シフトおよびその結果によるヒストグラム
カウンタのカウント動作を行なうひつようがなくなり、
これにより、処理量の大幅な削減が可能になる。
そして、上記のような構成のメモリ管理LSI20は、次
のようなメカニズムで処理を行なう。
上位CPU23から先ず初期設定(動作モード等)がなさ
れると、つぎに処理内容を記述したマイクロプログラム
コードをプログラムメモリ3−3に転送する。
その後は、処理対象となる2次元もしくは1次元デー
タを大容量メモリ3−1に入力データとして転送し、更
にその後にこのメモリ管理LSI20に対し適当なパラメー
タと共に起動をかける。
このようにしてこのメモリ管理LSI20が処理を始める
と、プログラムメモリ3−3からマイクロプログラムコ
ードを読み込みながら、入力メモリ3−1のデータに対
し作業領域のメモリ3−3を使いながら処理を行なう。
また、大量のデータをメモリ間で転送する場合には、
プログラムコードの読み込みおよび出力メモリ3−3か
らのデータの読み出しおよび入力メモリ3−1へのデー
タの書き込みを同時に実行する。これにより、複数メモ
リ使用による高速化を実現することができる。
ところで、このメモリ管理LSI20は同時に3個のメモ
リ3−1〜3−3または4個以上のメモリを管理するこ
とができ、このとき、プログラムメモリ以外のメモリが
2個または3個以上存在するため、第10図に示すよう
に、これらを入力および出力データ用のメモリとして双
方向の読み書きが可能なメモリ(デュアルポートRAM)
3−12を使用することで、容易にパイプライン処理を構
成することができる。
なお、第10図に示す各メモリ管理LSI20は、上記のメ
モリアクセス方法、アクセス調停方法、繰り返し命令処
理方式および2次元アドレスカウンタ制御方式を具備す
ると共に、DRAM制御のためのリフレッシュ制御回路およ
びアドレスマルチプレックス回路等を有する。
このようにメモリの構成を入力専用メモリ、出力専用
メモリ、プログラムおよび作業メモリの3メモリまたは
それ以上の複数バス構成にすることにより、パイプライ
ンおよび並列処理を容易に実現しうる。
このようにして、本発明にかかるメモリ管理LSIプロ
セッサを用いることにより、高速2次元イメージ処理
は、2値イメージを処理する文字認識処理等における文
字特徴量の抽出処理に関し、汎用のマイクロプロセッサ
を用いると、0.5秒ほどかかるものが、このメモリ管理L
SIプロセッサを用いることにより、20msec程度で実現す
ることができる。
また、本発明にかかるメモリ管理LSI20を用いること
により、文字認識等の処理で一般に行なわれる文字の切
り出し処理と特徴量の抽出処理を並列処理することが容
易に実現できる。
さらに、より高速性を要求される用途には、本プロセ
ッサのもつパイプライン拡張性を活かし、細線化、スム
ージング、特徴量化等の処理を逐次パイプライン化する
ことにより、高速処理を実現できる。
また、僅かな外部付加回路を用いることで、1処理が
1msec以下のパイプライン処理を実現することも容易に
なる。
[発明の効果] 以上詳述したように、本発明のメモリ管理用制御装置
によれば、種々のメモリ中に存在するデータに対する外
部アクセスについてのメモリ管理機能および高速汎用処
理を実現するためのプロセッサ機能を内蔵させることに
より、処理量を少なくして処理速度の高速化をはかれる
利点がある。
【図面の簡単な説明】
第1図は本発明の原理ブロック図、 第2図は本発明の一実施例を示すブロック図、 第3図は本発明によるメモリ管理LSIの一実施例を示す
ブロック図、 第4図は本発明による調停回路の一実施例を示すブロッ
ク図、 第5図は本発明による調停回路の一実施例の作用説明
図、 第6図は本発明によるメモリアクセス制御回路の一実施
例を示すブロック図、 第7図は本発明による繰り返し命令制御回路の一実施例
を示すブロック図、 第8図は本発明による2次元イメージデータアクセス手
段の一実施例を示すブロック図、 第9図は本発明によるヒストグラムカウンタ回路の一実
施例を示すブロック図、 第10図は本発明によるパイプラインプロセッサ構成手段
の一実施例を示すブロック図、 第11〜13図はいずれもプロセッサ構成方式に関する従来
技術の説明図、 第14図(a),(b)はいずれもメモリ管理LSIの構成
方法に関する従来技術の説明図、 第15図はメモリアクセス制御に関する従来技術の説明
図、 第16図(a),(b),第17図はいずれもアクセス調停
に関する従来技術の説明図、 第18図は繰り返し命令制御方式に関する従来技術の説明
図、 第19図は2次元アドレスカウンタ構成方式に関する従来
技術の説明図、 第20図はパイプラインプロセッサ構成方式に関する従来
技術の説明図である。 図において、 1は調停回路(調整回路)、 1−1,1−2はフリップフロップ回路、 1−3はアクセス要求選択回路、 2はメモリアクセス回路、 2−1はアクセスサイクル決定回路、 2−1−1〜2−1−3はゲート回路、 2−1−4は比較器、 2−2はアクセスサイクル生成回路、 2−2−1〜2−2−5はフリップフロップ、 2−2−6〜2−2−9はゲート回路、 2−3はゲート回路、 3−1は入力メモリ、 3−2は出力メモリ、 3−3はプログラム/作業メモリ、 3−12は入出力メモリ、 4はマイクロプログラム制御回路、 5はバス制御回路、 6は繰り返し命令制御回路、 6−1は繰り返し開始アドレスレジスタ、 6−2は繰り返し終了アドレスレジスタ、 6−3は繰り返し回数カウントレジスタ、 6−4は繰り返し命令カウンタ、 6−5は繰り返し命令保存メモリ、 6−6はループカウンタ、 7はヒストグラムカウンタ回路、 7−0〜7−15はヒストグラムカウンタ、 20はメモリ管理LSI、 21は外部入出力装置、 22はバス、 23は上位CPU、 80はバイト(ワード)アドレスカウンタ、 81はY方向のアドレスカウンタ、 82はX方向のアドレスカウンタ、 83はクロック入力可変カウンタ、 84はX方向データ長保存用レジスタ、 110は高速プロセッサ、 110aは内部レジスタ、 111はアドレスバス、 112はデータバス、 113,114はメモリ、 115は入出力装置、 140はメモリ管理LSI、 141は上位CPU、 142は外部バス、 143はメモリ、 150はプロセッサ、 151〜153はメモリ、 154〜156はアクセス制御回路、 160,161はフリップフロップ回路、 162はアクセス要求選択回路、 190はアドレスカウンタ、 191はアドレス計算図、 192は2次元データメモリ、 200−1〜200−3はプロセッサ、 201は外部プロセッサ、 201−1〜201−3は調停回路、 202−1〜202−3はメモリ、 203−1〜203−3はメモリアクセス制御回路である。

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】内部処理クロックで動作することにより、
    管理すべきメモリを要求するための外部アクセス要求の
    調停動作と内部処理サイクルとを並列化する調整回路
    と、 該調整回路の出力として得られるアクセス要求から所望
    のアクセスサイクルを決定して該メモリのための制御線
    へ出力するメモリアクセス制御回路とをそなえると共
    に、 内部プログラム動作に基づく処理を外部アクセスに基づ
    く処理と平行して行なうよう制御するマイクロプログラ
    ム制御回路と、 該マイクロプログラム制御回路と協働して該メモリ間の
    アドレスバスおよびデータバスの交換を行なうバス制御
    回路とをそなえて構成されたことを 特徴とする、メモリ管理用制御装置。
  2. 【請求項2】該調整回路が、内部処理クロックと同期し
    て動作すべく構成されたことを特徴とする、請求項1記
    載のメモリ管理用制御装置。
  3. 【請求項3】該メモリアクセス制御回路が、アクセス要
    求をされたメモリのうち最も遅いメモリに適合したアク
    セスサイクルを決定して出力すべく構成されたことを特
    徴とする、請求項1記載のメモリ管理用制御装置。
  4. 【請求項4】該プログラム動作中のループ動作を高速化
    するための繰り返し命令制御回路が設けられ、 該繰り返し命令制御回路が、 繰り返し命令ブロックの開始点を記憶する繰り返し開始
    アドレスレジスタと、 該繰り返し命令ブロックの終了点を記憶する繰り返し終
    了アドレスレジスタと、 該繰り返し命令ブロックの繰り返し回数を記憶する繰り
    返し回数カウントレジスタと、 繰り返し命令処理中の命令番地をカウントする繰り返し
    命令カウンタと、 繰り返し命令ブロック内の命令を保存するための繰り返
    し命令保存メモリとをそなえて構成されたことを特徴と
    する、請求項1記載のメモリ管理用制御装置。
  5. 【請求項5】複数次元データに対するアドレス制御を行
    なうべく、該メモリのアクセス時に使用するアドレスレ
    ジスタと、該複数次元データの互いに異なる各方向につ
    いてそれぞれ独立にカウントしうる回路を有するカウン
    ト制御回路とをそなえて構成されたことを特徴とする、
    請求項1記載のメモリ管理用制御装置。
  6. 【請求項6】内部データバス上のデータに対してヒスト
    グラムをカウントするヒストグラムカウンタ回路が設け
    られたことを特徴とする、請求項1記載のメモリ管理用
    制御装置。
  7. 【請求項7】各メモリについて該アドレスバスおよび該
    データバスが独立して設けられて、これらの該アドレス
    バスおよび該データバスが独立した該メモリを該マイク
    ロプログラム制御回路で制御することを特徴とする、請
    求項1記載のメモリ管理用制御装置。
  8. 【請求項8】管理すべきメモリが、入力データを記憶す
    る入力メモリ,出力データを記憶する出力メモリおよび
    プログラムを保存するとともに作業領域を確保するプロ
    グラム/作業メモリの少なくとも3つのメモリであるこ
    とを特徴とする、請求項1記載のメモリ管理用制御装
    置。
JP18825990A 1990-07-17 1990-07-17 メモリ管理用制御装置 Expired - Fee Related JP2954671B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18825990A JP2954671B2 (ja) 1990-07-17 1990-07-17 メモリ管理用制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18825990A JP2954671B2 (ja) 1990-07-17 1990-07-17 メモリ管理用制御装置

Publications (2)

Publication Number Publication Date
JPH0474237A JPH0474237A (ja) 1992-03-09
JP2954671B2 true JP2954671B2 (ja) 1999-09-27

Family

ID=16220551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18825990A Expired - Fee Related JP2954671B2 (ja) 1990-07-17 1990-07-17 メモリ管理用制御装置

Country Status (1)

Country Link
JP (1) JP2954671B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5511299B2 (ja) * 2009-10-16 2014-06-04 三菱電機株式会社 データ演算装置の制御回路及びデータ演算装置

Also Published As

Publication number Publication date
JPH0474237A (ja) 1992-03-09

Similar Documents

Publication Publication Date Title
JP5787629B2 (ja) マシンビジョン用マルチプロセッサシステムオンチップ
US8108659B1 (en) Controlling access to memory resources shared among parallel synchronizable threads
US5598550A (en) Cache controller for processing simultaneous cache accesses
US10152436B2 (en) Mutual exclusion in a non-coherent memory hierarchy
JP2004348734A (ja) 非対称型異種マルチプロセッサ環境でアトミック更新プリミティブを提供するための方法
JPH10134008A (ja) 半導体装置およびコンピュータシステム
EP2880541A1 (en) Systems and methods for controlling access to a shared data structure with reader-writer locks using multiple sub-locks
US20110265093A1 (en) Computer System and Program Product
EP3662376B1 (en) Reconfigurable cache architecture and methods for cache coherency
CN115481058A (zh) 内存原子操作指令的执行方法、装置、访问模块及系统
JP2020027613A (ja) 人工知能チップ及び人工知能チップに用いられる命令実行方法
WO2006123547A1 (ja) 情報処理装置、システム、方法およびプロセッサ
EP3232320A1 (en) Transaction conflict detection method and apparatus and computer system
CN105094993B (zh) 一种多核处理器、数据同步的方法及装置
JP2954671B2 (ja) メモリ管理用制御装置
CN109992539B (zh) 双主机协同工作装置
JP2001282704A (ja) データ処理装置及びデータ処理方法とデータ処理システム
Brewer A highly scalable system utilizing up to 128 PA-RISC processors
US20030005185A1 (en) System and method for efficiently performing data transfer operations
WO2021218623A1 (zh) 一种数据处理装置、芯片和数据处理方法
JP2000112912A (ja) 分散メモリ型並列計算機におけるリモートメモリに対するテストアンドコピーの処理方式
JP2001222463A (ja) メモリ装置
CN117492547A (zh) 一种芯片中模块复位状态确定方法、装置、系统和介质
JPH0784971A (ja) コンピュータシステム
JP3760995B2 (ja) 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees