"複数ビット幅のデータを入力し、前記複数ビット幅の演算結果を出力する前記複数ビット幅の第1演算器と、前記複数ビット幅より狭い所定のビット幅のデータを入力し、前記所定のビット幅の演算結果を出力する第2演算器とを有し、構成情報メモリに設定される構成情報に基づいて前記第1演算器および前記第2演算器の接続構成を変更可能なプロセッサエレメントと、配線から前記プロセッサエレメントに前記複数ビット幅のデータおよび前記所定のビット幅のデータを前記構成情報メモリに設定される構成情報に基づいて入出力するプログラマブルスイッチとを備えるプロセッサユニットをマトリクス状に配置するアレイ型プロセッサ部と、内部バスを介してデータを授受し、前記アレイ型プロセッサ部の動作を制御する制御回路と、前記アレイ型プロセッサ部との間で前記内部バスを介してデータを授受するCPUとを具備する半導体集積回路装置。前記複数ビット幅は8ビット幅であり、前記所定のビット幅は1ビット幅である請求項1に記載の半導体集積回路装置。前記制御回路は、前記内部バスとの間で受動的にデータの授受を行う内部バススレーブ回路を備え、前記内部バススレーブ回路は、前記CPUのメモリアドレス空間にマッピングされる制御レジスタ群を含み、前記CPUが前記制御レジスタ群に制御データを書き込むことにより前記アレイ型プロセッサ部の動作を制御する請求項1または請求項2に記載の半導体集積回路装置。前記制御回路は、前記CPUを介さずに所定のメモリに格納される構成情報を前記構成情報メモリに書き込むDMA回路を備える請求項1から請求項3のいずれかに記載の半導体集積回路装置。前記構成情報メモリは、前記CPUのメモリアドレス空間にマッピングされ、前記制御回路は、前記CPUから前記構成情報メモリをリードおよびライトアクセスできるように前記内部バス上のアドレスを解析するアドレスデコーダを備える請求項1から請求項4のいずれかに記載の半導体集積回路装置。前記プロセッサユニットは、前記CPUのメモリアドレス空間にマッピングされるレジスタファイルを更に備え、前記アドレスデコーダは、前記CPUから前記レジスタファイルをリードおよびライトアクセスできるように前記内部バス上のアドレスを解析する請求項5に記載の半導体集積回路装置。前記構成情報メモリは、前記制御回路から読み出しワードを指定可能な複数ワード構成のメモリを含み、前記制御回路は、前記構成情報メモリの読み出しワードを指定する動作制御レジスタを含み、前記CPUが前記動作制御レジスタに所定の値を書き込むことによって回路構成を切り替える請求項1から請求項6のいずれかに記載の半導体集積回路装置。前記構成情報メモリは、前記制御回路から読み出しワードを指定可能な複数ワード構成のメモリを含み、前記制御回路は、前記構成情報メモリの読み出しワードを指定する動作制御レジスタを含み、所定時間毎に前記動作制御レジスタを書き換えて回路構成を切り替え、複数の回路の時分割実行する請求項1から請求項6のいずれかに記載の半導体集積回路装置。前記プロセッサエレメントは、複数の前記所定のビット幅のデータを入力して連結し、前記複数のビット幅のデータとして出力する命令を有する請求項1から請求項8のいずれかに記載の半導体集積回路装置。前記プロセッサエレメントは、複数の前記所定のビット幅のデータを入力して連結し、入力される前記複数のビット幅のデータと前記連結されたデータを左シフトして得られるデータとを論理和演算して出力する命令を有する請求項9に記載の半導体集積回路装置。本発明は、単一チップを用いて複数品種の製品ラインアップを形成し、顧客要求に容易にカスタマイズ対応可能な半導体集積回路装置を提供する。以下に、[発明を実施するための形態]で使用される番号符号を用いて、課題を解決するための手段を説明する。これらの番号符号は、[特許請求の範囲]の記載と[発明を実施するための形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。本発明の観点では、半導体集積回路装置は、アレイ型プロセッサ部300と、制御回路200と、CPU100とを具備する。CPU100は、アレイ型プロセッサ部300との間で内部バス180を介してデータを送受する。アレイ型プロセッサ部300は、プロセッサエレメント330と、プログラマブルスイッチ320とを備えるプロセッサユニット310をマトリクス状に配置する。プロセッサエレメント330は、複数ビット幅のデータを入力し、複数ビット幅の演算結果を出力する複数ビット幅の第1演算器332と、複数ビット幅より狭い所定のビット幅のデータを入力し、所定のビット幅の演算結果を出力する第2演算器333とを有する。第1演算器332および第2演算器333の接続構成は、構成情報メモリ340に設定される構成情報に基づいて変更可能である。プログラマブルスイッチ320は、配線からプロセッサエレメントに複数ビット幅のデータおよび所定のビット幅のデータを構成情報メモリ340に設定される構成情報に基づいて入出力する。制御回路200は、内部バス180を介してデータを授受し、アレイ型プロセッサ部300の動作を制御する。本発明によれば、単一チップを用いて複数品種の製品ラインアップを形成することができ、顧客要求に容易にカスタマイズ対応可能な半導体集積回路装置を提供することができる。図1に、本発明の実施の形態に係る半導体集積回路装置の構成を示す。半導体集積回路装置は、CPUCentralProcessingUnit100と、メモリ150と、周辺回路160と、制御回路200と、アレイ型プロセッサ300とを具備する。CPU100と、メモリ150と、周辺回路160と、制御回路200とは、内部バス180に接続され、相互にデータを授受する。CPU100は、メモリ150に格納されるプログラムを実行し、内部バス180を介して周辺回路160、制御回路200の設定、制御を行う。CPU100は、メモリ150や周辺回路160、制御回路200制御回路200を介してアレイ型プロセッサ300からデータを読み出し、データを処理してメモリ150や周辺回路160、制御回路200制御回路200を介してアレイ型プロセッサ300に出力する。メモリ150は、読み出し専用のメモリ、書き換え可能なメモリ等を含み、CPU100が実行するプログラムやデータを格納する。周辺回路160は、例えば、非同期シリアル通信用送受信回路UART:UniversalAsynchronousReceiver/Transmitter、クロック同期シリアル通信回路CSI:ClockSynchronousSerialInterface、タイマ等を含む。制御回路200は、内部バススレーブ回路210と、アドレスデコーダ220と、DMA回路230とを備える。さらに、制御回路200は、DMA回路230を制御するDMA開始レジスタ232、DMAアドレスレジスタ234、DMAサイズレジスタ236と、アレイ型プロセッサ300を制御する動作レジスタ222、リセットレジスタ224、アドレスバッファ216、リードバッファ214、ライトバッファ212とを備える。制御回路200は、アレイ型プロセッサ300に接続され、CPU100が制御回路200内の特定のアドレスにマッピングされる制御レジスタに、指示を示すデータを書き込むことにより、それに対応するアレイ型プロセッサ300の制御を行うことができる。リセットレジスタ224にリセット指示を示すデータを書き込むことによって、電源投入後のリセット投入からクロックが安定し、アレイ型プロセッサ300の内部回路が初期化されるまで、アレイ型プロセッサ300はリセット状態を継続する。動作レジスタ222に動作開始あるいは動作停止を指示するデータを書き込むことにより、動作開始信号あるいは動作停止信号を送り、アレイ型プロセッサ300の動作を制御することができる。また、動作レジスタ222に初期設定動作を指示するデータを書き込むことにより、CPU100は必要に応じてアレイ型プロセッサ300を初期化することができる。また、制御回路200は、内部の構成情報メモリに対してCPU100から読み書きアクセスできるように、アドレスデコードする機能を有する。さらに、制御回路200は、DMA機能を持ちチップ内もしくはチップ外のメモリに格納された構成情報を転送する。内部バススレーブ回路210は、制御回路200を内部バス180に接続するための回路であり、内部バス180との間で、バスプロトコルに従ってデータの送受を行う。CPU100は、アドレスを指定して、制御回路200内のレジスタ等のデータを読み書きすることができる。アドレスデコーダ220は、内部バス180を介して制御回路200あるいはアレイ型プロセッサ300をアクセスするときのアドレスをデコードする。したがって、DMA開始レジスタ232、DMAアドレスレジスタ234、DMAサイズレジスタ236、動作レジスタ222、リセットレジスタ224、アドレスバッファ216、リードバッファ214、ライトバッファ212には、所定のアドレスが割り当てられ、CPU100は、そのアドレスに基づいてアクセスする。また、アレイ型プロセッサ300内のレジスタファイルおよび構成情報メモリに割り当てられたアドレスへのアクセスであった場合、アドレスデコーダ220は、アレイ型プロセッサ300の内部アクセスアドレスを生成してアドレスバッファ216を介してアレイ型プロセッサ300に示し、アレイ型プロセッサ300内のレジスタファイルおよび構成情報メモリをアクセスする。アレイ型プロセッサ300への書き込みの場合は、書き込みデータは、内部バススレーブ回路210、ライトバッファ212を介してアレイ型プロセッサ300へ転送される。読み出しの場合は、アレイ型プロセッサ300から出力される読み出しデータは、リードバッファ214、内部バススレーブ回路210を介して内部バス180へ転送される。DMA回路230は、半導体集積回路装置内外のメモリに格納される構成情報をアレイ型プロセッサ300に転送する。このとき、DMAアドレスレジスタ234に構成情報を格納するメモリのアドレスが設定され、DMAサイズレジスタ236に転送する構成情報のサイズがCPU100によって設定されている。CPU100がDMA開始レジスタ232にDMA転送の開始を指示するデータを書き込むと、構成情報がCPU100を介さずにアレイ型プロセッサ300に転送される。制御回路200は、内部バススレーブ回路210を有するため、CPU100からのメモリアクセスの形式でアレイ型プロセッサ300のリセット/動作開始/動作停止を制御することができる。また、CPU100からアレイ型プロセッサ300の構成情報の書き込みが行える。また、アレイ型プロセッサ300によって実現されるユーザ回路は、内部に形成される内部レジスタに対してCPU100からメモリアクセス形式によりアクセスできる。そのため、CPU100からデータを設定したり読み出したりする必要のあるユーザ回路を実現できる。また、制御回路200は、DMA回路230を有し、半導体集積回路装置内外のメモリに格納される構成情報をアレイ型プロセッサ300内の構成情報メモリ340にCPU100を介さずに転送し、構成情報書き込みができる。アレイ型プロセッサ300は、図2に示されるように、演算器を含むプロセッサユニット310をマトリクス状に配置し、プログラマブルな配線で電気的に接続されて構成される。詳細は後述するが、このプロセッサユニット310には、演算器及びレジスタファイルが内蔵されている。演算器の動作設定や、プログラマブル配線を構成するプログラマブルスイッチの接続設定は、構成情報メモリに格納された構成情報によって設定される。したがって、必要に応じて異なる構成へと変更することが可能である。これにより、アレイ型プロセッサでユーザ所望の回路を実現できる。このようなアレイ型プロセッサ300は、対象処理に応じて、ハードウェア構成接続を変更できるが、従来のFPGAやPLDに比べて面積効率が優れている。図3に、mビット幅の1組のデータを取り込んで処理する場合のFPGAの実装例を模式的に示す。mビット幅の配線がu組実装されているFPGAであれば、mビット幅のデータの1ビットを取り込む場合、プログラマブルスイッチ821は、m×u本の配線の中から1本の配線を選択することになる。その選択を設定する構成情報メモリ811は、入力される信号線の本数が多いため容量が大きくなる。また、1ビット毎にルックアップテーブル822を持ち、そのルックアップテーブル822の構成を設定する構成情報メモリ812を備える。そのため、mビット幅の設定にはm倍の構成情報メモリ812が必要になる。図4には、同じくmビット幅の1組のデータを取り込んで処理する場合のアレイ型プロセッサの実装例を模式的に示す。mビット幅の配線がu組実装されている場合、プログラマブルスイッチ841は、mビットの該当する1ビットの配線を各組から選択するだけでよいため、u本の配線入力となる。したがって、上記に比べ、プログラマブルスイッチ841の構成は格段に簡単になる。したがって、その選択を設定する構成情報メモリ831の容量も少なくて済む。また、演算器842の構成を定義する構成情報メモリ832は、mビット共通に設定できるため、少ない容量でよい。このように、処理の大半をmビットプログラマブルスイッチとmビット演算器を用いて効率的に行うことにより、少ない面積で汎用的な処理が実現できる。図5は、本発明の実施の形態に係るプロセッサユニット310の構成を示す図である。ここでは、プロセッサユニット310は、mビットデータを処理する演算器332と、nビットデータを処理する演算器333とを有するものとするが、mビットデータを処理する演算器332だけを有する構成でもよい。プロセッサユニット310は、スイッチエレメント320と、プロセッサエレメント330と、構成情報メモリ340とを具備する。構成情報メモリ340は、スイッチエレメント320およびプロセッサエレメント330の内部の接続構成を示す構成情報を格納する。スイッチエレメント320は、入力スイッチ322と、出力スイッチ324と、バスコネクタスイッチ326とを備える。入力スイッチ322は、プロセッサエレメント330に、m×u本の配線からm本の配線を選択してmビット幅のデータを供給し、n×v本の配線からn本の配線を選択してnビット幅のデータを供給する。出力スイッチ324は、プロセッサエレメント330から出力される演算結果を示すmビットのデータをu組のうちの設定されるm本の配線に供給し、nビットのデータをv組のうちの所定のn本の配線に供給する。バスコネクタスイッチ326は、縦横に配置されるm本×u組の配線およびn本×v組の配線を接続する。これらのプログラマブルスイッチの接続構成は、構成情報メモリ340に設定される。なお、入力スイッチ322は、プログラマブルスイッチ841に相当する。このようなプログラマブルスイッチにより、任意の接続が可能となるプログラマブル配線が形成される。プロセッサエレメント330は、mビット幅の演算器332と、nビット幅の演算器333と、mビット幅のレジスタファイル336と、nビット幅のレジスタファイル337とを備える。プロセッサエレメント330は、構成情報メモリ340に設定されている構成情報に基づいて、入力されるデータとレジスタファイル336、337に保持されるデータとを用いて演算し、mビット幅およびnビット幅の結果データを出力スイッチ324に出力する。図6は、限られた本数の外部端子とIO機能の割当変更を上述のアレイ型プロセッサ300によって実現する例を示すブロック図である。この例では、2つのUART回路161、162と2つのシリアル通信CSI回路163、164について、10本の外部端子への割当の組み合せを変更することができる。外部端子には、I/Oバッファ400およびIOパッド500が1対1に接続されている。図6には、そのI/Oバッファ400およびIOパッド500までの接続が示されている。なお、以下では、m=8、n=1として説明する。UART回路161、162は、4本の入力信号DCD、DSR、CTS、SIN、3本の出力信号DTR、RTS、SOUTを有する。CSI回路163、164は、2本の入力信号SCK、SIN、1本の出力信号SOUTを有する。UART回路161、162の4本の入力はアレイ型プロセッサ300の8ビット幅の出力端子OUT1[7:0]、OUT2[7:0]に接続され、UART回路161、162の3本の出力はアレイ型プロセッサ300の8ビット幅の入力端子IN1[7:0]、IN2[7:0]に接続される。また、CSI回路163、164の2本の入力はアレイ型プロセッサ300の8ビット幅の出力端子OUT3[7:0]、OUT4[7:0]に接続され、CSI回路163、164のそれぞれの1本の出力はアレイ型プロセッサ300の8ビット幅の入力端子IN3[7:0]、IN4[7:0]に接続される。なお、各CSI/UART回路の入出力端子数は1~4本であり、アレイ型プロセッサ300の8ビット幅の入出力端子に接続すると、未接続が生じる。その場合は上位ビットの端子は接続せずに開放される。また、10本の外部端子IOパッド500はIOバッファ400を介してアレイ型プロセッサ300の1ビット幅の入力端子及び出力端子に接続される。図7に、UART回路161の全端子と、UART回路162の一部端子とを外部端子IOパッド500に割り当て、CSI機能を使用しない場合の構成を示す。アレイ型プロセッサ300の演算器には、ある入力をシフトして別の入力とOR演算するシフトオア命令が設定される。これによって、アレイ型プロセッサ300にまとめて入力される8ビット幅の信号の各々を1ビットずつに分離して1ビット出力端子に接続したり、アレイ型プロセッサ300に1ビットずつ入力される信号を結合して8ビット幅出力端子に接続することができる。この例では、UART回路161の入力信号SIN、CTS、DSR、DCD及びUART回路161の出力信号SOUT、RTS、DTR、UART回路162の入力信号SIN及び出力信号SOUTは、外部端子に割り当てられる。UART回路161の出力端子は、複数本まとめてアレイ型プロセッサ300の8ビット幅の入力端子に入力され、内部の演算器のシフトオア命令で1ビット切り出して0ビット目データの切り出し論理350、1ビット目データの切り出し論理351、2ビット目データの切り出し論理352、アレイ型プロセッサ300の1ビット幅の出力端子に出力され、IOバッファ405~407経由で外部端子IOパッド505~507に電気的に接続される。また、外部端子IOパッド501~504からIOバッファ401~404経由で入力される入力信号は、アレイ型プロセッサ300の1ビット幅の入力端子に入力され、演算器のシフトオア命令で結合され結合論理360、アレイ型プロセッサの8ビット幅の出力端子に出力され、UART回路161へ電気的に接続される。結合論理360は、図8に示されるように、シフトオア命令に設定された内部の演算器361を3段連結して実現される。このシフトオア命令は演算器内部の1ビット左シフトを行う左シフト論理362と、8ビットのデータのオア論理和を算出する論理和363で実現されている。UART回路162の出力端子は、複数本まとめてアレイ型プロセッサ300の8ビット幅の入力端子に入力され、内部の演算器のシフトオア命令で1ビット切り出して0ビット目データの切り出し論理350、アレイ型プロセッサ300の1ビット幅の出力端子に出力され、IOバッファ409経由で外部端子IOパッド509に電気的に接続される。また、外部端子IOパッド508からIOバッファ408経由で入力される入力信号は、アレイ型プロセッサ300の1ビット幅の入力端子に入力され、接続切り替えされてアレイ型プロセッサの8ビット幅の出力端子に出力され、UART回路162へ電気的に接続される。このように、アレイ型プロセッサ300の構成情報を変更することによって、UART回路161およびUART回路162の端子を外部端子IOパッドに割り当てたり、CSI回路163およびCSI回路164を外部端子IOパッドに割り当てたり等、端子割り当てを自由に変更することができるようになる。上述の結合論理360は、図8に示されるように、結合ビット数分のシフトオア命令に設定された演算器361を連結して実現している。これは複数の演算器が必要となり、面積効率が低下する。さらに、複数の演算器を連結することにより遅延が大きくなる。アレイ型プロセッサ300内の演算器に、複数の1ビットデータを複数ビット連結して出力する命令を追加すると効率がよくなる。図9にこのような命令の実装例を示す。図9aには、4本の1ビット入力IN1~IN4を連結して8ビット出力OUTの下位4ビットに出す命令OP1が示される。8ビット出力OUT[7:0]は、{0,0,0,0,IN4,IN3,IN2,IN1}となる。図9bには、4本の1ビット入力IN1~IN4を連結して左4ビットシフトした上で、8ビット入力と論理和をとって8ビット出力OUTに出す命令OP2が示される。8ビット出力OUT[7:0]は、{IN4,IN3,IN2,IN1,0,0,0,0}|IN5となる。このような命令を備えることによって、演算器2つで8本の1ビット入力を連結して8ビット出力に出すことができる。1つの演算器で8本の1ビット入力を8ビット出力に連結しても構わないが、演算器の入力本数を増やすとプログラマブルスイッチの増大につながるため、面積効率が低下する。このような命令を用いて上述の結合論理を実現すると、図9cに示されるように簡略化できる。上述される例では、単純にIO機能の入出力端子間をそのまま接続しているだけであるが、アレイ型プロセッサ300は、自由な論理が実現できる。そのため、半導体集積回路装置上の複数の機能の間を結ぶ論理を実現し、連携動作を実現することもできる。例えば、図10に示されるように、タイマ171~173の3個のタイマ機能を有する半導体集積回路装置の場合、これらのタイマ機能のスタートトリガ、タイマ出力等の入出力端子をアレイ型プロセッサ300に接続する。2つのタイマ171、172のタイマ出力の論理積を取った信号を別のタイマ173のスタートトリガ端子に入力する。タイマ171、172のタイマ出力がHiになったときに別のタイマ173を起動するような動作を実現する場合には、アレイ型プロセッサ300上の演算器で論理積論理を実現することにより容易に実現できる。また、アレイ型プロセッサ300に搭載される演算器には、加算命令や比較命令があるため、図11に示されるように、タイマ自体を数個の演算器およびレジスタを組み合せることにより簡単につくることができる。図11に示されるタイマ機能380は、レジスタ381~383と、比較命令に設定された演算器384、385と、セレクタ命令に設定された演算器386と、加算命令に設定された演算器387とを備える。レジスタ381には、タイマ値の最大値が設定される。レジスタ382には位相を示す判定値が設定される。比較命令に設定された演算器384は、レジスタ381に格納される最大値とタイマの出力値である加算命令に設定された演算器387の出力とを比較し、タイマ値が最大値になるとセレクタ命令に設定された演算器386を制御してカウント値を0にする。カウント値はレジスタ383に保持される。加算命令に設定された演算器387は、レジスタ383に保持されるカウント値に1を加算してタイマ値を更新する。タイマ値は複数ビットのデータであるため、従来のFPGAやPLDでは相当大きな面積が必要となる。このようにアレイ型プロセッサ300はタイマ機能を容易に実現することができる。また、内部レジスタに対してCPU100からメモリアクセス方式により直接アクセスを行えるため、図11に示されるレジスタ381への最大値設定、レジスタ382への判定値設定はCPU100から直接行える。そのため、チップ上のタイマと同じ使い方が可能である。したがって、半導体集積回路装置にタイマ機能が搭載されていない場合、あるいは、半導体集積回路装置上に予め搭載されているタイマの機能がユーザ仕様に合わない場合は、タイマ自体をアレイ型プロセッサで実現することも可能である。また、構成情報メモリが複数ワード構成を持つようなアレイ型プロセッサの場合、複数回路を格納できる。したがって、制御回路200の制御レジスタ例えば動作レジスタ222にCPU100から制御データを書き込むことにより、その制御データに対応する構成情報メモリの読み出しワードを指定する信号を出力することができる。制御回路200から構成情報メモリの読み出しワードを指定する信号を出力することによって、搭載した回路構成を瞬時に切り替えることができる。また、制御回路200が一定時間ごとに切り替え信号を出力することによって、複数の回路の時分割実行も実現できる。時分割実行することによって、大きな規模のユーザ回路を実質的に実現できる。例えば、図12は、時分割実行の例を模式的に示した図である。図12に示されるように、ネットワークのパケット処理のように大きな入力データを処理する場合、一括入力が難しいため時分割でデータを入力することになる。その際、入力されたデータから順に処理を行っていく。最終データが入力された段階で、処理を終了させることができる。この場合も、その時点で入力されるデータおよび前サイクルまでに処理を終えた結果を用いて処理する回路のみが構成されている。このように、処理が必要な時にのみ必要なデータパスが構成され、それ以外の時には構成されないため、全ての回路を常時構成するより必要な面積がずっと少なくて済む。このように、アレイ型プロセッサは、プロセッサエレメントをアレイ状に並べ、プログラマブルな配線で電気的に接続されている。このプロセッサエレメントには、演算器及びレジスタファイルが内蔵されている。演算器の動作設定やプログラマブル配線を構成するプログラマブルスイッチの接続設定は、構成情報メモリに格納された構成情報によって設定される。したがって、必要に応じて異なる構成に変更することが可能である。これにより、アレイ型プロセッサでユーザ所望の回路を実現できる。このアレイ型プロセッサの特徴の一つは、mビットとnビットの2つのビット幅の演算器やプログラマブルスイッチを持っていることである。このようなアレイ型プロセッサは、対象処理に応じてハードウェア構成を変更できる。アレイ型プロセッサの場合、従来のFPGAやPLDに比べて面積効率が優れている。これは、mビット幅のスイッチや演算器の命令は共通の構成情報メモリの値で設定できるためである。FPGAでは1ビットごとに設定しなければならないため、mビット幅の設定にはm倍の構成情報メモリが必要になる。n=1とした場合のnビット演算器/nビットスイッチではFPGAと大差ないが、処理の大半をmビット演算器/mビットスイッチで効率よく行うことで、少ない面積で汎用的な処理が実現できる。また、構成情報メモリが複数ワード構成を持つようなアレイ型プロセッサの場合、複数の構成情報を格納することができる。これを時分割で切り替えることによりさらに面積効率を良くすることができる。例えば、構成情報メモリのワード数を倍にする場合、構成情報メモリ以外の回路部分はほとんど変えずに実現でき、時分割で切り替えることによって実現できる回路はトータルで倍になるため、面積効率が向上する。構成情報メモリが複数ワード構成を持つようなアレイ型プロセッサの場合に、複数の回路を搭載して高速に切り替えたり、時分割実行することによって、大きな規模のユーザ回路規模を実質的に実現できる。本発明に係る半導体集積回路装置は、システムLSIやマイクロコントローラに、このようなmビット/nビット幅演算器の接続関係をmビット/nビット幅のプログラマブルスイッチで自由に変更できるアレイ型プロセッサ、及び制御回路を搭載する半導体集積回路装置である。このアレイ型プロセッサによって外部端子のIO機能への割り当てを変更したり、内部マクロ同士の接続を切り替えられるようにし、単一チップで複数の製品ラインアップを用意したり、顧客ごとに異なる要求に対応できる。以上、実施の形態を参照して本願発明を説明したが、上記実施の形態は、矛盾のない限り組み合わせて実施可能である。また、本願発明は上記実施の形態に限定されるものではなく、本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。"