KR100661519B1 - A processor apparatus having a function of restoring buffer mismatch between the core processor and the communication processor and the method thereof - Google Patents
A processor apparatus having a function of restoring buffer mismatch between the core processor and the communication processor and the method thereof Download PDFInfo
- Publication number
- KR100661519B1 KR100661519B1 KR1020050126642A KR20050126642A KR100661519B1 KR 100661519 B1 KR100661519 B1 KR 100661519B1 KR 1020050126642 A KR1020050126642 A KR 1020050126642A KR 20050126642 A KR20050126642 A KR 20050126642A KR 100661519 B1 KR100661519 B1 KR 100661519B1
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- buffer
- buffer descriptor
- data
- empty bit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
Abstract
Description
도 1은 종래 기술의 기지국 제어기(BSC: Base Station Controller)의 블록 구성도이고,1 is a block diagram of a conventional base station controller (BSC),
도 2는 프로세서 장치의 블록 구성도이며,2 is a block diagram of a processor device,
도 3은 도 2의 프로세서 장치 중 버퍼 디스크립터(Buffer Descriptor)의 구조를 나타내는 도면이고,FIG. 3 is a diagram illustrating a structure of a buffer descriptor of the processor device of FIG. 2.
도 4는 본원 발명의 프로세서 장치의 코어 프로세서와 통신 프로세서의 버퍼 디스크립터 미스 매치 복구 방법의 상세 처리과정을 나타내는 순서도이다.4 is a flowchart illustrating a detailed process of a method of recovering a buffer descriptor mismatch between a core processor and a communication processor of the processor device of the present invention.
* 도면의 주요 부호에 대한 설명 *Description of the main symbols in the drawings
1: 기지국 제어기(BSC: Base Station Controller)1: Base Station Controller (BSC)
2: ATM 서브시스템 블록(ALSB: ATM Low Speed Subsystem Block)2: ATM Low Speed Subsystem Block (ALSB)
3: ATM 스위치 블록(ASMB: ATM Switch Module Block)3: ATM Switch Module Block (ASMB)
4: 호 및 시그널 블록(CCSB: Call Control & No.7 Signaling Block)4: Call Control & No.7 Signaling Block (CCSB)
5: 실렉팅 블록(SLB: Selector Block)5: Selector Block (SLB)
6: 보코더 블록(VCB: Vocoder Block)6: Vocoder Block (VCB)
10: 프로세서 장치10: processor unit
11: 코어프로세서(Core: Core Processor)11: Core Processor
12: 통신프로세서(CPM: Communication Processor Module)12: Communication Processor Module (CPM)
13: 버퍼(Buffer)13: Buffer
14: 버퍼 디스크립터(BD: Buffer Descriptor)14: Buffer Descriptor (BD)
14a~14n…: 버퍼 디스크립터 필드14a-14n... : Buffer Descriptor Field
14a'~14n'....: 엠프티 비트(empty bit)14a '~ 14n' ....: empty bit
*기지국 송수신 서브시스템(약칭 "기지국")(BTS: Base Station Transceiver Subsystem)* Base Station Transceiver Subsystem (abbreviated as "Base Station") (BTS: Base Station Transceiver Subsystem)
*기지국 교환기(MSC: Mobile Switching Center)* Base Switching Center (MSC: Mobile Switching Center)
본원 발명은 통신 시스템의 프로세서에 관한 것으로서, 더욱 상세하게는 통신 프로세서(CPM: Communication Processor Module)와 코어 프로세서(Core: Core Processor)의 버퍼 디스크립터(Buffer Descriptor) 미스 매치(Mismatch) 복구 기능을 가지는 프로세서 장치 및 그 방법에 관한 것이다.The present invention relates to a processor of a communication system, and more particularly, a processor having a buffer descriptor mismatch recovery function of a communication processor (CPM) and a core processor (Core). An apparatus and a method thereof are provided.
도 1은 종래 기술의 기지국 제어기(BSC: Base Station Controller)의 블록 구성도이고, 도 2는 상술한 통신 시스템의 프로세서 중 코어 프로세서와 통신 프로 세서가 분리 구성된 프로세서 장치의 블록 구성도를 나타내는 도면이다.FIG. 1 is a block diagram of a base station controller (BSC) of the related art, and FIG. 2 is a block diagram of a processor device in which a core processor and a communication processor are separated among the processors of the above-described communication system. .
도 1에 도시된 바와 같이 통신 시스템의 일 예로서의 기지국 제어기(BSC: Base Station Controller)(1)는 ATM스위치블록(ASMB: ATM Switch Module Block)(3)과 기지국 송수신 서브시스템(BTS: Base station transceiver subsystem)의 사이에서 중계선을 통해 입력되는 ATM 셀(cell)에 대한 다중화 및 역다중화(muxing/demuxing)를 수행하는 ATM 서브시스템 블록(ALSB: ATM Low Speed Subsystem Block)(2)과; BSC 내에서 ATM 셀(cell) 형태의 모든 트래픽(Traffic), 컨트롤(control) 데이터(data)들을 해당 목적지로 전달되도록 해주는 ATM 스위칭 기능을 수행하는 ATM 스위치 블록(ASMB: ATM Switch Module Block)(3)과; 호처리 제어기능, 자원관리기능 등을 수행하는 호 및 시그널 블록(CCSB: Call Control & No.7 Signaling Block)(4)과; 소프트 핸드오프(Soft H/O) 기능 및 라디오 링크 프로토콜(Radio link protocol) 종단처리를 수행하는 실렉팅 블록(SLB: Selector Block)(5)과; 음성 데이터(data)를 PCM 데이터(data)로 인코딩/디코딩(encoding/decoding)을 수행하여 기지국 교환기(MSC: Mobile Switching Center)와 통신을 수행하는 보코더 블록(VCB: Vocoder Block)(6)을 포함하여 구성된다.As shown in FIG. 1, a base station controller (BSC) 1 as an example of a communication system includes an ATM switch module block (ASMB) 3 and a base station transceiver (BTS). an ATM Low Speed Subsystem Block (ALSB) 2 for performing multiplexing and muxing / demuxing on ATM cells inputted through relay lines between subsystems; ATM Switch Module Block (ASMB), which performs the ATM switching function to transfer all traffic and control data in the form of ATM cells to the destination. )and; A call and signal block (CCSB) (4) which performs a call processing control function, a resource management function, and the like; A selecting block (SLB) 5 for performing a soft handoff (Soft H / O) function and radio link protocol termination; It includes a Vocoder Block (VCB) 6 that performs communication with a Mobile Switching Center (MSC) by encoding / decoding voice data into PCM data. It is configured by.
도 1의 기지국 제어기(BSC: Base Station Controller)의 경우 ATM 프로토콜(ATM Protocol)을 이용해서 데이터(data)를 송수신하는 경우를 예로 든 것으로서 프로세서 장치들에서 AAL 프레임을 STM-1 신호로 변환하여 다른 구성 블록으로 전송하고, 다른 구성 블록으로부터 수신된 STM-1 신호를 ATM 통신 프로토콜을 이용하여 AAL 프레임으로 변환한 후 데이터를 추출하여 신호처리를 수행한 후 다시 STM-1 신호로 변환하여 다른 구성 블록으로 전송하도록 동작한다.The base station controller (BSC) of FIG. 1 is an example of transmitting and receiving data using an ATM protocol, and converting an AAL frame into an STM-1 signal in another processor device. Transmit the STM-1 signal received from the other building blocks to the AAL frame using ATM communication protocol, extract the data, perform the signal processing, and then convert the STM-1 signal to another building block again. To transmit to the network.
상술한 BSC(1)와 같은 일반적인 통신 시스템에서 각각의 구성 블록들(2 ~6)은 각각의 고유 기능을 위한 데이터 처리 및 외부 기능 블록과의 데이터 통신을 위한 프로세서 장치를 구비한다.In a general communication system such as the
이를 위하여 상술한 바와 같은 통신 시스템의 각각이 구성 블록에 사용되는 프로세서 장치는 실제 운영체제코드(OS code)를 읽어서 연산처리를 수행하는 호스트프로세서(host Processor)(이하 "코어프로세서(Core: Core Processor)"라 함) 기능과 외부와 여러 프로토콜을 이용해서 통신을 담당하는 통신 프로세서(Communication Processor Module)(이하 "CPM"이라 함) 기능을 수행하도록 구성된다. 상기 코어 프로세서 기능과 통신 프로세서 기능은 하나의 프로세서로 구성되거나 또는 코어 프로세서와 통신 프로세서로 분리 구성될 수 있다.To this end, a processor device used in each component block of the communication system as described above is a host processor (hereinafter referred to as a "core processor (Core)) which reads an operating system code and performs arithmetic processing. It is configured to perform a "Communication Processor Module" (hereinafter referred to as "CPM") function that is responsible for communication by using the "") function and external and various protocols. The core processor function and the communication processor function may be configured as one processor or may be separately configured as a core processor and a communication processor.
예를 들면 모토롤라의 MPC8260은 코어프로세서(Core)와 통신 프로세서(CPM)가 하나의 프로세서에 존재한다. 그러나 MPC750은 코어프로세서(core)만 존재하여 외부에 따로 여러 가지 통신 프로토콜에 적합한 통신 프로세서(CPM)를 연결해서 사용한다.Motorola's MPC8260, for example, has a core processor and a communication processor (CPM) in one processor. However, the MPC750 has only a core processor and uses a communication processor (CPM) suitable for various communication protocols externally.
도 2는 상술한 바와 같이 통신 프로세서 기능과 코어 프로세서 기능이 분리된 프로세서 장치(10)의 구성을 나타내는 도면으로서, 이 경우 상기 MPC8260의 코어프로세서(core)는 디스에이블(disable) 시켜서 통신 프로세서(CPM)만 동작시키고 코어프로세서(core)는 외부에서 MPC750을 사용하는 것이 그 예가 될 수 있다. FIG. 2 is a diagram illustrating a configuration of a
도 2에 도시된 바와 같이, 코어 프로세서와 통신 프로세서 기능이 분리되어 구성되는 프로세서 장치(10)는 운영체제 코드(OS code)에 의한 데이터에 대한 연산처리를 수행하는 코어 프로세서(Core)(11)와; 외부와의 통신을 위한 통신 프로토콜에 의한 데이터 통신을 수행하는 통신 프로세서(CPM: Communication Processor Module)(12)와; 코어 프로세서(11)와 통신 프로세서(12) 사이의 송수신 데이터를 저장하는 버퍼(Buffer)(13)와; 버퍼(13)에 저장된 송수신 대상 데이터에 대한 정보를 저장하는 버퍼 디스크립터(BD: Buffer Descriptor)(14)를 포함하여 구성된다.As shown in FIG. 2, a
상기 버퍼(13)에는 실제 주고 받을 데이터(data)를 저장한다. 그리고 버퍼 디스크립터(BD: Buffer Descriptor)(14)에는 버퍼(buffer)(13)에 저장되어 있는 데이터(data)에 대한 정보 및 버퍼(buffer)(13)의 데이터 저장 위치 정보가 기록된다.The
도 3은 상술한 버퍼 디스크립터(BD)(14)의 구조를 나타내는 도면으로서, 도 3에 도시된 바와 같이, 상기 버퍼 디스크립터(BD)(14)는 버퍼 디스크립터 포인터 대응 버퍼 디스크립터 필드(14a~14n.....)를 가지며, 버퍼 디스크립터 필드(14a ~ 14n...)의 각각에는 버퍼 디스크립터 필드가 기록되어 있는지 비어 있는 지를 나타내는 엠프티 비트(14a'~14n'....)와 버퍼 기록 데이터의 크기정보(size), CRC, 랩 비트(rap bit), 포인터(pointer) 등의 정보가 기록되는 데이터 필드가 가진다. 이때 엠프티 비트가 '0'이면 기록된 상태를, '1'이면 비어 있는 상태를 나타낸다.3 is a diagram showing the structure of the above-described buffer descriptor (BD) 14, and as shown in FIG. 3, the buffer descriptor (BD) 14 is a buffer descriptor pointer corresponding
상술한 버퍼 디스크립터 필드의 구조에서 데이터를 읽어 들이는 입장에서는 엠프티 비트(empty bit)가 '0'으로 되어있으면 해당 버퍼 디스크립터(BD)의 필드(14a~ 14n...)에 대응되는 버퍼(buffer)(13)의 저장 위치에 읽어 들인 데이터 (data)가 있다는 것을 나타내고, 엠프티 비트(empty bit)가 '1'로 되어있으면 해당 버퍼 디스크립터(BD)의 필드(14a~ 14n...)에 대응되는 버퍼(buffer)(13)의 저장 위치에 읽어 들인 데이터(data)가 없다는 것을 나타낸다.In the position of reading data from the structure of the buffer descriptor field described above, if the empty bit is '0', the buffer corresponding to the
그리고 상기 버퍼에 쓰기 하는 입장(전송측 입장)에서는 엠프티 비트(empty bit)가 '0'이면 해당 버퍼 디스크립터(BD)의 필드(14a~ 14n...)에 대응되는 버퍼(buffer)(13)의 위치에 데이터가 기록되어 있어 데이터를 기록할 수 없다는 것을 의미하며, 엠프티 비트(empty bit)가 '1'로 되어있으면 해당 버퍼 디스크립터(BD) 필드(14a~ 14n...)에 대응되는 버퍼(buffer)(13)의 저장 위치에 데이터를 기록할 수 있다는 것을 나타낸다.In the entry to the buffer (transmission side), if the empty bit is '0', the
따라서, 상대측 프로세서는 버퍼 디스크립터(BD)(14)를 보면 버퍼(buffer)(13)에서 데이터(data)를 정확하게 읽어 들일 수 있다.Accordingly, the counterpart processor can read the data correctly from the
즉, 상술한 바와 같이 통신 프로세서와 코어 프로세서가 분리구성된 프로세서 장치에서 코어 프로세서(11)와 통신 프로세서(12)는 전송 대상 데이터를 버퍼(13)에 저장한 경우에는 버퍼 기록 정보를 버퍼 디스크립터(BD)에 저장한 후 인터럽트 신호를 상대방에게 출력하고 상대방은 인터럽트 신호를 수신한 경우 버퍼 디스크립터 포인터를 이용하여 상대방이 버퍼에 기록한 데이터를 읽어 들이게 된다. 즉, 도 2에 도시된 바와 같이, 코어 프로세서(Core)(11)와 통신 프로세서(CPM)(12)는 버퍼(buffer)(13)와 버퍼 디스크립터(BD)(14)를 사이에 두고 서로 유기적으로 동작을 한다. That is, in the processor device in which the communication processor and the core processor are separately configured as described above, the
이때 버퍼 디스크립터(BD)의 버퍼 기록 정보의 저장 위치는 코어 프로세서 (11)와 통신 프로세서(12)의 약속된 제어에 의해 독립적으로 제어하여 서로 일치되도록 동작되는 버퍼 디스크립터 포인터에 의해 식별된다.At this time, the storage position of the buffer write information of the buffer descriptor BD is identified by the buffer descriptor pointer which is controlled independently by the promised control of the
도 1 및 도 3을 참조하여 상술한 종래기술의 프로세서 장치(10)에서 코어 프로세서(11)와 통신 프로세서(12) 사이의 데이터 송수신 과정을 설명하면 다음과 같다.Referring to FIGS. 1 and 3, a process of transmitting and receiving data between the
먼저, 코어 프로세서에서 데이터를 송신하는 경우를 가정하여 설명하면 도 1은 ATM 셀(Cell)에 의해 데이터를 송수신하는 경우이므로 코어 프로세서(Core)(11)에서 생성된 프레임(frame)은 AAL 프레임(frame)으로 변환된 후 변환된 AAL 프레임(frame)을 버퍼(13)에 저장한다. 그리고 버퍼 디스크립터(BD)(14)의 대응되는 버퍼 디스크립터 필드(14a~14n...)에서 엠프티 비트(empty bit)를 '0'으로 기록하고 버퍼(13) 기록 데이터 정보를 기록한 후 통신 프로세서(12)에게 인터럽트(interrupt) 신호를 보낸다. 그러면 통신 프로세서(CPM)(12)는 버퍼 디스크립터(BD)(14)의 엠프티 비트(empty bit)를 보고 엠프티 비트(empty bit)가 '0'이면 그 버퍼 디스크립터 필드(14a~14n....)에 기록된 정보를 읽어 들인 후 해당 버퍼(buffer)(13)의 저장위치에서 전송 대상 프레임(frame)을 읽어 들인 후 ATM 셀(cell)로 변환한 후 STM-1 신호로 변환하여 OSI 7 계층의 물리계층(physical layer)을 통해 다른 구성 블록의 프로세서 장치로 전송한다.First, assuming that the core processor transmits data, since FIG. 1 illustrates a case of transmitting and receiving data by an ATM cell, a frame generated by the
코어 프로세서에서 데이터를 수신하는 경우에는 상술한 처리 과정을 역으로 수행하게 되며, OSI 7 계층(layer)의 물리계층(physical layer)을 통해서 수신된 ATM 데이터(data)는 프로세서 장치(10)의 통신 프로세서(CPM)(12)에 의해서 AAL 프 레임(frame)으로 변환된다. 변환된 데이터(data)는 버퍼(buffer)의 미리 약속된 저장 위치에 저장하고 그 내용을 버퍼 대스크립터(BD)(14)에 적어놓은 후 마지막으로 엠프티 비트(empty bit)를 '0'으로 기록한다. 그리고 코어 프로세서(Core)(11)에게 인터럽트(interrupt) 신호를 출력한다. 인터럽트 신호를 감지한 코어 프로세서(Core)(11)는 버퍼 디스크립터(BD)(14)의 인터럽트 대상 버퍼 디스크립터 필드(14a~14n....)의 엠프티 비트(empty bit)를 보고 '0'이면 버퍼 디스크립터(BD) 필드(14a~14n...)의 나머지 정보를 읽어서 실제 데이터(data)가 저장되어 있는 버퍼(buffer)(13)의 저장위치에서 AAL프레임(frame)을 읽어 들여 데이터 처리를 수행한다.In the case of receiving data from the core processor, the above-described processing is performed in reverse, and ATM data received through the physical layer of the OSI 7 layer is communicated with the
그러나 상술한 바와 같이 코어 프로세서와 통신 프로세서가 분리 구성되어 버퍼와 버퍼 디스크립터에 의해 데이터를 송수신하는 경우 데이터 전송측 프로세서가 데이터(data)를 버퍼(buffer)(13)에 기록(write)한 후 버퍼 디스크립터(BD)(14)의 엠프티 비트(14a'~ 14n'...)를 '0'으로 기록하지 않고 수신측 프로세서에게 인터럽트(interrupt) 신호를 보낸다든지, 아니면 버퍼 디스크립터(BD)의 버퍼 디스크립터 필드(14a~14n....) 하나를 건너뛰고 그 다음 버퍼 디스크립터 필드에 데이터를 기록한 후 인터럽트(interrupt) 신호를 수신측 프로세서에게 출력하게 되면, 전송측 프로세서의 버퍼 디스크립터 포인터(BD pointer)와 수신측 프로세서의 버퍼 디스크립터 포인터(BD pointer)가 미스 매치(mismatch)되는 버퍼 디스크립터 미스 매치 현상이 발생한다.However, as described above, when the core processor and the communication processor are separately configured to transmit and receive data by the buffer and the buffer descriptor, the data transfer side processor writes the data to the
상술한 바와 같은 버퍼 디스크립터 미스 매치 현상이 발생하면 수신측 프로세서에서 버퍼 디스크립터(BD)의 해당 버퍼 디스크립터 필드(14a~14n...)를 보았을 때 엠프티 비트(empty bit)가 '1'로 되어 있으므로 버퍼(13)에서 읽어들일 데이터(data)가 없다고 판단하게 되어 버퍼(13)에 기록된 전송 대상 데이터(data)를 읽지 못하게 된다. 상술한 바와 같은 상황이 발생하게 되면 그 다음에 다른 데이터(data)가 와도 수신측 프로세서는 영원히 복구되지 못하고 멈춰버린다.If the above-described buffer descriptor mismatch occurs, the empty bit becomes '1' when the receiving processor sees the corresponding buffer descriptor fields 14a to 14n ... of the buffer descriptor BD. Therefore, it is determined that there is no data to be read from the
따라서, 본원 발명은 상술한 종래 기술의 문제점을 해결하기 위한 것으로서, 코어 프로세서와 통신 프로세서가 분리 구성된 프로세서 장치에 있어서, 버퍼 디스크립터 미스 매치 현상이 발생하는 경우, 전송측 버퍼 디스크립터 포인터(Buffer Descriptor Pointer)와 수신측 버퍼 디스크립터 포인터(Buffer Descriptor Pointer)를 비교하여 버퍼 디스크립터 포인터(Buffer Descriptor Pointer)가 동일한 경우에는 인터럽트 신호 대기상태가 되고, 버퍼 디스크립터 포인터가 불일치되는 경우에는 수신측 버퍼 디스크립터 포인터(Buffer Descriptor Pointer)를 1씩 증가시켜 가면서 버퍼 디스크립터 미스 매치((Buffer Descriptor Mismatch) 상황이 발생한 경우에 전송측이 버퍼에 저장한 데이터를 모두 읽어 들인 후 인터럽트 대기 상태로 진입하도록 하는 것에 의해 버퍼 디스크립터 미스 매치((Buffer Descriptor Mismatch) 상황을 복구할 수 있도록 하는 코어 프로세서와 통신 프로세서의 버퍼 디스크립터 미스 매치 복구 기능을 가지는 프로세서 장치 및 그 방법을 제공하는 것을 그 목적으로 한다.Accordingly, the present invention is to solve the above-described problems of the prior art, in the processor device configured to separate the core processor and the communication processor, when a buffer descriptor mismatch occurs, a transmission-side buffer descriptor pointer (Buffer Descriptor Pointer) If the buffer descriptor pointer is the same, the interrupt signal wait state is reached. If the buffer descriptor pointer is inconsistent, the buffer descriptor pointer is buffered. Increasing the value by 1 and increasing the buffer descriptor mismatch ((Buffer Descriptor Mismatch) when the sender reads all the data stored in the buffer and enters the interrupt wait state. Buffer It is an object of the present invention to provide a processor device having a core descriptor and a buffer descriptor mismatch recovery function of a communication processor capable of recovering a situation, and a method thereof.
상술한 목적을 달성하기 위한 본원 발명의 코어 프로세서와 통신 프로세서의 버퍼 디스크립터 미스 매치 복구 기능을 가지는 프로세서 장치는, 운영체제 코드에 의한 데이터 연산처리를 수행하는 코어 프로세서와; 외부와 통신 프로토콜에 의한 데이터 통신을 수행하는 통신 프로세서와; 상기 코어 프로세서와 통신 프로세서가 상대측 프로세서로 전송될 전송 데이터를 기록하고 읽어 들이는 버퍼와; 상기 코어 프로세서와 통신 프로세서가 상기 전송 대상 데이터 정보를 기록하는 버퍼 디스크립터(Buffer Descriptor);를 포함하여 구성되고, 상기 코어 프로세서와 상기 통신 프로세서는 버퍼 디스크립터 미스 매치 상황 발생시 수신측이 되는 프로세서가 상대측 프로세서의 버퍼 디스크립터 포인터와 자신의 버퍼 디스크립터 포인터를 비교하여 버퍼 디스크립터 미스 매치 상황을 복구한 후 데이터를 읽어 들이도록 동작하는 버퍼 디스크립터 미스 매치 복구 기능을 구비한 것을 특징으로 한다.A processor device having a buffer descriptor miss match recovery function of a core processor and a communication processor of the present invention for achieving the above object includes a core processor for performing data operation processing by the operating system code; A communication processor for performing data communication with an external communication protocol; A buffer in which the core processor and the communication processor record and read transmission data to be transmitted to a counterpart processor; The core processor and the communication processor is configured to include a buffer descriptor (Buffer Descriptor) for recording the transmission target data information, the core processor and the communication processor is a processor that is the receiving side when a buffer descriptor mismatch situation occurs And a buffer descriptor mismatch recovery function operable to read data after recovering a buffer descriptor mismatch situation by comparing the buffer descriptor pointer with its buffer descriptor pointer.
상기 버퍼 디스크립터 미스 매치 복구 기능은 버퍼 저장 데이터에 대한 버퍼 디스크립터 미스 매치(Buffer Descriptor Mismatch)가 발생한 경우 상기 코어 프로세서와 상기 통신 프로세서 중 수신측 프로세서는 전송측 프로세서의 버퍼 디스크립터 포인터(Buffer Descriptor Pointer)와 자신의 버퍼 디스크립터 포인터(Buffer Descriptor Pointer)를 비교하여 일치하면 인터럽트 대기 상태가 되고, 일치하지 않는 경우 자신의 버퍼 디스크립터 포인터를 증가시켜 데이터 기록으로 할당된 버퍼 디스크립터 대응 상기 버퍼의 저장 데이터를 순차적으로 읽어 들인 후 상기 엠프티 비트가 데이터 미기록인 상태가 되면 인터럽트 대기 상태가 되는 것을 특징으로 한다.The buffer descriptor mismatch recovery function may include a buffer descriptor pointer of a transmitting processor when a buffer descriptor mismatch for buffer stored data occurs. If it matches and compares its own Buffer Descriptor Pointer, if it is matched, it will be interrupted. If it does not match, it will increase its Buffer Descriptor Pointer and correspond to the Buffer Descriptor allocated for data recording. After the input, when the empty bit is in a state where data is not written, an interrupt wait state is provided.
상술한 목적을 달성하기 위한 본원 발명의 코어 프로세서와 통신 프로세서를 구비한 프로세서 장치의 버퍼 디스크립터 미스 매치 복구 방법은, 코어 프로세서와 통신 프로세서가 분리 구성된 프로세서 장치에 있어서, 상대 측 프로세서의 인터럽트 신호를 수신한 수신측 프로세서가 버퍼 디스크립터 포인터(Buffer Descriptor Pointer) 대상 버퍼 디스크립터 필드(Buffer Descriptor field)의 엠프티 비트(empty bit)를 검사하는 제 1 엠프티 비트 판단 과정과; 상기 제 1 엠프티 비트 판단 과정의 엠프티 비트가 기록 상태인 경우 데이터를 읽어 들인 후 처리과정을 종료하고, 미 기록 상태인 경우 상기 상대측 프로세서의 버퍼 디스크립터 포인터를 자신의 버퍼 디스크립터 포인터와 비교하여 일치하는 경우 처리과정을 종료하며, 일치하지 않은 경우 자신의 버퍼 디스크립터 포인터를 순차적으로 증가시키는 것에 의해 버퍼 디스크립터 미스 매치 상황을 복구한 후 데이터를 읽어 들이는 버퍼 디스크립터 미스 매치 복구 과정;을 포함하여 이루어지는 것을 특징으로 한다.A buffer descriptor miss match recovery method of a processor device having a core processor and a communication processor of the present invention for achieving the above object is a processor device in which a core processor and a communication processor are separated, and receives an interrupt signal of a counterpart processor. A first empty bit determining step of a receiving processor checking an empty bit of a buffer descriptor pointer (Buffer Descriptor Point) target buffer descriptor field; If the empty bit of the first empty bit determination process is in the write state, the data is read and the processing is terminated. If the empty bit is in the unrecorded state, the buffer descriptor pointer of the counterpart processor is compared with its buffer descriptor pointer. If the process is terminated, and if there is a mismatch, the buffer descriptor mismatch recovery process of recovering the buffer descriptor mismatch situation and reading data by sequentially increasing the buffer descriptor pointers thereof; It features.
상기 버퍼 디스크립터 필드는 엠프티 비트가 '0'이면 기록된 상태를, '1'이면 비어 있는 상태를 나타내도록 설정되고, 상기 버퍼 디스크립터 필드(14a~14n....)에 기록된 버퍼(13) 기록 데이터에 대한 정보는 버퍼 기록 데이터의 크기정보(size), CRC, 랩 비트(rap bit), 포인터(pointer) 등의 정보가 기록된다.The buffer descriptor field is set to indicate a recorded state when the empty bit is '0', and an empty state when the empty bit is '1', and the
상기 버퍼 디스크립터 미스 매치 복구 과정은, 상기 제 1 엠프티 비트 판단 과정의 판단 결과 엠프티 비트가 미 기록 상태인 경우 상대측 프로세서의 버퍼 디스크립터 포인터와 자신(수신측 프로세서)의 버퍼 디스크립터 포인터를 비교하는 버퍼 디스크립터 포인터 비교 과정과; 상기 버퍼 디스크립터 포인터 비교 과정의 비교 결과 상기 버퍼 디스크립터 포인터가 일치하면 인터럽트 대기 상태로 되어 처리과정을 종료하고, 일치하지 않는 경우 자신(수신측 프로세서)의 버퍼 디스크립터 포인터를 1 증가시킨 후 대상 버퍼 디스크립터 필드의 엠프티 비트가 기록 상태인지 미기록 상태인지를 판단하는 제 2 엠프티 비트 판단 과정과; 상기 제 2 엠프티 비트 판단 과정의 판단 결과 상기 엠프티 비트가 미 기록 상태인 경우 인터럽트 대기 상태로 진입하여 처리과정을 종료하고, 기록 상태인 경우 상기 버퍼 디스크럽터 필드 대응 버퍼의 저장 데이터를 읽어 들인 후 상기 제 2 엠프티 비트 판단 과정으로 복귀하는 버퍼 읽기 과정;을 포함하여 구성되는 것을 특징으로 한다.The buffer descriptor mismatch recovery process is a buffer that compares a buffer descriptor pointer of a counterpart processor with a buffer descriptor pointer of its own (receive side processor) when an empty bit is unrecorded as a result of the determination of the first empty bit determination process. A descriptor pointer comparison process; As a result of the comparison of the buffer descriptor pointers, if the buffer descriptor pointers are matched, the process is interrupted and the process ends. If the buffer descriptor pointers do not match, the target buffer descriptor field is increased by one (1). A second empty bit determining step of determining whether an empty bit of the recording state is a recorded state or an unrecorded state; As a result of the determination of the second empty bit determination process, when the empty bit is in the unrecorded state, the empty bit enters the interrupt wait state and terminates the processing. And a buffer read process for returning to the second empty bit determination process.
상기 버퍼 읽기 과정은, 상기 버퍼 디스크립터 필드의 엠프티 비트가 기록 상태인 경우 상기 버퍼 디스크립터 필드 대응 버퍼의 저장 데이터를 읽는 데이터 읽기 과정과; 상기 데이터 읽기 과정 후 상기 데이터 정보 대응 버퍼 디스크립터 필드의 엠프티 비트를 미 기록으로 설정한 후 상기 제 2 엠프티 비트 판단 과정으로 이동하는 엠프티 비트 초기화 과정;을 더 포함하여 이루어지는 것을 특징으로 한다.The buffer reading process includes: a data reading process of reading stored data of a buffer corresponding to the buffer descriptor field when an empty bit of the buffer descriptor field is in a write state; And an empty bit initialization process of setting an empty bit of the data information corresponding buffer descriptor field to an unrecorded after the data reading process and then moving to the second empty bit determining process.
이하, 첨부 도면을 참조하여 본원 발명을 더욱 상세히 설명한다.Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings.
본원 발명의 프로세서 장치와 버퍼 디스크립터(Buffer Descriptor)의 구조는 기능을 제외하고는 도 2 및 도 3과 동일한 구성을 가진다. 따라서, 도 2 및 도 3을 참조하여 본원 발명의 프로세서 장치를 설명하면 다음과 같다.The structures of the processor device and the buffer descriptor of the present invention have the same configuration as those of FIGS. 2 and 3 except for the functions. Accordingly, the processor device of the present invention will be described with reference to FIGS. 2 and 3 as follows.
도 2에 도시된 바와 같이, 본원 발명의 프로세서 장치(10)는 코어 프로세서(11)와; 인터럽트 신호(Interrupt Signal)에 의해 코어 프로세서(11)와 데이터 송 수신을 수행하는 통신 프로세서(12)와; 코어 프로세서(11)와 통신 프로세서(12)에 사이에서 송수신되는 데이터를 임시 저장하는 버퍼(13)와; 코어 프로세서(12) 및 통신 프로세서(14)가 버퍼(13)에 저장한 데이터에 대한 정보를 기록하고 버퍼 디스크립터 포인터(Buffer Descriptor)에 의해 코어 프로세서(11) 또는 통신 프로세서(12)에 의해 읽혀져 상대방 프로세서가 버퍼(13)에 기록한 데이터를 버퍼(13)로부터 읽어 들일 수 있도록 하는 버퍼 디스크립터(14)를 포함하여 구성된다.As shown in FIG. 2, the
그리고 상기 버퍼 디스크립터(Buffer Descriptor)(14)는 도 3에 도시된 바와 같이, 적어도 하나 이상의 버퍼 디스크립터 필드(14a~14n....)로 이루어지고, 버퍼 디스크립터 필드(14a~14n....) 각각은 각각의 필드에 데이터의 기록 상태를 알리는 엠프티 비트(empty bit)와 버퍼에 기록한 데이터 정보를 저장하는 영역을 구비하여 코어 프로세서(11) 및 통신 프로세서(12)가 버퍼 디스크립터 포인터를 이용하여 상대측 프로세서로 전송할 데이터를 버퍼(13)에 기록하고, 상대측 프로세서로부터 전송되는 데이터를 버퍼(13)로부터 읽어 들일 수 있도록 한다. 이때 엠프티 비트가 '0'이면 기록된 상태를, '1'이면 비어 있는 상태를 나타내며, 상기 버퍼 디스크립터 필드(14a~14n....)에 기록된 버퍼(13) 기록 데이터에 대한 정보는 버퍼 기록 데이터의 크기정보(size), CRC, 랩 비트(rap bit), 포인터(pointer) 등의 정보가 기록되는 것임은 상술한 바와 같다. 그리고 버퍼 디스크립터 포인터(Buffer Descriptor Pointer)는 기 설정된 카운터에 의해 코어 프로세서와 통신 프로세서가 동일한 값을 가지도록 유지된다.As shown in FIG. 3, the
도 2 및 도 3을 참조하여 상술한 본원 발명의 프로세서 장치(10)의 각 구성 을 더욱 상세히 설명하면 다음과 같다.Referring to Figures 2 and 3 will be described in more detail for each configuration of the above-described
상기 코어 프로세서(Core)(11)는 운영체제 코드(OS code)에 의한 데이터 연산처리를 수행한다. 그리고 통신 프로세서(12)로부터의 버퍼(13)와 버퍼 디스크립터(14)를 매개로 하는 데이터 전송시 코어 프로세서와 통신 프로세서의 버퍼 디스크립터 포인터가 불일치되는 버퍼 디스크립터 미스 매치(Buffer Descriptor Mismatch)가 발생한 경우 통신 프로세서(12)의 버퍼 디스크립터 포인터(Buffer Descriptor Pointer)와 자신의 버퍼 디스크립터 포인터(Buffer Descriptor Pointer)를 비교하여 버퍼 디스크립터 미스 매치(Buffer Descriptor Mismatch)를 복구한 후 버퍼(13)로부터 데이터를 읽어 들이는 버퍼 디스크립터 미스 매치 복구 기능을 가지는 것을 특징으로 한다.The
통신 프로세서도 동일한 방법에 의한 버퍼 디스크립터 미스 매치 복구를 수행하는 버퍼 디스크립터 미스 매치 복구 기능을 가진다.The communication processor also has a buffer descriptor miss match recovery function that performs buffer descriptor mismatch recovery by the same method.
상기 통신 프로세서(CPM: Communication Processor Module)(12)는 외부와의 통신을 위한 통신 프로토콜에 의한 데이터 통신을 수행한다. 그리고 상기 통신 프로세서(CPM) 또한 코어 프로세서(11)로부터의 버퍼(13)와 버퍼 디스크립터(14)를 매개로 하는 데이터 전송시 버퍼 디스크립터 미스 매치(Buffer Descriptor Mismatch)가 발생한 경우 코어 프로세서(11)의 버퍼 디스크립터 포인터(Buffer Descriptor Pointer)와 자신의 버퍼 디스크립터 포인터(Buffer Descriptor Pointer)를 비교하는 것에 의해 버퍼 디스크립터 미스 매치(Buffer Descriptor Mismatch)를 복구하여 버퍼(13)로부터 데이터를 읽어 들이는 버퍼 디스크립터 미스 매치 복구 기능을 가지는 것을 특징으로 한다.The communication processor module (CPM) 12 performs data communication using a communication protocol for communication with the outside. The communication processor (CPM) may also detect the occurrence of a buffer descriptor mismatch in the data transmission via the
상기 코어 프로세서(11)와 통신 프로세서(12)는 상대측 프로세서에게 전송할 데이터가 발생한 경우 버퍼(13)에 대상 데이터를 기록하고 버퍼 디스크립터(14)에 대상 데이터에 대한 정보를 기록한 후 상대방 프로세서로 인터럽트 신호를 출력하는 것에 의해 전송될 데이터가 버퍼(13)에 저장되었음을 통보한다. 상대방 측 프로세서(버퍼(13) 저장 데이터를 읽을 프로세서)는 인터럽트 신호가 발생한 경우 기 지정된 버퍼 디스크립터 포인터(Buffer Descriptor Pointer)를 이용하여 버퍼 디스크립터(14)의 정보를 읽어 들인 후 버퍼(13) 저장 정보를 읽어 들인다.The
상술한 바와 같은 동작을 수행하는 상기 코어 프로세서(11)와 통신 프로세서(12)는 전송측 프로세서가 상대측 프로세서에게 전송할 데이터를 버퍼(13)에 저장한 후 대상 버퍼 디스크립터 포인터 대응 버퍼 디스크립터 필드의 엠프티 비트를 기록(아하 기록을 '0'이라 하고, 미 기록을 '1'이라 함)으로 설정하지 않고 상대측 프로세서에게 인터럽트 신호를 출력하는 경우, 또는, 기 지정된 버퍼 디스크립터 포인터 대상 버퍼 디스크립터 필드를 건너뛰고 그 다음 버퍼 디스크립터 필드에 버퍼(13) 기록 데이터 정보를 기록하고 인터럽트 신호를 상대측 프로세서에게 출력하는 경우에는 상대측 프로세서는 버퍼(13)의 기록 데이터를 읽어 들이지 못하는 버퍼 디스크립터 미스 매치 상황이 발생하게 된다.The
이때, 상기 프로세서 장치의 코어 프로세서(11)와 통신 프로세서(12) 중 수신측 프로세서로 동작하는 프로세서는 전송측 프로세서로부터 전송측 프로세서의 버퍼 디스크립터 포인터 정보를 수신하여 전송측 프로세서의 버퍼 디스크립터 포인 터와 자신의 버퍼 디스크립터 포인터를 비교한다.At this time, a processor operating as a receiving processor among the
비교 결과 버퍼 디스크립터 포인터가 일치하는 상황에서는 해당 버퍼 디스크립터 필드의 엠프티 비트가 '1'로 설정되어 있으면 이때는 정상적으로 데이터의 기록이 발생하지 않은 것으로서 판단하여 처리과정을 종료한다.In the situation where the buffer descriptor pointers match, the empty bit in the corresponding buffer descriptor field is set to '1'. At this time, it is determined that data writing has not normally occurred, and the process ends.
비교 결과 버퍼 디스크립터 포인터가 일치하지 않는 상황에서 자신의 버퍼 디스크립터 포인터에 대응되는 버퍼 디스크립터 필드의 엠프티 비트가 '0'으로 설정되어 있는 경우에는 해당 버퍼 디스크립터 필드 정보를 가지는 버퍼(13)의 주소에 기록된 데이터를 읽어 들인 후 해당 버퍼 디스크립터 필드의 엠프티 비트를 '1'로 설정한 후, 버퍼 디스크립터 포인터를 1 증가시킨다. 그리고 증가된 버퍼 디스크립터 포인터에 대응하는 버퍼 디스크립터의 엠프티 비트를 검사하여 '0'이면 상술한 바와 같은 데이터 읽기, 엠프티 비트 '1' 설정, 버퍼 디스크립터 포인트 1 증가의 처리과정을 반복 수행하고, '1'이면 처리과정을 종료하는 것에 의해 해당 버퍼 디스크립터 미스 매치 상황을 복구하여 수신할 데이터를 읽어 들인다. 이때, 버퍼 디스크립터 미스 매치 상황에서 수신측 프로세서가 버퍼 디스크립터 포인터를 1씩 증가시키는 것은 버퍼 디스크립터 미스 매치 상황에서는 수신측 프로세서의 버퍼 디스크립터 포인터가 항상 전송측 프로세서의 버퍼 디스크립터 포인터값보다 작기 때문이다.If the empty bit of the buffer descriptor field corresponding to its buffer descriptor pointer is set to '0' when the buffer descriptor pointer does not match as a result of the comparison, the address of the
도 4는 상술한 바와 같은 처리과정을 가지는 본원 발명의 코어 프로세서와 통신 프로세서를 구비한 프로세서 장치의 버퍼 디스크립터 미스 매치 복구 방법의 상세 처리과정을 나타내는 순서도이다.4 is a flowchart illustrating a detailed process of a buffer descriptor miss match recovery method of a processor device including a core processor and a communication processor of the present invention having the above-described process.
본원 발명을 ATM 셀에 의해 데이터를 송신하는 BSC의 내부에 구성되는 프로세서 장치로 하여 도 2 내지 도 4를 참조하여 본원 발명의 코어 프로세서와 통신 프로세서를 구비한 프로세서의 버퍼 디스크립터 미스 매치 복구 방법의 처리과정을 설명하면 다음과 같다.Processing of a buffer descriptor miss match recovery method of a processor having a core processor and a communication processor of the present invention with reference to FIGS. 2 to 4 as a processor device configured in the BSC transmitting data by an ATM cell according to the present invention. The process is as follows.
먼저, 코어 프로세서(11) 또는 통신 프로세서(12)는 상대측 프로세서로 전송할 데이터가 발생한 경우(이때 데이터를 버퍼(13)에 기록하는 프로세서를 "전송측 프로세서"라 하고, 읽어 들이는 프로세서를 "수신측 프로세서"라 함)(S1), 전송측 프로세서는 대상 데이터를 버퍼(13)에 기록한다(S2).First, when the
상술한 과정에서 발생한 전송 대상 데이터는 본원 발명의 실시 예를 ATM 셀(Cell)에 의해 데이터를 송수신하는 경우로 가정하였으므로 AAL 프레임(frame)이 된다.Since the transmission target data generated in the above-described process is assumed to be an example of transmitting and receiving data by an ATM cell, the transmission target data becomes an AAL frame.
이 후, 버퍼 디스크립터 포인터(Buffer Descriptor Pointer)를 참조하여 대상 버퍼 디스크립터(14)의 해당 버퍼 디스크립터 필드(14a~14n....)의 엠프티 비트를 '0'으로 설정하고 버퍼(13) 기록 데이터 정보를 기록한다. 이때 엠프티 비트가 '0'이면 기록된 상태를, '1'이면 비어 있는 상태를 나타내며, 상기 버퍼 디스크립터 필드(14a~14n....)에 기록된 버퍼(13) 기록 데이터에 대한 정보는 버퍼 기록 데이터의 크기정보(size), CRC, 랩 비트(rap bit), 포인터(pointer) 등의 정보가 기록됨은 상술한 바와 같다(S3).Thereafter, the empty bits of the corresponding buffer descriptor fields 14a to 14n .... of the
S3 과정에 의해 전송 대상 데이터에 대한 버퍼(13) 기록 및 전송 데이터에 대한 정보의 버퍼 디스크립터 필드(14a~14n....) 기록이 종료되면 전송측 프로세서 는 수신측 프로세서로 인터럽트(Interrupt) 신호를 출력한다(S4).When the recording of the
S4 과정에 의해 인터럽트(Interrupt) 신호를 수신한 수신측 프로세서는 기 지정된 버퍼 디스크립터 포인터에 대응되는 버퍼 디스크립터 필드(14a~14n...)의 엠프티 비트(empty bit)를 읽어 들인 후(S5) 읽어 들인 엠프티 비트(empty bit)가 '0'인지 아니면 '1'인지를 판단한다(S6).After receiving the interrupt signal by the S4 process, the receiving processor reads an empty bit of the buffer descriptor fields 14a to 14n ... corresponding to the predetermined buffer descriptor pointer (S5). It is determined whether the read empty bit is '0' or '1' (S6).
S6과정의 판단 결과 엠프티 비트가 '0'으로 기록되어 있는 경우에는 버퍼 디스크립터 포인터 대응 버퍼 디스크립터 필드(14a~14n....)에 기록된 정보를 읽어 들인 후(S7), 해당 버퍼(buffer)(13)로부터 전송 대상 프레임(frame)을 읽어 들인다(S8).If the empty bit is written as '0' as a result of the determination in S6, after reading the information recorded in the buffer descriptor pointer corresponding buffer descriptor fields 14a to 14n .... (S7), the corresponding buffer (buffer) is read. (13) A transmission target frame is read out from (13).
S8 과정에 의해 버퍼 디스크립터 필드(14a~14n....) 대응 위치의 버퍼(13) 기록 정보를 읽어 들인 후에는 해당 버퍼 디스크립터 필드(14a~14n...)의 엠프티 비트를 '1'로 설정한 후 S13 과정으로 이동한다(S8).After the
이 후 수신측 프로세서는 버퍼 디스크립터 포인터를 1 증가시킨 후 증가된 버퍼 디스크립터 대응 버퍼 디스크립터 필드(14a~14n...)의 엠프티 비트가 '0'인지를 판단한다(제 2 엠프티 비트 판단 과정)(S13).Thereafter, the receiving processor increases the buffer descriptor pointer by 1 and determines whether the empty bits of the increased buffer descriptor corresponding buffer descriptor fields 14a to 14n ... are '0' (second empty bit determination process). (S13).
S13 과정의 판단 결과 엠프티 비트가 '0'이면 S7 과정으로 이동하여 처리과정을 반복 수행하는 것에 의해 엠프티 비트가 '0'으로 설정된 버퍼 디스크립터 필드 대응 버퍼(13)의 기록 데이터를 모두 읽어 들이고 버퍼 디스크립터 필드(14a~14n...)의 엠프티 비트를 '1'로 설정한다.If the empty bit is '0' as a result of the determination in step S13, the process proceeds to step S7 to repeat the process to read all the write data of the buffer descriptor
이와 달리 S13 과정의 판단 결과 엠프티 비트가 '1'인 경우에는 인터럽트 대 기 상태로 진입한 후 처리과정을 종료한다(S14).In contrast, when the empty bit is '1' as a result of the determination of S13, the process enters the interrupt standby state and ends the process (S14).
상술한 처리 과정은 버퍼 디스크립터 미스 매치 상황이 발생하지 않은 경우의 본원 발명의 처리 과정이 된다.The above-described processing becomes the processing of the present invention in the case where a buffer descriptor mismatch situation does not occur.
다음으로, 버퍼 디스크립터 미스 매치 상황이 발생한 경우로서 상기 S6 과정의 판단 결과 엠프티 비트가 '0'이 아닌 경우에는 S10 과정을 이동하여 전송측 프로세서의 버퍼 디스크립터 포인터를 읽어 들인다(S10).Next, when a buffer descriptor mismatch situation occurs and the empty bit is not '0' as a result of the determination in step S6, the process moves to step S10 to read the buffer descriptor pointer of the transmitting processor (S10).
이후 수신측 프로세서는 S10 과정에서 읽어 들인 전송측 버퍼 디스크립터 포인터와 자신(수신측 프로세서)의 버퍼 디스크립터 포인터가 일치하는지를 판단하여 일치하는 경우에는 S14 과정으로 이동하여 인터럽트 대기 상태로 진입한 후 처리과정을 종료한다(S11).Thereafter, the receiving processor determines whether the transmitting descriptor descriptor read in S10 and the buffer descriptor pointer of its own (receiving processor) match, and if so, the process moves to S14 to enter the interrupt wait state, and then proceeds with processing. It ends (S11).
이와 달리 S11 과정의 판단 결과 S10 과정에서 읽어 들인 전송측 버퍼 디스크립터 포인터와 자신(수신측 프로세서)의 버퍼 디스크립터 포인터가 일치하지 않는 경우에는 수신측 프로세서가 자신의 버퍼 디스크립터 포인터를 1 증가시킨다(S12).On the contrary, when the determination result of step S11 is that the sender descriptor descriptor read in step S10 does not coincide with the buffer descriptor pointer of the self (receive processor), the receiver processor increments its own buffer descriptor pointer by one (S12). .
이 후 수신측 프로세서는 증가된 버퍼 디스크립터 포인터 대응 버퍼 디스크립터 필드(14a~14n....)의 엠프티 비트가 '0'으로 기록되어 있는지를 판단한다(S13).Thereafter, the receiving processor determines whether an empty bit of the increased buffer descriptor pointer corresponding buffer descriptor fields 14a to 14n .... is recorded as '0' (S13).
S13 과정의 판단 결과 엠프티 비트가 '0'이면 S7 과정으로 이동하여 처리과정을 반복 수행하는 것에 의해 엠프티 비트가 '0'으로 설정된 버퍼 디스크립터 필드 대응 버퍼(13)의 기록 데이터를 읽어 들이고 버퍼 디스크립터 필드(14a~14n...) 의 엠프티 비트를 '1'로 설정하는 과정을 순차적으로 수행하여 버퍼 디스크립터 미스 매치를 복구함과 동시에 버퍼 저장 데이터를 읽어 들인다.If the empty bit is '0' as a result of the determination in step S13, the process proceeds to step S7 to repeat the process to read the write data of the buffer descriptor
이와 달리 S13 과정의 판단 결과 엠프티 비트가 '1'인 경우에는 인터럽트 대기 상태로 진입한 후 처리과정을 종료한다(S14).In contrast, when the empty bit is '1' as a result of the determination of S13, the process enters the interrupt wait state and ends the process (S14).
상술한 바와 같은 본원 발명은 코어 프로세서(11)와 통신 프로세서(12)가 분리 구성된 프로세서 장치에서 버퍼 디스크립터 미스 매치 상황이 발생한 경우 수신측 프로세서가 상대측 버퍼 디스크립터 포인터와 자신의 버퍼 디스크립터 포인터를 비교하여 버퍼 디스크립터 포인터의 불일치를 복구함과 동시에 버퍼(13)에 기록된 전송 대상 데이터(전송측 프로세서 입장, 수신측 프로세서의 입장에서는 "수신 대상 데이터")를 정확하게 읽어 들일 수 있도록 함으로써 통신 장치의 장애 발생을 방지할 수 있도록 하는 효과를 제공한다.As described above, according to the present invention, when a buffer descriptor mismatch situation occurs in a processor device in which the
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050126642A KR100661519B1 (en) | 2005-12-21 | 2005-12-21 | A processor apparatus having a function of restoring buffer mismatch between the core processor and the communication processor and the method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050126642A KR100661519B1 (en) | 2005-12-21 | 2005-12-21 | A processor apparatus having a function of restoring buffer mismatch between the core processor and the communication processor and the method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100661519B1 true KR100661519B1 (en) | 2006-12-27 |
Family
ID=37815608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050126642A KR100661519B1 (en) | 2005-12-21 | 2005-12-21 | A processor apparatus having a function of restoring buffer mismatch between the core processor and the communication processor and the method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100661519B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298613B2 (en) | 2013-02-28 | 2016-03-29 | Samsung Electronics Co., Ltd. | Integrated circuit for computing target entry address of buffer descriptor based on data block offset, method of operating same, and system including same |
-
2005
- 2005-12-21 KR KR1020050126642A patent/KR100661519B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298613B2 (en) | 2013-02-28 | 2016-03-29 | Samsung Electronics Co., Ltd. | Integrated circuit for computing target entry address of buffer descriptor based on data block offset, method of operating same, and system including same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7664059B2 (en) | Error handling in a wireless communications system | |
US20100142418A1 (en) | Data communication system, data communication request device, and data communication response device | |
EP0195598B1 (en) | Universal protocol data receiver | |
JP2004530343A5 (en) | ||
CN111355549B (en) | Data protection method and device | |
US5315581A (en) | Hit-less protection switching method and apparatus for ATM transmission lines | |
CN103957155A (en) | Message transmission method and device and interconnection interface | |
CN111106904B (en) | Frame sending processing method and system for DigRF transmission end | |
US9621455B2 (en) | Cross-device linear multiplex section protection method, gateway and controller | |
KR100661519B1 (en) | A processor apparatus having a function of restoring buffer mismatch between the core processor and the communication processor and the method thereof | |
JP2001526870A (en) | Method and apparatus for continuously transmitting a data stream in packetized form | |
EP2557726B1 (en) | Transmission system | |
KR100257883B1 (en) | High level data link control method of communication packet destination and packet type detection device and method | |
EP0654194B1 (en) | A speech decoding method and a speech decoder | |
JP3317253B2 (en) | Mobile communication system and data transfer method thereof | |
CN109450517A (en) | RDSS communications control method and system | |
EP3813280A1 (en) | Forward error correction handover method, apparatus, and computer storage medium | |
US5469472A (en) | Message substitution in a digital communication system | |
KR101900709B1 (en) | A method of recovering a communication failure of a binary CDMA wireless transceiver | |
JPH10313294A (en) | Transmission controller | |
JP2001285300A (en) | Communication method and communication system | |
US20080214194A1 (en) | Radio network controller and transport network control method for performing relocation | |
KR100414370B1 (en) | APS equipment of the transmission system and controlling method therefore | |
CN115662450A (en) | Audio data processing method and wireless earphone | |
CN115720130A (en) | Audio processing method, device, terminal and computer readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20111110 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |