KR0183831B1 - 데이터 버퍼링 장치 - Google Patents

데이터 버퍼링 장치 Download PDF

Info

Publication number
KR0183831B1
KR0183831B1 KR1019960006644A KR19960006644A KR0183831B1 KR 0183831 B1 KR0183831 B1 KR 0183831B1 KR 1019960006644 A KR1019960006644 A KR 1019960006644A KR 19960006644 A KR19960006644 A KR 19960006644A KR 0183831 B1 KR0183831 B1 KR 0183831B1
Authority
KR
South Korea
Prior art keywords
address
data
signals
signal
block
Prior art date
Application number
KR1019960006644A
Other languages
English (en)
Other versions
KR970066905A (ko
Inventor
김준구
Original Assignee
김광호
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김광호, 삼성전자주식회사 filed Critical 김광호
Priority to KR1019960006644A priority Critical patent/KR0183831B1/ko
Publication of KR970066905A publication Critical patent/KR970066905A/ko
Application granted granted Critical
Publication of KR0183831B1 publication Critical patent/KR0183831B1/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
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

HDLC/LAPD 콘트롤러에 적용되는 데이터 버퍼링 장치를 공개한다. 그 장치는 데이터 저장을 위한 저장수단과, 제1 및 제2신호에 따라 각각 어드레스 카운팅을 수행하는 제1 및 제2카운터의 선택신호에 따라 상기 제1 및 제2카운터의 어드레스를 선택 출력하는 멀티플렉서와, 상기 제1 및 제2신호에 따라 어드레스를 카운팅하고, 카운팅된 어드레스를 통해 오버플로 혹은 언더플로가 발생하는 상기 저장수단의 대응되는 메모리 블록의 시작 혹은 마지막 어드레스일때, 상태신호를 발생되며, 인에이블 신호에 따라 동작 인에이블되는 복수의 블록 제어부, 및 리드/라이트 신호 및 상기 복수의 블록 제어부로부터의 상태신호에 따라, 어드레스 제어를 위해 상기 제1 및 제2신호를 발생하고 인에이블 신호를 발생하여 상기 복수의 블록 제어부에 출력하며 상기 저장수단을 제어하는 제어신호를 발생하는 제어신호 발생부를 구비한 것을 특징으로 한다. 본 발명에 의하면, 보다 빠른 데이터의 송수신이 가능하게 된다.

Description

데이터 버퍼링 장치
제1도는 본 발명에 따른 데이터 버퍼링 장치의 바람직한 실시예를 도시한 구성 블록도.
본 발명은 데이터 버퍼링 장치에 관한 것으로, 특히 HDLC(Higilevel Data Linking Control)/LAPD(Linking Access Protocol on Dchannel) 콘트롤러에 이용되는 데이터 버퍼링 장치에 관한 것이다.
HDLC/LAPD 콘트롤러는 데이터를 송수신하기 위한 데이터 버퍼링은 FIFO(First In First Out) 기법을 이용한다. 먼저, 데이터의 송신시에는 마이크로 프로세서가 송신할 데이터들을 라이트(write)하며, 마이크로 프로세서의 송신 시작을 알리는 명령에 의하여 데이터 송신을 시작한다. 그리고, 인터럽트를 통하여 마이크로 프로세서에게 송신 데이터를 요청한다. 한편, 데이터의 수신시에는 수신단에서 수신된 비트 스트림들로부터 데이터 비트 스트림을 추출하며, 병렬 데이터로 변환한 후, 수신된 병렬 데이터를 버퍼에 라이트한다. 인터럽트를 통하여 마이크로 프로세서에게 수신된 데이터의 리드(read)를 요청하고 마이크로 프로세서는 수신된 데이터를 리드한다.
HDLC/LAPD 콘트롤러에서 데이터 버퍼링을 위한 기존의 방법은 싱글(single) 및 더블(double) 버퍼링 방법이 있다.
먼저, 싱글 버퍼링 방법에서는 하나의 램(RAM)을 이용하여 팸에 저장된 데이터가 어드 일정 수준이 되면 인터럽트를 통하여 데이터의 기록을 마이크로 프로세서에게 요청하고 싱글 버퍼에 기록된 데이터가 어느 일정 수준이 되면 이터럽트를 통하여 데이터 기록 동작 중지를 요구한다. 수신된 데이터의 처리는 송신 데이터의 처리와 유사하다. 한편, 더블 버퍼링 방법에서는 두 개의 램을 이용하여 한 램에 저장된 데이터를 송신하고 있는 동안 다른 램에 송신한 데이터의 기록이 가능하도록 되어 있다. 수신된 데이터의 버퍼링에서는 한 팸에 수신된 데이터를 마이크로 프로세서가 독출하고 있는 동안 다른 램에 수신된 데이터의 기록이 가능하도록 되어 있다.
그런데, 싱글 버퍼링 방법에서는 버퍼의 사이즈가 작기 때문에 데이터 버퍼링과 관련된 인터럽트가 자주 빈번하게 발생되어 마이크로 프로세서의 오버헤드(overhead)를 증가시키게 된다. 즉, 빈번하게 인터럽트가 발생하여 마이크로 프로세서가 발생되어 인터럽트를 처리할 수 없는 상황이 발생하게 되어 버퍼에 데이터의 기록 및 독축(write/read)를 못하는 경우가 생기게 된다. 데이터를 기록하지 못한 경우, 버퍼에 저장된 데이터를 모두 전송하고 난 후, 더 이상 전송할 데이터가 없으므로 데이터의 송신을 중단하게 된다. 그리고, 데이터를 독출하지 못한 경우 오버플로(overflow)가 발생하게 되어 수신된 데이터를 놓치게 된다. 이러한 경우, HDLC/LAPD 프로토콜에 따라 손실된 프레임으로부터 재전송 하여야 하므로 그만큼 데이터의 처리가 지연된다.
또한, 더블 버퍼링 방법은 HDLC/LAPD 프레임의 경우 프레임의 사이즈가 가변적이므로 프레임의 사이즈가 작은 경우에는 버퍼 공간을 효율적으로 사용하지 못하게 된다. 비록, 싱글 버퍼링 방법보다는 개선되었지만 마찬가지로 빈번한 인터럽트 발생으로 인하여 지연 요소가 생긴다.
따라서, 본 발명의 목적은 상술한 문제점을 해결하기 위하여 싱글 버퍼링 방법의 효율적인 버퍼 공간 활용이라는 장점과 더블 버퍼링 방법의 인터럽트 발생 빈도 감소를 통한 지연 요소의 절감이라는 장점을 결합하여 버퍼의 효율적인 사용과 지연 요소의 개선을 얻을 수 있는 HDLC/LAPD 콘트롤러에 이용되는 데이터 버퍼링 장치를 제공하는데 있다.
상술한 본 발명의 목적을 달성하기 위한 데이터 버퍼링 장치는 데이터 저장을 위한 저장수단과, 제1 및 제2신호에 따라 각각 어드레스 카운팅을 수행하는 제 및 제2카운터와 선택신호에 따라 상기 제1 및 제2신호에 따라 어드레스를 카운팅하고, 카운팅하고, 카운팅된 어드레스를 통해 오버플로 혹은 언더플로가 발생하는 상기 저장수단의 대응되는 메모리 블록의 시작 혹은 마지막 어드레스일 때, 상태신호를 발생되며, 인에이블 신호에 따라 동작 인에이블되는 복수의 블록 제어부와, 리드/라이트 신호 및 상기 복수의 블록 제어부로부터의 상태신호에 따라, 어드레스 제어를 위해 상기 제1 및 제2신호를 방생하고 인에이블 신호를 방생하여 상기 복수의 블록 제어부에 출력하며 상기 저장수단을 제어하는 제어신호를 발생하는 제어신호 발생부를 구비함이 바람직하다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하고자 한다.
제1도는 본 발명에 따른 HDLC/LAPD 콘트롤러에 이용되는 데이터 버퍼링 장치를 설명하기 위한 구성 블록도를 도시한 것으로, 도면 부호 10과 30은 데이터 입력을 위한 버퍼를, 20은 램(RAM)을, 40은 어드레스 카운터부를, 50은 멀티플렉서(MUX)를, 60은 블록 제어부를, 70은 제어신호 발생부를 각각 나타낸다.
램(20)은 본 발명이 HDLC/LAPD 콘트롤러에 적용할 때, 특히 64바이트로 메모리 용량을 갖는 것이 바람직하다.
어드레스 카운터부(40)는 두 개의 카운터(41,42)로 구성되며, 각각 읽기 및 쓰기 어드레스를 카운팅을 수행하게 된다. 이때, 쓰기 어드레스 카운터(41)는 INT-WR 신호에 따라 쓰기 어드레스를 증감하여, 읽기 어드레스 카운터(42)는 INT-RD 신호에 따라 읽기 어드레스를 증감한다.
멀티플렉서(50)는 SEL 신호에 따라 어드레스 카운터부(40)의 출력 어드레스중 어느 하나를 선택하여 팸(20)상에 출력한다.
블록 제어부(60)는 N개의 블록 제어부(60, 61, 62)로 구성되며, 각 블록 제어부는 블록 인에이블 신호에 따라 인에이블되며, INT-WR 및 INT-RD 신호에 따라 자체의 카운팅 기능을 이용하여 어드레스 카운팅을 수행하며, 데이터 기록시 카운터를 증가시키고 데이터 독출시 카운터를 감소시킨다. 또한, 각 블록 제어부는 램의 메모리 블록에 대한 제어를 수행하기 위한 상태신호를 발생하며, 이때 상태신호는 메모리 블록상에 데이터가 모두 기록 혹은 독출되거나, 프레임 데이터의 마지막일 때 각각 발생된다. 특히, 블록 제어부(60)는 램(20)의 메모리 용량이 64바이트일 때, 28바이트 메모리 블록 단위로 제어하기 위하여 4개의 블록 제어부로 구성됨이 바람직하다.
제어신호 발생부(70)는 읽기/쓰기 W/R신호 및 블록 제어부(60)으로부터의 상태신호에 따라 블록 제어부(60)상에 인에이블 신호를 출력하고, 읽기 및 쓰기 어드레스를 선택하기 위한 SEL 신호를 발생하며, 램(20)을 엑세스하기 위한 제어신호 CON를 발생한다. 또한, 어드레스 카운팅을 위한 제어신호 INT-WR 및 INT-RD 신호를 각각 발생한다.
상기 구성에 따른 동작을 살펴보면, 먼저 데이터 기록시에는 IN단자를 통해 수신되는 데이터가 버퍼(10)상에 래치되고 이엇 W/R 신호에 따라서 CON 신호를 데이터의 기록 구간에 맞도록 제어신호 발생부(70)에서 발생하고 쓰기 어드레스를 증가시키기 위한 INT-WR 신호가 발생된다. 초기에는 블록 #1 제어부(61)이 인에이블되도록 인에이블 신호가 발생된다. 따라서, 램(20)의 메모리 블록상에 차례대로 데이터 기록이 이루어진다. 이때, 각 블록 제어부(61)(62)(63)는 기록시에는 어드레스를 증가시키고 독출시에는 어드레스를 감소시킨다. 이때, 마지막 혹은 시작 어드레스에 도달되거나, 프레임 데이터의 끝이면 상태신호가 발생되며, 이 상태신호에 따라 다음 블록 제어부가 인에이블 되어진다. 초기에 데이터 기록중 램의 메모리 블록#1상에 데이터가 모두 기록되면 다름 데이터 기록을 위해 블록#2 제어부(62)상에 인에이블 신호가 인가된다. 따라서, 램의 블록#2상에 데이터 기록이 연이어 이루어진다. 한편, 데이터 독출시에는 해당 램의 메모리 블록에 기록된 데이터가 모두 독출되면 해당 메모리 블록 제어부는 상태신호를 발생시키고 이때, 제어신호 발생부(70)는 하위 블록 제어부상에 인에이블 신호를 인가시킨다. 독출된 데이터는 버퍼(30)상에 일시 저장된 후, OUT 단자를 통해 출력된다.
이상에서 살펴본 바와 같이 발명은 싱글 버퍼링 방법의 효율적인 버퍼 공간 활용과. 버퍼링 방법의 인터럽트 발생 빈도 감소를 통한 지연 요소의 절감이라는 장점을 살릴 수 있다. 따라서, 고속의 데이터 처리를 필요로 하는 HDLC 프로토콜을 적용할 수 있으며, LAPD 콘트롤러에 적용시 마이크로 프로세서의 오버헤드를 줄임으로써 마이크로 프로세서가 다른 서비스를 제공하는 시간적인 여유를 제공하며, 데이터 손실의 감소를 통해 보다 빠른 데이터의 송수신이 가능하게 된다.

Claims (3)

  1. 데이터 저장을 위한 저장수단 ; 제1 및 제2신호에 따라 각각 어드레스 카운팅을 수행하는 제1 및 제2카운터 ;선택신호에 따라 상기 제1 및 제2카운터의 어드레스를 선택 출력하는 멀티플렉서; 상기 제1 및 제2신호에 따라 어드레스를 타운팅하고, 카운팅된 어드레스를 통해 오버플로 혹은 언더플로가 발생하는 상기 저장수단의 대응되는 메모리 블록의 시작 혹은 마지막 어드레스일 때, 상태신호를 발생되며, 인에이블 신호에 따라 동작 인에이블되는 복수의 블록 제어부 및 리드/라이트 신호 및 복수의 블륵 제어부로부터의 상태신호에 따라, 어드레스 제어를 위해 상기 제1 및 제2신호를 발생하고 인에이블 신호를 발생하여 상기 복수의 블록 제어부에 출력하며 상기 저장수단을 제어하는 제어신호를 발생하는 제어신호 발생부를 구비한 것을 특징으로 하는 데이터 버퍼링 장치.
  2. 제1항에 있어서, 상기 저장수단은 하나의 램으로 구성하며, 64바이트의 메모리 용량을 갖는 것을 특징으로 하는 데이터 버퍼링 장치.
  3. 제2항에 있어서, 상기 복수의 블록 제어부는 램의 메모리 용량을 4개의 28바이트 메모리 블록 단위로 제어하기 위하여 4개로 구성된 것을 특징으로 하는 데이터 버퍼링 장치.
KR1019960006644A 1996-03-13 1996-03-13 데이터 버퍼링 장치 KR0183831B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960006644A KR0183831B1 (ko) 1996-03-13 1996-03-13 데이터 버퍼링 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960006644A KR0183831B1 (ko) 1996-03-13 1996-03-13 데이터 버퍼링 장치

Publications (2)

Publication Number Publication Date
KR970066905A KR970066905A (ko) 1997-10-13
KR0183831B1 true KR0183831B1 (ko) 1999-05-15

Family

ID=19452967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960006644A KR0183831B1 (ko) 1996-03-13 1996-03-13 데이터 버퍼링 장치

Country Status (1)

Country Link
KR (1) KR0183831B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE511849C2 (sv) * 1998-03-31 1999-12-06 Ericsson Telefon Ab L M Anordning och metod för buffertskydd

Also Published As

Publication number Publication date
KR970066905A (ko) 1997-10-13

Similar Documents

Publication Publication Date Title
US5526508A (en) Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer
US5045997A (en) Data processor
US6047340A (en) Method for transmitting data, and apparatus for transmitting data and medium
WO2010122613A1 (ja) Fifoバッファ装置
KR0183831B1 (ko) 데이터 버퍼링 장치
US6584512B1 (en) Communication DMA device for freeing the data bus from the CPU and outputting divided data
US6651114B1 (en) DMA controller which optimizes transfer rate of data and method therefor
JP3123366B2 (ja) 情報記憶管理装置
CN115833920B (zh) 一种解调数据的传输方法和装置
KR100236788B1 (ko) 음성사서함시스템의 음성데이터 교환 제어 장치
JP2546743B2 (ja) 音声およびデータのためのパケット/高速パケット交換機
KR100327388B1 (ko) 디지털 방송의 메모리 제어 장치
US7239640B1 (en) Method and apparatus for controlling ATM streams
KR0166737B1 (ko) 병렬처리형 가변장복호화장치
KR0181485B1 (ko) 데이터 통신용 데이터 버퍼링 장치
JPS6341269B2 (ko)
KR20000043962A (ko) 팩스 데이터 처리장치
KR200170149Y1 (ko) 데이터 송수신 장치
JPH08125629A (ja) 非同期データの多重方式
KR100243010B1 (ko) 이더넷 버퍼메모리 제어기
KR100188940B1 (ko) 단일 메모리를 이용한 이중스택의 제어장치 및 데이터 전송 방법
JPH05334223A (ja) チャネル装置およびそのフレーム送受信方法
JP2000132498A (ja) Dma転送制御装置
KR20100034390A (ko) 데이터 통신 시스템 및 방법
JPH0983569A (ja) データ多重化装置及びデータ多重化方法

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: 20091127

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee