JP2007128336A - Parallel register access device and system lsi - Google Patents

Parallel register access device and system lsi Download PDF

Info

Publication number
JP2007128336A
JP2007128336A JP2005321129A JP2005321129A JP2007128336A JP 2007128336 A JP2007128336 A JP 2007128336A JP 2005321129 A JP2005321129 A JP 2005321129A JP 2005321129 A JP2005321129 A JP 2005321129A JP 2007128336 A JP2007128336 A JP 2007128336A
Authority
JP
Japan
Prior art keywords
register
field
access
parallel
register access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005321129A
Other languages
Japanese (ja)
Inventor
Koji Mizusawa
浩司 水澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2005321129A priority Critical patent/JP2007128336A/en
Publication of JP2007128336A publication Critical patent/JP2007128336A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a parallel register access device capable of speeding up access to a plurality of peripheral registers as the whole. <P>SOLUTION: The device includes: a plurality of register access modules accessing the peripheral registers according to an instruction previously stored in a memory; and an arbitration part arbitrating access from the plurality of register access modules. The parallel register access device has a parallel access function to the plurality of peripheral functioning independently of a CPU. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、並列レジスタアクセス装置及びシステムLSIに関する。   The present invention relates to a parallel register access device and a system LSI.

特開平11−353153号公報にシステム内部のレジスタの初期値の設定変更を、低コストかつ容易に行うことのできるレジスタ設定回路が開示されている。同公報のレジスタ設定回路は、レジスタの初期値を変更するためのプログラムコードを格納するプログラムコード格納領域及び前記レジスタの初期値を変えるための設定値を格納するレジスタ設定領域を有した不揮発性メモリと、前記プログラムコード格納領域のプログラムコードに基づき、前記レジスタ設定領域から読出された設定値に応じて前記レジスタの初期値をダイレクトに変更設定する設定制御回路とを備えてなり、CPUから指示されたレジスタ設定領域の設定値を読み出すだけでレジスタの初期値を変更させることが可能となっている。   Japanese Patent Laid-Open No. 11-353153 discloses a register setting circuit that can easily change the setting of the initial value of a register in the system at low cost. The register setting circuit disclosed in the publication includes a program code storage area for storing a program code for changing an initial value of a register and a non-volatile memory having a register setting area for storing a setting value for changing the initial value of the register And a setting control circuit for directly changing and setting the initial value of the register according to the setting value read from the register setting area based on the program code in the program code storage area, and instructed by the CPU. It is possible to change the initial value of the register simply by reading the set value in the register setting area.

特開平11−353153号公報JP 11-353153 A

ところで、携帯電話等において、電源を投入してから液晶画面に絵が出るまでに時間が掛かるものが見受けられる。こうしたシステムの立ち上がりが遅くなる要因の一つは、システムLSIの初期化処理に時間が掛かることにあり、当該機種のみならず当該メーカー製品への好感を持って頂くためにも、一層の高速化が求められている。   By the way, it can be seen that a cellular phone or the like takes time from when the power is turned on until a picture is displayed on the liquid crystal screen. One of the factors that slows down the start-up of the system is that it takes time to initialize the system LSI, and it is even faster to have a good feeling not only for the model but also for the manufacturer. Is required.

図16、図19、図20はCPUによって複数のペリフェラル(Peripheral、周辺装置)の初期化を行う際の流れを表した図である。同図に示されるように、従来の方法では、電源を投入し、リセット解除後、CPUがペリフェラルAの初期化を行い(図17参照)、続いてペリフェラルBの初期化を行う(図18参照)というように、CPUがn個のペリフェラルを直列に処理していくものである。   FIGS. 16, 19, and 20 are diagrams showing a flow when the CPU initializes a plurality of peripherals (peripherals, peripheral devices). As shown in the figure, in the conventional method, after the power is turned on and reset is released, the CPU initializes peripheral A (see FIG. 17), and then initializes peripheral B (see FIG. 18). ), The CPU processes n peripherals in series.

第1の問題点は、あるペリフェラルの初期化において、あるレジスタ(Register)、例えば(レジスタB、C)の設定後、ある程度の「待ち」(wait)が必要となるケースがあり、これにより後続処理に遅延が伝播することである。この待ち時間は数十msに達することもあり、図19に示したように、初期化処理全体を長期化させる一因となっている。   The first problem is that in the initialization of a certain peripheral, after setting a certain register (Register), for example, (Registers B and C), there is a case where a certain amount of “wait” is necessary, and the subsequent The delay is propagated to the process. This waiting time may reach several tens of ms, which is one factor in prolonging the entire initialization process as shown in FIG.

第2の問題点は、電源投入後一定時間経過した後でないとレジスタA、B、Cを設定してはいけないという制約が、あるペリフェラルに課される結果、図20に示したように、当該ペリフェラルの初期化及び後続処理の処理開始時間が遅延することである。上記制約は、電源やクロックの安定待ちのために課されるものであるが、実際には、当該ペリフェラルが初期化される時点で、上記制約時間以上の時間が経過していることも多く、その分だけ無駄が生じている。   The second problem is that, as shown in FIG. 20, the restriction that registers A, B, and C must be set only after a certain period of time has passed since power is turned on. The processing start time of peripheral initialization and subsequent processing is delayed. The above constraints are imposed to wait for the power supply and clock to stabilize, but in reality, at the time when the peripheral is initialized, a time longer than the above constraint time has often passed. There is a lot of waste.

また、上記CPUにて直列にペリフェラルの初期を行う方式において、上記第1、第2の問題点を解決するには、CPUに複雑な命令を与えたり、コンパイルの合理化を行ったりする等しかなく、ソフトウェア設計者に多大な負担がかかってしまうという別の問題点もある。   Further, in the system in which the peripherals are initialized in series by the CPU, the first and second problems can be solved only by giving complicated instructions to the CPU or rationalizing compilation. Another problem is that it puts a heavy burden on software designers.

特許文献1に記載のレジスタ設定回路によれば、上記に係るCPUの負荷やソフト設計者の負担を軽減できる可能性があるが、上記レジスタへのアクセスを直列に行う点では、上記従来技術と同様であり、待ち時間分のロスが生じる点で変わりは無い。   According to the register setting circuit described in Patent Document 1, there is a possibility that the load on the CPU and the burden on the software designer related to the above may be reduced. However, in terms of performing serial access to the register, The same is true, and there is no change in that a waiting time loss occurs.

本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、上記初期化に代表される複数のレジスタへのリード/ライト処理を全体として高速化できる装置を提供することにある。   The present invention has been made in view of the above circumstances, and an object of the present invention is to provide an apparatus capable of speeding up the overall read / write processing to a plurality of registers represented by the initialization. There is.

本発明の第1の視点によれば、バスを介して複数のペリフェラルと接続され、CPUとは独立して動作する並列レジスタアクセス装置であって、予めメモリに格納された命令に従って、前記各ペリフェラルのレジスタにアクセスする複数のレジスタアクセスモジュールと、前記複数のレジスタアクセスモジュールからのアクセスを調停する調停部と、を含み、複数のペリフェラルへの並列アクセス機能を提供すること、を特徴とする並列レジスタアクセス装置が提供される。   According to a first aspect of the present invention, there is provided a parallel register access device that is connected to a plurality of peripherals via a bus and operates independently of a CPU, and each of the peripherals according to instructions stored in a memory in advance. A parallel register comprising a plurality of register access modules for accessing a plurality of registers, and an arbitration unit for arbitrating accesses from the plurality of register access modules, and providing a parallel access function to a plurality of peripherals An access device is provided.

本発明によれば、上記した待ち時間を最小化し、複数のレジスタに効率よくアクセスする仕組みが提供される。より具体的には、複数のレジスタへのアクセスを要するシステムの初期化においてその利点が発揮され、初期化に要する時間を大幅に短縮可能となる。   According to the present invention, a mechanism for minimizing the waiting time and efficiently accessing a plurality of registers is provided. More specifically, this advantage is exhibited in the initialization of a system that requires access to a plurality of registers, and the time required for initialization can be greatly reduced.

続いて、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。図1は、LSI初期化装置(DRSC:Direct Register Set Controller。以下、DRSC)として具現された本発明の第1の実施形態に係る並列レジスタアクセス装置を含むシステムLSIの第1の実施形態の構成を表したブロック図である。   Next, the best mode for carrying out the present invention will be described in detail with reference to the drawings. FIG. 1 shows a configuration of a first embodiment of a system LSI including a parallel register access apparatus according to the first embodiment of the present invention embodied as an LSI initialization apparatus (DRSC: Direct Register Set Controller, hereinafter referred to as DRSC). It is a block diagram showing.

図1を参照すると、CPU2a、DRSC2b、DMAC(Direct Memory Access Controller)2c、DSP(Digital Signal Processor)2d、内部バス2e、外部メモリI/F2f、内部メモリ2l、割り込みコントローラ2k、ペリフェラル2g〜2jを備えたシステムLSI1aと、不揮発メモリ、揮発メモリ、ハードディスク等の外部記憶装置1bとを接続した構成が示されている。   Referring to FIG. 1, a CPU 2a, a DRSC 2b, a DMAC (Direct Memory Access Controller) 2c, a DSP (Digital Signal Processor) 2d, an internal bus 2e, an external memory I / F 2f, an internal memory 2l, an interrupt controller 2k, and peripherals 2g to 2j A configuration is shown in which the system LSI 1a provided is connected to an external storage device 1b such as a nonvolatile memory, a volatile memory, or a hard disk.

図2は、上記DRSC2bの詳細構成を表したブロック図である。図2を参照すると、DRSC2bは、レジスタ群(Registers)4aと、レジスタアクセスモジュールとして動作しそれぞれ独立して各ペリフェラルの初期化を行いうるDRSM(Direct Register Set Module)群4bと、各DRSMからのアクセスを調停する調停部(Arbiter)4cと、エラー状態情報を保持し、割り込みコントローラ2kに対して割り込みを発生させるエラーステータスマネージャー(Error Status Manager)4dと、を備えて構成される。   FIG. 2 is a block diagram showing the detailed configuration of the DRSC 2b. Referring to FIG. 2, the DRSC 2b includes a register group (Registers) 4a, a DRSM (Direct Register Set Module) group 4b that operates as a register access module and can independently initialize each peripheral, and from each DRSM. An arbitration unit (Arbiter) 4c that arbitrates access and an error status manager (Error Status Manager) 4d that holds error state information and generates an interrupt to the interrupt controller 2k are configured.

DRSM群4bに含まれる各DRSM(DRSMa〜DRSMn)は、それぞれ独立して動作し、外部記憶装置1bの初期化データが書かれている領域から読み込んだ命令に従って、初期化処理を実行する。   Each DRSM (DRSMa to DRSMn) included in the DRSM group 4b operates independently, and executes initialization processing in accordance with an instruction read from an area in which initialization data of the external storage device 1b is written.

調停部(Arbiter)4cは、各DRSM(DRSMa〜DRSMn)からのアクセスを調停する。従って、複数のアクセス要求が同時に発せられた場合は、調停を勝ち抜いたアクセスのみが、その初期化対象のペリフェラルを初期化できる構成となっている。   The arbitrating unit (Arbiter) 4c arbitrates access from each DRSM (DRSMa to DRSMn). Therefore, when a plurality of access requests are issued at the same time, only the access that has won the arbitration can initialize the peripheral to be initialized.

従って、DRSC2bは、例えば、少なくとも2つのDRSM(例えば、DRSMa、DRSMb)に、それぞれペリフェラルA2g、ペリフェラルB2hを初期化する命令を与え、各DRSMからのアクセスを調停することにより、図3に模式的に示すとおり、2つのペリフェラルA、Bのレジスタ3a、3bに直接かつ並列にアクセスすることが可能となっている。その間、CPU2aは、フリーの状態であり、他の資源にアクセスすることが可能である。   Accordingly, for example, the DRSC 2b is schematically illustrated in FIG. 3 by giving instructions to initialize the peripherals A2g and B2h to at least two DRSMs (for example, DRSMa and DRSMb), respectively, and arbitrating access from each DRSM. As shown in FIG. 2, the registers 3a and 3b of the two peripherals A and B can be accessed directly and in parallel. Meanwhile, the CPU 2a is in a free state and can access other resources.

図4〜図9は、レジスタ群(Registers)4aの詳細構成を説明するための図である。DRSC_START_ADDRnは、図4に示したとおり、32ビットのレジスタであり、n(n;DRSMの数)番目のDRSMに対して与える命令(図10参照)が格納された外部記憶装置上の先頭アドレスが格納される。   4 to 9 are diagrams for explaining a detailed configuration of the register group (Registers) 4a. As shown in FIG. 4, DRSC_START_ADDRn is a 32-bit register, and the start address on the external storage device storing the instruction (see FIG. 10) to be given to the nth (n; the number of DRSM) DRSM is stored. Stored.

DRSC_INTERRUPT_STATUSnは、図5に示したとおり、n(n;DRSMの数)番目のDRSMの各種ステータスが格納され、割り込み発生状況をモニタするために使用される。   As shown in FIG. 5, DRSC_INTERRUPT_STATUSn stores various statuses of the nth (n; the number of DRSM) DRSM, and is used to monitor the interrupt generation status.

DRSC_INTERRUPT_ENABLEnは、図6に示したとおり、n(n;DRSMの数)番目のDRSMの割り込み可否設定が格納される。   As shown in FIG. 6, DRSC_INTERRUPT_ENABLEn stores n (n: the number of DRSM) -th DRSM interrupt enable / disable settings.

DRSC_POLL_TIMEOUTnは、図7に示したとおり、DRSC_INTERRUPT_ENABLEnの[Polling TimeoutEn]FieldがEnable’1’とされている場合に、Timeoutまでのクロック数を設定する際に使用される。   As shown in FIG. 7, DRSC_POLL_TIMEOUTn is used when setting the number of clocks up to Timeout when [Polling TimeoutEn] Field of DRSC_INTERRUPT_ENABLEn is set to Enable'1 '.

DRSC_CHANEL_GOは、図8に示したとおり、各DRSMに与えられている動作指示を示すものであり、各DRSMの位置(GOnField)に、動作指示を表すStart/Stopビットが書き込まれる。図8では、DRSC2bが15のDRSMを備えている例であり、32ビットのうち15ビットを使用してこれらDRSMを管理可能となっている。   As shown in FIG. 8, DRSC_CHANEL_GO indicates an operation instruction given to each DRSM, and a Start / Stop bit representing the operation instruction is written in each DRSM position (GOOnField). FIG. 8 shows an example in which the DRSC 2b includes 15 DRSMs, and these DRSMs can be managed using 15 bits out of 32 bits.

例えば初期化を行う場合、CPUがDRSM群4bの所要のDRSMを起動すべく、DRSC_CHANEL_GOの対応箇所にStartビット’1’を書き込む。Startビットが書き込まれたDRSMは、上記DRSC_START_ADDRnに指定されたアドレスから命令を読み出し、動作を開始することになる。   For example, when performing initialization, the CPU writes a Start bit “1” in a corresponding location of DRSC_CHANEL_GO in order to activate a required DRSM of the DRSM group 4b. The DRSM in which the Start bit is written reads an instruction from the address specified in the DRSC_START_ADDRn and starts operation.

DRSC_CHANEL_STATUSは、図9に示したとおり、各DRSMの動作状況を示すものであり、各DRSMの位置にそのステータス(動作中/停止中)ビットが書き込まれる。   As shown in FIG. 9, DRSC_CHANEL_STATUS indicates the operation status of each DRSM, and the status (operating / stopped) bit is written at the position of each DRSM.

図10は、外部記憶装置1bにおける命令の格納態様を表した図であり、図11は、図10の命令Fieldの詳細構成を表した図である。図10に示したとおり、外部記憶装置1bの所定領域に、128ビット単位の命令Fieldデータが実行順序に従って予め用意される。命令Fieldデータは、アクセスする(初期化対象の)レジスタのアドレス、データ、Verifyデータ、命令オペランド、Endビットが格納される。   FIG. 10 is a diagram showing how instructions are stored in the external storage device 1b, and FIG. 11 is a diagram showing a detailed configuration of the instruction field shown in FIG. As shown in FIG. 10, instruction field data in 128-bit units is prepared in advance in a predetermined area of the external storage device 1b according to the execution order. In the instruction field data, an address (data to be initialized), data, verify data, an instruction operand, and an end bit are stored.

従って、DRSC_START_ADDRnに指定されたアドレスに格納された命令Fieldから、[End]ビット’1’がセットされた命令Fieldまでの内容により、DRSMに与える一連の命令が構成される。   Therefore, a series of instructions to be given to the DRSM is constituted by the contents from the instruction field stored at the address specified by DRSC_START_ADDRn to the instruction field in which the [End] bit '1' is set.

続いて、DRSMにおいて実行可能な命令についていくつか例を挙げて説明する。   Next, some examples of instructions that can be executed in DRSM will be described.

[ReWr]Fieldが’0’である場合は、Write命令と解釈され、[Address]Fieldに指定されたアドレスを有するレジスタに、[Data]Fieldの内容が書き込まれる。なおかつ、[Verify]Fieldが’1’である場合は、Verify要と解釈され、書き込んだアドレスの内容を読み出し、[Data]Fieldとを照合するVerify動作が行われる。また更に、[ReVerifyWr]Fieldが’1’である場合は、Read Verify Write命令であると解釈され、まず[Address]Fieldに指定されたアドレスの内容を読み出し、その結果を[Verify Data]Fieldに格納し、[Data]Fieldの値とORした結果を[Address]Fieldのアドレスに書き込む動作が行われる。   When [ReWr] Field is “0”, it is interpreted as a Write instruction, and the contents of [Data] Field are written into the register having the address specified in [Address] Field. Further, when [Verify] Field is “1”, it is interpreted as “Verify” required, and the contents of the written address are read, and the Verify operation is performed to collate with [Data] Field. Furthermore, when [ReVerifyWr] Field is “1”, it is interpreted as a Read Verify Write instruction, and the contents of the address specified in [Address] Field are read first, and the result is read in [Verify Data] Field. The operation of storing and writing the result of ORing with the value of [Data] Field is performed at the address of [Address] Field.

一方、[ReWr]Fieldが’1’である場合は、Read命令と解釈され、[Address]Fieldに指定されたアドレスを有するレジスタの内容を読み出し、[Data]Fieldに格納する動作が行われる。ここでも、[Verify]Fieldが’1’である場合は、Verify要と解釈され、読み出した内容と[Verify Data]Fieldの内容とを照合するVerify動作が行われる。また更に、[Polling]Fieldが’1’である場合は、読み出したデータが[Verify Data]Fieldと一致するまで、当該[Address]Fieldをポーリングする。また更に、[Polling]Fieldが’1’である場合は、[Timeout]Fieldも’1’にすることが可能であり、Timeout機能を有効化することが可能である。   On the other hand, when [ReWr] Field is “1”, it is interpreted as a Read instruction, and the contents of the register having the address specified in [Address] Field are read and stored in [Data] Field. Again, if [Verify] Field is “1”, it is interpreted as Verify required, and a Verify operation is performed to collate the read contents with the contents of [Verify Data] Field. Furthermore, when [Polling] Field is “1”, the [Address] Field is polled until the read data matches [Verify Data] Field. Furthermore, when [Polling] Field is “1”, [Timeout] Field can also be set to “1”, and the Timeout function can be validated.

[Repeat]Fieldに値がセットされている場合は、当該命令Fieldに書かれた命令が[Repeat]Fieldに書かれた回数分繰り返される。   When a value is set in [Repeat] Field, the instruction written in the instruction Field is repeated by the number of times written in [Repeat] Field.

また、[Wait]Fieldが’1’である場合は、Wait命令と解釈され、[Data]Fieldに指定された値×クロック分の待機が行われる。[NOP]Fieldが’1’である場合は、当該命令Fieldに書かれた命令はスキップされる。   Also, when [Wait] Field is “1”, it is interpreted as a Wait instruction, and a wait for the value specified by [Data] Field × clock is performed. [NOP] If Field is '1', the instruction written in the instruction Field is skipped.

また、[Comp]Fieldが’1’である場合は、読み出した内容に応じた条件分岐を行うCompare命令と解釈される。図12は、読み出した内容に応じて場合分けして3命令を実行するよう定義されたCompare命令の動作を説明するための図である。図12に示されたように、アドレス0x****0020のCompare命令を読み出すと、DRSMは、まず[Address]Fieldに指定されたアドレスの内容を読み出し、[Data]Field、[Verify]Fieldの内容と比較する。   Further, when [Comp] Field is “1”, it is interpreted as a Compare instruction for performing a conditional branch according to the read content. FIG. 12 is a diagram for explaining the operation of the Compare instruction defined to execute three instructions according to the read contents. As shown in FIG. 12, when the Compare instruction at the address 0x ***** 0020 is read, the DRSM first reads the contents of the address specified in [Address] Field, and [Data] Field, [Verify] Field. Compare with the contents of.

前記比較の結果、読み出したデータが、[Data]Fieldの内容と一致した場合には、DRSMは、直後の命令Field4〜6(アドレス0x****0030〜0x****0050)を実行し、命令Field6を実行した後は、アドレス0x****0090にジャンプし、命令Fieldaを実行する。   As a result of the comparison, if the read data matches the contents of [Data] Field, DRSM executes the immediately following commands Field 4 to 6 (addresses 0x *** 0030 to 0x ******* 0050). Then, after executing the instruction Field6, the program jumps to the address 0x ****** 0090 and executes the instruction Fieldda.

一方、読み出したデータが、[Verify]Fieldの内容と一致した場合は、DRSMは、命令Field7〜9(アドレス0x****0060〜0x****0080)を実行し、そのまま命令Fieldaを実行する。   On the other hand, if the read data matches the contents of [Verify] Field, DRSM executes instructions Fields 7 to 9 (addresses 0x *** 0060 to 0x ****** 0080), and directly executes the instruction Fieldda. Execute.

以上、Compare命令の具体例を説明したが、比較結果による命令実行数は、3命令に限らず、用途に応じてフレキシブルに設計可能である。   The specific example of the Compare instruction has been described above, but the number of instruction executions based on the comparison result is not limited to three instructions, and can be designed flexibly according to the application.

続いて、システムLSI1aの初期化を行う場合の例を挙げて、本実施形態のDRSC2bの動作について説明する。まず、CPU2aによって、上記DRSC_CHANEL_GOのGOn bit=1とされたDRSMは、DRSC_START_ADDRnの[StartAddress]Fieldに格納されているアドレスの命令Fieldデータを読み出す。   Subsequently, the operation of the DRSC 2b of the present embodiment will be described by giving an example in which the system LSI 1a is initialized. First, the DRSM in which the Gon bit = 1 of the DRSC_CHANEL_GO is read by the CPU 2a, the instruction Field data at the address stored in the [StartAddress] Field of the DRSC_START_ADDRn.

DRSMは、命令Fieldの内容を解読し、命令を実行する。該命令の実行が完了したならば、DRSMは、その次の命令Fieldデータを読み出し、実行する。DRSMは、適宜[Repeat]Fieldにセットされた内容や、[Wait]Fieldにセットされた内容に従って動作し、[End]Fieldに’1’がセットされた命令Fieldまで、命令の実行を繰り返す。   DRSM decodes the contents of instruction Field and executes the instruction. When the execution of the instruction is completed, the DRSM reads and executes the next instruction Field data. The DRSM operates according to the content set in [Repeat] Field or the content set in [Wait] Field as appropriate, and repeats the execution of the instruction until the instruction Field in which “1” is set in [End] Field.

[End]Fieldに’1’がセットされた命令の実行後、DRSCは、DRSC_START_ADDRnの当該DRSMの位置(GOn)にStopビット’0’を書き込み、DRSMは停止する。   [END] After executing the instruction in which “1” is set in Field, DRSC writes Stop bit “0” in the DRSM position (GOn) of DRSC_START_ADDRn, and DRSM stops.

以上の過程で、例えば、[End]Fieldが’1'の命令Fieldの実行が終わると、DRSMは、自己のDRSC_INTERRUPT_STATUSnの[EndST]Fieldを’1’に変更する。   In the above process, for example, when the execution of the instruction field whose [End] Field is “1” is finished, the DRSM changes the [EndST] Field of its own DRSC_INTERRUPT_STATUSn to “1”.

同様に、Read Verifyを実行した際に、読み出した値と[Verify Data]Fieldの値とが一致しなかった場合は、DRSMは、自己のDRSC_INTERRUPT_STATUSnの[ReadErr]Fieldを’1’に変更する。   Similarly, when Read Verify is executed, if the read value does not match the value of [Verify Data] Field, DRSM changes [ReadErr] Field of its own DRSC_INTERRUPT_STATUSn to “1”.

同様に、Write Verifyを実行した際に、命令Fieldの[Data]Fieldの値と、実際に書き込んだ値が一致しなかった場合は、DRSMは、自己のDRSC_INTERRUPT_STATUSnの[WriteErr]Fieldを’1’に変更する。   Similarly, when the value of [Data] Field of the instruction field and the actually written value do not match when the Write Verify is executed, the DRSM sets [WriteErr] Field of its own DRSC_INTERRUPT_STATUSn to “1”. Change to

同様に、Timeout機能を有効化したPollingを実行した際に、DRSC_POLL_TIMEOUTnの[PollTimeout]Field分のクロック経過しても、Polling Data([Adress]Fieldで指定のデータ)が命令Fieldの[Verify Data]Fieldと一致しなかった場合は、DRSMは、自己のDRSC_INTERRUPT_STATUSnの[PollingTimeout]Fieldを’1’に変更する。   Similarly, when executing the polling with the timeout function enabled, the polling data (the data specified by the [address] field) is the [Verify Data] of the instruction field even when the [PollTimeout] Field clock of DRSC_POLL_TIMEOUTn has elapsed. If it does not match the Field, the DRSM changes [PollingTimeout] Field of its own DRSC_INTERRUPT_STATUSn to “1”.

同様に、Compare命令を実行した際に、読み出したデータが、[Data]Fieldの内容とも[Verify]Fieldの内容とも一致しなかった場合は、DRSMは、自己のDRSC_INTERRUPT_STATUSnの[CompareErr]Fieldを’1’に変更する。   Similarly, if the read data does not match the contents of [Data] Field and [Verify] Field when the Compare instruction is executed, DRSM sets [CompareErr] Field of its own DRSC_INTERRUPT_STATUSn to ' Change to 1 '.

このように、各DRSMの割り込みは、DRSC_INTERRUPT_STATUSnの各bitに’1’をセットすることによりクリアされる。   In this way, the interrupt of each DRSM is cleared by setting “1” to each bit of DRSC_INTERRUPT_STATUSn.

図13は、DRSC2bの調停部4cの調停を介して、3つのDRSMにより、4つのPeripheralA〜Dのレジスタ設定が行われる際の状況を表した図である。まず、調停部4cにより、DRSMaから優先順位の最も高いPeripheralAへのアクセスが許可されるが、DRSMaがwait命令を読み出した時点で、DRSMcからPeripheralCへのアクセスに切り替えられる。   FIG. 13 is a diagram illustrating a situation when register settings of four Peripheral A to D are performed by three DRSMs through the arbitration unit 4c of the DRSC 2b. First, the arbitration unit 4c permits access from DRSMa to PeripheralA having the highest priority, but when DRSMa reads the wait instruction, switching from DRSMc to PeripheralC is performed.

続いて、DRSMcがPeripheralCの設定を完了しても、続く命令FieldにPeripheralDのレジスタ設定処理が記述されているため、PeripheralDへのアクセスが行われる。そして、DRSMcがwait命令を読み出した時点で、DRSMbからPeripheralBへのアクセスに切り替えられる。   Subsequently, even if DRSMc completes the setting of PeripheralC, since the register setting process of PeripheralD is described in the subsequent instruction Field, Access to PeripheralD is performed. Then, when DRSMc reads the wait command, the access is switched from DRSMb to PeripheralB.

続いて、DRSMbがPeripheralBの設定を完了し、DRSC_INTERRUPT_STATUSbの[EndST]Fieldに’1’が立つと、今度はDRSMcからPeripheralDへのアクセスに切り替えられる。   Subsequently, when DRSMb completes the setting of PeripheralB and “1” is set in [EndST] Field of DRSC_INTERRUPT_STATUSb, this time, switching from DRSMc to PeripheralD is performed.

DRSMcが一の命令を実行した時点で、DRSMaの待ち時間が終了したため、今度はDRSMaからPeripheralAへのアクセスに切り替えられる。そして、DRSMaがPeripheralAの設定を完了し、DRSC_INTERRUPT_STATUSaの[EndST]Fieldに’1’が立った時点で、再度、DRSMcからPeripheralDへのアクセスに切り替えられ、すべてのPeripheralの初期化が完了する。   When the DRSMa executes one instruction, the DRSMa waiting time has ended, so this time the DSMMa is switched to the access to Peripheral A. Then, when DRSMa completes the setting of Peripheral A and “1” is set in [EndST] Field of DRSC_INTERRUPT_STATUSa, it is switched again to access to Peripheral D from DRSMc, and all the Peripherals are initialized.

以上のように、複数のDRSMが各ペリフェラルの初期化を並列処理することによって、あるペリフェラルの初期化の際の待機時間中に、他のペリフェラルの初期化を行うことができ、初期化時間を短縮することが可能となる。   As described above, when a plurality of DRSMs process initialization of each peripheral in parallel, other peripherals can be initialized during the waiting time for initialization of a certain peripheral. It can be shortened.

また、以上のようにDRSMへの動作指示(Start/Stop)を自由に設定可能としたことにより、フレキシブルに初期化ルーチンを構成すること、各DRSMへの負荷を平準化することも可能となる。   Also, as described above, since the operation instruction (Start / Stop) to the DRSM can be set freely, an initialization routine can be configured flexibly and the load on each DRSM can be leveled. .

また、ソフトウェア設計者の負担も大きく軽減される。例えば、上記各DRSMが動作中か否かの判別を行い、命令順序を組み替えることにより、初期化に要する総時間を短縮することが可能である。   In addition, the burden on the software designer is greatly reduced. For example, it is possible to reduce the total time required for initialization by determining whether or not each DRSM is operating and rearranging the instruction order.

続いて、上記第1の実施形態の構成にてリセット時に初期化動作が行われるようにした本発明の第2の実施形態について説明する。図14は、リセット操作と同時に、所要のDRSMが動作するよう指示する際にDRSC_CHANEL_GOに書き込む値(ResetValue)を表した図である。   Next, a description will be given of a second embodiment of the present invention in which the initialization operation is performed at the time of reset in the configuration of the first embodiment. FIG. 14 is a diagram showing values (ResetValue) to be written to DRSC_CHANEL_GO when an instruction is given to operate the required DRSM simultaneously with the reset operation.

図14を参照すると、Reset valueでは、DRSMa〜DRSMcの3本のGOn bitが’1’とされており、リセット解除とともに、DRSMa〜DRSMcが動き出す構成となっている。   Referring to FIG. 14, in Reset value, three GOn bits from DRSMa to DRSMc are set to “1”, and DRSMa to DRSMc start to move along with the reset release.

また、DRSC_START_ADDRa〜DRSC_START_ADDRcの[StartAddress]FieldのReset valueも同様に用意され、外部記憶装置1bの所定アドレスから所定のリセット動作命令が読み出されるようにすることができる。より具体的には、CPUが起動する際に、必要不可欠なペリフェラルの設定を任せたり、PLLを初期化する前から設定しても問題無いペリフェラルの設定をさせたりする等の機能を付加することができる。   Similarly, a Reset value of [StartAddress] Field of DRSC_START_ADDRa to DRSC_START_ADDRc is prepared, and a predetermined reset operation command can be read from a predetermined address of the external storage device 1b. More specifically, when starting up the CPU, add functions such as leaving indispensable peripheral settings or setting peripherals that can be set even before the PLL is initialized. Can do.

以上本発明の第1、第2の実施形態を挙げて説明したが、フレキシブルに命令内容を定め得ることからも明らかなとおり、本発明の技術的範囲は、上述した各実施形態に限定されるものではなく、システムLSIの複数のレジスタに、直接かつ並列にアクセスを可能とするという本発明の要旨を逸脱しない範囲で、各種の変形・置換をなしうることが可能であることはいうまでもない。例えば、調停部(Arbiter)の調停ロジックについては、並列処理を実現する各種公知のロジックを適用することが可能である。   Although the first and second embodiments of the present invention have been described above, the technical scope of the present invention is limited to the above-described embodiments, as is clear from the fact that instruction contents can be determined flexibly. It goes without saying that various modifications and replacements can be made without departing from the spirit of the present invention that allows direct and parallel access to a plurality of registers of the system LSI. Absent. For example, various known logics that realize parallel processing can be applied to the arbitration logic of the arbitration unit (Arbiter).

例えば、予め命令データを外部記憶装置1bにセットしておけば、本発明に係る並列レジスタアクセス装置を搭載したシステムLSIは、ランダムアクセス可能なホスト装置として使用可能である。例えば、CPUがキャッシュに閉じて動いていたり、内蔵メモリに頻繁にアクセスしたりしている状態であっても、CPUのパフォーマンスを落とすことなく、他のペリフェラルを設定することが可能である。   For example, if instruction data is set in the external storage device 1b in advance, the system LSI equipped with the parallel register access device according to the present invention can be used as a randomly accessible host device. For example, it is possible to set other peripherals without degrading the performance of the CPU even when the CPU is moving in a closed state in the cache or accessing the built-in memory frequently.

また、図15に示すように、DRSM毎に汎用IO割り込みを受け付けるか否かを定める[IO_INT_Enable]Fieldと、汎用IO番号を指定する[IONumber]Fieldを有するDRSC_IO_INT_STARTnレジスタを追加し、所定の汎用I/Oからの入力割り込みを受け付けると、対応するDRSMが動作を開始するようにすることも可能となる。この場合、CPUがオフ状態の場合であっても、ペリフェラルのレジスタ設定変更を行うことができるシステムLSIとなる。   Also, as shown in FIG. 15, a DRSC_IO_INT_STARTn register having [IO_INT_Enable] Field for determining whether or not to accept a general-purpose IO interrupt for each DRSM and [IONNumber] Field for specifying a general-purpose IO number is added, and a predetermined general-purpose I / O is added. When an input interrupt from / O is received, the corresponding DRSM can start operating. In this case, the system LSI can change the register setting of the peripheral even when the CPU is off.

本発明の第1の実施形態に係るシステムLSIの構成を表したブロック図である。1 is a block diagram illustrating a configuration of a system LSI according to a first embodiment of the present invention. 本発明の第1の実施形態に係るシステムLSIに含まれるDRSCの構成を表したブロック図である。1 is a block diagram showing a configuration of a DRSC included in a system LSI according to a first embodiment of the present invention. 本発明の第1の実施形態に係るシステムLSIに含まれるDRSCの概略動作を表した図である。It is a figure showing schematic operation | movement of DRSC contained in the system LSI which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るシステムLSIに含まれるDRSCのレジスタ群の内容を説明するための図である。FIG. 5 is a diagram for explaining the contents of a DRSC register group included in the system LSI according to the first embodiment of the present invention. 本発明の第1の実施形態に係るシステムLSIに含まれるDRSCのレジスタ群の内容を説明するための図である。FIG. 5 is a diagram for explaining the contents of a DRSC register group included in the system LSI according to the first embodiment of the present invention. 本発明の第1の実施形態に係るシステムLSIに含まれるDRSCのレジスタ群の内容を説明するための図である。FIG. 5 is a diagram for explaining the contents of a DRSC register group included in the system LSI according to the first embodiment of the present invention. 本発明の第1の実施形態に係るシステムLSIに含まれるDRSCのレジスタ群の内容を説明するための図である。FIG. 5 is a diagram for explaining the contents of a DRSC register group included in the system LSI according to the first embodiment of the present invention. 本発明の第1の実施形態に係るシステムLSIに含まれるDRSCのレジスタ群の内容を説明するための図である。FIG. 5 is a diagram for explaining the contents of a DRSC register group included in the system LSI according to the first embodiment of the present invention. 本発明の第1の実施形態に係るシステムLSIに含まれるDRSCのレジスタ群の内容を説明するための図である。FIG. 5 is a diagram for explaining the contents of a DRSC register group included in the system LSI according to the first embodiment of the present invention. 本発明の第1の実施形態において外部記憶装置に用意される命令データを説明するための図である。It is a figure for demonstrating the command data prepared for the external storage device in the 1st Embodiment of this invention. 本発明の第1の実施形態において外部記憶装置に用意される命令データを説明するための図である。It is a figure for demonstrating the command data prepared for the external storage device in the 1st Embodiment of this invention. 本発明の第1の実施形態に係るシステムLSIに含まれるDRSCのCompare命令による動作を説明するための図である。It is a figure for demonstrating the operation | movement by the DRSC Compare instruction contained in the system LSI which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るシステムLSIに含まれるDRSCによる複数のペリフェラルの初期化の流れを表した図である。It is a figure showing the flow of initialization of the some peripheral by DRSC contained in the system LSI which concerns on the 1st Embodiment of this invention. 本発明の第2の実施形態に係るシステムLSIに含まれるDRSCのレジスタ群の内容を説明するための図である。It is a figure for demonstrating the content of the register group of DRSC contained in the system LSI which concerns on the 2nd Embodiment of this invention. 本発明の第3の実施形態において追加されるレジスタの内容を説明するための図である。It is a figure for demonstrating the content of the register added in the 3rd Embodiment of this invention. CPUによる複数のペリフェラルの初期化の流れを表した図である。It is a figure showing the flow of initialization of several peripherals by CPU. CPUによるペリフェラルの初期化を説明するための図である。It is a figure for demonstrating initialization of the peripheral by CPU. CPUによるペリフェラルの初期化を説明するための図である。It is a figure for demonstrating initialization of the peripheral by CPU. CPUによる複数のペリフェラルの初期化の流れを表した図である。It is a figure showing the flow of initialization of several peripherals by CPU. CPUによる複数のペリフェラルの初期化の流れを表した図である。It is a figure showing the flow of initialization of several peripherals by CPU.

符号の説明Explanation of symbols

1a システムLSI
1b 外部記憶装置
2a CPU
2b DRSC(Direct Register Set Controller)
2c DMAC(Direct Memory Access Controller)
2d DSP(Digital Signal Processor)
2e 内部バス
2f 外部メモリI/F
2l 内部メモリ
2k 割り込みコントローラ
2g〜2j ペリフェラル(Peripheral)
3a、3b レジスタ(Register)
4a レジスタ群(Registers)
4b DRSM(Direct Register Set Module)群
4c 調停部(Arbiter)
4d エラーステータスマネージャー(Error Status Manager)
1a System LSI
1b External storage device 2a CPU
2b DRSC (Direct Register Set Controller)
2c DMAC (Direct Memory Access Controller)
2d DSP (Digital Signal Processor)
2e Internal bus 2f External memory I / F
2l Internal memory 2k Interrupt controller 2g to 2j Peripheral
3a, 3b Register (Register)
4a Registers (Registers)
4b DRSM (Direct Register Set Module) group 4c Arbiter
4d Error Status Manager (Error Status Manager)

Claims (5)

バスを介して複数のペリフェラルと接続され、CPUとは独立して動作する並列レジスタアクセス装置であって、
予めメモリに格納された命令に従って、前記各ペリフェラルのレジスタにアクセスする複数のレジスタアクセスモジュールと、
前記複数のレジスタアクセスモジュールからのアクセスを調停する調停部と、を含み、複数のペリフェラルへの並列アクセス機能を提供すること、
を特徴とする並列レジスタアクセス装置。
A parallel register access device connected to a plurality of peripherals via a bus and operating independently of the CPU,
A plurality of register access modules for accessing the registers of each peripheral in accordance with instructions stored in memory in advance;
An arbitration unit that arbitrates access from the plurality of register access modules, and provides a parallel access function to the plurality of peripherals;
A parallel register access device.
所定のメモリから、前記レジスタアクセスモジュールの動作待機時間を含む各ペリフェラルのレジスタの初期化手順を定めた初期化データを読み出して、前記各レジスタアクセスモジュールに、並列的に前記各ペリフェラルの初期化処理を実行させること、
を特徴とする請求項1に記載の並列レジスタアクセス装置。
Reads initialization data defining the register initialization procedure including the operation waiting time of the register access module from a predetermined memory, and initializes the peripherals in parallel to the register access modules. Running
The parallel register access apparatus according to claim 1.
前記レジスタアクセスモジュール毎に割り込み可否を設定するレジスタと、
前記各レジスタアクセスモジュールの動作状況を保持するレジスタと、を有し、
前記調停部が前記各レジスタ値を用いて調停を実行すること、
を特徴とする請求項1又は2に記載の並列レジスタアクセス装置。
A register for setting whether or not an interrupt is permitted for each register access module;
A register for holding the operation status of each of the register access modules,
The arbitration unit performs arbitration using the register values;
The parallel register access apparatus according to claim 1, wherein:
前記レジスタアクセスモジュール毎に、システム外部からの入力割込み可否を設定するレジスタを有し、
システム外部からの指令によって、複数のペリフェラルのレジスタへの並列アクセスを実行可能としたこと、
を特徴とする請求項1乃至3いずれか一に記載の並列レジスタアクセス装置。
を備えること、
Each register access module has a register for setting whether or not an input interrupt from the outside of the system is possible,
The parallel access to the registers of multiple peripherals can be executed by a command from outside the system.
The parallel register access apparatus according to claim 1, wherein:
Providing
請求項1乃至4いずれか一に記載の並列レジスタアクセス装置及び前記複数のペリフェラルを内蔵したこと、を特徴とするシステムLSI。   5. A system LSI comprising the parallel register access device according to claim 1 and the plurality of peripherals.
JP2005321129A 2005-11-04 2005-11-04 Parallel register access device and system lsi Pending JP2007128336A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005321129A JP2007128336A (en) 2005-11-04 2005-11-04 Parallel register access device and system lsi

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005321129A JP2007128336A (en) 2005-11-04 2005-11-04 Parallel register access device and system lsi

Publications (1)

Publication Number Publication Date
JP2007128336A true JP2007128336A (en) 2007-05-24

Family

ID=38150940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005321129A Pending JP2007128336A (en) 2005-11-04 2005-11-04 Parallel register access device and system lsi

Country Status (1)

Country Link
JP (1) JP2007128336A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019512135A (en) * 2016-02-29 2019-05-09 ルネサス エレクトロニクス アメリカ インコーポレイテッドRenesas Electronics America Inc. System and method for programming microcontroller data transfer

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195448A (en) * 1990-11-28 1992-07-15 Hitachi Ltd Data transfer control method and data processor using the method
JPH05204833A (en) * 1992-01-28 1993-08-13 Nec Kyushu Ltd Direct memory access transfer controller
JPH096483A (en) * 1995-06-20 1997-01-10 Hitachi Ltd Microcomputer and portable telephone set
JP2003141057A (en) * 2001-11-06 2003-05-16 Mitsubishi Electric Corp Dma transfer control circuit
JP2003162497A (en) * 2002-09-11 2003-06-06 Hitachi Ltd Semiconductor integrated circuit device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195448A (en) * 1990-11-28 1992-07-15 Hitachi Ltd Data transfer control method and data processor using the method
JPH05204833A (en) * 1992-01-28 1993-08-13 Nec Kyushu Ltd Direct memory access transfer controller
JPH096483A (en) * 1995-06-20 1997-01-10 Hitachi Ltd Microcomputer and portable telephone set
JP2003141057A (en) * 2001-11-06 2003-05-16 Mitsubishi Electric Corp Dma transfer control circuit
JP2003162497A (en) * 2002-09-11 2003-06-06 Hitachi Ltd Semiconductor integrated circuit device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019512135A (en) * 2016-02-29 2019-05-09 ルネサス エレクトロニクス アメリカ インコーポレイテッドRenesas Electronics America Inc. System and method for programming microcontroller data transfer
JP7122969B2 (en) 2016-02-29 2022-08-22 ルネサス エレクトロニクス アメリカ インコーポレイテッド Systems and methods for programming microcontroller data transfers

Similar Documents

Publication Publication Date Title
US9195786B2 (en) Hardware simulation controller, system and method for functional verification
TWI493350B (en) High priority command queue for peripheral component
US8725485B2 (en) Simulation method and simulation apparatus
MX2012005183A (en) Command queue for peripheral component.
JP2006178646A (en) Information processor, information processing method, semiconductor device, and computer program
JP5622429B2 (en) Microcomputer
KR102152735B1 (en) Graphic processor and method of oprating the same
US20180203699A1 (en) Vector operand bitsize control
JP2007310565A (en) System lsi verification device and system lsi verification program
JP2007206933A (en) Information processor, boot loader generation method and program transfer method in information processor
JP2009175960A (en) Virtual multiprocessor system
JP2007128336A (en) Parallel register access device and system lsi
JP2011070290A (en) Data processor
TWI249130B (en) Semiconductor device
US7587579B2 (en) Processor core interface for providing external hardware modules with access to registers of the core and methods thereof
JP2004343158A (en) Configuration apparatus, method, and program
JP2006127407A (en) Semiconductor integrated circuit
JP5823000B2 (en) Microcomputer
JP2883465B2 (en) Electronic computer
JP2011118744A (en) Information processor
JP2006195598A (en) Real-time processing system
JP2007317102A (en) Simulation device
JP2004326633A (en) Hierarchical memory system
JP2004185060A (en) Microcomputer
JP2933569B2 (en) Central processing unit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111129