KR101276837B1 - Apparatus for communicating between processor systems operating with different operating frequencies - Google Patents

Apparatus for communicating between processor systems operating with different operating frequencies Download PDF

Info

Publication number
KR101276837B1
KR101276837B1 KR1020060112719A KR20060112719A KR101276837B1 KR 101276837 B1 KR101276837 B1 KR 101276837B1 KR 1020060112719 A KR1020060112719 A KR 1020060112719A KR 20060112719 A KR20060112719 A KR 20060112719A KR 101276837 B1 KR101276837 B1 KR 101276837B1
Authority
KR
South Korea
Prior art keywords
processor
signal
bus
connection
module
Prior art date
Application number
KR1020060112719A
Other languages
Korean (ko)
Other versions
KR20080043983A (en
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 KR1020060112719A priority Critical patent/KR101276837B1/en
Publication of KR20080043983A publication Critical patent/KR20080043983A/en
Application granted granted Critical
Publication of KR101276837B1 publication Critical patent/KR101276837B1/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/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/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • 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

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)
  • Multi Processors (AREA)

Abstract

본 발명은 서로 다른 동작 주파수로 운용되는 시스템 간에 직접적으로 통신할 수 있는 방법에 관한 것이다. 즉, 서로 다른 동작 주파수로 운용되는 버스를 주된 버스로 사용하는 시스템 간에 상기 다른 동작 주파수를 변환하여 어느 하나의 동작 주파수로 맞추어 주는 기능 모듈 및 마스터, 슬레이브 신호 규약에 맞게 전송할 수 있도록 신호를 변환 시켜주는 기능 모듈 및 동시 접속시 발생할 수 있는 오동작을 막기 위한 접속 제어 모듈을 포함하여 이루어진다. 본 발명을 통해 시스템간 직접적인 통신이 가능하게 되는 효과가 있다.

Figure R1020060112719

AHB 버스, 브릿지 모듈, 동작 주파수, 세마포아

The present invention relates to a method capable of directly communicating between systems operating at different operating frequencies. In other words, the system converts the signal to be transmitted according to the function module and master and slave signal protocols that convert the different operating frequencies to one of the operating frequencies between systems using buses operating at different operating frequencies as the main buses. The state includes a function module and a connection control module for preventing a malfunction that may occur during simultaneous connection. The present invention has the effect of enabling direct communication between systems.

Figure R1020060112719

AHB bus, bridge module, operating frequency, semaphore

Description

서로 다른 동작 주파수로 동작하는 프로세서 시스템 간의 통신을 지원하기 위한 장치{APPARATUS FOR COMMUNICATING BETWEEN PROCESSOR SYSTEMS OPERATING WITH DIFFERENT OPERATING FREQUENCIES}A device for supporting communication between processor systems operating at different operating frequencies {APPARATUS FOR COMMUNICATING BETWEEN PROCESSOR SYSTEMS OPERATING WITH DIFFERENT OPERATING FREQUENCIES}

도 1은 본 발명의 일 실시 형태에 따른 블록 구성도이다.1 is a block diagram according to an embodiment of the present invention.

도 2는 동작 주파수 변환 방법의 일례를 설명하기 위한 도면이다.2 is a view for explaining an example of an operating frequency conversion method.

도 3은 본 발명의 일 실시 형태에 따른 절차 흐름도이다.3 is a process flow diagram in accordance with an embodiment of the present invention.

도 4는 동시 접속시 발생할 수 있는 오동작을 설명하기 위한 도면이다.4 is a view for explaining a malfunction that may occur when the simultaneous connection.

도 5는 본 발명의 다른 실시 형태를 설명하기 위한 도면이다.5 is a diagram for explaining another embodiment of the present invention.

도 6은 본 발명의 또 다른 실시 형태에 따른 블록 구성도이다. 6 is a block diagram according to still another embodiment of the present invention.

도 7은 본 발명의 일 실시 형태에 따른 세마포아 기능의 레지스터에 대한 상호 배타적 접속을 나타낸 상태 천이도(state transition diagram)를 나타낸다.7 shows a state transition diagram showing mutually exclusive connections to the registers of semaphore functions according to one embodiment of the invention.

도 8은 세마포아 기능의 레지스터에 대한 동시 접속을 방지하기 위한 방법의 일례를 설명하기 위한 도면이다.8 is a view for explaining an example of a method for preventing simultaneous connection to a register of a semaphore function.

본 발명은 통신 시스템에 관한 것으로 보다 구체적으로, 서로 다른 동작 주 파수로 동작하는 버스를 사용하는 프로세서 시스템 간에 직접 통신할 수 있는 통신 시스템 및 통신 방법에 관한 것이다.The present invention relates to a communication system, and more particularly, to a communication system and a communication method capable of direct communication between processor systems using a bus operating at different operating frequencies.

통신 시스템은 수행하는 기능에 따라서 적어도 둘 이상의 프로세서를 포함하여 이루어진다. 상기 프로세서에서 신호를 받아 동작하는 디바이스 등을 포함하는 시스템을 프로세서 시스템이라 한다. 상기 프로세서 시스템에서는 상기 프로세서와 다른 디바이스 간의 신호 전달을 위한 통로로서 버스(BUS)를 사용한다. The communication system comprises at least two processors, depending on the function being performed. A system including a device that operates by receiving a signal from the processor is called a processor system. The processor system uses a bus (BUS) as a passage for signal transmission between the processor and another device.

상기 각 프로세서에 연결된 각 버스는 각자의 동작 주파수에 따라 작동한다. 서로 다른 동작 주파수로 작동하는 버스를 사용하는 프로세서 시스템 간에는 직접적인 통신을 할 수 없다. 따라서, 종래에는 적어도 두 개의 프로세서 시스템 간의 통신을 위해서 공유 메모리를 이용한다. 상기 공유 메모리는 통신을 원하는 프로세서가 모두 접속할 수 있다. Each bus connected to each processor operates according to its operating frequency. Direct communication between processor systems using buses operating at different operating frequencies is not possible. Thus, conventionally, shared memory is used for communication between at least two processor systems. The shared memory may be connected to all processors wishing to communicate.

서로 다른 동작 주파수로 작동하는 버스를 사용하는 프로세서 시스템 간의 통신을 위해서 상기 공유 메모리뿐만 아니라 통신을 원하는 프로세서가 공유 메모리에 접속할 때 제어하기 위한 제어 레지스터 블록, 상대방 프로세서에 공유 메모리 접속의 상태를 알려 주기 위한 인터럽트 생성 레지스터 블록, 각 프로세서가 공유 메모리에 있는 데이터를 읽어 오는데 소요되는 시간을 동작 주파수 단위로 설정하기 위한 레지스터 블록 및 상대방 프로세서에 전송할 데이터의 전송에 대한 정보, 데이터의 메모리 상의 위치, 및 데이터의 크기 등을 알려주기 위한 메일 박스를 포함하여 이루어진다. Not only the shared memory but also a control register block for controlling when a processor wishing to connect to shared memory for communication between processor systems using buses operating at different operating frequencies, and notifying the other processor of the shared memory connection status. Interrupt generation register block, register block for setting the time required for each processor to read data in shared memory in operating frequency units, information about transmission of data to be transmitted to the other processor, location of data in memory, and data It consists of a mailbox for telling the size and the like.

종래 기술에 의한 통신 방법에 따르면, 한쪽의 프로세서가 메모리 블록에 일 정 데이터와 그 데이터에 대한 정보를 메일 박스에 쓰고 난 후 인터럽트 생성 레지스터를 통해 상대방 프로세서에 알려주면 상대방 프로세서는 메일 박스에서 데이터에 대한 정보를 읽고 나서 메모리 블록에 있는 데이터를 읽어간다. According to the conventional communication method, when one processor writes certain data and information about the data to a mailbox in a memory block, and then informs the counterpart processor through an interrupt generation register, the counterpart processor reads the data in the mailbox. After reading the information about, read the data in the memory block.

즉, 종래의 통신 방법은 두 개의 프로세서 간의 상호 교환 방법(handshake)으로 인터럽트(알림)를 사용한다. 인터럽트를 사용하는 방법은 소프트웨어의 코드 상에서 일일이 인터럽트를 생성하고 확인하는 과정이 추가되어야하기 때문에 소프트웨어의 운용적인 측면에서 비효율적이다. 또한, 양쪽 프로세서에서 동시에 상대방 프로세서에 접속하면 공유 메모리에 데이터 충돌이 발생할 가능성이 존재한다. 이때 종래 기술에 따르면, 이를 자동적으로(하드웨어적으로) 처리하지 못하고 이와 같은 상황을 피하기 위해 소프트웨어 운영상의 제약을 두는 방법을 사용한다. 위 방법은 소프트웨어에 어느 정도의 부담을 준다. 나아가, 메모리 블록과 여러 가지 제어를 위한 레지스터 블록들이 추가가 되어 결국 논리 게이트(logic gate)의 수가 많이 늘어나기 때문에 시스템 온 칩(SOC)의 제작 비용이 증가하는 문제점이 있다.That is, the conventional communication method uses an interrupt as a handshake between two processors. The use of interrupts is inefficient in terms of software operation because the process of generating and checking interrupts in the software code must be added. In addition, if both processors simultaneously access the counterpart processor, there is a possibility of data collision in shared memory. At this time, according to the prior art, it is not possible to process this automatically (hardware), and use a method of restricting software operation to avoid such a situation. This method puts some burden on the software. Furthermore, memory blocks and register blocks for various controls are added to increase the number of logic gates, thereby increasing the manufacturing cost of a system on chip (SOC).

본 발명은 상술한 바와 같은 종래 기술의 문제점을 해결하기 위해서 안출된 것으로서, 본 발명의 목적은, 프로세서 간의 직접적인 통신이 가능한 방법 및 시스템을 제공하는 것이다. 본 발명의 다른 목적은, 상기 프로세서 간의 직접적인 통신이 가능한 방법 및 시스템을 통해 보다 효율적인 통신 시스템을 제공하는 것이다. 본 발명의 또 다른 목적은, 시스템 온 칩(SOC)의 제작 비용을 줄인 통신 시스템을 제공하는 것이다.The present invention has been made to solve the problems of the prior art as described above, an object of the present invention is to provide a method and system capable of direct communication between processors. Another object of the present invention is to provide a more efficient communication system through a method and a system capable of direct communication between the processors. It is still another object of the present invention to provide a communication system that reduces the manufacturing cost of a system on chip (SOC).

본 발명은 서로 다른 동작 주파수로 동작하는 버스를 주된 버스로 사용하는 시스템 간에 직접적으로 통신할 수 있는 방법에 관한 것이다. 특히, 각 시스템 내에서 사용되는 버스에 따라 통신의 주체 및 객체가 일대일 관계만 성립할 수 있는 경우에 적용할 수 있는 통신 방법에 관한 것이다. 상기 버스는 시스템을 구성하는 프로세서와 비디오 카드, 각종 입출력 장치, 주변 기기 사이에 주고받는 정보가 전달되는 정보의 통로 또는 전송로이다. 상기 버스를 통해 동시에 전달될 수 있는 비트의 수를 버스 폭(bus width)이라고 하며, 버스 폭에 따라 16비트, 32비트 등 한 번에 전달될 수 있는 데이터의 크기가 일정하게 정해진다. 버스의 규격, 즉 버스 폭과 버스의 동작 주파수 등에 따라 버스의 데이터 전송 능력(초당 데이터 전송 속도)이 결정되며, 어느 방식의 버스를 채택하느냐에 따라 컴퓨터의 전체 처리 속도가 달라진다. 개인용 컴퓨터(PC)의 버스로는 16비트 폭의 ISA 버스, 32비트 폭의 EISA 버스, MCA 버스 등이 있다. 이들 버스와는 별도로 i486 이상의 높은 주파수로 동작하는 고속의 CPU와 고속으로 동작하는 장치 사이에 직접 대용량의 데이터를 전달하는 32비트 또는 64비트 폭의 버스를 로컬 버스라고 한다. 널리 사용되는 로컬 버스로는 VL-버스, PCI 버스, PCI 버스를 확장한 AGP 등이 있다.The present invention relates to a method that can directly communicate between systems using buses operating at different operating frequencies as the main bus. In particular, the present invention relates to a communication method that can be applied when a subject and an object of communication can establish only a one-to-one relationship according to a bus used in each system. The bus is a passage or transmission path for information that is transmitted and received between a processor constituting the system, a video card, various input / output devices, and peripheral devices. The number of bits that can be simultaneously transmitted through the bus is called a bus width, and the size of data that can be transferred at one time, such as 16 bits or 32 bits, is determined according to the bus width. The bus specification, that is, the bus width and the operating frequency of the bus, determines the bus's data transfer capability (data transfer rate per second), and the overall processing speed of the computer depends on which type of bus is adopted. Personal computer (PC) buses include a 16-bit wide ISA bus, a 32-bit wide EISA bus, and an MCA bus. Apart from these buses, a 32-bit or 64-bit-wide bus that transfers large amounts of data directly between a high-speed CPU running at higher frequencies than the i486 and a high-speed device is called a local bus. Popular local buses include the VL-bus, PCI bus, and AGP, which extends the PCI bus.

본 발명의 일 양상으로서,서로 다른 동작 주파수로 동작하는 버스를 사용하는 프로세서 시스템 간의 통신 방법은, 제1 프로세서 시스템으로부터 신호를 수신하는 단계와, 상기 수신된 신호의 동작 주파수를 제2 프로세서 시스템의 동작 주파수로 변환하는 단계와, 상기 수신된 신호를 상기 제2 프로세서 시스템에서 사용할 수 있는 신호 형태로 변환하는 단계 및 상기 변환된 신호를 상기 제2 프로세서 시스템으로 전송하는 단계를 포함하여 이루어진다.In one aspect of the present invention, a method of communication between processor systems using buses operating at different operating frequencies includes: receiving a signal from a first processor system and converting an operating frequency of the received signal to a second processor system; And converting the received signal into a signal form usable by the second processor system, and transmitting the converted signal to the second processor system.

본 발명의 다른 양상으로서,서로 다른 동작 주파수로 동작하는 버스를 사용하는 프로세서 시스템 간의 통신을 위한 통신 시스템의 브릿지(bridge) 모듈은, 제1 버스의 동작 주파수를 제2 버스의 동작 주파수로 변환하기 위한 동기화 모듈 및 제1 프로세서 시스템에서 수신된 신호를 상기 제2 프로세스 시스템으로 전송하기 위해 신호를 변환하기 위한 신호 변환 모듈을 포함하여 이루어진다.In another aspect of the present invention, a bridge module of a communication system for communication between processor systems using buses operating at different operating frequencies may include converting the operating frequency of the first bus to the operating frequency of the second bus. And a signal conversion module for converting a signal for transmitting the signal received at the first processor system to the second process system.

상술한 본 발명의 목적, 구성 및 다른 특징들과 관련한 바람직한 실시 형태의 예들을 첨부된 도면을 참조하여 다음의 상세한 설명을 통해서 상세히 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시 형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시 형태를 나타내고자 하는 것이 아니다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following detailed description, together with the accompanying drawings, is intended to illustrate exemplary embodiments of the invention and is not intended to represent the only embodiments in which the invention may be practiced.

이하 설명하는 실시 형태들에 있어서, 각 프로세서 시스템에 사용되는 버스가 고속용 버스 구조에서 사용되는 AHB(ARM High Perfomance Bus) 버스인 경우에 적용한 것들을 설명한다. 하지만, 본 발명의 기술적 사상은 상기 AHB 버스를 사용하는 경우뿐만이 아니라 다양한 경우에 적용될 수 있음은 자명하다. In the embodiments described below, those applied when the bus used for each processor system is an ARM High Perfomance Bus (AHB) bus used in the high speed bus structure will be described. However, it is obvious that the technical idea of the present invention can be applied to various cases as well as the case of using the AHB bus.

AHB 신호 전송 규약(protocol)에 따르면, 하나의 AHB 버스를 통해 데이터를 송수신하는 주체 및 객체를 그 기능에 따라 마스터 디바이스(master device)와 슬레이브 디바이스(slave device)로 구분할 수 있다. 상기 마스터 디바이스는 프로세서가 되는 것이 일반적이다. 상기 슬레이브 디바이스는 상기 마스터 디바이스에 연 결되는 비디오 카드, 각종 입출력 장치, 주변 기기(예를 들어, 메모리 콘트롤러) 등이 될 수 있으며 하나의 마스터 디바이스는 상기 버스를 통해 다수의 슬레이브 디바이스와 연결된다. 예를 들어, 최대 16 개까지의 슬레이브 디바이스가 하나의 마스터 디바이스와 연결될 수 있다.According to the AHB signal transmission protocol, a subject and an object that transmits and receives data through one AHB bus can be classified into a master device and a slave device according to their functions. The master device is typically a processor. The slave device may be a video card connected to the master device, various input / output devices, peripheral devices (for example, a memory controller), and one master device is connected to a plurality of slave devices through the bus. For example, up to 16 slave devices can be connected to one master device.

도 1은 본 발명의 일 실시 형태에 따른 블록 구성도이다. 도 1에 나타난 통신 시스템(1)은 제1 프로세서(11)를 포함하는 제1 프로세서 시스템(10)과 제2 프로세서(16)를 포함하는 제2 프로세서 시스템(15) 및 상기 제1 프로세서 시스템(10)과 제2 프로세서 시스템(15) 간의 통신을 위해 신호 변환 등을 수행하기 위한 브릿지 모듈(14)을 포함하여 이루어진다. 제1 프로세서와 제2 프로세서 시스템 블록(10, 15)은 AHB 버스를 시스템의 메인 버스로 사용하고 동작 주파수가 서로 다른 시스템으로서(asynchronous system) 시스템 온 칩(System On Chip: SOC)용 플랫폼(platform) 구성 요소의 일부분이다. 또한, 상기 프로세서들은 암(ARM9) 프로세서, 디에스피(DSP) 프로세서 등이 될 수 있다.1 is a block diagram according to an embodiment of the present invention. The communication system 1 shown in FIG. 1 includes a first processor system 10 including a first processor 11 and a second processor system 15 including a second processor 16 and the first processor system ( 10) and a bridge module 14 for performing signal conversion and the like for communication between the second processor system 15. The first processor and the second processor system blocks 10 and 15 use the AHB bus as the main bus of the system and operate at different operating frequencies, and are asynchronous systems. The platform for the System On Chip (SOC) platform ) Is part of the component. Also, the processors may be an ARM9 processor, a DSP processor, or the like.

상기 제1 프로세서 시스템(10)은 상기 제1 프로세서(11), 제1 프로세서와 연결되어 데이터 등의 송수신 통로로 사용되는 제1 AHB 버스(12), 상기 제1 AHB 버스와 연결되어 상기 제1 프로세서와의 데이터 송수신 등이 가능한 제1 슬레이브 디바이스(13)를 포함하여 이루어진다. 또한, 상기 제2 프로세서 시스템(15) 역시 상기 제2 프로세서(16), 제2 AHB 버스(17) 및 제2 슬레이브 디바이스(18)를 포함하여 이루어진다. 상기 브릿지 모듈(14)은 제1 프로세서 시스템과 제2 프로세서 시스템 간의 통신을 위한 신호 변환 등을 수행하며, 상기 제1 AHB 버스와 제2 AHB 버스와 연 결된다.The first processor system 10 is connected to the first processor 11 and the first processor, the first AHB bus 12 used as a transmission / reception path for data, etc., and the first AHB bus connected to the first AHB bus. And a first slave device 13 capable of transmitting and receiving data with the processor. The second processor system 15 also comprises the second processor 16, the second AHB bus 17 and the second slave device 18. The bridge module 14 performs signal conversion for communication between the first processor system and the second processor system, and is connected to the first AHB bus and the second AHB bus.

먼저, 상기 제1 프로세서가 제2 프로세서 시스템에 포함된 제2 슬레이브 디바이스에게 데이터를 전송하고자 하는 경우를 설명한다. 제1 프로세서가 제1 AHB 버스로 데이터 전송을 원한다는 접속 요청 신호를 전송하고, 제1 AHB 버스로부터 완료 신호를 수신하면 데이터를 전송이 종료된다. 위와 같이 AHB 버스에 접속 요청 신호를 전송하고 그에 상응하는 완료 신호를 수신하는 과정을 일 통신 과정이라고 칭한다. 제1 프로세서는 제1 AHB 버스, 상기 브릿지 모듈(14), 제2 AHB 버스 등을 사용하여, 일 통신 과정을 수행할 수 있다.First, a case in which the first processor intends to transmit data to a second slave device included in a second processor system will be described. The first processor transmits a connection request signal indicating that data transmission is desired to the first AHB bus, and when the completion signal is received from the first AHB bus, the data transmission is terminated. As described above, a process of transmitting a connection request signal to the AHB bus and receiving a corresponding completion signal is called a communication process. The first processor may perform a communication process by using a first AHB bus, the bridge module 14, a second AHB bus, and the like.

이하 상기 브릿지 모듈(14)에 대해 더욱 자세히 설명한다. 상기 제1 AHB 버스와 제2 AHB 버스는 서로 다른 동작 주파수로 동작하고 있기 때문에 전송되는 신호에 아무 처리도 하지 않고 전송하면, 전송된 데이터의 일부 또는 전부를 수신하지 못하게 되어 심각한 오류가 발생할 수 있다. 따라서, 전송 측 디바이스의 동작 주파수를 수신 측 동작 주파수에 맞추어 변환하는 신호 처리 과정이 필요하다. 동작 주파수를 변환하기 위한 모듈 즉, 동기화 모듈(미도시)이 상기 브릿지 모듈(14)에 포함된다.Hereinafter, the bridge module 14 will be described in more detail. Since the first AHB bus and the second AHB bus operate at different operating frequencies, if the signal is transmitted without any processing, a serious error may occur because some or all of the transmitted data may not be received. . Therefore, a signal processing procedure for converting the operating frequency of the transmitting device to the receiving operating frequency is required. A module for converting an operating frequency, that is, a synchronization module (not shown) is included in the bridge module 14.

도 2는 동작 주파수 변환 방법의 일례를 설명하기 위한 도면이다. 도 2를 참조하여 제1 AHB 버스의 제1 동작 주파수가 제2 AHB 버스의 제2 동작 주파수보다 빠른 경우 상기 제1 AHB 버스의 동작 주파수 신호를 제2 AHB 버스의 동작 주파수로 변환하는 방법을 설명한다. 상기 동기화 모듈(미도시)은 상기 제1 AHB 버스로부터 데이터 신호를 수신한다(20). 제1 클록 시그널은 상기 데이터 신호가 수신되었음을 감지하여 "0"의 상태에서 상기 데이터가 수신된 제1 동작 주파수에 대한 한 클록 주기 동안에는 "1"이 되고, 상기 한 클록 주기가 종료되면 다시 "0"이 된 것을 나타낸다(21). 또 다른 제2 클록 시그널은 "0"의 상태에서 상기 제1 클록 시그널이 한 클록 주기가 종료되어 다시 "0"의 상태가 된 시점에 "1"로 변환되어 유지됨을 나타낸다(22). 제2 동작 주파수에 대한 제3 클록 시그널은 "0"의 상태에서 상기 제2 클록 시그널이 "1"의 상태임을 감지하고, "1"로 변환됨을 나타낸다(23). 또 다른 제4 클록 시그널은 상기 제3 클록 시그널이 "1"로 전환되는 기점의 다음 클록에 "0"에서 "1"로 전환됨을 나타낸다(24). 마지막으로 제5 클록 시그널은 상기 제3 클록 시그널에서 제4 클록 시그널을 뺀 시그널을 나타낸다(25). 상기 제5 클록 시그널은 에 나타난 하나의 클록 신호가 변환된 제2 동작 주파수를 의미한다. 결국 상기 제1 동작 주파수에서 제2 동작 주파수로 변환된 결과를 나타내는 것으로 상기 설명한 바에 따라서 동작 주파수의 변환이 가능하다.2 is a view for explaining an example of an operating frequency conversion method. A method of converting an operating frequency signal of the first AHB bus to an operating frequency of the second AHB bus when the first operating frequency of the first AHB bus is faster than the second operating frequency of the second AHB bus will be described with reference to FIG. 2. do. The synchronization module (not shown) receives a data signal from the first AHB bus (20). The first clock signal senses that the data signal has been received and becomes " 1 " for one clock period for the first operating frequency at which the data was received in the state of " 0 " ", (21). Another second clock signal indicates that the first clock signal is converted to " 1 " at the time when one clock cycle ends and becomes "0" again in the state of "0" (22). The third clock signal for the second operating frequency senses that the second clock signal is in the state of "1" in the state of "0" and indicates that the second clock signal is converted to "1" (23). Another fourth clock signal indicates that the third clock signal is switched from " 0 " to " 1 " at the next clock at which the third clock signal is switched to " 1 " (24). Finally, the fifth clock signal represents a signal obtained by subtracting the fourth clock signal from the third clock signal (25). The fifth clock signal refers to a second operating frequency obtained by converting one clock signal shown in. As a result, the result of the conversion from the first operating frequency to the second operating frequency is shown. As described above, the operating frequency can be converted.

AHB 버스의 신호 전송 규약에 따르면, 마스터 디바이스로부터 전송된 신호를 수신하기 위해서는 슬레이브 디바이스가 되어야 한다. 하지만 위와 같이 동작 주파수가 다른 버스에 연결된 슬레이브 디바이스로 신호를 전송하기 위해서는 상기 브릿지 모듈을 통해 신호 변환 과정을 거쳐야 한다. 따라서, 상기 브릿지 모듈에는 상기 동기화 모듈뿐만 아니라 상기 제1 프로세서 시스템의 마스터 디바이스에서 전송된 신호를 제2 프로세서 시스템의 슬레이브 디바이스로 전송하기 위한 마스터 및 슬레이브 인터페이스가 구비된다. 즉, 제1 프로세서(마스터 디바이스)에서 전송된 신호를 수신하는 슬레이브 인터페이스와 제 2 슬레이브 디바이스로 상기 신호를 전 송하기 위한 마스터 인터페이스가 구비된다. 그리고, 상기 슬레이브 인터페이스 신호를 마스터 인터페이스 신호로 변환하기 위해서 신호 변환 모듈이 포함되는 것이 바람직하다.According to the signal transmission protocol of the AHB bus, it must be a slave device to receive a signal transmitted from the master device. However, in order to transmit a signal to a slave device connected to a bus having a different operating frequency as described above, a signal conversion process must be performed through the bridge module. Accordingly, the bridge module is provided with a master and slave interface for transmitting a signal transmitted from the master device of the first processor system as well as the synchronization module to the slave device of the second processor system. That is, a slave interface for receiving a signal transmitted from a first processor (master device) and a master interface for transmitting the signal to a second slave device are provided. In addition, a signal conversion module is included to convert the slave interface signal into a master interface signal.

도 3은 본 발명의 일 실시 형태에 따른 절차 흐름도이다. 도 3에 따르면, 제1 프로세서가 제2 프로세서 시스템에 있는 슬레이브 디바이스(slave device)에 접속한다고 할 때, 먼저 제1 프로세서는 브릿지 모듈로 제2 프로세서 시스템에 있는 슬레이브 디바이스 접속 요청 신호 보낸 다음 상기 접속 요청 신호에 대한 완료 신호를 기다린다(S30). 이때 상기 제1 프로세서는 마스터 디바이스(master device)가 되므로, 상기 브릿지 모듈의 슬레이브 인터페이스로, AHB 전송 규약에 맞게 신호를 전송한다. 동기화 모듈에서는 상기 슬레이브 인터페이스에서 신호를 수신하여 제2 프로세서 시스템의 동작 주파수에 맞게 동기화 회로를 통하여 동기화를 시킨다(S31). 상기 신호 변환 모듈에서는 상기 동기화 모듈에서 동기화된 신호를 제2 프로세서 시스템의 슬레이브 디바이스에 전달하기 위하여 신호를 변환한다. 이때 상기 변환된 신호를 수신하는 마스터 인터페이스는 제2 프로세서의 슬레이브 디바이스에 대해 마스터 디바이스이므로, 또한 AHB 전송 규약에 맞게 신호를 전송한다(S32). 상기 신호 변환 모듈은 상기 마스터 인터페이스상에 구현될 수도 있고, 이 경우에는 별도의 상기 신호 변환을 수행하기 위한 기능 모듈이 구비되지 않을 수 있다. 일단 제2 프로세서 내의 슬레이브 디바이스에 대한 접속이 끝나면 완료 신호가 상기 마스터 인터페이스를 통하여 동기화 모듈로 전송되어 상기 동기화 모듈에서 동작 주파수가 변경된 다음, 슬레이브 인터페이스를 통해서 제1 프로세서에 전송된다(S33).3 is a process flow diagram in accordance with an embodiment of the present invention. According to FIG. 3, when a first processor connects to a slave device in a second processor system, first the first processor sends a bridge device connection request signal in a second processor system to the bridge module and then connects to the slave device. Wait for the completion signal for the request signal (S30). In this case, since the first processor becomes a master device, the first processor transmits a signal to the slave interface of the bridge module according to the AHB transmission protocol. The synchronization module receives the signal from the slave interface and synchronizes with the synchronization circuit according to the operating frequency of the second processor system (S31). The signal conversion module converts the signal to deliver the signal synchronized in the synchronization module to the slave device of the second processor system. At this time, since the master interface receiving the converted signal is a master device with respect to the slave device of the second processor, the master interface also transmits the signal according to the AHB transmission protocol (S32). The signal conversion module may be implemented on the master interface. In this case, a function module for performing the signal conversion may not be provided. Once the connection to the slave device in the second processor is completed, the completion signal is transmitted to the synchronization module through the master interface, the operating frequency is changed in the synchronization module, and then transmitted to the first processor through the slave interface (S33).

제2 프로세서에서 제1 프로세서 시스템에 있는 슬레이브 디바이스에 접속할 때도 마찬가지이다. 제2 프로세서는 상기 제2 프로세서에 대한 슬레이브 인터페이스, 동기화 모듈, 마스터 인터페이스를 통하여 제1 프로세서 시스템 내에 접속할 수 있다. 신호 변환 모듈이 상기 마스터 인터페이스상에 구현되지 않은 경우, 별도로 구비될 수 있다. 즉, 제1 프로세서 진행 방향과는 반대 방향으로 접속 동작이 일어난다.The same is true when the second processor connects to a slave device in the first processor system. The second processor may be connected in the first processor system through a slave interface, a synchronization module, and a master interface to the second processor. If the signal conversion module is not implemented on the master interface, it may be provided separately. That is, the connection operation occurs in a direction opposite to the first processor travel direction.

통신 규약에 의해 하나의 접속 또는 통신 과정이 완료된 후에야 그 다음 접속 명령 신호, 데이터 등을 전송할 수 있는 경우가 있다. 이 경우에는 하나의 프로세서에서 다음 신호를 전송할 경우에 적용될 뿐만 아니라 제1 프로세서가 접속 중인 경우 상기 제2 프로세서가 제1 프로세서 시스템에 있는 슬레이브 디바이스에 접속하려 할 때도 위와 마찬가지로 상기 제1 프로세서의 일 통신 과정이 완료된 후에야 제2 프로세서에서 통신을 시도, 수행할 수 있다. 이 경우, 만약 두 개의 프로세서가 동시에 상대방 프로세서 시스템 내에 존재하는 슬레이브 디바이스에 접속하게 되면, 각각의 두 프로세서 시스템은 시스템 내에서 한번에 하나의 마스터 디바이스와 하나의 슬레이브 디바이스만이 접속 가능한 규약에 의해 오동작(deadlock)이 발생할 수 있다. According to a communication protocol, a connection command signal, data, etc. may be transmitted only after one connection or communication process is completed. In this case, not only is it applied to transmitting the next signal from one processor, but also when the first processor is connected, when the second processor attempts to connect to the slave device in the first processor system, the same communication as that of the first processor is performed as above. Only after the process is completed can the communication be attempted and performed by the second processor. In this case, if two processors are simultaneously connected to a slave device in the other processor system, each of the two processor systems may malfunction due to a protocol in which only one master device and one slave device can be connected at a time in the system. deadlock) may occur.

도 4는 동시 접속시 발생할 수 있는 오동작을 설명하기 위한 도면이다. 도 4를 참조하면, 제1 프로세서가 슬레이브 인터페이스를 통하여 제2 프로세서 시스템 내의 슬레이브 디바이스에 접속하고자 동기화 모듈 등에서 신호를 변환하고 제2 프 로세서 시스템으로 신호를 전송하고 완료 신호를 기다리는 순간에 마찬가지로 제2 프로세서도 이미 슬레이브, 마스터 인터페이스 및 동기화 모듈 등을 통하여 제1 프로세서 시스템 내의 슬레이브 디바이스에 신호를 전송하고 완료 신호를 기다리고 있다고 가정한다. 제2 AHB 버스 입장에서는 제2 프로세서 전송된 신호 전송을 위한 하나의 마스터-슬레이브 관계가 성립된 것으로 판단하고 있기 때문에 상기 제2 프로세서 접속 신호에 대한 완료신호가 전송될 때까지 상기 제1 프로세서에 대한 완료 신호를 전송해 줄 수 없다. 따라서, 상기 제1 프로세서는 기약없는 대기 상태에 있게 된다(40). 제1 AHB 버스 입장에서도 마찬가지로 이유로 제2 프로세서에 대한 완료 신호를 전송해 줄 수 없어 상기 제2 프로세서도 기약없는 대기 상태에 있게 된다(41). 즉, 제1 프로세서와 제2 프로세서는 서로 완료 신호만 기다리고 있으며 각각 자신의 접속 명령이 완료되지 않았으므로 무작정 기다리고 있게 되고, 이는 심각한 오동작을 야기한다.4 is a view for explaining a malfunction that may occur when the simultaneous connection. Referring to FIG. 4, a second processor converts a signal in a synchronization module or the like to connect to a slave device in a second processor system through a slave interface, transmits a signal to a second processor system, and waits for a completion signal. It is assumed that the processor also sends a signal to the slave device in the first processor system and waits for the completion signal through the slave, the master interface and the synchronization module. Since the second AHB bus determines that one master-slave relationship for transmitting the second processor transmitted signal is established, the second AHB bus is not connected to the first processor until the completion signal for the second processor access signal is transmitted. Can't send the completion signal. Thus, the first processor is in an unbounded standby state (40). Similarly, the first AHB bus cannot transmit the completion signal to the second processor for the same reason, so that the second processor is in an uninterrupted standby state (41). That is, the first processor and the second processor are waiting for each other only the completion signal, and because their connection command is not completed, each will be waiting for a random, which causes a serious malfunction.

도 5는 본 발명의 다른 실시 형태를 설명하기 위한 도면이다. 도 5를 참조하여 위에서 설명한 오동작을 방지할 수 있는 방법의 일례를 설명한다.5 is a diagram for explaining another embodiment of the present invention. An example of a method capable of preventing the malfunction described above with reference to FIG. 5 will be described.

브릿지 모듈로 제1, 제2 프로세서로부터 동시에 또는 어느 한쪽(제1 프로세서)이 접속 요청 신호가 전달된다(S50, S51). 이 경우 상기 제1 , 제2 프로세서의 동시 접속을 방지하기 위해 상기 브릿지 모듈은 상기 제2 프로세서에 오류 메시지를 전달한다(S52). 상기 브릿지 모듈로부터 오류 메시지를 수신한 프로세서에 대한 통신은 수행되지 않는다. 상기 브릿지 모듈은 상기 오류 메시지를 전송한 후, 상기 제1 프로세서로 제1 프로세서의 접속 요청에 대한 완료 신호를 전송한다(S53). 즉, 오류 메시지를 통해 하나의 마스터-슬레이브 관계만이 성립되고 오동작 없이 시스템이 실행될 수 있도록 할 수 있다.The connection request signal is transmitted to the bridge module from the first and the second processors simultaneously or either (the first processor) (S50 and S51). In this case, in order to prevent simultaneous connection of the first and second processors, the bridge module transmits an error message to the second processor (S52). Communication to the processor that receives the error message from the bridge module is not performed. After the bridge module transmits the error message, the bridge module transmits a completion signal for the connection request of the first processor to the first processor (S53). In other words, only one master-slave relationship can be established through an error message, and the system can be executed without malfunction.

도 6은 본 발명의 또 다른 실시 형태에 따른 블록 구성도이다. 도 6을 참조하여 위에서 설명한 오동작을 방지할 수 있는 방법의 다른 예를 설명한다. 6 is a block diagram according to still another embodiment of the present invention. Another example of a method capable of preventing the malfunction described above will be described with reference to FIG. 6.

도 6의 통신 시스템은 도 1과 마찬가지로 제1, 제2 프로세서에 대한 제1, 제2 프로세서 시스템(61, 66) 및 상기 두 프로세서 시스템 간의 통신을 위한 브릿지 모듈(70)을 포함하여 이루어진다. 상기 브릿지 모듈은 동작 주파수가 다른 각 프로세서 시스템간의 데이터 교환을 위해 각 프로세서 시스템별로 마스터, 슬레이브 인터페이스(62, 64, 67, 69) 및 동기화 모듈(63, 68)을 포함하여 이루어진다. 각 프로세서 시스템에 대한 설명 및 동일한 구성에 대한 설명은 도 1에서의 설명과 일치한다. 본 실시예에 따른 브릿지 모듈은 도 1에서 설명된 구성뿐만 아니라 두 개의 프로세서가 동시에 접속할 경우를 방지하기 위해 상호 배타적 접속을 위한 접속 제어 모듈(65)이 포함된다. 상기 접속 제어 모듈은 위의 오동작을 없애기 위하여, 즉 상호 배타적 접속을 위해 두 프로세서에서 공유 가능한 간단한 하드웨어 세마포아(semaphore) 기능이 구현된 것이다. 상기 세마포아 기능은 자원을 경쟁적으로 사용하는 다중 프로세스에서, 행동을 조정하거나 또는 동기화시킬 수 있는 기능이다. 세마포아는 지정된 저장장치 내 값으로서, 각 프로세스는 이를 확인하고 변경할 수 있다. 확인되는 세마포아의 값에 따라, 그 프로세스가 즉시 자원을 사용할 수 있거나, 또는 이미 다른 프로세스에 의해 사용 중이라는 사실을 알게 되면 재시도하기 전에 일정 시간을 기다려야만 한다. 세마포아는 이진수 (0 또는 1)를 사용하거나, 또는 추가적인 값을 가질 수도 있다. 세마포아를 사용하는 프로세스는 으레 그 값을 확인하고, 자원을 사용하는 동안에는 그 값을 변경함으로써 다른 세마포아 사용자들이 기다리도록 해야한다. As in FIG. 1, the communication system of FIG. 6 includes first and second processor systems 61 and 66 for first and second processors and a bridge module 70 for communication between the two processor systems. The bridge module includes a master, a slave interface 62, 64, 67, 69, and a synchronization module 63, 68 for each processor system for data exchange between processor systems having different operating frequencies. The description of each processor system and the description of the same configuration are consistent with the description in FIG. 1. The bridge module according to the present embodiment includes not only the configuration described in FIG. 1 but also a connection control module 65 for mutually exclusive connection in order to prevent two processors from connecting at the same time. The connection control module implements a simple hardware semaphore function that can be shared by two processors to eliminate the above malfunction, that is, mutually exclusive connection. The semaphore function is a function capable of coordinating or synchronizing behavior in multiple processes that use resources competitively. Semaphores are values in designated storage that each process can see and change. Depending on the value of the semaphore being identified, if the process finds that the resource is immediately available or already in use by another process, it must wait some time before retrying. Semaphores use binary numbers (0 or 1), or may have additional values. Processes that use semaphores often have to check their values and change their values while using resources so that other semaphore users wait.

이하 상기 세마포아 기능이 레지스터를 이용하여 구현된 접속 제어 모듈(65)을 통해 동시 접속에 의한 오작동을 방지하기 위한 통신 방법을 설명한다. 상기 레지스터 값이 "0"인 경우 접속이 가능한 상태를, "1"인 경우 접속할 수 없는 상태를 의미한다고 가정한다.Hereinafter, a communication method for preventing a malfunction due to simultaneous connection through the connection control module 65 in which the semaphore function is implemented using a register will be described. When the register value is "0", it is assumed that the connection is possible, and when it is "1", it means that the connection is not possible.

먼저 데이터 통신을 수행하기 이전에 접속 제어 모듈(65)에 접속한다. 상기 레지스터의 값을 읽어 보아서 값이 "0"이면 상대방 즉, 제2 프로세서 시스템에 대한 접속 가능한 상태를 나타낸다. 따라서 제1 프로세서는 제2 프로세서 시스템에 접속 명령 신호를 전송한다. 이때 레지스터 값은 자동으로 "1"로 변환된다. 후에 자신의 접속 명령이 완료되면 "0"의 값으로 다시 변환하여 접속 완료를 나타낸다. First, the connection control module 65 is connected before performing data communication. When the value of the register is read and the value is " 0 ", it indicates a state in which a connection to the other party, that is, the second processor system is possible. Thus, the first processor transmits a connection command signal to the second processor system. At this time, the register value is automatically converted to "1". After the connection command is completed, the connection is converted back to a value of "0" to indicate completion of the connection.

제1 프로세서가 데이터 통신을 수행하기 이전에 접속 제어 모듈(65)에 접속하여 레지스터 값을 보아서 그 값이 "1"인 경우에는 다른 프로세서가 접속하고 있는 상태이므로 값이 "0"으로 변환될 때까지 기다리다가 "0"의 값으로 바뀌면 그때 접속 명령 신호를 전송한다.When the first processor accesses the connection control module 65 to view the register value and the value is "1" before performing the data communication, when the value is converted to "0" because another processor is connecting. Wait until it changes to the value of "0" and then send the connection command signal.

도 7은 본 발명의 일 실시 형태에 따른 세마포아용 레지스터에 대한 상호 배타적 접속을 나타낸 상태 천이도(state transition diagram)를 나타낸다.7 shows a state transition diagram showing mutually exclusive connections to a semaphore register according to one embodiment of the invention.

상기 상태 천이도에서 알 수 있듯이 하나의 프로세서(제1 프로세서)가 레지스터 값을 읽기 위해 접속 중일 때 다른 프로세서(제2 프로세서)가 접속을 한다면 다른 프로세서(제2 프로세서)는 세마포아 값을 읽지 못하고 기다려야 한다. 레지스터 접속 중인 프로세서(제1 프로세서)가 값 "0"을 읽었을 때에는(다시 말해 상대방 시스템 접속 권한을 얻었을 때) 세마포아 레지스터의 값은 자동으로 "1"로 바뀌고, 바뀐 "1" 값은 기다리고 있는 다른 프로세서(제2 프로세서)가 읽을 수 있도록 만들어(다시 말해 상대방 시스템에 대한 접속 권한을 얻지 못함) 다른 프로세서(제2 프로세서)가 상대방 시스템(제1 프로세서 시스템)에 대한 접속 권한을 얻지 못하게 한다. 따라서 상대방 시스템에 대한 접속을 위한 전송 명령은 오로지 한쪽 방향(제1 프로세서에서 제2 프로세서 시스템으로 또는 제2 프로세서에서 제1 프로세서 시스템으로)으로만 동작하게 한다.As can be seen from the state transition diagram, if another processor (second processor) connects while one processor (first processor) is connecting to read a register value, the other processor (second processor) cannot read semaphore values. I have to wait. When the processor (first processor) in the register connection reads the value "0" (that is, when the other party has access to the system), the value of the semaphore register is automatically changed to "1", and the changed "1" value is awaited. Other processors (second processors) to read (that is, not gaining access to the other system) and prevent other processors (second processors) from gaining access to the other system (first processor system). . Therefore, the transmission instruction for the connection to the counterpart system only operates in one direction (from the first processor to the second processor system or from the second processor to the first processor system).

또한, 하나의 프로세서(제1 프로세서)가 다른 프로세서(제2 프로세서) 시스템으로의 접속을 완료하고 세마포아 레지스터 값을 "0"으로 만들 고(다시 말해 접속 완료를 나타냄), 다른 프로세서(제2 프로세서)가 세마포아 레지스터 값을 읽으려 한다면 바뀐 "0"값을 다른 프로세서(제2 프로세서)가 읽을 수 있게 한다.In addition, one processor (first processor) completes the connection to the other processor (second processor) system and makes the semaphore register value "0" (in other words, the connection completes), and the other processor (second If the processor attempts to read the semaphore register value, the changed "0" value can be read by another processor (the second processor).

즉, 도 7의 상태 천이도를 살펴보면, 제1 상태는 제1, 제2 프로세서 모두 접속하지 않는 상태이고, 제2 상태는 제1 프로세서가 접속하여 통신 중이고, 제2 프로세서는 대기중인 상태이며, 제3 상태는 제2 프로세서는 접속하여 통신 중이고, 제1 프로세서가 대기중인 상태이다. 제1, 제2 프로세서가 모두 접속하지 않은 때 접속 요청이 없으면 제1 상태를 유지한다(A). 이때 제1, 또는 제2 프로세서가 접속 요청을 하는 경우에는 각각 제2 상태 또는 제3 상태로 변환된다(B, C). 제2 상태에서 제2 프로세서가 접속하고자 하는 경우는 제1 프로세서 접속이 완료될 때까지 대 기해야 하므로 제2 상태가 유지된다(H). 그리고, 제1 프로세서 접속이 완료되면, 접속 가능한 상태인 제1 상태로 변환된다(F). 제3 상태의 경우도 마찬가지로 제3 상태에서 제1 프로세서가 접속하고자 하는 경우는 제3 상태가 유지되고(I), 제2 프로세서에 대한 접속이 완료되면 제1 상태로 변환된다(G).That is, referring to the state transition diagram of FIG. 7, the first state is a state in which both the first and second processors are not connected, the second state is in communication with the first processor, and the second processor is in a standby state. In the third state, the second processor is connected and in communication, and the first processor is in a waiting state. If there is no connection request when both the first and second processors are not connected, the first state is maintained (A). In this case, when the first or second processor requests a connection, the first or second processor is converted to the second state or the third state, respectively (B and C). If the second processor is to be connected in the second state, the second state is maintained because the second processor must wait until the first processor connection is completed (H). When the first processor connection is completed, the state is converted to the first state in which the connection is possible (F). Similarly, in the third state, when the first processor attempts to connect in the third state, the third state is maintained (I), and when the connection to the second processor is completed, the state is converted to the first state (G).

이때도 마찬가지로 두 개의 프로세서가 세마포아 기능을 위한 레지스터에 동시에 접속할 수 있는 경우가 생긴다. 이 경우에 발생할 수 있는 문제점은 두 개의 프로세서가 모두 세마포아용 레지스터 값을 "0"으로 인식하는 경우이다. 그러한 상황이 되면 두 개의 프로세서는 상대방 프로세서가 접속하지 않는다고 생각해서 서로 상대방 시스템에 전송 명령 신호를 보내게 되는데 이는 위에서 언급한 오동작(deadlock)이 발생할 수 있다.Similarly, two processors can simultaneously access registers for semaphore functions. The problem that can arise in this case is when both processors recognize the semaphore register value as "0". In such a situation, the two processors think that the other processor is not connected and send a transmission command signal to the other system, which may cause the above-mentioned deadlock.

도 8은 세마포아 기능의 레지스터에 대한 동시 접속을 방지하기 위한 방법을 설명하기 위한 도면이다. 8 is a diagram for explaining a method for preventing simultaneous access to a register of a semaphore function.

레지스터 값을 동시에 읽어가지 않게 하기 위해서 간단하게 한쪽 프로세서가 레지스터 값을 읽고 있는 동안에는 다른 프로세서를 무조건 기다리도록 한다. 그래서 세마포아용 레지스터 값이 변하고 있을 때 다른 프로세서가 레지스터 값을 읽어 가지 않게, 즉, "0" 값을 동시에 읽어 가지 않게 한다. 물론 두 개의 프로세서의 시스템의 동작 주파수가 다르므로 세마포아용 레지스터에 대한 동기화 회로를 통하여 레지스터 값을 공유한다. To avoid reading register values at the same time, simply wait for one processor while the other processor is reading the register values. Thus, when a register value for a semaphore is changing, it prevents other processors from reading the register value, that is, reading the "0" value at the same time. Of course, since the operating frequencies of the two processor systems are different, the register values are shared through the synchronization circuit for the semaphore register.

도 8을 참조하면, 제1 프로세서에서 세마포아 읽기 명령어(READ)를 상기 레지스터로 전송한다. 상기 명령어를 전송하고 한 클록 동안 대기한다(81). 상기 레 지스터를 읽은 결과 "0" 값을 읽은 경우에는 접속이 가능함을 의미하므로 상기 레지스터 값이 "0"에서 "1"로 변경된다(83). 만약 위와 같은 경우에 제2 프로세서도 상기 레지스터로 세마포아 읽기 명령어(READ)를 전송한 경우(85) 상기 세마포아용 레지스터에 대한 동기화 회로에 의해 상기 제1 프로세서에서 전송한 명령어보다 늦게 상기 레지스터에 접속된다. 이때 상기 제1 프로세서가 레지스터 값을 읽고 있고, 아직 그 값을 변경하지 못한 상황(84)에 상기 제2 프로세서가 값을 읽게 되면, 제2 프로세서 역시 "0"의 값을 읽게 되는 문제가 발생한다. 따라서, 제2 프로세서가 레지스터에 접속시 다른 프로세서가 접속해서 레지스터 값을 읽고 있는 동안에는 상기 제2 프로세서를 소정의 시간 동안 대기하도록 한다(86). 그리고, 제1 프로세서가 레지스터 값을 변경한 후에 제2 프로세서가 접속하여 "1"의 값을 읽도록 해서 위와 같은 문제가 발생하지 않도록 한다(87).Referring to FIG. 8, a semaphore read command READ is transmitted to the register by the first processor. Send the command and wait 81 for one clock. If the result of reading the register reads a value of "0", it means that the connection is possible, and thus the register value is changed from "0" to "1" (83). If the second processor also transmits a semaphore read instruction (READ) to the register (85), the second processor accesses the register later than the instruction transmitted from the first processor by the synchronization circuit for the semaphore register. do. In this case, when the second processor reads a value in a situation 84 in which the first processor reads a register value and has not changed the value, the second processor also reads a value of "0". . Accordingly, when the second processor accesses a register, the second processor waits for a predetermined time while another processor accesses and reads a register value. After the first processor changes the register value, the second processor connects to read the value "1" so that the above problem does not occur (87).

즉, T0에서 T1까지의 구간은 제1, 제2 프로세서가 모두 접속하고 있지 않은 상태이다. T1에서 T2까지의 구간은 제1 프로세서가 접속해서 레지스터의 "0" 값을 읽고, 제2 프로세서는 대기중인 상태이다. T2에서 T3까지의 구간은 제1 프로세서가 레지스터 접속을 종료하여 제1, 제2 프로세서 모두 접속하고 있지 않은 상태이다. T3에서 T4까지의 구간은 제2 프로세서가 접속하여 "1" 값을 읽고 있는 상태이다. T4에서 T5까지의 구간은 제2 프로세서도 레지스터 접속을 종료하여 제1, 제2 프로세서 모두 접속하고 있지 않은 상태이다.That is, the interval from T0 to T1 is a state in which neither the first nor the second processor is connected. In the period from T1 to T2, the first processor is connected to read the value "0" of the register, and the second processor is in a waiting state. In the period from T2 to T3, the first processor terminates the register connection and is not connected to both the first and second processors. The interval from T3 to T4 is a state in which the second processor is connected and reading the value "1". In the period from T4 to T5, the second processor also terminates the register connection and neither the first nor the second processor is connected.

이상에서 설명한 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다 는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 형태는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해할 것이다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 동일한 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석될 것이다.Those skilled in the art to which the present invention described above belongs will appreciate that the present invention can be implemented in other specific forms without changing the technical spirit or essential features. It is therefore to be understood that the embodiments described above are in all respects illustrative and not restrictive. The scope of the present invention is defined by the appended claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and from the same concept are to be construed as being included in the scope of the present invention will be.

본 발명에 따르면, 동작 주파수가 서로 다른 두 개의 프로세서 시스템에서 간단하게 직접 접속할 수 있는 효과가 있다. 또한, 데이터 전송이나 상대방 시스템 내의 슬레이브 디바이스를 직접 제어할 수 있어 편리한 효과가 있다. 나아가, 기존 대비 로직 게이트(logic gate)의 수를 1/5로 줄여 시스템 온 칩(SOC)용 비용 절감 및 소형화의 효과도 있다. According to the present invention, there is an effect that a simple direct connection can be made in two processor systems having different operating frequencies. In addition, it is possible to directly control the data transmission or the slave device in the counterpart system, which is convenient. In addition, the number of logic gates can be reduced to 1/5 compared to the conventional method, which can reduce costs and reduce the size of a system-on-chip (SOC).

Claims (13)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 서로 다른 동작 주파수로 동작하는 버스를 사용하는 프로세서 시스템 간의 통신을 위한 통신 시스템의 브릿지(bridge) 모듈에 있어서,In a bridge module of a communication system for communication between processor systems using a bus operating at different operating frequencies, 제1 버스의 동작 주파수를 제2 버스의 동작 주파수로 변환하는 동기화 모듈;A synchronization module for converting an operating frequency of the first bus to an operating frequency of the second bus; 제1 프로세서 시스템에서 수신된 신호를 상기 제2 프로세스 시스템으로 전송하기 위해 신호를 변환하는 신호 변환 모듈;A signal conversion module for converting a signal for transmitting the signal received at the first processor system to the second process system; 상기 제1 프로세서 시스템으로부터 수신한 신호를 상기 동기화 모듈로 전송하는 슬레이브 인터페이스; 및A slave interface for transmitting a signal received from the first processor system to the synchronization module; And 상기 동기화 모듈을 통해 동작 주파수가 변환된 신호를 수신하여 상기 제2 프로세서 시스템으로 전송하는 마스터 인터페이스The master interface for receiving the signal converted the operating frequency through the synchronization module and transmits to the second processor system 를 포함하는, 브릿지 모듈.Including, the bridge module. 제7항에 있어서,The method of claim 7, wherein 상기 브릿지 모듈은 현재 접속 중인 프로세서 시스템의 존재 여부를 통해 동시 접속을 제어하기 위한 접속 제어 모듈을 더 포함하는, 브릿지 모듈.The bridge module further comprises a connection control module for controlling a simultaneous connection through the presence of a processor system that is currently connected. 삭제delete 삭제delete 제7항에 있어서,The method of claim 7, wherein 상기 신호 변환 모듈은 상기 마스터 인터페이스상에 구현되는, 브릿지 모듈.The signal conversion module is implemented on the master interface. 제8 항에 있어서,The method of claim 8, 상기 접속 제어 모듈은 상기 제1 프로세서 시스템 및 제2 프로세서 시스템 중 어느 하나가, 접속하면 제1 값을 가지고 접속을 해제하면 제2 값을 가지는 세마포아 레지스터를 포함하고, 상기 세마포아 레지스터의 값이 제1 값이면 상기 제1 프로세서 시스템 및 제2 프로세서 시스템의 접속을 대기시키는, 브릿지 모듈.The connection control module includes a semaphore register having either a first value when the one of the first processor system and the second processor system has a connection and a second value when the connection is released. And a first value waits for a connection of the first processor system and the second processor system. 제12항에 있어서,The method of claim 12, 상기 접속 제어 모듈은, 상기 제1 프로세서 시스템 및 제2 프로세서 시스템이 상기 세마포아 레지스터에 접속할 때 동작 주파수를 동기화하는 세마포아 동기화 모듈을 더 포함하는, 브릿지 모듈.The connection control module further includes a semaphore synchronization module for synchronizing an operating frequency when the first processor system and the second processor system connect to the semaphore register.
KR1020060112719A 2006-11-15 2006-11-15 Apparatus for communicating between processor systems operating with different operating frequencies KR101276837B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060112719A KR101276837B1 (en) 2006-11-15 2006-11-15 Apparatus for communicating between processor systems operating with different operating frequencies

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060112719A KR101276837B1 (en) 2006-11-15 2006-11-15 Apparatus for communicating between processor systems operating with different operating frequencies

Publications (2)

Publication Number Publication Date
KR20080043983A KR20080043983A (en) 2008-05-20
KR101276837B1 true KR101276837B1 (en) 2013-06-18

Family

ID=39662077

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060112719A KR101276837B1 (en) 2006-11-15 2006-11-15 Apparatus for communicating between processor systems operating with different operating frequencies

Country Status (1)

Country Link
KR (1) KR101276837B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102484350B1 (en) * 2015-12-16 2023-01-04 한화테크윈 주식회사 Communication method of processors
CN117312221B (en) * 2023-11-28 2024-03-15 西安现代控制技术研究所 Triggering type SPI data communication method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633994B1 (en) * 2000-02-22 2003-10-14 International Business Machines Corporation Method and system for optimizing data transfers between devices interconnected by buses operating at different clocking speeds

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633994B1 (en) * 2000-02-22 2003-10-14 International Business Machines Corporation Method and system for optimizing data transfers between devices interconnected by buses operating at different clocking speeds

Also Published As

Publication number Publication date
KR20080043983A (en) 2008-05-20

Similar Documents

Publication Publication Date Title
US7305510B2 (en) Multiple master buses and slave buses transmitting simultaneously
CN105068951B (en) A kind of system-on-chip bus with non-isochronous transfers structure
JP2002530744A (en) Communication system and method with multi-level connection identification
JPH077374B2 (en) Interface circuit
CN102207920B (en) Conversion bridge for conversion from BVCI (basic virtual component interface) bus to AHB (advanced high performance bus)
KR100291409B1 (en) Method and apparatus for supporting two secondary decode agents on the same bus in a computer system
JP2000082038A (en) Information processor
CN103246623A (en) Computing device extension system for system on chip (SOC)
KR101276837B1 (en) Apparatus for communicating between processor systems operating with different operating frequencies
US7340553B2 (en) Data processing device and method for transferring data
US6584536B1 (en) Bus transaction accelerator for multi-clock systems
WO1996035996A1 (en) Master oriented buffer
JP4188446B2 (en) Data exchange apparatus and method
JPH0337221B2 (en)
EP4022445B1 (en) An apparatus and method for handling ordered transactions
US7167939B2 (en) Asynchronous system bus adapter for a computer system having a hierarchical bus structure
US20020174282A1 (en) Multiprocessor system
US5636370A (en) System and method for interfacing risc busses to peripheral circuits using another template of busses in a data communication adapter
US6378019B1 (en) Method and system for interfacing a plurality of peripheral devices in a slave group interface device to a bus and a slave group interface device
US7702838B2 (en) Method and apparatus for configuration space extension bus
EP1242897B1 (en) Method and apparatus for differential strobing in a communications bus
KR100243868B1 (en) Arbiter logic in main computer system
US6505276B1 (en) Processing-function-provided packet-type memory system and method for controlling the same
CN117708035A (en) Communication system and method of AD chip
KR20010046914A (en) Data interface circuit

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160524

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee