两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種數(shù)據(jù)處理方法及裝置的制造方法

文檔序號:8472824閱讀:230來源:國知局
一種數(shù)據(jù)處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法及裝置。
【背景技術(shù)】
[0002]隨著圖形界面應(yīng)用的發(fā)展,之前內(nèi)存容量較小(K的數(shù)量級)的物理內(nèi)存已無法匹配程序的規(guī)模;針對該問題,一種解決方案是將程序分割成小塊,依次調(diào)入內(nèi)存,但這一方案實現(xiàn)復(fù)雜,效率較低;另一種解決方案是采用虛擬內(nèi)存,這樣,數(shù)據(jù)、堆棧的總的大小可以超過物理存儲器的大小,操作系統(tǒng)將當前使用的部分數(shù)據(jù)保留在內(nèi)存中,而將其他未被使用的部分數(shù)據(jù)保存在磁盤上,數(shù)據(jù)讀取過程中的地址映射和內(nèi)存訪問控制是由內(nèi)存管理單兀(Memory Management Unit, MMU)實現(xiàn)的。
[0003]MMU在進行地址映射和內(nèi)存訪問控制時,程序訪問存儲器所使用的邏輯地址為虛擬地址(Virtual Address, VA),存儲器中存儲單元對應(yīng)的實際地址為物理地址(PhysicalAddress, PA);如果中央處理器(CPU, Central Processing Unit)集成了 MMU, CPU 發(fā)出的VA將被MMU截獲,MMU將VA轉(zhuǎn)換成PA,并將PA發(fā)送到CPU芯片的外部地址引腳上,也即將VA映射成PA,如圖1所示;
[0004]高級精簡指令集機器(Advanced RISC Machine, ARM)的MMU集成在CP15協(xié)處理器中,CP15協(xié)處理器的所有操作都是基于CPU寄存器和CP15寄存器之間交換數(shù)據(jù)來完成的;在ARM體系結(jié)構(gòu)下,由VA到PA的映射通常是通過兩級查表(Translat1n Table Walk)來完成的。如圖2所示,為兩級查表的過程示意圖,第一級和第二級頁表的頁大小分別為IM和4KB,其中,VA占用32位,VA[31:20]為第一級頁表的索弓I,VA[19:12]為第二級頁表的索引,VA[11:0]為頁內(nèi)偏移量;CP15協(xié)處理器的轉(zhuǎn)換表基址(Translat1n Table Base,TTB)寄存器中保存著第一級頁表的基地址(這里的基地址為物理地址),第一級頁表是根據(jù)該基地址保存在物理內(nèi)存中的,之后,以VA[31:20]為索引在第一級頁表中查出一個頁表項,該頁表項中保存著第二級頁表的基地址,第二級頁表是根據(jù)該基地址保存在物理內(nèi)存中的,再之后,以VA[19:12]為索引,在第二級頁表中查出一個頁表項,該頁表項中保存著物理頁面的基地址,最后,根據(jù)該物理頁面的基地址以及頁內(nèi)偏移量VA[11:0]就可以得到具體的PA;
[0005]上述頁表項不僅保存著物理頁面的基地址,還保存著權(quán)限位和是否允許緩存的標志,因此,除上述地址映射步驟外,在CPU請求讀取數(shù)據(jù)的過程中,MMU還需要執(zhí)行另外兩個步驟,分別是權(quán)限位檢驗和是否允許緩存檢驗,其中,權(quán)限位檢驗就是檢查是否有訪問權(quán)限,如果沒有訪問權(quán)限,就通知CPU訪問異常,是否允許緩存檢驗是檢驗數(shù)據(jù)是否允許緩存;如果允許緩存,則從緩存中查找需要讀取的數(shù)據(jù),否則,執(zhí)行從物理內(nèi)存讀取數(shù)據(jù)的過程;
[0006]在現(xiàn)有技術(shù)中,上述內(nèi)存訪問的三個步驟是串行執(zhí)行的,也就是在CPU發(fā)出數(shù)據(jù)請求后,MMU依次執(zhí)行上述三個步驟,在第三個步驟執(zhí)行完畢后,再處理接下來的數(shù)據(jù)請求,執(zhí)行效率較低,成為虛擬內(nèi)存應(yīng)用的效率瓶頸。

【發(fā)明內(nèi)容】

[0007]本發(fā)明實施例提供一種數(shù)據(jù)處理方法及裝置,用以解決現(xiàn)有的內(nèi)存訪問過程中,各訪問步驟串行執(zhí)行,導(dǎo)致訪問效率較低的問題。
[0008]本發(fā)明實施例提供的一種數(shù)據(jù)處理方法,包括:
[0009]確定流水線中的地址映射階段的工作執(zhí)行完畢;所述流水線用于為中央處理器CPU提供數(shù)據(jù)讀取服務(wù),包括地址映射、權(quán)限位檢驗和是否允許緩存檢驗三個順次執(zhí)行的工作階段;
[0010]從流水線等待隊列中取出一條數(shù)據(jù)請求消息,并將取出的所述數(shù)據(jù)請求消息放入所述流水線中進行處理;所述流水線等待隊列用于存儲所述CPU發(fā)送的數(shù)據(jù)請求消息。
[0011 ] 可選地,所述方法還包括:
[0012]在接收到所述CPU發(fā)出的數(shù)據(jù)請求消息后,將所述數(shù)據(jù)請求消息放入所述流水線等待隊列末尾。
[0013]可選地,確定流水線中的地址映射階段的工作執(zhí)行完畢,包括:
[0014]確定多條流水線中至少一條流水線中的地址映射階段的工作執(zhí)行完畢;
[0015]從流水線等待隊列中取出一條數(shù)據(jù)請求消息,并將取出的所述數(shù)據(jù)請求消息放入所述流水線中進行處理,包括:
[0016]從流水線等待隊列中取出一條數(shù)據(jù)請求消息,并將取出的所述數(shù)據(jù)請求消息放入所述至少一條流水線中的任意一條流水線中進行處理。
[0017]可選地,所述數(shù)據(jù)請求消息包括:所述CPU所請求的數(shù)據(jù)的虛擬地址VA。
[0018]可選地,所述方法還包括:
[0019]若所述流水線輸出的處理結(jié)果為不允許緩存,則根據(jù)將所述VA進行地址映射后的物理地址PA,從物理內(nèi)存中讀取數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送給所述CPU ;
[0020]若所述流水線輸出的處理結(jié)果為允許緩存,則根據(jù)所述VA,從緩存中查找數(shù)據(jù),若在所述緩存中查找到了數(shù)據(jù),則將查找到的所述數(shù)據(jù)發(fā)送給所述CPU,若沒有在所述緩存中查找到數(shù)據(jù),則根據(jù)將所述VA進行地址映射后的PA,從物理內(nèi)存中讀取數(shù)據(jù),將讀取的數(shù)據(jù)寫入所述緩存中,并將讀取的數(shù)據(jù)發(fā)送給所述CPU。
[0021]本發(fā)明實施例提供的一種數(shù)據(jù)處理裝置,包括:
[0022]確定模塊,用于確定流水線中的地址映射階段的工作已執(zhí)行完畢;所述流水線用于為中央處理器CPU提供數(shù)據(jù)讀取服務(wù),包括地址映射、權(quán)限位檢驗和是否允許緩存檢驗三個順次執(zhí)行的工作階段;
[0023]處理模塊,用于在流水線等待隊列中取出一條數(shù)據(jù)請求消息,并將取出的所述數(shù)據(jù)請求消息放入所述流水線中進行處理;所述流水線等待隊列用于存儲所述CPU發(fā)送的數(shù)據(jù)請求消息。
[0024]可選地,所述處理模塊還用于:
[0025]在接收到所述CPU發(fā)出的數(shù)據(jù)請求消息后,將所述數(shù)據(jù)請求消息放入所述流水線等待隊列末尾。
[0026]可選地,所述確定模塊具體用于:
[0027]確定多條流水線中至少一條流水線中的地址映射階段的工作執(zhí)行完畢;
[0028]所述處理模塊具體用于:
[0029]從流水線等待隊列中取出一條數(shù)據(jù)請求消息,并將取出的所述數(shù)據(jù)請求消息放入所述至少一條流水線中的任意一條流水線中進行處理。
[0030]可選地,所述數(shù)據(jù)請求消息包括:所述CPU所請求的數(shù)據(jù)的虛擬地址VA。
[0031 ] 可選地,所述處理模塊還用于:
[0032]若所述流水線輸出的處理結(jié)果為不允許緩存,則根據(jù)將所述VA進行地址映射后的物理地址PA,從物理內(nèi)存中讀取數(shù)據(jù),并將讀取的數(shù)據(jù)發(fā)送給所述CPU ;若所述流水線輸出的處理結(jié)果為允許緩存,則根據(jù)所述VA,從緩存中查找數(shù)據(jù),若在所述緩存中查找到了數(shù)據(jù),則將查找到的所述數(shù)據(jù)發(fā)送給所述CPU,若沒有在所述緩存中查找到數(shù)據(jù),則根據(jù)將所述VA進行地址映射后的PA,從物理內(nèi)存中讀取數(shù)據(jù),將讀取的數(shù)據(jù)寫入所述緩存中,并將讀取的數(shù)據(jù)發(fā)送給所述CPU。
[0033]本發(fā)明實施例中引入流水線為CPU提供數(shù)據(jù)讀取服務(wù),在確定流水線中的地址映射階段的工作執(zhí)行完畢后,在用于存儲該CPU發(fā)送的數(shù)據(jù)請求消息的流水線等待隊列中取出一條數(shù)據(jù)請求消息,并將取出的數(shù)據(jù)請求消息放入所述流水線中進行處理;采用本發(fā)明實施例,可以在地址映射階段的工作執(zhí)行完畢后即開始同時處理下一條數(shù)據(jù)請求消息,而不必等到地址映射、權(quán)限位檢驗和是否允許緩存檢驗三個階段的工作都執(zhí)行完畢后才開始處理下一條數(shù)據(jù)請求消息,從而可以有效提高數(shù)據(jù)讀取的執(zhí)行效率。
【附圖說明】
[0034]圖1為本發(fā)明實施例提供的地址映射示意圖;
[0035]圖2為兩級查表的過程示意圖;
[0036]圖3為本發(fā)明實施例一提供的數(shù)據(jù)處理方法流程圖;
[0037]圖4為本發(fā)明實施例中的流水線各工作階段示意圖;
[0038]圖5為流水線中不同工作階段并發(fā)執(zhí)行的示意圖;
[0039]圖6為本發(fā)明實施例二提供的引入流水線技術(shù)的數(shù)據(jù)處理方法流程圖;
[0040]圖7為本發(fā)明實施例三提供的引入超標量和流水線技術(shù)的數(shù)據(jù)處理方法流程圖;
[0041]圖8為本發(fā)明實施例提供的數(shù)據(jù)處理裝置結(jié)構(gòu)示意圖。
【具體實施方式】
[0042]本發(fā)明實施例中弓丨入流水線為CPU提供數(shù)據(jù)讀取服務(wù),在確定流水線中的地址映射階段的工作執(zhí)行完畢后,在用于存儲該CPU發(fā)送的數(shù)據(jù)請求消息的流水線等待隊列中取出一條數(shù)據(jù)請求消息,并將取出的數(shù)據(jù)請求消息放入所述流水線中進行處理;采用本發(fā)明實施例,可以在地址映射階段的工作執(zhí)行完畢后即開始同時處理下一條數(shù)據(jù)請求消息,而不必等到地址映射、權(quán)限位檢驗和是否允許緩存檢驗三個階段的工作都執(zhí)行完畢后才開始處理下
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
西华县| 古蔺县| 洛隆县| 木里| 高邮市| 泾阳县| 黄石市| 伊川县| 鹤岗市| 保定市| 民权县| 长治县| 黄石市| 铜鼓县| 怀来县| 长葛市| 息烽县| 大姚县| 永宁县| 安远县| 修水县| 平顶山市| 响水县| 吉林省| 郯城县| 大宁县| 平泉县| 大余县| 辛集市| 兰州市| 遵义县| 营口市| 长宁县| 六安市| 阜阳市| 峨边| 二连浩特市| 克山县| 香格里拉县| 泰州市| 南昌县|