JP2000250762A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JP2000250762A
JP2000250762A JP5002099A JP5002099A JP2000250762A JP 2000250762 A JP2000250762 A JP 2000250762A JP 5002099 A JP5002099 A JP 5002099A JP 5002099 A JP5002099 A JP 5002099A JP 2000250762 A JP2000250762 A JP 2000250762A
Authority
JP
Japan
Prior art keywords
stack pointer
processing
task
stack
identification information
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
Application number
JP5002099A
Other languages
English (en)
Inventor
Hideaki Ogawa
秀明 小川
Ippei Tate
一平 楯
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP5002099A priority Critical patent/JP2000250762A/ja
Publication of JP2000250762A publication Critical patent/JP2000250762A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 本発明は、システムコール呼び出しからシス
テムコール実行までのオーバーヘッドおよび割り込み発
生から割り込み処理実行までのオーバーヘッドを小さく
し、処理を高速実行することを目的とする。 【解決手段】 システムスタックポインタと、タスクス
タックポインタと、2つのスタックポインタのうちで有
効なスタックポインタを識別するための識別情報を保持
する状態レジスタと、処理の種類が切りかわったときに
状態レジスタの識別情報を処理の種類に対応して書き換
える制御手段を有することを特徴とするマイクロコンピ
ュータ。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロコンピュ
ータに関し、特にスタックポインタを複数設けるアーキ
テクチャデータに関するものである。
【0002】
【従来の技術】従来、一般的なマイクロコンピュータと
して1つのスタックポインタを具備するものがある。本
従来のマイクロコンピュータにおいては、一般のタスク
(以下、単に「タスク」という。)の処理中は、CPU
のスタックポインタはタスク実行用のスタックポインタ
が格納されている。従って、タスク実行中にオペレーシ
ョンシステム(以下、「OS」という。)のシステムコ
ールを発行したときは、以下の図4のフローチャートに
示す処理を行っていた。
【0003】なお、OSはシステムの情報を格納する変
数であるシステムスタックとタスクの情報を格納するタ
スクスタックを具備する。 (ステップS401)CPUのスタックポインタをOS
のタスクスタック(RAM)に退避する。 (ステップS402)OSのシステムスタックに退避し
ていたシステムのスタックポインタをCPUのスタック
ポインタに格納する。 (ステップS403)CPUのスタックポインタに対応
する処理が存在するか否か判断する。処理が存在すれば
ステップS404に行き、存在しなければステップS4
06に飛ぶ。システムコールを実行する。 (ステップS404)CPUのスタックポインタに対応
する処理を実行する。 (ステップS405)CPUのスタックポインタを進め
る。ステップS403に戻る。 (ステップS406)CPUのスタックポインタをOS
のシステムスタックに退避する。 (ステップS407)OSのタスクスタックのスタック
ポインタをCPUのスタックポインタとして復元する。 (ステップS408)システムコールの呼び出し元にリ
ターンする(CPUのスタックポインタに対応する処理
を実行する。)。
【0004】また、従来の技術において、タスク実行中
に割り込みが発行したときは、以下の図5のフローチャ
ートに示す処理を行っていた。 (ステップS501)CPUのスタックポインタをOS
のタスクスタックに退避する。 (ステップS502)OSのシステムスタックに退避し
ていたシステムのスタックポインタをCPUのスタック
ポインタに格納する。 (ステップS503)割り込みハンドラを実行する。 (ステップS504)割り込みハンドラからリターンす
る。 (ステップS505)CPUのスタックポインタをOS
のシステムスタックに退避する。 (ステップS506)OSのタスクスタックのスタック
ポインタをCPUのスタックポインタとして復元する。 (ステップS507)システムコールの呼び出し元にリ
ターンする(CPUのスタックポインタに対応する処理
を実行する。)。
【0005】
【発明が解決しようとする課題】しかしながら、このよ
うな従来の技術には、以下の課題があった。つまり、タ
スク実行中にシステムコールや割り込み処理の実行が必
要になった場合に、タスクスタックポインタとシステム
スタックポインタの切りかえのためにタスクスタックポ
インタをOS内に退避して、システムスタックポインタ
をCPU内のスタックポインタを格納する領域に復元す
るという処理が必要である。そのためにシステムコール
呼び出しからシステムコール実行までのオーバーヘッド
および割り込み発生から割り込み処理実行までのオーバ
ーヘッドが大きい、という問題があった。
【0006】本発明は上記課題を解決するものであり、
システムコール呼び出しからシステムコール実行までの
オーバーヘッドおよび割り込み発生から割り込み処理実
行までのオーバーヘッドを小さくし、処理を高速実行す
ることを目的としたものである。
【0007】
【課題を解決するための手段】上記課題を解決するため
本発明の技術的手段は、システムスタックポインタと、
タスクスタックポインタと、2つのスタックポインタの
うちで有効なスタックポインタを識別するための識別情
報を保持する状態レジスタと、処理の種類が切りかわっ
たときに状態レジスタの識別情報を処理の種類に対応し
て書き換える制御手段である。
【0008】
【発明の実施の形態】以下、本発明に係るマイクロコン
ピュータについて、以下の実施の形態に基づいて説明す
る。
【0009】(実施の形態1)図1は、マイクロコンピ
ュータの構成図であり、11はCPU、111はタスク
スタックポインタ、112はシステムスタックポイン
タ、113は状態レジスタ、1131は状態レジスタ中
の識別情報、114は制御手段である。タスクスタック
ポインタ111は、タスク実行用のスタックポインタで
ある。システムスタックポインタ112はシステムコー
ルおよび割り込み処理実行用のスタックポインタであ
る。状態レジスタ113はCPUの各種状態に関する情
報を格納するレジスタであり、PSWとも言う。識別情
報1131は状態レジスタ中の情報であり、有効なスタ
ックポインタがタスクスタックポインタかシステムスタ
ックポインタかを識別する情報である。ここでは、有効
なスタックポインタがタスクスタックポインタである場
合は、識別情報1131は「1」であり、有効なスタッ
クポインタがシステムスタックポインタである場合は、
識別情報1131は「0」である。制御手段114は、
システムコール発行または割り込み発生を認知し、識別
情報1131を書き換えるとともに、有効なスタックポ
インタに従ってスタックポインタを進めるとともに命令
を実行する。
【0010】本実施の形態におけるマイクロコンピュー
タのシステムコール発行についての動作について、以下
の図2のフローチャートを用いて説明する。なお、初期
状態として、CPU11はタスクを実行しているとす
る。従って、初期の識別情報の値は「1」である。 (ステップS201)制御手段114がシステムコール
発行を認知する。 (ステップS202)制御手段114が識別情報113
1を「0」に書き換える。 (ステップS203)制御手段114は識別情報113
1を参照する。 (ステップS204)制御手段114は識別情報113
1が「0」か否か判断する。「0」ならステップS20
5に行き、「1」ならステップS207に飛ぶ。 (ステップS205)制御手段114はシステムスタッ
クポインタに従って命令を実行し、システムコールの実
行を終了まで行う。 (ステップS206)制御手段114は識別情報113
1を「1」に書き換える。ステップS204に戻る。 (ステップS207)制御手段114はタスクスタック
ポインタが示す命令を実行する。 (ステップS208)制御手段114はタスクスタック
ポインタを進める。 (ステップS209)制御手段114はタスクスタック
ポインタが示す命令が存在するか否か判断する。存在す
ればステップS207に戻り、存在しなけば処理を終了
する。
【0011】次に、本実施の形態におけるマイクロコン
ピュータの割り込みが発生した場合の動作について、以
下の図3のフローチャートを用いて説明する。なお、初
期状態として、CPU11はタスクを実行しているとす
る。 (ステップS301)制御手段114が割り込みを認知
する。 (ステップS302)制御手段114が識別情報113
1を「0」に書き換える。 (ステップS303)制御手段114は識別情報113
1を参照する。 (ステップS304)制御手段114は識別情報113
1が「0」か否か判断する。「0」ならステップS30
5に行き、「1」ならステップS307に飛ぶ。 (ステップS305)制御手段114はシステムスタッ
クポインタに従って命令を実行し、システムコールの実
行を終了まで行う。 (ステップS306)制御手段114は識別情報113
1を「1」に書き換える。ステップS304に戻る。 (ステップS307)制御手段114はタスクスタック
ポインタが示す命令を実行する。 (ステップS308)制御手段114はタスクスタック
ポインタを進める。 (ステップS309)制御手段114はタスクスタック
ポインタが示す命令が存在するか否か判断する。存在す
ればステップS307に戻り、存在しなけば処理を終了
する。
【0012】以上説明したように、本実施の形態におい
て、システムコール発行時および割り込み発生時のスタ
ックポインタの退避を回避することができ、システムコ
ール発行からシステムコール実行までのオーバーヘッド
が少なくなり、また割り込み発生から割り込み処理実行
までのオーバーヘッドが少なくなり、高速処理が可能に
なる。
【0013】なお、本実施の形態において、システムコ
ールと割り込み処理のシステム処理と一般タスク処理の
2種類の処理が存在し、スタックポインタがシステムス
タックポインタとタスクスタックポインタの2つのスタ
ックポインタが存在する例を示したが、3種類以上の処
理が存在し、処理の種類毎にスタックポインタを用意す
る構成にしても良い。
【0014】
【発明の効果】以上説明したように、本発明によるマイ
クロコンピュータは、システムコール発行からシステム
コール実行等までのオーバーヘッドが少なくなり高速処
理が可能になる。
【図面の簡単な説明】
【図1】本発明の実施の形態1におけるマイクロコンピ
ュータの構成図
【図2】本発明の実施の形態1におけるシステムコール
発行時の動作について説明するフローチャート
【図3】本発明の実施の形態1における割り込み処理時
の動作について説明するフローチャート
【図4】従来のマイクロコンピュータにおけるシステム
コール発行時の動作について説明するフローチャート
【図5】従来のマイクロコンピュータにおける割り込み
処理時の動作について説明するフローチャート
【符号の説明】 111 タスクスタックポインタ 112 システムスタックポインタ 113 状態レジスタ 114 制御手段 1131 識別情報

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 n種類の処理に対応した第一から第nの
    スタックポインタと、前記第1から第nのスタックポイ
    ンタのうちで有効なスタックポインタを識別するための
    識別情報を保持する状態レジスタと、処理の種類が切り
    かわったときに状態レジスタの前記識別情報を処理の種
    類に対応して書き換える制御手段とを具備することを特
    徴とするマイクロコンピュータ。
  2. 【請求項2】 システム処理と一般タスク処理の2種類
    の処理が存在し、第一のスタックポインタがシステム処
    理に対応するシステムスタックポインタであり、第二の
    スタックポインタが一般タスク処理に対応するタスクス
    タックポインタである請求項1記載のマイクロコンピュ
    ータ。
JP5002099A 1999-02-26 1999-02-26 マイクロコンピュータ Pending JP2000250762A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5002099A JP2000250762A (ja) 1999-02-26 1999-02-26 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5002099A JP2000250762A (ja) 1999-02-26 1999-02-26 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JP2000250762A true JP2000250762A (ja) 2000-09-14

Family

ID=12847326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5002099A Pending JP2000250762A (ja) 1999-02-26 1999-02-26 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP2000250762A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2461848A (en) * 2008-07-10 2010-01-20 Cambridge Consultants Processor with a privileged stack pointer and a stack pointer used in privileged and non-privileged modes
US9645949B2 (en) 2008-07-10 2017-05-09 Cambridge Consultants Ltd. Data processing apparatus using privileged and non-privileged modes with multiple stacks
US9652241B2 (en) 2007-04-10 2017-05-16 Cambridge Consultants Ltd. Data processing apparatus with instruction encodings to enable near and far memory access modes

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652241B2 (en) 2007-04-10 2017-05-16 Cambridge Consultants Ltd. Data processing apparatus with instruction encodings to enable near and far memory access modes
GB2461848A (en) * 2008-07-10 2010-01-20 Cambridge Consultants Processor with a privileged stack pointer and a stack pointer used in privileged and non-privileged modes
GB2461848B (en) * 2008-07-10 2013-01-30 Cambridge Consultants Data processing apparatus having a number of operating modes
US9645949B2 (en) 2008-07-10 2017-05-09 Cambridge Consultants Ltd. Data processing apparatus using privileged and non-privileged modes with multiple stacks

Similar Documents

Publication Publication Date Title
EP0087978B1 (en) Information processing unit
US5438677A (en) Mutual exclusion for computer system
US5504869A (en) High speed processing system capable of executing strings of instructions in order without waiting completion of previous memory access instruction
JP3970609B2 (ja) プロセッサシステム
JP2000250762A (ja) マイクロコンピュータ
JPH04241032A (ja) システムコール実行装置
JP2585905B2 (ja) マルチタスク実行装置
JP2574349B2 (ja) 時分割マルチタスク実行装置
JPH03182945A (ja) 主記憶内データ転送方式
KR19990026795A (ko) 마이크로프로세서
KR20030037572A (ko) 인터럽트 컨트롤러
JPH11338712A (ja) 割込順序保存回路
JPH0217541A (ja) スタツク方式マイクロコンピュータ
JPS6120139A (ja) 割込み制御方式
JPS6314242A (ja) メモリ拡張方式
JPH0477930A (ja) マイクロコンピュータ
KR20030042069A (ko) 인터럽트 제어기 및 인터럽트 제어 방법
JPH07134656A (ja) 割り込み制御方法及びそれを実現するマルチタスクシステム
JP2003186666A (ja) マイクロコンピュータおよびdma制御回路
JPS62151936A (ja) マイクロプロセツサに内蔵されるキヤツシユ回路
JPH05113888A (ja) マイクロプロセツサユニツト
JPS61184644A (ja) 仮想計算機システム制御方式
JPH08166887A (ja) 割込み処理からの復帰方法
JPH01211037A (ja) リアルタイムバーチャルマシン方式
JPH038044A (ja) マルチプロセッサ・システムにおける時計制御方式