KR100583455B1 - 프로그램 가능한 간단한 하드웨어 구조를 갖는 버스 중재기 - Google Patents

프로그램 가능한 간단한 하드웨어 구조를 갖는 버스 중재기 Download PDF

Info

Publication number
KR100583455B1
KR100583455B1 KR1020040012020A KR20040012020A KR100583455B1 KR 100583455 B1 KR100583455 B1 KR 100583455B1 KR 1020040012020 A KR1020040012020 A KR 1020040012020A KR 20040012020 A KR20040012020 A KR 20040012020A KR 100583455 B1 KR100583455 B1 KR 100583455B1
Authority
KR
South Korea
Prior art keywords
bus
master
controller
priority
request signal
Prior art date
Application number
KR1020040012020A
Other languages
English (en)
Other versions
KR20050083495A (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 KR1020040012020A priority Critical patent/KR100583455B1/ko
Publication of KR20050083495A publication Critical patent/KR20050083495A/ko
Application granted granted Critical
Publication of KR100583455B1 publication Critical patent/KR100583455B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02FDREDGING; SOIL-SHIFTING
    • E02F9/00Component parts of dredgers or soil-shifting machines, not restricted to one of the kinds covered by groups E02F3/00 - E02F7/00
    • E02F9/20Drives; Control devices
    • E02F9/22Hydraulic or pneumatic drives
    • E02F9/2264Arrangements or adaptations of elements for hydraulic drives
    • E02F9/2267Valves or distributors
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F15FLUID-PRESSURE ACTUATORS; HYDRAULICS OR PNEUMATICS IN GENERAL
    • F15BSYSTEMS ACTING BY MEANS OF FLUIDS IN GENERAL; FLUID-PRESSURE ACTUATORS, e.g. SERVOMOTORS; DETAILS OF FLUID-PRESSURE SYSTEMS, NOT OTHERWISE PROVIDED FOR
    • F15B13/00Details of servomotor systems ; Valves for servomotor systems
    • F15B13/02Fluid distribution or supply devices characterised by their adaptation to the control of servomotors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2200/00Type of vehicle
    • B60Y2200/40Special vehicles
    • B60Y2200/41Construction vehicles, e.g. graders, excavators
    • B60Y2200/412Excavators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2200/00Type of vehicle
    • B60Y2200/40Special vehicles
    • B60Y2200/41Construction vehicles, e.g. graders, excavators
    • B60Y2200/415Wheel loaders
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F15FLUID-PRESSURE ACTUATORS; HYDRAULICS OR PNEUMATICS IN GENERAL
    • F15BSYSTEMS ACTING BY MEANS OF FLUIDS IN GENERAL; FLUID-PRESSURE ACTUATORS, e.g. SERVOMOTORS; DETAILS OF FLUID-PRESSURE SYSTEMS, NOT OTHERWISE PROVIDED FOR
    • F15B2211/00Circuits for servomotor systems
    • F15B2211/50Pressure control
    • F15B2211/505Pressure control characterised by the type of pressure control means

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Fluid Mechanics (AREA)
  • Mechanical Engineering (AREA)
  • Mining & Mineral Resources (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Bus Control (AREA)

Abstract

간단한 하드웨어로 구현되는 프로그램 가능한 버스 중재기가 개시된다. 본 발명에 따른 버스 중재기는 복수의 버스 마스터 각각에 대응하여 설치되며, 버스 마스터로부터 버스 사용을 요구하는 버스 요구신호 및 버스 사용을 알리는 버스 점유신호를 입력받아, 버스 요구신호에 대응하는 확정된 버스 요구신호를 활성화하는 복수의 마스터동작콘트롤러 및 확정된 버스 요구신호를 활성화한 복수의 마스터동작콘트롤러 중에서 기설정된 우선순위에 따라 선택된 마스터동작콘트롤러에 대응하는 버스 마스터에게 버스를 할당하는 우선순위콘트롤러를 포함하며, 선택된 마스터동작콘트롤러는 소정의 시간동안 대응하는 버스 마스터로부터 버스 점유신호를 입력받지 않는 경우 확정된 버스 요구신호를 비활성화시켜 우선순위콘트롤러가 할당된 버스 사용을 해제한다. 이에 따라, 버스 중재기를 하드웨어적으로 간단하게 구현하여 중재를 위한 계산에 소요되는 시간을 줄이고 버스사용 대기시간에 줄어들게 되므로, 다중 버스 마스터 환경하에서 버스를 효율적으로 사용할 수 있게 된다.
마스터동작콘트롤러, 우선순위콘트롤러, 파킹콘트롤러, 버스중재기

Description

프로그램 가능한 간단한 하드웨어 구조를 갖는 버스 중재기{Programmable Bus arbiter with simple hardware structure}
도 1은 본 발명의 실시예에 따른 버스 중재기를 나타내는 블럭도,
도 2는 도 1의 마스터동작콘트롤러의 동작 설명에 제공되는 도면,
도 3은 도 1의 우선순위콘트롤러의 동작 설명에 제공되는 도면,
도 4는 우선순위테이블의 일 예를 나타낸 도면,
도 5는 도 1의 파킹콘트롤러의 동작 설명에 제공되는 도면,
도 6은 본 발명의 실시예에 따른 버스 중재기의 동작 설명에 제공되는 타이밍도,
도 7은 본 발명의 실시예에 따른 버스 중재기의 또다른 동작 설명에 제공되는 타이밍도, 그리고
도 8은 본 발명에 따른 버스 중재기의 상세한 하드웨어 구조의 일 예를 나타낸 도면이다.
* 도면의 주요 부분에 대한 부호의 설명 *
10-1 내지 10-N : 제1 마스터동작콘트롤러 내지 제N 마스터동작콘트롤러
20-1 내지 20-N : 제1카운터 내지 제N카운터
30 : 우선순위콘트롤러 40 : 우선순위테이블저장부
50 : 파킹콘트롤러 60 : 파킹테이블저장부
본 발명은 마이크로프로세서 시스템을 위한 버스 중재기에 관한 것으로, 더욱 상세하게는 다중 마스터 시스템에서 효율적이고 신속한 버스 중재를 위한 프로그램 가능한 버스 중재기에 관한 것이다.
워크스테이션과 같은 대부분의 컴퓨터 아키텍처는 중앙 프로세서, 응용 프로세서 및 주변 기기와 같은 기능 블럭을 연결하기 위한 버스를 구비한다. 이러한 블럭들은 마스터 또는 슬레이브로 기능한다. 버스 억세스 요구를 시작하는 마스터가 하나 이상 존재하는 경우에는, 버스 중재기는 이러한 마스터 중 어느 하나에 버스를 할당함으로써 버스 충돌을 방지하여야 한다. 최근에는, 컴퓨터 시스템에서 사용되는 로컬 프로세서 및 주변 버스 규약의 대부분이 복수의 버스 마스터에 의한 상호연결을 허용한다.
이경우 복수의 마스터에 대한 버스 중재를 위해 마스터 우선순위를 이용하며, 일반적으로 마스터 우선순위는 고정적 우선권 또는 순환적 우선권 방식과 같은 고정된 중재 방법에 기초하며, 대체로 시스템 제어칩 내에 일단 중재기가 설치되면 중재 알고리즘은 시스템에서 지속적으로 동작하며 변경이 용이하지 않다.
그러나, 실제 컴퓨터 시스템에서는 상이한 동작 모드에 따라 특정 목적을 위한 상이한 우선순위 기법이 요구된다. 예를 들면, 화상형성장치에서는 영상 처리를 위해 CPU 또는 그래픽 프로세서가 많이 사용되므로 그래픽 장치의 영상 전송에 있어서 주변 버스 브릿지 또는 전용 DMA 프로세서에 높은 우선순위가 할당된다. 신속한 중재가 요구됨에도 불구하고, 각 중재 단계에서 우선순위 산출이 수행되어야 하므로 소프트웨어적으로는 처리 부담이 가중되는 문제점이 있다.
또한, 일반적인 우선순위를 기반으로 한 버스 중재기에는 최소한의 중재 오버헤드로 효율적인 버스 사용이 요구된다. 오버헤드를 최소화하기 위해 버스 중재 알고리즘은 버스 요구가 없는 경우 어느 일 마스터에게 버스를 할당한다. 이러한 중재 파킹 기술에 의해 파킹된 마스터는 버스요구 없이 전송을 시작할 수 있고 버스 할당을 위해 대기할 필요가 없다. 그러나, 실제 시스템 버스 파킹 기술은 상기한 운용상의 중요도에 따라 그리고 중재기의 동작 모드에 따라 우선순위의 조정이 필요하다.
버스 중재 오버헤드를 최소화하기 위한 다른 방법으로 버스 중재기가 어느 일 마스터에 의해 버스가 사용되는 동안 타 버스 마스터는 현재의 우선순위 정보 및 버스 요구에 기초하여 다음 번 버스 마스터를 미리 결정하는 방법이 있다. 따라서, 현재 버스의 사용이 종료되기 전에 다음 번 버스 사용권이 할당되어 버스 전송 간의 간격을 줄일 수 있다. 그러나, 이경우 역시 소프트웨어적으로 처리하기에는 계산의 복잡성으로 인하여 시스템의 부하가 커지는 문제점이 있다.
또한, 버스 중재기는 버스의 상태를 감시하고 고장난 버스 마스터에 의해 버스가 독점되는 것을 방지하여야 한다. 따라서, 버스 사용 정보에 따라 정상적 버스 마스터 사이에 버스 사용 시간을 할당하는 중재 과정에서 고장난 버스 마스터를 파 악하여 배제하되, 차후의 중재 과정에는 포함시키도록 하는 버스 중재 방법이 요구된다.
그러나, 종래의 버스 중재기는 버스 중재 알고리즘에 따라 소프트웨어적으로 상기한 각 동작에 따른 계산을 수행하므로 우선순위 할당, 파킹 기술 및 동작하지 않는 마스터에 대한 처리 등을 위한 계산이 복잡하여 신속한 버스 중재가 어려운 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 우선순위 기법과 파킹 기법에 따라 프로그램 가능하며 다중 마스터 환경에서 버스를 효율적으로 중재하여 버스사용대기시간과 버스중재시간을 줄일 수 있는 버스 중재기를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명에 따른 버스 중재기는 복수의 버스 마스터 각각에 대응하여 설치되며, 상기 버스 마스터로부터 버스 사용을 요구하는 버스 요구신호 및 버스 사용을 알리는 버스 점유신호를 입력받아, 상기 버스 요구신호에 대응하는 확정된 버스 요구신호를 활성화하는 복수의 마스터동작콘트롤러 및 상기 확정된 버스 요구신호를 활성화한 상기 복수의 마스터동작콘트롤러 중에서 기설정된 우선순위에 따라 선택된 마스터동작콘트롤러에 대응하는 버스 마스터에게 버스를 할당하는 우선순위콘트롤러를 포함하며, 상기 선택된 마스터동작콘트롤러는 소정의 시간동안 상기 대응하는 버스 마스터로부터 상기 버스 점유신호를 입력받지 않는 경우 상기 확정된 버스 요구신호를 비활성화시켜 상기 우선순위콘트롤러가 할당된 버스 사용을 해제한다.
바람직하게는, 상기 복수의 버스 마스터로부터 버스 요구신호가 없는 경우의 버스 할당을 위한 버스 파킹 정보를 상기 우선순위콘트롤러에 제공하는 파킹콘트롤러 및 상기 버스 파킹 정보를 저장하는 프로그램 가능한 파킹테이블저장부;를 더 포함하고, 상기 파킹콘트롤러는 상기 버스 점유신호에 따라 해당하는 버스 파킹 정보를 상기 파킹테이블저장부로부터 출력한다.
또한, 상기 우선순위를 정하기 위한 프로그램 가능한 우선순위테이블을 저장하는 우선순위테이블저장부를 더 포함하고, 상기 우선순위테이블은 상기 확정된 버스 요구신호에 기준하여 상기 우선순위를 결정하기 위한 변수 목록을 포함하는 것이 바람직하다.
더욱 바람직하게는, 상기 우선순위콘트롤러는, 상기 버스가 상기 선택된 마스터동작콘트롤러에 대응하는 상기 버스 마스터에 의해 사용되는 동안, 다음번에 상기 버스를 사용할 제2 버스 마스터를 미리 설정하고, 상기 버스가 할당된 것을 알리는 버스 할당신호를 상기 제2 버스 마스터에 대응하는 제2 마스터동작콘트롤러에 전송한다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 버스 중재기를 나타내는 블럭도이다.
버스 중재기는 제1마스터동작콘트롤러 내지 제N마스터동작콘트롤러(10-1 내지 10-N), 제1카운터 내지 제N카운터(20-1 내지 20-N), 우선순위콘트롤러(30), 우 선순위테이블저장부(40), 파킹콘트롤러(50) 및 파킹테이블저장부(60)를 포함한다.
제1마스터동작콘트롤러 내지 제N마스터동작콘트롤러(10-1 내지 10-N)는 복수의 제1 버스 마스터 내지 제N 버스 마스터(미도시)에 대응하여 설치되며, 제1 버스 마스터 내지 제N 버스 마스터(미도시) 각각으로부터 버스 사용을 요구하는 버스 요구 신호(REQ(1) 내지 REQ(N))를 수신하고, 확정된 버스 요구신호(qREQ(1) 내지 qREQ(N))를 우선순위콘트롤러(30)에 전송한다. 또한, 제1 버스 마스터 내지 제N 버스 마스터(미도시)로부터 버스 사용을 알리는 버스 점유신호(BUSY)를 수신하여 버스가 대응하는 제1 버스 마스터 내지 제N 버스 마스터(미도시)에 의해 사용되고 있는지를 판단한다.
또한, 제1마스터동작콘트롤러 내지 제N마스터동작콘트롤러(10-1 내지 10-N)는 고장난 버스 마스터에 의해 버스가 독점되는 것을 방지하기 위해 대응하는 제1카운터 내지 제N카운터(20-1 내지 20-N)를 이용한다. 즉, 제1마스터동작콘트롤러 내지 제N마스터동작콘트롤러(10-1 내지 10-N)는 제1 버스 마스터 내지 제N 버스 마스터(미도시)로부터 버스 사용을 요구하는 버스 요구 신호(REQ(1) 내지 REQ(N))를 수신하면, 대응하는 제1카운터 내지 제N카운터(20-1 내지 20-N)를 동작시키며, 각각의 카운터에 의해 미리 설정된 소정의 시간동안 대응하는 버스 마스터로부터 버스 점유신호를 입력받지 않는 경우, 즉 대응하는 버스 마스터가 소정의 시간동안 버스를 사용하지 않는 경우에는, 확정된 버스 요구신호를 비활성화시키고, 이에 따라 우선순위콘트롤러는 할당된 버스 사용을 해제하게 된다.
우선순위콘트롤러(30)는 제1마스터동작콘트롤러 내지 제N마스터동작콘트롤러(10-1 내지 10-N)로부터 확정된 버스 요구 신호를 수신하면 확정된 버스 요구신호를 전송한 마스터동작콘트롤러에 대응하는 버스 마스터중에서 우선순위테이블저장부(40)에 저장된 우선순위테이블에 따라 어느 일 마스터에게 버스를 할당한다. 우선순위테이블저장부(40)에 저장된 우선순위테이블은 프로그램 가능하며 우선순위 선정방법에 따라 상이하게 설정될 수 있다.
파킹콘트롤러(50)는 버스가 소정의 시간동안 사용되지 않으면 파킹테이블저장부(60)에 저장된 파킹테이블을 참조하여 파킹 정보를 우선순위콘트롤러(30)에 전송한다. 파킹 상태에서 버스는 어느 버스 마스터에 의해서도 사용되지 않으나 파킹 정보에 의해 설정된 어느 일 버스 마스터에게 버스가 할당되어, 설정된 버스 마스터가 버스 요구신호를 전송하면 즉시 버스가 해당 버스 마스터에 의해 사용될 수 있다. 파킹테이블저장부(60)에 저장된 파킹테이블은 프로그램 가능하며 선택된 파킹 방법에 따라 상이하게 설정될 수 있다.
도 2는 도 1의 마스터동작콘트롤러의 동작 설명에 제공되는 도면이다. 제1마스터동작콘트롤러 내지 제N마스터동작콘트롤러(10-1 내지 10-N)의 동작은 동일하므로 이하 제1마스터동작콘트롤러(10-1)를 예로 들어 설명한다. 초기 단계에서 대기(idle) 상태에 있는 제1마스터동작콘트롤러(10-1)는 대응하는 제1 버스 마스터로부터 버스 요구신호(REQ(1))를 수신하면 우선순위콘트롤러(30)에 확정된 버스 요구신호(qREQ(1))를 송신하기 위한 요구(req) 상태로 천이한다. 확정된 버스 요구신호(qREQ(1))를 수신한 우선순위콘트롤러(30)는 버스 사용권한을 부여하는 버스 할당신호(GNT(1))를 송신한다.
버스할당신호(GNT(1))를 수신하고 버스가 사용되고 있는 것을 알리는 버스 점유신호(BUSY)를 수신하지 않으면, 제1마스터동작콘트롤러(10-1)는 대응하는 제1 버스 마스터가 버스를 사용하도록 하는 할당(gnt) 상태로 천이한다. 할당(gnt) 상태에서 제1마스터동작콘트롤러(10-1)는 제1카운터(20-1)를 동작시키고 제1카운터(20-1)에 의해 기설정된 시간이 도과할 때까지 버스가 대응하는 제1 버스 마스터에 의해 사용되지 않으면 제1 버스 마스터에 고장이 발생한 것으로 판단하여 타임아웃(tout) 상태로 천이하고, 이 상태에서는 확정된 버스 요구신호(qREQ(1))가 우선순위콘트롤러(30)로 전송되지 않는다.
한편, 할당(gnt) 상태에서 제1마스터동작콘트롤러(10-1)는 제1카운터(20-1)에 의해 기설정된 시간이 도과하기 전에 대응하는 제1 버스 마스터가 버스를 사용하여 버스 점유신호(BUSY)를 수신하면, 사용(used) 상태로 천이하여 버스 점유신호(USED(1))를 파킹콘트롤러(50)에 전송한다. 또한, 제1 버스 마스터가 버스 요구신호(REQ(1))를 전송하지 않았으나 우선순위컨트롤러(30)로부터 버스 할당신호(GNT(1))를 수신한 경우에는 제1마스터동작콘트롤러(10-1)는 파킹(part) 상태로 천이한다. 이 경우 제1카운터(20-1)는 동작하지 않으며, 대응하는 제1 버스 마스터가 버스 사용을 개시하여 버스 점유신호(BUSY)를 발생하면 제1마스터동작콘트롤러(10-1)는 사용(used) 상태로 천이한다. 기타 제1마스터동작콘트롤러(10-1)의 상태 천이 조건은 도 2를 참조하면 명확하게 설명된다.
도 3은 도 1의 우선순위콘트롤러의 동작 설명에 제공되는 도면이다. 우선순위콘트롤러(30)는 각 버스 마스터에게 버스 할당신호를 전송하는 "N" 개의 g1 내지 gN 상태 중 어느 하나로 천이한다. 확정된 버스 사용요구(qREQ(1) 내지 qREQ(N))가 있고 버스 할당신호(GNT(1) 내지 GNT(N))에 의해 버스가 어느 일 마스터에게 할당된 경우 할당된 버스 사이클 도중에 우선순위컨트롤러(30)는 우선순위테이블저장부(40)에 저장된 우선순위테이블을 참조하여 다음 번에 버스를 사용할 버스 마스터를 선택한다. 이러한 버스 마스터 선택 방법을 숨겨진 버스 중재방식이라 칭한다.
우선순위컨트롤러(30)에 의한 g1 내지 gN 상태 중 어느 하나로의 천이는 변수 nestSTATE1 내지 nextSTATEN에 의해 결정된다. 우선순위컨트롤러(30)는 예를 들면 g1 상태에서 확정된 버스 요구신호(qREQ(1)))가 없으면, 확정된 버스 요구신호(qREQ(1) 내지 qREQ(N)), 파킹콘트롤러(50) 및 우선순위컨트롤러(30)의 현재 상태에 대한 함수인 nextSTATE1 변수에 따라 천이할 상태가 결정된다. 이러한 nextSTATE1 변수는 프로그램 가능하며 우선순위테이블로서 저장된다.
도 4는 우선순위테이블의 일 예를 나타낸 도면이다. 우선순위테이블저장부(40)에는 버스 요구신호(REQ(1) 내지 REQ(N))가 테이블의 어드레스로서 입력되고, 해당하는 목록의 변수들(nextSTATE1(t) 내지 nextSTATEN(t))이 우선순위콘트롤러(30)의 각 상태에 따라 출력된다. 여기서 "t"는 0 내지 2N 까지의 숫자 중 하나이다. 따라서, 우선순위테이블은 버스 요구신호(REQ(1) 내지 REQ(N))의 조합에 따라 우선순위콘트롤러(30)의 다음번 동작을 결정하는 변수를 저장하는 조합회로의 기능을 수행한다. 우선순위테이블은 본 발명에 따른 중재기가 채용하는 적어도 하나의 중재 방식에 따라 각각 프로그램 가능하다.
파킹콘트롤러(50)의 기능 수행을 위해 이용되는 파킹테이블저장부(60)에 저장된 파킹테이블은 상기 우선순위테이블과 유사한 데이터 구조를 가지며, 파킹콘트롤러(50)의 상태 천이를 위한 변수들(nextPARK1 내지 nextPARKN)을 저장한다.
도 5는 도 1의 파킹콘트롤러의 동작 설명에 제공되는 도면이다. 파킹테이블저장부(60)에는 버스 사용여부에 대한 정보를 갖고 있는 버스 점유신호(USED(1) 내지 USED(N))가 테이블의 어드레스로서 입력되고, 해당하는 목록의 변수들 (nextPARK1(t) 내지 nextPARKN(t))이 파킹콘트롤러(50)의 각 상태에 따라 출력된다. 파킹테이블은 본 발명에 따른 중재기가 채용하는 파킹 방식에 따라 프로그램 가능하다. 우선순위콘트롤러(30)는 한번에 하나의 마스터동작콘트롤러에 대해서만 버스 할당신호를 전송하고 어느 하나의 버스 마스터만이 버스를 사용하므로, 버스 점유신호(USED(1) 내지 USED(N))는 N 개의 신호 중 어느 하나만이 활성화된 값을 갖는다. 따라서, 파킹테이블은 우선순위테이블과 같은 2N 개의 열 대신에 N 개의 열을 갖는다.
도 6은 본 발명의 실시예에 따른 버스 중재기의 동작 설명에 제공되는 타이밍도이다. 여기서는 우선순위테이블이 순환적 우선순위 할당 방식으로 프로그램된것으로 가정하고, 파킹테이블은 마지막으로 버스를 사용한 버스 마스터에 대해 파킹하는 파킹 방식을 사용하는 것으로 가정한다.
도 6을 참조하면, 시간(0)에서 버스는 제1 버스 마스터에게 할당되어 파킹 상태에 있고, 제1 버스 마스터만이 버스 요구신호(REQ1)을 전송한다. 시간(2)에서, 버스 할당신호(GNT2)를 수신하고 버스가 사용되고 있지않음을 확인한 제1버스동작콘트롤러(10-1)는 제1버스 마스터가 버스를 사용하도록 한다. 제1버스 마스터는 버스 점유신호(BUSY)를 생성한다. 또한, 시간(2)에 제2버스 마스터 및 제3버스 마스터로부터 버스 요구신호(REQ2 및 REQ3)이 전송된다. 이경우 제2 버스 마스터가 제3 버스 마스터보다 우선순위가 높으므로 숨겨진 버스 중재방식에 따라 제2버스 마스터로 다음번 버스 사용을 위한 버스 할당신호(GNT2)를 시간(3)에 전송한다. 그러나, 현재 버스는 제1버스 마스터에 할당되어 있으므로, 제1버스 마스터가 버스 사용을 종료하고 시간(5)에 이르러서야, 제2 버스 마스터는 버스를 사용할 수 있게 된다. 또한, 제2 버스 마스터가 버스를 사용하면, 시간(6)에 제3버스 마스터가 우선순위에 따라 다음번 버스 사용을 위한 버스 할당신호(REQ3)를 수신하게 된다. 따라서, 시간(8)에 제2 버스 마스터가 버스 사용을 중단하면, 시간(9)에 제3 버스 마스터가 버스를 사용하며, 다음번 버스 중재를 위한 사이클이 시간(10)에 개시되어 다음번에 버스를 사용할 버스 마스터를 할당한다. 이경우 제2 버스 마스터만이 버스 사용요구(REQ2)를 하고 있으므로 다음번 버스 사용권은 제2 버스 마스터에게 할당된다. 시간(12)에 제3버스 마스터가 버스 사용을 종료하고 나서, 다음번 버스 사용권이 할당된 제2 버스 마스터가 버스 요구신호(REQ2)를 더이상 전송하지 않으므로 마지막으로 버스를 사용한 제3 버스 마스터에 대해 시간(13)에서 버스가 파킹된다. 도 6에는, 제1마스터동작콘트롤러 내지 제3마스터동작콘트롤러(10-1 내지 10-3)의 이러한 동작에 따른 상태 천이가 나타낸다.
도 7은 본 발명의 실시예에 따른 버스 중재기의 또다른 동작 설명에 제공되는 타이밍도이다. 여기서는 제2버스 마스터가 응답하지 않는 경우를 예를 들어 설명하며, 순환적 우선순위와 제1 버스 마스터에 고정 파킹 방식으로 우선순위테이블과 파킹테이블이 프로그램되어 있는 것으로 가정한다. 또한, 제1카운터 내지 제3카운터(20-1 내지 20-3)는 4 버스 클럭으로 설정되어 있는 것으로 가정한다.
제1 버스 마스터가 버스를 사용하고 있는 동안, 시간(3)에서 제2 버스 마스터에게 다음번 버스 사용이 할당되고, 시간 4에서 제1 버스 마스터가 버스 사용을 종료한다. 따라서, 제2마스터동작콘트롤러(10-2)는 제2카운터(20-2)를 동작시키고 시간 8에 기설정된 4 버스 클럭 동안 제2 마스터가 버스를 사용하지 않고 있으므로, 제2 마스터가 고장난 것으로 판단하고 타임아웃(tout) 상태로 천이한다.
도 8은 본 발명에 따른 버스 중재기의 상세한 하드웨어 구조의 일 예를 나타낸 도면으로서 이는 RTL(Register transfer level) 모델에 해당한다. 도면에서, 제1 마스터동작콘트롤러 내지 제N 마스터동작콘트롤러(MAC(1) 내지 MAC(N)), 및 제1 카운터 내지 제N 카운터(CNT(1) 내지 CNT(N))를 위해 레지스터 로직이 사용된다. 또한, 파킹콘트롤러(Park Control.) 및 우선순위콘트롤러(Prior. Control.)를 위해 레지스터가 사용된다. 모든 레지스터는 그 현재 상태에서 다음 상태로 매 클럭에 따라 천이한다. 다음번 상태는 입력신호 및 연결된 레지스터로부터의 피드백에 따라 입력 콤비네이션 로직(MAC(1)input 내지 MAC(N)input) 및 출력 콤비네이션 로직(MAC(1)output 내지 MAC(N)output)에 의해 이루어진다. 이러한 레지스터들을 구현하기 위한 중재 변수는 간단하게 계산될 수 있다. 즉, 각 마스터동작콘트롤러 의 6가지 상태에 따라 3개의 플립플롭(3 flip-flops)이 요구되며, 제1카운터 내지 제N카운터의 기설정 타이머에서의 플립플롭의 개수는 설정된 버스 클록 사이클에 의해 결정된다. 파킹콘크롤러 및 우선순위콘트롤러의 구조는 유사하며, 이들에 대해서는 각각 log2N의 플립플롭이 요구된다. 우선순위테이블 및 파킹테이블은 콤비네이션 로직으로 구성하나, 이들은 메모리를 요구하며, 이러한 메모리는 도 4를 참조하면 최대 2N*N*(log2N)에 해당한다. 한편, 파킹테이블의 메모리 크기는 최대 N*N*(log2N)이다. 이러한 메모리의 크기는 가능한 모든 조합을 고려한 최대 요구량으로서, 실제에 있어서는 시스템 동작 특성에 따라 사용되는 몇몇 우선순위 기법이나 파킹 기법에 대해 한정적으로 사용하기 위해서는 이보다 훨씬 적은 메모리로도 충분하다.
이상 설명한 바와 같이, 본 발명에 따르면, 우선순위 기법과 파킹 기법에 관계없이 프로그램 가능한 버스 중재기를 하드웨어적으로 간단하게 구현하여 중재를 위한 계산에 소요되는 시간을 줄이고 버스사용 대기시간에 줄어들게 되므로, 다중 버스 마스터 환경하에서 버스를 효율적으로 사용할 수 있게 된다.
또한, 상기에서 본 발명의 바람직한 실시 예를 설명하고 도시하였지만, 본 발명은 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양하게 변형되어 실시되는 것이 가능하다.
이와 같은 변형된 실시 예들은 본 발명의 기술적 사상이나 전망으로부터 개 별적으로 이해되어져서는 안되며, 이와 같은 변형된 실시 예들은 본 발명의 첨부된 특허청구범위 안에 속한다 해야 할 것이다.

Claims (4)

  1. 복수의 버스 마스터 각각에 대응하여 설치되며, 상기 버스 마스터로부터 버스 사용을 요구하는 버스 요구신호 및 버스 사용을 알리는 버스 점유신호를 입력받아, 상기 버스 요구신호에 대응하는 확정된 버스 요구신호를 활성화하는 복수의 마스터동작콘트롤러; 및
    상기 확정된 버스 요구신호를 활성화한 상기 복수의 마스터동작콘트롤러 중에서 기설정된 우선순위에 따라 선택된 마스터동작콘트롤러에 대응하는 버스 마스터에게 버스를 할당하는 우선순위콘트롤러;를 포함하며,
    상기 선택된 마스터동작콘트롤러는 소정의 시간동안 상기 대응하는 버스 마스터로부터 상기 버스 점유신호를 입력받지 않는 경우 상기 확정된 버스 요구신호를 비활성화시켜 상기 우선순위콘트롤러가 할당된 버스 사용을 해제하도록 하고,
    상기 우선순위콘트롤러는 상기 버스가 상기 선택된 마스터동작콘트롤러에 대응하는 상기 버스 마스터에 의해 사용되는 동안, 다음번에 상기 버스를 사용할 제2 버스 마스터를 미리 설정하고, 상기 버스가 할당된 것을 알리는 버스 할당신호를 상기 제2 버스 마스터에 대응하는 제2 마스터동작콘트롤러에 전송하는 것을 특징으로 하는 버스 중재기.
  2. 제 1항에 있어서,
    상기 복수의 버스 마스터로부터 버스 요구신호가 없는 경우의 버스 할당을 위한 버스 파킹 정보를 상기 우선순위콘트롤러에 제공하는 파킹콘트롤러; 및
    상기 버스 파킹 정보를 저장하는 프로그램 가능한 파킹테이블저장부;를 더 포함하고, 상기 파킹콘트롤러는 상기 버스 점유신호에 따라 해당하는 버스 파킹 정보를 상기 파킹테이블저장부로부터 출력하는 것을 특징으로 하는 버스 중재기.
  3. 제 1항에 있어서,
    상기 우선순위를 정하기 위한 프로그램 가능한 우선순위테이블을 저장하는 우선순위테이블저장부;를 더 포함하고, 상기 우선순위테이블은 상기 확정된 버스 요구신호에 기준하여 상기 우선순위를 결정하기 위한 변수 목록을 포함하는 것을 특징으로 하는 버스 중재기.
  4. 삭제
KR1020040012020A 2004-02-23 2004-02-23 프로그램 가능한 간단한 하드웨어 구조를 갖는 버스 중재기 KR100583455B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040012020A KR100583455B1 (ko) 2004-02-23 2004-02-23 프로그램 가능한 간단한 하드웨어 구조를 갖는 버스 중재기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040012020A KR100583455B1 (ko) 2004-02-23 2004-02-23 프로그램 가능한 간단한 하드웨어 구조를 갖는 버스 중재기

Publications (2)

Publication Number Publication Date
KR20050083495A KR20050083495A (ko) 2005-08-26
KR100583455B1 true KR100583455B1 (ko) 2006-05-26

Family

ID=37269736

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040012020A KR100583455B1 (ko) 2004-02-23 2004-02-23 프로그램 가능한 간단한 하드웨어 구조를 갖는 버스 중재기

Country Status (1)

Country Link
KR (1) KR100583455B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499345A (en) * 1991-10-02 1996-03-12 Nec Corporation Bus arbitration system
KR20020009822A (ko) * 2000-07-27 2002-02-02 윤종용 중재기 및 그 중재기를 채용한 버스 시스템
KR20020064129A (ko) * 2001-01-31 2002-08-07 삼성전자 주식회사 시스템버스, 외부버스 및 상기 시스템버스와 상기외부버스 모두의 우선권에 대한 프로그램이 가능한버스중재기를 구비하는 에스오씨, 프로그램이 가능한우선권의 할당방법 및 이를 사용하는 제품
US20020147871A1 (en) * 2001-04-04 2002-10-10 Nec Corporation Split transaction bus system
KR20030066009A (ko) * 2002-02-04 2003-08-09 엘지이노텍 주식회사 멀티 마스터 버스 시스템에서의 버스 중재를 위한 구조 및방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5499345A (en) * 1991-10-02 1996-03-12 Nec Corporation Bus arbitration system
KR20020009822A (ko) * 2000-07-27 2002-02-02 윤종용 중재기 및 그 중재기를 채용한 버스 시스템
KR20020064129A (ko) * 2001-01-31 2002-08-07 삼성전자 주식회사 시스템버스, 외부버스 및 상기 시스템버스와 상기외부버스 모두의 우선권에 대한 프로그램이 가능한버스중재기를 구비하는 에스오씨, 프로그램이 가능한우선권의 할당방법 및 이를 사용하는 제품
US20020147871A1 (en) * 2001-04-04 2002-10-10 Nec Corporation Split transaction bus system
KR20030066009A (ko) * 2002-02-04 2003-08-09 엘지이노텍 주식회사 멀티 마스터 버스 시스템에서의 버스 중재를 위한 구조 및방법

Also Published As

Publication number Publication date
KR20050083495A (ko) 2005-08-26

Similar Documents

Publication Publication Date Title
US6073199A (en) History-based bus arbitration with hidden re-arbitration during wait cycles
EP0382469B1 (en) Arbitration of bus access in digital computers
JP3899142B2 (ja) パイプライン分散バス・アービトレーション・システム
US6519666B1 (en) Arbitration scheme for optimal performance
US7533206B2 (en) Resource management device
KR100932359B1 (ko) 고주파수 중재자를 통해 사이클마다 복수의 버스 중재를수행하는 스위치 매트릭스 시스템
EP1927054A1 (en) Method and system for bus arbitration
KR100252752B1 (ko) 다단계 제어 버스 중재장치
JPH04260954A (ja) アービトレーション・システム及び方法
US5649209A (en) Bus coupling information processing system for multiple access to system bus
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
JPH0727507B2 (ja) チャネル選択アービトレーション
KR100583455B1 (ko) 프로그램 가능한 간단한 하드웨어 구조를 갖는 버스 중재기
KR100973419B1 (ko) 버스 중재 방법 및 장치
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
CN115269467B (zh) 一种总线仲裁的方法、装置、存储介质及电子设备
JP2000250853A (ja) バス調整制御装置
JP2006251875A (ja) バス調停装置及びバス調停方法
JP2008059047A (ja) 情報処理システム及びこの制御方法
JP3094944B2 (ja) アービトレーション方法及びその装置
JPH09269927A (ja) バスアクセス方法、バス、並びにバス接続システム
JPH0962640A (ja) 共有メモリのアクセス制御方法
JP2008165463A (ja) バス制御装置
US5799160A (en) Circuit and method for controlling bus arbitration
JPH11232215A (ja) バスコントローラ、バスマスタ装置及びバス制御システムの制御方法

Legal Events

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