KR20020009823A - 버스 시스템 및 그 버스 중재방법 - Google Patents

버스 시스템 및 그 버스 중재방법 Download PDF

Info

Publication number
KR20020009823A
KR20020009823A KR1020000043334A KR20000043334A KR20020009823A KR 20020009823 A KR20020009823 A KR 20020009823A KR 1020000043334 A KR1020000043334 A KR 1020000043334A KR 20000043334 A KR20000043334 A KR 20000043334A KR 20020009823 A KR20020009823 A KR 20020009823A
Authority
KR
South Korea
Prior art keywords
data
bus
master device
transmission
identifier
Prior art date
Application number
KR1020000043334A
Other languages
English (en)
Other versions
KR100644596B1 (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 KR1020000043334A priority Critical patent/KR100644596B1/ko
Priority to GB0104575A priority patent/GB2365596B/en
Priority to CNB011047968A priority patent/CN1159657C/zh
Priority to US09/794,160 priority patent/US6721836B2/en
Priority to JP2001140648A priority patent/JP3664664B2/ja
Publication of KR20020009823A publication Critical patent/KR20020009823A/ko
Application granted granted Critical
Publication of KR100644596B1 publication Critical patent/KR100644596B1/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • 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/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
    • G06F13/423Bus 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 with synchronous protocol
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S370/00Multiplex communications
    • Y10S370/912Packet communications

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)
  • Small-Scale Networks (AREA)
  • Memory System (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 발명은, 버스 시스템 및 그 버스 중재방법에 관한 것이다.
본 발명에 따른 버스 중재방법은, 어드레스/제어버스, 및 데이터버스를 구비한 버스 시스템에 있어서, (a) 적어도 하나의 마스터 디바이스로부터 버스요구를 수신하고, 소정 중재알고리즘에 따라 어드레스/제어버스의 사용을 중재하는 단계; (b) 상기 중재결과에 따른 순서대로 상기 어드레스/제어버스를 통해 상기 마스터 디바이스로부터 데이터 전송의 준비를 위한 정보를 포함하는 억세스 커맨드 패킷을 수신하여 대응 슬래이브 디바이스로 전송하는 단계; (c) 상기 슬래이브 디바이스로부터 대응 데이터의 전송준비 완료를 수신하는 단계; (d) 상기 마스터 디바이스로 데이터 전송을 통지하는 단계; 및 (e) 상기 데이터버스를 통해 데이터가 전송되는 단계를 포함하는 것을 특징으로 한다. 이에 의하여, SDRAM과 같은 고속 슬래이브 디바이스를 채용한 버스 시스템에 있어서 버스 사용효율을 보다 높일 수 있는 버스 시스템 및 그 버스 중재방법이 제공된다.

Description

버스 시스템 및 그 버스 중재방법{Bus system and bus arbitration method thereof}
본 발명은, 버스 시스템 및 그 버스 중재방법에 관한 것으로, 보다 상세하게는, 복수의 마스터 디바이스, 복수의 슬래이브 디바이스, 및 상기 마스터 디바이스와 슬래이브 디바이스를 연결하는 어드레스/제어버스와 데이터버스를 포함하는 버스 시스템에 있어서 어드레스/제어버스만을 중재하고 상기 중재순서에 따라 데이터버스를 통해 데이터를 전송하는 버스 중재방법에 관한 것이다.
중재기는 버스의 사용 권한을 중재하는 역할을 담당한다. 즉, 종래 버스 시스템에 있어서, 중재기는 복수의 마스터 디바이스로부터 버스사용요구를 수신하여 고유의 중재알고리즘에 따라 버스 중재를 수행하고, 중재결과에 따른 순서대로 마스터 디바이스에게 버스의 소유권을 허여한다. 이에 따라, 버스 소유권을 넘겨받은 마스터 디바이스는 데이터 전송이 완료될 때까지 버스의 사용권을 독점한다. 여기서, 버스는 어드레스 및 제어정보를 전송하기 위한 어드레스/제어버스와 데이터를 전송하기 위한 데이터버스를 의미한다. 따라서, 어드레스/제어버스 및 데이터버스의 사용시점이 일치되는 슬래이브 디바이스의 경우에는 종래 중재기에 의한 중재방식에 별다른 문제가 없었다.
그런데, 최근의 버스 시스템은 슬래이브 디바이스로서 SDRAM과 같은 고속 메모리를 채용하고 있다. SDRAM과 같은 고속 메모리는 어드레스/제어버스와 데이터버스의 사용시점이 불일치한다. 즉, SDRAM에 어드레스, 리드/라이트 플래그 등 어드레스/제어신호가 입력되면 소정 지연시간(latency time)이 경과된 후에 데이터가 출력되거나 데이터 입력받을 수 있게 된다. 이에 따라, 마스터 디바이스가 어드레스/제어버스 및 데이터버스의 사용권을 독점하는 기간 동안 실제로 어드레스/제어버스 또는 데이터버스의 점유기간은 길지 않다. 결국, 어드레스/제어버스와 데이터버스의 아이들클럭이 많아져서 버스 사용효율이 낮아지며, 이는 버스 시스템 전체의 성능을 저하시키는 한 요인이 되고 있다.
따라서, 본 발명의 목적은, SDRAM과 같은 고속 슬래이브 디바이스를 채용한 버스 시스템에 있어서 버스 사용효율이 보다 높은 버스 시스템 및 그 버스 중재방법을 제공하는 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 버스 시스템의 개략도,
도 2는 도 1의 중재기(3)의 상세 블록도,
도 3은 억세스 커맨드 패킷의 구성을 설명하기 위한 참고도,
도 4는 전송 제어 패킷의 구성을 설명하기 위한 참고도,
도 5는 데이터 전송 패킷의 구성을 설명하기 위한 참고도,
도 6은 본 발명에 따른 버스 제어방법을 개략적으로 설명하기 위한 플로우챠트,
도 7은 본 발명의 실시예에 따른 버스 제어방법을 설명하기 위한 플로우챠트이다.
* 도면의 주요 부분에 대한 부호의 설명
100: 버스 시스템 3: 중재기
11,12,13,14: 마스터 디바이스 21,22,23,24,25: 슬래이브 디바이스
31: 마스터 인터페이스 32: 슬래이브 인터페이스
상기 목적은, 본 발명에 따라, 어드레스/제어버스, 및 데이터버스를 구비한 버스 시스템에 있어서, (a) 적어도 하나의 마스터 디바이스로부터 버스요구를 수신하고, 소정 중재알고리즘에 따라 어드레스/제어버스의 사용을 중재하는 단계; (b) 상기 중재결과에 따른 순서대로 상기 어드레스/제어버스를 통해 상기 마스터 디바이스로부터 데이터 전송의 준비를 위한 정보를 포함하는 억세스 커맨드 패킷을 수신하여 대응 슬래이브 디바이스로 전송하는 단계; (c) 상기 슬래이브 디바이스로부터 대응 데이터의 전송준비 완료를 수신하는 단계; (d) 상기 마스터 디바이스로 데이터 전송을 통지하는 단계; 및 (e) 상기 데이터버스를 통해 데이터가 전송되는 단계를 포함하는 것을 특징으로 하는 버스 중재방법에 의해 달성된다.
여기서, (f) 상기 슬래이브 디바이스로부터 데이터의 전송완료를 수신하는 단계; 및 (g) 상기 마스터 디바이스로 데이터의 전송완료를 통지하는 단계를 더 포함하는 것이 바람직하다.
또한, 상기 (c)단계는, (c1) 상기 슬래이브 디바이스로부터 데이터 전송 시작, 및 대응 마스터 디바이스의 식별자가 포함된 전송 제어 패킷을 수신하며,
상기 (d)단계는, (d1) 상기 식별자를 갖는 마스터 디바이스로 상기 데이터 전송 시작을 통지하는 것이 바람직하다.
상기 (f)단계는, (f1) 상기 슬래이브 디바이스로부터 데이터 전송 완료, 및 대응 마스터 디바이스의 식별자가 포함된 전송 제어 패킷을 수신하며
상기 (g)단계는, (g1) 상기 식별자를 갖는 마스터 디바이스로 상기 데이터 전송 완료를 통지하는 것이 또한 바람직하다.
그리고, 상기 억세스 커맨드 패킷은, 데이터의 전송을 위한 어드레스, 리드/라이트 플래그, 비트폭, 및 상기 억세스 커맨드 패킷을 발송한 마스터 디바이스의 식별자를 포함하며, 버스트 전송을 위한 버스트 길이를 더 포함하는 것이 더욱 바람직하다.
또한, 상기 (e)단계의 데이터 전송이 실패되었을 경우, (h) 상기 슬래이브 디바이스로부터 데이터 전송 실패를 수신하는 단계; (i) 대응 마스터 디바이스로 데이터 전송 실패를 통지하는 단계; 및 (j) 데이터를 재전송하는 단계를 더 포함하는 것이 바람직하다.
상기 (h)단계는, (h') 상기 슬래이브 디바이스로부터 데이터 실패신호 및 상기 대응 마스터 디바이스의 식별자를 수신하며,
상기 (i)단계는, (i') 상기 식별자를 갖는 마스터 디바이스로 상기 데이터실패신호를 전송하는 것이 특히 바람직하다.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은, 어드레스/제어버스 및 데이터버스를 구비한 버스 시스템에 있어서, 소정 중재알고리즘에 따라 상기 어드레스/제어버스의 사용을 중재하기 위한 중재기; 상기 중재기의 중재결과에 따른 순서대로 상기 어드레스/제어버스를 통해 데이터 전송의 준비를 위한 정보가 포함된 억세스 커맨드 패킷을 상기 중재기로 전송하고, 상기 중재기로부터의 데이터 전송을 통지받고 상기 데이터버스를 통해 데이터를 수신 또는 송신하기 위한 적어도 하나의 마스터 디바이스; 및 상기 중재기로부터 상기 억세스 커맨드를 수신하여 실행함으로써 데이터 전송준비 완료를 상기 중재기로 통지하고, 상기 중재기의 대응 마스터 디바이스로의 데이터 전송 통지에 따라 상기 데이터버스를 통해 데이터를 수신 또는 송신하기 위한 적어도 하나의 슬래이브 디바이스를 포함하는 것을 특징으로 하는 버스 시스템에 의해서도 달성된다.
여기서, 상기 중재기는, 상기 슬래이브 디바이스로부터 데이터의 전송완료를 수신하고 상기 마스터 디바이스로 데이터의 전송완료를 통지하는 것이 바람직하다.
또한, 상기 슬래이브 디바이스는, 데이터 전송준비 완료의 통지를 위해, 데이터 전송 시작, 및 대응 마스터 디바이스의 식별자가 포함된 전송 제어 패킷을 상기 중재기로 전송하며,
상기 중재기는, 상기 전송 제어 패킷에 포함된 상기 식별자를 갖는 마스터 디바이스로 데이터 전송 시작을 통지하는 것이 더욱 바람직하다.
또한, 상기 슬래이브는, 데이터의 전송이 완료되면, 데이터 전송 완료, 및대응 마스터 디바이스의 식별자가 포함된 전송 제어 패킷을 상기 중재기로 전송하며,
상기 중재기는, 상기 식별자를 갖는 마스터 디바이스로 상기 데이터의 전송 완료를 통지하는 것이 효과적이다.
그리고, 상기 억세스 커맨드 패킷은, 데이터의 전송을 위한 어드레스, 리드/라이트 플래그, 비트폭, 및 상기 억세스 커맨드 패킷을 발송한 마스터 디바이스의 식별자를 포함하며, 버스트 전송을 위한 버스트 길이를 더 포함하는 것이 특히 효과적이다.
또한, 상기 슬래이브 디바이스는, 데이터 전송이 실패되었을 경우, 데이터 실패신호 및 상기 대응 마스터 디바이스의 식별자를 포함한 전송 제어 패킷을 상기 중재기로 전송하며,
상기 중재기는, 상기 데이터 실패신호가 포함된 전송 제어 패킷에 첨부된 식별자를 갖는 마스터 디바이스로 상기 데이터 실패신호를 전송하는 것이 더욱 효과적이다.
이하 첨부도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 버스 시스템의 개략도이다.
도 1을 참조하면, 버스 시스템(100)은, 복수의 마스터 디바이스 (11,12,13,14), 복수의 슬래이브 디바이스(21,22,23,24,25), 및 중재기(3)를 포함한다. 한편, 복수의 마스터 디바이스(11,12,13,14), 및 복수의 슬래이브 디바이스 (21,22,23, 24,25)는, 단순화를 위해 도시않은 데이터버스에 의해 연결되어 있다.데이터버스는, 데이터 전송속도가 서로다른 메인 데이터버스와 로컬 데이터버스를 포함할 수 있다.
마스터 디바이스(11,12,13,14)는, 일반적으로 프로세서이며, 슬래이브 디바이스(21,22,23,24,25)는 일반적으로 RAM, ROM 등의 메모리, 입출력 디바이스, 또는 기타 주변장치를 의미한다. 마스터 디바이스(11,12,13,14) 각각은 다른 마스터 디바이스(11,12,13,14)에 대한 슬래이브 디바이스가 될 수 있다. 또한, 마스터 디바이스 및 슬래이브 디바이스의 수는 시스템에 따라 다양하게 변경가능하다.
중재기(3)는, 종래 버스 시스템의 중재기가 어드레스/제어버스에 대한 소유권을 마스터 디바이스에게 허여함으로써 마스터 디바이스가 슬래이브 디바이스를 직접 제어하며 슬래이브 디바이스로부터의 응답을 처리하던 것과 달리, 어드레스/제어버스의 소유권을 마스터 디바이스(11,12,13,14)에게 허여하지 않는다. 즉, 중재기(3)는 마스터 디바이스(11,12,13,14)로부터 출력되는 어드레스, 리드/라이트 플래그, 버스트 전송되는 데이터의 크기, 비트폭 등 소정 데이터의 전송을 위해 필요한 정보(이하 "억세스 커맨드(Access Command)"라 함)를 수신하여 직접 슬래이브 디바이스(21,22,23,24,25)로 전달하며, 슬래이브 디바이스(21,22,23,24,25)로부터의 응답을 처리한다.
도 2는 도 1의 중재기(3)의 상세 블록도이다. 다만, 설명의 단순화를 위해 대응 슬래이브 디바이스는 참조번호 21의 슬래이브 디바이스로 전제한다.
도 2를 참조하면, 중재기(3)는, 적어도 하나의 마스터 디바이스(11,12,13, 또는 14)로부터 어드레스/제어버스의 요청을 받고 소정 중재알고리즘에 따라 어드레스/제어버스의 사용을 허락한다. 또한, 중재기(3)는 마스터 인터페이스(31)와 슬래이브 인터페이스(32)를 구비한다. 마스터 인터페이스(31)는 마스터 디바이스 (11,12,13, 또는 14)로부터 억세스 커맨드 패킷을 전달받아 대응 슬래이브 디바이스(21)로 전달한다. 슬래이브 인터페이스(32)는 억세스 커맨드 패킷을 실행한 슬래이브 디바이스(21)로부터 대응 데이터의 전송준비 완료를 수신하고, 대응 마스터 디바이스(11,12,13, 또는 14)로 데이터 전송을 통지하며, 이에 따라 버스 시스템(100)에 마련된 도시않은 데이터버스를 통해 데이터가 전송된다.
다시 말해, 슬래이브 디바이스(21)는 억세스 커맨드 패킷을 실행하면, 데이터 전송을 제어하기 위한 전송 제어 패킷(Transfer Control Packet)을 슬래이브 인터페이스(32)로 송신하고, 슬래이브 인터페이스(32)는 데이터 전송을 위한 데이터 전송 패킷(Data Transfer Packet)을 대응 마스터 디바이스(11,12,13, 또는 14)로 송신한다.
도 3은 억세스 커맨드 패킷의 구성을 설명하기 위한 참고도이다.
도 3을 참조하면, 억세스 커맨드 패킷은, 데이터를 읽거나 쓰기 위해 사전에 필요한 각종 제어정보를 망라한다. 보다 구체적으로, 주소(Address), 리드/라이트 플래그(Read Write Flag), 비트폭(Bit Width), 버스트 길이(Burst Length), 대응 마스터 디바이스(11,12,13, 또는 14)의 식별자(identifier)를 포함한다.
주소는, 대응 슬래이브 디바이스(21)로부터 필요한 데이터를 읽거나 슬래이브 디바이스(21)로 데이터를 쓰기 위해 억세스를 시작하는 지점의 주소를 말한다. 리드/라이트 플래그는, 데이터 전송의 방향을 알려주는 지시자의 역할을 하는 바,리드 플래그인 경우에는 데이터를 읽기 위한 경우로서 슬래이브 디바이스(21)로부터 대응 마스터 디바이스(11,12,13, 또는 14)로 데이터가 전송되며, 라이트 플래그인 경우에는 데이터를 쓰기 위한 경우로 대응 마스터 디바이스(11,12,13, 또는 14)로부터 슬래이브 디바이스(21)로 데이터가 전송되게 된다. 비트폭은 데이터 전송의 폭을 의미한다. 실제로, 32비트 메모리 버스 시스템에서도 항상 32비트의 데이터 전송이 이루어지는 것은 아니며, 필요에 따라 8비트, 또는 16비트 단위의 데이터 전송이 이루어지기 때문에, 데이터 전송 준비를 위해 전송되는 데이터의 비트폭을 알아야 한다. 버스트 길이는, 데이터의 버스트 전송이 이루어질 때의 버스트 전송의 길이를 의미한다. SDRAM과 같은 메모리의 경우 버스트 전송을 지원하며, 슬래이브 디바이스(21)는 버스트 길이를 미리 알아야 이에 기초하여 데이터 전송을 완료할 수 있게 된다. 대응 마스터 디바이스의 식별자는, 슬래이브 디바이스(21)로 하여금 데이터가 전송되어야 할 마스터 디바이스(11,12,13, 또는 14)를 알게 해준다. 종래 중재방법에 있어서는 마스터 디바이스가 직접 슬래이브 디바이스를 제어하기 때문에 데이터 전송 대상인 마스터 디바이스를 굳이 식별할 필요가 없으나, 본 발명에서는 중재기(3)가 억세스 커맨드를 슬래이브 디바이스(21)로 전달하는 중재방법(arbitration scheme)에 따르므로 슬래이브 디바이스(21)로 대응 마스터 디바이스(11,12,13, 또는 14)를 알려줄 필요가 있는 것이다.
도 4는 전송 제어 패킷의 구성을 설명하기 위한 참고도이다.
도 4를 참조하면, 전송 제어 패킷은, 전송 시작 지시자(Data Transfer Start Indicator), 전송 완료 지시자(Data Transfer Finish Indicator), 실패(Abort), 전송 지연 지시자(Data Stall Indicator), 전송 시작 지시자가 전달되어야 할 마스터 디바이스 식별자, 전송 완료 지시자가 전달되어야 할 마스터 디바이스 식별자, 실패가 전달되어야 할 마스터 디바이스 식별자를 포함한다.
전송 시작 지시자는 데이터버스를 통해 데이터의 전송이 시작되는 시점을 알려준다. 전송 완료 지시자는 데이터버스를 통해 데이터의 전송이 완료되는 시점을 알려준다. 실패는 여러 가지 이유로 데이터가 성공적으로 전송완료되지 못하였을 경우 전달되며, 이 때 실패가 전달되어야 할 마스터 디바이스의 식별자가 함께 전달된다. 전송 지연 지시자는 데이터버스를 통한 데이터 전송 중에 여러 가지 이유로 인하여 데이터 전송이 지연되어야 하거나 지연될 경우를 알려준다. 전송 시작 지시자가 전달되어야 할 마스터 디바이스 식별자, 전송 완료 지시자가 전달되어야 할 마스터 디바이스 식별자, 및 실패가 전달되어야 할 마스터 디바이스 식별자는 대응신호가 각각 전달되어야 할 마스터 디바이스를 알려준다.
도 5는 데이터 전송 패킷의 구성을 설명하기 위한 참고도이다.
도 5를 참조하면, 데이터 전송 패킷은, 데이터 전송 지시자(Data Transfer Indicator), 데이터 전송지연 지시자(Data Stall Indicator), 및 실패(Abort)를 포함한다.
데이터 전송 지시자는, 데이터버스를 통해 데이터가 전송되고 있음을 알려준다. 이 신호의 길이는, 전송지연(Stall)이 없었을 경우, 억세스 커맨드 패킷에 포함된 버스트 길이와 동일한 길이를 가진다. 예를 들어, 버스트 길이가 10이었다면 데이터 전송 지시자는 10클럭 동안 활성화된다. 데이터 전송지연 지시자는 여러가지 이유로 인한 데이터 전송지연을 알려준다. 실패는 여러 가지 이유로 데이터 전송이 성공적으로 완료되지 못하였을 경우 전송된다.
상기와 같은 구성에 따라 본 발명의 바람직한 실시예에 따른 버스 제어방법을 설명하면 다음과 같다.
도 6은 본 발명에 따른 버스 제어방법을 개략적으로 설명하기 위한 플로우챠트이다.
도 6을 참조하면, 중재기(3)는 적어도 하나의 마스터 디바이스(11,12,13, 또는 14)로부터 어드레스/제어버스의 요구를 수신하고, 소정 중재알고리즘에 따라 어드레스/제어버스의 사용을 중재한다(601단계). 여기서, 중재알고리즘은 종래 알려진 중재알고리즘은 물론 장래 알려질 중재알고리즘을 포함한다. 다만, 중재알고리즘 자체는 본 발명의 요지 밖에 있으므로 그에 대한 상세한 설명은 생략한다.
중재기(3)는 중재결과에 따른 순서대로 마스터 디바이스(11,12,13, 또는 14)로부터 어드레스/제어버스를 통해 억세스 커맨드 패킷을 수신한다(602단계).
수신된 억세스 커맨드 패킷을 대응 슬래이브 디바이스(21)로 송신한다(603단계).
슬래이브 디바이스(21)는 수신된 억세스 커맨드 패킷을 실행함으로써 대응 데이터의 전송준비를 완료한다(604단계).
데이터의 전송준비가 완료됨에 따라 마스터 디바이스(11,12,13, 또는 14)와 슬래이브 디바이스(21)를 연결하는 데이터버스를 통해 데이터가 전송되게 된다(605단계).
도 7은 본 발명의 실시예에 따른 버스 제어방법을 설명하기 위한 플로우챠트이다.
도 7을 참조하면, 다음 절차는 마스터 인터페이스(31)에서 이루어진다.
마스터 인터페이스(31)는 마스터 디바이스(11,12,13, 또는 14)로부터 어드레스/제어버스의 요구를 수신한다(701단계).
어드레스/제어버스의 요구가 수신되면, 소정 중재알고리즘에 따라 어드레스/제어버스를 중재한다(702단계).
이어, 상기 702단계의 중재결과에 따른 순서대로, 마스터 디바이스 (11,12,13, 또는 14)로부터 억세스 커맨드 패킷을 수신한다(703단계).
수신된 억세스 커맨드 패킷을 대응 슬래이브 디바이스(21)로 송신한다(704단계).
다음 절차는 슬래이브 디바이스(21)에서 이루어진다.
슬래이브 디바이스(21)는 수신된 억세스 커맨드 패킷을 실행한다(705단계).
억세스 커맨드 패킷을 실행함으로써 데이터 전송준비가 완료된 슬래이브 디바이스(21)는 슬래이브 인터페이스(32)로 전송 제어 패킷을 송신한다(706단계).
이하 절차는 슬래이브 인터페이스(32)에서 수행된다.
슬래이브 인터페이스(32)는 수신된 전송 제어 패킷에 포함된 마스터 디바이스 식별자에 따라 대응 마스터 디바이스(11,12,13, 또는 14)로 데이터 전송 패킷을 송신한다(707단계). 데이터 전송 패킷이 전송됨과 동시에 데이터버스를 통해 데이터가 전송되고, 마스터 디바이스(11,12,13, 또는 14)로부터의 커맨드가 실행완료되게 된다.
여기서, 버스 제어방법은 마스터 인터페이스(21) ⇒ 슬래이브 디바이스(21) ⇒ 슬래이브 인터페이스(32)의 순서대로 설명하였으나, 마스터 인터페이스(31)와 슬래이브 인터페이스(32)는 각각 별개 독립적으로 실행될 수 있고, 이에 따라 억세스 커맨드 패킷의 전송과, 전송 제어 패킷의 전송 및 데이터 전송 패킷의 전송이 별개 독립적으로 수행될 수 있다. 결국, 일 시점에서, 어드레스/제어버스를 점유하는 마스터 디바이스와 데이터버스를 점유하는 마스터 디바이스가 달라지게 되며, 버스사용의 효율을 높이게 된다.
한편, 본 발명에 따른 중재방법에 있어, 슬래이브 디바이스(21)와 중재기(3) 간의 전송 제어 패킷의 전송 중 에러발생을 대비하여 전송 제어 패킷에 전송 지연 지시자, 및 실패를 마련하였으며, 중재기(3)와 마스터 디바이스(11,12,13, 또는 14) 간의 데이터 전송 패킷의 전송 중 에러발생을 대비하여 데이터 전송 패킷에 데이터 전송 지연 지시자, 실패를 마련하였다. 이에 따라, 데이터 전송 중의 에러 대한 대처가 가능하게 되어 에러율이 낮아지고, 시스템의 성능이 높아지게 된다.
이상 설명한 바와 같이, 본 발명에 따르면, SDRAM과 같은 고속 슬래이브 디바이스를 채용한 버스 시스템에 있어서 버스 사용효율을 보다 높일 수 있는 버스 시스템 및 그 버스 중재방법이 제공된다. 즉, 일 시점에서 어드레스/제어버스와 데이터버스를 각각 별개의 마스터 디바이스가 점유가능하므로, 버스의 유휴시간이 감소된다.
더불어, 마스터 디바이스는 중재기로 억세스 커맨드 패킷을 전송하고 다시 자신의 주작업으로 신속하게 복귀할 수 있게 되므로 작업효율이 향상된다. 또한, 데이터 전송이 시작되기 전까지 다른 억세스 커맨드 패킷을 전송할 수 있으므로 연속적인 데이터전송이 가능하며, 이에 따라 데이터버스의 아이들클럭을 최소화시킬 수 있다.
한편, 마스터 디바이스는, 종래 직접 슬래이브 디바이스를 제어하던 것과 달리, 억세스 커맨드 패킷만을 전송하고 데이터 전송이 시작될 때까지 기다리면 족하므로, 종래에 비해 현저히 단순한 버스인터페이스 구조를 갖게 된다.

Claims (15)

  1. 어드레스/제어버스, 및 데이터버스를 구비한 버스 시스템에 있어서,
    (a) 적어도 하나의 마스터 디바이스로부터 버스요구를 수신하고, 소정 중재알고리즘에 따라 어드레스/제어버스의 사용을 중재하는 단계;
    (b) 상기 중재결과에 따른 순서대로 상기 어드레스/제어버스를 통해 상기 마스터 디바이스로부터 데이터 전송의 준비를 위한 정보를 포함하는 억세스 커맨드 패킷을 수신하여 대응 슬래이브 디바이스로 전송하는 단계;
    (c) 상기 슬래이브 디바이스로부터 대응 데이터의 전송준비 완료를 수신하는 단계;
    (d) 상기 마스터 디바이스로 데이터 전송을 통지하는 단계; 및
    (e) 상기 데이터버스를 통해 데이터가 전송되는 단계를 포함하는 것을 특징으로 하는 버스 중재방법.
  2. 제1항에 있어서,
    (f) 상기 슬래이브 디바이스로부터 데이터의 전송완료를 수신하는 단계; 및
    (g) 상기 마스터 디바이스로 데이터의 전송완료를 통지하는 단계를 더 포함하는 것을 특징으로 하는 버스 중재방법.
  3. 제2항에 있어서,
    상기 (c)단계는,
    (c1) 상기 슬래이브 디바이스로부터 데이터 전송 시작, 및 대응 마스터 디바이스의 식별자가 포함된 전송 제어 패킷을 수신하며,
    상기 (d)단계는,
    (d1) 상기 식별자를 갖는 마스터 디바이스로 상기 데이터 전송 시작을 통지하는 것을 특징으로 하는 버스 중재방법.
  4. 제3항에 있어서,
    상기 (f)단계는,
    (f1) 상기 슬래이브 디바이스로부터 데이터 전송 완료, 및 대응 마스터 디바이스의 식별자가 포함된 전송 제어 패킷을 수신하며
    상기 (g)단계는,
    (g1) 상기 식별자를 갖는 마스터 디바이스로 상기 데이터 전송 완료를 통지하는 것을 특징으로 하는 버스 중재방법.
  5. 제1항에 있어서,
    상기 억세스 커맨드 패킷은, 데이터의 전송을 위한 어드레스, 리드/라이트 플래그, 비트폭, 및 상기 억세스 커맨드 패킷을 발송한 마스터 디바이스의 식별자를 포함하는 것을 특징으로 하는 버스 중재방법.
  6. 제5항에 있어서,
    상기 억세스 커맨드 패킷은, 버스트 전송을 위한 버스트 길이를 더 포함하는 것을 특징으로 하는 버스 중재방법.
  7. 제1항에 있어서,
    상기 (e)단계의 데이터 전송이 실패되었을 경우,
    (h) 상기 슬래이브 디바이스로부터 데이터 전송 실패를 수신하는 단계;
    (i) 대응 마스터 디바이스로 데이터 전송 실패를 통지하는 단계; 및
    (j) 데이터를 재전송하는 단계를 더 포함하는 것을 특징으로 하는 버스 중재방법.
  8. 제7항에 있어서,
    상기 (h)단계는,
    (h') 상기 슬래이브 디바이스로부터 데이터 실패신호 및 상기 대응 마스터 디바이스의 식별자를 수신하며,
    상기 (i)단계는,
    (i') 상기 식별자를 갖는 마스터 디바이스로 상기 데이터 실패신호를 전송하는 것을 특징으로 하는 버스 중재방법.
  9. 어드레스/제어버스 및 데이터버스를 구비한 버스 시스템에 있어서,
    소정 중재알고리즘에 따라 상기 어드레스/제어버스의 사용을 중재하기 위한 중재기;
    상기 중재기의 중재결과에 따른 순서대로 상기 어드레스/제어버스를 통해 데이터 전송의 준비를 위한 정보가 포함된 억세스 커맨드 패킷을 상기 중재기로 전송하고, 상기 중재기로부터의 데이터 전송을 통지받고 상기 데이터버스를 통해 데이터를 수신 또는 송신하기 위한 적어도 하나의 마스터 디바이스; 및
    상기 중재기로부터 상기 억세스 커맨드를 수신하여 실행함으로써 데이터 전송준비 완료를 상기 중재기로 통지하고, 상기 중재기의 대응 마스터 디바이스로의 데이터 전송 통지에 따라 상기 데이터버스를 통해 데이터를 수신 또는 송신하기 위한 적어도 하나의 슬래이브 디바이스를 포함하는 것을 특징으로 하는 버스 시스템.
  10. 제9항에 있어서,
    상기 중재기는, 상기 슬래이브 디바이스로부터 데이터의 전송완료를 수신하고 상기 마스터 디바이스로 데이터의 전송완료를 통지하는 것을 특징으로 하는 버스 시스템.
  11. 제10항에 있어서,
    상기 슬래이브 디바이스는, 데이터 전송준비 완료의 통지를 위해, 데이터 전송 시작, 및 대응 마스터 디바이스의 식별자가 포함된 전송 제어 패킷을 상기 중재기로 전송하며,
    상기 중재기는, 상기 전송 제어 패킷에 포함된 상기 식별자를 갖는 마스터 디바이스로 데이터 전송 시작을 통지하는 것을 특징으로 하는 버스 시스템.
  12. 제11항에 있어서,
    상기 슬래이브는, 데이터의 전송이 완료되면, 데이터 전송 완료, 및 대응 마스터 디바이스의 식별자가 포함된 전송 제어 패킷을 상기 중재기로 전송하며
    상기 중재기는, 상기 식별자를 갖는 마스터 디바이스로 상기 데이터의 전송 완료를 통지하는 것을 특징으로 하는 버스 시스템.
  13. 제9항에 있어서,
    상기 억세스 커맨드 패킷은, 데이터의 전송을 위한 어드레스, 리드/라이트 플래그, 비트폭, 및 상기 억세스 커맨드 패킷을 발송한 마스터 디바이스의 식별자를 포함하는 것을 특징으로 하는 버스 시스템.
  14. 제13항에 있어서,
    상기 억세스 커맨드 패킷은, 버스트 전송을 위한 버스트 길이를 더 포함하는 것을 특징으로 하는 버스 시스템.
  15. 제9항에 있어서,
    상기 슬래이브 디바이스는, 데이터 전송이 실패되었을 경우, 데이터 실패신호 및 상기 대응 마스터 디바이스의 식별자를 포함한 전송 제어 패킷을 상기 중재기로 전송하며,
    상기 중재기는,
    상기 데이터 실패신호가 포함된 전송 제어 패킷에 첨부된 식별자를 갖는 마스터 디바이스로 상기 데이터 실패신호를 전송하는 것을 특징으로 하는 버스 시스템.
KR1020000043334A 2000-07-27 2000-07-27 버스 시스템 및 그 버스 중재방법 KR100644596B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020000043334A KR100644596B1 (ko) 2000-07-27 2000-07-27 버스 시스템 및 그 버스 중재방법
GB0104575A GB2365596B (en) 2000-07-27 2001-02-23 Data processing apparatus with a bus system
CNB011047968A CN1159657C (zh) 2000-07-27 2001-02-27 总线系统和其数据传输方法
US09/794,160 US6721836B2 (en) 2000-07-27 2001-02-28 Bus system having an address/control bus and a data bus, and a data transfer method thereof
JP2001140648A JP3664664B2 (ja) 2000-07-27 2001-05-10 バスシステム及びそのバス仲裁方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000043334A KR100644596B1 (ko) 2000-07-27 2000-07-27 버스 시스템 및 그 버스 중재방법

Publications (2)

Publication Number Publication Date
KR20020009823A true KR20020009823A (ko) 2002-02-02
KR100644596B1 KR100644596B1 (ko) 2006-11-10

Family

ID=19680270

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000043334A KR100644596B1 (ko) 2000-07-27 2000-07-27 버스 시스템 및 그 버스 중재방법

Country Status (5)

Country Link
US (1) US6721836B2 (ko)
JP (1) JP3664664B2 (ko)
KR (1) KR100644596B1 (ko)
CN (1) CN1159657C (ko)
GB (1) GB2365596B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100451789B1 (ko) * 2001-10-16 2004-10-08 엘지전자 주식회사 자원 공유를 위한 프로세서 중재장치 및 중재방법
KR100726101B1 (ko) * 2005-04-29 2007-06-12 (주)씨앤에스 테크놀로지 메모리 제어 시스템

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107365B1 (en) * 2002-06-25 2006-09-12 Cypress Semiconductor Corp. Early detection and grant, an arbitration scheme for single transfers on AMBA advanced high-performance bus
CN1296844C (zh) * 2003-06-20 2007-01-24 上海奇码数字信息有限公司 数据传送方法和数据传送系统
FR2857114B1 (fr) * 2003-07-04 2005-09-30 Arteris Systeme et procede de communication entre des modules
CN100356355C (zh) * 2003-08-01 2007-12-19 上海奇码数字信息有限公司 仲裁器和仲裁方法
CN1297921C (zh) * 2004-03-09 2007-01-31 北京中星微电子有限公司 一种二级总线设备
CN1307571C (zh) * 2004-11-26 2007-03-28 上海广电(集团)有限公司中央研究院 一种低速总线结构及其数据传输方法
CN100365602C (zh) * 2004-12-31 2008-01-30 北京中星微电子有限公司 实现多个主动装置对单一总线上从动装置进行存取的设备
KR101663172B1 (ko) * 2009-08-24 2016-10-17 삼성전자주식회사 연동기능 자동 수행방법 및 이를 적용한 디바이스
KR101733203B1 (ko) * 2010-10-13 2017-05-08 삼성전자주식회사 아이디 컨버터를 포함하는 버스 시스템 및 그것의 변환 방법
CN105302754B (zh) * 2014-06-16 2021-01-22 京微雅格(北京)科技有限公司 基于总线的fpga芯片配置方法和配置电路
US11392517B2 (en) * 2014-09-10 2022-07-19 Sony Group Corporation Access control method, bus system, and semiconductor device
JP7003752B2 (ja) * 2018-03-13 2022-01-21 日本電気株式会社 データ転送装置、データ転送方法、プログラム
CN108959153B (zh) * 2018-08-01 2021-04-06 广州视源电子科技股份有限公司 一种一体机、数据续传的方法、装置、设备和存储介质
DE102019128651A1 (de) 2019-10-23 2021-04-29 Infineon Technologies Ag Vorrichtung für einen digitalen Eindraht-Bus, Master-Vorrichtung, Sensor und Verfahren zum Zuweisen von Adressen an mehrere Vorrichtungen auf einem digitalen Eindraht-Bus
CN111813723B (zh) * 2020-09-02 2021-02-02 深圳市英美华科技有限公司 一种电源总线数据传输方法、装置及计算机可读存储介质
CN112235127B (zh) * 2020-09-22 2023-01-20 深圳优地科技有限公司 节点故障上报方法、装置、终端设备及存储介质
CN113434354B (zh) 2021-08-27 2021-12-03 苏州浪潮智能科技有限公司 一种总线异常处置方法、装置、电子设备及可读存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63132365A (ja) * 1986-11-22 1988-06-04 Nec Corp バス調停制御方式
US4817037A (en) * 1987-02-13 1989-03-28 International Business Machines Corporation Data processing system with overlap bus cycle operations
US5546587A (en) * 1991-05-30 1996-08-13 Tandem Computers Incorporated Decentralized bus arbitration system which continues to assert bus request signal to preclude other from asserting bus request signal until information transfer on the bus has been completed
FR2724243B1 (fr) * 1994-09-06 1997-08-14 Sgs Thomson Microelectronics Systeme de traitement multitaches
US5621897A (en) * 1995-04-13 1997-04-15 International Business Machines Corporation Method and apparatus for arbitrating for a bus to enable split transaction bus protocols
JP3379377B2 (ja) 1997-03-19 2003-02-24 富士通株式会社 データ処理システム
US6081860A (en) * 1997-11-20 2000-06-27 International Business Machines Corporation Address pipelining for data transfers
US6374323B1 (en) 1998-11-16 2002-04-16 Infineon Technologies Ag Computer memory conflict avoidance using page registers
JP2000172553A (ja) 1998-12-11 2000-06-23 Hitachi Ltd データ処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100451789B1 (ko) * 2001-10-16 2004-10-08 엘지전자 주식회사 자원 공유를 위한 프로세서 중재장치 및 중재방법
KR100726101B1 (ko) * 2005-04-29 2007-06-12 (주)씨앤에스 테크놀로지 메모리 제어 시스템

Also Published As

Publication number Publication date
US20020019900A1 (en) 2002-02-14
KR100644596B1 (ko) 2006-11-10
JP3664664B2 (ja) 2005-06-29
GB2365596B (en) 2003-02-12
GB2365596A (en) 2002-02-20
CN1335563A (zh) 2002-02-13
US6721836B2 (en) 2004-04-13
JP2002055947A (ja) 2002-02-20
GB0104575D0 (en) 2001-04-11
CN1159657C (zh) 2004-07-28

Similar Documents

Publication Publication Date Title
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
US7096292B2 (en) On-chip inter-subsystem communication
JP3832833B2 (ja) 情報処理方法および装置
US7668997B2 (en) High speed bus system that incorporates uni-directional point-to-point buses
US5764929A (en) Method and apparatus for improving bus bandwidth by reducing redundant access attempts
JP3807250B2 (ja) クラスタシステム、コンピュータ及びプログラム
US7689732B2 (en) Method for improving flexibility of arbitration of direct memory access (DMA) engines requesting access to shared DMA channels
US7225281B2 (en) Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
US5202973A (en) Method of controlling a shared memory bus in a multiprocessor system for preventing bus collisions and for ensuring a full bus
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US6748505B1 (en) Efficient system bus architecture for memory and register transfers
KR20050043303A (ko) 다중 프로세서 환경에서의 dma를 이용한 고속 데이터전송 방법 및 그 장치
US7062588B2 (en) Data processing device accessing a memory in response to a request made by an external bus master
US6826644B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
US7130946B2 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
JP2007172112A (ja) メモリコントローラ
JPS621057A (ja) 転送制御装置
JP2007122410A (ja) バス調停回路及びバス調停方法
JPH0719242B2 (ja) 割り込みを行う装置
JP2734246B2 (ja) パイプラインバス
JP4928683B2 (ja) データ処理装置
US7107374B1 (en) Method for bus mastering for devices resident in configurable system logic
JP2008165463A (ja) バス制御装置
JPH0844661A (ja) 情報処理装置
US7117281B1 (en) Circuit, system, and method for data transfer control for enhancing data bus utilization

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee