JPH0553898A - Function memory - Google Patents

Function memory

Info

Publication number
JPH0553898A
JPH0553898A JP3215650A JP21565091A JPH0553898A JP H0553898 A JPH0553898 A JP H0553898A JP 3215650 A JP3215650 A JP 3215650A JP 21565091 A JP21565091 A JP 21565091A JP H0553898 A JPH0553898 A JP H0553898A
Authority
JP
Japan
Prior art keywords
row
memory
column
data
orthogonal
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.)
Granted
Application number
JP3215650A
Other languages
Japanese (ja)
Other versions
JP2855899B2 (en
Inventor
Yoshihiro Fujita
善弘 藤田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP3215650A priority Critical patent/JP2855899B2/en
Publication of JPH0553898A publication Critical patent/JPH0553898A/en
Application granted granted Critical
Publication of JP2855899B2 publication Critical patent/JP2855899B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Image Input (AREA)
  • Dram (AREA)

Abstract

PURPOSE:To execute calculation at high speed in an LSI by constituting memories and plural processors on the same LSI. CONSTITUTION:An orthogonal memory cell 11, row memory 13, row register group 12, row computing element 15, column memory 19, column register group 18 and column computing element 21 are integrated on the same LSI. The row computing element 15 and the column computing element 21 are composed of plural computing elements which are respectively one-dimensionally arranged. The row computing element 15 executes calculation to data on the row register group 12 and can store the result in the row register group 12 again or can transfer data between the adjacent computing elements in the row computing element 15. The column computing element 21 executes calculation to data on the column register group 18 and can store the result in the column register group 18 again or can transfer data between the adjacent computing elements in the column computing element 21.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、画像等のデータを高速
に処理する機能メモリに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a functional memory for processing data such as images at high speed.

【0002】[0002]

【従来の技術】データ処理のアルゴリズムの一部に、大
量のデータに対して同一の処理を行うようなものがある
が、データ量が多い場合単一のプロセッサで処理すると
非常に時間がかかる。このような処理の場合、例えば画
像処理の場合、画素数分の並列度が存在し、その並列度
が生かせれば非常に高速に処理が行える。そこで、図7
に示すような、同一LSI上にメモリ部71、一次元状
に配置された多数の演算器およびレジスタ群から構成さ
れる演算処理部72、行データを高速に入出力するため
の行メモリ73を集積した機能メモリがある。この機能
メモリは、メモリ部71に保持されたデータに対して演
算処理部72で行単位に高速に処理を行うことができ
る。また、演算処理部72内の演算器は、隣接する演算
器とデータ転送ができる。さらに、行メモリ73を利用
して、行データを端から順に連続的に高速に入出力でき
る。この方式については、特願平3−119543号に
記載されている。
2. Description of the Related Art There is a part of data processing algorithm that performs the same processing on a large amount of data, but if the data amount is large, it takes a very long time to process with a single processor. In the case of such processing, for example, in the case of image processing, there is a parallel degree corresponding to the number of pixels, and if the parallel degree can be utilized, the processing can be performed at extremely high speed. Therefore, FIG.
, A memory unit 71, an arithmetic processing unit 72 composed of a large number of arithmetic units and a register group arranged one-dimensionally, and a row memory 73 for inputting / outputting row data at high speed on the same LSI. There is an integrated functional memory. In the functional memory, the arithmetic processing unit 72 can process the data held in the memory unit 71 at high speed row by row. Further, the arithmetic unit in the arithmetic processing unit 72 can transfer data with an adjacent arithmetic unit. Further, using the row memory 73, row data can be continuously input and output at high speed sequentially from the end. This system is described in Japanese Patent Application No. 3-119543.

【0003】一方、画像などの二次元データを処理する
場合、行方向に高速にデータを入出力し処理する必要の
あるものと、列方向に高速にデータを入出力し処理する
必要のあるものとがある。そこで、図8に示すような直
交メモリと呼ばれるメモリがある。これは、外部とメモ
リセル81とのデータ入出力を、行方向にも列方向にも
メモリセルのビット幅分について一度に行える技術であ
る。この方式については、たとえば、電気学会電子デバ
イス研究会資料、EDD−85号、36−40番、13
〜20ページに記載されている。
On the other hand, in the case of processing two-dimensional data such as an image, it is necessary to input and output the data at a high speed in the row direction, and those that need to input and output the data at a high speed in the column direction. There is. Therefore, there is a memory called an orthogonal memory as shown in FIG. This is a technique in which data input / output between the outside and the memory cell 81 can be performed at once for the bit width of the memory cell in the row direction and the column direction. This method is described in, for example, the Institute of Electrical Engineers of Japan Electronic Device Study Group material, EDD-85, 36-40, 13
~ Page 20.

【0004】[0004]

【発明が解決しようとする課題】従来の方法では、図7
に示すような機能メモリの場合、画像の行単位の演算は
高速に行えるが列単位の演算は行えないという問題点
や、列データの入出力は高速には行えないという問題点
があった。また、図8に示すような直交メモリの場合、
画像の行方向にも列方向にもメモリセルの幅分のデータ
を並列に、高速に入出力できるという特徴があるので、
図9に示すように、メモリチップ91外に行単位の処理
を行う多数のプロセッサ92と列単位の処理を行う多数
のプロセッサ93を配置することによって、行単位の演
算も列単位の演算も高速に行うことができる。しかし、
多数のプロセッサをメモリチップ91外に接続する必要
があるため装置の規模が大きくなり、また、メモリセル
94の容量を増やすと入出力信号線が増えるので、ピン
数の制約のために実用的な容量の直交メモリの実現が困
難であるという問題点があった。
According to the conventional method, as shown in FIG.
In the case of the functional memory as shown in (1), there is a problem that an operation for each row of an image can be performed at a high speed, but an operation for each column cannot be performed, and that input / output of column data cannot be performed at a high speed. Also, in the case of an orthogonal memory as shown in FIG.
Since there is a feature that data for the width of the memory cell can be input and output in parallel in the row direction and the column direction of the image at high speed,
As shown in FIG. 9, by arranging a large number of processors 92 that perform row-wise processing and a large number of processors 93 that perform column-wise processing outside the memory chip 91, both row-wise and column-wise operations are performed at high speed. Can be done. But,
Since it is necessary to connect a large number of processors to the outside of the memory chip 91, the scale of the device becomes large, and since the number of input / output signal lines increases as the capacity of the memory cell 94 increases, it is practical because of the limitation on the number of pins. There is a problem that it is difficult to realize a capacity orthogonal memory.

【0005】本発明の目的は、このような問題点を解決
し、行単位の処理も列単位の処理も高速に行うことがで
き、さらに、行データも列データも高速に入出力を行う
ことのできる機能メモリを提供することにある。
An object of the present invention is to solve the above problems, to perform high-speed row-wise processing and column-wise processing, and to perform high-speed input / output of row data and column data. It is to provide a functional memory capable of performing.

【0006】[0006]

【課題を解決するための手段】第1の発明の機能メモリ
は、同一LSI上にメモリ部と演算処理部とを持つ機能
メモリにおいて、データを保持し、列方向および行方向
に、一度にそのビット幅分だけのデータを転送すること
のできる直交メモリセルと、直交メモリセルの複数行分
のデータを保持することができる行レジスタ群と、行レ
ジスタ群から1つの行レジスタを選択する手段と、直交
メモリセルの1行分のデータを保持することができる行
メモリを1つ以上と、行メモリ上のデータを端から順に
連続的に出力したり、行メモリ上へデータを端から順に
連続的に入力する手段と、一次元状に接続された複数の
演算器を有し、外部からの指示を全ての演算器に放送
し、行レジスタ群に保持されているデータを並列に演算
処理し、結果を行レジスタ群に書き込んだり、隣接演算
器間でデータの転送を行うことができる行演算器と、外
部から入力された行アドレスをデコードし、直交メモリ
セル上の1行を選択する手段と、直交メモリセル上の選
択された1行分のデータを一度に行レジスタ群もしくは
行メモリへ転送したり、行レジスタ群もしくは行メモリ
上の1行分のデータを一度に直交メモリセル上の選択さ
れた行へ転送する手段と、直交メモリセルの複数列分の
データを保持することができる列レジスタ群と、列レジ
スタ群から1つの列レジスタを選択する手段と、直交メ
モリセルの1列分のデータを保持することができる列メ
モリを1つ以上と、列メモリ上のデータを端から順に連
続的に出力したり、列メモリ上へデータを端から順に連
続的に入力する手段と、一次元状に接続された複数の演
算器を有し、外部からの指示を全ての演算器に放送し、
列レジスタ群に保持されているデータを並列に演算処理
し、結果を列レジスタ群に書き込んだり、隣接演算器間
でデータの転送を行うことができる列演算器と、外部か
ら入力された列アドレスをデコードし、直交メモリセル
上の1列を選択する手段と、直交メモリセル上の選択さ
れた1列分のデータを一度に列レジスタ群もしくは列メ
モリへ転送したり、列レジスタ群もしくは列メモリ上の
1列分のデータを一度に直交メモリセル上の選択された
列へ転送する手段とを有することを特徴とする。
A functional memory according to a first aspect of the present invention holds data in a functional memory having a memory section and an arithmetic processing section on the same LSI and stores the data in the column direction and the row direction at a time. An orthogonal memory cell capable of transferring data of a bit width, a row register group capable of holding data of a plurality of rows of the orthogonal memory cell, and a means for selecting one row register from the row register group , One or more row memories capable of holding data for one row of the orthogonal memory cells, continuously output data on the row memory from the end, or continuously output data to the row memory from the end. Input means and a plurality of arithmetic units connected in a one-dimensional manner, broadcast an instruction from the outside to all arithmetic units, and process the data held in the row register group in parallel. The result A row arithmetic unit capable of writing data to a group of clusters and transferring data between adjacent arithmetic units, a means for decoding a row address inputted from the outside and selecting one row on an orthogonal memory cell, and an orthogonal memory Transfers data for one selected row on a cell to a row register group or row memory at a time, or transfers one row of data on a row register group or row memory at a time for a selected row on an orthogonal memory cell To a column register group capable of holding data for a plurality of columns of orthogonal memory cells, a means for selecting one column register from the column register group, and data for one column of orthogonal memory cells. One or more column memories that can be held, a means for continuously outputting data on the column memory sequentially from the end, and a means for continuously inputting data on the column memory sequentially from the end, and one-dimensionally. Contact By a plurality of arithmetic units has, broadcast instruction from the outside to all of the arithmetic unit,
A column arithmetic unit that can process the data held in the column register group in parallel, write the result to the column register group, and transfer data between adjacent arithmetic units, and the column address input from the outside. For decoding one column on the orthogonal memory cell and transferring the data for one selected column on the orthogonal memory cell to the column register group or column memory at a time, or the column register group or column memory Means for transferring the data for one column above to a selected column on the orthogonal memory cells at one time.

【0007】第2の発明の機能メモリは、第1の発明の
機能メモリにおいて、行メモリ上のデータを列メモリに
端から順に連続的に転送したり、列メモリ上のデータを
行メモリに端から順に連続的に転送する手段を有するこ
とを特徴とする。
In the functional memory of the second invention, in the functional memory of the first invention, the data on the row memory is continuously transferred to the column memory sequentially from the end, or the data on the column memory is transferred to the row memory. It is characterized in that it has a means for continuously transferring in order from.

【0008】第3の発明の機能メモリは、第1の発明の
機能メモリにおいて、行メモリ、列メモリを複数持ち任
意の行メモリ上のデータを任意の列メモリに端から順に
連続的に転送したり、任意の列メモリ上のデータを任意
の行メモリに端から順に連続的に転送することを、複数
の行メモリと列メモリ間で並列に行う手段を有すること
を特徴とする。
A functional memory according to a third aspect of the present invention is the functional memory according to the first aspect of the present invention, which has a plurality of row memories and column memories and continuously transfers data on an arbitrary row memory to an arbitrary column memory from the end. Alternatively, it is characterized in that it has means for performing parallel transfer between a plurality of row memories and column memories in order to continuously transfer data on an arbitrary column memory to an arbitrary row memory sequentially from the end.

【0009】第4の発明の機能メモリは、第1の発明の
機能メモリにおいて、直交メモリセル上の選択された1
行分のデータを一度に列メモリへ転送したり、列メモリ
上の1行分のデータを一度に直交メモリセル上の選択さ
れた行へ転送したり、直交メモリセル上の選択された1
列分のデータを一度に行メモリへ転送したり、行メモリ
上の1行分のデータを一度に直交メモリセル上の選択さ
れた列へ転送する手段を有することを特徴とする。
According to a fourth aspect of the present invention, there is provided a functional memory according to the first aspect of the present invention, wherein a selected memory cell on an orthogonal memory cell is selected.
Data for one row is transferred to the column memory at one time, data for one row on the column memory is transferred at one time to a selected row on the orthogonal memory cell, or one selected on the orthogonal memory cell is selected.
It is characterized in that it has means for transferring data for a column to the row memory at a time, or for transferring data for one row on the row memory at a time to a selected column on an orthogonal memory cell.

【0010】第5の発明の機能メモリは、第1、2、3
又は4発明の機能メモリにおいて、外部から与えられた
行アドレスおよび列アドレスによって指定される直交メ
モリ要素とデータを入出力する手段を有することを特徴
とする。
The functional memory according to the fifth aspect of the present invention is the first, second, and third aspects.
Alternatively, the functional memory according to the fourth aspect of the invention is characterized in that it has means for inputting / outputting data to / from an orthogonal memory element designated by a row address and a column address given from the outside.

【0011】第6の発明の機能メモリは、第1、2、
3、4又は5発明の機能メモリにおいて、直交メモリセ
ルと、行レジスタ群、行メモリ、列レジスタ群および列
メモリの間のデータ転送を指示するための命令や、行メ
モリと列メモリの間のデータ転送を指示するための命令
や、行演算器や列演算器での隣接演算器間のデータ転送
を指示するための命令や、行演算器や列演算器での演算
を指示するための命令などの、一連の命令を記憶してお
くためのプログラムメモリと、プムグラムメモリにプロ
グラムを入力する手段と、プムグラムメモリ上に保持さ
れた命令を順に1つずつ読みだし、演算器に演算を指示
したり、データ転送回路にデータ転送を指示する手段
と、外部からプログラムの起動を指示する手段と、プロ
グラムの実行の終了を外部に知らせる手段とを有するこ
とを特徴とする。
A functional memory according to a sixth aspect of the invention is the first, second,
In the functional memory of 3, 4 or 5 invention, an instruction for instructing data transfer between the orthogonal memory cell and the row register group, the row memory, the column register group and the column memory, and the instruction between the row memory and the column memory. Instructions for instructing data transfer, instructions for instructing data transfer between adjacent arithmetic units in row arithmetic units or column arithmetic units, and instructions for instructing operations in row arithmetic units or column arithmetic units Such as a program memory for storing a series of instructions, a means for inputting a program into the bumgram memory, and one instruction stored in the bumgram memory in sequence, and the arithmetic unit operates. It is characterized by having means for instructing or instructing the data transfer circuit to transfer data, means for instructing to start the program from the outside, and means for notifying the end of execution of the program to the outside.

【0012】[0012]

【実施例】次に本発明の実施例について図面を用いて説
明する。
Embodiments of the present invention will now be described with reference to the drawings.

【0013】図1は、第1の発明の機能メモリの一実施
例の構成を示すブロック図である。この機能メモリは、
データ保持する直交メモリセル11と、直交メモリセル
11の複数行分のデータを保持することができる行レジ
スタ群12と、行レジスタ群12から1つの行レジスタ
を選択する行レジスタ選択回路24と、直交メモリセル
11の1行分のデータを保持することができる行メモリ
13を1つ以上と、行メモリ13上のデータを端から順
に連続的に出力したり、行メモリ13上へデータを端か
ら順に連続的に入力する行メモリ入出力回路14と、一
次元状に接続された複数の演算器を有し、外部からの指
示を全ての演算器に放送し、行レジスタ群12に保持さ
れているデータを並列に演算処理し、結果を行レジスタ
群12に書き込んだり、隣接演算器間でデータの転送を
行うことができる行演算器15と、外部から入力された
行アドレスをデコードし、直交メモリセル11上の1行
を選択する行デコーダ16と、直交メモリセル11上の
選択された1行分のデータを一度に行レジスタ群12も
しくは行メモリ13へ転送したり、行レジスタ群12も
しくは行メモリ13上の1行分のデータを一度に直交メ
モリセル11上の選択された行へ転送する行転送回路1
7と、直交メモリセル11の複数列分のデータを保持す
ることができる列レジスタ群18と、列レジスタ群18
から1つの列レジスタを選択する列レジスタ選択回路2
5と、直交メモリセル11の1列分のデータを保持する
ことができる列メモリ19を1つ以上と、列メモリ19
上のデータを端から順に連続的に出力したり、列メモリ
19上へデータを端から順に連続的に入力する列メモリ
入出力回路20と、一次元状に接続された複数の演算器
を有し、外部からの指示を全ての演算器に放送し、列レ
ジスタ群18に保持されているデータを並列に演算処理
し、結果を列レジスタ群18に書き込んだり、隣接演算
器間でデータの転送を行うことができる列演算器21
と、外部から入力された列アドレスをデコードし、直交
メモリセル11上の1列を選択する列デコーダ22と、
直交メモリセル11上の選択された1列分のデータを一
度に列レジスタ群18もしくは列メモリ19へ転送した
り、列レジスタ群19もしくは列メモリ18上の1列分
のデータを一度に直交メモリセル11上の選択された列
へ転送する列転送回路23から構成されている。
FIG. 1 is a block diagram showing the configuration of an embodiment of the functional memory of the first invention. This functional memory is
An orthogonal memory cell 11 for holding data, a row register group 12 capable of holding data for a plurality of rows of the orthogonal memory cell 11, a row register selection circuit 24 for selecting one row register from the row register group 12, One or more row memories 13 capable of holding data for one row of the orthogonal memory cells 11 are provided, and the data on the row memory 13 are continuously output in order from the end, or the data on the row memory 13 is end. Row memory input / output circuit 14 for continuously inputting in order from 1 to 2, and a plurality of arithmetic units connected in a one-dimensional manner. An instruction from the outside is broadcast to all arithmetic units and held in the row register group 12. Data is processed in parallel and the result is written to the row register group 12 or the data can be transferred between the adjacent arithmetic units. Row decoder 16 for selecting one row on the orthogonal memory cell 11 and transferring data for the selected one row on the orthogonal memory cell 11 to the row register group 12 or the row memory 13 at a time, A row transfer circuit 1 for transferring one row of data in the register group 12 or the row memory 13 to a selected row in the orthogonal memory cell 11 at a time.
7, a column register group 18 capable of holding data for a plurality of columns of the orthogonal memory cell 11, and a column register group 18
Column register selection circuit 2 for selecting one column register from
5 and one or more column memories 19 capable of holding data for one column of the orthogonal memory cells 11, and the column memory 19
A column memory input / output circuit 20 for continuously outputting the above data sequentially from the end or sequentially inputting data to the column memory 19 sequentially from the end, and a plurality of one-dimensionally connected arithmetic units are provided. Then, an instruction from the outside is broadcast to all arithmetic units, the data held in the column register group 18 is arithmetically processed in parallel, the result is written to the column register group 18, and the data is transferred between adjacent arithmetic units. Column calculator 21 capable of performing
And a column decoder 22 for decoding a column address inputted from the outside and selecting one column on the orthogonal memory cell 11.
The selected one column of data on the orthogonal memory cell 11 is transferred to the column register group 18 or the column memory 19 at once, or the one column of data on the column register group 19 or the column memory 18 is orthogonal memory at once. It is composed of a column transfer circuit 23 for transferring to the selected column on the cell 11.

【0014】このような構成の機能メモリにおいて、メ
モリ内にある行上の各データに対して同一の演算処理を
行う場合は、次のような手順で処理を行う。まず、行デ
コーダ16に行アドレスを与え直交メモリセル11上の
行を選択し、行転送回路17が直交メモリセル11から
行レジスタ群12内の、行レジスタ選択回路24によっ
て選択された行レジスタへ、処理すべきデータを転送す
る。処理すべきデータが複数行にわたる場合は、これを
行レジスタ選択回路24によって選択される行レジスタ
を替えながら複数回繰り返す。次に、行演算器15が外
部より与えられた命令列にしたがって行レジスタ群12
上のデータを並列に演算処理する。最後に、行デコーダ
16が選択した直交メモリセル11上の結果を格納すべ
き行に、行転送回路17が、行レジスタ群12上の行レ
ジスタ選択回路24によって選択された行レジスタ上の
演算結果を転送する。このように、直交メモリセル11
上のデータを行単位に並列に行演算器15で処理するこ
とができ、容易に高速な処理が実現できる。
In the functional memory having such a configuration, when the same arithmetic processing is performed on each data on a row in the memory, the processing is performed in the following procedure. First, a row address is given to the row decoder 16 to select a row on the orthogonal memory cell 11, and the row transfer circuit 17 transfers from the orthogonal memory cell 11 to the row register selected by the row register selection circuit 24 in the row register group 12. , Transfer the data to be processed. When the data to be processed extends over a plurality of rows, this is repeated a plurality of times while changing the row register selected by the row register selection circuit 24. Next, the row arithmetic unit 15 executes the row register group 12 in accordance with the instruction sequence given from the outside.
The above data is processed in parallel. Finally, in the row in which the result on the orthogonal memory cell 11 selected by the row decoder 16 is to be stored, the row transfer circuit 17 causes the row transfer circuit 17 to select the operation result on the row register selected by the row register selection circuit 24. To transfer. Thus, the orthogonal memory cell 11
The above data can be processed in parallel on a row-by-row basis by the row calculator 15, and high-speed processing can be easily realized.

【0015】また、メモリ内のある列上の各データに対
して同一の演算処理を行う場合は、次のような手順で処
理を行う。まず、列デコーダ22に列アドレスを与え直
交メモリセル11上の列を選択し、列転送回路23が直
交メモリセル11から列レジスタ群18内の、列レジス
タ選択回路25によって選択された列レジスタへ、処理
すべきデータを転送する。処理すべきデータが複数列に
わたる場合は、これを列レジスタ選択回路25によって
選択される列レジスタを替えながら複数回繰り返す。次
に、列演算器21が外部より与えられた命令列にしたが
って列レジスタ群18上のデータを並列に演算処理す
る。最後に、列デコーダ22が選択した直交メモリセル
11上の結果を格納すべき列に、列転送回路23が、列
レジスタ群18上の列レジスタ選択回路25によって選
択された列レジスタ上の演算結果を転送する。このよう
に、直交メモリセル11上のデータを列単位に並列に列
演算器21で処理することができ、容易に高速な処理が
実現できる。
When the same arithmetic processing is performed on each data on a certain column in the memory, the processing is performed according to the following procedure. First, a column address is given to the column decoder 22 to select a column on the orthogonal memory cell 11, and the column transfer circuit 23 transfers from the orthogonal memory cell 11 to the column register selected by the column register selection circuit 25 in the column register group 18. , Transfer the data to be processed. When the data to be processed extends over a plurality of columns, this is repeated a plurality of times while changing the column register selected by the column register selection circuit 25. Next, the column calculator 21 operates in parallel on the data in the column register group 18 in accordance with an instruction sequence given from the outside. Finally, in the column where the result on the orthogonal memory cell 11 selected by the column decoder 22 is to be stored, the column transfer circuit 23 causes the operation result on the column register selected by the column register selection circuit 25 on the column register group 18 to be stored. To transfer. In this way, the data in the orthogonal memory cells 11 can be processed in parallel in column units by the column calculator 21, and high-speed processing can be easily realized.

【0016】次に、直交メモリセル11上のある行のデ
ータを外部に端から順に連続的に出力する場合、まず、
外部から与えられた行アドレスを行デコーダ16がデコ
ードし、直交メモリセル11上の行を選択し、選択され
た行のデータを行転送回路17が行メモリ13の1つに
転送する。そして、行メモリ13上のデータを行メモリ
入出力回路14が端から順に連続的に出力する。
Next, when the data of a certain row on the orthogonal memory cell 11 is continuously output to the outside sequentially from the end, first,
The row decoder 16 decodes the row address given from the outside, selects the row on the orthogonal memory cell 11, and the row transfer circuit 17 transfers the data of the selected row to one of the row memories 13. Then, the row memory input / output circuit 14 continuously outputs the data on the row memory 13 in order from the end.

【0017】外部から行のデータを端から順に連続的に
入力し、直交メモリセル11上のある行に格納する場
合、まず、行メモリ入出力回路14が外部よりデータを
入力し、行メモリ13の1つに格納する。つぎに、外部
から与えられた行アドレスを行デコーダ16がデコード
し、直交メモリセル11上の行を選択し、行メモリ13
上のデータを行転送回路17が選択された行に転送す
る。
When row data is continuously input from the outside from the end and is stored in a certain row on the orthogonal memory cell 11, first, the row memory input / output circuit 14 inputs the data from the outside and the row memory 13 is first input. Stored in one of the. Next, the row decoder 16 decodes the row address given from the outside, selects the row on the orthogonal memory cell 11, and the row memory 13
The row transfer circuit 17 transfers the above data to the selected row.

【0018】直交メモリセル11上のある列のデータを
外部に端から順に連続的に出力する場合、まず、外部か
ら与えられた列アドレスを列デコーダ22がデコード
し、直交メモリセル11上の列を選択し、選択された列
のデータを列転送回路23が列メモリ19の1つに転送
する。そして、列メモリ19上のデータを列メモリ入出
力回路20が端から順に連続的に出力する。
When data in a certain column on the orthogonal memory cell 11 is continuously output to the outside sequentially from the end, first, the column decoder 22 decodes the column address given from the outside, and the column on the orthogonal memory cell 11 is decoded. And the column transfer circuit 23 transfers the data of the selected column to one of the column memories 19. Then, the column memory input / output circuit 20 continuously outputs the data on the column memory 19 sequentially from the end.

【0019】外部から列のデータを端から順に連続的に
入力し、直交メモリセル11上のある列に格納する場
合、まず、列メモリ入出力回路20が外部よりデータを
入力し、列メモリ19の1つに格納する。つぎに、外部
から与えられた列アドレスを列デコーダ22がデコード
し、直交メモリセル11上の列を選択し、列メモリ19
上のデータを列転送回路23が選択された列に転送す
る。
When the column data is continuously input from the outside from the end and is stored in a certain column on the orthogonal memory cell 11, first, the column memory input / output circuit 20 inputs the data from the outside and the column memory 19 is inputted. Stored in one of the. Next, the column decoder 22 decodes the column address given from the outside, selects the column on the orthogonal memory cell 11, and the column memory 19
The column transfer circuit 23 transfers the above data to the selected column.

【0020】行メモリ13および列メモリ19は、SR
AMもしくはシフトレジスタによって構成されており、
SRAMの場合は、行メモリ入出力回路14および列メ
モリ入出力回路20は、アドレスを1つずつ増やしなが
らSRAMをアクセスする。また、シフトレジスタの場
合は、行メモリ入出力回路14および列メモリ入出力回
路20は、シフトクロックを与えることによってシフト
レジスタと外部とのデータ転送を行う。行メモリ13お
よび列メモリ19にシフトレジスタを用いた場合、直交
メモリセル11から読みだしたデータを、シフトクロッ
クを適当な回数だけ与えてシフトした後、再び直交メモ
リセル11に書き込むことによって、隣接演算器間での
データ転送と同様の効果を実現できる。
The row memory 13 and the column memory 19 are SR
It is composed of AM or shift register,
In the case of SRAM, the row memory input / output circuit 14 and the column memory input / output circuit 20 access the SRAM while increasing the address one by one. Further, in the case of a shift register, the row memory input / output circuit 14 and the column memory input / output circuit 20 perform data transfer between the shift register and the outside by applying a shift clock. When a shift register is used for the row memory 13 and the column memory 19, the data read from the orthogonal memory cell 11 is shifted by applying a shift clock a proper number of times, and then written to the orthogonal memory cell 11 again, so that adjacent data can be obtained. The same effect as the data transfer between the arithmetic units can be realized.

【0021】上記の、演算処理やデータ入出力処理は、
直交メモリセル11へのアクセスの競合が起こらない限
りは、すべて並行して行うことができる。
The above-mentioned arithmetic processing and data input / output processing are
As long as there is no competition for access to the orthogonal memory cells 11, they can all be done in parallel.

【0022】また、直交メモリセル11上の複数のビッ
トで1ワードを構成し、行レジスタ群12、行メモリ1
3、行メモリ入出力回路14、行演算器15、列レジス
タ群18、列メモリ19、列メモリ入出力回路20、列
演算器21をすべてワード構成のものにすることによっ
て、ワード単位の処理を行う機能メモリが実現できる。
このようなワード単位の処理を行う機能メモリの、直交
メモリセル11と行メモリ13および列メモリ19のビ
ットの対応例を図10に示す。図10は、16ビット×
16ビットの構成の直交メモリセル101と8ワード構
成の行メモリ102および列メモリ103のビットの構
成を説明するための図である。ただし、1ワードは4ビ
ットであるとしている。図10に示すように、直交メモ
リセル101上を2ビット×2ビットごとに区切り、そ
の4ビットを1つのワードに割り当てている。ワード内
のビットの順番は、図10の直交メモリセル101上に
書き込まれたの順序で割り当てられているとす
る。
Further, a plurality of bits on the orthogonal memory cell 11 constitute one word, and the row register group 12 and the row memory 1
3, the row memory input / output circuit 14, the row arithmetic unit 15, the column register group 18, the column memory 19, the column memory input / output circuit 20, and the column arithmetic unit 21 all have a word configuration, so that processing in word units can be performed. A functional memory can be realized.
FIG. 10 shows an example of the correspondence between the bits of the orthogonal memory cells 11, the row memory 13, and the column memory 19 in the functional memory that performs such word unit processing. 16 bits ×
It is a figure for demonstrating the bit structure of the orthogonal memory cell 101 of a 16-bit structure, the row memory 102 of 8 word structures, and the column memory 103. However, one word has 4 bits. As shown in FIG. 10, the orthogonal memory cell 101 is divided into 2 bits × 2 bits, and the 4 bits are assigned to one word. It is assumed that the order of the bits in the word is assigned in the order of writing on the orthogonal memory cell 101 in FIG.

【0023】このような構成の機能メモリにおいて、行
メモリ102上のデータを直交メモリセル101に転送
する場合について説明する。まず、行メモリ102上の
全てのワードのビットのとのデータを、直交メモリ
セル101上でとのデータに割り当てられている行
に一度に転送する。つぎに、行メモリ102上の全ての
ワードのビットのとのデータを、直交メモリセル1
01上で先ほど転送した行の次の行、すなわちとの
データに割り当てられている行に一度に転送する。この
ように、2回の行の転送によって行メモリ102上の全
てのワードのデータを直交メモリセル101上に転送で
きる。
In the functional memory having such a configuration, the case where the data in the row memory 102 is transferred to the orthogonal memory cell 101 will be described. First, the bit data of all the words in the row memory 102 are transferred at a time to the row assigned to the data of the orthogonal memory cell 101. Next, the data of the bits of all the words on the row memory 102 are transferred to the orthogonal memory cell 1
On the line 01, the line next to the line previously transferred, that is, the line allocated to the data of and is transferred at one time. Thus, the data of all the words in the row memory 102 can be transferred to the orthogonal memory cell 101 by transferring the row twice.

【0024】つぎに、直交メモリセル101上に格納さ
れたデータを列メモリ103に転送する場合について説
明する。まず、直交メモリセル101の、これから列メ
モリ103に転送するデータを保持する2列のうち、
とのビットを保持している列のデータを列メモリ10
3に一度に転送し、列メモリ103上のとの位置に
格納する。つぎに、とのビットを保持している列の
データを列メモリ103に一度に転送し、列メモリ10
3上のとの位置に格納する。このように、2回の列
の転送によって直交メモリセル101上のデータを列メ
モリ103に転送できる。
Next, the case of transferring the data stored in the orthogonal memory cell 101 to the column memory 103 will be described. First, of the two columns of the orthogonal memory cell 101 which hold the data to be transferred to the column memory 103,
The column memory 10 which holds the bits of
3 at a time, and store them at the positions of and on the column memory 103. Next, the data of the column holding the bits and are transferred to the column memory 103 at one time, and the column memory 10
Store in the position of 3 and above. In this way, the data in the orthogonal memory cell 101 can be transferred to the column memory 103 by transferring the column twice.

【0025】さらに、直交メモリセル101から行メモ
リ102への転送、および列メモリ103から直交メモ
リセル101への転送も同様にして行われる。また、図
1の行レジスタ群12、列レジスタ群18も同様にして
ワード構成にすることができる。
Further, the transfer from the orthogonal memory cell 101 to the row memory 102 and the transfer from the column memory 103 to the orthogonal memory cell 101 are similarly performed. Further, the row register group 12 and the column register group 18 in FIG. 1 can be similarly formed into words.

【0026】図2は、第2の発明の機能メモリの一実施
例の構成を示すブロック図である。この機能メモリは、
図1の構成に加えて、行メモリ13と列メモリ19の間
でデータを端から順に連続的に転送するための行列間デ
ータ転送回路26を備えている。
FIG. 2 is a block diagram showing the configuration of an embodiment of the functional memory of the second invention. This functional memory is
In addition to the configuration of FIG. 1, an inter-matrix data transfer circuit 26 is provided for sequentially transferring data between the row memory 13 and the column memory 19 sequentially from the end.

【0027】このような構成の機能メモリにおいて、直
交メモリセル11上のデータを列メモリ19に転送し、
それを行列間データ転送回路26によって行メモリ13
に転送し、さらにそれを直交メモリセル11に転送する
ことによって、直交メモリセル11上の二次元データの
列データを行データに変換できる。
In the functional memory having such a configuration, the data in the orthogonal memory cell 11 is transferred to the column memory 19,
The data is transferred to the row memory 13 by the matrix data transfer circuit 26.
The column data of the two-dimensional data on the orthogonal memory cell 11 can be converted into the row data by transferring the data to the orthogonal memory cell 11 and then to the orthogonal memory cell 11.

【0028】また、直交メモリセル11上のデータを行
メモリ13に転送し、それを行列間データ転送回路26
によって列メモリ19に転送し、さらにそれを直交メモ
リセル11に転送することによって、直交メモリセル1
1上の二次元データの行データを列データに変換でき
る。
Further, the data in the orthogonal memory cell 11 is transferred to the row memory 13, and the data is transferred between the matrix 26.
To the column memory 19 and then to the orthogonal memory cell 11 to obtain the orthogonal memory cell 1
The row data of the two-dimensional data on 1 can be converted into column data.

【0029】このように、列データを行データに変換し
たり、行データを列データに変換すれば、行演算器15
および列演算器21の上で行列演算を行うことができ
る。
In this way, if the column data is converted into row data or the row data is converted into column data, the row calculator 15
A matrix calculation can be performed on the column calculator 21.

【0030】行列間データ転送回路26によってデータ
の転送が行われている行メモリ13や列メモリ19は、
行メモリ入出力回路14や列メモリ入出力回路20によ
るデータの入出力は禁止される。ただし、転送中のデー
タを、行メモリ入出力回路14や列メモリ入出力回路2
0に、転送と同時に出力することは可能である。また、
行メモリ入出力回路14や列メモリ入出力回路20によ
って、行メモリ13や列メモリ19にデータを入力する
のと同時に、行列間データ転送回路26によってデータ
を列メモリ19や行メモリ13に転送することも可能で
ある。
The row memory 13 and the column memory 19 to which data is transferred by the inter-matrix data transfer circuit 26 are
Input / output of data by the row memory input / output circuit 14 and the column memory input / output circuit 20 is prohibited. However, the data being transferred is transferred to the row memory input / output circuit 14 or the column memory input / output circuit
It is possible to output to 0 simultaneously with transfer. Also,
The row memory input / output circuit 14 and the column memory input / output circuit 20 input data to the row memory 13 and the column memory 19, and at the same time, the data transfer circuit 26 transfers data to the column memory 19 and the row memory 13. It is also possible.

【0031】図3は、第3の発明の機能メモリの一実施
例の構成を示すブロック図である。この機能メモリは、
行メモリ13および列メモリ19をそれぞれ複数もって
おり、図1の構成に加えて、行メモリ13と列メモリ1
9の間でデータを端から順に連続的に転送するための行
列間データ転送回路31を備えている。
FIG. 3 is a block diagram showing the configuration of an embodiment of the functional memory of the third invention. This functional memory is
A plurality of row memories 13 and a plurality of column memories 19 are provided, and in addition to the configuration of FIG.
An inter-matrix data transfer circuit 31 for sequentially transferring data from the end to the end 9 is provided.

【0032】このような構成の機能メモリにおいて、行
列間データ転送回路31はクロスバスイッチによって構
成されており、任意の行メモリ13と列メモリ19の組
み合せでデータを並列に転送することができる。
In the functional memory having such a structure, the inter-matrix data transfer circuit 31 is composed of a crossbar switch, and data can be transferred in parallel by an arbitrary combination of the row memory 13 and the column memory 19.

【0033】直交メモリセル11上のデータを列メモリ
19に転送し、それを行列間データ転送回路31によっ
て行メモリ13に転送し、さらにそれを直交メモリセル
11に転送することによって、直交メモリセル11上の
二次元データの列データを行データに変換できる。
The data in the orthogonal memory cell 11 is transferred to the column memory 19, the inter-matrix data transfer circuit 31 transfers the data to the row memory 13, and then the data is transferred to the orthogonal memory cell 11. The column data of the two-dimensional data on 11 can be converted into row data.

【0034】また、直交メモリセル11上のデータを行
メモリ13に転送し、それを行列間データ転送回路31
によって列メモリ19に転送し、さらにそれを直交メモ
リセル11に転送することによって、直交メモリセル1
1上の二次元データの行データを列データに変換でき
る。
Further, the data in the orthogonal memory cell 11 is transferred to the row memory 13, and the data is transferred between the matrixes 31.
To the column memory 19 and then to the orthogonal memory cell 11 to obtain the orthogonal memory cell 1
The row data of the two-dimensional data on 1 can be converted into column data.

【0035】このように、列データを行データに変換し
たり、行データを列データに変換すれば、行演算器15
および列演算器21の上で行列演算を行うことができ
る。
In this way, if the column data is converted into row data or the row data is converted into column data, the row calculator 15
A matrix calculation can be performed on the column calculator 21.

【0036】図4は、第4の発明の機能メモリの一実施
例の構成を示すブロック図である。この機能メモリは、
図1の構成に加えて、直交メモリセル11上の選択され
た1行分のデータを一度に列メモリ19へ転送したり、
列メモリ19上の1行分のデータを一度に直交メモリセ
ル11上の選択された行へ転送したり、直交メモリセル
11上の選択された1列分のデータを一度に行メモリ1
3へ転送したり、行メモリ13上の1行分のデータを一
度に直交メモリセル11上の選択された列へ転送するた
めの行列間並列データ転送回路41を備えている。
FIG. 4 is a block diagram showing the configuration of an embodiment of the functional memory of the fourth invention. This functional memory is
In addition to the configuration of FIG. 1, the selected one row of data on the orthogonal memory cell 11 can be transferred to the column memory 19 at once,
The data for one row in the column memory 19 is transferred to the selected row in the orthogonal memory cell 11 at a time, or the data for one column in the orthogonal memory cell 11 is transferred to the row memory 1 at a time.
3 and a matrix parallel data transfer circuit 41 for transferring one row of data in the row memory 13 to a selected column in the orthogonal memory cell 11 at a time.

【0037】このような構成の機能メモリにおいて、行
列間並列データ転送回路41は、直交メモリセル11の
ビット幅分の信号線を持っており、直交メモリセル11
の上に配線を通すことによって実現している。図2、図
3で示した機能メモリが行と列の間でデータを交換する
のに逐次的にデータを転送していたのに対して、行列間
並列データ転送回路41は、一度に並列にデータを転送
することができる。
In the functional memory having such a configuration, the inter-matrix parallel data transfer circuit 41 has a signal line corresponding to the bit width of the orthogonal memory cell 11, and the orthogonal memory cell 11
It is realized by passing the wiring over. While the functional memories shown in FIGS. 2 and 3 transfer data sequentially in order to exchange data between rows and columns, the inter-major parallel data transfer circuit 41 operates in parallel at a time. Data can be transferred.

【0038】このように、列データを行データに変換し
たり、行データを列データに変換することが高速に行え
るので、行演算器15および列演算器21の上で行列演
算を高速に行うことができる。
As described above, since the column data can be converted into the row data and the row data can be converted into the column data at high speed, the matrix operation can be performed at high speed on the row operation unit 15 and the column operation unit 21. be able to.

【0039】また、行列間並列データ転送回路41によ
って行と列の間で高速にデータ転送が行えるので、列レ
ジスタ群18、列レジスタ選択回路25、列メモリ1
9、列メモリ入出力回路20、列演算器21、列データ
転送回路23の機能を、行レジスタ群12、行レジスタ
選択回路24、行メモリ13、行メモリ入出力回路1
4、行演算器15、行データ転送回路17によって実現
することができ、ピン数やチップサイズを削減すること
ができる。このような機能メモリの構成を図11に示
す。図11のような構成の機能メモリの場合、直交メモ
リセル11上のデータは、行データも列データも共に、
行メモリ13および行メモリ入出力回路14を利用して
外部とのデータ転送を行い、行レジスタ群12、行レジ
スタ選択回路24および行演算器15を利用して演算が
行われる。
Further, since the matrix parallel data transfer circuit 41 can transfer data at high speed between rows and columns, the column register group 18, the column register selection circuit 25, and the column memory 1 are provided.
9, the column memory input / output circuit 20, the column calculator 21, and the column data transfer circuit 23 have the functions of the row register group 12, the row register selection circuit 24, the row memory 13, and the row memory input / output circuit 1.
4, the row arithmetic unit 15, and the row data transfer circuit 17 can be realized, and the number of pins and the chip size can be reduced. The structure of such a functional memory is shown in FIG. In the case of the functional memory configured as shown in FIG. 11, the data on the orthogonal memory cell 11 is both row data and column data.
Data is transferred to the outside using the row memory 13 and the row memory input / output circuit 14, and calculation is performed using the row register group 12, the row register selection circuit 24, and the row calculator 15.

【0040】図5は、第5の発明の機能メモリの一実施
例の構成を示すブロック図である。この機能メモリは、
図1の構成に加えて、行デコーダ16および列デコーダ
22によって指定される直交メモリセル11上のビット
と外部とでデータを入出力するためのデータ入出力回路
51を備えている。
FIG. 5 is a block diagram showing the configuration of an embodiment of the functional memory of the fifth invention. This functional memory is
In addition to the configuration of FIG. 1, a data input / output circuit 51 for inputting / outputting data between the bit on the orthogonal memory cell 11 designated by the row decoder 16 and the column decoder 22 and the outside is provided.

【0041】このような構成の機能メモリにおいて、行
レジスタ群12、行メモリ13、列レジスタ群18およ
び列メモリ19のいずれもが直交メモリセル11とデー
タの転送を行っていないときは、外部に接続された装置
はデータ入出力回路51を通じて直交メモリセル11を
ランダムにアクセスすることができる。
In the functional memory having such a configuration, when none of the row register group 12, the row memory 13, the column register group 18 and the column memory 19 is transferring data to and from the orthogonal memory cell 11, it is externally connected. The connected device can randomly access the orthogonal memory cell 11 through the data input / output circuit 51.

【0042】図6は、第6の発明の機能メモリの一実施
例の構成を示すブロック図である。この機能メモリは、
図1の構成に加えて、直交メモリセル11と、行レジス
タ群12、行メモリ13、列レジスタ群18および列メ
モリ19との間のデータ転送を指示するための命令や、
行演算器15や列演算器21での演算を指示するための
命令などの、一連の命令を記憶しておくためのプログラ
ムメモリ61と、プログラムメモリ61に外部よりプロ
グラムを入力するプログラムメモリ入力回路62と、プ
ログラムメモリ61上に保持された命令を順に1つずつ
読みだし、行演算器15および列演算器21に演算を指
示したり、行デコーダ16、行転送回路17、行レジス
タ選択回路24、列デコーダ22、列転送回路23およ
び列レジスタ選択回路25にデータ転送を指示するシー
ケンサ63と、外部からプログラムの起動を指示する起
動信号線64と、プログラムの実行の終了を外部に知ら
せる終了信号線65を備えている。
FIG. 6 is a block diagram showing the configuration of an embodiment of the functional memory of the sixth invention. This functional memory is
In addition to the configuration of FIG. 1, an instruction for instructing data transfer between the orthogonal memory cell 11, the row register group 12, the row memory 13, the column register group 18, and the column memory 19,
A program memory 61 for storing a series of commands, such as commands for instructing operations in the row calculator 15 and the column calculator 21, and a program memory input circuit for inputting a program to the program memory 61 from the outside. 62 and the instructions held in the program memory 61 one by one in order to instruct the row arithmetic unit 15 and the column arithmetic unit 21 to perform an arithmetic operation, and to operate the row decoder 16, the row transfer circuit 17, and the row register selection circuit 24. , A column decoder 22, a column transfer circuit 23, and a column register selection circuit 25, a sequencer 63 for instructing data transfer, an activation signal line 64 for instructing activation of a program from the outside, and an end signal notifying the end of execution of the program to the outside. A line 65 is provided.

【0043】このような構成の機能メモリにおいて、本
機能メモリ上で実行すべき処理の命令列をあらかじめプ
ログラムメモリ入力回路62を通じて同一LSI上のプ
ログラムメモリ61に格納しておくことにより、LSI
外部より命令を1つずつ与え続けることなく処理を行う
ことができるため、外部の回路構成が簡単になり、本機
能メモリをより容易に使用できる。シーケンサ63は起
動信号線64を通じてプログラムの実行が起動される
と、プログラムメモリ61から命令を順に取り出して、
その命令の内容に応じて、行演算器15、列演算器2
1、行デコーダ16、行転送回路17、行レジスタ選択
回路24、列デコーダ22、列転送回路23および列レ
ジスタ選択回路25に動作の指示を行う。また、一連の
命令列の実行が終了すれば、終了信号線65を通じて、
外部に処理の終了を知らせる。本機能メモリは、シーケ
ンサ63やプログラムメモリ61を同一LSI上に持つ
ために、より高速なクロックを使用できるため、処理の
高速化が実現できる。
In the functional memory having such a configuration, the instruction sequence of the process to be executed on this functional memory is stored in the program memory 61 on the same LSI through the program memory input circuit 62 in advance, so that the LSI
Since the processing can be performed without continuously giving instructions one by one from the outside, the external circuit configuration is simplified and the functional memory can be used more easily. When the execution of the program is activated through the activation signal line 64, the sequencer 63 sequentially fetches the instructions from the program memory 61,
Depending on the contents of the instruction, the row calculator 15 and the column calculator 2
1, operation instruction is given to the row decoder 16, the row transfer circuit 17, the row register selection circuit 24, the column decoder 22, the column transfer circuit 23, and the column register selection circuit 25. When the execution of a series of instructions is completed, the end signal line 65
Notify the outside of the process. Since the functional memory has the sequencer 63 and the program memory 61 on the same LSI, a higher-speed clock can be used, so that the processing speed can be increased.

【0044】[0044]

【発明の効果】以上述べた通り、本発明によれば、同一
LSI上に直交メモリセルと、行演算用の一次元に配置
された複数の演算器と、列演算用の一次元に配置された
複数の演算器と、行データ連続入出力のためのメモリ
と、列データ連続入出力のためのメモリとを集積するこ
とによって、メモリと演算器間のデータ転送バンド幅を
行方向にも列方向にも十分に広く取ることができるた
め、同一の演算を多量のデータに行単位もしくは列単位
に適用する類のアルゴリズムを、LSI内部で並列にか
つ高速に実行することができ、また、行方向にも列方向
にも高速にデータの入出力を行うことができ、さらに、
LSI上で二次元データの行方向と列方向を変換する機
能も実現できるという効果がある。
As described above, according to the present invention, the orthogonal memory cells, the plurality of arithmetic units arranged in one dimension for row operation, and the one-dimensional arrangement for column operation are arranged on the same LSI. By integrating a plurality of arithmetic units, a memory for continuous input / output of row data, and a memory for continuous input / output of column data, the data transfer bandwidth between the memory and the arithmetic units can be increased in columns in the row direction. Since it is possible to take a sufficiently wide range of directions, it is possible to execute an algorithm of the kind in which the same operation is applied to a large amount of data on a row-by-row or column-by-row basis within the LSI in parallel and at high speed. Data can be input and output at high speed in both the column and column directions.
There is an effect that a function of converting the two-dimensional data in the row direction and the column direction can be realized on the LSI.

【図面の簡単な説明】[Brief description of drawings]

【図1】第1の発明の機能メモリの一実施例を示すブロ
ック図である。
FIG. 1 is a block diagram showing an embodiment of a functional memory of the first invention.

【図2】第2の発明の機能メモリの一実施例を示すブロ
ック図である。
FIG. 2 is a block diagram showing an embodiment of a functional memory of the second invention.

【図3】第3の発明の機能メモリの一実施例を示すブロ
ック図である。
FIG. 3 is a block diagram showing an embodiment of a functional memory of a third invention.

【図4】第4の発明の機能メモリの一実施例を示すブロ
ック図である。
FIG. 4 is a block diagram showing an embodiment of a functional memory of a fourth invention.

【図5】第5の発明の機能メモリの一実施例を示すブロ
ック図である。
FIG. 5 is a block diagram showing an embodiment of a functional memory of the fifth invention.

【図6】第6の発明の機能メモリの一実施例を示すブロ
ック図である。
FIG. 6 is a block diagram showing an embodiment of a functional memory according to the sixth invention.

【図7】従来の機能メモリの構成例を示すブロック図で
ある。
FIG. 7 is a block diagram showing a configuration example of a conventional functional memory.

【図8】従来の直交メモリの構成例を示すブロック図で
ある。
FIG. 8 is a block diagram showing a configuration example of a conventional orthogonal memory.

【図9】従来の直交メモリ利用システムの構成例を示す
ブロック図である。
FIG. 9 is a block diagram showing a configuration example of a conventional orthogonal memory utilization system.

【図10】機能メモリ上の、直交メモリセルと行メモリ
および列メモリのビットの構成を説明するための図であ
る。
FIG. 10 is a diagram for explaining a bit configuration of an orthogonal memory cell, a row memory, and a column memory on a functional memory.

【図11】第4の発明の機能メモリの一実施例を示すブ
ロック図である。
FIG. 11 is a block diagram showing an embodiment of a functional memory of the fourth invention.

【符号の説明】[Explanation of symbols]

11 直交メモリセル 12 行レジスタ群 13 行メモリ 14 行メモリ入出力回路 15 行演算器 16 行デコーダ 17 行転送回路 18 列レジスタ群 19 列メモリ 20 入出力回路 21 列演算器 22 列デコーダ 23 列転送回路 24 行レジスタ選択回路 25 列レジスタ選択回路 31 行列間データ転送回路 41 行列間並列データ転送回路 51 データ入出力回路 61 プログラムメモリ 62 プログラムメモリ入力回路 63 シーケンサ 64 起動信号線 65 終了信号線 71 メモリ部 72 演算処理部 73 行メモリ 81 メモリセル 91 メモリチップ 92 プロセッサ 93 プロセッサ 94 メモリセル 101 直交メモリセル 102 行メモリ 103 列メモリ 11 orthogonal memory cell 12 row register group 13 row memory 14 row memory input / output circuit 15 row arithmetic unit 16 row decoder 17 row transfer circuit 18 column register group 19 column memory 20 input / output circuit 21 column arithmetic unit 22 column decoder 23 column transfer circuit 24 row register selection circuit 25 column register selection circuit 31 inter-matrix data transfer circuit 41 inter-matrix parallel data transfer circuit 51 data input / output circuit 61 program memory 62 program memory input circuit 63 sequencer 64 start signal line 65 end signal line 71 memory unit 72 Arithmetic processing unit 73 Row memory 81 Memory cell 91 Memory chip 92 Processor 93 Processor 94 Memory cell 101 Orthogonal memory cell 102 Row memory 103 Column memory

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 同一LSI上にメモリ部と演算処理部と
を持つ機能メモリにおいて、 データを保持し、列方向および行方向に、一度にそのビ
ット幅分だけのデータを転送することのできる直交メモ
リセルと、 直交メモリセルの複数行分のデータを保持することがで
きる行レジスタ群と、行レジスタ群から1つの行レジス
タを選択する手段と、 直交メモリセルの1行分のデータを保持することができ
る行メモリを1つ以上と、 行メモリ上のデータを端から順に連続的に出力したり、
行メモリ上へデータを端から順に連続的に入力する手段
と、 一次元状に接続された複数の演算器を有し、外部からの
指示を全ての演算器に放送し、行レジスタ群に保持され
ているデータを並列に演算処理し、結果を行レジスタ群
に書き込んだり、隣接演算器間でデータの転送を行うこ
とができる行演算器と、 外部から入力された行アドレスをデコードし、直交メモ
リセル上の1行を選択する手段と、 直交メモリセル上の選択された1行分のデータを一度に
行レジスタ群もしくは行メモリへ転送したり、行レジス
タ群もしくは行メモリ上の1行分のデータを一度に直交
メモリセル上の選択された行へ転送する手段と、 直交メモリセルの複数列分のデータを保持することがで
きる列レジスタ群と、 列レジスタ群から1つの列レジスタを選択する手段と、 直交メモリセルの1列分のデータを保持することができ
る列メモリを1つ以上と、 列メモリ上のデータを端から順に連続的に出力したり、
列メモリ上へデータを端から順に連続的に入力する手段
と、 一次元状に接続された複数の演算器を有し、外部からの
指示を全ての演算器に放送し、列レジスタ群に保持され
ているデータを並列に演算処理し、結果を列レジスタ群
に書き込んだり、隣接演算器間でデータの転送を行うこ
とができる列演算器と、 外部から入力された列アドレスをデコードし、直交メモ
リセル上の1列を選択する手段と、 直交メモリセル上の選択された1列分のデータを一度に
列レジスタ群もしくは列メモリへ転送したり、列レジス
タ群もしくは列メモリ上の1列分のデータを一度に直交
メモリセル上の選択された列へ転送する手段とを有する
ことを特徴とする機能メモリ。
1. A functional memory having a memory section and an arithmetic processing section on the same LSI, which holds data and can transfer data of a bit width at a time in the column and row directions. A memory cell, a row register group capable of holding a plurality of rows of data of an orthogonal memory cell, a means for selecting one row register from the row register group, and a row of data of an orthogonal memory cell One or more row memories that can be used, and the data on the row memories are continuously output from the end,
It has a means for continuously inputting data to the row memory sequentially from the end and a plurality of one-dimensionally connected arithmetic units. It broadcasts instructions from the outside to all arithmetic units and holds them in the row register group. Data is processed in parallel, the results are written to the row register group, and the row address that is input from the outside can be decoded, and the row address that is input from the outside is decoded and orthogonalized. Means for selecting one row on a memory cell and transferring data for one selected row on an orthogonal memory cell to a row register group or row memory at a time, or one row on a row register group or row memory Means for transferring the data of the above to the selected row on the orthogonal memory cell at a time, a column register group capable of holding data for a plurality of columns of the orthogonal memory cell, and one column register selected from the column register group. You Means and, one or more columns memory capable of holding data for one column of the orthogonal memory cell, or continuously output the data on the column memory from the end in order,
It has means for continuously inputting data into the column memory sequentially from the end and multiple one-dimensionally connected arithmetic units, which broadcast instructions from the outside to all arithmetic units and hold them in the column register group. Data is processed in parallel, the result is written to the column register group, and the column address input from the outside is decoded, and the column address input from the outside is orthogonalized. Means for selecting one column on a memory cell and transferring data for one column selected on an orthogonal memory cell to a column register group or column memory at a time, or one column on the column register group or column memory And a means for transferring the data in one row to a selected column on the orthogonal memory cells at a time.
【請求項2】 行メモリ上のデータを列メモリに端から
順に連続的に転送したり、列メモリ上のデータを行メモ
リに端から順に連続的に転送する手段を有することを特
徴とする請求項1記載の機能メモリ。
2. A means for continuously transferring the data on the row memory to the column memory sequentially from the end, and for transferring the data on the column memory to the row memory successively from the end. The functional memory according to item 1.
【請求項3】 行メモリ、列メモリを複数持ち任意の行
メモリ上のデータを任意の列メモリに端から順に連続的
に転送したり、任意の列メモリ上のデータを任意の行メ
モリに端から順に連続的に転送することを、複数の行メ
モリと列メモリ間で並列に行う手段を有することを特徴
とする請求項1記載の機能メモリ。
3. A plurality of row memories and column memories are provided, and data in an arbitrary row memory is continuously transferred to an arbitrary column memory in order from the end, or data in an arbitrary column memory is ended in an arbitrary row memory. 2. The functional memory according to claim 1, further comprising means for performing a continuous transfer in sequence from a plurality of row memories and a plurality of column memories in parallel.
【請求項4】 直交メモリセル上の選択された1行分の
データを一度に列メモリへ転送したり、列メモリ上の1
行分のデータを一度に直交メモリセル上の選択された行
へ転送したり、直交メモリセル上の選択された1列分の
データを一度に行メモリへ転送したり、行メモリ上の1
行分のデータを一度に直交メモリセル上の選択された列
へ転送する手段を有することを特徴とする請求項1記載
の機能メモリ。
4. The data for one selected row on the orthogonal memory cells is transferred to the column memory at a time, or 1 row on the column memory is transferred.
Data for one row can be transferred to a selected row on the orthogonal memory cells at once, data for one selected column on the orthogonal memory cells can be transferred to the row memory at one time, or
2. The functional memory according to claim 1, further comprising means for transferring data for rows to selected columns on the orthogonal memory cells at a time.
【請求項5】 外部から与えられた行アドレスおよび列
アドレスによって指定される直交メモリ要素とデータを
入出力する手段を有することを特徴とする請求項1、
2、3又は4記載の機能メモリ。
5. A means for inputting / outputting data to / from an orthogonal memory element designated by a row address and a column address given from the outside.
Functional memory according to 2, 3 or 4.
【請求項6】 直交メモリセルと、行レジスタ群、行メ
モリ、列レジスタ群および列メモリの間のデータ転送を
指示するための命令や、行メモリと列メモリの間のデー
タ転送を指示するための命令や、行演算器や列演算器で
の隣接演算器間のデータ転送を指示するための命令や、
行演算器や列演算器での演算を指示するための命令など
の、一連の命令を記憶しておくためのプログラムメモリ
と、 プログラムメモリにプログラムを入力する手段と、 プログラムメモリ上に保持された命令を順に1つずつ読
みだし、演算器に演算を指示したり、データ転送回路に
データ転送を指示する手段と、 外部からプログラムの起動を指示する手段と、 プログラムの実行の終了を外部に知らせる手段とを有す
ることを特徴とする請求項1、2、3、4又は5記載の
機能メモリ。
6. An instruction for instructing data transfer between an orthogonal memory cell and a row register group, a row memory, a column register group, and a column memory, and an instruction for instructing data transfer between a row memory and a column memory. Command for instructing data transfer between adjacent arithmetic units in row arithmetic units and column arithmetic units,
A program memory for storing a series of instructions such as instructions for instructing operations in the row operation unit and the column operation unit, a means for inputting a program to the program memory, and a program memory Instructions are read out one by one, the arithmetic unit is instructed to perform an operation, the data transfer circuit is instructed to transfer data, the external program is instructed to start, and the execution end of the program is notified to the outside. 6. The functional memory according to claim 1, 2, 3, 4, or 5, further comprising means.
JP3215650A 1991-08-28 1991-08-28 Function memory Expired - Lifetime JP2855899B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3215650A JP2855899B2 (en) 1991-08-28 1991-08-28 Function memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3215650A JP2855899B2 (en) 1991-08-28 1991-08-28 Function memory

Publications (2)

Publication Number Publication Date
JPH0553898A true JPH0553898A (en) 1993-03-05
JP2855899B2 JP2855899B2 (en) 1999-02-10

Family

ID=16675918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3215650A Expired - Lifetime JP2855899B2 (en) 1991-08-28 1991-08-28 Function memory

Country Status (1)

Country Link
JP (1) JP2855899B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11338767A (en) * 1998-05-22 1999-12-10 Mitsubishi Heavy Ind Ltd Functional memory device for image processing
JP2006164183A (en) * 2004-12-10 2006-06-22 Renesas Technology Corp Semiconductor signal processing device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11338767A (en) * 1998-05-22 1999-12-10 Mitsubishi Heavy Ind Ltd Functional memory device for image processing
JP2006164183A (en) * 2004-12-10 2006-06-22 Renesas Technology Corp Semiconductor signal processing device

Also Published As

Publication number Publication date
JP2855899B2 (en) 1999-02-10

Similar Documents

Publication Publication Date Title
US4215401A (en) Cellular digital array processor
US5421019A (en) Parallel data processor
US4739474A (en) Geometric-arithmetic parallel processor
US4622632A (en) Data processing system having a pyramidal array of processors
JP3251421B2 (en) Semiconductor integrated circuit
KR0125623B1 (en) Data processor and data processing method
US4561072A (en) Memory system handling a plurality of bits as a unit to be processed
US4434502A (en) Memory system handling a plurality of bits as a unit to be processed
JP2774115B2 (en) Sequential video processor system
JPH04295953A (en) Parallel data processor with built-in two-dimensional array of element processor and sub-array unit of element processor
JPH09198862A (en) Semiconductor memory
JPH0553898A (en) Function memory
US4805228A (en) Cellular logic processor
JPH1074141A (en) Signal processor
JPH0259943A (en) Memory device with operational function
JP3297925B2 (en) Signal processing processor
JP2812292B2 (en) Image processing device
JPS6148189A (en) Semiconductor memory device
JPH10116226A (en) Address array device of semiconductor storage device
JPS62151987A (en) Multi port memory processing picture
JPH09212637A (en) Image processor
JP4244619B2 (en) Image data processing device
JP3050321B2 (en) Multi-port memory
JPH034944B2 (en)
JPH0312752A (en) Picture data access system

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981027