JP2000010854A - メモリ制御装置 - Google Patents

メモリ制御装置

Info

Publication number
JP2000010854A
JP2000010854A JP10173290A JP17329098A JP2000010854A JP 2000010854 A JP2000010854 A JP 2000010854A JP 10173290 A JP10173290 A JP 10173290A JP 17329098 A JP17329098 A JP 17329098A JP 2000010854 A JP2000010854 A JP 2000010854A
Authority
JP
Japan
Prior art keywords
address
memory
data
status
register
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
JP10173290A
Other languages
English (en)
Inventor
Kuniyuki Nakayama
邦幸 中山
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.)
Asahi Chemical Industry Co Ltd
Original Assignee
Asahi Chemical Industry 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 Asahi Chemical Industry Co Ltd filed Critical Asahi Chemical Industry Co Ltd
Priority to JP10173290A priority Critical patent/JP2000010854A/ja
Publication of JP2000010854A publication Critical patent/JP2000010854A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 半導体チップの面積の削減などにより小型化
できるようにしたメモリ制御装置の提供。 【解決手段】 ステータス生成部11は、アドレス生成
の種別毎に動作する複数のステータス生成器11a〜1
1nから構成されている。アドレス生成の際に、その複
数のステータス生成器11a〜11nのうちの1つがそ
のアドレス生成の種別に応じてアドレスの変動情報を生
成し、この生成したアドレスの変動情報に基づいて、デ
ータパスコントローラ12とアドレスデータパス部13
がアドレスの生成を行う。データパスコントローラ12
とアドレスデータパス部13は、複数のステータス生成
器11a〜11nに共通の構成要素となっている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、シンクロナスDR
AM(以下、SDRAMという)やDRAMなどの半導
体メモリを制御するメモリ制御装置に関する。
【0002】
【従来の技術】従来、MPEG(モーション・ピクチュ
ア・エキスパート・グループ)などの画像圧縮や画像伸
長をするための画像処理装置は、その取り扱う画像デー
タが大量であるため、外部にDRAMやSDRAM等の
大容量データを記憶できるメモリが接続するようになさ
れており、それらのメモリを制御し、データの書き込
み、読み込みを行うためのメモリ制御装置を備えてい
る。
【0003】この種のメモリ制御装置としては、例えば
図13に示すようなものが知られている。このメモリ制
御装置は、図13に示すように、要求/応答コントロー
ラ1、アドレス生成部2、SDRAM5の制御を行うS
DRAMコントローラ3、レジスタ4などから構成され
ている。アドレス生成部2は、PFアドレス生成部(ピ
クセル・フィルタリング・アドレス生成部)2a、MC
(動き補償)アドレス生成部2b、・・・FIFO(フ
ァーストイン・ファーストアウト)アドレス生成部2n
等から構成されている。
【0004】このような構成からなるメモリ制御装置で
は、要求/応答コントローラ1が、SDRAM5に対す
るデータの読み/書きの要求を受け付けると優先順位の
チェックを行い、要求信号よりも高い優先順位の要求が
なければ、その要求信号を受け付ける。このように要求
信号が受け付けられると、要求信号に対応するアドレス
生成部2a〜2nが選択され、この選択されたアドレス
生成部2a〜2nはその要求信号に応じてアドレス計算
を実行する。アドレス生成部2a〜2nで計算されたア
ドレスからの出力は、例えばトライステート・バッファ
(図示せず)により制御される。SDRAMコントロー
ラ3は、アドレス生成部2a〜2nからアドレスを受け
取りSDRAM5に対して所定のアドレス制御を行う。
【0005】ここで、SDRAMコントローラ3は、ハ
ードウエア・シーケンサにより制御されるようになって
いる。また、SDRAMコントローラ3は、ページ・バ
ウンダリ(ロウアドレスが変化する部分)やデータの転
送の終了などにおいて、プリ・チャージ(Pre−ch
arge)を行う場合は、メモリ・チップを構成する2
つのバンクをプリ・チャージするようになっている。
【0006】
【発明が解決しようとする課題】このような従来のメモ
リ制御装置では、外部からの要求信号に基づいてアドレ
ス計算を行うアドレス生成部2a〜2nがアドレス生成
の種別の個数だけ必要となる上に、各アドレス生成部2
a〜2nは加算器やカウンタなど同様のリソースからそ
れぞれ構成される。このため、アドレス生成部2a〜2
nの個数が例えば10個というように多い場合にはその
リソースも増加して大型化し、特に、メモリ制御装置を
集積回路で構成する場合には半導体チップの面積が大き
くなるので、その面積の削減が望まれていた。
【0007】そこで、本発明の目的は、半導体チップの
面積の削減などにより小型化できるようにしたメモリ制
御装置を提供することにある。
【0008】
【課題を解決するための手段】上記課題を解決し、本発
明の目的を達成するために、請求項1に記載の発明は、
外部からの要求に応じてメモリのアドレスを生成し、こ
の生成したアドレスで指定されるメモリセルに対してデ
ータの読み書き動作を行うように前記メモリを制御する
メモリ制御装置において、前記メモリのアドレスの生成
の種別毎に設けられ、外部からの要求に応じてアドレス
の生成の種別を受け取ると、この受け取った種別に応じ
てアドレスの生成を行う際にアドレスの変動情報を生成
する、複数のステータス生成手段と、このステータス生
成手段で生成された前記アドレスの変動情報に基づい
て、前記外部からの要求に応じたアドレスを生成するア
ドレス生成手段とを備えるようにした。
【0009】
【発明の実施の形態】以下、本発明の好適な実施形態に
ついて、図面を参照しつつ説明する。まず、この実施の
形態のメモリ制御装置の構成の概要について、図1を参
照して説明する。図1は、本発明の実施形態のメモリ制
御装置の全体の構成を、制御対象であるメモリとともに
示すブロック図であり、MPEG画像処理装置に適用さ
れた例である。
【0010】このメモリ制御装置は、図1に示すよう
に、要求/応答コントローラ1と、ステータス生成部1
1と、データパスコントローラ12と、アドレスデータ
パス部13と、SDRAMコントローラ14と、レジス
タ4とを備え、SDRAMコントローラ14がSDRA
M5を制御するように構成されている。なお、このメモ
リ制御装置は、各構成要素がチップ上に集積回路化され
ている。
【0011】また、このメモリ制御装置では、ステータ
ス生成部11がアドレス生成の種別毎に動作する複数の
ステータス生成器11a〜11nを有している。そし
て、アドレス生成の際には、その複数のステータス生成
器11a〜11nのうちの1つがそのアドレス生成の種
別に応じてアドレスの変動情報を生成し、この生成した
アドレスの変動情報に基づいて、データパスコントロー
ラ12とアドレスデータパス部13がその種別に応じた
アドレスの生成を行うようになっている。従って、デー
タパスコントローラ12とアドレスデータパス部13と
は、各ステータス生成器11a〜11nに共通の構成要
素となっている。
【0012】さらに、このメモリ制御装置では、SDR
AMコントローラ14がアドレスデータパス部13で生
成されたアドレスをSDRAM5に出力するとともに、
そのアドレスで指定されるSDRAM5のメモリセルに
対してデータの読み書き動作を行うようになっている。
【0013】次に、このメモリ制御装置の各部の詳細な
構成について、以下に図面を参照して説明する。要求/
応答コントローラ1は、外部からSDRAM5に対する
データの読み込みまたは書き込みの要求を受け付け、そ
の要求が複数の場合には、予め設定されている優先順位
に従ってインターナル・リクエストをステータス生成部
11a〜11nとデータパスコントローラ12に出力す
るように構成されている。
【0014】レジスタ4は、外部と電気的に接続され、
かつ外部から後述のようにアドレス計算に必要な数値が
設定可能に構成されている。ステータス生成部11は、
図1に示すように、PFステータス生成器(ピクセル・
フィルタリングステータス生成器)11a、MCステー
タス生成器(動き補償ステータス生成器)11b、・・
・FIFOステータス生成器(ファーストイン・ファー
ストアウト・ステータス生成器)11nから構成され
る。この各ステータス生成器11a〜11nは、ピクセ
ル・フィルタリングや動き補償のようなアドレス生成の
種別に対応するものであり、要求/応答コントローラ1
からの要求信号に応じて選択されるようになっている。
そして、各ステータス生成器11a〜11nは、アドレ
ス生成の際には、後述のようにアドレスの変動状態(ス
テータス信号)を生成し、この生成したアドレスのステ
ータス信号をデータパスコントローラ12に通知するよ
うに構成されている。
【0015】次に、ステータス生成部11におけるアド
レスのステータス生成の一例として、PFステータス生
成器11aの場合について説明する。例えば、MPEG
(Motion Picture Expert Gr
oup)で採用され各画素に対して所定のフィルタ処理
を行うピクセル・フィルタリング(Pixel Fil
tering)、または動き補償(Motion Co
mpensation)の処理単位は、本実施の形態に
おいては、図2に示すような8×8のマクロブロックの
単位で行われ、SDRAM5へのデータ転送は、図2に
示すように4×4からなるブロック毎に行われてそのデ
ータがメモリセルに格納される。なお、8×8のマクロ
ブロックとしたのは、データバス幅を16ビットとし、
またフィールド単位としたためで、通常の16×16で
行っても良い。
【0016】ここで、図2中の各数値は、SDRAM5
内のアドレスを示す。このため、データの転送中にデー
タがブロックのバウンダリ(図2のブロック同士を仕切
る太く書いた境界線)をまたぐ場合には、アドレス値が
シーケンシャルでなく不連続に変化する。例えば、図2
に示すように、データの転送が水平方向にブロックをま
たぐ場合にはそのアドレスの値が「13」変化し、垂直
方向にブロックをまたぐ場合にはそのアドレスの値が
「20」変化する。
【0017】また、データ転送の領域(リージョン:R
egion)が変化する場合にも、アドレス値が不連続
に変化し、この場合には次の2つのステータスが考えら
れ、この点について図3を参照して説明する。図3は、
画像の実空間とデータ転送の領域の関係を模式的に表し
た図である。 (a)スモール領域(Small Region) スモール領域とは、データ転送の領域中に連続したアド
レスのデータが4個未満しかない場合(CASレイテン
シが2の場合、CASレイテンシが3の場合には連続し
たアドレスのデータが5個未満)であり、図3の領域
「R0」、「R4」がスモール領域に該当する。 (b)ラージ領域(Large Region) ラージ領域とは、データ転送の領域中に連続したアドレ
スのデータが4個以上ある場合(CASレイテンシが2
の場合、CASレイテンシが3の場合には連続したアド
レスのデータが5個以上)であり、図3の領域「R
1」、「R5」がラージ領域に該当する。
【0018】PFステータス生成器11aがアドレス生
成の際に生成するステータスをまとめると図4の表のよ
うになる。図4の表に示すように、ステータスには、ホ
リゾンタル・リージョン・エンド(Horizonta
l Region End)、ホリゾンタル・ブロック
・バウンダリ(Horizontal Block B
oundary)、バーチカル・ブロック・バウンダリ
(Vertical Block Boundar
y)、ネクストリージョン(Next Regio
n)、セット・スモール・リージョン(Set Sma
ll Region)、セット・ラージ・リージョン
(Set Large Region)、イニシャライ
ズ・アドレス(Initialize Addres
s)があり、これらの各内容は図4に示す通りである。
この内容の一例について説明すると、ホリゾンタル・リ
ージョン・エンドの場合には、データの転送位置が水平
方向にリージョンの最後まで到達したときにアクティブ
になり、この旨がデータパスコントローラ12に通知さ
れる。
【0019】次に、データパスコントローラ12の構成
について、図1および図5を参照して説明する。このデ
ータパスコントローラ12は、図1に示すように、アド
レス生成の際に、ステータス生成器11a〜11nのう
ちの1つからアドレス生成の種別に応じたステータス信
号を受け取り、この受け取ったステータス信号に基づい
てアドレスデータパス部13が外部からの要求に応じた
所定のアドレスを生成するように、アドレスデータパス
部13などを制御するように構成されている。
【0020】このデータパスコントローラ12は、具体
的には図5に示すように、オフセットアドレス計算部1
21、イニシャルアドレス計算部122、制御信号生成
部123、およびステータス生成部コントローラ124
から構成されている。
【0021】オフセットアドレス計算部121は、レジ
スタ4にセットされるベースアドレスの値を例えば32
倍し、この値をオフセットアドレスとしてアドレスデー
タパス部13の加算器139に出力するように構成され
ている。
【0022】イニシャルアドレス計算部122は、外部
の要求に基づいてデータの転送開始時のアドレスの初期
値を計算し、この計算した初期値をアドレスデータパス
部13のレジスタ(Reg11)に転送するように構成
されている。例えば、ピクセル・フィルタリングのアド
レス計算では、各リージョンの先頭アドレスを計算する
ようになっている。
【0023】制御信号生成部123は、ステータス生成
器11a〜11nから送られてくる各ステータス信号
と、SDRAMコントローラ14からのノップ・チェッ
ク・フラグ(図10のビット9〜ビット11に示すNO
P Check Flag)に基づいてアドレスデータ
パス部13を制御する制御信号を生成し、この生成した
制御信号をアドレスデータパス部13のインストラクシ
ョンメモリ・ポインタ130に出力するように構成され
ている。
【0024】なお、上記のノップ・チェック・フラグ
は、後述するイニシャルプロセス中とスモールリージョ
ン・ジャンププロセス中に、ステータス生成器11a〜
11nなどを一時的に非動作状態(Non−Opera
tion(以下、NOPというつ))にさせる場合のタ
イミングを示すフラグである。
【0025】制御信号生成部123で生成される制御信
号としては、アドレス生成スタート信号、第1加算信
号、第2加算信号、アドレス初期値セット信号、アドレ
ス生成一時停止信号があり、以下に各信号について説明
する。
【0026】アドレス生成スタート信号は、アドレス生
成を開始するための制御信号であり、SDRAMコント
ローラ14の有するSDRAMコマンドメモリ141に
格納されている(図10のビット3の制御コマンド)。
【0027】第1加算信号は、現在のアドレス値に
「1」の加算をするように指示するための制御信号であ
る。第2加算信号は、ディフォルト値以外の値を現在の
アドレス値に加算することを指示するための制御信号で
ある。例えば、図4の表において、ステータスがホリゾ
ンタル・リージョン・エンドの場合には4を加算するこ
とであり、ホリゾンタル・ブロック・リージョンの場合
には13を加算することである。
【0028】アドレス初期値セット信号は、アドレスの
初期値をセットするための制御信号である。上述のピク
セル・フィルタリングの場合において、各リージョンに
ジャンプする場合には、この信号がアクティブとなる。
【0029】アドレス生成一時停止信号(nop1〜n
op4)は、アドレスデータパス部13におけるアドレ
スの生成を一時止めるための制御信号である。この信号
は、連続したアドレスのデータの数と、SDRAM5へ
の制御コマンドの出し方により決まるものである。この
アドレス生成一時停止信号(nop1〜nop4)は、
その信号に応じて1〜4サイクルの間、アドレスの生成
を止める。例えば、上記のスモール領域の場合には、1
サイクルの間、アドレスデータパス部13におけるアド
レスの生成を止める。
【0030】ステータス生成制御部124は、SDRA
Mコントローラ14からのステータス生成スタート信号
(図10のビット3の制御コマンド)などにより各ステ
ータス生成器11a〜11nの動作を制御するステータ
ス生成制御信号を生成し、この生成したステータス生成
制御信号を各ステータス生成器11a〜11nに供給す
るように構成されている。
【0031】このステータス生成制御信号がアクティブ
の場合に、各ステータス生成器11a〜11nは動作す
る。このステータス生成制御信号は、SDRAMコント
ローラ14からのステータス生成スタート信号を受けて
アクティブとなり、アドレス生成一時停止信号(nop
1〜4)がアクティブの場合にはディアクティブにな
る。また、ブロック中において転送サイクルをカウント
し、このカウント値が0になると、ステータス生成制御
信号をディアクティブにする。
【0032】次に、アドレスデータパス部13の構成に
ついて、図1および図6を参照して説明する。このアド
レスデータパス部13は、図1に示すように、データパ
スコントローラ12から送られてくる制御信号によりイ
ンストラクションメモリ131の読み出しアドレスを決
定し、この読み出された命令に基づいてSDRAM5の
アドレス(フィジカルアドレス)を生成(計算)するよ
うに構成されている。
【0033】このアドレスデータパス部13は、具体的
には、例えば図6に示すように、インストラクションメ
モリ・ポインタ130と、インストラクションメモリ1
31と、インストラクションデコーダ132と、複数の
レジスタ(Reg20〜Reg27)と、レジスタ(R
eg10)と、レジスタ(Reg11)と、レジスタ選
択スイッチ136と、レジスタ選択スイッチ137と、
加算器138と、加算器139とから構成されている。
【0034】インストラクションメモリ・ポインタ13
0は、データパスコントローラ12からの制御信号に基
づいてインストラクションメモリ131のアドレスを指
定するようになっている。インストラクションメモリ1
31には、例えば図7に示すような命令が格納され、こ
の命令の具体的なデータの一例が図8に示されている。
この点については後述する。
【0035】インストラクションデコーダ132は、イ
ンストラクションメモリ131に格納されている命令デ
ータがインストラクションメモリ・ポインタ130のア
ドレス指定により読み出されると、この読み出された命
令データをデコード(復号化)し、このデコードされた
命令データをレジスタ選択スイッチ136、137に出
力するようになっている。
【0036】レジスタ(Reg20〜Reg27)はそ
れぞれ8ビットで構成され、この各レジスタ(Reg2
0〜Reg27)には、アドレスの生成に必要な定数値
をセット(格納)するようになっている。その定数値
は、初期化時にレジスタ4にあらかじめセットされ、要
求/応答コントローラ1に要求が受け付けられたとき
に、その要求に応じてレジスタ(Reg20〜Reg2
7)にセットされるようになっている。
【0037】レジスタ(Reg11)は21ビットで構
成され、イニシャルアドレス計算部122で計算された
イニシャルアドレス(初期値アドレス)が格納されるよ
うになっている。例えば、ピクセル・フィルタリングに
かかるデータの転送時には、各ラインの先頭アドレスが
格納される。
【0038】レジスタ(Reg10)は21ビットで構
成され、アキュームレータ(累算器)として機能し、加
算器138の加算結果が格納されるようになっている。
レジスタ選択スイッチ136は、そのインストラクショ
ンデコーダ132からの出力データに基づきレジスタ
(Reg20〜Reg27)のうちの1つのレジスタを
選択するように構成されている。このため、この選択さ
れたレジスタの格納内容は加算器138の一方の入力側
に供給される。
【0039】レジスタ選択スイッチ137は、そのイン
ストラクションデコーダ132からの出力データに基づ
きレジスタ(Reg10)またはレジスタ(Reg1
1)のうちの一方のレジスタを選択するように構成され
ている。このため、この選択されたレジスタの格納内容
は加算器138の他方の入力側に供給される。
【0040】加算器138は、レジスタ選択スイッチ1
36で選択されたレジスタ(Reg20〜Reg27)
のうちの1つのレジスタの格納内容と、レジスタ選択ス
イッチ137で選択されたレジスタ(Reg10)また
はレジスタ(Reg11)のうちのいずれかのレジスタ
の格納内容とを加算し、その加算結果を加算器139と
レジスタ(Reg10)に出力するようになっている。
【0041】加算器139は、加算器138の加算結果
(相対アドレス)と、オフセットアドレス計算部121
で計算されたオフセットアドレスとを加算してSDRA
M5のアドレス(フィジカルアドレス)を算出し、この
加算結果をSDRAMコントローラ14に出力するよう
になっている。
【0042】なお、以上説明したアドレスデータパス部
13では、レジスタ(Reg11)にイニシャルアドレ
スの値を格納し、加算器139にオフセットアドレスを
供給するように構成したが、レジスタ(Reg11)に
オフセットアドレス値とイニシャルアドレス値との和の
値を格納するようにすれば、加算器139は省略可能で
ある。
【0043】次に、インストラクションメモリ131に
格納される命令について、図7を参照して説明する。こ
のインストラクションメモリ131の各番地には、図7
に示すように、レジスタ(Reg10)またはレジスタ
(Reg11)のうちのいずれか一方を選択するととも
に、レジスタ(Reg20〜Reg27)のうちのいず
れか1つを選択し、この選択した両レジスタの各格納値
を加算する命令が格納されている。例えば、その1番地
には、「ADD Select R11 Select
R20」という命令が格納されている。この命令の内
容は、「レジスタ(Reg11)とレジスタ(Reg2
0)とを選択し、その選択した各レジスタの格納内容を
加算せよ」という意味である。
【0044】このようにインストラクションメモリ13
1に格納される命令は、具体的には図8に示すようなデ
ータから構成されるので、この命令データについて図8
を参照して説明する。
【0045】この命令データは、図8に示すように全体
が16ビットで構成される。また、この命令データは、
図8に示すように、上位側のビット12〜ビット15で
形成され加算などを指示するオペレーション・コード
と、ビット8〜ビット11で形成されレジスタ(Reg
10)またはレジスタ(Reg11)のうちの一方を選
択するレジスタ選択命令と、ビット4〜ビット7で形成
されレジスタ(Reg20〜Reg27)のうちからい
ずれか1つを選択するレジスタ選択命令と、ビット1で
形成されアドレスデータパス部13のノップ動作を終了
させるノップダン(NOP Done)と、ビット0で
形成されアドレスデータパス部13のノップ動作時にイ
ンストラクションメモリ131の読み出しアドレスを1
だけインクリメントさせるノップインクリメント(NO
P Increment)とから構成されている。例え
ばオペレーション・コードが「加算(Add)」の場合
には、上位側のビット12〜ビット15におけるデータ
が「0001」となる。
【0046】なお、図7に示すように、上記のインスト
ラクションメモリ131の32番地から35番地には、
NOPオぺレーションのためのデータが格納されてい
る。2サイクル以上のNOPオペレーション信号がアク
ティブになると(上記の信号nop2〜nop4のいず
れか)、インストラクションメモリ131の対応する番
地(例えば信号nop4の場合には32番地)のデータ
が読み出され、この読み出されたデータのビット0の
「NOP Increment(図8参照)」がアクテ
ィブのため、インストラクションメモリ131の読み出
しアドレスがインクリメントされる。この間、NOPサ
イクル(デッド・サイクル)となる。そして、最後に1
サイクルNOPに対応する35番地のデータが読み出さ
れ、このデータのビット1に「NOP Done(図8
参照)」が記述されているので、NOPサイクルを終了
する。
【0047】次に、SDRAMコントローラ14の構成
について、図1および図9を参照して説明する。このS
DRAMコントローラ14は、図1に示すように、SD
RAMコマンドメモリ141を備え、このSDRAMコ
マンドメモリ141に格納されるコマンドを読み出し、
この読み出したコマンドに基づいてSDRAM5やデー
タパスコントローラ12の制御を行うように構成され
る。
【0048】このSDRAMコントローラ14は、具体
的には図9に示すように、SDRAMコマンドメモリ・
リードアドレスジェネレータ142と、SDRAMコマ
ンドメモリ141と、アドレスセレクタ143と、シン
クロナイゼーション(同期)部144とから構成され
る。
【0049】SDRAMコマンドメモリ・リードアドレ
スジェネレータ142は、SDRAMコマンドメモリ1
41の読み出しアドレスを、データパスコントローラ1
2からのコマンドにより生成するようになっている。
【0050】SDRAMコマンドメモリ141には、S
DRAM5などを制御するためのコマンドデータが格納
され、このコマンドデータは初期化時に外部のホストコ
ンピュータなどから書き込まれるようになっている。S
DRAMコマンドメモリ141に格納されるコマンドデ
ータについては後述する。
【0051】アドレスセレクタ143は、アドレスデー
タパス部13の加算器139からフィジカルアドレスを
受け取ると、この受け取ったフィジカルアドレスのうち
からロウアドレス、コラムアドレスなどを、SDRAM
コマンドメモリ141に格納されるデータのうちビット
4〜ビット8に基づいて選択出力するようになってい
る。
【0052】シンクロナイゼーション部144は、SD
RAMコマンドメモリ141から読み出されたSDRA
M5の制御信号と、アドレスセレクタ143により選択
されたSDRAMアドレスとをSDRAM5のクロック
に同期させてSDRAM5に出力するようになってい
る。上記のSDRAM5に出力される制御信号としては
は、図1に示すように、データの書き込みにかかるライ
トイネーブル信号(WEN)、コラムアドレスを出力す
るためのコラム・アドレス・ストローブ信号(CAS
N)、ローアドレスを出力するためのロー・アドレス・
ストローブ信号(RASN)、チップ選択のためのチッ
プセレクト信号(CSN)がある。
【0053】また、SDRAMコマンドメモリ141に
格納されるデータを読み出した際に、そのデータのう
ち、図10に示すビット3と、ビット9〜ビット11の
コマンドとをSDRAM5のシーケンス・インフォメー
ションとしてデータパスコントローラ12とステータス
生成器11a〜11nに出力するようになっている。
【0054】次に、SDRAMコマンドメモリ141に
格納されるコマンドデータの一例について、図10を参
照して説明する。このコマンドデータは、図10に示す
ように、全体が16ビットで構成される。このコマンド
データは、上位側のビット12〜ビット15で形成され
SDRAM5を制御するためのSDRAMコマンドと、
ビット9〜ビット11で形成されNOPの起こるタイミ
ングを示すNOPチェックフラグと、ビット4〜ビット
8で形成されSDRAM5の制御コマンドの選択を行う
選択信号(セレクテッドコマンド)と、各種の制御を行
う制御コマンドとから構成される。
【0055】コマンドデータを具体的に説明すると、S
DRAMコマンドのうち、図10に示すように、ビット
12はライトイネーブル(Write Enable
Bar)、ビット13はコラム・アドレス・ストローブ
(Column Address Strobe)、ビ
ット14はロー・アドレス・ストローブ(Row Ad
dress Strobe)、ビット15はチップセレ
クト(Chip Select)である。
【0056】SDRAM5の制御コマンドの選択を行う
選択信号のうち、図10に示すように、ビット4はアク
ティブコマンド(Active Command)、ビ
ット5はネクストバンク・アクティブコマンド(Nex
t Bank ActiveCommand)、ビット
6はリード/ライト・コマンド(Read/Write
Command)、ビット7はイグノアコマンド(I
gnore Command)、ビット8はプリチャー
ジ・コマンド(Pre−Charge Comman
d)である。
【0057】制御コマンドのうち、図10に示すよう
に、ビット0は後述のプロセスの終了を示すコマンド・
プロセス・ダン(Command Process D
one)、ビット1はSDRAMコマンドメモリ141
の読み出しアドレスの加算を示すコマンド、ビット2は
データの転送終了を示すトランスファ・ダン(Tran
sfer Done)、ビット3はステータス生成器1
1a〜11nの動作の開始を指示するステータス・ジェ
ネレーション・スタート(Status Genera
tion Start)である。
【0058】ところで、SDRAMコマンドメモリ14
1に格納されるコマンドデータは、図11に示すよう
に、SDRAM5の制御を実行する単位(以下、プロセ
スという)で読み出され、このプロセスの単位でSDR
AMコントローラ14がSDRAM5の制御を行うの
で、以下に各プロセスの概要について図11を参照して
説明する。なお、各プロセス間の遷移は、データパスコ
ントローラ12から送られてくるステータス信号(制御
信号)により決定される。 (A)アイドルプロセス このアイドルプロセスP1は、初期化後、またはデータ
の転送が終了したときに移行するものである。 (B)イニシャルプロセス このイニシャルプロセスP2は、アイドルプロセスの状
態にあり、データ転送の要求が受け付けられると移行す
るプロセスである。このプロセスの期間は、SDRAM
コマンドメモリ141の読み出しアドレスはインクリメ
ントされる(図10のビット1参照)。また、このイニ
シャルプロセスの期間は、終了するまで他のプロセスへ
のジャンプは禁止される。 (C)リード/ライトプロセス このリード/ライトプロセスP3は、アドレスが不連続
に変化するときに、新たにリード/ライトコマンドを発
行するためにジャンプするものである。 (D)イグノアプロセス このイグノアプロセスP4は、アドレスが連続的に変化
する場合、またはSDRAM5の機能上、他のコマンド
を出力するできない場合(例えば、SDRAM5の同一
バンクに対するアクティブ・コマンドとリード/ライト
・コマンドの間のサイクル)に、移行するものである。 (E)スモールリージョン・ジャンププロセス このスモールリージョン・ジャンププロセスP5は、ピ
クセル・フィルタリングのデータ転送において、次のリ
ージョンがスモールリージョンである場合に移行するも
のである。このとき、前のリージョンの転送を終了する
ためにプリチャージコマンドを発行する。このため、1
サイクルのデッドサイクルが生じる。このプロセスの期
間は、SDRAMコマンドメモリ141の読み出しアド
レスはインクリメントされ、かつエンドプロセス以外の
他のプロセスへのジャンプは禁止される。 (F)ラージリージョン・ジャンププロセス このラージリージョン・ジャンププロセスP6は、ピク
セル・フィルタリングのデータ転送において、次のリー
ジョンがラージリージョンである場合に移行するもので
ある。このプロセスの期間は、SDRAMコマンドメモ
リ141の読み出しアドレスはインクリメントされ、か
つ他のプロセスへのジャンプは禁止される。 (G)エンドプロセス このエンドプロセスP7は、アドレス生成が終了したと
きに移行するものである。このプロセスでは、SDRA
M5の両方のバンクをプリチャージする。このプロセス
の後、アイドルプロセスに移行する。
【0059】ここで、図11における矢印は各プロセス
の遷移を示し、例えば、イニシャルプロセスでは、イニ
シャルプロセスよりも下側に位置するいずれのプロセス
にジャンプ可能であることを示す。
【0060】次に、以上のように構成される実施の形態
の動作について図面を参照して説明するが、ここでは、
アドレス生成(計算)の具体例について、図12を参照
してピクセル・フィルタリングの場合を例に説明する。
【0061】図12は画素の集合からなる画像の実空間
を表し、同図中の各画素位置における各数値は各画素の
データが格納されているSDRAM5内のアドレス(フ
ィジカルアドレス)を示す。また、図12において、白
抜きの三角形で指定されている部分がブロックの境界を
示し、黒色の三角形で指定されている部分がマクロブロ
ックの境界を示す。 (1)初期化時(リセット時) いま、初期化時またはリセット時とすると、このときに
は、外部のホストコンピュータからアドレスデータパス
部13のインストラクションメモリ131に外部の要求
に応じたデータが、例えば図7に示すように格納され
る。 (2)外部要求の受け付け 要求/応答コントローラ1は、外部のモジュールからピ
クセル・フィルタリングの要求信号を受け付けると、こ
の要求よりも優先順位の高い要求がないことを確認し、
その要求があったことをインターナル・リクエストとし
てPFステータス生成器11aとデータパスコントロー
ラ12に対して通知する。 (3)ステータス生成の開始とオフセットアドレスの設
定 データパスコントローラ12は、そのインターナル・リ
クエストを受け取ると、PFステータス生成器11aを
イネーブルにする信号を出力する。また、データパスコ
ントローラ12からはデータの転送の開始を示すアドレ
ス(オフセットアドレス)が出力される。
【0062】なお、説明の便宜上、図6に示す加算器1
39は使用せず、そのオフセットアドレスは図6のレジ
スタ(Reg11)に格納されるものとする。この場合
には、図12に示すようにオフセットアドレスとして図
12に示す「7」がレジスタ(Reg11)に格納され
る。
【0063】次に、データパスコントローラ12がイン
ストラクションメモリ・ポインタ130に対して制御信
号を出力すると、この制御信号に基づいてインストラク
ションメモリ・ポインタ130がインストラクションメ
モリ131のアドレス「0」を指定する。このため、図
7に示すインストラクションメモリ131の番地「0」
の命令データが読み出されてインストラクションデコー
ダ132に出力される。インストラクションデコーダ1
32は、その命令データをデコードしてレジスタ選択ス
イッチ136、137に出力する。
【0064】ここで、インストラクションメモリ131
のアドレス「0」に格納される命令データは、図7に示
すように、「レジスタ(Reg11)とレジスタ(Re
g20)とを選択し、その選択した両レジスタの格納内
容を加算せよ」である。このため、選択スイッチ136
はレジスタ(Reg20)を選択する一方、選択スイッ
チ137はレジスタ(Reg11)を選択するので、レ
ジスタ(Reg11)に格納されている「7」とレジス
タ(Reg20)にあらかじめ格納されている「0」と
が加算器138で加算され、この加算結果である「7」
が加算器139に出力されるとともにレジスタ(Reg
10)に格納される。 (4)ブロックの境界における動作 その後、PFステータス生成器11aは、図12に示す
ように、現在の画素位置が白抜きの三角形で示されてい
るブロックの境界にあることをデータパスコントローラ
12に通知する。データパスコントローラ12は、この
ステータスを受け取ると、アドレスデータパス部13の
インストラクションメモリ131の読み出しアドレスを
決定する制御信号を生成し、この生成した制御信号をイ
ンストラクションメモリ・ポインタ130に出力する。
【0065】この場合には、インストラクションメモリ
131の読み出しアドレスは「2」となるので、そのア
ドレス「2」の命令データが読み出されてインストラク
ションデコーダ132でデコードされる。これにより、
選択スイッチ136はレジスタ(Reg24)を選択す
る一方、選択スイッチ137はレジスタ(Reg10)
を選択するので、レジスタ(Reg11)に格納されて
いる「7」とレジスタ(Reg24)に格納されている
「13」とが加算器138で加算され、この加算結果で
ある「20」が加算器139に出力されるとともにレジ
スタ(Reg10)に格納される。 (5)アドレスが連続的に変化する場合 アドレス「21」〜アドレス「23」の間はアドレスが
連続的に変化するので、PFステータス生成器11a
は、何もステータスを出力しない。データパスコントロ
ーラ12は、その期間には現在のアドレスに「1」を加
算するための制御信号をインストラクションメモリ・ポ
インタ130に出力する。この結果、インストラクショ
ンメモリ131のアドレス「1」の命令データが読み出
されてインストラクションデコーダ132でデコードさ
れる。これにより、選択スイッチ136はレジスタ(R
eg21)を選択する一方、選択スイッチ137はレジ
スタ(Reg10)を選択するので、レジスタ(Reg
10)に格納されている「20」とレジスタ(Reg2
1)に格納されている「1」とが加算器138で加算さ
れ、この加算結果である「21」が加算器139に出力
されるとともにレジスタ(Reg10)に格納される。
このような動作は、アドレス「23」が計算されるまで
継続される。 (6)マクロブロックの境界における動作 そして、図12に示すように、アドレス「23」の計算
が終了すると、PFステータス生成器11aは、現在の
画素位置がマクロブロックの境界にある旨の信号をデー
タパスコントローラ12に出力する。データパスコント
ローラ12は、その信号を受け取るとアドレスデータパ
ス部13のインストラクションメモリ131の読み出し
アドレスを決定する制御信号を生成し、この生成した制
御信号をアドレスデータパス部13のインストラクショ
ンメモリ・ポインタ130に出力する。
【0066】この場合には、インストラクションメモリ
131の読み出しアドレスは「3」となるので、そのア
ドレス「3」の命令データが読み出されてインストラク
ションデコーダ132でデコードされる。これにより、
選択スイッチ136はレジスタ(Reg23)を選択す
る一方、選択スイッチ137はレジスタ(Reg11)
を選択するので、レジスタ(Reg11)に格納されて
いるアドレス「7」とレジスタ(Reg23)に格納さ
れている「4」とが加算器138で加算され、この加算
結果である「11」が加算器139に出力されるととも
にレジスタ(Reg11)に格納される。この結果、レ
ジスタ(Reg11)の値は「23」から「11」に更
新される。 (7)次のマクロブロックへの移行 その後、アドレスの計算値が図12に示すアドレス「6
3」の位置(縦方向、横方向ともにマクロブロックの境
界位置)になると、PFステータス生成器11aは、ア
ドレスの計算が次のマクロブロックに移行することを示
す信号をデータパスコントローラ12に通知する。デー
タパスコントローラ12は再度オフセットアドレスを計
算し、この計算されたオフセットアドレスはアドレスデ
ータパス部13のレジスタ(Reg11)に格納され
る。このときのオフセットアドレスは「68」となる。
【0067】データパスコントローラ12は、上記の通
知を受け取ると、アドレスデータパス部のインストラク
ションメモリ131の読み出しアドレスを決定する制御
信号を生成し、この生成した制御信号をインストラクシ
ョンメモリ・ポインタ130に出力する。
【0068】この場合には、インストラクションメモリ
131の読み出しアドレスは「0」となるので、そのア
ドレス「0」の命令データが読み出されてインストラク
ションデコーダ132でデコードする。これにより、選
択スイッチ136はレジスタ(Reg20)を選択する
一方、選択スイッチ137はレジスタ(Reg11)を
選択するので、レジスタ(Reg11)に格納されてい
る「68」とレジスタ(Reg20)に格納されている
「0」とが加算器138で加算され、この加算結果であ
る「68」が加算器139に出力されるとともにレジス
タ(Reg10)に格納される。 (8)終了 以上のような動作を繰り返し、図12に示す4つのマク
ロブロックにまたがる斜線部の各領域(R0、R1、R
2、R3)の81個のデータの全ての転送が終了する
と、データパスコントローラ12はPFステータス生成
器11aのイネーブル信号をオフにする。これにより、
PFステータス生成器11aは動作が停止状態になる。
【0069】以上説明したように、この実施の形態で
は、アドレス生成の種別に応じてアドレスの変動情報を
生成する複数のステータス生成器11a〜11nが、デ
ータパスコントローラ12とアドレスデータパス部13
とを共有化できるようにした。このため、この実施の形
態では、構成部品の個数を大幅に減少でき、その結果、
半導体チップの面積の削減ができ、装置全体を小型化で
きる。
【0070】また、この実施の形態では、アキュムレー
タとして機能するレジスタ(Reg11)、データ転送
にかかる所定のアドレスを記憶するレジスタ(Reg1
1)、複数のアドレスの変動値を格納するレジスタ(R
eg20〜Reg27)、インストラクションメモリ1
31などを備え、ステータス生成器11a〜11nで生
成される変動情報に基づいて、インストラクションメモ
リ131の制御データを読み出し、この読み出したデー
タに応じてレジスタ(Reg10)またはレジスタ(R
eg11)に格納されるアドレスのうちの1つを選択す
るとともに、レジスタ(Reg20〜Reg27)に格
納される1つの変動値を選択し、その選択したアドレス
と変動値とを加算するようにした。このため、アドレス
生成の際には、その初期化時に、アドレス生成の種別に
応じて、インストラクションメモリ131に制御データ
を格納するとともに、レジスタ(Reg20〜Reg2
7)には変動値を格納することができるので、アドレス
生成の種別に柔軟に対応できるという利点がある。
【0071】さらに、この実施の形態では、このSDR
AMコントローラ14がSDRAMコマンドメモリ14
1を備え、このSDRAMコマンドメモリ141にアド
レス生成の種別に応じてSDRAM5などを制御するた
めのコマンドを予め格納しておき、データパスコントロ
ーラ12からのアドレスの変動情報(制御信号)に基づ
いてSDRAMコマンドメモリ141に格納されるコマ
ンドを読み出し、この読み出したコマンドに基づいてS
DRAM5の制御動作を行うようにした。このため、ア
ドレス生成の種別に応じた各種の制御コマンドをSDR
AMコマンドメモリ141にあらかじめ格納しておくこ
とができるので、アドレス生成の種別に応じた制御に柔
軟に対応できる。
【0072】
【発明の効果】以上説明したように、本発明では、メモ
リのアドレスの生成の種別毎に設けられ、外部からの要
求に応じてアドレスの生成の種別を受け取ると、この受
け取った種別に応じてアドレスの生成を行う際にアドレ
スの変動情報を生成する、複数のステータス生成手段
と、このステータス生成手段で生成されたアドレスの変
動情報に基づいて、外部からの要求に応じたアドレスを
生成するアドレス生成手段とを備え、複数のステータス
生成手段がアドレス生成手段を共有化できるようにし
た。このため、本発明では、構成部品の個数を大幅に減
少でき、装置全体を小型化できる。
【図面の簡単な説明】
【図1】本発明の実施形態のメモリ制御装置の全体構成
を、メモリとともに示すブロック図である。
【図2】ピクセル・フィルタリングで処理されるデータ
の処理単位(マクロブロック)を示す図である。
【図3】画像の実空間とその画像の読み出し範囲の関係
を説明する図である。
【図4】PFステータス生成器においてアドレス生成の
際に生じるステータス名とその内容をまとめた表であ
る。
【図5】データパスコントローラの詳細な構成の一例を
示すブロック図である。
【図6】アドレスデータパス部の詳細な構成の一例を示
すブロック図である。
【図7】メモリインストラクションメモリに格納される
命令データの格納例を模式的に表した図である。
【図8】メモリインストラクションメモリに格納される
命令データの構成の一例を説明する表である。
【図9】SDRAMコントローラの詳細な構成の一例を
示すブロック図である。
【図10】SDRAMコマンドメモリに格納されるコマ
ンドの構成の一例を説明する表である。
【図11】SDRAMコントローラがSDRAMなどの
制御を行う際の実行単位(プロセス)の一例を示す図で
ある。
【図12】この実施形態の動作を説明するための説明図
である。
【図13】従来装置の構成を示すブロック図である。
【符号の説明】 1 要求/応答コントローラ 5 SDRAM 11 ステータス生成部 11a〜11n ステータス生成器 12 データパスコントローラ 13 アドレスデータパス部 14 SDRAMコントローラ 130 インストラクションメモリ・ポインタ 131 インストラクションメモリ 132 インストラクションデコーダ 136、137 レジスタ選択スイッチ 138、139 加算器 141 SDRAMコマンドメモリ Reg10、Reg11 レジスタ Reg20〜Reg27 レジスタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 外部からの要求に応じてメモリのアドレ
    スを生成し、この生成したアドレスで指定されるメモリ
    セルに対してデータの読み書き動作を行うように前記メ
    モリを制御するメモリ制御装置において、 前記メモリのアドレスの生成の種別毎に設けられ、外部
    からの要求に応じてアドレスの生成の種別を受け取る
    と、この受け取った種別に応じてアドレスの生成を行う
    際にアドレスの変動情報を生成する、複数のステータス
    生成手段と、 このステータス生成手段で生成された前記アドレスの変
    動情報に基づいて、前記外部からの要求に応じたアドレ
    スを生成するアドレス生成手段と、 を備えたことを特徴とするメモリ制御装置。
JP10173290A 1998-06-19 1998-06-19 メモリ制御装置 Withdrawn JP2000010854A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10173290A JP2000010854A (ja) 1998-06-19 1998-06-19 メモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10173290A JP2000010854A (ja) 1998-06-19 1998-06-19 メモリ制御装置

Publications (1)

Publication Number Publication Date
JP2000010854A true JP2000010854A (ja) 2000-01-14

Family

ID=15957713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10173290A Withdrawn JP2000010854A (ja) 1998-06-19 1998-06-19 メモリ制御装置

Country Status (1)

Country Link
JP (1) JP2000010854A (ja)

Similar Documents

Publication Publication Date Title
JP3579461B2 (ja) データ処理システム及びデータ処理装置
US7782683B2 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
US5367494A (en) Randomly accessible memory having time overlapping memory accesses
JPS5960658A (ja) 論理機能を備えた半導体記憶装置
JP3075184B2 (ja) 演算処理機能付主記憶システム及びその制御方法
US6272583B1 (en) Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
JP2001084229A (ja) Simd型プロセッサ
JP2000010856A (ja) メモリ制御装置
JP2000010854A (ja) メモリ制御装置
JP2618223B2 (ja) シングルチツプマイクロコンピユータ
US7073034B2 (en) System and method for encoding processing element commands in an active memory device
JP2000010855A (ja) メモリ制御装置
JP3610029B2 (ja) データ処理システム
JPH07311730A (ja) メモリ制御方法及び装置
JP2002182975A (ja) マルチプロセッサシステム
JPH09120371A (ja) メモリ制御装置
US6980314B1 (en) Method and device for improving utilization of a bus
KR20010050234A (ko) 메모리(mem)와 결합한 데이터 처리용 디바이스
JPH05143447A (ja) デイジタルプロセツサ及びその制御方法
JP3610030B2 (ja) データ処理システム
JP3610031B2 (ja) データ処理システム
JPS6014435B2 (ja) 記憶装置
JP2002278753A (ja) データ処理システム
JP3006487B2 (ja) エミュレーション装置
JPH03214275A (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: 20050906