(57)【特許請求の範囲】
【請求項１】
制御手段から出力されるアドレスであって、ワード単位でデータの書き込み／読み出しが行われる記憶手段のアドレスに記憶されているデータの一部を、前記制御手段から出力されるデータによって書き替えるデータ書込回路において、
前記制御手段から出力されるモード指定データを受けてバイト単位、ハーフワード単位、ワード単位の書き替えを指定する第１〜第３のモードデータを出力するモードデータ出力手段と、
前記記憶手段の出力データの第０〜第３バイトが各々第１の入力端へ加えられ、前記制御手段から出力される書込データの第０〜第３バイトが各々第２の入力端へ加えられる第１〜第４のセレクタと、
前記モードデータがバイト単位を指定するデータであった時、前記アドレスの第０、第１ビットをデコードしてその結果に従って前記第１〜第４のセレクタへ選択信号を出力し、前記モードデータがハーフワード単位を指定するデータであった時、前記アドレスの第１ビットに従って前記第１〜第４のセレクタへ選択信号を出力し、前記モードデータがワード単位のデータであった時、前記第２の入力端を選択する選択信号を前記第１〜第４のセレクタへ出力する選択信号形成回路と、
前記制御手段から出力されるアドレスの第０ビットおよび第１ビットを除いたデータを、前記選択信号に基づいて前記第１〜第４のセレクタから出力されるデータを書き込むアドレスとして前記記憶手段へのアドレス端子へ供給する手段と、
を具備し、
前記制御手段から出力される書込データは、前記モードデータがバイト単位を指定するデータであった時にはバイト単位の同一のデータが複数個並べられてワード単位のデータとされたものであり、前記モードデータがハーフワード単位を指定するデータであった時にはハーフワード単位の同一のデータが複数個並べられてワード単位のデータとされたものであり、前記モードデータがワード単位を指定するデータであった時には一のワード単位のデータであることを特徴とするデータ書込回路。
【請求項２】
前記制御手段はコンピュータであり、前記記憶手段は半導体メモリであることを特徴とする請求項１に記載のデータ書込回路。
【請求項３】
前記記憶手段はレジスタであることを特徴とする請求項１または請求項２に記載のデータ書込回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体等によるメモリにデータを書き込むデータ書込回路に係り、特に、コンピュータやＤＳＰ（ディジタルシグナルプロセッサ）等による制御回路の単位ビット数と異なる単位ビット数でデータ書き込みを行うことができるデータ書込回路に関する。
【０００２】
【従来の技術】
近年、小型コンピュータのＣＰＵ（中央処理装置）は３２ビットが主流であり、半導体メモリも３２ビット単位でデータの書込／読出が行われる。しかし、従来から存在するソフトウエアには、バイト（８ビット）単位でメモリの書込／読出を行うものが存在し、このため、３２ビットＣＰＵを用いてバイトアクセスを行うことができる回路が要求されている。
【０００３】
図１１は、従来の３２ビットＣＰＵによるバイトアクセスを実現する回路構成を示すブロック図である。この図において、符号１は３２ビットＣＰＵ、２ａ〜２ｄはバイト単位で書込／読出が行われるＳＲＡＭ（スタティックＲＡＭ）、３はバイトアクセスを実現するためのコントロール回路である。ＣＰＵ１から出力されるアドレスＡ(31:00)の第０ビット、第１ビットはコントロール回路３へ供給され、第２ビット〜第３１ビット（アドレスＡ(31:02)）がＳＲＡＭ２ａ〜２ｄのアドレス端子ａ(n:0)へ共通に供給されている。また、ＳＲＡＭ２ａのデータ入力端子ｉ(7:0)とデータ出力端子ｏ(7:0)が共通接続されて、ＣＰＵ１のデータ端子Ｄ(31:00)の第０ビット〜第７ビットに接続され、・・・、ＳＲＡＭ２ｄのデータ入力端子ｉ(31:24)とデータ出力端子ｏ(31:24)が共通接続されて、ＣＰＵ１のデータ端子Ｄ(31:00)の第２４ビット〜第３１ビットに接続されている。また、ＣＰＵ１からバイトアクセス／ワード（３２ビット）アクセスを指定する信号ＶＡがコントロール回路３へ供給される。
【０００４】
このような構成において、ＣＰＵ１がワード単位の書き込みを行う場合は、信号ＶＡ”０”をコントロール回路３へ出力し、アドレスＡ(31:02)をＳＲＡＭ２ａ〜２ｄへ出力し、書込データＤ(31:00)の第０〜第７ビットをＳＲＡＭ２ａへ、・・・、第２４〜第３１ビットをＳＲＡＭ２ｄへ出力する。なお、この場合、アドレスＡの第０、第１ビットは回路動作と関係しない。ＣＰＵ１から信号ＶＡ”０”が出力されると、コントロール回路３がそれを検知し、ＳＲＡＭ２ａ〜２ｄへ各々ライトエネーブル信号ＷＥＮａ〜ＷＥＮｄを出力する。これにより、ＣＰＵ１から出力されたデータＤ(31:00)がＳＲＡＭ２ａ〜２ｄに書き込まれる。
【０００５】
一方、ＣＰＵ１がバイト単位の書き込みを行う場合は、信号ＶＡ”１”をコントロール回路３へ出力し、アドレスＡ(31:02)をＳＲＡＭ２ａ〜２ｄへ出力し、アドレスＡ(1)、Ａ(0)をコントロール回路３へ出力し、書込データＤをＳＲＡＭ２ａ〜２ｄへ共通に出力する。コントロール回路３は、信号ＶＡ”１”を受け、アドレスＡ(1)、Ａ(0)が示すＳＲＡＭ２ａ〜２ｄへライトエネーブル信号ＷＥＮを出力する。例えば、アドレスＡ(1)、Ａ(0)が”００”であった場合は、ライトエネーブル信号ＷＥＮａをＳＲＡＭ２ａへ出力する。これにより、ＣＰＵ１から出力されたデータＤがＳＲＡＭ２ａにのみ書き込まれる。
【０００６】
【発明が解決しようとする課題】
上述したように、従来のバイトアクセス可能なデータ書込回路は、バイト単位で読出／書込が行われる複数のメモリが必要である。このため、メモリ毎に制御が必要になり、コントロール回路が複雑になると共に、メモリ間の配線領域が増大することから、メモリ全体のチップ面積が大きくなる欠点があった。
この発明は、このような事情を考慮してなされたもので、その目的は、コントロール回路が簡単になると共に、メモリのチップ面積の縮小化を図ることができるデータ書込回路を提供することにある。
【０００７】
【課題を解決するための手段】
この発明は上記の課題を解決すべくなされたもので、請求項１に記載の発明は、制御手段から出力されるアドレスであって、ワード単位でデータの書き込み／読み出しが行われる記憶手段のアドレスに記憶されているデータの一部を、前記制御手段から出力されるデータによって書き替えるデータ書込回路において、前記制御手段から出力されるモード指定データを受けてバイト単位、ハーフワード単位、ワード単位の書き替えを指定する第１〜第３のモードデータを出力するモードデータ出力手段と、前記記憶手段の出力データの第０〜第３バイトが各々第１の入力端へ加えられ、前記制御手段から出力される書込データの第０〜第３バイトが各々第２の入力端へ加えられる第１〜第４のセレクタと、前記モードデータがバイト単位を指定するデータであった時、前記アドレスの第０、第１ビットをデコードしてその結果に従って前記第１〜第４のセレクタへ選択信号を出力し、前記モードデータがハーフワード単位を指定するデータであった時、前記アドレスの第１ビットに従って前記第１〜第４のセレクタへ選択信号を出力し、前記モードデータがワード単位のデータであった時、前記第２の入力端を選択する選択信号を前記第１〜第４のセレクタへ出力する選択信号形成回路と、前記制御手段から出力されるアドレスの第０ビットおよび第１ビットを除いたデータを、前記選択信号に基づいて前記第１〜第４のセレクタから出力されるデータを書き込むアドレスとして前記記憶手段へのアドレス端子へ供給する手段と、を具備し、前記制御手段から出力される書込データは、前記モードデータがバイト単位を指定するデータであった時にはバイト単位の同一のデータが複数個並べられてワード単位のデータとされたものであり、前記モードデータがハーフワード単位を指定するデータであった時にはハーフワード単位の同一のデータが複数個並べられてワード単位のデータとされたものであり、前記モードデータがワード単位を指定するデータであった時には一のワード単位のデータであることを特徴とするデータ書込回路である。
【０００８】
また、請求項２に記載の発明は、請求項１に記載のデータ書込回路において、前記制御手段はコンピュータであり、前記記憶手段は半導体メモリであることを特徴とする。
また、請求項３に記載の発明は、請求項１または請求項２に記載のデータ書込回路において、前記記憶手段はレジスタであることを特徴とする。
【０００９】
【発明の実施の形態】
以下、図面を参照し、この発明の一実施の形態について説明する。図１は同実施の形態によるデータ書込回路を適用したコンピュータ回路の構成を示す回路図である。この図において、１１は３２ビットＣＰＵ、１２はデータ書込回路、１３はワード（３２ビット）単位でアクセスが行われるメモリである。このコンピュータ回路は、ＣＰＵ１１が、
バイト（８ビット）
ハーフワード（１６ビット）
ワード（３２ビット）
単位によるメモリアクセスを行うことができる。なお、メモリ１３に代えて３２ビットレジスタが使用される場合もデータ書込回路１２は使用可能であり、このレジスタの場合を後に説明する。
【００１０】
以下、図１の回路について詳述する。データ書込回路１２において、１６はＣＰＵ１１からチップセレクト信号ＣＳＮが供給されるノアゲート、１７はＣＰＵ１１から出力されるアドレスＡ(31:2)をデコードするデコーダ、１８はＣＰＵ１１からライトエネーブル信号ＷＥＮが供給されるオアゲート、１９はクロック端子にメモリクロックＭ−ＣＫ（図２（ト）参照）が印加されるＤ−ＦＦ（Ｄ型フリップフロップ）である。ここで、メモリクロックＭ−ＣＫはＣＰＵ１１のシステムクロックＣＰＵ−ＣＫ（図２（イ）参照）の２倍の周波数のクロックである。
【００１１】
２１はＣＰＵ１１から出力されるアクセスモード指定データＤＳをデコードするデコーダである。２３〜２６は３入力アンドゲートであり、ＣＰＵ１１から出力されるアドレスＡ(1)、Ａ(0)およびデコーダ２１の０出力のアンドをとって出力する。但し、アンドゲート２４の第３入力端、アンドゲート２５の第２入力端、アンドゲート２６の第２、第３入力端にはインバータが挿入されている。２７，２８は２入力アンドゲートであり、アドレスＡ(1)およびデコーダ２１の１出力のアンドをとって出力する。但し、アンドゲート２８の第２入力端にはインバータが挿入されている。２９〜３２は３入力のオアゲートであり、オアゲート２９，３０の第１入力端へはアンドゲート２７の出力が印加され、オアゲート３１，３２の第１入力端へはアンドゲート２８の出力が印加され、オアゲート２９〜３２の第２入力端へはそれぞれアンドゲート２３〜２６の出力が印加され、オアゲート２９〜３２の第３入力端へはそれぞれデコーダ２１の２出力が印加される。３５〜３８は８ビットのセレクタであり、それぞれオアゲート２９〜３２の出力に基づいて０入力端または１入力端のデータ（各８ビット）を選択的に出力する。
【００１２】
次に、図１に示す回路の動作を図２〜図９に示すタイミングチャートを参照して説明する。なお、以下、アドレス、データを共に１６進数で表示する。また、図において「０ｘ」はそれに続く数が１６進数であることを示している。
【００１３】
（１）メモリ・バイトライト
図２はメモリ１３にバイト単位で書き込みを行う場合のタイミングチャートであり、このチャートは、ＣＰＵ１１がデータ「１」をＣＰＵアドレスＡ(31:0)の「40000」番地に書き込み（図２（ホ）参照）、次いで、データ「２」をＣＰＵアドレスＡ(31:0)の「40001」番地に書き込む場合である。また、データ「１」を書き込む場合、ＣＰＵ１１はデータ「０１０１０１０１」という書込データを４つ並べたデータを出力データＯ(31:0)として出力する。同様に、データ「２」を書き込む場合、「０２０２０２０２」というデータを出力データＯ(31:0)として出力する（図２（ヘ）参照）。また、図２において（イ）はＣＰＵ１１のシステムクロックＣＰＵ−ＣＫを示し、（ト）はシステムクロックＣＰＵ−ＣＫに同期し、かつ、２倍の周波数のメモリクロックＭ−ＣＫを示している。
【００１４】
データ「１」を40000番地に、データ「２」を40001番地に各々書き込む場合、ＣＰＵ１１は、図に示す時刻ｔ１において、チップセレクト信号ＣＳＮ（図２（ロ））、ライトエネーブル信号ＷＥＮ（図２（ハ））、アクセスモード指定データＤＳ「０」（図２（ニ））および上述したアドレスＡ(31:0)、出力データＯ(31:0)を各々出力する。チップセレクト信号ＣＳＮはナンドゲート１６（図１）へ供給され、デコーダ１７の出力にしたがってナンドゲート１６が開になると、同ナンドゲート１６からチップセレクト信号ＣＳＮ１（図２（チ））として出力され、メモリ１３へ供給される。
【００１５】
また、ライトエネーブル信号ＷＥＮはオアゲート１８およびＤ−ＦＦ１９の回路によってメモリクロックＭ−ＣＫに同期した信号ＷＥＮ１とされ（図２（リ））、メモリ１３へ供給される。アクセスモード指定データＤＳ「０」はデコーダ２１へ供給され、これにより、デコーダ２１の０出力端から”１”が出力される。アドレスＡ(31:0)は、その上位アドレスＡ（31:2)がアドレスＡ１(n:0)としてメモリ１３のアドレス端子へ供給される。すなわち、メモリ１３のアドレス端子へは、図２（ヌ）に示すように、アドレスＡ１(n:0)として「10000」が印加される。また、ＣＰＵ１１の出力アドレスＡ(31:0)の下位アドレスＡ(1)、Ａ(0)（この時、”０”、”０”）はアンドゲート２３〜２８へ供給される。
【００１６】
アドレスＡ１(n:0)がメモリ１３へ印加されると、次のメモリクロックＭ−ＣＫの立ち上がり時刻ｔ２において、同アドレス内のデータが読み出され、データ出力端子からデータＯ１(31:0)として出力される。なお、図２（オ）ではこのデータを「０」としている。この出力データＯ１(31:0)は、ＣＰＵ１１のデータ入力端へデータＩ(31:0)として供給されると共に、セレクタ３５〜３８の各０入力端へ供給される。
【００１７】
一方、上述したデコーダ２１の０出力”１”、アドレスＡ(1)、Ａ(0)”０”、”０”がアンドゲート２３〜２６へ供給されると、アンドゲート２６の出力のみが”１”となり、この”１”信号がオアゲート３２を介してセレクタ３８へ供給される。これにより、セレクタ３８の１入力端の８ビット、すなわち、ＣＰＵ１１の出力データＯ(31:0)の第０ビット〜第７ビット（データ「０１」；図２（ヘ））がセレクタ３８からメモリ１３のデータ入力端へ出力される。一方、アンドゲート２３〜２５、２７、２８、オアゲート２９〜３１の出力はいずれも”０”となり、この結果、セレクタ３５〜３７からメモリ１３の出力データＯ１(31:24)、Ｏ１(23:16)、Ｏ１(15:8)がそのままメモリ１３のデータ入力端へ出力される。
【００１８】
すなわち、ＣＰＵアドレスＡ(1)、Ａ(0)が”０”、”０”の場合、メモリ１３の出力データＯ１（31:0)の内の第０ビット〜第７ビットがＣＰＵ１１の出力データＯ(31:0)の第０〜第７ビットに置き換えられ、入力データＩ１(31:0)としてメモリ１３のデータ入力端へ印加される（図２（ル））。そして、時刻ｔ２においてライトエネーブル信号ＷＥＮ１が立ち下がると、上記の入力データＩ１(31:0)がメモリ１３のアドレスＡ１（n:0)（この場合、「10000」番地）に書き込まれる。
【００１９】
次に、時刻ｔ３においてＣＰＵ１１からアドレスＡ(31:0)として「40001」番地が出力されると、アドレスＡ１(n:0)として再び「10000」番地がメモリ１３へ供給される。これにより、時刻ｔ４において、メモリ１３の「10000」番地の内容「１」が読み出され、セレクタ３５〜３８へ供給される。また、この時、アドレスＡ(1)、(0)は各々”０”、”１”であり、デコーダ２１の０出力が”１”である。この結果、アンドゲート２５の出力が”１”となり、この”１”信号がオアゲート３１を介してセレクタ３７へ供給される。これにより、セレクタ３７からＣＰＵ１１の出力データＯ(31:0)の第８〜第１５ビットＯ(15:8)（この時、「０２」）が出力され、また、他のセレクタ３５，３６，３８からはメモリ１３の出力データＯ１(31:0)がそのまま出力される。そして、時刻ｔ４において信号ＷＥＮ１が立ち下がると、メモリ１３の「10000」番地にセレクタ３５〜３８の出力データが書き込まれる。
【００２０】
このように、ＣＰＵ１１からアドレス「40000」が出力されると、メモリ１３の10000番地の第０〜第７ビットにＣＰＵ１１の出力データが書き込まれ、アドレス「40001」が出力されると、メモリ１３の10000番地の第８〜第１５ビットにＣＰＵ１１の出力データが書き込まれる。
【００２１】
（２）メモリ・ハーフワードライト
図３はメモリ１３にハーフワード単位で書き込みを行う場合のタイミングチャートであり、このチャートは、ＣＰＵ１１がデータ「１」をＣＰＵアドレスＡ(31:0)の「40000」番地に書き込み（図３（ホ）参照）、次いで、データ「２」をＣＰＵアドレスＡ(31:0)の「40002」番地に書き込む場合である。また、データ「１」を書き込む場合、ＣＰＵ１１はデータ「０００１０００１」という書込データを２つ並べたデータを出力データＯ(31:0)として出力する。同様に、データ「２」を書き込む場合、「０００２０００２」を出力データＯ(31:0)として出力する（図３（ヘ）参照）。また、この場合、ＣＰＵ１１は、モード指定データＤＳとして、データ「１」を出力する。
【００２２】
ＣＰＵ１１からモード指定データＤＳとして「１」が出力されると、デコーダ２１の１出力端から”１”が出力され、アンドゲート２７、２８へ供給される。この結果、ＣＰＵアドレスＡ(31:0)が「40000」の場合、すなわち、アドレスＡ(1)、(0)が”０”、”０”の場合、アンドゲート２８の出力が”１”となり、このデータ”１”がオアゲート３１，３２を介してセレクタ３７、３８へ供給される。これにより、メモリ１３から読み出された出力データＯ１(31:0)の下位１６ビットがＣＰＵ１１の出力データＯ(31:0)の下位１６ビットと入れ替えられ、メモリ１３に書き込まれる。同様に、ＣＰＵアドレスＡ(31:0)が「40002」の場合、すなわち、アドレスＡ(1)、(0)が”１”、”０”の場合、アンドゲート２７の出力が”１”となり、このデータ”１”がオアゲート２９，３０を介してセレクタ３５、３６へ供給される。これにより、メモリ１３から読み出された出力データＯ１(31:0)の上位１６ビットがＣＰＵ１１の出力データＯ(31:0)の上位１６ビットと入れ替えられ、メモリ１３に書き込まれる。
【００２３】
（３）メモリ・ワードライト
図４はメモリ１３にワード単位で書き込みを行う場合のタイミングチャートであり、このチャートは、ＣＰＵ１１がデータ「１」（図４（ヘ）参照）をＣＰＵアドレスＡ(31:0)の「40000」番地に書き込み（図４（ホ）参照）、次いで、データ「２」をＣＰＵアドレスＡ(31:0)の「40004」番地に書き込む場合である。この場合、メモリアドレスＡ１(n:0)は、図４（ヌ）に示すように、ＣＰＵアドレス「40000」の時「10000」、｛40004」の時「10001」となる。また、ＣＰＵ１１から出力される書込データは、「00000001」、「00000002」となる。またこの場合、ＣＰＵ１１は、モード指定データＤＳとして、データ「２」を出力する。
【００２４】
ＣＰＵ１１からモード指定データＤＳとして、データ「２」が出力されると、デコーダ２１の２出力端から”１”が出力され、オアゲート２９〜３２へ供給される。これにより、オアゲート２９〜３２から、セレクタ３５〜３８の選択端子へ”１”が出力される。この結果、ＣＰＵ１１の出力データＯ(31:0)の全ビットがセレクタ３５〜３８を介してメモリ１３へ供給され、アドレスＡ１(n:0)に書き込まれる。
【００２５】
（４）メモリ・リード
図５はメモリ１３からデータを読み出す場合のタイミングチャートである。なお、メモリリードの場合は、ワード単位で読み出してもバイト単位の処理が可能であり、従って、上述したようなバイト単位、ハーフワード単位処理の必要はない。
【００２６】
ＣＰＵ１１が、図に示す時刻ｔ１において、アドレスＯ(31:0)として「40000」を出力すると（図５（ホ）参照）、その上位３０ビット（この場合「10000」）がメモリアドレスＡ１(n:0)としてメモリ１３のアドレス端子へ印加される（図５（ヌ））。これにより、次の時刻ｔ２においてメモリ１３からデータ（「２０１」とする）が読み出され（図５（オ））、ＣＰＵ１１のデータ入力端へ入力データＩ(31:0)として供給される（図５（ヘ））。ＣＰＵ１１はデータ入力端のデータの第０〜第７ビットをデータ処置に使用する。次に、時刻ｔ３においてＣＰＵ１１がアドレス「40001」を出力しても、メモリアドレスＡ１(n:0)は上記と同じ「10000」であり、従って、次の時刻ｔ４において、同じデータ「２０１」が読み出され、ＣＰＵ１１のデータ入力端へ供給される。ＣＰＵ１１はデータ入力端のデータの第８〜第１５ビットをデータ処置に使用する。
【００２７】
（５）レジスタ・バイトライト
図６は、図１におけるメモリ１３が３２×Ｍビットレジスタ（以下、レジスタ１３ａという）である場合の、バイト単位の書き込み動作のタイミングチャートである。この場合、前述したメモリ・バイトライトの場合と同様に、モード指定データＤＳ「０」がＣＰＵ１１から出力される。これにより、デコーダ２１の０出力端から”１”が出力されアンドゲート２３〜２６へ供給される。この結果、ＣＰＵアドレスＡ(31:0)の下位アドレスＡ(1)、(0)によって指定される１つのセレクタ（３５〜３８のいずれか）のみがＣＰＵ１１の出力データを出力し、これにより、レジスタ１３ａの出力データＯ１(31:0)の８ビットの入れ替えが行われ、再びレジスタ１３ａに書き込まれる。
【００２８】
図６の例においては、まず、時刻ｔ１において、ＣＰＵ１１がアドレス「40000」を出力すると（図６（ホ））、レジスタ１３ａにアドレス「10000」が印加され（図６（ヌ））、これによりレジスタ１３ａからデータ（「０」とする）が読み出され、セレクタ３５〜３８へ供給される。一方、アドレス「40000」の下位アドレスＡ(1)、(0)が”０”、”０”であることから、アンドゲート２６の出力が”１”となり、オアゲート３２を介してセレクタ３８の選択端子へ供給される。これにより、レジスタ１３ａの出力の第０〜第７ビットがＣＰＵ１１の出力データの第０〜第７ビットと入れ替えられ、レジスタ１３ａのデータ入力端へ印加される。そして、このデータ入力端のデータが、時刻ｔ３において信号ＷＥＮ１が立ち上がると、レジスタ１３ａに読み込まれ、読み込まれたデータがレジスタ１３ａのデータ出力端から出力される（図６（オ）参照）。
【００２９】
（６）レジスタ・ハーフワードライト
図７は、レジスタ１３ａにハーフワード単位で書き込みを行う場合のタイミングチャートである。この場合、モード指定データＤＳとして「１」がＣＰＵ１１から出力され、これにより、レジスタ１３ａの出力データの内の上位１６ビットまたは下位１６ビットがＣＰＵ１１の出力データと入れ替えられて、レジスタ１３ａに書き込まれる。
【００３０】
（７）レジスタ・ワードライト
図８は、レジスタ１３ａにワード単位で書き込みを行う場合のタイミングチャートである。この場合、モード指定データＤＳとして「２」がＣＰＵ１１から出力され、これにより、ＣＰＵ１１の出力データがそのままレジスタ１３ａのデータ入力端へ供給され、レジスタ１３ａに書き込まれる。
【００３１】
（８）レジスタ・リード
図９はレジスタ１３ａからデータを読み出す場合のタイミングチャートであり、この読み出し動作は従来のレジスタ読み出し動作と同じである。
【００３２】
以上がこの発明の一実施形態によるデータ書込回路１２の動作である。
図１０は、データ書込回路の応用例を示すブロック図であり、ＡＶアンプにおいて用いられるデコーダの構成を示すフロック図である。この図において、ＣＰＵ４０はインターナルメモリインターフェイス４１、メモリマネージメントユニット４２を介してメモリバンク４３またはレジスタバンク４４にアクセスし、読出／書込を行う。同様に、ＤＳＰ４５もメモリバンク４３またはレジスタバンク４４にアクセスする。この発明によるデータ書込回路はインターナルメモリインターフェイス４１内に設けられ、メモリバンク４３，またはレジスタバンク４４のバイト書き込み、ハーフワード書き込み処理を行う。
【００３３】
【発明の効果】
以上説明したように、この発明によれば、制御手段（ＣＰＵ）のビット数と同じビット数の記憶手段（メモリ、レジスタ）を用いて、より少ないビット数単位のデータ書込を行うことができる。これにより、複数の記憶手段を用いることなく、１つの記憶手段によって少ないビット数単位のデータ書込を行うことが可能となり、この結果、回路の簡略化および記憶手段のチップ面積の縮小化を図ることができる。特に、チップ面積は従来の方式に比較し約２０％削減することが可能である。
【図面の簡単な説明】
【図１】  この発明の一実施形態によるデータ書込回路１２の構成を示す回路図である。
【図２】  同実施形態におけるメモリ・バイトライト動作のタイミングチャートである。
【図３】  同実施形態におけるメモリ・ハーフワードライト動作のタイミングチャートである。
【図４】  同実施形態におけるメモリ・ワードライト動作のタイミングチャートである。
【図５】  同実施形態におけるメモリ・リード動作のタイミングチャートである。
【図６】  同実施形態におけるレジスタ・バイトライト動作のタイミングチャートである。
【図７】  同実施形態におけるレジスタ・ハーフワードライト動作のタイミングチャートである。
【図８】  同実施形態におけるレジスタ・ワードライト動作のタイミングチャートである。
【図９】  同実施形態におけるレジスタ・リード動作のタイミングチャートである。
【図１０】  同実施形態の応用例を示すブロック図である。
【図１１】  従来のデータ書込回路の構成を示すブロック図である。
【符号の説明】
１１…ＣＰＵ、１２…データ書込回路、１３…メモリ、２１…デコーダ、２３〜２８…アンドゲート、２９〜３２…オアゲート、３５〜３８…セレクタ。
【図１】
0003931593.tif 000002
【図２】
0003931593.tif 000003
【図３】
0003931593.tif 000004
【図４】
0003931593.tif 000005
【図５】
0003931593.tif 000006
【図６】
0003931593.tif 000007
【図７】
0003931593.tif 000008
【図８】
0003931593.tif 000009
【図９】
0003931593.tif 000010
【図１０】
0003931593.tif 000011
【図１１】
0003931593.tif 000012