亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)傳送控制裝置、數(shù)據(jù)傳送控制方法以及數(shù)據(jù)傳送控制程序的制作方法

文檔序號:6352295閱讀:237來源:國知局
專利名稱:數(shù)據(jù)傳送控制裝置、數(shù)據(jù)傳送控制方法以及數(shù)據(jù)傳送控制程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及控制數(shù)據(jù)傳送的數(shù)據(jù)傳送控制裝置、數(shù)據(jù)傳送控制方法以及數(shù)據(jù)傳送控制程序。
背景技術(shù)
從以往,作為高速進(jìn)行存儲器間的數(shù)據(jù)傳送的技術(shù),公開有進(jìn)行DMA (DirectMemory Access:直接存儲器存取)傳送的技術(shù)。作為進(jìn)行DMA傳送的專用控制器,存在DMAC(Direct Memory AccessController:直接存儲器存取控制器)。DMAC具有不經(jīng)由CPU地進(jìn)行從存儲器到存儲器,或者從存儲器到外圍設(shè)備的數(shù)據(jù)傳送的功能。例如,多核處理器系統(tǒng)中,在安裝有與各個核對應(yīng)的存儲器的分散存儲器型多核處理器系統(tǒng)中,通過各個核計算出的結(jié)果一次儲存到與各個核對應(yīng)的存儲器。儲存后,多核處理器系統(tǒng)對主核的存儲器進(jìn)行基于DMAC的DMA傳送?;蛘?,在被分配給不同核的進(jìn)程利用計算結(jié)果的情況下,多核處理器系統(tǒng)對與不同核對應(yīng)的存儲器進(jìn)行DMA傳送。作為控制DMAC的技術(shù),公開有通過CPU進(jìn)行少量數(shù)據(jù)或者離散數(shù)據(jù)的傳送,DMAC進(jìn)行連續(xù)的大量數(shù)據(jù)的傳送,從而實(shí)現(xiàn)數(shù)據(jù)傳送的高速化的技術(shù)(例如,參照下述專利文獻(xiàn)I)。另外,作為控制DMAC的其他技術(shù),公開有使用分散的共享存儲器,對基于DMAC的數(shù)據(jù)傳送處理和基于CPU的圖像處理高效地進(jìn)行流水線處理的技術(shù)(例如,參照下述專利文獻(xiàn)2)。專利文獻(xiàn)1:日本特開2007 - 58276號公報專利文獻(xiàn)2:日本特開2008 - 90455號公報但是,在上述現(xiàn)有技術(shù)的專利文獻(xiàn)1、2所涉及的技術(shù)中,存在由于DMAC的突發(fā)傳送占用總線,CPU等待DMAC的傳送結(jié)束,所以CPU的吞吐量降低這樣的問題。另外,在產(chǎn)生了中斷處理的情況下,CPU想要讀入在存儲器上的中斷句柄,但是是在基于DMAC的DMA傳送結(jié)束后讀入中斷句柄,所以存在對實(shí)時處理的響應(yīng)性降低這樣的問題。

發(fā)明內(nèi)容
本發(fā)明的目的在于,為了消除上述現(xiàn)有技術(shù)的問題點(diǎn),提供一種防止由于傳送等待引起的吞吐量的降低,能夠提高對實(shí)時處理的響應(yīng)性的數(shù)據(jù)傳送控制裝置、數(shù)據(jù)傳送控制方法以及數(shù)據(jù)傳送控制程序。為了解決上述的課題并實(shí)現(xiàn)目的,公開的數(shù)據(jù)傳送控制裝置包含根據(jù)處理器的指示從傳送源存儲器向傳送目的地存儲器傳送傳送對象數(shù)據(jù)的傳送部,檢測由處理器執(zhí)行的進(jìn)程,基于檢測出的進(jìn)程的種類來判斷傳送部所進(jìn)行的傳送對象數(shù)據(jù)的傳送是否具有緊迫性,基于判斷出的結(jié)果來進(jìn)行控制,以使得傳送部或者處理器傳送傳送對象數(shù)據(jù)。根據(jù)本數(shù)據(jù)傳送控制裝置、數(shù)據(jù)傳送控制方法以及數(shù)據(jù)傳送控制程序,起到防止由于CPU的傳送等待而引起的吞吐量的降低,能夠提高對實(shí)時處理的響應(yīng)性的效果。


圖1是表示實(shí)施方式所涉及的數(shù)據(jù)傳送控制裝置100的硬件的框圖。圖2是表示數(shù)據(jù)傳送控制裝置100的功能的框圖。圖3是表示數(shù)據(jù)傳送控制裝置100和數(shù)據(jù)傳送表201的存儲內(nèi)容的一個例子的說明圖。圖4是表示數(shù)據(jù)傳送控制裝置100和存在3個以上CPU的情況下的數(shù)據(jù)傳送表201的存儲內(nèi)容的一個例子的說明圖。圖5是表示數(shù)據(jù)傳送方式A的說明圖。圖6是表示數(shù) 據(jù)傳送方式B的說明圖。圖7是表示數(shù)據(jù)傳送方式C的說明圖。圖8是表示流播放中的流數(shù)據(jù)的數(shù)據(jù)傳送狀態(tài)的說明圖。圖9是表示游戲應(yīng)用程序執(zhí)行中的流數(shù)據(jù)的數(shù)據(jù)傳送狀態(tài)的說明圖。圖10是表示游戲應(yīng)用程序中斷狀態(tài)中的流數(shù)據(jù)的數(shù)據(jù)傳送狀態(tài)的說明圖。圖1lA是表示數(shù)據(jù)傳送方式轉(zhuǎn)移處理的流程圖(其I)。圖1lB是表示數(shù)據(jù)傳送方式轉(zhuǎn)移處理的流程圖(其2)。圖12是表示數(shù)據(jù)傳送方式設(shè)定處理的流程圖。
具體實(shí)施例方式以下參照附圖,對本發(fā)明所涉及的數(shù)據(jù)傳送控制裝置、數(shù)據(jù)傳送控制方法以及數(shù)據(jù)傳送控制程序的優(yōu)選實(shí)施方式進(jìn)行詳細(xì)說明。(數(shù)據(jù)傳送控制裝置的硬件)圖1是表示實(shí)施方式所涉及的數(shù)據(jù)傳送控制裝置的硬件的框圖。在圖1中,數(shù)據(jù)傳送控制裝置 100 具備:CPU (Central Processing Unit:中央處理器)# 0、CPU # UMEM(MEMory:存儲器)# 0、MEM # 1、DMAC # O、DMAC # 1、ROM (Read-Only Memory:只讀存儲器)101、和快閃R0M102。另外,作為與用戶或其他設(shè)備的輸入輸出裝置,數(shù)據(jù)傳送控制裝置100具備:鍵盤103、顯示器104、和I / F (Interface:接口)105。另外,各部通過總線107彼此連接。此處,CPU # O、CPU # I管理數(shù)據(jù)傳送控制裝置100整體的控制。R0M101存儲有啟動程序等程序。MEM # 0.MEM # I是分別作為CPU # 0.CPU # I的工作區(qū)域使用的RAM(Random Access Memory:隨機(jī)存儲器)等存儲裝置。DMAC # 0.DMAC # I 在 MEM # (^PMEM
#I間傳送數(shù)據(jù)。另外,CPU # 0主要控制DMAC # 0,CPU # I控制DMAC # I。本實(shí)施方式所涉及的數(shù)據(jù)傳送控制裝置100是包含安裝了多個核的處理器的計算機(jī)的系統(tǒng)。另外,在本實(shí)施方式所涉及的數(shù)據(jù)傳送控制裝置100中,安裝有2個CPU,但也可以安裝3個以上。安裝有3個以上CPU的情況的詳細(xì)內(nèi)容在圖4中后述。鍵盤103具備用于輸入數(shù)字、各種指示等的按鍵,進(jìn)行數(shù)據(jù)輸入。另外,鍵盤103也可以是觸摸面板式的輸入墊、數(shù)字鍵盤等。顯示器104除了顯示光標(biāo)、圖標(biāo)或者工具箱以夕卜,還顯示文件、圖像、功能信息等數(shù)據(jù)。該顯示器104例如能夠采用TFT液晶顯示器等。
I / F105 通過通信線路與 LAN (Local Area Network:局域網(wǎng))、WAN (Wide AreaNetwork:廣域網(wǎng))、因特網(wǎng)等網(wǎng)絡(luò)106連接,經(jīng)由該網(wǎng)絡(luò)106與其他裝置連接。并且,I /F105管理網(wǎng)絡(luò)106和內(nèi)部的接口,控制來自外部裝置的數(shù)據(jù)的輸入輸出。在I / F105中例如能夠采用調(diào)制解調(diào)器、LAN適配器等?,F(xiàn)有例所涉及的數(shù)據(jù)傳送控制裝置100也安裝與本實(shí)施方式所涉及的數(shù)據(jù)傳送控制裝置100相同的硬件。在現(xiàn)有例所涉及的數(shù)據(jù)傳送控制裝置100中,在通過DMAC # 0將傳送對象數(shù)據(jù)從MEM # I傳送到MEM # 0的期間,CPU # I不能訪問MEM # I,從而產(chǎn)生數(shù)據(jù)訪問等待。(數(shù)據(jù)傳送控制裝置100的功能)接下來,對數(shù)據(jù)傳送控制裝置100的功能進(jìn)行說明。圖2是表示數(shù)據(jù)傳送控制裝置100的功能的框圖。數(shù)據(jù)傳送控制裝置100包含:傳送部203、傳送指示部204、檢測部205、判斷部206和控制部207。對于成為該控制部的功能(傳送指示部204 控制部207)而言,通過CPU# 0執(zhí)行存儲在存儲裝置的程序來實(shí)現(xiàn)其功能。所謂的存儲裝置,具體而言例如為圖1所示的R0M101、快閃R0M102、MEM # 0和MEM # I等。另外,傳送部203通過DMAC # 0實(shí)現(xiàn)其功能。另外,數(shù)據(jù)傳送控制裝置100能夠訪問儲存與由數(shù)據(jù)傳送控制裝置100執(zhí)行的進(jìn)程的狀態(tài)變化相對應(yīng)的數(shù)據(jù)傳送方式的數(shù)據(jù)傳送表201。數(shù)據(jù)傳送表201的詳細(xì)內(nèi)容在圖3和圖4中后述。另外,傳送指示部204、檢測部205、判斷部206、和控制部207是包含于調(diào)度器(scheduler) 202的功能。調(diào)度器202是包含于OS的軟件,具有決定分配給CPU的進(jìn)程的功能。例如,調(diào)度器202基于進(jìn)程中設(shè)定的優(yōu)先級等,決定下一個分配給CPU的進(jìn)程。到了規(guī)定的時刻時,調(diào)度器202將決定調(diào)度程序(dispatcher)的進(jìn)程分配到CPU。作為調(diào)度器的功能之一,還存在包含調(diào)度程序的形式。在本實(shí)施方式中,在調(diào)度器202內(nèi)存在調(diào)度程序的功能。另外,在圖2中,圖示有在CPU# 0內(nèi)包含傳送指示部204 控制部207,但在其他的CPU的調(diào)度器中也包含傳送指示部204 控制部207。同樣地,在DMAC # 0以外的DMAC中,也包含傳送部203。傳送部203具有根據(jù)處理器的指示將傳送對象數(shù)據(jù)從傳送源存儲器傳送到傳送目的地存儲器的功能。例如,DMAC # 0根據(jù)CPU # 0的指示從成為傳送源存儲器的MEM # I向成為傳送目的地存儲器的MEM # 0,傳送成為傳送對象數(shù)據(jù)的流數(shù)據(jù)。傳送指示部204具有指示傳送部203傳送傳送對象數(shù)據(jù)的功能。例如,傳送指示部204向DMAC # 0通知成為傳送源存儲器的MEM # I的地址、傳送對象數(shù)據(jù)的數(shù)據(jù)尺寸、和成為傳送目的地存儲器的MEM # 0的地址,并指示數(shù)據(jù)傳送。此外,成為指示內(nèi)容的傳送源存儲器以及傳送目的地存儲器的地址、傳送對象數(shù)據(jù)的數(shù)據(jù)尺寸也可以存儲在執(zhí)行了傳送指示部204的CPU的寄存器或本地存儲器等的存儲區(qū)域。檢測部205具有檢測由處理器執(zhí)行的進(jìn)程的功能。所謂的進(jìn)程是指程序的執(zhí)行單位。另外,在本實(shí)施方式中的應(yīng)用程序保持一個進(jìn)程,另外在一個進(jìn)程內(nèi)保持一個以上的線程。另外,檢測部205也可以檢測進(jìn)程的狀態(tài)變化。另外,檢測部205也可以檢測出作為進(jìn)程的狀態(tài)變化之一的、進(jìn)程的狀態(tài)從活動(active)狀態(tài)變化到非活動(inactive)狀態(tài),或者從非活動狀態(tài)變化到活動狀態(tài)。進(jìn)程的狀態(tài)是活動狀態(tài)的情況是該進(jìn)程成為使用者輸入、操作對象的狀態(tài)。另外,進(jìn)程的狀態(tài)是非活動狀態(tài)的情況是該進(jìn)程未成為使用者輸入、操作對象的狀態(tài)。所謂的狀態(tài)變化是檢測出進(jìn)程的起動、結(jié)束這樣的事件的情況。另外,狀態(tài)變化也可以包含通過調(diào)度程序的切換使進(jìn)程改變?yōu)榛顒訝顟B(tài)或者非活動狀態(tài)的情況。另外,狀態(tài)變化也可以是傳送到進(jìn)程中的傳送對象數(shù)據(jù)的使用狀態(tài)的變化。例如,在傳送對象數(shù)據(jù)是流動態(tài)圖像的情況下,發(fā)生了動態(tài)圖像播放從正在播放到停止或者倒退播放這樣的變化的情況下,檢測部205也可以檢測為狀態(tài)變化。例如,檢測部205檢測由CPU # 0執(zhí)行的應(yīng)用程序。另外,檢測部205檢測應(yīng)用程序發(fā)生了起動、結(jié)束、切換的情況。此外,檢測結(jié)果被存儲在執(zhí)行檢測部205的CPU的寄存器、本地存儲器等的存儲區(qū)域。判斷部206具有基于由檢測部205檢測出的進(jìn)程的種類,來判斷傳送部203所進(jìn)行的傳送對象數(shù)據(jù)的傳送是否具有緊迫性的功能。另外,判斷部206在通過檢測部205檢測出進(jìn)程的狀態(tài)變化的情況下,也可以基于進(jìn)程的種類和狀態(tài)變化,來判斷傳送對象數(shù)據(jù)的傳送的緊迫性。另外,判斷部206也可以進(jìn)一步判斷其他處理器向傳送源存儲器儲存?zhèn)魉蛯ο髷?shù)據(jù)是否具有緊迫性。所謂的其他處理器是向傳送源存儲器儲存?zhèn)魉蛯ο髷?shù)據(jù)的處理器,是與由檢測部205檢測出進(jìn)程的處理器不同的處理器,但也可以與檢測出進(jìn)程的處理器一致。另外,所謂的緊迫性是指時間制約的性質(zhì),所謂具有緊迫性的數(shù)據(jù)傳送是指存在時間制約的實(shí)時處理的數(shù)據(jù)傳送。另外,判斷部206也可以在實(shí)時處理中,將吞吐量多且優(yōu)先級高的數(shù)據(jù)傳送判斷為具有緊迫性的數(shù)據(jù)傳送,對于即使存在時間制約但到達(dá)處理結(jié)束的時間還有富余的數(shù)據(jù)傳送,判斷為沒有緊迫性。另外,即使不是實(shí)時處理的數(shù)據(jù)傳送,但被使用者設(shè)定為盡可能早地傳送的情況下,判斷部206也可以判斷為具有緊迫性。另外,在傳送對象數(shù)據(jù)的傳送存在緊迫性的情況下,例如可舉出經(jīng)由網(wǎng)絡(luò)106的流動態(tài)圖像的播放等。在傳送對象數(shù)據(jù)的傳送存在緊迫性的情況下,要求在傳送前進(jìn)行的傳送對象數(shù)據(jù)向傳送源存儲器的儲存也以高速進(jìn)行。在流動態(tài)圖像的例子中,要求以流動態(tài)圖像的位速率以上來傳送傳送對象數(shù)據(jù),所以要求數(shù)據(jù)傳送控制裝置100高速地進(jìn)行通信處理而儲存?zhèn)魉蛯ο髷?shù)據(jù)。并且,要求數(shù)據(jù)傳送控制裝置100將流動態(tài)圖像高速傳送到播放的CPU的工作區(qū)域。另外,在傳送對象數(shù)據(jù)的傳送沒有緊迫性但在傳送對象數(shù)據(jù)的儲存具有緊迫性的情況下,例如可舉出經(jīng)由網(wǎng)絡(luò)106的通信處理。通信處理有在某規(guī)定時間以內(nèi)未進(jìn)行處理則超時,通過通信處理的對象側(cè)終端使通信結(jié)束的情況。因此,要求數(shù)據(jù)傳送控制裝置100高速儲存?zhèn)魉蛯ο髷?shù)據(jù),并處理通信處理。具體而言,判斷部206在數(shù)據(jù)傳送表201的記錄中,獲取應(yīng)用程序的種類與應(yīng)用程序的狀態(tài)是活動狀態(tài)還是非活動狀態(tài)相一致的記錄。通過獲取的記錄上所記載的數(shù)據(jù)傳送方式,判斷部206判斷傳送對象數(shù)據(jù)的傳送是否有緊迫性,另外判斷傳送對象數(shù)據(jù)向傳送源存儲器的儲存是否具有緊迫性。例如,獲取的記錄中記載有“方式A”的情況下,判斷部206判斷傳送對象數(shù)據(jù)的傳送具有緊迫性。另外,獲取的記錄中記載有“方式B”的情況下,判斷部206判斷傳送對象數(shù)據(jù)的傳送沒有緊迫性。另外,獲取的記錄中記載有“方式B”的情況下,判斷部206判斷傳送對象數(shù)據(jù)的儲存沒有緊迫性,并且傳送對象數(shù)據(jù)的傳送沒有緊迫性。另外,獲取的記錄中記載有“方式C”的情況下,判斷部206判斷傳送對象數(shù)據(jù)的儲存沒有緊迫性,并且傳送對象數(shù)據(jù)的傳送具有緊迫性。此外,判斷結(jié)果被存儲在執(zhí)行了判斷部206的CPU的寄存器、本地存儲器等的存儲區(qū)域??刂撇?07具有基于由判斷部206判斷出的結(jié)果,來進(jìn)行控制以使得傳送部203或者處理器傳送傳送對象數(shù)據(jù)的功能。另外,由判斷部206判斷出傳送對象數(shù)據(jù)的傳送具有緊迫性的情況下,控制部207也可以進(jìn)行控制以使得由傳送部203來傳送傳送對象數(shù)據(jù)。另外,在由判斷部206判斷出傳送對象數(shù)據(jù)的儲存和傳送沒有緊迫性的情況下,控制部207也可以進(jìn)行控制以使得由向傳送源存儲器儲存了傳送對象數(shù)據(jù)的其他處理器來傳送傳送對象數(shù)據(jù)。另外,在由判斷部206判斷出傳送對象數(shù)據(jù)的儲存具有緊迫性,并且傳送對象數(shù)據(jù)的傳送沒有緊迫性的情況下,控制部207也可以進(jìn)行控制以使得由檢測進(jìn)程的處理器傳送傳送對象數(shù)據(jù)。例如,數(shù)據(jù)傳送方式是“方式A”的情況下,控制部207進(jìn)行控制以使得由與CPU
#0對應(yīng)的DMAC # 0傳送傳送對象數(shù)據(jù)。另外,數(shù)據(jù)傳送方式是“方式B”的情況下,控制部207進(jìn)行控制以使得由向成為傳送源存儲器的MEM # I儲存?zhèn)魉蛯ο髷?shù)據(jù)的CPU # I來傳送傳送對象數(shù)據(jù)。此時,CPU # I不將傳送對象數(shù)據(jù)儲存到MEM # 1,而是直接寫入成為傳送目的地存儲器的MEM # O。另外,在數(shù)據(jù)傳送方式是“方式C”的情況下,控制部207進(jìn)行控制以使得由CPU
#0從成為傳送源存儲器的MEM # I傳送傳送對象數(shù)據(jù)。此時,CPU # 0從MEM # I讀入傳送對象數(shù)據(jù)后,不將傳送對象數(shù)據(jù)儲存到MEM # 0中,而是儲存到CPU # 0的寄存器等中,從而將傳送對象數(shù)據(jù)傳送到直接訪問傳送對象數(shù)據(jù)的程序等。圖3是表示數(shù)據(jù)傳送控制裝置100和數(shù)據(jù)傳送表201的存儲內(nèi)容的一個例子的說明圖。數(shù)據(jù)傳送表201是調(diào)度器202基于進(jìn)行數(shù)據(jù)傳送的應(yīng)用程序、和上述應(yīng)用程序的狀態(tài)是活動狀態(tài)還是非活動狀態(tài)來判斷數(shù)據(jù)傳送方式的表。在數(shù)據(jù)傳送表201中,按照每個待傳送的數(shù)據(jù)來記述執(zhí)行在src屬性中設(shè)定的線程的CPU和傳送對象數(shù)據(jù)的寫入目的地、執(zhí)行在dest屬性中設(shè)定的線程的CPU和傳送對象數(shù)據(jù)的讀入目的地。并且,在數(shù)據(jù)傳送表201中,在transfer屬性中設(shè)定將在src屬性中寫入的傳送對象數(shù)據(jù)傳送到dest屬性的讀A目的地的執(zhí)行主體。例如,在記錄301中,根據(jù)應(yīng)用程序# 0屬性是“活動狀態(tài)”,調(diào)度器202判斷是否起動應(yīng)用程序# 0而成為了活動狀態(tài)。在成為了活動狀態(tài)的情況下,調(diào)度器202根據(jù)數(shù)據(jù)
#0屬性是“方式A”,將數(shù)據(jù)傳送方式設(shè)定為方式A。另外,調(diào)度器202根據(jù)記錄301的第3行 第5行,通過在exec屬性中設(shè)定的CPU
#I執(zhí)行在src屬性中設(shè)定的線程# 0,將成為傳送對象數(shù)據(jù)的數(shù)據(jù)# 0的寫入目的地設(shè)定為在mem屬性中設(shè)定的MEM # I。另外,調(diào)度器202根據(jù)記錄301的第6行 第8行,通過CPU # 0執(zhí)行在dest屬性中設(shè)定的線程# 1,將數(shù)據(jù)# 0的讀入目的地設(shè)定在MEM # 0中。另外,調(diào)度器202進(jìn)行控制以使得使在transfer屬性中設(shè)定的DMAC # 0將寫入MEM # I的數(shù)據(jù)# 0傳送到MEM # O。關(guān)于數(shù)據(jù)傳送方式A的具體例在圖5中后述。將這樣設(shè)定的內(nèi)容通知給CPU, CPU進(jìn)行MMU (Memory Management Unit:存儲器管理單元)等的設(shè)定,CPU執(zhí)行相應(yīng)的應(yīng)用程序。
對于記錄302 記錄304,調(diào)度器202也進(jìn)行與記錄301相同的設(shè)定方法。具體而言,基于記錄302,調(diào)度器202在應(yīng)用程序# 0成為非活動狀態(tài)的情況下,將數(shù)據(jù)傳送方式設(shè)定為方式B。另外,調(diào)度器202進(jìn)行控制以使得使CPU # I執(zhí)行在src屬性中設(shè)定的線程# 0,將成為傳送對象數(shù)據(jù)的數(shù)據(jù)# 0的寫入目的地作為與讀入目的地相同的MEM # 0,直接寫入CPU #1。并且,調(diào)度器202進(jìn)行控制以使得使CPU # 0執(zhí)行在dest屬性中設(shè)定的線程# 0,使CPU # 0讀入CPU # I寫入的數(shù)據(jù)# O。在transfer屬性中,設(shè)定有直接寫入dest屬性的讀入目的地的CPU # I。數(shù)據(jù)傳送方式B的具體例在圖6中后述。另外,基于記錄303,調(diào)度器202在應(yīng)用程序# I成為了活動狀態(tài)或者非活動狀態(tài)的情況下,將數(shù)據(jù)傳送方式設(shè)定為方式B。另外,基于記錄304,調(diào)度器202在應(yīng)用程序# 2成為了活動狀態(tài)或者非活動狀態(tài)的情況下,將數(shù)據(jù)傳送方式設(shè)定為方式C。另外,調(diào)度器202通過CPU # I執(zhí)行在src屬性中設(shè)定的線程# 4,將MEM # I設(shè)定為成為傳送對象數(shù)據(jù)的數(shù)據(jù)# 2的寫入目的地。另外,調(diào)度器202進(jìn)行控制以使得由CPU # 0執(zhí)行在dest屬性中設(shè)定的線程# 5,由CPU # 0直接將CPU # I寫入的數(shù)據(jù)# 2讀入至MEM # I的方式。在transfer屬性中,設(shè)定有直接讀入src屬性的寫入目的地的CPU # O。數(shù)據(jù)傳送方式C的具體例在圖7中后述。在應(yīng)用程序執(zhí)行結(jié)束后,調(diào)度器202將各CPU的設(shè)定返回到初始值。之后,若再次起動變更數(shù)據(jù)傳送方式的應(yīng)用程序,則調(diào)度器202讀入數(shù)據(jù)傳送表201而變更數(shù)據(jù)傳送方式。另外,在src屬性中設(shè)定的線程和在dest屬性中設(shè)定的線程所屬的應(yīng)用程序可以相同,也可以不同。圖4是表示數(shù)據(jù)傳送控制裝置100和存在3個以上的CPU的情況下的數(shù)據(jù)傳送表201的存儲內(nèi)容的一個例子的說明圖。CPU類型表401是區(qū)分CPU種類的表。在圖4的例子中,各CPU被分為作為通用的控制用處理器的CPU A,和作為信號處理用的DSP的CPU B。CPU A包含CPU # OXPU # 1、和CPU # 2。另外,CPU B包含CPU # 3。例如,在數(shù)據(jù)傳送表201中記述了 CPU A的情況下,調(diào)度器將線程# 0分配至CPU A中的任意一個CPU。例如,基于記錄402,調(diào)度器202在應(yīng)用程序#0成為了活動狀態(tài)的情況下,將數(shù)據(jù)傳送方式設(shè)定為方式A。另外,調(diào)度器202使屬于在exec屬性中設(shè)定的CPU B的任意一個CPU執(zhí)行在src屬性中設(shè)定的線程# 0,將傳送對象數(shù)據(jù)的寫入目的地設(shè)定給在mem屬性中設(shè)定的MHM # I。另外,調(diào)度器202使屬于CPU A的任意一個CPU執(zhí)行在dest屬性中設(shè)定的線程
#1,將數(shù)據(jù)# 0的讀入目的地設(shè)定為MEM # O。在圖4的例子中,CPU # 3執(zhí)行線程# 0,CPU # 0執(zhí)行線程# I。另外,調(diào)度器202進(jìn)行控制以使得在transfer屬性中設(shè)定的DMAC
#0將寫入MEM # I的數(shù)據(jù)# 0傳送至MEM # O。對于記錄403 記錄405,調(diào)度器202也進(jìn)行與記錄301相同的設(shè)定方法。例如,基于記錄403,調(diào)度器202在應(yīng)用程序# 0成為了非活動狀態(tài)的情況下,將數(shù)據(jù)傳送方式設(shè)定為方式B。另外,調(diào)度器202進(jìn)行控制以使得通過CPU B的任意一個CPU執(zhí)行在src屬性中設(shè)定的線程# 0,將成為傳送對象數(shù)據(jù)的數(shù)據(jù)# 0的寫入目的地作為MEM # 0,寫入執(zhí)行線程# 0的CPU。并且,調(diào)度器202進(jìn)行控制以使得通過CPUA的任意一個CPU執(zhí)行在dest屬性中設(shè)定的線程# I JfCPU B的任意一個CPU寫入的數(shù)據(jù)# 0讀入執(zhí)行線程# I的CPU。在transfer屬性中,設(shè)定有直接寫入dest屬性的讀入目的地的CPU B。圖5是表示數(shù)據(jù)傳送方式A的說明圖。方式A是傳送對象數(shù)據(jù)的儲存以及傳送對象數(shù)據(jù)的傳送都具有緊迫性的情況的數(shù)據(jù)傳送方式。具體而言在圖5中,說明進(jìn)行通信的線程和使用在通信中得到的傳送對象數(shù)據(jù)的線程都具有緊迫性,進(jìn)行高速處理的情況。例如,在圖5所示的例子中,通過應(yīng)用程序# 0進(jìn)行通信的線程# 0,和使用在通信中得到的數(shù)據(jù)而在顯示器104上顯示的線程# I都具有緊迫性?;谟涗?01,調(diào)度器202為了在線程# 0中高速進(jìn)行通信而進(jìn)行控制,以使得CPU # I在與正在執(zhí)行的CPU # I對應(yīng)的MEM # I中寫入成為傳送對象數(shù)據(jù)的數(shù)據(jù)# O。另夕卜,調(diào)度器202為了在線程# I中高速地讀出該結(jié)果而進(jìn)行控制以使得通過DMAC # 0將數(shù)據(jù)# 0從MEM # I傳送至MEM # O。作為能夠應(yīng)用方式A的情況,可舉出動態(tài)圖像的流播放等。方式A的數(shù)據(jù)傳送通過DMAC的突發(fā)傳送,能夠高速地傳送傳送對象數(shù)據(jù)。另外,傳送對象數(shù)據(jù)的傳送中,占用總線107。圖6是表示數(shù)據(jù)傳送方式B的說明圖。方式B是傳送對象數(shù)據(jù)的儲存以及傳送對象數(shù)據(jù)的傳送沒有緊迫性的情況的數(shù)據(jù)傳送方式。具體而言在圖6中,說明進(jìn)行通信的線程和使用在通信中得到的傳送對象數(shù)據(jù)的線程都沒有緊迫性的情況。例如,在圖6所示的例子中,從圖5的狀態(tài)變成應(yīng)用程序# I被起動而成為活動狀態(tài),應(yīng)用程序# 0成為了非活動狀態(tài)的結(jié)果,進(jìn)行通信的線程# 0和顯示動態(tài)圖像的線程# I上沒有緊迫性的狀態(tài)。作為沒有緊迫性的理由,是因為應(yīng)用程序# 0成為非活動狀態(tài),通過線程# I播放動態(tài)圖像的畫面區(qū)域被應(yīng)用程序#I隱藏等。此時,基于記錄302,調(diào)度器202可以不在線程# 0中進(jìn)行高速通信,所以進(jìn)行控制以使得CPU # I不向CPU # 0專用的存儲器而向MEM # 0寫入數(shù)據(jù)井O。另外,調(diào)度器202進(jìn)行控制以使得在線程# I中由CPU # 0從MEM # 0讀入數(shù)據(jù)# O。作為能夠應(yīng)用方式B的情況,舉出在后臺上進(jìn)行的文件下載處理等。圖7是表示數(shù)據(jù)傳送方式C的說明圖。方式C是傳送對象數(shù)據(jù)的儲存具有緊迫性,傳送對象數(shù)據(jù)的傳送沒有緊迫性的情況下的數(shù)據(jù)傳送方式。具體而言在圖7中,說明進(jìn)行通信的線程具有緊迫性,但使用了在通信中得到的傳送對象數(shù)據(jù)的線程沒有緊迫性的情況。例如,在圖7所示的例子中,在應(yīng)用程序# 2的線程# 4中高速地執(zhí)行通信處理,所以具有緊迫性。但是,是與線程# 4協(xié)同動作的線程# 5沒有緊迫性的狀態(tài)?;谟涗?04,調(diào)度器202為了在線程# 4中高速進(jìn)行通信而進(jìn)行控制以使得CPU
#I將成為傳送對象數(shù)據(jù)的數(shù)據(jù)# 2寫入正在執(zhí)行的CPU # I專用的MEM # I。另外,調(diào)度器202可以不在線程# 5中高速讀出該結(jié)果,所以進(jìn)行控制以使得禁止DMAC # 0的使用,使CPU # 0讀入數(shù)據(jù)# 2。作為能夠應(yīng)用方式C的情況,可舉出郵件的接收等。例如,將應(yīng)用程序# 2作為郵件軟件,將線程# 4作為下載線程,將線程# 5作為郵件獲取線程。CPU# I利用下載線程通過I / F105,從網(wǎng)絡(luò)106接收郵件數(shù)據(jù),寫入MEM
#I。CPU # 0利用郵件獲取線程從MEM # I讀入。基于方式B、方式C的數(shù)據(jù)傳送方式是通過CPU所進(jìn)行的數(shù)據(jù)傳送,數(shù)據(jù)的傳送速度與DMAC的傳送相比是低速,但不占用總線107,所以能夠防止由于CPU的傳送等待而引起的吞吐量的降低。另外,在產(chǎn)生了中斷的情況下,能夠縮短進(jìn)行上下文轉(zhuǎn)換的反應(yīng)時間,提高響應(yīng)性。
圖8是表示流播放中的流數(shù)據(jù)的數(shù)據(jù)傳送狀態(tài)的說明圖。圖8中的數(shù)據(jù)傳送控制裝置100是執(zhí)行動態(tài)圖像播放應(yīng)用程序的狀態(tài)。動態(tài)圖像播放應(yīng)用程序包含動態(tài)圖像播放線程801和下載線程802。另外,執(zhí)行GUI線程803,GUI線程803屬于動態(tài)圖像播放應(yīng)用程序以外的應(yīng)用程序。另外,下載線程802也可以屬于動態(tài)圖像播放應(yīng)用程序以外的應(yīng)用程序。在圖8的狀態(tài)中,動態(tài)圖像播放應(yīng)用程序的狀態(tài)是活動狀態(tài),所以調(diào)度器202從數(shù)據(jù)傳送表201中選擇記錄804?;谟涗?04,調(diào)度器202將數(shù)據(jù)傳送方式設(shè)定為方式A。根據(jù)設(shè)定的內(nèi)容,下載線程802將從I / F105獲取的流數(shù)據(jù)寫入MEM # I。在流數(shù)據(jù)寫入后,DMAC # 0將流數(shù)據(jù)從MEM # I傳送到MEM # 0,動態(tài)圖像播放線程801從MEM # 0讀入流數(shù)據(jù),在顯示器104上顯示動態(tài)圖像。在播放流數(shù)據(jù)的情況下,若不以流數(shù)據(jù)的位速率以上傳送數(shù)據(jù)則不能正常顯示動態(tài)圖像,所以數(shù)據(jù)傳送方式適合能夠高速地傳送數(shù)據(jù)的方式A。圖9是表示游戲應(yīng)用程序執(zhí)行中的流數(shù)據(jù)的數(shù)據(jù)傳送狀態(tài)的說明圖。圖9中的數(shù)據(jù)傳送控制裝置100盡管處于執(zhí)行動態(tài)圖像播放應(yīng)用程序的狀態(tài),但之后其他的應(yīng)用程序成為活動狀態(tài),動態(tài)圖像播放應(yīng)用程序成為非活動狀態(tài),動態(tài)圖像播放成為了正在待機(jī)的狀態(tài)。在圖9中,與動態(tài)圖像播放應(yīng)用程序不同的游戲應(yīng)用程序是活動狀態(tài),屬于游戲應(yīng)用程序的游戲線程901由CPU # 0執(zhí)行。在圖9的狀態(tài)中,動態(tài)圖像播放應(yīng)用程序的狀態(tài)是非活動狀態(tài),所以調(diào)度器202從數(shù)據(jù)傳送表201中選擇記錄805?;谟涗?05,調(diào)度器202將數(shù)據(jù)傳送方式設(shè)定為方式B。根據(jù)設(shè)定的內(nèi)容,下載線程802將從I / F105獲取的流數(shù)據(jù)直接寫入MEM # O。在流數(shù)據(jù)寫入后,動態(tài)圖像播放線程801從MEM # 0讀入流數(shù)據(jù)。此時,在顯示器104上,進(jìn)行基于游戲線程901的描繪,動態(tài)圖像播放線程801處于待機(jī)中所以不描繪。此時,下載線程802在動態(tài)圖像播放應(yīng)用程序的待機(jī)中將流數(shù)據(jù)傳送至MEM# O。在傳送中動態(tài)圖像播放應(yīng)用程序成為了活動狀態(tài)的情況下,動態(tài)圖像播放線程801通過播放積蓄的流數(shù)據(jù),能夠進(jìn)行順暢的動態(tài)圖像播放。動態(tài)圖像播放應(yīng)用程序在待機(jī)中的數(shù)據(jù)傳送中,沒有時間制約,不緊迫,所以數(shù)據(jù)傳送方式適合不占用總線107的方式B。圖10是表示游戲應(yīng)用程序中斷狀態(tài)中的流數(shù)據(jù)的數(shù)據(jù)傳送狀態(tài)的說明圖。圖10中的數(shù)據(jù)傳送控制裝置100從游戲應(yīng)用程序為活動狀態(tài)的狀態(tài)變成動態(tài)圖像播放應(yīng)用程序成為活動狀態(tài)的狀態(tài)。在圖10的狀態(tài)中,動態(tài)圖像播放應(yīng)用程序的狀態(tài)是活動狀態(tài),所以調(diào)度器202從數(shù)據(jù)傳送表201中選擇記錄804。基于記錄804,調(diào)度器202再次將數(shù)據(jù)傳送方式設(shè)定為方式A。這樣,本實(shí)施方式所涉及的數(shù)據(jù)傳送控制裝置100能夠基于應(yīng)用程序是活動狀態(tài)還是非活動狀態(tài)這樣的狀態(tài)變化來動態(tài)地切換傳送方式。另外,數(shù)據(jù)傳送控制裝置100也可以基于是活動狀態(tài)還是非活動狀態(tài)以外的狀態(tài)變化來切換傳送方式。例如,動態(tài)圖像播放應(yīng)用程序是活動狀態(tài),但由于使用者等而產(chǎn)生了停止動態(tài)圖像播放或者倒退播放這樣的狀態(tài)變化的情況。該情況下,能夠通過積蓄的流數(shù)據(jù)進(jìn)行播放所以也可以不以高速傳送數(shù)據(jù),所以數(shù)據(jù)傳送控制裝置100也可以將數(shù)據(jù)傳送方式設(shè)定為方式B。
圖11A、圖1lB是表示數(shù)據(jù)傳送方式轉(zhuǎn)移處理的流程圖。作為調(diào)度器202的功能的一部分執(zhí)行數(shù)據(jù)傳送方式轉(zhuǎn)移處理。調(diào)度器202以各個CPU的調(diào)度器來管理在各CPU執(zhí)行的應(yīng)用程序的日程。另外,調(diào)度器202將各CPU中特定的CPU的調(diào)度器為代表進(jìn)行在數(shù)據(jù)傳送控制裝置100執(zhí)行中的應(yīng)用程序的管理、來自使用者的應(yīng)用程序的起動要求的應(yīng)對。在本實(shí)施方式中,將特定的CPU作為CPU # 0進(jìn)行說明。各CPU判斷是否產(chǎn)生了狀態(tài)變化(步驟S1101)。所謂狀態(tài)變化是指應(yīng)用程序的起動、結(jié)束、應(yīng)用程序的轉(zhuǎn)換。在未產(chǎn)生狀態(tài)變化的情況下(步驟SllOl 否”),各CPU再次執(zhí)行步驟SllOl的處理。在產(chǎn)生了狀態(tài)變化的情況下(步驟SllOl 是”),各CPU判斷是否是應(yīng)用程序的執(zhí)行結(jié)束了的狀態(tài)變化(步驟SI 102)。在是應(yīng)用程序的執(zhí)行結(jié)束了的狀態(tài)變化的情況下(步驟SI 102 是”),各CPU判斷數(shù)據(jù)傳送方式C的應(yīng)用程序是否結(jié)束(步驟S1103)。在數(shù)據(jù)傳送方式C的應(yīng)用程序結(jié)束的情況下(步驟SI 103:“是”),各CPU解除與各CPU對應(yīng)的DMAC的使用禁止(步驟SI 104),移至步驟SllOl的處理。在數(shù)據(jù)傳送方式C以外的應(yīng)用程序結(jié)束的情況下(步驟S1103 否”),各CPU移至步驟SllOl的處理。此外,若應(yīng)用程序結(jié)束,則對執(zhí)行中的應(yīng)用程序進(jìn)行轉(zhuǎn)換動作,所以移至步驟SllOl 是”的處理。在不是應(yīng)用程序的執(zhí)行結(jié)束的狀態(tài)變化的情況下(步驟S1102:“否”),各CPU判斷是否存在未解析的應(yīng)用程序(步驟S1105)。在存在未解析的應(yīng)用程序的情況下(步驟S1105 是”),各CPU在執(zhí)行中的應(yīng)用程序中,選擇未解析的應(yīng)用程序(步驟S1106)。選擇后,各CPU向CPU # 0通知選擇的應(yīng)用程序的信息。接收了通知的CPU # 0判斷選擇的應(yīng)用程序是否存在于數(shù)據(jù)傳送表201 (步驟S1107)。在登記在數(shù)據(jù)傳送表201的情況下(步驟S1107 是”),CPU# 0從數(shù)據(jù)傳送表201中選擇所選擇的應(yīng)用程序的記錄(步驟S1108),發(fā)送至通知源的CPU。此外,在存在多個所選擇的應(yīng)用程序的記錄的情況下,CPU # 0也可以選擇所選擇的應(yīng)用程序是活動狀態(tài)狀態(tài)還是非活動狀態(tài)狀態(tài)與符合條件的記錄中記載的狀態(tài)一致的記錄。接收了記錄的各CPU根據(jù)由于新應(yīng)用程序的起動引起的狀態(tài)變化,來判斷是否變更選擇的應(yīng)用程序的數(shù)據(jù)傳送方式(步驟S1109)。在變更數(shù)據(jù)傳送方式的情況下(步驟S1109 是”),各CPU執(zhí)行數(shù)據(jù)傳送方式設(shè)定處理(步驟S1110)。數(shù)據(jù)傳送方式設(shè)定處理的詳細(xì)內(nèi)各在圖12中后述。在數(shù)據(jù)傳送方式執(zhí)行后,或者未變更數(shù)據(jù)傳送方式的情況下(步驟S1109 否”),各CPU將選擇的應(yīng)用程序設(shè)定為解析完畢(步驟S1111),移至步驟S1105的處理。在選擇的應(yīng)用程序未登記在數(shù)據(jù)傳送表201上的情況下(步驟S1107 否”),CPU
#0將未登記這樣的結(jié)果發(fā)送到通知源的CPU。接收了未登記這樣的結(jié)果的各CPU移至步驟Sllll的處理。在不存在未解析的應(yīng)用程序的情況下(步驟S1105 否”),各CPU委托CPU # 0判斷是否是新的應(yīng)用程序起動了的狀態(tài)變化(步驟S1112)。在是新的應(yīng)用程序起動了的狀態(tài)變化的情況下(步驟S1112 是”),CPU # 0判斷新的應(yīng)用程序是否登記在數(shù)據(jù)傳送表201(步驟S1113)。此外,在存在多個所選擇的應(yīng)用程序的記錄的情況下,CPU# 0也可以選擇所選擇的應(yīng)用程序是活動狀態(tài)還是非活動狀態(tài)和符合條件的記錄中記載的狀態(tài)一致的記錄。在登記在數(shù)據(jù)傳送表201的情況下(步驟S1113 是”),CPU # 0從數(shù)據(jù)傳送表201中選擇新的應(yīng)用程序的記錄(步驟S1114)。選擇記錄后,CPU# O執(zhí)行數(shù)據(jù)傳送方式設(shè)定處理(步驟S1115)。數(shù)據(jù)傳送方式設(shè)定處理的詳細(xì)內(nèi)容在圖12中后述。在數(shù)據(jù)傳送方式設(shè)定處理執(zhí)行結(jié)束后,CPU # 0利用調(diào)度器202調(diào)度新的應(yīng)用程序(步驟S1116)。在新的應(yīng)用程序未登記在數(shù)據(jù)傳送表201的情況下(步驟S1113 否”),CPU # 0移至步驟S1116的處理。在不是新的應(yīng)用程序起動了的狀態(tài)變化的情況下(步驟S1112 否”),CPU # 0利用調(diào)度器202執(zhí)行通常的調(diào)度(步驟S1117)。此外,作為未登記在數(shù)據(jù)傳送表201上的應(yīng)用程序,例如可舉出使用者下載的應(yīng)用程序等。步驟S1116處理結(jié)束后,或者步驟S1117處理結(jié)束后,CPU # 0移至步驟SllOl的處理。具體而言,處理轉(zhuǎn)移后CPU # 0指示各CPU判斷是否產(chǎn)生了狀態(tài)變化。圖12是表示數(shù)據(jù)傳送方式設(shè)定處理的流程圖。數(shù)據(jù)傳送方式設(shè)定處理由全部的(PU執(zhí)行。此處為了說明的簡單化,對CPU# 0執(zhí)行的情況進(jìn)行說明。另外,在執(zhí)行數(shù)據(jù)傳送方式設(shè)定處理的情況下,是能夠獲取從數(shù)據(jù)傳送表201選擇的記錄作為參數(shù)的狀態(tài)。CPU # 0根據(jù)所選擇的記錄判斷數(shù)據(jù)傳送方式(步驟S1201)。在選擇的記錄的數(shù)據(jù)傳送方式是方式A的情況下(步驟S1201:方式A),判斷傳送對象數(shù)據(jù)的傳送具有緊迫性,所以CPU # 0進(jìn)行DMAC的設(shè)定(步驟S1202),結(jié)束數(shù)據(jù)傳送方式設(shè)定處理。此外,在數(shù)據(jù)傳送方式從方式C的應(yīng)用程序調(diào)度為方式A的應(yīng)用程序的情況下,CPU # 0進(jìn)行DMAC # 0的使用禁止的解除,進(jìn)行DMAC的設(shè)定。在選擇的記錄的數(shù)據(jù)傳送方式是方式B的情況下(步驟S1201:方式B),CPU # 0判斷傳送對象數(shù)據(jù)的儲存和傳送沒有緊迫性,所以進(jìn)行傳送目的地地址的設(shè)定(步驟S1203),結(jié)束數(shù)據(jù)傳送方式設(shè)定處理。更詳細(xì)而言,對向傳送源存儲器儲存?zhèn)魉蛯ο髷?shù)據(jù)的CPU設(shè)定傳送目的地地址。例如在圖6的情況下,CPU # 0對CPU # I進(jìn)行MEM # 0內(nèi)的傳送目的地地址的設(shè)定。在選擇的記錄的數(shù)據(jù)傳送方式是方式C的情況下(步驟S1201:方式C),判斷為傳送對象數(shù)據(jù)的儲存具有緊迫性,傳送沒有緊迫性,所以CPU # 0設(shè)定DMAC的使用禁止(步驟S1204)。設(shè)定后,CPU # 0結(jié)束數(shù)據(jù)傳送方式設(shè)定處理。具體而言,CPU # 0設(shè)定與CPU # 0對應(yīng)的DMAC # 0的使用禁止。在圖11、圖12中,數(shù)據(jù)傳送控制裝置100在數(shù)據(jù)傳送方式為方式C時,通過禁止DMAC的使用,使CPU傳送,但也可以不禁止DMAC而設(shè)定為直接傳送至CPU。另外,數(shù)據(jù)傳送控制裝置100也可以代替禁止DMAC的使用,在DMAC的傳送方法中,禁止占用總線的突發(fā)傳送。在DMAC中,除了突發(fā)傳送以外也存在進(jìn)行以I字節(jié)或者計算機(jī)中數(shù)據(jù)量的單位即I字單位傳送的單傳送的DMAC (參照下述參考文獻(xiàn)I)。(參考文獻(xiàn)1:熟練使用DMC:富士通,[online],[平成22年05月06日檢索],網(wǎng)絡(luò)< URL:http://jp.Fujitsu, com/microelectronics/products/micom/support/knowhow/fr — hard05.html >)在禁止突發(fā)傳送,以單(single)傳送的方式傳送數(shù)據(jù)的情況下,DMAC未占用總線,所以數(shù)據(jù)傳送控制裝置100能夠不使由于CPU的傳送等待引起的吞吐量降低,而維持吞吐量。另外,在產(chǎn)生了中斷的情況下,數(shù)據(jù)傳送控制裝置100能夠縮短進(jìn)行上下文轉(zhuǎn)換的反應(yīng)時間,提高響應(yīng)性。另外,本實(shí)施方式中的數(shù)據(jù)傳送控制裝置100為多核的方式,但也可以為單核的方式。例如,在圖5中所述的應(yīng)用程序# O中,假定進(jìn)行通信的線程# O將傳送對象數(shù)據(jù)儲存到線程# O的工作區(qū)域,傳送到使用在通信中得到的傳送對象數(shù)據(jù)的線程# I的工作區(qū)域的狀態(tài)。該情況下,在應(yīng)用程序# 0的狀態(tài)是活動狀態(tài)的情況下,也可以將數(shù)據(jù)傳送方式設(shè)為方式A,通過DMAC將傳送對象數(shù)據(jù)從線程# I的工作區(qū)域傳送到線程# 0的工作區(qū)域。另外,在應(yīng)用程序# 0的狀態(tài)是非活動狀態(tài)的情況下,也可以將數(shù)據(jù)傳送方式設(shè)為方式B,線程# I將傳送對象數(shù)據(jù)直接寫入線程# 0的工作區(qū)域。另外,在單核的數(shù)據(jù)傳送方式是方式C的情況下,能夠應(yīng)用在圖7中所述的應(yīng)用程序# 2的例子。具體而言,應(yīng)用程序# 2的線程# 4將傳送對象數(shù)據(jù)儲存到線程# 4的工作區(qū)域,線程# 5從線程# 4的工作區(qū)域直接讀入傳送對象數(shù)據(jù)。如以上說明所述,根據(jù)數(shù)據(jù)傳送控制裝置、數(shù)據(jù)傳送控制方法以及數(shù)據(jù)傳送控制程序,基于執(zhí)行中的應(yīng)用程序的種類,判斷是否是緊迫的數(shù)據(jù)傳送,在不是緊迫的情況下禁止DMAC的使用。由此,數(shù)據(jù)傳送控制裝置減少頻繁的DMA傳送,所以能夠防止由于處理器的傳送等待引起的吞吐量的降低。并且,數(shù)據(jù)傳送控制裝置減少頻繁的DMA傳送,所以縮短對要求上下文轉(zhuǎn)換的中斷處理的反應(yīng)時間,能夠提高對于實(shí)時處理的響應(yīng)性。另外,數(shù)據(jù)傳送控制裝置也可以基于應(yīng)用程序的種類和狀態(tài)變化,來判斷是否是緊迫的數(shù)據(jù)傳送。由此,數(shù)據(jù)傳送控制裝置能夠防止由于處理器的傳送等待引起的吞吐量的降低,并且,能夠提高對實(shí)時處理的響應(yīng)性。另外,數(shù)據(jù)傳送控制裝置通過基于應(yīng)用程序的狀態(tài)變化進(jìn)行判斷,與基于應(yīng)用程序的種類的判斷相比能夠進(jìn)一步動態(tài)地變更數(shù)據(jù)傳送方式。因此,數(shù)據(jù)傳送控制裝置能夠進(jìn)一步增加進(jìn)行吞吐量的降低的防止、對實(shí)時處理的響應(yīng)性的提聞的狀態(tài)。另外,數(shù)據(jù)傳送控制裝置在應(yīng)用程序的狀態(tài)從活動狀態(tài)變?yōu)榉腔顒訝顟B(tài),或者從非活動狀態(tài)變化為活動狀態(tài)的情況下,也可以基于應(yīng)用程序的種類和狀態(tài)變化,來判斷是否是緊迫的數(shù)據(jù)傳送。由此,數(shù)據(jù)傳送控制裝置能夠防止由于處理器的傳送等待引起的吞吐量的降低,并且能夠提高對實(shí)時處理的響應(yīng)性。另外,數(shù)據(jù)傳送控制裝置采用移動終端的方式的情況下,有時在移動終端采用的顯示器的顯示區(qū)域,顯示區(qū)域狹小,例如,采用320X240像素的QVGA (Quarter VideoGraphics Array:四分之一動態(tài)圖像圖形陣列)。在這樣的顯示區(qū)域狹小的顯示器的情況下,成為非活動狀態(tài)的應(yīng)用程序被成為活動狀態(tài)的應(yīng)用程序全部隱藏的可能性較高。使用者看不見全部被隱藏的應(yīng)用程序,所以存在即使延遲數(shù)據(jù)的傳送速度從使用者來看不成為問題的情況。像這樣的情況下,對于數(shù)據(jù)傳送控制裝置而言,數(shù)據(jù)的傳送速度延遲,然而能夠?qū)崿F(xiàn)處理器的吞吐量的降低防止、實(shí)時的響應(yīng)性的提高。另外,數(shù)據(jù)傳送控制裝置判斷為傳送對象數(shù)據(jù)的傳送具有緊迫性的情況下,也可以通過DMAC傳送傳送對象數(shù)據(jù)。由此,數(shù)據(jù)傳送控制裝置能夠只在具有緊迫性時以高速傳送傳送對象數(shù)據(jù)。例如,在應(yīng)用程序成為活動狀態(tài)而緊迫性提高時,數(shù)據(jù)傳送控制裝置能夠通過DMAC高速地傳送傳送對象數(shù)據(jù)。另外,數(shù)據(jù)傳送控制裝置判斷利用其他的處理器向傳送源存儲器儲存?zhèn)魉蛯ο髷?shù)據(jù)是否具有緊迫性,在判斷出傳送對象數(shù)據(jù)的儲存沒有緊迫性,并且傳送對象數(shù)據(jù)的傳送沒有緊迫性的情況下,也可以使其他的處理器傳送。由此,數(shù)據(jù)傳送控制裝置在沒有緊迫性的情況下,能夠防止處理器的吞吐量的降低、實(shí)現(xiàn)實(shí)時的響應(yīng)性的提高。另外,數(shù)據(jù)傳送控制裝置判斷出傳送對象數(shù)據(jù)的儲存具有緊迫性,并且傳送對象數(shù)據(jù)的傳送沒有緊迫性的情況下,也可以使檢測進(jìn)程的處理器傳送。由此,數(shù)據(jù)傳送控制裝置高速進(jìn)行傳送對象數(shù)據(jù)的儲存,且能夠防止處理器的吞吐量的降低、提高實(shí)時的響應(yīng)性。此外,在本實(shí)施方式中說明的數(shù)據(jù)傳送控制方法,能夠通過在個人計算機(jī)、工作站等計算機(jī)上執(zhí)行預(yù)先準(zhǔn)備的程序來實(shí)現(xiàn)。本數(shù)據(jù)傳送控制程序記錄在硬盤、軟盤、CD -ROM>MO>DVD等計算機(jī)可讀取的記錄介質(zhì)上,通過由計算機(jī)從記錄介質(zhì)讀出而被執(zhí)行。另外本數(shù)據(jù)傳送控制程序也可以經(jīng)由因特網(wǎng)等網(wǎng)絡(luò)分配。附圖標(biāo)記說明# 0、# I…CPU、MEM、DMAC ;107…總線;100…數(shù)據(jù)傳送控制裝置;201…數(shù)據(jù)傳送表;202…調(diào)度器;20 3…傳送部;204…傳送指示部;205…檢測部;206…判斷部;207…控制部。
權(quán)利要求
1.一種數(shù)據(jù)傳送控制裝置,其特征在于,具備: 傳送單元,其根據(jù)處理器的指示將傳送對象數(shù)據(jù)從傳送源存儲器傳送到傳送目的地存儲器; 檢測單元,其檢測由所述處理器執(zhí)行的進(jìn)程; 判斷單元,其基于由所述檢測單元檢測出的所述進(jìn)程的種類,來判斷所述傳送單元所進(jìn)行的所述傳送對象數(shù)據(jù)的傳送是否具有緊迫性;以及 控制單元,其基于由所述判斷單元判斷出的結(jié)果來進(jìn)行控制,以使得所述傳送單元或者所述處理器傳送所述傳送對象數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于, 所述檢測單元進(jìn)一步檢測所述進(jìn)程的狀態(tài)變化, 所述判斷單元基于由所述檢測單元檢測出的所述進(jìn)程的種類以及所述進(jìn)程的狀態(tài)變化,來判斷所述傳送單元所進(jìn)行的所述傳送對象數(shù)據(jù)的傳送是否具有緊迫性。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于, 所述檢測單元進(jìn)一步檢測所述進(jìn)程的狀態(tài)是從活動狀態(tài)變化到非活動狀態(tài),還是從非活動狀態(tài)變化到活動狀態(tài), 所述判斷單元基于由所述檢測單元檢測出的所述進(jìn)程的種類以及所述進(jìn)程的狀態(tài)是活動狀態(tài)還是非活動狀態(tài),來判斷所述傳送單元所進(jìn)行的所述傳送對象數(shù)據(jù)的傳送的緊迫性。
4.根據(jù)權(quán)利要求1 3中的`任意一項所述的數(shù)據(jù)傳送控制裝置,其特征在于, 在由所述判斷單元判斷出具有緊迫性的情況下,所述控制單元進(jìn)行控制以使得所述傳送單元傳送所述傳送對象數(shù)據(jù)。
5.根據(jù)權(quán)利要求1 3中的任意一項所述的數(shù)據(jù)傳送控制裝置,其特征在于, 所述判斷單元進(jìn)一步判斷其他處理器向所述傳送源存儲器儲存所述傳送對象數(shù)據(jù)是否具有緊迫性, 在所述判斷單元判斷出所述傳送對象數(shù)據(jù)的儲存沒有緊迫性,并且所述傳送對象數(shù)據(jù)的傳送沒有緊迫性的情況下,所述控制單元進(jìn)行控制以使得所述其他處理器向所述傳送目的地存儲器傳送所述傳送對象數(shù)據(jù)。
6.根據(jù)權(quán)利要求1 3中的任意一項所述的數(shù)據(jù)傳送控制裝置,其特征在于, 所述判斷單元進(jìn)一步判斷其他處理器向所述傳送源存儲器儲存所述傳送對象數(shù)據(jù)是否具有緊迫性, 在由所述判斷單元判斷出所述傳送對象數(shù)據(jù)的儲存具有緊迫性,并且所述傳送對象數(shù)據(jù)的傳送沒有緊迫性的情況下,所述控制單元進(jìn)行控制以使得所述處理器傳送所述傳送對象數(shù)據(jù)。
7.一種數(shù)據(jù)傳送控制方法,其特征在于, 能夠控制將傳送對象數(shù)據(jù)從傳送源存儲器傳送到傳送目的地存儲器的傳送裝置的處理器執(zhí)行如下步驟: 檢測步驟,檢測由所述處理器執(zhí)行的進(jìn)程; 判斷步驟,基于由所述檢測步驟檢測出的所述進(jìn)程的種類,來判斷所述傳送裝置所進(jìn)行的所述傳送對象數(shù)據(jù)的傳送是否具有緊迫性;傳送指示步驟,在由所述判斷步驟判斷出具有緊迫性的情況下,指示所述傳送裝置傳送所述傳送對象數(shù)據(jù);以及 傳送步驟,在由所述判斷步驟判斷出沒有緊迫性的情況下,由所述處理器傳送所述傳送對象數(shù)據(jù)。
8.一種數(shù)據(jù)傳送控制程序,其特征在于, 使能夠控制將傳送對象數(shù)據(jù)從傳送源存儲器傳送到傳送目的地存儲器的傳送裝置的處理器執(zhí)行如下步驟: 檢測步驟,檢測由所述處理器執(zhí)行的進(jìn)程; 判斷步驟,基于由所述檢測步驟檢測出的所述進(jìn)程的種類,來判斷所述傳送裝置所進(jìn)行的所述傳送對象數(shù)據(jù)的傳送是否具有緊迫性; 傳送指示步驟,在由所述判斷步驟判斷出具有緊迫性的情況下,指示所述傳送裝置傳送所述傳送對象數(shù)據(jù);以及 傳送步驟,在由所述判斷步 驟判斷出沒有緊迫性的情況下,由所述處理器傳送所述傳送對象數(shù)據(jù)。
全文摘要
數(shù)據(jù)傳送控制裝置(100)通過成為傳送部(203)的DMAC(#0)接受CPU(#0)的傳送指示部(204)發(fā)出的指示,從成為傳送源存儲器的MEM(#1)向成為傳送目的地存儲器的MEM(#0)傳送傳送對象數(shù)據(jù)。另外,數(shù)據(jù)傳送控制裝置(100)通過檢測部(205)檢測由CPU(#0)執(zhí)行的進(jìn)程。檢測后,數(shù)據(jù)傳送控制裝置(100)通過判斷部(206)根據(jù)檢測出的進(jìn)程的種類來判斷傳送部(203)的傳送對象數(shù)據(jù)的傳送是否具有緊迫性。判斷后,數(shù)據(jù)傳送控制裝置(100)通過控制部(207)基于由判斷部(206)判斷出的結(jié)果來進(jìn)行控制,以使得傳送部(203)或者CPU(#0)傳送傳送對象數(shù)據(jù)。
文檔編號G06F13/362GK103119574SQ20108006757
公開日2013年5月22日 申請日期2010年6月22日 優(yōu)先權(quán)日2010年6月22日
發(fā)明者山內(nèi)宏真, 山下浩一郎, 鈴木貴久, 栗原康志 申請人:富士通株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1