KR100317033B1 - 데이터버스 - Google Patents

데이터버스 Download PDF

Info

Publication number
KR100317033B1
KR100317033B1 KR1019960700733A KR19960700733A KR100317033B1 KR 100317033 B1 KR100317033 B1 KR 100317033B1 KR 1019960700733 A KR1019960700733 A KR 1019960700733A KR 19960700733 A KR19960700733 A KR 19960700733A KR 100317033 B1 KR100317033 B1 KR 100317033B1
Authority
KR
South Korea
Prior art keywords
bus
data
address
request signal
circuit
Prior art date
Application number
KR1019960700733A
Other languages
English (en)
Other versions
KR960704273A (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 맥케이 데이비드 니겔
Publication of KR960704273A publication Critical patent/KR960704273A/ko
Application granted granted Critical
Publication of KR100317033B1 publication Critical patent/KR100317033B1/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0879Burst mode
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol

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)

Abstract

데이터 프로세싱용 장치는 하나 또는 그 이상의 버스 슬레이브 회로(8,10,12)를 가진 버스 마스타 회로(6)를 상호 연결하기 위하여 일반 데이터 버스(4)를 사용하여 설명한다.
데이터 프로세싱 장치(2)는 어드레스 워드에 의해 지정되는 것으로 부터 뒤따르는 어드레스에 관련한 순차의 데이터 워드에 의해 어드레스 워드가 뒤따라지는 버스트 모드전송을 지원하기 위하여 배열된다.
상기와 같은 전송은 지정될 필요가 있는 어드레스 워드당 송신된 데이터 워드의 수를 증가한다.
데이터 버스(4)는 버스 슬레이브 회로(8,10,12)의 어느것도 데이타 워드 이외도 다음 프로세싱 사이클에서 송신되기 위하여 어드레스 워드를 요구할 수 있음으로 어드레스 요구신호라인(16)을 포함한다.
상기 방법에서, 버스 마스터 회로(6)는 버스 슬레이브가 스스로 버스트 모드전송을 어느 정도까지 처리할 수 있는가를 표시할 수 있기 때문에 버스(4)에 부착되는 버스 슬레이브에 특별히 적합할 필요가 없다.
대기 사이클 요구신호 및 버스트 모드전송이 완전히 중단되어야 하는 것을 나타내는 신호결합이 또한 지원된다.

Description

데이터 버스
본 발명은 데이터 버스를 갖는 데이터 처리장치의 분야에 관한 것이다. 특히, 본 발명은 버스 마스터 회로 및 버스 슬레이브 회로를 갖는 장치에 관한 것이다.
버스 마스터(bus master)가 데이터 버스 상에 데이터 전송을 개시 및 제어하고, 1개 또는 그 이상의 버스 슬레이브(bus slave)가 버스 마스터에 의해 개시된 트랜잭션(transaction)에 응답하도록 한 마스터 및 슬레이브 버스 구성을 제공하는 것이 알려져 있다. 그러한 구성은 쉽게 확장될 수 있고, 또 다양한 버스 슬레이브가 단일 버스 마스터에 의해 관리될 수 있게 한다. 그러나, 이러한 구성은 버스 마스터가 다양한 버스 슬레이브 내의 서로 다른 성능 파라미터를 수용할 수 있어야 하고, 버스 마스터가 예컨대, 특정한 버스 슬레이브 또는 각 버스 슬레이브의 어드레스 요구조건으로부터 데이터가 전송될 수 있는 속도로 버스 슬레이브와 통신해야 한다고 하는 단점을 갖는다.
이것은 특히 모든 버스 슬레이브가 다 그러한 고성능 작동을 행할 수 있을 것 같지 않은 데이터 버스를 통한 고성능 전송 모드의 경우이다. 이것은 새로운 버스 슬레이브가 시스템에 부가될 때, 버스 마스터가 그 새로운 버스 슬레이브의 성능 특성을 고려하여 재프로그램/재구성되어야 한다고 하는 문제점을 발생한다. 이것은 특별한 결합을 위해 구성요소들을 변경할 필요없이 단지 데이터 버스에 다양한 구성요소들을 첨부하기를 희망하는 새로운 시스템을 개발하는 데에 있어서 불리한 추가의 복잡성이다.
유럽특허 출원 EP-A-0348113은 버스트 모드가 종결해야 할 때 버스트 모드 전송 및 신호를 프로세서에 지원하는 프로그램 가능한 메모리 제어기에 대해서 개시한다.
IBM Technical Disclosure Bulletin vol. 33, no. 6B, November 1990, New York, US, Page 422, "Computer system channel performance enhancement via addrsss boundary release"는 페이지 경계에서 요구되는 것과 같은 대기상태를 삽입하는 메모리 제어기에 대해서 개시한다.
Wescon Conference Record, vol. 34, November 1990, North Hollywood, US, pages 29-32, Amitoi et al, "Burst mod memories improve cache design"는 버스 마스터 및 버스 슬레이브를 포함하는 집적회로에 대해서 개시한다.
하나의 관점에서 보면, 본 발명은 데이터 처리장치를 제공하고, 상기 장치는, 데이터 워드 및 어드레스 워드를 운반하는 데이터 버스와, 어드레스의 시퀀스의 개시 어드레스를 지정하며 연속하는 처리 사이클 동안에 상기 데이터 버스를 통해서 전송될 복수의 데이터 워드의 각각과 관련되어 있는 어드레스 워드를, 상기 버스 마스터가 발생하는 상기 데이터 버스를 통해서 버스트 모드 전송을 개시하는 버스 마스터 회로와, 상기 데이터 버스를 통해서 상기 버스 마스터 회로로부터 상기 버스트 모드 전송의 상기 복수의 데이터 워드를 수신하는 버스 슬레이브 회로를 구비하고, 상기 데이터 버스는 어드레스 요구 신호 라인을 포함하며, 상기 버스 슬레이브 회로는 어드레스 워드가 다음의 처리 사이클 동안에 상기 버스 슬레이브 회로에 의해 요구될 때 어드레스 요구 신호를 발생하는 수단을 포함하고, 상기 버스 마스터 회로는 상기 어드레스 요구 신호 라인을 통해서 상기 버스 슬레이브 회로로부터 수신된 어드레스 요구 신호에 응답하여, 상기 버스트 모드 전송을 중단하고 상기 다음 처리 사이클 동안에 더 어드레스 워드를 발생한다.
버스 마스터 회로로부터 버스 슬레이브 회로로의 버스트 모드 전송은 특히 효율적이고 작동이 고성능인 모드이다. 전송되고 있는 데이터가 처음의 지정된 어드레스에서 시작하는, 버스 슬레이브 회로 내의 소정의 어드레스의 시퀀스와 관련되는 곳에, 단지 처음의 어드레스만이 지정되어야 한다. 이와 같이, 수백 또는 수천의 데이터 워드는 단일 어드레스 워드를 추종할 것이다. 지정될 필요가 있는 어드레스 워드마다 전송되는 데이터 워드 수가 증가하면 일정한 데이터 워드의 블록을 전송하기 위해 요구되는 시간을 단축하는 이점을 갖는다.
공교롭게도, 모든 버스 슬레이브가 다 그러한 버스트 모드 전송을 충분히 처리할 수 있는 것은 아니다. 일례로, 페이지 모드의 다이내믹 램덤 액세스 메모리(Dynamic Random Access Memory: DRAM)에 대해서 생각한다. 그러한 DRAM은 페이지 경계가 교차될 때를 제외하고, 버스트 모드 전송을 지원할 수 있다. 페이지 경계가 교차될 때, DRAM은 전송될 새로운 어드레스 워드를 요구한다. 종래에는 이것을 처리하기 위해, 버스 마스터가 DRAM 내의 페이지 경계를 알고 있어야 하고, 페이지 경계를 스팬(span)하는 버스트 모드 전송을 보내지 않아야 한다.
본 발명은 데이터 버스 내에 어드레스 요구 신호 라인을 설치함으로써 상기및 상기와 같은 문제점을 인지하여 해결하는데, 버스 슬레이브 회로는 상기 데이터버스에 의해 버스 마스터 회로로부터 버스트 모드 전송을 중단할 수 있고, 또 다음의 처리 사이클 동안에 전송될 어드레스 워드를 더 요청할 수 있다. 이와 같이, 버스트 마스터 회로는 특별히 각 첨부된 버스 슬레이브 회로에 적합하지 않아도 되고, 또 관련된 버스 슬레이브 회로가 어드레스 워드에 대한 필요성을 나타내지 않으면, 또는 관련된 슬레이브 회로가 어드레스 워드에 대한 필요성을 나타낼 때까지 고성능 버스트 모드 전송을 간단히 시작할 수 있다. 이와 같이, 이 시스템을 변경하기 위한 유연성은 고성능 버스트 모드 전송의 제공에 타협할 필요없이 제공된다.
어드레스 요구 신호 라인의 제공과 강한 시너지를 갖는 본 발명의 바람직한 특징은 상기 데이터 버스가 대기 사이클 요구 신호 라인을 포함하고, 상기 버스 슬레이브 회로가, 대기 사이클이 상기 다음 처리 사이클 동안에 상기 버스 슬레이브 회로에 의해 요구될 때, 대기 사이클 요구 신호를 발생하는 수단을 포함하며, 상기 버스 마스터 회로가 상기 대기 사이클 요구 신호 라인을 통해서 상기 버스 슬레이브 회로로부터 수신된 대기 사이클 요구 신호에 응답하여, 상기 다음의 처리 사이클 내에 대기 사이클을 삽입하는 수단을 포함한다는 것이다.
이와 같이, 버스 슬레이브 회로가 수신된 데이터 워드를 처리할 수 있는 속도는, 버스 슬레이브 회로가 다음의 데이터 워드의 전송을 시작하기 전에 버스 마스터 회로로 하여금 대기 사이클을 삽입하도록 하게 할 수 있다는 점에서 조정될 수 있다. 그러한 동작의 예로서는 데이터 버스가 32비트 워드를 전송했지만 버스 슬레이브 회로는 단지 8비트 워드만을 처리할 수 있는 경우이다. 이 경우에, 데이터 마스터 회로부터 32비트 워드를 수신하면, 버스 슬레이브 회로는 적어도 4개의 처리 사이클을 이용하여 그 시간 동안에 수신된 데이터 워드를 파괴하여 저장할 것이고, 버스 슬레이브 회로는 대기 사이클 요구 신호를 표명하여 버스 마스터 회로로부터 데이터 워드의 전송을 지연할 수 있다.
특히 바람직한 특징은 상기 버스 마스터가 어드레스 요구 신호 및 대기 사이클 요구 신호의 동시 수신에 응답하여 상기 버스트 모드 전송을 중단한 후에 다시시도하는 수단을 포함한다는 것이다.
이와 같이, 버스 슬레이브 회로는 버스 마스터 회로에 의해 개시된 버스트 모드 전송의 완전한 철회를 강요할 수 있다. 이것에 의해, 버스 슬레이브 회로가 이용 불가능하면 마치 데드록(deadlock) 상태 또는 고장으로 이끌 수 있는 상황에서 전송이 시작되지 않았던 것처럼 버스 브리지 또는 중계기와 같은 버스 슬레이브회로가 버스 마스터 회로로 하여금 그 버스를 포기하게 강요할 수 있다.
단일의 데이터 버스에 대하여 어드레스 워드 및 데이터 워드의 다중화를 용이하게 하기 위해, 상기 데이터 버스는 어드레스 또는 데이터 지정 신호 라인을 포함하는 것이 바람직한데, 상기 버스 마스터 회로는 어드레스 워드 또는 데이터 워드가 상기 버스트 모드 전송의 부분으로서 상기 다음의 처리 사이클 동안에 상기 버스 마스터 회로에 의해 발생되는지의 여부를 나타내는 어드레스 또는 데이터 지정 신호를 발생하는 수단을 포함하고, 상기 버스트 슬레이브 회로는 상기 어드레스및 데이터 지정 신호 라인을 통해서 상기 버스 마스터 회로로부터 수신된 어드레스 또는 데이터 지정 신호에 응답하여, 상기 다음 처리 사이클 동안에 상기 버스 슬레이브 회로에 의한 처리를 제어하는 수단을 포함한다.
버스 마스터 회로 및 버스 슬레이브 회로는 별개의 구성요소라고 이해할 수 있을 것이다. 그러나, 그러한 버스 마스터 회로 및 버스 슬레이브 회로는 ASIC(Application Specific Integrated Circuit)로 함께 결합되는 쪽으로 기울고 있다. 새로운 ASIC를 창출하는데 필요한 다양한 회로 부품의 재공학의 양이 감소되기 때문에, 본 발명은 상기 버스 마스터 회로 및 상기 버스 슬레이브 회로가 단일집적회로 위에 형성되는 경우에 특히 적합하다.
데이터 버스에 부착된 1개 또는 그 이상의 버스 슬레이브 회로 및 버스 마스터 회로가 다양한 형태를 취할 수 있다는 것을 알 수 있을 것이다. 그러나, 본 발명은 버스 마스터 회로가 중앙처리장치이며 1개 또는 그 이상의 버스 슬레이브 회로가 페이지 모드 램덤 액세스 메모리 또는 캐쉬 메모리를 구비하고 있는 경우에 특히 적합하다.
또 다른 관점에서 보면, 본 발명은 데이터 처리방법을 제공하는데, 상기 방법은, 버스 마스터 회로에서, 어드레스의 시퀀스의 개시 어드레스를 지정하며 연속하는 처리 사이클 동안에 상기 데이터 버스를 통해서 전송될 복수의 데이터 워드의 각각과 관련되어 있는 어드레스 워드를 상기 버스 마스터가 발생하는, 데이터 워드및 어드레스 워드를 운반하기 위한 데이터 버스를 통해서 버스트 모드 전송을 개시하는 단계와, 버스 슬레이브 회로에서, 상기 데이터 버스를 통해서 상기 버스 마스터 회로로부터 상기 버스트 모드 전송의 복수의 데이터 워드를 수신하는 단계를 구비하고, 어드레스 워드가 다음의 처리 사이클 동안에 상기 버스 슬레이브 회로에의해 요구될 때, 상기 버스 슬레이브 회로는 상기 데이터 버스의 어드레스 요구 신호 라인 상에 어드레스 요구 신호를 발생하고, 상기 어드레스 요구 신호 라인을 통해서 상기 버스 슬레이브 회로로부터 수신된 상기 어드레스 요구 신호에 응답하여, 상기 버스 마스터 회로는 상기 버스트 모드 전송을 중단하고 상기 다음의 처리 사이클 동안에 어드레스 워드를 발생한다.
본 발명의 실시예에 대해서는 이하의 첨부도면을 참조하여 설명한다.
도 1은 다수의 회로소자를 상호 연결하는 데이터 버스를 갖는 데이터 처리장치를 개략적으로 나타낸 것이고, 도 2는 데이터 버스 상의 신호들의 서로 다른 결합의 발생시 그 장치의 작동을 나타낸 것이며, 도 3, 도 4, 및 도 5는 버스 신호들을 발생하는 서로 다른 형태의 버스 슬레이브 내의 회로부를 나타낸 것이다.
도 1은 데이터 버스(4)에 의해 상호 접속된 다수의 회로소자를 구비하는 데이터 처리장치(2)를 나타낸다. 이 회로소자는 버스 마스터 회로로서 기능하는 중앙처리장치(CPU) 코어(6), 캐쉬 메모리(8), 판독 전용 메모리(ROM)(10) 및 페이지 모드 다이내믹 랜덤 액세스 메모리(DRAM)(12)를 구비하는데, 상기 캐쉬 메모리(8), 판독 전용 메모리(ROM)(10) 및 페이지 모드 다이내믹 랜덤 액세스 메모리(DRAM)(12)는 버스 슬레이브 회로로서 기능하다.
데이터 버스(4)는 22비트 어드레스/데이터 신호 라인(14), 어드레스 요구 신호 라인(16), 대기 사이클 요구 신호 라인(18), 어드레스 또는 데이터 지정 신호라인(20) 및 버스 클럭 신호 라인(21)을 포함한다. 이 데이터 버스는 제어, 타이밍 및 다른 기능들과 관련된 다수의 신호라인을 통상 구비한다. 간소화를 위해, 이들은 도 1에 예시되어 있지 않다.
버스 마스터 회로로서 작용하는 CPU 코어(6) 및 제1 버스 슬레이브 회로로서 작용하는 캐쉬(8)는 단일 집적회로(22) 위에 설치된다. ROM(10) 및 DRAM(12)을 구비하는 버스 슬레이브 회로는 집적회로(22)의 외부에 있고, 공통 데이터 버스(4)에 접속되어 있다.
작동시, CPU 코어(6)는 어드레스/데이터 32비트 신호 라인(14) 위에 있는 관련된 버스 슬레이브 회로와 그 슬레이브 회로 내의 어드레스를 함께 지정하는 신호 B_REQ로서 어드레스 또는 데이터 지정 신호 라인 위에 0값을 배치함으로써 버스트모드 데이터 전송을 개시한다. 어드레스되고 있는 장치는 B_WAIT 신호로서 대기 사이클 요구 신호 라인(18) 위에 0 또는 1을 표명함으로써 응답한다. B_WAIT가 0이면, 이것은 다음 처리 사이클 동안에 데이터 워드를 계속해서 전송해야 한다는 것을 CPU 코어(6)에 나타낸다. B_WAIT가 1이면, 이것은 다음 사이클 동안에 대기 상태를 삽입해야 하고, 어드레스된 버스 슬레이브는 전송되었던 어드레스 워드를 처리하여 어떤 필요한 초기화를 수행한다는 것을 CPU 코어(6)에 나타낸다.
버스 슬레이브 회로가 진행할 준비가 되어 있다는 것을 나타내면, CPU 코어(6)는 지정된 초기의 어드레스로부터 연장되는 버스 슬레이브 회로 내의 어드레스의 시퀀스와 관런되어 있는 어드레스/데이터 신호 라인(14)을 통해서 데이터 워드의 시퀀스를 전달한다. 이 버스트 모드 전송 중에, 버스 슬레이브 회로는 언제든지 대기 사이클 요구 신호 라인(18) 위에 1의 값을 표명하여 CPU 코어(6)로 하여금 버스트 모드 전송 중에 중단하게 할 수 있다.
관련된 버스 슬레이브 회로의 특성에 의존하여, 이것은 전혀 버스트 모드 전송을 지원할 수 없거나 또는 완전히 버스트 모드 전송을 지원할 수 없고, 이 경우에, 이것은 어드레스 요구 신호 라인(16)을 이유해서 B_AREQ 신호를 1의 값으로 설정하여 CPU 코어(6)에게 다음 처리 사이클 동안에 어드레스 워드를 제공하게 강요할 수 있다. B_AREQ신호의 값이 0이면, 이것은 CPU 코어로 하여금 버스트 모드 트랜잭션을 계속하게 할 수 있다.
예시된 버스 슬레이브 회로의 경우에 있어서, 캐쉬(8)는 버스트 모드 전송을 완전히 지원할 수 있을 것이고, 페이지 모드 DRAM(12)은 부분적으로 버스트 모드전송을 지원하며, ROM은 전혀 버스트 모드 전송을 지원할 수 없다. 이와 같이, ROM(10)의 경우에 있어서, 어드레스 워드는 ROM(10)로부터 판독된 각 데이터 워드에 대하여 요구될 것이다. 게다가, ROM이 8비트 장치이면, 이것은 ROM(10)에 대하여 4개의 처리 사이클을 취하여 ROM으로부터 데이터를 판독하도록 요구에 응답하고, 32비트 어드레스/데이터 신호 라인(14) 상에 위치될 전 32비트 워드를 소집한다.
ROM(10)의 경우에 있어서, 데이터 전송은 항상 ROM(10)으로부터 동작을 판독한다. DRAM(12) 및 캐쉬(8)의 경우에 있어서, 버스 마스터 CPU 코어(6)로부터 또는 버스 마스터 CPU 코어(6)에 버스트 모드 전송이 있을 수 있다. 이것은 버스 신호 B_WRITE(도 1에 미도시)에 의해 제어된다.
페이지 모드 DRAM(12)의 경우에 있어서, 어드레스 요구 신호는 페이지 경계가 교차될 때만 표명되어야 한다. 캐쉬(8)의 경우에 있어서, 버스트 모드 전송은그들의 길이에 관계없이 필요에 따라 발생하는 어드레스 순환에 의해 완전히 지원될 것이다.
도 2는 B_AREQ신호 및 B_WAIT의 서로 다른 결합에 대한 시스템의 다양한 응답의 진리표를 나타낸다. 표시법[B_AREQ: B_WAIT]를 이용하여, 신호 [0:0]은, 버스트 전송이 지속하고, 즉 버스 슬레이브가 버스 마스터와 페이스(pace)를 유지할 수 있어 그것에 전송될 어떤 추가의 어드레스 워드도 요구하지 않는다는 것을 나타낸다. 신호 결합 [0:1]은 버스 슬레이브 회로가 임시로 버스 마스터 회로와 페이스를 유지할 수 없고, 이 버스트는 어드레스 워드의 요구 없이 지속할 수 있지만, 프로세서가 현 사이클을 반복함으로써 버스 슬레이브 회로가 따라갈 수 있다. 신호 결합 [1:0]은 버스 슬레이브 회로가 처리를 지속할 수 있기 전에, 즉 DRAM(12)이 페이지 경계에 있기 전에 전송될 어드레스 워드를 요구한다는 것을 나타낸다.
최종의 결합 [1:1]은 버스트 모드 전송을 중단하기 위해 버스 마스터 회로에 의해 디코드되는 특별히 지정된 신호이다. 만약 버스 모드 전송이 중단되는 것이 진정으로 바람직하지 않으면, 버스트 모드 전송이 부적당하게 중단되지 않기 위해서는, B_WAIT신호가 0의 값일 때만 신호 B_AREQ가 1의 값으로 표명되도록 버스 슬레이브 회로가 배치되어야 한다는 것은 중요하다. 버스트 모드 전송이 중단되어야 할 경우는 어떤 다른 동작에 이미 포함되어 있고 그리고 버스 마스터 회로로부터 현 버스트 모드 전송 요구에 응답할 수 없는 버스 브리지 또는 중계기를 포함하고있는 경우일 것이다. 이와 같이, 발생하고 있는 데드록 상태를 피하기 위해, 그러한 버스 슬레이브 회로는 그러한 철회 신호 결합을 지급할 능력을 갖고서 버스 마스터로 하여금 결코 중단하지 않았던 것처럼 버스트 모드 전송을 중단해서 버스트마스터 회로 내의 보다 높은 레벨의 논리에 의존하여 나중에 그것을 재시도할 것이다
사용된 다양한 버스 신호의 목록은 다음과 같다.
도 3은 버스트 모드 능력이 없는 단순한 버스 슬레이브 회로 내의 회로부를나타낸다. 버스 슬레이브에 대한 내부의 "슬레이브 선택" 신호는 그 버스 슬레이브가 버스(4)에 대하여 버스 마스터에 의해 어드레스되고 있을 때 하이(HIGH)이다.
"슬레이브 선택" 신호는 어드레스 요구 신호 라인(16)과 대기 사이클 요구 신호 라인(18)을 각각 구동하는 한 쌍의 3상태 버퍼(24)(디스에이블했을 때 하이 임피던스)를 스위치 온한다. 버스 슬레이브에 대한 또 다른 내부 신호 "대기"는 대기 사이클이 다음 사이클에 대하여 요구되는지 아닌지의 여부를 나타낸다. 인버터는 B_WAIT 및 B_AREQ 신호가 이 회로부에 의해 함께 표명되지 않는다는 것을 확실하게 하고, 또 대기 요구를 제거함으로써 버스 슬레이브가 데이터 워드를 받아들일 때마다 다음 사이클에 대한 어드레스 요구 신호를 발생하고 있다. 이와 같이, 어드레스요구는 버스트 모드 능력이 없는 버스 슬레이브에 적합한 방법으로 각 데이터 워드의 수신을 따른다.
도 4는 전 버스트 모드 능력을 갖는 버스 슬레이브에 대한 대응 회로부를 나타낸다. 이 경우에, 어드레스 요구 신호 라인(16)을 구동하는 버퍼(24)는 그것의 입력에 영구히 인가된 OV를 갖고 있어 어드레스 요구 신호는 결코 이 회로부에 의해 발생되지 않는다.
도 5는 모두 16개의 데이터 워드를 발생하는 페이지 경계에서 어드레스 워드를 요구한다는 점에서 부분적인 버스트 모드 능력을 가진 버스 슬레이브를 나타낸다. 어드레스 A0, A1, A2 및 A3의 최하위 4개의 비트는 4개의 입력 NAND 게이트(28)에 입력된다. 이들 최하위 4개의 어드레스 비트는 이 어드레스 값이 증가될 때 16개의 어드레스마다 한 번 모두 1이다. 이들 4개의 1은 16개의 워드 페이지 경계의 교차점보다 우선하는 어드레스에서 발생한다. 따라서, 모두 4개와 1의발생은 어드레스 워드가 어떤 더 많은 데이터 워드가 받아들여질 수 있기 전에 다음 사이클에서 요구될 것이라는 것을 나타낸다. NAND 게이트(28)의 출력은 모두 4개의 1이 발생할 때 0으로 된다.
내부의 "대기" 신호와 함께 NAND 게이트(28)의 출력은 NOR 게이트(30)에 입력된다. 이 "대기"신호가, 슬레이브가 다음 사이클에 대하여 어드레스/데이터 신호 라인(14)에 대한 신호들을 받아들일 수 있으며 NAND 게이트(28)의 출력이 0이라는 것을 나타내는 로우(LOW)이면, NOR 게이트의 출력은 1로 변경될 것이다. 이 NOR 게이트(30)의 출력은 버퍼(24)를 통과해서 어드레스 요구 신호 라인(16)을 구동하여 다음 처리 사이클에서 어드레스 워드를 전송하도록 버스 마스터에 표시한다.
이 시퀀스 내의 다음 어드레스는 최하위 4개의 비트에 대하여 모두 0을 가지므로, NAND 게이트(28)의 출력은 1로 될 것이고, B_AREQ신호는 0일 것이다.
버스 슬레이브는 다음 사이클(B_AREQ)에 대한 어드레스 워드를 요구하는지 그리고 실제로 모든 (B_WAIT)에서 신호를 받아들일 준비를 하고 있는지의 여부를 버스 슬레이브에 나타낸다. 버스 마스터가 이 슬레이브로 그것의 전송을 종료했다면, "슬레이브 선택"이 디어저트(deassert)될 것이고 버퍼(24)의 출력은 디스에이블될 것이다.
전술한 버스 신호의 형태는 버스 마스터와 버스 슬레이브와의 관계의 대칭성을 산출한다. 버스 슬레이브 그들 자체는, 각 처리 사이클에 대하여 각 버스 슬레이브의 필요성을 예측할 수 있는 능력을 갖기 위해 버스 마스터를 요구하는 것보다는, 처리 속도를 매치하기 위해 어드레스 워드 또는 데이터 워드 및 대기 사이클에대한 그들의 필요성을 버스 마스터에 나타낼 수 있어; 이것은 상당한 이익이다.

Claims (9)

  1. 데이터 워드 및 어드레스 워드를 운반하는 데이터 버스(4)와,
    어드레스의 시퀀스의 개시 어드레스를 지정하며 연속하는 처리 사이클 동안에 상기 데이터 버스를 통해서 전송될 복수의 데이터 워드의 각각과 관련되어 있는 어드레스 워드를, 상기 버스 마스터가 발생하는 상기 데이터 버스를 통해서 버스트모드 전송을 개시하는 버스 마스터 회로(6)와,
    상기 데이터 버스를 통해서 상기 버스 마스터 회로로부터 상기 버스트 모드전송의 상기 복수의 데이터 워드를 수신하는 버스 슬레이브 회로(8, 10, 12)를 구비하는 데이터 처리장치에 있어서,
    상기 데이터 버스는 어드레스 요구 신호 라인(16)을 포함하며,
    상기 버스 슬레이브 회로는 어드레스 워드가 다음의 처리 사이클 동안에 상기 버스 슬레이브 회로에 의해 요구될 때 어드레스 요구 신호를 발생하는 수단을 포함하고,
    상기 버스 마스터 회로는 상기 어드레스 요구 신호 라인을 통해서 상기 버스 슬레이브 회로로부터 수신된 어드레스 요구 신호에 응답하여, 상기 버스트 모드 전송을 중단하고 상기 다음 처리 사이클 동안에 더 어드레스 워드를 발생하는 것을 특징으로 하는 데이터 처리장치.
  2. 제1 항에 있어서,
    상기 데이터 버스는 대기 사이클 요구 신호 라인(18)을 포함하고,
    상기 버스 슬레이브 회로는 대기 사이클이 상기 다음 처리 사이클 동안에 상기 버스 슬레이브 회로에 의해 요구될 때 대기 사이클 요구 신호를 발생하는 수단을 포함하며,
    상기 버스 마스터 회로는 상기 대기 사이클 요구 신호 라인을 통해서 상기 버스 슬레이브 회로로부터 수신된 대기 사이클 요구 신호에 응답하여, 상기 다음 처리 사이클 동안에 대기 사이클을 삽입하는 수단을 포함한 것을 특징으로 하는 데 이터 처리장치.
  3. 제2 항에 있어서,
    상기 버스 마스터는 어드레스 요구 신호 및 대기 사이클 요구 신호의 동시수신에 응답하여, 상기 버스트 모드 전송을 중단한 후에 재시도하는 수단을 포함한 것을 특징으로 하는 데이터 처리장치.
  4. 제1 항, 제2 항 및 제3 항 중 어느 한 항에 있어서,
    상기 데이터 버스는 어드레스 또는 데이터 지정 신호 라인(14)을 포함하고,
    상기 버스 마스터 회로는 어드레스 워드 또는 데이터가 상기 버스트 모드 전송의 부분으로서 상기 다음 처리 사이클 동안에 상기 버스 마스터 회로에 의해 발생되는지의 여부를 지정하는 어드레스 또는 데이터 지정신호를 발생하는 수단을 포함하며,
    상기 버스 슬레이브 회로는 상기 어드레스 및 데이터 지정 신호 라인을 통해서 상기 버스 마스터 회로로부터 수신된 어드레스 또는 데이터 지정 신호에 응답하여, 상기 다음 처리 사이클 동안에 상기 버스 슬레이브 회로에 의해 처리를 제어하는 수단을 포함한 것을 특징으로 하는 데이터 처리장치.
  5. 제1항 내지 제3 항 중 어느 한 항에 있어서,
    상기 버스 마스터 회로 및 상기 버스 슬레이브 회로는 단일 집적회로(22) 위에 형성된 것을 특징으로 하는 데이터 처리장치.
  6. 제1 항 내지 제3 항 중 어느 한 항에 있어서,
    상기 버스 마스터는 중앙처리장치 코어(6)를 구비한 것을 특징으로 하는 데 이터 처리장치.
  7. 제1 항 내지 제3 항 중 어느 한 항에 있어서,
    1개 또는 그 이상의 상기 버스 슬레이브 회로는 페이지 모드 랜덤 액세스 메모리(12)를 구비한 것을 특징으로 하는 데이터 처리장치.
  8. 제1 항 내지 제3 항 중 어느 한 항에 있어서,
    1개 또는 그 이상의 상기 버스 슬레이브 회로는 캐쉬 메모리(8)를 구비한 것을 특징으로 하는 데이터 처리장치.
  9. 버스 마스터 회로에서, 어드레스의 시퀀스의 개시 어드레스를 지정하며 연속하는 처리 사이클 동안에 상기 데이터 버스를 통해서 전송될 복수의 데이터 워드의 각각과 관련되어 있는 어드레스 워드를 상기 버스 마스터가 발생하는, 데이터 워드및 어드레스 워드를 운반하기 위한 데이터 버스를 통해서 버스트 모드 전송을 개시하는 단계와,
    버스 슬레이브 회로에서, 상기 데이터 버스를 통해서 상기 버스 마스터 회로로부터 상기 버스트 모드 전송의 복수의 데이터 워드를 수신하는 단계를 구비하는 데이터 처리방법에 있어서,
    어드레스 워드가 다음의 처리 사이클 동안에 상기 버스 슬레이브 회로에 의해 요구될 때, 상기 버스 슬레이브 회로는 상기 데이터 버스의 어드레스 요구 신호라인 상에 어드레스 요구 신호를 발생하고,
    상기 어드레스 요구 신호 라인을 통해서 상기 버스 슬레이브 회로로부터 수신된 상기 어드레스 요구 신호에 응답하여, 상기 버스 마스터 회로는 상기 버스트모드 전송을 중단하고 상기 다음의 처리 사이클 동안에 어드레스 워드를 발생하는 것을 특징으로 하는 데이터 처리방법.
KR1019960700733A 1993-08-20 1994-08-04 데이터버스 KR100317033B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9317361A GB2281137B (en) 1993-08-20 1993-08-20 Data bus
GB9317361.5 1993-08-20
PCT/GB1994/001712 WO1995006287A1 (en) 1993-08-20 1994-08-04 Data bus

Publications (2)

Publication Number Publication Date
KR960704273A KR960704273A (ko) 1996-08-31
KR100317033B1 true KR100317033B1 (ko) 2002-02-28

Family

ID=10740798

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960700733A KR100317033B1 (ko) 1993-08-20 1994-08-04 데이터버스

Country Status (13)

Country Link
US (1) US5680643A (ko)
EP (1) EP0714536B1 (ko)
JP (1) JP3150154B2 (ko)
KR (1) KR100317033B1 (ko)
CN (1) CN1040703C (ko)
DE (1) DE69410617T2 (ko)
GB (1) GB2281137B (ko)
IL (1) IL110610A (ko)
IN (1) IN190336B (ko)
MY (1) MY111292A (ko)
RU (1) RU2155375C2 (ko)
TW (1) TW289099B (ko)
WO (1) WO1995006287A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243768B1 (en) * 1996-02-09 2001-06-05 Intel Corporation Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus
US5983024A (en) * 1997-11-26 1999-11-09 Honeywell, Inc. Method and apparatus for robust data broadcast on a peripheral component interconnect bus
JP2004310547A (ja) * 2003-04-08 2004-11-04 Matsushita Electric Ind Co Ltd 情報処理装置、メモリ、情報処理方法及びプログラム
US7328288B2 (en) * 2003-12-11 2008-02-05 Canon Kabushiki Kaisha Relay apparatus for relaying communication from CPU to peripheral device
US7269704B2 (en) * 2005-03-30 2007-09-11 Atmel Corporation Method and apparatus for reducing system inactivity during time data float delay and external memory write
US7617354B2 (en) * 2007-03-08 2009-11-10 Qimonda North America Corp. Abbreviated burst data transfers for semiconductor memory
JP5350677B2 (ja) 2008-05-19 2013-11-27 株式会社東芝 バス信号制御回路、及び、バス信号制御回路を備えた信号処理回路
CN101309306B (zh) * 2008-07-16 2010-06-30 哈尔滨工业大学 在Modbus通信网络中为从节点设备分配地址的方法
CN106502806B (zh) * 2016-10-31 2020-02-14 华为技术有限公司 一种总线协议命令处理装置及相关方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4851990A (en) * 1987-02-09 1989-07-25 Advanced Micro Devices, Inc. High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure
US5134699A (en) * 1988-06-24 1992-07-28 Advanced Micro Devices, Inc. Programmable burst data transfer apparatus and technique
US5159679A (en) * 1988-09-09 1992-10-27 Compaq Computer Corporation Computer system with high speed data transfer capabilities
JP2519860B2 (ja) * 1991-09-16 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション バ―ストデ―タ転送装置および方法
US5553310A (en) * 1992-10-02 1996-09-03 Compaq Computer Corporation Split transactions and pipelined arbitration of microprocessors in multiprocessing computer systems

Also Published As

Publication number Publication date
GB2281137B (en) 1997-10-08
KR960704273A (ko) 1996-08-31
IL110610A0 (en) 1994-11-11
IN190336B (ko) 2003-07-19
EP0714536A1 (en) 1996-06-05
CN1129481A (zh) 1996-08-21
EP0714536B1 (en) 1998-05-27
CN1040703C (zh) 1998-11-11
TW289099B (ko) 1996-10-21
RU2155375C2 (ru) 2000-08-27
GB9317361D0 (en) 1993-10-06
JP3150154B2 (ja) 2001-03-26
US5680643A (en) 1997-10-21
WO1995006287A1 (en) 1995-03-02
DE69410617D1 (de) 1998-07-02
JPH09504391A (ja) 1997-04-28
DE69410617T2 (de) 1999-02-04
IL110610A (en) 1997-04-15
MY111292A (en) 1999-10-30
GB2281137A (en) 1995-02-22

Similar Documents

Publication Publication Date Title
JP3406744B2 (ja) 制御されたバーストメモリアクセスを備えたデータプロセッサおよびその方法
EP0629956A2 (en) Bus-to-bus bridge for optimising data transfers between a system bus and a peripheral bus
US6173353B1 (en) Method and apparatus for dual bus memory transactions
EP0378426A2 (en) Data transfer using bus address lines
US5579492A (en) Data processing system and a method for dynamically ignoring bus transfer termination control signals for a predetermined amount of time
US4622630A (en) Data processing system having unique bus control protocol
US5448704A (en) Method for performing writes of non-contiguous bytes on a PCI bus in a minimum number of write cycles
WO1995020192A1 (en) Bus deadlock avoidance during master split-transactions
KR100317033B1 (ko) 데이터버스
US5857082A (en) Method and apparatus for quickly transferring data from a first bus to a second bus
US6085261A (en) Method and apparatus for burst protocol in a data processing system
US5274784A (en) Data transfer using bus address lines
JPH04350754A (ja) データチャンネルに対するインターフェースを含むワークステーションまたは類似のデータ処理システム
US6067590A (en) Data bus agent including a storage medium between a data bus and the bus agent device
US7062588B2 (en) Data processing device accessing a memory in response to a request made by an external bus master
US6504854B1 (en) Multiple frequency communications
AU666999B2 (en) Pipelined data ordering system
KR100225727B1 (ko) 데이타 처리장치(Data processing system)
KR100266963B1 (ko) 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치
US5638528A (en) Data processing system and a method for cycling longword addresses during a burst bus cycle
US5778447A (en) System and method for fast memory access using speculative access in a bus architecture system
JPH0512185A (ja) バーストサイクルデータ読み出しのためのアドレス予測および検証回路
JPH11328102A (ja) バス制御システムおよびバス制御方法
KR100244471B1 (ko) 다이렉트 메모리 엑세스 제어기 및 그 제어방법
JP3947223B2 (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: 20091029

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee