(57)【特許請求の範囲】
【請求項１】
データ処理装置において、
ｍ（ｍ≧２）個の演算部と、
ｍ個のメモリ部と、
前記ｍ個の演算部およびメモリ部の間を結合する配線と、を備え、
前記ｍ個の演算部は、ｍ個のＣＰＵをそれぞれ備え、
前記ｍ個のメモリ部は、ｍ個の半導体メモリをそれぞれ備え、
前記ｍ個の半導体メモリは、前記ｍ個のＣＰＵの動作を規定するプログラムを含む、Ｎ（Ｎ≧２）ビット幅のデータ信号の列が、Ｌ１，Ｌ２，・・・・，Ｌｍ（ここで、Ｌ１，Ｌ２，・・・・，Ｌｍ≧１、しかも、Ｌ１＋Ｌ２＋・・・・＋Ｌｍ＝Ｎ）ビット幅にビットスライスされたものを、それぞれ分担して格納可能であり、
前記ｍ個のＣＰＵは、前記ｍ個の半導体メモリの全体で記憶されるＮビット幅のデータ信号を順次読み出して、Ｎビット幅のデータ信号にもとづく処理を順次実行し、
前記ｍ個の演算部と前記ｍ個のメモリ部とは、一対ごとに、別個の単一半導体チップの中に、形成されているデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
前記ｍ個のＣＰＵの各々が、前記ｍ個の半導体メモリの全体で記憶される前記Ｎビット幅のデータ信号を読み取り、当該Ｎビット幅のデータ信号にもとづく処理を順次実行し、その結果、前記ｍ個のＣＰＵは、互いに同一の処理を実行するデータ処理装置。
【請求項３】
請求項２に記載のデータ処理装置において、
前記ｍ個の演算部は、前記ｍ個のＣＰＵにそれぞれ結合したｍ個の第１インタフェースをさらに備え、
前記ｍ個のメモリ部は、前記ｍ個の半導体メモリにそれぞれ結合したｍ個の第２インタフェースをさらに備え、
前記配線は、前記ｍ個の第１および第２インタフェースを中継することによって、前記ｍ個のＣＰＵの各々を前記ｍ個の半導体メモリのすべてに結合しており、
前記ｍ個の第２インタフェースは、前記ｍ個の半導体メモリから、それぞれ、前記Ｌ１，Ｌ２，・・・・，Ｌｍビット幅のデータ信号を読み出し、
前記ｍ個の第１インタフェースの各々は、前記ｍ個の第２インタフェースが読み出した前記Ｌ１，Ｌ２，・・・・，Ｌｍビット幅のデータ信号のすべてを受け取り、前記Ｎビット幅のデータ信号を再構成した上で、前記ｍ個のＣＰＵの中の同一の演算部に属するＣＰＵへと入力し、
しかも、前記第１および第２インタフェースは、外部から入力される選択信号に応じて、前記ビット幅の大きさＬ１，Ｌ２，・・・・，Ｌｍを変更可能に設定するデータ処理装置。
【請求項４】
請求項３に記載のデータ処理装置において、
前記ｍ個の半導体メモリの各々は、読み書き自在であり、
前記ｍ個の第１インタフェースは、前記ｍ個のＣＰＵから出力されるｍ個のＮビット幅のデータ信号から、変更可能に設定された前記Ｌ１，Ｌ２，・・・・，Ｌｍビット幅ずつを、ビットスライスに対応するように、それぞれ切り出して、前記ｍ個の第２インタフェースへと、それぞれ受け渡す動作をさらに行い、
前記ｍ個の第２インタフェースは、受け渡された前記Ｌ１，Ｌ２，・・・・，Ｌｍビット幅のデータ信号を、前記ｍ個の半導体メモリへと、それぞれ書き込む動作をさらに行い、
しかも、前記ｍ個の第１インタフェースから、前記ｍ個の第２インタフェースを通じ、前記ｍ個の半導体メモリへ至る前記Ｌ１，Ｌ２，・・・・，Ｌｍビット幅のデータ信号の受け渡しは、それぞれ同一の単一半導体チップの中で行われるデータ処理装置。
【請求項５】
請求項１または請求項２に記載のデータ処理装置において、
前記ｍ個の半導体メモリの各々は、読み書き自在であり、
前記ｍ個のＣＰＵは、Ｎビット幅のデータ信号を前記ｍ個の半導体メモリへ書き込む際に、前記データ信号ごとに、Ｌ１，Ｌ２，・・・・，Ｌｍビット幅にビットスライスしたものを、それぞれ書き込み、
しかも、前記ｍ個のＣＰＵから前記ｍ個の半導体メモリへ至る前記Ｌ１，Ｌ２，・・・・，Ｌｍビット幅のデータ信号の受け渡しは、それぞれ同一の単一半導体チップの中で行われるデータ処理装置。
【請求項６】
請求項１に記載のデータ処理装置において、
前記ｍ個のＣＰＵの各々は、前記ｍ個の半導体メモリの中で、前記単一半導体チップの中に共通に形成されている一つに記憶されるＬｉ（ここで、ｉは１，２，・・・・，ｍのいずれか一つ）ビット幅のデータ信号のみを読み取り、少なくとも前記ｍ個のＣＰＵの全体で、前記Ｎビット幅のデータ信号にもとづく処理を順次実行するデータ処理装置。
【請求項７】
請求項６に記載のデータ処理装置において、
前記ｍ個のＣＰＵの各々は、デコード部と実行部とを備え、
前記デコード部は、前記Ｌｉビット幅のデータ信号をデコードするごとに、得られたデコード情報信号を、他のすべてのＣＰＵへ供給するとともに、他のすべてのＣＰＵが得たデコード情報信号を受け取ることによって、前記Ｎビット幅のデータ信号のデコードを完成し、
前記実行部は、前記デコード部でなされた前記Ｎビット幅のデータ信号のデコードの結果を入力することによって、前記Ｎビット幅のデータ信号にもとづく処理を実行するデータ処理装置。
【請求項８】
請求項６に記載のデータ処理装置において、
前記ｍ個のＣＰＵの各々は、フェッチ部と実行部とを備え、
前記フェッチ部は、前記Ｌｉビット幅のデータ信号をフェッチするごとに、得られたフェッチ情報信号を、他のすべてのＣＰＵへ供給し、
前記実行部は、前記フェッチ部および前記他のすべてのＣＰＵからのフェッチ情報信号を通じて、前記Ｎビット幅のデータ信号にもとづく処理を実行するデータ処理装置。
【請求項９】
請求項１ないし請求項８のいずれかに記載のデータ処理装置において、
前記ビット幅の大きさＬ１，Ｌ２，・・・・，Ｌｍが、Ｌ１＝Ｌ２＝・・・・＝Ｌｍであるデータ処理装置。
【請求項１０】
データ処理装置において、
ｍ（ｍ≧２）個の演算部と、
ｍ個のメモリ部と、
前記ｍ個の演算部およびメモリ部の間を結合する配線と、を備え、
前記ｍ個の演算部は、ｍ個の論理回路をそれぞれ備え、
前記ｍ個のメモリ部は、ｍ個の半導体メモリをそれぞれ備え、
前記ｍ個の半導体メモリは、１メガビット以上の記憶容量を有し、Ｎ（Ｎ≧２）ビット幅のデータ信号の列が、Ｌ１，Ｌ２，・・・・，Ｌｍ（Ｌ１，Ｌ２，・・・・，Ｌｍ≧１；Ｌ１＋Ｌ２＋・・・・＋Ｌｍ＝Ｎ）ビット幅にビットスライスされたものを、それぞれ分担して格納可能であり、
前記ｍ個の論理回路は、前記ｍ個の半導体メモリの全体で記憶されるＮビット幅のデータ信号の供給を順次受けて、当該Ｎビット幅のデータ信号にもとづく処理を順次実行し、
前記ｍ個の演算部と前記ｍ個のメモリ部とは、一対ごとに、別個の単一半導体チップの中に、形成されているデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データ処理装置に関し、特に、処理速度の向上と、必要とされる半導体メモリの記憶容量の確保とを、両立的に実現するための改良に関する。
【０００２】
【従来の技術】
図１３は、この発明の背景となる従来のデータ処理装置の構成を示すブロック図である。この従来装置１５１では、マイクロコンピュータ（以下において、ＣＰＵと略記する）を内蔵する演算部１６１が、バスライン１６３を通じて、メモリ部１６２へ接続されている。メモリ部１６２には、例えばＤＲＡＭ（ダイナミックラム）が備わっている。各装置部１６１，１６２の各々は、それぞれ個別の半導体チップ（半導体基板）で構成されている。
【０００３】
この装置１５１では、演算部１６１は、Ｎビットの単位で、メモリ部１６２からのデータ信号の読出し、および、メモリ部１６２へのデータ信号の書込みを行う。バスライン１６３には、メモリ部１６２を複数個接続することによって、演算部１６１がアクセスするメモリ空間を、自由に拡張することができるという利点がある。
【０００４】
しかしながら、装置１５１では、各半導体チップの外に配設された配線１６３を通じて、データ信号の読出しおよび書込みが行われるために、データ信号の伝送に、無視できないほどの遅延が生じるという問題点があった。また、一つの半導体チップに備えることのできるピン（端子）の個数には限度があるために、並列に書き込みおよび読出しが可能なビット数Ｎが制限される。
【０００５】
データ信号の遅延に加えて、並列ビット数Ｎに対するこの制約のために、演算部１６１が単位時間に読出しおよび書込みできるデータ信号の量、すなわちデータ信号の伝送速度を高くすることができないという問題点があった。データ信号の伝送速度の遅れは、装置１５１の処理速度の遅れとなって現れる。
【０００６】
図１４は、この問題を解消することを主眼として登場した別の従来装置を示すブロック図である。この装置１５２では、演算部１６６とメモリ部１６７の双方が、単一半導体チップ、いわゆるシングルチップの中に作り込まれている。したがって、演算部１６６とメモリ部１６７との間のＮビット単位のデータ信号の伝送は、単一半導体チップの中で行われる。
【０００７】
このため、データ信号の伝送にともなう遅延が低く抑えられる。また、Ｎ個のピンを単一半導体チップに設ける必要がないので、ピンの個数の制約条件によって、並列に伝送される信号の個数Ｎが制限されない。このことも、演算部１６６が読出しおよび書込みするデータ信号の伝送速度の向上をもたらしている。
【０００８】
【発明が解決しようとする課題】
しかしながら、装置１５２では、単一半導体チップの中に、演算部１６６とメモリ部１６７とが組み込まれるために、メモリ部１６７の記憶容量の大きさが制限されるという別の問題点がある。通常において、マイクロコンピュータが必要とする半導体メモリの記憶容量は、単一半導体チップの中に組み込み可能な半導体メモリの容量を遙かに上回っている。
【０００９】
例えば、現状のＤＲＡＭ製造技術では、単一半導体チップの中に組み込み可能なＤＲＡＭの記憶容量は、１６メガビット（＝２メガバイト）である。これに対して、現状において通常性能のＣＰＵが必要とする半導体メモリの記憶容量は、８〜１６メガバイト程度の大きさである。パーソナルコンピュータのユーザが、ＤＲＡＭを増設することによって、必要な記憶容量を確保していることは、よく知られるところである。
【００１０】
半導体技術の進歩の過程で、ＣＰＵの性能と、そのＣＰＵが必要とする半導体メモリの記憶容量との間には、比例関係が成り立つことが、「アムダールの法則」の名で、経験的に知られている。したがって、ＣＰＵを備える演算部１６６とＤＲＡＭを備えるメモリ部１６７とを、単一半導体チップの中に組み込んだ装置１５２の形態では、半導体技術が今後進歩しても、記憶容量の不足は、未解決の問題としていつまでも残されることとなる。
【００１１】
この発明は、従来の装置における上記した問題点を解消するためになされたもので、処理速度の向上と、必要とされる半導体メモリの記憶容量の確保とを、両立的に実現するデータ処理装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
第１の発明の装置は、データ処理装置において、ｍ（ｍ≧２）個の演算部と、ｍ個のメモリ部と、前記ｍ個の演算部およびメモリ部の間を結合する配線と、を備え、前記ｍ個の演算部は、ｍ個のＣＰＵをそれぞれ備え、前記ｍ個のメモリ部は、ｍ個の半導体メモリをそれぞれ備えている。
そして、前記ｍ個の半導体メモリは、前記ｍ個のＣＰＵの動作を規定するプログラムを含む、Ｎ（Ｎ≧２）ビット幅のデータ信号の列が、Ｌ１，Ｌ２，・・・・，Ｌｍ（ここで、Ｌ１，Ｌ２，・・・・，Ｌｍ≧１、しかも、Ｌ１＋Ｌ２＋・・・・＋Ｌｍ＝Ｎ）ビット幅にビットスライスされたものを、それぞれ分担して格納可能であり、前記ｍ個のＣＰＵは、前記ｍ個の半導体メモリの全体で記憶されるＮビット幅のデータ信号を順次読み出して、Ｎビット幅のデータ信号にもとづく処理を順次実行し、前記ｍ個の演算部と前記ｍ個のメモリ部とは、一対ごとに、別個の単一半導体チップの中に、形成されている。
【００１３】
第２の発明の装置では、第１の発明のデータ処理装置において、前記ｍ個のＣＰＵの各々が、前記ｍ個の半導体メモリの全体で記憶される前記Ｎビット幅のデータ信号を読み取り、当該Ｎビット幅のデータ信号にもとづく処理を順次実行し、その結果、前記ｍ個のＣＰＵは、互いに同一の処理を実行する。
【００１４】
第３の発明の装置では、第２の発明のデータ処理装置において、前記ｍ個の演算部が、前記ｍ個のＣＰＵにそれぞれ結合したｍ個の第１インタフェースをさらに備え、前記ｍ個のメモリ部は、前記ｍ個の半導体メモリにそれぞれ結合したｍ個の第２インタフェースをさらに備え、前記配線は、前記ｍ個の第１および第２インタフェースを中継することによって、前記ｍ個のＣＰＵの各々を前記ｍ個の半導体メモリのすべてに結合している。
そして、前記ｍ個の第２インタフェースは、前記ｍ個の半導体メモリから、それぞれ、前記Ｌ１，Ｌ２，・・・・，Ｌｍビット幅のデータ信号を読み出し、前記ｍ個の第１インタフェースの各々は、前記ｍ個の第２インタフェースが読み出した前記Ｌ１，Ｌ２，・・・・，Ｌｍビット幅のデータ信号のすべてを受け取り、前記Ｎビット幅のデータ信号を再構成した上で、前記ｍ個のＣＰＵの中の同一の演算部に属するＣＰＵへと入力し、しかも、前記第１および第２インタフェースは、外部から入力される選択信号に応じて、前記ビット幅の大きさＬ１，Ｌ２，・・・・，Ｌｍを変更可能に設定する。
【００１５】
第４の発明の装置では、第３の発明のデータ処理装置において、前記ｍ個の半導体メモリの各々が、読み書き自在であり、前記ｍ個の第１インタフェースは、前記ｍ個のＣＰＵから出力されるｍ個のＮビット幅のデータ信号から、変更可能に設定された前記Ｌ１，Ｌ２，・・・・，Ｌｍビット幅ずつを、ビットスライスに対応するように、それぞれ切り出して、前記ｍ個の第２インタフェースへと、それぞれ受け渡す動作をさらに行う。
また、前記ｍ個の第２インタフェースは、受け渡された前記Ｌ１，Ｌ２，・・・・，Ｌｍビット幅のデータ信号を、前記ｍ個の半導体メモリへと、それぞれ書き込む動作をさらに行い、しかも、前記ｍ個の第１インタフェースから、前記ｍ個の第２インタフェースを通じ、前記ｍ個の半導体メモリへ至る前記Ｌ１，Ｌ２，・・・・，Ｌｍビット幅のデータ信号の受け渡しは、それぞれ同一の単一半導体チップの中で行われる。
【００１６】
第５の発明の装置では、第１または第２の発明のデータ処理装置において、前記ｍ個の半導体メモリの各々が読み書き自在であり、前記ｍ個のＣＰＵは、Ｎビット幅のデータ信号を前記ｍ個の半導体メモリへ書き込む際に、前記データ信号ごとに、Ｌ１，Ｌ２，・・・・，Ｌｍビット幅にビットスライスしたものを、それぞれ書き込み、しかも、前記ｍ個のＣＰＵから前記ｍ個の半導体メモリへ至る前記Ｌ１，Ｌ２，・・・・，Ｌｍビット幅のデータ信号の受け渡しは、それぞれ同一の単一半導体チップの中で行われる。
【００１７】
第６の発明の装置では、第１の発明のデータ処理装置において、前記ｍ個のＣＰＵの各々が、前記ｍ個の半導体メモリの中で、前記単一半導体チップの中に共通に形成されている一つに記憶されるＬｉ（ここで、ｉは１，２，・・・・，ｍのいずれか一つ）ビット幅のデータ信号のみを読み取り、少なくとも前記ｍ個のＣＰＵの全体で、前記Ｎビット幅のデータ信号にもとづく処理を順次実行する。
【００１８】
第７の発明の装置では、第６の発明のデータ処理装置において、前記ｍ個のＣＰＵの各々が、デコード部と実行部とを備え、前記デコード部は、前記Ｌｉビット幅のデータ信号をデコードするごとに、得られたデコード情報信号を、他のすべてのＣＰＵへ供給するとともに、他のすべてのＣＰＵが得たデコード情報信号を受け取ることによって、前記Ｎビット幅のデータ信号のデコードを完成し、前記実行部は、前記デコード部でなされた前記Ｎビット幅のデータ信号のデコードの結果を入力することによって、前記Ｎビット幅のデータ信号にもとづく処理を実行する。
【００１９】
第８の発明の装置では、第６の発明のデータ処理装置において、前記ｍ個のＣＰＵの各々は、フェッチ部と実行部とを備え、前記フェッチ部は、前記Ｌｉビット幅のデータ信号をフェッチするごとに、得られたフェッチ情報信号を、他のすべてのＣＰＵへ供給し、前記実行部は、前記フェッチ部および前記他のすべてのＣＰＵからのフェッチ情報信号を通じて、前記Ｎビット幅のデータ信号にもとづく処理を実行する。
【００２０】
第９の発明の装置では、第１ないし第８のいずれかの発明のデータ処理装置において、前記ビット幅の大きさＬ１，Ｌ２，・・・・，Ｌｍが、Ｌ１＝Ｌ２＝・・・・＝Ｌｍである。
【００２１】
第１０の発明の装置は、データ処理装置において、ｍ（ｍ≧２）個の演算部と、ｍ個のメモリ部と、前記ｍ個の演算部およびメモリ部の間を結合する配線と、を備え、前記ｍ個の演算部は、ｍ個の論理回路をそれぞれ備え、前記ｍ個のメモリ部は、ｍ個の半導体メモリをそれぞれ備え、前記ｍ個の半導体メモリは、１メガビット以上の記憶容量を有し、Ｎ（Ｎ≧２）ビット幅のデータ信号の列が、Ｌ１，Ｌ２，・・・・，Ｌｍ（Ｌ１，Ｌ２，・・・・，Ｌｍ≧１；Ｌ１＋Ｌ２＋・・・・＋Ｌｍ＝Ｎ）ビット幅にビットスライスされたものを、それぞれ分担して格納可能である。
そして、前記ｍ個の論理回路は、前記ｍ個の半導体メモリの全体で記憶されるＮビット幅のデータ信号の供給を順次受けて、当該Ｎビット幅のデータ信号にもとづく処理を順次実行し、前記ｍ個の演算部と前記ｍ個のメモリ部とは、一対ごとに、別個の単一半導体チップの中に、形成されている。
【００２２】
【発明の実施の形態】
＜１．実施の形態１＞
はじめに、実施の形態１のデータ処理装置について説明する。
【００２３】
＜１−１．概略構成＞
図１は、実施の形態１のデータ処理装置の概略構成を示すブロック図である。この装置１０１には、基板９が備わっており、この基板９の上に、互いに並列に接続された２個のデータ処理ユニット１０ａ，１０ｂが配設されている。ユニット１０ａは単一半導体チップで構成され、ユニット１０ｂも別の単一半導体チップで構成されている。ユニット１０ａ，１０ｂの各々は、演算部１１とメモリ部１２とを備えている。
【００２４】
演算部１１は、３２ビット単位でデータ信号の演算処理を実行するＣＰＵを備えている。そして、演算部１１には、ポートＲ０〜Ｒ３１を通じて３２ビット単位で、データ信号が入力される。一方、出力に関しては、演算部１１は、ポートＷ０〜Ｗ１５、または、ポートＷ１６〜Ｗ３１を通じて、３２ビットの半分である１６ビットの単位で、データ信号を出力する。
【００２５】
メモリ部１２は、１メガビットを超える記憶容量を有するＤＲＡＭを備えている。そして、メモリ部１２では、ポートＷ０〜Ｗ１５を通じて、１６ビット単位でデータ信号が書き込まれ、ポートＲ０〜Ｒ１５を通じて、１６ビット単位でデータ信号が読み出される。なお、ここで、ポートとは、半導体チップに配設される配線の中の一点を、便宜上称しているのであって、信号を外部と中継するためのピンとは異なり、特別に大きな面積を占めない。したがって、ポートの個数には、ピンほどの制約は存在しない。
【００２６】
ユニット１０ａ，１０ｂの各々には、配線２０〜２３が備わっている。そして、ユニット１０ａ，１０ｂのいずれにおいても、演算部１１のポートＡ０〜Ａ１５から出力されるアドレス信号が、配線２０によってメモリ部１２のＡ０〜Ａ１５へと伝送される。アドレス信号は、メモリ部１２に備わるＤＲＡＭのメモリセルを指定するための信号である。また、演算部１１のＷ０〜Ｗ１５、または、ポートＷ１６〜Ｗ３１から出力されるデータ信号が、配線２１を通じて、メモリ部１２のＷ０〜Ｗ１５へと伝送される。
【００２７】
さらに、ユニット１０ａのメモリ部１２のポートＲ０〜Ｒ１５から読み出されたデータ信号は、配線２２を通じて、ユニット１０ａ，１０ｂの各々に属する演算部１１のポートＲ０〜Ｒ１５へと伝送される。他方のユニット１０ｂのメモリ部１２のポートＲ０〜Ｒ１５から読み出されたデータ信号は、配線２３を通じて、ユニット１０ａ，１０ｂの各々に属する演算部１１のポートＲ１６〜Ｒ３１へと伝送される。
【００２８】
メモリ部１２に備わるＤＲＡＭには、演算部１１に備わるＣＰＵが演算処理を行うのに必要なプログラムおよびデータが格納されている。そして、二つのユニット１０ａ，１０ｂのそれぞれに属するメモリ部１２には、演算部１１が読出しおよび書込みを行う３２ビット幅の単位データ信号を構成する下位１６ビット、および、上位１６ビットが格納される。すなわち、演算部１１が読出しおよび書込を行うデータ信号は、「ビットスライス」されて、各メモリ部１２に分担して記憶される。
【００２９】
各演算部１１には、配線２２，２３を通じて３２ビット幅のデータ信号が、共通に入力される。このため、演算部１１に備わるＣＰＵは、ユニット１０ａ，１０ｂの双方において、全く同一の演算処理を実行する。そして、同一の演算処理の結果得られたデータ信号の中で、例えば下位１６ビットは、ユニット１０ａにおいて演算部１１のポートＷ０〜Ｗ１５からメモリ部１２へと書き込まれ、上位１６ビットは、ユニット１０ｂにおいて演算部１１のポートＷ１６〜Ｗ３１からメモリ部１２へと書き込まれる。
【００３０】
すなわち、ユニット１０ａ，１０ｂに属する演算部１１の各々は、二つのメモリ部１２を共有している。したがって、各演算部１１は、単一のメモリ部１２が有するメモリ空間の２倍の大きさのメモリ空間を利用することが可能である。言い換えると、演算部１１がアクセスし得る半導体メモリのメモリ空間を、単一半導体チップの制約を超えて確保することができる。
【００３１】
また、演算部１１とメモリ部１２の間でやり取りされるデータ信号の中で、演算部１１からメモリ部１２へと書き込まれるデータ信号は、単一半導体チップの中でのみ伝送され、単一半導体チップの外部に配設される配線によって中継される必要がない。したがって、書込みのデータ信号については、伝送の遅延の問題が生じない。さらに、アドレス信号も、単一半導体チップの内部に配設される配線２０によって伝送されるので、アドレス信号についても、伝送の遅延の問題が生じない。
【００３２】
また、書込みのデータ信号を単一半導体チップの外部に出力する必要がないのに加えて、アドレス信号を伝送する配線２０も、外部へと配設する必要がないので、単一半導体チップに備えることのできるピンを、演算部１１のポートＲ０〜Ｒ３１へ入力されるデータ信号を中継するピンのために、専ら使用することが可能となる。したがって、演算部１１へ同時並列に入力可能なデータ信号のビット数、すなわち、入力されるデータ信号のビット幅を高くすることが可能である。
【００３３】
このことによって、データ信号の伝送速度の向上がもたらされるだけでなく、ＣＰＵが処理の単位とするビット幅を、例えば６４ビット幅、１２８ビット幅などへと拡大することが可能となる。それによって、装置の処理速度を一層向上させることが可能となる。
【００３４】
すなわち、装置１０１では、装置の処理速度を高く維持しつつ、演算部１１が必要とする記憶容量を、単一半導体チップの制約を超えて確保することが可能となる。すなわち、従来装置１５１，１５２においては、同時に回避することのできなかった二つの問題点が、同時に緩和ないし解消される。
【００３５】
＜１−２．詳細構成＞
図２は、装置１０１の構成を詳細に示すブロック図である。図２に示すように、演算部１１には、ＣＰＵ１の他に、入出力インタフェース２、および、ＣＰＵバスインタフェース３が備わっている。また、メモリ部１２には、ＤＲＡＭ４に加えて、メモリバスインタフェース５、および、キャッシュメモリ６が備わっている。ユニット１０ａ，１０ｂに属するＣＰＵ１の各々には、クロック生成部２５で生成されるクロック信号が、クロック配線２７を通じて共通に供給されている。ＣＰＵ１は、このクロック信号に同期して、演算処理を段階的に実行する。
【００３６】
ユニット１０ａ，１０ｂに属する演算部１１の各々は、基板９に取り付けられた端子２６を通じて、装置１０１の外部に準備される外部バスライン２９へと接続されている。これによって、演算部１１と外部バスライン２９との間で、データ信号がやり取りされる。
【００３７】
演算部１１に備わる入出力インタフェース２は、ＣＰＵ１と外部バスライン２９との間のインタフェースとして機能する装置部分である。入出力インタフェース２の構成自体は従来周知であるので、その構成に関する詳細な説明は略する。ＣＰＵ１は、既に述べたように、３２ビット単位で演算を実行する、いわゆる３２ビット型のＣＰＵである。このとき、ＣＰＵ１、入出力インタフェース２、端子２６、および、外部バスライン２９の間では、３２ビット単位で、データ信号が伝送される。すなわち、３２ビット幅のデータ信号が伝送される。ＣＰＵ１の構成も従来周知である。
【００３８】
演算部１１に備わるもう一つのインタフェースであるＣＰＵバスインタフェース３は、ＣＰＵ１とメモリ部１２との間のインタフェースとして機能する。ＣＰＵバスインタフェース３は、ＣＰＵ１が出力した３２ビット幅のデータ信号の中の上位１６ビットまたは下位１６ビットのみを選択的に配線２１へと出力する。すなわち、ユニット１０ａに属するＣＰＵバスインタフェース３は、下位１６ビットを選択し、ユニット１０ａに属するＣＰＵバスインタフェース３は、上位１６ビットを選択する。
【００３９】
ＣＰＵバスインタフェース３は、さらに、配線２２，２３を通じて入力された３２ビット幅のデータ信号を、３２ビット幅のままで、ＣＰＵ１へと伝える。ビット幅を選択して（切り出して）出力する点を除けば、ＣＰＵバスインタフェース３は、従来周知のＣＰＵバスインタフェースと同一に構成される。
【００４０】
メモリ部１２の主要部をなすＤＲＡＭ４には、ＣＰＵ１が演算処理を実行するための命令の群、すなわちプログラムが格納されている。ＤＲＡＭ４は、さらに、ＣＰＵ１が演算処理を行って得られたデータも、必要に応じて格納することができる。したがって、ＤＲＡＭ４から読み出されるデータ信号には、プログラムを構成する命令が含まれている。
【００４１】
このため、ＤＲＡＭ４は、少なくとも１メガビットの記憶容量を有しており、代表的には、１６メガビット（＝２メガバイト）の容量を有している。すなわち、ＤＲＡＭ４は、データ信号を一時的に保持する目的でＣＰＵ１の内部に備わるレジスタとは、同じ揮発性の半導体記憶装置ではありながら、その役割、および、必要とされる記憶容量において、明瞭に区別される。
【００４２】
キャッシュメモリ６は、ＤＲＡＭ４からデータ信号を読出す際の、読出し速度を速める目的で設けられる。また、メモリバスインタフェース５は、ＤＲＡＭ４と演算部１１との間のインタフェースとして機能する装置部分である。ＤＲＡＭ４、キャッシュメモリ６、および、メモリバスインタフェース５は、いずれも、従来周知の装置部分であるため、それらの構成についての詳細な説明は略する。
【００４３】
メモリバスインタフェース５、キャッシュメモリ６、および、ＤＲＡＭ４の間では、１６ビット幅のデータ信号がやり取りされる。ユニット１０ａに属するＣＰＵバスインタフェース３から配線２１へと出力される下位１６ビットのデータ信号は、メモリバスインタフェース５へと入力される。この信号は、その後、キャッシュメモリ６を経て、ＤＲＡＭ４へと書き込まれる。
【００４４】
ユニット１０ａに属するＤＲＡＭ４には、プログラムを構成する３２ビット幅の命令の中の下位１６ビットが、あらかじめ格納される。同様に、ユニット１０ｂに属するＤＲＡＭ４には、３２ビット幅の命令の中の上位１６ビットが、あらかじめ格納される。
【００４５】
そして、下位１６ビットの命令は、ユニット１０ａに属するメモリ部１２からキャッシュメモリ６、メモリバスインタフェース５を経て、配線２２を通じて、ユニット１０ａ，１０ｂの双方のＣＰＵバスインタフェース３へと入力される。同様に、上位１６ビットの命令は、ユニット１０ｂに属するメモリ部１２からキャッシュメモリ６、メモリバスインタフェース５を経て、配線２３を通じて、ユニット１０ａ，１０ｂの双方のＣＰＵバスインタフェース３へと入力される。
【００４６】
このようにして、ＣＰＵ１が読出しおよび書込みを行う３２ビット幅のデータ信号が、二つのＤＲＡＭ４に、重複しないように分担して記憶される。すなわち、複数のＤＲＡＭ４は、ビット幅を複数の群に分割（いわゆる、ビットスライス）して、データ信号を記憶する。
【００４７】
ユニット１０ａ，１０ｂに属するＣＰＵ１の双方には、同一の３２ビット幅の命令が共通に入力される。したがって、双方のＣＰＵ１は、共通のクロック信号に同期して、全く同一の演算処理を、同時に実行する。その結果、双方のＣＰＵ１からは、全く同一のデータ信号が同時に出力される。ＣＰＵ１からＣＰＵバスインタフェース３へと出力されたデータ信号は、既述したようにビットスライスされた上で、メモリ部１２へと送られる。
【００４８】
一方、ＣＰＵ１から入出力インタフェース２へと出力されたデータ信号は、３２ビット幅のままで、外部バスライン２９へと送られる。したがって、ユニット１０ａ，１０ｂからは、同時に同一のデータ信号が、外部バスライン２９へと出力される。あるいは、ユニット１０ａ，１０ｂのいずれか一方のみが、データ信号を外部バスライン２９へと出力するように、入出力インタフェース２が構成されてもよい。
【００４９】
さらに、ＣＰＵバスインタフェース３と同様に、ＣＰＵ１から出力されたデータ信号がビットスライスされて、外部バスライン２９へと出力されるように、入出力インタフェース２が構成されてもよい。例えば、ユニット１０ａの入出力インタフェース２からは、下位１６ビット、ユニット１０ｂの入出力インタフェース２からは上位１６ビットが、外部バスライン２９へと出力されるように、入出力インタフェース２が構成されてもよい。
【００５０】
ただし、外部バスライン２９からＣＰＵ１へと入力されるデータ信号は、３２ビット幅で、ユニット１０ａ，１０ｂの双方に、同時に入力される。そうすることによって、ユニット１０ａ，１０ｂに属する二つのＣＰＵ１は、つねに同一の演算処理を同時に実行することが可能となる。
【００５１】
以上のように、装置１０１は、ＣＰＵバスインタフェース３に対して簡単な変更を加えた上で、複数の演算部１１と複数のメモリ部１２とを、配線２１〜２３によって特徴的に結合する点を除けば、従来周知の装置部分の組み合わせによって、構成可能である。すなわち、装置１０１は、従来装置１５１，１５２に比べて、格別に複雑な構成を要することなく、装置の処理速度の改善と、記憶容量の改善とを両立的に実現する。
【００５２】
＜１−３．装置１０１の拡張＞
図１、図２に示した装置１０１では、３２ビット幅のデータ信号が、各々１６ビット幅の２群の信号にビットスライスされて、ＤＲＡＭ４へ記憶される例を示した。一般に、ＣＰＵ１がＮ（＞２）ビット単位で演算処理を行うときに、各々がＬビット（１≦Ｌ≦Ｎ／２）幅のＮ／Ｌ群の信号にビットスライスされて、Ｎ／Ｌ個のＤＲＡＭ４へ記憶されるように、装置１０１を拡張することが可能である。図１、図２の装置１０１は、Ｎ＝３２，Ｌ＝１６の例、すなわち群の個数が最小（＝２）である例に相当する。
【００５３】
一般に、群の個数（＝Ｎ／Ｌ）が大きいほど、ＣＰＵ１がアクセスできるメモリ空間の広さ（すなわち記憶容量）が拡大する。図３に、Ｎ＝３２，Ｌ＝８の例を示す。この装置１０２には、４個のユニット１０ｅ〜１０ｈが備わっている。そして、ユニット１０ｅ〜１０ｈの各々には、演算部１３およびメモリ部１４が備わっている。
【００５４】
メモリ部１４では、８ビット単位でデータ信号の読出し、および、書込みが可能である。一つの演算部１３からは、ＣＰＵ１（図示を略する）が演算処理を行うことによって得られた３２ビット幅のデータ信号の中から、８ビットが切り出されて、配線４１を通じて、同じユニット１０ｅ〜１０ｈに属するメモリ部１４へと書き込まれる。また、一つの演算部１３へは、各メモリ部１４から８ビット幅ずつ読み出されたデータ信号が、配線４２〜４５を通じて集められ、３２ビット幅のデータ信号として入力される。
【００５５】
この装置１０２では、単一半導体チップの面積と素子の集積度とが、装置１０１と同等であるとすれば、ＣＰＵ１がアクセスし得るメモリ空間の広さは、装置１０１の２倍となる。メモリ部１４から読み出されたデータ信号を各演算部１３へと伝えるために各半導体チップに必要とされるピンの個数は、装置１０１と装置１０２との間で差異がない。
【００５６】
したがって、装置１０２は、装置１０１と同等程度に、演算部１３へ入力されるデータ信号のビット幅を高くすることが可能である。すなわち、装置１０２では、データ信号の伝送速度を、装置１０１に比べて遜色ない程度に高く維持しつつ、演算部がアクセスし得るメモリ空間を、装置１０１よりも拡大することが可能である。
【００５７】
なお、図１〜図３では、Ｎビット幅のデータ信号が、同一のデータ幅Ｌ（＜Ｎ／２）へと、均等にビットスライスされる例を示したが、ビットスライスを不均等に行うように、装置を構成することも可能である。すなわち、一般に、データ幅Ｌ１，Ｌ２，・・・・，Ｌｍへと、Ｎビット幅のデータ信号がｍ（＞２）群にビットスライスされるように、装置を構成することが可能である。このとき、
Ｌ１＋Ｌ２＋・・・・＋Ｌｍ＝Ｎ、の関係が成立する。
【００５８】
しかしながら、Ｌ１＝Ｌ２＝・・・・＝Ｌｍ＝Ｌであるとき、すなわち、均等にビットスライスが行われるときには、各半導体チップ（例えば、ユニット１０ａ，１０ｂなど）が、ＣＰＵバスインタフェース３（図２）を除いた主要部において、互いに同一に構成可能であるという利点が得られる。すなわち、製造コストを節減することができる。
【００５９】
＜２．実施の形態２＞
図４は、実施の形態２のデータ処理装置の構成を示すブロック図である。この装置１０３では、ユニット５０ａ〜５０ｄの各々に備わるＣＰＵ６１が、互いに完全に同一の演算処理を行うのではなく、少なくとも演算処理の一部を分担し合っている点において、実施の形態１の装置１０１〜１０３とは特徴的に異なっている。
【００６０】
基板９の上に設置されるユニット５０ａ〜５０ｄは、それぞれ個別に、単一半導体チップで構成されている。そして、単一半導体チップのそれぞれには、演算部５１およびメモリ部１４が作り込まれている。メモリ部１４には、その主要部をなすＤＲＡＭ６４に加えて、メモリバスインタフェース６５、および、キャッシュメモリ６６が備わっている。これらのＤＲＡＭ６４、キャッシュメモリ６６、および、メモリバスインタフェース６５は、取り扱いの対象とするデータ信号のビット幅が異なる点を除けば、図１に示したＤＲＡＭ４、キャッシュメモリ６、および、メモリバスインタフェース５と同等に構成され、同等に機能する。
【００６１】
他方の演算部５１には、その主要部をなすＣＰＵ６１の他に、入出力インタフェース２、および、ＣＰＵバスインタフェース６３，６７が備わっている。ユニット５０ａ〜５０ｄに属するＣＰＵ６１の各々には、クロック生成部２５で生成されるクロック信号が、図示しないクロック配線を通じて共通に供給されている。各ＣＰＵ６１は、このクロック信号に同期して、演算処理を段階的に実行する。ユニット５０ａ〜５０ｄに属する演算部５１の各々は、基板９に取り付けられた端子７７を通じて、装置１０３の外部に準備される外部バスライン（図示を略する）へと接続することが可能である。
【００６２】
ＣＰＵ６１は、３２ビット型のＣＰＵであり、ＣＰＵ６１、入出力インタフェース２、端子７７、および、外部バスラインの間では、３２ビット幅のデータ信号がやり取りされる。一方、ユニット５０ａ〜５０ｄの各々の中で、ＣＰＵ６１とメモリ部１４との間では、ビットスライスされた８ビット幅のデータ信号が、ＣＰＵバスインタフェース６３および配線７１，７２，８１，８２を通じて、やり取りされる。
【００６３】
さらに、ユニット５０ａ〜５０ｄに属する各ＣＰＵ６１は、内部バスライン７５、ＣＰＵバスインタフェース６７、および、配線８３，８４を通じて、互いにデコード情報信号またはフェッチ情報信号をやり取りする。また、ＤＲＡＭ６４のアドレスの指定は、配線７０を通じてＣＰＵ６１から送られるアドレス信号によって行われる。
【００６４】
図５は、ＣＰＵ６１の内部構造を示すブロック図である。従来周知のＣＰＵと同様に、ＣＰＵ６１には、実行部９０と制御部９１とが備わっている。制御部９１には、フェッチ部９２およびデコード部９３が備わっており、実行部９０には実行演算部９５およびライト部９４が備わっている。フェッチ部９２は、配線８２を通じて、ＤＲＡＭ６４に記憶される命令を取り込む装置部である。取り込まれる命令は、３２ビット幅の命令そのものではなく、命令の一部をなし、ビットスライスされた８ビット幅の部分命令である。
【００６５】
取り込まれた部分命令は、デコード部９３によって、単独でデコード情報信号に変換される。部分命令は、命令の一部にしか過ぎないので、このデコード情報信号だけでは、実行部９０は正常な実行処理を行うことができない。そこで、デコード部９３は、デコード情報信号を、配線８３を通じて、ＣＰＵバスインタフェース６７へと送出する。
【００６６】
ＣＰＵバスインタフェース６７は、デコード部９３から送られたデコード情報信号を、配線７３を通じて、内部バスライン７５へと送出する。この動作は、すべてのユニット５０ａ〜５０ｄにおいて、同様に行われる。すなわち、内部バスライン７５には、４個の演算部５１の各々から、デコード情報信号が、同時に供給される。
【００６７】
デコード部９３は、他の３個のデコード部９３から内部バスライン７５に供給されているデコード情報信号を、ＣＰＵバスインタフェース６７および配線８４を通じて受け取る。これによって、デコード部９３は、受け取ったデコード情報信号を参照することによって、最終的に３２ビット幅の命令のデコードを完遂する。その結果得られたデコード信号が、実行部９０へと受け渡される。
【００６８】
実行部９０は、デコード信号にもとづいて、実行処理を行う。したがって、ユニット５０ａ〜５０ｄに属する実行部９０のそれぞれは、互いに同一のデコード信号にもとづいて、同一の処理を実行する。しかも、実行処理は、クロック生成部２５が供給するクロック信号に同期して、互いに同時に行われる。実行処理は、実行部９０に備わる演算実行部９５によって行われる。そして、実行処理によって得られたデータ信号は、演算実行部９５からライト部９４へと受け渡される。
【００６９】
ライト部９４は、受け渡された３２ビット幅のデータ信号を８ビット幅に切り出した上で、配線８１を通じてＣＰＵバスインタフェース６３へと出力する。あるいは、ライト部９４では、３２ビット幅のままでデータ信号が出力され、ＣＰＵバスインタフェース６３によって、８ビット幅への切り出しが行われてもよい。以上のように、ユニット５０ａ〜５０ｄに属するＣＰＵ６１の各々では、ＣＰＵ１（図２）とは異なり、すべての処理が同一に行われるわけではなく、一部の処理は互いに分担される。
【００７０】
以上のフェッチからライトまでの一連の処理は、クロック生成部２５が供給するクロック信号に同期して、いわゆるパイプライン処理の形式で反復的に実行される。図６は、ＣＰＵ６１におけるパイプライン処理を説明するタイミングチャートである。図６に示すように、フェッチ部９２は、クロック信号のパルスに同期して、ＤＲＡＭ６４から命令１，２，３，・・・・を、順次取り込む。より正確には、先に述べたように、一つのＣＰＵ６１に属するフェッチ部９２は、これらの命令の一部を構成する部分命令を取り込む。
【００７１】
一つの命令、例えば命令１に対する処理の流れに注目すると、クロック信号のパルスごとに、フェッチ部９２によるフェッチ、デコード部９３によるデコード、演算実行部９５による実行処理、そして、ライト部９４によるライトが、逐次的に行われる。すなわち、一つの命令１に対する一連の処理が、各装置部によって、クロック信号のパルスごとに順次実行される。
【００７２】
そして、つぎの命令２に対する同様の一連の処理が、クロック信号の１パルス後に、同様に順次実行される。したがって、一つの装置部、例えば、デコード部９３に注目すると、クロック信号のパルスごとに、命令１，２，３・・・・の順で、それらの命令のデコードが休みなく行われる。ＣＰＵ６１は、このような「パイプライン処理」と称される形式にしたがって、命令を次々に処理して行く。
【００７３】
図７は、一つの命令に対するフェッチからライトまでの処理の流れを、より詳細に示すタイミングチャートである。この例では、クロック信号の周期は、２５ｎｓｅｃに設定されている。フェッチが行われるクロック周期では、その開始直後に所定のアドレス信号が出力される。アドレス信号の出力が開始された後に、ＤＲＡＭ６４に記憶される命令（図７の読出しデータ）がフェッチ部９２へと到達するまでには、通常において相当の遅延が生じる。図７の例では、この遅延は２０ｎｓｅｃである。
【００７４】
つぎのクロック周期では、デコードが行われる。デコードの周期が開始された後に、デコード情報信号が出力されるまでには、わずかに４ｎｓｅｃ程度しか要しない。フェッチに比べてデコードは、短時間で遂行される。デコード情報信号は、４個のデコード部９３の間で互いに交換される。その後、最終的に実行部９０が実行可能なデコード信号が出力される。デコード情報信号が、４ｎｓｅｃ程度と、短時間で得られるために、２５ｎｓｅｃの周期の間に、十分な余裕を持って、最終的なデコード信号を得ることが可能である。
【００７５】
つぎのクロック周期では、演算実行部９５による実行処理が行われる。実行処理についても、通常において相当な時間が必要とされる。図７の例では、実行の周期が開始された後に、実行処理の結果としての実行データ信号が出力されるまでに、２０ｎｓｅｃを要している。つづくクロック周期では、実行データ信号が、ライト部９４によって、書込データ信号として出力される。
【００７６】
以上のように、装置１０３では、メモリ部１４から演算部５１へのデータ信号の伝送が、単一半導体チップの内部に配設される配線７２を通じてのみ行われるので、データ信号の伝送遅延の問題が解消される。しかも、単一半導体チップを超えて、ユニット５０ａ〜５０ｄの間で信号をやり取りする動作、すなわち無視できない大きさの遅延時間をともなう動作が、時間的に最も余裕のあるクロック周期であるデコード周期の中で行われる。したがって、データ信号の伝送遅延が解消されたことが、処理速度の向上へと有効に寄与する。
【００７７】
さらに、単一半導体チップに備えることのできるピンを、内部バスライン７５を通じて伝送されるデコード情報信号を中継するピンのために、専ら使用することが可能となる。したがって、内部バスライン７５を通じて交換されるデコード情報信号のビット幅を高くすることによって、デコード情報信号の伝送速度を向上させ得るだけでなく、ＣＰＵ６１が処理の単位とするビット幅を、例えば６４ビット幅、１２８ビット幅などへと、容易に拡大することが可能となる。それによって、装置の処理速度を一層向上させることが可能となる。
【００７８】
図８は、ＣＰＵ６１の内部構造のもう一つの例を示すブロック図である。この例は、配線８３が、デコード部９３の出力の代わりに、フェッチ部９２の出力に接続されている点において、図５の例とは特徴的に異なっている。フェッチ部９２は、ＤＲＡＭ６４に記憶される命令の一部をなす８ビット幅の部分命令を、配線８２を通じて取り込んだ後、フェッチ情報信号を出力する。フェッチ部９２は、例えばラッチ回路を備えており、フェッチされた部分命令と同一の信号を、フェッチ情報信号として出力に保持する。
【００７９】
このフェッチ情報信号は、デコード部９３へと供給されるとともに、配線８３を通じて、ＣＰＵバスインタフェース６７へと送出される。ＣＰＵバスインタフェース６７は、フェッチ部９２から送られたフェッチ情報信号を、配線７３を通じて、内部バスライン７５へと送出する。この動作は、すべてのユニット５０ａ〜５０ｄにおいて、同様に行われる。すなわち、内部バスライン７５には、４個の演算部５１の各々から、フェッチ情報信号が、同時に供給される。
【００８０】
デコード部９３は、他の３個のフェッチ部９２から内部バスライン７５に供給されているフェッチ情報信号を、ＣＰＵバスインタフェース６７および配線８４を通じて受け取る。その結果、デコード部９３は、４個の演算部５１に属する４個すべてのフェッチ部９２から、フェッチ情報信号の供給を受けることとなる。デコード部９３は、受け取ったフェッチ情報信号を参照することによって、３２ビット幅の命令のデコードを実行する。その結果得られたデコード信号が、実行部９０へと受け渡される。実行部９０における動作は、図５の例と同様である。
【００８１】
図８の例では、４個のＣＰＵ６１の間で、デコードが加えられていないフェッチ情報信号そのものを交換すればよいので、装置の構成が簡単であるという利点がある。また、デコード部９３が、フェッチ情報信号の取り込みを、時間的に最も余裕のあるクロック周期であるデコード周期の中で行うことも可能である。このときには、図５の例と同様に、データ信号の伝送遅延が解消されたことが、処理速度の向上へと有効に寄与する。
【００８２】
なお、フェッチ部９２においてフェッチされたデータ信号が、プログラムを構成する命令ではなく、演算用のデータ信号（例えば、数値データ、論理値データなど）である場合には、実行部９０では、演算用のデータ信号にもとづく演算（例えば、加算、論理演算など）が実行される。このときには、デコード部９３では、命令に対するデコードが行われる必要がないので、例えば、フェッチ情報信号がそのまま実行部９０へと受け渡される。
【００８３】
また、以上の説明では、複数のユニット５０ａ〜５０ｄの各々に備わるＣＰＵ６１の中で、制御部９１のみが、演算処理を分担し合っている例を示したが、実行部９０も含めて、演算処理を分担するように装置を構成することも可能である。このとき、ＣＰＵ６１として、８ビット単位で処理を行う８ビット型のＣＰＵを用いることが可能となる。
【００８４】
このときには、例えば、３２ビットのデータ信号の加算が行われる際に、各実行部９０は、３２ビットを４等分にビットスライスして成る８ビットの加算のみを実行する。加算にともなうキャリー信号を各実行部９０の間で交換する必要があるため、各デコード部９３どうしを結合する配線８３，８４だけでなく、各実行部９０どうしを結合する配線が別途必要となる。
【００８５】
＜３．実施の形態３＞
以上に説明した実施の形態１および２の装置では、メモリ部１２（，１４）に対して書込みおよび読出しが行われるデータ信号のビット幅と、メモリ部１２（，１４）に内蔵されるＤＲＡＭ４（，６４）に対して書込みおよび読出しが行われるデータ信号のビット幅とは一致していた。
【００８６】
例えば、図２の例では、ＣＰＵバスインタフェース３とメモリバスインタフェース５との間では、１６ビット幅のデータ信号がやり取りされ、メモリバスインタフェース５、キャッシュメモリ６、および、ＤＲＡＭ４の間でも、同じ１６ビット幅のデータ信号がやり取りされていた。しかしながら、一般には、これらの間で、データ信号のビット幅が異なっていてもよい。図９は、そのように構成されたユニットの一例を示すブロック図である。
【００８７】
図９に示すユニット１３０には、図２に示した演算部１１とともに、メモリ部１３２が備わっている。ユニット１３０は、単一半導体チップで構成されており、図２に示したユニット１０ａ，１０ｂと同様に、他のユニット１３０と並列に接続されることによって、データ処理装置を構成することが可能である。
【００８８】
メモリ部１３２では、ＤＲＡＭ４（図２）とは異なり、メモリバスインタフェース１３５、キャッシュメモリ１３６、および、ＤＲＡＭ１３４の間では、１２８ビット幅のデータ信号がやり取りされる。すなわち、データ信号は、ＤＲＡＭ１３４に対して、１２８ビット幅で、書込みおよび読出しが行われる。このユニット１３０では、ＤＲＡＭ１３４に対して同時に書き込みおよび読出しが行われるデータ信号のビット数がユニット１０ａ，１０ｂよりも高いので、処理の速度をさらに向上させることができる。
【００８９】
＜４．実施の形態４＞
図１０は、実施の形態４のユニットの構成を示すブロック図である。このユニット１４０には、演算部１４１およびメモリ部１４２が備わっている。ユニット１４０は、単一半導体チップで構成されており、ユニット１０ａ，１０ｂ（図２）あるいはユニット５０ａ〜５０ｄ（図４）と同様に、他の単数または複数のユニット１４０と並列に接続されることによって、データ処理装置を構成することが可能である。
【００９０】
このユニット１４０では、メモリ部１４２に対して書込みおよび読出しが行われるデータ信号のビット幅が可変である点において、実施の形態１〜３に示したユニットとは特徴的に異なっている。演算部１４１には、ＣＰＵ１、および、入出力インタフェース２に加えて、ＣＰＵバスインタフェース１１３が備わっている。このＣＰＵバスインタフェース１１３は、メモリ部１４２に対して読み出しおよび書込みを行うデータ信号のビット幅Ｌｊを、配線１３３を通じて外部から入力される選択信号に応答して、自在に設定する。
【００９１】
メモリ部１４２には、ＤＲＡＭ１３４、および、キャッシュメモリ１３６に加えて、メモリバスインタフェース１１５が備わっている。このメモリバスインタフェース１１５は、ＣＰＵバスインタフェース１１３とやり取りするデータ信号のビット幅Ｌｊを、選択信号に応答して自在に設定する。すなわち、ＣＰＵバスインタフェース１１３とメモリバスインタフェース１１５は、共通に入力される選択信号に応答して、互いに連動してビット幅Ｌｊを設定する。
【００９２】
すなわち、ビット幅Ｌｊを選択信号にもとづいた変数として、ＣＰＵバスインタフェース１１３からメモリバスインタフェース１１５へと配線１２１を通じて、ビット幅Ｌｊのデータ信号が書き込まれ、メモリバスインタフェース１１５からＣＰＵバスインタフェース１１３へと配線１２２を通じて、ビット幅Ｌｊのデータ信号が読み出される。
【００９３】
また、ＣＰＵバスインタフェース１１３へは、他の単数または複数のユニット１４０に属するメモリバスインタフェース１１５から、それぞれビット幅Ｌｊのデータ信号が、他の配線１２２を通じて入力される。ビット幅Ｌｊのデータ信号を伝送する配線１２２は、バスライン１２３に属しており、選択信号に応じてバスライン１２３を分担する。
【００９４】
図１０の例では、ＣＰＵ１が３２ビット型のＣＰＵであるため、バスライン１２３は、３２ビット幅に対応して、３２本の配線を有している。ビット幅Ｌｊが、例えば８ビットであれば、バスライン１２３は、各々が８本の配線を有する４つの配線１２２で構成される。メモリバスインタフェース１１５は、バスライン１２３を構成するすべての配線に接続されており、それらの中で、選択信号が指示するビット幅Ｌｊに対応した配線１２２以外の配線に対しては、ハイインピーダンスとなって、図１０に点線で示すように、接続状態が解除される。
【００９５】
配線１２１も、バスライン１２３と同様に、最大３２ビット幅のデータ信号を伝送可能なように、３２本の配線を有している。そして、それらの中で、選択信号が指示するビット幅Ｌｊに対応して、Ｌｊ本の配線のみが、ＣＰＵバスインタフェース１１３とメモリバスインタフェース１１５とに接続され、ビット幅Ｌｊのデータ信号の伝送のために使用される。
【００９６】
ＤＲＡＭ１３４に対するアドレスの指定は、実施の形態１〜３と同様に、配線１２０を通じてＣＰＵ１からＤＲＡＭ１３４へと送出されるアドレス信号によって行われる。そして、演算部１４１に対しては、メモリ部１４２はあたかも、選択信号が指示するビット幅Ｌｊに対応したＬｊビットのビット線を有するＤＲＡＭとして機能する。
【００９７】
図１１および図１２は、４個のユニット１４０を並列に接続することによって構成されたデータ処理装置を例として、メモリ部１４２のビット・ワード構成を示す説明図である。図１１の例では、４個のユニット１４０の間で、ビット幅Ｌｊが同一ではない。ただし、ビット幅Ｌｊ（ｊ＝１〜４）の総和は、３２に一致し、ワード線の数Ｗｊとの積Ｌｊ×Ｗｊは、すべてのユニット１４０の間で共通となる。
【００９８】
これに対して、図１２の例では、４個のユニット１４０の間で、ビット幅Ｌｊが同一となっている。図１１の一般の例に比べて図１２の例の方が、より好ましい。ビット幅Ｌｊの設定が容易であるのに加えて、各ユニット１４０の間で、データ信号の伝送速度等の特性が揃うという利点がある。
【００９９】
＜５．変形例＞
（１）以上の各実施の形態では、メモリ部にＤＲＡＭが備わる例を示したが、本発明では、ＤＲＡＭだけでなく、ＳＲＡＭ（スタティックＲＡＭ）、あるいは、読出し専用の半導体ＲＯＭなど、一般の半導体メモリを用いることも可能である。また、一般の半導体メモリを用いても、各実施の形態で述べた効果は、同様に得られる。ただし、一般の半導体メモリの中で、ＤＲＡＭは最も高い集積度を有しており、この発明への使用に最も適している。また、半導体ＲＯＭが用いられるときには、例えば図２において、演算部１１からメモリ部１２へとデータ信号を伝送する配線２１は不要となる。
【０１００】
（２）以上の各実施の形態では、演算部がＣＰＵを備え、メモリ部に備わるＤＲＡＭ等の半導体メモリには、ＣＰＵの演算処理の手順を規定するプログラムがあらかじめ格納される例を示したが、一般には、演算部は、論理回路（例えば論理素子の組み合わせ）で構成されてもよい。このとき、半導体メモリには、プログラムは格納されず、論理回路に供給されるデータ信号が、あらかじめ格納される。この場合には、大規模のデータ量のデータ信号にもとづいて論理回路が動作するとき、すなわち、半導体メモリのメモリ空間が、代表的には１メガビット以上の記憶容量を有するときに、本発明は特に有用性を発揮する。
【０１０１】
【発明の効果】
第１の発明の装置では、ｍ個（複数個）の半導体メモリに、データ信号がビットスライスされた形式で分担して記憶され、ｍ個（複数個）のＣＰＵは、全体として、あるいは、各個それぞれごとに、ｍ個の半導体メモリの全体に記憶されるＮビット幅のデータ信号を、配線を通じて利用することが可能である。このため、ｍ個のＣＰＵが利用できる半導体メモリの記憶容量として、単一半導体チップに形成される１個の半導体メモリの記憶容量のｍ倍に拡張された大きさが確保される。
【０１０２】
しかも、各単一半導体チップごとにＣＰＵが備わるので、各単一半導体チップの間を結合する配線として、ｍ個の半導体メモリからｍ個のＣＰＵへとデータ信号を伝送する配線、あるいは、ｍ個のＣＰＵの間で情報信号を交換するための配線のいずれかが配設されれば足りる。したがって、これらの信号以外の信号、例えばアドレス信号などに関しては、伝送にともなう遅延の問題が生じない。さらに、各単一半導体チップに備えられるべきピンを、上記のデータ信号または情報信号を伝送する配線のために、専ら使用することができるので、これらの信号のビット幅を拡大することが可能となる。それによって、装置の処理速度が向上する。
【０１０３】
第２の発明の装置では、ｍ個のＣＰＵのそれぞれが、ｍ個の半導体メモリの全体で記憶されるＮビット幅のデータ信号にもとづいて、処理を実行する。このため、ｍ個のＣＰＵの間での情報信号の受け渡しが不要であり、装置の構成が単純であるので、装置の設計が容易となる。
【０１０４】
第３の発明の装置では、第１および第２インタフェースが、選択信号に応じて、ビット幅の大きさＬ１，Ｌ２，・・・・，Ｌｍを変更可能であるため、演算部とメモリ部が作り込まれている単一半導体チップを用いて、ビット幅の大きさＬ１，Ｌ２，・・・・，Ｌｍの異なる複数種類のデータ処理装置を構成することが可能である。したがって、データ処理装置を低廉なコストで製造することが可能となる。
【０１０５】
第４の発明の装置では、ｍ個の半導体メモリの各々が、例えばＤＲＡＭなどの読み書き自在のメモリであり、書き込まれるデータ信号のビット幅は、読出しのビット幅Ｌ１，Ｌ２，・・・・，Ｌｍと一致し、しかも、可変である。このため、ｍ個のＣＰＵは、演算処理によって得られたデータ信号を、ｍ個の半導体メモリに記憶し、さらに、ｍ個の半導体メモリから読み出して演算に利用することが可能となる。しかも、書込みの際のデータ信号の受け渡しは、同一の半導体チップの中で行われるので、書込みの際に、データ信号の伝送遅延の問題が生じない。すなわち、処理速度が高く、しかも、利用価値の高いデータ処理装置が、低廉なコストで製造可能となる。
【０１０６】
第５の発明の装置では、ｍ個の半導体メモリの各々が、例えばＤＲＡＭなどの読み書き自在のメモリであり、書き込まれるデータ信号のビット幅は、読出しのビット幅Ｌ１，Ｌ２，・・・・，Ｌｍと一致する。このため、ｍ個のＣＰＵは、演算処理によって得られたデータ信号を、ｍ個の半導体メモリに記憶し、さらに、ｍ個の半導体メモリから読み出して演算に利用することが可能となる。しかも、書込みの際のデータ信号の受け渡しは、同一の半導体チップの中で行われるので、書込みの際に、データ信号の伝送遅延の問題が生じない。すなわち、処理速度が高く、しかも、利用価値の高いデータ処理装置が実現する。
【０１０７】
第６の発明の装置では、ｍ個のＣＰＵの各々は、同一の単一半導体チップに形成される半導体メモリに記憶されるデータ信号のみを読み取るので、半導体メモリからＣＰＵへと伝送されるデータ信号の伝送速度が高められる。このため、ＣＰＵの処理のサイクルの中で、長い時間を要するサイクルの一つであるフェッチに要する時間が短縮される。
【０１０８】
第７の発明の装置では、ｍ個のＣＰＵは、時間を要する実行部による処理の過程では情報信号の交換を行わなくてもよいように、短時間での処理が可能なデコードの過程で、必要な情報信号の交換を行う。このため、フェッチに要する時間を短縮したことが、実行部の処理の時間を増大させることなく、ＣＰＵの処理の速度の向上へと、有効に生かされる。
【０１０９】
第８の発明の装置では、ｍ個のＣＰＵは、フェッチ部が出力するフェッチ情報信号を交換するので、装置の構成が簡単である。また、フェッチ情報信号の交換を、短時間での処理が可能なデコードの過程で終了させることが可能であり、このときには、フェッチに要する時間を短縮したことが、実行部の処理の時間を増大させることなく、ＣＰＵの処理の速度の向上へと、有効に生かされる。
【０１１０】
第９の発明の装置では、ビットスライスが均等に行われるので、ｍ個の単一半導体チップが、その主要部において、互いに同一に構成可能である。したがって、データ処理装置の製造に要するコストを、節減することが可能となる。
【０１１１】
第１０の発明の装置では、ｍ個（複数個）の半導体メモリに、データ信号がビットスライスされた形式で分担して記憶され、ｍ個（複数個）の論理回路は、全体として、あるいは、各個それぞれごとに、ｍ個の半導体メモリの全体に記憶されるＮビット幅のデータ信号を、配線を通じて利用することが可能である。このため、ｍ個の論理回路が利用できる半導体メモリの記憶容量として、単一半導体チップに形成される１個の半導体メモリの記憶容量のｍ倍に拡張された大きさが確保される。
【０１１２】
しかも、各単一半導体チップごとに論理回路が備わるので、各半導体チップの間を結合する配線として、ｍ個の半導体メモリからｍ個の論理回路へとデータ信号を伝送する配線のみが配設されれば足りる。したがって、このデータ信号以外の信号に関しては、伝送にともなう遅延の問題が生じない。さらに、各単一半導体チップに備えられるべきピンを、ｍ個の半導体メモリからｍ個の論理回路へとデータ信号を伝送する配線のために、専ら使用することが可能となるので、このデータ信号のビット幅を広げることが可能である。したがって、このデータ信号の伝送速度を高め、装置の処理速度を向上させることが可能となる。
【図面の簡単な説明】
【図１】実施の形態１の装置の概略ブロック図である。
【図２】実施の形態１の装置の詳細ブロック図である。
【図３】実施の形態１の装置の別の例を示すブロック図である。
【図４】実施の形態２の装置のブロック図である。
【図５】実施の形態２のＣＰＵのブロック図である。
【図６】実施の形態２のＣＰＵのパイプライン処理の動作説明図である。
【図７】実施の形態２のＣＰＵの一つの命令サイクルの動作説明図である。
【図８】実施の形態２のＣＰＵの別の例のブロック図である。
【図９】実施の形態３のユニットのブロック図である。
【図１０】実施の形態４のユニットのブロック図である。
【図１１】実施の形態４の装置のビット・ワード構成例を示す図である。
【図１２】実施の形態４の装置のより望ましいビット・ワード構成例を示す図である。
【図１３】従来の装置の構成を示すブロック図である。
【図１４】従来の装置の別の構成例を示すブロック図である。
【符号の説明】
１，６１  ＣＰＵ、３，１１３  第１インタフェース、４，６４，１３４  半導体メモリ、５，１３５，１１５  第２インタフェース、６，６６，１３６  キャッシュメモリ、１１，１３，５１，１４１  演算部、１２，１４，１３２，１４２  メモリ部、２０〜２３，４１〜４５，７０〜７３，７５，１２０〜１２３  配線、２５  クロック生成部、９３  デコード部、９０  実行部。
【図１】
0003612186.tif 000002
【図２】
0003612186.tif 000003
【図３】
0003612186.tif 000004
【図４】
0003612186.tif 000005
【図５】
0003612186.tif 000006
【図６】
0003612186.tif 000007
【図７】
0003612186.tif 000008
【図８】
0003612186.tif 000009
【図９】
0003612186.tif 000010
【図１０】
0003612186.tif 000011
【図１１】
0003612186.tif 000012
【図１２】
0003612186.tif 000013
【図１３】
0003612186.tif 000014
【図１４】
0003612186.tif 000015