KR20070083459A - 명령 전송 제어 장치 및 명령 전송 제어 방법 - Google Patents

명령 전송 제어 장치 및 명령 전송 제어 방법 Download PDF

Info

Publication number
KR20070083459A
KR20070083459A KR1020077000924A KR20077000924A KR20070083459A KR 20070083459 A KR20070083459 A KR 20070083459A KR 1020077000924 A KR1020077000924 A KR 1020077000924A KR 20077000924 A KR20077000924 A KR 20077000924A KR 20070083459 A KR20070083459 A KR 20070083459A
Authority
KR
South Korea
Prior art keywords
command
channel
commands
received
unit
Prior art date
Application number
KR1020077000924A
Other languages
English (en)
Other versions
KR100864998B1 (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 KR20070083459A publication Critical patent/KR20070083459A/ko
Application granted granted Critical
Publication of KR100864998B1 publication Critical patent/KR100864998B1/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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • 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
    • 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/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/125Frame memory handling using unified memory architecture [UMA]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/127Updating a frame memory using a transfer of data from a source area to a destination area

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)

Abstract

복수의 처리 유닛들 사이에서 전송되고 수신되는 명령들이 효과적으로 제어된다.
명령 수신기(210)는 메모리 주소를 할당한 명령을 외부 명령 전송 엔티티로부터 수신한다. 메모리의 주소 범위가 복수의 영역들로 분할되고, 할당 정보 저장 유닛(228)은 채널이 각각의 영역에 할당되는 할당 테이블을 저장한다. 명령 저장 유닛(230)은, 각각의 대기행렬이 수신된 명령들을 임시로 저장하는 각각의 채널에 따라서 제공되는 대기행렬을 포함한다. 분배 수신지 지정 유닛(224)은 할당 테이블을 참조하여 메모리 주소에 대응하는 영역을 지정하고, 실행 유닛(222)은 수신된 명령을 상기 영역에 대응하는 명령 저장 유닛에 전송한다.
명령 저장 유닛, 명령 전송 제어 장치, 엔티티, 채널

Description

명령 전송 제어 장치 및 명령 전송 제어 방법{Command transfer controlling apparatus and command transfer controlling method}
본 발명은 명령 전송을 제어하는 기술들과 관련되며, 특히 외부 소스(source)로부터 수신된 명령들의 전송 순서를 제어하는 기술과 관련된 것이다.
컴퓨터 게임들, 디지털 방송 등의 영역들에서 사용되는 컴퓨터 그래픽 기술 및 영상 처리 기술의 최근의 현저한 진보에 따라서, 더 높은 속도로 더 높은 선명도의 영상 데이터를 처리하는 용량을 가진, 컴퓨터들, 게임 기계들 및 텔레비젼들과 같은 정보 처리 장치들에 대한 요구가 있다. 이러한 요구를 만족시키기 위해, 고속의 연산 처리를 실현하는 것이 필요하다는 것은 자명하지만, 태스크(task)들을 복수의 처리 유닛들 사이에서 적절히 분배하는 것이 중요하다.
이러한 실시에서, 서로 태스크들의 실행을 명령하기 위한 제어 명령들(이하, 간단히 "명령"이라 한다)은 복수의 처리 유닛들 사이에 보내지고 수신되어, 처리 유닛들은 서로 연결되어 동작한다. 예를 들어, 처리 유닛 A는 다양한 명령들을 또 다른 처리 유닛 B로 전송한다. 처리 유닛 B는 수신된 명령들을 자신의 대기행렬에 넣는다. 처리 유닛 B는 실행시키기에 더욱 용이한 순서로 대기행렬 내의 명령들을 실행시킨다. 이러한 유형의 처리, 즉, 명령 대기행렬 및 비순서 실행은, 처리 유닛 A 및 처리 유닛 B를 가진 효과적인 기술이 비동기식으로 동작하고 복수의 처리 유닛들의 처리 효율을 전체적으로 상승시킴에 따라 넓게 이용된다.
처리 유닛 B 내에서 대기행렬에 넣어진 명령들은 명령 실행 엔티티(entity)들 중 어느 하나에 전송된다. 여기서, 명령 실행 엔티티들은 처리 유닛 B 내부에 있는 다양한 유형들의 연산 유닛들과 같은 하드웨어 모듈들 또는 처리 유닛 B에 의해 실행된 처리들과 같은 소프트웨어-기반 모듈들일 수 있다.
처리 유닛 A로부터 전송된 명령들은 처리 B로 전송된 후에 상기 명령들에 대한 명령 실행 엔티티들로 전송되어, 태스크들은 전체적으로 다양한 유형들의 계산 자원들로 분배된다.
처리 유닛 B는 각각의 명령 실행 엔티티에 대한 복수의 대기행렬들을 가질 수 있다. 처리 유닛 A는, 명령들을 처리 유닛 B로 전송할 때 명령 실행 엔티티들을 명쾌하게 확인하기 위해 ID 정보를 전송한다. 이러한 경우에, 처리 유닛 B는 수신된 명령을 ID 정보에 따라 명령 실행 엔티티의 대기행렬로 입력한다. 그 후에 명령이 각각의 대기행렬로부터 대응하는 명령 실행 엔티티로 필요한 만큼 발행된다.
각각의 명령 실행 엔티티에 대해 독립적으로 대기행렬을 제공하는 것은 명령들을 처리 유닛 B에 의해 제어된 각각의 명령 실행 엔티티로 발행하는 기회를 용이하게 만든다. 예를 들어, 명령 실행 엔티티 α가 분주한 상태에 있고 많은 명령들이 대응하는 대기행렬 내에 축적될 때에도, 명령 실행 엔티티 β에 대한 대기행렬은 직접 영향을 받지 않는다. 이것에 의해, 명령 실행 엔티티 β로의 명령 발행 타이밍(timing)이 명령 실행 엔티티 α에 따라 과도하게 지연될 가능성이 적어진다.
처리 유닛 B는 명령들을, ID 정보를 전송하는 이러한 기능을 근본적으로 가지고 있지 않은 처리 유닛 C로부터 수신할 때, 처리 유닛 B가 명령들을 특정 대기행렬에 고정적으로 입력하는 것이 더 일반적이다. 처리 유닛 B가 명령들을 처리 유닛 C로부터 수신할 때, 명령들은 특정 대기행렬에 축적될 가능성이 있다. 즉, 처리 유닛 B가 복수의 대기행렬들을 갖고 있을 지라도, 이러한 장점은 처리 유닛 C에 반응하는 시점에서 향유되지 않을 것이다. 이러한 방식으로, 처리 유닛 B의 기능을 효과적으로 이용하기 위해, 명령 전송 엔티티들로부터의 명령 실행 엔티티들을 식별하기 위한 ID 정보가 전송되는 것이 필요조건이다.
본 발명은 상술한 문제점들을 해결하기 위해 고안되었고 본 발명의 주목적은 복수의 처리 유닛들 사이에서 전송되고 수신되는 명령들을 효과적으로 제어하기 위한 기술을 제공하는 것이다.
본 발명에 따른 실시형태는 명령 전송 제어 장치에 관한 것이다.
이러한 장치는: 메모리 주소를 지정한 명령을 외부 명령 전송 엔티티로부터 수신하는 명령 수신기; 수신된 명령의 메모리 주소에 따라서 전송될 채널(channel)을 명령에 할당하는 채널 할당 유닛; 수신된 명령들을 임시로 저장하는 명령 저장 유닛; 및 저장된 명령들 중에서 예정된 채널이 할당된 명령을 다른 채널들에 할당된 명령들보다 우선하여 명령 실행 엔티티에 전송하는 명령 전송 유닛을 포함한다.
용어 "채널"은 물리적인 라인(line)에서 실현되는 가상 라인일 수 있다. 각각의 명령은 복수의 채널들 중 하나에 할당될 수 있고 그 후에 물리적인 라인 상에 전송될 수 있다. 명령 전송 유닛은, 명령이 복수의 채널들 사이에서 예정된 속도로 발행되는 방식으로, 명령이 발행되는 채널을 선택할 수 있다. 이러한 장치는 저장된 명령들의 개수에 따라서 채널들의 할당 속도를 변화시키는 할당 변화 유닛을 포함할 수 있다. 채널 할당 유닛은 채널들을 할당할 수 있어 저장된 복수의 명령들이 예정된 속도로 복수의 채널들에 분배된다. 복수의 채널들 중 하나가 할당되는 명령들의 개수가 예정된 개수와 같거나 더 크다면, 할당 변화 유닛은 상기 채널과 다른 채널이 할당되도록 할당 속도를 변화시킬 수 있다. 이것은 특정 채널이 너무 자주 그리고 과도하게 할당되는 경우를 방지하는 처리를 실현할 수 있다.
본 발명에 따른 또 다른 실시형태는 명령 전송 제어 장치에 관한 것이다.
이러한 장치는, 명령 실행 엔티티를 유일하게 지정하지 않은 명령 전송 엔티티로부터 수신된 명령이 임시로 저장되고 복수의 수신된 명령들이 전송되는 순서가 명령에 의해 지정된 메모리 주소에 따라서 변화되는 것을 특징으로 한다.
방법, 장치, 시스템, 기록 매체, 컴퓨터 프로그램에 의해 본 발명을 표현하는 것이 본 실시형태들로서 효과적이다.
도 1은 정보 처리 장치의 기능 블록도이다.
도 2는 전체 제어 유닛으로부터 보여지는 메모리 주소들의 개념을 도시하는 개략도이다.
도 3은 명령 전송 제어기의 기능 블록도이다.
도 1은 정보 처리 장치의 기능 블록도이다.
정보 처리 장치(100)는 전체 제어 유닛(110), 영상 처리 유닛(120) 및 주 메모리(140)를 포함한다. 정보 처리 장치(100)는 디스플레이 장치(150)에 연결된다. 디스플레이 장치(150)는 전체 제어 유닛(110) 및 영상 처리 유닛(120)에 의한 처리의 결과로서 얻어진 영상 또는 비디오를 출력한다. 정보 처리 장치(100)는 버스(bus; 118)를 경유하여 외부 장치들을 제어하기 위한 다양한 I/O 장치들(160)로 연결된다. 정보 처리 장치(100)에 연결될 I/O 장치(160)는 복수개이거나 복수의 유형들일 수 있다. 전체 제어 유닛(110) 및 영상 처리 유닛(120)은 단일-칩(single-chip) 전자 장치로서 형성되고 물리적으로 서로 분리된다. 정보 처리 장치(100)는 이러한 전자 장치들을 포함하는 전자 장치로서 형성된다.
하드웨어의 관점에서, 도 1 등에 도시된 것처럼, 다양한 처리들을 수행하기 위한 기능 블록으로서 기술된 각각의 구성요소가, CPU(Central Processing Unit), 메모리 및 다른 LSI(Large Scale Integration)에 의해 실현될 수 있다. 소프트웨어의 관점에서, 예약된 관리 기능을 가진 메모리에 로딩(loading)된 프로그램들 등에 의해 실현된다. 그러므로 이러한 기능 블록들은 하드웨어, 소프트웨어 또는 이들의 조합과 같은 다양한 형태들로서 실현될 수 있고 이들 중 어느 하나에 제한되지 않는다.
정보 처리 장치(100)의 효율적인 사용을 위한 기능들 및 환경을 제공하고 통합된 방식으로 전체 장치를 제어하기 위한 운영 체제(이하, "OS(Operating System)"라 한다)는 정보 처리 장치(100) 내에서 실행된다. 복수의 응용 소프트웨 어가 OS에서 실행된다.
전체 제어 유닛(110)은 주 제어 유닛(112) 및 복수의 부-제어 유닛들(116)을 포함한다. 부-제어 유닛들(116) 및 주 제어 유닛(112)은 버스(118)를 경유하여 서로 통신할 수 있다. 주 제어 유닛(112)은 각각의 어플리케이션(application)의 기본 처리 유닛들로서의 태스크들을 각각의 부-제어 유닛들(116)에 할당한다. 주 제어 유닛(112)은 태스크들을 단독으로 실행시킬 수 있다. 각각 할당된 태스크들을 실행시키는 부-제어 유닛들(116)을 이용하여, 복수의 태스크들이 병렬로 처리된다.
이하에서는, 태스크 할당 처리를 포함하는 주 제어 유닛(112)에 의해 실행된 처리들을 "주 처리"라 칭하고, 부-제어 유닛들(116)에 의해 실행된 처리들을 "부-처리"라고 칭한다. 주 제어 유닛(112)은 상대적으로 높은 우선순위를 갖는 사용자-인터페이스-관련 처리와 같은 정보 처리 장치(100)의 전체 제어에 대한 처리들을 실행시킨다. 이와 반대로, 부-제어 유닛들(116)은 상대적으로 낮은 우선순위를 갖는 배경에서 실행되는 계산들과 같은 주 처리로부터 서브컨트랙트(subcontract)되는 처리들을 실행시킨다.
주 제어 유닛(112) 또는 부-제어 유닛들(116)에 포함된, 도시되지 않은 DMAC(Direct Memory Access Controller)는 주 제어 유닛(112) 또는 부-제어 유닛(116)으로부터의 명령에 의해 주 메모리(140) 또는 영상 처리 유닛(120) 내의 빌트-인(built-in) 그래픽 메모리(128)와 함께 데이터 전송, 데이터 저장 등을 제어한다.
주 메모리(140)는 전체 제어 유닛(110)에 의해 주로 사용되는 저장 영역이 다. 주 메모리(140)에서, 태스크의 실행 상태와 관련된 데이터가 저장된다. 예를 들어, 전체 제어 유닛(110)에 의해 실행된 컴퓨터 그래픽에 관한 좌표 연산의 결과로서 얻어진 좌표 데이터가 임시로 저장된다. 영상 처리 유닛(120)에 의해 생성된 데이터가 이러한 주 메모리(140) 내에 저장되는 경우들이 있다.
영상 처리 유닛(120)은, 예를 들어 렌더링(rendering) 처리와 같은 영상 처리를 독점적으로 실행하는 유닛이다. 영상 처리 유닛(120)은, 전체 제어 유닛(110)으로부터의 명령들을 따라 영상 처리를 실행시킨다. 영상 처리 유닛(120)은 전체 제어 유닛(110)에 의해 처리된 각각의 태스크들과 관련된 영상 처리를 수행하고 생성된 영상들 또는 비디오들을 디스플레이 장치(150)로 출력한다. 영상 처리 유닛(120)은 복수의 영상 처리들을 병렬로 시분할하고 실행시킨다.
영상 처리 유닛(120)은 그래픽 메모리(128), 연산 유닛(130), 디스플레이 제어기(126), 제어 블록(124), 영상-처리측 DMAC(122) 및 명령 실행 제어기(200)를 포함한다. 이러한 유닛들은 버스(118)를 경유하여 서로 연결되어 유닛들은 서로 통신할 수 있다.
그래픽 메모리(128)는 영상 처리 유닛(120)에 의해 사용되고 관리되는 그래픽 데이터를 저장하기 위한 메모리 영역이다. 그래픽 메모리(128)에는, 영상 프레임(frame) 데이터가 저장되는 프레임 버퍼(buffer) 및 Z-버퍼뿐만 아니라, 영상 프레임 데이터의 렌더링에서 관련된 기본 데이터인 정점 데이터, 텍스쳐(texture) 데이터 및 색상 룩업(lookup) 테이블과 같은 데이터에 대응하는 영역들이 제공된다.
제어 블록(124)은 영상 처리 유닛(120)을 전체적으로 제어하기 위한 블록이 다. 제어 블록(124)은 연산 유닛(130), 그래픽 메모리(128) 및 디스플레이 제어기(126)의 전체 제어를 수행하고, 각각의 블록들 사이의 데이터 전송의 동조 관리, 타이머(timer) 관리 등을 수행한다.
영상-처리측 DMAC(122)는, 제어 블록(124)으로부터의 명령을 따라, 전체 제어 유닛(110) 또는 주 메모리(140) 및 그래픽 메모리(128) 사이의 데이터 전송, 데이터 저장 등을 제어한다.
디스플레이 제어기(126)는 수평 및 수직 동기 신호들을 생성하고, 디스플레이 장치(150)의 디스플레이 타이밍(timing)에 따라서 그래픽 메모리(128) 내에 저장된 프레임 버퍼로부터의 영상 프레임 데이터의 픽셀 데이터를 라인 상에 순차로 로딩한다. 게다가, 디스플레이 제어기(126)는, RGB(Red-Green-Blue) 색상 값들로 이루어진 디지털 데이터로부터 라인 상에 로딩된 픽셀 데이터를, 디스플레이 장치(150)에 대응하는 포맷으로 변환함으로써 출력을 행한다.
연산 유닛(130)은 제어 블록(124)으로부터의 명령들을 따라 그래픽에 관한 다양한 연산 처리들을 수행한다. 이러한 처리의 일 실시예는 3차원 모델링 데이터에 근거하여 좌표 변환, 은폐면 제거 및 셰이딩(shading)을 통하여 영상 프레임 데이터를 생성하고 프레임 버퍼에 기록하는 일련의 렌더링 처리들일 수 있다.
연산 유닛(130)은, 특히 3차원 그래픽의 고속 처리를 달성하기 위해 래스터라이저(rasterizer; 132), 셰이더 유닛(shader unit; 134) 및 텍스쳐 유닛(texture unit; 136)으로서 이러한 기능 블록들을 포함한다.
래스터라이저(132)는 렌더링될 기본 객체의 정점 데이터를 전체 제어 유 닛(110)으로부터 수신하고 3차원 공간 상의 프리미티브(primitive)를 투영 변환을 통하여 렌더링 평면 상의 그래픽으로 변환하는 뷰(view) 변환을 수행한다. 게다가, 그것은 렌더링 평면의 수평 방향을 따르는 렌더링 평면 상의 그래픽을 스캐닝하고 그것들을 한 열씩 퀀타이즈드 픽셀(quantized pixel)로 변환하는 래스터(raster) 처리를 수행한다. 프리미티브는 래스터라이저(132)에 의해 픽셀-팽창되고, 픽셀 정보는 각각의 픽셀에 대해 계산된다. 픽셀 정보는 RGB 색상 값들, 투명도를 가리키는 α값들, 및 시점들로부터의 깊이를 가리키는 Z 값들을 포함한다.
래스터라이저(132)는 스캔 라인들을 따라 예정된 크기의 픽셀 영역을 생성하고 셰이더 유닛(134) 및 텍스쳐 유닛(136)으로 출력한다. 래스터라이저(132)로부터 출력된 픽셀 영역들은 대기행렬 내에 쌓이고, 셰이더 유닛(134)은 쌓여진 픽셀 영역들을 하나씩 처리한다.
셰이더 유닛(134)은 래스터라이저(132)에 의해 계산된 픽셀 정보에 근거하여 셰이딩 처리를 수행하고, 텍스쳐 유닛(136)에 의해 얻어진 텍셀 정보에 근거하여 텍스쳐 매핑(mapping) 이후의 픽셀 색상들을 결정하고, 그래픽 메모리(128) 내의 프레임 버퍼 내에 셰이딩 처리 이후의 영상 프레임 데이터를 기록한다. 게다가, 셰이더 유닛(134)은 프레임 버퍼 내에 기록된 영상 프레임 데이터 상에 포깅(fogging) 및 알파 블렌딩(alpha blending)과 같은 처리들을 수행하고, 최종 렌더링 색상들을 결정하고, 프레임 버퍼 내의 영상 프레임 데이터를 갱신한다.
텍스쳐 유닛(136)은 셰이더 유닛(134)으로부터 텍스쳐 데이터를 지정하는 파라미터들을 수신하고, 요청된 텍스쳐 데이터를 그래픽 메모리(128) 내의 텍스쳐 버 퍼로부터 판독하고, 그것들을 예정된 처리를 수행한 이후에 셰이더 유닛(134)으로 출력한다.
프리미티브의 정점 데이터와 같은 영상 생성에 필요한 기본 정보, 또는 전체 제어 유닛(110)으로부터의 영상 생성에 대한 시작 명령을 수신하면, 영상 처리 유닛(120)은 전체 제어 유닛(110)과 독립적으로 영상 처리를 실행시킨다. 영상 처리 유닛(120)에 의해 생성된 데이터는 그래픽 메모리(128)와 주 메모리(140)로 전송된다.
영상 처리 유닛(120) 내에 포함된 명령 실행 제어기(200)는 전체 제어 유닛(110)으로부터 영상 처리 유닛(120)으로 전송된 명령을, 영상 처리 유닛(120) 내의 각각의 유닛으로 발행한다. 명령 전송 제어기(200)는 전체 제어 유닛(100) 내의 주 제어 유닛(112) 또는 부-제어 유닛(116)뿐만 아니라 I/O 장치와 같은 다른 장치들로부터 전송된 명령들을 수신한다. 즉, 명령 전송 제어기(200)는 외부 명령 전송 엔티티들로부터 영상 처리 유닛(120)으로 전송된 명령들을 수신하고, 수신된 명령들을, 제어 블록(124) 및 디스플레이 제어기(126)와 같은 명령 실행 엔티티들인 다양한 유닛들로 발행한다. 영상 처리 유닛(120) 내에 포함된 각각의 유닛(120)은 명령 전송 제어기(200)로부터 발행된 명령에 의해 지정된 다양한 태스크들을 실행시킨다. 이러한 유닛들 각각은 영상 처리 유닛(120) 내에 포함된 단일-칩 전자 장치로서 형성된다. 본 실시형태에서, "명령"은 명령 실행 엔티티에 의해 수행되는 제어 콘텐츠를 직접 정의하는 것이거나 데이터 전송을 명령하는 것일 수 있고, 또는 명령 실행 엔티티에 의한 제어를 위해 사용되는 파라미터일 수 있다. 명령은 버 스(118) 상의 패킷들로 변환된 후에 전송된다.
명령 전송 제어기(200)의 세부사항은 도 3과 연결되어 기술될 것이다.
도 2는 전체 제어 유닛으로부터 보여진 메모리 주소들의 개념을 도시하는 개략도이다.
정보 처리 장치(100)의 저장 영역은, 다른 I/O 장치들 내부에 있는 메모리들뿐만 아니라 주 메모리(140) 및 그래픽 메모리(128)에 부가하여 주 제어 유닛(112) 및 부-제어 유닛(116) 내부에 있는 캐시 메모리들에 의해 통합적으로 배열된다. 전체 제어 유닛(110) 상에서 실행되는 처리들은 가상 주소들을 경유하여 이러한 물리적 메모리들에 접근할 수 있다. 동일한 도면이 전체 제어 유닛(110)에서 실행되는 처리들을 이용하여 가상 주소 공간을 개략적으로 도시한다.
동일한 도면에서 도시된 영상 처리기 주소 영역(160)은 전체 제어 유닛(110)에 의해 실행되는 이상의 처리들에 관하여 영상 처리 유닛(120)을 제어하도록 할당되는 주소 범위이다. 전체 제어기 주소 영역(162)은 전체 제어 유닛(110)을 제어하도록 할당되는 주소 범위이다. 주 메모리 주소 영역(164)은 주 메모리(140)를 제어하도록 할당되는 주소이다.
전체 제어 유닛(110)에 의해 실행된 이상의 처리들에서, 명령들의 처리 결과들이 기록된 주소들이 지정된 이후에 다양한 유형의 명령들이 영상 처리 유닛(120)으로 전송된다. 이 때에, 주소들이, 전체 제어 유닛(110) 내부에 세워진, 도시되지 않은 MMU(Memory Management Unit)에 의해 물리적 주소들로 번역된다. 그러므로, 물리적 주소들은 영상 처리 유닛(120)이 전체 제어 유닛(110)으로부터 수신한 명령 들에 할당된다. 이러한 할당된 물리적 주소는 그래픽 메모리(128) 또는 주 메모리에 대응하거나 전체 제어 유닛(110) 내부에 세워진 다양한 로컬 메모리들에 대응한다.
도 3은 명령 전송 제어기의 기능들을 도시하는 기능 블록도이다.
명령 전송 제어기(200)는 명령 수신기(210), 분배 유닛(220), 명령 저장 유닛(230) 및 명령 발생 유닛(240)을 포함한다.
명령 수신기(210)는 다양한 유형의 명령들을 전체 제어 유닛(110)과 같은 엔티티들을 전송하는 명령으로부터 수신한다. 분배 유닛(220)은 수신된 명령들이 명령 실행 엔티티들로 전송되는 채널들을 지정한다. 버스(118)가 단일 물리적 라인일지라도, 버스(118)는, 명령이 복수의 스트림(stream)들로 분할되는 방식으로 전송된다면 단일 물리적 라인으로 복수의 가상 라인들로서 실현될 수 있다. 분배 유닛(220)은 수신된 명령들을 복수의 종류들로 분류한다. 즉, 각각의 명령은, 복수의 종류들의 전송 속성들이 정의되는, 가상 라인들인 채널들 중 하나에 할당된다. 그 다음에, 명령들은, 적용가능 채널들의 전송 속성들에 대해 적합한 방법들을 사용함으로써 각각의 명령 실행 엔티티들로 전송된다.
명령 저장 유닛(230)은 명령들을 할당된 채널들 각각에 대해 개별적으로 저장한다. 명령 발행 유닛(240)은 명령 저장 유닛(230) 내에 저장된 명령을 적용가능 채널을 통하여 명령 실행 엔티티로 발행한다.
분배 유닛(220)은 실행 유닛(222), 분배 수신지 지정 유닛(224) 및 할당 정보 저장 유닛(228)을 포함한다.
명령들에 대해 할당된 물리적 주소의 범위는 복수의 영역들로 분할된다. 할당 정보 저장 유닛(228)은, 이러한 각각의 영역들이 테이블 데이터로서 어떻게 정의되는 지를 가리키는 할당 정보를 저장한다. 각각의 영역은, 제 1 영역이 "0×00000 내지 0×05000"의 주소들에 대응하고 제 2 영역이 "0×05001 내지 0×18000"의 주소들에 대응하는 방식으로 시작 주소 및 말단 주소에 의해 지정될 수 있다. 각각의 영역은 채널들 중 어느 하나에 직접 대응한다. 명령 저장 유닛(230)에는 이러한 각각의 채널들에 따른 복수의 대기행렬들이 제공된다. 예를 들어, 할당은, 제 1 대기행렬(232a)이 채널 1 및 제 1 영역에, 제 2 대기행렬(232b)이 채널 2 및 제 2 영역에, ... 그리고 제 n 대기행렬(232c)이 채널 n 및 제 n 영역에 대응하는 방식으로 이루어진다. 이러한 방식으로, 대기행렬은 영역 및 채널에 대응한다.
분배 수신지 지정 유닛(224)은, 기록 수신지가 명령 수신기(210)에 의해 수신된 명령에 의해 지정되는 물리적 주소가 어느 영역에 속하는지를 지정하여, 그것이 어느 채널에 할당되는지를 지정한다. 이러한 할당된 채널에 대응하여, 실행 유닛(222)은 명령을 명령 저장 유닛(230) 내의 대기행렬들 중 어느 하나에 전송한다. 이러한 방식으로, 명령들은 명령 저장 유닛(230) 내의 각각의 대기행렬들에 분배된다.
명령 발행 유닛(240)은 명령 저장 유닛(230) 내의 대기행렬들 중 어느 하나를 선택하고, 상기 대기행렬 내의 명령을 꺼내고, 대응하는 채널을 통하여 명령 실행 엔티티로 전송한다.
여기서, 다양한 전송 속성들에 대응하는 채널들을 설명하기로 한다.
예를 들어, 채널 A, 채널 B 및 채널 C의 3개의 채널들이 정의된다고 가정하자. 낮은 지연과 낮은 지터(jitter)가 채널 A에 필요하고 채널 A는 전송 양의 변화가 작은 비디오 데이터 전송에 대한 채널이라고 가정하자. 채널 B는 채널 A보다 전송 양에 있어서 더 큰 양과 더 큰 변화를 가지는 정점 데이터 또는 텍스쳐 데이터를 전송하는 데에 이용되는 채널이다. 채널 C는, 더 작은 전송 양을 가지지만 전송 순서의 관리를 필요로 하는 그래픽 처리 제어 명령들을 전송하는 데에 이용되는 채널이다.
명령 전송의 우선순위 레벨(level)은 채널들 A, B 및 C의 순서로 설정된다고 가정하자. 채널들 A, B 및 C의 전송 속도는 2: 5: 3으로 설정되어 있다. 일 실시예로서, 명령 발행 유닛(240)은 채널 A에 대응하는 대기행렬로부터 하나의 명령을 꺼내고 명령 실행 엔티티로 전송한다. 2개의 명령들이 채널 A에 의해 전송될 때, 명령들은 채널 B에 대응하는 대기행렬로부터 다음의 것으로 전송된다. 5개의 명령들이 채널 B에 의해 전송된 이후에, 명령들은 채널 C에 대응하는 대기행렬로부터 다음의 것으로 전송된다. 3개의 명령들이 채널 C에 의해 전송된 이후에, 명령들은 채널 A에 대응하는 대기행렬로부터 다시 꺼내진다. 이러한 방식으로, 명령 발행 유닛(240)은, 각각의 채널 사이의 전송 우선순위 레벨 및 전송 속도에 근거하여 각각의 채널이 명령들을 전송하도록 한다.
또한, 채널 C에서와 같은 전송 순서의 관리가 수행된다. 즉, 인-오더 처리가 수행되는 채널에 대한 전송을 제어하기 위한 방법으로서, 다음의 2개의 방법들이 있다.
1. 명령들이 채널 C에 전송될 때, 채널 C에 의한 명령들의 전송은, 명령들이 채널 C에 대응하는 대기행렬에서 소모될 때까지 계속된다. 즉, 채널 C가 선택될 때, 채널 A 및 채널 B는, 명령들이 채널 C에 대응하는 대기행렬에서 고갈될 때까지 명령들이 전송될 채널로서 선택되지 않는다.
2. 외부 명령 전송 엔티티가 채널들 A 및 B를 통하여 명령들을 발행하는 순서는, 이러한 명령들이 명령 실행 엔티티들로 실제로 전송되는 순서와 반드시 일치하지 않는다. 반대로, 채널 C의 경우에, 제어는, 명령들이 발행한 순서가 명령들이 전송된 순서와 일치하도록 한다. 이러한 경우에, 1.과 달리, 채널들 A 및 B에 대한 명령 전송은, 채널 C에 대한 명령 전송 때문에 막히지 않을 것이다.
이러한 방식으로, 인-오더 전송인지 여부와 같은 다양한 종류들의 전송 속성들이 보증되거나 각각의 채널에 대해 설정되지 않는다. 위와 같은 다양한 전송 속성들에 의한 전송 순서 제어를 이용하여, 버스(118) 상의 특성들에서 다른 복수의 라인들이 실현되는 제어와 유사한 제어가 실현될 수 있다.
통상적으로, 명령 전송 엔티티가 전체 제어 유닛(110)으로서 명령 실행 엔티티를 지정하는 ID 정보를 전송하는 기능을 가지고 있지 않을 때, 명령 저장 유닛(230)이 복수의 대기행렬들을 가지고 있을지라도 분배 유닛(220)이 명령들을 특정 대기행렬(이하, "주 대기행렬"이라 한다)로 전송하는 방법이 공통적으로 행해진다. 그러므로 이러한 경우에, 명령들은 자연적으로 주 대기행렬 내에 강하게 축적될 가능성이 있다. 즉, 명령 전송 엔티티에 명령 실행 엔티티를 지정하는 기능이 제공되지 않는다면 통상의 명령 전송 제어기(200)는 주 기능을 달성할 수 없다는 결점이 있다.
더욱 구체적인 예로서, 영상 데이터를 계속해서 전송하도록 지시하는 명령이 전체 제어 유닛(110)으로부터 그래픽 메모리(128)로 전송된 이후에, 영상 처리 유닛(120)에서 임의의 유닛 설정을 변화시키는 명령이 전송된다. 그 다음에 설정 변화 명령은, 영상 전송 명령들이 축적되는 상태에서 주 대기행렬 내에서 새롭게 유지된다. 따라서, 설정 변화 명령이, 적시성이 실행에 필요한 명령일지라도, 실행이 대량의 영상 전송 명령들 때문에 손상되는 역효과가 발생한다.
이와 반대로, 본 실시형태에 따른 명령 전송 제어기(200)는 명령에 의해 할당된 물리적 주소에 따라 복수의 대기행렬들 사이에서 명령들을 분배한다. 그러므로, 명령 전송 엔티티가 명령 실행 엔티티들을 명백히 지정하지 않을지라도, 명령 저장 유닛(230) 내에 제공된 복수의 대기행렬들이 효과적으로 사용될 수 있다.
본 실시형태에서 기술된 명령 전송 제어기(200)에 따르면, 단일 버스(118)는 복수의 가상 라인들인 것처럼 이용될 수 있다. 영상 데이터 전송 명령인지 또는 설정 변화 명령인지 여부와 같은 명령의 특성이, 명령에 의해 할당된 기록 수신지 주소에 의해 어느 정도 지정될 수 있다는 사실이다. 이러한 지식에 근거하여, 명령 전송 제어기(200)는 명령에 의해 할당된 물리적 주소에 따라 명령 전송을 위해 이용되는 채널을 지정한다. 그러므로 명령 전송 제어기(200)는, 명령 전송 엔티티측의 신규 기능을 제공하는 문제 없이 복수의 채널들을 이용하여 명령들을 전송할 수 있다.
분배 수신지 지정 유닛(224)이 명령들에 의해 할당된 주소들 모두를 참조하 여 영역들을 지정하는 것이 필요하지 않다. 영역은, 예를 들어 고차 비트들(high-order bits)과 같은 주소의 일부에 의해 지정될 수 있다. 예를 들어, 주소가 64비트의 크기를 이용하여 지정될 때, 낮은 42 비트만이 실제 장치의 매핑을 위하여 이용될 수 있고 반면에 나머지 높은 12 비트만이 꺼내져서 분배 수신지 지정 유닛(224)에서 이용될 수 있다. 이러한 방식으로, 할당 테이블은 고차 비트에 따라서 영역들의 대응을 결정할 수 있다. 취급될 주소의 비트 크기가 커진다면, 이러한 방법은 분배 수신지 지정 유닛(224)의 처리 로드(load)를 감소시키기에 효과적일 것이다.
분배 수신지 지정 유닛(224)은 기록 수신지의 주소에 따라서 고정되도록 채널들을 할당할 필요가 없다. 예를 들어, 제 1 대기행렬(232a) 및 제 2 대기행렬(232b)에 할당된 주소의 범위가 동적으로 변화될 수 있어, 명령 저장 유닛(230) 내에 있어서 제 1 대기행렬(232a) 내에 저장된 명령들의 개수 대 제 2 대기행렬(232b) 내에 저장된 명령들의 개수의 비율은 5:1과 같거나 더 크게 되지 않을 것이다. 이러한 방식으로, 명령들이 특정 대기행렬에 과도하게 축적되지 않도록 제어가 행해질 수 있다.
본 실시형태들에서 명령 실행 엔티티들이 하드웨어의 관점에서 독립적인 유닛들로서 기술되었을 지라도, 예를 들어, 영상 저장 유닛(120) 내에서 실행되는 처리들 또는 스레드(thread)들과 같은 소프트웨어에 관한 태스크일 수 있다.
본 발명은 실시형태들에 근거하여 기술되었다. 이러한 실시형태들은 단지 예시적이며, 각각의 구성요소 및 처리의 조합에 대한 다양한 변형예들이 가능하고 이 러한 변형예들이 본 발명의 범위 내에 있다는 것이 당업자라면 이해할 것이다.
청구범위 내에 기술된 채널 할당 유닛의 주 특징은 본 실시형태들의 분배 유닛(220)에 의해 주로 달성된다. 청구범위 내에 기술된 명령 저장 유닛의 특징은 본 실시형태들의 명령 저장 유닛(230)에 의해 달성된다. 그러나, 이러한 주 특징은 명령 저장 유닛(230) 내에 포함된 각각의 대기행렬에 의해 달성된다고 말할 수 있다. 청구범위 내에 기술된 명령 전송 유닛은 본 실시형태들의 명령 발행 유닛(240)에 의해 달성된다고 말할 수 있다. 청구범위 내에 기술된 각각의 구성요소에 의해 달성되는 기능은 본 실시형태들에서 가리켜진 각각의 기능 블록의 단일 유닛에 의해 실현된다는 것을 당업자라면 알 수 있다.
본 실시형태에 따르면, 복수의 처리 유닛들 사이에서 전송되고 수신되는 명령들을 효과적으로 제어할 수 있는 효과가 달성될 수 있다.

Claims (14)

  1. 주소를 지정한 명령을 외부 명령 전송 엔티티(entity)로부터 수신하는 명령 수신기;
    수신된 명령의 주소에 따라서, 전송될 채널(channel)을 명령에 할당하는 채널 할당 유닛;
    상기 수신된 명령들을 임시로 저장하는 명령 저장 유닛; 및
    저장된 명령들 중에서 예정된 채널이 할당된 명령을 다른 채널들에 할당된 명령들보다 우선하여 명령 실행 유닛에 전송하는 명령 전송 유닛을 포함하는 명령 전송 제어 장치.
  2. 제 1 항에 있어서, 상기 채널 할당 유닛은 상기 수신된 명령 내의 주소의 예정된 부분에 따라서 할당될 채널을 지정하는 것을 특징으로 하는 명령 전송 제어 장치.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 명령 전송 유닛은, 명령이 발행될 채널을 명령들이 복수의 채널들 사이에서 예정된 속도로 발행되는 방식으로 선택하는 것을 특징으로 하는 명령 전송 제어 장치.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 채널 할당 유닛은, 메 모리의 주소 범위가 복수의 영역들로 분할되고 채널이 각각의 영역으로 할당되는 할당 테이블을 참조함으로써 채널을 명령에 할당하는 것을 특징으로 하는 명령 전송 제어 장치.
  5. 명령 실행 엔티티를 유일하게 지정하지 않은 명령 전송 엔티티로부터 수신된 명령이 임시로 저장되고, 복수의 수신된 명령들이 전송되는 순서가 명령에 의해 지정된 주소에 따라서 변화되는 것을 특징으로 하는 명령 전송 제어 장치.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 명령 실행 엔티티는 단일-칩 전자 장치로서 형성되는 것을 특징으로 하는 명령 전송 제어 장치.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서, 상기 명령 전송 제어 장치 및 상기 명령 실행 엔티티는 단일-칩 전자 장치로서 통합적으로 형성되는 것을 특징으로 하는 명령 전송 제어 장치.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서, 상기 장치는 상기 명령 전송 엔티티로부터 물리적으로 분리된 전자 장치로서 형성되는 것을 특징으로 하는 명령 전송 제어 장치.
  9. 외부 명령 전송 엔티티로부터 주소를 지정한 명령을 수신하는 단계;
    수신된 명령의 주소에 따라서 전송될 채널을 명령에 할당하는 단계;
    상기 수신된 명령들을 임시로 저장하는 단계; 및
    저장된 명령들 중에서 예정된 채널이 할당된 명령을 다른 채널들에 할당된 명령들보다 우선하여 명령 실행 유닛에 전송하는 단계를 포함하는 것을 특징으로 하는 명령 전송 제어 방법.
  10. 명령 실행 엔티티를 유일하게 지정하지 않은 명령 전송 엔티티로부터 수신된 명령이 임시로 저장되고, 복수의 수신된 명령들이 전송되는 순서가 명령에 의해 지정된 주소에 따라서 변화되는 것을 특징으로 하는 명령 전송 제어 방법.
  11. 컴퓨터에 의해 실행가능한 명령 전송 제어 프로그램으로서, 상기 프로그램은:
    주소를 지정한 명령을 외부 명령 전송 엔티티로부터 수신하는 기능;
    수신된 명령의 주소에 따라서 전송될 채널을 명령에 할당하는 기능;
    상기 수신된 명령들을 임시로 저장하는 기능; 및
    저장된 명령들 중에서 예정된 채널이 할당된 명령을 다른 채널들에 할당된 명령들보다 우선하여 명령 실행 유닛으로 전송하는 기능을 포함하는 것을 특징으로 하는 명령 전송 제어 프로그램.
  12. 컴퓨터에 의해 실행가능한 명령 전송 제어 프로그램으로서, 상기 프로그램 은, 명령 실행 엔티티를 유일하게 지정하지 않은 명령 전송 엔티티로부터 수신된 명령이 임시로 저장되고, 복수의 수신된 명령들이 전송되는 순서가 상기 명령에 의해 지정된 주소에 따라서 변화되는 것을 특징으로 하는 명령 전송 제어 프로그램.
  13. 컴퓨터에 의해 실행가능한 명령 전송 제어 프로그램을 저장하는, 컴퓨터에 의해 판독가능한 기록 매체로서, 상기 프로그램은:
    주소를 지정한 명령을 외부 명령 전송 엔티티로부터 수신하는 기능;
    수신된 명령의 주소에 따라서 전송될 채널을 명령에 할당하는 기능;
    상기 수신된 명령들을 임시로 저장하는 기능; 및
    저장된 명령들 중에서 예정된 채널이 할당되는 명령을 다른 채널들에 할당된 명령들보다 우선하여 명령 실행 유닛에 전송하는 기능을 포함하는 것을 특징으로 하는 기록 매체.
  14. 컴퓨터에 의해 실행가능한 명령 전송 제어 프로그램을 저장하는, 컴퓨터에 의해 판독가능한 기록 매체로서, 상기 프로그램은, 명령 실행 엔티티를 유일하게 지정하지 않는 명령 전송 엔티티로부터 수신된 명령이 임시로 저장되고, 복수의 수신된 명령들이 전송되는 순서가 상기 명령에 의해 지정된 주소에 따라서 변화되는 것을 특징으로 하는 기록 매체.
KR1020077000924A 2005-06-14 2006-05-10 명령 전송 제어 장치 및 명령 전송 제어 방법 KR100864998B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00174209 2005-06-14
JP2005174209A JP4443474B2 (ja) 2005-06-14 2005-06-14 コマンド転送制御装置およびコマンド転送制御方法

Publications (2)

Publication Number Publication Date
KR20070083459A true KR20070083459A (ko) 2007-08-24
KR100864998B1 KR100864998B1 (ko) 2008-10-23

Family

ID=37532113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077000924A KR100864998B1 (ko) 2005-06-14 2006-05-10 명령 전송 제어 장치 및 명령 전송 제어 방법

Country Status (6)

Country Link
US (1) US7725623B2 (ko)
EP (2) EP1894105B1 (ko)
JP (1) JP4443474B2 (ko)
KR (1) KR100864998B1 (ko)
CN (1) CN101040270B (ko)
WO (1) WO2006134746A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4996929B2 (ja) * 2007-01-17 2012-08-08 株式会社日立製作所 仮想計算機システム
US9201790B2 (en) * 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
JP5625737B2 (ja) * 2010-10-22 2014-11-19 富士通株式会社 転送装置、転送方法および転送プログラム
JP2012221038A (ja) * 2011-04-05 2012-11-12 Toshiba Corp メモリシステム
US9021179B2 (en) * 2011-06-10 2015-04-28 International Business Machines Corporation Store storage class memory information command
CN102932226B (zh) * 2012-10-26 2015-07-15 苏州阔地网络科技有限公司 一种减少网络连接的方法
CN102916870A (zh) * 2012-10-26 2013-02-06 苏州阔地网络科技有限公司 一种控制网络连接的方法及系统
CN102904899A (zh) * 2012-10-26 2013-01-30 苏州阔地网络科技有限公司 一种动态控制网络连接的方法及系统
EP3270295A1 (en) * 2016-07-15 2018-01-17 Advanced Micro Devices, Inc. Memory controller with virtual controller mode
US10037150B2 (en) * 2016-07-15 2018-07-31 Advanced Micro Devices, Inc. Memory controller with virtual controller mode
WO2023022356A1 (ko) * 2021-08-17 2023-02-23 삼성전자 주식회사 디스플레이 패널을 제어하는 커맨드들을 처리하는 타이밍을 동기화하기 위한 전자 장치 및 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212795A (en) * 1988-10-11 1993-05-18 California Institute Of Technology Programmable DMA controller
ATE282856T1 (de) 1993-04-30 2004-12-15 Nec Corp Symmetrisches mehrprozessorsystem mit vereinheitlichter umgebung und verteilten systemfunktionen
US5752010A (en) * 1993-09-10 1998-05-12 At&T Global Information Solutions Company Dual-mode graphics controller with preemptive video access
JP3190852B2 (ja) 1997-04-24 2001-07-23 甲府日本電気株式会社 情報処理システムのディスパッチ方式
US6643746B1 (en) * 1997-12-24 2003-11-04 Creative Technology Ltd. Optimal multi-channel memory controller system
US6205504B1 (en) * 1998-09-30 2001-03-20 International Business Machines Corporation Externally provided control of an I2C bus
JP3558559B2 (ja) 1999-08-19 2004-08-25 Necエレクトロニクス株式会社 情報処理装置
JP4403677B2 (ja) * 2001-08-27 2010-01-27 ブラザー工業株式会社 通信装置及び通信システム
JP2003099384A (ja) 2001-09-20 2003-04-04 Nec Corp 負荷分散システム、負荷分散システムのホストコンピュータ、及び負荷分散プログラム
US6931478B2 (en) * 2002-02-06 2005-08-16 International Business Machines Corporation Implicit addressing sequential media drive with intervening converter simulating explicit addressing to host applications
JP2004046392A (ja) 2002-07-10 2004-02-12 Renesas Technology Corp Usbホスト制御回路
JP4170742B2 (ja) * 2002-11-29 2008-10-22 株式会社エヌ・ティ・ティ・ドコモ ダウンロードシステム、通信端末、サーバ、ダウンロード方法
US6985970B2 (en) 2003-04-25 2006-01-10 International Business Machines Corporation Data transfer with implicit notification
JP2005010956A (ja) * 2003-06-17 2005-01-13 Hitachi Ltd 情報処理装置の制御方法、情報処理装置、情報処理システム、及びプログラム

Also Published As

Publication number Publication date
JP2006350555A (ja) 2006-12-28
KR100864998B1 (ko) 2008-10-23
US7725623B2 (en) 2010-05-25
CN101040270B (zh) 2012-02-22
EP1894105A4 (en) 2008-09-17
EP1894105B1 (en) 2012-06-27
EP2495665A3 (en) 2014-03-26
EP1894105A1 (en) 2008-03-05
US20080307115A1 (en) 2008-12-11
WO2006134746A1 (en) 2006-12-21
EP2495665A2 (en) 2012-09-05
EP2495665B1 (en) 2015-08-19
JP4443474B2 (ja) 2010-03-31
CN101040270A (zh) 2007-09-19

Similar Documents

Publication Publication Date Title
KR100864998B1 (ko) 명령 전송 제어 장치 및 명령 전송 제어 방법
US9405586B2 (en) Method of dynamic load-balancing within a PC-based computing system employing a multiple GPU-based graphics pipeline architecture supporting multiple modes of GPU parallelization
US7461240B2 (en) Command execution controlling apparatus, command execution instructing apparatus and command execution controlling method
US7664922B2 (en) Data transfer arbitration apparatus and data transfer arbitration method
JP4489806B2 (ja) スケーラブルシェーダアーキテクチャ
US8144149B2 (en) System and method for dynamically load balancing multiple shader stages in a shared pool of processing units
US20100123717A1 (en) Dynamic Scheduling in a Graphics Processor
US20070091088A1 (en) System and method for managing the computation of graphics shading operations
TW201432609A (zh) 已分配的拼貼快取
KR20130123645A (ko) 그래픽 처리 장치를 위한 동적 로드 밸런싱 장치 및 방법
TW201432611A (zh) 快取具有表面壓縮的統一l2快取內之自調適大小快取拼貼
US20060085795A1 (en) Memory control method of graphic processor unit
JP4318664B2 (ja) 情報処理装置およびタスク実行方法
US7880742B2 (en) Information processing device, data transmission method, and electronic apparatus

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130924

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150917

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160921

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170920

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181004

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191002

Year of fee payment: 12