JP2000040143A - 演算回路内蔵半導体記憶装置 - Google Patents

演算回路内蔵半導体記憶装置

Info

Publication number
JP2000040143A
JP2000040143A JP10207601A JP20760198A JP2000040143A JP 2000040143 A JP2000040143 A JP 2000040143A JP 10207601 A JP10207601 A JP 10207601A JP 20760198 A JP20760198 A JP 20760198A JP 2000040143 A JP2000040143 A JP 2000040143A
Authority
JP
Japan
Prior art keywords
pixel data
circuit
rounding
data
memory
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.)
Withdrawn
Application number
JP10207601A
Other languages
English (en)
Inventor
Mikio Hondo
幹雄 本藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10207601A priority Critical patent/JP2000040143A/ja
Publication of JP2000040143A publication Critical patent/JP2000040143A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Static Random-Access Memory (AREA)
  • Image Processing (AREA)
  • Dram (AREA)

Abstract

(57)【要約】 【課題】 画素データに丸め演算誤差が累積されるのを
防止する。 【解決手段】 所定の演算処理を行なうブレンド回路
(102)からの画素データを転送するフィードバック
バイパス経路を設け、画素データを格納するバッファメ
モリ(100)からの画素データとこのフィードバック
バイパス経路の画素データの一方を選択してブレンド回
路(102)において演算処理を行なう。バッファメモ
リ(100)には丸め回路(104)の出力画素データ
が格納されるが、フィードバックバイパス経路を転送さ
れる画素データの演算処理時においては、丸め演算誤差
が累積されるのを防止することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、演算回路を内蔵
する半導体記憶装置に関し、特に、画像データを処理す
るための演算回路を内蔵する半導体記憶装置に関する。
より特定的には、画像データの混色演算のためのブレン
ド演算を行なうための演算回路を内蔵する半導体記憶装
置に関する。
【0002】
【従来の技術】画像データの処理の高速化のために、画
像データ処理用の演算回路と画素データを格納する半導
体メモリとが一体的に集積化された装置が開発されてい
る。この半導体メモリをバッファメモリとして利用し、
演算回路の処理に必要なデータを格納する。バッファメ
モリは、主記憶またはフレームバッファメモリとの間で
画素データを転送する。演算回路とバッファメモリとの
間で画素データの転送を行なうことにより、高速のバッ
ファメモリを利用して、パイプライン的に演算処理を行
なうことができ、高速の画像データ処理が実現される。
【0003】画像データ処理には、種々の処理内容が存
在する。これらの画像データの演算処理として、テキス
チャデータの合成、複数のテキスチャデータから1つの
テキスチャデータの生成などがある。このような演算処
理においては、「ブレンド演算」と称される演算が実行
される。このブレンド演算は、実質的に、混色演算であ
り、合成すべき画素データの色を混合する。
【0004】図27は、αブレンディング処理の一例を
示す図である。図27において、ソースイメージPAと
デスティネーションイメージPBがブレンダBLにより
合成され、合成テキスチャイメージPCが生成される。
イメージPAおよびPBに対しては、各画素単位でブレ
ンダBLにおいてブレンド処理が行なわれる。ソースイ
メージPAおよびデスティネーションイメージPBの重
なる部分においては、通常、「ブレンダ関数」と呼ばれ
る関数を用いた処理が行なわれる。この場合、ソースイ
メージPAの画素とデスティネーションイメージPBの
画素の色の混合の割合を、α:(1−α)に設定する。
これにより、合成テキスチャイメージPCにおいて斜線
で示す重なり部分においては、イメージPAおよびPB
が半透明状態で互いに重なり合うことができる。この透
明度は、係数αで決定することができ、通常αが0から
1の間の値をとる。このような画像データ処理において
は、ブレンド処理などにかかわらず、他の拡大/縮小な
どの処理も同様にブレンダBLにおいて行なわれる。拡
大/縮小を行なう場合、複数画素の色を混合して、補間
/間引きなどにより新たな画素をブレンダBLにおいて
生成する。
【0005】図28は、従来のブレンダの構成を概略的
に示す図である。図28において、ブレンダBLは、画
素データを格納するバッファメモリ(SRAM)100
と、与えられた画素データに対し予め定められたブレン
ド演算を行なうブレンド回路102を含む。バッファメ
モリ100は、演算すべき画素データおよび演算後の画
素データを格納し、図示しないフレームメモリ(DRA
M)との間で画素データの授受を行なう。ブレンド回路
102は、その演算処理内容は、与えられた演算命令に
より設定される。
【0006】ブレンダBLは、さらに、ブレンド回路1
02からの処理結果データに丸め処理を行なう丸め回路
104と、丸め回路104の出力データを格納するレジ
スタ106と、バッファメモリ100から読出された画
素データを格納するレジスタ108と、レジスタ106
から転送されたデータを格納するレジスタ110と、レ
ジスタ106、108および110の格納データのいず
れかを選択するセレクタ112と、セレクタ112の出
力画素データを格納しかつ該格納画素データをブレンド
回路102へ与えるレジスタ114を含む。レジスタ1
06、108、110および114は、ブレンダBLに
おける画素データ処理をパイプライン的に実行するため
に設けられ、図示しないクロック信号に同期して、与え
られた画素データの取込および出力を行なう。
【0007】ブレンド回路102は、レジスタ114か
らの画素データおよび外部から与えられる画素データP
Aiを受け、ブレンド演算処理を行なう。この外部から
画素データPAiが与えられる場合は、図27に示すα
ブレンディング処理が行なわれ、バッファメモリ100
に含まれる画素データをデスティネーションイメージと
し、外部から与えられる画素データPAiを、ソースイ
メージ画素データとして処理が実行される。このブレン
ダBLにおいて、単に拡大/縮小演算または新たなテキ
スチャデータの生成を行なう場合には、ブレンド回路1
02は、単にレジスタ114から与えられた画素データ
に対して所定の処理を実行する。次にこの図28に示す
ブレンダの動作について簡単に説明する。
【0008】αブレンディング処理時、バッファメモリ
100には、デスティネーションイメージ画素データが
予め格納される。このバッファメモリ100に格納され
た画素データに基づいて、ソースイメージ画素データP
Aiの混合が行なわれる。バッファメモリ100から順
次、図示しないアドレス信号に従って画素データPBi
が読出され、レジスタ108へ与えられる。レジスタ1
08は、クロック信号に同期してこの画素データPBi
の取込および出力を行ないセレクタ112へ、この格納
した画素データPBiを与える。セレクタ112は、図
示しないアドレス信号により生成されるセレクト信号に
従ってレジスタ108からの画素データを選択してレジ
スタ114へ与える。レジスタ114は、この与えられ
た画素データを図示しないクロック信号に同期して取込
み、ブレンド回路102へ与える。
【0009】ブレンド回路102は、外部からクロック
信号に同期して与えられる画素データPAiおよびレジ
スタ114から与えられる画素データを取込み、所定の
ブレンド演算を行ない、処理結果を丸め回路104へ与
える。ブレンド回路102においては、たとえば、α・
PAi+(1−α)PBiの演算処理が実行される。係
数αは、1以下の係数であり、その演算処理結果のビッ
ト数(14ビット)は、与えられた画素データPAiお
よびPBiのビット数(10ビット)よりも大きくな
る。
【0010】丸め回路104は、このブレンド回路10
2からの画素データのたとえば下位4ビットを参照して
所定の丸め演算処理を施し、10ビットの画素データを
生成してレジスタ106へ与える。レジスタ106の出
力画素データは、バッファメモリ100の、元の記憶位
置に格納され、かつバッファメモリ100への書込動作
と並行して、レジスタ110およびセレクタ112へ与
えられる。これらの一連の処理が、クロック信号に同期
してパイプライン的に実行される。セレクタ112は、
図示しない制御回路の制御の下に、レジスタ106、1
08および110の出力画素データのいずれかを選択す
る。このレジスタ106からレジスタ110およびセレ
クタ112へのフィードバックバイパス経路を設けるこ
とにより、バッファメモリ100に格納された画素デー
タを先読みすることができ、高速処理を行なうことがで
きる。また、元の記憶位置に格納されるのは表示画面上
の位置と画素データの記憶位置が対応しているためであ
る。
【0011】バッファメモリ100に格納される画素デ
ータは、たとえば10ビット幅であり、また外部から与
えられる画素データPAiも10ビット幅である。ブレ
ンド回路102の出力データは、14ビット幅であり、
丸め回路104が、このバッファメモリ100へ格納す
る画素データのビット幅に合わせて、ブレンド回路10
2からの14ビットのデータを、丸め演算により10ビ
ットのデータに圧縮して出力する。丸め回路104が行
なう演算は、切上げ、切下げ、四捨五入、およびディザ
(しきい値)処理のいずれであってもよい。
【0012】
【発明が解決しようとする課題】バッファメモリ100
に格納される画素データのビット数が10ビットとさ
れ、ブレンド回路102の演算結果を示す出力データの
ビット幅はたとえば14ビットとされているのは、フレ
ームメモリの格納画素データのビット数にバッファメモ
リ100の画素データのビット数を一致させ、またブレ
ンド回路102における演算精度を高くするためであ
る。通常、αブレンディング処理においては、ブレンド
処理すべき画素データは、以下のようなオペランドによ
り指定される。
【0013】[ソース♯a:α;1−α:デスティネー
ション♯b]ソース♯aは、ソースイメージ画素データ
のアドレスを示し、デスティネーション♯bは、デステ
ィネーションイメージ画素データのアドレスすなわち、
バッファメモリ100のアドレスを示す。αおよび(1
−α)が、ソースイメージ画素データPAiおよびデス
ティネーションイメージ画素データPBiの混合の割合
を示す。したがって、ブレンド回路からは、α・PAi
+(1−α)PBiの画素データが生成され、バッファ
メモリ100におけるアドレス♯bに、この演算結果デ
ータが格納される。デスティネーションイメージを、ソ
ースイメージで修飾し、その修飾されたイメージが、新
たに必要であり、元のデスティネーションイメージは必
要ではない。元のデスティネーションイメージ画素デー
タの記憶位置に、新たに生成された修飾イメージ画素デ
ータを格納することにより、バッファメモリ100を効
率的に利用する。
【0014】このバッファメモリ100に格納された画
素データに対し、繰返しαブレンディング処理が施され
る場合がある。これは、たとえば、多面体の2次元表示
における各面の重ね合わせ処理などにおいて生じる。こ
の場合、バッファメモリ100に格納されたイメージ画
素データをデスティネーションイメージとして、外部か
ら新たなソースイメージ画素データが与えられて、αブ
レンディング処理が繰返し実行される。丸め回路104
における丸め演算処理により、画素データにおいては、
誤差が生じる。したがって、図29に示すように、αブ
レンディング処理ごとに丸め回路104における丸め処
理が実行されるため、各画素データにおいて、誤差が累
積され、正確なαブレンディング処理を施すことができ
なくなるという問題が生じる。この場合、αブレンディ
ング処理により、所望の半透明な物体を描画することが
できなくなるという問題が生じる。
【0015】このような問題は、αブレンディング処理
に限定されず、他の混合処理においても生じる。たとえ
ば、バッファメモリ100に格納されたイメージ全体の
色調または色の変更を行なう場合、同様の問題が生じ
る。特に、この色変更処理において、減色モードで処理
を行なった場合、上述の係数αの値が小さくなるため、
バッファメモリ100に格納される画素データの占める
割合が大きくなり、その誤差の影響が大きくなる。
【0016】また、拡大/縮小処理などにおいては、隣
接する複数画素を用いて新たな画素データを生成するこ
とが行なわれる。この場合、ブレンド回路において、色
の平均化処理が行なわれる。この平均化された色を有す
る新たな画素データが、バッファメモリ100に格納さ
れる。このような拡大/縮小処理を繰返し実行する場合
においても、丸め回路104における丸め演算誤差が各
画素において累積されることになり、正確な拡大/縮小
イメージを得ることができなくなる。
【0017】それゆえ、この発明の目的は、正確に画像
処理を行なうことのできる演算回路内蔵半導体記憶装置
を提供することである。
【0018】この発明の他の目的は、丸め誤差の影響が
低減された演算回路内蔵半導体記憶装置を提供すること
である。
【0019】
【課題を解決するための手段】請求項1に係る演算回路
内蔵半導体記憶装置は、与えられた画素データに所定の
演算処理を施すための演算回路と、画素データを格納す
る第1のメモリと、演算回路の出力データを転送するフ
ィードバックバイパス手段と、第1のメモリからの画素
データとフィードバックバイパス手段からの画素データ
の一方を選択して演算回路へ与える選択手段とを備え
る。
【0020】請求項2に係る演算回路内蔵半導体記憶装
置は、フィードバックバイパス手段が、演算回路の出力
データを順次転送する互いに縦列接続される複数のレジ
スタを備える。これら複数のレジスタの記憶する画素デ
ータが選択手段へ並列に与えられる。
【0021】請求項3に係る演算回路内蔵半導体記憶装
置は、演算回路の出力データに丸め演算処理を施して出
力する丸め回路をさらに備える。フィードバックバイパ
ス手段が、演算回路の出力データと丸め回路の出力デー
タの一方を選択する第2の選択手段を含む。
【0022】請求項4に係る演算回路内蔵半導体記憶装
置は、フィードバックバイパス手段がバイパスする転送
データを第1のメモリへ書込む手段をさらに備える。
【0023】請求項5に係る演算回路内蔵半導体記憶装
置は、請求項4の装置が第1のメモリへ画素データを伝
達する第2のメモリと、第1のメモリから第2のメモリ
へ画素データを書込む経路に設けられ、第1のメモリか
ら読出された画素データに丸め処理を施して第2のメモ
リへ転送する丸め回路をさらに備える。この第2のメモ
リは、丸め回路の出力データを格納する。
【0024】請求項6に係る演算回路内蔵半導体記憶装
置は、請求項5の装置において、第1のメモリと第2の
メモリとは、複数の画素データを並列に転送し、丸め回
路は、これら複数の画素データそれぞれに対して設けら
れる。
【0025】請求項7に係る演算回路内蔵半導体記憶装
置は、請求項5または6の装置において、画素データが
複数ビットを含み、丸め回路は、これら複数ビットの所
定数のビットの増分を行なうためのインクリメント回路
を含み、演算回路は、画素データの複数ビットのうちの
残りのビットの丸め処理を行ない、該演算処理結果をイ
ンクリメント回路へ転送する回路を含む。
【0026】請求項8に係る演算回路内蔵半導体記憶装
置は、請求項3の装置において、画素データのビット数
が、丸め回路の出力データのビット数に等しくされる。
【0027】請求項9に係る演算回路内蔵半導体記憶装
置は、請求項3の装置において、第2の選択手段が、第
1のメモリから第2のメモリへの画素データの転送前の
演算サイクルにおいて丸め回路の出力データを選択し、
第1メモリは、転送前の演算サイクルにおいて第2の選
択手段の選択した画素データを格納する。
【0028】請求項10に係る演算回路内蔵半導体記憶
装置は、請求項1または2の装置において、演算回路の
出力データに丸め処理を施して第1のメモリへ転送する
丸め回路をさらに備える。第1メモリは、この丸め回路
から転送された画素データをフィードバックバイパス手
段の転送と並行して格納する。
【0029】請求項11に係る演算回路内蔵半導体記憶
装置は、請求項5の装置において、第1のメモリの入出
力する画素データのビット数が演算回路の入力する画素
データのビット数に等しく、また第2のメモリの入出力
する画素データのビット数が、丸め回路の出力する画素
データのビット数に等しくされる。
【0030】請求項12に係る演算回路内蔵半導体記憶
装置は、請求項3の装置が、さらに、第1のメモリと画
素データの授受を行なう第2のメモリをさらに含む。第
1のメモリの画素データのビット数は、演算回路の入力
する画素データのビット数に等しく、第2のメモリの画
素データのビット数は、丸め回路の出力データのビット
数に等しくされる。
【0031】フィードバックバイパス経路において、丸
め処理前の演算回路の出力する画素データを転送するこ
とにより、このフィードバックバイパス経路の画素デー
タが用いられる場合において、丸め誤差が累積されるの
が防止される。
【0032】また、演算処理期間中は、バッファメモリ
である第1のメモリに対し、丸め処理前の演算回路の出
力データを格納することにより、丸め誤差が累積される
のが防止される。
【0033】また、第1のメモリから第2のメモリへの
画素データ転送時において転送データに丸め処理を施す
ことにより、第1のメモリには丸め処理前の演算回路か
らの画素データが格納されるため、丸め誤差の累積が防
止される。
【0034】
【発明の実施の形態】[実施の形態1]図1は、この発
明に従う演算回路内蔵半導体記憶装置が用いられる画像
処理システムの構成を概略的に示す図である。図1にお
いて、この画像処理システムは、バッファメモリ100
およびブレンド回路102を含む演算回路内蔵半導体記
憶装置1と、画像処理内容を指令するプロセッサ2と、
画像データを格納する主記憶3と、プロセッサ2からの
命令に従って、主記憶3と演算回路内蔵半導体記憶装置
1との間の画素データの転送および演算回路内蔵半導体
記憶装置1とフレームバッファ5との間の画像データの
転送、および演算回路内蔵半導体記憶装置1における演
算処理の実行を制御するメモリコントローラ4を含む。
ここで、「画像データ」は、複数の画素データを含む。
【0035】主記憶3には、テキスチャデータが格納さ
れ、フレームバッファ5には、この主記憶3のうちの必
要な部分のテキスチャデータが格納される。演算回路内
蔵半導体記憶装置1においては、このフレームバッファ
5に格納されたテキスチャデータのうち、実際に演算処
理を行なうテキスチャデータがバッファメモリセル10
0に格納される。通常、画像データ処理は、たとえば6
4画素・64画素のような、所定のサイズを有する領域
単位で処理が実行される。バッファメモリ100には、
この処理単位となる画素データが格納される。演算処理
内容に応じて、単に、フレームバッファ5における所定
のサイズ(キャッシュサイズ)の画素データがバッファ
メモリ100に格納され、バッファメモリ100をキャ
ッシュメモリとして用いて、メモリコントローラ4の制
御の下に画像処理が行なわれてもよい。したがって、バ
ッファメモリ100においては、行なわれる画像処理の
内容に応じて、適当なサイズの1以上の画像データが格
納される。
【0036】演算回路内蔵半導体記憶装置1において
は、図示しない丸め回路の誤差が累積されないように、
内部の画素データの転送経路が本発明に従って設定され
る。
【0037】図2は、図1に示す画像処理システムの動
作を概略的に示すタイミングチャート図である。
【0038】図2において、主記憶3から、メモリコン
トローラ4の制御の下に、フレームバッファ5に、必要
なフレーム画像データが転送されて格納される。1つの
演算が行なわれるとき、まず、フレームバッファ(F)
5から、演算回路内蔵半導体記憶装置1に含まれるバッ
ファメモリ(B)100に対し所定のサイズまたは必要
な演算処理対象のテキスチャデータが転送されてバッフ
ァメモリ100に格納される。バッファメモリ100
に、必要な画像データが格納されると、メモリコントロ
ーラ4の制御の下に、ブレンド回路102に対し、画素
データが順次転送されて、必要な演算処理が行なわれ
る。このブレンド回路102において行なわれる演算処
理内容は、αブレンディング処理、拡大/縮小処理およ
び色の平均化処理(ブレンディング処理)など、いずれ
の画像データ処理であってもよい。
【0039】このブレンド回路102において、演算処
理はパイプライン態様で実行され、所定のクロックサイ
クル数(パイプラインステージのサイクル期間を決定す
るクロック信号のサイクル数)が経過すると、ブレンド
回路102から、演算処理された画素データが順次出力
され、バッファメモリ100へ書込まれる。このバッフ
ァメモリ100への画素データの書込時においては、後
にその詳細は説明するが、できるだけ、丸め回路の影響
が生じないように書込が行なわれる。
【0040】次いで、演算処理が完了すると、バッファ
メモリ100から、フレームバッファ5への画素データ
の転送が実行される。これらの一連の処理により、必要
とされる演算処理が完了し、1演算単位が完了する。こ
れらの一連の処理は、パイプライン的に各演算処理に応
じて順次実行される。バッファメモリ100からフレー
ムバッファ5への画素データの転送時、同時に、またフ
レームバッファ5からバッファメモリ100への次の画
像データの転送が並行して行なわれ、バッファメモリへ
の書込完了後、このバッファメモリ100には、新たな
画像データが格納される。これにより、高速で、画像処
理を実行することができる。
【0041】図3は、図1に示す演算回路内蔵半導体記
憶装置1の第1の構成を概略的に示す図である。図3に
おいては、ブレンド回路102の出力部のフィードバッ
クバイパス経路10において、ブレンド回路102の出
力画素データを格納するレジスタ12と、レジスタ12
の出力画素データを格納するレジスタ14とが設けられ
る。レジスタ12および14の出力画素データはセレク
タ18へ与えられる。セレクタ18へは、また、バッフ
ァメモリ100からの画素データを転送するレジスタ1
6の出力画素データが与えられる。レジスタ12および
14は、mビットの幅を有し、ブレンド回路102から
は、14ビットの出力画素データが丸め回路104へ与
えられる。このブレンド回路102から丸め回路104
へ与えられる画素データのビット幅は、丸め回路104
が、4ビットの画素データを参照して丸め演算処理を行
なうため、14ビットに設定される。レジスタ12およ
び14のビット幅は、14ビットであってもよく(m=
14)、また14ビットよりも大きい値であってもよ
い。
【0042】丸め回路104からは10ビットの画素デ
ータが出力されてレジスタ106に格納される。このレ
ジスタ106の格納画素データPYは、バッファメモリ
(SRAM)100に格納される。バッファメモリ10
0の格納する画素データは、10ビット幅である。した
がって、レジスタ106は10ビット幅を有し、一方、
レジスタ16は、バッファメモリ100からの10ビッ
トの画素データPXを受けてmビットの画素データに拡
張してセレクタ18へ与える。セレクタ18の選択した
画素データは、mビット幅を有するレジスタ20を介し
てブレンド回路102へ与えられる。したがって、ブレ
ンド回路102においては、従来と異なり、mビット幅
の画素データに対する演算処理が実行される。ここで、
以下の説明においては、ブレンド回路102が行なう演
算処理は、ブレンド処理(色の混合処理)のみならず、
クリッピング、シェーディング(塗り潰し処理)、アン
チエーリアシング処理などの処理が行なわれてもよいた
め、以下においては、一般的な「演算」処理という用語
を用いる。
【0043】ブレンド回路102は、また端子22を介
して、αブレンディング処理などにおいて外部から与え
られる画素データPAiを受ける。ブレンド回路102
が、このレジスタ20からの画素データおよび端子22
からの画素データ両者を用いるか、または単にレジスタ
20からの画素データのみを用いて演算処理を行なうか
は、図1に示すメモリコントローラ4の制御の下に決定
される。次に、この図3に示す演算回路内蔵半導体記憶
装置の動作を、図4のタイミングチャート図を参照して
説明する。
【0044】バッファメモリ(SRAM)100から
は、必要な画素データP0、P1、P2、…が、図示し
ないアドレス情報に従って各クロックサイクルごとに順
次読出される。このバッファメモリ100からの画素デ
ータPX(P0、…)は、レジスタ16により取込まれ
た後、セレクタ18へ与えられる。セレクタ18は、こ
のレジスタ16からの画素データを選択してレジスタ2
0へ与える。レジスタ20は、このセレクタ18からの
画素データをクロック信号に同期してブレンド回路10
2へ与える。
【0045】ブレンド回路102は、図1に示すメモリ
コントローラ4の制御の下に、設定された演算処理を実
行する。αブレンディング処理であれば、端子22から
与えられた画素データPAiが、またブレンド回路10
2へ与えられてαブレンディング処理が実行される。こ
のブレンド回路102は、パイプライン態様で演算処理
を実行し、所定のパイプライン遅延経過後、最初の処理
結果データB0を出力する。このブレンド回路102か
らの処理結果データB0は、レジスタ12へ与えられ、
また丸め回路104へも与えられる。丸め回路104
は、このブレンド回路102から与えられた14ビット
の画素データのうち下位4ビットを参照して丸め演算処
理を行ない、10ビットの画素データR0を出力する。
【0046】図4においては、この丸め回路104にお
いては、丸め演算処理に1クロックサイクル必要とされ
る場合の動作が一例として示される。この丸め回路10
4における丸め演算処理と並行して、レジスタ12が、
その取込んだデータをフィードバックバイパス経路10
を介してセレクタ18およびレジスタ14へ与える。
今、レジスタ12、14、16、20および106は、
すべて1クロックサイクルの遅延を有すると仮定する。
この場合、レジスタ12からは、丸め回路104からの
出力画素データR0と同じクロックサイクルで、最初の
ブレンド演算結果の画素データB0が出力される。
【0047】ブレンド回路102から演算結果の画素デ
ータB1、B2、B3、…が順次各クロックサイクルご
とに出力され、また丸め回路104からは、1クロック
サイクル遅れて、丸められた画素データR1、R2、R
3、…が順次出力される。レジスタ12は、この丸め回
路104の出力画素データと同じ画素に対するブレンド
演算結果データB1、B2、B3、…を順次出力する。
レジスタ14は、レジスタ12から与えられた画素デー
タを1クロックサイクル遅延して出力する。したがっ
て、このレジスタ12からの出力画素データが1クロッ
クサイクル遅れてレジスタ14から順次出力される。ま
た、レジスタ106も、1クロックサイクルの遅延を有
しているため、レジスタ14の出力画素データと同じ画
素(同じアドレス)の画素データR0、R1、…が順次
出力される。このレジスタ106の出力する画素データ
R0、R1、R2、…は、バッファメモリ100の元の
アドレス、すなわち画素データP0、P1、P2、…が
格納されていたアドレスに順次格納される。
【0048】ある処理において、フィードバックバイパ
ス経路10におけるデータの処理が行なわれる場合を考
える。たとえば、画素データR0に再び演算処理を行な
われる場合を考える。このレジスタ106から画素デー
タR0が出力されたサイクルにおいて、この画素データ
R0が再び使用される場合、レジスタ14からは、この
画素データR0に対応する画素データB0が出力されて
いる。したがって、このレジスタ14の出力する画素デ
ータB0をセレクタ18で選択することにより、バッフ
ァメモリ100に書込んで次いで同じアドレスから読出
す場合に比べて1クロックサイクル処理を早くすること
ができ、パイプラインに空きを生じさせることなく、高
速で演算処理を実行することができる。
【0049】このような、演算処理後の画素データを再
び演算処理する例として、たとえば、αブレンディング
処理においては、3枚以上のテキスチャデータを重ね合
わせる場合、その3枚目のテキスチャデータの領域が極
めて少ない場合、元のデスティネーションイメージの一
部の領域が、新たな3枚目のソースイメージの画素デー
タで修飾される。この場合、外部から、3枚目のソース
イメージ画素データを与え、またフィードバックバイパ
ス経路を介して転送される画素データを用いて、再びブ
レンディング処理を実行し、その処理結果をバッファメ
モリ100に書込む。このような処理において、フィー
ドバックバイパス経路10において、画素データを予め
転送しておくことにより、バッファメモリ100へのア
クセスが不要となり、高速で画像処理を行なうことがで
きる。
【0050】レジスタ14またはレジスタ12の出力す
る画素データB0、B1、B2、…は、ブレンド回路1
02の出力画素データであり、丸め回路104を通過し
てはいない。したがって、これらの画素データB0、B
1、B2、…には、丸め誤差は累積していない。したが
って、これらの画素データB0、B1、B2、…を繰返
し使用しても、丸め誤差が累積されることはない。各画
素に対し演算が終了すると、丸め回路104により、レ
ジスタ12または14からの画素データの演算処理結果
に対し丸め処理が施され、レジスタ106を介してバッ
ファメモリ100の元の位置に格納される。したがっ
て、そのフィードバックバイパス経路10を介して転送
される画素データを用いて演算処理を行なう場合、この
フィードバックバイパス経路10を介して転送される画
素データには、丸め誤差が累積されず、正確な画像処理
を実現することができる。
【0051】図5は、図3に示すレジスタ16の構成の
一例を概略的に示す図である。図5において、レジスタ
16は、バッファメモリ100から与えられる10ビッ
トの画素データPXを格納するレジスタ回路と、値
“0”が格納される(m−10)ビットのレジスタ回路
を含む。レジスタ16からのmビットの画素データが、
セレクタ18へ与えられる。バッファメモリ100から
読出された10ビットの画素データPXの下位ビット
(m−10ビット)に“0”を付加することにより、容
易に、10ビットの画素データをmビットの画素データ
に拡張することができる。
【0052】図6は、この演算回路内蔵半導体記憶装置
に含まれる制御部の構成を概略的に示す図である。図6
において、制御部30は、図1に示すメモリコントロー
ラから与えられるオペレーションコマンドφOPに従っ
て各種制御信号を生成する制御回路30aと、制御回路
30aからのリードアドレスを格納するリードアドレス
レジスタ30bと、リードアドレスレジスタ30bに格
納されたリードアドレスを所定時間遅延する可変遅延回
路30cと、可変遅延回路30cの出力するアドレスを
受けて格納するアドレスレジスタ30dと、アドレスレ
ジスタ30dの格納するアドレスを格納するアドレスレ
ジスタ30eと、リードアドレスレジスタ30bからの
リードアドレスとアドレスレジスタ30dに格納された
アドレスとを比較する比較器30fと、リードアドレス
レジスタ30bからのリードアドレスとアドレスレジス
タ30eからのアドレスとを比較する比較器30gとを
含む。
【0053】制御回路30aならびにアドレスレジスタ
30dおよび30eは、クロック信号CLKに同期して
動作する。可変遅延回路30cは、制御回路30aによ
り、その遅延時間(遅延クロックサイクル)が設定さ
れ、ブレンド回路102およびレジスタ20および12
における遅延クロックサイクル数と等しいクロックサイ
クル数、リードアドレスレジスタ30bに格納されたア
ドレス信号を遅延する。アドレスレジスタ30dは、図
3に示すレジスタ12に対応して設けられ、アドレスレ
ジスタ30eは、図3に示すレジスタ14に対応して設
けられる。リードアドレスレジスタ30bからのアドレ
ス信号は、バッファメモリ100へ、データ読出を行な
う画素データ位置を示すリードアドレスとして与えられ
る。アドレスレジスタ30eの格納するアドレスは、ま
たバッファメモリへ、レジスタ106からの画素データ
PYを格納するアドレスを示すライトアドレスとしてバ
ッファメモリ100へ与えられる。
【0054】比較器30fは、リードアドレスレジスタ
30bからのリードアドレスとアドレスレジスタ30d
に格納されたアドレスとが一致する場合、選択信号Se
l1を選択状態へ駆動し、比較器30gは、リードアド
レスレジスタ30bからのリードアドレスとアドレスレ
ジスタ30eに格納されたアドレスとが一致する場合
に、選択信号Sel2を活性状態へ駆動する。これらの
選択信号Sel1およびSel2に従ってセレクタ18
が選択動作を実行する。比較器30fからの選択信号S
el1が活性状態のときには、レジスタ12の出力する
画素データが、アクセス要求された画素データであるこ
とを示しており、セレクタ18はレジスタ12からの画
素データを選択してレジスタ20へ与える。比較器30
gからの選択信号Sel2が活性状態へ駆動されるとき
には、レジスタ14に格納された画素データが演算処理
されるべき画素データであり、セレクタ18は、レジス
タ14からの画素データを選択する。図3に示すレジス
タ16が1クロックサイクルの遅延を与える場合、この
リードアドレスレジスタ30bの入力アドレスが、バッ
ファメモリ100へ与えられてもよい。適当に可変遅延
回路30cの遅延クロックサイクル数を調整することに
より、タイミング調整をすることができる。
【0055】以上のように、この発明の実施の形態1に
従えば、ブレンド回路出力を、転送するフィードバック
バイパス経路を設け、このフィードバックバイパス経路
においては丸め演算処理を行なわない画素データを転送
するように構成しているため、フィードバックバイパス
経路の画素データが用いられる場合には、このフィード
バックバイパス経路への画素データに対する丸め誤差が
累積されるのを防止することができ、正確な画像処理を
実現することができる。
【0056】[実施の形態2]図7は、この発明の実施
の形態2に従う演算回路内蔵半導体記憶装置の全体の構
成を概略的に示す図である。図7に示す演算回路内蔵半
導体記憶装置においては、フィードバックバイパス経路
10において、互いに縦列接続される複数のレジスタ1
4a〜14nが設けられる。これらのレジスタ14a〜
14nへは、レジスタ12からの画素データが転送され
る。各レジスタの入力(出力)画素データが、並列にセ
レクタ38へ与えられる。セレクタ38は、バッファメ
モリ100から読出された画素データを格納するレジス
タ16と縦列接続されるレジスタ14a〜14nの格納
する画素データおよびレジスタ12の転送画素データの
いずれかを選択してレジスタ20へ与える。この図7に
示す構成においては、複数の縦列接続されるレジスタ1
4a〜14nが設けられる点を除いて、図3に示す実施
の形態1の構成と同じであり、対応する部分には同一参
照番号を付し、その詳細説明は省略する。
【0057】この図7に示す構成においては、レジスタ
12およびレジスタ14a〜14nに演算後の画素デー
タが格納される。フィードバックバイパス経路10にお
いては、ブレンド回路102からのmビットの画素デー
タが転送される。したがって、これらのレジスタ14a
〜14nおよび12に画素データを格納することによ
り、丸め演算処理されていない画素データを使用する頻
度が増加し、より丸め誤差が低減された画像処理を行な
うことができる。すなわち、このレジスタ14a〜14
nをバッファメモリ100に対する擬似的なキャッシュ
として利用することにより、丸め誤差のない画素データ
を用いて演算処理を行なうことが可能となる。
【0058】なお、このセレクタ38に対する選択制御
信号を発生するための構成としては、図6に示す制御部
30の構成と同様の構成を利用することができる。図6
に示すアドレスレジスタ30dおよび30eを、図7に
示すレジスタ12および14a〜14nそれぞれに対応
するように、アドレス比較のためのアドレスレジスタが
拡張されればよい。
【0059】以上のように、この発明の実施の形態2に
従えば、フィードバックバイパス経路において、複数の
縦列接続されるレジスタを設けてフィードバックバイパ
ス経路を転送される画素データを格納しているため、丸
め演算されていない画素データを使用する頻度を高くす
ることができ、応じて丸め誤差の少ない画素データを用
いた演算処理を実現することができ、正確な画像処理を
行なうことができる。なお、レジスタ14a〜14n
は、それぞれ1クロックサイクル期間与えられた画素デ
ータを遅延して出力する。
【0060】[実施の形態3]図8は、この発明の実施
の形態3に従う演算回路内蔵半導体記憶装置の要部の構
成を概略的に示す図である。図8において、この演算回
路内蔵半導体記憶装置は、バッファメモリ100と画素
データの転送を行なうフレームバッファ40と、丸め回
路104の出力画素データとブレンド回路102の出力
画素データの一方を選択するセレクタ42と、セレクタ
42の出力画素データを格納するレジスタ43とを含
む。フレームバッファ40は、ダイナミック・ランダム
・アクセス・メモリ(DRAM)で形成され、DRAM
リードバス41rを介して読出データをバッファメモリ
100へ与え、DRAMライトバス41wを介してバッ
ファメモリ100からの画素データを格納する。バッフ
ァメモリ100とフレームバッファ40とは、複数画素
単位(図においては4画素単位)でこれらのバス41r
および41wを介して画素データの転送を行なう。
【0061】バッファメモリ100は、レジスタ43か
らのmビットの画素データPYを受けて格納し、またm
ビットの画素データPXを生成してレジスタ46を介し
てセレクタ18へ与える。レジスタ43に格納された画
素データはmビットに拡張されて、セレクタ18および
レジスタ14へ与えられる。セレクタ42は、このバッ
ファメモリ100に格納される画素データの演算処理期
間中、ブレンド回路102からの画素データを選択し、
最終の演算サイクル、すなわちバッファメモリ100に
おける画素データそれぞれに対する最後の演算(処理サ
イクル)に入ると、丸め回路104の出力画素データを
選択する。したがって、このセレクタ42により、フィ
ードバックバイパス経路が選択的に形成される。
【0062】バッファメモリ100においては、フィー
ドバックバイパス経路45における画素データの転送と
並行して、レジスタ43からの画素データPYが元の画
素データ位置に格納される。このバッファメモリ100
の画素データP(PY,PX)は、mビット幅であり、
丸め演算処理は行なわれていない。したがって、演算処
理中において、バッファメモリ100に格納された画素
データに対し繰返し演算処理が実行されても、丸め誤差
の累積は防止される。
【0063】この演算処理において、バッファメモリ1
00に格納された画素データに対し、それぞれ最後の演
算処理が実行されると、セレクタ42が丸め回路104
からの画素データを選択して、レジスタ43を介してバ
ッファメモリ100へ与える。したがって、最終の演算
処理を受けた画素データのみが、丸め回路104におけ
る丸め誤差を有している。
【0064】これらのバッファメモリ100に格納され
た画素データは、最終の演算処理および丸め処理を受け
ると、次いでバッファメモリ100から、フレームバッ
ファ40への画素データの転送が行なわれる。このバッ
ファメモリ100からフレームバッファ40への画素デ
ータの転送時、バッファメモリ100には、丸め処理さ
れた画素データが格納されている。したがって、このフ
レームバッファ40の画素データは、10ビット幅であ
り、バッファメモリ100からは、10ビットの丸めら
れた画素データがフレームバッファ40へ転送される。
バッファメモリ100からフレームバッファ40への画
素データの転送時、複数の画素(図においては4画素)
のデータが並列に転送される。これにより、高速の画素
データ転送を実現する。DRAMライトデータバス41
wおよびDRAMリードデータバス41rは、したがっ
て、たとえば40ビット幅をそれぞれ有するが、バッフ
ァメモリ100およびフレームバッファ40は、同じ半
導体チップ上に集積化されており、これらのバスは、単
にチップ上の内部配線で実現されるため、容易にバス幅
は拡張することができる(外部ピン端子の制限を受ける
ことがないため)。
【0065】図9は、この発明の実施の形態3における
演算回路内蔵半導体記憶装置の動作の一例を示す図であ
る。図9において、バッファメモリ100から、画素デ
ータP0、…、Pnが順次読出され、レジスタ46、セ
レクタ18およびレジスタ20を介してブレンド回路1
02へ与えられる。ブレンド回路102は、この与えら
れた画素データに対し所定の演算処理を行なって、画素
データB0、…、Bnを各クロックサイクルごとに出力
する。ブレンド回路からの画素データは、セレクタ42
により選択されてレジスタ43を介してバッファメモリ
100およびフィードバックバイパス経路45を転送さ
れる。バッファメモリ100は、このレジスタ43にお
ける1クロックサイクルの遅延をもって、セレクタ42
からの画素データB0、…、Bnを、それぞれ画素デー
タP0、…、Pnが格納された元の画素位置へそれぞれ
格納する。
【0066】バッファメモリ100への画素データの格
納と並行して、またバッファメモリ100から次の演算
処理のための画素データが順次読出される。このとき、
バッファメモリ100からは、ブレンド回路102によ
り演算処理された画素データB0、…、Bnが順次読出
される。ブレンド回路102が、これらの画素データB
0、…、Bnに対し再び所定の演算処理を行なって、新
たな画素データBB0、…、BBnを生成する。演算処
理は、このときまだ、最後の演算処理ではないため、セ
レクタ42はブレンド回路102の出力を選択してレジ
スタ43を介してバッファメモリ100へ与える。した
がって、バッファメモリ100においては、再び、新た
な画素データBB0、…、BBnが元の画素データ位置
に格納される。
【0067】次いで、演算処理において最後の演算が行
なわれる場合、バッファメモリ100から、画素データ
BB0、…、BBnが順次読出されて、ブレンド回路1
02へ与えられて演算処理が実行される。最後の演算処
理の場合、セレクタ42は、この丸め回路104の出力
する画素データを選択する。したがって、セレクタ42
からは、丸め回路104からの丸め画素データR0、
…、Rnが順次出力される。これらの画素データR0、
…、Rnは、レジスタ43を介してバッファメモリ10
0の元の画素データ位置へ格納される。
【0068】したがって、この図9に示すように、演算
処理が複数回(3回)行なわれる場合において、最後の
演算処理においてのみ、画素データに対する丸め処理が
行なわれており、各画素データに対し複数回演算処理が
実行されても、丸め誤差の累積は防止される。
【0069】バッファメモリ100への画素データR
0、…、Rnの格納と並行して、所定数の画素データが
バッファメモリ100に格納されると、バッファメモリ
100からフレームバッファ40への画素データの転送
が行なわれる。
【0070】なお、図9においては、バッファメモリ1
00に画素データR0、…、Rnのうちの一部分が格納
された時点でフレームバッファ40への画素データの転
送が開始されている。しかしながら、このバッファメモ
リ100からフレームバッファ40への画素データの転
送は、バッファメモリ100にすべての画素データが格
納された後に実行されてもよい。このサイクルにおい
て、バッファメモリ100からフレームバッファ40へ
のDRAMライトデータバス41wを介しての画素デー
タの転送と、フレームバッファ40からバッファメモリ
100へのDRAMリードデータバス41rを介しての
画素データの転送が並行して行なわれてもよい。
【0071】図10は、この発明の実施の形態3に従う
演算回路内蔵半導体記憶装置の制御部の構成を概略的に
示す図である。図10において、制御部50は、メモリ
コントローラからの制御コマンドφOPを受けて必要な
制御を行なう制御回路50aと、制御回路50aの制御
の下に、アドレス信号ならびにセレクタ18へ与えられ
る選択信号Sel1およびSel2を生成するアドレス
制御部50cと、制御回路50aの出力信号に従って、
セレクタ42へ与えられる選択制御信号φselを生成
するセレクタ制御回路50bを含む。アドレス制御部5
0cは、図6に示す構成に加えて、バッファメモリとフ
レームバッファとの間でのデータ転送時に必要とされる
アドレスを生成する。
【0072】セレクタ制御回路50bは、制御回路50
aからの、最終演算指示に応答して、セレクタ選択制御
信号φselを活性化して、セレクタ42に、丸め回路
の出力画素データを選択させる。
【0073】図11(A)は、この制御回路50aへ与
えられるコマンドの形態の一例を示す図である。図11
(A)においては、制御コマンドは、演算内容を指定す
るOPコードを格納する命令フィールドF1と、画素デ
ータのアドレスを示すアドレスを格納するアドレスフィ
ールドF2と、このOPコードに指定する演算処理が、
バッファメモリに格納された画素データに対する最後の
演算処理内容であるか否かを示すフラグを格納するフラ
グフィールドF3を含む。制御回路50aは、このフラ
グフィールドF3のフラグの値に従ってセレクタ制御回
路50bの動作を制御する。
【0074】この図11(A)に示す構成を用いること
により、この演算処理内容に応じて、効率的に、セレク
タの接続経路を設定することができる。
【0075】図11(B)は、制御コマンドの他の構成
を示す図である。図11(B)においては、制御コマン
ドとしては、セレクタ42の選択経路を設定するための
専用のセレクタ制御コマンドが与えられる。制御回路5
0aは、このセレクタ制御コマンドが与えられると、セ
レクタ制御回路50bに制御信号を与えて、セレクタ4
2の接続経路を決定する。
【0076】図12は、この制御部の他の構成を示す図
である。図12において、制御部50は、制御回路50
aの出力信号を格納して、セレクタ42へ与えられる選
択制御信号φselを生成するレジスタ50dと、制御
回路50aの制御の下に、アドレス信号、およびセレク
タ18へ与えられる選択制御信号Sel1とSel2を
生成するアドレス制御部50cを含む。
【0077】この図12に示す制御部50の構成におい
ては、制御回路50aが、制御コマンドに従って、フラ
グを生成し、レジスタ50dの格納内容を設定する。こ
のレジスタ50dは、内部動作状態を設定するコントロ
ールレジスタであり、セレクタ42に対し専用にレジス
タ50dを設けることにより、制御が容易となる。この
図12に示す構成においては、制御回路50aへ与えら
れる制御コマンドとしては、図11(A)および(B)
に示すコマンドのいずれの形が与えられてもよい。制御
回路50aがフラグを生成し、そのフラグに従ってレジ
スタ50dの格納データが決定される。
【0078】図13は、図10または図12に示す制御
回路50aおよびアドレス制御部50cの構成をより詳
細に示す図である。図13において、制御回路50a
は、メモリコントローラからのオペレーションコマンド
φOPを受けて、バッファメモリ100およびフレーム
バッファ40に対するアクセスを制御するアクセス制御
回路50aaと、アクセス制御回路50aaの制御の下
に、バッファメモリ100に対する画素データのアクセ
ス(データの書込/読出)を制御するSRAMコントロ
ーラ50abと、アクセス制御回路50aaの制御の下
に、フレームバッファ40に対する画素データのアクセ
スを制御するDRAMコントローラ50acを含む。S
RAMコントローラ50abおよびDRAMコントロー
ラ50acは、バッファメモリ100とフレームバッフ
ァ40の間での画素データの転送時、ともに制御動作を
並行して行ない、またバッファメモリ100の画素デー
タの演算処理においては、SRAMコントローラ50a
bがバッファメモリ100に対するアクセスを制御す
る。
【0079】アドレス制御部50cは、アクセス制御回
路50aaの制御の下に、バッファメモリ100に対す
るアドレスを生成するSRAMアドレス発生回路50c
aと、アクセス制御回路50aaの制御の下に、フレー
ムバッファ40に対するアドレスを生成するDRAMア
ドレス発生回路50cbを含む。SRAMアドレス発生
回路50caは、図6に示すアドレス発生部(アドレス
レジスタ)を備え、バッファメモリ100に対する書込
および読出アドレスを生成する。DRAMアドレス発生
回路50cbは、フレームバッファ40に含まれる画像
データIGを単位として、バッファメモリ100と画素
データの転送を行なう。画像データIGの領域は、たと
えばタグアドレスにより識別される。DRAMアドレス
発生回路50cbは、このタグアドレスを先頭アドレス
として、行および列アドレスをたとえばカウンタ回路に
より順次生成して、この画像データIGをバッファメモ
リ100との間で転送する。
【0080】DRAMアドレス発生回路50cbは、こ
の画像データIGをバッファメモリ100へ転送した
後、アクセス制御回路50aaからの制御に従って演算
処理完了(最後の演算が行なわれる)指示が与えられる
と、この読出アドレスを書込アドレスとしてフレームバ
ッファ40へ与え、バッファメモリ100からの演算処
理後の画像データを元の画像データIGが格納された位
置に格納する。したがって、このDRAMアドレス発生
回路50cbが、単にタグアドレスを各画像データ領域
それぞれに対応して生成し、書込/読出アドレスを内部
でカウンタなどにより生成することにより、容易に、こ
のフレームバッファ40から分割領域(画像データIG
の領域)単位で、バッファメモリ100と画像データの
転送を行なうことができる。
【0081】図13においては、フレームバッファ40
に含まれる画像データIGが、バッファメモリ100の
記憶領域全体にわたって格納されるように示される。す
なわち、画像データIGがキャッシュサイズとして示さ
れている。しかしながら、このバッファメモリ100の
サイズは、複数の画像データを格納するサイズに設定さ
れてもよい。キャッシュされた画像データそれぞれにタ
グアドレスをDRAMアドレス発生回路50cbにおい
て記憶しておき、アクセス制御回路50aaの制御の下
に、演算処理が終了したタグアドレスが指定するキャッ
シュサイズの画像データを、そのタグアドレスを基にバ
ッファメモリ100からフレームバッファ40へ返送す
ることにより、画像データの転送が実現される。
【0082】図14は、この発明の実施の形態3に従う
演算回路内蔵半導体記憶装置におけるバッファメモリ1
00の構成を示す図である。図14において、バッファ
メモリ100は、複数の行列状に配列されるSRAMセ
ルを有するメモリアレイ100aと、メモリアレイ10
0aとデータバス55の間に設けられ、画素データの入
出力を行なうためのAポート100bと、メモリアレイ
100aとDRAMバス41(リードバス41rおよび
ライトバス41wを含む)との間で画素データの転送を
行なうためのBポート100cと、SRAMコントロー
ラ50abの制御の下に、Aポート100bを介しての
画素データの入出力を制御するAポート制御回路100
dと、同様、SRAMコントローラ50abの制御の下
に動作し、Bポート100cを介しての画素データの入
出力を制御するためのBポート制御回路100eを含
む。画素データバス55は、mビット幅を有し、図8に
示す画素データPXおよびPYの転送を行なう。一方、
DRAMバス41は、10ビット(具体的には10ビッ
ト・4ビット)の画素データを転送する。
【0083】図14に示すように、バッファメモリ10
0を、2ポート構成とすることにより、ビット幅の異な
る画素データの入出力を行なうことができ、またパイプ
ライン演算処理時において、フレームバッファ40とバ
ッファメモリ100との間の画素データの転送と並行し
て、このバッファメモリ100の画素データの演算処理
を実行することができる。
【0084】Bポート100cを介してたとえば4つの
画素データを同時に入出力し、単に、Aポートを介して
1つの画素データが入出力される場合、この画素データ
特定用のアドレス信号の下位2ビットを無視することに
より、容易に4画素のデータをBポートを介して入出力
することができる。これは、Bポート制御回路100e
において、アドレス信号の下位2ビットを無視するよう
に構成されればよい。
【0085】また、Aポート100bを介しては、mビ
ット幅の画素データの入出力が行なわれ、一方、Bポー
ト100cを介しては、10ビット幅の画素データの入
出力が行なわれる構成は、以下のようにして実現され
る。
【0086】図15は、図14に示すメモリアレイ10
0a内における内部データバスの構成を概略的に示す図
である。図15において、メモリアレイ100aにおい
ては、それぞれがmビットのバス幅を有する内部データ
バス62a、62b、62cおよび62dが設けられ
る。これら内部データバス62a〜62dそれぞれに対
し、Aポートに対するデータの書込/読出を行なうため
の読出/書込回路60a〜60dが設けられ、またBポ
ートを介しての画素データの入出力のための読出/書込
回路64a〜64dがそれぞれ設けられる。読出/書込
回路(R/W)60a〜60dの各々は、mビットの画
素データの読出/書込を行なう。これらの読出/書込回
路60a〜60dに対し、IOデコーダ69が設けら
れ、このIOデコーダ69は、読出/書込回路60a〜
60dのうちの1つを選択してAポート100bに接続
する。
【0087】一方、DRAM用読出/書込回路(R/
W)64a〜64dは、mビットの内部データバス62
a〜62dと、10ビットの内部読出/書込データバス
66a〜66dの間で画素データの転送を行なう。内部
読出/書込データバス66a〜66dは、並列にBポー
ト100cに接続される。読出/書込回路64a〜64
dは、Bポート100cから与えられる10ビットの画
素データをmビットに拡張して対応の内部データバス6
2a〜62dに伝達し、一方、読出モード時において
は、mビットの画素データを10ビットの画素データに
圧縮して出力する。
【0088】図16は、図15に示すBポート100c
に対する読出/書込回路の構成を概略的に示す図であ
る。図16においては、これらの読出/書込回路64a
〜64dのうちの1つの読出/書込回路64の構成を代
表的に示す。読出/書込回路64は、mビットの内部デ
ータバス62のうち10ビットのバス線に対して設けら
れるライトドライバ/リードアンプ(W/A)と、残り
の(m−10)ビットのバス線に対して設けられ、画素
データ書込時に活性化されて、ビット“0”を書込む零
ライトドライバ(ZW)を含む。
【0089】丸め回路において丸め処理が行なわれるデ
ータは、内部データバス62の(m−10)ビットのバ
スに伝達される。したがって、これらのデータバス線に
対し読出アンプは設けず、書込回路のみを設けることに
より、mビットの画素データから10ビットの読出デー
タを生成することができる。一方、10ビットの書込デ
ータが生成されたとき、零ライトドライバZWを活性化
して、“0”を書込むことにより、10ビットの画素デ
ータをmビットの画素データに拡張することができる。
【0090】この図15および図16に示す構成を利用
することにより、演算処理用のmビットの画素データの
入出力、およびバッファメモリとフレームバッファとの
間での10ビットの画素データの転送を容易に実現する
ことができる。
【0091】[変更例]図17は、この発明の実施の形
態3に従う演算回路内蔵半導体記憶装置の変更例を示す
図である。図17に示す構成においては、バッファメモ
リ100は、10ビットの画素データPXおよびPYを
入出力する。ブレンド回路102は、ブレンド演算など
を行なう演算回路102aと、丸め対象となる画素デー
タビットを格納するSRAMバッファ102bを含む。
すなわち、フレームバッファ40に対して格納される画
素データ部分は、バッファメモリ100に格納し、丸め
対象となる画素データビットはブレンド回路102内に
設けられたSRAMバッファ102bにおいて格納す
る。したがって、バッファメモリ100は、10ビット
の画素データを演算処理時に入出力し、かつ10ビット
の画素データを、フレームバッファ40との間で転送す
る。したがって、バッファメモリ100の構成が簡略化
される。
【0092】他の構成は、図8に示す構成と同じであ
り、対応する部分には同一参照番号を付す。
【0093】ただし、レジスタ46は、バッファメモリ
100からの10ビットの画素データPXを受けて、m
ビットの画素データを出力するビット幅拡張機能を備え
る。このレジスタ46の構成は、先の図5に示す構成と
同様の構成により実現される。
【0094】図18は、図17に示すブレンド回路10
2の構成をより具体的に示す図である。図18におい
て、演算回路102aへは、上位10ビットの画素デー
タを転送するデータバス71aと下位(m−10)ビッ
トを転送するデータバス71bにより、mビットの画素
データが与えられる。SRAMバッファ102bから読
出された画素データは、レジスタ102cを介して、下
位のデータバス71bに伝達される。また、演算回路1
02aからの出力画素データは、レジスタ102dを介
してSRAMバッファ102bへ与えられる。
【0095】レジスタ102cおよび102dは、図1
7に示すバッファメモリ100における画素データの読
出および書込タイミングとSRAMバッファ102bの
同一画素データの読出/書込タイミングを同じとするた
めに設けられる。したがって、レジスタ102cは、図
17に示すレジスタ46および20における画素データ
伝搬遅延タイミングを補償するために設けられ、またレ
ジスタ102dは、図17に示すレジスタ43からの画
素データPYのバッファメモリ100への書込時の遅延
を補償するために設けられる。レジスタ102cおよび
102dを設けることにより、SRAMバッファ102
bおよびバッファメモリ100に対し、共通のアドレス
を与えて画素データの読出および書込を行なうことがで
きる。ただし、レジスタ102cは、セレクタ18が、
フィードバックバイパス経路を介して転送される画素デ
ータを選択した場合には、その格納データは無効とさ
れ、レジスタ102cの出力はハイインピーダンス状態
に設定される。
【0096】画素データバス71aおよび71bには、
レジスタ20(図17参照)からのmビットの画素デー
タが伝達される。バッファメモリ100から読出された
画素データが伝達される場合、有意の画素データは、画
素データバス71a上に伝達され、下位の画素データバ
ス71bには、“0”のビットが転送される。したがっ
て、このデータバス71bに、レジスタ102cの出力
データを転送することにより、演算回路102aにより
演算処理されたmビットの画素データが再び演算回路1
02aに伝達される。
【0097】セレクタ18が、フィードバックバイパス
経路を介して転送される画素データを選択した場合、レ
ジスタ20からは、mビットの有意の画素データが転送
され、データバス71aおよび71bに、有意の画素デ
ータビットが転送される。この状態においてはレジスタ
102cは、出力ハイインピーダンス状態に設定され、
データバス71b上の画素データへは、悪影響は及ばさ
ない。
【0098】丸め演算対象となる画素データビットをブ
レンド回路102内においてのみ転送し、バッファメモ
リ100へは、フレームバッファの画素データと同じビ
ット幅の画素データのみを格納することにより、バッフ
ァメモリ100の構成が簡略化される。また、レジスタ
102cおよび102dを設けることにより、同じアド
レス発生回路を用いてバッファメモリ100およびSR
AMバッファ102bに対する画素データの書込/読出
を行なうことができる。このアドレス発生回路の構成と
しては、先の図10または図12に示す構成を利用する
ことができる。
【0099】以上のように、この発明の実施の形態3に
従えば、フィードバックバイパス経路にセレクタを設
け、バッファメモリ100に格納された画素データへの
演算処理実行中は、演算結果データを転送し、最後の演
算処理(1つの演算単位における最終処理)においての
み丸め回路の出力画素データを有効としているため、丸
め演算誤差が画素データに累積されるのを防止すること
ができ、正確な画像処理を実現することができる。
【0100】また、フレームバッファ40を同一チップ
上に集積化して、バッファメモリ100とフレームバッ
ファ40との間で画素データを転送する構成とすること
により、フレームバッファとバッファメモリとの間のバ
ス幅をピン端子の数の影響を受けることなく十分に広く
することができ、高速の画素データ転送を実現すること
ができる。
【0101】[実施の形態4]図19は、この発明の実
施の形態4に従う演算回路内蔵半導体記憶装置の全体の
構成を概略的に示す図である。図19に示す構成におい
ては、ブレンド回路102からのmビットの演算処理後
の画素データが、レジスタ43を介してフィードバック
バイパス経路45およびバッファメモリ100へ与えら
れる。バッファメモリ100は、mビットの画素データ
を格納する。
【0102】バッファメモリ100は、バス75rを介
してフレームバッファ40からの画素データを受け、ま
たバス76srを介して丸め回路80へ画素データを転
送する。丸め回路80からの丸め演算処理後の10ビッ
トの画素データが、バス76dwを介してフレームバッ
ファ40へ転送されて格納される。バッファメモリ10
0からの読出画素データを転送するSRAMリードデー
タバス76srが、4・mビットの幅を有し、4つの画
素データを並列に転送する。丸め回路80は、これらの
4つの画素データそれぞれに対し並列に丸め演算処理を
施して、その結果画素データを、DRAMライトデータ
バス76dw上に伝達する。DRAMライトデータバス
76dwは、4・10ビットの幅を有し、4つの10ビ
ット幅の画素データを並列に転送する。
【0103】丸め回路80が、バッファメモリ100と
フレームバッファ40の間のバスに設けられる点を除い
て、他の構成は、図17に示す構成と同じであり、対応
する部分には同一参照番号を付し、その詳細説明は省略
する。
【0104】この図19に示す構成においては、演算処
理時においては、バッファメモリ100、セレクタ1
8、およびブレンド回路102で構成されるループによ
り演算処理が実行される。最後の演算処理(1つの演算
単位における)実行時においても、バッファメモリ10
0へは、ブレンド回路102からの画素データが格納さ
れる。バッファメモリ100からフレームバッファ40
への画素データの転送時に、丸め回路80が活性化さ
れ、丸め演算処理を、バッファメモリ100からの画素
データに対して実行する。したがって、この図19に示
す構成においては、バッファメモリ100からフレーム
バッファ40への画素データの転送時に丸め回路を活性
化して演算処理を行なうだけでよく、丸め演算処理の活
性タイミングを、バッファメモリ100からフレームバ
ッファ40への画素データ転送サイクルに設定すること
ができ、制御が容易となる。また、バッファメモリ10
0へは、丸め演算前の画素データが格納されるため、丸
め演算誤差が、このバッファメモリ100に格納される
画素データにおいて累積されるのは防止され、正確な画
素データ処理が実現される。
【0105】バッファメモリ100の構成は、図14お
よび図15に示す構成と実質的に同じである。単に、図
15に示すフレームバッファと画素データの授受を行な
う読出/書込回路の構成が異なる。
【0106】図20は、この発明の実施の形態4におけ
るバッファメモリに含まれる読出/書込回路の構成を概
略的に示す図である。図20において、読出/書込回路
64は、mビットのバス線のうち10ビットのバス線に
対してそれぞれ設けられるライトドライバ/読出アンプ
W/Aと、残りの(m−10)ビットのバス線に対して
設けられる零ライトドライバ/読出アンプZW/Aを含
む。これらのライトドライバ/読出アンプW/Aおよび
ZW/Aは、SRAMリードバス76srへ、Bポート
を介して結合される。零ライトドライバ/読出アンプZ
W/Aは、データ書込時においては、対応のバス線に
“0”を書込み、データ読出時には、対応のバス線上に
読出されたデータを増幅して読出ビットを生成する。
【0107】なお、この図20に示す読出/書込回路6
4の構成において、外部のリードデータバス76srお
よびライトデータバス75rそれぞれに対応して、読出
データバスおよび書込データバスが別々に設けられても
よい。この場合、ライトドライバと読出アンプが各対応
のバスに対応して別々に設けられる。メモリアレイ内に
おいては、書込データおよび読出データを共通に伝達す
る内部共通データバス線の構成が用いられてもよく、ま
た読出データと書込データをそれぞれ伝達する内部読出
データバス線および内部書込データバス線が別々に設け
られる構成が用いられてもよい。
【0108】図21は、図19に示す丸め回路80の構
成を概略的に示す図である。図21において、丸め回路
80は、SRAMリードデータバス76srのmビット
のバス76sr0、76sr1、76sr2、および7
6sr3それぞれに対応して設けられる丸め回路80
a、80b、80cおよび80dを含む。これらの丸め
回路80a〜80dの各々は、mビットの画素データ
に、丸め演算処理を施して10ビットの画素データに圧
縮する。この丸め演算時においては、丸め回路80a〜
80dの各々は、mビットの画素データのうち、下位ビ
ットを参照して、四捨五入、切上げ/切下げまたはしき
い値処理などの丸め演算処理を実行して、10ビットの
画素データを生成する。これらの丸め回路80a〜80
dからの10ビットの画素データは、それぞれDRAM
データバス76dwに含まれるバス76dw0、76d
w1、76dw2、および76dw3を介して並列にフ
レームバッファ40へ転送される。
【0109】[変更例]図22は、この発明の実施の形
態4に従う演算回路内蔵半導体記憶装置の変更例の構成
を概略的に示す図である。図22に示す構成において
は、ブレンド回路102において、演算回路102a
と、この演算回路102aの出力画素データのうち、丸
め演算対象となる下位のたとえば4ビットの画素データ
を格納するSRAMバッファ102bと、フレームバッ
ファへの画素データ転送時、SRAMバッファ102b
から読出された画素データに対し丸め演算処理を行な
い、該丸め結果を示すデータCRを出力する丸め回路1
02fとが設けられる。
【0110】バッファメモリ100は、演算処理時にお
いて10ビットの画素データの入出力を行ない、またフ
レームバッファ40は、複数画素単位でデータの転送を
行なう。このバッファメモリ100からフレームバッフ
ァ40へのデータ転送経路(バス76srおよび76d
w)において、丸め回路102fからの丸め結果データ
CRに従って増分動作を行なう増分回路85が設けられ
る。
【0111】この増分回路85は、バッファメモリ10
0からSRAMリードデータバス76srに読出される
4つの画素データ(10ビット幅の画素データ)それぞ
れに対し、丸め回路102fからの丸め結果データCR
に従って増分動作を行なう。通常は、この丸め演算は、
小数点以下のビットについて行なわれ、その丸め結果に
従って、10ビット画素データに対する増分の有無が決
定される。増分回路85の構成については後に説明する
が、リップルキャリ型の加算回路で構成され、その占有
面積は小さくすることができ、バッファメモリ100と
フレームバッファ40との間のデータ転送経路の占有面
積を低減することができ、エリアペナルティを軽減する
ことができる。また、丸め回路102fを、ブレンド回
路102内に含めておくことにより、必要最小限のデー
タビットのみを受けて丸め回路102fが丸め演算処理
を行なうため、mビットの画素データを丸め回路に入力
する必要がなく、丸め回路の占有面積を低減することが
できる。
【0112】残りの構成は、図19に示す構成と同じで
あり、対応する部分には同一参照番号を付し、その詳細
説明は省略する。
【0113】SRAMバッファ102bと演算回路10
2aとの間のデータビットの転送の制御は、図18に示
す構成と同様の構成により実現される。SRAMバッフ
ァ102bから丸め回路102fへの画素データの転送
は、転送サイクル開始時において、バッファメモリ10
0に対して与えられる読出アドレスと同じアドレスをS
RAMバッファ102bに与えることにより実行され
る。
【0114】図23は、図22に示す丸め回路102f
の構成を概略的に示す図である。図23においては、S
RAMバッファ102bから並列に読出される4つの画
素データの下位4ビットS0[3:0]、S1[3:
0]、S2[3:0]、およびS3[3:0]それぞれ
に対し丸め演算処理を行なう丸め回路90a、90b、
90cおよび90dが設けられる。丸め回路90a〜9
0dの各々は、与えられた4ビットの画素データに対
し、所定の丸め演算処理を実行して、その丸め処理結果
を示す1ビットデータCR0、CR1、CR2およびC
R3をそれぞれ出力する。これらの丸め回路90a〜9
0dが実行する丸め処理としては、四捨五入処理、切上
げ/切下げ処理、およびしきい値処理(ディザ処理:Di
ther)のいずれの処理が行なわれてもよい。これらの丸
め回路90a〜90dからの丸め演算結果データCR0
〜CR3は、並列に、図22に示す増分回路85へ与え
られる。増分回路は、バッファメモリ100から並列に
読出される4画素データ(10ビット幅の画素データ)
それぞれに対して設けられる増分回路を含んでおり、こ
の丸め回路90a〜90dからの丸め演算結果データを
最下位ビットのキャリ入力として、加算演算を行なっ
て、10ビットの画素データを生成してバス76dwを
介してフレームバッファ40へ与える。
【0115】図24は、図22に示す増分回路85の構
成を概略的に示す図である。図24においては、mビッ
トの画素データが、14ビットの画素データの場合の構
成が示される。したがって、バッファメモリ100に
は、14ビットの画素データのうち、上位の10ビット
の画素データS[13:4]が格納される。
【0116】図24において、増分回路85は、10ビ
ット画素データS0[13:4]に、丸め演算結果デー
タCR0に従って増分処理を行なって画素データD0
[9:0]を生成する増分器95aと、画素データS1
[13:4]を、丸め演算結果データCR1に従って増
分して10ビット画素データD1[9:0]を生成する
増分器95bと、画素データS2[13:4]を、丸め
演算結果データCR2に従って増分して10ビット画素
データD2[9:0]を生成する増分器95cと、10
ビット画素データS2[13:4]を、丸め演算結果デ
ータCR3に従って増分して画素データD3[9:0]
を生成する増分器95dを含む。
【0117】これらの増分器95a〜95dからの10
ビット画素データD0[9:0]〜D3[9:0]が並
列に、フレームバッファ40(図22参照)へ与えられ
る。バッファメモリ100からは、画素データS0[1
3:4]〜S3[13:4]が並列に読出されて増分器
95a〜95dへ与えられる。増分器95aは、リップ
ルキャリ型加算器で構成され、丸め演算結果データCR
0〜CR3をそれぞれ、最下位ビット位置に受けて加算
動作を実行する。これにより、バッファメモリからフレ
ームバッファ40への画像データ転送時において、ブレ
ンド回路102において、SRAMバッファ102bか
らの画素データを1クロックサイクル前に読出し、丸め
回路102fにより丸め演算処理を行なうことにより、
バッファメモリ100から読出された画素データS0
[[13:4]〜S3[13:4]の確定時、既に、こ
れらの丸め演算結果データCR0〜CR3の値が確定し
ているため、高速で、画素データD0[9:0]〜D3
[9:0]を生成することができる。すなわち丸め演算
処理を、1クロックサイクル先に実行することにより、
画素データがバッファメモリから読出されたときに、そ
の読出画素データに対して丸め演算処理を行なう必要が
なく、その丸め演算処理に要する時間処理を高速化する
ことができる。
【0118】図25は、図24に示す増分器95a〜9
5dの構成を概略的に示す図である。図24において
は、これらの増分器95a〜95dの各々が同一構成を
有するため、1つの増分器95を代表的に示す。
【0119】図25において、増分器95は、画素デー
タビットSi[4]〜Si[13](i=0−3)それ
ぞれに対応して設けられる半加算器HA0〜HA9を含
む。これらの半加算器HA0〜HA9は、キャリ入力C
Iとキャリ出力COが順次接続されて、リップルキャリ
型加算回路を構成する。これらの半加算器HA0〜HA
9から、丸め演算処理後の画素データビットDi[0]
〜Di[9]が出力される。単に、丸め演算結果データ
CRiに従って、画素データSi[4]〜Si[13]
=Si[13:4]の増分を行なうだけであり、この回
路においては、リップルキャリの伝搬遅延で決定される
時間内で増分処理を行なうことができる。半加算器は簡
易な回路構成であり、その占有面積は十分小さくするこ
とができる。
【0120】図26は、図25に示す半加算器HA0〜
HA9の具体的構成を示す図である。図26において、
半加算器HAは、キャリ入力CIからのビットと入力A
からの画素データビットとを受けるEXOR回路99a
と、キャリ入力CIからのビットと入力Aからの画素デ
ータビットとを受けるAND回路99bを含む。EXO
R回路99aからサム出力Sを介して丸め処理後の画素
データビットが出力され、AND回路99bから、キャ
リ出力COを介して次段の半加算器のキャリ入力にキャ
リ信号が与えられる。
【0121】この図26に示す半加算器HAにおいて、
キャリ入力CIに与えられるビットと入力Aに与えられ
る画素データビットがともに“1”のときには、AND
回路99bからのキャリ出力COに与えられるビットが
“1”となり、それ以外、このキャリ出力COからのビ
ットは、“0”となる。一方、EXOR回路99aは、
キャリ入力CIからのビットと入力Aからの画素データ
ビットの値が等しい場合には、サム出力Sからのビット
を“0”とし、キャリ入力CIからのビットと入力Aか
らの画素データビットの値が異なるときには、サム出力
Sからの画素データビットを“1”に設定する。サム出
力Sからのビットのみを用い、キャリ出力を、順次次段
の半加算器へ伝達することにより、容易に、丸め演算処
理結果データCRiに従って増分処理を行なうことがで
きる。
【0122】以上のように、この発明の実施の形態4に
従えば、バッファメモリとフレームバッファとの間で丸
め演算処理を行なうように構成しているため、回路構成
が簡略化され、また演算処理時の画素データ転送経路の
選択制御を行なう必要がなく、制御が容易となる。ま
た、丸め演算を行なう回路をブレンド回路内に含め、こ
の丸め演算結果に従って増分処理を行なう回路をバッフ
ァメモリとフレームバッファとの間に設けていることに
より、増分回路に対するキャリ入力を、1クロックサイ
クル前に決定することができ、高速で増分動作、すなわ
ち丸め演算動作を行なうことができる。また、フレーム
バッファとバッファメモリとの間の回路の占有面積を低
減することができる。
【0123】[他の適用例]上述の説明においては、フ
レームバッファとバッファメモリとの間で、4個の画素
データを並列に転送しているとして説明している。これ
は、キャッシュのブロックサイズに相当するが、キャッ
シュブロックサイズは、4画素ではなく、他の画素数で
あってもよく、データバスのチップ上の占有面積に応じ
て適当な値に設定されればよい。
【0124】また、上述の説明においては、ブレンド回
路により演算処理された結果データがバッファメモリの
元の画素データ位置に格納され、複数回演算処理が行な
われる画素における丸め演算誤差の累積が低減される。
この場合、単にバッファメモリ内において、同じ画素デ
ータの元の位置に演算結果データが格納されている。こ
の行なわれる演算処理としては、色の混合演算処理と同
様の演算処理であればよく、たとえば拡大/縮小演算時
において、補間画素の輝度を求めるなどの演算処理であ
ってもよい。また、画素データは、10ビット幅でな
く、他の画素データのビット幅が用いられてもよく、ブ
レンド回路において演算処理される画素データのビット
数mは、任意である。
【0125】また、ブレンド回路の内部の具体的構成
は、単に、混色演算処理をパイプライン的に行なう回路
構成であればよく、画像データ処理時において通常用い
られるZ値を格納するZバッファなどを含む構成が利用
されてもよい。
【0126】
【発明の効果】以上のように、この発明に従えば、繰返
し演算処理が行なわれる画素データに対し、丸め演算誤
差ができるだけ累積されないように構成しているため、
正確な画像データ処理を実現することができる。
【0127】すなわち、請求項1に係る発明に従えば、
フィードバックバイパス経路において、演算回路の出力
画素データを転送するように構成しているため、フィー
ドバックバイパス経路の画素データに対する演算処理時
において、この画素データにおける丸め演算誤差の累積
が防止される。
【0128】請求項2に係る発明に従えば、フィードバ
ックバイパス経路において複数のレジスタを縦列接続し
ているため、フィードバックバイパス経路における画素
データが用いられる確率を高くすることができ、応じて
丸め演算誤差が累積される画素データ数を低減すること
ができる。
【0129】請求項3に係る発明に従えば、フィードバ
ックバイパス経路において演算回路の出力データと丸め
回路の出力データの一方を選択するように構成している
ため、演算処理時、演算回路の出力データを選択して、
演算処理を繰返し実行することができ、丸め演算誤差の
累積が防止される。
【0130】請求項4に係る発明に従えば、このフィー
ドバックバイパス経路の転送画素データを、第1のメモ
リへ格納するように構成しているため、第1のメモリに
格納される画素データは、演算回路の出力画素データと
なり、丸め演算された画素データは格納されないため、
丸め演算誤差が画素データに対して累積されるのを防止
することができる。
【0131】請求項5に係る発明に従えば、第1のメモ
リと第2のメモリの間の画素データの転送経路におい
て、第2のメモリに対する画素データ転送経路において
丸め処理を施す手段を設けているため、第1のメモリ
に、演算処理時、常時演算処理結果の画素データが格納
されるため、丸め演算誤差が累積されるのを防止するこ
とができる。
【0132】請求項6に係る発明に従えば、第1のメモ
リと第2のメモリが複数の画素データを並列に転送し、
丸め回路を、これら複数の画素データそれぞれに対して
設けているため、効率的な画素データの転送および丸め
演算処理を行なうことができる。
【0133】請求項7に係る発明に従えば、丸め処理を
行なう回路を演算回路内に設け、この丸め回路の出力ビ
ットに従って第1のメモリから読出された画素データの
増分処理を行なうように構成しているため、第1のメモ
リと第2のメモリとの間のデータ転送経路の回路の占有
面積を低減することができる。また、演算回路内におい
て速いサイクルで丸め演算処理を行なうことにより、丸
め演算結果データが確定した次のサイクルにおいて第1
のメモリからの画素データの増分処理を行なうことがで
き、高速の丸め演算処理を行なうことができる。
【0134】請求項8に係る発明に従えば、第1のメモ
リの格納する画素データのビット数が丸め回路の出力デ
ータのビット数に等しくされており、丸め演算処理時お
よび、データ転送時いずれにおいても、第1のメモリの
格納画素データ数が変化せず、第1のメモリに対する画
素データの書込/読出の経路を簡略化することができ
る。
【0135】請求項9に係る発明に従えば、フィードバ
ックバイパス経路において演算回路と丸め回路の出力を
選択する第2の選択手段が、最後の演算単位実行時、す
なわち第2のメモリへの転送サイクル前において丸め回
路の出力データを選択して第1のメモリへ転送してそこ
に書込むように構成しているため、簡易な回路構成で、
丸め演算誤差が累積されるのを防止することができる。
また、第1のメモリは、常時、第2の選択手段からの画
素データを格納するだけでよく、制御が容易となる。
【0136】請求項10に係る発明に従えば、丸め演算
結果データを、第1のメモリに格納するように構成して
いるため、フィードバックバイパス経路の構成が簡略化
され、また第1のメモリの書込/読出のための構成が簡
略化される。
【0137】請求項11に係る発明に従えば、第1のメ
モリの入出力する画素データのビット数が演算回路の入
力する画素データのビット数に等しく、また第2のメモ
リの入出力する画素データのビット数が丸め回路の出力
する画素データビット数に等しくされており、第1のメ
モリには、演算回路の画素データを書込むことができ、
この第1メモリに格納される画素データに丸め演算結果
データが格納されるのを容易に防止することができ、丸
め演算の結果生じる誤差が累積されるのを防止すること
ができる。
【0138】請求項12に係る発明に従えば、第1のメ
モリの画素データのビット数を演算回路の入力画素デー
タのビット数に等しく、第2のメモリの画素データのビ
ット数を丸め回路の出力データのビット数に等しくして
いるため、第2のメモリの格納画素データのビット数に
応じて丸め処理を行なうとともに、演算回路の演算処理
に応じて第1のメモリに画素データを格納することがで
き、第1のメモリに、演算結果データを丸め処理を施す
ことなく格納することができ、画素データに丸め演算誤
差が累積されるのを防止することができる。
【図面の簡単な説明】
【図1】 この発明に従う演算回路内蔵半導体記憶装置
を含む処理システムの構成を概略的に示す図である。
【図2】 図1に示す演算回路内蔵半導体記憶装置の演
算処理動作を示す図である。
【図3】 この発明の実施の形態1に従う演算回路内蔵
半導体記憶装置の構成を概略的に示す図である。
【図4】 図3に示す演算回路内蔵半導体記憶装置の処
理動作を示す図である。
【図5】 図3に示すビット幅拡張レジスタの構成を概
略的に示す図である。
【図6】 図3に示す演算回路内蔵半導体記憶装置の制
御部の構成を概略的に示す図である。
【図7】 この発明の実施の形態2に従う演算回路内蔵
半導体記憶装置の構成を概略的に示す図である。
【図8】 この発明の実施の形態3に従う演算回路内蔵
半導体記憶装置の構成を概略的に示す図である。
【図9】 図8に示す演算回路内蔵半導体記憶装置の動
作を示す図である。
【図10】 図8に示す演算回路内蔵半導体記憶装置の
制御部の構成を概略的に示す図である。
【図11】 (A)および(B)は、図10に示す制御
回路へ与えられるオペレーションコマンドの構成を示す
図である。
【図12】 制御部の変更例を示す図である。
【図13】 図10または図12に示す制御回路の構成
を概略的に示す図である。
【図14】 図8に示すバッファメモリの構成を概略的
に示す図である。
【図15】 図14に示すメモリアレイ部の構成をより
具体的に示す図である。
【図16】 図15に示す読出/書込回路部の構成を概
略的に示す図である。
【図17】 この発明の実施の形態3の変更例の構成を
概略的に示す図である。
【図18】 図17に示すブレンド回路の構成をより具
体的に示す図である。
【図19】 この発明の実施の形態4に従う演算回路内
蔵半導体記憶装置の全体の構成を概略的に示す図であ
る。
【図20】 図19に示すバッファメモリのデータ読出
/書込部の構成を概略的に示す図である。
【図21】 図19に示す丸め回路の構成を概略的に示
す図である。
【図22】 この発明の実施の形態4の変更例の構成を
概略的に示す図である。
【図23】 図22に示す丸め回路の構成を概略的に示
す図である。
【図24】 図22に示す増分回路の構成を概略的に示
す図である。
【図25】 図24に示す増分器の構成を概略的に示す
図である。
【図26】 図25に示す半加算器の構成の一例を示す
図である。
【図27】 画像データ処理の一例を示す図である。
【図28】 従来の演算回路内蔵半導体記憶装置の構成
を概略的に示す図である。
【図29】 図28に示す演算回路内蔵半導体記憶装置
の問題点を説明するための図である。
【符号の説明】
1 演算回路内蔵半導体記憶装置、5 フレームバッフ
ァ、100 バッファメモリ、102 ブレンド回路、
104 丸め回路、10 フィードバックバイパス経
路、14a〜14n レジスタ、40 フレームバッフ
ァ、42 セレクタ、45 フィードバックバイパス経
路、41r DRAMリードデータバス、41w DR
AMライトデータバス、102a 演算回路、102b
SRAMバッファ、80 丸め回路、102f 丸め
回路、85 増分回路、90a〜90d 丸め回路、9
5a〜95d 増分器、HA0〜HA9,HA 半加算
器。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 与えられた画素データに所定の演算処理
    を施すための演算回路、 画素データを格納する第1のメモリ、 前記演算回路の出力データを転送するフィードバックバ
    イパス手段、および前記第1のメモリから読出された画
    素データと前記フィードバックバイパス手段からの画素
    データの一方を選択して前記演算回路へ与える選択手段
    とを備える、演算回路内蔵半導体記憶装置。
  2. 【請求項2】 前記フィードバックバイパス手段は、 前記演算回路の出力データを順次転送する複数の縦続接
    続されるレジスタを備え、前記複数のレジスタの記憶す
    る画素データが前記選択手段へ並列に与えられる、請求
    項1記載の演算回路内蔵半導体記憶装置。
  3. 【請求項3】 前記演算回路の出力データに丸め演算処
    理を施してデータビット数を低減して出力する丸め回路
    をさらに備え、 前記フィードバックバイパス手段は、 前記演算回路の出力データと前記丸め回路の出力データ
    の一方を選択する第2の選択手段を含む、請求項1記載
    の演算回路内蔵半導体記憶装置。
  4. 【請求項4】 前記第1のメモリへ、前記フィードバッ
    クバイパス手段が転送する画素データを書込む手段をさ
    らに備える、請求項1から3のいずれかに記載の演算回
    路内蔵半導体記憶装置。
  5. 【請求項5】 前記第1のメモリへ画素データを伝達す
    るための第2のメモリ、および前記第1のメモリから前
    記第2のメモリへ画素データを書込む経路に設けられ、
    前記第1のメモリから読出された画素データに丸め処理
    を施して前記第2のメモリへ転送する丸め回路をさらに
    備え、前記第2のメモリは、前記丸め回路の出力データ
    を格納する、請求項4記載の演算回路内蔵半導体記憶装
    置。
  6. 【請求項6】 前記第1のメモリと前記第2のメモリと
    は、複数の画素データを並列に転送し、 前記丸め回路は、前記複数の画素データそれぞれに対し
    て設けられる、請求項5記載の演算回路内蔵半導体記憶
    装置。
  7. 【請求項7】 前記画素データは複数ビットを含み、 前記丸め回路は、前記複数ビットの所定数のビットに対
    する増分演算を行なうインクリメント回路を含み、 前記演算回路は、前記画素データの前記複数ビットの残
    りのビットの丸め処理を行ない、該演算処理結果を前記
    インクリメント回路へ転送する回路を含む、請求項5ま
    たは6記載の演算回路内蔵半導体記憶装置。
  8. 【請求項8】 前記第1メモリの書込/読出を行なう画
    素データのビット数は、前記丸め回路の出力データのビ
    ット数に等しい、請求項3記載の演算回路内蔵半導体記
    憶装置。
  9. 【請求項9】 前記第2の選択手段は、前記第1のメモ
    リから前記第2のメモリへの画素データの転送前の演算
    サイクルにおいて前記丸め回路の出力データを選択し、 前記第1メモリは、前記転送前の演算サイクルにおいて
    前記第2選択手段が選択した画素データを格納する、請
    求項3記載の演算回路内蔵半導体記憶装置。
  10. 【請求項10】 前記演算回路の出力データに丸め処理
    を施して前記第1のメモリへ転送する丸め回路をさらに
    備え、 前記第1メモリは、前記丸め回路から転送された画素デ
    ータを前記フィードバックバイパス手段の転送と並列し
    て格納する、請求項1または2記載の演算回路内蔵半導
    体記憶装置。
  11. 【請求項11】 前記第1のメモリの入出力する画素デ
    ータのビット数は、前記演算回路の入出力する画素デー
    タのビット数に等しく、 前記第2のメモリの入出力する画素データのビット数
    は、前記丸め回路の出力する画素データのビット数に等
    しい、請求項5記載の演算回路内蔵半導体記憶装置。
  12. 【請求項12】 前記第1のメモリと画素データの授受
    を行なう第2のメモリをさらに含み、 前記第1のメモリの画素データのビット数は、前記演算
    回路の入出力する画素データのビット数に等しく、前記
    第2のメモリの画素データのビット数は、前記丸め回路
    の出力データのビット数に等しい、請求項3記載の演算
    回路内蔵半導体記憶装置。
JP10207601A 1998-07-23 1998-07-23 演算回路内蔵半導体記憶装置 Withdrawn JP2000040143A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10207601A JP2000040143A (ja) 1998-07-23 1998-07-23 演算回路内蔵半導体記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10207601A JP2000040143A (ja) 1998-07-23 1998-07-23 演算回路内蔵半導体記憶装置

Publications (1)

Publication Number Publication Date
JP2000040143A true JP2000040143A (ja) 2000-02-08

Family

ID=16542488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10207601A Withdrawn JP2000040143A (ja) 1998-07-23 1998-07-23 演算回路内蔵半導体記憶装置

Country Status (1)

Country Link
JP (1) JP2000040143A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262214A (ja) * 2008-06-02 2008-10-30 Seiko Epson Corp 表示コントローラ及び電子機器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262214A (ja) * 2008-06-02 2008-10-30 Seiko Epson Corp 表示コントローラ及び電子機器

Similar Documents

Publication Publication Date Title
JP3199205B2 (ja) 並列演算装置
US5778250A (en) Method and apparatus for dynamically adjusting the number of stages of a multiple stage pipeline
US6956577B2 (en) Embedded memory system and method including data error correction
US20030067473A1 (en) Method and apparatus for executing a predefined instruction set
JPH08194679A (ja) ディジタル信号処理方法及び装置並びにメモリセル読出し方法
JPS6162980A (ja) 画像メモリ周辺lsi
KR910000365B1 (ko) 기억회로
JP2024533746A (ja) データ処理方法、装置、機器及び記憶媒体
US5689450A (en) Parallel processor
US5363322A (en) Data processor with an integer multiplication function on a fractional multiplier
US5029018A (en) Structure of image processing system
US6334135B2 (en) Data processing system and register file
US5603046A (en) Method for complex data movement in a multi-processor data processing system
JP2000040143A (ja) 演算回路内蔵半導体記憶装置
US20080229063A1 (en) Processor Array with Separate Serial Module
JP4482356B2 (ja) Simdプロセッサを用いた画像処理方法及び画像処理装置
US5548771A (en) Multi-processor data processing system having multiple ports coupled to multiple interface circuits
JP2514473B2 (ja) 並列処理装置
JP5201485B2 (ja) 半導体集積回路装置
JP2001202351A (ja) Simd型プロセッサ
US6983297B2 (en) Shifting an operand left or right while minimizing the number of multiplexor stages
JPH07234948A (ja) 画像処理装置
JP2001118056A (ja) 画像処理装置
JP3531208B2 (ja) ディジタル信号処理装置
JP3220470B2 (ja) 制御レジスタ書き込み装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20051004