JP2001216194A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JP2001216194A
JP2001216194A JP2000024829A JP2000024829A JP2001216194A JP 2001216194 A JP2001216194 A JP 2001216194A JP 2000024829 A JP2000024829 A JP 2000024829A JP 2000024829 A JP2000024829 A JP 2000024829A JP 2001216194 A JP2001216194 A JP 2001216194A
Authority
JP
Japan
Prior art keywords
data
storage area
arithmetic processing
circuit
storage
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2000024829A
Other languages
English (en)
Inventor
Schroebenhauser Thomas
シュローベンハウザー トーマス
Eiji Iwata
英次 岩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2000024829A priority Critical patent/JP2001216194A/ja
Priority to US09/761,630 priority patent/US20010047456A1/en
Publication of JP2001216194A publication Critical patent/JP2001216194A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0879Burst mode
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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, look ahead
    • G06F9/3824Operand accessing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG

Abstract

(57)【要約】 【課題】 小規模かつ安価な製造コストで、画像データ
などのデータ量の大きなデータを高速に処理できる演算
処理装置を提供する。 【解決手段】 データバッファメモリ15は、ストリー
ムデータを記憶する第1の記憶領域と、ピクチャデータ
を記憶する第2の記憶領域とを有し、第1の記憶領域と
CPU10との間でFIFO方式でストリームデータを
入出力する。第1の記憶領域および第2の記憶領域のサ
イズは、制御レジスタの値に基づいて変更可能である。
画像データ以外のデータは、2次キャッシュメモリ13
およびデータキャッシュメモリ12を介して、CPU1
0と外部メモリ14との間で転送される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、CPUにおいてビ
ットストリームデータを処理する場合にも好適な演算処
理装置に関する。
【0002】
【従来の技術】従来の一般的な演算処理装置では、例え
ば、図7に示すように、CPU(Central Processing Un
it) 100から近い順に、命令キャッシュメモリ101
(Instruction Cache Memory)およびデータキャッシュメ
モリ102と、2次(Second Level)キャッシュメモリ1
03と、外部メモリ(主記憶装置)104とが順に階層
的に設けられている。命令キャッシュメモリ101に
は、CPU100で実行されるプログラムの命令コード
が格納される。データキャッシュメモリ102にはCP
U100における命令コードの実行時に用いられるデー
タや、当該実行によって得れたデータなどが格納され
る。図7に示す演算処理装置では、外部メモリ104か
ら命令キャッシュメモリ101への命令コードの転送、
並びに外部メモリ104とデータキャッシュメモリ10
2との間でのデータの転送は、2次キャッシュメモリ1
03を介して行われる。
【0003】
【発明が解決しようとする課題】しかしながら、上述し
た図7に示す演算処理装置では、例えば、画像データな
どのデータ量の大きなデータを扱う場合に、2次キャッ
シュメモリ103およびデータキャッシュメモリ102
の双方を介して、CPU100と外部メモリ104との
間で当該データが転送されることになり、CPU100
と外部メモリ104との間で当該データを高速に転送す
ることが困難である。また、図7に示す演算処理装置で
は、画像データなどのデータ量が大きなデータを扱う場
合に、キャッシュバスにトラフィックが発生する可能性
が高く、それによっても、CPU100と外部メモリ1
04との間で当該データを高速に転送することがさらに
困難になる。また、データキャッシュメモリ102は、
CPU100から要求があったデータを自らが記憶して
いないと判断した後に、2次キャッシュメモリ103に
当該データを要求することから、CPU100の待ち時
間が長くなるという問題がある。
【0004】また、従来の演算処理装置では、2次キャ
ッシュメモリ13と外部メモリ14との間にFIFO(F
irst In First Out)メモリが設けられている場合がある
が、当該FIFO回路の容量および動作は固定であり、
柔軟性に欠けている。また、チップ内にFIFO回路を
内蔵すると、チップサイズおよびトータルコストが大き
くなるという問題がある。
【0005】本発明は上述した従来技術の問題点に鑑み
てなされ、小規模かつ安価な製造コストで、画像データ
などのデータ量の大きなデータを高速に処理できる演算
処理装置を提供することを目的とする。
【0006】
【課題を解決するための手段】上述した従来技術の問題
点を解決し、上述した目的を達成するために、本発明の
第1の観点の演算処理装置は、データおよびストリーム
データを用いて演算処理を行う演算処理回路と、前記演
算処理回路との間で前記データを入出力する第1のキャ
ッシュメモリと、主記憶装置と前記第1のキャッシュメ
モリとの間に介在する第2のキャッシュメモリと、前記
主記憶装置と前記演算処理回路との間に介在し、少なく
とも一部の記憶領域が前記ストリームデータを入力順で
出力する記憶回路とを有する。
【0007】本発明の第1の観点の演算処理装置では、
演算処理回路において所定の処理が行われ、当該処理の
過程で必要なデータが、第1のキャッシュメモリと演算
処理回路との間で入出力される。当該データは、第1の
キャッシュメモリおよび第2のキャッシュメモリを介し
て、主記憶装置と演算処理回路との間で転送される。ま
た、本発明の第1の観点の演算処理装置では、演算処理
回路において所定の処理が行われ、当該処理の過程で必
要なストリームデータが、記憶回路と演算処理回路との
間で入出力される。記憶回路と演算処理回路の間でのデ
ータの入出力は、入力順で出力を行うFIFO方式で行
われる。当該記憶回路は演算処理回路と主記憶装置との
間に介在し、ストリームデータは、第2のキャッシュメ
モリを介することなく、演算処理回路と主記憶装置との
間で転送される。
【0008】また、本発明の第1の観点の演算処理装置
は、好ましくは、前記記憶回路は、前記演算処理回路に
よってアクセスされるアドレスを順に増加あるいは減少
することで、前記ストリームデータを入力順で出力す
る。
【0009】また、本発明の第1の観点の演算処理装置
は、好ましくは、前記記憶回路は、前記ストリームデー
タを入力順で出力する記憶領域を少なくとも第1の記憶
領域と第2の記憶領域とに分割して管理し、前記演算処
理回路が前記第1の記憶領域にアクセスを行っていると
きに前記第2の記憶領域と前記主記憶装置との間でデー
タ転送を行い、前記演算処理回路が前記第2の記憶領域
にアクセスを行っているときに前記第1の記憶領域と前
記主記憶装置との間でデータ転送を行う。
【0010】また、本発明の第1の観点の演算処理装置
は、好ましくは、前記ストリームデータは、画像のビッ
トストリームデータであり、前記記憶回路は、前記ビッ
トストリームデータを記憶する記憶領域以外の記憶領域
にピクチャデータを記憶する。
【0011】また、本発明の第1の観点の演算処理装置
は、好ましくは、前記記憶回路は、前記ストリームデー
タを記憶する記憶領域および前記ピクチャデータを記憶
する記憶領域のサイズを変更可能である。
【0012】また、本発明の第1の観点の演算処理装置
は、好ましくは、前記記憶回路と前記主記憶装置との間
での前記ストリームデータの転送を制御するDMA回路
をさらに有する。
【0013】また、本発明の第1の観点の演算処理装置
は、好ましくは、前記記憶回路は、当該記憶回路に対し
て複数のアクセスが同時に発生した場合に、予め決めら
れた優先順位に基づいて、当該複数のアクセスに応じた
処理を順に行う。
【0014】また、本発明の第1の観点の演算処理装置
は、好ましくは、前記記憶回路は、1ポート方式のメモ
リである。
【0015】また、本発明の第2の観点の演算処理装置
は、命令コードを実行し、必要に応じて、データおよび
ストリームデータを用いて演算処理を行う演算処理回路
と、前記演算処理回路に前記命令コードを供給する第1
のキャッシュメモリと、前記演算処理回路との間で前記
データの入出力を行う第2のキャッシュメモリと、主記
憶装置と前記第1のキャッシュメモリおよび前記第2の
キャッシュメモリとの間に介在する第3のキャッシュメ
モリと、前記主記憶装置と前記演算処理回路との間に介
在し、少なくとも一部の記憶領域が前記ストリームデー
タを入力順で出力する記憶回路とを有する。
【0016】
【発明の実施の形態】以下、本発明の実施形態に係わる
演算処理装置について説明する。図1は、本実施形態の
演算処理装置1の構成図である。図1に示すように、演
算処理装置1は、例えば、CPU10、命令キャッシュ
メモリ11、データキャッシュメモリ12、2次キャッ
シュメモリ13、外部メモリ14、データバッファメモ
リ15およびDMA(Direct Memory Access)回路16を
有する。ここで、CPU10、命令キャッシュメモリ1
1、データキャッシュメモリ12、2次キャッシュメモ
リ13、データバッファメモリ15およびDMA回路1
6は、一つの半導体チップ内に組み込まれている。
【0017】なお、CPU10が本発明の演算処理回路
に対応し、データバッファメモリ15が本発明の記憶回
路に対応し、外部メモリ14が本発明の主記憶装置に対
応している。また、データキャッシュメモリ12が請求
項1の第1のキャッシュメモリおよび請求項9の第2の
キャッシュメモリに対応し、2次キャッシュメモリ13
が請求項1の第2のキャッシュメモリおよび請求項9の
第3のキャッシュメモリに対応している。また、命令キ
ャッシュメモリ11が請求項9の第1のキャッシュメモ
リに対応している。
【0018】CPU10は、命令キャッシュメモリ11
から読み出した命令コードに基づいて所定の演算を行
う。CPU10は、必要に応じて、データキャッシュメ
モリ12から読み出したデータおよびデータバッファメ
モリ15から入力したビットストリームデータあるいは
ピクチャデータを用いて上記所定の演算処理を行う。C
PU10は、必要に応じて、演算処理の結果であるデー
タをデータキャッシュメモリ12に書き込み、演算結果
であるビットストリームデータあるいはピクチャデータ
をデータバッファメモリ15に書き込む。CPU10
は、例えば、命令キャッシュメモリ11から入力した命
令コードに基づいて、データバッファメモリ15から入
力したデータ、並びにデータキャッシュメモリ12から
入力したビットストリームデータあるいはピクチャデー
タを用いて所定の画像処理を行う。ここで、ビットスト
リームデータを用いてCPU10が行う画像処理として
は、MPEG2のエンコード処理やデコード処理などが
ある。
【0019】また、CPU10は、後述するように、ア
プリケーションプログラムの実行に応じて、データバッ
ファメモリ15内のFIFOメモリとして機能する記憶
領域のサイズを決定するための制御レジスタ20にデー
タを書き込む。
【0020】命令キャッシュメモリ11は、CPU10
において実行される命令コードを記憶し、例えば、CP
U10から所定の命令コードに対してのアクセス要求を
受けると、当該命令コードを含むページを既に記憶して
いる場合には、当該命令コードをCPU10に出力し、
当該命令コードを記憶していない場合には、既に記憶し
ている所定のページと当該要求があった命令コードを含
むページとの入れ替えを2次キャッシュメモリ13との
間で行った後に、当該要求があった命令コードをCPU
10に出力する。命令キャッシュメモリ11と2次キャ
ッシュメモリ13との間でのページ入れ替えは、例え
ば、CPU10の処理とは独立して動作するDMA回路
16によって制御される。
【0021】データキャッシュメモリ12は、CPU1
0における命令コードの実行時に用いられるデータおよ
び当該実行によって得られた記憶し、例えば、CPU1
0から所定のデータに対してのアクセス要求を受ける
と、当該データを含むページを既に記憶している場合に
は、当該データをCPU10に出力し、当該データを記
憶していない場合には、既に記憶している所定のページ
と当該要求があったデータを含むページとの入れ替えを
2次キャッシュメモリ13との間で行った後に、当該要
求があったデータをCPU10に出力する。データキャ
ッシュメモリ12と2次キャッシュメモリ13との間で
のページ入れ替えは、例えば、CPU10の処理とは独
立して動作するDMA回路16によって制御される。
【0022】2次キャッシュメモリ13は、命令キャッ
シュメモリ11およびデータキャッシュメモリ12、並
びにバス17を介して外部メモリ14と接続されてい
る。2次キャッシュメモリ13は、命令キャッシュメモ
リ11およびデータキャッシュメモリ12との間でペー
ジ入れ替えを行う際に、必要なページを既に記憶してい
る場合には、当該ページを命令キャッシュメモリ11お
よびデータキャッシュメモリ12に転送し、必要なペー
ジを記憶していない場合には、バス17を介して当該ペ
ージを外部メモリ14から読み出した後に、当該ページ
を命令キャッシュメモリ11およびデータキャッシュメ
モリ12に転送する。2次キャッシュメモリ13と外部
メモリ14との間でのページ転送処理は、例えば、CP
U10の処理とは独立して動作するDMA回路16によ
って制御される。
【0023】外部メモリ14は、CPU10において用
いられる命令コード、データ、ビットストリームデータ
およびピクチャデータを記憶する主記憶装置である。
【0024】データバッファメモリ15は、例えば、デ
ジタルビデオ圧縮処理を行う際などに動き補償予測を行
う対象となるピクチャデータ、エンコード処理前のピク
チャデータおよびデコード処理後のピクチャデータなど
を記憶するスクラッチパッドRAM(Scratch-pad Rando
m Access Memory)として機能する記憶領域15aと、ビ
ットストリームデータを記憶する仮想FIFOメモリと
して機能する記憶領域15bとを有し、例えばRAMが
用いられる。データバッファメモリ15は、例えば、1
ポートメモリである。ここで、データバッファメモリ1
5のうち仮想FIFOメモリとして機能する記憶領域1
5bのサイズは、例えば、データバッファメモリ15内
に内蔵された制御レジスタ20に記憶されたデータが示
す値に応じて決定される。制御レジスタ20には、例え
ば、CPU10において実行されるアプリケーションプ
ログラムに応じたデータが記憶される。
【0025】ここで、仮想FIFOメモリとして機能す
る記憶領域15bのサイズは、例えば、8バイトを単位
として、その整数倍となるように決定される。そして、
仮想FIFOメモリとして機能する記憶領域15bのサ
イズを、8バイト、16バイトおよび32バイトにする
場合には、制御レジスタ20にそれぞれ2進数の「00
0」、「001」および「010」を示すデータが記憶
される。
【0026】一方、スクラッチパッドRAMとして機能
する記憶領域15aは、データバッファメモリ15の全
記憶領域のうち、制御レジスタ20に記憶されたデータ
によって決定された仮想FIFOメモリとして機能する
記憶領域15bを除いた記憶領域になる。
【0027】また、データバッファメモリ15内の仮想
FIFOメモリとして機能する記憶領域15bは、同じ
サイズの2つの記憶領域に分割して管理される。データ
バッファメモリ15は、例えば図3に示すように、BP
(Bitstream Pointer) レジスタ30を有し、BPレジス
タ30には、仮想FIFOメモリとして機能する記憶領
域15b内の現在アクセスを行うアドレスが記憶され
る。BPレジスタ30に記憶されるアドレスは、例え
ば、DMA回路16によって、順次にインクリメント
(増加)あるいはデクリメント(減少)される。
【0028】例えば、図3に示すように、データバッフ
ァメモリ15がマトリクス状に配設された各セルにビッ
トデータを記憶する場合に、例えば、仮想FIFOメモ
リとして機能する記憶領域15bが、「0」〜「n−
1」行目までの記憶領域15b1と、「n」〜「2n−
1」行目までの記憶領域15b2とに分割してDMA回
路16によって管理される。BPレジスタ30に記憶さ
れるアドレスは、図3中の「0」行目から「2n−1」
行目に向かって、かつ各行において図中左端から右端に
向かって順にインクリメントされる。そして、BPレジ
スタ30に記憶されるアドレスは、記憶領域15b2内
の「2n−1」行目の右端のアドレス(記憶領域15b
の最終アドレス)を指し示した後は、データバッファメ
モリ15b1内の1行目の左端のアドレス(記憶領域1
5bの開始アドレス)を次に指し示す。
【0029】例えば、デコード処理時などのようにCP
U10が記憶領域15bからビットストリームデータを
読み出す場合に、外部メモリ14から記憶領域15bに
新たなビットストリームデータを自動的に転送する。ま
た、エンコード処理時などのようにCPU10が記憶領
域15bにビットストリームデータを書き込む場合に、
記憶領域15bから外部メモリ14にビットストリーム
データを自動的に転送する。
【0030】記憶領域15bと外部メモリ14との間で
のビットストリームデータの転送は、DMA回路16の
制御に基づいて、CPU10における処理に影響を与え
ることなく、バックグラウンドで行われる。プログラマ
は、例えば、図示しない制御レジスタなどを用いて、記
憶領域15bと外部メモリ14との間でのビットストリ
ームデータの転送方向と、読み出し元のアドレスおよび
書き込み先のアドレスとを指定すればよい。
【0031】DMA回路16は、CPU10の処理とは
独立して、例えば、命令キャッシュメモリ11およびデ
ータキャッシュメモリ12と2次キャッシュメモリ13
との間でのページ転送処理と、2次キャッシュメモリ1
3と外部メモリ14との間でのページ転送処理と、デー
タバッファメモリ15と外部メモリ14との間でのペー
ジ転送処理とを制御する。DMA回路16が行う複数の
処理に対しての要求あるいは必要性が同時に生じた場合
に、そららの処理をシーケンシャルに順に処理するため
に、キューが用意されている。また、データバッファメ
モリ15に対してのアクセスには、所定の優先順位が付
けられている。この優先順位は、予め固定的に決定され
ている。例えば、データバッファメモリ15に対しての
アクセスにおいて、ビットストリームに対してのアクセ
スに、ピクチャデータに対してのアクセスよりも高い優
先順位が付けられている。そのため、データバッファメ
モリ15の記憶領域15bのFIFOメモリとしての機
能の連続性が高い確立で実現され、CPU10における
ビットストリームデータのエンコード処理およびデコー
ド処理の連続性が高い確立で確保される。
【0032】以下、図1に示す演算処理装置1の動作例
を説明する。 〔第1の動作例〕当該動作例では、図1に示すCPU1
0において例えばデコード処理が行われ、データバッフ
ァメモリ15からCPU10にビットストリームデータ
が読み出される場合の演算処理装置1の動作を説明す
る。図4は、データバッファメモリ15からCPU10
にビットストリームデータが読み出される場合の演算処
理装置1の動作を示すフローチャートである。
【0033】ステップS1:例えば、CPU10におけ
るアプリケーションプログラムの実行に応じて、データ
バッファメモリ15内の仮想FIFOメモリとして機能
する記憶領域15bのサイズが制御レジスタ20に設定
される。これによって、データバッファメモリ15内の
仮想FIFOメモリとして機能する記憶領域15bのサ
イズが決定される。
【0034】ステップS2:例えば、CPU10におけ
るアプリケーションプログラムの実行に応じて、図示し
ないDMA回路がリード(ビットストリームデータの読
み出し)指示を受けると、バス17を介して外部メモリ
14からデータバッファメモリ15内の仮想FIFOメ
モリとして機能する記憶領域15bにビットストリーム
データが転送される。この場合に、例えば、記憶領域1
5bの全域にビットストリームデータが書き込まれる。
また、ビットストリームデータは、読み出し順に、図5
(A)に示すように、図5(A)中の0行目から「2n
−1」行目に向かって、かつ各行において図中左端から
右端に向かって順に記憶領域15b内に書き込まれる。
【0035】ステップS3:CPU10におけるデコー
ド処理の進行に応じて、例えば、図2に示すBPレジス
タ30に記憶されたデータバッファメモリ15内の記憶
領域15bのアドレスからビットストリームデータがC
PU10に読み出される。BPレジスタ30に記憶され
るアドレスは、当該ステップS3の処理を実行する度に
順にインクリメントされる。当該インクリメントは、例
えば、図5(A)中の0行目から「2n−1」行目に向
かって、かつ各行において図中左端から右端に向かって
順に記憶領域15b内のアドレスを指し示すように行わ
れる。なお、BPレジスタ30に記憶されるアドレス
は、記憶領域15b2内の2n−1行目の右端のアドレ
ス(記憶領域15bの最終アドレス)を指し示した後
は、データバッファメモリ15b1内の1行目の左端の
アドレス(記憶領域15bの開始アドレス)を次に指し
示す。
【0036】ステップS4:DMA回路16によって、
CPU10において処理されるビットストリームデータ
が、全てデータバッファメモリ15からCPU10に読
み出されたか否かが判断され、全て読み出されたと判断
された場合は処理を終了し、そうでない場合にはステッ
プS5の処理が実行される。
【0037】ステップS5:DMA回路16によって、
BPレジスタ30に記憶されたアドレスが、図5(B)
に示すように境界線31を越えたか、あるいは、図5
(C)に示すように境界線32を越えたか否かが判断さ
れ、越えたと判断された場合にはステップS6の処理が
実行され、越えていないと判断された場合にはステップ
S3の処理が再び行われる。
【0038】ステップS6:BPレジスタ30に記憶さ
れたアドレスが図5(B)に示すように境界線31を越
えた場合には、DMA回路16によって、外部バス17
を介して外部メモリ14からデータバッファメモリ15
の記憶領域15b1の全域にビットストリームデータが
転送される。一方、BPレジスタ30に記憶されたアド
レスが図5(C)に示すように境界線32を越えた場合
には、DMA回路16によって、外部バス17を介して
外部メモリ14からデータバッファメモリ15の記憶領
域15b2の全域にビットストリームデータが転送され
る。ステップS6の処理が終了すると続いてステップS
3の処理が行われる。
【0039】〔第2の動作例〕当該動作例では、図1に
示すCPU10において例えばエンード処理が行われ、
CPU10からデータバッファメモリ15にビットスト
リームデータが書き込まれる場合の演算処理装置1の動
作を説明する。図6は、CPU10からデータバッファ
メモリ15にビットストリームデータを書き込む場合の
演算処理装置1の動作を示すフローチャートである。
【0040】ステップS11:例えば、CPU10にお
けるアプリケーションプログラムの実行に応じて、デー
タバッファメモリ15内の仮想FIFOメモリとして機
能する記憶領域15bのサイズが制御レジスタ20に設
定される。これによって、データバッファメモリ15内
の仮想FIFOメモリとして機能する記憶領域15bの
サイズが決定される。
【0041】ステップS12:CPU10におけるエン
コード処理の進行に応じて、例えば、図2に示すBPレ
ジスタ30に記憶されたデータバッファメモリ15内の
記憶領域15bのアドレスに、CPU10からビットス
トリームデータが書き込まれる。BPレジスタ30に記
憶されるアドレスは、当該ステップS12の処理を実行
する度に順にインクリメントされる。当該インクリメン
トは、例えば、図5(A)中の0行目から「2n−1」
行目に向かって、かつ各行において図中左端から右端に
向かって順に記憶領域15b内のアドレスを指し示すよ
うに行われる。なお、BPレジスタ30に記憶されるア
ドレスは、記憶領域15b2内の2n−1行目の右端の
アドレス(記憶領域15bの最終アドレス)を指し示し
た後は、データバッファメモリ15b1内の1行目の左
端のアドレス(記憶領域15bの開始アドレス)を次に
指し示す。
【0042】ステップS13:DMA回路16によっ
て、CPU10において処理されたビットストリームデ
ータが、全てデータバッファメモリ15に書き込まれた
か否かが判断され、全て書き込まれたと判断された場合
はステップS16の処理が行われ、そうでない場合には
ステップS14の処理が実行される。
【0043】ステップS14:DMA回路16によっ
て、BPレジスタ30に記憶されたアドレスが、図5
(B)に示すように境界線31を越えたか、あるいは、
図5(C)に示すように境界線32を越えたか否かが判
断され、越えたと判断された場合にはステップS15の
処理が実行され、越えていないと判断された場合にはス
テップS12の処理が再び行われる。
【0044】ステップS15:BPレジスタ30に記憶
されたアドレスが図5(B)に示すように境界線31を
越えた場合には、DMA回路16によって、記憶領域1
5b1に記憶された全てのビットストリームデータが外
部バス17を介して外部メモリ14に転送される。一
方、BPレジスタ30に記憶されたアドレスが図5
(C)に示すように境界線32を越えた場合には、DM
A回路16によって、記憶領域15b2に記憶された全
てのビットストリームデータが外部バス17を介して外
部メモリ14に転送される。ステップS15の処理が終
了すると続いてステップS12の処理が行われる。
【0045】ステップS16:ステップS13において
CPU10から記憶領域15bに全てのビットストリー
ムデータが書き込まれたと判断された場合に実行され、
記憶領域15bに書き込まれた全てのビットストリーム
データが、外部バス17を介してデータバッファメモリ
15から外部メモリ14に転送される。
【0046】以上説明したように、演算処理装置1によ
れば、ビットストリームデータおよびピクチャデータな
どのデータ量の大きな画像データを、データキャッシュ
メモリ12および2次キャッシュメモリ13を介さず
に、データバッファメモリ15のみを介して、外部メモ
リ14とCPU10との間で転送を行う。その結果、こ
れらの画像データを高速にCPU10と外部メモリ14
との間で転送することが可能になり、CPU10におけ
る画像データの処理の連続性を高性能に確保できる。
【0047】また、演算処理装置1によれば、データバ
ッファメモリ15の記憶領域のアドレスをBPレジスタ
30を用いて順に指し示すことで、データバッファメモ
リ15をFIFOメモリとして機能させる。その結果、
チップ内にFIFOメモリを独立して設ける必要がなく
なり、小規模化および低価格化を図れる。
【0048】また、演算処理装置1によれば、データバ
ッファメモリ15内のスクラッチパッドRAMとして機
能する記憶領域15aと、仮想FIFOメモリとして機
能する記憶領域15bとのサイズを、アプリケーション
プログラムの内容に応じて制御レジスタ20に記憶され
るデータを書き換えることで、動的に変更できる。その
結果、CPU10で実行されるアプリケーションプログ
ラムに適したメモリ環境を提供できる。また、演算処理
装置1によれば、例えば、CPU10が連続したデータ
について処理を行う場合や、所定のアドレスパターンで
データを要求する場合などに、CPU10が必要とする
データを外部メモリ14からデータバッファメモリ15
にCPU10から要求を受ける前に予め転送しておくこ
とで、CPU10の待ち時間を殆ど無くすことができ
る。
【0049】本発明は上述した実施形態には限定されな
い。例えば、上述した実施形態では、ストリームデータ
としてMPEG2などの画像処理で用いられるビットス
トリームデータを例示したが、CPU10において連続
的にシーケンシャルに処理されるデータであれば、スト
リームデータとしてその他のデータを用いてもよい。
【0050】
【発明の効果】以上説明したように、本発明によれば、
小規模かつ安価な構成で、画像データなどのデータ量の
大きなデータを高速に処理できる演算処理装置を提供で
きる。また、本発明によれば、小規模かつ安価な構成
で、ストリームデータを連続的に処理可能な演算処理装
置を提供できる。
【図面の簡単な説明】
【図1】図1は、本発明の実施形態に係わる演算処理装
置の構成図である。
【図2】図2は、図1に示すデータバッファメモリの機
能を説明するための図である。
【図3】図3は、図1に示すデータバッファメモリの機
能を説明するための図である。
【図4】図4は、図1に示すデータバッファメモリから
CPUにビットストリームデータが読み出される場合の
動作を示すフローチャートである。
【図5】図5は、図4に示す動作を説明するための図で
ある。
【図6】図6は、図1に示すCPUからデータバッファ
メモリにビットストリームデータを書き込む場合の動作
を示すフローチャートである。
【図7】図7は、従来の演算処理装置の構成図である。
【符号の説明】
1…演算処理装置、10…CPU、11…命令キャッシ
ュメモリ、12…データキャッシュメモリ、13…2次
キャッシュメモリ、14…外部メモリ、15…データバ
ッファメモリ、16…DMA回路、17…外部バス
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06T 1/60 H04N 5/907 B H04N 5/907 G06F 15/64 450D 450G 450E Fターム(参考) 5B005 JJ12 LL15 MM05 MM21 NN01 NN12 UU32 UU42 5B047 CB25 EA07 EB02 EB12 EB17 5B060 AC07 AC13 AC18 5C052 AA17 CC11 DD10 GB01 GB06 GE01 GE04 GE05 GF04

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】データおよびストリームデータを用いて演
    算処理を行う演算処理回路と、 前記演算処理回路との間で前記データを入出力する第1
    のキャッシュメモリと、 主記憶装置と前記第1のキャッシュメモリとの間に介在
    する第2のキャッシュメモリと、 前記主記憶装置と前記演算処理回路との間に介在し、少
    なくとも一部の記憶領域が前記ストリームデータを入力
    順で出力する記憶回路とを有する演算処理装置。
  2. 【請求項2】前記記憶回路は、前記演算処理回路によっ
    てアクセスされるアドレスを順に増加あるいは減少する
    ことで、前記ストリームデータを入力順で出力する請求
    項1に記載の演算処理装置。
  3. 【請求項3】前記記憶回路は、前記ストリームデータを
    入力順で出力する記憶領域を少なくとも第1の記憶領域
    と第2の記憶領域とに分割して管理し、 前記演算処理回路が前記第1の記憶領域にアクセスを行
    っているときに前記第2の記憶領域と前記主記憶装置と
    の間でデータ転送を行い、前記演算処理回路が前記第2
    の記憶領域にアクセスを行っているときに前記第1の記
    憶領域と前記主記憶装置との間でデータ転送を行う請求
    項1に記載の演算処理装置。
  4. 【請求項4】前記ストリームデータは、画像のビットス
    トリームデータであり、 前記記憶回路は、前記ビットストリームデータを記憶す
    る記憶領域以外の記憶領域にピクチャデータを記憶する
    請求項1に記載の演算処理装置。
  5. 【請求項5】前記記憶回路は、前記ストリームデータを
    記憶する記憶領域および前記ピクチャデータを記憶する
    記憶領域のサイズを変更可能である請求項4に記載の演
    算処理装置。
  6. 【請求項6】前記記憶回路と前記主記憶装置との間での
    前記ストリームデータの転送を制御するDMA回路をさ
    らに有する請求項1に記載の演算処理装置。
  7. 【請求項7】前記記憶回路は、当該記憶回路に対して複
    数のアクセスが同時に発生した場合に、予め決められた
    優先順位に基づいて、当該複数のアクセスに応じた処理
    を順に行う請求項1に記載の演算処理装置。
  8. 【請求項8】前記記憶回路は、1ポート方式のメモリで
    ある請求項1に記載の演算処理装置。
  9. 【請求項9】命令コードを実行し、必要に応じて、デー
    タおよびストリームデータを用いて演算処理を行う演算
    処理回路と、 前記演算処理回路に前記命令コードを供給する第1のキ
    ャッシュメモリと、 前記演算処理回路との間で前記データの入出力を行う第
    2のキャッシュメモリと、 主記憶装置と前記第1のキャッシュメモリおよび前記第
    2のキャッシュメモリとの間に介在する第3のキャッシ
    ュメモリと、 前記主記憶装置と前記演算処理回路との間に介在し、少
    なくとも一部の記憶領域が前記ストリームデータを入力
    順で出力する記憶回路とを有する演算処理装置。
  10. 【請求項10】前記記憶回路は、前記演算処理回路によ
    ってアクセスされるアドレスを順に増加あるいは減少す
    ることで、前記ストリームデータを入力順で出力する請
    求項9に記載の演算処理装置。
  11. 【請求項11】前記記憶回路は、前記ストリームデータ
    を入力順で出力する記憶領域を少なくとも第1の記憶領
    域と第2の記憶領域とに分割して管理し、 前記演算処理回路が前記第1の記憶領域にアクセスを行
    っているときに前記第2の記憶領域と前記主記憶装置と
    の間でデータ転送を行い、前記演算処理回路が前記第2
    の記憶領域にアクセスを行っているときに前記第1の記
    憶領域と前記主記憶装置との間でデータ転送を行う請求
    項9に記載の演算処理装置。
  12. 【請求項12】前記ストリームデータは、画像のビット
    ストリームデータであり、 前記記憶回路は、前記ビットストリームデータを記憶す
    る記憶領域以外の記憶領域にピクチャデータを記憶する
    請求項9に記載の演算処理装置。
  13. 【請求項13】前記記憶回路は、前記ストリームデータ
    を記憶する記憶領域および前記ピクチャデータを記憶す
    る記憶領域のサイズを変更可能である請求項12に記載
    の演算処理装置。
JP2000024829A 2000-01-28 2000-01-28 演算処理装置 Pending JP2001216194A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000024829A JP2001216194A (ja) 2000-01-28 2000-01-28 演算処理装置
US09/761,630 US20010047456A1 (en) 2000-01-28 2001-01-17 Processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000024829A JP2001216194A (ja) 2000-01-28 2000-01-28 演算処理装置

Publications (1)

Publication Number Publication Date
JP2001216194A true JP2001216194A (ja) 2001-08-10

Family

ID=18550759

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000024829A Pending JP2001216194A (ja) 2000-01-28 2000-01-28 演算処理装置

Country Status (2)

Country Link
US (1) US20010047456A1 (ja)
JP (1) JP2001216194A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100779636B1 (ko) 2005-08-17 2007-11-26 윈본드 일렉트로닉스 코포레이션 버퍼 메모리 시스템 및 방법
KR100801317B1 (ko) 2006-08-16 2008-02-05 엠텍비젼 주식회사 3차원 그래픽 처리를 위한 가변 버퍼 시스템 및 그 방법
JP2008077827A (ja) * 2007-10-01 2008-04-03 Hitachi Ltd データ記録装置、データ再生装置、データ記録再生方法及び撮像装置

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139873B1 (en) * 2001-06-08 2006-11-21 Maxtor Corporation System and method for caching data streams on a storage media
US7610357B1 (en) * 2001-06-29 2009-10-27 Cisco Technology, Inc. Predictively responding to SNMP commands
KR100476781B1 (ko) 2001-12-28 2005-03-16 삼성전자주식회사 캐싱기법을 이용한 mpeg-4 시스템 단말의 제어방법
US8037137B2 (en) * 2002-04-04 2011-10-11 International Business Machines Corporation Method and system for efficient attachment of files to electronic mail messages
US7334116B2 (en) * 2004-10-06 2008-02-19 Sony Computer Entertainment Inc. Bit manipulation on data in a bitstream that is stored in a memory having an address boundary length
JP4275085B2 (ja) * 2005-02-17 2009-06-10 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、情報処理方法、およびデータストリーム生成方法
CN100410896C (zh) * 2005-07-28 2008-08-13 光宝科技股份有限公司 串流数据缓冲装置及其存取方法
US8959339B2 (en) 2005-12-23 2015-02-17 Texas Instruments Incorporated Method and system for preventing unauthorized processor mode switches
US8527689B2 (en) * 2010-10-28 2013-09-03 Lsi Corporation Multi-destination direct memory access transfer
US9465885B2 (en) * 2010-12-03 2016-10-11 Salesforce.Com, Inc. Method and system for providing information to a mobile handheld device from a database system
CN102103490B (zh) * 2010-12-17 2014-07-23 曙光信息产业股份有限公司 一种利用流水处理提高内存效率的方法
US10729600B2 (en) 2015-06-30 2020-08-04 The Procter & Gamble Company Absorbent structure
WO2017079599A1 (en) 2015-11-04 2017-05-11 The Procter & Gamble Company Absorbent structure
US11020289B2 (en) 2015-11-04 2021-06-01 The Procter & Gamble Company Absorbent structure
PL3370664T3 (pl) 2015-11-04 2022-03-07 The Procter & Gamble Company Wyrób chłonny zawierający strukturę chłonną
JP6766144B2 (ja) 2015-11-04 2020-10-07 ザ プロクター アンド ギャンブル カンパニーThe Procter & Gamble Company 吸収性構造体
CN107273100B (zh) * 2017-06-15 2021-06-08 华为技术有限公司 一种数据实时处理及存储装置
US11857397B2 (en) 2017-11-06 2024-01-02 The Procter And Gamble Company Absorbent article with conforming features
US11843682B1 (en) * 2022-08-31 2023-12-12 Adobe Inc. Prepopulating an edge server cache

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100779636B1 (ko) 2005-08-17 2007-11-26 윈본드 일렉트로닉스 코포레이션 버퍼 메모리 시스템 및 방법
KR100801317B1 (ko) 2006-08-16 2008-02-05 엠텍비젼 주식회사 3차원 그래픽 처리를 위한 가변 버퍼 시스템 및 그 방법
JP2008077827A (ja) * 2007-10-01 2008-04-03 Hitachi Ltd データ記録装置、データ再生装置、データ記録再生方法及び撮像装置
JP4577346B2 (ja) * 2007-10-01 2010-11-10 株式会社日立製作所 データ記録装置、データ再生装置、データ記録再生方法及び撮像装置

Also Published As

Publication number Publication date
US20010047456A1 (en) 2001-11-29

Similar Documents

Publication Publication Date Title
JP2001216194A (ja) 演算処理装置
US5649230A (en) System for transferring data using value in hardware FIFO'S unused data start pointer to update virtual FIFO'S start address pointer for fast context switching
JP2006099774A (ja) データ処理方法および装置、処理システム、コンピュータ処理システム、コンピュータのネットワーク
JPH0636515B2 (ja) 通信プロセッサ装置
JPH11143775A (ja) キャッシュメモリシステム
JP3619532B2 (ja) 半導体集積回路装置
EP2054800A2 (en) Flash memory access circuit
US6684267B2 (en) Direct memory access controller, and direct memory access control method
JPH1173365A (ja) データ移動操作を最適化する方法
KR100463205B1 (ko) 시퀀셜 버퍼를 내장하여 디에스피의 데이터 억세스 성능을향상시키는 컴퓨터 시스템 및 그 컴퓨터 시스템의 데이터억세스 방법
KR100532417B1 (ko) 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법
JP2005182538A (ja) データ転送装置
US6349370B1 (en) Multiple bus shared memory parallel processor and processing method
US20080209085A1 (en) Semiconductor device and dma transfer method
JP4431492B2 (ja) 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット
US6029210A (en) Memory initialization system selectively outputting a data between a normal data stored in the memory and a fixed value according to a registered access state
JP2007140858A (ja) メモリアクセス方法及びメモリアクセス装置
JP2003030129A (ja) データバッファ
JPH06131294A (ja) データ転送装置
JPS6031647A (ja) デ−タ処理装置
JPH0736806A (ja) Dma方式
JP3936694B2 (ja) 半導体集積回路装置および半導体集積回路装置のデータ転送方法
JP2594611B2 (ja) Dma転送制御装置
JPH06301600A (ja) 記憶装置
JPH1011387A (ja) 情報処理装置