KR100716950B1 - 버스 시스템 - Google Patents

버스 시스템 Download PDF

Info

Publication number
KR100716950B1
KR100716950B1 KR1020000046658A KR20000046658A KR100716950B1 KR 100716950 B1 KR100716950 B1 KR 100716950B1 KR 1020000046658 A KR1020000046658 A KR 1020000046658A KR 20000046658 A KR20000046658 A KR 20000046658A KR 100716950 B1 KR100716950 B1 KR 100716950B1
Authority
KR
South Korea
Prior art keywords
command
identifier
execution
access
unit
Prior art date
Application number
KR1020000046658A
Other languages
English (en)
Other versions
KR20020013184A (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 KR1020000046658A priority Critical patent/KR100716950B1/ko
Priority to CNB011083026A priority patent/CN1191531C/zh
Priority to GB0104991A priority patent/GB2366883B/en
Priority to JP2001072809A priority patent/JP3898899B2/ja
Priority to US09/817,756 priority patent/US6671761B2/en
Publication of KR20020013184A publication Critical patent/KR20020013184A/ko
Application granted granted Critical
Publication of KR100716950B1 publication Critical patent/KR100716950B1/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/14Handling requests for interconnection or transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)

Abstract

본 발명은, 버스 시스템에 관한 것으로, 복수의 마스터 디바이스와, 복수의 슬래이브 디바이스를 구비하고, 상기 슬래이브 디바이스 중 적어도 하나는 래이턴시 타임(latency time)을 갖는 버스 시스템에 있어서, 마스터 디바이스로부터 출력된 억세스 커맨드를 입력받아 소정 중재알고리즘에 따른 순서대로 출력하기 위한 중재기; 상기 중재기로부터 상기 억세스 커맨드를 입력받아, 대응 슬래이브 디바이스의 실행 준비가 완료된 순서에 따라 상기 억세스 커맨드를 출력하기 위한 실행스케줄러; 상기 슬래이브 디바이스에 대응되도록 각각 마련되어, 상기 실행스케줄러로부터 입력받은 적어도 두 개의 억세스 커맨드를 보관하고, 상기 보관된 억세스 커맨드로부터 실행을 위한 억세스 정보를 추출하여, 추출된 억세스 정보와 현재 실행되고 있는 커맨드의 억세스 정보의 비교결과에 기초하여 상기 보관된 커맨드의 총 실행시간이 입력받은 순서에 따른 총 실행시간에 비해 감소되도록 출력순서를 조정하여 출력하기 위한 커맨드 실행 조정기; 및 상기 슬래이브 디바이스에 각각 대응되도록 마련되어, 대응 슬래이브 디바이스의 래이턴시 타임이 상기 슬래이브 디바이스의 래이턴시 타임 중 가장 긴 래이턴시 타임과 같아지도록 상기 커맨드 실행 조정기로부터 입력받은 억세스 커맨드를 대응 슬래이브 디바이스로 지연출력하는 의사 지연기를 포함하는 것을 특징으로 한다. 이에 의하여, 데이터버스의 아이들클럭이 감소하고 시스템 전체효율이 크게 향상된다.

Description

버스 시스템{Bus system}
도 1은 본 발명의 바람직한 실시예에 따른 버스 시스템의 개략도,
도 2는 도 1의 슬래이브0(20)의 상세블럭도,
도 3은 도 1의 중재기(3)의 블럭도,
도 4는 도 3의 우선권 매퍼(31)의 상세블럭도,
도 5는 실행스케줄러(4), 커맨드 실행 조정기0(50), 및 의사 지연기0(60)의 관계를 설명하기 위한 블록도,
도 6은 도 5의 실행스케줄러(4)의 상세 블록도,
도 7은 도 5의 커맨드 실행 조정기(50)의 상세 블록도,
도 8은 커맨드 저장기4(54)의 블록도,
도 9는 본 발명에 따른 데이터전송을 설명하기 위한 타임 블록도이다.
< 도면의 주요 부분에 대한 부호의 설명 >
10,11,12,13,17: 마스터 디바이스 3: 중재기
4: 실행스케줄러 50,51,52,53,54: 커맨드 실행 조정기
60,61,62,63,64: 의사 지연기 20,21,22,23,24: 슬래이브 디바이스
20a: SDRAM 제어기 20b: SDRAM
31: 우선권 매퍼 32: 중재회로
300: 버스요구 수신부 301: 우선순위 레벨 추출부
302: 우선순위 출력부 303: 식별자 추출부
304: 식별자 출력부 41: 억세스 커맨드 분배부
46: 실행스케줄부 31: 커맨드 보관부
32: 억세스 정보 추출부 33: 실행 억세스 정보 저장부
34: 비교부 35: 출력순서 조정부
611: 저장부 410: 커맨드 저장큐
411: 커맨드 저장큐 제어부 460: 식별자 저장큐
461: 식별자 저장큐 제어부 462: 비교기
본 발명은, 버스 시스템에 관한 것으로, 보다 상세하게는, 억세스 커맨드의 실행순서를 조정하고, 각 슬래이브 디바이스에 전달된 억세스 커맨드의 실행시점 및 실행순서를 조정함으로써 데이터버스의 효율을 향상시킨 버스 시스템에 관한 것이다.
중재기는 버스의 사용 권한을 중재하는 역할을 담당한다. 즉, 종래 버스 시스템에 있어서, 중재기는 복수의 마스터 디바이스로부터 버스사용요구를 수신하여 고유의 중재알고리즘에 따라 버스 중재를 수행하고, 중재결과에 따른 순서대로 마스터 디바이스에게 버스의 소유권을 허여한다. 이에 따라, 버스 소유권을 넘겨받 은 마스터 디바이스는 데이터 전송이 완료될 때까지 버스의 사용권을 독점하면서 슬래이브 디바이스를 직접 제어한다. 여기서, 버스는 어드레스 및 제어정보를 전송하기 위한 어드레스/제어버스와 데이터를 전송하기 위한 데이터버스를 의미한다.
그런데, 최근의 버스 시스템은 슬래이브 디바이스로서 SDRAM, RDRAM(Rambus DRAM)과 같은 고속 메모리를 채용하고 있다. SDRAM과 같은 고속 메모리는 어드레스/제어버스와 데이터버스의 사용시점이 불일치한다. 즉, SDRAM에 어드레스, 리드/라이트 플래그 등 어드레스/제어신호가 입력되면 소정 지연시간(latency time)이 경과된 후에 데이터가 출력되거나 데이터 입력받을 수 있게 된다. 이에 따라, 마스터 디바이스가 어드레스/제어버스 및 데이터버스의 사용권을 독점하는 기간 동안 실제로 어드레스/제어버스 또는 데이터버스의 점유구간은 길지 않다. 결국, 어드레스/제어버스와 데이터버스의 아이들클럭이 많아져서 버스 사용효율이 낮아지며, 이는 버스 시스템 전체의 성능을 저하시키는 한 요인이 되고 있다.
한편, 종래 우선순위 고정방식에 의한 중재기는 설계하기가 간편하나, 버스 시스템의 동작 중에 우선순위를 변경해야 할 필요가 있는 경우에는 채용하기 어렵다. 우선순위 지정방식에 따른 중재는, 각 마스터 디바이스에 대해 우선순위를 동적으로 지정하고 우선 순위가 높은 마스터 디바이스에게 우선적으로 버스사용권을 허여함으로써 필요에 따라 데이터 전송이 빈번한 마스터 디바이스를 지원할 수 있는 잇점이 있다.
그러나, 우선순위 지정방식은, 동일한 사용기회를 보장하는 중재방식 또는 Round Robin방식에 비해, 하드웨어가 크고 복잡해지는 문제점이 있다. 보다 구체 적으로, 마스터 디바이스로부터의 각 입력포트에 대해 1:1비교를 수행하여 가장 높은 우선순위를 갖는 입력포트를 찾는 방식에 의하므로, 예를 들어 3개의 입력포트가 있으면 3개의 비교기가, 4개의 입력포트가 있으면 6개의 비교기가, n개의 입력포트에 대해서는 nC2개의 비교기가 필요하게 된다. 즉, 마스터 디바이스의 개수가 늘어나면 이에 따라 필요한 비교기의 수가 기하급수적으로 증가하게 되고, 그 결과 회로가 지나치게 커지고, 속도가 느려지게 된다. 결국, 적정한 회로크기와 속도를 위해 마스터 디바이스의 수의 제한을 둘 수밖에 없게 되는 문제점이 있다.
따라서, 본 발명의 목적은, 데이터버스의 아이들클럭을 감소시킴으로써 데이터 전송효율이 향상된 버스 시스템을 제공하는 것이다.
본 발명의 다른 목적은, 마스터 디바이스의 수에 제한을 받지 않는 우선순위 지정방식의 중재기가 구현된 버스 시스템을 제공하는 것이다.
상기 목적은, 본 발명에 따라, 복수의 마스터 디바이스와, 복수의 슬래이브 디바이스를 구비하고, 상기 슬래이브 디바이스 중 적어도 하나는 래이턴시 타임(latency time)을 갖는 버스 시스템에 있어서, 마스터 디바이스로부터 출력된 억세스 커맨드를 입력받아 소정 중재알고리즘에 따른 순서대로 출력하기 위한 중재기; 상기 중재기로부터 상기 억세스 커맨드를 입력받아, 대응 슬래이브 디바이스의 실행 준비가 완료된 순서에 따라 상기 억세스 커맨드를 출력하기 위한 실행스케줄러; 상기 슬래이브 디바이스에 대응되도록 각각 마련되어, 상기 실행스케줄러로 부터 입력받은 적어도 두 개의 억세스 커맨드를 보관하고, 상기 보관된 억세스 커맨드로부터 실행을 위한 억세스 정보를 추출하여, 추출된 억세스 정보와 현재 실행되고 있는 커맨드의 억세스 정보의 비교결과에 기초하여 상기 보관된 커맨드의 총 실행시간이 입력받은 순서에 따른 총 실행시간에 비해 감소되도록 출력순서를 조정하여 출력하기 위한 커맨드 실행 조정기; 및 상기 슬래이브 디바이스에 각각 대응되도록 마련되어, 대응 슬래이브 디바이스의 래이턴시 타임이 상기 슬래이브 디바이스의 래이턴시 타임 중 가장 긴 래이턴시 타임과 같아지도록 상기 커맨드 실행 조정기로부터 입력받은 억세스 커맨드를 대응 슬래이브 디바이스로 지연출력하는 의사 지연기를 포함하는 것을 특징으로 하는 버스 시스템에 의해 달성된다.
상기 중재기는, 복수의 마스터 디바이스에 각각 연결되어 상기 마스터 디바이스로부터 버스요구를 입력받기 위한 버스요구 수신부; 상기 버스요구 수신부를 통해 버스요구가 입력되면 상기 마스터 디바이스에 각각 대응되도록 미리 지정된 우선순위 레벨이 표시된 우선순위 레벨신호를 출력하고, 출력된 우선순위 레벨신호에 기초하여 상기 버스요구된 우선순위 레벨이 모두 표시된 우선순위 레벨 합산신호를 생성하기 위한 우선순위 레벨 추출부; 상기 우선순위 레벨 추출부로부터 생성된 우선순위 레벨 합산신호에 기초하여 높은 우선권을 갖는 순서대로 우선순위 레벨을 출력하기 위한 우선순위 출력부; 상기 우선순위 레벨신호에 기초하여, 버스요구한 마스터 디바이스의 식별자를 추출하고 추출된 마스터 디바이스의 식별자를 상기 우선순위 출력부로부터 출력된 우선순위 레벨에 대응되도록 출력하기 위한 마스터 디바이스 식별자 출력부를 포함한 우선권 매퍼(priority mapper); 및 버스사용을 허여받은 마스터 디바이스가 상기 억세스 커맨드를 출력하도록 하기 위해, 상기 우선권 매퍼로부터 출력된 식별자를 갖는 마스터 디바이스에게 버스사용을 허여하기 위한 중재회로를 포함하는 것이 바람직하다.
상기 버스요구 수신부는, 복수의 마스터 디바이스에 각각 연결되어 상기 마스터 디바이스로부터 버스요구를 입력받기 위한 복수의 입력포트, 및 상기 입력포트에 마련되어 상기 입력포트에 지정된 우선순위 레벨을 저장하기 위한 리지스터를 포함하는 것이 바람직하다.
상기 우선순위 레벨신호는, 상기 우선순위 레벨의 수와 동수의 비트로 표시되는 것이 효과적이다.
상기 우선순위 출력부는, 적어도 하나의 상기 우선순위 레벨신호를 각 비트별로 OR연산하여 상기 우선순위 레벨신호와 동수의 비트로 표시되는 우선순위 레벨 합산신호를 생성한다.
상기 마스터 디바이스 식별자 출력부는, 상기 우선순위 레벨신호 중 우선순위 레벨이 표시된 비트열을 추출하여 순서대로 조합함으로써 식별자 신호를 생성하며, 생성된 식별자 신호에 기초하여 대응되는 마스터 디바이스의 식별자를 추출하기 위한 식별자 추출부; 및 상기 식별자 추출부에 의해 추출된 식별자로부터 상기 우선순위 출력부로부터 입력된 우선순위 레벨을 갖는 마스터 디바이스의 식별자를 출력하기 위한 식별자 출력부를 포함하는 것이 바람직하다.
상기 식별자 추출부는, 상기 식별자 신호를 입력받아 대응 마스터 디바이스의 식별자를 추출하기 위한 디코더를 구비하는 것이 더욱 바람직하다.
상기 실행스케줄러는, 상기 중재기로부터 출력된 억세스 커맨드를 대응 커 맨드 실행 조정기로 전달하기 위한 억세스 커맨드 분배부; 및 상기 커맨드 실행 조정기로부터 상기 억세스 커맨드를 전달받은 의사 지연기 중 실행준비 완료신호를 수신받은 의사 지연기에 대응되는 커맨드 실행 조정기로 상기 전달된 억세스 커맨드의 실행시작신호를 전송하기 위한 실행스케줄부를 포함하는 것이 바람직하다.
상기 실행스케줄부는, 상기 억세스 커맨드 분배부를 통해 억세스 커맨드를 전달받은 대응 슬래이브 디바이스의 식별자를 저장하기 위한 식별자 저장부로서, 상기 식별자를 저장하기 위한 적어도 하나의 저장셀을 구비한 식별자 저장큐, 및 상기 식별자 저장큐를 제어하기 위한 식별자 저장큐 제어부; 상기 저장셀에 대응되도록 각각 마련되어 상기 저장셀에 저장된 식별자와 상기 실행준비 완료신호가 전송된 슬래이브 디바이스의 식별자의 동일성 여부를 판단하기 위한 비교기; 및 상기 비교기에 의한 판단결과 식별자가 동일한 경우 상기 실행준비 완료신호가 전송된 의사 지연기로 상기 실행시작신호를 전송하기 위한 디코더를 구비하는 것이 바람직하다.
상기 억세스 커맨드 분배부는, 상기 중재기로부터 수신된 억세스 커맨드를 저장하기 위한 커맨드 저장큐 및 상기 커맨드 저장큐 제어부를 포함하는 것이 더욱 바람직하다.
상기 커맨드 실행 조정기는, 상기 억세스 커맨드 분배부로부터 입력된 적어도 두 개의 억세스 커맨드를 보관하기 위한 커맨드 보관부; 상기 커맨드 보관부에 저장된 억세스 커맨드로부터 실행을 위한 억세스 정보를 추출하기 위한 억세스 정보 추출부; 상기 슬래이브 디바이스에서 현재 실행되고 있는 억세스 커맨드의 억 세스 정보를 저장하기 위한 실행 억세스 정보 저장부; 상기 억세스 정보 추출부에 의해 추출된 억세스 정보와 상기 실행 억세스 정보 저장부에 저장된 억세스 정보를 비교하기 위한 비교부; 및 상기 비교부의 비교결과에 기초하여 상기 보관된 억세스 커맨드의 실행시간이 상기 커맨드 보관부에 저장된 순서에 따른 실행시간에 비해 감소되도록 상기 커맨드 보관부에 보관된 억세스 커맨드의 출력순서를 조정하여 상기 의사 지연기로 출력하기 위한 출력순서 조정부를 포함하는 것이 바람직하다.
상기 커맨드 보관부는, 억세스 커맨드를 저장하기 위한 복수의 저장셀을 구비한 커맨드 저장큐를 포함하고, 상기 억세스 정보 추출부는, 상기 저장셀에 대응되도록 각각 마련되어, 상기 억세스 정보를 추출하기 위한 복수의 정보 추출기를 포함하며, 상기 실행 억세스 정보 저장부는, 현재 실행 중인 억세스 커맨드의 억세스 정보를 저장하기 위한 리지스터를 포함하고, 상기 비교부는, 상기 억세스 정보 추출부에 대응되도록 각각 마련되어, 상기 억세스 정보 추출부에 의해 추출된 억세스 정보와 상기 리지스터에 저장된 억세스 정보를 비교하기 위한 복수의 비교기를 포함하며, 상기 출력순서 조정부는, 상기 비교기의 비교결과에 기초하여 부여된 우선순위에 따라 출력순서를 조정하기 위한 출력순서 조정회로; 및 출력순서 조정회로로부터의 출력순서에 따라 상기 커맨드 보관부에 보관된 억세스 커맨드를 출력하기 위한 멀티플렉서를 포함하는 것이 바람직하다.
상기 억세스 정보는, 뱅크 어드레스와 로우어드레스를 포함하며, 상기 비교부는, 상기 정보 추출기에 의해 추출된 뱅크 어드레스 및 로우어드레스를 상기 리지스터에 저장된 뱅크 어드레스 및 로우어드레스와 각각 비교하는 것이 효과적이 다.
상기 출력순서 조정회로는, 상기 비교부의 비교결과, 뱅크 어드레스 및 로우어드레스가 동일한 경우, 제1 우선순위를 부여하고, 상기 비교부의 비교결과, 뱅크 어드레스가 상이한 경우, 제2 우선순위를 부여하는 것이 더욱 효과적이다.
상기 억세스 정보는, 억세스 정보로서 버스트 전송되는 데이터의 길이를 의미하는 버스트 길이를 더 포함하는 것이 바람직하다.
상기 의사 지연기는, 상기 래이턴시 타임 중 가장 긴 래이턴시 타임과, 상기 각 슬래이브 디바이스의 래이턴시 타임과의 차(difference) 클럭수인 지연클럭수가 저장된 저장부를 구비하고, 상기 커맨드 실행 조정기로부터 억세스 커맨드를 전달받아, 상기 저장부에 저장된 지연클럭수가 경과된 후 대응 슬래이브 디바이스로 전달하는 것이 특히 바람직하다.
한편, 상기 목적은, 복수의 마스터 디바이스와, 복수의 슬래이브 디바이스를 구비하고, 상기 슬래이브 디바이스 중 적어도 하나는 래이턴시 타임(latency time)을 갖는 버스 시스템에 있어서, 마스터 디바이스로부터 출력된 억세스 커맨드를 입력받아 소정 중재알고리즘에 따른 순서대로 출력하기 위한 중재기; 상기 중재기로부터 상기 억세스 커맨드를 입력받아, 대응 슬래이브 디바이스의 실행 준비가 완료된 순서에 따라 상기 억세스 커맨드를 출력하기 위한 실행스케줄러; 상기 슬래이브 디바이스에 대응되도록 각각 마련되어, 상기 실행스케줄러로부터 입력받은 적어도 하나의 억세스 커맨드를 보관하고, 입력된 순서대로 출력하기 위한 커맨드 저장기; 및 상기 슬래이브 디바이스에 각각 대응되도록 마련되어, 대응 슬래이브 디 바이스의 래이턴시 타임이 상기 슬래이브 디바이스의 래이턴시 타임 중 가장 긴 래이턴시 타임과 같아지도록 상기 커맨드 저장기로부터 입력받은 억세스 커맨드를 대응 슬래이브 디바이스로 지연출력하는 의사 지연기를 포함하는 것을 특징으로 하는 버스 시스템에 의해서도 달성된다.
상기 중재기는, 복수의 마스터 디바이스에 각각 연결되어 상기 마스터 디바이스로부터 버스요구를 입력받기 위한 버스요구 수신부; 상기 버스요구 수신부를 통해 버스요구가 입력되면 상기 마스터 디바이스에 각각 대응되도록 미리 지정된 우선순위 레벨이 표시된 우선순위 레벨신호를 출력하고, 출력된 우선순위 레벨신호에 기초하여 상기 버스요구된 우선순위 레벨이 모두 표시된 우선순위 레벨 합산신호를 생성하기 위한 우선순위 레벨 추출부; 상기 우선순위 레벨 추출부로부터 생성된 우선순위 레벨 합산신호에 기초하여 높은 우선권을 갖는 순서대로 우선순위 레벨을 출력하기 위한 우선순위 출력부; 상기 우선순위 레벨신호에 기초하여, 버스요구한 마스터 디바이스의 식별자를 추출하고 추출된 마스터 디바이스의 식별자를 상기 우선순위 출력부로부터 출력된 우선순위 레벨에 대응되도록 출력하기 위한 마스터 디바이스 식별자 출력부를 포함한 우선권 매퍼(priority mapper); 및 버스사용을 허여받은 마스터 디바이스가 상기 억세스 커맨드를 출력하도록 하기 위해, 상기 우선권 매퍼로부터 출력된 식별자를 갖는 마스터 디바이스에게 버스사용을 허여하기 위한 중재회로를 포함하는 것이 바람직하다.
상기 버스요구 수신부는, 복수의 마스터 디바이스에 각각 연결되어 상기 마스터 디바이스로부터 버스요구를 입력받기 위한 복수의 입력포트, 및 상기 입력포트에 마련되어 상기 입력포트에 지정된 우선순위 레벨을 저장하기 위한 리지스터를 포함하는 것이 바람직하다.
상기 우선순위 레벨신호는, 상기 우선순위 레벨의 수와 동수의 비트로 표시되는 것이 효과적이다.
상기 우선순위 출력부는, 적어도 하나의 상기 우선순위 레벨신호를 각 비트별로 OR연산하여 상기 우선순위 레벨신호와 동수의 비트로 표시되는 우선순위 레벨 합산신호를 생성하는 것이 더욱 효과적이다.
상기 마스터 디바이스 식별자 출력부는, 상기 우선순위 레벨신호 중 우선순위 레벨이 표시된 비트열을 추출하여 순서대로 조합함으로써 식별자 신호를 생성하며, 생성된 식별자 신호에 기초하여 대응되는 마스터 디바이스의 식별자를 추출하기 위한 식별자 추출부; 및 상기 식별자 추출부에 의해 추출된 식별자로부터 상기 우선순위 출력부로부터 입력된 우선순위 레벨을 갖는 마스터 디바이스의 식별자를 출력하기 위한 식별자 출력부를 포함하는 것이 바람직하고,
상기 식별자 추출부는, 상기 식별자 신호를 입력받아 대응 마스터 디바이스의 식별자를 추출하기 위한 디코더를 구비하는 것이 더욱 바람직하다.
상기 실행스케줄러는, 상기 중재기로부터 출력된 억세스 커맨드를 대응 커맨드 저장기로 전달하기 위한 억세스 커맨드 분배부; 및 상기 커맨드 저장기로부터 상기 억세스 커맨드를 전달받은 의사 지연기 중 실행준비 완료신호를 수신받은 의사 지연기에 대응되는 커맨드 저장기로 상기 전달된 억세스 커맨드의 실행시작신호를 전송하기 위한 실행스케줄부를 포함하는 것이 바람직하다.
상기 실행스케줄부는, 상기 억세스 커맨드 분배부를 통해 억세스 커맨드를 전달받은 대응 슬래이브 디바이스의 식별자를 저장하기 위한 식별자 저장부로서, 상기 식별자를 저장하기 위한 적어도 하나의 저장셀을 구비한 식별자 저장큐, 및 상기 식별자 저장큐를 제어하기 위한 식별자 저장큐 제어부; 상기 저장셀에 대응되도록 각각 마련되어 상기 저장셀에 저장된 식별자와 상기 실행준비 완료신호가 전송된 슬래이브 디바이스의 식별자의 동일성 여부를 판단하기 위한 비교기; 및 상기 비교기에 의한 판단결과 식별자가 동일한 경우 상기 실행준비 완료신호가 전송된 의사 지연기로 상기 실행시작신호를 전송하기 위한 디코더를 구비하는 것이 더욱 바람직하다.
상기 억세스 커맨드 분배부는, 상기 중재기로부터 수신된 억세스 커맨드를 저장하기 위한 커맨드 저장큐 및 상기 커맨드 저장큐 제어부를 포함하고, 상기 커맨드 저장기는,
상기 억세스 커맨드를 저장하기 위한 실행 커맨드 저장큐, 및 상기 실행 커맨드 저장큐를 제어하기 위한 실행 커맨드 저장큐 제어부를 포함하는 것이 바람직하다.
상기 의사 지연기는, 상기 래이턴시 타임 중 가장 긴 래이턴시 타임과, 상기 각 슬래이브 디바이스의 래이턴시 타임과의 차(difference) 클럭수인 지연클럭수가 저장된 저장부를 구비하고, 상기 커맨드 실행 조정기로부터 억세스 커맨드를 전달받아, 상기 저장부에 저장된 지연클럭수가 경과된 후 대응 슬래이브 디바이스로 전달하는 것이 특히 바람직하다.
이하 첨부도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 버스 시스템의 개략도이다.
도 1을 참조하면, 버스 시스템은, 복수의 마스터 디바이스 (10,11,12,13,..,17), 복수의 슬래이브 디바이스(20,21,22,23,24), 중재기(3), 실행스케줄러(4), 커맨드 실행 조정기(50,51,52), 커맨드 저장기(53,54), 및 의사 지연기(Pseudo-Delayer)(60,61,62,63,64)를 포함한다.
복수의 마스터 디바이스(10,11,12,13,..,17), 및 복수의 슬래이브 디바이스(20,21,22,23,24)는 도시않은 공용 데이터버스에 의해 연결되어 있다. 도시않은 데이터버스는 데이터 전송속도가 상이한 메인 데이터버스와 로컬 데이터버스를 포함할 수 있다.
마스터 디바이스(10,11,..17)는, 일반적으로 프로세서 또는 DMA(Direct Memory Access) 제어기이며, 슬래이브 디바이스(20,21,22,23,24)는 일반적으로 RAM, ROM, SDRAM, RDRAM 등의 메모리, 입출력 디바이스, 또는 기타 주변장치일 수 있다. 다만, 본 실시예에 있어, 슬래이브0,1,2(20,21,22)는 고속 데이터전송이 가능한 SDRAM이고, 슬래이브3,4(23,24)는 데이터 전송을 위한 지연시간(latency time)을 갖지 않는 디바이스로 전제한다. 지연시간을 갖지 않는 디바이스로 대표적인 것은 ROM을 들 수 있다.
중재기(3)는, 우선순위 지정방식에 따라 버스요구된 마스터 디바이스 (10,11,12,13,..,17) 중 가장 높은 우선순위를 갖는 마스터 디바이스 (10,11,12,13,..또는 17)에게 버스의 사용을 허락한다.
실행스케줄러(4)는, 중재기(3)로부터 전달된 억세스 커맨드를 대응 커맨드 실행 조정기(50,51,52) 또는 커맨드 저장기(53,54)로 전송하고, 전송된 억세스 커 맨드의 실행준비가 완료된 슬래이브 디바이스(20,21,22,23,24) 순서대로 억세스 커맨드가 실행되도록 한다. 여기서, 「억세스 커맨드」는 어드레스, 대응 마스터 디바이스의 식별자, 버스트전송되는 데이터의 길이를 의미하는 버스트 길이 등 데이터 전송에 필요한 억세스 정보를 포함하며, 억세스 커맨드가 「실행된다」는 의미는 억세스 커맨드가 의도하는 데이터의 전송이 완료됨을 의미한다.
커맨드 실행 조정기(50,51,52)는, 슬래이브 디바이스인 슬래이브0,1,2 (20,21,22)에 각각 대응되도록 마련되며, 실행스케줄러(4)로부터 억세스 커맨드를 전달받아, 전달받은 억세스 커맨드의 실행순서를 조정하여 조정된 순서에 따라 대응 의사 지연기(60,61,62)로 출력한다. 커맨드 저장기(53,54)는 슬래이브3,4 (23,24)에 각각 대응되도록 마련되며, 실행스케줄러(4)로부터 억세스 커맨드를 전달받은 순서대로 대응 의사 지연기(63,64)로 출력한다.
의사 지연기(60,61,62,63,64) 또한 슬래이브 디바이스(20,21,22,23,24)에 각각 대응되도록 마련되며, 커맨드 실행 조정기(50,51,52) 또는 커맨드 저장기 (53,54)로부터 입력받은 억세스 커맨드를 소정 수의 클럭이 경과된 후에 대응 슬래이브 디바이스(20,21,22,23,24)로 전달한다.
한편, 의사 지연기(60,61,62,63,64)는 억세스 커맨드에 따른 데이터 전송의 완료시점으로부터 소정 래이턴시 타임에 해당되는 클럭만큼 소급된 시점에 실행스케줄러(4)로 상기 억세스 커맨드가 실행완료되었음을, 즉 데이터 전송이 완료되었음을 통지하는 의사(pseudo) 실행완료신호를 전송한다. 데이터 전송의 완료시점은 억세스 커맨드에 포함된 버스트 길이로부터 알 수 있다.
도 2는 도 1의 슬래이브0(20)의 상세블럭도이다. 다만, 나머지 슬래이브1,2 (21,22)의 구성 또한 이와 동일하다.
도 2를 참조하면, 슬래이브0(10)은, SDRAM 제어기(20a)와 SDRAM(20b)를 구비한다. SDRAM(20b)은 복수의 메모리 셀을 구비한 메모리 뱅크1(201)와, 메모리 뱅크2(202), 및 메모리 뱅크1(201)와 메모리 뱅크2(202)를 제어하기 위한 주변회로 (200)를 포함한다. 메모리 뱅크1(201)과 메모리 뱅크2(202)는 도시않은 공용포트를 사용하여 외부와 데이터를 주고받는다.
SDRAM(20b)에는 SDRAM 제어기(20a)가 접속되어, SDRAM 제어기(20a)로부터 각종 제어신호가 입력된다. SDRAM 제어기(20a)는, 대응 의사 지연기(60)로부터 억세스 커맨드를 입력받고, 이에 기초하여 메모리 뱅크1(201) 또는 메모리 뱅크2(202)에 억세스하여 실행되도록 SDRAM(20b)으로 필요한 신호를 전달한다. 전달되는 신호는, 칩선택신호(CS#), RAS 스트로브(RAS#), CAS 스트로브(CAS#), 데이터주소 (AD:Row Address 및 Column Address), 메모리 뱅크 어드레스(BA:Bank Address), 리드/라이트 선택신호(W#), 및 데이터 입출력 인에이블신호(DQM: Data output/input enable)가 있다. 다만, 단순화를 위해 RAS스트로브, CAS스트로브, 및 데이터주소선만을 표시하였다.
SDRAM 제어기(20a)에는 본 발명의 바람직한 실시예에 따른 대응 의사 지연기0(60)가 접속되어 있다. 의사 지연기0(60)는 커맨드 실행 조정기0(50)로부터 전달받고, 전달받은 커맨드의 실행순서를 조정하여 조정된 순서에 따라 SDRAM 제어기(20a)로 출력한다.
도 3은 도 1의 중재기(3)의 블럭도이다.
도 3을 참조하면, 중재기(3)는, 우선권 매퍼(priority mapper)(31)와 중재회로(32)를 포함한다. 우선권 매퍼(31)는 적어도 하나의 마스터 디바이스 (10,11,12,13,..,17)로부터 버스요구가 입력되면, 입력된 버스요구 중 미리 지정된 우선순위에 따라 가장 높은 우선순위의 우선권를 갖는 마스터 디바이스 (10,11,12,13,..,17)의 식별자를 출력한다. 중재회로(32)는, 우선권 매퍼(31)로부터 출력된 식별자를 갖는 마스터 디바이스(10,11,..또는 17)에게 버스의 사용을 허락한다.
도 4는 도 3의 우선권 매퍼(31)의 상세블럭도이다.
도 4를 참조하면, 우선권 매퍼(31)는 버스요구 수신부(300), 우선순위 레벨 추출부(301), 우선순위 출력부(302), 식별자 추출부(303), 및 식별자 출력부(304)를 포함한다.
버스요구 수신부(300)는, 우선순위 지정이 가능하며 마스터 디바이스 (10,11,..17)에 각각 연결되어 마스터 디바이스(10,11,..17)로부터 버스요구를 입력받기 위한 복수의 입력포트를 구비하고, 상기 입력포트를 통해 적어도 하나의 버스요구가 입력되면 버스요구가 입력된 입력포트에 지정된 우선순위가 각각 표시된 적어도 하나의 우선순위 레벨신호를 출력한다. 각 입력포트에 지정된 우선순위는 리지스터에 각각 저장되어 있다. 우선순위 레벨 추출부(301)는 버스요구 수신부(300)로부터 출력된 우선순위 레벨신호에 기초하여 상기 버스요구가 입력된 입력포트의 우선순위가 모두 표시된 우선순위 레벨 합산신호를 출력한다.
본 실시예에 따른 버스 시스템에는 8개의 마스터 디바이스 (10,11,12,13,..,17)가 있으므로, 버스요구 수신부(300)에는 8개의 입력포트, 및 8개의 리지스터(리지스터0,..,리지스터7)가 마련된다. 또한, 본 실시예에 따른 우선순위는 16레벨로 구분되므로, 우선순위 레벨신호는 16비트로 표시되며, 이에 따라 우선순위 레벨 추출부(301)에는 우선순위 레벨신호의 각 비트의 OR연산을 수행하기 위해 16개의 OR연산기(OR연산기0,...OR연산기15)가 마련된다.
우선순위 출력부(302)는 우선순위 레벨 추출부(301)로부터 출력된 우선순위 레벨 합산신호로부터 높은 우선권을 갖는 순서대로 우선순위 레벨을 출력한다.
식별자 추출부(303)는 버스요구 수신부(300)로부터 출력된 우선순위 레벨신호에 기초하여 상기 우선순위 레벨신호에 표시된 우선순위에 각각 대응되도록 마스터 디바이스 식별자가 표시된 식별자 신호를 생성하고 생성된 식별자 신호를 디코딩하여 대응 마스터 디바이스의 식별자를 추출한다. 식별자 신호의 디코딩을 위해 식별자 추출부(304)에는 우선순위 레벨에 각각 대응되는 16개의 디코더 (디코더0,..,디코더15)가 마련되어 있다. 식별자 출력부(304)는 식별자 추출부 (303)로부터 추출된 마스터 디바이스 식별자 중에서 우선순위 출력부(302)로부터 입력된 우선순위를 갖는 마스터 디바이스 식별자를 출력한다.
구체적인 예를 들어 설명하면 다음과 같다.
0번 마스터 디바이스(10)의 우선순위 레벨이 4이고, 1번 마스터 디바이스 (11)의 우선순위 레벨이 6이라면, 버스요구 수신부(300)로부터 출력된 우선순위 레벨신호는 각각 1110111111111111, 1111101111111111이 된다. 이에 따라, 우선순위 레벨 추출부(301)에 의해 상기 두 개의 우선순위 레벨신호가 OR연산된 우선순위 레벨 합산신호인 Flag0,..,Flag15는 1110101111111111이 된다. 이를 MSB부터 살펴보면, 4번째 및 6번째 비트가 0이므로 레벨 4 및 6의 우선순위를 갖는 버스요구가 있음을 알 수 있다. 우선순위 레벨 합산신호를 입력받은 우선순위 출력부(302)는, 우선순위 레벨이 낮을수록 높은 우선권을 가진다면 먼저 4를 출력하고 다음으로 6을 출력한다. 우선순위 레벨신호(행벡터) 1110111111111111는 0번 마스터 디바이스(10)에 대응되고, 우선순위 레벨신호(행벡터) 1111101111111111는 1번 마스터 디바이스(11)에 대응되며, 나머지 버스요구를 하지 않은 마스터 디바이스(12,..17)는 1111111111111111(행벡터)에 대응시킨 8*16 매트릭스는 다음과 같다.
1110111111111111
1111101111111111
1111111111111111
1111111111111111
1111111111111111
1111111111111111
1111111111111111
1111111111111111
상기 매트릭스에서 버스요구된 우선순위 레벨은 4와 6이고, 따라서 식별자 추출부(303)는 우선순위 레벨과 동일한 위치에 배치된 비트열로 구성된 식별자 신호 01111111, 10111111을 각각 생성하고 생성된 식별자 신호를 대응 디코더인 디코더4, 및 디코더6에 의해 디코딩하여 마스터 디바이스 식별자를 추출한다. 식별자 신호는 8비트로서 MSB부터의 각 비트는 마스터 디바이스(10,11,..17)에 대응되며 따라서 우선순위 레벨 4는 0번 마스터 디바이스(10)로부터 요구되었음을 우선순위 레벨 6은 1번 마스터 디바이스(11)로부터 요구된 것임을 알 수 있다. 이에, 식별자 추출부(303)는 0번과 1번 마스터 디바이스(10,11)의 식별자를 추출하고, 식별자 출력부(304)는 식별자 추출부(303)로부터 입력된 0번과 1번 마스터 디바이스(10,11)의 식별자들 중 우선순위 출력부(302)로부터 입력된 우선순위 레벨의 순서에 따라 먼저 0번 마스터 디바이스(10)의 식별자를 출력하고, 다음으로 1번 마스터 디바이스(11)의 식별자를 출력한다.
보다 일반적으로, C언어의 표현방식을 사용하여 설명하면 다음과 같다.
먼저, 0번 마스터 디바이스(10)는 리지스터0에 저장된 우선순위 레벨이 0부터 15까지 달라질 수 있으므로, 0번 마스터 디바이스(10)에 대응되는 우선순위 레벨신호0은 다음 16가지 중 어느 하나를 가질 수 있다.
Case ( 우선순위 0 )
0 : 우선순위 레벨신호0 = 0b1111111111111110;
1 : 우선순위 레벨신호0 = 0b1111111111111101;
2 : 우선순위 레벨신호0 = 0b1111111111111011;
3 : 우선순위 레벨신호0 = 0b1111111111110111;
4 : 우선순위 레벨신호0 = 0b1111111111101111;
5 : 우선순위 레벨신호0 = 0b1111111111011111;
6 : 우선순위 레벨신호0 = 0b1111111110111111;
7 : 우선순위 레벨신호0 = 0b1111111101111111;
8 : 우선순위 레벨신호0 = 0b1111111011111111;
9 : 우선순위 레벨신호0 = 0b1111110111111111;
10 : 우선순위 레벨신호0 = 0b1111101111111111;
11 : 우선순위 레벨신호0 = 0b1111011111111111;
12 : 우선순위 레벨신호0 = 0b1110111111111111;
13 : 우선순위 레벨신호0 = 0b1101111111111111;
14 : 우선순위 레벨신호0 = 0b1011111111111111;
15 : 우선순위 레벨신호0 = 0b0111111111111111;
endcase
여기서, 0b는 이진수를 의미한다.
1 내지 7번 마스터 디바이스(11,..17)의 경우도 위와 마찬가지로 표현된다.
우선순위 레벨 합산신호는 어떤 레벨의 우선순위를 갖는 버스요구가 있었는지를 나타내는 신호이므로, 우선순위 레벨 합산신호를 구성하는 Flag0,..,Flag15는 다음과 같이 구성된다.
Flag0= 우선순위 레벨신호0 [0] or 우선순위 레벨신호1 [0]
or 우선순위 레벨신호2 [0] or 우선순위 레벨신호3 [0]
or 우선순위 레벨신호4 [0] or 우선순위 레벨신호5 [0]
or 우선순위 레벨신호6 [0] or 우선순위 레벨신호7 [0]
or 우선순위 레벨신호8 [0] or 우선순위 레벨신호9 [0]
or 우선순위 레벨신호10 [0] or 우선순위 레벨신호11 [0]
or 우선순위 레벨신호12 [0] or 우선순위 레벨신호13 [0]
or 우선순위 레벨신호14 [0] or 우선순위 레벨신호15 [0]
.......
식별자 신호 0,...,7는 우선순위 레벨신호 각 비트를 추출해서 비트열로 재구성하여 생성된다.
Case (식별자 신호0 )
0bddddddd0 : Id0 <= 0;
0bdddddd01 : Id0 <= 1;
0bddddd011 : Id0 <= 2;
0bdddd0111 : Id0 <= 3;
0bddd01111 : Id0 <= 4;
0bdd011111 : Id0 <= 5;
0bd0111111 : Id0 <= 6;
0b01111111 : Id0 <= 7;
endcase
여기서, d는 don't care이다. 나머지 식별자 신호 0,...,7도 마찬가지로 구성된다.
도 5는 실행스케줄러(4), 커맨드 실행 조정기0(50), 및 의사 지연기0(60)의 관계를 설명하기 위한 블록도이다. 다만, 나머지 커맨드 실행 조정기1,2(51,52) 및 의사 지연기1,2(61,62) 또한 커맨드 실행 조정기0(50) 및 의사 지연기0(60)와 각각 동일한 구성을 가진다.
도 5를 참조하면, 실행스케줄러(4)는, 중재기(3)로부터 출력된 억세스 커맨드를 대응 커맨드 실행 조정기0(50)로 전달하기 위한 억세스 커맨드 분배부(41), 및 억세스 커맨드 분배부(41)로부터의 억세스 커맨드가 전달된 의사 지연기(60,61,62,63,64) 중 실행준비 완료신호를 전송한 의사 지연기0(60)로 상기 전달된 억세스 커맨드의 실행시작신호를 전송하기 위한 실행스케줄부(46)를 포함한다.
커맨드 실행 조정기(50)는, 커맨드 보관부(31), 억세스 정보 추출부(32), 비교부(34), 실행 억세스 정보 저장부(33), 및 출력순서 조정부(35)를 포함한다.
커맨드 보관부(31)는, 억세스 커맨드 분배부(41)로부터 전달받은 적어도 두 개의 커맨드를 보관한다. 억세스 정보 추출부(32)는, 커맨드 보관부(31)에 저장된 커맨드로부터 실행을 위한 억세스 정보를 추출한다. 실행 억세스 정보 저장부(33)는, 대응 슬래이브 디바이스(20,21,22)에서 현재 실행되고 있는 억세스 커맨드의 억세스 정보를 저장한다. 비교부(34)는 억세스 정보 추출부(32)에 의해 추출된 억세스 정보와 상기 실행 억세스 정보 저장부(33)에 저장된 억세스 정보를 비교한다. 출력순서 조정부(35)는, 비교부(34)의 비교결과에 기초하여 상기 보관된 커맨드의 실행시간이 커맨드 보관부(31)에 보관된 순서에 따른 실행시간에 비해 감소되도록 커맨드 보관부(31)에 보관된 커맨드의 출력순서를 조정하여 대응 의사 지연기(60,61,62)로 출력되도록 한다.
의사 지연기(60)는, 슬래이브0(20)에 대응되도록 지연클럭수가 저장되어 있는 저장부(611)를 구비하여, 커맨드 실행 조정기0(50)로부터 입력받은 억세스 커맨드를 저장부(611)에 저장된 지연클럭수만큼 지연시켜 대응 슬래이브0(20)로 출력한다. 여기서, 저장부(611)는 리지스터로 구현될 수 있다. 의사 지연기(60)는 대응 슬래이브 디바이스(20)로 출력한 억세스 커맨드의 실행완료시점-데이터 전송 완료시점으로부터 소정 클럭 소급된 시점에서 의사(pesudo) 실행완료신호를 통지한다.
도 6은 도 5의 실행스케줄러(4)의 상세 블록도이다.
도 6을 참조하면, 실행스케줄러(4)의 억세스 커맨드 분배부(41)는, 중재기(3)로부터 수신된 억세스 커맨드를 저장하기 위한 커맨드 저장큐(410), 및 커맨드 저장큐(410)를 제어하기 위한 커맨드 저장큐 제어부(411)를 구비한다. 실행스케줄러(4)의 실행스케줄부(46)는, 슬래이브 디바이스(20,21,22,23,24)의 식별자를 저장하기 위한 식별자 저장부로서 식별자 저장큐(460), 및 식별자 저장큐 제어부(461)를 구비하며, 비교기(462) 및 디코더(463)을 포함한다.
식별자 저장큐(460)는, 억세스 커맨드 분배부(41)를 통해 전달받은 억세스 커맨드에 포함된 슬래이브 디바이스 식별자를 저장하기 위한 적어도 하나의 저장셀을 구비하며, 식별자 저장큐 제어부(461)는 식별자 저장큐(460)의 입출력을 제어한다. 비교기(462)는 상기 저장셀에 대응되도록 각각 마련되어 상기 저장셀에 저장된 식별자와, 실행준비 완료신호를 전송한 의사 지연기0(60)의 식별자와의 동일성 여부를 판단하며, 디코더(463)는 비교기(462)에 의해 식별자가 동일한 것으로 판단된 경우, 상기 실행준비 완료신호가 전송된 의사 지연기0(60)로 실행시작신호를 전 송한다. 이에, 의사 지연기0(60)는, 전술한 바와 같이, 전달받은 억세스 커맨드를 소정 클럭 지연시켜 대응 슬래이브0(20)로 입력한다. 여기서, 비교기(462) 및 디코더(463)는 논리적인 의미로 지칭되었으며, 회로 구성은 다양하게 구현가능하다.
도 7은 도 5의 커맨드 실행 조정기(50)의 상세 블록도이다. 다만, 커맨드 실행 조정기(50)는, 도 2의 슬래이브0(20)인 SDRAM과 관련지어 설명한다. 왜냐하면, 래이턴시 타임을 갖는 슬래이브 디바이스에 대해 설명하는 것이 커맨드 실행 조정기(50)에 대한 이해를 보다 높일 수 있기 때문이다.
도 7을 참조하면, 커맨드 보관부(31)는, 커맨드를 보관하기 위한 5개의 저장셀을 구비한 커맨드 저장큐(31)로 구현된다. 여기서, 커맨드를 보관하기 위한 저장셀의 수는 필요에 따라 적절히 증감가능하다. 억세스 정보 추출부(32)는, 상기 저장셀에 대응되도록 각각 마련된 복수의 정보 추출기(320)로 구현된다. 억세스 정보는, 대응 저장셀에 보관된 커맨드가 메모리 뱅크1(201) 또는 메모리 뱅크2(202)에 억세스하기 위해 필요한 정보를 의미한다. 본 발명의 바람직한 실시예에 따라 추출될 구체적인 억세스 정보는, 메모리 뱅크 어드레스, 리드/라이트를 위해 전송될 데이터의 로우어드레스(Row Address)를 포함한다. 커맨드는 다양한 정보가 기록된 데이터필드로 구성되는 바, 일반적으로, 상위비트부터 하위비트 순서로 로우어드레스, 뱅크 어드레스, 컬럼어드레스가 할당된다. 한편, 커맨드에는 마스터 디바이스(10,11,12,13,..,17)를 식별하기 위한 식별자가 포함되어 있다. 여기서, 데이터필드의 구성, 배치순서, 할당된 비트의 수는 시스템의 특성 및 필요에 따라 적절하게 변경할 수 있다.
실행 억세스 정보 저장부(33)는, SDRAM 제어기(20a)로부터 현재 메모리 뱅크1(201) 또는 메모리 뱅크2(202)에서 실행 중인 커맨드의 메모리 뱅크 어드레스와 로우어드레스를 제공받아 저장하기 위한 리지스터(33)로 구현된다. 비교부(34)는, 정보 추출기(320)에 대응되도록 각각 마련되어, 정보 추출기(320)에 의해 추출된 메모리 뱅크 어드레스와 로우어드레스를 리지스터(33)에 저장된 메모리 뱅크 어드레스와 로우어드레스를 각각 비교하기 위한 복수의 비교기(340)를 포함한다. 여기서, 비교기(340)는 논리적인 의미의 비교기로서 다양한 구성의 회로로 구현될 수 있다.
출력순서 조정부(35)는, 이하에서 설명하는 출력순서 조정알고리즘을 실행하기 위한 출력순서 조정회로(351), 및 커맨드 저장큐(31)에 연결되어 출력순서 조정회로(351)로부터의 조정결과에 따라 각 저장셀에 보관된 커맨드를 출력하기 위한 멀티플렉서(352,353)로 구현된다. 출력순서 조정회로(351)는 비교기(340)의 비교결과, 메모리 뱅크 어드레스 및 로우어드레스가 모두 동일한 경우 제1 우선순위를 부여하고, 메모리 뱅크 어드레스가 상이한 경우 제2 우선순위를 부여한다. 뱅크 어드레스와 로우어드레스가 동일한 경우 제1 우선순위를 부여하는 이유는 SDRAM(21)의 구성적 특징에 기인한다. SDRAM(21)은 입력된 뱅크 어드레스와 로우어드레스를 참조하여 뱅크를 선택하고 선택된 뱅크의 로우어드레스에 저장된 모든 데이터를 버퍼로 옮긴 다음(메모리 뱅크 활성화 또는 메모리 뱅크 개방), 컬럼어드레스를 참조하여 원하는 데이터를 리드하거나 라이트한다. 따라서, 뱅크 어드레스와 로우어드레스가 동일하면 현재의 메모리 뱅크를 폐쇄하고(프리차지(precharge) 를 완료하고), 재차 메모리 뱅크를 오픈하는 과정을 밟을 필요가 없게 되기 때문이다.
부여된 우선순위에 기초한 출력순서의 조정은 다음과 같다. 저장셀에 보관된 커맨드 중 제1 우선순위를 부여받은 커맨드를 맨 앞으로, 제2 우선순위를 부여받은 커맨드를 다음으로, 나머지는 입력된 순서에 따른다. 동등한 우선순위가 경합되었을 경우에는 입력순서에 따른다. 출력순서 조정결과는 멀티플렉서(352,353)로 전달되고, 멀티플렉서(352,353)는 조정된 출력순서에 따라 커맨드 저장큐(31)에 보관된 커맨드를 의사 지연기0(60)로 출력한다.
상기와 같은 구성에 따라 억세스 커맨드의 전달 및 실행과정을 설명하면 다음과 같다.
먼저, 도 4를 참조하여, 중재기(3)가 마스터 디바이스(10,11,12,13,..,17)로부터 억세스 커맨드를 수신하는 과정을 설명한다.
전술한 과정에 따라 중재기(3)의 우선권 매퍼(31)는 버스요구 수신부(300)에 의해 마스터 디바이스(10,11,12,13,..,17)로부터의 버스요구를 수신한다. 다음으로, 버스요구 수신부(300)에 구비된 입력포트에 할당된 우선순위 레벨에 기초하여 우선순위 레벨신호를 생성한다. 우선순위 레벨 추출부(301)는 생성된 우선순위 레벨신호를 비트별로 OR연산하여 우선순위 레벨 합산신호를 생성한다. 우선순위 출력부(302)는 우선순위 레벨 합산신호에 기초하여 높은 우선권을 갖는 순서대로 우선순위 레벨을 출력한다.
한편, 식별자 추출부(303)은 상기 생성된 우선순위 레벨신호로부터 식별자 신호를 생성하고 식별자 신호를 디코딩하여 버스요구된 마스터 디바이스의 식별자를 추출한다.
식별자 출력부(304)는 우선순위 출력부(302)로부터 입력된 우선순위 레벨을 갖는 마스터 디바이스의 식별자를 출력한다. 중재회로(32)는 출력된 식별자를 갖는 마스터 디바이스(10,11,12,13,..,17)에게 버스허여신호를 전송하고, 이에 버스허여신호를 수신한 마스터 디바이스(10,11,12,13,..,17)는 억세스 커맨드를 출력하고 중재기(3)는 수신된 억세스 커맨드를 실행스케줄러(4)로 전달한다.
다음으로, 도 6을 참조하여, 실행스케줄러(4)에서의 억세스 커맨드의 전달과정을 설명하면 다음과 같다.
실행스케줄부(46)는, 소정 의사 지연기(60,61,62,63,64)로부터 실행완료신호가 수신되면, 실행되어야 할 억세스 커맨드의 유무를 확인하기 위해 식별자 저장큐(460)에 마련된 저장셀이 모두 비어있는지를 첵크한다.
식별자 저장큐(460)에 억세스 커맨드가 저장되어 있으면 의사 지연기(60,61,62,63,64)로부터 실행준비 완료신호가 도착되기를 기다린다. 저장된 억세스 커맨드 중 어느 하나에 대응되는 의사 지연기(60,61,62,63)로부터 실행준비 완료신호가 도착되면, 각 저장셀에 마련된 비교기(462)에 의해, 각 저장셀에 저장된 식별자와 실행준비 완료신호가 도착된 의사 지연기(60,61,62,63,64)의 대응 슬래이브 디바이스(20,21,22,23,24)의 식별자와 동일여부를 확인한다. 동일한 경우 결과를 식별자 저장큐 제어부(461)로 전달하며, 식별자 저장큐 제어부(461)는 당해 저장셀에 저장되어 있는 슬래이브 디바이스(20,21,22,23,24)의 식별자가 식별자 저 장큐(460)로부터 디코더(463)로 출력되도록 한다. 디코더(463)는 식별자 저장큐(460)로부터 출력된 식별자를 디코딩하여 대응 커맨드 실행 조정기(50,51,52) 또는 커맨드 저장기(53,54)로 실행시작신호를 내보낸다.
다음으로, 도 7을 참조하여, 커맨드 실행 조정기(50)에서의 억세스 커맨드의 전달과정을 설명하면 다음과 같다. 다만, 본 실시예에서의 커맨드 실행 조정기(50)는 도 2의 슬래이브0(20)인 SDRAM에 관해 설명한다.
커맨드 실행 조정기(50)는 입력된 커맨드를 커맨드 저장큐(31)에 입력된 순서대로 각 저장셀마다 하나씩 보관한다. 정보 추출기(320)는, 각 저장셀에 저장된 커맨드로부터 억세스 정보로서, 메모리 뱅크 어드레스 및 로우어드레스를 추출한다. 비교기(340)는 추출된 메모리 뱅크 어드레스 및 로우어드레스를 리지스터(33)에 저장되어 있는 메모리 뱅크 어드레스 및 로우어드레스를 비교한다. 비교결과, 메모리 뱅크 어드레스가 동일하고, 로우어드레스가 동일한 경우, 제1 우선순위를 부여한다. 메모리 뱅크 어드레스가 상이하면, 제2 우선순위를 부여한다.
출력순서 조정회로(351)는 상기 부여된 우선순위에 따라 출력순서를 조정한다. 즉, 저장셀에 저장된 커맨드 중 우선순위가 높은 커맨드를 선순위에 두고, 우선순위가 없는 경우에는 입력된 순서를 그대로 유지한다. 멀티플렉서(352, 353)는 출력순서 조정회로(351)에 의해 조정된 출력순서에 따라 커맨드를 의사 지연기(60)로 출력한다.
출력순서 조정회로(351)의 출력순서 조정과정을 보다 구체적으로 설명하면 다음과 같다.
비교기(340)는, 뱅크 어드레스 및 로우어드레스를 비교하고, 2비트의 결과값을 출력한다. 결과값은, 비교결과가 같으면 "0", 다르면 "1"로, 로우어드레스 비교값은 상위비트로, 뱅크 어드레스의 비교값은 하위비트로 출력된다.
출력순서 조정회로(351)는, 하위 저장셀의 커맨드와의 비교값이 하위비트가 되도록 비교기(340)로부터 결과값을 취합하고, 취합된 10비트의 결과값의 하위비트부터 2비트씩 검색하여 "00"이 발견되는 구간의 번호를 먼저 출력하고, "01" 또는 "11"이 발견되는 번호를 다음으로 출력하며, 멀티플렉서(352,353)는 출력된 번호 순서대로 대응되는 커맨드가 출력되도록 한다. 예를 들어, 저장셀(0)에 저장된 커맨드와의 비교결과는 "10"이고, 저장셀(1)에 저장된 커맨드와의 비교결과는 "01"이며, 저장셀(2)에 저장된 커맨드와의 비교결과는 "10"이고, 저장셀(3)에 저장된 커맨드와의 비교결과는 "00"이고, 저장셀(4)에 저장된 커맨드와의 비교결과는 "10"이면, 취합된 비교결과는 "1000100110"이 된다. 출력순서 조정회로(351)는 "1000100110"을 2비트씩 5개의 구간으로 나누고, 하위비트부터 탐색하여 "00"이 존재하는 구간을 찾는다. 탐색결과, "00"이 발견된 구간은 저장셀(3)에 대응되는 구간이다. 저장셀(3)에 저장된 커맨드는 현재 실행되고 있는 커맨드와 뱅크 어드레스 및 로우어드레스가 동일하므로 제1 우선순위를 가진다. 또한, "01" 또는 "11"이 발견된 구간은 저장셀(1)에 대응되는 구간이다. 저장셀(1)에 저장된 커맨드는 현재 실행되고 있는 커맨드와 뱅크 어드레스가 다르므로 제2 우선순위를 가진다. 결과적으로, 커맨드의 출력순서는 저장셀(3) ⇒ 저장셀(1) ⇒ 저장셀(0) ⇒ 저장셀(2) ⇒ 저장셀(4)이 된다.
한편, 도 8의 커맨드 저장기4(54)의 블록도를 참조하여, 커맨드 저장기4(54)에서의 전달과정을 설명하면 다음과 같다. 다만, 커맨드 저장기3(53)에서의 전달과정 또한 동일하다.
커맨드 저장기4(54)는, 억세스 커맨드를 저장하기 위한 실행 커맨드 저장큐(541), 및 실행 커맨드 저장큐(541)의 입출력을 제어하기 위한 실행 커맨드 저장큐 제어부(540)를 구비한다.
이에 의해, 실행 커맨드 저장큐 제어부(540)는 실행스케줄러(4)로부터 전달된 억세스 커맨드를 실행 커맨드 저장큐(541)에 저장하고 입력된 순서대로 대응 의사 지연기(64)로 출력한다.
다음으로, 도 5를 참조하여, 의사 지연기(60)에서의 억세스 커맨드의 전달과정을 설명하면 다음과 같다.
의사 지연기(60)는, 슬래이브0(20)에 대응되도록 지연클럭수가 저장되어 있는 저장부(611)를 구비하여, 커맨드 실행 조정기0(50)로부터 입력받은 억세스 커맨드를 저장부(611)에 저장된 지연클럭수만큼 지연시켜 대응 슬래이브0(20)로 출력한다.
이에 따라, 슬래이브0(20)는 억세스 커맨드를 수신하여 데이터 전송을 준비한다. 데이터 전송준비가 완료되면 실행스케줄러(4)로 데이터전송 지시신호 및 대응 마스터 디바이스(10,11,12,13,..,17)의 식별자를 출력하고, 데이터전송 지시신호를 입력받은 실행스케줄러(4)는 대응 마스터 디바이스(10,11,12,13,..,17)로 데이터전송 지시신호를 전달하고, 이에 슬래이브0(20)와 대응 마스터 디바이스 (10,11,12,13,..,17) 사이에 데이터가 전송된다.
한편, 실행스케줄러(4)는, 대응 슬래이브 디바이스(20)로 출력한 억세스 커맨드의 실행완료시점(데이터 전송 완료시점)으로부터 소정 클럭 소급된 시점에서 의사(pesudo) 실행완료신호를 통지한다.
지연클럭수는, 슬래이브 디바이스(20,21,22,23,24)의 래이턴시 타임으로부터 결정된다. 예를 들어, 래이턴시 타임이 순서대로 5클럭, 6클럭, 4클럭, 0클럭, 1클럭이라면, 지연클럭수는 순서대로 1클럭, 0클럭, 2클럭, 6클럭, 5클럭이 된다. 즉, 지연클럭수는 가장 긴 래이턴시 타임과의 차(Difference) 클럭수가 된다. 이처럼, 의사 지연기(60)는 모든 슬래이브 디바이스(20,21,22,23,24)의 래이턴시 타임을 6 클럭으로 동일하게 만들어 주는 역할을 하게 된다. 전술한 예에 따르면, 저장부(611)에 저장된 지연클럭수는 1클럭이다.
한편, 소정 억세스 커맨드의 버스트 길이가 4 라면, 데이터 4 개가 연속적으로 전송됨을 알 수 있으므로, 의사 지연기(60)는 데이터 전송의 완료시점으로부터 전술한 래이턴시 타임 6 클럭만큼 소급된 시점에서 실행스케줄러(4)로 의사 실행완료신호를 통지한다.
의사 실행완료를 통지받은 실행스케줄러(4)는 다른 의사 지연기 (60,61,62,63,64)로 억세스 커맨드의 실행시작신호를 전송하게 되고, 궁극적으로 대응 슬래이브 디바이스(20,21,22,23,24)에서의 데이터전송을 위한 준비가 미리 시작되므로 데이터버스의 아이들클럭이 감소된다.
도 9는 본 발명에 따른 데이터전송을 설명하기 위한 타임 블록도이다.
도 9를 참조하면, 먼저 슬래이브 디바이스(20)로 커맨드가 전달되고, 다음으로 슬래이브 디바이스(21)로 커맨드가 전달됨을 알 수 있다. 의사 지연기(60,61)는 SDRAM의 데이터전송이 완료되는 시점으로부터 래이턴시 타임(SDRAM 제어기 래이턴시 + SDRAM 래이턴시)만큼 소급하여 억세스 커맨드의 의사 실행완료를 통지한다. 또한, 의사 지연기(60,61)는 억세스 커맨드를 슬래이브 디바이스(20,21)로 전달함에 있어 래이턴시 타임이 같아지도록 필요한 지연클럭수 만큼 지연전달한다. 이에, "마스터 실행 사이클1"과 "데이터 전송1"을 잇는 직선의 기울기(a)와 "마스터 실행 사이클2"와 "데이터 전송2"를 잇는 직선의 기울기(b)는 동일하게 된다.
즉, 본 발명에 따르면, 슬래이브0(20)의 데이터전송(데이터 전송1)과 슬래이브1(21)의 데이터전송(데이터전송2)이 데이터버스의 아이들클럭없이 연속적으로 수행됨을 확인할 수 있다.
한편, 도 9에서는 2개의 슬래이브 디바이스에 대해 도시하고 있으나, 슬래이브 디바이스의 수가 3개 이상인 경우에도 마찬가지로, 모든 슬래이브 디바이스가 동일한 래이턴시 타임을 가진 것처럼 보이도록, 커맨드를 지연시켜 전달하고, 래이턴시 타임만큼 소급하여 의사 실행완료를 통지하는 방법에 따른다. 외부에서 보이는 슬래이브 디바이스의 래이턴시 타임은 상기 각 슬래이브 디바이스가 갖는 래이턴시 타임 중 가장 긴 래이턴시 타임으로 통일된다. 래이턴시 타임을 통일시킴으로써 마스터 디바이스의 커맨드 출력시점과 데이터버스에서의 데이터 전송시점을 잇는 직선의 기울기를 같게 만들 수 있고, 이에 따라 데이터버스에서 연속적인 데이터전송이 가능해지므로 전체적인 시스템 효율이 향상될 수 있다.
한편, 전술한 중재기(3)에 있어, 각 입력포트에 지정된 우선순위 레벨은 대 응 리지스터에 저장되어 있으므로, 리지스터에 저장된 값을 변경함으로써 우선순위 레벨의 동적 지정이 가능하게 된다. 더불어, 마스터 디바이스(10,11,12,13,..,17)의 개수가 8개이고 우선순위 레벨이 16인 경우에 대해 설명하였으나, 마스터 디바이스의 수 및 우선순위 레벨은 필요에 따라 다양하게 변경가능하다.
이상 설명한 바와 같이, 본 발명에 따르면, 비교기를 사용하지 않고 간단한 회로로 구현가능한 우선순위 지정방식의 중재기가 채용된 버스 시스템이 제공된다. 이에 따라, 마스터 디바이스의 수에 제한을 받지 않고 시스템을 설계할 수 있게 되며, 간단한 회로구성을 가지면서도 신속한 중재가 가능하고, 필요에 따라 우선순위를 다양하게 변경지정할 수 있게 된다.
또한, 마스터 디바이스는, 종래 직접 슬래이브 디바이스를 제어하던 것과 달리, 억세스 커맨드만을 전송하면 족하므로, 종래에 비해 현저히 단순한 버스인터페이스 구조를 갖게 된다.
또한, 커맨드 실행 조정기에 의해, 실행준비가 완료된 슬래이브 디바이스 먼저 데이터버스에 억세스하도록 억세스 커맨드의 실행순서를 조정함으로써 전체적인 데이터 처리속도가 보다 향상된다. 특히, 슬래이브 디바이스가 메인 데이터버스에 비해 데이터 전송속도가 느린 로컬 데이터버스에 연결되어 있는 경우, 슬래이브 디바이스로 하여금 로컬 데이터버스에 효율적으로 억세스할 수 있도록 함으로써 메인 데이터버스의 아이들클럭이 감소되어 시스템 전체의 처리속도가 향상된다.
또한, 의사 지연기에 의해, 슬래이브 디바이스의 래이턴시 타임을 동일하게 만들어 줌으로써, 래이턴시 타임의 차이로 인해 야기되는 데이터버스의 아이들클럭을 감소시킬 수 있고, 데이터버스에서의 데이터의 충돌을 방지할 수 있게 된다. 특히, 슬래이브 디바이스가 파이프라인 전송을 지원하고 버스트전송이 빈번한 SDRAM과 같은 메모리인 경우 데이터버스의 아이들클럭수가 현저히 감소되어 버스 시스템의 효율이 높아지게 된다. 더욱이, 의사 지연기에 의하면, 파이프라인 전송을 지원하지 않는 ROM의 경우에도 파이프라인 전송에 유사한 데이터전송이 가능해질 수 있다. 다시 말해, 의사(pseudo) 실행완료를 통지함으로써 실제 데이터전송이 완료되지 않은 시점에서 다른 슬래이브 디바이스를 실행하는 것이 가능해지기 때문이다.

Claims (29)

  1. 복수의 마스터 디바이스와, 복수의 슬래이브 디바이스를 구비하고, 상기 슬래이브 디바이스 중 적어도 하나는 래이턴시 타임(latency time)을 갖는 버스 시스템에 있어서,
    마스터 디바이스로부터 출력된 억세스 커맨드를 입력받아 소정 중재알고리즘에 따른 순서대로 출력하기 위한 중재기;
    상기 중재기로부터 상기 억세스 커맨드를 입력받아, 대응 슬래이브 디바이스의 실행 준비가 완료된 순서에 따라 상기 억세스 커맨드를 출력하기 위한 실행스케줄러;
    상기 슬래이브 디바이스에 대응되도록 각각 마련되어, 상기 실행스케줄러로 부터 입력받은 적어도 두 개의 억세스 커맨드를 보관하고, 상기 보관된 억세스 커맨드로부터 실행을 위한 억세스 정보를 추출하여, 추출된 억세스 정보와 현재 실행되고 있는 커맨드의 억세스 정보의 비교결과에 기초하여 상기 보관된 커맨드의 총 실행시간이 입력받은 순서에 따른 총 실행시간에 비해 감소되도록 출력순서를 조정하여 출력하기 위한 커맨드 실행 조정기; 및
    상기 슬래이브 디바이스에 각각 대응되도록 마련되어, 대응 슬래이브 디바이스의 래이턴시 타임이 상기 슬래이브 디바이스의 래이턴시 타임 중 가장 긴 래이턴시 타임과 같아지도록 상기 커맨드 실행 조정기로부터 입력받은 억세스 커맨드를 대응 슬래이브 디바이스로 지연출력하는 의사 지연기를 포함하는 것을 특징으로 하는 버스 시스템.
  2. 제1항에 있어서,
    상기 중재기는, 복수의 마스터 디바이스에 각각 연결되어 상기 마스터 디바이스로부터 버스요구를 입력받기 위한 버스요구 수신부; 상기 버스요구 수신부를 통해 버스요구가 입력되면 상기 마스터 디바이스에 각각 대응되도록 미리 지정된 우선순위 레벨이 표시된 우선순위 레벨신호를 출력하고, 출력된 우선순위 레벨신호에 기초하여 상기 버스요구된 우선순위 레벨이 모두 표시된 우선순위 레벨 합산신호를 생성하기 위한 우선순위 레벨 추출부; 상기 우선순위 레벨 추출부로부터 생성된 우선순위 레벨 합산신호에 기초하여 높은 우선권을 갖는 순서대로 우선순위 레벨을 출력하기 위한 우선순위 출력부; 상기 우선순위 레벨신호에 기초하여, 버스요구한 마스터 디바이스의 식별자를 추출하고 추출된 마스터 디바이스의 식별자를 상기 우선순위 출력부로부터 출력된 우선순위 레벨에 대응되도록 출력하기 위한 마스터 디바이스 식별자 출력부를 포함한 우선권 매퍼(priority mapper); 및
    버스사용을 허여받은 마스터 디바이스가 상기 억세스 커맨드를 출력하도록 하기 위해, 상기 우선권 매퍼로부터 출력된 식별자를 갖는 마스터 디바이스에게 버스사용을 허여하기 위한 중재회로를 포함하는 것을 특징으로 하는 버스 시스템.
  3. 제2항에 있어서,
    상기 버스요구 수신부는, 복수의 마스터 디바이스에 각각 연결되어 상기 마스터 디바이스로부터 버스요구를 입력받기 위한 복수의 입력포트, 및 상기 입력포트에 마련되어 상기 입력포트에 지정된 우선순위 레벨을 저장하기 위한 리지스터를 포함하는 것을 특징으로 하는 버스 시스템.
  4. 제3항에 있어서,
    상기 우선순위 레벨신호는, 상기 우선순위 레벨의 수와 동수의 비트로 표시되는 것을 특징으로 하는 버스 시스템.
  5. 제4항에 있어서,
    상기 우선순위 출력부는, 적어도 하나의 상기 우선순위 레벨신호를 각 비트별로 OR연산하여 상기 우선순위 레벨신호와 동수의 비트로 표시되는 우선순위 레벨 합산신호를 생성하는 것을 특징으로 하는 버스 시스템.
  6. 제2항에 있어서,
    상기 마스터 디바이스 식별자 출력부는,
    상기 우선순위 레벨신호 중 우선순위 레벨이 표시된 비트열을 추출하여 순서대로 조합함으로써 식별자 신호를 생성하며, 생성된 식별자 신호에 기초하여 대응되는 마스터 디바이스의 식별자를 추출하기 위한 식별자 추출부; 및
    상기 식별자 추출부에 의해 추출된 식별자로부터 상기 우선순위 출력부로부터 입력된 우선순위 레벨을 갖는 마스터 디바이스의 식별자를 출력하기 위한 식별자 출력부를 포함하는 것을 특징으로 하는 버스 시스템.
  7. 제6항에 있어서,
    상기 식별자 추출부는, 상기 식별자 신호를 입력받아 대응 마스터 디바이스의 식별자를 추출하기 위한 디코더를 구비하는 것을 특징으로 하는 버스 시스템.
  8. 제1항에 있어서,
    상기 실행스케줄러는,
    상기 중재기로부터 출력된 억세스 커맨드를 대응 커맨드 실행 조정기로 전달하기 위한 억세스 커맨드 분배부; 및
    상기 커맨드 실행 조정기로부터 상기 억세스 커맨드를 전달받은 의사 지연기 중 실행준비 완료신호를 수신받은 의사 지연기에 대응되는 커맨드 실행 조정기로 상기 전달된 억세스 커맨드의 실행시작신호를 전송하기 위한 실행스케줄부를 포함하는 것을 특징으로 하는 버스 시스템.
  9. 제8항에 있어서,
    상기 실행스케줄부는, 상기 억세스 커맨드 분배부를 통해 억세스 커맨드를 전달받은 대응 슬래이브 디바이스의 식별자를 저장하기 위한 식별자 저장부로서, 상기 식별자를 저장하기 위한 적어도 하나의 저장셀을 구비한 식별자 저장큐, 및 상기 식별자 저장큐를 제어하기 위한 식별자 저장큐 제어부;
    상기 저장셀에 대응되도록 각각 마련되어 상기 저장셀에 저장된 식별자와 상기 실행준비 완료신호가 전송된 슬래이브 디바이스의 식별자의 동일성 여부를 판단하기 위한 비교기; 및
    상기 비교기에 의한 판단결과 식별자가 동일한 경우 상기 실행준비 완료신호가 전송된 의사 지연기로 상기 실행시작신호를 전송하기 위한 디코더를 구비하는 것을 특징으로 하는 버스 시스템.
  10. 제9항에 있어서,
    상기 억세스 커맨드 분배부는,
    상기 중재기로부터 수신된 억세스 커맨드를 저장하기 위한 커맨드 저장큐 및 상기 커맨드 저장큐 제어부를 포함하는 것을 특징으로 하는 버스 시스템.
  11. 제8항에 있어서,
    상기 커맨드 실행 조정기는,
    상기 억세스 커맨드 분배부로부터 입력된 적어도 두 개의 억세스 커맨드를 보관하기 위한 커맨드 보관부;
    상기 커맨드 보관부에 저장된 억세스 커맨드로부터 실행을 위한 억세스 정보를 추출하기 위한 억세스 정보 추출부;
    상기 슬래이브 디바이스에서 현재 실행되고 있는 억세스 커맨드의 억세스 정보를 저장하기 위한 실행 억세스 정보 저장부;
    상기 억세스 정보 추출부에 의해 추출된 억세스 정보와 상기 실행 억세스 정보 저장부에 저장된 억세스 정보를 비교하기 위한 비교부; 및
    상기 비교부의 비교결과에 기초하여 상기 보관된 억세스 커맨드의 실행시간이 상기 커맨드 보관부에 저장된 순서에 따른 실행시간에 비해 감소되도록 상기 커맨드 보관부에 보관된 억세스 커맨드의 출력순서를 조정하여 상기 의사 지연기로 출력하기 위한 출력순서 조정부를 포함하는 것을 특징으로 하는 버스 시스템.
  12. 제11항에 있어서,
    상기 커맨드 보관부는, 억세스 커맨드를 저장하기 위한 복수의 저장셀을 구비한 커맨드 저장큐를 포함하고,
    상기 억세스 정보 추출부는, 상기 저장셀에 대응되도록 각각 마련되어, 상기 억세스 정보를 추출하기 위한 복수의 정보 추출기를 포함하며,
    상기 실행 억세스 정보 저장부는, 현재 실행 중인 억세스 커맨드의 억세스 정보를 저장하기 위한 리지스터를 포함하며,
    상기 비교부는, 상기 억세스 정보 추출부에 대응되도록 각각 마련되어, 상기 억세스 정보 추출부에 의해 추출된 억세스 정보와 상기 리지스터에 저장된 억세스 정보를 비교하기 위한 복수의 비교기를 포함하고,
    상기 출력순서 조정부는, 상기 비교기의 비교결과에 기초하여 부여된 우선순위에 따라 출력순서를 조정하기 위한 출력순서 조정회로; 및 출력순서 조정회로로부터의 출력순서에 따라 상기 커맨드 보관부에 보관된 억세스 커맨드를 출력하기 위한 멀티플렉서를 포함하는 것을 특징으로 하는 버스 시스템.
  13. 제11항 또는 제12항에 있어서,
    상기 억세스 정보는, 뱅크 어드레스와 로우어드레스를 포함하며,
    상기 비교부는, 상기 정보 추출기에 의해 추출된 뱅크 어드레스 및 로우어드레스를 상기 리지스터에 저장된 뱅크 어드레스 및 로우어드레스와 각각 비교하는 것을 특징으로 하는 버스 시스템.
  14. 제13항에 있어서,
    상기 출력순서 조정회로는,
    상기 비교부의 비교결과, 뱅크 어드레스 및 로우어드레스가 동일한 경우, 제1 우선순위를 부여하는 것을 특징으로 하는 버스 시스템.
  15. 제14항에 있어서,
    상기 출력순서 조정회로는,
    상기 비교부의 비교결과, 뱅크 어드레스가 상이한 경우, 제2 우선순위를 부여하는 것을 특징으로 하는 버스 시스템.
  16. 제11항에 있어서,
    상기 억세스 정보는, 억세스 정보로서 버스트 전송되는 데이터의 길이를 의미하는 버스트 길이를 더 포함하는 것을 특징으로 하는 버스 시스템.
  17. 제1항에 있어서,
    상기 의사 지연기는, 상기 래이턴시 타임 중 가장 긴 래이턴시 타임과, 상기 각 슬래이브 디바이스의 래이턴시 타임과의 차(difference) 클럭수인 지연클럭수가 저장된 저장부를 구비하고, 상기 커맨드 실행 조정기로부터 억세스 커맨드를 전달받아, 상기 저장부에 저장된 지연클럭수가 경과된 후 대응 슬래이브 디바이스로 전달하는 것을 특징으로 하는 버스 시스템.
  18. 복수의 마스터 디바이스와, 복수의 슬래이브 디바이스를 구비하고, 상기 슬래이브 디바이스 중 적어도 하나는 래이턴시 타임(latency time)을 갖는 버스 시스템에 있어서,
    마스터 디바이스로부터 출력된 억세스 커맨드를 입력받아 소정 중재알고리즘에 따른 순서대로 출력하기 위한 중재기;
    상기 중재기로부터 상기 억세스 커맨드를 입력받아, 대응 슬래이브 디바이스의 실행 준비가 완료된 순서에 따라 상기 억세스 커맨드를 출력하기 위한 실행스케줄러;
    상기 슬래이브 디바이스에 대응되도록 각각 마련되어, 상기 실행스케줄러로부터 입력받은 적어도 하나의 억세스 커맨드를 보관하고, 입력된 순서대로 출력하기 위한 커맨드 저장기; 및
    상기 슬래이브 디바이스에 각각 대응되도록 마련되어, 대응 슬래이브 디바이스의 래이턴시 타임이 상기 슬래이브 디바이스의 래이턴시 타임 중 가장 긴 래이턴시 타임과 같아지도록 상기 커맨드 저장기로부터 입력받은 억세스 커맨드를 대응 슬래이브 디바이스로 지연출력하는 의사 지연기를 포함하는 것을 특징으로 하는 버스 시스템.
  19. 제18항에 있어서,
    상기 중재기는, 복수의 마스터 디바이스에 각각 연결되어 상기 마스터 디바이스로부터 버스요구를 입력받기 위한 버스요구 수신부; 상기 버스요구 수신부를 통해 버스요구가 입력되면 상기 마스터 디바이스에 각각 대응되도록 미리 지정된 우선순위 레벨이 표시된 우선순위 레벨신호를 출력하고, 출력된 우선순위 레벨신호에 기초하여 상기 버스요구된 우선순위 레벨이 모두 표시된 우선순위 레벨 합산신호를 생성하기 위한 우선순위 레벨 추출부; 상기 우선순위 레벨 추출부로부터 생성된 우선순위 레벨 합산신호에 기초하여 높은 우선권을 갖는 순서대로 우선순위 레벨을 출력하기 위한 우선순위 출력부; 상기 우선순위 레벨신호에 기초하여, 버스요구한 마스터 디바이스의 식별자를 추출하고 추출된 마스터 디바이스의 식별자를 상기 우선순위 출력부로부터 출력된 우선순위 레벨에 대응되도록 출력하기 위한 마스터 디바이스 식별자 출력부를 포함한 우선권 매퍼(priority mapper); 및
    버스사용을 허여받은 마스터 디바이스가 상기 억세스 커맨드를 출력하도록 하기 위해, 상기 우선권 매퍼로부터 출력된 식별자를 갖는 마스터 디바이스에게 버스사용을 허여하기 위한 중재회로를 포함하는 것을 특징으로 하는 버스 시스템.
  20. 제19항에 있어서,
    상기 버스요구 수신부는, 복수의 마스터 디바이스에 각각 연결되어 상기 마스터 디바이스로부터 버스요구를 입력받기 위한 복수의 입력포트, 및 상기 입력포트에 마련되어 상기 입력포트에 지정된 우선순위 레벨을 저장하기 위한 리지스터를 포함하는 것을 특징으로 하는 버스 시스템.
  21. 제20항에 있어서,
    상기 우선순위 레벨신호는, 상기 우선순위 레벨의 수와 동수의 비트로 표시되는 것을 특징으로 하는 버스 시스템.
  22. 제21항에 있어서,
    상기 마스터 디바이스 식별자 출력부는, 상기 우선순위 레벨신호 중 우선순위 레벨이 표시된 비트열을 추출하여 순서대로 조합함으로써 식별자 신호를 생성하며, 생성된 식별자 신호에 기초하여 대응되는 마스터 디바이스의 식별자를 추출하기 위한 식별자 추출부; 및 상기 식별자 추출부에 의해 추출된 식별자로부터 상기 우선순위 출력부로부터 입력된 우선순위 레벨을 갖는 마스터 디바이스의 식별자를 출력하기 위한 식별자 출력부를 포함하는 것을 특징으로 하는 버스 시스템.
  23. 제19항에 있어서,
    상기 식별자 추출부는, 상기 우선순위 레벨신호 중 우선순위 레벨이 표시된 비트열을 추출하여 순서대로 조합함으로써 식별자 신호를 생성하며, 생성된 식별자 신호에 기초하여 대응되는 마스터 디바이스의 식별자를 추출하며,
    상기 식별자 출력부는, 상기 식별자 추출부에 의해 추출된 식별자로부터 상기 우선순위 출력부로부터 입력된 우선순위 레벨을 갖는 마스터 디바이스의 식별자를 출력하는 것을 특징으로 하는 버스 시스템.
  24. 제23항에 있어서,
    상기 식별자 추출부는, 상기 식별자 신호를 입력받아 대응 마스터 디바이스의 식별자를 추출하기 위한 디코더를 구비하는 것을 특징으로 하는 버스 시스템.
  25. 제24항에 있어서,
    상기 실행스케줄러는,
    상기 중재기로부터 출력된 억세스 커맨드를 대응 커맨드 저장기로 전달하기 위한 억세스 커맨드 분배부; 및
    상기 커맨드 저장기로부터 상기 억세스 커맨드를 전달받은 의사 지연기 중 실행준비 완료신호를 수신받은 의사 지연기에 대응되는 커맨드 저장기로 상기 전달된 억세스 커맨드의 실행시작신호를 전송하기 위한 실행스케줄부를 포함하는 것을 특징으로 하는 버스 시스템.
  26. 제25항에 있어서,
    상기 실행스케줄부는, 상기 억세스 커맨드 분배부를 통해 억세스 커맨드를 전달받은 대응 슬래이브 디바이스의 식별자를 저장하기 위한 식별자 저장부로서, 상기 식별자를 저장하기 위한 적어도 하나의 저장셀을 구비한 식별자 저장큐, 및 상기 식별자 저장큐를 제어하기 위한 식별자 저장큐 제어부;
    상기 저장셀에 대응되도록 각각 마련되어 상기 저장셀에 저장된 식별자와 상기 실행준비 완료신호가 전송된 슬래이브 디바이스의 식별자의 동일성 여부를 판단하기 위한 비교기; 및
    상기 비교기에 의한 판단결과 식별자가 동일한 경우 상기 실행준비 완료신호가 전송된 의사 지연기로 상기 실행시작신호를 전송하기 위한 디코더를 구비하는 것을 특징으로 하는 버스 시스템.
  27. 제26항에 있어서,
    상기 억세스 커맨드 분배부는,
    상기 중재기로부터 수신된 억세스 커맨드를 저장하기 위한 커맨드 저장큐 및 상기 커맨드 저장큐 제어부를 포함하는 것을 특징으로 하는 버스 시스템.
  28. 제18항에 있어서,
    상기 커맨드 저장기는,
    상기 억세스 커맨드를 저장하기 위한 실행 커맨드 저장큐, 및 상기 실행 커맨드 저장큐를 제어하기 위한 실행 커맨드 저장큐 제어부를 포함하는 것을 특징으로 하는 버스 시스템.
  29. 제18항에 있어서,
    상기 의사 지연기는, 상기 래이턴시 타임 중 가장 긴 래이턴시 타임과, 상기 각 슬래이브 디바이스의 래이턴시 타임과의 차(difference) 클럭수인 지연클럭수가 저장된 저장부를 구비하고, 상기 커맨드 실행 조정기로부터 억세스 커맨드를 전달받아, 상기 저장부에 저장된 지연클럭수가 경과된 후 대응 슬래이브 디바이스로 전달하는 것을 특징으로 하는 버스 시스템.
KR1020000046658A 2000-08-11 2000-08-11 버스 시스템 KR100716950B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020000046658A KR100716950B1 (ko) 2000-08-11 2000-08-11 버스 시스템
CNB011083026A CN1191531C (zh) 2000-08-11 2001-02-27 总线系统
GB0104991A GB2366883B (en) 2000-08-11 2001-02-28 Data processing apparatus with a bus system
JP2001072809A JP3898899B2 (ja) 2000-08-11 2001-03-14 バスシステム
US09/817,756 US6671761B2 (en) 2000-08-11 2001-03-27 Bus system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000046658A KR100716950B1 (ko) 2000-08-11 2000-08-11 버스 시스템

Publications (2)

Publication Number Publication Date
KR20020013184A KR20020013184A (ko) 2002-02-20
KR100716950B1 true KR100716950B1 (ko) 2007-05-10

Family

ID=19682869

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000046658A KR100716950B1 (ko) 2000-08-11 2000-08-11 버스 시스템

Country Status (5)

Country Link
US (1) US6671761B2 (ko)
JP (1) JP3898899B2 (ko)
KR (1) KR100716950B1 (ko)
CN (1) CN1191531C (ko)
GB (1) GB2366883B (ko)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6738845B1 (en) * 1999-11-05 2004-05-18 Analog Devices, Inc. Bus architecture and shared bus arbitration method for a communication device
KR100644597B1 (ko) * 2000-08-05 2006-11-10 삼성전자주식회사 버스 시스템 및 그 커맨드 전달방법
US7000049B1 (en) * 2000-12-28 2006-02-14 Juniper Networks, Inc. Systems and methods for reliably selecting bus mastership in a fault tolerant manner
US6836840B2 (en) 2001-07-30 2004-12-28 International Business Machines Corporation Slaves with identification and selection stages for group write
US7216204B2 (en) * 2001-08-27 2007-05-08 Intel Corporation Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment
US7225281B2 (en) * 2001-08-27 2007-05-29 Intel Corporation Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
EP1430690B1 (de) * 2001-09-26 2006-06-21 Siemens Aktiengesellschaft Verfahren zum zugriff auf eine befehlseinheit für ein datennetz
JP2003271551A (ja) * 2002-03-18 2003-09-26 Fujitsu Ltd マイクロコンピュータ、バス制御回路およびマイクロコンピュータにおけるデータアクセス方法
US6851056B2 (en) * 2002-04-18 2005-02-01 International Business Machines Corporation Control function employing a requesting master id and a data address to qualify data access within an integrated system
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
US7743257B2 (en) * 2002-06-27 2010-06-22 Nxp B.V. Security processor with bus configuration
US7260611B2 (en) * 2002-11-21 2007-08-21 Microsoft Corporation Multi-leader distributed system
KR100532416B1 (ko) * 2003-01-18 2005-11-30 삼성전자주식회사 다중 소스의 다중 채널로의 할당 방법 및 시스템
US7062582B1 (en) 2003-03-14 2006-06-13 Marvell International Ltd. Method and apparatus for bus arbitration dynamic priority based on waiting period
KR100626362B1 (ko) * 2003-05-23 2006-09-20 삼성전자주식회사 고속 대역폭의 시스템 버스를 중재하기 위한 중재기, 중재기를 포함하는 버스 시스템 및 버스 중재 방법
US7100002B2 (en) * 2003-09-16 2006-08-29 Denali Software, Inc. Port independent data transaction interface for multi-port devices
DE602004020504D1 (de) * 2003-12-09 2009-05-20 Thomson Licensing Speichersteuerung
US7143220B2 (en) * 2004-03-10 2006-11-28 Intel Corporation Apparatus and method for granting concurrent ownership to support heterogeneous agents in on-chip busses having different grant-to-valid latencies
JP4480427B2 (ja) * 2004-03-12 2010-06-16 パナソニック株式会社 リソース管理装置
US7305510B2 (en) * 2004-06-25 2007-12-04 Via Technologies, Inc. Multiple master buses and slave buses transmitting simultaneously
US20060020760A1 (en) * 2004-07-22 2006-01-26 International Business Machines Corporation Method, system, and program for storing sensor data in autonomic systems
US7272692B2 (en) * 2004-11-12 2007-09-18 International Business Machines Corporation Arbitration scheme for memory command selectors
KR100631202B1 (ko) * 2005-01-11 2006-10-04 삼성전자주식회사 Cdma 버스를 이용한 원칩 시스템 및 그의 데이터전송방법
KR100694095B1 (ko) * 2005-03-05 2007-03-12 삼성전자주식회사 버스 연결 방법 및 장치
US20060271739A1 (en) * 2005-05-24 2006-11-30 Shu-Fang Tsai Management of transfer of commands
US20080059672A1 (en) * 2006-08-30 2008-03-06 Irish John D Methods and Apparatus for Scheduling Prioritized Commands on a Bus
WO2008053277A1 (en) * 2006-10-31 2008-05-08 Freescale Semiconductor, Inc. Network and method for setting a time-base of a node in the network
US8156273B2 (en) * 2007-05-10 2012-04-10 Freescale Semiconductor, Inc. Method and system for controlling transmission and execution of commands in an integrated circuit device
JP2009003633A (ja) 2007-06-20 2009-01-08 Panasonic Corp 情報処理装置
JP2009116378A (ja) * 2007-11-01 2009-05-28 Renesas Technology Corp 半導体装置
US7937520B2 (en) * 2008-01-11 2011-05-03 Mediatek Inc. General purpose interface controller of resoure limited system
CN101499046A (zh) * 2008-01-30 2009-08-05 鸿富锦精密工业(深圳)有限公司 Spi设备通信电路
CN101692212B (zh) * 2009-06-19 2012-11-14 无锡中星微电子有限公司 一种访问存储器的方法、系统和总线仲裁装置
JP5418193B2 (ja) * 2009-12-14 2014-02-19 富士ゼロックス株式会社 調停装置、画像処理装置、及び画像形成システム
US8612648B1 (en) * 2010-07-19 2013-12-17 Xilinx, Inc. Method and apparatus for implementing quality of service in a data bus interface
US20130019046A1 (en) * 2011-07-15 2013-01-17 Skymedi Corporation Data transmitting device and system for portable device and method thereof
US9882823B2 (en) * 2012-03-08 2018-01-30 Marvell World Trade Ltd. Systems and methods for blocking transmission of a frame in a network device
CN104142977B (zh) * 2014-07-09 2018-03-06 上海航天电子通讯设备研究所 采用检索表确定多数据源优先级的存储方法
GB2540610B (en) * 2015-07-23 2017-12-06 Advanced Risc Mach Ltd Gathering monitoring data relating to the operation of a data processing system
KR102500821B1 (ko) 2015-12-29 2023-02-17 삼성전자주식회사 복수의 회로들 및 복수의 회로들을 연결하는 버스를 포함하는 반도체 장치 및 반도체 장치의 동작 방법
CN107025188A (zh) * 2016-01-29 2017-08-08 后旺科技股份有限公司 复合式硬盘的交握方法
KR101673943B1 (ko) * 2016-07-07 2016-11-08 주식회사 올피아 유무선 통신방식을 이용한 통합 스마트기기 인터페이스 시스템 및 그 방법
US10558604B2 (en) * 2017-12-20 2020-02-11 Qualcomm Incorporated Communication interface transaction security
US10545897B2 (en) * 2018-01-24 2020-01-28 Qualcomm Incorporated System and method for deterministic transactions on a serial bus
CN111026699B (zh) * 2019-12-05 2024-02-06 苏州雄立科技有限公司 基于环形总线的多核网络通信方法、装置及系统
US11914532B2 (en) 2021-08-31 2024-02-27 Apple Inc. Memory device bandwidth optimization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000067135A (ko) * 1999-04-23 2000-11-15 윤종용 동적 우선순위 조정기능을 갖는 버스 중재기와 버스 중재방법
KR20020008955A (ko) * 2000-07-21 2002-02-01 윤종용 버스 시스템 및 그 실행 순서 조정방법

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5476027A (en) 1977-11-30 1979-06-18 Fujitsu Ltd Dynamic priority circuit
JPS5556221A (en) 1978-10-18 1980-04-24 Fujitsu Ltd Priority decision system
JPS63155249A (ja) 1986-12-18 1988-06-28 Fujitsu Ltd 装置間通信方式
JPH01226062A (ja) 1988-03-07 1989-09-08 Fujitsu Ltd バス・リクエスト制御方式
JPH02101560A (ja) 1988-10-11 1990-04-13 Nec Corp バスインタフェース装置
US5293500A (en) * 1989-02-10 1994-03-08 Mitsubishi Denki K.K. Parallel processing method and apparatus
JPH0415741A (ja) 1990-05-02 1992-01-21 Toshiba Corp 要求受付け制御システム
JPH04278651A (ja) 1991-03-07 1992-10-05 Nec Corp 主記憶装置
EP0535822B1 (en) * 1991-09-27 1997-11-26 Sun Microsystems, Inc. Methods and apparatus for locking arbitration on a remote bus
US5467295A (en) * 1992-04-30 1995-11-14 Intel Corporation Bus arbitration with master unit controlling bus and locking a slave unit that can relinquish bus for other masters while maintaining lock on slave unit
JP3149143B2 (ja) 1992-09-07 2001-03-26 日本電信電話株式会社 アクセス調停方式
JP2908147B2 (ja) 1992-10-30 1999-06-21 富士通株式会社 バス制御装置及び方法
JPH0844662A (ja) 1994-07-26 1996-02-16 Fuji Xerox Co Ltd 情報処理装置
JPH1011356A (ja) 1996-06-21 1998-01-16 Nec Eng Ltd メモリアクセスシステム
US5884052A (en) * 1997-07-14 1999-03-16 Vlsi Technology, Inc. Smart retry mechanism to program the retry latency of a PCI initiator agent
US6226757B1 (en) * 1997-10-10 2001-05-01 Rambus Inc Apparatus and method for bus timing compensation
US6081859A (en) * 1998-03-12 2000-06-27 Vlsi Technology, Inc. Address dependent retry system to program the retry latency of an initiator PCI agent
US6275890B1 (en) * 1998-08-19 2001-08-14 International Business Machines Corporation Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration
US6289406B1 (en) * 1998-11-06 2001-09-11 Vlsi Technology, Inc. Optimizing the performance of asynchronous bus bridges with dynamic transactions
US6393506B1 (en) * 1999-06-15 2002-05-21 National Semiconductor Corporation Virtual channel bus and system architecture
US6513089B1 (en) * 2000-05-18 2003-01-28 International Business Machines Corporation Dual burst latency timers for overlapped read and write data transfers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000067135A (ko) * 1999-04-23 2000-11-15 윤종용 동적 우선순위 조정기능을 갖는 버스 중재기와 버스 중재방법
KR20020008955A (ko) * 2000-07-21 2002-02-01 윤종용 버스 시스템 및 그 실행 순서 조정방법

Also Published As

Publication number Publication date
US20020023186A1 (en) 2002-02-21
CN1337628A (zh) 2002-02-27
GB2366883A (en) 2002-03-20
GB0104991D0 (en) 2001-04-18
US6671761B2 (en) 2003-12-30
JP2002063131A (ja) 2002-02-28
CN1191531C (zh) 2005-03-02
GB2366883B (en) 2002-10-02
KR20020013184A (ko) 2002-02-20
JP3898899B2 (ja) 2007-03-28

Similar Documents

Publication Publication Date Title
KR100716950B1 (ko) 버스 시스템
US4449183A (en) Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US6691216B2 (en) Shared program memory for use in multicore DSP devices
US6393506B1 (en) Virtual channel bus and system architecture
US7051133B2 (en) Arbitration circuit and data processing system
US7395364B2 (en) Data transfer control apparatus
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US7346722B2 (en) Apparatus for use in a computer systems
US9697118B1 (en) Memory controller with interleaving and arbitration scheme
KR100657256B1 (ko) 중재기 및 그 중재기를 채용한 버스 시스템
US7006521B2 (en) External bus arbitration technique for multicore DSP device
JP3260456B2 (ja) コンピュータシステムおよびそれに適した集積回路並びに要求選択回路
KR101420290B1 (ko) 트랜잭션들을 그룹화하는 버스 중재기, 이를 포함하는 버스장치 및 시스템
US7752400B1 (en) Arbitration and crossbar device and method
US20040243770A1 (en) Data transfer system
JP4593220B2 (ja) メモリアクセス制御方式と方法、及び共有メモリアクセス制御方式と方法
EP1929403B1 (en) A device having a low latency single port memory unit and a method for writing multiple data segments to a single port memory unit
GB2341771A (en) Address decoding
GB2341765A (en) Bus idle usage
GB2341767A (en) Bus arbitration
GB2341699A (en) Inter-module data transfer
GB2341768A (en) Bus arbitration
GB2341770A (en) Modular bus topology
GB2341769A (en) Data packet reordering
JP2009205313A (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
FPAY Annual fee payment

Payment date: 20130429

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140429

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150429

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee