KR20070000941A - Bridge apparatus - Google Patents

Bridge apparatus Download PDF

Info

Publication number
KR20070000941A
KR20070000941A KR1020050056620A KR20050056620A KR20070000941A KR 20070000941 A KR20070000941 A KR 20070000941A KR 1020050056620 A KR1020050056620 A KR 1020050056620A KR 20050056620 A KR20050056620 A KR 20050056620A KR 20070000941 A KR20070000941 A KR 20070000941A
Authority
KR
South Korea
Prior art keywords
address
bus
read command
burst read
data
Prior art date
Application number
KR1020050056620A
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 KR1020050056620A priority Critical patent/KR20070000941A/en
Publication of KR20070000941A publication Critical patent/KR20070000941A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)

Abstract

A bridge device is provided to improve performance of a processor by reducing an access frequency to a memory unit while interfacing the processor exchanging data through the first bus and the memory unit exchanging the data through the second bus. The first state part(21) generates the second burst read command for the first address according to the first burst read command and the second address corresponding to the next address, and outputs the generated second burst read command to the memory unit(40) through the second bus(60) if a command received from a MIPS(Microprocessor without Interlocked Pipeline Stages) CPU(10) through the first bus(50) is the first burst read command. The second state part(24) stores the data of the second address received from the memory unit to a read buffer(27) by responding to the second burst read command. If the third burst read command is received from the CPU and the third address is matched with the second address, the second state part interrupts a process of the third burst read command and outputs the data of the second address stored in the read buffer to the CPU through the first bus.

Description

브릿지장치{BRIDGE APPARATUS}Bridge device {BRIDGE APPARATUS}

도 1은 종래의 브릿지장치의 구성을 도시한 도면이고,1 is a view showing the configuration of a conventional bridge device,

도 2는 본 발명에 따른 브릿지장치의 제어블럭도이고.2 is a control block diagram of a bridge device according to the present invention.

도 3은 도 2의 브릿지장치의 프리패치 검출부의 일 예를 도시한 도면이고,3 is a diagram illustrating an example of a prefetch detector of the bridge device of FIG. 2;

도 4는 도 3의 프리패치 검출부의 각 논리 게이트의 출력을 나타낸 도면이다.4 is a diagram illustrating an output of each logic gate of the prefetch detector of FIG. 3.

*도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

10 : MIPS CPU 20 : 브릿지장치10: MIPS CPU 20: Bridge device

21 : 제1 스테이트부 22 : 제1 스테이트 머신21: First state unit 22: First state machine

23 : 버스 인터페이스부 24 : 제2 스테이트부23: bus interface unit 24: second state unit

25 : 프리패치 검출부 26 : 제2 스테이트 머신25: prefetch detector 26: second state machine

27 : 리드 버퍼 40 : 메모리 유닛27: read buffer 40: memory unit

41 : 메모리 컨트롤러 42 : 메모리41: memory controller 42: memory

50 : 제1 버스 60 : 제2 버스50: first bus 60: second bus

본 발명은 브릿지장치에 관한 것으로서, 보다 상세하게는, 제1 버스를 통해 데이터 를 교환하는 프로세서와 제2 버스를 통해 데이터를 교환하는 메모리 유닛 간을 인터페이스하는데 있어 메모리 유닛으로의 액세스(Access) 횟수를 감소시켜 프로세서의 성능을 향상시킬 수 있는 브릿지장치에 관한 것이다.The present invention relates to a bridge device, and more particularly, to the number of accesses to a memory unit in the interface between a processor exchanging data over a first bus and a memory unit exchanging data over a second bus. It relates to a bridge device that can improve the performance of the processor by reducing the.

근래에 복합기 등과 같은 프린팅 장치는 그 성능 향상으로 인해, 마이크로프로세서, 메모리, 입출력부(UARTs) 등과 같은 컴퓨터의 구성이 다수 적용되고 있다.Recently, a printing device such as a multifunction device has improved its performance, and many computer configurations such as microprocessors, memory, and input / output units (UARTs) have been applied.

일 예로, MIPS(Microprocessor without Interlocked Pipeline Stages) CPU와, SDRAM이나 DDR 램 등의 메모리, 메모리를 제어하기 위한 메모리 컨트롤러 등을 포함하고 있다.For example, it includes a microprocessor without interlocked pipeline stages (MIPS) CPU, memory such as SDRAM or DDR RAM, and a memory controller for controlling the memory.

또한, 프린팅 장치에서는 메모리 컨트롤러를 비롯한 다수의 기능을 하나로 통합한 단일의 시스템-온-칩(System-on-chip)이 사용되고 있는데, 이러한 시스템-온-칩을 구성하는 기능 블록 간을 연결과 그 취급을 위한 기술을 규정한 프로토콜 또는 스펙(Specification)이 제안되고 있다.In addition, a printing system uses a single system-on-chip that integrates a number of functions, including a memory controller, into and out of the functional blocks that make up the system-on-chip. Protocols or specifications that specify techniques for handling have been proposed.

이러한, 프로토콜 또는 스펙 중 하나가 AMBA(Advanced Microcontroller Bus Architecture) 온-칩 버스(on-chip bus) 스펙이 있다. 시스템-온-칩의 각 기능 블록들은 AMBA 프로토콜, 특히 AMBA AHB(Advanced high-performance bus) 프로토콜에 따라 데이터통신을 수행할 수 있다.One such protocol or specification is the Advanced Microcontroller Bus Architecture (AMBA) on-chip bus specification. Each functional block of the system-on-chip can perform data communication according to AMBA protocol, in particular AMBA Advanced high-performance bus (AHB) protocol.

이러한, 시스템-온-칩의 기능 블록에는 AMBA AHB 프로토콜과는 다른 프로토콜에 따라 데이터를 교환하는 장치와의 인터페이스를 위한 브릿지장치가 마련된다.The function block of the system-on-chip is provided with a bridge device for interfacing with a device exchanging data according to a protocol different from the AMBA AHB protocol.

일 예로, 도 1에 도시된 바와 같이, MIPS CPU의 경우 SysAD 버스 규격에 따라 데이 터를 교환하는 바, 시스템-온-칩의 기능 블록에는 AMBA AHB와 SysAD 버스 간을 인터페이스하기 위한 브릿지장치가 마련된다.For example, as illustrated in FIG. 1, in the case of the MIPS CPU, data is exchanged according to the SysAD bus standard. A function unit of the system-on-chip includes a bridge device for interfacing the AMBA AHB and the SysAD bus. do.

여기서, MIPS CPU는 Cache Data Read를 위해 버스트 리드(Burst Read) 명령을 SysAD 버스를 통해 브릿지장치에 전달한다. 그리고, 브릿지장치는 SysAD 버스 규격에 따라 MIPS CPU로부터 전달된 버스트 리드 명령을 AMBA AHB 규격에 따른 버스트 리드 명령으로 전환하여 AMBA AHB를 통해 메모리 컨트롤러로 전달한다.Here, the MIPS CPU transmits a burst read command to the bridge device through the SysAD bus for cache data read. The bridge device converts the burst read command from the MIPS CPU into a burst read command according to the AMBA AHB standard according to the SysAD bus standard, and transmits the burst read command to the memory controller through the AMBA AHB.

그리고, 메모리 컨트롤러는 수신된 버스트 리드 명령에 따라 해당 주소의 데이터 블록을 메모리로부터 읽어들여 AMBA AHB를 통해 브릿지장치로 전달하고, 브릿지장치는 전달된 데이터 블록을 SysAD 버스를 통해 MIPS CPU로 전달한다.The memory controller reads the data block of the corresponding address from the memory according to the received burst read command and transfers the data block to the bridge device through the AMBA AHB. The bridge device delivers the transferred data block to the MIPS CPU through the SysAD bus.

이러한 MIPS CPU가 한번에 256bit의 데이터를 읽어들일 수 있다고 가정하는 경우 256bit 단위로 메모리 컨트롤러에 데이터를 요청하게 되는 바, 256bit 단위로 브릿지장치가 메모리 컨트롤러에 액세스하게 된다.If the MIPS CPU is able to read 256 bits of data at a time, the data is requested to the memory controller in 256-bit units, and the bridge device accesses the memory controller in 256-bit units.

이 때, MIPS CPU의 버스트 리드 명령에 대해 브릿지장치가 메모리 컨트롤러에 액세스하는 횟수를 줄일 수 있다면 MIPS CPU의 성능을 향상시킬 수 있어 바람직할 것이다.At this time, if the number of times the bridge device accesses the memory controller with respect to the burst read command of the MIPS CPU can be reduced, it is desirable to improve the performance of the MIPS CPU.

본 발명의 목적은 메모리 유닛으로의 액세스(Access) 횟수를 감소시켜 프로세서의 성능을 향상시킬 수 있는 브릿지장치를 제공하는 것이다.An object of the present invention is to provide a bridge device that can improve the performance of the processor by reducing the number of access (Access) to the memory unit.

상기 목적은 본 발명에 따라, 제1 버스를 통해 데이터를 교환하는 프로세서와, 제2 버스를 통해 데이터를 교환하는 메모리 유닛 간을 인터페이스하는 브릿지장치에 있어서, 리드 버퍼와; 상기 제1 버스를 통해 상기 프로세서로부터 수신되는 명령이 제1 버스트 리드 명령인 경우, 상기 제1 버스트 리드 명령에 따른 제1 번지와 그 다음 번지에 해당하는 제2 번지에 대한 제2 버스트 리드 명령을 생성하여 상기 제2 버스를 통해 상기 메모리 유닛으로 출력하는 제1 스테이트부와; 상기 제2 버스트 리드 명령에 응답하여 상기 메모리 유닛으로부터 수신되는 상기 제2 번지의 데이터를 상기 리드 버퍼에 저장하고, 상기 제1 버스를 통해 상기 프로세서로부터 제3 버스트 리드 명령이 수신되는 경우 상기 제3 버스트 리드 명령에 따른 제3 번지가 상기 제2 번지와 일치하는지 여부를 판단하고, 상기 제3 번지가 상기 제2 번지와 일치하는 경우 상기 제1 스테이트부에 의한 상기 제3 버스트 리드 명령의 처리를 차단하고 상기 리드 버퍼에 저장된 상기 제2 번지의 데이터를 상기 제1 버스를 통해 상기 프로세서로 출력하는 제2 스테이트부를 포함하는 것을 특징으로 하는 브릿지장치에 의해 달성될 수 있다.According to the present invention, there is provided a bridge apparatus for interfacing a processor for exchanging data over a first bus and a memory unit for exchanging data over a second bus, comprising: a read buffer; When the command received from the processor through the first bus is a first burst read command, a second burst read command for a first address corresponding to the first burst read command and a second address corresponding to the next address may be generated. A first state unit which generates and outputs the output to the memory unit through the second bus; Storing the data of the second address received from the memory unit in the read buffer in response to the second burst read command, and receiving a third burst read command from the processor through the first bus. It is determined whether the third address according to the burst read command coincides with the second address, and when the third address coincides with the second address, processing of the third burst read command by the first state unit is performed. And a second state unit for blocking and outputting data of the second address stored in the read buffer to the processor through the first bus.

여기서, 상기 제1 스테이트부는 상기 제1 스테이트부에 의해 상기 제3 번지가 상기 제2 번지와 일치하지 않는 것으로 판단된 경우, 상기 제3 버스트 리드 명령에 따른 제3 번지와 그 다음 번지에 해당하는 제4 번지에 대한 제4 버스트 리드 명령을 생성하여 상기 제2 버스를 통해 상기 메모리 유닛으로 출력할 수 있다.Here, when it is determined that the third address does not coincide with the second address by the first state part, the first state part corresponds to a third address and a next address according to the third burst read command. A fourth burst read command for the fourth address may be generated and output to the memory unit through the second bus.

그리고, 상기 프로세서는 MIPS(Microprocessor without interlocked pipeline stages)를 포함하고, 상기 제1 버스는 SysAD 버스를 포함하고, 상기 제2 버스는 AMBA AHB(Advanced Microcontroller Bus Architecture Advanced High-performance Bus)를 포함하며, 상기 메모리 유닛은 AMBA(Advanced Microcontroller Bus Architecture) 프로토콜을 지원할 수 있다.The processor includes microprocessor without interlocked pipeline stages (MIPS), the first bus includes a SysAD bus, the second bus includes an AMBA Advanced Microcontroller Bus Architecture Advanced High-performance Bus (AMB AHB), The memory unit may support the Advanced Microcontroller Bus Architecture (AMBA) protocol.

그리고, 상기 제2 스테이트부는 상기 제2 번지와 상기 제3 번지가 일치하는지 여부를 상기 제2 번지 및 상기 제3 번지의 어드레스를 비교하여 판단할 수 있다.The second state unit may determine whether the second address is identical to the third address by comparing the addresses of the second address and the third address.

여기서, 상기 제2 스테이트부는, 상기 제2 버스트 리드 명령에 응답하여 상기 메모리 유닛으로부터 수신되는 상기 제1 번지의 데이터를 상기 리드 버퍼에 저장하고; 상기 제3 번지가 상기 제1 번지와 일치하는 경우, 상기 제1 스테이트부에 의한 상기 제3 버스트 리드 명령의 처리를 차단하고 상기 리드 버퍼에 저장된 상기 제1 번지의 데이터를 상기 제1 버스를 통해 상기 프로세서로 출력할 수 있다.Wherein the second state unit stores data of the first address received from the memory unit in response to the second burst read command in the read buffer; If the third address is identical to the first address, the processing of the third burst read command by the first state unit is interrupted and data of the first address stored in the read buffer is transmitted through the first bus. Output to the processor.

이하, 첨부된 도면을 참조하여 본 발명에 관하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail with respect to the present invention.

본 발명에 따른 브릿지장치(20)는, 도 2에 도시된 바와 같이, 프로세서와 메모리 유닛(40) 간을 인터페이스한다. 여기서, 본 발명에 따른 프로세서는 MIPS(Microprocessor without interlocked pipeline stages) CPU(10)이고, 메모리 유닛(40)은 데이터가 저장되는 SDRAM이나 DDR RAM 등의 메모리(42)와 메모리(42)에 데이터를 기록(Write)하거나 메모리(42)의 데이터를 독출(Read)하는 메모리 컨트롤러(41)를 포함하는 것을 일 예로 한다.The bridge device 20 according to the present invention, as shown in FIG. 2, interfaces between the processor and the memory unit 40. Herein, the processor according to the present invention is a microprocessor without interlocked pipeline stages (MIPS) CPU 10, and the memory unit 40 stores data in the memory 42 and the memory 42, such as SDRAM or DDR RAM, in which data is stored. For example, the memory controller 41 may include a memory controller 41 that writes or reads data of the memory 42.

MIPS CPU(10)는 제1 버스(50)를 통해 데이터를 교환하고, 메모리 컨트롤러(41)는 제2 버스(60)를 통해 데이터를 교환한다. 그리고, 본 발명에 따른 브릿지장치(20)는 제1 버스(50)와 제2 버스(60) 간을 인터페이스한다. 여기서, 제1 버스(50)는 SysAD 버스이고, 제2 버스(60)는 AMBA AHB(Advanced Microcontroller Bus Architecture Advanced High-performance Bus)인 것을 일 예로 한다. 이에 따라, 메모리 컨트롤러(41)는 AMBA(Advanced Microcontroller Bus Architecture) 프로토콜을 지원한다.The MIPS CPU 10 exchanges data through the first bus 50, and the memory controller 41 exchanges data through the second bus 60. In addition, the bridge device 20 according to the present invention interfaces the first bus 50 and the second bus 60. Here, the first bus 50 is a SysAD bus, and the second bus 60 is an example of an Advanced Microcontroller Bus Architecture Advanced High-performance Bus (AMBA AHB). Accordingly, the memory controller 41 supports the AMBA (Advanced Microcontroller Bus Architecture) protocol.

본 발명에 따른 브릿지장치(20)는 리드 버퍼(27), 제1 스테이트부(21), 및 제2 스테이트부(24)를 포함한다.The bridge device 20 according to the present invention includes a read buffer 27, a first state portion 21, and a second state portion 24.

제1 스테이트부(21)는 MIPS CPU(10)로부터 제1 버스(50)를 통해 수신되는 데이터 및 명령을 제2 버스(60) 규격에 따라 변환하여 제2 버스(60)로 출력한다.The first state unit 21 converts data and commands received from the MIPS CPU 10 through the first bus 50 according to the second bus 60 standard and outputs the converted data to the second bus 60.

또한, 제1 스테이트부(21)는 제1 버스(50)를 통해 MIPS CPU(10)로부터 수신되는 명령이 버스트 리드 명령(이하, '제1 버스트 리드 명령'이라 함)인 경우, 제1 버스트 리드 명령에 따른 제1 번지와 그 다음 번지에 해당하는 제2 번지에 대한 버스트 리드 명령(이하, '제2 버스트 리드 명령'이라 함)을 생성하여 제2 버스(60)를 통해 메모리 컨트롤러(41)로 출력한다.In addition, when the command received from the MIPS CPU 10 through the first bus 50 is a burst read command (hereinafter, referred to as a “first burst read command”), the first state unit 21 may provide a first burst. A burst read command (hereinafter, referred to as a second burst read command) for the first address and the second address corresponding to the read command is generated to generate a burst controller (41) through the second bus 60. )

예컨대, MIPS CPU(10)로부터 64bit*4 비트의 블록 데이터에 대한 제1 버스트 리드 명령이 수신되는 경우, 제2 버스(60) 규격에 따른 128bit*4 비트의 블록 데이터에 대한 제2 버스트 리드 명령을 생성하여 제2 버스(60)를 통해 메모리 컨트롤러(41)로 출력한다.For example, when the first burst read command is received from the MIPS CPU 10 for block data of 64 bits * 4 bits, the second burst read command for block data of 128 bits * 4 bits according to the second bus 60 standard. Is generated and output to the memory controller 41 through the second bus 60.

여기서, 본 발명에 따른 제1 스테이트부(21)는 제1 버스(50)를 통해 전달되는 명령의 상태(State)를 구분하는 제1 스테이트 머신(22)과, 제1 스테이트 머신(22)으로부터 전달되는 명령을 제1 버스(50) 규격 상의 명령으로 변환하여 출력하는 버스 인터페이스부(23)를 포함할 수 있다. 여기서, 버스 인터페이스부(23)는 제1 스테 이트 머신(22)에 의해 MIPS CPU(10)로부터 수신되는 명령이 제1 버스트 리드 명령인 것으로 판단되는 경우 제1 버스트 리드 멸영을 제2 버스트 리드 명령으로 변환하여 출력한다.Here, the first state unit 21 according to the present invention is from the first state machine 22 and the first state machine 22 for distinguishing the state of the command transmitted through the first bus 50. It may include a bus interface unit 23 for converting the command transmitted to the command on the first bus 50 standard and outputs. Here, when the bus interface unit 23 determines that the command received from the MIPS CPU 10 by the first state machine 22 is the first burst read command, the bus interface unit 23 sets the first burst read erase to the second burst read command. Convert to and print it out.

메모리 컨트롤러(41)는 제2 버스트 리드 명령에 따라 메모리(42)로부터 제1 번지 및 제2 번지에 기록된 데이터를 읽어들여 제2 버스(60)를 통해 브릿지장치(20)에 전달한다.The memory controller 41 reads data written in the first address and the second address from the memory 42 according to the second burst read command and transfers the data written to the bridge device 20 through the second bus 60.

여기서, 제1 스테이트 머신(22)은 버스 인터페이스부(23)를 통해 수신되는 제1 번지의 데이터를 제1 버스(50)를 통해 MIPS CPU(10)에 전달한다.Here, the first state machine 22 transmits data of the first address received through the bus interface unit 23 to the MIPS CPU 10 through the first bus 50.

한편, 제2 스테이트부(24)는 제2 버스트 리드 명령에 대한 응답으로 메모리 컨트롤러(41)로부터 수신되는 제2 번지의 데이터를 리드 버퍼(27)에 저장한다.Meanwhile, the second state unit 24 stores the data of the second address received from the memory controller 41 in the read buffer 27 in response to the second burst read command.

또한, 제2 스테이트부(24)는 제1 버스(50)를 통해 버스트 리드 명령(이하, '제3 버스트 리드 명령'이라 함)이 수신되는 경우, 제2 버스트 리드 명령에 따른 번지(이하, '제3 번지'라 함)가 제2 번지와 일치하는지 여부를 판단한다.In addition, when the second state unit 24 receives a burst read command (hereinafter, referred to as a 'third burst read command') through the first bus 50, the address according to the second burst read command (hereinafter, It is determined whether or not the 'third address' corresponds to the second address.

그리고, 제3 번지가 제2 번지와 일치하는 경우 제1 스테이트에 의한 제2 버스트 리드 명령의 처리를 차단하고, 리드 버퍼(27)에 저장된 제2 번지의 데이터를 제1 버스(50)를 통해 MIPS CPU(10)로 출력한다. 이에 따라, 제1 버스트 리드 명령에 따라 메모리(42)로부터 미리 독출되어 리드 버퍼(27)에 저장한 데이터를 제3 버스트 리드 명령에 응답하여 MIPS CPU(10)로 출력하고, 제1 스테이트부(21)의 메모리 컨트롤러(41)의 액세스를 차단함으로써, MIPS CPU(10)로의 데이터 전송 속도가 빨라지게 되고, 결과적으로 MIPS CPU(10)의 성능 향상 효과를 가져오게 된다.When the third address matches the second address, the processing of the second burst read command by the first state is interrupted, and the data of the second address stored in the read buffer 27 is stored through the first bus 50. Output to the MIPS CPU 10. Accordingly, data read in advance from the memory 42 and stored in the read buffer 27 according to the first burst read command is output to the MIPS CPU 10 in response to the third burst read command, and the first state unit ( By blocking the access of the memory controller 41 of 21, the data transfer speed to the MIPS CPU 10 becomes faster, resulting in an effect of improving the performance of the MIPS CPU 10.

반면, 제2 스테이트부(24)는 제3 번지가 제2 번지와 일치하지 않는 것으로 판단된 경우 이를 제1 스테이트부(21)에 통지한다. 이 때, 제1 스테이트부(21)는 제2 스테이트부(24)에 의해 제3 번지가 제2 번지와 일치하지 않는 것으로 판단된 경우, 제3 버스트 리드 명령에 따른 제3 번지와 그 다음 번지(이하, '제4 번지'라 함)에 대한 제4 버스트 리드 명령을 생성한다. 그리고, 제1 스테이트부(21)는 생성된 제4 버스트 리드 명령을 제2 버스(60)를 통해 메모리 컨트롤러(41)로 출력함으로써, 리드 버퍼(27)에 제3 번지 및 제4 번지의 데이터가 갱신되도록 한다.On the other hand, if it is determined that the third address does not match the second address, the second state unit 24 notifies the first state unit 21 of this. At this time, when the first state 21 determines that the third address does not coincide with the second address by the second state 24, the third address and the next address according to the third burst read command are used. Generate a fourth burst read command for (hereinafter referred to as 'fourth address'). The first state unit 21 outputs the generated fourth burst read command to the memory controller 41 through the second bus 60, thereby providing data of the third and fourth addresses to the read buffer 27. To be updated.

한편, 본 발명에 따른 제2 스테이트부(24)는 제2 버스트 리드 명령에 대한 응답으로 수신되는 제1 번지의 데이터도 제2 번지의 데이터와 함께 리드 버퍼(27)에 저장할 수 있다.Meanwhile, the second state unit 24 according to the present invention may store the data of the first address received in response to the second burst read command in the read buffer 27 together with the data of the second address.

그리고, 제2 스테이트부(24)는 제3 번지가 제1 번지와 일치하는 경우에는 리드 버퍼(27)에 저장된 제1 번지의 데이터를 제1 버스(50)를 통해 MIPS CPU(10)로 출력한다. 이 경우, 제2 스테이트부(24)는 제1 스테이트부(21)에 의한 제3 버스트 리드 명령의 처리를 차단한다.When the third address matches the first address, the second state unit 24 outputs the data of the first address stored in the read buffer 27 to the MIPS CPU 10 through the first bus 50. do. In this case, the second state unit 24 interrupts the processing of the third burst read command by the first state unit 21.

여기서, 제2 스테이트부(24)는 리드 버퍼(27)에 데이터를 기록하거나 독출하는 제2 스테이트 머신(26)과, MIPS CPU(10)로부터의 명령을 분석하여 전술한 바와 같이 제3 번지와 제2 번지가 일치하는지 여부를 검토하여 제2 스테이트 머신(26)에 통지하는 프리패치 검출부(25)를 포함할 수 있다.Here, the second state unit 24 analyzes the instructions from the second state machine 26 that writes or reads data into the read buffer 27 and the MIPS CPU 10, and analyzes the instructions from the third address as described above. And a prefetch detection unit 25 for checking whether the and the second addresses match and notifying the second state machine 26.

도 3은 본 발명의 일 실시예에 따른 프리패치 검출부(25)의 구성을 도시한 도면이 다. 본 발명에 따른 프리패치 검출부(25)는 제2 번지와 제3 번지가 일치하는지 여부를 제2 번지 및 제3 번지의 어드레스를 비교하여 판단한다.3 is a diagram illustrating a configuration of a prefetch detector 25 according to an embodiment of the present invention. The prefetch detection unit 25 according to the present invention compares the addresses of the second and third addresses to determine whether the second and third addresses match.

여기서, 본 발명에 따른 메모리(42)는 32 바이트(byte)를 하나의 번지에 저장하고, 해당 번지의 어드레스는 16진수로 표현되는 것을 일 예로 한다. 따라서, 메모리(42)의 순차적인 번지들의 어드레스는 '00', '20', '40', '60',...... 순을 갖는다. 그리고, 각 어드레스 값은 2진수로'000000', '100000', '1000000', '1100000',......로 표현된다.Here, the memory 42 according to the present invention stores 32 bytes in one address, and the address of the address is expressed in hexadecimal as an example. Thus, addresses of sequential addresses of the memory 42 have the order of '00', '20', '40', '60',... Each address value is represented by binary '000000', '100000', '1000000', '1100000',...

상기 어드레스 값을 분석하면, 아래 [표 1]에 나타난 바와 같이, 각 어드레스 값의 5번째 값이 인접 번지의 값과 다름을 알 수 있다. 그리고, 어드레스 값의 첫 번째에서 네 번째 값은 동일함을 알 수 있다. 따라서, 도 3에서는 어드레스 값의 첫 번째에서 네 번째 값은 비교하지 않아도 무방함을 알 수 있다.Analyzing the address value, as shown in Table 1 below, it can be seen that the fifth value of each address value is different from that of the adjacent address. And, it can be seen that the first to fourth values of the address value are the same. Therefore, in FIG. 3, the first to fourth values of the address values do not need to be compared.

[표 1]TABLE 1

[6][6] [5][5] [4][4] [3][3] [1][One] [0][0] 00 00 00 00 00 00 00 1One 00 00 00 00 1One 00 00 00 00 00 1One 1One 00 00 00 00 ........ ........ ........ ........ ........ ........

도 3을 참조하여 설명하면, 프리패치 검출부(25)는 제2 번지와 제3 번지의 어드레스 값을 비교하기 위한 다수의 논리 게이트를 포함한다.Referring to FIG. 3, the prefetch detector 25 includes a plurality of logic gates for comparing address values of the second address and the third address.

여기서, 프리패치 검출부(25)는 제2 번지 및 제3 번지의 어드레스 값 중 31번째에서 6번째까지의 값을 입력받는 XNOR 게이트(25a)와, 제2 번지 및 제3 번지의 어드레스 값 중 5번째 값을 입력받는 XOR 게이트(25b)를 포함할 수 있다. 그리고, XNOR 게이트(25a) 및 XOR 게이트(25b)의 출력(A,B)을 입력받는 제1 AND 게이트(25c)와, XNOR 게이트(25a)의 출력(A)과 XOR 게이트(25b)의 출력의 반전값(C)을 입력받는 제2 AND 게이트(25d)를 포함할 수 있다.Here, the prefetch detector 25 may include the XNOR gate 25a receiving the 31st to 6th values of the address values of the second and third addresses, and 5 of the address values of the second and third addresses. It may include an XOR gate 25b receiving the second value. The first AND gate 25c receives the outputs A and B of the XNOR gate 25a and the XOR gate 25b, and the output A and the output of the XOR gate 25b of the XNOR gate 25a. It may include a second AND gate (25d) receiving the inverted value (C) of.

여기서, XNOR 게이트(25a)의 출력은, 도 4의 (a)에 도시된 바와 같이, 그 입력이 동일한 경우 논리값 1을 출력하고, 그 입력이 상이한 경우 논리값 0을 출력한다. 여기서, XNOR 게이트(25a)의 출력이 1인 경우에는 제3 번지가 제1 번지 또는 제2 번지 중 어느 하나인 것을 나타낸다. 따라서, XNOR 게이트(25a)의 출력은 제2 스테이트 머신(26)에 인가되고, 제2 스테이트 머신(26)은 제1 스테이트에 의한 제2 버스트 리드 명령의 처리를 차단하게 된다.Here, the output of the XNOR gate 25a outputs a logic value 1 when the inputs are the same, and a logic value 0 when the inputs are different, as shown in Fig. 4A. Here, when the output of the XNOR gate 25a is 1, it indicates that the third address is either the first address or the second address. Therefore, the output of the XNOR gate 25a is applied to the second state machine 26, and the second state machine 26 blocks the processing of the second burst read command by the first state.

한편, XOR 게이트(25b)의 출력은, 도 4의 (b)에 도시된 바와 같이, 제2 번지와 제3 번지의 5번째 값이 동일한 경우 논리값 0을 출력하고, 제2 번지와 제3 번지의 5번째 값이 다른 경우 논리값 1을 출력한다. 여기서, 제2 번지와 제3 번지의 5번째 값이 동일한 경우는 제2 번지와 제3번지가 동일한 번지임을 나타내고, 제2 번지와 제3 번지의 5번째 값이 다른 경우는 제2 번지가 제3 번지와 인접할 수 있음을 나타낸다.On the other hand, as shown in (b) of FIG. 4, the output of the XOR gate 25b outputs a logic value 0 when the fifth value of the second address and the third address are the same, and the second address and the third address. If the 5th value of address is different, the logical value 1 is outputted. Here, when the 5th value of the 2nd address and the 3rd address are the same, it shows that the 2nd address and the 3rd address are the same address, and when the 5th value of the 2nd address and the 3rd address is different, the 2nd address is the 1st address. It may be adjacent to address 3.

따라서, 도 4의 (c)에 도시된 바와 같이, XNOR 게이트(25a)의 출력이 1이고 NOR 게이트의 출력이 0인 경우는, 제1 AND 게이트(25c)의 출력(UPPER)이 0이 되고 제2 AND 게이트(25d)의 출력(LOWER)이 1이 된다. 이 경우, 제2 스테이트 머신(26)은 제3 버스트 리드 명령에 따른 제3 번지가 제1 번지와 동일한 것으로 판단하고, 리드 버퍼(27)에 저장된 제1 번지의 데이터를 제1 버스(50)를 통해 MIPS CPU(10)에 전송한다.Therefore, as shown in FIG. 4C, when the output of the XNOR gate 25a is 1 and the output of the NOR gate is 0, the output UPPER of the first AND gate 25c becomes 0. The output LOWER of the second AND gate 25d becomes one. In this case, the second state machine 26 determines that the third address according to the third burst read command is the same as the first address, and stores data of the first address stored in the read buffer 27 in the first bus 50. It transmits to the MIPS CPU 10 via.

반면, XNOR 게이트(25a)의 출력이 1이고 NOR 게이트의 출력이 1인 경우는, 제1 AND 게이트(25c)의 출력이 1이 되고 제2 AND 게이트(25d)의 출력이 0이 된다. 이 경우, 제2 스테이트 머신(26)은 제3 버스트 리드 명령에 따른 제3 번지가 제2 번지와 동일한 것으로 판단하고, 리드 버퍼(27)에 저장된 제2 번지의 데이터를 제1 버스(50)를 통해 MIPS CPU(10)에 전송한다.On the other hand, when the output of the XNOR gate 25a is 1 and the output of the NOR gate is 1, the output of the first AND gate 25c is 1 and the output of the second AND gate 25d is 0. In this case, the second state machine 26 determines that the third address according to the third burst read command is the same as the second address, and stores data of the second address stored in the read buffer 27 in the first bus 50. It transmits to the MIPS CPU 10 via.

비록 본 발명의 몇몇 실시예들이 도시되고 설명되었지만, 본 발명이 속하는 기술분야의 통상의 지식을 가진 당업자라면 본 발명의 원칙이나 정신에서 벗어나지 않으면서 본 실시예를 변형할 수 있음을 알 수 있을 것이다. 그리고 발명의 범위는 첨부된 청구항과 그 균등물에 의해 정해질 것이다. Although some embodiments of the invention have been shown and described, it will be apparent to those skilled in the art that modifications may be made to the embodiment without departing from the spirit or spirit of the invention. . And the scope of the invention will be defined by the appended claims and equivalents thereof.

상기한 바와 같이, 본 발명에 의하면, 제1 버스를 통해 데이터를 교환하는 프로세서와 제2 버스를 통해 데이터를 교환하는 메모리 유닛 간을 인터페이스하는데 있어 메모리 유닛으로의 액세스(Access) 횟수를 감소시켜 프로세서의 성능을 향상시킬 수 있는 브릿지장치가 제공된다.As described above, according to the present invention, in the interface between the processor exchanging data through the first bus and the memory unit exchanging data through the second bus, the number of accesses to the memory unit is reduced. There is provided a bridge device that can improve the performance of the.

Claims (5)

제1 버스를 통해 데이터를 교환하는 프로세서와, 제2 버스를 통해 데이터를 교환하는 메모리 유닛 간을 인터페이스하는 브릿지장치에 있어서,A bridge device for interfacing between a processor exchanging data via a first bus and a memory unit exchanging data via a second bus, 리드 버퍼와;A read buffer; 상기 제1 버스를 통해 상기 프로세서로부터 수신되는 명령이 제1 버스트 리드 명령인 경우, 상기 제1 버스트 리드 명령에 따른 제1 번지와 그 다음 번지에 해당하는 제2 번지에 대한 제2 버스트 리드 명령을 생성하여 상기 제2 버스를 통해 상기 메모리 유닛으로 출력하는 제1 스테이트부와;When the command received from the processor through the first bus is a first burst read command, a second burst read command for a first address corresponding to the first burst read command and a second address corresponding to the next address may be generated. A first state unit which generates and outputs the output to the memory unit through the second bus; 상기 제2 버스트 리드 명령에 응답하여 상기 메모리 유닛으로부터 수신되는 상기 제2 번지의 데이터를 상기 리드 버퍼에 저장하고, 상기 제1 버스를 통해 상기 프로세서로부터 제3 버스트 리드 명령이 수신되는 경우 상기 제3 버스트 리드 명령에 따른 제3 번지가 상기 제2 번지와 일치하는지 여부를 판단하고, 상기 제3 번지가 상기 제2 번지와 일치하는 경우 상기 제1 스테이트부에 의한 상기 제3 버스트 리드 명령의 처리를 차단하고 상기 리드 버퍼에 저장된 상기 제2 번지의 데이터를 상기 제1 버스를 통해 상기 프로세서로 출력하는 제2 스테이트부를 포함하는 것을 특징으로 하는 브릿지장치.Storing the data of the second address received from the memory unit in the read buffer in response to the second burst read command, and receiving a third burst read command from the processor through the first bus. It is determined whether the third address according to the burst read command coincides with the second address, and when the third address coincides with the second address, processing of the third burst read command by the first state unit is performed. And a second state unit which blocks and outputs data of the second address stored in the read buffer to the processor through the first bus. 제1항에 있어서,The method of claim 1, 상기 제1 스테이트부는 상기 제1 스테이트부에 의해 상기 제3 번지가 상기 제2 번 지와 일치하지 않는 것으로 판단된 경우, 상기 제3 버스트 리드 명령에 따른 제3 번지와 그 다음 번지에 해당하는 제4 번지에 대한 제4 버스트 리드 명령을 생성하여 상기 제2 버스를 통해 상기 메모리 유닛으로 출력하는 것을 특징으로 하는 브릿지장치.When the first state unit determines that the third address does not coincide with the second address by the first state unit, a first address corresponding to the third address and the next address according to the third burst read command is determined. And generating a fourth burst read command for the fourth address and outputting the fourth burst read command to the memory unit through the second bus. 제2항에 있어서,The method of claim 2, 상기 프로세서는 MIPS(Microprocessor without interlocked pipeline stages)를 포함하고, 상기 제1 버스는 SysAD 버스를 포함하고, 상기 제2 버스는 AMBA AHB(Advanced Microcontroller Bus Architecture Advanced High-performance Bus)를 포함하며, 상기 메모리 유닛은 AMBA(Advanced Microcontroller Bus Architecture) 프로토콜을 지원하는 것을 특징으로 하는 브릿지장치.The processor includes Microprocessor without interlocked pipeline stages (MIPS), the first bus comprises a SysAD bus, the second bus comprises an Advanced Microcontroller Bus Architecture Advanced High-performance Bus (AMBA AHB), and the memory The unit is a bridge device characterized in that it supports the AMBA (Advanced Microcontroller Bus Architecture) protocol. 제3항에 있어서,The method of claim 3, 상기 제2 스테이트부는 상기 제2 번지와 상기 제3 번지가 일치하는지 여부를 상기 제2 번지 및 상기 제3 번지의 어드레스를 비교하여 판단하는 것을 특징으로 하는 브릿지장치.And the second state unit compares the addresses of the second address and the third address to determine whether the second address matches the third address. 제4항에 있어서,The method of claim 4, wherein 상기 제2 스테이트부는,The second state portion, 상기 제2 버스트 리드 명령에 응답하여 상기 메모리 유닛으로부터 수신되는 상기 제1 번지의 데이터를 상기 리드 버퍼에 저장하고;Store data of the first address received from the memory unit in the read buffer in response to the second burst read command; 상기 제3 번지가 상기 제1 번지와 일치하는 경우, 상기 제1 스테이트부에 의한 상기 제3 버스트 리드 명령의 처리를 차단하고 상기 리드 버퍼에 저장된 상기 제1 번지의 데이터를 상기 제1 버스를 통해 상기 프로세서로 출력하는 것을 특징으로 하는 브릿지장치.If the third address is identical to the first address, the processing of the third burst read command by the first state unit is interrupted and data of the first address stored in the read buffer is transmitted through the first bus. A bridge device, characterized in that output to the processor.
KR1020050056620A 2005-06-28 2005-06-28 Bridge apparatus KR20070000941A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050056620A KR20070000941A (en) 2005-06-28 2005-06-28 Bridge apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050056620A KR20070000941A (en) 2005-06-28 2005-06-28 Bridge apparatus

Publications (1)

Publication Number Publication Date
KR20070000941A true KR20070000941A (en) 2007-01-03

Family

ID=37868662

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050056620A KR20070000941A (en) 2005-06-28 2005-06-28 Bridge apparatus

Country Status (1)

Country Link
KR (1) KR20070000941A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443122B2 (en) 2009-12-01 2013-05-14 Samsung Electronics Co., Ltd. Asynchronous upsizing circuit in data processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443122B2 (en) 2009-12-01 2013-05-14 Samsung Electronics Co., Ltd. Asynchronous upsizing circuit in data processing system

Similar Documents

Publication Publication Date Title
CN100538674C (en) Be used for apparatus for transmitting data between storer
US6370611B1 (en) Raid XOR operations to synchronous DRAM using a read buffer and pipelining of synchronous DRAM burst read data
US7574541B2 (en) FIFO sub-system with in-line correction
US5649128A (en) Multiple bus interface adapter for connection to a plurality of computer bus architectures
US10133497B1 (en) SPI command censoring method and apparatus
US10042576B2 (en) Method and apparatus for compressing addresses
JP2008033722A (en) Data transfer control device with endian conversion circuit
US11657011B2 (en) Avalon-to-Axi4 bus conversion method
US7809899B2 (en) System for integrity protection for standard 2n-bit multiple sized memory devices
US6754780B1 (en) Providing data in response to a read command that maintains cache line alignment
JP4097883B2 (en) Data transfer apparatus and method
KR20070000941A (en) Bridge apparatus
US20100262763A1 (en) Data access method employed in multi-channel flash memory system and data access apparatus thereof
US20020188771A1 (en) Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof
JP2008102886A (en) Bus control method and device
JPH0283736A (en) Osc detection system for buffer memory controller
JP2007048090A (en) Nand type flash memory device compatible with sequential rom interface, and controller therefor
WO2024027356A1 (en) Electronic apparatus, and method for securely accessing software
US6567320B2 (en) Data write circuit
JP2008033657A (en) Memory control device, information processor and memory control method
KR100259585B1 (en) Dma controller
US20080077745A1 (en) Data processing device
TW202240411A (en) Method for transmitting data and data processing circuit
KR100382466B1 (en) Interface of asynchronous system using fifo
US20190095324A1 (en) Semiconductor device and memory access method

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application
J201 Request for trial against refusal decision
S601 Decision to reject again after remand of revocation