JPH06250854A - 命令プリフェッチ装置 - Google Patents

命令プリフェッチ装置

Info

Publication number
JPH06250854A
JPH06250854A JP3503093A JP3503093A JPH06250854A JP H06250854 A JPH06250854 A JP H06250854A JP 3503093 A JP3503093 A JP 3503093A JP 3503093 A JP3503093 A JP 3503093A JP H06250854 A JPH06250854 A JP H06250854A
Authority
JP
Japan
Prior art keywords
instruction
task
queue
instruction prefetch
prefetch
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
JP3503093A
Other languages
English (en)
Inventor
Toshiya Kai
俊也 甲斐
Ichiro Yamane
一郎 山根
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 JP3503093A priority Critical patent/JPH06250854A/ja
Publication of JPH06250854A publication Critical patent/JPH06250854A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 現在実行中のタスクの命令データと次々に実
行する予定のタスクの命令データを先取りすることを可
能とする。 【構成】 まず記憶装置7の中のタスクの命令の先頭ア
ドレスから、命令先取りキュー1に転送し、次に最初に
実行するタスクの1命令の1バイトは命令長解読装置2
へ転送される。命令長解読装置2は1命令の長さを解読
して、第1の命令先取りポインタ8とキュー制御装置
4、ポインタ更新制御装置13へ送り、キュー制御装置
4は命令先取りキュー1にタスクの実行予定の順に命令
を格納するように制御する。また、命令データ115は
命令解読装置3に送られて実行され、データ更新を行
い、タスク切り替え制御装置5はポインタイネーブル1
07を出力することによってタスクの切り替えを制御す
る。以下、この動作を繰り返し各タスクの命令フェッチ
が命令解読装置3に順次送られて実行される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は時分割マルチタスク処理
において、現在実行中のタスクの命令データと、それ以
降順次実行する予定のタスクの命令データを先取りする
ことが可能な命令プリフェッチ装置に関するものであ
る。
【0002】
【従来の技術】従来のマルチタスク処理では1つのCP
Uと1つの命令キューを持ち、あるタスクを実行してい
る途中でCPUに割込みをかけて、割込み処理のなかで
他のタスクに切り替えて実行する方法のものがあった。
しかし、この方式では各タスクの切り替え処理をプログ
ラムで設定しなければならないためユーザーに対して負
担がかかると同時に、割込み処理を行なうためのオーバ
ーヘッドがあり時間的なロスが大きかった。このような
問題を解決するため、時分割によってマルチタスク処理
を行う事ができる命令プリフェッチ装置が考えられてい
る。この方法では、タスク切り替えのオーバーヘッドを
なくすため、1つのCPUに対して、複数の命令先取り
ポインタと複数の命令先取りキューを備え、1つの命令
先取りポインタに1つの命令先取りキューが対応してお
り、1つの命令先取りキューに現在実行中の命令データ
を先取りし、残りの命令先取りキューの中の1つに次に
実行するタスクの命令データを先取りする。以下、その
繰り返しによって命令プリフェッチを行い、複数の命令
先取りキューに蓄えられた命令を、命令実行毎にCPU
を切り替えながら順次実行するオーバーヘッドなしの時
分割マルチタスク処理を行なう方法であった。しかし、
この技術を用いた場合、複数の命令先取りキューが必要
であり、命令プリフェッチ装置のハードウエア資源が大
きくなってしまう問題があった。
【0003】
【発明が解決しようとする課題】これまでのマルチタス
ク処理装置における命令プリフェッチの構成は、タスク
切り替えのためのオーバヘッドをなくすために、複数の
命令先取りポインタと、複数の命令先取りキューを必要
とするためハードウエア資源が大きくなっていた。
【0004】本発明は、前記のような従来の課題を解決
する命令プリフェッチ装置を提供するものである。
【0005】
【課題を解決するための手段】前記課題を解決するため
に本発明の命令プリフェッチ装置は、記憶装置から命令
を先取りし、格納しておくための1つの命令先取りキュ
ーと、それに対応する、先取りする命令のアドレスを示
す複数の命令先取りポインタと、命令先取りキューの中
に蓄えられた命令を切り出すために使用する命令長解読
装置を備え、複数の命令先取りポインタは、命令をフェ
ッチする毎にタスク実行順に切り替わり、複数の命令先
取りポインタで示された命令を、タスク実行順に1つの
命令先取りキューに順次取り込むことにより、1つの命
令先取りキューの中に複数のタスクの命令を実行順に蓄
え、命令先取りキューの中に蓄えられた1命令の命令長
を解読することにより、命令先取りキューの中から実行
する命令を切り出して命令解読装置へ送る方法を用い
て、タスク切り替えのためのオーバーヘッドなしのマル
チタスク処理をハードウエアで実現している。
【0006】
【作用】前記構成により、時分割マルチタスク処理装置
における命令プリフェッチ装置が、小規模なハードウエ
ア資源で実現でき、タスク切り替えのオーバーヘッドを
最小限におさえたシステムを構築することができる。
【0007】
【実施例】以下、本発明の一実施例について図面を参照
しながら説明する。図1は、本実施例に係る命令プリフ
ェッチ装置の構成図である。
【0008】本実施例に係る命令プリフェッチ装置は、
記憶装置から命令を先取りして格納しておくための1つ
の命令先取りキュー1と、前記命令先取りキュー1の中
に蓄えられた命令の並びを管理するための命令長を解読
する解読装置2と、命令解読装置3と、キュー制御装置
4と、タスクの順に切り替える制御装置5と、先取りす
る命令のアドレスを示し、各タスク毎に1つ1つ割り当
てられた複数の命令先取りポインタ6と、記憶装置7
と、シフト制御ポインタ11と、フェッチ制御ポインタ
12とにより構成されている。
【0009】次に本実施例に係る命令プリフェッチ装置
の動作について説明する。記憶装置7には命令データが
格納されている。まず最初に実行する予定のタスクに割
り当てられた、命令先取りポインタ8が指し示す記憶装
置7の中のタスクの先頭アドレスから、最長命令のバイ
ト数分だけ1バイトずつ命令先取りキュー1に転送す
る。2番目に実行する予定のタスクの命令も同様にし
て、命令先取りポインタ9が指し示す記憶装置7の中の
タスクの命令の先頭アドレスから、最長命令のバイト数
分だけ1バイトずつ命令先取りキュー1に転送する。こ
の様にフェッチすることによって、少なくとも必ず各タ
スク1命令は最低フェッチする。キュー制御装置4の中
のフェッチ制御ポインタ12からフェッチイネーブル1
05が出力されたときに、記憶装置7から命令先取りキ
ュー1へ命令データが転送される。本実施例では、命令
先取りキュー1は最長命令のバイト数の2倍以上、最長
命令のバイト数のタスク数N倍以下の領域を確保してい
るものとするが、最長命令のバイト数+1バイト以上で
あればよい。次に、最初に実行するタスクの1命令の1
バイトは命令長解読装置2へ転送される。命令の1バイ
ト目は必ず命令長の情報を含んでおり、命令長解読装置
2は最初に実行するタスクの1命令の長さを解読して、
その結果を第1の命令先取りポインタ8とキュー制御装
置4、ポインタ更新制御装置13へ送る。
【0010】キュー制御装置4は、命令長解読装置2か
ら送られてきた命令長のデータ110から、最初に実行
するタスクの1命令の長さがわかるので、実行に必要な
残りのバイト数分だけ1バイトずつ命令長解読装置2へ
送る。その際、最長命令のバイト数だけフェッチしてい
るため、不要な部分が生じる場合がある。即ち、解読し
た結果のデータが最長命令のバイト数より小さい場合
は、最長命令のバイト数から命令長解読装置2によって
解読された1命令のバイト数を減算して、その結果のバ
イト数の分だけ命令先取りキュー1の中に蓄えられてい
る命令をシフト制御信号111によりシフトする。これ
で、次に実行するタスクの命令の先頭が命令先取りキュ
ー1の先頭までシフトでき、不要な部分は書き替えられ
る。同時に、命令先取りキュー1に蓄えられている命令
データの最後尾を指し示すフェッチ制御ポインタ12
は、シフト制御信号111とキュー出力信号112を減
算し、キュー入力信号113を加算することによってポ
インタを移動する。フェッチ制御ポインタ12は、命令
先取りキュー1に空きがあれば記憶装置7へフェッチイ
ネーブル信号105を出し、次に実行する予定のタスク
に対応する命令先取りポインタの指し示すアドレスから
最長命令のバイト数分だけ1バイトずつ命令データを命
令先取りキュー1に転送することによって、命令先取り
キュー1にはタスクの実行予定の順に命令が格納されて
いく。
【0011】一方、命令長解読装置2から出力された命
令データ115は、命令解読装置3へ送られ実行され
る。
【0012】命令先取りポインタは、タスクに1つずつ
1対1に割り当てられている。第1の命令先取りポイン
タ8が記憶装置7を指し示す信号が有効になったとき、
命令先取りポインタと1対1対応したポインタ更新制御
装置13に有効であるという情報が保持され、命令長解
読装置2によって命令長データ110が出力されたと
き、ポインタ更新制御装置13内のデータが出力され、
その結果により命令長解読装置2で処理されたデータが
どのタスクのものか判別できる。命令長解読装置2から
出力された命令長データ110により解読された命令が
最初に実行するタスクの命令であった場合は、第1の命
令先取りポインタ8の値を更新する。次に実行するタス
クの命令であった場合は、第2の命令先取りポインタ9
の値を更新する。命令長解読装置2を通して実行されな
いかぎりそのタスクの命令先取りポインタは更新されな
い。
【0013】タスク切り替え制御装置5は、フェッチイ
ネーブル信号105によりタスク実行予定順に順次切り
替わり、各タスクに1対1で割り当てられた命令先取り
ポインタのどれを有効にするかを決定するポインタイネ
ーブル107を出力することによってタスクの切り替え
を制御する。
【0014】以下、この動作を繰り返す事によって、各
タスクの命令フェッチが命令先取りキュー1の中に準備
され、命令解読装置3に順次送られ実行される。前記の
構成により、オーバーヘッド無しのマルチタスク処理機
能を実現できる。
【0015】
【発明の効果】本発明により、時分割マルチタスク処理
において、小規模なハードウエア資源で、タスク切り替
えのオーバーヘッドを最小限におさえたシステムを実現
することができる。
【図面の簡単な説明】
【図1】本発明の一実施例における命令プリフェッチ装
置の構成図
【符号の説明】
1 命令先取りキュー 2 命令長解読装置 3 命令解読装置 4 キュー制御装置 5 タスク切り替え制御装置 6 命令先取りポインタ装置 7 記憶装置 8〜10 命令先取りポインタ 11 シフト制御ポインタ 12 フェッチ制御ポインタ 13〜15 ポインタ更新制御装置

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数のタスク毎にCPUを一定時間割り当
    てることによって、複数のタスクを並行に実行するマル
    チタスク処理装置で、記憶装置から命令を先取りして格
    納しておくための1つの命令先取りキューと、先取りす
    る命令のアドレスを示し、各タスク毎に1つ1つ割り当
    てられた複数の命令先取りポインタと、各タスク毎に割
    り当てられた前記複数の命令先取りポインタを実行する
    タスクの順に切り替える制御装置と、前記命令先取りポ
    インタの値を更新して前記命令先取りキューの中に取り
    込まれた命令を命令解読装置へ送る際に、前記命令先取
    りキューの中に蓄えられた命令の並びを管理するための
    命令長を解読する解読装置とを備え、前記複数の命令先
    取りポインタは命令をフェッチする毎にタスク実行予定
    順に切り替えることにより、タスク実行予定順に前記1
    つの命令先取りキューに順次取り込みマルチタスク処理
    を実行することを特徴とする命令プリフェッチ装置。
JP3503093A 1993-02-24 1993-02-24 命令プリフェッチ装置 Pending JPH06250854A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3503093A JPH06250854A (ja) 1993-02-24 1993-02-24 命令プリフェッチ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3503093A JPH06250854A (ja) 1993-02-24 1993-02-24 命令プリフェッチ装置

Publications (1)

Publication Number Publication Date
JPH06250854A true JPH06250854A (ja) 1994-09-09

Family

ID=12430670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3503093A Pending JPH06250854A (ja) 1993-02-24 1993-02-24 命令プリフェッチ装置

Country Status (1)

Country Link
JP (1) JPH06250854A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010282637A (ja) * 1998-03-18 2010-12-16 Qualcomm Inc デジタル信号プロセッサ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010282637A (ja) * 1998-03-18 2010-12-16 Qualcomm Inc デジタル信号プロセッサ
JP2015028793A (ja) * 1998-03-18 2015-02-12 クゥアルコム・インコーポレイテッドQualcomm Incorporated デジタル信号プロセッサ
JP2016146189A (ja) * 1998-03-18 2016-08-12 クゥアルコム・インコーポレイテッドQualcomm Incorporated デジタル信号プロセッサ

Similar Documents

Publication Publication Date Title
US6662297B1 (en) Allocation of processor bandwidth by inserting interrupt servicing instructions to intervene main program in instruction queue mechanism
US8195922B2 (en) System for dynamically allocating processing time to multiple threads
KR100422491B1 (ko) 내장형 프로세서 복합체, 네트워크 프로세싱 시스템 및인스트럭션 실행 제어 방법
US8516024B2 (en) Establishing thread priority in a processor or the like
JP5173712B2 (ja) マルチスレッドプロセッサ
US5678048A (en) Interrupt vector method and apparatus for loading a slot memory address counter
WO2001038970A2 (en) Buffer memories, methods and systems for buffering having seperate buffer memories for each of a plurality of tasks
EP2159691A1 (en) Simultaneous multithreaded instruction completion controller
EP4217855A1 (en) Processor with multiple fetch and decode pipelines
US6701426B1 (en) Switching between a plurality of branch prediction processes based on which instruction set is operational wherein branch history data structures are the same for the plurality of instruction sets
US7257698B2 (en) Instruction buffer and method of controlling the instruction buffer where buffer entries are issued in a predetermined order
JPH06250854A (ja) 命令プリフェッチ装置
JP2689914B2 (ja) 情報処理装置
JPS60241136A (ja) デ−タ処理装置
KR100329780B1 (ko) 인터럽트 응답 시간을 줄인 인터럽트 처리 장치
JPS60250438A (ja) 情報処理装置
JPH10283185A (ja) プロセッサ
US20100153688A1 (en) Apparatus and method for data process
JPH06124205A (ja) 命令プリフェッチ装置
JPH1124930A (ja) 情報処理装置
JP2853458B2 (ja) 命令列切り替え方法及びそれを用いた演算プロセッサ
JP2568308B2 (ja) マルチタスク実行装置
JPH0659916A (ja) 命令プリフェッチ装置
JPH10269079A (ja) 多重パイプラインを有する情報処理装置
JPH0895898A (ja) ダイレクトメモリアクセス装置およびデータ転送装置