JP2591200B2 - プログラム先取り装置 - Google Patents

プログラム先取り装置

Info

Publication number
JP2591200B2
JP2591200B2 JP1327890A JP32789089A JP2591200B2 JP 2591200 B2 JP2591200 B2 JP 2591200B2 JP 1327890 A JP1327890 A JP 1327890A JP 32789089 A JP32789089 A JP 32789089A JP 2591200 B2 JP2591200 B2 JP 2591200B2
Authority
JP
Japan
Prior art keywords
prefetch
task
instruction
instruction program
execution
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 - Lifetime
Application number
JP1327890A
Other languages
English (en)
Other versions
JPH03188530A (ja
Inventor
孝一 吉田
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 JP1327890A priority Critical patent/JP2591200B2/ja
Publication of JPH03188530A publication Critical patent/JPH03188530A/ja
Application granted granted Critical
Publication of JP2591200B2 publication Critical patent/JP2591200B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、マイクロプロセッサー等を用いて制御する
システムにおいて、2つ以上のタスク(仕事)を1つの
マイクロプロセッサー等で時分割実行を行う場合、実行
効率,速度を高めるための命令プログラム先取り装置に
関するものである。
従来の技術 マイクロプロセッサー等を利用してタスクを実行する
場合、1つのマイクロプロセッサー等に対して、プログ
ラムカウンタ,スタックポインタ,汎用レジスタ等から
なる1組のレジスタファイルを準備し、そのプログラム
カウンタの示すアドレスの命令プログラムを、プログラ
ム格納領域から読み出し、命令を実行していた。この場
合、現在実行している命令が全て終了した時点で、次の
命令のプログラムデータを読み出すため、時間的にロス
が多かった。そこで命令実行中に次の命令プログラムデ
ータを読み出す制御、つまり命令プログラムの先取りを
行うことによりマイクロプロセッサー等の実行効率をあ
げているものが多い。この場合、プログラム実行状態を
局所的にみれば、1つのタスクしか実行しておらず、通
常命令プログラムは順番に並んでいるため、容易に次の
命令プログラムデータを先取りすることができる。しか
し、最近の制御システムでは、プログラム実行状態を局
所的にみても複数タスクを同時実行させることにより制
御しなければならないものもでてきている。そこで、2
つのタスクまでは完全に時分割並行実行可能なマイクロ
プロセッサーも出現している。このマイクロプロセッサ
ーは、2つのレジスタファイルを持ち、プログラムから
の命令に従ってマルチプレクサを切り換えることによ
り、レジスタファイルを切り換え、2つのタスクの時分
割並行実行を実現している。このようにすれば1つのタ
スクに対して1つのレジスタファイルが準備されている
から、タスク切り換えは高速に行える。この場合プログ
ラムの実行状態としては、1命令毎にタスクを切り換え
て2つのタスクをみかけ上同時並行処理に近い形で実行
している場合が多い。プログラムの実行効率をあげるた
めに命令先取りを行う場合、各タスクに対して命令先取
り装置を持たす必要があり、この場合だと2系統の命令
先取り装置を用いることにより、他のタスク状態を認識
せずに命令先取りができ、高速実行が可能となる。しか
し並行して実行するタスクが多くなると、命令先取り装
置もそのタスク数分実装する必要があり、回路規模が増
大するという問題が生じる。またこの場合命令先取り装
置を1系統しか持たない場合には、現タスクの現命令実
行時には、現タスクの次命令が命令先取り装置に入って
いるが、実際に次に実行する命令は次タスクの命令であ
るため、命令先取り装置に入っているデータをすてて、
新たに命令を読みに行く必要があり、時間的にロスが出
る。
このような問題点を解決するために、1つのマイクロ
プロセッサー等に対して複数のレジスタファイルを準備
し、マイクロプロセッサー(プログラム)からの命令に
従ってマルチプレクサを切り換え、複数のレジスタファ
イルを順次切り換えながら複数のタスクを時分割で並行
実行させるシステムでは、命令実行効率を上げるため
に、命令先取り装置を2系統以上設け、次に実行するタ
スクを認識する機能を設け、順次命令先取り装置とタス
クの関係を切り換えて効率良く命令を先取りする機能を
持たせる必要がある。
発明が解決しようとする課題 このように、従来複数のタスクを1つのマイクロプロ
セッサーで実行させる場合には、仮に命令先取り装置が
1系統あったとしても、タスクが切り換わるたびに命令
先取りデータが無効となり、再度命令先取りをする必要
があった。また、命令実行効率を上げるために、全タス
クに対し各々1系統の命令先取り装置を設けると論理回
路規模が莫大になり実現が苦しい。
本発明は、命令先取り装置を2系統設け、複数のタス
クが切り換わる毎に、命令先取り装置を切り換えること
により、次タスクが実行する命令を先に取り込むことを
可能とし、従来の問題を解決するものである。
課題を解決するための手段 本発明は上述の問題点を解決するために、複数の時分
割並列実行を制御する機能に、次命令の実行タスクを事
前に認識する機能を付加し、その情報を元にし、2系統
の命令プログラム先取り装置を順次切り換え、効率のよ
い命令先取り動作を行うようにしたものである。
作用 このようにすれば、複数タスクを複数レジスタファイ
ルを用いて、時分割並列実行制御を行う場合、命令プロ
グラムデータの読み出し待ちを極力抑えることができ、
高速,高効率実行が可能となり、また、並行実行するタ
スクが複数になっても、タスクの実行状態を認識するこ
とにより、命令プログラム先取り装置は2系統のみ実装
することで実現でき、回路規模の増大なしに効率良く制
御が可能となる。
実施例 本発明の一実施例を第1図に示すブロック図を用いて
詳しく述べる。例えばN個のレジスタファイル1a〜1nを
持ち、Nの時分割並行実行を行うシステムを示す。レジ
スタファイルA〜N(1a〜1n)はマルチプレクサA4aに
より1a〜1nのうち1つが選択され、バス9に接続され
る。マルチプレクサA4aは時分割並行実行の制御の一部
を行うタスク切り換え制御2により実行タスクが使用す
べきレジスタファイルを信号線10を通して制御する。バ
ス9にはマイクロプロセッサーの処理に必要な機能回路
例えば制御,演算処理機能等8が接続され、従来のマイ
クロプロセッサー制御が行われる。命令プログラム先取
り装置は、命令プログラム先取り制御3,マルチプレクサ
B4b,プリフェッチキューA5a,B5b、データ分配回路15に
より構成される。命令プログラム先取り制御3は、タス
ク切り換え制御2から出力されるタスクの実行状態を逐
次認識し、現在実行タスクと、次に実行すべきタスクを
判断し、制御信号11,12,13を作成する。制御の概略を述
べる。命令プログラム先取り制御3で作成された信号13
により、プログラム格納領域6から命令プログラムデー
タが読み出され、データ分配回路15により、読み出され
た命令プログラムデータを、プリフェッチキューA5a
か、プリフェッチキューB5bのどちらに格納するか決定
する。マルチプレクサB4bは信号12により、プリフェッ
チキューA5aとB5bのどちらのデータを命令デコーダ等7
に送り出すかを決定する。
次にマルチタスク時分割並行実行時の動作を述べる。
簡単化のため、3タスクの実行を考える。使用するレジ
スタファイルは1a,1b,1cとし、マルチタスク実行は、1
機械語命令毎にタスクを切り換えるモードとする。つま
り、レジスタファイル1aに関する1命令を実行すると、
次は、レジスタファイル1bに関する1命令を実行し、次
にレジスタファイル1cに関する1命令を実行し、次にレ
ジスタファイル1aに関する命令をするという具合に順次
レジスタファイルが自動的に変わるモードで考える。現
在、レジスタファイル1aに関する命令を行っていた場合
を考える。このタスクに対してプリフェッチキューA5a
が使用されていたとする。通常のマイクロプロセッサー
では、プリフェッチキューに空きがあれば、プログラム
格納領域よりデータが読み出され、満たされるまでこの
動作は続く。プリフェッチキューが満たされると、空に
なるまで、プログラム格納領域からのデータ読み出し動
作は止まっている。本発明では、このタイミング,デー
タ読み出し動作が止まっているときに、次タスクの実行
を前もって解析し、この場合であると、レジスタファイ
ル1bに関する命令のデータを、プログラム格納領域6よ
り読み出し、データ分配回路15を切り換え、プリフェッ
チキューB5bにそのデータを取り込んでおく。このと
き、レジスタファイル1aに関する命令実行時に、プリフ
ェッチキューが満たされなかった場合にはこの動作は発
生しない。レジスタファイル1aに関する命令が終了する
と、レジスタファイルが1aから1bに切り換わり、プリフ
ェッチキューもA5aからB5bに切り換わる。このときプリ
フェッチキューB5bには、命令プログラムデータが入っ
ている可能性があるため、命令データ読み出し待ちなし
に命令実行が可能となる。また、この命令実行中に、プ
リフェッチキューB5bが満たされれば、以前と同様に、
レジスタファイル1cに関する命令のデータを前もって読
み出し、現在使用していない方のプリフェッチキューA5
aに格納しておき、タスク切り換え時のロスをなくす。
レジスタファイル1cに関する命令をプリフェッチキュー
A5aを使用して実行しているときに、プリフェッチキュ
ーが満たされれば、次に実行するレジスタファイル1aに
関する命令データを前もって読み出し、プリフェッチキ
ューB5bに格納する。このように、プリフェッチキュー
を2系統設け、これをダイナミックに変更することによ
り、少ない回路規模で効率の良い命令プログラムの実行
を行うことができる。
発明の効果 以上説明したように、本発明によれば、簡単で少ない
制御回路規模で、複数タスクの時分割並行実行を高効率
で行うことができ、いままで、マイコン等で制御できな
かった高速マルチタスク実行による制御の実現が可能と
なる。
【図面の簡単な説明】
図は本発明のプログラム先取り装置の一実施例を示すブ
ロック図である。 1a〜1n……レジスタファイルA〜N、2……タスク切り
換え制御、3……命令プログラム先取り制御、4a,4b…
…マルチプレクサA,B、5a,5b……プリフェッチキューA,
B、6……プログラム格納領域、7……命令デコーダ
等、8……制御,演算処理機能等、9……バス(システ
ムバス)、10,11,12,13,14……制御信号線、15……デー
タ分配回路。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のレジスタファイルを用いて複数のタ
    スクを時分割で並行実行する装置において、 タスク切り換え制御から出力されるタスクの実行状態を
    逐次認識し、現在実行中のタスクと、次に実行すべきタ
    スクを判断して制御信号を出力するための命令プログラ
    ム先取り制御と、 現実行タスクの命令プログラムデータと次実行タスクの
    先取り命令プログラムデータを格納するための2つのプ
    リフェッチキューと、 前記命令プログラム先取り制御からの第一の制御信号に
    よって、前記2つのプリフェッチキューのうち現実行タ
    スクの命令プログラムデータが格納されていない方のプ
    リフェッチキューに切り換えて、次実行タスクの先取り
    命令プログラムデータを格納するためのデータ分配回路
    と、 前記命令プログラム先取り制御からの第二の制御信号に
    よって、前記2つのプリフェッチキューのどちらの命令
    プログラムデータを読み出すかを決定するためのマルチ
    プレクサとを備え、 実行タスク切り換え毎に、前記データ分配回路を切り換
    え前記2つのプリフェッチキューのうち現実行タスクの
    命令プログラムデータが格納されていない方のプリフェ
    ッチキューに次実行タスクの先取り命令プログラムデー
    タを格納し、且つ、前記現実行タスクの命令プログラム
    データの実行が終了すると前記マルチプレクサを切り換
    え前記次実行タスクの命令プログラムデータを実行する
    ことを特徴とするプログラム先取り装置。
JP1327890A 1989-12-18 1989-12-18 プログラム先取り装置 Expired - Lifetime JP2591200B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1327890A JP2591200B2 (ja) 1989-12-18 1989-12-18 プログラム先取り装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1327890A JP2591200B2 (ja) 1989-12-18 1989-12-18 プログラム先取り装置

Publications (2)

Publication Number Publication Date
JPH03188530A JPH03188530A (ja) 1991-08-16
JP2591200B2 true JP2591200B2 (ja) 1997-03-19

Family

ID=18204127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1327890A Expired - Lifetime JP2591200B2 (ja) 1989-12-18 1989-12-18 プログラム先取り装置

Country Status (1)

Country Link
JP (1) JP2591200B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5357617A (en) * 1991-11-22 1994-10-18 International Business Machines Corporation Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor
JPH06124205A (ja) * 1992-10-12 1994-05-06 Matsushita Electric Ind Co Ltd 命令プリフェッチ装置
US8195922B2 (en) 2005-03-18 2012-06-05 Marvell World Trade, Ltd. System for dynamically allocating processing time to multiple threads
KR101696751B1 (ko) * 2015-12-17 2017-01-16 동아대학교 산학협력단 다기능 안전모 및 이를 이용한 작업 안전시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60250438A (ja) * 1984-05-25 1985-12-11 Nec Corp 情報処理装置

Also Published As

Publication number Publication date
JPH03188530A (ja) 1991-08-16

Similar Documents

Publication Publication Date Title
US6799269B2 (en) Virtual shadow registers and virtual register windows
JP2500036B2 (ja) ハイブリッドパイプライン接続プロセッサおよびその処理方法
JPH05274276A (ja) ディジタル信号処理システム
KR20020020186A (ko) 내장형 프로세서 복합체, 네트워크 프로세싱 시스템 및인스트럭션 실행 제어 방법
EP2077503A1 (en) Interrupt control device of small hardware size which deals with much interrupt processing flexibility
JPH06236267A (ja) スーパースカラ・プロセッサ・システムにおける命令ディスパッチ効率を向上させる方法およびシステム
KR100194850B1 (ko) 디지털 신호 처리 장치
US4701847A (en) Adaptive instruction sequence synthesizer and process
JP2591200B2 (ja) プログラム先取り装置
JP2677458B2 (ja) システムコール実行装置
KR100639146B1 (ko) 카테시안 제어기를 갖는 데이터 처리 시스템
JP2585905B2 (ja) マルチタスク実行装置
JPS6315628B2 (ja)
US7818549B2 (en) Event driven digital signal processor with time constraints
KR100329780B1 (ko) 인터럽트 응답 시간을 줄인 인터럽트 처리 장치
JPH0342723A (ja) データ処理装置
KR880001399B1 (ko) 정보 처리 장치
JPH0287229A (ja) 実行命令の先取り制御方式
JPH02214938A (ja) データ処理装置
JPS58114250A (ja) 共有マイクロプロセツサ
JP2583614B2 (ja) ベクトル演算装置
JPH04148236A (ja) 中央処理装置
JPH0659916A (ja) 命令プリフェッチ装置
JPH02181859A (ja) コプロセッサ・インタフェース回路
JPH03211628A (ja) 割込み制御方法