JPS59184948A - Microcomputer of variable structure - Google Patents

Microcomputer of variable structure

Info

Publication number
JPS59184948A
JPS59184948A JP58057881A JP5788183A JPS59184948A JP S59184948 A JPS59184948 A JP S59184948A JP 58057881 A JP58057881 A JP 58057881A JP 5788183 A JP5788183 A JP 5788183A JP S59184948 A JPS59184948 A JP S59184948A
Authority
JP
Japan
Prior art keywords
register
address
bus
ram
memory
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
JP58057881A
Other languages
Japanese (ja)
Other versions
JPH0516610B2 (en
Inventor
Hideo Maejima
前島 英雄
Akihiro Katsura
晃洋 桂
Hiroyuki Kida
博之 木田
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 JP58057881A priority Critical patent/JPS59184948A/en
Publication of JPS59184948A publication Critical patent/JPS59184948A/en
Publication of JPH0516610B2 publication Critical patent/JPH0516610B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Microcomputers (AREA)

Abstract

PURPOSE:To obtain a microcomputer having high variable performance by setting optionally both register and memory regions with clear separation to an RAM incorporated into a microcomputer. CONSTITUTION:A microprocessor consisting of a microprogram control part 21, a microinstruction decoder 22 and an arithmetic part 23 is connected to an RAM12 via a command data bus 5h, address buses 5e, 5d and 5i and a register/ memory switching line 5c. A register field which designates a register number is provided into a microinstruction which is used by the part 21 together with a flag which identifies whether the contents of said register field are delivered to the common address bus. Both register and data regions are set to the RAM12 and then identified for access from the contents of the address bus delivered from the part 23 or the part 21 as well as the flag contents. Thus the number of register groups can be varied without invating a memory space.

Description

【発明の詳細な説明】 〔発明の利用分野〕 木光り月はマイクロプログラム、ランダムアクセスメモ
リ(R,AM)、リードオンリーメモリ(ROM )周
辺I10機能を1チツプに搭載したシングルチップ・マ
イクロコンピュータ、%Vcマイクロプロセッサのレジ
スタ群をRAMに内蔵し、レジスタ数、種類の異なる数
種のマイクロコンビユータをエミュレートし得る可変構
造化マイクロコンピュータに関する。
[Detailed Description of the Invention] [Field of Application of the Invention] Kiko Mitsuki is a single-chip microcomputer that incorporates a microprogram, random access memory (R, AM), read-only memory (ROM), and peripheral I10 functions on one chip. The present invention relates to a variable structured microcomputer that incorporates a group of registers of a %Vc microprocessor in a RAM and is capable of emulating several types of microcomputers with different numbers and types of registers.

〔発明の背景〕[Background of the invention]

近年、半導体特にMOS (Metal QxideS
emiconductor )の微細化により、マイク
ロコンピュータも高集積、高機能化の一途をたどってき
ている。これに伴い、第1図に示すような高集積化され
たシングルチップ・マイクロコンピュータ10が出現し
てきた。すなわち、マイクロプロセッサ11を核として
RAMI 2、ROMI 3、タイマ14、シリアル・
インクフェイス15等のI10機能を1チツプ中に収め
た高集積なものである。本チップ10内部ではアドレス
・バス16データ・バス17を介してマイクロプロセッ
サ11と各ユニット12〜15とが入出力動作を行う。
In recent years, semiconductors, especially MOS (Metal QxideS)
With the miniaturization of electronic devices, microcomputers are also becoming more highly integrated and highly functional. Along with this, a highly integrated single-chip microcomputer 10 as shown in FIG. 1 has appeared. That is, with the microprocessor 11 as the core, RAMI 2, ROMI 3, timer 14, serial
It is a highly integrated device that contains I10 functions such as the ink face 15 in one chip. Inside this chip 10, the microprocessor 11 and each unit 12-15 perform input/output operations via an address bus 16 and a data bus 17.

例えば、マイクロプロセッサ11はROM13から命令
を読み出L、RAM12中のデータを処理する1、まだ
、マイクロプロセッサ11はタイマ14への入出力によ
り計時動作を、シリアル・インクフェイス15とはシリ
アル入出力バスla。
For example, the microprocessor 11 reads instructions from the ROM 13, processes the data in the RAM 12, and the microprocessor 11 performs timekeeping operations by inputting and outputting data to the timer 14. Bus la.

1bを介して他のマイクロプロセッサやI10機器と交
信を行ったシする。
It communicates with other microprocessors and I10 devices via 1b.

−F記したシングルチップ・マイクロコンピュ−タ10
におけるマイクロプロセッサ11は第2図に一例を示す
ように、マイクロプログラム制御のマイクロプロセッサ
J1が実装し易すさと柔軟さの点で常識化してき/ζ0
マイクロプロセッサ11は、マイクロプログラム制御部
21、マイクロ命令デコーダ22、演υ:部23、これ
らを連結するバス24から成っている。マイクロプログ
ラム制御部21によシ、マ、fクロプロセッサ110制
酉1面の柔軟性は高くなるが、被制御部である演算部2
3は柔軟性の点で問題がある。
Single-chip microcomputer 10 marked -F
As an example of the microprocessor 11 shown in FIG.
The microprocessor 11 includes a microprogram control section 21, a microinstruction decoder 22, a calculation section 23, and a bus 24 that connects them. Although the microprogram control section 21 increases the flexibility of the microprocessor 110, the arithmetic section 2, which is the controlled section,
3 has a problem in terms of flexibility.

すなワチ、マイク73プロセツサ」1の命令解読及び実
行手順はマイ、・クロプログラム制御部21を構成する
R OMのパ・Z−ン(マイクロ命令t+’e >を目
的とするアーキテクチャ(命令体系)に適合させる事が
できる。
In other words, the instruction decoding and execution procedure of the Microphone 73 Processor 1 is based on the architecture (instruction system ) can be adapted.

一方、演算部23は第3図に一例を示す構成が一般的で
ある。すなわち、演算レジスタ群30、演算回路31か
ら成っておシ、演算レジスタ群30から読み出されたデ
ータはバス3a、3bを介して演算回路31に入力し、
その演算結果はバス3Cを通じて再び演算レジスタ群3
0に戻される。例えば、演算レジスタ群30内には、主
記憶中の命令の所在を示すプログラム・カウンタ(PC
)、データのスタック位置を示すスタック・ポインタ(
SP)、オペランドのアドレッシングに用いるインデッ
クス・レジスタ(IX)、データ演算に使われるアキュ
ムレータ(A)等が含まれる。これらのレジスタは第2
,3図に示すように、マイクロプログラム制御部21か
ら順次読み出されるマイクロ命令をマイクロ命令デコー
ダ22によシ解読した後の制御信号2C−aによって指
定される。従って、マイクロ命令が命令とレジスタ指定
との間に介在するため、レジスタ指定に関する柔軟性は
マイクロプログラム制御部21と汎用レジスタ構造によ
り確保できる。まだ、演算回路31もまたマイクロ命令
制御されるので融通性が高い。
On the other hand, the arithmetic unit 23 generally has a configuration, an example of which is shown in FIG. That is, it consists of an arithmetic register group 30 and an arithmetic circuit 31, and data read from the arithmetic register group 30 is input to the arithmetic circuit 31 via buses 3a and 3b.
The calculation result is sent back to the calculation register group 3 via bus 3C.
Returned to 0. For example, the arithmetic register group 30 includes a program counter (PC) that indicates the location of instructions in main memory.
), the stack pointer (
SP), an index register (IX) used for addressing operands, an accumulator (A) used for data operations, etc. These registers are the second
, 3, it is specified by the control signal 2C-a after the microinstruction decoder 22 decodes the microinstructions sequentially read out from the microprogram control section 21. Therefore, since the microinstruction is interposed between the instruction and the register specification, flexibility regarding register specification can be ensured by the microprogram control section 21 and the general-purpose register structure. However, since the arithmetic circuit 31 is also microinstruction controlled, flexibility is high.

以−ヒの如く、演算部23の柔軟性に対する最大の要因
はこの演算レジスタ群の数である。すなわち11種々の
アーキテクチャ(命令体系)のマイクロプロセッサでは
それらの演算レジ)スタはプログラム・カウンタ(PC
)等のアドレス系レジスタも含めるとその数はまちまち
である机例えば、スタック・ポインタ(SP)やインデ
ックス・レジスタ(IX)それぞれが1つのものも、2
つのものもある。このようなレジスタ数に注目して、柔
djj性の高いマイクロプロセッサを実現しようとす2
り場合、レジスタ数を最大のものに合せておけばよいか
も知れないが、チップ面積が大きくなるし、ぞhでも命
令を拡張しようとすれば、定らなくなる事も考えられる
As described below, the biggest factor in the flexibility of the arithmetic section 23 is the number of arithmetic register groups. In other words, in microprocessors of 11 different architectures (instruction systems), their operation registers are
) and other address-related registers, the number varies.
There are also two. We are trying to realize a highly flexible microprocessor by focusing on the number of registers.
In this case, it may be possible to set the number of registers to the maximum number, but this will increase the chip area, and if you try to expand the instructions, it may become unstable.

それで、演算レジスタ群30をメモリ(RAM)の一部
に埋め込む事が1つの解として現われてきている。この
ような傾向は、第1図に示したシングルチップ・マイク
ロコンピュータにミラれ、少゛なくともtLAM12を
内蔵したシステムで実現できるものである。すなわち、
、RAM構造とレジメ夕構造では前者は後者の115程
度で実現できるのでサイズの面では圧倒的にRAMが有
利である。
Therefore, embedding the arithmetic register group 30 in a part of memory (RAM) has emerged as one solution. This tendency is reflected in the single-chip microcomputer shown in FIG. 1, and can be realized in a system incorporating at least tLAM12. That is,
Between the RAM structure and the regimen structure, the former can be realized with about 115 of the latter, so the RAM is overwhelmingly advantageous in terms of size.

従って、メモリとレジスタ群を共存させる方式によれば
、レジスタの数はそれ程問題とならない。
Therefore, according to the system in which memory and register groups coexist, the number of registers is not so much of a problem.

演算レジスタ群30をRAM12に移す構造では、マイ
クロプロセッサ11はコンパクトになるが、それだけで
は次の問題が生じる。すなわち、第4図に示すように、
RAM12上で、レジスフ領域とメモリ領域が同じアド
レス空間をとっている為、メモリ領域の先頭が演算レジ
スタの数によって変動することである。この事は、ソフ
トウェアの見地からは許容し難いものである。
Although the structure in which the arithmetic register group 30 is moved to the RAM 12 makes the microprocessor 11 more compact, this alone causes the following problem. That is, as shown in Figure 4,
Since the register area and the memory area occupy the same address space on the RAM 12, the beginning of the memory area varies depending on the number of operation registers. This is unacceptable from a software standpoint.

〔発明の目的〕[Purpose of the invention]

本発明は目的は、上記した従来技術の欠点をなくシ、演
算レジスタ群をRAMに内蔵し、メモリ空間を侵触する
事なく、レジスタ群の数を可変にし得る可変構造化マイ
クロコンピュータを提供するにある。
SUMMARY OF THE INVENTION An object of the present invention is to eliminate the above-mentioned drawbacks of the prior art, and to provide a variable structured microcomputer in which a group of operational registers is built into a RAM, and the number of register groups can be made variable without infringing on memory space. be.

〔発明の概要〕[Summary of the invention]

本発明は、マイクロ命令に格納した1ビツトによってマ
イクロプロセッサの出力するアドレスを明確に分離し、
演算レジスタ領域とデータメモリ領域をRAMに共存し
得るようにし、RAMのアドレス・デコーダをプログラ
マブルに構成する事によシ可変構造化するものである。
The present invention clearly separates the address output by a microprocessor by one bit stored in a microinstruction,
The structure is made variable by allowing the arithmetic register area and the data memory area to coexist in the RAM, and by configuring the address decoder of the RAM in a programmable manner.

〔発明の実施例とその効果〕[Embodiments of the invention and their effects]

以下、本発明を実施例により詳細に説明する。 Hereinafter, the present invention will be explained in detail with reference to Examples.

第5図は本発明の可変構造化マイクロコンピュータの一
実施例を示す構成図で、第2図におけるマイクロプロセ
ッサ11及びRAM12の関係を詳細に示している。
FIG. 5 is a block diagram showing an embodiment of the variable structured microcomputer of the present invention, showing in detail the relationship between the microprocessor 11 and RAM 12 in FIG. 2.

以下に、各バスとマイクロプログラム制御部、J21、
マイクロ命令デコーダ22、演算部23及びRAM12
の構成を述べる。
Below, each bus and microprogram control section, J21,
Microinstruction decoder 22, arithmetic unit 23 and RAM 12
The structure of the following is described below.

(1)バス データ・バス5b、アドレス・バス5e、5d。(1) Bus data bus 5b, address buses 5e, 5d.

5iルジスタ/メモリ切換え信号線5c(後述)から成
る。
5i register/memory switching signal line 5c (described later).

(2)マイクロプログラム制御部21 本ユニットはデータ・バス5hから命令を受取る命令レ
ジスタ50、該出力とマイクロ命令からの分岐アドレス
のいずれか一方を選択するマルチプレクサ51、マイク
ロ命令アドレス・レジスタ52、マイクロプログラムR
OM500、マイクロ命令レジスタ53、バス・ドライ
バ55.56から成る。
(2) Microprogram control unit 21 This unit includes an instruction register 50 that receives instructions from the data bus 5h, a multiplexer 51 that selects either the output or a branch address from the microinstruction, a microinstruction address register 52, and a microinstruction address register 52. Program R
It consists of an OM 500, a microinstruction register 53, and bus drivers 55 and 56.

データ・バス5hを介し、主メモリから命令レジスタ5
0に格納された命令はマルチプレクサ51により選択さ
れ、マイクロ命令アドレス・レジスタ52に記憶される
。この内容に応じて、マイクロプログラムROM500
より読み出されるマイクロ命令はマイクロ命令レジスタ
53に格納される。該レジスタのOPフィールドは信号
5jによりマイクロ命令デコーダ22に入力し、ここで
解読されて演算部23を制御する。Rgフィールド及び
μ/Mフィールドは本発明に係る部分であシ、次の機能
を持つ。
from main memory to instruction register 5 via data bus 5h.
The instruction stored at 0 is selected by multiplexer 51 and stored in microinstruction address register 52. Depending on this content, micro program ROM500
The microinstruction read out is stored in the microinstruction register 53. The OP field of the register is inputted to the microinstruction decoder 22 by a signal 5j, decoded here, and controlled by the arithmetic section 23. The Rg field and μ/M field are parts related to the present invention and have the following functions.

(1)μ/Mフィールド このフィールドは1ビツトてりり、R,AM12をアク
セスする時のアドレス源がマイクロ命令中のRgフィー
ルドであるか、演算部23がら出力されるメモリ・アド
レスかを識別するだめのものである。具体的には、 μ/M−0の時、メモリ・アドレス μ/M=1の時、R,gフィールド すなわち、RAM1’2内の演算レジスタ群をアクセス
する時、μ/M−1とする。
(1) μ/M field This field is 1 bit long and identifies whether the address source when accessing R, AM12 is the Rg field in the microinstruction or the memory address output from the arithmetic unit 23. It's no good. Specifically, when μ/M-0, when the memory address μ/M=1, when accessing the R and g fields, that is, the arithmetic register group in RAM1'2, it is μ/M-1. .

(+i) Rgフィールド 本実施例では5ピツトであり、25=32であることか
ら最大32個の演算レジスタを指定できる。本フィール
ドは前項μ/Mフィールドが”lIIの時のみ有効であ
る。
(+i) Rg field In this embodiment, there are 5 pits, and since 25=32, a maximum of 32 operation registers can be specified. This field is valid only when the μ/M field described above is "III".

今、マイクロ命令レジスタ53に置数されたマイクトノ
命令のμ/Mフィールドが1″の場合、it 、/へ4
フィ〜ルドの値は信号線5aを介してバス・ドライバ5
5.56に入力し、前者はバス5cを0″に駆動し、後
者は信号線5bによって伝えられるマイクロ命令レジス
タ53のRgフィールドの11i¥に応じてバス5dを
駆動する。この時、バス5eは” ■nvalid″(
無効)であってもよい。
Now, if the μ/M field of the microinstruction placed in the microinstruction register 53 is 1'', it, / to 4
The value of the field is sent to the bus driver 5 via the signal line 5a.
5.56, the former drives the bus 5c to 0'', and the latter drives the bus 5d according to 11i\ of the Rg field of the microinstruction register 53 transmitted by the signal line 5b.At this time, the bus 5e is "■valid" (
invalid).

A D Rフィールドはマイクロプログラムの分岐アド
レスを示すフィールドであり、信号線5kを経由して、
マルチプレクサ51により選択され、マイクロ命令アド
レス・レジスタ52に1[を数される。
The ADR field is a field that indicates the branch address of the microprogram, and the ADR field is a field that indicates the branch address of the microprogram.
It is selected by multiplexer 51 and assigned a value of 1 to microinstruction address register 52.

(3)マイクロ命令デコーダ22 本ユニットは前記マイクロプログラム制御部21におけ
るマイクロ命令レジスタ中のOPフィールドを信号線5
jにより入力し、演算部の各部を制御する信号を生成す
る。制御信号は制御信号線5tを介して演算部23に出
力される。
(3) Microinstruction decoder 22 This unit converts the OP field in the microinstruction register in the microprogram control section 21 to the signal line 5.
j to generate signals that control each part of the arithmetic unit. The control signal is output to the calculation section 23 via the control signal line 5t.

(4)演算部23 本ユニットは、メモリ・アドレスの下位8ビツトを格納
するメモリ・アドレス・レジスタ(L)54、上位8ビ
ツトを格納するメモリ・アドレス・レジスタ(H)59
、演算回路60、入力ラッチ・レジスタ61,62、内
部バス63,64、バス・ドライバ57,58,65.
66よ構成る。。
(4) Arithmetic unit 23 This unit has a memory address register (L) 54 that stores the lower 8 bits of the memory address, and a memory address register (H) 59 that stores the upper 8 bits of the memory address.
, arithmetic circuit 60, input latch registers 61, 62, internal buses 63, 64, bus drivers 57, 58, 65 .
It consists of 66. .

これらの要素の動作は後述する。The operations of these elements will be described later.

匍’mAMt2 本実施例ではRAM12は256語の容量で、前記した
バス5C,5e、5dの計9ビットをアドレスとして、
アドレス・デコーダ521に入力する。また、データの
入出力は、メモリ部522とバス5 hとの間で行うが
、その訂IYll+は後述する。
匍'mAMt2 In this embodiment, the RAM 12 has a capacity of 256 words, and a total of 9 bits of the buses 5C, 5e, and 5d described above are used as addresses.
Input to address decoder 521. Further, data input/output is performed between the memory section 522 and the bus 5h, and its correction will be described later.

以上、各ユニットについて、主にそれらの構成について
述べたが、以下には実際の動作を示す。
The configuration of each unit has been mainly described above, but the actual operation will be shown below.

(a)命令フェッチ マイクロ命令の几f(フィールドからプログラムカウン
タ(PC)のアドレスを信号5b、ノくス・ドライバ5
6を経由してアドレス・・くス5dに出力すると共に、
87Mフィールドを1”としてバス・ドライバ56をア
クティブにする一方、ノ(ス・ドライバ55によりバス
5Cを駆動する。このような動作により、プログラノ、
・カウンタ(PC)はRAMI 2より読3′、に出さ
れ、データ・バス5hを経由してバス・ドライバ66を
介して演算部23内のメモリ・アドレス・レジスタ54
.59に次々に置数される。次のマイクロ命令では87
Mフィールドを0″として、メモリ・アドレス・レジス
タ54.59の内容はバス・ドライバ57.58.65
を介して、アドレス・バス5e。
(a) Instruction fetch microinstruction field f (field to program counter (PC) address signal 5b, node driver 5
At the same time as outputting to address 5d via 6,
While the bus driver 56 is activated by setting the 87M field to 1'', the bus driver 55 drives the bus 5C.
- The counter (PC) is output from the RAMI 2 to the memory address register 54 in the arithmetic unit 23 via the bus driver 66 via the data bus 5h.
.. 59 are placed one after another. 87 in the next microinstruction
With the M field set to 0'', the contents of memory address register 54.59 are bus driver 57.58.65.
via address bus 5e.

5d、5iに出力される。この時も87Mフィールドは
0”としておき、RIV112のメモリ部あるいは他の
メモリから命令が読み出される。読み出された命令はデ
ータ・バス5hを経由してマイクロプログラム制御部2
1内の命令レジスタ50に格納される。
5d and 5i. At this time as well, the 87M field is set to 0'', and instructions are read from the memory section of the RIV 112 or other memory.The read instructions are sent to the microprogram control section 2 via the data bus 5h.
1 is stored in the instruction register 50 in 1.

一方、メモリ・アドレス・レジスタ54.59の内容は
演算回路60により(1され、次の命令アクセスの準備
をしておく。もし、この必要がないかメモリ・アドレス
・レジスタ54.59を使用する場合は、この内容をR
AM12内のプログラムカウンタ(pc)に戻す。
On the other hand, the contents of the memory address registers 54 and 59 are set to 1 by the arithmetic circuit 60 to prepare for the next instruction access.If this is not necessary, use the memory address registers 54 and 59. If this content is R
Return to the program counter (pc) in AM12.

(b)命令実行 例えば、RAM12内にある演算用のレジスタA、Bの
内容を加算する場合、前記したプログラム・カウンタ(
p c )のアクセス方法と同様にして、レジスタAの
内容をラッチ・レジスタ61に、レジスタBの内容をラ
ッチ・レジスタ62に置数する。これらラッチレジスタ
61.62の内容を演算回路60によって加算し、その
結果をバス64を経由して、ラッチ・レジスタ62に格
納する。この内容はバス63、バス・ドライバ66、デ
ータ・バス5hを経由してRAM12内のレジスタAに
格納される。このような動作時にもマイクロ命令の87
Mフィールドは1”、且gフィールドはレジスタAのア
ドレスを示している。
(b) Instruction execution For example, when adding the contents of the calculation registers A and B in the RAM 12, the program counter (
The contents of register A are placed in the latch register 61 and the contents of register B are placed in the latch register 62 in the same way as the access method of p c ). The contents of these latch registers 61 and 62 are added by the arithmetic circuit 60, and the result is stored in the latch register 62 via the bus 64. This content is stored in register A in RAM 12 via bus 63, bus driver 66, and data bus 5h. Even during such operations, 87 microinstructions
The M field is 1'', and the g field indicates the address of register A.

以上に示した各ユニツ)21.23のバス5c。Each unit shown above) 21.23 bus 5c.

5e、5dの駆動に従い、RAM12が制御される。第
6図に示しだRAM12のアドレス・デコーダ521に
より、演算レジスタ群とメモリの実際のマツピング例を
示す。
The RAM 12 is controlled according to the driving of 5e and 5d. FIG. 6 shows an example of actual mapping between the arithmetic register group and memory using the address decoder 521 of the RAM 12.

(1)演算レジスタ(R,1〜R31)入力信号5Cが
0”(マイクロ命令の87Mフィールドが1”)かつバ
ス5dが”00001”〜″11111”の範囲で演算
ルジスタ1〜31のいずれかが選択される。
(1) Arithmetic register (R, 1 to R31) If input signal 5C is 0" (87M field of microinstruction is 1") and bus 5d is in the range of "00001" to "11111", select one of arithmetic registers 1 to 31. is selected.

(2)特殊レジスタ(R,00〜It O7)入力信号
5Cが0”かつバス5dが”ooooo”の時、バス5
eの内容に応じて8個のレジスタを割当てている。これ
は前記した演算レジスタのアクセスでバス5dがRO(
実際には存在しない)を指定した時、バス5eに載った
3ビツトの状態でROO−4LO7の8個のレジスタの
1つが選択される。バス5eに載る条件はマイクロ命令
レジスタの他のフィールド(例えば、オペレーション・
フィールド等)や命令レジスタの内容の一部等である。
(2) Special register (R, 00 to It O7) When input signal 5C is 0” and bus 5d is “ooooo”, bus 5
Eight registers are allocated depending on the contents of e. This is an access to the arithmetic register mentioned above, and the bus 5d is RO(
(does not actually exist), one of the eight registers ROO-4LO7 is selected using the 3-bit state on bus 5e. The conditions placed on bus 5e are determined by other fields of the microinstruction register (e.g.
field, etc.) or part of the contents of the instruction register.

これは、乗除算におけるワーク・レジスタ等に用いるこ
とができる。
This can be used as a work register in multiplication and division.

第5図のマイクロプログラム制御部21内のバス・ドラ
イバ501は命令レジスタ50の一部をバス5eに出力
する例である。すなわち、例えば乗算処理において、マ
イクロ命令のRgフィールドでROが指定され、かつμ
/Mフィールドが1”であれば、乗算命令のコードの示
す専用のレジスタ1つを割当てる事ができる。これは被
乗数あるいは乗数のラッチに使用する。このような方法
によれば、マイクロ命令のRgフィールドで指定する事
のできるレジスタ数以上のレジスタをを設は得る。
The bus driver 501 in the microprogram control unit 21 in FIG. 5 is an example of outputting a part of the instruction register 50 to the bus 5e. That is, for example, in a multiplication process, RO is specified in the Rg field of the microinstruction, and μ
If the /M field is 1", it is possible to allocate one dedicated register indicated by the code of the multiplication instruction. This is used to latch the multiplicand or multiplier. According to this method, the microinstruction's Rg You can set or obtain more registers than can be specified in the field.

(3)メモリ(MO−M216) 演算レジスタに31語、特殊レジスタに8語が使われた
為、メモリとしては217語を割当てることができる。
(3) Memory (MO-M216) Since 31 words were used for the calculation register and 8 words were used for the special register, 217 words can be allocated as memory.

以上のように、演算レジスタ、特殊レジスタ、メモリの
割当てをマイクロ命令のμ/Mフィールド、Rgフィー
ルドのマイクロプログラムとRAM12のアドレス・デ
コーダ521を生産時に可変にし得るマスク・プログラ
ムを行う事によってレジスタ群とメモリを同じRAM1
2上に、独立のアドレス源から指定できる。
As described above, the allocation of arithmetic registers, special registers, and memory can be performed by performing a mask program that can make the μ/M field and Rg field of the microinstruction variable and the address decoder 521 of the RAM 12 variable during production. and the same memory as RAM1
2 can be specified from an independent address source.

次に、第7図、第8図を用いて再換え可能なアドレス・
デコーダについて詳細に説明する。
Next, using Figures 7 and 8, replaceable addresses and
The decoder will be explained in detail.

第7図は書換え可能なアドレス・デコーダの全体構成を
示す図である。本デコーダは、第1のアドレス・デコー
ダ70と第2のアドレス・デコーダ71とマルチプレク
サ兼センス・アンプ72から成る。
FIG. 7 is a diagram showing the overall configuration of a rewritable address decoder. This decoder consists of a first address decoder 70, a second address decoder 71, and a multiplexer/sense amplifier 72.

(1)アドレス・デコーダ71 アドレス・デコーダ71はRAM構造であシ、システム
の初期化により所定のアドレス情報を畜込まなければな
らない。そのためには、第1のアドレス・デコーダ70
によって第2のアドレス・デコーダ71をメモリ部とし
て扱う事によシアドレス情報を書込む。この場合、前記
したマイクロ命令中のμ/Mフィールドの他にイ=号線
5 c /で示したM (Mode )フィールドが必
要である。
(1) Address Decoder 71 The address decoder 71 has a RAM structure, and must store predetermined address information during system initialization. For this purpose, a first address decoder 70
By treating the second address decoder 71 as a memory section, the seat address information is written. In this case, in addition to the μ/M field in the microinstruction described above, an M (Mode) field indicated by the I= line 5c/ is required.

(1)Mフィールドが0″の場合(信号線5 c /が
” 1 ” ) 第1のアドレス・デコーダ70には信号線5 c /よ
シ1ビットの信号が入力しておシ、この時デコーダ70
の出力80a他のいずれか1つがアクティブとなる。ア
クティブとなった第2のアドレス・デコーダ71の行で
はデータ・バス5hの内容がマルチプレクサ兼センス・
アンプ72を介してデータが書込まれる。第1のアドレ
ス・デコーダ70は0番地から255番地(256語の
場合)までリニアに配列している。
(1) When the M field is 0'' (signal line 5c/ is ``1'') A 1-bit signal is input to the first address decoder 70 from signal line 5c/. decoder 70
One of the other outputs 80a becomes active. In the row of the second address decoder 71 that has become active, the contents of the data bus 5h are transferred to the multiplexer and sense
Data is written via amplifier 72. The first address decoders 70 are arranged linearly from address 0 to address 255 (in the case of 256 words).

以−ヒの如くして第2のアドレス・デコーダ71が機能
する。上記した第2のアドレス・デコーダ71の生成は
オン・ライン中でも可能であり、256語のRAM中に
多くのアドレス領域のデー力を持つ阜ができる。
The second address decoder 71 functions as follows. The above-mentioned second address decoder 71 can be generated online, and a 256-word RAM can have data for many address areas.

(ii) Mフィールドが1”の場合(信号線5 c 
/が”0″) 第1のアドレス・デコーダ70は信号線5 c /の内
容が0”であることから、その動作が阻止−yれ、第2
のアドレス・デコーダ71は単なるアドレス・デコーダ
として機能し、アドレス・バス!’id、5eから入力
するアドレスとμ/Mフィールドの指定Vこ従い、入力
するアドレスの一致検出4−イー1〕。人力アドレスと
あらかじめ〒1g込まれてあ・Cアドレス情報が一致し
た行をアクティブにする。
(ii) When the M field is 1” (signal line 5 c
/ is "0") Since the content of the signal line 5c / is "0", the first address decoder 70 is prevented from operating, and the second address decoder 70 is
The address decoder 71 functions simply as an address decoder, and the address decoder 71 of the address bus ! 'id, 5e to match the address to be input according to the specification V of the μ/M field 4-E1]. Activate the line where the manual address and the A/C address information entered in advance are matched.

第2図のアドレス・デコーダ71は、前記した第6図に
おける1ビツトに相当するメモリセルフ00を一トリク
ス状に配列して得られる。上記ピル700に、4込まれ
た値により第6図と同様のアドレス・デコーダが形成さ
れる小になる。この嚇合、本デ゛コーダはダイナミック
にNF換え可能となる為、オン・ラインでRAM上のレ
ジスタ及びメモリのアドレス変更を行えるので、より可
変構造化する。第8図は第7図におけるセルフ00の内
部回路を詳細に示したものである。アドレス・デコーダ
を構成するデコード・ビットが1″かII Ouかを記
憶するメモリ・セル80、アドレス・パターン入力時の
書込み制御信号80a)i込み用アドレス・パターン及
びアドレス入力バス80b及び80bと反対の論理とな
る80bデコード結果をのせるバス80C1アドレス入
力に対して、入力アドレスの1ビツトがメモリ・セル8
80に記憶された値と一致したか否かを検出する回路8
1から成る。
Address decoder 71 in FIG. 2 is obtained by arranging memory cells 00 corresponding to one bit in FIG. 6 in a matrix. The value entered into the pill 700 becomes a value that forms an address decoder similar to that shown in FIG. In this case, since this decoder can dynamically change the NF, addresses of registers and memory on the RAM can be changed online, making the structure more variable. FIG. 8 shows the internal circuit of self 00 in FIG. 7 in detail. Memory cell 80 for storing whether the decode bit forming the address decoder is 1'' or II Ou, write control signal 80a) when inputting the address pattern 80a) Address pattern for i writing and address input bus 80b and opposite to 80b For the bus 80C1 address input carrying the 80b decoding result with the logic of
A circuit 8 for detecting whether the value matches the value stored in 80.
Consists of 1.

(IJアドレス・パターンの入力 書込み制御信号80aが1”の時、バス80b及び80
bの値はメモリ・セル80に書込まれる。
(When the input write control signal 80a of the IJ address pattern is 1", the buses 80b and 80
The value of b is written to memory cell 80.

(2)アドレスのデコード 前項でメモリ・セル80に記憶された値とバス80b及
び80bの値が一致しなかった場合、前記検出回路81
によシバスCを0”にする。従つて、バスC上に接1;
されたセルフ00がすべて入力のアドレスに対し7て一
致した場合のみバスCは1”となって第5図のメモリ部
522の中の1つの語を駆動する。
(2) Address decoding If the value stored in the memory cell 80 in the previous section and the values on the buses 80b and 80b do not match, the detection circuit 81
Set bus C to 0". Therefore, connect 1 to bus C;
Only when all of the input 00's match the addresses of the inputs does the bus C go to 1'' and drive one word in the memory section 522 of FIG.

以上の実施例で詳イ111に説明しプζように、マイク
ロ命令中に設けたレジスタ/′メモリ指定ビットとRA
Mアドレス・デコーダのマスクあるいはソフトウェア・
プログラマブルな構成をとる事によって、マイクロプロ
セッサのレジスタ群とメモリ’+iu域を同じRAM上
に配置1間し潜るのでレジスタ群の故、配置場所が任意
ケ31べるだめ、マイクロコンピュータの可変構造化が
得られる。
As explained in detail in Section 111 of the above embodiment, the register/' memory specification bit and RA provided in the microinstruction are
M address decoder mask or software
By adopting a programmable configuration, the register group of the microprocessor and the memory '+iu area can be placed on the same RAM, so the register group can be placed in any location, making the microcomputer's variable structure possible. is obtained.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、マイクロコンピュータに内蔵されたラ
ンダム・ア多セス・メモリ内にレジスタ領域とメモリ領
域を任意に設定できるので、データ処理装置における被
制御部である演算部の可変性をより高めた可変+1・゛
−造造化マイクロコンピュタを提供できる。
According to the present invention, the register area and memory area can be arbitrarily set in the random access memory built into the microcomputer, thereby further increasing the variability of the arithmetic unit that is the controlled unit in the data processing device. It is possible to provide a variable +1.

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

i、(+1,1図はマイクロプログラム制御のシングル
チップ・マイクロコンピュータの一般的な構成を示す図
、第2図は第1図におけるマイクロプログラムの一例を
示す図、第3図は第2図における演算部の概略を示す図
、第4図はシングルチップ・マイ、クロコンピユータ内
のRAMのマツピングを示1−1!=!l、j¥!5図
は本発明による可変構造化マイクロ”:1ンビユータの
一実施例を示す全体構成図、第6図r、I:第5図にお
けるRAMのアドレス・デコーダの一:i≦施例を示す
図、;17図は邦換え可能なアト・′ス・デコーダの一
実施例を示す図、第8図は第71Aに示すメモリ・セル
の一具体例を示す図であ4)。 53・・・マイクロ命令レジスタ、55・・・バス・ト
ラ、イバ、56,57.58・・・アドレス・バッファ
、521.70.71・・・アドレスデコーダ、700
第 10 范 2 霧 第 3 の 第 4 呂 鱈 5町
i, (+1, 1 is a diagram showing the general configuration of a single-chip microcomputer controlled by a microprogram, FIG. 2 is a diagram showing an example of the microprogram in FIG. 1, and FIG. 3 is a diagram showing an example of the microprogram in FIG. 2. Figure 4 shows the mapping of the RAM in the single-chip micro computer. Fig. 6 r, I: A diagram showing an example of the RAM address decoder in Fig. 5, where i≦;・A diagram showing an embodiment of a decoder. FIG. 8 is a diagram showing a specific example of the memory cell shown in FIG. , 56, 57.58... address buffer, 521.70.71... address decoder, 700
10th Fan 2 Kiri 3rd 4th Luo 5 Town

Claims (1)

【特許請求の範囲】 1、マイクロプログラム制御部および該マイクロプログ
ラム制御部によって制御される演算部を有するマイクロ
プロセッサと、マイクロプロセッサが使用するデータを
格納するランダムアクセスメモ’)(RAM)を共通バ
スで接続した構成のマイクロコンピュータにおいて、マ
イクロプログラム制御部で使用するマイクロ命令中に、
レジスタ番号を指定するレジスタフィールドと、レジス
タフィールドの内容を共通バス中のアドレスバスに出力
するか否かを決定する識別フラグを設け、該RAMには
レジスタ領域とデータ領域が設定され、該RA 、Mは
、該演算部或いはマイクロプログラム制御部が出力した
アドレスバスの内容および該識別フラグの内容によりレ
ジスタ領域とデータ領域が識別されてアクセスされるよ
うにしたことを特徴とする可変構造化マイクロコンピュ
ータ。 2、特許請求の範囲第1項記載のRAMは、識別フラグ
の内容に応じてアドレスバスの内容とRAMのアドレス
の対応関係を変えるプログラマブルなアドレスデコーダ
の出力によってアクセスされるようになっている可変構
造化マイクロコンピュータ5. 3、特許請求の範囲第2項記載のアドレスデコーp−f
プログラマブル・ロジック・アレイで構成したことを特
徴とする可変構造化マイクロコンピユー タ。 4、特許請求の範囲第2項記載のアドレスデコーダを得
き換え可能なメモリで構成したことを特徴とする可変構
造化マイクロコンピュータ。
[Claims] 1. A microprocessor having a microprogram control unit and an arithmetic unit controlled by the microprogram control unit and a random access memory (RAM) for storing data used by the microprocessor are connected to a common bus. In a microcomputer configured to connect with
A register field for specifying a register number and an identification flag for determining whether or not to output the contents of the register field to an address bus in a common bus are provided, a register area and a data area are set in the RAM, and the RAM is M is a variable structured microcomputer characterized in that a register area and a data area are identified and accessed based on the contents of the address bus output by the arithmetic unit or the microprogram control unit and the contents of the identification flag. . 2. The RAM according to claim 1 is a variable RAM that is accessed by the output of a programmable address decoder that changes the correspondence between the contents of the address bus and the addresses of the RAM according to the contents of the identification flag. Structured microcomputer 5. 3. Address decoder p-f according to claim 2
A variable structured microcomputer characterized by being configured with a programmable logic array. 4. A variable structured microcomputer, characterized in that the address decoder according to claim 2 is constructed from a replaceable memory.
JP58057881A 1983-04-04 1983-04-04 Microcomputer of variable structure Granted JPS59184948A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58057881A JPS59184948A (en) 1983-04-04 1983-04-04 Microcomputer of variable structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58057881A JPS59184948A (en) 1983-04-04 1983-04-04 Microcomputer of variable structure

Publications (2)

Publication Number Publication Date
JPS59184948A true JPS59184948A (en) 1984-10-20
JPH0516610B2 JPH0516610B2 (en) 1993-03-04

Family

ID=13068326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58057881A Granted JPS59184948A (en) 1983-04-04 1983-04-04 Microcomputer of variable structure

Country Status (1)

Country Link
JP (1) JPS59184948A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS569841A (en) * 1979-07-04 1981-01-31 Fujitsu Ltd Operation system of working register
JPS569840A (en) * 1979-07-02 1981-01-31 Nec Corp Microprogram controller
JPS57756A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Data processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS569840A (en) * 1979-07-02 1981-01-31 Nec Corp Microprogram controller
JPS569841A (en) * 1979-07-04 1981-01-31 Fujitsu Ltd Operation system of working register
JPS57756A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Data processor

Also Published As

Publication number Publication date
JPH0516610B2 (en) 1993-03-04

Similar Documents

Publication Publication Date Title
US4450519A (en) Psuedo-microprogramming in microprocessor in single-chip microprocessor with alternate IR loading from internal or external program memories
US5794067A (en) Digital signal processing device
US4654781A (en) Byte addressable memory for variable length instructions and data
EP0213843B1 (en) Digital processor control
US8341328B2 (en) Method and system for local memory addressing in single instruction, multiple data computer system
JPH1027128A (en) Memory board and method and device for accessing memory
EP0170284B1 (en) Microcomputer
US4901235A (en) Data processing system having unique multilevel microcode architecture
JPS5817582A (en) Data storage and address specifying system for mutiplex word memory
US6421765B1 (en) Method and apparatus for selecting functional space in a low pin count memory device
EP0395377A2 (en) Status register for microprocessor
JPS6143345A (en) Memory device
US5535349A (en) Data processing system and method for providing chip selects to peripheral devices
KR100385493B1 (en) Microcontroller with a reconfigurable program status word
EP0532690B1 (en) Method and apparatus for managing page zero memory accesses in a multi-processor system
JPH07302254A (en) Microcomputer system
JPS59184948A (en) Microcomputer of variable structure
JPH0628177A (en) Microprocessor
JP2510604B2 (en) Storage device
US4404629A (en) Data processing system with latch for sharing instruction fields
EP0232796B1 (en) Pseudo-microprogramming in microprocessor with compressed control rom and with strip layout of busses, alu and registers
EP1271541A2 (en) Data storing circuit and data processing apparatus
JP2540959B2 (en) Information processing device
JPS6330658B2 (en)
JPH061451B2 (en) Memory allocation device for memory cartridge