(57)【要約】【課題】インクリメンタルにメモリアクセスを行った際に発生する放射ノイズを低減する。【解決手段】アドレス変換回路１３は、８ビットのアドレス値を４ビットずつに分割し、当該分割した数値を所定の変換規則に従って変換する。当該変換規則は、０から１５までの整数を定義域とし、０から１５までの整数を値域とし、入力値と出力値とが一対一に対応する変換規則であって、当該変換規則を用いて０から１５までの整数を昇順に並べた数列を順に変換したときに、変換によって得られる数列の並びに規則性が無いような変換規則である。【選択図】図１
2013250644.tif 000002
【特許請求の範囲】
【請求項１】
２以上の整数であるｎの整数倍のビット数で表されるアドレス値を、複数の信号線からなるアドレスバスを介してメモリへパラレルに転送するメモリアクセス装置であって、
前記アドレス値をｎビットごとに所定の変換規則に従って変換するアドレス変換部と、
前記アドレス変換部による変換後の数値を組み合わせてできるアドレス値を、前記アドレスバスを介して前記メモリへパラレルに転送するアドレス転送部と
を備え、
前記変換規則は、０から２のｎ乗−１までの整数を定義域とし、０から２のｎ乗−１までの整数を値域とし、入力値と出力値とが一対一に対応する変換規則であって、当該変換規則を用いて０から２のｎ乗−１までの整数を昇順に並べた数列を順に変換したときに、変換によって得られる数列の並びに規則性が無いような変換規則である
ことを特徴とするメモリアクセス装置。
【請求項２】
前記変換規則は、０から２のｎ乗−１までの整数を昇順に並べた数列を順に変換したときに変換によって得られる数列の同位のビット値を抽出した数列が周期性を有しなくなる変換規則である
ことを特徴とする請求項１に記載のメモリアクセス装置。
【請求項３】
前記変換規則における入力値と出力値の対応付けを示す変換テーブルを記憶するテーブル記憶部を備え、
前記アドレス変換部は、前記テーブル記憶部が記憶する変換テーブルに基づいて、前記アドレス値の変換を行う
ことを特徴とする請求項１または請求項２に記載のメモリアクセス装置。
【請求項４】
前記テーブル記憶部が記憶する変換テーブルは、０から２のｎ乗−１までの整数をチューニングされた数列となるように並べ替えることにより生成されたものである
ことを特徴とする請求項３に記載のメモリアクセス装置。
【請求項５】
２以上の整数であるｎの整数倍のビット数で表されるアドレス値を、複数の信号線からなるアドレスバスを介してメモリへパラレルに転送するメモリアクセス方法であって、
０から２のｎ乗−１までの整数を定義域とし、０から２のｎ乗−１までの整数を値域とし、入力値と出力値とが一対一に対応する変換規則であって、当該変換規則を用いて０から２のｎ乗−１までの整数を昇順に並べた数列を順に変換したときに、変換によって得られる数列の並びに規則性が無いような変換規則に従って、前記アドレス値をｎビットごとに変換するステップと、
前記変換後の数値を組み合わせてできるアドレス値を、前記アドレスバスを介して前記メモリへパラレルに転送するステップと
を有することを特徴とするメモリアクセス方法。
【請求項６】
２以上の整数であるｎの整数倍のビット数で表されるアドレス値を、複数の信号線からなるアドレスバスを介してメモリへパラレルに転送するメモリアクセス装置を、
０から２のｎ乗−１までの整数を定義域とし、０から２のｎ乗−１までの整数を値域とし、入力値と出力値とが一対一に対応する変換規則であって、当該変換規則を用いて０から２のｎ乗−１までの整数を昇順に並べた数列を順に変換したときに、変換によって得られる数列の並びに規則性が無いような変換規則に従って、前記アドレス値をｎビットごとに変換するアドレス変換部、
前記変換後の数値を組み合わせてできるアドレス値を、前記アドレスバスを介して前記メモリへパラレルに転送するアドレス転送部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２以上の整数であるｎの整数倍のビット数で表されるアドレス値を、複数の信号線からなるアドレスバスを介してメモリへパラレルに転送するメモリアクセス装置、メモリアクセス方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、エンジンの運転を制御するコンピュータであるＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）を搭載する車両が普及している。
図５は、一般的なＥＣＵの構成を示す概略ブロック図である。
ＥＣＵは、ＣＰＵ８０（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及びメモリ９０を備える。ＣＰＵ８０とメモリ９０とは、並行する複数の信号線からなるアドレスバス及びデータバスを介して互いに接続される。
【０００３】
ＣＰＵ８０は、アプリケーション部８１、アドレス生成部８２、アドレス転送部８３、データＩ／Ｆ部８４を備える。
アプリケーション部８１は、エンジンのコントロールを行うための所定のアプリケーションを実行する。アドレス生成部８２は、アプリケーション部８１からの指示に従って、メモリアクセスのためのアドレス値を生成する。アドレス転送部８３は、アドレス生成部８２が生成したアドレス値をアドレスバスを介してメモリ９０に転送する。
データＩ／Ｆ部８４は、データバスを介してメモリ９０からデータを読み出してアプリケーション部８１に出力する。またデータＩ／Ｆ部８４は、アプリケーション部８１から取得したデータをデータバスを介してメモリ９０に記録する。
【０００４】
なお、特許文献１には、ＣＰＵによるメモリアクセスの際に、不定データの影響によりデータバスに生じるノイズを低減する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２５９１９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、一般的にメモリアクセスのアドレス信号は、連続的なインクリメントデータとして生成される。インクリメンタルにメモリアクセスを行うと、アドレス信号の各ビットは、周期的な振る舞いを繰り返す。例えば、アドレス信号の０ビット目は、メモリアクセスの周期の２倍の周期でＬとＨを繰り返し出力する。そのため、インクリメンタルにメモリアクセスを行うと、アドレスバスにおいて特定周波数のみがパワーを持ち、放射ノイズが発生してしまうという問題がある。放射ノイズは、その電子回路の誤動作の原因となるばかりでなく、他の電子機器にも影響を及ぼすおそれがある。
【０００７】
本発明の目的は、インクリメンタルにメモリアクセスを行った際に発生する放射ノイズを低減するメモリアクセス装置、メモリアクセス方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明は上記の課題を解決するためになされたものであり、２以上の整数であるｎの整数倍のビット数で表されるアドレス値を、複数の信号線からなるアドレスバスを介してメモリへパラレルに転送するメモリアクセス装置であって、前記アドレス値をｎビットずつに分割し、当該分割した数値を所定の変換規則に従って変換するアドレス変換部と、前記アドレス変換部による変換後の数値を組み合わせてできるアドレス値を、前記アドレスバスを介して前記メモリへパラレルに転送するアドレス転送部とを備え、前記変換規則は、０から２のｎ乗−１までの整数を定義域とし、０から２のｎ乗−１までの整数を値域とし、入力値と出力値とが一対一に対応する変換規則であって、当該変換規則を用いて０から２のｎ乗−１までの整数を昇順に並べた数列を順に変換したときに、変換によって得られる数列の並びに規則性が無いような変換規則であることを特徴とする。
【０００９】
また、本発明においては、変換規則は、０から２のｎ乗−１までの整数を昇順に並べた数列を順に変換したときに変換によって得られる数列の同位のビット値を抽出した数列が周期性を有しなくなる変換規則であることが好ましい。
【００１０】
また、本発明においては、前記変換規則における入力値と出力値の対応付けを示す変換テーブルを記憶するテーブル記憶部を備え、前記アドレス変換部は、前記テーブル記憶部が記憶する変換テーブルに基づいて、前記分割した数値の変換を行うことが好ましい。
【００１１】
また、本発明においては、前記テーブル記憶部が記憶する変換テーブルは、０から２のｎ乗−１までの整数をチューニングされた数列となるように並べ替えることにより生成されたものであることが好ましい。
【００１２】
また、本発明は、２以上の整数であるｎの整数倍のビット数で表されるアドレス値を、複数の信号線からなるアドレスバスを介してメモリへパラレルに転送するメモリアクセス方法であって、前記アドレス値をｎビットずつに分割し、当該分割した数値を、０から２のｎ乗−１までの整数を定義域とし、０から２のｎ乗−１までの整数を値域とし、入力値と出力値とが一対一に対応する変換規則であって、当該変換規則を用いて０から２のｎ乗−１までの整数を昇順に並べた数列を順に変換したときに、変換によって得られる数列の並びに規則性が無いような変換規則に従って変換するステップと、前記変換後の数値を組み合わせてできるアドレス値を、前記アドレスバスを介して前記メモリへパラレルに転送するステップとを有することを特徴とする。
【００１３】
また、本発明は、２以上の整数であるｎの整数倍のビット数で表されるアドレス値を、複数の信号線からなるアドレスバスを介してメモリへパラレルに転送するメモリアクセス装置を、前記アドレス値をｎビットずつに分割し、当該分割した数値を、０から２のｎ乗−１までの整数を定義域とし、０から２のｎ乗−１までの整数を値域とし、入力値と出力値とが一対一に対応する変換規則であって、当該変換規則を用いて０から２のｎ乗−１までの整数を昇順に並べた数列を順に変換したときに、変換によって得られる数列の並びに規則性が無いような変換規則に従って変換するアドレス変換部、前記変換後の数値を組み合わせてできるアドレス値を、前記アドレスバスを介して前記メモリへパラレルに転送するアドレス転送部として機能させるためのプログラムである。
【発明の効果】
【００１４】
本発明によれば、インクリメンタルにメモリアクセスを行った際にアドレスバスから出力される信号は、経時的に変化する信号の値に規則性が無いものとなる。これにより、メモリアクセス装置は、インクリメンタルにメモリアクセスを行った場合に発生する放射ノイズを低減することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態によるＥＣＵの構成を示す概略ブロック図である。
【図２】アドレス変換回路におけるアドレスの変換規則を示す図である。
【図３】従来のＥＣＵの放射ノイズのパワースペクトルと本実施形態によるＥＣＵの放射ノイズとを比較する図である。
【図４】本発明の他の実施形態によるＥＣＵの構成を示す概略ブロック図である。
【図５】一般的なＥＣＵの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図１は、本発明の一実施形態によるＥＣＵの構成を示す概略ブロック図である。
ＥＣＵは、ＣＰＵ１０（メモリアクセス装置）とメモリ２０を備える。ＣＰＵ１０とメモリ２０とはアドレスバス及びデータバスを介して接続される。
アドレスバスは、メモリ２０に対してアドレス値を転送する際に用いられる信号線であって、アドレスを示すビット数と同じ本数の信号線からなるパラレルバスである。なお、本実施形態では、アドレス値は８ビットで表され、アドレスバスは８本の信号線で構成される。
データバスは、ＣＰＵ１０とメモリ２０との間でデータを転送する際に用いられる信号線である。
【００１７】
ＣＰＵ１０は、アプリケーション部１１、アドレス生成部１２、アドレス変換回路１３、アドレス転送部１４、データＩ／Ｆ部１５を備える。
アプリケーション部１１は、メモリアクセス以外の処理を行うＥＣＵの機能ブロックを示す。
アドレス生成部１２は、アプリケーション部１１からの指示に従って、メモリアクセスのためのアドレス値を生成する。なお、アドレス生成部１２は、インクリメンタルにアドレス値を生成する。アドレス生成部１２は、８本の信号線からなる内部バスを介してアドレス変換回路１３にアドレス値を入力する。
【００１８】
アドレス変換回路１３は、アドレス生成部１２から入力されたアドレス値を所定の変換規則に従って他のアドレス値に変換してアドレス転送部１４に出力する論理回路である。
アドレス転送部１４は、アドレス変換回路１３によって変換されたアドレス値をアドレスバスを介してメモリ２０に転送する。
【００１９】
データＩ／Ｆ部１５は、データバスを介してメモリ２０からデータを読み出してアプリケーション部１１に出力する。またデータＩ／Ｆ部１５は、アプリケーション部１１から取得したデータをデータバスを介してメモリ２０に記録する。
【００２０】
図２は、アドレス変換回路１３におけるアドレスの変換規則を示す図である。
まず、アドレス変換回路１３は、アドレス生成部１２から入力された図２（Ａ）に示すアドレス値を、４ビットずつの値に分割する。次に、アドレス変換回路１３は、分割した各々の数値を、図２（Ｂ）に示す変換規則に従って変換することで、図２（Ｃ）に示すアドレス値を得る。そして、アドレス変換回路１３は、得られたアドレス値をアドレス転送部１４に出力する。
なお、アドレス変換回路１３は、あらかじめ各ビット値の周期性が無くなるようにチューニングされた数列を用いて変換規則を生成しておき、当該変換規則に基づいて設計する必要がある。
【００２１】
本実施形態によるアドレス変換回路１３における変換規則は、図２（Ｂ）に示すとおりである。すなわち、入力値が「（０）１６＝（００００）２」である場合、出力値は「（５）１６＝（０１０１）２」である。入力値が「（１）１６＝（０００１）２」である場合、出力値は「（３）１６＝（００１１）２」である。入力値が「（２）１６＝（００１０）２」である場合、出力値は「（６）１６＝（０１１０）２」である。入力値が「（３）１６＝（００１１）２」である場合、出力値は「（０）１６＝（００００）２」である。
【００２２】
入力値が「（４）１６＝（０１００）２」である場合、出力値は「（９）１６＝（１００１）２」である。入力値が「（５）１６＝（０１０１）２」である場合、出力値は「（Ａ）１６＝（１０１０）２」である。入力値が「（６）１６＝（０１１０）２」である場合、出力値は「（Ｃ）１６＝（１１００）２」である。入力値が「（７）１６＝（０１１１）２」である場合、出力値は「（Ｅ）１６＝（１１１０）２」である。
【００２３】
入力値が「（８）１６＝（１０００）２」である場合、出力値は「（Ｄ）１６＝（１１０１）２」である。入力値が「（９）１６＝（１００１）２」である場合、出力値は「（Ｆ）１６＝（１１１１）２」である。入力値が「（Ａ）１６＝（１０１０）２」である場合、出力値は「（Ｂ）１６＝（１０１１）２」である。入力値が「（Ｂ）１６＝（１０１１）２」である場合、出力値は「（１）１６＝（０００１）２」である。
【００２４】
入力値が「（Ｃ）１６＝（１１００）２」である場合、出力値は「（８）１６＝（１０００）２」である。入力値が「（Ｄ）１６＝（１１０１）２」である場合、出力値は「（２）１６＝（００１０）２」である。入力値が「（Ｅ）１６＝（１１１０）２」である場合、出力値は「（７）１６＝（０１１１）２」である。入力値が「（Ｆ）１６＝（１１１１）２」である場合、出力値は「（４）１６＝（０１００）２」である。
【００２５】
なお、上述した値において（・）ｎは、小括弧の中の数値がｎ進法で位取りされていることを示す。
【００２６】
上述したように、アドレス変換部１７が用いる変換規則は、（０）１６から（Ｆ）１６（すなわち２４−１）までの整数を定義域とし、（０）１６から（Ｆ）１６までの整数を値域とし、入力値と出力値とが一対一に対応する変換規則である。また、当該変換規則を用いて（０）１６から（Ｆ）１６までの整数を昇順に並べた数列を順に変換した場合、図２（Ｃ）に示すように、変換によって得られる数列の並びには規則性が無い。これにより、アドレスバスを介して出力されるアドレス信号の周波数ごとのパワーは分散され、インクリメンタルにメモリアクセスを行った場合に発生する放射ノイズを低減することができる。
【００２７】
特に、本実施形態の変換規則によれば、当該変換規則を用いて（０）１６から（Ｆ）１６までの整数を昇順に並べた数列を順に変換した場合、変換によって得られる数列の同位のビットの周期は、すべて２４となる。つまり、（０）１６から（Ｆ）１６までの整数の変換によって得られる数列の同位のビット値からなる数列には周期性がない。例えば、１ビット目の値からなる数列は、「１、１、０、０、１、０、０、０、１、１、１、１、０、０、１、０」となり、周期性がない。
これにより、アドレスバスを構成する各信号線を介して出力される信号の周期は、アクセス周期の１６倍となるため、インクリメンタルにメモリアクセスを行った場合に発生する放射ノイズをより確実に低減することができる。
【００２８】
図３は、従来のＥＣＵの放射ノイズのパワースペクトルと本実施形態によるＥＣＵの放射ノイズとを比較する図である。
図５に示すような従来のＥＣＵの放射ノイズは、図３（Ａ）に示すように、約５ＭＨｚの周波数におけるパワーが顕著に大きい。なお、従来のＥＣＵの放射ノイズのパワーのピークは０．０２７［｜Ｖ｜２／Ｈｚ］である。他方、本実施形態のＥＣＵの放射ノイズのパワーは、図３（Ｂ）に示すように、約０．６２５ＭＨｚ間隔で複数の周波数に分散されている。なお、本実施形態によるＥＣＵの放射ノイズのパワーのピークは０．０１２［｜Ｖ｜２／Ｈｚ］となる。
【００２９】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【００３０】
例えば、上述した実施形態では、変換規則に従ってアドレス値を変換する論理回路であるアドレス変換回路１３を備える場合を説明したが、これに限られず、アドレス変換回路１３に代えてプログラムによって動作するアドレス変換部１７を備えてもよい。
【００３１】
図４は、本発明の他の実施形態によるＥＣＵの構成を示す概略ブロック図である。
図４に示す例では、ＣＰＵ１０は、上述した実施形態におけるアドレス変換回路１３に代えて、テーブル記憶部１６とアドレス変換部１７とを備える。
テーブル記憶部１６は、図２（Ｂ）に示すような変換規則における入力値と出力値の対応付けを示す変換テーブルを記憶する。なお、当該変換テーブルは、乱数を用いて（０）１６から（Ｆ）１６までの整数を並べ替えることにより生成することができる。
アドレス変換部１７は、テーブル記憶部１６が記憶する変換テーブルに基づいて、アドレス生成部１２が生成したアドレス値の変換を行う。
この場合、アドレス生成部１２とアドレス変換部１７、及びアドレス変換部１７とアドレス転送部１４は、それぞれシリアルバスで接続されても良い。
【００３２】
また、この他にも、アドレス変換部１７が毎回乱数を用いた計算を行うことで、アドレス値の変換を行っても良い。
【００３３】
また、上述した実施形態では、アドレス値が８ビットで表現され、アドレス変換回路１３が当該アドレス値の４ビットごとに変換処理を行う場合を説明したが、これに限られない。例えば、アドレス変換回路１３は、アドレス値のビット数の約数であれば、２ビットごと、３ビットごと、８ビットごとなど、任意のビット（但し、２ビット以上）ごとに変換処理を行っても良い。また、アドレス値は、４ビット、６ビット、１６ビット、３２ビットなど、その他のビット数で表現されても良い。
したがって、例えばアドレス変換回路１３は、アドレス値を分割せずに８ビットの変換処理を行っても良い。
【符号の説明】
【００３４】
１０…ＣＰＵ  １１…アプリケーション部  １２…アドレス生成部  １３…アドレス変換回路  １４…アドレス転送部  １５…データＩ／Ｆ部  １６…テーブル記憶部  １７…アドレス変換部  ２０…メモリ
【図１】
2013250644.tif 000003
【図２】
2013250644.tif 000004
【図３】
2013250644.tif 000005
【図４】
2013250644.tif 000006
【図５】
2013250644.tif 000007