KR100899951B1 - 캐시 메모리 버스트 싸이클 동안 버스 중재를 제어하는시스템 및 방법 - Google Patents

캐시 메모리 버스트 싸이클 동안 버스 중재를 제어하는시스템 및 방법 Download PDF

Info

Publication number
KR100899951B1
KR100899951B1 KR1020037016810A KR20037016810A KR100899951B1 KR 100899951 B1 KR100899951 B1 KR 100899951B1 KR 1020037016810 A KR1020037016810 A KR 1020037016810A KR 20037016810 A KR20037016810 A KR 20037016810A KR 100899951 B1 KR100899951 B1 KR 100899951B1
Authority
KR
South Korea
Prior art keywords
bus
burst
communication bus
control
information
Prior art date
Application number
KR1020037016810A
Other languages
English (en)
Other versions
KR20040012964A (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 KR20040012964A publication Critical patent/KR20040012964A/ko
Application granted granted Critical
Publication of KR100899951B1 publication Critical patent/KR100899951B1/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
    • 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
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority 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
    • 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
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

버스 중재자(34)는 정보의 버스트 트랜잭션 동안 글로벌 버스(12)를 통해 전송되는 정보의 타입과 연관된 특성들을 모니터한다. 사용자-제어 중재 정책 레지스터(56)는 요청 버스 마스터에 의한 인터럽션이 허용되는지 여부를 제어하기 위해 디코딩되는 값들로 프로그램될 수 있다. 인터럽트 허용들을 판단하기 위해 다양한 인자들이 사용될 수 있다. 그러한 인자들의 예들은 요청 디바이스의 타입, 버스트 트랜잭션이 제한된(bounded) 또는 제한되지 않은(unbounded)지 여부, 트랜잭션이 시스템 메모리의 판독 또는 기록인지의 여부 및 버스 마스터쉽을 요청하는 특정 디바이스의 식별(identity)을 포함한다.
Figure R1020037016810
시스템 메모리, 대체 버스 마스터, 버스 인터페이스, 중재 정책, 글로벌 버스

Description

캐시 메모리 버스트 싸이클 동안 버스 중재를 제어하는 시스템 및 방법{System and method for controlling bus arbitration during cache memory burst cycles}
본 출원은 2001년 6월 23일자 특허 출원 제 09/888,278호로서 미국에 출원되었다.
본 발명은 일반적으로 데이터 처리 시스템들에 관계되며, 더 명확하게는, 데이터 처리 시스템내 통신 버스들의 제어를 중재하는(arbitration)것에 관한 것이다.
다중 통신 버스 마스터들을 포함하는 데이터 처리 시스템에서, 버스 중재 논리는 버스 소유권(ownership)을 얻기 위해 요청하는 다수의 마스터들 중 하나를 선택하는데 사용된다. 버스 마스터의 선택은 여러 가지의 공지된 방법을 이용하여 이루어 질 것이다. 선택 실행에 사용되는 기존 알고리듬들의 예들은 라운드 로빈 순서(round robin ordering)에 의해 선택, 공정성(fairness)에 의한 선택, 엄격한 할당 우선권에 의한 선택을 실행하는 것을 포함한다. 많은 데이터 처리 시스템들에 있어서, 하나의 버스 마스터가 캐시 메모리 라인 필(line fill) 또는 카피백 동작(copyback operation)과 관련된 버스트 전송 동안, 메모리 시스템의 동작 효율을 개선하기 위해 하나의 버스 마스터가 버스 소유권의 어떤 방해도 없이 글로벌 통신 버스의 소유권을 유지하는 것이 바람직하다. 통상, 글로벌 통신 버스는 버스트 속성과 같은, 몇몇 표시를 버스트 되거나 통신되는 전송들의 초기 부분에 제공하여 그러한 동작들 동안 한 버스 마스터에 전용된다. 그러한 속성은 시스템내에서 인지되고, 버스 중재 제어 회로내는 통신버스 소유권의 재 할당을 방지한다. 버스 마스터쉽이 획득되면, 현재의 버스 마스터는 버스트 전송 동안 버스 소유권을 유지한다.
버스 소유권을 유지하는데 사용되는 다른 기술은 버스를 제어하는 디바이스에 버스 락 신호(bus lock signal)를 표명(assert) 하는 것이다. 이 기술의 불리한 점은 시스템의 다른 중요한 인터럽트(interrupt)는 락 신호가 포기될 때 까지 버스를 이용할 수 없다(lockout)는 것이다. 특별한 락 비트들의 이용은 그러한 락 신호와 관련하여 이전에 이용되는 한 구현예이다.
다른 공지의 시스템들은 버스트 전송들이 인터럽트될 수 있음을 명시(specify)하고, 버스 소유권이 재획득되면 인터럽트된 버스트 전송이 인터럽트된 버스트 마스터에 의해 재개되는 것을 요청한다. 그러한 기술의 불리점은 인터럽트된 버스 마스터가 버스 전송 순차를 재형성해야 한다는 것이고, 그러므로 전반적 시스템을 효율을 낮추고 복잡성을 버스 프로토콜에 부가한다.
몇몇 특별한 환경들에서 캐시메모리 라인 필의 길이는 시간-임계(time-critical) 대체 버스 마스터의 최대 요청 대기시간(latency)을 초과할 수 있다. 이 타입의 인터럽션 발생 빈도는 일반적으로 낮지만, 그러한 대체 버스 마스터들은 버스에 즉시 액세스를 요청할 수 있다. 그러한 상황에 대해, 비록 기존 버스트 전송의 그러한 인터럽션이 확실히 현재의 버스트 전송과 관련된 메모리 시스템 및 프로세서의 효율을 낮추더라도, 현재의 버스트 순차가 일시적으로 인터럽트된 후 재개되는 것이 중요하다.
복수의 통신 버스 마스터들을 요청하는 데이터 처리 시스템들에 대해, 개선된 버스 소유권 프로토콜이 필요하며, 특히 정보의 버스트 전송들을 이용하는 시스템들에서 버스 마스터쉽의 전송과 관련하여 필요하다. 복수의 통신 버스 마스터들을 포함하는 데이터 처리 시스템들에서, 버스 중재 논리는 버스 소유권을 얻기 위해 요청하는 여러 마스터들중 하나를 선택하도록 사용된다. 버스 마스터의 선택은 다수의 공지된 방법을 이용하여 이루어질 것이다. 우선순위 선정 방식(prioritization scheme)은 버스의 제어에 어떤 시스템 리소스에 주어질 지를 판단하기 위해 종종 실행되는 하나의 기술이다. 많은 데이터 처리 시스템들에서 버스 마스터쉽이 획득되면, 현재의 마스터는 버스트 전송 동안 소유권을 유지한다.
본 발명은 실시예를 통하여 예시되었지만, 동일한 참조번호들은 동일한 구성요소들을 나타내는 첨부한 도면들에 의해 제한되지 않는다.
도 1은 본 발명과 같이 이용하기 위한 예시적인 처리 시스템을 예시하는 블록도.
도 2는 제한된 및 제한되지 않은 버스트 전송들 양쪽의 특징 포맷을 예시하는 타이밍도.
도 3은 다른 타입들의 메모리 디바이스들과 관련된 정보 버스팅의 특징 포맷을 예시하는 타이밍도.
도 4는 본 발명에 따른 도 1의 버스 중재자의 예시적 실행을 예시하는 블록도.
도 5는 도 4에 도시된 제어 레지스터의 제어 필드의 인코딩을 예시하는 테이블도.
도 6은 도 4에 도시된 제어 레지스터의 제어 필드의 대체적 인코딩을 예시하는 테이블도.
본 발명에 숙련된 사람들은 도면의 구성요소들이 간단 명료하게 도시되었으며 축척에 맞추어 도시되지 않았음을 이해할 것이다. 예를 들어, 본 도면들에 몇몇 구성요소들의 치수들은 본 발명의 실시예들의 이해를 돕기위해 다른 구성요소들에 비해 상대적으로 과장될 것이다.
도 1은 버스 중재를 요청하는 예시적인 데이터 처리 시스템(10)을 도시한다. 글로벌 버스(12)는 데이터 처리 시스템(10)내의 통신 센터이다. 글로벌 버스(12)는 데이터, 어드레스들 및 제어정보를 통신하기 위한 전도체들(도시되지 않음)을 갖는다. 중앙 처리 유닛 또는 CPU(14)는 글로벌 버스(12)에 접속되어 있다. CPU(14)는 글로벌 버스(12)와 캐시(18)에 접속되는 버스 인터페이스(16)를 갖는다. 버스 인터페이스(16)는 CPU(14)의 모든 다른 회로(도시되지 않음)에 또한 접속된다. 시스템 메모리(20), 시스템 메모리(22) 및 시스템 메모리(24)는 글로벌 버스(12)에 각각 접속된다. 시스템 메모리들 각각은 다른 타입의 메모리를 나타낸다. 시스템 메모리(20)는 타입 A를 실행하는 것으로 나타내고, 시스템 메모리(22)는 타입 B를 실행하는 것으로 나타내며, 시스템 메모리(24)는 타입 C를 실행하는 것으로 나타내었다. 메모리의 타입들의 예들은 DRAM(동적 랜덤 액세스 메모리)(Dynamic Random Access Memory), ROM(판독 전용 메모리)(Read Only Memory) 및 SRAM(Static Random Access Memory)를 포함한다. 미리 결정된 수의 주변 디바이스들은 글로벌 버스(12)에 접속되어 있다. 제 1 주변 디바이스인 주변장치(Peripheral)(28)가 글로벌 버스(12)에 접속되어 있고, 제 N 주변 디바이스인 주변장치(30)가 글로벌 버스(12)에 접속되어 있다. 주변장치들(28 내지 30)은 메모리 제어기, 그래픽스 제어기, 디스플레이, 키보드 등을 포함하는 다양한 타입들의 주변장치들이 될 것이다. 예시된 실시예에서, N은 미리 결정된 정수이다. 버스 중재자(34)는 글로벌 버스(12)에 접속되어 있다. 부가적으로, 다른 미리 결정된 수의 대체 버스 마스터들은 글로벌 버스(12)에 접속되어 있다. 예시된 실시예에서, 대체 버스 마스터(36), 대체 버스 마스터(38) 및 대체 버스 마스터(40)가 각각 글로벌 버스(12)에 접속되어 있다.
동작에서, CPU(14)는 주변장치들, 메모리들 및 대체 버스 마스터들과 각각과 함께 동작하도록 기능을 한여 미리 결정된 시스템 기능 또는 동작을 수행한다. 시스템(10)에 의해 요청 및 발생된 선택된 정보는 시스템 메모리들(20, 22 및 24)에 의해 제공 및 저장된다. 복수의 동작들이 시스템(10) 내에서 동시에 수행되므로, 버스 중재자(34)는 글로벌 버스(12)에 대한 액세스를 제어하도록 기능해야 한다. CPU(14)가 시스템 메모리들을 액세스할 필요를 최소화 하기 위해, CPU(14)는 소정의 시스템 메모리들 보다 저장 용량에서 통상 현저히 더 작은 내부 캐시(18)를 갖는다. 캐시(18)는 명령들 및 데이터 양쪽 모두를 유지하는 통합된 캐시일수 있고, 또는 명령들 및 데이터를 다른 모듈들에 유지하는 개별적 캐시 모듈들을 구현할 수 있다. 캐시(18)는 통상 시스템 메모리(20), 시스템 메모리(22), 시스템 메모리(24)로부터 정보의 사본들을 유지한다. 캐시(18)는 캐시 버스트 전송들을 이용하여 시스템 메모리(20), 시스템 메모리(22), 시스템 메모리(24)로부터 정보를 획득하고 다시 시스템 메모리(20), 시스템 메모리(22), 시스템 메모리(24)에 정보를 재기록한다. 캐시 버스트 전송들은 복수의 데이터 워드들로 이루어지는 정보의 "블록" 또는 "라인"을 통상 버스트 시퀀스내에서 글로벌 버스(12)를 통해 전송한다. 데이터 처리 시스템 내에서 구현되는 많은 메모리들은 정보의 버스트 전송들을 통해 통신하고, 정보는 고속의 연속 버스트로 통신된다.
버스트 전송들은 두 타입으로 카테고리화 된다. 제한된 버스트 및 제한되지 않은 버스트이다. 도 2에 도시된 타이밍 도는 제한된 및 제한되지 않은 버스트간의 차이를 설명하는 버스트 전송들의 두 타입들에 대한 예이다. 제한된 버스트는 통상 캐시 메모리들과 관련되고, 여기에서 버스트는 고정된 길이이며 통상 2의 제곱인 다수의 "비트들(beats)"을 갖는다. 예를 들면, 4워드들의 라인 길이를 이용하는 캐시는 4비트(beat)들로 구성되는 캐시 버스트를 실행하며, 각 비트는 4워드들 중 하나에 대응한다. 도 2의 제한된 버스트는 각각의 도시된 캐시 버스트들에 4비트(beat)들을 갖는다. 제한되지 않은 버스트의 한 예는 임의 수의 정보 바이트들 또는 워드들을 전송하도록 프로그램된 직접 메모리 액세스 제어기(Direct Memory Access Controller)(DMAC)와 같은 대체 버스 마스터와 연관될 수 있다. 도 2에 의해 도시된 바와 같이, 제한되지 않은 버스트는 가변 길이일 수 있고 따라서 버스 중재자는 DMA 제어기에 의한 버스 마스터쉽의 릴리스가 언제 발생할지 신뢰할만하게 예상할 수 없다.
도 3은 정보의 버스트 전송들을 이용하고 다른 버스트 타입들인 메모리 디바이스들의 다양한 타입들의 특징을 도시하는 타이밍도이다. 버스트 모드 디바이스는 초기의 버스트 또는 비트가 즉시 후속하는 비트들 보다 지속기간이 긴 것으로서 도시되어 있다. 예를 들면, 초기 비트의 지속기간은 3 클록 길이일 것이고 후속하는 비트들은 1클록일 것이다. 버스트 클록 모드 디바이스는 도시된 바와 같이, 제한되지 않은 버스트들 또는 제한된 버스트들 중 하나를 지원할 것이다. 공통의 버스트 모드 디바이스들의 예들은 디램들(DRAMs) 및 플래쉬 메모리들을 포함한다. 저속 버스트 디바이스가 동일한 클록 지속 기간의 길고(즉, 저속임) 연속적인 비트들 갖는 것으로서 도시되어 있다. 일례에 따라, 각 비트는 지속기간이 4클록 싸이클로 도시되어 있다. 저속 버스팅 디바이스에 대한 버스트 액세스는 제한된 또는 제한되지 않은 것 중 하나일 것이다. 공통의 저속 버스트 디바이스의 한 예는 ROM이다. 대조적으로, 고속 버스팅 디바이스는 정보의 짧은 비트들의 연속적 스트림을 보여준다. 도 3의 실시예에서, 각 비트는 지속기간이 오직 1클록 싸이클로 도시되어 있다. 버스트 모드 디바이스들 및 저속 버스팅 디바이스들과 같이, 고속버스팅 디바이스에 대한 버스트 액세스는 도시된 바와 같이, 제한되지 않은 또는 제한된 것 중 하나일 것이다.
도 4에 도시된 도면은 본 발명에 따라 도 1의 버스 중재자(34)의 한 실행에 대한 상세한 예이다. 이해의 편의를 위해, 도 1과 도 4간의 모든 동일한 구성요소들은 동일한 번호로 되어있다. 논리 회로(50)는 현재의 전송 타입(Current Transfer Type) 신호를 수신하기 위해 글로벌 버스(12)에 접속된 제 1 입력을 갖는다. 현재의 전송 타입 신호들(53)은 글로벌 버스(12)을 통해 통신되는 현재 또는 현재의 전송과 관련된 다양한 정보를 포함할 수 있다. 정보의 타입들의 예들은 명령(즉, 프로그램) 정보 또는 데이터 정보가 글로벌 버스(12)에 의해 일반적으로 전송되는 것인지를 식별하는 정보를 포함하지만 그것에 제한되지는 않는다. 다른 현재의 전송 타입 정보는 현재의 전송이 판독 또는 기록 전송인지의 여부, 현재의 전송이 단일 전송인지 또는 복수의 버스트인지의 여부, 현재의 전송이 제한된 버스트 또는 제한되지 않은 버스트인지의 여부, 어떤 선택된 메모리 디바이스가 현재의 전송과 관련되는지를 포함할 수 있다. 논리 회로(50)는 각 CPU(14) 및 대체 버스 마스터들(36, 38 및 40)로부터 버스 요청(Bus Request) 신호들을 각 수신하는 복수의 버스 요청 입력들을 또한 갖는다. 버스 요청 신호들은 각각의 요청 디바이스들로부터 직접(즉, 포인트-대-포인트) 통신될 수 있거나 또는 글로벌 버스(12)를 통해 통신될 수 있는 것 중 하나로 통신될 수 있다. 논리 회로(50)는 각각의 CPU(14) 및 대체 버스 마스터들(36, 38 및 40)에 각 접속되는 복수의 버스 그란트(Bus Grant) 출력들을 또한 갖는다. 정책 선택 논리 회로(Policy Selection Logic Circuit)(54)는 논리 회로(50)의 제 2 입력에 접속된 중재 정책 신호(Arbitration Policy signal)를 발생한다. 정책 선택 논리 회로(54)는 복수의 미리 결정된 비트폭의 영역들을 갖는 제어 레지스터(Control Register)(56)를 갖는다. 도시된 형태에서, 제어 레지스터(56)는 제 1 대체 버스 마스터(36), 제 2 대체 버스 마스터(38), 제 3 대체 버스 마스터(40) 및 CPU(14)와 관련된 영역들을 갖는다. 제어 레지스터(56)의 각 영역은 멀티플렉서(Mux)(58)의 입력에 접속된다. 멀티플렉서(58)의 출력은 중재 정책 신호를 제공하기 위해 논리 회로(50)의 제 2 입력에 접속된다. 논리 회로(50)의 출력은 제어 레지스터(56)의 어떤 영역을 사용할지 선택하기 위해 멀티플렉서(58)의 제어 입력에 접속된다. 부가적인 제어 레지스터들은, 원하면, 제공될 수 있다. 다음의 동작의 설명으로부터 명백한 것처럼, 제어 레지스터들(62 내지 65) 및 멀티플렉서(68)는 선택적 회로이고 버스트 중재 프로토콜을 확립하기 위한 부가적인 사용자 선택사항들을 제공한다. 제어 레지스터들(62 내지 65)은 대체 버스 마스터들의 수에 기초한 미리 결정된 수의 영역들을 갖도록 도시되어 있다. 도시된 형태에서, CPU(14) 및 대체 버스 마스터들(36, 38 및 40) 각각에 대해 부가적인 제어 레지스터가 있다. 추가로, 각각의 제어 레지스터들(62 내지 65)은 CPU(14) 및 대체 버스 마스터들(36, 38 및 40)에 대응하는 영역(field)을 갖는다. 각각의 제어 레지스터들(62 내지 65)은 멀티플렉서(68)의 미리 결정된 입력에 접속된다. 멀티플렉서(58)의 출력은 정책 선택 논리 회로(54)의 제어 레지스터들(54)에 접속된다.
동작에서, 버스 중재자(34)는 데이터 처리 시스템(10)내 어떤 디바이스가 글로벌 버스(12)의 마스터(즉, 사용 권리들을 가짐)인지를 제어하는 기능을 한다. 버스 중재자(34)가 데이터 처리 시스템(10)내에 개별적 및 별도로 도시되었지만, 버스 중재 기능이 버스 중재를 실행하기 위해 별도의 모듈을 갖지 않고 CPU(14) 또는 데이터 처리 시스템(10)의 다른 부분들로 병합될 것이다. 버스 중재자(34)는 글로벌 버스(12)를 이용하기 위해 하나 이상의 버스 요청들의 수령에 따른 글로벌 버스(12) 제어 결정들을 하도록 현재의 전송에 관한 정보를 사용한다. 논리 회로(50)는 소정의 CPU(14) 및 대체 버스 마스터들(36, 38 및 40)로부터 하나 이상의 버스 요청들을 수신하고, 어떠한 버스 요청이 우선 제공되어야 할지의 여부와 같은 몇몇 미리 결정된 기준에 기초하여 논리 회로(50)내에서 결정이 이루어 진다. 한 형태로서, 우선 근거에 기초하여 결정이 이루어지나, 라운드-로빈 선택과 같은 우선순위들과 연관되지 않은 다른 기준이 사용될 것이 잘 이해되어야 한다. 논리 회로(50)는 최우선 컨텐딩 마스터(Highest Priority Contending Master)(즉, 제공을 위해 선택된 버스 요청에 대응하는것)를 멀티플렉서(58)에 제공하고, 이 신호를 이 최우선 마스터와 관련된 제어 레지스터(56)의 제어 영역을 선택하는데 사용한다. 제어 레지스터(54)의 제어 영역은 사용자 프로그램된 또는 사용자 제어된, 특정의 요청 디바이스에 대해서 버스 중재자(34)에 의해 사용될 중재 정책을 판단하는 인코딩(즉, 값을 제어)으로 부호화된다. 사용자는 버스 중재자(34)에 의해 또는 사용자-제공된 소프트웨어 명령의 데이터 처리 시스템(10)내 실행에 의해 제어되는 집적 회로의 집적된 회로 핀에서의 전압 또는 신호를 사용함으로써 제어값의 생성을 유발하거나 생성할 수 있다. 논리 회로(50)는 그 후 제어 레지스터(54)의 선택된 제어 영역을 복호하고 데이터 처리 시스템(10)내 최우선 컨텐딩 버스 마스터가 현저한 버스트 전송 동안 글로벌 버스(12)의 버스 소유권이 그란트될지의 여부, 또는 프로세스내 버스트 전송의 완성에 대해 기다려야 하는지 여부를 판단한다. 논리 회로(50)는 제어 레지스터(56)에 포함된 정보 및 현재의 전송 타입 신호들(53)에 기초하여 대체 버스 마스터(36, 38 및 40)를 요청하는 것 중 하나에 대해 버스 그란트(Bus Grant) CPU 신호 또는 버스 그란트 신호를 조건으로 확인한다. 버스 소유권이 현재의 전송을 수행하는 것이라기 보다 마스터에 전송되면(즉, 현재 또는 현재의 통신 버스 마스터로부터의 전송 마스터 위상), 현재의 전송은 인터럽트 되고, 미리 확인된 버스 그란트 신호는 글로벌 버스(12)가 포기되어 더 우선 마스터가 온-고잉 버스트 전송 동안 버스 소유권을 획득하도록 허락하기 위해 삭제된다. 제어 레지스터(56)는 대단한 유연성을 데이터 처리 시스템 및 인터럽트 버스 지연을 개별화(customize)하는 능력에 부가하기 위해 사용자 프로그램될 것임을 이해해야 한다. 특히, 제어 레지스터(56)는 데이터 처리 시스템을 구비하는 I.C.의 미리 결정된 집적 회로 핀들에의 특정 입력 신호들을 이용하여 논리 회로(50) 또는 데이터 처리 시스템(10)내 포함된 다른 신호들에 의해 인터럽트될 특정 버스 중재 정책 인코딩들로 프로그래밍될 수 있다. 대안으로, 제어 레지스터(56)는 소프트웨어 명령 제어 하에 또는 다른 사용자 프로그래밍 기술들에 의해 사용자 프로그램될 것이다.
도 5에 도시된 도면은 제어 레지스터(56)내 각 제어 영역에 대해 사용될 예시적인 인코딩 예이다. 많은 다른 인코딩들이 사용될 것이고 본원에 제공된 실시예들은 쉽게 수정되거나 확장될 것이다. 도시의 목적들로만 3-비트 인코딩 영역이 선택되고 그로인해 총 8개의 다른 인코딩들이 제공됨을 추정하라. 도 5의 인코딩들은 버스 제어 변화들이 버스트 싸이클동안 허락될 지 여부, 통신되는 정보의 타입에 기초하여 버스 제어 변화들이 허락될 지 여부(예를 들어, 명령 또는 프로그램 정보 대 데이터 정보), 시스템 메모리의 판독 또는 기록 동작 여부가 발생하는데 기초하여 버스 제어 변화들이 허락될 것인지 여부, 및 캐시 버스트(즉, 제한된 버스트) 또는 더욱 일반적인 제한되지 않은 순차적 시퀀셜 버스트 전송이 발생하는지 여부에 기초하여 버스 제어 변화들이 허락될 것인지 여부에 기초하는 중재 정책을 도시하고 있다. 중재 정책은 다른 인자들 또는 본원에 상술된 특성들의 결합에 기초할 것이다. 글로벌 버스(12)상에 제공된 현재의 전송타입이 무엇인지 식별되었으면, 논리 회로(50)는 정확한 버스 그란트 신호에 선택적으로 응답하여 구현될 수 있다. 예를 들면, 데이터 처리 시스템(10)의 어떤 실시예들에서, 글로벌 버스(12)상에 일반적으로 제공되는바와 같이, 캐시 버스트가 식별되면, 캐시 버스트는 버스 마스터쉽을 변화시키는 버스 그란트 신호의 발생(issuance)에 우선하여 완성하도록 할 것이다. 그러나, 캐시 버스트가 제공되지 않으면, 버스 그란트 신호는 제한되지 않은 시퀀셜 버스트와 관련하여 불확실한 길이에 기인하여 발생될 것이다. 캐시 버스트들은 그들이 통상, 4 또는 8 비트들중 어느 하나처럼, 제한되고 공지된 길이를 갖기 때문에 제한되지 않은 시퀀셜 버스트 전송들로부터 구별된다. 그러므로, 캐시 버스트와 관련된 전송시간은 제한된다. 버스 그란트들을 캐시라인 버스트의 제한된 구간동안 대체 버스 마스터에 유지하는 것은 선택적 버스트 메모리 동작의 허락 및 블록킹 캐시들을 가진 CPU들에서 스톨 싸이클들(stall cycles)의 수를 최소화함으로써 시스템 성능을 개선한다.
부가적으로, 데이터 처리 시스템(10)의 몇몇 실시예에서, 시스템 메모리들중 하나로 부터의 정보가 CPU(14)에 제공되도록 판독 동작이 발생하면, 그 정보는 버스 소유권 변화가 허락되기 전에 버스트 트랜잭션(transaction)을 완성하기 위해 CPU(14)의 잠재적 스톨을 충분히 피할만큼 중요하게 여겨진다. 그러나, 기록 동작이 발생하면, 버스 마스터쉽의 변화는 시스템 성능을 현저하게 저하하지 않고 특정 시스템 적용에서 발생할 수 있다. 본 발명은 사용자가 통신 버스 소유권이 변화될 경우와 관련하여 특정 적용 규칙들에 대해 개별화할 수 있도록 한다. 그러므로, 단지 이 단락내에서 설명된 규칙들은 모든 시스템에 대해 항상 적용할 수는 없을 수도 있고 제어 레지스터(56)에서 특정 시스템 적용을 최적화하기 위해 적절한 인코딩이 프로그램될 수 있다.
몇몇 특별한 환경들에서, 캐시 라인 필의 길이는 시간-임계 대체 마스터의 최대 요청되는 대기시간을 초과할 수 있다. 이 마스터들은 버스에 대한 즉각적인 액세스를 요청하고, 이 타입의 요청 주파수는 일반적으로 낮다. 이 타입의 마스터에 대해, 소정의 버스트 시퀀스가 인터럽트되고 그후 재시작되는 것은 버스트를 요청하는 CPU 및 액세스되는 메모리 시스템의 저하된 효율에도 불구하고 중요하다. 시스템에서 버스트 인터럽션들의 발생을 최소화하고, 제한된 세트의 마스터들에 버스트 인터럽션들을 제한하는 것은 바람직하다.
한 형태에서, 000의 인코딩은 소정의 캐시 버스트 싸이클동안 버스 소유권 변화가 없도록 허락된 것을 지시한다. 이 특징은 버스트 전송들과 연관하는 시스템 디자인에 대한 잇점이 있다. 버스 마스터가 버스 마스터가 버스터링 정보인 경우 시스템 버스에 대해 중재를 하도록 정의에 의해 허락되지 않으면, 그 후 그 버스 마스터는 부분적 버스터링을 실행할 수 있는 부가적 논리 회로를 필요로 하지 않는다. 다른 극단에서, 111의 인코딩은 버스 소유권의 전송이 소정의 버스트 싸이클 동안 허락되는 것을 지시한다. 001의 인코딩은 보스 소유권 변화가 명령 캐시(I 캐시) 버스트 싸이클, 또는 제한되지 않은 버스트 전송 동안만 허락되는 것을 지시한다. 즉, 버스 소유권은 버스상의 정보의 타입이 프로그램 정보이고 그것이 캐시 버스터링이기 때문에 버스터링은 제한되거나, 또는 소정 타입의 제한되지 않은 버스트가 발생할때 마다에만 허락된다. 010의 인코딩은 캐시 버스트가 발생하는 것을 지시하고, 버스 소유권 변화는 데이터 캐시(D 캐시) 버스트 판독 싸이클 에만 허락된다. 그러므로, (1)정보는 데이터이다. (2)버스트는 캐시 버스트이다. (3)버스상의 트랜잭션은 판독 트랜잭션이다. 011의 인코딩은 버스 소유권 변화가 캐시 버스트 판독 싸이클 동안, 또는 소정 타입의 제한되지 않은 버스트가 발생하는 때에만 허락되는 것을 지시한다. 101의 인코딩은 버스 소유권 변화가 데이터 캐시 버스트 기록 싸이클 또는 명령 캐시 버스트 싸이클 동안이거나, 또는 소정 타입의 제한되지 않은 버스트가 발생하는 때에만 허락되는 것을 지시한다. 110 의 인코딩은 버스 소유권 변화가 데이터 캐시 버스트 싸이클 동안이거나, 또는 소정 타입의 제한되지 않은 버스트가 발생때마다 허락되는 것을 지시한다. 그러므로, 논리 회로(50)의 논리는 정책 선택 논리 회로(54)에 의해 특정 값들이 제공되는 경우 중재 정책에 따라이러한 상태의 제한들을 인식하도록 제공된다. 버스 중재자(34)는 인코딩된 제어 정보에 응답하여 글로벌 버스(12)상의 정보의 버스트 전송들에 대해 적어도 두 개의 다른 중재 정책들을 실행할 수 있다. 변동들은 사용자에게 버스 마스터쉽을 바라고 몇몇 미리 결정된 선택 선정 방식(scheme) 하에서 그란트된 버스 마스터쉽을 갖는 시스템내 각 회로 모듈에 대한 버스트 전송들과 관련된 개별화된 중재 정책을 세팅하는 능력을 제공한다. 본원에 교시된 글로벌 버스(12)상에 버스팅 정보와 관련된 중재 방법은 몇 개의 요청 마스터들중 하나를 선택하는데 사용되는 알고리듬으로부터 분리되어 있다.
도 6에 도시된 도면은 2비트들(bits)을 가진 영역을 사용하는 제어 레지스터(56)내 영역들에 대해 인코딩하는 것이다. 00의 인코딩은 버스트 싸이클들 동안 버스 소유권 변화가 허용되지 않는 것을 지시하고, 반면 11의 인코딩은 소정의 버스트 싸이클들 동안 버스 소유권의 전송이 하락되는 것을 지시한다. 01의 인코딩은 버스트 모드 디바이스에의 액세스 동안 버스 소유권 변화가 허락되지 않는 것을 지시한다. 그러므로, 이러한 예시의 방법으로 사용자는 버스 전송이 DRAM 또는 플래쉬와 연관하는 전송과 함께 존재하는 경우 대(versus) 전송이 SRAM과 연관하는 어느 한 경우에서 요청 디바이스가 요청하도록 하는지 여부에 기초하여 중재 정책을 프로그램 할 수 있다.
부가적으로, 제어 레지스터들(62 내지 65) 및 멀티 플렉서(68)는 버스 마스터 기초마다 그 상에 선택적 제어를 제공하기 위해 제어 레지스터(56)와 결합될 것 이다. 버스트 전송들의 타입들은 통상 다른 디바이스들에 지시(directed)되므로, 디바이스의 특성은 프로토콜 선택에 또한 영향을 줄 수 있다. 각각의 제어 레지스터들(62 내지 65)은 특정 버스 마스터에 상관하고 시스템내의 각 마스터의 제어 영역들(즉, 버스트 중재 정책)은 어떤 버스 마스터가 현재의 버스 제어를 갖는지와 어떤 버스 마스터 상에서 버스 제어를 요청하는지에 따라 변화될 것이다. 멀티플렉서(58)는 현재의 마스터 신호들(55)에 의해 제공되는 정보에 기초하여 제어 레지스터들(62 내지 65)중 하나를 선택한다. 각 잠재적 버스 마스터에 대해, 제어 레지스터들(62 내지 65)중 선택된 하나가 현재의 액티브 버스 마스터에 기초하여 정책 선택 논리 회로(54)에 제공된다. 정책 선택 논리 회로(54)는 그 후 제공된 제어 레지스터들(62 내지 65)중 하나의 레지스터 내에서 현재의 버스 마스터의 버스 보유동안 중재 정책을 판단하기 위해 제어 영역들을 사용한다. 제어 레지스터들(62 내지 65)은 고유 정보로 각 현재의 버스 마스터들에 프로그램될 것이어서, 특정 버스 마스터의 버스 보유 동안 버스 중재 정책들이 모든 다른 마스터들의 버스 보유에 비해 독립적으로 프로그램될 것이다. 마스터 기초마다 그 상에 선택적 제어는 버스트 중재 정책은 마스터 대 마스터 보유 기초로 교체되도록 허용하고 사용자에 의해 시스템 성능을 더욱 개선하기 위해 최적화될 수 있다.
지금까지 레지스터내 한 세트의 비트들 또는 다른 저장 디바이스 또는 버스트 전송들 동안 중재가 다루어 지는 방법을 제어하기 위한 신호발생 메커니즘을 사용하는 시스템 및 방법이 제공되었음이 이해된다. 시스템내 각 잠재적 마스터에 대해, 버스트 전송들 동안 버스의 중재를 제어하는 제어 정보의 영역이 제공된다. 영 역 내에서, 전송은 I 캐시 필, D 캐시 필, 디 캐시 카피백(기록) 등과 같은 각 타입의 전송에 대해 제공될 수 있다. 대체 실시예에서, 제어 영역은 선택된 디바이스 및 그 디바이스에 의해 지원되는 버스트 전송들의 타입에 대응하는 제어 정보를 포함한다. 버스트 전송들 동안, 대체 마스터가 버스에 대한 요청를 하게 하면, 그 요청는 전송의 타입에 의해 경과 및 그 대응하는 관련 제어 영역의 설정에서 자격을 부여받는다.
본 발명을 실행하는 장치는 대부분에 대해, 관련 기술 분야에 익숙한 사람들에게 공지된 전자적 구성요소들 및 회로들로 구성되어 있기 때문에, 회로 상세부들은 상술된 바와 같이, 본 발명이 내포하는 개념들의 이해와 평가를 위해, 그리고 본 발명의 교시들로부터 흐리게하거나 또는 빗나가게 하지 않기 위해 더 필요하다고 생각되는 것 이상으로 다소 확장하여 설명되지는 않을 것이다.
상기의 명세서에서, 본 발명은 특정 실시예들을 참조하여 설명되었다. 그러나, 본 기술 분야에 속한 평범한 기술 중 하나로서 아래 청구항들에 진술된 바와 같이 본 발명의 범위로부터 벗어나지 않고 수정들 및 변경들이 만들어질 수 있음이 이해된다. 예를 들어, 소정 타입의 메모리 및 소정 타입의 캐시는 본 발명과 연계하여 사용될 것이다. 다양한 버스팅 정책들이 특정 시스템에 따라 인코딩될 것이다. 제어 정책 정보는 앞선 설명에서 사용된 제어 레지스터와 다른 방법들 또는 구조들을 통해 제공될 것이다. 부가적으로, 시스템내에서 하나의 버스 마스터만이 버스트 트랜잭션의 사용을 할 수 있을 것이라도, 본 발명은 사용될 것이다. 따라서, 명세 및 특징들은 제한적이라기 보다 예시적으로 간주될 것이며, 모든 그러한 수정 들이 본 발명의 범위내 포함되도록 의도되었다.
혜택들, 다른 잇점들, 및 문제들에 대한 해법들이 특정 실시예들에 관하여 상술되었다. 그러나, 혜택들, 다른 잇점들, 및 문제들에 대한 해법들 및 소정의 혜택, 잇점, 또는 해법을 발생하거나 또는 더욱 표명되는 소정의 구성요소들은 기준으로, 요청로서, 또는 소정의 또는 모든 청구항들의 피수적 특징 또는 구성요소들로서 실현되지 않을 것이다. 본원에 사용된 바와 같이, "포함하다(comprise)", "포함하는(comprising)"의 단어들 또는 그들의 소정의 다른 변동은 그러한 구성요소들을 포함할 뿐 아니라 그러한 프로세스, 방법, 기술, 또는 장치에 본래의, 또는 특별히 목록으로 되지 않은, 다른 구성 요소들을 포함할 수 있는 구성요소들의 목록을 포함하는 프로세스, 방법, 기술(article), 또는 장치에 대해서도 비-배타적인 포함을 포괄(cover)하도록 의도되었다.

Claims (11)

  1. 통신 버스(Communication bus)의 사용을 제어하는 장치를 가진 시스템에 있어서,
    복수의 통신 버스 마스터들로서, 상기 복수의 통신 버스 마스터들 중 적어도 하나는 버스 마스터가 될 때 버스트 싸이클들(burst cycles)에서 상기 통신 버스를 경유하여 정보를 통신하기 위해서 상기 통신 버스에 결합되는, 상기 복수의 통신 버스 마스터들; 및
    상기 통신 버스에 결합되고 상기 통신 버스의 마스터 제어를 원하는 상기 복수의 통신 버스 마스터들 중 두 개에 응답하는 버스 중재자(bus arbiter)로서, 상기 버스 중재자는 상기 복수의 통신 버스 마스터들 중 하나에 의한 상기 통신 버스에 대한 단독(sole) 액세스를 선택적으로 허용하는 중재 정책(arbitration policy)을 수행하며, 상기 버스 중재자는 상기 복수의 통신 버스 마스터들 중 존재하는 하나에 의한 정보의 버스트 전송 동안 상기 통신 버스 상의 현재 존재하는 버스트 통신이 완수될 때까지 기다림 없이 임의의 시간에서 상기 통신 버스의 제어를 재할당할 수 있는 제어 정보를 수신하기 위한 사용자 제어 회로를 가지고, 상기 제어 정보는 상기 통신 버스 상에 현재 존재하는 버스트 전송의 타입이 제한된 버스트인지(bounded burst) 또는 제한되지 않은 버스트(unbounded burst)인지 여부에 기초한 상기 중재 정책을 결정하는, 상기 버스 중재자를 포함하는, 통신 버스의 사용을 제어하는 장치를 가진 시스템.
  2. 제 1 항에 있어서,
    상기 버스 중재자에 의해서 수신되는 상기 제어 정보는 상기 통신 버스 상에서 현재 존재하는 버스트 전송에 응답하는 메모리 장치의 버스트 타입에 기초하여 상기 중재 정책을 결정하는, 통신 버스의 사용을 제어하는 장치를 가진 시스템.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제 1 항에 있어서,
    상기 사용자 제어 회로는, 사용자에 의해서 결정되는 적어도 하나의 미리 결정된 제어 신호를 저장하는 하나 이상의 레지스터들로서, 상기 미리 결정된 제어 신호는 상기 중재 정책을 명기하는, 상기 레지스터들을 더 포함하는, 통신 버스의 사용을 제어하는 장치를 가진 시스템.
  9. 삭제
  10. 시스템 내에서 통신 버스의 사용을 제어하기 위한 방법에 있어서,
    사용자 제어 수단을 경유하여 제어값을 버스 중재자에 제공하는 단계로서, 상기 제어값은 미리 결정된 복수의 중재 정책들 중 하나를 복수의 버스 마스터들 중에서 버스 마스터쉽(bus mastership)을 선택하기 위해서 정보의 버스트 전송들 동안 선택하는, 상기 제어값을 제공하는 단계;
    현재 버스트 전송은 제한된 버스트인지 또는 제한되지 않은 버스트인지 여부에 기초하여 상기 복수의 버스 마스터들 중 하나를 선택하기 위해 상기 제어값을 사용하는 단계를 포함하는, 통신 버스의 사용을 제어하기 위한 방법.
  11. 제 10 항에 있어서,
    상기 버스 중재자에 상태 신호를 제공하는 단계로서, 상기 상태 신호는 상기 통신 버스를 경유하여 통신되고 있는 현재 버스트 전송에 대한 타입 정보를 제공하는 현재 버스트 전송 타입 정보를 포함하는, 상기 상태 신호를 제공하는 단계; 및
    현재 버스 마스터에 의한 정보의 현재 버스트 전송 동안, 상기 현재 버스트 전송이 완수될 때까지 기다림 없이 임의의 시간에서 상기 통신 버스의 제어를 선택적으로 재할당하기 위해서 상기 제어값 및 상기 상태 신호 둘 다 사용하는 단계를 더 포함하는, 통신 버스의 사용을 제어하기 위한 방법.
KR1020037016810A 2001-06-23 2002-05-15 캐시 메모리 버스트 싸이클 동안 버스 중재를 제어하는시스템 및 방법 KR100899951B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/888,278 2001-06-23
US09/888,278 US6775727B2 (en) 2001-06-23 2001-06-23 System and method for controlling bus arbitration during cache memory burst cycles
PCT/US2002/018358 WO2003001388A1 (en) 2001-06-23 2002-05-15 System and method for controlling bus arbitration during cache memory burst cycles

Publications (2)

Publication Number Publication Date
KR20040012964A KR20040012964A (ko) 2004-02-11
KR100899951B1 true KR100899951B1 (ko) 2009-05-28

Family

ID=25392904

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037016810A KR100899951B1 (ko) 2001-06-23 2002-05-15 캐시 메모리 버스트 싸이클 동안 버스 중재를 제어하는시스템 및 방법

Country Status (8)

Country Link
US (1) US6775727B2 (ko)
JP (1) JP4139771B2 (ko)
KR (1) KR100899951B1 (ko)
CN (1) CN1230758C (ko)
DE (1) DE10296959T5 (ko)
GB (1) GB2390200B (ko)
TW (1) TWI221968B (ko)
WO (1) WO2003001388A1 (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107365B1 (en) * 2002-06-25 2006-09-12 Cypress Semiconductor Corp. Early detection and grant, an arbitration scheme for single transfers on AMBA advanced high-performance bus
JP2004062319A (ja) * 2002-07-25 2004-02-26 Renesas Technology Corp データ処理装置
DE10300342A1 (de) 2003-01-09 2004-07-22 Wilhelm Karmann Gmbh Cabriolet-Fahrzeug
US6971033B2 (en) * 2003-01-10 2005-11-29 Broadcom Corporation Method and apparatus for improving bus master performance
CN1296844C (zh) * 2003-06-20 2007-01-24 上海奇码数字信息有限公司 数据传送方法和数据传送***
GB0317699D0 (en) * 2003-07-29 2003-09-03 Ibm A copy engine and a method for data movement
US7013357B2 (en) * 2003-09-12 2006-03-14 Freescale Semiconductor, Inc. Arbiter having programmable arbitration points for undefined length burst accesses and method
US7334059B2 (en) * 2004-03-03 2008-02-19 Freescale Semiconductor, Inc. Multiple burst protocol device controller
DE602004019990D1 (de) * 2004-08-30 2009-04-23 Magima Digital Information Co Verfahren und system zum datentransfer
CN1307571C (zh) * 2004-11-26 2007-03-28 上海广电(集团)有限公司中央研究院 一种低速总线结构及其数据传输方法
US7617338B2 (en) * 2005-02-03 2009-11-10 International Business Machines Corporation Memory with combined line and word access
KR100633773B1 (ko) * 2005-07-01 2006-10-13 삼성전자주식회사 버스 시스템 및 버스 중재 방법
US8001538B2 (en) 2005-12-07 2011-08-16 Microsoft Corporation Software accessible cache metadata
US8225297B2 (en) 2005-12-07 2012-07-17 Microsoft Corporation Cache metadata identifiers for isolation and sharing
US8813052B2 (en) * 2005-12-07 2014-08-19 Microsoft Corporation Cache metadata for implementing bounded transactional memory
US7865897B2 (en) 2006-02-03 2011-01-04 Freescale Semiconductor, Inc. Selective transaction request processing at an interconnect during a lockout
US8898652B2 (en) * 2006-03-23 2014-11-25 Microsoft Corporation Cache metadata for accelerating software transactional memory
US8266387B2 (en) * 2007-06-27 2012-09-11 Microsoft Corporation Leveraging transactional memory hardware to accelerate virtualization emulation
US8176253B2 (en) * 2007-06-27 2012-05-08 Microsoft Corporation Leveraging transactional memory hardware to accelerate virtualization and emulation
US9043553B2 (en) * 2007-06-27 2015-05-26 Microsoft Technology Licensing, Llc Leveraging transactional memory hardware to accelerate virtualization and emulation
JP2009116702A (ja) * 2007-11-07 2009-05-28 Toshiba Corp 半導体集積回路
US8478920B2 (en) * 2010-06-24 2013-07-02 International Business Machines Corporation Controlling data stream interruptions on a shared interface
US20120089759A1 (en) * 2010-10-08 2012-04-12 Qualcomm Incorporated Arbitrating Stream Transactions Based on Information Related to the Stream Transaction(s)
CN102724389B (zh) * 2011-11-15 2017-06-13 新奥特(北京)视频技术有限公司 一种同平台非编***间的监视器输出方法
FR2982961B1 (fr) * 2011-11-22 2014-09-05 Schneider Electric Usa Inc Arbitrage de dispositif de commande prioritaire
TWI506536B (zh) 2013-01-10 2015-11-01 Accton Technology Corp 執行裝置及其堆疊方法與堆疊系統
CN103257942B (zh) * 2013-03-27 2015-12-02 青岛中星微电子有限公司 一种片上***共享总线请求处理的方法及装置
US9606853B2 (en) * 2014-03-28 2017-03-28 Intel Corporation Protecting a memory device from becoming unusable
US10289596B2 (en) 2016-06-07 2019-05-14 Macronix International Co., Ltd. Memory and method for operating a memory with interruptible command sequence
US10475492B1 (en) 2018-07-27 2019-11-12 Macronix International Co., Ltd. Circuit and method for read latency control

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4987529A (en) 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
KR920004993A (ko) * 1990-08-28 1992-03-28 한태희 버스 중재 로직을 가진 컴퓨터 시스템
JPH0830549A (ja) * 1994-07-18 1996-02-02 Fuji Xerox Co Ltd バス制御装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710916A (en) * 1985-08-02 1987-12-01 Gte Laboratories Incorporated Switching apparatus for burst-switching communications system
DE3782335T2 (de) * 1987-04-22 1993-05-06 Ibm Speichersteuersystem.
US5388228A (en) 1987-09-30 1995-02-07 International Business Machines Corp. Computer system having dynamically programmable linear/fairness priority arbitration scheme
US5072365A (en) 1989-12-27 1991-12-10 Motorola, Inc. Direct memory access controller using prioritized interrupts for varying bus mastership
EP0559408B1 (en) 1992-03-04 1998-08-26 Motorola, Inc. A method and apparatus for performing bus arbitration using an arbiter in a data processing system
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
US5535333A (en) * 1993-03-30 1996-07-09 International Business Machines Corporation Adapter for interleaving second data with first data already transferred between first device and second device without having to arbitrate for ownership of communications channel
US5889973A (en) 1995-03-31 1999-03-30 Motorola, Inc. Method and apparatus for selectively controlling interrupt latency in a data processing system
US5758105A (en) * 1995-12-04 1998-05-26 International Business Machines Corporation Method and apparatus for bus arbitration between isochronous and non-isochronous devices
US5822758A (en) * 1996-09-09 1998-10-13 International Business Machines Corporation Method and system for high performance dynamic and user programmable cache arbitration
US5894562A (en) 1996-10-28 1999-04-13 Motorola, Inc. Method and apparatus for controlling bus arbitration in a data processing system
US5944800A (en) * 1997-09-12 1999-08-31 Infineon Technologies Corporation Direct memory access unit having a definable plurality of transfer channels
US6088751A (en) * 1998-02-12 2000-07-11 Vlsi Technology, Inc. Highly configurable bus priority arbitration system
US6330646B1 (en) * 1999-01-08 2001-12-11 Intel Corporation Arbitration mechanism for a computer system having a unified memory architecture
US6687821B1 (en) * 2000-03-31 2004-02-03 Intel Corporation System for dynamically configuring system logic device coupled to the microprocessor to optimize application performance by reading from selection table located in non-volatile memory
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
US6671284B1 (en) * 2000-08-04 2003-12-30 Intellon Corporation Frame control for efficient media access
US6564304B1 (en) * 2000-09-01 2003-05-13 Ati Technologies Inc. Memory processing system and method for accessing memory including reordering memory requests to reduce mode switching

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4987529A (en) 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
KR920004993A (ko) * 1990-08-28 1992-03-28 한태희 버스 중재 로직을 가진 컴퓨터 시스템
JPH0830549A (ja) * 1994-07-18 1996-02-02 Fuji Xerox Co Ltd バス制御装置

Also Published As

Publication number Publication date
JP2004531830A (ja) 2004-10-14
CN1230758C (zh) 2005-12-07
GB2390200B (en) 2005-05-18
CN1507592A (zh) 2004-06-23
GB2390200A (en) 2003-12-31
GB0324805D0 (en) 2003-11-26
DE10296959T5 (de) 2004-08-05
WO2003001388A1 (en) 2003-01-03
JP4139771B2 (ja) 2008-08-27
KR20040012964A (ko) 2004-02-11
US6775727B2 (en) 2004-08-10
TWI221968B (en) 2004-10-11
US20020199052A1 (en) 2002-12-26

Similar Documents

Publication Publication Date Title
KR100899951B1 (ko) 캐시 메모리 버스트 싸이클 동안 버스 중재를 제어하는시스템 및 방법
US6738845B1 (en) Bus architecture and shared bus arbitration method for a communication device
US6330647B1 (en) Memory bandwidth allocation based on access count priority scheme
US7350004B2 (en) Resource management device
US6954821B2 (en) Crossbar switch that supports a multi-port slave device and method of operation
US10241946B2 (en) Multi-channel DMA system with command queue structure supporting three DMA modes
EP1226493B1 (en) Bus architecture and shared bus arbitration method for a communication processor
JP4652394B2 (ja) マルチバーストプロトコルデバイスコントローラ
US7725633B2 (en) Arbitration device for arbitrating among a plurality of master devices, arbitration method, and video processing device including the arbitration device
US7213084B2 (en) System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit
WO2014113225A1 (en) Arbitrating memory accesses via a shared memory fabric
US7013357B2 (en) Arbiter having programmable arbitration points for undefined length burst accesses and method
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US20050010706A1 (en) Dynamic bus arbitration method and bus arbiter
JP2004199698A (ja) 複数の割込発生源から生じる割込要求の優先順位決定用割込制御装置ならびに割込制御方法
JP2007508607A (ja) 複数のプロセッサと1つのメモリシステムを有するシステムのためのメモリインタフェース
US5894562A (en) Method and apparatus for controlling bus arbitration in a data processing system
JPH0728758A (ja) ダイナミックタイムループ調停及び装置
US7080174B1 (en) System and method for managing input/output requests using a fairness throttle
JP2002312309A (ja) 調停回路及び調停方法
KR100757791B1 (ko) 공유 자원 중재 프로토콜 방법 및 중재기
JP2004062910A (ja) マルチコアプロセッサにセマフォを具現化し、共通資源へのアクセスを制御する方法
JP5058116B2 (ja) ストリーミングidメソッドによるdmac発行メカニズム
JP2000035954A (ja) マルチプロセッサおよびそのバス調停方法
US5799160A (en) Circuit and method for controlling bus arbitration

Legal Events

Date Code Title Description
N231 Notification of change of applicant
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: 20130507

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140613

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150416

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 11