數(shù)據(jù)處理裝置和數(shù)據(jù)處理方法
【專利摘要】根據(jù)實(shí)施例,一種數(shù)據(jù)處理裝置包括第一生成單元、第二生成單元、傳送指示單元和傳送控制器。當(dāng)所述第一生成單元確定要求從第一存儲(chǔ)單元到第二存儲(chǔ)單元的數(shù)據(jù)傳送時(shí),所述第一生成單元生成指定傳送數(shù)據(jù)在數(shù)據(jù)傳送源中的存儲(chǔ)位置、所述傳送數(shù)據(jù)在數(shù)據(jù)傳送目的地中的存儲(chǔ)位置以及數(shù)據(jù)傳送尺寸的傳送指示信息。所述第二生成單元生成通過將所述傳送指示信息分段為具有預(yù)定數(shù)據(jù)尺寸的片段而獲得的片段傳送指示信息。所述傳送指示單元以所述片段傳送指示信息為基礎(chǔ)來指示執(zhí)行數(shù)據(jù)傳送。所述傳送控制器根據(jù)所述數(shù)據(jù)傳送的指示來控制所述第一存儲(chǔ)單元和所述第二存儲(chǔ)單元之間的所述數(shù)據(jù)傳送。
【專利說明】數(shù)據(jù)處理裝置和數(shù)據(jù)處理方法
[0001] 相關(guān)申請(qǐng)的交叉引用
[0002] 本申請(qǐng)以2013年4月26日遞交的日本專利申請(qǐng)No. 2013-094234為基礎(chǔ)并且要 求該專利申請(qǐng)的優(yōu)先權(quán);本文以引用的方式結(jié)合其全部?jī)?nèi)容。
【技術(shù)領(lǐng)域】
[0003] 本文描述的實(shí)施例通常涉及數(shù)據(jù)處理裝置和數(shù)據(jù)處理方法。
【背景技術(shù)】
[0004] 按照慣例,具有直接存儲(chǔ)器存?。―MA)的數(shù)據(jù)處理裝置是已知的。在這樣的數(shù)據(jù) 處理裝置中,啟用通過DMA控制器而不是中央處理單元(CPU)的從主存儲(chǔ)設(shè)備到非易失性 存儲(chǔ)設(shè)備的直接數(shù)據(jù)傳送。從而,在常規(guī)的數(shù)據(jù)處理裝置中能夠?qū)崿F(xiàn)對(duì)于數(shù)據(jù)傳送要求的 時(shí)間的減少。
[0005] 然而,在常規(guī)的數(shù)據(jù)處理裝置中,當(dāng)數(shù)據(jù)被分段為小段時(shí),要求CPU在每一次數(shù)據(jù) 傳送時(shí)生成傳送指示信息。因此,在常規(guī)的數(shù)據(jù)處理裝置中,CPU可能被置于重的處理負(fù)荷 下。
【發(fā)明內(nèi)容】
[0006] 本文描述的實(shí)施例的目的在于提供能夠減少CPU的處理負(fù)荷的數(shù)據(jù)處理裝置。
[0007] 根據(jù)實(shí)施例,一種數(shù)據(jù)處理裝置包括第一生成單元、第二生成單元、傳送指示單元 和傳送控制器。所述第一生成單元配置為當(dāng)所述第一生成單元確定要求從第一存儲(chǔ)單元到 第二存儲(chǔ)單元的數(shù)據(jù)傳送時(shí)生成指定傳送數(shù)據(jù)在數(shù)據(jù)傳送源中的存儲(chǔ)位置、所述傳送數(shù)據(jù) 在數(shù)據(jù)傳送目的地中的存儲(chǔ)位置以及數(shù)據(jù)傳送尺寸的傳送指示信息。所述第二生成單元配 置為生成通過將所述傳送指示信息分段為具有預(yù)定數(shù)據(jù)尺寸的片段而獲得的片段傳送指 示信息。所述傳送指示單元配置為以所述片段傳送指示信息為基礎(chǔ)來指示執(zhí)行數(shù)據(jù)傳送。 所述傳送控制器配置為根據(jù)所述數(shù)據(jù)傳送的指示來控制所述第一存儲(chǔ)單元和所述第二存 儲(chǔ)單元之間的所述數(shù)據(jù)傳送。
[0008] 根據(jù)上面描述的數(shù)據(jù)處理裝置,能夠減少CPU的處理負(fù)荷。
【專利附圖】
【附圖說明】
[0009] 圖1是根據(jù)實(shí)施例的數(shù)據(jù)處理裝置的配置圖;
[0010] 圖2是表示根據(jù)實(shí)施例的數(shù)據(jù)處理裝置的功能配置和操作示例的圖;
[0011] 圖3是表示根據(jù)實(shí)施例的虛擬存儲(chǔ)器空間的示例的圖;
[0012] 圖4是表示根據(jù)實(shí)施例的頁(yè)表的示例的圖;
[0013] 圖5是表示根據(jù)實(shí)施例在數(shù)據(jù)處理時(shí)的處理過程的示例的流程圖;并且
[0014] 圖6是表示根據(jù)實(shí)施例在數(shù)據(jù)傳送時(shí)的處理過程的示例的序列圖。
【具體實(shí)施方式】
[0015] 下面參照附圖來詳細(xì)解釋實(shí)施例。
[0016] 數(shù)據(jù)處理裝置
[0017] 圖1是根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理裝置100的配置圖。如圖1所示,根據(jù)當(dāng)前實(shí) 施例的數(shù)據(jù)處理裝置100包括CPU101、只讀存儲(chǔ)器(ROM) 102、隨機(jī)存取存儲(chǔ)器(RAM) 103、 數(shù)據(jù)保存單元104和DMA控制器105。而且,根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理裝置100包括存儲(chǔ) 器管理單元106、傳送信息存儲(chǔ)單元107、生成單元108、傳送設(shè)置存儲(chǔ)單元109和傳送指示 單元110。在根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理裝置100中,經(jīng)過總線B來連接硬件的各自段,并 且經(jīng)過總線B來通信數(shù)據(jù)。圖1中示出了其中硬件的各自段經(jīng)過總線B的單條線路進(jìn)行連 接的示例,并且例如以諸如外圍部件互連(PCI)總線的標(biāo)準(zhǔn)為基礎(chǔ)來建立連接。
[0018] CPU101是實(shí)現(xiàn)整個(gè)裝置的控制和所安裝的功能的計(jì)算設(shè)備。R0M102是非易失性 存儲(chǔ)器,在其中存儲(chǔ)有程序和數(shù)據(jù)。RAM103是諸如靜態(tài)RAM (SRAM)和動(dòng)態(tài)RAM (DRAM)的 存儲(chǔ)器,并且是易失性存儲(chǔ)器(主存儲(chǔ)設(shè)備),在其中讀取并且臨時(shí)保持程序和數(shù)據(jù)。因此, 例如,CPU101將程序和數(shù)據(jù)從R0M102讀取到RAM103上并且執(zhí)行處理,并且從而獲得整個(gè) 裝置的控制或所安裝的功能的實(shí)現(xiàn)。
[0019] 數(shù)據(jù)保存單元104是諸如硬盤驅(qū)動(dòng)(HDD)和存儲(chǔ)卡的記錄介質(zhì),并且是存儲(chǔ)應(yīng)用 程序和數(shù)據(jù)的非易失性存儲(chǔ)設(shè)備。DMA控制器105是控制在RAM103和數(shù)據(jù)保存單元104之 間執(zhí)行的數(shù)據(jù)傳送的控制設(shè)備。
[0020] 存儲(chǔ)器管理單元106是向應(yīng)用程序等等提供與RAM103中的存儲(chǔ)區(qū)(在下文中,"存 儲(chǔ)器空間")分開的虛擬存儲(chǔ)區(qū)(在下文中,"虛擬存儲(chǔ)器空間")的單元。存儲(chǔ)器管理單元106 使用頁(yè)表(頁(yè)管理信息)來管理存儲(chǔ)器空間和虛擬存儲(chǔ)器空間,在頁(yè)表中虛擬頁(yè)和物理頁(yè)彼 此相關(guān)聯(lián)。
[0021] 傳送信息存儲(chǔ)單元107是易失性存儲(chǔ)器,在其中存儲(chǔ)有諸如指示數(shù)據(jù)傳送的指示 的傳送指示信息的數(shù)據(jù)。生成單元108以所述傳送指示信息為基礎(chǔ)根據(jù)DMA控制器105的 規(guī)范來生成與在數(shù)據(jù)傳送時(shí)的分段數(shù)據(jù)相對(duì)應(yīng)的片段傳送指示信息。
[0022] 傳送設(shè)置存儲(chǔ)單元109是易失性存儲(chǔ)器,在其中存儲(chǔ)有諸如在到DMA控制器105 和數(shù)據(jù)保存單元104的數(shù)據(jù)傳送時(shí)的設(shè)置(在下文中,"數(shù)據(jù)傳送設(shè)置")以及用于在數(shù)據(jù)傳 送時(shí)的中斷控制的處理過程(在下文中,"中斷處理過程")的數(shù)據(jù)。傳送指示單元110是以 數(shù)據(jù)傳送設(shè)置和中斷處理過程為基礎(chǔ)來執(zhí)行關(guān)于DMA控制器105和數(shù)據(jù)保存單元104的數(shù) 據(jù)傳送設(shè)置、數(shù)據(jù)傳送指示、中斷控制等等的控制單元。
[0023] 如上所述,根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理裝置100能夠利用上面的配置提供將記錄 在RAM103中的數(shù)據(jù)傳送到數(shù)據(jù)保存單元104以便在其中進(jìn)行存儲(chǔ)的數(shù)據(jù)處理功能。
[0024] 數(shù)據(jù)處理功能
[0025] 將解釋根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理功能。根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理裝置100具 有生成單元108和傳送指示單元110,這兩個(gè)單元的功能由與CPU101分開的設(shè)備(例如,諸 如"電路"的硬件邏輯)實(shí)現(xiàn)。當(dāng)CPU101確定要求從RAM103到數(shù)據(jù)保存單元104的數(shù)據(jù)傳 送時(shí),數(shù)據(jù)處理裝置100生成指定所述傳送數(shù)據(jù)在數(shù)據(jù)傳送源中的存儲(chǔ)位置、所述傳送數(shù) 據(jù)在數(shù)據(jù)傳送目的地中的存儲(chǔ)位置、數(shù)據(jù)傳送尺寸等等的傳送指示信息。在數(shù)據(jù)處理裝置 100中,生成單元108根據(jù)DMA控制器105的規(guī)范生成通過將傳送指示信息分段為具有各自 的傳送數(shù)據(jù)尺寸的片段而獲得的片段傳送指示信息。在數(shù)據(jù)處理裝置100中,傳送指示單 元110以片段傳送指示信息為基礎(chǔ)來指示DMA控制器105執(zhí)行數(shù)據(jù)傳送。根據(jù)當(dāng)前實(shí)施例 的數(shù)據(jù)處理裝置100具有這樣的數(shù)據(jù)處理功能。
[0026] 數(shù)據(jù)處理包括每次在RAM103中的數(shù)據(jù)被重寫時(shí)將該數(shù)據(jù)保存在數(shù)據(jù)保存單元 104中,以便防止數(shù)據(jù)損壞或者數(shù)據(jù)損失。
[0027] 在常規(guī)的數(shù)據(jù)處理裝置中,CPU101在每一次數(shù)據(jù)傳送時(shí)對(duì)于每一段數(shù)據(jù)生成包括 關(guān)于分段數(shù)據(jù)尺寸的信息或?qū)傩孕畔⒌钠蝹魉椭甘拘畔?,并且因此,?dāng)執(zhí)行如上所述的 要求頻繁數(shù)據(jù)傳送的這樣的數(shù)據(jù)處理時(shí),CPU101處于重的處理負(fù)荷下。此外,在常規(guī)的數(shù)據(jù) 處理裝置中,在數(shù)據(jù)傳送時(shí)頻繁地將中斷信號(hào)從DMA控制器105發(fā)出到CPU101,并且因此, CPU101處于高的處理負(fù)荷下。
[0028] 因此,在根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理裝置100中,實(shí)現(xiàn)這樣的系統(tǒng),以使得將被給 予到DMA控制器105的片段傳送指示信息的生成和到DMA控制器105的數(shù)據(jù)傳送的指示由 與CPU101分開的設(shè)備實(shí)現(xiàn),并且增強(qiáng)了數(shù)據(jù)傳送時(shí)CPU101的獨(dú)立性。
[0029] 將解釋根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理功能的配置和操作。在當(dāng)前實(shí)施例中,RAM103 與傳送源的存儲(chǔ)設(shè)備(第一存儲(chǔ)設(shè)備)相對(duì)應(yīng),并且數(shù)據(jù)保存單元104與數(shù)據(jù)傳送目的地的 存儲(chǔ)設(shè)備(第二存儲(chǔ)設(shè)備)相對(duì)應(yīng)。而且,DMA控制器105用作數(shù)據(jù)傳送控制器以便控制在 RAM103和數(shù)據(jù)保存單元104之間的數(shù)據(jù)傳送。
[0030] 圖2是表示根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理的功能配置和操作示例的圖。根據(jù)當(dāng)前實(shí) 施例的CPU101生成傳送數(shù)據(jù)的傳送指示信息107D,并且將生成的傳送指示信息107D存儲(chǔ) 在傳送信息存儲(chǔ)單元107中。CPU101對(duì)RAM103中的數(shù)據(jù)的更新做出響應(yīng)而生成傳送指示 信息107D。也就是說,在當(dāng)前實(shí)施例中,當(dāng)CPU101檢測(cè)到RAM103中的數(shù)據(jù)更新時(shí),CPU101 確定要求從RAM103到數(shù)據(jù)保存單元104的數(shù)據(jù)傳送。
[0031] 本文解釋根據(jù)當(dāng)前實(shí)施例由CPU101生成的傳送指示信息107D。如圖2所示,傳送 指示信息107D具有諸如主存儲(chǔ)開始地址、保存單元開始扇區(qū)和傳送尺寸的信息字段。各自 信息字段的字段值彼此相關(guān)聯(lián),并且被管理為一個(gè)條目。
[0032] 主存儲(chǔ)開始地址是指示將被存儲(chǔ)在數(shù)據(jù)保存單元104中的傳送數(shù)據(jù)在RAM103中 地址的信息(數(shù)據(jù)傳送源的存儲(chǔ)位置信息)。保存單元開始扇區(qū)是指示扇區(qū)的開始號(hào)碼的信 息(數(shù)據(jù)傳送目的地的存儲(chǔ)位置信息),在該扇區(qū)中傳送數(shù)據(jù)將被存儲(chǔ)在數(shù)據(jù)保存單元104 中。傳送尺寸是指示將被存儲(chǔ)在數(shù)據(jù)保存單元104中的傳送數(shù)據(jù)的數(shù)據(jù)尺寸的信息(數(shù)據(jù) 傳送尺寸信息)。傳送指示信息107D的信息字段并不局限于此。圖2所示的信息字段是一 個(gè)示例,并且例如可以以數(shù)據(jù)保存單元104的設(shè)備類型為基礎(chǔ)來添加額外的信息字段。該 額外的信息字段可以例如具有指示條目是否有效的比特值(標(biāo)志信息)、指示條目之間的數(shù) 據(jù)傳送的操作間隔的定時(shí)器值(數(shù)據(jù)傳送間隔信息)等等。
[0033] 例如,在圖2所示的傳送指示信息107D中,示出了其中其在RAM103中的地址以 "0x80001000"開始的"0x2000" [字節(jié)]的傳送數(shù)據(jù)被管理為第一條目的示例。而且,示出 了其中當(dāng)將傳送數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)保存單元104中時(shí)扇區(qū)的開始號(hào)碼為"0x8000"的示例。
[0034] 如所描述的,根據(jù)當(dāng)前實(shí)施例的CPU101以RAM103中的連續(xù)數(shù)據(jù)為單位或者以數(shù) 據(jù)保存單元104中的連續(xù)數(shù)據(jù)為單位生成包括主存儲(chǔ)開始地址、保存單元開始扇區(qū)、傳送 尺寸等等的傳送指示信息107D。因此,傳送指示信息107D由CPU101生成為與數(shù)據(jù)的分段 的段的數(shù)量一樣多的段。
[0035] 下面詳細(xì)解釋根據(jù)當(dāng)前實(shí)施例通過CPU101的傳送指示信息107D的生成方法。
[0036] 通常,操作系統(tǒng)(0S)具有向單獨(dú)的應(yīng)用程序提供作為單獨(dú)的存儲(chǔ)區(qū)域的虛擬存儲(chǔ) 器空間的虛擬存儲(chǔ)器功能。
[0037] 通過虛擬地配置RAM103中的存儲(chǔ)器空間以便被提供到應(yīng)用程序來實(shí)現(xiàn)虛擬存儲(chǔ) 器空間。在該虛擬存儲(chǔ)器空間中,例如,執(zhí)行應(yīng)用程序所要求的數(shù)據(jù)被臨時(shí)保持在RAM103 中或者被臨時(shí)保存在數(shù)據(jù)保存單元104中。
[0038] 虛擬存儲(chǔ)器空間被管理為被分段為預(yù)定尺寸的虛擬頁(yè)(頁(yè)尺寸:例如"4096"是常 用尺寸)。類似地,RAM103中的存儲(chǔ)器空間也在物理頁(yè)中以與虛擬頁(yè)相同的尺寸被分段和 管理。存儲(chǔ)器管理單元106使用其中虛擬頁(yè)和物理頁(yè)彼此相關(guān)聯(lián)的頁(yè)表向應(yīng)用程序提供與 RAM103中的存儲(chǔ)器空間分開的虛擬存儲(chǔ)器空間。
[0039] 因此,根據(jù)當(dāng)前實(shí)施例的CPU101在當(dāng)虛擬存儲(chǔ)器功能要求虛擬頁(yè)的數(shù)據(jù)從物理 頁(yè)到數(shù)據(jù)保存單元104的傳送時(shí)生成傳送指示信息107D。
[0040] 圖3是表示根據(jù)當(dāng)前實(shí)施例的虛擬存儲(chǔ)器空間91的示例的圖。如圖3所示,0S具 有由0S提供到應(yīng)用程序的每一個(gè)虛擬存儲(chǔ)器空間91的虛擬地址圖92。虛擬地址圖92具 有開始虛擬地址、結(jié)束虛擬地址、對(duì)象中的偏移等等,并且被以鏈形式的表進(jìn)行構(gòu)造。虛擬 地址圖92指代相對(duì)應(yīng)的存儲(chǔ)器/文件對(duì)象93。
[0041] 存儲(chǔ)器/文件對(duì)象93具有在存儲(chǔ)器(數(shù)據(jù)保存單元104)中的扇區(qū)號(hào)碼的列表等 等。扇區(qū)號(hào)碼的列表是存儲(chǔ)器上的多于一個(gè)扇區(qū)號(hào)碼,該存儲(chǔ)器具有與由虛擬地址圖92指 示的虛擬存儲(chǔ)器空間91的區(qū)域尺寸相匹配的長(zhǎng)度。在當(dāng)前實(shí)施例中,扇區(qū)號(hào)碼與數(shù)據(jù)保 存單元104的扇區(qū)號(hào)碼相對(duì)應(yīng)。而且,存儲(chǔ)器/文件對(duì)象93參照物理存儲(chǔ)器圖94,其指示 RAM103中的相對(duì)應(yīng)的物理頁(yè)。物理存儲(chǔ)器圖94具有在圖3中被表示為"vm_page"的物理 頁(yè)。
[0042] 圖4是根據(jù)當(dāng)前實(shí)施例表示頁(yè)表81的示例的圖。如圖4所示,存儲(chǔ)器管理單元 106具有頁(yè)表81。對(duì)于頁(yè)表81,從虛擬存儲(chǔ)器空間91的頂部形成信息字段的多于一個(gè)條 目。將被作為條目添加的信息字段根據(jù)虛擬地址圖92和物理存儲(chǔ)器圖94生成。將被生成 的信息字段包括由通過使RAM103的地址除以頁(yè)尺寸而獲得的值表示的物理頁(yè)號(hào)、指示對(duì) 物理頁(yè)的訪問控制的訪問控制信息等等。而且,將被生成的信息字段包括指示物理頁(yè)的數(shù) 據(jù)已經(jīng)被更新的更新比特(更新信息)、指示是否允許到物理頁(yè)的寫入的寫入允許比特(寫 入允許信息)等等。所生成的信息字段與作為一個(gè)條目的字段值相關(guān)聯(lián),并且在對(duì)于每一個(gè) 虛擬頁(yè)的頁(yè)表81中被管理。頁(yè)表81的結(jié)構(gòu)和管理方法根據(jù)存儲(chǔ)器管理單元106的規(guī)范進(jìn) 行。
[0043] 根據(jù)當(dāng)前實(shí)施例的CPU101訪問由存儲(chǔ)器管理單元106保持的頁(yè)表81,并且以更 新比特為基礎(chǔ)來檢測(cè)RAM103中的數(shù)據(jù)是否已經(jīng)被更新。具體地,當(dāng)0S執(zhí)行虛擬存儲(chǔ)器的 控制時(shí),CPU101通過下面的處理生成傳送指示信息107D。0S執(zhí)行的虛擬存儲(chǔ)器的控制的 時(shí)序可以是當(dāng)諸如30秒鐘的預(yù)定時(shí)間已經(jīng)逝去時(shí),當(dāng)執(zhí)行處理已經(jīng)被改變時(shí)(當(dāng)上下文切 換已經(jīng)完成時(shí)),當(dāng)某一中斷發(fā)生時(shí),等等。由0S執(zhí)行的虛擬存儲(chǔ)器的控制的時(shí)序取決于0S 的規(guī)范。
[0044] 首先,根據(jù)當(dāng)前實(shí)施例的CPU101掃描頁(yè)表81以便搜索其更新比特為"1"的條目。 CPU101根據(jù)相對(duì)應(yīng)的條目確定數(shù)據(jù)傳送目的地,并且搜索與該虛擬頁(yè)的條目號(hào)碼相匹配的 虛擬地址圖92、存儲(chǔ)器/文件對(duì)象93和物理存儲(chǔ)器圖94。
[0045] 結(jié)果,根據(jù)當(dāng)前實(shí)施例的CPU101以搜索的結(jié)果為基礎(chǔ),使用從與具有更新的數(shù)據(jù) 的物理頁(yè)相對(duì)應(yīng)的頁(yè)表81獲得的值,通過下面的計(jì)算公式等式(1)到等式(3)來生成傳送 指示信息107D的條目。
[0046] 主存儲(chǔ)開始地址=(物理頁(yè)號(hào)碼)x (頁(yè)尺寸) (1)
[0047] 其中,物理頁(yè)號(hào)碼指示在物理存儲(chǔ)器圖94的頂部由物理頁(yè)"vm_page"保持的物理 頁(yè)號(hào)碼,并且頁(yè)尺寸指示物理頁(yè)的尺寸值(例如,4096[字節(jié)])。
[0048] 保存單元開始扇區(qū)=(扇區(qū)號(hào)碼)(2)
[0049] 其中,扇區(qū)號(hào)碼指示在存儲(chǔ)器/文件對(duì)象93的存儲(chǔ)器中的扇區(qū)號(hào)碼列表的頂部處 的扇區(qū)號(hào)碼。
[0050] 傳送尺寸=(結(jié)束虛擬地址)-(開始虛擬地址) (3)
[0051] 其中,結(jié)束虛擬地址指示虛擬地址圖的結(jié)束虛擬地址,并且開始虛擬地址指示虛 擬地址圖的開始虛擬地址。
[0052] 按照這一方式,根據(jù)當(dāng)前實(shí)施例的CPU101使用RAM103中的數(shù)據(jù)更新的檢測(cè)作為 開始數(shù)據(jù)傳送的觸發(fā)。在檢測(cè)到RAM103中的數(shù)據(jù)更新時(shí),CPU101生成指定傳送數(shù)據(jù)在數(shù) 據(jù)傳送源中的存儲(chǔ)位置、傳送數(shù)據(jù)在數(shù)據(jù)傳送目的地中的存儲(chǔ)位置、數(shù)據(jù)傳送尺寸等等的 傳送指示信息107D。也就是說,在當(dāng)前實(shí)施例中,CPU101用作生成傳送指示信息107D的生 成單元(第一生成單元)。
[0053] 解釋返回到圖2。生成單元108 (第二生成單元)生成片段傳送指示信息108D。將 所生成的片段傳送指示信息108D存儲(chǔ)在生成單元108中的存儲(chǔ)區(qū)域(在下文中,"內(nèi)部存儲(chǔ) 區(qū)域")中。在從DMA控制器105接收到對(duì)由讀取地址指定的內(nèi)部存儲(chǔ)區(qū)域的參考請(qǐng)求時(shí), 生成單元108以存儲(chǔ)在傳送信息存儲(chǔ)單元107中的傳送指示信息107D為基礎(chǔ)來生成片段 傳送指示信息108D。換句話說,生成單元108以對(duì)于其已經(jīng)發(fā)出參考請(qǐng)求的讀取地址為基 礎(chǔ)來確定根據(jù)傳送信息存儲(chǔ)單元107中的哪一段傳送指示信息107D來生成片段傳送指示 信息108D。
[0054] 此時(shí),生成單元108根據(jù)DMA控制器105的規(guī)范由傳送指示信息107D的單個(gè)條目 生成多段片段傳送指示信息108D。具體地,生成單元108以根據(jù)DMA控制器105的規(guī)范的 數(shù)據(jù)尺寸為基礎(chǔ)來使傳送指示信息107D成為片段,以便生成多段片段傳送指示信息108D。 生成單元108確定在傳送信息存儲(chǔ)單元107中選擇傳送指示信息107D的哪一個(gè)條目。生 成單元108通過向選擇器電路輸入控制信號(hào)來控制傳送指示信息107D的條目選擇。
[0055] 本文解釋了根據(jù)當(dāng)前實(shí)施例由生成單元108生成的片段傳送指示信息108D。如圖 2所示,片段傳送指示信息108D包括諸如主存儲(chǔ)開始地址、保存單元開始扇區(qū)、傳送尺寸和 屬性值的信息字段,并且使用彼此相關(guān)聯(lián)的各自信息字段的字段值而被管理。
[0056] 主存儲(chǔ)開始地址代表數(shù)據(jù)傳送源的存儲(chǔ)位置信息。保存單元開始扇區(qū)代表數(shù)據(jù)傳 送目的地的存儲(chǔ)位置信息。傳送尺寸代表數(shù)據(jù)傳送尺寸信息。這些信息字段與傳送指示信 息107D中的信息字段相同。另一方面,屬性值是當(dāng)與傳送指示信息107D的一個(gè)條目相對(duì) 應(yīng)的傳送數(shù)據(jù)被形成片段時(shí)指示分段傳送數(shù)據(jù)的結(jié)束的信息(結(jié)束信息),并且是片段傳送 指示信息108D的信息字段。因?yàn)橐?guī)范在每一個(gè)DMA控制器105中不同,因此對(duì)于屬性值, 設(shè)置根據(jù)DMA控制器105的規(guī)范的值。
[0057] 片段傳送指示信息108D的結(jié)構(gòu)并不局限于此。圖2所示的結(jié)構(gòu)是一個(gè)示例,并且 它可以例如采用根據(jù)DMA控制器105的設(shè)備類型的結(jié)構(gòu),例如,陣列結(jié)構(gòu)和鏈結(jié)構(gòu)。
[0058] 例如,對(duì)于圖2所示的片段傳送指示信息108D,示出了根據(jù)傳送指示信息107D的 第一條目生成的片段傳送指示信息108D的示例。在當(dāng)前實(shí)施例中,示出了其中作為傳送指 示信息107D中的一個(gè)條目被管理的"0x2000" [字節(jié)]的傳送數(shù)據(jù)根據(jù)DMA控制器105被 以"0x1000"為單位進(jìn)行分段的示例。具體地,當(dāng)具有RAM103中的"0x80001000"的開始地 址的傳送數(shù)據(jù)被分段為兩段數(shù)據(jù)時(shí),將指示不是結(jié)束的屬性值"0x21"(非結(jié)束標(biāo)志)和指 示是結(jié)束的屬性值"0x23"(結(jié)束標(biāo)志)設(shè)置到片段數(shù)據(jù)的各自段。而且,示出了其中當(dāng)將 傳送數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)保存單元104中時(shí)保存單元開始扇區(qū)為"0x8000"的示例。
[0059] 按照這一方式,根據(jù)當(dāng)前實(shí)施例的生成單元108首先以DMA控制器105的規(guī)范為 基礎(chǔ)來確定傳送數(shù)據(jù)的片段尺寸、指示傳送數(shù)據(jù)的結(jié)束的屬性值等等。以下,生成單元108 根據(jù)傳送指示信息107D生成以對(duì)于其已經(jīng)發(fā)出參考請(qǐng)求的讀取地址為單位的片段傳送指 示信息108D。在傳送信息存儲(chǔ)單元107中提前設(shè)置確定傳送數(shù)據(jù)的分段單位、指示傳送數(shù) 據(jù)的結(jié)束的屬性值等等的DMA控制器105的規(guī)范,以便存儲(chǔ)在其中。因而,生成單元108以 傳送信息存儲(chǔ)單元107的設(shè)置信息為基礎(chǔ),根據(jù)DMA控制器105的規(guī)范,將傳送指示信息 107D分段為具有數(shù)據(jù)尺寸的段,以便生成片段傳送指示信息108D。生成單元108向已經(jīng)發(fā) 出參考請(qǐng)求的DMA控制器105輸出所生成的片段傳送指示信息108D作為讀取數(shù)據(jù)。
[0060] 傳送指示單元110執(zhí)行數(shù)據(jù)傳送設(shè)置、數(shù)據(jù)傳送指示、中斷控制等等。傳送指示單 元110通過設(shè)置當(dāng)向生成單元108發(fā)送參考請(qǐng)求時(shí)將被指定的讀取地址來執(zhí)行關(guān)于DMA控 制器105的數(shù)據(jù)傳送設(shè)置。從而,傳送指示單元110指示DMA控制器105執(zhí)行數(shù)據(jù)傳送。而 且,傳送指示單元110通過設(shè)置要在其中存儲(chǔ)傳送數(shù)據(jù)的扇區(qū)的開始號(hào)碼來執(zhí)行關(guān)于數(shù)據(jù) 保存單元104的數(shù)據(jù)傳送設(shè)置。傳送指示單元110以提前存儲(chǔ)在傳送設(shè)置存儲(chǔ)單元109中 的扇區(qū)號(hào)碼為基礎(chǔ)來執(zhí)行數(shù)據(jù)傳送設(shè)置。
[0061] 當(dāng)從DMA控制器105輸入中斷信號(hào)時(shí),傳送指示單元110以該輸入信號(hào)為基礎(chǔ)來 執(zhí)行中斷控制。傳送指示單元110根據(jù)提前存儲(chǔ)在傳送設(shè)置存儲(chǔ)單元109中的中斷處理過 程來執(zhí)行中斷控制。當(dāng)中斷控制完成時(shí),傳送指示單元110向生成單元108通知其完成。 傳送指示單元110例如當(dāng)從DMA控制器105輸入指示數(shù)據(jù)傳送完成的中斷信號(hào)時(shí)執(zhí)行關(guān)于 DMA控制器105的中斷控制,并且通知生成單元108數(shù)據(jù)傳送已經(jīng)完成。
[0062] 對(duì)此做出響應(yīng),生成單元108將傳送指示信息107D的參考主題從在生成片段傳送 指示信息108D時(shí)被參照的條目移動(dòng)到下一個(gè)條目,并且更新傳送指示信息107D的頂部。
[0063] 如所描述的,在當(dāng)前實(shí)施例中,在數(shù)據(jù)傳送時(shí)由CPU101執(zhí)行的處理僅是生成傳送 指示信息107D。因而,在根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理裝置100中,減少了在數(shù)據(jù)傳送時(shí)執(zhí)行 的CPU101的處理,并且不發(fā)生來自DMA控制器105的中斷。因此,能夠減少CPU101上的處 理負(fù)荷。
[0064] 根據(jù)上面描述的當(dāng)前實(shí)施例的數(shù)據(jù)處理功能由上面描述的與數(shù)據(jù)處理裝置100 協(xié)同操作的各自功能單元實(shí)現(xiàn)。在當(dāng)前實(shí)施例中,生成單元108和傳送指示單元110的各 自功能由與CPU101分開的設(shè)備實(shí)現(xiàn)。因此,根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理功能由傳送指示信 息生成功能(通過由CPU101執(zhí)行數(shù)據(jù)處理程序?qū)崿F(xiàn))以及生成單元108和傳送指示單元110 的各自功能(分別由協(xié)同操作的獨(dú)立設(shè)備實(shí)現(xiàn))實(shí)現(xiàn)。
[0065] 將數(shù)據(jù)處理程序提前安裝在將被提供的數(shù)據(jù)處理裝置100 (計(jì)算機(jī))中配備的 R0M102中,該數(shù)據(jù)處理裝置100是執(zhí)行環(huán)境。數(shù)據(jù)處理程序具有包括傳送指示信息生成 功能的各自功能單元的模塊結(jié)構(gòu),并且通過由CPU101從R0M102讀取將被執(zhí)行的程序,在 RAM103上生成各自功能單元。提供數(shù)據(jù)處理程序的方法并不局限于此。例如,可以采取其 中將數(shù)據(jù)處理器程序存儲(chǔ)在連接到互聯(lián)網(wǎng)的設(shè)備中并且經(jīng)過網(wǎng)絡(luò)進(jìn)行下載以便進(jìn)行分配 的方法。而且,也可以采取其中以將可安裝形式或者可執(zhí)行形式的文件記錄在能夠由將被 提供的數(shù)據(jù)處理裝置100讀取的記錄介質(zhì)中的方法。
[0066] 下面使用流程圖和序列圖來解釋數(shù)據(jù)處理功能的操作(各自功能單元的協(xié)同操 作)。
[0067] 數(shù)據(jù)處理時(shí)的操作
[0068] 圖5是表示根據(jù)當(dāng)前實(shí)施例在數(shù)據(jù)處理時(shí)的處理過程的示例的流程圖。如圖5所 示,在檢測(cè)到RAM103中的數(shù)據(jù)更新時(shí),CPU101在RAM103上生成用于傳送數(shù)據(jù)的傳送指示信 息107D (步驟S1),并且將所生成的傳送指示信息107D寫入到傳送信息存儲(chǔ)單元107 (步 驟 S2)。
[0069] 隨后,傳送指示單元110確定當(dāng)執(zhí)行到DAM控制器105的數(shù)據(jù)傳送時(shí)(當(dāng)從軟件發(fā) 出實(shí)際上開始數(shù)據(jù)傳送的指令時(shí))是否存在有效的傳送指示信息107D的一個(gè)或多個(gè)段(步 驟 S3)。
[0070] 結(jié)果,當(dāng)傳送指示單元110確定存在有效的傳送指示信息107D的一個(gè)或多個(gè)段 (步驟S3 :是)時(shí),傳送指示單元110執(zhí)行關(guān)于DMA控制器105的數(shù)據(jù)傳送設(shè)置,包括各種條 件的設(shè)置,例如當(dāng)向生成單元108發(fā)出參考請(qǐng)求時(shí)的讀取地址(步驟S4)。因而,當(dāng)在開始數(shù) 據(jù)傳送時(shí)DMA控制器105向生成單元108發(fā)出對(duì)于片段傳送指示信息108D的參考請(qǐng)求時(shí), 在讀取地址中指定的地址將是片段傳送指示信息108D的參考開始地址。而且,傳送指示單 元110在步驟S4執(zhí)行數(shù)據(jù)傳送設(shè)置,包括各種條件的設(shè)置,例如其中將傳送數(shù)據(jù)存儲(chǔ)在數(shù) 據(jù)保存單元104中的扇區(qū)的開始號(hào)碼。當(dāng)傳送指示單元110確定不存在有效的傳送指示信 息107D的一個(gè)或多個(gè)段(步驟S3 :否)時(shí),傳送指示單元110結(jié)束處理。
[0071] 生成單元108確定是否從DMA控制器105已經(jīng)發(fā)出對(duì)于片段傳送指示信息108D 的參考請(qǐng)求(步驟S5)。
[0072] 當(dāng)生成單元108確定已經(jīng)發(fā)出對(duì)于片段傳送指示信息108D的參考請(qǐng)求(步驟S5 : 是)時(shí),生成單元108以由CPU101生成的傳送指示信息107D為基礎(chǔ)來生成與對(duì)于其已經(jīng)發(fā) 出參考請(qǐng)求的地址相對(duì)應(yīng)的片段傳送指示信息108D (步驟S6)。具體地,生成單元108以 對(duì)于其已經(jīng)發(fā)出參考請(qǐng)求的讀取地址為基礎(chǔ)來確定根據(jù)傳送信息存儲(chǔ)單元107中的哪一 段傳送指示信息107生成片段傳送指示信息108D,并且生成數(shù)據(jù)。此時(shí),生成單元108根據(jù) DMA控制器105確定傳送數(shù)據(jù)的片段尺寸、指示傳送數(shù)據(jù)的結(jié)束的屬性值等等。以下,生成 單元108根據(jù)傳送指示信息107D的一個(gè)條目生成對(duì)于每一個(gè)讀取地址的片段傳送指示信 息108D,對(duì)于該讀取地址已經(jīng)發(fā)出參考請(qǐng)求。當(dāng)生成單元108確定還沒有發(fā)出對(duì)于片段傳 送指示信息108D的參考請(qǐng)求(步驟S5 :否)時(shí),生成單元108移動(dòng)到在步驟S5的處理以便 對(duì)于參考請(qǐng)求處于待機(jī)狀態(tài)中。
[0073] 接下來,生成單元108確定所生成的片段傳送指示信息108D是否已經(jīng)到達(dá)與生成 源的傳送指示信息107D的條目相對(duì)應(yīng)的傳送數(shù)據(jù)的結(jié)束(步驟S7)。換句話說,生成單元 108確定直到傳送數(shù)據(jù)的結(jié)束是否已經(jīng)執(zhí)行片段傳送指示信息108D的處理。
[0074] 結(jié)果,當(dāng)生成單元108確定所生成的片段傳送指示信息108D已經(jīng)到達(dá)與生成源的 傳送指示信息107D的條目相對(duì)應(yīng)的傳送數(shù)據(jù)的結(jié)束(步驟S7 :是)時(shí),生成單元108將結(jié)束 標(biāo)志的值設(shè)置到所生成的片段傳送指示信息108D的屬性值(步驟S8)。以下,生成單元108 將所生成的片段傳送指示信息108D輸出到發(fā)出參考請(qǐng)求的DMA控制器105 (步驟S9)。因 而,DMA控制器105能夠以對(duì)參考請(qǐng)求做出響應(yīng)而輸出的片段傳送指示信息108D的屬性值 為基礎(chǔ)來確定是否已經(jīng)獲取片段傳送指示信息108D的所有段。當(dāng)生成單元108確定所生 成的片段傳送指示信息108D還沒有到達(dá)與生成源的傳送指示信息107D的條目相對(duì)應(yīng)的傳 送數(shù)據(jù)的結(jié)束(步驟S7 :否)時(shí),生成單元108將非結(jié)束標(biāo)志的值設(shè)置到所生成的片段傳送 指示信息108D的屬性值,并且在步驟S9處執(zhí)行處理。
[0075] 傳送指示單元110確定是否從DMA控制器105已經(jīng)輸入指示數(shù)據(jù)傳送完成的中斷 信號(hào)(步驟S10)。DMA控制器105以從生成單元108輸出的片段傳送指示信息108D為基礎(chǔ) 來執(zhí)行到數(shù)據(jù)保存單元104的數(shù)據(jù)傳送。因而,DMA控制器105以片段傳送指示信息108D 的屬性值為基礎(chǔ)來確定是否已經(jīng)獲取片段傳送指示信息108D的所有段,并且當(dāng)完成數(shù)據(jù) 傳送時(shí)發(fā)出指示數(shù)據(jù)傳送完成的中斷信號(hào)。
[0076] 因此,當(dāng)傳送指示單元110確定DMA控制器105已經(jīng)輸入指示數(shù)據(jù)傳送完成的中 斷信號(hào)(步驟S10 :是)時(shí),傳送指示單元110執(zhí)行關(guān)于DMA控制器105的中斷控制(步驟 S11)。
[0077] 另一方面,當(dāng)傳送指示單元110確定DMA控制器105還沒有輸入指示數(shù)據(jù)傳送完 成的中斷信號(hào)(步驟S10 :否)時(shí),傳送指示單元110再次重復(fù)從步驟S5的處理。同時(shí),生成 單元108根據(jù)來自DMA控制器105的參考請(qǐng)求來生成片段傳送指示信息108D。生成單元 108以在先前的處理時(shí)對(duì)于其發(fā)出參考請(qǐng)求的地址之后的下一個(gè)地址為基礎(chǔ)來從DMA控制 器105接受參考請(qǐng)求。
[0078] 隨后,傳送指示單元110確定是否已經(jīng)完成與將被處理的傳送指示信息107D的一 個(gè)條目相對(duì)應(yīng)的數(shù)據(jù)傳送(步驟S12)。此時(shí),傳送指示單元110以由DMA控制器105輸入的 指示數(shù)據(jù)傳送完成的中斷信號(hào)為基礎(chǔ)來確定是否已經(jīng)完成數(shù)據(jù)傳送。數(shù)據(jù)傳送完成的中斷 信號(hào)包括指示是否已經(jīng)正常完成數(shù)據(jù)傳送的數(shù)據(jù)傳送的結(jié)果的數(shù)據(jù)(在下文中,"數(shù)據(jù)傳送 結(jié)果信息")。因此,傳送指示單元110以包括在指示數(shù)據(jù)傳送完成的中斷信號(hào)中的數(shù)據(jù)傳 送結(jié)果信息為基礎(chǔ)來確定是否已經(jīng)完成數(shù)據(jù)傳送。
[0079] 結(jié)果,當(dāng)傳送指示單元110確定已經(jīng)完成與將被處理的傳送指示信息107D的一個(gè) 條目相對(duì)應(yīng)的數(shù)據(jù)傳送(步驟S12 :是)時(shí),傳送指示單元110通知生成單元108數(shù)據(jù)傳送已 經(jīng)完成。對(duì)此做出響應(yīng),生成單元108將要被處理的傳送指示信息107D的條目(參考目的 地)移動(dòng)到下一個(gè)條目(步驟S13),并且更新傳送指示信息107D的頂部。以下,根據(jù)當(dāng)前實(shí) 施例的數(shù)據(jù)處理被再次移動(dòng)到步驟S3的處理,并且在存在有效的傳送指示信息107D時(shí)繼 續(xù)進(jìn)行。
[0080] 當(dāng)傳送指示單元110確定已經(jīng)完成與處理主題的傳送指示信息107D的一個(gè)條目 相對(duì)應(yīng)的數(shù)據(jù)傳送(步驟S12 :否)時(shí),傳送指示單元110執(zhí)行異常處理(步驟S14)。此時(shí)執(zhí) 行的異常處理包括到顯示屏的錯(cuò)誤顯示、通過電子郵件的錯(cuò)誤通知等等。
[0081] 數(shù)據(jù)傳送時(shí)的操作
[0082] 圖6是表示根據(jù)當(dāng)前實(shí)施例在數(shù)據(jù)傳送時(shí)的處理過程的示例的序列圖。在圖6中, 示出了在上面描述的數(shù)據(jù)處理中執(zhí)行的由DMA控制器105執(zhí)行的數(shù)據(jù)傳送的操作示例。
[0083] 如圖6所示,在CPU101檢測(cè)到RAM103中的數(shù)據(jù)更新時(shí)生成傳送指示信息107D并 且將所生成的傳送指示信息107D存儲(chǔ)在傳送信息存儲(chǔ)單元107中之后,執(zhí)行根據(jù)當(dāng)前實(shí)施 例的數(shù)據(jù)傳送。
[0084] 根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)傳送包括主要在圖6中示出的處理A和處理B。處理A對(duì) 于傳送指示信息107D的每一個(gè)條目被重復(fù)地執(zhí)行。處理B對(duì)于每一個(gè)分段的傳送數(shù)據(jù)在 處理A中被重復(fù)地執(zhí)行。
[0085] 在處理A中,在檢測(cè)到有效的傳送指示信息107D的存在時(shí),傳送指示單元110關(guān) 于數(shù)據(jù)保存單元104設(shè)置其中存儲(chǔ)有傳送數(shù)據(jù)的扇區(qū)的開始號(hào)碼,以便執(zhí)行數(shù)據(jù)傳送設(shè)置 (步驟S21)。
[0086] 隨后,在處理A中執(zhí)行處理B,并且當(dāng)檢測(cè)到與將被處理的傳送指示信息107D的一 個(gè)條目相對(duì)應(yīng)的數(shù)據(jù)傳送的完成時(shí),生成單元108被通知數(shù)據(jù)傳送的完成(步驟S22)。對(duì)此 做出響應(yīng),生成單元108將要被處理的傳送指示信息107D的條目移動(dòng)到下一個(gè)條目。
[0087] 如所描述的,對(duì)于傳送指示信息107D的每一個(gè)條目重復(fù)地執(zhí)行處理A,同時(shí)檢測(cè) 有效的傳送指示信息107D的存在。
[0088] 在處理B中,通過生成單元108、傳送指示單元110和DMA控制器105執(zhí)行下面的 處理。
[0089] 首先,傳送指示單元110關(guān)于DMA控制器105設(shè)置當(dāng)向生成單元108發(fā)出參考請(qǐng) 求時(shí)指定的讀取地址,以便執(zhí)行數(shù)據(jù)傳送設(shè)置(步驟S31)。隨后,DMA控制器105以所設(shè)置 的讀取地址為基礎(chǔ)來向生成單元108請(qǐng)求片段傳送指示信息108D的參考(步驟S32)。對(duì)此 做出響應(yīng),生成單元108以傳送指示信息107D為基礎(chǔ)來生成與對(duì)于其已經(jīng)請(qǐng)求參考的地址 相對(duì)應(yīng)的片段傳送指示信息108D,并且將所生成的片段傳送指示信息108D輸出到DMA控制 器105 (步驟S33)。
[0090] 結(jié)果,DMA控制器105控制與RAM103和數(shù)據(jù)保存單元104之間的數(shù)據(jù)傳輸路徑相 對(duì)應(yīng)的總線B (步驟S34),并且從而以片段傳送指示信息108D為基礎(chǔ)來執(zhí)行從RAM103到 數(shù)據(jù)保存單元104的數(shù)據(jù)傳送。此時(shí),DMA控制器105以片段傳送指示信息108D中的主存 儲(chǔ)開始地址、傳送尺寸和保存單元開始扇區(qū)為基礎(chǔ)來執(zhí)行從RAM103到數(shù)據(jù)保存單元104的 數(shù)據(jù)傳送。具體地,將位于RAM103中的主存儲(chǔ)開始地址處的具有所述傳送尺寸的數(shù)據(jù)傳送 到數(shù)據(jù)保存單元104并且寫入在保存單元開始扇區(qū)的位置處。
[0091] 當(dāng)數(shù)據(jù)傳送完成時(shí),DMA控制器105向傳送指示單元110發(fā)出指示數(shù)據(jù)傳送完成 的中斷信號(hào)(步驟S35)。此時(shí),DMA控制器105以片段傳送指示信息108D的屬性值為基礎(chǔ) 來發(fā)出指示數(shù)據(jù)傳送完成的中斷信號(hào)。具體地,當(dāng)屬性值是結(jié)束標(biāo)志的值時(shí),確定數(shù)據(jù)傳送 已經(jīng)完成,并且發(fā)出指示數(shù)據(jù)傳送完成的中斷信號(hào)。對(duì)此做出響應(yīng),傳送指示單元110執(zhí)行 關(guān)于DMA控制器105的中斷控制(步驟S36)。
[0092] 當(dāng)片段傳送指示信息108D的屬性值不是結(jié)束標(biāo)志的值時(shí),DMA控制器105不發(fā)出 指示數(shù)據(jù)傳送完成的中斷信號(hào)。因而,在處理B中,由傳送指示單元110重復(fù)地執(zhí)行到DMA 控制器105的數(shù)據(jù)傳送設(shè)置,直到完成具有在將被處理的傳送指示信息107D的條目中指定 的傳送尺寸的數(shù)據(jù)的傳送完成為止。結(jié)果,DMA控制器105重復(fù)數(shù)據(jù)傳送與分段數(shù)據(jù)的段 數(shù)一樣多的次數(shù)。
[0093] 如所描述的,在根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理中,與生成由CPU101執(zhí)行的傳送指示 信息107D的處理獨(dú)立地執(zhí)行諸如將被傳遞到DMA控制器105的片段傳送指示信息108D的 生成和到DMA控制器105的數(shù)據(jù)傳送的指示的處理。
[0094] 概述
[0095] 如所描述的,根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理裝置100,當(dāng)CPU101確定要求從RAM103 到數(shù)據(jù)保存單元104的數(shù)據(jù)傳送時(shí),CPU101生成指定傳送數(shù)據(jù)在數(shù)據(jù)傳送源中的存儲(chǔ)位 置、傳送數(shù)據(jù)在數(shù)據(jù)傳送目的地中的存儲(chǔ)位置、數(shù)據(jù)傳送尺寸等等的傳送指示信息107D。在 數(shù)據(jù)處理裝置100中,其功能由與CPU101分開的設(shè)備實(shí)現(xiàn)的生成單元108,根據(jù)DMA控制 器105的規(guī)范來生成通過將傳送指示信息107D分段為具有傳送數(shù)據(jù)尺寸的片段而獲得的 片段傳送指示信息108D。在數(shù)據(jù)處理裝置100中,其功能由與CPU101分開的設(shè)備實(shí)現(xiàn)的傳 送指示單元110,以片段傳送指示信息108D為基礎(chǔ)來指示DMA控制器105執(zhí)行數(shù)據(jù)傳送。
[0096] 因而,根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理裝置100使用與CPU101分開的設(shè)備實(shí)現(xiàn)將被傳 遞到DMA控制器105的片段傳送指示信息108D的生成、到DMA控制器105的數(shù)據(jù)傳送的指 示等等,并且提供一種系統(tǒng)以便在數(shù)據(jù)傳送時(shí)增強(qiáng)CPU101的獨(dú)立性。結(jié)果,在根據(jù)當(dāng)前實(shí) 施例的數(shù)據(jù)處理裝置100中,在數(shù)據(jù)傳送時(shí)CPU101的處理很少,并且不發(fā)生通過DMA控制 器105的中斷。因此,能夠減少CPU101上的處理負(fù)荷。
[0097] 盡管在上面描述的實(shí)施例中解釋了其中生成單元108和傳送指示單元110的各自 功能由與CPU101分開的設(shè)備的硬件邏輯實(shí)現(xiàn)(硬件的實(shí)現(xiàn))的一個(gè)示例,但是并不局限于 此。例如,生成單元108和傳送指示單元110的各自功能可以通過執(zhí)行程序(軟件)來實(shí)現(xiàn)。 如果生成單元108和傳送指示單元110的各自功能通過執(zhí)行程序來實(shí)現(xiàn),則優(yōu)選的是,考慮 CPU101上的處理負(fù)荷的減少來設(shè)計(jì)該程序。
[0098] 而且,盡管在上面描述的實(shí)施例中使用其中開始數(shù)據(jù)傳送的觸發(fā)(用于確定是否 要求數(shù)據(jù)傳送的標(biāo)準(zhǔn))是通過CPU101對(duì)RAM103中的數(shù)據(jù)更新的檢測(cè)的示例給出了解釋,但 是并不局限于此。例如,開始數(shù)據(jù)傳送的觸發(fā)可以是要求將數(shù)據(jù)從RAM103保存在數(shù)據(jù)保存 單元104中的條件,例如當(dāng)功率被關(guān)斷時(shí)或者當(dāng)它轉(zhuǎn)到休眠時(shí)。在這一情況下,在根據(jù)當(dāng)前 實(shí)施例的數(shù)據(jù)處理裝置100中,能夠在不對(duì)CPU施加處理負(fù)荷的情況下穩(wěn)定地將RAM103中 的數(shù)據(jù)保存到數(shù)據(jù)保存單元104中。因此,在根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理裝置100中,能夠 降低用于休眠處理(數(shù)據(jù)保存處理)的處理時(shí)間,并且能夠?qū)崿F(xiàn)處理的加速。
[0099] 而且,盡管在上面描述的實(shí)施例中,使用包括生成傳送指示信息107D的CPU101的 配置作為示例給出了解釋,但是并不局限于此。能夠?qū)⒏鶕?jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理裝置100 包括在參照由安裝在另一設(shè)備中的處理器生成的傳送指示信息107D以便實(shí)現(xiàn)數(shù)據(jù)處理功 能的系統(tǒng)中。
[0100] 根據(jù)當(dāng)前實(shí)施例的數(shù)據(jù)處理裝置,該數(shù)據(jù)處理裝置包括第一生成單元、第二生成 單元、傳送指示單元和傳送控制器。所述第一生成單元配置為當(dāng)該第一生成單元確定要求 從第一存儲(chǔ)單元到第二存儲(chǔ)單元的數(shù)據(jù)傳送時(shí)生成指定傳送數(shù)據(jù)在數(shù)據(jù)傳送源中的存儲(chǔ) 位置、傳送數(shù)據(jù)在數(shù)據(jù)傳送目的地中的存儲(chǔ)位置和數(shù)據(jù)傳送尺寸的傳送指示信息。所述第 二生成單元配置為生成通過將傳送指示信息分段為具有預(yù)定數(shù)據(jù)尺寸的片段而獲得的片 段傳送指示信息。傳送指示單元配置為以所述片段傳送指示信息為基礎(chǔ)來指示執(zhí)行數(shù)據(jù)傳 送。傳送控制器配置為根據(jù)數(shù)據(jù)傳送的指示來控制第一存儲(chǔ)單元和第二存儲(chǔ)單元之間的數(shù) 據(jù)傳送。因此,能夠減少CPU的處理負(fù)荷。
[0101] 盡管描述了某些實(shí)施例,但是僅通過示例的方式提供了這些實(shí)施例,并且并不意 在限制本發(fā)明的范圍。實(shí)際上,本文描述的新穎實(shí)施例可以體現(xiàn)在各種其它形式中;而且, 在不偏離本發(fā)明的精神的情況下,可以做出對(duì)本文描述的實(shí)施例的形式的各種省略、替換 和改變。所附權(quán)利要求及其等效形式意在涵蓋落在發(fā)明的精神內(nèi)的這樣的形式或修改。
【權(quán)利要求】
1. 一種數(shù)據(jù)處理裝置,包括: 第一生成單元,配置為當(dāng)所述第一生成單元確定要求從第一存儲(chǔ)單元到第二存儲(chǔ)單元 的數(shù)據(jù)傳送時(shí),生成指定傳送數(shù)據(jù)在數(shù)據(jù)傳送源中的存儲(chǔ)位置、所述傳送數(shù)據(jù)在數(shù)據(jù)傳送 目的地中的存儲(chǔ)位置和數(shù)據(jù)傳送尺寸的傳送指示信息; 第二生成單元,配置為生成通過將所述傳送指示信息分段為具有預(yù)定數(shù)據(jù)尺寸的片段 而獲得的片段傳送指示信息; 傳送指示單元,配置為以所述片段傳送指示信息為基礎(chǔ)來指示執(zhí)行數(shù)據(jù)傳送;以及 傳送控制器,配置為根據(jù)所述數(shù)據(jù)傳送的指示來控制所述第一存儲(chǔ)單元和所述第二存 儲(chǔ)單元之間的所述數(shù)據(jù)傳送。
2. 如權(quán)利要求1所述的裝置,其中: 當(dāng)所述第一生成單元以更新數(shù)據(jù)為基礎(chǔ)來檢測(cè)所述第一存儲(chǔ)單元中的數(shù)據(jù)更新時(shí),所 述第一生成單元確定要求從所述第一存儲(chǔ)單元到所述第二存儲(chǔ)單元的所述數(shù)據(jù)傳送,所述 更新數(shù)據(jù)包括在頁(yè)管理數(shù)據(jù)中并且指示物理頁(yè)的數(shù)據(jù)更新,在所述頁(yè)管理數(shù)據(jù)中,作為主 存儲(chǔ)單元的所述第一存儲(chǔ)單元的虛擬存儲(chǔ)器空間的虛擬頁(yè)和存儲(chǔ)器空間中的物理頁(yè)彼此 相關(guān)聯(lián)。
3. 如權(quán)利要求2所述的裝置,其中: 所述第一生成單元以與在其中數(shù)據(jù)被更新的所述物理頁(yè)相對(duì)應(yīng)的頁(yè)管理信息為基礎(chǔ) 來生成所述傳送指示信息。
4. 如權(quán)利要求1所述的裝置,其中: 所述第二生成單元根據(jù)所述傳送控制器的規(guī)范,通過將所述傳送指示信息分段為具有 所述數(shù)據(jù)尺寸的片段來生成所述片段傳送指示信息,并且將所生成的片段傳送指示信息輸 出到所述傳送控制器。
5. 如權(quán)利要求1所述的裝置,其中: 所述第一生成單元通過由處理器執(zhí)行軟件來實(shí)現(xiàn),并且 所述第二生成單元、所述傳送控制器和所述傳送指示單元中的至少一個(gè)通過與所述處 理器分離的硬件的實(shí)現(xiàn)來實(shí)現(xiàn)。
6. 如權(quán)利要求1所述的裝置,其中: 在從所述傳送控制器接收到對(duì)于所述片段傳送指示信息的參考請(qǐng)求時(shí),所述第二生成 單元以由所述傳送指示單元指定的地址為基礎(chǔ)來確定所述傳送指示信息將被分段。
7. 如權(quán)利要求1所述的裝置,其中: 所述傳送指示單元將當(dāng)由所述傳送控制器發(fā)出對(duì)于所述片段傳送指示信息的參考請(qǐng) 求時(shí)指定的地址設(shè)置到所述傳送控制器。
8. 如權(quán)利要求1所述的裝置,其中: 所述傳送控制器以包括在所述片段傳送指示信息中的結(jié)束信息為基礎(chǔ)來向所述傳送 指示單元發(fā)出指示數(shù)據(jù)傳送完成的中斷信號(hào),所述結(jié)束信息指示所述傳送數(shù)據(jù)的結(jié)束,并 且 所述傳送指示單元以從所述傳送控制器接收到的所述中斷信號(hào)為基礎(chǔ)來執(zhí)行關(guān)于所 述傳送控制器的中斷控制,并且通知所述第二生成單元所述數(shù)據(jù)傳送的完成。
9. 如權(quán)利要求1所述的裝置,其中: 所述第一生成單元、所述第二生成單元、所述傳送控制器和所述傳送指示單元通過分 別分開的硬件的實(shí)現(xiàn)來實(shí)現(xiàn)。
10. -種包括處理器的系統(tǒng),包括: 生成單元,配置為生成通過將當(dāng)所述處理器確定要求從第一存儲(chǔ)單元到第二存儲(chǔ)單元 的數(shù)據(jù)傳送時(shí)生成的傳送指示信息分段為具有預(yù)定數(shù)據(jù)尺寸的片段而獲得的片段傳送指 示信息,所述傳送指示信息指定傳送數(shù)據(jù)在數(shù)據(jù)傳送源中的存儲(chǔ)位置、所述傳送數(shù)據(jù)在數(shù) 據(jù)傳送目的地中的存儲(chǔ)位置和數(shù)據(jù)傳送尺寸; 傳送指示單元,配置為以所述片段傳送指示信息為基礎(chǔ)來指示執(zhí)行數(shù)據(jù)傳送;以及 傳送控制器,配置為根據(jù)所述數(shù)據(jù)傳送的指示來控制所述第一存儲(chǔ)單元和所述第二存 儲(chǔ)單元之間的所述數(shù)據(jù)傳送。
11. 一種數(shù)據(jù)處理方法,包括: 當(dāng)確定要求從第一存儲(chǔ)單元到第二存儲(chǔ)單元的數(shù)據(jù)傳送時(shí),生成指定傳送數(shù)據(jù)在數(shù)據(jù) 傳送源中的存儲(chǔ)位置、所述傳送數(shù)據(jù)在數(shù)據(jù)傳送目的地中的存儲(chǔ)位置和數(shù)據(jù)傳送尺寸的傳 送指示信息; 生成通過將所述傳送指示信息分段為具有預(yù)定數(shù)據(jù)尺寸的片段而獲得的片段傳送指 示信息; 以所述片段傳送指示信息為基礎(chǔ)來指示執(zhí)行數(shù)據(jù)傳送;并且 根據(jù)所述數(shù)據(jù)傳送的指示來控制所述第一存儲(chǔ)單元和所述第二存儲(chǔ)單元之間的所述 數(shù)據(jù)傳送。
12. -種在包括處理器的系統(tǒng)中執(zhí)行的數(shù)據(jù)處理方法,包括: 生成通過將當(dāng)所述處理器確定要求從第一存儲(chǔ)單元到第二存儲(chǔ)單元的數(shù)據(jù)傳送時(shí)生 成的傳送指示信息分段為具有預(yù)定數(shù)據(jù)尺寸的片段而獲得的片段傳送指示信息,所述傳送 指示信息指定傳送數(shù)據(jù)在數(shù)據(jù)傳送源中的存儲(chǔ)位置、所述傳送數(shù)據(jù)在數(shù)據(jù)傳送目的地中的 存儲(chǔ)位置和數(shù)據(jù)傳送尺寸; 以所述片段傳送指示信息為基礎(chǔ)來指示執(zhí)行數(shù)據(jù)傳送;并且 根據(jù)所述數(shù)據(jù)傳送的指示來控制所述第一存儲(chǔ)單元和所述第二存儲(chǔ)單元之間的所述 數(shù)據(jù)傳送。
【文檔編號(hào)】G06F13/28GK104123251SQ201410087786
【公開日】2014年10月29日 申請(qǐng)日期:2014年3月11日 優(yōu)先權(quán)日:2013年4月26日
【發(fā)明者】后藤真孝, 菅澤延彥, 小林優(yōu)太, 村井信哉 申請(qǐng)人:株式會(huì)社東芝