(57)【要約】　　　（修正有）【課題】データ読み取り動作と書き込み動作とを同時に実行できる集積回路及び方法を提供する。【解決手段】タグメモリ制御部２１０は書き込みアドレスまたは読み取りアドレスに応答してメモリブロックＭＢ１〜ＭＢ４及びキャッシュメモリブロックＣＭＢ１〜ＣＭＢ４に格納されたデータを読み取るか、メモリブロック及びキャッシュメモリブロックにデータを書き込む。タグメモリ制御部は、書き込みアドレス及び読み取りアドレスが同じである場合に、データの読み取り動作と書き込み動作とがメモリブロックとキャッシュメモリブロックとにそれぞれ分けられて同時に実行されるように制御する。本発明による集積回路２００の読み取り動作と書き込み動作とを同時に実行する方法はキャッシュメモリブロックを具備してクロック信号の１周期内で読み取り動作及び書き込み動作がメモリブロックとキャッシュメモリブロックとに分けられて同時に実行される。【選択図】図２
2004146051.tif 000002
【特許請求の範囲】
【請求項１】
　入出力ポートが分離されており、クロック信号の１周期の間に書き込みアドレスと読み取りアドレスとが入力される集積回路において、
　複数のサブメモリブロックをそれぞれ具備するメモリブロックと、
　前記メモリブロックに対応するキャッシュメモリブロックと、
　前記書き込みアドレスまたは前記読み取りアドレスに応答して前記メモリブロック及び前記キャッシュメモリブロックに格納されたデータを読み取るか、または前記メモリブロック及び前記キャッシュメモリブロックに前記データを書き込むタグメモリ制御部と、を具備し、
　前記タグメモリ制御部は、
　前記書き込みアドレス及び前記読み取りアドレスの上位アドレスが同じである場合に、前記データの読み取り動作と書き込み動作とが前記メモリブロックと前記キャッシュメモリブロックとにそれぞれ分けられて同時に実行されるように制御することを特徴とする集積回路。
【請求項２】
　前記書き込みアドレス及び前記読み取りアドレスが相異なる場合、前記書き込みアドレス及び前記読み取りアドレスのそれぞれに対応する相異なる２個のサブメモリブロックがそれぞれデコーディングされることを特徴とする請求項１に記載の集積回路。
【請求項３】
　前記集積回路は、
　相互に分離されている書き込みアドレスデコーディングパスと読み取りアドレスデコーディングパスとを具備し、
　前記サブメモリブロックは、
　前記書き込みアドレスデコーディングパスと前記読み取りアドレスデコーディングパスとにそれぞれ連結されることを特徴とする請求項１に記載の集積回路。
【請求項４】
　メモリブロック内部の相異なるサブメモリブロックのうち同じ下位アドレスを有するメモリセルは、前記キャッシュメモリブロックの１つのメモリセルに対応することを特徴とする請求項１に記載の集積回路。
【請求項５】
　前記キャッシュメモリブロックのサイズは、前記１つのサブメモリブロックのサイズと同じであるか、それより大きいことを特徴とする請求項１に記載の集積回路。
【請求項６】
　前記タグメモリ制御部は、前記キャッシュメモリブロックに対応する前記サブメモリブロックのアドレスを表すキャッシュメモリアドレス及び前記キャッシュメモリブロックに格納されているデータが有効であるかどうかを判断する有効判断情報を格納することを特徴とする請求項１に記載の集積回路。
【請求項７】
　前記タグメモリ制御部は、
　前記サブメモリブロックのうち１つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相等しい場合において、
　前記書き込みアドレスと前記読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行して前記キャッシュメモリブロックで書き込み動作を実行し、
　前記読み取り動作及び前記書き込み動作が同時に実行されることを特徴とする請求項６に記載の集積回路。
【請求項８】
　前記タグメモリ制御部は、
　前記サブメモリブロックのうち１つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相等しい場合において、
　前記書き込みアドレス及び前記読み取りアドレスのうち１つが前記キャッシュメモリアドレスと一致すれば、
　前記キャッシュメモリアドレスと一致したアドレスに対応する動作が前記キャッシュメモリブロックで実行され、一致しないアドレスに対応する動作が前記メモリブロックで実行され、
　前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、
　前記キャッシュメモリブロックで読み取り動作が実行されて前記メモリブロックで書き込み動作が実行され、
　前記読み取り動作及び前記書き込み動作が同時に実行されることを特徴とする請求項６に記載の集積回路。
【請求項９】
　前記タグメモリ制御部は、
　前記サブメモリブロックのうち１つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相異なる場合において、
　前記書き込みアドレス及び前記読み取りアドレスのうち１つが前記キャッシュメモリアドレスと一致すれば、
　前記キャッシュメモリアドレスと一致したアドレスに対応する動作が前記キャッシュメモリブロックで実行され、一致しないアドレスに対応する動作が前記メモリブロックで実行され、
　前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、
　前記キャッシュメモリブロックで読み取り動作が実行されて前記メモリブロックで書き込み動作が実行され、
　前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致しなければ、
　前記選択されたメモリブロックのうち前記書き込みアドレス及び前記読み取りアドレスに対応する相異なるサブメモリブロックで書き込み動作及び読み取り動作が実行され、
　前記読み取り動作及び前記書き込み動作が同時に実行されることを特徴とする請求項６に記載の集積回路。
【請求項１０】
　前記データは、ＳＤＲまたはＤＤＲで入力または出力されることを特徴とする請求項１に記載の集積回路。
【請求項１１】
　入出力ポートが分離されている集積回路において、
　複数のサブメモリブロックをそれぞれ具備するメモリブロックと、
　前記それぞれのメモリブロックに対応し、所定のキャッシュ制御信号に応答して格納されたデータが出力されるか、またはデータが書き込まれる複数のキャッシュメモリブロックと、
　前記それぞれのメモリブロックに対応し、書き込みアドレスまたは読み取りアドレス、所定のデコーディング制御信号に応答して前記サブメモリブロックを制御するデコーディング信号を発生する複数のデコーディング部と、
　書き込み選択信号または読み取り選択信号、前記書き込みアドレスまたは前記読み取りアドレスを受信し、クロック信号の１周期の間に入力される前記書き込みアドレスと前記読み取りアドレスとが同じであるかどうかに応じて前記データの書き込み動作及び読み取り動作が同時に実行されるように前記キャッシュ制御信号または前記デコーディング制御信号を発生するタグメモリ制御部と、を具備することを特徴とする集積回路。
【請求項１２】
　前記デコーディング部は、それぞれ、前記サブメモリブロックに対応する複数のデコーディング回路を具備することを特徴とする請求項１１に記載の集積回路。
【請求項１３】
　前記デコーディング回路は、相互に分離されている書き込みアドレスデコーディングパス及び読み取りアドレスデコーディングパスと連結され、
　前記サブメモリブロックは、前記書き込みアドレスデコーディングパスと前記読み取りアドレスデコーディングパスとにそれぞれ連結されることを特徴とする請求項１２に記載の集積回路。
【請求項１４】
　前記書き込みアドレス及び前記読み取りアドレスが相異なる場合に、前記書き込みアドレス及び前記読取りアドレスにそれぞれ対応する相異なる２個のサブメモリブロックがそれぞれデコーディングされることを特徴とする請求項１１に記載の集積回路。
【請求項１５】
　前記メモリブロック内部の相異なるサブメモリブロックのうち同じ下位アドレスを有するメモリセルは、前記キャッシュメモリブロックの１つのメモリセルに対応することを特徴とする請求項１１に記載の集積回路。
【請求項１６】
　前記キャッシュメモリブロックのサイズは、前記１つのサブメモリブロックのサイズと同じか、それより大きいことを特徴とする請求項１１に記載の集積回路。
【請求項１７】
　前記タグメモリ制御部は、前記キャッシュメモリブロックに対応する前記サブメモリブロックのアドレスを表すキャッシュメモリアドレス及び前記キャッシュメモリブロックに格納されているデータが有効であるかを判断する有効判断情報を格納することを特徴とする請求項１１に記載の集積回路。
【請求項１８】
　前記タグメモリ制御部は、
　前記サブメモリブロックのうち１つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相等しい場合において、
　前記書き込みアドレスと前記読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記デコーディング制御信号を発生して前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュ制御信号を発生して前記キャッシュメモリブロックで書き込み動作を実行し、
　前記読み取り動作及び前記書き込み動作が同時に実行されることを特徴とする請求項１７に記載の集積回路。
【請求項１９】
　前記タグメモリ制御部は、
　前記サブメモリブロックのうち１つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相等しい場合において、
　前記書き込みアドレス及び前記読み取りアドレスのうち１つが前記キャッシュメモリアドレスと一致すれば、
　前記キャッシュ制御信号を発生して前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記デコーディング制御信号を発生して前記キャッシュメモリアドレスと一致しないアドレスに対応する動作を前記メモリブロックで実行し、
　前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、
　前記キャッシュ制御信号を発生して前記キャッシュメモリブロックで読み取り動作を実行し、前記デコーディング制御信号を発生して前記メモリブロックで書き込み動作を実行し、
　前記読み取り動作及び前記書き込み動作が同時に実行されることを特徴とする請求項１７に記載の集積回路。
【請求項２０】
　前記タグメモリ制御部は、
　前記サブメモリブロックのうち１つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相異なる場合において、
　前記書き込みアドレス及び前記読み取りアドレスのうち１つが前記キャッシュメモリアドレスと一致すれば、
　前記キャッシュ制御信号を発生して前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記デコーディング制御信号を発生して前記キャッシュメモリアドレスと一致しないアドレスに対応する動作を前記メモリブロックで実行し、
　前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、
　前記キャッシュ制御信号を発生して前記キャッシュメモリブロックで読み取り動作を実行し、前記デコーディング制御信号を発生して前記メモリブロックで書き込み動作を実行し、
　前記書き込みアドレス及び前記読み取りアドレスが全て前記キャッシュメモリアドレスと一致しなければ、
　前記デコーディング制御信号を発生して前記選択されたメモリブロックのうち前記書き込みアドレス及び前記読み取りアドレスに対応する相異なるサブメモリブロックで書き込み動作及び読み取り動作を実行し、
　前記読み取り動作及び前記書き込み動作が同時に実行されることを特徴とする請求項１７に記載の集積回路。
【請求項２１】
　前記データは、ＳＤＲまたはＤＤＲで入力または出力されることを特徴とする請求項１１に記載の集積回路。
【請求項２２】
　入出力ポートが分離されており、クロック信号の１周期の間に書き込みアドレスと読み取りアドレスとが入力され、複数のサブメモリブロックをそれぞれ具備する複数のメモリブロックと、前記メモリブロックに対応するキャッシュメモリブロックを具備する集積回路のデータの読み取り動作と書き込み動作とを同時に実行する方法において、
　（ａ）クロック信号の１周期の間に前記書き込みアドレスと前記読み取りアドレスとが共に入力されるか、前記書き込みアドレス及び前記読み取りアドレスのうち何れか１つだけ入力されるかを判断する段階と、
　（ｂ）前記書き込みアドレスと前記読み取りアドレスとが共に入力されれば、前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが同一であるかどうかを判断する段階と、
　（ｃ）前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが同一であれば、前記書き込みアドレスと前記読み取りアドレスとが所定のキャッシュメモリアドレスと同一であるかどうかを判断する段階と、
　（ｄ）前記書き込みアドレスと前記読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記読取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行する段階と、を具備することを特徴とするデータの読み取り動作と書き込み動作とを同時に実行する方法。
【請求項２３】
　前記（ｄ）段階は、
　（ｄ１）前記キャッシュメモリブロックに格納されているデータが有効であるかどうかを判断する段階と、
　（ｄ２）前記キャッシュメモリブロックに格納されているデータが有効でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行する段階と、
　（ｄ３）前記キャッシュメモリブロックに書き込まれたデータに関する情報をアップデートさせる段階と、
　（ｄ４）前記キャッシュメモリブロックに格納されているデータが有効であれば、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックに格納されている有効なデータを読み取って対応するメモリブロックに書き込む段階と、
　（ｄ５）前記キャッシュメモリブロックに書き込み動作を実行し、前記キャッシュメモリブロックに書き込まれたデータに関する情報をアップデートさせる段階と、を具備することを特徴とする請求項２２に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。
【請求項２４】
　前記キャッシュメモリアドレスは、前記キャッシュメモリブロックに対応する前記サブメモリブロックのアドレスを表すことを特徴とする請求項２２に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。
【請求項２５】
　前記（ｃ）段階は、
　（ｃ１）前記書き込みアドレス及び前記読み取りアドレスのうち１つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記キャッシュメモリアドレスと一致しないアドレスに対応する動作を前記メモリブロックで実行する段階と、
　（ｃ２）前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作を実行し、前記メモリブロックで書き込み動作を実行し、前記メモリブロックに書き込まれたデータに関する情報をアップデートさせる段階と、を具備することを特徴とする請求項２２に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。
【請求項２６】
　前記（ｂ）段階は、
　（ｂ１）前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが同一でなければ、前記書き込みアドレスと前記読み取りアドレスとが前記キャッシュメモリアドレスと一致しているかを判断する段階と、
　（ｂ２）前記書き込みアドレス及び前記読み取りアドレスのうち何れか１つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記キャッシュメモリアドレスと一致しないアドレスに対応する動作を前記メモリブロックで実行する段階と、
　（ｂ３）前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作を実行し、前記メモリブロックで書き込み動作を実行した後、前記メモリブロックに書き込まれたデータに関する情報をアップデートさせる段階と、
　（ｂ４）前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致しなければ、前記選択されたメモリブロックのうち前記書き込みアドレス及び前記読み取りアドレスに対応する相異なるサブメモリブロックで書き込み動作及び読み取り動作を実行する段階と、を具備することを特徴とする請求項２２に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。
【請求項２７】
　前記（ａ）段階は、
　（ａ１）前記書き込みアドレス及び前記読み取りアドレスのうち何れか１つだけ入力されれば、入力された前記書き込みアドレス及び前記読み取りアドレスのうち何れか１つが前記キャッシュメモリアドレスと一致するかを判断する段階と、
　（ａ２）入力された前記書き込みアドレスまたは前記読み取りアドレスが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致した書き込みアドレスまたは読み取りアドレスに対応する動作を前記キャッシュメモリブロックで実行する段階と、
　（ａ３）入力された前記書き込みアドレスまたは前記読み取りアドレスが前記キャッシュメモリアドレスと一致しなければ、前記キャッシュメモリアドレスと一致しない書き込みアドレスまたは読み取りアドレスに対応する動作を前記メモリブロックで実行する段階と、を具備することを特徴とする請求項２２に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。
【請求項２８】
　前記メモリブロック内部の相異なるサブメモリブロックのうち同じ下位アドレスを有するメモリセルは、前記キャッシュメモリブロックの１つのメモリセルに対応することを特徴とする請求項２２に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。
【請求項２９】
　前記キャッシュメモリブロックのサイズは、前記１つのサブメモリブロックのサイズと同じか、それより大きいことを特徴とする請求項２２に記載のデータの読み取り動作と書き込み動作を同時に実行する方法。
【請求項３０】
　前記データは、ＳＤＲまたはＤＤＲで入力または出力されることを特徴とする請求項２２に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。
【請求項３１】
　分離された入力データポート及び出力データポートと、
　複数のサブメモリブロックを具備するメモリブロックと、
　１つのサブメモリブロックに格納されるデータと少なくとも同じ量のデータを格納できるキャッシュメモリブロックと、
　対応するサブメモリブロックアドレスを有するキャッシュメモリブロックに有効なエントリーをはり、読み取り動作と書き込み動作とが実行されるアドレスが同じサブメモリブロックを指示する時、２つの動作のうち１つの動作を前記キャッシュメモリブロックを利用して実行することによって読み取り動作と書き込み動作とを同時に実行するように制御するタグメモリ制御部と、を具備することを特徴とする集積回路。
【請求項３２】
　メモリブロックを複数のサブメモリブロックに区分する段階と、
　１つのサブメモリブロックに格納されるデータと少なくとも同じ量のデータを格納できるキャッシュメモリブロックを維持する段階と、
　対応するサブメモリブロックアドレスを有するキャッシュメモリブロックに有効なエントリーをはる段階と、
　読み取り動作と書き込み動作とが実行されるアドレスが同じメモリブロックを指示する時、２つの動作のうち１つの動作を前記キャッシュメモリブロックを利用して実行することによって読み取り動作と書き込み動作とを同時に実行し、
　可能な場合に、相異なるサブメモリブロックで同時に読み取り動作と書き込み動作とを実行する段階と、を具備することを特徴とする、集積回路で同時に読み取り動作及び書き込み動作を実行する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、集積回路に係り、特に入出力ポートが分離された集積回路においてデータ読取り動作と書き込み動作とを同時に実行可能な集積回路及び方法に関する。
【背景技術】
【０００２】
　一般的な同期式ＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ ＲＡＭ：ＳＲＡＭ）は、１つのクロック周期毎に読取りデータまたは書き込みデータのうち何れか１つだけを伝送できる。
【０００３】
　二重データ率ＲＡＭ（Ｄｏｕｂｌｅ Ｄａｔａ Ｒａｔｅ ＲＡＭ：ＤＲＡＭ）は、クロックの立上がりエッジと立下りエッジ毎にデータを伝送することによってデータ伝送率を倍増させた。しかし、一般的なメモリ装置はデータの入力とデータの出力とが１つのピンを通じて行われる。共通入出力ポートを利用する方法は、データの入力と出力とが独立して制御されないので、データの入力周波数と出力周波数とが制限される。
【０００４】
　メモリ装置の帯域幅が重要になったことに対応して、分離された入出力ポートを使用する製品が登場した。すなわち、データの入力と出力とが独立して制御できるように入力ピンと出力ピンとが分離された製品である。分離された入力ピンと出力ピンとを有するメモリ装置は、クロックの１周期内に読み取り命令及び読み取りアドレス、又は、書き込み命令及び書き込みアドレス及び書き込みデータを共に受信できるので、動作周波数を増加させうる。
【０００５】
　しかし、分離された入出力ポートを有するメモリ装置でも１つのクロック周期内で読み取り命令及び読み取りアドレス、又は、書き込み命令及び書き込みアドレス及び書き込みデータを受信する場合、読み取り動作と書き込み動作とが１つのクロック周期内に実行されるためには、２回のメモリセルアクセスが実行されなければならない。
【０００６】
　すなわち、データの読み取りと書き込みとのためのワードラインの活性化がクロックの１周期内において２回実行されなければならないので、クロック周波数がワードラインの活性化時間によって制限される問題がある。
【０００７】
　図１は、分離された入出力ポートを有するメモリ装置の動作を説明するタイミング図である。
【０００８】
　アドレスとワードラインとの間の関係や入力データ及び出力データのレイテンシ（ｌａｔｅｎｃｙ）はメモリ装置の回路構成によって変わるので、図１では考慮されない。
【０００９】
　図１を参照すれば、クロック信号ＣＬＫの１周期内で書き込みアドレスＷＡＤＤと読み取りアドレスＲＡＤＤとが共に入力されている。クロック信号ＣＬＫの立上がりエッジで入力されるアドレスＡ０、Ａ２、Ａ４、Ａ６が読み取りアドレスＲＡＤＤであり、クロック信号ＣＬＫの立下りエッジで入力されるアドレスＡ１、Ａ３、Ａ５、Ａ７が書き込みアドレスＷＡＤＤである。
【００１０】
　ＲＥＳとＷＥＳは、それぞれ読取りアドレスＲＡＤＤと書き込みアドレスＷＡＤＤとを選択する読み取り選択信号及び書き込み選択信号である。
【００１１】
　読み取りアドレスＲＡＤＤ＝Ａ０によってワードラインＡＷＬ０が活性化され、ワードラインＡＷＬ０に応答してデータＱ０が出力される。また、書き込みアドレスＷＡＤＤ＝Ａ１に応答してワードラインＡＷＬ１が活性化されれば、入力データＤ１が入力される。
【００１２】
　したがって、読み取り動作のためのワードラインＡＷＬ０と書き込み動作のためのワードラインＡＷＬ１との活性化のためにクロック信号ＣＬＫの１周期の長さが制限される。すなわち、クロック信号の１周期の間にそれぞれ異なるアドレスを有するメモリセルに順次にアクセスしなければならないので、クロック信号ＣＬＫの周期を縮め難い問題がある。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
　本発明が解決しようとする技術的課題は、クロック信号の１周期内でメモリセルについての読み取り動作及び書き込み動作を同時に実行させることによってクロック信号の動作周波数を増加させうる集積回路を提供するところにある。
【００１４】
　本発明が解決しようとする他の技術的課題は、クロック信号の１周期内でメモリセルについての読み取り動作及び書き込み動作を同時に実行させることによってクロック信号の動作周波数を増加させうる方法を提供するところにある。
【課題を解決するための手段】
【００１５】
　前記技術的課題を達成するための本発明の第１実施例による集積回路は、入出力ポートが分離されており、クロック信号の１周期の間に書き込みアドレスと読み取りアドレスとが入力される集積回路において、複数のサブメモリブロックをそれぞれ具備するメモリブロック、前記メモリブロックに対応するキャッシュメモリブロック及びタグメモリ制御部を具備する。
【００１６】
　タグメモリ制御部は、前記書き込みアドレスまたは前記読み取りアドレスに応答して前記メモリブロック及び前記キャッシュメモリブロックに格納されたデータを読み取るか前記メモリブロック及び前記キャッシュメモリブロックに前記データを書き込む。
【００１７】
　特に、タグメモリ制御部は、前記書き込みアドレス及び前記読み取りアドレスが同じである場合に、前記データの読み取り動作と書き込み動作とが前記メモリブロックと前記キャッシュメモリブロックにそれぞれ分けられて同時に実行されるように制御することを特徴とする。
【００１８】
　前記書き込みアドレス及び前記読み取りアドレスが異なる場合、前記それぞれの書き込み及び読み取りアドレスに対応する相異なる２個のサブメモリブロックがそれぞれデコーディングされる。
【００１９】
　前記集積回路は、相互分離されている書き込みアドレスデコーディングパスと読み取りアドレスデコーディングパスとを具備し、前記サブメモリブロックは、前記書き込みアドレスデコーディングパスと前記読み取りアドレスデコーディングパスとにそれぞれ連結される。
【００２０】
　メモリブロック内部の相異なるサブメモリブロックのうち同じ下位アドレスを有するメモリセルは、前記キャッシュメモリブロックの１つのメモリセルに対応する。前記キャッシュメモリブロックのサイズは、前記１つのサブメモリブロックのサイズと同じか、それより大きい。
【００２１】
　前記タグメモリ制御部は、前記キャッシュメモリブロックに対応する前記サブメモリブロックのアドレスを表すキャッシュメモリアドレス及び前記キャッシュメモリブロックに格納されているデータが有効であるかどうかを判断する有効判断情報を格納する。
【００２２】
　前記タグメモリ制御部は、前記サブメモリブロックのうち１つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相等しい場合、前記書き込みアドレス及び前記読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行し、前記読み取り動作及び前記書き込み動作が同時に実行される。
【００２３】
　前記タグメモリ制御部は、前記サブメモリブロックのうち１つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスが相等しい場合、前記書き込みアドレス及び前記読み取りアドレスのうち１つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作が前記キャッシュメモリブロックで実行されて、一致しないアドレスに対応する動作が前記メモリブロックで実行される。
【００２４】
　前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作が実行され、前記メモリブロックで書き込み動作が実行されて前記読み取り動作及び前記書き込み動作が同時に実行される。
【００２５】
　前記タグメモリ制御部は、前記サブメモリブロックのうち１つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相異なる場合、前記書き込みアドレス及び前記読み取りアドレスのうち１つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作が前記キャッシュメモリブロックで実行され、一致しないアドレスに対応する動作が前記メモリブロックで実行される。
【００２６】
　前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作が実行され、前記メモリブロックで書き込み動作が実行される。
【００２７】
　前記書き込みアドレス及び前記読み取りアドレスが全て前記キャッシュメモリアドレスと一致しないと、前記選択されたメモリブロックのうち前記書き込みアドレス及び前記読み取りアドレスに対応する相異なるサブメモリブロックで書き込み動作及び読み取り動作が実行され、前記読み取り動作及び前記書き込み動作が同時に実行される。
【００２８】
　前記データは、単一データ率（Ｓｉｎｇｌｅ Ｄａｔａ Ｒａｔｅ：ＳＤＲ）または二重データ率（Ｄｏｕｂｌｅ Ｄａｔａ Ｒａｔｅ：ＤＤＲ）で入力または出力される。
【００２９】
　前記技術的課題を達成するための本発明の第２実施例に集積回路は、入出力ポートが分離されている集積回路において複数のサブメモリブロックをそれぞれ具備するメモリブロック、キャッシュメモリブロック、デコーディング部及びタグメモリ制御部を具備する。
【００３０】
　キャッシュメモリブロックは、前記それぞれのメモリブロックに対応し、所定のキャッシュ制御信号に応答して格納されたデータが出力されるか、またはデータが書き込まれる。デコーディング部は、前記それぞれのメモリブロックに対応し、書き込みアドレスまたは読み取りアドレス、所定のデコーディング制御信号に応答して前記サブメモリブロックを制御するデコーディング信号を発生する。
【００３１】
　タグメモリ制御部は、書き込み選択信号または読み取り選択信号、前記書き込みアドレスまたは前記読み取りアドレスを受信し、クロック信号の１周期の間に入力される前記書き込みアドレスと前記読み取りアドレスとが同一であるかによって前記データの書き込み動作及び読み取り動作が同時に実行されるように前記キャッシュ制御信号または前記デコーディング制御信号を発生する。
【００３２】
　前記デコーディング部は、それぞれ前記サブメモリブロックに対応する複数のデコーディング回路を具備する。前記デコーディング回路は相互分離されている書き込みアドレスデコーディングパス及び読み取りアドレスデコーディングパスと連結し、前記サブメモリブロックは前記書き込みアドレスデコーディングパスと前記読み取りアドレスデコーディングパスとにそれぞれ連結する。
【００３３】
　前記他の技術的課題を達成するための本発明の第１実施例によるデータ読み取り動作と書き込み動作とを同時に実行する方法は、入出力ポートが分離されており、クロック信号の１周期の間に書き込みアドレスと読み取りアドレスとが入力され、複数のサブメモリブロックをそれぞれ具備する複数のメモリブロックと、前記メモリブロックに対応するキャッシュメモリブロックを具備する集積回路のデータ読み取り動作と書き込み動作とを同時に実行する方法において、（ａ）クロック信号の１周期の間に前記書き込みアドレスと前記読み取りアドレスとが全て入力されているか、前記書き込みアドレス及び前記読み取りアドレスのうち何れか１つだけ入力されているかを判断する段階、（ｂ）前記書き込みアドレスと前記読み取りアドレスが全て入力されれば、前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが同一であるかを判断する段階、（ｃ）前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスが同一であれば、前記書き込みアドレスと前記読み取りアドレスとが所定のキャッシュメモリアドレスと同一であるかを判断する段階、及び、（ｄ）前記書き込みアドレス及び前記読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行する段階を具備する。
【００３４】
　前記ｄ段階は、（ｄ１）前記キャッシュメモリブロックに格納されているデータが有効であるかどうかを判断する段階、（ｄ２）前記キャッシュメモリブロックに格納されているデータが有効でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行する段階、（ｄ３）前記キャッシュメモリブロックに書き込まれたデータに関する情報をアップデートさせる段階、（ｄ４）前記キャッシュメモリブロックに格納されているデータが有効であれば、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリにかくのうされている有効なデータを読み取って対応するメモリブロックに書き込む段階、及び、（ｄ５）前記キャッシュメモリブロックに書き込み動作を実行し、前記キャッシュメモリブロックに書き込まれたデータに関する情報をアップデートさせる段階を具備する。
【００３５】
　前記キャッシュメモリアドレスは、前記キャッシュメモリブロックに対応する前記サブメモリブロックのアドレスを示す。
【００３６】
　前記（ｃ）は、（ｃ１）前記書き込みアドレス及び前記読み取りアドレスのうち１つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスとに対応する動作を前記キャッシュメモリブロックで実行し、前記キャッシュメモリアドレスと一致しないアドレスに対応する動作を前記メモリブロックで実行する段階、及び、（ｃ２）前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作を実行し、前記メモリブロックで書き込み動作を実行し、前記メモリブロックに書き込まれたデータに関する情報をアップデートさせる段階を具備する。
【００３７】
　前記（ｂ）段階は、（ｂ１）前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが同一でなければ、前記書き込みアドレスと前記読み取りアドレスとが前記キャッシュメモリアドレスと一致するかを判断する段階、（ｂ２）前記書き込みアドレス及び前記読み取りアドレスのうち何れか１つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記キャッシュメモリアドレスと一致しないアドレスと一致する動作を前記メモリブロックで実行する段階、（ｂ３）前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作を実行し、前記メモリブロックで書き込み動作を実行した後、前記メモリブロックに書き込まれたデータに関する情報をアップデートさせる段階、及び、（ｂ４）前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致しなければ、前記選択されたメモリブロックのうち前記書き込みアドレス及び前記読み取りアドレスに対応する相異なるサブメモリブロックで書き込み動作及び読み取り動作を実行する段階を具備する。
【００３８】
　前記（ａ）段階は、（ａ１）前記書き込みアドレス及び前記読み取りアドレスのうち何れか１つだけ入力されれば、入力された前記書き込みアドレス及び前記読み取りアドレスのうち何れか１つが前記キャッシュメモリアドレスと一致するかを判断する段階、（ａ２）入力された前記書き込みアドレスまたは前記読み取りアドレスが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致した書き込みアドレスまたは読み取りアドレスに対応する動作を前記キャッシュメモリブロックで実行する段階、及び、（ａ３）入力された前記書き込みアドレスまたは前記読み取りアドレスが前記キャッシュメモリアドレスと一致しなければ、前記キャッシュメモリアドレスと一致しない書き込みアドレスまたは読み取りアドレスに対応する動作を前記メモリブロックで実行する段階を具備する。
【００３９】
　前記メモリブロック内部の相異なるサブメモリブロックのうち同じ下位アドレスを有するメモリセルは前記キャッシュメモリブロックの１つのメモリセルに対応することを特徴とする。
【００４０】
　前記キャッシュメモリブロックのサイズは前記１つのサブメモリブロックのサイズと同じであるか大きいことを特徴とする。
【発明の効果】
【００４１】
　本発明による集積回路及びの読み取り動作と書き込み動作とを同時に実行する方法は、メモリブロックを複数のサブメモリブロックに区分し、それぞれのサブメモリブロックをデコーディングできるデコーディング回路と、あらゆるサブメモリブロックに連結される書き込みアドレスデコーディングパスと読み取りアドレスデコーディングパスとを別途に具備し、キャッシュメモリブロックを具備してクロック信号の１周期内で読み取り動作及び書き込み動作がメモリブロックとキャッシュメモリブロックとで分けられて同時に実行させることによって、クロック信号の動作周波数を増加させうる長所がある。
【発明を実施するための最良の形態】
【００４２】
　本発明とその動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには本発明の望ましい実施例を例示する図面及び図面に記載された内容が参照されるべきである。
【００４３】
　以下、図面を参照して本発明の望ましい実施例を説明することによって、本発明を詳細に説明する。各図面に提示された同じ符号は同じ構成要素を示す。
【００４４】
　図２は、第１実施例による集積回路を示すブロック図である。図２を参照すれば、集積回路２００は、複数のサブメモリブロックＳＭＢ１、ＳＭＢ２〜ＳＭＢＭをそれぞれ具備するメモリブロックＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４と、それらのメモリブロックＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４に対応するキャッシュメモリブロックＣＭＢ１、ＣＭＢ２、ＣＭＢ３、ＣＭＢ４と、タグメモリ制御部２１０とを具備する。図２の集積回路２００は入出力ポートが分離されており、クロック信号の１周期の間に書き込みアドレスＷＡＤＤと読み取りアドレスＲＡＤＤとが入力される。
【００４５】
　メモリブロックＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４は相等しい構造であり、キャッシュメモリブロックＣＭＢ１、ＣＭＢ２、ＣＭＢ３、ＣＭＢ４も相等しい構造であるので、メモリブロックＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４のうち第２のメモリブロックＭＢ２と第２のキャッシュメモリブロックＣＭＢ２を中心として説明する。
【００４６】
　書き込みアドレスＷＡＤＤ及び読み取りアドレスＲＡＤＤは、それぞれ上位アドレスと下位アドレスとに区分される。上位アドレスは、複数のサブメモリブロックのうち何れか１つを指定するアドレスである。
【００４７】
　本発明の基本原理は、書き込みアドレスＷＡＤＤ及び読み取りアドレスＲＡＤＤが同じである場合に、データの読み取り動作と書き込み動作とがメモリブロックとキャッシュメモリブロックとにそれぞれ分けられて同時に実行されることによってクロック信号の周期を短くされる点にある。
【００４８】
　すなわち、書き込みアドレスＷＡＤＤと読み取りアドレスＲＡＤＤとが同一で同時に１つのメモリブロック（例えば、第２メモリブロックＭＢ２）のうち同じサブメモリブロック（例えば、ＳＭＢ２）にアクセスすべき場合に、サブメモリブロックＳＭＢ２でデータの読み取り動作が実行されれば、データの書き込み動作はサブメモリブロックＳＭＢ２に対応するキャッシュメモリブロックＣＭＢ２で実行させる。
【００４９】
　逆に、メモリブロックＭＢ２でデータの書き込み動作が実行されれば、データの読み取り動作は、メモリブロックＭＢ２に対応するキャッシュメモリブロックＣＭＢ２で実行させる。このようにすることによって、データの読み取り動作及び書き込み動作が同時に並列的に行われ、クロック信号の周期を短くすることができる。
【００５０】
　このために、メモリブロックＭＢ２内部の相異なるサブメモリブロックＳＭＢ１、ＳＭＢ２、ＳＭＢ３〜ＳＭＢＭのうち同じ下位アドレスを有するメモリセルは、キャッシュメモリブロックＣＭＢ２の１つのメモリセルに対応させられる。また、同じサブメモリブロックに対して書き込み動作と読み取り動作とが実行され続ける場合も発生しうるので、キャッシュメモリブロックのサイズは、１つのサブメモリブロックのサイズと同じであるか、それよりも大きくなければならない。
【００５１】
　このような動作は、タグメモリ制御部２１０によって実行される。タグメモリ制御部２１０は、書き込みアドレスＷＡＤＤまたは読み取りアドレスＲＡＤＤに応答してメモリブロックＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４及びキャッシュメモリブロックＣＭＢ１、ＣＭＢ２、ＣＭＢ３、ＣＭＢ４に格納されたデータを読み取るか、メモリブロックＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４及びキャッシュメモリブロックＣＭＢ１、ＣＭＢ２、ＣＭＢ３、ＣＭＢ４にデータを書き込む。
【００５２】
　書き込みアドレスＷＡＤＤと読取りアドレスＲＡＤＤとが同一であり、メモリブロックＭＢ２のうち１つのサブメモリブロックで読み取り動作が実行され、キャッシュメモリブロックＣＭＢ２で書き込み動作が実行された場合、キャッシュメモリブロックＣＭＢ２に書き込まれたデータが元々書き込まれるべきメモリブロックＭＢ２のうちサブメモリブロックのアドレスがキャッシュメモリアドレスとしてタグメモリ制御部２１０に格納される。
【００５３】
　すなわち、キャッシュメモリアドレスは、キャッシュメモリブロックＣＮＢ２に格納されているデータが元々格納されるべきサブメモリブロックを指定する上位アドレスである。
【００５４】
　入力されるアドレスのうちから下位アドレスを利用してタグメモリ制御部２１０に格納されたキャッシュメモリアドレスにアクセスし、アクセスされたキャッシュメモリアドレスと入力されたアドレスの上位アドレスとが比較される。
【００５５】
　次回の書き込みアドレスＷＡＤＤと読み取りアドレスＲＡＤＤとが同一であり、また以前の書き込みアドレスＷＡＤＤと読み取りアドレスＲＡＤＤとも同一であるために、キャッシュメモリブロックＣＭＢ２に再び書き込み動作が実行されるべき場合がある。この場合、キャッシュメモリブロックＣＭＢ２に先に書き込まれていたデータが有効なデータであるかどうかを判断しなければならない。
【００５６】
　有効なデータであれば、キャッシュメモリブロックＣＭＢ２に先に書き込まれているデータを読み取ってメモリブロックＭＢ２の対応するサブメモリブロックに書き込んだ後、次回の書き込みアドレスＷＡＤＤに対応するデータをキャッシュメモリブロックＣＭＢ２に書き込まなければならないためである。キャッシュメモリブロックＣＭＢ２に格納されているデータが有効であるかを判断する有効判断情報もタグメモリ制御部２１０に格納される。
【００５７】
　また、書き込みアドレスＷＡＤＤ及び読み取りアドレスＲＡＤＤが相異なる場合、それぞれの書き込みアドレスＷＡＤＤ、読み取りアドレスＲＡＤＤに対応する相異なる２個のサブメモリブロックがそれぞれデコーディングされる。
【００５８】
　このために、集積回路２００は、書き込みアドレスデコーディングパス（図示せず）と読み取りアドレスデコーディングパス（図示せず）が相互に独立するように分離されなければならない。そして、サブメモリブロックＳＭＢ１、ＳＭＢ２、ＳＭＢ３〜ＳＭＢＭは、書き込みアドレスデコーディングパスと読み取りアドレスデコーディングパスとにそれぞれ連結されねばならない。
【００５９】
　データは、ＳＤＲまたはＤＤＲにおいて、入力ピンまたは出力ピンを通じて入力または出力される。
【００６０】
　タグメモリ制御部２１０がメモリブロックＭＢ２及びキャッシュメモリブロックＣＭＢ２を制御してデータの読み取り及び書き込みを実行する動作は、図３及び図４を参照して後述する。
【００６１】
　図３は、第２実施例による集積回路を示すブロック図である。集積回路３００は、複数のサブメモリブロックＳＭＢ１、ＳＭＢ２、ＳＭＢ３〜ＳＭＢＭをそれぞれ含むメモリブロック、キャッシュメモリブロック、デコーディング部及びタグメモリ制御部３１０を具備する。
【００６２】
　キャッシュメモリブロックはそれぞれのメモリブロックに対応し、所定のキャッシュ制御信号ＣＣＬＳに応答して格納されたデータが出力されるか、またはデータが書き込まれる。デコーディング部はそれぞれのメモリブロックに対応し、書き込みアドレスＷＡＤＤまたは読み取りアドレスＲＡＤＤ、所定のデコーディング制御信号ＤＣＬＳに応答してサブメモリブロックＳＭＢ１、ＳＭＢ２、ＳＭＢ３〜ＳＭＢＭを制御するデコーディング信号ＤＳを発生する。
【００６３】
　図３は、複数のメモリブロックのうち１つのメモリブロックＭＢ２と複数のデコーディング部のうち１つのデコーディング部３２０、複数のキャッシュメモリブロックのうち１つのキャッシュメモリブロックＣＭＢ２を図示している。
【００６４】
　したがって、第２実施例による集積回路３００の動作の説明も図３に示したメモリブロックＭＢ２とキャッシュメモリブロックＣＭＢ２、デコーディング部３２０及びタグメモリ制御部３１０を利用して説明する。
【００６５】
　タグメモリ制御部３１０は、書き込み選択信号ＷＥＳまたは読取り選択信号ＲＥＳ、書き込みアドレスＷＡＤＤまたは読み取りアドレスＲＡＤＤを受信し、クロック信号の１周期の間に入力される書き込みアドレスＷＡＤＤと読取りアドレスＲＡＤＤとが同じであるかどうかに応じて、データの書き込み動作及び読み取り動作が同時に実行されるようにキャッシュ制御信号ＣＣＬＳまたはデコーディング制御信号ＤＣＬＳを発生する。また、図面には示されていないが、読み取り選択信号ＲＥＳ及び書き込み選択信号ＷＥＳもメモリブロックＭＢ２及びキャッシュメモリブロックＣＭＢ２に印加されうる。
【００６６】
　図２の集積回路２００と同様に前記デコーディング部は、それぞれサブメモリブロックＳＭＢ１、ＳＭＢ２、ＳＭＢ３〜ＳＭＢＭに対応する複数のデコーディング回路（図示せず）を具備する。入力される書き込みアドレスＷＡＤＤ及び読み取りアドレスＲＡＤＤが相異なる場合、それぞれの書き込みアドレスＷＡＤＤ、読み取りアドレスＲＡＤＤに対応する相異なる２個のサブメモリブロックがそれぞれデコーディングされなければならないためである。
【００６７】
　このために、デコーディング回路（図示せず）は、相互に分離されている書き込みアドレスデコーディングパス（図示せず）及び読み取りアドレスデコーディングパス（図示せず）と連結され、サブメモリブロックＳＭＢ１、ＳＭＢ２、ＳＭＢ３〜ＳＭＢＭは、書き込みアドレスデコーディングパス（図示せず）及び読み取りアドレスデコーディングパス（図示せず）にそれぞれ連結される。
【００６８】
　図４は、他の実施例によるデータの読み取り動作と書き込み動作とを同時に実行する方法を示すフローチャートである。図５は、図４の段階４４０を説明するフローチャートである。図６は、図４の段階４４５を説明するフローチャートである。図７は、図４の段階４５５を説明するフローチャートである。
【００６９】
　以下、図２ないし図７を参照してデータの読み取り動作と書き込み動作とを同時に実行する集積回路及び方法について説明する。
【００７０】
　まず、クロック信号の１周期の間に書き込みアドレスと読取りアドレスとが共に入力されるか、書き込みアドレス及び読み取りアドレスのうち何れか１つだけ入力されるかを判断する（段階４１０段階）。図３の書き込み選択信号ＷＥＳ及び読み取り選択信号ＲＥＳによって判断されうる。
【００７１】
　ここでは、書き込み選択信号ＷＥＳがローレベルであるか、読み取り選択信号ＲＥＳがローレベルである場合に、それぞれ書き込みアドレスＷＡＤＤと読み取りアドレスＲＡＤＤとが入力されるものとする。もちろん、書き込み選択信号ＷＥＳ及び読み取り選択信号ＲＥＳのレベルがハイレバルである場合に書き込みアドレスＷＡＤＤと読み取りアドレスＲＡＤＤとが入力されるように回路を構成することもできる。
【００７２】
　タグメモリ制御部３１０は、書き込み選択信号ＷＥＳと読み取り選択信号ＲＥＳとを受信し、書き込みアドレスＷＡＤＤと読み取りアドレスＲＡＤＤとを受信する。
【００７３】
　書き込みアドレスと読み取りアドレスとが共に入力されれば、書き込みアドレスの上位アドレスと読み取りアドレスの上位アドレスとが同一であるかを判断する（段階４２０）。
【００７４】
　書き込みアドレスＷＡＤＤや読み取りアドレスＲＡＤＤは、上位ビットにサブメモリブロックを指定する情報を有している。したがって、書き込みアドレスＷＡＤＤや読み取りアドレスＲＡＤＤが入力されれば、まず、書き込みアドレスＷＡＤＤや読み取りアドレスＲＡＤＤの上位アドレスを認識して、どのサブメモリブロックを指定するかを判断する。
【００７５】
　書き込みアドレスの上位アドレスと読み取りアドレスの上位アドレスとが同一であれば、書き込みアドレスと読み取りアドレスとが所定のキャッシュメモリアドレスと同一であるかを判断する（段階４３０）。
【００７６】
　書き込みアドレスＷＡＤＤの上位アドレスと読み取りアドレスＲＡＤＤの上位アドレスとが同一であれば、書き込みアドレスＷＡＤＤ及び読み取りアドレスＲＡＤＤが同じサブメモリブロックを指定している。
【００７７】
　タグメモリ制御部３１０はキャッシュメモリアドレスを内部に格納している。キャッシュメモリアドレスは、キャッシュメモリブロックＣＭＢ２に対応するサブメモリブロックのアドレスを示す。もし書き込みアドレスＷＡＤＤがキャッシュメモリアドレスと同一であれば、書き込み動作はキャッシュメモリブロックＣＭＢ２で実行されなければならない。
【００７８】
　書き込みアドレスと読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行する（段階４４０）。
【００７９】
　段階４４０を図５を参照してもうさらに説明する。書き込みアドレスと読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記キャッシュメモリブロックに格納されているデータが有効であるかを判断する（段階５１０）。
【００８０】
　書き込みアドレスＷＡＤＤと読み取りアドレスＲＡＤＤのいずれも前記キャッシュメモリアドレスと同一でないことは、結局、メモリブロックＭＢ２の同じサブメモリブロックで書き込み動作及び読み取り動作が実行されなければならないことを意味する。しかし、同じサブメモリブロックで書き込みワードラインと読み取りワードラインとを同時にイネーブルすることはできない。したがって、キャッシュメモリブロックＣＭＢ２を利用する。
【００８１】
　前記キャッシュメモリブロックに格納されているデータが有効でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行する（段階５４０）。
【００８２】
　書き込み動作と読み取り動作とが同じサブメモリブロックで実行されるべき場合は、読み取り動作が優先的に実行される。したがって、読み取りアドレスＲＡＤＤに対応するメモリブロックＭＢ２のサブメモリブロックで読み取り動作を実行する。そして、キャッシュメモリブロックＣＭＢ２に格納されていたデータが有効でないので、キャッシュメモリブロックＣＭＢ２に書き込み動作を実行する。
【００８３】
　タグメモリ制御部３１０はデコーディング制御信号ＤＣＬＳをデコーディング部３２０に印加する。すると、デコーディング部３２０内部のデコーディング回路（図示せず）のうち読み取りアドレスＲＡＤＤに対応するデコーディング回路は、デコーディング信号ＤＳを発生して対応するサブメモリブロックをデコーディングする。すると、サブメモリブロックに格納されたデータが出力される。図３において、ＭＤＯＵＴは、メモリブロックＭＢ２に格納されたデータが出力される経路である。Ｑは、出力ピンを意味する。出力ピンＱと入力ピンＤとは、分離されている。
【００８４】
　また、タグメモリ制御部３１０は、キャッシュ制御信号ＣＣＬＳを発生してキャッシュメモリブロックＭＢ２で書き込み動作を実行する。
【００８５】
　キャッシュメモリブロックＣＭＢ２に格納されたデータが変更されたので、前記キャッシュメモリブロックに書き込まれたデータに関する情報をアップデートさせる（段階５５０）。このような情報のアップデートはタグメモリ制御部３１０で実行される。
【００８６】
　前記キャッシュメモリブロックに格納されているデータが有効であれば、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックに格納されている有効なデータを読み取って対応するメモリブロックに書き込む（段階５２０）。
【００８７】
　書き込み動作と読み取り動作とが同じサブメモリブロックで実行されるべき場合、読み取り動作が優先的に実行されるので、読み取りアドレスＲＡＤＤに対応するメモリブロックＭＢ２のサブメモリブロックで読み取り動作を実行する。読み取り動作は、タグメモリ制御部３１０で発生されるデコーディング制御信号ＤＣＬＳによって実行される。
【００８８】
　キャッシュメモリブロックＣＭＢ２に格納されたデータが有効なデータであるので、まず、キャッシュメモリブロックＣＭＢ２に格納されている有効なデータを読み取り、読み取られたデータをメモリブロックの対応するサブメモリブロックに書き込まなければならない。そして、キャッシュ制御信号ＣＣＬＳに応答してキャッシュメモリブロックＣＭＢ２に書き込み動作を実行し、キャッシュメモリブロックＣＭＢ２に書き込まれたデータに関する情報をアップデートさせる（段階５３０）。情報のアップデートもタグメモリ制御部３１０で実行される。
【００８９】
　このようなデータの書き込み動作と読み取り動作とは同時に実行される。すなわち、サブメモリブロックとキャッシュメモリブロックＣＭＢ２とで書き込み動作と読み取り動作とが独立して実行されるので、書き込みワードラインと読み取りワードラインとは同時にイネーブルされうる。したがって、書き込みワードラインと読み取りワードラインとが順次にイネーブルされることによってクロック信号の周期を縮めるのに制限が生じる問題を解決できる。
【００９０】
　前記書き込みアドレス及び前記読み取りアドレスのうち１つが前記キャッシュメモリアドレスと一致しているか、前記書き込みアドレス及び前記読み取りアドレスの全てが前記キャッシュメモリアドレスと一致しているかを判断して書き込み動作及び読み取り動作を実行する（段階４４５）。
【００９１】
　段階４４５を図６を参照してさらに説明する。前記書き込みアドレス及び前記読み取りアドレスのうち１つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記キャッシュメモリアドレスと一致しないアドレスに対応する動作を前記メモリブロックで実行する（段階６１０）。
【００９２】
　すなわち、読み取りアドレスＲＡＤＤがキャッシュメモリアドレスと一致し、書き込みアドレスＷＡＤＤがキャッシュメモリアドレスと一致しなければ、キャッシュメモリブロックＣＭＢ２で読み取り動作を実行する。タグメモリ制御部３１０は、キャッシュ制御信号ＣＣＬＳをキャッシュメモリブロックＣＭＢ２に印加して読み取り動作を実行する。読み取られたデータは図３でＣＤＯＵＴとして示されている。
【００９３】
　また、タグメモリ制御部３１０は、デコーディング制御信号ＤＣＬＳを発生してメモリブロックＭＢ２で書き込み動作を実行させる。
【００９４】
　逆に、書き込みアドレスＷＡＤＤがキャッシュメモリアドレスと一致し、読み取りアドレスＲＡＤＤがキャッシュメモリアドレスと一致しなければ、キャッシュメモリブロックＣＭＢ２で書き込み動作を実行し、メモリブロックＭＢ２で読み取り動作を実行する。
【００９５】
　前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作を実行し、前記メモリブロックで書き込み動作を実行し、前記メモリブロックに書き込まれたデータに関する情報をアップデートさせる（段階６２０）。
【００９６】
　書き込みアドレス及び前記読み取りアドレスが全て前記キャッシュメモリアドレスと一致すれば、書き込み動作と読み取り動作が全てキャッシュメモリブロックＣＭＢ２で実行されなければならないことを意味する。しかし、これは同じサブメモリブロックで書き込み動作と読み取り動作とが同時に実行されないことと同じ理由で不可である。
【００９７】
　したがって、キャッシュメモリブロックＣＭＢ２でキャッシュ制御信号ＣＣＬＳに応答して読み取り動作を実行する。そして、デコーディング制御信号ＤＣＬＳに応答してメモリブロックＭＢ２の対応するサブメモリブロックで書き込み動作を実行する。元々キャッシュメモリブロックＣＭＢ２に書き込まれるべきデータがサブメモリブロックに書き込まれたものであるので、キャッシュメモリブロックＣＭＢ２に現在格納されているデータは有効でないデータとなる。したがって、このような情報をタグメモリ制御部３１０にアップデートさせる。
【００９８】
　段階４２０で、前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが同一でなければ、前記書き込みアドレスと前記読み取りアドレスとが前記キャッシュメモリアドレスと一致しているかを判断する（段階４５０）。
【００９９】
　前記書き込みアドレス及び前記読み取りアドレスのうち１つが前記キャッシュメモリアドレスと一致しているか、前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致しているかを判断して書き込み動作及び読み取り動作を実行する。（段階４５５）
　段階４５５を図７を参照してさらに説明する。前記書き込みアドレス及び前記読み取りアドレスのうち何れか１つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記キャッシュメモリアドレスと一致しないアドレスと一致する動作を前記メモリブロックで実行する（段階７１０）。
【０１００】
　すなわち、読み取りアドレスＲＡＤＤがキャッシュメモリアドレスと一致し、書き込みアドレスＷＡＤＤがキャッシュメモリアドレスと一致しなければ、キャッシュ制御信号ＣＣＬＳに応答してキャッシュメモリブロックＣＭＢ２で読み取り動作を遂行する。また、タグメモリ制御部３１０は、デコーディング制御信号ＤＣＬＳを発生してメモリブロックＭＢ２で書き込み動作を実行させる。
【０１０１】
　逆に、書き込みアドレスＷＡＤＤがキャッシュメモリアドレスと一致し、読み取りアドレスＲＡＤＤがキャッシュメモリアドレスと一致しなければ、キャッシュメモリブロックＣＭＢ２で書き込み動作を実行し、メモリブロックＭＢ２で読み取り動作を実行する。
【０１０２】
　前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作を実行し、前記メモリブロックで書き込み動作を実行し、前記メモリブロックに書き込まれたデータに関する情報をアップデートさせる（段階７２０）。
【０１０３】
　前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、書き込み動作と読み取り動作とが共にキャッシュメモリブロックＣＭＢ２で実行されなければならないことを意味する。しかし、これは同じサブメモリブロックで書き込み動作と読み取り動作とが同時に実行されないことと同じ理由で不可である。
【０１０４】
　したがって、キャッシュメモリブロックＣＭＢ２でキャッシュ制御信号ＣＣＬＳに応答して読み取り動作を実行する。そして、デコーディング制御信号ＤＣＬＳに応答してメモリブロックＭＢ２の対応するサブメモリブロックで書き込み動作を実行する。元々キャッシュメモリブロックＣＭＢ２に書き込まれるべきデータがサブメモリブロックに書き込まれたものであるので、キャッシュメモリブロックＣＭＢ２に現在格納されているデータは有効でないデータとなる。したがって、このような情報をタグメモリ制御部３１０にアップデートさせる。
【０１０５】
　段階４５０で判断した結果、前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致しなければ、前記選択されたメモリブロックのうち前記書き込みアドレス及び前記読み取りアドレスに対応する相異なるサブメモリブロックで書き込み動作及び読み取り動作を実行する（段階４６０）。
【０１０６】
　この場合は、書き込みアドレスＷＡＤＤ及び読み取りアドレスＲＡＤＤが相異なるサブメモリブロックを指定している場合である。相異なるサブメモリブロックが指定されたので、それぞれのサブメモリブロックに対応するデコーディング回路（図示せず）を利用してデータの読み取り動作と書き込み動作とを実行する。
【０１０７】
　各サブメモリブロックをデコーディングできるデコーディング回路を別途に具備しており、また書き込みアドレスデコーディングパスと読み取りアドレスデコーディングパスとが独立的に分離されているので、同じメモリブロックであっても相異なるサブメモリブロックであれば、同時に読み取り動作及び書き込み動作が実行できる。
【０１０８】
　段階４１０で、前記書き込みアドレス及び前記読取りアドレスのうち何れか１つだけ入力されれば、入力された前記書き込みアドレス及び前記読み取りアドレスのうち何れか１つが前記キャッシュメモリアドレスと一致するかを判断する（段階４６５）。
【０１０９】
　入力された前記書き込みアドレスまたは前記読み取りアドレスが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致した書き込みアドレスまたは読み取りアドレスに対応する動作を前記キャッシュメモリブロックで実行する（段階４７０）。この場合は、クロック信号の１周期の間に書き込みアドレスＷＡＤＤ及び読み取りアドレスＲＡＤＤのうち何れか１つだけ入力される。
【０１１０】
　この時は、入力されるアドレスがキャッシュメモリアドレスと一致すれば、キャッシュメモリブロックで対応する動作を実行し、キャッシュメモリアドレスと一致しなければ、メモリブロックＭＢ２で対応する動作を実行する。
【０１１１】
　すなわち、書き込みアドレスＷＡＤＤだけ入力され、入力された書き込みアドレスＷＡＤＤがキャッシュメモリアドレスと一致するならば、キャッシュメモリブロックＣＭＢ２に書き込み動作を実行する。逆に、読み取りアドレスＲＡＤＤだけ入力され、入力された読み取りアドレスＲＡＤＤがキャッシュメモリアドレスと一致するならば、キャッシュメモリブロックＣＭＢ２に読み取り動作を実行する。この時、タグメモリ制御部３１０は、キャッシュ制御信号ＣＣＬＳを発生してキャッシュメモリブロックＣＭＢ２で書き込みまたは読み取り動作を実行させる。
【０１１２】
　入力された前記書き込みアドレスまたは前記読み取りアドレスが前記キャッシュメモリアドレスと一致しなければ、前記キャッシュメモリアドレスと一致しない書き込みアドレスまたは読み取りアドレスに対応する動作を前記メモリブロックで実行する（段階４７５）。
【０１１３】
　図８は、本発明の集積回路の動作を説明するタイミング図である。図８を参照すれば、クロック信号ＣＬＫの１周期が図１のクロック信号ＣＬＫの１周期の半分に短縮されたことが分かる。これはクロック信号ＣＬＫの周波数が倍増されたことを意味する。
【０１１４】
　従来においては、書き込み動作のためのワードラインと読み取り動作のためのワードラインとがクロック信号ＣＬＫの１周期の間に順次にイネーブルされるので、クロック信号ＣＬＫの周期を短くすることが難しかった。
【０１１５】
　しかし、本発明による集積回路及び方法によれば、図８から分かるように、読み取り動作のためのワードラインＷＬ１と書き込み動作のためのワードラインＷＬ２とがクロック信号ＣＬＫの１周期の間に同時にイネーブルされるので、クロック信号ＣＬＫの周期を短くすることができる。
【０１１６】
　本発明は、入出力ポートが分離され、クロック信号の１周期内に書き込みアドレスと読み取りアドレスとを共に受けられる種々の集積回路に適用することができる。また、データは、ＳＤＲまたはＤＤＲに分離された入力ピンまたは出力ピンを通じて入出力することができる。
【０１１７】
　以上でのように、図面と明細書で最適実施例が開示された。ここで特定の用語が使われたが、これは単に本発明を説明するための目的で使われたものであり、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使われたものではない。したがって、本技術分野の当業者であれば、これにより多様な変形及び均等な他の実施例が可能である点が理解できるであろう。したがって、本発明の真の技術的保護範囲は特許請求の技術的思想によって定められなければならない。
【産業上の利用可能性】
【０１１８】
　本発明は集積回路に係り、特に二重データ率ＲＡＭ（Ｄｏｕｂｌｅ Ｄａｔａ Ｒａｔｅ ＲＡＭ：ＤＤＲ ＲＡＭ）のように動作速度が速くて入出力ポートが分離された半導体集積回路において好適に使用できる。
【図面の簡単な説明】
【０１１９】
【図１】分離された入出力ポートを有するメモリ装置の動作を説明するタイミング図である。
【図２】第１実施例による集積回路を示すブロック図である。
【図３】第２実施例による集積回路を示すブロック図である。
【図４】他の実施例によるデータの読み取り動作と書き込み動作とを同時に実行する方法を示すフローチャートである。
【図５】図４の段階４４０を説明するフローチャートである。
【図６】図４の段階４４５を説明するフローチャートである。
【図７】図４の段階４５５を説明するフローチャートである。
【図８】本発明の集積回路の動作を説明するタイミング図である。
【符号の説明】
【０１２０】
　２００    集積回路
　２１０    タグメモリ制御部
　ＳＭＢ１〜ＳＭＢＭ    サブメモリブロック
　ＭＢ１、ＭＢ２、ＭＢ３、ＭＢ４    メモリブロック
　ＣＭＢ１、ＣＭＢ２、ＣＭＢ３、ＣＭＢ４    キャッシュメモリブロック
　ＷＡＤＤ    書き込みアドレス
　ＲＡＤＤ    読み取りアドレス
【図１】
2004146051.tif 000003
【図２】
2004146051.tif 000004
【図３】
2004146051.tif 000005
【図４】
2004146051.tif 000006
【図５】
2004146051.tif 000007
【図６】
2004146051.tif 000008
【図７】
2004146051.tif 000009
【図８】
2004146051.tif 000010