KR20040090392A - 프레임 버퍼 접근 장치, 프레임 버퍼 접근 방법, 컴퓨터프로그램 및 기록 매체 - Google Patents

프레임 버퍼 접근 장치, 프레임 버퍼 접근 방법, 컴퓨터프로그램 및 기록 매체 Download PDF

Info

Publication number
KR20040090392A
KR20040090392A KR10-2003-7015018A KR20037015018A KR20040090392A KR 20040090392 A KR20040090392 A KR 20040090392A KR 20037015018 A KR20037015018 A KR 20037015018A KR 20040090392 A KR20040090392 A KR 20040090392A
Authority
KR
South Korea
Prior art keywords
memory
segments
access
interleaved
interleaved pattern
Prior art date
Application number
KR10-2003-7015018A
Other languages
English (en)
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 KR20040090392A publication Critical patent/KR20040090392A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/06Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
    • G09G1/14Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
    • G09G1/16Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible the pattern of rectangular co-ordinates extending over the whole area of the screen, i.e. television type raster
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2352/00Parallel handling of streams of display data
    • 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/123Frame memory handling using interleaving
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Input (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Memory System (AREA)

Abstract

본 발명은 드로잉 속도가 가격 증가 없이 증가될 수 있는 드로잉 장치를 제공하기 위한 것이다. 드로잉 장치는 다른 인터리브된 패턴들에 의해 드로잉을 프레임 버퍼로 수행하기 위한 엔터테인먼트 장치 상의 GPU로서 수립된다. 각각의 인터리브된 패턴은 프레임 버퍼 내의 픽셀 세그먼트들의 조합에 의해 지정된다. GPU는 그려지는 그림의 모양을 식별하고 그리고 그림의 선택된 모양에 적합한 인터리브된 패턴을 선택한다. 프레임 버퍼 내에 지정된 픽셀 세그먼트들은 어느 인터리브된 패턴이 선택되는 지에 상관없이 같은 인터리브된 패턴 내에서 다른 픽셀 세그먼트들과 오버랩되지 않는다.

Description

프레임 버퍼 접근 장치, 프레임 버퍼 접근 방법, 컴퓨터 프로그램 및 기록 매체{Frame buffer access device, frame buffer access method, computer program and recording medium}
그래픽 컴퓨터를 이용하여 조립된 전형적인 엔터테인먼트 장치들은 소정의 프로그램 및 데이터를 기록 매체로부터 판독하고 그리고 실행하고, 그리고 사용자로부터의 지시들에 따라 영상 처리 및 음향 처리를 수행한다. 이 경우의 영상 처리는 일반적으로 기하 처리 및 렌더링 처리로 구분될 수 있다.
기술에서 일반적으로 이해되고 그리고 여기서 사용되는 대로 "기하 처리"라는 용어는, 시점 좌표들에 따른 좌표 변환, 거리에 따른 원근 변환, 클리핑, 및 광원 계산이 객체 영상을 생성하는 다각형들에 대해 수행됨에 의한 처리를 의미한다. 기하 처리를 이용하면, 더 먼 객체들은 더 작고 그리고 희미하게 나타난다. 기하 처리의 결과들은 또한 "디스플레이 리스트"라고 하는 영상 디스플레이 명령으로서생성된다.
기술에서 일반적으로 이해되고 그리고 여기서 사용되는 대로 "렌더링 처리"라는 용어는, 상술한 영상 디스플레이 명령들이 영상 데이터(즉, 픽셀들 및 Z 값들을 갖는 데이터)를 영상 메모리에 그리고 그리고 드로잉의 결과들을 스크린 상의 디스플레이에 대해 소정의 신호 포맷으로 변환하도록 해석되는 처리를 의미한다. 드로잉 및 변환은 다각형의 모든 픽셀들의 컬러 및 Z 값들을 고려하여, 다각형의 각각의 정점에 할당된 컬러 데이터 및 픽셀로부터 눈의 평면으로의 거리를 지정하는 Z 값(깊이)을 사용하여 수행된다. 영상 데이터를 갖는 영상 메모리는 예를 들어, 매 1/60초마다 갱신된다. 그러므로, 객체는 스크린 상에 움직이며 나타난다.
스크린에 영상이 얼마나 빨리 표시되는 지는 영상 메모리로의 접근(판독/기록) 속도들, 즉, 렌더링 작업 동안의 드로잉 속도들에 의존한다. 영상들은 더 낮은 드로잉 속도에서 느리게 표시된다. 디스플레이 속도들을 증가시키기 위해, 높은 속도로 접근될 수 있는 큰 용량을 갖는 메모리가 사용될 수 있다. 그러나, 그러한 메모리들은 비싸고 그리고 엔터테인먼트 장치 제품들의 가격의 상승으로 이르게 된다.
본 발명은 상술한 상황들을 고려하여 생성된다. 본 발명의 목적은 높은 속도로 접근될 수 있는 메모리의 사용 없이도 더 높은 속도로 메모리로의 접근을 허락하는 향상된 메커니즘을 제공하기 위한 것이다.
본 발명은 그림 표현들을 수반하는 그래픽 컴퓨터들 및 엔터테인먼트 장치들에 적용될 수 있는 메모리 접근 기술에 관한 것이다. 더욱 명확하게, 본 발명은 다른 인터리브된 패턴들의 하나에 의해서 높은 속도로 메모리로의 접근을 허락하는 메커니즘에 관한 것이다.
도 1은 본 발명이 적용되는 엔터테인먼트 장치의 구성을 도시하는 블록 다이어그램이고;
도 2는 엔터테인먼트 장치 내의 GPU의 특정한 구성의 도이고;
도 3은 프레임 버퍼, 메모리 블록들, 및 픽셀 세그먼트들 사이의 관계를 도시하는 도이고;
도 4는 GPU 내의 제 2 버스 교환기의 구성 및 메모리 뱅크들과의 관계를 도시하는 도이고;
도 5는 MUX/DMUX의 상세한 구성의 도이고;
도 6은 PCRTC 및 제 2 버스 교환기 사이의 인터페이스를 도시하는 도이고;
도 7은 메모리 뱅크의 연결 다이어그램이고;
도 8은 통상의 인터리브 처리의 원리를 설명하는 도이고, 도 8에서 도8a는 인터리브된 패턴에 대한 뱅크 주소들을 도시하고 그리고 도 8b는 대응하는 메모리 주소들을 도시하고;
도 9는 본 발명의 실시형태에 따른 인터리브 처리의 원리를 설명하는 도이고, 도 9에서 도 9a는 뱅크 주소들을 도시하고 그리고 도 9b는 메모리 주소들을 도시하고;
도 10은 프레임 버퍼로 그려지는 제 1 다각형의 내부 경계가 어떻게 접근되는 지에 대한 도이고;
도 11은 제 1 다각형에 대해 접근될 예정인 인터리브된 패턴들을 도시하는 도이고;
도 12는 접근이 제 1 다각형에 대해 행해질 때 사용되는 차폐 처리를 설명하는 도이고;
도 13은 차폐 처리의 결과로서 접근되도록 판별되는 세그먼트들을 도시하는 도이고;
도 14는 프레임 버퍼 내의 메모리 뱅크들로 그려지는 제 2 다각형이 4 ×4 세그먼트들의 인터리브된 패턴에 의해 어떻게 접근되는 지를 설명하는 도이고;
도 15는 제 2 다각형에 대해 접근되는 인터리브된 패턴들을 도시하는 도이고, 도 15에서 각각의 인터리브된 패턴은 4 ×4 세그먼트들로 구성되고;
도 16은 접근이 4 ×4 세그먼트들의 인터리브된 패턴에 의해 제 2 다각형에 대해 행해질 때 사용된 차폐 처리를 설명하는 도이고;
도 17은 접근이 8 ×2 세그먼트들의 인터리브된 패턴에 의해 제 2 다각형에 대해 어떻게 행해지는 지를 설명하는 도이고;
도 18은 접근이 8 ×2 세그먼트들의 인터리브된 패턴에 의해 제 2 다각형에 대해 행해질 때 사용된 인터리브된 패턴들을 도시하는 도이고;
도 19는 접근이 8 ×2 세그먼트들의 인터리브된 패턴에 의해 제 2 다각형에 대해 행해질 때 차폐 처리를 설명하는 도이고;
도 20은 접근이 16 ×1 세그먼트들의 인터리브된 패턴에 의해 제 2 다각형에 대해 어떻게 행해지는 지를 설명하는 도이고;
도 21은 접근이 16 ×1 세그먼트들의 인터리브된 패턴에 의해 제 2 다각형에 대해 행해질 때 사용된 인터리브된 패턴들을 도시하는 도이고;
도 22는 접근이 16 ×1 세그먼트들의 인터리브된 패턴에 의해 제 2 다각형에 대해 행해질 때 차폐 처리를 설명하는 도이고;
도 23은 프레임 버퍼로 그려지는 다각형의 종횡비의 계산을 설명하는 도이고;
도 24는 5개의 다른 인터리브된 패턴들을 도시하는 도이고;
도 25a는 창 구획 및 인터리브된 패턴들 사이의 관계를 도시하는 도이고;
도 25b는 도 25a에서 블록(2,1)의 확대된 도이고;
도 26은 인터리브된 패턴 Pa가 선택될 때 동시에 접근되는 세그먼트들 (16 ×1)을 설명하는 도이고;
도 27은 인터리브된 패턴 Pb가 선택될 때 동시에 접근되는 세그먼트들 (8 ×2)을 설명하는 도이고;
도 28은 인터리브된 패턴 Pc가 선택될 때 동시에 접근되는 세그먼트들 (4 ×4)을 설명하는 도이고;
도 29는 인터리브된 패턴 Pd가 선택될 때 동시에 접근되는 세그먼트들 (2×8)을 설명하는 도이고;
도 30은 인터리브된 패턴 Pe가 선택될 때 동시에 접근되는 세그먼트들 (1 ×16)을 설명하는 도이고; 그리고
도 31은 테이블의 세부 내용들을 도시하는 도이다.
본 발명은 컴퓨터 상의 메모리 접근 장치를 실행하기 위해 사용되는 반도체장치, 컴퓨터 프로그램 및 기록 매체뿐만 아니라, 메모리 접근 장치, 메모리 접근 제어 방법을 제공한다.
본 발명의 메모리 접근 장치는 다른 인터리브된 패턴들의 하나에 의해서 메모리에 접근하는 메모리 접근 장치이며, 메모리는 행렬의 형태로 배열되는 다수의 메모리 세그먼트들을 가지고, 장치는: 접근을 위해 사용되는 인터리브된 패턴을 선택하는 패턴 선택 수단; 및 선택된 인터리브된 패턴에 대해 세그먼트 접근 수단에 할당되는 다수의 메모리 세그먼트들에, 메모리 세그먼트들의 주소들을 교환하는 것 없이 동시에 접근하는 세그먼트 접근 수단을 포함하고, 어느 인터리브된 패턴이 패턴 선택 수단에 의해 선택되는 지에 상관없이 세그먼트 접근 수단이, 선택된 인터리브된 패턴 내에서 다른 메모리 세그먼트들과 오버랩되지 않는 메모리 세그먼트가 할당된다.
이 메모리 접근 장치를 이용하면, 특정한 인터리브된 패턴이 또 다른 인터리브된 패턴의 장소에서 사용될 때에도 주소들을 교환하는 것은 필요하지 않다. 단일한 접근은 메모리로의 접근을 완성한다. 따라서, 접근 속도는 높은 속도로 접근될 수 있는 메모리의 사용 없이 증가된다.
여기서 사용되는 "접근"이라는 용어는 데이터를 기록하고 그리고 판독하는 것 모두를 위한 메모리로의 접근을 포함한다. 여기서 사용되는 "인터리브된 패턴"이라는 용어는 인터리브 처리에서 동시에 접근하기 위해 선택되는 메모리 세그먼트들의 조합된 패턴을 칭한다. 인터리브된 패턴들 각각은 서로 다른 조합들 내에서 다른 인터리브된 패턴들과 같은 개수의 메모리 세그먼트들을 가진다.
메모리 접근 장치가 예를 들어, 영상 처리 장치에 적용될 때 사용되는 메모리는, 메모리 세그먼트들이 픽셀 세그먼트들인 영상 메모리이다. 그러한 경우에, 패턴 선택 수단은 영상 메모리로 그려지는 영상의 모양에 적합한 인터리브된 패턴을 선택하기 위해 구성된다. 여기서 사용되는 "픽셀 세그먼트"라는 용어는 픽셀이 기록되는 메모리 영역을 의미한다. 예를 들어, 16 ×16 픽셀 세그먼트들의 배열을 갖는 영상 메모리는 256 픽셀들에 대해 사용할 수 있다. 256 픽셀들은 영상 메모리 내에서 기록될 수 있고 그리고 영상 데이터의 일부분으로서 사용될 수 있다. 패턴 선택 수단은 적당한 인터리브된 패턴으로서, 지정된 모양을 갖는 영상이 그려질 예정일 때 접근 사이클들의 개수가 최소가 되는 인터리브된 패턴을 명확히 선택한다.
영상 메모리는 다수의 메모리 블록들의 그룹에 의해 생성된다. 각각의 메모리 블록은 인터리브된 패턴에 의해 접근될 예정인 픽셀 세그먼트들을 가진다. 각각의 메모리 블록은 동시에 접근될 수 있는 개수의 메모리 뱅크들을 포함한다. 메모리 접근 장치는 접근되는 픽셀 세그먼트들이 제 1 주소 정보 및 제 2 주소 정보의 조합에 의해 지정되는 것과 같이 구성된다. 제 1 주소 정보는 메모리 블록들을 식별하는 것을 위한 것이다. 제 2 주소 정보는 메모리 뱅크 내에서 픽셀 세그먼트들을 식별하는 것을 위한 것이다. 각각의 다수의 메모리 블록들은 행렬의 형태로 배열되는 픽셀 세그먼트들을 가지고, 행렬은 열 주소들 및 행 주소들로 분할되는 주소 선들을 가진다. 제 2 주소 정보는 행 주소, 열 주소, 또는 행 주소 및 열 주소의 조합에 의해 지정된다.
인터리브 처리의 효율을 향상시키는 관점으로부터, 메모리 블록 내의 픽셀세그먼트 및 상기 메모리 블록에 할당된 메모리 뱅크 사이의 관계를 정의하는 테이블이 제공될 수 있다. 접근되는 메모리 뱅크들은 이 테이블에 근거하여 판별될 수 있다.
본 발명의 반도체 장치는 메모리에 접근하기에 적합한 컴퓨터 상에 설치된 반도체 장치이고, 메모리는 행렬의 형태로 배열되는 다수의 메모리 세그먼트들을 가지고, 반도체 장치는 컴퓨터가, 접근을 위해 사용되는 인터리브된 패턴을 선택하는 패턴 선택 수단 및 선택된 인터리브된 패턴에 대응하는 다수의 메모리 세그먼트들에 동시에 접근하는 세그먼트 접근 수단을 수립하는 것을 지시하고, 그리고 어느 인터리브된 패턴이 선택되는 지에 상관없이 선택된 인터리브된 패턴 내에 다른 메모리 세그먼트들과 오버랩되지 않는 메모리 세그먼트를 세그먼트 접근 수단으로 할당하는 것에 의해, 메모리로의 접근이 메모리 세그먼트들의 주소들을 교환하는 것 없이 다른 인터리브된 패턴들의 하나에 의해서 행해지는 것과 같은 컴퓨터를 조작하기 위해 구성된다.
본 발명의 접근 제어 방법은 컴퓨터에 의해 수행된 메모리로의 접근을 제어하는 방법이고, 접근은 다른 인터리브된 패턴들의 하나에 의해 행해지고, 메모리는 행렬의 형태로 배열되는 다수의 메모리 세그먼트들을 가지고, 방법은 어느 인터리브된 패턴이 선택되는 지에 상관없이 같은 메모리 세그먼트들이 상기 인터리브된 패턴 내에서 오버랩되지 않는 것과 같은, 접근이 동시에 행해질 수 있는 다수의 메모리 세그먼트들을 지정하는 단계; 접근을 위해 사용되는 인터리브된 패턴을 선택하는 단계; 및 다수의 메모리 세그먼트들의 주소들을 교환하는 것 없이, 선택된 인터리브된 패턴에 대해 할당되는 다수의 메모리 세그먼트들에 동시에 접근하는 단계를 포함한다.
본 발명의 컴퓨터 프로그램은 메모리 접근 장치로서 컴퓨터를 조작하기 위한 컴퓨터 프로그램이다. 본 발명의 기록 매체는 그러한 컴퓨터 프로그램이 기록되는 컴퓨터 판독가능한 기록 매체이다.
본 발명의 바람직한 실시형태는 이하에서 기술된다.
본 발명의 메모리 접근 장치 및 메모리 접근 제어 방법은 예를 들어, 도 1의 구성을 갖는 엔터테인먼트 장치에서 실행될 수 있다.
<엔터테인먼트 장치의 개요>
엔터테인먼트 장치는 사용자로부터의 지시들에 따라 요망된 영상 처리 및 음향 처리를 수행하기 위한 엔터테인먼트 목적들을 위해 컴퓨터 프로그램들을 판독하고 실행하는 일종의 컴퓨터이다. 영상 처리는 "기하 처리" 및 "렌더링 처리"로 구분될 수 있다. 이 용어들이 의미하는 것은 이상에서 기술된 대로이다. 음향 처리는 스피커 또는 유사한 부분의 장치를 통해 영상 처리와 관련하여 음성들 및 트랙들과 같은 음향들을 생성하기 위한 처리를 의미한다. 이것은 도 1에서, 음향 메모리(29)로부터 음향 데이터를 판독하고 그리고 요망된 작업들을 수행하는 음향 처리 장치(SPU; sound processing unit; 25)에 의해 행해진다.
기하 처리는 도 1에서 도시된 주 버스(1) 상에서 주 중앙 처리 장치(main CPU; main central processing unit; 11) 및 기하 전송 엔진(GTE; geometry transfer engine; 17)에 의해 주로 수행된다. GTE는 주 CPU(11)를 보조하는 처리장치이다. 렌더링 처리는 본 발명의 메모리 접근 장치의 예인 그래픽 처리 장치(GPU; graphic processing unit; 15)에 의해 주로 수행된다. GPU(15)는 프로세서(반도체 장치)를 포함한다. 프로세서 그 자체는 컴퓨터의 주요한 기능을 제공한다. 더욱 명확하게, 프로세서는 본 발명의 컴퓨터 프로그램을 판독하고 그리고 세부 내용들이 이하에서 기술되는 인터리브 처리를 수행하기 위해 그것을 실행한다. 그러므로, 통상의 비슷한 것들과 꽤 다른 독특하고 그리고 구별되는 렌더링 처리가 성취될 수 있다.
이 실시형태에서, 저렴한 영상 메모리인 DRAM을 이용하여 생성된 프레임 버퍼(18)는 렌더링 처리를 위하여 GPU(15)에 의해 접근될 예정인 메모리로서 사용된다.
엔터테인먼트 장치는 버스 제어기(16)를 이용하여 주 및 부 버스 시스템들을 연속적으로 닫고 그리고 여는 동안 작동한다. 주 버스 시스템은 주 버스(1)를 경유하여 서로 연결되는 주 CPU(11), 주 메모리(12), 주 동적 메모리 접근 제어기(main DMAC; main dynamic memory access controller; 13), MPEG 해독기("MDEC"로 약기된다)(14), 및 GPU(15)를 포함한다. 부 버스 시스템은 부 버스(2)를 경유하여 서로 연결되는 부 CPU(21), 부 메모리(22), 부 DMAC(23), 롬(ROM; read only memory; 24), SPU(25), 보조 기억 장치(27), 입력 장치(28) 및 디스크 드라이버(30)를 포함한다.
엔터테인먼트 장치가 켜질 때, 주 CPU(11)는 ROM(24)으로부터 부트 프로그램(boot program)을 로드하고 그리고 작동 시스템을 발동하기 위한 부트 프로그램을 실행시키기 시작한다. 그 다음에, 주 CPU(11)는, 다음의 작업들에 대해 요구되는 환경을 수립하기 위해 엔터테인먼트 응용 프로그램 및 다른 필요한 데이터를 보조 기억 장치(27)로부터 주 메모리(12) 및 부 버스(2)에 연결된 장치들로 로드한다. 주 CPU(11)는 그 다음에 응용 프로그램으로부터의 명령들 및 입력 장치(28)를 경유하여 공급되는 지시들에 따라 명령 패킷들을 생성한다. 이런 식으로, 주 CPU(11)는 상술한 영상 처리 및 음향 처리에 대한 제어를 수행한다.
보조 기억 장치(27)로부터 판독된 데이터가 불연속적인 코사인 변환과 같은 직각 변환을 이용한 압축 및 암호화되는 영상 데이터일 때, MDEC(14)는 데이터를 해독하고 그리고 그것들을 주 메모리(12)로 기록한다. 주 DMAC(13)는 주 버스(1)로 연결된 각각의 장치로 및 장치로부터의 DMA 전송과 같은 작업들을 제어한다. 주 DMAC(13)는 버스 제어기(16)가 열려질 때 부 버스(2)로 연결된 각각의 장치를 또한 제어한다. 부 DMAC(23)는 부 CPU(21)에 의해 제어되는 부 버스(2)로 연결된 각각의 장치로 및 장치로부터의 DMA 전송과 같은 작업들을 제어한다. 부 DMAC(23)는 버스 제어기(16)가 닫혀질 때에만 버스에 접근하는 것이 허락된다.
<GPU 구성>
GPU(15)의 예가 된 구성은 도 2에서 도시된다. 주 CPU(11) 또는 주 DMAC(13)로부터 패킷 엔진(31)으로 주 버스(1)를 경유하여 명령 패킷으로서 전송되는 영상 디스플레이 명령들에 따라, GPU(15)는 사전처리기(pre-processor)(32) 및 드로잉 엔진(33) 사이의 협력에 의해 각각의 다각형을 그리는 데 사용되는 영상 데이터를 프레임 버퍼(18)로 기록한다. 게다가, GPU(15)는 소정의 출력 포맷으로 프레임 버퍼(18)로부터 영상 데이터를 판독한다. 이 경우의 영상 데이터는 픽셀들의 조합들 또는 다른 제어 정보에 의해 표현된다. GPU(15)는 그 다음에 PCRTC(34)를 경유하여 영상 데이터에 의해 지정되는 영상을 디스플레이 스크린(도시되지 않는다)에 표시한다. PCRTC(34)는 디스플레이 스크린에 영상들을 표시하는 데 요구되는 비디오 신호들 및 알파 값들(전송 계수들)을 주 CPU로부터 수신하는 데 적합한 장치이다. PCRTC(34)는 프레임 버퍼(18) 내의 영상 데이터가 판독될 때 사용되는 디스플레이 주소들 및 다른 제어 정보(즉, 다음에 기술될 차폐 정보)를 생성하는 기능을 또한 가진다. 디스플레이 주소들에 대해, 하나의 디스플레이 주소는 각각의 디스플레이 시계에서 생성된다.
프레임 버퍼(18)는 한 집단의 메모리 블록들(도 2의 메모리 블록들 [1]에서 [X] 및 [L]까지)로 생성된다. 프레임 버퍼(18), 메모리 블록들 및 픽셀들이 기록될 예정인 픽셀 세그먼트들 사이의 관계가 도 3에서 도시된다. 더욱 명확하게, 프레임 버퍼(18)는 다수의 메모리 블록들로 분할된다. 각각의 메모리 블록은 블록 주소들(BA = 0, BA = 1, ...)에 따라 다른 것들로부터 구별된다. 각각의 메모리 블록은 m 및 n이 자연수인 2m행 2n열 픽셀 세그먼트들을 포함한다. m 및 n의 값들은 프레임 버퍼(18)가 근거하는 기준들에 의존하여, m ≤n 또는 m > n 가 될 수 있다. m = n = 4 일 때, 메모리 블록은 256 정방 픽셀 세그먼트들을 포함한다.
각각의 픽셀 세그먼트는 Xb = Xsmod 2n및 Yb = Ysmod 2m에 의해 지정되고, 도 3에서 Xb는 행 주소들을 표현하고 반면에 Yb는 열 주소를 표현한다.
프레임 버퍼(18) 내의 메모리 블록들은 디스플레이 스크린의 디스플레이 세그먼트에 대응한다. 도면으로부터 명확하듯이, 임의의 픽셀 세그먼트 내의 픽셀 G의 위치는 스크린 좌표들 (Xs, Ys)에 따라 판별될 수 있다. 상술한 영상 데이터는 그러한 픽셀 세그먼트들 내에 기록된 픽셀들의 조합으로 형성된다.
사전처리기(32)는 패킷 엔진(31)을 경유하여 주 버스(1)로부터 수신되는 영상 디스플레이 명령에 따라 다각형을 생성하는 처리를 수행한다. 게다가, 사전처리기(32)는 다각형들의 정점들의 좌표들에 대한 정보, 인터리브 처리에 대한 제어 정보, 및 드로잉 엔진(33)에 대해 필요한 다른 데이터를 생성하기 위해 소정의 방법으로 다각형들을 사전처리한다.
사전처리기(32)에 의해 제공되는 사전처리는 다음과 같다. 첫째로, 사전처리기(32)는 다각형 정점들의 좌표들 및 텍스쳐 좌표들에 근거한 주소 정보를 생성한다. 이 실시형태의 다각형 정점들의 좌표들은 [(X0, Y0), (X1, Y1), (X2, Y2)]에 있으며, 반면에 텍스쳐 좌표들은 [(U0, V0), (U1, V1), (U2, V2)]에 있다. 주소 정보는 N개의 텍스쳐 엔진들(33B1, 33B2, ..., 33BN)에 의해 처리되는 다각형에 위치하는 텍스쳐를 내다보는 데 사용된다. 사전처리기(32)는 다각형 모서리 경사, 텍스쳐 주소 경사, 및 다각형의 영역을 사용하여, 이하에서 기술되는 대로 밉맵(mipmap)에 대한 선택 정보를 그 다음에 재생한다. 이 실시형태에서, 다각형 모서리 경사는 [(X1 - X0)/(Y1 - Y0), (X2 - X0)/(Y2 - Y0), (X1 - X2)/(Y1 - Y2)]이고 그리고 텍스쳐 주소 경사는 [(U1 - U0)/(Y1 - Y0), (U2 - U0)/(Y2 - Y0), (U1 - U2)/(Y1 - Y2)], [(V1 - V0)/(Y1 - Y0), (V2 - V0)/(Y2 - Y0), (V1 - V2)/(Y1 -Y2)], 등이다. 그러한 정보는 텍스쳐 캐시(33F)에 공급된다.
그 다음에, 다각형 정점들의 좌표들, [(X0, Y0), (X1, Y1), (X2, Y2)]는 왼쪽 모서리 상의 정점들의 순서, 즉, (X0, Y0) -> (X1, Y1) -> (X2, Y2) 또는 오른쪽 모서리 상의 정점들의 순서, 즉, (X2, Y2) -> (X1, Y1) -> (X0, Y0)로 분류될 수 있다. 선택적으로, 스캐닝(scanning)이 종점들 또는 텍스쳐 주소에 대해 행해질 수 있다.
사전처리기(32)는 이상에서 기술된 사전처리에 의해 얻어진 정보를 도시되지 않는 워크 메모리(work memory)에 저장한다. 드로잉 엔진(33)이 다음의 다각형을 처리하는 데 준비가 되어 있을 때, 사전처리기(32)는 이 단일 다각형을 처리하는 데 필요한 정보를 워크 메모리로부터 N개의 다각형 엔진들(33A1, 33A2, ..., 33AN)로 전송한다. 이것에 응답하여, 드로잉 엔진(33)은 새 다각형의 드로잉을 시작한다. 이 작업들은 모든 다각형들에 대해 반복된다.
드로잉 엔진(33)은 N개의 다각형 엔진들(33A1, 33A2, ..., 33AN), N개의 텍스쳐 엔진들(33B1, 33B2, ..., 33BN), 제 1 버스 교환기(33C), M개의 픽셀 엔진들 (33D1, 33D2, ..., 33DM), 제 2 버스 교환기(33E), 텍스쳐 캐시(33F), 및 컬러 조사 테이블(CLUT; color look-up table) 캐시(33G)를 포함한다. 다각형 엔진들 (33A1, 33A2, ..., 33AN)은 사전처리기(32)로 연결된다. 텍스쳐 엔진들(33B1, 33B2, ..., 33BN)은 각각 다각형 엔진들(33A1, 33A2, ..., 33AN)로 연결된다. 제 1 버스 교환기(33C)는 텍스쳐 엔진(33B1, 33B2, ..., 33BN)으로 연결된다. 픽셀 엔진들(33D1, 33D2, ..., 33DM)은 제 1 버스 교환기(33C)로 연결된다. 제 2 버스 교환기(33E)는 픽셀 엔진들(33D1, 33D2, ..., 33DM) 각각으로 연결된다. 텍스쳐 캐시(33F)는 제 2 버스 교환기(33E)로 연결된다. CLUT 캐시(33G)는 텍스쳐 캐시(33F)로 연결된다.
N개의 다각형 엔진들(33A1, 33A2, ..., 33AN)은 사전처리기(32)에 의해 사전처리되는 다각형 데이터를 사용하여 영상 디스플레이 명령들에 따라 다각형들을 연속적으로 생성한다. 다각형 엔진들(33A1, 33A2, ..., 33AN)은 그 다음에 예를 들어, 생성된 각각의 다각형에 대한 음영의 병렬 처리를 수행한다.
N개의 텍스쳐 엔진들(33B1, 33B2, ..., 33BN)은 CLUT 캐시(33G)를 경유하여 텍스쳐 캐시(33F)로부터 제공되는 텍스쳐 데이터를 사용하여 다각형 엔진들(33A1, 33A2, ..., 33AN)에 의해 생성되는 각각의 다각형에 대해 병렬로 텍스쳐 매핑 및 밉맵 작업들을 수행한다. "텍스쳐 매핑"은 텍스쳐 소스 영상, 즉, 텍스쳐 패턴으로서 분리되어 준비된 2D 영상(그림)을 다각형의 표면으로 위치시키는 기술이다. "밉매핑(mipmapping)"은 픽셀들을 더 낮은 해상도로 삽입하는 것에 의해 3D 객체가 움직일 때 다른 거리들에서 좋아 보이는 텍스쳐들을 생성하는 기술이다.
텍스쳐 캐시(33F)는 사전처리기(32)로부터 사전에 주소 정보가 공급된다. 이 주소 정보는 N개의 텍스쳐 엔진들(33B1, 33B2, ..., 33BN)에 의해 처리되는 다각형에 위치하는 텍스쳐 패턴을 갖는 텍스쳐 세그먼트와 관련이 있다. 텍스쳐 매핑에 대해 필요한 데이터는 이 주소 정보에 따라 프레임 버퍼(18)의 텍스쳐 세그먼트로부터 전송된다. 게다가, 밉매핑에 대해 필요한 해상도를 갖는 데이터만이 모든 관련된 데이터로부터 선택되고 그리고 밉맵 텍스쳐 데이터로서 전송된다. CLUT캐시(33G)는 CLUT 데이터가 프레임 버퍼(18)의 CLUT 세그먼트로부터 공급된다. CLUT 데이터는 다각형을 그리는 데 조사될 예정이다.
N개의 텍스쳐 엔진들(33B1, 33B2, ..., 33BN)에 의해 이미 텍스쳐 매핑 및 밉매핑되는 다각형은 M개의 픽셀 엔진들(33D1, 33D2, ..., 33DM)로 제 1 버스 교환기(33C)를 경유하여 전송된다. 픽셀 엔진들(33D1, 33D2, ..., 33DM) 각각은 표현되는 영상의 깊이를 제공하기 위해 공지의 Z 버퍼 처리 및 안티알리아싱(anti-alising)과 같은, 다양한 종류들의 병렬 영상 처리를 수행한다. 픽셀 엔진들(33D1, 33D2, ..., 33DM)은 그 다음에 M개의 픽셀들을 생성한다. 각각의 픽셀은 제 2 버스 교환기(33E)를 경유하여 프레임 버퍼(18)로 필요한 대로 기록된다. 제 2 버스 교환기(33E)는 사전처리기(32)로부터 인터리브 처리에 대한 제어 정보가 공급된다.
(인터리브 처리)
인터리브 처리는 인터리브된 패턴들의 하나에 의해 (이 실시형태에서, 픽셀들을 기록하고 그리고 판독하는) 프레임 버퍼(18)에 접근하는 처리이다. 인터리브 처리는 드로잉 엔진(33)에 의해 수행된다. 예를 들어, 픽셀을 기록하기 위해, 대상 다각형의 모양에 적합한 2 이상의 픽셀들은 프레임 버퍼(18)로 동시에 기록될 수 있다.
이 실시형태에 따른 인터리브 처리는 이제 상세하게 기술된다.
편의를 위해, 상술한 "m" 및 "n"은 "4"라고 가정하고 즉, 프레임 버퍼(18)의 단일한 메모리 블록은 대상 영상의 일부분을 표현하기 위해 16 ×16 픽셀들을 수신하는 용량을 갖는다.
첫째로, 인터리브 처리 및 프레임 버퍼(18)와의 관계를 제공하는 제 2 버스 교환기(33E)의 예시적 구성이 기술된다.
도 4에서 도시되는 것처럼, 제 2 버스 교환기(33E)는 제어 회로(101), 선택기(102), 및 멀티플렉서/디멀티플렉서들(이하,"MUX/DMUXs"라 한다; multiplexer/demultiplexers; 103a, 103b, ..., 103p)을 포함한다. 제어 회로(101)는 사전처리기(32)로부터의 지시에 따라 픽셀 기록 주소를 생성하는 데 적합하다. 선택기(102)는 필요한 픽셀 엔진들(33D1, 33D2, 33D3, ..., 33DM)이 제어 회로(101)로부터 공급된 픽셀 기록 주소 및 PCRTC(34;도 2 참조)로부터 공급된 디스플레이 주소를 사용하여 작동하게 할 수 있다. MUX/DMUXs가 어떻게 사용되는 지의 예가 도 5에서 도시된다.
사전처리기(32) 및 제어 회로(101)는 본 발명의 패턴 선택 수단을 제공하는 데 기여한다. 픽셀 엔진(33D1 등) 및 선택기(102)는 세그먼트 접근 수단을 제공하는 것을 돕는다.
MUX/DMUXs(103a, 103b, ..., 103p) 각각은 메모리 블록들 [1], [2], ..., [X], ..., [L] (도 4에서 도시된 예의 메모리 블록[X]) 중 1개에서 메모리 뱅크들(A0 내지 A15)로의 선택 접근을 허락하는 16개의 입력/출력 포트들을 포함한다.
하나의 디스플레이 주소는 각각의 디스플레이 시계에서 PCRTC(34)로부터 생성되기 때문에, 다수의 디스플레이 시계들을 이용하여 표현되는 영상을 표시하기 위해 몇몇의 시계들에 대한 디스플레이 주소들을 저장하고 그리고 프레임 버퍼(18)로의 동시 접근을 허락하는 것이 필요하다. 이 점에 대해, 도 6에서 도시되는 것처럼, 제 2 버스 교환기(33E)는 시프트 레지스터(shift register)에 (도면에서 "X, Y"에 의해 표현되는) 디스플레이 주소들을 저장한다. 소정의 개수의 디스플레이 주소들이 시프트 레지스터에 저장될 때, 멀티플렉서(MUX)는 시프트 레지스터로부터 디스플레이 주소들을 판독하고 그리고 선택기(102)를 경유하여 그것들을 생성한다. 도 6의 MUX는 선택기(102)에 포함되는 구성요소이다.
도 4로 되돌아가면, 선택기(102)는 디스플레이 주소 및 픽셀 기록 주소를 사용하여 대상 메모리 블록을 기능하게 하는 블록 주소(BA)를 생성한다. 선택기(102)는 블록 주소(BA)를 이용하여 지정되는 메모리 블록의 메모리 뱅크들에 대응하는 픽셀 엔진들(33D1, 33D2, 33D3, ..., 33DM)을 선택적으로 기능하게 하는 데 사용되는 메모리 주소들(X0, Y0 내지 X15, Y15)을 또한 생성한다.
픽셀 엔진들(33D1, 33D2, 33D3, ..., 33DM) 각각은 주소들을 계산하는 맵 계산 장치(MAP calculation unit)를 포함한다. 그것은 선택기(102)로부터 수신된 상술한 메모리 주소들(X0, Y0 내지 X15, Y15) 및 PCRTC(34)로부터 수신된 RGB신호들(RGB0 내지 RGB15)에 근거하여, 메모리 뱅크들을 선택하기 위해 선택 정보(A(X0, Y0) 내지 A(X15, Y15)) 및 Y 주소들(Y0 내지 Y15)을 생성하고, 그리고 차폐 신호들(MASK0 내지 MASK15)을 MUX/DMUXs(103a, 103b, ..., 103p)로 생성한다.
선택 정보 A(X,Y)는 어느 픽셀 엔진들(33D1, 33D2, 33D3, ..., 33DM)로부터 어느 픽셀들이 어느 메모리 뱅크로 기록되는 지를 지정하기 위한 정보이다.
차폐 신호(MASK)는 주어진 메모리 뱅크를 차폐하기 위한 신호이다. 메모리뱅크가 차폐될 때, 어느 픽셀도 그것 안에 기록될 수 없다.
Y 주소들(Y0 내지 Y15)은 기록이 메모리 뱅크 내에서 행해지는 위치를 지정하는 주소 정보이다. 인터리브 처리에 대한 메모리 블록의 주소 정보에 관하여, 메모리 블록이 행렬의 형태로 배열되는 메모리 뱅크들로 생성될 때 2개 이상의 주소들은 단일한 메모리 뱅크 내에서 요구된다. 이에 반하여, 접근되는 범위는 이 실시형태에 따라 인터리브 처리에서 각각의 메모리 뱅크에 대해 단일한 주소를 이용하여 지정될 수 있다. 이것은 같은 메모리 뱅크가 단일한 인터리브된 패턴에서 결코 과다하게 기능하게 되지 않기 때문이다. 이 실시형태에서, 이 주소는 "Y 주소"로서 사용된다. Y 주소는 메모리에 접근하기 위한 주소 지정 작업을 단순화한다. Y 주소는 렌더링 처리에서 각각의 인터리브된 패턴에 대해 맵 계산 장치에 의해 계산된다.
각각의 메모리 블록은 도 7에서 도시된 것처럼, 높은 주소(높은 A)로서 블록 주소(BA)가 공급된다. 상술한 Y 주소는 블록 주소(BA)를 이용하여 지명되는 메모리 블록에 메모리 뱅크들(A0 내지 A15) 내의 위치를 지정하기 위해 낮은 주소(낮은 A)로서 메모리 블록으로 공급된다. 다른 말로, 이 두 주소들은 메모리 블록 내의 어느 픽셀 위치가 기능하게 되어야 하는 지를 지정하는 데 사용되어질 수 있다. RGB 신호는 각각의 메모리 블록의 데이터 말단으로 공급되고, 반면 차폐 신호(MASK)가 그것의 기능하는 말단으로 기능하는 신호로서 공급된다.
도 4에서, 메모리 블록 [X]와 다른 메모리 블록들은 설명의 목적을 위해 도시되지 않는다. 그러나, 이 나머지 메모리 블록들은 메모리 블록 [X]와 구성에서유사하다는 것이 이해되어야 한다.
픽셀들을 기록하는 것에서, MUX/DMUXs(103a, 103b, ..., 103p) 각각은 Y 주소(Y), 차폐 신호(MASK) 및 RGB 신호(RGB)를 선택 정보(A(X, Y))에 따라 각각의 메모리 블록으로 공급한다. 픽셀들을 판독하는 것에서, MUX/DMUXs(103a, 103b, ..., 103p) 각각은 또한 선택 정보 A(X, Y)에 따라 디스플레이에 대한 RGB 신호(ORGB)를 PCRTC(34)로 공급한다.
다음으로, 상술한 드로잉 엔진(33)에 의해 수행되는 본 실시형태의 인터리브 처리의 원리는 통상의 인터리브 처리와의 차이와 관련하여 기술된다. 편의를 위해, 통상의 인터리브 처리는 16개의 메모리 뱅크들(A0 내지 A15)을 이용한 본 실시형태로서 같은 조건에 근거한 것으로 가정된다.
도 8a에서, 대각선들을 갖는 세그먼트들은 통상의 인터리브 처리를 성취하기 위해 동시에 지정되는 메모리 뱅크들이다. 이것은 픽셀들이 2행 및 8열의 배열의 형태로 세그먼트들로 기록되는 예를 가리킨다.
통상의 인터리브 처리에서, 접근되는 메모리 블록 내의 주소들(메모리 주소들)은 인터리브된 패턴에 의존하여 자동적으로 판별된다. 다른 말로, 인터리브된 패턴이 변경될 때, 접근되는 메모리 블록 내에서 메모리 주소들을 적절히 변경하는 것이 필요하다. 도 8b에서, 메모리 주소들은 "0, 0, 0, ...,", "1, 1, 1, ...,", "2, 2, 2, ...,"에 의해 가리켜진다. 대각선들을 갖는 세그먼트들(메모리 주소 "0")은 도 8a에서 인터리브된 패턴과 일대일 대응한다. 이상으로부터 명확하듯이, 인터리브된 패턴 및 메모리 블록 내의 메모리 주소들 사이의 관계는 통상의 인터리브 처리에서 고정된다. 다른 인터리브된 패턴들을 갖는 메모리 블록으로 접근하는 시도는 단일한 메모리 뱅크에 접근하는 데 사용되는 다수의 메모리 주소들을 요구한다. 이것은 접근들의 개수를 소모한다.
이에 반하여, 본 실시형태의 인터리브 처리는 도 9b에서 도시되는 대로, 다른 인터리브된 패턴들에 대해서도 메모리 블록 내의 메모리 주소를 변경하지 않는다. 접근되는 메모리 블록 내의 영역은 각각의 인터리브된 패턴에 대해 상술한 "Y 주소"를 이용하여 고유하게 지정된다. 메모리 뱅크들(A0 내지 A15)은 어느 인터리브된 패턴이 사용되는 지에 상관없이 같은 인터리브된 패턴 내에서 오버랩되지 않기 때문에 그러한 작업이 실현가능하다. 따라서, 본 실시형태의 인터리브 처리는 메모리 주소들을 교환하는 것을 요구하지 않는다. 오직 단일한 접근이 적절히 행해진다.
도 9a의 점선들에 의해 경계지어지는 부분은 도 8a에서 도시되는 경우와 같이 동일한 인터리브된 패턴에 대해 기능하게 되는 메모리 뱅크들(A0 내지 A15)에 대응한다. 도 9b에서 점선들에 의해 경계지어지는 부분은 이 경우에 메모리 주소들을 가리킨다.
(인터리브된 패턴의 선택)
인터리브 처리에 대해, 다각형의 모양에 의존하여 적합한 인터리브된 패턴을 선택하는 것이 필요하다. 이 실시형태에서, 다각형이 최소 개수의 접근들에 의해 그려질 수 있는 인터리브된 패턴이 최적의 인터리브된 패턴으로서 선택된다. 선택이 어떻게 행해지는 지는 이하에서 기술된다.
첫째로, 메모리 블록으로의 접근은 도 10에서 도시된 대로 삼각형(TABC)이 그려질 예정인 경우와 관련하여 기술된다. 도 10에서, X 및 Y 방향들에서의 개수들은 메모리 블록이 4 ×4 픽셀들의 인터리브된 패턴을 사용하여 접근될 때 각각의 인터리브된 패턴에서 접근의 위치들을 가리키는 주소들에 대응한다. 인터리브된 패턴을 사용하는 접근의 관련된 위치는 P(x, y)에 존재한다. 각각의 인터리브된 패턴의 16개의 픽셀들에 대한 세그먼트들은 상술한 16개의 메모리 뱅크들(A0 내지 A15)에 대응한다.
제어 회로(101)는 첫째로 메모리 블록 내의 삼각형(TABC)을 그리기 위해 접근되는 세그먼트들을 지정한다.
도 10의 삼각형(TABC)은 20개의 세그먼트들과 관련이 있다. 그것들은 도 11로부터 명확하듯이, P(x, y) = P(3, 1), P(4, 1), P(1, 2), P(2, 2), P(3, 2), P(4, 2), P(1, 3), P(2, 3), P(3, 3), P(4, 3), P(5, 3), P(2, 4), P(3, 4), P(4, 4), P(5, 4), P(3, 5), P(4, 5), P(5, 5), P(4, 6), 및 P(5, 6)이다. 제어 회로(101)는 이상에서 기술된 방법으로 탐지되는 20개의 세그먼트들로의 접근을 허락하기 위해 픽셀 기록 주소를 선택기(102)로 공급한다.
선택기(102)는 제어 회로(101)로부터 공급된 픽셀 기록 주소를 사용하여, 접근되는 세그먼트들을 기능하게 하는 픽셀 엔진을 선택한다. 게다가, PCRTC(34)로부터의 차폐 정보(MASK)에 따라, 선택기(102)는 차폐되어져야 하는 픽셀 엔진을 지정한다. 예를 들어, 도 12의 세그먼트 P(4, 1)에 대응하는 메모리 뱅크들(A0 내지 A15)에서 차폐된 것들과 다른 메모리 뱅크들은 세그먼트 P(4, 1)의 확대된 도인 도13에서 (대각선들을 갖는) A4, A5, A6, A8, A9, A10, A12, A13, 및 A14이다. 픽셀 엔진은 이 뱅크들이 동시에 선택될 수 있도록 선택된다.
선택된 픽셀 엔진은 선택 정보 A(X, Y), Y 주소, 차폐 정보(MASK), 및 기록되는 RGB 신호를 관련된 MUX/DMUXs로 공급한다. 각각의 MUX/DMUX는 픽셀 엔진으로부터 메모리 뱅크들로의 접근을 허락하기 위해 입력/출력 포트를 경유하여, 공급된 정보에 의해 지정된 픽셀 엔진 및 메모리 뱅크들을 연결한다. 그러므로, 도 10에서 도시된 대로 삼각형(TABC)이 그려질 수 있다.
다음에, 접근 사이클들의 개수가 각각의 인터리브된 패턴에 대해 어떻게 탐지될 수 있는 지가 기술된다. 이 예에서의 다각형의 모양은 도 14에서 도시된 것처럼 연장된 삼각형(TDEF)이다.
(4 ×4의 인터리브된 패턴)
도 15로부터 명확하듯이, 관련된 세그먼트들은 다음의 17개이다: P(x, y) = P(1, 1), P(2, 1), P(3, 1), P(4, 1), P(5, 1), P(0, 2), P(1, 2), P(2, 2), P(3, 2), P(4, 2), P(5, 2), P(6, 2), P(7, 2), P(8, 2), P(7, 3), P(8, 3), 및 P(9, 3). 더욱 명확하게, 접근 사이클들의 개수는 (4 ×4)의 인터리브된 패턴(P)을 사용하여 삼각형(TDEF)을 그리는 17개와 같다. 접근되도록 요구되지 않는 인터리브된 패턴(P) 내의 메모리 뱅크들을 차폐하는 것에 의해, 접근되어지는 메모리 뱅크들은 도 16의 점선들에 의해 가리켜지는 것들이다.
(8 ×2의 인터리브된 패턴)
(8 ×2)의 인터리브된 패턴(P1)을 사용하여 도 17에서 도시된 삼각형(TDEF)에 접근하기 위해, 관련된 세그먼트들은 도 18로부터 명확하듯이, 다음의 16개이다: P1(x, y) = P1(1, 2), P1(2, 2), P1(0, 3), P1(1, 3), P1(2, 3), P1(0, 4), P1(1, 4), P1(2, 4), P1(3, 4), P1(1, 5), P1(2, 5), P1(3, 5), P1(4, 5), P1(5, 5), P1(3, 6), 및 P1(4, 6). 더욱 명확하게, 접근 사이클들의 개수는, 삼각형(TDEF)이 삼각형(TDEF)의 전체 영역에 접근하는 (8 ×2)의 인터리브된 패턴을 사용하여 접근될 때 16개와 같다. 이 인터리브된 패턴(P1) 내의 메모리 뱅크들을 차폐한 이후에, 접근되어지는 메모리 뱅크들은 도 19의 점선들에 의해 가리켜지는 것들이다.
(16 ×1의 패턴)
도 20에서 도시된 것처럼, (16 ×1)의 인터리브된 패턴(P2)을 사용하여 삼각형(TDEF)에 접근하기 위해, 관련된 세그먼트들은 도 21로부터 명확하듯이, 다음의 18개이다: P2(x, y) = P2(0, 5), P2(1, 5), P2(0, 6), P2(1, 6), P2(0, 7), P2(1, 7), P2(0, 8), P2(1, 8), P2(0, 9), P2(1, 9), P2(0, 10), P2(1, 10), P2(2, 10), P2(1, 11), P2(2, 11), P2(1, 12), P2(2, 12), 및 P2(2, 13). 더욱 명확하게, (16 ×1)의 인터리브된 패턴을 사용하여 삼각형(TDEF)의 전체 영역에 접근하기 위해, 접근 사이클들의 개수는 인터리브된 패턴(P2)을 사용하여 삼각형(TDEF)의 전체 영역에 접근하는 18개와 같다. 이 인터리브된 패턴(P2) 내의 메모리 뱅크들을 차폐한 이후에, 접근되어지는 메모리 뱅크들은 도 22에서 가리켜지는 것들이다.
이상으로부터 명확하듯이, 삼각형(TDEF)에 접근하는 접근 사이클들의 개수는 (4 ×4)의 인터리브된 패턴(P)을 이용하면 17개와 같다. 삼각형(TDEF)에 접근하는접근 사이클들의 개수는 (8 ×2)의 인터리브된 패턴(P1)을 이용하면 16개와 같다. 삼각형(TDEF)에 접근하는 접근 사이클들의 개수는 (16 ×1)의 인터리브된 패턴(P2)을 이용하면 18개와 같다. 이것은 (8 ×2)의 인터리브된 패턴(P1)이 사용될 때 접근 사이클들의 개수가 삼각형(TDEF)의 접근에 대해 최소가 된다는 것을 가리킨다. 따라서, (8 ×2)의 인터리브된 패턴(P1)은 삼각형(TDEF)에 대한 적합한 인터리브된 패턴으로서 고려될 수 있다.
제어 회로(101)는 인터리브된 패턴을 그려지는 다각형에 대해 적합한 것으로 교환하는 다음의 작업들을 수행한다.
예를 들어, 메모리 블록[X] 내에 기록될 예정인 다각형이 도 23에서 도시되는 것처럼 삼각형(THIJ)일 때, 사전처리기(32)로부터 공급되는 인터리브 제어 정보는 삼각형(THIJ)의 3개의 정점들 H, I, 및 J의 x 및 y 좌표들, H(xh, yh), I(xi, yi), 및 J(xj, yj)를 포함하는 정보이다. 제어 회로(101)는 다음 수식에 따라 x 방향의 최대 및 최소 값들 MAXx 및 MINx, 및 y 방향의 최대 및 최소 값들 MAXy 및 MINy를 사용하여 삼각형(THIJ)의 종횡비(R)를 계산하기 위해 이 인터리브 제어 회로를 사용한다:
R = dy/dx = (MAXy - MINy)/(MAXx - MINx).
도 23에서 도시된 예에서, MAXx = xj, MINx = xi, MAXy = yh, 및 MINy = yi이다.
제어 회로(101)는 적합한 인터리브된 패턴으로서 종횡비가 종횡비 R에 가장 가까운 인터리브된 패턴을 선택한다. 선택은 도 24에서 도시된 것처럼 (1 ×16), (2 ×8), (4 ×4), (8 ×2), 및 (16 ×1)의 5개의 인터리브된 패턴들(Pa 내지 Pe)로부터 행해진다. 제어 회로(101)는 그 다음에 삼각형(THIJ)에 접근하는 데 사용되는 인터리브된 패턴을 선택된 인터리브된 패턴으로 교환한다.
종횡비 R을 사용하여 최적의 인터리브된 패턴을 선택하기 위해, 다음의 테이블이 사용될 수 있다.
종횡비 R 인터리브된 패턴
< 0.1 Pa(16 ×1)
0.1 - 0.5 Pb(8 ×2)
0.5 - 2.0 Pc(4 ×4)
2.0 - 8.0 Pd(2 ×8)
> 8.0 Pe(1 ×16)
이상으로부터 명확하듯이, 제 2 버스 교환기(33E)는 그려지는 다각형의 모양에 의존하여, 도 24에서 도시되는 5개의 인터리브된 패턴들(Pa 내지 Pe)로부터 적합한 인터리브된 패턴을 선택한다. 선택된 인터리브된 패턴이 메모리 블록[X]으로의 접근에 대해 사용되기 때문에 다각형은 최소 개수의 접근 사이클들로 메모리 블록[X] 내에 그려질 수 있다. 이 작업은 더욱 효율적인 메모리 접근을 제공한다. GPU(15)는 상술한 특징들을 갖는 제 2 버스 교환기(33E)때문에 영상들이 디스플레이 스크린에 그려지는 속도를 증가시킬 수 있다.
다음에, 선택된 인터리브된 패턴을 사용하는 인터리브 처리의 세부 내용들이 기술된다. 도 25a는 인터리브된 패턴(Pc) 및 도 24에서 도시된 인터리브된 패턴(Pc)을 이용하여 생성되는 실제적인 스크린 상의 디스플레이 세그먼트들 사이의 관계를 도시한다.
도 3과 관련하여 이상에서 기술되는 것처럼, 이 실시형태의 프레임 버퍼(18)는 디스플레이 스크린의 디스플레이 세그먼트들에 대응하는 다수의 메모리 블록들을 갖는다. 각각의 메모리 블록은 디스플레이 스크린의 좌상 코너에 원점을 갖는 주소들 즉, x 좌표(PIXH) 및 y 좌표(PIXV)에 의해 지정된다. 예를 들어, 도 25a에서 도시된 삼각형과 오버랩되는 (대각선들을 갖는) 메모리 블록은 "2"의 x 좌표 및 "1"의 y 좌표를 갖는다. 따라서, 이 메모리 블록은 (2, 1)에 의해 가리켜진 주소를 갖는다. 도 25a에서 도시된 메모리 블록 (2, 1)은 도 25b에서 확대된다. 도 25a는 도 3의 상부 도에 대응하고, 그리고 도 25b에서 도시된 메모리 블록의 확대된 도는 도 3의 하부 도에 대응한다.
인터리브 처리는 각각의 메모리 블록에 대해 수행될 수 있다. 이 사건에서, 메모리 뱅크를 할당하는 각각의 인터리브된 패턴에 대해 각각의 메모리 블록 내에서 16개의 픽셀 엔진들을 선택적으로 기능하게 하는 것이 필요하다. 이 목적을 위한 과정은 도 26 내지 31을 참조하여 기술된다.
도 26 내지 30에서, 숫자 "0"은 픽셀 엔진 0을 가리키고, 숫자 "1"은 픽셀 엔진 1을 가리키고, 그리고 숫자 "15"는 픽셀 엔진 15를 가리키고, 등등이다. 픽셀 엔진들과 관련된 정보는 그렇게 가리켜진다.
도 26 내지 30은 인터리브된 패턴들(Pa 내지 Pe)이 선택될 때 픽셀 엔진들 및 픽셀들 사이의 관계를 도시하는 도들이다. 더욱 명확하게, 인터리브된 패턴(Pa)이 선택될 때, 기능하게 되는 픽셀들은 도 26에서 도시된 대로 "0 내지 15"에 의해 지정되는 16 ×1 픽셀들의 영역의 픽셀들이다. 16개 픽셀 엔진들은 인터리브의 단위로서 사용되는 이 영역을 이용하여 기능하게 되고 그리고 그것들의 관련된 메모리 뱅크들이 할당된다.
이상으로부터 명확하듯이, 선택된 인터리브된 패턴에 의존하여 16개 픽셀들을 동시에 메모리 블록으로 기록하기 위해, 기능하게 되는 16개 픽셀 엔진들을 다른 메모리 뱅크들로 할당하는 것이 필요하다. 이것은, 픽셀들이 다른 인터리브된 패턴들을 사용하여 동시에 접근될 수 없기 때문에 통상의 메모리 뱅크 할당(즉, 도 8에서 도시된 것)에 의해 성취될 수 없다.
이 실시형태는 어느 인터리브된 패턴이 선택되는 지에 상관없이 문제점들 없이 빠른 인터리브 처리를 제공하기 위해 소정의 규칙에 따라 메모리 블록들 및 메모리 뱅크들 사이의 관계를 판별한다. 예는 도 31에서 도시된다.
도 31은 인터리브된 패턴들(Pa 내지 Pe)의 어느 하나로 똑같이 적용될 수 있는 메모리 뱅크들의 할당의 예를 도시한다. 세그먼트들 내의 숫자들은 메모리 뱅크들에 대한 식별 숫자들이다(1 내지 15 = A0 내지 A15). 이 방법으로 메모리 뱅크들을 할당하는 것에 의해, 메모리 뱅크들은 인터리브된 패턴들(Pa 내지 Pe) 중 어느 것이 사용되는 지에 상관없이 단일한 인터리브된 패턴 내에서 오버랩되지 않는다.
도 31에서, 인터리브된 패턴(Pa)을 사용하여 동시에 접근되는 세그먼트들은 영역 I1로서 가리켜진다. 영역 I1은 서로 오버랩되는 것 없이 배열되는 16개 메모리 뱅크들(A0 내지 A15)을 갖는다. 인터리브된 패턴(Pb)을 사용하여 동시에 접근되는 세그먼트들을 포함하는 영역 I2 내에서, 16개 메모리 뱅크들(A0 내지 A15)은 오버랩 없이 영역 I2 내에서 배열된다. 게다가, 인터리브된 패턴들 Pc 내지 Pe를 사용하여 동시에 접근되는 세그먼트를 포함하는 영역들 I3 내지 I5 내에서, 각각, 16개 메모리 뱅크들(A0 내지 A15)은 오버랩 없이 배열된다. 그러므로, 16개 픽셀들은 효율적인 인터리브 처리를 제공하며, 다른 인터리브된 패턴들이 선택될 때에도 동시에 접근될 수 있다.
이 실시형태에서, 메모리 블록은 기록되는 24×24픽셀들을 허락하는 용량을 갖는다. 16개 픽셀들은 단일한 인터리브된 패턴을 사용하여 동시에 기록된다. 그러나, 본 발명은 그러한 경우들에 제한되지 않는다. 2m×2n픽셀들에 대한 메모리 뱅크들의 할당은 예로서 이하에서 기술된다.
메모리 뱅크들을 기능하게 하는 선택 정보 A(X, Y)는 다음 규칙에 따라 주어진다.
* m ≤n에 대해, 그것은 2진수 시스템으로 표현되고,
X mod 2n= 20×i[0] + 21×i[1] + ... + 2n-1×i[n-1]
= ∑2k×i[k] (i[k]: 0 or 1)
Y mod 2n= 20×j[0] + 21×j[1] + ... + 2n-1×j[n-1]
= ∑2k×j[k] (j[k]: 0 or 1), 그리고 그 다음에,
A(X, Y) = ∑2k×(i[k] xor j[n-1-k])가 적용되고,
상기 수식 내에서 i,j는 상기 비트의 무게를 표현하고, ∑는 k = 0으로부터 k = n-1까지의 합을 표현하고, 그리고 XOR은 배타적 OR을 표현한다.
* m > n에 대해, 그것은 2진수 시스템으로 표현되고,
X mod 2m= 20×i[0] + 21×i[1] + ... + 2m-1×i[m-1]
= ∑2k×i[k] (i[k]: 0 or 1)
Y mod 2m= 20×j[0] + 21×j[1] + ... + 2m-1×j[m-1]
= ∑2k×j[k] (j[k]: 0 or 1)
A(X,Y) = ∑2k×(i[k] xor j[m-1-k])가 적용되고,
상기 수식 내에서 i,j는 상기 비트의 무게를 표현하고, ∑는 k = 0으로부터 k = m-1까지의 합을 표현하고, 그리고 XOR은 배타적 OR을 표현한다.
예를 들어, 대각선들을 갖는 도 31에서 도시된 픽셀 G의 주소 (9, 8)은 m이 n과 같을 때 규칙에 적용되고, 즉, "9"는 "X"에 대입되고 그리고 "8"은 "Y"에 대입되고 그리고 결과는 2진수 시스템으로 표현되고, 그 다음에
X = 9에 대해, i(3)은 1과 같고, i(2)는 0과 같고, i(1)은 0과 같고, 그리고 i(0)은 1과 같고, 그리고
Y = 8에 대해, j(3)은 1과 같고, j(2)는 0과 같고, j(1)은 0과 같고, 그리고 j(0)은 0과 같다. 따라서, X = 1001b 및 Y = 1000b가 주어질 수 있다.
숫자들 "1000" 및 "1001"은 2진수들이다. 접미사 "b"는 그것들이 2진수 시스템으로 표현된다는 것을 가리킨다.
Y = ∑2k×j[k]에 대해, ∑2k×j[n-1-k]는 "인버스(inverse) Y"가 되고, 인버스 Y는 Y =1000b일 때 "0001b"로서 표현될 수 있다.
따라서, A(9,8) = (1001b) xor (0001b) = 1000b = 8이 적용된다. 이것은 도 31의 주소 A(9, 8)을 갖는 픽셀 G에 대한 메모리 뱅크의 식별 심벌(= 8: A8)과 일치한다.
상술한 계산은 선택 정보 A(X, Y)를 판별하기 위해 모든 메모리 뱅크들에 대해 반복된다. 이것은 도 31에서 도시되는 테이블에 귀착한다. 테이블을 사용하여, 메모리 뱅크들은 모든 인터리브된 패턴들 내에서 오버랩 없이 할당된다. 제 2 버스 교환기(33E)는 오직 그려지는 다각형의 모양에 대한 필요한 인터리브된 패턴을 판별하기 위해 요구된다. 그러므로, 인터리브 처리는 더욱 효율적으로 수행될 수 있다.
상술한 메커니즘은 메모리로의 접근 속도를 증가시킨다. 프레임 버퍼(18)는 반드시 높은 속도 메모리로 구성되지는 않는다. 처리 속도는 그것에 대한 비용들을 희생하지 않고 증가될 수 있다.
이 실시형태에서, 독특하고 그리고 창의적인 인터리브 처리가 제 2 버스 교환기(33E)를 사용하여 성취된다. 그러나, 제 2 버스 교환기(33E)와 유사한 기능들을 갖는 또 다른 장치 구성 또는 장치는 이 실시형태대로 본 발명을 성취하는 데 사용되어질 수 있다. 인터리브 처리는 최적의 하드웨어 구성요소들의 조합에 의해, 최적의 소프트웨어 처리에 의해, 또는 그것들 양자의 조합에 의해 실행될 수 있다.
이상의 기술은 픽셀들이 메모리에 기록되는 경우와 관련하여 그렇게 행해져오는 동안, 본 발명은 오직 상술한 픽셀 기록 주소를 디스플레이 주소로 대체하는 것에 의해 픽셀들의 기록에 또한 적용될 수 있다.
이상의 기술은 엔터테인먼트 장치에서의 영상 처리, 특히, 렌더링 작업들 동안의 영상 메모리로의 접근과 관련하여 행해져 오는 동안, 본 발명은 그러한 영상 메모리들을 이용한 적용들에 제한되지 않는다. 본 발명은 텍스트 데이터 및 다른 데이터에 대한 어떤 메모리 접근 작업들에도 적용될 수 있다.
이상으로부터 명확하듯이, 본 발명은 높은 속도로 접근될 수 있는 메모리를 사용하는 것 없이 독특한 특징 및 접근 속도의 증가의 효과들을 제공한다. 그러므로, 사용된 메모리는 반드시 높은 속도로 접근될 수 있는 것이 아니다. 이것은 전체 데이터 처리의 속도를 증가시키는 메커니즘을 제공하고 반면에 결과 생성물들의 원하지 않는 가격의 상승을 제한한다.
본 발명은 컴퓨터 상의 메모리 접근 장치를 실행하기 위해 사용되는 반도체 장치, 컴퓨터 프로그램 및 기록 매체뿐만 아니라, 메모리 접근 장치, 메모리 접근 제어 방법을 제공하며, 높은 속도로 접근될 수 있는 메모리의 사용 없이도 더 높은 속도로 메모리로의 접근을 허락할 수 있다.

Claims (13)

  1. 다른 인터리브된 패턴들의 하나에 의해서 메모리에 접근하는 메모리 접근 장치에 관한 것이며, 상기 메모리는 행렬의 형태로 배열되는 다수의 메모리 세그먼트들을 가지고, 상기 장치는:
    접근을 위해 사용되는 인터리브된 패턴을 선택하는 패턴 선택 수단; 및
    상기 선택된 인터리브된 패턴에 대해 세그먼트 접근 수단에 할당되는 다수의 메모리 세그먼트들에, 상기 메모리 세그먼트들의 주소들을 교환하는 것 없이 동시에 접근하는 세그먼트 접근 수단을 포함하고,
    어느 인터리브된 패턴이 상기 패턴 선택 수단에 의해 선택되는 지에 상관없이 상기 세그먼트 접근 수단이, 상기 선택된 인터리브된 패턴 내에서 다른 메모리 세그먼트들과 오버랩되지 않는 메모리 세그먼트가 할당되고 있는 것을 특징으로 하는 메모리 접근 장치.
  2. 제 1 항에 있어서, 상기 메모리는 상기 메모리 세그먼트들이 픽셀 세그먼트들인 영상 메모리이고, 상기 패턴 선택 수단은 상기 영상 메모리로 그려지는 영상의 모양에 적합한 인터리브된 패턴을 선택하기 위해 구성되는 것을 특징으로 하는 메모리 접근 장치.
  3. 제 2 항에 있어서, 각각의 인터리브된 패턴은 서로 다른 조합들 내에서 다른인터리브된 패턴들과 같은 개수의 픽셀 세그먼트들을 가지는 것을 특징으로 하는 메모리 접근 장치.
  4. 제 2 항에 있어서, 상기 패턴 선택 수단은 모양이 지정되는 상기 영상이 최소 개수의 상기 접근들에 의해 그려질 수 있는 인터리브된 패턴을 선택하는 것을 특징으로 하는 메모리 접근 장치.
  5. 제 2 항에 있어서, 상기 영상 메모리는 다수의 메모리 블록들의 그룹에 의해 생성되고, 각각의 메모리 블록은 상기 인터리브된 패턴에 의해 접근될 예정인 픽셀 세그먼트들을 가지고,
    각각의 메모리 블록은 동시에 접근될 수 있는 개수의 메모리 뱅크들을 포함하고,
    상기 메모리 접근 장치는 접근되는 상기 픽셀 세그먼트들이 제 1 주소 정보 및 제 2 주소 정보의 조합에 의해 지정되는 것과 같이 구성되고, 이때 상기 제 1 주소 정보는 상기 메모리 블록들을 식별하기 위한 것이고, 상기 제 2 주소 정보는 상기 메모리 뱅크 내에서 상기 픽셀 세그먼트들을 식별하기 위한 것인 것을 특징으로 하는 메모리 접근 장치.
  6. 제 5 항에 있어서, 각각의 상기 다수의 메모리 블록들은 행렬의 형태로 배열되는 픽셀 세그먼트들을 가지고, 상기 행렬은 열 주소들 및 행 주소들로 분할되는주소 선들을 가지고,
    상기 제 2 주소 정보는 행 주소, 열 주소, 또는 행 주소 및 열 주소의 조합에 의해 지정되는 것을 특징으로 하는 메모리 접근 장치.
  7. 제 6 항에 있어서, 상기 메모리 접근 장치는 상기 메모리 블록 내의 각각의 픽셀 세그먼트 및 상기 메모리 블록에 할당된 메모리 뱅크 사이의 대응을 정의하는 테이블을 더 포함하고, 접근되는 상기 메모리 뱅크는 상기 테이블에 근거하여 판별되는 것을 특징으로 하는 메모리 접근 장치.
  8. 제 5 항에 있어서, 각각의 상기 다수의 메모리 블록들은 행렬의 형태로 배열되는 2m행 2n열의 픽셀 세그먼트들에 의해 생성되고, 상기 행렬은 X 행 주소들 및 Y 열 주소들로 분할된 주소 선들을 가지고, 상기 제 2 주소 정보는 이러한 픽셀 세그먼트들에 접근하도록 지명되는 A(X,Y)에 의해 지정되고, m ≤n 가 적용될 때 상기 제 2 주소 정보 A(X,Y)는 이진수 표현의 다음 수식에 의해 주어지고:
    X mod 2n= 20×i[0] + 21×i[1] + ... + 2n-1×i[n-1]
    = ∑2k×i[k] (i[k]: 0 or 1)
    Y mod 2n= 20×j[0] + 21×j[1] + ... + 2n-1×j[n-1]
    = ∑2k×j[k] (j[k]: 0 or 1)
    A(X,Y) = ∑2k×(i[k] xor j[n-1-k])
    상기 수식 내에서 i,j는 상기 비트의 무게를 표현하고, ∑는 k = 0으로부터 k = n-1까지의 합을 표현하고, 그리고 XOR은 배타적 OR을 표현하는 것을 특징으로 하는 메모리 접근 장치.
  9. 제 5 항에 있어서, 각각의 상기 다수의 메모리 블록들은 행렬의 형태로 배열되는 2m행 2n열 픽셀 세그먼트들에 의해 생성되고, 상기 행렬은 X 행 주소들 및 Y 열 주소들로 분할된 주소 선들을 가지고, 상기 제 2 주소 정보는 이러한 픽셀 세그먼트들에 접근하도록 지명되는 A(X,Y)에 의해 지정되고, m > n 가 적용될 때 상기 제 2 주소 정보 A(X,Y)는 이진수 표현으로 다음 수식에 의해 주어지고:
    X mod 2m= 20×i[0] + 21×i[1] + ... + 2m-1×i[m-1]
    = ∑2k×i[k] (i[k]: 0 or 1)
    Y mod 2m= 20×j[0] + 21×j[1] + ... + 2m-1×j[m-1]
    = ∑2k×j[k] (j[k]: 0 or 1)
    A(X,Y) = ∑2k×(i[k] xor j[m-1-k])
    상기 수식 내에서 i,j는 상기 비트의 무게를 표현하고, ∑는 k = 0으로부터 k = m-1까지의 합을 표현하고, 그리고 XOR은 배타적 OR을 표현하는 것을 특징으로하는 메모리 접근 장치.
  10. 메모리에 접근하기에 적합한 컴퓨터 상에 설치된 반도체 장치에 있어서, 상기 메모리는 행렬의 형태로 배열되는 다수의 메모리 세그먼트들을 가지고, 상기 반도체 장치는:
    컴퓨터가, 접근을 위해 사용되는 인터리브된 패턴을 선택하는 패턴 선택 수단 및 상기 선택된 인터리브된 패턴에 대응하는 다수의 메모리 세그먼트들에 동시에 접근하는 세그먼트 접근 수단을 수립하는 것을 지시하고, 그리고
    어느 인터리브된 패턴이 선택되는 지에 상관없이 상기 선택된 인터리브된 패턴 내에 다른 메모리 세그먼트들과 오버랩되지 않는 메모리 세그먼트를 상기 세그먼트 접근 수단으로 할당하는 것에 의해, 상기 메모리로의 접근이 상기 메모리 세그먼트들의 주소들을 교환하는 것 없이 다른 인터리브된 패턴들의 하나에 의해서 행해지는 것과 같은 컴퓨터를 조작하기 위해 구성되는 것을 특징으로 하는 반도체 장치.
  11. 컴퓨터에 의해 수행된 메모리로의 접근을 제어하는 방법에 있어서, 상기 접근은 다른 인터리브된 패턴들의 하나에 의해 행해지고, 상기 메모리는 행렬의 형태로 배열되는 다수의 메모리 세그먼트들을 가지고, 상기 방법은:
    어느 인터리브된 패턴이 선택되는 지에 상관없이 같은 메모리 세그먼트들이 상기 인터리브된 패턴 내에서 오버랩되지 않는 것과 같은, 접근이 동시에 행해질수 있는 다수의 메모리 세그먼트들을 지정하는 단계;
    상기 접근을 위해 사용되는 인터리브된 패턴을 선택하는 단계; 및
    상기 다수의 메모리 세그먼트들의 주소들을 교환하는 것 없이, 상기 선택된 인터리브된 패턴에 대해 할당되는 상기 다수의 메모리 세그먼트들에 동시에 접근하는 단계를 포함하는 것을 특징으로 하는 상기 메모리로의 접근을 제어하는 방법.
  12. 행렬의 형태로 배열되는 다수의 메모리 세그먼트들을 가지는 메모리로의 접근을 행하는 메모리 접근 장치로서 컴퓨터를 조작하기 위한 컴퓨터 프로그램에 있어서, 상기 메모리 접근 장치는:
    접근을 위해 사용되는 인터리브된 패턴을 선택하는 패턴 선택 수단; 및
    상기 선택된 인터리브된 패턴에 대해 세그먼트 접근 수단에 할당되는 다수의 메모리 세그먼트들에, 상기 메모리 세그먼트들의 주소들을 교환하는 것 없이 동시에 접근하는 세그먼트 접근 수단을 포함하고,
    어느 인터리브된 패턴이 상기 패턴 선택 수단에 의해 선택되는 지에 상관없이 상기 세그먼트 접근 수단은 상기 선택된 인터리브된 패턴 내에서 다른 메모리 세그먼트들과 오버랩되지 않는 메모리 세그먼트가 할당되는 것을 특징으로 하는 컴퓨터 프로그램.
  13. 제 12 항에 따른 컴퓨터 프로그램이 기록되는 컴퓨터 판독가능한 기록 매체.
KR10-2003-7015018A 2002-03-01 2003-01-08 프레임 버퍼 접근 장치, 프레임 버퍼 접근 방법, 컴퓨터프로그램 및 기록 매체 KR20040090392A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00056548 2002-03-01
JP2002056548 2002-03-01
JP2003001595A JP2003323339A (ja) 2002-03-01 2003-01-07 メモリアクセス装置、半導体デバイス、メモリアクセス制御方法、コンピュータプログラム及び記録媒体
JPJP-P-2003-00001595 2003-01-07
PCT/JP2003/000061 WO2003075253A1 (en) 2002-03-01 2003-01-08 Frame buffer access device, frame buffer access method, computer program and recording medium

Publications (1)

Publication Number Publication Date
KR20040090392A true KR20040090392A (ko) 2004-10-22

Family

ID=27790940

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7015018A KR20040090392A (ko) 2002-03-01 2003-01-08 프레임 버퍼 접근 장치, 프레임 버퍼 접근 방법, 컴퓨터프로그램 및 기록 매체

Country Status (6)

Country Link
US (1) US6992673B2 (ko)
EP (1) EP1481386A1 (ko)
JP (1) JP2003323339A (ko)
KR (1) KR20040090392A (ko)
TW (1) TWI240221B (ko)
WO (1) WO2003075253A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4701620B2 (ja) * 2004-03-15 2011-06-15 ソニー株式会社 データ格納装置、データ格納制御装置、データ格納制御方法及びデータ格納制御プログラム
JP4635687B2 (ja) * 2005-03-30 2011-02-23 ソニー株式会社 データアクセス装置、データアクセス方法、プログラムおよび記録媒体
US7872657B1 (en) * 2006-06-16 2011-01-18 Nvidia Corporation Memory addressing scheme using partition strides
US7777751B2 (en) * 2006-11-27 2010-08-17 Lsi Corporation Tiled memory array for full search motion estimation
US8923405B1 (en) 2010-01-25 2014-12-30 Ambarella, Inc. Memory access ordering for a transformation
JP5678273B2 (ja) * 2010-03-01 2015-02-25 パナソニックIpマネジメント株式会社 メモリコントローラ
US8942473B2 (en) * 2012-07-25 2015-01-27 Ko Hung Lin Image processing method and display apparatus
US9245496B2 (en) * 2012-12-21 2016-01-26 Qualcomm Incorporated Multi-mode memory access techniques for performing graphics processing unit-based memory transfer operations
JP6195342B2 (ja) 2013-03-27 2017-09-13 キヤノン株式会社 情報処理装置およびメモリアクセス制御方法
WO2023119622A1 (ja) * 2021-12-24 2023-06-29 株式会社ソシオネクスト メモリアクセス方法およびメモリアクセス制御装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293480A (en) * 1990-08-06 1994-03-08 At&T Bell Laboratories High resolution graphics system architecture
DE69430982T2 (de) * 1993-12-09 2003-03-13 Sun Microsystems Inc Verschachtelung von Bildelementdaten für eine Darstellungspeicherschnittstelle
US5493643A (en) 1994-05-03 1996-02-20 Loral Aerospace Corp. Image generator architecture employing tri-level fixed interleave processing and distribution buses
US5794016A (en) 1995-12-11 1998-08-11 Dynamic Pictures, Inc. Parallel-processor graphics architecture
JPH09212412A (ja) * 1996-02-06 1997-08-15 Sony Computer Entertainment:Kk メモリアクセス方法及びデータ処理装置

Also Published As

Publication number Publication date
EP1481386A1 (en) 2004-12-01
US6992673B2 (en) 2006-01-31
US20030231176A1 (en) 2003-12-18
WO2003075253A1 (en) 2003-09-12
TW200304097A (en) 2003-09-16
TWI240221B (en) 2005-09-21
JP2003323339A (ja) 2003-11-14

Similar Documents

Publication Publication Date Title
US5574836A (en) Interactive display apparatus and method with viewer position compensation
US7805587B1 (en) Memory addressing controlled by PTE fields
US6157384A (en) Apparatus and method for drawing
US7990391B2 (en) Memory system having multiple address allocation formats and method for use thereof
JPH09245179A (ja) コンピュータグラフィックス装置
US7580042B2 (en) Systems and methods for storing and fetching texture data using bank interleaving
US7268787B2 (en) Dynamic allocation of texture cache memory
KR20180002635A (ko) 그래픽 프로세싱을 위한 표면 포맷에 기초한 적응적 메모리 어드레스 스캐닝
US5859646A (en) Graphic drawing processing device and graphic drawing processing system using thereof
KR20040090392A (ko) 프레임 버퍼 접근 장치, 프레임 버퍼 접근 방법, 컴퓨터프로그램 및 기록 매체
EP0820014A1 (en) Memory access method and data processor
US6667930B1 (en) System and method for optimizing performance in a four-bank SDRAM
JPH09179999A (ja) 画像生成方法およびその装置
US6614443B1 (en) Method and system for addressing graphics data for efficient data access
JP3548648B2 (ja) 描画装置及び描画方法
JP3971448B2 (ja) 描画装置及び描画方法
JP3934111B2 (ja) 描画装置及び描画方法
JP5310079B2 (ja) 画像描画装置
JPS58136093A (ja) 表示制御装置
KR100510674B1 (ko) 영상 피벗을 위한 메모리 억세스 방법
JP4195953B2 (ja) 画像処理装置
JPH087095A (ja) 文字図形表示装置
JPH1153573A (ja) 3次元画像処理装置及びビデオウィンドウ生成方法
KR20060008017A (ko) 텍스쳐 캐쉬를 갖는 휴대용 단말기의 텍스쳐 매핑방법
JPH07118006B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid