JPH0683696A - Two-dimensional array type memory system - Google Patents

Two-dimensional array type memory system

Info

Publication number
JPH0683696A
JPH0683696A JP23241692A JP23241692A JPH0683696A JP H0683696 A JPH0683696 A JP H0683696A JP 23241692 A JP23241692 A JP 23241692A JP 23241692 A JP23241692 A JP 23241692A JP H0683696 A JPH0683696 A JP H0683696A
Authority
JP
Japan
Prior art keywords
register
address
column
page
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP23241692A
Other languages
Japanese (ja)
Other versions
JP3345050B2 (en
Inventor
Masatsugu Kametani
雅嗣 亀谷
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP23241692A priority Critical patent/JP3345050B2/en
Priority to US08/113,811 priority patent/US5724540A/en
Publication of JPH0683696A publication Critical patent/JPH0683696A/en
Application granted granted Critical
Publication of JP3345050B2 publication Critical patent/JP3345050B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Input (AREA)

Abstract

PURPOSE:To provide a two-dimensional array type memory system at low cost for which the numbers of instructions and overheads for memory management are less and high-speed access is enabled. CONSTITUTION:Memory arrays 1001 and 1002 are used as storage parts and addresses in the directions of the rows and columns of the respective arrays are managed by a pair of two pointers. The respective pointers are generated by respective controllers 1009 and 1010 and the respective controllers receive the leading addresses of the arrays and pointer update information from a CPU and mutually generate access pointers to arrayed data independently from the CPU corresponding to the information to be outputted. Thus, the memory system for handling the arrayed data can be accelerated and economized and CPU overheads can be reduced.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、リアルタイムで大規模
なデ−タを扱う処理装置に好適な二次元配列型メモリシ
ステムに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a two-dimensional array type memory system suitable for a processing device that handles large-scale data in real time.

【0002】[0002]

【従来の技術】計算機システムで使用するメモリシステ
ムの容量は近年急速に増加しつつある。現在ワ−クステ
−ションレベルで8Mbytes〜128Mbytesの主記憶を有
し、リニアにアクセス可能な大容量メモリシステムを有
することがア−キテクチャ構成上の必須条件になりつつ
ある。すなわち、OSやその作業領域及び汎用化された
ファイルシステム及びテ−ブルが大量のメモリを消費
し、十分な容量のリニアメモリシステムを備えていない
と有効な処理を行えないのが現状である。従来のリニア
メモリ空間を前提としたメモリインターフェース構成例
として、インテル社の文献資料番号231732J−0
03(8036ハードウェアリファレンス・マニュア
ル)のP43〜P62に示されたものがある。
2. Description of the Related Art The capacity of memory systems used in computer systems has been increasing rapidly in recent years. At present, it is becoming an indispensable condition for architecture construction to have a large-capacity memory system which has a main memory of 8 Mbytes to 128 Mbytes at the workstation level and is linearly accessible. That is, the OS, its work area, a general-purpose file system, and a table consume a large amount of memory, and effective processing cannot be performed unless a linear memory system having a sufficient capacity is provided. As an example of a memory interface configuration based on the conventional linear memory space, reference document number 231732J-0 of Intel Corporation is used.
03 (8036 Hardware Reference Manual), P43 to P62.

【0003】[0003]

【発明が解決しようとする課題】現状の計算機システム
のメモリシステムア−キテクチャは汎用性に富むのは事
実だが、逆に、アクセス操作やその管理(メモリマネ−
ジメント)におけるCPU負荷及びOS負荷は非常に高
く、大きなオ−バ−ヘッドになっている。また、大容量
メモリシステムを有することが前提となっているため、
コスト面でも高価にならざるを得ない。このような問題
点を詳しく述べると次のようになる。 (1)比較的大きなリニアメモリシステムを必要とし、
その操作はすべてCPUのアドレッシング処理とアクセ
ス命令とに頼り切る思想で処理装置部を構成している。
従って、メモリ空間の管理やアクセス操作をOSやソフ
トで記述する必要があり、汎用性に富む反面、オ−バ−
ヘッドが大きい。 (2)上記(1)に伴いメモリをアクセスするのに必要
な命令数が増加するため、それらの命令コ−ドを保持す
るのに多くのメモリを必要とする。1デ−タを読み書き
(Read and Write)する一連の操作で平均10〜12バイ
ト(32bitプロセッサ)が命令コ−ドとして必要とな
る。その分多くのコ−ドメモリを消費し、1メモリアク
セス当たりのコストが大きい。 (3)上記(1)、(2)よりコストオリエンテッドな
産業用計算機を設計する際、メモリの占めるコストが大
きくなり過ぎる傾向にある。 (4)命令コ−ド列や配列デ−タ列(ファイルシステ
ム、数値処理デ−タ、テ−ブル、モデルデ−タ等)等、
ベクトル的に処理できるデ−タがメモリシステムの大半
を占めるにも拘らず、すべての領域をランダムアクセス
することを前提としてシステムが設計されている。従っ
て、アクセス操作が冗長となったりアドレッシング処理
に必要以上のオ−バ−ヘッドを要する。 (5)計算機システムにとってメモリアクセス上の最大
のクリティカルパスは、指定したメモリデ−タ(オペラ
ンドデ−タ)をどれだけ早い時刻にCPU内に取り込
み、そのデ−タに処理を加えることができるかである。
必要なデ−タがCPUに入力されないと、CPUは待ち
状態になり処理効率を直接的に低下させる原因となる。
従来のシステムでは、オペランドデ−タアドレッシング
をCPU内で実行中のアクセスインストラクションの中
で行う。そして、その結果をメモリに出力してアクセス
タ−ゲットデ−タがメモリから読み出されるまで待った
後そのデ−タを取り込み、必要な処理を加える。従っ
て、必ずアクセス待ちオ−バ−ヘッドを要する。
It is true that the memory system architecture of the current computer system is highly versatile, but conversely, access operations and their management (memory management) are performed.
CPU load and OS load are very high, resulting in a large over head. Also, because it is assumed that you have a large capacity memory system,
There is no choice but to increase the cost. The problem is described in detail below. (1) requires a relatively large linear memory system,
All the operations are based on the idea of relying on the addressing process of the CPU and the access command to configure the processing unit.
Therefore, it is necessary to describe the management and access operations of the memory space in the OS or software, which is versatile, but it is not possible
The head is large. (2) Since the number of instructions required to access the memory increases with the above (1), a large amount of memory is required to hold those instruction codes. An average of 10 to 12 bytes (32 bit processor) is required as an instruction code for a series of operations for reading and writing 1 data (Read and Write). That much code memory is consumed, and the cost per memory access is large. (3) When designing a cost-oriented industrial computer from the above (1) and (2), the cost occupied by the memory tends to become too large. (4) Command code sequence, array data sequence (file system, numerical processing data, table, model data, etc.)
The system is designed on the assumption that all areas are randomly accessed, although data that can be processed in a vector occupy most of the memory system. Therefore, the access operation becomes redundant and the addressing process requires more overhead than necessary. (5) For the computer system, the maximum critical path in memory access is how fast the specified memory data (operand data) can be taken into the CPU and the processing can be added to the data. Is.
If the necessary data is not input to the CPU, the CPU will be in a waiting state, which directly causes a decrease in processing efficiency.
In a conventional system, operand data addressing is performed in the access instruction being executed in the CPU. Then, the result is output to the memory, and after waiting until the access target data is read from the memory, the data is fetched and necessary processing is added. Therefore, an access waiting overhead is always required.

【0004】上記した従来技術の問題点から考えると、
コストオリエンテッドな計算機システムから大規模な高
性能システムまで様々な性能要求をカバ−し、かつ統一
したア−キテクチャの下で将来にわたって設計していく
ことは非常に困難であることが明かであり、コストパフ
ォ−マンスまで考慮するとさらに問題は大きくなる。こ
の点から問題点をさらに詳しくみると、次のようにな
る; (6)大きなアドレス空間をサポ−トしようとすると、
多くのアドレス線、多ビットのアドレッシング処理装置
(カウンタや加算器)及びアドレスレジスタをCPU内
に備える必要があり、必然的に高価なCPU(32bitC
PU等、8 bitCPUでは扱えるアドレス空間が小さ
い)を用いることになる。 (7)ハ−ドウェアコストを抑え込もうとすると、安価
なCPU(8bitCPU、16bitCPU等)を用いること
になるが、アドレッシング処理能力も同時に低くなり、
扱えるメモリ容量が少なくなるばかりでなく処理能力そ
のものも低くならざるを得ない。 (8)完全にコストオリエンテッドな設計が現時点で要
求されていても、将来メモリ容量や数値処理能力の面で
もより高い性能要求が必須である場合には、ア−キテク
チャやソフトウェアの資産性を考慮すると、現時点から
ある程度高機能設計にせざるを得ない。 (9)ソフトウェアの資産性及び継承性を考慮すると、
高級言語を用いてプログラムを記述しておく必要が生ず
る。従って、プログラムの実行速度が低下するだけでな
く、メモリ容量も大きなものが要求されるため、コスト
パフォ−マンスは非常に悪くなる。この条件で性能を上
げようとすると、CPUを高レベルなものに変更する必
要が生じ絶対的にハ−ドウェアコストが上昇する。 (10)メモリシステムは小容量で良くても、高い数値
処理能力が要求された場合、その性能の大部分がメモリ
システムへのアクセス効率に依存している。従って、高
レベルのCPUを用いメモリシステムへのアドレッシン
グ能力を強化する必要が生じ、それに伴ってメモリシス
テムも比較的大規模にならざるを得ない。 (11)高性能マシンと大容量メモリシステム上で構築
されたプログラムは、OSやシステムソフトウェアへの
依存性が非常に高く、コ−ドサイズ及びデ−タサイズが
大きくなりがちである。すなわち、マシンの性能とメモ
リ量を気にせずに製作されているため、コストパフォ−
マンスが非常に悪い。従って、コストオリエンテッドな
マシンに移植しようとすると、大幅なチュ−ニング(ほ
とんどつくり直しに近い)が必要となったり、資産性を
考慮すると結局高級マシンが必要となり、目標とするコ
ストから大幅にかけ離れたものになる可能性が高い。
Considering the above problems of the prior art,
It is very difficult to cover various performance requirements from cost-oriented computer systems to large-scale high-performance systems, and to design in the future under a unified architecture. , And the cost performance is taken into consideration, the problem becomes more serious. From this point, a closer look at the problem is as follows; (6) When trying to support a large address space,
Many address lines, multi-bit addressing processing devices (counters and adders), and address registers must be provided in the CPU, which inevitably requires an expensive CPU (32bitC
An address space that can be handled by an 8-bit CPU such as PU is small). (7) In order to reduce the hardware cost, an inexpensive CPU (8bit CPU, 16bit CPU, etc.) will be used, but the addressing processing capacity will also decrease at the same time,
Not only the memory capacity that can be handled decreases, but also the processing capacity itself has to be low. (8) Even if a completely cost-oriented design is required at the present time, if higher performance requirements are required in terms of memory capacity and numerical processing capability in the future, the architecture and software property of Considering this, we have no choice but to design to some extent from the present time. (9) Considering the property and inheritance of software,
It becomes necessary to write a program using a high-level language. Therefore, not only the execution speed of the program is lowered, but also a large memory capacity is required, so that the cost performance becomes very bad. If the performance is to be improved under this condition, it is necessary to change the CPU to a higher level one, and the hardware cost is absolutely increased. (10) Even if the memory system has a small capacity, if high numerical processing capability is required, most of the performance depends on the access efficiency to the memory system. Therefore, it becomes necessary to enhance the addressing ability of the memory system by using a high-level CPU, and accordingly, the memory system also has to be relatively large-scaled. (11) A program built on a high-performance machine and a large-capacity memory system has a very high dependency on the OS and system software, and tends to have a large code size and data size. In other words, because it is manufactured without concern for machine performance and memory capacity, cost performance is improved.
Very poor monthly performance. Therefore, if you try to port it to a cost-oriented machine, it will require a great deal of tuning (almost like rebuilding), or if you consider the asset property, you will eventually need a high-end machine, which will greatly increase your target cost. It is likely to be far from one another.

【0005】本発明の目的は、メモリ管理のためのOS
やソフトのオーバヘッドが少なく、また目盛り管理のた
めの命令数を少なくして全体のメモリ容量を、従ってコ
ストを低減でき、さらに大容量のメモリアクセスを高速
化することのできる二次元配列メモリシステムを提供す
るにある。
An object of the present invention is to provide an OS for memory management.
A two-dimensional array memory system that has less overhead of software and software, reduces the total memory capacity by reducing the number of instructions for graduation management, and therefore costs, and can speed up large-capacity memory access. To provide.

【0006】[0006]

【課題を解決するための手段】上記目的は以下により達
成される。 1)ページポインタとコラムポインタの組でアドレス指
定を行うように構成されたメモリアレイと、中央処理装
置からのアクセスに応じて上記ページポインタを生成す
るページアドレスコントローラと、上記中央処理装置か
らのアクセスの応じて上記コラムポインタを生成するコ
ラムアドレスコントローラとを設ける。 2)前記コラムアドレスコントロ−ラは、複数のコラム
アドレスレジスタから成るコラムアドレスレジスタファ
イルと、別に与えられたコラム用のオフセットアドレス
と上記コラムアドレスレジスタに中央処理装置から設定
されたアドレスとから前記コラムポインタを生成するコ
ラムアドレスカウンタとから構成し、前記ページアドレ
スコントローラは、複数のページアドレスレジスタから
成るページアドレスレジスタファイルと、別に与えられ
たページ用のオフセットアドレスと上記ページアドレス
レジスタに中央処理装置から設定されたアドレスとから
前記ページポインタを生成するページアドレスカウンタ
とから構成する。 3)前記コラムアドレスコントローラは、前記コラムア
ドレスカウンタで生成したコラムポインタと前記ペ−ジ
アドレスカウンタで生成したページポインタを一時記憶
するためのラッチと、該ラッチから上記2つのポインタ
をタイミングを合わせて前記メモリアレイへ出力する制
御手段とを有する。 4)前記コラムアドレスレジスタファイルは、前記コラ
ムアドレスレジスタの複数個からなる複数のコラムアド
レスレジスタセットからなるとともに、該コラムアドレ
スレジスタセット毎に対応するオフセットレジスタと、
上記コラムアドレスレジスタセット及びオフセットレジ
スタの選択と該選択したコラムアドレスレジスタセット
内のコラムアドレスレジスタの選択とを行うための選択
回路とを設け、該回路により選択されたコラムアドレス
レジスタと対応オフセットレジスタの内容から前記コラ
ムアドレスカウンタがコラムポインタを生成する。 5)前記ページアドレスレジスタファイルは、前記ペー
ジアドレスレジスタの複数個からなる複数のページアド
レスレジスタセットからなるとともに、該ページアドレ
スレジスタセット毎に対応するオフセットレジスタと、
上記ページアドレスレジスタセット及びオフセットレジ
スタの選択と該選択したページアドレスレジスタセット
内のページアドレスレジスタの選択とを行うための選択
回路とを設け、該回路により選択されたページアドレス
レジスタと対応オフセットレジスタの内容から前記ペー
ジアドレスカウンタがページポインタを生成する。 6)前記オフセットレジスタ毎にモードレジスタを設
け、中央処理装置からのアクセスによって上記モードレ
ジスタに設定されたモードに応じて当該オフセットレジ
スタの内容更新を行う。 7)前記オフセットレジスタの出力と中央処理装置から
の直接アドレスデータとを選択するためのセレクタを設
け、前記モードレジスタの出力によって上記セレクタに
よる選択を行える構成とする。 9)前記ページアドレスコントローラに、前記ページア
ドレスレジスタと互いにデータを転送可能な第1ページ
アドレス用テンポラリレジスタを設ける。 10)前記コラムアドレスコントローラに中央処理装置
から直接アドレス設定可能な第2テンポラリレジスタと
マルチプレクサとを設け、該マルチプレクサにより前記
コラムアドレスレジスタファイルから読みだされたアド
レスと上記第2テンポラリレジスタに設定されたアドレ
スとを選択して出力する。 11)前記ページアドレスコントローラに中央処理装置
から直接アドレス設定可能な第2テンポラリレジスタと
マルチプレクサとを設け、該マルチプレクサにより前記
ページアドレスレジスタファイルから読みだされたアド
レスと上記第2テンポラリレジスタに設定されたアドレ
スとを選択して出力する。
The above objects are achieved by the following. 1) A memory array configured to perform addressing with a set of a page pointer and a column pointer, a page address controller that generates the page pointer in response to an access from a central processing unit, and an access from the central processing unit And a column address controller for generating the column pointer according to the above. 2) The column address controller comprises a column address register file composed of a plurality of column address registers, an offset address for a column separately given, and an address set by the central processing unit in the column address register. The page address controller comprises a column address counter for generating a pointer, and the page address controller includes a page address register file including a plurality of page address registers, an offset address for a page separately given, and the page address register from the central processing unit. It comprises a page address counter for generating the page pointer from the set address. 3) The column address controller matches the timing of the two pointers from the latch for temporarily storing the column pointer generated by the column address counter and the page pointer generated by the page address counter. Control means for outputting to the memory array. 4) The column address register file includes a plurality of column address register sets including a plurality of column address registers, and an offset register corresponding to each column address register set,
A selection circuit for selecting the column address register set and the offset register and the column address register in the selected column address register set is provided, and the column address register selected by the circuit and the corresponding offset register are provided. The column address counter generates a column pointer from the contents. 5) The page address register file includes a plurality of page address register sets including a plurality of the page address registers, and an offset register corresponding to each page address register set,
A selection circuit for selecting the page address register set and the offset register and the page address register in the selected page address register set is provided, and the page address register selected by the circuit and the corresponding offset register The page address counter generates a page pointer from the contents. 6) A mode register is provided for each offset register, and the contents of the offset register are updated according to the mode set in the mode register by access from the central processing unit. 7) A selector for selecting the output of the offset register and the direct address data from the central processing unit is provided, and the selector allows selection by the output of the mode register. 9) The page address controller is provided with a temporary register for the first page address that can transfer data to and from the page address register. 10) The column address controller is provided with a second temporary register and a multiplexer that can be directly addressed by the central processing unit, and the address read from the column address register file and the second temporary register are set by the multiplexer. Address and are selected and output. 11) The page address controller is provided with a second temporary register and a multiplexer that can be directly addressed by the central processing unit, and the address read from the page address register file and the second temporary register are set by the multiplexer. Address and are selected and output.

【0007】[0007]

【作用】上中央処理装置が配列データ処理のためにメモ
リアクセスをするとき、ページポインタ及びコラムポイ
ンタがどの様に更新されていくべきかという管理情報と
配列デ−タの先頭ポインタの値とを、ページアドレスコ
ントローラ及びコラムアドレスコントローラ内のモード
レジスタとページアドレスレジスタ及びコラムアドレス
レジスタにセットしておく。ここで、メモリアレイをア
クセスするときの管理情報としては、アドレッシング処
理として、ポインタを次の値に更新すべきか否か、更新
すべき値は現在のポインタにオフセットを加算したもの
かそれともインクリメント又はデクリメントしたアドレ
スか等の情報である。こうすることでページアドレスコ
ントローラ及びコラムアドレスコントローラにおけるア
ドレス処理を独立並行に実行でき、かつこれらの処理と
メモリアレイと中央処理装置間のデータ転送も並行に実
行できる。したがって、多量のデータからなる配列デー
タ処理のために大きいリニアメモリシステムを必要とせ
ず、またメモリへのアクセス処理を中央処理装置にすべ
て依存せずに行えるから、メモリ空間の管理やアクセス
操作をOSやソフトで記述する必要がなく、中央処理装
置のオーバヘッドを大幅に減らせる。同時にメモリアク
セスに必要な命令数が減少することによって、命令コー
ドを保持するのに多くのメモリを必要としない、。従っ
て産業用計算機などに応用すれば、メモリの占めるコス
トを大幅に減らすことができる。また、中央処理装置か
らの物理アドレスそのものを透過して出力できる機能も
有するから、配列データのように規則性に富んだデータ
でない、ランダムアクセスの必要なデータに対する処理
も容易に行え、システムの汎用性を保持できる。
When the upper central processing unit makes a memory access for array data processing, management information on how the page pointer and column pointer should be updated and the value of the head pointer of the array data are stored. , The page address controller and the column address controller are set in the mode register, the page address register, and the column address register. Here, as the management information when accessing the memory array, whether or not the pointer should be updated to the next value as the addressing processing, the value to be updated is the current pointer plus the offset, or the increment or decrement. It is information such as whether the address has been set. By doing so, the address processing in the page address controller and the column address controller can be independently executed in parallel, and these processing and the data transfer between the memory array and the central processing unit can also be executed in parallel. Therefore, a large linear memory system is not required for processing array data composed of a large amount of data, and memory access processing can be performed without depending on the central processing unit. It is not necessary to write it in or software, and the overhead of the central processing unit can be greatly reduced. At the same time, less memory is needed to hold the instruction code, as the number of instructions required to access the memory is reduced. Therefore, if it is applied to an industrial computer or the like, the cost occupied by the memory can be greatly reduced. In addition, since it has a function that allows the physical address itself from the central processing unit to be transmitted and output, it is possible to easily process data that does not have a high degree of regularity, such as array data, and that requires random access, making it a general-purpose system. Can retain sex.

【0008】[0008]

【実施例】以下、本発明を実施例により詳細に説明す
る。図1は本発明の二次元配列メモリシステムの一実施
例を示すブロック図で、1つの中央処理装置(以下CP
Uと略記する)1013に対して2つのアクセス制御部100
3、1004と、これらに制御される2つのメモリアレイ100
1、1002が設けられている。本実施例ではメモリアレイ1
001、1002の一方は命令コ−ドデ−タ用メモリシステム
(CDRAM)として、他方はオペランドデ−タ用メモ
リシステム(DDRAM)として用いられる(どちらが
どの用途に用いられてもよい)。個々のメモリアレイ
は、特願昭63-7145号及び特願平1-71723号に示されてい
るように、ダイナミックメモリ素子を用い、ペ−ジング
インタ−リ−ブアクセス方式で管理される。各アクセス
制御部は、ペ−ジアドレスコントロ−ラ(PACTL、
以下PAコントローラという)1009とコラムアドレスコ
ントロ−ラ(CACTL、以下CAコントローラとい
う)1010の2つのアクセス管理ユニットからなり、メイ
ンCPU部から制御信号、アドレス信号及びデ−タ信号
を受け取り、対応メモリアレイのアドレスを制御する。
このアドレスは各メモリアレイの二次元配列に対応し
て、ページアドレス(行方向のアドレス)を与えるペー
ジポインタと、コラムアドレス(列方向のアドレス)を
与えるコラムポインタの組である。
EXAMPLES The present invention will be described in detail below with reference to examples. FIG. 1 is a block diagram showing an embodiment of a two-dimensional array memory system of the present invention.
Two access control units 100 for 1013
3, 1004 and two memory arrays 100 controlled by these
1, 1002 are provided. In this embodiment, the memory array 1
One of 001 and 1002 is used as a memory system for instruction code data (CDRAM), and the other is used as a memory system for operand data (DDRAM) (which may be used for any purpose). As shown in Japanese Patent Application No. 63-7145 and Japanese Patent Application No. 1-71723, each memory array is managed by a paging interleave access method using a dynamic memory device. Each access control unit has a page address controller (PACL,
It consists of two access control units, a PA controller (hereinafter referred to as PA controller) 1009 and a column address controller (CACTL, hereinafter referred to as CA controller) 1010. Control the address of.
This address is a set of a page pointer that gives a page address (address in the row direction) and a column pointer that gives a column address (address in the column direction) corresponding to the two-dimensional array of each memory array.

【0009】図2はメモリアレイ1個分の構成を示すも
のである。バンク0〜nから成り、各バンクは32ビッ
トのデータを1データとした場合、コラムポインタとし
て2048個、ページポインタとして4096個の合計2048×40
96のアドレスを有する二次元配列メモリである。これは
32Mバイトの容量である。このメモリアレイに於て、
ベクトルデータは図のX0VEC0、Yj+2VEC0 等の
ように、コラムポインタまたはページポインタの方向の
隣接データの組で記憶され、行列データは図のX1MA
T0 等のようにコラムポインタ、ページポインタ両方向
の矩形領域に記憶される。このようにして、メモリデー
タマトリックス上にベクトル(XmVECn)やマトリッ
クス(XmMATn)を定義していく。そしてこれらのベ
クトル、マトリックスの先頭を示すページポインタm、
コラムポインタnの組(m、n)で、それらの多次元変
数の属性(配列名に相当する)を表現している。ここ
で、先頭データのポインタとする横方向のベクトルをX
mVECn、縦方向のベクトルをYmVECn、そしてマト
リックスをXmMATnと表現している。
FIG. 2 shows a structure for one memory array. It consists of banks 0 to n, and each bank has 2048 column pointers and 4096 page pointers for a total of 2048 x 40 when 32 bits of data is 1 data.
It is a two-dimensional array memory having 96 addresses. This is a capacity of 32 Mbytes. In this memory array,
Vector data is stored as a set of adjacent data in the direction of the column pointer or page pointer, such as X0VEC0, Yj + 2VEC0 in the figure, and the matrix data is X1MA in the figure.
It is stored in a rectangular area in both directions of the column pointer and page pointer, such as T0. In this way, the vector (XmVECn) and matrix (XmMATn) are defined on the memory data matrix. And these vectors, page pointer m indicating the beginning of the matrix,
The attribute (corresponding to the array name) of those multidimensional variables is expressed by a set (m, n) of column pointers n. Here, the vector in the horizontal direction that is the pointer of the head data is X
The vector in the vertical direction is represented by YmVECn, and the matrix is represented by XmMATn.

【0010】本実施例の概略動作を、アクセス制御部10
03を例として次に説明する。図1に於て、メインCPU
部1013は、配列デ−タ処理時、例えば、ベクトル演算処
理ル−プの実行時に、前もってそのル−プ管理情報をア
クセス制御部内のPAコントローラ1009及びCAコント
ローラ1010に与え、プログラムしておく。すなわち、メ
インCPU部がメモリアレイをアクセスしていくとき、
ポインタm及びnがどの様に更新されていくべきかとい
う情報と配列デ−タの先頭ポインタの値とを、デ−タバ
ス(DATA)1014又はアドレスバス(ADDR)1015
を介してPAコントローラ1009及びCAコントローラ10
10内にセットしておく。又、メモリアレイをアクセスす
るときのアドレッシング処理として、ポインタを次の値
に更新すべきか否か、更新すべき値は現在のポインタに
オフセットを加算したものかそれともインクリメント又
はデクリメントしたデ−タか、等の情報を予めプログラ
ムしておき、デフォ−ルトアドレッシングとして実行さ
せたり、メインCPU部1013がアクセス命令を用いてデ
−タアクセス時に直接指令し、アクセス動作と並行にア
ドレッシング処理を実行させることが出来る。これらの
アドレッシング処理は、PAコントローラ1009内のペー
ジアドレスカウンタ(PACNT、以下PAカウンタと
いう)1016及びCAコントローラ1010内のコラムアドレ
スカウンタ(CACNT、以下CAカウンタという)10
18によって、ポインタm及びnに対してそれぞれ独立並
行に処理される。これによって、2つのポインタを自動
的に制御し、従来CPU内で実行していた複雑なアドレ
ッシング処理をCPUのアクセス動作と並列に実行し
て、アクセス効率を向上させる役割を果たす。
The operation of the access control unit 10
Next, 03 will be described as an example. In FIG. 1, the main CPU
The section 1013 supplies the loop management information to the PA controller 1009 and the CA controller 1010 in the access control section in advance when the array data is processed, for example, when the vector operation processing loop is executed. That is, when the main CPU unit accesses the memory array,
Information on how the pointers m and n should be updated and the value of the first pointer of the array data are stored in the data bus (DATA) 1014 or the address bus (ADDR) 1015.
PA controller 1009 and CA controller 10 via
Set within 10. Also, as the addressing process when accessing the memory array, whether or not the pointer should be updated to the next value, whether the value to be updated is the current pointer plus the offset, or the incremented or decremented data, It is possible to preprogram information such as, for example, to execute it as default addressing, or to directly instruct the main CPU unit 1013 at the time of data access using an access instruction to execute addressing processing in parallel with the access operation. I can. These addressing processes are performed by a page address counter (PACNT, hereinafter referred to as PA counter) 1016 in the PA controller 1009 and a column address counter (CACNT, hereinafter referred to as CA counter) 1016 in the CA controller 1010.
By 18, the pointers m and n are processed independently and in parallel. With this, the two pointers are automatically controlled, and the complicated addressing processing conventionally executed in the CPU is executed in parallel with the access operation of the CPU, thereby improving the access efficiency.

【0011】PAコントローラ1009で生成されたページ
アドレスデ−タ(OPA)1017は、メモリアレイシステ
ム1001の上位アドレスとして一度CAコントローラ1010
へ送られた後、ここで生成された下位アドレスに相当す
るコラムアドレスデ−タ(OCA)1025とともにアドレ
スラッチ(AL)1019にラッチされ、全体のアドレスデ
−タが生成される。ページアドレスデ−タ1017を物理的
に直接メモリアレイシステム1001に与えることも可能で
あるが、メインCPU部1013からの物理アドレスそのも
のを透過して出力するモ−ドもアクセス制御部内1003に
備えているため、メモリアレイシステム1001から見たア
ドレス情報の性質や出力タイミングが各条件で同等にな
る様にするために、上記のようにページアドレスデータ
を一旦CAコントローラ1010へ入力してタイミング調整
を行っている。CAコントローラ1010は、メインCPU
部1013のメモリアレイ1001に対するアクセス動作に直接
呼応した形で、ページポインタ1005、コラムポインタ10
07と制御情報1020,1021(読み出し情報、書き込み情
報、アドレスストロ−ブ等)をメモリアレイシステム10
01へ出力する。メモリアレイシステム1001は、それらの
アクセス情報に応答して、メインCPU部1013に対し必
要なデ−タの出力を実行する。
The page address data (OPA) 1017 generated by the PA controller 1009 is once used as the upper address of the memory array system 1001 by the CA controller 1010.
After being sent to the address register (AL) 1019 together with the column address data (OCA) 1025 corresponding to the lower address generated here, the entire address data is generated. Although it is possible to directly provide the page address data 1017 directly to the memory array system 1001, a mode for transmitting and outputting the physical address itself from the main CPU unit 1013 is also provided in the access control unit 1003. Therefore, in order to make the property of the address information and the output timing seen from the memory array system 1001 equal under each condition, the page address data is once input to the CA controller 1010 as described above and the timing is adjusted. ing. CA controller 1010 is the main CPU
The page pointer 1005 and the column pointer 10 are directly connected to the access operation to the memory array 1001 of the section 1013.
07 and control information 1020, 1021 (read information, write information, address strobe, etc.)
Output to 01. The memory array system 1001 outputs necessary data to the main CPU unit 1013 in response to the access information.

【0012】このように、本実施例では、従来CPUで
実行していた複雑なアドレッシング処理を、アクセス制
御部でCPUとは独立に実行することにより、アクセス
動作の高速化、CPUのオーバヘッドの軽減を図ってい
る。図1に示した二次元配列メモリシステムのうち、ア
クセス制御部に相当する部分を将来CPUの機能の一つ
としてCPU内に集積することも可能である(LSIの
集積度が向上すれば1チップCPU内にその機能を集積
することもできるようになる)。ただし、通常のリニア
アクセスを必要とする他のサブシステムやリソースへの
アクセスに、別のバスシステムを用意する必要が生じる
可能性がある。その場合、LSI化されたCPUでは入
出力ピン数が増加する。しかし、配列メモリシステムへ
のアクセスと他のサブシステム、リソースへのアクセス
とを並列に実行できるようにCPUを設計することも可
能となり、より高速化が図れる可能性もある。
As described above, in the present embodiment, the complicated addressing processing conventionally executed by the CPU is executed by the access control unit independently of the CPU, thereby speeding up the access operation and reducing the overhead of the CPU. I am trying to In the two-dimensional array memory system shown in FIG. 1, it is possible to integrate a portion corresponding to the access control unit in the CPU as one of the functions of the CPU in the future (one chip if the integration degree of the LSI is improved. It will be possible to integrate the function in the CPU). However, it may be necessary to provide a separate bus system for accessing other subsystems and resources that require normal linear access. In that case, the number of input / output pins increases in an LSI CPU. However, it is possible to design the CPU so that access to the array memory system and access to other subsystems and resources can be performed in parallel, and there is a possibility that higher speed can be achieved.

【0013】次に、本実施例の各部の構成と動作を詳し
く説明する。まず、ペ−ジポインタの管理制御部である
PAコントローラ1009は、図1に示したように、CPU
部1013からの命令やアクセス動作情報をデコ−ドし、自
身へのコマンドが生成されているか否かを解析するデコ
−ダ(DEC)1022と、CPUのアクセス動作に呼応し
て内部で使用する様々な制御信号(コマンド、ラッチト
リガ等)やクロック信号を生成するマシンステ−トコン
トローラ(MSC)1023と、ペ−ジアドレスレジスタ
(PAREG、以下PAレジスタという)8個を1セッ
トとして計8セット分準備したペ−ジアドレスレジスタ
ファイル(PAREGF)1011と、PAレジスタのアド
レッシング演算(加算インクリメント、デクリメント)
処理を実行してその値を適切な値に更新するペ−ジカウ
ンタ(PACNT、以下PAカウンタという)1016とか
ら成る。PAレジスタへの値の設定は、アドレスバスA
DDR1015コントロ−ルバス(CTL)1024によって送
られてくる設定コマンドに呼応して、マシンステートコ
ントローラ1023がメインCPU部1013からデ−タバス10
14により送られてくるペ−ジデ−タを書き込むことによ
り行われる。
Next, the configuration and operation of each part of this embodiment will be described in detail. First, as shown in FIG. 1, the PA controller 1009 which is the management control unit of the page pointer is
A decoder (DEC) 1022 which decodes an instruction and access operation information from the unit 1013 and analyzes whether or not a command to itself is generated, and is used internally in response to the access operation of the CPU. A machine state controller (MSC) 1023 that generates various control signals (commands, latch triggers, etc.) and clock signals, and eight page address registers (PAREG, hereinafter referred to as PA registers) as one set, for a total of eight sets. Page address register file (PAREGF) 1011 and PA register addressing operation (addition increment, decrement)
And a page counter (PACNT, hereinafter referred to as PA counter) 1016 for executing processing and updating the value to an appropriate value. Address bus A is used to set the value in the PA register.
In response to the setting command sent by the DDR1015 control bus (CTL) 1024, the machine state controller 1023 transfers data from the main CPU unit 1013 to the data bus 10.
This is done by writing the page data sent by 14.

【0014】PAレジスタファイル(PAREGF)10
11の構造及びPAカウンタ(PACNT)1016の構造
は、後述の図3に示したコラムアドレスレジスタファイ
ル(CAREGF、以下CAレジスタファイルという)
及び図4に示したコラムアドレスカウンタ(CACN
T、以下CAカウンタという)と、一部を除いてほぼ同
じ構造である。そこで詳しい説明は後のCAコントロー
ラのところで述べることとし、ここでは簡単に説明して
おく。PAレジスタファイル1011は、8つのペ−ジアド
レスレジスタ(PAREG、以下、PAレジスタとい
う)を一組のバンクとし、そのバンクを8セット設けて
構成している。8つのPAレジスタのうちいずれを選択
するかを決める値をスタックアドレスと呼び、8セット
のバンクのうちいずれを選択するか決める値をバンクア
ドレスと呼んでいる。この2つのアドレス値は、スタッ
クアドレスカウンタとバンクアドレスカウンタによって
それぞれ生成される。スタックアドレスとバンクアドレ
スにより、使用すべき1つのPAレジスタが選択され、
そのPAレジスタの値に基づいてペ−ジポインタが決定
される。
PA register file (PAREGF) 10
The structure of 11 and the structure of the PA counter (PACNT) 1016 are the column address register file (CAREG, hereinafter referred to as CA register file) shown in FIG. 3 described later.
And the column address counter (CACN shown in FIG.
T, hereinafter referred to as CA counter), and has almost the same structure except a part. Therefore, a detailed description will be given later in the CA controller, and a brief description will be given here. The PA register file 1011 is composed of eight page address registers (PAREG, hereinafter referred to as PA registers) as a set of banks, and eight sets of the banks are provided. The value that determines which of the eight PA registers is selected is called the stack address, and the value that determines which of the eight sets of banks is selected is called the bank address. These two address values are respectively generated by the stack address counter and the bank address counter. One PA register to be used is selected by stack address and bank address,
The page pointer is determined based on the value of the PA register.

【0015】PAカウンタ(PACNT)1016は、選択
されたPAレジスタに対し、指定されたアドレッシング
処理を施す機能を有する。基本的なアドレッシング処理
には、
The PA counter (PACNT) 1016 has a function of performing a specified addressing process on the selected PA register. For basic addressing processing,

【数1】PAREG←PAREG+OFFSET、PA
REG←PAREG+1、 PAREG←PAREG−1 、PAREG変
化無し、 の4つがある。OFFSET値は、通常各PAレジスタ
バンクセットに対応して1つずつ設けられたオフセット
レジスタの値が用いられるが、メインCPU部1013から
直接即値(イミ−ディエイトデ−タ)として与えること
もできる。
[Equation 1] PAREG ← PAREG + OFFSET, PA
There are four types: REG ← PAREG + 1, PAREG ← PAREG-1, and no change in PAREG. As the OFFSET value, the value of the offset register provided one by one corresponding to each PA register bank set is usually used, but it can also be directly given from the main CPU section 1013 as an immediate value (immediate data).

【0016】以上のようなPAコントローラの構成にお
いて、バンクアドレスカウンタを操作することにより、
ベクトル処理時のル−プネストの管理や、同レベルのル
−プ内に複数のページポインタ変数を必要とする複雑な
ル−プ処理の管理を実現する。この操作を実行する命令
をインクリメントスタックポイント(Increment Stack
Point)、デクリメントスタックポイント(Decrement St
ack Point)と称し、メインCPU部1013は、ル−プ処
理内でこれらの命令を用いてペ−ジポインタを切り換え
ることにより、複数のポインタ変数を管理できる。また
スタックカウンタの操作命令とメインCPU部1013から
PAレジスタへのデ−タロ−ド又はデ−タストア操作と
を組み合わせて同時に実行する命令も用意されている。
In the configuration of the PA controller as described above, by operating the bank address counter,
It realizes management of loop nest during vector processing and management of complicated loop processing that requires a plurality of page pointer variables in the same level loop. Increment Stack Point (Increment Stack Point)
Point), Decrement Stack Point
ACK Point), the main CPU unit 1013 can manage a plurality of pointer variables by switching the page pointer using these instructions in the loop processing. There is also prepared an instruction to execute a combination of the stack counter operation instruction and the data load or data store operation from the main CPU unit 1013 to the PA register at the same time.

【0017】図5はPAコントローラ1009に用意されて
いる基本命令を示している。WTCD0、1、3、6と
RDCD0、1、3、6が、PAレジスタ(PARE
G)へのデ−タロ−ド、ストアおよびスタックアドレス
の変更に関する命令であり、WTCD5、7とRDCD
5、7がバンクアドレスの変更に関する命令である。こ
の図5に示した命令のアセンブリ言語におけるインプリ
メンテ−ション方法と、アセンブリ言語を用いたアプリ
ケ−ションソフトウェアの記述方法については、後に詳
述する。
FIG. 5 shows basic instructions prepared in the PA controller 1009. WTCD0, 1, 3, 6 and RDCD0, 1, 3, 6 are the PA registers (PARE
G) command for changing data load, store and stack address to WTCD 5, 7 and RDCD
References 5 and 7 are instructions relating to changing the bank address. The implementation method of the instruction shown in FIG. 5 in the assembly language and the description method of the application software using the assembly language will be described in detail later.

【0018】一方、CAポインタの管理制御部(CAコ
ントローラ)1010は、PAコントローラ1009と同様に、
CPU部1013からの命令やアクセス動作情報及びアクセ
ス動作そのものに呼応して動作する。それらの情報をデ
コ−ドするデコ−ド回路(DEC)1026とCPUのアク
セス動作に呼応して内部で使用する様々な制御信号(コ
マンド、ラッチトリガ等)やクロック信号を生成するマ
シンステ−トコントローラ(MSC)1027と、コラムア
ドレスレジスタ(CAREG、以下CAレジスタとい
う)を8レジスタ分で1セットとして計8セット分準備
したコラムアドレスレジスタファイル(CAREGF、
以下CAレジスタファイルという)1012と、CAレジス
タのアドレッシング演算(加算、インクリメント、デク
リメント)処理を実行してCAレジスタの値を適切なC
Aポイントデ−タ値に更新するCAカウンタ(CACN
T)1018、及びPAコントローラ1009から送られて来た
ページポイントデ−タと、CAコントローラ1010内で生
成されたCAポイントデ−タを合成し、メモリアレイシ
ステムに与えるべきアドレスデ−タを生成するアドレス
ラッチ(AL)1019とから構成される。
On the other hand, the CA pointer management control unit (CA controller) 1010 is similar to the PA controller 1009.
It operates in response to a command from the CPU unit 1013, access operation information, and the access operation itself. A machine circuit controller (DEC) 1026 that decodes the information and a machine state controller that generates various control signals (commands, latch triggers, etc.) and clock signals used internally in response to the access operation of the CPU. MSC) 1027 and column address register (CAREG, hereafter referred to as CA register) are set as a set of 8 registers, and a total of 8 sets of column address register files (CAREG,
Hereinafter, the CA register file 1012 and the CA register addressing operation (addition, increment, decrement) are executed to set the CA register value to an appropriate C value.
CA counter (CACN) for updating to A point data value
T) 1018 and page point data sent from the PA controller 1009 and CA point data generated in the CA controller 1010 are combined to generate address data to be given to the memory array system. The address latch (AL) 1019 is provided.

【0019】このCAコントローラ1010の基本的な動作
は、PAコントローラ1009と多くの部分で同じである
が、その基本命令の指令にメインCPU部1013からアド
レスバス(ADDR)1015とコントロ−ル信号(CT
L)1024を用いている。これは、メインCPU部1013の
デ−タバス(DATA)1014を実デ−タ(メインCPU
部1013の処理対象デ−タ)の転送処理にアサインするこ
とにより、CAコントローラ1010への命令指令処理とメ
モリアレイへのアクセス処理とを並行動作させて、アク
セスオ−バ−ヘッドをできるだけ減らすためである。ま
た、コラムポインタ1007はメインCPU部1013からラン
ダムにアクセスされる可能性も高く、アドレッシング処
理を高効率化しておく必要がある。特に、メインCPU
部1013がメモリデ−タをアクセスする際、同時にアドレ
ッシングモ−ドを指定する機能は重要であり、それらを
実現する命令をアクセスインストラクション(Access
Instruction)と呼んでいる。アクセスインストラクシ
ョンを利用してアクセス動作を行えば、通常のアクセス
オ−バ−ヘッドでその時点のポインタの指し示すメモリ
アドレスのデ−タにアクセスでき、それと同時並行して
次にアクセスすべきアドレス値に相当するポインタをC
Aコントローラ1010内のCAカウンタ1018が計算してお
いて、アクセスが終了するとすぐに現在指定されている
CAレジスタ1012の内容をその値に更新する。
Although the basic operation of the CA controller 1010 is the same as that of the PA controller 1009 in many parts, the main CPU 1013 sends an address bus (ADDR) 1015 and a control signal ( CT
L) 1024 is used. This is done by using the data bus (DATA) 1014 of the main CPU unit 1013 as actual data (main CPU
In order to reduce the access overhead as much as possible, the instruction command processing to the CA controller 1010 and the access processing to the memory array are operated in parallel by assigning the transfer processing of the processing target data of the unit 1013). Is. Further, the column pointer 1007 is likely to be randomly accessed from the main CPU unit 1013, and it is necessary to make the addressing process highly efficient. Especially the main CPU
When the unit 1013 accesses the memory data, the function of simultaneously designating the addressing mode is important, and the instructions for realizing those are accessed by the access instruction (Access).
(Instruction). If the access operation is performed by using the access instruction, the data of the memory address pointed to by the pointer at that point can be accessed by the normal access overhead, and at the same time, the address value to be accessed next can be set. The corresponding pointer to C
The CA counter 1018 in the A controller 1010 has calculated and immediately updates the contents of the currently specified CA register 1012 to the value when the access is completed.

【0020】図3は、CAレジスタファイル(CARE
GF)1012の構成を示したものである。前述したPAレ
ジスタファイル1011もこれとほぼ同じ構成で、ここでの
説明においてコラムアドレス(CA)をページアドレス
(PA)に置き換えれば、対応する部分についてはその
ままPAレジスタファイルの説明になる。図3におい
て、CAレジスタファイル1012は、8つのCAレジスタ
(CAREG)セット2003〜2010と8つのオフセットレ
ジスタセット(OFFSETREG)2022〜2029を有
し、対応する(図3で左右に位置する)CAレジスタセ
ット1つとオフセットレジスタ1つからなる1組は、ま
とめてレジスタバンク(レジスタバンク0〜7)と呼ば
れる。さらに1つのCAレジスタセットは8つのCAレ
ジスタ(REG0〜REG7)2012〜2019で構成され
る。CAポインタは、1つのレジスタバンクを構成する
CAレジスタセット及びオフセットレジスタから出力さ
れるコラムアドレス(CADDR)10201とオフセット
(OFFSETADDR)10202とを、図1のCAカウ
ンタ1018で加算することにより得られる。そして通常の
使用法として、1つの演算ル−プ又は1つの演算タスク
(又はジョブ)に、1つのCAレジスタセットが割り付
けられる。その中で実行される複数のル−プ又は多重ル
−プを構成する個々のル−プ処理は、当該CAレジスタ
セット内の1つ又は数個のCAレジスタを用いて管理さ
れる。各CAレジスタセット内の8つのレジスタの選択
は、レジスタ選択回路(REGSELCTL)2037内の
スタックアドレスカウンタ(STACKADDRCOU
NTER)2036から出力されるスタックアドレス(SA
DDR)10203 を、各CAレジスタセット内のデコ−ダ
回路(DEC)2011がデコ−ドすることにより行う。ま
た、レジスタバンク0〜7の選択は、レジスタ選択回路
内2037のバンクアドレスカウンタ(BANKADDRC
OUNTER)2039から出力されるバンクアドレス(B
ADDR)10204を用いて行う。スタックアドレスカウ
ンタ2036内には、当該レジスタバンクに対応する8つの
スタックアドレスが内蔵されており、バンクアドレス10
204が切り替わるとスタックアドレス10203もそのレジス
タバンクに対応するものに切り替えられる。スタックア
ドレスカウンタ2036はその時選択されているスタックポ
インタを増減させることにより、その時選択されている
レジスタバンク内のCAレジスタの選択(PUSH、P
OP機能に相当する)処理をSADDRl0203信号を介
して指示する。
FIG. 3 shows a CA register file (CARE
2 shows the structure of GF) 1012. The above-mentioned PA register file 1011 has almost the same structure as this. If the column address (CA) is replaced with the page address (PA) in the description here, the corresponding portion can be directly described as the PA register file. In FIG. 3, the CA register file 1012 has eight CA register (CAREG) sets 2003 to 2010 and eight offset register sets (OFFSETREG) 2022 to 2029, and the corresponding CA registers (positioned on the left and right in FIG. 3). One set consisting of one set and one offset register is collectively called a register bank (register banks 0 to 7). Further, one CA register set is composed of eight CA registers (REG0 to REG7) 2012 to 2019. The CA pointer is obtained by adding the column address (CADDDR) 10201 and the offset (OFFSET ADDR) 10202 output from the CA register set and offset register that form one register bank, by the CA counter 1018 in FIG. Then, as a normal usage, one CA register set is assigned to one operation loop or one operation task (or job). The individual loop processes constituting the plurality of loops or the multiple loops executed therein are managed by using one or several CA registers in the CA register set. The eight registers in each CA register set are selected by the stack address counter (STACKADDRCOU) in the register selection circuit (REGSELCTL) 2037.
Stack address (SA) output from NTER) 2036
DDR) 10203 is performed by the decoder circuit (DEC) 2011 in each CA register set. In addition, the register banks 0 to 7 are selected by the bank address counter (BANKADDRC) of the register selection circuit 2037.
Bank address (B
ADDR) 10204. Eight stack addresses corresponding to the register bank are built in the stack address counter 2036.
When 204 is switched, the stack address 10203 is also switched to the one corresponding to that register bank. The stack address counter 2036 increments or decrements the stack pointer currently selected to select the CA register (PUSH, PSH) in the register bank currently selected.
The processing (corresponding to the OP function) is instructed via the SADDR10203 signal.

【0021】レジスタバンク0〜7の選択には、CAレ
ジスタセット2003〜2010の選択とオフセットレジスタの
選択が必要である。このうち、CAレジスタセットの選
択は、そのレジスタセットへのライト時にはライト処理
用のデコ−ダ(DEC forWT)2001がバンクアドレス
10204をデコ−ドして書き込み対象のCAレジスタセッ
トを指定し、そのCAレジスタセットからのリ−ド時に
は、コラムアドレス(CA)10205〜10212選択用のマル
チプレクサ(MUX)2021の選択入力Sをバンクアドレ
ス10204で指令することにより行う。一方、オフセット
レジスタセットの選択は、オフセットデ−タ(OFFS
ET)10213〜10220及びモ−ドデ−タ(MD)10221〜1
0228の読み出しを指令するマルチプレクサ(MUX)20
35の選択入力Sを、バンクアドレス10204で指令するこ
とにより行う。
Selection of the register banks 0 to 7 requires selection of CA register sets 2003 to 2010 and selection of offset registers. Among them, the CA register set is selected by the write processing decoder (DEC for WT) 2001 when writing to the register set.
Decode 10204 to specify the CA register set to be written, and when reading from the CA register set, bank the select input S of the multiplexer (MUX) 2021 for selecting the column address (CA) 10205 to 10212. This is done by giving an instruction at address 10204. On the other hand, the offset register set is selected by the offset data (OFFS
ET) 10213-10220 and mode data (MD) 10221-1
Multiplexer (MUX) 20 for instructing to read 0228
The selection input S of 35 is performed by commanding the bank address 10204.

【0022】オフセットレジスタ2022〜2029の各々は、
2つのテンポラリオフセットレジスタ(TOFFSET
H)2030 及びTOFFSETLRG2031と、モ−ドレ
ジスタ(MODERG)2032を有している。オフセット
デ−タは、対応するCAレジスタセット内の選択された
CAレジスタのデータの内のオフセットフィ−ルドの値
(OFFSETL)10229と、テンポラリオフセットレ
ジスタ(TOFFSETH)2030とで
Each of the offset registers 2022-2029 is
Two temporary offset registers (TOFFSET
H) 2030 and TOFFSET LRG 2031 and mode register (MODERG) 2032. The offset data consists of the offset field value (OFFSETL) 10229 in the data of the selected CA register in the corresponding CA register set and the temporary offset register (TOFFSETH) 2030.

【数2】 OFFSET=TOFFSETH:OFFSETL として構成されるか、2つのテンポラリオフセットレジ
スタにより
## EQU00002 ## Configured as OFFSET = TOFFSETH: OFFSETL, or with two temporary offset registers

【数3】OFFSET=TOFFSETH:TOFFS
ETLRG として構成されるかを、マルチプレクサ(MUX)2034
で選択できる。この様にして構成されたオフセットデ−
タ10213〜10220の1つが当該オフセットレジスタの出力
値として定義され、それがマルチプレクサ2035で選択さ
れてオフセットアドレス10237となり、さらにマルチプ
レクサ2052経由でオフセットアドレス(OFFSETA
DDR)10202としてCAカウンタ1018へ送られる。ま
たこのオフセットアドレス10202は、メインCPU部か
らのアドレス入力(IADDR)10230により直接指定
することができる。即ち、マシンステートコントローラ
1027からの制御信号(ICTL)10231により外部指定
モ−ドが指令されると、レジスタ選択回路2037がマルチ
プレクサ(MUX)2052の選択入力Sを操作し、IAD
DR10230の値をオフセットアドレス10202として直接C
Aカウンタ1018へ送る。各オフセットレジスタ内に1つ
ずつ設けられたモードレジスタ(MODERG)2032
は、後述するように、当該CAレジスタが使用されてい
る時の各種の動作モ−ド(アクセスモ−ド 、アドレッ
シングモ−ド等)を規定するのに用いられる。このレジ
スタ2032のデ−タは、マルチプレクサ(MUX)2035、
その情報に基づいて、レジスタ選択回路(RGSELC
TL)2037はメインCPU部1013のアクセス動作に呼応
した適切なステ−トを生成する。
[Formula 3] OFFSET = TOFFSETH: TOFFS
Configured as ETLRG, multiplexer (MUX) 2034
You can select with. The offset data constructed in this way
One of the data 10213 to 10220 is defined as the output value of the offset register, which is selected by the multiplexer 2035 to become the offset address 10237.
DDR) 10202 to the CA counter 1018. The offset address 10202 can be directly designated by the address input (IADDR) 10230 from the main CPU section. That is, machine state controller
When the external designation mode is commanded by the control signal (ICTL) 10231 from the 1027, the register selection circuit 2037 operates the selection input S of the multiplexer (MUX) 2052, and the IAD
Directly set the value of DR10230 as offset address 10202 to C
Send to A counter 1018. One mode register (MODERG) 2032 provided in each offset register
Is used to define various operation modes (access mode, addressing mode, etc.) when the CA register is used, as will be described later. The data of this register 2032 is the multiplexer (MUX) 2035,
Based on the information, the register selection circuit (RGSELC
The TL) 2037 generates an appropriate state in response to the access operation of the main CPU unit 1013.

【0023】以上のバンクレジスタの他に、メインCP
U部1013からIADDR10230を介して指令された一時
的なデ−タをコラムアドレス10201として用いることが
できる様に、テンポラリアドレスレジスタ(TADDR
REG)2051を設けている。また、現在のコラムアドレ
ス10201の値、すなわち、現在選択されているCAレジ
スタ又はテンポラリアドレスレジスタを一時的に別の用
途に用いたい時、その値を一時的にコピ−しておき、後
でコピ−しておいたデ−タを復帰して処理が進められる
様に、一時記憶用の8つのテンポラリレジスタ(TRE
G0〜TREG7)2041〜2048を備えている。このテン
ポラリレジスタの操作命令として、任意のテンポラリレ
ジスタと現在選択されているCAレジスタ間のロ−ド・
ストア命令や任意のTREGと現在選択されているCA
REGの内容を交換するEXCHANGE命令を設けて
いる。テンポラリレジスタのオペレ−ションに関するこ
れらの命令もメインCPU部1013によって指令され、レ
ジスタ選択回路2037が必要なステ−トを生成して実行す
る。
In addition to the above bank registers, the main CP
A temporary address register (TADDR) is used so that temporary data instructed from the U unit 1013 via the IADDR 10230 can be used as the column address 10201.
REG) 2051 is provided. Further, when it is desired to temporarily use the current value of the column address 10201, that is, the currently selected CA register or temporary address register for another purpose, the value is temporarily copied and copied later. − Eight temporary registers (TRE) for temporary storage so that the stored data can be restored and processing can proceed.
G0 to TREG7) 2041 to 2048 are provided. As an operation instruction of this temporary register, a load / load between an arbitrary temporary register and the currently selected CA register is performed.
Store command or arbitrary TREG and currently selected CA
An EXCHANGE command for exchanging the contents of REG is provided. These commands related to the operation of the temporary register are also instructed by the main CPU unit 1013, and the register selection circuit 2037 generates and executes the necessary states.

【0024】CAレジスタは、そのすべてのステ−トを
レジスタ選択回路2037により管理されている。レジスタ
選択2037は、メインCPU部1013の動作をモニタしてい
るマシンステ−トコントロ−ラ1027からの制御信号(I
CTL)10231と、メインCPU部1013からのアドレス
入力(IADDR)10230及びモ−ドレジスタからのM
ODE情報とを総合して、CAレジスタファイル1012の
ステ−トを決定する。また、メインCPU部1013のメモ
リアレイへのアクセス動作に呼応して、アドレッシング
処理操作を含む必要なシ−ケンスを生成する。以下にレ
ジスタ選択回路2037の機能をまとめてみる。 (1)マシンステ−トコントロ−ラ(MSC)1027の情
報と、CPUからのアドレス入力IADDR10230の情
報を基に、メインCPU部1013のメモリアレイへのアク
セス動作をモニタし、そのアクセス動作に呼応して各ス
イッチ信号(MUXの選択信号)やレジスタファイルへ
の書き込み信号WT及び各デコ−ダへのアドレス信号を
出力する。 (2)メインCPU部1013からの命令のデコ−ドをアド
レス入力(IADDR)10230とマシンステートコント
ローラ1027からの制御信号(ICTL)10231を用いて
レジスタ選択内2037のデコード回路で行い、自身への指
令を識別して対応する処理を実行する。 (3)スタックアドレスカウンタ2036やバンクアドレス
カウンタ2039を管理し、CAレジスタセット内のレジス
タ(REGn)を選択するスタックアドレス10203及び
使用するCAレジスタセット及びオフセットレジスタを
選択するバンクアドレス10204 を生成する。 (4)テンポラリレジスタ(TREG)ファイルの選択
信号S及び選択されたTREGnへのデ−タ(ID)の
書き込み信号WTと読み出すべきTREGの選択信号S
を出力する。上記2つの選択信号は同時に生成すること
も可能である(EXCHANGE命令等に使用する)。
これらの信号出力を用いて、任意のTREGに対するロ
−ド・ストア、EXCHANGE命令を実行する。 (5)デ−タの流れを制御するためのマルチプレクサ
(MUX)の制御に関しては、次の機能を規定する。 (a)CAレジスタセットへのデ−タの入力(ID)
に、外部アドレスデ−タ(IADDR)10230を用いる
か、テンポラリレジスタ2041〜2048からのデ−タを用い
るか、CAカウンタでアドレッシング演算処理を加えた
後のデ−タIRADDR10232を用いるかを選択する。 (b)どのCAレジスタセット及びオフセットレジスタ
セットを使用するかを選択する。 (c)コラムアドレス10201として、現在使用されてい
るCAレジスタ10235の値を用いるか、テンポラリアド
レスレジスタ10236の値を用いるかを選択する 。 (d)オフセットアドレス10202として、現在選択され
ているオフセットレジスタの出力10237の値を用いる
か、外部アドレスデ−タ(IADDR)10230を用いる
かを選択する。 (6)CAカウンタ1018への制御信号及び選択信号(こ
れらをまとめてOCTL10234としている)を出力す
る。 (7)スタックアドレスカウンタ2036が増減(INC/
DEC)処理を行う対象となるスタックアドレスを、バ
ンクアドレスカウンタ2039からのバンクアドレス10204
を用いて、対応するバンクレジスタセットに対応する様
に決定する。 (8)CAカウンタ1018からのアドレッシング演算処理
後のリタ−ンアドレスデ−タ(IRA)10232を、CA
レジスタに入力するモ−ドにマルチプレクサ(MUX)
2002を設定し、メインCPU部1013からメモリアレイ10
01への現在のアクセス動作が終了したら、直ちにIRA
10232を選択されているCAレジスタに書き込む。これ
により、CAカウンタ1018によるオフセット加算を伴っ
たベクトル型のアドレッシング処理(CAREG=CA
REG+OFFSET)を実行する。
All states of the CA register are managed by the register selection circuit 2037. The register selection 2037 is a control signal (I) from the machine state controller 1027 which monitors the operation of the main CPU unit 1013.
CTL) 10231, address input (IADDR) 10230 from the main CPU 1013, and M from the mode register.
The state of the CA register file 1012 is determined by combining with the ODE information. In addition, in response to the access operation of the main CPU unit 1013 to the memory array, a necessary sequence including addressing processing operation is generated. The functions of the register selection circuit 2037 are summarized below. (1) Based on the information of the machine state controller (MSC) 1027 and the information of the address input IADDR10230 from the CPU, the access operation to the memory array of the main CPU section 1013 is monitored and in response to the access operation. It outputs each switch signal (select signal of MUX), write signal WT to register file, and address signal to each decoder. (2) The decoding of the instruction from the main CPU unit 1013 is performed by the decode circuit of the register selection 2037 using the address input (IADDR) 10230 and the control signal (ICTL) 10231 from the machine state controller 1027, The command is identified and the corresponding process is executed. (3) The stack address counter 2036 and the bank address counter 2039 are managed, and the stack address 10203 for selecting the register (REGn) in the CA register set and the bank address 10204 for selecting the CA register set and offset register to be used are generated. (4) Temporary register (TREG) file selection signal S, data (ID) write signal WT to selected TREGn, and TREG selection signal S to be read
Is output. The above two selection signals can be generated at the same time (used for the EXCHANGE command or the like).
These signal outputs are used to execute the load store, EXCHANGE command for any TREG. (5) Regarding the control of the multiplexer (MUX) for controlling the flow of data, the following functions are specified. (A) Input of data to the CA register set (ID)
The external address data (IADDR) 10230 is used, the data from the temporary registers 2041 to 2048 is used, or the data IRADDR10232 after the addressing calculation processing is added by the CA counter is used. . (B) Select which CA register set and offset register set to use. (C) As the column address 10201, it is selected whether to use the value of the CA register 10235 currently used or the value of the temporary address register 10236. (D) As the offset address 10202, it is selected whether to use the value of the output 10237 of the currently selected offset register or to use the external address data (IADDR) 10230. (6) A control signal and a selection signal (collectively referred to as OCTL10234) to the CA counter 1018 are output. (7) Stack address counter 2036 increases / decreases (INC /
The stack address to be subjected to DEC) processing is set to the bank address 10204 from the bank address counter 2039.
Is used to determine to correspond to the corresponding bank register set. (8) The return address data (IRA) 10232 after the addressing calculation processing from the CA counter 1018 is CA
Multiplexer (MUX) for mode input to register
2002 is set, the main CPU unit 1013 to the memory array 10
Immediately after the current access operation to 01 ends,
Write 10232 to the selected CA register. As a result, vector type addressing processing (CAREG = CA) accompanied by offset addition by the CA counter 1018
REG + OFFSET).

【0025】次に、図4にCAカウンタ(CACNT)
1018内のブロックダイヤグラムを示す。(PAカウンタ
も同様である)このカウンタは、基本的に、CAレジス
タファイル1012から送られて来たコラムアドレス10304
とオフセットアドレス10306を加算するか、又はコラム
アドレス10304に+1(INCREMENT)又は−1
(DECREMENT)を加算してコラムアクセスアド
レス(CADDR)を生成する。その制御信号として
は、CAレジスタファイル1012内のレジスタ選択回路20
37から出力されるOCTL10234を受けたICTLA制
御信号10305と、マシンステ−トコントロ−ラ(MS
C)1027から直接出力されるICTLB制御信号バス10
308とを用いる。主に、ICTLA10305はCAカウンタ
1018のステ−ト(マルチプレクスの選択状態、アドレッ
シングモ−ドの選択状態を規定する)を規定し、ICT
LB10308はCAカウンタ1018の動作するタイミングを
規定する。動作は以下のとおりである。
Next, FIG. 4 shows a CA counter (CACNT).
A block diagram within 1018 is shown. This counter is basically the column address 10304 sent from the CA register file 1012.
And offset address 10306 are added, or +1 (INCREMENT) or -1 is added to column address 10304.
(DECREMENT) is added to generate the column access address (CADDDR). As the control signal, the register selection circuit 20 in the CA register file 1012 is used.
The ICTLA control signal 10305 which received the OCTL 10234 output from the 37 and the machine state controller (MS
C) ICTLB control signal bus 10 directly output from 1027
Use 308 and. Mainly, ICTLA10305 is a CA counter
The 1018 state (which defines the selection state of multiplex and the selection state of addressing mode) is defined, and the ICT
The LB 10308 defines the timing at which the CA counter 1018 operates. The operation is as follows.

【0026】まず、加算器(ADDER)3002は、Aに
入力された被加算デ−タ(ADAT)10304と、Bに入
力されたアドレ スオフセット値とを加算し、結果10313
を出力(OUT)する。アドレスオフセット値10312
は、CAレジスタファイル1012からのオフセットアドレ
スを受けたBDAT10306 と、INC/DEC回路3003
からのデ−タ(1 for INC、−1 for DEC)とを
マルチプレクサ(MUX)3001によって切り換えて用い
る。加算器3002からの出力10313とCAレジスタファイ
ル1012からのコラムアドレスそのものの値(ADAT)
10304と外部からの直接アドレスデ−タ(ADDR)103
01の内1つをマルチプレクサ3004で選択して、最終的な
コラムアクセスアドレス(CAADDR)10314の値を
決定する。この決定された値は、CAレジスタファイル
1012のIRADDR(IRA)10314入力に戻ると共
に、アドレスラッチ(AL)1019にラッチされる。アド
レスラッチ1019は、PAコントローラ1009から送られて
きたペ−ジアドレスデ−タ(IPA)10310もCAAD
DR10314をラッチするタイミングと同じタイミングで
ラッチし、メモリアレイに与える全体アドレスOPAD
DR10316:OCADDR10315を生成する。アドレスラ
ッチ1019へのラッチのタイミングは、マシンステートコ
ントローラ1027からのラッチコントロ−ル(CTL)10
309 にて適切に行われる。これにより、外部のメモリシ
ステムからみると、一連のメモリアドレス信号がメイン
CPU部1013から直接送られて来たアドレス信号の様に
観測される。メインCPU部1013からのアドレス信号を
直接OCADDR10315として用いる場合は、マルチプ
レクサ3004が外部アドレス(ADDR)10301を選択す
るように選択信号Sをセッティングすれば良い。
First, the adder (ADDER) 3002 adds the data to be added (ADAT) 10304 input to A and the address offset value input to B, and the result 10313 is obtained.
Is output (OUT). Address offset value 10312
Is the BDAT 10306 that has received the offset address from the CA register file 1012 and the INC / DEC circuit 3003.
Data (1 for INC, -1 for DEC) are switched by a multiplexer (MUX) 3001 and used. Output 10313 from adder 3002 and column address itself value from CA register file 1012 (ADAT)
10304 and direct address data (ADDR) 103 from the outside
One of 01 is selected by the multiplexer 3004, and the final column access address (CAADDR) 10314 value is determined. This determined value is the CA register file.
It returns to the IRADDR (IRA) 10314 input of 1012 and is latched by the address latch (AL) 1019. The address latch 1019 also CAADs the page address data (IPA) 10310 sent from the PA controller 1009.
Overall address OPAD that is latched at the same timing as DR10314 and given to the memory array
DR10316: Generate OCADDR10315. The latch timing to the address latch 1019 is the latch control (CTL) 10 from the machine state controller 1027.
Appropriate at 309. As a result, when seen from the external memory system, a series of memory address signals are observed like the address signals directly sent from the main CPU unit 1013. When the address signal from the main CPU unit 1013 is directly used as the OCADDDR 10315, the selection signal S may be set so that the multiplexer 3004 selects the external address (ADDR) 10301.

【0027】INC/DEC3003回路は、前述した様
に、アドレスオフセット値に1又は−1を与えることに
より、インクリメントアドレッシング又はデクリメント
アドレッシングを加算器3002に指令する。INC/DE
C回路3003への指令は、CAレジスタファイル1012内の
レジスタ選択回路2037からの選択信号10305 によるモ−
ド切り換え(INCモ−ドかDECモ−ドかを決める)
と、マシンステートコントローラ1027からのタイミング
信号10308により行う。
As described above, the INC / DEC 3003 circuit commands the adder 3002 to perform increment addressing or decrementing addressing by giving 1 or -1 to the address offset value. INC / DE
The command to the C circuit 3003 is sent by the selection signal 10305 from the register selection circuit 2037 in the CA register file 1012.
Mode switching (deciding between INC mode and DEC mode)
And a timing signal 10308 from the machine state controller 1027.

【0028】これらのCAカウンタによるアドレッシン
グ処理のモ−ド指定には、CAレジスタファイル1012内
のモ−ドレジスタによってアドレッシングモ−ドを予め
選択しておく方式と、アクセス命令が指令されたときに
メモリアレイへのアクセスと同時にアドレッシングモ−
ドを選択する方式とがある。処理されたアドレスをアド
レスラッチ1019にラッチするタイミングは、メインCP
U部1013によりメモリアレイ1001へのアクセス動作が実
行された直後である。
To specify the mode of the addressing process by these CA counters, the addressing mode is selected in advance by the mode register in the CA register file 1012, and the memory is used when the access instruction is issued. Addressing mode at the same time as access to the array
There is a method to select the mode. The timing for latching the processed address in the address latch 1019 is the main CP.
This is immediately after the access operation to the memory array 1001 is executed by the U unit 1013.

【0029】図11は、CAコントローラ1010に用意さ
れている基本命令セットを示している。PAコントロー
ラ1009とほぼ同じ構成を採っているが、テンポラリレジ
スタ操作命令やCAレジスタへのデ−タPUSH/PO
P命令とアドレッシング処理を組み合わせて一度に実行
する命令等を追加している。また、図5に示したような
デ−タアクセスとモ−ド選択を含めたアドレッシング処
理とを組み合わせて一命令で実行するダイレクトアクセ
ス命令も備えている。CAコントローラ1010命令の詳し
い説明と、アセンブリ言語におけるインプリメンテ−シ
ョン方法と、アプリケ−ションソフトウェアの記述方法
については以下で述べる。
FIG. 11 shows a basic instruction set prepared for the CA controller 1010. It has almost the same configuration as the PA controller 1009, but it has temporary register operation instructions and data PUSH / PO to the CA register.
An instruction, etc., which combines the P instruction and the addressing process and is executed at once, is added. Further, it also has a direct access instruction for executing one instruction by combining the data access and the addressing processing including the mode selection as shown in FIG. A detailed description of the CA controller 1010 instruction, an implementation method in assembly language, and a description method of application software will be described below.

【0030】二次元配列メモリシステムは、メインCP
U部からアクセス制御部への指令により、メインCPU
部からメモリアレイへの様々なベクトルタイプアクセス
機能と通常のスカラタイプランダムアクセス機能の双方
をサポ−トする。このうち、前述のように、アクセス制
御部のハ−ドウェア機能が有効に活用されるのは、ベク
トルタイプのアクセスを実行した場合である。これらの
機能を具体化する命令セットは、メインCPU部からみ
ると自身の命令セットの一部に組み込まれた形で、通常
のメインCPU部の命令と混在してプログラム上で用い
ることができる。全ての二次元配列メモリシステムオペ
レ−ション命令は、メインCPU部と特定のアドレス領
域との間のデ−タ転送命令(MOV命令等)で置き換え
て、メインCPU部のほかの命令セットと一体化してい
る。従って、通常のデ−タ転送命令のように、リソ−ス
とレジスタ間のデ−タ移動しか機能として実現しないの
と異なり、本システムではそれに加えてアドレス線又は
デ−タ線で指令された特定の機能(二次元配列メモリシ
ステムの機能)を実現する。
The two-dimensional array memory system is a main CP
The main CPU is issued by a command from the U section to the access control section.
Supports both various vector-type access functions from the part to the memory array and normal scalar-type random access functions. Of these, as described above, the hardware function of the access control unit is effectively utilized when the vector type access is executed. The instruction set embodying these functions is incorporated in a part of its own instruction set when viewed from the main CPU section, and can be used in a program together with the instructions of the normal main CPU section. All the two-dimensional array memory system operation instructions are replaced with data transfer instructions (MOV instructions, etc.) between the main CPU section and a specific address area, and integrated with other instruction sets of the main CPU section. ing. Therefore, unlike the normal data transfer instruction, which only realizes the data movement between the resource and the register as a function, in this system, in addition to that, the command is given by the address line or the data line. A specific function (function of a two-dimensional array memory system) is realized.

【0031】命令セットは、1つのアクセス制御部内で
PAコントローラに対するものとCAコントローラに対
するものとの2組備えられている。また、システム内に
存在するアクセス制御部のユニット数の分だけ独立に命
令セットを備えることになる。本システムの場合、アク
セス制御部1003及び1004に対して独立に命令を発行する
ことが出来る。以下にその詳細を命令セット表を用いて
説明する。
Two instruction sets are provided in one access control unit, one for the PA controller and one for the CA controller. In addition, the instruction sets are provided independently by the number of units of the access control units existing in the system. In the case of this system, it is possible to issue a command independently to the access control units 1003 and 1004. The details will be described below using an instruction set table.

【0032】まず、PAコントローラに対する命令セッ
トとアセンブリ言語へのインプリメンテ−ションについ
て述べる。PAコントローラは、二次元配列A(m、
n)の列方向パラメ−タm(ページポインタ)をコント
ロ−ルする。PAレジスタセット及びオフセットレジス
タセットの構成と、バンクレジスタのセット数等はCA
コントローラと同様だが、テンポラリレジスタファイル
は現在のところ備えていない。ハ−ドウェア機能が、C
Aコントローラと比べて少ないのは、CAコントローラ
による行方向パラメ−タn(コラムポインタ)と比べ
て、一般に列方向パラメ−タはより外側のル−プ(ネス
トの浅い側のル−プ)を管理するため、行方向のパラメ
−タを制御するオ−バ−ヘッドに比してそのオ−バ−ヘ
ッドは全体の処理時間に対し十分小さいと考えられるか
らである。そのため、命令セットも後述するCAコント
ローラの命令セットに比べて縮小されており、よりコン
パクトになっている。また、メインCPU部によるアク
セス動作と並行にアドレッシングモ−ドの選択を含めた
アドレッシング処理を一命令で実現するダイレクトアク
セス命令もPAコントローラには備えていない。メイン
CPU部からメモリアレイへのアクセス動作は、まずC
Aコントローラ側で管理して、必要に応じPAコントロ
ーラを起動させるための信号(OPGCAS)によって
PAコントローラに列方向パラメ−タのアドレッシング
処理を指令する。従って、基本的なメモリアレイへのア
クセス管理はCAコントローラ側で行っていることにな
り、そのスレ−ブユニットとしてPAコントローラが動
作する。
First, the instruction set for the PA controller and the implementation to the assembly language will be described. The PA controller is a two-dimensional array A (m,
n) The column direction parameter m (page pointer) is controlled. The configuration of PA register set and offset register set, and the number of bank register sets are CA
Like the controller, but does not currently have a temporary register file. The hardware function is C
Compared to the row direction parameter n (column pointer) by the CA controller, the column direction parameter generally has a smaller outer loop (loop on the shallow side of the nest) than the A controller. This is because the overhead is considered to be sufficiently smaller than the overhead for controlling the parameters in the row direction for the purpose of management. Therefore, the instruction set is also smaller than the instruction set of the CA controller, which will be described later, and is more compact. Further, the PA controller also does not include a direct access instruction that realizes addressing processing including selection of an addressing mode in parallel with the access operation by the main CPU unit. The access operation from the main CPU section to the memory array is first performed by C
It is managed by the A controller side, and the PA controller is instructed to perform the addressing process of the column direction parameter by a signal (OPGCAS) for activating the PA controller as necessary. Therefore, the access control to the basic memory array is basically performed on the CA controller side, and the PA controller operates as the slave unit.

【0033】図5は前述したPAコントローラの基本命
令セットである。基本的な命令の指定は、PAコントロ
ーラがアサインされているアドレスのデコ−ド情報CS
N、バイトアクセスイネ−ブルBE1N〜BE3N、ラ
イト/リ−ド指定信号W/Rとで行う。命令の機能で分
類すると次の様になる。 (PA1)PAレジスタ(PAREG)操作命令 WTCD1----外部からPAレジスタへのデ−タ(D
T)ロ−ド WTCD0----PAレジスタのスタックポインタをイン
クリメントした後、外部からPAレジスタへのデ−タ
(DT)ロ−ド RDCD1----PAレジスタのスタックポインタをデク
リメントした後、PAレジスタから外部へのデ−タ(D
T)ストア (PA2)オフセットレジスタ(OFFSETREG)
操作命令 WTCD4----外部からオフセットレジスタへのデ−タ
(DT)ロ−ド RDCD4----オフセットレジスタから外部へのデ−タ
(DT)ストア (PA3)スタックポインタ(スタックアドレスカウン
タの値)操作命令 WTCD3----外部からスタックポインタへのデ−タ
(DT)ロ−ド RDCD3----スタックポインタから外部へのデ−タ
(DT)ストア (PA4)バンクポインタ(バンクアドレスカウンタの
値)或いはモ−ドレジスタ操作命令(ここでのD22,D2
3については図6で説明する)。 WTCD5----外部からバンクポインタへのデ−タ(D
T)ロ−ド〈D22=0、D23=0〉 RDCD5----バンクポインタから外部へのデ−タ(D
T)ストア MODE------モ−ドセット〈D22=1、D23=0〉、
(このモードセット命令によってセットされるモードビ
ットの働きについては、図7、図8に示した通りであ
る。) (WTCD5) 外部アドレスセット〈D22=0、D23
=1〉、 ソフトウェアリセット〈D22=1、D23=1〉 (PA5)スタックポインタインクリメント(PUS
H)、デクリメント(POP)命令 WTCD6----STACK POINT(SP)=SP
+1(PAREG PUSH、INCrement) RDCD6----STACK POINT(SP)=SP
−1(PAREG POP、DECrement) (PA6)バンクポインタインクリメント(PUS
H)、デクリメント(POP)命令 WTCD7----BANK POINT(BP)=BP+
1(BANK PUSH、INCrement) RDCD7----BANK POINT(BP)=BP−
1(BANK POP、DECrement)
FIG. 5 shows the basic instruction set of the PA controller described above. The basic command is designated by the decoding information CS of the address to which the PA controller is assigned.
N, byte access enable BE1N to BE3N, write / read designation signal W / R. The functions are classified as follows. (PA1) PA register (PAREG) operation instruction WTCD1 ---- Data (D) from the outside to the PA register
T) Load WTCD0 ---- After incrementing the stack pointer of PA register, data (DT) load to the PA register from outside RDCD1 ---- After decrementing the stack pointer of PA register, Data from the PA register to the outside (D
T) Store (PA2) Offset register (OFFSETREG)
Operation instruction WTCD4 ---- External data to offset register (DT) load RDCD4 ---- External data from offset register (DT) store (PA3) Stack pointer (stack address counter Value) Operation instruction WTCD3 ---- Data from outside to stack pointer (DT) load RDCD3 ---- Data from stack pointer to outside (DT) Store (PA4) Bank pointer (Bank address Counter value) or mode register operation instruction (D22, D2 here)
3 will be described in FIG. 6). WTCD5 ---- Data from outside to the bank pointer (D
T) load <D22 = 0, D23 = 0> RDCD5 ---- Data from bank pointer to outside (D
T) Store MODE --- Mode set <D22 = 1, D23 = 0>,
(The function of the mode bit set by this mode set instruction is as shown in FIGS. 7 and 8.) (WTCD5) External address set <D22 = 0, D23
= 1>, software reset <D22 = 1, D23 = 1> (PA5) Stack pointer increment (PUS
H), decrement (POP) command WTCD6 ---- STACK POINT (SP) = SP
+1 (PAREG PUSH, INCrement) RDCD6 ---- STACK POINT (SP) = SP
-1 (PAREG POP, DECrement) (PA6) Bank pointer increment (PUS
H), decrement (POP) command WTCD7 ---- BANK POINT (BP) = BP +
1 (BANK PUSH, INCrement) RDCD7 ---- BANK POINT (BP) = BP-
1 (BANK POP, DECrement)

【0034】図6は、命令WTCD5とRDCD5の場
合のモ−ドセレクションを示している。デ−タバス(D
ATA)の中のD22、D23bitを用いて4種類のライト
コマンドWTCD5を選択できる。リ−ドコマンドRD
CD5を発行した場合には常にバンクアドレスの現在の
値を読み出すことが出来る。上記の命令(PA1)〜
(PA6)の中で、外部とデ−タ(DT)をやりとりす
る必要のある命令は、メインCPU部との間のデ−タバ
ス(DATA)を介して必要なデ−タ(DT)の通信を
行う。このとき、有効なデ−タバス上のバイトを示すバ
イトイネ−ブル/BEn(本システムでは32bitバスを
前提としているので、4バイト分のバイトイ ネ−ブル
/BE0〜/BE3が存在する)がアクティブ(0)で
あるバイトが、PAコントローラとのデ−タ入出力にお
いて有効なデ−タを保持している。しかし、上述したよ
うに、図6に示したモ−ドセレクションに関しては、デ
−タビットD22、D23を機能選択信号として使用するた
め、有効なデ−タビットはD16〜D21の5bitとであ
る。D16をbit0としD21をbit5として、モ−ドレジス
タのセット命令(Set Operation Mode D22=1、
D23=0)発行時に定義される機能を図7に示す。この
命令により各種のアドレッシングモ−ド及び機能が定義
され、メインCPU部がメモリアレイへアクセスした
際、CAコントローラからのPGCAS信号に呼応した
形で、指定した機能が実行される。
FIG. 6 shows the mode selection for the instructions WTCD5 and RDCD5. Data bus (D
It is possible to select four kinds of write commands WTCD5 by using D22 and D23 bits in (ATA). Read command RD
When CD5 is issued, the current value of the bank address can always be read. Above command (PA1)
In (PA6), an instruction that needs to exchange data (DT) with the outside is a necessary data (DT) communication with the main CPU unit via the data bus (DATA). I do. At this time, the byte enable / BEn indicating a valid byte on the data bus (4 bytes of byte enable / BE0 / BE3 exist because this system assumes a 32-bit bus) is active ( The byte 0) holds valid data at the data input / output with the PA controller. However, as described above, in the mode selection shown in FIG. 6, since the data bits D22 and D23 are used as the function selection signals, the effective data bits are 5 bits of D16 to D21. Set D16 to bit0 and D21 to bit5, and set the mode register instruction (Set Operation Mode D22 = 1,
FIG. 7 shows the functions defined when D23 = 0) issuance. This instruction defines various addressing modes and functions, and when the main CPU unit accesses the memory array, the designated function is executed in response to the PGCAS signal from the CA controller.

【0035】図8に、モ−ドレジスタ2032(図3)の各
モ−ドビットの指定によって、PAレジスタをデスティ
ネ−ションレジスタとしたアドレッシング処理が、メイ
ンCPU部のアクセスに呼応してどの様に実行されるか
を示した。メインCPU部がメモリアレイへのアクセス
を実行し、かつCAコントローラがPGCAS信号をア
クティブにした時に、指定されたアドレッシング処理が
実行され、PAレジスタの値が更新される場合(Acces
s and PG Change)と、同じ条件の下でPAレジスタ
の値が更新されない場合(Access and PG no Chang
e)との2通りの条件に大別してまとめてある。
In FIG. 8, how the addressing process using the PA register as the destination register is executed in response to the access of the main CPU by designating each mode bit of the mode register 2032 (FIG. 3). Was shown. When the specified addressing process is executed and the value of the PA register is updated when the main CPU unit accesses the memory array and the CA controller activates the PGCAS signal (Acces
s and PG Change) and the value of PA register is not updated under the same condition (Access and PG no Change).
It is roughly classified into two conditions, e).

【0036】次にPAコントローラ用命令セットのアセ
ンブリ言語へのインプリメンテ−ションであるが、これ
はメインCPU部の形態にかかわらず、すべてデ−タ転
送命令(例えばMOV命令)で置換することができる。
デ−タ転送命令は、どの様なCPUを用いても必ずその
命令セットに存在するところの、CPUの世代や種類を
越えた共通命令である。従って、PAコントローラ用命
令セット(CAコントローラ用命令セットも共通)の移
植性、資産性は非常に高いと言える。
Next is the implementation of the instruction set for the PA controller into the assembly language. This can be replaced by data transfer instructions (for example, MOV instructions) regardless of the form of the main CPU. it can.
The data transfer instruction is a common instruction that exists in the instruction set regardless of which CPU is used, regardless of the generation or type of the CPU. Therefore, it can be said that the PA controller instruction set (also the CA controller instruction set is common) has very high portability and property.

【0037】具体的なアセンブリ言語への命令登録の例
を図9、図10に示す。CPUとしては、インテル社のi8
086CPU又はi80X86CPUを用いた場合を想定してい
る。これらのPAコントローラの命令は、命令がアサイ
ンされているアドレス値を表現するパラメ−タ(アドレ
スラベル)名を命令ニ−モニック(Inst.)に一致さ
せ ることにより表現できる。図9は、基本命令のアセ
ンブリ言語における命令セットモデル(Instruction
Set Model)を示している。実際にプログラムで用い
る時の記述方法は以下の通りである。 PACTLx ES:〔Inst.〕、AX(or AL) for WRITE PACTLx AX(or AL)、ES:〔Inst.〕 for READ ここで、xは複数のPAコントローラを区別するための
パラメ−タであり、本システムではアクセス制御部1003
にx=0を、アクセス制御部1004にx=1をアサインし
ている。一方、図10は、バンクポイント操作命令、モ−
ドビットセット命令及びアクセス命令のアセンブリ言語
におけるパラメ−タセッティングモデルを示している。
命令表現は以下の様になる。 PACTLx ES:〔MDSET〕、Parameter+Data(DT) for WRITE PACTLx ES:〔BPSET〕、Parameter+Data(DT) for WRITE PACTLx AL、ES:〔BPRD〕 for READ アドレスラベルMDSET、BPSET及びBPRD
は、図9のSETMDの値と同じであるが、判り易いニ
−モニックとして便宜的に用いている。MDSETはモ
−ドビットセット命令を、BPSETはベ−スポインタ
セットを、BPRDはベ−スポインタリ−ドをそれぞれ
表現している。
An example of specific instruction registration in the assembly language is shown in FIGS. The CPU is Intel i8
It is assumed that 086 CPU or i80X86 CPU is used. The instructions of these PA controllers can be expressed by matching the parameter (address label) name expressing the address value to which the instruction is assigned with the instruction mnemonic (Inst.). FIG. 9 shows an instruction set model (Instruction) in the assembly language of basic instructions.
Set Model). The description method when actually used in a program is as follows. PACTLx ES: [Inst. ], AX (or AL) for WRITE PACTLx AX (or AL), ES: [Inst. ] For READ where x is a parameter for distinguishing a plurality of PA controllers, and in this system, the access control unit 1003
Is assigned to x = 0, and the access control unit 1004 is assigned to x = 1. On the other hand, FIG. 10 shows a bank point operation command,
3 shows a parameter setting model in an assembly language of a bit set instruction and an access instruction.
The command expression is as follows. PACTLx ES: [MDSET], Parameter + Data (DT) for WRITE PACTLx ES: [BPSET], Parameter + Data (DT) for WRITE PACTLx AL, ES: [BPRD] for READ Address label MDSET, BPSET and BPRD
Is the same as the value of SETMD in FIG. 9, but is used for convenience as an easy-to-understand mnemonic. MDSET represents a mode bit set instruction, BPSET represents a base pointer set, and BPRD represents a base pointer read.

【0038】次にCAコントローラに対する命令セット
とアセンブリ言語へのインプリメンテ−ションについて
説明する。CAコントローラは、二次元配列A(m、
n)の行方向パラメ−タn(コラムポインタ)をコント
ロ−ルする。PAコントローラと異なるのは、命令をア
サインするための特別なアドレスエリアを設けず、その
代わりに、メインCPU部から見たメモリアレイのアサ
インされているアドレス空間にオ−バ−ラップして命令
生成用のアドレス空間をアサインする方式を採ってい
る。この具体的な方法は次のようである。 a)メインCPU部からメモリアレイへのアクセスを、
特定なアドレス領域について、ダブルワ−ド(32bit)
アクセスとワ−ド(16bit)アクセスの2種類に限定す
る。すなわち、その領域におけるメモリアレイへのバイ
トアクセス、ダブルワ−ド境界にまたがるダブルワ−ド
アクセス及びワ−ド境界にまたがるワ−ドアクセスは無
効とし、それらのアクセスモ−ドをCAコントローラへ
の命令としてアサインする。 b)本システムにおいて、a)で述べた特定のアドレス
領域は、バイトアクセス及びダブルワ−ドアクセス時(0
000000000000)2〜(1111111111111)2、すなわち全領域で
あり、ワ−ドアクセス時(1110000000000)2〜(11111111
11111)2である。
Next, the instruction set for the CA controller and the implementation to the assembly language will be described. The CA controller is a two-dimensional array A (m,
n) The row direction parameter n (column pointer) is controlled. Unlike the PA controller, a special address area for assigning an instruction is not provided, but instead, an instruction is generated by overlapping the address space assigned to the memory array as seen from the main CPU section. The address space for is assigned. The specific method is as follows. a) Access from the main CPU to the memory array
Doubleword (32bit) for specific address area
Limited to two types of access and word (16bit) access. That is, byte access to the memory array in that area, double word access across double word boundaries, and word access across word boundaries are invalidated, and those access modes are used as instructions to the CA controller. Assign. b) In this system, the specific address area described in a) is used for byte access and double word access (0
(000000000000) 2 to (1111111111111) 2 , that is, the entire area, and during word access (1110000000000) 2 to (11111111)
11111) 2 .

【0039】また、内部レジスタへのパラメ−タの設定
もアドレスバス(ADDR)を用いて行い、PAコント
ローラの様に、その書き込まれたデ−タの値又は内部レ
ジスタの状態を直接読み出すことは出来ない(もちろ
ん、回路を工夫すれば可能であるが、内部にテンポラリ
レジスタファイルを備えているためメリットは少ないと
考えている)。この様な命令アサイン方式を用いるメリ
ットは以下のとおりである。 1)命令を指示するのにデ−タバス(DATA)を用い
なくて済むため、メモリアレイとメインCPU部との間
のデ−タバスを用いたタ−ゲットデ−タの転送処理とC
Aコントローラへの命令生成処理とを同時並行して実行
できる。 2)命令アサインのために余分なメモリ空間を消費しな
い。1つのメモリアレイに対して常に1つのCAコント
ローラ用命令セットが対応するので、より多くのメモリ
アレイを設けた場合でも本メリットは常に有効である。
Parameters are set in the internal registers using the address bus (ADDR), and the value of the written data or the state of the internal registers cannot be directly read like the PA controller. Not possible (of course, it is possible by devising the circuit, but I think that there is little merit because it has a temporary register file inside). The merits of using such an instruction assign method are as follows. 1) Since it is not necessary to use the data bus (DATA) for instructing an instruction, the transfer processing of the target data using the data bus between the memory array and the main CPU unit and the C
The instruction generation process for the A controller can be executed concurrently. 2) Does not consume extra memory space for instruction assignment. Since one CA controller instruction set always corresponds to one memory array, this advantage is always effective even when a larger number of memory arrays are provided.

【0040】図11にCAコントローラ用基本命令セッ
トを示す。命令の指定は、アドレスビットA2〜A12、
ライト/リ−ド指定信号W/R及びバイトアクセスイネ
−ブルBE0N〜BE3Nとで行う。対応するメモリア
レイのアサインされているアドレス空間をアクセスして
いる期間CAコントローラへの命令の指定が可能になる
(PAコントローラに命令を指示する際のCSN信号の
役割と等価)。命令の機能を分類すると次の様になる。 (CA1)CAレジスタ(CAREG)操作命令 WTCD0----外部からCAレジスタへのデ−タ(D
T)ロ−ド WTCD1----CAレジスタへのスタックポインタをイ
ンクリメントした後、外部からCAレジスタへのデ−タ
(DT)ロ−ド RDCD0----CAレジスタへのスタックポインタをデ
クリメントした後、外部からCAレジスタへのデ−タ
(DT)ロ−ド RDCD1----外部からの直接デ−タ(Imm.Data)
を現在のCAレジスタ加算し、結果をそのCAレジスタ
へ戻す。 (CA2)オフセットレジスタ(OFFSETREG)
操作命令 WTCD2----外部からオフセットレジスタへのデ−タ
(DT)ロ−ド RDCD2----外部からの直接デ−タ(Imm.Data)
を現在のオフセットレジスタに加算し、結果をそのオフ
セットレジスタへ戻す。 (CA3)スタックポインタ(スタックアドレスカウン
タの値)及びバンクポインタ(バンクアドレスカウンタ
の値)操作命令 WTCD3----外部からスタックポインタへのデ−タ
(DT)ロ−ド RDCD3----外部からバンクポインタへのデ−タ(D
T)ロ−ド (CA4)スタックポインタインクリメント(PUS
H)、デクリメント(POP)命令 WTCD12----STACKPOINT(SP)=SP+
1 RDCD12----STACKPOINT(SP)=SP−
1 (CA5)バンクポインタインクリメント(PUS
H)、デクリメント(POP)命令 WTCD13----BANKPOINT(BP)=BP+1 RDCD13----BANKPOINT(BP)=BP−1 (CA6)モ−ドレジスタ、アドレッシングモ−ド設定
命令 WTCD4----モ−ドレジスタ設定(図12参照) RDCD8----アドレスバス等価モ−ド設定(外部アド
レスをメモリアレイに直接出力) RDCD9----加算アドレスモ−ド設定(CAREG=
CAREG+OFFSETREG) RDCD10----インクリメントアドレスモ−ド設定(C
AREG=CAREG+1) RDCD11----デクリメントアドレスモ−ド設定(CA
REG=CAREG−1) (CA7)システムモ−ド設定命令 WTCD14----テンポラリアドレスレジスタモ−ド設定
(CAレジスタの代わりにテンポラリアドレスレジスタ
を選択) RDCD14----部分リセット(スタックポインタをイニ
シャライズし、デフォルト値をモ−ドレジスタに設定) WTCD15----CAレジスタを変化させないモ−ド(N
o Change Mode)に設定 RDCD15----CAコントローラのソフトウェアキセッ
ト(ハ−ドリセットと同等の機能) (CA8)テンポラリレジスタ操作命令 WTCD16----CAレジスタの内容をテンポラリレジス
タnにストア WTCD17----CAレジスタヘテンポラリレジスタnの
内容をロ−ド WTCD18----CAレジスタの内容とテンポラリレジス
タnの内容とを交換 (CA9)PAコントローラ起動命令、スタック操作付
アドレッシング実行命令 WTCD19----アクティブなPGCAS信号をPAコン
トローラに出力(PAコントローラの起動) RDCD16----SP=SP−1、CAREG=CARE
G+1(CAREG POP and CAREG INC) RDCD17----SP=SP−1、CAREG=CARE
G−1(CAREG POP and CAREG DEC) RDCD18----SP=SP−1、 CAREG=CAREG+OFFSETREG (CAREG POP and CAREG ADD) RDCD19----SP=SP−1、CAREG=CARE
G+Imm. (CAREG POP and CAREG Imm. ADD)
FIG. 11 shows the basic instruction set for the CA controller. The instruction is specified by address bits A2 to A12,
The write / read designation signal W / R and the byte access enable signals BE0N to BE3N are used. It becomes possible to specify an instruction to the CA controller during the period of accessing the assigned address space of the corresponding memory array (equivalent to the role of the CSN signal when instructing the instruction to the PA controller). The functions of instructions are classified as follows. (CA1) CA register (CAREG) operation instruction WTCD0 ---- Data (D) from the outside to the CA register
T) Load WTCD1 ---- After incrementing the stack pointer to the CA register, data from the outside to the CA register (DT) load RDCD0 ---- Decrement the stack pointer to the CA register After that, data from outside (CA) to CA register (DT) load RDCD1 ---- Direct data from outside (Imm.Data)
Is added to the current CA register and the result is returned to that CA register. (CA2) Offset register (OFFSETREG)
Operation instruction WTCD2 ---- Data from outside to offset register (DT) load RDCD2 ---- Direct data from outside (Imm.Data)
Is added to the current offset register and the result is returned to that offset register. (CA3) Stack pointer (stack address counter value) and bank pointer (bank address counter value) operation instruction WTCD3 ---- Data from outside to stack pointer (DT) load RDCD3 ---- external From the bank pointer to the bank pointer (D
T) load (CA4) stack pointer increment (PUS)
H), decrement (POP) command WTCD12 ---- STACKPOINT (SP) = SP +
1 RDCD12 ---- STACKPOINT (SP) = SP-
1 (CA5) Bank pointer increment (PUS
H), decrement (POP) instruction WTCD13 ---- BANKPOINT (BP) = BP + 1 RDCD13 ---- BANKPOINT (BP) = BP-1 (CA6) mode register, addressing mode setting instruction WTCD4 ---- Mode register setting (see Fig. 12) RDCD8 ---- Address bus equivalent mode setting (external address is directly output to memory array) RDCD9 ---- Adding address mode setting (CAREG =
CAREG + OFFSETREG) RDCD10 ---- Increment address mode setting (C
AREG = CAREG + 1) RDCD11 ---- decrement address mode setting (CA
REG = CAREG-1) (CA7) System mode setting command WTCD14 ---- Temporary address register mode setting (select temporary address register instead of CA register) RDCD14 ---- Partial reset (set stack pointer Initialize and set the default value to the mode register. WTCD15 ---- Mode that does not change the CA register (N
o Change Mode) RDCD15 ---- CA controller software reset (function equivalent to hard reset) (CA8) Temporary register operation instruction WTCD16 ---- Stores CA register contents in temporary register n WTCD17- --- Load the contents of temporary register n to CA register WTCD18 ---- Exchange the contents of CA register and the contents of temporary register n (CA9) PA controller start instruction, addressing execution instruction with stack operation WTCD19-- --Active PGCAS signal output to PA controller (PA controller startup) RDCD16 ---- SP = SP-1, CAREG = CARE
G + 1 (CAREG POP and CAREG INC) RDCD17 ---- SP = SP-1, CAREG = CARE
G-1 (CAREG POP and CAREG DEC) RDCD18 ---- SP = SP-1, CAREG = CAREG + OFFSETREG (CAREG POP and CAREG ADD) RDCD19 ---- SP = SP-1, CAREG = CARE
G + I mm. (CAREG POP and CAREG Imm. ADD)

【0041】図12はモ−ドレジスタ設定命令WTCD
4で設定されるモ−ドレジスタの右ビットの機能を示す
ものである。PAコントローラのモ−ドレジスタとほぼ
同じ機能をアサインしている。モ−ドレジスタへ設定さ
れるデ−タは、アドレスビットのA2〜A7(計5bi
t)で指定する。
FIG. 12 shows the mode register setting instruction WTCD.
4 shows the function of the right bit of the mode register set in 4. Almost the same function as the mode register of the PA controller is assigned. The data set in the mode register is the address bits A2 to A7 (total of 5 bits).
Specify with t).

【0042】CAコントローラにおけるアクセス命令
は、PAコントローラのそれと異なり、メモリアレイへ
のアクセス時にリアルタイムでアドレッシング処理とタ
−ゲットデ−タの入出力とを同時に実行することができ
る。また、PAコントローラの起動トリガ信号であるP
GCAS信号をアクティブにするか否かも同時に指定で
きる。すなわちCAコントローラのアクセス命令によ
り、PAコントローラと連動して、メモリアレイ上の二
次元配列A(m、n)におけるポインタm及びn(ペー
ジポインタ及びコラムポインタ)を同時に制御でき、か
つ並行してデ−タの入出力を実行することができる。
Unlike the PA controller, the access instruction in the CA controller can simultaneously execute the addressing process and the input / output of target data in real time when accessing the memory array. In addition, P that is the activation trigger signal of the PA controller
Whether to activate the GCAS signal can also be designated at the same time. That is, by the access instruction of the CA controller, the pointers m and n (page pointer and column pointer) in the two-dimensional array A (m, n) on the memory array can be simultaneously controlled in conjunction with the PA controller, and the data can be concurrently deserialized. -I / O can be executed.

【0043】図13はCAコントローラのサポ−トして
いるアクセス命令セットを示す。アクセスモ−ドとして
ダブルワ−ド(32bit)アクセスとワ−ド(16bit)(上
位ワ−ド、下位ワ−ド)アクセスがあり、アドレッシン
グモ−ドとして加算(CAREG ADDition)、イン
クリメント(CAREG INCrement)、デクリメン
ト(CAREG DECrement )及びゼロ加算(No
Change)がある。PAコントローラを連動させるか否
かはアドレスビットA4指定(A4=0の場合PGCA
S active、A4=1 の場合PGCAS noactive)
し、デ−タの読み出しか書き込みかはW/R信号 で指
定(W/R=0の場合読み出し、W/R=1の場合書き
込み)する。
FIG. 13 shows the access instruction set supported by the CA controller. There are double word (32 bit) access and word (16 bit) (upper word, lower word) access as access modes, and addition (CAREG ADDition) and increment (CAREG INCrement) as addressing modes. , Decrement (CAREG DECrement) and zero addition (No
Change). Whether or not to interlock the PA controller is specified by address bit A4 (PGA when A4 = 0)
S active, PGCAS noactive when A4 = 1)
Then, whether to read or write the data is specified by the W / R signal (reading when W / R = 0, writing when W / R = 1).

【0044】CAコントローラ用命令セットのアセンブ
リ言語へのインプリメンテ−ションは、PAコントロー
ラの場合と同様、非常に容易である。PAコントローラ
の場合は、代表ニ−モニックとして”PGCTL”を用
い、命令の機能を表現するニ−モニック”Inst.”はオ
ペランドアドレス指定値(アドレスラベル)そのものを
用いて表現できた。しかし、CAコントローラでは、オ
ペランドアドレス指定値にデ−タフィ−ルドを含むた
め、機能を表現するニ−モニックが代表ニ−モニックと
一致する様にインプリメンテ−ションしている。これに
より、一般的なオペラントアドレス指定値は、その命令
を表現する特定のアドレス値とCAコントローラへ指令
すべきデ−タ値との合計で表現できる。
The implementation of the instruction set for the CA controller into the assembly language is very easy as in the case of the PA controller. In the case of the PA controller, "PGCTL" was used as the representative mnemonic, and the mnemonic "Inst." Expressing the function of the instruction could be expressed using the operand address designation value (address label) itself. However, in the CA controller, since the operand address designation value includes the data field, the mnemonic expressing the function is implemented so as to match the representative mnemonic. As a result, a general operant addressing value can be expressed by the sum of the specific address value expressing the instruction and the data value to be instructed to the CA controller.

【0045】図14は、CAコントローラにおけるアセ
ンブリ言語表現の基本命令セットモデルを示している。
PAコントローラの場合と同様、インテル社のi8086、i
80X86系CPUのアセンブリ言語を表現した一例であ
る。複数のCAコントローラを区別するために、メモリ
アレイの先頭アドレスの値を基準アドレス値(CACT
LADDRx)として規定し、それに各命令を表現する
ためのオフセットアドレス値と場合に応じて指定デ−タ
値n*4またはn*16とを加算して、全体のオペラント
アドレス値を決定する。ここで、nの値が本来の指定す
べきデ−タ(DT)に相当し、それに4又は16を掛けた
もの(シフトしたもの)が実際に指定する値(n*4、
n*16)である。本システムの場合2つのメモリアレイ
が存在するため、基準アドレス値CACTLADDRx
は、アクセス制御ユニット1003に対応してCACTLA
DDR0、アクセス制御ユニット1004に対応してCAC
TLADDR1としている。現実の運用では、指定デ−
タ(DT)が存在しない場合にはオペラント部を指定す
る必要はないし、指定デ−タが存在する場合でも、指定
デ−タ以外のオペラントアドレス指定は必要ない。以下
にアセンブリ言語上での実際の記述例を示す。 (ex1)オペランドデ−タが存在する場合 INST.〈ES:CACTLx〉〔n*4〕 INST.〈ES:CACTLx〉〔n*16〕 以上の2つは定数データ指定の場合である。 INST.〈ES:CACTLx〉〔BX(or SI or
DI)〕 これは変数データ指定の場合である。 (ex2)オペランドデ−タが存在しない場合 INST.〈ES:CACTLx〉
FIG. 14 shows a basic instruction set model of assembly language expression in the CA controller.
As with the PA controller, the Intel i8086, i
This is an example of expressing the assembly language of 80X86 CPU. In order to distinguish a plurality of CA controllers, the value of the start address of the memory array is set to the reference address value (CACT
LADDRx), and the offset address value for expressing each instruction is added to the specified data value n * 4 or n * 16 depending on the case to determine the overall operant address value. Here, the value of n corresponds to the original data (DT) that should be specified, and the value that is multiplied by 4 or 16 (shifted) is the actually specified value (n * 4,
n * 16). In this system, since there are two memory arrays, the reference address value CACTLADDRx
Corresponds to the access control unit 1003, CACTLA
Corresponding to DDR0 and access control unit 1004, CAC
It is set to TLADDR1. In actual operation, the specified data
If the data (DT) does not exist, it is not necessary to specify the operant part, and even if the specified data exists, it is not necessary to specify the operant address other than the specified data. The following is an actual description example in assembly language. (Ex1) When operand data exists INST. <ES: CACTLx> [n * 4] INST. <ES: CACTLx> [n * 16] The above two cases are for specifying constant data. INST. <ES: CACTLx> [BX (or SI or
DI)] This is the case of specifying variable data. (Ex2) When operand data does not exist INST. <ES: CACTLx>

【0046】図15に、CAコントローラのモ−ドレジ
スタへのデ−タ(DT)設定におけるパラメ−タモデル
を示す。アセンブリ言語によるモ−ドレジスタへのデ−
タ設定命令表現は以下のとおりである。 SETMD 〈ES:CACTLx、〉AX レジスタデ−タ SETMD 〈ES:CACTLx、〉Imm. 直接デ−タ
FIG. 15 shows a parameter model in setting data (DT) in the mode register of the CA controller. Data to the mode register in assembly language
The data setting command expression is as follows. SETMD <ES: CACTLx,> AX Register data SETMD <ES: CACTLx,> Imm. Direct data

【0047】図16は、CAコントローラにおけるアセ
ンブリ言語表現のアクセス命令セットモデルを示してい
る。アセンブリ言語上での実際の記述例は以下のとおり
である。 (ex3)ライトアクセスの場合 INST.〈ES:CACTLx、〉ERX(or RX
or Imm.) (ex2)リ−ドアクセスの場合 INST.ERX(or RX or Imm.)〈、ES:C
ACTLx〉 *ERX ダブルワ−ドレジスタ RX ワ−ドレジスタ
FIG. 16 shows an access instruction set model expressed in assembly language in the CA controller. An actual description example in assembly language is as follows. (Ex3) In case of write access INST. <ES: CACTLx,> ERX (or RX
or Imm. ) (Ex2) Read access INST. ERX (or RX or Imm.) <, ES: C
ACTLx> * ERX Double word register RX word register

【0048】[0048]

【発明の効果】本発明によれば、以下の効果がある。 1.大きなリニアメモリシステムを必要とせず、その操
作はすべてCPUに頼らなくともアドレッシング処理
や、アクセス命令処理ができる。従って、メモリ空間の
管理やアクセス操作をOSやソフトで記述する必要がな
く、汎用性に富みながら、オ−バ−ヘッドを小さくする
ことができる。 2.メモリをアクセスするのに必要な命令数が減少する
ことによって、命令コ−ドを保持するのに多くのメモリ
を必要としない。1デ−タを読み書きする一連の操作が
わずかな命令コ−ド数で済むため、1メモリアクセス当
たりのコストを低くすることができる。 3.上記1.、2.より、コストオリエンテッドな産業
用計算機を設計する際、メモリの占めるコストを最小限
に押さえることができる。 4.命令コ−ド列や配列デ−タ列(ファイルシステム、
数値処理デ−タ、テ−ブル、モデルデ−タ等)等、ベク
トル的に処理できるデ−タがメモリシステムの大半を占
めることを前提として設計しているので、アドレッシン
グ処理等を事前に実行しておくことができるため、アク
セス時に無駄な操作がなくなり、短いアクセス時間で高
速にアクセスすることが可能となる。 5.CPU内でのアドレッシング処理が必要なくなるた
め、アクセス待ちオ−バ−ヘッドが少なくなり、指定し
た(アドレッシングした)デ−タ(オペランドデ−タ)
を素早くCPU内に取り込み、そのデ−タに処理を加え
ることができる。 以上から、CPU側のアクセス効率をより高め、CPU
自体の高速化に寄与できる効果がある。
The present invention has the following effects. 1. A large linear memory system is not required, and addressing processing and access instruction processing can be performed without relying on the CPU for all the operations. Therefore, it is not necessary to describe the management and access operation of the memory space by the OS or software, and the overhead can be made small while being highly versatile. 2. By reducing the number of instructions needed to access the memory, it does not require much memory to hold the instruction code. Since a series of operations for reading and writing one data can be performed with a small number of instruction codes, the cost per memory access can be reduced. 3. Above 1. 2. Therefore, when designing a cost-oriented industrial computer, the cost occupied by the memory can be minimized. 4. Instruction code sequence and array data sequence (file system,
Since it is designed on the assumption that the data that can be processed in a vector manner, such as numerical processing data, tables, model data, etc., occupies the majority of the memory system, addressing processing, etc. are executed in advance. Therefore, it is possible to avoid unnecessary operations at the time of access, and it is possible to access at high speed in a short access time. 5. Since the addressing process in the CPU is not required, the overhead of waiting for access is reduced, and the designated (addressed) data (operand data)
Can be quickly taken into the CPU and processing can be added to the data. From the above, the access efficiency on the CPU side is further improved, and the CPU
This has the effect of contributing to the speedup of itself.

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

【図1】本発明の二次元配列メモリシステムの一実施例
を示すブロック図である。
FIG. 1 is a block diagram showing an embodiment of a two-dimensional array memory system of the present invention.

【図2】メモリアレイの1ユニット分の構成説明図であ
る。
FIG. 2 is a diagram illustrating the configuration of one unit of a memory array.

【図3】コラムアドレスレジスタファイル(CAREG
F)の構成例を示すブロック図である。
FIG. 3 is a column address register file (CAREG
It is a block diagram which shows the structural example of F).

【図4】コラムアドレスカウンタ(CACNT)の構成
例を示すブロック図である。
FIG. 4 is a block diagram showing a configuration example of a column address counter (CACNT).

【図5】PAコントローラの基本命令セットの一覧であ
る。
FIG. 5 is a list of basic instruction sets of the PA controller.

【図6】PAコントローラ命令WTCD5およびRDC
D5のモード選択コードを示す図である。
FIG. 6 PA controller instructions WTCD5 and RDC
It is a figure which shows the mode selection code of D5.

【図7】モードレジスタセット命令発行時の機能一覧で
ある。
FIG. 7 is a list of functions when a mode register set instruction is issued.

【図8】モードレジスタの内容に対応するアドレッシン
グ処理を示す図である。
FIG. 8 is a diagram showing an addressing process corresponding to the contents of a mode register.

【図9】PAコントローラ基本命令のアセンブリ言語に
おける命令セットモデルを示す図である。
FIG. 9 is a diagram showing an instruction set model in an assembly language of a PA controller basic instruction.

【図10】バンクポイント操作指令、モードビットセッ
ト命令及びアクセス命令のアセンブリ言語におけるパラ
メータセッティングモデルを示す図である。
FIG. 10 is a diagram showing a parameter setting model in an assembly language of a bank point operation command, a mode bit set command and an access command.

【図11】CAコントローラの基本命令セットの一覧で
ある。
FIG. 11 is a list of basic instruction sets of the CA controller.

【図12】モードレジスタの右ビットの機能を示す図で
ある。
FIG. 12 is a diagram showing a function of a right bit of a mode register.

【図13】CAコントローラのサポートしているアクセ
ス命令セットを示す図である。
FIG. 13 is a diagram showing an access instruction set supported by a CA controller.

【図14】CAコントローラ基本命令のアセンブリ言語
における命令セットモデルを示す図である。
FIG. 14 is a diagram showing an instruction set model in an assembly language of CA controller basic instructions.

【図15】CAコントローラのモードレジスタへのデー
タ設定パラメータモデルである。
FIG. 15 is a data setting parameter model for the mode register of the CA controller.

【図16】CAコントローラにおけるアセンブリ言語表
現のアクセス命令セットモデルである。
FIG. 16 is an access instruction set model in assembly language representation in a CA controller.

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

1001 メモリアレイ 1002 メモリアレイ 1003 アクセス制御部 1004 アクセス制御部 1009 ペ−ジコントロ−ラ 1010 コラムアドレスコントロ−ラ 1011 ページアドレスレジスタファイル 1012 コラムアドレスレジスタファイル 1013 メインCPU部 1018 コラムアドレスカウンタ 1019 アドレスラッチ 1023 マシンステートコントローラ 1027 マシンステ−トコントロ−ラ 1001 memory array 1002 memory array 1003 access control unit 1004 access control unit 1009 page controller 1010 column address controller 1011 page address register file 1012 column address register file 1013 main CPU unit 1018 column address counter 1019 address latch 1023 machine state Controller 1027 Machine state controller

Claims (16)

【特許請求の範囲】[Claims] 【請求項1】 ページポインタとコラムポインタの組で
アドレス指定を行うように構成されたメモリアレイと、
中央処理装置からのアクセスに応じて上記ページポイン
タを生成するページアドレスコントローラと、上記中央
処理装置からのアクセスの応じて上記コラムポインタを
生成するコラムアドレスコントローラとを備えたことを
特徴とする二次元配列型メモリシステム。
1. A memory array configured for addressing with a set of a page pointer and a column pointer,
Two-dimensional, characterized by comprising a page address controller for generating the page pointer in response to access from the central processing unit, and a column address controller for generating the column pointer in response to access from the central processing unit Array type memory system.
【請求項2】 前記コラムアドレスコントロ−ラは、複
数のコラムアドレスレジスタから成るコラムアドレスレ
ジスタファイルと、別に与えられたコラム用のオフセッ
トアドレスと上記コラムアドレスレジスタに中央処理装
置から設定されたアドレスとから前記コラムポインタを
生成するコラムアドレスカウンタとから成り、前記ペー
ジアドレスコントローラは、複数のページアドレスレジ
スタから成るページアドレスレジスタファイルと、別に
与えられたページ用のオフセットアドレスと上記ページ
アドレスレジスタに中央処理装置から設定されたアドレ
スとから前記ページポインタを生成するページアドレス
カウンタとから成ることを特徴とする請求項1記載の二
次元配列型メモリシステム。
2. The column address controller comprises a column address register file consisting of a plurality of column address registers, an offset address for a column given separately, and an address set by the central processing unit in the column address register. And a column address counter that generates the column pointer from the page address controller, the page address controller includes a page address register file including a plurality of page address registers, an offset address for a separately given page, and a central processing in the page address register. 2. The two-dimensional array type memory system according to claim 1, comprising a page address counter for generating the page pointer from an address set by a device.
【請求項3】 コラムアドレスレジスタとページアドレ
スレジスタは、任意の値を設定できることを特徴とする
請求項2の二次元配列型メモリシステム。
3. The two-dimensional array type memory system according to claim 2, wherein the column address register and the page address register can set arbitrary values.
【請求項4】 前記コラムアドレスコントローラは、前
記コラムアドレスカウンタで生成したコラムポインタと
前記ペ−ジアドレスカウンタで生成したページポインタ
を一時記憶するためのラッチと、該ラッチから上記2つ
のポインタをタイミングを合わせて前記メモリアレイへ
出力する制御手段とを備えたことを特徴とする請求項2
記載の二次元配列型メモリシステム。
4. The column address controller, a latch for temporarily storing a column pointer generated by the column address counter and a page pointer generated by the page address counter, and timing of the two pointers from the latch. And a control means for outputting the same to the memory array.
The two-dimensional array type memory system described.
【請求項5】 前記コラムアドレスレジスタファイル
は、前記コラムアドレスレジスタの複数個からなる複数
のコラムアドレスレジスタセットからなるとともに、該
コラムアドレスレジスタセット毎に対応するオフセット
レジスタと、上記コラムアドレスレジスタセット及びオ
フセットレジスタの選択と該選択したコラムアドレスレ
ジスタセット内のコラムアドレスレジスタの選択とを行
うための選択回路とを設け、該回路により選択されたコ
ラムアドレスレジスタと対応オフセットレジスタの内容
から前記コラムアドレスカウンタがコラムポインタを生
成することを特徴とする請求項2または4に記載の二次
元配列型メモリシステム。
5. The column address register file includes a plurality of column address register sets including a plurality of the column address registers, an offset register corresponding to each column address register set, the column address register set, and the column address register set. A selection circuit for selecting the offset register and the column address register in the selected column address register set is provided, and the column address counter is selected from the contents of the column address register and the corresponding offset register selected by the circuit. Generates a column pointer according to claim 2, wherein the two-dimensional array type memory system according to claim 2 or 4.
【請求項6】 前記ページアドレスレジスタファイル
は、前記ページアドレスレジスタの複数個からなる複数
のページアドレスレジスタセットからなるとともに、該
ページアドレスレジスタセット毎に対応するオフセット
レジスタと、上記ページアドレスレジスタセット及びオ
フセットレジスタの選択と該選択したページアドレスレ
ジスタセット内のページアドレスレジスタの選択とを行
うための選択回路とを設け、該回路により選択されたペ
ージアドレスレジスタと対応オフセットレジスタの内容
から前記ページアドレスカウンタがページポインタを生
成することを特徴とする請求項2または4に記載の二次
元配列型メモリシステム。
6. The page address register file includes a plurality of page address register sets including a plurality of the page address registers, an offset register corresponding to each page address register set, the page address register set, and A selection circuit for selecting an offset register and a page address register in the selected page address register set is provided, and the page address counter is selected from the contents of the page address register selected by the circuit and the corresponding offset register. The two-dimensional array type memory system according to claim 2 or 4, wherein the page pointer is generated.
【請求項7】 前記オフセットレジスタ毎にモードレジ
スタを設け、中央処理装置からのアクセスによって上記
モードレジスタに設定されたモードに応じて当該オフセ
ットレジスタの内容更新を行うことを特徴とする請求項
5または6に記載の二次元配列型メモリシステム。
7. A mode register is provided for each of the offset registers, and the contents of the offset register are updated according to the mode set in the mode register by access from the central processing unit. The two-dimensional array type memory system according to item 6.
【請求項8】 前記オフセットレジスタの出力と中央処
理装置からの直接アドレスデータとを選択するためのセ
レクタを設け、前記モードレジスタの出力によって上記
セレクタによる選択を行える構成としたことを特徴とす
る請求項7記載の二次元配列型メモリシステム。
8. A structure is provided in which a selector for selecting the output of the offset register and the direct address data from the central processing unit is provided, and the selection by the selector can be made by the output of the mode register. Item 2. A two-dimensional array type memory system according to item 7.
【請求項9】 前記コラムアドレスコントローラに前記
コラムアドレスレジスタと互いにデータを転送可能な第
1コラムアドレス用テンポラリレジスタを設けたことを
特徴とする請求項2記載の二次元配列型メモリシステ
ム。
9. The two-dimensional array type memory system according to claim 2, wherein the column address controller is provided with a temporary register for a first column address capable of transferring data to and from the column address register.
【請求項10】 前記ページアドレスコントローラに前
記ページアドレスレジスタと互いにデータを転送可能な
第1ページアドレス用テンポラリレジスタを設けたこと
を特徴とする請求項2記載の二次元配列型メモリシステ
ム。
10. The two-dimensional array type memory system according to claim 2, wherein the page address controller is provided with a temporary register for a first page address that can transfer data to and from the page address register.
【請求項11】 前記コラムアドレスコントローラに中
央処理装置から直接アドレス設定可能な第2テンポラリ
レジスタとマルチプレクサとを設け、該マルチプレクサ
により前記コラムアドレスレジスタファイルから読みだ
されたアドレスと上記第2テンポラリレジスタに設定さ
れたアドレスとを選択して出力するようにしたことを特
徴とする請求項2記載の二次元配列型メモリシステム。
11. The column address controller is provided with a second temporary register and a multiplexer that can be directly addressed by a central processing unit, and the multiplexer reads out the address read from the column address register file and the second temporary register. The two-dimensional array type memory system according to claim 2, wherein the set address is selected and output.
【請求項12】 前記ページアドレスコントローラに中
央処理装置から直接アドレス設定可能な第2テンポラリ
レジスタとマルチプレクサとを設け、該マルチプレクサ
により前記ページアドレスレジスタファイルから読みだ
されたアドレスと上記第2テンポラリレジスタに設定さ
れたアドレスとを選択して出力するようにしたことを特
徴とする請求項2記載の二次元配列型メモリシステム。
12. The page address controller is provided with a second temporary register and a multiplexer that can be directly addressed from a central processing unit, and the address read from the page address register file by the multiplexer and the second temporary register are provided. The two-dimensional array type memory system according to claim 2, wherein the set address is selected and output.
【請求項13】 その要素が行番号及び列番号の組に対
して1個づつ定められた二次元配列データを、上記行番
号を前記ページポインタにより指定できかつ上記列番号
を前記コラムポインタにより指定できるように前記メモ
リアレイへ格納し、中央処理装置から上記ページポイン
タ及びコラムポインタを操作することにより上記二次元
配列データへアクセスすることを特徴とする請求項1記
載の二次元配列型メモリシステム。
13. Two-dimensional array data whose elements are defined one by one for a set of row number and column number, the row number can be designated by the page pointer and the column number can be designated by the column pointer. 2. The two-dimensional array type memory system according to claim 1, wherein the two-dimensional array data is stored in the memory array as much as possible, and the two-dimensional array data is accessed by operating the page pointer and the column pointer from a central processing unit.
【請求項14】 二次元配列メモリシステムのうちのア
クセス制御部に相当する部分をCPUの機能の一つとし
てCPU内に集積することを特徴とする。請求項1記載
の二次元配列型メモリシステム。
14. A two-dimensional array memory system, wherein a portion corresponding to an access control unit is integrated in the CPU as one of the functions of the CPU. The two-dimensional array type memory system according to claim 1.
【請求項15】 前記CPUは通常のリニアアクセスを
必要とする他のサブシステムやリソースへのアクセスを
実行するためのもの、もう一つのバスシステムを設けた
ことを特徴とする請求項14記載の二次元配列型メモリ
システム。
15. The CPU according to claim 14, wherein the CPU is provided with another bus system for performing access to other subsystems and resources that require normal linear access. Two-dimensional array type memory system.
【請求項16】 前記二次元配列メモリシステムへのア
クセスと他のサブシステム、又は、リソースへのアクセ
スとを並列に実行する機能をCPUに持たせたことを特
徴とする請求項15記載の二次元配列型メモリシステ
ム。
16. The CPU according to claim 15, wherein the CPU has a function of executing access to the two-dimensional array memory system and access to another subsystem or resource in parallel. Dimensional array type memory system.
JP23241692A 1988-03-28 1992-08-31 Two-dimensional array type memory system Expired - Fee Related JP3345050B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP23241692A JP3345050B2 (en) 1992-08-31 1992-08-31 Two-dimensional array type memory system
US08/113,811 US5724540A (en) 1988-03-28 1993-08-31 Memory system having a column address counter and a page address counter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23241692A JP3345050B2 (en) 1992-08-31 1992-08-31 Two-dimensional array type memory system

Publications (2)

Publication Number Publication Date
JPH0683696A true JPH0683696A (en) 1994-03-25
JP3345050B2 JP3345050B2 (en) 2002-11-18

Family

ID=16938914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23241692A Expired - Fee Related JP3345050B2 (en) 1988-03-28 1992-08-31 Two-dimensional array type memory system

Country Status (1)

Country Link
JP (1) JP3345050B2 (en)

Also Published As

Publication number Publication date
JP3345050B2 (en) 2002-11-18

Similar Documents

Publication Publication Date Title
US5724540A (en) Memory system having a column address counter and a page address counter
KR960016397B1 (en) File storaging apparatus and information processing apparatus using the same
JPH0484253A (en) Bus width control circuit
JPH01125640A (en) Address conversion system
JP2001216194A (en) Arithmetic processor
JPH0719426B2 (en) Disk controller
GB2024475A (en) Memory access controller
JPH10207717A (en) Microcomputer
KR19990037572A (en) Design of Processor Architecture with Multiple Sources Supplying Bank Address Values and Its Design Method
US5127096A (en) Information processor operative both in direct mapping and in bank mapping, and the method of switching the mapping schemes
JP3088303B2 (en) Cache memory bank controller
JPH0619711B2 (en) Data processing system with priority branch mechanism
JP3345050B2 (en) Two-dimensional array type memory system
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
AU632542B2 (en) Ring reduction logic mechanism
KR102673748B1 (en) Multi-dimension dma controller and computer system comprising the same
JPH0635800A (en) Microprocessor and data processing system using it
US7213127B2 (en) System for producing addresses for a digital signal processor
KR19980070351A (en) Programmable controller
JP2918570B2 (en) Central processing unit
JPH10247150A (en) Data processing system
JPH04175924A (en) Multi-os execution system
JP2003196087A (en) Memory addressing system of microcontroller and page mapping device
JPH056333A (en) Multi-processor system
JP2742245B2 (en) Parallel computer

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees