KR20040049177A - A register bank circuit for elevating operation speed of a microprocessor - Google Patents

A register bank circuit for elevating operation speed of a microprocessor Download PDF

Info

Publication number
KR20040049177A
KR20040049177A KR1020020077037A KR20020077037A KR20040049177A KR 20040049177 A KR20040049177 A KR 20040049177A KR 1020020077037 A KR1020020077037 A KR 1020020077037A KR 20020077037 A KR20020077037 A KR 20020077037A KR 20040049177 A KR20040049177 A KR 20040049177A
Authority
KR
South Korea
Prior art keywords
data
output
read
bus
control signal
Prior art date
Application number
KR1020020077037A
Other languages
Korean (ko)
Inventor
서동주
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020020077037A priority Critical patent/KR20040049177A/en
Publication of KR20040049177A publication Critical patent/KR20040049177A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • G06F13/4077Precharging or discharging

Abstract

PURPOSE: A register bank circuit for improving an operation speed of a microprocessor is provided to improve the operation speed of the microprocessor by shortening a data read delay of the register bank circuit. CONSTITUTION: A register file(110) stores the inputted data by responding to a write control signal, and outputs the read data to one from the output terminals by responding to a read control signal. Keeper circuits(120,130,140) are connected to the output terminals through each data bus and keep a voltage level of the read data loaded to the data bus for a predetermined time. Precharge circuits(150,160,170) are connected to the keeper circuits through each data bus and keep the voltage of the data bus to a predetermined internal voltage level by responding to a precharge control signal.

Description

마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로{A register bank circuit for elevating operation speed of a microprocessor}A register bank circuit for elevating operation speed of a microprocessor

본 발명은 마이크로프로세서에 관한 것으로서, 특히, 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to microprocessors and, more particularly, to register bank circuitry that improves the operating speed of a microprocessor.

일반적으로, 마이크로 프로세서는 외부 메모리 외에 특정 프로세싱 동작이 수행되는 동안 각 기능 블록들의 연산 결과 데이터 또는 외부 메모리로부터 독출된 데이터 등, 상기 마이크로 프로세서에서 요청한 데이터를 임시 저장하는 레지스터 뱅크 회로를 구비한다.In general, the microprocessor includes a register bank circuit that temporarily stores data requested by the microprocessor, such as operation result data of each functional block or data read from the external memory, in addition to an external memory.

상기 레지스터 뱅크 회로는 외부 메모리의 데이터 기입 및 독출 동작에 비해서 매우 빠른 동작 속도를 갖기 때문에 실시간 작업이 요구되는 프로그램의 수행에 있어서는 매우 효율적이다.Since the register bank circuit has a very fast operation speed compared to the data write and read operations of the external memory, the register bank circuit is very efficient in executing a program requiring real time work.

도 1은 종래 기술에 따른 레지스터 뱅크 회로 및 기능 블록들을 나타내는 블록도이다.1 is a block diagram illustrating a register bank circuit and functional blocks according to the prior art.

도 1과 같이, 종래 기술에 따른 레지스터 뱅크 회로는 레지스터 파일(10), 프리차지(Precharge) 회로(20), 키퍼(Keeper)회로(30), 래치(Latch) 회로(40) 및 먹스(Mux) 회로(50)를 구비한다.As shown in FIG. 1, the register bank circuit according to the related art includes a register file 10, a precharge circuit 20, a keeper circuit 30, a latch circuit 40, and a mux. ) Circuit 50.

상기 레지스터 파일(10)은 소정의 기입 제어신호에 응답하여 입력되는 데이터(DATA_W)를 저장하고, 소정의 독출 제어신호에 응답하여 저장된 상기 데이터(DATA_W)를 내부 출력 데이터(DATA_R1)로서 출력한다.The register file 10 stores data DATA_W input in response to a predetermined write control signal, and outputs the stored data DATA_W as internal output data DATA_R1 in response to a predetermined read control signal.

상기 프리차지 회로(20)는 소정의 프리차지 제어신호에 응답하여 상기 레지스터 파일(10)의 출력단을 프리차지하여 소정의 전압 레벨로 유지하고, 상기 내부 출력 데이터(DATA_R1)가 출력될 때 상기 프리차지 동작을 중지한다.The precharge circuit 20 precharges the output terminal of the register file 10 to maintain a predetermined voltage level in response to a predetermined precharge control signal, and when the internal output data DATA_R1 is outputted, the precharge circuit 20 Stop the charge operation.

상기 키퍼회로(30)는 상기 내부 출력 데이터(DATA_R1) 값을 소정시간 유지하고, 상기 래치회로(40)는 외부로부터 입력되는 래치 인에이블 신호에 응답하여 상기 내부 출력 데이터(DATA_R1)를 독출 데이터(DATA_R2)로서 출력한다.The keeper circuit 30 maintains the value of the internal output data DATA_R1 for a predetermined time, and the latch circuit 40 reads the internal output data DATA_R1 in response to a latch enable signal input from the outside. Output as DATA_R2).

상기 먹스회로(50)는 복수의 먹스들을 포함하고, 외부로부터 입력되는 선택 신호에 응답하여 상기 복수의 먹스들 중 어느 하나가 상기 독출 데이터(DATA_R2)를 출력한다.The mux circuit 50 includes a plurality of muxes, and any one of the plurality of muxes outputs the read data DATA_R2 in response to a selection signal input from the outside.

여기에서, 상기 독출 데이터(DATA_R2)는 복수의 기능블록들에서 필요한 데이터들을 포함할 수 있다. 도 1에서는 상기 복수의 기능블록들 중 프리페치 유닛(Prefetch Unit, 이하, PU라 함)(60), 산술 논리 유닛(Arithmetic and Logic Unit, 이하, ALU라 함)(70) 및 로드/스토어 유닛(Load and Store Unit, 이하, LSU라 함)(80)만이 도시된다.Here, the read data DATA_R2 may include data required by a plurality of functional blocks. In FIG. 1, a prefetch unit (hereinafter referred to as PU) 60, an arithmetic and logic unit (hereinafter referred to as ALU) 70, and a load / store unit among the plurality of functional blocks. Only 80 (Load and Store Unit, hereinafter LSU) is shown.

도 2는 도 1에 도시된 레지스터 뱅크 회로의 상세한 회로도이다.FIG. 2 is a detailed circuit diagram of the register bank circuit shown in FIG. 1.

도 2와 같이, 상기 레지스터 파일(10)은 복수의 전송 게이트들(11), 복수의 저장 엔트리들(12) 및 복수의 출력 드라이버 그룹들(13)을 구비한다.As shown in FIG. 2, the register file 10 includes a plurality of transfer gates 11, a plurality of storage entries 12, and a plurality of output driver groups 13.

상기 복수의 전송 게이트들(11)의 입력은 입력노드(INODE)에 연결되고, 상기 복수의 전송 게이트들(11)은 기입 제어신호들(EN_W1∼EN_WN) 각각에 응답하여 턴 온되며, 입력되는 기입 데이터(DATA_W)를 출력한다. 여기에서, 상기 기입 제어신호들(EN_W1∼EN_WN)은 별도의 제어회로(미도시)에서 출력된다.Inputs of the plurality of transmission gates 11 are connected to an input node INODE, and the plurality of transmission gates 11 are turned on in response to each of the write control signals EN_W1 to EN_WN and are inputted. Write data DATA_W is output. Here, the write control signals EN_W1 to EN_WN are output from a separate control circuit (not shown).

상기 복수의 저장 엔트리들(12) 각각은 직렬 연결되는 복수의 저장셀들(14)을 포함하며, 상기 복수의 전송 게이트들(11) 각각에 직렬 연결된다.Each of the plurality of storage entries 12 includes a plurality of storage cells 14 connected in series and is connected in series to each of the plurality of transmission gates 11.

상기 복수의 저장셀들(14) 각각은 인버터들(15, 16)을 포함하는 래치회로이다.Each of the plurality of storage cells 14 is a latch circuit including inverters 15 and 16.

상기 복수의 출력 드라이버 그룹들(13) 각각은 복수의 출력 드라이버들(17)을 포함한다. 상기 복수의 출력 드라이버들(17) 각각의 입력은 상기 복수의 저장셀들(14) 각각의 출력단에 연결되고, 출력은 출력노드(PNODE)에 연결된다.Each of the plurality of output driver groups 13 includes a plurality of output drivers 17. An input of each of the plurality of output drivers 17 is connected to an output terminal of each of the plurality of storage cells 14, and an output is connected to an output node PNODE.

상기 레지스터 파일(10)은 상기 전송 게이트(11), 상기 저장 엔트리(12) 및 상기 출력 드라이버 그룹(13)이 직렬 연결되어 하나의 레지스터 라인을 형성하며, 상기 입력노드(INODE)와 상기 출력노드(PNODE) 사이에서 복수개의 상기 레지스터 라인들이 병렬 연결된다.In the register file 10, the transfer gate 11, the storage entry 12, and the output driver group 13 are connected in series to form one register line, and the input node INODE and the output node are connected to each other. A plurality of the resistor lines are connected in parallel between (PNODE).

또, 상기 복수의 출력 드라이버들(17) 각각은 엔모스 트랜지스터들(N1, N2)을 포함한다.In addition, each of the plurality of output drivers 17 includes NMOS transistors N1 and N2.

상기 엔모스 트랜지스터들(N1)은 독출 제어신호들(EN_R11∼EN_RNM)이 게이트에 각각 입력되고, 상기 출력노드(PNODE)에 드레인이 연결되며, 상기 엔모스 트랜지스터들(N2)의 드레인에 소스가 연결된다. 여기에서, 상기 독출 제어신호들(EN_R11∼EN_RNM)은 별도의 제어회로(미도시)로부터 출력되는 신호들이다.In the NMOS transistors N1, read control signals EN_R11 to EN_RNM are respectively input to a gate, a drain is connected to the output node PNODE, and a source is supplied to the drains of the NMOS transistors N2. Connected. The read control signals EN_R11 to EN_RNM are signals output from a separate control circuit (not shown).

상기 엔모스 트랜지스터들(N1)은 상기 독출 제어신호들(EN_R11∼EN_RNM)이 활성화될 때 턴 온되어, 상기 출력노드(PNODE)로 상기 내부 독출 데이터(DATA_R1)를 출력한다.The NMOS transistors N1 are turned on when the read control signals EN_R11 to EN_RNM are activated, and output the internal read data DATA_R1 to the output node PNODE.

또, 상기 엔모스 트랜지스터들(N2)의 게이트는 상기 저장셀들(14)의 출력단에 각각 연결되고, 소스가 그라운드에 연결된다. 상기 엔모스 트랜지스터들(N2)은 상기 저장셀들(14)의 출력신호에 응답하여 턴 온된다.In addition, gates of the NMOS transistors N2 are connected to output terminals of the storage cells 14, respectively, and a source thereof is connected to ground. The NMOS transistors N2 are turned on in response to an output signal of the storage cells 14.

상기 프리차지 회로(20)는 피모스 트랜지스터(P1)로 실행될 수 있다. 상기 피모스 트랜지스터(P1)는 상기 출력노드(PNODE)에 소스가 연결되고, 소정의 내부전압(VDD)에 드레인이 연결되며, 소정의 프리차지 제어신호(EN_PR1)가 게이트에 입력된다.The precharge circuit 20 may be implemented as a PMOS transistor P1. A source is connected to the output node PNODE, a drain is connected to a predetermined internal voltage VDD, and a predetermined precharge control signal EN_PR1 is input to the gate of the PMOS transistor P1.

상기 피모스 트랜지스터(P1)는 상기 프리차지 제어신호(EN_PR1)에 응답하여 턴 온 되어 상기 출력노드(PNODE)의 전압을 일정 전압 레벨로 유지시킨다.The PMOS transistor P1 is turned on in response to the precharge control signal EN_PR1 to maintain the voltage of the output node PNODE at a constant voltage level.

상기 키퍼회로(30)는 피모스 트랜지스터(P2)와 인버터(31)로 실행될 수 있다. 상기 피모스 트랜지스터(P2)는 상기 인버터(31)의 출력단에 게이트가 연결되고, 상기 내부전압(VDD)에 드레인이 연결되며, 상기 출력노드(PNODE)에 소스가 연결된다.The keeper circuit 30 may be implemented as a PMOS transistor P2 and an inverter 31. The PMOS transistor P2 has a gate connected to an output terminal of the inverter 31, a drain connected to the internal voltage VDD, and a source connected to the output node PNODE.

상기 인버터(31)는 상기 출력노드(PNODE)로 출력되는 상기 내부 출력 데이터(DATA_R1) 신호를 반전시켜 출력하고, 상기 피모스 트랜지스터(P2)는 상기 인버터(31)의 출력신호에 응답하여 턴 온 또는 턴 오프 된다. 상기 키퍼회로(30)는 상기 출력노드(PNODE)로 출력되는 상기 내부 출력 데이터(DATA_R1)의 전압레벨을 소정의 전압레벨로 유지한다.The inverter 31 inverts and outputs the internal output data DATA_R1 signal output to the output node PNODE, and the PMOS transistor P2 is turned on in response to the output signal of the inverter 31. Or turned off. The keeper circuit 30 maintains the voltage level of the internal output data DATA_R1 output to the output node PNODE at a predetermined voltage level.

상기 래치회로(40)는 소정의 래치 제어신호(EN_LA)에 응답하여, 상기 키퍼회로(30)로부터 출력되는 상기 내부 출력 데이터(DATA_R1)를 래치하여, 독출 데이터(DATA_R2)로서 상기 먹스회로(50)의 입력노드(MNODE)에 출력한다.The latch circuit 40 latches the internal output data DATA_R1 output from the keeper circuit 30 in response to a predetermined latch control signal EN_LA to read the data circuit 50 as the read data DATA_R2. Output to the input node (MNODE) of).

여기에서, 상기 독출 데이터(DATA_R2)는 프리페치 데이터(DATA_PU), 산술/논리 데이터(DATA_ALU) 및 로드/스토어 데이터(DATA_LSU)를 포함한다.Here, the read data DATA_R2 includes prefetch data DATA_PU, arithmetic / logical data DATA_ALU, and load / store data DATA_LSU.

상기 프리페치 데이터(DATA_PU)는 상기 PU(60)에 입력되고, 산술/논리 데이터(DATA_ALU)는 상기 ALU(70)에 입력되며, 상기 로드/스토어 데이터(DATA_LSU)는 상기 LSU(80)에 입력된다.The prefetch data DATA_PU is input to the PU 60, arithmetic / logical data DATA_ALU is input to the ALU 70, and the load / store data DATA_LSU is input to the LSU 80. do.

상기 먹스회로(50)는 제1 내지 제3 먹스들(51, 52, 53)을 포함하며, 상기 제1 내지 상기 제3 먹스들(51, 52, 53)은 복수의 드라이버들(511∼51K, 521∼52K, 531∼53K)을 포함한다. 상기 제1 내지 상기 제3 먹스들(51, 52, 53)은 다이내믹 먹스(Dynamic Mux) 이고, 상기 드라이버들의 수는 입력 데이터의 수에 따라 다양하게 설정될 수 있다.The mux circuit 50 includes first to third muxes 51, 52, and 53, and the first to third muxes 51, 52, and 53 are a plurality of drivers 511 to 51K. , 521-52K, 531-53K). The first to third muxes 51, 52, and 53 are dynamic muxes, and the number of drivers may be variously set according to the number of input data.

상기 드라이버들(511∼51K) 각각은 엔모스 트랜지스터들(N11 및 N21 ∼ N1K 및 N2K)로 실행될 수 있고, 상기 드라이버들(521∼52K) 각각은 엔모스 트랜지스터들(N31 및 N41∼N3K 및 N4K)로 실행될 수 있다. 또, 상기 드라이버들(531∼53K) 각각은 엔모스 트랜지스터들(N51 및 N61∼N5K 및 N6K)로 실행될 수 있다.Each of the drivers 511 to 51K may be implemented with NMOS transistors N11 and N21 to N1K and N2K, and each of the drivers 521 to 52K may be an NMOS transistor N31 and N41 to N3K and N4K. Can be executed. Each of the drivers 531 to 53K may be implemented by NMOS transistors N51 and N61 to N5K and N6K.

상기 엔모스 트랜지스터들(N11∼N1K)은 게이트에 선택신호들(SEL11∼SEL1K)이 입력되고, 제1 출력단자(MOUT1)에 드레인이 연결되며, 상기 엔모스 트랜지스터들(N21∼N2K)의 드레인에 소스가 연결된다. 여기에서, 상기 선택신호들(SEL11∼SEL1K)은 별도의 제어회로(미도시)로부터 출력되는 신호들이다.Select signals SEL11 to SEL1K are input to gates of the NMOS transistors N11 to N1K, a drain is connected to a first output terminal MOUT1, and drains of the NMOS transistors N21 to N2K. The source is connected to. The selection signals SEL11 to SEL1K are signals output from a separate control circuit (not shown).

상기 엔모스 트랜지스터(N21)의 게이트는 상기 입력노드(MNODE)에 연결되고, 소스는 그라운드에 연결된다. 또, 상기 엔모스 트랜지스터들(N22∼N2K)의 게이트에는 외부 입력 데이터들(INO11∼INO1K)이 입력된다. 상기 외부 입력 데이터들(INO11∼INO1K)은 외부의 기능 블록들(function blocks)로부터 출력되는 데이터 신호들이다.The gate of the NMOS transistor N21 is connected to the input node MNODE, and the source is connected to ground. In addition, external input data INO11 to INO1K are input to the gates of the NMOS transistors N22 to N2K. The external input data INO11 to INO1K are data signals output from external function blocks.

상기 제1 먹스(51)는 상기 선택신호들(SEL11∼SEL1K)중 어느 하나가 인에이블되면 상기 복수의 드라이버들(511∼51K) 중 어느 하나가 동작되어, 상기 독출 데이터(DATA_R2)와 상기 외부 입력 데이터들(INO11∼INO1K) 중 어느 하나가 상기 제1 출력단자(MOUT1)로 출력된다. 이 때, 상기 독출 데이터(DATA_R2)는 상기 프리페치 데이터(DATA_PU)를 포함한다.When any one of the selection signals SEL11 to SEL1K is enabled, the first mux 51 operates any one of the plurality of drivers 511 to 51K to operate the read data DATA_R2 and the external device. One of the input data INO11 to INO1K is output to the first output terminal MOUT1. In this case, the read data DATA_R2 includes the prefetch data DATA_PU.

또, 상기 제1 먹스(51)의 출력단에는 피모스 트랜지스터(P3)로 실행되는 추가의 프리차지 회로가 연결된다. 상기 피모스 트랜지스터(P3)의 게이트에는 소정의 프리차지 제어신호(EN_PR2)가 입력되고, 소스는 상기 내부전압(VDD)에 연결되며, 상기 드레인은 상기 제1 출력단자(MOUT1)에 연결된다.In addition, an additional precharge circuit implemented by the PMOS transistor P3 is connected to the output terminal of the first mux 51. A predetermined precharge control signal EN_PR2 is input to the gate of the PMOS transistor P3, a source is connected to the internal voltage VDD, and the drain is connected to the first output terminal MOUT1.

상기 피모스 트랜지스터(P3)는 상기 제1 먹스(51)의 출력단을 소정 전압 레벨로 프리차지 한다.The PMOS transistor P3 precharges the output terminal of the first mux 51 to a predetermined voltage level.

상기 엔모스 트랜지스터들(N31∼N3K)은 게이트에 선택신호들(SEL21∼SEL2K)이 입력되고, 제2 출력단자(MOUT2)에 드레인이 연결되며, 상기 엔모스 트랜지스터들(N41∼N4K)의 드레인에 소스가 연결된다. 여기에서, 상기 선택신호들(SEL21∼SEL2K)은 별도의 제어회로(미도시)로부터 출력되는 신호들이다.Select signals SEL21 to SEL2K are input to a gate, a drain is connected to a second output terminal MOUT2, and drains of the NMOS transistors N41 to N4K are input to the NMOS transistors N31 to N3K. The source is connected to. The selection signals SEL21 to SEL2K are signals output from a separate control circuit (not shown).

상기 엔모스 트랜지스터(N41)의 게이트는 상기 입력노드(MNODE)에 연결되고, 소스는 그라운드에 연결된다. 또, 상기 엔모스 트랜지스터들(N42∼N4K)의 게이트에는 외부 입력 데이터들(INO21∼INO2K)이 입력된다. 상기 외부 입력 데이터들(INO21∼INO2K)은 외부의 기능 블록들로부터 출력되는 데이터 신호들이다.The gate of the NMOS transistor N41 is connected to the input node MNODE, and the source is connected to ground. In addition, external input data INO21 to INO2K are input to the gates of the NMOS transistors N42 to N4K. The external input data INO21 to INO2K are data signals output from external functional blocks.

상기 제2 먹스(52)는 상기 선택신호들(SEL21∼SEL2K)중 어느 하나가 인에이블되면 상기 복수의 드라이버들(521∼52K) 중 어느 하나가 동작되어, 상기 독출 데이터(DATA_R2)와 상기 외부 입력 데이터들(INO21∼INO2K) 중 어느 하나가 상기 제2 출력단자(MOUT2)로 출력된다. 이 때, 상기 독출 데이터(DATA_R2)는 상기 산술/논리 데이터(DATA_ALU)를 포함한다.When any one of the selection signals SEL21 to SEL2K is enabled, the second mux 52 operates any one of the plurality of drivers 521 to 52K to operate the read data DATA_R2 and the external device. One of the input data INO21 to INO2K is output to the second output terminal MOUT2. In this case, the read data DATA_R2 includes the arithmetic / logical data DATA_ALU.

또, 상기 제2 먹스(52)의 출력단에는 피모스 트랜지스터(P4)로 실행되는 추가의 프리차지 회로가 연결된다. 상기 피모스 트랜지스터(P4)의 게이트에는 상기 프리차지 제어신호(EN_PR2)가 입력되고, 소스는 상기 내부전압(VDD)에 연결되며, 상기 드레인은 상기 제2 출력단자(MOUT2)에 연결된다.In addition, an additional precharge circuit implemented by the PMOS transistor P4 is connected to the output terminal of the second mux 52. The precharge control signal EN_PR2 is input to the gate of the PMOS transistor P4, a source is connected to the internal voltage VDD, and the drain is connected to the second output terminal MOUT2.

상기 피모스 트랜지스터(P4)는 상기 제2 먹스(52)의 출력단을 소정 전압 레벨로 프리차지 한다.The PMOS transistor P4 precharges the output terminal of the second mux 52 to a predetermined voltage level.

상기 엔모스 트랜지스터들(N51∼N5K)은 게이트에 선택신호들(SEL31∼SEL3K)이 입력되고, 제3 출력단자(MOUT3)에 드레인이 연결되며, 상기 엔모스 트랜지스터들(N61∼N6K)의 드레인에 소스가 연결된다. 여기에서, 상기 선택신호들(SEL31∼SEL3K)은 별도의 제어회로(미도시)로부터 출력되는 신호들이다.Select signals SEL31 to SEL3K are input to gates of the NMOS transistors N51 to N5K, a drain is connected to a third output terminal MOUT3, and drains of the NMOS transistors N61 to N6K. The source is connected to. The selection signals SEL31 to SEL3K are signals output from a separate control circuit (not shown).

상기 엔모스 트랜지스터(N61)의 게이트는 상기 입력노드(MNODE)에 연결되고, 소스는 그라운드에 연결된다. 또, 상기 엔모스 트랜지스터들(N62∼N6K)의 게이트에는 외부 입력 데이터들(INO31∼INO3K)이 입력된다. 상기 외부 입력 데이터들(INO31∼INO3K)은 외부의 기능 블록들로부터 출력되는 데이터 신호들이다.The gate of the NMOS transistor N61 is connected to the input node MNODE, and the source is connected to ground. In addition, external input data INO31 to INO3K are input to the gates of the NMOS transistors N62 to N6K. The external input data INO31 to INO3K are data signals output from external functional blocks.

상기 제3 먹스(53)는 상기 선택신호들(SEL31∼SEL3K)중 어느 하나가 인에이블되면 상기 복수의 드라이버들(531∼53K) 중 어느 하나가 동작되어, 상기 독출 데이터(DATA_R2)와 상기 외부 입력 데이터들(INO31∼INO3K) 중 어느 하나가 상기 제3 출력단자(MOUT3)로 출력된다. 이 때, 상기 독출 데이터(DATA_R2)는 상기 로드/스토어 데이터(DATA_LSU)를 포함한다.When any one of the selection signals SEL31 to SEL3K is enabled, the third mux 53 operates any one of the plurality of drivers 531 to 53K to operate the read data DATA_R2 and the external device. One of the input data INO31 to INO3K is output to the third output terminal MOUT3. In this case, the read data DATA_R2 includes the load / store data DATA_LSU.

또, 상기 제3 먹스(53)의 출력단에는 피모스 트랜지스터(P5)로 실행되는 추가의 프리차지 회로가 연결된다. 상기 피모스 트랜지스터(P5)의 게이트에는 상기 프리차지 제어신호(EN_PR2)가 입력되고, 소스는 상기 내부전압(VDD)에 연결되며, 상기 드레인은 상기 제3 출력단자(MOUT3)에 연결된다.In addition, an additional precharge circuit implemented by the PMOS transistor P5 is connected to the output terminal of the third mux 53. The precharge control signal EN_PR2 is input to the gate of the PMOS transistor P5, a source is connected to the internal voltage VDD, and the drain is connected to the third output terminal MOUT3.

상기 피모스 트랜지스터(P5)는 상기 제3 먹스(53)의 출력단을 소정 전압 레벨로 프리차지 한다.The PMOS transistor P5 precharges the output terminal of the third mux 53 to a predetermined voltage level.

그러나, 상기와 같은 종래 기술에 따른 레지스터 뱅크 회로는 레지스터 파일로부터 독출되는 데이터가 먹스 회로를 통하여 출력되기 때문에, 독출 제어신호가 활성화 된 후, 독출 데이터가 출력될 때까지 1클럭 주기의 지연시간이 발생되는 문제점이 있다.However, in the register bank circuit according to the prior art as described above, since data read from the register file is output through the mux circuit, a delay time of one clock cycle until the read data is output after the read control signal is activated There is a problem that occurs.

또한, 상기와 같은 종래 기술에 따른 레지스터 뱅크 회로는 레지스터 파일로부터 독출되는 데이터가 먹스 회로를 통하여 출력되므로, 데이터 출력 경로가 길어져 기생 캐패시턴스가 증가되는 문제점이 있다.In addition, in the register bank circuit according to the prior art as described above, since data read from the register file is output through the mux circuit, the data output path is long, thereby increasing the parasitic capacitance.

도 3은 도 2에 도시된 레지스터 뱅크 회로의 주요 입출력신호들을 나타내는타이밍차트이다. 도 3에서는 상기 제1 출력단자(MOUT1)에서 상기 프리페치 데이터(DATA_PU)가 출력되는 경우를 예를 들어 설명한다.3 is a timing chart illustrating main input / output signals of the register bank circuit shown in FIG. 2. 3 illustrates an example in which the prefetch data DATA_PU is output from the first output terminal MOUT1.

도 3과 같이, 클럭신호(CLOCK)의 폴링 에지(falling edge)에 동기하여 상기 독출 제어신호(EN_R11)가 인에이블되면, 상기 출력 드라이버(17)의 엔모스 트랜지스터(N1)가 턴 온된다. 그 결과, 상기 프리차지 회로(20)에 의해 상기 내부전압(VDD) 레벨로 프리차지 된 상기 출력노드(PNODE)에는 소정의 전압 레벨을 갖는 상기 내부 출력 데이터(DATA_R1)가 출력된다.As shown in FIG. 3, when the read control signal EN_R11 is enabled in synchronization with the falling edge of the clock signal CLOCK, the NMOS transistor N1 of the output driver 17 is turned on. As a result, the internal output data DATA_R1 having a predetermined voltage level is output to the output node PNODE precharged by the precharge circuit 20 to the internal voltage VDD level.

이 후, 상기 키퍼회로(30)는 상기 내부 출력 데이터(DATA_R1)를 반전시켜 출력한다. 또, 상기 래치 제어신호(EN_LA)가 인에이블되면, 상기 래치회로(40)는 상기 키퍼회로(30)의 출력 신호를 상기 독출 데이터(DATA_R2)로서 출력한다. 상기 독출 데이터(DATA_R2)는 상기 제1 먹스(50)에 입력된다.Thereafter, the keeper circuit 30 inverts and outputs the internal output data DATA_R1. When the latch control signal EN_LA is enabled, the latch circuit 40 outputs the output signal of the keeper circuit 30 as the read data DATA_R2. The read data DATA_R2 is input to the first mux 50.

상기 제1 먹스(50)는 상기 선택신호(SEL11)가 인에이블 될 때, 상기 독출 데이터(DATA_R2), 즉, 프리페치 데이터(DATA_PU)를 상기 제1 출력단자(MOUT1)에 출력한다.When the selection signal SEL11 is enabled, the first mux 50 outputs the read data DATA_R2, that is, the prefetch data DATA_PU to the first output terminal MOUT1.

도 3에서 참조되는 것과 같이, 상기 프리페치 데이터(DATA_PU)는 상기 독출 제어신호(EN_R11)가 인에이블 된 후, 1 클럭 주기의 시간이 경과된 후 출력된다.As illustrated in FIG. 3, the prefetch data DATA_PU is output after a time of one clock cycle elapses after the read control signal EN_R11 is enabled.

상기와 같은 레지스터 뱅크 회로에서 발생되는 독출 데이터의 출력 지연시간은 마이크로 프로세서의 동작 속도를 저하시키는 주된 요인이 된다. 따라서, 독출 데이터의 출력 지연시간을 단축시킬 수 있는 레지스터 뱅크 회로가 절실히 요구된다.The output delay time of the read data generated in the register bank circuit as described above is a major factor in reducing the operation speed of the microprocessor. Therefore, there is an urgent need for a register bank circuit capable of shortening the output delay time of read data.

본 발명이 이루고자하는 기술적 과제는, 레지스터 뱅크 회로의 데이터 독출 지연시간을 단축시켜 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로를 제공하는데 있다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide a register bank circuit which reduces a data read delay time of a register bank circuit and improves an operation speed of a microprocessor.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.The detailed description of each drawing is provided in order to provide a thorough understanding of the drawings cited in the detailed description of the invention.

도 1은 종래기술에 따른 레지스터 뱅크 회로 및 기능 블록들을 나타내는 블록도이다.1 is a block diagram illustrating a register bank circuit and functional blocks according to the prior art.

도 2는 도 1에 도시된 레지스터 뱅크 회로의 상세한 회로도이다.FIG. 2 is a detailed circuit diagram of the register bank circuit shown in FIG. 1.

도 3은 도 2에 도시된 레지스터 뱅크 회로의 주요 입출력신호들을 나타내는 타이밍차트이다.FIG. 3 is a timing chart showing main input / output signals of the register bank circuit shown in FIG. 2.

도 4는 본 발명의 일실시예에 따른 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로 및 기능 블록들을 나타내는 블록도이다..4 is a block diagram illustrating a register bank circuit and functional blocks for improving an operating speed of a microprocessor according to an embodiment of the present invention.

도 5는 도 4에 도시된 레지스터 뱅크 회로의 상세한 회로도이다.FIG. 5 is a detailed circuit diagram of the register bank circuit shown in FIG. 4.

도 6은 도 5에 도시된 레지스터 뱅크 회로의 주요 입출력신호들을 나타내는 타이밍차트이다.FIG. 6 is a timing chart illustrating main input / output signals of the register bank circuit shown in FIG. 5.

상기 기술적 과제를 달성하기 위한 본 발명의 일실시예에 따른 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로는, 레지스터 파일, 키퍼회로 및 프리차지 회로를 구비하는 것을 특징으로 한다.According to an aspect of the present invention, a register bank circuit for improving an operating speed of a microprocessor includes a register file, a keeper circuit, and a precharge circuit.

레지스터 파일은 소정의 기입 제어신호에 응답하여 입력되는 기입 데이터를 저장하며, 소정의 독출 제어신호에 응답하여 독출되는 독출 데이터를 복수개의 출력단자들 중 어느 하나에 출력한다. 키퍼회로는 복수개의 출력단자들 각각에 데이터 버스를 통하여 연결되며, 데이터 버스에 실리는 독출 데이터의 전압 레벨을 소정 시간 유지시킨다. 프리차지 회로는 키퍼회로에 데이터 버스를 통하여 연결되며, 소정의 프리차지 제어신호에 응답하여 데이터 버스의 전압을 소정의 내부전압 레벨로 유지한다.The register file stores write data input in response to a predetermined write control signal, and outputs read data read in response to a predetermined read control signal to any one of a plurality of output terminals. The keeper circuit is connected to each of the plurality of output terminals via a data bus, and maintains the voltage level of the read data carried on the data bus for a predetermined time. The precharge circuit is connected to the keeper circuit via a data bus and maintains the voltage of the data bus at a predetermined internal voltage level in response to a predetermined precharge control signal.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.DETAILED DESCRIPTION In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings which illustrate preferred embodiments of the present invention and the contents described in the drawings.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.

도 4는 본 발명의 일실시예에 따른 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로 및 기능 블록들을 나타내는 블록도이다.4 is a block diagram illustrating a register bank circuit and functional blocks for improving an operating speed of a microprocessor according to an embodiment of the present invention.

도 4와 같이, 본 발명의 일실시예에 따른 레지스터 뱅크 회로는 레지스터 파일(110), 제1 내지 제3 키퍼회로들(120, 130, 140), 제1 내지 제3 프리차지(precharge) 회로들(150, 160, 170), 래치(Latch) 회로(40) 및 제1 내지 제3 데이터 버스들(310, 320, 330)을 구비한다.As shown in FIG. 4, a register bank circuit according to an embodiment of the present invention may include a register file 110, first to third keeper circuits 120, 130, and 140, and first to third precharge circuits. Fields 150, 160, 170, a latch circuit 40, and first to third data buses 310, 320, and 330.

또, 상기 제1 데이터 버스(310)에 프리페치 유닛(Prefetch Unit, 이하, PU라 함)(180)이 연결되고, 상기 제2 데이터 버스(320)에 산술 논리 유닛(Arithmetic and Logic Unit, 이하, ALU라 함)(190)이 연결되며, 상기 제3 데이터 버스(330)에 로드/스토어 유닛(Load and Store Unit, 이하, LSU라 함)(200)이 연결된다.In addition, a prefetch unit (hereinafter referred to as a PU) 180 is connected to the first data bus 310, and an arithmetic and logic unit (hereinafter, referred to as a PU) is connected to the second data bus 320. ALU 190 is connected, and a load / store unit (hereinafter referred to as LSU) 200 is connected to the third data bus 330.

상기 레지스터 파일(110)은 소정의 기입 제어신호에 응답하여 입력단자(IN)에 입력되는 데이터(DATA_W)(이하, 기입 데이터라 함)를 저장하고, 소정의 독출 제어신호에 응답하여 저장된 상기 기입 데이터(DATA_W)를 제1 내지 제3 출력단자(ROUT1∼ROUT3) 중 어느 하나로 출력한다.The register file 110 stores data DATA_W (hereinafter referred to as write data) input to the input terminal IN in response to a predetermined write control signal, and stores the data stored in response to a predetermined read control signal. The data DATA_W is output to any one of the first to third output terminals ROUT1 to ROUT3.

여기에서, 상기 레지스터 파일(110)은 상기 제1 출력단자(ROUT1)로 상기 PU(180)에서 사용되는 프리페치 데이터(DATA_PU)를 출력하고, 상기 제2 출력단자(ROUT2)로 상기 ALU(190)에서 사용되는 산술/논리 데이터(DATA_ALU)를 출력한다. 또, 상기 레지스터 파일(110)은 상기 제3 출력단자(ROUT3)로 상기 LSU(200)에서 사용되는 로드/스토어 데이터(DATA_LSU)를 출력한다.Here, the register file 110 outputs prefetch data DATA_PU used in the PU 180 to the first output terminal ROUT1 and the ALU 190 to the second output terminal ROUT2. Outputs the arithmetic / logical data (DATA_ALU) used in. The register file 110 outputs load / store data DATA_LSU used in the LSU 200 to the third output terminal ROUT3.

상기 제1 키퍼회로(120)는 상기 제1 데이터 버스(310)를 통하여 상기 제1 출력단자(ROUT1)에 연결되고, 상기 제2 키퍼회로(130)는 상기 제2 데이터 버스(320)를 통하여 상기 제2 출력단자(ROUT2)에 연결되며, 상기 제3 키퍼회로(140)는 상기 제3 데이터 버스(330)를 통하여 상기 제3 출력단자(ROUT3)에 연결된다.The first keeper circuit 120 is connected to the first output terminal ROUT1 through the first data bus 310, and the second keeper circuit 130 is connected through the second data bus 320. It is connected to the second output terminal (ROUT2), the third keeper circuit 140 is connected to the third output terminal (ROUT3) via the third data bus 330.

상기 제1 내지 상기 제3 키퍼회로들(120∼140)은 상기 제1 내지 상기 제3 데이터 버스(310∼330)로 출력되는 상기 프리페치 데이터(DATA_PU), 상기 산술/논리 데이터(DATA_ALU) 및 상기 로드/스토어 데이터(DATA_LSU)의 전압 레벨을 소정 전압 레벨로 유지시킨다.The first to third keeper circuits 120 to 140 may include the prefetch data DATA_PU, the arithmetic / logical data DATA_ALU, and the like which are output to the first to third data buses 310 to 330. The voltage level of the load / store data DATA_LSU is maintained at a predetermined voltage level.

여기에서, 상기 제1 내지 상기 제3 키퍼회로들(120∼140)은 상기 제1 내지 상기 제3 데이터 버스(120∼140)에 실리는 상기 데이터들(DATA_PU, DATA_ALU, DATA_LSU)의 전압 레벨이 낮아져서 잘못된 데이터로 출력되는 것을 방지한다.The first to third keeper circuits 120 to 140 have voltage levels of the data DATA_PU, DATA_ALU, and DATA_LSU on the first to third data buses 120 to 140. Lowered to prevent output with wrong data.

상기 제1 내지 상기 제3 키퍼회로들(120∼140)은 바람직하게, 센스 앰프(sense amplifier) 형태의 플립플롭으로 실행될 수 있다.The first to third keeper circuits 120 to 140 may preferably be implemented as flip-flops in the form of a sense amplifier.

상기 제1 프리차지 회로(150)는 상기 제1 데이터 버스(310)를 통하여 상기 제1 키퍼회로(120)에 연결되고, 상기 제2 프리차지 회로(160)는 상기 제2 데이터 버스(320)를 통하여 상기 제2 키퍼회로(130)에 연결되며, 상기 제3 프리차지 회로(170)는 상기 제3 데이터 버스(330)를 통하여 상기 제3 키퍼회로(140)에 연결된다.The first precharge circuit 150 is connected to the first keeper circuit 120 through the first data bus 310, and the second precharge circuit 160 is connected to the second data bus 320. The second keeper circuit 130 is connected to the third keeper circuit 130, and the third precharge circuit 170 is connected to the third keeper circuit 140 through the third data bus 330.

상기 제1 내지 상기 제3 프리차지 회로들(150, 160, 170) 각각은 소정의 프리차지 제어신호에 응답하여 상기 제1 내지 상기 제3 데이터 버스(310∼330)가 소정의 전압 레벨로 유지되도록 프리차지하고, 상기 데이터들(DATA_PU, DATA_ALU, DATA_LSU)이 출력될 때 상기 프리차지 동작을 중지한다.Each of the first to third precharge circuits 150, 160, and 170 maintains the first to third data buses 310 to 330 at a predetermined voltage level in response to a predetermined precharge control signal. Precharge to stop the precharge operation when the data (DATA_PU, DATA_ALU, DATA_LSU) is output.

상기와 같이 구성된 본 발명의 일실시예에 따른 레지스터 뱅크 회로를 도 5를 참고하여 좀 더 상세히 설명하면 다음과 같다.The register bank circuit according to an embodiment of the present invention configured as described above will be described in more detail with reference to FIG. 5 as follows.

도 5는 도 4에 도시된 레지스터 뱅크 회로의 상세한 회로도이다.FIG. 5 is a detailed circuit diagram of the register bank circuit shown in FIG. 4.

상기 레지스터 파일(110)은 전송 게이트(101), 저장 엔트리(미도시) 및 출력 드라이버 그룹(미도시)이 직렬 연결되어 하나의 레지스터 라인을 형성하며, 상기 입력단자(IN, 도 4 참고)와 상기 제1 내지 상기 제3 출력단자(ROUT1∼ROUT3, 도 4 참고) 사이에서 복수개의 상기 레지스터 라인들이 병렬 연결된다.The register file 110 has a transfer gate 101, a storage entry (not shown), and an output driver group (not shown) connected in series to form a register line, and the input terminal IN (refer to FIG. 4) The plurality of register lines are connected in parallel between the first to third output terminals ROUT1 to ROUT3 (see FIG. 4).

상기 저장 엔트리는 직렬 연결되는 복수의 저장셀(202)들을 포함하며, 상기 출력 드라이버 그룹은 복수의 출력 드라이버 회로(205)들을 포함한다.The storage entry includes a plurality of storage cells 202 connected in series, and the output driver group includes a plurality of output driver circuits 205.

도 5에서는 상기 레지스터 파일(110)의 일부로서 하나의 레지스터 라인의 하나의 저장셀(202)만이 도시된다.In FIG. 5, only one storage cell 202 of one register line is shown as part of the register file 110.

도 5와 같이, 상기 전송 게이트(101)는 소정의 기입 제어신호(EN_W)에 응답하여 턴 온되며, 입력되는 기입 데이터(DATA_W)를 출력한다. 여기에서, 상기 기입 제어신호(EN_W)는 별도의 제어회로(미도시)에서 출력된다.As shown in FIG. 5, the transfer gate 101 is turned on in response to a predetermined write control signal EN_W and outputs input write data DATA_W. Here, the write control signal EN_W is output from a separate control circuit (not shown).

상기 저장셀(202)은 제1 및 제2 인버터들(211, 212)을 포함하는 래치회로이고, 출력단에 제3 인버터(203)가 추가로 연결되며, 입력단에 제4 인버터(204)가 추가로 연결된다.The storage cell 202 is a latch circuit including first and second inverters 211 and 212, a third inverter 203 is further connected to an output terminal, and a fourth inverter 204 is added to an input terminal. Leads to.

상기 제3 인버터(203)의 출력단에는 상기 출력 드라이버 회로(205)의 제1,제3, 제5 출력 드라이버들(221, 223, 225)이 연결되고, 상기 인버터(204)의 출력단에는 상기 출력 드라이버 회로(205)의 제2, 제4, 제6 출력 드라이버들(222, 224, 226)이 연결된다.First, third, and fifth output drivers 221, 223, and 225 of the output driver circuit 205 are connected to an output terminal of the third inverter 203, and the output is output to an output terminal of the inverter 204. Second, fourth, and sixth output drivers 222, 224, and 226 of the driver circuit 205 are connected.

여기에서, 상기 제1 내지 상기 제6 출력 드라이버들(221∼226)이 하나의 상기 출력 드라이버 회로(205)를 형성한다. 하나의 상기 저장 엔트리 내에 포함되는 복수의 저장셀들(202)의 수와 동일한 수의 상기 출력 드라이버 회로(205)들이 하나의 상기 출력 드라이버 그룹을 형성한다.Here, the first to sixth output drivers 221 to 226 form one output driver circuit 205. The output driver circuits 205 in the same number as the number of the plurality of storage cells 202 included in one storage entry form one output driver group.

상기 제3 및 상기 제4 인버터들(203, 204)은 로딩 캐패시턴스가 큰 상기 제1 내지 상기 제6 출력 드라이버들(221∼226)을 구동시키기 위해 상기 저장셀(202)에 연결된다.The third and fourth inverters 203 and 204 are connected to the storage cell 202 to drive the first to sixth output drivers 221 to 226 having a large loading capacitance.

상기 제1 및 상기 제2 출력 드라이버(221, 222)의 출력단은 상기 제1 출력단자(ROUT1)에 연결되고, 상기 제3 및 상기 제4 출력 드라이버(223, 224)의 출력단은 상기 제2 출력단자(ROUT2)에 연결되며, 상기 제5 및 상기 제6 출력 드라이버(225, 226)의 출력단은 상기 제3 출력단자(ROUT3)에 연결된다.Output terminals of the first and second output drivers 221 and 222 are connected to the first output terminal ROUT1, and output terminals of the third and fourth output drivers 223 and 224 are the second output. The output terminal of the fifth and sixth output drivers 225 and 226 is connected to the third output terminal ROUT3.

상기 제1 출력단자(ROUT1)에는 상기 제1 데이터 버스(310)가 연결되고, 상기 제2 출력단자(ROUT2)에는 상기 제2 데이터 버스(320)가 연결되며, 상기 제3 출력단자(ROUT3)에는 상기 제3 데이터 버스(330)가 연결된다.The first data bus 310 is connected to the first output terminal ROUT1, the second data bus 320 is connected to the second output terminal ROUT2, and the third output terminal ROUT3 is connected to the first output terminal ROUT1. The third data bus 330 is connected thereto.

여기에서, 상기 제1 내지 상기 제3 데이터 버스들(310, 320, 330) 각각은 하이 데이터 출력 신호를 전송하는 제1, 제3, 제5 버스들(311, 321, 331)과, 로우 데이터 출력 신호를 전송하는 제2, 제4, 제6 버스들(312, 322, 332)을 포함하는 듀얼레일 버스(dual rail bus)이다.Here, each of the first to third data buses 310, 320, and 330 may include first, third, and fifth buses 311, 321, and 331 for transmitting a high data output signal, and low data. It is a dual rail bus including second, fourth, and sixth buses 312, 322, and 332 which transmit an output signal.

상기 제1 출력 드라이버(221)는 제1 및 제2 엔모스 트랜지스터(N71, N72)를 포함하고, 상기 제2 출력 드라이버(222)는 제3 및 제4 엔모스 트랜지스터(N73, N74)를 포함하며, 상기 제3 출력 드라이버(223)는 제5 및 제6 엔모스 트랜지스터(N75, N76)를 포함한다.The first output driver 221 includes first and second NMOS transistors N71 and N72, and the second output driver 222 includes third and fourth NMOS transistors N73 and N74. The third output driver 223 includes fifth and sixth NMOS transistors N75 and N76.

또, 상기 제4 출력 드라이버(224)는 제7 및 제8 엔모스 트랜지스터(N77, N78)를 포함하고, 상기 제5 출력 드라이버(225)는 제9 및 제10 엔모스 트랜지스터(N79, N80)를 포함하며, 상기 제6 출력 드라이버(226)는 제11 및 제12 엔모스 트랜지스터(N81, N82)를 포함한다.The fourth output driver 224 includes seventh and eighth NMOS transistors N77 and N78, and the fifth output driver 225 includes ninth and tenth NMOS transistors N79 and N80. The sixth output driver 226 includes eleventh and twelfth NMOS transistors N81 and N82.

상기 제1 및 상기 제3 엔모스 트랜지스터(N71, N73)는 제1 독출 제어신호(EN_R1)가 게이트에 입력되고, 드레인들은 각각 상기 제1 및 상기 제2 버스(311, 312)에 연결된다.A first read control signal EN_R1 is input to a gate of the first and third NMOS transistors N71 and N73, and drains are respectively connected to the first and second buses 311 and 312.

또, 상기 제1 엔모스 트랜지스터(N71)의 소스는 상기 제2 엔모스 트랜지스터(N72)의 드레인에 연결된다. 상기 제2 엔모스 트랜지스터(N72)의 게이트는 상기 제3 인버터(203)의 출력단에 연결되고, 소스는 그라운드에 연결된다.In addition, the source of the first NMOS transistor N71 is connected to the drain of the second NMOS transistor N72. The gate of the second NMOS transistor N72 is connected to the output terminal of the third inverter 203, and the source is connected to ground.

상기 제3 엔모스 트랜지스터(N73)의 소스는 상기 제4 엔모스 트랜지스터(N74)의 드레인에 연결된다. 상기 제4 엔모스 트랜지스터(N74)의 게이트는 상기 제4 인버터(204)의 출력단에 연결되고, 소스는 그라운드에 연결된다.The source of the third NMOS transistor N73 is connected to the drain of the fourth NMOS transistor N74. A gate of the fourth NMOS transistor N74 is connected to an output terminal of the fourth inverter 204, and a source thereof is connected to ground.

상기 제5 및 상기 제7 엔모스 트랜지스터(N75, N77)는 제2 독출 제어신호(EN_R2)가 게이트에 입력되고, 드레인들은 각각 상기 제3 및 상기 제4 버스(321, 322)에 연결된다.In the fifth and seventh NMOS transistors N75 and N77, a second read control signal EN_R2 is input to a gate and drains thereof are connected to the third and fourth buses 321 and 322, respectively.

또, 상기 제5 엔모스 트랜지스터(N75)의 소스는 상기 제6 엔모스 트랜지스터(N76)의 드레인에 연결된다. 상기 제6 엔모스 트랜지스터(N76)의 게이트는 상기 제3 인버터(203)의 출력단에 연결되고, 소스는 그라운드에 연결된다.In addition, the source of the fifth NMOS transistor N75 is connected to the drain of the sixth NMOS transistor N76. A gate of the sixth NMOS transistor N76 is connected to an output terminal of the third inverter 203, and a source thereof is connected to ground.

상기 제7 엔모스 트랜지스터(N77)의 소스는 상기 제8 엔모스 트랜지스터(N78)의 드레인에 연결된다. 상기 제8 엔모스 트랜지스터(N78)의 게이트는 상기 제4 인버터(204)의 출력단에 연결되고, 소스는 그라운드에 연결된다.The source of the seventh NMOS transistor N77 is connected to the drain of the eighth NMOS transistor N78. A gate of the eighth NMOS transistor N78 is connected to an output terminal of the fourth inverter 204, and a source thereof is connected to ground.

상기 제9 및 상기 제11 엔모스 트랜지스터(N79, N81)는 제3 독출 제어신호(EN_R3)가 게이트에 입력되고, 드레인들은 각각 상기 제5 및 상기 제6 버스(331, 332)에 연결된다.The third read control signal EN_R3 is input to the gate of the ninth and eleventh NMOS transistors N79 and N81, and the drains are connected to the fifth and sixth buses 331 and 332, respectively.

또, 상기 제9 엔모스 트랜지스터(N79)의 소스는 상기 제10 엔모스 트랜지스터(N80)의 드레인에 연결된다. 상기 제10 엔모스 트랜지스터(N80)의 게이트는 상기 제3 인버터(203)의 출력단에 연결되고, 소스는 그라운드에 연결된다.In addition, a source of the ninth NMOS transistor N79 is connected to a drain of the tenth NMOS transistor N80. A gate of the tenth NMOS transistor N80 is connected to an output terminal of the third inverter 203, and a source thereof is connected to ground.

상기 제11 엔모스 트랜지스터(N81)의 소스는 상기 제12 엔모스 트랜지스터(N82)의 드레인에 연결된다. 상기 제12 엔모스 트랜지스터(N82)의 게이트는 상기 제4 인버터(204)의 출력단에 연결되고, 소스는 그라운드에 연결된다.The source of the eleventh NMOS transistor N81 is connected to the drain of the twelfth NMOS transistor N82. A gate of the twelfth NMOS transistor N82 is connected to an output terminal of the fourth inverter 204, and a source thereof is connected to ground.

상기 제1 키퍼회로(120)는 제1 및 제2 피모스 트랜지스터(P11, P12)를 포함하고, 상기 제2 키퍼회로(130)는 제3 및 제4 피모스 트랜지스터(P13, P14)를 포함하며, 상기 제3 키퍼회로(140)는 제5 및 제6 피모스 트랜지스터(P15, P16)를 포함한다.The first keeper circuit 120 includes first and second PMOS transistors P11 and P12, and the second keeper circuit 130 includes third and fourth PMOS transistors P13 and P14. The third keeper circuit 140 includes fifth and sixth PMOS transistors P15 and P16.

상기 제1 피모스 트랜지스터(P11)의 드레인과 상기 제2 피모스 트랜지스터(P12)의 게이트는 상기 제1 버스(311)에 연결되고, 상기 제1 피모스 트랜지스터(P11)의 게이트와 상기 제2 피모스 트랜지스터(P12)의 드레인은 상기 제2 버스(312)에 연결된다. 또, 상기 제1 및 상기 제2 피모스 트랜지스터(P11, P12)의 소스는 내부전압(VDD)에 연결된다.A drain of the first PMOS transistor P11 and a gate of the second PMOS transistor P12 are connected to the first bus 311, and a gate of the first PMOS transistor P11 and the second gate. A drain of the PMOS transistor P12 is connected to the second bus 312. In addition, sources of the first and second PMOS transistors P11 and P12 are connected to an internal voltage VDD.

상기 제3 피모스 트랜지스터(P13)의 드레인과 상기 제4 피모스 트랜지스터(P14)의 게이트는 상기 제3 버스(321)에 연결되고, 상기 제3 피모스 트랜지스터(P13)의 게이트와 상기 제4 피모스 트랜지스터(P14)의 드레인은 상기 제4 버스(322)에 연결된다. 또, 상기 제3 및 상기 제4 피모스 트랜지스터(P13, P14)의 소스는 내부전압(VDD)에 연결된다.A drain of the third PMOS transistor P13 and a gate of the fourth PMOS transistor P14 are connected to the third bus 321, and a gate of the third PMOS transistor P13 and the fourth gate. A drain of the PMOS transistor P14 is connected to the fourth bus 322. In addition, sources of the third and fourth PMOS transistors P13 and P14 are connected to an internal voltage VDD.

상기 제5 피모스 트랜지스터(P15)의 드레인과 상기 제6 피모스 트랜지스터(P16)의 게이트는 상기 제5 버스(331)에 연결되고, 상기 제5 피모스 트랜지스터(P15)의 게이트와 상기 제6 피모스 트랜지스터(P16)의 드레인은 상기 제6 버스(332)에 연결된다. 또, 상기 제5 및 상기 제6 피모스 트랜지스터(P15, P16)의 소스는 내부전압(VDD)에 연결된다.A drain of the fifth PMOS transistor P15 and a gate of the sixth PMOS transistor P16 are connected to the fifth bus 331, and a gate of the fifth PMOS transistor P15 and the sixth PMOS transistor P15 are connected to the fifth bus 331. A drain of the PMOS transistor P16 is connected to the sixth bus 332. In addition, the sources of the fifth and sixth PMOS transistors P15 and P16 are connected to an internal voltage VDD.

상기 제1 프리차지 회로(150)는 제7 내지 제9 피모스 트랜지스터(P17∼P19)를 포함하고, 상기 제2 프리차지 회로(160)는 제10 내지 제12 피모스 트랜지스터(P20∼P22)를 포함하며, 상기 제3 프리차지 회로(170)는 제13 내지 제15 피모스 트랜지스터(P23∼P25)를 포함한다.The first precharge circuit 150 includes seventh to ninth PMOS transistors P17 to P19, and the second precharge circuit 160 includes tenth to twelfth PMOS transistors P20 to P22. The third precharge circuit 170 includes thirteenth to fifteenth PMOS transistors P23 to P25.

상기 제7 내지 상기 제9 피모스 트랜지스터(P17∼P19)의 게이트들에는 제1프리차지 제어신호(EN_PR1)가 입력되고, 상기 제7 및 상기 제8 피모스 트랜지스터(P17, P18)의 소스는 상기 내부전압(VDD)에 연결되고, 드레인들은 각각 상기 제1 및 상기 제2 버스(311, 312)에 연결된다. 상기 제9 피모스 트랜지스터(P19)의 소스와 드레인은 상기 제7 및 상기 제8 피모스 트랜지스터(P17, P18)의 드레인들에 연결된다.The first precharge control signal EN_PR1 is input to the gates of the seventh to ninth PMOS transistors P17 to P19, and the sources of the seventh and eighth PMOS transistors P17 and P18 are input. The drain is connected to the internal voltage VDD and the drains are respectively connected to the first and second buses 311 and 312. The source and the drain of the ninth PMOS transistor P19 are connected to the drains of the seventh and eighth PMOS transistors P17 and P18.

여기에서, 상기 제9 피모스 트랜지스터(P19)는 이퀄라이저로서 동작하며, 상기 제1 및 상기 제2 버스(311, 312)의 전압 레벨을 동일하게 유지시킨다.Here, the ninth PMOS transistor P19 operates as an equalizer and maintains the same voltage level of the first and second buses 311 and 312.

상기 제10 내지 상기 제12 피모스 트랜지스터(P20∼P22)의 게이트들에는 제2 프리차지 제어신호(EN_PR2)가 입력되고, 상기 제10 및 상기 제11 피모스 트랜지스터(P20, P21)의 소스는 상기 내부전압(VDD)에 연결되고, 드레인들은 각각 상기 제3 및 상기 제4 버스(321, 322)에 연결된다. 상기 제12 피모스 트랜지스터(P22)의 소스와 드레인은 상기 제10 및 상기 제11 피모스 트랜지스터(P20, P21)의 드레인들에 연결된다.The second precharge control signal EN_PR2 is input to the gates of the tenth to twelfth PMOS transistors P20 to P22, and the sources of the tenth and eleventh PMOS transistors P20 and P21 are input. The drain is connected to the internal voltage VDD and the drains are respectively connected to the third and fourth buses 321 and 322. Sources and drains of the twelfth PMOS transistor P22 are connected to drains of the tenth and eleventh PMOS transistors P20 and P21.

여기에서, 상기 제12 피모스 트랜지스터(P22)는 이퀄라이저로서 동작하며, 상기 제3 및 상기 제4 버스(321, 322)의 전압 레벨을 동일하게 유지시킨다.Here, the twelfth PMOS transistor P22 operates as an equalizer, and maintains the same voltage level of the third and fourth buses 321 and 322.

상기 제13 내지 제15 피모스 트랜지스터(P23∼P25)의 게이트들에는 제3 프리차지 제어신호(EN_PR3)가 입력되고, 상기 제13 및 상기 제14 피모스 트랜지스터(P23, P24)의 소스는 상기 내부전압(VDD)에 연결되고, 드레인들은 각각 상기 제5 및 상기 제6 버스(331, 332)에 연결된다. 상기 제15 피모스 트랜지스터(P25)의 소스와 드레인은 상기 제13 및 상기 제14 피모스트랜지스터(P23, P24)의 드레인들에 연결된다.The third precharge control signal EN_PR3 is input to the gates of the thirteenth to fifteenth PMOS transistors P23 to P25, and the sources of the thirteenth and fourteenth PMOS transistors P23 and P24 are respectively connected to the gates of the thirteenth to fifteenth PMOS transistors P23 to P25. It is connected to the internal voltage VDD, and drains are connected to the fifth and sixth buses 331 and 332, respectively. Sources and drains of the fifteenth PMOS transistor P25 are connected to drains of the thirteenth and fourteenth PMOS transistors P23 and P24.

여기에서, 상기 제15 피모스 트랜지스터(P25)는 이퀄라이저로서 동작하며, 상기 제5 및 상기 제6 버스(331, 332)의 전압 레벨을 동일하게 유지시킨다.Here, the fifteenth PMOS transistor P25 operates as an equalizer and maintains the same voltage level of the fifth and sixth buses 331 and 332.

여기에서, 상기 제1 내지 상기 제3 프리차지 제어신호들(EN_PR1∼EN_PR3)은 별도의 제어회로(미도시)로부터 출력되는 신호들이다.Here, the first to third precharge control signals EN_PR1 to EN_PR3 are signals output from a separate control circuit (not shown).

상기와 같이 구성된 본 발명의 일실시예에 따른 레지스터 뱅크 회로의 동작을 도 5 및 도 6을 참고하여 상세히 설명하면 다음과 같다.The operation of the register bank circuit according to an embodiment of the present invention configured as described above will be described in detail with reference to FIGS. 5 and 6.

도 6은 도 5에 도시된 레지스터 뱅크 회로의 주요 입출력신호들을 나타내는 타이밍차트이다.FIG. 6 is a timing chart illustrating main input / output signals of the register bank circuit shown in FIG. 5.

먼저, 상기 전송 게이트(201)는 기입 제어신호(EN_W)가 활성화됨에 따라 턴 온되어 입력되는 기입 데이터(DATA_W)를 출력한다. 상기 저장셀(202)은 상기 전송 게이트(201)로부터 출력되는 기입 데이터(DATA_W)를 저장한다.First, the transfer gate 201 outputs write data DATA_W which is turned on as the write control signal EN_W is activated. The storage cell 202 stores the write data DATA_W output from the transmission gate 201.

상기 기입 데이터(DATA_W)는 바람직하게 프리페치 데이터(DATA_PU_H, DATA_PU_L), 산술/논리 데이터(DATA_ALU_H, DATA_ALU_L), 로드/스토어 데이터(DATA_LSU_H, DATA_LSU_L)를 포함한다.The write data DATA_W preferably includes prefetch data DATA_PU_H and DATA_PU_L, arithmetic / logical data DATA_ALU_H and DATA_ALU_L, and load / store data DATA_LSU_H and DATA_LSU_L.

도 5 및 도 6에서는 상기 기입 데이터(DATA_W)가 상기 프리페치 데이터(DATA_PU_H, DATA_PU_L)인 경우를 예를 들어 설명한다.5 and 6, the case where the write data DATA_W is the prefetch data DATA_PU_H and DATA_PU_L will be described as an example.

클럭신호(CLOCK)에 동기하여 상기 제1 독출 제어신호(EN_R1)가 활성화 되면, 상기 제1 및 상기 제3 엔모스 트랜지스터(N71, N73)가 턴 온된다.When the first read control signal EN_R1 is activated in synchronization with a clock signal CLOCK, the first and third NMOS transistors N71 and N73 are turned on.

상기 제3 인버터(203)는 상기 저장셀(202)의 출력 데이터를 반전시켜 출력한다. 여기에서, 상기 기입 데이터(DATA_W)가 '1'인 경우를 예를 들어 설명하면 다음과 같다.The third inverter 203 inverts the output data of the storage cell 202 and outputs the inverted data. Here, an example in which the write data DATA_W is '1' will be described below.

상기 기입 데이터(DATA_W) '1'은 상기 저장셀(202)의 상기 제2 인버터(211)에 의해 반전되어 데이터 '0'으로 출력된다.The write data DATA_W '1' is inverted by the second inverter 211 of the storage cell 202 and output as data '0'.

상기 제3 인버터(203)는 상기 데이터 '0'을 반전시켜 데이터 '1'로 출력한다. 상기 제2 엔모스 트랜지스터(N72)는 게이트에 상기 데이터 '1'이 입력되어 턴 온된다.The third inverter 203 inverts the data '0' and outputs the data '1'. The second NMOS transistor N72 is turned on by inputting the data '1' to a gate.

또, 상기 제4 인버터(204)는 상기 기입 데이터(DATA_W) '1'을 반전시켜 데이터 '0'을 출력한다. 상기 제4 엔모스 트랜지스터(N74)는 게이트에 상기 데이터 '0'이 입력되어 턴 오프된다.The fourth inverter 204 inverts the write data DATA_W '1' and outputs data '0'. The fourth NMOS transistor N74 is turned off when the data '0' is input to a gate.

결국, 상기 제1 및 상기 제2 엔모스 트랜지스터(N71, N72)에 의해 상기 제1 데이터 버스(310)의 상기 제1 버스(311)에 상기 프리페치 데이터(DATA_PU_H)가 출력된다.As a result, the prefetch data DATA_PU_H is output to the first bus 311 of the first data bus 310 by the first and second NMOS transistors N71 and N72.

또, 상기 제3 엔모스 트랜지스터(N73)가 턴 온 되더라도 상기 제4 엔모스 트랜지스터(N74)가 턴 오프 상태이므로, 상기 제2 버스(312)에는 상기 프리페치 데이터(DATA_PU_L)가 출력되지 않는다.In addition, even when the third NMOS transistor N73 is turned on, the fourth NMOS transistor N74 is turned off, and thus the prefetch data DATA_PU_L is not output to the second bus 312.

여기에서, 상기 제1 및 상기 제2 버스(311, 312)는 상기 제1 프리차지 회로(150)에 의해 상기 내부전압(VDD)으로 미리 프리차지 된 상태이다.Here, the first and second buses 311 and 312 are precharged to the internal voltage VDD by the first precharge circuit 150.

따라서, 상기 제1 및 상기 제2 엔모스 트랜지스터(N71, N72)가 턴 온 됨에 따라, 상기 제1 버스(311)의 상기 프리페치 데이터(DATA_PU_H)의 전압 레벨은 도 6에 도시된 것과 같이, 상기 내부전압(VDD) 레벨에서 그라운드 전압 레벨로 변화된다.Therefore, as the first and second NMOS transistors N71 and N72 are turned on, the voltage level of the prefetch data DATA_PU_H of the first bus 311 is as shown in FIG. 6. The voltage is changed from the internal voltage VDD level to the ground voltage level.

이 때, 상기 제2 버스(312)의 상기 프리페치 데이터(DATA_PU_L)의 전압 레벨은 상기 내부전압(VDD) 레벨을 갖는다.At this time, the voltage level of the prefetch data DATA_PU_L of the second bus 312 has the internal voltage VDD level.

또, 상기 제1 키퍼회로(120)의 상기 제1 피모스 트랜지스터(P11)는 상기 내부전압(VDD)이 게이트에 입력되므로 턴 오프 되고, 상기 제2 피모스 트랜지스터(P12)는 상기 그라운드 전압이 게이트에 입력되므로 턴 온 된다.In addition, the first PMOS transistor P11 of the first keeper circuit 120 is turned off because the internal voltage VDD is input to the gate, and the second PMOS transistor P12 has the ground voltage. It is turned on because it is input to the gate.

상기 제2 피모스 트랜지스터(P12)가 턴 온 됨에 따라, 상기 제2 버스(312)의 상기 프리페치 데이터(DATA_PU_L)의 전압 레벨은 상기 내부전압(VDD) 레벨로 계속 유지된다.As the second PMOS transistor P12 is turned on, the voltage level of the prefetch data DATA_PU_L of the second bus 312 is continuously maintained at the internal voltage VDD level.

상기 제1 키퍼회로(120)는 외부 전압 변화에 따라 상기 프리페치 데이터(DATA_PU_H, DATA_PU_L)의 전압 레벨이 변동되어 잘못된 데이터가 출력되는 것을 방지한다.The first keeper circuit 120 prevents incorrect data from being output by changing the voltage levels of the prefetch data DATA_PU_H and DATA_PU_L according to an external voltage change.

결국, 상기 저장셀(202)에 저장된 상기 기입 데이터(DATA_W) '1'은 상기 제1 버스(311)를 통하여 상기 프리페치 데이터(DATA_PU_H)로서 출력된다.As a result, the write data DATA_W '1' stored in the storage cell 202 is output as the prefetch data DATA_PU_H through the first bus 311.

상기 제1 프리차지 회로(150)는 제1 프리차지 제어신호(EN_PR1)가 활성화됨에 따라 상기 제7 내지 상기 제9 피모스 트랜지스터(P17∼P19)가 턴 온 된다.In the first precharge circuit 150, as the first precharge control signal EN_PR1 is activated, the seventh to ninth PMOS transistors P17 to P19 are turned on.

상기 제7 피모스 트랜지스터(P17)가 턴 온 됨에 따라 상기 제1 버스(311)는 상기 내부전압(VDD) 레벨로 프리차지 되고, 상기 제8 피모스 트랜지스터(P18)가 턴 온 됨에 따라 상기 제2 버스(312) 역시 상기 내부전압(VDD) 레벨로 프리차지 된다.As the seventh PMOS transistor P17 is turned on, the first bus 311 is precharged to the internal voltage VDD level, and as the eighth PMOS transistor P18 is turned on, the first bus 311 is turned on. The two buses 312 are also precharged to the internal voltage level VDD.

또, 상기 제9 피모스 트랜지스터(P19)가 턴 온 됨에 따라 상기 제1 및 상기 제2 버스(311, 312)들은 동일한 전압 레벨로 유지된다.In addition, as the ninth PMOS transistor P19 is turned on, the first and second buses 311 and 312 are maintained at the same voltage level.

여기에서, 상기 제1 독출 제어신호(EN_R1)가 활성 상태일 때, 상기 제1 프리차지 제어신호(EN_PR1)는 비활성 상태이므로, 상기 프리페치 데이터(DATA_PU_H, DATA_PU_L)가 출력될 때, 상기 제1 프리차지 회로(150)는 프리차지 동작을 중지한다.Here, since the first precharge control signal EN_PR1 is inactive when the first read control signal EN_R1 is active, when the prefetch data DATA_PU_H and DATA_PU_L are output, the first precharge control signal EN_R1 is inactive. The precharge circuit 150 stops the precharge operation.

이 후, 상기 PU(180)는 상기 제1 및 상기 제2 버스(311, 312)에 실리는 상기 프리페치 데이터(DATA_PU_H, DATA_PU_L)를 바로 수신할 수 있다.Thereafter, the PU 180 may directly receive the prefetch data DATA_PU_H and DATA_PU_L mounted on the first and second buses 311 and 312.

다음으로, 상기 기입 데이터(DATA_W)가 '0'인 경우에는 상기 기입 데이터(DATA_W)가 '1'인 경우와 반대로 상기 제2 엔모스 트랜지스터(N72)가 턴 오프되고, 상기 제4 엔모스 트랜지스터(N74)가 턴 온 된다.Next, when the write data DATA_W is '0', the second NMOS transistor N72 is turned off as opposed to the case where the write data DATA_W is '1', and the fourth NMOS transistor is next. (N74) is turned on.

따라서, 상기 제3 및 상기 제4 엔모스 트랜지스터(N73, N74)에 의해 상기 제1 데이터 버스(310)의 상기 제2 버스(312)에 상기 프리페치 데이터(DATA_PU_L)가 출력된다.Accordingly, the prefetch data DATA_PU_L is output to the second bus 312 of the first data bus 310 by the third and fourth NMOS transistors N73 and N74.

또, 상기 제1 엔모스 트랜지스터(N71)가 턴 온 되더라도 상기 제2 엔모스 트랜지스터(N72)가 턴 오프 상태이므로, 상기 제1 버스(311)에는 상기 프리페치 데이터(DATA_PU_L)가 출력되지 않는다.In addition, even when the first NMOS transistor N71 is turned on, the second NMOS transistor N72 is turned off, and thus the prefetch data DATA_PU_L is not output to the first bus 311.

다음으로, 상기 기입 데이터(DATA_W)가 상기 산술/논리 데이터(DATA_ALU_H, DATA_ALU_L) 또는 상기 로드/스토어 데이터(DATA_LSU_H, DATA_LSU_L)인 경우 상기 레지스터 뱅크 회로의 구체적인 데이터 독출 동작은 상기 레지스터 뱅크 회로로부터 상기 프리페치 데이터(DATA_PU_H, DATA_PU_L)가 독출되는 경우와 동일하므로 생략하기로 한다.Next, when the write data DATA_W is the arithmetic / logical data DATA_ALU_H and DATA_ALU_L or the load / store data DATA_LSU_H and DATA_LSU_L, a specific data read operation of the register bank circuit may be performed from the register bank circuit. Since the fetch data DATA_PU_H and DATA_PU_L are the same as the case where the fetch data is read, the description will be omitted.

상술한 것과 같이, 본 발명의 레지스터 뱅크 회로에 의하면 도 6에 도시된 것과 같이, 상기 독출 제어신호(EN_R1)가 활성화된 후, 상기 프리페치 데이터(DATA_PU_H)가 출력될 때까지의 지연시간이 종래기술에 따른 레지스터 뱅크 회로에 비해 약 1/2 클럭 주기만큼 단축될 수 있다.As described above, according to the register bank circuit of the present invention, as shown in FIG. 6, the delay time until the prefetch data DATA_PU_H is output after the read control signal EN_R1 is activated is conventional. Compared to the register bank circuit according to the technology can be shortened by about 1/2 clock period.

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to the embodiments shown in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

상기한 것과 같이, 본 발명의 레지스터 뱅크 회로에 의하면, 데이터 독출 지연시간이 단축되므로 마이크로 프로세서의 동작 속도가 향상될 수 있는 효과가 있다.As described above, according to the register bank circuit of the present invention, since the data read delay time is shortened, the operation speed of the microprocessor can be improved.

또한, 본 발명의 레지스터 뱅크 회로에 의하면, 먹스회로를 통하지 않고 레지스터 파일에 연결되는 듀얼 레일 버스에 데이터가 바로 출력되므로, 기생 캐패시턴스를 감소시킬 수 있는 효과가 있다.In addition, according to the register bank circuit of the present invention, since the data is directly output to the dual rail bus connected to the register file without passing through the mux circuit, there is an effect that can reduce the parasitic capacitance.

Claims (15)

소정의 기입 제어신호에 응답하여 입력되는 데이터(이하, 기입 데이터라 함)를 저장하며, 소정의 독출 제어신호에 응답하여 독출되는 데이터(이하, 독출 데이터라 함)를 복수개의 출력단자들 중 어느 하나에 출력하는 레지스터 파일;The data input in response to the predetermined write control signal (hereinafter referred to as write data) is stored, and the data read in response to the predetermined read control signal (hereinafter referred to as read data) is selected from among a plurality of output terminals. A register file to output to one; 상기 복수개의 출력단자들 각각에 데이터 버스를 통하여 연결되며, 상기 데이터 버스에 실리는 상기 독출 데이터의 전압 레벨을 소정 시간 유지시키는 키퍼회로; 및A keeper circuit connected to each of the plurality of output terminals through a data bus and maintaining a voltage level of the read data loaded on the data bus for a predetermined time; And 상기 키퍼회로에 상기 데이터 버스를 통하여 연결되며, 소정의 프리차지 제어신호에 응답하여 상기 데이터 버스의 전압을 소정의 내부전압 레벨로 유지하는 프리차지 회로를 구비하는 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.A precharge circuit connected to the keeper circuit through the data bus, the precharge circuit maintaining a voltage of the data bus at a predetermined internal voltage level in response to a predetermined precharge control signal; Register bank circuit to improve the. 제1항에 있어서, 상기 독출 데이터는,The method of claim 1, wherein the read data, 상기 복수의 출력단자들 중 제1 출력단자로 출력되는 제1 독출 데이터;First read data output to a first output terminal of the plurality of output terminals; 상기 복수의 출력단자들 중 제2 출력단자로 출력되는 제2 독출 데이터; 및Second read data output to a second output terminal of the plurality of output terminals; And 상기 복수의 출력단자들 중 제3 출력단자로 출력되는 제3 독출 데이터를 포함하는 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.And a third read data output to a third output terminal of the plurality of output terminals. 제2항에 있어서, 상기 데이터 버스는,The method of claim 2, wherein the data bus, 상기 제1 출력단자에 연결되며, 상기 제1 독출 데이터를 제1 기능 블록에 전송하는 제1 데이터 버스;A first data bus coupled to the first output terminal and transmitting the first read data to a first functional block; 상기 제2 출력단자에 연결되며, 상기 제2 독출 데이터를 제2 기능 블록에 전송하는 제2 데이터 버스; 및A second data bus connected to the second output terminal and transmitting the second read data to a second functional block; And 상기 제3 출력단자에 연결되며, 상기 제3 독출 데이터를 제3 기능 블록에 전송하는 제3 데이터 버스를 포함하는 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.And a third data bus coupled to the third output terminal, the third data bus transferring the third read data to a third functional block. 제3항에 있어서,The method of claim 3, 상기 제1 데이터 버스는,The first data bus, 상기 제1 독출 데이터의 하이 신호를 전송하는 제1 버스; 및A first bus for transmitting a high signal of the first read data; And 상기 제1 독출 데이터의 로우 신호를 전송하는 제2 버스를 포함하고,A second bus transmitting the low signal of the first read data; 상기 제2 데이터 버스는,The second data bus is, 상기 제2 독출 데이터의 하이 신호를 전송하는 제3 버스; 및A third bus transmitting a high signal of the second read data; And 상기 제2 독출 데이터의 로우 신호를 전송하는 제4 버스를 포함하고,A fourth bus for transmitting a low signal of the second read data, 상기 제3 데이터 버스는,The third data bus, 상기 제3 독출 데이터의 하이 신호를 전송하는 제5 버스; 및A fifth bus transmitting a high signal of the third read data; And 상기 제3 독출 데이터의 로우 신호를 전송하는 제6 버스를 포함하는 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.And a sixth bus for transmitting the low signal of the third read data. 제3항에 있어서, 상기 레지스터 파일은,The method of claim 3, wherein the register file, 상기 기입 제어신호에 응답하여 턴 온되어 상기 기입 데이터를 출력하는 복수의 전송 게이트들;A plurality of transmission gates turned on in response to the write control signal to output the write data; 상기 복수의 전송 게이트들 각각에 연결되며, 상기 기입 데이터를 저장하는 복수의 저장 엔트리들; 및A plurality of storage entries, coupled to each of the plurality of transmission gates, for storing the write data; And 상기 복수의 저장 엔트리들과 상기 제1 내지 상기 제3 출력단자들 사이에 각각 연결되며, 상기 독출 제어신호에 응답하여 상기 독출 데이터를 상기 제1 내지 상기 제3 출력단자들 중 어느 하나로 출력하는 복수의 출력 드라이버 그룹들을 구비하는 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.A plurality of storage entries connected between the plurality of storage entries and the first to third output terminals, respectively, for outputting the read data to any one of the first to third output terminals in response to the read control signal. And a register bank circuit for improving the operation speed of the microprocessor. 제5항에 있어서, 상기 복수의 저장 엔트리들 각각은,The method of claim 5, wherein each of the plurality of storage entries, 상기 기입 데이터를 저장하며, 직렬 연결되는 복수의 저장셀들을 포함하는 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.And a plurality of storage cells which store the write data and are connected in series. 제6항에 있어서, 상기 복수의 출력 드라이버 그룹들 각각은,The method of claim 6, wherein each of the plurality of output driver groups, 상기 복수의 저장셀들 각각의 입력 및 출력과 상기 제1 내지 상기 제3 출력단자들 사이에 연결되며, 상기 복수의 저장셀들의 상기 기입 데이터 신호와 상기 독출 데이터 신호에 각각 응답하여 상기 독출 데이터를 상기 제1 내지 상기 제3 출력단자들 중 어느 하나로 출력하는 복수의 출력 드라이버 회로들을 포함하는 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.The read data is connected between an input and an output of each of the plurality of storage cells and the first to third output terminals, respectively, in response to the write data signal and the read data signal of the plurality of storage cells. And a plurality of output driver circuits output to any one of the first to third output terminals. 제7항에 있어서, 상기 복수의 출력 드라이버 회로들 각각은,The method of claim 7, wherein each of the plurality of output driver circuits, 상기 복수의 저장셀들 중 하나의 저장셀의 출력과 상기 제1 버스 사이에 연결되며, 상기 독출 제어신호 중 제1 독출 제어신호에 응답하여 턴 온되는 제1 출력 드라이버;A first output driver connected between an output of one of the plurality of storage cells and the first bus and turned on in response to a first read control signal of the read control signals; 상기 저장셀의 입력과 상기 제2 버스 사이에 연결되며, 상기 제1 독출 제어신호에 응답하여 턴 온되는 제2 출력 드라이버;A second output driver connected between the input of the storage cell and the second bus and turned on in response to the first read control signal; 상기 저장셀의 출력과 상기 제3 버스 사이에 연결되며, 상기 독출 제어신호 중 제2 독출 제어신호에 응답하여 턴 온되는 제3 출력 드라이버;A third output driver connected between an output of the storage cell and the third bus and turned on in response to a second read control signal of the read control signals; 상기 저장셀의 입력과 상기 제4 버스 사이에 연결되며, 상기 제2 독출 제어신호에 응답하여 턴 온되는 제4 출력 드라이버;A fourth output driver connected between the input of the storage cell and the fourth bus and turned on in response to the second read control signal; 상기 저장셀의 출력과 상기 제5 버스 사이에 연결되며, 상기 독출 제어신호 중 제3 독출 제어신호에 응답하여 턴 온되는 제5 출력 드라이버; 및A fifth output driver connected between an output of the storage cell and the fifth bus and turned on in response to a third read control signal of the read control signals; And 상기 저장셀의 입력과 상기 제6 버스 사이에 연결되며, 상기 제3 독출 제어신호에 응답하여 턴 온되는 제6 출력 드라이버를 포함하는 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.And a sixth output driver connected between the input of the storage cell and the sixth bus and turned on in response to the third read control signal. 제8항에 있어서, 상기 복수의 저장 엔트리들 각각은,The method of claim 8, wherein each of the plurality of storage entries, 상기 복수의 저장셀들 각각의 출력에 연결되며, 상기 독출 데이터 신호를 반전시켜 출력하는 복수의 제1 인버터들; 및A plurality of first inverters connected to outputs of each of the plurality of storage cells and outputting the read data signal by inverting the read data signals; And 상기 복수의 저장셀들 각각의 입력에 연결되며, 상기 기입 데이터 신호를 반전시켜 출력하는 복수의 제2 인버터들을 더 포함하는 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.And a plurality of second inverters connected to an input of each of the plurality of storage cells and inverting and outputting the write data signal. 제9항에 있어서,The method of claim 9, 상기 복수의 제1 인버터들 각각은,Each of the plurality of first inverters, 상기 제1, 상기 제3, 상기 제5 출력 드라이버들과 더 연결되고, 상기 독출 데이터 신호에 따라 상기 제1, 상기 제3, 상기 제5 출력 드라이버들을 각각 구동하며,Further connected to the first, third, and fifth output drivers, respectively driving the first, third, and fifth output drivers according to the read data signal, 상기 복수의 제2 인버터들 각각은,Each of the plurality of second inverters, 상기 제2, 상기 제4, 상기 제6 출력 드라이버들과 더 연결되고, 상기 기입 데이터 신호에 따라 상기 제2, 상기 제4, 상기 제6 출력 드라이버들을 각각 구동하는 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.The microprocessor is further connected to the second, fourth, and sixth output drivers, and drives the second, fourth, and sixth output drivers according to the write data signal. Register bank circuit to improve speed. 제10항에 있어서, 상기 제1 내지 상기 제6 출력 드라이버들 각각은,The method of claim 10, wherein each of the first to sixth output drivers, 복수의 엔모스 트랜지스터들을 포함하는 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.A register bank circuit for improving the operation speed of a microprocessor, comprising a plurality of NMOS transistors. 제8항에 있어서, 상기 키퍼회로는,The method of claim 8, wherein the keeper circuit, 상기 제1 데이터 버스를 통하여 상기 제1 출력단자에 연결되며, 상기 제1 독출 데이터의 전압레벨을 상기 소정시간 동안 유지하는 제1 키퍼회로;A first keeper circuit connected to the first output terminal through the first data bus and maintaining a voltage level of the first read data for the predetermined time; 상기 제2 데이터 버스를 통하여 상기 제2 출력단자에 연결되며, 상기 제2 독출 데이터의 전압레벨을 상기 소정시간 동안 유지하는 제2 키퍼회로; 및A second keeper circuit connected to the second output terminal through the second data bus and maintaining a voltage level of the second read data for the predetermined time; And 상기 제3 데이터 버스를 통하여 상기 제3 출력단자에 연결되며, 상기 제3 독출 데이터의 전압레벨을 상기 소정시간 동안 유지하는 제3 키퍼회로를 포함하는 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.And a third keeper circuit connected to the third output terminal through the third data bus, the third keeper circuit maintaining the voltage level of the third read data for the predetermined time period. Register bank circuit. 제12항에 있어서, 상기 제1 내지 상기 제3 키퍼회로들 각각은,The method of claim 12, wherein each of the first to third keeper circuits, 복수의 피모스 트랜지스터들을 포함하는 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.A register bank circuit for improving the operation speed of a microprocessor, characterized in that it comprises a plurality of PMOS transistors. 제13항에 있어서, 상기 프리차지 회로는,The method of claim 13, wherein the precharge circuit, 상기 프리차지 제어신호 중 제1 프리차지 제어신호에 응답하여 상기 제1 데이터 버스를 상기 내부 전압 레벨로 프리차지 하는 제1 프리차지 회로;A first precharge circuit configured to precharge the first data bus to the internal voltage level in response to a first precharge control signal among the precharge control signals; 상기 프리차지 제어신호 중 제2 프리차지 제어신호에 응답하여 상기 제2 데이터 버스를 상기 내부 전압 레벨로 프리차지 하는 제2 프리차지 회로; 및A second precharge circuit configured to precharge the second data bus to the internal voltage level in response to a second precharge control signal among the precharge control signals; And 상기 프리차지 제어신호 중 제3 프리차지 제어신호에 응답하여 상기 제3 데이터 버스를 상기 내부 전압 레벨로 프리차지 하는 제3 프리차지 회로를 포함하는것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.And a third precharge circuit configured to precharge the third data bus to the internal voltage level in response to a third precharge control signal among the precharge control signals. Bank circuit. 제14항에 있어서,The method of claim 14, 상기 제1 프리차지 제어신호는 상기 제1 독출 제어신호가 활성 상태일 때, 비활성 상태이고,The first precharge control signal is inactive when the first read control signal is in an active state, 상기 제2 프리차지 제어신호는 상기 제2 독출 제어신호가 활성 상태일 때, 비활성 상태이고,The second precharge control signal is inactive when the second read control signal is active, 상기 제3 프리차지 제어신호는 상기 제3 독출 제어신호가 활성 상태일 때, 비활성 상태인 것을 특징으로 하는 마이크로 프로세서의 동작속도를 향상시키는 레지스터 뱅크 회로.And the third precharge control signal is inactive when the third read control signal is in an active state.
KR1020020077037A 2002-12-05 2002-12-05 A register bank circuit for elevating operation speed of a microprocessor KR20040049177A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020077037A KR20040049177A (en) 2002-12-05 2002-12-05 A register bank circuit for elevating operation speed of a microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020077037A KR20040049177A (en) 2002-12-05 2002-12-05 A register bank circuit for elevating operation speed of a microprocessor

Publications (1)

Publication Number Publication Date
KR20040049177A true KR20040049177A (en) 2004-06-11

Family

ID=37343680

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020077037A KR20040049177A (en) 2002-12-05 2002-12-05 A register bank circuit for elevating operation speed of a microprocessor

Country Status (1)

Country Link
KR (1) KR20040049177A (en)

Similar Documents

Publication Publication Date Title
US5991209A (en) Split sense amplifier and staging buffer for wide memory architecture
KR0141494B1 (en) High speed sensor system using a level shift circuit
US5107465A (en) Asynchronous/synchronous pipeline dual mode memory access circuit and method
KR100228339B1 (en) Multi-port access memory for sharing read port and write port
US9948303B2 (en) High speed voltage level shifter
US20180006650A1 (en) High speed voltage level shifter
US7834663B2 (en) NAND/NOR registers
US4800300A (en) High-performance, CMOS latch for improved reliability
US7958418B2 (en) Circuit arrangement, electronic mechanism, electrical turn out and procedures for the operation of one circuit arrangement
US5636161A (en) Eprom bit-line interface for implementing programming, verification and testing
US6965261B2 (en) Ultra low-power data retention latch
KR0155986B1 (en) Semiconductor memory device
US6484231B1 (en) Synchronous SRAM circuit
US6920068B2 (en) Semiconductor memory device with modified global input/output scheme
US7164293B2 (en) Dynamic latch having integral logic function and method therefor
EP0442116A2 (en) Pipeline method and apparatus
US10418079B1 (en) Register file bit cells with integrated multiplexer
US20100315126A1 (en) Dynamic circuit with slow mux input
US20050083093A1 (en) Flip-flop
KR20040049177A (en) A register bank circuit for elevating operation speed of a microprocessor
EP1391813A1 (en) Processor system and method providing data to selected sub-units in a processor functional unit
CN112133340A (en) Dual-mode input single event effect resistant SRAM (static random Access memory) quick reading circuit structure
KR20010004538A (en) Data register circuit of semiconductor memory device
US20030117880A1 (en) Pseudo-static single-ended cache cell
US6434071B1 (en) Circuit and method of selectively activating feedback devices for local bit lines in a memory

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination