JPS6352240A - Data processor - Google Patents
Data processorInfo
- Publication number
- JPS6352240A JPS6352240A JP19530186A JP19530186A JPS6352240A JP S6352240 A JPS6352240 A JP S6352240A JP 19530186 A JP19530186 A JP 19530186A JP 19530186 A JP19530186 A JP 19530186A JP S6352240 A JPS6352240 A JP S6352240A
- Authority
- JP
- Japan
- Prior art keywords
- register
- group
- register group
- data processing
- contents
- 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
- 238000011084 recovery Methods 0.000 claims 1
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 abstract description 8
- 230000004044 response Effects 0.000 abstract description 5
- 238000000034 method Methods 0.000 abstract description 3
- 239000000872 buffer Substances 0.000 description 23
- 230000002457 bidirectional effect Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 229910021421 monocrystalline silicon Inorganic materials 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/462—Saving or restoring of program or task context with multiple register sets
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、データ処理装置に関し、例えば内蔵のRA
Mを有するマイクロプロセッサに利用して有効な技術に
関するものである。[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to a data processing device, for example, a built-in RA
The present invention relates to a technique effective for use in a microprocessor having M.
マイクロプロセッサは、割り込みやタスク切り換え等に
よるコンテキストスキフチが生じると、上記コンスキス
トスイッチが生じる前のプログラムの実行に使用してい
る各種レジスタの内容を退避したり、又はその逆に上記
退避したレジスタの内容をもとのレジスタに回復させる
というデータ処理を行う。このようなデータ処理は、ス
タック(メモリ)とスタック・ポインタによって実行さ
れる。このようなレジスタ群の退避/回復に関しては、
例えば、CQ出版■昭和58年9月15日発行rマイク
ロコンピュータの内部構造と機械語j福永邦雄著、頁1
63〜頁196に述べられている。When a context skift occurs due to an interrupt or task switch, the microprocessor saves the contents of various registers used to execute the program before the above conskist switch occurs, or vice versa. Performs data processing to restore the contents of to the original register. Such data processing is performed using a stack (memory) and a stack pointer. Regarding saving/restoring such a register group,
For example, CQ Publishing ■ Published September 15, 1980 r Internal structure of microcomputer and machine language j Written by Kunio Fukunaga, page 1
63-196.
(発明が解決しようとする問題点〕
上記のコンテキストスイッチが頻繁に生じるプログラム
の実行においては、上記各種レジスタの内容の退避及び
回復に時間が費やされるため、実質的なデータ処理速度
が遅くなってしまう。(Problem to be Solved by the Invention) When executing a program in which the above context switches occur frequently, time is spent saving and restoring the contents of the various registers, which slows down the actual data processing speed. Put it away.
この発明の目的は、コンテキストスイッチを伴うデータ
処理速度の向上を図ったマイクロプロセッサを提供する
ことにある。An object of the present invention is to provide a microprocessor that improves data processing speed with context switching.
こ9発明の前記ならびにそのほかの目的と新規な特徴は
、本明細書の記述および添付図面から明らかになるであ
ろう。The above and other objects and novel features of this invention will become clear from the description of this specification and the accompanying drawings.
本願において開示される発明のうち代表的なものの概要
を簡単に説明すれば、下記の通りである。A brief overview of typical inventions disclosed in this application is as follows.
すなわち、命令実行に必要とされる複数組からなるレジ
スタ群と、上記複数組のうち命令の実行に使用する1つ
のレジスタ群を指定するポインタと、上記レジスタ群の
情報を外部の記憶装置に退避させる直接メモリアクセス
開缶回路とを内蔵し、コンテキストスイッチに応じて上
記レジスタ群の指定を切り換えるともに、前に使用して
いたレジスタ群の内容を上記直接メモリアクセス制御回
路によって外部の記Ja装譚に退避させて常に空き状態
のレジスタ群が存在するようにするもである。That is, a register group consisting of multiple sets required for instruction execution, a pointer that specifies one register group used for instruction execution among the multiple sets, and information on the above register group is saved to an external storage device. The direct memory access control circuit has a built-in direct memory access opening circuit that switches the designation of the register group in response to a context switch, and also transfers the contents of the previously used register group to external memory using the direct memory access control circuit. This is done so that there is always a group of empty registers.
上記した手段によれば、内蔵の直接メモリアクセス制御
回路による外部記憶装置とレジスタ群との間での内容の
退避/回復が行われることによって常に空き状態の1つ
のレジスタ群が存在するため、コンテキストスイッチや
リターンに伴うデータ処理が高速に行える。According to the above-mentioned means, there is always one free register group as a result of the built-in direct memory access control circuit saving and restoring the contents between the external storage device and the register group. Data processing associated with switches and returns can be performed at high speed.
第1図には、この発明に係るマイクロプロセッサの一実
施例のブロック図が示されている。同図において点線で
囲まれたマイクロプロセッサMPU(LSI)を構成す
る各回路ブロックは、公知の半導体集積回路の5!造技
術によって、特に制限されないが、単結晶シリコンのよ
うな1つの半導体基板上において形成される。FIG. 1 shows a block diagram of an embodiment of a microprocessor according to the present invention. Each of the circuit blocks constituting the microprocessor MPU (LSI) surrounded by dotted lines in the figure is a 5! of a known semiconductor integrated circuit. It is formed on a single semiconductor substrate such as, but not limited to, single crystal silicon, depending on the manufacturing technology.
この実施例では、高速なコンテキストスイッチを伴いデ
ータ処理を可能にするため、特に制限されないが、Aな
いしCからなる3組のレジスタ群が設けられる。これら
の各レジスタ群A−Cは、内蔵のRAMのエリア内に分
割されてそれぞれ構成される。上記レジスタ群Aないし
Cは、それぞれ所定のプログラムの命令実行に必要なプ
ログラムカウンタPCAないしpcc、スタックポイン
タSPAないしspc、各種レジスタREAないしRE
C及びポインタAないしCから構成される。In this embodiment, in order to enable data processing with high-speed context switching, three sets of registers consisting of A to C are provided, although not particularly limited thereto. Each of these register groups A to C is divided and configured within an area of a built-in RAM. The above register groups A to C are program counters PCA to pcc, stack pointers SPA to spc, and various registers REA to RE necessary for executing instructions of a predetermined program, respectively.
C and pointers A to C.
これらの各レジスタ群は、内部バスB1ないしB3の3
バスによって次の各回路ユニットと結合される。Each of these register groups is connected to three internal buses B1 to B3.
It is connected to each of the following circuit units by a bus.
算術論理演算ユニフ)ALUは、上記バスB1からのデ
ータと、上記バスB1を介して供給されたデータの取り
込みを行うラッチ(アキュムレータ)FFの信号を受け
て、命令語の解読により形成される制御信号に従って算
術又は論理演算動作を行う。この演算結果は、バスB2
に出力され上記各レジスタ群に取り込まれる。The arithmetic and logic operation unit (ALU) receives data from the bus B1 and a signal from a latch (accumulator) FF that takes in the data supplied via the bus B1, and performs control formed by decoding a command word. Perform arithmetic or logical operation according to the signal. This calculation result is the bus B2
is output to and taken into each of the above register groups.
また、外部メモリ等とのデータの授受のために、データ
バッファDBIが設けられる。このデータバッファDB
Iは、特に制限されないが、バスB1と双方向データバ
ッファDABとの間でデータの転送を行われる。すなわ
ち、外部メモリ等から読み出された外部データバス上の
データは、上記双方向データバッファDABによって取
り込まれる。この双方向データバッファDABの信号D
Iは、上記データバッファDBIを介して内部バスB1
に送出される。逆に、上記のような算術演算ユニットA
LUによる演算により生成され、外部メモリ装置等に送
出されるべき内部バスBl上のデータは、上記データバ
ッファDBIに取り込まれる。そして、上記双方向デー
タバッファDABを介して外部バス上に送出される。一
方、バスBl上のアドレス信号は、アドレスバッファA
B2とアドレス出力回路ADBを介して外部バスに送出
される。これによって、外部のメモリ装置や入出力装置
に対するアクセスが行われる。Further, a data buffer DBI is provided for exchanging data with an external memory and the like. This data buffer DB
Although not particularly limited, data is transferred between bus B1 and bidirectional data buffer DAB. That is, data on the external data bus read from an external memory or the like is taken in by the bidirectional data buffer DAB. Signal D of this bidirectional data buffer DAB
I is connected to the internal bus B1 via the data buffer DBI.
sent to. Conversely, the arithmetic operation unit A as above
Data on the internal bus Bl generated by calculations by the LU and to be sent to an external memory device or the like is taken into the data buffer DBI. The data is then sent onto the external bus via the bidirectional data buffer DAB. On the other hand, the address signal on bus Bl is sent to address buffer A.
B2 and the address output circuit ADB to the external bus. This allows access to external memory devices and input/output devices.
また、上記外部メモリ装置に格納されたプログラムの命
令語は、上記双方向データバッファDABに取り込まれ
る。この命令語は、命令レジスタIRに送出される。こ
の命令レジスタIRに取り込まれた命令語は、マイクロ
プログラムROM(以下、単にmROMと称する)に供
給される。Further, the command words of the program stored in the external memory device are taken into the bidirectional data buffer DAB. This instruction word is sent to the instruction register IR. The instruction word taken into the instruction register IR is supplied to a microprogram ROM (hereinafter simply referred to as mROM).
このmROMは、上記命令語に応じた複数ステップから
なるマイクロ命令の読み出しが行われる。This mROM is used to read microinstructions consisting of a plurality of steps according to the instruction word.
このマイクロ命令は、一方においてデコーダDCRに供
給され、ここで上記内部バスを介してのデータの転送、
各種レジスタの動作及び算術論理演算ユニフ)ALUの
動作に必要な各種制御信号及びタイミング信号を発生さ
せる。また、上記マイクロ命令は、他方において入力側
に帰還され、条件ジャンプや次のアドレス指定に用いら
れる。このように、外部メモリ等から供給されるマクロ
命令は、上記mROMに格納された複数ステップからな
るマイクロ命令により実行される。This microinstruction is fed on the one hand to the decoder DCR, which transfers the data via the internal bus,
Generates various control signals and timing signals necessary for operation of various registers and operation of arithmetic and logic unit (ALU). Furthermore, the microinstructions mentioned above are fed back to the input side on the other hand and are used for conditional jumps and next address designation. In this way, a macroinstruction supplied from an external memory or the like is executed by a microinstruction consisting of multiple steps stored in the mROM.
また、割り込み回路INTは、その割り込みがあると、
コンデションレジスタCRをアクセスする。コンデショ
ンレジスタCRは、上記レジスタ群人ないしCに対応し
て、それぞれ以下の3つの状態を保持し、その状態に応
じた命令実行を指示する。上記状態の1つの状態は現在
使用してことであり、他の1つの状態は現在実行してい
るプログラムの直前に使用していたことであり、更に他
の1つの状態は、は空き状態である。Also, when the interrupt circuit INT receives the interrupt,
Access condition register CR. The condition register CR holds the following three states, respectively, corresponding to the register groups 1 to C, and instructs the execution of instructions according to the states. One of the above states is currently in use, another is in use immediately before the currently running program, and yet another is free. be.
上記割り込み回路INTから割り込みがあると、上記コ
ンデシジンレジスタCRは、上記状態に応じて、空き状
態のレジスタ群に対するアクセスを行うよう、命令デコ
ーダDCRに指示する。When there is an interrupt from the interrupt circuit INT, the condesidine register CR instructs the instruction decoder DCR to access the vacant register group according to the state.
この実施例では、上記3つのレジスタ群のうち、常に空
き状態の1つのレジスタ群を作り出すために、直接メモ
リアクセス制御回路DMACが内蔵される。この直接メ
モリアクセス制御回路DMACにより、上記空き状態に
すべきレジスタ群の内容を外部のメモリ (スタックエ
リア)に退避させるために、又は退避した内容を上記レ
ジスタ群に回復させるためにアドレスバッファAB2と
データバッファDB2及び内部バスB3が設けられる。In this embodiment, a direct memory access control circuit DMAC is included in order to create one register group that is always empty among the three register groups. This direct memory access control circuit DMAC uses address buffer AB2 to save the contents of the register group to be made vacant to an external memory (stack area) or restore the saved contents to the register group. A data buffer DB2 and an internal bus B3 are provided.
すなちわ、内部バスB3は、上記各レジスタ群Aないし
Cと、上記アドレスバッファAB2及びデータバッファ
DB2を結合させる。これらのアドレスバッファAB2
とデータバッファDB2は、上記直接メモリアクセス制
御回路DMACの指示により、上記アドレス出力回路A
DB及び双方向データバッファDB2と選択的に結合さ
れる。That is, the internal bus B3 connects each of the register groups A to C with the address buffer AB2 and data buffer DB2. These address buffers AB2
and data buffer DB2 output the address output circuit A according to instructions from the direct memory access control circuit DMAC.
DB and bidirectional data buffer DB2.
この実施例による割り込みやタスク切り換え等によるコ
ンテキストスイッチを伴いマイクロプロセッサの動作を
第2図に示した動作概略図を参照して次に説明する。The operation of the microprocessor according to this embodiment with context switching due to interrupts, task switching, etc. will now be described with reference to the operational schematic diagram shown in FIG.
最初は、3つのレジスタ群が全て空き状態であるので、
例えばレジスタ群Aが使用状態であったとする。この状
態では、コンデションレジスタCRは、レジスタ群Aが
現在使用状態であり、他の2つのレジスタ群B及びCが
空き状態であることを示している。Initially, all three register groups are empty, so
For example, assume that register group A is in use. In this state, the condition register CR indicates that register group A is currently in use and the other two register groups B and C are free.
次に、第1回目のコンテキストスイッチが生じた場合、
2つの空き状態のレジスタ群BとCが存在することから
、予め決められた順位のレジスタ群Bを用いて直ちにそ
のプログラムの実行が行われる。このとき、上記以前の
プログラムの実行に用いられたいたレジスタ群Aの内容
はそのまま保持され、コンデシジンレジスタCRには、
レジスタ群Aには以前のプログラム実行途中の内容が保
存さていている状態(旧)が書き込まれる。このように
して、同図に示すようなレジスタ群の状態が作り出され
る。Next, when the first context switch occurs,
Since there are two free register groups B and C, the program is immediately executed using register group B in a predetermined order. At this time, the contents of the register group A used for the previous program execution are retained as they are, and the condesidine register CR contains the following information:
A state (old) in which the contents of the previous program during execution are saved is written to register group A. In this way, the state of the register group as shown in the figure is created.
この状態で、第2回のコンテキストスイッチが生じた場
合、1つの空き状態のレジスタ群Cが存在することから
、このレジスタ群Cを用いて直ちにそのプログラムの実
行が行われる。このとき、上記以前のプログラムの実行
に用いられたいたレジスタ群Bの内容はそのまま保持さ
れ、コンデションレジスタCRには、レジスタ群Bには
以前のプログラム実行途中の内容が保存さていている状
態(旧)が古き込まれる。そして、空き状態のレジスタ
群を作り出すために、マイクロプロセッサMPUが、外
部データバスを開放して内部回路のみで動作を行ってい
る期間を利用して、直接メモリアクセス制御回路DMA
Cが起動され、上記レジスタ群Aの内容をアドレスバッ
ファABZ&びデータバッファDB2を用いて、外部の
メモリ装置RAMに退避させる。これによって、上記レ
ジスタ群Aが空き状態になると、その旨が上記コンデシ
ョンレジスタCRに書き込まれる。以下、コンテキスト
スイッチが段階的に生じると、その都度上記のような空
きレジスタ群によるプログラム実行と、空き状態にすべ
きレジスタ群のメモリ装置RA Mへの内容退避が行わ
れる。If a second context switch occurs in this state, since there is one free register group C, the program is immediately executed using this register group C. At this time, the contents of register group B that were used to execute the previous program are retained as they are, and the condition register CR is in a state where the contents of register group B during the previous program execution are saved. (old) becomes obsolete. Then, in order to create a group of empty registers, the microprocessor MPU opens the external data bus and operates only with its internal circuitry, by using the period when the microprocessor MPU directly accesses the memory access control circuit DMA.
C is activated, and the contents of the register group A are saved in the external memory device RAM using address buffer ABZ and data buffer DB2. As a result, when the register group A becomes vacant, a notification to that effect is written to the condition register CR. Thereafter, when a context switch occurs in stages, a program is executed using the empty register group as described above, and the contents of the register group to be made empty are saved to the memory device RAM each time.
逆に、第2図においてレジスタ群Cを用いたプログラム
から、レジスタ群Bを用いたプログラムに戻ると、空き
レジスタ群がCとAの2つになってしまう、この場合に
は、上記レジスタ群Aには直接メモリアクセス制御回路
DMへCにより、外部バスが開放されている期間を利用
して、上記退避された内容の回復が行われる。Conversely, if you return from a program using register group C to a program using register group B in FIG. 2, there will be two empty register groups, C and A. In this case, the above register group At A, the above-mentioned saved contents are restored by the direct memory access control circuit DM to C using the period when the external bus is open.
なお、上記直接メモリアクセス制御回路DMACによる
レジスタ群の全内容が退避される前に、次のコンテキス
トスイッチが生じた場合には、この直接メモリアクセス
制御回路DMACによるデータ転送が最優先に処理とさ
れる。Note that if the next context switch occurs before the entire contents of the register group are saved by the direct memory access control circuit DMAC, the data transfer by the direct memory access control circuit DMAC is given top priority. Ru.
この実施例では、上記のように複数のレジスタ群を設け
ておいて、以前に使用したレジスタ群の内容を内蔵の直
接メモリアクセス制御装置DMACによって外部メモリ
装置に退避させることによって、常に1つの空き状態の
レジスタ群が存在するようにするものである。これによ
って、上記空き状態のレジスタ群を用いて、割り込みや
タスク切り換え等によるコンテキストスイッチに伴いプ
ログラムの実行を直ちに行うことができる。したがって
、上記コンテキストスイッチが伴うデータ処理の高速化
を図ることができる。In this embodiment, a plurality of register groups are provided as described above, and by saving the contents of previously used register groups to an external memory device using the built-in direct memory access control device DMAC, one free space is always available. This is to ensure that a group of state registers exists. As a result, using the vacant register group, a program can be immediately executed in response to a context switch due to an interrupt, task switching, or the like. Therefore, it is possible to speed up the data processing associated with the above-mentioned context switch.
また、上記レジスタ群を内蔵のRAMのメモリアリアを
分割して割り当てるものであるため、高密度に多数のレ
ジスタ群を配置することかできるものである。Furthermore, since the register groups are allocated by dividing the memory area of the built-in RAM, it is possible to arrange a large number of register groups with high density.
上記の実施例から得られる作用効果は、下記の通りであ
る。すなわち、
(1)命令実行に必要とされる複数組からなるレジスタ
群と、上記複数組のレジスタ群の使用状態を保持し、命
令の実行に使用する1つのレジスタ群を指定するコンデ
ションレジスタと、上記レジスタ群の情報を外部の記憶
装置に退避させる直接メモリアクセス制御回路とを内蔵
し、コンテキストスイッチやリターンに応じて上記レジ
スタ群の指定を切り換えるともに、前に使用していたレ
ジスタ群の内容を上記直接メモリアクセス制御回路によ
って外部の記憶装置に退避させて常に空き状態のレジス
タ群が存在するようにする。これにより、常に空き状態
の1つのレジスタ群が存在するため、コンテキストスイ
ッチやリターンに伴うデータ処理が高速に行えるという
効果が得られる。The effects obtained from the above examples are as follows. That is, (1) a register group consisting of multiple sets required for instruction execution, and a condition register that holds the usage status of the multiple register groups and specifies one register group used for instruction execution. , has a built-in direct memory access control circuit that saves the information of the above register group to an external storage device, switches the designation of the above register group in response to a context switch or return, and also saves the contents of the previously used register group. is saved in an external storage device by the direct memory access control circuit so that there is always a group of empty registers. As a result, there is always one register group in an empty state, so it is possible to achieve the effect that data processing accompanying a context switch or return can be performed at high speed.
(2)上記レジスタ群を内蔵のRAMを用いて構成する
ことによって、多数のレジスタ群を半導体基板上に高密
度で実装することができるという効果が得られる。(2) By configuring the above register group using a built-in RAM, it is possible to achieve the effect that a large number of register groups can be mounted on a semiconductor substrate at high density.
(3)上記レジスタ群を3組から構成し、1つ前のプロ
グラムの実行に使用していたレジスタ群と、現在のプロ
グラムの実行に使用するレジスタ群と、空き状態のレジ
スタ群のように割り当てることによって、最小数のレジ
スタ群によってスイッチングとリターンの双方向のデー
タ処理を効率よく行うことができるという効果が得られ
る。(3) The above register group consists of three sets, and they are allocated as follows: the register group used to execute the previous program, the register group used to execute the current program, and the register group that is free. As a result, it is possible to efficiently perform bidirectional data processing of switching and return using a minimum number of register groups.
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもだい。例えば、レジスタ群の数
は最低2組から構成されるものであってもよい。この場
合、コンテキストスイッチが生じたら、空き状態のレジ
スタ群を用いて直ちにデータ処理を行うとともに、その
データ処理期間において直接メモリアクセス制御回路に
よる以前のプログラムに使用していたレジスタ群の内容
を退避させればよい。この直接メモリアクセス制御回路
によるレジスタ群の退避が終了する前に、次のコンテキ
ストスイッチが生じたなら、そのデータ退避を最優先に
より行うようにすればよい、さらに、上記レジスタ群は
4組以上設けるものであってもよい、この場合には、2
つ以上前のプログラムのリターンが高速に行えるものと
なり、上記直接メモリアクセス制御るレジスタ群の内容
の退避及び回復に時間的な余裕を持たせるとこができる
。Although the invention made by the present inventor has been specifically explained above based on Examples, it goes without saying that the present invention is not limited to the above Examples and can be modified in various ways without departing from the gist thereof. Also. For example, the number of register groups may be at least two. In this case, when a context switch occurs, data processing is performed immediately using the free register group, and during the data processing period, the contents of the register group used in the previous program by the direct memory access control circuit are saved. That's fine. If the next context switch occurs before the direct memory access control circuit finishes saving the register group, the data should be saved with the highest priority.Furthermore, four or more sets of the above register groups are provided. In this case, 2
It is possible to quickly return to a program from two or more previous programs, and it is possible to provide sufficient time for saving and restoring the contents of the register group that controls direct memory access.
また、上記レジスタ群は、上記内蔵のRA Mを用いて
構成することの他、それぞれ独立した回路により構成す
るものであってもよい、さらに、上記レジスタ群の切り
換え制御方法は、種々の実施形態を採ることができるも
のである。In addition to being configured using the built-in RAM, the register group may be configured by independent circuits. Furthermore, the method for controlling switching of the register group may be performed in various embodiments. can be taken.
また、複数のレジスタ群と算術論理演算ユニットや各バ
ッファ等との接続を行う内部バスの数や配置は、種々の
実施形態を採ることができるものである。Further, the number and arrangement of internal buses that connect the plurality of register groups to the arithmetic and logic operation units, each buffer, etc. can take various embodiments.
この発明は、マイクロプロセッサに限らず、データ処理
装置に広(利用できるものである。The present invention is applicable not only to microprocessors but also to data processing devices.
命令実行に必要とされる?、!数組からなるレジスタ群
と、上記複数組のレジスタ群の使用状態を保持し、命令
の実行に使用する1つのレジスタ群を指定するコンデシ
ョンレジスタと、上記レジスタ群の情報を外部の記憶装
置に退避させる直接メモリアクセス制御回路とを設けて
、コンテキストスインチ又はリターンに応じて上記レジ
スタ群の指定を切り換えるともに、前に使用していたレ
ジスタ群の内容を上記直接メモリアクセス制御回路によ
って外部の記憶装置に退避させて常に空き状態のレジス
タ群が存在するようにする。これにより、常に空き状態
の1つのレジスタ群が存在するため、コンテキストスイ
ッチやリターンに伴うデータ処理が高速に行える。Is it required for command execution? ,! A condition register that holds the usage status of the plurality of register groups and specifies one register group to be used for executing an instruction, and stores the information of the register group in an external storage device. A direct memory access control circuit for saving is provided, and the designation of the register group is switched in response to a context switch or return, and the contents of the previously used register group are transferred to external storage by the direct memory access control circuit. The registers are saved in the device so that there is always a group of registers in an empty state. As a result, there is always one free register group, so data processing associated with context switches and returns can be performed at high speed.
第1図は、この発明の一実施例を示すブロック図、
第2図は、その動作の一例を説明するための図である。
MPU・・マイクロプロセンサ、A−B・・レジスタ群
、PCA〜PCC・・プログラムカウンタ、5PA−3
PC・・スタックポインタ、REA−RPC・・各種レ
ジスタ、ALU・・算術論理演算ユニット、FF・・ラ
ンチ回路、DBI。
DB2・・データバッファ、ABl、AB2・・アドレ
スバッファ、B1〜B3・・内部バス、DAB・・双方
向データバッファ、ADB・・アドレス出力回路、IR
・・命令レジスタ、m ROM・・マイクロプログラム
ROM、DCR・・デコーダ、INT・・割り込み回路
、CR・・コンデションレジスタ、DMAC・・直接メ
モリアクセス制御回路FIG. 1 is a block diagram showing an embodiment of the present invention, and FIG. 2 is a diagram for explaining an example of its operation. MPU...Micro processor sensor, A-B...Register group, PCA~PCC...Program counter, 5PA-3
PC: stack pointer, REA-RPC: various registers, ALU: arithmetic logic unit, FF: launch circuit, DBI. DB2...data buffer, ABl, AB2...address buffer, B1-B3...internal bus, DAB...bidirectional data buffer, ADB...address output circuit, IR
・・Instruction register, m ROM・・Micro program ROM, DCR・・Decoder, INT・・Interrupt circuit, CR・・Condition register, DMAC・・Direct memory access control circuit
Claims (1)
の使用状態を示すコンデションレジスタと、前の命令実
行に使用していた上記記憶手段内の所定の記憶領域を選
択的に退避させる手段を有してなること特徴とするデー
タ処理装置。 2、上記記憶手段は複数組のレジスタ群によって構成さ
れるものであることを特徴とする特許請求の範囲第1項
記載のデータ処理装置。 3、上記レジスタ群は3組設けられ、あるプログラム実
行のときには、現在使用している1つのレジスタ群と、
コンテキストスイッチやリターンが生じた直前のプログ
ラムの状態を記憶している1つのレジスタ群と、空き状
態の1のレジスタ群が存在するように、直接メモリアク
セス制御回路により外部記憶装置とレジスタ群との間で
退避及び回復動作が行われるものであることを特徴とす
る特許請求の範囲第2項記載のデータ処理装置。[Scope of Claims] 1. Storage means required for instruction execution, a condition register indicating the usage status of the storage means, and a predetermined storage area in the storage means used for the previous instruction execution. What is claimed is: 1. A data processing device comprising means for selectively evacuating data. 2. The data processing device according to claim 1, wherein the storage means is constituted by a plurality of register groups. 3. Three sets of the above register groups are provided, and when a certain program is executed, one register group currently in use,
The direct memory access control circuit controls the connection between the external storage device and the register group so that there is one register group that stores the state of the program immediately before a context switch or return occurred, and one register group that is free. 3. The data processing apparatus according to claim 2, wherein the data processing apparatus performs evacuation and recovery operations between the data processing apparatus and the data processing apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19530186A JPS6352240A (en) | 1986-08-22 | 1986-08-22 | Data processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19530186A JPS6352240A (en) | 1986-08-22 | 1986-08-22 | Data processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6352240A true JPS6352240A (en) | 1988-03-05 |
Family
ID=16338876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19530186A Pending JPS6352240A (en) | 1986-08-22 | 1986-08-22 | Data processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6352240A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0373790A2 (en) * | 1988-11-30 | 1990-06-20 | Kabushiki Kaisha Toshiba | Data processing apparatus for saving and restoring |
US6223208B1 (en) | 1997-10-03 | 2001-04-24 | International Business Machines Corporation | Moving data in and out of processor units using idle register/storage functional units |
JP2017037370A (en) * | 2015-08-06 | 2017-02-16 | 富士通株式会社 | Computing device, process control method and process control program |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5398753A (en) * | 1977-02-09 | 1978-08-29 | Nippon Telegr & Teleph Corp <Ntt> | Interrupt processing system |
JPS5559555A (en) * | 1978-10-27 | 1980-05-06 | Nec Corp | High-speed level switching device |
-
1986
- 1986-08-22 JP JP19530186A patent/JPS6352240A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5398753A (en) * | 1977-02-09 | 1978-08-29 | Nippon Telegr & Teleph Corp <Ntt> | Interrupt processing system |
JPS5559555A (en) * | 1978-10-27 | 1980-05-06 | Nec Corp | High-speed level switching device |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0373790A2 (en) * | 1988-11-30 | 1990-06-20 | Kabushiki Kaisha Toshiba | Data processing apparatus for saving and restoring |
US6223208B1 (en) | 1997-10-03 | 2001-04-24 | International Business Machines Corporation | Moving data in and out of processor units using idle register/storage functional units |
JP2017037370A (en) * | 2015-08-06 | 2017-02-16 | 富士通株式会社 | Computing device, process control method and process control program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7590774B2 (en) | Method and system for efficient context swapping | |
US6223279B1 (en) | Single chip microcomputer having a dedicated address bus and dedicated data bus for transferring register bank data to and from an on-line RAM | |
US4250546A (en) | Fast interrupt method | |
JPS5841538B2 (en) | Multiprocessor system instructions | |
JPH0430053B2 (en) | ||
JPH07175666A (en) | Data processor and interruption request processing method for the same | |
KR20010070469A (en) | Device and method for performing high-speed low overhead context switch | |
JPH0863354A (en) | Equipment and method for execution of computer processing | |
KR970003321B1 (en) | System using microprocessor address lines coprocessor selection within a multi-coprocessor apparatus | |
JPH0916409A (en) | Microcomputer | |
JP2754825B2 (en) | Microprocessor | |
JPS6352240A (en) | Data processor | |
US6708259B1 (en) | Programmable wake up of memory transfer controllers in a memory transfer engine | |
US6418540B1 (en) | State transfer with throw-away thread | |
JPS63197232A (en) | Microprocessor | |
JP4756599B2 (en) | Data processing device | |
JPH05165641A (en) | Single chip microcomputer | |
JPS6352241A (en) | Microprocessor | |
JPS59218569A (en) | Microcomputer | |
JPS61184643A (en) | Starting control system for virtual computer | |
EP0933704B1 (en) | Data processor with protected non-maskable interrupt | |
JPS5942331B2 (en) | Prosetsusasouchinoseigiohoshiki | |
JP2586690B2 (en) | Instruction prefetch device | |
JPS62221062A (en) | Single chip microcomputer | |
JPH03182945A (en) | Transfer system for data in main storage |