JP3525070B2 - アクセス制御装置及びアクセス方法 - Google Patents
アクセス制御装置及びアクセス方法Info
- Publication number
- JP3525070B2 JP3525070B2 JP01887899A JP1887899A JP3525070B2 JP 3525070 B2 JP3525070 B2 JP 3525070B2 JP 01887899 A JP01887899 A JP 01887899A JP 1887899 A JP1887899 A JP 1887899A JP 3525070 B2 JP3525070 B2 JP 3525070B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- address
- dram
- management unit
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1647—Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
Description
及びアクセス方法に関し、特に、CPU(Central Pro
cessing Unit )からメモリへのアクセスを制御するア
クセス制御装置及びアクセス方法に関する。
部示すブロック図で、CPU160又は第1及び第2の
処理回路500、510からDRAM(Dynamic Random
Access Memory)120へのアクセスに関わる構成を
示す。図4に示された情報処理装置は、CPU160
と、アクセスポート140と、DRAM120と、バス
アービタ130と、第1及び第2の処理回路500、5
10とを備える。アクセスポート140と、DRAM1
20と、バスアービタ130と、第1及び第2の処理回
路500、510とは、LSI110上に作製されてい
るとする。
を制御する。DRAM120は、情報処理装置の動作に
関わる情報を書き込み、保持し、読み出す機能をもつメ
モリである。バスアービタ130は、CPU160及び
第1及び第2の処理回路500、510からDRAM1
20へのアクセスが要求されると、優先度の高い要求か
らアクセスを許可する。アクセスポート140は、CP
U160から出されるDRAM120へのアクセス要求
に関わる情報を書き込むためのレジスタを備え、アクセ
ス要求をバスアービタ130へ伝える。第1及び第2の
処理回路500、510は、任意の処理回路であって、
2つとは限らない。
すブロック図である。アクセスポート140は、さら
に、DRAMバイトアドレス指定用レジスタ141と、
DRAMワードデータ読み書き用レジスタ142と、ア
クセスモード指定用レジスタ143とを備える。アクセ
スモード指定用レジスタ143は、さらに、DRAMア
ドレス可変指定ビット144と、DRAMアドレス増加
/減少指定ビット145とを備える。
41は、CPU160がアクセスしたいDRAMのアド
レスを書き込むためのレジスタである。DRAMワード
データ読み書き用レジスタ142は、DRAMバイトア
ドレス指定用レジスタ141に書き込まれたアドレスの
データ、あるいはDRAMバイトアドレス指定用レジス
タ141に書き込まれたアドレスに書き込むためのデー
タを保持する。アクセスモード指定用レジスタ143
は、DRAM120へのアクセスの仕方を指定する。D
RAMアドレス可変指定ビット144は、DRAMバイ
トアドレス指定用レジスタ141に書き込まれたアドレ
スを連続的に変化させるか否かを1又は0で指定する。
DRAMアドレス増加/減少指定ビット145は、DR
AMバイトアドレス指定用レジスタ141に書き込まれ
たアドレスを連続的に増加させるのか、減少させるのか
を1又は0で指定する。
ついて説明する。CPU160が所定のアドレス、例え
ば0x0500番地のデータを読み出したい場合、DR
AMアドレス可変指定ビット144に0を書き込み、D
RAMバイトアドレス指定用レジスタ141に0x05
00番地を書き込む。また、CPU160が、連続した
アドレス、例えば、0x0500番地〜0x0508番
地にアクセスするならば、DRAMアドレス可変指定ビ
ット144に1を書き込み、DRAMアドレス増加/減
少指定ビット145に1を書き込み、DRAMバイトア
ドレス指定用レジスタ141に0x0500番地を書き
込む。また、CPU160が、0x0508番地〜0x
0500番地のように減少方向に連続したアドレスにア
クセスするならば、DRAMアドレス可変指定ビット1
44に1を書き込み、DRAMアドレス増加/減少指定
ビット145に0を書き込み、DRAMバイトアドレス
指定用レジスタ141に0x0508番地を書き込む。
由してアクセス要求をバスアービタ130に出す。第1
及び第2の処理回路500、510からもDRAM12
0へのアクセスを要求していれば、バスアービタ130
は、CPU160と第1及び第2の処理回路500、5
10の要求とを比較して、優先度の高い要求にアドレス
へのアクセスを許可する。例えば、CPU160の要求
の優先度が高い場合、バスアービタ130は、CPU1
60が要求するアドレスにアクセスし、アクセスされた
アドレスのデータは、DRAMワードデータ読み書き用
レジスタ142に読み出される。CPU160は、DR
AMワードデータ読み書き用レジスタ142にアクセス
すれば、アクセス要求したアドレスのデータを読み出す
ことができる。このとき、DRAMアドレス可変ビット
144に0が書き込まれていると、読み出しは終了す
る。DRAMアドレス可変ビット144に1が書き込ま
れていると、DRAMバイトアドレス指定用レジスタ1
41に書き込まれたアドレスはDRAMアドレス増加/
減少指定ビット145の指定に従いインクリメント又は
デクリメントされ、バスアービタ130を経由して、イ
ンクリメント又はデクリメントされたアドレスのデータ
がDRAMワードデータ読み書き用レジスタ142に読
み出される。
定のアドレスにデータを書き込みたい場合、CPU16
0は、DRAMバイトアドレス指定用レジスタ141に
アドレスを書き込んだ後、書き込みたいデータをDRA
Mワードデータ読み書き用レジスタ142に書き込む。
バスアービタ130を経由して、CPU160の要求す
るアドレスにアクセスすると、DRAMワードデータ読
み書き用レジスタ142に書き込まれたデータが、アク
セスされたアドレスに書き込まれる。CPU160が連
続したアドレスにデータを書き込みたい場合は、上記で
説明したDRAMアドレス可変ビット144及びDRA
Mアドレス増加/減少指定ビット145を用いて、DR
AMバイトアドレス指定用レジスタ141のアドレスを
インクリメント又はデクリメントし、その都度、書き込
みたいデータをDRAMワードデータ読み書き用レジス
タ142に書き込んでいけば、所望のアドレスにデータ
を連続的に書き込むことができる。
は、ファームウェアを用いて、複数のレジスタファイル
に書き込まれたタスクを切り替えながら実行する時分割
マルチタスク実行装置が開示されている。
スポート140を介してDRAM120にアクセスして
いる途中で、CPUマルチタスク処理による複数のタス
クや割り込み処理がDRAM120へのアクセス要求を
出すと、それまで実行されていたアクセスは中断され、
CPUマルチタスク処理によるタスクや割り込み処理に
合わせて、アクセスポート140の各レジスタに保持さ
れている情報が書き換えられる。
よるDRAM120へのアクセスシステムでは、中断さ
れたアクセスが再開されても、途中で書き換えられたア
ドレスやデータが何らかの原因で残り、誤った処理が実
行されるという問題があった。
ータを読み出すタスクを実行するため、CPU160が
DRAMアドレス可変指定ビット144に0を書き込
み、DRAMバイトアドレス指定用レジスタ141に0
x0500を書き込む。ここで、CPU160がDRA
Mワードデータ読み書き用レジスタ142を読み出す直
前に、割り込み処理が命令されると、CPU160は、
タスクを中断して、割り込み処理が要求するアドレス、
例えば0x0800をDRAMバイトアドレス指定用レ
ジスタ141に書き込み、DRAMワードデータ読み書
き用レジスタ142を読み出す。割り込み処理が終了す
ると、CPU160は中断されていたタスクを実行する
が、何らかの原因で、アドレス0x0500番地のデー
タが、割り込み処理で読み出された0x0800番地の
データに置き変わることがある。
0x0500番地から+2ずつ増える方向に連続する番
地(0x0500、0x0502、0x0504、・・
・)に所望のデータを書き込むタスクを実行するため、
CPU160がDRAMアドレス可変指定ビット144
に1を、DRAMアドレス増加/減少指定ビット145
に1を、それぞれ書き込み、DRAMバイトアドレス指
定用レジスタ141に0x0500を書き込み、DRA
Mワードデータ読み書き用レジスタ142に所望のデー
タを書き込む。DRAMワードデータ読み書き用レジス
タ142に書き込まれたデータを0x0500番地と0
x0502番地とに書き込んだ後、割り込み処理が命令
されると、CPU160はタスクを中断し、割り込み処
理が要求するアドレス、0x0800をDRAMバイト
アドレス指定用レジスタ141に書き込み、DRAMワ
ードデータ読み書き用レジスタ142に読み出されてい
る0x0800番地のデータを読みだす。再びCPU1
60がタスクを実行すると、タスクはDRAMアドレス
0x0504番地に引続きデータを書き込むつもりで
も、何らかの原因で0x0802番地にデータを書き込
むことがある。
れた時に誤ったアドレスやデータを処理するという問題
を回避するために、CPU160を制御するファームウ
ェア側で対策する手法がある。例えば、あるタスクを実
行するために、CPU160がDRAMアドレス可変指
定ビット144に0を書き込み、DRAMバイトアドレ
ス指定用レジスタ141に0x0500を書き込む。C
PU160がDRAMワードデータ読み書き用レジスタ
142を読み出す直前に、割り込み処理が命令される
と、CPU160は、DRAMバイトアドレス指定用レ
ジスタ141と、DRAMワードデータ読み書き用レジ
スタ142と、アクセスモード指定用レジスタ143の
各情報をCPU160配下のメモリ等に退避させる。次
に、CPU160は、割り込み処理が要求するアドレ
ス、0x0800をDRAMバイトアドレス指定用レジ
スタ141に書き込み、DRAMワードデータ読み書き
用レジスタ142から0x0800のデータを読み出
す。CPU160が中断されたタスクを再開すると、C
PU160配下のメモリ等に退避させた各レジスタ値を
元のレジスタに復帰させる。
おける複数のタスクや割り込み処理でタスクが中断され
ると、レジスタに書き込まれた情報をCPU160配下
のメモリに退避させ、中断されたタスクを再開するとき
に、退避させておいた情報をレジスタに復帰させると、
CPUマルチタスク処理によるタスクや割り込み処理で
用いたアドレスやデータがレジスタに残らず、タスクを
正常に実行できる。しかし、上記手法では、CPU16
0を制御するファームウェアの構造が複雑になり、ま
た、タスクの切り替わりが頻繁に起こると、アクセスポ
ート140内のレジスタを退避/復帰する回数が増え、
CPU処理負荷がさらに増大するという問題があった。
示されている時分割マルチタスク実行装置では、ファー
ムウェアにより各レジスタファイルに書き込まれたタス
クの実行が自動的に切り替えられ、レジスタファイルの
使用状況もCPUが直接管理しているので、CPUの負
担が増加する。
なされたものであり、CPUマルチタスク処理における
複数のタスクや割り込み処理等によって中断されたタス
クが再開されたときに、誤ったアドレスにアクセスしな
い機能をもったアクセス制御装置を提供することを目的
とし、特に、CPU処理負荷を抑え、複雑なファームウ
ェアの記述を必要としないアクセス制御装置を提供する
ことを目的とするものである。
に、請求項1に係るアクセス制御装置は、複数のタスク
の時分割処理と割り込み処理とを実行できるCPUから
所定のメモリへのアクセスを中継するアクセス制御装置
において、CPUからのアクセスに関する情報をアクセ
ス毎に格納する複数のアクセスポートと、複数のアクセ
スポートの使用状況を管理し、使用状況をCPUに通知
する管理部と、を備え、CPUは、管理部から提供され
る使用状況を基に、複数のアクセスポートのうちの未使
用のものにアクセスに関する情報を書き込む、ことを特
徴とするものである。
は、管理部がさらに、複数のアクセスポートがすべて使
用されているときに、別のタスクあるいは割り込み処理
が起動された場合、該起動された別のタスクあるいは割
り込み処理のアクセス要求に関する情報を、任意の1つ
のアクセスポートに格納できるよう、該任意の1つのア
クセスポートに格納されている情報を退避させる退避領
域と、起動されたタスクあるいは割り込み処理が終了す
ると、退避領域に退避された情報を元のアクセスポート
に復帰させる復帰手段と、を備えることを特徴とするも
のである。
は、アクセスポートが、各々、CPUがアクセスしたい
メモリのアドレスを指定するアドレス指定手段と、アド
レス指定手段によって指定されたアドレスから読み出さ
れたデータ、あるいはアドレス指定手段によって指定さ
れたアドレスに書き込むためのデータを一時的に保持す
る保持手段と、アドレス指定手段に指定されたアドレス
をインクリメントあるいはデクリメントすることを指定
するアドレス可変指定手段と、を備えることを特徴とす
るものである。
数のタスクの時分割処理と割り込み処理とを実行できる
CPUから、複数のアクセスポートと管理部とを有する
アクセス制御装置を介して、所定のメモリへアクセスす
るアクセス方法において、記管理部が、複数のアクセス
ポートの使用状況を認識し、CPUが、管理部によって
未使用であると認識された任意の1つのアクセスポート
に、アクセスに関する情報を格納し、管理部が、上記任
意の1つのアクセスポートへの格納が行われる際、任意
の1つのアクセスポートの使用状況として使用中である
ことを上記管理部に記録し、管理部が、格納された情報
に基づいて、メモリへのアクセスを行わしめ、管理部
が、アクセスが終了したのち、任意の1つのアクセスポ
ートの使用状況として待機中であることを管理部に記録
する、ことを特徴とするものである。
理部が、複数のアクセスポートがすべて使用中であると
認識すると、任意の1つのアクセスポートに格納されて
いる情報を管理部に退避させ、CPUは、アクセスに関
する情報を任意の1つのアクセスポートに格納し、管理
部は、格納された情報に基づいて、メモリへアクセス
し、管理部は、アクセスが終了したのち、管理部に退避
させられた情報を任意の1つのアクセスポートに復帰さ
せる、ことを含むことを特徴とするものである。
施の形態1によるアクセス制御装置について、図面を参
照しながら説明する。図1は、本実施の形態1によるア
クセス制御装置に相当する回路、すなわちアクセス制御
回路10を備えた情報処理装置の構成を概略して示すブ
ロック図である。情報処理装置は、CPU16と、アク
セス制御回路10と、DRAM12と、バスアービタ1
3と、第1及び第2の処理回路50、51とを備える。
アクセス制御回路10と、DRAM12と、バスアービ
タ13と、第1及び第2の処理回路50、51とは、L
SI11上に作製されている。アクセス制御回路10
は、さらに、第1〜第3のアクセスポート1、2、3
と、バンク管理部5とを備える。
制御する。DRAM12は、情報処理装置の動作に関わ
る情報を書き込み、保持し、読み出す機能をもつメモリ
である。バスアービタ130は、CPU16及び第1及
び第2の処理回路50、51からDRAM12へのアク
セスを要求されると、優先度の高い要求にアドレスへの
アクセスを許可する。第1〜第3のアクセスポート1、
2、3は、CPU16からDRAM12へのアクセスに
必要な情報を格納するためのレジスタを備え、アクセス
要求をバスアービタ13へ伝える。バンク管理部5は、
第1〜第3のアクセスポート1、2、3の使用状況を管
理し、使用状況をCPU16に通知する。さらに、CP
U16のコマンドに従い、第1のアクセスポート21に
書き込まれた情報を退避させたり復帰させたりする。
2、3の各々に共通する構成を示すブロック図である。
第1〜第3のアクセスポート1、2、3は、さらに、D
RAMバイトアドレス指定用レジスタ21と、DRAM
ワードデータ読み書き用レジスタ22と、アクセスモー
ド指定用レジスタ23とを備える。アクセスモード指定
用レジスタ23は、さらに、DRAMアドレス可変指定
ビット24と、DRAMアドレス増加/減少指定ビット
25とを備える。
1は、CPU16がアクセスしたいDRAMアドレスを
格納する。DRAMワードデータ読み書き用レジスタ2
2は、DRAMバイトアドレス指定用レジスタ21に格
納されたアドレスから読み出したデータ、あるいはDR
AMバイトアドレス指定用レジスタ21に格納されたア
ドレスに書き込むためのデータを一時的に保持する。ア
クセスモード指定用レジスタ23は、DRAM12への
アクセスの仕方を指定する。DRAMアドレス可変指定
ビット24は、DRAMバイトアドレス指定用レジスタ
21に書き込まれたアドレスを連続的に変化させるか否
かを1又は0で指定する。DRAMアドレス増加/減少
指定ビット25は、番号が増える方向にアドレスを変化
させるのか、減る方向にアドレスを変化させるのかを1
又は0で指定する。
0500〜0x0508番地に連続してアクセスしたい
場合、DRAMアドレス可変指定ビット24に1を書き
込み、DRAMアドレス増加/減少指定ビット25に1
を書き込み、DRAMバイトアドレス指定用レジスタ2
1に0x0500を書き込むと、DRAMワードデータ
読み書き用レジスタ22に0x0500〜0x0508
番地のデータが読み込まれる。また、アクセスしたい番
地が0x0508〜0x0500番地ならば、DRAM
アドレス可変指定ビット24に1を書き込み、DRAM
アドレス増加/減少指定ビット25に0を書き込み、D
RAMバイトアドレス指定用レジスタ21に0x050
8を書き込む。また、アクセスしたい番地が0x050
8番地ならば、DRAMアドレス可変指定ビット24に
0を書き込み、DRAMバイトアドレス指定用レジスタ
21に0x0508を書き込む。なお、連続するデータ
の個数、あるいは連続するデータの最終データのアドレ
スをアクセスモード指定用レジスタ23で指定できるよ
うにしておくとよい。DRAMアドレス増加/減少指定
ビット25によってインクリメント又はデクリメントさ
れる値は、予め決められている数値である。
ック図である。バンク管理部5は、DRAMバイトアド
レス退避用レジスタ26と、DRAMワードデータ退避
用レジスタ27と、アクセスモード退避用レジスタ28
と、バンク管理用レジスタ31とを備える。
6は、第1のアクセスポート1のDRAMバイトアドレ
ス指定用レジスタ21の値を一時的に格納しておく領域
すなわちレジスタである。DRAMワードデータ退避用
レジスタ27は、第1のアクセスポート1のDRAMワ
ードデータ読み書き用レジスタ22の値を一時的に格納
しておくレジスタである。アクセスモード退避用レジス
タ28は、第1のアクセスポート1 のアクセスモード指
定用レジスタ23の値を一時的に格納しておくレジスタ
であり、DRAMアドレス可変指定退避用ビット29と
DRAMアドレス増加/減少指定退避用ビット30とを
備える。バンク管理用レジスタ31は、3つのアクセス
ポート1、2、3の使用状況を管理し、CPU16に対
して通知する。
1のアクセスポート使用状況フラグ32、第2のアクセ
スポート使用状況フラグ33、第3のアクセスポート使
用状況フラグ34、及び優先アクセス指定ビット35を
備える。第1のアクセスポート使用状況フラグ32が0
の時は、第1のアクセスポート1が待機中であることを
意味し、第1のアクセスポート使用状況フラグ32が1
の時は、第1のアクセスポート1は使用中であることを
意味する。第2のアクセスポート使用状況フラグ33、
第3のアクセスポート使用状況フラグ34についても同
様である。優先アクセス指定ビット35は、第1のアク
セスポートにある各レジスタの情報の退避と復帰を指定
する。CPU16が優先アクセス指定ビット35に1を
書き込むと、第1のアクセスポート1のDRAMバイト
アドレス指定用レジスタ21にある情報はDRAMバイ
トアドレス退避用レジスタ26に、DRAMワードデー
タ読み書き用レジスタ22にある情報はDRAMワード
データ退避用レジスタ27に、アクセスモード指定用レ
ジスタ23にある情報はアクセスモード退避用レジスタ
28に、退避する。また、優先アクセス指定ビット35
にCPU16が0を書き込むと、DRAMバイトアドレ
ス退避用レジスタ26にある情報は第1のアクセスポー
ト1のDRAMバイトアドレス指定用レジスタ21に、
DRAMワードデータ退避用レジスタ27にある情報は
DRAMワードデータ読み書き用レジスタ22に、アク
セスモード退避用レジスタ28にある情報はアクセスモ
ード指定用レジスタ23に、復帰する。
6を制御するファームウェアがマルチタスク処理を行な
い、第1、第2、及び第3のタスクが時分割多重で実行
される状況下でのDRAM12へのアクセス動作につい
て説明する。
00番地から1番地おきに0x040E番地までのアド
レスにあるデータの読み込みを指示し、第2のタスク
は、DRAM12の0x0800番地から1番地おきに
減る方向に0x07F6番地までのアドレスにデータの
書き込みを指示し、第3のタスクは、DRAM12の0
x1000、0x1004、0x1004番地のアドレ
スにデータの書き込みを指示すると仮定する。タスク
は、第1、第2、第3の順序で実行され、3つのアクセ
スポートは、第1、第2、第3の順序で使用されるとす
る。また、DRAMアドレス可変指定ビット24に1が
書き込まれた場合、アドレスは2つずつ変化するものと
する。
バンク管理用レジスタ31を読みとり、すべてのアクセ
スポートが使用可能であることを認識する。第1のタス
クは、第1のアクセスポート使用状況フラグ32に1を
書き込むことによって、第1のアクセスポートが使用中
になったことを記録し、次に、第1のアクセスポート1
のDRAMアドレス可変指定ビット24に1を、DRA
Mアドレス増加/減少指定ビットに1をそれぞれ書き込
み、DRAMバイトアドレス指定用レジスタに21に0
x0400を書き込み、DRAMワードデータ読み書き
用レジスタ22を読みだして、所望のデータを得る。第
1のタスクが0x0400番地、0x0402番地、0
x0404番地のデータを読みとったときに、第2のタ
スクに制御が移ると、第1のタスクは一時中断される。
1を読みとり、第2及び第3のアクセスポート2、3が
使用可能であることを認識する。第2のタスクは、第2
のアクセスポート使用状況フラグ33に1を書き込んだ
後、第2のアクセスポート2のDRAMアドレス可変指
定ビット24に1を、DRAMアドレス増加/減少指定
ビット25に0をそれぞれ書き込み、DRAMバイトア
ドレス指定用レジスタ21に0x0800を書き込み、
DRAMワードデータ読み書き用レジスタ22にデータ
を書き込むと、DRAMワードデータ読み書き用レジス
タ22に書き込まれたデータがDRAM12の所望の番
地に書き込まれる。第2のタスクが0x0800番地と
0x07FE番地にデータを書き込んだときに、第3の
タスクに制御が移ると、第2のタスクは一時中断され
る。
1を読みとり、第3のアクセスポートが使用可能である
ことを認識する。第3のタスクは、第3のアクセスポー
ト使用状況フラグ34に1を書き込んだ後、第3のアク
セスポート3のDRAMアドレス可変指定ビット24に
1を、DRAMアドレス増加/減少指定ビット25に1
をそれぞれ書き込み、DRAMバイトアドレス指定用レ
ジスタ21に0x1000を書き込み、DRAMワード
データ読み書き用レジスタ22にデータを書き込むと、
DRAMワードデータ読み書き用レジスタ22に書き込
まれたデータがDRAM12の所望の番地に書き込まれ
る。0x1000番地と0x1002番地にデータが書
き込まれたときに、第3のタスクから第1のタスクに制
御が移ると、第3のタスクは一時中断される。
み出しを再開し、0x0408番地、0x040A番
地、0x040C番地、0x040E番地のデータを読
み取って、データの読みとりを終了する。続いて、第1
のアクセスポート使用状況フラグ32に0を書き込むこ
とで、第1のアクセスポートが待機中になったことを記
録し、第1のアクセスポート1を解放する。
タスクは、第2のアクセスポート2のDRAMワードデ
ータ読み書き用レジスタ22に残りのデータ、つまり0
x07FC番地、0x07FA番地、0x07F8番
地、0x07F6番地に書き込むためのデータを書き込
む。DRAMワードデータ読み書き用レジスタ22に書
き込まれたデータがDRAM12の所望の番地に書き込
まれると、第2のタスクによるデータの書き込みは終了
する。続いて、第2のアクセスポート使用状況フラグ3
3に0を書き込み、第2のアクセスポート2を解放す
る。
タスクは、第3のアクセスポート3のDRAMワードデ
ータ読み書き用レジスタ22に残りのデータ、つまり、
0x1004番地に書き込むためのデータを書き込む。
DRAMワードデータ読み書き用レジスタ22に書き込
まれたデータがDRAM12の0x1004番地に書き
込まれると、第3のタスクによるデータの書き込みは終
了する。続いて、第3のアクセスポート使用状況フラグ
34に0を書き込み、第3のアクセスポート3を解放す
る。
6を制御するファームウェアがマルチタスク処理を行な
い、第1、第2、及び第3のタスクが時分割多重で実行
される状況下で、第1、第2、及び第3のタスクが、そ
れぞれ第1、第2、及び第3のアクセスポート1、2、
3を使用している途中で、割り込み処理Dが起動され、
DRAM12にアクセスしようとした場合の動作につい
て説明する。
31を読みとって、3つのアクセスポートが全て使用中
であることを認識し、優先アクセス指定ビット35に1
を書き込む。優先アクセス指定ビット35の指定を受け
て、第1のアクセスポート1の各レジスタ21、22、
23に書き込まれた情報は、バンク管理部5の対応する
退避用レジスタ26、27、28にそれぞれ退避する。
割り込み処理Dは、空になった第1のアクセスポート1
を用いて、DRAM12にアクセスし、アクセスが終了
すると、優先アクセス指定ビット35に0を書き込む。
優先アクセス指定ビット35の指定を受けて、バンク管
理部5の各退避用レジスタ26、27、28に退避した
情報は、第1のアクセスポート1の対応するレジスタ2
1、22、23にそれぞれ復帰する。
は、上記説明のように、アクセス制御回路10として、
DRAM12のあるLSI11上に設けられているが、
アクセス制御回路10は、上述したように複雑な構成で
はないので、小規模な回路で作製できる。
6のDRAM12へのアクセスを直接管理するので、フ
ァームウェアでDRAMへのアクセスを制御する特開平
2−253440号公報の装置に比べて、ファームウェ
アの記述が単純になり、CPU処理の負荷が軽減され
る。また、アクセスポートが複数あるので、退避機能を
備えているがアクセスポートが1つの従来例よりも、タ
スクの切り替わりの回数が減り、故に効率よくタスクを
処理でき、CPU処理負荷が減る。
ジスタを備えているので、アクセスポートがすべて使用
中のときに、割り込み処理があっても、使用中のアクセ
スポートの1つを退避用レジスタに退避させ、割り込み
処理を実行することができる。従って、CPUに退避用
レジスタを備えた従来例に比べ、CPU処理の負荷を軽
減できる。
M12にアクセスする場合について説明したが、DRA
M以外のメモリ、例えばSRAMやROMであってもよ
い。なお、ROMは、読み出し専用メモリなので、上記
のアクセス制御回路10のデータを読み込む機能を備え
たアクセス制御装置を用いればよい。
トを3つと、任意の1つのアクセスポートに格納された
情報を退避させるための領域すなわち退避用レジスタを
1つと、を備えたアクセス制御装置について説明した
が、アクセスポートの数と、退避用レジスタの数とは、
本実施の形態1で説明した数に限定されるものでなく、
アクセス制御装置の用途に合わせて適宜決めればよい。
のアクセス制御装置によれば、複数のアクセスポートを
備えているので、時分割多重でタスクが実行されても、
各タスクの情報は、別々のアクセスポートに書き込まれ
ているので、アクセスするアドレスや、読み込んだり書
き込んだりするデータを誤ることがないという効果が得
られる。また、アクセスポートが複数なので、退避機能
を備えているがアクセスポートが1つの従来例よりも、
タスクの切り替わりの回数が減るので、効率よくタスク
を処理でき、CPU処理負荷が減るという効果が得られ
る。さらに、バンク管理部が退避用レジスタを備えてい
るので、アクセスポートがすべて使用中のときに、割り
込み処理があっても、使用中のアクセスポートの1つを
退避用レジスタに退避させ、割り込み処理を実行できる
という効果が得られる。
スポートに書き込まれた情報の退避及び復帰を小規模の
回路で制御しているので、ファームウェアの記述が単純
になり、CPUの負荷を軽減することができるという有
利な効果が得られる。
の構成の概略を示すブロック図である。
2、3の各々に共通する構成を示すブロック図である。
る。
ブロック図である。
ック図である。
Claims (5)
- 【請求項1】 複数のタスクの時分割処理と割り込み処
理とを実行できるCPUから所定のメモリへのアクセス
を中継するアクセス制御装置において、 上記CPUからのアクセスに関する情報をアクセス毎に
格納する複数のアクセスポートと、 上記複数のアクセスポートの使用状況を管理し、上記使
用状況を上記CPUに通知する管理部と、を備え、 上記CPUは、上記管理部から提供される使用状況を基
に、上記複数のアクセスポートのうち未使用のものに、
上記アクセスに関する情報を書き込む、ことを特徴とす
るアクセス制御装置。 - 【請求項2】 請求項1記載のアクセス制御装置におい
て、 上記管理部はさらに、 上記複数のアクセスポートがすべて使用されているとき
に、別のタスクあるいは割り込み処理が起動された場
合、該起動された別のタスクあるいは割り込み処理のア
クセス要求に関する情報を、任意の1つのアクセスポー
トに格納できるよう、該任意の1つのアクセスポートに
格納されている情報を退避させる退避領域と、 上記起動されたタスクあるいは割り込み処理が終了する
と、上記退避領域に退避された情報を元のアクセスポー
トに復帰させる復帰手段と、を備えることを特徴とする
アクセス制御装置。 - 【請求項3】 請求項1又は2記載のアクセス制御装置
において、 上記アクセスポートは、各々、 上記CPUがアクセスしたい上記メモリのアドレスを指
定するアドレス指定手段と、 上記アドレス指定手段によって指定されたアドレスから
読み出されたデータ、あるいは上記アドレス指定手段に
よって指定されたアドレスに書き込むためのデータを一
時的に保持する保持手段と、 上記アドレス指定手段に指定されたアドレスをインクリ
メントあるいはデクリメントすることを指定するアドレ
ス可変指定手段と、を備えることを特徴とするアクセス
制御装置。 - 【請求項4】 複数のタスクの時分割処理と割り込み処
理とを実行できるCPUから、複数のアクセスポートと
管理部とを有するアクセス制御装置を介して、所定のメ
モリへアクセスするアクセス方法において、 上記管理部は、上記複数のアクセスポートの使用状況を
認識し、 上記CPUは、上記管理部によって未使用であると認識
された任意の1つのアクセスポートに、アクセスに関す
る情報を格納し、 上記管理部は、上記任意の1つのアクセスポートへの格
納が行われる際、上記任意の1つのアクセスポートの使
用状況として使用中であることを上記管理部に記録し、 上記管理部は、格納された情報に基づいて、上記メモリ
へのアクセスを行わしめ、 上記管理部は、上記アクセスが終了したのち、上記任意
の1つのアクセスポートの使用状況として待機中である
ことを上記管理部に記録する、ことを特徴とするアクセ
ス方法。 - 【請求項5】 請求項4記載のアクセス方法において、 上記管理部は、上記複数のアクセスポートがすべて使用
中であると認識すると、任意の1つのアクセスポートに
格納されている情報を上記管理部に退避させ、 上記CPUは、アクセスに関する情報を上記任意の1つ
のアクセスポートに格納し、 上記管理部は、格納された情報に基づいて、上記メモリ
へアクセスし、 上記管理部は、上記アクセスが終了したのち、上記管理
部に退避させられた情報を上記任意の1つのアクセスポ
ートに復帰させる、ことを含むことを特徴とするアクセ
ス方法。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01887899A JP3525070B2 (ja) | 1999-01-27 | 1999-01-27 | アクセス制御装置及びアクセス方法 |
KR10-2000-7010638A KR100419682B1 (ko) | 1999-01-27 | 2000-01-20 | 액세스 제어 장치 및 액세스 방법 |
PCT/JP2000/000265 WO2000045261A1 (fr) | 1999-01-27 | 2000-01-20 | Procede et dispositif de commande d'acces |
IDW20002178A ID27388A (id) | 1999-01-27 | 2000-01-20 | Pengatur pemasukan dan metoda pemasukan |
US09/647,196 US6742089B1 (en) | 1999-01-27 | 2000-01-20 | Access controller and access method for controlling access from a CPU to a memory based on use states of plural access ports |
CNB008000786A CN1145101C (zh) | 1999-01-27 | 2000-01-20 | 存取控制装置和存取方法 |
TW089101000A TW463130B (en) | 1999-01-27 | 2000-01-21 | Access control device and access method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01887899A JP3525070B2 (ja) | 1999-01-27 | 1999-01-27 | アクセス制御装置及びアクセス方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000222226A JP2000222226A (ja) | 2000-08-11 |
JP3525070B2 true JP3525070B2 (ja) | 2004-05-10 |
Family
ID=11983822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01887899A Expired - Fee Related JP3525070B2 (ja) | 1999-01-27 | 1999-01-27 | アクセス制御装置及びアクセス方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6742089B1 (ja) |
JP (1) | JP3525070B2 (ja) |
KR (1) | KR100419682B1 (ja) |
CN (1) | CN1145101C (ja) |
ID (1) | ID27388A (ja) |
TW (1) | TW463130B (ja) |
WO (1) | WO2000045261A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003029967A (ja) * | 2001-07-17 | 2003-01-31 | Fujitsu Ltd | マイクロプロセッサ |
US20040128418A1 (en) * | 2002-12-30 | 2004-07-01 | Darren Abramson | Mechanism and apparatus for SMI generation |
JP4827469B2 (ja) * | 2005-09-08 | 2011-11-30 | パナソニック株式会社 | キャッシュメモリ解析方法、プロセッサおよび模擬情報処理装置 |
JP4699858B2 (ja) * | 2005-10-13 | 2011-06-15 | シャープ株式会社 | メモリ装置およびメモリ制御方法 |
WO2007049482A1 (ja) * | 2005-10-26 | 2007-05-03 | Pioneer Corporation | 情報記録装置、情報記録方法、情報記録プログラムおよび記録媒体 |
US8850103B2 (en) * | 2009-08-28 | 2014-09-30 | Microsoft Corporation | Interruptible NAND flash memory |
JP5678962B2 (ja) * | 2010-09-17 | 2015-03-04 | コニカミノルタ株式会社 | 画像形成装置 |
CN102789439B (zh) * | 2012-06-16 | 2016-02-10 | 北京忆恒创源科技有限公司 | 控制数据传输过程中的中断的方法与存储设备 |
FR3072233B1 (fr) * | 2017-10-10 | 2020-11-27 | Bull Sas | Procede de generation de requetes pour la segmentation de la surveillance d'un reseau d'interconnexion et materiel associe |
JP7240118B2 (ja) * | 2018-09-14 | 2023-03-15 | キヤノン株式会社 | 情報処理装置、その制御方法およびプログラム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61250749A (ja) * | 1985-04-30 | 1986-11-07 | Fujitsu Ltd | 主記憶アクセス制御方式 |
JPS6220042A (ja) * | 1985-07-19 | 1987-01-28 | Fujitsu Ltd | メモリアクセスポ−ト管理装置 |
JP2574821B2 (ja) * | 1987-12-02 | 1997-01-22 | 株式会社日立製作所 | ダイレクトメモリアクセス・コントローラ |
JPH02163834A (ja) * | 1988-12-16 | 1990-06-25 | Mitsubishi Electric Corp | マルチ・タスク処理方式 |
KR940002595Y1 (ko) * | 1988-12-30 | 1994-04-21 | 주식회사 금성사 | Cpu보드상의 이중 포트 기억장치 회로 |
JP2553698B2 (ja) * | 1989-03-28 | 1996-11-13 | 松下電器産業株式会社 | 時分割マルチタスク実行装置 |
US5371887A (en) * | 1989-09-05 | 1994-12-06 | Matsushita Electric Industrial Co., Ltd. | Time-shared multitask execution device |
JPH0415730A (ja) * | 1990-04-29 | 1992-01-21 | Fujitsu Ltd | シーケンスコントローラ |
US5875470A (en) * | 1995-09-28 | 1999-02-23 | International Business Machines Corporation | Multi-port multiple-simultaneous-access DRAM chip |
DE69628798T2 (de) * | 1995-10-16 | 2004-04-29 | Hitachi, Ltd. | Verfahren zur Übertragung von Multimediadaten |
US6314499B1 (en) * | 1997-11-14 | 2001-11-06 | Lucent Technologies Inc. | Non-preemptive memory locking mechanism in a shared resource system |
US6401176B1 (en) * | 1997-11-14 | 2002-06-04 | Agere Systems Guardian Corp. | Multiple agent use of a multi-ported shared memory |
-
1999
- 1999-01-27 JP JP01887899A patent/JP3525070B2/ja not_active Expired - Fee Related
-
2000
- 2000-01-20 ID IDW20002178A patent/ID27388A/id unknown
- 2000-01-20 CN CNB008000786A patent/CN1145101C/zh not_active Expired - Fee Related
- 2000-01-20 KR KR10-2000-7010638A patent/KR100419682B1/ko not_active IP Right Cessation
- 2000-01-20 WO PCT/JP2000/000265 patent/WO2000045261A1/ja active IP Right Grant
- 2000-01-20 US US09/647,196 patent/US6742089B1/en not_active Expired - Fee Related
- 2000-01-21 TW TW089101000A patent/TW463130B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO2000045261A1 (fr) | 2000-08-03 |
CN1145101C (zh) | 2004-04-07 |
CN1293778A (zh) | 2001-05-02 |
US6742089B1 (en) | 2004-05-25 |
KR20010024958A (ko) | 2001-03-26 |
TW463130B (en) | 2001-11-11 |
ID27388A (id) | 2001-04-05 |
KR100419682B1 (ko) | 2004-02-21 |
JP2000222226A (ja) | 2000-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012252576A (ja) | 情報処理装置、起動方法およびプログラム | |
JP3525070B2 (ja) | アクセス制御装置及びアクセス方法 | |
JP5131269B2 (ja) | マルチプロセッシングシステム | |
JPH0518143B2 (ja) | ||
JP4334312B2 (ja) | 起動時間短縮演算装置およびデータロード方法 | |
JPH1139214A (ja) | マルチプロセッサシステムの共有メモリ制御方式 | |
EP0787326B1 (en) | System and method for processing of memory data and communication system comprising such system | |
JP2746189B2 (ja) | ファイルアクセス制御システム | |
JP2701739B2 (ja) | プロセッサの系切替え方式 | |
JPH0635800A (ja) | マイクロプロセッサ及びそれを使用したデータ処理システム | |
JPS5924428B2 (ja) | 表示装置 | |
JPH01195552A (ja) | メモリアクセス制御方式 | |
JP3772003B2 (ja) | メモリ管理システムおよびデータ管理方法 | |
JPH0481934A (ja) | 情報処理装置 | |
JPH08123725A (ja) | ライトバック式キャッシュシステム | |
JP3127737B2 (ja) | ディジタル信号処理装置 | |
JPH05225055A (ja) | 情報処理装置 | |
JPH1055308A (ja) | キャッシュメモリ | |
JPH04296954A (ja) | メモリシステム | |
JPH09138752A (ja) | 多機能拡張プロセッサ装置 | |
JPH0512028A (ja) | 初期プログラムロード(ipl)方式 | |
JPH06161720A (ja) | コンピュータシステム | |
JPH03142544A (ja) | メモリのアクセス方式 | |
JPH05314004A (ja) | 主記憶制御・管理装置 | |
JPS60132255A (ja) | デ−タ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040216 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090220 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100220 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100220 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110220 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |