KR20020012032A - 버스 시스템 및 그 커맨드 전달방법 - Google Patents

버스 시스템 및 그 커맨드 전달방법 Download PDF

Info

Publication number
KR20020012032A
KR20020012032A KR1020000045452A KR20000045452A KR20020012032A KR 20020012032 A KR20020012032 A KR 20020012032A KR 1020000045452 A KR1020000045452 A KR 1020000045452A KR 20000045452 A KR20000045452 A KR 20000045452A KR 20020012032 A KR20020012032 A KR 20020012032A
Authority
KR
South Korea
Prior art keywords
command
slave
time
slave device
pseudo
Prior art date
Application number
KR1020000045452A
Other languages
English (en)
Other versions
KR100644597B1 (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 KR1020000045452A priority Critical patent/KR100644597B1/ko
Priority to CNB011037822A priority patent/CN1205559C/zh
Priority to GB0104032A priority patent/GB2365590B/en
Priority to US09/801,048 priority patent/US6845418B2/en
Priority to JP2001093679A priority patent/JP4112813B2/ja
Publication of KR20020012032A publication Critical patent/KR20020012032A/ko
Application granted granted Critical
Publication of KR100644597B1 publication Critical patent/KR100644597B1/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/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

Abstract

본 발명은, 버스 시스템 및 그 커맨드 전달방법에 관한 것이다.
본 발명에 따른 커맨드 전달방법은, 마스터 디바이스와, 적어도 두 개의 슬래이브 디바이스를 구비한 버스 시스템의 커맨드 전달방법에 있어서, (a) 제1 슬래이브 디바이스로 상기 마스터 디바이스로부터의 제1 커맨드를 전달하는 단계; 및 (b) 상기 제1 슬래이브 디바이스의 상기 제1 커맨드에 따른 데이터전송이 완료되는 시점으로부터, 제2 슬래이브 디바이스의 래이턴시 타임(latency time)이하 만큼 소급된 시점에서 상기 제2 슬래이브 디바이스로 제2 커맨드를 전달하는 단계를 포함하는 것을 특징으로 한다. 이에 의하여, 본 발명에 따르면, 슬래이브 디바이스의 래이턴시 타임을 동일하게 만들어 줌으로써, 래이턴시 타임의 차이로 인해 야기되는 데이터버스의 아이들클럭을 감소시킬 수 있고, 데이터버스에서의 데이터의 충돌을 방지할 수 있게 된다.

Description

버스 시스템 및 그 커맨드 전달방법{Bus system and command delivering method thereof}
본 발명은, 버스 시스템 및 그 커맨드 전달방법에 관한 것으로, 보다 상세하게는, 래이턴시 타임(latency time)을 갖는 슬래이브 디바이스에 커맨드를 전달함에 있어서 상기 래이턴시 타임 이하의 시간만큼 소급된 시점에서 전달하거나, 탑재된 모든 슬래이브 디바이스의 래이턴시 타임이 같아지도록 소정 시간 지연시켜 전달함으로써 데이터버스의 효율을 높이기 위한 버스 시스템 및 그 커맨드 전달방법에 관한 것이다.
복수의 마스터 디바이스와 슬래이브 디바이스를 포함한 버스 시스템은 버스의 공유를 위해 일반적으로 중재기를 채용한다. 중재기는 소정 중재알고리즘에 따라 마스터 디바이스에게 버스의 소유권을 허여하고, 버스의 소유권을 넘겨받은 마스터 디바이스는 데이터 전송이 완료될 때까지 버스의 사용권을 독점하게 된다. 여기서, 버스는 어드레스 및 제어정보를 전송하기 위한 어드레스/제어버스와 데이터를 전송하기 위한 데이터버스를 포함한다.
슬래이브 디바이스가 메모리인 경우, 슬래이브 디바이스는 데이터를 저장하기 위한 메모리 디바이스와 상기 메모리 디바이스를 제어하기 위한 슬래이브 제어기로서 메모리 제어기를 포함하며, 마스터 디바이스에서 메모리 제어기로 커맨드를 출력하면, 메모리 제어기는 메모리 디바이스에 억세스하기 위한 준비과정을 거쳐, 메모리 디바이스로 대응 제어신호를 출력한다.
도 6은 슬래이브 디바이스의 하나인 메모리로의 종래 커맨드가 전달되는 과정을 설명하기 위한 타임 블록도이다.
도 6을 참조하면, 마스터 실행 사이클, 메모리 제어기 실행 사이클, 및 메모리 디바이스 실행 사이클이 표시되어 있다. 마스터 실행 사이클은, 마스터 디바이스가 메모리 제어기로 커맨드를 출력하는 시점부터 메모리 제어기로부터 커맨드의 실행완료-데이터 전송완료-를 통지받는 시점까지를 의미한다. 메모리 제어기 실행 사이클은 마스터 디바이스로부터 출력된 커맨드를 수신하고 메모리 제어기의 래이턴시 타임 동안 소정 준비과정을 거친 다음 메모리 디바이스로 제어신호를 출력하는 시점부터 데이터 전송이 완료되는 시점까지를 의미한다. 메모리 디바이스 실행 사이클은 메모리 디바이스의 래이턴시 타임 동안 소정 준비과정을 거친 다음 데이터의 전송이 시작되는 시점부터 데이터의 전송이 완료되는 시점까지를 가리킨다.
도 6을 참조하여, 최근 버스 시스템에 채용되고 있는 SDRAM과 같은 메모리에 대한 커맨드의 전달과정을 보다 구체적으로 설명하면 다음과 같다. 마스터 디바이스로부터 메모리 제어기인 SDRAM 제어기로 어드레스, 리드/라이트 플래그, 버스트 길이(burst length) 등 데이터 전송에 필요한 정보를 포함한 커맨드가 입력되면, SDRAM 제어기는 상기 커맨드로부터 데이터전송을 위해 필요한 정보를 추출하고 해당 제어신호를 SDRAM으로 출력한다. SDRAM 제어기로부터의 제어신호를 입력받은 SDRAM은 어드레스 디코딩 등 일련의 준비과정을 거쳐 소정 메모리뱅크의 메모리셀에 억세스하고, 이에 따라 데이터버스를 통해 데이터가 출력되거나 입력되는 데이터전송이 이루어지게 된다. 이처럼 SDRAM에 억세스하기 위해서는, SDRAM 제어기에서의 준비과정이 반드시 필요하다. SDRAM 제어기에 의한 준비과정이 진행되는 동안은, 실제 데이터의 전송이 지연된다는 의미에서 래이턴시 타임(latency time)이라고 한다. 도 6을 참조하면, 래이턴시 타임은 마스터 디바이스로부터 커맨드가 출력된 시점에서부터 슬래이브 제어기로부터 제어신호가 출력되는 시점까지를 「슬래이브 제어기 래이턴시」로, 슬래이브 제어기로부터 제어신호가 출력되는 시점에서부터 메모리 디바이스로부터 데이터가 출력되는 시점까지를 「메모리 디바이스 래이턴시」로 세분화되어 표시되어 있다.
한편, 데이터의 전송이 완료되면 SDRAM 제어기는 마스터 디바이스로 상기 커맨드의 실행완료를 통지한다. 마스터 디바이스는 SDRAM 제어기로부터 실행완료를 통지받은 후에 새로운 커맨드를 출력한다. 새로운 커맨드에 따른 데이터의 전송은 전술한 바와 같은 준비과정을 위한 래이턴시 타임이 경과한 후에 이루어지게 된다.
결국, SDRAM과 같이 래이턴시 타임을 갖는 슬래이브 디바이스의 경우, 도 6에 도시된 바와 같이, 마스터 디바이스로부터 커맨드가 출력되어 실제로 데이터버스에서 데이터전송이 시작되기 전까지 데이터버스의 유휴사이클(아이들 클럭)이 생기게 되는 바, 이는 데이터버스의 사용효율 및 시스템 성능을 저하시키는 한 원인이 되고 있다.
따라서, 본 발명의 목적은, 데이터버스의 아이들 클럭을 감소시켜 시스템 전체의 성능을 향상시킬 수 있는 버스 시스템 및 그 커맨드 전달방법을 제공하는 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 버스 시스템의 개략도,
도 2는 마스터 디바이스(11,12)와 슬래이브 디바이스(21)인 메모리와의 커맨드 전달순서를 설명하기 위한 블록도,
도 3은 마스터 디바이스(11,12)와 슬래이브 디바이스(22)인 연산기와의 커맨드 전달순서를 설명하기 위한 블록도,
도 4는 본 발명의 바람직한 실시예에 따른 커맨드 전달방법을 설명하기 위한 플로우챠트,
도 5는 도 4의 커맨드 전달방법을 나타낸 타임 블록도,
도 6은 종래 슬래이브 디바이스로의 커맨드가 전달되는 과정을 설명하기 위한 타임 블록도이다.
< 도면의 주요 부분에 대한 부호의 설명 >
3: 의사 지연기 11,12: 마스터 디바이스
21,22,23: 슬래이브 디바이스 31: 저장부
211; 메모리 제어기 212: 메모리 디바이스
221: 연산 제어기 222: 연산 디바이스
상기 목적은, 본 발명에 따라, 마스터 디바이스와, 적어도 두 개의 슬래이브 디바이스를 구비한 버스 시스템의 커맨드 전달방법에 있어서, (a) 제1 슬래이브 디바이스로 상기 마스터 디바이스로부터의 제1 커맨드를 전달하는 단계; 및 (b) 상기 제1 커맨드에 따른 데이터전송이 완료되는 시점으로부터, 제2 슬래이브 디바이스의 래이턴시 타임(latency time)이하 만큼 소급된 시점에서 상기 제2 슬래이브 디바이스로 제2 커맨드를 전달하는 단계를 포함하는 것을 특징으로 하는 커맨드 전달방법에 의해 달성된다.
이 때, 상기 (b)단계 이전에, (b1) 상기 제1 슬래이브 디바이스가 상기 데이터전송이 완료되는 시점으로부터 상기 래이턴시 타임 이하 만큼 소급된 시점에서 상기 대응 마스터 디바이스로 데이터전송이 완료되었음을 알리는 의사(pseudo) 실행완료를 통지하는 단계; (b2) 의사 실행완료를 통지받은 상기 대응 마스터 디바이스로부터 상기 제2 슬래이브 디바이스에 대한 상기 제2 커맨드를 수신하는 단계를 더 포함하는 것이 바람직하다.
상기 슬래이브 디바이스는, 메모리 디바이스와, 상기 메모리 디바이스를 제어하는 슬래이브 제어기를 구비하며, 상기 (a)단계는, (a1) 제1 슬래이브 제어기로 상기 제1 커맨드를 전달하는 단계를 포함하고, 상기 (b)단계는, (b') 상기 제1 커맨드에 따라 제1 메모리 디바이스의 데이터전송이 완료되는 시점으로부터 상기 래이턴시 타임 이하 만큼 소급된 시점에서 상기 제2 슬래이브 디바이스로 상기 제2 커맨드를 전달하는 단계를 포함하는 것이 바람직하다.
상기 (b')단계 이전에, (b'1) 상기 제1 슬래이브 제어기가 상기 데이터전송이 완료되는 시점으로부터 상기 래이턴시 타임 이하 만큼 소급된 시점에서 상기 대응 마스터 디바이스로 데이터전송이 완료되었음을 알리는 의사(pseudo) 실행완료를 통지하는 단계; (b'2) 의사 실행완료를 통지받은 상기 대응 마스터 디바이스로부터 상기 제2 슬래이브 디바이스에 대한 상기 제2 커맨드를 수신하는 단계를 더 포함하는 것이 바람직하다.
그리고, 상기 메모리 디바이스는, SDRAM(Synchronous Dynamic RAM)이며, 상기 슬래이브 제어기는, SDRAM 컨트롤러인 것이 바람직하다.
또한, 상기 목적은, 마스터 디바이스와, 적어도 두 개의 슬래이브 디바이스를 구비하고, 상기 슬래이브 디바이스 중 적어도 하나는 래이턴시 타임(latency time)을 갖는 버스 시스템의 커맨드 전달방법에 있어서, (e) 상기 래이턴시 타임 중 가장 긴 래이턴시 타임과, 상기 각 슬래이브 디바이스의 래이턴시 타임과의 차이값을 마련하는 단계; (f) 상기 마스터 디바이스로부터의 제1 슬래이브 디바이스에 대한 제1 커맨드를 전달받는 단계; 및 (g) 상기 제1 슬래이브 디바이스에 대한 대응 차이값에 해당되는 시간이 경과된 후 상기 제1 커맨드를 상기 제1 슬래이브 디바이스로 전달하는 단계를 포함하는 것을 특징으로 하는 커맨드 전달방법에 의해서도 달성된다.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은, 마스터 디바이스와, 적어도 두 개의 슬래이브 디바이스를 구비하고, 상기 슬래이브 디바이스 중 적어도 하나는 래이턴시 타임(latency time)을 갖는 버스 시스템에 있어서, 상기 마스터디바이스로부터의 제1 커맨드를 제1 슬래이브 디바이스로 전달하고, 상기 제1 슬래이브 디바이스의 상기 제1 커맨드에 따른 데이터전송이 완료되는 시점으로부터, 상기 제2 슬래이브 디바이스의 래이턴시 타임 이하 만큼 소급된 시점에서 제2 슬래이브 디바이스로 제2 커맨드를 전달하기 위한 의사 지연기를 포함하는 것을 특징으로 하는 버스 시스템에 의해서도 달성된다.
여기서, 상기 제1 슬래이브 디바이스는, 상기 제1 커맨드에 따른 데이터전송이 완료되는 시점으로부터 상기 제2 슬래이브 디바이스의 래이턴시 타임 이하 만큼 소급된 시점에서 상기 대응 마스터 디바이스로 의사(pseudo) 실행완료를 통지하고, 상기 대응 마스터 디바이스는, 상기 의사 실행완료가 수신되면 상기 제2 슬래이브 디바이스로 상기 제2 커맨드를 상기 의사 지연기로 전달하는 것을 특징으로 하는 버스 시스템에 의해서도 달성된다.
상기 슬래이브 디바이스는, 상기 래이턴시 타임을 갖는 메모리 디바이스와, 상기 메모리 디바이스를 제어하는 슬래이브 제어기를 구비하며, 상기 의사 지연기는, 상기 제1 슬래이브 제어기로 상기 제1 커맨드를 전달하고, 상기 제1 커맨드에 따른 데이터전송이 완료되는 시점으로부터 상기 래이턴시 타임 이하 만큼 소급된 시점에서 제2 슬래이브 제어기로 제2 커맨드를 전달하는 것이 바람직하다.
상기 제1 슬래이브 제어기는, 상기 제1 커맨드에 따른 데이터전송이 완료되는 시점으로부터 상기 래이턴시 타임 이하 만큼 소급된 시점에서 상기 대응 마스터 디바이스로 의사(pseudo) 실행완료를 통지하고, 상기 대응 마스터 디바이스는, 상기 의사 실행완료가 수신되면 상기 의사 지연기로 상기 제2 커맨드를 전달하는 것이 바람직하다.
그리고, 상기 메모리 디바이스는, SDRAM(Synchronous Dynamic RAM)이며, 상기 슬래이브 제어기는, SDRAM 컨트롤러인 것이 더욱 바람직하다.
또한, 마스터 디바이스와, 적어도 두 개의 슬래이브 디바이스를 구비하고, 상기 슬래이브 디바이스 중 적어도 하나는 래이턴시 타임(latency time)을 갖는 버스 시스템에 있어서, 상기 래이턴시 타임 중 가장 긴 래이턴시 타임과, 상기 각 슬래이브 디바이스의 래이턴시 타임과의 차(difference) 클럭수인 지연클럭수가 저장된 저장부를 구비하고, 상기 마스터 디바이스로부터의 제1 슬래이브 디바이스에 대한 제1 커맨드를 전달받아, 상기 제1 슬래이브 디바이스에 대응되도록 상기 저장부에 저장된 지연클럭수가 경과된 후 상기 제1 커맨드를 상기 제1 슬래이브 디바이스로 전달하는 의사 지연기를 포함하는 것을 특징으로 하는 버스 시스템에 의해서도 달성된다.
이하 첨부도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 버스 시스템의 개략도이다.
도 1을 참조하면, 버스 시스템은, 적어도 하나의 마스터 디바이스(11,12), 복수의 슬래이브 디바이스(21,22,23), 및 의사 지연기(Pseudo-Delayer)(3)를 포함한다. 한편, 마스터 디바이스(11,12) 및 슬래이브 디바이스(21,22,23)는, 단순화를 위해 도시않은 데이터버스에 의해 연결되어 있다. 데이터버스는 데이터 전송속도가 서로 다른 메인 데이터버스와 로컬 데이터버스를 포함할 수 있다. 또한, 마스터 디바이스(11,12)와 슬래이브 디바이스(21,22,23)의 사이에는 도시않은 중재기가 연결되어 소정 중재알고리즘에 따라 버스 사용을 중재한다.
마스터 디바이스(11,12)는, 일반적으로 프로세서 또는 DMA(Direct Memory Access) 제어기이며, 슬래이브 디바이스(21,22,23)는 일반적으로 RAM, ROM 등의 메모리, 입출력 디바이스, 연산기, 또는 기타 주변장치를 가리킨다. 다만, 슬래이브 디바이스(21,22,23) 중 적어도 하나는 래이턴시 타임(latency time)을 갖는 디바이스인 바, 설명의 편의를 위해 슬래이브 디바이스(21)는 래이턴시 타임을 갖는 메모리이고, 슬래이브 디바이스(22)는 래이턴시 타임을 갖는 연산기로 전제한다. 여기서, 슬래이브 디바이스(21,22) 래이턴시 타임은 서로 같거나 다를 수 있다. 한편, 마스터 디바이스 및 슬래이브 디바이스의 수는 시스템에 따라 다양하게 변경가능하다.
의사 지연기(3)는, 본 발명의 바람직한 실시예에 따라 마련된 것으로, 소정 마스터 디바이스(11,12)로부터의 커맨드를 입력받아 소정 수의 클럭이 경과된 후에 대응 슬래이브 디바이스(21,22,23)로 상기 커맨드를 전달한다.
한편, 슬래이브 디바이스(21,22,23)는 상기 커맨드에 따른 데이터 전송의 완료시점으로부터 소정 래이턴시 타임에 해당되는 클럭만큼 소급된 시점에 상기 커맨드를 입력받은 마스터 디바이스(11,12)로 데이터 전송이 완료되었음을 통지하는 의사(pseudo) 실행완료신호를 전송한다. 데이터 전송의 완료시점은 커맨드에 포함된 버스트 길이로부터 알 수 있다. 여기서, 버스트 길이는 버스트 전송되는 데이터의 길이를 의미한다.
도 2는 마스터 디바이스(11,12)와 슬래이브 디바이스(21)인 메모리와의 커맨드 전달순서를 설명하기 위한 블록도이다. 다만, 단순화를 위해 마스터 디바이스(11)만을 도시하였다.
도 2를 참조하면, 슬래이브 디바이스(21)는 데이터가 저장되는 메모리 디바이스(212)와, 메모리 디바이스(212)를 제어하기 위한 슬래이브 제어기로서 연산기 제어기(211)를 구비한다. 의사 지연기(3)는 슬래이브 디바이스(21,22,23)에 대응되도록 지연클럭수가 저장되어 있는 저장부(31)를 구비한다. 지연클럭수가 결정되는 방식은 후술한다. 한편, 저장부(31)는 리지스터로 구현될 수 있다.
의사 지연기(3)는, 마스터 디바이스(11)로부터 슬래이브 디바이스(21)에 대한 커맨드를 입력받고, 저장부(31)에 저장된 대응 지연클럭수를 참조하여 참조된 지연클럭수가 경과된 이후에 슬래이브 제어기(211)로 상기 커맨드를 전달한다.
도 3은 마스터 디바이스(11,12)와 슬래이브 디바이스(22)인 연산기와의 커맨드 전달순서를 설명하기 위한 블록도이다. 다만, 단순화를 위해 마스터 디바이스(11)만을 도시하였다.
도 3을 참조하면, 슬래이브 디바이스(22)는 연산을 수행하는 연산 디바이스(222)와, 연산 디바이스(222)를 제어하기 위한 슬래이브 제어기로서 연산 제어기(211)를 구비한다. 도 2에서와 마찬가지로, 의사 지연기(3)는, 마스터 디바이스(11)로부터 슬래이브 디바이스(22)에 대한 커맨드를 입력받고, 저장부(31)에 저장된 대응 지연클럭수를 참조하여 참조된 지연클럭수가 경과된 이후에 슬래이브 제어기(221)로 상기 커맨드를 전달한다.
지연클럭수는, 슬래이브 디바이스(21,22,23)의 래이턴시 타임으로부터 결정된다. 예를 들어, 버스 시스템의 총 슬래이브 디바이스의 수가 3이고, 래이턴시 타임이 각각 5클럭, 6클럭, 4클럭이라면, 지연클럭수는 순서대로 1클럭, 0클럭, 2클럭이 된다. 즉, 지연클럭수는 가장 긴 래이턴시 타임과의 차(Difference) 클럭수가 된다. 이처럼, 의사 지연기(3)는 모든 슬래이브 디바이스(21,22,23)의 래이턴시 타임을 6 클럭으로 동일하게 만들어 주는 역할을 하게 된다.
한편, 버스트 길이가 4 라면, 데이터 4 개가 연속적으로 전송됨을 알 수 있으므로, 슬래이브 디바이스(21,22,23)는 데이터 전송의 완료시점으로부터 전술한 래이턴시 타임 6 클럭만큼 소급된 시점에서 대응 마스터 디바이스(11,12)로 의사(pseudo) 실행완료를 통지한다.
상기와 같은 구성에 따라 본 발명의 바람직한 실시예에 따른 커맨드 전달방법을 개략적으로 설명하면 다음과 같다.
도 4는 커맨드 전달방법을 설명하기 위한 플로우챠트이다.
도 4를 참조하면, 의사 지연기(3)는 마스터 디바이스(11,12)로부터 소정 슬래이브 디바이스(21,22, 또는 23)에 대한 커맨드를 수신한다(401단계).
다음으로, 수신된 커맨드에 대한 슬래이브 디바이스(21,22,23)에 대응되는 지연클럭수를 저장부(31)로부터 참조한다(402단계).
참조한 지연클럭수가 경과된 후, 의사 지연기(3)는 상기 커맨드를 대응 슬래이브 디바이스(21,22, 또는 23)로 전달한다(403단계).
마지막으로, 커맨드를 수신한 상기 슬래이브 디바이스(21,22, 또는 23)는 상기 커맨드에 포함된 버스트 길이로부터 데이터전송의 완료시점을 알아내고, 완료시점으로부터 래이턴시 타임에 해당되는 클럭만큼 소급된 시점에서 대응 마스터 디바이스(11,12)로 데이터 전송의 의사 실행완료를 통지한다(404단계).
도 5는 도 4의 커맨드 전달방법을 나타낸 타임 블록도이다.
도 5를 참조하면, 먼저 슬래이브 디바이스(21)로 커맨드가 전달되고, 다음으로 슬래이브 디바이스(22)로 커맨드가 전달됨을 알 수 있다. 의사 지연기(3)는 슬래이브 디바이스(21)의 데이터전송이 완료되는 시점으로부터 래이턴시 타임(연산 제어기 래이턴시+연산 디바이스 래이턴시)만큼 소급하여 커맨드의 의사 실행완료를 통지한다. 또한, 의사 지연기(3)는 커맨드를 메모리 제어기(211) 또는 연산 제어기(221)로 전달함에 있어 래이턴시 타임이 같아지도록 필요한 지연클럭수 만큼 지연전달한다. 이에, "마스터 실행 사이클1"과 "데이터 전송1"을 잇는 직선의 기울기(a)와 "마스터 실행 사이클2"와 "데이터 전송2"를 잇는 직선의 기울기(b)는 동일하게 된다.
즉, 본 발명에 따르면, 슬래이브 디바이스(21)의 데이터전송(데이터 전송1)과 슬래이브 디바이스(22)의 데이터전송(데이터전송2)가 데이터버스의 아이들클럭없이 연속적으로 수행됨을 확인할 수 있다.
한편, 전술한 실시예에서는 서로 다른 래이턴시 타임을 갖는 두 개의 슬래이브 디바이스에 대해 설명하였으나, 슬래이브 디바이스의 수가 다른 경우에도 마찬가지 방법이 적용가능함은 물론이다. 즉, 3개 이상의 래이턴시 타임 중 가장 큰 래이턴시 타임을 갖도록 커맨드를 지연시켜 전달하는 방법에 따른다. 래이턴시타임을 통일시킴으로써 마스터 디바이스의 커맨드 출력시점과 데이터버스에서의 데이터전송시점을 잇는 직선의 기울기를 같게 만들 수 있고, 이에 따라 데이터버스의 아이들 클럭없이 연속적인 데이터전송이 가능해지므로 전체적인 시스템 효율이 향상될 수 있다.
한편, 전술한 실시예에서와 달리, 의사 지연기는 슬래이브 디바이스(21,22, 23)마다 각각 구비될 수 있다. 이같은 경우라 하더라도, 의사 지연기는 전술한 실시예에서와 마찬가지로 마스터 디바이스(11,12)로부터 커맨드를 수신하여 지연클럭수 만큼 지연출력시키고, 데이터 전송의 완료시점으로부터 소정 클럭수만큼 소급된 시점에서 데이터 전송의 완료를 통지하는 동일한 기능을 수행하나, 대응 슬래이브 디바이스(21,22,23)의 지연클럭수만을 저장하고 참조하면 족하게 된다.
이상 설명한 바와 같이, 본 발명에 따르면, 슬래이브 디바이스의 래이턴시 타임을 동일하게 만들어 줌으로써, 래이턴시 타임의 차이로 인해 야기되는 데이터버스의 아이들클럭을 감소시킬 수 있고, 데이터버스에서의 데이터의 충돌을 방지할 수 있게 된다. 특히, 슬래이브 디바이스가 파이프라인 전송을 지원하고 버스트전송이 빈번한 SDRAM과 같은 메모리인 경우 데이터버스의 아이들클럭수가 현저히 감소되어 버스 시스템의 효율이 높아지게 된다.
더불어, 본 발명에 따르면, 파이프라인 전송을 지원하지 않는 메모리의 경우에도 파이프라인 전송에 유사한 데이터전송이 가능해질 수 있다. 다시 말해, 의사(pseudo) 실행완료를 통지함으로써 실제 데이터전송이 완료되지 않은 시점에서다른 슬래이브 디바이스를 실행하는 것이 가능해지기 때문이다.

Claims (12)

  1. 마스터 디바이스와, 적어도 두 개의 슬래이브 디바이스를 구비한 버스 시스템의 커맨드 전달방법에 있어서,
    (a) 제1 슬래이브 디바이스로 대응 마스터 디바이스로부터의 제1 커맨드를 전달하는 단계; 및
    (b) 상기 제1 커맨드에 따른 데이터전송이 완료되는 시점으로부터, 제2 슬래이브 디바이스의 래이턴시 타임(latency time)이하 만큼 소급된 시점에서 상기 제2 슬래이브 디바이스로 제2 커맨드를 전달하는 단계를 포함하는 것을 특징으로 하는 커맨드 전달방법.
  2. 제1항에 있어서,
    상기 (b)단계 이전에,
    (b1) 상기 제1 슬래이브 디바이스가 상기 데이터전송이 완료되는 시점으로부터 상기 래이턴시 타임 이하 만큼 소급된 시점에서 상기 대응 마스터 디바이스로 데이터전송이 완료되었음을 알리는 의사(pseudo) 실행완료를 통지하는 단계;
    (b2) 의사 실행완료를 통지받은 상기 대응 마스터 디바이스로부터 상기 제2 슬래이브 디바이스에 대한 상기 제2 커맨드를 수신하는 단계를 더 포함하는 것을 특징으로 하는 커맨드 전달방법.
  3. 제1항에 있어서,
    상기 슬래이브 디바이스는, 메모리 디바이스와, 상기 메모리 디바이스를 제어하는 슬래이브 제어기를 구비하며,
    상기 (a)단계는,
    (a1) 제1 슬래이브 제어기로 상기 제1 커맨드를 전달하는 단계를 포함하고,
    상기 (b)단계는,
    (b') 상기 제1 커맨드에 따라 제1 메모리 디바이스의 데이터전송이 완료되는 시점으로부터 상기 래이턴시 타임 이하 만큼 소급된 시점에서 상기 제2 슬래이브 디바이스로 상기 제2 커맨드를 전달하는 단계를 포함하는 것을 특징으로 하는 커맨드 전달방법.
  4. 제3항에 있어서,
    상기 (b')단계 이전에,
    (b'1) 상기 제1 슬래이브 제어기가 상기 데이터전송이 완료되는 시점으로부터 상기 래이턴시 타임 이하 만큼 소급된 시점에서 상기 대응 마스터 디바이스로 데이터전송이 완료되었음을 알리는 의사(pseudo) 실행완료를 통지하는 단계;
    (b'2) 의사 실행완료를 통지받은 상기 대응 마스터 디바이스로부터 상기 제2 슬래이브 디바이스에 대한 상기 제2 커맨드를 수신하는 단계를 더 포함하는 것을 특징으로 하는 커맨드 전달방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 메모리 디바이스는, SDRAM(Synchronous Dynamic RAM)이고,
    상기 슬래이브 제어기는, SDRAM 컨트롤러인 것을 특징으로 하는 커맨드 전달방법.
  6. 마스터 디바이스와, 적어도 두 개의 슬래이브 디바이스를 구비하고, 상기 슬래이브 디바이스 중 적어도 하나는 래이턴시 타임(latency time)을 갖는 버스 시스템의 커맨드 전달방법에 있어서,
    (e) 상기 래이턴시 타임 중 가장 긴 래이턴시 타임과, 상기 각 슬래이브 디바이스의 래이턴시 타임과의 차이값을 마련하는 단계;
    (f) 상기 마스터 디바이스로부터의 제1 슬래이브 디바이스에 대한 제1 커맨드를 전달받는 단계; 및
    (g) 상기 제1 슬래이브 디바이스에 대한 대응 차이값에 해당되는 시간이 경과된 후 상기 제1 커맨드를 상기 제1 슬래이브 디바이스로 전달하는 단계를 포함하는 것을 특징으로 하는 커맨드 전달방법.
  7. 마스터 디바이스와, 적어도 두 개의 슬래이브 디바이스를 구비하고, 상기 슬래이브 디바이스 중 적어도 하나는 래이턴시 타임(latency time)을 갖는 버스 시스템에 있어서,
    상기 마스터 디바이스로부터의 제1 커맨드를 제1 슬래이브 디바이스로 전달하고, 상기 제1 슬래이브 디바이스의 상기 제1 커맨드에 따른 데이터전송이 완료되는 시점으로부터, 상기 제2 슬래이브 디바이스의 래이턴시 타임 이하 만큼 소급된 시점에서 제2 슬래이브 디바이스로 제2 커맨드를 전달하기 위한 의사 지연기를 포함하는 것을 특징으로 하는 버스 시스템.
  8. 제7항에 있어서,
    상기 제1 슬래이브 디바이스는, 상기 제1 커맨드에 따른 데이터전송이 완료되는 시점으로부터 상기 제2 슬래이브 디바이스의 래이턴시 타임 이하 만큼 소급된 시점에서 상기 대응 마스터 디바이스로 의사(pseudo) 실행완료를 통지하고,
    상기 대응 마스터 디바이스는, 상기 의사 실행완료가 수신되면 상기 제2 슬래이브 디바이스로 상기 제2 커맨드를 상기 의사 지연기로 전달하는 것을 특징으로 하는 버스 시스템.
  9. 제7항에 있어서,
    상기 슬래이브 디바이스는, 상기 래이턴시 타임을 갖는 메모리 디바이스와, 상기 메모리 디바이스를 제어하는 슬래이브 제어기를 구비하며,
    상기 의사 지연기는,
    상기 제1 슬래이브 제어기로 상기 제1 커맨드를 전달하고, 상기 제1 커맨드에 따른 데이터전송이 완료되는 시점으로부터 상기 래이턴시 타임 이하 만큼 소급된 시점에서 제2 슬래이브 제어기로 제2 커맨드를 전달하는 것을 특징으로 하는 버스 시스템.
  10. 제9항에 있어서,
    상기 제1 슬래이브 제어기는, 상기 제1 커맨드에 따른 데이터전송이 완료되는 시점으로부터 상기 래이턴시 타임 이하 만큼 소급된 시점에서 상기 대응 마스터 디바이스로 의사(pseudo) 실행완료를 통지하고,
    상기 대응 마스터 디바이스는, 상기 의사 실행완료가 수신되면 상기 의사 지연기로 상기 제2 커맨드를 전달하는 것을 특징으로 하는 버스 시스템.
  11. 제7항 내지 제10항 중 어느 한 항에 있어서,
    상기 메모리 디바이스는, SDRAM(Synchronous Dynamic RAM)이고,
    상기 슬래이브 제어기는, SDRAM 컨트롤러인 것을 특징으로 하는 버스 시스템.
  12. 마스터 디바이스와, 적어도 두 개의 슬래이브 디바이스를 구비하고, 상기 슬래이브 디바이스 중 적어도 하나는 래이턴시 타임(latency time)을 갖는 버스 시스템에 있어서,
    상기 래이턴시 타임 중 가장 긴 래이턴시 타임과, 상기 각 슬래이브 디바이스의 래이턴시 타임과의 차(difference) 클럭수인 지연클럭수가 저장된 저장부를구비하고, 상기 마스터 디바이스로부터의 제1 슬래이브 디바이스에 대한 제1 커맨드를 전달받아, 상기 제1 슬래이브 디바이스에 대응되도록 상기 저장부에 저장된 지연클럭수가 경과된 후 상기 제1 커맨드를 상기 제1 슬래이브 디바이스로 전달하는 의사 지연기를 포함하는 것을 특징으로 하는 버스 시스템.
KR1020000045452A 2000-08-05 2000-08-05 버스 시스템 및 그 커맨드 전달방법 KR100644597B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020000045452A KR100644597B1 (ko) 2000-08-05 2000-08-05 버스 시스템 및 그 커맨드 전달방법
CNB011037822A CN1205559C (zh) 2000-08-05 2001-02-14 总线系统中的指令传输方法
GB0104032A GB2365590B (en) 2000-08-05 2001-02-19 Data processing system including a bus
US09/801,048 US6845418B2 (en) 2000-08-05 2001-03-08 Bus system for master-slave device accesses, has multiple pseudo-delayer connected to controllers which delay and output access commands to slave devices for having longer latency periods
JP2001093679A JP4112813B2 (ja) 2000-08-05 2001-03-28 バスシステム及びそのコマンドの伝達方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000045452A KR100644597B1 (ko) 2000-08-05 2000-08-05 버스 시스템 및 그 커맨드 전달방법

Publications (2)

Publication Number Publication Date
KR20020012032A true KR20020012032A (ko) 2002-02-15
KR100644597B1 KR100644597B1 (ko) 2006-11-10

Family

ID=19681895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000045452A KR100644597B1 (ko) 2000-08-05 2000-08-05 버스 시스템 및 그 커맨드 전달방법

Country Status (5)

Country Link
US (1) US6845418B2 (ko)
JP (1) JP4112813B2 (ko)
KR (1) KR100644597B1 (ko)
CN (1) CN1205559C (ko)
GB (1) GB2365590B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100694095B1 (ko) * 2005-03-05 2007-03-12 삼성전자주식회사 버스 연결 방법 및 장치

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100444595C (zh) * 2004-12-24 2008-12-17 北京中星微电子有限公司 一种主从设备通信方法
TWI492576B (zh) * 2013-03-11 2015-07-11 Realtek Semiconductor Corp 主從偵測方法以及主從偵測電路
CN104850516B (zh) * 2015-05-25 2017-09-26 福州瑞芯微电子股份有限公司 一种ddr变频设计方法和装置
JP2021002080A (ja) * 2019-06-19 2021-01-07 キヤノン株式会社 バスシステムおよびその制御方法
TWI769080B (zh) * 2021-09-17 2022-06-21 瑞昱半導體股份有限公司 用於同步動態隨機存取記憶體之控制模組及其控制方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3587044A (en) * 1969-07-14 1971-06-22 Ibm Digital communication system
US4253147A (en) * 1979-04-09 1981-02-24 Rockwell International Corporation Memory unit with pipelined cycle of operations
JPH01152554A (ja) 1987-12-09 1989-06-15 Fujitsu Ltd 制御装置
JPH01265349A (ja) 1987-12-23 1989-10-23 Fuji Electric Co Ltd マスタ・スレーブシステムのデータ転送方法
US5440752A (en) * 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
JPH05336091A (ja) * 1992-06-03 1993-12-17 Nec Corp バス通信システム
JPH06119275A (ja) * 1992-10-08 1994-04-28 Ricoh Co Ltd リカバリータイム自動挿入回路
JPH06231074A (ja) * 1993-01-29 1994-08-19 Nec Corp システムバスの多重アクセス方式
JPH06282525A (ja) * 1993-03-29 1994-10-07 Matsushita Electric Ind Co Ltd 同期型バス装置
IL110181A (en) * 1994-06-30 1998-02-08 Softchip Israel Ltd Install microprocessor and peripherals
EP0690382B1 (en) * 1994-07-01 2003-01-02 Sun Microsystems, Inc. Computer system with a multiplexed address bus and pipelined write operations
US5564027A (en) * 1995-04-20 1996-10-08 International Business Machines Corporation Low latency cadence selectable interface for data transfers between busses of differing frequencies
US5768529A (en) * 1995-05-05 1998-06-16 Silicon Graphics, Inc. System and method for the synchronous transmission of data in a communication network utilizing a source clock signal to latch serial data into first registers and a handshake signal to latch parallel data into second registers
US5630096A (en) * 1995-05-10 1997-05-13 Microunity Systems Engineering, Inc. Controller for a synchronous DRAM that maximizes throughput by allowing memory requests and commands to be issued out of order
JPH09185580A (ja) * 1995-12-28 1997-07-15 Hitachi Ltd バスシステム
US5682353A (en) * 1996-06-13 1997-10-28 Waferscale Integration Inc. Self adjusting sense amplifier clock delay circuit
JPH1097496A (ja) * 1996-09-20 1998-04-14 Sanyo Electric Co Ltd バス制御方法およびその方法を用いた装置
US6088774A (en) * 1996-09-20 2000-07-11 Advanced Memory International, Inc. Read/write timing for maximum utilization of bidirectional read/write bus
US5925118A (en) * 1996-10-11 1999-07-20 International Business Machines Corporation Methods and architectures for overlapped read and write operations
US5784582A (en) * 1996-10-28 1998-07-21 3Com Corporation Data processing system having memory controller for supplying current request and next request for access to the shared memory pipeline
US5974514A (en) * 1996-11-12 1999-10-26 Hewlett-Packard Controlling SDRAM memory by using truncated burst read-modify-write memory operations
US5915104A (en) * 1997-01-09 1999-06-22 Silicon Graphics, Inc. High bandwidth PCI to packet switched router bridge having minimized memory latency
US5917772A (en) * 1997-09-16 1999-06-29 Micron Technology, Inc. Data input circuit for eliminating idle cycles in a memory device
US6178477B1 (en) * 1997-10-09 2001-01-23 Vlsi Technology, Inc. Method and system for pseudo delayed transactions through a bridge to guarantee access to a shared resource
US6081860A (en) * 1997-11-20 2000-06-27 International Business Machines Corporation Address pipelining for data transfers
JP3570877B2 (ja) 1998-01-05 2004-09-29 エヌイーシーコンピュータテクノ株式会社 情報処理装置
JP2000137983A (ja) * 1998-08-26 2000-05-16 Toshiba Corp 半導体記憶装置
US6289406B1 (en) * 1998-11-06 2001-09-11 Vlsi Technology, Inc. Optimizing the performance of asynchronous bus bridges with dynamic transactions
US6219747B1 (en) * 1999-01-06 2001-04-17 Dvdo Inc Methods and apparatus for variable length SDRAM transfers
US6513089B1 (en) * 2000-05-18 2003-01-28 International Business Machines Corporation Dual burst latency timers for overlapped read and write data transfers
US6772254B2 (en) * 2000-06-21 2004-08-03 International Business Machines Corporation Multi-master computer system with overlapped read and write operations and scalable address pipelining
KR100716950B1 (ko) * 2000-08-11 2007-05-10 삼성전자주식회사 버스 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100694095B1 (ko) * 2005-03-05 2007-03-12 삼성전자주식회사 버스 연결 방법 및 장치

Also Published As

Publication number Publication date
GB0104032D0 (en) 2001-04-04
GB2365590A (en) 2002-02-20
CN1337629A (zh) 2002-02-27
CN1205559C (zh) 2005-06-08
JP2002055940A (ja) 2002-02-20
KR100644597B1 (ko) 2006-11-10
JP4112813B2 (ja) 2008-07-02
US6845418B2 (en) 2005-01-18
US20020019895A1 (en) 2002-02-14
GB2365590B (en) 2002-10-16

Similar Documents

Publication Publication Date Title
US7127563B2 (en) Shared memory architecture
US20070136503A1 (en) Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features
US6282598B1 (en) PCI bus system wherein target latency information are transmitted along with a retry request
KR101056153B1 (ko) 배리어 동작들의 조건부 브로드캐스트를 위한 방법 및 장치
EP2250569B1 (en) Sharing bandwidth of a single port sram between at least one dma peripheral and a cpu operating with a quadrature clock
US20070156937A1 (en) Data transfer in multiprocessor system
KR100644597B1 (ko) 버스 시스템 및 그 커맨드 전달방법
CN102708079B (zh) 应用于微控制器的控制数据传输的方法及系统
US7673091B2 (en) Method to hide or reduce access latency of a slow peripheral in a pipelined direct memory access system
US6862640B2 (en) Arbitration in local system for access to memory in a distant subsystem
WO2005101219A1 (ja) メモリコントローラ及び半導体装置
US8127108B2 (en) Apparatus, system and method for prefetching data in bus system
US20100153610A1 (en) Bus arbiter and bus system
US20010005870A1 (en) External bus control system
JP6535516B2 (ja) マルチ・プログラマブルデバイス・システムとその制御方法
JPH1185673A (ja) 共有バスの制御方法とその装置
JPH0234062B2 (ja) Maruchipurosetsusashisutemuniokerumemoriakusesuseigyohoshiki
US5784580A (en) System and method for communicating between devices
JPH1173403A (ja) クロスバスイッチ制御回路
JP2004206241A (ja) データ転送制御方法及びその回路
JPH04178869A (ja) マルチプロセッサシステムの割込み制御装置とその割込み通信方法
JP2002157213A (ja) ディジタル信号演算装置におけるホスト・ポート・インターフェース・ユニットのための装置および方法
KR970012191A (ko) 멀티프로세서 시스템에 있어서의 버스 프로토콜 제어기와 데이타 전송방법
JPH11102348A (ja) マルチプロセッサシステム
JP2012173847A (ja) バス調停装置およびバス調停方法

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