WO1997009675A1 - Memoire pipeline a etapes variables - Google Patents

Memoire pipeline a etapes variables Download PDF

Info

Publication number
WO1997009675A1
WO1997009675A1 PCT/JP1995/001788 JP9501788W WO9709675A1 WO 1997009675 A1 WO1997009675 A1 WO 1997009675A1 JP 9501788 W JP9501788 W JP 9501788W WO 9709675 A1 WO9709675 A1 WO 9709675A1
Authority
WO
WIPO (PCT)
Prior art keywords
stage
division
unit
memory
variable
Prior art date
Application number
PCT/JP1995/001788
Other languages
English (en)
French (fr)
Inventor
Kenichi Fukui
Masahiro Iwamura
Original Assignee
Hitachi, Ltd.
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 Hitachi, Ltd. filed Critical Hitachi, Ltd.
Priority to PCT/JP1995/001788 priority Critical patent/WO1997009675A1/ja
Publication of WO1997009675A1 publication Critical patent/WO1997009675A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3875Pipelining a single stage, e.g. superpipelining

Definitions

  • the present invention relates to a pipeline processing device requiring high-speed operation, and more particularly to a computer system including a cache memory and a microprocessor.
  • the main components of a computer system are a CPU (processor) and memory, and both must be accelerated to improve system performance.
  • Indicators for speeding up include address access time TAA [ns] from request request to completion of work, request input cycle (cycle time Tcy) [ns], clock cycle number from input to end (latency). There is N cy [cycle]. These have the following relationship:
  • the processing time of each stage is set to be approximately equal in the pipeline design.
  • N cy> TAA / T cy 5... (Equation 3)
  • the low-speed 50 ns memory can be increased to 100 MHz. Can be used at frequencies.
  • the cycle frequency can be increased almost twice with a penalty of doubling the latency.
  • the interface between the microprocessor and the cache In many cases, the next operation switches depending on the result of the previous processing, such as branching, and the increase in the number of pipeline stages means that a large number of instructions waiting for the previous processing result are accumulated, which complicates control. become.
  • the development time of the re-memory is later than that of the microprocessor.
  • the first object of the present invention is to provide a semiconductor memory that solves the above-mentioned problems, and a first object is to provide a circuit for switching latency that is twice or less, and to provide a block configuration that can realize high-speed cycle operation and minimum latency. is there.
  • a second object of the present invention is to provide a high-speed operation system that can be used as a high-speed memory system equivalent to a CPU immediately after the supply of the CPU is started without delay in development when a high-speed microprocessor is developed.
  • the purpose is to provide a way to configure memory.
  • the third object of the present invention is to realize that a single memory product The goal is to be able to respond to a wide range of memory requirements. Disclosure of the invention
  • a feature of the present invention is that a pipeline memory has a stage division unit for dividing each stage, and a division setting unit that inputs a control signal for setting the number of divisions to the stage division unit. And non-divided combinations are arbitrarily switched.
  • Another feature of the present invention resides in that a control signal from the division setting unit is stored in a division information storage unit provided for each of the stage division units.
  • the division setting unit sets the number of divisions and which stage division unit is to be divided or not divided in response to an external signal.
  • Another feature of the present invention is that a memory cell indicated by an address is selected, and data is held or passed on a path for outputting data held in the memory cell under the control of a clock signal.
  • FIG. 1 is a diagram showing a variable-stage pipeline memory of the present invention
  • FIG. 2 is a diagram showing a stage number dividing circuit of the present invention
  • FIG. 3 is a diagram showing a stage number dividing circuit of the present invention
  • FIG. 5 is a diagram showing an embodiment of a stage number dividing circuit of the present invention
  • FIG. 6 is a diagram showing a stage number programming circuit of the present invention
  • FIG. Diagram showing the stage number program circuit FIG. 9 is a diagram showing a stage number program circuit
  • FIG. 9 is a diagram schematically showing stage number switching
  • FIG. 10 is a diagram showing the effect of the stage number switching pipeline memory according to the present invention
  • FIG. Fig. 12 shows a line memory
  • FIG. 12 shows the effect of comparing the number of stages switching between memory generations
  • Fig. 13 shows an embodiment of a variable-stage pipeline memory
  • Fig. 14 shows FIG. 15 is a diagram showing an embodiment of a timing adjustment circuit
  • FIG. 15 is a diagram showing an embodiment of a timing adjustment circuit
  • FIG. 16 is a first embodiment of the memory circuit of the present invention
  • FIG. FIG. 18 is an embodiment of the present invention for a microprocessor
  • FIG. 19 is an embodiment of a variable-stage pipeline memory by pin input
  • second FIG. 2 is a diagram showing an embodiment of a variable number of stages pipeline memory according to the state storage such as an EEPROM or a ferroelectric memory.
  • FIG. 1 shows an embodiment of the present invention.
  • the difference of the pipeline memory shown in this figure from the conventional one is that a plurality of switchable stage division circuits are provided continuously.
  • the pipeline memory of the present invention comprises a memory operation circuit 100 0, a stage number switching control signal group 3 00 0, program means 2 00 0 0, and a control signal input 80.
  • the memory operation circuit 100 0 is composed of an input terminal (10), an input buffer (11), a decoder (12) (13), a memory cell (15), a sense amplifier (17), and an output buffer (18). ), An output terminal (19), and other memory operation element circuits, and a stage division circuit (111-119).
  • the signal input from the address input terminal flows through the memory operation element circuit in this order, and reaches the output terminal.
  • stage division circuits (1 1 1 1 1 1 7) at a plurality of locations between the memory operation element circuits.
  • the signals input from the address are 1 0—1 1—1 1 1—1 2—1 1 2—— (omitted) ' ⁇ 16—1 16—1 7—1 1 7—
  • the output is reached via the route 18-19.
  • the memory operation element circuit (10--19) and the stage division circuit (11-11-19) have associated numbers.
  • the stage division circuit includes a stage division circuit that can switch the stage division circuit between split and non-division, and a non-switchable division circuit.
  • at least two consecutive stage division circuits use a control signal. It is characterized in that two or more stages of stage division circuits (1 1 1 1 1 1 7) that can be switched to stage division and non-division are provided continuously by input.
  • the switching of the number of stages is controlled by the program means (20000) based on the number-of-stages setting information (800) provided from the outside or inside of the chip. Is generated and input to the stage division circuit with control input to switch the combination of stage division / non-division of each stage division circuit.
  • the stage division circuit with the stage number switching control input is not continuous, so if the stage division number is increased by one, The cycle time was hardly reduced.
  • an extra stage division circuit is embedded in advance, and in this combination of division / non-division, when the number of stage division stages is increased, at least the stage division circuit that does not use division is used. Providing one location can evenly divide the delay time of each stage, and achieves both the minimum number of stage divisions and the highest cycle frequency.
  • the present invention provides a basic operation element (100-0) comprising a basic operation element circuit: (10--19) and a switchable stage division circuit (110-119), and a stage number setting information input. (300-399), a control signal generator (200-209), elements and a signal input circuit (800) essential for control, and a clock circuit (500).
  • a basic operation element (100-0) comprising a basic operation element circuit: (10--19) and a switchable stage division circuit (110-119), and a stage number setting information input. (300-399), a control signal generator (200-209), elements and a signal input circuit (800) essential for control, and a clock circuit (500).
  • FIGS. 4 and 5 show an embodiment of a stage division circuit necessary to realize the present invention.
  • Fig. 4 shows the number of stages with control signal input.
  • 5 is an embodiment of a switching circuit.
  • FIG. 4 shows the stage dividing circuit with control signal 111
  • This circuit has an input (A), output (C), clock (E), and control signal input (D) as input / output terminals with the outside.
  • a data holding circuit (40) and a selector The data holding device (40) samples the input (A) according to the clock (E), outputs it to the output (B) of the holding circuit, and
  • the Lector is a circuit that outputs either the input (A) or the holding circuit output (B) to the output (C) according to the selector input (D).
  • the input (A) is sampled according to the clock (E) and output to the output (B) of the data holding circuit (40).
  • the stage can be switched between divided and non-divided by the High or Low of the control signal D.
  • FIG. 5 is another embodiment of a stage number switching circuit with a control signal input.
  • FIG. 5 shows the stage dividing circuit with control signal 111, other data holding circuits (111 to 119) can be similarly configured.
  • This circuit has input (A), output (C), clock (E), and control signal input (D) terminals, and has a mask circuit (60) and a semi-memory element (70) inside.
  • the mask circuit (60) masks the clock (E) according to the control input signal (D) and outputs the masked clock (F) to the half-memory element.
  • (70) is a circuit configured to output either the input (A) or the output (C) to the internal state (C ') depending on the level of (F).
  • the input F of the selector section is fixed at Low irrespective of the clock input E.
  • node F when node F is high, node C 'is M21, M22 is ON and Ml1, Ml2 are OFF, so C' is the inverted signal of C, and C is C Appears.
  • the stage division circuit can be switched between divided and undivided. 'As described above, by using the stage division circuit with the control signal, it is possible to switch the division coupling of the list.
  • FIGS. 6, 7 and 8 show an embodiment of the program means.
  • stage number setting signal group (30000) can be generated from the stage number setting information (800).
  • stage number entertainment signal (30000) does not add the stage division position when the number of stages is increased
  • FIG. 6 shows an embodiment of the program means.
  • the programming means (200) is connected to the stage number setting information input terminal (800).
  • the signal is mapped to the stage number setting signal (300) through the combinational logic circuit (250).
  • FIG. 7 shows another embodiment of the program means.
  • the stage number setting information input terminal (800) is held in the latch circuit (220) according to the input sample signal (810).
  • an internal stage division control signal is generated by the decoder (250).
  • the register can be a shift register.
  • test circuit such as JTAG
  • FIG. 8 shows an embodiment of the program means, which is a more specific case of 250.
  • FIG. 8 shows the internal circuit of the combinational logic (250). It corresponds to the operations in Fig. 9 and Fig. 16.
  • the stage number setting information input terminal (800) is composed of a combination of 3-bit control signals T, (2, 3) (0, 1). Also, it is converted to a vector of the combination of (H, L) of the 5-bit stage number setting signal (361-307) from the key.
  • Combinational logic circuits allow independent control from the rear.
  • the feature of the configuration of the decoded signal is that when increasing the number of stages in order from 0, instead of adding a stage for monotonous division, a stage for stopping division is provided.
  • the number of stages of cowling is 3, 4, and 5).
  • FIG. 9 is a schematic diagram showing how the number of stages is switched.
  • T 3 T 2, T 1) (0, 0, 1), (30 1, 3 0 2
  • the delay time of the memory configuration basic circuit is designed so that the delay time of each stage is almost equal.
  • the cycle will be stage 1 from the input, It is defined by the stage where stage 2 and stage 3 are connected, the stage where stage 4 and stage 5 are connected, and the slowest stage among the inputs from the output to the external 1C.
  • stage 1 When switching from three stages to four stages, simply adding the number of divisions to the operation of the second stage division circuit (1 14) causes an imbalance in the delay time, making it difficult to speed up the cycle. .
  • the cycle time is determined by the input power, the connection of stage 1, stage 2 and stage 3, the stage 4, stage ⁇ , and the output from the external IC. Input, and the connection between stage2 and stage3 is restricted, which hinders speeding up.
  • the stage division control signal (300) is changed to (310, 300, 304, 300).
  • 6, 3 0 7) (H, H, L, H, H)
  • the control input of the stage division circuit 114 is set to L, and the connection of stage3 and stage is performed.
  • FIG. 10 is a diagram schematically showing the relationship between the number of pipeline stages of the stage number switching pipeline memory of FIG. 9 and the maximum operating frequency.
  • PD t PD (i) 10 [ns]
  • t CQ (i-1) 0.4 [ns]
  • " gn (i) 0 [ns]
  • the stage division circuit was integrated with the basic configuration circuit so that the delay time was not visible.
  • t pd is a delay time
  • t su is a setup time
  • t H is a free-time
  • t CQ is a delay time from a clock to a register output
  • t mgn is a timing magazine .
  • the pipeline is divided into (N + 1) stages, and the average value of the delay time of the basic circuit per stage is
  • FIG. 11 shows a known example of a variable stage pipeline.
  • FIG. 12 is an example showing the effect of the stage number switching pipeline memory on the product life.
  • the horizontal axis is the memory generation, and the vertical axis is the required cycle frequency.
  • the performance of devices will increase as the generation progresses due to the improvement of device performance by the process.
  • a to C are the same cache memory products, and the number of stages can be switched by the manufacturer or user program with the metal option, pin option, EEPR0M, etc.
  • one stage A is used.
  • the next generation uses C with three stages.
  • the next generation uses C with 5 stages. By switching the number of stages, it is possible to respond to the demands of the next-generation CPU by switching the number of stages of the current-generation memory to B and C to achieve higher speed.
  • the system can be configured using inexpensive memory.
  • FIG. 13 shows another embodiment for switching the number of pipeline stages.
  • the phase of the clock is changed in accordance with the switching of the number of stages, and a timing margin is obtained.
  • the clock of each one or more stage division circuits generates the clock timing adjustment signal 350 by the clock means 200 based on the information of the stage number setting signal 800.
  • the clock timing adjustment circuit is a stage number switching pipeline memory device characterized in that the phase of the reference clock 500 is shifted to give each stage division circuit a clock timing shifted in phase.
  • the maximum transmission time between the stages limits the maximum operating frequency, so when switching the number of stages, the transmission delay time between the stages is always non-uniform in one of the switched stages. Becomes For this reason, in order to effectively use the switching of the number of stages, it is necessary to accommodate the timing margin in each stage. Therefore, the maximum frequency can be increased by adjusting the timing of the sample clock between adjacent stages.
  • FIGS. 14 and 15 show embodiments of the clock timing adjustment circuit.
  • FIG. 14 is an example of a clock timing adjustment circuit (400). This circuit generates clock signals (E 1), (E 2), (E 3), and (E 4) which are delayed from the clock signal (C) by using a delay element. This is a circuit that changes the clock timing of each stage division circuit by selecting a required phase according to the control signal (350) using the combinational logic circuit 290.
  • the clock is set according to the state of each stage division by the combinational logic circuit. Since the phase can be adjusted, the timing margin can be distributed so that the clock time interval between the stages is evenly greater than the signal transmission time of each stage.
  • FIG. 15 shows another embodiment of the timing adjustment circuit (400) using the variable delay circuit.
  • This circuit has a clock input (500), variable delay circuits Delay1 and Delay2 by a control signal (350), and a phase-adjusted clock 510.
  • the input signal is a PLL including Delay1.
  • the signal "before the clock input ⁇ " is obtained, and the signal delayed further by Delay 2 is output to the phase-adjusted clock output 5 10.
  • Dock signal 0 contains delay time tDelaay1 in d-feedpack
  • ⁇ ' is a pulse that is later than ( tDelay2 - tDelay1 ).
  • the timing can be adjusted independently by each clock timing adjustment circuit shown in Fig. 13, so the clock time interval between each stage can be adjusted. It is possible to distribute the timing margin so that the time is evenly larger than the signal transmission time of each stage.
  • FIG. 16 shows an embodiment of the present invention. For details, see By appropriately switching the sample timing according to the number switching signal, the sample timing can be allocated to each stage.
  • a stage division circuit with a control signal is used in all five stages of the pipeline, but it is not necessary to switch all the stages.
  • control signal is held in the holding circuit of the second stage by, for example, limited switching of the second stage and the third stage is also possible.
  • program means is not limited to the PIN input of the embodiment, but may be any as long as it can record program information and generate signals.
  • FUSE and resistance detection, potential and SRAM, charge and EPROM, EEPR0M, bonding, metal options, and other connection information, as well as pressure, thermal resistance, and notch means are also possible.
  • Figure 17 shows the configuration when the control of the variable-stage pipeline memory is incorporated in a standard self-test circuit (BIST).
  • This circuit has a configuration in which the stage number setting information input to the variable stage number pipeline memory shown in the previous embodiment is included in the (BIST) scan path, and the stage number can be set as part of the self-test mode.
  • This circuit is a circuit configured to generate a stage division control signal (350) through the decoder (250) based on the output of the ScanPath of the register (220).
  • the scan path register is used to input the stage number setting information (800), the number of PINs is reduced.
  • variable-stage pipeline memory has a complicated internal state, You need a bird.
  • a means for giving an initial value of a register may be added.
  • Fig. 18 shows an example of the input configuration of a microprocessor that subverts a pipeline memory with a variable number of stages.
  • a stage division circuit with a control signal input is provided in the cache BANK inside the chip in response to switching of the external cache configuration, and the number of clock cycles of the REG-REG loop is changed by the control signal 300. It is.
  • the internal cache control of the CPU and the external control method are switched simultaneously according to the clock operating frequency, so that a low-speed cache memory and a high-speed cache memory are used, and an external secondary cache is used.
  • By adjusting the latency and the latency it is possible to implement a simple control high-speed operation cache that supports both speeds.
  • the external cache is a secondary cache, it can be adjusted by the length of the Q eue, but it can be handled by making the length of the internal data control Q eue buffer variable according to the stage number setting signal. It is.
  • FIG. 19 shows an embodiment of a pipeline memory having a variable number of stages by pin input.
  • the program means (200) shown in FIGS. 1 and 13 includes a terminal for interfacing with the outside of the chip and a control terminal, and the program means 200 through an input buffer. In this configuration, a signal is input to
  • the input buffer When a signal is input from the outside to the input terminal, the input buffer transmits the signal from the outside to the electric signal programming means, so that the information on the number of stages can be shared between the outside and inside the chip.
  • the control method can be normal software control or hardware control.
  • control of the pipeline is related to the security of the system, the switching operation should preferably be performed in a limited area that is easy to verify.
  • software control there is a method of allocating a stage number setting sample clock and an input register to a specific I / O area of a privileged instruction, as is usually performed when using a microprocessor.
  • the input of the data bus width can be secured, so the setting information can be given as raw information instead of decoded information.
  • a hardware control method there is a method of inputting a control signal from hardware that monitors a remaining battery level and a system operation frequency. In other words, it is possible to switch the number of pipeline stages in a specific state of the microprocessor.
  • FIG. 20 shows an embodiment of a variable-stage pipeline memory using mode registers.
  • the setting of the number of stages is prohibited in the normal operation.
  • the mode of setting the number of stages is determined by simultaneously making 0E and WRITE active.
  • FIG. 21 shows an embodiment of a pipeline memory with a variable number of stages using a connection program.
  • the FUSE connected to the fixed voltage source is connected to a latch composed of two stages of inverters.
  • Resistor R is a method by which a semiconductor manufacturer or the like changes the wiring connection of a semi-finished chip by using a laser to program the FUSE, or by bonding a bare chip with a bonding option.
  • Whether the initial value of the register is (L) or (H) at power-on depends on whether the value of the resistor R is larger or smaller than a certain value. As described above, the setting of the number of stages of the pipeline memory can be given from the outside of the chip, and data can be correctly transmitted between inside and outside.
  • Fig. 22 shows an embodiment (points) of a variable-stage-number pipeline memory using state storage such as an EPROM or a ferroelectric memory.
  • a storage element (memory, register) arranged at a special address is used as an input to the program means (200).
  • the storage element is preferably a nonvolatile storage element. By providing information to the storage element and resetting (changing) the stage division information before the microprocessor operates at a predetermined number of pipeline stages, Set the number of stages.
  • control information can be interfaced to each stage division circuit, so if there is a new input method, it is possible to realize a pipeline memory with a variable number of stages, not limited to this embodiment It is.
  • one of the pipeline memories has a control signal input to the pipeline stage division circuit, and the control signal allows the transmission / retention switching depending on the Z clock regardless of the clock.
  • a stage division circuit with a control signal (110-119) that can switch between two modes, it is possible to switch between non-divided and divided stages of the pipeline, and the number of stages in the pipeline Is variable.
  • old memories can be used, they can be supplied at relatively low prices, and switching can meet a wide range of memory requirements. Therefore, when the next microprocessor appears, a corresponding cache memory can be supplied at an early stage.
  • one memory product can support multiple processors.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Advance Control (AREA)

Description

明 細 書
可変段数パイプラインメモリ 技術分野
この発明は、 高速動作の要求されるパイプライン処理装置に係り、 特 にキャッシュメモリとマイクロプロセッサからなるコンピュータシステ ムに関する。 背景技術
コンピュータシステムの主要部品は C P U (プロセッサ) とメモリで あり、 システムの性能向上のためには双方の高速化が必須である。
従来、 コンピュータシステムの処理性能向上のため、 プロセス, 回路 構成, アーキテクチャの各方面から、 システムの高集積化, 高速化が行 われてきた。
高速化の指標には、 リクエス ト要求から作業完了迄の間のァドレスァ クセス時間 T A A[n s ], リクエス卜の投入周期(サイクル時間 T c y ) [ n s ], 投入から終了までのクロックサイクル数 (レイテンシ) N c y [サイクル]とがある。 これらには下記の関係がある。
T A A<N c y * T c y … (式 1 ) このような従来の非パイプラインメモリでは、 一つのリクエス 卜が完 了するまで次のリクエス トの投入は待つ必要があった。 従って、 サイク ル時間 (T c y ) はアクセス時間 (TAA) よりも遅く、 性能向上が困 難であった。
近年プロセス, 回路構成による高速化の限界により、 パイプラインァ ーキテクチヤによる高速化が導入されている。 このパイプラインメモリでは、 リクエス 卜投入から完了までの間の処 理をいくつかの独立した作業単位 (ステージ) に分割し、 全処理の完了 を待つのではなく、 各ステージが完了する毎に次のリクエス トを投入し 流れ作業的に処理することで、 処理の待時間を削減し、 性能 (T c y) 向上する手法をとつている。
ここで、 リクエス 卜の周期 (T c y) を短くするためには最も処理の 遅いステージの速度に依存するので、 パイプライ ンの設計においては、 各ステージの処理時間をほぼ等しくするように設定する。
例えば、 T AA= 5 0 n sの非同期メモリを製造するとき、 T c y - 1 0 n s を得るためには、
T A Aく T c y * N c y … (式 2 )
N c y >T A A/T c y = 5 … (式 3 ) つまり最低限 5段以上のパイプラインで各ステージを 1 0 n s以下と することで、 低速の 5 0 n sのメモリ を 1 0 0MH zの高周波数で使用 することができる。
近年、 クロック周波数が切り替わる用途も増えてきており、 高速クロ ック周波数に対してパイプラインを構成すると低速ク口ック時に性能が 低下する問題がある。
これを解決するために、 例えば特開平 6— 83583号に示されているよう に、 論理演算回路において、 クロックの動作周波数を元にパイプライン の間に LAT CHを挿入するかしないかを切り替え、 パイプラインの段 数を 1段か 2段に切り替える技法が知られている。
この方法を用いると、 レイテンシを 2倍とするペナルティでサイクル 周波数をほぼ 2倍近くまで上げることができる。
しかしながらマイクロプロセッサとキャッシュのインターフェースに おいては、 分岐等、 前の処理結果に応じて次の動作が切り替わる部分が 多く、 パイプライン段数が多くなることは、 前の処理結果待ちの命令が 多数蓄積されることとなり、 制御が複雑になる。
従って、 マイクロプロセッサ用途で、 多段パイプラインを行う場合は、 パイプライン段数 (レイテンシ) を最小限に抑えて制御を行うことが必 須である。
上述の公知例によると、 パイプライン段数を切り替えることにより、 パイプライ ンステージの数が 2倍になり、 保持すべき内部状態は 2乗で 増える。
この内部状態の保持の情報量の増加のため、 従来技術のマイクロプロ セッサへの単純な適用は困難である。
さらに、 実行させるアプリケーションによっては、 マイクロプロセッ ザとキヤッシュのパイプライン段数は最低限に抑え、 システムに合った 最高周波数で動作させたいという要求がある。
また、 従来 C P Uとメモリはほぼ同一のプロセス, 回路技術で製造さ れ、 これらチップの世代の交代と共に、 同等の高速化がなされてきた。 近年、 プロセッサ, メモリ共にパイプラインの手法を導入し、 高速サ ィクルで動作させている。 しかし、 半導体メモリも C P Uに合わせて第 9図に示すようなパイプライ ンの技術を導入しつつあるが、 キャッシュ メモリの高速化はマイク口プロセッサの高速化に対して遅れている。
これは、 メモリはプロセッサと比較して、 標準部品化, 高集積化, 価 格等によりアーキテクチャに制限を受けるため、 プロセッサと同等のァ ーキテクチヤ変更による高速化は困難なためである。
このような制限のため、 メモリの高速化は、 プロセス, 回路技術に依 存している。 従ってメモリでは、 プロセッサよリも若干先行した微細プロセスで製 造する必要があり、 新たなプロセッサが出現した時に、 このプロセッサ に見合う高速メモリが安定して供給されず、 最高速のプロセッサが新し く市場に投入されるときは、 常に高速メモリの供給が不足で、 システム の量産が困難であるという問題があった。
例えば、 外部仕様としてパイプライン段数が規定されるため、 同一プ 口セスで比較を行うと、 マイクロプロセッサよリメモリは開発時期が遅 れる。
このため、 最新のマイクロプロセッサが現れた時に、 対応するメモリ システムが存在せず、 最新の高速マイクロプロセッサを製品に組み込ん でも、 高速メモリの供給がネックとなり、 新しいシステムの普及の妨げ となってきた。
本発明では上記問題を解決する半導体メモリの提供を目的とし、 第一 の目的は 2倍以下の細かいレイテンシ切り替えの回路を与え、 高速ザィ クル動作と最小レイテンシを実現できるブロック構成を与えることにあ る。
また、 本発明の第二の目的は、 高速なマイクロプロセッサが開発され た時に、 開発の遅れなく、 C P Uの供給開始と同時に即時に C P Uと同 等の高速なメモリシステムとして、 使用可能な高速動作メモリ を構成す る方法を与えることにある。
新しいプロセッサの立上り時期には古いプロセッサは量販時期にあり, 高速と低速のメモリ重要が混在して存在するので、 本発明の第三の目的 は、 単一のメモリ製品が、 高速から低速まで、 幅広いメモリの要求に応 えてゆくことが出来るようにすることである。 発明の開示
本発明の特徴は、 パイプラインメモリにおいて、 各ステージを区切る ステージ分割部を有し、 分割数を設定する制御信号を上記ステージ分割 部に入力する分割設定部により、 それぞれのステージ分割部のステージ 分割及び非分割の組み合わせを任意に切リ替えることにある。
また、 本発明の他の特徴は、 上記分割設定部からの制御信号を上記ス テ一ジ分割部毎に有する分割情報保持部に保持することにある。
また、 本発明の他の特徴は、 外部からの信号を受けて、 上記分割設定 部が分割数又はどのステージ分割部を分割するか又は非分割とするかを 設定することにある。
また、 本発明の他の特徴は、 アドレスが示すメモリセルを選択して、 上記メモリセルに保持されたデータを出力するパス上に、 ク口ック信号 によって制御されデータを保持するか通過させるかを切り替えるステー ジ分割部を複数有し、 上記パス上を任意のステ一ジに割り当てる分割数 を設定する分割数設定部とを有し、 上記分割設定部に設定された分割数 に応じて、 上記ステージ分割部をそれぞれデータ保持又はデータ通過を 設定する制御信号を生成し、 上記ステージ分割部を制御するプログラム 部とを有することにある。 図面の簡単な説明
第 1 図は本発明の可変段数パイプラインメモリを示す図、 第 2図は本 発明の段数分割回路を示す図、 第 3図は本発明の段数分割回路を示す図, 第 4図は本発明の段数分割回路の実施例を示す図、 第 5図は本発明の段 数分割回路の実施例を示す図、 第 6図は本発明の段数プログラム回路を 示す図、 第 7図は本発明の段数プログラム回路を示す図、 第 8図は本発 明の段数プログラム回路を示す図、 第 9図は段数切り替えを模式的に示 す図、 第 1 0図は本発明による段数切り替えパイプラインメモリの効果 を示す図、 第 1 1 図は従来のパイプラインメモリを示す図、 第 1 2図は 段数切り替えをメモリの世代間で比較したときの効果を示す図、 第 1 3 図は可変段数パイプラインメモリの実施例を示す図、 第 1 4図はタイ ミ ング調整回路の実施例示す図、 第 1 5図はタイミング調整回路の実施例 を示す図、 第 1 6図は本発明のメモリ回路への第 1 の実施例、 第 1 7図 は発明のメモリ回路への第二の実施例、 第 1 8図は本発明のマイクロプ 口セッサへの実施例、 第 1 9図はピン入力による可変段数パイプライン メモリの実施例、 第 2 0図はモー ドレジスタによる可変段数パイプライ ンメモリの実施例、 第 2 1 図は結線プログラムによる可変段数パイプラ インメモリの実施例、 第 2 2図は E E P R O Mや強誘電体メモリ等の状 態記憶による可変段数パイプラインメモリの実施例を示す図である。 発明を実施するための最良の形態
第 1 図に本発明の実施例を示す。
この図に示されるパイプラインメモリの従来との相違点は、 切り替え 可能なステージ分割回路を複数段連続して設けた点である。
本発明のパイプラインメモリは、 メモリ動作回路 1 0 0 0と段数切り 替え制御信号群 3 0 0 0とプログラム手段 2 0 0 0、 及び制御信号入力 8 0からなる。
メモリ動作回路 1 0 0 0は、 入力端子 ( 1 0 ) , 入力バッファ( 1 1 ) デコーダ ( 1 2 ) ( 1 3 ) , メモリセル ( 1 5 ) , センスアンプ( 1 7 ) 出力バッファ ( 1 8 ) , 出力端子 ( 1 9 ) 等のメモリ動作要素回路と、 ステージ分割回路 ( 1 1 1 — 1 1 9 ) から成る。 ァ ドレス入力端子から入力された信号はメモリ動作要素回路をこの順 番に流れ、 出力端子まで達する。
メモリ動作要素回路の間の複数場所にステージ分割回路 ( 1 1 1 一 1 1 7 ) がある。
本実施例ではァドレスから入力された信号は、 1 0— 1 1 — 1 1 1 — 1 2 - 1 1 2—— (中略) '·· 1 6— 1 1 6 - 1 7 - 1 1 7 - 1 8 - 1 9 の経路を通って、 出力に達する。 ここで、 メモリ動作要素回路 ( 1 0— 1 9 ) と、 ステージ分割回路 ( 1 1 1 — 1 1 9 ) は関連した番号を付け ている。
ステージ分割回路にはステージ分割回路が分割か非分割かを切り替え 可能ステージ分割回路と、 切り替え不可能な分割回路があるが、 本発明 では、 ステージ分割回路の少なく とも連続した 2段において、 制御信号 入力により、 ステージ分割 非分割の切り替え可能なステージ分割回路 ( 1 1 1 一 1 1 7 ) を、 2段以上連続して設けることが特徴である。 段数切り替えの制御は、 チップの外部又は内部から与えられる段数設 定情報 ( 8 0 0 ) に基づいてプログラム手段 ( 2 0 0 0 ) が段数切リ替 え信号 ( 3 0 1 〜 3 0 7 ) の組 ( 3 0 0 0 ) を生成し、 各段数切リ替え 制御入力付きのステージ分割回路に入力することにより、 各ステージ分 割回路のステージ分割/非分割の組み合わせを切り替える。
詳細は第 9図で説明するが、 従来の段数切り替えの方法では、 段数切 り替え制御入力付きステージ分割回路が、 連続していなかつたため、 ス テ一ジ分割数を一つ増やした場合にはサイクル時間の短縮はほとんどな かった。 本発明では、 あらかじめ余分にステージ分割回路を埋め込んで おき、 この分割/非分割の組み合わせにおいて、 ステージの分割段数を 増加する場合に、 分割を使用しなくなるステージ分割回路を少なく とも 1個所設けることによリ、 各ステージの遅延時間を均等に分割すること ができ、 最小のステージ分割数と最高のサイクル周波数を両立すること ができる。
上記説明で、 本発明の本質は十分述べられていると考えるが、 詳細を 期するために個別回路の動作を説明する。
まずパイプラインの段数切り替えの効果を示し、 各素子の具体的な実 現について述べる。
同一の機能を実現する素子であれば、 他の素子で代用可能である。 本発明は、 基本動作要素回路 : ( 1 0— 1 9 ) と、 切り替え可能なス テージ分割回路 ( 1 1 0— 1 1 9 ) から成る基本動作部分 ( 1 0 0 0), 段数設定情報入力( 3 0 0 - 3 9 9 ), 制御信号生成部( 2 0 0— 2 0 9 ), 要素と制御に必須な信号入力回路 ( 8 0 0 ) , クロック回路 ( 5 0 0 ) からなる。
以後、 この各要素の機能と実施例を示す。
第 4図及び第 5図は本発明を実現するのに必要なステージ分割回路の 実施例である。
外部からの制御信号によリステージの分割, 非分割の切り替えができ る点が本質であり、 他の構成でも実現可能であることはいうまでもない, 第 4図は制御信号入力付きの段数切り替え回路の実施例である。
第 4図には、 制御信号付きステージ分割回路 1 1 1 を示したが、 他の データ保持回路 ( 1 1 1 — 1 1 9 ) も同様に構成することができる。 本回路は、 外部との入出力端子として入力 (A) と出力 (C) , クロ ック(E) , 制御信号入力(D) をもち、 内部にはデータ保持回路(4 0 ) とセレクタ ( 5 0 ) があり、 データ保持装置 (4 0 ) は入力 (A) をク ロック (E) に従ってサンプルし、 保持回路の出力 (B) へ出力し、 セ レクタは入力 (A) と保持回路出力 (B) のいずれか一方をセレクタ入 力 (D) に従って、 出力 (C) へ出力する構成の回路である。
入力 (A) はクロック (E) に従って、 サンプルされデータ保持回路 (4 0 ) の出力 (B) に出力される。
データセレクタの入力 (D) が Hのとき、 スィッチ MO Sの M4と M 3が ON, M 2と M 1が 0 F Fとなり、 出力 (C) にはデータ保持回 路 (4 0) による入力 Aから 1 クロック遅れて保持された信号 (B) が 出力される。 このデータは次のサイクル開始まで保持され、 前のステー ジと後のステージは分割される。
同様にして、 データセレクタの入力 Dが Lの時スィッチ MO Sの M l と M 2が ON, M 3と M 4が 0 F Fとなり、 出力 Cにはデータ保持回路 を通らない入力 Aの信号がそのまま出力される。 つま り、 データは、 ク ロックにより止められることなく次のステージまで連続して伝達され、 ステージ分割はなされない。
以上のように、 制御信号 Dの H i g h又は L o wにより、 ステージの 分割と非分割が切り替え可能となる。
第 5図は制御信号入力付きの段数切り替え回路の別の実施例である。 第 5図には、 制御信号付きステージ分割回路 1 1 1 を示したが、 他の データ保持回路 ( 1 1 1 — 1 1 9 ) も同様に構成することができる。 本回路は、 入力 (A) と出力 (C) , クロック (E) , 制御信号入力 (D) の端子を持ち、 内部にはマスク回路 ( 6 0) と半記憶素子(7 0) があり、 マスク回路 ( 6 0 ) はクロック (E) を制御入力信号 (D) に 従ってマスク し、 マスク済みクロック (F) へ出力し、 半記憶素子
( 7 0) は (F) のレベルにより入力 (A) 又は、 出力 (C) のいずれ かを内部状態 (C' ) へ出力する構成の回路である。 段数切り替え信号 Dが Hの時セレクタ部の入力 Fはクロック入力 Eに 関わらず L o w固定となる。
このため、 M l 1 と 1^ 1 2が常に〇1^, M 2 1 , M 2 2が常に O F F となり、 ノー ド (C' ) には M 1 0と M 1 3で構成されるィンパータを 通して (A) の反転出力が現われる。 更にインバ一タを通して (C) に は (C' ) の反転信号が現われる。 従って、 (C) には (A) を 2回反 転し、 (A) と同じ信号が現われる。
同様にして、 ノー ド Fが H i g hの時ノー ド C' は M 2 1 , M 2 2が ON, M l 1, M l 2が O F Fとなるので C' は Cの反転信号、 Cは C の反転信号が現われる。
Cには Cの 2回反転信号が少し遅れて現われるのでデータが保持され る。
以上のようにして、 クロック信号 Eを制御信号 Fでマスクすることに より、 ステージ分割回路の分割 非分割の切り替えが可能となる。 ' 以上のように制御信号付きのステージ分割回路を用いることによリス テージの分割結合の切り替えが可能となる。
第 6図, 第 7図及び第 8図はプログラム手段の実施例である。
段数設定情報 ( 8 0 0 ) から段数設定信号群 ( 3 0 0 0 ) が生成でき ることが本質である。
また、 段数接待信号 ( 3 0 0 0 ) が、 段数を増加したときにステージ の分割位置が付加されるのではなく、
分割をやめるステージの組み合わせがあることも特徴である。 ここに 示さない他の方法でも実現できる。
第 6図はプログラム手段の実施例である。
プログラム手段 ( 2 0 0 ) は、 段数設定情報入力端子 ( 8 0 0 ) から 組み合わせ論理回路 ( 2 5 0 ) を通して、 段数設定信号 ( 3 0 0 ) への 信号の写像を行う。
第 7図はプログラム手段の別の実施例である。
段数設定情報入力端子 ( 8 0 0 ) は入力サンプル信号 ( 8 1 0 ) に従 つてラッチ回路 ( 2 2 0 ) に保持される。
この保持情報に従って、 デコーダ ( 2 5 0 ) にて内部のステージ分割 制御信号を生成する。
デコーダに段数設定情報を与える手段として、 保持回路を用いた取り 込みを行うことも可である。
デコー ドとラツチの順序は逆でも構わない。 レジスタはシフ 卜レジス タでも可能である。
J T A G等のテス ト回路との組み合わせも可能である。
第 8図はプログラム手段の実施例であり、 2 5 0の更に具体的な場合 である。
第 8図は組み合わせ論理 ( 2 5 0 ) の内部回路である。 第 9図, 第 1 6図の動作に対応している。
段数設定情報入力端子(8 0 0 )は 3 ビッ 卜の制御信号 T, Τ 2 , Τ 3 の( 0, 1 )の組み合わせからなり、 論理回路を通して、 Ηを分割に Lを 非分割に対応させた、 ァからォの 5 ビッ トの段数設定信号 ( 3 6 1 — 3 0 7 ) の (H, L ) の組み合わせのベク トルに変換される。
組み合わせ論理回路によリアからォが独立に制御できている。
第 8図の下に、 真理値表を示す。
このデコ一 ド信号の構成の特徴点は、 段数を 0段から順に増やして行 く ときに、 単調に分割するステージを追加するのではなく、 分割をやめ るステージを設けている点である (出カウの段数 3, 4, 5段の部分)。 (ゥ) 3 04の 1から 2段分割切リ替えのあいだ等この組み合わせに より 2分割以下の細かい段数切り替えが可能となる。
第 9図は段数切り替えの様子の模式図である。
第 1 6図に示す実施例の段数切り替え回路の要所のみ抜き出してある。 段数設定制御情報入力 ( 8 0 0 ) に (T 3, Τ 2 , Τ 1 ) = ( 0 , 0 , 0) を入力すると第 8図のプログラム回路 ( 2 0 0) の出力が ( 3 0 1, 3 0 2, 3 04 , 3 0 6 , 3 0 7 ) = ( L , L, L, L, L ) となり、 各 制御信号入力付きステージ分割回路 ( 1 1 1, 1 1 2, 1 1 4 , 1 1 6 , 1 1 7 ) は制御入力が Lであるため、 ステージ分割を行わず、 クロック 動作をしない非同期メモリ ( 0段パイプライン) として動作する。
同様に制御入力により分割段数が
1段 (T 3 T 2 , T 1 ) = (0, 0, 1 ) , ( 3 0 1 , 3 0 2
3 04 3 0 6, 3 0 7 ) = ( L , L , L , L , H)
2段 ( T 3 T 2 , T 1 ) = ( 0, 1 , 1 ) , ( 3 0 1 , 3 0 2
3 04 3 0 6 , 3 0 7 ) = (Ή, L , L , L , H )
3段 (T 3 T 2 , T 1 ) = ( 0, 1, 0 ) , ( 3 0 1 , 3 0 2
3 04 3 0 6, 3 0 7 ) = ( H L , H, L , H)
4段 (T 3 T 2, T 1 ) = ( 1, 1 0 ) , ( 3 0 1 , 3 0 2 ,
3 04 3 0 6 , 3 0 7 ) = (H H , L , H , H )
5段 (T 3 T 2, T 1 ) = ( 1, 1 1 ) , ( 3 0 1 , 3 0 2,
3 04 3 0 6 , 3 0 7 ) = (H H , H, H , H) と切り替わる。
各々の分割数の場合で、 各ステージの遅延時間がほぼ均等に等しくな るようメモリ構成基本回路の遅延時間を設計する。
ステージを 3段に分割する場合、 サイクルは、 入力から stage 1 と、 stage 2 と stage 3 を連接した段と stage 4 と stage 5 を連接した段、 およ び出力から外部 1 Cの入力の中で最も遅い段で規定される。 3段から 4 段に切り替える場合、 単純に 2段目のステージ分割回路 ( 1 1 4 ) の動 作に分割数を付加すると遅延時間のアンパランスが発生し、 サイクルを 高速化することが困難である。
例えば、 1 1 1, 1 1 4, 1 1 7に 1 1 2を付加する場合サイクル時 は入力カヽら stage 1 , stage 2 , stage 3 , stage 4 と stage 5の連接、 および出力から外部 I Cの入力となり、 stage4 と stage5の連接が制限 となり高速化の妨げとなる。
また、 1 1 1, 1 1 4, 1 1 7に 1 1 6 を付加する場合サイクル時間 は入力カヽら stage 1, stage 2と stage 3の連接, stage 4 , stage δ およ び出力から外部 I Cの入力となり、 stage2と stage 3め連接が制限とな り高速化の妨げとなる。
そこで、 組み合わせ論理回路による段数設定プログラム回路( 2 0 Ό ) を用い 3段から 4段に切り替える時に、 ステージ分割制御信号( 3 0 0 ) を ( 3 0 1 , 3 0 2 , 3 04 , 3 0 6, 3 0 7 ) = (H, H , L , H , H ) と、 ステージ分割回路 1 1 4の制御入力を Lとして、 stage3 と stage の連接とすることにより、 1 1 4, 1 1 6の位置の設定を工夫 することで、 段数を 4段に切り替えても、 各段の遅延時間の分割を均等 にとることができる。
このようにステージ分割を追加する場合に組み合わせ論理回路を用い て、 分割をやめる段を付加することはサイクルの高速化に効果がある。 以上のようにステージ分割回路の組み合わせを変更することは、 パイ プライン化を行う基本回路の遅延時間を均等に分割できるのでので、 高 速化が可能である。 第 1 0図は、 第 9図の段数切り替えパイプラインメモリのパイプライ ン段数と最高動作周波数との関係を模式的に示す図である。
前提条件として、
∑ t PD( i ) = 1 0[n s ], t su( i )= t H( i )= 0. 3 [n s ], t CQ( i - 1 ) = 0.4 [n s ], "gn( i )= 0[n s ]
と置いた。
ステージ分割回路は基本構成回路と統合して、 遅延時間は見えないも のとした。
ここで、 t pdは遅延時間、 t s uはセッ トアップ時間、 t H はホ一リレド 時間、 t CQはクロックからレジスタ出力の遅延時間、 t mgn はタイ ミン グマ一ジンである。
下記の計算方法を用いた。
内部に N段のステージ分割回路を設けたとき、 パイプラインは (N + 1 ) 段に分割され、 1段当たりの基本回路の遅延時間の平均値は、
t P (各段の平均) ={∑ t PD(k)/(N+ 1 )}= 1 0/(N+ 1 ) 従って、 t P( i ) の中には、 平均値以上の大きさの要素が含まれてい るので最高動作周波数はこれ以下に抑えられる。
t c y = max ( t p ( i ) ) = max ( t PD ( i ) + t CQ + t Su
+ t H)>= (∑ t pd( i ))/(N + 1 )+ ( t su( i ) + t H ( i ) + t CQ ( i - 1 ) + t MGN( i )) =基本回路の遅延時間/段数十ステージ分割に必要な時間 従って、 0段、 及び、 5段では、
分割回路 0段 : 1 0 >= 1 0 11 5ノ(0 + 1 )段= 1 0 11 5 分割回路 5段 : も 0 〉= 1 011 5 /( 5 + 1 )段+ 0. 3 + 0. 3
+ 0.4 n s = 2. 7 n s 従って、 サイクル周波数は、
分割回路 0段 : 動作周波数 f CY= 1 0 0[MH z]
分割回路 5段 : f CY= 3 6 0 [MH z]迄の動作が可能である。 以上のようにパイプライン段数を切り替えることで 1 0 0[MH z]相 当のメモリで 3 6 0 [MH z]相当まで動作可能であり、 一つのメモリで 複数周波数に対応が可能である。
第 1 1図は可変段数パイプラインの公知例である。
クロック周波数に応じて、 ステージ分割回路を付加することで、 低速 クロック時と高速クロック時の二つの動作を切り替えている。
第 1 2図はこの段数切り替えパイプラインメモリの製品寿命への効果 を示す例である。
横軸はメモリの世代、 縦軸は要求されるサイクル周波数である。
プロセスによるデバイス性能の向上により、 世代が進むと共に、 デバ イスの性能は向上して行く。
Aから Cは同一のキャッシュメモリ製品で、 メタルオプションやピン オプション, EEPR0M等で、 メーカやユーザプログラムで段数の切り替え が可能である。
製品設計の現時点では、 1段の Aを使用する。 次世代では段数 3段の Cを使用する。 次次世代では段数 5段の Cを使用する。 段数を切り替え ることにより、 次世代の C PUの要求に対して、 現世代のメモリの段数 を B, Cと切り替えることにより、 高速化に対応可能となる。
以上のように世代の昔の枯れたプロセスのメモリを使用可能とするこ とで、 安価なメモリを用いてシステムを構成することができる。
これをユーザがプログラム可能とすることで、 システムの稼働時にリ アルタイムにシステムの構成を変更する等の使用方法が考えられる。 シ ステムの消費電力制御や、 性能切リ替えに使用可能である。
第 1 3図は、 パイプライン段数を切り替える別の実施例である。
段数切り替えに伴いクロックの位相を変え、 タイ ミングマージンを稼 ぐ実施例である。
本実施例は、 パイプラインメモリ装置において各一つ以上のステージ 分割回路のクロックが段数設定信号 8 0 0の情報に基づいてプログラム 手段 2 0 0がクロックタイミング調整信号 3 5 0を生成し、 各クロック タイ ミング調整回路は、 基準クロック 5 0 0の位相をずらして各ステー ジ分割回路に位相のずれたクロックタイ ミングを与えることを特徴とす る段数切り替えパイプラインメモリ装置である。
先に示したように各ステージ間の伝達時間の最大のものが動作周波数 の最高周波数を制限するので、 段数切り替えを行う場合には、 切り替え た片方では、 必ずステージ間の伝達遅延時間は不均一となる。 このため、 段数切り替えを有効に活用するためには各段でのタイ ミングマージンを 融通する必要がある。 このため、 隣接する段の間で、 サンプルクロック のタイ ミングを調節することにより、 最高周波数を上げることが可能に なる。
第 1 4図, 第 1 5図はクロックタイ ミング調整回路の実施例である。 第 1 4図は、 クロックタイミング調整回路 (4 0 0 ) の例である。 本回路は、 クロック信号 (C ) を、 遅延素子を用いて遅れたクロック 信号 (E l ), ( E 2 ) , ( E 3 ), ( E 4 ) 信号を作る。 これを組み合わせ 論理回路 2 9 0を用いて、 制御信号 ( 3 5 0 ) に従って、 必要な位相を 選択することによリ、 各ステージ分割回路のクロックタイ ミングを変更 する回路である。
組み合わせ論理回路により、 各ステージ分割状態に応じて、 クロック の位相を調整可能であるため、 各ステージの間のクロック時間間隔が各 ステージの信号の伝達時間よリ均等に大きくなるようにタイ ミングのマ —ジンを振り分けることが可能になる。
従って、 パイプラインのサイクル周波数を高くすることが可能となる。 第 1 5図には、 可変ディ レイ回路を用いたタイ ミング調整回路(400) の別の実施例を示す。
本回路は、 クロック入力 ( 5 0 0) と、 制御信号 ( 3 5 0 ) による可 変ディ レイ回路 Delay 1, Delay 2と位相調整済みクロック 5 1 0があり、 入力信号は Delay 1 を含む P L L回路で、 クロック入力 φより先行した " を得、 Delay 2 で更に遅らせた を位相調整済みクロック出力 5 1 0に出力する構成である。
ク口ック信号 0が dフィ一 ドパックにディ レイ時間 t D e l a y 1 を含む
P L Lに入力され, φ" を得る。 P L L制御により 0〃 は よりも、 可 変ディ レイ 1の遅延時間 t De lay 1早いパルスとなる。
これを t De l 3y 2を通すことで、 φ' は φ" よりも可変ディ レイ 2の 遅延時間 t D e l a y 2に遅れたパルスとなる。
従って、 Φ' は よりも ( t De l ay 2— t De l ay 1 ) 遅れたパルスとな る。 Delay 1, Delay 2を制御入力で調整することにより、 第 1 3図の各 クロックタイ ミング調整回路で、 タイ ミングを独立に調整可能であるた め、 各ステージの間のク口ック時間間隔が各ステージの信号の伝達時間 よリ均等に大きくなるようにタイ ミングのマージンを振り分けること力 可能になる。
従って、 パイプラインのサイクル周波数を高くすることが可能となる。 P L Lの代わりに D L Lを用いても同等である。
第 1 6図は本発明の実施例である。 詳細は、 図 9で説明した通り、 段 数切り替え信号に応じて、 サンプルタイ ミングを適切に切り替えること で、 各段にサンプルタイ ミングを割り振ることができる。
このため、 段数切り替えを行っても、 最高周波数で動作させることが できる。
この実施例では、 段数切り替えの効果を顕示するため、 パイプライン を 5段で全段に制御信号つきのステージ分割回路を用いたが、 全段を切 り替える必要はない。
部分的に、 例えば 2段と 3段の限定的切り替えで 2段目のステージの 保持回路に制御信号を保持する構成も可能である。
また、 プログラム手段は、 実施例の P I N入力に限らず、 プログラム 情報の記録と信号生成ができれば良い。
例えば、 FU S Eと抵抗検出, 電位と S RAM, 電荷と E P ROMや EEPR0M, ボンディ ング, メタルオプションなどの接続情報や、 圧力, 熱 抵抗, 切り欠き等の手段も可能である。
第 1 7図は可変段数パイプラインメモリの制御を標準のセルフテス ト 回路 (B I S T) に組み込んだ場合の構成である。
先の実施例で示す可変段数パイプラインメモリの段数設定情報入力に (B I S T) のスキャンパスに含め、 段数設定が、 セルフテス トモー ド の一環としても可能である構成とした回路である。
本回路は、 レジスタ ( 2 2 0 ) の ScanPathの出力を元にデコーダ ( 2 5 0 ) を通して、 ステージ分割制御信号 ( 3 5 0 ) を生成する構成 の回路である。
段数設定情報 ( 8 0 0 ) の入力にスキャンパスのレジスタを用いるた め、 P I Nが少なくてすむ特徴がある。
また、 可変段数パイプラインメモリは、 内部状態が複雑となり、 テス 卜が必要となる。
本方式は J T A G規格の入力方法に整合するためテス 卜回路の構成と テス トべク トルの構成が容易となる。
つまり、 テス 卜用途の切リ替えの制御フォーマツ 卜と整合するため、 段数切り替えを装置に組み込むために必須の機能であると考える。
本発明では B I S Tと平行して、 通常のテス 卜ピンから入力も可能で ある構成を描いているが、 EEPR0Mを使用する等、 必ずしもピン入力以外 の入力手段も、 可能である。
また、 レジスタの初期値を与える手段を付加してもよい。
第 1 8図は可変段数パイプラインメモリをサボ一 卜するマイクロプロ セッサの入力構成の 1例である。
本回路は外部キヤッシュの構成切り替えと対応して、 チップ内部のキ ャッシュ B A N Kに制御信号入力付きのステージ分割回路を設け、 制御 信号 3 0 0により R E G— R E Gループのクロックサイクル数を変更す る構成である。
クロックの動作周波数に応じて、 C P Uの内部キャッシュ制御と、 外 部の制御方式を同時に切り替えることにより、 低速のキャッシュメモリ を用いた場合と高速のキヤッシュメモリを用いた場合、 外部の 2次キヤ ッシュとレイテンシをそろえることにより、 どちらの速度にも対応した 単純制御の高速動作のキヤッシュ構成が可能となる。
外部キャッシュが 2次キヤッシュの場合には Q eue の長さで調節する ことができるが、 段数設定信号に応じて、 内部のデータ制御の Q eue バ ッファの長さを可変とすることで対応可能である。
第 1 9図はピン入力による可変段数パイプラインメモリの実施例であ る。 本実施例は第 1 図, 第 1 3図のプログラム手段 ( 2 0 0 ) に関して、 チップ外部とのインタ一フェースを行う端子と、 制御端子があり、 入力 バッファを介して、 プログラム手段 2 0 0に信号が入力される構成であ る。
外部から入力端子へ信号を入力すると、 入力バッファが外部から電気 的な信号プログラム手段へ伝えるので、 チップ外部とチップ内部で、 段 数設定の情報を共有できる。
チップ外部でデータを受け取るマイク口プロセッサ等の素子とチップ 内部のパイプラインとの間で、 段数が何段であるかが整合しているので、 正常にデータの転送ができる。
制御方法は、 通常のソフ トウエア制御でもハ一 ドウエア制御でも可で ある。
パイプラインの制御は、 システムの安全性に関わるので、 望ましくは、 切り替え動作は検証の容易な限定された領域で行われるようにする。 例えば、 ソフ トウェア制御の場合は、 通常マイクロプロセッサを用い る時行われているのと同様に、 特権命令の特定 Iノ0領域に段数設定サ ンブルクロックと入力レジスタを割リ付ける方法がある。
I 〇に割り付けることで、 データバス幅の入力を確保できるので、 設定情報をデコー ド情報ではなく生の情報として与えることも可能であ る。
ハー ドウェアの制御方法としては、 バッテリ残量や、 システムの稼働 頻度をモニタするハー ドウエアからの制御信号を入力する方法がある。 つまり、 マイクロプロセッサの特定の状態で、 パイプライン段数を切 り替えることが可能になる。
動作途中にパイプライン段数が変わる点等、 コ一ディ ングには注意が 必要である。
以上の様にパイプラインメモリの段数設定をチップ外部から行うこと により、 内部と外部で正しくデータ伝送ができる。
第 2 0図はモー ドレジスタによる可変段数パイプラインメモリの実施 例である。
特定信号入力を電源電圧より高くすること等、 通常動作では起こリ得 ない状態の組み合わせにより、 入力信号モー ド設定に用いる方法である。 本実施例では段数設定に通常動作では禁止されている、 0 Eと WRITE を同時にァクティブにすることで段数設定モー ドを判別している。
通常動作では R EAD, WR I T E, 非活性の 3状態が RW, C Sの 制御信号でコン トロールされている。
通常動作時はデータが衝突するので 0 Eは WR I T E時には立下げな い。 そこで、 モー ド設定の特殊状態をこの制御信号で切り替えることが 可能である。
以上の様にパイプラインメモリの段数穀定をチップ外部から行うこと により、 内部と外部で正しくデータ伝送ができる。
第 2 1 図は結線プログラムによる可変段数パイプラインメモリの実施 例である。
本実施例では、 固定電圧源に接続された F U S Eがィンバ一タ 2段に よるラッチに接続されている構成である。
抵抗 Rは、 半導体の製造業者等が、 チップの半完成品をレーザで FUSE を切断プログラムしたり、 ベアチップをボンディ ングオプション等で配 線の接続を変更する方法である。
抵抗 Rの大きさがある値より大きいか小さいかにより、 電源投入時に レジスタの初期値が (L) 力、 (H) かが決まる。 以上の様にパイプラインメモリの段数設定をチップ外部から与えるこ とができ、 内部と外部で正しくデータ伝送ができる。
第 2 2図は E E P R O Mや強誘電体メモリ等の状態記憶による可変段 数パイプライ ンメモリの実施例 (要所) である。
本実施例では、 プログラム手段 ( 2 0 0 ) の入力として、 特殊アドレ スに配置された、 記憶素子 (メモリ, レジスタ) を用いる。
記憶素子は望ましくは不揮発性の記憶素子である、 マイクロプロセッ ザが所定のパイプライン段数で動作する以前に記憶素子に情報を与えス テ一ジ分割の情報を再設定 (変更) することで、 段数設定を行う。
先の実施例では、 各々のステージ分割回路に制御情報がインターフエ ースができれば良いので、 新たな入力方法があれば、 この実施例にとど まらず、 可変段数パイプラインメモリが実現可能である。 産業上の利用可能性
上述の本発明により、 パイプライ ンメモリの一つの製品で、 パイプラ インのステージ分割回路に、 制御信号入力を持ち、 制御信号により、 ク ロックに関係なく透過 Zクロックに依存して透過 ·保持切替の二つのモ 一ドを切リ替え可能な制御信号つきステージ分割回路( 1 1 0— 1 1 9 ) を用いることにより、 パイプラインのステージの非分割 分割の切り替 えが可能であり、 パイプラインの段数が可変である。
本発明により、 ステージ分割の組み合わせを変更することにより 2倍 より細かい段数の切り替え制御が可能となる。
従って、 一つの製品が、 低速サイクルから高速サイクルまで対応可能 となる。
また、 世代が替つて新しい C P Uが出現した時。 古いメモリで高速な サイクル時対応が可能となるため、 新しい C P Uが出たときのシステム 実現が、 早期に可能となる。
さらに、 古いメモリが使用可能であるので、 比較的安値に供給可能で ある、 また、 切り替えにより幅広いメモリの要求に応えることができる。 従って、 次期マイクロプロセッサが出現したときに早期に対応するキ ャッシュメモリを供給することができる。
また、 古いプロセスを用いるので、 安価な装置を提供することができ る。
また、 段数切り替えのため、 一つのメモリ製品で複数のプロセッサに 対応することが可能となる。

Claims

請 求 の 範 囲
1 . アドレスが示すメモリセルを選択して、 上記メモリセルに保持され たデータを出力するパス上に、 クロック信号によって制御されデータを 保持するか通過させるかを切リ替えるステージ分割部を複数有し、 上記 パス上を任意のステージに割り当てる分割数を設定する分割数設定部と を有し、 上記分割設定部に設定された分割数に応じて、 上記ステージ分 割部をそれぞれデータ保持又はデータ通過を設定する制御信号を生成し、 上記ステージ分割部を制御するプログラム部とを有することを特徴とす る可変段数パイプラインメモリ。
2 . 請求項 1 において、
上記ステージ分割部は、 上記クロック信号に従ってデータを保持する データ保持部と上記入力信号のデータと上記データ保持部のデータとを 上記プログラム部からの制御信号に従って選択する選択部とを有するこ とを特徴とする可変段数パイプラインメモリ。
3 . 請求項 1 において、
上記ステージ分割部は、 上記クロック信号と上記プログラム部からの 制御信号に従ってマスク情報を生成するマスク回路部と上記マスク情報 に従ってデータを保持出力するデータ保持部とを有することを特徴とす る可変段数パイプラインメモリ。
4 . 請求項 1 において、
上記プログラム部は、 分割数を設定する分割数設定情報からステージ 分割部に与える制御信号を組合わせ論理回路によって生成することを特 徵とする可変段数パイプラインメモリ。
5 . 請求項 1 において、
上記プログラム部は、 分割数を設定する分割数設定情報を保持する分 割数保持部と上記分割数保持部からの上記分割数設定情報からステージ 分割部に与える制御信号を生成する組合わせ論理回路とを有することを 特徴とする可変段数パイプラインメモリ。
6 . 請求項 1 において、
上記分割数設定部は、 上記分割数設定情報を上記可変段数メモリの動 作テス 卜のスキャンパスに含めて、 セルフテス トの一貫として設定可能 としたことを特徴とする可変段数パイプラインメモリ。
7 . 請求項 1 において、
上記分割数設定部は、 上記分割数設定情報をプログラムピンで与える ことを特徴とする可変段数パイプラインメモリ。
8 . 請求項 1 において、
上記分割数設定部は、 上記分割数設定情報をモー ドレジスタで与える ことを特徴とする可変段数パイプライ ンメモリ。
9 . 請求項 1 において、
上記分割数設定部は、 上記分割数設定情報を F U S Eや B O N D , Metal の結線プログラム, 抵抗値の変更で行うことを特徴とする可変段 数パイプライ ンメモリ。
1 0 . 請求項 1 において、
上記分割数設定部は、 上記分割数設定情報を E E P R O Mまたは強誘 電体メモリに予め設定された情報によって与えることを特徴とする可変 段数パイプライ ンメモリ。
1 1 . 請求項 1 において、
上記プログラム部からの上記制御信号を受けてクロックタイ ミング信 号を生成するクロックタイ ミング調整部を有し、 上記ステージ分割部は 上記クロックタイ ミング信号に基づいて分割, 非分割を設定することを 特徴とする可変段数パイプラインメモリ。
1 2 . 請求項 1 1 において、
上記クロックタイ ミング調整部は、 ディ レイ時間を切り替えてタイ ミ ングマ一ジンを確保したクロックタイミング信号を生成することを特徴 とする可変段数パイプラインメモリ。
1 3 . 請求項 1 1又は 1 2において、
上記クロックタイミング調整部は P L Lまたは D L Lのフィー ドパッ クを変更して段数切リ替え時のクロックタイ ミングを設定することを特 徴とする可変段数パイプラインメモリ。
PCT/JP1995/001788 1995-09-08 1995-09-08 Memoire pipeline a etapes variables WO1997009675A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP1995/001788 WO1997009675A1 (fr) 1995-09-08 1995-09-08 Memoire pipeline a etapes variables

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1995/001788 WO1997009675A1 (fr) 1995-09-08 1995-09-08 Memoire pipeline a etapes variables

Publications (1)

Publication Number Publication Date
WO1997009675A1 true WO1997009675A1 (fr) 1997-03-13

Family

ID=14126247

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1995/001788 WO1997009675A1 (fr) 1995-09-08 1995-09-08 Memoire pipeline a etapes variables

Country Status (1)

Country Link
WO (1) WO1997009675A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094669A (ja) * 2005-09-28 2007-04-12 Yokogawa Electric Corp パイプライン演算処理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04149655A (ja) * 1990-10-09 1992-05-22 Fujitsu Ltd メモリカード試験システム
JPH05204741A (ja) * 1992-01-29 1993-08-13 Fujitsu Ltd データ処理装置及びデータ処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04149655A (ja) * 1990-10-09 1992-05-22 Fujitsu Ltd メモリカード試験システム
JPH05204741A (ja) * 1992-01-29 1993-08-13 Fujitsu Ltd データ処理装置及びデータ処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094669A (ja) * 2005-09-28 2007-04-12 Yokogawa Electric Corp パイプライン演算処理装置

Similar Documents

Publication Publication Date Title
US5522064A (en) Data processing apparatus for dynamically setting timings in a dynamic memory system
US6295586B1 (en) Queue based memory controller
JP4315552B2 (ja) 半導体集積回路装置
US6385709B2 (en) Multiplexed data transfer arrangement including a multi-phase signal generator for latency control
US7450461B2 (en) Semiconductor memory device and transmission/reception system provided with the same
US5005121A (en) Integrated CPU and DMA with shared executing unit
JP2001148195A (ja) 連続検索サイクルを中断させない読み出し/書き込み機能を有するコンテントアドレサブルメモリ
JPH08106375A (ja) 信号処理演算器
JPH04313887A (ja) 半導体集積回路
JP4439033B2 (ja) 半導体記憶装置
US4853845A (en) Data processing apparatus for time-interleaved execution of a plurality of processes
US20060126411A1 (en) Pipelined burst memory access
JPH0784863A (ja) 情報処理装置およびそれに適した半導体記憶装置
US20070038795A1 (en) Asynchronous bus interface and processing method thereof
US20070268760A1 (en) Semiconductor memory in which fuse data transfer path in memory macro is branched
US7210030B2 (en) Programmable memory initialization system and method
WO1997009675A1 (fr) Memoire pipeline a etapes variables
JP2848339B2 (ja) 冗長デコード回路
US5550996A (en) ROM burst transfer continuous read-out extension method and a microcomputer system with a built-in ROM using this method
JP2987809B2 (ja) シンクロナスdramのcas信号発生器
JP2007188931A (ja) 半導体装置
JPH08115295A (ja) クロック信号出力の位置付けを実行する入出力制御装置及びシステム
US7127536B2 (en) Source-synchronous receiver having a predetermined data receive time
US7343532B2 (en) Testing memory units in a digital circuit
JP3855002B2 (ja) カウンタ、同期化メモリ装置および半導体メモリ

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase