JP4854277B2 - Orthogonal transformation circuit - Google Patents

Orthogonal transformation circuit Download PDF

Info

Publication number
JP4854277B2
JP4854277B2 JP2005331517A JP2005331517A JP4854277B2 JP 4854277 B2 JP4854277 B2 JP 4854277B2 JP 2005331517 A JP2005331517 A JP 2005331517A JP 2005331517 A JP2005331517 A JP 2005331517A JP 4854277 B2 JP4854277 B2 JP 4854277B2
Authority
JP
Japan
Prior art keywords
data
memory
circuit
bus
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 - Fee Related
Application number
JP2005331517A
Other languages
Japanese (ja)
Other versions
JP2007140750A (en
Inventor
勝也 水本
雅美 中島
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2005331517A priority Critical patent/JP4854277B2/en
Publication of JP2007140750A publication Critical patent/JP2007140750A/en
Application granted granted Critical
Publication of JP4854277B2 publication Critical patent/JP4854277B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、データ配列をビットシリアルかつワードパラレルなデータ列とワードシリアルかつビットパラレルなデータ列との間で変換する回路に関し、特に、メモリと演算回路とが同一半導体基板上に集積化された信号処理装置において、外部データを転送するシステムバスと該メモリとの間で効率的にデータを転送するための直交変換回路に関する。   The present invention relates to a circuit for converting a data array between a bit serial and word parallel data string and a word serial and bit parallel data string, and in particular, a memory and an arithmetic circuit are integrated on the same semiconductor substrate. The present invention relates to an orthogonal transform circuit for efficiently transferring data between a system bus for transferring external data and the memory in a signal processing device.

移動体通信技術の発展に伴って、携帯電話などの携帯端末機器においては、音声および画像のような大量のデータを送受信することが可能となり、このような音声および画像のような大量のデータを高速に処理するデジタル信号処理の重要性が高くなってきている。このようなデジタル信号処理には、一般に、専用の半導体装置としてDSP(デジタル・シグナル・プロセッサ)が用いられる。音声および画像データに対するデジタル信号処理においては、フィルタ処理などのデータ処理が行なわれ、このような処理においては積和演算を繰返す演算処理が多い。したがって、一般に、DSPの構成においては、乗算回路、加算回路および累算用のレジスタが設けられる。このような専用のDSPを用いると、積和演算を1マシンサイクルで実行することが可能となり、高速演算処理が可能となる。   With the development of mobile communication technology, mobile terminal devices such as mobile phones can transmit and receive large amounts of data such as voice and images. The importance of high-speed digital signal processing is increasing. For such digital signal processing, a DSP (digital signal processor) is generally used as a dedicated semiconductor device. In digital signal processing for audio and image data, data processing such as filter processing is performed, and in such processing, there are many arithmetic processes that repeat product-sum operations. Therefore, in general, in the configuration of the DSP, a multiplication circuit, an addition circuit, and an accumulation register are provided. If such a dedicated DSP is used, the product-sum operation can be executed in one machine cycle, and high-speed operation processing is possible.

このような積和演算を行なう際に、レジスタファイルを利用する構成が、特許文献1(特開平6−324862号公報)に示されている。この特許文献1においては、レジスタファイルに格納された二項のオペランドデータを読出して演算器で加算した後、書込データレジスタを介してレジスタファイルに加算結果を書込む。   Japanese Patent Laid-Open No. 6-324862 discloses a configuration in which a register file is used when performing such product-sum operation. In Patent Document 1, binary operand data stored in a register file is read and added by an arithmetic unit, and then the addition result is written into the register file via a write data register.

この特許文献1に示される構成においては、レジスタファイルに対して書込アドレスおよび読出アドレスを同時に与えて、データの書込およびデータの読出を並行に行なう。この書込および読出の並列実行により、データの書込サイクルおよびデータの読出サイクルを別々に設けて演算処理する構成に比べて処理時間を短縮することを図る。   In the configuration disclosed in Patent Document 1, a write address and a read address are simultaneously given to a register file, and data writing and data reading are performed in parallel. By executing the writing and reading in parallel, the processing time is shortened as compared with a configuration in which a data writing cycle and a data reading cycle are separately provided for arithmetic processing.

また、画像データのDCT変換(離散コサイン変換)などの処理を高速に行なうことを目的とする信号処理装置が、特許文献2(特開平10−74141号公報)に示されている。この特許文献2に示される構成においては、画像データがビットパラレルかつワードシリアルなシーケンスで、すなわちワード(画素データ)単位で入力されるため、直列/並列変換回路を用いてワードパラレルかつビットシリアルなデータ列に変換してメモリアレイに書込む。メモリアレイにおいては、画面上同一ブロックを構成するデータが列方向に整列して格納される。すなわち、各メモリアレイブロックにおいて、対応の画像ブロックを構成する画素データが、メモリアレイの行ごとにワード単位で格納される。メモリアレイブロック毎に演算器が設けられる。   Also, a signal processing apparatus that aims to perform processing such as DCT transformation (discrete cosine transformation) of image data at high speed is disclosed in Japanese Patent Laid-Open No. 10-74141. In the configuration disclosed in Patent Document 2, since image data is input in a bit parallel and word serial sequence, that is, in units of words (pixel data), the serial / parallel conversion circuit is used to perform word parallel and bit serial. Convert to data string and write to memory array. In the memory array, data constituting the same block on the screen is stored aligned in the column direction. That is, in each memory array block, pixel data constituting the corresponding image block is stored in units of words for each row of the memory array. An arithmetic unit is provided for each memory array block.

この特許文献2に示される構成においては、メモリアレイブロックと対応の演算器との間でワード(1つの画素に対応するデータ)単位でデータを転送する。各ブロック個々に、対応の演算器において転送されたワードに対して同一処理を実行することにより、DCT変換でのフィルタ処理を高速で実行することを図る。演算処理結果は、再びメモリアレイに書込まれ、再度、並列/直列変換を行なってビットシリアルかつワードパラレルデータをビットパラレルかつワードシリアルなデータに変換して、1ラインごとの画素データを順次出力する。通常の処理においては、データのビット位置の変換は行なわれず、演算器において通常の演算処理を複数のデータに対して並列に実行する。
特開平6−324862号公報 特開平10−74141号公報
In the configuration disclosed in Patent Document 2, data is transferred in units of words (data corresponding to one pixel) between a memory array block and a corresponding arithmetic unit. By executing the same processing on the words transferred by the corresponding arithmetic unit for each block individually, it is possible to execute the filtering processing by DCT conversion at high speed. The result of the arithmetic processing is written again into the memory array, and again parallel / serial conversion is performed to convert bit serial and word parallel data into bit parallel and word serial data, and pixel data for each line is sequentially output. To do. In normal processing, bit position conversion of data is not performed, and normal arithmetic processing is performed in parallel on a plurality of data in an arithmetic unit.
JP-A-6-324862 Japanese Patent Laid-Open No. 10-74141

処理対象のデータ量が非常に多い場合には、専用のDSPを用いても、性能を飛躍的に向上させることは困難である。たとえば、演算対象のデータが1万組ある場合、1つ1つのデータに対する演算を1マシンサイクルで実行することができたとしても、最低でも11万サイクルが演算に必要となる。したがって、特許文献1に示されるようなレジスタファイルを用いて積和演算を行なうような構成の場合、1つ1つの処理が高速ではあるものの、データ処理が直列に行なわれるため、データ量が多くなると、それに比例して処理時間が長くなり、高速処理を実現することができない。   When the amount of data to be processed is very large, it is difficult to dramatically improve the performance even if a dedicated DSP is used. For example, if there are 10,000 sets of calculation target data, even if the calculation for each piece of data can be executed in one machine cycle, at least 110,000 cycles are required for the calculation. Therefore, in the configuration in which the multiply-accumulate operation is performed using the register file as shown in Patent Document 1, although each processing is performed at a high speed, the data processing is performed in series, so that the data amount is large. Then, the processing time becomes longer in proportion to this, and high-speed processing cannot be realized.

また、専用のDSPを利用する場合、処理性能は動作周波数に大きく依存することになるため、高速処理を優先した場合、消費電力が増大することになる。   In addition, when a dedicated DSP is used, the processing performance greatly depends on the operating frequency. Therefore, when high-speed processing is prioritized, power consumption increases.

また、この特許文献1に示されるようなレジスタファイルおよび演算器を利用する場合、ある用途に特化して設計されることが多く、演算ビット幅および演算回路の構成等が固定される。したがって、他の用途に転用する場合には、そのビット幅および演算回路の構成を設計しなおす必要があり、複数の演算処理用途に柔軟に対応することができなくなるという問題が生じる。   Further, when using a register file and an arithmetic unit as disclosed in Patent Document 1, it is often designed specifically for a certain application, and the arithmetic bit width and the configuration of the arithmetic circuit are fixed. Therefore, when diverting to other uses, it is necessary to redesign the bit width and the configuration of the arithmetic circuit, and there arises a problem that it becomes impossible to flexibly cope with a plurality of arithmetic processing uses.

また、特許文献2に示される構成においては、画像データのDCT変換などの処理の高速化を図り、画面1ラインの画素データを1行のメモリセルに格納して行方向に整列する複数の画像ブロックに対して並列に処理を実行する。しかしながら、この画像ブロックは、たとえば8画素×8画素のブロックであり、また、1画素が一例として8ビットデータである。画素データは、ビットパラレルかつワードシリアルに、1画素ずつ順次転送されて、8画素ずつ配列が変換されて、ワードパラレルかつビットシリアルなデータ列に変換されてメモリアレイに格納される。したがって、画像の高精細化のために画素数が増大した場合、演算対称のブロック数が増大し、一般にマクロブロックと呼ばれる演算対象ブロックのラインに含まれるマクロブロックの数が増大する。したがって、たとえマクロブロックラインごとに演算処理を行なう場合においても、その画素数が増大するため、応じて、メモリセルアレイとの間での画素データの転送に長時間を要し、高速処理を行なうことができなくなる。   Further, in the configuration shown in Patent Document 2, a plurality of images are arranged in which pixel data of one line of the screen is stored in one row of memory cells and aligned in the row direction in order to speed up processing such as DCT conversion of image data. Perform processing on blocks in parallel. However, this image block is, for example, a block of 8 pixels × 8 pixels, and one pixel is 8-bit data as an example. Pixel data is sequentially transferred pixel by bit in bit parallel and word serial, the array is converted by 8 pixels, converted to a word parallel and bit serial data string, and stored in a memory array. Therefore, when the number of pixels is increased for higher definition of the image, the number of operation-symmetric blocks increases, and the number of macroblocks included in the line of the operation target block generally called a macroblock increases. Therefore, even when arithmetic processing is performed for each macroblock line, the number of pixels increases. Accordingly, it takes a long time to transfer pixel data to and from the memory cell array, and high-speed processing is performed. Can not be.

また、特許文献2においては、メモリセルアレイのブロックに対応して演算回路を配置し、積和演算処理を実行する構成が示されているものの、その演算態様は、ワードシリアルかつビットパラレルな態様で実行されており、データビット幅が変更される場合、演算器のビット幅も変更する必要が生じ、回路構成を設計する必要が生じる。従って、ある特定のフォーマットの画素データの処理のように、画素データのビット幅が固定される場合には、メモリセルアレイの画素データ格納領域および演算器の演算処理ビット幅を固定的に設定して演算処理を実行することができる。しかしながら、複数種類のフォーマットにおいて、画素データのビット幅が異なる場合、この特許文献2に示される構成では、柔軟に対応することができなくなり、その用途が固定的に設定され汎用性にかけるという問題が生じる。   Further, Patent Document 2 discloses a configuration in which arithmetic circuits are arranged corresponding to blocks of a memory cell array and product-sum arithmetic processing is executed. However, the arithmetic mode is a word serial and bit parallel mode. If the data bit width is changed and the data bit width is changed, the bit width of the arithmetic unit needs to be changed, and the circuit configuration needs to be designed. Therefore, when the bit width of the pixel data is fixed as in processing of pixel data of a specific format, the pixel data storage area of the memory cell array and the arithmetic processing bit width of the arithmetic unit are fixedly set. Arithmetic processing can be executed. However, when the bit widths of pixel data are different in a plurality of types of formats, the configuration disclosed in Patent Document 2 cannot flexibly cope with the problem, and the application is fixedly set and versatile. Occurs.

また、演算対象データを転送するバス幅が、たとえば32ビットの場合、ある用途において演算処理対象のデータが8ビットデータの場合、効率的なデータ転送には、8ビットデータワードを4つ並列に転送することが考えられる。上述の特許文献2に示されるデータ配列変換方式を適用する場合、1回のバスアクセスサイクルで転送される4ワードデータを単位として、データ配列変換が行なわれる。したがって、A0−A3、B0−B3、C0−C3およびD0−D3を各々8ビットデータとした場合、1回目の転送時に4ワードデータA0−A3が転送され、次いでデータB0−B3が転送され、次いでデータC0−C3が転送され、そして、4ワードデータD0−D3が転送されたとき、データ配列の変換が行なわれる。変換前後の1回の転送データのビット幅は同一である。したがって、この場合、4ワードデータ全体のデータ配列の変換であり、変換後のデータ列においては、データA0、B0、C0およびD0が並列にビットシリアル態様で転送され、データ列A0−A3をビットシリアル態様で並列に転送することができず、所望の演算処理を実現することができなくなる。   Further, when the bus width for transferring the operation target data is 32 bits, for example, when the data to be processed is 8 bit data in a certain application, four 8-bit data words are arranged in parallel for efficient data transfer. It is possible to transfer. When the data array conversion method disclosed in Patent Document 2 described above is applied, data array conversion is performed in units of 4 word data transferred in one bus access cycle. Therefore, when A0-A3, B0-B3, C0-C3 and D0-D3 are each 8-bit data, 4 word data A0-A3 is transferred at the first transfer, and then data B0-B3 is transferred. Next, data C0-C3 is transferred, and when 4-word data D0-D3 is transferred, the data array is converted. The bit width of one transfer data before and after conversion is the same. Therefore, in this case, the data array of the entire 4-word data is converted. In the converted data string, the data A0, B0, C0 and D0 are transferred in parallel in a bit-serial manner, and the data string A0-A3 is converted into bits. The data cannot be transferred in parallel in a serial manner, and the desired arithmetic processing cannot be realized.

それゆえ、この発明の目的は、演算対象のデータのビット幅にかかわらず、効率的に、データ配列変換を行なうことのできる直交変換回路を提供することである。   SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide an orthogonal transform circuit that can efficiently perform data array conversion regardless of the bit width of data to be calculated.

この発明の他の目的は、データビット幅にかかわらず、データ転送がオーバーヘッドとならず、高速で演算処理を実行することのできる信号処理装置に適した直交変換回路を提供することである。   Another object of the present invention is to provide an orthogonal transform circuit suitable for a signal processing apparatus capable of executing arithmetic processing at high speed without causing data transfer to be overhead regardless of the data bit width.

この発明に係る直交変換回路装置は、各々が第1の方向に延在しかつ複数のメモリセルを含む複数のエントリを備えるメモリと、第1のバス上を転送されるデータのビット幅情報に従って、この第1のバスとメモリとの間のデータ転送経路を設定し、該設定された経路に従ってデータを転送する転送経路設定回路と、第2のバスとメモリの複数のエントリの第2の方向において整列するビットとの間で並列にデータを転送するデータ転送回路を備える。
前記データ転送経路設定回路は、前記有効ビット幅情報が、前記第1のバス上を転送される単位データのビット幅が前記第1のバスのビット幅よりも小さいことを示すとき、前記メモリの複数のエントリの同一領域との間でデータを転送するようにデータ転送経路を設定する。
前記データ転送回路は、前記ビット幅情報が前記第1のバスのビット幅よりも前記第1のバスを転送されるデータのビット幅が小さいことを示すとき、前記エントリ数を拡張して前記メモリと前記第2のバスの間でデータを転送する。
According to the orthogonal transform circuit device of the present invention, a memory having a plurality of entries each extending in a first direction and including a plurality of memory cells, and bit width information of data transferred on the first bus , Setting a data transfer path between the first bus and the memory, transferring a data according to the set path, and a second direction of the second bus and the plurality of memory entries And a data transfer circuit for transferring data in parallel with the aligned bits.
The data transfer path setting circuit, when the effective bit width information indicates that the bit width of the unit data transferred on the first bus is smaller than the bit width of the first bus, A data transfer path is set to transfer data to and from the same area of a plurality of entries.
When the bit width information indicates that the bit width of the data transferred through the first bus is smaller than the bit width of the first bus, the data transfer circuit expands the number of entries to increase the number of entries. And the second bus.

データ転送経路設定回路により、第1のバス上を転送されるデータのビット幅に応じてメモリとの間のデータ転送経路を切換え、メモリのエントリとの間でデータを転送する。したがって、第1のバスのバス幅が転送データのビット幅と同じときには、メモリのエントリとの間で順次データ転送を行ない、また、転送データのビット幅が第1のバスのバス幅よりも小さいときには、第1のバス上に複数のデータを並列に転送し、メモリの複数のエントリとの間で転送を転送する。第1のバスのバス線をフルに利用してデータ転送を行なうことができ、第1のバスのデータ転送能力を十分に利用することができ、転送データのビット幅にかかわらず、効率的なデータ転送を実現することができる。   The data transfer path setting circuit switches the data transfer path to and from the memory according to the bit width of the data transferred on the first bus, and transfers the data to and from the memory entry. Therefore, when the bus width of the first bus is the same as the bit width of the transfer data, data transfer is sequentially performed with the memory entries, and the bit width of the transfer data is smaller than the bus width of the first bus. Sometimes, a plurality of data is transferred in parallel on the first bus, and the transfer is transferred between a plurality of entries in the memory. Data transfer can be performed by fully utilizing the bus line of the first bus, the data transfer capability of the first bus can be fully utilized, and efficient regardless of the bit width of the transfer data. Data transfer can be realized.

また、データ転送回路は、メモリの複数のエントリの同一位置のデータ転送を行なっており、第1のバスから転送されたデータは、ビット幅にかかわらず、ワードパラレルかつビットシリアルな態様で転送される。したがって、第1のバスと第2のバスをそれぞれ転送されるデータの配列をビット幅にかかわらず効率的に変換することができる。   The data transfer circuit transfers data at the same position in a plurality of memory entries, and the data transferred from the first bus is transferred in a word parallel and bit serial manner regardless of the bit width. The Therefore, the arrangement of data transferred through the first bus and the second bus can be efficiently converted regardless of the bit width.

この直交変換回路を、メモリ(演算メモリ)と演算器が集積化された信号処理装置内に実装することにより、直交変換回路と演算用メモリとの間でエントリパラレルかつビットシリアルな態様でデータを転送することができ、信号処理装置において効率的にデータ転送を行なうことができ、データ転送が演算処理の高速化に対するボトルネックとなるのを回避することができ、高速の演算処理を実現することができる。   By mounting this orthogonal transform circuit in a signal processing device in which a memory (arithmetic memory) and an arithmetic unit are integrated, data can be transferred between the orthogonal transform circuit and the arithmetic memory in an entry parallel and bit serial manner. It is possible to transfer data efficiently in a signal processing device, and it is possible to avoid data transfer from becoming a bottleneck for high-speed arithmetic processing, and to realize high-speed arithmetic processing Can do.

[実施の形態1]
図1は、この発明に従う直交変換回路が適用される信号処理システムの全体構成を概略的に示す図である。図1において、信号処理システム1は、各種処理を実行する演算機能を実現するシステムLSI2と、システムLSI2と外部システムバス3を介して接続される外部メモリとを含む。この外部メモリは、大容量メモリ4と、高速メモリ5と、システム立上げ時の命令などの固定情報を格納する読出専用メモリ(リード・オンリ・メモリ:ROM)6を含む。大容量メモリ4は、たとえばクロック同期型ダイナミック・ランダム・アクセス・メモリ(SDRAM)で構成され、高速メモリ5は、たとえばスタティック・ランダム・アクセス・メモリ(SRAM)で構成される。
[Embodiment 1]
FIG. 1 is a diagram schematically showing an overall configuration of a signal processing system to which an orthogonal transform circuit according to the present invention is applied. In FIG. 1, the signal processing system 1 includes a system LSI 2 that realizes an arithmetic function for executing various processes, and an external memory connected to the system LSI 2 via an external system bus 3. The external memory includes a large-capacity memory 4, a high-speed memory 5, and a read-only memory (read-only memory: ROM) 6 that stores fixed information such as instructions at the time of system startup. The large-capacity memory 4 is composed of, for example, a clock synchronous dynamic random access memory (SDRAM), and the high-speed memory 5 is composed of, for example, a static random access memory (SRAM).

システムLSI2は、内部システムバス7に並列に結合される基本演算ブロックFB1−FBhと、内部システムバス7に結合され、これらの基本演算ブロックFB1−FBhの処理動作を制御するホストCPU8と、信号処理システム1の外部からの入力信号INを内部処理用データに変換する入力ポート9と、内部システムバス7から与えられた出力データを受けてシステム外部へ転送される出力信号OUTを生成する出力ポート10を含む。これらの入力ポート9および出力ポート10は、たとえばライブラリ化されたIP(インテレクチュアル プロパティ:Intellectual Property)ブロックで構成され、データ/信号の入出力に必要な機能を実現する。   The system LSI 2 includes basic arithmetic blocks FB1 to FBh coupled in parallel to the internal system bus 7, a host CPU 8 coupled to the internal system bus 7 and controlling processing operations of these basic arithmetic blocks FB1 to FBh, and signal processing. An input port 9 that converts an input signal IN from the outside of the system 1 into data for internal processing, and an output port 10 that receives the output data given from the internal system bus 7 and generates an output signal OUT that is transferred to the outside of the system including. These input port 9 and output port 10 are constituted by, for example, a library IP (Intellectual Property) block, and realize functions necessary for data / signal input / output.

システムLSI2は、さらに、基本演算ブロックFB1−FBhからの割込信号を受け、ホストCPU8に対して割込を通知する割込コントローラ11と、ホストCPU8の各処理に必要な制御動作を行なうCPU周辺12と、基本演算ブロックFB1−FBhからの転送要求に従って外部メモリに対するデータ転送を行なうDMA(ダイレクト・メモリ・アクセス)コントローラ13と、ホストCPU8またはDMAコントローラ13からの指示に従って外部システムバス3に接続されるメモリ4−6に対するアクセス制御を行なう外部バスコントローラ14と、ホストCPU8のデータ処理を補助する専用ロジック15を含む。   The system LSI 2 further receives an interrupt signal from the basic operation blocks FB1 to FBh, notifies the host CPU 8 of the interrupt, and a CPU peripheral that performs a control operation necessary for each processing of the host CPU 8. 12, a DMA (direct memory access) controller 13 for transferring data to the external memory in accordance with a transfer request from the basic operation blocks FB1-FBh, and an external system bus 3 in accordance with an instruction from the host CPU 8 or the DMA controller 13. The external bus controller 14 that performs access control to the memory 4-6 and the dedicated logic 15 that assists the data processing of the host CPU 8 are included.

CPU周辺12は、タイマおよびシリアルIO(入出力)などのホストCPU8におけるプログラムおよびデバッグの用途に必要な機能を有する。専用ロジック15は、たとえばIPブロックで構成され、既存の機能ブロックを用いて必要な処理機能を実現する。これらの機能ブロック9−15は、並列に、内部システムバス7に接続される。また、DMAコントローラ13には、基本演算ブロックFB1−FBhからのDMA要求信号が与えられる。   The CPU peripheral 12 has functions necessary for program and debugging purposes in the host CPU 8 such as a timer and serial IO (input / output). The dedicated logic 15 is configured by, for example, an IP block, and implements a necessary processing function using an existing function block. These functional blocks 9-15 are connected to the internal system bus 7 in parallel. The DMA controller 13 is given a DMA request signal from the basic operation blocks FB1-FBh.

基本演算ブロックFB1−FBhは、同一構成を有するため、図1においては、基本演算ブロックFB1の構成を代表的に示す。   Since basic operation blocks FB1-FBh have the same configuration, FIG. 1 representatively shows the configuration of basic operation block FB1.

基本演算ブロックFB1は、実際のデータの演算処理を行なう主演算回路20と、主演算回路20における演算処理を指定するマイクロ命令を格納するマイクロ命令メモリ21と、マイクロ命令メモリ21からのマイクロ命令に従って主演算回路20の演算処理を制御するコントローラ22と、コントローラ22の中間処理データまたは作業用データを格納するワークデータメモリ23と、基本演算ブロックFB1の内部と内部システムバス7との間でのデータ/信号の転送を行なうシステムバスインターフェイス(I/F)24を含む。   The basic arithmetic block FB1 is in accordance with a main arithmetic circuit 20 that performs arithmetic processing of actual data, a microinstruction memory 21 that stores microinstructions that specify arithmetic processing in the main arithmetic circuit 20, and a microinstruction from the microinstruction memory 21. Data between the controller 22 that controls the arithmetic processing of the main arithmetic circuit 20, the work data memory 23 that stores intermediate processing data or work data of the controller 22, and the internal arithmetic bus FB1 and the internal system bus 7 A system bus interface (I / F) 24 that performs signal transfer is included.

主演算回路20は、複数のメモリセルが行列状に配列されかつ複数のエントリに分割されるメモリセルマット30と、メモリセルマット30の各エントリに対応して配置され、指定された演算処理を行なう演算器(ALU)31と、演算器31間のデータ転送経路を設定するALU間相互接続用スイッチ回路32を含む。   The main arithmetic circuit 20 has a memory cell mat 30 in which a plurality of memory cells are arranged in a matrix and divided into a plurality of entries, and is arranged corresponding to each entry of the memory cell mat 30, and performs a specified arithmetic processing. An arithmetic unit (ALU) 31 to perform and an inter-ALU interconnection switch circuit 32 for setting a data transfer path between the arithmetic units 31 are included.

基本的に、メモリセルマット30の各行が1エントリを構成し、1エントリに多ビットデータの各ビットが格納される。   Basically, each row of the memory cell mat 30 constitutes one entry, and each bit of multi-bit data is stored in one entry.

演算器(以下、適宜、ALUと称す)31は、対応のエントリからのデータをビットシリアルに受けて演算処理を行ない、該処理結果をメモリセルマット30の指定されたエントリ(たとえば対応のエントリ)の所定の位置に格納する。   An arithmetic unit (hereinafter referred to as ALU as appropriate) 31 receives the data from the corresponding entry in bit serial and performs arithmetic processing, and the processing result is assigned to a specified entry (for example, corresponding entry) in the memory cell mat 30. Stored in a predetermined position.

ALU間相互接続用スイッチ回路32により、ALU31の接続経路が切換えられ、異なるエントリのデータの演算を可能とする。各エントリに異なるデータを格納し、ALU31により並列演算処理を行なうことにより、高速にデータ処理を行なうことができる。   The connection path of the ALU 31 is switched by the inter-ALU interconnection switch circuit 32, so that data of different entries can be calculated. By storing different data in each entry and performing parallel arithmetic processing by the ALU 31, data processing can be performed at high speed.

コントローラ22は、マイクロ命令メモリ21に格納されるマイクロ命令に従ってマイクロプログラム方式に従った動作を行なう。マイクロプログラム動作に必要なワークデータが、ワークデータメモリ23に格納される。   The controller 22 performs an operation in accordance with the microprogram method in accordance with the microinstruction stored in the microinstruction memory 21. Work data necessary for the microprogram operation is stored in the work data memory 23.

システムバスI/F24により、ホストCPU8またはDMAコントローラ13が、メモリセルマット30、コントローラ22内の専用レジスタ、マイクロ命令メモリ21およびワークデータメモリ23へアクセスすることが可能となる。   The system bus I / F 24 allows the host CPU 8 or the DMA controller 13 to access the memory cell mat 30, the dedicated register in the controller 22, the microinstruction memory 21 and the work data memory 23.

システムバスI/F24と主演算回路20の間に、与えられたデータ列の並べ替えを行なう直交変換回路85と、システムバスI/F24および直交変換回路85の一方と主演算回路20との間を接続する切換回路(MUX)87が設けられる。   An orthogonal transform circuit 85 that rearranges a given data string between the system bus I / F 24 and the main arithmetic circuit 20, and between one of the system bus I / F 24 and the orthogonal transform circuit 85 and the main arithmetic circuit 20. Is provided with a switching circuit (MUX) 87.

この直交変換回路85は、システムバスI/F24からビットパラレルかつワードシリアルな態様で転送されるデータを、ワードパラレルかつビットシリアルな態様で転送して、メモリセルマット30の各エントリに異なるデータワードを同一位置のビット並列に書込む。また、この直交変換回路85は、主演算回路20のメモリセルマット30からワードパラレルかつビットシリアルに転送されるデータ列を転置して、ビットパラレルかつワードシリアルな態様で転送する。これにより、システムバスI/F24とメモリセルマット30におけるデータ転送の整合性を確立する。   This orthogonal transform circuit 85 transfers data transferred from the system bus I / F 24 in a bit parallel and word serial manner in a word parallel and bit serial manner, and a different data word is assigned to each entry of the memory cell mat 30. Are written in bit parallel at the same position. Further, the orthogonal transform circuit 85 transposes a data string transferred in word parallel and bit serial from the memory cell mat 30 of the main arithmetic circuit 20 and transfers it in a bit parallel and word serial manner. Thereby, the consistency of data transfer between the system bus I / F 24 and the memory cell mat 30 is established.

ここで、ビットシリアルは1つのデータワードを構成するビットが順次転送または処理される態様を示し、ビットパラレルは、1つのデータワードを構成するビットが並列に転送または処理される態様を示す。また、エントリ(またはワード)パラレルは、複数のエントリ(またはワード)が並列に転送または処理される態様を示し、エントリ(またはワード)シリアルは、複数のエントリ(またはワード)が順次転送または処理される態様を示す。   Here, the bit serial indicates a mode in which bits constituting one data word are sequentially transferred or processed, and the bit parallel indicates a mode in which bits constituting one data word are transferred or processed in parallel. The entry (or word) parallel indicates a mode in which a plurality of entries (or words) are transferred or processed in parallel, and the entry (or word) serial indicates that a plurality of entries (or words) are sequentially transferred or processed. An embodiment is shown.

ビットシリアルかつワードパラレルなデータ列とビットパラレルかつワードシリアルなデータ列の間の変換を、「直交変換」と規定する。   Conversion between a bit serial and word parallel data sequence and a bit parallel and word serial data sequence is defined as “orthogonal transformation”.

切換回路87は、コントローラ22からのワークデータを選択して主演算回路20に転送するように構成されてもよい。この場合、ワークデータメモリ23は不要となる。また、演算対象データ列を直交変換により転置する必要のない場合には、切換回路87は、システムバスI/F24を選択して主演算回路20に接続する。   The switching circuit 87 may be configured to select work data from the controller 22 and transfer it to the main arithmetic circuit 20. In this case, the work data memory 23 becomes unnecessary. Further, when it is not necessary to transpose the operation target data string by orthogonal transformation, the switching circuit 87 selects the system bus I / F 24 and connects it to the main arithmetic circuit 20.

信号処理システム全体の処理動作ならびに主演算回路20の構成および処理動作については、既に、同一出願人が特願2004−358719号および特願2004−282014号として出願し、これらの先願明細書中に詳細に説明されているものの、以下において、本発明に従う直交変換回路の作用効果を十分に理解するために、この主演算回路20の構成および動作について簡単に説明する。   Regarding the processing operation of the entire signal processing system and the configuration and processing operation of the main arithmetic circuit 20, the same applicant has already filed as Japanese Patent Application Nos. 2004-358719 and 2004-282014. However, in order to fully understand the operation and effect of the orthogonal transform circuit according to the present invention, the configuration and operation of the main arithmetic circuit 20 will be briefly described below.

図2は、図1に示す主演算回路20のメモリセルマット30および演算器(ALU)31の配置を概略的に示す図である。メモリセルマット30においては、メモリセルMCが行列状に配列され、M個のエントリERYに分割される。エントリERYは、Nビットのビット幅を有する。このメモリセルマット30におていは、M個のエントリERYに共通にワード線WLが配設され、1つのエントリERYに対してビット線対BLPが配列され、このビット線対BLPのビット線BLおよび/BLがデータ転送線として利用される。   FIG. 2 schematically shows an arrangement of memory cell mat 30 and arithmetic unit (ALU) 31 of main arithmetic circuit 20 shown in FIG. In memory cell mat 30, memory cells MC are arranged in a matrix and divided into M entries ERY. The entry ERY has a bit width of N bits. In this memory cell mat 30, a word line WL is provided in common to M entries ERY, a bit line pair BLP is arranged for one entry ERY, and a bit line BL of this bit line pair BLP is arranged. And / BL are used as data transfer lines.

演算器(ALU)31は、エントリERYそれぞれに対応して設けられ、演算処理ユニット35を構成する。演算器31は、加算、論理積、一致検出(EXOR)、および反転(NOT)などの演算を実行することができる。各エントリERYと対応の演算器31の間でデータのロードおよびストアを行なって演算処理を実行する。演算器31の演算内容は、図1に示すコントローラ22により設定される。   An arithmetic unit (ALU) 31 is provided corresponding to each entry ERY and constitutes an arithmetic processing unit 35. The computing unit 31 can perform operations such as addition, logical product, coincidence detection (EXOR), and inversion (NOT). Data is loaded and stored between each entry ERY and the corresponding arithmetic unit 31 to execute arithmetic processing. The calculation contents of the calculator 31 are set by the controller 22 shown in FIG.

エントリERYには、それぞれ演算処理対象のデータが格納され、演算器31は、ビットシリアル態様で演算処理を実行する。演算処理ユニット35においては、したがって、ビットシリアルかつエントリパラレルな態様でデータの演算処理が実行される。   Each entry ERY stores data to be subjected to arithmetic processing, and the arithmetic unit 31 executes arithmetic processing in a bit serial manner. Therefore, the arithmetic processing unit 35 executes data arithmetic processing in a bit serial and entry parallel manner.

演算処理ユニット35においてビットシリアルな態様で演算処理を実行することにより、演算対象のデータのビット幅が用途に応じて異なる場合においても、単に演算サイクル数がデータワードのビット幅に応じて変更されるだけであり、その処理内容は変更されず、語構成の異なるデータ処理に対しても、容易に対応することができる。   By executing arithmetic processing in a bit serial manner in the arithmetic processing unit 35, the number of arithmetic cycles is simply changed according to the bit width of the data word even when the bit width of the data to be calculated differs depending on the application. However, the processing content is not changed, and it is possible to easily cope with data processing with different word configurations.

また、複数のエントリERYのデータを演算処理ユニット35において並行して処理することができ、エントリ数Mを大きくすることにより、大量のデータを一括して演算処理することができる。一例として、エントリ数Mは1024であり、1エントリERYのビット幅Nは、512ビットである。   Further, data of a plurality of entries ERY can be processed in parallel in the arithmetic processing unit 35, and a large amount of data can be arithmetically processed at once by increasing the number of entries M. As an example, the number of entries M is 1024, and the bit width N of one entry ERY is 512 bits.

メモリセルMCは、SRAM(スタティック・ランダム・アクセス・メモリ)セルで構成され、高速アクセスを行なってデータの転送を行なうことができる。また、データの定期的なリフレッシュは不要であり、メモリセルマット30のデータに対する演算処理の制御を簡略化することができる。   Memory cell MC is formed of an SRAM (Static Random Access Memory) cell and can perform data transfer by performing high speed access. Further, it is not necessary to periodically refresh the data, and the control of the arithmetic processing for the data in the memory cell mat 30 can be simplified.

この主演算回路20において演算を行なう場合には、まず、エントリERYそれぞれに演算対称データが格納される。次いで、格納されたデータのある桁のビットをすべてのエントリERYについて並列に読出し、対応の演算器31へ転送する(ロードする)。すなわち、ワード線WLを選択状態へ駆動することにより、選択ワード線に接続されるメモリセルMCのデータが対応のビット線対BLP上に読出され、この読出されたデータが対応の演算器31へ転送される。   When the main arithmetic circuit 20 performs an operation, first, operation symmetric data is stored in each entry ERY. Next, a certain digit of the stored data is read in parallel for all the entries ERY and transferred (loaded) to the corresponding arithmetic unit 31. That is, by driving the word line WL to the selected state, the data of the memory cell MC connected to the selected word line is read onto the corresponding bit line pair BLP, and the read data is transferred to the corresponding arithmetic unit 31. Transferred.

二項演算を行なう場合には、エントリERYそれぞれにおいて、二項演算の組のデータが格納され、1つのデータワードのビットが転送された後、別のデータワードのビットに対し同様の転送動作を行なう。この後、演算器31各々が、二項演算を行ない、この演算処理結果が、演算器31から対応のエントリERY内の所定領域に再書込(ストア)される。   When performing a binary operation, in each entry ERY, data of a set of binary operations is stored, and after a bit of one data word is transferred, a similar transfer operation is performed on the bit of another data word. Do. Thereafter, each arithmetic unit 31 performs a binary operation, and the arithmetic processing result is rewritten (stored) from the arithmetic unit 31 to a predetermined area in the corresponding entry ERY.

図3は、図2に示す主演算回路20における演算操作の一例を示す図である。この図3においては、2ビット幅のデータワードaおよびbの加算を行なって、データワードcを生成する。エントリERYの各々には、演算対象の組をなすデータワードaおよびbがともに格納される。   FIG. 3 is a diagram showing an example of the arithmetic operation in the main arithmetic circuit 20 shown in FIG. In FIG. 3, data words a and b having a 2-bit width are added to generate data word c. In each entry ERY, data words a and b forming a set to be calculated are stored.

図3において、第1行目のエントリERYに対する演算器31においては、10B+01Bの加算が行なわれ、2行目のエントリERYに対する演算器31においては、00B+11Bの演算が行なわれる。ここで、“B”は、2進数を示す。3行目のエントリERYに対する演算器31においては、11B+10Bの加算が行なわれる。以下、同様に、エントリERYそれぞれに格納されたデータワードaおよびbの加算演算が実行される。   In FIG. 3, the calculator 31 for the entry ERY in the first row adds 10B + 01B, and the calculator 31 for the entry ERY in the second row calculates 00B + 11B. Here, “B” indicates a binary number. The calculator 31 for the entry ERY in the third row adds 11B + 10B. Thereafter, similarly, an addition operation of the data words a and b stored in each entry ERY is executed.

演算は、下位側ビットから順にビットシリアル態様で行なわれる。まず、各エントリERYにおいてデータワードaの下位ビットa[0]を対応の演算器(ALU)31へ転送する。次いで、データワードbの下位ビット[0]を対応の演算器31へ転送する。演算器31においては、それぞれ、与えられた2ビットデータを用いて加算演算を行なう。この加算演算結果a[0]+b[0]は、データワードcの下位ビットc[0]の位置に書込まれる(ストアされる)。たとえば、第1行目のエントリERYにおいては、ビット“1”が、c[0]の位置に書込まれる。   The calculation is performed in a bit serial manner in order from the lower bit. First, the lower bit a [0] of the data word a is transferred to the corresponding arithmetic unit (ALU) 31 in each entry ERY. Next, the lower bit [0] of the data word b is transferred to the corresponding computing unit 31. Each of the arithmetic units 31 performs an addition operation using the given 2-bit data. This addition operation result a [0] + b [0] is written (stored) at the position of the lower bit c [0] of the data word c. For example, in the entry ERY in the first row, bit “1” is written at the position of c [0].

この加算処理が、次いで上位ビットa[1]およびb[1]に対しても行なわれ、その加算結果a[1]+b[1]が、ビットc[1]の位置に書込まれる。   This addition process is also performed for the upper bits a [1] and b [1], and the addition result a [1] + b [1] is written at the position of bit c [1].

加算演算によっては、桁上がりが生じ可能性があり、この桁上がり(キャリー)の値が、ビットc[2]の位置に書込まれる。これにより、データワードaおよびbの加算がすべてのエントリERYにおいて完了し、その結果がデータcとしてエントリERY各々において格納される。1024個のエントリが設けられる場合、1024組のデータの加算を並列に実行することができる。   Depending on the addition operation, a carry may occur, and the carry value is written in the position of bit c [2]. Thereby, the addition of the data words a and b is completed in all the entries ERY, and the result is stored as data c in each entry ERY. When 1024 entries are provided, the addition of 1024 sets of data can be performed in parallel.

図4は、この二項加算演算時のデータビットの流れを模式的に示す図である。図4においては、第i桁および第(i+1)桁のビットに対する演算操作時のデータビットの流れを示す。この図4に示すように、メモリセルマット30において、まずビットa[i]およびb[i]が、それぞれ第kサイクルおよび第(k+1)サイクルにおいて読出され(Read)、演算器(ALU)31へ転送される。   FIG. 4 is a diagram schematically showing the flow of data bits during the binary addition operation. FIG. 4 shows the flow of data bits during an arithmetic operation on the i-th and (i + 1) -th bits. As shown in FIG. 4, in memory cell mat 30, first, bits a [i] and b [i] are read (Read) in the k-th cycle and (k + 1) -th cycle, respectively, and an arithmetic unit (ALU) 31 is read. Forwarded to

次の第(k+1)サイクルにおいて、演算器31の加算操作(ADD)に移行し、次のサイクル(k+3)において演算結果c[i]を書込む(Write)。次いで、次のサイクル(k+4)から第(k+7)において、ビットa[i+1]およびb[i+1]の逐次読出、加算操作および加算結果c[i+1]の書込が実行される。   In the next (k + 1) cycle, the operation shifts to the addition operation (ADD) of the calculator 31 and the calculation result c [i] is written in the next cycle (k + 3) (Write). Next, in the next cycle (k + 4) to (k + 7), sequential reading of bits a [i + 1] and b [i + 1], addition operation, and writing of the addition result c [i + 1] are executed.

この図4に示すように、メモリセルマット30と演算器31との間でのデータビットの転送に、それぞれ1マシンサイクル必要とされ、また、演算器31において1マシンサイクルの演算サイクルが必要とされる構成の場合、2ビットデータの加算および加算結果の格納を行なうために、4マシンサイクルが必要となる。すなわち、演算処理データの各桁当たり、4マシンサイクル必要となる。   As shown in FIG. 4, one machine cycle is required for each data bit transfer between the memory cell mat 30 and the computing unit 31, and the computing unit 31 requires one machine cycle. In the case of the configuration, 4 machine cycles are required to add 2-bit data and store the addition result. That is, 4 machine cycles are required for each digit of the arithmetic processing data.

しかしながら、メモリセルマット30を複数のエントリERYに分割し、各エントリERYに演算対象データの組をそれぞれ格納し、対応の演算器(ALU)31においてビットシリアル態様で演算処理を行なう構成とすることにより、以下の特長が実現される。すなわち、1つ1つのデータの演算には比較的多くのマシンサイクルが必要とされるものの、処理すべきデータ量が非常に多い場合には、演算の並列度を高くすることにより、高速データ処理を実現することができる。また、ビットシリアル態様で演算処理を行なっており、処理されるデータのビット幅は固定されないため、種々のデータ構成を有するアプリケーションに容易に適応することができる。   However, the memory cell mat 30 is divided into a plurality of entries ERY, a set of data to be calculated is stored in each entry ERY, and a calculation process is performed in a bit-serial manner in a corresponding arithmetic unit (ALU) 31. The following features are realized. In other words, each data operation requires a relatively large number of machine cycles, but if the amount of data to be processed is very large, high-speed data processing is achieved by increasing the parallelism of the operations. Can be realized. In addition, since the arithmetic processing is performed in the bit serial mode and the bit width of the processed data is not fixed, it can be easily adapted to applications having various data configurations.

図5は、主演算回路20の具体的構成の一例を示す図である。主演算回路20において、メモリセルマット30に配列されるメモリセルMCは、シングルポートSRAMセルである。図の垂直方向に整列するメモリセルそれぞれに対応してワード線WLが配置され、各エントリに対応してビット線対BLPが配置される。メモリセルMCは、これらのビット線対BLPとワード線WLの交差部に対応して配置される。1つのワード線WLには、エントリERY0−ERY(M−1)の同一位置に配置されるメモリセルMCが接続される。エントリERY0−ERY(M−1)ごとに対して配置されるビット線対BLP0−BLP(M−1)においては、対応のエントリのメモリセルが接続される。   FIG. 5 is a diagram illustrating an example of a specific configuration of the main arithmetic circuit 20. In the main arithmetic circuit 20, the memory cells MC arranged in the memory cell mat 30 are single port SRAM cells. A word line WL is arranged corresponding to each memory cell aligned in the vertical direction in the figure, and a bit line pair BLP is arranged corresponding to each entry. Memory cell MC is arranged corresponding to the intersection of bit line pair BLP and word line WL. One word line WL is connected to memory cells MC arranged at the same position in entries ERY0 to ERY (M−1). In bit line pairs BLP0-BLP (M-1) arranged for entries ERY0-ERY (M-1), the memory cells of the corresponding entries are connected.

このメモリセルマット30のワード線WLに対して、コントローラ22または直交変換回路85からのアドレス信号に従って、演算対象のデータビットが接続されるワード線WLを選択状態へ駆動するロウデコーダ74が設けられる。このロウデコーダ74により、エントリERY0−ERY(M−1)において同一位置のデータビットを並行して選択する。   A row decoder 74 is provided for driving the word line WL to which the operation target data bit is connected to the selected state in accordance with an address signal from the controller 22 or the orthogonal transform circuit 85 for the word line WL of the memory cell mat 30. . The row decoder 74 selects the data bits at the same position in the entries ERY0 to ERY (M-1) in parallel.

演算処理ユニット35においては、演算器(ALU)31がビット線対BLP0−BLP(M−1)に対応して配置される。   In the arithmetic processing unit 35, an arithmetic unit (ALU) 31 is arranged corresponding to the bit line pair BLP0-BLP (M-1).

この演算処理ユニット35とメモリセルマット30との間に、データのロード/ストアを行なうための読出/書込回路が設けられる。この読出/書込回路38は、ビット線対BLP0からBLP(M−1)各々に対応して設けられるセンスアンプおよびライトドライバをそれぞれ含むセンスアンプ部70とライトドライバ群72を含む。   A read / write circuit for loading / storing data is provided between arithmetic processing unit 35 and memory cell mat 30. Read / write circuit 38 includes a sense amplifier unit 70 and a write driver group 72 each including a sense amplifier and a write driver provided corresponding to each of bit line pairs BLP0 to BLP (M-1).

読出/書込回路38に対して、直交変換回路85と内部メモリバス77を介してデータの授受を行なう入出力回路76が設けられる。この入出力回路76により、メモリセルマット30と内部メモリバス77との間でのデータ転送が行なわれる。この入出力回路76のデータの入出力ビット幅は、システムバスI/F24が転送するデータのビット幅以上の値に設定される。   An input / output circuit 76 for transmitting / receiving data to / from the read / write circuit 38 via the orthogonal transform circuit 85 and the internal memory bus 77 is provided. The input / output circuit 76 transfers data between the memory cell mat 30 and the internal memory bus 77. The input / output bit width of data of the input / output circuit 76 is set to a value equal to or larger than the bit width of data transferred by the system bus I / F 24.

入出力回路76におけるデータビット幅と1つのワード線WLに接続されるエントリのビット幅(M)との調整を行なうために、カラムデコーダ78が設けられる。このカラムデコーダ78からの列選択線CLにより、直交変換回路85は転送データビット幅に応じた数のビット線対(センスアンプまたはライトドライバ)が選択される。このカラムデコーダ78にはコントローラ22または直交変換回路85からのエントリアドレスが与えられる。コラムデコーダ78に与えられるアドレスのビット数は、直交変換回路85との間で転送されるデータのビット幅に応じて適切に定められる。   A column decoder 78 is provided to adjust the data bit width in the input / output circuit 76 and the bit width (M) of an entry connected to one word line WL. By the column selection line CL from the column decoder 78, the orthogonal transformation circuit 85 selects the number of bit line pairs (sense amplifier or write driver) corresponding to the transfer data bit width. The column decoder 78 is given an entry address from the controller 22 or the orthogonal transform circuit 85. The number of bits of the address given to the column decoder 78 is appropriately determined according to the bit width of the data transferred to and from the orthogonal transform circuit 85.

列選択線CLにより選択されたエントリが入出力回路76に接続され、直交変換回路85との間で内部メモリバスを介してデータの転送が行なわれる。   The entry selected by the column selection line CL is connected to the input / output circuit 76, and data is transferred to and from the orthogonal transformation circuit 85 via the internal memory bus.

図5に示すように、ロウデコーダ74により、エントリERY0−ERY(M−1)が選択され、この選択されたエントリの所定数のエントリに対して並列にデータの書込が実行される。したがって、入出力回路76からは、異なるエントリに格納されるデータを転送する必要がある。一方、システムバスI/F24を介して転送されるデータは、データワード単位のデータであり、1つのエントリERYに含まれるデータである。したがって、このシステムバスI/F24を転送データ(内部システムバス7上の転送データ)のワードシリアルかつビットパラレルのデータを、メモリセルマット30に書込むのに適したビットシリアルかつワードパラレルなデータに変換する。この機能を、前述のように、直交変換機能と呼び、直交変換回路85によりデータ配列の変換を実行する。   As shown in FIG. 5, the entries ERY0-ERY (M-1) are selected by the row decoder 74, and data writing is executed in parallel for a predetermined number of entries of the selected entries. Therefore, it is necessary to transfer data stored in different entries from the input / output circuit 76. On the other hand, data transferred via the system bus I / F 24 is data in units of data words, and is data included in one entry ERY. Therefore, word serial and bit parallel data of transfer data (transfer data on internal system bus 7) is converted to bit serial and word parallel data suitable for writing to memory cell mat 30. Convert. As described above, this function is called an orthogonal transformation function, and the orthogonal transformation circuit 85 performs data array transformation.

図6は、図1に示す直交変換回路85におけるデータ配列変換操作によるデータの流れを示す図である。図6においては、4ビットデータが外部の大容量メモリ(SDRAM)4から転送され、直交変換回路85から、4ビットデータが主演算回路20内のメモリセルマット30へ転送される場合の動作が一例として示される。   FIG. 6 is a diagram showing a data flow by the data array conversion operation in the orthogonal transform circuit 85 shown in FIG. In FIG. 6, the operation in the case where 4-bit data is transferred from an external large-capacity memory (SDRAM) 4 and 4-bit data is transferred from the orthogonal transformation circuit 85 to the memory cell mat 30 in the main arithmetic circuit 20 is shown. Shown as an example.

SDRAM4に、4ビットデータa(ビットa0−a3)ないしi(ビットi3−i0)が格納される。このSDRAM4から内部システムバス(7)を介して、4ビットデータDTE(データi;ビットi3−i0)の各ビットが並列に転送される。このSDRAM4からのデータDTEは、メモリセルマットの同一エントリERYに格納されるエントリ単位のデータであり、直交変換回路85において、転送された4ビットデータの各ビットが、Y方向に整列して格納される。直交変換回路85のメモリ内において、X方向に順次転送データが格納される。   The SDRAM 4 stores 4-bit data a (bits a0 to a3) to i (bits i3 to i0). Each bit of 4-bit data DTE (data i; bits i3-i0) is transferred in parallel from the SDRAM 4 via the internal system bus (7). The data DTE from the SDRAM 4 is entry unit data stored in the same entry ERY of the memory cell mat. In the orthogonal transform circuit 85, each bit of the transferred 4-bit data is stored in alignment in the Y direction. Is done. In the memory of the orthogonal transform circuit 85, the transfer data is sequentially stored in the X direction.

直交変換回路85からメモリセルマット30へのデータ転送時においては、X方向に整列するビットが並列に読出され、Y方向に沿って順次選択ビット位置を更新してデータ転送が行なわれる。したがって、ビットe1、f1、g1およびh1で構成されるデータDTAが、メモリセルマット30の4エントリに並行して格納される。このアドレス単位のデータDTAは、メモリセルマットにおいて1アドレスの指定時に格納されるデータであり、メモリセルマット30のエントリ位置情報および書込ビット位置情報が示す位置に格納される。この操作を、順次繰返し、全転送データについて実行することにより、メモリセルマット30において複数のエントリ(4エントリ単位)に複数のデータビットが並列に書込まれ、エントリERYにおいては、それぞれ、エントリ単位のデータDTEが格納される。メモリセルマット30から、内部システムバス(7)を介して外部へ転送する場合には、この逆の方向にデータが流れ、アドレス単位のデータDTAが直交変換回路85に順次Y方向に沿って格納され、次いで、この直交変換回路85から、X方向に整列するエントリ単位のデータDTEが読出され、システムバスI/F(24)を介して転送される。メモリセルマット30からシステムバスを介してSDRAM4へデータを転送する場合には、図6に示すデータの流れが反対となるだけで、同様の変換操作が直交変換回路85において行われる。   At the time of data transfer from the orthogonal transformation circuit 85 to the memory cell mat 30, bits aligned in the X direction are read in parallel, and data transfer is performed by sequentially updating the selected bit position along the Y direction. Therefore, data DTA composed of bits e 1, f 1, g 1 and h 1 is stored in parallel in 4 entries of memory cell mat 30. This address unit data DTA is data that is stored when one address is specified in the memory cell mat, and is stored in the position indicated by the entry position information and write bit position information of the memory cell mat 30. By repeating this operation sequentially for all transfer data, a plurality of data bits are written in parallel to a plurality of entries (4 entry units) in the memory cell mat 30, and each entry is entered in the entry ERY. The data DTE is stored. When data is transferred from the memory cell mat 30 to the outside via the internal system bus (7), data flows in the opposite direction, and data DTA in address units is sequentially stored in the orthogonal transform circuit 85 along the Y direction. Then, the data DTE of the entry unit aligned in the X direction is read from the orthogonal transform circuit 85 and transferred via the system bus I / F (24). When data is transferred from the memory cell mat 30 to the SDRAM 4 via the system bus, only the data flow shown in FIG.

従って、基本的に、内部システムバスと直交変換回路85との間では、ビットパラレルかつワードシリアルにデータが転送され、直交変換回路85とメモリセルマットの間では、ビットシリアルかつワードパラレルにデータが転送される。   Therefore, basically, data is transferred in bit parallel and word serial between the internal system bus and the orthogonal transform circuit 85, and data in bit serial and word parallel is transferred between the orthogonal transform circuit 85 and the memory cell mat. Transferred.

図7は、図1に示す直交変換回路85の構成を概略的に示す図である。図7において、直交変換回路85は2つの直交メモリ90aおよび90bを含む。これらの直交メモリ90aおよび90bは、各々、デュアルポートSRAM(この構成については後に詳細に説明する)で構成され、各々がLビットの幅を有するエントリをK個有する。エントリは、Y方向に延在し、これらのK個のエントリ各々に、エントリ単位のデータDTEが格納される。一方、X方向に沿って整列するビット位置には、アドレス単位のデータDTAが格納される。   FIG. 7 schematically shows a configuration of orthogonal transform circuit 85 shown in FIG. In FIG. 7, the orthogonal transform circuit 85 includes two orthogonal memories 90a and 90b. Each of these orthogonal memories 90a and 90b is composed of a dual port SRAM (this configuration will be described in detail later), and each has K entries each having a width of L bits. The entries extend in the Y direction, and data DTE for each entry is stored in each of these K entries. On the other hand, address unit data DTA is stored at bit positions aligned along the X direction.

直交変換回路85は、さらに、直交メモリ90aおよび90bとシステムバスI/F24の間のインターフェイスをとるシステムバス直交メモリI/F(インターフェイス)91と、直交メモリ90aおよび90bと内部メモリバス77を介して入出力回路76に結合され、メモリセルマット(30)との間でのデータ転送時に直交メモリ90aおよび90bと内部メモリバス77との間のインターフェイスをとるメモリセルマット直交メモリI/F92と、直交変換回路85の内部動作に必要な情報を記憶する制御レジスタ群94と、メモリセルマットとの間のデータ転送時のアドレス情報を格納する内部レジスタ群93と、内部レジスタ群93に格納される情報に基づいてメモリセルマット(30)に対するアクセス対象のアドレスを計算して主演算回路(20)へ与えるメモリセルマットアドレス計算ユニット95を含む。   The orthogonal transform circuit 85 further includes a system bus orthogonal memory I / F (interface) 91 that provides an interface between the orthogonal memories 90 a and 90 b and the system bus I / F 24, an orthogonal memory 90 a and 90 b, and an internal memory bus 77. A memory cell mat orthogonal memory I / F 92 coupled to the input / output circuit 76 and serving as an interface between the orthogonal memories 90a and 90b and the internal memory bus 77 when data is transferred to and from the memory cell mat (30). The control register group 94 that stores information necessary for the internal operation of the orthogonal transform circuit 85, the internal register group 93 that stores address information at the time of data transfer between the memory cell mats, and the internal register group 93 are stored. Based on the information, the access target address for the memory cell mat (30) is calculated. A memory cell mat address calculation unit 95 to provide to the main processing circuit (20).

Lビットの内部データバス96が、システムバスI/F24とシステムバス直交メモリI/F91の間に設けられ、また、システムバス直交メモリI/Fと直交メモリ90aおよび90bとの間に、Lビット幅の内部データバス97が設けられる。また、直交メモリ90aおよび90bとメモリセルマット直交メモリI/F92の間に、Kビット幅の内部データバス98が設けられる。また、内部メモリバス77は、ビット幅がJビットであり、L≦K≦Jである。   An L-bit internal data bus 96 is provided between the system bus I / F 24 and the system bus orthogonal memory I / F 91, and an L bit between the system bus orthogonal memory I / F and the orthogonal memories 90a and 90b. A width internal data bus 97 is provided. An internal data bus 98 having a K-bit width is provided between the orthogonal memories 90a and 90b and the memory cell mat orthogonal memory I / F 92. The internal memory bus 77 has a bit width of J bits and L ≦ K ≦ J.

バス96が第1のバスに対応し、バス77が第2のバスに対応する。直交メモリ90aおよび90bが、これらのバスの間のデータ列の配列を変換する。   Bus 96 corresponds to the first bus, and bus 77 corresponds to the second bus. Orthogonal memories 90a and 90b convert the array of data strings between these buses.

内部レジスタ群93は、内部システムバス7へのアクセス回数のカウント情報を格納するシステムバスアクセス回数カウンタ93aと、メモリセルマットへのアクセス回数のカウント情報を格納するメモリセルマットアクセス回数カウンタ93bを含む。これらのカウンタ93aおよび93bは、直交メモリ90aおよび90bにより、交互に利用される。   The internal register group 93 includes a system bus access number counter 93a that stores count information of the number of accesses to the internal system bus 7, and a memory cell mat access number counter 93b that stores count information of the number of accesses to the memory cell mat. . These counters 93a and 93b are alternately used by the orthogonal memories 90a and 90b.

制御レジスタ群94は、メモリセルマット30に対するエントリ位置情報を格納するエントリ位置レジスタ94aと、メモリセルマット30のビット位置情報を格納するビット位置レジスタ94bと、この直交変換回路85の活性/非活性を決定する制御ビット(イネーブルビット)を格納するイネーブルレジスタ94cと、メモリセルマット30とシステムバス7との間のデータ転送方向を設定する情報を格納するリード/ライト方向レジスタ94bを含む。このエントリ位置レジスタ94aおよびビット位置レジスタ94bは、各々、直交メモリ90aおよび90bに対してそれぞれ設けられるAレジスタおよびBレジスタを各々含む。これらのエントリ位置レジスタ94aおよびビット位置レジスタ94bは、各々、直交メモリ90aおよび90bにより共用して交互に用いることが可能であるが、ここでは、制御の簡単化のために、直交メモリ90aおよび90b各々に対して、これらのレジスタ94aおよび94bを設ける。   The control register group 94 includes an entry position register 94a for storing entry position information for the memory cell mat 30, a bit position register 94b for storing bit position information for the memory cell mat 30, and activation / inactivation of the orthogonal transformation circuit 85. And an enable register 94c for storing a control bit (enable bit) for determining data, and a read / write direction register 94b for storing information for setting a data transfer direction between the memory cell mat 30 and the system bus 7. Entry position register 94a and bit position register 94b include an A register and a B register respectively provided for orthogonal memories 90a and 90b. The entry position register 94a and the bit position register 94b can be shared and used alternately by the orthogonal memories 90a and 90b, respectively, but here, the orthogonal memories 90a and 90b are used for simplicity of control. These registers 94a and 94b are provided for each.

エントリ位置レジスタ94aおよびビット位置レジスタ94bにおいて、メモリセルマット30におけるエントリ位置情報およびビット位置情報が指定される。メモリセルマット30へのデータ転送時、メモリセルマット30内の指定された領域の内容を直交メモリ90aおよび90bが保持しており、直交変換回路85が、データの並べ替えを行なう機能を有するリード/ライトバッファ回路として機能する。   In entry position register 94a and bit position register 94b, entry position information and bit position information in memory cell mat 30 are designated. At the time of data transfer to the memory cell mat 30, the contents of the designated area in the memory cell mat 30 are held in the orthogonal memories 90a and 90b, and the orthogonal transform circuit 85 has a function of rearranging data. / Functions as a write buffer circuit.

また、内部レジスタ群93におけるカウンタレジスタ93aおよび93bのカウント値により、直交メモリ90aおよび90bにおけるデータの格納状況が示される。   Further, the data storage status in the orthogonal memories 90a and 90b is indicated by the count values of the counter registers 93a and 93b in the internal register group 93.

システムバス直交メモリI/F91は、直交変換回路85と内部システムバス7との間のデータ転送を制御する機能を有し、直交変換回路85からメモリセルマット(メモリ内部バス)77へのデータ転送時には、内部システムバス7と直交メモリ90aまたは90bとの間のデータ転送を要求するバスリクエストのウェイト制御を行なう。   The system bus orthogonal memory I / F 91 has a function of controlling data transfer between the orthogonal transform circuit 85 and the internal system bus 7, and data transfer from the orthogonal transform circuit 85 to the memory cell mat (memory internal bus) 77. In some cases, wait control of a bus request for requesting data transfer between the internal system bus 7 and the orthogonal memory 90a or 90b is performed.

メモリセルマットアドレス計算ユニット95は、メモリセルマットへのデータ転送時、エントリ位置レジスタ94aおよびビット位置レジスタ94bに格納された情報に基づいて、データ転送対象のメモリセルマットのアドレスの計算を行なって、主演算回路に転送する(図5に示すロウデコーダ74およびカラムデコーダ78に転送する)。   The memory cell mat address calculation unit 95 calculates the address of the memory cell mat to be transferred based on the information stored in the entry position register 94a and the bit position register 94b during data transfer to the memory cell mat. The data is transferred to the main arithmetic circuit (transferred to the row decoder 74 and the column decoder 78 shown in FIG. 5).

このシステムバス直交メモリI/F91は、内部システムバス7を介して転送されるデータの有効データ(エントリデータ)はLビットに限定されず、mビット幅のエントリ単位のデータが転送される。この1回のバスアクセス時に転送されるエントリデータのビット幅を有効ビット幅と称す。また、有効ビット幅のデータを単位データと以下称す。また、有効ビット幅とこれを指定する有効ビット幅情報とを共に、符号mで示す。   In the system bus orthogonal memory I / F 91, valid data (entry data) of data transferred via the internal system bus 7 is not limited to L bits, and data in units of entries having an m-bit width is transferred. The bit width of entry data transferred during one bus access is referred to as an effective bit width. Further, data having an effective bit width is hereinafter referred to as unit data. Further, both the effective bit width and the effective bit width information for specifying the effective bit width are indicated by a symbol m.

内部システムバス7上を転送されるデータの有効ビット幅mが、有効ビット幅レジスタ94eに格納される。この有効ビット幅レジスタ94eに格納される有効ビット幅情報mに従って、システムバス直交メモリI/F91は、内部システムバス7を介して複数のデータが並列に転送される場合、直交メモリ90aおよび90bにおいて、各単位データを異なるエントリに格納するようにそのデータ転送経路を設定する。   The effective bit width m of the data transferred on the internal system bus 7 is stored in the effective bit width register 94e. According to the effective bit width information m stored in the effective bit width register 94e, the system bus orthogonal memory I / F 91, when a plurality of data is transferred in parallel via the internal system bus 7, in the orthogonal memories 90a and 90b. The data transfer path is set so that each unit data is stored in a different entry.

一方、メモリセルマット直交メモリI/F92は、メモリセルマット30へのデータ転送時、直交メモリ90aおよび90bから並列に読出されるK個のエントリのデータビットを内部データバス98を介して受け、内部メモリバス77を介して転送する。内部メモリバス77のビット幅Jが、直交メモリ90aおよび90bに含まれるエントリの数Kよりも多きい場合には、メモリセルマット直交メモリI/F92は、この内部メモリバス77の上の有効データが転送されるバス線を選択するとともに、非選択バス線上に拡張ビット(無効データビット)を転送する。   On the other hand, memory cell mat orthogonal memory I / F 92 receives data bits of K entries read in parallel from orthogonal memories 90a and 90b via internal data bus 98 during data transfer to memory cell mat 30. Transfer is performed via the internal memory bus 77. When the bit width J of the internal memory bus 77 is larger than the number K of entries included in the orthogonal memories 90a and 90b, the memory cell mat orthogonal memory I / F 92 stores the valid data on the internal memory bus 77. Selects a bus line to be transferred, and transfers an extension bit (invalid data bit) on an unselected bus line.

システムバス直交メモリI/F91において、データ転送経路を設定し、設定された経路に従って直交メモリ90aおよび90b内において、単位データの有効ビット幅に応じてエントリ選択シーケンス(エントリの書込/読出シーケンス)を変更する。これにより、内部システムバス7を介して転送されるデータのビット幅が、たとえば32ビット、16ビット、および8ビットと異なる場合においても、各語構成に応じて、システムバス直交メモリI/F91においてデータ転送経路を設定して、単位データを設定された経路に従って転送し、また、直交メモリ内のエントリ選択態様を調整することにより、内部システムバス7の全バス線を利用してデータを転送することができ、効率的なデータ転送を実現することができる。   In the system bus orthogonal memory I / F 91, a data transfer path is set, and in the orthogonal memories 90a and 90b according to the set path, an entry selection sequence (entry write / read sequence) according to the effective bit width of the unit data. To change. Thus, even when the bit width of data transferred via internal system bus 7 is different from 32 bits, 16 bits, and 8 bits, for example, in system bus orthogonal memory I / F 91 according to each word configuration A data transfer path is set, unit data is transferred according to the set path, and data is transferred using all bus lines of the internal system bus 7 by adjusting the entry selection mode in the orthogonal memory. And efficient data transfer can be realized.

図8は、図7に示す直交メモリ90aおよび90bに含まれるメモリセルの構成の一例を示す図である。直交メモリ90aおよび90bに含まれるメモリセルは、デュアルポートSRAMセルで構成される。図8において、直交メモリセルは、交差結合される負荷PチャネルMOSPQ1およびPQ2と、交差結合されるデータ記憶用のドライブNチャネルMOSトランジスタNQ1およびNQ2を含む。この直交メモリセルは、通常のSRAMセルと同様に、インバータラッチ(フリップフロップ素子)をデータ記憶素子として備え、このフリップフロップ素子において、ストレージノードSN1およびSN2に相補データを記憶する。   FIG. 8 is a diagram showing an example of the configuration of memory cells included in orthogonal memories 90a and 90b shown in FIG. The memory cells included in the orthogonal memories 90a and 90b are constituted by dual port SRAM cells. In FIG. 8, the orthogonal memory cell includes cross-coupled load P-channel MOS PQ1 and PQ2, and cross-coupled drive N-channel MOS transistors NQ1 and NQ2 for data storage. Similar to a normal SRAM cell, this orthogonal memory cell includes an inverter latch (flip-flop element) as a data storage element, and the flip-flop element stores complementary data in storage nodes SN1 and SN2.

直交メモリセルは、さらに、ワード線WLA上の信号電位に応答してストレージノードSN1およびSN2をそれぞれビット線BLAおよび/BLAに結合するNチャネルMOSトランジスタNQA1およびNQA2と、ワード線WLB上の信号電位に応答してストレージノードSN1およびSN2をビット線BLBおよび/BLBに結合するNチャネルMOSトランジスタNQB1およびNQB2を含む。   The orthogonal memory cell further includes N channel MOS transistors NQA1 and NQA2 coupling storage nodes SN1 and SN2 to bit lines BLA and / BLA, respectively, in response to a signal potential on word line WLA, and a signal potential on word line WLB. In response, N channel MOS transistors NQB1 and NQB2 coupling storage nodes SN1 and SN2 to bit lines BLB and / BLB are included.

ワード線WLAおよびWLBが直交して配置され、ビット線BLAおよび/BLAが、ビット線BLBおよびBLBが直交して配置される。   Word lines WLA and WLB are arranged orthogonally, bit lines BLA and / BLA are arranged orthogonally to bit lines BLB and BLB.

ワード線WLAおよびビット線BLAおよび/BLAで構成される第1のポート(トランジスタNQA1,NQA2)とワード線WLBおよびビット線BLBおよび/BLBで構成される第2のポート(トランジスタNQB1,NQB2)をそれぞれ別々の直交メモリI/Fに結合する。たとえば、第1のポートを内部システムバスとのインターフェイス用のポートとして利用し、第2のポートをメモリバスへのアクセス用のポートとして利用する。これにより、直交メモリにおいて行および列の変換を行なって、データアクセスを行なうことができ、データ配列を変換することができる。   A first port (transistors NQA1, NQA2) composed of the word line WLA and the bit lines BLA and / BLA and a second port (transistors NQB1, NQB2) composed of the word line WLB and the bit lines BLB and / BLB Each is coupled to a separate orthogonal memory I / F. For example, the first port is used as a port for interfacing with the internal system bus, and the second port is used as a port for accessing the memory bus. Thereby, row and column conversion can be performed in the orthogonal memory, data access can be performed, and the data array can be converted.

図9は、図7に示す直交変換回路の、内部システムバス7からメモリセルマット30へのデータ転送時の動作を示すフロー図である。以下、図9を参照して、図7に示す直交変換回路85の動作について説明する。ただし、以下の説明においては、直交メモリ90aに先にデータが格納され、格納データの転送をメモリセルマットに対して実行し、この直交メモリ90aからメモリセルマットに対するデータ転送と並行して直交メモリ90bにデータが格納される場合のデータ転送動作について説明する。   FIG. 9 is a flowchart showing the operation of the orthogonal transform circuit shown in FIG. 7 at the time of data transfer from the internal system bus 7 to the memory cell mat 30. The operation of the orthogonal transform circuit 85 shown in FIG. 7 will be described below with reference to FIG. However, in the following description, data is first stored in the orthogonal memory 90a, the stored data is transferred to the memory cell mat, and the orthogonal memory is transferred in parallel with the data transfer from the orthogonal memory 90a to the memory cell mat. A data transfer operation when data is stored in 90b will be described.

フェーズ1:
データ転送開始時、まずホストCPUまたはDMAコントローラから直接または主演算回路内のコントローラから、書込対象の先頭のビット位置またはエントリ位置を示す情報を、それぞれ、ビット位置レジスタ94bおよびエントリ位置レジスタ94aに設定する。このビット位置は、主演算回路のメモリセルマットのワード線アドレスに対応し、またエントリ位置は、メモリセルマット30のビット線アドレスに対応する。ビット位置レジスタ94bにおいては、直交メモリ90aの保持するデータについてのビット位置情報が格納され、また、ビット位置レジスタ94bのBレジスタには、直交メモリ90bの保持するデータのヒット位置情報が格納される。したがって、これらの直交メモリ90aおよび90bのエントリ数Kがメモリセルマット30のエントリ数Mよりも小さく、メモリセルマット30のエントリ数Mとこれらの直交メモリ90aおよび90bのエントリ数Kとの間に、M=2・K・I(Iが任意の整数)の関係を満たす場合、直交メモリ90bの転送データに対するビット位置情報は、直交メモリ90aに対するビット位置情報に対しKだけ増分された値がビット位置レジスタ94bのBレジスタに格納される。
Phase 1:
At the start of data transfer, information indicating the first bit position or entry position to be written is first sent from the host CPU or DMA controller or from the controller in the main arithmetic circuit to the bit position register 94b and the entry position register 94a, respectively. Set. This bit position corresponds to the word line address of the memory cell mat of the main arithmetic circuit, and the entry position corresponds to the bit line address of the memory cell mat 30. In the bit position register 94b, bit position information about data held in the orthogonal memory 90a is stored, and in the B register of the bit position register 94b, hit position information of data held in the orthogonal memory 90b is stored. . Therefore, the number of entries K of these orthogonal memories 90a and 90b is smaller than the number of entries M of the memory cell mat 30, and between the number of entries M of the memory cell mat 30 and the number of entries K of these orthogonal memories 90a and 90b. , M = 2 · K · I (I is an arbitrary integer), the bit position information for the transfer data of the orthogonal memory 90b is a bit obtained by incrementing the bit position information for the orthogonal memory 90a by K. Stored in the B register of the position register 94b.

また、制御レジスタ群94の有効ビット幅レジスタ94aに、内部システムバス7上を転送される単位データ(メモリセルマットのエントリ単位のデータ)のビット幅(有効ビット幅)mを示す情報が格納される。この場合、内部システムバス7上を並列に転送される単位データの数を示す情報が格納されてもよい。また、リード/ライト方向レジスタ94dに、内部システムバス7からメモリセルマット30へのデータ転送、すなわち書込を示すビットを設定する。   In addition, information indicating the bit width (effective bit width) m of unit data (data in memory cell mat entry unit) transferred on the internal system bus 7 is stored in the effective bit width register 94a of the control register group 94. The In this case, information indicating the number of unit data transferred in parallel on the internal system bus 7 may be stored. Further, a bit indicating data transfer from the internal system bus 7 to the memory cell mat 30, that is, writing is set in the read / write direction register 94d.

この後、イネーブルレジスタ94cに、イネーブルビット(制御ビット)を設定し、直交変換回路85をイネーブルする。このイネーブルレジスタ94cのイネーブルビットのアサートにより、内部レジスタ群93に含まれるカウンタ93aおよび93bのカウント値が0に初期化される(ステップST1)。   Thereafter, an enable bit (control bit) is set in the enable register 94c to enable the orthogonal transform circuit 85. By asserting the enable bit of the enable register 94c, the count values of the counters 93a and 93b included in the internal register group 93 are initialized to 0 (step ST1).

フェーズ2:
システムバスI/F24から、システムバス直交メモリI/F91経由で、直交メモリ90aに対し、転送データが書込まれる。この直交メモリ90aへの書込データには、有効ビット幅情報mに従って、1つまたは複数のエントリ単位のデータ(単位データ)DTEが含まれており、この有効ビット幅情報mに従ってX方向に順次、直交メモリ90aのエントリに単位データが格納される。転送データに複数のエントリ単位のデータ(以下、、単位データと称す)DTEが含まれる場合、直交メモリ90aの異なるエントリに順次並列して転送された単位データが格納される。
Phase 2:
Transfer data is written from the system bus I / F 24 to the orthogonal memory 90a via the system bus orthogonal memory I / F 91. The write data to the orthogonal memory 90a includes one or a plurality of entry unit data (unit data) DTE according to the effective bit width information m, and sequentially in the X direction according to the effective bit width information m. The unit data is stored in the entry of the orthogonal memory 90a. When the transfer data includes a plurality of entry unit data (hereinafter referred to as unit data) DTE, the unit data sequentially transferred in parallel is stored in different entries of the orthogonal memory 90a.

この直交メモリ90aにデータが書込まれるごとに(システムバス7からの転送データすべてが書込まれるごと)に、システムバスアクセス回数カウンタレジスタ93aのカウント値がインクリメントされる(ステップST2)。このシステムバスアクセス回数カウンタレジスタ93aのインクリメント単位は、有効ビット幅情報mに従って設定される。たとえば、内部システムバス7が32ビットバスであり、エントリ単位の単位データDTEが8ビットの場合、1回のシステムバスアクセスにより、4エントリのデータが直交メモリに書込まれることになり、システムバスアクセス回数カウンタ93aのカウント値は4インクリメントされる。このシステムバスアクセス回数カウンタのカウント値のインクリメント量は、一般的に、L/mで表わすことができる。   Each time data is written to the orthogonal memory 90a (every data transferred from the system bus 7 is written), the count value of the system bus access number counter register 93a is incremented (step ST2). The increment unit of the system bus access number counter register 93a is set according to the effective bit width information m. For example, when the internal system bus 7 is a 32-bit bus and the unit data DTE for each entry is 8 bits, four entries of data are written to the orthogonal memory by one system bus access. The count value of the access number counter 93a is incremented by 4. The increment amount of the count value of this system bus access number counter can be generally expressed by L / m.

フェーズ3:
直交メモリ90aの記憶内容がフル状態(一杯状態)となるまで、すなわち、システムバスアクセス回数カウンタレジスタ93aのカウント値が、直交メモリ90aのエントリ数Kに到達するまで、システムバス直交メモリI/F91を介してデータの書込が行なわれる(ステップST3)。この直交メモリ90aへ内部システムバス7からの転送データを書込む間、直交メモリ90bはウェイト状態にある(ステップST11)。
Phase 3:
Until the stored contents of the orthogonal memory 90a become full (full state), that is, until the count value of the system bus access number counter register 93a reaches the number K of entries in the orthogonal memory 90a, the system bus orthogonal memory I / F 91 The data is written via (step ST3). While the transfer data from the internal system bus 7 is written to the orthogonal memory 90a, the orthogonal memory 90b is in a wait state (step ST11).

フェーズ4:
直交メモリ90aに対し、K個の単位データDTEが内部システムバス7からシステムバスI/F24およびシステムバス直交メモリI/F91を介して書き込まれると、システムバスアクセス回数カウンタ93aのカウント値が初期値の0となる。このシステムバスアクセス回数カウンタ93aの初期値への復帰により、直交メモリ90bがイネーブルされ、直交メモリ90bに対するデータの書込が可能となる。また、これと並行して、直交メモリ90aが、リードモードに設定され、メモリセルマット30に対するデータ転送可能状態とされる(ステップST4)。
Phase 4:
When K unit data DTE are written to the orthogonal memory 90a from the internal system bus 7 via the system bus I / F 24 and the system bus orthogonal memory I / F 91, the count value of the system bus access number counter 93a is the initial value. Of 0. By returning the system bus access number counter 93a to the initial value, the orthogonal memory 90b is enabled, and data can be written to the orthogonal memory 90b. In parallel with this, the orthogonal memory 90a is set to the read mode, and is ready to transfer data to the memory cell mat 30 (step ST4).

フェーズ5:
直交メモリ90aおよび90bの切換により、システムバス直交メモリI/F91は、内部システムバス7からシステムバスI/F24を介して与えられたデータを、直交メモリ90bに順次格納する。システムバスアクセス回数カウンタ93aは、直交メモリ90aへのデータ書込時と同様に、そのカウント値がインクリメントされる(ステップST12)。
Phase 5:
By switching between the orthogonal memories 90a and 90b, the system bus orthogonal memory I / F 91 sequentially stores the data supplied from the internal system bus 7 via the system bus I / F 24 in the orthogonal memory 90b. The count value of system bus access counter 93a is incremented in the same manner as when data is written to orthogonal memory 90a (step ST12).

この直交メモリ90bへの書込と並行して、メモリセルマット直交メモリI/F92を介して、X方向に整列するアドレス単位のデータDTAが読出され、内部メモリバス77を介して主演算回路内の入出力回路76へ転送されて、メモリセルマット30のK個のエントリに格納される。   In parallel with the writing to the orthogonal memory 90 b, the data DTA in the address unit aligned in the X direction is read through the memory cell mat orthogonal memory I / F 92, and in the main arithmetic circuit via the internal memory bus 77. To the input / output circuit 76 and stored in K entries of the memory cell mat 30.

このメモリセルマット30へのデータ転送時において、メモリセルマットアドレス計算ユニット95は、エントリ位置レジスタ94aのAレジスタおよびビット位置レジスタ94bのAレジスタの格納値およびメモリセルマットアクセス回数カウンタレジスタ93bの格納値に基づいて、転送対象のメモリセルマット30のアドレスを計算し、このメモリセルマット直交メモリI/F92からのデータ送出に合わせてメモリセルマットの対するアドレス(ビット位置およびエントリ位置アドレス)を出力する。また、このメモリセルマット30へのデータ送出に合わせて、メモリセルマット直交メモリI/F92の制御のもとに、メモリセルマットアクセス回数カウンタ93bのカウント値が増分される。このメモリセルマットアクセス回数カウンタ93bのカウント値のインクリメント量は、有効ビット幅情報mの値にかかわらず、1ずつ増分される(ステップST5)。   At the time of data transfer to the memory cell mat 30, the memory cell mat address calculation unit 95 stores the stored values of the A register of the entry position register 94a and the A register of the bit position register 94b and the stored value of the memory cell mat access count counter register 93b. Based on the value, the address of the memory cell mat 30 to be transferred is calculated, and the address (bit position and entry position address) for the memory cell mat is output in accordance with the data transmission from the memory cell mat orthogonal memory I / F 92. To do. Further, in accordance with the data transmission to the memory cell mat 30, the count value of the memory cell mat access frequency counter 93b is incremented under the control of the memory cell mat orthogonal memory I / F 92. The increment value of the count value of the memory cell mat access count counter 93b is incremented by 1 regardless of the value of the effective bit width information m (step ST5).

フェーズ6:
直交メモリ90aの格納内容のメモリセルマット30に対するデータ転送が行なわれ、このメモリセルマット30へのデータ転送と並行して、直交メモリ90bに、その記憶内容がフル状態となるまで、内部システムバス7からの転送データの書込が実行される(ステップST6、ST13)。
Phase 6:
The data stored in the orthogonal memory 90a is transferred to the memory cell mat 30, and in parallel with the data transfer to the memory cell mat 30, the internal system bus is used until the stored content becomes full in the orthogonal memory 90b. 7 is executed (steps ST6 and ST13).

直交メモリ90bがフル状態、(システムバスアクセス回数カウンタ93aのカウント値がKに到達したとき)および直交メモリ90aがエンプティ(空状態)となったとき(メモリセルマットアクセス回数カウンタ93bのカウント値が有効ビット幅mに到達したとき)、システムバス7から必要なデータが、すべて転送されたかの判定が行なわれる(ステップST7)。   When the orthogonal memory 90b is full (when the count value of the system bus access count counter 93a reaches K) and when the orthogonal memory 90a is empty (empty) (the count value of the memory cell mat access count counter 93b is When the effective bit width m is reached, it is determined whether all necessary data has been transferred from the system bus 7 (step ST7).

まだ内部システムバス7からメモリセルマットに対する書込データがすべて転送されていない場合、直交メモリ90aが書込モードに設定され、また直交メモリ90bが、データ読出を示すリードモードに設定される(カウンタ93aおよび93bのカウントアップに従って)。   When all the write data for the memory cell mat has not yet been transferred from internal system bus 7, orthogonal memory 90a is set to the write mode, and orthogonal memory 90b is set to the read mode indicating data reading (counter). According to the count up of 93a and 93b).

また、システムバスアクセス回数カウンタ93aおよびメモリセルマットアクセス回数カウンタ93bのカウント値が0に初期化される(ステップST8)。   Further, the count values of the system bus access frequency counter 93a and the memory cell mat access frequency counter 93b are initialized to 0 (step ST8).

フェーズ7:
転送データが残っている場合には、エントリ位置レジスタ94aのAレジスタの格納値が2・K増分されるか、または、また、エントリ位置レジスタ94aのBレジスタの格納値に1加算した値に設定される。ビット位置レジスタ94bのAレジスタの格納値がL増分されるかまたはそのBレジスタの値に1加算した値に設定される(ステップST9)。有効ビット幅がmビットであり、Lビットよりも小さい場合においても、メモリセルマットにおいて単位データ格納領域としてLビット幅を確保する。
Phase 7:
If transfer data remains, the stored value of the A register of the entry position register 94a is incremented by 2 · K, or is set to a value obtained by adding 1 to the stored value of the B register of the entry position register 94a. Is done. The stored value of the A register of the bit position register 94b is incremented by L or set to a value obtained by adding 1 to the value of the B register (step ST9). Even when the effective bit width is m bits and smaller than L bits, the L bit width is secured as a unit data storage area in the memory cell mat.

直交メモリ90aにおいては、再びステップST2からの処理が実行され、内部システムバス7から転送されるデータが、直交メモリ90aの先頭位置から順次格納される。   In the orthogonal memory 90a, the process from step ST2 is executed again, and data transferred from the internal system bus 7 is sequentially stored from the head position of the orthogonal memory 90a.

一方、直交メモリ90bにおいては、読出モードに設定され、その格納データがメモリセルマット30へ転送される(ステップST14)。この直交メモリ90bからのメモリセルへのデータ転送時、直交メモリ90aからメモリセルマット30へのデータ転送と同様の処理が行なわれ、直交メモリ90bの保持データが空になるまでデータが転送される(ステップST15)。この直交メモリ90bの記憶データがすべて転送され、必要なデータの転送が完了した場合、直交メモリの90bの処理は終了する。   On the other hand, in orthogonal memory 90b, the read mode is set, and the stored data is transferred to memory cell mat 30 (step ST14). At the time of data transfer from the orthogonal memory 90b to the memory cell, the same processing as the data transfer from the orthogonal memory 90a to the memory cell mat 30 is performed, and the data is transferred until the data held in the orthogonal memory 90b becomes empty. (Step ST15). When all the data stored in the orthogonal memory 90b is transferred and the transfer of necessary data is completed, the processing of the orthogonal memory 90b is completed.

一方、必要な転送データが残っている場合には、再び、エントリ位置レジスタ94aのBレジスタのエントリ位置情報が2・K更新され、また、ビット位置レジスタ94bのBレジスタの格納値が、L更新される。   On the other hand, if necessary transfer data remains, the entry position information of the B register of the entry position register 94a is updated 2 · K again, and the stored value of the B register of the bit position register 94b is updated to L again. Is done.

この転送時の直交メモリ90aおよび90bの格納状況の判定は、メモリセルマットアクセス回数カウンタ93bのカウント値が、有効ビット幅mに等しくなると、直交メモリ90aまたは90bの格納データが全てメモリセルマット30へ転送されたと判断される。また、エントリ位置レジスタ94aの格納値が、メモリセルマットのエントリMを越えたときには、ビット位置レジスタ94bのAレジスタおよびBレジスタの格納値が、1増分され、次の位置のワード線をメモリセルマット30内において選択する状態とし、また、エントリ位置レジスタ94aのAレジスタおよびBレジスタの格納値が0およびKにそれぞれ設定される。   The determination of the storage status of the orthogonal memories 90a and 90b at the time of transfer is made when the count value of the memory cell mat access count counter 93b becomes equal to the effective bit width m, all the stored data in the orthogonal memory 90a or 90b is stored in the memory cell mat 30. Is determined to have been transferred. When the stored value of the entry position register 94a exceeds the entry M of the memory cell mat, the stored values of the A register and B register of the bit position register 94b are incremented by 1, and the word line at the next position is transferred to the memory cell. The selected state is set in the mat 30 and the stored values of the A register and the B register of the entry position register 94a are set to 0 and K, respectively.

直交メモリ90bにおいては、その処理がステップST17からステップST4に移行し、次の転送データを待つ。   In the orthogonal memory 90b, the processing shifts from step ST17 to step ST4 and waits for the next transfer data.

上述のフェーズ2からフェーズ7までの動作を繰返し実行して、直交メモリ90aおよび90bに対してインタリーブ態様でデータの書込/読出を行なって、データを転送する。すべての必要なデータの転送が完了したと判定されると(システムバスI/F24からの転送要求がデアサートされることにより反転される)、データ転送が終了し、イネーブルレジスタ94cのイネーブルビットがデアサートされる。これにより、単位データDTEをその有効ビット幅にかかわらず内部システムバス7の全バス線を利用して転送し、直交変換回路85において、ビットシリアルかつワードパラレルなデータに変換してメモリセルマット30に転送することができる。   The operations from phase 2 to phase 7 described above are repeatedly executed to write / read data to / from the orthogonal memories 90a and 90b in an interleaved manner to transfer the data. When it is determined that the transfer of all necessary data has been completed (the transfer request from the system bus I / F 24 is inverted by deassertion), the data transfer is completed and the enable bit of the enable register 94c is deasserted. Is done. Thereby, the unit data DTE is transferred using all the bus lines of the internal system bus 7 regardless of the effective bit width, and is converted into bit serial and word parallel data in the orthogonal conversion circuit 85 to be converted into the memory cell mat 30. Can be transferred to.

図10は、SDRAM4から内部システムバス7を介してメモリセルマット30へデータを転送するためのデータの流れを模式的に示す図である。図10においては、内部システムバスのビット幅Lが32ビットであり、有効ビット幅情報mが8ビットを示し、エントリ単位のデータ、すなわち単位データDTEが4つ並列に、システムバスを介して転送される場合のデータの流れを示す。   FIG. 10 is a diagram schematically showing a data flow for transferring data from the SDRAM 4 to the memory cell mat 30 via the internal system bus 7. In FIG. 10, the bit width L of the internal system bus is 32 bits, the effective bit width information m indicates 8 bits, and four pieces of entry unit data, that is, unit data DTE are transferred in parallel via the system bus. Shows the flow of data.

SDRAM4においては、8ビットデータA0…A39が格納される。1回のアクセスにおいて、図10の水平方向に整列する4つのデータがSDRAM4から並列に読出される。まず、直交メモリ90aへ、SDRAM4からの転送データが格納される。直交メモリ90aにおいては、単位データDTEが、有効ビット幅情報mに従って、それぞれ異なるエントリに格納される。図10においては、直交メモリ90aにおいて、K個のエントリ(各32ビット)において、データA0−A31が格納された状態を示す。この状態において、直交メモリ90aにおいては、K個のエントリすべてに単位データが格納された状態であり、次のSDRAM4からの転送データA32−A35は、直交メモリ90bに格納される。   The SDRAM 4 stores 8-bit data A0... A39. In one access, four data aligned in the horizontal direction in FIG. 10 are read from the SDRAM 4 in parallel. First, transfer data from the SDRAM 4 is stored in the orthogonal memory 90a. In the orthogonal memory 90a, the unit data DTE is stored in different entries according to the effective bit width information m. FIG. 10 shows a state in which data A0 to A31 are stored in K entries (32 bits each) in the orthogonal memory 90a. In this state, in the orthogonal memory 90a, the unit data is stored in all K entries, and the transfer data A32-A35 from the next SDRAM 4 is stored in the orthogonal memory 90b.

この直交メモリ90Bへの転送データ(A32−A35)の格納と並行して、直交メモリ90aから、エントリパラレルかつビットシリアルにデータが順次出力される。すなわち、単位データA0−A31の同一桁のビットが並列に選択されて転送され、メモリセルマット30の対応のエントリにそれぞれ格納される。したがって、このメモリセルマット30へ、直交メモリ90aからのデータ転送時において、8回、直交メモリ90aからメモリセルマット30へデータを転送することにより、メモリセルマット30において、データA0−A31がそれぞれ異なるエントリ内に格納される。   In parallel with storing the transfer data (A32-A35) in the orthogonal memory 90B, data is sequentially output from the orthogonal memory 90a in entry parallel and bit serial. That is, the same digit bits of unit data A0-A31 are selected and transferred in parallel, and stored in the corresponding entries of memory cell mat 30, respectively. Therefore, when data is transferred from the orthogonal memory 90a to the memory cell mat 30, data is transferred from the orthogonal memory 90a to the memory cell mat 30 eight times, whereby the data A0 to A31 are respectively stored in the memory cell mat 30. Stored in different entries.

また、直交メモリ90bにおいて、K個の単位データDTEが格納されると、直交メモリ90bはフル状態とされ、直交メモリ90bからメモリセルマット30の対応のエントリへ、データA32−A63が、エントリパラレルかつビットシリアルな態様で転送されて格納される。この直交メモリ90bからメモリセルマット30へのデータ転送時には、SDRAM4から直交メモリ90aに対してデータが転送される(転送データが残っている場合)。   Further, when K unit data DTE are stored in the orthogonal memory 90b, the orthogonal memory 90b is brought into a full state, and the data A32-A63 are transferred from the orthogonal memory 90b to the corresponding entry of the memory cell mat 30 in the entry parallel. And it is transferred and stored in a bit-serial manner. At the time of data transfer from the orthogonal memory 90b to the memory cell mat 30, data is transferred from the SDRAM 4 to the orthogonal memory 90a (when transfer data remains).

上述のように、システムバスにおいてはバス幅L(32ビット)すべてを利用してデータを転送し、直交メモリ90aからメモリセルマット30へのデータ転送時には、直交メモリ90bへのSDRAM4からデータが転送される。単位データDTEのビット幅(有効ビット幅)mが8ビットの場合でシステムバスのバス幅が32ビットの場合、SDRAM4から直交メモリ90aまたは90bへのフル状態となるデータ転送サイクル数は8サイクルであり、また、直交メモリ90aまたは90bからメモリセルマット30へのデータ転送に要するサイクル時間は8サイクルである。したがって、内部システムバスにおけるデータ転送において、空き(アイドル)期間を生じさせることがなく、効率的なデータ転送を実現することができる。直交メモリ90aおよび90bおよびメモリセルマット30のメモリセルは高速のSRAMセルであり、SDRAM4のクロックサイクルに従って十分に時間的余裕を持って、直交変換回路85とメモリセルマット30の間でデータの転送を行なうことができる。   As described above, in the system bus, data is transferred using the entire bus width L (32 bits), and when data is transferred from the orthogonal memory 90a to the memory cell mat 30, data is transferred from the SDRAM 4 to the orthogonal memory 90b. Is done. When the bit width (effective bit width) m of the unit data DTE is 8 bits and the bus width of the system bus is 32 bits, the number of data transfer cycles for the full state from the SDRAM 4 to the orthogonal memory 90a or 90b is 8 cycles. In addition, the cycle time required for data transfer from the orthogonal memory 90a or 90b to the memory cell mat 30 is 8 cycles. Therefore, efficient data transfer can be realized without causing an idle (idle) period in data transfer on the internal system bus. The memory cells of the orthogonal memories 90a and 90b and the memory cell mat 30 are high-speed SRAM cells, and transfer data between the orthogonal transformation circuit 85 and the memory cell mat 30 with sufficient time according to the clock cycle of the SDRAM 4. Can be performed.

なお、メモリセルマット30からシステムバス7に対してデータを転送する場合には、リード/ライト方向レジスタ49dにデータ読出を示すビットが設定され、上述の書込ビット設定時の転送動作と逆の方向にデータが流れる。直交メモリ90aおよび90bにおいては、書込/読出動作が上述の転送動作の説明と逆となるものの、アドレス制御については同様の制御が行われて、データの転送が行われる。   When data is transferred from the memory cell mat 30 to the system bus 7, a bit indicating data reading is set in the read / write direction register 49d, which is the reverse of the transfer operation when the write bit is set. Data flows in the direction. In the orthogonal memories 90a and 90b, although the write / read operation is the reverse of the description of the transfer operation described above, the same control is performed for address control, and data is transferred.

図11は、図7に示す直交変換回路85のデータ転送に関連する部分の構成をより具体的に示す図である。図11において、直交変換回路85は、イネーブルレジスタ94cに格納されるイネーブルビットENとリード/ライト方向レジスタ94dに格納されるデータ転送方向指示ビット(書込/読出指示ビット)R/Wに従って転送方向制御信号TRDを生成し、システムバスアクセス回数カウンタ93aおよびメモリセルマットアクセス回数カウンタ93bの活性化シーケンスを設定するとともに、内部メモリバス77および内部データバス96のバス占有状況をモニタするアクセスシーケンス制御回路100と、システムバスアクセス回数カウンタ93aからのカウント値と有効ビット幅レジスタ94eに格納される有効ビット幅情報mとに従ってH方向のワード線WLHを選択するHアドレスHRAを発生するHアドレス発生回路102と、メモリセルマットアクセス回数カウンタ93bのカウント値に従ってメモリセルマット転送用のV方向ワード線WLVを選択するVアドレスVRAを発生するVアドレス発生回路104を含む。   FIG. 11 is a diagram more specifically showing a configuration of a portion related to data transfer of orthogonal transform circuit 85 shown in FIG. In FIG. 11, the orthogonal transform circuit 85 transfers the transfer direction according to the enable bit EN stored in the enable register 94c and the data transfer direction instruction bit (write / read instruction bit) R / W stored in the read / write direction register 94d. An access sequence control circuit that generates control signal TRD, sets the activation sequence of system bus access count counter 93a and memory cell mat access count counter 93b, and monitors the bus occupation status of internal memory bus 77 and internal data bus 96 100 and an H address generation circuit 102 for generating an H address HRA for selecting the word line WLH in the H direction according to the count value from the system bus access number counter 93a and the effective bit width information m stored in the effective bit width register 94e. When Including V address generation circuit 104 for generating a V address VRA for selecting the V direction word line WLV for memory cell mat transfer accordance with the count value of the memory cell mat access number counter 93 b.

アクセスシーケンス制御回路100は、イネーブルレジスタ94cのイネーブルビットENがアサートされると、リード/ライト方向レジスタ94dに格納される転送方向指示ビットR/Wに従ってシステムバスアクセス回数カウンタ93aおよびメモリセルマットアクセス回数カウンタ93bのいずれを先に活性化するかを設定するとともに、直交メモリ90aおよび90bにおいて、いずれの方向からのデータ転送を先に実行するかを制御する転送方向制御信号TRDを生成する。   When the enable bit EN of the enable register 94c is asserted, the access sequence control circuit 100 determines the system bus access count counter 93a and the memory cell mat access count according to the transfer direction instruction bit R / W stored in the read / write direction register 94d. In addition to setting which of the counters 93b is to be activated first, the orthogonal memories 90a and 90b generate a transfer direction control signal TRD for controlling which direction data transfer is to be executed first.

H(水平)方向ワード線WLHが、直交メモリ90aおよび90bにおいて、各エントリに対応して配置され、V(垂直)方向ワード線WLVが、複数のエントリに共通に配置される。内部システムバス77との間でのデータ転送時には水平方向ワード線WLHが選択され、メモリセルマット30との間のデータ転送時には、垂直方向ワード線WLVが選択される。   An H (horizontal) direction word line WLH is arranged corresponding to each entry in the orthogonal memories 90a and 90b, and a V (vertical) direction word line WLV is arranged commonly to a plurality of entries. At the time of data transfer with the internal system bus 77, the horizontal word line WLH is selected, and at the time of data transfer with the memory cell mat 30, the vertical direction word line WLV is selected.

Hアドレス発生回路102が、システムバスアクセス回数カウンタ93aのカウント値を初期アドレスとして、有効ビット幅レジスタ94eからの有効ビット幅情報mに従ってその初期値から有効幅ビット情報mで決定される回数、すなわちL/m回、水平方向ワード線(エントリ)を指定するHアドレスをインクリメントする。選択された各エントリに対して1つの単位データが格納される。   The H address generation circuit 102 uses the count value of the system bus access frequency counter 93a as an initial address, and the number of times determined by the effective width bit information m from the initial value according to the effective bit width information m from the effective bit width register 94e, that is, The H address designating the horizontal word line (entry) is incremented L / m times. One unit data is stored for each selected entry.

直交メモリ90aおよび90bは同一構成を有するため、図11においては、直交メモリ90aの構成を代表的に示す。直交メモリ90aは、直交メモリセルが行列状に配列される直交メモリセルアレイ110と、直交メモリセルアレイ110の水平方向ワード線WLHを選択するHワード線選択回路111と、直交メモリセルアレイ110の垂直方向のワード線WLVを選択するVワード線選択回路112と、有効ビット幅情報mに応じて内部データバス97と選択された水平方向ワード線WLH上の直交メモリセルとの間のデータ転送を有効ビット幅単位で実行するH入出力回路113と、内部データバス98と選択された垂直方向ワード線WLVに接続されるメモリセルとの間でデータの転送を行なうV入出力回路114と、HアドレスHRA、有効ビット幅情報mおよび転送方向制御信号TRDに従って、Hワード線選択回路111およびH入出力回路113の動作を制御するH系制御回路115と、VアドレスVRAと転送方向制御信号TRDに従って、Vワード線選択回路112およびV入出力回路114の動作を制御するV系制御回路116を含む。   Since the orthogonal memories 90a and 90b have the same configuration, FIG. 11 representatively shows the configuration of the orthogonal memory 90a. The orthogonal memory 90 a includes an orthogonal memory cell array 110 in which orthogonal memory cells are arranged in a matrix, an H word line selection circuit 111 that selects a horizontal word line WLH of the orthogonal memory cell array 110, and a vertical direction of the orthogonal memory cell array 110. Data transfer between the V word line selection circuit 112 that selects the word line WLV and the orthogonal memory cells on the horizontal word line WLH selected in accordance with the effective bit width information m and the internal data bus 97 is effective bit width. H input / output circuit 113 executed in units, V input / output circuit 114 for transferring data between internal data bus 98 and memory cells connected to selected vertical word line WLV, H address HRA, H word line selection circuit 111 and H input / output circuit according to effective bit width information m and transfer direction control signal TRD And H control circuit 115 for controlling the operation of 13, according to V address VRA and the transfer direction control signal TRD, including V system control circuit 116 for controlling the operation of the V word line selection circuit 112 and the V output circuit 114.

H系制御回路115は、有効ビット幅情報mに従って、H入出力回路113における有効ビット幅単位でのデータの入出力の制御を行ない、また、Hワード線選択回路111を制御して、1回のバスアクセスサイクルに含まれる単位データDTEの数に応じた回数水平方向ワード線WLHを選択状態へ駆動する。   The H-system control circuit 115 controls the input / output of data in the effective bit width unit in the H input / output circuit 113 according to the effective bit width information m, and controls the H word line selection circuit 111 once. The horizontal word line WLH is driven to the selected state a number of times corresponding to the number of unit data DTE included in the bus access cycle.

V系制御回路112は、Vワード線選択回路112を制御して、有効ビット幅情報mで示される回数、垂直方向ワード線を選択する。また、V入出力回路114は、V系制御回路116の制御の下に、選択された垂直ワード線WLVに接続されるメモリセルとの間でデータを転送する。   The V-system control circuit 112 controls the V word line selection circuit 112 to select the vertical direction word line by the number of times indicated by the effective bit width information m. The V input / output circuit 114 transfers data to / from memory cells connected to the selected vertical word line WLV under the control of the V-system control circuit 116.

これらのH系制御回路115およびV系制御回路116は、互いに、Hアドレス発生回路102およびVアドレス発生回路104のアドレスHRAおよびVRAの最上位ビットに従って活性化される。すなわち、これらのHアドレスHRAおよびVアドレスVRAの最上位ビットを、直交メモリ90aおよび90bの活性化信号として利用する。したがって、Hアドレス発生回路102およびVアドレス発生回路104は、それぞれ、システムバスアクセス回数カウンタ93aおよびメモリセルマットアクセス回数カウンタ93bのカウント値の最上位ビット位置に、チップ選択信号に相当する直交メモリ選択ビットを付加して、HアドレスHRAおよびVアドレスVRAを発生する。   These H system control circuit 115 and V system control circuit 116 are activated according to the most significant bits of addresses HRA and VRA of H address generation circuit 102 and V address generation circuit 104, respectively. That is, the most significant bits of H address HRA and V address VRA are used as activation signals for orthogonal memories 90a and 90b. Therefore, the H address generation circuit 102 and the V address generation circuit 104 respectively select the orthogonal memory corresponding to the chip selection signal at the most significant bit position of the count values of the system bus access number counter 93a and the memory cell mat access number counter 93b. A bit is added to generate an H address HRA and a V address VRA.

また、これらのH系制御回路115およびV系制御回路116は、それぞれのアドレス信号HRAおよびVRAが最終値に到達した場合、自身の動作を制御し、次の動作制御権を相手方に手渡す。すなわち、Hワード線選択回路111が、最終水平方向のワード線を選択して単位データの転送を完了すると、H系制御回路115は、自身の動作を停止して、次に、V系制御回路116をイネーブルする。これにより、直交メモリ90aおよび90bにおいて、同一位置のデータに対する書込および読出の競合が生じるのを防止する。   Further, these H-system control circuit 115 and V-system control circuit 116 control their operations when the respective address signals HRA and VRA reach the final values, and hand over the next operation control right to the other party. That is, when the H word line selection circuit 111 selects the final horizontal word line and completes the transfer of the unit data, the H system control circuit 115 stops its own operation, and then the V system control circuit 116 is enabled. As a result, in the orthogonal memories 90a and 90b, it is possible to prevent a conflict between writing and reading with respect to data at the same position.

直交メモリ90aおよび90bのバスの占有状態は、また、アクセスシーケンス制御回路100が、カウンタ93aおよび93bが初期化されたかどうかを示すカウントアップ信号に基づいてモニタする。アクセスシーケンス制御回路100は、これらのカウンタ93aおよび93bがともにカウントアップが完了するまで、次のカウント動作を停止する。これにより、直交メモリ90aおよび90bにおいて、一方が、システムバスとのデータ転送(水平方向データ転送)を行なっているときに、別の直交メモリが、データの水平方向転送を開始するのを防止する。   The occupied state of the buses of the orthogonal memories 90a and 90b is also monitored by the access sequence control circuit 100 based on a count-up signal indicating whether the counters 93a and 93b are initialized. Access sequence control circuit 100 stops the next counting operation until both counters 93a and 93b complete counting up. This prevents one of the orthogonal memories 90a and 90b from starting another horizontal transfer of data when one is performing data transfer (horizontal data transfer) with the system bus. .

直交メモリ90aおよび90b内においては、H系制御回路115およびV系制御回路116によるハンドシェイク態様の制御により、内部での、必要な数のワード線の選択が完了した後に、水平方向と垂直方向のワード線選択動作が切換えられる。   In the orthogonal memories 90a and 90b, the H-direction control circuit 115 and the V-system control circuit 116 control the handshake mode, and after the necessary number of word lines are selected internally, the horizontal direction and the vertical direction The word line selection operation is switched.

システムバス直交メモリI/F91は、Hアドレス発生回路102から出力されるアドレスタイミング制御信号HRAFと有効ビット幅レジスタ94eからの有効ビット幅情報mとに従って、経路制御信号を生成する経路制御回路120と、この経路制御回路120からの経路制御信号に従って、データバス96および97の間のデータ転送経路を設定し、設定された経路に従ってデータを転送する経路設定回路122を含む。   The system bus orthogonal memory I / F 91 includes a path control circuit 120 that generates a path control signal according to the address timing control signal HRAF output from the H address generation circuit 102 and the effective bit width information m from the effective bit width register 94e. A path setting circuit 122 that sets a data transfer path between the data buses 96 and 97 in accordance with a path control signal from the path control circuit 120 and transfers data according to the set path is included.

Hアドレス発生回路102から発生されるアドレスタイミング制御信号HRAFは、HアドレスHRAの変化よりも早いタイミングで活性化される信号である。経路制御回路120は、このアドレスタイミング制御信号HRAFに従って経路設定回路122におけるデータ転送経路を設定する。これにより、直交メモリ90aおよび90b内において、水平方向ワード線選択時、H入出力回路113とデータバス96の間の接続経路をワード線選択より早いタイミングで設定する。   The address timing control signal HRAF generated from the H address generation circuit 102 is a signal activated at a timing earlier than the change of the H address HRA. The path control circuit 120 sets a data transfer path in the path setting circuit 122 according to the address timing control signal HRAF. Thus, in the orthogonal memories 90a and 90b, when the horizontal word line is selected, the connection path between the H input / output circuit 113 and the data bus 96 is set at an earlier timing than the word line selection.

Kビットの内部データバス98は、メモリセルマット直交メモリI/F92を介して内部メモリバス77に結合される。この内部データバス98と内部メモリバス77のビット幅KおよびJが等しい場合には、メモリセルマット直交メモリI/F92は、この内部データバス98を内部メモリバス77に接続し、かつデータ転送のタイミング調整を行う回路として機能する。   K-bit internal data bus 98 is coupled to internal memory bus 77 via memory cell mat orthogonal memory I / F 92. When bit widths K and J of internal data bus 98 and internal memory bus 77 are equal, memory cell mat orthogonal memory I / F 92 connects internal data bus 98 to internal memory bus 77 and performs data transfer. Functions as a circuit for adjusting timing.

アクセスシーケンス制御回路100からの転送方向制御信号TRDに従って、H入出力回路113およびV入出力回路114において入力回路(ライト回路)および出力回路(リード回路)のいずれが活性化されるかが決定される。   In accordance with transfer direction control signal TRD from access sequence control circuit 100, it is determined which of input circuit (write circuit) and output circuit (read circuit) is activated in H input / output circuit 113 and V input / output circuit 114. The

図12は、図11に示すシステムバス直交メモリI/Fに含まれる経路設定回路122と直交メモリ90aおよび90bのH入出力回路113の構成を概略的に示す図である。図12においては、直交メモリ90aおよび90bのH入出力回路113が同一構成を有するため、1つの直交メモリのH入出力回路113を代表的に示す。   12 schematically shows a configuration of path setting circuit 122 and H input / output circuit 113 of orthogonal memories 90a and 90b included in system bus orthogonal memory I / F shown in FIG. In FIG. 12, since the H input / output circuit 113 of the orthogonal memories 90a and 90b has the same configuration, the H input / output circuit 113 of one orthogonal memory is representatively shown.

また、図12においては、システムバスが32ビット幅であり、有効ビット幅mの最小値は8ビット、転送単位データのビット幅候補は、8ビット、16ビットおよび32ビットの場合の構成を示す。有効ビット幅情報mと内部システムバスのバス幅Lの関係に応じて、この構成は、適切に変更または拡張される。   In FIG. 12, the system bus is 32 bits wide, the minimum effective bit width m is 8 bits, and the bit width candidates for transfer unit data are 8 bits, 16 bits, and 32 bits. . Depending on the relationship between the valid bit width information m and the bus width L of the internal system bus, this configuration is appropriately changed or expanded.

内部データバス96は、各々が8ビット幅のサブデータバス96a−96dを含み、内部データバス97も、各々が8ビット幅のサブデータバス97a−97dを含む。この内部データバス96および97のデータバスのビット幅は、有効ビット幅情報mが指定する有効ビット幅mの最小値により決定される。   Internal data bus 96 includes sub-data buses 96a-96d each having an 8-bit width, and internal data bus 97 also includes sub-data buses 97a-97d each having an 8-bit width. The bit width of the data buses of the internal data buses 96 and 97 is determined by the minimum value of the effective bit width m specified by the effective bit width information m.

H入出力回路113は、これらのサブデータバス97a−97dそれぞれに対して設けられるリード/ライト回路113a−113dを含む。リード/ライト回路113aは、活性化信号ENAに従って活性化され、リード/ライト回路113bは、活性化信号16/32・ENAに従って活性化される。活性化信号16/32・ENAは、有効ビット幅情報mが16ビットまたは32ビットを示すときに、活性化信号ENAと並行して活性化される。リード/ライト回路113cおよび113dは、それぞれ活性化信号32・ENAに従って活性化される。この活性化信号32・ENAは、有効ビット幅情報mが32ビットを示すときに、活性化信号ENAと並行して活性化される。これらの活性化信号は、図11に示すH系制御回路115から与えられる。   H input / output circuit 113 includes read / write circuits 113a-113d provided for sub data buses 97a-97d. The read / write circuit 113a is activated according to the activation signal ENA, and the read / write circuit 113b is activated according to the activation signal 16/32 · ENA. The activation signal 16/32 · ENA is activated in parallel with the activation signal ENA when the effective bit width information m indicates 16 bits or 32 bits. Read / write circuits 113c and 113d are activated in accordance with activation signal 32 · ENA, respectively. The activation signal 32 • ENA is activated in parallel with the activation signal ENA when the effective bit width information m indicates 32 bits. These activation signals are supplied from the H-system control circuit 115 shown in FIG.

これらのリード/ライト回路113a−113dにおいて、たとえばセンスアンプで構成されるリード回路と、例えばライトドライバで構成されるライト回路のいずれが活性化されるかは、図11に示すアクセスシーケンス制御回路100からの転送方向制御信号TRDに従って決定される。   In these read / write circuits 113a to 113d, which one of the read circuit constituted by, for example, a sense amplifier and the write circuit constituted by, for example, a write driver is activated is shown in FIG. Is determined in accordance with the transfer direction control signal TRD.

このH入出力回路113において、8ビット単位でリード/ライト回路113a−113dを選択的に活性化することができ、直交メモリセルアレイ110に対し、8ビットデータの入出力、16ビットデータの入出力および32ビットデータの入出力を行なうことができる。8ビットデータおよび16ビットデータの転送時、1回のバスアクセスサイクルで転送される単位データが、異なるエントリにおける同一位置に格納される。   In this H input / output circuit 113, read / write circuits 113a-113d can be selectively activated in units of 8 bits, and input / output of 8-bit data and input / output of 16-bit data to / from the orthogonal memory cell array 110. And 32-bit data can be input / output. When transferring 8-bit data and 16-bit data, unit data transferred in one bus access cycle is stored at the same position in different entries.

経路設定回路122は、32ビットデータ転送制御信号m32に従ってサブデータバス96a−96dを、サブデータバス97a−97dにそれぞれ接続する32ビットデータ転送部122aと、16ビットデータ転送制御信号m16aおよびm16bに従って、サブデータバス96aおよび96bを、それぞれサブデータ97aおよび97bに接続しかつサブデータバス96cおよび96dをサブデータバス97aおよび97bに結合する16ビットデータ転送部122bと、8ビットデータ転送制御信号m8a−m8dに従って、サブデータバス96a−96dを、サブデータバス97aに順次結合する8ビットデータ転送部122cを含む。   The path setting circuit 122 is configured to connect the sub data buses 96a to 96d to the sub data buses 97a to 97d according to the 32-bit data transfer control signal m32 and the 16-bit data transfer control signals m16a and m16b, respectively. 16-bit data transfer unit 122b connecting sub-data buses 96a and 96b to sub-data buses 97a and 97b and coupling sub-data buses 96c and 96d to sub-data buses 97a and 97b, respectively, and 8-bit data transfer control signal m8a In accordance with -m8d, an 8-bit data transfer unit 122c that sequentially couples sub data buses 96a-96d to sub data bus 97a is included.

32ビットデータ転送部122aは、サブデータバス96a−96dそれぞれに対して設けられ、32ビットデータ転送制御信号m32に従って選択的に導通する8ビットトランスファーゲートTX1−TX4を含む。この32ビットデータ転送制御信号m32は、1システムバスアクセスサイクルにおいて1回活性化される。   32-bit data transfer unit 122a includes 8-bit transfer gates TX1-TX4 that are provided for sub-data buses 96a-96d and are selectively turned on in accordance with 32-bit data transfer control signal m32. This 32-bit data transfer control signal m32 is activated once in one system bus access cycle.

16ビットデータ転送部122bは、16ビットデータ転送制御信号m16aに従って、サブデータバス96aおよび96bを、それぞれサブデータバス97aおよび97bに結合する8ビットトランスファーゲートTX5およびTX6と、16ビットデータ転送制御信号m16bに従って、サブデータバス96cおよび96dを、それぞれサブデータバス97aおよび97bに結合する8ビットトランスファーゲートTX7およびTX8を含む。これらの16ビット転送制御信号m16aおよびm16bは、1システムバスアクセスサイクルにおいて順次1回活性化される。   16-bit data transfer unit 122b, according to 16-bit data transfer control signal m16a, 8-bit transfer gates TX5 and TX6 coupling sub-data buses 96a and 96b to sub-data buses 97a and 97b, respectively, and 16-bit data transfer control signal According to m16b, sub-data buses 96c and 96d include 8-bit transfer gates TX7 and TX8 that couple to sub-data buses 97a and 97b, respectively. These 16-bit transfer control signals m16a and m16b are sequentially activated once in one system bus access cycle.

8ビットデータ転送部122cは、サブデータバス96aを8ビットデータ転送制御信号m8aに従ってサブデータバス97aに接続する8ビットトランスファーゲートTX9と、8ビットデータ転送制御信号m8bに従ってサブデータバス96bをサブデータバス97aに結合する8ビットトランスファーゲートTX10と、8ビット転送制御信号m8cに従って、サブデータバス96cのサブデータバス97aに接続する8ビットトランスファーゲートTX11と、8ビット転送制御信号m8dに従って、サブデータバス96dをサブデータバス97aに結合する8ビットトランスファーゲートTX12を含む。これらの8ビットデータ転送制御信号m8a−m8dは、1つのシステムバスアクセスサイクルにおいて順次1回活性化される。   The 8-bit data transfer unit 122c connects the sub-data bus 96a to the sub-data bus 97a according to the 8-bit data transfer control signal m8a, and the sub-data bus 96b to the sub-data according to the 8-bit data transfer control signal m8b. An 8-bit transfer gate TX10 coupled to the bus 97a, an 8-bit transfer control signal m8c, an 8-bit transfer gate TX11 connected to the sub-data bus 97a of the sub-data bus 96c, and an 8-bit transfer control signal m8d. 96d includes an 8-bit transfer gate TX12 that couples to sub-data bus 97a. These 8-bit data transfer control signals m8a-m8d are sequentially activated once in one system bus access cycle.

これらのデータ転送制御信号m32、m16a,m16bおよびm8a−8dは、図11に示す経路制御回路120から生成される。   These data transfer control signals m32, m16a, m16b and m8a-8d are generated from the path control circuit 120 shown in FIG.

したがって、有効ビット幅情報mが32ビットを示すとき、内部データバス96のサブデータバス96a−96dが、それぞれ、サブデータバス97a−97dに結合されて、それぞれに8ビットデータが伝達される。リード/ライト回路113a−113dは、すべて活性化される。したがって、直交メモリセルアレイ110において、水平方向ワード線WLHが選択された場合、この水平方向ワード線WLHに接続される1エントリの32ビットのメモリセルに対し並列にデータAの転送(書込または読出)が行われる。   Therefore, when effective bit width information m indicates 32 bits, sub data buses 96a-96d of internal data bus 96 are coupled to sub data buses 97a-97d, respectively, and 8-bit data is transmitted to each. Read / write circuits 113a-113d are all activated. Therefore, when horizontal word line WLH is selected in orthogonal memory cell array 110, data A is transferred (written or read) in parallel to one entry of 32-bit memory cells connected to horizontal word line WLH. ) Is performed.

有効ビット幅情報mが16ビットを示すときには、まず、サブデータバス96aおよび96bが、サブデータバス97aおよび97bにそれぞれ接続される。リード/ライト回路113aおよび113bが並行して活性化され、一方、リード/ライト回路113cおよび113dは、非活性状態にある。したがって、データ書込モード時、サブデータバス97aおよび97bに伝達された16ビットデータが、直交メモリセルアレイ110において格納される。このデータ格納後、次いで、転送制御信号m16bが活性化され、サブデータバス96cおよび96dがサブデータバス97aおよび97bに結合される。このとき、直交メモリセルアレイ110において、別の水平方向ワード線が選択され、リード/ライト回路113aおよび113bにより、転送データが、選択水平方向ワード線に接続されるメモリセルに書込まれる。したがって、直行メモリセルアレイ10内において16ビットデータAおよびBが、順次、異なるエントリに格納される(読出モード時にはデータが読出される)。   When valid bit width information m indicates 16 bits, first, sub data buses 96a and 96b are connected to sub data buses 97a and 97b, respectively. Read / write circuits 113a and 113b are activated in parallel, while read / write circuits 113c and 113d are in an inactive state. Therefore, in the data write mode, 16-bit data transmitted to sub data buses 97a and 97b is stored in orthogonal memory cell array 110. After this data storage, transfer control signal m16b is then activated, and sub data buses 96c and 96d are coupled to sub data buses 97a and 97b. At this time, another horizontal word line is selected in the orthogonal memory cell array 110, and the read / write circuits 113a and 113b write the transfer data to the memory cells connected to the selected horizontal word line. Therefore, 16-bit data A and B are sequentially stored in different entries in direct memory cell array 10 (data is read in the read mode).

有効ビット幅情報mが8ビットを示すときには、まず、転送制御信号m8aにより、サブデータバス96aがサブデータ97aに結合される。このとき、リード/ライト回路113aが活性化され、リード/ライト回路113bないし113dは、非活性状態に維持される。直交メモリセルアレイ110において、水平方向ワード線が選択状態へ駆動されると、選択されたメモリセルとの間で、最初の8ビットデータAの転送が行われる。以降、転送制御信号m8b−m8dが、順次活性化されると、サブデータバス96b−96dが、それぞれ順次、サブデータバス97aに結合される。このサブデータバスの接続に応じて、直交メモリセルアレイ110において順次異なる水平方向ワード線が選択され、異なる水平方向ワード線に接続されるメモリセルとの間で8ビットデータB、CおよびDが順次転送される。   When the effective bit width information m indicates 8 bits, first, the sub data bus 96a is coupled to the sub data 97a by the transfer control signal m8a. At this time, the read / write circuit 113a is activated, and the read / write circuits 113b to 113d are maintained in an inactive state. In the orthogonal memory cell array 110, when the horizontal word line is driven to the selected state, the first 8-bit data A is transferred to and from the selected memory cell. Thereafter, when transfer control signals m8b-m8d are sequentially activated, sub data buses 96b-96d are sequentially coupled to sub data bus 97a. In accordance with the connection of the sub data buses, different horizontal word lines are sequentially selected in the orthogonal memory cell array 110, and 8-bit data B, C, and D are sequentially transferred to and from memory cells connected to different horizontal word lines. Transferred.

SDRAMにおいて1回のバスアクセスで複数エントリのデータを転送し、直交変換回路85内において、単位データを順次異なるエントリに格納する。この場合、直交変換回路85において、L/m回の水平ワード線選択動作が必要となる。しかしながら、直交変換回路における直交メモリは、SRAMであり、高速で直交メモリセルの選択およびデータの内部転送(書込/読出)を行なうことができ、外部のSDRAMとの間でエントリごとに単位データを順次転送する場合に比べて高速のデータ転送を実現することができる。   In the SDRAM, data of a plurality of entries is transferred by one bus access, and unit data is sequentially stored in different entries in the orthogonal transform circuit 85. In this case, in the orthogonal transform circuit 85, L / m horizontal word line selection operations are required. However, the orthogonal memory in the orthogonal transform circuit is an SRAM, and can select an orthogonal memory cell and perform internal data transfer (write / read) at a high speed, and unit data for each entry with an external SDRAM. Compared to the sequential transfer, it is possible to realize high-speed data transfer.

このシステムバス直交メモリI/F91において、水平方向ワード線の複数回選択におけるメモリセルデータ転送の速度と、外部のSDRAMとの間の転送速度の差を緩衝するためにバッファメモリが設けられてもよい。たとえば、システムバスが32ビットバスであり、単位データが8ビットの場合、直交変換回路において4回水平方向ワード線を選択状態へ駆動することが必要となる。最大4段のFIFO型の23ビット幅バッファメモリを設けることにより、直交メモリの1アクセスサイクル時間とシステムバスの1データ転送サイクル(バスアクセスサイクル)時間が同じ場合でも、このバッファメモリを利用することにより、システムバスの転送サイクルに影響を及ぼすことなく直交変換回路内において異なるエントリを複数回選択して、データの転送を行なうことができる。   In this system bus orthogonal memory I / F 91, even if a buffer memory is provided to buffer the difference between the transfer speed of the memory cell data in the multiple selection of the horizontal word line and the transfer speed with the external SDRAM. Good. For example, when the system bus is a 32-bit bus and the unit data is 8 bits, it is necessary to drive the horizontal word line to the selected state four times in the orthogonal transformation circuit. By providing up to four stages of FIFO type 23-bit width buffer memory, even when one access cycle time of the orthogonal memory and one data transfer cycle (bus access cycle) time of the system bus are the same, this buffer memory should be used. Thus, it is possible to select different entries in the orthogonal transform circuit a plurality of times and transfer data without affecting the system bus transfer cycle.

[変更例]
図13(A)および図13(B)は、この発明の実施の形態1の変更例の直交変換回路85の要部の構成を概略的に示す図である。図13(A)において、直交メモリ90aおよび90bと内部メモリバス77の間のインターフェイスをとるメモリセルマット直交メモリI/F92において、バス幅変換回路130が設けられる。このバス幅変換回路130は、メモリセルマットアクセス回数カウンタ93bからのカウント値CNTと有効ビット幅情報mとに従って、内部データバス98と内部メモリバス77の間の接続経路を切換える。内部データバス98はKビットであり、内部メモリバス77のビット幅はJであり、内部メモリバス77のビット幅Jは、内部データバス98のビット幅Kよりも大きい。
[Example of change]
FIGS. 13A and 13B are diagrams schematically showing a configuration of a main part of orthogonal transform circuit 85 according to a modification of the first embodiment of the present invention. In FIG. 13A, a bus width conversion circuit 130 is provided in a memory cell mat orthogonal memory I / F 92 having an interface between the orthogonal memories 90 a and 90 b and the internal memory bus 77. The bus width conversion circuit 130 switches the connection path between the internal data bus 98 and the internal memory bus 77 according to the count value CNT from the memory cell mat access frequency counter 93b and the effective bit width information m. The internal data bus 98 is K bits, the bit width of the internal memory bus 77 is J, and the bit width J of the internal memory bus 77 is larger than the bit width K of the internal data bus 98.

図13(B)は、この図13(A)に示すバス幅変換回路130の構成をより具体的に示す図である。図13(B)において、内部メモリバス77は、各々Kビットのバス幅を有するサブバス77S0−77Skに分割される。これらのサブバス77S0−77Skそれぞれに対応して各々Kビット幅のバスドライブ回路BDK0−BDKkが設けられる。バスドライブ回路BDK0−BDKkは、共通に、内部データバス98に結合される。これらのバスドライブ回路BDK0−BDKkの活性/非活性を制御するために、接続制御回路132が設けられる。この接続制御回路132は、図13(A)に示すメモリセルマットアクセス回数カウンタ93bからのカウント値CNTと有効ビット幅情報mとに従って、バスドライバ活性化信号ACT0−ACTkおよび補のバスドライバ活性化信号ZACT0−ZACTkを生成する。   FIG. 13B is a diagram more specifically showing the configuration of bus width conversion circuit 130 shown in FIG. In FIG. 13B, internal memory bus 77 is divided into sub-buses 77S0-77Sk each having a K-bit bus width. Corresponding to each of these sub-buses 77S0 to 77Sk, bus drive circuits BDK0 to BDKk each having a K-bit width are provided. Bus drive circuits BDK0-BDKk are commonly coupled to internal data bus 98. In order to control the activation / inactivation of these bus drive circuits BDK0 to BDKk, a connection control circuit 132 is provided. The connection control circuit 132 activates the bus driver activation signals ACT0 to ACTk and the complementary bus driver in accordance with the count value CNT and effective bit width information m from the memory cell mat access frequency counter 93b shown in FIG. Signals ZACT0-ZACTk are generated.

バスドライブ回路BDK0−BDKkは、同一の構成を有し、与えられる活性化信号が異なるだけであるため、これらのバスドライブ回路BDK0−BDKkにおいて同一の参照番号をその構成要素に対して付す。   Since bus drive circuits BDK0 to BDKk have the same configuration and only different activation signals are applied, the same reference numerals are assigned to the components in bus drive circuits BDK0 to BDKk.

バスドライブ回路BDK0−BDKkの各々は、対応のバスドライバ活性化信号ACT0−ACTkの活性化時活性化され、内部データバス98と対応のサブデータバス77S0−77Skの間でデータを転送するバスドライバ133と、対応のサブデータバス77S0−77Skに結合される抵抗素子134と、対応の補のバスドライバ活性化信号ZACT0−ZACTkに従って選択的に導通し、対応の抵抗素子134を接地ノードに結合するスイッチング素子135を含む。   Each of bus drive circuits BDK0-BDKk is activated when a corresponding bus driver activation signal ACT0-ACTk is activated, and is a bus driver for transferring data between internal data bus 98 and corresponding sub data buses 77S0-77Sk. 133, resistance element 134 coupled to corresponding sub data buses 77S0-77Sk, and selectively conductive according to corresponding complementary bus driver activation signals ZACT0-ZACTk, coupling corresponding resistance element 134 to the ground node. A switching element 135 is included.

抵抗素子134およびスイッチング素子135の直列体は、スイッチング素子135の導通時、対応のサブバス77S0−77Skの各バス線を接地ノードに結合する。   A series body of resistance element 134 and switching element 135 couples each bus line of corresponding sub-bus 77S0-77Sk to the ground node when switching element 135 is conductive.

接続制御回路132は、メモリセルマットアクセス回数カウンタのカウント値CNTが有効ビット幅情報mに一致するごとに、活性化信号ACT0−ACTkを順次活性化する。バスドライバ133の活性化時、対応のスイッチング素子135は、非導通状態であり、内部データバス98から対応のサブデータバス77S0−77Skへのデータ転送時、有効データが転送される。非選択サブデータバスにおいては、スイッチング素子135が導通状態であり、抵抗素子134を介して接地ノードに結合される。   The connection control circuit 132 sequentially activates the activation signals ACT0 to ACTk every time the count value CNT of the memory cell mat access count counter matches the valid bit width information m. When bus driver 133 is activated, corresponding switching element 135 is in a non-conductive state, and valid data is transferred when data is transferred from internal data bus 98 to corresponding sub data buses 77S0-77Sk. In the non-selected sub data bus, switching element 135 is conductive and is coupled to the ground node via resistance element 134.

図14は、図13(A)および(B)に示すバス幅変換回路130による内部メモリバス77におけるデータ転送の状態を模式的に示す図である。図14において、サブバス77Siに有効データが転送され、残りのサブバス77S0…77S(i−1)、77S(i+1)…77Skにおいては、データ“0”が転送される。これにより、直交メモリ90aおよび90bとメモリセルマットの間のデータ転送時、内部データバス98と内部メモリバス77のバス幅が異なる場合においても、バス幅を変換してKビットの有効データを転送し、メモリセルマットにおいて対応のエントリ内に格納することができる。   FIG. 14 is a diagram schematically showing a state of data transfer in the internal memory bus 77 by the bus width conversion circuit 130 shown in FIGS. 13 (A) and 13 (B). In FIG. 14, valid data is transferred to the sub-bus 77Si, and data “0” is transferred to the remaining sub-buses 77S0 ... 77S (i-1), 77S (i + 1) ... 77Sk. Thus, when data is transferred between the orthogonal memories 90a and 90b and the memory cell mat, even when the internal data bus 98 and the internal memory bus 77 have different bus widths, the bus width is converted and K-bit valid data is transferred. However, it can be stored in the corresponding entry in the memory cell mat.

なお、バスドライバ133を双方向バスドライバで構成することにより、メモリセルマットから直交メモリへのデータ転送時においても、メモリセルマットから直交メモリへデータをKビット単位で転送することができる。ただし、エントリ位置情報に従って最初に活性化されるバスドライバに対する活性化信号を設定する。   By configuring the bus driver 133 as a bidirectional bus driver, data can be transferred from the memory cell mat to the orthogonal memory in units of K bits even when data is transferred from the memory cell mat to the orthogonal memory. However, an activation signal for the bus driver activated first is set according to the entry position information.

以上のように、この発明の実施の形態1に従えば、内部システムバスとメモリセルマットとの間のデータ転送時において、メモリセルマットのエントリ単位のデータのビット幅に応じて、直交変換回路において、直交メモリの1または複数のエントリ内に格納しており、システムバス上の転送データの単位データのビット幅に係らず、直交メモリにおいて正確にエントリパラレルかつビットシリアルなデータ列に変換することができ、また、その逆の変換も行うことができる。したがって、転送データの有効ビット幅がシステムバスのバス幅よりも小さい場合においても、1回のシステムバスアクセス時に複数の単位データを並行して転送することができ、システムバスアクセス回数を低減することができる。   As described above, according to the first embodiment of the present invention, at the time of data transfer between the internal system bus and the memory cell mat, an orthogonal transformation circuit is selected according to the bit width of data in entry units of the memory cell mat. The data is stored in one or more entries of the orthogonal memory and is accurately converted into an entry parallel and bit serial data string in the orthogonal memory regardless of the bit width of the unit data of the transfer data on the system bus. And vice versa. Therefore, even when the effective bit width of the transfer data is smaller than the bus width of the system bus, a plurality of unit data can be transferred in parallel during one system bus access, and the number of system bus accesses can be reduced. Can do.

また、メモリセルマットへ1回のアクセスサイクルで転送されたデータをビットシリアルに転送してメモリセルマット内で転送データの並べ替えを行なう場合に比べて、メモリセルマットとの間のデータ転送に要するサイクル数を低減することができ、データ転送サイクル時間が処理能力向上に対するボトルネックとなるのを防止することができ、高速処理を実現する事ができる。   Compared with the case where the data transferred to the memory cell mat in one access cycle is transferred bit-serially and the transfer data is rearranged in the memory cell mat, the data transfer to and from the memory cell mat is performed. The number of cycles required can be reduced, the data transfer cycle time can be prevented from becoming a bottleneck for improving the processing capability, and high-speed processing can be realized.

[実施の形態2]
図15は、この発明の実施の形態2に従う直交変換回路85の構成を概略的に示す図である。図15においても、直交メモリ90aおよび90bは同一構成を有するため、直交メモリ90aの構成を代表的に示す。
[Embodiment 2]
FIG. 15 schematically shows a configuration of orthogonal transform circuit 85 according to the second embodiment of the present invention. Also in FIG. 15, since the orthogonal memories 90a and 90b have the same configuration, the configuration of the orthogonal memory 90a is representatively shown.

この図15に示す直交変換回路85は以下の点で、図11に示す実施の形態1に従う直交変換回路とその構成が異なる。   The orthogonal transform circuit 85 shown in FIG. 15 differs from the orthogonal transform circuit according to the first embodiment shown in FIG. 11 in the following points.

すなわち、直交メモリ90aにおいて、直交メモリセルアレイ210は、エントリの延在方向に沿って、複数のメモリブロックBKa−BKdに分割される。この分割ブロック数は、有効ビット幅情報mの最小値のビット幅に応じて決定され、メモリブロックBKa−BKdはそれぞれ、最小値の有効ビット幅に等しいビット幅をそれぞれ有する。   That is, in the orthogonal memory 90a, the orthogonal memory cell array 210 is divided into a plurality of memory blocks BKa-BKd along the entry extending direction. The number of divided blocks is determined according to the minimum bit width of the effective bit width information m, and each of the memory blocks BKa to BKd has a bit width equal to the minimum effective bit width.

H入出力回路213は、メモリブロックBK0−BK3それぞれに対応して設けられる入出力回路を含み、各メモリブロック単位で、その活性/非活性が有効ビット幅情報に応じて制御される。   The H input / output circuit 213 includes input / output circuits provided corresponding to the memory blocks BK0 to BK3, and the activation / deactivation of each memory block is controlled according to the valid bit width information.

また、垂直方向ワード線VWLを選択するVワード線選択回路212は、V系制御回路216によりイネーブルされ、Vアドレス発生回路204からの垂直ワード線アドレスVRAおよび垂直ブロックアドレスVBKに従って、各メモリブロック単位で、垂直方向ワード線VWLの選択動作が選択的に活性化される。   The V word line selection circuit 212 for selecting the vertical word line VWL is enabled by the V-system control circuit 216, and each memory block unit according to the vertical word line address VRA and the vertical block address VBK from the V address generation circuit 204. Thus, the selection operation of the vertical word line VWL is selectively activated.

V入出力回路214は、垂直ブロック選択信号VDKに従って、選択ブロックBK0−BL3それぞれに対して設けられるグローバルIO線を選択的に、内部データバス198に結合する。この内部データバス198は、そのビット幅がK・K/m(min)である。ここで、m(min)は、有効ビット幅mの最小値を示す。   V input / output circuit 214 selectively couples the global IO line provided for each of selected blocks BK0 to BL3 to internal data bus 198 in accordance with vertical block selection signal VDK. The internal data bus 198 has a bit width of K · K / m (min). Here, m (min) represents the minimum value of the effective bit width m.

Vアドレス発生回路204は、メモリセルマットアクセス回数カウンタ93bからのカウント値CNTと有効ビット幅レジスタ94eからの有効ビット幅情報mとに従って、垂直ワード線アドレスVRAおよび垂直ブロックアドレスVBKを生成する。   The V address generation circuit 204 generates a vertical word line address VRA and a vertical block address VBK according to the count value CNT from the memory cell mat access frequency counter 93b and the effective bit width information m from the effective bit width register 94e.

システムバス直交メモリI/F222は、Hアドレス発生回路102からのアドレスタイミング制御信号HRAFと有効ビット幅情報mとに従って、経路設定回路222の接続経路を確立する制御信号を生成する。経路設定回路222は、経路制御回路220の制御の下に、内部データバス97と内部データバス96の接続経路をダイナミックに切換える。データ書込時、たとえばデータバス96のビット幅Kが32ビットであり、有効ビット幅情報mが8ビットデータを示すときには、直交メモリセルアレイ210において、メモリブロックBK0に、順次8ビット単位データを格納した後、次のメモリブロックBK1に対して転送された単位データを順次書込む。最終的にブロックBK3に対してデータの書込が完了した時点で、この直交メモリ90aがフル状態となったと判定されて、Vワード線選択回路212により、垂直方向ワード線VWLの選択が行なわれる。この場合、有効ビット幅情報mが8ビット情報を示す場合には、メモリブロックBK0−BK3から、それぞれデータビットを読出すように、各メモリブロックBK0−BK3それぞれにおいて、同一位置の垂直方向ワード線VWLが選択状態へ駆動される。   The system bus orthogonal memory I / F 222 generates a control signal for establishing a connection path of the path setting circuit 222 according to the address timing control signal HRAF from the H address generation circuit 102 and the effective bit width information m. The path setting circuit 222 dynamically switches the connection path between the internal data bus 97 and the internal data bus 96 under the control of the path control circuit 220. When writing data, for example, when the bit width K of the data bus 96 is 32 bits and the effective bit width information m indicates 8-bit data, 8-bit unit data is sequentially stored in the memory block BK0 in the orthogonal memory cell array 210. After that, the unit data transferred to the next memory block BK1 is sequentially written. When the data writing to the block BK3 is finally completed, it is determined that the orthogonal memory 90a is full, and the V word line selection circuit 212 selects the vertical word line VWL. . In this case, when the effective bit width information m indicates 8-bit information, the vertical word line at the same position in each of the memory blocks BK0 to BK3 so as to read the data bits from the memory blocks BK0 to BK3. VWL is driven to the selected state.

メモリセルマット直交メモリI/F192は、有効ビット幅情報mの示すビット幅に応じて、内部データバス198の使用されるバス線の数が異なるため、この有効ビット幅情報mに応じて、内部データバス198のうちの有効データを転送するサブバスを内部メモリバス77に結合する。   In the memory cell mat orthogonal memory I / F 192, the number of bus lines used for the internal data bus 198 differs depending on the bit width indicated by the effective bit width information m. A sub bus for transferring valid data in data bus 198 is coupled to internal memory bus 77.

この図15に示す直交変換回路85の他の構成は、図11に示す直交変換回路の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。   The other configuration of the orthogonal transform circuit 85 shown in FIG. 15 is the same as that of the orthogonal transform circuit shown in FIG. 11, and corresponding portions are denoted by the same reference numerals, and detailed description thereof is omitted.

図16は、図15に示す直交メモリ90aおよび90bとシステムバス直交メモリI/F91の構成をより具体的に示す図である。直交メモリ90aおよび90bは同一構成を有するため、図16においては、直交メモリ90aの構成を代表的に示す。   FIG. 16 is a diagram more specifically showing the configuration of orthogonal memories 90a and 90b and system bus orthogonal memory I / F 91 shown in FIG. Since the orthogonal memories 90a and 90b have the same configuration, FIG. 16 representatively shows the configuration of the orthogonal memory 90a.

システムバス直交メモリI/F91において、経路制御回路220は、有効ビット幅情報mとアドレスタイミング制御信号HRAFとに従って、内部データバス96のサブデータバス96a−96dと内部データバス97のサブデータバス97a−97dの接続経路を設定する制御信号を生成する。   In the system bus orthogonal memory I / F 91, the path control circuit 220 includes the sub data buses 96a to 96d of the internal data bus 96 and the sub data bus 97a of the internal data bus 97 according to the effective bit width information m and the address timing control signal HRAF. A control signal for setting a connection path of −97d is generated.

経路設定回路222は、スイッチマトリクスで構成され、サブデータバス96a−96dとサブデータバス97a−97dの間の接続経路を、経路制御回路220からの経路制御信号に従って設定する。   The path setting circuit 222 includes a switch matrix, and sets a connection path between the sub data buses 96a to 96d and the sub data buses 97a to 97d according to a path control signal from the path control circuit 220.

直交メモリ90aにおいて、H入出力回路213は、メモリブロックBKa−BKdそれぞれに対応して設けられるリード/ライト回路213a−213dを含む。これらのリード/ライト回路213a−213dは、有効ビット幅情報mに従って、8ビット単位、16ビット単位、および32ビット単位で活性化される(有効ビット幅情報mが、8ビット、16ビットおよび32ビットを指定するとき)。   In the orthogonal memory 90a, the H input / output circuit 213 includes read / write circuits 213a-213d provided corresponding to the memory blocks BKa-BKd, respectively. These read / write circuits 213a to 213d are activated in units of 8 bits, 16 bits, and 32 bits according to the effective bit width information m (the effective bit width information m is 8 bits, 16 bits, and 32 bits). When specifying bits).

メモリブロックBKa−BKdそれぞれに対応して、ローカル入出力回路LIOKa−LIOKdが設けられる。これらのローカル入出力回路LIOKa−LIOKdは、それぞれ内部グローバルデータバスVIOa−VIOdを介してV入出力回路214との間でデータの転送を行なう。これらのグローバルデータバスVIOa−VIOdは、各々、Kビット幅(例えば32ビット幅)を有し、対応のメモリブロックの全エントリとの間でデータを並列に転送する。   Corresponding to each of memory blocks BKa-BKd, local input / output circuits LIOKa-LIOKd are provided. These local input / output circuits LIOKa to LIOKd transfer data to and from V input / output circuit 214 via internal global data buses VIOa to VIOD, respectively. Each of these global data buses VIOa to VIOd has a K-bit width (for example, a 32-bit width), and transfers data in parallel with all entries of the corresponding memory block.

V入出力回路214においては、これらのグローバルデータバスVIOa−VIOdそれぞれに対応してメイン入出力回路214a−214dが設けられ、また、メイン入出力回路214a−214dと内部データバス198のサブデータバス198a−198dの間の接続経路を設定するための経路切換回路214eが設けられる。この経路切換回路214eは、有効ビット幅情報mに従って、メイン入出力回路214a−214dとサブデータバス198a−198dの接続経路を確立する。   In V input / output circuit 214, main input / output circuits 214a-214d are provided corresponding to each of these global data buses VIOa-VIod, and main input / output circuits 214a-214d and sub data buses of internal data bus 198 are provided. A path switching circuit 214e for setting a connection path between 198a and 198d is provided. The path switching circuit 214e establishes a connection path between the main input / output circuits 214a to 214d and the sub data buses 198a to 198d according to the effective bit width information m.

メイン入出力回路214a−214dは、垂直ブロックアドレスVBKに従って選択的に活性化されて、活性化時、32ビットのデータを転送する。   The main input / output circuits 214a to 214d are selectively activated according to the vertical block address VBK and transfer 32-bit data when activated.

Vワード線選択回路212は、メモリブロックBKa−BKdそれぞれに対応して設けられるVデコード/ワード線ドライバ212a−212dを含む。これらのVデコード/ワード線ドライバ212a−212dは、図15に示すVアドレス発生回路204からの垂直ブロックアドレスVBKとワード線アドレスVRAに従って、垂直方向ワード線WLVを選択する。   V word line selection circuit 212 includes V decode / word line drivers 212a to 212d provided corresponding to memory blocks BKa to BKd, respectively. These V decode / word line drivers 212a-212d select vertical word lines WLV according to vertical block address VBK and word line address VRA from V address generation circuit 204 shown in FIG.

垂直ブロックアドレスVBKは、有効ビット幅情報mに従って選択的に縮退され、1メモリブロック単位、2メモリブロック単位および4メモリブロック単位のいずれかでの、垂直方向ワード線WLVの選択が実行される。したがって、Vデコード/ワード線ドライバ212a−212dは、垂直ブロックアドレスVBKが、対応のメモリブロックを指定しているときに活性化され、垂直ワード線アドレスVRAに従ってワード線選択動作を実行する。   The vertical block address VBK is selectively degenerated according to the effective bit width information m, and the selection of the vertical word line WLV is performed in one memory block unit, two memory block units, or four memory block units. Therefore, V decode / word line drivers 212a-212d are activated when vertical block address VBK designates a corresponding memory block, and execute a word line selection operation according to vertical word line address VRA.

これらのメモリブロックBKa−BKdに共通に、Hワード線選択回路111が設けられ、水平ワード線アドレスHRAに従って、これらのメモリブロックBKa−BKdに共通に設けられる水平方向ワード線WLHを選択状態に駆動する。しかしながら、このHワード線選択回路111も、メモリブロックBKa−BKdそれぞれに対応して設けられるローカルHワード線選択回路に分割され、メモリブロック単位で、水平方向ワード線が選択状態へ駆動される構成が用いられてもよい。   An H word line selection circuit 111 is provided in common to these memory blocks BKa-BKd, and a horizontal word line WLH provided in common to these memory blocks BKa-BKd is driven to a selected state in accordance with a horizontal word line address HRA. To do. However, H word line selection circuit 111 is also divided into local H word line selection circuits provided corresponding to memory blocks BKa to BKd, and the horizontal word line is driven to the selected state in units of memory blocks. May be used.

図17(A)−図17(C)は、図15および図16に示す直交変換回路における、内部システムバスからの8ビットデータの格納時の動作を模式的に示す図である。以下、図15、図16および図17を参照して、直交メモリ90aおよび90bのエントリ数Kが32ビットであり、有効ビット幅情報mが8ビットを示すときのシステムバスから直交メモリへのデータ転送動作について説明する。   FIGS. 17A to 17C are diagrams schematically showing an operation at the time of storing 8-bit data from the internal system bus in the orthogonal transformation circuit shown in FIGS. 15 and 16. Hereinafter, referring to FIGS. 15, 16 and 17, data from the system bus to the orthogonal memory when the number of entries K in the orthogonal memories 90a and 90b is 32 bits and the effective bit width information m indicates 8 bits. The transfer operation will be described.

図16に示す経路設定回路222は、経路制御回路220からの制御信号に従って、サブデータバス96a−96dを順次サブデータバス97aに結合する。H入出力回路213においては、図15に示すH系制御回路215の制御の下に、リード/ライト回路213aが活性化され、Hワード線選択回路111が、水平方向ワード線WLHを4回選択し、異なる水平方向ワード線を選択状態へ駆動する。これにより、図17(A)に示すように、メモリブロックBKaにおいて、8ビットデータA0−A3が、順次格納される。この格納動作は、先の実施の形態1の場合と同様である。   The path setting circuit 222 shown in FIG. 16 sequentially couples the sub data buses 96a to 96d to the sub data bus 97a in accordance with a control signal from the path control circuit 220. In the H input / output circuit 213, the read / write circuit 213a is activated under the control of the H-system control circuit 215 shown in FIG. 15, and the H word line selection circuit 111 selects the horizontal word line WLH four times. Then, different horizontal word lines are driven to the selected state. Thereby, as shown in FIG. 17A, 8-bit data A0 to A3 are sequentially stored in the memory block BKa. This storing operation is the same as in the case of the first embodiment.

メモリブロックBKaに対して、32エントリの単位データDTE(A0−A31)が格納されると、経路制御回路220は、経路設定回路222を制御して、サブデータバス96a−96dを、順次、サブデータバス97bに結合する。H系制御回路215(図15参照)は、メモリブロックBKbに対して設けられるリード/ライト回路213bを各単位データに応じて活性化する。この場合においても、Hワード線選択回路111が、水平方向ワード線WLHを、先頭位置から順次選択状態へ駆動し、メモリブロックBK1において、次の32エントリの8ビットデータA32−A63が順次格納される(図17(B))。   When the 32-entry unit data DTE (A0-A31) is stored in the memory block BKa, the path control circuit 220 controls the path setting circuit 222 to sequentially connect the sub data buses 96a to 96d to the sub data buses 96a to 96d. Coupled to data bus 97b. The H-system control circuit 215 (see FIG. 15) activates the read / write circuit 213b provided for the memory block BKb according to each unit data. Also in this case, the H word line selection circuit 111 sequentially drives the horizontal word lines WLH from the head position to the selected state, and the next 32-entry 8-bit data A32-A63 is sequentially stored in the memory block BK1. (FIG. 17B).

この動作が、次いで、リード/ライト回路213cに対しても行なわれ、メモリブロックBKcに32エントリの8ビットデータが格納されると、最後は、経路設定回路222が、これらのサブデータバス96a−96dを、順次サブデータバス97dに結合し、メモリブロックBKeに対するデータの書込が実行される。この場合においても、Hワード線選択回路111が、先頭位置から順次水平方向ワード線WLHを各バスアクセスサイクルごとに4回活性化し、次の32エントリの8ビットデータA96−A127が順次格納される。これにより、メモリブロックBKa−BKdにおいて、128個の8ビットデータA0−A127が格納される。直交メモリ90aがフル状態とされると、次いで、直交メモリ90bにおいて同様の動作が実行される。   This operation is also performed on the read / write circuit 213c, and when 32 entries of 8-bit data are stored in the memory block BKc, the path setting circuit 222 ends up with these sub data buses 96a- 96d is sequentially coupled to the sub data bus 97d, and data writing to the memory block BKe is executed. Also in this case, the H word line selection circuit 111 sequentially activates the horizontal word line WLH four times for each bus access cycle from the head position, and the next 32 entries of 8-bit data A96 to A127 are sequentially stored. . Thereby, 128 pieces of 8-bit data A0 to A127 are stored in the memory blocks BKa to BKd. When the orthogonal memory 90a is full, the same operation is then performed in the orthogonal memory 90b.

したがって、このデータ書込動作においては、リード/ライト回路213a−213d各々が、K回(32回)データの書込を行なった後に、順次その活性化状態がシフトされる。経路制御回路220は、したがって、Hアドレス発生回路102から発生されるアドレスが32回発生されるごとに、経路設定回路222の接続先を順次シフトさせる。   Therefore, in this data writing operation, each of read / write circuits 213a-213d sequentially shifts its activation state after writing data K times (32 times). Therefore, the path control circuit 220 sequentially shifts the connection destination of the path setting circuit 222 every time the address generated from the H address generation circuit 102 is generated 32 times.

この直交メモリ90aにおいて、転送データが格納されると、次いで、垂直方向のデータの読出が行なわれる。この場合、単位データは、8ビットデータであり、垂直ブロックアドレスVBKは縮退されて、すべてのメモリブロックBKa−BKdを選択状態に指定する。これは、たとえば、有効ビット幅情報mに従って2ビットの垂直ブロックアドレスのビットをすべて選択状態に設定することにより実現される。この状態において、Vデコード/ワード線ドライバ212a−212dが全て並行して活性化され、垂直ワード線アドレスVRAに従って垂直方向ワード線WLVの選択を行ない、ローカル入出力回路LIOKa−LIOKdも、それぞれブロックアドレスVBKに従って活性化されて、データの読出を実行し、それぞれグローバルデータバスVIOa−VIOdに32ビットのデータを転送する。   In the orthogonal memory 90a, when transfer data is stored, data in the vertical direction is then read out. In this case, the unit data is 8-bit data, and the vertical block address VBK is degenerated to designate all the memory blocks BKa to BKd in the selected state. This is realized, for example, by setting all the bits of the 2-bit vertical block address to the selected state according to the effective bit width information m. In this state, all the V decode / word line drivers 212a to 212d are activated in parallel, and the vertical word line WLV is selected according to the vertical word line address VRA. The local input / output circuits LIOKa to LIOKd are also block addresses. Activated in accordance with VBK, data is read, and 32-bit data is transferred to global data buses VIOa-VIOd, respectively.

次いで、メイン入出力回路214a−214bが、垂直ブロックアドレスVBKに従ってすべてイネーブル状態であり、グローバルデータバスVIOa−VIOdそれぞれに現われた32ビットのデータを増幅し、増幅後の内部データを経路切換回路214eへ与える。経路切換回路214eは、有効ビット幅情報mに従って、メイン入出力回路214a−214dの出力信号を、それぞれサブデータバス198a−198dに伝達する。したがって、図18に示すように、メモリブロックBK0−BK3それぞれから読出された32ビットのデータ、すなわち、合計128ビットのデータが、並列に、サブデータバス198a−198dに伝達される。   Next, the main input / output circuits 214a to 214b are all enabled in accordance with the vertical block address VBK, amplify the 32-bit data appearing on the global data buses VIOa to VIOD, and the amplified internal data to the path switching circuit 214e. Give to. The path switching circuit 214e transmits the output signals of the main input / output circuits 214a to 214d to the sub data buses 198a to 198d according to the effective bit width information m. Therefore, as shown in FIG. 18, 32-bit data read from each of memory blocks BK0 to BK3, that is, a total of 128-bit data is transmitted in parallel to sub data buses 198a to 198d.

各メモリブロックにおいて垂直方向ワード線WLVを8回選択状態へ駆動し、データの読出を行なうことにより、この直交メモリ90aの格納データが、すべてエントリパラレルかつビットシリアルな態様で内部メモリバスを介してメモリセルマットに転送される。   By driving the vertical word line WLV to the selected state eight times in each memory block and reading the data, all the data stored in the orthogonal memory 90a is entered via the internal memory bus in an entry parallel and bit serial manner. Transferred to memory cell mat.

なお、データの書込時、非選択メモリブロックにおいても、水平方向ワード線WLHが選択される。しかしながら、直交メモリセルはSRAMセルであり、非選択メモリブロックにおいては単にメモリセルデータの読出が行なわれるだけであり、その記憶データの破壊は生じない。   When data is written, horizontal word line WLH is selected also in the non-selected memory block. However, the orthogonal memory cell is an SRAM cell, and the memory cell data is simply read in the non-selected memory block, and the stored data is not destroyed.

図19(A)および(B)は、16ビットデータの直交メモリへの書込時のデータの流れを模式的に示す図である。この16ビットデータの書込時においては、図16に示す経路設定回路222は、16ビット単位で、サブデータバスの接続を切換える。すなわち、経路設定回路222は、まず、サブデータバス96aおよび96bをそれぞれ内部のサブデータバス97aおよび97bに接続する。この状態において、リード/ライト回路213aおよび213bが活性化され、また、Hワード線選択回路111により水平方向ワード線WLHが選択され、16ビットデータB0がメモリブロックBKaおよびBKbに格納される。次いで、経路設定回路222が、サブデータバス96cおよび96dを、内部のサブデータバス97aおよび97bにそれぞれ接続し、再び、リード/ライト回路213aおよび213Bを活性化し、また、Hワード線選択回路111において、次の水平方向ワード線を選択する。これにより、16ビットデータB1が、メモリブロックBKaおよびBKb内の次のエントリに格納される。   FIGS. 19A and 19B are diagrams schematically showing a data flow when 16-bit data is written to the orthogonal memory. At the time of writing the 16-bit data, the path setting circuit 222 shown in FIG. 16 switches the connection of the sub data buses in units of 16 bits. Specifically, path setting circuit 222 first connects sub data buses 96a and 96b to internal sub data buses 97a and 97b, respectively. In this state, read / write circuits 213a and 213b are activated, horizontal word line WLH is selected by H word line selection circuit 111, and 16-bit data B0 is stored in memory blocks BKa and BKb. Next, the path setting circuit 222 connects the sub data buses 96c and 96d to the internal sub data buses 97a and 97b, respectively, activates the read / write circuits 213a and 213B again, and the H word line selection circuit 111. The next horizontal word line is selected. As a result, the 16-bit data B1 is stored in the next entry in the memory blocks BKa and BKb.

8回目のシステムバスアクセス時においては、16ビットデータB30およびB31が並列に転送される。この場合においても、経路設定回路222が、サブデータバス96aおよび96bを内部のサブデータバス96aおよび97bにそれぞれ接続し、リード/ライト回路213aおよび213bを活性化し、メモリブロックBKaおよびBKbに16ビットデータB30を書込む。   At the eighth system bus access, 16-bit data B30 and B31 are transferred in parallel. Also in this case, path setting circuit 222 connects sub data buses 96a and 96b to internal sub data buses 96a and 97b, activates read / write circuits 213a and 213b, and stores 16 bits in memory blocks BKa and BKb. Write data B30.

次いで、サブデータバス96cおよび96dを経路設定回路222を介して内部のサブデータバス97aおよび97bにそれぞれ接続し、Hワード線選択回路111により最後の水平方向ワード線を選択状態へ駆動し、16ビットデータB31を書込む。   Next, the sub data buses 96c and 96d are connected to the internal sub data buses 97a and 97b via the path setting circuit 222, respectively, and the H word line selection circuit 111 drives the last horizontal word line to the selected state. Write bit data B31.

このシステムバスアクセスが8回行なわれると、経路制御回路220は、経路設定回路222の接続態様を切換える。この場合、図19(B)に示すように、まず、16ビットデータB32およびB33が並列に、内部データバス96を介して転送されると、まず、サブデータバス96aおよび96bが内部サブデータバス97cおよび97dにそれぞれ接続される。リード/ライト回路213cおよび213dが活性化され、メモリブロックBKcおよびBKdに、16ビットデータB31およびB33が、順次格納される(Hワード線選択回路111が、この異なるワード線を選択する)。   When this system bus access is performed eight times, the path control circuit 220 switches the connection mode of the path setting circuit 222. In this case, as shown in FIG. 19B, when 16-bit data B32 and B33 are first transferred in parallel via internal data bus 96, first, sub data buses 96a and 96b are connected to internal sub data buses. 97c and 97d are connected respectively. Read / write circuits 213c and 213d are activated, and 16-bit data B31 and B33 are sequentially stored in memory blocks BKc and BKd (H word line selection circuit 111 selects the different word lines).

システムバスアクセスが8回行なわれると、最後の16ビットデータB62およびB63が内部データバス96を介して転送され、再び、リード/ライト回路213cおよび213dを活性化して、メモリブロックBKcおよびBKdに16ビットデータB62およびB63を順次格納する。   When the system bus access is performed eight times, the last 16-bit data B62 and B63 are transferred via the internal data bus 96, and the read / write circuits 213c and 213d are activated again, and the memory blocks BKc and BKd have 16 Bit data B62 and B63 are sequentially stored.

したがって、16ビットデータの直交メモリへの格納時においては、図15に示すH系制御回路215は、Hアドレス(水平ワード線アドレス)HRAが32回生成されると、活性化されるリード/ライト回路を切換える。この切換えは、単に、水平方向ワード線アドレスHRAの発生回数をカウントし、そのカウント値に基づいて、メモリブロックBKaおよびBKbにデータを書込むか、またはメモリブロックBKcおよびBKdにデータを書込むかを判定することにより、実現することができる。   Therefore, at the time of storing 16-bit data in the orthogonal memory, the H-system control circuit 215 shown in FIG. 15 is activated when the H address (horizontal word line address) HRA is generated 32 times. Switch the circuit. This switching simply counts the number of occurrences of horizontal word line address HRA, and writes data to memory blocks BKa and BKb, or writes data to memory blocks BKc and BKd based on the count value. This can be realized by determining.

また、経路設定回路222における経路切換えは、アドレスタイミング制御信号HRAFが32回発生されると、スイッチマトリクスにおいてリード/ライト回路に対する接続経路を切り替え、16ビット単位でデータを順次、接続先のリード/ライト回路との間で転送することにより実現される。   In the path switching in the path setting circuit 222, when the address timing control signal HRAF is generated 32 times, the connection path to the read / write circuit is switched in the switch matrix, and data is sequentially read in 16-bit units. This is realized by transferring data to and from the write circuit.

この直交メモリ90aまたは90bがフル状態となると、別の直交メモリへのデータの書込が同様のシーケンスで実行される。   When this orthogonal memory 90a or 90b is full, data writing to another orthogonal memory is executed in the same sequence.

この直交メモリ90aからメモリセルマットに対してデータを転送する場合、図20および図21に示す経路切替えシーケンスが実行される。   When data is transferred from the orthogonal memory 90a to the memory cell mat, the path switching sequence shown in FIGS. 20 and 21 is executed.

まず、図20に示すように、垂直ブロックアドレスVBKのたとえば下位1ビットを縮退状態として、メモリブロックBKaおよびBKcを選択状態に指定する。この状態においては、Vデコード/ワード線ドライバ212aおよび212cにより、同一位置の垂直方向ワード線WLVが選択される。ローカル入出力回路LIOKaおよびLIOKcが活性化され、グローバルデータバスVIOaおよびVIOcを介して32ビットデータをそれぞれ転送する。また、垂直ブロックアドレスVBKにより、メイン入出力回路214aおよび214cが活性化され、一方、メイン入出力回路214bおよび214dは非活性状態である。したがって、メイン入出力回路214aおよび214c各々から、32ビットデータが並列に読出される。経路切換回路214eにおいては、有効ビット幅情報mに従って、メイン入出力回路214aをサブデータバス198aに結合し、メイン入出力回路214cをサブデータバス198bに結合する。これにより、64ビットデータB0−B63が並列にサブデータバス198aおよび198b上に読出される。この動作が、メモリブロックBKaおよびBKcにおいて、8回繰返され、16ビットデータB0−B63のうちの下位側または上位側8ビットが読出されて転送される。   First, as shown in FIG. 20, for example, the lower one bit of the vertical block address VBK is set in a degenerated state, and the memory blocks BKa and BKc are designated in a selected state. In this state, the vertical word line WLV at the same position is selected by the V decode / word line drivers 212a and 212c. Local input / output circuits LIOKa and LIOKc are activated to transfer 32-bit data via global data buses VIOa and VIOc, respectively. The main input / output circuits 214a and 214c are activated by the vertical block address VBK, while the main input / output circuits 214b and 214d are inactive. Therefore, 32-bit data is read in parallel from main input / output circuits 214a and 214c. In path switching circuit 214e, main input / output circuit 214a is coupled to sub data bus 198a and main input / output circuit 214c is coupled to sub data bus 198b according to effective bit width information m. As a result, 64-bit data B0-B63 are read in parallel on sub data buses 198a and 198b. This operation is repeated 8 times in memory blocks BKa and BKc, and the lower or upper 8 bits of 16-bit data B0-B63 are read and transferred.

次いで、上述の64ビットデータ読出動作が8回繰返されると、垂直ブロックアドレスBVKが、メモリブロックBKbおよびBKdを指定する状態に設定される。この状態において、Vデコード/ワード線ドライバ212bおよび212dが活性化され、メモリブロックBKbおよびBKdそれぞれからグローバルデータ線VIObおよびVIOd上に32ビットデータが並列に示される。   Next, when the 64-bit data read operation described above is repeated eight times, vertical block address BVK is set to a state designating memory blocks BKb and BKd. In this state, V decode / word line drivers 212b and 212d are activated, and 32-bit data is shown in parallel on global data lines VIOb and VIOd from memory blocks BKb and BKd, respectively.

ブロックアドレスVBKにより、メイン入出力回路214bおよび214dが活性化され、一方、メイン入出力回路214aおよび214cが非活性状態である。経路切換回路214eは、有効ビット幅情報mに従って、上述の8回のデータ転送を実行した後、メイン入出力回路214bおよび214dを、それぞれサブデータバス198aおよび198bに結合する。これにより、16ビットデータB0−B63の残りの8ビットが、順次、メモリブロックBKbおよびBKdから読出される。これにより、16ビットデータの場合、64エントリのデータをビットシリアルかつエントリパラレルに転送する。   Main input / output circuits 214b and 214d are activated by block address VBK, while main input / output circuits 214a and 214c are inactive. The path switching circuit 214e couples the main input / output circuits 214b and 214d to the sub data buses 198a and 198b, respectively, after executing the above-described eight data transfers according to the effective bit width information m. Thereby, the remaining 8 bits of 16-bit data B0-B63 are sequentially read from memory blocks BKb and BKd. As a result, in the case of 16-bit data, 64-entry data is transferred in bit serial and entry parallel.

この後、図15に示すメモリセル直交マットI/F192により、内部メモリバス77上に、16ビットのデータB0−B63の転送経路が調整されて、メモリセルマット内のエントリに応じた位置の内部メモリバスのバス線を介して、データが転送される。   Thereafter, the transfer path of 16-bit data B0-B63 is adjusted on the internal memory bus 77 by the memory cell orthogonal mat I / F 192 shown in FIG. 15, and the internal position at the position corresponding to the entry in the memory cell mat is adjusted. Data is transferred via the bus line of the memory bus.

図22は、32ビットデータC(C0−C32)転送時の直交メモリにおけるデータ格納状況を模式的に示す図である。この32ビットデータ転送時においては、図16に示す経路設定回路222は、サブデータバス96a−96dを、それぞれ、内部のサブデータバス97a−97dに接続する。リード/ライト回路213a−213dが、H系制御回路215(図15参照)の制御の下に並行して活性化され、それぞれメモリブロックBKa−BKdに対して並列にデータの書込が行なわれる。   FIG. 22 is a diagram schematically showing a data storage state in the orthogonal memory at the time of transferring 32-bit data C (C0-C32). In the 32-bit data transfer, the path setting circuit 222 shown in FIG. 16 connects the sub data buses 96a to 96d to the internal sub data buses 97a to 97d, respectively. Read / write circuits 213a-213d are activated in parallel under the control of H-system control circuit 215 (see FIG. 15), and data is written in parallel to memory blocks BKa-BKd, respectively.

Hワード線選択回路211が、1バスアクセスサイクルごとに1つの水平方向ワード線WLHを選択状態へ駆動するる。これにより、32回バスアクセスを行なうことにより、32ビットデータC0−C32が、8ビット単位でメモリブロックBKa−BKdそれぞれに格納される。   The H word line selection circuit 211 drives one horizontal word line WLH to a selected state every bus access cycle. As a result, by performing bus access 32 times, 32-bit data C0-C32 is stored in memory blocks BKa-BKd in units of 8 bits.

この直交メモリセルアレイに格納されたデータを垂直方向に読出してメモリセルマットへ転送する場合には、まず、ブロックアドレスBVKの全ビットが有効状態とされ、各メモリブロックBKa−BKd単位で、データの読出が行なわれる。すなわち、図23に示すように、まず、メモリブロックBKaが活性化され、対応のVデコード/ワード線ドライバ212aが、垂直方向ワード線WLVを順次選択する。ローカル入出力回路LIOKaが活性状態にあり、グローバルデータバスVIOa上に、32ビットデータが転送される。また、垂直ブロックアドレスVBKに従って、メイン入出力回路214aが活性化され、メイン入出力回路214b−214dは非活性状態にある。   When data stored in the orthogonal memory cell array is read in the vertical direction and transferred to the memory cell mat, first, all the bits of the block address BVK are made valid, and the data of each memory block BKa-BKd is stored. Reading is performed. That is, as shown in FIG. 23, first, the memory block BKa is activated, and the corresponding V decode / word line driver 212a sequentially selects the vertical word lines WLV. The local input / output circuit LIOKa is in an active state, and 32-bit data is transferred onto the global data bus VIOa. In accordance with the vertical block address VBK, the main input / output circuit 214a is activated and the main input / output circuits 214b to 214d are inactive.

経路切換回路214eにおいては、メイン入出力回路214aを内部サブデータバス198aに結合し、メイン入出力回路214aからの32ビットデータが、サブデータバス198a上に転送される。このメモリブロックBKaにおいて8回垂直方向ワード線WLVを選択状態へ駆動してデータの読出を行なうことにより、32ビットデータC0−C31の上位または下位の8ビットデータが順次読出されて転送される。   In path switching circuit 214e, main input / output circuit 214a is coupled to internal sub data bus 198a, and 32-bit data from main input / output circuit 214a is transferred onto sub data bus 198a. In this memory block BKa, the vertical word line WLV is driven to the selected state eight times to read data, whereby the upper or lower 8-bit data of 32-bit data C0-C31 is sequentially read and transferred.

このメモリブロックBKaにおいてデータ読出が8回行なわれた後、次いで、垂直ブロックアドレスVBKが切換えられ、メモリブロックBKbが活性状態とされる。これにより、図16に示すVデコード/ワード線ドライバ212bおよびローカル入出力回路LIOKbが活性化され、メイン入出力回路214bにより、データの読出が行なわれる。この場合、メイン入出力回路214bは、図23において番号2で示すように、サブデータバス198aに結合されており、メイン入出力回路214bからの32ビットデータが、内部サブデータバス198a上に転送される。   After data reading is performed eight times in memory block BKa, vertical block address VBK is then switched, and memory block BKb is activated. Thus, V decode / word line driver 212b and local input / output circuit LIOKb shown in FIG. 16 are activated, and data is read by main input / output circuit 214b. In this case, the main input / output circuit 214b is coupled to the sub data bus 198a as indicated by numeral 2 in FIG. 23, and 32-bit data from the main input / output circuit 214b is transferred onto the internal sub data bus 198a. Is done.

メモリブロックBKbにおいて8回垂直方向ワード線の選択が行なわれると、再び、垂直ブロックアドレスVBKが切換えられ、メモリブロックBKcが活性化され、グローバルデータバスVIOc上に、32ビットデータが読出される。この場合、メイン入出力回路214cが活性化される。   When the vertical word line is selected eight times in memory block BKb, vertical block address VBK is switched again, memory block BKc is activated, and 32-bit data is read onto global data bus VIOc. In this case, the main input / output circuit 214c is activated.

経路切換回路214eにおいては、このメイン入出力回路214cの出力を内部サブデータバス198aに結合し(番号3で示す)、メモリブロックBKcからの32ビットデータが順次内部サブデータバス198aに転送される。   In path switching circuit 214e, the output of main input / output circuit 214c is coupled to internal sub data bus 198a (indicated by numeral 3), and 32-bit data from memory block BKc is sequentially transferred to internal sub data bus 198a. .

このメモリブロックBKcからのデータ読出が8回行なわれると、次いで、図24に示すように、メモリブロックBKdが活性化され、垂直方向ワード線が選択されて、グローバルデータバスVIOd上に32ビットデータが読出される。この場合、メイン入出力回路214dが活性化され、メイン入出力回路214a−214cは非活性状態にある。経路切換回路214eは、このメイン入出力回路214dを、内部サブバス198aに結合しており、内部サブバス198a上に、これらのデータC0−C31各々の残りの8ビットデータが順次読出される。   When data reading from memory block BKc is performed eight times, then, as shown in FIG. 24, memory block BKd is activated, the vertical word line is selected, and 32-bit data is transferred onto global data bus VIOd. Is read out. In this case, the main input / output circuit 214d is activated, and the main input / output circuits 214a-214c are inactive. The path switching circuit 214e couples the main input / output circuit 214d to the internal sub-bus 198a, and the remaining 8-bit data of each of these data C0 to C31 is sequentially read onto the internal sub-bus 198a.

したがって、メモリブロックBKa−BKdを、ブロック単位で順次活性化し、メイン入出力回路214a−214dも順次ブロック単位で活性化することにより、内部サブデータバス198aを利用して、32ビットデータを、ビットシリアルかつエントリパラレルの態様で転送することができる。   Accordingly, the memory blocks BKa-BKd are sequentially activated in units of blocks, and the main input / output circuits 214a-214d are also sequentially activated in units of blocks, so that 32-bit data can be converted into bits by using the internal sub data bus 198a. It can be transferred in a serial and entry parallel manner.

経路切換回路214eは、有効ビット幅情報mが32ビット幅を示すときには、単に8回データの転送を行なうごとに、メイン入出力回路214a−214dを内部サブデータバス198aに順次接続する。メイン入出力回路214a−214dが、非活性化時出力ハイインピーダンス状態にされる場合には、経路切換回路214eは有効ビット幅情報mに従って、これらのメイン入出力回路214a−214dを並行して、内部サブデータバス198aに結合してもよい。   When effective bit width information m indicates a 32-bit width, path switching circuit 214e sequentially connects main input / output circuits 214a-214d to internal sub data bus 198a every time data is transferred eight times. When the main input / output circuits 214a-214d are set to the output high impedance state when inactive, the path switching circuit 214e performs parallel operation of these main input / output circuits 214a-214d according to the effective bit width information m. It may be coupled to the internal sub data bus 198a.

Vアドレス発生回路204(図15参照)は、有効ビット幅情報mが32ビット幅を示す場合には、垂直アドレス(垂直ワード線アドレス)VRAを32回発生し、また、垂直ブロックアドレスVBKを、各8垂直ワード線アドレス発生ごとに、その値を切換える。   The V address generation circuit 204 (see FIG. 15) generates a vertical address (vertical word line address) VRA 32 times when the effective bit width information m indicates a 32-bit width, and also generates a vertical block address VBK. The value is switched every time eight vertical word line addresses are generated.

図25は、図15に示すメモリセルマット直交メモリI/F192の構成の一例を示す図である。図25において、メモリセルマット直交メモリI/F192は、有効ビット幅情報mに従って、リンク状に接続経路のシフト動作を行なう経路シフト回路192aを含む。この経路シフト回路192aは、内部サブデータバス198a−198dと内部メモリバス77のサブバス77a−77dの間の転送経路を順次切換える。すなわち、経路シフト回路192aは、有効ビット幅情報mが8ビットデータを示す場合には、サブデータバス198a−198dに有効データが転送されるため、シフト動作は行なわず、このサブバス198a−198dそれぞれと内部メモリサブバス77a−77dの間のデータ転送を実現する。   FIG. 25 shows an example of the configuration of memory cell mat orthogonal memory I / F 192 shown in FIG. In FIG. 25, memory cell mat orthogonal memory I / F 192 includes a path shift circuit 192a that performs a connection path shift operation in a link form in accordance with effective bit width information m. The path shift circuit 192a sequentially switches transfer paths between the internal sub data buses 198a to 198d and the sub buses 77a to 77d of the internal memory bus 77. In other words, when effective bit width information m indicates 8-bit data, path shift circuit 192a does not perform a shift operation because effective data is transferred to sub data buses 198a to 198d. And internal memory sub-bus 77a-77d.

有効ビット幅情報mが、16ビット幅を示すときには、経路シフト回路192aは、サブデータバス198aおよび198bに与えられたデータを受け、内部メモリサブバス77aおよび77b上にデータを転送した後、16回データ転送を完了すると、経路シフト回路192aは、その接続経路を64ビットシフトさせ、サブデータバス198aおよび198bを、内部メモリサブバス77cおよび77dに結合する。再び、16回データ転送が行なわれると、経路シフト回路192aは、その接続経路を、64ビットシフトさせ、サブデータバス198aおよび198bを、内部メモリサブバス77aおよび77bにそれぞれ結合する。この動作を、16回データ転送ごとに繰返し、転送経路を切換える。メモリセルマットにおいて、エントリが単位データ転送完了後シフトされるのに対応して、内部メモリバスにおいて有効データを転送するバス線をシフトさせる。メモリ内部データバスにおいて無効データが転送されるときには、実施の形態1の変更例において示したようにビット幅拡張操作が実行る。   When effective bit width information m indicates a 16-bit width, path shift circuit 192a receives data applied to sub data buses 198a and 198b, transfers the data onto internal memory sub buses 77a and 77b, When the data transfer is completed twice, path shift circuit 192a shifts the connection path by 64 bits to couple sub data buses 198a and 198b to internal memory sub buses 77c and 77d. When data transfer is performed 16 times again, path shift circuit 192a shifts the connection path by 64 bits, and couples sub data buses 198a and 198b to internal memory sub buses 77a and 77b, respectively. This operation is repeated every 16 data transfers to switch the transfer path. In the memory cell mat, in response to the entry being shifted after completion of unit data transfer, the bus line for transferring valid data is shifted in the internal memory bus. When invalid data is transferred on the memory internal data bus, the bit width expansion operation is executed as shown in the modification of the first embodiment.

有効ビット幅情報mが、32ビットを示すときには、経路シフト回路192aは、サブバス198aを、32回のデータ転送ごとにその接続経路を32ビットシフトさせ、メモリサブバス77a、77b、77cおよび77dに順次結合する。この接続経路のシフト動作を、32回のデータ転送ごとに行なう。   When the effective bit width information m indicates 32 bits, the path shift circuit 192a shifts the connection path of the sub-bus 198a by 32 bits for every 32 times of data transfer to the memory sub-buses 77a, 77b, 77c and 77d. Join sequentially. This connection path shift operation is performed every 32 data transfers.

なお、この図25に示す構成においては、内部データバス198と内部メモリバス77のビット幅が同じである。内部メモリバス77のビット幅が、内部データバス198のビット幅よりも大きい場合には、この経路シフト回路192aは、内部メモリバス77の各サブバス(32ビット幅)に対し、有効ビット幅情報mが示すビット幅ごとにその接続をシフトする。この場合、有効データを転送しない内部メモリバス上には、ビット幅拡張のために、固定データ(たとえば“0”)が転送される(実施の形態1の変更例参照)。   In the configuration shown in FIG. 25, the internal data bus 198 and the internal memory bus 77 have the same bit width. When the bit width of the internal memory bus 77 is larger than the bit width of the internal data bus 198, the path shift circuit 192a sends effective bit width information m to each sub-bus (32-bit width) of the internal memory bus 77. The connection is shifted for each bit width indicated by. In this case, fixed data (for example, “0”) is transferred on the internal memory bus to which valid data is not transferred in order to extend the bit width (see the modification of the first embodiment).

なお、メモリセルマットからシステムバスにデータを転送する場合には、データの流れが逆となるものの、同様の動作制御およびデータ転送経路切替えが実行される。   In the case of transferring data from the memory cell mat to the system bus, the same operation control and data transfer path switching are executed although the data flow is reversed.

以上のように、直交メモリのメモリセルアレイのすべてのメモリセルを利用して、データの転送を行なっており、有効データビット幅が、システムバスのバス幅よりも小さいとき、メモリセルマットとの間の転送データのエントリ数を拡大することができ、データの転送回数を低減することができ、また、直交メモリのメモリセルアレイも有効に利用することができる。   As described above, when data is transferred using all the memory cells of the memory cell array of the orthogonal memory, and the effective data bit width is smaller than the bus width of the system bus, the memory cell mat is The number of transfer data entries can be increased, the number of data transfers can be reduced, and the memory cell array of the orthogonal memory can be used effectively.

[変更例]
図26は、この発明の実施の形態2の変更例の直交変換回路の要部の構成を概略的に示す図である。直交メモリ90aおよび90bが同一構成をするため、図26においても、直交メモリ90aの要部の構成を示す。この直交メモリ90aは、直交メモリセルアレイ300と、この直交メモリセルアレイ300の垂直方向ワード線WLVを選択するVワード線選択回路320と、Vワード線選択回路320により選択された垂直方向ワード線WLVに接続されるKビットのメモリセルに対するデータの入出力を行なうV入出力回路305と、有効ビット幅情報mに従って、これらのVワード線選択回路320およびV入出力回路305の動作を制御するV系制御回路310を含む。
[Example of change]
FIG. 26 schematically shows a structure of a main part of an orthogonal transform circuit according to a modification of the second embodiment of the present invention. Since the orthogonal memories 90a and 90b have the same configuration, FIG. 26 also shows the configuration of the main part of the orthogonal memory 90a. The orthogonal memory 90a includes an orthogonal memory cell array 300, a V word line selection circuit 320 that selects a vertical word line WLV of the orthogonal memory cell array 300, and a vertical word line WLV selected by the V word line selection circuit 320. A V input / output circuit 305 for inputting / outputting data to / from a K-bit memory cell connected thereto, and a V system for controlling operations of these V word line selection circuit 320 and V input / output circuit 305 in accordance with effective bit width information m A control circuit 310 is included.

直交メモリセルアレイ300は、垂直方向ワード線については、ブロック分割はされず、垂直方向のデータ転送時においては、1つの垂直ワード線WLVの選択により、32ビット(Kビット)のデータの入出力が行なわれる。   In the orthogonal memory cell array 300, vertical word lines are not divided into blocks, and 32 bits (K bits) of data can be input / output by selecting one vertical word line WLV during vertical data transfer. Done.

この直交メモリ90aおよび90bに共通に、内部データバス98が設けられる。この内部データバス98は、32ビット転送ゲートTFa−TFbそれぞれを介してレジスタRGa−RGbに結合される。レジスタRGa−RGbは、各々32ビット幅を有し、内部サブデータバス198a−198dにそれぞれ結合される。これらの内部サブデータバス198a−198dは、メモリセルマット直交メモリI/F192に結合される。   An internal data bus 98 is provided in common for the orthogonal memories 90a and 90b. Internal data bus 98 is coupled to registers RGa-RGb via 32-bit transfer gates TFa-TFb, respectively. Registers RGa-RGb each have a 32-bit width and are coupled to internal sub data buses 198a-198d, respectively. These internal sub data buses 198a-198d are coupled to memory cell mat orthogonal memory I / F 192.

32ビット転送ゲートTFaは、活性化信号ENXに従って導通し、32ビットデータを転送する。転送ゲートTFbは、活性化信号8/16ENXに従って導通し、32ビット転送ゲートTFcが、活性化信号・ENXAに従って選択的に導通し、32ビット転送ゲートTFbが、活性化信号8・ENXBに従って選択的に導通する。   The 32-bit transfer gate TFa is turned on according to the activation signal ENX and transfers 32-bit data. Transfer gate TFb is turned on according to activation signal 8 / 16ENX, 32-bit transfer gate TFc is selectively turned on according to activation signal • ENXA, and 32-bit transfer gate TFb is selectively turned on according to activation signal 8 · ENXB. Conducted to.

有効ビット幅情報mが32ビットデータを示すときには、活性化信号ENXのみが活性化される。有効ビット幅情報mが16ビットデータを示すときには、活性化信号ENXおよび8/16・ENXが順次活性化される。有効ビット幅情報mが8ビットデータを示すときには、活性化信号ENX、8/16・ENX、8・ENXA、および8・ENXBが順次活性化される。これらの活性化信号は、直交メモリ90aおよび90bのV系制御回路310により生成される。   When the effective bit width information m indicates 32-bit data, only the activation signal ENX is activated. When the effective bit width information m indicates 16-bit data, the activation signals ENX and 8/16 · ENX are sequentially activated. When the effective bit width information m indicates 8-bit data, the activation signals ENX, 8/16 • ENX, 8 • ENXA, and 8 • ENXB are sequentially activated. These activation signals are generated by the V-system control circuit 310 of the orthogonal memories 90a and 90b.

レジスタRGa−RGdは、各々、ラッチ回路で構成され、与えられたデータをラッチする。これらのレジスタRGa−RGdは、それぞれそのラッチ動作が、対応の32ビット転送ゲートTFa−TFbに対する活性化信号により制御されてもよい。   Each of registers RGa-RGd is formed of a latch circuit and latches given data. The latch operations of these registers RGa-RGd may be controlled by activation signals for the corresponding 32-bit transfer gates TFa-TFb.

この図26に示す直交変換回路において、水平方向ワード線WLHを選択して、データを書込む態様は、上述の図15および図16を参照して説明した動作と同じであり、8ビット単位、16ビット単位または32ビット単位で直交メモリセルアレイ300に対してデータの書込または読出が行なわれる。   In the orthogonal transformation circuit shown in FIG. 26, the mode in which data is written by selecting horizontal word line WLH is the same as the operation described with reference to FIGS. Data is written to or read from the orthogonal memory cell array 300 in units of 16 bits or 32 bits.

有効ビット幅情報mが、32ビットデータを示すときには、Vワード線選択回路320は、図示しないVアドレス発生回路からの垂直ワード線アドレス(VRA)に従って1本の垂直方向ワード線WLVを選択する。このとき、V入出力回路305がV系制御回路310により活性化され、Kビット(32ビット)の選択メモリセルのデータを読出してデータバス98上に転送する。   When the effective bit width information m indicates 32-bit data, the V word line selection circuit 320 selects one vertical word line WLV according to a vertical word line address (VRA) from a V address generation circuit (not shown). At this time, the V input / output circuit 305 is activated by the V-system control circuit 310, reads data of the selected memory cell of K bits (32 bits), and transfers it onto the data bus 98.

活性化信号ENXが活性化され、32ビット転送ゲートTFaにより、この直交メモリ90aから読出されるデータがレジスタRGaに格納される。メモリセルマット直交メモリI/F192が、先の図15および図16および図25において示したI/Fと同様に動作して、経路設定を行なってデータを転送する。   Activation signal ENX is activated, and data read from orthogonal memory 90a is stored in register RGa by 32-bit transfer gate TFa. Memory cell mat orthogonal memory I / F 192 operates in the same manner as the I / F shown in FIGS. 15, 16 and 25, and performs path setting to transfer data.

有効ビット幅情報mが、16ビットデータを示すときには、Vワード線選択回路320は、与えられた垂直ワード線アドレスに従って1本の垂直方向ワード線WLVを選択する。この1回目の垂直方向ワード線WLVの選択に従って、活性化信号ENXが活性化され、V入出力回路305により読出されたデータがレジスタRGaに格納される。次いで、有効ビット幅情報mに従って、図示しないVアドレス発生回路が垂直ワード線アドレスを+16増分する。Vワード線選択回路320は、V系制御回路310の制御のもとに、再び活性化され、対応の位置の垂直方向ワード線WLVを選択する。この2回目の垂直ワード線選択時には、活性化信号8/16・ENXが活性化され、V入出力回路305により読出されたデータが、32ビット転送ゲートTFbを介してレジスタRGbに格納される。レジスタRGaおよびRGbにおいて、32ビットのデータが格納されると、メモリセルマット直交メモリI/F192が、これらのレジスタRGaおよびRgbに格納された64エントリのデータビットを並列に転送する。   When the effective bit width information m indicates 16-bit data, the V word line selection circuit 320 selects one vertical word line WLV according to the given vertical word line address. In accordance with the first selection of vertical word line WLV, activation signal ENX is activated, and the data read by V input / output circuit 305 is stored in register RGa. Next, according to the effective bit width information m, a V address generation circuit (not shown) increments the vertical word line address by +16. The V word line selection circuit 320 is activated again under the control of the V system control circuit 310 and selects the vertical word line WLV at the corresponding position. In the second vertical word line selection, activation signal 8/16 • ENX is activated, and data read by V input / output circuit 305 is stored in register RGb through 32-bit transfer gate TFb. When 32-bit data is stored in registers RGa and RGb, memory cell mat orthogonal memory I / F 192 transfers the 64 entry data bits stored in registers RGa and Rgb in parallel.

この動作を16回繰返し、垂直方向ワード線を32回(L回)選択して、直交メモリのメモリセルアレイ300に格納されたデータを全てメモリセルマットへ転送する。   This operation is repeated 16 times, the vertical word line is selected 32 times (L times), and all the data stored in the memory cell array 300 of the orthogonal memory is transferred to the memory cell mat.

次に、有効ビット幅情報mが8ビットデータを示すときには、Vワード線選択回路320は、V系制御回路310の制御のもとに、まず、垂直方向ワード線アドレスに従って、1回目の垂直方向ワード線WLVを選択する。活性化信号ENXにより32ビット転送ゲートTFaが導通し、V入出力回路305からのKビット(32ビット)のデータがレジスタRGaに転送されて格納される。   Next, when the effective bit width information m indicates 8-bit data, the V word line selection circuit 320 first performs the first vertical direction according to the vertical word line address under the control of the V-system control circuit 310. A word line WLV is selected. The 32-bit transfer gate TFa is turned on by the activation signal ENX, and K-bit (32-bit) data from the V input / output circuit 305 is transferred to and stored in the register RGa.

次に、有効ビット情報mに従って、Vアドレス発生回路が垂直ワード線アドレスを+8増分し、Vワード線選択回路320は、再びV系制御回路310の制御のもとに活性化されて、垂直方向ワード線アドレスを+8増分した位置の垂直方向ワード線WLVを選択し、V入出力回路305が再び活性化されてデータを出力する。このとき、活性化信号8/16・ENXが活性化され、V入出力回路305により増幅されたデータがレジスタRGbに格納される。   Next, according to the valid bit information m, the V address generation circuit increments the vertical word line address by +8, and the V word line selection circuit 320 is activated again under the control of the V-system control circuit 310 to cause the vertical direction. The vertical word line WLV at the position obtained by incrementing the word line address by +8 is selected, and the V input / output circuit 305 is activated again to output data. At this time, activation signal 8/16 • ENX is activated, and the data amplified by V input / output circuit 305 is stored in register RGb.

このデータ読出完了後、再び、垂直方向ワード線アドレスがさらに8増分されて、Vワード線選択回路320は、もとの位置から16ワード線アドレス位置離れた垂直方向ワード線を選択し、V入出力回路305が32ビットのデータの読出を行なう。このとき活性化信号8・ENXAが活性化され、32ビット転送ゲートTFcにより、読出された32ビットデータがレジスタRGcに格納される。   After this data reading is completed, the vertical word line address is incremented by 8 again, and the V word line selection circuit 320 selects a vertical word line that is 16 word line addresses away from the original position, and V input Output circuit 305 reads 32-bit data. At this time, activation signal 8 • ENXA is activated, and the read 32-bit data is stored in register RGc by 32-bit transfer gate TFc.

再び、V系制御回路310は、Vワード線選択回路320を活性化し、Vアドレス発生回路により+24増分された垂直方向ワード線アドレスの位置の垂直方向ワード線Vを選択する。再び、V入出力回路35が活性化されて32ビットデータの読出を行なう。この場合、活性化信号8・ENXBが活性化され、32ビット転送ゲートTFeを介して読出された32ビットデータがレジスタRGdに格納される。   Again, the V-system control circuit 310 activates the V word line selection circuit 320 and selects the vertical word line V at the position of the vertical word line address incremented by +24 by the V address generation circuit. Again, V input / output circuit 35 is activated to read 32-bit data. In this case, activation signal 8 · ENXB is activated, and 32-bit data read through 32-bit transfer gate TFe is stored in register RGd.

メモリセルマット直交メモリI/F192は、これらのレジスタRGa−RGdに各々32ビットデータが格納されると、データ転送動作を行なって、内部メモリバス77を介してメモリセルマットへ128ビットデータを転送する。   When memory cell mat orthogonal memory I / F 192 stores 32-bit data in each of registers RGa-RGd, it performs data transfer operation and transfers 128-bit data to memory cell mat via internal memory bus 77. To do.

Vアドレスの発生回路は、有効ビット幅情報mに従って、垂直ワード線アドレスを順次有効ビット幅だけ増分して、垂直方向ワード線を指定する。この場合、データをメモリセルマットに対して転送した後、垂直ワード線アドレスは、初期値にリセットする必要はなく、単に、先頭垂直ワード線アドレス0から順次有効ビット幅情報mを増分し、モジュロ31の演算を行なうことにより、たとえば有効ビット幅mが8ビットの場合、24増分された垂直ワード線選択後、垂直ワード線アドレスを8増分してモジュロ31の演算を実行することにより、次いで、垂直ワード線アドレスが+1の垂直方向ワード線を選択することができる。   The V address generation circuit designates the vertical word line by sequentially incrementing the vertical word line address by the effective bit width according to the effective bit width information m. In this case, after the data is transferred to the memory cell mat, the vertical word line address does not need to be reset to the initial value. The effective bit width information m is simply incremented sequentially from the head vertical word line address 0, and the modulo By performing 31 operations, for example, when the effective bit width m is 8 bits, after selecting the vertical word line incremented by 24, the vertical word line address is incremented by 8 and performing the modulo 31 operation, A vertical word line whose vertical word line address is +1 can be selected.

V系制御回路310は、有効ビット幅情報mに応じて、1回のデータ転送あたりのVワード線選択回路320の活性化回数を決定する(L/m回活性化する)。   The V-system control circuit 310 determines the number of times of activation of the V word line selection circuit 320 per one data transfer according to the effective bit width information m (activates L / m times).

なお、活性化信号ENX、8/16・ENX、8・ENXAおよび8・ENXBの活性化は、L/m回、活性化信号を転送ゲートTFaから転送ゲートTFdに向かって順次転送することにより実現される。これらの活性化信号ENX、8/16・ENX、8・ENXAおよび8・ENXBが、直交メモリ90aおよび90bに含まれるV系制御回路からの制御信号の合成に基づいて生成される(OR回路を利用する)。   The activation signals ENX, 8/16 · ENX, 8 · ENXA and 8 · ENXB are activated by sequentially transferring the activation signals from the transfer gate TFa to the transfer gate TFd L / m times. Is done. These activation signals ENX, 8/16 · ENX, 8 · ENXA and 8 · ENXB are generated based on the synthesis of control signals from the V-system control circuit included in the orthogonal memories 90a and 90b (the OR circuit Use).

メモリセルマットからシステムバスへのデータ転送時においても、データの流れが逆になるものの、同様の垂直ワード線選択およびレジスタ選択シーケンスが実行される。   Even when data is transferred from the memory cell mat to the system bus, although the data flow is reversed, the same vertical word line selection and register selection sequence is executed.

メモリセルマットへのデータ転送時、有効ビット幅情報に応じて、複数回、垂直方向ワード線が選択される。しかしながら、その回数は、1転送サイクルあたりL/m回であり、1バスアクセスサイクルあたりの水平ワード線選択回数と同じであり、直交メモリ90aおよび90bの一方がシステムバスとの間のデータ転送を行なっている間に、他方の直交メモリが、十分に時間的余裕をもってメモリセルマットとの間でデータ転送を行なうことができる。   At the time of data transfer to the memory cell mat, the vertical word line is selected a plurality of times according to the valid bit width information. However, the number of times is L / m per transfer cycle, which is the same as the number of horizontal word line selections per bus access cycle, and one of the orthogonal memories 90a and 90b transfers data to and from the system bus. While performing, the other orthogonal memory can perform data transfer with the memory cell mat with a sufficient time margin.

この図26に示す構成の場合、直交メモリセルアレイ300においては、メモリセルマットとのデータ転送のために32ビットの内部データ線(グローバルデータ線)が配設されるだけであり、配線レイアウトが簡略化される。また、垂直ワード線アドレスを発生する部分の構成は、先の垂直ブロックアドレスと垂直ワード線アドレスを並列に配置し、ブロックアドレスに対応する部分を有効ビット幅情報に応じて更新し、また垂直ワード線アドレスをメモリセルマットとの間のデータ転送サイクルごとに1増分する構成により、モジュロ31の加算を行う構成を容易に実現することができる。   In the configuration shown in FIG. 26, in the orthogonal memory cell array 300, only a 32-bit internal data line (global data line) is provided for data transfer with the memory cell mat, and the wiring layout is simplified. It becomes. The vertical word line address is generated by arranging the previous vertical block address and the vertical word line address in parallel, updating the part corresponding to the block address according to the effective bit width information, and With the configuration in which the line address is incremented by 1 for each data transfer cycle with the memory cell mat, the configuration in which the modulo 31 is added can be easily realized.

なお、メモリセルマット直交メモリI/F192におけるデータ転送制御は、上述の図25を参照して説明した動作と同じである。   Data transfer control in the memory cell mat orthogonal memory I / F 192 is the same as the operation described with reference to FIG.

なお、図1に示す構成において、直交変換回路85は、基本演算ブロックそれぞれに対して設けられており、基本演算ブロック個々に、データ列の直交変換を行なうことが可能である。しかしながら、この直交変換回路は、複数の基本演算ブロックに共通に設けられてもよい。   In the configuration shown in FIG. 1, the orthogonal transform circuit 85 is provided for each basic operation block, and it is possible to perform orthogonal transform of a data string for each basic operation block. However, this orthogonal transform circuit may be provided in common for a plurality of basic arithmetic blocks.

以上のように、この発明の実施の形態2に従えば、有効ビット幅情報に応じて、直交メモリ内のメモリセルすべてに、転送データを格納した後、この有効ビット幅情報に応じたエントリ拡張を行なってデータ転送をしており、メモリセルマットとの間のデータ転送効率が改善される。また、直交メモリのメモリセルを利用効率を改善することができる。また、メモリセルマットと直交変換回路との間のデータ転送回数が低減され、主演算回路の演算処理のサイクル数を増加させることができ、システム全体の処理能力を改善することができる。また、実施の形態1と同様の効果をも奏する。   As described above, according to the second embodiment of the present invention, after the transfer data is stored in all the memory cells in the orthogonal memory according to the effective bit width information, the entry extension according to the effective bit width information is performed. Thus, data transfer is performed to improve data transfer efficiency with the memory cell mat. Further, the utilization efficiency of the memory cell of the orthogonal memory can be improved. Further, the number of data transfers between the memory cell mat and the orthogonal transform circuit is reduced, the number of arithmetic processing cycles of the main arithmetic circuit can be increased, and the processing capacity of the entire system can be improved. In addition, the same effects as those of the first embodiment are also obtained.

この発明に従う直交変換回路は、演算用メモリアレイのエントリそれぞれに演算器が設けられる信号処理装置に対して適用することにより、データ転送を効率的に行なうことができ、より処理性能を改善することができる。   By applying the orthogonal transform circuit according to the present invention to a signal processing device in which an arithmetic unit is provided for each entry of the arithmetic memory array, data transfer can be performed efficiently and processing performance can be further improved. Can do.

また、このような半導体信号処理装置に限定されず、たとえば、行列の乗算を行なう回路装置において、行列を転置して行なう回路部分に、この発明に従う直交変換回路を利用することにより、高速でデータを転送して転置行列を生成して、行列の乗算を行なうことができる。   Further, the present invention is not limited to such a semiconductor signal processing device. For example, in a circuit device that performs matrix multiplication, data can be transmitted at high speed by using an orthogonal transformation circuit according to the present invention for a circuit portion that transposes a matrix. To generate a transposed matrix and perform matrix multiplication.

またこのような行列の乗算などに限定されず、行列の転置操作が必要な回路部分に対して、本発明に従う直交変換回路を利用することにより、効率的な直交変換を行なうことができ、ベクトル乗算処理などを効率的に実行することができる回路装置を実現することができる。   Further, the present invention is not limited to such matrix multiplication and the like, and by using the orthogonal transform circuit according to the present invention for a circuit portion that requires matrix transposition operation, efficient orthogonal transform can be performed. A circuit device that can efficiently execute multiplication processing and the like can be realized.

この発明に従う直交変換回路が適用される信号処理システムの構成を概略的に示す図である。It is a figure which shows roughly the structure of the signal processing system to which the orthogonal transformation circuit according to this invention is applied. 図1に示す主演算回路のメモリセルマットおよび演算処理ユニットの構成を概略的に示す図である。FIG. 2 is a diagram schematically showing a configuration of a memory cell mat and an arithmetic processing unit of the main arithmetic circuit shown in FIG. 1. 図1に示す主演算回路内において実行される演算操作の一例を示す図である。It is a figure which shows an example of the arithmetic operation performed within the main arithmetic circuit shown in FIG. 図3に示す演算処理動作を示すタイミングチャートである。It is a timing chart which shows the arithmetic processing operation | movement shown in FIG. 図1に示す主演算回路の構成をより具体的に示す図である。It is a figure which shows more specifically the structure of the main arithmetic circuit shown in FIG. 図1に示す信号処理システムにおける外部メモリから主演算回路のメモリセルマットへのデータ転送時のデータの流れを模式的に示す図である。FIG. 2 is a diagram schematically showing a data flow during data transfer from an external memory to a memory cell mat of a main arithmetic circuit in the signal processing system shown in FIG. 1. この発明の実施の形態1に従う直交変換回路の構成を概略的に示す図である。It is a figure which shows roughly the structure of the orthogonal transformation circuit according to Embodiment 1 of this invention. 図7に示す直交メモリに含まれる直交メモリセルの構成の一例を示す図である。FIG. 8 is a diagram illustrating an example of a configuration of orthogonal memory cells included in the orthogonal memory illustrated in FIG. 7. 図7に示す直交変換回路のデータ転送動作を示すフロー図である。FIG. 8 is a flowchart showing a data transfer operation of the orthogonal transform circuit shown in FIG. 7. 図9に示すフロー図の他のデータ転送時のデータの流れを模式的に示す図である。It is a figure which shows typically the flow of the data at the time of the other data transfer of the flowchart shown in FIG. 発明の実施の形態1に従う直交変換回路の構成をより具体的に示す図である。It is a figure which shows more specifically the structure of the orthogonal transformation circuit according to Embodiment 1 of invention. 図11に示す直交変換回路の要部の構成を概略的に示す図である。FIG. 12 schematically shows a configuration of a main part of the orthogonal transform circuit shown in FIG. 11. (A)は、図11に示すメモリセルマット直交メモリI/Fの構成を概略的に示し、(B)は、この図13(A)に示すバス幅変換回路の構成をより具体的に示す図である。(A) schematically shows the configuration of the memory cell mat orthogonal memory I / F shown in FIG. 11, and (B) shows more specifically the configuration of the bus width conversion circuit shown in FIG. 13 (A). FIG. 図13(B)に示すバス幅変換回路による転送データの配列の一例を示す図である。It is a figure which shows an example of the arrangement | sequence of the transfer data by the bus width conversion circuit shown in FIG.13 (B). この発明の実施の形態2に従う直交変換回路の構成を概略的に示す図である。It is a figure which shows roughly the structure of the orthogonal transformation circuit according to Embodiment 2 of this invention. 図15に示す直交メモリの構成をより具体的に示す図である。FIG. 16 is a diagram specifically showing the configuration of the orthogonal memory shown in FIG. 15. (A)−(C)は、エントリ単位データが8ビット幅のときのデータの直交メモリへの獲得シーケンスを概略的に示す図である。(A)-(C) is a figure which shows roughly the acquisition sequence to the orthogonal memory when the entry unit data is 8 bits wide. エントリデータが8ビットデータのときの直交メモリからのメモリセルマットへの転送時のデータの流れを模式的に示す図である。It is a figure which shows typically the data flow at the time of transfer to the memory cell mat from orthogonal memory when entry data are 8-bit data. (A)および(B)は、エントリデータが16ビットデータのときの直交メモリへのデータ格納シーケンスを模式的に示す図である。(A) and (B) are diagrams schematically showing a data storage sequence in the orthogonal memory when the entry data is 16-bit data. エントリ単位データが16ビットデータのときの直交メモリからメモリセルマットへのデータ転送時の転送データの流れを模式的に示す図である。It is a figure which shows typically the flow of the transfer data at the time of the data transfer to the memory cell mat from the orthogonal memory when entry unit data is 16 bit data. エントリ単位データが16ビットデータのときの直交メモリからメモリセルマットへのデータ転送の流れを模式的に示す図である。It is a figure which shows typically the flow of the data transfer from orthogonal memory to memory cell mat when entry unit data is 16 bit data. エントリ単位データが32ビットのときの直交メモリへのデータ格納シーケンスを模式的に示す図である。It is a figure which shows typically the data storage sequence to orthogonal memory when entry unit data is 32 bits. エントリ単位データが32ビットのときの直交メモリからメモリセルマットへのデータ転送時のデータの流れを模式的に示す図である。It is a figure which shows typically the data flow at the time of the data transfer from orthogonal memory to memory cell mat when entry unit data is 32 bits. エントリデータが32ビット幅のときの、直交メモリからメモリセルマットへのデータ転送時の転送データの流れを模式的に示す図である。It is a figure which shows typically the flow of the transfer data at the time of the data transfer from an orthogonal memory to a memory cell mat when entry data is 32 bits wide. 図15に示すメモリセルマット直交メモリI/Fの構成を概略的に示す図である。FIG. 16 schematically shows a configuration of a memory cell mat orthogonal memory I / F shown in FIG. 15. この発明の実施の形態2の変更例に従う直交変換回路の要部の構成を概略的に示す図である。It is a figure which shows schematically the structure of the principal part of the orthogonal transformation circuit according to the modification of Embodiment 2 of this invention.

符号の説明Explanation of symbols

1 信号処理システム、2 半導体信号処理装置、20 主演算回路、7 内部システムバス、24 システムバスI/F、85 直交変換回路、90a,90b 直交メモリ、93 内部レジスタ群、93a システムバスアクセス回数カウンタ、93b メモリセルマットアクセス回数カウンタ、94 制御レジスタ群、94a エントリ位置レジスタ、94b ビット位置レジスタ、94c イネーブルレジスタ、94d リード/ライト方向レジスタ、94e 有効ビット幅レジスタ、95 メモリセルマットアドレス計算ユニット、92 メモリセルマット直交メモリI/F、77 内部メモリバス、96,97,98 内部データバス、91 システムバス直交メモリI/F、21 システムバスメモリI/F、110 直交メモリセルアレイ、111 Hワード線選択回路、112 Vワード線選択回路、113 H入出力回路、114 V入出力回路、102 Hアドレス発生回路、104 Vアドレス発生回路、120 経路制御回路、122 経路設定回路、113a−113d リード/ライト回路、122a 転送経路設定ユニット、130 バス幅変換回路、133 バスドライバ、202 直交メモリセルアレイ、212 Vワード線選択回路、213 H入出力回路、214 V入出力回路、220 経路制御回路、222 経路設定回路、204 Vアドレス発生回路、192 メモリセルマット直交メモリI/F、198 内部データバス、212a−212d Vデコード/ワード線ドライバ、214a−214d メイン入出力回路、214e 経路切換回路、TFa−TFb 32ビット転送ゲート、RGa−RGb レジスタ、320 Vワード線選択回路、305 V入出力回路、310 V系制御回路。   DESCRIPTION OF SYMBOLS 1 Signal processing system, 2 Semiconductor signal processing apparatus, 20 Main arithmetic circuit, 7 Internal system bus, 24 System bus I / F, 85 Orthogonal transformation circuit, 90a, 90b Orthogonal memory, 93 Internal register group, 93a System bus access frequency counter 93b Memory cell mat access count counter, 94 control register group, 94a entry position register, 94b bit position register, 94c enable register, 94d read / write direction register, 94e effective bit width register, 95 memory cell mat address calculation unit, 92 Memory cell mat orthogonal memory I / F, 77 internal memory bus, 96, 97, 98 internal data bus, 91 system bus orthogonal memory I / F, 21 system bus memory I / F, 110 orthogonal memory cell array, 111 H word line selection circuit, 112 V word line selection circuit, 113 H input / output circuit, 114 V input / output circuit, 102 H address generation circuit, 104 V address generation circuit, 120 path control circuit, 122 path setting circuit, 113a- 113d read / write circuit, 122a transfer path setting unit, 130 bus width conversion circuit, 133 bus driver, 202 orthogonal memory cell array, 212 V word line selection circuit, 213 H input / output circuit, 214 V input / output circuit, 220 path control circuit 222 path setting circuit, 204 V address generation circuit, 192 memory cell mat orthogonal memory I / F, 198 internal data bus, 212a-212d V decode / word line driver, 214a-214d main input / output circuit, 214e path switching circuit, TFa-TF 32-bit transfer gates, RGa-RGb registers, 320 V word line selection circuit, 305 V input and output circuit, 310 V system control circuit.

Claims (5)

各々が第1の方向に延在しかつ複数のメモリセルを有する複数のエントリを備えるメモリ、
第1のバス上を転送されるデータの単位データのビット幅を示す有効ビット幅情報に従って、前記第1のバスと前記メモリの間のデータ転送経路を設定し、該設定された経路に従ってデータを転送するデータ転送経路設定回路、および
第2のバスと前記メモリの前記複数のエントリの第2の方向において整列するビットとの間で並列にデータを転送するデータ転送回路を備え
前記データ転送経路設定回路は、前記有効ビット幅情報が、前記第1のバス上を転送される単位データのビット幅が前記第1のバスのビット幅よりも小さいことを示すとき、前記メモリの複数のエントリの同一領域との間でデータを転送するようにデータ転送経路を設定し、
前記データ転送回路は、前記ビット幅情報が前記第1のバスのビット幅よりも前記第1のバスを転送されるデータのビット幅が小さいことを示すとき、前記エントリ数を拡張して前記メモリと前記第2のバスの間でデータを転送する、直交変換回路。
A memory comprising a plurality of entries, each extending in a first direction and having a plurality of memory cells;
A data transfer path between the first bus and the memory is set according to the effective bit width information indicating the bit width of the unit data of data transferred on the first bus, and the data is transferred according to the set path. A data transfer path setting circuit for transferring, and a data transfer circuit for transferring data in parallel between a second bus and bits aligned in a second direction of the plurality of entries of the memory ,
The data transfer path setting circuit, when the effective bit width information indicates that the bit width of the unit data transferred on the first bus is smaller than the bit width of the first bus, Set the data transfer path to transfer data to and from the same area of multiple entries,
When the bit width information indicates that the bit width of the data transferred through the first bus is smaller than the bit width of the first bus, the data transfer circuit expands the number of entries to increase the number of entries. And an orthogonal transformation circuit for transferring data between the second bus and the second bus .
前記データ転送経路設定回路は、さらに、前記有効ビット幅情報に従って、前記同一領域において前記複数のエントリとの間で単位データの転送が完了すると、前記メモリの前記同一領域と異なる領域において各エントリとの間で単位データを転送する、請求項記載の直交変換回路。 The data transfer path setting circuit further, in accordance with the effective bit width information, upon completion of unit data transfer with the plurality of entries in the same area, each entry in a different area from the same area of the memory. transferring unit data between the orthogonal transform circuit according to claim 1, wherein. 前記メモリは、前記有効ビット幅情報に従って、前記転送経路設定回路と1または複数のエントリの間で順次単位データを転送する書込/読出回路を備える、請求項1記載の直交変換回路。   2. The orthogonal transform circuit according to claim 1, wherein the memory includes a write / read circuit that sequentially transfers unit data between the transfer path setting circuit and one or a plurality of entries in accordance with the effective bit width information. 前記メモリは、前記有効ビット幅情報が前記第1のバス幅よりも小さいビット幅を示すとき、第2の方向に整列するメモリセル単位でのデータ転送を各エントリの単位データについて完了した後、次の単位データを各エントリから第2の方向に整列するメモリセル単位で転送して、前記メモリから前記第2の方向のエントリ数を拡張し、該拡張されたエントリ単位で前記転送回路との間でデータを転送するエントリ拡張回路を備える、請求項1記載の直交変換回路。   When the effective bit width information indicates a bit width smaller than the first bus width, the memory completes data transfer in units of memory cells aligned in the second direction for unit data of each entry, The next unit data is transferred from each entry in memory cell units aligned in the second direction, the number of entries in the second direction is expanded from the memory, and the transfer circuit is connected to the transfer circuit in the expanded entry unit. The orthogonal transform circuit according to claim 1, further comprising an entry extension circuit that transfers data between the two. 前記メモリは、それぞれ、同一数のエントリを有する第1および第2の直交メモリを備え、
前記データ転送経路設定回路は、前記第1および第2の直交メモリにそれぞれ対応して設けられる第1および第2のデータ転送経路設定回路を備え、
前記データ転送回路は、前記第1および第2の直交メモリそれぞれに対応して設けられる第1および第2のデータ転送回路を備え、
前記第1および第2のデータ転送経路設定回路ならびに前記第1および第2のデータ転送回路、前記第1および第2の直交メモリの一方が前記第1のバスデータを転送するときには他方が第2のバスとデータを転送するようにインタリーブ態様で交互に操作する、請求項1記載の直交変換回路。
The memory comprises first and second orthogonal memories each having the same number of entries;
The data transfer path setting circuit includes first and second data transfer path setting circuits provided corresponding to the first and second orthogonal memories, respectively.
The data transfer circuit includes first and second data transfer circuits provided corresponding to the first and second orthogonal memories, respectively.
When one of the first and second data transfer path setting circuits, the first and second data transfer circuits, and the first and second orthogonal memories transfers the first bus data, the other is the second. The orthogonal transform circuit according to claim 1, wherein the orthogonal transform circuit operates alternately in an interleaved manner so as to transfer the bus and data.
JP2005331517A 2005-11-16 2005-11-16 Orthogonal transformation circuit Expired - Fee Related JP4854277B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005331517A JP4854277B2 (en) 2005-11-16 2005-11-16 Orthogonal transformation circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005331517A JP4854277B2 (en) 2005-11-16 2005-11-16 Orthogonal transformation circuit

Publications (2)

Publication Number Publication Date
JP2007140750A JP2007140750A (en) 2007-06-07
JP4854277B2 true JP4854277B2 (en) 2012-01-18

Family

ID=38203544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005331517A Expired - Fee Related JP4854277B2 (en) 2005-11-16 2005-11-16 Orthogonal transformation circuit

Country Status (1)

Country Link
JP (1) JP4854277B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5196946B2 (en) * 2007-10-25 2013-05-15 三菱電機株式会社 Parallel processing unit
JP2010244095A (en) * 2009-04-01 2010-10-28 Seiko Epson Corp Data processing apparatus, printing system, and program
JP5842744B2 (en) * 2012-06-19 2016-01-13 株式会社デンソー Data processing method for mobile objects
WO2017138235A1 (en) * 2016-02-08 2017-08-17 ソニー株式会社 Memory controller, non-volatile memory, and control method for memory controller

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3277377B2 (en) * 1991-06-21 2002-04-22 ソニー株式会社 Video signal processor
JPH06161954A (en) * 1992-11-20 1994-06-10 Fujitsu Ltd Data width converting buffer device
JPH10207868A (en) * 1997-01-21 1998-08-07 Sharp Corp Two-dimensional array transposition circuit
JP2001067306A (en) * 1999-08-26 2001-03-16 Matsushita Electric Ind Co Ltd Bus interface device and data transfer device
JP2005044386A (en) * 2003-07-22 2005-02-17 Renesas Technology Corp Semiconductor storage device and microcomputer

Also Published As

Publication number Publication date
JP2007140750A (en) 2007-06-07

Similar Documents

Publication Publication Date Title
US10783942B2 (en) Modified decode for corner turn
US10983706B2 (en) Multiple endianness compatibility
US11482260B2 (en) Apparatuses and methods for scatter and gather
US8019948B2 (en) Multi-path accessible semiconductor memory device having mailbox areas and mailbox access control method thereof
JP4738112B2 (en) Semiconductor memory device
US7562198B2 (en) Semiconductor device and semiconductor signal processing apparatus
US7961547B2 (en) Memory device using a common write word line and a common read bit line
CN109147842B (en) Apparatus and method for simultaneous computational operations in a data path
JP2006164183A (en) Semiconductor signal processing device
US5953738A (en) DRAM with integral SRAM and arithmetic-logic units
US20010010057A1 (en) Semiconductor integrated circuit, computer system, data processor and data processing method
JP6791522B2 (en) Equipment and methods for in-data path calculation operation
US5355335A (en) Semiconductor memory device having a plurality of writing and reading ports for decreasing hardware amount
JPH11203860A (en) Semiconductor memory device
TW201835906A (en) Apparatuses and methods for compute in data path
JP2726578B2 (en) Method of controlling DRAM recovery
JP4854277B2 (en) Orthogonal transformation circuit
JP2006099232A (en) Semiconductor signal processor
JP2011192305A (en) Semiconductor signal processor
JP5145581B2 (en) Orthogonal transformation circuit
WO2022183314A1 (en) Memory
JPH1021690A (en) Dynamic associative access memory
JPS63244398A (en) Semiconductor storage device
JPH06168177A (en) Pipeline memory device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081007

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110829

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111025

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees