KR19980080758A - 정보 처리 장치 및 정보 처리 방법 - Google Patents

정보 처리 장치 및 정보 처리 방법 Download PDF

Info

Publication number
KR19980080758A
KR19980080758A KR1019980010671A KR19980010671A KR19980080758A KR 19980080758 A KR19980080758 A KR 19980080758A KR 1019980010671 A KR1019980010671 A KR 1019980010671A KR 19980010671 A KR19980010671 A KR 19980010671A KR 19980080758 A KR19980080758 A KR 19980080758A
Authority
KR
South Korea
Prior art keywords
data
list
memory
meta
processing
Prior art date
Application number
KR1019980010671A
Other languages
English (en)
Other versions
KR100562692B1 (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 KR19980080758A publication Critical patent/KR19980080758A/ko
Application granted granted Critical
Publication of KR100562692B1 publication Critical patent/KR100562692B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Image Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

데이타 처리 장치에 있어서, 데이타 내에 포함된 메타-명령(meta-instruction)에 따라 데이타가 전송된다. 상세히 설명하기 위하여, 우선, 제 1 메타-명령은 태그 어드레스 레지스터(Dn_TADR)에 저장된 어드레스(ADDR0)로부터 판독된다. 그후, 그 제 1 메타-명령 다음에 메타 명령에 의해 지정된 길이를 갖는 데이타가 전송된다. 그 후에, 제 1 메타-명령에 지정된 어드레스(ADDR2)로 저장된 제 2 메타-명령이 판독되고, 그 제 2 메타-명령 다음에 제 2 메타-명령에 의해 지정된 길이를 갖는 데이타가 전송된다. 다음에는, 제 2 메타-명령에 지정된 어드레스(ADDR1)로 저장된 제 3 메타-명령이 더 판독되고, 제 3 메타-명령 다음에 제 3 메타-명령에 의해 지정된 길이를 갖는 데이타가 전송된다.

Description

정보 처리 장치 및 정보 처리 방법
본 발명은 일반적으로, 정보 처리 장치 및 정보 처리 방법에 관한 것이다. 특히, 본 발명은 데이타 전송에 관한 명령과 우선 순위를 제어하기 위하여 데이타 내의 제어 명령을 자체 포함하여 데이타 특성에 따라 최적의 제어를 실행하는 정보 처리 장치 및 정보 처리 방법에 관한 것이다.
가정용 오락 시스템과 퍼스널 컴퓨터의 성능은 처리 LSI의 주파수의 증가와 그 집적 회로의 규모의 증가로 인하여 개선되고 있다. 시스템의 처리 성능을 더 개선시키기 위하여, 그래픽스 프로세서(graphics processor)와 이미지 프로세서와 같은 다수의 처리 장치는 병렬로 처리를 실행할 수 있는 시스템을 구현하기 위하여 단일 LSI에 집적되어 있다. 그러나, 그러한 단일 LSI를 이용하면, 메모리 비용을 감소시켜야 하는 문제가 남아 있다. 따라서, 메모리 비용을 감소시키는 한 방법으로 여러 처리 장치가 메모리를 공유하는 것이다. 그러한 처리 장치가 메모리를 공유하는 구성은 UMA(Unified Memory Architecture)라 칭한다.
그러나, 처리 LSI들의 동작 주파수의 증가와 그 집적 회로의 규모 증가를 비교하면, 일반적인 메모리의 저장 용량은 동일한 비용으로 제조된 종래의 메모리와 비교하여 크게 증가되지 않으며, 메모리의 기억 용량이 부족(flat)하게 되는 문제가 야기되며, 성능의 개선 문제가 해결되어야 하는 과제가 남는다.
또한, UMA와 같은 다수의 프로세서가 한 메모리를 공유하는 구조에 있어서, 메모리에 대한 액세스의 속도가 느려지는 문제와 성능 개선을 해결해야 하는 문제가 있다.
상기 언급한 문제에 관련하여, 본 발명의 목적은 데이타 자체에 제어 명령을 포함시켜 메모리의 과대한 저장 능력을 요구함이 없이 데이타가 효과적으로 처리될 수 있도록 하는 정보 처리 장치 및 방법을 제공하는 것이다.
본 명세서의 특허 청구 범위 제 1 항에 따른 정보 처리 장치에 있어서는, 처리 유닛에 전송될 3-차원 그래픽스 처리를 위한 데이타와 그 처리 유닛에 데이타의 전송을 제어하는 명령을 포함하는 리스트를 작성하기 위한 리스트 작성 수단이 제공되어 있는 것을 특징으로 한다.
본 명세서의 특허 청구 범위 제 2 항에 따른 정보 처리 장치에 있어서는, 정보 처리 장치에 있어서, 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 처리 유닛에 데이타의 전송을 제어하는 명령을 포함하는 리스트를 저장하기 위해 메모리가 이용되는 것을 특징으로 한다.
본 명세서의 특허 청구 범위 제 3 항에 따른 정보 처리 장치에 있어서는, 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 처리 유닛에 데이타의 전송을 제어하는 명령을 포함하는 리스트를 한 메모리로부터 판독하고, 명령에 따라 처리 유닛에 데이타를 전송하기 위한 데이타 전송 수단을 포함하는 것을 특징으로 한다.
본 명세서의 특허 청구 범위 제 8 항에 따른 정보 처리 장치에 있어서는, 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 처리 유닛에 데이타의 전송을 제어하는 명령을 포함하는 리스트를 작성하고, 메모리에 리스트를 저장하기 위한 리스트 작성 수단과, 메모리로부터 리스트를 판독하고, 리스트 상에 포함된 명령에 따라 처리 유닛에 리스트 상의 데이타를 전송하는 데이타 전송 수단을 포함하는 것을 특징으로 한다.
본 명세서의 특허 청구 범위 제 9 항에 따른 정보 처리 방법에 있어서는, 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 처리 유닛에 데이타의 전송을 제어하는 명령을 포함하는 리스트를 작성하고, 메모리에 리스트를 저장하기 위한 단계;
메모리로부터 리스트를 판독하기 위한 단계와;
리스트 상에 포함된 명령에 따라 처리 유닛에 리스트 상의 데이타를 전송하는 단계를 포함하는 것을 특징으로 한다.
본 명세서의 특허 청구 범위 제 1 항에 따른 정보 처리 장치에 있어서, 리스트 작성 수단은 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 처리 유닛에 데이타의 전송을 제어하는 명령을 포함하는 리스트를 작성하기 위해 이용된다.
본 명세서의 특허 청구 범위 제 2 항에 따른 정보 처리 장치에 있어서, 메모리는 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 처리 유닛에 데이타의 전송을 제어하는 명령을 포함하는 리스트를 저장하기 위해 이용된다.
본 명세서의 특허 청구 범위 제 2 항에 따른 정보 처리 장치에 있어서, 데이타 전송 수단은 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 처리 유닛에 데이타의 전송을 제어하는 명령을 포함하는 리스트를 메모리로부터 판독하고, 명령에 따라 처리 유닛에 데이타를 전송하기 위해 이용된다.
본 명세서의 특허 청구 범위 제 8 항에 따른 정보 처리 장치에 있어서, 리스트 작성 수단은 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 처리 유닛에 데이타의 전송을 제어하는 명령을 포함하는 리스트를 작성하고, 메모리에 리스트를 저장하기 위해 이용되고, 데이타 전송 수단은 메모리로부터 리스트를 판독하고, 리스트 상에 포함된 명령에 따라 처리 유닛에 리스트 상의 데이타를 전송하기 위해 이용된다.
본 명세서의 특허 청구 범위 제 9 항에 따른 정보 처리 방법에 있어서, 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 처리 유닛에 데이타의 전송을 제어하는 명령을 포함하는 리스트를 작성하여, 메모리에 저장하기 위한 단계;
메모리로부터 리스트를 판독하기 위한 단계와;
리스트 상에 포함된 명령에 따라 처리 유닛에 리스트 상의 데이타를 전송하는 단계를 포함한다.
도1은 본 발명에 의해 제공된 정보 처리 장치가 적용된 전형적인 가정용 오락 시스템을 도시한 평면도.
도2는 도1에 도시된 가정용 오락 시스템의 전면도.
도3은 도1에 도시된 가정용 오락 시스템의 측면도.
도4는 도1에 도시된 가정용 오락 시스템에서 정보가 재생되는 전형적인 CD-ROM을 도시한 평면도.
도5는 도1에 도시된 가정용 오락 시스템의 전형적인 내부 전기 구성을 나타내는 블럭도.
도6은 도5에 도시된 메인 DMAC(46), 메인 CPU(44), 메인 메모리(45), 제 2 벡터 처리 엔진(VPE1)(48) 및, GPU(49)의 상세한 구성을 도시한 블럭도.
도7a 및 도7b는 다수의 프로세서에 의해 작성되는 디스플레이 리스트를 처리하는 절차를 도시한 도면.
도8은 3개의 프로세서가 GPU(49)를 제어하는 가정용 오락 시스템(1)의 다른 전형적인 구성을 도시한 블럭도.
도9는 메타-명령의 전형적인 포맷을 도시한 도면.
도10은 메타-명령에 따라 데이타를 전송하기 위한 절차를 설명하는데 이용된 도면.
도11은 메타-명령에 따라 데이타를 전송하기 위한 다른 절차를 설명하는데 이용된 도면.
도12는 메타-명령에 따라 데이타를 전송하기 위한 또 다른 절차를 설명하는데 이용된 도면.
도13은 디스플레이 리스트에 따라 데이타를 전송하기 위한 절차를 설명하는데 이용된 도면.
도14는 스톨 제어(stall control)를 설명하기 위해 이용된 도면.
*도면의 주요 부분에 대한 부호의 간단한 설명*
2...오락 시스템 메인 유닛
3...디스크 장착 서브-유닛
4...리셋 스위치
5...전원 스위치
6...디스크 동작 스위치
다음은 첨부된 도면을 참조하여 본 발명의 양호한 실시예를 설명한다.
도1 내지 도3은 본 발명에 의해 제공된 정보 처리 장치가 적용된 전형적인 가정용 오락 시스템을 각각 도시한 도면이다. 그 도면에 도시되어 있는 것처럼, 가정용 오락 시스템은 오락 시스템 메인 유닛(2)과 함께 그 오락 시스템 메인 유닛(2)에 접속될 수 있는 동작 유닛(17) 및 기록 유닛(38)을 포함한다.
도1 내지 도3에 도시된 것처럼, 오락 시스템 메인 유닛(2)은 사각 형태를 제외하고 모든 구성 요소를 포함한다. 그 오락 시스템 메인 유닛(2)은 그 중앙에 위치되는 디스크 장착 서브-유닛(3), 이용에 있어 사용자가 실행 응용 프로그램(application)을 임의로 리셋팅하기 위해 오락 시스템 메인 유닛(2) 상의 적당한 위치에 배치되는 리셋 스위치(4), 이용에 있어 사용자가 전원을 턴-온 및 턴-오프하는 전원 스위치(5), 이용에 있어 사용자가 디스크 장착 서브-유닛(3) 상에 디스크를 장착하는 디스크 동작 스위치(6)와, 한 응용 프로그램이 실행되는 동안 여러 동작들이 실행되는데 이용되는 동작 유닛(17)에 오락 시스템 메인 유닛(2)을 사용자가 접속하는데 이용되는 우측 및 좌측 각각에 패치된 접속기(7A 및 7B)와, 실행 응용 프로그램 등의 여러 정보의 리셋팅을 기록하는 기록 유닛(38)을 포함한다. 그 CD-ROM은 도4에 도시된 것과 같은 여러 종류의 광학 디스크가 될 수 있음을 주목한다. CD-ROM은 실행 응용 프로그램의 기록 매체로서 이용되는 디스크이다.
도2 및 도3에 도시된 것처럼, 접속기(7A 및 7B)는 두 레벨로 각각 설계되어 있다. 접속기(7A 및 7B)의 각각의 상부 레벨에는 기록 유닛(38)에 오락 시스템 메인 유닛(2)을 접속하기 위한 기록 삽입부(8)가 제공되어 있다. 반면에, 접속기(7A 및 7B)의 각각의 하부 레벨에는 동작 유닛(17)에 오락 시스템 메인 유닛(2)을 접속하기 위한 접속기 핀 삽입부(12)가 제공되어 있다.
기록 삽입부(8)는 기록 유닛(38)이 삽입되는 메모리 단자와 수평으로 긴 직각 삽입 홀을 포함한다. 그 메모리 단자는 홀의 내부에 배치되는데 도면에는 도시되어 있지 않다. 오락 시스템 메인 유닛(2)에 기록 유닛(38)이 접속되지 않는다면, 기록 삽입부(8)는 도2에 도시된 것처럼 먼지 등과 같은 것으로부터 메모리 단자를 보호하기 위해 셔터(9)로 커버된다. 그 기록 유닛(38)은 메인 CPU(44)가 응용 소프트웨어의 데이타를 기록하는 전기적으로 프로그램 가능한 ROM을 가지고 있음을 주목한다.
오락 시스템 메인 유닛(2) 상에 기록 유닛(38)을 장착할 때, 기록 유닛(38)의 단부를 이용하여 기록 삽입부(8)의 내측 쪽으로 셔터(9)를 누르고, 기록 유닛(38)이 메모리 단자와 접속될 때까지 삽입 홀에 기록 유닛(38)을 더 삽입한다.
도2에 도시된 것처럼, 접속기 핀 삽입부(12)는 동작 유닛(17)의 접속기 단자부(26)에 접속기 핀 삽입부(12)를 접속하기 위한 접속기 단자(12A)와 수평으로 긴 직각 삽입 홀을 포함한다.
도1에 도시된 것처럼, 동작 유닛(17)은 사용자의 두 손에 의해 홀딩 및 삽입될 수 있고, 각각의 손의 5 손가락의 자유로운 이동 동작될 수 있는 구조를 갖는다. 그 동작 유닛(17)은 우측 및 좌측 상에 대칭으로 위치된 동작 서브-유닛(18 및 19), 그 서브-유닛(18 및 19) 사이에 위치된 선택 스위치(22) 및 시작 스위치(23), 동작 서브-유닛(18 및 19)의 전면에 배치된 동작 서브-유닛(24 및 25)과, 오락 시스템 메인 유닛(2)에 동작 유닛(17)을 접속하기 위한 접속기(26) 및 케이블(27)을 포함한다.
도5는 오락 시스템 메인 유닛(2)의 전형적인 내부 전기 구성을 나타내는 블럭도이다. 도면에 도시되어 있는 것처럼, 오락 시스템 메인 유닛(2)은 서브-버스 인터페이스(SBUSIF)(43)에 의해 서로 접속되어 있는 서브-버스(42)와 메인 버스(41)를 갖는다.
메인 버스(41)에는 마이크로프로세서 및 VPE0(제 1 벡터 처리 엔진)(71)과 같은 구성 요소에 의해 구현되는 메인 CPU(중앙 처리 장치)(44)(리스트 작성 수단), RAM(랜덤 액세스 메모리)에 의해 구현되는 메인 메모리(45), 메인 DMAC(메인 직류 메모리 액세스 제어기(46)(데이타 전송 수단), MDEC(MPEG: Moving Picture Experts Group) 디코더(47), VPE1(제 2 벡터 처리 엔진)(48)에 접속되어 있다. 또한, GPU(그래픽 처리 유닛)(49)도 GPUIF(그래픽 처리 유닛 인터페이스)(72)를 통해 메인 버스(41)에 접속되어 있다. CRTC(CRT 제어기)(84)는 GPU(49)에 제공되어 있다. 또한, 프레임 메모리(58)는 GPU(49)에 접속되어 있다.
한편, 서브-버스(42)에는 마이크로프로세서와 같은 구성 요소에 의해 구현되는 서브-CPU(50), RAM에 의해 구현되는 서브-메모리(51), 서브(DMAC)(52), 운영 시스템과 같은 프로그램들을 저장하기 위한 ROM(53), SPU(사운드 처리 유닛)(54), 통신 제어 유닛(ATM)(55), 이전에 인용된 디스크 장착 서브-유닛(3)과 같은 역할을 하는 CD-ROM 구동기(56)와 입력 유닛(57)이 접속되어 있다. 입력 유닛(57)의 접속기 단자(12A)는 이전에 기술한 것과 같은 운영 유닛(17)의 접속기 단자부(26)에 접속되어 있다.
메인 버스(41)와 서브-버스(42)에는 메인 버스(41)로부터 들어오는 데이타를 서브-버스(42)에 통과시키고, 반면에, 서브-버스(42)로부터 들어오는 데이타를 메인 버스(41)에 진행시키는 SBUSIF(43)이 접속되어 있다.
오락 시스템 메인 유닛(2)이 동작될 때, 메인 CPU(44)는 SBUSIF(43)에 의해 서브-버스(42)에 접속된 ROM(53)으로부터 활성 프로그램의 명령을 인출하여, 운영 시스템을 동작시키기 위해 활성화 프로그램의 명령을 실행한다.
또한, 메인 CPU(44)는 CD-ROM 구동기(56)에 장착된 CD-ROM(40)으로부터 응용 프로그램 및 데이타를 얻기 위해 CD-ROM 구동기(56)에 데이타 판독 요청을 발생하여, 응용 프로그램을 메인 메모리(45)에 로딩한다.
더욱이, 제 1 벡터 처리 엔진(VPE0)(71)과 관련하여, 메인 CPU(44)는 CD-ROM(40)으로부터 판독된 다각형과 같은 다수의 기본 형태를 갖는 3차원 물체의 데이타로부터 다각형 정의 정보(polygon definition information)를 발생한다. 3차원 물체 데이타의 한 예는 다각형의 각각의 점 또는 꼭지점의 좌표값이다. 그 VPE0(제 1 벡터 처리 엔진)(71)은 부동점 실수를 처리하기 위한 다수의 처리 소자를 갖고, 그로 인해, 병렬로 부동점의 일부를 실행할 수 있다.
상세히 설명하면, 메인 CPU(44) 및 VPE0(제 1 벡터 처리 엔진)(71)은 다각형 유닛에서 상세한 동작을 수반하는 기하학 처리를 실행한다. 그와 같은 처리의 한 예는 바람에 의해 날려진 나뭇잎의 흔들리는 상태 또는 자동차의 전면 윈도우를 때리는 빗방울의 상태를 나타내는 다각형의 데이타를 발생한다. 그러면, 음영 모드(shading mode)와 같은 처리 및 다각형 정의 정보로부터 알 수 있는 꼭지점 정보는 메인 버스(41)에 의해 패킷과 같은 메인 메모리(45)에 공급된다.
다각형 정의 정보는 드로잉 영역 셋팅 정보 및 다각형 정보를 포함한다. 그 드로잉 영역 셋팅 정보는 즉, 드로잉 영역의 프레임 메모리 어드레스인 드로잉 영역의 프레임 메모리(58)의 옵셋 좌표와, 드로잉 영역 외측에 존재하는 그 좌표를 갖는 다각형에 의해 표시된 드로잉 범위를 드로잉하는 동작을 취소하기 위한 드로잉 클립핑 영역의 좌표를 포함한다. 한편, 다각형 정보는 다각형 속성 정보 및 꼭지점 정보를 포함한다. 여기서, 다각형 속성 정보는 음영 모드, ALPHA 조합 모드 및 텍스쳐 맵핑 모드를 지정하기 위해 이용되는 정보이다. 한편, 꼭지점 정보는 꼭지점 드로잉 영역의 좌표, 꼭지점 텍스쳐 영역의 좌표 및, 약간 언급한 꼭지점의 색상의 정보이다.
제 1 처리 엔진(VPE0)(71)과 거의 같은, 제 2 벡터 처리 엔진(VPE0)(48)은 부동점 실수를 처리하기 위한 다수의 처리 소자를 가지고, 그로 인해, 병렬로 부동점 처리의 일부를 실행할 수 있다. 그 VPE1(48)은 동작 유닛(17) 및 매트릭스 동작을 이용하여 실행되는 동작에 따라 이미지를 생성할 수 있다. 다시 말해, 제 2 벡터 처리 엔진(VPE1)은 형태 처리, 즉 VPE1 상의 프로그램을 실행할 수 있을 만큼 비교적 단순한 처리를 실행하기 위한 데이타(다각형 정의 정보)를 발생한다. 제 2 벡터 처리 엔진(VPE1)에 의해 실행되는 그와 같은 처리의 한 예는 빌딩 또는 자동차와 같은 단순한 형태를 갖는 물체에 대한 X-선 투시 변환(radios copy conversion), 병렬 광원 계산 및, 2차원 곡선 면의 생성이 있다. 그래서, VPE1(48)에 의해 발생되는 다각형 정의 정보는 GPUIF(72)에 공급된다.
메인 CPU(44)에 의해 제어되면, GPUIF(72)는 메인 버스(41)를 통해 메인 메모리(45)로부터 다각형 정의 정보를 수신한다. 그로 인해, GPUIF(72)는 제 2 벡터 처리 엔진(48)에 의해 공급되는 다각형 정의 정보와 메인 CPU(44)에 의해 발생하는 다각형 정의 정보가 충돌하는 것을 방지하여 그들을 GPU(49)에 통과시키도록 처리 타이밍을 조정한다.
그 GPU(49)는 프레임 메모리(58) 상에 GPUIF(72)에 의해 공급되는 다각형 정의 정보에 기초하여 다각형을 이용하여 3차원 물체를 표현하는 이미지를 그린다. 3차원 물체를 표현하는 다각형을 이용하여 그려진 이미지는 이후에 다각형 이미지라 칭한다. GPU(49)가 텍스쳐 메모리와 같이 프레임 메모리(58)를 이용할 수 있기 때문에, GPU(49)는 텍스쳐와 같은 다각형상에 프레임 메모리(58)의 픽셀 영상을 붙이기 위해 텍스쳐 맵핑 처리를 실행할 수 있다.
메인 DMAC(46)은, 다른 동작들 중에서, 메인 버스(41)에 접속된 여러 회로로부터/에 DMA 전송을 제어하는데 이용된다. 또한, SBUSIF(43)의 상태에 따라, 메인 DMAC(46)는 다른 동작들 중에서, 서브 버스(42)에 접속된 여러 회로로부터/에 DMA 전송을 제어하는데 이용된다. MDEC(47)은 메인 CPU(44)와 동시에 동작하여, MPEG(Moving Picture Experts Group) 시스템 또는 JPEG(Joint Photographic Experts Group)에 따라 압축된 데이타를 감압한다.
서브-CPU(50)는 ROM(53)에 저장된 프로그램을 실행하여 여러 종류의 프로그램을 실행한다. 서브-DMAC(52)는, 다른 동작들 중에서, SBUSIF(43)가 메인 버스(41) 및 서브-버스(42)로부터 분리될 때만 서브-버스(42)에 접속된 여러 회로로부터/로 DMA 전송을 제어한다.
SPU(54)는 제 2 메모리로부터 사운드 데이타를 판독하여, 서브-CPU(50) 또는 서브-DMAC(52)로부터 수신된 사운드 명령에 따라 오디오 신호와 같은 사운드 데이타를 출력한다. 그 출력 오디오 신호는 증폭기 회로(201)를 통해 사운드와 같은 스피커(202)에 의해 최종 출력되는 스피커(202)에 공급된다.
통신 제어 유닛(ATM)(55)은 공용 통신 라인 등에 접속되어 그 라인을 통해 데이타를 전송 및 수신하는데 이용된다.
입력 유닛(57)은 오락 시스템 메인 유닛(2)에 동작 유닛(17)을 접속시키는 접속기 단자(12A), 도면에 도시되지 않은 다른 장치로부터 들어오는 비디오 신호를 오락 시스템 메인 유닛(2)에 공급하기 위한 비디오 입력 회로(82)와, 오락 시스템 메인 유닛(2)에 다른 장치로부터 들어오는 오디오 데이타를 공급하기 위한 오디오 입력 회로(83)를 포함한다.
도6은 도5에 도시된 메인 DMAC(46), 메인 CPU(44), 메인 메모리(45), 제 2 벡터 처리 엔진(VPE1)(48) 및, GPU(49)의 상세한 구성을 도시한 블럭도이다.
도6에 도시된 것처럼, 메인 CPU(44)는 CPU 코어(CORE)(94), 명령 캐시(I$)(95), 스크래치 패트 RAM(SPR)(96), 데이타 캐시(D$)(97) 및 제 1 벡터 처리 엔진(VPE0)(71)을 포함한다. 그 CPU 코어(CORE)(94)는 선정된 명령을 실행한다. 그 명령 캐시(95)는 CPU 코어(CORE)(94)에 공급될 명령을 임시로 저장하기 위해 이용된다. 그 스크래치 패트 RAM(SPR)(96)은 CPU 코어(CORE)(94)에 의해 실행되는 처리의 결과를 저장하기 위해 이용된다. 최종적으로, 데이타 캐시(D$)(97)는 CPU 코어(CORE)(94)에 의해 처리를 실행하는데 이용될 데이타를 임시로 저장하기 위해 이용된다.
제 1 벡터 처리 엔진(VPE0)(71)은 마이크로 메모리(microMEM)(98), FMAC(Floating Multiple Adder Calculation) 유닛(99), 분할기(DIV)(100), VU-MEM이라 칭하는 기능 유닛(101) 및, 패킷 확장기(PKE)(102)를 포함한다. 그 VU-MEM(101)은 부동점 벡터 처리 유닛(VU) 및 삽입된 메모리(MEM)를 포함한다. 그 부동점 벡터 프로세서 유닛은 VU 및 삽입된 메모리의 내부 레지스터에 저장된 데이타를 처리하기 위하여 이후에 보다 상세히 설명되는 마이크로 메모리(98)에 저장된 마이크로 프로그램의 64-비트 마이크로 명령을 실행한다.
PKE(102)는 이후에 상세히 설명되는 메인 DMAC(109)에 의해 실행되는 제어에 따라 공급되는 마이크로코드를 마이크로 메모리(98)내의 마이크로 프로그램으로서 저장되어 VU에 의해 실행되는 마이크로 명령에 공급되는 마이크로코드를 확장하고, 메인 DMAC(109)에 의해 실행된 제어에 따라 공급되는 패킷 데이타의 패킷을 신장하고, 그 신장된 패킷을 VU-MEM(101)에 이용되는 삽입된 메모리(MEM)에 저장한다. FMAC(Floating Multiple Adder Calculation) 유닛(99)은 부동점 처리를 실행하고, 분할기(DIV)(100)는 분할을 실행한다. 상술한 것처럼, 제 1 벡터 처리 엔진(VPE0)(71)은 VPE0(71)과 함께 비형태 처리를 실행하는 메인 CPU(44)에 삽입되어 있다.
제 1 벡터 처리 엔진(VPE0)(71)과 거의 비슷한 제 2 벡터 처리 엔진(VPE1)(48)은 마이크로 메모리(microMEM)(103), FMAC(Floating Multiple Adder Calculation) 유닛(104), 분할기(DIV)(106), VU-MEM이라 칭하는 기능 유닛(107) 및, 패킷 확장기(PKE)(108)를 포함한다. 그 VU-MEM(107)은 부동점 벡터 처리 유닛(VU) 및 삽입된 메모리(MEM)를 포함한다. 그 부동점 벡터 프로세서 유닛은 VU 및 삽입된 메모리의 내부 레지스터에 저장된 데이타를 처리하기 위하여 이후에 보다 상세히 설명되는 마이크로 메모리(98)에 저장된 마이크로 프로그램의 64-비트 마이크로 명령을 실행한다.
PKE(108)는 이후에 상세히 설명되는 메인 DMAC(46)에 의해 실행되는 제어에 따라 공급되는 마이크로코드를 마이크로 메모리(103)내의 마이크로 프로그램으로서 저장되어 VU에 의해 실행되는 마이크로 명령에 공급되는 마이크로코드를 확장하고, 메인 DMAC(46)에 의해 실행된 제어에 따라 공급되는 패킷 데이타의 패킷을 확장하고, 그 확장된 패킷을 VU-MEM(107)에 이용되는 삽입된 메모리(MEM)에 저장한다. FMAC(Floating Multiple Adder Calculation) 유닛(104)은 부동점 처리를 실행하고, 분할기(DIV)(106)는 분할을 실행한다. 그 제 2 벡터 처리 엔진(48)은 메인 메모리(45)로부터 공급되는 데이타의 형태 처리를 실행하여 GPU(49)에 의해 GPUIF(72)에 처리 결과를 공급한다.
메인 메모리(45)는 3차원 물체의 데이타를 저장하기 위해 이용되고, 필요할 때, 그 데이타를 제 1 벡터 처리 엔진(71) 및 제 2 벡터 처리 엔진(48)에 공급한다. 메인 CPU(44) 및 제 1 벡터 처리 엔진(VPE0)(71)애 의해 함께 작성된 디스플레이 리스트는 메인 버스(41)에 의해 GPUIF(72)에 공급되기 이전에 메인 메모리(45)에 삽입된 메모리 LIFO(MFIFO)에 임시로 저장된다. 그 디스플레이 리스트가 메모리 FIFO에 임시로 저장되는 이유는 메인 CPU(44) 및 제 1 벡터 처리 엔진(71)이 제 2 벡터 처리 엔진(48)의 처리 우선 순위 보다 낮은 우선 순위를 갖고, 제 2 벡터 처리 엔진(48)이 유휴 상태로 들어 갈 때까지 메모리 FIFO에 디스플레이 리스트를 유지하도록 만들기 때문이다.
또한, 메인 CPU(44) 및 제 1 벡터 처리 엔진(VPE0)(71)은 함께 제 2 벡터 처리 엔진(48)에 의해 처리될 매트릭스를 작성하고, 메인 메모리(45)에 그 매트릭스를 저장한다. 그후, 제 2 벡터 처리 엔진(48)은 그 매트릭스를 이용하여 디스플레이 리스트를 작성한다.
GPUIF(72)에 의해 제 1 벡터 처리 엔진(71)으로부터 공급되는 비형태 처리를 위한 디스플레이 리스트와, 제 2 벡터 처리 엔진(48)으로부터 공급되는 형태 처리를 위한 디스플레이 리스트를 처리하기 위하여, GPU(49)는, 다른 것들 중에서, 디스플레이 리스트의 각각에 대한 드로잉 타이밍으로 지칭되는 클립 범위와 드로잉 옵셋의 그래픽 환경(즉, 드로잉 셋팅 상태)을 유지한다. 다음 설명에 이용되는 표기(CGO)는 비-형태 처리를 위한 그래픽 환경을 나타내고, 표기(CG1)는 후에 보다 상세히 설명될 형태 처리를 위한 그래픽 환경을 나타낸다.
예를 들어, 상기 기술한 것처럼, PKE(102)는 메인 DMAC(109)에 의해 실행되는 제어에 따라 메인 버스(41)에 의해 메인 메모리(45)로부터 제 1 벡터 처리 엔진(71)에 공급되는 마이크로코드를 마이크로 메모리(98)내의 마이크로 프로그램으로서 저장되어 VU에 의해 실행되는 마이크로 명령으로 확장하고, 메인 DMAC(109)에 의해 실행되는 제어에 따라 메인 버스(41)에 의해 메인 메모리(45)로부터 공급되기도 하는 3차원 물체의 데이타와 같은 패킷화된 데이타의 패킷을 확장하고, 그 확장된 패킷을 VU-MEM(101)에서 이용되는 삽입된 메모리(MEM)에 저장한다. 그후, FMAC(99) 및 DIV(100)는 3차원 물체의 데이타에 따라 매트릭스 처리, 좌표의 변환 및, 무선 카피 변환과 같은 여러 처리를 실행한다. 동시에, 복소 처리는 CPU 코어(94)와 함께 처리된다. 그러한 처리 결과로서 전형적으로, 바람에 의해 날려진 나뭇잎의 흔들리는 상태 또는 자동차의 전면 윈도우를 때리는 빗방울의 상태를 드로잉하기 위한 디스플레이 리스트를 얻는다.
그러한 방식으로 작성된 2차원 물체를 스크린 상에 드로잉하기 위한 디스플레이 리스트(복소 스트림)는 GPUIF(72)에 최종적으로 공급하기 이전에 메인 버스(41)를 통해 메인 메모리(45)의 MFIFO에 임시로 저장된다.
반면에, 상술한 것처럼, PKE(108)는 메인 DMAC(46)에 의해 실행되는 제어에 따라 메인 버스(41)에 의해 메인 메모리(45)로부터 제 2 벡터 처리 엔진(48)에 공급되는 마이크로코드를 마이크로메모리(98)내의 마이크로프로그램으로서 저장되어 VU에 의해 실행되는 마이크로 명령으로 확장하고, 메인 DMAC(46)에 의해 실행되는 제어에 따라 메인 버스(41)에 의해 메인 메모리(45)로부터 공급되기도 하는 3차원 물체의 데이타와 같은 패킷화된 데이타의 패킷을 확장하고, 그 확장된 패킷을 VU-MEM(107)에서 이용되는 삽입된 메모리(MEM)에 저장한다. 그후, FMAC(104) 및 DIV(106)는 3차원 물체의 데이타에 따라 매트릭스 처리, 좌표의 변환 및, 무선 카피 변환과 같은 여러 처리를 실행한다. 메인 CPU(44)와 제 1 벡터 처리 엔진(71)과 함께 작성되어 메인 버스(41)에 의해 메인 메모리(45)로부터 제 2 벡터 처리 엔진(48)에 공급되는 매트릭스 및 그래픽 환경을 기초로 하여, 상기 처리는 비교적 간단한 형태로 처리된다.
상기와 같은 방법으로 작성된 2-차원 물체를 스크린 상에 드로잉하기 위한 디스플레이 리스트(간단한 스트림)는 메인 버스(41)에 의해 GPUIF(72)에 최종적으로 공급된다. 두 개의 스트림, 즉 복소 스트림과 간단한 스트림은 그후 시분할 원리에 따라 조정에 의해 GPU(49)에 전송된다.
GPU(49)는 그에 제공된 디스플레이 리스트에 기초하여 GPUIF(72)에 의해 드로잉 처리를 실행하여, 프레임 메모리(58)에 다각형 다각형을 드로잉한다. 만일, 그 디스플레이 리스트가 메인 CPU(44) 및 제 1 벡터 처리 엔진(71)에 의해 함께 메인 메인 메모리 유닛(45)에 작성되어 메인 버스(41)에 의해 GPU(49)에 공급된 디스플레이 리스트일 때, GPU(49)는 이전에 열거한 그래픽 환경을 이용하여 드로잉 처리를 실행한다. 반면에, 디스플레이 리스트가 제 2 벡터 처리 엔진(48)에 의해 작성된 디스플레이 리스트일 때, GPU(49)는 이전에 열거한 그래픽 환경(GC1)을 이용하여 드로잉 처리를 실행한다.
프레임 메모리(58)에 드로잉된 다각형은 CRTC(84)에 의해 실행된 제어에 따라 다각형에 대한 출력 비디오 신호로 변환된다.
도7a 및 도7b는 두 개의 디스플레이 리스트가 처리되는 타이밍을 도시한 도면이다. 도7a 및 도7b에 도시된 Geometry Subsystem 0은 도6데 도시된 제 2 벡터 처리 엔진(48)에 상응하고, Geometry Subsystem 1은 메인 CPU(44) 및 제 1 벡터 처리 엔진(71)에 상응한다. 렌더링 서브시스템은 GPU(49)에 상응한다. 도면에 도시된 해칭된 부분은 타스크명에 의해 표시되는 타스크가 유휴 상태로 되어 있음을 나타내는 것을 주목한다.
도7a는 오로지 하나의 프로세서, 즉 Geometry Subsystem이 존재하는 경우에 처리 절차를 도시한 도면이다. 이 경우에, Geometry Subsystem 0은 리스트를 렌더링 시스템에 공급하는 디스플레이 리스트(List #0-1)를 작성한다. 그후, Geometry Subsystem 0은 List #0-1 다음의 디스플레이 리스트, 즉 List #0-2 및 연속되는 디스플레이 리스트들을 계속하여 작성한다. 그 렌더링 서브시스템은 공급되는 디스플레이 리스트(List #0-1)에 따라 Geometry Subsystem 0으로부터 드로잉 처리를 실행한다. 렌더링 서브시스템이 List #0-1에 따라 드로잉 처리를 완료하는 시점에서 다음 디스플레이 리스트(List #0-2)를 여전히 Geometry Subsystem 0이 작성하고 있을 때, 렌더링 서브시스템은 유휴 상태로 들어가서, Geometry Subsystem 0이 다음 디스플레이 리스트(List #0-2)의 작성을 완료하여 그 리스트를 렌더링 서브시스템에 제공하기를 기다린다.
그 이후에, 상기 기술한 것과 매우 흡사하게, 렌더링 서브시스템이 현재의 디스플레이 리스트에 따라 드로잉 처리를 완료하는 시점에서 다음 디스플레이 리스트를 작성하는 처리를 여전히 Geometry Subsystem 0이 완료하지 않았을 때, 렌더링 서브시스템은 유휴 상태로 들어가서, Geometry Subsystem 0이 다음 디스플레이 리스트를 렌더링 서브시스템에 제공하기를 기다린다.
도7b는 두 개의 프로세서, 즉 Geometry Subsystem 0 및 Geometry Subsystem 1이 존재하는 경우에 처리 절차를 도시한 도면이다. 이 경우에, Geometry Subsystem 0이 디스플레이 리스트를 작성하고 있는 동안, 렌더링 시스템은 유휴 상태에 놓이게 된다. 이러한 이유로, Geometry Subsystem 1에 의해 미리 작성되어 메인 메모리(45)에 저장된 디스플레이 리스트(List #1-1)에 관련된 데이타는 렌더링 서브시스템에 제공된다. Geometry Subsystem 1에 의해 작성된 제 1 디스플레이 리스트(List #1-1)를 수신하면, 렌더링 서브시스템은 Geometry Subsystem 1에 의해 렌더링 서브시스템에 제공되는 제 1 디스플레이 리스트(List #1-1)에 첨부된 Geometry Subsystem 1에 대한 그래픽 환경에 기초하여 드로잉 처리를 실행한다.
Geometry Subsystem 0이 제 1 디스플레이 리스트(List #0-1)를 작성하는 처리를 완료할 때, Geometry Subsystem 1은 다음 디스플레이 리스트(List #1-2)를 렌더링 시스템에 공급한다. 이때, Geometry Subsystem 1은 다음 디스플레이 리스트(List #1-2)를 렌더링 서브시스템에 제공하는 동작을 강제로 정지시킨다. 따라서, Geometry Subsystem 0은 완료된 제 1 디스플레이 리스트(List #0-1)를 바로 렌더링 서브시스템에 제공하여, 다음 디스플레이 리스트(List #0-2)를 작성을 시작한다. 제 1 디스플레이 리스트(List #0-1)를 Geometry Subsystem 0으로부터 수신하면, 렌더링 서브시스템은 제 1 디스플레이 리스트(List #0-1)에 기초하여 드로잉 처리를 실행한다.
렌더링 시스템이 제 1 디스플레이 리스트(List #0-1)에 기초하여 드로잉 처리를 완료할 때, Geometry Subsystem 1이 다음 디스플레이 리스트(List #0-2)를 여전히 작성하고 있는 상태가 된다. 이러한 이유로, Geometry Subsystem 1은 다음 디스플레이 리스트(List #1-1)를 렌더링 서브시스템에 제공하는 정지된 동작을 다시 시작한다. 그렇지 않으면, 렌더링 서브시스템은 유휴 상태로 될 것이다. Geometry Subsystem 1에 의해 작성된 다음 디스플레이 리스트(List #1-2)를 수신하면, 렌더링 서브시스템은 다음 디스플레이 리스트(List #1-2)에 기초하여 드로잉 처리의 실행을 시작한다.
그후에, 상기 기술한 것과 매우 흡사하게, Geometry Subsystem 1은 작성된 디스플레이 리스트를 공급하여, 그로 인해 단지 Geometry Subsystem 0이 여전히 디스플레이 리스트를 작성하고 있을 때만, 렌더링 서브시스템을 유휴 상태로 만든다. 그 결과, 다수의 프로세서에 의해 작성되는 디스플레이 리스트는 렌더링 서브시스템에 의해 효과적으로 처리될 수 있다.
고속으로 좌표 변환 처리를 실행하기 위하여, 예를 들어, 서브프로세서 또는 좌표 변환 코프로세서는 공통 드로잉 유닛, 즉 GPU(49)와 공유하여 디스플레이 리스트를 GPU(49)에 각각 출력하는 다수의 벡터 처리 엔진 각각에 있는 CPU(이전에 VU라 언급)로부터 각각 제공될 수 있다. 그와 같은 서브프로세서 또는 좌표 변환 코프로세서를 이용하여, 각각의 벡터 처리 엔진 내의 CPU(프로세서)는 공유된 GPU(49)에 매우 자주 디스플레이 리스트를 바로 제공할 수 있다. 따라서, GPU(49)는 짧은 시간 간격으로 한 프로세서에서 다른 프로세서로 전환될 수 있어야 한다. 만일 그렇지 않으면, 각각의 프로세서에 제공되는 로컬 메모리 내에서 범람(overflow)이 발생하게 된다. 이러한 이유로, 각각의 프로세서, 즉 도7b에 도시되어 있는 것처럼 Geometry Subsystem 0 및 Geometry Subsystem 1에 우선 순위 레벨을 할당한다. 마스터 프로세서, 즉 최상위 우선 순위를 갖는 CPU 또는, 도6에 도시된 정보 처리 장치의 경우에 제 2 벡터 처리 엔진(48)에 이용되는 CPU 또는, 도7a 및 도7b에 도시된 Geometry Subsystem 0으로부터 GPU(49)에 더 이상의 전송될 디스플레이 리스트가 존재하지 않을 때, GPU(49)에 대한 액세스를 형성하는 권리는 슬래브 프로세서, 즉, 마스터 CPU(44)에 대해 제 2의 우선 순위를 갖는 CPU 또는, 도6에 도시된 정보 처리 장치의 경우에 제 1 벡터 처리 엔진(71)에 이용된 CPU(VU), 또는, 도7a 및 도7b에 도시된 Geometry Subsystem 1에 인계된다.
마스터 프로세서가 디스플레이 리스트를 작성하는 처리를 완료하여 GPU(49)에 그 디스플레이 리스트를 전송하기 위한 준비된 순간에, 슬래브 프로세서는 심지어 임의 디스플레이 리스트가 완료되어 슬래브 프로세서에 의해 GPU(49)에 전송될 상태로 있을 지라도 GPU(49)를 액세스하는 권리를 강제로 마스터 프로세서로 복귀시킨다.
일반적으로, 마스터 프로세서는 고속으로 처리를 실행할 수 있지만, 비교적 적은 저장 용량을 갖는 로컬 메모리를 구비한다. 반면에, 슬래브 프로세서는 비교적 저속으로 처리를 실행하지만, 비교적 큰 기억 용량을 갖는 로컬 메모리를 구비한다.
또한, 슬래브-슬래브 프로세서(1)와 같은 역할을 하는 프로세서(2)가 도8에 도시되어 있는 것처럼 더 접속된 정보 처리 장치가 있다. 그와 같은 정보 처리 장치에 있어서, 특히 낮은 우선 순위를 갖는 프로세서는 더 많은 디스플레이 리스트를 저장하기 위하여 더 큰 저장 용량을 갖는 로컬 메모리를 필요로 한다. 이러한 이유로, 낮은 우선 순위는 통상 메인 메모리가 제공된 메인 프로세서에 할당된다. 이러한 경우에, 메인 프로세서는 또한 슬래브 프로세서와 같은 역할을 하기도 한다.
GPU(49)에 의해 실행되는 드로잉 처리에 있어서, 디스플레이 리스트에 기재된 꼭지점 정보와 함께, 드로잉 시간에서 클립 범위 및 드로잉 옵셋과 같은 그래픽 환경으로 지칭되는 드로잉 설정 상태 또는 환경 파라미터가 또한 상기 기술한 것처럼 필요하게 된다. 렌더링 서브시스템(즉 GPU(49))은 Geometry Subsystem에 대한 그래픽 환경에 따라 각각의 Geometry Subsystem(즉 CPU)에 의해 제공되는 디스플레이 리스트에 기초하여 드로잉 처리를 실행한다. 그러나, 디스플레이 리스트 공급지(supplier)가 한 Geometry Subsystem에서 다른 Geometry Subsystem으로 전환될 때, 그래픽 환경을 새롭게 설정하는 많은 노력이 필요하게 된다. 그러한 문제를 해소하기 위하여, 렌더링 서브시스템은 Geometry Subsystem과 같은 많은 그래픽 환경을 보유한다.
한 그래픽 환경은 전형적으로 각각의 물체에 대해 GPU(49)에 공급되어 그것에 의해 드로잉되는 도7에 도시된 디스플레이 리스트에 부가된다. 결과로서, GPU(49)는 물체에 관련된 그래픽 환경에 기초하여 각각의 물체에 대해 드로잉 처리를 실행할 수 있다.
Geometry Subsystem 및 렌더링 서브시스템은 데이타 버스 및 어드레스 버스를 구비하는 메인 버스(41)를 공유한다. 렌더링 서브시스템을 액세스하고 있는 Geometry Subsystem은 Geometry Subsystem의 ID와 Geometry Subsystem에 의해 작성된 디스플레이 리스트를 데이타 버스 및 어드레스 버스를 각각 통해 렌더링 서브시스템에 전송한다. ID 및 디스플레이 리스트를 수신하면, 렌더링 서브시스템은 ID에 해당하는 그래픽 환경을 선택하여 그래픽 환경에 기초하여 디스플레이 리스트를 번역한다. 그후, 렌더링 서브시스템은 프레임 버퍼에 이미지를 드로잉한다.
다수의 프로세서(벡터 처리 엔진 또는 Geometry Subsystem)에 의해 상기 기술한 우선 순위 원리에 따라 GPU(49)를 제어시키므로써, 디스플레이 리스트를 임시로 저장하기 위한 프로세서들 각각에 제공된 로컬 메모리의 저장 능력을 최소로 감소시킬 수 있다. 결과적으로, 로컬 메모리의 비용을 증가시키지 않고 프로세서들에서 디스플레이 리스트를 병렬로 작성하는 처리를 실행할 수 있다. 또한, GPU(49)내에 프로세서들 각각에 대한 그래픽 환경을 보유하여, 이중 데이타 전송의 수, 즉 전환 환경 동안에 실행되어야 하는 전체의 작업량을 감소시킬 수 있다.
엄밀히 말해서, 여러 프로세서들은 데이타 버스를 공유하고, 그로 인해, 시분할 원리에 따라 메인 메모리를 공유한다. 다음은, 데이타를 GPU(49)에 전송하는 동안에 데이타 자체에 삽입된 메타-명령에 따라 데이타를 제어하는 기술을 설명한다.
도9는 메타-명령의 전형적인 포맷을 도시한 도면이다. 메타-명령은 전송될 데이타의 앞에 부가된 명령이다. 메타-명령은 전송된 데이타의 길이, 데이타 전송의 목적지 및 메타-명령의 동작 코드를 정한다. 메타-명령은 128비트를 포함하고, 도면에 도시된 그들 중 64 비트만이 유효하다. 전송될 데이타의 사이즈는 첫 번째 16-비트 필드(QWC)에 지정된다. 메타-명령의 동작 코드는 24번째 비트에서 31번째 비트까지 한 필드를 차지한다. 32번째에서 63번째까지의 한 필드는 전송될 데이타가 저장되거나, 메타-명령이 그로부터 판독되는 어드레스를 지정하는데 이용된다.
데이타의 전송은 다음과 같은 데이타에 삽입된 메타-명령의 동작 코드에 따라 제어된다.
동작 코드가 cnt일 때, 그 메타-명령 다음에 QWC에 의해 지정된 만큼의 많은 데이타 워드가 전송된 이후에, 그 패킷(즉, 메타-명령 및 데이타) 다음에 어드레스에 저장된 메타-명령은 프로세서에 의해 실행된다. 동작 코드가 cnts일 때, 그 메타-명령 다음에 QWC 필드에 의해 지정된 만큼의 많은 데이타 워드가 스톨 제어(stall control)에 의해 전송된 이후에, 그 패킷 다음의 어드레스에 저장된 메타-명령은 프로세서에 의해 실행된다. 동작 코드가 next일 때, 그 메타-명령 다음에 QWC 필드에 의해 지정된 만큼 많은 데이타 워드가 전송된 이후에, 어드레스 필드에 지정된 어드레스에 저장된 메타-명령은 프로세서에 의해 실행된다.
그 스톨 제어는 다른 프로세서에 의해 이루어진 메인 메모리(45)에 대한 액세스가 완료될 때까지 프로세서에 의해 메인 메모리(45)에 대한 액세스를 대기 상태로 놓게 하는 프로세서 자신에 의해 실행되는 타이밍 제어이다.
동작 코드가 REF일 때, 그 어드레스 필드에 지정된 어드레스(ADDR)에 저장된 QWC 필드에 의해 지정된 만큼의 많은 데이타 워드가 전송된 이후에, 그 메타-명령 다음에 어드레스에 저장된 한 메타-명령은 프로세서에 의해 실행된다. 동작 코드가 refs일 때, 어드레스 필드에 의해 지정된 어드레스(ADDR)에 저장된 QWC 필드에 의해 지정된 만큼의 많은 데이타 워드가 전송된 이후에, 메타-명령 다음의 어드레스에 저장된 한 메타-명령은 프로세서에 의해 실행된다. 상기 기술 한 것처럼, REF 메타-명령은 어드레스 필드에 지정된 어드레스로부터 QWC 필드에 지정된 길이를 갖는 데이타를 전송하는데 이용된다.
동작 코드가 call일 때, 그 메타-명령 다음에 QWC에 의해 지정된 만큼의 많은 데이타 워드가 전송된 이후에, 그 패킷 다음에 어드레스는 복귀 어드레스로서 한 레지스터에 푸시(로드)되고, 그 메타-명령의 어드레스 필드에 지정된 어드레스에 저장된 메타-명령은 프로세서에 의해 실행된다. 동작 코드가 ret일 때, 그 메타-명령 다음에 QWC에 의해 지정된 만큼의 많은 데이타 워드가 전송된 이후에, 레지스터로부터 역으로 팝(또는 판독)된 어드레스에 저장된 메타-명령은 프로세서에 의해 실행된다. RET 메타-명령과 관련된 CALL 동작 코드를 갖는 메타-명령을 실행하는 동안에 복귀 어드레스로서 어드레스가 레지스터에 로드 됨을 주목한다. 동작 코드가 end일 때, 그 메타-명령 다음에 QWC 필드에 의해 지정된 만큼의 많은 데이타 워드가 전송된 이후에, 그 처리가 종료된다.
도10은 메타-명령의 동작 코드가 그 메타-명령 다음에 다음 데이타를 전송하는 것을 의미하는 next일 때 프로세서에 의해 실행되는 동작을 설명하는데 이용된 도면이다. 우선, 메인 DMAC(46)은 Tag Address 레지스터(Dn_TADR)에 저장된 어드레스(ADD0)로부터 메타-명령 워드으로서 1 워드를 판독한다. 메타-명령은 동작 코드가 next임을 의미하는 NEXT, ADDR = ADDR2, LEN = 8라고 가정하면, QWC 필드는 1 qword가 128 비트이고 ADDR2가 어드레스 필드에 지정된 어드레스인 8 qword임을 나타낸다. 따라서, 메타-명령 NEXT, ADDR = ADDR2, LEN = 8의 실행에 있어서, 8 qword가 전송된다. 그후에, 어드레스(ADDR2)에 저장된 메타-명령 NEXT, ADDR = ADDR1, LEN = 2를 실행한다.
동일한 설명으로써, 메타 명령 NEXT, ADDR = ADDR1, LEN = 2의 실행에 있어서, 메인 DMAC(46)에 의해 실행되는 제어 하에 2-qword가 전송된다. 그후에, 어드레스(ADDR1)에 저장된 메타-명령 END, ADDR = -, LEN = 8을 실행한다. 메타-명령 END, ADDR = -, LEN = 8의 실행에 있어서, 8-qword가 실행된다. 그후에, 처리가 종료된다.
도11은 메타-명령의 동작 코드가 REF일 때 프로세서에 의해 실행되는 동작을 설명하는데 이용된 도면이다. 우선, 메인 DMAC(46)은 태그 어드레스 레지스터(Dn_TADR)에 저장된 어드레스(ADD0)로부터 메타-명령 워드로서 1 워드를 판독한다. 메타-명령은 동작 코드가 REF, ADDR = ADDR2, LEN = 2라고 가정한다. 메타-명령 REF, ADDR = ADDR2, LEN = 2의 실행에 있어서, 어드레스(ADDR2)에 저장된 2-qword가 전송된다. 그후에, 그 메타-명령 다음에 메타-명령 REF, ADDR = ADDR1, LEN = 8이 실행된다.
메타-명령 REF, ADDR = ADDR1, LEN = 8의 실행에 있어서, 어드레스(ADDR1)에 저장된 8-qword가 전송된다. 그후에, 그 메타-명령 다음에 한 메타-명령 END, ADDR = -, LEN = 8이 실행된다. 메타-명령 END, ADDR = -, LEN = 8의 실행에 있어서, 8-qword가 전송된다. 그후에, 처리는 종료된다.
도12는 메타-명령의 동작 코드가 CALL 및 REF일 때 프로세서에 의해 실행되는 동작을 설명하는데 이용된 도면이다. 우선, 메인 DMAC(46)은 태그 어드레스 레지스터(Dn_TADR)에 저장된 어드레스(ADD0)로부터 메타-명령 워드로서 1 워드를 판독한다. 그 메타-명령은 CALL, ADDR = ADDR1, LEN = 0라고 가정한다.(메타-명령 CALL, ADDR = ADDR1, LEN = 0의 실행에 있어서, LEN = 0이기 때문에, 그 메타-명령 다음의 데이타는 전송되지 않는다. 그 메타-명령 다음의 메타-명령 CALL, ADDR = ADDR2, LEN = 8은 복귀 어드레스로서 제 1 어드레스에 로드된다.) 그 메타-명령 CALL, ADDR = ADDR1, LEN = 0의 실행 이후에, 도12에 도시되어 있고 어드레스(ADDR1)에 저장된 한 메타-명령 CALL, ADDR = ADDR2, LEN = 8이 실행된다. 그 메타-명령 CALL, ADDR = ADDR2, LEN = 8의 실행에 있어서, 그 메타-명령 다음의 8-qword 데이타는 전송된다(그 패킷 다음의 한 메타-명령 RET, ADDR = -, LEN = 0의 어드레스를 복귀 어드레스로서 제 2 레지스터에 로드한다). 그 후에, 어드레스(ADDR2)에 저장된 한 메타-명령 RET, ADDR = -, LEN = 8을 실행한다.
그 메타-명령 RET, ADDR = -, LEN = 8의 실행에 있어서, 그 메타-명령 다음의 8-qword가 전송된다. 그 후에, 그 메타-명령 RET, ADDR = -, LEN = 0 즉, 우측에 도시된 메타-명령 CALL, ADDR = ADDR2, LEN = 8의 실행에 있어서 제 2 레지스터에 어드레스가 로드되는 명령을 실행한다. 메타-명령 RET, ADDR = -, LEN = 0의 실행에 있어서, 그 메타-명령 다음에 데이타는 LEN = 0이기 때문에 전송되지 않는다. 그후에, 좌측에 도시된 메타 명령 CALL, ADDR = ADDR2, LEN = 8, 즉 메타-명령 CALL, ADDR = ADDR1, LEN = 0의 실행에 있어서 제 1 레지스터에 그 어드레스가 로드되는 명령을 실행한다. 좌측에 도시된 메타 명령 CALL, ADDR = ADDR2, LEN = 8의 실행에 있어서, 그 메타-명령 다음의 8-qword 데이타는 전송된다(그 패킷 다음의 한 메타-명령 END, ADDR = -, LEN = 0의 어드레스를 복귀 어드레스로서 제 1 레지스터에 로드한다). 그 후에, 어드레스(ADDR2)에 저장된 한 메타-명령 RET, ADDR = -, LEN = 8을 실행한다.
그 메타-명령 RET, ADDR = -, LEN = 8의 실행에 있어서, 그 메타-명령 다음의 8-qword가 전송된다. 그 후에, 그 메타-명령 END, ADDR = -, LEN = 0 즉, 좌측에 도시된 메타-명령 CALL, ADDR = ADDR2, LEN = 8의 실행에 있어서 제 1 레지스터에 어드레스가 로드되는 명령을 실행한다. 메타-명령 END, ADDR = -, LEN = 0의 실행에 있어서, 그 메타-명령 다음에 데이타는 LEN = 0이기 때문에 전송되지 않는다. 그후에, 처리가 종료된다.
상기 설명한 것처럼, 데이타의 임의 전송은 그 데이타에 삽입된 메타-명령에 따라 제어된다.
도13은 데이타에 삽입된 메타-명령에 따라 데이타의 전송이 제어되는 상태를 도시한 도면이다. 메인 CPU(44)가 디스플레이 리스트(List #0)를 작성하는 동안에, 디스플레이 리스트(List #0) 보다 1프레임 앞선 디스플레이 리스트(List #1)에 관련된 데이타는 제 2 벡터 처리 엔진(VPE1)에 전송된다.
우선, 제 1 벡터 처리 엔진(71)과 함께 메인 CPU(44)는 NEXT 동작 코드를 갖는 임의 메타-명령, 임의 환경, REF 동작 코드를 갖는 임의 메타 명령, REF 동작 코드를 갖는 임의 메타 명령, 임의 매트릭스, REF 동작 코드를 갖는 임의 메타-명령, 임의 매트릭스, REF 동작 코드를 갖는 임의 메타 명령, 임의 매트릭스, REF 동작 코드를 갖는 임의 메타 명령, REF 동작 코드를 갖는 임의 메타 명령, 임의 매트릭스 및 REF 동작 코드를 갖는 임의 메타 명령을 포함하는 도13에 도시된 디스플레이 리스트(List #0)를 작성한다. 우선, 디스플레이 리스트(List #1)의 헤드부에 ,NEXT 동작 코드를 갖는 임의 메타-명령을 실행하여 연속된 다음의 환경을 제 2 벡터 처리 엔진(48)에 전송한다. 그후, 전송된 환경 다음에 REF 동작 코드를 갖는 제 1 메타 명령을 실행하여 메인 메모리(45)에 저장된 물체의 데이타 베이스에 저장된 Program 0을 판독한다.(그후, 제 2 벡터 처리 엔진(48)에 그 프로그램을 전송한다). 예를 들어, 꼭지점 데이타 셋트, 즉 도13에 도시된 한 물체의 내용은 어디에나 저장되고, 임의 한 디스플레이 리스트의 매트릭스만이 갱신된다. 따라서, 관찰자의 눈에 기초하여 이미지를 생성할 수 있다. 이러한 방법으로, 그 내용을 갖는 데이타는 임의 프로그램이 한 메타 명령을 사용하여 디스플레이 리스트를 판독하는 것처럼 프레임에서 프레임까지 변화하지 않는다.(디스플레이 리스트 상의 데이타를 포함할 필요 없이 제 2 벡터 처리 엔진(48)에 데이타를 전송하기 위하여). 문자들과 그들 사이의 불변의 데이타와 같은 고정된 데이타는 상이한 디스플레이 리스트 내의 메타-명령에 의해 공유될 수 있다. 결과적으로, 한 디스플레이 리스트는 디스플레이 리스트에 포함된 위치 데이타(즉, 매트릭스들)만을 갱신하여, 이전에 작성된 현재의 디스플레이 리스트의 프레임간 변화하는 내용을 쉽게 작성할 수 있다.
물체 데이타 베이스는 3차원 물체(이하, Vertex of Object라 칭함)를 설명하기 위한 3차원 데이타와 물체 데이타를 해석하기 위한 프로그램을 포함하는 것을 주목한다. 또한, 만일, 텍스쳐 맵핑이 물체의 장식(ornament)에서 실행된다면, 텍스쳐로서 이용된 이미지 데이타(텍스쳐 이미지로 지칭)는 또한, 물체 데이타 베이스에 저장된다.
그후에, 상기 제 1 REF 메타-명령 다음에 REF 동작 코드를 갖는 제 1 메타-명령이 실행되어 3차원 좌표 Vertex of Object, 즉 Object 0의 꼭지점 좌표를 판독한다.(그후에 제 2 벡터 처리 엔진(48)에 Object 0의 꼭지점 좌표를 전송한다). 다음 제 2 벡터 처리 엔진(48)에 제 1 매트릭스가 전송된다.(제 1 매트릭스의 헤드부에서 제 2 REF 메타 명령 다음의 NEXT 동작 코드를 갖는 메타-명령에 의해 전송된다). 이어서, 전송된 제 1 매트릭스 다음의 REF 동작 코드를 갖는 제 3 메타 명령이 실행되어 3차원 좌표 데이타 Vertex of Object 1, 즉 Object 1의 꼭지점 좌표를 판독한다.(그후에 제 2 벡터 처리 엔진(48)에 Object 1의 꼭지점 좌표를 전송한다).
다음에, 상기 제 3 REF 메타 명령 다음의 제 2 매트릭스가 제 2 벡터 처리 엔진(48)에 전송되는데, 제 2 매트릭스의 헤드부에서 제 3 REF 메타-명령 다음의 NEXT 동작 코드를 갖는 메타 명령을 실행하여 전송된다. 이어서, 전송된 제 2 매트릭스 다음의 REF 동작 코드를 갖는 제 4 메타-명령이 실행되어 3차원 좌표 데이타 Vertex of Object 1, 즉 Object 1의 꼭지점 좌표를 판독한다.(그후에 제 2 벡터 처리 엔진(48)에 Object 1의 꼭지점 좌표를 전송한다). 그후에, 제 3 매트릭스의 헤드부에서 제 4 REF 메타-명령 다음의 NEXT 동작 코드를 갖는 메타 명령을 실행하여 제 2 벡터 처리 엔진(48)에 제 3 매트릭스가 전송된다. 이어서, 전송된 제 3 매트릭스 다음의 REF 동작 코드를 갖는 제 5 메타-명령이 실행되어 Program 3을 판독한다(그후에, 제 2 벡터 처리 엔진(48)에 그 프로그램을 전송한다). 다음에, 상기 제 5 REF 메타-명령 다음의 REF 동작 코드를 갖는 제 6 메타 명령이 실행되어, 프레임 메모리(58)의 텍스쳐 이미지 데이타를 판독하여 그 데이타를 제 2 벡터 처리 엔진(48)에 전송한다.
만일, 텍스쳐 이미지 데이타가 프레임 메모리(58)에서 저장되어 있지 않으면, 그 텍스쳐 이미지 데이타는 물체 데이타 Vertex of Object(4)가 REF 동작 코드를 갖는 다음의 제 7 메타-명령까지 전송된다. 그 텍스쳐 이미지 데이타가 MDEC(47)로부터 들어오는 데이타 또는 서브-버스(42)로부터 들어오는 전송된 데이타를 받아들이게 된다(thawing)면, 그 텍스쳐 이미지 데이타는 프레임 사이에서 변화한다. 이 경우에, 후에 기술할 데이타 전송의 동기를 설정하는데 이용된다.
이미지 데이타가 제 2 벡터 처리 엔진(48)에 전송되고 있다면, 제 2 벡터 처리 엔진(48)에 의해 실행되는 처리는 일시적으로 중지된다. 따라서, 그 시간 주기 동안에 다른 DMA 채널에 의해 실행되는 활성화를 중지시켜 이미지 데이타의 전송 주기를 최소화시킬 필요가 있다. 다른 DMA 채널에 의해 실행되는 활성화를 중지시키는 것은 이미지 데이타를 전송하는데 이용되는 임의 메타-명령에서 선정된 제어 비트에 의해 지정될 수 있다. 예를 들어, 도9에 도시된 임의 메타-명령의 24번째 및 25번째 비트는 그와 같은 제어 비트로서 이용된다.
그후에, REF 동작 코드를 갖는 최종(6번째) 메타 명령이 실행되어 3차원 좌표 데이타 Vertex of Object 4를 판독한다.(그후에 제 2 벡터 처리 엔진(48)에 그 데이타를 전송한다). 그후에, 제 2 벡터 처리 엔진(48)에 최종(4번째) 매트릭스가 전송된다(제 4 매트릭스의 헤드부에서 제 7 REF 메타-명령 다음의 NEXT 동작 코드를 갖는 메타 명령을 실행하여 전송된다). 최종적으로, REF 동작 코드를 갖는 메타-명령이 실행되어 전송 처리를 종료한다.
도14는 상기 예시된 스톨 제어를 설명하기 위해 이용된 도면이다. 데이타가 Device 0에서 메인 메모리에 전송되고, 그 메인 메모리의 데이타 저장 어드레스의 증가순으로 메인 메모리에서 Device 1로 전송된다고 가정한다. 이 경우에, 데이타가 Device 1로 전송될 메인 메모리의 어드레스는 약간의 이유로 가장 최근에 Device 0으로부터 데이타가 전송되는 메인 메모리의 어드레스를 한 번에 초과할 수 있다. 그 시간 동안에, 메인 메모리에서 Device 1까지의 전송은 스톨된 상태로 놓인다.
도13에 도시된 데이타 전송의 예에 있어서, 텍스쳐 이미지 데이타는 MDEC(47)의 저장 메모리로부터 메인 메모리(45)로 전송되고, 후에 메인 메모리로부터 메인 메모리(45)의 데이타 저장 어드레스순으로 증가하여 제 2 벡터 처리 엔진(48)에 전송된다. 이 경우에, 데이타가 제 2 벡터 처리 엔진(48)에 전송될 메인 메모리(45)의 어드레스는 약간의 이유로 가장 최근에 MDEC(47)의 저장 메모리로부터 데이타가 전송되는 메인 메모리(45)의 어드레스를 한 번에 초과할 수 있다. 그 시간 동안에, 메인 메모리에서 제 2 벡터 처리 엔진(48)까지의 전송은 전송 동기화를 설정하기 위해 스톨된 상태로 놓인다.
상기 기술한 것처럼, 메인 DMAC(46)는 디스플레이 리스트로부터 메타-명령을 인출하여 프로세서들에 데이타를 분배하기 위하여 그 메타-명령을 실행한다. 결과적으로, 디스플레이 리스트가 미리 프로세서에 의해 작성되는 시기에 데이타 내의 데이타를 전송하는 우선 순위, 명령 및 형태를 프로그램하여, 그 데이타는 데이타의 특성에 따라 최적의 방법으로 전송될 수 있다. 또한, 프로세서가 미리 디스플레이 리스트와 같은 리스트 형태로 데이타를 전송하는 명령을 규정하여, 프로세서가 임의 메모리 내에서 전송 작업을 위해 비경제적인 카피된 데이타를 보유할 필요가 없다. 결과적으로, 메모리에 대한 비경제적인 액세스의 수와 디스플레이 리스트의 사이즈를 감소시킨다.
더욱이, 각각의 디스플레이 리스트에 대해 2 장소로 각각 프레임에서 프레임으로 변화하는 전송될 데이타부 각각만을 저장할 필요가 있다. 프레임간 변화하지 않는 디스플레이 리스트의 임의 부분은 모든 디스플레이 리스트에 대해 메모리 영역에 공통으로 저장될 수 있다. 따라서, 디스플레이 리스트를 저장하기 위해 필요한 메모리의 사이즈를 줄일 수 있다. 즉, 다수의 디스플레이 리스트들이 한 작은 저장 용량을 가진 메모리에 저장될 수 있다.
또한, 데이타가 그 데이타 내에 삽입된 메타-명령에 따라 전송되기 때문에, 데이타를 판독 및 기록하기 위한 동기화는 다수의 프로세서들 가운데에서 쉽게 설정될 수 있다. 결과적으로, 다수의 프로세서들은 메모리에 이중 버퍼를 제공할 필요 없이 한 메모리를 공유하도록 한다.
상기 설명한 실시예의 경우에 있어서, 데이타는 CD-ROM에 저장된다. 그러나, 다른 기록 매체도 이용될 수 있음을 주목한다.
청구 범위 제 1 항에 따른 정보 처리 장치에 있어서, 리스트 작성 수단은 전송될 3차원 그래픽스 처리를 위한 데이타를 포함하는 리스트를 한 처리 유닛에 발생하는데 이용되고, 데이타의 전송을 제어하기 위한 한 명령을 그 처리 유닛에 발생하기 위해 이용된다. 결과적으로, 특히, 데이타 내에 데이타 전송의 명령 또는 우선 순위를 미리 프로그램하여, 데이타의 특성에 따라 최적으로 데이타를 전송시킬 수 있다.
청구 범위 제 2 항에 따른 정보 처리 장치에 있어서, 3차원 그래픽스 처리를 위해 전송될 데이타를 포함하는 리스트를 한 처리 유닛에 저장하고, 그 처리 유닛에 데이타의 전송을 제어하기 위한 명령을 저장하기 위해 메모리가 이용된다. 결과적으로, 데이타에 미리 삽입된 명령으로 데이타의 특성에 따라 최적으로 데이타를 처리할 수 있다.
청구 범위 제 3 항에 따른 정보 처리 장치에 있어서, 데이타 전송 수단은 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타를 포함하는 리스트와 처리 유닛에 대한 데이타의 전송을 제어하기 위한 명령을 판독하는데 이용되고, 그 명령에 따라 처리 유닛에 데이타를 전송하는데 이용된다. 결과적으로, 메모리 자원은 데이타에 따라 높은 효율성을 가지고 프로세서들에 할당될 수 있다.
청구 범위 제 8 항에 따른 정보 처리 장치와 청구 범위 제 9 항에 따른 정보 처리 방법에 있어서, 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 처리 유닛에 대한 데이타의 전송을 제어하기 위한 명령을 포함하는 리스트를 작성하고, 한 메모리에 상기 리스트를 저장하기 위해 이용되고, 데이타 전송 수단은 메모리로부터 리스트를 판독하고 리스트에 포함된 명령에 따라 처리 유닛에 리스트의 데이타를 전송하는데 이용된다. 결과적으로, 특히, 데이타 내에 데이타 전송의 명령 또는 우선 순위를 미리 프로그램하여, 데이타의 특성에 따라 최적으로 데이타를 전송시킬 수 있다.
본 발명에 따른 정보 처리 장치 및 방법은 데이타 내에 데이타 전송의 명령 또는 우선 순위를 미리 프로그램하여, 데이타의 특성에 따라 최적으로 데이타를 전송시킬 수 있다. 또한, 데이타에 미리 삽입된 명령으로 데이타의 특성에 따라 최적으로 데이타를 처리할 수 있다. 또한, 메모리 자원은 데이타에 따라 높은 효율성을 가지고 프로세서들에 할당될 수 있다.

Claims (9)

  1. 정보 처리 장치에 있어서,
    병렬로 3-차원 그래픽스 처리를 실행하기 위하여 시분할 원리에 따라 다수의 처리 유닛에 의해 공유되는 버스 및 메모리와;
    상기 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 상기 처리 유닛에 상기 데이타의 전송을 제어하는 명령을 포함하는 리스트를 작성하는 리스트 작성 수단을 포함하는 정보 처리 장치.
  2. 정보 처리 장치에 있어서,
    병렬로 3-차원 그래픽스 처리를 실행하기 위하여 시분할 원리에 따라 다수의 처리 유닛에 의해 공유되는 버스 및 메모리와;
    상기 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 상기 처리 유닛에 상기 데이타의 전송을 제어하는 명령을 포함하는 리스트를 저장하기 위해 상기 메모리가 이용되는 정보 처리 장치.
  3. 정보 처리 장치에 있어서,
    병렬로 3-차원 그래픽스 처리를 실행하기 위하여 시분할 원리에 따라 다수의 처리 유닛에 의해 공유되는 버스 및 메모리와;
    상기 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 상기 처리 유닛에 상기 데이타의 전송을 제어하는 명령을 포함하는 리스트를 상기 메모리로부터 판독하고, 상기 명령에 따라 상기 처리 유닛에 상기 데이타를 전송하기 위한 데이타 전송 수단을 포함하는 정보 처리 장치.
  4. 제 2 항에 있어서, 상기 메모리는 선정된 프레임을 위해 상기 리스트의 선정된 수를 저장하고, 다른 프레임을 위해 상기 리스트의 나머지를 저장하기 위한 제 1 영역으로 가상 분할되는 정보 처리 장치.
  5. 제 3 항에 있어서, 상기 처리 유닛 중 한 유닛에 의해 데이타의 한 부분을 판독하는 상기 메모리 영역 내의 어드레스가 상기 처리 유닛 중 다른 한 유닛에 의해 가장 최근에 데이타의 다른 부분에 기록하는 상기 메모리의 영역 내의 어드레스보다 크게 될 때, 상기 데이타 전송 수단은 기록 상태에서 상기 유닛 중 한 유닛에 의해 실행된 상기 데이타 일부를 판독하도록 동작하는 정보 처리 장치.
  6. 제 3 항에 있어서, 상기 메모리 내에 저장된 리스트의 데이타가 상기 리스트의 명령에 따라 상기 처리 유닛 중 한 유닛에 전송되는 동안, 상기 데이타 전송 수단은 기록 상태에서 상기 처리 유닛 중 다른 한 유닛에 의해 형성된 상기 데이타를 액세스시키는 정보 처리 장치.
  7. 제 4 항에 있어서, 프레임마다 변경하는 상기 리스트의 유일한 부분의 카피가 이루어지고, 상기 카피는 상기 메모리 중 상기 제 1 영역 또는 제 2 영역에 저장되어, 상기 원래의 부분이 상기 메모리의 상기 제 1 영역 또는 제 2 영역에 저장되는 정보 처리 장치.
  8. 정보 처리 장치에 있어서,
    병렬로 3-차원 그래픽스 처리를 실행하기 위하여 시분할 원리에 따라 다수의 처리 유닛에 의해 공유되는 버스 및 메모리;
    상기 처리 유닛에 전송될 3차원 그래픽스 처리를 위한 데이타와 상기 처리 유닛에 상기 데이타의 전송을 제어하는 명령을 포함하는 리스트를 작성하고, 상기 메모리에 상기 리스트를 저장하기 위한 리스트 작성 수단과;
    상기 메모리로부터 상기 리스트를 판독하고, 상기 리스트 상에 포함된 상기 명령에 따라 상기 처리 유닛에 상기 리스트 상의 상기 데이타를 전송하는 데이타 전송 수단을 포함하는 정보 처리 장치.
  9. 정보 처리 방법에 있어서,
    병렬로 3-차원 그래픽스 처리를 실행하기 위하여 시분할 원리에 따라 다수의 처리 유닛에 의해 버스 및 메모리가 공유되고;
    상기 처리 유닛에 전송될 상기 3차원 그래픽스 처리를 위한 데이타와 상기 처리 유닛에 상기 데이타의 전송을 제어하는 명령을 포함하는 리스트를 작성하고, 상기 메모리에 상기 리스트를 저장하기 위한 단계;
    상기 메모리로부터 상기 리스트를 판독하기 위한 단계와;
    상기 리스트 상에 포함된 상기 명령에 따라 상기 처리 유닛 중 한 유닛에 상기 리스트 상의 상기 데이타를 전송하는 단계를 포함하는 정보 처리 방법.
KR1019980010671A 1997-03-27 1998-03-27 정보처리장치및정보처리방법 KR100562692B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP97-074930 1997-03-27
JP07493097A JP3739888B2 (ja) 1997-03-27 1997-03-27 情報処理装置および方法

Publications (2)

Publication Number Publication Date
KR19980080758A true KR19980080758A (ko) 1998-11-25
KR100562692B1 KR100562692B1 (ko) 2006-10-24

Family

ID=13561575

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980010671A KR100562692B1 (ko) 1997-03-27 1998-03-27 정보처리장치및정보처리방법

Country Status (9)

Country Link
US (1) US6219073B1 (ko)
EP (1) EP0871142B1 (ko)
JP (1) JP3739888B2 (ko)
KR (1) KR100562692B1 (ko)
CN (1) CN1107923C (ko)
AU (1) AU730429B2 (ko)
CA (1) CA2232904A1 (ko)
DE (1) DE69820143T2 (ko)
TW (1) TW394906B (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155798A (ja) * 1998-11-18 2000-06-06 Toshiba Corp 機器制御方法および機器制御システム
JP3780732B2 (ja) * 1999-03-10 2006-05-31 株式会社日立製作所 分散制御システム
US6532018B1 (en) 1999-04-19 2003-03-11 Microsoft Corporation Combined floating-point logic core and frame buffer
US6397132B1 (en) 1999-09-30 2002-05-28 Siemens Automotive Corporation Electronic thronttle control with accident recordal unit
US6807620B1 (en) 2000-02-11 2004-10-19 Sony Computer Entertainment Inc. Game system with graphics processor
US7093104B2 (en) * 2001-03-22 2006-08-15 Sony Computer Entertainment Inc. Processing modules for computer architecture for broadband networks
US7233998B2 (en) 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6526491B2 (en) 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US6809734B2 (en) 2001-03-22 2004-10-26 Sony Computer Entertainment Inc. Resource dedication system and method for a computer architecture for broadband networks
US7231500B2 (en) 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US7516334B2 (en) 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
US6826662B2 (en) * 2001-03-22 2004-11-30 Sony Computer Entertainment Inc. System and method for data synchronization for a computer architecture for broadband networks
US7475257B2 (en) 2003-09-25 2009-01-06 International Business Machines Corporation System and method for selecting and using a signal processor in a multiprocessor system to operate as a security for encryption/decryption of data
US7389508B2 (en) 2003-09-25 2008-06-17 International Business Machines Corporation System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment
US7236998B2 (en) 2003-09-25 2007-06-26 International Business Machines Corporation System and method for solving a large system of dense linear equations
US7444632B2 (en) 2003-09-25 2008-10-28 International Business Machines Corporation Balancing computational load across a plurality of processors
US7318218B2 (en) 2003-09-25 2008-01-08 International Business Machines Corporation System and method for processor thread for software debugging
US7415703B2 (en) 2003-09-25 2008-08-19 International Business Machines Corporation Loading software on a plurality of processors
US7549145B2 (en) 2003-09-25 2009-06-16 International Business Machines Corporation Processor dedicated code handling in a multi-processor environment
US7496917B2 (en) 2003-09-25 2009-02-24 International Business Machines Corporation Virtual devices using a pluarlity of processors
US7382373B2 (en) * 2003-12-19 2008-06-03 Intel Corporation Method and apparatus for producing animation
US8224639B2 (en) 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
JP4378572B2 (ja) 2007-06-28 2009-12-09 Necシステムテクノロジー株式会社 データ転送システム、データ転送方法、ホスト装置及び描画装置
KR101826121B1 (ko) 2011-03-25 2018-02-06 인텔 코포레이션 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트
EP2710481B1 (en) * 2011-05-20 2021-02-17 Intel Corporation Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines
TWI521343B (zh) 2011-08-01 2016-02-11 Toshiba Kk An information processing device, a semiconductor memory device, and a semiconductor memory device
TWI459201B (zh) 2012-04-27 2014-11-01 Toshiba Kk Information processing device
EP2972836B1 (en) 2013-03-15 2022-11-09 Intel Corporation A method for emulating a guest centralized flag architecture by using a native distributed flag architecture
JP6021759B2 (ja) 2013-08-07 2016-11-09 株式会社東芝 メモリシステムおよび情報処理装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63226764A (ja) * 1987-03-17 1988-09-21 Fanuc Ltd 高速浮動小数点演算システム
US5010515A (en) * 1987-07-28 1991-04-23 Raster Technologies, Inc. Parallel graphics processor with workload distributing and dependency mechanisms and method for distributing workload
JPH01181163A (ja) * 1988-01-13 1989-07-19 Seiko Instr & Electron Ltd 図形表示システム
US5136717A (en) * 1988-11-23 1992-08-04 Flavors Technology Inc. Realtime systolic, multiple-instruction, single-data parallel computer system
US5187793A (en) * 1989-01-09 1993-02-16 Intel Corporation Processor with hierarchal memory and using meta-instructions for software control of loading, unloading and execution of machine instructions stored in the cache
EP0389175A3 (en) * 1989-03-15 1992-11-19 Fujitsu Limited Data prefetch system
JPH04219859A (ja) * 1990-03-12 1992-08-10 Hewlett Packard Co <Hp> 並列プロセッサに直列命令ストリームデータを分散するハードウェアディストリビュータ
US5321505A (en) * 1991-01-11 1994-06-14 Microelectronics & Computer Technology Corporation Computer scalable visualization system
US5250940A (en) * 1991-01-18 1993-10-05 National Semiconductor Corporation Multi-mode home terminal system that utilizes a single embedded general purpose/DSP processor and a single random access memory
US5335322A (en) * 1992-03-31 1994-08-02 Vlsi Technology, Inc. Computer display system using system memory in place or dedicated display memory and method therefor
WO1994002295A1 (en) * 1992-07-17 1994-02-03 Eero Kivimaa An arrangement for fixing the blades of a frame saw
US5325485A (en) * 1992-10-30 1994-06-28 International Business Machines Corporation Method and apparatus for displaying primitives processed by a parallel processor system in a sequential order
JP3304444B2 (ja) * 1992-11-30 2002-07-22 富士通株式会社 ベクトル処理装置
JPH06274578A (ja) * 1993-03-18 1994-09-30 Fuji Facom Corp 画像情報処理方式
US5450542A (en) 1993-11-30 1995-09-12 Vlsi Technology, Inc. Bus interface with graphics and system paths for an integrated memory system
JP2634141B2 (ja) * 1994-01-19 1997-07-23 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサ・システム
US5706478A (en) * 1994-05-23 1998-01-06 Cirrus Logic, Inc. Display list processor for operating in processor and coprocessor modes
US5657479A (en) * 1995-12-04 1997-08-12 Silicon Graphics, Inc. Hierarchical display list processing in graphics data retrieval system
US5917505A (en) * 1995-12-19 1999-06-29 Cirrus Logic, Inc. Method and apparatus for prefetching a next instruction using display list processing in a graphics processor
US5983326A (en) * 1996-07-01 1999-11-09 Sun Microsystems, Inc. Multiprocessing system including an enhanced blocking mechanism for read-to-share-transactions in a NUMA mode
US5996058A (en) * 1996-08-19 1999-11-30 Samsung Electronics Company, Ltd. System and method for handling software interrupts with argument passing

Also Published As

Publication number Publication date
EP0871142A3 (en) 1999-11-03
TW394906B (en) 2000-06-21
CN1198557A (zh) 1998-11-11
CN1107923C (zh) 2003-05-07
AU730429B2 (en) 2001-03-08
EP0871142A2 (en) 1998-10-14
AU5938898A (en) 1998-10-01
JP3739888B2 (ja) 2006-01-25
CA2232904A1 (en) 1998-09-27
KR100562692B1 (ko) 2006-10-24
DE69820143D1 (de) 2004-01-15
US6219073B1 (en) 2001-04-17
EP0871142B1 (en) 2003-12-03
DE69820143T2 (de) 2004-10-14
JPH10269165A (ja) 1998-10-09

Similar Documents

Publication Publication Date Title
KR100562692B1 (ko) 정보처리장치및정보처리방법
US6119217A (en) Information processing apparatus and information processing method
KR100527324B1 (ko) 정보처리장치
US6559854B2 (en) Image creation device
US7164427B2 (en) Apparatus, method and system with a graphics-rendering engine having a time allocator
US6052744A (en) System and method for transferring concurrent multi-media streams over a loosely coupled I/O bus
US7701461B2 (en) Method and apparatus for buffering graphics data in a graphics system
JP4925385B2 (ja) 機能拡張型メモリコントローラを備えるグラフィックス処理システム
US7173627B2 (en) Apparatus, method and system with a graphics-rendering engine having a graphics context manager
US7170512B2 (en) Index processor
US6515670B1 (en) Graphics system and method for minimizing the idle time of a host processor in the graphics system
JP2005202983A (ja) 情報処理装置および方法
AU5012001A (en) Information processing apparatus and information processing method
MXPA98006707A (en) Information processing device and entertainment system

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160219

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee