JP2855899B2 - Function memory - Google Patents
Function memoryInfo
- Publication number
- JP2855899B2 JP2855899B2 JP3215650A JP21565091A JP2855899B2 JP 2855899 B2 JP2855899 B2 JP 2855899B2 JP 3215650 A JP3215650 A JP 3215650A JP 21565091 A JP21565091 A JP 21565091A JP 2855899 B2 JP2855899 B2 JP 2855899B2
- Authority
- JP
- Japan
- Prior art keywords
- row
- column
- data
- memory
- 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.)
- Expired - Lifetime
Links
Landscapes
- Image Input (AREA)
- Dram (AREA)
Description
【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 Some algorithms for data processing perform the same processing on a large amount of data. However, when the amount of data is large, processing with a single processor takes a very long time. In the case of such processing, for example, in the case of image processing, there is a degree of parallelism corresponding to the number of pixels, and if the degree of parallelism can be utilized, processing can be performed at very high speed. Therefore, FIG.
As shown in FIG. 1, a memory unit 71, an arithmetic processing unit 72 composed of a large number of arithmetic units and register groups 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. This functional memory allows the arithmetic processing unit 72 to perform high-speed processing on data held in the memory unit 71 row by row. The arithmetic unit in the arithmetic processing unit 72 can transfer data with an adjacent arithmetic unit. Further, by using the row memory 73, row data can be continuously input / output at high speed sequentially from the end. This method is described in Japanese Patent Application No. 3-119543.
【0003】一方、画像などの二次元データを処理する
場合、行方向に高速にデータを入出力し処理する必要の
あるものと、列方向に高速にデータを入出力し処理する
必要のあるものとがある。そこで、図8に示すような直
交メモリと呼ばれるメモリがある。これは、外部とメモ
リセル81とのデータ入出力を、行方向にも列方向にも
メモリセルのビット幅分について一度に行える技術であ
る。この方式については、たとえば、電気学会電子デバ
イス研究会資料、EDD−85号、36−40番、13
〜20ページに記載されている。[0003] On the other hand, when processing two-dimensional data such as an image, there are two types: one that needs to input and output data at high speed in the row direction and one that needs to input and output data at 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 both the row direction and the column direction for the bit width of the memory cell. This method is described in, for example, IEICE Electronics Device Research Group, EDD-85, 36-40, 13
Page 20.
【0004】[0004]
【発明が解決しようとする課題】従来の方法では、図7
に示すような機能メモリの場合、画像の行単位の演算は
高速に行えるが列単位の演算は行えないという問題点
や、列データの入出力は高速には行えないという問題点
があった。また、図8に示すような直交メモリの場合、
画像の行方向にも列方向にもメモリセルの幅分のデータ
を並列に、高速に入出力できるという特徴があるので、
図9に示すように、メモリチップ91外に行単位の処理
を行う多数のプロセッサ92と列単位の処理を行う多数
のプロセッサ93を配置することによって、行単位の演
算も列単位の演算も高速に行うことができる。しかし、
多数のプロセッサをメモリチップ91外に接続する必要
があるため装置の規模が大きくなり、また、メモリセル
94の容量を増やすと入出力信号線が増えるので、ピン
数の制約のために実用的な容量の直交メモリの実現が困
難であるという問題点があった。In the conventional method, FIG.
In the case of the functional memory shown in (1), there is a problem that the operation in units of rows of the image can be performed at high speed but the operation in units of columns cannot be performed, and there is a problem that the input / output of the column data cannot be performed at high speed. In the case of an orthogonal memory as shown in FIG.
The feature is that data of the width of the memory cell can be input and output at high speed in parallel in the row direction and column direction of the image.
As shown in FIG. 9, by arranging a number of processors 92 that perform processing in units of rows and a number of processors 93 that perform processing in units of columns outside the memory chip 91, the operations in units of rows and columns are performed at high speed. Can be done. But,
Since it is necessary to connect a large number of processors outside the memory chip 91, the scale of the device becomes large. Also, if the capacity of the memory cell 94 is increased, the number of input / output signal lines is increased. There is a problem that it is difficult to realize a high-capacity orthogonal memory.
【0005】本発明の目的は、このような問題点を解決
し、行単位の処理も列単位の処理も高速に行うことがで
き、さらに、行データも列データも高速に入出力を行う
ことのできる機能メモリを提供することにある。SUMMARY OF THE INVENTION An object of the present invention is to solve such a problem, to perform processing in units of rows and in units of columns at high speed, and to perform input / output of both row data and column data at high speed. It is to provide a functional memory capable of performing the following.
【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 is a functional memory having a memory unit and an arithmetic processing unit on the same LSI, which holds data and simultaneously stores the data in a column direction and a row direction. Orthogonal memory cells capable of transferring data corresponding to the bit width, a row register group capable of holding data for a plurality of rows of the orthogonal memory cells, and 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 cell, and continuously output data on the row memory sequentially from the end, or continuously output data on the row memory sequentially from the end And a plurality of arithmetic units connected one-dimensionally, broadcast an external instruction to all the arithmetic units, and perform parallel arithmetic processing on data held in the row register group. And return the result A row arithmetic unit capable of writing data to a star group and transferring data between adjacent arithmetic units; a means for decoding a row address input from the outside to select one row on an orthogonal memory cell; One row of data on a cell is transferred to a row register group or a row memory at a time, or one row of data on a row register group or a row memory is transferred at a time to a selected row on an orthogonal memory cell. Means for transferring data to a plurality of columns of orthogonal memory cells, means for selecting one column register from the group of column registers, and means for transferring 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; Contact By a plurality of arithmetic units has, broadcast instruction from the outside to all of the arithmetic unit,
A column operation unit that can perform parallel arithmetic processing on the data held in the column register group, write the result to the column register group, and transfer data between adjacent operation units, and a column address input from the outside And a means for selecting one column on the orthogonal memory cell, transferring data of the selected one column on the orthogonal memory cell to the column register group or the column memory at a time, Means for transferring the data in the upper one column to a selected column on the orthogonal memory cell at a time.
【0007】第2の発明の機能メモリは、第1の発明の
機能メモリにおいて、行メモリ上のデータを列メモリに
端から順に連続的に転送したり、列メモリ上のデータを
行メモリに端から順に連続的に転送する手段を有するこ
とを特徴とする。A functional memory according to a second aspect of the present invention is the functional memory according to the first aspect, wherein data on the row memory is sequentially transferred from the end to the column memory, or data on the column memory is transferred to the row memory from the end. , And a means for sequentially transferring the data 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, wherein the functional memory has a plurality of row memories and column memories, and sequentially transfers data on an arbitrary row memory to an arbitrary column memory from an end in order. Or a means for sequentially transferring data from an arbitrary column memory to an arbitrary row memory sequentially from an end between a plurality of row memories and a column memory.
【0009】第4の発明の機能メモリは、第1の発明の
機能メモリにおいて、直交メモリセル上の選択された1
行分のデータを一度に列メモリへ転送したり、列メモリ
上の1行分のデータを一度に直交メモリセル上の選択さ
れた行へ転送したり、直交メモリセル上の選択された1
列分のデータを一度に行メモリへ転送したり、行メモリ
上の1行分のデータを一度に直交メモリセル上の選択さ
れた列へ転送する手段を有することを特徴とする。A functional memory according to a fourth aspect of the present invention is the functional memory according to the first aspect, wherein the selected one of the orthogonal memory cells is selected.
The data for one row is transferred to the column memory at one time, the data for one row on the column memory is transferred to the selected row on the orthogonal memory cell at one time,
It is characterized by having means for transferring data for a column to the row memory at a time, or transferring data for one row on the row memory to a selected column on the orthogonal memory cell at a time.
【0010】第5の発明の機能メモリは、第1、2、3
又は4発明の機能メモリにおいて、外部から与えられた
行アドレスおよび列アドレスによって指定される直交メ
モリ要素とデータを入出力する手段を有することを特徴
とする。According to a fifth aspect of the present invention, there is provided a functional memory comprising:
Alternatively, the functional memory according to the fourth aspect of the present invention is characterized in that the functional memory has means for inputting / outputting data to / from an orthogonal memory element specified by an externally applied row address and column address.
【0011】第6の発明の機能メモリは、第1、2、
3、4又は5発明の機能メモリにおいて、直交メモリセ
ルと、行レジスタ群、行メモリ、列レジスタ群および列
メモリの間のデータ転送を指示するための命令や、行メ
モリと列メモリの間のデータ転送を指示するための命令
や、行演算器や列演算器での隣接演算器間のデータ転送
を指示するための命令や、行演算器や列演算器での演算
を指示するための命令などの、一連の命令を記憶してお
くためのプログラムメモリと、プムグラムメモリにプロ
グラムを入力する手段と、プムグラムメモリ上に保持さ
れた命令を順に1つずつ読みだし、演算器に演算を指示
したり、データ転送回路にデータ転送を指示する手段
と、外部からプログラムの起動を指示する手段と、プロ
グラムの実行の終了を外部に知らせる手段とを有するこ
とを特徴とする。According to a sixth aspect of the present invention, there is provided a functional memory comprising:
In the functional memory according to the third, fourth or fifth aspect of the present invention, the 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; Instructions for instructing data transfer, instructions for instructing data transfer between adjacent computing units in row computing units and column computing units, and instructions for instructing computations in row computing units and column computing units A program memory for storing a series of instructions, a means for inputting a program to the program memory, and instructions stored in the program memory are read one by one in order, and the arithmetic unit performs an operation. It has means for instructing the data transfer circuit to instruct data transfer, means for instructing the start of the program from the outside, and means for notifying the end of the execution of the program to the outside.
【0012】[0012]
【実施例】次に本発明の実施例について図面を用いて説
明する。Next, an embodiment of the present invention will 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 according to the first invention. This function 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 cell 11 and data in the row memory 13 are continuously output in order from the end, And a plurality of arithmetic units connected in a one-dimensional manner. The external instruction is broadcast to all the arithmetic units, and is stored in the row register group 12. The arithmetic operation is performed on the data in parallel, the result is written into the row register group 12, the data is transferred between the adjacent arithmetic units, and the row arithmetic unit 15 which can transfer the data is decoded. A row decoder 16 for selecting one row on the orthogonal memory cell 11, transferring the data for the selected one row on the orthogonal memory cell 11 to the row register group 12 or the row memory 13 at one time, A row transfer circuit 1 for transferring one row of data on the register group 12 or the row memory 13 to a selected row on the orthogonal memory cell 11 at a time
7, a column register group 18 capable of holding data of a plurality of columns of the orthogonal memory cell 11, and a column register group 18
Column selection circuit 2 for selecting one column register from
5, one or more column memories 19 capable of holding data for one column of the orthogonal memory cell 11, and a column memory 19
It has a column memory input / output circuit 20 for continuously outputting the above data in order from the end, and continuously inputting data to the column memory 19 in order from the end, and a plurality of one-dimensionally connected arithmetic units. Then, an external instruction is broadcast to all the arithmetic units, and the data held in the column register group 18 is processed in parallel, and the result is written to the column register group 18 or data is transferred between adjacent arithmetic units. Column computing unit 21 capable of performing
A column decoder 22 for decoding a column address input from the outside and selecting one column on the orthogonal memory cell 11;
Data of one column selected in the orthogonal memory cell 11 is transferred to the column register group 18 or the column memory 19 at a time, or data of one column in the column register group 19 or the column memory 18 is transferred to the orthogonal memory It comprises a column transfer circuit 23 for transferring data to a 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 the row address from the orthogonal memory cell 11 to the row register in the row register group 12 selected by the row register selecting circuit 24. Transfer the data to be processed. If the data to be processed covers 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 operation unit 15 sets the row register group 12 in accordance with the instruction sequence given from the outside.
The above data is processed in parallel. Finally, the row transfer circuit 17 stores the result of the operation on the row register selected by the row register selection circuit 24 on the row register group 12 in the row where the result on the orthogonal memory cell 11 selected by the row decoder 16 is to be stored. To transfer. Thus, the orthogonal memory cell 11
The above data can be processed in a row unit in parallel 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 in 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 the column address 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. If the data to be processed covers 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 operation unit 21 performs an arithmetic operation on the data on the column register group 18 in parallel according to an instruction sequence given from the outside. Finally, the column transfer circuit 23 stores the operation result on the column register selected by the column register selection circuit 25 on the column register group 18 in the column where the result on the orthogonal memory cell 11 selected by the column decoder 22 is to be stored. To transfer. In this manner, the data on the orthogonal memory cells 11 can be processed in parallel by the column operation unit 21 in column units, and high-speed processing can be easily realized.
【0016】次に、直交メモリセル11上のある行のデ
ータを外部に端から順に連続的に出力する場合、まず、
外部から与えられた行アドレスを行デコーダ16がデコ
ードし、直交メモリセル11上の行を選択し、選択され
た行のデータを行転送回路17が行メモリ13の1つに
転送する。そして、行メモリ13上のデータを行メモリ
入出力回路14が端から順に連続的に出力する。Next, when sequentially outputting data of a certain row on the orthogonal memory cell 11 from the end to the outside, first,
The row decoder 16 decodes an externally applied row address, selects a row on the orthogonal memory cell 11, and the row transfer circuit 17 transfers data of the selected row to one of the row memories 13. Then, the row memory input / output circuit 14 continuously outputs data on the row memory 13 in order from the end.
【0017】外部から行のデータを端から順に連続的に
入力し、直交メモリセル11上のある行に格納する場
合、まず、行メモリ入出力回路14が外部よりデータを
入力し、行メモリ13の1つに格納する。つぎに、外部
から与えられた行アドレスを行デコーダ16がデコード
し、直交メモリセル11上の行を選択し、行メモリ13
上のデータを行転送回路17が選択された行に転送す
る。When row data is successively input from the outside in order from the end and stored in a certain row on the orthogonal memory cell 11, first, the row memory input / output circuit 14 inputs data from the outside, and the row memory 13 In one of them. Next, the row address given from the outside is decoded by the row decoder 16, and a row on the orthogonal memory cell 11 is selected.
The row transfer circuit 17 transfers the above data to the selected row.
【0018】直交メモリセル11上のある列のデータを
外部に端から順に連続的に出力する場合、まず、外部か
ら与えられた列アドレスを列デコーダ22がデコード
し、直交メモリセル11上の列を選択し、選択された列
のデータを列転送回路23が列メモリ19の1つに転送
する。そして、列メモリ19上のデータを列メモリ入出
力回路20が端から順に連続的に出力する。When sequentially outputting data of a certain column on the orthogonal memory cell 11 to the outside in order from the end, first, a column address given from the outside is decoded by the column decoder 22, and the column address on the orthogonal memory cell 11 is 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 data on the column memory 19 in order from the end.
【0019】外部から列のデータを端から順に連続的に
入力し、直交メモリセル11上のある列に格納する場
合、まず、列メモリ入出力回路20が外部よりデータを
入力し、列メモリ19の1つに格納する。つぎに、外部
から与えられた列アドレスを列デコーダ22がデコード
し、直交メモリセル11上の列を選択し、列メモリ19
上のデータを列転送回路23が選択された列に転送す
る。When column data is successively input from the outside in order from the end and stored in a certain column on the orthogonal memory cell 11, first, the column memory input / output circuit 20 inputs data from the outside and the column memory 19 In one of them. Next, the column address given from the outside is decoded by the column decoder 22, and a column on the orthogonal memory cell 11 is selected.
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 store the SR
AM or shift register,
In the case of an 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. In the case of a shift register, the row memory input / output circuit 14 and the column memory input / output circuit 20 transfer data 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 giving a shift clock an appropriate number of times, and then written to the orthogonal memory cell 11 again. The same effect as the data transfer between the computing units can be realized.
【0021】上記の、演算処理やデータ入出力処理は、
直交メモリセル11へのアクセスの競合が起こらない限
りは、すべて並行して行うことができる。The above arithmetic processing and data input / output processing
As long as contention for access to the orthogonal memory cells 11 does not occur, all the operations can be performed 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上に
書き込まれたの順序で割り当てられているとす
る。A plurality of bits on the orthogonal memory cell 11 form one word, and the row register group 12 and the row memory 1
3, the row memory input / output circuit 14, the row operation unit 15, the column register group 18, the column memory 19, the column memory input / output circuit 20, and the column operation unit 21 are all configured in a word configuration, so that processing in word units can be performed. Function memory to be implemented.
FIG. 10 shows an example of the correspondence between the bits of the orthogonal memory cell 11 and the bits of the row memory 13 and the column memory 19 in the functional memory that performs such word-unit processing. FIG. 10 shows a 16 bit ×
FIG. 3 is a diagram for explaining a bit configuration of an orthogonal memory cell 101 having a 16-bit configuration and a row memory 102 and a column memory 103 having an 8-word configuration. However, one word is assumed to be 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上に転送で
きる。A case where data in the row memory 102 is transferred to the orthogonal memory cell 101 in the functional memory having such a configuration will be described. First, the data of all the bits of the word on the row memory 102 are transferred to the row allocated to the data on the orthogonal memory cell 101 at one time. Next, the data with the bits of all the words on the row memory 102 is stored in the orthogonal memory cell 1.
01, the data is transferred at a time to the line next to the line transferred earlier, that is, the line assigned to the data. Thus, the data of all the words in the row memory 102 can be transferred to the orthogonal memory cells 101 by transferring the rows twice.
【0024】つぎに、直交メモリセル101上に格納さ
れたデータを列メモリ103に転送する場合について説
明する。まず、直交メモリセル101の、これから列メ
モリ103に転送するデータを保持する2列のうち、
とのビットを保持している列のデータを列メモリ10
3に一度に転送し、列メモリ103上のとの位置に
格納する。つぎに、とのビットを保持している列の
データを列メモリ103に一度に転送し、列メモリ10
3上のとの位置に格納する。このように、2回の列
の転送によって直交メモリセル101上のデータを列メ
モリ103に転送できる。Next, a case where data stored in the orthogonal memory cell 101 is transferred to the column memory 103 will be described. First, of the two columns of the orthogonal memory cell 101 that hold data to be transferred to the column memory 103,
Is stored in the column memory 10
3 at a time and stored in the column memory 103 at the position indicated by. Next, the data of the column holding the bits and is transferred to the column memory 103 at once, and
3 and stored in the position of In this manner, 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 performed in the same manner. Also, the row register group 12 and the column register group 18 in FIG.
【0026】図2は、第2の発明の機能メモリの一実施
例の構成を示すブロック図である。この機能メモリは、
図1の構成に加えて、行メモリ13と列メモリ19の間
でデータを端から順に連続的に転送するための行列間デ
ータ転送回路26を備えている。FIG. 2 is a block diagram showing the configuration of an embodiment of the functional memory according to the second invention. This function memory is
In addition to the configuration of FIG. 1, an inter-matrix data transfer circuit 26 for continuously transferring data between the row memory 13 and the column memory 19 in order from the end is provided.
【0027】このような構成の機能メモリにおいて、直
交メモリセル11上のデータを列メモリ19に転送し、
それを行列間データ転送回路26によって行メモリ13
に転送し、さらにそれを直交メモリセル11に転送する
ことによって、直交メモリセル11上の二次元データの
列データを行データに変換できる。In the functional memory having such a configuration, data in the orthogonal memory cell 11 is transferred to the column memory 19,
It is transferred to the row memory 13 by the matrix data transfer circuit 26.
, And by transferring it to the orthogonal memory cell 11, the column data of the two-dimensional data on the orthogonal memory cell 11 can be converted into row data.
【0028】また、直交メモリセル11上のデータを行
メモリ13に転送し、それを行列間データ転送回路26
によって列メモリ19に転送し、さらにそれを直交メモ
リセル11に転送することによって、直交メモリセル1
1上の二次元データの行データを列データに変換でき
る。The data in the orthogonal memory cell 11 is transferred to the row memory 13 and the data is transferred to the inter-matrix data transfer circuit 26.
Is transferred to the column memory 19, and further transferred to the orthogonal memory cell 11, whereby the orthogonal memory cell 1
The row data of the two-dimensional data on 1 can be converted to column data.
【0029】このように、列データを行データに変換し
たり、行データを列データに変換すれば、行演算器15
および列演算器21の上で行列演算を行うことができ
る。As described above, if the column data is converted to the row data or the row data is converted to the column data, the row operation unit 15
The matrix operation can be performed on the column operation unit 21.
【0030】行列間データ転送回路26によってデータ
の転送が行われている行メモリ13や列メモリ19は、
行メモリ入出力回路14や列メモリ入出力回路20によ
るデータの入出力は禁止される。ただし、転送中のデー
タを、行メモリ入出力回路14や列メモリ入出力回路2
0に、転送と同時に出力することは可能である。また、
行メモリ入出力回路14や列メモリ入出力回路20によ
って、行メモリ13や列メモリ19にデータを入力する
のと同時に、行列間データ転送回路26によってデータ
を列メモリ19や行メモリ13に転送することも可能で
ある。The row memory 13 and column memory 19 to which data is transferred by the inter-matrix data transfer circuit 26
Data input / output by the row memory input / output circuit 14 or 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 2.
0 can be output simultaneously with the transfer. Also,
Data is input to the row memory 13 and the column memory 19 by the row memory input / output circuit 14 and the column memory input / output circuit 20, and at the same time, the data is transferred to the column memory 19 and the row memory 13 by the inter-matrix data transfer circuit 26. 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 according to the third invention. This function memory is
A plurality of row memories 13 and a plurality of column memories 19 are provided. In addition to the configuration of FIG.
9 is provided with an inter-column data transfer circuit 31 for sequentially transferring data sequentially from the end.
【0032】このような構成の機能メモリにおいて、行
列間データ転送回路31はクロスバスイッチによって構
成されており、任意の行メモリ13と列メモリ19の組
み合せでデータを並列に転送することができる。In the functional memory having such a configuration, the inter-matrix data transfer circuit 31 is constituted by 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 on the orthogonal memory cell 11 is transferred to the column memory 19, transferred to the row memory 13 by the inter-matrix data transfer circuit 31, and further transferred to the orthogonal memory cell 11. 11 can be converted into row data.
【0034】また、直交メモリセル11上のデータを行
メモリ13に転送し、それを行列間データ転送回路31
によって列メモリ19に転送し、さらにそれを直交メモ
リセル11に転送することによって、直交メモリセル1
1上の二次元データの行データを列データに変換でき
る。The data in the orthogonal memory cell 11 is transferred to the row memory 13 and the data is transferred to the inter-matrix data transfer circuit 31.
Is transferred to the column memory 19, and further transferred to the orthogonal memory cell 11, whereby the orthogonal memory cell 1
The row data of the two-dimensional data on 1 can be converted to column data.
【0035】このように、列データを行データに変換し
たり、行データを列データに変換すれば、行演算器15
および列演算器21の上で行列演算を行うことができ
る。As described above, if the column data is converted to the row data or the row data is converted to the column data, the row operation unit 15
The matrix operation can be performed on the column operation unit 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 according to the fourth invention. This function memory is
In addition to the configuration of FIG. 1, data of one selected row on the orthogonal memory cell 11 is transferred to the column memory 19 at a time,
The data of one row on the column memory 19 is transferred to the selected row on the orthogonal memory cell 11 at one time, or the data of one selected column on the orthogonal memory cell 11 is transferred on the row memory 1 at a time.
3 or an inter-matrix parallel data transfer circuit 41 for transferring data of one row 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-parallel parallel data transfer circuit 41 has a signal line corresponding to the bit width of the orthogonal memory cell 11, and
It is realized by passing the wiring over. While the functional memory shown in FIGS. 2 and 3 sequentially transfers data to exchange data between rows and columns, the inter-parallel parallel data transfer circuit 41 Data can be transferred.
【0038】このように、列データを行データに変換し
たり、行データを列データに変換することが高速に行え
るので、行演算器15および列演算器21の上で行列演
算を高速に行うことができる。As described above, the column data can be converted into the row data and the row data can be converted into the column data at high speed, so that the matrix operation is performed at high speed on the row calculator 15 and the column calculator 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を利用して演算が
行われる。Since data can be transferred at high speed between rows and columns by the inter-matrix parallel data transfer circuit 41, the column register group 18, the column register selection circuit 25, the column memory 1
9, the functions of the column memory input / output circuit 20, the column operation unit 21, and the column data transfer circuit 23 are described by the row register group 12, the row register selection circuit 24, the row memory 13, and the row memory input / output circuit 1.
4. It can be realized by the row operation unit 15 and the row data transfer circuit 17, and the number of pins and the chip size can be reduced. FIG. 11 shows the configuration of such a functional memory. In the case of the functional memory having the configuration as shown in FIG. 11, the data on the orthogonal memory cell 11 includes both row data and column data.
Data transfer with the outside is performed using the row memory 13 and the row memory input / output circuit 14, and calculations are 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 according to the fifth invention. This function memory is
In addition to the configuration of FIG. 1, a data input / output circuit 51 for inputting / outputting data between bits 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 transfer data with the orthogonal memory cell 11, they are 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 according to the sixth invention. This function memory is
In addition to the configuration of FIG. 1, an instruction for instructing data transfer between the orthogonal memory cell 11 and 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 instructions such as an instruction for instructing an operation in the row arithmetic unit 15 and the column arithmetic unit 21; and a program memory input circuit for externally inputting a program to the program memory 61 62 and the instructions held in the program memory 61 are read out one by one in order, to instruct the row operation unit 15 and the column operation unit 21 for the operation, the row decoder 16, the row transfer circuit 17, and the row register selection circuit 24. , A sequencer 63 for instructing data transfer to the column decoder 22, the column transfer circuit 23 and the column register selection circuit 25, a start signal line 64 for instructing the start of the program from the outside, and an end signal for notifying the end of the 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, an instruction sequence of a process to be executed on the functional memory is stored in advance in the program memory 61 on the same LSI through the program memory input circuit 62, thereby realizing the LSI.
Since the processing can be performed without continuously giving instructions from the outside one by one, the external circuit configuration is simplified and the functional memory can be used more easily. When the execution of the program is started through the start signal line 64, the sequencer 63 sequentially fetches the instructions from the program memory 61, and
According to the contents of the instruction, the row operation unit 15 and the column operation unit 2
1. Instruct the row decoder 16, row transfer circuit 17, row register selection circuit 24, column decoder 22, column transfer circuit 23, and column register selection circuit 25 to operate. When the execution of the series of instructions is completed,
Notify the end of processing to the outside. Since this function 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, orthogonal memory cells, a plurality of one-dimensionally arranged operation units for row operation, and one-dimensionally arranged column operation are provided 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 unit can be increased in the row direction. Since the direction can be sufficiently wide, an algorithm of applying the same operation to a large amount of data in units of rows or columns can be executed in parallel and at high speed in the LSI. Data can be input and output at high speed both in the direction and in the column direction.
There is an effect that a function of converting the row direction and the column direction of the two-dimensional data on the LSI can be realized.
【図1】第1の発明の機能メモリの一実施例を示すブロ
ック図である。FIG. 1 is a block diagram showing an embodiment of a functional memory according to the first invention.
【図2】第2の発明の機能メモリの一実施例を示すブロ
ック図である。FIG. 2 is a block diagram showing an embodiment of a functional memory according to the second invention.
【図3】第3の発明の機能メモリの一実施例を示すブロ
ック図である。FIG. 3 is a block diagram showing an embodiment of a functional memory according to the third invention.
【図4】第4の発明の機能メモリの一実施例を示すブロ
ック図である。FIG. 4 is a block diagram showing an embodiment of a functional memory according to the fourth invention.
【図5】第5の発明の機能メモリの一実施例を示すブロ
ック図である。FIG. 5 is a block diagram showing an embodiment of a functional memory according to 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 illustrating a configuration example of a conventional functional memory.
【図8】従来の直交メモリの構成例を示すブロック図で
ある。FIG. 8 is a block diagram illustrating a configuration example of a conventional orthogonal memory.
【図9】従来の直交メモリ利用システムの構成例を示す
ブロック図である。FIG. 9 is a block diagram illustrating a configuration example of a conventional orthogonal memory using system.
【図10】機能メモリ上の、直交メモリセルと行メモリ
および列メモリのビットの構成を説明するための図であ
る。FIG. 10 is a diagram for explaining a configuration of orthogonal memory cells and bits of 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 according to the fourth invention.
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 列メモリ DESCRIPTION OF SYMBOLS 11 Quadrature 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 (5)
を持つ機能メモリにおいて、データを保持し、列方向お
よび行方向に、一度にそのビット幅分だけのデータを転
送することのできる直交メモリセルと、直交メモリセル
の複数行分のデータを保持することができる行レジスタ
群と、行レジスタ群から1つの行レジスタを選択する手
段と、直交メモリセルの1行分のデータを保持すること
ができる行メモリを1つ以上と、行メモリ上のデータを
端から順に連続的に出力したり、行メモリ上へデータを
端から順に連続的に入力する手段と、一次元状に接続さ
れた複数の演算器を有し、外部からの指示を全ての演算
器に放送し、行レジスタ群に保持されているデータを並
列に演算処理し、結果を行レジスタ群に書き込んだり、
隣接演算器間でデータの転送を行うことができる行演算
器と、外部から入力された行アドレスをデコードし、直
交メモリセル上の1行を選択する手段と、直交メモリセ
ル上の選択された1行分のデータを一度に行レジスタ群
もしくは行メモリへ転送したり、行レジスタ群もしくは
行メモリ上の1行分のデータを一度に直交メモリセル上
の選択された行へ転送する手段と、直交メモリセルの複
数列分のデータを保持することができる列レジスタ群
と、列レジスタ群から1つの列レジスタを選択する手段
と、直交メモリセルの1列分のデータを保持することが
できる列メモリを1つ以上と、列メモリ上のデータを端
から順に連続的に出力したり、列メモリ上へデータを端
から順に連続的に入力する手段と、一次元状に接続され
た複数の演算器を有し、外部からの指示を全ての演算器
に放送し、列レジスタ群に保持されているデータを並列
に演算処理し、結果を列レジスタ群に書き込んだり、隣
接演算器間でデータの転送を行うことができる列演算器
と、外部から入力された列アドレスをデコードし、直交
メモリセル上の1列を選択する手段と、直交メモリセル
上の選択された1列分のデータを一度に列レジスタ群も
しくは列メモリへ転送したり、列レジスタ群もしくは列
メモリ上の1列分のデータを一度に直交メモリセル上の
選択された列へ転送する手段と、 行メモリ上のデータを列メモリに端から順に連続的に転
送したり、列メモリ上のデータを行メモリに端から順に
連続的に転送する手段と を有することを特徴とする機能
メモリ。1. A function memory having a memory unit and an arithmetic processing unit on the same LSI, which can hold data and transfer data of a bit width at a time in a column direction and a row direction at a time. A memory cell, a row register group capable of holding data of a plurality of rows of orthogonal memory cells, a unit for selecting one row register from the row register group, and holding data of one row of the orthogonal memory cell One or more row memories capable of continuously outputting data on the row memory sequentially from the end or a means for continuously inputting data on the row memory sequentially from the end, and one-dimensionally connected. It has a plurality of arithmetic units, broadcasts external instructions to all arithmetic units, performs parallel arithmetic processing on data held in the row register group, writes the result to the row register group,
A row arithmetic unit capable of transferring data between adjacent arithmetic units, means for decoding a row address input from the outside and selecting one row on the orthogonal memory cell, Means for transferring one row of data at a time to a row register group or a row memory, or transferring one row of data on a row register group or a row memory to a selected row on an orthogonal memory cell at a time; A column register group capable of holding data of a plurality of columns of orthogonal memory cells, means for selecting one column register from the column register group, and a column capable of holding data of one column of the orthogonal memory cells One or more memories, means for continuously outputting data on a column memory sequentially from an end, and means for continuously inputting data on a column memory sequentially from an end, and a plurality of one-dimensionally connected operations Have a container Broadcasting external instructions to all arithmetic units, processing data held in column registers in parallel, writing results to column registers, and transferring data between adjacent arithmetic units Column arithmetic unit, means for decoding an externally input column address and selecting one column on an orthogonal memory cell, and a column register group for simultaneously selecting one column of data on the orthogonal memory cell or to transfer to the column memory, means for transferring data for one column on the column register group or column memory to the selected column of the orthogonal memory cell at a time, from the end of the data in the row memory in column memory Roll continuously in order
Data from the column memory to the row memory sequentially from the end.
Means for transferring data continuously .
を持つ機能メモリにおいて、データを保持し、列方向お
よび行方向に、一度にそのビット幅分だけのデータを転
送することのできる直交メモリセルと、直交メモリセル
の複数行分のデータを保持することができる行レジスタ
群と、行レジスタ群から1つの行レジスタを選択する手
段と、直交メモリセルの1行分のデータを保持すること
ができる行メモリを1つ以上と、行メモリ上のデータを
端から順に連続的に出力したり、行メモリ上へデータを
端から順に連続的に入力する手段と、一次元状に接続さ
れた複数の演算器を有し、外部からの指示を全ての演算
器に放送し、行レジスタ群に保持されているデータを並
列に演算処理し、結果を行レジスタ群に書き込んだり、
隣接演算器間でデータの転送を行うことができる行演算
器と、外部から入力された行アドレスをデコードし、直
交メモリセル上の1行を選択する手段と、直交メモリセ
ル上の選択された1行分のデータを一度に行レジスタ群
もしくは行メモリへ転送したり、行レジスタ群もしくは
行メモリ上の1行分のデータを一度に直交メモリセル上
の選択された行へ転送する手段と、直交メモリセルの複
数列分のデータを保持することができる列レジスタ群
と、列レジスタ群から1つの列レジスタを選択する手段
と、直交メモリセルの1列分のデータを保持することが
できる列メモリを1つ以上と、列メモリ上のデータを端
から順に連続的に出力したり、列メモリ上へデータを端
から順に連続的に入力する手段と、一次元状に接続され
た複数の演算器を有し、外部からの指示を全ての演算器
に放送し、列レジスタ群に保持されているデータを並列
に演算処理し、結果を列レジスタ群に書き込んだり、隣
接演算器間でデータの転送を行うことができる列演算器
と、外部から入力された列アドレスをデコードし、直交
メモリセル上の1列を選択する手段と、直交メモリセル
上の選択された1列分のデータを一度に列レジスタ群も
しくは列メモリへ転送したり、列レジスタ群もしくは列
メモリ上の1列分のデータを一度に直交メモリセル上の
選択された列へ転送する手段と、 行メモリ、列メモリを複数持ち任意の行メモリ上のデー
タを任意の列メモリに端から順に連続的に転送したり、
任意の列メモリ上のデータを任意の行メモリに端から順
に連続的に転送することを、複数の行メモリと列メモリ
間で並列に行う手段を有することを特徴とする機能メモ
リ。 2. A memory unit and an arithmetic processing unit on the same LSI.
Data in a functional memory with
And data in the row direction at a time for that bit width.
Orthogonal memory cells that can be transmitted and orthogonal memory cells
Row register that can hold multiple rows of data
Group and a means to select one row register from the row register group
Column and holding one row of data in orthogonal memory cells
And one or more row memories that can
Output continuously from the end, or store data in row memory
A means for continuous input from the end and a one-dimensionally connected
It has multiple arithmetic units,
Broadcasts the data stored in the row registers
Operate on columns and write the result to row registers,
Row operation that can transfer data between adjacent operation units
And the row address input from the outside
Means for selecting one row on the intersection memory cell,
Row register group at a time with the data of one selected row on the
Alternatively, transfer to row memory, row register group or
One row of data on the row memory is stored on the orthogonal memory cells at a time.
Means for transferring data to a selected row, and
Column registers that can hold several columns of data
And means for selecting one column register from the column register group
Can hold data for one column of orthogonal memory cells.
One or more column memories that can be
From the end, and output data to the column memory.
Means for inputting continuously from
All of the computing units
And the data held in the column registers
And write the result to the column registers, or
Column arithmetic unit that can transfer data between adjacent arithmetic units
And decode the externally input column address
Means for selecting one column on a memory cell, and orthogonal memory cells
The above selected one column of data is also stored in the column registers at once.
Or to column memory, column registers or columns
One column of data on the memory is stored on the orthogonal memory cell at a time.
Means for transferring data to a selected column, and data on an arbitrary row memory having a plurality of row memories and column memories.
Data to any column memory sequentially from the end,
Data from any column memory to any row memory from end to end
Continuous transfer to multiple row and column memories
Function memo characterized by having means for performing parallel processing between
Ri.
を持つ機能メモリにおいて、データを保持し、列方向お
よび行方向に、一度にそのビット幅分だけのデータを転
送することのできる直交メモリセルと、直交メモリセル
の複数行分のデータを保持することができる行レジスタ
群と、行レジスタ群から1つの行レジスタを選択する手
段と、直交メモリセルの1行分のデータを保持すること
ができる行メモリを1つ以上と、行メモリ上のデータを
端から順に連続的に出力したり、行メモリ上へデータを
端から順に連続的に入力する手段と、一次元状に接続さ
れた複数の演算器を有し、外部からの指示を全ての演算
器に放送し、行レジスタ群に保持されているデータを並
列に演算処理し、結果を行レジスタ群に書き込んだり、
隣接演算器間でデータの転送を行うことができる行演算
器と、外部から入力された行アドレスをデコードし、直
交メモリセル上の1行を選択する手段と、直交メモリセ
ル上の選択された1行分のデータを一度に行レジスタ群
もしくは行メモリへ転送したり、行レジスタ群もしくは
行メモリ上の1行分のデータを一度に直交メモリセル上
の選択された行へ転送する手段と、直交メモリセルの複
数列分のデータを保持することができる列レジスタ群
と、列レジスタ群から1つの列レジスタを選択する手段
と、直交メモリセルの1列分のデータを保持することが
できる列メモリを1つ以上と、列メモリ上のデータを端
から順に連続的に出力したり、列メモリ上へデータを端
から順に連続的に入力する手段と、一次元状に接続され
た複数の演算器を有し、外部からの指示を全ての演算器
に放送し、列レジスタ群に保持されているデータを並列
に演算処理し、結果を列レジスタ群に書き込んだり、隣
接演算器間でデータの転送を行うことができる列演算器
と、外部から入力された列アドレスをデコードし、直交
メモリセル上の1列を選択する手段と、直交メモリセル
上の選択された1列分のデータを一度に列レジスタ群も
しくは列メモリへ転送したり、列レジスタ群もしくは列
メモリ上の1列分のデータを一度に直交メモリセル上の
選択された列へ転送する手段と、 直交メモリセル上の選択された1行分のデータを一度に
列メモリへ転送したり、列メモリ上の1行分のデータを
一度に直交メモリセル上の選択された行へ転送したり、
直交メモリセル上の選択された1列分のデータを一度に
行メモリへ転送したり、行メモリ上の1行分のデータを
一度に直交メモリセル上の選択された列へ 転送する手段
を有することを特徴とする機能メモリ。 3. A memory unit and an arithmetic processing unit on the same LSI.
Data in a functional memory with
And data in the row direction at a time for that bit width.
Orthogonal memory cells that can be transmitted and orthogonal memory cells
Row register that can hold multiple rows of data
Group and a means to select one row register from the row register group
Column and holding one row of data in orthogonal memory cells
And one or more row memories that can
Output continuously from the end, or store data in row memory
A means for continuous input from the end and a one-dimensionally connected
It has multiple arithmetic units,
Broadcasts the data stored in the row registers
Operate on columns and write the result to row registers,
Row operation that can transfer data between adjacent operation units
And the row address input from the outside
Means for selecting one row on the intersection memory cell,
Row register group at a time with the data of one selected row on the
Alternatively, transfer to row memory, row register group or
One row of data on the row memory is stored on the orthogonal memory cells at a time.
Means for transferring data to a selected row, and
Column registers that can hold several columns of data
And means for selecting one column register from the column register group
Can hold data for one column of orthogonal memory cells.
One or more column memories that can be
From the end, and output data to the column memory.
Means for inputting continuously from
All of the computing units
And the data held in the column registers
And write the result to the column registers, or
Column arithmetic unit that can transfer data between adjacent arithmetic units
And decode the externally input column address
Means for selecting one column on a memory cell, and orthogonal memory cells
The above selected one column of data is also stored in the column registers at once.
Or to column memory, column registers or columns
One column of data on the memory is stored on the orthogonal memory cell at a time.
Means for transferring data to a selected column, and data for a selected row on an orthogonal memory cell at a time
Transfer to the column memory or transfer one row of data in the column memory
Transfer to the selected row on the orthogonal memory cell at once,
Select one column of data on the orthogonal memory cells at once
Transfer to the row memory or transfer one row of data in the row memory
Means to transfer to selected columns on orthogonal memory cells at once
A functional memory comprising:
アドレスによって指定される直交メモリ要素とデータを
入出力する手段を有することを特徴とする請求項1、2
又は3記載の機能メモリ。 4. An externally applied row address and column
The orthogonal memory element and data specified by the address are
3. The system according to claim 1, further comprising means for inputting and outputting.
Or the functional memory according to 3.
モリ、列レジスタ群および列メモリの間のデータ転送を
指示するための命令や、行メモリと列メモリの間のデー
タ転送を指示するための命令や、行演算器や列演算器で
の隣接演算器間のデータ転送を指示するための命令や、
行演算器や列演算器での演算を指示するための命令など
の、一連の命令を記憶しておくためのプログラムメモリ
と、プログラムメモリにプログラムを入力する手段と、
プログラムメモリ上に保持された命令を順に1つずつ読
みだし、演算器に演算を指示したり、データ転送回路に
データ転送を指示する手段と、外部からプログラムの起
動を指示する手段と、プログラムの実行の終了を外部に
知らせる手段とを有することを特徴とする請求項1、
2、3又は4記載の機能メモリ。 5. An orthogonal memory cell, a row register group, and a row memory.
Memory, column registers and column memory
Instructions to indicate or data between row and column memory
Command to instruct data transfer, or row and column
Instructions for instructing data transfer between adjacent arithmetic units,
Instructions for instructing operations in row arithmetic units and column arithmetic units
Program memory for storing a series of instructions
Means for inputting a program to the program memory;
Read the instructions held in the program memory one by one
Start and instruct the arithmetic unit to calculate, or send data to the data transfer circuit.
A means for instructing data transfer and an external program
Means for instructing the execution of the
And means for notifying.
The functional memory according to 2, 3, or 4.
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 JPH0553898A (en) | 1993-03-05 |
JP2855899B2 true 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) |
Families Citing this family (2)
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 |
-
1991
- 1991-08-28 JP JP3215650A patent/JP2855899B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0553898A (en) | 1993-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5546343A (en) | Method and apparatus for a single instruction operating multiple processors on a memory chip | |
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 | |
JPH077260B2 (en) | Image data rotation processing apparatus and method thereof | |
US5201058A (en) | Control system for transferring vector data without waiting for transfer end of the previous vector data | |
US6085304A (en) | Interface for processing element array | |
JPH04295953A (en) | Parallel data processor with built-in two-dimensional array of element processor and sub-array unit of element processor | |
JP2855899B2 (en) | Function memory | |
JPH09198862A (en) | Semiconductor memory | |
US4805228A (en) | Cellular logic processor | |
JPH1074141A (en) | Signal processor | |
JPH0259943A (en) | Memory device with operational function | |
JP2002269067A (en) | Matrix arithmetic unit | |
JP2812292B2 (en) | Image processing device | |
JPS62151987A (en) | Multi port memory processing picture | |
JPS61256478A (en) | Parallel processing computer | |
JP2515724B2 (en) | Image processing device | |
JPH10116226A (en) | Address array device of semiconductor storage device | |
JP4244619B2 (en) | Image data processing device | |
JPH0255877B2 (en) | ||
JP2590704B2 (en) | Parallel processor LSI | |
JP3675948B2 (en) | Data conversion method and apparatus | |
JP2735058B2 (en) | Video display memory | |
JP3185278B2 (en) | Orthogonal memory | |
JPH0332829B2 (en) |
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 |