KR20040063454A - apparatus of CPU-PCI bridge embedded having the embedded memory and the embedded memory and method for management of the memory - Google Patents

apparatus of CPU-PCI bridge embedded having the embedded memory and the embedded memory and method for management of the memory Download PDF

Info

Publication number
KR20040063454A
KR20040063454A KR1020030000869A KR20030000869A KR20040063454A KR 20040063454 A KR20040063454 A KR 20040063454A KR 1020030000869 A KR1020030000869 A KR 1020030000869A KR 20030000869 A KR20030000869 A KR 20030000869A KR 20040063454 A KR20040063454 A KR 20040063454A
Authority
KR
South Korea
Prior art keywords
pci
cpu
function module
module
pci bridge
Prior art date
Application number
KR1020030000869A
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 KR1020030000869A priority Critical patent/KR20040063454A/en
Publication of KR20040063454A publication Critical patent/KR20040063454A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • 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
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3856Reordering of instructions, e.g. using queues or age tags

Landscapes

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

Abstract

PURPOSE: A device for integrating a CPU-PCI(Peripheral Component Interconnect) bridge having an integrated memory, the integrated memory, and a method for operating the integrated memory are provided to efficiently use the memory by supporting a CPU-PCI integrating device as storing the data for a CPU function/PCI bridge function module in the memory of the CPU-PCI integrating module. CONSTITUTION: The CPU-PCI bridge integrating module(100) has the CPU function module(110) performing a CPU function and the PCI bridge function module(120) performing a PCI bridge function. A PCI mater(200) transmits/receives data with the CPU-PCI bridge integrating module through the PCI bridge function of the CPU-PCI bridge integrating module by connecting to the CPU-PCI bridge integrating module through a PCI bus. The integrated memory(300) is connected to the CPU-PCI bridge integrating module through a local processor bus, and has a program/data area(310,320) for storing a program and the data for the CPU function module and a PCI bus shared area(330) for storing the data transmitted/received from the PCI master through the PCI bridge function module.

Description

통합 메모리를 가지는 씨피유-피씨아이 브리지 통합 장치 및 그 통합 메모리와, 그 통합메모리의 운용방법{apparatus of CPU-PCI bridge embedded having the embedded memory and the embedded memory and method for management of the memory}CPI-PCI bridge integrated device having an integrated memory and its integrated memory, and an operating method of the integrated memory {apparatus of CPU-PCI bridge embedded having the embedded memory and the embedded memory and method for management of the memory}

본 발명은 통합 메모리를 가지는 씨피유-피씨아이 브리지 통합 장치 및 통합 메모리와, 통합메모리의 운용방법에 관한 것이다.The present invention relates to a CPI-PCC bridge integrated device and a unified memory and a method of operating the unified memory.

버스(bus)는 메인보드 상에서 씨피유(CPU: Control Processing Unit, 이하 CPU라고 함)를 비롯하여 메모리, 칩셋, 확장 슬롯 등을 서로 연결하여 데이터를 주고받을 수 있게 해주는 통로이다.A bus is a passage that connects CPU, Control Processing Unit (CPU), memory, chipset, expansion slots, etc. on the motherboard to send and receive data.

버스의 데이터 폭과 속도는 위치와 역할에 따라 다르다. 버스의 방식에는 아이사(ISA: Industry Standard Architecture bus) 버스, 이아이사(EISA: Extended Industry Standard Architecture)버스, 엠씨에이(MCA: Micro Channel Architecture)버스, 베사(VESA: Video Electronics Standard Architecture)로컬 버스, 피씨아이(PCI: Peripheral Component Interconnect 이하, PCI라 함)버스, AGP(AGP: Accelerated Graphics Port) 방식 등이 있다.The data width and speed of the bus depend on location and role. The buses include the Industry Standard Architecture bus (ISA) bus, the Extended Industry Standard Architecture (EISA) bus, the Micro Channel Architecture (MCA) bus, and the Video Electronics Standard Architecture (VESA) local bus. PCC (PiI: Peripheral Component Interconnect, PCI) bus, AGP (AGP: Accelerated Graphics Port) method.

그중, PCI 버스 방식은 미국의 인텔사가 제창하고 주요 PC 관련 업체들이 참가한 PCI SIG(Special Interest Group)가 만든 버스 규격으로, 현재 펜티엄 이상의 보드에 채택되고 있는 고속버스이다.Among them, the PCI bus method is a bus standard created by the PCI Special Interest Group (SIG), which Intel Inc. of the United States and major PC companies participated in, and is a high-speed bus that is currently adopted on boards of Pentium or higher.

베사 로컬 버스가 CPU에 의존하는 방식인 것에 비해 PCI는 CPU와 버스 사이에 브리지 회로를 넣는 방식이기 때문에 베사 로컬 버스에 비해서는 가격이 조금 비싼 편이다. PCI 버스는 CPU의 종류가 달라지더라도 대응하는 브리지 회로를 갖추어 주면 버스의 구조를 변경할 필요가 없다는 장점이 있다.While Bessa local buses are CPU-dependent, PCI is a bit more expensive than Bessa local buses because of the bridge circuitry between the CPU and the bus. The PCI bus has the advantage of not having to change the bus structure if a corresponding bridge circuit is provided even if the CPU types are different.

PCI의 133MB/sec 전송률과 33MHz 밴드폭 디자인은 고속 CPU를 위해 만들어진 것으로, 버스 구조도 CPU와 버스가 독립적으로 작동하도록 되어 있어 정보처리 속도가 빠르다. PCI 버스는 호환성 또한 베사 로컬 버스에 비해 뛰어나다.PCI's 133MB / sec transfer rate and 33MHz bandwidth design are designed for high-speed CPUs, and the bus structure allows the CPU and bus to operate independently, resulting in faster information processing. The PCI bus is also more compatible than the Besa local bus.

PCI방식은 33MHz 클럭을 사용한 최대 대역폭(Bandwidth)이 132MB이다. 인텔에서는 개발 초기에 관련 업체에 기술을 공개하고 지원하였다. 그래서 PCI 주변장치의 확장에 있어서는 베사 로컬 버스 방식과 비교할 수 없는 완전한 호환성을 보장하고 있어서 PCI는 펜티엄 시대의 대표적인 버스가 된 것이다.The PCI method has a maximum bandwidth of 132MB using a 33MHz clock. At the beginning of the development, Intel made the technology public and supported it with the vendor. As a result, PCI has become the representative bus of the Pentium era as it guarantees full compatibility with the expansion of PCI peripherals compared to the Besa local bus method.

PCI는 PCI 브리지라는 컨트롤 장치를 통하여 CPU와 데이터를 주고 받으므로 기술적으로 정확히 볼 때 로컬 버스 방식은 아니지만 일부에서는 PCI로컬 버스라고도 한다. 베사로컬 버스의 약점은 로컬버스를 통하여 CPU에 직접 연결된 인터페이스장치들 때문에 로컬버스를 많이 사용할수록 CPU에 부하를 많이 주게 되어 CPU 자체의 처리 속도가 저하되고 이 때문에 베사로컬 버스에는 주변 장치를 3개 이상 연결하지 못하며 주변 장치 클럭 속도와 조화를 이루기 위하여 베사 로컬 버스의 속도를 40MHz 이하로 제한하는 것이다.PCI exchanges data with the CPU through a control unit called a PCI bridge, so technically it is not a local bus, but in some cases it is a PCI local bus. The weak point of Bessa local bus is the interface devices connected directly to the CPU through the local bus. The more the local bus is used, the more the load is placed on the CPU, which slows down the processing speed of the CPU itself. In order to match the peripheral clock speed, the Besa local bus is limited to 40MHz or less.

그러나 PCI는 CPU에 직접 부담을 주지 않도록 CPU와 PCI 버스 사이에 PCI브리지를 설치하여 PCI 버스는 CPU와는 별개로 돌아가도록 되어 있어서 PCI 버스에연결되는 확장 슬롯도 10개까지는 무난히 확장 가능하다.However, because PCI does not directly burden the CPU, a PCI bridge is installed between the CPU and the PCI bus so that the PCI bus runs independent of the CPU, so that up to 10 expansion slots connected to the PCI bus can be expanded.

도 1은 종래의 CPU와 PCI 브리지가 분리된 장치의 구성도이다.1 is a block diagram of a device in which a conventional CPU and a PCI bridge are separated.

도 1을 참조하면, 종래의 장치는 CPU(1)와, PCI 브리지(2)와, PCI 마스터(3)와, 로컬 메모리(4)와, PCI 버스 공유 메모리(5)로 구성되어 있다.Referring to FIG. 1, the conventional apparatus is composed of a CPU 1, a PCI bridge 2, a PCI master 3, a local memory 4, and a PCI bus shared memory 5. As shown in FIG.

이와 같이, 종래의 경우에는 CPU(1)에서 수행되는 각 프로세스의 명령 수행을 위한 프로그램 코드와 데이터 저장을 위한 로컬 버스 메모리(4)가 있어야 하고, PCI 버스로 연결된 PCI 마스터(3)와 통신을 위하여 공유할 수 있는 메모리가 필요함에 따라 PCI 브리지(2)에 연결된 PCI 공유 메모리(PCI shared memory)(5)를 구현하여야 한다.As described above, in the conventional case, there must be a local bus memory (4) for storing program codes and data for executing instructions of each process performed in the CPU (1), and communicates with the PCI master (3) connected by the PCI bus. In order to be able to share memory in order to implement a PCI shared memory (PCI) (5) connected to the PCI bridge (2).

그러나, 이는 PCI 마스터(3)에서 직접 프로세서 버스의 메모리를 억세스할 수 없는 제약 사항이기 있기 때문에 CPU(1)와 PCI 마스터(3)간의 공유할 수 있는 PCI 버스 공유 메모리(5)를 중간에 두고 있다.However, since this is a limitation that the memory of the processor bus cannot be accessed directly from the PCI master (3), the PCI bus shared memory (5) that can be shared between the CPU (1) and the PCI master (3) is in the middle. have.

따라서, 도시된 바와 같이 CPU(1)를 위한 로컬 메모리(4)와 PCI 브리지(2)를 위한 PCI 버스 공유 메모리(5)를 구현할 경우, 다음과 같은 제약사항이 있다.Therefore, when implementing the local memory 4 for the CPU 1 and the PCI bus shared memory 5 for the PCI bridge 2 as shown, there are the following limitations.

종래의 경우, 반도체 부품인 메모리의 크기에서 제약이 있음으로 인하여 메모리를 각각 나누어 구현하는데 비용과 관련되는 문제가 없었지만, 현재는 메모리의 크기가 대부분 대용량의 메모리가 저비용으로 제품화되고 있음에 따라 이와 같이 구현할 경우 메모리 크기의 낭비가 많다.In the conventional case, there is no problem related to the cost of dividing each memory due to the limitation in the size of the memory, which is a semiconductor component. The implementation is a waste of memory size.

또한, 물리적으로 프로세서 버스와 PCI 버스로 분리된 서로 다른 버스상에 각각 메모리를 구현하여야 함으로 인한 설계면적 등의 제약으로 집적화된 설계를하기 힘든 문제점이 있다.In addition, there is a problem in that integrated design is difficult due to constraints such as the design area due to the implementation of memory on different buses physically separated into a processor bus and a PCI bus.

본 발명은 종래의 이러한 문제점을 해결하기 위하여 안출된 것으로, 통합 메모리를 가지는 CPU-PCI 브리지 통합 장치 및 그 통합 메모리와, 그 통합메모리의 운용방법을 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve such a problem in the related art, and an object thereof is to provide a CPU-PCI bridge integrated device having an integrated memory, an integrated memory, and a method of operating the integrated memory.

도 1은 종래의 CPU와 PCI 브리지가 분리된 장치의 구성도.1 is a configuration diagram of a device in which a conventional CPU and a PCI bridge are separated.

도 2는 본 발명에 따른 통합 메모리를 가지는 CPU-PCI 브리지 통합 장치의 구성도.2 is a block diagram of a CPU-PCI bridge integrated device having an integrated memory according to the present invention.

도 3은 도 2에 도시된 통합 메모리의 메모리 할당 영역을 보여주는 도면.FIG. 3 shows a memory allocation area of the integrated memory shown in FIG.

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

1 : CPU 2 : PCI 브리지1: CPU 2: PCI Bridge

3 : PCI 마스터 4 : 로컬 메모리3: PCI master 4: local memory

5 : PCI 버스 공유 메모리 100 : CPU-PCI 브리지 통합 모듈5: PCI bus shared memory 100: CPU-PCI Bridge Integration Module

110 : CPU 기능모듈 120 : PCI 브리지 기능 모듈110: CPU function module 120: PCI bridge function module

200 : PCI 마스터 300 : 통합 메모리200: PCI master 300: integrated memory

310 : 프로그램 영역 320 : 데이터 영역310: program area 320: data area

330 : PCI 버스 공유 영역 331 : CPU 기능 모듈 영역330: PCI bus sharing area 331: CPU function module area

332 : PCI 마스터 영역 333 : 제 1 큐 영역332: PCI master area 333: first queue area

334 : 제 2 큐 영역334: second queue area

이러한 목적을 달성하기 위한 본 발명의 일측면에 의하면, CPU 기능을 수행하는 CPU 기능모듈과 PCI 브리지 기능을 수행하는 PCI 브리지 기능모듈을 가지는 CPU-PCI 브리지 통합모듈과, CPU-PCI 브리지 통합모듈과 PCI 버스로 연결되어, CPU-PCI 브리지 통합모듈내의 PCI 브리지 기능을 통해 CPU-PCI 브리지 통합모듈과 데이터를 송수신하는 PCI 마스터와, CPU-PCI 브리지 통합모듈과 로컬 프로세서 버스를 통해 연결되며, CPU-PCI 브리지 통합모듈내의 CPU 기능 모듈을 위한 프로그램과 데이터를 저장하는 영역과, PCI 브리지 기능 모듈을 통해 PCI 마스터와 송수신하는 데이터를 저장하기 위한 PCI 버스 공유 영역을 가지는 통합 메모리로 구성되는 통합 메모리를 가지는 CPU-PCI 브리지 통합 장치를 제공한다.According to an aspect of the present invention for achieving this object, a CPU-PCI bridge integrated module having a CPU function module performing a CPU function and a PCI bridge function module performing a PCI bridge function, a CPU-PCI bridge integrated module and Connected to the PCI bus, the PCI master in the CPU-PCI Bridge Integration Module sends and receives data to and from the CPU-PCI Bridge Integration Module, and is connected via the CPU-PCI Bridge Integration Module and the local processor bus. The integrated memory consists of an integrated memory having an area for storing programs and data for a CPU function module in the PCI bridge integrated module and a PCI bus shared area for storing data to be transmitted / received to and from the PCI master through the PCI bridge function module. Provides a CPU-PCI bridge integrated device.

여기에서, PCI 버스 공유 메모리 영역은, CPU 기능모듈이 상기 PCI 마스터와 통신을 수행하기 위하여 상기 CPU 기능모듈이 사용하는 CPU 기능 모듈 영역과, PCI 마스터가 CPU 기능모듈과 통신을 위하여 PCI 마스터가 사용하는 PCI 마스터 영역과, CPU 기능모듈이 PCI 마스터에게 전송할 명령 또는 데이터를 기록하고, PCI 마스터가 PCI 브리지 기능모듈을 통해 읽어가기 위한 제 1 큐 영역과, PCI 마스터가 CPU 기능모듈에 응답하기 위하여 PCI 마스터가 PCI 브리지 기능모듈을 통해 기록하고, CPU 기능모듈이 읽어가는 제 2 큐 영역을 포함한다.Here, the PCI bus shared memory area may be a CPU function module area used by the CPU function module to communicate with the PCI master, and a PCI master used by the PCI master to communicate with the CPU function module. A PCI master area, a first queue area for the CPU function module to send to the PCI master, a first queue area for the PCI master to read through the PCI bridge function module, and a PCI master for responding to the CPU function module. The master writes through the PCI bridge function module and includes a second queue area to which the CPU function module reads.

본 발명의 다른 측면에 의하면, CPU 기능을 수행하는 CPU 기능모듈과 PCI 브리지 기능을 수행하는 PCI 브리지 기능모듈을 가지는 CPU-PCI 브리지 통합모듈과, CPU-PCI 브리지 통합모듈과 PCI 버스로 연결되어, CPU-PCI 브리지 통합모듈내의 PCI 브리지 기능을 통해 CPU-PCI 브리지 통합모듈과 데이터를 송수신하는 PCI 마스터를 위한 메모리로, CPU-PCI 브리지 통합모듈과 로컬 프로세서 버스를 통해 연결되며, CPU-PCI 브리지 통합모듈내의 CPU 기능 모듈을 위한 프로그램과 데이터를 저장하는 영역과, PCI 브리지 기능 모듈을 통해 PCI 마스터와 송수신하는 데이터를 저장하기 위한 PCI 버스 공유 영역을 가지는 CPU-PCI 브리지 통합 장치를 위한 통합 메모리를 제공한다.According to another aspect of the present invention, a CPU-PCI bridge integrated module having a CPU function module performing a CPU function and a PCI bridge function module performing a PCI bridge function, and a CPU-PCI bridge integrated module connected to a PCI bus, Memory for the PCI master that sends and receives data to and from the CPU-PCI Bridge Integration Module through the PCI Bridge function in the CPU-PCI Bridge Integration Module. The CPU-PCI Bridge Integration Module is connected via the local processor bus and the CPU-PCI Bridge Integration. Provides integrated memory for CPU-PCI bridge integrators that has a program bus and data storage area for CPU function modules in the module and a PCI bus sharing area for storing data to and from the PCI master through the PCI bridge function module. do.

본 발명의 또 다른 측면에 의하면, 통합 메모리를 가지는 CPU-PCI 브리지 통합 장치에서 통합 메모리를 운용하는 방법으로, 전원이 인가되면, CPU 기능모듈이 PCI 마스터의 동작을 초기화하기 위한 리셋신호를 인가하여 리셋상태를 유지하는 단계와, CPU 기능모듈에 의하여 PCI 버스를 사용을 위한 초기화를 수행하는 단계와, PCI 마스터가 동작 가능하도록 통합 메모리에 저장된 프로그램을 로딩하는 단계와, CPU-PCI 브리지 통합모듈과 PCI 마스터간의 통신을 위해 PCI 버스 공유 메모리에 할당된 각 영역을 초기화하는 단계와, CPU 기능 모듈이 PCI 버스 공유 메모리의 제 1 큐 영역에 PCI 마스터의 실행을 명령하기 위한 명령 데이터를 저장하는 단계와, PCI 마스터가 제 1 큐 영역에 저장된 명령 데이터를 읽어 실행하고, 그 실행결과를 CPU 기능모듈에서 알 수 있도록 그 실행결과를 제 2 큐 영역에 저장하는 단계를 포함하는 통합 메모리 운용방법을 제공한다.According to another aspect of the present invention, a method for operating an integrated memory in a CPU-PCI bridge integrated device having an integrated memory, when power is applied, the CPU function module applies a reset signal for initializing the operation of the PCI master Maintaining a reset state, performing initialization for using the PCI bus by the CPU function module, loading a program stored in the integrated memory for the PCI master to operate, the CPU-PCI bridge integrated module, Initializing each area allocated to the PCI bus shared memory for communication between the PCI masters; storing, by the CPU function module, command data for instructing execution of the PCI master in the first queue area of the PCI bus shared memory; Then, the PCI master reads and executes the command data stored in the first queue area and the execution result is known to the CPU function module. A method of operating an integrated memory including storing an execution result in a second queue area is provided.

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

도 2는 본 발명에 따른 통합 메모리를 가지는 CPU-PCI 브리지 통합 장치의 구성도이다. 도 2를 참조하면, 본 발명에 따른 통합 메모리를 가지는 CPU-PCI 브리지 통합 장치는 크게 CPU-PCI 브리지 통합모듈(100)과, PCI 마스터(200)와, 통합 메모리(300)로 구성된다.2 is a block diagram of a CPU-PCI bridge integrated device having an integrated memory according to the present invention. 2, the CPU-PCI bridge integrated device having an integrated memory according to the present invention is largely composed of the CPU-PCI bridge integration module 100, the PCI master 200, and the integrated memory 300.

CPU-PCI 브리지 통합모듈(100)은 CPU 기능을 수행하는 CPU 기능모듈(110)과 PCI 브리지 기능을 수행하는 PCI 브리지 기능모듈(120)로 구성되어 있다.The CPU-PCI bridge integration module 100 includes a CPU function module 110 that performs a CPU function and a PCI bridge function module 120 that performs a PCI bridge function.

PCI 마스터(200)는 CPU-PCI 브리지 통합모듈(100)과 PCI 버스로 연결되어, CPU-PCI 브리지 통합모듈(100)내의 PCI 브리지 기능을 통해 CPU-PCI 브리지 통합모듈과 데이터를 송수신한다.The PCI master 200 is connected to the CPU-PCI bridge integration module 100 and the PCI bus, and transmits and receives data to and from the CPU-PCI bridge integration module through the PCI bridge function in the CPU-PCI bridge integration module 100.

통합 메모리(300)는 CPU-PCI 브리지 통합모듈과 로컬 프로세서 버스를 통해 연결되며, CPU-PCI 브리지 통합모듈내의 CPU 기능 모듈을 위한 프로그램 및 데이터를 저장하고, PCI 브리지 기능 모듈을 통해 상기 PCI 마스터와 송수신하는 데이터를 저장한다. 여기서 사용되는 로컬 프로세서 버스의 예를 들면, 60채널의 로컬 프로세서 버스가 사용될 수 있다.The integrated memory 300 is connected to the CPU-PCI bridge integrated module through the local processor bus, stores programs and data for the CPU function module in the CPU-PCI bridge integrated module, and connects the PCI master with the PCI master through the PCI bridge function module. Stores data to be sent and received. For example, a local processor bus of 60 channels may be used as an example of a local processor bus used herein.

통합 메모리(300)의 메모리 할당 영역을 살펴보면, 크게 프로그램 영역(310)과, 데이터 영역(320)과, PCI 버스 공유 영역(330)으로 이루어진다.Referring to the memory allocation area of the integrated memory 300, the program area 310, the data area 320, and the PCI bus sharing area 330 are largely formed.

프로그램 영역(310)은 CPU-PCI 브리지 통합모듈(100)내의 CPU 기능 모듈(110)을 위한 프로그램을 저장하기 위해 할당된 메모리 영역이다.The program area 310 is a memory area allocated for storing a program for the CPU function module 110 in the CPU-PCI bridge integration module 100.

데이터 영역(320)은 CPU-PCI 브리지 통합모듈(100)내의 CPU 기능 모듈(110)을 위한 데이터를 저장하기 위해 할당된 영역이다.The data area 320 is an area allocated for storing data for the CPU function module 110 in the CPU-PCI bridge integration module 100.

PCI 버스 공유 영역(330)은 PCI 브리지 기능 모듈(120)을 통해 PCI 마스터(200)와 송수신하는 데이터를 저장하기 위해 할당된 영역이다.The PCI bus sharing area 330 is an area allocated for storing data transmitted and received with the PCI master 200 through the PCI bridge function module 120.

즉, 통합 메모리(300)는 프로그램 영역(310)과 데이터 영역(320)은 CPU 기능 모듈(110)에 의하여 사용되는 영역이고, PCI 버스 공유 영역(330)은 CPU-PCI 브리지 통합모듈(100)과 PCI 버스로 연결된 PCI 마스터(200)가 억세스할 수 있는 영역으로 하나의 메모리에 여러 개의 영역으로 나누어 사용함으로 PCI 버스의 메모리 공간을 소프트웨어의 제어에 의하여 재할당이 가능하게 하였다.That is, the integrated memory 300 is the program area 310 and the data area 320 are areas used by the CPU function module 110, and the PCI bus sharing area 330 is the CPU-PCI bridge integration module 100. It is an area accessible by the PCI master 200 connected to the PCI bus, and the memory space of the PCI bus can be reallocated under the control of software by dividing the memory space into one area.

도 3은 도 2에 도시된 PCI 버스 공유 영역의 상세한 할당 영역을 보여주는 도면이다. 도 3을 참조하면, PCI 버스 공유 영역(330)은 CPU 기능 모듈 영역(331)과, PCI 마스터 영역(332)과, 제 1 큐 영역(333)과, 제 2 큐 영역(334)으로 할당된다.FIG. 3 is a diagram illustrating a detailed allocation area of the PCI bus sharing area shown in FIG. 2. Referring to FIG. 3, the PCI bus sharing area 330 is allocated to the CPU function module area 331, the PCI master area 332, the first queue area 333, and the second queue area 334. .

CPU 기능모듈 영역(331)은 CPU 기능모듈(110)이 PCI 마스터(200)와 통신을 위하여 사용하고 있는 메모리의 영역을 설정하는 부분이며, PCI 버스로 연결된 PCI 마스터(200)가 참조한다.The CPU function module area 331 is a part for setting the area of the memory that the CPU function module 110 uses for communication with the PCI master 200, and is referred to by the PCI master 200 connected to the PCI bus.

PCI 마스터 영역(332)은 PCI 마스터(200)가 CPU 기능모듈(110)과 통신을 위하여 사용하고 있는 메모리의 영역으로 설정한 부분이며, PCI 버스로 연결된 PCI 마스터(200)에서 사용하고 있는 메모리 영역의 설정을 표시한다.The PCI master area 332 is a part set by the PCI master 200 as an area of memory used for communication with the CPU function module 110 and is used by the PCI master 200 connected by the PCI bus. Displays the setting of.

제 1 큐 영역(333)은 명령어 큐 영역으로서 CPU 기능 모듈(110)이 PCI 버스로 연결된 PCI 마스터(200)에게 임의의 명령어 혹은 데이터(메시지)를 보내기 위한 부분이며, CPU 기능 모듈(100)이 기록하고 PCI 마스터(200)가 PCI 브리지 기능모듈(120)을 통하여 읽어간다.The first queue area 333 is a command queue area where the CPU function module 110 sends arbitrary commands or data (messages) to the PCI master 200 connected to the PCI bus. The PCI master 200 reads through the PCI bridge function module 120.

제 2 큐 영역(334)은 응답 표시 데이터 저장큐(Indication Queue) 영역으로서 PCI 버스로 연결된 PCI 마스터(200)가 CPU 기능 모듈(110)에 응답하는 부분이며, PCI 마스터(200)가 PCI 브리지 기능모듈(120)을 통하여 기록하고 CPU 기능 모듈(110)이 읽어가는 부분이다.The second queue area 334 is a response indication data storage queue area where the PCI master 200 connected to the PCI bus responds to the CPU function module 110, and the PCI master 200 functions as a PCI bridge function. This is the part recorded through the module 120 and read by the CPU function module 110.

이와 같이 구성된 CPU-PCI 통합 장치에서 통합 메모리(300)를 운용하는 방법을 살펴보도록 한다.The method of operating the integrated memory 300 in the CPU-PCI integrated device configured as described above will be described.

우선, 각 부에 전원이 인가되면, CPU 기능모듈(110)에서는 PCI 기능 모듈(120)을 통하여 PCI 마스터(200)의 동작을 초기화하기 위한 리셋신호를 인가하여 리셋상태를 유지한다. 리셋상태가 유지된 상태에서 CPU 기능모듈(110)에서는 PCI 버스를 사용을 위한 초기화를 수행한다.First, when power is applied to each unit, the CPU function module 110 maintains the reset state by applying a reset signal for initializing the operation of the PCI master 200 through the PCI function module 120. In the state in which the reset state is maintained, the CPU function module 110 performs initialization for using the PCI bus.

PCI 버스를 사용하기 위한 초기화가 이루어지면, CPU 기능 모듈(110)에서는 PCI 마스터(200)가 동작 가능하도록 통합 메모리(300)의 프로그램 영역(310)에 저장된 프로그램을 로딩하게 된다.When the initialization for using the PCI bus is made, the CPU function module 110 loads a program stored in the program area 310 of the integrated memory 300 so that the PCI master 200 can operate.

또한, PCI 브리지 기능 모듈(120)은 CPU-PCI 브리지 통합모듈(100)과 PCI 마스터(200)간의 통신을 위해 PCI 버스 공유 영역(330)의 각 영역을 초기화한다.In addition, the PCI bridge function module 120 initializes each area of the PCI bus sharing area 330 for communication between the CPU-PCI bridge integration module 100 and the PCI master 200.

CPU 기능 모듈(110)이 PCI 버스 공유 영역(330)내의 제 1 큐 영역(333)에 PCI 마스터(200)의 실행을 명령하기 위한 명령 데이터를 저장한다.The CPU function module 110 stores command data for instructing execution of the PCI master 200 in the first queue area 333 in the PCI bus sharing area 330.

PCI 마스터(200)에서는 PCI 브리지 기능모듈(120)을 통해 제 1 큐 영역(334)에 저장된 명령 데이터를 읽어 실행하고, 그 실행결과를 CPU 기능모듈(110)에서 알 수 있도록 PCI 브리지 기능모듈(120)을 통하여 실행결과를 제 2 큐 영역(334)에 저장한다. CPU 기능 모듈(110)은 제 2 큐 영역(334)에 저장되어 있는 실행결과를 읽어가서 자신이 요청한 명령이 수행되었지 여부를 판단하게 된다.The PCI master 200 reads and executes the command data stored in the first queue area 334 through the PCI bridge function module 120, and executes the PCI bridge function module so that the CPU function module 110 knows the execution result. The execution result is stored in the second queue area 334 through the 120. The CPU function module 110 reads the execution result stored in the second queue area 334 to determine whether the command requested by the CPU function has been performed.

본 발명에 의하면, CPU 기능모듈과 PCI 브리지 기능 모듈이 하나의 모듈내에 구현된 CPU-PCI 통합모듈에 하나의 메모리가 프로세서 버스를 통하여 연결되고, 그 메모리내에서 CPU 기능 모듈과 PCI 브리지 기능 모듈을 위한 데이터를 저장하여, CPU-PCI 통합 모듈을 지원함으로써, 메모리를 효율적으로 사용할 수 있게 된다.According to the present invention, a memory is connected to a CPU-PCI integrated module in which a CPU function module and a PCI bridge function module are implemented in one module through a processor bus, and the CPU function module and the PCI bridge function module are connected within the memory. By storing the data for the CPU-PCI integrated module, the memory can be efficiently used.

아울러, 회로설계가 간단해짐에 따라 PCI 공유 메모리를 위한 별도의 메모리 버스의 연결이 필요치 않게 된다.In addition, the simplified circuit design eliminates the need for a separate memory bus connection for PCI shared memory.

Claims (5)

CPU 기능을 수행하는 CPU 기능모듈과 PCI 브리지 기능을 수행하는 PCI 브리지 기능모듈을 가지는 CPU-PCI 브리지 통합모듈과,A CPU-PCI bridge integrated module having a CPU function module performing a CPU function and a PCI bridge function module performing a PCI bridge function; 상기 CPU-PCI 브리지 통합모듈과 PCI 버스로 연결되어, 상기 CPU-PCI 브리지 통합모듈내의 PCI 브리지 기능을 통해 CPU-PCI 브리지 통합모듈과 데이터를 송수신하는 PCI 마스터와,A PCI master connected to the CPU-PCI bridge integrated module through a PCI bus and transmitting and receiving data to and from the CPU-PCI bridge integrated module through a PCI bridge function in the CPU-PCI bridge integrated module; 상기 CPU-PCI 브리지 통합모듈과 로컬 프로세서 버스를 통해 연결되며, 상기 CPU-PCI 브리지 통합모듈내의 CPU 기능 모듈을 위한 프로그램과 데이터를 저장하는 영역과, 상기 PCI 브리지 기능 모듈을 통해 상기 PCI 마스터와 송수신하는 데이터를 저장하기 위한 PCI 버스 공유 영역을 가지는 통합 메모리로 구성되는 통합 메모리를 가지는 CPU-PCI 브리지 통합 장치.An area for storing programs and data for a CPU function module in the CPU-PCI bridge integration module, the CPU-PCI bridge integration module connected to the PCI master through the PCI bridge function module; CPU-PCI bridge integrated device having a unified memory consisting of a unified memory having a PCI bus shared area for storing data. 제 1항에 있어서, 상기 통합 메모리에서,The method of claim 1, wherein in the integrated memory, 상기 PCI 버스 공유 메모리 영역은,The PCI bus shared memory area, 상기 CPU 기능모듈이 상기 PCI 마스터와 통신을 수행하기 위하여 상기 CPU 기능모듈이 사용하는 CPU 기능 모듈 영역과,A CPU function module area used by the CPU function module to allow the CPU function module to communicate with the PCI master; 상기 PCI 마스터가 CPU 기능모듈과 통신을 위하여 상기 PCI 마스터가 사용하는 PCI 마스터 영역과,A PCI master area used by the PCI master to communicate with the CPU function module; 상기 CPU 기능모듈이 상기 PCI 마스터에게 전송할 명령 또는 데이터를 기록하고, 상기 PCI 마스터가 상기 PCI 브리지 기능모듈을 통해 읽어가기 위한 제 1 큐 영역과,A first queue area for recording a command or data to be transmitted to the PCI master by the CPU function module, and reading the data through the PCI bridge function module by the PCI master; 상기 PCI 마스터가 상기 CPU 기능모듈에 응답하기 위하여 상기 PCI 마스터가 상기 PCI 브리지 기능모듈을 통해 기록하고, 상기 CPU 기능모듈이 읽어가는 제 2 큐 영역을 포함하는 통합 메모리를 가지는 CPU-PCI 브리지 통합 장치.CPU-PCI bridge integrator having an integrated memory including a second queue area written by the PCI master through the PCI bridge function module, the CPU function module reads the PCI master to respond to the CPU function module . CPU 기능을 수행하는 CPU 기능모듈과 PCI 브리지 기능을 수행하는 PCI 브리지 기능모듈을 가지는 CPU-PCI 브리지 통합모듈과, 상기 CPU-PCI 브리지 통합모듈과 PCI 버스로 연결되어, 상기 CPU-PCI 브리지 통합모듈내의 PCI 브리지 기능을 통해 CPU-PCI 브리지 통합모듈과 데이터를 송수신하는 PCI 마스터를 위한 메모리로,A CPU-PCI bridge integrated module having a CPU function module performing a CPU function and a PCI bridge function module performing a PCI bridge function, and connected to the CPU-PCI bridge integrated module and a PCI bus, wherein the CPU-PCI bridge integrated module Memory for the PCI master to send and receive data to and from the CPU-to-PCI bridge integrated module through the PCI bridge function within. 상기 CPU-PCI 브리지 통합모듈과 로컬 프로세서 버스를 통해 연결되며, 상기 CPU-PCI 브리지 통합모듈내의 CPU 기능 모듈을 위한 프로그램과 데이터를 저장하는 영역과, 상기 PCI 브리지 기능 모듈을 통해 상기 PCI 마스터와 송수신하는 데이터를 저장하기 위한 PCI 버스 공유 영역을 가지는 CPU-PCI 브리지 통합 장치를 위한 통합 메모리.An area for storing programs and data for a CPU function module in the CPU-PCI bridge integration module, the CPU-PCI bridge integration module connected to the PCI master through the PCI bridge function module; Integrated memory for a CPU-to-PCI bridge integrated device with a PCI bus shared area for storing data. 제 3항에 있어서, 상기 PCI 버스 공유 영역은,The method of claim 3, wherein the PCI bus sharing area, 상기 CPU 기능모듈이 상기 PCI 마스터와 통신을 수행하기 위하여 상기 CPU 기능모듈이 사용하는 CPU 기능 모듈 영역과,A CPU function module area used by the CPU function module to allow the CPU function module to communicate with the PCI master; 상기 PCI 마스터가 CPU 기능모듈과 통신을 위하여 상기 PCI 마스터가 사용하는 PCI 마스터 영역과,A PCI master area used by the PCI master to communicate with the CPU function module; 상기 CPU 기능모듈이 상기 PCI 마스터에게 전송할 명령 또는 데이터를 기록하고, 상기 PCI 마스터가 상기 PCI 브리지 기능모듈을 통해 읽어가기 위한 제 1 큐 영역과,A first queue area for recording a command or data to be transmitted to the PCI master by the CPU function module, and reading the data through the PCI bridge function module by the PCI master; 상기 PCI 마스터가 상기 CPU 기능모듈에 응답하기 위하여 상기 PCI 마스터가 상기 PCI 브리지 기능모듈을 통해 기록하고, 상기 CPU 기능모듈이 읽어가는 제 2 큐 영역을 포함하는 CPU-PCI 브리지 통합 장치를 위한 통합 메모리.An integrated memory for a CPU-PCI bridge integrated device including a second queue area written by the PCI master through the PCI bridge function module and read by the CPU function module so that the PCI master responds to the CPU function module; . 제 2항의 통합 메모리를 가지는 CPU-PCI 브리지 통합 장치에서 통합 메모리를 운용하는 방법으로,The method of operating the integrated memory in the CPU-PCI bridge integrated device having the integrated memory of claim 2, 전원이 인가되면, 상기 CPU 기능모듈이 상기 PCI 마스터의 동작을 초기화하기 위한 리셋신호를 인가하여 리셋상태를 유지하는 단계와,When the power is applied, maintaining the reset state by applying a reset signal for initializing the operation of the PCI master by the CPU function module; 상기 CPU 기능모듈에 의하여 상기 PCI 버스를 사용을 위한 초기화를 수행하는 단계와,Performing initialization by the CPU function module for using the PCI bus; PCI 마스터가 동작 가능하도록 상기 통합 메모리에 저장된 프로그램을 로딩하는 단계와,Loading a program stored in the integrated memory to enable a PCI master; 상기 CPU-PCI 브리지 통합모듈과 상기 PCI 마스터간의 통신을 위해 상기 PCI 버스 공유 메모리에 할당된 각 영역을 초기화하는 단계와,Initializing each area allocated to the PCI bus shared memory for communication between the CPU-PCI bridge integration module and the PCI master; CPU 기능 모듈이 PCI 버스 공유 메모리의 제 1 큐에 PCI 마스터의 실행을 명령하기 위한 명령 데이터를 저장하는 단계와,Storing, by the CPU function module, instruction data for instructing execution of the PCI master in a first queue of the PCI bus shared memory; PCI 마스터가 상기 PCI 브리지 기능모듈을 통하여 제 1 큐에 저장된 명령 데이터를 읽어 실행하고, 그 실행결과를 상기 CPU 기능모듈에서 알 수 있도록 상기 PCI 브리지 기능모듈을 통하여 실행결과를 상기 제 2 큐 영역에 저장하는 단계를 포함하는 통합 메모리 운용방법.The PCI master reads and executes the command data stored in the first queue through the PCI bridge function module, and executes the execution result in the second queue area through the PCI bridge function module so that the CPU function module knows the execution result. Integrated memory operating method comprising the step of storing.
KR1020030000869A 2003-01-07 2003-01-07 apparatus of CPU-PCI bridge embedded having the embedded memory and the embedded memory and method for management of the memory KR20040063454A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030000869A KR20040063454A (en) 2003-01-07 2003-01-07 apparatus of CPU-PCI bridge embedded having the embedded memory and the embedded memory and method for management of the memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030000869A KR20040063454A (en) 2003-01-07 2003-01-07 apparatus of CPU-PCI bridge embedded having the embedded memory and the embedded memory and method for management of the memory

Publications (1)

Publication Number Publication Date
KR20040063454A true KR20040063454A (en) 2004-07-14

Family

ID=37354357

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030000869A KR20040063454A (en) 2003-01-07 2003-01-07 apparatus of CPU-PCI bridge embedded having the embedded memory and the embedded memory and method for management of the memory

Country Status (1)

Country Link
KR (1) KR20040063454A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166227B2 (en) 2009-12-11 2012-04-24 Electronics And Telecommunications Research Institute Apparatus for processing peripheral component interconnect express protocol

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166227B2 (en) 2009-12-11 2012-04-24 Electronics And Telecommunications Research Institute Apparatus for processing peripheral component interconnect express protocol

Similar Documents

Publication Publication Date Title
JP5085334B2 (en) USB / OTG controller
KR101035832B1 (en) Simulation circuit of pci express endpoint and downstream port for a pci express switch
US4792896A (en) Storage controller emulator providing transparent resource sharing in a computer system
US20070239965A1 (en) Inter-partition communication
US20050071514A1 (en) Autonomic configuration of interconnection cable speeds
WO2021244194A1 (en) Register reading/writing method, chip, subsystem, register group, and terminal
US6260081B1 (en) Direct memory access engine for supporting multiple virtual direct memory access channels
US5748945A (en) Method for slave DMA emulation on a computer system bus
JP2007164793A (en) Distributed direct memory access means within data processing system
CN110704365A (en) Reconstruction device based on FPGA
US6430710B1 (en) Data processing system with RAS data acquisition function
JPH11126182A (en) Device and method for communications between computer buses
US5933613A (en) Computer system and inter-bus control circuit
US10176133B2 (en) Smart device with no AP
US7689728B2 (en) Method and apparatus for describing ACPI machine language in computer having multibridge PCI structure, and program thereof
CN110765060B (en) MDIO bus-to-parallel bus conversion method and device, equipment and medium
KR20080007429A (en) Appliance with communication protocol emulation
CN100437489C (en) Method for saving system resource
KR20000016944A (en) Increasing i/o performance through storage of packetized operational information in local memory
KR20040063454A (en) apparatus of CPU-PCI bridge embedded having the embedded memory and the embedded memory and method for management of the memory
CN109783407B (en) Device and method for realizing PC and display card bridging based on FPGA
KR20030032177A (en) Semiconductor device for initializing interfacing card with serial EEPROM and method thereof
CN110955629B (en) Computing device
US5748944A (en) Apparatus for slave DMA emulation on a computer system bus
CN114265799B (en) SPI read-write system and server based on CPLD

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application