JP2005056239A - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP2005056239A
JP2005056239A JP2003287733A JP2003287733A JP2005056239A JP 2005056239 A JP2005056239 A JP 2005056239A JP 2003287733 A JP2003287733 A JP 2003287733A JP 2003287733 A JP2003287733 A JP 2003287733A JP 2005056239 A JP2005056239 A JP 2005056239A
Authority
JP
Japan
Prior art keywords
memory
priority
access
control means
access control
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.)
Withdrawn
Application number
JP2003287733A
Other languages
English (en)
Inventor
Keiji So
慶治 荘
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003287733A priority Critical patent/JP2005056239A/ja
Publication of JP2005056239A publication Critical patent/JP2005056239A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】 RAMとペリフェラルとの間のデータ転送を制御するDMA機能を有する半導体集積回路において、RAMに対する複数のペリフェラルからのアクセス要求をスムーズに調停することができる半導体集積回路を提供する。
【解決手段】 この半導体集積回路は、周辺回路に接続されてメモリへのアクセスを要求するアクセス要求信号を発生するメモリアクセス制御手段22a等と、メモリアクセス制御手段に対して設定された優先順位に基づいて、アクセス要求信号を発生するいずれか1つのメモリアクセス制御手段に該アクセスを許可するバス調停手段70と、メモリアクセス制御手段のメモリへのアクセス状態に関するカウント値を得るカウンタ33a等と、カウンタによって得られたカウント値に基づいて、メモリアクセス制御手段に対して設定された優先順位を変更する優先順位変更手段40とを具備する。
【選択図】 図2

Description

本発明は、RAM(random access memory:ランダムアクセスメモリ)とペリフェラル(RAMの周辺機器又は周辺回路)との間のデータ転送を、CPU(central processing unit:中央演算装置)を介さずに制御するDMA(direct memory access:ダイレクトメモリアクセス)機能を有する半導体集積回路に関する。
従来より、CPUにおける処理の負荷を軽減するために、CPUが転送処理を行うことなく、RAMとペリフェラルとの間のデータ転送を直接的に行うDMAデータ転送方式が知られている。DMAデータ転送方式においては、ペリフェラルから出力されるデータをRAMに書き込んだり、RAMから読み出されるデータをペリフェラルに出力したりするデータ転送が、内部に独立したバッファを有するDMAC(DMAコントローラ)の制御の下で行われる。
複数のペリフェラルが用いられるシステムにおいては、それらのペリフェラルにそれぞれ対応して複数のDMACが設けられる。そのような場合には、複数のDMACの制御によるデータ転送が競合しないように、DMAアービタが、DMACに設定された優先順位に基づいて、RAMと複数のペリフェラルとの間のバスを調停することにより、複数のDMACの内のいずれか1つに対して、RAMへのアクセスを許可する。
しかしながら、DMAアービタが、予め製造時に設定された固定の優先順位に基づいてRAMへのアクセスを許可する場合には、優先順位が低いDMACに対応するペリフェラルにとっては、必要なデータ転送能力が得られないおそれがあるという問題があった。即ち、固定の優先順位を用いる場合には、最上位の優先順位が与えられたDMACからアクセス要求が連続して発生したときに、そのアクセス要求が常に受付けられるので、それ以外のDMACからのアクセス要求が長い間受付けられず、タイムアウトやオーバーラン等の不具合が発生することもあった。一方、ファームウェアによって擬似固定の優先順位とする場合には、その分のCPUのリソースを使用するので、CPUのパフォーマンスが低下してしまうという問題があった。
一方、複数のペリフェラルのアクセス順によって回帰的に優先順位を変更する場合には、ある一定のアクセス数において優先順位が平均化されるため、高速動作を行うペリフェラルと低速動作を行うペリフェラルとが混在するシステムにおいては、設計者が意図した最大システム性能が得られないおそれがあるという問題があった。
関連する技術として、下記の特許文献1には、一定時間内にデータを転送する必要のあるデバイス若しくはDMAチャンネルへのデータ転送を確実に保証する調停システム及び調停方法について述べられている。この調停システムは、調停の対象となる複数のデバイスの中で一定時間内にデータを転送する必要がある特定のデバイスのメモリアクセス開始から次のメモリアクセス開始までの時間を計測して、その特定のデバイスが一定時間選択されていないことを検知したら、その特定デバイスのプライオリティが最も高く、又は少なくとも2番目に高くなるように調停手段のプライオリティを変更するようにして、その特定デバイスのメモリアクセス要求を一定時間ごとに許可できるようにしたものである。
しかしながら、この調停システムにおいては、プライオリティを高くする対象となる全ての特定デバイスに対して、メモリアクセス間隔に関する一定時間を設定する必要がある。例えば、外付けハードディスクドライブに記録されているデータをRAMに書き込む場合には、単位時間内に転送しなければならない転送量を定める必要がないので、メモリアクセス間隔に関する一定時間を設定する必要がないが、外付けハードディスクドライブのプライオリティを高くしたい場合には、外付けハードディスクドライブに対して、メモリアクセス間隔に関する一定時間を設定する必要があるので、設定が煩雑となってしまう。
特開平9−91194号公報(第1,7頁、図1)
そこで、上記の点に鑑み、本発明は、RAMとペリフェラルとの間のデータ転送をCPUを介さずに制御するDMA機能を有する半導体集積回路において、多数のペリフェラルを使用するシステムにおいても、少数のペリフェラルを使用するシステムにおいても、RAMに対する複数のペリフェラルからのアクセス要求をスムーズに調停することができる半導体集積回路を提供することを目的とする。
上記課題を解決するため、本発明に係る半導体集積回路は、中央演算装置を介さずに複数の周辺回路からメモリへのアクセスを制御するダイレクトメモリアクセス機能を有する半導体集積回路であって、それぞれの周辺回路に接続されてメモリへのアクセスを要求するアクセス要求信号を発生し、メモリへのアクセスが許可された場合に、その周辺回路とメモリとの間のデータ転送を制御する複数のメモリアクセス制御手段と、複数のメモリアクセス制御手段に対して設定された優先順位に基づいて、アクセス要求信号を発生するいずれか1つのメモリアクセス制御手段にメモリへのアクセスを許可し、メモリへのアクセスが許可されたメモリアクセス制御手段とメモリとの間のバス調停を行うバス調停手段と、複数のメモリアクセス制御手段のメモリへのアクセス状態に関する複数のカウント値を得る複数のカウンタと、複数のカウンタによって得られた複数のカウント値に基づいて、複数のメモリアクセス制御手段に対して設定された優先順位を変更する優先順位変更手段とを具備する。
ここで、優先順位変更手段が、複数の所定の値を保持するレジスタを含み、複数のカウンタによって得られた複数のカウント値とレジスタが保持する複数の所定の値とのそれぞれの比較結果に基づいて、複数のメモリアクセス制御手段に対して設定された優先順位を変更するようにしても良い。
また、この半導体集積回路が、複数のメモリアクセス制御手段のメモリへのアクセス要求に関する複数のカウント値を得る複数の第2のカウンタをさらに具備し、優先順位変更手段が、複数のカウンタによって得られた複数のカウント値と複数の第2のカウンタによって得られた複数のカウント値とに基づいて、複数のメモリアクセス制御手段に対して設定された優先順位を変更するようにしても良い。
また、この半導体集積回路は、メモリへのアクセスが最後に許可されたメモリアクセス制御手段に関する情報を記憶する記憶手段と、記憶手段に記憶されている情報に基づいて、メモリへのアクセスが最後に許可されたメモリアクセス制御手段から出力されるアクセス要求信号を所定の期間マスクすることによりバス調停手段に入力させないアクセス要求信号マスク手段とをさらに具備するようにしても良い。
本発明によれば、複数のメモリアクセス制御手段のメモリへのアクセス状態に関する複数のカウント値に基づいて、複数のメモリアクセス制御手段に対して設定された優先順位を変更するので、多数のペリフェラルを使用するシステムにおいても、少数のペリフェラルを使用するシステムにおいても、RAMに対する複数のペリフェラルからのアクセス要求をスムーズに調停することができる。
以下、本発明を実施するための最良の形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
図1は、本発明の第1の実施形態に係る半導体集積回路を含むシステムの構成を示すブロック図である。このシステムは、プリンタにおいて印字データを処理するためのシステムである。図1に示すように、このシステムは、データを記憶するRAM10と、RAM10へのデータの書込み及びRAM10からのデータの読出しをDMAデータ転送方式によって行う半導体集積回路20と、システム全体を制御するCPU90とを含んでいる。
半導体集積回路20は、複数のペリフェラル21a、21b、・・・と、これらのペリフェラルに対応して設けられ、これらのペリフェラルとRAM10との間のデータ転送を制御する複数のDMAC22a、22b、・・・と、RAM10との間でデータの受渡しを行うメモリインタフェース23と、複数のDMACとメモリインタフェース23との間のバス調停を行うDMAアービタ30とを含んでいる。
ここで、ペリフェラル21a、21b、・・・としては、プリンタ内部の印字部との間でデータ転送を行うためのプリントデータインタフェースや、プリンタに付属するスキャナとの間でデータ転送を行うためのスキャナインタフェースや、パーソナルコンピュータやデジカメ等の外部装置との間でデータ転送を行うためのシリアルインタフェースであるIEEE1394又はUSB(universal serial bus)等や、パラレルインタフェースであるIEEE1284や、ネットワークに接続された装置との間でデータ転送を行うためのネットワークインタフェース等が該当する。
DMAC22a、22b、・・・は、それぞれ独立したバッファを有しており、それぞれのペリフェラルから出力されるデータをRAM10に書き込んだり、RAM10から読み出されるデータをそれぞれのペリフェラルに出力したりする。また、DMAC22a、22b、・・・の各々は、RAM10へのアクセスを要求するリクエスト信号を発生し、アクセスが許可された場合にはアクノリッジ信号を受信する。
DMAアービタ30は、DMAC22a、22b、・・・から入力されるリクエスト信号、及び、RAM10へのアクセスに関するそれらのDMACの優先順位に基づいて、それらのDMACとメモリインタフェース23との間でバス調停を行う。本実施形態においては、DMAアービタ30が、各々のDMACからバスの使用を要求するために出力されるリクエスト信号と、各々のDMACにバスの使用を許可するために入力されるアクノリッジ信号とを、所定の期間においてサンプリングすることにより、リクエスト信号が出力されている時間とアクノリッジ信号が入力されている時間とに基づいて、DMAC22a、22b、・・・の優先順位を変更する。
図2は、図1に示すDMAアービタの詳細な構成を示すブロック図である。なお、図2には、3つのDMACを用いる例が示されている。図2に示すように、DMAアービタ30は、2つのタイマ31及び32と、それぞれのDMACからリクエスト信号が出力されている時間を累積するカウンタ33a〜33cと、それぞれのDMACにアクノリッジ信号が入力されている時間を累積するカウンタ34a〜34cと、複数のDMACの優先順位を変更するプライオリティジェネレータ部40と、いずれかのDMACにRAM10へのアクセスを許可するアービタ部70と、マルチプレクサ35とを含んでいる。
タイマ31は、サンプリングを継続して行う期間を規定するタイミング信号を出力する。タイマ32は、リクエスト信号及びアクノリッジ信号をサンプリングするために用いられるサンプリングクロック信号を出力する。
カウンタ33aは、タイミング信号によってリセットされ、DMAC22aからリクエスト信号が出力されているときにサンプリングクロック信号のパルスをカウントすることにより、DMAC22aからリクエスト信号が出力されている時間に相当するカウント値Ca1を出力する。同様に、カウンタ33bは、DMAC22bからリクエスト信号が出力されているときにサンプリングクロック信号のパルスをカウントすることにより、DMAC22bからリクエスト信号が出力されている時間に相当するカウント値Cb1を出力し、カウンタ33cは、DMAC22cからリクエスト信号が出力されているときにサンプリングクロック信号のパルスをカウントすることにより、DMAC22cからリクエスト信号が出力されている時間に相当するカウント値Cc1を出力する。
カウンタ34aは、タイミング信号によってリセットされ、DMAC22aにRAM10へのバスアクセス権を示すアクノリッジ信号が入力されているときにサンプリングクロック信号のパルスをカウントすることにより、DMAC22aにアクノリッジ信号が入力されている時間に相当するカウント値Ca2を出力する。同様に、カウンタ34bは、DMAC22bにアクノリッジ信号が入力されているときにサンプリングクロック信号のパルスをカウントすることにより、DMAC22bにアクノリッジ信号が入力されている時間に相当するカウント値Cb2を出力し、カウンタ34cは、DMAC22cにアクノリッジ信号が入力されているときにサンプリングクロック信号のパルスをカウントすることにより、DMAC22cにアクノリッジ信号が入力されている時間に相当するカウント値Cc2を出力する。
プライオリティジェネレータ部40は、カウンタ33a〜33c及び34a〜34cにおいて得られたカウンタ値に基づいて、既に設定されているDMACの優先順位を変更する。アービタ部70は、複数のDMACから出力されるリクエスト信号と複数のDMACの優先順位とに基づいて、いずれかのDMACにアクノリッジ信号を出力すると共に、バス調停信号を出力する。マルチプレクサ35は、バス調停信号に基づいて、いずれかのDMACとメモリインタフェース23との間のバスを接続する。
本実施形態においては、タイマ31から出力されるタイミング信号のパルスの周期T1によってサンプリング継続期間を規定し、タイマ32から出力されるサンプリングクロック信号のパルスの周期T2(<T1)によってサンプリング期間を規定する。
即ち、図3に示すように、DMAC22aからリクエスト信号Raが出力されているときに、サンプリング期間T2毎にカウンタ33aにおけるカウント値Ca1が1ずつインクリメントされ、サンプリング期間T1の間にカウント値Ca1がNまで増加する。その場合には、N×T2の期間においてリクエスト信号が出力されていたことになる。
また、DMAC22aにアクノリッジ信号が入力されているときに、サンプリング期間T2毎にカウンタ34aにおけるカウント値Ca2が1ずつインクリメントされ、サンプリング期間T1の間にカウント値Ca2がNまで増加する。その場合には、N×T2の期間においてアクノリッジ信号が出力されていたことになる。このように、タイマ32から出力されるサンプリングクロック信号に同期してカウントを行うことにより、高ビットのカウンタを用いる必要はない。
再び図2を参照すると、プライオリティジェネレータ部40は、カウンタ33a〜33c及び34a〜34cからそれぞれ出力されるカウント値Ca1〜Cc1及びCa2〜Cc2に基づいて、タイマ31から出力されるタイミング信号に同期して、複数の異なる変更方法を用いてDMAC22a〜22cの優先順位を変更し、変更された優先順位を表す信号P1及びP2を出力する。
また、アービタ部70は、プライオリティジェネレータ部40から出力された優先順位を表す信号P1及びP2、及び、DMAC22a〜22cから出力されたリクエスト信号Ra〜Rcに基づいて、アクノリッジ信号Aa〜Acのいずれかを対応するDMACに出力すると共に、アクノリッジ信号を出力したDMACとメモリインタフェース23とを接続するためのバス調停信号BAを出力する。
図4は、図2に示すプライオリティジェネレータ部の詳細な構成を示すブロック図である。図4に示すように、プライオリティジェネレータ部40は、第1のアービタにおいて用いる優先順位を変更するプライオリティジェネレータ50と、第2のアービタにおいて用いる優先順位を変更するプライオリティジェネレータ60とを含んでいる。
プライオリティジェネレータ50は、カウント値Ca2〜Cc2に基づいて、タイマ31から出力されるタイミング信号に同期して、DMAC22a〜22cの優先順位を与える信号P1を変更する。また、プライオリティジェネレータ60は、カウント値Ca1〜Cc1及びCa2〜Cc2に基づいて、タイマ31から出力されるタイミング信号に同期して、DMAC22a〜22cの優先順位を与える信号P2を変更する。プライオリティジェネレータ50及び60で変更された優先順位を表す信号P1及びP2は、それぞれアービタ部70に出力される。
図5は、図4に示すプライオリティジェネレータ50の詳細な構成を示すブロック図である。プライオリティジェネレータ50は、一定の時間内に所定の量のデータを転送しなければならない印字部やスキャナ等のインタフェースのような最優先ペリフェラルの優先順位を変更し、そのペリフェラルに対して所望の転送能力を保証するための機能ブロックである。
図5に示すように、プライオリティジェネレータ50は、DMAC22a〜22cにそれぞれ対応して設定された所望の転送能力を表すデータを保持するレジスタ51a〜51cと、タイミング信号が入力されたときのカウント値Ca2に基づいて、サンプリング継続期間においてDMAC22aが実際に転送を行ったデータの単位時間当りの量を算出する実転送能力算出部52aと、カウント値Cb2に基づいて、DMAC22bが実際に転送を行ったデータの単位時間当りの量を算出する実転送能力算出部52bと、カウント値Cc2に基づいて、DMAC22cが実際に転送を行ったデータの単位時間当りの量を算出する実転送能力算出部52cとを含んでいる。
各転送量算出部は、次式(1)を用いて、それぞれのDMACの実転送能力Q(Mbps)を算出する。
=Q×N×T2/T1 ・・・(1)
但し、Qは、単位時間当たりのデータ転送可能量(Mbps)であり、Nは、タイミング信号が入力されたときにカウンタ34a〜34cの各々から出力されていたカウント値である。
また、プライオリティジェネレータ50は、レジスタ51a〜51cにおいて保持されている所望の転送能力を表すデータと実転送能力算出部52a〜52cによって算出された実転送能力とをそれぞれ比較する比較部53a〜53cと、比較部53a〜53cにおいて比較された結果に基づいて優先順位を変更する優先順位変更部54とを含んでいる。
ここで、優先順位変更部54は、比較部53a〜53cにおける比較結果に基づいて、実転送能力Qが所望の転送能力未満であるDMACの優先順位を、上位の優先順位に変更し、変更された優先順位を表す信号P1をアービタ部70に出力する。ここで、優先順位変更部54は、実転送能力Qが所望の転送能力未満であるDMACの優先順位が1つずつ高くなるように優先順位を変更しても良いし、所望の転送能力に対する実転送能力Qの割合が最も小さいDMACほど優先順位が高くなるように優先順位を変更しても良い。なお、優先順位の初期値は、起動時においてCPU90が設定する。
図6は、図4に示すプライオリティジェネレータ60の詳細な構成を示すブロック図である。プライオリティジェネレータ60は、外付けのハードディスクドライブのように、一定の時間内に転送すべきデータ量は規定されないが、バスを使用する許可を与えられるのが大幅に遅れることなくスムーズにデータ転送することが望まれるような準優先ペリフェラルの優先順位を変更し、そのペリフェラルに対してスムーズにデータ転送することを保証するための機能ブロックである。
図6に示すように、プライオリティジェネレータ60は、タイミング信号が入力されたときのカウント値Ca1及びCa2に基づいて、DMAC22aの待機時間を算出する待機時間算出部61aと、カウント値Cb1及びCb2に基づいて、DMAC22bの待機時間を算出する待機時間算出部61bと、カウント値Cc1及びCc2に基づいて、DMAC22cの待機時間を算出する待機時間算出部61cとを含んでいる。
待機時間算出部61a〜61cは、次式(2)を用いて、DMAC22a〜22cのバス使用リクエストの待機時間Tをそれぞれ算出する。
T=(N−N)×T2 ・・・(2)
但し、Nは、図2に示すタイマ31から各待機時間算出部にタイミング信号が入力された時に各カウンタから入力されているカウント値である。
また、プライオリティジェネレータ60は、待機時間算出部61a〜61cにおいて算出された待機時間Tを比較する比較部62と、比較部62における比較結果に基づいて優先順位を変更する優先順位変更部63とを含んでいる。
ここで、優先順位変更部63は、各DMACに対応する待機時間Tを比較し、待機時間Tが大きいものほど優先順位が高くなるように優先順位を変更し、変更された優先順位を表す信号P2をアービタ部70に出力する。なお、優先順位の初期値は、起動時においてCPU90が設定する。
図7は、図2に示すアービタ部の詳細な構成を示すブロック図である。図7に示すように、アービタ部70は、優先順位を変更する方法を選択するためにCPU90によって設定されたデータを保持するレジスタ71a〜71c及び72a〜72cと、3入力AND回路73a〜73c、74a〜74c、75a〜75cと、アービタ76a〜76c及び77とを含んでいる。アービタ76a〜76cの各々は、それぞれの優先順位に基づいてリクエスト信号Ra〜Rcの内の1つを選択し(それが存在する場合に)、選択したリクエスト信号を出力したDMACを表す信号を出力する。
ここで、アービタ76aは、優先順位を表す信号P1に基づいて、いずれかのDMACからAND回路73a〜75aを介して入力されたリクエスト信号を選択し、選択したリクエスト信号を出力したDMACを表す信号S1を出力する。アービタ76bは、優先順位を表す信号P2に基づいて、いずれかのDMACからAND回路73b〜75bを介して入力されたリクエスト信号を選択し、選択したリクエスト信号を出力したDMACを表す信号S2を出力する。アービタ76cは、予め定められている優先順位に基づいて、いずれかのDMACからAND回路73c〜75cを介して入力されたリクエスト信号を選択し、選択したリクエスト信号を出力したDMACを表す信号S3を出力する。
ここで、各アービタ76a〜76cの各々は、それぞれの優先順位に基づいて、入力されたリクエスト信号を出力したDMACの中で、最も優先順位の高いDMACのリクエスト信号を選択し、選択したリクエスト信号を出力したDMACを表す信号をアービタ77に出力する。
また、アービタ部77は、予め定められている優先順位に基づいて、アービタ76a〜76cから入力された信号S1〜S3の内のいずれか1つを選択し、選択した信号が表すDMACにアクノリッジ信号を出力すると共に、選択した信号をバス調停信号BAとしてマルチプレクサ35に出力する。
本実施形態においては、アービタ77が、所望の転送能力を保証するために変更された優先順位に基づいてアービタ76aから出力された信号S1を最も高い優先順位で選択し、アービタ76bから出力された信号S2を次に高い優先順位で選択し、固定された優先順位に基づいてアービタ76cから出力された信号S3を最も低い優先順位で選択する。
即ち、アービタ76aに、いずれかのDMACからリクエスト信号が入力された場合には、アービタ76aから最も高い優先順位の信号S1が出力されるので、アービタ77は、アービタ76aから出力された信号S1を選択する。
また、アービタ76aに、いずれのDMACからもリクエスト信号が入力されず、アービタ76bに、いずれかのDMACからリクエスト信号が入力された場合には、アービタ76aから信号S1が出力されず、アービタ76bから信号S2が出力されるので、アービタ77は、アービタ76bから出力された信号S2を選択する。
さらに、アービタ76a及び76bに、いずれのDMACからもリクエスト信号が入力されず、アービタ76cに、いずれかのDMACからリクエスト信号が入力された場合には、アービタ76a及び76bから信号S1及びS2が出力されず、アービタ76cから信号S3が出力されるので、アービタ77は、アービタ76cから出力された信号S3を選択する。
アービタ77は、いずれかのアービタから入力された信号に基づいて、その信号が表すDMACにアクノリッジ信号を出力し、その信号をバス調停信号BAとしてマルチプレクサ35に出力する。マルチプレクサ35は、バス調停信号BAに基づいて、そのDMACとメモリインタフェース23との間のバス調停を行う。
なお、複数のDMACがRAMにアクセスする優先順位の変更方法は、レジスタ71及び72に保持させるデータによって設定される。即ち、各DMACに対応するペリフェラルが最優先ペリフェラル、準優先ペリフェラル、低優先ペリフェラルのいずれかであるかは、レジスタ71及び72に保持させるデータによって設定される。
例えば、優先順位を表す信号P1に基づいてDMAC22aとメモリインタフェース23との間のバスを調停する場合には、レジスタ71a及び72aにハイレベルの信号「1」を保持させることにより、DMAC22aから出力されるリクエスト信号が、AND回路73aを介してアービタ76aに入力され、AND回路74a及び75aの出力信号は常にローレベルであるので、アービタ76b及び76cには入力されない。したがって、DMAC22aとメモリインタフェース23との間のバスは、優先順位を表す信号P1に基づいて、アービタ76aによって調停される。
同様に、優先順位を表す信号P2に基づいてDMAC22aとメモリインタフェース23との間のバスを調停する場合には、レジスタ71aにハイレベルの信号「1」及びレジスタ72aにローレベルの信号「0」を保持させることにより、DMAC22aから出力されるリクエスト信号が、AND回路74aを介してアービタ76bに入力される。したがって、DMAC22aとメモリインタフェース23との間のバスは、優先順位を表す信号P2に基づいて、アービタ76bによって調停される。
予め設定された優先順位に基づいてDMAC22aとメモリインタフェース23との間のバスを調停する場合には、レジスタ71aにローレベルの信号「0」及びレジスタ72aにハイレベルの信号「1」を保持させることにより、DMAC22aから出力されるリクエスト信号が、AND回路75aを介してアービタ76cに入力される。したがって、DMAC22aとメモリインタフェース23との間のバスは、予め設定された優先順位に基づいて、アービタ76cによって調停される。
次に、本発明の第2の実施形態に係る半導体集積回路について説明する。図8は、本発明の第2の実施形態に係る半導体集積回路を含むシステムの構成を示すブロック図である。なお、この半導体集積回路においては、DMAアービタ30の替わりに、DMAアービタ80が、複数のDMACとメモリインタフェース23との間のバス調停を行う。その他の構成については、図1に示す半導体集積回路と同様である。
図9は、図8に示すDMAアービタの詳細な構成を示すブロック図である。図9に示すように、DMAアービタ80は、バス調停信号BAを記憶することにより、最後にバスを使用したDMACの情報を格納するパストレコーダ81と、パストレコーダ81の記憶するバス調停信号BAに基づいて、最後にバスを使用したDMACから出力されるリクエスト信号を1クロック信号の間出力しないことにより、アービタ部70に出力されるリクエスト信号をマスクするリクエストマスカ82a〜82cとを含んでいる。その他の構成については、図2に示すDMAアービタ30と同様である。
次に、パストレコーダ81及びリクエストマスカ82a〜82cの動作について説明する。パストレコーダ81は、アービタ部70から最後に出力されたバス調停信号BAを格納する。バス調停信号BAは、マルチプレクサ35がメモリインタフェース23とDMACのいずれかのバスを接続するための信号であるので、最後に出力されたバス調停信号BAは、最後にRAM10にアクセスしたDMACの情報に相当する。
ここで、例えば、最優先ペリフェラルに対応するDMACからリクエスト信号が連続して出力された場合には、そのリクエスト信号が出力されている期間において、準優先ペリフェラルに対応するDMACからリクエスト信号が出力されても、最優先ペリフェラルに対応するDMACによるRAMの制御が連続して行われる可能性がある。
そこで、本実施形態においては、パストレコーダ81が、バス調停信号BAの表すDMACに対応するリクエストマスカにリクエスト信号をマスクするためのマスク制御信号を出力し、マスク制御信号を入力されたリクエストマスカが、マスク制御信号に同期して1クロック間だけバス調停信号BAの表すDMACから出力されるリクエスト信号をマスクする。
その結果、最優先ペリフェラルに対応するDMACからリクエスト信号が連続して出力されている期間内において、準優先ペリフェラルに対応するDMACからリクエスト信号が出力されても、最優先ペリフェラルに対応するDMACから出力されるリクエスト信号がマスクされている期間に、準優先ペリフェラルに対応するDMACが、RAMの制御を開始することができる。
これにより、本実施形態においては、優先順位の高いDMACから連続してリクエスト信号が出力された場合においても、バスが、優先順位の高いDMACに独占されることなく、他のDMACがバスを使用することが可能となる。
以上説明したように、本発明は、ビデオインタフェースやネットワークインタフェース等の異なる種類のペリフェラルを有するプリンタ等において印字データを処理するためのシステムに利用可能である。
本発明の第1の実施形態に係る半導体集積回路を含むシステムの構成を示すブロック図。 図1に示すDMAアービタの詳細な構成を示すブロック図。 DMAアービタの各部における動作を示すタイミングチャート。 図2に示すプライオリティジェネレータ部の詳細な構成を示すブロック図。 図4に示すプライオリティジェネレータ50の詳細な構成を示すブロック図。 図4に示すプライオリティジェネレータ60の詳細な構成を示すブロック図。 図2に示すアービタ部の詳細な構成を示すブロック図。 本発明の第2の実施形態に係る半導体集積回路を含むシステムの構成を示すブロック図。 図8に示すDMAアービタの詳細な構成を示すブロック図。
符号の説明
10 RAM、 20 半導体集積回路、 21a〜21c ペリフェラル、 22a〜22c DMAC、 23 メモリインタフェース、 30、80 DMAアービタ、 31、32 タイマ、 33a〜33c、34a〜34c カウンタ、 35 マルチプレクサ、 40 プライオリティジェネレータ部、 50、60 プライオリティジェネレータ、 51a〜51c、71a〜71c、72a〜72c レジスタ、 52a〜52c 実転送能力算出部、 53a〜53c、62 比較部、 54、63 優先順位変更部 61a〜61c 待機時間算出部、 73a〜73c、74a〜74c、75a〜75c AND回路、 76a〜76c、77 アービタ、 81 パストレジスタ、 82a〜82c リクエストマスカ、 90 CPU(中央演算装置)

Claims (4)

  1. 中央演算装置を介さずに複数の周辺回路からメモリへのアクセスを制御するダイレクトメモリアクセス機能を有する半導体集積回路であって、
    それぞれの周辺回路に接続されて前記メモリへのアクセスを要求するアクセス要求信号を発生し、前記メモリへのアクセスが許可された場合に、その周辺回路と前記メモリとの間のデータ転送を制御する複数のメモリアクセス制御手段と、
    前記複数のメモリアクセス制御手段に対して設定された優先順位に基づいて、アクセス要求信号を発生するいずれか1つのメモリアクセス制御手段に前記メモリへのアクセスを許可し、前記メモリへのアクセスが許可されたメモリアクセス制御手段と前記メモリとの間のバス調停を行うバス調停手段と、
    前記複数のメモリアクセス制御手段の前記メモリへのアクセス状態に関する複数のカウント値を得る複数のカウンタと、
    前記複数のカウンタによって得られた複数のカウント値に基づいて、前記複数のメモリアクセス制御手段に対して設定された優先順位を変更する優先順位変更手段と、
    を具備する半導体集積回路。
  2. 前記優先順位変更手段が、複数の所定の値を保持するレジスタを含み、前記複数のカウンタによって得られた複数のカウント値と前記レジスタが保持する複数の所定の値とのそれぞれの比較結果に基づいて、前記複数のメモリアクセス制御手段に対して設定された優先順位を変更する、請求項1記載の半導体集積回路。
  3. 前記複数のメモリアクセス制御手段の前記メモリへのアクセス要求に関する複数のカウント値を得る複数の第2のカウンタをさらに具備し、
    前記優先順位変更手段が、前記複数のカウンタによって得られた複数のカウント値と前記複数の第2のカウンタによって得られた複数のカウント値とに基づいて、前記複数のメモリアクセス制御手段に対して設定された優先順位を変更する、
    請求項1又は2記載の半導体集積回路。
  4. 前記メモリへのアクセスが最後に許可されたメモリアクセス制御手段に関する情報を記憶する記憶手段と、
    前記記憶手段に記憶されている情報に基づいて、前記メモリへのアクセスが最後に許可されたメモリアクセス制御手段から出力されるアクセス要求信号を所定の期間マスクすることにより前記バス調停手段に入力させないアクセス要求信号マスク手段と、
    をさらに具備する請求項1〜3のいずれか1項記載の半導体集積回路。
JP2003287733A 2003-08-06 2003-08-06 半導体集積回路 Withdrawn JP2005056239A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003287733A JP2005056239A (ja) 2003-08-06 2003-08-06 半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003287733A JP2005056239A (ja) 2003-08-06 2003-08-06 半導体集積回路

Publications (1)

Publication Number Publication Date
JP2005056239A true JP2005056239A (ja) 2005-03-03

Family

ID=34366632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003287733A Withdrawn JP2005056239A (ja) 2003-08-06 2003-08-06 半導体集積回路

Country Status (1)

Country Link
JP (1) JP2005056239A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262315A (ja) * 2007-04-11 2008-10-30 Renesas Technology Corp Dmaコントローラおよびdma転送方法
JP2012234581A (ja) * 2012-09-05 2012-11-29 Renesas Electronics Corp Dmaコントローラ
JP2014004694A (ja) * 2012-06-21 2014-01-16 Seiko Epson Corp 液体吐出装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262315A (ja) * 2007-04-11 2008-10-30 Renesas Technology Corp Dmaコントローラおよびdma転送方法
US8176221B2 (en) 2007-04-11 2012-05-08 Renesas Electronics Corporation DMA controller
JP2014004694A (ja) * 2012-06-21 2014-01-16 Seiko Epson Corp 液体吐出装置
JP2012234581A (ja) * 2012-09-05 2012-11-29 Renesas Electronics Corp Dmaコントローラ

Similar Documents

Publication Publication Date Title
JP4480427B2 (ja) リソース管理装置
EP1403773B1 (en) Resource management device
JP4457168B2 (ja) 資源要求調停装置、資源要求調停方法、及び、コンピュータプログラム
JP2559906B2 (ja) アービトレーション・システム及び方法
JP2006195714A (ja) リソース管理装置
EP2423824B1 (en) Data transfer device, method of transferring data, and image forming apparatus
KR930002787B1 (ko) 주변 제어기와 어댑터 인터페이스
US4896266A (en) Bus activity sequence controller
KR960042385A (ko) 엘알유(lru)에 의한 중재기
JP2004246862A (ja) リソース管理装置
JP2005056239A (ja) 半導体集積回路
JP4953794B2 (ja) バスシステムのバス調停方法及びバスシステム
JP4666143B2 (ja) データ転送処理装置
EP1513069B1 (en) Resource management apparatus
EP1424634B1 (en) Avoidance of extended bus occupancy through simple control operation
JPH09153009A (ja) 階層構成バスのアービトレーション方法
JP4344163B2 (ja) 資源要求調停装置、資源要求調停方法、及び、コンピュータプログラム
JPH07281942A (ja) 共有資源のアービトレーション方法
JP7381603B2 (ja) データ転送装置およびデータ転送方法
JP2574345B2 (ja) バス調停装置
JP2003006139A (ja) Dma転送装置
JP7226084B2 (ja) 情報処理装置
JPH10149311A (ja) メモリ制御装置
JP2001117860A (ja) メモリアクセス優先順位切替制御装置
JP4150953B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20061107