KR19980056298A - 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법 - Google Patents

환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법 Download PDF

Info

Publication number
KR19980056298A
KR19980056298A KR1019960075564A KR19960075564A KR19980056298A KR 19980056298 A KR19980056298 A KR 19980056298A KR 1019960075564 A KR1019960075564 A KR 1019960075564A KR 19960075564 A KR19960075564 A KR 19960075564A KR 19980056298 A KR19980056298 A KR 19980056298A
Authority
KR
South Korea
Prior art keywords
pointer
data
storing
memory
message group
Prior art date
Application number
KR1019960075564A
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 KR1019960075564A priority Critical patent/KR19980056298A/ko
Publication of KR19980056298A publication Critical patent/KR19980056298A/ko

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

본 발명은 다양한 크기로 전송되는 데이터 블럭의 크기에 맞는 영역만을 할당하여 순서대로 저장하는 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법에 관한 것으로서, 헤드 포인터(head pointer)와 테일 포인터(tail pointer) 및 오프셋 포인터(offset pointer)를 갖는 레지스터를 포함하고 있으면서, 전송된 메시지 그룹을 저장하는 인터페이스 버퍼 수단(100)과; 전송된 메시지 그룹의 데이터 개수(N)를 저장하고 있는 기록 버퍼 수단(200); 상기 기록 버퍼 수단(200)에 저장된 내용을 참조하기 위한 메모리 주소를 저장하고 있는 기록 테이블 수단(300); 및 상기 기록 버퍼 수단(200)에 저장된 데이터 개수(N) 및 오프셋 포인터(offset)를 참조하여 읽기 주소인 테일 포인터(tail pointer)를 발생함과 동시에 다음 메시지 그룹을 위하여 상기 오프셋 포인터(offset pointer)를 갱신하는 포인터 갱신 수단(400)을 포함하여 구성된 본 발명은 환형 큐를 이용하여 들어오는 순서대로 동적 데이터 블럭을 할당하여 저장하고, 메시지의 시작을 가르키는 기준 지점인 오프셋 포인터를 지정하여 각 메시지 그룹의 데이터 개수 만큼만 액세스하여 출력하도록 하므로써, 메모리의 낭비 없이 동적 데이터를 전송할 수 있는 효과가 있다.

Description

환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법 (Apparatus and method of transferring dynamic data block using circular queue)
본 발명은 송수신 시스템의 경계에서 전송 데이터를 임시 저장하는 인터페이스 메모리에 관한 것으로, 더욱 자세하게는, 다양한 크기로 전송되는 데이터 블럭의 크기에 맞는 영역만을 할당하여 순서대로 저장하는 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법에 관한 것이다.
일반적으로, 컴퓨터를 사용하는 형태를 시대별로 살펴보면, 1960년대는 일괄 처리(Batch Processing), 1970년대는 컴퓨터 능력을 작은 시간 대로 나누어 여럿이 사용하는 시분할 처리(Timesharing Processing), 1980년대는 개인용 컴퓨터나 워크데이션의 등장으로 개인 처리(personneal Computing)를 그 특성으로 볼 수 있다. 그리고, 1990년대에 들어와서는 분산 처리(Distributed Processing/Disributed Computing)시대가 시작되었으며, 분산 처리란 컴퓨터 통신망에 연결된 여러대의 컴퓨터 시스템들이 서로 도와 하나의 목적을 해결하고자 처리하는 것을 일컫는다.즉, 분산 처리 기술의 목적은 통신망에 연결된 여러 자원들을 마치 사용자 혼자서 사용하는 것처럼 지원해 주는 것이다. 분산 처리 시스템을 크게 3부분으로 구분하면, 데이터 처리부와 인터페이스 버퍼 및 공유 버스로 구분할 수 있으며, 다수개의 데이터 처리부로부터 전송되거나 수신되는 데이터를 공유 버스를 통해 상호 교환하게 된다. 이때 인터페이스 버퍼는 상기 데이터 처리부와 공유 버스간의 데이터 입출력을 제어하므로써 전체 시스템의 원할한 동작을 제공하는 기능을 한다.
또한, 분산 처리를 하는 시스템과 대립되는 개념으로 복수개의 프로세서가 1개의 컴퓨터를 구성하는 다중 프로세서 시스템에서도 메시지를 전달하기 위해서는 시스템간의 요구사항에 맞는 인터페이스를 통해서 가능하다. 특히, 메시지 전송에 있어서도 메시지를 저장하는 인터페이스 버퍼의 구성이 성능을 결정짓는 중요한 파라메터가 되고 있다.
그런데, 메시지의 종류에 따라 다양한 크기로 변형될 수 있으므로, 인터페이스 버퍼의 메모리 공간을 효율적으로 사용하기 위해서는 이러한 동적 데이터 블럭에 상응하는 공간 할당을 해주어야 하고, 해당 메시지만을 액세스(참조)하는 필요성이 요구되는 문제점이 있었다.
이에, 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 선입 선출 방식의 환형 큐 구조를 이용하여 데이터 크기에 해당하는 영역만을 할당하여 저장하고 참조(access)하므로써, 효율적으로 메모리를 관리할 수 있는 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법을 제공하는 데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 장치는, 쓰기 주소에 해당하는 헤드 포인터(head pointer)와 읽기 주소에 해당하는 테일 포인터(tail pointer) 및 기준 위치로부터 상대적인 위치를 나타내는 오프셋 포인터(offset pointer)를 갖는 레지스터를 포함하고 있으면서, 전송된 메시지 그룹을 저장하는 인터페이스 버퍼 와; 전송된 메시지 그룹의 데이터 개수를 저장하고 있는 기록 버퍼; 상기 기록 버퍼에 저장된 내용을 참조하기 위한 상기 기록 버퍼의 메모리 주소를 저장하고 있는 기록 테이블; 및 상기 기록 버퍼에 저장된 데이터 개수 및 오프셋 포인터를 참조하여 테일 포인터를 발생함과 동시에 다음 메시지 그룹을 참조하기 위한 오프셋 포인터를 갱신하는 포인터 갱신부를 포함하여 구성되는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 방법은, 전송하고자 하는 메시지 그룹과, 메시지 그룹의 데이터 개수를 전송하는 제 1 단계와; 상기 메시지 그룹과 데이터 개수를 저장하는 제 2 단계; 상기 데이터 개수를 저장하고 있는 메모리 위치를 저장하는 제 3 단계를 포함하는 메시지 저장 과정과; 상기 제 3 단계에서 저장된 메모리 위치를 얻어내어 메모리 위치에 해당하는 데이터 개수를 참조하는 제 4 단계; 상기 제 4 단계의 데이터 개수만큼 카운팅하여 테일 포인터를 증가시키면서 데이터를 출력하는 제 5 단계; 상기 5 단계 이후, 오프셋 포인터를 최종 테일 포인터값으로 갱신하는 제 6 단계를 포함하는 메시지 출력 과정으로 구성되는 것을 특징으로 한다.
도 1은 인터페이스 저장 장치로 이용되는 일반적인 메모리의 동작을 설명하기 위한 구조도,
도 2는 본 발명에 적용되는 환형 큐의 동작을 설명하기 위한 구조도,
도 3은 본 발명에 따른 환형 큐를 이용한 동적 데이터 블럭 전송 장치에 대한 블록도,
도 4는 본 발명에 따른 환형 큐에 동적 데이터 블럭을 저장하는 방법에 대한 흐름도,
도 5는 본 발명에 따른 환형 큐로부터 동적 데이터 블럭을 출력하는 방법에 대한 흐름도이다.
* 도면의 주요부분에 대한 부호의 설명 *
100 : 인터페이스 버퍼 200 : 기록 버퍼
300 : 기록 테이블 400 : 포인터 갱신부
이하, 참조된 도면을 참조하여 본 발명을 자세히 설명하고자 한다.
우선, 인터페이스 메모리 버퍼로 이용되고 있는 메모리의 종류로는 ① 듀얼 포트 메모리, ② 스택(Stack) 구조를 갖는 메모리, ③ 큐(Queue) 구조를 갖는 메모리, ④ 디큐(Dequeue) 구조를 갖는 메모리 ⑤ 환형 큐(circular Queue) 구조를 갖는 메모리등이 있다.
도 1의 (가)는 듀얼 포트 메모리의 동작 특성을 도시한 도면이고, (나)는 스택 구조 메모리의 동작 특성을 도시한 도면이며, (다)는 큐 구조 메모리의 동작 특성을 도시한 도면이고, (라)는 디큐 구조 메모리의 동작 특성을 도시한 도면이다. ① 듀얼 포트 메모리는 도 1의 (가)에 도시된 바와 같이, 2 개의 입출력 포트(포트 1, 포트 2)를 가지며 쌍방의 포트로부터 독립적으로 억세스가 가능한 기억장치를 말한다. 즉, 2개의 포트가 모두 어드레스 입력, 제어 신호 입력을 가지고 서로 독립적으로 데이터를 억세스할 수 있는 장치를 말한다.
② 스택(Stack) 구조를 갖는 메모리는 데이터의 삽입(Insertion:입력)과 삭제(Deletion:출력)의 모든 연산이 메모리의 한쪽 끝에서만 이루어지는 메모리 구조로 후입선출(Last In First Out: LIFO)방식에 따라 동작한다. 도 1의 (나)에 도시된 바와 같이, 데이터 입출력이 수행되는 부분을 TOP 이라 하고, 상기 TOP에서 가장 먼 부분을 BOTTOM 이라 한다. 스택으로 데이터가 입력(PUSH DOWN)된다는 것은 TOP 에 데이터를 삽입한 후, 상기 TOP 포인터(pointer)를 1 증가(TOP ← TOP+1)시키는 것을 말하는데, 이때에는 오버 플로우(Overflow)를 관리해야 한다. 또한, 스택에서 데이터가 출력(PUSH UP)된다는 것은 TOP 의 데이터를 삭제한 후, 상기 TOP 포인터(pointer)를 1 감소(TOP ← TOP-1)시키는 것을 말하는데, 이 때에는 언더 플로우(Underflow)를 관리해야 한다.
③ 큐(Queue) 구조를 갖는 메모리는 데이터 삽입은 한쪽 끝에서, 삭제는 반때쪽 끝에서만 일어나는데 즉, 먼저 삽입된 데이터가 가장 먼저 삭제되는 선입 선출(First In First Out: FIFO) 구조를 말한다. 큐 구조는 2 개의 포인터를 가지는데, 그 하나는 큐에 데이터가 삽입되는 위치를 가르키는 헤드 포인터(head pointer: READ pointer 라고도 한다.)이고, 다른 하나는 큐에서 데이터가 삭제되는 위치를 가르키는 테일 포인터(tail pointer: WRITE pointer 라고도 한다.)이다. 도 1의 (다)에 도시된 바와 같이, 큐에 n 개의 데이터를 저장할 수 있다고 하자. 이때, 큐로 데이터가 입력된다는 것은 테일 포인터가 가르키는 위치에 데이터를 삽입한 후, 상기 테일 포인터를 1 증가(tail pointer ← tail pointer+1)시키는 것을 말하는데, 이때에는 오버 플로우(Overflow)를 관리해야 한다. 또한, 큐에서 노드(데이터)가 출력된다는 것은 헤드 포인터가 가르키는 위치의 데이터를 삭제한 후, 상기 헤드 포인터를 1 증가( head pointer ← head pointer+1)시키는 것을 말하는데, 이때에는 언더 플로우(Underflow)를 관리해야 한다.
④ 디큐(Dequeue) 구조를 갖는 메모리는 스택 구조와 큐 구조를 혼합한 형태로서, 디큐 양쪽 끝에서 데이터 삽입 및 삭제가 모두 가능한 구조를 말하는데, 가장 오른쪽 노드를 지칭하는 RIGHT 포인터와 가장 왼쪽의 노드를 지칭하는 LEFT 포인터를 가진다.
⑤ 환형 큐(circular Queue) 구조를 갖는 메모리는 도 2의 (가)에 도시된 바와 같이, 상기 큐 구조의 헤드 포인터와 테일 포인터를 가지고 있으며 링 모양의 시작과 끝이 없는 형태를 가진다. 도 2의 (가)는 n개의 데이터를 저장할 수 있는 영역을 갖는 환형 큐에서 유효한 데이터가 저장되어 있지 않는 상태로, 헤드 포인터( head pointer)는 0번째 노드를, 테일 포인터(tail pointer)도 0번째 노드를 가리키고 있다. 도 2의 (나)는 유효한 데이터가 4개 저장되어 있는 상태로, 입력되는 데이터 순서대로 헤드 포인터(head pointer)를 증가시켜가면서 저장하여 모두 저장한 후에는 헤드 포인터(head pointer)는 다음 저장할 위치인 4번째 노드를 가리키고 있으며, 테일 포인터(tail pointer)는 0번째 노드를 가리키고 있다. 이후, 데이터를 읽어갈 때에는 테일 포인터(tail pointer)를 증가시키면서, 출력하므로써 입력된 순서대로 출력되는 선입 선출 방식의 메모리 구조이다.
이어서, 도 3은 본 발명을 적용시킨 상기 환형 큐를 이용한 동적 데이터 전송 장치의 블럭도로서, 본 발명은 인터페이스 버퍼(100)와, 기록 버퍼(200), 기록 테이블(300), 및 포인터 갱신부(400)를 포함하여 구성되어 있다.
상기 인터페이스 버퍼(100)는 헤드 포인터(head pointer)와 테일 포인터(tail pointer), 오프셋 포인터(offset pointer)를 갖는 레지스터를 포함하고 있으면서, 전송된 메시지 그룹을 저장하는 환형 큐구조를 갖는 메모리로 구현된다.
상기 기록 버퍼(200)는 전송된 메시지 그룹의 데이터 개수(N)를 저장하고 있는 기본적인 메모리로 구현된다.
상기 기록 테이블(300)은 상기 기록 버퍼(200)에 저장된 내용을 참조하기 위하여 데이터 개수를 저장한 상기 기록 버퍼(200)인 메모리의 주소를 저장하는 선입 선출 방식의 환형 큐로 구현된다.
상기 포인터 갱신부(400)는 상기 기록 버퍼(200)에 저장된 데이터 개수(N) 및 오프셋 포인터(offset pointer)를 참조하여 테일 포인터(tail pointer)를 발생함과 동시에 오프셋 포인터(offset pointer)를 갱신한다. 여기서, 상기 포인터 갱신부(400)는 이전 오프셋 포인터(offset pointer)에다가 데이터의 개수 만큼 카운팅한 값을 더하여 테일 포인터(tail pointer) 즉, 읽기 주소를 1씩 증가시키면서 발생시키므로 가산기와 카운터를 포함하여 구성된다.
이어서, 도 3 과 도 4 및 도 5를 참조하여 본 발명의 작용 및 효과를 설명하고자 한다.
도 4는 본 발명에 따른 환형 큐에 동적 데이터 블럭을 저장하는 방법에 대한 흐름도이고, 도 5는 본 발명에 따른 환형 큐로부터 동적 데이터 블럭을 출력하는 방법에 대한 흐름도이다.
메시지 그룹 데이터는 1바이트부터 16바이트까지 1바이트 단위로 가변되는 동적 데이터 블럭으로 전송되고, 상기 인터페이스 버퍼는 n개의 데이터를 저장할수 있는 환형 큐구조로서, 편이상 0번째 노드부터 n-1번째 노드까지로 구성된 메모리는 1노드당 1바이트를 저장한다. 그리고, 초기에 헤드 포인터(head pointer)와 테일 포인터(tail pointer)는 0번째 노드를 가리키고 있다. 즉, 0번째 노드의 메모리 번지를 저장하고 있다.
도 4를 참조하여, 메시지 그룹이 인터페이스 버퍼로 저장되는 과정을 살펴보면 다음과 같다.
예를 들어, 데이터 크기 3과 데이터 크기 2의 메시지 그룹을 순서대로 전송한다고 하면, 송신 시스템은 첫번째 메시지 그룹과 데이터 개수 3을 전송한다.(S1) 상기 인터페이스 버퍼(100)에서는 헤드 포인터(head pointer)를 증가시키면서, 3개의 데이터를 0, 1, 2번째 노드까지 저장한 후, 이때 헤드 포인터(head pointer)는 3번째 노드를 가리킨다. 상기 기록 버퍼(200)는 데이터 개수 3을 저장한다.(S2) 상기 기록 테이블(300)은 데이터 개수 3을 저장하고 있는 기록 버퍼(200)의 주소를 저장한다.(S3)
계속해서, 송신 시스템은 두번째 메시지 그룹과 데이터 개수 2를 전송하고, 인터페이스 버퍼(100)에서는 2개의 데이터를 3, 4번째 노드까지 저장한다. 또한 데이터 개수 2가 상기 기록 버퍼(200)에 저장되고, 데이터 개수 2를 저장한 기록 버퍼(200)의 메모리 주소가 기록 테이블(300)로 저장된다. (이때 기록 테이블은 선입선출 방식의 메모리라는 것을 주의한다.)
이제, 도 5를 참조하여 인터페이스 버퍼(100)로부터 저장된 메시지를 출력하는 과정을 살펴보면 다음과 같다.
초기에 오프셋 포인터(P)도 0번째 노드를 가르키고 있고, 변수 i 는 상기 포인터 갱신부(400)의 카운터가 0부터 데이터 개수 - 1(N-1)까지 카운팅하는 값을 나타낸다.(S4) 상기 기록 테이블(300)로부터 기록 버퍼(200)의 주소를 참조하게 되는 데, 기록 테이블(300)은 선입 선출 방식이므로, 첫번째 메시지 그룹의 데이터 개수인 3을 저장하고 있는 기록 버퍼의 주소를 넘겨준다.(S5) 기록 버퍼의 주소에 따라 기록 버퍼로부터 참조된 데이터 개수 3을 참조한다.(S6) 이제, 포인터 갱신부(400)에서는 카운터를 동작시켜 카운팅 값(i)과 오프셋 포인터값을 가산하여 테일 포인터를 갱신시키면서 메시지 데이터를 출력시킨다.(S7, S8) 이때, 카운터의 동작 즉, 카운터를 몇번 동작시킬 것인가를 결정은 상기 제 6 단계에서 참조된 데이터 개수 3으로 결정되어진다. 상기 카운터는 인에블된 후 동작하여 0, 1, 2까지 카운팅하여야 하므로, 데이터 개수 3과 카운팅 값 i 와 비교하는 비교 과정을 통해 첫번째 메시지 그룹의 모든 데이터가 출력된다.(S9, S10) 즉, 테일 포인터(tail pointer)가 1씩 증가하면서 0번째 노드부터 2번째 노드까지의 데이터를 출력하게 되는 것이다. 첫번째 메시지 그룹의 데이터를 모두 출력한 후의 테일 포인터(tail pointer)는 3번째 노드를 가르키고 있으며, 이 테일 포인터값은 오프셋 포인터값으로 갱신되어서 다음 메시지를 출력하는 기준값으로 이용된다.(S11)
계속해서, 두번째 메시지 그룹을 출력하는 과정은 기록 테이블(300)로부터 두번째 메시지 그룹의 데이터 개수인 2을 저장하고 있는 기록 버퍼(200)의 주소를 넘겨받는다.(S5) 참조된 기록 버퍼(200)의 주소에 따라 기록 버퍼(200)로부터 데이터 개수 2를 참조한 포인터 갱신부(400)에서는 카운터를 동작시켜 카운팅값(i) 과 이전 오프셋 포인터값(3번째 노드를 가리키는 값)을 가산한 값을 테일 포인터(tail pointer)로 하여 메시지 데이터를 출력시킨다. 즉, 카운터는 인에블된 후 2번 클럭주기 동안 동작하여 0, 1까지 카운팅하므로써, 테일 포인터(tail pointer)가 1씩 증가하면서 3번째 노드부터 4번째 노드까지의 데이터를 출력하게 되는 것이다. 이렇게 두번째 메시지 그룹의 데이터를 모두 출력한 후의 테일 포인터(tail pointer)는 5번째 노드를 가르키고 있으며, 오프셋 포인터값(offset pointer)은 최종 테일 포인터값으로 갱신되어서 다음 메시지를 출력하는 데 이용되는 것이다.
이상에서 살펴본 바와 같이, 본 발명은 환형 큐를 이용하여 들어오는 순서대로 동적 데이터 블럭을 할당하여 저장하고, 메시지의 시작지점을 가르키는 기준 위치를 오프셋 포인터를 지정하여 각 메시지 그룹의 데이터 개수 만큼만 액세스하여 출력하도록 하므로써, 메모리의 낭비 없이 동적 데이터를 전송할 수 있는 효과가 있다.

Claims (8)

  1. 쓰기 주소에 해당하는 헤드 포인터(head pointer)와 읽기 주소에 해당하는 테일 포인터(tail pointer) 및 기준 위치로부터 상대적인 위치를 나타내는 오프셋 포인터(offset pointer)를 갖는 레지스터를 포함하고 있으면서, 전송된 메시지 그룹을 저장하는 인터페이스 버퍼 수단(100)과;
    전송된 메시지 그룹의 데이터 개수(N)를 저장하고 있는 기록 버퍼 수단(200);
    상기 기록 버퍼 수단(200)에 저장된 내용을 참조하기 위한 메모리 주소를 저장하고 있는 기록 테이블 수단(300); 및
    상기 기록 버퍼 수단(200)에 저장된 데이터 개수(N) 및 오프셋 포인터(offset)를 참조하여 읽기 주소인 테일 포인터(tail pointer)를 발생함과 동시에 다음 메시지 그룹을 위하여 상기 오프셋 포인터(offset pointer)를 갱신하는 포인터 갱신 수단(400)을 포함하여 구성되는 것을 특징으로 하는 환형 큐를 이용한 동적 데이터 블럭 전송 장치.
  2. 제 1 항에 있어서, 상기 인터페이스 버퍼 수단(100)은 메시지 그룹을 저장하기 위한 환형 큐 구조를 갖는 메모리를 포함하여 구성되는 것을 특징으로 하는 환형 큐를 이용한 동적 데이터 블럭 전송 장치.
  3. 제 1 항에 있어서, 상기 기록 테이블(300)은 선입 선출 방식의 환형 큐 구조를 갖는 메모리로 구성되는 것을 특징으로 하는 환형 큐를 이용한 동적 데이터 블럭 전송 장치.
  4. 제 1 항에 있어서, 상기 포인터 갱신 수단(400)은 상기 데이터 개수 N에 해당하는 수 만큼 카운팅하는 카운터와; 상기 카운터의 카운팅값(i)과 오프셋 포인터 (offset pointer)를 더하는 가산기를 포함하여 구성되는 것을 특징으로 하는 환형 큐를 이용한 동적 데이터 블럭 전송 장치.
  5. 제 4 항에 있어서, 상기 포인터 갱신 수단(400)은 상기 카운터가 인에이블되어 0부터 카운팅 하여 데이터 개수-1(N-1)까지만 카운팅 한 후 디제이블 되도록, 카운팅 값과 데이터 개수를 비교하여 카운팅을 제어하는 비교 수단을 추가로 포함하는 것을 특징으로 하는 환형 큐를 이용한 동적 데이터 블럭 전송 장치.
  6. 제 1 항에 있어서, 상기 포인터 갱신 수단(400)에서는 테일 포인터를 1씩 증가시키면서 하나의 메시지 그룹의 데이터를 모두 읽은 다음, 최종 테일 포인터 값으로 오프셋 포인터값을 변경하여, 다음 메시지 그룹의 기준 위치를 설정하도록 하는 것을 특징으로 하는 환형 큐를 이용한 동적 데이터 블럭 전송 장치.
  7. 전송하고자 하는 메시지 그룹과, 메시지 그룹의 데이터 개수(N)를 전송하는 제 1 단계와;
    상기 메시지 그룹과 데이터 개수(N)를 저장하는 제 2 단계;
    상기 데이터 개수를 저장하고 있는 메모리 위치를 저장하는 제 3 단계를 포함하는 메시지 저장 과정과;
    상기 제 3 단계에서 저장된 메모리 위치를 얻어내어 메모리 위치에 해당하는 데이터 개수(N)를 참조하는 제 4 단계;
    상기 제 4 단계의 데이터 개수만큼 카운팅하여 테일 포인터(T)를 증가시키면서 테일 포인터(T)가 가리키는 데이터를 출력하는 제 5 단계;
    상기 5 단계 이후, 오프셋 포인터값(P)을 최종 테일 포인터값(T)으로 갱신하는 제 6 단계를 포함하는 메시지 출력 과정을 포함하여 구성되는 것을 특징으로 하는 환형 큐를 이용한 동적 데이터 블럭 전송 방법.
  8. 제 7 항에 있어서, 상기 제 5 단계에서 테일 포인터(T)는 이전 오프셋 포인터값(P)과 0,1,…, N-1 까지 순서대로 더한 값에 해당하는 것을 특징으로 하는 환형 큐를 이용한 동적 데이터 블럭 전송 방법.
KR1019960075564A 1996-12-28 1996-12-28 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법 KR19980056298A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960075564A KR19980056298A (ko) 1996-12-28 1996-12-28 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960075564A KR19980056298A (ko) 1996-12-28 1996-12-28 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법

Publications (1)

Publication Number Publication Date
KR19980056298A true KR19980056298A (ko) 1998-09-25

Family

ID=66395671

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960075564A KR19980056298A (ko) 1996-12-28 1996-12-28 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법

Country Status (1)

Country Link
KR (1) KR19980056298A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100339200B1 (ko) * 1999-12-24 2002-05-31 박종섭 동적 버퍼 핸들링을 이용한 메시지 처리 장치 및 방법
KR100389110B1 (ko) * 2000-09-05 2003-06-25 주식회사 레인콤 저속 기억 장치를 위한 환형 큐의 관리 방법
KR100397502B1 (ko) * 2001-07-10 2003-09-13 엘지전자 주식회사 다중처리시스템의 프로세서 유닛간 동적 인터페이스 방법
KR100422141B1 (ko) * 2000-12-28 2004-03-10 엘지전자 주식회사 정적램을 이용한 링큐 구성 방법
KR100458506B1 (ko) * 2002-08-21 2004-12-03 주식회사 대원지에스아이 큐를 이용한 광학장치와 공기분사기 사이의 시간지연처리수단을 구비하는 곡물 선별기
KR100508585B1 (ko) * 1998-05-23 2005-11-25 유티스타콤코리아 유한회사 전전자교환기 입출력 인터페이스 회로팩의 패킷 송수신 방법
KR100833559B1 (ko) * 1999-05-06 2008-06-10 후지쯔 가부시끼가이샤 트랜잭션 기록 보존 장치

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100508585B1 (ko) * 1998-05-23 2005-11-25 유티스타콤코리아 유한회사 전전자교환기 입출력 인터페이스 회로팩의 패킷 송수신 방법
KR100833559B1 (ko) * 1999-05-06 2008-06-10 후지쯔 가부시끼가이샤 트랜잭션 기록 보존 장치
KR100339200B1 (ko) * 1999-12-24 2002-05-31 박종섭 동적 버퍼 핸들링을 이용한 메시지 처리 장치 및 방법
KR100389110B1 (ko) * 2000-09-05 2003-06-25 주식회사 레인콤 저속 기억 장치를 위한 환형 큐의 관리 방법
KR100422141B1 (ko) * 2000-12-28 2004-03-10 엘지전자 주식회사 정적램을 이용한 링큐 구성 방법
KR100397502B1 (ko) * 2001-07-10 2003-09-13 엘지전자 주식회사 다중처리시스템의 프로세서 유닛간 동적 인터페이스 방법
KR100458506B1 (ko) * 2002-08-21 2004-12-03 주식회사 대원지에스아이 큐를 이용한 광학장치와 공기분사기 사이의 시간지연처리수단을 구비하는 곡물 선별기

Similar Documents

Publication Publication Date Title
EP1645967B1 (en) Multi-channel DMA with shared FIFO buffer
US5519701A (en) Architecture for high performance management of multiple circular FIFO storage means
US7844752B2 (en) Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions
US4507760A (en) First-in, first-out (FIFO) memory configuration for queue storage
US4930065A (en) Automatic data channels for a computer system
CN101636721B (zh) 用于处理未知长度传输的dmac
US20050223131A1 (en) Context-based direct memory access engine for use with a memory system shared by devices associated with multiple input and output ports
US20060047874A1 (en) Resource management apparatus
JPH06103213A (ja) 入出力装置
Picker et al. A VLSI priority packet queue with inheritance and overwrite
KR19980056298A (ko) 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법
KR100841548B1 (ko) 처리 시스템
EP2437159A1 (en) Operation apparatus and control method thereof
US10963402B1 (en) Using age matrices for managing entries in sub-queues of a queue
US6571301B1 (en) Multi processor system and FIFO circuit
CN110633132B (zh) 存储器模块
EP0715252B1 (en) A bit field peripheral
CN118467182B (zh) 内存访问方法、计算机程序产品、电子设备及介质
US20240331746A1 (en) Direct memory access (dma) circuit and operation method thereof
JP2615046B2 (ja) レコード追加処理方法
SU752318A1 (ru) Мультиплексный канал
JP2735400B2 (ja) 非同期入出力制御方式
JPH0833869B2 (ja) データ処理装置
US6629229B1 (en) Message index descriptor
Picker et al. Scaling and performance of a priority packet queue for real-time applications

Legal Events

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