"複数個のメモリマクロと、外部と接続される複数個の外部端子を備え、各外部端子は、対応するメモリマクロと接続される、半導体記憶装置。前記複数個のメモリマクロは、グループに分割され、グループを単位としたアクセスか、各メモリマクロに対するアクセスかを切替えるための切替回路を備える、請求項1記載の半導体記憶装置。前記切替回路は、グループを単位としたアクセスのときには、前記グループに属する特定のメモリマクロに対応する外部端子から入力されるアドレスに含まれるセレクトアドレスに基づいて、前記グループに属するいずれかのメモリマクロを選択して、前記選択したメモリマクロにアクセスが行なわれるように設定する、請求項2記載の半導体記憶装置。前記各メモリマクロに対応する外部端子は、第1のデータ入出力端子および第2のデータ入出力端子を含み、前記半導体記憶装置は、さらに、前記各メモリマクロと、前記第1のデータ入出力端子および前記第2のデータ入出力端子との間に設けられたアービタを備え、前記アービタは、第1のモードにおいて、データの書込みにおいて、前記第1のデータ入出力端子および前記第2のデータ入出力端子のうちの一方からのライトデータを前記メモリマクロへ出力し、データの読出しにおいて、前記メモリマクロからのライトデータを、前記第1のデータ入出力端子および前記第2のデータ入出力端子のうちの他方へ出力し、第2のモードにおいて、データの書込み時には、前記第1のデータ入出力端子および前記第2のデータ入出力端子の両方からのライトデータを前記メモリマクロへ出力し、データの読出し時には、前記メモリマクロからのリードデータを、前記第1のデータ入出力端子および前記第2のデータ入出力端子へ出力する、請求項1記載の半導体記憶装置。1つのグループを構成するメモリマクロのメンバを可変とするための切替回路を備える、請求項1記載の半導体記憶装置。しかしながら、特許文献1特開2001-167586号公報では、外部から与えられるアドレス信号、命令信号、およびデータ信号は、1種類である。したがって、個々の装置は、単独に動作できたとしても、外部との間での入出力のための時間がかかり、結果として処理速度を向上することができない。それゆえに、本発明の目的は、複数のメモリマクロを備え、かつメモリマクロへの入出力を並行して行なうことができる半導体記憶装置を提供することである。本発明の一実施形態の半導体記憶装置は、複数個のメモリマクロと、外部と接続される複数個の外部端子を備え。各外部端子は、対応するメモリマクロと接続される。本発明の一実施形態の半導体記憶装置によれば、複数のメモリマクロを備え、かつメモリマクロへの入出力を並行して行なうことができる。以下、本発明の実施形態について図面を参照して説明する。[第1の実施形態]構成図1は、第1の実施形態の半導体記憶装置の構成を表わす図である。この半導体記憶装置1は、1つのメモリチップであって、N1個のメモリマクロ0~N2_0~2_Nと、2つのコントローラ0~13_0,3_1と、外部と接続される外部端子P0_0~PN_0、P0_1~PN_1、P0_2~PN_2、P0_3~PN_3とを含む。コントローラ03_0は、ユーザのプログラムにしたがって、メモリマクロ0~メモリマクロLを制御する。コントローラ13_1は、ユーザのプログラムにしたがって、メモリマクロM~メモリマクロNを制御する。ただし、0≦L<Nであり、M=L1である。外部端子Pi_0~Pi_3は、メモリマクロiと接続するi=0~N。外部端子Pi_0は、外部からマクロ選択信号msiを受けて、メモリマクロiへ出力する。外部端子Pi_1は、外部からアドレス信号adriを受けて、メモリマクロiへ出力する。外部端子Pi_2は、外部からライトデータdataiを受けて、メモリマクロiへ出力する。外部端子Pi_3が、メモリマクロiからリードデータqiを受けて、外部へ出力する。メモリマクロiは、外部端子Pi_0~Pi_3を経由して入出力される信号およびデータにしたがって、通常のリードまたはライト動作を行う。また、メモリマクロ0~Nは、独立に動作することが可能であり、並列にリードまたはライトを実行することもできる。効果以上のように、本実施の形態によれば、1つのデバイス半導体記憶装置に対してN1系統N1チャネルのマクロ選択信号、アドレス信号、リードデータ、ライトデータを入出力する外部端子を割り当てることによって、1デバイスで、並列のメモリ動作が可能になる。したがって、多並列動作が可能によりマルチコアなどの多並列コントローラへ対応することができる。また、画像処理やネットワーク処理における同時に多数のメモリにアクセルすることが求められるアプリケーションへの対応も1メモリデバイスのみで可能となる。これにより、ボードの小面積化や低消費電力化の効果が期待できる。[第2の実施形態]構成図2は、第2の実施形態の半導体記憶装置の構成を表わす図である。図2を参照して、この半導体記憶装置2が、図1の半導体記憶装置と相違する点は、メモリマクロ0~Nの各々は、n1個のグループのうちのいずれかに属することである。グループiは、切替器i20_iを含むi=0~n。切替器iは、グループを単位としたアクセスか、各メモリマクロに対するアクセスかを切替える。より、具体的には、切替器iは、グループを単位としたアクセスのときには、グループに属する特定のメモリマクロに対応する外部端子から入力されるセレクトアドレスに基づいて、グループに属するいずれかのメモリマクロを選択して、選択したメモリマクロにアクセスが行なわれるようにする。切替器図3は、切替器0の一部の構成およびデータの書込み時の動作を説明するための図である。切替器1~nの構成およびデータの書込み時の動作もこれと同様である。図3を参照して、メモリマクロ0、1のデータ入力端子Dには、ライトデータが入力される、メモリマクロ0、1のアドレス端子Aには、アドレス信号が入力される。メモリマクロ0、1のイネーブル端子MSには、マクロ選択信号またはイネーブル信号が入力される。イネーブル端子MSに入力される信号がハイレベルのときに限り、メモリマクロ0、1は、リードまたはライト動作を行なう。切替器020_0は、セレクタ9,10,11,12,13と、アドレス生成器5とを備える。モードレジスタ8は、コントローラ0に含まれる。モードレジスタ8は、メモリマクロ0およびメモリマクロ1を1つのグループとして、グループとしてアクセスするときには、ハイレベルのグループアクセス指定信号GRを出力する。モードレジスタ8は、メモリマクロ0およびメモリマクロ1をメモリマクロ単位でアクセスするときには、ロウレベルのグループアクセス指定信号GRを出力する。セレクタ9は、外部からのアドレス信号adr0と、アドレス生成器5からのマクロアドレスMADとを受けて、いずれかをメモリマクロ0のアドレス端子Aへ供給する。セレクタ9は、モードレジスタ8からのグループアクセス指定信号GRがハイレベルのときには、マクロアドレスMADをメモリマクロ0のアドレス端子Aへ供給する。セレクタ9は、モードレジスタ8からのグループアクセス指定信号GRがロウレベルのときには、外部からのアドレス信号adr0をメモリマクロ0のアドレス端子Aへ供給する。セレクタ10は、外部からのマクロ選択信号ms0と、アドレス生成器5からのイネーブル信号mms0とを受けて、いずれかをメモリマクロ0のイネーブル端子MSへ供給する。セレクタ10は、モードレジスタ8からのグループアクセス指定信号GRがハイレベルのときには、イネーブル信号mms0をメモリマクロ0のイネーブル端子MSへ供給する。セレクタ9は、モードレジスタ8からのグループアクセス指定信号GRがロウレベルのときには、外部からのマクロ選択信号ms0をメモリマクロ0のイネーブル端子MSへ供給する。セレクタ12は、外部からのアドレス信号adr1と、アドレス生成器5からのマクロアドレスMADとを受けて、いずれかをメモリマクロ1のアドレス端子Aへ供給する。セレクタ12は、モードレジスタ8からのグループアクセス指定信号GRがハイレベルのときには、マクロアドレスMADをメモリマクロ1のアドレス端子Aへ供給する。セレクタ12は、モードレジスタ8からのグループアクセス指定信号GRがロウレベルのときには、外部からのアドレス信号adr1をメモリマクロ1のアドレス端子Aへ供給する。セレクタ13は、外部からのマクロ選択信号ms1と、アドレス生成器5からのイネーブル信号mms1とを受けて、いずれかをメモリマクロ1のイネーブル端子MSへ供給する。セレクタ13は、モードレジスタ8からのグループアクセス指定信号GRがハイレベルのときには、イネーブル信号mms1をメモリマクロ1のイネーブル端子MSへ供給する。セレクタ13は、モードレジスタ8からのグループアクセス指定信号GRがロウレベルのときには、外部からのマクロ選択信号ms1をメモリマクロ1のイネーブル端子MSへ供給する。セレクタ11は、外部からのライトデータdata0と、data1とを受けて、いずれかをメモリマクロ1のデータ入力端子Dへ供給する。セレクタ11は、モードレジスタ8からのグループアクセス指定信号GRがハイレベルのときには、ライトデータdata0をメモリマクロ1のデータ入力端子Dへ供給する。セレクタ11は、モードレジスタ8からのグループアクセス指定信号GRがロウレベルのときには、ライトデータdata1をメモリマクロ1のデータ入力端子Dへ供給する。図4は、切替器0の一部の構成およびデータの読出し時の動作を説明するための図である。切替器1~nの構成およびデータの書込み時の動作もこれと同様である。切替器120_1は、セレクタ9,10,12,13,14,15と、アドレス生成器5とを備える。モードレジスタ8は、コントローラ0に含まれる。セレクタ9は、外部からのアドレス信号adr0と、アドレス生成器5からのマクロアドレスMADを受けて、いずれかをメモリマクロ0のアドレス端子Aへ供給する。セレクタ9は、モードレジスタ8からのグループアクセス指定信号GRがハイレベルのときには、マクロアドレスMADをメモリマクロ0のアドレス端子Aへ供給する。セレクタ9は、モードレジスタ8からのグループアクセス指定信号GRがロウレベルのときには、外部からのアドレス信号adr0をメモリマクロ0のアドレス端子Aへ供給する。セレクタ10は、外部からのマクロ選択信号ms0と、アドレス生成器5からのイネーブル信号mms0を受けて、いずれかをメモリマクロ0のイネーブル端子MSへ供給する。セレクタ10は、モードレジスタ8からのグループアクセス指定信号GRがハイレベルのときには、イネーブル信号mms0をメモリマクロ0のイネーブル端子MSへ供給する。セレクタ9は、モードレジスタ8からのグループアクセス指定信号GRがロウレベルのときには、外部からのマクロ選択信号ms0をメモリマクロ0のイネーブル端子MSへ供給する。セレクタ12は、外部からのアドレス信号adr1と、アドレス生成器5からのマクロアドレスMADを受けて、いずれかをメモリマクロ1のアドレス端子Aへ供給する。セレクタ12は、モードレジスタ8からのグループアクセス指定信号GRがハイレベルのときには、マクロアドレスMADをメモリマクロ1のアドレス端子Aへ供給する。セレクタ12は、モードレジスタ8からのグループアクセス指定信号GRがロウレベルのときには、外部からのアドレス信号adr1をメモリマクロ1のアドレス端子Aへ供給する。セレクタ13は、外部からのマクロ選択信号ms1と、アドレス生成器5からのイネーブル信号mms1を受けて、いずれかをメモリマクロ1のイネーブル端子MSへ供給する。セレクタ13は、モードレジスタ8からのグループアクセス指定信号GRがハイレベルのときには、イネーブル信号mms1をメモリマクロ1のイネーブル端子MSへ供給する。セレクタ13は、モードレジスタ8からのグループアクセス指定信号GRがロウレベルのときには、外部からのマクロ選択信号ms1をメモリマクロ1のイネーブル端子MSへ供給する。セレクタ14は、メモリマクロ0のデータ出力端子Qからのリードデータqq0と、メモリマクロ1のデータ出力端子Qからのリードデータq1とを受けて、いずれかをセレクタ15へ出力する。セレクタ14は、アドレス生成器5からの出力選択信号q_selがハイレベルのときには、メモリマクロ0からのリードデータqq0をセレクタ15へ出力する。セレクタ14は、アドレス生成器5からの出力選択信号q_selがロウレベルのときには、メモリマクロ1からのリードデータq1をセレクタ15へ出力する。セレクタ15は、セレクタ14の出力信号と、メモリマクロ0のデータ出力端子Qからのリードデータqq0とを受ける。セレクタ15は、モードレジスタ8からのグループアクセス指定信号GRがハイレベルのときには、セレクタ14の出力信号を外部へ出力する。セレクタ15は、モードレジスタ8からのグループアクセス指定信号GRがロウレベルのときには、メモリマクロ0からのリードデータqq0を外部へ出力する。アドレス生成器図5は、図3および図4に含まれるアドレス生成器の構成を表わす図である。アドレス生成器5は、デコーダ6と、エンコーダ7とを備える。グループを単位としてアクセスするときには、アドレス信号adr0は、マクロアドレスMADと、セレクトアドレスSADとを含む。マクロアドレスMADは、各メモリマクロ内のメモリセルを指定するアドレスである。セレクトアドレスSADは、メモリマクロ0とメモリマクロ1のいずれか指定するアドレスである。アドレス生成器5は、マクロアドレスMADをセレクタ9とセレクタ12へ出力する。セレクトアドレスSADは、デコーダ6およびエンコーダ7に与えられる。デコーダ6は、イネーブル信号mms0をセレクタ10へ出力し、イネーブル信号mms1をセレクタ11へ出力する。デコーダ6は、外部からのマクロ選択信号ms0がハイレベルに活性化され、かつセレクトアドレスSADがメモリマクロ0を指定するときには、イネーブル信号mms0をハイレベルに活性化し、イネーブル信号mms1をロウレベルに非活性化する。デコーダ6は、外部からのマクロ選択信号ms0がハイレベルに活性化され、かつセレクトアドレスSDAがメモリマクロ1を指定するときには、イネーブル信号mms0をロウレベルに非活性化し、イネーブル信号mms1をハイレベルに活性化する。デコーダ6は、外部からのマクロ選択信号ms0がロウレベルに非活性化されているときには、イネーブル信号mms0をロウレベルに非活性化し、イネーブル信号mms1をロウレベルに非活性化する。エンコーダ7は、外部からのマクロ選択信号ms0がハイレベルに活性化され、かつセレクトアドレスSADがメモリマクロ0を指定するときには、メモリマクロ0の出力選択を表わすように出力選択信号q_selをハイレベル設定する。エンコーダ7は、外部からのマクロ選択信号ms0がハイレベルに活性化され、かつセレクトアドレスがメモリマクロ1を指定するときには、メモリマクロ1の出力選択を表わすように出力選択信号q_selをロウレベルに設定する。効果以上のように、本実施の形態によれば、複数のメモリマクロが存在する場合に、グループを単位としたアクセスか、各メモリマクロに対するアクセスかを切替えることができるので、多様なコントローラへの対応が期待できる。[第3の実施形態]外部との間でデータの授受を行なう外部端子に関して、コモンIOとセパレートIOの2つの方式がある。コモンIOでは、1つの外部端子が、メモリへのデータの書込みと、メモリからのデータの読出しを兼用する。セパレートIOでは、メモリへのデータの書出しのための外部端子と、メモリからのデータの読出しのための外部端子とを別個備える。メモリを使用するアプリケーションによって、コモンIOとセパレートIOのうちのいずれが適しているが相違する。たとえば、動作のほとんどが読み出しであるようなアプリケーションでは、同じピン数での転送速度を上げるためにコモンIOが好ましい。一方、読み出しと書き込みの割合が近いアプリケーションでは、セパレートIOが好まれる。その理由は、コモンIOでは読み出しと書き込みの切り替え時、データ線での衝突を避けるためにコマンド間隔を開ける必要があるため、システム性能が下がるためである。本実施形態では、外部端子をコモンIOの端子として動作させるモード以下、コモンIOモードと、セパレートIOの端子として動作させるモードセパレートIOモードとを切替えることができる半導体記憶装置について説明する。図6aは、メモリマクロ0がセパレートIOモードで動作するときの例を表わす図である。データの書込みにおいて、外部端子P0_2には、nビットのライトデータdata<n-1:0>が入力され、アービタ030_0を介して、メモリマクロ0へ送られる。データの読出しでは、メモリマクロ0から出力されたnビットのリードデータq<n-1:0>がアービタ0を介して、外部端子P0_3へ出力される。図6bは、メモリマクロがコモンIOモードで動作するときの例を表わす図である。データの書込時には、外部端子P0_2およびP0_3には、2nビットのライトデータdq<2n-1:0>が入力され、アービタ0を介して、メモリマクロ0へ送られる。データの読出し時には、メモリマクロ0から出力された2nビットのリードデータdq<2n-1:0>がアービタ0を介して、外部端子P0_2およびP0_3へ出力される。図7は、半導体記憶装置内のメモリマクロがそれぞれ別個のモードで動作する例を表わす図である。図7に示すように、メモリマクロ0およびメモリマクロ1は、セパレートIOモードで動作する。メモリマクロ2およびメモリマクロNは、コモンIOモードで動作する。図8は、アービタの動作を説明するための図である。図8を参照して、アービタ0は、メモリマクロ0と、外部端子P0_2および外部端子P0_3との間に設けられる。アービタ0は、セパレートIOモードにおいて、外部端子P0_2からのnビットのライトデータdata<n-1:0>をメモリマクロ0のデータ入力端子D0~Dn-1へ出力する。アービタ0は、セパレートIOモードにおいて、メモリマクロ0のデータ出力端子Q0~Qn-1からのnビットのリードデータq<n-1:0>を外部端子P0_3へ出力する。アービタ0は、コモンIOモードにおいて、データの書込み時には、外部端子P0_2からのnビットのライトデータdq<n-1:0>および外部端子P0_3からのnビットのライトデータdq<2n-1:n>をメモリマクロ0のデータ入力端子D0~D2n-1へ出力する。アービタ0は、コモンIOモードにおいて、データの読出し時には、メモリマクロ0のデータ出力端子Q0~Qn-1からのnビットのリードデータdq<n-1:0>外部端子P0_2に出力し、メモリマクロ0のデータ出力端子Qn~Q2n-1からのnビットのリードデータdq<2n-1:n>外部端子P0_3に出力する。以上のように、本実施の形態によれば、コモンIOモードとセパレートIOモードの両方のモードを有するので、さまざまなアプリケーションに対応した使い勝手がよい半導体記憶装置を提供することができる。[第4の実施形態]図9は、グループに属するメモリマクロのメンバを可変にする構成および動作を説明するための図である。アドレス生成器51_0は、外部からアドレス信号adr0と、マクロ選択信号ms0とを受ける。アドレス信号adr0は、グループを単位としてアクセスするときには、マクロアドレスMAD0と、セレクトアドレスSAD0とを含む。アドレス生成器51_0は、外部からアドレス信号adr0を受けたときに、アドレス信号adr0をそのままセレクタ65へ出力する。アドレス生成器51_0は、外部からアドレス信号adr0を受けたときに、それがマクロアドレスMAD0と、セレクトアドレスSAD0とを含むときには、マクロアドレスMAD0をセレクタ65,66,67,68へ出力する。アドレス生成器51_0は、外部からマクロ選択信号ms0を受けたときには、マクロ選択信号ms0をそのままセレクタ61へ出力する。アドレス生成器51_0は、外部からハイレベルのマクロ選択信号ms0を受け、かつ外部からマクロアドレスMAD0とセレクトアドレスSAD0とを含むアドレス信号adr0を受けたときに限り、ハイレベルのイネーブル信号mms0をセレクタ61,62,63,64へ出力する。セレクタ61は、アドレス生成器51_1からイネーブル信号mms0とマクロ選択信号ms0とを受けて、選択信号S1に従って、いずれかをメモリマクロ0のイネーブル端子MSへ出力する。なお、選択信号S1が与えられない場合には、メモリマクロ0のイネーブル端子MSへはデフォルトのロウレベルの信号が送られる。セレクタ65は、アドレス生成器51_1からアドレス信号adr0と、マクロアドレスMAD0とを受けて、選択信号S1に従って、いずれかをメモリマクロ0のアドレス端子Aへ出力する。アドレス生成器51_1は、外部からアドレス信号adr1と、マクロ選択信号ms1とを受ける。アドレス信号adr1は、グループを単位としてアクセスするときには、マクロアドレスMAD1と、セレクトアドレスSAD1とを含む。アドレス生成器51_1は、外部からアドレス信号adr1を受けたときに、アドレス信号adr1をそのままセレクタ66へ出力する。アドレス生成器51_1は、外部からアドレス信号adr1を受けたときに、それがマクロアドレスMAD1と、セレクトアドレスSAD1とを含むときには、マクロアドレスMAD1をセレクタ66,67,68へ出力する。アドレス生成器51_1は、外部からマクロ選択信号ms1を受けたときには、マクロ選択信号ms1をそのままセレクタ62へ出力する。アドレス生成器51_1は、外部からハイレベルのマクロ選択信号ms1を受け、かつ外部からマクロアドレスMAD1とセレクトアドレスSAD1とを含むアドレス信号adr1を受けたときに限り、ハイレベルのイネーブル信号mms1をセレクタ62,63,64へ出力する。セレクタ62は、アドレス生成器51_0からイネーブル信号mms0を受け、かつアドレス生成器51_1からイネーブル信号mms1とマクロ選択信号ms1とを受けて、選択信号S2に従って、いずれかをメモリマクロ1のイネーブル端子MSへ出力する。なお、選択信号S2が与えられない場合には、メモリマクロ1のイネーブル端子MSへはデフォルトのロウレベルの信号が送られる。セレクタ66は、アドレス生成器51_0からマクロアドレスMAD0を受け、かつアドレス生成器51_1からアドレス信号adr1と、マクロアドレスMAD1とを受けて、選択信号S2に従って、いずれかをメモリマクロ1のアドレス端子Aへ出力する。セレクタ69は、外部からライトデータdata0およびライトデータdata1を受けて、選択信号LS1に従って、いずれかをメモリマクロ1のデータ入力端子Dへ出力する。アドレス生成器51_2は、外部からアドレス信号adr2と、マクロ選択信号ms2とを受ける。アドレス信号adr2は、グループを単位としてアクセスするときには、マクロアドレスMAD2と、セレクトアドレスSAD2とを含む。アドレス生成器51_2は、外部からアドレス信号adr2を受けたときに、アドレス信号adr2をそのままセレクタ67へ出力する。アドレス生成器51_2は、外部からアドレス信号adr2を受けたときに、それがマクロアドレスMAD2と、セレクトアドレスSAD2とを含むときには、マクロアドレスMAD2をセレクタ67,68へ出力する。アドレス生成器51_2は、外部からマクロ選択信号ms2を受けたときには、マクロ選択信号ms2をそのままセレクタ63へ出力する。アドレス生成器51_2は、外部からハイレベルのマクロ選択信号ms2を受け、かつ外部からマクロアドレスMAD2とセレクトアドレスSAD2とを含むアドレス信号adr2を受けたときに限り、ハイレベルのイネーブル信号mms2をセレクタ63,64へ出力する。セレクタ63は、アドレス生成器51_0からイネーブル信号mms0を受け、かつアドレス生成器51_1からイネーブル信号mms1を受け、かつアドレス生成器51_2からイネーブル信号mms2とマクロ選択信号ms2とを受けて、選択信号S3に従って、いずれかをメモリマクロ2のイネーブル端子MSへ出力する。なお、選択信号S3が与えられない場合には、メモリマクロ2のイネーブル端子MSへはデフォルトのロウレベルの信号が送られる。セレクタ67は、アドレス生成器51_0からマクロアドレスMAD0を受け、かつアドレス生成器51_1からマクロアドレスMAD1を受け、かつアドレス生成器51_2からアドレス信号adr2と、マクロアドレスMAD2とを受けて、選択信号S3に従って、いずれかをメモリマクロ2のアドレス端子Aへ出力する。セレクタ70は、外部からライトデータdata0、ライトデータdata1、およびライトデータdata1を受けて、選択信号LS2に従って、いずれかをメモリマクロ2のデータ入力端子Dへ出力する。アドレス生成器51_3は、外部からアドレス信号adr3と、マクロ選択信号ms3とを受ける。アドレス信号adr3は、グループを単位としてアクセスするときには、マクロアドレスMAD3、セレクトアドレスSAD3とを含む。アドレス生成器51_3は、外部からアドレス信号adr3を受けたときに、アドレス信号adr3をそのままセレクタ68へ出力する。アドレス生成器51_3は、外部からアドレス信号adr3を受けたときに、それがマクロアドレスMAD3と、セレクトアドレスSAD3とを含むときには、マクロアドレスMAD3をセレクタ68へ出力する。アドレス生成器51_3は、外部からマクロ選択信号ms3を受けたときには、マクロ選択信号ms3をそのままセレクタ64へ出力する。アドレス生成器51_3は、外部からハイレベルのマクロ選択信号ms3を受け、かつ外部からマクロアドレスMAD3とセレクトアドレスSAD3とを含むアドレス信号adr3を受けたときに限り、ハイレベルのイネーブル信号mms3をセレクタ64へ出力する。セレクタ64は、アドレス生成器51_0からイネーブル信号mms0を受け、かつアドレス生成器51_1からイネーブル信号mms1を受け、かつアドレス生成器51_2からイネーブル信号mms2を受け、かつアドレス生成器51_3からイネーブル信号mms3とマクロ選択信号ms3とを受けて、選択信号S4に従って、いずれかをメモリマクロ3のイネーブル端子MSへ出力する。なお、選択信号S4が与えられない場合には、メモリマクロ3のイネーブル端子MSへはデフォルトのロウレベルの信号が送られる。セレクタ68は、アドレス生成器51_0からマクロアドレスMAD0を受け、かつアドレス生成器51_1からマクロアドレスMAD1を受け、かつアドレス生成器51_2からマクロアドレスMAD2を受け、かつアドレス生成器51_3からアドレス信号adr3と、マクロアドレスMAD3とを受けて、選択信号S4に従って、いずれかをメモリマクロ3のアドレス端子Aへ出力する。セレクタ71は、外部からライトデータdata0、ライトデータdata1、ライトデータdata2、およびライトデータdata3を受けて、選択信号LS3に従って、いずれかをメモリマクロ3のデータ入力端子Dへ出力する。アクセスの例1メモリマクロ0~メモリマクロ3をすべてメモリマクロ単位でアクセスする場合には、外部からライトデータdata0~data3、アドレス信号adr0~adr3、ハイレベルのマクロ選択信号ms0~ms3が与えられる。この場合には、アドレス信号adrii=0~3は、マクロアドレスMADiおよびセレクトアドレスSADiを含まない。選択信号S1によって、セレクタ65は、アドレス信号adr0を選択して出力し、セレクタ61は、マクロ選択信号ms0を選択して出力する。選択信号S2によって、セレクタ66は、アドレス信号adr1を選択して出力し、セレクタ62は、マクロ選択信号ms1を選択して出力する。選択信号S3によって、セレクタ67は、アドレス信号adr2を選択して出力し、セレクタ63は、マクロ選択信号ms2を選択して出力する。選択信号S4によって、セレクタ68は、アドレス信号adr3を選択して出力し、セレクタ64は、マクロ選択信号ms3を選択して出力する。選択信号LS1によって、セレクタ69は、ライトdata1を選択して出力する。選択信号LS2によって、セレクタ70は、ライトdata2を選択して出力する。選択信号LS3によって、セレクタ71は、ライトdata3を選択して出力する。以上の動作によって、メモリマクロ0~メモリマクロ3は、単独で動作することができ、また4つのメモリマクロを同時に動作させることもできる。アクセスの例2メモリマクロ0~メモリマクロ3のうち、メモリマクロ0およびメモリマクロ1を第1のグループとし、メモリマクロ2およびメモリマクロ3を第2のグループとし、グループ単位でアクセスする場合には、外部からライトデータdata0,data2、アドレス信号adr0,adr2、ハイレベルのマクロ選択信号ms0,ms2が与えられる。アドレス信号adr0は、マクロアドレスMAD0とセレクトアドレスSAD0とを含む。アドレス信号adr2は、マクロアドレスMAD2とセレクトアドレスSAD2とを含む。セレクトアドレスSAD0が、メモリマクロ1を指定し、セレクトアドレスSAD2が、メモリマクロ2を指定するものとする。選択信号S2によって、セレクタ66は、マクロアドレスMAD0を選択して出力し、セレクタ62は、イネーブル信号mms0を選択する。選択信号LS1によって、セレクタ69は、ライトdata0を選択する。選択信号S3によって、セレクタ67は、マクロアドレスMAD2を選択し、セレクタ63は、イネーブル信号mms2を選択する。選択信号LS2によって、セレクタ70は、ライトdata2を選択する。以上の動作によって、メモリマクロ0およびメモリマクロ1を第1のグループのメンバに設定し、メモリマクロ2およびメモリマクロ3を第2のグループのメンバに設定することができる。アクセスの例3メモリマクロ0~メモリマクロ3のうち、メモリマクロ0をメモリマクロ単位でアクセスし、メモリマクロ1~メモリマクロ3をグループ単位でアクセスする場合には、外部からライトデータdata0,data1、アドレス信号adr0,adr1、ハイレベルのマクロ選択信号ms0,ms1が与えられる。アドレス信号adr0は、マクロアドレスMAD0とセレクトアドレスSAD0とを含まない。アドレス信号adr1は、マクロアドレスMAD1とセレクトアドレスSAD1とを含む。セレクトアドレスSAD1が、メモリマクロ3を指定するものとする。選択信号S1によって、セレクタ65は、アドレス信号adr0を選択して出力し、セレクタ61は、マクロ選択信号ms0を選択して出力する。選択信号S4によって、セレクタ68は、マクロアドレスMAD1を選択して出力し、セレクタ64は、イネーブル信号mms1を選択する。選択信号LS3によって、セレクタ71は、ライトdata1を選択する。以上の動作によって、メモリマクロ0を単独アクセスの対象に設定し、メモリマクロ1~メモリマクロ3を1つのグループのメンバに設定することができる。本実施の形態では、4個のメモリマクロを有する場合について説明したが、これに限定されるものではない。たとえば、N個のメモリマクロを有する場合であっても、本実施の形態のようにアドレス生成器とセレクタを配置することでグループに属するメモリマクロのメンバを可変にすることが可能である。今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。"