JPH02277125A - Register bank circuit - Google Patents

Register bank circuit

Info

Publication number
JPH02277125A
JPH02277125A JP2003400A JP340090A JPH02277125A JP H02277125 A JPH02277125 A JP H02277125A JP 2003400 A JP2003400 A JP 2003400A JP 340090 A JP340090 A JP 340090A JP H02277125 A JPH02277125 A JP H02277125A
Authority
JP
Japan
Prior art keywords
register
bank
data
registers
pointer
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
JP2003400A
Other languages
Japanese (ja)
Other versions
JP2950427B2 (en
Inventor
Hiroshi Ito
洋 伊藤
Hiroshi Fukuoka
浩 福岡
Makoto Shinohara
誠 篠原
Kazuyoshi Yoshida
和義 吉田
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.)
Toshiba Corp
Toshiba Electronic Device Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Microelectronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Microelectronics Corp filed Critical Toshiba Corp
Priority to JP2003400A priority Critical patent/JP2950427B2/en
Publication of JPH02277125A publication Critical patent/JPH02277125A/en
Application granted granted Critical
Publication of JP2950427B2 publication Critical patent/JP2950427B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To eliminate the need for the selection of the memories repetitively until the bank numbers are switched when the accesses are given to the registers included in a bank by using a bank number decoding signal and selecting all registers equivalent to one bank. CONSTITUTION:A data bus interface DBI 61 transfers the instructions, the data, etc., between a program memory and a data memory via a data bus DB 69. In this case, the necessary address information is produced by an address generating unit AGEN 62 and supplied via an address bus interface ABI 63 and an address bus AB 68. The instructions read out of the memories are held by an instruction buffer IBUF 64 and then sent successively to an instruction decoder IDEC 65 to be decoded there. A control signal generating unit CONT 66 produces the control signal of each part necessary for the execution of the decoded instructions. A REGISTER BANK block 51 is the assembly of registers turned into banks that is used by a programmer.

Description

【発明の詳細な説明】 [発明の目的コ (産業上の利用分野) 本発明は、レジスタバンク回路に関し1%にマイクロプ
ロセッサ部を改良する場合に適するものである。
DETAILED DESCRIPTION OF THE INVENTION [Objective of the Invention (Industrial Application Field) The present invention is suitable for improving a microprocessor part by 1% with respect to a register bank circuit.

(従来の技術) この種のレジスタバンク回路は、第3図の様にRAM 
(リード、ライトメモリ)21と、レジスタ番号を保持
するレジスタポインタ22と、バンク番号を保持するバ
ンクポインタ23と、そのバンクポインタ、レジスタポ
インタの出力を受けて。
(Prior art) This type of register bank circuit uses RAM as shown in Figure 3.
(read/write memory) 21, a register pointer 22 that holds a register number, a bank pointer 23 that holds a bank number, and upon receiving the outputs of the bank pointer and register pointer.

アドレスを生成するアドレス生成回路24を有し。It has an address generation circuit 24 that generates addresses.

そのアドレスをRAM J Jに与える事によシ任意の
レジスタをリード、ライトできるようにしたレジスタバ
ンク方式を採っていた。
A register bank system was used in which any register could be read or written by giving the address to RAM JJ.

(発明が解決しようとする課題) しかしながら上記のものは、次のような欠点があった。(Problem to be solved by the invention) However, the above method had the following drawbacks.

(a)  レジスタとしてRAM 21を使用するため
(a) To use RAM 21 as a register.

アドレスを与えてから、データフ4ス25上のデータが
有効になるまでの時間(アクセスタイム)が長く、この
レジスタバンク方式をマイクロゾロセッサ等に導入する
と、頻繁に発生するレジスタへのリーグ、ライト毎に、
前記アク竜ス時間が必要となり、マイクロプロセッサ等
の実行速度が制限されるため、高速処理を必要とするも
のには導入し難い。
It takes a long time (access time) from when an address is given until the data on the data base 25 becomes valid, and when this register bank method is introduced into a microprocessor etc. Every,
The above-mentioned processing time is required, and the execution speed of microprocessors and the like is limited, so it is difficult to introduce this method into systems that require high-speed processing.

fb)  又1通常のR届をレジスタとして使用するた
め、同時に2つの異なりたレジスタのデータをアクセス
する事ができない、このため、このレジスタバンク回路
をマイクロゾロセッサ等に導入すると、2つのレジスタ
のデータ処理をする時に。
fb) Also, since the normal R notification is used as a register, it is not possible to access data in two different registers at the same time. Therefore, when this register bank circuit is introduced into a microprocessor etc. when processing data.

2つのレジスタを同時にアクセスできる方式に比べて、
2つのレジスタを1つずつアクセスしなければならない
ため、処理速度が遅くなる。
Compared to a method that allows access to two registers simultaneously,
Since the two registers must be accessed one by one, processing speed becomes slower.

そこで上記第3図の欠点を改善するため、第4図の様な
レジスタパンタ方式について考えてみる。
Therefore, in order to improve the drawbacks shown in FIG. 3, a register panter system as shown in FIG. 4 will be considered.

この方式は、それぞれ・々ンクを構成する複数のレジス
タラッチ群31と、レジスタ番号を保持するレジスタポ
インタ32−1.レジスタポインタ32−2と、バンク
番号を保持するノ々ンクポインタ33と、それらレジス
タポインタ、バンクポインタの出力を受けて、これをデ
コードするデコーダ34を有し、そのデコーダの出力に
よシ、前記複数のレジスタラッチ群31から任意のノ9
ンクの中の最大2つのレジスタを選択できるようになっ
ている。ま九この複数のレジスタラッチ群31は。
This method uses a plurality of register latch groups 31, each forming a register latch group, and register pointers 32-1, . It has a register pointer 32-2, a non-link pointer 33 that holds a bank number, and a decoder 34 that receives and decodes the outputs of the register pointer and bank pointer. Any number 9 from the register latch group 31 of
Up to two registers in the link can be selected. This plural register latch group 31 is.

各々バンク番号と対応づけられている。ここで。Each is associated with a bank number. here.

lバンクが8レジスタで8バンク構成のレジスタバンク
を例にとることにする。第5図、第6図にその詳細を示
す。図のように各レジスタラッチ群3ノは、レジスタラ
ッチRO〜R7の8つのレジスタによって構成されてい
る。又デコーダ34の出力は、バンクセレクト信号8セ
ツト(BS7〜n5o)であシ、各セットはバンク番号
とl対lに対応して、前記レジスタラッチ群31に接続
される。又。
Let us take as an example a register bank having an 8-bank configuration in which each bank has 8 registers. The details are shown in FIGS. 5 and 6. As shown in the figure, each register latch group 3 is composed of eight registers, register latches RO to R7. Further, the output of the decoder 34 is eight sets of bank select signals (BS7 to n5o), and each set is connected to the register latch group 31 in correspondence with the bank number and l to l. or.

各セットは2つあるレジスタポインタ32−1゜32−
2の各々により各レジスタが選択されるようになりてい
る為、さらに2組に分かれている。
Each set has two register pointers 32-1゜32-
Since each register is selected by each of 2, it is further divided into two groups.

(例えばB57aとn57b)そして各組は8本のコン
トロール信号からなっている。又、その8本のコントロ
ール信号は、各々レジスタ番号と1対lに対応して、前
記レジスタラッチR,0〜R7に接続されている。従が
りて、各々の組から独立に、レジスタラッチRQ−R7
の1つを選択する事が可能となっている。第10組に選
ばれたレジスタラッチはデータバス35−1 t−通し
て、第2の組に選ばれたレジスタラッチはデータバス3
5−2t−通して、データのリード、ライトを行うよう
にする。
(eg B57a and n57b) and each set consists of eight control signals. Further, the eight control signals are connected to the register latches R, 0 to R7 in a one-to-one correspondence with the register number. Therefore, independently from each set, register latch RQ-R7
It is possible to select one of the following. The register latches selected for the 10th group are connected to the data bus 35-1, and the register latches selected for the second group are connected to the data bus 35-1.
Data is read and written through 5-2t-.

このようなレジスタバンク回路を導入したマイクロプロ
セッサは、高速のレジスタ転送が可能となシ、実行速度
の向上が計れる。
A microprocessor incorporating such a register bank circuit is capable of high-speed register transfer and can improve execution speed.

しかし、上記第3図の方式に比べ1次の問題点を有す。However, this method has a first-order problem compared to the method shown in FIG. 3 above.

(al  レジスタラッチによってレジスタを構成する
ため、第3図のRAMヲ使用する方式に比べ1回路規模
が大きくなるという問題点がある。このため1例えば、
第5図の様な回路を集積回路上で実現しようとすると、
 RAMを使用する方式の倍以上の面積を必要とし、場
合によっては、必要なレジスタ数を確保できない可能性
がある。
(al) Because the registers are constructed using register latches, there is a problem that the scale of one circuit becomes larger compared to the method using RAM shown in Fig. 3.For this reason, for example,
When trying to realize a circuit like the one shown in Figure 5 on an integrated circuit,
This method requires an area more than twice as large as the method using RAM, and in some cases, it may not be possible to secure the required number of registers.

(b)  デコーダ34が出力するコントロール線(前
記バンクセレクト信号及びレジスタ選択信号)の本数が
多く、集積回路で使用する場合、 RAMの方式に比べ
配線に必要な面積が大きくなったり。
(b) The number of control lines (bank select signals and register select signals) output by the decoder 34 is large, and when used in an integrated circuit, the area required for wiring is larger than in the RAM system.

取り扱いが繁雑になったりする。It may become complicated to handle.

(e)  バンクの数を増減する際の柔軟性に関しても
、増減に伴なって、デコーダ部の再設計が必要となり、
この方式ではデコーダの規模が大きいため、大きな回路
変更となる。これは、集積回路上で実現した場合大きな
制約となる。
(e) Regarding flexibility when increasing or decreasing the number of banks, it is necessary to redesign the decoder section as the number of banks increases or decreases.
This method requires a large circuit change because the scale of the decoder is large. This becomes a major constraint when realized on an integrated circuit.

そこで本発明の目的は、「レジスタ数×バンク数」が多
くても小規模で、しかも容易な回路で実現でき、かつ高
速なレジスタバンク方式を実現すると共に、レジスタ数
やバンク数の増減に対しても柔軟に対応でき、コストパ
フォーマンスの高いレジスタバンク回路を実現せしめる
ものである。
Therefore, an object of the present invention is to realize a register bank system that is small-scale even when the number of registers x number of banks is large, can be realized with a simple circuit, and is fast. This realizes a register bank circuit that is flexible and has high cost performance.

[発明の構成] (課jlSLt−解決する九めの手段と作用)本発明は
、各行がそれぞれ複数ブロックのレジスタよりなるバン
クを構成し、各列がそれぞれ専用のメモリバスにつなが
るリード、ライト可能なメモリによって構成されたレジ
スタアレイと。
[Structure of the Invention] (Lesson jlSLt - Ninth Means and Effects to Solve) The present invention consists of a bank in which each row is composed of a plurality of blocks of registers, and each column is connected to a dedicated memory bus, which is readable and writable. A register array made up of memory.

1つ以上のバンク番号を保持するバンク番号保持手段と
、そのバンク番号保持手段の出力によシ前記メモリ中の
一連のデータ群を選択するための79ンク選択手段と、
1つ以上のレジスタ番号を保持するレジスタ番号保持手
段と、そのレジスタ保持番号手段の出力により前記一連
のデータ群に対し1つ以上のレジスタのデータを選択す
るレジスタ選択手段とを具備し、リード時には、前記一
連のデータ群が1バンク内の全てのレジスタのデータに
よって構成されているととf:%徴とするレジスタバン
ク回路である。
bank number holding means for holding one or more bank numbers; and 79 link selection means for selecting a series of data groups in the memory based on the output of the bank number holding means;
The register number holding means holds one or more register numbers, and the register selection means selects data in one or more registers for the series of data groups based on the output of the register holding number means. , is a register bank circuit in which the series of data groups is constituted by data of all registers in one bank.

即ち本発明は、バンク番号のデコード信号のみで、その
バンク番号に対応するノ々ンクの全てのレジスタが選択
されるようにメモリを構成する。そして、lバンク分子
:1括してメモリから選択し。
That is, in the present invention, the memory is configured such that all registers of the non-link corresponding to the bank number are selected by only the decode signal of the bank number. Then, select one bank molecule from the memory.

保持することによシ、高速の兜埋が可能となる。By holding it, it becomes possible to bury the helmet at high speed.

さらに、メモリはレジスタ選択手段としてのマルチプレ
クサに接続され、リード、ライトをこのマルチプレクサ
を通して処理されるようにする。又。
Furthermore, the memory is connected to a multiplexer as register selection means, so that reads and writes are processed through this multiplexer. or.

このマルチプレクサは、レジスタ番号によりコントロー
ルされ、任意のレジスタを選択できるようになっており
、必要に応じて複数のマルチプレクサを用意して、複数
のレジスタを同時にアクセスする事も可能にしている。
This multiplexer is controlled by the register number so that any register can be selected, and if necessary, multiple multiplexers can be prepared to access multiple registers at the same time.

しかもまたバンク番号保持手段とレジスタ番号保持手段
によシ、バンク番号とレジスタ番号を一足期間保持して
いる。このため1例えば一つのバンク番号を指定し続け
て、一つのバンク内のレジスタ間でデータを処理する際
に1番地設定時間の短縮が可能となる。つまり。
Furthermore, the bank number and register number are held for one period by the bank number holding means and the register number holding means. Therefore, for example, when one bank number is continuously designated and data is processed between registers within one bank, the time required to set the first address can be shortened. In other words.

−度バンク番号を指定するだけで、あとはそれをバンク
番号保持手段で保持し、そのバンク番号を指定しつづけ
れば、改めてバンク番号を指定しなおす必要がない。こ
れによシ1本願レジスタを用いたマイクロプロセッサは
兜埋速度の高速化を実現することができる。
- By simply specifying the bank number, the bank number holding means holds it, and if the bank number continues to be specified, there is no need to specify the bank number again. As a result, a microprocessor using the register according to the present invention can achieve a high speed of loading.

を九、レジスタポインタから直接バンクに配線されたと
きの構造のように面積が大きくすることがなく、小さい
面積で比較的多数のレジスタを構成できる。
(9) Unlike the structure where the register pointer is wired directly to the bank, the area does not increase, and a relatively large number of registers can be configured in a small area.

(実施例) 以下図面を参照して本発明の詳細な説明する。(Example) The present invention will be described in detail below with reference to the drawings.

第1図(5)は1本発明の適用の概略図である。これは
、マイクロプロセッサの主要部のブロックダイアダラム
であり、各機能ブロックは1次に述べる通りである。
FIG. 1(5) is a schematic diagram of an application of the present invention. This is a block diagram of the main part of the microprocessor, and each functional block is as described below.

DBI 6 J ハデータバスインターフェースで69
゜データバスDB69f介してプログラムメモリやデー
タメモリとの間で命令やデータなどのやり取りを行う。
DBI 6 J data bus interface 69
゜Instructions and data are exchanged with the program memory and data memory via the data bus DB69f.

この時必要なアドレス情報は、アドレス生成ユニットA
GEN 6 jで生成され、アドレスバスインターフェ
ースABI 53 トアドレスノ譬スAB6#によって
供給される。メモリから読み込まれた命令は、命令バッ
ファIBUF 64に保持され、そして命令デコーダI
DEC65に順次送られて解読される。
The address information required at this time is the address generation unit A.
GEN 6 j and provided by the address bus interface ABI 53 address address AB6#. Instructions read from memory are held in an instruction buffer IBUF 64 and sent to an instruction decoder I
The data is sequentially sent to the DEC65 and decoded.

制御信号発生ユニツ) C0NT 66は、解読された
命令の実行に必要な各部の制御信号を発生する。
Control signal generation unit) C0NT 66 generates control signals for each unit necessary for executing the decoded instruction.

ALU 5 Fは算術論理演算ユニットであシ、算術演
算や論理演算等の各種演算を処理する。REGI 5T
ERBANKブロツク51は、プログラマによって使用
されるバンク化されたレジスタの集合体である。そのレ
ジスタバンク番号を保持するのがバンクポインタBP5
3であシ、バンクポインタの内容をデコードしてレジス
タバンクの選択信号を出力するのがデコーダDEC54
である。選択されているレジスタバンク内の読み出しレ
ジスタ番号を保持しているのが、レジスタポインタ(R
PJ)5.5−JR。
The ALU 5F is an arithmetic and logic unit that processes various operations such as arithmetic operations and logical operations. REGI 5T
ERBANK block 51 is a collection of banked registers used by the programmer. Bank pointer BP5 holds the register bank number.
3, the decoder DEC54 decodes the contents of the bank pointer and outputs the register bank selection signal.
It is. The register pointer (R
PJ) 5.5-JR.

(RP2)55−IRである。このレジスタポインタに
よって指定されたレジスタを選択し、その内容を出力す
るためのセレクタブロックとしてR8EL5g−Rがあ
る。また1選択されているレジスタバンク内の書き込み
レジスタ番号を保持しているのがレジスタポインタ(R
P、?)55−IW、(RP4)、55−JWである。
(RP2) 55-IR. R8EL5g-R is a selector block for selecting a register designated by this register pointer and outputting its contents. Also, the register pointer (R) holds the write register number in the selected register bank.
P.? )55-IW, (RP4), and 55-JW.

このレジスタポインタによって指定されたレジスタを選
択し、そのレジスタに書き込みを行なうためのセレクタ
ブロックとしてWSEL 5 g −Wがおる。
WSEL5g-W is provided as a selector block for selecting the register designated by this register pointer and writing to that register.

これらの機能ブロックは、データバスDBX 。These functional blocks are the data bus DBX.

DB7により繁かれ、データがやシ取シされる。制御信
号発生ユニツ) C0NT部66からの出力であるIR
G3C%IRGy 、 0RGx及び0RG7は命令に
よって指定されるレジスタ番号をそれぞれレジスタポイ
ンタに転送する信号線である。RPOlx 、 RPO
2x 。
The DB 7 is updated and the data is removed. control signal generation unit) IR which is the output from the C0NT section 66
G3C%IRGy, 0RGx, and 0RG7 are signal lines that transfer register numbers designated by instructions to register pointers, respectively. RPOlx, RPO
2x.

RPO3!及びRP04にはレジスタポインタ55から
各セレクタ部56−R、5B−Wにつながれた出力信号
線である。BPOxはバンクポインタ53の出力信号線
であり、 BSKはレジスタバンク51のバンク選択信
号である。CBx及びその反転信号CBXは各レジスタ
のビットパス信号である。 BBXは各レジスタのビッ
トの読みだしデータ信号線である。
RPO3! And RP04 is an output signal line connected from the register pointer 55 to each selector section 56-R and 5B-W. BPOx is an output signal line of the bank pointer 53, and BSK is a bank selection signal of the register bank 51. CBx and its inverted signal CBX are bit pass signals for each register. BBX is a data signal line for reading bits of each register.

この概略図において、ルジスタROの内容とレジスタ番
号の内容を加算しその和をレジスタR2(後述の第1図
(11参照)に格納する”という命令を実行する場合の
例を説明する。
In this schematic diagram, an example will be described in which an instruction to add the contents of the register number and the contents of the register number and store the sum in the register R2 (described later in FIG. 1 (see 11)) is executed.

この時バンクポインタ53は事前に、あるレジスタバン
ク番号が設定されているものとする。当該命令は命令バ
ッファIBUF 64よシ取シ出され。
At this time, it is assumed that the bank pointer 53 has been set to a certain register bank number in advance. The instruction is fetched from instruction buffer IBUF 64.

命令デコーダIDEC部65により解読され、各制御信
号が発生される。この時、信号線IRGxにRoに対応
するレジスタ曽号データが、また、信号線IRQyKR
Jに対応するレジスタ番号データが出力され、レジスタ
ポインタRP 1とRP 2に各々設定される。そして
、信号線0RGX IICはR2に対応するレジスタ番
号データが出力され、レジスタポインタRP Jに設定
される。その後、レジスタに対する読みだし信号が出さ
れることにより、セレクタR8ELブロック56−Rか
らRoの内容がデータバスDBXに、R1の内容がデー
タバスDBFに出力される。
The command decoder IDEC unit 65 decodes the command and generates each control signal. At this time, the register zero data corresponding to Ro is transferred to the signal line IRGx, and the register zero data corresponding to Ro is also transferred to the signal line IRQyKR.
Register number data corresponding to J is output and set in register pointers RP 1 and RP 2, respectively. Then, the register number data corresponding to R2 is outputted to the signal line 0RGXIIC and set in the register pointer RPJ. Thereafter, by issuing a read signal to the register, the contents of Ro are output from the selector R8EL block 56-R to the data bus DBX, and the contents of R1 are output to the data bus DBF.

ここで1本実施例は複数のデータバスDBx 。Here, one embodiment includes a plurality of data buses DBx.

DBF t−用いることで、このような処理に際しても
2つのデータを同時に移動できる。
By using DBF t-, two pieces of data can be moved simultaneously during such processing.

DBXとDny上に出力され九データは演算二二ツ) 
ALU 6 Fの両方の入力にそれぞれ取シ込まれる。
9 data outputted to DBX and Dny are calculated by 22)
Each input is input to both inputs of ALU 6F.

制御信号発生ユニツ) C0NT部66よシ加算の制御
信号が出され、 ALU 6 fFにて加算が行なわれ
る。
Control signal generation unit) A control signal for addition is output from the C0NT section 66, and addition is performed in the ALU 6fF.

この加算の和はデータバスDBxに出力されてセレクタ
ツロックVIBEL部56−Wの入力となる。そして。
The sum of this addition is output to the data bus DBx and becomes an input to the selector lock VIBEL section 56-W. and.

レジスタへの書き込み信号が出力されることKよpRx
への書き込みが行なわれる。この様に各命令の実行が行
なわれていくことになる。
The write signal to the register is output.
Writing is performed. In this manner, each instruction is executed.

また、レジスタポインタ(RPJ)55−JR,(RP
!’)55−2R,(RP3)55−IW並びに(RP
4)55−;IWに対するレジスタ番号の設定は、 A
LU 67における演算中などのように、それぞれのレ
ジスタポインタの動作の空きがあるときに随時設定する
ことが可能であり、演算の実行とレジスタポインタの設
定は並行して行なえる。したがって、実行中の命令と次
の処理t−重ね合わせて地理効率の向上を図ることもで
きる。
Also, register pointer (RPJ) 55-JR, (RP
! ')55-2R, (RP3)55-IW and (RP
4) 55-; Setting the register number for IW is A
It is possible to set each register pointer at any time when there is free operation, such as during an operation in the LU 67, and the execution of the operation and the setting of the register pointer can be performed in parallel. Therefore, it is also possible to improve geographical efficiency by overlapping the command being executed and the next process t.

更!’C,篤1図(B)は本願発明であるレジスタバン
ク回路の実施例の概略的構成囚、第2図は同構成を更に
具体化した図である。即ちこの構成は、各行がそれぞれ
複数ブロックのレジスタよりなるバンクを構成し、各列
がそれぞれ専用のメモリバス52につながるリード、ラ
イト可能なメモリ51と、1つ以上のバンク番号を保持
するバンク番号保持手段53と、その・9ンク番号保持
手段の出力によ#)前記メモリ中の一連のデータ群を選
択するためのバンク選択手段54と、1つ以上のレジス
タ番号を保持するレジスタ番号保持手段55と。
More! Figure 1(B) is a schematic diagram of an embodiment of the register bank circuit according to the present invention, and Figure 2 is a diagram showing a further embodiment of the same configuration. That is, in this configuration, each row constitutes a bank consisting of a plurality of blocks of registers, and each column constitutes a readable/writable memory 51 connected to a dedicated memory bus 52, and a bank number holding one or more bank numbers. bank selection means 54 for selecting a series of data groups in the memory, and register number holding means for holding one or more register numbers; 55 and.

そのレジスタ番号保持手段の出力により前記一連のデー
タ群に対し1つ以上のレジスタのデータを選択するレジ
スタ選択手段56とを具備する。リード時には、前記一
連のデータ群が1バンク内の全てのレジスタのデータに
よって構成され、これがメモリバス62に出力される。
A register selection means 56 is provided for selecting data in one or more registers from the series of data groups based on the output of the register number holding means. At the time of reading, the series of data groups is made up of the data of all the registers in one bank, and is output to the memory bus 62.

この出力はレジスタ選択手段56で選択され、データバ
ス57に出力される。
This output is selected by register selection means 56 and output to data bus 57.

第2図では、バンク番号保持手段53はバンクポインタ
で、バンク選択手段54は行(ROW ) デコーダで
、レジスタ番号保持手段55はレジスタポインタ65−
1 、55−2で、レジスタ選択手段56はマルチブレ
フサでそれぞれ実現されている。
In FIG. 2, the bank number holding means 53 is a bank pointer, the bank selection means 54 is a row (ROW) decoder, and the register number holding means 55 is a register pointer 65-
1 and 55-2, the register selection means 56 is realized by a multi-brancher, respectively.

レジスタの1ブロツクBは1ビツトレジスタでも。Even if 1 block B of the register is a 1-bit register.

複数ピットレジスタでもかまわない。また本例線。It does not matter if there are multiple pit registers. Also this example line.

バンク数8.各バンク内のレジスタ数8.各レジスタ長
8ピット、同時にアクセスできるレジスタ数2のレジス
タ7472回路となっている。また本例では、リード、
ライト可能なメモリ51と、バンク番号を保持するバン
クポインタ(3ビツト)とその出力をデコードするRO
W f’ :r−ダ(出力8本)を有しておシ、メモリ
51は、 ROWデコーダ54の出力に対応して8つの
バンクに分かれている。メモリ51は、横方向に並らぶ
l連のレジスタ群(RO〜R7)で1バンクを形成して
いる。バンクポインタ53に任意のバンク番号(0〜7
)を設定すると、その出力は行デコーダ54へ入力され
1行デコーダはこれをデコードし、設定されたバンク番
号に対応する出力信号を1本、有効な状態に遷移させる
。これによシ、メモリの、8バンクの内の1バンクが選
択さ、れ、その選択されたバンク内の全てのレジスタ(
ROS−RF)は、それぞれ専用のメモリバス52を通
じてマルチプレクサ56へ接続される。この時1選択さ
れていないバンクの各レジスタは電気的に、メモリバス
52から絶縁されている。
Number of banks: 8. Number of registers in each bank8. It has a 7472 register circuit with each register length being 8 pits and the number of registers that can be accessed at the same time being 2. In this example, the lead,
A writable memory 51, a bank pointer (3 bits) that holds the bank number, and an RO that decodes its output.
The memory 51 is divided into eight banks corresponding to the outputs of the ROW decoder 54. The memory 51 forms one bank with l series of register groups (RO to R7) arranged in the horizontal direction. Set any bank number (0 to 7) to the bank pointer 53.
), its output is input to the row decoder 54, which decodes it and causes one output signal corresponding to the set bank number to transition to a valid state. This selects one of the eight banks of memory, and all registers in that selected bank (
ROS-RF) are each connected to a multiplexer 56 through a dedicated memory bus 52. At this time, each register of the bank that is not selected is electrically isolated from the memory bus 52.

又1本例において1図のマルチプレクサ56はレジスタ
番号を保持するレジスタポインタ55−1(3ピツト)
、これとは独立にレジスタ番号を保持するレジスタポイ
ンタ5B−2(3ビy))K接続されておシ、2つのレ
ジスタポインタの出力に応じてメモリバス52の選択を
行なう、レジスタポインタ55−1によって選択された
メモリバスは。
Also, in this example, the multiplexer 56 in Figure 1 is a register pointer 55-1 (3 pits) that holds a register number.
, a register pointer 5B-2 (3B-y)) that independently holds the register number, and a register pointer 55-2 that selects the memory bus 52 according to the outputs of the two register pointers. The memory bus selected by 1 is.

データバス57−1と、レジスタポインタ55−、? 
Kよって選択されたメモリバス52は、データバス57
−2とマルチプレクサを通して接続される。図の様にメ
そリパス(MB、o〜MB、、)は各々レジスタ番号と
l対lに対応しており、前記の様に、メモリバスがマル
チプレクサ55を通して、r−タパス(デーfii4:
X!IT−ISf”  fi’4ス5l−2)と接続さ
れることによシ、各レジスタのリード、ライトが行なわ
れる。
Data bus 57-1 and register pointer 55-, ?
The memory bus 52 selected by K is the data bus 57.
-2 through a multiplexer. As shown in the figure, the meso-repaths (MB, o to MB, .
X! By being connected to the IT-ISf"fi'4 bus 5l-2), reading and writing of each register is performed.

つまシリード時には、バンクポインタ53で1行のバン
クが選ばれて、そのバンクのレジスタRO〜B7までの
データがメモリバス52tlC出力される。その出力の
うち、レジスタポインタ5s−i 。
At the time of serial read, one row of bank is selected by the bank pointer 53, and the data from registers RO to B7 of that bank is outputted to the memory bus 52tlC. Among its outputs, register pointer 5s-i.

55−2によル指定され九ものが、マルチプレクサj6
を介してデータバス5F−1,51−;2へ出力される
The nine specified by 55-2 are multiplexer j6
The signals are outputted to data buses 5F-1, 51-;2 via .

一方ライト時には、レジスタポインタ55−J 。On the other hand, at the time of writing, the register pointer 55-J.

55−2で任意数(この例では轟然2つ)のレジスタを
選び、バンクポインタ53で任意(この例では当然1つ
)のバンクを指定して、この指定されたバンクの2つの
レジスタRKf−メを書き込めばよい。
55-2 selects an arbitrary number of registers (two in this example), specifies an arbitrary bank (naturally one in this example) with the bank pointer 53, and selects the two registers RKf- of the specified bank. All you have to do is write a mail.

以上の様に1本実施例の回路では、−度しジスタボイン
タを設定すると、メモリ51中の1バンク分の8つのレ
ジスタが、常時ROWデコーダ54によシ選択されてお
シ、メモリバスを経由してマルチプレクサと接続されて
いる。従がって、バンク内のレジスタのリード、ライト
hg:意のレジスタ番号をレジスタポインタに設定する
のみでよく、2のレジスタポインタ55−1.554に
独立してレジスタ番号を設定する事によシ、同時に、2
つの異なるレジスタをアクセスする事もできる。
As described above, in the circuit of this embodiment, when the register register is set every time, the eight registers for one bank in the memory 51 are always selected by the ROW decoder 54, and the registers are connected via the memory bus. and connected with a multiplexer. Therefore, reading and writing registers in the bank only requires setting the desired register number in the register pointer. Shi, at the same time, 2
It is also possible to access two different registers.

本例では、バンク数8.バンク内のレジスタ数8、各L
/シスタ畏8ピット、同時にアクセスできるレジスタ数
2としたが、これに限定する必要はなく、バンクポイン
タ長、レジスタポインタ数。
In this example, the number of banks is 8. Number of registers in bank: 8, each L
/Sistor 8 pits, the number of registers that can be accessed simultaneously is 2, but there is no need to limit it to this, and the bank pointer length and the number of register pointers.

マルチブレフサ等t−変える事によシ任意のレジスタバ
ンク回路を構成する事ができる。
Any register bank circuit can be constructed by changing the multi-branch register, etc.

又、更に第1図(5)中のレジスタバンク51が第7図
のようなレジスタモデルで構成されている場合を例とし
て1本発明のレジスタバンクの構成例を説明する。
Furthermore, an example of the structure of the register bank of the present invention will be explained by taking as an example the case where the register bank 51 in FIG. 1(5) is configured by a register model as shown in FIG. 7.

第7図(A) 、 (B)は、レジスタモデルを示して
いる。
FIGS. 7(A) and 7(B) show the register model.

各レジスタRは、lデータを記憶する最小単位の構成が
101であるピットo(bo)からビットn(bn)t
でのn+lビットで構成されている。
Each register R has a minimum unit configuration of 101 for storing l data, from pit o (bo) to bit n (bn) t.
It consists of n+l bits.

そのレジスタRがROからRkまでのに+1本で1つの
レジスタバンクを構成する。また、そのレジスタバンク
がBANK OからBANK mまでのm+1バンクで
構成されているレジスタモデルである。例えば4ピツト
のレジスタモデルであれば各レジスタは4ピツトごとに
信号が扱われ、さらにその後のセレクタ、データバス等
も4ピツトに対応し九回路構成が適用されるが1本願の
レジスタは任意のビット数に対して適用が可能である。
The number of registers R from RO to Rk constitutes one register bank. Further, this is a register model in which the register bank is composed of m+1 banks from BANK O to BANK m. For example, in a 4-pit register model, signals are handled every 4 pits in each register, and the subsequent selectors, data buses, etc. also correspond to 4 pits and a nine-circuit configuration is applied, but the single register in this application can handle arbitrary signals. It can be applied to the number of bits.

これらのビット数を1デ一タ処理単位ビット数”と呼ぶ
と。
The number of bits is called the number of bits per data processing unit.

第7図の1つのBANKは、データ処理単位ビット数の
最小レジスタ101で構成されている。つtb。
One BANK in FIG. 7 is composed of registers 101 having the minimum number of bits per data processing unit. Tsutb.

そのレジスタが8ピツト用であれば、ひとつのレジスタ
は8つの最小レジスタノ01で構成されている。このレ
ジスタBが複数個構成されてl t4ンク(BANK 
)を形成している。
If the register is for 8 pits, one register is made up of eight minimum registers 01. A plurality of registers B are configured and
) is formed.

レジスタ/4ンク内の各レジスタは第8図、第9図の例
に示すように、同じレジスタ番号のレジスタを同じ列に
なるように配置する。
As shown in the examples of FIGS. 8 and 9, each register in the register/4 link is arranged such that registers having the same register number are arranged in the same column.

また、第1O図の例のように、レジスタ内の各ビットz
oxFi、レジスタ番号の同じビットが列方向に重なる
ように配置される。なお、各ピット列にはプリチャージ
回路PRとセンス回路SAが1列に1対配置される。
Also, as in the example in Figure 1O, each bit z in the register
oxFi, bits of the same register number are arranged so as to overlap in the column direction. Note that in each pit column, one pair of precharge circuit PR and one pair of sense circuit SA are arranged in one column.

第11図は、これらのセルCILL、PRMびに8人の
詳細回路例である。CB及びその反転信号であるCBは
セル列のビットパスである。BSはセルの行選択信号で
1Lこの信号がハイレベルの時にセルが選択されること
になる。PRCはツリチャージ回路の制御信号であり、
この信号がローレベルの時にビットパスCB、CBをプ
リチャージしてハイレベルに設定する。8NS及びSN
Sはセンス回路の制御信号であり、 8NBがノ1イレ
ペルBNBがローレベルの時にビットパスの状態を1選
択されているセルが保持しているr−タに確保させる。
FIG. 11 shows a detailed circuit example of these cells CILL, PRM, and eight cells. CB and its inverted signal CB are bit paths of the cell string. BS is a cell row selection signal 1L. When this signal is at a high level, a cell is selected. PRC is a control signal for the tree charge circuit,
When this signal is at low level, bit paths CB and CB are precharged and set to high level. 8NS and SN
S is a control signal for the sense circuit, and when 8NB is at a low level and BNB is at a low level, the state of the bit path is secured in the r-ta held by the selected cell.

BBは各ビットの読みだしデータ信号線であり。BB is a read data signal line for each bit.

この信号の状態が読みだしされたデータの1ビツトに対
応する。また1図中のvddは電源である。
The state of this signal corresponds to one bit of read data. Further, vdd in FIG. 1 is a power supply.

データを直接電荷として記憶するためのCELLは、ピ
ット線対CB、CBと、その一端がビット線CBに接続
されダートが行選択信号線USに接続された第1FET
JJJと、この第1FETIJJの他端にその一端を接
続され九第1インバータ113と、この第1FETJJ
Jの他端にその一端を接続さた第2インバータ114と
、この第1インバータ11Bの他端と第2インバータ1
14の他端にその一端を接続され、その他端に賜う一方
のビットI!ACBが接続され、ダートが行選択信号線
B、に接続された第2FETJJJとからなっている。
A CELL for directly storing data as charges is a pit line pair CB, CB, and a first FET whose one end is connected to the bit line CB and whose dart is connected to the row selection signal line US.
JJJ, one end of which is connected to the other end of this first FETIJJ, a ninth inverter 113, and this first FETJJ
A second inverter 114 whose one end is connected to the other end of J, and the other end of this first inverter 11B and the second inverter 1
One end is connected to the other end of 14, and one bit I! ACB is connected to the second FET JJJ, and dart is connected to the row selection signal line B.

又、正電位を供給する回路、ノリチャージ回路PRは、
正電位電源Vddと、ピット線対CB。
In addition, the circuit that supplies a positive potential, the NoriCharge circuit PR, is
Positive potential power supply Vdd and pit line pair CB.

CBと、このビット線CBにその一端が接続され。CB and one end thereof is connected to this bit line CB.

正電位電源Vddにその他端が接続され丸部1 FET
115と、もう一方のピッ)aCBにその一端が接続さ
れ、正電位電源Vddにその他端が接続され丸部2 F
ET J J 6とからなっている。また第1FET 
715と第2 FET I J 6のダートは、プリチ
ャージ信号PRCに接続されている。
The other end is connected to the positive potential power supply Vdd, and the round part 1 FET
115, and the other end is connected to the other pin aCB, and the other end is connected to the positive potential power supply Vdd, and the round part 2F
It consists of ET J J 6. Also, the first FET
715 and the dart of the second FET IJ6 are connected to the precharge signal PRC.

そして、ビット線CB、CBの電位を確定させるセンス
アンプは、正電位電源Vddと、ピット線対CB、CB
と、ビット線CMに一端が接続された第1 FIT J
 17と%第1 FET 117の他端がその一端に接
続され、もう一方のビット線CBにその他端が接続され
、ビット線CBにそのr−)が接続された第2 FET
 J J jと、ビット線CBに一端が接続され、第1
 FET J J 7のr−)ともう−方のピッ)#C
BEそのf−)が接続され九#l3FET 119と、
第3FET119の他端にその一端が接続され、もう一
方のビット線CBにその他端が接続され、第2 FET
 71 Bのダートにそのダートが接続され丸部4FE
T120と、正電位電源Vddに一端が接続され、第1
FETJJ7の他端にその他端が接続され、制御信号S
NSがダートに供給された第5FET J j Jと、
第4FET120の一端に接続され、接地電位にその他
端が接続され、制御信号8NSがr−トに接続されてい
る第6FET1jjとからなる。
The sense amplifier that determines the potential of the bit lines CB and CB connects the positive potential power supply Vdd and the pit line pair CB and CB.
and the first FIT J whose one end is connected to the bit line CM
17 and % The other end of the first FET 117 is connected to its one end, the other end is connected to the other bit line CB, and the second FET whose r-) is connected to the bit line CB.
J J j and one end are connected to the bit line CB, and the first
FET J J 7 r-) and other pin) #C
BE sono f-) is connected to 9#l3FET 119,
One end is connected to the other end of the third FET 119, the other end is connected to the other bit line CB, and the second FET
71 The dart is connected to the dart of B and the round part 4FE
T120, one end is connected to the positive potential power supply Vdd, and the first
The other end is connected to the other end of FETJJ7, and the control signal S
5th FET J j J to which NS is supplied to Dart;
The sixth FET 1jj is connected to one end of the fourth FET 120, the other end is connected to the ground potential, and the control signal 8NS is connected to r-t.

第12図は、第1図のレジスタポインタRP 1 。FIG. 12 shows register pointer RP1 in FIG.

RPj、 RPJ、RPJの詳細回路例である。第1図
(5)の例においては、データバスDBxとDBFと次
の信号線IRQX 、 IRGy 、 0RGx 、 
0RGyの内の一つとの3人力となっているため1通常
のラッチ回路の入力に3人カマルチグレクサが付加され
たものとなっている。この第12図のL3gという回路
ブロックが必要ビット数だけならべられることになる。
This is a detailed circuit example of RPj, RPJ, and RPJ. In the example of FIG. 1 (5), data buses DBx and DBF and the next signal lines IRQX, IRGy, 0RGx,
Since it is powered by three people with one of the 0RGy, a three-person multiplexer is added to the input of one normal latch circuit. This circuit block L3g in FIG. 12 is arranged in the required number of bits.

つ14)、1バンク内のレジスタ本数8本であるならば
3ビツトとな如、16本であるならば4ビツトとなる。
14) If the number of registers in one bank is 8, it is 3 bits, and if there are 16 registers, it is 4 bits.

第12図中のSEL 3は三つの入力のうちのどれかを
選択するかを指定する選択信号である。
SEL 3 in FIG. 12 is a selection signal that specifies which of the three inputs to select.

この信号がハイレベルになったとζろに対応する入力カ
レジスタポインタへの入力となる。LRはレジスタポイ
ンタのレジスタ番号設定信号である。
When this signal becomes high level, it becomes input to the input register pointer corresponding to ζ. LR is a register number setting signal of a register pointer.

LRがローレベルになると入力のデータを取込み。When LR becomes low level, input data is taken in.

ハイレベルになったときそのデータを保持することにな
る。第12図中の入力信号であるDBx OからDBx
nが第1図(5)におけるDBxデータバスヲ意味し、
DB)FOからDBynは第1図体)におけるDB7デ
ータパスを意味しており、l10RGiOからl10R
GiJは第1回内における信号線IRGx 、 IRG
y 、 ORJ:ix。
When the level becomes high, the data will be retained. The input signal in Fig. 12 is DBx O to DBx
n means DBx data bus in FIG. 1 (5),
DB) FO to DByn means the DB7 data path in the first figure), and from l10RGiO to l10R
GiJ is the signal line IRGx, IRG in the first round
y, ORJ:ix.

oRayを意味している。 RPOOからRPOjはレ
ジスタポインタからの出力であプ、第1図体)における
信号線RPOIX 、 RPO2x 、 RPO3x 
、 RPO4xを意味している。
It means oRay. RPOO to RPOj are the outputs from the register pointer, and the signal lines RPOIX, RPO2x, RPO3x in the first figure)
, meaning RPO4x.

第19図にレジスタポインタの更新のタイミング例を示
す、この例はI RG!上のレジスタ番号”01”(1
6進数)t−RPJに取り込み、レジスタ選択信号(R
80からR8k)が変化するまでのタイミングを表して
いる。
FIG. 19 shows an example of the timing of updating the register pointer. The upper register number “01” (1
(hex) t-RPJ and register selection signal (R
80 to R8k).

第13図は、第1回内におけるライトセレクタWBEL
56−Wの詳細回路例である。レジスタポインタRP3
 、 RPJの出力のRPO30からRPO3JとRP
O4QからRPO4Jを入力しデコーダRP3DECお
よびRP4DKCでデコードし、書き込みを行うレジス
タに対応した選択信号R830x 、 R831! 、
 R840F。
Figure 13 shows the write selector WBEL in the first
56-W is a detailed circuit example. Register pointer RP3
, RPJ output RPO30 to RPO3J and RP
RPO4J is input from O4Q, decoded by decoders RP3DEC and RP4DKC, and selection signals R830x, R831! corresponding to the registers to be written are generated. ,
R840F.

RI941F 、・・・・・・・・・を生成する。第1
図(4)の例ではDBXとDBFの二つのデータバスか
らの書き込みデータ経路があるため、それぞれに対応し
た書き込み信号WRx 、 WRyがあシ、レジスタ選
択信号と組み合わせられて実際の書き込み信号となる。
RI941F, ...... is generated. 1st
In the example in Figure (4), there are write data paths from two data buses, DBX and DBF, so the corresponding write signals WRx and WRy are combined with the register selection signal to become the actual write signal. .

この書き込み信号はレジスタ単位で共通に接続されてお
り、一つの書き込み信号によシーつのレジスタのすべて
のピットに書き込みが行われる。また。
This write signal is commonly connected for each register, and one write signal writes to all pits of one register. Also.

ライトセレクタWBEL部の構成要素であるSOはデー
タバスDBxとDBFに接続されておシ、それらのどち
らかを選択するかは書き込み信号によシ決定される。
SO, which is a component of the write selector WBEL section, is connected to data buses DBx and DBF, and whether one of them is selected is determined by the write signal.

ζこで、データバスDBx上のデータをレジスタROK
Iき込む場合を例にとると1次のような動作となる。レ
ジスタポインタRP3にROに対応したレジスタ番号を
設定する。このRP3の出力をRP3DECによシブコ
ードすることによりR830に信号がハイレベルとなシ
、それ以外の選択信号R831!。
ζNow, the data on the data bus DBx is transferred to the register ROK.
Taking I input as an example, the operation is as follows. A register number corresponding to RO is set in register pointer RP3. The output of this RP3 is encoded by the RP3DEC, so that the signal to R830 becomes high level, and the other selection signal R831! .

・・・・・・は、ローレベルとなる。ここでデータバス
DBx側の書き込み信号WRxがハイレベルとなるとN
ANDQの出力のみがローレベルとなる。このNAND
Oの出力につながれているR(>に対応したSOブロッ
クのDBx側のバッファがアクティブとなり、DBF上
のデータがそれぞれのビットに対応したビットパスCB
OO,CBOl、・・・・・・、CBQnに供給され、
それぞれのデータの反転信号がビットパスCBOO、C
BOI 、=・、 CBOnに供給される。この時。
...is a low level. Here, when the write signal WRx on the data bus DBx side becomes high level, N
Only the output of ANDQ becomes low level. This NAND
The buffer on the DBx side of the SO block corresponding to R(> connected to the output of O becomes active, and the data on the DBF is transferred to the bit path CB corresponding to each bit.
OO, CBOl, ......, supplied to CBQn,
The inverted signals of each data are bit paths CBOO, C
BOI,=., is supplied to CBOn. At this time.

他のレジスタ番号に対応したビットパスは何も影響を受
けないことになる。セル部分においてはいずれかのレジ
スタバンクに対応し7’h1行のセルの選択信号(BS
)はハイレベルとなりておシ、グリチャージ回路PRと
センス回路8Aは非アクティブとなっている。このよう
な状態でROの各ピットに対応したビットパス上にDB
xのデータが強制的に供給されるので1選択されている
セル中のROに対応したビットのセルはビットパス上の
データを書き込まれてしまうことになる。それ以外のセ
ルにおいてはビットパスの状態が変わらない為、何も変
化は起こらない、書き込みに必要な時間が経過すると、
苗り信号はローレベルとなシ。
Bit paths corresponding to other register numbers will not be affected in any way. In the cell part, a selection signal (BS
) is at a high level, and the grid charge circuit PR and sense circuit 8A are inactive. In this state, DB is placed on the bit path corresponding to each pit of RO.
Since the x data is forcibly supplied, the data on the bit path will be written to the cell of the bit corresponding to RO among the selected cells. In other cells, the state of the bit path does not change, so nothing changes. After the time required for writing has elapsed,
The seedling signal is low level.

いままでDBx上のデータをビットパスに・供給してい
たW8KLoROに対応し九SOは非アクティブと邊る
41ROK対応したビットパスは書き込まれたデータを
保持し、あたかも読み出しが行われたのと同じ状態にな
る。
The bit path corresponding to 41ROK, which corresponds to W8KLoRO, which has been supplying the data on DBx to the bit path, is inactive, but the bit path corresponding to 41ROK retains the written data, and it is in the same state as if it had been read. Become.

このようにして、レジスタへの書き込みが行われる。し
たがって、既成のRAMt−用いた場合のように書き込
みアドレスに対応したデコーダの設定やビットパスのプ
リチャージ動作等は一切不要でToシ、さらに書き込み
動作後の再読み出し要求に対しても何も動作を必要とし
ないで済むことになる。
In this way, writing to the register is performed. Therefore, there is no need to set up a decoder corresponding to the write address or precharge the bit path, which is required when using an existing RAM, and there is no need to perform any operations in response to a reread request after a write operation. You won't need it.

第21図にROK DBx上のデータ″55”(16進
数)と、R1にDBF上のデータ”AA”(16進数)
を同時に書き込むときのタイミング例を示す。
Figure 21 shows data “55” (hexadecimal) on ROK DBx and data “AA” (hexadecimal) on DBF in R1.
An example of the timing when writing simultaneously is shown below.

第14図社第1図囚におけるリードセレクメR8KL 
5 g −Rの詳細回路例である。レジスタポインタR
PO、RPIの出力のRPOIOからRPOljとRP
O2jを入力としたデコーダRPIDECとRP2DE
Cにより。
Lead selection R8KL in figure 14 company figure 1 prisoner
This is a detailed circuit example of 5g-R. register pointer R
RPOlj and RP from RPOIO of PO, RPI output
Decoders RPIDEC and RP2DE with O2j as input
By C.

レジスタ選択信号R810X 、 R811x 、 R
820x 。
Register selection signal R810X, R811x, R
820x.

R821y 、・・・・・・・・・が生成される。第1
回置の例ではデータバスDBxとDBFの二つの読みだ
しデータ経路がある丸め、それぞれに対応したDBx側
への読みだし信号RDx <!: DBy側への読みだ
し信号RI)Fとが組み合わされて1選択レジスタの実
際の読みだし信号となる。この読みだし信号はレジスタ
単位で共通に接続されておシ、一つの読みだし信号によ
り一つのレジスタのすべてのピットの読みだしが行われ
る。また、リードセレクメR8EL部の構成要素である
S!は各レジスタの読みだしデータ信号線BBOO、B
BOI 、・・・・・・・・・を入力としてDBzデー
タバスとDB7データバスへ選択出力を行うようになっ
ている。読みだし動作といっても%あるレジスタのすべ
てのピットのデータが読み出されておシ。
R821y, . . . are generated. 1st
In the rotation example, there are two read data paths, data buses DBx and DBF, and the corresponding read signals RDx to the DBx side are RDx <! : It is combined with the read signal RI)F to the DBy side and becomes the actual read signal of the 1 selection register. This readout signal is commonly connected in register units, and one readout signal reads out all the pits of one register. In addition, S! which is a component of the lead selection R8EL part! are the read data signal lines BBOO and B of each register.
BOI, . . . are used as inputs to selectively output to the DBz data bus and DB7 data bus. Even though it is a read operation, the data in all the pits of a certain register is read out.

8Iの入力としてすでに供給され続けている。したがっ
て、読み出しを行いたいレジスタに対応したレジスタ番
号をレジスタポインタに設定して。
It is already being supplied as an input to 8I. Therefore, set the register number corresponding to the register you want to read in the register pointer.

読み出し信号を印加することによシセレクタ回路SIか
ら所望のデータバスDBx 、DByに即座にデータが
出力されることになる。
By applying the read signal, data is immediately outputted from the selector circuit SI to the desired data buses DBx and DBy.

このように本願のレジスタは、アクセスタイムを必要と
されるのは、レジスタバンクの切シ替工時点においての
みであり、この動作においてはアクセスタイムは問題に
ならない長さである。
As described above, the register of the present invention requires access time only at the time of register bank switching, and the access time is long enough to cause no problem in this operation.

第20図にレジスタROとR1の内容t−DBxとDB
3Fに同時に読み出すときのタイミング例を示す。
Figure 20 shows the contents of registers RO and R1, t-DBx and DB.
An example of the timing when simultaneously reading 3F is shown.

この回路構成を採用することで高速な動作を必要とし、
なおかつ、書き込み後の再読み出しを必要とするレジス
タを容易な構成で実現することが可能となっている。
By adopting this circuit configuration, high-speed operation is required,
Furthermore, it is possible to realize a register that requires rereading after writing with a simple configuration.

第15図はレジスタポインタの出力からレジスタ選択信
号を生成するデコーダRPIDEC、RP2DEC。
FIG. 15 shows decoders RPIDEC and RP2DEC that generate register selection signals from register pointer outputs.

RP3DECおよびRP4DECの詳細回路例である。This is a detailed circuit example of RP3DEC and RP4DEC.

レジスタポインタが3ビツトであるならば8イ固のNA
ND −N07回路で構成され、4ビツトであるならば
16個のNAND −N07回路で構成される。
If the register pointer is 3 bits, the NA is 8.
It is composed of ND-N07 circuits, and if it is 4 bits, it is composed of 16 NAND-N07 circuits.

第16図は、バンクポインタBPの詳細回路例である。FIG. 16 is a detailed circuit example of the bank pointer BP.

第1図体)の例においては、バンクポインタはデータ・
量スDBxとDB3Fの二つの入力を持っているため1
通常のラッチ回路の入力の所に2人力のマルチブレフサ
が付加されている。このマルチブレフサの選択信号が8
EL 2である。バンクポインタのラッチ信号はLBで
あり、LBがローレベルの時KDBxもしくはDBF上
のデータをマルチブレフサ経由で入力し、ハイレベルに
なりた時にそのデータを保持することになる。npoo
からBPO1はバンクポインタの出力信号であり、第1
図(5))中のBPOx を意味している。レジスタバ
ンク数が8バンクの場合は3ビツトでレジスタポインタ
が構成され、16バンクの場合は4ビツトで構成される
In the example shown in figure 1), the bank pointer is the data pointer.
1 because it has two inputs: DBx and DB3F.
A two-man power multi-breather is added at the input of a normal latch circuit. The selection signal of this multi-breather is 8
It is EL2. The latch signal of the bank pointer is LB, and when LB is at low level, the data on KDBx or DBF is inputted via the multi-breather, and when it becomes high level, the data is held. npoo
, BPO1 is the output signal of the bank pointer, and the first
This means BPOx in Figure (5)). When the number of register banks is 8, the register pointer is composed of 3 bits, and when there are 16 banks, it is composed of 4 bits.

第17図は第1図(5)中のデコーダDECの詳細回路
例である。バンクポインタBPの出力信号であるBPO
OからBPOI f:入力しバンク選択信号(Booか
らBSm )を生成するデコーダ回路である。バンク選
択信号はレジスタバンク51の行選択信号B8に接続さ
れ、バンクポインタによってレジスタバンク51の1行
のセルが選択されるようになっている。
FIG. 17 is a detailed circuit example of the decoder DEC in FIG. 1 (5). BPO which is the output signal of bank pointer BP
O to BPOI f: A decoder circuit that receives input and generates a bank selection signal (Boo to BSm). The bank selection signal is connected to the row selection signal B8 of the register bank 51, so that a cell in one row of the register bank 51 is selected by the bank pointer.

DI8 信号Sはバンクポインタの切シ替わシ時点でバ
ンク選択信号が不安定な状態になるため、その期間中は
いずれの選択信号も非アクティブにしておくための、バ
ンク選択糸上信号である。
The DI8 signal S is a bank selection threading signal for keeping any selection signal inactive during the period when the bank pointer is switched, since the bank selection signal becomes unstable.

第18図にレジスタバンク切り替えタイミング例を示す
。この例では、DBxデータバス上の’01″(16進
数)というデータを取シ込むことによって、レジスタバ
ンクI’?:選択し、そのレジスタバンク1のすべての
レジスタのすべてのデータビットを読み出すまでのタイ
ミングを示している。
FIG. 18 shows an example of register bank switching timing. In this example, register bank I'?: is selected by inputting data '01'' (hexadecimal number) on the DBx data bus until all data bits of all registers of that register bank 1 are read. It shows the timing.

バンクポインタへのデータラッチ信号(LB)がアクテ
ィブになり九ときには、その期間中バンク選択信号を禁
止する為にDIS信号がアクティブとなる。また、この
期間を利用してレジスタバンク51内のピットパスをプ
リチャージする九めにPRC信号ノfルスが生成される
。これは、新規に選択されるレジスタバンク51上のセ
ルのデータが破壊されないために必要となる。ラッチ信
号(LB)が非アクティブになると、バンク選択禁止信
号(0119)も非アクティブとなシ、レジスタバンク
1の選択信号(1191)だけがハイレベルとなる。
When the data latch signal (LB) to the bank pointer becomes active, the DIS signal becomes active to inhibit the bank selection signal during that period. Further, a PRC signal NOFUS is generated using this period to precharge the pit path in the register bank 51. This is necessary so that data in cells on the newly selected register bank 51 will not be destroyed. When the latch signal (LB) becomes inactive, the bank selection prohibition signal (0119) also becomes inactive, and only the register bank 1 selection signal (1191) becomes high level.

この選択信号によりレジスタバンク51に対応したセル
ー行が選択され、各々のセルに接続されたビットパスを
セルのデータで駆動し始め、その後センス回路(SA)
′t−働かせるためにSN3.8NS信号パルスを印加
する。センス回路(SA)が働くと、レジスタバンク5
ノ内のビットパス上のデータはそれぞれの状態に確定さ
れる。
This selection signal selects the cell row corresponding to the register bank 51, starts driving the bit path connected to each cell with the data of the cell, and then the sense circuit (SA)
't-Apply SN3.8NS signal pulse to work. When the sense circuit (SA) operates, register bank 5
The data on the bit paths within the bit path are determined to their respective states.

このようにして、レジスタバンクの切り替えとその切り
替えられたレジスタバンク内のすべてのレジスタのすべ
てのビットのデータが読み出され。
In this way, register bank switching and the data of all bits of all registers in the switched register bank are read.

読みだしデータ信号MACB B ”)t−経由してリ
ードセレクタR8EL回路の入力に供給されることにな
る。
The read data signal MACB B'') is supplied to the input of the read selector R8EL circuit via t-.

レジスタバンク51内のノリチャージ回路(PR)トセ
ンx回路(SA)はレジスタバンク切〕替え時に働き、
レジスタの読みだし動作や81!込み動作においては働
かないよう罠なっている。
The charge circuit (PR) and the sensor circuit (SA) in the register bank 51 operate at the time of register bank switching.
Register read operation and 81! It is a trap so that it does not work in the input operation.

以上の本発明の詳細な説明においても明らかなように本
発明によって、既成のRAM t−用いたときに必要と
されるアドレス動作を必要としないでデータをアクセス
できるため、レジスタラッチと同様に高速なアクセスが
可能であり、大容量であるにもかかわらず回路規模の小
さいレジスタバンク回路を容易にかつ安価に作成できる
こととなる。
As is clear from the above detailed description of the present invention, the present invention allows data to be accessed without requiring the address operation required when using an off-the-shelf RAM. This makes it possible to easily and inexpensively create a register bank circuit with a small circuit scale despite its large capacity.

[発明の効果コ 従来の第3図の方式では、レジスタとしてRAM t″
使用、バンク番号及びレジスタ番号から1つのアドレス
を生成して、レジスタをアクセスするようにしていたた
め、同じバンク内のレジスタでも毎回レジスタをアクセ
ス毎に、前記アドレスを与え直さざる得なかった。ま九
原理的に、−回に1つのレジスタしかアクセスする事が
できなかった。
[Effects of the Invention] In the conventional system shown in FIG.
Since one address is generated from the bank number and register number to access the register, the address has to be given again every time the register is accessed, even if it is in the same bank. In principle, only one register could be accessed at a time.

これに対し本発明はバンク番号のデコード信号によシ、
1バンク分の全てのレジスタを選択できるため、バンク
内のレジスタをアクセスする時には、レジスタ番号によ
ってマルチプレクサ等のレジスタ選択手段を切シ換える
だけであるので、バンク番号が切シ換わるまでメモリの
選択をしなおす必要がなくなる。又、マルチプレク?を
複数用意することによって、複数のレジスタ番号を指定
する事も可能で、これによシー度で複数のレジスタのア
クセスが可能となる。このことによシ、レジスタのアク
セス毎のアクセスタイムは不要となシ、バンクが切り替
った時のみアクセスタイムが存在することになるので高
速なアクセスが可能となる。
In contrast, the present invention uses a bank number decode signal to
All registers for one bank can be selected, so when accessing registers in a bank, all you have to do is switch the register selection means such as a multiplexer depending on the register number, so you can select the memory until the bank number is switched. There is no need to redo it. Also, multiplex? By providing multiple register numbers, it is possible to specify multiple register numbers, and this allows access to multiple registers at the same time. This eliminates the need for access time for each access to the register, and allows for high-speed access since there is an access time only when banks are switched.

ま次、従来の第4図〜第6図の方式では、レジスタラッ
チによってレジスタを形成するため1回路規模が大きく
なりたり、デコーダの出力本数も多くなるため、集積回
路で実現する際紘面積が非常に大きくなる欠点を有して
いた。又、レジスタ数やバンク数の増減に対しても1回
路規模の大きなデコーダの設計変更を必要とし、柔軟性
はなかつ九。
Next, in the conventional systems shown in Figures 4 to 6, the registers are formed using register latches, which increases the size of each circuit and increases the number of outputs of the decoder. It had a very large drawback. Furthermore, the design of the decoder, which is a large circuit, must be changed in response to an increase or decrease in the number of registers or banks, resulting in poor flexibility.

これに対し本発明は、マイクログロセッサ内のレジスタ
として好適でデコーダ、マルチプレクサ等も小さなもの
で済む。又、レジスタ数の増減も。
In contrast, the present invention is suitable for use as a register in a microgrocer, and requires only small decoders, multiplexers, etc. Also, the number of registers can be increased or decreased.

主として1回路の小規模なデコーダとメモリの増減のみ
で済むため柔軟性に富む。
It is highly flexible because it only requires one small-scale decoder circuit and an increase or decrease in memory.

以上のように本発明は1回路規模、高速性、レジスタ数
の柔軟性に富むレジスタバンク回路を容易にしかも安価
に実現できることになる。特にマイクログ目セッサ、集
積回路に組み込むと、チッ7″面積の専有率やシステム
能力等において、その実力を充分に発揮し、コストパフ
ォーマンスの良い優れたものが実現できる。
As described above, according to the present invention, a register bank circuit having a single circuit scale, high speed, and high flexibility in the number of registers can be easily realized at low cost. In particular, when it is incorporated into a microprocessor or integrated circuit, it can fully demonstrate its capabilities in terms of chip area occupation rate, system capacity, etc., and can realize an excellent product with good cost performance.

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

第1図は本発明の実施例の構成図、第2図は構成の一部
詳細図、#!3図ないし第6図は本発明が適用されない
レジスタバンク回路図、第7図はレジスタの構造を示す
概念図、第8図はレジスタバンク配置例を示す概念図、
第9図はレジスタ配置列を示した概念図、第1θ図はビ
ット配置列を示す概念図、811図ないし第17図は上
記実施例の各部詳細回路図、第18図ないし第21図社
同各部の動作を示すタイミングチャートである。 51・・・レジスタアレイ(レジスタバンクブロック)
、52・・・メモリバス、53・・・バンク番号保持手
段、54・・・デコーダ、55・・・レジスタ番号保持
手段、55−IW〜554B・・・バンク4インタ、5
6・・・レジスタ選択手段、 56−W・・・書き込み
側セレクタ、56−R・・・読み出し側セレクタ、 5
’i−1,57−2・・・データバス、61・・・デー
タバスインターフェース、62・・・アドレス発生器、
63・・・アドレスバスインターフェース、64・・・
命令バッファ、65・・・命令デコーダ、66・・・制
御信号発生ユニット。 67・・・算術論理演算ユニット、68・・・アドレス
バス、69・・・データバス。 第 図 第 図 第 図 第 図 第9 図 第18図 第191g
FIG. 1 is a configuration diagram of an embodiment of the present invention, FIG. 2 is a partially detailed diagram of the configuration, #! 3 to 6 are register bank circuit diagrams to which the present invention is not applied, FIG. 7 is a conceptual diagram showing the structure of a register, and FIG. 8 is a conceptual diagram showing an example of register bank arrangement.
Fig. 9 is a conceptual diagram showing a register arrangement sequence, Fig. 1θ is a conceptual diagram showing a bit arrangement sequence, Figs. 811 to 17 are detailed circuit diagrams of each part of the above embodiment, and Figs. 5 is a timing chart showing the operation of each part. 51...Register array (register bank block)
, 52... Memory bus, 53... Bank number holding means, 54... Decoder, 55... Register number holding means, 55-IW to 554B... Bank 4 inter, 5
6... Register selection means, 56-W... Write side selector, 56-R... Read side selector, 5
'i-1, 57-2...Data bus, 61...Data bus interface, 62...Address generator,
63...Address bus interface, 64...
Instruction buffer, 65... Instruction decoder, 66... Control signal generation unit. 67... Arithmetic logic unit, 68... Address bus, 69... Data bus. Figure Figure Figure Figure 9 Figure Figure 18 Figure 191g

Claims (2)

【特許請求の範囲】[Claims] (1)各行がそれぞれ複数ブロックのレジスタよりなる
バンクを構成し、各列がそれぞれ専用のメモリバスにつ
ながるリード、ライト可能なメモリによって構成された
レジスタアレイと、前記メモリ中の1バンク内の全ての
レジスタを選択するためのバンク選択手段を有すること
を特徴とするレジスタバンク回路。
(1) A register array in which each row constitutes a bank consisting of multiple blocks of registers, and each column constitutes a readable/writable memory connected to a dedicated memory bus, and all blocks in one bank in the memory. A register bank circuit comprising bank selection means for selecting a register.
(2)1つ以上のバンク番号を保持するバンク番号保持
手段と、そのバンク番号保持手段の出力により前記メモ
リ中の一連のデータ群を選択するための前記バンク選択
手段と、1つ以上のレジスタ番号を保持するレジスタ番
号保持手段と、そのレジスタ番号保持手段の出力により
前記一連のデータ群に対し1つ以上のレジスタのデータ
を選択するレジスタ選択手段とを具備することを特徴と
する請求項1に記載のレジスタバンク回路。
(2) bank number holding means for holding one or more bank numbers; said bank selection means for selecting a series of data groups in said memory based on the output of said bank number holding means; and one or more registers. Claim 1 characterized by comprising: register number holding means for holding a number; and register selection means for selecting data in one or more registers for the series of data groups based on the output of the register number holding means. The register bank circuit described in .
JP2003400A 1989-01-13 1990-01-12 Register bank circuit Expired - Lifetime JP2950427B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003400A JP2950427B2 (en) 1989-01-13 1990-01-12 Register bank circuit

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP743289 1989-01-13
JP1-7432 1989-01-13
JP2003400A JP2950427B2 (en) 1989-01-13 1990-01-12 Register bank circuit

Publications (2)

Publication Number Publication Date
JPH02277125A true JPH02277125A (en) 1990-11-13
JP2950427B2 JP2950427B2 (en) 1999-09-20

Family

ID=26336971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003400A Expired - Lifetime JP2950427B2 (en) 1989-01-13 1990-01-12 Register bank circuit

Country Status (1)

Country Link
JP (1) JP2950427B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004327483A (en) * 2003-04-21 2004-11-18 Renesas Technology Corp Semiconductor integrated circuit and circuit designing device
US7313768B2 (en) 2002-09-11 2007-12-25 Nec Electronics Corporation Register file and method for designing a register file

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5998387A (en) * 1982-11-26 1984-06-06 Nec Corp Memory circuit
JPS61292741A (en) * 1985-06-20 1986-12-23 Nec Corp General-purpose register

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5998387A (en) * 1982-11-26 1984-06-06 Nec Corp Memory circuit
JPS61292741A (en) * 1985-06-20 1986-12-23 Nec Corp General-purpose register

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313768B2 (en) 2002-09-11 2007-12-25 Nec Electronics Corporation Register file and method for designing a register file
JP2004327483A (en) * 2003-04-21 2004-11-18 Renesas Technology Corp Semiconductor integrated circuit and circuit designing device

Also Published As

Publication number Publication date
JP2950427B2 (en) 1999-09-20

Similar Documents

Publication Publication Date Title
JP2645529B2 (en) Semiconductor storage device with flash write function
US9959929B2 (en) Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same
JP2740063B2 (en) Semiconductor storage device
US6167487A (en) Multi-port RAM having functionally identical ports
JPH03286495A (en) Semiconductor device with built-in cache
JPH06208503A (en) Access execution method for memory controller and memory array
US6128244A (en) Method and apparatus for accessing one of a plurality of memory units within an electronic memory device
JPH077260B2 (en) Image data rotation processing apparatus and method thereof
JPH10506495A (en) Synchronous SRAM with memory expansion logic
US5588133A (en) Register block circuit for central processing unit of microcomputer
KR950014901B1 (en) Address decoder which variably selects multiple rows and/or columns and semiconductor memory device using same
JP3096362B2 (en) Serial access memory
JP3370092B2 (en) Serial access memory
US4733392A (en) Fail memory equipment in memory tester
GB2391336A (en) System for local memory addressing in single instruction multiple data computer system.
JP2000132966A (en) Semiconductor storage device
JPH02277125A (en) Register bank circuit
JP4215795B2 (en) Lookup table cascade circuit, lookup table cascade array circuit and pipeline control method thereof
JP3240897B2 (en) Semiconductor storage device
JPH03165399A (en) Multiplane random access memory device
JP2865712B2 (en) Semiconductor storage device
JP2535911B2 (en) Semiconductor memory device
JP3057728B2 (en) Semiconductor storage device
JPH03173995A (en) Multiport random access memory
KR20080029309A (en) Semiconductor memory device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080709

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100709

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100709

Year of fee payment: 11