KR950012498B1 - 내부 버스 중재기 - Google Patents

내부 버스 중재기 Download PDF

Info

Publication number
KR950012498B1
KR950012498B1 KR1019930026136A KR930026136A KR950012498B1 KR 950012498 B1 KR950012498 B1 KR 950012498B1 KR 1019930026136 A KR1019930026136 A KR 1019930026136A KR 930026136 A KR930026136 A KR 930026136A KR 950012498 B1 KR950012498 B1 KR 950012498B1
Authority
KR
South Korea
Prior art keywords
bus
central processing
processing unit
request
license
Prior art date
Application number
KR1019930026136A
Other languages
English (en)
Other versions
KR950020140A (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 KR1019930026136A priority Critical patent/KR950012498B1/ko
Publication of KR950020140A publication Critical patent/KR950020140A/ko
Application granted granted Critical
Publication of KR950012498B1 publication Critical patent/KR950012498B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bus Control (AREA)

Abstract

내용 없음.

Description

내부 버스 중재기
제1도는 내부 버스 중재기 블록도.
제2도는 주변장치 관리부 블록도.
제3도는 버스중배부 블록도.
제4도는 중앙처리장치 관리부 블록도.
제5도는 동시에 일어나지 않는 버스 사용권 요구에 대한 내부 버스 중재기 중재 타이밍도.
제6도는 하나의 주변장치가 버스를 사용하고 있을 때 다른 주변장치가 버스사용권을 요구한 경우의 내부 버스중재기 중재 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
10 : 주변장치 관리부 20 : 버스 중재부
30 : 중앙처리장치 관리부 100 : 내부 버스 중재기
본 발명은 중앙처리장치와 버스사용권을 요구할 수 있는 하나 이상의 주변장치가 있는 시스템에서 주변장치들간의 버스사용권 요구를 적절히 중재하는 내부 버스 중재기에 관한 것이다.
컴퓨터 기술과 정보통신 기술의 발전은 사용자로 하여금 대용량의 데이터를 처리할 수 있는 능력을 제공하였고 많은 새로운 서비스를 창출해내게 되었다. 이러한 서비스 및 환경을 제공할 수 있게 된 것은 망의 고속화, 컴퓨터 자체능력의 증대 등 여러 가지 이유가 있겠지만 그중에서도 컴퓨터나 통신장비에서 가장 중요한 역할을 하는 중앙처리장치의 발전이 가장 큰 역할을 하였다. 이러한 중앙처리장치의 고속화 및 다기능화는 중앙처리장치를 사용하는 주변장치의 지능화를 유도하여 분산처리환경을 통한 시스템 성능향상을 이룩하였다.
중앙처리장치와 더불어 주변장치의 성능향상은 주변장치로 하여금 중앙처리장치의 도움이 없이 중앙처리장치와 별도로 데이터를 처리할 수 있는 직접 메모리 엑세스(Direct Memory Access, DMA)기능을 제공하게 되었다. 따라서 주변장치의 효율성은 시스템 전체의 고속화 및 성능향상의 중요한 요인이 된다.
주변장치는 자신의 동작을 수행함에 있어서, 직접 메모리로 읽거나 쓰고자 하는 경우 및 중앙처리장치와는 독립적으로 연산을 수행하고자 하는 경우 중앙처리장치로 내부버스의 사용을 요구하게 되고 중앙처리장치는 현재 수행중인 연산을 마친 다음 바로 버스 사용권를 요구한 주변장치로 양도하게 된다. 버스 사용권을 획득한 주변장치는 수행하고자 하는 모든 연산을 수행한 다음 버스 사용권을 기다리고 있는 다른 주변장치에 양도하거나 중앙처리장치로 되돌려주고 이때부터 다른 주변장치나 중앙처리장치는 연산을 계속하게 된다. 다른 모든 주변장치에 비해 중앙처리장치는 버스 사용권에 있어서 가장 낮은 우선 순위를 가지며 이는 중앙처리장치보다 저속으로 동작하는 주변장치의 연산을 안정적이고 효율적으로 수행하기 위함이다.
그러나 독립적으로 동작하는 하나 이상의 주변장치가 중앙처리장치로 버스 사용권을 요구하는 경우 이들간에는 충돌이 일어날 수 있으며, 이는 중앙처리장치와 주변장치들의 오동작을 의미하고 결과적으로 시스템의 장애를 유발하게 되는 문제점이 따랐다.
상기와 같은 문제점을 해결하기 위하여 안출된 본 발명은 중앙처리장치를 이용하는 여러 개의 주변장치 사이에 버스요구를 수용하여 중앙처리장치에 전달하고 중앙처리장치로부터 버스 사용권을 받아 버스 사용권을 요구한 여러 개의 주변장치로 버스사용권을 적절하게 분배해 주어 중앙처리장치와 주변장치간 중재 기능을 수행함으로써 전체 시스템의 안정화를 기하는 내부 버스 중재기를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위하여 본 발명은 중앙처리장치와 버스 사용권를 요구할 수 있는 하나 이상의 주변장치가 있는 시스템에서 주변장치들간의 버스 사용권 요구를 적절히 중재하는 내부 버스 중재기에 있어서, 주변장치들로부터 버스사용 요구를 받아 어느 주변장치가 버스 사용권을 요구했는지를 판별해내서 버스중배부로 전달해 주는 기능을 수행하는 주변장치 관리부; 현재 버스사용 상태를 감시하면서 만일 다른 버스요구가 처리 중에 있다면 수신된 버스요구를 현재 버스요구에 대한 처리가 끝날때까지 미루어주고 또 이들간에 버스사용 우선 순위를 조절해주는 버스 중재부; 및 중앙처리장치로 주변장치를 대신해서 버스 사용권을 요구하고 중앙처리장치로부터 버스 허가를 받아 주변장치로 분배해주고 중앙처리장치로 버스허가 확인신호를 전달해주는 기능을 수행하는 중앙처리장치 관리부를 구비하여 이루어지는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명을 상술한다.
우선, 제1도는 본 발명인 내부 버스 중재기의 블록도로서, 도면부호 10은 주변장치 관리부, 20은 버스중재부, 30은 중앙처리장치 관리부, 100은 내부 버스 중재기를 각각 나타낸다.
도면에 도시된 바와 같이 본 발명인 내부 버스 중재기(100)는 주변장치들로부터 버스사용 요구를 받아 어느 주변장치가 버스 사용권을 요구했는지를 판별해내서 버스 중재부로 전달해 주는 기능을 수행하는 주변장치 관리부(10), 현재 버스사용 상태를 감시하면서 만일 다른 버스요구가 처리중에 있다면 수신된 버스요구를 현재 버스요구에 대한 처리가 끝날때까지 미루어주고 또 이들간에 버스사용 우선 순위를 조절해주는 버스중재부(20), 중앙처리장치로 주변장치를 대신해서 버스 사용권을 요구하고 중앙처리장치로부터 버스 허가를 받아 주변장치로 분배해주고 중앙처리장치로 버스허가 확인신호를 전달해주는 기능을 수행하는 중앙처리장치 관리부(30) 등 3개의 처리부로 구성된다.
제2도는 주변장치 관리부(10)의 불럭도로서 2개 이상의 주변장치로부터 버스 사용권 요구를 받아서 버스사용권 요구가 있었음을 기억해두고 이를 버스 중재부에 알려주는 역할을 수행한다.
주변장치는 버스 사용권을 요구하고 요구한 버스 사이클이 완료되었을 때만 다음 버스 사용권을 요구하기 때문에 하나의 주변장치에서 발생된 연속된 버스 사용권 요구를 주변장치 관리부에서 처리할 필요는 없다. 또한 주변장치 관리부는 중앙처리장치 관리부로 전달해준 버스사용 허가 확인 신호를 토대로 버스 사용권을 요구한 각각의 주변장치로 버스 사용권 허가를 전달해주는 기능을 수행한다.
제3도는 내부 버스 중재기의 핵심이 되는 버스 중재부(20)의 블록도로서, 주변장치 관리부에서 확인된 버스 사용권 요구를 바탕으로 어느 시점에서 하나의 주변장치에 대해서만 버스 사용권 요구를 받아들여 중앙처리장치 관리부로 역할을 수행한다. 만일 어떤 주변장치가 버스를 사용중에 있다면 버스 중재부는 그 주변장치가 버스를 다 사용할 때까지 기다렸다가 다음에 요구된 버스 사용권에 대해 중앙처리장치 관리부로 버스 사용권 요구를 발한다. 버스 사용권 요구를 발하기 위해 중앙처리장치로부터 어드레스 스트로브(AS*)와 데이터 스트로브(DS*) 및 데이터 전송 확인(DTACK : Data Transfer Acdnowldege)신호를 수신하여 이를 바탕으로 다른 하나의 주변장치에 대한 버스사용 요청이 중앙처리장치 관리부로 버스사용권을 요구할 수 있도록 하는 기능을 수행한다. 만일 시간적으로 정확히 동일한 시간에 발생한 주변장치 버스요청에 대해서는 사용자로 하여금 우선순위를 정할 숭 있도록 하는 기능 또한 가지고 있다. 따라서 버스 중재기를 사용하는 사용자의 요구에 따라 우선 순위를 조절함으로 해서 시스템 구현이 용이하도록 하였다.
제4도는 중앙처리장치 관리부(30)에 대한 블럭도로 중앙처리장치 관리부는 버스 중재부에서 요구한 버스 사용권 요구에 대해 실제적으로 중앙처리장치로 버스 사용권 요구 신호를 전송하는 기능을 수행한다. 아울러 중앙처리장치로부터 버스사용 허가를 수신하여 이를 버스 중재기 내부에 알리고 버스사용 허가 확인 신호를 중앙처리장치로 전달하는 역할까지 수행한다. 중앙처리장치로 발해지는 버스 사용권 요구는 중앙처리장치의 어드레스 스트로브와 데이터 스트로브가 비활성이 되고 다른 주변장치에 대한 버스사용 허가 및 버스사용을 나타내는 버스 사용권 허가 확인 신호가 비활성 상태일 경우에만 중앙처리장치로 발해지게 된다. 이는 주변장치가 버스를 사용하기에 앞서 중앙처리장치가 버스를 사용하고 있었다면 중앙처리장치가 버스를 다 사용할 때까지 기다리는 것을 의미하고 만일 다른 주변장치가 버스를 사용하고 있음을 나타내는 버스 사용권 허가 확인 신호가 활성상태에 있었다면 이는 다른 주변장치가 버스를 다 사용해서 원하는 연산을 수행할 때까지 기다림을 의미한다. 버스사용 허가 확인 신호는 내부적으로는 주변장치 관리부 및 버스 중재부로 전달되어 주변장치 관리부로 하여금 버스를 요구한 각각의 주변장치로 버스 사용권 허가를 전송하게 하는 역할을 한다.
제5도는 동시에 일어나지 않은 버스 사용권 요구에 대한 내부 버스 중재 타이밍도이다. 즉 하나의 주변장치가 버스 사용권 요구를 발하고 이에 대한 처리가 진행되고 있는 동안 다른 주변장치가 버스 사용권 요구를 발하지 않는 경우를 의미한다. 이는 하나의 주변장치가 연속해서 버스요청을 하는 경우와 같은 타이밍도로 보여진다. 즉 버스요청 1이 수신되었을 때 다른 주변장치가 버스를 사용하고 있거나 요청한 상태가 아니기 때문에 버스 중재부에서는 중앙처리장치 관리부로 버스사용을 요구하고 중앙처리장치 관리부는 중앙처리장치로 버스 사용권 요구를 발하게 된다. 중앙처리장치에서는 버스 사용권 요구에 대해서 버스허가 신호를 통해서 응답한 후 수행하고 있던 연산을 마치고 어드레스 스트로브와 데이터 스트로브를 비활성 상태로 전이시킴으로써 실질적으로 버스사용권을 양도하게 된다. 중앙처리장치 관리부를 중앙처리장치로 버스 사용권 요구를 발한 다음에 중앙처리장치로부터 버스허가 신호가 활성화되면 어드레스 스트로브와 데이터 스트로브가 비활성화될때를 기다려 버스허가에 대한 확인 신호인 버스허가확인 신호를 중앙처리장치로 전달한다. 아울러 중앙처리장치 관리부는 버스허가확인 신호를 주변장치 관리부로 전달해주어 주변장치 관리부로 하여금 버스를 요청한 주변장치로 버스허가 신호를 발생하게 된다.
제6도는 하나의 주변장치가 버스를 사용하고 있을 때 주변장치가 버스 사용권을 요구한 경우에 대한 중재 타이밍도이다.
일단 하나의 주변장치가 버스를 사용하고 있는 경우에 다른 주변장치의 버스요청은 일단 지연 상태에 있게 된다. 그리고 현재 버스를 사용하고 있는 주변장치가 버스를 양도한 후에서야 비로서 버스사용권 요구를 할 수 있게 된다. (제6도)에서 보듯이 버스요청 2는 이미 버스요청 1을 발한 주변장치가 버스를 사용중에 있기 때문에 이 시간 동안에는 버스 사용권 요구를 할 수가 없게 된다.
이때에는 주변장치 버스허가 2가 주변장치 2로 전송되지 않기 때문에 주변장치 2는 계속해서 버스요청을 하고 있게 된다. 그러나 버스 중재부에서는 새로운 버스요청이 있었음을 저장하고 있다가 버스요청 1에 대한 동작이 끝나면 바로 새로운 버스요청에 대한 처리를 수행한다. 일단 버스요청 1에 대해서는 상기한 바와 같이 버스 사용권 요구 및 허가, 버스허가 확인 기능이 수행되며 주변장치 1이 버스사용을 마치면 비로서 주변장치 2에 대한 버스요청 2가 처리되게 된다.
또한, 본 내부 버스 중재기는 확장성과 버스 중재 속도를 고려하여 특별한 우선순위 알고리즘을 사용하기 않고 대신 먼저 버스 사용권을 요구한 주변장치로 현재 다른 주변장치가 내부 버스를 사용하지 않는 경우에 한하여 버스 사용권을 주는 FIFO(First In First Out)형태의 우선 알고리즘을 사용하였다. 특히 버스를 사용하고자 허가를 받은 후에는 중앙처리장치로 발해진 버스 사용권 요구를 비활성화 시킴으로서 중앙처리장치로 하여금 다음 버스사용권 요구에 대비할 수 있게 하여 시스템의 안정성과 효율성을 도모 하였다. 또한 동시에 여러 주변장치가 버스사용을 요구하였을 때 이들간에 우선순위를 줄 수 있는 기능 또한 가지고 있다. 사용자는 이를 바탕으로 주변장치들간에 우선순위를 조절할 수 있다.
상기와 같이 이루어지는 본 발명은 중앙처리장치에 관련된 주변장치의 성능개선을 통해 전체 시스템의 안정화 및 성능개선의 효과가 있다.
특히 DMA를 수행 할 수 있는 모든 장치에 대해서는 아무런 추가장치 없이 중앙처리장치와 인터페이스할 수 있어 향후 많은 시스템에 장착된 것으로 기대된다.

Claims (1)

  1. 중앙처리장치와 버스 사용권을 요구할 수 있는 하나 이상의 주변장치가 있는 시스템에서 주변장치들간의 버스 사용권 요구를 적절히 중재하는 내부 버스 중재기(100)에 있어서, 주변장치들로부터 버스사용 요구를 받아 어느 주변장치가 버스사용권을 요구했는지를 판별해내서 버스 중재부로 전달해 주는 기능을 수행하는 주변장치 관리부(10); 현재 버스사용 상태를 감시하면서 만일 다른 버스요구가 처리중에 있다면 수신된 버스요구를 현재 버스요구에 대한 처리가 끝날때까지 미루어주고 또 이들간에 버스사용 우선순위를 조절해 주는 버스 중재부(20); 및 중앙처리장치로 주변장치를 대신해서 버스 사용권을 요구하고 중앙처리장치로부터 버스 허가를 받아 주변장치로 분배해주고 중앙처리장치로 버스허가 확인신호를 전달해주는 기능을 수행하는 중앙처리장치 관리부(30)를 구비하여 이루어지는 것을 특징으로 하는 내부 버스 중재기.
KR1019930026136A 1993-12-01 1993-12-01 내부 버스 중재기 KR950012498B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930026136A KR950012498B1 (ko) 1993-12-01 1993-12-01 내부 버스 중재기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930026136A KR950012498B1 (ko) 1993-12-01 1993-12-01 내부 버스 중재기

Publications (2)

Publication Number Publication Date
KR950020140A KR950020140A (ko) 1995-07-24
KR950012498B1 true KR950012498B1 (ko) 1995-10-18

Family

ID=19369637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930026136A KR950012498B1 (ko) 1993-12-01 1993-12-01 내부 버스 중재기

Country Status (1)

Country Link
KR (1) KR950012498B1 (ko)

Also Published As

Publication number Publication date
KR950020140A (ko) 1995-07-24

Similar Documents

Publication Publication Date Title
US6986005B2 (en) Low latency lock for multiprocessor computer system
KR970029121A (ko) 병렬처리 컴퓨터 시스템에서의 메모리 데이타경로 제어장치
US5574868A (en) Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
JP4250207B2 (ja) 対称多重処理システム、そのための割込制御ユニット、および対称多重処理システム内でプロセッサ割込信号を開始するための方法
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
TW336296B (en) Circuit for handling distributed arbitration in a computer system having multiple arbiters
US5740381A (en) Expandable arbitration architecture for sharing system memory in a computer system
US5649209A (en) Bus coupling information processing system for multiple access to system bus
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US6826644B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
KR950012498B1 (ko) 내부 버스 중재기
KR100475438B1 (ko) 데이터 버스 시스템 및 버스간 크로스 액세스 방법
US5687327A (en) System and method for allocating bus resources in a data processing system
JPH09185580A (ja) バスシステム
US6735654B2 (en) Method and apparatus for efficiently broadcasting transactions between an address repeater and a client
US6877055B2 (en) Method and apparatus for efficiently broadcasting transactions between a first address repeater and a second address repeater
KR100215572B1 (ko) 인터페이스 버퍼 제어 방법 및 장치
KR100243868B1 (ko) 주 전산기에서의 중재로직 방법
JP3050131B2 (ja) アービトレーション方式
JPS6280753A (ja) バス制御方式
US7117281B1 (en) Circuit, system, and method for data transfer control for enhancing data bus utilization
JPH03240151A (ja) データ転送制御方式
JPS6160162A (ja) バス調停方式
KR20030031785A (ko) 자원 공유를 위한 프로세서 중재장치 및 중재방법
JP2917329B2 (ja) メモリアクセス方式

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20031001

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee