KR960005106B1 - 버퍼관리장치 - Google Patents

버퍼관리장치 Download PDF

Info

Publication number
KR960005106B1
KR960005106B1 KR1019890010647A KR890010647A KR960005106B1 KR 960005106 B1 KR960005106 B1 KR 960005106B1 KR 1019890010647 A KR1019890010647 A KR 1019890010647A KR 890010647 A KR890010647 A KR 890010647A KR 960005106 B1 KR960005106 B1 KR 960005106B1
Authority
KR
South Korea
Prior art keywords
buffer
signal
upper limit
lower limit
empty
Prior art date
Application number
KR1019890010647A
Other languages
English (en)
Other versions
KR900002196A (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 오끼덴끼고오교 가부시끼가이샤
Publication of KR900002196A publication Critical patent/KR900002196A/ko
Application granted granted Critical
Publication of KR960005106B1 publication Critical patent/KR960005106B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Bus Control (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

내용 없음.

Description

버퍼관리장치
제 1 도는 본 발명의 버퍼관리장치의 일실시예를 표시하는 블록도.
제 2 도는 종래의 버퍼관리장치를 표시하는 블록도.
제 3 도 및 제 4 도는 제 1 도의 회로에 의하여 설정되는 상한치 및 하한치를 설명하는 도면.
* 도면의 주요부분에 대한 부호의 설명
HCMP : 상한치 비교부 HND : 상한치 저장부
LCMP : 하한치 비교부 LND : 하한치 저장부
μP : 마이크로프로세서
본 발명은 디지탈적으로 증감하는 수치 특히 버퍼수치를 관리하는 버퍼관리장치에 관한 것이다.
디지탈적으로 증감하는 수치를 관리하는 종래 기술로서 이데야스끼저 「16비트 마이크로컴퓨터 8086의 사용법」, 소화 57년 10월 30일, 음사 발행, 제40페이지~41페이지에 기재되어 있는 I/O(입출력) 맵드 I/O나, 메모리 맵드 I/O를 사용하고, 제 2 도에 도시된 바와 같은 시스템을 구성하는 방법이 있었다.
제 2 도는 관리되는 수치의 일례로서, 데이터 송수신 등에 있어서 데이터를 일시적으로 축적하는데 사용되는 버퍼를 관리하는 버퍼 관리장치의 블록도이다. BC는 버퍼 제어부이며, 도시되어 있지 않은 버퍼의 관리를 하고 있고, 그 빈 버퍼스(BN)(신호)을 축적한다. IOC는 버퍼 제어부(BC)에서 빈 버퍼수(BN)를 입력함과 동시에, 지정된 어드레스에 의하여 버퍼에 데이터를 써넣고, 또는 지정된 버퍼의 어드레스에서 데이터를 읽어내기 위하여 설치한 입출력 장치제어부이다.
μP는 마이크로프로세서이며, μP 버스를 통하여 입출력 장치 제어부(IOC)에 접속되어 있고, 이하에 설명된 처리를 실행하다.
제 2 도의 구성의 동작을 설명한다. 버퍼 제어부(BC)는, 다른 장치(도시되어 있지 않음)에서 버퍼 요구가 있었을 때 빈 버퍼가 있으면, 이 다른 장치에 빈 버퍼를 할당하고 빈 버퍼수(BN)를 하나 감산한다. 반대로 버퍼 제어부(BC)는 다른 장치가 사용하고 있었던 버퍼를 개방시켰을때 빈 버퍼수(BN)를 하나 증가시킨다.
한편, 마이크로프로세서(μP)는 이와 같이 변화하는 빈 버퍼수(BN)를 파악하기 위하여, 가령 빈 버퍼수가 변화하고 있지 않아도, 적당한 간격에서 입출력 명령을 실행하고, 입출력장치 제어부(IOC)를 통하여 버퍼 제어부(BC)에서 빈 버퍼수(BN)를 읽어 넣고, 이번에 읽어 넣은 빈 버퍼치 BN1와 전회 읽어 넣은 치 BN1+1를 비교하므로서 빈 버퍼수 BN1가 변화하고 있는가의 여부를, 변화한 것이면 빈 버퍼수가 증가하였는가, 감소하였는가를 판단하기 위한 처리를 실행한다.
그러나 종래의 버퍼관리장치는 이상 설명한 바와 같이, 프로세서가 시간의 경과에 따라 변화하는 수치를 정확히 관리하기 위하여, 항상 일련의 처리를 주기적으로 실행하지 않으면 안되므로, 프로세서의 부하가 커져, 다른 처리에도 바람직하지 않은 영향을 미치는 문제가 있었다.
본 발명은 상기 서술한 바와 같은 종래 기술의 문제점을 제거하는 것을 목적으로 하며, 빈 버퍼수와 같이, 시간의 경과에 따라 변화하는 수치를 관리하기 위하여 낭비되는 프로세서의 부하를 경감하므로서, 프로세서에 의한 전체의 처리능력을 향상시키는 것을 목적으로 한다.
본 발명의 버퍼관리장치는 증감하는 버퍼수치를 관리하는 수치관리부를 구비한 것으로, 이용가능한 버퍼의 수치를 나타내는 버퍼제어수단과, 상기 수치의 상한 및 하한을 결정하는 상한치 및 하한치의 범위를 저장하는 저장수단과, 상기 상한치 및 하한치에 의하여 설정되는 범위에 상기 수치가 포함되는가의 여부를 비교하는 비교수단과, 상기 범위를 넘었을 때는, 상기 수치관리부에 통지하는 인터럽트 제어수단을 구비하고, 상기 수치 관리부는 상기 통지에 의하여 상기 범위를 넘는 상태가 소정 기간 계속된다고 판정했을 때, 상기 상한치 및 하한치 중 한쪽 또는 양쪽을 다른 수치로 변경하는 것이다.
상기와 같이 구성된 버퍼관리장치에 의하면 비교수단들이 상기 상한치 및 하한치에 의하여 설정되는 범위에 상기 수치가 포함되는가의 여부를 비교하고, 상기 범위를 넘었을 때는, 이 상태를 상기 수치 관리부에 통지하므로, 상기 수치관리부가 주기적으로 상기 수치를 조사하는 처리를 실행하지 않더라도 이것을 알 수 있으며, 또한 상기 범위를 넘는 상태가 소정 기간 계속된다고 판정했을때는, 상기 상한치 및 하한치 중 한족 또는 양쪽을 다른 수치로 변경하므로서, 버퍼 수치의 관리를 실제 상태에 대응하는 적절한 것으로 한다.
제 1 도는 본 발명의 일실시예의 버퍼관리장치에 의한 데이터 처리 시스템의 블록도이다. 제 1 도에 있어서, 제 2 도와 동일 부호는 동일부분을 표시한다.
HND는 플립ㆍ플롭으로 이루어지며, 빈 버퍼수(BN)의 상한치를 설정하는 상한치 저장부이고, 입출력 장치 제어부(IOC)를 통하여 마이크로프로세서(μP)에 의하여 세트하고, 상한치 신호를 출력한다.
LND는 플립ㆍ플롭으로 이루어지며, 빈 버퍼수(BN)의 하한치를 설정하는 하한치 저장부이고, 입출력장치제어부(IOC)를 통하여 마이크로프로세서(μP)에 의하여 세트되고, 하한치 신호를 출력한다.
HCMP는 상한치 저장부(HND)의 상한치 신호를 도입하는 A, 및 빈 버퍼수(BN)를 도입하는 B 입력을 구비한 상한치 비교부이며, A>B일때 신호 INT α를 출력한다.
LCMP는 하한치 저장부(LND)의 하한치 신호를 도입하는 A 및 빈 버퍼수(BN)를 도입하는 B 입력을 구비한 하한치 비교부이며, A<B일 때에 신호 INT β를 출력한다. 따라서 신호 INT α 및 신호 INT β는 빈 버퍼수(BN)의 안정상태의 범위를 결정하게 된다.
INTC는 인터럽트 제어부이며, 상한치 비교부(HCMP)의 신호 INT α와, 하한치 비교부(LCMP)의 신호 INT β를 입력하고, 신호 INT α가 발생했을 때는 인터럽트 신호 α, 한편 신호 INT β가 발생했을 때는 인터럽트신호 β를 INT(인터럽트) 신호선을 통하여 수치관리부로서 기능하는 마이크로프로세서 μP에 입력한다.
제 3 도 및 제 4 도는 제 1 도에 표시한 버퍼관리장치의 동작을 설명하는 도면이다. 제 3 도 및 제 4 도에 있어서, H0, H1, H2, H3은 상한치 저장부(HND)의 설정치, L0, L1, L2, L3은 하한치 저장부(LND)의 설정치이다. 단, H0>H1; H2<H3; H0≥L0≥H1≥L1; H3≥L3≥H2≥L이다. 또, 빈 버퍼수(BN1)는 도면의 우측에서 좌측으로 가는 만큼 커지는 것으로 한다.
다음에, 이러한 구성의 동작을 설명한다. 제 3 도는 빈버퍼수(BN)가 H와 L과의 사이에서 안정된 상태의 값에서 감소하는 경우를 표시한다. 또 제 4 도는 빈 버퍼수(BN)가 H와 L과의 사이에서 안정된 상태의 값에서 증대하는 경우를 표시한다. 제 3 도 a 및 제 4 도 a는 빈 버퍼수(BN)가 이러한 안정상태의 값에 있으며, 상한치 비교부(HCMP) 및 하한치 비교부(LCMP)는 신호 INT α 및 INT β를 발생시키지 않고, 따라서 인터럽트 제어부(INPC)도 인터럽트 α 및 β를 발생하고 있지 않다.
제 3 도 a의 안정상태에 있어서, 어느 장치로부터 버퍼 제어부(BC)에 대하여 빈 버퍼 요구가 있었을때는 버퍼 제어부(BC)가 빈 버퍼 요구를 한 장치에 통지함과 동시에, 빈 버퍼수(BN)의 감산을 하고, 그 빈 버퍼수(BN)를 작게한다. 1회 이상의 빈 버퍼요구가 있으며, 빈 버퍼수(BN)가, 제 3 도 b에 표시한 바와 같이, L0의 값보다도 작아지고, 상기 상한치 및 하한치에 의하여 설정되는 범위밖이 되면, 하한치 비교부(LCMP)는, INT β를 마이크로프로세서(μP)에 발생한다. 마이크로프로세서(μP)는, 이 INT β에 응답을 받아들임으로서, BN<L0인 것을 인식하고, 이 인식에 대응하여 필요한 처리가 있으면, 이것을 실행한다. 그 후, 제 3 도 a의 경우보다 하한치의 안정상태로 만들기 위하여, 마이크로프로세서(μP)는 상한치 저장부(HND), 하한치 저장부(LND)에 상한치 H1(=H0-n), 하한치 L1(=L0-n)를 재설정한다(제 3 도 c). 단 n은 일정수가 아니라도 좋고, 또 H, L에 대하여 서로 다른 수, 예를 들면 한쪽만을 변경하는 것이라도 좋다.
다음에 제 4 도에 의하여 빈 버퍼수(BN)가 안정상태의 값보다 증대되어 가는 경우에 대하여 설명한다. 제 4 도 a에서는 빈버퍼수(BN)가 상한치 H2와 하한치 L2와의 사이에서 안정적이다. 이어서, 버퍼 제어부(BC)에 도시되어 있지 않은 다른 장치로부터 버퍼 개방 요구가 있으면, 버퍼 제어부(BC)는 버퍼를 개방함과 동시에, 빈 버퍼수(BN)를 가산한다. 1 이상의 버퍼 개방 요구에 의하여 빈 버퍼수(BN)가 상한치 H2보다 커지면, 상한치 비교부(HCMP)는 신호 INTα를 발생하고, 인터럽트제어부(INTC)는 인터럽트 α를 마이크로프로세서(μP)에 발생한다(제 4 도 b).
마이크로프로세서(μP)는, 이 인터럽트 α에 의하여, 빈 버퍼수(BN)가 커진 것을 인식하고, 이에 대하여 필요로 하는 처리가 있으면 이것을 실행한다. 그 후, 제 4 도 a의 경우보다 높은 레벨에서 빈 버퍼수(BN)를 안정시키기 위하여, 마이크로프로세서(μP)는, 상한치 H2(=H2+n), 하한치 L3(=L2+n)을 각각 상한치 저장부(HND), 하한치 저장부(LND)에 재설정한다(제 4 도 c).
이상, 2가지의 경우에 대하여 본 발명의 동작을 설명하였지만, 동작조건이 이러한 조합으로 이루어진 것이라도 좋고, 또 빈 버퍼 수(BN), 즉 관리되는 수치가 어떻게 변화하는 것이라도 좋다.
또한, 상기 실시예에 있어서의 상한치 및 하한치의 설정 조건을 다른 것으로 변경하여도, 또 마이크로프로세서(μP)를 다른 관리 장치에 의하여 치환하여도 상기 실시예와 동일한 효과를 갖는 것이 확실하다.
본 발명은 이상 상세히 설명한 바와 같이, 미리 설정한 상한치 및 하한치에 의하여 규정되는 범위에 빈 버퍼수가 있는가의 여부를 판정하고, 이 범위를 넘었을 때만, 이것을 마이크로컴퓨터에 인터럽트에 의하여 통지하도록한 것이므로, 마이크로컴퓨터의 부하가 경감되고 또한 빈 버퍼수의 관리가 용이해지며, 또 이 범위를 넘는 횟수가 소정 횟수 이상이 되었을 때는 이러한 상한치 및 하한치를 변경 가능하게 하였으므로, 빈 버퍼수의 설정수를 실제로 대응시켜 적절한 것으로 만들 수 있으며, 장치의 처리능력을 높을 수 있다.

Claims (1)

  1. 하나이상의 인터럽트 입력 포오트를 갖는 중앙처리장치에 연결된 버퍼관리장치에 있어서, (a) 상한치를 저장하고 상기 상한치를 나타내는 제 1 신호를 생성하는 제 1 저장 수단, (b) 상기 상한치 아래에 있는 하한치를 저장하고 상기 하한치를 나타내는 제 2 신호를 생성하는 제 2 저장 수단으로서, 상기 상한치 및 상기 하한치는 그들 사이에서의 수치의 범위를 정의하는 제 2 저장 수단, (c) 버퍼의 이용성을 관리하고 이용 가능한 버퍼의 수를 나타내는 제 3 신호를 생성하는 버퍼 제어 수단, (d) 상기 제 1 저장 수단과 상기 버퍼 제어 수단에 연결되어 상기 제 1 신호와 상기 제 3 신호를 비교하고 이용가능한 버퍼의 수가 상기 상한치를 넘는지의 여부를 나타내는 제 4 신호를 생성하는 제 1 비교 수단, (e) 상기 제 2 저장 수단과 상기 버퍼 제어 수단에 연결되어 상기 제 2 신호와 상기 제 3 신호를 비교하고 이용가능한 버퍼의 수가 상기 하한치 아래에 있는지의 여부를 나타내는 제 5 신호를 생성하는 제 2 비교 수단, (f) 상기 제 1 비교 수단과 상기 제 2 비교 수단에 연결되어 상기 제 4 신호 및 상기 제 5 신호 중 어느 하나가 이용가능한 버퍼의 수가 상기 수치의 범위 외측에 있는 것을 나타낼 때 인터럽트 신호를 생성하는 인터럽트 제어 수단을 구비하는 것을 특징으로 하는 버퍼관리장치.
KR1019890010647A 1988-07-28 1989-07-27 버퍼관리장치 KR960005106B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP63-186791 1988-07-28
JP63186791A JPH0237422A (ja) 1988-07-28 1988-07-28 数値管理方式

Publications (2)

Publication Number Publication Date
KR900002196A KR900002196A (ko) 1990-02-28
KR960005106B1 true KR960005106B1 (ko) 1996-04-20

Family

ID=16194649

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890010647A KR960005106B1 (ko) 1988-07-28 1989-07-27 버퍼관리장치

Country Status (7)

Country Link
US (1) US5068784A (ko)
EP (1) EP0353051B1 (ko)
JP (1) JPH0237422A (ko)
KR (1) KR960005106B1 (ko)
AU (1) AU616987B2 (ko)
CA (1) CA1328025C (ko)
DE (1) DE68924109T2 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581705A (en) * 1993-12-13 1996-12-03 Cray Research, Inc. Messaging facility with hardware tail pointer and software implemented head pointer message queue for distributed memory massively parallel processing system
US5754889A (en) * 1993-12-22 1998-05-19 Adaptec, Inc. Auto write counter for controlling a multi-sector write operation in a disk drive controller
US5675797A (en) * 1994-05-24 1997-10-07 International Business Machines Corporation Goal-oriented resource allocation manager and performance index technique for servers
US5692156A (en) * 1995-07-28 1997-11-25 International Business Machines Corp. Computer program product for overflow queue processing
US5893924A (en) * 1995-07-28 1999-04-13 International Business Machines Corporation System and method for overflow queue processing
KR0156173B1 (ko) * 1995-11-21 1998-11-16 문정환 인터럽트 발생회로
US5864738A (en) * 1996-03-13 1999-01-26 Cray Research, Inc. Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller
US5841973A (en) * 1996-03-13 1998-11-24 Cray Research, Inc. Messaging in distributed memory multiprocessing system having shell circuitry for atomic control of message storage queue's tail pointer structure in local memory
US5881316A (en) * 1996-11-12 1999-03-09 Hewlett-Packard Company Dynamic allocation of queue space using counters
US6216182B1 (en) * 1998-07-30 2001-04-10 Fore Systems, Inc. Method and apparatus for serving data with adaptable interrupts
US6216174B1 (en) 1998-09-29 2001-04-10 Silicon Graphics, Inc. System and method for fast barrier synchronization
KR20030032413A (ko) * 2001-10-18 2003-04-26 주식회사 엠씨글로벌 멀티미디어 데이터용 버퍼 구조 및 버퍼링 방법
US9323571B2 (en) 2004-02-06 2016-04-26 Intel Corporation Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor
US8268453B2 (en) 2009-08-06 2012-09-18 Synthesarc Inc. Steel based composite material

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3302185A (en) * 1964-01-20 1967-01-31 Jr Andrew P Cox Flexible logic circuits for buffer memory
US3665416A (en) * 1969-10-09 1972-05-23 Mitsuo Hikosaka On-line real time data processing system
JPS4919623A (ko) * 1972-06-14 1974-02-21
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
SE399773B (sv) * 1977-03-01 1978-02-27 Ellemtel Utvecklings Ab Adress- och avbrottsignalgenerator
US4169289A (en) * 1977-07-08 1979-09-25 Bell Telephone Laboratories, Incorporated Data processor with improved cyclic data buffer apparatus
US4754399A (en) * 1983-12-28 1988-06-28 Hitachi, Ltd. Data transfer control system for controlling data transfer between a buffer memory and input/output devices
JPS62182950A (ja) * 1986-02-07 1987-08-11 Nec Corp バツフア管理方式
US4845710A (en) * 1986-12-23 1989-07-04 Oki Electric Industry Co., Ltd. Dynamic buffer supervising system for a data link access protocol control

Also Published As

Publication number Publication date
DE68924109T2 (de) 1996-04-18
CA1328025C (en) 1994-03-22
JPH0237422A (ja) 1990-02-07
KR900002196A (ko) 1990-02-28
DE68924109D1 (de) 1995-10-12
AU616987B2 (en) 1991-11-14
EP0353051A2 (en) 1990-01-31
EP0353051A3 (en) 1992-01-29
AU3900889A (en) 1990-02-01
EP0353051B1 (en) 1995-09-06
US5068784A (en) 1991-11-26

Similar Documents

Publication Publication Date Title
KR960005106B1 (ko) 버퍼관리장치
US4410939A (en) System for program interrupt processing with quasi-stack of register-sets
US4495569A (en) Interrupt control for multiprocessor system with storage data controlling processor interrupted by devices
US5497501A (en) DMA controller using a predetermined number of transfers per request
KR870009298A (ko) 프로세서 선택시스템
EP0464615A2 (en) Microcomputer equipped with DMA controller
EP0435092B1 (en) Data processing system with direct memory access controller and method for varying communication bus masterchip in response to prioritized interrupt requests
US5568643A (en) Efficient interrupt control apparatus with a common interrupt control program and control method thereof
GB2360612A (en) Interrupt controller with priority levels
US6374334B1 (en) Data processing apparatus with a cache controlling device
JP2910694B2 (ja) I/oコントローラ
EP0206335A2 (en) Interruption Method for a Data Processing System
US5708795A (en) Asynchronous access system for multiprocessor system and processor module used in the asynchronous access system
JPH1115800A (ja) マルチプロセッサの負荷の均一化装置
JP3105554B2 (ja) 割込みコントローラ
CA1187619A (en) Circuit for reliable data transfer between two central processing units
US5214764A (en) Data processing apparatus for operating on variable-length data delimited by delimiter codes
JPH08237254A (ja) Oamセル挿入装置
JPS59136833A (ja) デ−タ転送制御装置
JP2688245B2 (ja) Dma制御装置
JPS608945A (ja) キユ−制御回路
KR100221298B1 (ko) 개량된 선입선출형 버퍼
JPH044630B2 (ko)
JPS6225333A (ja) マイクロコンピユ−タ
JPH02193241A (ja) 通信制御装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee