Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPS6230455B2 - - Google Patents
[go: Go Back, main page]

JPS6230455B2 - - Google Patents

Info

Publication number
JPS6230455B2
JPS6230455B2 JP56077719A JP7771981A JPS6230455B2 JP S6230455 B2 JPS6230455 B2 JP S6230455B2 JP 56077719 A JP56077719 A JP 56077719A JP 7771981 A JP7771981 A JP 7771981A JP S6230455 B2 JPS6230455 B2 JP S6230455B2
Authority
JP
Japan
Prior art keywords
data
microprogram
internal memory
registers
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP56077719A
Other languages
Japanese (ja)
Other versions
JPS57193840A (en
Inventor
Yoshiki Shimoma
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP7771981A priority Critical patent/JPS57193840A/en
Publication of JPS57193840A publication Critical patent/JPS57193840A/en
Publication of JPS6230455B2 publication Critical patent/JPS6230455B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Description

【発明の詳細な説明】 この発明はマイクロプログラム制御方式のデー
タ処理装置、特にその命令実行の高速化に関する
ものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a microprogram-controlled data processing device, and particularly to speeding up the execution of instructions thereof.

第1図は従来のデータ処理装置の一例を示すブ
ロツク結線図である。図において1はプログラム
とデータを格納する主メモリ、2は中央処理装
置、3はこの中央処理装置と主メモリ1の間のメ
モリバス、20は中央処理装置2の内部メモリ、
21はメモリのアドレスを保持するメモリアドレ
スレジスタ、22は主メモリ1とのデータの授受
を行うメモリデータレジスタ、23はプログラム
の演算を行う演算処理部、24は中央処理装置内
のデータバス、25は演算処理部23による演算
結果のステータスを保持するステータスフラグ、
26は中央処理装置2の動作を制御する演算制御
部である。
FIG. 1 is a block diagram showing an example of a conventional data processing device. In the figure, 1 is a main memory that stores programs and data, 2 is a central processing unit, 3 is a memory bus between this central processing unit and the main memory 1, 20 is an internal memory of the central processing unit 2,
21 is a memory address register that holds memory addresses; 22 is a memory data register that exchanges data with the main memory 1; 23 is an arithmetic processing section that performs program operations; 24 is a data bus within the central processing unit; is a status flag that holds the status of the calculation result by the calculation processing unit 23;
26 is an arithmetic control unit that controls the operation of the central processing unit 2.

上記のように構成されたデータ処理装置におい
ては内部メモリ20には命令実行に必要なレジス
タ類、すなわち汎用レジスタ、浮動小数点レジス
タ、ワーキングレジスタ等が第2図のように割付
けられている。第2図は内部メモリ20内のレジ
スタの割付の一例を示すレジスタ割付図である。
第2図の例ではn個の汎用レジスタとn個の浮動
小数点レジスタ及びワーキングレジスタが割付け
られている。上記の各レジスタの中には第3図に
示したようにデータが保持されている。第3図は
汎用レジスタ及び浮動小数点レジスタ中に格納さ
れているデータ形式の一例を示すデータ形式図で
ある。第3図aは汎用レジスタ中に格納されてい
る固定小数点数の一例を示したものであり、固定
小数点は1語長(1語は16ビツト)であり、負の
数は2の補数形式で表現されビツト15が符号S
である。第3図6は浮動小数点レジスタに格納さ
れている浮動小数点数の一例を示したものであ
り、浮動小数点数は、符号部分S、指数部分E、
仮数部分Mとから成り、全体で2語長である。浮
動小数点形式で表現される数は(−1)S×16E-Eo
×0.M(Epは固定値)となる。第2図に示す内
部メモリ20内の各レジスタをそれぞれ独立した
ハードウエアで構成し、各レジスタがそれぞれ別
個の信号入力端子、信号出力端子を備えるように
することもできるが、そのようにすると、ハード
ウエア量が大きくなり、かつ入力用信号線及び出
力用信号線の配設面積が大きくなるので、第1図
及び第2図に示すように、複数のレジスタを1個
の内部メモリ20にまとめたのである。内部メモ
リ20は共通のデータ線と共通のアドレス線とを
備えていて、内部メモリ20から所望のデータ
(すなわち所望のレジスタの内容)を取り出そう
とすると、そのデータの格納位置を示すアドレス
を共通のアドレス線から入力し、共通のデータ線
上にそのデータを読出さねばならない。
In the data processing device configured as described above, registers necessary for executing instructions, such as general-purpose registers, floating point registers, working registers, etc., are allocated to the internal memory 20 as shown in FIG. FIG. 2 is a register allocation diagram showing an example of register allocation within the internal memory 20. As shown in FIG.
In the example of FIG. 2, n general-purpose registers, n floating point registers, and working registers are allocated. Data is held in each of the above registers as shown in FIG. FIG. 3 is a data format diagram showing an example of data formats stored in general-purpose registers and floating-point registers. Figure 3a shows an example of a fixed-point number stored in a general-purpose register.The fixed-point number is one word long (one word is 16 bits), and negative numbers are in two's complement format. bit 15 is the sign S
It is. FIG. 3 shows an example of a floating point number stored in a floating point register, and the floating point number has a sign part S, an exponent part E,
It consists of a mantissa part M, and has a total length of two words. The number expressed in floating point format is (-1) S ×16 E-Eo
×0.M (E p is a fixed value). It is also possible to construct each register in the internal memory 20 shown in FIG. 2 with independent hardware so that each register has a separate signal input terminal and signal output terminal, but in this case, Since the amount of hardware increases and the area for input signal lines and output signal lines increases, multiple registers are combined into one internal memory 20 as shown in FIGS. 1 and 2. It was. The internal memory 20 is equipped with a common data line and a common address line, and when attempting to retrieve desired data (that is, the contents of a desired register) from the internal memory 20, the address indicating the storage location of the data is transferred to the common address line. The data must be input from the address lines and read out onto the common data lines.

主メモリ1に格納されたプログラムのアドレス
がメモリアドレスレジスタ21にセツトされ、主
メモリ1から命令が読出される。読出された命令
はメモリデータレジスタ22にセツトされ、演算
制御部26で解読され、命令実行のためのマイク
ロプログラムが開始される。一連のマイクロプロ
グラムによつて命令の実行が終了すると、次の命
令アドレスがメモリアドレスレジスタ21にセツ
トされ上記の手順が繰返される。この動作によつ
て主メモリ1から読出されたプログラムが逐次実
行されてゆく。
The address of the program stored in main memory 1 is set in memory address register 21, and instructions are read from main memory 1. The read instruction is set in the memory data register 22, decoded by the arithmetic control section 26, and a microprogram for executing the instruction is started. When the execution of instructions by a series of microprograms is completed, the next instruction address is set in the memory address register 21 and the above procedure is repeated. Through this operation, the programs read from the main memory 1 are sequentially executed.

汎用レジスタの内容の正負を判別し、その結果
によつて処理1又は処理2を行う様な命令のマイ
クロプログラムフローを示したものが第4図であ
る。
FIG. 4 shows a microprogram flow of an instruction that determines whether the content of a general-purpose register is positive or negative and performs process 1 or process 2 depending on the result.

第4図は命令実行のためのマイクロプログラム
のフローチヤートで、図において(40)は汎用レ
ジスタ読出しステツプ、(41)は符号判定ステツ
プ、(42)は処理1のステツプ、(43)は処理2の
ステツプである。
FIG. 4 is a flowchart of a microprogram for instruction execution, in which (40) is a general-purpose register read step, (41) is a sign determination step, (42) is a process 1 step, and (43) is a process 2 step. This is the step.

汎用レジスタはすべて内部メモリ20の中に割
付けられているため、まず汎用レジスタの読出し
ステツプ(40)が行なわれる。この時演算処理部
23でデータの正負が判定され、データの正負を
示すステータスフラツグ25がセツトされる。次
のマイクロプログラムの符号判定ステツプ(41)
でステータスフラツグ25の内容が判定され、デ
ータの正負によつてマイクロプログラムの分岐が
行なわれる。処理1(42)及び処理2(43)では
それぞれデータの正負に適した処理が行なわれ、
1個の命令の実行が完了する。
Since all the general purpose registers are allocated in the internal memory 20, a read step (40) of the general purpose registers is performed first. At this time, the arithmetic processing section 23 determines whether the data is positive or negative, and a status flag 25 indicating the positive or negative state of the data is set. Next microprogram sign determination step (41)
The contents of the status flag 25 are determined, and the microprogram is branched depending on whether the data is positive or negative. In process 1 (42) and process 2 (43), processes appropriate for the positive and negative data are performed, respectively.
Execution of one instruction is completed.

従来のデータ処理装置は、プログラム作成を容
易にするため、多数の汎用レジスタ及び浮動小数
点レジスタを必要とした。またこれらを最小のハ
ードウエア量で実現するためには、個別のレジス
タ類を持つことをやめ、メモリ素子によつて構成
する必要があつた。
Conventional data processing devices required large numbers of general purpose registers and floating point registers to facilitate programming. Furthermore, in order to realize these with a minimum amount of hardware, it was necessary to eliminate the need for individual registers and instead construct the system using memory elements.

しかるに上記のように従来のデータ処理装置
は、データの符号判定等にマイクロプログラムの
ステツプを要し、命令実行時間が遅くなり、マイ
クロプログラムのステツプ数を増えるという欠点
があつた。
However, as described above, the conventional data processing apparatus has the disadvantage that microprogram steps are required for data sign determination, etc., which slows down instruction execution time and increases the number of microprogram steps.

この発明は上記のような従来装置の欠点を除去
するためになされたもので、最小のハードウエア
の追加で命令実行を高速化し、しかもマイクロプ
ログラムの容量を縮小できるデータ処理装置を得
ることを目的とするものである。
This invention was made in order to eliminate the above-mentioned drawbacks of conventional devices, and its purpose is to provide a data processing device that can speed up instruction execution and reduce the capacity of microprograms with minimal addition of hardware. That is.

第5図はこの発明の一実施例を示すブロツク結
線図であり1〜3,20〜26は上記第1図の同
一符号と同一又は相当部分を示すものである。2
7はnビツトのフリツプフロツプである。又第6
図はこの発明のデータ処理装置の命令実行のため
のマイクロプログラムのフローチヤートであり、
図において(50)は符号判定ステツプ、(51)は
処理1ステツプ、(52)は処理2ステツプであ
る。
FIG. 5 is a block diagram showing one embodiment of the present invention, and numerals 1 to 3 and 20 to 26 indicate the same or corresponding parts as the same reference numerals in FIG. 1 above. 2
7 is an n-bit flip-flop. Also the 6th
The figure is a flowchart of a microprogram for executing instructions of the data processing device of the present invention.
In the figure, (50) is a sign determination step, (51) is a first processing step, and (52) is a second processing step.

なおこの装置の場合にも内部メモリ20内のレ
ジスタの割付は第2図と同様であり汎用レジスタ
及び浮動小数点レジスタのデータ形式も第3図と
同様である。
In the case of this device as well, the allocation of the registers in the internal memory 20 is the same as that in FIG. 2, and the data formats of the general-purpose registers and floating-point registers are also the same as in FIG. 3.

上記のように構成されたデータ処理装置におい
ては命令が主メモリ1から逐次読み出され、解読
され、実行される手順は従来の第1図のデータ処
理装置と同様である。また、たとえば汎用レジス
タ1(第2図参照)の内容が内部メモリ20に書
込まれるとき、その符号ビツト(第3図aの第15
番ビツトに相当するビツト)の論理がフリツプフ
ロツプ27の第1番ビツトにセツトされ、汎用レ
ジスタ2の内容が内部メモリ20に書込まれると
き、その符号ビツトの論理がフリツプフロツプ2
7の第2番ビツトにセツトされる。命令実行のた
めのマイクロプログラムの動作はマイクロプログ
ラムにおいて汎用レジスタの符号判別のステツプ
(50)が行なわれ、その結果によつて処理1のス
テツプ(51)又は処理2のステツプ(52)に分岐
される。これは汎用レジスタ1〜nの符号がすべ
てフリツプフロツプ27で構成されているためで
あり、汎用レジスタの内容を一担読み出してその
結果をステータスフラツグ25にセツトするので
はなく、直接フリツプフロツプ27の出力を判定
して演算制御部26でのマイクロプログラムの分
岐先アドレスを決定することができる。処理1の
ステツプ(51)及び処理2のステツプ(52)では
それぞれデータの正負に適した処理を行い1個の
命令の実行が完了する。
In the data processing apparatus configured as described above, instructions are sequentially read out from the main memory 1, decoded, and executed in the same manner as in the conventional data processing apparatus shown in FIG. For example, when the contents of general-purpose register 1 (see FIG. 2) are written to internal memory 20, its sign bit (15th bit in FIG. 3a) is written to internal memory 20.
When the logic of the bit corresponding to the sign bit is set to the first bit of the flip-flop 27 and the contents of the general-purpose register 2 are written to the internal memory 20, the logic of the sign bit is
It is set to the second bit of 7. In the operation of the microprogram for executing instructions, the microprogram performs a step (50) to determine the sign of the general-purpose register, and depending on the result, branches to step 1 (51) or step 2 (52). Ru. This is because the codes of general-purpose registers 1 to n are all constructed by the flip-flop 27, and instead of reading the contents of the general-purpose registers and setting the result in the status flag 25, the code is directly output from the flip-flop 27. By determining this, the branch destination address of the microprogram in the arithmetic control unit 26 can be determined. In step (51) of processing 1 and step (52) of processing 2, processing appropriate for the positive/negative data is carried out, and the execution of one instruction is completed.

上記のように第6図に示すマイクロプログラム
の例の場合には従来装置の場合にくらべて命令の
開始から終了までに要するマイクロプログラムの
ステツプ数を2/3にすることができ、命令の実行
スピードは1.5倍に高速化することができる。ま
た汎用レジスタ、浮動小数点レジスタ、ワーキン
グレジスタはすべて内部メモリに格納できるため
個別にレジスタを持つ場合に較べてハードウエア
量を大幅に削減できる。更に符号部分のみを個別
にフリツプフロツプとして持つためにハードウエ
アの増加は高々フリツプフロツプnビツト程度で
あり、ハードウエアの増加を最小限にすることが
可能となる。また命令機能を実現するためのマイ
クロプログラムの容量も従来に比べて縮減でき
る。
As mentioned above, in the case of the microprogram example shown in Figure 6, the number of microprogram steps required from the start to the end of an instruction can be reduced to 2/3 compared to the conventional device, and the number of microprogram steps required to execute the instruction can be reduced to two thirds. The speed can be increased by 1.5 times. Furthermore, since the general-purpose registers, floating-point registers, and working registers can all be stored in internal memory, the amount of hardware can be significantly reduced compared to the case where registers are provided individually. Furthermore, since only the code portion is individually provided as a flip-flop, the increase in hardware is at most n flip-flops, making it possible to minimize the increase in hardware. Furthermore, the capacity of the microprogram for realizing the instruction function can be reduced compared to the conventional method.

なお上記実施例では汎用レジスタの符号部分を
フリツプフロツプとして持つ場合について述べた
が、浮動小数点レジスタの場合についても同様の
効果を期待できる。またワーキングレジスタ内に
格納されるデータについても特に使用頻度の高い
ものについてフリツプフロツプとして個別に持て
ば同様の効果を期待できる。
In the above embodiment, a case has been described in which the sign portion of the general-purpose register is used as a flip-flop, but similar effects can be expected in the case of a floating-point register. Furthermore, a similar effect can be expected if the data stored in the working register is stored individually as a flip-flop, particularly for data that is frequently used.

ところで上記実施例では1語16ビツトの場合に
ついて述べたが、1語のビツト長は任意でよく、
また汎用レジスタ、浮動小数点レジスタの語長も
任意であることはいうまでもない。
By the way, in the above embodiment, the case where one word is 16 bits has been described, but the bit length of one word may be arbitrary.
It goes without saying that the word lengths of the general-purpose registers and floating-point registers are also arbitrary.

この発明は以上説明したとおり、汎用レジス
タ、浮動小数点レジスタ、ワーキングレジスタを
メモリ素子により構成し符号部分だけを個別のフ
リツプフロツプにより構成するという簡単な構成
により命令実行の高速化とマイクロプログラムの
容量の削減を実現できるという効果がある。
As explained above, this invention has a simple configuration in which general-purpose registers, floating-point registers, and working registers are configured by memory elements, and only the code part is configured by individual flip-flops, thereby speeding up instruction execution and reducing the size of microprograms. This has the effect of making it possible to achieve the following.

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

第1図は従来のデータ処理装置の一例を示すブ
ロツク結線図、第2図はレジスタ割付図、第3図
はデータ形式図、第4図は従来装置のマイクロプ
ログラムのフローチヤート、第5図はこの発明の
一実施例を示すブロツク結線図、第6図はこの発
明のマイクロプログラムのフローチヤートであ
る。 図において1は主メモリ、2は中央処理装置、
20は内部メモリ、21はメモリアドレスレジス
タ、22はメモリデータレジスタ、23は演算処
理部、25はステータスフラグ、26は演算制御
部、27はフリツプフロツプである。なお各図中
同一符号は同一または相当部分を示すものとす
る。
Fig. 1 is a block wiring diagram showing an example of a conventional data processing device, Fig. 2 is a register allocation diagram, Fig. 3 is a data format diagram, Fig. 4 is a flowchart of a microprogram of the conventional device, and Fig. 5 is a diagram. FIG. 6 is a block diagram showing one embodiment of the present invention, and is a flowchart of the microprogram of the present invention. In the figure, 1 is the main memory, 2 is the central processing unit,
20 is an internal memory, 21 is a memory address register, 22 is a memory data register, 23 is an arithmetic processing section, 25 is a status flag, 26 is an arithmetic control section, and 27 is a flip-flop. Note that the same reference numerals in each figure indicate the same or corresponding parts.

Claims (1)

【特許請求の範囲】[Claims] 1 マイクロプログラム制御方式によつて命令を
逐次実行するデータ処理装置において、上記命令
の実行に必要な各種のデータを格納する内部メモ
リ、この内部メモリの指定したアドレス位置へ指
定したデータを書込み、指定したアドレス位置の
データを読出す手段、上記内部メモリ内の特定ビ
ツトの各ビツトに対応してそれぞれ設けられ、上
記特定ビツトを含むデータが上記内部メモリに書
込まれる時点で、当該特定ビツトの論理がセツト
される各フリツプフロツプ回路、この各フリツプ
フロツプ回路の内容により上記マイクロプログラ
ムの分岐アドレスを決定する演算制御部を備えた
ことを特徴とするデータ処理装置。
1. In a data processing device that sequentially executes instructions using a microprogram control method, an internal memory that stores various data necessary for executing the above instructions, writes specified data to a specified address location in this internal memory, and A means for reading data at an address position is provided corresponding to each of the specific bits in the internal memory, and when data including the specific bit is written to the internal memory, the logic of the specific bit is read out. What is claimed is: 1. A data processing device comprising: each flip-flop circuit in which a microprogram is set; and an arithmetic control section that determines a branch address of the microprogram based on the contents of each flip-flop circuit.
JP7771981A 1981-05-22 1981-05-22 Data processing device Granted JPS57193840A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7771981A JPS57193840A (en) 1981-05-22 1981-05-22 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7771981A JPS57193840A (en) 1981-05-22 1981-05-22 Data processing device

Publications (2)

Publication Number Publication Date
JPS57193840A JPS57193840A (en) 1982-11-29
JPS6230455B2 true JPS6230455B2 (en) 1987-07-02

Family

ID=13641690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7771981A Granted JPS57193840A (en) 1981-05-22 1981-05-22 Data processing device

Country Status (1)

Country Link
JP (1) JPS57193840A (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63118938A (en) * 1986-11-07 1988-05-23 Hitachi Ltd Logical arithmetic unit
JPS63245525A (en) * 1987-03-31 1988-10-12 Toshiba Corp Microprogram processor
JPH0766327B2 (en) * 1987-11-25 1995-07-19 三菱電機株式会社 Signal processing method and apparatus
JPH0766328B2 (en) * 1987-11-25 1995-07-19 三菱電機株式会社 Signal processing method of processor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5851015Y2 (en) * 1979-11-12 1983-11-21 三菱鉛筆株式会社 tape writer tape feeding device

Also Published As

Publication number Publication date
JPS57193840A (en) 1982-11-29

Similar Documents

Publication Publication Date Title
JP2970821B2 (en) Data processing device
KR920010335B1 (en) Micro processor and its device
JPH0527971A (en) Information processor
JPS62115542A (en) Information processor
EP0240606A2 (en) Pipe-line processing system and microprocessor using the system
US5265204A (en) Method and apparatus for bit operational process
EP0725336A2 (en) Information processor
JP3705811B2 (en) Microcontroller with reconfigurable program status word
JPS6230455B2 (en)
KR920002573B1 (en) Data processor
KR910001708B1 (en) Central processing unit
US6437790B1 (en) Apparatus for bit operational process
JP2553200B2 (en) Information processing device
JPS5826584B2 (en) data processing equipment
JPS6211736B2 (en)
JPH07219766A (en) Processor
JPH03271829A (en) Information processor
JPH0821009B2 (en) CHANNEL CONTROLLER INITIALIZATION METHOD AND SYSTEM FOR THE INITIALIZATION
JP3058524B2 (en) Program control unit
JP2918570B2 (en) Central processing unit
JP2743685B2 (en) Fixed-point processor
JPS61123937A (en) Data-driven control method for data processing equipment
JPS6149695B2 (en)
JP2583614B2 (en) Vector arithmetic unit
JPH05334074A (en) Microprocessor