KR20080044456A - 버스인터페이스장치 - Google Patents

버스인터페이스장치 Download PDF

Info

Publication number
KR20080044456A
KR20080044456A KR1020060113345A KR20060113345A KR20080044456A KR 20080044456 A KR20080044456 A KR 20080044456A KR 1020060113345 A KR1020060113345 A KR 1020060113345A KR 20060113345 A KR20060113345 A KR 20060113345A KR 20080044456 A KR20080044456 A KR 20080044456A
Authority
KR
South Korea
Prior art keywords
pci
master
bus
access
slave
Prior art date
Application number
KR1020060113345A
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 KR1020060113345A priority Critical patent/KR20080044456A/ko
Publication of KR20080044456A publication Critical patent/KR20080044456A/ko

Links

Images

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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus

Landscapes

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

Abstract

본 발명에 따른 버스인터페이스장치는, 외부 디바이스와 소정의 인터페이스로 통신하기 위한 통신부와; 저장부와; 슬레이브로 동작하는 디바이스에 억세스할 수 있는 억세스타임을 설정하여 상기 저장부에 저장하고, 마스터로 동작하는 외부 디바이스가 저장된 억세스타임 이상으로 상기 슬레이브에 억세스하면 상기 마스터의 억세스를 중단시키는 제어부를 포함한다. 그리하여 특정 마스터가 PCI 버스를 소정 시간 이상 점유하는 것을 방지할 수 있다.

Description

버스인터페이스장치{Bus Interface Device}
도 1은 종래의 버스 인터페이스장치를 도시한 도면이고,
도 2는 본 발명에 따른 버스 인터페이스장치를 도시한 도면이고,
도 3은 본 발명에 따른 버스 인터페이스장치의 제어흐름도이다.
* 도면의 주요부분에 대한 부호의 설명 *
100 : 버스 인터페이스장치 110 : 통신부
120 : 저장부 130 : 제어부
200 : 버스 인터페이스
본 발명은 버스인터페이스장치에 관한 것으로서, 보다 상세하게는 PCI버스를 사용한 데이터 통신을 인터페이스하는 버스인터페이스장치에 관한 것이다.
종래의 PCI 버스 시스템은 도 1에 도시된 바와 같이, PCI 호스트(10)와 PCI 마스터(30, 40)와 PCI 슬레이브(40)를 포함하는 PCI 에이전트로 구성되어 있다.
PCI 호스트(10)는 PCI 버스(20)에 연결되어 있는 디바이스들을 스캐닝하여 PCI 맵을 분할하여 할당하고 또한 각각의 PCI 에이전트에 대한 PCI 헤더 설정 동작 을 수행한다. 또한 PCI 디바이스를 외부 PCI 버스와 내부 PCI 버스 사이를 연결하는 브리지(bridge)로서 동작한다.
이때, 종래의 PCI 버스 인터페이스 시스템은 프로토콜상 버스트 길이(Burst length)에 대한 정의가 없기 때문에 특정 PCI 마스터(30, 40)에 의해 PCI 버스(20)의 독점 현상이 발생할 수 있다.
즉, 종래의 PCI 버스 인터페이에서는 PCI 마스터A(30)가 PCI 호스트(10)로부터 데이터를 읽어오기 위해 버스 리퀘스트 후 PCI 버스(20)를 점유하게 되면 호스트로부터 데이터를 읽어올 수 있다. 이때 호스트가 계속 데이터를 보낼 준비가 되어 있으면 PCI 버스(20)는 PCI 마스터 A(30)에 의해 독점되게 된다. 이 독점 현상은 마스터 A(30)가 목표로 하는 데이터를 전부 다 읽어오거나 호스트(10)가 데이터를 보낼 준비가 되지 않아 PCI_STOP 신호를 보내는 순간까지 계속된다. 따라서 PCI 마스터 B(40)가 PCI 호스트(10) 또는 PCI 슬레이브 B(50)로 데이터를 전송하고자 하여도 PCI 버스(20)를 점유할 수 없다는 문제점이 있다.
따라서, 본 발명의 목적은 PCI 버스를 효율적으로 활용하기 위해 특정 마스터가 PCI 버스를 소정 시간 이상 점유하는 것을 방지하는 버스 인터페이스장치를 제공하는 것이다.
상기 목적은, 본 발명에 따라, 버스인터페이스장치에 있어서, 외부 디바이스와 소정의 인터페이스로 통신하기 위한 통신부와; 저장부와; 슬레이브로 동작하는 디바이스에 억세스할 수 있는 억세스타임을 설정하여 상기 저장부에 저장하고, 마스터로 동작하는 외부 디바이스가 저장된 억세스타임 이상으로 상기 슬레이브에 억세스하면 상기 마스터의 억세스를 중단시키는 제어부를 포함하는 것을 특징으로 하는 버스인터페이스장치에 의해 달성된다.
여기서, 상기 저장부는 상기 마스터의 재 억세스가 가능한 대기시간이 설정된 웨이트카운터를 포함할 수 있다.
그리고, 상기 제어부는 상기 마스터가 상기 슬레이브에 대한 재 억세스를 요청하는 경우, 상기 웨이트카운터의 대기시간에 도달하면 상기 마스터의 억세스를 허용할 수 있다.
또한, 상기 통신부는 PCI 버스(Peripheral Component Interconnect bus)를 통해 통신하는 것이 바람직하다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 2는 본 발명에 따른 PCI 버스 시스템을 도시한 도면이다. PCI브리지(는 PCI버스(200)를 통해 외부 디바이스들을 연결한다. 제1디바이스(300), 제2디바이스(400) 및 제3디바이스(500)는 PCI브리지를 통하여 PCI버스(200)에 연결되고 데이터를 주고받을 수 있다.
한편, 도면에 도시된 바와 같이, 본 발명에 따른 버스인터페이스장치(100)는 PCI 브리지로서, 통신부(110), 저장부(120), 제어부(130)를 포함한다.
통신부(110)는 PCI 브리지를 외부의 디바이스에 연결하고, 어드레스신호와 데이터신호를 자신에 연결된 시스템과 주고받는다. 즉, 통신부(110)는 메인처리장 치에 해당하는 PCI 처리부(미도시)와 외부의 PCI 시스템(미도시)을 연결시키는 역할을 담당하며 PCI 버스(200)를 통해 통신하도록 구현되는 것이 바람직하다.
저장부(120)에는 마스터 디바이스가 PCI 버스를 점유하여 슬레이브 디바이스에 억세스 할 수 있는 억세스타임을 설정하는 오너십 카운터(Ownership Counter) 및 제1마스터 디바이스가 억세스타임을 경과하면, 다음 억세스할때까지의 대기시간이 설정된 웨이트 카운터(Waite Counter)가 마련되어 있다.
오너십 카운터에는 최대점유기간이 설정된다. 즉, 마스터 디바이스가 PCI 버스(200)를 독점하여 사용할 수 있는 시간의 최대허용값을 설정한다.
한편, 웨이트 카운터에는 억세스타임을 경과한 마스터 디바이스의 요구신호인 PCI_REQ 에 대한 허가신호인 PCI_GNT를 허용하기까지의 시간이 설정된다.
제어부(130)는 버스인터페이스장치(100)에 연결된 외부 디바이스들의 버스사용권을 할당한다. 버스의 사용권은 하나의 마스터에만 허용되며, 복수의 마스터가 동시에 버스를 사용할 수 없다. 따라서 버스에 복수의 마스터가 존재하는 경우에는 각각의 마스터에 사용권을 할당해야 하는데 이것을 버스 중재(bus arbitation)이라고 한다. 중재하는 것을 아비터(Arbiter)라고 한다. 본 발명에 따른 제어부(130)는 아비터인 것을 일례로 한다.
버스인터페이스장치(100)는 복수의 디바이스(즉, PCI마스터)로부터 PCI버스(200)를 통해 다른 디바이스(즉, PCI타겟)로 데이터를 읽거나 쓰고자 하는 경우, PCI스펙에 의해 복수의 디바이스 중 어느 하나만이 PCI버스(200)를 점유할 수 있도록 조정 또는 중재(arbitration, 이하, "조정"이라고 함)을 한다. 데이터를 전송하 고자 하는 복수의 PCI마스터는 이를 요청하는 PCI_REQ신호를 제어부(130)인 PCI아비터(PCI arbiter, 도시 안됨)에 전송하고, PCI아비터는 소정의 조정 알고리즘을 이용하여 하나의 PCI마스터를 선택하며, 선택된 PCI마스터에 데이터전송을 허여하는 PCI_GNT신호를 전송한다. PCI_GNT신호를 전송 받은 PCI마스터는 비로소 데이터 읽고 쓰기를 수행하게 된다.
제어부(130)는 PCI 버스(200)를 통해 마스터A로 동작하는 제1디바이스(300) 및 마스터B로 동작하는 제2디바이스(400), 슬레이브B로 동작하는 제3디바이스(500)를 스캐닝하여 PCI 맵을 분할하여 할당하고 PCI 헤더 설정(Header Configuration)을 수행한다.
한편, 제어부(130)는 PCI 버스(200) 상황에 따라 마스터가 PCI 버스(200)를 점유하여 슬레이브 디바이스에 억세스할 수 있는 억세스타임을 저장부(120)의 오너십 카운터에 설정한다. 이때, 제어부(130)는 PCI 버스(200)에 연결된 슬레이브 디바이스인 제3디바이스(500) 내의 오너십 카운터에도 동일한 설정값을 설정할 수 있다.
여기서, 제어부(130)는 마스터A인 제1디바이스(300)가 슬레이브B인 제3디바이스(500)의 데이터를 읽기 위해 억세스신호인 PCI_REQ를 통신부(110)를 통해 수신한다. 제어부(130)는 마스터A에 억세스허가 신호인 PCI_GNT를 주고 마스터A는 슬레이브B에 억세스하여 데이터를 읽어들인다.
이때, 제어부(130)는 저장부(120)의 오너십카운터를 통해 마스터A가 슬레이브B를 점유하는 시간이 설정된 억세스타임에 도달하는지 확인하고, 억세스타임에 도달한 경우 마스터A의 억세스를 종료시키는 PCI_STOP신호를 마스터A에 보내고 마스터A의 억세스는 종료된다. 여기서, PCI_STOP은 슬레이브B에 설정된 오너십카운터에 따라 슬레이브B가 마스터A에 전송할 수 있다.
한편, 마스터B가 슬레이브B에 억세스하기 위한 PCI_REQ를 전송하는 경우, 제어부(130)는 마스터B에 PCI_GNT를 주어 슬레이브B에 억세스를 허가한다.
제어부(130)는 마스터A가 슬레이브B에서 읽어들일 목표 데이터에 도달하지 못한 경우, 재차 슬레이브B에 대한 억세스 요구인 PCI_REQ를 전송하는 경우, 저장부(120)에 저장된 웨이트 카운터에 설정된 값에 따라 억세스를 허용할 수 있다.
즉, 제어부(130)는 웨이트카운터에 설정된 시간에 도달하지 않는 경우 마스터A의 억세스 요청에 응답하지 않고 그동안은 마스터B에 대한 PCI_GNT를 준다.
이하에서는, 도 3을 참조하여 본 발명에 따른 버스인터페이스 시스템의 동작을 상세히 설명한다.
먼저, PCI 호스트인 버스인터페이스 장치(100)는 슬레이브 디바이스에 마스터 디바이스가 억세스 할 수 있는 억세스 타임을 설정한다(S1). 여기서, PCI 호스트는 자신의 오너십 카운터와 슬레이브 디바이스의 오너십 카운터를 PCI 버스(200)의 상황에 따라 적절한 시간으로 설정한다.
한편, 제어부(130)는 현재 제1마스터 디바이스가 슬레이브에 억세스하고 있는 억세스타임을 감지한다(S3). 이때, 제어부(130)는 억세스타임이 저장부의 오너십 카운터에 기설정된 설정시간 이상이 되면(S5), 제1마스터 디바이스의 억세스를 종료시킨다(S7). 이때, 제어부(130)는 제2마스터 디바이스에 PCI_STOP 신호를 보내 억세스를 종료시킨다.
한편, 제어부(130)는 제2마스터디바이스의 PCI_REQ를 받아들여 제2마스터디바이스의 슬레이브에 대한 억세스를 허용한다(S9). 여기서, 제어부(130)는 제1마스터디바이스가 PCI_REQ를 요청하는 경우, 웨이트 카운터에 따라 대기시간이 경과할 때까지 제1마스터디바이스의 PCI_REQ를 무시하고 PCI_GNT를 주지 않는다.
본 발명에서는 마스터 디바이스가 슬레이브 디바이스의 데이터를 읽기 위해(read) 억세스하는 것을 일례로 하였으나 마스터 디바이스의 동작은 제한되지 않으며, 호스트 디바이스에 대한 읽기/쓰기 및 슬레이브 디바이스에 대한 읽기/쓰기 동작 등 PCI 버스를 점유하여 이루어지는 동작 전반에 걸쳐 적용이 가능하다.
비록 본 발명의 몇몇 실시예들이 도시되고 설명되었지만, 본 발명이 속하는 기술분야의 통상의 지식을 가진 당업자라면 본 발명의 원칙이나 정신에서 벗어나지 않으면서 본 실시예를 변형할 수 있음을 알 수 있을 것이다. 발명의 범위는 첨부된 청구항과 그 균등물에 의해 정해질 것이다.
이상 설명한 바와 같이, 본 발명에 따르면, 특정 마스터가 PCI 버스를 소정 시간 이상 점유하는 것을 방지하는 버스인터페이스장치가 제공된다.
이에 따라, PCI 버스에 연결된 모든 마스터 다비아스가 PCI 버스를 점유함에 있어 동등하게 점유율을 분배함으로써 PCI 버스를 효율적으로 이용할 수 있다.

Claims (4)

  1. 버스인터페이스장치에 있어서,
    외부 디바이스와 소정의 인터페이스로 통신하기 위한 통신부와;
    저장부와;
    슬레이브로 동작하는 디바이스에 억세스할 수 있는 억세스타임을 설정하여 상기 저장부에 저장하고, 마스터로 동작하는 외부 디바이스가 저장된 억세스타임 이상으로 상기 슬레이브에 억세스하면 상기 마스터의 억세스를 중단시키는 제어부를 포함하는 것을 특징으로 하는 버스인터페이스장치.
  2. 제1항에 있어서,
    상기 저장부는 상기 마스터의 재 억세스가 가능한 대기시간이 설정된 웨이트카운터를 포함하는 것을 특징으로 하는 버스인터페이스장치.
  3. 제2항에 있어서,
    상기 제어부는 상기 마스터가 상기 슬레이브에 대한 재 억세스를 요청하는 경우, 상기 웨이트카운터의 대기시간에 도달하면 상기 마스터의 억세스를 허용하는 것을 특징으로 하는 버스인터페이스장치.
  4. 제1항에 있어서,
    상기 통신부는 PCI 버스(Peripheral Component Interconnect bus)를 통해 통신하는 것을 특징으로 하는 버스인터페이스장치.
KR1020060113345A 2006-11-16 2006-11-16 버스인터페이스장치 KR20080044456A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060113345A KR20080044456A (ko) 2006-11-16 2006-11-16 버스인터페이스장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060113345A KR20080044456A (ko) 2006-11-16 2006-11-16 버스인터페이스장치

Publications (1)

Publication Number Publication Date
KR20080044456A true KR20080044456A (ko) 2008-05-21

Family

ID=39662314

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060113345A KR20080044456A (ko) 2006-11-16 2006-11-16 버스인터페이스장치

Country Status (1)

Country Link
KR (1) KR20080044456A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101127663B1 (ko) * 2010-11-30 2012-03-22 엘에스산전 주식회사 멀티 마스터를 지닌 백플래인에서 마스터의 접근 권한을 관리하는 장치 및 방법과 이를 이용한 백플래인 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101127663B1 (ko) * 2010-11-30 2012-03-22 엘에스산전 주식회사 멀티 마스터를 지닌 백플래인에서 마스터의 접근 권한을 관리하는 장치 및 방법과 이를 이용한 백플래인 시스템

Similar Documents

Publication Publication Date Title
KR100368948B1 (ko) 가변 우선순위와 공정성을 사용하는 개선된 버스 중재자
JPH08227392A (ja) 待ち時間及びシャドー・タイマを有するバス・システム
CN106856663B (zh) 半导体装置
KR20070059859A (ko) 칩 내부 회로 간의 데이터 전송을 위한 통신 시스템
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
CN115454897A (zh) 一种改善处理器总线仲裁机制的方法
KR20040010869A (ko) 네트워크 제어기의 송신부 버퍼 및 수신부 버퍼를제어하는 방법 및 네트워크 제어기
US7689746B2 (en) Bus system employing an arbiter
US5983025A (en) Computer system buffers for providing concurrency and avoid deadlock conditions between CPU accesses, local bus accesses, and memory accesses
CN111679992A (zh) 用于管理对共享总线访问的方法和对应的电子设备
KR20080044456A (ko) 버스인터페이스장치
CN109886035A (zh) 芯片访问安全的控制装置及芯片系统
KR100973419B1 (ko) 버스 중재 방법 및 장치
KR100475438B1 (ko) 데이터 버스 시스템 및 버스간 크로스 액세스 방법
JP4097847B2 (ja) バス・ブリッジのアービトレーション方法
KR101226389B1 (ko) 시스템 온 칩에서의 독점 접근 제어 방법 및 시스템
CN115017093B (zh) 一种片上外部总线通信的方法以及装置
KR100451789B1 (ko) 자원 공유를 위한 프로세서 중재장치 및 중재방법
KR100501745B1 (ko) 듀얼 이더넷 컨트롤러에서 요구한 버스의 중재방법
US20240119002A1 (en) System and method for uniform memory access in a network having a plurality of nodes
JP5028817B2 (ja) バスシステム
US7117281B1 (en) Circuit, system, and method for data transfer control for enhancing data bus utilization
EP1459191B1 (en) Communication bus system
JP4432268B2 (ja) バス調停システム及びこのシステムにおけるバスマスタとなる装置の中断処理方法
KR19980072345A (ko) 주전산기 입.출력 보드의 직접 메모리 접근(dma)방식 입.출력장치

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination