(57)【要約】【課題】スループットの向上が可能なレジスタアドレス制御装置を提供すること。【解決手段】指定されたアドレスに対応する領域にアクセス可能な第１のアドレス領域と、第１のアドレス領域に対応するアドレス値を設定可能な第２のアドレス領域と、第２のアドレス領域で設定された第１のアドレス領域へアクセス可能な第３のアドレス領域と、から構成されるレジスタ７と、第３のアドレス領域が指定された場合、第２のアドレス領域で指定された第１のアドレス領域へアクセスを行うアドレス変換部６と、アドレスを指定してアドレス変換部６経由でレジスタ７にアクセスを行うマスタ１と、を備え、マスタ１は、第２のアドレス領域内に複数の第１のアドレス領域のアドレス値を設定した第４のアドレス領域を設定し、第４のアドレス領域に対応付けられた第３のアドレス領域に対してバーストアクセスを行う。【選択図】図１
2013186559.tif 000002
【特許請求の範囲】
【請求項１】
指定されたアドレスに対応する領域にアクセス可能な第１のアドレス領域と、指定されたアドレスに対応する領域にアクセス可能であり、かつ、前記第１のアドレス領域に対応するアドレス値を設定可能な第２のアドレス領域と、前記第２のアドレス領域と対応付けられたアドレスを指定された場合、前記第２のアドレス領域で設定された前記第１のアドレス領域へアクセス可能な第３のアドレス領域と、から構成されるレジスタと、
前記第３のアドレス領域が指定された場合、前記第２のアドレス領域で指定された前記第１のアドレス領域へアクセスを行うアドレス変換部と、
アドレスを指定して前記アドレス変換部経由で前記レジスタにアクセスを行うマスタと、
を備え、
前記マスタは、前記第２のアドレス領域内に複数の前記第１のアドレス領域のアドレス値を設定した第４のアドレス領域を設定し、前記第４のアドレス領域に対応付けられた前記第３のアドレス領域に対してバーストアクセスを行う、
ことを特徴とするレジスタアドレス制御装置。
【請求項２】
指定されたアドレスに対応する領域にアクセス可能な第１のアドレス領域と、指定されたアドレスに対応する領域にアクセス可能であり、かつ、前記第１のアドレス領域に対応するアドレス値を設定可能な第２のアドレス領域と、前記第２のアドレス領域と対応付けられたアドレスを指定された場合、前記第２のアドレス領域で設定された前記第１のアドレス領域へアクセス可能な第３のアドレス領域と、から構成されるレジスタと、
前記第３のアドレス領域が指定された場合、前記第２のアドレス領域で指定された前記第１のアドレス領域へアクセスを行うアドレス変換部と、
を備えることを特徴とするレジスタアドレス制御装置。
【請求項３】
さらに、
アドレスを指定して前記アドレス変換部経由で前記レジスタにアクセスを行うマスタ、
を備えることを特徴とする請求項２に記載のレジスタアドレス制御装置。
【請求項４】
指定されたアドレスに対応する領域にアクセス可能な第１のアドレス領域と、指定されたアドレスに対応する領域にアクセス可能であり、かつ、前記第１のアドレス領域に対応するアドレス値を設定可能な第２のアドレス領域と、前記第２のアドレス領域と対応付けられたアドレスを指定された場合、前記第２のアドレス領域で設定された前記第１のアドレス領域へアクセス可能な第３のアドレス領域と、から構成されるレジスタ、を備えたレジスタアドレス制御装置におけるレジスタアドレスアクセス方法であって、
前記第３のアドレス領域が指定された場合、前記第２のアドレス領域で指定された前記第１のアドレス領域へアクセスを行うアドレス変換ステップ、
を含むことを特徴とするレジスタアドレスアクセス方法。
【請求項５】
さらに、
前記第２のアドレス領域内に複数の前記第１のアドレス領域のアドレス値を設定した第４のアドレス領域を設定する第４のアドレス領域設定ステップと、
前記第４のアドレス領域に対応付けられた前記第３のアドレス領域に対してバーストアクセスを行うバーストアクセスステップと、
を含むことを特徴とする請求項４に記載のレジスタアドレスアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、レジスタアドレス制御装置およびレジスタアドレスアクセス方法に関する。
【背景技術】
【０００２】
従来、レジスタアドレスを動的に変更する装置がある。例えば、ＣＰＵ（Central  Processing  Unit）から被アクセス装置にアクセスする場合において、ＣＰＵと被アクセス装置との間に被アクセス想定のアドレスをデータとして設定するアドレス拡張処理部を設けることにより、アドレスバス幅や構成が変更になった場合であっても、被アクセス装置やＣＰＵ上で動作する制御プログラムを流用することができる。しかしながら、従来技術では、ＨＷ（Hard  Ware）構成変更に対する柔軟性は確保できるが、スループットの向上は困難である、という問題がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−０５３２５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、スループットの向上が可能なレジスタアドレス制御装置およびレジスタアドレスアクセス方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本願発明の一態様によれば、指定されたアドレスに対応する領域にアクセス可能な第１のアドレス領域と、指定されたアドレスに対応する領域にアクセス可能であり、かつ、前記第１のアドレス領域に対応するアドレス値を設定可能な第２のアドレス領域と、前記第２のアドレス領域と対応付けられたアドレスを指定された場合、前記第２のアドレス領域で設定された前記第１のアドレス領域へアクセス可能な第３のアドレス領域と、から構成されるレジスタを持つ。また、前記第３のアドレス領域が指定された場合、前記第２のアドレス領域で指定された前記第１のアドレス領域へアクセスを行うアドレス変換部を持つ。また、アドレスを指定して前記アドレス変換部経由で前記レジスタにアクセスを行うマスタを持つ。前記マスタは、前記第２のアドレス領域内に複数の前記第１のアドレス領域のアドレス値を設定した第４のアドレス領域を設定し、前記第４のアドレス領域に対応付けられた前記第３のアドレス領域に対してバーストアクセスを行う、ことを特徴とするレジスタアドレス制御装置が提供される。
【図面の簡単な説明】
【０００６】
【図１】図１は、レジスタアドレス制御装置を含むＬＳＩのシステム構成を示すブロック図である。
【図２】図２は、アドレス変換部が実施するアドレス変換動作の一例を示す図である。
【図３】図３は、通常領域に対するシングルアクセス方法を示す図である。
【図４】図４は、エイリアス領域に対するバーストアクセス方法を示す図である。
【図５】図５は、アドレス変換部およびレジスタにおいてアドレス変換を実現するための回路構成例を示す図である。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、本発明の実施の形態にかかるレジスタアドレス制御装置およびレジスタアドレスアクセス方法を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。
【０００８】
（第１の実施の形態）
図１は、第１の実施の形態にかかるレジスタアドレス制御装置を含むＬＳＩ（Large  Scale  Integrated  circuit）１０のシステム構成を示すブロック図である。ＬＳＩ１０は、マスタ１と、バス２と、スレーブ３と、メモリ４と、スレーブ５と、アドレス変換部６と、レジスタ７と、から構成される。マスタ１は、バス２およびスレーブ３を介してメモリ４にアクセスする。また、マスタ１は、バス２、スレーブ５およびアドレス変換部６を介してレジスタ７にアクセスする。このＬＳＩ１０のシステムでは、マスタ１は、メモリ４に対しては通常のアクセスを行うが、レジスタ７に対してはアドレス変換部６を経由する。ＬＳＩ１０では、アドレス変換部６を導入することにより、飛び飛びのアドレスを連続してアクセスする場合でも、バーストアクセスで読み書きでき、アクセスの高速化を実現することができる。
【０００９】
つづいて、本実施の形態におけるＬＳＩ１０のシステムにおいて、アドレス変換部６およびレジスタ７から構成されるレジスタアドレス制御装置でのアクセス方法について説明する。図２は、アドレス変換部６が実施するアドレス変換動作の一例を示す図である。本実施の形態では、レジスタ７は、０ｘ００００から０ｘＦＦＦＦまでのアドレス領域を持ち、このうち、０ｘ００００から０ｘＤＦＦＦまでを通常領域とし、０ｘＥ０００から０ｘＥＦＦＦまでをエイリアス領域とし、０ｘＦ０００から０ｘＦＦＦＦまでをエイリアスアドレス設定領域としている。マスタ１は、通常領域およびエイリアスアドレス設定領域については、このアドレスを指定することにより、通常のレジスタと同様に読み書きすることができる。一方で、マスタ１は、エイリアス領域については、対応するエイリアスアドレス設定領域に設定したアドレスについてアクセスできるようになる。
【００１０】
通常領域は、指定されたアドレスに対応する領域にアクセス可能な第１のアドレス領域である。また、エイリアスアドレス設定領域は、指定されたアドレスに対応する領域にアクセス可能であり、かつ、第１のアドレス領域（通常領域）に対応するアドレス値を設定可能な第２のアドレス領域である。また、エイリアス領域は、第２のアドレス領域（エイリアスアドレス設定領域）と対応付けられたアドレスを指定された場合、第２のアドレス領域（エイリアスアドレス設定領域）で設定された第１のアドレス領域（通常領域）へアクセス可能な第３のアドレス領域である。
【００１１】
一例として、エイリアスアドレス設定領域０ｘＦ０００がエイリアス領域０ｘＥ０００に対応しているものとする。例えば、マスタ１は、レジスタ７において０ｘＦ０００に０ｘ００２０をあらかじめ書き込んでおいた後、０ｘＥ０００のアドレスに対してリード動作をすると、あたかも０ｘ００２０にアクセスしているようにアドレス変換部６がアドレス変換を実施するため、０ｘ００２０のレジスタ情報を読み出すことができる。同様に、マスタ１は、０ｘＥ０００にデータを書き込むと、あたかも０ｘ００２０にアクセスしているようにアドレス変換部６がアドレス変換を実施するため、０ｘ００２０にデータを書き込むことができる。
【００１２】
つづいて、レジスタ７へのアクセス方法について説明する。図３は、通常領域に対するシングルアクセス方法を示す図である。マスタ１は、通常領域の０ｘ００２０、０ｘ００４４、０ｘ０１１Ｃ、０ｘ０１２８について、それぞれシングルアクセスを実施することでデータのアクセスを行っている。一般的に、シングルアクセスは、バーストアクセスと比較してオーバヘッドが大きいので、データアクセスのスループットが低下する。
【００１３】
そのため、これらのアクセスをバーストアクセスにするために、図４のようなアクセス方法を実施する。図４は、エイリアス領域に対するバーストアクセス方法を示す図である。ここでは、あらかじめ、マスタ１が、エイリアスアドレス設定領域のうち、連続した領域（図４では、０ｘＦ０００、０ｘＦ００４、０ｘＦ００８、０ｘＦ００Ｃの４ｗｏｒｄ分の連続領域）に、アクセスしたいレジスタアドレス（第４のアドレス領域：図４では、０ｘ００２０、０ｘ００４４、０ｘ０１１Ｃ、０ｘ０１２８）を設定しておく（書き込んでおく）。その後、マスタ１では、エイリアス領域の対応する連続領域（図４では、０ｘＥ０００、０ｘＥ００４、０ｘＥ００８、０ｘＥ００Ｃ）にバーストアクセスすると、アドレス変換部６がアドレス変換処理を行うことにより、あたかも設定したアドレス（この場合、０ｘ００２０、０ｘ００４４、０ｘ０１１Ｃ、０ｘ０１２８）のレジスタにバーストアクセスすることができるようになる。アドレス変換部６では、マスタ１においてエイリアス領域が指定された場合、エイリアスアドレス設定領域で指定された通常領域へアクセスを行う。
【００１４】
レジスタ７に対して、マスタ１から飛び飛びの通常領域のアドレスを連続してエイリアスアドレス設定領域に設定され、アドレス変換部６経由で対応するエイリアス領域のアドレスにバーストアクセスされた場合、飛び飛びの通常領域のアドレスをシングルアクセスする場合と比較して、ＬＳＩ１０内でのデータアクセスのスループットの大幅な向上が期待できる。
【００１５】
図５は、アドレス変換部６およびレジスタ７においてアドレス変換を実現するための回路構成例を示す図である。アドレス変換部６は、アドレスデコーダ６１と、セレクタ６２と、を備える。また、レジスタ７は、マスタ１（スレーブ５側）からアドレス変換部６経由のＷｒｉｔｅ  Ｄａｔａ、Ｗｒｉｔｅ  ＥｎａｂｌｅおよびＡｄｄｒｅｓｓの各信号により制御され、Ｒｅａｄ  Ｄａｔａをアドレス変換部６経由でマスタ１（スレーブ５側）へ出力する。
【００１６】
アドレスデコーダ６１は、マスタ１からのＡｄｄｒｅｓｓによって指定される領域が通常領域およびエイリアスアドレス領域の場合、そのまま、指定されたアドレスに相当するワードのアドレス（ａｄｒ）を出力する。一方、アドレスデコーダ６１は、マスタ１からのＡｄｄｒｅｓｓによって指定される領域がエイリアス領域の場合、セレクタ６２により選択されたエイリアスアドレス設定領域内のいずれかの値をアドレスとして用いる。そして、アドレス変換部６は、その値に相当するワードのＥｎａｂｌｅ信号をアサートする。
【００１７】
具体的に、図３および図４の例において、アドレスデコーダ６１は、アドレスの上位４ｂｉｔ（Ａｄｄｒｅｓｓ［１５：１２］）が０ｘ０〜０ｘＤ（通常領域）または０ｘＦ（エイリアスアドレス設定領域）の場合、そのままマスタ１からのＡｄｄｒｅｓｓにより指定されたアドレスをａｄｒとして出力する。一方、アドレスデコーダ６１は、アドレスの上位４ｂｉｔ（Ａｄｄｒｅｓｓ［１５：１２］）が０ｘＥ（エイリアス領域）の場合、セレクタ６２により選択されたエイリアスアドレス設定領域内のいずれかの値（ａｌｉａｓ＿ａｄｒ［１５：０］）をアドレスとして用いて、その値をａｄｒとして出力する。
【００１８】
セレクタ６２は、Ａｄｄｒｅｓｓの下位ビットに応じて、エイリアスアドレス設定領域からの出力信号ａｌｉａｓ＿ａｄｒを選択する。例えば、Ａｄｄｒｅｓｓの下位１２ｂｉｔ（Ａｄｄｒｅｓｓ［１１：０］）が０ｘＥ０００の場合、セレクタ６２は、エイリアスアドレス設定領域０ｘＦ０００の出力を選択し、出力する。０ｘ０Ｆ０００にあらかじめ０ｘ００２０が書き込まれていれば、セレクタ６２の出力は０ｘ００２０となる。セレクタ６２は、この値をアドレスデコーダ６１に出力する。このように、アドレス変換部６では、上位４ｂｉｔが０ｘＥ（エイリアス領域）の場合、０ｘＦ０００に書き込まれていた０ｘ００２０をアドレスとして選択し、レジスタ７のうち０ｘ００２０に対するＥｎａｂｌｅをアサートして、０ｘ００２０へのアクセスが可能となる。
【００１９】
以上説明したように、本実施の形態によれば、通常領域、エイリアス領域およびエイリアスアドレス設定領域から構成されるレジスタ７に対して、アドレス変換部６は、エイリアス領域のアドレスが指定された場合、アドレス変換を行い、エイリアス領域に対応するエイリアスアドレス設定領域で指定された通常領域へアクセスを行うこととした。これにより、エイリアスアドレス設定領域の連続した領域に複数の通常領域のアドレス値が設定され、設定されたアドレス値に対応付けられたエイリアス領域に対してバーストアクセスされた場合に、レジスタ７およびアドレス変換部６を備えたレジスタアドレス制御装置では、データアクセスのスループットを向上させることができる。
【００２０】
従来技術では、ＣＰＵと被アクセス装置との間に被アクセス想定のアドレスをデータとして設定するアドレス拡張処理部を設けることにより、アドレスバス幅や構成が変更になった場合であっても、被アクセス装置やＣＰＵ上で動作する制御プログラムを流用することができたが、ＨＷ構成変更に対する柔軟性は確保できるが、スループットの向上は困難である、という問題があった。本実施の形態によれば、この問題を解決することが可能である。
【００２１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００２２】
１  マスタ、２  バス、３  スレーブ、４  メモリ、５  スレーブ、６  アドレス変換部、７  レジスタ、６１  アドレスデコーダ、６２  セレクタ。
【図１】
2013186559.tif 000003
【図２】
2013186559.tif 000004
【図３】
2013186559.tif 000005
【図４】
2013186559.tif 000006
【図５】
2013186559.tif 000007