JPH0619702A - Microcomputer computing element - Google Patents
Microcomputer computing elementInfo
- Publication number
- JPH0619702A JPH0619702A JP4195982A JP19598292A JPH0619702A JP H0619702 A JPH0619702 A JP H0619702A JP 4195982 A JP4195982 A JP 4195982A JP 19598292 A JP19598292 A JP 19598292A JP H0619702 A JPH0619702 A JP H0619702A
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic
- address
- register
- registers
- word length
- 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.)
- Pending
Links
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、マイクロコンピュータ
に関し、特に複数の語長を演算する複数の演算器を有す
るマイクロコンピュータに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microcomputer, and more particularly to a microcomputer having a plurality of calculators for calculating a plurality of word lengths.
【0002】[0002]
【従来の技術】従来この種のマイクロコンピュータは、
データの演算用の算術論理演算器と、アドレス演算用の
アドレス演算器を有している。特に、アトレス演算器
は、算術論理演算器の2つの入力データをメモリから転
送するために、少なくとも2つのアドレスを発生する事
ができるアドレス演算器を搭載している。2. Description of the Related Art Conventional microcomputers of this type are
It has an arithmetic and logic unit for data calculation and an address unit for address calculation. In particular, the attress arithmetic unit is equipped with an address arithmetic unit capable of generating at least two addresses in order to transfer the two input data of the arithmetic logic unit from the memory.
【0003】従来例を図3に示す。この例では1つの算
術論理演算器10と、レジスタファイル11と、2つの
独立したアドレス演算器12,13と、アドレス演算レ
ジスタファイル14とを有している。前記アドレス演算
レジスタファイル14は、2つのアドレス演算器のため
の1語長のレジスタdp0,dp1,dp2,dp3と
dn0,dn1,dn2,dn3の8本のレジスタを有
する。又、レジスタファイル11は、算術論理演算器の
為の1語長の8本のレジスタを有する。このレジスタ
は、r0Hとr0L,r1Hとr1L,r2Hとr2
L,r3Hとr3Lで2語長のレジスタペア構成を取っ
ており、算術演算器の演算の種類によって選択的に語長
を決定する事ができる。A conventional example is shown in FIG. In this example, it has one arithmetic logic operation unit 10, a register file 11, two independent address operation units 12 and 13, and an address operation register file 14. The address operation register file 14 has eight registers of one word length dp0, dp1, dp2, dp3 for two address operators and dn0, dn1, dn2, dn3. Further, the register file 11 has eight registers each having a word length for arithmetic and logic operation units. The registers are r0H and r0L, r1H and r1L, r2H and r2.
L, r3H, and r3L have a 2-word length register pair configuration, and the word length can be selectively determined depending on the type of operation of the arithmetic operation unit.
【0004】そして、算術論理演算器10とレジスタフ
ァイル11とはバス7〜9で相互に接続される。又、ア
ドレス演算器12,13とアドレス演算レジスタファイ
ル14とはバス1〜6で相互に接続される。更に、前記
各レジスタファイル11と14とはレジスタ間転送用バ
ス15で相互に接続されている。The arithmetic logic unit 10 and the register file 11 are connected to each other by buses 7-9. The address arithmetic units 12 and 13 and the address arithmetic register file 14 are connected to each other by buses 1 to 6. Further, the register files 11 and 14 are connected to each other by a register transfer bus 15.
【0005】この構成によれば、算術論理演算器10の
出力結果はレジスタファイル11に格納される。またア
ドレス演算器12,13の入出力はレジスタファイル1
4に限られている。そのため2つのレジスタファイル1
1と14のデータを転送して、算術論理演算器の演算結
果をアドレス演算に使えるようにするため、あるいはそ
の反対の目的のためにレジスタ転送用バス15が使用さ
れる。このレジスタ転送用バス15は1語長のビット幅
を持ち、レジスタファイル11と14の内のレジスタ全
ての間での転送が可能になっている。したがって、算術
論理演算器10での演算結果をアドレス演算器12,1
3でのアドレス演算に用いたい場合は、算術論理演算器
10の出力結果を一度レジスタファイル11に出力した
後、命令によってレジスタファイル11からレジスタフ
ァイル14にデータを転送し、その後アドレス演算器1
2,13においてアドレス演算を行うことになる。According to this structure, the output result of the arithmetic and logic unit 10 is stored in the register file 11. Input / output of the address calculators 12 and 13 is the register file 1
Limited to 4. So two register files 1
The register transfer bus 15 is used for transferring the data of 1 and 14 so that the operation result of the arithmetic logic unit can be used for the address operation, or vice versa. The register transfer bus 15 has a bit width of one word length, and transfer is possible between all the registers in the register files 11 and 14. Therefore, the operation result of the arithmetic logic operation unit 10 is calculated by the address operation units 12, 1
In order to use it for the address calculation in 3, the output result of the arithmetic and logic unit 10 is once output to the register file 11 and then data is transferred from the register file 11 to the register file 14 by an instruction, and then the address calculator 1
Address calculation is performed at 2 and 13.
【0006】[0006]
【発明が解決しようとする課題】上述した従来の構成で
は、算術論理演算器10が使用するレジスタ11と、ア
ドレス演算器12,13が使用するレジスタ14の種類
が異なる上に、算術論理演算器10での演算結果をアド
レスとして使用するときにはレジスタ転送バス15を通
してデータの転送を行わねばならず、処理時間の増大と
プログラム上の煩雑さを招き、しかも一時的に同一デー
タを保持する必要がある事から、余分なレジスタを必要
とし、ハードウェア上の資源が無駄になるという問題が
ある。本発明の目的は、処理時間を短縮し、かつレジス
タを削減することができるマイクロコンピュータ演算器
を提供することにある。In the above-mentioned conventional configuration, the register 11 used by the arithmetic logic operation unit 10 and the register 14 used by the address operation units 12 and 13 are different in type, and the arithmetic logic operation unit is used. When the calculation result in 10 is used as an address, the data must be transferred through the register transfer bus 15, which causes an increase in processing time and complexity of the program, and it is necessary to temporarily hold the same data. Therefore, there is a problem that extra registers are needed and resources on the hardware are wasted. An object of the present invention is to provide a microcomputer arithmetic unit capable of shortening processing time and reducing registers.
【0007】[0007]
【課題を解決するための手段】本発明は、主にアドレス
の演算を行う少なくとも2つの独立なアドレス演算器
と、少なくとも1つの算術論理演算器と、アドレス演算
器と算術論理演算器にそれぞれ接続されるレジスタファ
イルとを有する。このレジスタファイルは、少なくとも
2組の、少なくとも2つの1語長レジスタとしても使用
する事のできる2語長以上のビット長を有するレジスタ
若しくはレジスタペアを有し、算術論理演算器に対する
入力として少なくとも2つ以上のレジスタを語長を選択
的に選んで設定でき、かつ出力として少なくとも1つ以
上のレジスタを語長を選択的に選んで設定でき、一方ア
ドレス演算器に対する入力として、少なくとも2つ以上
のレジスタを語長を選択的に選んで設定でき、かつ出力
として少なくとも1つ以上のレジスタを語長を選択的に
選んで設定できる。According to the present invention, at least two independent address arithmetic units that mainly perform address arithmetic, at least one arithmetic logic arithmetic unit, and an address arithmetic unit and an arithmetic logic arithmetic unit are respectively connected. And a registered register file. This register file has a register or a register pair having a bit length of 2 words or more, which can also be used as at least two sets of at least two 1 word length registers, and has at least 2 as an input to an arithmetic logic unit. One or more registers can be selectively selected and set in word length, and at least one or more registers can be selectively selected and set as output, while at least two or more registers can be set as input to the address calculator. Registers can be selectively selected and set in word length, and at least one or more registers can be selectively selected and set as outputs.
【0008】[0008]
【実施例】次に、本発明について図面を参照して説明す
る。図1は本発明の第1実施例のブロック図である。1
語長または2語長のデータをそれぞれの入出力に独立に
選択的に設定できる算術論理演算器10と、1語長のデ
ータを演算する2つの独立なアドレス演算器12,13
と、それぞれ2つで2語長のレジスタペアとして使用す
る事のできる4つの1語長レジスタファイル11で構成
される。そして、このレジスタファイル11に対し、バ
ス1〜6を用いてアドレス演算器12,13を相互接続
し、かつバス7〜9を用いて算術論理演算器10を相互
接続している。DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described with reference to the drawings. FIG. 1 is a block diagram of a first embodiment of the present invention. 1
Arithmetic logic operation unit 10 that can selectively set word length or 2-word length data to each input / output independently, and two independent address operation units 12 and 13 that operate 1-word length data
And four 1-word-length register files 11 each of which can be used as a 2-word-length register pair. Then, with respect to the register file 11, the address arithmetic units 12 and 13 are interconnected using the buses 1 to 6 and the arithmetic logic arithmetic unit 10 is interconnected to each other using the buses 7 to 9.
【0009】第1のアドレス演算器12は、1語長の2
つの入力と、同じく1語長の1つの出力を有しており、
これに1語長のバス1と第1のアドレス演算器の第1の
入力が接続され、1語長のバス2と第1のアドレス演算
器の第2の入力が接続されている。また、この第1のア
ドレス演算器12の出力は1語長のバス5に接続されて
いる。また、第2のアドレス演算器13は、1語長の2
つの入力と、同じく1語長の1つの出力を有しており、
これに1語長のバス3と第2のアドレス演算器の第1の
入力が接続され、1語長のバス4と第2のアドレス演算
器の第2の入力が接続されている。また、この第2のア
ドレス演算器の出力は、1語長のバス6に接続されてい
る。The first address calculator 12 has a word length of 2
It has one input and one output, also one word long,
The 1-word-length bus 1 is connected to the first input of the first address calculator, and the 1-word-length bus 2 is connected to the second input of the first address calculator. The output of the first address calculator 12 is connected to the bus 5 having a length of one word. In addition, the second address calculator 13 has a word length of 2
It has one input and one output, also one word long,
The 1-word-length bus 3 is connected to the first input of the second address calculator, and the 1-word-length bus 4 is connected to the second input of the second address calculator. The output of the second address calculator is connected to the 1-word-long bus 6.
【0010】算術論理演算器10は1語長または2語長
のデータをそれぞれ独立に選択的に入力する事のできる
2つの入力と、1語長または2語長のデータを選択的に
出力する事のできる1つの入力とを有しており、これに
2語長のバス7と算術演算器の第1の入力が接続され、
同じく2語長のバス8と算術演算器の第2の入力が接続
されている。また、この算術演算器の出力は、2語長の
バス9に接続されている。The arithmetic logic operation unit 10 selectively outputs two inputs which can selectively input 1-word length or 2-word length data and 1-word length or 2-word length data. It has a single input which can be connected to a bus 7 having a length of 2 words and a first input of an arithmetic unit.
A bus 8 which is also two words long and is connected to the second input of the arithmetic operation unit. The output of this arithmetic operation unit is connected to a bus 9 having a length of 2 words.
【0011】レジスタファイル11は4つの1語長のレ
ジスタr0H,r0L,r1H,r1Lよりなり、それ
ぞれr0Hレジスタとr0Lレジスタ、r1Hレジスタ
とr1Lレジスタは2語長のレジスタペアr0とr1と
して操作する事ができる。r0Hとr1Lまたはr0H
とr1H等のほかの組み合わせがレジスタペアとして操
作可能であるか否かについては、どちらでもかまわない
が、本実施例の中では不可能であるものとする。The register file 11 comprises four 1-word length registers r0H, r0L, r1H, and r1L. The r0H register and r0L register, and the r1H register and r1L register are operated as a 2-word length register pair r0 and r1. You can r0H and r1L or r0H
It does not matter whether or not other combinations such as r1H and r1H can be operated as a register pair, but it is impossible in the present embodiment.
【0012】1語長のバス1にはr0Hまたはr1Hが
選択的に出力可能であり、1語長のバス2にはr0Lま
たはr1Lが選択的に出力可能である。また、1語長の
バス3にはr0Hまたはr1Hが選択的に出力可能であ
り、1語長のバス4にはr0Lまたはr1Lが選択的に
出力可能である。2語長のバス7に対して、上位1語長
にはr0Hまたはr1Hが選択的に出力可能であり、下
位1語長にはr0Lまたはr1Lが選択的に出力可能で
ある。2語長のバス9に関して、上位1語長からr0H
またはr1Hに対して選択的に入力可能であり、下位1
語長からはr0Lまたはr1Lに対して選択的に入力可
能である。R0H or r1H can be selectively output to the bus 1 of 1 word length, and r0L or r1L can be selectively output to the bus 2 of 1 word length. Further, r0H or r1H can be selectively output to the one-word-length bus 3, and r0L or r1L can be selectively output to the one-word-length bus 4. R0H or r1H can be selectively output to the upper one word length and r0L or r1L can be selectively output to the lower one word length to the bus 7 having a two word length. For bus 9 of 2 word length, r0H from the upper 1 word length
Alternatively, it can be selectively input to r1H, and the lower 1
The word length can be selectively input to r0L or r1L.
【0013】1語長のバス5から、r0Hまたはr1H
に選択的に入力可能であり、1語長のバス6から、r0
Hまたはr1Hに選択的に入力可能である。ただし、2
語長のバスに対して必ず2語長のデータを出力する必要
性はなく、同様に2語長のバスから必ず2語長のデータ
を入力する必要はなく、1語長のレジスタに対してのみ
書き込みを行ってもかまわない。また、ここではバス
5,6からはr0Hまたはr1Hに選択的に入力可能で
あるとして説明を行っているが、r0Lおよびr1Lに
も選択的に入力可能であってもかまわない。From the bus 5 of one word length, r0H or r1H
Can be selectively input to r0 from the 1-word bus 6
H or r1H can be selectively input. However, 2
It is not always necessary to output 2-word length data to the word-length bus, and similarly, it is not necessary to input 2-word length data from the 2-word length bus. You may write only. Further, here, the description has been given on the assumption that the buses 5 and 6 can selectively input to r0H or r1H, but it is also possible to selectively input to r0L and r1L.
【0014】この構成によれば、1つの算術論理演算器
10と、2つのアドレス演算器12,13とは同期的に
動作し、入力データを読み込んだ次のクロックサイクル
で書き込みを行う。1つの算術論理演算器10と2つの
アドレス演算器12,13がレジスタファイル11より
独立にデータを取り込み、独立にデータを書き込む事が
でき、算術論理演算器10、第1のアドレス演算器1
2、第2のアドレス演算器13の出力結果を次のサイク
ルで算術論理演算器10、第1のアドレス演算器12、
第2のアドレス演算器13の入力として演算する事が可
能となり、データの転送などを行う必要がなく多くのデ
ータの演算の組み合わせが可能となる。According to this structure, one arithmetic and logic unit 10 and two address and arithmetic units 12 and 13 operate synchronously, and writing is performed in the next clock cycle after reading the input data. One arithmetic logic operation unit 10 and two address operation units 12 and 13 can independently take in data from the register file 11 and write the data independently. The arithmetic logic operation unit 10 and the first address operation unit 1
2, the output result of the second address arithmetic unit 13 in the next cycle arithmetic logic unit 10, the first address arithmetic unit 12,
It is possible to perform an operation as an input of the second address operation unit 13, and it is possible to combine many data operations without having to transfer data.
【0015】図2は本発明の第2実施例のブロック図で
あり、第1実施例と等価な部分には同一符号を付してあ
る。第1実施例ではレジスタファイル11が1語長と2
語長の組み合わせしか行えなかったのに対して、この第
2実施例ではレジスタファイル11に 1/2語長のレジス
タを加え、それぞれ 0.5/1/1.5/2/2.5語長のデータを扱
えるようにしたものである。本実施例では付加するレジ
スタを 1/2語長としたが、任意ビット長にする事が可能
である。また、レジスタ本数も最大4本の 2.5語長のレ
ジスタペアに増やしてある。これにともない、バス7,
8,9が 2.5語長のバスとなり上位 0.5語長はr0e,
r1e,r2e、r3eに対する入出力を行う。FIG. 2 is a block diagram of a second embodiment of the present invention, in which parts equivalent to those of the first embodiment are designated by the same reference numerals. In the first embodiment, the register file 11 has one word length and two words.
While only the combination of word lengths can be performed, in this second embodiment, a 1/2 word length register is added to the register file 11 so that 0.5 / 1 / 1.5 / 2 / 2.5 word length data can be handled respectively. It is the one. In the present embodiment, the added register has a 1/2 word length, but it can have an arbitrary bit length. In addition, the number of registers has been increased to a maximum of four 2.5 word length register pairs. With this, bus 7,
8 and 9 are 2.5 word length buses, and the upper 0.5 word length is r0e,
Input / output to / from r1e, r2e, and r3e.
【0016】なお、種々のベンチマークの結果から、こ
の種のマイクロコンピュータに必要なレジスタの本数
は、3つの演算器に対しては最低4本が必要であり、性
能を考慮するならば、少なくとも8本は必要であると考
えられており、本数の増加や、ビット長の最適設定は、
演算器の種類と数によって決められるべきものである。From the results of various benchmarks, the number of registers required for this type of microcomputer is at least four for three arithmetic units, and at least 8 if the performance is taken into consideration. Books are considered necessary, so increasing the number of books and setting the optimal bit length
It should be decided depending on the type and number of arithmetic units.
【0017】[0017]
【発明の効果】以上説明したように本発明は、算術論理
演算器とアドレス演算器とでレジスタを共用しているの
で、算術論理演算器での演算結果をアドレスとして使用
するとき内部バスなどを通してデータの転送を行う必要
がなく、処理時間を短縮し、ソフトウェア上も単純にな
り、ハードウェア資源を効率的に利用する事ができると
いう効果を有する。As described above, according to the present invention, since the register is shared by the arithmetic logic unit and the address arithmetic unit, when the arithmetic result of the arithmetic logic unit is used as an address, the internal bus is used. There is an effect that it is not necessary to transfer data, processing time is shortened, software is simplified, and hardware resources can be efficiently used.
【図1】本発明のマイクロコンピュータ演算器の第1実
施例のブロック図である。FIG. 1 is a block diagram of a first embodiment of a microcomputer arithmetic unit of the present invention.
【図2】本発明の第2実施例のブロック図である。FIG. 2 is a block diagram of a second embodiment of the present invention.
【図3】従来のマイクロコンピュータ演算器のブロック
図である。FIG. 3 is a block diagram of a conventional microcomputer arithmetic unit.
【符号の説明】 1〜6 アドレス演算器用バス 7〜9 算術論理演算器用バス 10 算術論理演算器 11 レジスタファイル 12,13 アドレス演算器 14 アドレス演算用レジスタファイル[Explanation of Codes] 1-6 Address arithmetic unit bus 7-9 Arithmetic logic arithmetic unit bus 10 Arithmetic logic arithmetic unit 11 register file 12, 13 Address arithmetic unit 14 Address arithmetic register file
Claims (1)
つの独立なアドレス演算器と、少なくとも1つの算術論
理演算器と、前記アドレス演算器と算術論理演算器にそ
れぞれ接続されるレジスタファイルとを有し、このレジ
スタファイルは、少なくとも2組の、少なくとも2つの
1語長レジスタとしても使用する事のできる2語長以上
のビット長を有するレジスタ若しくはレジスタペアを有
し、算術論理演算器に対する入力として少なくとも2つ
以上のレジスタを語長を選択的に選んで設定でき、かつ
出力として少なくとも1つ以上のレジスタを語長を選択
的に選んで設定でき、一方アドレス演算器に対する入力
として、少なくとも2つ以上のレジスタを語長を選択的
に選んで設定でき、かつ出力として少なくとも1つ以上
のレジスタを語長を選択的に選んで設定できる事を特徴
とするマイクロコンピュータ演算器。1. At least 2 which mainly perform address calculation.
There are two independent address arithmetic units, at least one arithmetic logic unit, and register files respectively connected to the address arithmetic unit and the arithmetic logic unit, and the register file includes at least two sets of at least two. It has a register or a register pair having a bit length of 2 words or more that can also be used as one 1 word length register, and at least 2 or more registers are selectively selected as an input to the arithmetic and logic unit. , And at least one or more registers can be selectively selected and set as outputs, while at least two or more registers can be selectively selected and set as inputs to the address calculator. , And at least one or more registers can be set as outputs by selectively selecting the word length. Computer arithmetic unit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4195982A JPH0619702A (en) | 1992-06-30 | 1992-06-30 | Microcomputer computing element |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4195982A JPH0619702A (en) | 1992-06-30 | 1992-06-30 | Microcomputer computing element |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0619702A true JPH0619702A (en) | 1994-01-28 |
Family
ID=16350245
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4195982A Pending JPH0619702A (en) | 1992-06-30 | 1992-06-30 | Microcomputer computing element |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0619702A (en) |
-
1992
- 1992-06-30 JP JP4195982A patent/JPH0619702A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4149242A (en) | Data interface apparatus for multiple sequential processors | |
| US4229801A (en) | Floating point processor having concurrent exponent/mantissa operation | |
| JPH05173837A (en) | Data processing system wherein static masking and dynamic masking of information in operand are both provided | |
| US4835684A (en) | Microcomputer capable of transferring data from one location to another within a memory without an intermediary data bus | |
| JPS58501560A (en) | microprocessor | |
| US7376777B2 (en) | Performing an N-bit write access to an M×N-bit-only peripheral | |
| US7613905B2 (en) | Partial register forwarding for CPUs with unequal delay functional units | |
| US4305138A (en) | Stack memory device | |
| KR910001708B1 (en) | Central processing unit | |
| JPH0619702A (en) | Microcomputer computing element | |
| JPH0227696B2 (en) | JOHOSHORISOCHI | |
| US3387273A (en) | High speed serial processor | |
| JPS6033644A (en) | Memory bank switching method and its device | |
| JP2504535B2 (en) | Bus unit configuration method | |
| JP2969825B2 (en) | Dual port memory | |
| JPH0418634A (en) | Data processor | |
| JPH06301641A (en) | Electronic computer | |
| JPS61161560A (en) | Memory device | |
| JPH033047A (en) | Memory with arithmetic function | |
| JPH0784963A (en) | Semiconductor integrated circuit having CPU | |
| JPH1074190A (en) | Parallel processor | |
| JPS6285339A (en) | Microcomputer | |
| JPH0719224B2 (en) | Processor | |
| JPS59208662A (en) | Circuit expanding number of addresses of read-only memory | |
| JPH0823849B2 (en) | Memory read register controller |