図面 (/)

技術 データ転送制御装置、データ転送制御方法、およびデータ転送制御プログラム

出願人 富士通株式会社
発明者 山内宏真山下浩一郎鈴木貴久栗原康志
出願日 2010年6月22日 (11年7ヶ月経過) 出願番号 2012-521204
公開日 2013年8月19日 (8年5ヶ月経過) 公開番号 WO2011-161768
状態 特許登録済
技術分野 バス制御
主要キーワード CPUタイプ 転送元メモリ 制御用プロセッサ ストリーミング動画 データ転送制御プログラム 転送先メモリ インアクティブ状態 転送対象データ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2013年8月19日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (14)

課題・解決手段

データ転送制御装置(100)は、転送部(203)となるDMAC(#0)によってCPU(#0)の転送指示部(204)による指示を受けて転送元メモリとなるMEM(#1)から転送先メモリとなるMEM(#0)へ転送対象データを転送する。また、データ転送制御装置(100)は、検出部(205)によってCPU(#0)によって実行されたプロセスを検出する。検出後、データ転送制御装置(100)は、判断部(206)によって、検出されたプロセスの種類によって転送部(203)による転送対象データの転送に緊急性があるか否かを判断する。判断後、データ転送制御装置(100)は、制御部(207)によって、判断部(206)によって判断された結果に基づいて、転送部(203)またはCPU(#0)によって転送対象データを転送するように制御する。

概要

背景

従来から、メモリ間データ転送高速に行う技術として、DMA(Direct Memory Access)転送を行う技術が開示されていた。DMA転送を行う専用のコントローラとして、DMAC(Direct Memory Access Controller)が存在する。DMACは、メモリからメモリへ、またはメモリから周辺機器へのデータ転送を、CPUを介さずに行う機能を有する。

たとえば、マルチコアプロセッサシステムのうち、各コアに対応したメモリが搭載された分散メモリ型のマルチコアプロセッサシステムでは、各コアで計算された結果は各コアに対応したメモリに一度格納される。格納後、マルチコアプロセッサシステムは、マスターコアのメモリに対してDMACによるDMA転送を行う。または、異なるコアに割り当てられたプロセスが計算結果を利用する場合、マルチコアプロセッサシステムは、異なるコアに対応するメモリに対してDMA転送を行う。

DMACを制御する技術として、小量のデータ、または離散したデータの転送をCPUが行い、連続した大量のデータの転送をDMACが行うことで、データ転送の高速化を実現するという技術が開示されている(たとえば、下記特許文献1を参照。)。

また、DMACを制御する他の技術として、分散された共有メモリを用い、DMACによるデータ転送処理とCPUによる画像処理とを効率的にパイプライン処理を行うという技術が開示されている(たとえば、下記特許文献2を参照。)。

概要

データ転送制御装置(100)は、転送部(203)となるDMAC(#0)によってCPU(#0)の転送指示部(204)による指示を受けて転送元メモリとなるMEM(#1)から転送先メモリとなるMEM(#0)へ転送対象データを転送する。また、データ転送制御装置(100)は、検出部(205)によってCPU(#0)によって実行されたプロセスを検出する。検出後、データ転送制御装置(100)は、判断部(206)によって、検出されたプロセスの種類によって転送部(203)による転送対象データの転送に緊急性があるか否かを判断する。判断後、データ転送制御装置(100)は、制御部(207)によって、判断部(206)によって判断された結果に基づいて、転送部(203)またはCPU(#0)によって転送対象データを転送するように制御する。

目的

本発明は、上述した従来技術による問題点を解消するため、転送待ちによるスループットの低下を防止し、リアルタイム処理に対する応答性を向上できるデータ転送制御装置、データ転送制御方法、およびデータ転送制御プログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

プロセッサの指示によって転送元メモリから転送先メモリ転送対象データ転送する転送手段と、前記プロセッサによって実行されたプロセスを検出する検出手段と、前記検出手段によって検出された前記プロセスの種類に基づいて、前記転送手段による前記転送対象データの転送に緊急性があるか否かを判断する判断手段と、前記判断手段によって判断された結果に基づいて、前記転送手段または前記プロセッサによって前記転送対象データを転送するように制御する制御手段と、を備えることを特徴とするデータ転送制御装置

請求項2

前記検出手段は、さらに、前記プロセスの状態変化を検出し、前記判断手段は、前記検出手段によって検出された前記プロセスの種類および前記プロセスの状態変化に基づいて、前記転送手段による前記転送対象データの転送に緊急性があるか否かを判断することを特徴とする請求項1に記載のデータ転送制御装置。

請求項3

前記検出手段は、さらに、前記プロセスの状態がアクティブからインアクティブに、または、インアクティブからアクティブに変化したことを検出し、前記判断手段は、前記検出手段によって検出された前記プロセスの種類および前記プロセスの状態がアクティブかインアクティブかに基づいて、前記転送手段による前記転送対象データの転送の緊急性を判断することを特徴とする請求項1に記載のデータ転送制御装置。

請求項4

前記制御手段は、前記判断手段によって緊急性があると判断された場合、前記転送手段によって前記転送対象データを転送するように制御することを特徴とする請求項1〜3のいずれか1つに記載のデータ転送制御装置。

請求項5

前記判断手段は、さらに、他のプロセッサによる前記転送元メモリへの前記転送対象データの格納に緊急性があるか否かを判断し、前記制御手段は、前記判断手段によって前記転送対象データの格納に緊急性がなく、かつ、前記転送対象データの転送に緊急性がないと判断された場合、前記他のプロセッサによって前記転送先メモリへ前記転送対象データを転送するように制御することを特徴とする請求項1〜3のいずれか1つに記載のデータ転送制御装置。

請求項6

前記判断手段は、さらに、他のプロセッサによる前記転送元メモリへの前記転送対象データの格納に緊急性があるか否かを判断し、前記制御手段は、前記判断手段によって前記転送対象データの格納に緊急性があり、かつ、前記転送対象データの転送に緊急性がないと判断された場合、前記プロセッサによって前記転送対象データを転送するように制御することを特徴とする請求項1〜3のいずれか1つに記載のデータ転送制御装置。

請求項7

転送元メモリから転送先メモリへ転送対象データを転送する転送装置を制御可能なプロセッサが、前記プロセッサによって実行されたプロセスを検出する検出工程と、前記検出工程によって検出された前記プロセスの種類に基づいて、前記転送装置による前記転送対象データの転送に緊急性があるか否かを判断する判断工程と、前記判断工程によって緊急性があると判断された場合、前記転送対象データの転送を前記転送装置に指示する転送指示工程と、前記判断工程によって緊急性がないと判断された場合、前記プロセッサによって前記転送対象データを転送する転送工程と、を実行することを特徴とするデータ転送制御方法

請求項8

転送元メモリから転送先メモリへ転送対象データを転送する転送装置を制御可能なプロセッサに、前記プロセッサによって実行されたプロセスを検出する検出工程と、前記検出工程によって検出された前記プロセスの種類に基づいて、前記転送装置による前記転送対象データの転送に緊急性があるか否かを判断する判断工程と、前記判断工程によって緊急性があると判断された場合、前記転送対象データの転送を前記転送装置に指示する転送指示工程と、前記判断工程によって緊急性がないと判断された場合、前記プロセッサによって前記転送対象データを転送する転送工程と、を実行させることを特徴とするデータ転送制御プログラム

技術分野

背景技術

0002

従来から、メモリ間のデータ転送を高速に行う技術として、DMA(Direct Memory Access)転送を行う技術が開示されていた。DMA転送を行う専用のコントローラとして、DMAC(Direct Memory Access Controller)が存在する。DMACは、メモリからメモリへ、またはメモリから周辺機器へのデータ転送を、CPUを介さずに行う機能を有する。

0003

たとえば、マルチコアプロセッサシステムのうち、各コアに対応したメモリが搭載された分散メモリ型のマルチコアプロセッサシステムでは、各コアで計算された結果は各コアに対応したメモリに一度格納される。格納後、マルチコアプロセッサシステムは、マスターコアのメモリに対してDMACによるDMA転送を行う。または、異なるコアに割り当てられたプロセスが計算結果を利用する場合、マルチコアプロセッサシステムは、異なるコアに対応するメモリに対してDMA転送を行う。

0004

DMACを制御する技術として、小量のデータ、または離散したデータの転送をCPUが行い、連続した大量のデータの転送をDMACが行うことで、データ転送の高速化を実現するという技術が開示されている(たとえば、下記特許文献1を参照。)。

0005

また、DMACを制御する他の技術として、分散された共有メモリを用い、DMACによるデータ転送処理とCPUによる画像処理とを効率的にパイプライン処理を行うという技術が開示されている(たとえば、下記特許文献2を参照。)。

先行技術

0006

特開2007−58276号公報
特開2008−90455号公報

発明が解決しようとする課題

0007

しかしながら、上述した従来技術において、特許文献1、2にかかる技術では、DMACによるバースト転送によってバス占有されてしまい、CPUがDMACの転送の完了待ちを行うため、CPUのスループットが低下するという問題があった。また、割り込み処理が発生した場合に、CPUは、メモリ上にある割り込みハンドラを読み込もうとするが、DMACによるDMA転送が完了してから割り込みハンドラを読み込むため、リアルタイム処理に対する応答性が低下するという問題があった。

0008

本発明は、上述した従来技術による問題点を解消するため、転送待ちによるスループットの低下を防止し、リアルタイム処理に対する応答性を向上できるデータ転送制御装置、データ転送制御方法、およびデータ転送制御プログラムを提供することを目的とする。

課題を解決するための手段

0009

上述した課題を解決し、目的を達成するため、開示のデータ転送制御装置は、プロセッサの指示によって転送元メモリから転送先メモリ転送対象データを転送する転送部を含み、プロセッサによって実行されたプロセスを検出し、検出されたプロセスの種類に基づいて、転送部による転送対象データの転送に緊急性があるか否かを判断し、判断された結果に基づいて、転送部またはプロセッサによって転送対象データを転送するように制御する。

発明の効果

0010

本データ転送制御装置、データ転送制御方法、およびデータ転送制御プログラムによれば、CPUの転送待ちによるスループットの低下を防止し、リアルタイム処理に対する応答性を向上できるという効果を奏する。

図面の簡単な説明

0011

実施の形態にかかるデータ転送制御装置100のハードウェアを示すブロック図である。
データ転送制御装置100の機能を示すブロック図である。
データ転送制御装置100とデータ転送テーブル201の記憶内容の一例を示す説明図である。
データ転送制御装置100とCPUが3つ以上存在する場合におけるデータ転送テーブル201の記憶内容の一例を示す説明図である。
データ転送方式Aを示す説明図である。
データ転送方式Bを示す説明図である。
データ転送方式Cを示す説明図である。
ストリーミング再生中におけるストリーミングデータデータ転送状態を示す説明図である。
ゲームアプリケーション実行中におけるストリーミングデータのデータ転送状態を示す説明図である。
ゲームアプリケーション中断状態におけるストリーミングデータのデータ転送状態を示す説明図である。
データ転送方式移行処理を示すフローチャート(その1)である。
データ転送方式移行処理を示すフローチャート(その2)である。
データ転送方式設定処理を示すフローチャートである。

実施例

0012

以下に添付図面を参照して、本発明にかかるデータ転送制御装置、データ転送制御方法、およびデータ転送制御プログラムの好適な実施の形態を詳細に説明する。

0013

(データ転送制御装置のハードウェア)
図1は、実施の形態にかかるデータ転送制御装置のハードウェアを示すブロック図である。図1において、データ転送制御装置100は、CPU(Central Processing Unit)#0と、CPU#1と、MEM(MEMory)#0と、MEM#1と、DMAC#0と、DMAC#1と、ROM(Read‐Only Memory)101と、フラッシュROM102と、を備えている。また、ユーザやその他の機器との入出力装置としてデータ転送制御装置100は、キーボード103と、ディスプレイ104と、I/F(Interface)105と、を備えている。また、各部はバス107によってそれぞれ接続されている。

0014

ここで、CPU#0、CPU#1は、データ転送制御装置100の全体の制御を司る。ROM101は、ブートプログラムなどのプログラムを記憶している。MEM#0、MEM#1は、それぞれCPU#0、CPU#1のワークエリアとして使用されるRAM(Random Access Memory)等の記憶装置である。DMAC#0、DMAC#1は、MEM#0とMEM#1間にてデータを転送する。また、CPU#0は、主にDMAC#0を制御し、CPU#1はDMAC#1を制御する。本実施の形態にかかるデータ転送制御装置100は、コアが複数搭載されたプロセッサを含むコンピュータのシステムである。また、本実施の形態にかかるデータ転送制御装置100では、CPUが2つ搭載されているが、3つ以上搭載されていてもよい。CPUが3つ以上搭載されている場合の詳細は、図4にて後述する。

0015

キーボード103は、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、キーボード103は、タッチパネル式入力パッドテンキーなどであってもよい。ディスプレイ104は、カーソルアイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ104は、たとえば、TFT液晶ディスプレイなどを採用することができる。

0016

I/F105は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク106に接続され、このネットワーク106を介して他の装置に接続される。そして、I/F105は、ネットワーク106と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F105には、たとえばモデムLANアダプタなどを採用することができる。

0017

従来例にかかるデータ転送制御装置100も、本実施の形態にかかるデータ転送制御装置100と等しいハードウェアを搭載する。従来例にかかるデータ転送制御装置100では、DMAC#0にて、MEM#1からMEM#0に転送対象データを転送している間、CPU#1はMEM#1にアクセスを行うことができず、データアクセス待ちが発生していた。

0018

(データ転送制御装置100の機能)
次に、データ転送制御装置100の機能について説明する。図2は、データ転送制御装置100の機能を示すブロック図である。データ転送制御装置100は、転送部203と、転送指示部204と、検出部205と、判断部206と、制御部207と、を含む。この制御部となる機能(転送指示部204〜制御部207)は、記憶装置に記憶されたプログラムをCPU#0が実行することにより、その機能を実現する。記憶装置とは、具体的には、たとえば、図1に示したROM101、フラッシュROM102、MEM#0、MEM#1などである。また、転送部203はDMAC#0によってその機能を実現する。

0019

また、データ転送制御装置100は、データ転送制御装置100で実行されるプロセスの状態変化に応じたデータ転送方式を格納するデータ転送テーブル201にアクセス可能である。データ転送テーブル201の詳細は図3図4にて後述する。また、転送指示部204と、検出部205と、判断部206と、制御部207と、はスケジューラ202に含まれる機能である。

0020

スケジューラ202は、OSに含まれるソフトウェアであり、CPUに割り当てるプロセスを決定する機能を有する。たとえば、スケジューラ202は、プロセスに設定されている優先度等に基づいて、次にCPUに割り当てるプロセスを決定する。定められた時刻になった場合、スケジューラ202はディスパッチャが決定されたプロセスをCPUに割り当てる。スケジューラの機能の1つとしてディスパッチャを含む形態も存在する。本実施の形態では、スケジューラ202内にディスパッチャの機能が存在する。

0021

また、図2では、CPU#0に転送指示部204〜制御部207が含まれるように図示しているが、他のCPUのスケジューラにも転送指示部204〜制御部207が含まれる。同様に、DMAC#0以外のDMACにも、転送部203が含まれる。

0022

転送部203は、プロセッサの指示によって転送元メモリから転送先メモリへ転送対象データを転送する機能を有する。たとえば、DMAC#0は、CPU#0の指示によって転送元メモリとなるMEM#1から転送先メモリとなるMEM#0へ、転送対象データとなるストリーミングデータを転送する。

0023

転送指示部204は、転送部203に転送対象データを転送するように指示する機能を有する。たとえば、転送指示部204は、DMAC#0に転送元メモリとなるMEM#1のアドレスと、転送対象データのデータサイズと、転送先メモリとなるMEM#0のアドレスを通知し、データ転送を指示する。なお、指示内容となる転送元メモリおよび転送先メモリのアドレス、転送対象データのデータサイズは、転送指示部204を実行したCPUのレジスタローカルメモリなどの記憶領域に記憶されてもよい。

0024

検出部205は、プロセッサによって実行されたプロセスを検出する機能を有する。プロセスとはプログラムの実行単位である。また、本実施の形態におけるアプリケーションは、1つのプロセスを保持し、また1つのプロセス内には1つ以上のスレッドを保持する。また、検出部205は、プロセスの状態変化を検出してもよい。また、検出部205は、プロセスの状態変化の1つである、プロセスの状態がアクティブからインアクティブに、または、インアクティブからアクティブに変化したことを検出してもよい。プロセスの状態がアクティブである場合は、該当のプロセスが利用者の入力や操作の対象となっている状態である。また、プロセスの状態がインアクティブである場合は、該当のプロセスが利用者の入力や操作の対象となっていない状態である。

0025

状態変化とは、プロセスの起動、終了したというイベントを検出した場合である。また、ディスパッチによる切り替えによってプロセスがアクティブまたはインアクティブに変化した場合も状態変化に含めてもよい。また、状態変化はプロセスに転送される転送対象データの使用状態の変化であってもよい。たとえば、転送対象データがストリーミング動画である場合に、動画再生再生中から停止、または巻き戻し再生になったという変化が発生した場合、検出部205は状態変化として検出してもよい。

0026

たとえば、検出部205は、CPU#0によって実行されたアプリケーションを検出する。また、検出部205は、アプリケーションの起動、終了、切り替えが起こったことを検出する。なお、検出結果は、検出部205を実行したCPUのレジスタやローカルメモリなどの記憶領域に記憶される。

0027

判断部206は、検出部205によって検出されたプロセスの種類に基づいて、転送部203による転送対象データの転送に緊急性があるか否かを判断する機能を有する。また、判断部206は、検出部205によってプロセスの状態変化が検出された場合、プロセスの種類と状態変化に基づいて、転送対象データの転送の緊急性を判断してもよい。また、判断部206は、さらに、他のプロセッサによる転送元メモリへの転送対象データの格納に緊急性があるか否かを判断してもよい。他のプロセッサとは、転送元メモリへ転送対象データを格納するプロセッサであり、検出部205によってプロセスを検出したプロセッサとは異なるプロセッサではあるが、プロセスを検出したプロセッサと一致していてもよい。

0028

また、緊急性とは、時間制約のことであり、緊急性があるデータ転送とは、時間制約が存在するリアルタイム処理のデータ転送である。また、判断部206は、リアルタイム処理の中でも、処理量が多く優先度が高いデータ転送を緊急性があるデータ転送と判断し、時間制約が存在しても、処理完了までの時間に余裕があるデータ転送については緊急性がないとして判断してもよい。また、リアルタイム処理のデータ転送でなくても、利用者によって可能な限り早く転送するように設定された場合、判断部206は、緊急性があるとして判断してもよい。

0029

また、転送対象データの転送に緊急性がある場合は、たとえば、ネットワーク106経由によるストリーミング動画の再生などが挙げられる。転送対象データの転送に緊急性がある場合には、転送前に行われる転送元メモリへの転送対象データの格納も高速で行うことが求められる。ストリーミング動画の例では、ストリーミング動画のビットレート以上で転送対象データを転送することが求められるため、データ転送制御装置100は、高速に通信処理を行って転送対象データを格納することが要求される。さらに、データ転送制御装置100は、ストリーミング動画を再生するCPUのワーキング領域に高速に転送することが要求される。

0030

また、転送対象データの転送には緊急性がないが、転送対象データの格納に緊急性がある場合は、たとえば、ネットワーク106経由による通信処理が挙げられる。通信処理は、ある一定時間以内に処理を行わないとタイムアウトとなり、通信処理の相手側端末によって通信終了させられる場合がある。したがって、データ転送制御装置100は、高速に転送対象データを格納し、通信処理を処理することが要求される。

0031

具体的には、判断部206は、データ転送テーブル201のレコードのうち、アプリケーションの種類と、アプリケーションの状態がアクティブかインアクティブかと、が一致するレコードを取得する。取得されたレコードに記載されたデータ転送方式によって、判断部206は、転送対象データの転送に緊急性があるか否か、また、転送元メモリへの転送対象データの格納に緊急性があるか否かを判断する。

0032

たとえば、取得されたレコードに“方式A”と記載されていた場合、判断部206は、転送対象データの転送に緊急性があると判断する。また、取得されたレコードに“方式B”と記載されていた場合、判断部206は、転送対象データの転送に緊急性がないと判断する。また、取得されたレコードに“方式B”と記載されていた場合、判断部206は、転送対象データの格納に緊急性がなく、かつ、転送対象データの転送に緊急性がないと判断する。また、取得されたレコードに“方式C”と記載されていた場合、判断部206は、転送対象データの格納に緊急性がなく、かつ、転送対象データの転送に緊急性があると判断する。なお、判断結果は、判断部206を実行したCPUのレジスタやローカルメモリなどの記憶領域に記憶される。

0033

制御部207は、判断部206によって判断された結果に基づいて、転送部203またはプロセッサによって転送対象データを転送するように制御する機能を有する。また、判断部206によって転送対象データの転送に緊急性があると判断された場合、制御部207は、転送部203によって転送対象データを転送するように制御してもよい。

0034

また、判断部206によって転送対象データの格納と転送に緊急性がないと判断された場合、制御部207は、転送元メモリへ転送対象データを格納した他のプロセッサによって転送対象データを転送するように制御してもよい。また、判断部206によって転送対象データの格納に緊急性があり、かつ、転送対象データの転送に緊急性がないと判断された場合、制御部207は、プロセスを検出したプロセッサによって転送対象データを転送するように制御してもよい。

0035

たとえば、データ転送方式が“方式A”である場合、制御部207は、CPU#0に対応するDMAC#0によって転送対象データを転送するように制御する。また、データ転送方式が“方式B”である場合、制御部207は、転送元メモリとなるMEM#1に転送対象データを格納するCPU#1によって、転送対象データを転送するように制御する。このとき、CPU#1は、MEM#1に転送対象データを格納せずに、直接転送先メモリとなるMEM#0に書き込む。

0036

また、データ転送方式が“方式C”である場合、制御部207は、CPU#0によって転送元メモリとなるMEM#1から、転送対象データを転送するように制御する。このとき、CPU#0は、MEM#1から転送対象データを読み込んだ後、MEM#0に転送対象データを格納せず、CPU#0のレジスタ等に格納して直接転送対象データにアクセスするプログラム等に転送対象データを転送する。

0037

図3は、データ転送制御装置100とデータ転送テーブル201の記憶内容の一例を示す説明図である。データ転送テーブル201は、スケジューラ202がデータ転送を行うアプリケーションと、前述のアプリケーションの状態がアクティブかインアクティブかと、に基づいてデータ転送方式を判断するテーブルである。データ転送テーブル201では、転送するデータごとに、src属性に設定されたスレッドを実行するCPUと転送対象データの書き込み先と、dest属性に設定されたスレッドを実行するCPUと転送対象データの読み込み先記述する。さらに、データ転送テーブル201では、src属性にて書き込まれた転送対象データをdest属性の読み込み先に転送する実行主体をtransfer属性で設定する。

0038

たとえば、レコード301において、アプリケーション#0属性が“アクティブ”より、スケジューラ202は、アプリケーション#0が起動されアクティブになったか否かを判断する。アクティブとなった場合、スケジューラ202は、データ#0属性が“方式A”より、データ転送方式を方式Aに設定する。

0039

また、スケジューラ202は、レコード301の3行目〜5行目より、src属性に設定されたスレッド#0をexec属性に設定されたCPU#1にて実行し、転送対象データとなるデータ#0の書き込み先をmem属性に設定されたMEM#1に設定する。また、スケジューラ202は、レコード301の6行目〜8行目より、dest属性に設定されたスレッド#1をCPU#0にて実行し、データ#0の読み込み先をMEM#0に設定する。

0040

また、スケジューラ202は、transfer属性に設定されたDMAC#0に、MEM#1に書きこまれたデータ#0を、MEM#0に転送するように制御する。データ転送方式Aの具体例については、図5にて後述する。このように設定された内容をCPUに通知し、CPUはMMU(Memory Management Unit)などの設定を行い、CPUは該当のアプリケーションを実行する。

0041

レコード302〜レコード304についても、スケジューラ202は、レコード301と同様の設定方法を行う。具体的には、レコード302に基づいて、スケジューラ202は、アプリケーション#0がインアクティブとなった場合に、データ転送方式を方式Bに設定する。

0042

また、スケジューラ202は、src属性に設定されたスレッド#0をCPU#1にて実行させ、転送対象データとなるデータ#0の書き込み先を、読み込み先と等しいMEM#0として、CPU#1に直接書き込むように制御する。そして、スケジューラ202は、dest属性に設定されたスレッド#0をCPU#0にて実行させ、CPU#1が書き込んだデータ#0をCPU#0に読み込むように制御する。transfer属性には、dest属性の読み込み先に直接書き込むCPU#1が設定される。データ転送方式Bの具体例については、図6にて後述する。また、レコード303に基づいて、スケジューラ202は、アプリケーション#1がアクティブまたはインアクティブとなった場合に、データ転送方式を方式Bに設定する。

0043

また、レコード304に基づいて、スケジューラ202は、アプリケーション#2がアクティブまたはインアクティブとなった場合に、データ転送方式を方式Cに設定する。また、スケジューラ202は、src属性に設定されたスレッド#4をCPU#1にて実行し、転送対象データとなるデータ#2の書き込み先をMEM#1に設定する。また、スケジューラ202は、dest属性に設定されたスレッド#5をCPU#0にて実行し、CPU#1が書き込んだデータ#2をMEM#1へCPU#0に直接読み込むように制御する。transfer属性には、src属性の書き込み先に直接読み込むCPU#0が設定される。データ転送方式Cの具体例については、図7にて後述する。

0044

アプリケーションの実行終了後、スケジューラ202は、各CPUの設定を初期値に戻す。その後、再びデータ転送方式を変更するアプリケーションが起動されると、スケジューラ202は、データ転送テーブル201を読み込んでデータ転送方式を変更する。また、src属性に設定されたスレッドと、dest属性に設定されたスレッドが属するアプリケーションは、同一であってもよいし、異なっていてもよい。

0045

図4は、データ転送制御装置100とCPUが3つ以上存在する場合におけるデータ転送テーブル201の記憶内容の一例を示す説明図である。CPUタイプテーブル401は、CPUの種類を分けるテーブルである。図4の例において、各CPUは、汎用制御用プロセッサとしてCPU Aと、信号処理用のDSPとしてCPU Bに分類される。CPU AはCPU#0、CPU#1、CPU#2が含まれる。また、CPU BはCPU#3が含まれる。たとえば、データ転送テーブル201に、CPU Aが記述されていた場合、スケジューラは、CPU Aのうちのいずれか一つのCPUにスレッド#0を割り当てる。

0046

たとえば、レコード402に基づいて、スケジューラ202は、アプリケーション#0がアクティブとなった場合に、データ転送方式を方式Aに設定する。また、スケジューラ202は、src属性に設定されたスレッド#0をexec属性に設定されたCPU Bに属するいずれかのCPUにて実行し、転送対象データの書き込み先をmem属性に設定されたMEM#1に設定する。

0047

また、スケジューラ202は、dest属性に設定されたスレッド#1をCPU Aに属するいずれかのCPUにて実行し、データ#0の読み込み先をMEM#0に設定する。図4の例では、スレッド#0をCPU#3が実行し、スレッド#1をCPU#0が実行する。また、スケジューラ202は、transfer属性に設定されたDMAC#0に、MEM#1に書きこまれたデータ#0を、MEM#0へ転送するように制御する。

0048

レコード403〜レコード405についても、スケジューラ202は、レコード301と同様の設定方法を行う。たとえば、レコード403に基づいて、スケジューラ202は、アプリケーション#0がインアクティブとなった場合に、データ転送方式を方式Bに設定する。また、スケジューラ202は、src属性に設定されたスレッド#0をCPU BのいずれかのCPUにて実行し、転送対象データとなるデータ#0の書き込み先をMEM#0として、スレッド#0を実行したCPUに書き込むように制御する。そして、スケジューラ202は、dest属性に設定されたスレッド#1をCPU AのいずれかのCPUにて実行し、CPU BのいずれかのCPUが書き込んだデータ#0をスレッド#1を実行したCPUに読み込むように制御する。transfer属性には、dest属性の読み込み先に直接書き込んだCPU Bが設定される。

0049

図5は、データ転送方式Aを示す説明図である。方式Aは、転送対象データの格納および転送対象データの転送に緊急性がある場合のデータ転送方式である。具体的に図5では、通信を行うスレッドと通信で得た転送対象データを用いたスレッドとが共に緊急性があり、高速に処理を行う場合にて説明を行う。たとえば、図5に示す例では、アプリケーション#0にて通信を行うスレッド#0と、通信で得たデータを用いてディスプレイ104に表示するスレッド#1と、が共に緊急性がある。

0050

レコード301に基づいて、スケジューラ202は、スレッド#0では通信を高速に行うために、実行しているCPU#1に対応するMEM#1に転送対象データとなるデータ#0をCPU#1に書き込むように制御する。また、スケジューラ202は、スレッド#1にてその結果を高速に読み出すため、DMAC#0によってデータ#0をMEM#1からMEM#0へ転送するように制御する。方式Aが適用できる場合として、動画のストリーミング再生などが挙げられる。方式Aによるデータ転送は、DMACによるバースト転送により、転送対象データを高速に転送することができる。また、転送対象データの転送中は、バス107を占有する。

0051

図6は、データ転送方式Bを示す説明図である。方式Bは、転送対象データの格納および転送対象データの転送に緊急性がない場合のデータ転送方式である。具体的に図6では、通信を行うスレッドと通信で得た転送対象データを用いたスレッドとが共に緊急性がない場合として説明を行う。たとえば、図6に示す例では、図5の状態から、アプリケーション#1が起動されアクティブとなり、アプリケーション#0がインアクティブとなった結果、通信を行うスレッド#0と動画を表示するスレッド#1とに緊急性がなくなった状態である。緊急性がなくなった理由としては、アプリケーション#0がインアクティブとなり、スレッド#1によって動画を再生する画面領域がアプリケーション#1によって隠れたためなどがある。

0052

このとき、レコード302に基づいて、スケジューラ202は、スレッド#0では通信を高速で行わなくてよいため、CPU#0専用のメモリでない、MEM#0へデータ#0をCPU#1に書き込むように制御する。また、スケジューラ202は、スレッド#1にMEM#0からデータ#0をCPU#0に読み込むように制御する。方式Bが適用できる場合として、バックグラウンドで行うファイルダウンロード処理などが挙げられる。

0053

図7は、データ転送方式Cを示す説明図である。方式Cは、転送対象データの格納に緊急性があり、転送対象データの転送には緊急性がない場合のデータ転送方式である。具体的に図7では、通信を行うスレッドには緊急性があるが、通信で得た転送対象データを用いたスレッドには緊急性がない場合として説明を行う。たとえば、図7に示す例では、アプリケーション#2のスレッド#4では通信処理を高速に実行するため、緊急性がある。しかし、スレッド#4と連携して動作するスレッド#5には緊急性がない状態である。

0054

レコード304に基づいて、スケジューラ202は、スレッド#4では通信を高速に行うために、実行しているCPU#1専用のMEM#1に転送対象データとなるデータ#2をCPU#1に書き込むように制御する。また、スケジューラ202は、スレッド#5ではその結果を高速で読み出さなくてよいため、DMAC#0の使用を禁じ、データ#2をCPU#0に読み込むように制御する。方式Cが適用できる場合として、メールの受信などが挙げられる。

0055

たとえば、アプリケーション#2をメールソフトウェアとし、スレッド#4をダウンロードスレッドとし、スレッド#5をメール取得スレッドとする。CPU#1は、ダウンロードスレッドによってI/F105を通じ、ネットワーク106からメールデータを受信し、MEM#1に書き込む。CPU#0は、メール取得スレッドによってMEM#1から読み込む。

0056

方式B、方式Cによるデータ転送方式は、CPUによるデータ転送により、データの転送速度はDMACの転送に比べ低速ではあるが、バス107を占有しないため、CPUの転送待ちによるスループットの低下を防ぐことができる。また、割り込みが発生した場合、コンテキストスイッチを行う反応時間が短縮され、応答性を向上させることができる。

0057

図8は、ストリーミング再生中におけるストリーミングデータのデータ転送状態を示す説明図である。図8におけるデータ転送制御装置100は、動画再生アプリケーションを実行している状態である。動画再生アプリケーションは、動画再生スレッド801と、ダウンロードスレッド802を含む。また、GUIスレッド803が実行されており、GUIスレッド803は動画再生アプリケーション以外のアプリケーションに属する。また、ダウンロードスレッド802は、動画再生アプリケーション以外のアプリケーションに属していてもよい。

0058

図8の状態では、動画再生アプリケーションの状態がアクティブであるため、スケジューラ202は、データ転送テーブル201からレコード804を選択する。レコード804に基づいて、スケジューラ202は、データ転送方式を方式Aに設定する。設定された内容に従って、ダウンロードスレッド802はI/F105から取得したストリーミングデータをMEM#1に書き込む。

0059

ストリーミングデータの書き込み後、DMAC#0は、ストリーミングデータをMEM#1からMEM#0に転送し、動画再生スレッド801は、MEM#0からストリーミングデータを読み込み、ディスプレイ104に動画を表示する。

0060

ストリーミングデータを再生する場合、ストリーミングデータのビットレート以上でデータを転送しないと動画が正常に表示できなくなるため、データ転送方式は、高速にデータを転送できる方式Aが適している。

0061

図9は、ゲームアプリケーション実行中におけるストリーミングデータのデータ転送状態を示す説明図である。図9におけるデータ転送制御装置100は、動画再生アプリケーションを実行している状態であったのが、他のアプリケーションがアクティブとなり、動画再生アプリケーションがインアクティブとなり、動画再生が待機中になった状態である。図9では、動画再生アプリケーションとは異なるゲームアプリケーションがアクティブ状態であり、ゲームアプリケーションに属するゲームスレッド901がCPU#0によって実行されている。

0062

図9の状態では、動画再生アプリケーションの状態がインアクティブであるため、スケジューラ202は、データ転送テーブル201からレコード805を選択する。レコード805に基づいて、スケジューラ202は、データ転送方式を方式Bに設定する。設定された内容に従って、ダウンロードスレッド802はI/F105から取得したストリーミングデータをMEM#0に直接書き込む。ストリーミングデータの書き込み後、動画再生スレッド801は、MEM#0からストリーミングデータを読み込む。

0063

このとき、ディスプレイ104には、ゲームスレッド901による描画が行われており、動画再生スレッド801は待機中であるため描画をしない。このとき、ダウンロードスレッド802は、動画再生アプリケーションの待機中にストリーミングデータをMEM#0に転送する。転送中に動画再生アプリケーションがアクティブ状態になった場合、動画再生スレッド801は、蓄積されたストリーミングデータを再生することで、スムーズな動画再生を行うことができる。動画再生アプリケーションが待機中のデータ転送には、時間制約がなく緊急でないため、データ転送方式は、バス107を占有しない方式Bが適している。

0064

図10は、ゲームアプリケーション中断状態におけるストリーミングデータのデータ転送状態を示す説明図である。図10におけるデータ転送制御装置100は、ゲームアプリケーションがアクティブの状態から、動画再生アプリケーションがアクティブとなった状態である。

0065

図10の状態では、動画再生アプリケーションの状態がアクティブであるため、スケジューラ202は、データ転送テーブル201からレコード804を選択する。レコード804に基づいて、スケジューラ202は、データ転送方式を再び方式Aに設定する。このように、本実施の形態にかかるデータ転送制御装置100は、アプリケーションがアクティブかインアクティブかという状態変化に基づいて転送方式を動的に切り替えることができる。

0066

また、データ転送制御装置100はアクティブかインアクティブか、以外の状態変化に基づいて転送方式を切り替えてもよい。たとえば、動画再生アプリケーションがアクティブであるが、利用者などによって動画再生が停止、または巻き戻し再生になったという状態変化が発生した場合である。この場合、蓄積されたストリーミングデータにて再生が行えるため高速でデータを転送しなくてもよいので、データ転送制御装置100はデータ転送方式を方式Bに設定してもよい。

0067

図11A図11Bは、データ転送方式移行処理を示すフローチャートである。データ転送方式移行処理は、スケジューラ202の機能の一部として実行される。スケジューラ202は、各CPUで実行されるアプリケーションのスケジュールを、それぞれのCPUのスケジューラで管理する。また、スケジューラ202は、データ転送制御装置100で実行中のアプリケーションの管理や、利用者からのアプリケーションの起動要求の対応を、各CPUのうち、特定のCPUのスケジューラが代表して行う。本実施の形態では、特定のCPUをCPU#0として説明を行う。

0068

各CPUは、状態変化が発生したかを判断する(ステップS1101)。状態変化とは、アプリケーションの起動、終了、アプリケーションのスイッチである。状態変化が発生していない場合(ステップS1101:No)、各CPUは、再びステップS1101の処理を実行する。状態変化が発生した場合(ステップS1101:Yes)、各CPUは、アプリケーションの実行が終了した状態変化かを判断する(ステップS1102)。

0069

アプリケーションの実行が終了した状態変化である場合(ステップS1102:Yes)、各CPUは、データ転送方式Cのアプリケーションが終了したかを判断する(ステップS1103)。データ転送方式Cのアプリケーションが終了した場合(ステップS1103:Yes)、各CPUは、各CPUに対応するDMACの使用禁止解除し(ステップS1104)、ステップS1101の処理に移行する。データ転送方式C以外のアプリケーションが終了した場合(ステップS1103:No)、各CPUは、ステップS1101の処理に移行する。なお、アプリケーションが終了すると、実行中のアプリケーションにスイッチするため、ステップS1101:Yesの処理に移行する。

0070

アプリケーションの実行が終了した状態変化でない場合(ステップS1102:No)、各CPUは、未解析のアプリケーションが存在するかを判断する(ステップS1105)。未解析のアプリケーションが存在する場合(ステップS1105:Yes)、各CPUは、実行中のアプリケーションのうち、未解析のアプリケーションを選択する(ステップS1106)。選択後、各CPUは、CPU#0に選択されたアプリケーションの情報を通知する。

0071

通知を受けたCPU#0は、選択されたアプリケーションがデータ転送テーブル201に存在するかを判断する(ステップS1107)。データ転送テーブル201に登録されている場合(ステップS1107:Yes)、CPU#0は、データ転送テーブル201から、選択されたアプリケーションのレコードを選択し(ステップS1108)、通知元のCPUに送信する。なお、選択されたアプリケーションのレコードが複数存在する場合、CPU#0は、選択されたアプリケーションがアクティブ状態かインアクティブ状態かと、条件に当てはまるレコードのうち記載された状態と、が一致するレコードを選択してもよい。

0072

レコードを受信した各CPUは、新たなアプリケーションの起動による状態変化によって、選択されたアプリケーションのデータ転送方式が変更されるかを判断する(ステップS1109)。データ転送方式が変更される場合(ステップS1109:Yes)、各CPUは、データ転送方式設定処理を実行する(ステップS1110)。データ転送方式設定処理の詳細は、図12にて後述する。

0073

データ転送方式の実行後、または、データ転送方式が変更されない場合(ステップS1109:No)、各CPUは、選択されたアプリケーションを解析済みに設定し(ステップS1111)、ステップS1105の処理に移行する。

0074

選択されたアプリケーションがデータ転送テーブル201に登録されていない場合(ステップS1107:No)、CPU#0は、登録されていないという結果を通知元のCPUに送信する。登録されていないという結果を受信した各CPUは、ステップS1111の処理に移行する。

0075

未解析のアプリケーションが存在しない場合(ステップS1105:No)、各CPUは、CPU#0に対して、新たなアプリケーションが起動した状態変化かを判断するよう依頼する(ステップS1112)。新たなアプリケーションが起動した状態変化である場合(ステップS1112:Yes)、CPU#0は、新たなアプリケーションがデータ転送テーブル201に登録されているかを判断する(ステップS1113)。なお、選択されたアプリケーションのレコードが複数存在する場合、CPU#0は、選択されたアプリケーションがアクティブ状態かインアクティブ状態かと、条件に当てはまるレコードのうち記載された状態と、が一致するレコードを選択してもよい。

0076

データ転送テーブル201に登録されている場合(ステップS1113:Yes)、CPU#0は、データ転送テーブル201から新たなアプリケーションのレコードを選択する(ステップS1114)。レコードを選択後、CPU#0は、データ転送方式設定処理を実行する(ステップS1115)。データ転送方式設定処理の詳細は、図12にて後述する。

0077

データ転送方式設定処理の実行終了後、CPU#0は、スケジューラ202によって新たなアプリケーションをディスパッチする(ステップS1116)。新たなアプリケーションがデータ転送テーブル201に登録されていない場合(ステップS1113:No)、CPU#0は、ステップS1116の処理に移行する。新たなアプリケーションが起動した状態変化でない場合(ステップS1112:No)、CPU#0は、スケジューラ202によって、通常のスケジューリングを実行する(ステップS1117)。なお、データ転送テーブル201に登録されていないアプリケーションとしては、たとえば、利用者がダウンロードしたアプリケーションなどが挙げられる。

0078

ステップS1116の処理終了後、または、ステップS1117の処理終了後、CPU#0は、ステップS1101の処理に移行する。具体的には、処理移行後CPU#0は、各CPUに対して状態変化が発生したかを判断するように指示をする。

0079

図12は、データ転送方式設定処理を示すフローチャートである。データ転送方式設定処理はすべてのCPUにて実行される。ここでは説明の簡略化のため、CPU#0が実行する場合について説明を行う。また、データ転送方式設定処理が実行される場合には、引数としてデータ転送テーブル201の選択されたレコードを取得できる状態である。

0080

CPU#0は、選択されたレコードからデータ転送方式を判断する(ステップS1201)。選択されたレコードのデータ転送方式が方式Aである場合(ステップS1201:方式A)、転送対象データの転送に緊急性があると判断されるため、CPU#0は、DMACの設定をし(ステップS1202)、データ転送方式設定処理を終了する。なお、データ転送方式が方式Cのアプリケーションから方式Aのアプリケーションにディスパッチされた場合、CPU#0は、DMAC#0の使用禁止の解除を行い、DMACの設定を行う。

0081

選択されたレコードのデータ転送方式が方式Bである場合(ステップS1201:方式B)、CPU#0は、転送対象データの格納と転送に緊急性がないと判断されるため、転送先アドレスの設定をし(ステップS1203)、データ転送方式設定処理を終了する。より詳細には、転送元メモリに転送対象データを格納するCPUに対し、転送先アドレスの設定をする。たとえば図6の場合では、CPU#0は、CPU#1に対してMEM#0内の転送先アドレスの設定をする。

0082

選択されたレコードのデータ転送方式が方式Cである場合(ステップS1201:方式C)、転送対象データの格納に緊急性があり、転送に緊急性がないと判断されるため、CPU#0は、DMACの使用禁止を設定する(ステップS1204)。設定後、CPU#0は、データ転送方式設定処理を終了する。具体的には、CPU#0は、CPU#0に対応するDMAC#0の使用禁止を設定する。

0083

図11、図12では、データ転送制御装置100は、データ転送方式が方式Cの際に、DMACの使用を禁止することで、CPUに転送させるようにしていたが、DMACを禁止せずにCPUに直接転送するように設定してもよい。また、データ転送制御装置100は、DMACの使用を禁止する代わりに、DMACの転送方法のうち、バスを占有するバースト転送を禁止してもよい。DMACの中には、バースト転送以外にも1バイト、または、コンピュータでデータ量の単位である1ワード単位で転送するシングル転送が行えるDMACも存在する(下記参考文献1参照。)。
(参考文献1:DMCを使いこなす : 富士通、[online]、[平成22年05月06日検索]、インターネット<URL:http://jp.fujitsu.com/microelectronics/products/micom/support/knowhow/fr−hard05.html>)

0084

バースト転送を禁止し、シングル転送でデータを転送する場合、DMACがバスを占有しないため、データ転送制御装置100は、CPUの転送待ちによるスループットを低下させることなく、スループットを維持することができる。また、割り込みが発生した場合にも、データ転送制御装置100は、コンテキストスイッチを行う反応時間が短縮され、応答性を向上させることができる。

0085

また、本実施の形態におけるデータ転送制御装置100は、マルチコアの形態となっていたが、シングルコアの形態となっていてもよい。たとえば、図5にて前述したアプリケーション#0にて、通信を行うスレッド#0が転送対象データをスレッド#0のワーキング領域に格納し、通信で得た転送対象データを用いるスレッド#1のワーキング領域に転送する状態を想定する。

0086

この場合、アプリケーション#0の状態がアクティブである場合は、データ転送方式を方式Aとして、DMACによってスレッド#1のワーキング領域からスレッド#0のワーキング領域に転送対象データを転送してもよい。また、アプリケーション#0の状態がインアクティブである場合は、データ転送方式を方式Bとして、スレッド#1が直接スレッド#0のワーキング領域に転送対象データを書き込みしてもよい。

0087

また、シングルコアによるデータ転送方式が方式Cの場合においても、図7にて前述したアプリケーション#2の例が適用できる。具体的には、アプリケーション#2のスレッド#4が転送対象データをスレッド#4のワーキング領域に格納し、スレッド#5がスレッド#4のワーキング領域から直接転送対象データを読み込んでもよい。

0088

以上説明したように、データ転送制御装置、データ転送制御方法、およびデータ転送制御プログラムによれば、実行中のアプリケーションの種類に基づいて、緊急のデータ転送か否かを判断し、緊急でない場合にDMACの使用を禁止する。これにより、データ転送制御装置は、頻繁なDMA転送を削減するため、プロセッサの転送待ちによるスループットの低下を防ぐことができる。さらに、データ転送制御装置は、頻繁なDMA転送を削減するため、コンテキストスイッチが要求される割り込み処理への反応時間が短くなり、リアルタイム処理に対する応答性を向上できる。

0089

また、データ転送制御装置は、アプリケーションの種類と状態変化とに基づいて、緊急のデータ転送か否かを判断してもよい。これにより、データ転送制御装置は、プロセッサの転送待ちによるスループットの低下を防ぐことができ、さらに、リアルタイム処理に対する応答性を向上できる。また、データ転送制御装置は、アプリケーションの状態変化に基づいて判断することで、アプリケーションの種類による判断よりさらに動的にデータ転送方式を変更することができる。したがって、データ転送制御装置は、スループットの低下の防止やリアルタイム処理に対する応答性の向上を行える状態をより増やすことができる。

0090

また、データ転送制御装置は、アプリケーションの状態がアクティブからインアクティブに、または、インアクティブからアクティブに変化した場合に、アプリケーションの種類と状態変化とに基づいて、緊急のデータ転送か否かを判断してもよい。これにより、データ転送制御装置は、プロセッサの転送待ちによるスループットの低下を防ぐことができ、さらに、リアルタイム処理に対する応答性を向上できる。

0091

また、データ転送制御装置が携帯端末の形態をとる場合、携帯端末で採用されるディスプレイの表示領域は表示領域が狭く、たとえば、320×240ピクセルであるQVGA(Quarter Video Graphics Array)が採用される場合もある。このような表示領域の狭いディスプレイの場合、インアクティブとなったアプリケーションは、アクティブとなったアプリケーションによってすべて隠される可能性が高い。すべて隠れてしまったアプリケーションは利用者から見えなくなるため、データの転送速度を遅くしても利用者からは問題とならない場合が存在する。このような場合、データ転送制御装置は、データの転送速度が遅くなる代わりに、プロセッサのスループットの低下防止や、リアルタイムの応答性の向上を図ることができる。

0092

また、データ転送制御装置は、転送対象データの転送に緊急性があると判断された場合、DMACによって転送対象データを転送してもよい。これにより、データ転送制御装置は、緊急性があるときに限り高速で転送対象データを転送することができる。たとえば、アプリケーションがアクティブとなり緊急性が高まったときに、データ転送制御装置は、DMACによって転送対象データを高速に転送することができる。

0093

また、データ転送制御装置は、他のプロセッサによる転送元メモリへの転送対象データの格納に緊急性があるかを判断し、転送対象データの格納に緊急性がなく、かつ、転送対象データの転送に緊急性がないと判断された場合、他のプロセッサに転送させてもよい。これにより、データ転送制御装置は、緊急性がない場合に、プロセッサのスループットの低下防止や、リアルタイムの応答性の向上を図ることができる。

0094

また、データ転送制御装置は、転送対象データの格納に緊急性があり、かつ、転送対象データの転送に緊急性がないと判断された場合、プロセスを検出したプロセッサに転送させてもよい。これにより、データ転送制御装置は、転送対象データの格納を高速で行いつつ、プロセッサのスループットの低下防止や、リアルタイムの応答性の向上を図ることができる。

0095

なお、本実施の形態で説明したデータ転送制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本データ転送制御プログラムは、ハードディスクフレキシブルディスクCD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本データ転送制御プログラムは、インターネット等のネットワークを介して配布してもよい。

0096

#0、#1 CPU、MEM、DMAC
107バス
100データ転送制御装置
201データ転送テーブル
202スケジューラ
203転送部
204転送指示部
205 検出部
206 判断部
207 制御部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • パナソニックIPマネジメント株式会社の「 監視装置、監視方法及びプログラム」が 公開されました。( 2021/09/30)

    【課題】さらなる改善を図ることが可能な監視装置を提供する。【解決手段】監視装置100は、時間経過に応じて変化する設定であって、複数のマスター30a、30b及び30cのそれぞれに対する共有リソース50の... 詳細

  • 富士ゼロックス株式会社の「 情報処理装置」が 公開されました。( 2021/09/27)

    【課題】プロセッサがDMA転送の開始を指示した後はデータの転送を監視しない場合とは異なり、プロセッサの負荷の軽減とデータ処理の進捗の管理とを両立させる。【解決手段】情報処理装置は、データを処理するプロ... 詳細

  • 東芝メモリ株式会社の「 通信システム、デバイス、及び通信方法」が 公開されました。( 2021/09/27)

    【課題】一つの実施形態は、パケットを効率的に転送できる通信システム、デバイス、及び通信方法を提供することを目的とする。【解決手段】一つの実施形態によれば、コントローラと複数のデバイスと通信路とを有する... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ