KR100622800B1 - 버스를 통한 데이터 전송을 제어하는 방법, 시스템 및 컴퓨터 시스템 - Google Patents

버스를 통한 데이터 전송을 제어하는 방법, 시스템 및 컴퓨터 시스템 Download PDF

Info

Publication number
KR100622800B1
KR100622800B1 KR1020040013533A KR20040013533A KR100622800B1 KR 100622800 B1 KR100622800 B1 KR 100622800B1 KR 1020040013533 A KR1020040013533 A KR 1020040013533A KR 20040013533 A KR20040013533 A KR 20040013533A KR 100622800 B1 KR100622800 B1 KR 100622800B1
Authority
KR
South Korea
Prior art keywords
data
signal
bus
data transfer
byte
Prior art date
Application number
KR1020040013533A
Other languages
English (en)
Other versions
KR20040086546A (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 KR20040086546A publication Critical patent/KR20040086546A/ko
Application granted granted Critical
Publication of KR100622800B1 publication Critical patent/KR100622800B1/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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

전송의 크기 및 정렬에 무관하게, 하나의 전송 요청만을 사용해서, 마스터와 슬레이브 사이에서 버스를 통한 데이터 전송의 통신을 가능하게 하는 방법, 컴퓨터 시스템 및 신호 세트가 개시된다. 본 발명은 데이터 전송의 개시 바이트 어드레스를 포함하는 제 1 신호와, 데이터 비트내의 데이터 전송의 크기를 포함하는 제 2 신호와, 데이터 전송의 마지막 데이터 비트 동안에 필요한 각각의 바이트에 대한 바이트 인에이블을 포함하는 제 3 신호를 포함하는 3개의 전송 권한 신호(transfer qualifier signals)를 제공한다. 본 발명은 하나의 또는 복수의 비트의 정렬된 또는 정렬되지 않은 데이터 전송에 이용될 수 있다. 3개의 전송 권한 신호를 사용함으로써, 얼마나 많은 수의 데이터 비트를 전송 개시시에 전송할 것인지 및 개시 데이터 비트와 종료 데이터 비트 모두의 정렬 상태를 슬레이브에 제공한다. 결과적으로, 슬레이브는 전송할 바이트의 수를 계산할 필요가 없다. 복수 비트 전송에 대해서, 데이터 전송 요청의 수가 감소되어서 스위칭의 양, 버스 중재를 감소시키며, 필요한 전력 소비도 감소시킨다. 또한, 본 발명은 바이트 인에이블 신호가 초기 데이터 전송의 완료 전에 후속하는 데이터 전송 요청에 사용되는 것을 가능하게 함으로써, 전력 소비를 감소시키고 데이터 전송 요청의 파이프라이닝을 가능하게 한다.

Description

버스를 통한 데이터 전송을 제어하는 방법, 시스템 및 컴퓨터 시스템{SINGLE REQUEST DATA TRANSFER REGARDLESS OF SIZE AND ALIGNMENT}
도 1은 본 발명의 컴퓨터 시스템의 블록도,
도 2는 정렬되지 않은 복수 비트 데이터 전송용 데이터 전송 버스 정렬을 도시한 도면,
도 3은 도 2의 정렬되지 않은 복수 비트 데이터 전송의 타이밍도.
본 발명은 일반적으로 데이터 전송에 관한 것이고, 더 상세하게는 하나의 전송 요청을 사용해서 데이터 전송을 완료하는 방법, 시스템 및 신호 세트에 관한 것이다.
컴퓨터 시스템에서, 주 구성 요소는 버스라 불리는 정보 경로를 통해서 서로 통신한다. 버스는 규격화된 인터페이스로 마스터라 불리는 개시자(initiator)와 슬레이브라 불리는 목적지(destination) 구성 요소 사이의 통신을 가능하게 한다. 마스터와 슬레이브 사이에서 전송되는 데이터의 특성은 그 양 및 어드레스 정렬이 모두 변할 수 있다는 것이다. 데이터 전송 크기는 1바이트 데이터에서 수백 바이트까지, 혹은 수천 바이트까지 변할 수 있다.
"어드레스 정렬"이란 데이터 전송의 메모리 어드레스 위치를 개시시키고 종료시키는 것이다. 모든 데이터 비트(data beats)가 버스의 모든 바이트 레인(byte lanes)을 사용하는 경우가 데이터 전송이 "정렬된다"는 것이다. "데이터 비트(data beat)"는 한번의 시간 간격 또는 클록 사이클 동안 전체 폭 혹은 그 미만으로 버스를 통해 데이터를 전송하는 것을 나타낸다. 데이터 전송 중의 모든 바이트 레인을 정렬시키고 사용함으로써 최대 버스 처리 성능 및 전체 시스템 성능을 유발한다. 정렬을 이루기 위해, 전송의 개시 어드레스 및 전체 크기는 버스 크기의 배수가 되어야 한다. 예컨대 4 바이트 버스를 사용하는 경우, 정렬된 전송이라면, 4의 배수(즉, 0, 4, 8 등)인 개시 어드레스를 가져야 하고, 그 전체 크기도 4의 배수가 되어야 한다. 데이터 전송의 하나 이상의 데이터 비트가 모든 버스의 바이트 레인을 사용하지 않는 경우가 데이터 전송이 "정렬되지 않은" 것이다. 이러한 상태가 일어나기 위해서는 전송의 개시 어드레스 또는 전체 크기(또는 모두)가 버스 크기의 배수가 아니어야 한다. 예컨대, 4바이트 버스를 사용하는 경우, 개시 어드레스가 2라면(4의 배수가 아님), 전송의 제 1 데이터 비트는 2개의 버스의 바이트만을 사용할 것이다. 다시 4 바이트 버스를 사용하는 다른 예는 6바이트의 전송이다(역시 4의 배수가 아님). 이 경우, 개시 어드레스가 4의 배수더라도(예컨대, 어드레스 0), 제 1 데이터 비트는 정렬될 것이지만(즉, 버스의 4바이트를 모두 사용함), 제 2 데이터 비트는 2개의 버스의 바이트만을 사용할 것이기 때문에 정렬되지 않을 것이다. 개시 어드레스가 버스 크기의 배수가 아닌 전송인 경우, 첫번째 데이터 비트와 마지막 데이터 비트는 정렬되지 않는다. 예컨대, 4바이트 버스를 사용하는 경우, 개시 어드레스가 2인 8 바이트 전송이면, 2바이트의 정렬되지 않은 전송의 첫번째 데이터 비트(어드레스가 2 및 3), 4바이트의 정렬된 전송의 제 2 데이터 비트(어드레스 4-7) 및 2바이트의 정렬되지 않은 마지막 데이터 비트(어드레스가 8 및 9)가 생성된다.
대부분의 컴퓨터 및 통신 시스템에서, 데이터 전송은 정렬되지 않은 채 개시되거나, 정렬되지 않은 채 종료되고 혹은 정렬되지 않은 채 개시되고 종료된다. 그러나, 임의의 수의 바이트의 패킷 크기를 가능하게 하는 다양한 정보 데이터 패킷 프로토콜을 사용함으로써 더 많은 수의 정렬되지 않은 전송을 제공하게 되었고, 이는 버스 처리 성능 및 전체 시스템 성능을 감소시킨다. 정렬되지 않은 데이터 전송은 전송이 버스의 배수 데이터 비트(즉, 사이클)를 필요로 할 때, 추가적인 문제를 유발한다. 실제로, 데이터 전송이 정렬되지 않은 채 개시하고 종료될 때, 마스터는 잠재적으로 각각의 데이터 패킷에 대해 3개의 다른 전송 요청을 생성해야 한다. 예컨대, 정렬되지 않은 채 개시하고 종료되며 128 비트 데이터 버스를 통해서 생성된 86 바이트의 데이터 전송은 3개의 별도의 전송을 필요로 할 수 있다. 이를테면, 하나의 11 바이트의 요청과 같은 첫번째 부분 데이터 버스 전송 요청, 64 바이트의 정렬된 버스트 전송 요청 및 마지막으로 11 바이트의 다른 부분 데이터 버스 전송 요청을 들 수 있다. 이 경우, 마스터는 후속하는 버스트 전송까지 어드레스 정렬을 수행하기 위해 관련된 추가 로직을 구비해야 한다. 이러한 기술의 다른 문제는 버스의 중재(arbitration)에 의해 유발되는 지연이다. 상세하게는, 마스터는 데이터 전송을 요청하는 다른 마스터들을 중재해야 한다. 결과적으로, 중재에서 허가되어서(winning) 자신의 데이터 전송 요청을 수행하는 다른 마스터로 인해서 복수의 비트 비정렬 데이터 전송 중 일부 사이에서 지연이 발생될 수 있다. 이는 전체 데이터 패킷의 전달을 크게 지연시켜서 등시적인 데이터 전송 프로토콜을 방해할 수 있다.
복수 비트의 정렬되지 않은 데이터 전송을 어드레싱하는 한가지 기술은 종단 개방형 버스트 전송(an open ended burst transfer)을 수행해서 각각의 데이터 비트를 별도의 전송으로 처리하는 것이었다. 이 경우, 각각의 데이터 비트는 전송에 필요한 모든 정보, 특히 바이트 인에이블과 함께 공급된다. 그러나, 이 기술은 초기 요청이 행해진 후의 후속하는 전송 요청에 바이트 인에이블 신호가 사용될 수 없게 하며, 이는 각각의 데이터 비트가 바이트 인에이블 시그날링을 포함할 것을 요청한다. 따라서 이 기술은 복수의 비트 전송을 위해 많은 시그날링 요청을 생성할 수 있으며, 이는 회로를 증가시키고 각각의 데이터 비트에 대해서 버스 스위칭 주문을 증가시켜서 전력 소비를 증가시킨다. 이 기술은 또한 전송 개시시에, 판독 데이터의 프리페칭(prefetching) 및 기록 버퍼의 시간 할당에 유용한, 전체 패이로드 크기를 가진 슬레이브를 제공하지 않는다.
위의 기술은 또한 데이터 전송의 "파이프라이닝"에 관련된 문제를 유발한다. 데이터 전송의 파이프라이닝은 데이터 버스가 비지 상태일 때, 보류중인 마스터 데 이터 전송 요청을 슬레이브에 브로드캐스트하는 것을 포함한다. 파이프라이닝을 통해서 슬레이브는 자원을 할당하거나, 요청 중인 버스에서의 각각의 데이터 보류기간(tenure) 전에 데이터를 프리페치할 수 있으며 이는 지연을 감소시키고, 버스 처리 성능을 개선시킨다. 파이프라인 전송 요청을 어드레싱하기 위해서, 위의 기술에서는 2세트의 바이트 인에이블 신호, 즉 데이터 보류 기간용 바이트 인에이블 신호와 파이프라이닝된 어드레스 보류기간용 바이트 인에이블 신호가 필요하다. 큰 정렬되지 않은 데이터 전승을 다수의 전송 요청으로 분할하는 것은 파이프라이닝의 이점을 없애며, 이는 슬레이브가 증가된 수의 요청을 처리해야 하고, 동일한 마스터에 의한 이러한 복수의 요청이 하나의 데이터의 정렬되지 않은 부분의 전송을 구성하는지 여부를 데이터 개시시에 알 수 없기 때문이다.
위의 견지에서, 종래의 기술의 문제로 인해서 방해받지 않는 효과적이고 간단한 데이터 전송의 필요성이 제기된다. 특히, 초기 전송 요청의 일부에 따라, 복수 비트 데이터 전송의 개시 및 종료 데이터의 정렬을 효율적으로 통신하는 기술이 필요하다.
전송 크기 및 정렬에 무관하게 하나의 전송 요청을 사용해서 마스터와 슬레이브 사이에서, 버스를 통해서, 데이터 전송의 통신을 가능하게 하는 방법, 컴퓨터 시스템 및 신호 세트가 개시된다. 본 발명은 데이터 전송의 개시 바이트 어드레스를 포함하는 제 1 신호와, 데이터 비트내의 데이터 전송의 크기를 포함하는 제 2 신호와, 데이터 전송의 마지막 데이터 비트 동안에 필요한 각각의 바이트에 대한 바이트 인에이블을 포함하는 제 3 신호를 포함하는 3개의 전송 권한 신호(transfer qualifier signals)를 제공한다. 이 3개의 전송 권한 신호를 사용함으로써, 전송 개시시에 슬레이브가 전송할 데이터 비트의 수를 슬레이브에 제공하며, 개시 데이터 비트와 종료 데이터 비트 모두의 정렬을 제공한다. 결과적으로, 슬레이브는 전송할 바이트의 수를 계산할 필요가 없다. 복수 비트 전송에 대해서, 데이터 전송 요청의 수가 감소되어서 스위칭의 양, 버스 중재를 감소시키며, 필요한 전력 소비도 감소시킨다. 또한, 본 발명은 바이트 인에이블 신호가 초기 데이터 전송의 완료 전에 후속하는 데이터 전송 요청에 사용되는 것을 가능하게 함으로써, 전력 소비를 감소시키고 데이터 전송 요청의 파이프라이닝을 가능하게 한다.
본 발명의 제 1 측면은 버스를 통한 데이터 전송을 조정하는 신호 세트에 관한 것으로, 이 신호 세트는 데이터 전송의 개시 바이트 어드레스를 포함하는 제 1 신호와, 데이터 비트내의 데이터 전송의 크기를 포함하는 제 2 신호와, 데이터 전송의 마지막 데이터 비트 동안에 필요한 각각의 바이트에 대한 바이트 인에이블을 포함하는 제 3 신호를 포함한다.
본 발명의 제 2 측면은 하나의 데이터 전송 요청만을 사용해서 버스를 통한 제 1 데이터 전송을 완료하는 방법을 제공하며, 이 방법은 제 1 마스터로부터 버스로 복수의 신호를 전송하는 단계와, 제 1 데이터 전송을 완료하는 단계를 포함하며, 복수의 신호는 제 1 데이터 전송을 위한 제 1 데이터 전송 요청 신호와, 제 1 데이터 전송의 개시 바이트 어드레스를 포함하는 어드레스 버스 신호와, 제 1 데이터 비트내의 데이터 전송의 크기를 포함하는 전송 크기 신호와, 제 1 데이터 전송의 마지막 데이터 비트 동안 요청되는 각각의 바이트의 바이트 인에이블을 위한 바이트 인에이블 신호를 포함한다.
본 발명의 제 3 측면은 데이터 전송 요청을 개시하는 마스터 기능 유닛과, 복수의 바이트를 포함하는 버스와, 마스터 기능 유닛에 연결된 데이터 전송 유닛을 포함하는 컴퓨터 시스템을 제공하며, 데이터 전송 유닛은 데이터 전송 요청 신호와, 데이터 전송의 개시 바이트 어드레스를 포함하는 제 1 신호와, 데이터 비트내의 데이터 전송의 크기를 포함하는 제 2 신호와, 데이터 전송의 마지막 데이터 비트 동안 요청되는 각각의 바이트용 바이트 인에이블을 포함하는 제 3 신호를 생성하도록 구성된다.
본 발명의 특성들은 본 발명의 실시예에 관한 더 상세한 설명으로부터 더욱 자명할 것이다.
개시된 본 발명은 데이터 전송이 정렬되어 있는지 여부 또는 데이터 전송이 하나의 데이터 비트, 즉 사이클 또는 복수의 데이터 비트를 필요로 하는지 여부에 무관하게, 하나의 데이터 전송 요청만을 사용해서 버스를 통한 마스터와 슬레이브 사이의 데이터 전송을 완료하는 방법, 컴퓨터 시스템 및 신호 세트에 관한 것이다. 데이터 전송은 개시 어드레스 및/또는 종료 어드레스에서 정렬되지 않을 수도 있다. 그러나, 각각의 데이터 전송은 연속적인(contiguous) 데이터여야 한다. 즉, 개시 어드레스와 종료 어드레스 사이의 모든 바이트가 전송되어야 한다.
단지 분명하게 하기 위해서, Ⅰ. 컴퓨터 시스템 개요, Ⅱ. 방법, Ⅲ. 전송 권한 신호, Ⅳ. 예시적인 동작, Ⅴ. 결론의 부재를 붙인다.
Ⅰ. 컴퓨터 시스템 개요
첨부된 도면을 참조하면, 도 1은 본 발명의 컴퓨터 시스템(10)의 블록도이다. 컴퓨터 시스템(10)은 프로세싱 시스템(12:이하 "마스터(12)"라 함), 프로세서 로컬 버스(PLB(18), 이하, "버스"라 함) 및 목적지 구성 요소(20:이하 "슬레이브"라 함)를 포함한다. 마스터(12)는 마스터 기능 유닛(12)과 데이터 전송 유닛(16)을 포함한다. 하나의 마스터(12), 버스(18) 및 슬레이브(20)만이 도시되어 있지만, 본 발명의 특성은 임의의 수의 마스터(12), 버스(18) 및 슬레이브(20)를 구비한 컴퓨터 시스템에도 적용할 수 있다는 것을 이해할 것이다. 알려진 바와 같이, 버스(18)는 데이터 버스(50, 150)를 사용해서 마스터(12)와 슬레이브(20) 사이에서 데이터를 통신한다. 다양한 버스 토폴로지가 가능하다. 예컨대, 데이터 버스(50, 150)는 공유된 버스 또는 2개의 단방향 버스가 될 수 있다. 다른 토폴로지도 알려져 있으며, 이는 본 발명에 관해서도 적용될 수 있다는 것을 이해할 것이다. 버스(18)는 다수의 마스터(12)와 다수의 슬레이브(20) 사이에서의 버스의 사용을 중재하는 아비터(24)를 포함한다. 일 실시예에서, 아비터 매크로(24)는 선택된 마스터(12)와 슬레이브(20) 사이에서 데이터 전송을 지시하고, 어드레스 파이프라이닝을 구현한다. 슬레이브(20)는 임의의 알려진 또는 이후에 개발되는 시스템 메모 리와 같은 목적지 구성 요소가 될 수 있으며, 메모리 컨트롤러(도시 생략)와 같이, 이들과의 통신에 필요한 임의의 중간 구성 요소를 포함할 수 있다. 마스터 기능 유닛(14)은 예컨대, 중앙 처리 장치(CPU) 또는 슬레이브(20)와의 전송을 개시하기 위한, 이미 알려지거나 이후에 개발되는 구성 요소가 될 수 있다. 마스터 기능 유닛(14)은, 데이터 요청 신호(Mn 요청:40)를 형성하고, 이에 관련된 통신을 처리하는 데이터 전송 유닛(16)과 통신한다. "Mn"의 "n"은 많은 마스터 중 하나라는 것을 나타내는 데 사용되는 정수이다.
본 발명은 128 비트 데이터 버스를 참조로 해서 설명될 것이다. 그러나, 본 발명의 설명이 다른 폭의 데이터 버스에도 적용될 수 있다는 것을 이해할 것이다. 도 1 및 도 2를 참조하면, 버스(18)는 0~15로 표시된 16개의 바이트 레인(22:이하 각각 "바이트"라 함)을 포함한다. 각각의 바이트(22)는 8비트 데이터를 처리할 수 있다. 분명하게 하기 위해서, 후속하는 본 설명은 "빅엔디언(Big Endian)", 즉 비트 63이 최소 크기 비트이고, 비트 0이 최대 크기 비트인, 비트 순서를 사용한다.
Ⅱ. 방법
도 1을 참조하면, 하나의 데이터 전송 요청만을 사용해서 버스를 통한 데이터 전송을 완료하는 방법은 제 1 마스터(12)로부터 버스(18)로 복수의 신호를 전송하는 단계와, 데이터 전송을 완료하는 단계를 포함하며, 복수의 신호는 데이터 전송을 위한 데이터 전송 요청 신호(40)와, 어드레스 버스 신호(42)와, 전송 크기 신호(46)를 포함한다. 여기서 사용되는 "신호"는 하나 이상의 정보의 비트를 포함할 수 있다. 완료 단계는 버스(18)로부터 슬레이브(20)로 복수의 신호(140, 142, 144, 146)를 전송하는 단계와, 버스(18)를 통해서 슬레이브와 마스터(12) 사이에서 데이터(50, 150)를 통신하는, 즉 판독 또는 기록하는 단계를 포함한다. 개시 신호(40, 42, 44, 46)는 마스터 기능 유닛(14)에 의해 지시받는 대로 데이터 전송 유닛(16)에 의해 생성되며, 신호(140, 142, 144, 146)는 이들 개시 신호와 기능적으로 동일하다. 버스(18)의 아비터 매크로(24)는 신호(140, 142, 144, 146)를 슬레이브(20)에 전송하거나 통신한다.
본 발명은 또한 데이터 전송 요청의 파이프라이닝을 제공한다. 이에 관해서, 본 발명의 방법은, 이전의 데이터 전송을 완료하기 전에, 적어도 하나의 제 2 데이터 전송 요청을 원래의 마스터 또는 다른 제 2 마스터 중 하나로부터 제 2 데이터 전송용 버스(18)로 전송하는 단계를 더 포함할 수 있다. 이런식으로 임의의 수의 제 2 데이터 전송 요청이 처리될 수 있다. 각각의 제 2 데이터 전송 요청을 생성하는 마스터는 전송간에 변할 수도 변하지 않을 수도 있다. 즉, 제 2 데이터 전송 요청을 생성하는 마스터는 이전의 데이터 전송 요청을 생성했던 마스터일 수도 아닐 수도 있다. 각각의 제 2 데이터 전송 요청은 또한 어드레스 버스 신호(42, 142), 전송 크기 신호(44, 144) 및 각각의 제 2 데이터 전송용 바이트 인에이블 신호(46, 146)를 전송하는 것을 포함한다.
Ⅲ. 전송 권한 신호
3개의 전송 권한 신호에 관한 세부 사항이 설명될 것이다. 어드레스 버스 신호(도 1에서 Mn ABus(42) 또는 PLB ABus(142)로 표시됨)는 데이터 전송의 개시 바이트 어드레스를 포함한다. 어드레스 버스 신호는 어드레싱 가능 메모리의 크기에 대응하는 임의의 수의 어드레스 비트를 포함할 수 있다. 그러나, 설명을 위해, 하위 4비트만이 관련된다. 개시 바이트 어드레스부터 버스의 폭까지의 모든 연속 바이트가 전송되어야 한다. 다른 전송 권한 신호와 더불어 어드레스 버스 신호는 데이터 전송이 시작되는 위치와 관련된 내부 바이트 특정 정보(intra-byte specific information)의 필요성을 감소시킨다. 버스(18)는 버스 전송 요청 신호(PLB 요청:140)가 어써트됨에 따라서, 어드레스 버스 신호(PLB ABus:142)를 유효 어드레스로서 슬레이브(20)에 어써트한다.
요청 전송 크기 신호(도 1에서 Mn reqSize(44) 또는 PLB reqSize(144)로 표시됨)는 요청된 데이터 전송을 수행하는 데 필요한 데이터 비트에 대해서 설명된 데이터 전송의 크기를 포함한다. 하나의 혹은 최대 2개의 데이터 비트가 부분 버스 폭 전송에 필요할 수 있기 때문에, 바이트 단위인 버스 폭이 곱해진 비트의 수가 반드시 요청되는 전체 바이트의 수를 산출하는 것은 아니다. 어드레스 버스 신호(42, 142) 및 바이트 인에이블 신호(46, 146:이하에 설명됨)는 전체 버스 폭 또는 부분 버스 폭 전송이 요청되고 있는지 판정한다.
바이트 인에이블 신호(도 1에서 Mn BE(46) 또는 PLB BE(146)로 표시됨)는 데이터 전송의 마지막 데이터 비트에 필요한 각각의 바이트(22)의 바이트 인에이블을 포함한다. 각각의 비트는 판독 또는 기록 데이터 버스(50, 150)의 바이트에 대응한다. 신호 데이터 비트 전송에 대해서, 바이트 인에이블 신호(46, 146)는 어느 데이터 버스(50, 150)의 바이트가 판독되거나 기록될 지 식별한다. 이 경우, "마지막 데이터 비트"는 첫번째 데이터 비트이기도 하다. 다수의 데이터 비트 전송에 대해서, 바이트 인에이블 신호(46, 146)는 데이터 전송의 마지막 데이터 비트의 바이트 인에이블 조합을 나타낸다. 두 경우에, 첫번째 데이터 비트에 대한 개시 바이트 위치는 어드레스 버스 신호로 표시된다.
바이트 인에이블 신호(46, 146)에 표시된, 어드레스 버스 신호(42, 142)로 표시되는 개시 어드레스로부터 전송의 마지막 데이터 비트용 바이트 인에이블의 어써트된 비트까지의 모든 바이트 인에이블이 전송에 포함된다. 따라서, 연속된 바이트 인에이블만이 허용된다. 아래의 표는 128비트 버스용으로 가능한 바이트 인에이블 신호, 대응하는 바이트 인에이블(0-15), 개시 바이트 어드레스 및 바이트 인에이블 신호가 하나의 비트 데이터 전송용으로 및/또는 복수의 비트 데이터 전송용으로 어써트될 수 있는지를 표시한다. 다수의 데이터 비트에 대해서, 바이트 인에이블 신호는 연속 바이트 인에이블을 제공해야 한다.
Figure 112004008321855-pat00001
Figure 112004008321855-pat00002
Figure 112004008321855-pat00003
전송 권한 신호를 통해, 슬레이브(20)는 개시 어드레스로부터 개시 바이트 어드레스 정렬이 무엇인지를 결정하고, 전송 요청 크기로부터 전체 및 부분 버스 폭 전송을 포함하는 총 데이터 비트의 수를 결정하고, 마지막으로 바이트 인에이블로부터 종료 어드레스 정렬이 무엇인지를 정확하게 결정할 수 있다. 따라서, 다수의 비트 데이터 전송은, 각각이 완전한 신호 세트를 가지고 있는 다수의 전송 요청으로서 처리될 필요는 없다.
Ⅳ. 예시적인 동작
본 발명이 다수 비트, 정렬되지 않은 데이터 전송에 관해서 설명되었지만, 하나의 비트의 정렬되지 않은 상태, 하나의 비트의 정렬된 상태 및 복수의 비트인 정렬된 데이터 전송에도 적용할 수 있다는 것을 이해할 것이다. 하나의 비트 동안의 완료를 가능하게 하는 데이터 전송에 대해서, 전송 크기 신호는 0001과 같게 될 것이다. 이 경우, 바이트 인에이블 신호는 단일 비트용 바이트 인에이블을 나타낼 것이다. 이런식으로, 전체 버스 폭 미만인 단일 비트 데이터 전송은 용이하게 식별될 수 있다. 예컨대, 바이트 인에이블 신호 0000_0000_0110_0000의 단일 비트 데이터 전송은 2바이트만을 전송할 것이다. 이 경우, 낮은 순서의 어드레스 버스 신호는 전송의 개시 바이트 어드레스인 1001를 나타낸다.
도 2 및 도 3을 참조하면, 예시적인 복수 비트의 정렬되지 않은 데이터 전송에 대한 데이터 전송 버스 정렬도 및 타이밍도가 각각 도시되어 있다. 이 실시예에서, 데이터 전송은 메모리 슬레이브로부터의 판독 데이터 전송이다. 예시적인 데이터 전송은 6의 요청 전송 크기 신호를 가지며, 즉 전체 및 부분 데이터 비트의 총수가 6이다. 또한, 데이터 전송은 개시 어드레스 0101(즉, 바이트 5) 및 1111_1111_1110_0000의 바이트 인에이블 신호(즉, 마지막 데이터 비트에 대해서 바이트 인에이블 0:10)를 가지고 있다. 이 정보는 86 바이트의 데이터 전송을 나타낸다. 도 2에 도시된 바와 같이, 부분 개시 버스 폭(데이터 비트 1)과 부분 종료 버스 폭(데이터 비트 6)을 가진 전체 버스 폭(데이터 비트 2-5)의 복수 비트 전송은 용이하게 표시될 수 있다.
도 3은 예시적인 신호 전송을 나타낸다. 도 3의 1행은 2행의 SYS plbClk 신호에 대응하는 일련의 클록 사이클 번호를 나타낸다. 3행은 마스터(M0)로부터의 하나의 요청에 대한 클록 사이클 어써션(M0 요청)을 나타낸다. 이 요청은 각각의 별도의 버스 요청에 대해서 하나의 클록 사이클에 대해서만 어써트된다. 4행은 마스터의 판독/비 기록 신호(M0 RNW)의 어써션을 나타낸다. 이 경우, 신호는 1로, 요청이 마스터에 의한 판독 데이터 동작용이라는 것을 나타내고, 그렇지 않은 경우에는 기록용으로 0이 될 것이다.
5행, 6행, 7행은 각각, 바이트 0:10이 마지막 데이터 비트 동안 요청될 것임을 나타내는 바이트 인에이블 신호(M0_BE) 1111_1111_1110_0000(16진수의 FFE0)의 어써션, 0101(바이트 5)의 값을 가진 낮은 순서의 어드레스 버스 신호(M0 ABus) 및 0110(6)의 값을 가지는 마스터로부터 버스로의 요청 전송 크기 신호(M0 reqSize)를 나타낸다. 도 2에 도시된 데이터 비트는 이 데이터에 대응하며, 즉 데이터 비트 1에 대한 개시 바이트 어드레스는 5이고, 데이터 비트 6은 바이트 0:10를 필요로 한 다.
도 3을 참조하면, 8행은 하나의 클록 사이클 동안(사이클 3) 슬레이브에 어써트되는 버스 요청(PLB 요청)을 나타낸다. 8행은 또한 다른 마스터의 M1요청에 의해 개시되는 어드레스 파이프라이닝을 나타내는 요청의 제 2 어써션(사이클 7)을 나타낸다. 이런식으로, 본 발명은 이전 데이터 전송의 완료 전에 전송 권한 신호의 재사용을 가능하게 한다. 버스 요청(PLB 요청)은 유효 어드레스 및 전송 권한이 아비터 매크로(24:도 1) 출력 상에 있다는 것을 나타내고, 선택된 슬레이브(20:도 1)는 이 정보를 디코딩해서 전송을 개시할 것이다. 9행은 버스 판독/비 기록 신호(PLB RNW)가 어써트된다는 것을 나타낸다. 다시 한번, 신호는 1로, 요청이 슬레이브로부터의 데이터 판독용이고, 그렇지 않으면 기록을 위해 0이 될 것이다. 10행, 11 행, 12 행은 각각 바이트 인에이블 신호(PLB BE)의 실제 어써션, 어드레스 버스 신호(PLB ABus) 및 아비터 매크로(24:도 1)로부터 슬레이브로의 요청 전송 크기 신호(PLB reqSize)를 나타낸다.
13행은 다른 제 2 마스터(M1)로부터 버스로의 제 2 데이터 전송 요청(M1 요청)을 나타내며, 데이터 전송을 파이프라이닝하는 성능을 표시한다. 전송 권한 신호와 같은 제 2 데이터 전송 요청을 첨부할 수 있는 다른 신호는 간단하게 하기 위해 생략되었다.
14행은 슬레이브로부터 버스(18)의 아비터 매크로(24:도 1)로의 어드레스 애크(SL0 addrAck)를 나타낸다. 15행은 슬레이브(20:도 1)로부터 버스(18)로의 판독 데이터 애크(SL0 rdDAck)를 나타내며, 이는 데이터 전송용 6 데이터 비트의 어써션을 포함한다. 16행은 아비터 매크로(24:도 1)로부터 마스터(M0)로의 어드레스 애크(PLB M0addrAck)를 나타낸다. 17행은 아비터 매크로(24:도 1)로부터 마스터(M0)로의 판독 데이터 애크(PLB M0rDAck)를 나타내며, 이는 6 데이터 비트용 데이터의 어써션을 포함한다. 18행은 아비터 매크로(24:도 1)로부터 마스터(M1)로의 어드레스 애크(PLB M1addrAck)를 나타낸다. 마지막으로 19행은 아비터 매크로(24:도 1)로부터 마스터(12)로의 판독 데이터 애크(PLB M1rDAck)를 나타내며, 이는 하나의 데이터 비트 내의 데이터를 포함한다. "유효 바이트 인에이블"이라 되어 있는 행은 각각의 데이터 비트에 대응하는 버스 바이트 인에이블된 컨텐츠(16진수의 값)를 나타낸다. 첫번째 데이터 전송에 대해서, 이는 도 2에 도시된 컨텐츠에 대응한다. 도 2 및 3에 도시된 바와 같이, 첫번째 데이터 비트 동안, 11바이트가 바이트 어드레스 0101(5)에서 전송되기 시작하고, 두번째 데이터 비트에서 5번째 데이터 비트 동안, 64바이트가 전송되며(4×16 바이트), 6번째 데이터 비트 동안, 11 바이트가 다시 전송된다.
본 발명이 위의 신호들에 대해서 설명되었지만, 다양한 다른 신호(도시 생략)가 마스터(12), 버스(18:아비터 매크로(24)) 및 슬레이브(20) 사이에서 통신될 수 있다는 것을 이해할 것이다.
Ⅴ. 결론
위의 설명에서, 설명되는 방법의 단계들은 컴퓨터 시스템(10)내에 포함된 하드웨어에 의해 수행될 수 있다는 것을 이해할 것이다. 그러나, 여기서 설명된 다 양한 디바이스, 모듈, 메커니즘 및 시스템이 하드웨어 또는 소프트웨어로, 또는 이들의 조합으로 구현될 수 있으며, 도시되지 않은 것과 구별될 수 있다는 것을 이해할 것이다. 이는 여기 설명된 방법을 수행하기에 적합한 임의의 타입의 프로세싱 시스템 또는 다른 장치에 의해 구현될 수 있다. 본 발명은 또한, 여기 설명된 방법 및 기능의 구현을 가능하게 하는 모든 특성을 포함하며, - 컴퓨터 시스템에 장착되는 경우 - 방법 및 기능을 수행할 수 있는, 컴퓨터 프로그램 제품에서 구현될 수도 있다. 본 발명의 설명에서의 컴퓨터 프로그램, 소프트웨어 프로그램, 프로그램, 프로그램 제품 또는 소프트웨어는, 인스트럭션 세트의 임의의 언어, 코드 또는 기호로 된 임의의 표현을 의미하며, 이 인스트럭션 세트는 정보 처리 성능을 가진 시스템이 직접 또는 (a) 다른 언어, 코드 또는 기호로 변환된 후에, 및/또는 (b) 다른 자료 형식으로 재생된 후에 특정 기능을 수행할 수 있게 하도록 의도된다.
본 발명이 위에 설명된 특정 실시예에 대해서 설명되었지만, 많은 수정, 변경 및 변화가 당업자에게는 자명할 것이다. 따라서, 위에서 설명된 본 발명의 실시예는 예일 뿐, 한정하려는 것이 아니다. 다양한 변화가 첨부된 청구의 범위에 정의되는 본 발명의 사상과 범주를 벗어남없이 이루어질 수 있다.
본 발명에 의해서, 전송 크기 및 정렬에 무관하게 하나의 전송 요청을 사용해서, 마스터와 슬레이브 사이에서, 버스를 통해서, 데이터 전송의 통신이 가능해진다.

Claims (23)

  1. 데이터 버스를 통한 데이터 전송을 제어하기 위해, 컴퓨터 시스템에서 사용하기 위한 물리적 형태로 나타나는 신호 세트를 생성하는 시스템에 있어서,
    상기 신호 세트는
    상기 데이터 전송의 데이터 버스의 개시 바이트 어드레스를 포함하는 제 1 신호와,
    데이터 비트(data beats)내의 상기 데이터 전송의 크기를 포함하는 제 2 신호와,
    상기 데이터 전송의 마지막 데이터 비트 동안에 필요한 각각의 바이트에 대한 바이트 인에이블(a byte enable)을 포함하는 제 3 신호
    를 포함하고,
    상기 제 1 신호와, 제 2 신호 및 제 3 신호는 단일 전송 요청 신호를 이용하여 데이터 전송을 완료하기 위해, 상기 단일 전송 요청 신호와 함께 포함되는
    시스템.
  2. 제 1 항에 있어서,
    상기 제 1, 제 2 및 제 3 신호는 마스터로부터 상기 버스로의 하나의 전송 요청 신호와 함께 포함되는
    시스템.
  3. 제 1 항에 있어서,
    상기 제 1, 제 2 및 제 3 신호는 상기 버스로부터 슬레이브로의 버스 데이터 전송 요청과 함께 포함되는
    시스템.
  4. 제 1 항에 있어서,
    상기 데이터 전송은 개시부터 종료까지 연속적인(contiguous)
    시스템.
  5. 제 1 항에 있어서,
    상기 데이터 전송은 복수의 데이터 비트(data beats)를 필요로 하는
    시스템.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 데이터 전송은 하나의 데이터 비트를 필요로 하는
    시스템.
  8. 삭제
  9. 하나의 데이터 전송 요청만을 사용해서, 버스를 통한 제 1 데이터 전송을 완료하는 방법에 있어서,
    제 1 마스터로부터 상기 버스로 복수의 신호를 전송하는 단계와,
    상기 제 1 데이터 전송을 완료하는 단계를 포함하되,
    상기 복수의 신호는
    상기 제 1 데이터 전송을 위한 제 1 데이터 전송 요청 신호와,
    상기 제 1 데이터 전송의 개시 바이트 어드레스를 포함하는 어드레스 버스 신호와,
    상기 제 1 데이터 비트내의 데이터 전송의 크기를 포함하는 전송 크기 신호와,
    상기 제 1 데이터 전송의 마지막 데이터 비트 동안 요청되는 각각의 바이트의 바이트 인에이블을 포함하는 바이트 인에이블 신호를 포함하는
    방법.
  10. 제 9 항에 있어서,
    상기 완료 단계는
    상기 버스로부터 슬레이브로 상기 복수의 신호를 전송하는 단계와,
    상기 버스를 통해서 상기 슬레이브와 상기 마스터 사이에서 데이터를 통신하는 단계
    를 포함하는 방법.
  11. 제 9 항에 있어서,
    상기 제 1 데이터 전송을 완료하기 전에 제 2 데이터 전송을 위해 상기 제 1 마스터 및 제 2 마스터 중 하나로부터 상기 버스로 제 2 데이터 전송 요청을 전송하는 단계
    를 더 포함하는 방법.
  12. 제 11 항에 있어서,
    상기 제 2 데이터 전송의 개시 바이트 어드레스를 포함하는 어드레스 버스 신호와,
    상기 제 2 데이터 비트내의 데이터 전송의 크기를 포함하는 전송 크기 신호와,
    상기 제 2 데이터 전송의 마지막 데이터 비트 동안 요청되는 각각의 바이트의 바이트 인에이블을 포함하는 바이트 인에이블 신호
    를 전송하는 단계
    를 더 포함하는 방법.
  13. 제 9 항에 있어서,
    상기 제 1 데이터 전송은 복수의 데이터 비트를 필요로 하며, 개시부터 종료까지 연속적인
    방법.
  14. 삭제
  15. 제 9 항에 있어서,
    상기 제 1 데이터 전송은 하나의 데이터 비트를 필요로 하는
    방법.
  16. 삭제
  17. 데이터 전송 요청을 개시하는 마스터 기능 유닛과,
    복수의 바이트의 버스 너비를 포함하는 버스와,
    상기 마스터 기능 유닛에 연결된 데이터 전송 유닛
    을 포함하되,
    상기 데이터 전송 유닛은
    데이터 전송 요청 신호와,
    상기 데이터 전송의 개시 바이트 어드레스를 포함하는 제 1 신호와,
    데이터 비트내의 상기 데이터 전송의 크기를 포함하는 제 2 신호와,
    상기 데이터 전송의 마지막 데이터 비트 동안 요청되는 각각의 바이트용 바이트 인에이블을 포함하는 제 3 신호
    를 생성하도록 구성된
    컴퓨터 시스템.
  18. 제 17 항에 있어서,
    상기 데이터 전송은 개시부터 종료까지 연속적인
    컴퓨터 시스템.
  19. 제 17 항에 있어서,
    상기 버스는, 상기 제 1, 제 2 및 제 3 신호를 포함하는 상기 데이터 전송을 선택된 마스터로부터 슬레이브로 전송하도록 구성된 아비터(an arbiter)를 포함하는
    컴퓨터 시스템.
  20. 삭제
  21. 데이터 전송 요청을 개시하는 마스터 기능 유닛과,
    복수의 바이트의 버스 너비를 포함하는 버스와,
    상기 마스터 기능 유닛에 연결된 데이터 전송 유닛
    을 포함하되,
    상기 데이터 전송 유닛은
    데이터 전송 요청 신호와,
    상기 데이터 전송의 개시 바이트 어드레스를 포함하는 제 1 신호와,
    데이터 비트내의 상기 데이터 전송의 크기를 포함하는 제 2 신호와,
    상기 데이터 전송의 마지막 데이터 비트 동안 요청되는 각각의 바이트용 바이트 인에이블을 포함하는 제 3 신호
    를 생성하도록 구성된
    신호 생성기.
  22. 제 21 항에 있어서,
    상기 데이터 전송은 개시부터 종료까지 연속적인
    신호 생성기.
  23. 제 21 항에 있어서,
    상기 버스는, 상기 제 1, 제 2 및 제 3 신호를 포함하는 상기 데이터 전송을 선택된 마스터로부터 슬레이브로 전송하도록 구성된 아비터(an arbiter)를 포함하는
    신호 생성기.
KR1020040013533A 2003-03-28 2004-02-27 버스를 통한 데이터 전송을 제어하는 방법, 시스템 및 컴퓨터 시스템 KR100622800B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/249,302 2003-03-28
US10/249,302 US6993619B2 (en) 2003-03-28 2003-03-28 Single request data transfer regardless of size and alignment

Publications (2)

Publication Number Publication Date
KR20040086546A KR20040086546A (ko) 2004-10-11
KR100622800B1 true KR100622800B1 (ko) 2006-09-14

Family

ID=32987051

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040013533A KR100622800B1 (ko) 2003-03-28 2004-02-27 버스를 통한 데이터 전송을 제어하는 방법, 시스템 및 컴퓨터 시스템

Country Status (3)

Country Link
US (2) US6993619B2 (ko)
KR (1) KR100622800B1 (ko)
TW (1) TWI269979B (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219785B1 (en) * 2006-09-25 2012-07-10 Altera Corporation Adapter allowing unaligned access to memory
US7668996B2 (en) * 2007-10-23 2010-02-23 International Business Machines Corporation Method of piggybacking multiple data tenures on a single data bus grant to achieve higher bus utilization
US7987437B2 (en) 2007-10-23 2011-07-26 International Business Machines Corporation Structure for piggybacking multiple data tenures on a single data bus grant to achieve higher bus utilization
JP5292406B2 (ja) * 2008-09-12 2013-09-18 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US9612983B2 (en) * 2013-08-12 2017-04-04 Atmel Corporation Peripheral registers with flexible data width
US11063850B2 (en) * 2018-08-29 2021-07-13 Ati Technologies Uls Slave-to-master data and out-of-sequence acknowledgements on a daisy-chained bus

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6424529A (en) * 1987-07-20 1989-01-26 Toyo Denshi Kk Spatial optical transmitter
JPS6461668A (en) * 1987-09-01 1989-03-08 Matsushita Electric Ind Co Ltd Digital peak level display device
WO1999009376A1 (en) 1997-08-19 1999-02-25 Valtion Teknillinen Tutkimuskeskus Flowmeter
KR20010074800A (ko) * 1998-08-05 2001-08-09 추후제출 직렬 인터페이스와 프로세서 사이에서 데이터를 전송하기위한 인터페이스 회로 및 방법
KR20020005053A (ko) * 1999-05-31 2002-01-16 다니구찌 이찌로오, 기타오카 다카시 데이터 전송방식
JP2002344537A (ja) 2001-05-14 2002-11-29 Seiko Epson Corp データ転送制御装置及び電子機器
KR20050004062A (ko) * 2003-07-03 2005-01-12 톰슨 라이센싱 소시에떼 아노님 버스 연결을 통한 랜덤 액세스를 위한 방법 및 데이터 구조

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4706190A (en) * 1983-09-22 1987-11-10 Digital Equipment Corporation Retry mechanism for releasing control of a communications path in digital computer system
US4750154A (en) 1984-07-10 1988-06-07 Prime Computer, Inc. Memory alignment system and method
US4839801A (en) 1986-11-03 1989-06-13 Saxpy Computer Corporation Architecture for block processing computer system
US5101479A (en) * 1989-07-21 1992-03-31 Clearpoint Research Corporation Bus device for generating and responding to slave response codes
US5170477A (en) 1989-10-31 1992-12-08 Ibm Corporation Odd boundary address aligned direct memory acess device and method
EP0489944B1 (de) 1990-12-08 1995-09-20 Deutsche ITT Industries GmbH Master-Slave-Datenübertragungsverfahren mit flexiblem Eindraht-Bus
US5594927A (en) 1992-01-09 1997-01-14 Digital Equipment Corporation Apparatus and method for aligning data transferred via DMA using a barrel shifter and a buffer comprising of byte-wide, individually addressabe FIFO circuits
US5550189A (en) 1992-04-17 1996-08-27 Kimberly-Clark Corporation Modified polysaccharides having improved absorbent properties and process for the preparation thereof
US6453388B1 (en) * 1992-06-17 2002-09-17 Intel Corporation Computer system having a bus interface unit for prefetching data from system memory
US5550989A (en) 1993-05-28 1996-08-27 International Business Machines Corporation Bridge circuit that can eliminate invalid data during information transfer between buses of different bitwidths
US5550972A (en) 1993-06-30 1996-08-27 Microsoft Corporation Method and apparatus for efficient transfer of data to memory
US5566312A (en) 1994-05-23 1996-10-15 Advanced Micro Devices Processimg unit with programmable mis-aligned byte addressing
US6289137B1 (en) * 1994-06-02 2001-09-11 Canon Kabushiki Kaisha Image processing apparatus and method
US5590358A (en) 1994-09-16 1996-12-31 Philips Electronics North America Corporation Processor with word-aligned branch target in a byte-oriented instruction set
US5586312A (en) * 1994-10-11 1996-12-17 Unisys Corporation Method and apparatus for using an independent transaction processing application as a service routine
US5706483A (en) 1994-12-13 1998-01-06 Microsoft Corporation Run-time code compiler for data block transfer
US6125435A (en) 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5854640A (en) 1996-01-02 1998-12-29 Intel Corporation Method and apparatus for byte alignment of video data in a memory of a host system
US5742755A (en) 1996-02-20 1998-04-21 Cyrix Corporation Error-handling circuit and method for memory address alignment double fault
KR100205351B1 (ko) 1996-07-31 1999-07-01 구본준 반도체 기억 장치의 주소 정렬 장치
US6105119A (en) 1997-04-04 2000-08-15 Texas Instruments Incorporated Data transfer circuitry, DSP wrapper circuitry and improved processor devices, methods and systems
US6115805A (en) 1997-09-08 2000-09-05 Lucent Technology Inc. Non-aligned double word fetch buffer
US6157971A (en) 1998-06-02 2000-12-05 Adaptec, Inc. Source-destination re-timed cooperative communication bus
US6076136A (en) 1998-06-17 2000-06-13 Lucent Technologies, Inc. RAM address decoding system and method to support misaligned memory access
US6240479B1 (en) * 1998-07-31 2001-05-29 Motorola, Inc. Method and apparatus for transferring data on a split bus in a data processing system
US6230238B1 (en) 1999-03-02 2001-05-08 Motorola, Inc. Method and apparatus for accessing misaligned data from memory in an efficient manner
US6122335A (en) 1999-10-01 2000-09-19 Quantum Bridge Communications, Inc. Method and apparatus for fast burst mode data recovery
US6581116B1 (en) * 1999-11-09 2003-06-17 International Business Machines Corporation Method and apparatus for high performance transmission of ordered packets on a bus within a data processing system
JP4554016B2 (ja) * 2000-01-20 2010-09-29 富士通株式会社 バス使用効率を高めた集積回路装置のバス制御方式
US7593318B2 (en) * 2002-01-07 2009-09-22 Reams Byron L Method and apparatus for header updating

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6424529A (en) * 1987-07-20 1989-01-26 Toyo Denshi Kk Spatial optical transmitter
JPS6461668A (en) * 1987-09-01 1989-03-08 Matsushita Electric Ind Co Ltd Digital peak level display device
WO1999009376A1 (en) 1997-08-19 1999-02-25 Valtion Teknillinen Tutkimuskeskus Flowmeter
KR20010074800A (ko) * 1998-08-05 2001-08-09 추후제출 직렬 인터페이스와 프로세서 사이에서 데이터를 전송하기위한 인터페이스 회로 및 방법
KR20020005053A (ko) * 1999-05-31 2002-01-16 다니구찌 이찌로오, 기타오카 다카시 데이터 전송방식
JP2002344537A (ja) 2001-05-14 2002-11-29 Seiko Epson Corp データ転送制御装置及び電子機器
KR20050004062A (ko) * 2003-07-03 2005-01-12 톰슨 라이센싱 소시에떼 아노님 버스 연결을 통한 랜덤 액세스를 위한 방법 및 데이터 구조

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
등록특허 제124529호 *
등록특허 제161668호 *

Also Published As

Publication number Publication date
KR20040086546A (ko) 2004-10-11
US7093058B2 (en) 2006-08-15
US20060031705A1 (en) 2006-02-09
TW200500870A (en) 2005-01-01
TWI269979B (en) 2007-01-01
US20040193772A1 (en) 2004-09-30
US6993619B2 (en) 2006-01-31

Similar Documents

Publication Publication Date Title
US6981088B2 (en) System and method of transferring data words between master and slave devices
EP0993680B1 (en) Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory
US6101565A (en) System for multisized bus coupling in a packet-switched computer system
JP4083987B2 (ja) 多重レベル接続識別を備えた通信システム
US6119196A (en) System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
EP1012734B1 (en) Address translation in computer bus bridge devices
JPH0981508A (ja) 通信方法及び装置
JP2008310832A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
US7093058B2 (en) Single request data transfer regardless of size and alignment
EP1376373B1 (en) Arrangement having a first device and a second device connected via a cross bar switch
EP1089501B1 (en) Arbitration mechanism for packet transmission
JPH08161254A (ja) 情報処理システムおよびそのバス調停方式
US8127108B2 (en) Apparatus, system and method for prefetching data in bus system
KR100266963B1 (ko) 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치
US6418491B1 (en) Apparatus and method for controlling timing of transfer requests within a data processing apparatus
JPH05282242A (ja) バス制御方式
EP4095704B1 (en) Processing system, related integrated circuit, device and method
KR100441606B1 (ko) 복수의 모듈들간의 데이터 송수신 시스템 및 송수신제어방법
KR100217819B1 (ko) Iic 버스 사용 제어 방법
KR20000033265A (ko) 칩 내장형 버스를 인터페이스하기 위한 장치 및 방법
JP4567373B2 (ja) データ転送装置及び通信データ処理システム
JP3947223B2 (ja) 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置
KR950029957A (ko) 시스템 제어기 모듈에서의 dma 제어기 및 dmac 동작방법

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: 20090901

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee