(57)【要約】【課題】いくつかのバンクを有するメモリへのアクセスの速度と、そのようなメモリのコストに関する効率を高めること。【解決手段】いくつかのバンクを有するメモリとデータ処理回路の間でデータを転送する方法であって、この方法が、−  アクセス要求（４６， ４７）を生成するステップであって、この要求が、アクセスのタイプを毎回定義し、かつ、その要求に適したシーケンスに従って配置される１つまたは複数のメモリ位置（４６ａ−ｄ， ４７ａ−ｂ）を指定する、アクセス要求を生成するステップと、−  処理される各要求について、指定されるメモリ位置からデータ処理回路に、またはこの逆方向にデータを転送するように、連続するシーケンスに従って要求を処理するステップであって、いくつかのバンクに関連付けられるメモリ位置（４６ａ， ４６ｂ， ４６ｃ， ４６ｄ）を指定する要求（４６）の処理が、この要求に関連付けられるシーケンスとは異なるシーケンスでインタフェースとメモリ位置の間でのデータの転送を可能にする、要求を処理するステップと、を有する。
2004520658.tif 000002
【特許請求の範囲】
【請求項１】
いくつかのバンクを有するメモリと、データを処理するための回路との間で、適切なインタフェースを介してデータを転送する方法であって、当該方法が、
−アクセス要求を生成するステップであって、当該アクセス要求が、前記読み取りタイプと前記書き込みタイプのいずれかのアクセスのタイプを毎回定義し、かつ、各要求に適したシーケンスに従って配置される１つまたは複数のメモリ位置を指定する、アクセス要求を生成するステップと、
−連続するシーケンスに従って前記要求を処理するステップであって、処理される各要求について、当該要求によって定義される前記アクセスのタイプに応じて、前記要求によって指定される前記メモリ位置から前記インタフェースを通じて前記データ処理回路に、またはこの逆方向に、データを転送するために、前記要求を処理するステップであって、
いくつかのバンクに関連付けられるメモリ位置を指定する要求の前記処理が、前記インタフェースと前記メモリ位置の１つの部分との間での前記データ転送の準備を、遅くとも、前記インタフェースと当該メモリ位置の別の部分との間での前記データ転送を実現している間に行うために、当該要求に関連付けられる前記シーケンスとは異なるシーケンスで前記インタフェースと前記メモリ位置の間でのデータ転送を可能にする、前記要求を処理するステップと、
を有する、データを転送する方法。
【請求項２】
いくつかのバンクに関連付けられるメモリ位置を指定する要求の前記処理が、
−前記要求を、当該バンクの１つに関連付けられる１つまたは複数のメモリ位置をそれぞれ指定するいくつかの部分に分割するステップと、
−前記インタフェースと、前記処理される要求の前記部分によって指定される前記メモリ位置との間での対応するデータ転送を毎回実現するために、当該要求の部分のうちの１つの部分に対応する前記転送の準備を、遅くとも、前記要求の別の部分に対応する前記転送を実現している間に行うことによって、当該要求の部分を連続的に処理するステップと、
を有する、請求項１に記載の方法。
【請求項３】
要求の各部分が、前記要求によって指定されかつ異なるバンクに関連付けられる前記メモリ位置すべてを指定する、請求項２に記載の方法。
【請求項４】
いくつかのバンクに関連付けられるメモリ位置を指定する要求の前記処理が、
−最初の部分として処理する要求部分を選択するステップであって、当該要求部分が指定する前記メモリ位置が、当該連続する処理シーケンスにおける直前の前記要求または前記要求部分によって指定される前記メモリ位置が関連付けられる前記バンクとは異なるメモリバンクに関連付けられるように選択するステップであって、前記最初の部分として処理する前記要求部分の前記処理が、前記対応するバンクを準備するステップを有し、当該準備が、遅くとも、直前の前記要求または前記要求部分を処理している間に実施される、選択するステップ、
も有する、請求項２に記載の方法。
【請求項５】
いくつかのバンクに関連付けられるメモリ位置を指定する前記読み取りタイプの要求の前記処理が、
−当該要求の前記部分の連続する処理操作の間、前記メモリから転送される前記データを前記インタフェース内に一時的に記憶するステップと、
−当該要求に適したメモリ位置の前記シーケンスに従って前記データを前記データ処理回路に転送するために、前記データを並べ替えるステップ、
も有する、請求項２に記載の方法。
【請求項６】
いくつかのバンクを有するメモリのインタフェース回路であって、当該インタフェース回路が、前記インタフェース回路にアクセス要求を送信するのに適したデータ処理回路に接続されるように意図され、当該インタフェース回路が、前記読み取りタイプと前記書き込みタイプのいずれかのアクセスのタイプと、当該要求によって指定される１つまたは複数のメモリ位置とを毎回識別するために、当該アクセス要求を読み取るのに適していて、当該インタフェース回路が、処理される各要求について、前記識別されたアクセスのタイプに従って、当該要求によって指定される前記メモリ位置から前記データ処理回路に、またはこの逆方向に、データを転送するために、連続するシーケンスに従って前記要求を処理するのに適していて、当該インタフェース回路が、当該インタフェース回路とメモリ位置の１つの部分の間での前記データ転送の準備を、遅くとも、当該インタフェース回路と当該メモリ位置の別の部分の間での前記データ転送を実現している間に行うために、いくつかのバンクに関連付けられているメモリ位置を指定する要求を、当該要求に適した前記シーケンスとは異なるシーケンスで当該インタフェース回路と前記メモリ位置との間で当該データを転送することによって処理するための手段を含む、インタフェース回路。
【請求項７】
−前記要求を、当該バンクの１つに関連付けられる１つまたは複数のメモリ位置をそれぞれ指定するいくつかの部分に分割するステップと、
−前記インタフェースと、前記処理される要求の前記部分によって指定される前記メモリ位置との間での対応するデータ転送を毎回実現するために、当該要求部分を連続的に処理するステップと、
−  前記要求部分の１つに対応する前記転送の準備を、遅くとも、当該要求部分の別の部分に対応する前記転送を実現している間に行うステップと、
を行うための手段を有する、請求項６に記載のインタフェース回路。
【請求項８】
−前記最初の部分として処理する要求部分を選択するステップであって、当該要求部分が指定する前記メモリ位置が、当該連続する処理シーケンスにおける直前の前記要求または前記要求部分によって指定される前記メモリ位置が関連付けられる前記バンクとは異なるメモリバンクに関連付けられる、ステップと、
−前記最初の部分として処理する当該要求部分に対応する前記バンクの準備を、遅くとも、直前の前記要求または前記要求部分を処理している間に行うステップと、
を行うための手段を有する、請求項７に記載のインタフェース回路。
【請求項９】
−いくつかのバンクに関連付けられるメモリ位置を指定する前記読み取りタイプの要求の前記部分の連続する処理操作の間、前記メモリから転送される前記データを一時的に記憶するステップと、
−当該要求に適したメモリ位置の前記シーケンスに応じて前記データを前記データ処理回路に転送するために、前記データを並べ替えるステップと、
を行うための手段も有する、請求項７に記載のインタフェース回路。
【請求項１０】
記録担体から読み取る、または記録担体に格納するのに適した命令コードを有するコンピュータプログラムであって、当該命令コードが、いくつかのバンクを有するメモリと、前記インタフェース回路にアクセス要求を送信するのに適したデータ処理回路とに接続されるように意図されたプログラム可能なインタフェース回路によって実行するのに適していて、当該命令コードの前記実行が、前記インタフェース回路上での、
−前記読み取りタイプと前記書き込みタイプのいずれかのアクセスのタイプと、当該要求によって指定される１つまたは複数のメモリ位置とを毎回識別するために、前記アクセス要求を読み取るステップと、
−処理される各要求について、前記識別されたアクセスのタイプに従って、当該要求によって指定される前記メモリ位置から前記データ処理回路に、またはこの逆方向に、データを転送するために、連続するシーケンスに従って前記要求を処理するステップであって、
いくつかのバンクに関連付けられるメモリ位置を指定する要求の前記処理が、前記インタフェースと前記メモリ位置の１つの部分との間での前記データ転送の準備を、遅くとも、前記インタフェースと当該メモリ位置の別の部分との間での前記データ転送を実現している間に行うために、当該要求に関連付けられる前記シーケンスとは異なるシーケンスで前記インタフェースと前記メモリ位置の間でのデータ転送を可能にする、前記要求を処理するステップと、
を実行するのに適している、
コンピュータプログラム。
【請求項１１】
データ処理システムであって、
−いくつかのバンクを有するメモリと、
−アクセス要求を生成するのに適したデータ処理回路であって、各アクセス要求が、前記読み取りタイプと前記書き込みタイプのいずれかのアクセスのタイプを定義し、かつ１つまたは複数のメモリ位置を指定する、データ処理回路と、
−処理される各要求について、前記要求によって定義される前記アクセスのタイプに従って、当該要求によって指定される前記メモリ位置から前記データ処理回路に、またはこの逆方向に、データを転送するために、連続するシーケンスに従って前記要求を処理するのに適したインタフェースと、
を有するデータ処理システムにおいて、
前記インタフェースと前記メモリ位置の１つの部分との間での前記データ転送の準備を、遅くとも、前記インタフェースと当該メモリ位置の別の部分との間での前記データ転送を実現している間に行うために、前記インタフェースが、当該要求に関連付けられる前記シーケンスとは異なるシーケンスで、前記インタフェースと当該要求によって指定される前記メモリ位置との間で前記データを転送することによって、いくつかのバンクに関連付けられるメモリ位置を指定する要求の前記処理を実現するのに適している、データ処理システム。
【請求項１２】
当該インタフェースが、
−いくつかのバンクに関連付けられるメモリ位置を指定する要求を、当該バンクの１つに関連付けられる１つまたは複数のメモリ位置をそれぞれ指定するいくつかの部分に分割するステップと、
−前記インタフェースと、前記処理される要求の前記部分によって指定される前記メモリ位置との間での対応するデータ転送を毎回実現するために、当該要求部分を連続的に処理するステップと、
−前記要求部分の１つに対応する前記転送の準備を、遅くとも、当該要求の別の部分に対応する前記転送を実現している間に行うステップと、
に適している、請求項１１に記載のデータ処理システム。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、データ処理回路と、いくつかのバンクを有する、特に、ＳＤＲＡＭ （Ｓｙｎｃｈｒｏｎｏｕｓ Ｄｙｎａｍｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）タイプのメモリとの間でデータを転送する方法と、メモリインタフェース回路と、そのようなインタフェース回路によって実行するのに適したコンピュータプログラムと、データ処理システムとに関する。
【０００２】
【従来の技術】
データ処理回路と、いくつかのバンクを有するメモリと、データ処理回路とメモリの間に配置されかつこれらの間でのデータの交換を制御するためのメモリインタフェース回路とを有するデータ処理システムは、公知である。従来、データ処理回路が１つまたは複数の機能を実行するときには、処理するデータをメモリからデータ処理回路に転送するために読み取りメモリにアクセスする、または処理されたデータをデータ処理回路からメモリに転送するために書き込みメモリにアクセスすることが必要となる。データ処理回路は、アクセスのたびに、アクセス要求、すなわちデータ転送コマンドをインタフェース回路に送信する。インタフェース回路は、処理される要求によって定義される一連のデータと転送方向とを識別し、対応する転送を実施することによって、受信された要求を１つずつ処理する。公知の方法においては、アクセス操作の準備として、対応するバンクの大容量のファイルをプリロード（ｐｒｅｌｏａｄ）する操作と、そのバンクを起動する操作とが含まれる。従って、準備にはいくつかのクロックサイクルが必要である。
【０００３】
上記の公知のシステムには、連続するアクセスコマンドを実行している間に、進行中のアクセス操作が、次のアクセス操作と同じメモリバンクに関連することが起こりうるという欠点がある。この場合、（アクセス操作の対象を形成しなければならない行をプリロードおよび／または起動することにより）次のアクセス操作の準備を行うことができるようになるまでに、進行中のアクセス操作が終了するまでの待ち時間を守る必要がある。この準備の間は、メモリとのデータの転送が行われず、従って、この状況が頻繁に起こるほど、メモリの通過帯域の使用効率が低下する。
【０００４】
【課題を解決するための手段】
本発明の目的は、上述されている欠点を解決して、いくつかのバンクを有するメモリへのアクセスの速度と、そのようなメモリのコストに関する効率を高めることである。
【０００５】
この目的に対し、本発明は、いくつかのバンクを有するメモリと、データを処理するための回路との間で、適切なインタフェースを介してデータを転送する方法であって、当該方法が、
−  アクセス要求を生成するステップであって、当該アクセス要求が、前記読み取りタイプと前記書き込みタイプのいずれかのアクセスのタイプを毎回定義し、かつ、各要求に適したシーケンスに従って配置される１つまたは複数のメモリ位置を指定する、アクセス要求を生成するステップと、
−  連続するシーケンスに従って前記要求を処理するステップであって、処理される各要求について、当該要求によって定義される前記アクセスのタイプに応じて、前記要求によって指定される前記メモリ位置から前記インタフェースを通じて前記データ処理回路に、またはこの逆方向に、データを転送するために、前記要求を処理するステップであって、
いくつかのバンクに関連付けられるメモリ位置を指定する要求の前記処理が、前記インタフェースと前記メモリ位置の１つの部分との間での前記データ転送の準備を、遅くとも、前記インタフェースと当該メモリ位置の別の部分との間での前記データ転送を実現している間に行うために、当該要求に関連付けられる前記シーケンスとは異なるシーケンスで前記インタフェースと前記メモリ位置の間でのデータ転送を可能にする、前記要求を処理するステップと、
を有する、方法を提供する。
【０００６】
いくつかのバンクに関連付けられるメモリ位置を指定する要求の前記処理は、
−  前記要求を、当該バンクの１つに関連付けられる１つまたは複数のメモリ位置をそれぞれ指定するいくつかの部分に分割するステップと、
−  前記インタフェースと、前記処理される要求の前記部分によって指定される前記メモリ位置との間での対応するデータ転送を毎回実現するために、当該要求の部分のうちの１つの部分に対応する前記転送の準備を、遅くとも、前記要求の別の部分に対応する前記転送を実現している間に行うことによって、当該要求の部分を連続的に処理するステップと、
を有する。
【０００７】
アクセス要求がいくつかのバンクに関与するとすぐに、アクセスの最初の部分以外の部分を実現するために必要なプリロードおよび／または起動が、前のアクセス部分を実現している間に、すなわちデータ転送を実施することによって、必ず実施される。従って、メモリの通過帯域がより良好に使用される。
【０００８】
要求の各部分は、その要求によって指定されかつ異なるバンクに関連付けられるメモリ位置すべてを指定することが有利である。従って、各アクセス部分の時間長が最適化され、このことは、現在のアクセス部分を実現している間に次のアクセス部分の準備を完了するために必要である。
【０００９】
いくつかのバンクに関連付けられるメモリ位置を指定する要求の前記処理は、望ましくは、
−  最初の部分として処理する要求部分を選択するステップであって、当該要求部分が指定する前記メモリ位置が、当該連続する処理シーケンスにおける直前の前記要求または前記要求部分によって指定される前記メモリ位置が関連付けられる前記バンクとは異なるメモリバンクに関連付けられるように選択するステップであって、前記最初の部分として処理する前記要求部分の前記処理が、前記対応するバンクを準備するステップを有し、当該準備が、遅くとも、直前の前記要求または前記要求部分を処理している間に実施される、選択するステップ、
も有することが好ましい。
【００１０】
このようにして、いくつかのバンクに関与する要求は、前の要求を処理した後、最小の遅延で、または遅延なしに常に処理され、その一方で、アクセス操作の最初の部分を実現するために必要なプリロードおよび／または起動は、前のアクセス操作を実現している間に常に実施される。これにより、メモリの通過帯域の使用が、さらに向上する。
【００１１】
いくつかのバンクに関連付けられるメモリ位置を指定する前記読み取りタイプの要求の前記処理は、
−  当該要求の前記部分の連続する処理操作の間、前記メモリから転送される前記データを前記インタフェース内に一時的に記憶するステップと、
−  当該要求に適したメモリ位置の前記シーケンスに従って前記データを前記データ処理回路に転送するために、前記データを並べ替えるステップ、
も有することが有利である。
【００１２】
このようにして、データを転送するこの方法は、読み取られたデータを処理回路が受信するときのフォーマットにまったく影響せず、その一方で、処理回路に関して特定の方策を採る必要がない。
【００１３】
本発明は、さらに、いくつかのバンクを有するメモリのインタフェース回路であって、当該インタフェース回路が、前記インタフェース回路にアクセス要求を転送するのに適したデータ処理回路に接続されるように意図され、当該インタフェース回路が、前記読み取りタイプと前記書き込みタイプのいずれかのアクセスのタイプと、当該要求によって指定される１つまたは複数のメモリ位置とを毎回識別するために、当該アクセス要求を読み取るのに適していて、当該インタフェース回路が、処理される各要求について、前記識別されたアクセスのタイプに従って、当該要求によって指定される前記メモリ位置から前記データ処理回路に、またはこの逆方向に、データを転送するために、連続するシーケンスに従って前記要求を処理するのに適していて、当該インタフェース回路が、当該インタフェース回路とメモリ位置の１つの部分の間での前記データ転送の準備を、遅くとも、当該インタフェース回路と当該メモリ位置の別の部分の間での前記データ転送を実現している間に行うために、いくつかのバンクに関連付けられているメモリ位置を指定する要求を、当該要求に適した前記シーケンスとは異なるシーケンスで当該インタフェース回路と前記メモリ位置との間で当該データを転送することによって処理するための手段を含む、インタフェース回路も提供する。
【００１４】
このようなインタフェース回路は、望ましくは、
−  前記要求を、当該バンクの１つに関連付けられる１つまたは複数のメモリ位置をそれぞれ指定するいくつかの部分に分割するステップと、
−  前記インタフェース回路と、前記処理される要求の前記部分によって指定される前記メモリ位置との間での対応するデータ転送を毎回実現するために、当該要求部分を連続的に処理するステップと、
−  前記要求部分の１つに対応する前記転送の準備を、遅くとも、当該要求部分の別の部分に対応する前記転送を実現している間に行うステップと、
を行うための手段を有する。
【００１５】
このインタフェース回路は、さらに、
−  最初の部分として処理する要求部分を選択するステップであって、当該要求部分が指定する前記メモリ位置が、当該連続する処理シーケンスにおける直前の前記要求または前記要求部分によって指定される前記メモリ位置が関連付けられる前記バンクとは異なるメモリバンクに関連付けられる、ステップと、
−  前記最初の部分として処理する当該要求部分に対応する前記バンクの準備を、遅くとも、直前の前記要求または前記要求部分を処理している間に行うステップと、
を行うための手段も有することが有利である。
【００１６】
本発明によるインタフェース回路は、望ましくは、さらに、
−  いくつかのバンクに関連付けられるメモリ位置を指定する前記読み取りタイプの要求の前記部分の連続する処理操作の間、前記メモリから転送される前記データを一時的に記憶するステップと、
−  当該要求に適したメモリ位置の前記シーケンスに応じて前記データを前記データ処理回路に転送するために、前記データを並べ替えるステップと、
を行うための手段も有する。
【００１７】
本発明は、さらに、記録担体から読み取る、または記録担体に格納するのに適した命令コードを有するコンピュータプログラムであって、当該命令コードが、いくつかのバンクを有するメモリと、前記インタフェース回路にアクセス要求を送信するのに適したデータ処理回路とに接続されるように意図されたプログラム可能なインタフェース回路によって実行するのに適していて、当該命令コードの前記実行が、前記インタフェース回路上での、
−  前記読み取りタイプと前記書き込みタイプのいずれかのアクセスのタイプと、当該要求によって指定される１つまたは複数のメモリ位置とを毎回識別するために、前記アクセス要求を読み取るステップと、
−  処理される各要求について、前記識別されたアクセスのタイプに従って、当該要求によって指定される前記メモリ位置から前記データ処理回路に、またはこの逆方向に、データを転送するために、連続するシーケンスに従って前記要求を処理するするステップと、
−  当該インタフェース回路とメモリ位置の１つの部分の間での前記データ転送の準備を、遅くとも、当該インタフェース回路と当該メモリ位置の別の部分の間での前記データ転送を実現している間に行うために、いくつかのバンクに関連付けられているメモリ位置を指定する要求を、当該要求に適した前記シーケンスとは異なるシーケンスで当該インタフェース回路と前記メモリ位置との間で当該データを転送することによって処理するステップと、
を実行するのに適している、
コンピュータプログラムも提供する。
【００１８】
本発明は、さらに、データ処理システムであって、
−  いくつかのバンクを有するメモリと、
−  アクセス要求を生成するのに適したデータ処理回路であって、各アクセス要求が、前記読み取りタイプと前記書き込みタイプのいずれかのアクセスのタイプを定義し、かつ１つまたは複数のメモリ位置を指定する、データ処理回路と、
−  処理される各要求について、前記要求によって定義される前記アクセスのタイプに従って、当該要求によって指定される前記メモリ位置から前記データ処理回路に、またはこの逆方向に、データを転送するために、連続するシーケンスに従って前記要求を処理するのに適したインタフェースと、
を有するデータ処理システムにおいて、
前記インタフェースと前記メモリ位置の１つの部分との間での前記データ転送の準備を、遅くとも、前記インタフェースと当該メモリ位置の別の部分との間での前記データ転送を実現している間に行うために、前記インタフェースが、当該要求に関連付けられる前記シーケンスとは異なるシーケンスで、前記インタフェースと当該要求によって指定される前記メモリ位置との間で前記データを転送することによって、いくつかのバンクに関連付けられるメモリ位置を指定する要求の前記処理を実現するのに適している、データ処理システム、も提供する。
【００１９】
当該インタフェースは、
−  いくつかのバンクに関連付けられるメモリ位置を指定する要求を、当該バンクの１つに関連付けられる１つまたは複数のメモリ位置をそれぞれ指定するいくつかの部分に分割するステップと、
−  前記インタフェースと、前記処理される要求の前記部分によって指定される前記メモリ位置との間での対応するデータ転送を毎回実現するために、当該要求部分を連続的に処理するステップと、
−  前記要求の部分の１つに対応する前記転送の準備を、遅くとも、当該要求の別の部分に対応する前記転送を実現している間に行うステップと、
に適している。
【００２０】
本発明は、いくつかのバンクを有するＳＤＲＡＭまたは別のタイプの任意のメモリへのアクセス操作であって、バンクにアクセスしている間に別のバンクへのアクセスを準備することができる、アクセス操作に関する。
【００２１】
本発明の上記およびその他の観点は、具体例により以下に説明する実施例を参照することにより、明確に理解されるであろう。ただし、本発明はこの例に限定されない。
【００２２】
【発明を実施するための形態】
図１に示されているデータ処理システムは、４個のバンクＡ、Ｂ、Ｃ、Ｄを有するＳＤＲＡＭタイプのメモリ１を有する。メモリ１は、バッファメモリ３を有するメモリインタフェース回路２に接続されている。インタフェース回路２は、論理および演算装置５とコントローラ６とを有する中央装置４と、データ処理回路７とに接続されている。データ処理回路７は、例えば、ＭＰＥＧ （Ｍｏｔｉｏｎ Ｐｉｃｔｕｒｅ Ｅｘｐｅｒｔ Ｇｒｏｕｐ）形式のデータなど、オーディオ、ビデオ、グラフィック（ＡＶＧ）データの処理専用のプロセッサである。
【００２３】
中央装置４は、データバスと、アドレスバスと、コマンド線とを有する接続手段８によって、インタフェース回路２に接続されている。データ処理回路７は、同様にデータバス１５と、アドレスバスと、コマンド線１６とを有する接続手段９によって、インタフェース回路２に接続されている。このインタフェース回路は、図２に示されている。データインタフェースモジュール４０は、データバス１５に接続されていて、インタフェース回路２からのＡＶＧデータの受信と送信を確実に行う。
【００２４】
インタフェース回路２は、データバス１０と、アドレスバス１１と、２本のバンク選択線１２および１３と、コマンド線１４とを有する接続手段１７によって、メモリ１に接続されている。また、マスクコマンドＤＱＭも、読み取るかまたは書き込むデータがメモリワード（ｍｅｍｏｒｙ ｗｏｒｄ）よりも短いときにアクセスする、各メモリ位置の部分の選択を可能にする。メモリワードは、例えば、３２ビットで構成される。
【００２５】
メモリ１は、集合的なメモリである。このメモリ内で、中央装置４は、データと命令コードの読み取りと書き込みのアクセス操作を実行し、データ処理回路７は、ＡＶＧデータの読み取りと書き込みのアクセス操作を実行する。メモリ１の設計により、同時に実行できるアクセス操作は１つのみである。中央装置４とデータ処理回路７は、いずれも、書き込みと読み取りのためにインタフェース回路２を介してメモリ１にアクセスする。このアクセスは、インタフェース回路２に送信されるアクセス要求、すなわちインタフェース回路２によって実行される転送コマンドを生成することによって行われる。
【００２６】
変更例においては、いくつかのアナログデータ処理回路それぞれが、メモリ１へのアクセスの要求を生成する。この場合には、相異なるデータ処理回路が、共通のデータ中央装置を介してインタフェース回路２と通信し、この共通のデータ中央装置は、要求を転送するデータ処理回路とインタフェース回路２の間で、アクセス要求と対応するデータとを公知の方法で転送する。この場合、図１におけるブロック７が、一連のデータ処理回路と、これらの共通のデータ中央装置とを表すものとみなされる。
【００２７】
メモリ１の設計により、アクセス操作は、１つまたは複数のバンク内の連続する位置の１つまたは複数のバーストとして実行される。ここで説明している実施例においては、データ処理回路７の要求は、毎回、例えば画像の一部のピクセル値を表す１６個のメモリワードを参照する。中央装置による要求は、１個、４個、または８個のメモリワードを参照する。
【００２８】
アクセス要求は、アクセスの対象を形成する必要のある一連のメモリ位置を指定し、かつ、転送する一連のデータと実施する転送方向とを定義する。例えば、転送方向は、インタフェース回路２のいくつかの固有の入力レジスタの高値または低値によって定義される。読み取る一連のデータは、メモリ１におけるアドレスによって指定される。書き込む一連のデータは、インタフェース回路２の入力におけるデータバス上の信号によって指定される。アクセスの対象を形成するメモリ位置は、次のパラメータ、すなわち、メモリ１において読み取るかまたは書き込む最初のブロックの最初の位置のアドレスと、読み取るかまたは書き込むブロックの数と、各ブロックの間でスキップする位置の数と、各ブロックにおいて読み取るかまたは書き込む連続的なメモリ位置の数と、によって定義される。当然ながら、隣接する位置からなる１個のブロックも存在し得る。アドレスは、バンク番号と、行番号と、列番号とを有する。
【００２９】
インタフェース回路２は、各アクセス要求を次のように処理する。すなわち、書き込み要求と読み取り要求のいずれが関与するかに応じて、定義された一連のデータが、要求元から、上記のように定義されたメモリ位置に、または上記のように定義されたメモリ位置から要求元に転送されるように、処理する。
【００３０】
次に、メモリインタフェース回路２の動作について、図２を参照しながら説明する。最初に、データ処理回路７によって送信されるアクセス要求に固有な処理段階について説明する。
【００３１】
インタフェース回路２は、アービトレーションモジュール１８を有する。このモジュールは、コマンド線１６に接続されていて、かつ、１つまたは複数の処理回路７によって送信されるアクセス要求のアービトレーション専用である。アービトレーションモジュール１８は、１つまたは複数の処理回路７から送信されてキューに入っているアクセス要求を実行する順序を決定するために、特定のアービトレーション手順を適用する。この手順の開始時、アクセス要求４２が受理されて、コマンドレジスタによって前処理モジュール１９に転送される。この後、キュー内の残りの要求について、再アービトレーションが行われる。
【００３２】
受理されたアクセス要求４２は、このコマンドレジスタ内で、例えば、次のように符号化される。すなわち、８個の最下位ビットが、読み取るかまたは書き込むデータの各ブロック間でスキップするメモリワードの数を指定し、次の４個のビットが、１ブロックあたりの連続的なメモリワードの数を指定し、次のビットが、読み取りタイプと書き込みタイプのいずれかのアクセスのタイプを指定し、それに続くビットが、メモリ１における読み取るかまたは書き込む最初のブロックの最初のメモリワードのアドレスを指定する。
【００３３】
前処理モジュール１９は、回路７から、または回路７の１つから受信されたアクセス要求４２に、次の２つのステップの手順を適用する。
−  再編成ステップにおいては、そのアクセス要求に関与する異なるバンクの数が計算される。アクセス要求がいくつかのバンクに関与する場合、アクセス要求が、バンクの数と同じ数の部分に分割される。各要求部分は、要求によって指定されかつ異なるバンクに属すメモリ位置すべてを指定する。
−  並べ替えステップにおいては、実行される要求の２つの部分が同じバンクに連続的に関与することを防止するために、前処理モジュール１９は、前処理された要求から生成された要求部分を並べ替える。これを目的として、前処理モジュールは、前処理の間に、その要求の直前の要求の最後の部分に関与するバンクを調べ、それと異なるバンクを指定する要求の部分を最初の位置に配置する。
【００３４】
アクセス要求から得られる要求の１つまたは複数の部分２１が、それぞれ、バンク番号と、そのバンク内の指定される行の番号と、その行内の指定される列の番号およびリストと、アクセスタイプのインジケータとが指定された状態で利用可能になるとすぐに、部分２１は、前述されているように決定された順序で、列生成器２０に転送される。列生成器２０は、データ処理回路７のアクセス要求専用である。
【００３５】
前処理モジュール１９は、信号２３を衝突マネージャ（ｃｏｌｌｉｓｉｏｎ ｍａｎａｇｅｒ） ２２に送信する。この信号は、実行する準備ができている要求の部分が存在することを示す。
【００３６】
次に、中央装置４によって送信されるアクセス要求に固有の処理段階について説明する。中央装置４からのアクセス要求は、接続手段８に接続されている中央装置インタフェースモジュール２８によって受信される。このインタフェースモジュール２８は、処理を待機している要求を１つのみ含むキューを有する。インタフェースモジュール２８は、その時点で処理中の要求が終了するまで待機してから、次の要求を受理する。中央装置４から送信されるメモリ１へのアクセスの要求は、常に一連の連続的なアドレスに関与し、すなわち、このアクセス要求にはスキップされる位置が含まれない。インタフェースモジュール２８は、要求を受理すると、実行する準備ができている中央装置の要求が存在することを示す信号２９を衝突マネージャ２２に転送し、かつ、受理された要求３３を、中央装置４のアクセス要求専用である列生成器３０に転送する。
【００３７】
衝突マネージャ２２は、実行する準備ができている要求の部分と、中央装置の要求との間で調停を行う機能を有する。衝突マネージャ２２は、第一優先度を有する要求を処理するために、中央装置４と１つまたは複数のデータ処理回路７によって要求されたアクセス操作の実現を管理する。実際には、ＡＶＧデータは通常のデータとしてみなされ、これと対照的に、中央装置４のデータと命令コードは、優先データとしてみなされる。動作させるため、衝突マネージャ２２は、所定の方法に従って、それぞれ列生成器２０と３０を送信先とする起動信号２４と３４を生成する。
【００３８】
次に、すべての要求に共通する処理段階について説明する。列生成器２０と３０は、衝突マネージャ２２の起動信号２４または３４を受信することによって起動する。列生成器２０または３０は、対応する起動信号を受信すると、コマンド生成器２５に適切な詳細度レベル（それぞれ、要求の部分、または中央装置の要求に関与する各メモリ位置のバンクの番号、行の番号、列の番号）のアクセス需要を形成するために、それぞれ、データ処理回路の要求の１つまたは複数の部分２１、または中央装置の要求３３を、それぞれ、一連の列番号３１または一連の列番号３２に変換することによって処理する。また、コマンド生成器２５は、起動された列生成器２０または３０と協力して、一連の基本アクセスコマンドも生成し、各基本コマンドは、１つのアドレスへのアクセスの操作を定義する。
【００３９】
さらに、コマンド生成器２５は、関与するバンクのプリロードコマンドと、アクセス操作の対象を形成する行の起動など、実行するアクセス操作を準備するのに必要なコマンドも生成する。また、コマンド生成器２５は、メモリ１を定期的にリフレッシュする（例えば１ミリ秒あたり６４回のオーダーで）のに必要なコマンドを生成する。
【００４０】
信号生成器２６は、当業者には公知である例えばＲＡＳ、ＣＡＳ、ＷＥ信号など、メモリ１に固有なコマンド信号を、コマンド生成器２５によって送信されるコマンド２７の関数として線１４上に生成する。要求によって定義される一連のデータの各データ項目は、メモリ１のメモリ位置とバッファメモリ３の間でデータバス１０によって転送される。各データ項目に対して、バンク選択線１２と１３を位置合わせする（ｐｏｓｉｔｉｏｎｉｎｇ）ことによってバンクが選択され、かつ、アドレスバス１１によって行番号と列番号が選択される。また、インタフェース２は、バンクの状態を監視するためのモジュール５４も有する。このモジュールは、各バンクの状態とそのアクティビティを示す信号を生成する。
【００４１】
次に、図１に示されているデータ処理システムのその他の特徴について、図３と４を参照しながら説明する。
【００４２】
図３は、インタフェース回路２によって受信されるアクセス要求の中で指定される、メモリ１のアドレスの２４個の符号化ビットのシーケンス３５を示す。各符号化ビットは、それぞれ、０から２３の範囲の重みによって個別に番号が付けられている。また、図３は、インタフェース回路２によるシーケンス３５の各ビットの解釈も示す。図示されている例においては、メモリ１は、それぞれ２５６列×２０４８行の４個のバンクを有する合計容量６４ ＭのＳＤＲＡＭメモリであるとする。従って、列番号は８ビット、行番号は１１ビット、バンク番号は２ビットでそれぞれ符号化され、アドレス全体は、２ ＋ １１ ＋ ８ ＝ ２１ビットで符号化される。また、当然ながら、これとは異なる列数および／または行数を有するバンクも、対応する数を符号化するためのビット数を適合させることによって使用できる。さらに、メモリ装置の選択ビットのアドレスを長くするために、それぞれ４個のバンクを有する２つの同じＳＤＲＡＭメモリ装置を、対応する方法によってメモリ１に使用することも可能である。実際には、アドレスは３２ビットが標準であり、この場合、参照数字３６によって示されている余分な最上位ビットは使用されない。
【００４３】
図３に示されているように、インタフェース回路２は、処理回路７から、または中央装置４から送信されるアクセス要求の中のアドレスを、次の方法で変換する。すなわち、バンクは、シーケンス３５のそれぞれ重み２０と３のビット（以下、それぞれ、Ｂ１、Ｂ０と呼ぶ）によって重みの降順に形成される２ビットのバイナリコードによって、決定される。列番号は、シーケンス３５の各重み８、７、６、５、４、２、１、０のビットによって、重みの降順に形成される８ビットのバイナリコードによって、決定される。行番号は、シーケンス３５の各重み１９〜９のビットによって重みの降順に形成される１１ビットのバイナリコードによって、決定される。
【００４４】
バンクは、次の方法で選択される。すなわち、バンクの選択ビットＢ１は、バンクの対Ａ−Ｂ（低値）またはバンクの対Ｃ−Ｄ（高値）のいずれかを指定する。バンクの選択ビットＢ０は、それぞれの対において、それぞれ、バンクＡまたはＣ（低値）、または、バンクＢまたはＤ（高値）をのいずれかを指定する。
【００４５】
図１のシステムにおいて、データ処理回路７と中央装置４は、それぞれに属すデータをバンクの異なる対Ａ−ＢまたはＣ−Ｄにおいて読み取るかまたは書き込むように設計されている。例えば、データ処理回路７に属すＡＶＧデータは、バンクの対Ａ−Ｂの中で書き込み、読み取り、記憶が行われる。この場合、ビットＢ１は、データ処理回路７のアクセス要求によって指定されるアドレスにおいて常に低値である。これに対して、中央装置４に属すデータ（例：コマンド命令）は、バンクの対Ｃ−Ｄの中で書き込み、読み取り、記憶が行われる。この場合、ビットＢ１は、中央装置４の対応するアクセス要求によって指定されるアドレスにおいて常に高値である。
【００４６】
従って、図４において、メモリ１のアドレスマッピングは次のようになる。すなわち、メモリ１は、アドレスの昇順（軸３７によって表されている）に、第一ゾーン３８と第二ゾーン３９とを有する。第一ゾーン３８は、データ処理回路７に属すデータ専用であり、かつ、交互に並ぶバンクＡとＢのブロック（各ブロックの長さＬは８ワード）によって構成されている。第二ゾーン３９は、中央装置４に属すデータ専用であり、かつ、同じ８ワード長の交互に並ぶバンクＣとＤのブロックによって構成されている。
【００４７】
データ処理回路７の要求は、メモリの第一ゾーン３８の１６個のアドレスのシーケンスにおける一連のデータを指定する。これは、例えば、ブロックの数と、１ブロックあたりのワードの数と、各ブロックの間でスキップする位置の数という形式である。メモリ１のこのマッピングのため、これらの１６個のアドレスは、バンクＡとＢとに任意の方式で分散させることができる。要求が１６個の連続的なアドレスを指定することがしばしばあり、この場合には、アドレスは、バンクＡとＢとに均等に分散された位置に常に対応する。この特徴により、まったく同じバンクを指定する２つの要求、または要求の２つの連続的な部分のシーケンスが発生する確率が減少する。
【００４８】
メモリ位置におけるアドレスの変換はインタフェース回路２によって実施されるため、中央装置４と処理回路７によって使用されるアドレス指定モードは、メモリ１のマッピングを実現するために変更する必要はない。従って、中央装置４と処理回路７が通信する必要のある他の構成要素に対しても、このアドレス指定モードは、そのまま使用できる。
【００４９】
次に、前処理モジュール１９による要求の前処理について、図５ａ〜５ｃを参照しながらさらに詳細に説明する。
【００５０】
図５ａは、前処理モジュール１９によって受信される、アービトレーションモジュール１８からのアクセス要求４２を線図的に示す。第一行目は、要求によって指定される特定の行における、アクセス操作の対象を形成する列の番号を示す。第二行目は、各列が属すバンクを示す。メモリ１のｃ１〜ｃ１６で表されている列は、データｄ１〜ｄ１６を有するとする。
【００５１】
図５ｂにおいて、前処理モジュール１９は、要求４２によって指定される１６個の列の番号を、これらが指定されている順に読み取る。次いで、各列について、その列が存在しているバンクの番号を１ビットに符号化して（例えば、バンクＡの場合は０、バンクＢの場合は１）、インタフェースモジュール４０にキュー４１を通じて送信する。また、前処理モジュール１９は、要求の中に指定される異なるバンクの数も調べる。
【００５２】
図５ｃにおいて、前処理モジュール１９は、最後の列が位置するバンクの番号を示す状態インジケータ４４を有する。この場合の最後の列は、その前に前処理された最後の要求または要求の部分によって指定されていた列であり、その時点でコマンドプロセッサ２５によって処理中であるか、またはキューの中に中央装置のアクセス要求の後ろに格納されている。図５ｃにおいて、状態インジケータ４４はバンクＡを示している。要求４２がいくつかのバンク（すなわち、図示されている例においてはＡとＢ）を指定する場合、前処理モジュール１９は、関連付けられたバンクごとに、バンクと同じ数の一連の列に再編成することによって、要求４２の列を並べ替える。状態インジケータ４４によって示されるバンクと異なるバンク、すなわち、図示されている例においてはバンクＢに属す一連の列が、最初に配置される。従って、要求４２の中にこの順に指定されていて、かつバンクＢに属す一連の列番号ｃ２とｃ４〜ｃ１６が、要求の第一部分２１ａとして処理される。要求４２の中にこの順に指定されていて、かつバンクＡに属す一連の列番号ｃ１とｃ３が、要求の第二部分２１ｂとして処理される。要求部分２１ａと２１ｂは、前述されているように、列生成器２０にこの順に転送される。
【００５３】
次に、インタフェースモジュール４０による、データ処理回路７の読み取りタイプの要求の後処理段階について、図５ｄと５ｅを参照しながら説明する。処理される要求４２は、読み取りタイプであるとする。
【００５４】
図５ｄにおいて、コマンド生成器２５による要求の第一部分の処理時には、列生成器２０に列が指定されていた順にデータが読み取られる。従って、インタフェース回路２に転送される最初のデータ項目は、列ｃ２に記憶されていたｄ２である。読み取られたデータ項目が到着した時点から、インタフェースモジュール４０は、バッファメモリ３から利用可能なアドレスを、（利用可能なアドレスすべてを有する）キュー４３の中で読み取り、受信されたデータ項目ｄ２をこのアドレス＠１に一時的に格納する。また、インタフェースモジュール４０は、それぞれバンクＡとＢからのデータ専用である２つのアドレスキュー４５ａと４５ｂを有する。この時点で、状態インジケータ４４は、データが読み取られているバンクＢを示している。従って、インタフェースモジュール４０は、バンクＢからのデータ専用であるキュー４５ｂに格納アドレス＠１をコピーする。要求４２によって定義される一連のデータｄ１〜ｄ１６全体について、このプロセスが繰り返される。
【００５５】
図５ｅにおいて、すべてのデータがメモリ１からインタフェース回路２のバッファメモリ３に転送されたとする。アドレスキュー４５ａと４５ｂは、最終状態で示されている。インタフェースモジュール４０は、受信されたデータの並べ替えを行う。これを目的として、キュー４１が読み取られる。インタフェースモジュール４０は、バンク番号が読み取られるたびに、対応するバンクからのデータ専用のキューの最初のアドレスを読み取る。この例では、読み取られる最初のバンク番号は０であるため、キュー４５ａの中のアドレス＠１５を最初に読み取る。インタフェースモジュール４０は、アドレス＠１５に格納されているデータ項目（データ項目ｄ１）を読み取り、これをデータバス１５を介して処理回路７に転送する。キュー４３の中のアドレス＠１５が解放され、リセットされる。キュー４１のすべてのバンク番号について、要求の最後の列に達したことを示す信号が読み取られるまで、このプロセスが繰り返される。その時点で、その要求が終了する。従って、データは、要求４２によって定義されるメモリ位置の順に処理回路７に転送される。
【００５６】
書き込み要求については、インタフェースモジュール４０は、上記に説明されている後処理操作に対称的な前処理操作を実行する。
【００５７】
要求の部分、または現在の中央装置からの要求を実行している間に（現在のアクセス）、コマンド生成器２５は、準備中のその要求の部分、または中央装置の次の要求のパラメータを調べる（次のアクセス）。
【００５８】
次のアクセスが、現在のアクセスに関与するバンクとは異なるバンクを参照する場合、コマンド生成器２５は、現在のアクセスを実行している間に、次のアクセスに関与するバンクのプリロードと起動のコマンドを生成する。この生成は、次のアクセスを準備するためにクロックサイクルを損失しない方法において行われる。これを目的として、コマンド生成器２５は、列生成器２０および３０と衝突マネージャ２２から同時に受信する信号に対応するコマンドを、次に示すように優先度の高い順に生成する。
１． 中央装置の要求によって指定されるバンクのプリロード
２． 中央装置の要求によって指定されるバンクの起動
３． 中央装置の基本アクセスコマンドの生成
４． 処理回路７の基本アクセスコマンドの生成
５． 処理回路７の要求によって指定されるバンクの起動
６． 任意のバンクのプリロード
７． 中立的なコマンド
【００５９】
図６ａと６ｂは、インタフェース回路２によって要求を前処理することによって得られる、アクセス時間の短縮を図示する。処理回路７の２つの要求４６と４７は、中央装置４からの要求が発生することなく連続的に処理されるとする。要求４６は、バンクＡの８つの列のバッチ４６ａと、バンクＢの３つの列のバッチ４６ｂと、バンクＡの２つの列のバッチ４６ｃと、バンクＢの３つの列のバッチ４６ｄとを、この順に指定する。要求４７は、バンクＢの８つの列のバッチ４７ａと、バンクＡの８つのバッチ４７ｂとを、この順に指定する。
【００６０】
図６ａは、要求が前処理なしで実行される場合における、要求４６と４７の処理の進行を時間に対して図示する。バンクへのアクセス操作を実現するためには、バンクをプリロードすることと、アクセス操作の対象を形成する行を起動することとによって、アクセスを準備する操作が必要となる。この準備には、時間＆＃６８；ｔが必要であり、この＆＃６８；ｔの値は、例えば、ＳＤＲＡＭメモリの６クロックサイクルである。次のアクセス操作の準備は、現在のアクセスに対応するデータの転送の開始から実行される。しかしながら、列４６ｂと４６ｃのバッチに対応する転送は、準備時間＆＃６８；ｔよりも短く、従って、バッチ４６ｃと４６ｄに対応する転送の前に遅延が生じる。さらに、要求４７は、バンクＢ内のアクセス操作から始まり、このバンクＢには、アクセス操作４６の間にアクセスされた最後の列が存在する。従って、２つの要求の処理の間に、バンクＢの準備のための遅延＆＃６８；ｔが生じる。
【００６１】
図６ｂは、モジュール１９によって前処理操作が行われる場合における、要求４６と４７の処理の進行を時間に対して図示する。列バッチ４６ａと４６ｃに対応するデータの転送コマンドは、第一要求部分４８に再編成され、バッチ４６ｃを処理する前に生じる遅延が抑圧されるように連続的に処理される。列バッチ４６ｂと４６ｄに対応するデータ転送のコマンドは、第二要求部分４９に再編成され、バッチ４６ｄを処理する前に生じる遅延が抑圧されるように連続的に処理される。要求４７は、それぞれ列バッチ４７ａと列バッチ４７ｂを指定する２つの要求部分５０と５１として処理される。この処理は、列バッチ４７ｂを指定する部分５１から開始され、バンクＡとインタフェース回路２の間でのデータ転送に対応する操作の準備が、要求部分４９に対応する転送を実現している間に行われる。従って、２つの要求４６と４７の処理の間に生じる遅延も抑圧される。従って、２つの要求を処理するのに必要な時間は、前処理操作が実行されない場合と比較して、例えば、３０％のオーダーで実質的に短縮される。
【００６２】
次に、衝突マネージャ２２によるアクセス操作のアービトレーションについて、図７〜１１を参照しながらより詳細に説明する。これらの図は、いずれも、タイプの異なる１つまたは複数のアクセス操作の進行を時間ｔの関数として示す。示されているテーブルの各列は、ＳＤＲＡＭメモリのクロックサイクル（例：８ ｎｓ）に対応する。テーブルの第一行は、ＳＤＲＡＭの特定の準備コマンドの、コマンド線１４での転送を表す。プリロードコマンドは、記号ＰＲＥとして表されている。起動コマンドは、記号ＡＣＴとして表されている。テーブルの第二行は、基本読み取りまたは基本書き込みコマンドの、コマンド線１４での転送を表す。データ処理回路によって要求される基本読み取りまたは基本書き込みコマンドは、それぞれ、記号ＴＲとＴＷによって表されている。中央装置によって要求される基本読み取りまたは基本書き込みコマンドは、それぞれ、記号ＣＲとＣＷによって表されている。いくつかのメモリ位置を指定するアクセス要求は、０からの番号が付けられるいくつかの連続する基本コマンドに変換される。テーブルの第三行は、データバス１０で転送中のデータを表す。基本読み取りまたは基本書き込みコマンドを実行している間に転送されるデータ項目は、文字Ｄの後に、対応する基本コマンドの記号を付けることによって表されている。
【００６３】
図７において、データ処理回路７のアクセス操作を実現している間に、衝突マネージャ２２が信号２９を受信して、中央装置の要求３３によって指定されるバンクをプリロードする必要があるときには、衝突マネージャ２２は、進行中のアクセス操作の２つの基本コマンドの間にプリロードコマンドを挿入するためのコマンドを、矢印５９によって示されているように、コマンド生成器２５に渡す。衝突マネージャ２２は、プリロードコマンドを転送できるようにメモリのコマンド線を解放するために、基本アクセスコマンドの生成を中断する。これを目的として、列生成器２０は、基本コマンドの生成を中断する必要のある時間長の間（すなわち、例えば、１クロックサイクルの間）、待機信号５２を起動する。次いで、衝突マネージャ２２は、基本アクセスコマンドの生成の再開を命令する。この命令は、再開の１クロックサイクル前に起動信号２４を列生成器２０に転送することによって行われ、この起動信号は待機信号５２を再初期化する。
【００６４】
図８においては、データ処理回路７の書き込みアクセスが起動信号２４によって起動され、この書き込みアクセスを実現している間に中央装置４が書き込みアクセスを要求するとする。中央装置の要求によって指定されるバンクの起動コマンドは、進行中のアクセス操作を実現している間に、すなわち図示されている例においては、基本コマンドＴＷ３の転送の間に、生成される。ここで留意すべき点として、起動コマンドは、ＳＤＲＡＭの行のコピーをレジスタの中に生成し、このレジスタ内で以降に個々の列を読み取るかまたは書き込むことができ、かつ、その実行は、いくつかのクロックサイクル（例：２クロックサイクル）かかる。起動が終了するとすぐに、すなわち、図示されている例においては起動コマンドの後の３番目のクロックサイクルにおいて、進行中のアクセス操作は、待機信号５２によって中断される。図示されている例においては、進行中のアクセス操作は、基本コマンドＴＷ５の転送後に中断される。そして、中央装置の書き込みアクセスが、起動信号３４によって開始される。中央装置によって要求されるアクセス操作の最後の基本アクセスコマンド、すなわち、基本コマンドＣＷ７を生成している間に、列生成器３０は、アクセス終了信号５３をマネージャ２２に送信し、これにより、起動信号２４が転送され、かつ待機信号５２が再初期化される。中断されたアクセス操作の基本アクセスコマンドの生成は、次のクロックサイクルから、次の基本コマンドＴＷ６から再開される。基本コマンドの以上のシーケンスによって、通過帯域を損失することなく、各クロックサイクルにおいてデータの転送が実施される。
【００６５】
図９においては、データ処理回路７の読み取りアクセス操作が、起動信号２４の転送によって開始され、次いで、衝突マネージャが信号２９を受信する。前の場合と同様に、中央装置４の要求によって指定されるバンクの起動コマンドは、回路７のアクセス操作を実現している間に、すなわち、基本コマンドＴＲ２を転送している間に転送される。回路７のアクセス操作を一時的に中断することによって中央装置のアクセス操作を挿入するため、信号２４と３４と５２が前述されているように使用される。書き込みアクセス操作時には、書き込むデータは、対応する基本コマンドの転送と同じクロックサイクルにおいてデータバス１０に送信される。これと対照的に、読み取りアクセス操作時には、基本コマンドを転送してから対応するデータ項目を転送するまでの間に遅延が存在する。この理由は、個々の列ＬＣにアクセスするときの遅延であり、この遅延はメモリ１に本質的なもので、待ち時間ＣＡＳと呼ばれる。この遅延は、例えば３クロックサイクルである。
【００６６】
バンクの状態を監視するためのモジュール５４は、各バンク用のアクセスインジケータを有する。このアクセスインジケータは、そのバンクにおける各アクセス操作の最初に起動され、アクセス操作の最後に再初期化される。図示されている例においては、アクセスインジケータ５５は、データ処理回路７によってデータが読み取られるバンク（例：バンクＡ）用であり、アクセスインジケータ５６は、中央装置４の要求によって指定されるバンク（例：バンクＣ）用である。
【００６７】
図１０には、回路７の読み取りアクセス操作の間に中央装置４の書き込みアクセス要求が生成される場合に生成される、基本コマンドシーケンスが示されている。読み取りアクセスを書き込みアクセスに移行させるため、メモリのデータバス１０が出力状態から入力状態に移る必要がある。状態のこの変化は、バス１０のトランジスタによって実行される。このトランジスタは、短絡の危険を回避するため、記号ＨＩＺによって表される強いインピーダンスの状態を通過し、この状態においては、バス１０上でデータ転送を実施できない。この転送には、１クロックサイクルの遅延が必要である。コマンドＡＣＴの後の３番目のクロックサイクルにおいて起動が終了するとすぐに、中央装置のアクセスが開始される。状態ＨＩＺを経由する移行は、その直前に、すなわちコマンドＡＣＴの後の２番目のクロックサイクルにおいて実施される。このようにして転送可能となる（従ってバス１０上に転送できる）データ項目のうち最後に読み取られたデータ項目が、コマンドＡＣＴの後の最初のクロックサイクルにおいて転送される。待ち時間ＣＡＳは３クロックサイクルであるため、このデータ項目は、コマンドＡＣＴより２つ前のクロックサイクルにおいて転送される基本コマンド、すなわち図示されている例においてはコマンドＴＲ０に対応する。従って、コマンドＡＣＴの転送より１つ前のサイクルから読み取りコマンドを生成することは、意味がない。実際には、中断するアクセス操作の基本アクセスコマンドは、中央装置のアクセス操作の開始まで、コマンドＡＣＴに基づく中立的なコマンドＮＯＰに置き換えられる。しかしながら、コマンドＡＣＴの直前の基本アクセスコマンド、すなわち、ＴＲ１は、生成されるが、アクセス操作を中断する前にこれを実行する時間がない。従って、この場合には、中央装置のアクセス操作が完了次第に、実行されていないコマンドＴＲ１を再転送することによって、中断されていたアクセス操作が再開される。これを目的として、衝突マネージャ２２は、列生成器２０のカウンタをその再起動中に更新する。この場合、明らかに、再転送する基本コマンドの数は、各実現において使用されるメモリの特性の関数として適合化する必要がある。
【００６８】
図１１は、回路７の書き込みアクセス操作が中央装置４の読み取りアクセス操作によって中断されるときに生成される、基本コマンドのシーケンスを示す。この場合、状態ＨＩＺへの移行は、中央装置のアクセス操作の最後に実施する必要がある。しかしながら、中央装置によって読み取られるすべてのデータを転送するためには、最後の読み取りコマンドＣＲ７を生成してから状態ＨＩＺに移行するまでの間に、待ち時間ＣＡＳに等しい遅延、すなわち、図示されている例においては３クロックサイクルを残す必要がある。この遅延の間、列生成器２０は、待機状態にある。中断されたアクセス操作は、移行の直後に再開される。
【００６９】
この遅延を確保するために、バンクの状態を監視するためのモジュール５４にカウンタ５８が設けられる。各クロックサイクルにおけるこのカウンタの値が、図１１のテーブルの第３行に示されている。カウンタ５８の値は、基本読み取りコマンドが転送されるときは常に、ＬＣ＋１に等しい値、すなわち、図示されている例においては値４である。カウンタ５８の値は、基本読み取りコマンドが転送されないたびに１ずつ小さくなる。カウンタの値が０に達するとすぐに、状態ＨＩＺへの移行をただちに実施できることをコマンド生成器２５に示すために、図２に示されているように、モジュール５４によって信号５７が生成される。
【００７０】
本発明は、特定の実施例を参照しながら説明されているが、明らかに、本発明は、これらの実施例に限定されることはなく、本発明の範囲内であれば、説明されている手段と同等な技術すべてとそれらの組合せとを含む。実際に、ハードウェア要素および／またはコンピュータプログラム要素によって機能を実行する方法は、多数存在する。この観点において、各図は、極めて線図的であり、各図は、一実施例を表す。図によっては、いくつかの機能が個別のブロックの形式で示されているが、このことは、１つの機能をいくつかの個別のブロックによって実行できることを排除するものではない。
【図面の簡単な説明】
【図１】本発明によるデータ処理システムを線図的に示す。
【図２】本発明によるプログラム可能なメモリインタフェース回路を線図的に示す。
【図３】図１のシステムのメモリアドレスのビット符号化のシーケンスを示す。
【図４】図１に示されているシステムのメモリのアドレスマッピングである。
【図５Ａ】図２に示されているメモリインタフェース回路による、アクセス要求を前処理する一ステップを示す。
【図５Ｂ】図２に示されているメモリインタフェース回路による、アクセス要求を前処理する一ステップを示す。
【図５Ｃ】図２に示されているメモリインタフェース回路による、アクセス要求を前処理する一ステップを示す。
【図５Ｄ】図２に示されているメモリインタフェース回路による、読み取り要求を後処理する一ステップを示す。
【図５Ｅ】図２に示されているメモリインタフェース回路による、読み取り要求を後処理する一ステップを示す。
【図６Ａ】２つのアクセス操作を図５ａ〜５ｃに示されている前処理ステップなしに処理するときの時間に対する進行を示す。
【図６Ｂ】２つのアクセス操作を図５ａ〜５ｃの前処理ステップを行って処理するときの時間に対する進行を示す。
【図７】図１に示されているシステム内で、データ処理回路のアクセス操作を実現している間に、中央装置のアクセス要求によって指定されるバンクをプリロードするときの進行を示す。
【図８】データ処理回路による書き込みアクセス操作に割り込む、中央装置による書き込みアクセス操作の進行を示す。
【図９】データ処理回路による読み取りアクセス操作に割り込む、中央装置による読み取りアクセス操作の進行を示す。
【図１０】データ処理回路による読み取りアクセス操作に割り込む、中央装置による書き込みアクセス操作の進行を示す。
【図１１】データ処理回路による書き込みアクセス操作に割り込む、中央装置による読み取りアクセス操作の進行を示す。
【符号の説明】
１  メモリ
２  メモリインタフェース回路
３  バッファメモリ
４  中央装置
５  論理および演算装置
６  コントローラ
７  データ処理回路
８、９、１７  接続手段
１０、１５  データバス
１１  アドレスバス
１２、１３  バンク選択線
１４、１６  コマンド線
１８  アービトレーションモジュール
１９  前処理モジュール
２０  列生成器
２１  要求の部分
２１ａ  要求の第一部分
２１ｂ  要求の第二部分
２２  衝突マネージャ
２３、２９、５７  信号
２４、３４  起動信号
２５  コマンド生成器
２６  信号生成器
２７  コマンド
２８  中央装置インタフェースモジュール
３０  列生成器
３１、３２  列番号
３３、４６、４７  要求
３５  シーケンス
３６  余分な最上位ビット
３７  軸
３８、３９  ゾーン
４０  データインタフェースモジュール
４１、４３  キュー
４２  アクセス要求
４４  状態インジケータ
４５ａ、４５ｂ  アドレスキュー
４８、４９、５０、５１  要求部分
５２  待機信号
５３  アクセス終了信号
５４  モジュール
５５、５６  アクセスインジケータ
５８  カウンタ
５９  矢印
Ａ、Ｂ、Ｃ、Ｄ  バンク
ＤＱＭ  マスクコマンド
【図１】
2004520658.tif 000003
【図２】
2004520658.tif 000004
【図３】
2004520658.tif 000005
【図４】
2004520658.tif 000006
【図５Ａ】
2004520658.tif 000007
【図５Ｂ】
2004520658.tif 000008
【図５Ｃ】
2004520658.tif 000009
【図５Ｄ】
2004520658.tif 000010
【図５Ｅ】
2004520658.tif 000011
【図６Ａ】
2004520658.tif 000012
【図６Ｂ】
2004520658.tif 000013
【図７】
2004520658.tif 000014
【図８】
2004520658.tif 000015
【図９】
2004520658.tif 000016
【図１０】
2004520658.tif 000017
【図１１】
2004520658.tif 000018
【国際公開パンフレット】
2004520658.tif 000019
2004520658.tif 000020
2004520658.tif 000021
2004520658.tif 000022
2004520658.tif 000023
2004520658.tif 000024
2004520658.tif 000025
2004520658.tif 000026
2004520658.tif 000027
2004520658.tif 000028
2004520658.tif 000029
2004520658.tif 000030
2004520658.tif 000031
2004520658.tif 000032
2004520658.tif 000033
2004520658.tif 000034
2004520658.tif 000035
2004520658.tif 000036
2004520658.tif 000037
2004520658.tif 000038
2004520658.tif 000039
2004520658.tif 000040
2004520658.tif 000041
2004520658.tif 000042
2004520658.tif 000043
2004520658.tif 000044
2004520658.tif 000045
2004520658.tif 000046
2004520658.tif 000047
2004520658.tif 000048
2004520658.tif 000049
【国際調査報告】
2004520658.tif 000050
2004520658.tif 000051
2004520658.tif 000052