WO2010058525A1 - 半導体集積回路及びレジスタアドレス制御装置 - Google Patents

半導体集積回路及びレジスタアドレス制御装置 Download PDF

Info

Publication number
WO2010058525A1
WO2010058525A1 PCT/JP2009/005614 JP2009005614W WO2010058525A1 WO 2010058525 A1 WO2010058525 A1 WO 2010058525A1 JP 2009005614 W JP2009005614 W JP 2009005614W WO 2010058525 A1 WO2010058525 A1 WO 2010058525A1
Authority
WO
WIPO (PCT)
Prior art keywords
register
address
integrated circuit
semiconductor integrated
control device
Prior art date
Application number
PCT/JP2009/005614
Other languages
English (en)
French (fr)
Inventor
足立雄介
永田栄治
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Publication of WO2010058525A1 publication Critical patent/WO2010058525A1/ja
Priority to US13/110,664 priority Critical patent/US20110219219A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming

Definitions

  • the present invention relates to a semiconductor integrated circuit and a register address control device for a CPU to access a register of its peripheral circuit.
  • signals such as an address signal, a data signal, and a control signal are sent from a CPU to a peripheral circuit controlled by the CPU via a bus.
  • the peripheral circuit includes a register that stores information indicated by these signals, and operates based on the information recorded in the register.
  • An address managed by an address signal is assigned to the register and is managed in the same manner as the memory.
  • Patent Document 1 discloses a semiconductor integrated circuit that outputs a chip select signal in accordance with an address signal from a CPU and validates a predetermined memory chip, and is sent from the CPU with addresses stored in a plurality of registers.
  • the address space to which the memory chip is allocated can be arbitrarily determined by comparing the addresses with each other, performing valid / invalid control of the comparison result, and generating a chip select signal according to the comparison result and the valid / invalid control result.
  • a selectable semiconductor integrated circuit is disclosed.
  • An object of the present invention is to provide a semiconductor integrated circuit that can use software created by the existing semiconductor integrated circuit and improve the performance of the CPU even when functions are added or modified to the existing semiconductor integrated circuit. And providing a register address control device.
  • the present invention includes a register map that associates a register that is accessed by a CPU with an address that designates the register, and the register map includes a plurality of register maps in which address bit assignments are rearranged corresponding to each of a plurality of modes. And a semiconductor integrated circuit selected from the plurality of register maps according to the mode.
  • the plurality of register maps are arranged in different address spaces, and the plurality of register maps are used simultaneously.
  • initial values of address information and bit information are set for each of the plurality of modes, and the register map is switched based on the initial values of each mode.
  • the present invention provides a register address control device including a register in which address information is set, and an address information setting unit that sets the address information in the register.
  • the register address control device includes a head address setting unit that sets a head address of the address information in the register.
  • the register address control device includes a plurality of the registers, and the first register indicating whether or not the address of the first register set by the address information setting unit overlaps with an address set in another register. Status register.
  • the register address control device includes a second status register that indicates whether or not the start address of the first register set by the start address setting unit overlaps with an address set in another register. .
  • the present invention provides a register address control device including a register in which address information and bit information are set, and an address bit information setting unit that sets the address information and bit information in the register.
  • the address bit information setting unit uniquely sets the bit information.
  • the register address control device includes a lock control unit that prohibits write access to the register.
  • the software created with the existing semiconductor integrated circuit can be used and the performance of the CPU can be improved.
  • a register address control device can be provided.
  • FIG. 1 is a schematic diagram showing a semiconductor integrated circuit according to a first embodiment; Schematic which shows the semiconductor integrated circuit of 2nd Embodiment Schematic diagram showing a register address control device of a third embodiment Schematic showing a register address control apparatus of a fourth embodiment Schematic showing a register address control apparatus of a fifth embodiment The figure which shows the Example which sets the address and bit position of a register in the address bit information setting part in the register address control apparatus of 5th Embodiment Schematic showing a register address control device of a sixth embodiment Schematic showing a register address control apparatus of a seventh embodiment Schematic showing a register address control device of an eighth embodiment
  • FIG. 1 is a schematic diagram showing a semiconductor integrated circuit according to the first embodiment.
  • the semiconductor integrated circuit 110 of the first embodiment for the modes 1 to N (120, 130, 140), in order to determine the correspondence between the register and the address specifying the register, It has register maps 1 to N (121, 131, 141) in which assignment is recombined.
  • the register maps 1 to N (121, 131, 141) are selected according to the corresponding modes (120, 130, 140), respectively.
  • the register map 1 (121) is the same register map as the existing semiconductor integrated circuit, and the register map 2 (131) adds or corrects functions to the existing semiconductor integrated circuit. This is a register map performed. Therefore, when the mode 1 (120) is set, software created with an existing semiconductor integrated circuit can be used as it is without taking software design man-hours. Further, when a register map that cannot access a register for using a specific function is a register map N (141), the mode of the semiconductor integrated circuit 110 is fixed to the mode N (140) using a metal fuse or the like. A semiconductor integrated circuit limited to a specific function can be generated.
  • initial values of address information and bit information of a plurality of modes may be set, and a plurality of register maps may be switched based on the initial values of each mode.
  • a register map in which software created in an existing semiconductor integrated circuit is used as it is or a register map in which a function is added or modified can be selected according to the mode. Therefore, software created with an existing semiconductor integrated circuit can be used as it is without taking software design man-hours.
  • FIG. 2 is a schematic diagram showing a semiconductor integrated circuit according to the second embodiment.
  • the semiconductor integrated circuit 210 of the second embodiment has register maps 1 to N (221, 231, 241) arranged in different address spaces. By arranging the register maps 1 to N (221, 231, 241) in different address spaces, a plurality of register maps can be used simultaneously.
  • the register map 1 (221) is the same register map as the existing semiconductor integrated circuit, and the register map 2 (231) adds or corrects functions to the existing semiconductor integrated circuit.
  • This is a register map performed. Therefore, software created with an existing semiconductor integrated circuit can be used as it is without taking software design man-hours.
  • the same register map 1 (221) as that of an existing semiconductor integrated circuit and the register map 2 (231) in which functions are added or modified can be used at the same time. For this reason, it is possible to design software including an additional function and a correction function by adding or correcting software created with an existing semiconductor integrated circuit.
  • the semiconductor integrated circuit 210 of this embodiment software created with an existing semiconductor integrated circuit can be used as it is for a newly designed semiconductor integrated circuit. Furthermore, it is possible to design software including additional functions and correction functions.
  • FIG. 3 is a schematic diagram illustrating a register address control apparatus according to the third embodiment.
  • the register address control apparatus according to the third embodiment includes a register 310 and an address information setting unit 312 that sets address information in the register 310.
  • the address 311 is set in the register 310.
  • register address control apparatus of this embodiment software created with an existing semiconductor integrated circuit can be used as it is in a newly designed semiconductor integrated circuit without taking software design man-hours. Furthermore, it is possible to design software including additional functions and correction functions.
  • FIG. 4 is a schematic diagram illustrating a register address control apparatus according to the fourth embodiment.
  • the register address control apparatus of the fourth embodiment includes registers 1 to N (411, 421, 431) and a head address setting unit 412 for setting address information in the register 1 (410).
  • the addresses 2 (421) to N (431) are set in the registers 2 (420) to N (430), respectively. Addresses 2 to N (421, 431) are continuous with address 1 (411).
  • the start address setting unit 412 can arbitrarily set start addresses in a plurality of registers. Therefore, the address of the added register can be freely set in the same register map as that of the existing semiconductor integrated circuit. Therefore, software created with an existing semiconductor integrated circuit can be used as it is for a newly designed semiconductor integrated circuit without taking software design man-hours. Further, by adding or modifying software created with an existing semiconductor integrated circuit, it is possible to design software including an additional function and a modified function.
  • register address control apparatus of this embodiment software created with an existing semiconductor integrated circuit can be used as it is in a newly designed semiconductor integrated circuit without taking software design man-hours. Furthermore, it is possible to design software including additional functions and correction functions.
  • FIG. 5 is a schematic diagram showing a register address control apparatus of the fifth embodiment.
  • the register address control apparatus of the fifth embodiment includes a register 510 and an address bit information setting unit 513 that sets address information and bit information in the register 510.
  • an address 511 is set in the register 510.
  • the address bit information setting unit 513 arbitrarily sets address information and bit information in the register 510, respectively. Therefore, the address of the added register can be freely set in the same register map as that of the existing semiconductor integrated circuit. Therefore, software created with an existing semiconductor integrated circuit can be used as it is without taking software design man-hours. Further, by adding or modifying software created with an existing semiconductor integrated circuit, it is possible to design software including an additional function and a modified function.
  • FIG. 6 is a diagram showing an embodiment in which a register address and a bit position are set in an address bit information setting unit in a semiconductor integrated circuit.
  • the semiconductor integrated circuit 610 includes a circuit 1 (611) and a circuit 2 (612).
  • the register 1 (621) for controlling the circuit 1 (611) sets address information and bit information for specifying the register 1 (621) by the address bit information setting unit 1 (622).
  • the register 2 (623) for controlling the circuit 2 (612) sets address information and bit information for designating the register 2 (623) by the address bit information setting unit 2 (624).
  • the address 0 (631) is set in the address bit information setting unit 1 (622), and the bit position 0 Set bit number.
  • address 0 (631) is set in address bit information setting unit 2 (624), and the fourth bit position is set.
  • the address bit information setting unit 1 sets the address 1 (641). Then, the 0th bit position is set. Also, the address 2 (651) is set in the address bit information setting unit 2 (624), and the 0th bit position is set.
  • the address and bit position can be set for each bit of the register. Accordingly, register access exclusiveness can be ensured by setting different registers for different tasks in different tasks. Further, by selecting a register necessary for execution of a task and setting it to one address, the register access time can be minimized. As a result, CPU performance is improved.
  • register address control apparatus of this embodiment software created with an existing semiconductor integrated circuit can be used as it is in a newly designed semiconductor integrated circuit without taking software design man-hours.
  • software including additional functions and correction functions can be designed.
  • register access exclusivity can be ensured and the register access time can be minimized. As a result, CPU performance is improved.
  • FIG. 7 is a schematic diagram showing a register address control apparatus according to the sixth embodiment.
  • the register address control apparatus of the sixth embodiment includes registers 0 to 4 (710, 720), an address information setting unit 712 that sets address information in register 0 (710), and address information.
  • a status register 1 (713) indicating a determination result as to whether or not the value set by the setting unit 712 has an error
  • a head address setting unit 722 that sets address information in the register 1 (720)
  • a head address setting unit 722 And a status register 2 (723) indicating a determination result of whether or not there is an error in the set value.
  • Addresses 2 to 4 corresponding to registers 2 to 4 are continuous to address 1 (711).
  • status register 1 (713) and status register 2 (723) will be described. For example, when address 2 is set in address information setting unit 712 and address 1 is set in head address setting unit 722, address 2 is set in address storage unit 0 (711), and address 2 is also set in address storage unit 2. Thus, the status register 1 (713) indicates an error state. Thus, setting of an incorrect value by the address information setting unit 712 can be prevented.
  • the operation of the status register 2 (723) is the same, and it is possible to determine whether or not there is an error in the value set by the head address setting unit 722 by checking the error status. For this reason, an erroneous value setting by the head address setting unit 722 can be prevented.
  • register address control apparatus of this embodiment software created with an existing semiconductor integrated circuit can be used as it is in a newly designed semiconductor integrated circuit without taking software design man-hours.
  • software including additional functions and correction functions can be designed. Furthermore, it is possible to prevent erroneous setting of values by the address information setting unit and the head address setting unit.
  • FIG. 8 is a schematic diagram illustrating a register address control apparatus according to the seventh embodiment.
  • the register address control apparatus of the seventh embodiment includes registers 1 and 2 (821 and 823) and an address information setting unit 1 that sets address information and bit information in register 1 (821). 822) and an address information setting unit 2 (824) for setting address information and bit information in the register 2 (823).
  • Bit information is uniquely set by providing a condition such as packing in order from the bit.
  • the circuit scale for setting the bit information can be reduced as compared with the sixth embodiment. Further, since an address can be set for each bit of the register, by setting a register used in another task to a different address, it is possible to ensure exclusivity in register access. Furthermore, the register access time can be minimized by selecting a register required for execution of the task and setting it to one address. As a result, CPU performance is improved.
  • register address control apparatus of this embodiment software created with an existing semiconductor integrated circuit can be used as it is in a newly designed semiconductor integrated circuit without taking software design man-hours.
  • software including additional functions and correction functions can be designed.
  • register access exclusivity can be ensured and the register access time can be minimized. As a result, CPU performance is improved.
  • FIG. 9 is a schematic diagram showing a register address control apparatus according to the eighth embodiment.
  • the register address control apparatus according to the eighth embodiment includes an additional register 911 and a lock control unit 912 that controls whether or not write access to the additional register 911 is permitted.
  • the address 0 (910) is set in the additional register 911.
  • the lock control unit 912 can lock the write access to the additional register 911.
  • the semiconductor integrated circuit and the register address control device can use software created in an existing semiconductor integrated circuit even when functions are added or modified when designing the semiconductor integrated circuit. This is useful for designing a semiconductor integrated circuit capable of improving performance.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Memory System (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

 半導体集積回路110は、モード1からモードN(120、130、140)に対応して、アドレスビットの割り当てを組み換えたレジスタマップ1~レジスタマップN(121、131、141)を有する。各レジスタマップは、対応するモードによって選択することができ、モードを切替えることで、いずれかのレジスタマップが使用可能となる。したがって、既存の半導体集積回路に対して機能の追加や修正がある場合でも、当該既存の半導体集積回路で作成したソフトウェアを使用可能、かつ、CPUの性能を向上可能である。

Description

半導体集積回路及びレジスタアドレス制御装置
 本発明は、CPUがその周辺回路のレジスタにアクセスするための半導体集積回路及びレジスタアドレス制御装置に関する。
 通常、CPUによって制御される周辺回路には、アドレス信号、データ信号及び制御信号等の信号がバスを介してCPUから送られる。周辺回路は、これらの信号が示す情報を記憶するレジスタを備え、レジスタに記録された情報に基づいて動作する。レジスタにはアドレス信号によって管理されるアドレスが割り当てられており、メモリと同様に管理される。
 特許文献1には、CPUからのアドレス信号に応じてチップセレクト信号を出力し、所定のメモリチップを有効化する半導体集積回路であって、複数のレジスタに記憶されているアドレスとCPUから送られたアドレスとを比較し、比較した結果の有効又は無効の制御を行い、比較結果及び有効又は無効の制御結果に応じてチップセレクト信号を生成することにより、メモリチップが割り当てられるアドレス空間を任意に選択可能な半導体集積回路が開示されている。
 半導体集積回路を新たに設計する場合は、全ての回路を新規に設計することなく、既存の半導体集積回路を流用して設計することが多い。その際、周辺回路も同様に流用されるが、機能の追加や修正等があると、周辺回路が備えるレジスタに対して、流用元である既存の半導体集積回路と同じアドレスが割り当てられない場合がある。その結果、既存の半導体集積回路で作成したソフトウェアを新たに設計した半導体集積回路で使用できない。
 また、例えば8ビット幅のレジスタの1ビット毎に異なる制御機能が割り当てられた場合、単一のアドレスで指定されるレジスタの各ビットに対しては、変更や更新等の操作が同時に行われる。したがって、任意の1ビットのみを操作するには、レジスタの値を一旦読み出し、その値に対して制御したいビットのみに変更を加えた値をレジスタに書き込むことが必要になる。
 しかし、マルチタスクやマルチプロセッサによって制御されるシステムにおいては、1つのタスクにおけるレジスタ値の読み出しと書き込みのアクセスが必ず連続となる保証がない。このため、セマフォ等のソフトウェアによる資源管理の手段を用いてアクセスの排他性を確保しなければならない。その結果、CPUの処理性能が犠牲になり、ソフトウェア設計が複雑になる。
日本国特開平6-28243号公報
 本発明の目的は、既存の半導体集積回路に対して機能の追加や修正がある場合でも、当該既存の半導体集積回路で作成したソフトウェアを使用可能、かつ、CPUの性能を向上可能な半導体集積回路及びレジスタアドレス制御装置を提供することである。
 本発明は、CPUがアクセスするレジスタと当該レジスタを指定するアドレスとを対応付けるレジスタマップを備え、前記レジスタマップは、複数のモードのそれぞれに対応して、アドレスビットの割り当てを組み替えた複数のレジスタマップを含み、モードに応じて前記複数のレジスタマップから選択される半導体集積回路を提供する。
 上記半導体集積回路では、前記複数のレジスタマップは、それぞれ異なるアドレス空間に配置され、前記複数のレジスタマップが同時に使用される。
 上記半導体集積回路では、前記複数のモードのそれぞれにアドレス情報とビット情報の初期値が設定され、各モードの初期値に基づいてレジスタマップを切り替える。
 本発明は、アドレス情報が設定されるレジスタと、前記レジスタに前記アドレス情報を設定するアドレス情報設定部と、を備えるレジスタアドレス制御装置を提供する。
 上記レジスタアドレス制御装置は、前記レジスタに前記アドレス情報の先頭アドレスを設定する先頭アドレス設定部を備える。
 上記レジスタアドレス制御装置は、前記レジスタを複数備え、前記アドレス情報設定部により設定された第1のレジスタのアドレスが、他のレジスタに設定されたアドレスと重複するか否かの判定を示す第1の状態レジスタを備える。
 上記レジスタアドレス制御装置は、前記先頭アドレス設定部により設定された第1のレジスタの先頭アドレスが、他のレジスタに設定されたアドレスと重複するか否かの判定を示す第2の状態レジスタを備える。
 本発明は、アドレス情報及びビット情報が設定されるレジスタと、前記レジスタに前記アドレス情報及び前記ビット情報を設定するアドレスビット情報設定部と、を備えるレジスタアドレス制御装置を提供する。
 上記レジスタアドレス制御装置では、前記アドレスビット情報設定部は、前記ビット情報を一意に設定する。
 上記レジスタアドレス制御装置は、前記レジスタへの書き込みアクセスを禁止するロック制御部を備える。
 本発明によれば、既存の半導体集積回路に対して機能の追加や修正がある場合でも、当該既存の半導体集積回路で作成したソフトウェアを使用可能、かつ、CPUの性能を向上可能な半導体集積回路及びレジスタアドレス制御装置を提供できる。
第1の実施形態の半導体集積回路を示す概略図 第2の実施形態の半導体集積回路を示す概略図 第3の実施形態のレジスタアドレス制御装置を示す概略図 第4の実施形態のレジスタアドレス制御装置を示す概略図 第5の実施形態のレジスタアドレス制御装置を示す概略図 第5の実施形態のレジスタアドレス制御装置において、レジスタのアドレスとビット位置をアドレスビット情報設定部に設定する実施例を示す図 第6の実施形態のレジスタアドレス制御装置を示す概略図 第7の実施形態のレジスタアドレス制御装置を示す概略図 第8の実施形態のレジスタアドレス制御装置を示す概略図
 以下、本発明の実施形態について、図面を参照して説明する。
(第1の実施形態)
 図1は、第1の実施形態の半導体集積回路を示す概略図である。図1に示すように、第1の実施形態の半導体集積回路110は、モード1~N(120、130、140)に対してレジスタとレジスタを指定するアドレスとの対応を決めるため、アドレスビットの割り当てを組み換えたレジスタマップ1~N(121、131、141)を有する。レジスタマップ1~N(121、131、141)は、対応するモード(120、130、140)に応じてそれぞれ選択される。
 本実施形態の半導体集積回路110は、例えば、レジスタマップ1(121)が既存の半導体集積回路と同じレジスタマップであり、レジスタマップ2(131)が既存の半導体集積回路に機能の追加や修正を行ったレジスタマップである。したがって、モード1(120)に設定された場合には、ソフトウェア設計工数をかけることなく、既存の半導体集積回路で作成したソフトウェアをそのまま使用することができる。また、特定の機能を使用するためのレジスタにアクセスできないレジスタマップをレジスタマップN(141)とした場合、メタルヒューズ等を用いて半導体集積回路110のモードをモードN(140)に固定することで、特定の機能に限定した半導体集積回路を生成することができる。
 なお、複数のモードのそれぞれアドレス情報とビット情報の初期値を設定し、複数のレジスタマップを、各モードの初期値に基づいて切り替えても良い。
 本実施形態の半導体集積回路110によれば、既存の半導体集積回路で作成したソフトウェアがそのまま使用されたレジスタマップ又は機能の追加や修正を行ったレジスタマップを、モードに応じて選択することができる。したがって、ソフトウェア設計工数をかけることなく、既存の半導体集積回路で作成したソフトウェアをそのまま使用することができる。
(第2の実施形態)
 図2は、第2の実施形態の半導体集積回路を示す概略図である。図2に示すように、第2の実施形態の半導体集積回路210は、それぞれ異なるアドレス空間に配置されたレジスタマップ1~N(221、231、241)を有する。レジスタマップ1~N(221、231、241)を異なるアドレス空間に配置することにより、複数のレジスタマップを同時に使用することができる。
 本実施形態の半導体集積回路210は、例えば、レジスタマップ1(221)が既存の半導体集積回路と同じレジスタマップであり、レジスタマップ2(231)が既存の半導体集積回路に機能の追加や修正を行ったレジスタマップである。したがって、ソフトウェア設計工数をかけることなく、既存の半導体集積回路で作成したソフトウェアをそのまま使用することができる。また、既存の半導体集積回路と同じレジスタマップ1(221)及び機能の追加や修正を行ったレジスタマップ2(231)を同時に使用することができる。このため、既存の半導体集積回路で作成したソフトウェアに追加又は修正を加えることによって、追加機能や修正機能を含むソフトウェアの設計が可能となる。
 本実施形態の半導体集積回路210によれば、既存の半導体集積回路で作成したソフトウェアを、新たに設計する半導体集積回路にそのまま流用することができる。さらに、追加機能や修正機能を含むソフトウェアの設計が可能となる。
(第3の実施形態)
 図3は、第3の実施形態のレジスタアドレス制御装置を示す概略図である。図3に示すように、第3の実施形態のレジスタアドレス制御装置は、レジスタ310と、レジスタ310にアドレス情報を設定するアドレス情報設定部312とを有する。図3に示す例では、レジスタ310にアドレス311が設定されている。
 アドレス情報設定部312は、レジスタ310にアドレス情報を任意に設定する。このため、既存の半導体集積回路と同じレジスタマップに、追加したレジスタのアドレスを自由に設定することができる。したがって、ソフトウェア設計工数をかけることなく、既存の半導体集積回路で作成したソフトウェアを、新たに設計する半導体集積回路にそのまま流用できる。また、既存の半導体集積回路で作成したソフトウェアに追加又は修正を加えることによって、追加機能や修正機能を含むソフトウェアの設計が可能となる。
 本実施形態のレジスタアドレス制御装置によれば、ソフトウェア設計工数をかけることなく、既存の半導体集積回路で作成したソフトウェアを、新たに設計する半導体集積回路でもそのまま使用することができる。さらに、追加機能や修正機能を含むソフトウェアの設計が可能となる。
(第4の実施形態)
 図4は、第4の実施形態のレジスタアドレス制御装置を示す概略図である。図4に示すように、第4の実施形態のレジスタアドレス制御装置は、レジスタ1~N(411、421、431)と、レジスタ1(410)にアドレス情報を設定する先頭アドレス設定部412とを有する。図4に示す例では、レジスタ2(420)~レジスタN(430)にそれぞれアドレス2(421)~アドレスN(431)が設定されている。なお、アドレス2~N(421、431)はアドレス1(411)に連続している。
 先頭アドレス設定部412は、複数のレジスタに先頭アドレスを任意に設定できる。このため、既存の半導体集積回路と同じレジスタマップに、追加したレジスタのアドレスを自由に設定することができる。したがって、ソフトウェア設計工数をかけることなく、既存の半導体集積回路で作成したソフトウェアを、新たに設計する半導体集積回路にそのまま流用できる。また、既存の半導体集積回路で作成したソフトウェアに追加又は修正を加えることによって、追加機能や修正機能を含むソフトウェアの設計が可能となる。
 本実施形態のレジスタアドレス制御装置によれば、ソフトウェア設計工数をかけることなく、既存の半導体集積回路で作成したソフトウェアを、新たに設計する半導体集積回路でもそのまま使用することができる。さらに、追加機能や修正機能を含むソフトウェアの設計が可能となる。
(第5の実施形態)
 図5は、第5の実施形態のレジスタアドレス制御装置を示す概略図である。図5に示すように、第5の実施形態のレジスタアドレス制御装置は、レジスタ510と、レジスタ510にアドレス情報及びビット情報を設定するアドレスビット情報設定部513とを有する。図5に示す例では、レジスタ510にアドレス511が設定されている。
 アドレスビット情報設定部513は、レジスタ510にアドレス情報及びビット情報をそれぞれ任意に設定する。このため、既存の半導体集積回路と同じレジスタマップに、追加したレジスタのアドレスを自由に設定することができる。したがって、ソフトウェア設計工数をかけることなく、既存の半導体集積回路で作成したソフトウェアをそのまま使用することができる。また、既存の半導体集積回路で作成したソフトウェアに追加又は修正を加えることによって、追加機能や修正機能を含むソフトウェアの設計が可能となる。
 図6は、半導体集積回路において、レジスタのアドレスとビットの位置をアドレスビット情報設定部に設定する実施例を示す図である。図6に示すように、半導体集積回路610は、回路1(611)及び回路2(612)を有する。
 回路1(611)を制御するためのレジスタ1(621)は、アドレスビット情報設定部1(622)によってレジスタ1(621)を指定するアドレス情報とビット情報を設定する。また、回路2(612)を制御するためのレジスタ2(623)は、アドレスビット情報設定部2(624)によってレジスタ2(623)を指定するアドレス情報とビット情報を設定する。
 半導体集積回路610で、回路1(611)と回路2(612)を同時に制御する必要がある場合には、アドレスビット情報設定部1(622)にアドレス0(631)を設定し、ビット位置0ビット目を設定する。また、アドレスビット情報設定部2(624)にアドレス0(631)を設定し、ビット位置4ビット目を設定する。
 また、半導体集積回路610で、回路1(611)と回路2(612)を別のタスクで制御する必要がある場合には、アドレスビット情報設定部1(622)にアドレス1(641)を設定し、ビット位置0ビット目を設定する。また、アドレスビット情報設定部2(624)にアドレス2(651)を設定し、ビット位置0ビット目を設定する。
 この実施例によれば、レジスタの1ビット毎にアドレスとビット位置を設定することができる。したがって、異なるタスクで、使用するレジスタを異なるアドレスに設定することにより、レジスタアクセスの排他性を確保することができる。また、タスクの実行に必要なレジスタを選択して1つのアドレスに設定することで、レジスタのアクセス時間を最短にすることができる。その結果、CPUの性能が向上する。
 本実施形態のレジスタアドレス制御装置によれば、ソフトウェア設計工数をかけることなく、既存の半導体集積回路で作成したソフトウェアを、新たに設計する半導体集積回路でもそのまま使用することができる。また、追加機能や修正機能を含むソフトウェアの設計が可能となる。さらに、レジスタアクセスの排他性を確保することができると共に、レジスタのアクセス時間を最短にすることができる。その結果、CPUの性能が向上する。
(第6の実施形態)
 図7は、第6の実施形態のレジスタアドレス制御装置を示す概略図である。図7に示すように、第6の実施形態のレジスタアドレス制御装置は、レジスタ0~4(710、720)と、レジスタ0(710)にアドレス情報を設定するアドレス情報設定部712と、アドレス情報設定部712が設定した値に誤りがあるか否かの判定結果を示す状態レジスタ1(713)と、レジスタ1(720)にアドレス情報を設定する先頭アドレス設定部722と、先頭アドレス設定部722が設定した値に誤りがあるか否かの判定結果を示す状態レジスタ2(723)とを有する。レジスタ2~4に対応するアドレス2~4はアドレス1(711)に連続している。
 状態レジスタ1(713)及び状態レジスタ2(723)の動作について説明する。例えば、アドレス情報設定部712に2番地、先頭アドレス設定部722に1番地を設定した場合、アドレス記憶部0(711)には2番地、アドレス記憶部2にも2番地が設定されるためエラーとなり、状態レジスタ1(713)はエラー状態を示す。このように、アドレス情報設定部712による誤った値の設定を防ぐことができる。
 状態レジスタ2(723)の動作も同様であり、エラー状態を確認することにより、先頭アドレス設定部722によって設定された値に誤りがあるか否かを判定することができる。このため、先頭アドレス設定部722による誤った値の設定を防ぐことができる。
 本実施形態のレジスタアドレス制御装置によれば、ソフトウェア設計工数をかけることなく、既存の半導体集積回路で作成したソフトウェアを、新たに設計する半導体集積回路でもそのまま使用することができる。また、追加機能や修正機能を含むソフトウェアの設計が可能となる。さらに、アドレス情報設定部及び先頭アドレス設定部による誤った値の設定を防ぐことができる。
(第7の実施形態)
 図8は、第7の実施形態のレジスタアドレス制御装置を示す概略図である。図8に示すように、第7の実施形態のレジスタアドレス制御装置は、レジスタ1,2(821、823)と、レジスタ1(821)にアドレス情報及びビット情報を設定するアドレス情報設定部1(822)と、レジスタ2(823)にアドレス情報及びビット情報を設定するアドレス情報設定部2(824)とを有する。
 アドレス情報設定部1(822)がレジスタ1(821)にアドレス0(811)を設定し、アドレス情報設定部2(824)がレジスタ2(823)にアドレス0(811)を設定した場合、下位ビットから順に詰める等の条件を持たせることで、ビット情報は一意に設定される。
 したがって、第6の実施形態に比べて、ビット情報を設定するための回路規模を縮減できる。また、レジスタの1ビット毎にアドレスを設定することができるため、別のタスクで使用するレジスタを異なるアドレスに設定することにより、レジスタのアクセスに排他性を確保することができる。さらに、タスクの実行に必要なレジスタを選択して1つのアドレスに設定することで、レジスタのアクセス時間を最短にすることができる。その結果、CPUの性能が向上する。
 本実施形態のレジスタアドレス制御装置によれば、ソフトウェア設計工数をかけることなく、既存の半導体集積回路で作成したソフトウェアを、新たに設計する半導体集積回路でもそのまま使用することができる。また、追加機能や修正機能を含むソフトウェアの設計が可能となる。さらに、レジスタアクセスの排他性を確保することができると共に、レジスタのアクセス時間を最短にすることができる。その結果、CPUの性能が向上する。
(第8の実施形態)
 図9は、第8の実施形態のレジスタアドレス制御装置を示す概略図である。図9に示すように、第8の実施形態のレジスタアドレス制御装置は、追加レジスタ911と、追加レジスタ911に対する書き込みアクセスの可否を制御するロック制御部912とを有する。なお、図9に示す例では、追加レジスタ911にアドレス0(910)が設定されている。既存の半導体集積回路のレジスタマップに新規機能を追加した場合、ロック制御部912は、追加レジスタ911への書き込みアクセスをロックすることができる。
 本実施形態のレジスタアドレス制御装置によれば、ソフトウェア設計工数をかけることなく、既存の半導体集積回路で作成したソフトウェアを、新たに設計する半導体集積回路でもそのまま使用することができる。
 本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
 本出願は、2008年11月18日出願の日本特許出願(特願2008-294310)に基づくものであり、その内容はここに参照として取り込まれる。
 本発明に係る半導体集積回路及びレジスタアドレス制御装置は、半導体集積回路の設計に際し、機能の追加や修正がある場合でも、既存の半導体集積回路で作成したソフトウェアを使用することができると共に、CPUの性能を向上させることが可能な半導体集積回路の設計等に有用である。
120、130、140 モード
121、131、141、221、231、241 レジスタマップ
310、410、420、430、510、621、623、710、720、821、823、911 レジスタ
311、411、421、431、511、631、641、651、711、721、811、910 アドレス
312、712、822、824 アドレス情報設定部
412、722 先頭アドレス設定部
512 ビット
513、622、624 アドレスビット情報設定部
713、723 状態レジスタ
912 ロック制御部

Claims (10)

  1.  CPUがアクセスするレジスタと当該レジスタを指定するアドレスとを対応付けるレジスタマップを備え、
     前記レジスタマップは、複数のモードのそれぞれに対応して、アドレスビットの割り当てを組み替えた複数のレジスタマップを含み、
     モードに応じて前記複数のレジスタマップから選択される半導体集積回路。
  2.  請求項1に記載の半導体集積回路であって、
     前記複数のレジスタマップは、それぞれ異なるアドレス空間に配置され、前記複数のレジスタマップが同時に使用される半導体集積回路。
  3.  請求項1に記載の半導体集積回路であって、
     前記複数のモードのそれぞれにアドレス情報とビット情報の初期値が設定され、
     各モードの初期値に基づいてレジスタマップを切り替える半導体集積回路。
  4.  アドレス情報が設定されるレジスタと、
     前記レジスタに前記アドレス情報を設定するアドレス情報設定部と、
    を備えるレジスタアドレス制御装置。
  5.  請求項4に記載のレジスタアドレス制御装置であって、
     前記レジスタに前記アドレス情報の先頭アドレスを設定する先頭アドレス設定部を備えるレジスタアドレス制御装置。
  6.  請求項4に記載のレジスタアドレス制御装置であって、
     前記レジスタを複数備え、
     前記アドレス情報設定部により設定された第1のレジスタのアドレスが、他のレジスタに設定されたアドレスと重複するか否かの判定を示す第1の状態レジスタを備えるレジスタアドレス制御装置。
  7.  請求項5に記載のレジスタアドレス制御装置であって、
     前記先頭アドレス設定部により設定された第1のレジスタの先頭アドレスが、他のレジスタに設定されたアドレスと重複するか否かの判定を示す第2の状態レジスタを備えるレジスタアドレス制御装置。
  8.  アドレス情報及びビット情報が設定されるレジスタと、
     前記レジスタに前記アドレス情報及び前記ビット情報を設定するアドレスビット情報設定部と、
    を備えるレジスタアドレス制御装置。
  9.  請求項8に記載のレジスタアドレス制御装置であって、
     前記アドレスビット情報設定部は、前記ビット情報を一意に設定するレジスタアドレス制御装置。
  10.  請求項4~9のいずれか一項に記載のレジスタアドレス制御装置であって、
     前記レジスタへの書き込みアクセスを禁止するロック制御部を備えるレジスタアドレス制御装置。
PCT/JP2009/005614 2008-11-18 2009-10-23 半導体集積回路及びレジスタアドレス制御装置 WO2010058525A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/110,664 US20110219219A1 (en) 2008-11-18 2011-05-18 Semiconductor integrated circuit and register address controller

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-294310 2008-11-18
JP2008294310A JP2010122787A (ja) 2008-11-18 2008-11-18 半導体集積回路及びレジスタアドレス制御装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/110,664 Continuation US20110219219A1 (en) 2008-11-18 2011-05-18 Semiconductor integrated circuit and register address controller

Publications (1)

Publication Number Publication Date
WO2010058525A1 true WO2010058525A1 (ja) 2010-05-27

Family

ID=42197968

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/005614 WO2010058525A1 (ja) 2008-11-18 2009-10-23 半導体集積回路及びレジスタアドレス制御装置

Country Status (3)

Country Link
US (1) US20110219219A1 (ja)
JP (1) JP2010122787A (ja)
WO (1) WO2010058525A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11126126B2 (en) 2019-07-19 2021-09-21 Canon Kabushiki Kaisha Image forming apparatus that determines image failure
WO2023223823A1 (ja) * 2022-05-18 2023-11-23 ソニーセミコンダクタソリューションズ株式会社 データ処理装置、データ処理方法、およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01166157A (ja) * 1987-12-22 1989-06-30 Nec Corp 情報伝達装置
JPH07334373A (ja) * 1993-12-24 1995-12-22 Seiko Epson Corp エミュレートシステム及びエミュレート方法
JP2000057188A (ja) * 1998-08-10 2000-02-25 Nippon Telegr & Teleph Corp <Ntt> ハードウェア・ソフトウェア協調評価装置
JP2001056770A (ja) * 1999-08-20 2001-02-27 Hitachi Ltd エミュレータ

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410662A (en) * 1991-12-03 1995-04-25 Vlsi Technology, Inc. Programmable control of EMS page register addresses
JPH07334372A (ja) * 1993-12-24 1995-12-22 Seiko Epson Corp エミュレートシステム及びエミュレート方法
US5778245A (en) * 1994-03-01 1998-07-07 Intel Corporation Method and apparatus for dynamic allocation of multiple buffers in a processor
US5857096A (en) * 1995-12-19 1999-01-05 Intel Corporation Microarchitecture for implementing an instruction to clear the tags of a stack reference register file
US5996068A (en) * 1997-03-26 1999-11-30 Lucent Technologies Inc. Method and apparatus for renaming registers corresponding to multiple thread identifications
US5926646A (en) * 1997-09-11 1999-07-20 Advanced Micro Devices, Inc. Context-dependent memory-mapped registers for transparent expansion of a register file
US6640315B1 (en) * 1999-06-26 2003-10-28 Board Of Trustees Of The University Of Illinois Method and apparatus for enhancing instruction level parallelism
US6470445B1 (en) * 1999-09-07 2002-10-22 Hewlett-Packard Company Preventing write-after-write data hazards by canceling earlier write when no intervening instruction uses value to be written by the earlier write
US20020184566A1 (en) * 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US7185182B2 (en) * 2003-02-04 2007-02-27 Via Technologies, Inc. Pipelined microprocessor, apparatus, and method for generating early instruction results
JP4241625B2 (ja) * 2003-03-31 2009-03-18 富士通マイクロエレクトロニクス株式会社 半導体装置
US7437532B1 (en) * 2003-05-07 2008-10-14 Marvell International Ltd. Memory mapped register file
US7590830B2 (en) * 2004-05-28 2009-09-15 Sun Microsystems, Inc. Method and structure for concurrent branch prediction in a processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01166157A (ja) * 1987-12-22 1989-06-30 Nec Corp 情報伝達装置
JPH07334373A (ja) * 1993-12-24 1995-12-22 Seiko Epson Corp エミュレートシステム及びエミュレート方法
JP2000057188A (ja) * 1998-08-10 2000-02-25 Nippon Telegr & Teleph Corp <Ntt> ハードウェア・ソフトウェア協調評価装置
JP2001056770A (ja) * 1999-08-20 2001-02-27 Hitachi Ltd エミュレータ

Also Published As

Publication number Publication date
US20110219219A1 (en) 2011-09-08
JP2010122787A (ja) 2010-06-03

Similar Documents

Publication Publication Date Title
CN101331468B (zh) 利用可编程优先级值的中断控制器
JP5582971B2 (ja) メモリ保護方法および情報処理装置
CN1799030A (zh) 用于确定访问许可的方法和设备
JP3900025B2 (ja) 共有キャッシュメモリのヒット判定制御方法及び共有キャッシュメモリのヒット判定制御方式
CN114579482A (zh) 混合物理内存保护方法及系统
WO2010058525A1 (ja) 半導体集積回路及びレジスタアドレス制御装置
US6766436B2 (en) Data processor having an address translation circuit
JPH07302254A (ja) マイクロコンピュータシステム
JP2007109053A (ja) バスアクセス制御装置
US20210367922A1 (en) System on chip firewall memory architecture
US5574932A (en) One-chip microcomputer and program development/evaluation system therefor
JP2005275841A (ja) メモリ保護装置
KR20050110006A (ko) 데이터 프로세싱 시스템의 메모리 관리
JP2015099517A (ja) 車両制御装置
US6519692B1 (en) Method for updating a pointer to access a memory address in a DSP
JPS6035694B2 (ja) 主記憶保護方式
JP6603100B2 (ja) メモリ制御装置及びメモリ制御方法
JP6438381B2 (ja) 電子制御装置
JPS592938B2 (ja) メモリ ワ−クスペ−ス アンドレツシングホウホウオヨビソウチ
JP2004021422A (ja) マイクロコンピュータ
CN117931705A (zh) Dma控制器及其控制方法、车规级芯片、存储介质
JP2008003867A (ja) マイクロコンピュータ
JP2006085868A (ja) 書換え制限方法及び半導体装置
JP2005182106A (ja) Cpuメモリ装置及び配置プログラム配置変更方法
JP2581057B2 (ja) 評価用マイクロコンピユ−タ

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09827306

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09827306

Country of ref document: EP

Kind code of ref document: A1