WO2005026975A1 - 集積回路およびその設定方法 - Google Patents

集積回路およびその設定方法 Download PDF

Info

Publication number
WO2005026975A1
WO2005026975A1 PCT/JP2003/011728 JP0311728W WO2005026975A1 WO 2005026975 A1 WO2005026975 A1 WO 2005026975A1 JP 0311728 W JP0311728 W JP 0311728W WO 2005026975 A1 WO2005026975 A1 WO 2005026975A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor cores
processor
processor core
integrated circuit
cache memory
Prior art date
Application number
PCT/JP2003/011728
Other languages
English (en)
French (fr)
Inventor
Hisashige Ando
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2003/011728 priority Critical patent/WO2005026975A1/ja
Publication of WO2005026975A1 publication Critical patent/WO2005026975A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory

Definitions

  • the present invention provides an integrated circuit in which a plurality of processor cores executing a program are integrated, and a predetermined number of normally operating processor cores among the plurality of processor cores are set as actually usable processor cores. It relates to a method for setting a practically usable processor core of a circuit. Background art
  • IBM's Power 4 processor integrates two general-purpose processor cores.
  • more and more small-scale processors are integrated in communication processors.
  • IXP 280 from Intel 1 integrates 16 small-scale processors called Micro Engines. are doing. j '
  • Patent Document 3 discloses that a redundant processor is applied to a semiconductor device including a plurality of processors having a structure in which input from the first bus is processed to some extent and output to the second bus, and the processor has a defect. Discloses a structure that bypasses the processor.
  • these known examples of defective processor replacement methods have a structure suitable for processing for multimedia or the like in which a large number of processors are regularly connected, and constitute a general-purpose multiprocessor including business calculations. Not suitable for the case structure.
  • Patent Document 4 discloses a technology that includes a plurality of processors and a plurality of memory blocks, and that improves the yield by separating a defective processor / memory block by a programmable signal bus selector circuit.
  • the programmable signal bus selector circuit illustrated in FIGS. 9 and 10 of Patent Document 4 has a function of connecting a non-defective processor and a memory block as a fan without using a defective processor / memory block. I will provide a.
  • all defect-free processors need to access a set of entire non-defective memory blocks. The technique disclosed in Reference 4 cannot achieve this.
  • Patent No. 3 0 5 2 4 3
  • Patent Document 3 Patent Document 3
  • Patent Document 4 Patent Document 4
  • the present invention provides a semiconductor chip on which a plurality of processor cores are integrated. And presents a redundant configuration suitable for a symmetrical (Symm etric) multi-processor core and a means for setting a practically usable processor core to improve the yield of an integrated circuit and a practically usable processor core in the integrated circuit.
  • the purpose is to provide a setting method for setting.
  • the integrated circuit according to the present invention that achieves the above object has a plurality of processor cores for executing a program, and a predetermined number of processor cores smaller than the plurality of processor cores can operate normally.
  • a predetermined number of processor cores smaller than the plurality of processor cores can operate normally.
  • a cache memory shared by the plurality of processor cores and having an arbitration mechanism for arbitrating use requests from each of the plurality of processor cores and granting a usage right to each processor core;
  • a use request blocking mechanism for blocking a use request of the cache memory from the plurality of processor cores for each processor core
  • the predetermined number of processor cores are set as actually usable processor cores.
  • One of the keys to the operation of the processor core is that an access request to the cache memory is accepted. Therefore, when setting an actually usable processor core, the integrated circuit of the present invention blocks an access request of a processor core to be invalidated other than the actually usable processor core so that the cache memory cannot accept the access request. Is what you do. By doing so, the processor core being invalidated is invalidated. Even if an access request from a certain processor core is blocked and invalidated, an access request from another processor core is transmitted to the cache memory and the access request is accepted and data is accessed, which affects the operation of other processor cores. There is no.
  • the use request cutoff mechanism stores information of a processor core that cuts off a use request of a cache memory among the plurality of processor cores in a nonvolatile manner in the integrated circuit.
  • the use request cutoff mechanism may receive information from outside the integrated circuit and store the information of the processor core that blocks the use request of the cache memory among the plurality of processor cores. This is a preferred form.
  • the integrated circuit according to the present invention further includes a clock supply unit that supplies a clock to the plurality of processor cores, and the clock supply unit supplies the clock to the processor core in which the use request cutoff mechanism cuts off the use request of the cache memory. It is preferable to have a clock supply stop mechanism for stopping the supply of the clock. By stopping the supply of clocks to the processor cores that become unusable due to invalidation, unnecessary operating power can be reduced.
  • the integrated circuit according to the present invention further includes a power supply unit for supplying power to the plurality of processor cores, and the power supply unit is connected to the processor core from which the use request of the cache memory is cut off by the use request cutoff mechanism. It is also a preferable embodiment to have a power supply stop mechanism for stopping the supply of power.
  • some of the plurality of processor cores have the same functions as those of other processor cores excluding some of the processor cores, and further have an extended function having an extended function.
  • each of the plurality of processor cores has a number of processor cores larger than the number of processor cores that require the extended function during actual use. It is.
  • processor cores with extended functions When processor cores with extended functions are required in the processor cores that can be actually used, the processor cores with extended functions must be integrated in a larger number than the processor cores with extended functions that need to be included in the processor cores that can be actually used. deep. By doing so, even if there is a defect in the processor core without the extended function, or even if there is a defect in the processor core with the extended function, it is possible to set the actual usable state.
  • a method for setting an integrated circuit includes the steps of: integrating a plurality of processor cores for executing a program;
  • An integrated circuit having a cache memory that is shared and has an arbitration mechanism for arbitrating use requests from each of the plurality of processor cores and granting the right to use each processor core includes:
  • the predetermined number of processor cores is set as an actually usable processor core.
  • the request for using the cache memory from the processor cores other than the predetermined number of processor cores among the plurality of processor cores is cut off, and the request for using the cache memory is received. It is preferable to stop supplying the clock to the processor core to be shut off.
  • the request for using the cache memory from the processor cores other than the predetermined number of processor cores among the plurality of processor cores is cut off, and the request for using the cache memory is cut off. It is also a preferable mode to stop supplying power to the processor core.
  • FIG. 1 is a diagram showing the structure of a general-purpose processor.
  • FIG. 2 is a diagram showing the structure of a general-purpose processor when a plurality of processor cores are integrated on the same semiconductor chip.
  • FIG. 3 is a diagram showing the structure of a general-purpose processor having a plurality of processor cores including a redundant processor core. '
  • Figure 4 shows the structure of the secondary cache.
  • FIG. 5 is a diagram in which a request cutoff switch which is a feature of the present embodiment is added to the secondary cache shown in FIG.
  • FIG. 6 is a diagram showing a fuse circuit for setting an actually usable processor core and a request cutoff circuit for cutting off an access request of a processor core not used for actual use.
  • FIG. 7 is a diagram illustrating a clock distribution circuit.
  • FIG. 8 is a diagram structurally showing one logical block of a large number of logical blocks constituting the integrated circuit of the present embodiment.
  • FIG. 9 is a diagram illustrating a relationship between a processor core and a logical block.
  • Figure 10 is a block diagram of a general-purpose processor when a part of the regular processor core that will be used when there is no defect includes a regular processor core with expanded functions
  • FIG. 1 is a diagram showing the structure of a general-purpose processor.
  • a general-purpose processor generally has a configuration in which a so-called processor core in which a high-speed, small-capacity primary cache memory is added to the part that executes instructions and a large-capacity secondary cache memory, which is slightly slower, are connected. is there.
  • the processor core 10 shown in FIG. 1 includes an execution unit 11, a primary instruction cache 12, and a primary data cache 13.
  • the execution unit 11 first accesses the primary caches 12 and 13 to obtain the instructions and data necessary for executing the program, and if there is no instruction or data required there, the secondary cache 11
  • An access request is sent through the cache access request path 100, and the procedure of accessing the secondary cache 20 is taken.
  • the secondary cache 20 responds via the secondary cache response path 101, and exchanges instructions and data via the secondary cache access data path 102. If the secondary cache does not contain the necessary instructions or data, the main memory and I / O device 3 are accessed using the system bus request route 200, response route 200, and data route route 202. Access 0.
  • FIG. 2 is a diagram showing the structure of a general-purpose processor when a plurality of processor cores are integrated on the same semiconductor chip.
  • FIG. 3 is a diagram showing the structure of a general-purpose processor having a plurality of processor cores including a redundant processor core.
  • processor cores 1 to N in addition to N normally required processor cores 1 to N,..., 10—N, m redundant processors and cores 15— 1, ..., 15-m are provided. These processor cores are physically identical in design and are connected to the secondary cache 20 as well.
  • Figure 4 shows the structure of the secondary cache. However, here we ignore the existence of redundant processor cores and give a general description of the secondary cache.
  • the secondary cache receives a request, which is a logical block that performs request reception and priority determination, receives access requests from all processor cores 1 to N in the priority determination unit 300, and If the requests come in at the same time, the access request with the highest priority is accepted based on the predetermined rules.
  • the access request When an access request is received, it notifies the requesting processor core that issued the received access request that the access request has been received.
  • the received access request is stored in the request queue 301.
  • the request reception and priority determination unit 300 controls the data path selection circuit 303. Then, the processor core of the request source is selected, and the write data sent from the request source is stored in the write buffer 304.
  • the access requests arranged at the head of the request queue 310 are transmitted to the secondary cache tag array 302 and the secondary cache data array 306, and the secondary cache tag array 302 and the secondary cache data array 3 are transmitted. 0 6 is accessed. Tags are read from the secondary cache tag array 302, and the read tags and If the requested address matches, the access to the secondary cache data array 306 is valid. If the access request from the requesting processor core is a data read request from the secondary cache, the data is read from the relevant address of the secondary cache data array 310 and the read buffer 30 is read. The data stored in the read buffer 305 is controlled, and the data stored in the read buffer 305 is sent to the requesting processor core. On the other hand, when the access request from the requesting processor core is a data write request to the secondary cache, the corresponding write data is taken out from the write buffer 304 and the secondary cache data array 304 is read. 6 is written to the address.
  • the access request to the secondary cache is the key to the operation of the processor core, and by blocking this access request to prevent the secondary cache from accepting the access request, In effect, you can disable the processor core.
  • the description of the access to IZO from each processor core is omitted, but the access request to I / O also uses the request reception mechanism of the secondary cache access, and the processing after the request is received is By performing operations that access the I / O space via the system bus instead of accessing the memory array in the secondary cache, the invalidation of the processor core can be handled by the same mechanism.
  • FIG. 5 is a diagram in which a request cutoff switch, which is a feature of the present embodiment, is added to the secondary cache shown in FIG.
  • the number of processor cores is N + m, including redundant processor cores.
  • blocks corresponding to the blocks in FIG. 4 are denoted by the same reference numerals as those in FIG. 4 for simplicity. You.
  • FIGS. 1 to 4 described so far are diagrams for explaining the background of the embodiment of the present invention. Hereinafter, the present embodiment will be described with reference to FIGS.
  • One request cutoff switch 407 is provided corresponding to each of the processor cores l to N + m, and each request cutoff switch 407 receives the input of each invalidation signal SO, Blocks access requests from the corresponding processor core.
  • the processor core has a structure that enables the prioritization, reception, and control of the transfer route, and interrupts the request route of the defective processor core based on the test results of the processor core, thereby excluding the processor core. As a result, it is possible to create a state in which only good processor cores operate, and as a result, an integrated circuit in which the required number of processor cores operate can be manufactured with good yield.
  • the change required for this is, apart from the redundant processor core and the associated data transfer path, request, and response path, as shown in Fig. 5, a request cutoff switch 407 for each processor core.
  • m ports corresponding to the redundant cores are added to the request reception / priority determination unit 300 and the data path selection circuit 303. is there.
  • N is 2 (n — n)
  • a control circuit in the secondary cache such as adding an extra redundant core will require one extra bit to store the processor core number of the request queue 301. This can be realized with only a small increase in the circuit, and with the addition of a very small circuit.
  • FIG. 6 is a diagram showing a fuse circuit for setting an actually usable processor core and a request cutoff circuit for cutting off an access request of a processor core not used for actual use.
  • a fuse 500 corresponding to each processor core is provided. Fuse 500 is initially connected, but if the corresponding processor core is defective and the processor core cannot be used, the fuse corresponding to that processor core is cut off by laser or other means. . In addition, the defective processor If the number of processor cores is smaller than the number of redundant processor cores, the processor cores exceeding the number of processor cores used for actual use will have their fuses cut even without defects, and will not be used for actual use.
  • the fuse read signal S2 becomes H
  • the N-transistor 502 is turned on, and when the fuse is connected, the weak P-transistor 501 is overcome and the input of the inverter 503 becomes L.
  • the input of the inverter 503 remains at H due to the P transistor 501.
  • the multiplexer 504 selects the signal from the inverter 503 and transmits it to the data input terminal of the flip-flop 505. Stored in 505. Thereafter, the fuse read signal S2 is returned to L.
  • the output S3 of the flip-flop 505 is H when the fuse 500 is connected, and goes L when the fuse 500 is disconnected.
  • Each pair of the two-input NAND 610 and the inverter 611 constituting the request cutoff circuit 600 enclosed by a broken line corresponds to each request cutoff switch 407 shown in FIG.
  • the output S3 from the flip-flop 505 is L
  • the output (invalidation signal) SO from the inverter 611 becomes L irrespective of the state of the access request signal S1 from the corresponding processor core, resulting in a defect. Access requests from processor cores that have been made unusable due to having, for example, are blocked.
  • the output S 3 of the flip-flop 505 is H, and the access request S 1 from the corresponding processor core is directly output to the output S 0 of the inverter 6 11 1 as shown in FIG.
  • the request shown in 5 is received and transmitted to the priority determination circuit 300.
  • the flip-flops 505, 515,... Holding the fuse information are cascaded as a shift register via a multiplexer 504 when the fuse read signal S2 is L, and The contents shift each time the pulse CLK is input.
  • the input of the shift register can be controlled from outside the integrated circuit, and arbitrary information can be written to the flip-flop through this path independently of the contents of the fuse. This feature enables only a single processor core during testing. This is effective when it is desired to test the processor core for defects.
  • the yield when redundant processor cores are integrated will be described. Assuming that the yield of each processor core is X and the yield of the common part including the secondary cache is y, the yield of the entire integrated circuit including n processor cores is x n ⁇ y. On the other hand, if one redundant processor core is added, an integrated circuit with regular n good-quality processor cores can be made even if one of the processor cores has a defect, so the overall yield Y is It is represented by the following equation.
  • wasteful operation power can be reduced by stopping the clock supply to the processor core in addition to cutting off the access request for the secondary cache.
  • leakage power during non-operation has also become a problem, and a cut-off transistor corresponding to a power switch is provided for each processor core, and this is turned off, resulting in wasteful power consumption during non-operation. Can be reduced.
  • FIG. 7 is a diagram illustrating a clock distribution circuit.
  • a clock source 700 for generating a reference clock in the integrated circuit of the present embodiment is shown, and the clock is supplied from the clock source 700.
  • the components are distributed to each part of the integrated circuit according to the present embodiment via a buffer tree.
  • the buffers 701 and 702 are simple buffers composed of invertors, but the buffers 703 are provided for each processor core and stop the clock supply to the corresponding processor core. It consists of a NAND gate with a gate function.
  • the invalidation signal S0 corresponding to the processor core (the output SO of the request cutoff circuit 600 shown in FIG. 6) is input to a buffer 703 constituted by a NAND gate, and the invalidation signal S0 is When it becomes L, the clock supply to the entire corresponding processor core is stopped, and wasteful consumption of switching power is suppressed.
  • the clock distribution circuit shown in FIG. 7 also includes buffers 704 and 705 at a stage subsequent to the buffer 703 having the gate function. Even within a single processor core, there are many logic blocks that require a clock due to the presence of a large number of flip-flops and the like.Buffers 704 and 705 store the logic blocks in that single processor core. It is responsible for distributing clocks to blocks.
  • the buffer 704 is a buffer composed of simple inverters, but the buffer 705 is a buffer with a clock stop function composed of a NAND gate, similar to the buffer 703.
  • a clock is supplied to the logic block when the signal S4 is H, and the signal is supplied to the logic block when the signal S4 is L. Stop the clock supply to the logic block. The power consumption can be further reduced by controlling the signal S4 and frequently stopping the clock when the operation of the logical block is not necessary.
  • FIG. 8 is a diagram schematically showing one logical block of a number of logical blocks constituting the integrated circuit of the present embodiment
  • FIG. 9 is a diagram showing a relationship between a processor core and a logical block.
  • each processor core is composed of a number of logical blocks.
  • the logic block 800 shown in FIG. 8 incorporates means for reducing leakage power.
  • the circuit of each logic block is connected to the power supply on the Vdd side, but is connected to the virtual ground 811, on the Vss side, for each logic block.
  • an N-transistor 802 having a structure in which the switching speed is low but the leakage current is small when the switching is off is inserted as a power supply switch.
  • To operate the logic block turn on the transistor 902 and set the virtual ground potential to approximately V ss (ground).
  • Transistor 802 turns off when either of power supply cutoff signals S5 and S6 goes L, and the potential of virtual ground 801 goes to V dd, but the leakage current of N transistor 802 is small, so the leakage power is low. Can be suppressed.
  • the signal transmission line of one power cutoff signal S5 of all the logic blocks included in the processor core is connected in common, and the invalidation signal S0 (Fig. By using the request cutoff circuit 600 output S 0) shown, the power of the entire processor core can be cut off.
  • the other power cutoff signal S6 is used to cut off power in units of logic blocks to reduce leakage current when each logic block is not used.
  • the switching speed of Transformers 802 is slow, so it is necessary that it is not used for a very long time.
  • the power supply stop mechanism according to the present invention also serves as the use request cutoff mechanism according to the present invention.
  • the circuit of the processor core so that the access request signal line of the secondary cache is brought into the non-request state by stopping the clock, it is possible to obtain the same effect as the interruption.
  • the request cutoff switch 407 shown in FIG. 5 is built in each processor core, and the request cutoff switch 407 is connected to the request cutoff signal S0 shown in FIG.
  • the clock supply stopping mechanism according to the present invention also serves as the use request interrupting mechanism according to the present invention.
  • Figure 10 is a block diagram of a general-purpose processor that includes a regular processor core whose function has been extended to a part of the regular processor core that will be used if there is no defect. Have been described as having the same configuration. However, the description so far has shown that a part of the regular processor cores 10-1-1 to 10-N is a processor core with expanded functions as shown in Fig. 10. This is true even if it is 1 0 _N. In this case, a processor core with an extended function is prepared as the redundant processor core 15 to enable redundant relief even if the regular processor core 10-N having the extended function is defective.
  • the regular processor core 10 having the extended function and the redundant processor core 15 having the extended function are processor cores having the same design.
  • the redundant processor core 15 can be used in place of the defective normal processor core. As a whole, it is infrequently used and it is wasteful to implement it in all processor cores.However, if there is a necessary function as a whole processor, it is necessary to construct that function as an extended function as shown in Fig. 10. However, a processor core without extended functions can be made smaller, and more processor cores can be integrated in a given chip area.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Microcomputers (AREA)

Abstract

 本発明は、プログラムを実行するプロセサコアが複数個集積され、これら複数個のプロセサコアのうちの正常に動作する所定数のプロセサコアが実使用可能なプロセサコアとして設定される集積回路等に関し、対称型(Symmetric)マルチプロセサコアに適した冗長構成と実使用可能なプロセサコアの設定手段を提示し、歩留まりを改善する。実使用可能なプロセサコアを設定するにあたり、その実使用可能なプロセサコア以外の無効化しようとしているプロセサコアのキャッシュメモリへのアクセス要求を遮断して、キャッシュメモリにアクセス要求が受け付けられないようにする。

Description

集積回路お'よびその設定方法 技術分野
本発明は、 プログラムを実行するプロセサコアが複数個集積され、 これら複数 個のプロセサコアのうちの、 正常に動作する所定数のプロセサコアが、 実使用可 能なプロセサコアとして設定される集積回路、 およびその集積回路の、 実使用可 能なプロセサコアの設定方法に関する。 背景技術
近年の半導体技術の微細化の進歩により複数の汎用プロセサを一つの半導体チ ップに集積することが可能になってきている。 一例として I B M社の P o w e r 4プロセサは 2個の汎用プロセサコアを集積している。 また、 通信用プロセサで は更に多くの小規模プロセサを集積するのが一般的であり、 例えば I n t e 1社 の I X P 2 8 5 0は 1 6個の M i c r o E n g i n eと呼ぶ小規模プロセサを 集積している。 j'
しかし、 半導体の製造には欠陥が付き物であり、 多くのプロセサを集積するに 連れて歩留まりが低下するという問題がある。 半導体メモリの場合は、 歩留まり 低下の問題に対処するため、 最終製品として必要なメモリアレイに冗長な列を加 えて製造し、 どれかの列に欠陥がある場合にはその欠陥のある列を冗長な列に切 り替えることにより、 欠陥を回避して歩留まりを向上させる方法がとられるのが 一般的である。 また、 I n t e 1の I t a n i u m 2プロセサのキャッシュメモ リのように、 列単位でなく、 小規模なアレイ単位で冗長なアレイを設け、 欠陥の あるアレイに替えて冗長なアレイを使用するという手法が取られることもある。 これらは、 メモリが規則的な構造であり、 同一の列、 または小規模アレイが多数 繰り返して使用されていることを利用することにより取ることのできる手法であ る。 列冗長の場合は、 典型的には 3 2の正規の列に対して 1〜2の冗長列の追加 という程度の少ないォ一バへッドで歩留まりが大きく改善できるという結果が得 られている。 また、 プロセサに関しても、 非常に小規模なものを多数集積する場合には、 こ のような冗長手法により歩留まりを改善することが可能であり、 特許文献 1ゃ特 許文献 2にその方法が開示されている。 また、 特許文献 3には第一のバスからの 入力をある程度加工して第二のバスに出力する構造の複数のプロセサを含む半導 体装置に冗長プロセサを適用し、 プロセサが欠陥を持つ場合は当該プロセサをバ ィパスする構造が開示されている。 しかし、 これらの公知例の欠陥プロセサの交 替方法は多数のプロセサが規則的に接続されたマルチメディア向けなどの処理に 適した構造になっており、 ビジネス計算などを含む汎用のマルチプロセサを構成 する場合の構造に適したものではない。
特許文献 4には複数のプロセサと複数のメモリプロックを含み、 プログラマブ ル信号バスセレクタ回路により、 欠陥をもつプロセサゃメモリブロックを切り離 すことにより歩留まりを向上させる技術が開示されている。 その特許文献 4の図 9、 図 1 0に例示されたプログラマブル信号バスセレクタ回路は、 欠陥のあるプ 口セサゃメモリブロックを使用せず、 欠陥のないプロセサとメモリブロックをぺ ァとして接続する機能を提供する。 しかし、 複数のプロセサがーつのメモリを共 用する汎用の対称型マルチプロセサでは、 欠陥のない全てのプ口セサが欠陥の無 いメモリブロック全体をひと纏まりとした集合にアクセスする必要があり、 特許 文献 4に開示された技術はこれを実現することはできない。
(特許文献 1 )
米国特許第 5 , 9 8 6, 9 5 0号明細書
(特許文献 2 )
特許第 3 0 0 5 2 4 3号公報
(特許文献 3 )
特開 2 0 0 2— 1 6 9 8 7号公報
(特許文献 4 )
特開 2 0 0 2— 6 4 1 4 5号公報 (図 9、 図 1 0 ) 発明の開示
本発明は、 上記事情に鑑み、 複数のプロセサコアを集積する半導体チップにお いて、 対称型 (S y mm e t r i c ) マルチプロセサコアに適した冗長構成と実 使用可能なプロセサコアの設定手段を提示し、 歩留まりを改善した集積回路、 お よびその集積回路における、 実使用可能なプロセサコアを設定する設定方法を提 供することを目的とする。
上記目的を達成する本発明の集積回路は、 プログラムを実行するプロセサコア が複数個集積され、 これら複数個のプロセサコアのうちの該複数個よりも少数の 所定数のプロセサコアが正常に動作する実使用可能なプロセサコアとして設定さ れる集積回路において、
上記複数個のプロセサコアに共用されそれら複数個のプロセサコアそれぞれか らの使用要求を調停して各プロセサコアに使用権を与える調停機構を有するキヤ ッシュメモリと、
上記複数個のプロセサコアからのキャッシュメモリの使用要求を、 各プロセサ コァごとに遮断する使用要求遮断機構とを備え、
上記複数個のプロセサコアのうちの上記所定数のプロセサコアを除くプロセサ コアからのキャッシュメモリの使用要求を遮断することにより、 それら所定数の プロセサコアを実使用可能なプロセサコアとして設定することを特徴とする。 プロセサコアの動作の鍵の 1つはキャッシュメモリへのアクセス要求が受け付 けられることである。 そこで、 本発明の集積回路は、 実使用可能なプロセサコア を設定するにあたり、 その実使用可能なプロセサコア以外の無効化しようとして いるプロセサコアのアクセス要求を遮断してキャッシュメモリにアクセス要求が 受け付けられないようにするものである。 こうすることにより、 無効化しようと しているプロセサコアが無効化される。 あるプロセサコアのアクセス要求を遮断 して無効化を行なっても、 他のプロセサコアからのアクセス要求はキャッシュメ モリに伝わりそのアクセス要求の受付けとデータアクセスが行なわれるので、 他 のプロセサコアの動作には影響はない。
ここで、 上記本発明の集積回路において、 上記使用要求遮断機構が、 上記複数 個のプロセサコアのうちのキャッシュメモリの使用要求を遮断するプロセサコア の情報を、 この集積回路内に不揮発的に記録しておくものであることが好ましく 、 あるいは、 上記使用要求遮断機構が、 上記複数個のプロセサコアのうちのキャッシュメモ リの使用要求を遮断するプロセサコアの情報の、 この集積回路外部からの入力を 受けて、 その情報を記憶するものであることも好ましい形態である。
また、 上記本発明の集積回路において、 上記複数個のプロセサコアにクロック を供給するクロック供給部を備え、 そのクロック供給部が、 上記使用要求遮断機 構によりキャッシュメモリの使用要求が遮断されるプロセサコァへのクロックの 供給を停止するクロック供給停止機構を有す ものであることが好ましい。 無効化することにより不使用となるプロセサコアへのクロックの供給を停止す ることにより、 無駄な動作電力を削減することができる。
また、 上記本発明の集積回路において、 上記複数個のプロセサコアに電力を供 給する電力供給部を備え、 その電力供給部が、 上記使用要求遮断機構によりキヤ ッシュメモリの使用要求が遮断されるプロセサコアへの電力の供給を停止する電 力供給停止機構を有するものであることも好ましい形態である。
無効化することにより不使用となるプロセサコアへの電力供給を停止すること により、 無駄な動作電力およびリーク電力を直接的に削減することができる。 さらに、 上記本発明の集積回路において、 上記複数個のプロセサコアのうちの 一部のプロセサコアが、 その一部のプロセサコアを除く他のプロセサコアの機能 と同一の機能に加え、 さらに拡張機能を有する拡張機能付プロセサコアであって 、 上記複数個のプロセサコアのうちの、 実使用時にその拡張機能を必要とするプ ロセサコアの個数よりも多い個数のプロセサコアそれぞれが上記の拡張機能付プ ロセサコアであることも好ましい形態である。
実使用可能なプロセサコアの中に拡張機能付プロセサコアを必要とする場合、 拡張機能付プロセサコアを、 実使用可能なプロセサコアの中に含む必要のある拡 張機能付プロセサコアの数よりも多い数集積しておく。 こうすることにより、 拡 張機能のないプロセサコアに欠陥があった場合であっても、 あるいは拡張機能付 のプロセサコアに欠陥があった場合であっても実使用可能な状態に設定すること ができる。
また、 上記目的を達成する本発明の集積回路の設定方法は、 プログラムを実行 するプロセサコアが複数個集積されるとともに、 これら複数個のプロセサコアに 共用され該複数個のプロセサコアそれぞれからの使用要求を調停して各プロセサ コアに使用権を与える調停機構を有するキャッシュメモリを備えた集積回路に、 これら複数個のプロセサコアのうちの上記複数個よりも少数の所定数のプロセサ コアを正常に動作する実使用可能なプロセサコァとして設定する集積回路の設定 方法において、
上記複数個のプロセサコアのうちの上記所定数のプロセサコアを除くプロセサ コアからのキャッシュメモリの使用要求を遮断することにより、 上記所定数のプ ロセサコアを実使用可能なプロセサコアとして設定することを特徴とする。 ここで、 上記本発明の集積回路の設定方法において、 上記複数個のプロセサコ ァのうちの上記所定数のプロセサコアを除くプロセサコアからのキャッシュメモ リの使用要求を遮断するとともに、 キャッシュメモリの使用要求が遮断されるプ ロセサコアへのクロックの供給を停止することが好ましい。
また、 上記本発明の集積回路の設定方法において、 上記複数個のプロセサコア のうちの上記所定数のプロセサコアを除くプロセサコアからのキャッシュメモリ の使用要求を遮断するとともに、 キャッシュメモリの使用要求が遮断されるプロ セサコアへの電力の供給を停止することも好ましい形態である。
以上説明したように、 本発明によれば、 キャッシュメモリを共用する複数のプ ロセサコアに適した冗長構成と実使用可能なプロセサコアの設定方法が提供され る。 図面の簡単な説明
図 1は、 一般的な汎用プロセッサの構造を示す図である。
図 2は、 プロセサコアを複数個同一の半導体チップ上に集積したときの汎用プ 口セッサの構造を示す図である。
図 3は、 冗長プロセサコアを含む複数プロセサコアを有する汎用プロセッサの 構造を示す図である。 '
図 4は、 二次キャッシュの構造を示す図である。
図 5は、 図 4に示す二次キャッシュに、 本実施形態の特徴である要求遮断スィ ツチを加えた図である。 図 6は、 実使用可能なプロセサコアを設定するフューズ回路と実使用に用いな いプロセサコアのアクセス要求を遮断する要求遮断回路を示す図である。
図 7は、 クロック分配回路を示す図である。
図 8は、 本実施形態の集積回路を構成する多数の論理プロックのうちの 1つの 論理ブロックを構成的に示した図である。
図 9は、 プロセサコアと論理ブロックとの関係を示した図である。
図 1 0は、 欠陥がなかった場合に使用される予定の正規プロセサコアの一部が 機能が拡張された正規プロセサコアを含む場合の汎用プロセッサの構成図である
発明を実施するための最良の形態
以下、 本発明の実施形態について説明する。
図 1は、 一般的な汎用プロセッサの構造を示す図である。
汎用プロセサは命令の実行を行う部分に高速、 小容量の一次キャッシュメモリ を加えたいわゆるプロセサコアと、 速度は多少遅いが大容量の二次キャッシュメ モリとを接続した構成をとるのが一般的である。
図 1に示すプロセサコア 1 0は、 実行ュニット 1 1と、 一次命令キャッシュ 1 2と、 一次データキャッシュ 1 3とから構成されている。 実行ュニット 1 1は、 プログラムの実行に必要な命令やデータを入手するために、 まず、 一次キヤッシ ュ 1 2、 1 3をアクセスし、 そこに求める命令やデータが無い場合には、 二次キ ャッシュアクセス要求経路 1 0 0を通してアクセス要求を送り、 二次キャッシュ 2 0にアクセスするという手順を取る。 二次キャッシュ 2 0は、 二次キャッシュ 応答経路 1 0 1を介して応答し、 二次キャッシュアクセスデータ経路 1 0 2を介 して命令やデータをやり取りする。 二次キャッシュにも必要な命令やデー夕が存 在しない場合は、 システムバスの要求経路 2 0 0、 応答経路 2 0丄、 デ一夕経路 2 0 2を使って主記憶や入出力装置 3 0をアクセスする。
図 2は、 プロセサコアを複数個同一の半導体チップ上に集積したときの汎用プ 口セッサの構造を示す図である。
汎用のプロセサコアを同一の半導体チップ上に複数個集積する場合は、 図 2に 示すように、 二次キャッシュ 2 0を複数のプロセサコア 1 0で共用する構成が一 般的である。 頻繁に使用される命令やデータは各プロセサコア 1 0の一次命令キ ャッシュ 1 2ゃデ一夕キャッシュ 1 3に格納され、 そこから供給されるので、 二 次キャッシュ 2 0へのアクセス頻度は大幅に減少する。 このため、 複数のプロセ サコア 1 0からの要求を 1つの二次キャッシュ 2 0に集合させても処理が滞らな いような設計を行うことが可能だからである。
図 3は、 冗長プロセサコアを含む複数プロセサコアを有する汎用プロゼッサの 構造を示す図である。
本実施形態では、 図 3に示すように、 1〜Nの N個の正規に必要なプロセサコ ァ 1 0— 1, …, 1 0— Nに加え、 さらに m個の冗長プロセサ,コア 1 5—1, … , 1 5— mを設ける。 これらのプロセサコアは物理的には同一の設計であり、 同 じょうに二次キャッシュ 2 0に接続されている。
図 4は、 二次キャッシュの構造を示す図である。 ただし、 ここでは、 冗長プロ セサコアの存在については無視し、 二次キャッシュの一般的な説明を行なう。 二次キャッシュは、 図 4に示すように、 要求受付、 優先順位判定を行う論理ブ ロックである要求受付、 優先順位判定部 3 0 0において全部のプロセサコア 1〜 Nからのアクセス要求を受取り、 複数の要求が同時に来た場合には、 あらかじめ 定められた規則に基づき優先順位をつけて最高順位のアクセス要求を受け付ける 。 アクセス要求を受け付けると、 その受け付けたアクセス要求を出した要求元プ ロセサコアに対しアクセス要求を受け付けたことを通知する。 一方、 二次キヤッ シュ内部では、 受け付けたアクセス要求を要求キュー 3 0 1に格納する。 さらに 、 その受け付けたアクセス要求が要求元のプロセサコァから二次キヤッシュへの データ書込要求であったときは、 要求受付、 優先順位判定部 3 0 0は、 データ経 路選択回路 3 0 3を制御して要求元のプロセサコアを選択させ、 その要求元から 送られたきた書込みデータを書込みバッファ 3 0 4に格納させる。
要求キュー 3 0 1の先頭に並んだアクセス要求は、 二次キャッシュタグアレイ 3 0 2と二次キャッシュデータアレイ 3 0 6に伝達され、 それら二次キャッシュ タグアレイ 3 0 2と二次キャッシュデータアレイ 3 0 6がアクセスされる。 二次 キャッシュタグアレイ 3 0 2からはタグが読み出され、 この読み出されたタグと 要求アドレスとがー致している場合は二次キャッシュデータアレイ 3 0 6のァク セスは有効である。 要求元のプロセサコアからのアクセス要求が二次キャッシュ からのデ一夕読出要求であったときは、 二次キャッシュデータアレイ 3 0 6の当 該アドレスからデ一夕が読み出されて読出しバッファ 3 0 5に格納され、 デ一夕 経路選択回路 3 0 3が制御されてその読出しバッファ 3 0 5に格納されたデータ が要求元のプロセサコアに送られる。 一方、 要求元のプロセサコアからのァクセ ス要求が二次キャッシュへのデータ書込要求であったときは、 書込みバッファ 3 0 4から対応する書込みデータが取り出されて二次キャッシュデ一夕アレイ 3 0 6の当該ァドレスに書き込まれる。
一方、 二次キャッシュタグアレイ 3 0 2から読み出されたタグと要求ァドレス とが不一致のときは、 二次キャッシュデータアレイ 3 0 6のアクセス結果は無視 され、 システムバスを経由して主記憶等へのアクセスを要求する。
以上の動作説明から分かるように、 二次キヤッシュへのアクセス要求がプロセ サコアの動作の鍵であり、 このアクセス要求を遮断して二次キャッシュにァクセ ス要求が受け付けられないようにすることにより、 実質的にそのプロセサコアを 無効化することが出来る。
又、 あるプロセサコアの要求を遮断して無効化を行っても、 他のプロセサコア からの要求は二次キヤッシュに伝わり、 優先順位に従つて受付とデータクセスが 行われるので、 他のプロセサコアの動作には影響はない。
以上の説明では各プロセサコアから I ZOへのアクセスの説明は省いているが 、 I /Oへのアクセス要求も二次キャッシュアクセスの要求受付機構を使用し、 要求が受付られた以降の処理は、 二次キャッシュ内のメモリアレイのアクセスで はなく、 システムバスを経由して I /O空間をアクセスする動作を行うようにす ることにより、 プロセサコアの無効化については同じ機構で処理することが出来 る。
図 5は、 図 4に示す二次キャッシュ、に、 本実施形態の特徴である要求遮断スィ ツチを書き加えた図である。 ここでは、 プロセサコアの数は冗長プロセサコアを 含め N + m個配置されている。 この図 5において、 図 4の各ブロックに対応する ブロックには、 分かり易さのために、 図 4に付した符号と同一の符号を付して示 す。
これまで説明してきた図 1〜図 4は、 本発明の実施形態の背景に関する説明の ための図であり、 以下では、 図 5以降の図を参照しながら、 本実施形態について 説明する。
要求遮断スィッチ 4 0 7は、 各プロセサコア l〜N + mのそれぞれに対応して 1つずつ備えられており、 各要求遮断スィッチ 4 0 7は、 各無効化信号 S Oの入 力を受けて、 対応するプロセサコアからのアクセス要求を遮断する。
正規に必要な数のプロセサコアに加えて必要な数の冗長プロセサコアを設け、 これら全てのプロセサコアから個別に、 二次キャッシュへの要求経路、 データ転 送経路を設け、 二次キャッシュによる、 これらの要求の優先順位づけと受付、 デ 一夕転送経路の制御を可能とする構造をとり、 かつ、 プロセサコアの試験結果に 基づき欠陥が存在するプロセサコアの要求経路を遮断することにより、 当該プロ セサコアを除外して良品のプロセサコアだけが動作する状態を作ることが可能で あり、 結果として正規に必要な数のプロセサコアが動作する集積回路を歩留まり 良く製造することが出来る。
このために必要となる変更は、 冗長プロセサコアと、 それに付随するデ一夕転 送経路や要求、 応答経路とを別にすると、 図 5に示すように、 各プロセサコアに 対する要求遮断スィッチ 4 0 7と、 集積されたプロセサコア数が増えたことによ り、 要求受付、 優先順位判定部 3 0 0とデータ経路選択回路 3 0 3に冗長コアに 対応する m個のポ—卜が追加となる点である。 また、 Nが 2 (n— nの場合には、 冗長コアの追加により要求キュー 3 0 1のプロセサコア番号の記憶のために 1ビ ット余計に必要になるなどの二次キャッシュ内の制御回路の若干の増加だけであ り、 極めて小さな回路追加で実現できる。
図 6は、 実使用可能なプロセサコアを設定するフューズ回路と実使用に用いな いプロセサコアのアクセス要求を遮断する要求遮断回路を示す図である。
この図 6には、 各プロセサコアに対応するフユ一ズ 5 0 0が備えられている。 フユ一ズ 5 0 0は初期状態では繋がっている状態であるが、 対応するプロセサコ ァに欠陥がありそのプロセサコアを実使用できない場合は、 レーザなどの手段で そのプロセサコアに対応するフューズが切断される。 尚、 欠陥のあるプロセサコ ァの数が冗長プロセサコアの数よりも少ない場合、 実使用に用いられるプロセサ コアの数を越えるプロセサコアは欠陥がなくてもフユ一ズが切断され、 実使用に は用いられない。
フューズ読出し信号 S 2が Hとなると、 Nトランジスタ 5 0 2がオンとなり、 フユ—ズが繋がっている場合は、 弱い Pトランジスタ 5 0 1に打ち勝ってインバ 一夕 5 0 3の入力は Lとなる。 一方、 フューズが切断されていると、 Pトランジ スタ 5 0 1によりインバ一タ 5 0 3の入力は Hに留まる。 フューズ読出し信号 S 2が Hの場合はマルチプレクサ 5 0 4はインバー夕 5 0 3からの信号を選択して 、 フリップフロップ 5 0 5のデータ入力端子に伝達し、 クロック C L Kにより、 この信号がフリップフロップ 5 0 5に記憶される。 その後、 フューズ読出し信号 S 2は Lに戻される。
フリップフロップ 5 0 5の出力 S 3は、 フューズ 5 0 0が繋がっている状態で は Hであり、 フューズ 5 0 0が切断されると Lとなる。
破線で囲んだ要求遮断回路 6 0 0を構成する 2入力 NAN D 6 1 0とインバー 夕 6 1 1との各ペアは、 図 4に示す各要求遮断スィッチ 4 0 7に相当する。 フリップフロップ 5 0 5からの出力 S 3が Lの場合、 対応するプロセサコアか らのアクセス要求信号 S 1の状態にかかわらずインバータ 6 1 1からの出力 (無 効化信号) S Oは Lとなり、 欠陥を持つこと等により不使用とされたプロセサコ ァからのアクセス要求は遮断される。
一方フューズ 5 0 0が繋がっている場合は、 フリップフロップ 5 0 5の出力 S 3は Hであり、 対応するプロセサコアからのアクセス要求 S 1がそのままインバ 一夕 6 1 1の出力 S 0となり、 図 5に示す要求受付、 優先順位判定回路 3 0 0に 伝送される。
フユ一ズ情報を保持するフリップフロップ 5 0 5、 5 1 5、 …は、 フューズ読 出し信号 S 2が Lの場合にはマルチプレクサ 5 0 4を介してシフトレジスタとし て縦続接続されており、 クロックパルス C L Kが入るごとに内容がシフトしてい く。 このシフトレジスタの入力はこの集積回路の外部から制御可能であり、 この 経路を通して、 フユ—ズの内容とは独立に、 任意の情報をフリップフロップに書 き込むことが出来る。 この機能は、 試験時に単一のプロセサコアだけを有効にし てそのプロセサコアの欠陥の有無を試験したいような場合に有効である。
また、 使用途中で、 あるプロセサコアが故障したとき、 フューズは切断されて いるものの欠陥のないプロセサコアが存在するときは、 このシフトレジス夕のデ
—夕入力経路を介してデータを書き込み、 実使用されるプロセサコアを必要数確 保して正常動作を再開することも可能である。
ここで、 冗長プロセサコアを集積した場合の歩留まりについて説明しておく。 各プロセサコアの歩留まりを X、 二次キャッシュを含む共通部の歩留まりを y とすると、 n個のプロセサコアを含む集積回路全体の歩留まりは xn · yとなる 。 これに対して 1個の冗長プロセサコアを加えた場合はどれか 1個のプロセサコ ァが欠陥をもっていていも正規の n個の良品のプロセサコアをもつ集積回路が作 れるので、 全体の歩留まり Yは、 以下の式で表される。
Y= (χ (η + 1) + (η+ 1) (1-χ) · χη) - y
= ( (η+ 1) · χη— η · χ (η + 1) ) · y
冗長プロセサコアを持たない構成との歩留まりの比 Rは、
R = n+ 1— nx = n - 丄ー xリ + 1
であり、 Xの値が 1に較べて充分小さい場合は、 冗長プロセサコアを持たない構 成と較べると歩留まりは n+ 1倍となり、 歩留まりが大きく改善する。 半導体製 造技術が習熟し、 欠陥密度が減少して Xが 0. 8となっても、 n = 4の場合は 4 X 0. 2 + 1 = 1. 8、 n= 8の場合は 8X 0. 2 + 1 = 2. 6であり、 相当な 歩留まり改善効果がある。
欠陥のあるプロセサコアを無効化する場合、 二次キャッシュのアクセス要求を 遮断する以外に、 当該プロセサコァへのクロックの供給を停止することにより無 駄な動作電力を削減することができる。 また、 近年、 非動作時のリーク電力も問 題になっており、 各プロセサコアに対応して電源スィッチに相当するカツトオフ トランジスタを設け、 これをオフにすることにより、 非動作時の無駄な消費電力 を削減することができる。
図 7は、 クロック分配回路を示す図である。
ここには、 本実施形態の集積回路における基準となるクロックを生成するク口 ックソース 700が示されており、 クロックは、 このクロックソース 700から 、 本実施形態の集積回路の各部に、 バッファツリーを介して分配される。 バッフ ァ 7 0 1, 7 0 2はインバー夕で構成された単純なバッファであるが、 バッファ 7 0 3は各プロセサコアに対応して備えられており、 対応するプロセサコアへの クロックの供給を停止させるゲート機能を有する N A N Dゲートで構成されてい る。
プロセサコアに対応した無効化信号 S 0 (図 6に示す要求遮断回路 6 0 0の出 力 S O ) は、 N AN Dゲートで構成されたバッファ 7 0 3に入力され、 この無効 化信号 S 0が Lになると対応するプロセサコア全体へのクロック供給が停止し、 スィッチング電力の無駄な消費が抑えられる。
また、 この図 7に示すクロック分配回路には、 そのゲート機能を有するバッフ ァ 7 0 3の後段にもバッファ 7 0 4, 7 0 5が備えられている。 1つのプロセサ コア内であっても、 多数のフリップフロップなどが存在することによりクロック を必要とする論理ブロックが数多く存在し、 バッファ 7 0 4 , 7 0 5は、 その 1 つのプロセサコア内の各論理ブロックへのクロックの分配を担っている。 バッフ ァ 7 0 4は単純なィンバ一夕で構成されたものであるが、 バッファ 7 0 5は、 バ ッファ 7 0 3と同様に NAN Dゲートで構成されたクロック停止機能を持つバッ ファであり、 その対応する論理プロックの動作が必要か否かを示す信号 S 4に応 じて、 その信号 S 4が Hのときはその論理ブロックにクロックを供給し、 信号 S 4が Lのときはその論理ブロックへのクロック供給を停止する。 信号 S 4を制御 してその論理プロックの動作が必要でない場合にこまめにクロックを停止するこ とにより、 消費電力をさらに削減することができる。
次に電力の削減について説明する。
図 8は本実施形態の集積回路を構成する多数の論理プロックのうちの 1つの論 理ブロックを模式的に示した図、 図 9はプロセサコアと論理プロックとの関係を 示した図である。
図 9に示すように、 各プロセサコアはそれぞれ多数の論理プロックから構成さ れている。
この図 8に示す論理ブロック 8 0 0にはリーク電力の削減手段が組み入れられ ている。 リーク電力の削減を行う場合は、 各論理ブロックの回路は、 V d d側は電源に 接続されるが、 V s s側は論理ブロック単位の仮想グランド 8 0 1に接続される 。 仮想グランド 8 0 1と本当のグランド (V s s ) との間にはスィッチ速度は遅 いがオフの場合のリーク電流の少ない構造の Nトランジスタ 8 0 2が電源スイツ チとして挿入されている。 論理ブロックを動作させる場合には、 N卜ランジス夕 8 0 2をオンにして、 仮想グランドの電位をほぼ V s s (グランド) にして動作 させる。 トランジスタ 8 0 2は電源遮断信号 S 5, S 6のいずれかが Lとなると オフとなり、 仮想グランド 8 0 1の電位は V d dとなるが、 Nトランジスタ 8 0 2のリーク電流は小さいのでリーク電力を抑えることが出来る。 図 9に示すよう に、 プロセサコアに含まれる全ての論理ブロックの一方の電力遮断信号 S 5の信 号伝達線を共通に接続し、 その電力遮断信号 S 5として無効化信号 S 0 (図 6に 示す要求遮断回路 6 0 0出力 S 0 ) を用いることにより、 プロセサコア全体の電 力を遮断することが出来る。
もう一方の電力遮断信号 S 6は、 各論理ブロックが使用されない場合に論理ブ ロック単位で電力を遮断してリーク電流を減らす為に用いられる。 しかし、 トラ ンジス夕 8 0 2のスィッチ速度は遅いので、 かなり長い時間に渡って使用されな いことが必要である。
図 8に示した回路でプロセサコアに供給する電力を遮断すると、 グランドへの 接続が切断されるので、 全出力信号は H (V d d ) レベルとなる。 従って、 図 5 に示す二次キャッシュの要求受付、 優先順位判定部 3 0 0を信号が L (V s s ) レベルの時にアクセス要求、 Hの時に非要求と見なすように作れば、 アクセス要 求の経路を明に遮断するスィッチ (図 5に示す要求遮断スィッチ 4 0 7 ) を設け ることなく、 電力遮断により自動的に二次キヤッシュのアクセス要求を遮断する ように構成してもよい。 この場合、 本発明にいう電力供給停止機構が本発明にい う使用要求遮断機構を兼ねたものとなる。
また、 クロックの停止により、 二次キャッシュのアクセス要求信号線が非要求 状態になるようにプロセサコアの回路を構成することにより、 遮断と同一の効果 を得ることも可能である。 例えば図 5に示す要求遮断スィッチ 4 0 7を各プロセ サコアに内蔵し、 その要求遮断スィッチ 4 0 7に図 6に示す要求遮断信号 S 0に 代えてクロックの停止信号を入力することにより、 このような効果を実現できる 。 この場合、 本発明にいうクロック供給停止機構が本発明にいう使用要求遮断機 構を兼ねたものとなる。
図 1 0は、 欠陥がなかった場合に使用される予定の正規プロセサコアの一部に 機能が拡張された正規プロセサコアを含む場合の汎用プロセッサの構成図である これまでの説明では正規プロセサコアおよび冗長プロセサコアは全て同じ構成 のものとして説明してきたが、 これまでの説明は、 図 1 0に示すような、 正規プ ロセサコア 1 0— 1〜1 0— Nの一部が、 拡張された機能を持つプロセサコア 1 0 _Nになっている場合にもあてはまる。 この場合には拡張機能を持つ正規プロ セサコア 1 0—Nに欠陥がある場合にも冗長救済を可能にする為に、 冗長プロセ サコア 1 5として、 拡張機能をもつプロセサコアを用意しておく。 ここで、 拡張 機能をもつ 規プロセサコア 1 0と拡張機能をもつ冗長プロセサコア 1 5は同一 の設計のプロセサコアである。 こうすることにより、 拡張機能を持たない正規プ ロセサコアに欠陥があった場合にも冗長プロセサコア 1 5をその欠陥のある正規 プロセサコアの代わりに使用することができる。 全体としては使用頻度が低く全 プロセサコアに実装するには無駄が多いが、 プロセサ全体としては必要な機能が 存在する場合は、 その機能を拡張機能として図 1 0に示すように構成することに より、 拡張機能のないプロセサコアをより小さくすることが出来、 一定のチップ 面積により多くのプロセサコアを集積することが可能になる。

Claims

請求の範囲
1 . プログラムを実行するプロセサコアが複数個集積され、 これら複数個の プロセサコアのうちの該複数個よりも少数の所定数のプロセサコァが正常に動作 する実使用可能なプロセサコアとして設定される集積回路において、
前記複数個のプロセサコァに共用され該複数個のプロセサコアそれぞれからの 使用要求を調停して各プロセサコアに使用権を与える調停機構を有するキヤッシ ュメモリと、 .
前記複数個のプロセサコアからの前記キャッシュメモリの使用要求を、 各プロ セサコアごとに遮断する使用要求遮断機構とを備え、
前記複数個のプロセサコアのうちの前記所定数のプロセサコアを除くプロセサ コアからの前記キャッシュメモリの使用要求を遮断することにより、 該所定数の プロセサコアを実使用可能なプロセサコアとして設定することを特徴とする集積 回路。
2 . 前記使用要求遮断機構が、 前記複数個のプロセサコアのうちの前記キヤ ッシュメモリの使用要求を遮断するプロセサコアの情報を、 この集積回路内に不 揮発的に記録しておくものであることを特徵とする請求項 1記載の集積回路。
3 . 前記使用要求遮断機構が、 前記複数個のプロセサコアのうちの前記キヤ ッシュメモリの使用要求を遮断するプロセサコアの情報の、 この集積回路外部か らの入力を受けて、 該情報を記憶するものであることを特徴とする請求項 1記載 の集積回路。
4 . 前記複数個のプロセサコアにクロックを供給するクロック供給部を備え 、 該クロック供給部が、 前記使用要求遮断機構により前記キャッシュメモリの使 用要求が遮断されるプロセサコアへのクロックの供給を停止するクロック供給停 止機構を有することを特徴とする請求項 1記載の集積回路。
5 . 前記複数個のプロセサコアに電力を供給する電力供給部を備え、 該電力 供給部が、 前記使用要求遮断機構により前記キヤッシュメモリの使用要求が遮断 されるプロセサコアへの電力の供給を停止する電力供給停止機構を有することを 特徴とする請求項 1記載の集積回路。
6 . 前記複数個のプロセサコアのうちの一部のプロセサコアが、 該一部のプ ロセサコアを除く他のプロセサコアの機能と同一の機能に加え、 さらに拡張機能 を有する拡張機能付プロセサコアであって、 該複数個のプロセサコアのうちの、 実使用時に該拡張機能を必要とするプロセサコアの個数よりも多い個数のプロセ サコアそれぞれが該拡張機能付プロセサコアであることを特徴とする請求項 1記 載の集積回路。
7 . プログラムを実行するプロセサコアが複数個集積されるとともに、 これ ら複数個のプロセサコアに共用され該複数個のプロセサコアそれぞれからの使用 要求を調停して各プロセサコアに使用権を与える調停機構を有するキャッシュメ モリを備えた集積回路に、 これら複数個のプロセサコアのうちの該複数個よりも 少数の所定数のプロセサコアを正常に動作する実使用可能なプロセサコアとして 設定する集積回路の設定方法において、
前記複数個のプロセサコアのうちの前記所定数のプロセサコアを除くプロセサ コアからの前記キヤッシュメモリの使用要求を遮断することにより、 該所定数の プロセサコアを実使用可能なプロセサコアとして設定することを特徴とする集積 回路の設定方法。
8 . 前記複数個のプロセサコアのうちの前記所定数のプロセサコアを除くプ 口セサコァからの前記キヤッシュメモリの使用要求を遮断するとともに、 前記キ ャッシュメモリの使用要求が遮断されるプロセサコアへのクロックの供給を停止 することを特徴とする請求項 7記載の集積回路の設定方法。
9 . 前記複数個のプロセサコアのうちの前記所定数のプロセサコアを除くプ ロセサコアからの前記キャッシュメモリの使用要求を遮断するとともに、 前記キ ャッシュメモリの使用要求が遮断されるプロセサコアへの電力の供給を停止する ことを特徴とする請求項 7記載の集積回路の設定方法。
PCT/JP2003/011728 2003-09-12 2003-09-12 集積回路およびその設定方法 WO2005026975A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/011728 WO2005026975A1 (ja) 2003-09-12 2003-09-12 集積回路およびその設定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/011728 WO2005026975A1 (ja) 2003-09-12 2003-09-12 集積回路およびその設定方法

Publications (1)

Publication Number Publication Date
WO2005026975A1 true WO2005026975A1 (ja) 2005-03-24

Family

ID=34308227

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/011728 WO2005026975A1 (ja) 2003-09-12 2003-09-12 集積回路およびその設定方法

Country Status (1)

Country Link
WO (1) WO2005026975A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04199285A (ja) * 1990-11-26 1992-07-20 Hitachi Ltd マイクロプロセッサ、およびその製造方法とそれを用いた携帯型情報処理装置
JPH08148573A (ja) * 1994-11-21 1996-06-07 Hitachi Ltd 半導体装置
JPH11328133A (ja) * 1998-03-31 1999-11-30 Internatl Business Mach Corp <Ibm> 複数のプロセッサを有するデ―タ処理装置および方法
JP2000259413A (ja) * 1999-03-10 2000-09-22 Matsushita Electric Ind Co Ltd 演算装置
JP2002197072A (ja) * 2000-12-26 2002-07-12 Hitachi Ltd システムlsi及びその機能モジュールの選択方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04199285A (ja) * 1990-11-26 1992-07-20 Hitachi Ltd マイクロプロセッサ、およびその製造方法とそれを用いた携帯型情報処理装置
JPH08148573A (ja) * 1994-11-21 1996-06-07 Hitachi Ltd 半導体装置
JPH11328133A (ja) * 1998-03-31 1999-11-30 Internatl Business Mach Corp <Ibm> 複数のプロセッサを有するデ―タ処理装置および方法
JP2000259413A (ja) * 1999-03-10 2000-09-22 Matsushita Electric Ind Co Ltd 演算装置
JP2002197072A (ja) * 2000-12-26 2002-07-12 Hitachi Ltd システムlsi及びその機能モジュールの選択方法

Similar Documents

Publication Publication Date Title
US11901026B2 (en) Partial refresh
KR102370477B1 (ko) 가상 컨트롤러 모드를 가진 메모리 컨트롤러
JP4296996B2 (ja) マルチコアプロセサ制御方式
US7076609B2 (en) Cache sharing for a chip multiprocessor or multiprocessing system
US7272061B2 (en) Dynamic pre-charge level control in semiconductor devices
JP2002324395A (ja) 半導体集積回路
US7209404B2 (en) Low power memory sub-system architecture
KR102615693B1 (ko) Dram을 위한 리프레시 관리
US11561862B2 (en) Refresh management for DRAM
JP2023539737A (ja) 複数のコマンドサブキュー及び対応するアービタを有するメモリコントローラ
US6671822B1 (en) Method and system for absorbing defects in high performance microprocessor with a large n-way set associative cache
US6594711B1 (en) Method and apparatus for operating one or more caches in conjunction with direct memory access controller
US7765250B2 (en) Data processor with internal memory structure for processing stream data
JPH1097464A (ja) 情報処理システム
US20100095068A1 (en) Cache memory control device and pipeline control method
US8533396B2 (en) Memory elements for performing an allocation operation and related methods
JP3279787B2 (ja) 半導体記憶装置
WO2005026975A1 (ja) 集積回路およびその設定方法
KR20230158571A (ko) 멀티-큐 메모리 컨트롤러를 위한 크레딧 스킴
US7385862B2 (en) Shared redundant memory architecture and memory system incorporating same
US8516179B2 (en) Integrated circuit with coupled processing cores
US20070240013A1 (en) Methods And Apparatus For Managing Defective Processors Through Clock Programming
US20080117709A1 (en) Delay Mechanism for Unbalanced Read/Write Paths in Domino SRAM Arrays
JP2003150446A (ja) キャッシュメモリ
WO2016048892A1 (en) Managing memory in a multiprocessor system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP