KR20000020436A - 선입선출 메모리를 이용하는 통신노드의 클럭관리 방법 및장치 - Google Patents

선입선출 메모리를 이용하는 통신노드의 클럭관리 방법 및장치 Download PDF

Info

Publication number
KR20000020436A
KR20000020436A KR1019980039047A KR19980039047A KR20000020436A KR 20000020436 A KR20000020436 A KR 20000020436A KR 1019980039047 A KR1019980039047 A KR 1019980039047A KR 19980039047 A KR19980039047 A KR 19980039047A KR 20000020436 A KR20000020436 A KR 20000020436A
Authority
KR
South Korea
Prior art keywords
data
pointer
register
fifo
received
Prior art date
Application number
KR1019980039047A
Other languages
English (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 KR1019980039047A priority Critical patent/KR20000020436A/ko
Publication of KR20000020436A publication Critical patent/KR20000020436A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • H04B7/26Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile
    • H04B7/2628Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile using code-division multiple access [CDMA] or spread spectrum multiple access [SSMA]

Abstract

본 발명은 선입선출 메모리(FIFO)를 이용하는 통신노드의 클럭관리 방법 및 장치에 관한 것으로서, 특히 셀룰러 시스템의 프로세서간 통신(IPC)에서 경로설정을 위한 데이터 버퍼링을 위한 클럭자원의 단일화 방법에 관한 것이다. 본 방법은, 수신부가 수신한 데이터가 존재하는지 확인하는 단계와, 수신된 데이터가 존재하면, 레지스터의 수신 포인터를 하나씩 증가시키면서 상기 수신된 데이터를 레지스터에 기록하는 단계와, 레지스터의 송신 포인터와 수신 포인터의 차이가 임계값을 초과하는지를 확인하는 단계, 포인터들의 차이가 임계값을 초과하지 않으면 수신부가 수신한 데이터가 존재하는지 확인하는 단계로 복귀하는 단계, 포인터들의 차이가 임계값을 초과하면 송신 포인터를 하나씩 증가시키면서 레지스터에 기록된 데이터를 수신 FIFO로 전달하는 단계 및 송신 포인터와 수신 포인터가 같으면 수신부가 수신한 데이터가 존재하는지 확인하는 단계로 복귀하는 단계를 포함한다.

Description

선입선출 메모리를 이용하는 통신노드의 클럭관리 방법 및 장치
본 발명은 선입선출 메모리(First Input First Output: FIFO)를 이용하는 통신노드의 클럭관리 방법 및 장치에 관한 것으로서, 특히 셀룰러 시스템(Cellular System)의 프로세서간 통신(Inter-Processor Communication: IPC)에서 경로설정(Routing)을 위한 데이터 버퍼링(Buffering)을 위한 클럭자원(Clock Source)의 단일화 방법에 관한 것이다.
셀룰러 이동통신 시스템은 전체 서비스지역을 다수의 기지국 영역으로 분할하여 소규모의 서비스영역인 셀(cell)들로 구성하고, 이러한 기지국들을 이동 교환국으로 집중 제어하여 가입자가 셀 간을 이동하면서도 통화를 계속할 수 있도록 한다.
도 1 은 코드분할 다중접속(Code Division Multiple Access: CDMA) 기술을 사용하는 셀룰러 시스템의 구조도를 나타낸 것이다. 도시된 바와 같이, 이동 전화기(Mobile Telephone: MT)(10)에게 이동통신 서비스를 제공하는 기지국(Base station Transceiver Subsystem: BTS)(20)(30)(40)과, 다수의 기지국을 제어하는 기지국 제어기(Base Station Controller: BSC)(50), 다수의 기지국 제어기를 공중교환 전화네트워크(Public Switched Telephone Network: PSTN)로 연결하는 이동 교환국(Mobile Switching Center: MSC)(60)으로 구성된다.
상기된 바와 같이 복잡하게 구성된 셀룰러 시스템은, 각 노드(기지국, 기지국 제어기) 간을 연결하는 통신 인터페이스 네트워크(Communication Interface Network: CIN) 블럭을 포함한다. CIN 블럭은 고속 IPC 노드장치(High speed IPC Node board Assembly: HINA)를 사용하여, 패킷 라우팅(Packet Routing)을 수행한다.
CIN 상에서, 임의의 두 노드가 데이터 버스를 통해 패킷 데이터를 주고받을 때, 각 노드에서 사용되는 송신클럭은 서로 다른 위상을 가진다. 그러므로 노드의 송신부는 데이터 버스를 통해 송신 데이터와 송신클럭을 함께 전달하며, 수신부는 데이터 버스를 통해 수신된 클럭을 사용하여 데이터를 읽는다.
도 2 는 종래 기술에 의한 노드의 클럭관리 방법을 나타낸 블럭도이다. 도시된 바와 같이, 제 1 노드(130)의 송신부(110)는 IBRCLK1(101)에 의해 데이터를 FIFO(115)에 기록한다. 송신부(110)에서 사용된 이후, IBRCLK1(101)는 EBRCLK1(102)가 된다. 송신부(110)는 데이터 버스(170)를 통해, FIFO(115)로부터 읽어낸 데이터를 EBRCLK1(102)와 함께 제 2 노드(160)의 수신부(150)로 전달한다. 데이터 버스를 통해 전달된 EBRCLK1(102)는 BRCLK2(108)가 된다. 제 2 노드(160)의 수신부(150)는 BRCLK2(108)에 의해 데이터를 수신한다.
반대로 제 2 노드(160)의 송신부(140)는 IBRCLK2에 의해 데이터를 FIFO(145)에 기록하며, 사용된 송신클럭을 데이터 버스를 통해 제 1 노드(130)의 수신부(120)로 전달한다. 제 1 노드(130)의 수신부(120)는 데이터 버스를 통해 수신된 클럭(104)에 의해 데이터를 수신한다.
상기된 바와 같이, 송신클럭으로 사용하는 IBRCLK1,2가 서로 다른 위상을 가지므로, 수신측에서는 송신클럭의 동기에 맞추어 데이터를 수신한다. 그러므로 노드는 송신부와 수신부를 위한 2개의 클럭 자원이 필요하다. 또한 각 노드의 FIFO는 서로 다른 클럭을 사용할 수 있도록 비동기(Asynchronous) 방식으로 구현되어야 한다. 즉, 송신 경로의 송신 클럭(EBRCLK1,2)은 계속적으로 발생하지 않고, 데이터 버스로 데이터를 전송하는 경우에만 발생하는 불연속적인 클럭이다. 이러한 불연속적인 클럭으로 FIFO 메모리를 동작시키려면, FIFO 메모리는 비동기 방식으로 구현되어야만 한다.
그러나 비동기 방식의 FIFO 메모리는 동기(Synchronous) 방식의 FIFO 메모리에 비하여 크기가 크며, 회로 구현시 필요한 소자의 수가 더 많다. 그러므로 상기와 같은 구조는 회로를 복잡하게 하며, 시스템의 비용을 증가시키는 원인이 된다는 문제점이 있다.
본 발명은 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 것으로서, 프로세서간 통신을 위한 노드의 수신부에 소용량의 FIFO 로직을 추가하여 클럭자원을 연속적인 클럭으로 단일화하는, 선입선출 메모리를 이용하는 통신노드의 클럭관리 방법 및 장치을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적과 장점은 하기된 발명의 상세한 설명을 읽고 첨부된 도면을 참조하면 보다 명백해질 것이다.
도 1 은 통상적인 셀룰러 시스템의 구조도를 나타낸 것이다.
도 2 는 종래 기술에 의한 노드의 클럭관리 방법을 나타낸 블럭도이다.
도 3 은 본 발명에 의한 노드의 클럭관리 방법을 나타낸 블럭도이다.
도 4 는 본 발명에 의한 FIFO 로직(280)(290)의 구성도이다.
도 5 는 본 발명에 의한 FIFO 로직의 동작을 나타낸 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110,140,210,240 : 송신부 115,145,215,245 : 송신 FIFO
120,150,220,250 : 수신부 125,155,225,255 : 수신 FIFO
130,160,230,260 : 노드 170,270 : 데이터 버스
280,290 : FIFO 로직 282 : 제어기
284 : 레지스터 a : IBRCLK1
b : EBRCLK1 c : 제 1 송신 데이터
d : BRCLK2 f : 제 1 수신 데이터
g : 제 2 송신 데이터 h : BRCLK2
i : 제 2 수신 데이터 j : IBRCLK2
상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명에 따른 선입선출 메모리를 이용하는 통신노드의 클럭관리 방법의 바람직한 실시예는, 데이터 버스를 통해 다른 노드로 데이터를 송신하는 송신부와 데이터 버스를 통해 다른 노드로부터 데이터를 수신하는 수신부를 포함하는 통신노드에 있어서,
수신부가 수신한 데이터가 존재하는지 확인하는 단계와;
수신된 데이터가 존재하면, 레지스터의 수신 포인터를 하나씩 증가시키면서 상기 수신된 데이터를 레지스터에 기록하는 단계;
레지스터의 송신 포인터와 수신 포인터의 차이가 임계값을 초과하는지를 확인하는 단계;
포인터들의 차이가 임계값을 초과하지 않으면, 수신부가 수신한 데이터가 존재하는지 확인하는 단계로 복귀하는 단계;
포인터들의 차이가 임계값을 초과하면, 송신 포인터를 하나씩 증가시키면서, 레지스터에 기록된 데이터를 수신 FIFO로 전달하는 단계; 및
송신 포인터와 수신 포인터가 같으면, 수신부가 수신한 데이터가 존재하는지 확인하는 단계로 복귀하는 단계를 포함한다.
본 발명에 따른 선입선출 메모리를 이용하는 통신노드의 클럭관리 장치의 바람직한 실시예는, 데이터 버스를 통해 다른 노드로 데이터를 송신하기 위하여 동기 방식의 송신 FIFO를 사용하는 송신부와; 데이터 버스를 통해 다른 노드로부터 데이터를 수신하기 위하여 동기 방식의 수신 FIFO를 사용하는 수신부를 포함하는 노드에 있어서, 상기 수신부는,
데이터 버스를 통해 수신된 데이터를 버퍼링하는 레지스터와;
데이터가 수신되면 상기 레지스터의 수신 포인터를 증가시켜 수신된 데이터를 레지스터에 저장하고, 송신 포인터와 수신 포인터의 차이가 일정 범위를 초과하면 송신 포인터를 증가시켜 저장된 데이터를 수신 FIFO로 전달하는 제어기로 구성된 FIFO 로직을 포함한다.
하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 프로세서간 통신을 위한 노드의 수신부에 소용량의 FIFO 로직을 추가하여 클럭자원을 연속적인 클럭으로 단일화한다. 본 발명에 의한 FIFO 로직은 수신부의 입력단에서 데이터를 버퍼링하기 위한 16×9비트의 레지스터와, 레지스터에서 데이터를 읽고 쓰는 순간을 제어하는 제어기로 구성된다. 이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다.
도 3 은 본 발명에 의한 노드의 클럭관리 방법을 나타낸 블럭도이다. 도시된 바와 같이, 제 1 노드(230)의 송신부(210)는 IBRCLK1(201)에 의해 데이터를 FIFO(215)에 기록한다. 송신부(210)에서 사용된 이후, IBRCLK1(201)는 EBRCLK1(202)가 된다. 송신부(210)는 데이터 버스(270)를 통해, FIFO(215)로부터 읽어낸 데이터를 EBRCLK1(202)와 함께 제 2 노드(260)의 수신부(250)로 전달한다. 데이터 버스를 통해 전달된 EBRCLK1(202)는 BRCLK2(208)가 된다.
제 2 노드(260)의 수신부(250)는 수신된 데이터를 FIFO 로직(250)에 기록한다. FIFO 로직의 구성은 도 4 와 같다. 도시된 바와 같이, 소용량의 레지스터(284)와 레지스터의 송신 및 수신 포인터를 제어하는 제어기(282)로 구성된다. 또한 도 5 는 본 발명에 의한 FIFO 로직의 동작을 나타낸 흐름도이다.
단계(s110)에서, 제어기는 제 2 노드의 수신부가 수신한 데이터가 존재하는지 확인한다. 수신된 데이터가 존재하면, 단계(s120)에서, 제어기(282)는 레지스터(284)의 수신 포인터를 증가시키면서, 수신된 데이터를 레지스터에 기록한다. 수신된 데이터는 한 클럭에 9비트씩 병렬로 16×9비트의 레지스터에 기록된다. 단계(s130)에서, 제어기는 송신 포인터와 수신 포인터의 차이가 일정 임계값, 예를 들어 4 이상이 되는지를 확인한다. 포인터들의 차이가 임계값을 초과하지 않으면, 단계(s110)으로 복귀하여, 다시 데이터를 수신한다.
포인터들의 차이가 임계값을 초과하면, 단계(s140)에서, 송신 포인터를 증가시키면서, 레지스터에 기록된 데이터를 수신 FIFO(255)로 전달한다. 제어기는 한 클럭마다 9비트의 병렬 데이터를 레지스터로부터 읽어서 수신 FIFO(255)로 전달한다. 송신 포인터와 수신 포인터가 같아질 때까지 제어기는 계속해서 병렬 데이터를 레지스터로부터 읽는다.(s140) 단계(s150)에서, 송신 포인터와 수신 포인터가 같아지면, 제어기는 단계(s110)으로 복귀하여 다시 데이터를 수신한다. 송신 포인터를 이용하여 읽어낸 데이터는 후단에서 동기방식의 수신 FIFO(255)에 저장된다. 그러므로 송신 FIFO와 수신 FIFO는 한 개의 클럭 자원에 의해 동작한다.
제 2 노드(260)의 송신부(240)에서 제 1 노드(230)의 수신부(220)로 데이터를 전달할 때도, 마찬가지로 FIFO 로직(280)과 동기 방식의 FIFO(225)를 이용한다.
상기와 같은 과정을 통해, 서로간에 동기가 다른 두 개의 클럭이 동시에 변하는 순간에 같은 위치의 데이터를 읽고 씀으로서 발생되는 오류를 피할 수 있다.
본 발명은 다양하게 변형될 수 있고 여러 가지 형태를 취할 수 있으며 상기 발명의 상세한 설명에서는 그에 따른 특별한 실시예에 대해서만 기술하였다. 하지만 본 발명은 상기 발명의 상세한 설명에서 언급된 특별한 형태로 한정되는 것이 아닌 것으로 이해되어야 하며, 오히려 첨부된 청구범위에 의해 정의되는 본 발명의 정신과 범위 내에 있는 모든 변형물과 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.
상기한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명에 의한 클럭관리 방법은, 노드 동작의 동기를 맞추어주는 클럭을 단일화하여 동작을 안정화할 수 있다. 그러므로, 노드 내에 있는 데이터 처리용 FIFO를 동기 방식으로 구성하여 비용이 비싼 비동기 방식의 FIFO를 사용하지 않고 동기방식의 메모리를 이용하여 간단하고 작은 크기의 회로로 구성할 수 있다. 또한, 서로간에 동기가 다른 두 개의 클럭이 동시에 변하는 순간에 같은 위치의 데이터를 읽고 씀으로서 발생되는 오류를 피할 수 있다는 효과가 있다.

Claims (6)

  1. 데이터 버스를 통해 다른 노드로 데이터를 송신하는 송신부와 데이터 버스를 통해 다른 노드로부터 데이터를 수신하는 수신부를 포함하는 노드에 있어서,
    수신부가 수신한 데이터가 존재하는지 확인하는 단계와;
    수신된 데이터가 존재하면, 레지스터의 수신 포인터를 하나씩 증가시키면서 상기 수신된 데이터를 레지스터에 기록하는 단계;
    레지스터의 송신 포인터와 수신 포인터의 차이가 임계값을 초과하는지를 확인하는 단계;
    포인터들의 차이가 임계값을 초과하지 않으면, 수신부가 수신한 데이터가 존재하는지 확인하는 단계로 복귀하는 단계;
    포인터들의 차이가 임계값을 초과하면, 송신 포인터를 하나씩 증가시키면서, 레지스터에 기록된 데이터를 수신 FIFO로 전달하는 단계; 및
    송신 포인터와 수신 포인터가 같으면, 수신부가 수신한 데이터가 존재하는지 확인하는 단계로 복귀하는 단계를 포함하는, 프로세서간 통신을 위한 통신노드의 클럭관리 방법.
  2. 제 1 항에 있어서, 상기 수신된 데이터를 레지스터에 기록하는 단계는,
    수신된 데이터를 한 클럭에 일정 비트씩 병렬로 레지스터에 기록하는, 프로세서간 통신을 위한 통신노드의 클럭관리 방법.
  3. 제 1 항에 있어서, 상기 레지스터에 기록된 데이터를 수신 FIFO로 전달하는 단계는, 한 클럭마다 일정 비트의 병렬 데이터를 레지스터로부터 읽어서 수신 FIFO로 전달하는, 프로세서간 통신을 위한 통신노드의 클럭관리 방법.
  4. 제 1 항에 있어서, 상기 클럭관리 방법은, 송신 포인터와 수신 포인터가 같지 않으면 계속해서 병렬 데이터를 레지스터로부터 읽어서 수신 FIFO로 전달하는 단계를 추가로 포함하는, 프로세서간 통신을 위한 통신노드의 클럭관리 방법.
  5. 제 1 항에 있어서, 상기 송신 포인터를 이용하여 읽어낸 데이터는, 동기방식의 수신 FIFO를 사용하여 한 개의 클럭 자원으로 처리하는, 프로세서간 통신을 위한 통신노드의 클럭관리 방법.
  6. 데이터 버스를 통해 다른 노드로 데이터를 송신하기 위하여 동기 방식의 송신 FIFO를 사용하는 송신부와;
    데이터 버스를 통해 다른 노드로부터 데이터를 수신하기 위하여 동기 방식의 수신 FIFO를 사용하는 수신부를 포함하는 통신노드에 있어서, 상기 수신부는,
    데이터 버스를 통해 수신된 데이터를 버퍼링하는 레지스터와;
    데이터가 수신되면 상기 레지스터의 수신 포인터를 증가시켜 수신된 데이터를 레지스터에 저장하고, 송신 포인터와 수신 포인터의 차이가 일정 범위를 초과하면 송신 포인터를 증가시켜 저장된 데이터를 수신 FIFO로 전달하는 제어기로 구성된 FIFO 로직을 포함하는, 프로세서간 통신을 위한 통신노드의 클럭관리 장치.
KR1019980039047A 1998-09-21 1998-09-21 선입선출 메모리를 이용하는 통신노드의 클럭관리 방법 및장치 KR20000020436A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980039047A KR20000020436A (ko) 1998-09-21 1998-09-21 선입선출 메모리를 이용하는 통신노드의 클럭관리 방법 및장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980039047A KR20000020436A (ko) 1998-09-21 1998-09-21 선입선출 메모리를 이용하는 통신노드의 클럭관리 방법 및장치

Publications (1)

Publication Number Publication Date
KR20000020436A true KR20000020436A (ko) 2000-04-15

Family

ID=19551341

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980039047A KR20000020436A (ko) 1998-09-21 1998-09-21 선입선출 메모리를 이용하는 통신노드의 클럭관리 방법 및장치

Country Status (1)

Country Link
KR (1) KR20000020436A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010041442A (ko) * 1998-04-10 2001-05-25 다이나크 인코포레이티드 디비에이 다이나믹 네트워크 알키텍쳐 인코포레이티드 링 구조의 동적 동기 전송 모드를 동기화하기 위한 장치및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010041442A (ko) * 1998-04-10 2001-05-25 다이나크 인코포레이티드 디비에이 다이나믹 네트워크 알키텍쳐 인코포레이티드 링 구조의 동적 동기 전송 모드를 동기화하기 위한 장치및 방법

Similar Documents

Publication Publication Date Title
US6700894B1 (en) Method and apparatus for shared buffer packet switching
US5495482A (en) Packet transmission system and method utilizing both a data bus and dedicated control lines
US5477541A (en) Addressing technique for storing and referencing packet data
US5602850A (en) High-speed packet bus
US6687255B1 (en) Data communication circuit having FIFO buffer with frame-in-FIFO generator
JP5230887B2 (ja) クロックフォワードシステムi/oのための効率的なクロック開始および停止装置
JP2002507856A (ja) シリアルリンクを多重化するためのシステム及び方法
JPH11175313A (ja) デュアルポートバッファ
JP2003037572A (ja) スケジューリング方式
KR20000020436A (ko) 선입선출 메모리를 이용하는 통신노드의 클럭관리 방법 및장치
JP3444532B2 (ja) 時分割多重無線通信装置及び方法
US20070211766A1 (en) Multiplex switching
CN113986792A (zh) 一种数据位宽转换方法及通信设备
CN1662894B (zh) 包括时隙总线和若干缓冲器的交换装置
US9088941B2 (en) Wireless communication apparatus and method
JP3196107B2 (ja) データ交換システム
EP1952568B1 (en) Method and device for managing multi-frames
EP1576484B1 (en) Method for reducing the bus load in a synchronous data bus system
CN113867681B (zh) 数据处理方法及装置、数据处理设备和存储介质
KR100480951B1 (ko) 하나의 물리채널을 다수 개의 가상채널로 확장한 다중접속통신장치
CN113497653B (zh) 一种载波天线交换方法及装置
US6831920B1 (en) Memory vacancy management apparatus and line interface unit
CN113452789B (zh) 一种前传接口频域合路系统及频域合路方法
US7392332B2 (en) Bit rate adaptation in a data processing flow
KR20010056663A (ko) 패킷 라우터를 이용한 통신 시스템의 기지국내에이치디엘씨 통신장치

Legal Events

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