(57)【要約】【課題】  処理速度を向上させることが可能なデータ処理装置を提供すること。【解決手段】  カーネル部２４は、命令バスを介して命令コードをフェッチして実行すると共に、データバスを介してデータにアクセスする。そして、命令コードを格納するメモリを命令メモリ２５、拡張命令メモリ１３および統合メモリ１４によって階層化し、データを格納するメモリをデータメモリ２６、拡張データメモリ２０および統合メモリ１４によって階層化する。したがって、命令のフェッチとデータアクセスとが競合することがなくなると共に、キャッシュメモリのデータの入替えを少なくすることができ、データ処理装置の処理速度を向上させることが可能となる。【選択図】        図１
2005301589.tif 000002
【特許請求の範囲】
【請求項１】
命令バスを介して命令コードをフェッチして実行すると共に、データバスを介してデータにアクセスするカーネル部と、
前記命令バスに接続し、命令コードを保持する命令メモリと、
拡張命令バスに接続し、命令コードを保持する拡張命令メモリと、
前記命令バスと前記拡張命令バスとを接続する拡張命令メモリインタフェースと、
前記データバスに接続し、データを保持するデータメモリと、
拡張データバスに接続し、データを保持する拡張データメモリと、
前記データバスと前記拡張データバスとを接続する拡張データメモリインタフェースと、
システムバスに接続し、命令コードおよびデータの両方またはいずれか一方を保持する統合メモリと、
前記システムバスと前記命令バスおよび前記データバスとを接続するシステムバスインタフェースとを含むデータ処理装置。
【請求項２】
前記命令メモリから命令コードをフェッチするのに要するクロックサイクル数が、前記拡張命令メモリから命令コードをフェッチするのに要するクロックサイクル数よりも少ない、請求項１記載のデータ処理装置。
【請求項３】
前記データメモリに対するデータのアクセスに要するクロックサイクル数が、前記拡張データメモリに対するデータのアクセスに要するクロックサイクル数よりも少ない、請求項１または２記載のデータ処理装置。
【請求項４】
前記データ処理装置はさらに、外部メモリと前記システムバスとを接続する外部バスインタフェースを含む、請求項１〜３のいずれかに記載のデータ処理装置。
【請求項５】
前記データ処理装置はさらに、命令コードを保持する命令キャッシュを含み、
前記命令メモリのアドレス空間を前記命令キャッシュによるキャッシュ対象とせず、前記拡張命令メモリおよび前記統合メモリのアドレス空間を前記命令キャッシュによるキャッシュ対象とする、請求項１〜４のいずれかに記載のデータ処理装置。
【請求項６】
前記データ処理装置はさらに、データを保持するデータキャッシュを含み、
前記データメモリのアドレス空間を前記データキャッシュによるキャッシュ対象とせず、前記拡張データメモリおよび前記統合メモリのアドレス空間を前記データキャッシュによるキャッシュ対象とする、請求項１〜５のいずれかに記載のデータ処理装置。
【請求項７】
前記データ処理装置は、１チップによって構成される、請求項１〜６のいずれかに記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、命令コードをフェッチして実行するカーネル部を含んだデータ処理装置に関し、特に、カーネル部によってアクセスされる命令メモリとデータメモリとをそれぞれ階層化したデータ処理装置に関する。
【背景技術】
【０００２】
近年、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）など、命令コードを処理するデータ処理装置が盛んに開発されている。これらのデータ処理装置を高速化する方法の１つとして、主記憶以外に小容量で高速アクセスが可能なキャッシュメモリを搭載してメモリを階層化する方法を挙げることができる。これに関連する技術として、特開平４−６９７４９号公報に開示された発明がある。
【０００３】
特開平４−６９７４９号公報に開示されたキャッシュ制御方式は、命令実行ユニットと、カーネルキャッシュ部と、ユーザキャッシュ部とを含み、カーネルモード時にアクセスされるデータとユーザモード時にアクセスされるデータとを別個のキャッシュに登録することにより、走行モードが切替わった時にキャッシュがミスする確率を小さくするものである。
【特許文献１】特開平４−６９７４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般に、主記憶には命令コードとデータとが混在して格納されることが多く、キャッシュメモリにも命令コードとデータとが混在して保持される。そのため、データの入替えが頻繁に行なわれてキャッシュのヒット率が向上しないことが多い。
【０００５】
また、上述した特開平４−６９７４９号公報に開示されたキャッシュ制御方式においては、カーネルキャッシュ部とユーザキャッシュ部とが同じデータバスに接続されているため、たとえばカーネルキャッシュ部から命令コードをフェッチし、ユーザキャッシュ部からデータを読出す場合にバスの競合が発生し、処理速度の低下につながるといった問題点があった。
【０００６】
本発明は、上記問題点を解決するためになされたものであり、その目的は、処理速度を向上させることが可能なデータ処理装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明のある局面に従えば、データ処理装置は、命令バスを介して命令コードをフェッチして実行すると共に、データバスを介してデータにアクセスするカーネル部と、命令バスに接続し、命令コードを保持する命令メモリと、拡張命令バスに接続し、命令コードを保持する拡張命令メモリと、命令バスと拡張命令バスとを接続する拡張命令メモリインタフェースと、データバスに接続し、データを保持するデータメモリと、拡張データバスに接続し、データを保持する拡張データメモリと、データバスと拡張データバスとを接続する拡張データメモリインタフェースと、システムバスに接続し、命令コードおよびデータの両方またはいずれか一方を保持する統合メモリと、システムバスと命令バスおよびデータバスとを接続するシステムバスインタフェースとを含む。
【発明の効果】
【０００８】
命令コードを格納するメモリと、データを格納するメモリとをそれぞれ別のバスに接続するようにし、命令コードを格納するメモリを命令メモリ、拡張命令メモリおよび統合メモリによって階層化し、データを格納するメモリをデータメモリ、拡張データメモリおよび統合メモリによって階層化するようにしたので、命令のフェッチとデータアクセスとが競合することが非常に少なくなる共に、キャッシュメモリのデータの入替えを少なくすることができ、データ処理装置の処理速度を向上させることが可能となった。
【発明を実施するための最良の形態】
【０００９】
（第１の実施の形態）
図１は、本発明の第１の実施の形態におけるデータ処理装置の構成例を示すブロック図である。このデータ処理装置は、演算ＣＰＵ（Central Processing Unit）ブロック１１と、命令コードが格納される中容量の拡張命令メモリ１３と、システムバス１２を介して演算ＣＰＵブロック１１に接続される中容量の統合メモリ１４、外部バスＩ／Ｆ（Interface）１５、周辺回路１６およびシステムＣＰＵブロック１７と、拡張ＩＯ（Input/Output）バス１８と、ＤＭＡ（Direct Memory Access）バス１９と、データを格納する中容量の拡張データメモリ２０とを含む。なお、データ処理装置１が１チップによって構成される場合について説明するが、データ処理装置１内の回路の一部を別のチップによって構成するようにしてもよい。
【００１０】
外部バスＩ／Ｆ１５は、演算ＣＰＵブロック１１が外部メモリ２にアクセスするときに使用されるＩ／Ｆである。システムＣＰＵブロック１７は、主にデータ処理装置１の全体的な制御を行なうためのＣＰＵブロックである。拡張ＩＯバス１８は、外部の周辺回路（Ｉ／Ｏ）にアクセスするときに使用されるバスである。また、ＤＭＡバス１９は、外部の周辺回路（Ｉ／Ｏ）等との間でＤＭＡ転送を行なうときに使用されるバスである。
【００１１】
演算ＣＰＵブロック１１は、クロック／リセット制御部２１と、命令フェッチ部２２と、オペランドアクセス部２３と、命令コードをフェッチして実行するカーネル部２４と、命令メモリ２５と、データメモリ２６と、カーネル部２４がシステムバス１２に接続される統合メモリ１４等にアクセスするときに使用されるシステムバスＩ／Ｆ２７と、カーネル部２４が拡張命令バスを介して拡張命令メモリ１３にアクセスするときに使用される拡張命令メモリＩ／Ｆ２８と、カーネル部２４が拡張データバスを介して拡張データメモリ２０にアクセスするときに使用される拡張データメモリＩ／Ｆ２９と、ＤＭＡ転送の際に使用されるＤＭＡ  Ｉ／Ｆ３０と、ソフトウェアのデバッグ時などに使用されるデバッグモジュール３１とを含む。
【００１２】
命令フェッチ部２２は、キャッシュ制御部３２を含み、このキャッシュ制御部３２とコードメモリ（ＴＡＧメモリを含む。）３３とによって命令キャッシュ３４が構成される。また、オペランドアクセス部２３は、キャッシュ制御部３５を含み、このキャッシュ制御部３５とデータメモリ（ＴＡＧメモリを含む。）３６とによってデータキャッシュ３７が構成される。
【００１３】
カーネル部２４は、命令バスおよび命令フェッチ部２２を介して命令コードをフェッチし、パイプライン処理の原理に従って命令コードを実行する。カーネル部２４は、命令フェッチ部２２を介して命令メモリ２５、命令キャッシュ３４、拡張命令メモリ１３、統合メモリ１４または外部メモリ２から命令コードをフェッチする。また、カーネル部２４は、オペランドアクセス部２３を介してデータメモリ２６、データキャッシュ３７、拡張データメモリ２０、統合メモリ１４または外部メモリ２に対するデータのアクセスを行なう。カーネル部２４がデータバスを介してデータの読出し／データの書込みを行なう命令を実行する場合、命令バスを介して行われる命令コードのフェッチと独立して行なわれる。
【００１４】
カーネル部２４は、前処理プログラムを実行することによって、オペランドアクセス部２３を介して命令メモリ２５または拡張命令メモリ１３に命令コードを書込む。そして、カーネル部２４が本処理プログラムを実行するときには、命令メモリ２５および拡張命令メモリ１３は命令フェッチ部２２を介した命令コードのフェッチにのみ使用される。
【００１５】
また、データメモリ２６および拡張データメモリ２０にはデータのみが格納され、カーネル部２４が本処理プログラムを実行するときは、命令メモリ２５または拡張命令メモリ１３に対する命令コードのフェッチと、データメモリ２６または拡張データメモリ２０に対するデータのアクセスとが並列に行なわれる。
【００１６】
図２は、図１に示すデータ処理装置１によってアクセスされる、階層化されたメモリの概要を説明するための図である。なお、メモリのアクセス速度および容量はこれらに限られるものではない。
【００１７】
命令メモリ２５は、低容量（６４ｋＢｙｔｅ）で高速のメモリであり、メモリマップの所定領域にマッピングされる。この命令メモリ２５は、キャッシュの対象にはなっていない。読出し時には１クロックサイクル、書込み時には３クロックサイクルを要する。
【００１８】
命令キャッシュ３４は、極低容量（３２ｋＢｙｔｅ）で高速のメモリであり、拡張命令メモリ１３、統合メモリ１４および外部メモリ２の命令コードをキャッシュする。命令キャッシュ３４のヒット時には１クロックサイクルでアクセスが可能である。
【００１９】
拡張命令メモリ１３は、中容量（５１２ｋＢｙｔｅ）で中速度のメモリであり、メモリマップの所定領域にマッピングされる。この拡張命令メモリ１３は、読出し時には３クロックサイクル、書込み時には５クロックサイクルを要するが、統合メモリ１４よりは高速にアクセスすることが可能である。
【００２０】
データメモリ２６は、低容量（１２８ｋＢｙｔｅ）で高速のメモリであり、メモリマップの所定領域にマッピングされる。このデータメモリ２６は、キャッシュの対象にはなっていない。読出し／書込み時に１クロックサイクルを要する。
【００２１】
データキャッシュ３７は、極低容量（１６ｋＢｙｔｅ）で高速のメモリであり、拡張データメモリ２０、統合メモリ１４および外部メモリ２のデータをキャッシュする。データキャッシュ３７のヒット時には１クロックサイクルでアクセスが可能である。
【００２２】
拡張データメモリ２０は、中容量（２５６ｋＢｙｔｅ）で中速度のメモリであり、メモリマップの所定領域にマッピングされる。この拡張データメモリ２０は、読出し／書込み時に３クロックサイクルを要するが、統合メモリ１４よりは高速にアクセスすることが可能である。
【００２３】
統合メモリ１４は、中容量（１０２４ｋＢｙｔｅ）で中速度のメモリであり、メモリマップの所定領域にマッピングされる。この統合メモリ１４は、命令コードおよび／またはデータを記憶し、読出し／書込み時に６クロックサイクルを要する。
【００２４】
外部メモリ２は、大容量（０〜２ＧＢｙｔｅ）で低速のメモリであり、メモリマップの所定領域にマッピングされる。この外部メモリ２は、命令コードおよび／またはデータを記憶し、読出し／書込み時に１０クロックサイクル以上を要する。外部に接続されるメモリによってアクセス速度が異なる。
【００２５】
なお、命令コードが統合メモリ１４や外部メモリ２からフェッチされる場合、データアクセスとの競合を起こすこともあるが、その場合はデータアクセスが優先されるため、命令コードのフェッチにさらに多くのアクセスサイクルを要することになる。
【００２６】
カーネル部２４が命令コードをフェッチする際、命令フェッチ部２２は、命令コードが命令メモリ２５のアドレス範囲内にある場合には命令メモリ２５から命令コードを読出してカーネル部２４に出力する。また、命令コードが命令メモリ２５のアドレス範囲内になく、命令キャッシュ３４にヒットする場合、命令フェッチ部２２は、命令キャッシュ３４から命令コードを読出してカーネル部２４に出力する。これらの場合、カーネル部２４は、１クロックサイクルで命令コードをフェッチすることができる。
【００２７】
また、命令コードが命令メモリ２５のアドレス範囲内になく、命令キャッシュ３４にミスした場合、命令フェッチ部２２は、拡張命令メモリ１３、統合メモリ１４または外部メモリ２から命令コードを読出してカーネル部２４に出力すると同時に、その命令コードを命令キャッシュ３４に登録する。
【００２８】
カーネル部２４がデータをアクセスする際、オペランドアクセス部２３は、データがデータメモリ２６のアドレス範囲内にある場合にはデータメモリ２６にアクセスする。また、データがデータメモリ２６のアドレス範囲内になく、データキャッシュ３７にヒットする場合、オペランドアクセス部２３は、データキャッシュ３７にアクセスする。これらの場合、カーネル部２４は、１クロックサイクルでデータをアクセスすることができる。
【００２９】
また、データがデータメモリ２６のアドレス範囲内になく、データキャッシュ３７にミスした場合、オペランドアクセス部２３は、拡張データメモリ２０、統合メモリ１４または外部メモリ２からデータを読出してカーネル部２４に出力すると同時に、そのデータをデータキャッシュ３７に登録する。
【００３０】
図３は、図１に示すカーネル部２４の構成をさらに詳細に説明するための図である。このカーネル部２４は、命令フェッチ部２２によってフェッチされた命令コードを一時的に保持する命令キュー４１と、第１の命令デコーダ４２と、第２の命令デコーダ４３と、ＰＣ（Program Counter）部４４と、第１実行部４５と、１８個のレジスタ群によって構成されるレジスタファイル４６と、第２実行部４７とを含む。
【００３１】
命令フェッチ部２２は、ＰＣ部４４から出力される命令アドレスを参照して命令コードをフェッチし、その命令コードを命令キュー４１に格納する。命令キュー４１は、命令フェッチ部２２によって格納された命令コードを、順次第１の命令デコーダ４２および第２の命令デコーダ４３に出力する。
【００３２】
第１の命令デコーダ４２は、基本演算命令、分岐命令、ロード命令、ストア命令などの命令をデコードし、そのデコード結果を制御信号としてＰＣ部４４、第１実行部４５およびレジスタファイル４６に出力する。また、第２の命令デコーダ４３は、基本演算命令、積和演算命令などの命令をデコードし、そのデコード結果を制御信号としてレジスタファイル４６および第２実行部４７に出力する。
【００３３】
第１実行部４５は、ＡＬＵ（Arithmetic Logical Unit）５１と、シフタ５２と、ロード／ストア用データレジスタ５３とを含み、第１の命令デコーダ４２から出力される制御信号に応じて命令を実行する。命令コードがロード命令またはストア命令の場合、第１実行部４５はオペランドアクセス部２３にデータアドレスを出力し、所望のメモリ領域にアクセスを行なう。また、命令コードがレジスタを使用する命令の場合、第１実行部４５は適宜レジスタファイル４６にアクセスする。
【００３４】
第２実行部４７は、ＡＬＵ５４と、シフタ５５と、ＭＡＣ（積和演算制御）５６と、アキュムレータ５７とを含み、第２の命令デコーダ４３から出力される制御信号に応じて命令を実行する。命令コードがレジスタを使用する命令の場合、第２実行部４５は適宜レジスタファイル４６にアクセスする。
【００３５】
図４は、本発明の第１の実施の形態におけるデータ処理装置のパイプライン処理を説明するための図である。たとえば、命令コードがロード命令であれば、その命令は第１実行部４５によって処理され、命令フェッチ（ＩＦ）、命令デコード（Ｄ１，Ｄ２）、アドレス計算（Ａ）、メモリアクセス（Ｍ１，Ｍ２）およびライトバック（ＷＭ）の各ステージによって処理が実行される。また、命令コードが積和演算命令であれば、その命令は第２実行部４７によって処理され、命令フェッチ（ＩＦ）、命令デコード（Ｄ１，Ｄ２）、積和（Ｅ１，Ｅ２）およびライトバック（ＷＥ）の各ステージによって処理が実行される。
【００３６】
図５は、本発明の第１の実施の形態におけるデータ処理装置のパイプライン処理のタイミングチャートである。図５（ａ）は、２番目の命令が最初の命令の基本演算結果を使用する場合のタイミングチャートである。最初の命令“ＡＤＤ  Ｒ０，Ｒ１”は、レジスタＲ０の内容とレジスタＲ１の内容とを加算し、加算結果をレジスタＲ０に格納する命令である。また、２番目の命令“ＡＤＤ  Ｒ０，Ｒ２”は、レジスタＲ０の内容とレジスタＲ２の内容とを加算し、加算結果をレジスタＲ０に格納する命令である。最初の命令のＥＸステージでレジスタＲ０の内容が確定するので、２番目の命令のＥＸステージではレジスタＲ０の内容を使用して加算を行なうことができる。
【００３７】
図５（ｂ）は、２番目の命令が最初の命令のポインタ更新結果を使用する場合のタイミングチャートである。最初の命令“ＬＤＷ  Ｒ０，＠Ｒ８＋”は、レジスタＲ８に格納されるアドレスからデータを読出してレジスタＲ０に格納すると共に、レジスタＲ８の内容をインクリメントする命令である。また、２番目の命令“ＬＤＷ  Ｒ１，＠Ｒ８＋”は、レジスタＲ８に格納されるアドレスからデータを読出してレジスタＲ１に格納すると共に、レジスタＲ８の内容をインクリメントする命令である。最初の命令のＡステージでアドレス計算が終了するので、２番目の命令のＡステージではレジスタＲ８を用いたアドレス計算を行なうことができる。
【００３８】
図５（ｃ）は、２番目の命令がロードデータを使用する場合のタイミングチャートである。最初の命令“ＬＤＷ  Ｒ０，＠Ｒ８＋”は、レジスタＲ８に格納されるアドレスからデータを読出してレジスタＲ０に格納すると共に、レジスタＲ８の内容をインクリメントする命令である。また、２番目の命令“ＭＡＣ  Ａ０，Ｒ０Ｈ，Ｒ４Ｈ”は、Ａ０に、レジスタＲ０の上位１６ビットとレジスタＲ４の上位１６ビットとの積を加算する命令である。最初の命令のＭ２ステージでレジスタＲ０の内容が確定するので、２番目の命令はレジスタＲ０の内容を参照することができず、２サイクルのストールが発生している。
【００３９】
以上説明したように、本実施の形態におけるデータ処理装置によれば、命令コードを格納するメモリと、データを格納するメモリとをそれぞれ別のバスに接続するようにし、命令コードを格納するメモリを命令メモリ２５、命令キャッシュ３４、拡張命令メモリ１３、統合メモリ１４および外部メモリ２によって階層化し、データを格納するメモリをデータメモリ２６、データキャッシュ３７、拡張データメモリ２０、統合メモリ１４および外部メモリ２によって階層化するようにしたので、命令のフェッチとデータアクセスとが競合することが非常に少なくなる共に、キャッシュメモリのデータの入替えを少なくすることができ、データ処理装置の処理速度を向上させることが可能になった。
【００４０】
また、データ処理装置１を１チップによって構成し、ＬＳＩ設計時にデータ処理装置１内のメモリの容量の変更を容易に行なえるので、データ処理装置の拡張性、汎用性を高めることが可能となった。
【００４１】
（第２の実施の形態）
図６は、本発明の第２の実施の形態におけるデータ処理装置の構成例を示すブロック図である。このデータ処理装置は、図１に示す第１の実施の形態におけるデータ処理装置と比較して、拡張命令メモリ１３、拡張データメモリ２０および統合メモリ１４の容量が異なる点と、システムバス１２に接続されるＤＭＡＣ６１、他の周辺回路６２およびユーザロジック６３が追加されている点と、ＤＳＰブロック１００およびＤＳＰ  Ｉ／Ｆ回路６４が追加されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【００４２】
ＤＳＰブロック１００は、拡張命令メモリ１３および拡張データメモリ２０に対するアクセスを制御する内蔵／拡張メモリアクセス制御回路６５と、ＤＳＰブロック１００内のＤＭＡ転送を制御するＤＭＡＣ６６と、ＤＳＰブロック１００内の割込みを制御するＩＣＵ（Interrupt Control Unit）６７と、他の周辺回路６８と、複数のＨ／Ｗアクセラレータ６９および７０と、その他のユーザロジック７１とを含む。演算ＣＰＵブロック１１は、拡張ＩＯバス１８を介してこれらの回路にアクセスすることが可能である。
【００４３】
ＤＳＰ  Ｉ／Ｆ回路６４は、システム制御ＣＰＵ１７などがＤＳＰブロック１００にアクセスする際に使用されるインタフェースである。また、ユーザロジック６３および７１には、ユーザの所望のロジック回路が配置される。
【００４４】
以上説明したように、本実施の形態におけるデータ処理装置によれば、ＤＳＰブロック１００などを追加することにより、第１の実施の形態において説明した効果に加えて、さらにデータ処理装置の汎用性、拡張性を高めることが可能となった。
【００４５】
（第３の実施の形態）
図７は、本発明の第３の実施の形態におけるデータ処理装置の構成例を示すブロック図である。このデータ処理装置は、図１に示す第１の実施の形態におけるデータ処理装置と比較して、演算ＣＰＵブロック１１内のデータキャッシュ３７および統合メモリ１４が削除され、テスト用外部バスＩ／Ｆ部８１が追加されている点と、内蔵／拡張メモリアクセス制御回路６５、ＤＭＡＣ６６、ＩＣＵ６７、ＤＳＰ制御レジスタ８２、ＣＰＵ−ＤＳＰ間通信用レジスタ８３、ＣＰＵ制御ユーザロジック８４およびＤＳＰ制御ユーザロジック８５が追加されている点と、ＣＰＵブロック１１０が追加されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【００４６】
ＣＰＵブロック１１０は、ＣＰＵ９１と、ＣＰＵブロック１１０内のＤＭＡ転送を制御するＤＭＡＣ９２と、メモリ９３と、外部デバイスＩ／Ｆ９４と、３ｒｄバスマスタＩ／Ｆ９５と、カスタマバスＩ／Ｆ９６と、周辺回路９７とを含む。ＣＰＵブロック１１０内の３ｒｄバスマスタＩ／Ｆ９５は、システムバス１２を介して演算ＣＰＵブロック１１と接続され、バス使用権の調停などを行なう。
【００４７】
また、ＣＰＵブロック１１０は、カスタマバスＩ／Ｆ９６を介してＤＳＰ制御レジスタ８２、ＣＰＵ−ＤＳＰ間通信用レジスタ８３およびＣＰＵ制御ユーザロジック８４などにアクセスすることができる。ＣＰＵブロック１１０は、ＣＰＵ−ＤＳＰ間通信用レジスタ８３を介してＤＳＰ内蔵メモリアクセス制御回路６５などとデータ通信を行なう。また、ＣＰＵ制御ユーザロジック８４およびＤＳＰ制御ユーザロジック８５には、ユーザの所望のロジック回路が配置される。
【００４８】
以上説明したように、本実施の形態におけるデータ処理装置によれば、ＣＰＵブロック１１０などを追加することにより、第１の実施の形態において説明した効果に加えて、さらにデータ処理装置の汎用性、拡張性を高めることが可能となった。
【００４９】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００５０】
【図１】本発明の第１の実施の形態におけるデータ処理装置の構成例を示すブロック図である。
【図２】図１に示すデータ処理装置１によってアクセスされる、階層化されたメモリの概要を説明するための図である。
【図３】図１に示すカーネル部２４の構成をさらに詳細に説明するための図である。
【図４】本発明の第１の実施の形態におけるデータ処理装置のパイプライン処理を説明するための図である。
【図５】本発明の第１の実施の形態におけるデータ処理装置のパイプライン処理のタイミングチャートである。
【図６】本発明の第２の実施の形態におけるデータ処理装置の構成例を示すブロック図である。
【図７】本発明の第３の実施の形態におけるデータ処理装置の構成例を示すブロック図である。
【符号の説明】
【００５１】
１  データ処理装置、２  外部メモリ、１１  演算ＣＰＵブロック、１２  システムバス、１３  拡張命令メモリ、１４  統合メモリ、１５  外部バスＩ／Ｆ、１６  周辺回路、１７  システムＣＰＵブロック、１８  拡張ＩＯバス、１９  ＤＭＡバス、２０  拡張データメモリ、２１  クロック／リセット制御部、２２  命令フェッチ部、２３  オペランドアクセス部、２４  カーネル部、２５  命令メモリ、２６  データメモリ、２７  システムバスＩ／Ｆ、２８  拡張命令メモリＩ／Ｆ、２９  拡張データメモリＩ／Ｆ、３０  ＤＭＡ  Ｉ／Ｆ、３１  デバッグモジュール、３２，３５  キャッシュ制御部、３３  コードメモリ、３４  命令キャッシュ、３６  データメモリ、３７  データキャッシュ、４１  命令キュー、４２  第１の命令デコーダ、４３  第２の命令デコーダ、４４  ＰＣ部、４５  第１実行部、４６  レジスタファイル、４７  第２実行部、５１，５４  ＡＬＵ、５２，５５  シフタ、５３  ロード／ストアデータレジスタ、５６  ＭＡＣ、５７  アキュムレータ、６１  ＤＭＡＣ、６２  他の周辺回路、６３  ユーザロジック、６５  ＤＳＰ内蔵／拡張メモリアクセス制御回路、６６  ＤＭＡＣ、６７  ＩＣＵ、６８  他の周辺回路、６９，７０  Ｈ／Ｗアクセラレータ、７１  その他のユーザロジック、８１  テスト用外部バスＩ／Ｆ部、８２  ＤＳＰ制御レジスタ、８３  ＣＰＵ−ＤＳＰ間通信用レジスタ、８４  ＣＰＵ制御ユーザロジック、８５  ＤＳＰ制御ユーザロジック、９１  ＣＰＵ、９２  ＤＭＡＣ、９３  メモリ、９４  外部デバイスＩ／Ｆ、９５  ３ｒｄバスマスタＩ／Ｆ、９６  カスタマバスＩ／Ｆ、９７  周辺回路、１００  ＤＳＰブロック、１１０  ＣＰＵブロック。
【図１】
2005301589.tif 000003
【図２】
2005301589.tif 000004
【図３】
2005301589.tif 000005
【図４】
2005301589.tif 000006
【図５】
2005301589.tif 000007
【図６】
2005301589.tif 000008
【図７】
2005301589.tif 000009