JP2004213544A - マルチプロセッサ装置 - Google Patents

マルチプロセッサ装置 Download PDF

Info

Publication number
JP2004213544A
JP2004213544A JP2003002252A JP2003002252A JP2004213544A JP 2004213544 A JP2004213544 A JP 2004213544A JP 2003002252 A JP2003002252 A JP 2003002252A JP 2003002252 A JP2003002252 A JP 2003002252A JP 2004213544 A JP2004213544 A JP 2004213544A
Authority
JP
Japan
Prior art keywords
instruction
dmac
port ram
branch instruction
data
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
JP2003002252A
Other languages
English (en)
Inventor
Noriyuki Yamaguchi
徳志 山口
Masahiro Takashima
政廣 高島
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 JP2003002252A priority Critical patent/JP2004213544A/ja
Publication of JP2004213544A publication Critical patent/JP2004213544A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)

Abstract

【課題】主記憶装置が接続される外部バス1系統に接続され、1チップ内に複数のCPUを内蔵し、低速で動作するCPUに主記憶データの緩衝用の2ポートRAMを備えたマルチプロセッサ装置において、低速CPUによる分岐命令後の無効な命令フェッチを回避する。
【解決手段】外部バスと2ポートRAMとの間に接続され、主記憶装置から低速CPUbが実行する命令データを先読みして2ポートRAMに転送するDMAC3と、DMACから2ポートRAMに転送される命令データが分岐命令であることを判定する分岐命令比較器4とを有し、DMAC3は、分岐命令比較器4による分岐命令判定で命令データの先読み動作を停止し、分岐命令動作の確定後に命令データの先読み動作を再開する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、1チップ内に複数の中央処理装置(CPU)を内蔵する外部バス1系統のマルチプロセッサ装置に関する。
【0002】
【従来の技術】
主記憶装置を接続する1系統の外部バスと複数のCPUから構成されるシステムにおいて、システムの効率低下を防ぐために、低速で動作するCPUに主記憶データの緩衝用の2ポートRAMを備える技術が採用されている(例えば、特許文献1参照)。
【0003】
図5は、1系統の外部バスと複数個のCPUから構成され、低速で動作するCPUに2ポートRAMを備える従来のマルチプロセッサシステムの構成例を示すブロック図である。図5において、バス制御装置201には主記憶装置200とCPUa205とCPUb206が接続され、CPUbは2ポートRAM203に接続され、バス制御装置201と2ポートRAM203はダイレクトメモリアクセスコントローラ(DMAC)202を介して接続されている。
【0004】
このシステムにおける命令フェッチ動作では、命令データを主記憶装置200から2ポートRAM203へDMAC202を用いて高速に先読み(命令のプリフェッチ)をしていた。このとき、命令データに分岐命令が存在すると、先読みされた分岐命令後の命令データは無効になる可能性がある。また、先読みされた分岐命令後のデータが無効な場合、その分だけシステムLSI全体の無駄な消費電力が増加することになる。
【0005】
【特許文献1】
特開平8−22443号公報 (図1)
【0006】
【発明が解決しようとする課題】
上記従来のマルチプロセッサ方式は、主記憶装置からDMACを用いて命令データを2ポートRAMへ先読みすることにより、各CPUのクロックに依存することなく高速に命令フェッチを行うことができる。
【0007】
しかしながら、先読みした命令データに分岐命令が存在するとその分岐命令後の先読みした命令データは無効になる可能性があり、かつDMACが無効な命令データを先読みしている間も共通バスを占有してしまうため、他のCPUによる命令フェッチ速度の低下を招き、また無効なデータを先読みしている間の消費電力増加が問題であった。
【0008】
本発明は上記事情に鑑みてなされたもので、主記憶装置が接続される外部バス1系統に接続され、1チップ内に複数のCPUを内蔵し、低速で動作するCPUに主記憶データの緩衝用の2ポートRAMを備えたマルチプロセッサ装置において、低速CPUによる分岐命令後の無効な命令フェッチと無駄な消費電力増加を回避することができるマルチプロセッサ装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
請求項1のマルチプロセッサ装置は、主記憶装置が接続される外部バス1系統に接続され、1チップ内に複数のCPUを内蔵し、低速で動作するCPUに主記憶データの緩衝用の2ポートRAMを備えたマルチプロセッサ装置であって、前記外部バスと前記2ポートRAMとの間に接続され、前記主記憶装置から前記低速で動作するCPUが実行する命令データを先読みして前記2ポートRAMに転送するダイレクトメモリアクセスコントローラ(DMAC)と、前記DMACから前記2ポートRAMに転送される命令データが分岐命令であることを判定する分岐命令比較手段とを有し、前記DMACは、前記分岐命令比較手段による分岐命令判定で命令データの先読み動作を停止し、分岐命令動作の確定後に命令データの先読み動作を再開する。
【0010】
上記構成によれば、低速で動作するCPUにおいてもDMACにより高速にフェッチ動作を行うことができ、その命令フェッチ時に分岐命令が存在した場合は分岐命令比較手段がこれを検知してDMACによる命令データの先読み動作を停止させることができるため、低速で動作するCPU側の分岐命令後の無効な命令フェッチを回避することができる。また、これにより無駄な消費電力の増加を防ぐことができる。
【0011】
請求項2のマルチプロセッサ装置は、請求項1記載のマルチプロセッサ装置において、前記DMAC及び高速で動作するCPUのいずれか一方を選択して前記2ポートRAMに接続するセレクタを備える。
【0012】
上記構成によれば、高速で動作するCPUは2ポートRAMへ先読みした命令データを書き換えることができるため、低速で動作するCPUを直接制御することができ、各種状況においてマルチプロセッサシステムの処理効率を向上させることができる。
【0013】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら説明する。
図1は本発明の実施の形態1に係るマルチプロセッサ装置の構成を示すブロック図である。図1において、1は命令が格納される主記憶装置、2はバス制御装置、3はダイレクトメモリアクセスコントローラ(DMAC)、4は分岐命令比較器、5は2ポートRAM、6はDMAC停止信号、7はDMAC制御信号、8は高速クロックで動作するCPUa、9は低速クロックで動作するCPUbである。
【0014】
バス制御装置2には主記憶装置1、DMAC3、CPUa8、CPUb9が接続され、また、DMAC3と2ポートRAM5、2ポートRAM5とCPUb9がそれぞれ接続され、DMAC3と2ポートRAM5の間には、その間を流れるデータを分岐命令コードと逐次比較する分岐命令比較器4が接続される。
【0015】
最初に、マルチプロセッサの動作について図面を用いて説明する。図1において、高速クロックで動作するCPUa8は外部の主記憶装置1からの高速に命令フェッチを行う。DMAC3は低速クロックで動作するCPUb9用の命令データを高速に2ポートRAM5へ転送する。このとき、命令データは高速に2ポートRAM5に格納されるため、CPUa8はCPUb9の命令フェッチを低速クロック分待たずに命令フェッチを行うことができる。
【0016】
図2は、低速クロックで動作するCPUb9のDMAC3を用いた命令先読みの効果を説明するタイミング図である。CPUb9の命令フェッチをDMAC3を用いて先読みすることにより、CPUb9のみで命令フェッチを行う場合の時間推移20に比べて、DMAC3を用いた命令フェッチを行う場合の時間推移21ではシステム全体の命令フェッチ時間を短縮することができる。
【0017】
命令データを先読みしているため、分岐命令が存在するとそれ以降の先読みした命令データが無効になり、また、先読みしている間にDMAC3がバスを占有してしまう。これに対して、本発明ではDMAC3と2ポートRAM5の間のデータ転送時に分岐命令比較器4で分岐命令を判断し、分岐命令が存在するとDMAC3の先読み動作を停止させる構成とした。
【0018】
この構成により、DMAC3の命令データ先読み時に分岐命令が存在すると、DMAC3は分岐命令比較器4により命令フェッチ動作を停止させられるため、分岐命令以降の無効になる命令データを読み込まずに待機することができる。また、DMAC3によるバスの占有率が下がり、DMAC3が高速クロックで動作する時間が減るため、消費電力を低下させることができる。
【0019】
図3は、本実施の形態に係るマルチプロセッサ装置における低速で動作するCPU側の命令フェッチ動作を説明するフローチャートである。まず、先読みした命令データに分岐命令がない場合について説明する。ステップ121でDMAC3が主記憶装置1から命令をフェッチした後、ステップ122でDMAC3から2ポートRAM5へ命令データを転送し、この命令データを分岐命令比較器4は分岐命令コードと逐次比較する。
【0020】
ステップ123で比較結果を判定し、分岐命令でない場合はステップ121に戻り主記憶からの命令データの先読みを継続する。CPUb9は2ポートRAM5へ転送された命令データをフェッチすることにより低速クロックで命令を実行する。
【0021】
次に、先読みした命令データに分岐命令が存在する場合について説明する。ステップ123の比較結果判定で分岐命令が存在する場合は、分岐命令比較器4はステップ124で停止命令信号6を用いてDMAC3の命令フェッチ動作を停止させる。
【0022】
CPUb9はステップ126で2ポートRAM5からフェッチした分岐命令を実行し、ステップ125で命令分岐が確定すると、ステップ127でDMAC制御信号7を用いてDMAC3の命令先読みを再開させる。
【0023】
以上のように、本実施例のマルチプロセッサ装置は高速にフェッチ動作を行うことができ、低速クロックで動作するCPU側の命令フェッチ時に分岐命令が存在する場合は、これを分岐命令比較器4が検知してDMACによる命令データの先読み動作を停止させることができる。また、これにより無駄な消費電力の増加を防ぐことができる。
【0024】
次に、本発明の実施の形態2について説明する。図4は、本発明の実施の形態2に係るマルチプロセッサ装置の構成を示すブロック図である。図4において、図1と同じ構成要素については同一符号を付して説明する。
【0025】
図4においては、実施の形態1に対してDMAC3と2ポートRAM5の間にCPUa8が制御することができるセレクタ10が追加された構成になっている。11はCPUa8からDMAC3へのDMAC制御信号、12はCPUa8からセレクタ10へのセレクタ制御信号である。
【0026】
セレクタ10はCPUa8と2ポートRAM5とDMAC3の3者に接続され、CPUa8のアドレスバス及びデータバスとDMAC3のアドレスバス及びデータバスをセレクタ制御信号12を用いて切り換えることができる。
【0027】
このような構成により、DMAC3により2ポートRAM5へ先読みした命令データをCPUa8が書き換えることができるため、CPUa8はCPUb9の動作を直接制御することができ、各種状況においてマルチプロセッサシステムの処理効率を向上させることができる。
【0028】
【発明の効果】
以上説明したように、本発明によれば、低速で動作するCPUにおいてもDMACにより高速にフェッチ動作を行うことができ、その命令フェッチ時に分岐命令が存在する場合は分岐命令比較手段がこれを検知してDMACによる命令データの先読み動作を停止させることで、低速で動作するCPU側の分岐命令後の無効な命令フェッチを回避することができるため、システムLSI全体の処理性能を向上させる大きな効果をもたらし、また、無効な命令データの先読み停止によりシステムLSI全体の低消費電力化を実現することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るマルチプロセッサ装置の構成を示すブロック図。
【図2】低速クロックで動作するCPUのDMACを用いた命令先読みの効果を説明するタイミング図。
【図3】本発明の実施の形態1に係るマルチプロセッサ装置における低速で動作するCPU側の命令フェッチ動作を説明するフローチャート。
【図4】本発明の実施の形態2に係るマルチプロセッサ装置の構成を示すブロック図。
【図5】従来のシステムの構成例を示すブロック図。
【符号の説明】
1 主記憶装置
2 バス制御装置
3 DMAC
4 分岐命令比較器
5 2ポートRAM
6 DMAC停止信号
7 DMAC制御信号
8 CPUa
9 CPUb
10 セレクタ
11 CPUa側のDMAC制御信号
12 セレクタ制御信号
20 DMACを使用しない場合の命令フェッチ時間推移
21 DMACを使用した場合の命令フェッチ時間推移
200 主記憶装置
201 バス制御装置
202 DMAC
203 2ポートRAM
204 DMAC制御信号
205 CPUa
206 CPUb

Claims (2)

  1. 主記憶装置が接続される外部バス1系統に接続され、1チップ内に複数のCPUを内蔵し、低速で動作するCPUに主記憶データの緩衝用の2ポートRAMを備えたマルチプロセッサ装置であって、
    前記外部バスと前記2ポートRAMとの間に接続され、前記主記憶装置から前記低速で動作するCPUが実行する命令データを先読みして前記2ポートRAMに転送するダイレクトメモリアクセスコントローラ(DMAC)と、
    前記DMACから前記2ポートRAMに転送される命令データが分岐命令であることを判定する分岐命令比較手段とを有し、
    前記DMACは、前記分岐命令比較手段による分岐命令判定で命令データの先読み動作を停止し、分岐命令動作の確定後に命令データの先読み動作を再開することを特徴とするマルチプロセッサ装置。
  2. 前記DMAC及び高速で動作するCPUのいずれか一方を選択して前記2ポートRAMに接続するセレクタを備えたことを特徴とする請求項1記載のマルチプロセッサ装置。
JP2003002252A 2003-01-08 2003-01-08 マルチプロセッサ装置 Pending JP2004213544A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003002252A JP2004213544A (ja) 2003-01-08 2003-01-08 マルチプロセッサ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003002252A JP2004213544A (ja) 2003-01-08 2003-01-08 マルチプロセッサ装置

Publications (1)

Publication Number Publication Date
JP2004213544A true JP2004213544A (ja) 2004-07-29

Family

ID=32820053

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003002252A Pending JP2004213544A (ja) 2003-01-08 2003-01-08 マルチプロセッサ装置

Country Status (1)

Country Link
JP (1) JP2004213544A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255745A (zh) * 2016-12-29 2018-07-06 展讯通信(上海)有限公司 处理器以及无效指令缓存的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108255745A (zh) * 2016-12-29 2018-07-06 展讯通信(上海)有限公司 处理器以及无效指令缓存的方法
CN108255745B (zh) * 2016-12-29 2020-11-06 展讯通信(上海)有限公司 处理器以及无效指令缓存的方法

Similar Documents

Publication Publication Date Title
KR100913279B1 (ko) 버스를 통해 메모리 프리패치 명령들을 전송하기 위한 방법 및 장치
JP3289661B2 (ja) キャッシュメモリシステム
JPH02224023A (ja) 命令ストリーム機能を有するプロセサ制御型インターフェイス
JPH04232549A (ja) キャッシュメモリシステム
US7299341B2 (en) Embedded system with instruction prefetching device, and method for fetching instructions in embedded systems
US20080140934A1 (en) Store-Through L2 Cache Mode
JP2007514237A (ja) 分岐先バッファにおいてエントリを割り当てる方法及び装置
WO2004031943A1 (ja) データプロセッサ
US7162588B2 (en) Processor prefetch to match memory bus protocol characteristics
JP3683248B2 (ja) 情報処理装置及び情報処理方法
JPH10301779A (ja) デュアルワードまたは複数命令をフェッチしかつ発行する方法および装置
US7689735B2 (en) Instruction stream control
JP2004213544A (ja) マルチプロセッサ装置
JP2004103003A (ja) 指令とデータを暫時保存及び移転できるアクセス構造及び方法
JPH11232171A (ja) 情報処理システム
KR960007833B1 (ko) 고속 페이지 모드 선택을 위한 방법 및 장치
JP4374956B2 (ja) キャッシュメモリ制御装置およびキャッシュメモリ制御方法
JP2003099324A (ja) マルチメディアプロセッサ用のストリーミングデータキャッシュ
JP2008257508A (ja) キャッシュ制御方法およびキャッシュ装置並びにマイクロコンピュータ
JP4413663B2 (ja) 命令キャッシュシステム
JP2000148478A (ja) 中央処理装置及び中央処理システム
US8099533B2 (en) Controller and a method for controlling the communication between a processor and external peripheral device
EP1930811A1 (en) Methods and devices for cache enhancing
US20070198754A1 (en) Data transfer buffer control for performance
TWI402674B (zh) 使用擷取叢發提供資訊至一快取模組之裝置及方法