KR20020095126A - 특수 메모리 장치 - Google Patents

특수 메모리 장치 Download PDF

Info

Publication number
KR20020095126A
KR20020095126A KR1020020032648A KR20020032648A KR20020095126A KR 20020095126 A KR20020095126 A KR 20020095126A KR 1020020032648 A KR1020020032648 A KR 1020020032648A KR 20020032648 A KR20020032648 A KR 20020032648A KR 20020095126 A KR20020095126 A KR 20020095126A
Authority
KR
South Korea
Prior art keywords
processing unit
memory
bank
special
main processing
Prior art date
Application number
KR1020020032648A
Other languages
English (en)
Other versions
KR100489719B1 (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 KR20020095126A publication Critical patent/KR20020095126A/ko
Application granted granted Critical
Publication of KR100489719B1 publication Critical patent/KR100489719B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7821Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
    • 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
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Television Signal Processing For Recording (AREA)
  • Microcomputers (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Dram (AREA)
  • Telephone Function (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)

Abstract

주문형 신호 처리 유닛(ASSPU)이 내장된 특수 메모리 장치가 개시된다. ASSPU는 주처리 유닛 대신에 하나 이상의 사전 결정된 태스크를 처리한다. ASSPU와 주처리 유닛은 메모리칩 상의 메모리를 동시에 액세스할 수 있다.

Description

특수 메모리 장치{A SPECIALIZED MEMORY DEVICE}
본 발명은 병렬 처리에 관한 것이다.
도 1은 비디오 기능을 갖는 셀룰러폰을 구현하는 종래 기술의 CPU 기반 시스템(100)을 도시하고 있으며, 상기 시스템(100)은 CPU(110), 칼라 LCD 모듈(120), 카메라(125), 키패드(130), CPU 메모리(140), 모뎀(150)(예를 들어 DSP에 의해 구현된 모뎀), RF 트랜시버(160), 플래시 메모리(170), EPROM(180), SIM 카드(190) 및 오디오 코덱(105)과 같은 모듈들을 포함한다. 동작에 있어서, 인터셉트된 비디오 및/또는 그래픽 데이터가 RF 트랜시버(160) 및 모뎀(150)을 통해 수신되어, CPU(110)에 의해 처리된다. CPU(110)는 처리동안의 일시적인 저장을 위해 비디오 및/또는 그래픽 데이터를 메모리(140)에 전송한다. 처리된 데이터는 LCD(120)에 출력된다. 출력되는 비디오 및/또는 그래픽 데이터는 카메라(125)로부터 수신되어 CPU(110)에 의해 처리된다. CPU(110)는 처리동안의 일시적인 저장을 위해 비디오 및/또는 그래픽 데이터를 메모리(140)에 전송한다. 처리된 데이터는 모뎀(150) 및 RF 트랜시버(160)를 통해 외부로 전송된다. 플래시 메모리(170) 및 EPROM(180)은 CPU 프로그램 및 상수 파라미터를 저장한다.
비디오 기능을 인에이블시키기 위해, CPU(110)에는 비디오 및 그래픽을 취급하는 소프트웨어가 제공되어 있어야만 한다. CPU(110)를 위하여 특별한 명령 (종종 멀티미디어 확장 명령이라고 칭함)이 고안되며, 비디오/그래픽 명령은 다른 명령과 직렬로 실행된다. 또한, 실시간 요구 조건을 만족시키기 위해서, CPU(110)의 주파수는 비디오 기능을 갖지 않는 시스템에서의 CPU의 주파수에 비해 증가되어야 한다. 클럭 주파수가 증가하면, 소비 전력도 그에 비례하여 증가한다.
또 다른 전력 손실의 원인은 CPU(110)의 IC와 메모리(140)의 IC 간에서의 입력/출력 핀(상호 접속부)을 통한 데이터 전송과 관련된다. 이러한 데이터 트래픽의 종류로는 입력/출력 버퍼 상의 대용량 부하의 충전/방전이 포함되며, 그로 인한 소비 전력도 크다. 정량적으로, 메모리 IC(140)의 입력/출력 핀 상에서 낭비되는 전력의 양은 다음과 같이 주어진다.
P1= P1D+ P1C
여기에서, P1D는 데이터 핀 상에서 소비되는 전력이고, P1C는 제어 및 어드레스 핀 상에서 소비되는 전력이다. 전형적으로, 전자가 후자보다 훨씬 크며, P1D는 다음과 같다.
P1D= CIO* VIO 2* 0.5 * BIO
여기에서, CIO는 외부 데이터 버스의 용량 부하로서, 단위는 패러드이다.
VIO는 메모리 장치의 I/O의 공급 전압이며, 단위는 볼트이다.
BIO는 데이터 버스 상에서의 트랜잭션의 유효 대역폭이며, 단위는 비트/초이다.
예를 들어, 전형적인 DRAM 메모리 IC에 있어서, 낭비되는 전력은 다음과 같이 근사될 수 있다.
CIO= 10 * 10-12패럿
VIO= 2.5 볼트
BIO= 200 * 106비트/초
따라서, P1D= 10 * 10-12* 2.52* 0.5 * 200 * 106= 6.25mW가 된다.
결과적으로, P1> 6.25 mW의 관계가 성립한다.
비디오 기능을 갖는 셀룰러폰의 또 다른 종래 시스템으로서 도 2에 도시되어 있는 시스템(200)에서, 신호 처리 코어(215)가 CPU(210)와 동일한 다이에 매립되어 비디오 및 그래픽 태스크를 관리할 수 있다. 비디오 및 그래픽 태스크는 코어(215)에 의해 관리되기 때문에, CPU(210)의 클럭 주파수가 비디오 기능을 갖지 않는 CPU용의 주파수보다 증가될 필요가 없으므로, 주파수 증가로 인해 낭비될 수도 있었던 전력이 절약된다. 그러나, CPU(210) 및 코어(215)를 포함하는 IC는 여전히 메모리(140)와 대량의 데이터를 교환하고, 그 결과 CPU(210)의 IC와 메모리(140)의 IC 사이의 상호 접속부를 통해 대량의 전력이 소비되기 때문에, 시스템(200)은 상기와 같은 전력 절약에도 불구하고 소비 전력의 관점에서 볼 때 매우 효율적이라고는 할 수 없다.
도 3a는 비디오 능력을 갖는 휴대 전화의 또다른 종래 기술에 따른 시스템(300)을 설명한다. 일반적인 용도 또는 주문형 디지털 신호 프로세서(DSP; 385)는 CPU(310) 외부에 위치한다. CPU(310)가 다른 태스크를 취급하는 동안, DSP(385)는 비디오 및 그래픽 태스크를 취급한다. 따라서, 비디오 능력이 없는 휴대 전화의 CPU에 비해 CPU(310)의 클럭 주파수를 증가시킬 필요가 없다. 그러나,DSP(385)는 추가 메모리(395), 예를 들어 DSP(385) 내에 내장될 수 있거나, 또는 DPS(385) 외부에 오프-더-셀프(off-the-shelf) 메모리 IC로서 위치하여 DSP(385)에 접속된 DRAM 또는 RAM(395)을 필요로 한다.
도 3b는 DSP(385) 및 (D)RAM(395) 대신 주문형 CPU(380) 및 SDRAM(390)을 갖는 유사한 시스템(320)을 도시한다.
시스템(300, 320) 둘 다 시스템(100, 200)에 비해 증대된 IC 수(increased IC count)를 갖기 때문에, 증대된 사이즈 및 비용을 갖게 된다. 또한, 시스템 (300, 320)은 전력에 있어 효율적이지 않는데, 데이터가 CPU(310)와 메모리(140) 사이, CPU(310)와 DSP(385) 또는 주문형 CPU(380) 사이, DSP(385) 또는 주문형 CPU(380)와 메모리(395 또는 390) 사이에서 이동되어야 하므로 많은 전력이 소모된다. DSP(385) 또는 주문형 CPU(380)와 메모리(395 또는 390) 사이에서의 데이터 전송은 통상적으로(비록 필수적인 것은 아니지만) 시스템(300 및 320)에 대해 상기 리스트된 데이터 전송 중 최고 트랙픽이고, 따라서, 비디오 코덱(compression/decompression) 알고리즘이 데이터로의 다수의 액세스를 필요로하기 때문에 전력에 있어 상당히 비경제적이다.
또한, CPU 메모리에 내장된 프로세서를 포함하는 관련 기술 시스템이 존재한다.
Dowling에 의한 US 특허 제 6,026,478에서는 내장된 DRAM VLIW 확장 프로세서에 접속되고, 또한 VLIW CPU의 DRAM으로서 기능하는 VLIW(very large instruction word) 프로세서를 개시한다. US 특허 제 6,026,478는 명령 레벨에서CPU 및 내장된 DRAM 프로세서 사이에 태스크의 할당을 분배한다.
명령 레벨에서 프로그램을 분할한 결과, CPU와 내장된 DRAM 프로세서 사이에서 바뀌는 데이터 양(여기서 "데이터"는 명령을 포함함)은 표준 CPU-DRAM 전형에 대한 임의의 양에 의해 감소된다. 복잡성이 요구되어, 시스템의 손실이 있게 된다. 예를 들어, 내장된 메모리 프로세싱 유닛은 CPU에 의해 동시에 수행되는 명령의 스트림을 감지할 필요가 있고, 내장된 메모리 프로세싱 유닛은 CPU의 캐싱 명령을 공유할 필요가 있다. 추가적으로, 명령 레벨에서 수행을 동기하기 위해, CPU 와 DRAM 사이에서 매우 현저한 데이터 교환이 존재한다.
Iobst 등의 US 특허 제5,396,641는 DRAM과 함께 통합된 단일 명령 다수 데이터(SIMD) 및 다수 명령 다수 데이터(MIMD) 프로세서를 기술한다. 프로세서의 각 형태는 외부 DRAM 인터페이스(즉, DRAM은 공통 DRAM으로서 액세스될 수 있음)를 갖는다. 그러나, 외부 "호스트"로부터 내장된 프로세서를 조정하는 외부 제어 라인이 존재한다.
또한, US 특허 제5,396,641호에 개시된 발명은 동시 내부 프로세싱 및 외부 데이터 전송을 지원하지 않는다. 내부 연산 사이클은 단지 메모리 액세스 사이클을 대신할 수 있다. 이러한 접근법은 CPU가 그것의 메인 메모리로서 내장된 DRAM를 사용함과 동시에 내장된 DRAM 프로세서를 사용하는 것을 불가능하게 한다.
Pawate 등의 US 특허 제 5,678,021은 데이터 저장 영역에 저장된 명령을 수행하기 위한 데이터 저장 및 프로세싱 코어를 포함하는 스마트 메모리를 개시한다. 외부적으로, 스마트 메모리는 표준 메모리 장치로서 직접적으로 액세스가능하다.그러나, 스마트 메모리는 동시 내부 프로세싱 및 외부 데이터 전송을 지원하지 않는다. 내부 연산 사이클은 단지 메모리 액세스 사이클을 대신할 수 있다. 이러한 접근법은 CPU가 그것의 메인 메모리로서 데이터 저장을 사용함과 동시에 프로세싱 코어를 사용하는 것을 불가능하게 한다.
기술에 있어 필요한 것은 메모리가 내장된 ASSPU 및 메인 프로세싱 유닛에 의해 동시에 액세스될 수 있는 로직 삽입 메모리이다.
본 발명은, 적어도 하나의 특수 메모리 뱅크와 적어도 하나의 표준 메모리 뱅크를 포함하는 적어도 2개의 개별 메모리 뱅크를 포함하는 메모리 모듈;
상기 메모리 모듈과 함께 동일 다이에 내장되고, 내부 버스를 통해 상기 적어도 하나의 특수 메모리 뱅크에 대한 판독/기록 액세스를 가지며, 적어도 하나의 사전 결정된 태스크를 실행하도록 구성된 주문형 신호 처리 유닛(application specific signal processing unit; ASSPU);
외부 주 처리 유닛을 상기 메모리 모듈에 결합시키며, 상기 ASSPU에 의해 실행될 수 있는 상기 적어도 하나의 사전 결정된 태스크 중 적어도 하나와 관련된 데이타에 대해 상기 주 처리 유닛이 상기 적어도 하나의 특수 메모리 뱅크를 액세스할 수 있도록 하고, 상기 주 처리 유닛이 상기 적어도 하나의 표준 메모리 뱅크를 액세스할 수 있도록 하는 버스 인터페이스; 및
상기 주 처리 유닛에 의한 상기 적어도 하나의 표준 메모리 뱅크 중 적어도 하나에 대한 액세스와 동시에 상기 ASSPU에 의한 상기 적어도 하나의 특수 메모리뱅크 중 적어도 하나에 대한 액세스를 허용하는 트래픽 관리 유닛(TMU)
을 포함하는 특수 메모리 장치를 제공한다.
본 발명은 또한, 메모리 모듈 내의 메모리를 주 처리 유닛과, 상기 메모리 모듈과 동일한 다이에 내장된 주문형 신호 처리 유닛(ASSPU) 간에 공유하기 위한 방법 -상기 메모리 모듈은 상기 주 처리 유닛과 상기 ASSPU에 의해 공유되는 적어도 하나의 뱅크와, 상기 주 처리 유닛에 의해 액세스 가능한 적어도 하나의 표준 뱅크를 포함함-에 있어서,
상기 주 처리 유닛이 상기 ASSPU에 의해 실행가능한 사전 결정된 태스크와 관련된 데이타에 대해, 상기 주 처리 유닛과 상기 ASSPU에 의해 공유되는 메모리 모듈의 뱅크를 액세스하기를 원하는지 여부를 결정하는 단계; 및
상기 주 처리 유닛이 상기 메모리 모듈의 비공유(표준) 뱅크를 액세스하기를 원하는 것으로 결정된 경우, 상기 주 처리 유닛에 의한 상기 비공유 뱅크에 대한 액세스를 허용하고, 상기 ASSPU에 의한 상기 공유 뱅크에 대한 액세스를 동시에 허용하는 단계를 포함한다.
또한, 본 발명은, 적어도 하나의 특수 메모리 뱅크를 포함하는 메모리 모듈;
상기 메모리 모듈과 함께 동일한 다이에 내장되고, 내부 버스를 통해 상기 적어도 하나의 특수 메모리 뱅크에 대한 판독/기록 액세스를 가지며, 적어도 하나의 사전 결정된 태스크를 실행하도록 구성된 주문형 신호 처리 유닛(ASSPU);
주 처리 유닛을 상기 메모리 모듈에 결합시키고, 상기 주 처리 유닛이 상기 적어도 하나의 특수 뱅크의 적어도 하나의 어드레스로 맵핑되는 상기 ASSPU의 적어도 하나의 레지스터를 액세스할 수 있도록 하는 버스 인터페이스; 및
상기 적어도 하나의 레지스터 중 적어도 하나에 대한 상기 주 처리 유닛에 의한 액세스를 허용하고, 상기 적어도 하나의 어드레스 중 상기 적어도 하나를 포함하는 상기 적어도 하나의 특수 메모리 뱅크 중 적어도 하나에 대한 상기 ASSPU에 의한 액세스를 동시에 허용하는 트래픽 관리 유닛(TMU)을 포함하는 특수 메모리 장치를 제공한다.
또한, 본 발명은, 메모리 모듈 상의 메모리를, 주 처리 유닛과, 상기 메모리 모듈과 동일한 다이에 내장되고 적어도 하나의 사전 설정된 태스크를 실행하도록 구성된 주문형 신호 처리 유닛(ASSPU) 간에 공유하기 위한 방법 -상기 메모리 모듈은 적어도 하나의 특수 메모리 뱅크를 포함함-에 있어서,
상기 주 처리 유닛이 상기 적어도 하나의 특수 메모리 뱅크 중 하나 내의 적어도 하나의 사전 결정된 어드레스 중 하나를 액세스하기를 원하는지의 여부를 결정하는 단계;
상기 주 처리 유닛이 상기 적어도 하나의 특수 뱅크 중 하나 내의 상기 적어도 하나의 사전 결정된 어드레스 중 하나를 액세스하기를 원하는 것으로 결정된 경우, 상기 주 처리 유닛에 의해 상기 하나의 어드레스로 맵핑된 상기 ASSPU의 적어도 하나의 레지스터에 대한 액세스를 허용하는 단계; 및
상기 주처리 유닛이 액세스하는 동안, 상기 ASSPU가 원한다면 상기 ASSPU가 상기 적어도 하나의 어드레스를 포함하는 상기 하나의 특수 뱅크를 액세스하는 것을 허용하는 단계를 포함한다.
본 발명은, 메모리 모듈 상의 메모리를, 주 처리 유닛과, 상기 메모리 모듈과 동일한 다이에 내장되고 적어도 하나의 사전 설정된 태스크를 실행하도록 구성된 주문형 신호 처리 유닛(ASSPU) 간에 공유하기 위한 방법 -상기 메모리 모듈은 적어도 하나의 특수 메모리 뱅크를 포함함-에 있어서,
상기 주처리 유닛이 적어도 한의 특수 메모리 뱅크 중 하나를 액세스하기를 원하는지의 여부를 결정하는 단계;
상기 주처리 유닛이 상기 적어도 하나의 특수 뱅크 중 하나를 액세스하기를 원하는 것으로 결정된 경우, 상기 주처리 유닛이 상기 하나의 특수 뱅크를 간접적으로 액세스하는 것을 허용하는 단계; 및
상기 주처리 유닛이 액세스하는 동안, 상기 ASSPU가 원한다면 상기 ASSPU가 상기 하나의 특수 뱅크를 직접 액세스하는 것을 허용하는 단계를 포함한다.
도 1은 비디오 성능을 갖춘 종래의 셀룰러 전화기의 블록도.
도 2는 비디오 성능을 갖춘 또 다른 종래의 셀룰러 전화기의 블록도.
도 3a는 비디오 성능을 갖춘 또 다른 종래의 셀룰러 전화기의 블록도.
도 3b는 비디오 성능을 갖춘 또 다른 종래의 셀룰러 전화기의 블록도.
도 4는 본 발명의 바람직한 실시예에 따른, 비디오 성능을 갖춘 셀룰러 전화기의 블록도.
도 5는 본 발명의 바람직한 실시예에 따른, 로직 삽입 메모리의 내부 구조에 대한 블록도.
도 6은 본 발명의 바람직한 실시예에 따른, CPU와 내장 ASSPU 사이의 기능적 계산 흐름도.
도 7은 본 발명의 바람직한 실시예에 따른, 셀룰러 전화기의 그래픽 가속기에 의한 전형적인 처리를 도시하는 도면.
도 9는 본 발명의 바람직한 실시예에 따른, 비디오 성능을 갖춘 디지털 카메라의 블록도.
도 10은 본 발명의 또 다른 바람직한 실시예에 따른, 비디오 성능을 갖춘 디지털 카메라의 블록도.
도 11은 본 발명의 바람직한 실시예에 따른, 직접 비디오 녹화 성능(personal video recording capability)을 갖춘 셋톱 박스의 블록도.
도 12는 본 발명의 또 다른 바람직한 실시예에 따른, 로직 삽입 메모리의 내부 구조에 대한 블록도.
도 13은 본 발명의 또 다른 바람직한 실시예에 따른, 로직 삽입 메모리의 내부 구조에 대한 블록도.
도 14는 본 발명의 또 다른 바람직한 실시예에 따른, 로직 삽입 메모리의 내부 구조에 대한 블록도.
<도면의 주요 부분에 대한 부호의 설명>
120 : 칼라 LCD
125 : 카메라
130 : 키패드
150 : 모뎀
160 : RF 트랜시버
410 : CPU/DSP
440 : 로직 삽입 메모리
<용어 설명>
ASSPU : 주문형 신호 처리 유닛(Application-Specific Signal Processing Unit). 프로그래머블 프로세서를 내장할 수도 또는 내장하지 않을 수도 있고, 하나 또는 몇몇 유사한 특수 처리 작업을 처리하도록 최적화 설계된 디지털 신호 처리 논리 유닛.
캐쉬(Cache): 가장 빈번한 데이타 트랜잭션을 위해 CPU 또는 DSP가 이용하는 비교적 작고 매우 빠른 메모리 블록. 캐쉬는 CPU(또는 DSP)와 일반적으로 느린 주 메모리 사이를 중개한다. 가장 일반적인 캐쉬의 구현은 고속 SRAM(추가의 로직을가짐)이다.
CPU: 중앙 처리 장치. IC의 전체 또는 일부분을 구성하며, 전자 시스템의 모든(또는 대부분의) 다른 구성들을 제어하는 소프트웨어 프로그램을 구동하여 실행시키는 유닛.
DRAM: 동적 랜덤 액세스 메모리(Dynamic Random Access Memory). 안의 내용을 잃지 않기 위하여 가끔씩 "리프레시(refresh)" 동작을 필요로 하는 RAM. DRAM은 기본적으로 SRAM 보다 값이 적고 낮은 전력을 소모한다. DRAM은 저렴하기 때문에, CPU의 주 메모리를 위한 일반적인 해결책이다.
DSP: 디지탈 신호 처리기. 수치 데이타의 수학적 처리에 최적인 특별한 형태의 처리 장치.
플래시 메모리(Flash Memory): 영구 기억 매체의 한 형태, 즉 전원에 연결되지 않았을 때 조차도 데이타를 보유하는 메모리. 플래시 메모리는 반도체에 기초하며, RAM보다는 느린 액세스 시간을 가지지만(특히 기록용인 경우), 다른 영구 기억 매체보다는 빠르다.
IC: 집적 회로. 반도체 다이 상에 형성된 완전한 전자 회로로서, 매우 복잡한 전자 시스템에서 하나의 별개의 물리적 개체를 구성한다.
LCD: 액정 표시(Liquid Crystal Display). 다양한 진폭을 갖는 전계를 액정에 인가하는 것에 기초하며, 컬러 영상을 전자적 표시하기 위한 저전력 메카니즘. 이 방법은 랩탑 PC, 팜(Palm) PC, 셀룰러 폰, 디지탈 카메라 등의 대부분의 저전력 기기들에 이용된다.
RAM: 임의 액세스 메모리(Random Access Memory). 디지탈 정보 비트를 저장하는 단일 IC 또는 IC의 어레이. 임의의 무작위한 순서로 판독하거나, (새로운 정보를) 기록하기 위하여 정보를 액세스할 수 있다.
SRAM: 정적 임의 액세스 메모리(Static Random Access Memory). "리프레시" 동작을 필요로 하지 않으면서, 전원에 연결되어 있는 동안에는 그 내용을 저장할 수 있는 RAM. SRAM은 기본적으로 DRAM 보다 매우 비싸고 많은 전력을 소비하지만, 더 빠른 데이타 트랜잭션, 특히 단일 또는 듀얼 데이타 워드의 트랜잭션을 지원한다.
(디지탈 TV) 셋탑 박스: 디지탈화되고, 압축되고, 선택적으로 암호화된 멀티미디어 신호를 케이블, 위성, 또는 지상파를 통하여 수신하고, 그 신호를 처리하여, 모니터 상에 표시하기 위하여 전송하는 전자 기기.
본 발명을 적용하는 임의의 실시예들은 아마도 다른 주변 처리기 및 인터페이스를 갖는 주 처리 장치 IC, 동일 IC 상의 통신 모듈, 및 혼재된 ASSPU를 갖는 주 메모리를 포함한다. 주 처리 장치는 예를 들어 두 개의 프로세서(CPU/DSP)를 갖는 코어, CPU 또는 DSP일 수 있다. 주 메모리는 예를 들어 DRAM, SRAM, 또는 DRAM 과 SRAM을 혼합한 조합일 수 있다. 이하에서는 설명의 용이를 위하여, 주 처리 장치는 CPU이고 주 메모리는 DRAM으로 가정한다. 또한, 이하에 기술될 많은 실시예들에서 처리된 데이타는 컬러 LCD 로 출력되지만, 대안의 바람직한 실시예에서 다른 출력들이 이용될 수 있다.
바람직하게, ASSPU는 메모리 집약적인 하나 이상의 시스템 작업(즉, 기능)을처리하는 한편 CPU는 다른 작업들을 처리한다. 따라서 CPU와 주 메모리 사이의 데이타 교환은 감소되고, 전력 소비를 낮춘다. 또한, 임시의 IC를 추가하지도 않고, 그에 수반되는 비용 및 크기도 추가되지 않는다. 일반적이지만 필수적인 것은 아닌 것으로, 작업들은 명령 레벨 또는 명령 그룹 레벨 보다는 오히려 서브 애플리케이션의 레벨(예를 들어 프레임 레벨)에 있다. ASSPU에 할당된 기능들은 일반적으로 CPU의 프로그램에서는 제외되거나 삭제된다. 그러한 기능의 예는 영상을 압축하거나, 영상을 압축해제하는 것, 영상을 한 컬러 공간으로부터 다른 컬러 공간으로 변환시키는 것 등이다.
할당이 명령 레벨 또는 명령 그룹 레벨 이외의 레벨에 있다면, 예를 들어 ASSPU에 대해서는 CPU의 명령 캐슁을 공유할 필요가 없기 때문에, ASSPU와 CPU 사이의 동기화는 명령 레벨에 있는 할당에 비교하여 단순화될 수 있음을 유의한다.
본 발명의 한 바람직한 실시예에서, CPU IC와 DRAM IC(ASSPU 포함) 사이의 물리적 인터페이스는 CPU IC와 표준 DRAM IC(ASSPU 제외) 사이의 물리적 인터페이스의 산업 표준에 따른다. 본 발명의 다른 바람직한 실시예에서, 전용의 제어 및/또는 상태 라인이 부가된다. 예를 들어, 부가된 핀이 CPU로의 인터럽트 신호에 대하여 및/또는 액세스가 표준 메모리 액세스(실시예에서 액세스의 어드레스는 액세스의 종류를 구분하기 위하여 사용되지 않음)이기 보다는 ASSPU에 의해 수행되는 태스크에 관련됨을 나타내는 신호에 대하여 이용될 수 있다.
도 4는 비디오 성능을 갖는 셀룰라 폰에 대한 본 발명의 바람직한 실시예를 나타낸다. CPU(410)는 CPU(410)가 로직 삽입 메모리(440) 내에서 ASSPU와 통신하기 위한 소프트웨어 디바이스 드라이버를 필요로 하는 점에서 비디오 성능을 갖지 않는 CPU와 다르다. CPU(410)는 비디오 및/또는 그래픽 데이터를 로직 삽입 메모리(440)에 전송한다.
도 5는 본 발명의 바람직한 실시예에 따른 로직 삽입 메모리(440)의 내부 구조를 나타낸다. 트래픽 관리 유닛(510), ASSPU(505) 및 특수 데이터 뱅크(520)를 제외하고, 나머지 모듈은 DRAM 설계에서 공통적이므로 더 설명하지 않는다. 이 예에서, 1개 데이터 뱅크(520)는 CPU(410) 및 ASSPU(505)에 의해 액세스될 수 있는 특수 데이터 뱅크이고, 다른 3개 데이터 뱅크는 CPU(410)에 의해서만 사용되는 표준 뱅크인 4개의 데이터 뱅크가 있다고 가정한다. 예를 들어, CPU(410)는 캐쉬를 놓쳤을 경우에 표준 뱅크(530)에 액세스 할 수 있다. 즉, CPU(410)가 판독하려고 하는 데이터가 캐쉬 메모리에 없을 경우에, CPU는 뱅크(530)으로부터 데이터를 판독한다. 도 5에 도시된 바람직한 실시예는 1:3 특수:표준 뱅크 스플릿에 의해 한정되지 않고 적어도 하나의 특수 뱅크와 적어도 하나의 표준 뱅크만을 필요로 한다.
특수 버스(550)가 ASSPU(505)와 특수 뱅크(520)로 접속된다. 이하의 설명과 첨부된 청구항에서, "버스" 및 "버스 인터페이스" 용어는 복수의 "버스들" 및 "버스 인터페이스들"을 각각 포함하도록 파악되어야 한다. 필수적이지는 않지만 전형적으로, 특수 버스(550)가 ASSPU(505)가 특수 뱅크(520)의 최대 활용과 낮은 주파수에서의 작동을 가능케 하는데 로직 삽입 메모리(440) 내의 다른 버스(580)에 비해 광범위하다.
ASSPU(505)는 예를 들어, 압축, 압축 복원, 필터링 등에 의해 이미지/비디오 데이터를 처리한다. 결과는 일시적으로 특수 뱅크(520)에 저장된다.
트래픽 관리 유닛(TMU)(510)이 CPU(410)와 ASSPU(505)가 특수 뱅크(520)로 액세스를 공유하도록 한다. CPU(410)는 필수적이지는 않지만 전형적으로 ASSPU(505)를 새로운 데이터로 피딩하고 ASSPU(505)에 의해 처리 결과를 얻는 것을 제외하고는 특수 뱅크(520)에 액세스하지 않는다. TMU(510)는 비디오 및/또는 그래픽 데이터를 다른 데이터로부터 구별하므로 CPU(410)의 메모리 어드레스 버스에 나타나는 어드레스 범위 또는 CPU(410)와 매립 메모리(440)(예를 들어 제어 로직(540)에 접속됨) 사이의 인터페이스 내의 특수 신호에 바람직하게 기초하여 CPU(410)는 표준 뱅크(530) 보다는 특수 뱅크(520)에 액세스한다. 예를 들어, 전용의 신호는 CPU(410)에 의해 데이터가 비디오/그래픽 데이터임을 나타내도록 하이로 설정되고 CPU(410)에 의해 다른 데이터(일반적인 목적)를 나타내도록 로우로 설정되는 신호를 포함할 수 있다.
도 5에 기초한 한 바람직한 실시예에서, CPU(401)가 충돌시 우선권을 갖는다. CPU가 판독하는 동안 충돌이 발생하면, ASSPU(505)가 특수 뱅크(520)의 액세스를 풀도록 신호를 보내는 동안 TMU(510)가 싸이클을 정지시킨다. 일단 특수 뱅크(520)가 CPU(410)에 의해 액세스 가능하면, CPU가 싸이클을 판독하는 것이 완료되고 이어서 ASSPU(505)가 액세스를 회복할 수 있다.
CPU가 기록하는 경우에, ASSPU(505)가 특수 뱅크(520)의 액세스를 풀도록 신호를 보내는 동안 TMU(510)가 기록된 데이터를 버퍼한다. 일단 특수 뱅크(520)가CPU(410)에 액세스할 수 있으면, TMU(510)가 데이터를 일시적으로 버퍼링하기를 시작하면서 CPU 기록 싸이클을 에뮬레이트한다.
어떤 경우에, 특정 응용에 대하여 CPU(410)의 동기화를 통하여 충돌이 감소되거나 제거될 수 있다. 예를 들어, 비디오 압축 복원의 경우에, CPU(410)가 압축된 데이터를 메모리(440)의 소정 버퍼에 기록하고 ASSPU(505)에 외부 메모리 인터페이스를 거쳐 전달된 커맨드 데이터 워드를 통해 통지하고, 압축 데이터의 다음 로드를 다른 버퍼에 기록하고, ASSPU(505)에 통지한다. 더블 또는 멀티플 버퍼의 설계가 이외의 메모리 공간을 사용하지만, 특정 충돌 상황 없이 안전하게 CPU(410)와 ASSPU(505)의 메모리 부분의 중재를 유지하도록 한다.
내장 메모리(440)의 내부 구성에 대한 다른 바람직한 실시에가 도 12에 도시되어 있다. 상기 바람직한 실시예에서, CPU(410)는 특수 뱅크(520)내의 특수 어드레스에 맵핑된 ASSPU(505)의 레지스터(1215)만을 액세싱할 수 있다. 따라서, CPU(410)는 뱅크(520)를 특정하기 위한 "직접" 액세싱을 하지 않는다. 대신, CPU(410)는 ASSPU(505)의 레지스터(1215)로부터의 값을 기입 및 판독한다. 예를 들어, 레지스터(1215)는 CPU(410)가 기입하는 입력 FIFO 레지스터(1230)와, CPU(410)가 판독하는 출력 FIFO 레지스터(1240)를 포함할 수 있다. 상기 예에 대하여 계속해서 설명하자면, 바람직하게는 레지스터(1215) 또한 FIFO 레지스터(1230 및 1240)의 채워짐/빔 상태를 각각 나타내는 CPU(410)에 의해 판독가능한 2개의 추가 레지스터(1280 및 1290)를 포함한다. 예를 들어, 입력 FIFO 레지스터(12390)는 물리적으로 256 바이트 크기를 가지며 FIFO(1230)에 20 바이트가 채워지면,CPU(410)는 오버플로가 발생하기 전에 236 바이트만을 기입할 수 있다. 특수 버스(1250)가 ASSPU(505)를 다른 뱅크(520)와 접속시킨다. 필수적이지는 않지만 통상적으로, 특수 버스(550)는 로직 삽입 메모리(440)내의 다른 버스(580)보다 더 넓어서, ASSPU(505)를 특수 뱅크(520)를 최대로 이용하게 할 수 있고, 저 주파수에서 동작할 수 있게 한다. 특수 버스(1250)는 입력 레지스터(1230), 출력 레지스터(1240), 및 ASSPU(505)에 의해 공유된다. ASSPU(505)가 특수 뱅크(520)를 액세싱하지 않으면, TMU(1210)는 예비 사이클을 이용하여, 특수 뱅크(1220)에서 출력 FIFO(1240)로 데이터를 판독하고, 입력 FIFO(1230)로부터의 데이터를 특수 뱅크(1220)에 기입한다.
TMU(1210)는 어드레스에 기초하거나 혹은 상술된 바와 같은 제어 로직에 접속된 전용 신호에 의해, CPU(410)에 의해 표준 뱅크(530) 혹은 특수 뱅크(520)로의 액세싱을 구별한다.
TMU(1210)는 디멀티플렉서(1260) 및 멀티플렉서(1270)를 제어한다. 디멀티플렉서(1260)는 TMU(1210)로부터의 제어 신호에 따라, 데이터 입력 버퍼(540)로부터의 하나의 입력 및 2개의 출력과, 데이터 버스(580) 또는 FIFO 입력 레지스터(1230)를 갖는다. 멀티플렉서(1270)는 (데이터 버스(580으로부터 혹은FIFO 레지스터(1240)로부터) 2개의 입력과, 데이터 출력 버퍼(545)로의 하나의 출력을 갖는다. TMU(1210)로부터의 제어 신호는 2개의 입력 중 어느 것이 데이터 출력 버퍼(545)에 전달될 지를 선택한다. 도 12에 도시된 바람직한 실시예에서, CPU(410)는 ASSPU(505)가 특수 뱅크(520)에 접속할 수 있는 동일한 시간에, 특수뱅크(520)내의 특수 어드레스에 맵핑된 레지스터(1215)를 액세싱할 수 있다.
시스템(400)에 의해 비디오 감압 예의 단계는 이제, 도 6을 참조하여 설명될 것이다. CPU(410)는 단계 602에서 새로운 압축 프레임이 메모리에 입력되기 시작했던 ASSPU(505)를 통지한다. 상기 통지는 예를 들어, 메모리(440)와 CPU(410) 간의 외부 인터페이스에 걸쳐 전달된 커맨드 데이터 워드를 통해 행해질 수 있다. 상기 감압 프레임은 메모리에 입력되기 시작한다. 항상 필요하지는 않지만 통상적으로, 프레임내의 데이터 순서는 미리 규정되지만, 다른 한편으로는 프레임의 어느 부분이 기입될 지를 나타내기 위해 어드레스가 사용되거나, 또는 상기 데이터에 특수 프리픽스가 사용될 수 있다. 바람직한 실시예에 따라, 상기 압축 프레임은 특수 뱅크(520) 혹은 입력 FIFO 레지스터(1230)에 기입될 수 있다. 단계 604에서, ASSPU(505)는 새로운 프레임을 감압하기 시작한다. 단계 608에서, ASSPU(505)는 비디오의 제1 세그먼트가 준비되었음(이 예에서 감압됨)을 CPU(410)에 통지하기 위한 플래그를 할당한다. 상기 플래그는 에를 들어 기입에 의해 특수 뱅크(520)내의 제어 메모리 위치 또는 뱅크(520)내의 메모리에 맵핑되지 않은 뱅크(520) 외부의 제어 레지스터에 할당될 수 있다. CPU(410)는 주기적으로 이들 제어 메모리 위치 혹은 제어 레지스터를 폴링한다(단계 606). (도 6에 도시되지 않은) 다른 예에서, ASSPU(505)는 예를 들어, CPU(410)를 방해하기 위해 CPU(410)와 로직 삽입 메모리(440) 간의 인터페이스에서의 전용 신호를 사용하여 데이터의 특정 부분이 이미 처리되었음을 CPU(410)에 시그널링한다. 단계 610에서, CPU(410)는 바람직한 실시예에 따라서, 특수 뱅크(520)로부터 또는 출력 FIFO 레지스터(1240)로부터 대기 감압 세그먼트를 판독한다. 판독 세그먼트의 CPU(410)에 의해 더 처리함으로써, 예를 들어 대기 세그먼트의 송신, SIM 카드 혹은 플래시, 하드 디스크 등에 상기 세그먼트의 저장, 및/또는 LCD(120) 혹은 그와 등가의 표시 모듈 상의 세그먼트의 표시는 본 발명의 범위 이외이다.
단계 610, 612, 614, 및 616은 프레이내의 각각의 후속 세그먼트 동안 반복된다. 단계 618에서, CPU(410)는 메모리로의 현 프레임의 기입을 완료한다. 단계 620에서, ASSPU(505)는 마지막 세그먼트가 대기임을 CPU(410)에게 통지하는 플래그를 할당한다. 단계 622에서, CPU(410)는 메모리로의 다음 압축 프레임의 기입을 개시한다. 다음 압축 프레임의 기입은 이전 프레임의 마지막 대기 세그먼트를 판독하기 이전에 발생할 수 있음을 주의하도록 하자. 단계 624에서, CPU(410)는 새로운 압축 프레임이 메모리에 입력되기 시작하였음을 통지한다. 단계 626에서, ASSPU(505)는 새로운 프레임을 감압하기 시작하고 상기 처리가 새롭게 시작한다.
대안의 기능적 순서로, CPU(410)와 ASSPU(505) 간에는 통지가 없거나 혹은 거의 없다. 예를 들어, 도 12에 도시된 바와 같이 내부 구성을 가정하면, CPU(410)는 출력 FIFO(1240)와 결합된 비어있는 레지스터(1290)의 판독에 초된 대기 세그먼트가 존재함을 인지할 수 있다. 유사하게는, ASSPU(505)가 특수 뱅크(520)에 충분한 액세싱을 하기 때문에, ASSPU(505)는 처리를 요구하는 특수 뱅크(520)로 임의의 새로운 데이터가 입력되었는지를 주기적으로 체크할 수 있다. 따라서, 상기 대한의 기능적 순서로, 하나 이상의 단계 608, 614, 620, 624, 및 단계 602의 통지 부분이 생략될 수 있다. 또한, 단계 606은 CPU(410)가 출력FIFO(1240)에 결합된 비어있는 레지스터(1290)를 체킹하는 단계로 대체될 수 있다.
도 7은 본 발명에 따른 비디오 표시 능력을 가진 셀룰러 폰의 다른 실시예를 도시하고 있으며, 여기서 표시될 데이터는 CPU(710)에 의해 판독되지 않고, 대신에 로직 삽입 메모리(740)에 의해 직접 LCD(120)로 전송된다. 데이터의 판독과 LCD(120)로의 데이터 전송이 생략될 수 있기 때문에, CPU(710)의 소프트웨어는 CPU(410)의 소프트웨어 보다 간단하게 될 수 있다. 본 실시예에서, 로직 삽입 메모리(740) IC는 표준 DRAM 칩의 핀 아웃을 갖지 않으며, 그 구성은 공지된 종래의 구성과는 상이하다(내장형 메모리(440) IC의 한 구체예와는 대조적으로). 예컨대, 한 실시예에서, 표준 DRAM의 핀들에 부가하여 로직 삽입 메모리(740) IC의 핀 아웃은 다음의 추가적인 핀을 포함할 수 있다:
VLCK - 비디오 화소 클럭 (출력)
VS - 수직 비디오 동기 (출력)
HS - 수평 비디오 동기 (출력)
Data[7:0] - 비디오 화소 데이터(8 출력 핀)
로직 삽입 메모리(740)로 데이터를 기입하는 CPU(710)의 프로세스는 도 6에 도시된 프로세스와 유사하다. 그러나, LCD(120)로의 부가적인 전송을 위해 로직 삽입 메모리(740)로부터 데이터를 판독하는 CPU(710)를 대신하여, 로직 삽입 메모리(740)로부터 LCD(120)로 데이터가 직접 전송된다.
도 13은 본 발명의 한 실시예에 따른 로직 삽입 메모리(740)의 내부 구성의 일례를 도시하고 있다. 도 14는 본 발명의 다른 실시예에 따른 로직 삽입메모리(740)의 또다른 내부 구성을 도시하고 있다.
도 13 및 도 14에 있어서, 로직 삽입 메모리(740)는 LCD(120)로의 데이터의 직접 전송을 위해 ASSPU(505)에 접속된 부가적인 LCD 버스(1310)를 포함한다. 도 13 및 도 14에 도시된 실시예에 있어서, ASSPU(505) 및 TMU(510) 또는 TMU(1210)는 동일한 것으로 간주되며 따라서 LCD 버스(1310)가 없는 실시예에서와 동일한 번호를 붙인다. 그러나 또다른 실시예에서, 도 13 및 14의 내부 구성에 있어서의 ASSPU 및 TMU는 LCD 버스(1310)가 없는 실시예와 다를 수도 있다.
도 8을 참조하면, 본 발명의 한 실시예에 따른, 도 7과 같이 구성된 셀룰러 폰을 위한 그래픽 가속기에 의한 처리를 도시하고 있다. CPU(710)가 그래픽 화소 ×화소를 기입하는 대신에, CPU(710)는 모든 명령을 ASSPU(505)로 전송하고 ASSPU(505)는 그래픽 화소 ×화소를 LCD(105)로 기입한다. 도 8은 CPU 메모리 버스에 대한 트래픽 감소를 강조하고 있다.
본 발명이 적용되지 않는 셀룰러 폰 시스템에 있어서, 데이터 교환에 대한 고수준의 그래픽 명령의 처리는, CPU 내에서, 또는 CPU와 LCD를 연결(bridge)하는 DSP IC 또는 주문형 신호 처리기에 의해 수행된다. 양자 모두의 경우에 있어서, 그래픽 처리 로직 및 메모리 간의 데이터 교환은 맹렬하고 많은 전력이 소모된다. 본 발명의 셀룰러 폰은 로직 삽입 메모리 IC의 일부로서 그래픽 처리 로직을 갖는다. 이는 CPU IC와 메모리 IC 간의 "외부" 데이터 교환을, 동일한 IC 상의 메모리 어레이의 일부와 ASSPU 간의 "내부" 데이터 교환으로 대체한다. 내부적이며 낮은 주파수이기 때문에, 이러한 내부 교환은 전력 소모가 적다. 그러나, 데이터를LCD(120)로 건네주기 위해 CPU(410)가 메모리(440)로부터 처리된 데이터를 판독하는 실시예에 있어서, 데이터는 입/출력을 통과하며 전력이 소모된다. 예컨대, LCD(120)는 초당 60회로 갱신된 데이터를 필요로 한다. 따라서, 도 7 및 도 8에 도시된 실시예는 로직 삽입 메모리(740)를 LCD(120)에 직접 접속함으로써 소모 전력을 추가로 감소하는 것을 목적으로 한다.
본 발명의 로직 삽입 메모리는 다음의 실시예에 제시된 다른 응용예에 사용될 수 있다.
도 9는 본 발명의 한 실시예에 따른 비디오 표시 능력을 갖춘 디지털 카메라를 도시하고 있다. 도시된 디지털 카메라 시스템은 디지털 스틸 카메라 또는 디지털 비디오 카메라일 수 있다. 본 발명은 비디오 표시 능력이 없는 카메라와 동일한 수의 칩을 사용하는 비디오 표시 능력을 갖춘 카메라를 제공한다. 카메라 백 엔드 프로세서(CBEP; 910)와 로직 삽입 메모리(440) 간의 상호작용은 도 4를 참조하여 설명된 CPU(410)와 로직 삽입 메모리(440) 간의 상호작용과 유사하며, 따라서 도 9는 간략하게 설명될 것이다. CBEP(910)는 비디오, 이미지 및/또는 그래픽 데이터를 로직 삽입 메모리(440)로 전송한다. 이러한 데이터는 CBEP의 메모리 어드레스 버스 상의 어드레스 범위 또는 CBEP(910)와 로직 삽입 메모리(440) 간의 인터페이스 내의 특정 전용 신호들에 의한 CBEP(910)와 로직 삽입 메모리(440) 간에 교환되는 다른(범용의) 데이터와는 구별된다. 이미지/비디오 데이터는 ASSPU(505)(도 5)에 의해 처리되며 특수 뱅크(520) 내에 일시적으로 저장된다.
처리는 특히 다음의 압축, 신장, 필터링 및 색-공간 변환 중 하나 이상의 처리를 포함하고 있다. ASSPU 505는 특수 세그먼트들이 이미 처리되었으며 예를 들어, CBEP(910)를 인터럽트하는데 사용될 수 있는 CBEP(910)-로직 삽입 메모리(440) 인터페이스에 전용 신호들을 사용함으로써 준비가 되었음을 CBEP(910)에 선택적으로 신호한다. 또다른 예로서, ASSPU(505)는 CBEP(901) 폴이 상술한 특수 메모리 위치에 있도록 함으로써, 예를 들어 제어 레지스터들이 특수 뱅크(520)의 어드레스들에 맵핑되도록 함으로써 세그먼트들이 준비 상태에 있음을 신호할 수 있다. 다음에 CBEP(910)는 이들 처리된 데이터 세그먼트들을 판독할 수 있다. 또다른 대안으로서, CBEP(910)는 출력 FIFO 레지스터(1240)과 관련된 공백/충만 레지스터 (1290)를 체크할 수 있다. 처리된 데이터에 대해 CBEP(910)에 의해 수행되는 동작들은 예를 들어 패킷의 전송, 플래시 카드(960), 플래시 메모리 칩(170) 혹은 예를 들어 하드 디스크 등의 다른 유형의 메모리로의 패킷의 저장하는 동작이나 LCD(120)나 다른 디스플레이 모듈에 패킷을 디스플레이하는 동작은 본 발명의 범주 밖이다. 바람직한 실시예에 있어서, CBEP(910)로부터의 외부 액세스와 ASSPU(505)로부터의 내부 액세스간의 충돌은 도 5를 참조하여 설명한 바와 같이 해결된다. 또다른 바람직한 실시예에 있어서, 도 12에 예시된 메모리(440)의 내부 구성을 이용함으로써 충돌이 방지되며, CBEP(910)은 특수 뱅크(520) 대신에 레지스터(1215)를 액세스할 수 있다.
CBEP(910)는 예를들어 CBEP(910) 캐시가 "미스(misses)"를 갖는 경우, OSD(On-Screen Display) 메모리, 그래픽 프레임 버퍼 등으로의 액세스와 같은 일반(범용) 데이터 교환을 위한 일반 뱅크들(530)을 액세스한다. 도 10은 디스플레이될 데이터가 CBEP(1010)에 의해 준비되지는 않았지만 대신에 로직 삽입 메모리(740)에 의해 LCD(120)에 순방향으로 직접 공급되는 경우, 본 발명에 따른 비디오 능력을 갖는 디지털 카메라 시스템의 바람직한 제2 실시예를 보여주고 있다. CBEP(1210)의 소프트웨어는 데이터를 판독하고 LCD(120)에 데이터를 전송하는 임무가 오프로드될 수 있기 때문에 CPU(910)의 소프트웨어 보다는 단순할 수 있다. 데이터를 로직 삽입 메모리(740)에 기록하는 CBEP(1010)의 처리는 도 9에 예시된 처리 보다는 단순하다. 그러나, LCD(120)로의 추가적인 전송을 위해 삽입 메모리(740)로부터 데이터를 판독하는 CBEP(1010) 대신에, 데이터는 로직 삽입 메모리(740)으로부터 LCD(120)에 바로 전송되므로 상술한 바와 같이 전력이 절감된다.
도 9 혹은 도 10의 시스템이 비디오 카메라인 일부 실시예의 경우, 시스템은 추가로 혹은 플래시 카드(960) 대신에 테이프 장치(도시 생략)를 포함할 수도 있다.
도 11은 본 발명의 바람직한 실시예에 따른 아날로그 및 디지털 입력 비디오 모두에 대한 개인용 비디오 기록 능력을 갖는 셋톱 박스의 블록도를 예시하고 있다. 업계에서의 공통적인 경향은 케이블용 혹은 위성이나 지상 방송용 디지털 TV 셋톱박스를 구비하여, 디지털 포맷으로 비디오(및 오디오)를 기록할 수 있도록 하는 것이다. 이러한 특징은 보편적으로 개인용 비디오 기록이라고 불리운다.
유입 신호는 디지털 스트림으로 압축되고, 이러한 특징은 주로 파일 포맷팅과 기록 동작에 관련된다. 그러나, 소스가 전통적인 아날로그 TV신호(NTSC/PAL/SECAM)인 경우, 동작은 (디지털 및) 고성능의 MPEG2 압축과 관련된다.
통상적으로 비록 필요하지는 않지만, 디지털 TV 셋톱 박스 시스템은 유입 비트 스트림을 파싱(parsing)하고 비디오를 신장시켜 디스플레이를 위해 전송하며, 오디를 신장하여 재생하는 것, 그리고 그래픽 사용자 인터페이스, 해독 관리, 전자 프로그래및 가이드 응용 등의 다른 기능을 책임지고 있는 STB 집적 프로세서를 구비하고 있다. 기저대 프로세서는 비록 필수적이지는 않다고 하더라도 128Mbit 이상의 대용량의 것을 사용한다.
이러한 프로세서는 소스가 디지털화되어 압축될 때 비디오 및 오디오를 책임질 수도 있다. 아날로그 신호로부터 소스화된 비디오의 저장을 지원하고, 또한 디지털 스트림으로부터 소스화된 비디오의 비트율 변환을 지원하기 위해, 비디오 압축이 요구된다. 셋톱 박스 시스템에 사용되는 압축 표준은 MPEG2이다. 이러한 표준은 상당히 메모리 집약형이면서도 계산이 요구되는 전력 집중형 처리이다.
로직 삽입 메모리(440)의 부가는 비디오 압축을 가능하게 한다. 이러한 문제 해결 방식은 내부 혹은 외부 DRAM에 전용 주문형 신호 프로세서를 부가하여 IC의 수, 비용, 전력, 그리고 DRAM이 외부 외부 메모리인 경우 DRAM을 용장으로 만들어 버리고 있는 종래 기술의 문제 해결 방식과 비교할 때 이점을 갖는 것이다. 이러한 방식은 MPEG2 압축 코어를 구비하는 STB 집적 프로세서를 강화시키고 MPEG2 압축 처리에 충분하도록 DRAM을 증가시킴으로써, 프로세스와 DRAM 간의 데이터 처리량의 병목 현상을 발생시키고 있는 제2 종래 기술과 비교하더라도 이점을 갖는것이다. 제2 종래 기술의 해법에서 2개의 DRAM IC를 사용하는 것, 즉 압축을 위한 것과 상기 DRAM IC에 프로세서를 연결하는 별도의 버스들과의 임무를 위해 나머지 IC를 사용하면 병목 현상을 해소할 수는 있지만, 비용면에서 그리고 DRAM이 용장이 되어 버린다.
도 11을 참조하면, 디지털 스트림으로부터 소스화된 비디오를 기록 하는 경우에는, 데이터는 모뎀(1104)을 통해 RF 수신기(1102)로부터 입력되고, 조건적 액세스 디스크램블러(1106)에 의해 선택적으로 해독되며, 이어서 STB 집적 프로세서(1110)에 입력된다. 이 경우, 데이터는 디스플레이를 위해 디코드 및 출력되는 것이 가능하지만, 포맷화되어 기억 매체 콘트롤러(1124)를 통해 최종 저장 매체(1126)에 전송될 수도 있다. 도 11에서는 최종 저장 매체(1126)는 자기 하드디스크이고, 저장 매체 콘트롤러(1124)는 하드 디스크 콘트롤러이지만, 최종 저장 매체(1126)는 DVD(Digital versatile disk), 디지털 테이프 등이 될 수도 있으며, 콘트롤러(1124)를 적절히 구비하고 있다.
아날로그 신호(1116)의 소스화된 비디오를 기록하는 경우에는, 아날로그 데이터는 디지털화되고 비디오 디코더(1122)에 의해 디코드되며, 셋톱 박스 STB의 통합 프로셋서(1110)을 통해 로직 삽입 메모리(440)에 전달된다. 내부 삽입 ASSPU(505)는 비디오 데이터를 압축한다. STB 통합 프로세서(1110)는 로직 삽입 메모리(440)으로부터의 데이터를 하드 디스크 콘트롤러(1124)에 전송하고, 다시 이 콘트롤러로부터 하드디스크(1126)에 데이터를 전달하게 된다. 대안적인 바람직한 실시예에 있어서, 비디오 디코더(1122)는 STB 통합 프로세서(1110)내에 필요한 변경을 가하여 형성될 수 있다.
상술한 바와 같이, 만일 비디오 소스가 디지털인 경우, 즉 비디오가 압축된 입력인 경우에도, 예를 들면, 저장하기 전에 보다 압축하기 위하여 인커밍 비디오의 비트-레이트를 감소시키기 위하여, MPEG2 압축이 필요할 수도 있다. 이는 본 발명의 로직 삽입 메모리(440)을 활용하여, 거의 완벽한 MPEG2 처리를 필요로 한다.
대용적으로, 로직 삽입 메모리로부터 압축된 비디오는 TV와 같은 디스플레이에 직접적으로 출력될 수 있다.
고성능, 고밀도 논리 처리 기능의 설계가 고성능 고밀도 메모리의 설계와는 다른 반도체 공정을 필요로 한다고 할지라도, ASSPU없는 메모리에 비해 메모리가 최적화된 반도체 공정을 이용하여 ASSPU를 구비한 메모리의 제조 비용 증가는 만일 논리량이 메모리량보다 현저하게 더 적은 경우 상대적으로 작다. 그러나, 전력 소비는 ASSPU와 특수 뱅크간의 내부에서의 데이타 교환으로 인해 상대적으로 크다. 전력 소비를 보다 구체적으로 나타내기 위하여, 다음 예가 제공된다:
Cin은 패럿(Farads) 단위의 내부 용량 부하이다.
Vin은 볼트(Volts) 단위의 내부 전원 전압이다.
B는 bits/second 단위의 데이타 처리의 유효 대역폭이다.
통상적인 예로서 가정하자 : Cin= 1 * 10-12Farad
Vin= 1.5 Volts
B = 200 * 106bits/sec,
따라서, 앞에서 계산된 바와 같이, 본 발명없이 6.25 mW 이상인 것에 비해,
P2= 10-12* 1.52* 200 * 106= 0.225 mW.
또한, 만일 ASSPU(505)가 DRAM 메모리내에 내장되어 있고 와이드 버스를 갖는다면, 본 발명은 DRAM으로 SRAM을 대체함으로써 SRAM을 절약할 수 있고, 이로써 DARM이 SRAM보다 더 고밀도이기 때문에 비용을 절감할 수 있다.
본 발명은 다음과 같은 하나 이상의 산업상의 조건하에서 특히 효과적이다.
1) 시스템은 낮은 전력 소비, 낮은 IC 개수(그리고/또는 작은 물리적 크기) 및 낮은 비용을 나타내는데 필요로 하고;
2) 디지털 신호 처리 기능(예를 들면, 비디오 압축, 해제 등)을 수행하는데 필요한 반도체 면적은 CPU의 동작과 디지털 신호 처리 기능의 동작에 필요한 전체적인 메모리를 동작하게 하는데 필요한 반도체 면적보다 훨씬 더 작으며;
3) 필요한 디지털 신호 처리 기능은 신호 처리 기능에 메모리를 필요로 하는 데이타 교환에 비해, CPU로 과대한 데이타 교환을 필요로 하지 않는다.
또한, 본 발명에 따른 시스템은 적합하게 프로그램된 컴퓨터일 수 있다는 것을 알 수 있다. 유사하게, 본 발명은 본 발명의 방법을 실행하기 위한 컴퓨터에의해 판독가능한 컴퓨터 프로그램을 고려할 수 있다. 더욱이, 본 발명은 본 발명의 방법을 실행하기 위한 기계에 의해 실시가능한 명령들의 프로그램이 유형적으로 내장한 기계 판독형 메모리를 고려할 수 있다.
본 발명을 한정된 수의 실시예에 대해서 기술하였지만, 본 발명의 많은 변화, 변경 및 다른 응용들이 구현될 수 있다는 것을 이해할 수 있을 것이다.
본 발명은 주문형 신호 처리 유닛(ASSPU)이 내장된 특수 메모리 장치를 제공하며, ASSPU는 주처리 유닛 대신에 하나 이상의 사전 결정된 태스크를 처리하며, ASSPU와 주처리 유닛은 메모리칩 상의 메모리를 동시에 액세스할 수 있다.

Claims (26)

  1. 적어도 하나의 특수 메모리 뱅크와 적어도 하나의 표준 메모리 뱅크를 포함하는 적어도 2개의 개별 메모리 뱅크를 포함하는 메모리 모듈;
    상기 메모리 모듈과 함께 동일 다이에 내장되고, 내부 버스를 통해 상기 적어도 하나의 특수 메모리 뱅크에 대한 판독/기록 액세스를 가지며, 적어도 하나의 사전 결정된 태스크를 실행하도록 구성된 주문형 신호 처리 유닛(application specific signal processing unit; ASSPU);
    외부 주 처리 유닛을 상기 메모리 모듈에 결합시키며, 상기 ASSPU에 의해 실행될 수 있는 상기 적어도 하나의 사전 결정된 태스크 중 적어도 하나와 관련된 데이타에 대해 상기 주 처리 유닛이 상기 적어도 하나의 특수 메모리 뱅크를 액세스할 수 있도록 하고, 상기 주 처리 유닛이 상기 적어도 하나의 표준 메모리 뱅크를 액세스할 수 있도록 하는 버스 인터페이스; 및
    상기 주 처리 유닛에 의한 상기 적어도 하나의 표준 메모리 뱅크 중 적어도 하나에 대한 액세스와 동시에 상기 ASSPU에 의한 상기 적어도 하나의 특수 메모리 뱅크 중 적어도 하나에 대한 액세스를 허용하는 트래픽 관리 유닛(TMU)
    을 포함하는 특수 메모리 장치(specialized memory device).
  2. 제1항에 있어서, 외부 표시 장치에 결합되는 버스 인터페이스를 더 포함하고, 상기 적어도 하나의 특수 메모리 뱅크는 표시 데이타의 전체 프레임을 저장하기에 충분한 메모리 영역을 포함하는 특수 메모리 장치.
  3. 제1항 또는 제2항에 있어서, 상기 TMU는 상기 주 처리 유닛의 메모리 어드레스 버스 상에 나타나는 어드레스 범위에 기초하여 상기 주 처리 유닛이 액세스하기를 원하는 뱅크를 결정하는 특수 메모리 장치.
  4. 전술한 항 중 어느 하나에 있어서, 상기 주 처리 유닛에 대한 상기 버스 인터페이스는 상기 ASSPU가 내장되지 않은 메모리 모듈과 상기 주 처리 유닛 간의 버스 인터페이스를 위한 공업 표준을 따르는 특수 메모리 장치.
  5. 전술한 항 중 어느 한 항에 있어서, 상기 메모리 모듈은 다이나믹 랜덤 액세스 메모리이고, 상기 주 처리 유닛은 적어도 중앙 처리 유닛(CPU)과 디지탈 신호 처리기(DSP)를 포함하는 그룹으로부터 선택되는 특수 메모리 장치.
  6. 전술한 항 중 어느 한 항에 있어서, 상기 주 처리 유닛은 애플리케이션을 실행하고, 상기 인터페이스를 통해 상기 ASSPU에 상기 애플리케이션의 메모리 집약 서브 애플리케이션을 할당하도록 구성된 특수 메모리 장치.
  7. 제6항에 있어서, 상기 애플리케이션은 비디오 및/또는 그래픽을 포함하는 특수 메모리 장치.
  8. 전술한 항 중 어느 한 항에 있어서, 상기 주 처리 유닛을 수용하는 모듈을 포함하는 시스템에 사용되는 특수 메모리 장치.
  9. 제8항에 있어서, 상기 시스템은 적어도 셀룰러 전화, 핸드-헬드 PC, 디지탈 비디오 카메라, 디지탈 스틸 카메라 및 셋톱 박스를 포함하는 그룹으로부터 선택되는 특수 메모리 장치.
  10. 메모리 모듈 내의 메모리를 주 처리 유닛과, 상기 메모리 모듈과 동일한 다이에 내장된 주문형 신호 처리 유닛(ASSPU) 간에 공유하기 위한 방법 -상기 메모리 모듈은 상기 주 처리 유닛과 상기 ASSPU에 의해 공유되는 적어도 하나의 뱅크와, 상기 주 처리 유닛에 의해 액세스 가능한 적어도 하나의 표준 뱅크를 포함함-에 있어서,
    상기 주 처리 유닛이 상기 ASSPU에 의해 실행가능한 사전 결정된 태스크와 관련된 데이타에 대해, 상기 주 처리 유닛과 상기 ASSPU에 의해 공유되는 메모리 모듈의 뱅크를 액세스하기를 원하는지 여부를 결정하는 단계; 및
    상기 주 처리 유닛이 상기 메모리 모듈의 비공유(표준) 뱅크를 액세스하기를 원하는 것으로 결정된 경우, 상기 주 처리 유닛에 의한 상기 비공유 뱅크에 대한 액세스를 허용하고, 상기 ASSPU에 의한 상기 공유 뱅크에 대한 액세스를 동시에 허용하는 단계
    를 포함하는 방법.
  11. 제10항에 있어서, 상기 주 처리 유닛이 공유 뱅크를 액세스하기를 원하는 것으로 결정된 경우, 상기 주 처리 유닛이 상기 공유 뱅크를 액세스하는 동안 상기 ASSPU가 상기 공유 뱅크를 액세스하는 것을 금하는 방법.
  12. 적어도 하나의 특수 메모리 뱅크를 포함하는 메모리 모듈;
    상기 메모리 모듈과 함께 동일한 다이에 내장되고, 내부 버스를 통해 상기 적어도 하나의 특수 메모리 뱅크에 대한 판독/기록 액세스를 가지며, 적어도 하나의 사전 결정된 태스크를 실행하도록 구성된 주문형 신호 처리 유닛(ASSPU);
    주 처리 유닛을 상기 메모리 모듈에 결합시키고, 상기 주 처리 유닛이 상기 적어도 하나의 특수 뱅크의 적어도 하나의 어드레스로 맵핑되는 상기 ASSPU의 적어도 하나의 레지스터를 액세스할 수 있도록 하는 버스 인터페이스; 및
    상기 적어도 하나의 레지스터 중 적어도 하나에 대한 상기 주 처리 유닛에 의한 액세스를 허용하고, 상기 적어도 하나의 어드레스 중 상기 적어도 하나를 포함하는 상기 적어도 하나의 특수 메모리 뱅크 중 적어도 하나에 대한 상기 ASSPU에 의한 액세스를 동시에 허용하는 트래픽 관리 유닛(TMU)
    을 포함하는 특수 메모리 장치.
  13. 제12항에 있어서, 상기 메모리 모듈은 적어도 하나의 표준 뱅크를 더 포함하고, 상기 버스 인터페이스는 상기 주 처리 유닛이 상기 적어도 하나의 표준 메모리 뱅크 중 적어도 하나를 액세스할 수 있도록 하고, 상기 TMU는 상기 주 처리 유닛에 의한 상기 적어도 하나의 표준 메모리 뱅크 중 적어도 하나에 대한 액세스와 동시에 상기 ASSPU에 의한 상기 적어도 하나의 특수 뱅크 중 적어도 하나에 대한 액세스를 허용하는 특수 메모리 장치.
  14. 제12항 또는 제13항에 있어서, 상기 ASSPU가 상기 적어도 하나의 특수 뱅크를 액세스할 수 있도록 하기 위한 특수 버스를 더 포함하고, 상기 적어도 하나의 레지스터는 입력 FIFO 레지스터와 출력 FIFO 레지스터를 포함하며, 상기 ASSPU가 상기 적어도 하나의 특수 뱅크를 액세스하기 위해 상기 특수 버스를 사용하고 있지 않는 스페어 싸이클 동안에 상기 TMU는 상기 입력 FIFO 레지스터로부터 상기 적어도 하나의 특수 뱅크 중 적어도 하나로 기록하고 상기 적어도 하나의 특수 뱅크 중 적어도 하나로부터 상기 출력 FIFO 레지스터로 판독하기 위하여 상기 특수 버스 상의 스페어 싸이클을 이용하는 특수 메모리 장치.
  15. 제12항 내지 제14항 중 어느 한 항에 있어서, 외부 표시 장치에 결합되는 버스 인터페이스를 더 포함하고, 상기 적어도 하나의 특수 메모리 뱅크는 표시 데이타의 전체 프레임을 저장하기에 충분한 메모리영역을 포함하는 특수 메모리 장치.
  16. 제12항 내지 제15항 중 어느 한 항에 있어서, 상기 TMU는 상기 주처리 유닛의 메모리 어드레스 버스 상에 나타나는 어드레스 범위에 기초하여 상기 주 처리 유닛이 상기 적어도 하나의 특수 뱅크 중 적어도 하나를 액세스하기를 원하는지의 여부를 결정하는 특수메모리 장치.
  17. 제12항 내지 제16항 중 어느 한 항에 있어서, 상기 주 처리 유닛에 대한 상기 버스 인터페이스는 상기 ASSPU가 내장되지 않은 메모리 모듈과 상기 주 처리 유닛 간의 버스 인터페이스를 위한 공업 표준을 따르는 특수 메모리 장치.
  18. 제12항 내지 제17항 중 어느 한 항에 있어서, 상기 메모리 모듈은 다이나믹 랜덤 액세스 메모리이고, 상기 주 처리 유닛은 적어도 중앙 처리 유닛(CPU) 및 디지탈 신호 처리기(DSP)를 포함하는 그룹으로부터 선택되는 특수메모리 장치.
  19. 제12항 내지 제18항 중 어느 한 항에 있어서, 상기 주 처리 유닛은 애플리케이션을 실행하고, 상기 인터페이스를 통해 상기 ASSPU에 상기 애플리케이션의 메모리 집약 서브 애플리케이션을 할당하도록 구성된 특수 메모리 장치.
  20. 제19항에 있어서, 상기 애플리케이션은 비디오 및/또는 그래픽을 포함하는 특수 메모리 장치.
  21. 제12항 내지 제20항 중 어느 한 항에 있어서, 상기 주 처리 유닛을 수용하는모듈을 포함하는 시스템에 사용되는 특수 메모리 장치.
  22. 제21항에 있어서, 상기 시스템은 적어도 셀룰러 전화, 핸드-헬드 PC, 디지탈 비디오 카메라, 디지탈 스틸 카메라 및 셋톱 박스를 포함하는 그룹으로부터 선택되는 특수메모리 장치.
  23. 메모리 모듈 상의 메모리를, 주 처리 유닛과, 상기 메모리 모듈과 동일한 다이에 내장되고 적어도 하나의 사전 설정된 태스크를 실행하도록 구성된 주문형 신호 처리 유닛(ASSPU) 간에 공유하기 위한 방법 -상기 메모리 모듈은 적어도 하나의 특수 메모리 뱅크를 포함함-에 있어서,
    상기 주 처리 유닛이 상기 적어도 하나의 특수 메모리 뱅크 중 하나 내의 적어도 하나의 사전 결정된 어드레스 중 하나를 액세스하기를 원하는지의 여부를 결정하는 단계;
    상기 주 처리 유닛이 상기 적어도 하나의 특수 뱅크 중 하나 내의 상기 적어도 하나의 사전 결정된 어드레스 중 하나를 액세스하기를 원하는 것으로 결정된 경우, 상기 주 처리 유닛에 의해 상기 하나의 어드레스로 맵핑된 상기 ASSPU의 적어도 하나의 레지스터에 대한 액세스를 허용하는 단계; 및
    상기 주처리 유닛이 액세스하는 동안, 상기 ASSPU가 원한다면 상기 ASSPU가 상기 적어도 하나의 어드레스를 포함하는 상기 하나의 특수 뱅크를 액세스하는 것을 허용하는 단계
    를 포함하는 방법.
  24. 제10항 또는 제11항에 따른 방법을 실행하기 위한 컴퓨터 코드부가 저장된 컴퓨터 프로그램 제품.
  25. 제23항에 따른 방법을 실행하기 위한 컴퓨터 코드부가 저장된 컴퓨터 프로그램 제품.
  26. 메모리 모듈 상의 메모리를, 주 처리 유닛과, 상기 메모리 모듈과 동일한 다이에 내장되고 적어도 하나의 사전 설정된 태스크를 실행하도록 구성된 주문형 신호 처리 유닛(ASSPU) 간에 공유하기 위한 방법 -상기 메모리 모듈은 적어도 하나의 특수 메모리 뱅크를 포함함-에 있어서,
    상기 주처리 유닛이 적어도 한의 특수 메모리 뱅크 중 하나를 액세스하기를 원하는지의 여부를 결정하는 단계;
    상기 주처리 유닛이 상기 적어도 하나의 특수 뱅크 중 하나를 액세스하기를 원하는 것으로 결정된 경우, 상기 주처리 유닛이 상기 하나의 특수 뱅크를 간접적으로 액세스하는 것을 허용하는 단계; 및
    상기 주처리 유닛이 액세스하는 동안, 상기 ASSPU가 원한다면 상기 ASSPU가 상기 하나의 특수 뱅크를 직접 액세스하는 것을 허용하는 단계
    를 포함하는 방법.
KR10-2002-0032648A 2001-06-11 2002-06-11 특수 메모리 장치 KR100489719B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US29673301P 2001-06-11 2001-06-11
US60/296,733 2001-06-11

Publications (2)

Publication Number Publication Date
KR20020095126A true KR20020095126A (ko) 2002-12-20
KR100489719B1 KR100489719B1 (ko) 2005-05-16

Family

ID=23143319

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0032648A KR100489719B1 (ko) 2001-06-11 2002-06-11 특수 메모리 장치

Country Status (6)

Country Link
US (1) US7174415B2 (ko)
EP (1) EP1267272B1 (ko)
JP (1) JP2003177958A (ko)
KR (1) KR100489719B1 (ko)
AT (1) ATE521040T1 (ko)
IL (1) IL150149A (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015390B2 (en) * 2003-04-25 2015-04-21 Micron Technology, Inc. Active memory data compression system and method
US7486297B2 (en) * 2003-09-22 2009-02-03 Ati Technologies, Inc. Method and apparatus for image processing in a handheld device
CN100363910C (zh) * 2004-04-01 2008-01-23 光宝科技股份有限公司 快速释放控制权的打印机驱动方法
US7339837B2 (en) * 2004-05-18 2008-03-04 Infineon Technologies Ag Configurable embedded processor
US7353319B2 (en) * 2005-06-02 2008-04-01 Qualcomm Incorporated Method and apparatus for segregating shared and non-shared data in cache memory banks
US10754793B2 (en) * 2018-02-28 2020-08-25 Micron Technology, Inc. Memory module data object processing systems and methods
KR102665410B1 (ko) 2018-07-30 2024-05-13 삼성전자주식회사 메모리 장치의 내부 프로세싱 동작 방법
CN115803811A (zh) * 2020-08-31 2023-03-14 麦姆瑞克斯公司 用于存储器处理单元架构的层间通信技术

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0446721B1 (en) 1990-03-16 2000-12-20 Texas Instruments Incorporated Distributed processing memory
JPH04248642A (ja) 1991-01-18 1992-09-04 Kenneth W Iobst メモリ集積回路のpimチップおよびその制御方法
EP0525308A1 (en) * 1991-07-31 1993-02-03 International Business Machines Corporation Memory map for processor cache macro
JPH05342140A (ja) 1992-06-12 1993-12-24 Fuji Xerox Co Ltd データ処理装置
US6000027A (en) 1992-08-25 1999-12-07 Texas Instruments Incorporated Method and apparatus for improved graphics/image processing using a processor and a memory
KR940004434A (ko) 1992-08-25 1994-03-15 윌리엄 이. 힐러 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법
JPH08221313A (ja) 1995-02-14 1996-08-30 Hitachi Ltd 半導体装置
US5870625A (en) * 1995-12-11 1999-02-09 Industrial Technology Research Institute Non-blocking memory write/read mechanism by combining two pending commands write and read in buffer and executing the combined command in advance of other pending command
US5854638A (en) * 1996-02-02 1998-12-29 Opti Inc. Unified memory architecture with parallel access by host and video controller
US5815167A (en) * 1996-06-27 1998-09-29 Intel Corporation Method and apparatus for providing concurrent access by a plurality of agents to a shared memory
US6070002A (en) * 1996-09-13 2000-05-30 Silicon Graphics, Inc. System software for use in a graphics computer system having a shared system memory
KR19980022263A (ko) * 1996-09-20 1998-07-06 김광호 비디오 메모리를 시스템 메모리로 이용하는 방법
US6148389A (en) * 1997-03-24 2000-11-14 Texas Instruments Incorporated PC circuits, systems and methods
US6185704B1 (en) 1997-04-11 2001-02-06 Texas Instruments Incorporated System signaling schemes for processor and memory module
US5941968A (en) * 1997-04-14 1999-08-24 Advanced Micro Devices, Inc. Computer system for concurrent data transferring between graphic controller and unified system memory and between CPU and expansion bus device
US6026478A (en) 1997-08-01 2000-02-15 Micron Technology, Inc. Split embedded DRAM processor
JP3786521B2 (ja) 1998-07-01 2006-06-14 株式会社日立製作所 半導体集積回路及びデータ処理システム
US6330646B1 (en) * 1999-01-08 2001-12-11 Intel Corporation Arbitration mechanism for a computer system having a unified memory architecture

Also Published As

Publication number Publication date
IL150149A (en) 2008-08-07
JP2003177958A (ja) 2003-06-27
ATE521040T1 (de) 2011-09-15
EP1267272B1 (en) 2011-08-17
IL150149A0 (en) 2002-12-01
US7174415B2 (en) 2007-02-06
US20030012062A1 (en) 2003-01-16
KR100489719B1 (ko) 2005-05-16
EP1267272A2 (en) 2002-12-18
EP1267272A3 (en) 2006-06-28

Similar Documents

Publication Publication Date Title
US8001294B2 (en) Methods and apparatus for providing a compressed network in a multi-processing system
US6981073B2 (en) Multiple channel data bus control for video processing
US7821519B2 (en) Scalable unified memory architecture
CN100369024C (zh) 直接存储访问控制装置和图像处理系统以及传输方法
US20070043886A1 (en) Semiconductor integrated circuit device
CN112235579B (zh) 视频处理方法、计算机可读存储介质及电子设备
US8736629B1 (en) System and method for an efficient display data transfer algorithm over network
US7984211B2 (en) Self-synchronizing hardware/software interface for multimedia SOC design
JP4798849B2 (ja) グラフィックスエンジンマスターモード動作の改良
KR100489719B1 (ko) 특수 메모리 장치
EP1069512A2 (en) Data processing apparatus with buffering between buses
KR100941029B1 (ko) 그래픽 가속기 및 그래픽 가속 방법
WO2019196634A1 (zh) 数据处理方法及装置
US7165128B2 (en) Multifunctional I/O organizer unit for multiprocessor multimedia chips
US6799247B1 (en) Remote memory processor architecture
US20060174052A1 (en) Integrated circuit and information processing device
JP3327900B2 (ja) データ処理装置
CN117435532B (zh) 基于视频硬件加速接口的拷贝方法、装置及存储介质
JP2004127245A (ja) 半導体集積回路装置
US8098254B2 (en) Power savings in a computing device during video playback
US12001365B2 (en) Scatter and gather streaming data through a circular FIFO
Hilgenstock et al. Memory organization of a single-chip video signal processing system with embedded dram
CN114415951A (zh) 图像数据访存单元、方法、加速单元及电子设备
WO2022010673A1 (en) Scatter and gather streaming data through a circular fifo
JP4376876B2 (ja) 半導体集積回路装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120423

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee