国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于應(yīng)用的動(dòng)態(tài)異構(gòu)多核系統(tǒng)和方法與流程

      文檔序號(hào):12271263閱讀:295來(lái)源:國(guó)知局
      基于應(yīng)用的動(dòng)態(tài)異構(gòu)多核系統(tǒng)和方法與流程

      本發(fā)明涉及用于應(yīng)用加速的基于應(yīng)用的動(dòng)態(tài)異構(gòu)多核系統(tǒng)。



      背景技術(shù):

      可以通過(guò)使用不同的處理機(jī)制(如多核處理系統(tǒng))加速在集成電路上實(shí)現(xiàn)的應(yīng)用和任務(wù),多核處理系統(tǒng)是具有多個(gè)處理核的大規(guī)模多CPU并行處理系統(tǒng)。然后可以由多于一個(gè)的核處理器并行地處理應(yīng)用以便提高處理速度。使用這種多核結(jié)構(gòu)的典型加速操作需要在軟件和軟邏輯協(xié)同設(shè)計(jì)中的重大投入。高層次設(shè)計(jì)(HLD)技術(shù)可以部分地橋接軟件到邏輯設(shè)計(jì)缺口,但是通常要求具有專(zhuān)門(mén)用于服務(wù)某些應(yīng)用需求的固定核的系統(tǒng)。

      例如,一些固定的電流設(shè)計(jì)可以提供均勻的或固定的異構(gòu)多核平臺(tái),但是這些設(shè)計(jì)不可擴(kuò)展。一些可再編程系統(tǒng)可以提供可擴(kuò)展的設(shè)計(jì)以在所需的基礎(chǔ)上添加處理核,例如通過(guò)可再編程FPGA利用具有加速處理節(jié)點(diǎn)的固定異構(gòu)架構(gòu)的所需要的應(yīng)用特定的高性能平臺(tái)的潛在建立進(jìn)行擴(kuò)展。然而,這些可擴(kuò)展解決方案可能不迎合需要定制軟件解決方案來(lái)管理動(dòng)態(tài)系統(tǒng)中的核的場(chǎng)景。

      工業(yè)中存在的用于應(yīng)用加速的其他解決方案和設(shè)計(jì)可以包括多核通信應(yīng)用編程接口(MCAPI)、消息傳遞接口(MPI)以及開(kāi)放多處理(OpenMP)。所有這些系統(tǒng)采取關(guān)注于在已知核之間的通信的固定多核系統(tǒng),從而使得特定的分配任務(wù)可以映射到已知的固定核中,而不是解決管理動(dòng)態(tài)多核系統(tǒng)設(shè)計(jì)的需求。因此,這些系統(tǒng)不能夠動(dòng)態(tài)地改變用于應(yīng)用加速的可用并行處理核。



      技術(shù)實(shí)現(xiàn)要素:

      根據(jù)本發(fā)明的實(shí)施例,介紹用于基于應(yīng)用需求動(dòng)態(tài)地映射不同并行處理核的方法和系統(tǒng)。

      因此,根據(jù)本發(fā)明的實(shí)施例,提供一種用于基于應(yīng)用的需求動(dòng)態(tài)地配置多個(gè)處理器的方法。該方法包括從應(yīng)用接收包括要被加速的任務(wù)的加速請(qǐng)求消息。該方法進(jìn)一步包括確定該任務(wù)的類(lèi)型并且搜索可用加速器數(shù)據(jù)庫(kù)以基于該任務(wù)的該類(lèi)型動(dòng)態(tài)地選擇第一加速器。該方法進(jìn)一步包括將加速請(qǐng)求消息發(fā)送至位于可配置處理電路處的第一加速接口。第一加速接口將加速請(qǐng)求消息發(fā)送至第一加速器,并且第一加速器一旦接收到加速請(qǐng)求消息就加速該任務(wù)。

      根據(jù)本發(fā)明的另一個(gè)實(shí)施例,提供一種用于基于應(yīng)用的需求動(dòng)態(tài)地配置多個(gè)核的異構(gòu)多核加速(HMA)系統(tǒng)。該系統(tǒng)包括處理器子系統(tǒng),該處理器子系統(tǒng)包括隊(duì)列管理單元和調(diào)度器。隊(duì)列管理單元從應(yīng)用中接收包括要被加速的任務(wù)的加速請(qǐng)求消息并且確定該任務(wù)的類(lèi)型。調(diào)度器基于任務(wù)的類(lèi)型搜索可用加速器數(shù)據(jù)庫(kù)以基于該任務(wù)的類(lèi)型動(dòng)態(tài)地選擇第一加速器。該系統(tǒng)進(jìn)一步包括可配置處理電路??膳渲锰幚黼娐钒ǖ谝患铀俳涌诤偷谝患铀倨鳎摰谝患铀俳涌趶恼{(diào)度器接收加速請(qǐng)求消息并且當(dāng)?shù)谝患铀倨骺捎脮r(shí)將加速請(qǐng)求消息發(fā)送至第一加速器,而第一加速器一旦接收到加速請(qǐng)求消息就加速該任務(wù)。

      根據(jù)本發(fā)明的另一個(gè)實(shí)施例,提供一種存儲(chǔ)用于基于應(yīng)用的需求動(dòng)態(tài)地配置多個(gè)核的處理器可執(zhí)行指令的處理器可讀非瞬態(tài)介質(zhì)。該處理器可執(zhí)行指令包括可由處理器執(zhí)行以從應(yīng)用接收包括要被加速的任務(wù)的加速請(qǐng)求消息的指令。該處理器可執(zhí)行指令進(jìn)一步包括可由處理器執(zhí)行以確定該任務(wù)的類(lèi)型的指令。該處理器可執(zhí)行指令進(jìn)一步包括可由處理器執(zhí)行以搜索可用加速器數(shù)據(jù)庫(kù)從而基于該任務(wù)的類(lèi)型動(dòng)態(tài)地選擇第一加速器的指令。該處理器可執(zhí)行指令進(jìn)一步包括可由處理器執(zhí)行以將該加速請(qǐng)求消息發(fā)送至位于可配置處理電路處的第一加速接口的指令。第一加速接口將加速請(qǐng)求消息發(fā)送至第一加速器。第一加速器一旦接收到該加速請(qǐng)求消息就加速該任務(wù)。

      附圖說(shuō)明

      考慮到以下結(jié)合附圖的詳細(xì)描述,本發(fā)明的進(jìn)一步特征、其性質(zhì)以及各種優(yōu)點(diǎn)將顯而易見(jiàn),其中,相同的參考符號(hào)貫穿全文指代相同的部件,并且在附圖中:

      圖1示出圖示說(shuō)明在異構(gòu)多核加速(HMA)系統(tǒng)處處理應(yīng)用加速請(qǐng)求的方面的示例框圖;

      圖2示出圖示說(shuō)明HMA系統(tǒng)的示例架構(gòu)的示例框圖;

      圖3示出圖示說(shuō)明在圖2中示出的HMA系統(tǒng)內(nèi)的針對(duì)隊(duì)列管理器203和調(diào)度器204的數(shù)據(jù)流以啟用單個(gè)應(yīng)用訪(fǎng)問(wèn)接口的示例流圖;

      圖4示出圖示說(shuō)明在圖2中示出的HMA系統(tǒng)內(nèi)的用于通過(guò)部分重新配置(PR)的加速器的虛擬擴(kuò)展的數(shù)據(jù)流的示例流圖;

      圖5示出圖示說(shuō)明在圖2至圖4中示出的HMA系統(tǒng)中的應(yīng)用加速的基于應(yīng)用的動(dòng)態(tài)配置的方面的示例邏輯流圖;

      圖6示出圖示說(shuō)明HMA硬件子系統(tǒng)600的硬件架構(gòu)的示例框圖;

      圖7和圖8示出圖示說(shuō)明HMA部件的硬件架構(gòu)(例如,HMA構(gòu)建塊)的示例框圖;

      圖9呈現(xiàn)磁性數(shù)據(jù)存儲(chǔ)介質(zhì)900的橫截面,該磁性數(shù)據(jù)存儲(chǔ)介質(zhì)900可以通過(guò)用于執(zhí)行根據(jù)本發(fā)明實(shí)施例的方法的機(jī)器可執(zhí)行程序編碼;以及

      圖10示出光可讀數(shù)據(jù)存儲(chǔ)介質(zhì)1010的橫截面,該光可讀數(shù)據(jù)存儲(chǔ)介質(zhì)可以通過(guò)用于執(zhí)行根據(jù)本發(fā)明實(shí)施例的方法的機(jī)器可執(zhí)行程序編碼。

      具體實(shí)施方式

      除非另外指出,否則以下的討論將基于如現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)的可編程集成電路器件的示例。然而,應(yīng)注意的是,在此披露的主題可以用于任何種類(lèi)的固定的或可編程的器件,包括但不限于專(zhuān)用集成電路(ASIC)。

      在本發(fā)明的一些實(shí)施例中,以下的討論描述了異構(gòu)核管理系統(tǒng),該異構(gòu)核管理系統(tǒng)包括存儲(chǔ)應(yīng)用任務(wù)的隊(duì)列管理器、提取軟件-硬件通信信道的調(diào)度器以及接收和/或發(fā)射應(yīng)用構(gòu)造的加速消息的加速器接口。異構(gòu)核管理系統(tǒng)可以使軟件層能夠基于應(yīng)用需求動(dòng)態(tài)地配置一組并行處理核。軟件層還可能依賴(lài)與一組預(yù)定義的硬件構(gòu)建塊(具有系統(tǒng)存儲(chǔ)器管理單元(SMMU))的通信,這些硬件構(gòu)件塊可以與軟處理核動(dòng)態(tài)地組合以便加速。軟件設(shè)計(jì)然后可以關(guān)注于通過(guò)自維持動(dòng)態(tài)多核系統(tǒng)管理解決在動(dòng)態(tài)多核系統(tǒng)內(nèi)的應(yīng)用問(wèn)題。

      在本發(fā)明的一些實(shí)施例中,以下的討論描述了一種系統(tǒng),該系統(tǒng)在不需要管理底部硬件的情況下提供應(yīng)用加速/處理。這個(gè)特征可以通過(guò)啟用硬件管理系統(tǒng)不可知應(yīng)用抽象層(hardware-management-system-agnostic application abstraction layer)來(lái)實(shí)現(xiàn)。所描述的系統(tǒng)可以啟用應(yīng)用驅(qū)動(dòng)的并行處理核,其中,核的架構(gòu)是由應(yīng)用需求定義的。所描述的系統(tǒng)進(jìn)一步允許對(duì)一組預(yù)定義的并行處理核的跨應(yīng)用的動(dòng)態(tài)負(fù)載均衡,并且實(shí)現(xiàn)通用處理核、通用操作系統(tǒng)(OS)和固定功能硬件(HW)互操作性。

      在本發(fā)明的一些實(shí)施例中,貫穿本申請(qǐng)的討論描述的系統(tǒng)可以在包含可編程邏輯塊陣列的可配置處理電路上實(shí)現(xiàn)??删幊踢壿媺K陣列可以被配置并且被編程以由可重新配置互連單元互連??删幊踢壿媺K可以被配置成主管各種處理器或者其他邏輯部件以執(zhí)行各種邏輯、組合或處理功能。例如,各種處理器(如通用處理器、專(zhuān)用處理器或其他軟微控制器)可以嵌入或合成于可配置處理電路上,并且可配置處理電路可以被配置或被編程以基于應(yīng)用需求(例如,由應(yīng)用發(fā)送的應(yīng)用加速請(qǐng)求消息)動(dòng)態(tài)地選擇和/或占用一個(gè)或多個(gè)處理器和/或使用邏輯合成虛擬地添加或移除處理器。由于處理器或軟處理器被動(dòng)態(tài)地選擇或合成,所以不需要應(yīng)用與特定的處理器或軟處理器之間的預(yù)定義的或預(yù)先固定的關(guān)系。

      圖1示出圖示說(shuō)明在異構(gòu)多核加速(HMA)系統(tǒng)處處理應(yīng)用加速請(qǐng)求的方面的示例框圖。如圖1中所示,各種軟件應(yīng)用105a-n可以在計(jì)算設(shè)備和/或系統(tǒng)(如但不限于個(gè)人計(jì)算機(jī)、工作站、服務(wù)器和/或諸如此類(lèi))上運(yùn)行。各種軟件應(yīng)用105a-n可以將加速消息107a-n發(fā)送至系統(tǒng)處理器以加速任務(wù)。例如,郵件應(yīng)用105a可以針對(duì)郵件“發(fā)送/接收”請(qǐng)求發(fā)送加速消息107a;MP3播放器105b可以發(fā)送加速消息107b以請(qǐng)求MP3編碼/解碼;或者游戲應(yīng)用105n可以針對(duì)實(shí)時(shí)數(shù)據(jù)加密/解密發(fā)送加速消息107n,和/或諸如此類(lèi)。例如,位于工作站、服務(wù)器和/或諸如此類(lèi)處的HMA系統(tǒng)110可以接收并處理這種加速消息107a-n。HMA系統(tǒng)110包括多個(gè)處理器111a-n(如通用處理器、專(zhuān)用處理器和/或諸如此類(lèi))以處理加速消息107a-n。

      圖2圖示說(shuō)明HMA系統(tǒng)的示例架構(gòu)的示例框圖。HMA系統(tǒng)200可以包括可以是系統(tǒng)的主核的硬處理器201以及可配置處理電路(如FPGA 202)。硬處理器201可以包括用于應(yīng)用消息隊(duì)列管理的隊(duì)列管理器203以及用于處理到HMA軟件調(diào)度單元的請(qǐng)求的調(diào)度器204。隊(duì)列管理器203可以管理存儲(chǔ)軟件消息的軟件消息隊(duì)列,這些消息隊(duì)列例如由多核通信應(yīng)用程序接口(MCAPI)軟件層構(gòu)建。調(diào)度器204可以充當(dāng)應(yīng)用與加速器之間的消息網(wǎng)關(guān),例如,保持HMA狀態(tài)的追蹤并且將軟件請(qǐng)求映射至由HMA提供的功能的軟件資源管理單元。

      FPGA 202包括多個(gè)HMA接口205a-e,這些接口是調(diào)度器204的用于將工作分配給加速器引擎的硬件接口,這些加速器引擎提供與分配的工作相似的功能。HMA接口205a-e可以解析任務(wù)并將其路由至可用的加速器,例如,充當(dāng)保持各個(gè)加速器引擎狀態(tài)的追蹤的硬件資源管理單元。FPGA可以包括各種各樣的加速器,如通用嵌入式處理器206或更專(zhuān)用的嵌入式處理器207、開(kāi)放運(yùn)算語(yǔ)言(OpenCL)處理器208、專(zhuān)用指令集(ASIP)處理器209、固定功能(FF)塊211和/或諸如此類(lèi)。出于電路設(shè)計(jì)目的,每個(gè)加速器可以是顏色編碼的或者由電路圖中的任何其他種類(lèi)的唯一標(biāo)識(shí)來(lái)進(jìn)行標(biāo)識(shí)從而使得電路圖可以展示不同的加速器。可以基于加速器的類(lèi)型針對(duì)HMA接口的類(lèi)型注冊(cè)加速器。例如,HMA接口205a-e可以均與加速器的顏色編碼接合,如分別在塊205a-e和206、207、208、209、211的匹配模式中所示。

      圖3示出圖示說(shuō)明在圖2中示出的HMA系統(tǒng)內(nèi)的針對(duì)隊(duì)列管理器203和調(diào)度器204的數(shù)據(jù)流以啟用單個(gè)應(yīng)用訪(fǎng)問(wèn)接口的示例流圖。軟件應(yīng)用可以決定需要被加速的功能,并且然后根據(jù)不同的應(yīng)用構(gòu)建加速消息215a-c。應(yīng)用加速消息215a-c然后可以被發(fā)送至隊(duì)列管理器203(例如,如在箭頭301處所示)以及接收、響應(yīng)或?qū)?yīng)用加速消息215a-c進(jìn)行排隊(duì)的軟件消息控制和排隊(duì)單元。隊(duì)列管理器203中的每個(gè)隊(duì)列標(biāo)識(shí)有且對(duì)應(yīng)于其加速功能。加速功能的示例可以包括但不限于加密、解密、MP3編碼、MP3解碼和/或諸如此類(lèi)。功能還可以是OpenCL內(nèi)核定義的。

      在進(jìn)一步的實(shí)現(xiàn)方式中,緊密分布的核處理器230可以共享在硬處理器201中的隊(duì)列管理器203。例如,分布式核處理器230可以經(jīng)由共享系統(tǒng)總線(xiàn)220(例如,外設(shè)部件互連(PCI)、快速外設(shè)部件互連(PCIe)、高級(jí)微控制器總線(xiàn)架構(gòu)(AMBA)、網(wǎng)絡(luò)接口等)與隊(duì)列管理器203連接并且將在分布式核230處接收的應(yīng)用加速消息215d發(fā)送至在硬處理器201處的隊(duì)列管理器203。

      在箭頭302處,調(diào)度器204獲取隊(duì)列管理器203中的軟件消息隊(duì)列并且基于加速器的可用性將每個(gè)加速消息調(diào)度至匹配的加速功能加速器接口(例如,在箭頭303處)。例如,如分別在塊205a-d和215a-d的匹配模式中所示,應(yīng)用加速消息215a可以被調(diào)度至HMA接口205a;應(yīng)用加速消息215b可以被調(diào)度至HMA接口205b;應(yīng)用加速消息215c可以被調(diào)度至HMA接口205c;并且應(yīng)用加速消息215d可以被調(diào)度至HMA接口205d。

      調(diào)度器204可以檢查可用加速器的內(nèi)部數(shù)據(jù)庫(kù)并且將消息調(diào)度至加速器接口205a-e。加速器接口205a-e然后可以通知可用處理節(jié)點(diǎn)206a-b、208a、209a和211a拾取消息(例如,如在箭頭304a-d處所示)。例如,HMA接口205a可以根據(jù)處理器206a-b的可用性將消息304a發(fā)送至嵌入式處理器206a或206b以便加速。

      如圖3所示,軟件基礎(chǔ)設(shè)施/層包括應(yīng)用構(gòu)造的加速消息215a-c、隊(duì)列管理器203和調(diào)度器204,該調(diào)度器基于應(yīng)用需求提取至可動(dòng)態(tài)配置的一組并行處理核的通信信道。因此,軟件設(shè)計(jì)可以關(guān)注于解決應(yīng)用問(wèn)題而不是針對(duì)特定硬件加速器優(yōu)化軟件,并且靈活的加速核可以使用可用FPGA硬件基于應(yīng)用需求被動(dòng)態(tài)地構(gòu)建/解構(gòu)。加速/處理負(fù)載分布可以從應(yīng)用軟件中提取出來(lái)。

      圖4示出圖示說(shuō)明圖2中示出的HMA系統(tǒng)內(nèi)的用于通過(guò)部分重新配置(PR)的加速器的虛擬擴(kuò)展的數(shù)據(jù)流的示例流圖。當(dāng)來(lái)自新應(yīng)用的加速消息216被發(fā)送至隊(duì)列管理器203時(shí)(例如,在401處),隊(duì)列管理器203可能不會(huì)識(shí)別出由加速消息216請(qǐng)求的功能的類(lèi)型,或者請(qǐng)求的功能可能不在可用加速器處被處理。在那種情況下,調(diào)度器204可以將加速消息發(fā)送至PR應(yīng)用模塊410(例如,在402處),該P(yáng)R應(yīng)用模塊可以(例如,基于來(lái)自新應(yīng)用216的新加速消息的需求)動(dòng)態(tài)地重新配置FPGA202的邏輯結(jié)構(gòu)以基于新加速消息的需求合成軟核處理器同時(shí)剩下的邏輯繼續(xù)不受打擾地運(yùn)行。例如,PR應(yīng)用410可以利用在FPGA 202上重新配置的新加速器數(shù)字信號(hào)處理器(DSP)212a-b添加或合成HMA接口205f(例如,在403處)。調(diào)度器204然后可以將加速消息216發(fā)送至最新配置的HMA接口205f以便處理(例如,在404處)。替代地,PR應(yīng)用410可以重新配置附加的FF 211d(如果加速功能的類(lèi)型匹配的話(huà)),該FF 211d可以通過(guò)現(xiàn)有的HMA接口205e進(jìn)行注冊(cè);并且該FF 211d可以用于處理新加速消息216。

      因此,在不擴(kuò)大FPGA結(jié)構(gòu)的物理尺寸的情況下,F(xiàn)PGA結(jié)構(gòu)針對(duì)硬件加速需求的能力可以通過(guò)加速器的虛擬擴(kuò)展被擴(kuò)展。例如,相異的處理引擎(例如,ASIP、FF、其他嵌入式處理器等)可以在沒(méi)有明確的軟件處理或編碼修改的情況下使用部分邏輯配置被虛擬地添加或從FPGA 202移除。

      圖5示出圖示說(shuō)明在圖2至圖4中示出的HMA系統(tǒng)中的應(yīng)用加速的基于應(yīng)用的動(dòng)態(tài)配置的方面的示例邏輯流圖。從501開(kāi)始,HMA系統(tǒng)可以接收來(lái)自應(yīng)用的加速消息,例如,該消息可能在圖2的隊(duì)列管理器203處被排隊(duì)。在503處,HMA系統(tǒng)然后可以例如基于起源應(yīng)用類(lèi)型、任務(wù)類(lèi)型、估計(jì)的處理時(shí)間、估計(jì)的資源要求和/或諸如此類(lèi)確定加速功能的類(lèi)型。在505處,HMA系統(tǒng)然后可以基于功能類(lèi)型搜索在HMA系統(tǒng)中的可用加速器數(shù)據(jù)庫(kù)。當(dāng)在507處存在可用加速器時(shí),HMA系統(tǒng)可以在511處將加速消息發(fā)送至該可用加速器,該可用加速器可以在513處進(jìn)而處理加速消息以加速對(duì)應(yīng)的應(yīng)用任務(wù)。

      當(dāng)在507處沒(méi)有可用加速器時(shí),HMA系統(tǒng)可以在516處等待下一個(gè)可用加速器。或者替代地或可選地,HMA系統(tǒng)可以在517處利用部分重新配置(PR)實(shí)現(xiàn)加速器的虛擬擴(kuò)展(如圖4中所討論的),從而使得經(jīng)由PR擴(kuò)展的新加速器可以在518處對(duì)加速消息進(jìn)行處理。一旦完成加速或計(jì)算,新加速器然后就可以在519處將計(jì)算的結(jié)果(例如,加速結(jié)果等)返回至應(yīng)用。

      圖6示出圖示說(shuō)明HMA硬件子系統(tǒng)600的硬件架構(gòu)的示例框圖。HMA子系統(tǒng)600可以被建立為在可編程芯片上的系統(tǒng)(SOPC)。隊(duì)列管理器203和/或調(diào)度器204軟件可以在處理器子系統(tǒng)630上運(yùn)行。處理器子系統(tǒng)630可以充當(dāng)用于HMA子系統(tǒng)600的主軟件-硬件接口,并且與可選直接存儲(chǔ)器存取(DMA)單元611進(jìn)行通信以在需要時(shí)從系統(tǒng)存儲(chǔ)器中移動(dòng)數(shù)據(jù)以便處理。隊(duì)列管理器203和/或調(diào)度器204軟件可以經(jīng)由存儲(chǔ)器映射總線(xiàn)620與HMA的各種加速器塊612、613、614和615進(jìn)行通信。

      加速器612-615可以根據(jù)HMA構(gòu)建塊結(jié)合可以用于構(gòu)造加速引擎的FPGA軟結(jié)構(gòu)建立。HMA構(gòu)建塊提供軟件-硬件接口和存儲(chǔ)器接口,該存儲(chǔ)器接口可以包括接合SMMU 610以及外部存儲(chǔ)器單元(如隨機(jī)存取存儲(chǔ)器(RAM)單元605a-c)的外部存儲(chǔ)器接口606a-c(EMIF)。包括存儲(chǔ)器映射系統(tǒng)總線(xiàn)620和SMMU 610的軟件-硬件接口可以虛擬化對(duì)系統(tǒng)存儲(chǔ)器的選擇性訪(fǎng)問(wèn)以減少甚至跨不同的物理存儲(chǔ)器的物理數(shù)據(jù)移動(dòng)。例如,可以在未物理地移動(dòng)數(shù)據(jù)的情況下實(shí)現(xiàn)貫穿系統(tǒng)的數(shù)據(jù)移動(dòng),例如,通過(guò)簡(jiǎn)單地在SMMU610內(nèi)重新映射存儲(chǔ)器圖來(lái)虛擬地移動(dòng)在系統(tǒng)存儲(chǔ)器中的數(shù)據(jù)。以此方式,由于在從一個(gè)核切換至另一個(gè)核時(shí)處理數(shù)據(jù)移動(dòng)所產(chǎn)生的功耗可以被減小。處理存儲(chǔ)器可以針對(duì)HMA系統(tǒng)展開(kāi)以跨不同的物理存儲(chǔ)器分布。原始數(shù)據(jù)經(jīng)由多個(gè)處理/加速引擎的鏈?zhǔn)教幚?加速因此可以被實(shí)現(xiàn)(例如,一系列的圖像渲染),并且可以通過(guò)限制某些應(yīng)用訪(fǎng)問(wèn)加速器/核存儲(chǔ)器的部分而實(shí)施系統(tǒng)存儲(chǔ)器保護(hù)策略。

      SMMU 610可以虛擬化對(duì)系統(tǒng)存儲(chǔ)器(例如,RAM 605a-c)的選擇性訪(fǎng)問(wèn)并且可以例如通過(guò)允許物理存儲(chǔ)器分散化(甚至跨多個(gè)物理存儲(chǔ)器接口606a-c)以及提取系統(tǒng)存儲(chǔ)器尋址、實(shí)施存儲(chǔ)器保護(hù)/完整性和/或諸如此類(lèi)來(lái)幫助減少物理數(shù)據(jù)移動(dòng)。在這種情況下,因?yàn)镠MA系統(tǒng)可以被部分地重新配置(結(jié)合圖4所討論的),所以SMMU 610可以實(shí)現(xiàn)對(duì)系統(tǒng)存儲(chǔ)器的選擇性訪(fǎng)問(wèn)從而使得僅與部分重新配置有關(guān)的數(shù)據(jù)需要被加載或被傳輸,而不用加載FPGA軟結(jié)構(gòu)的整個(gè)程序。

      圖7和圖8示出圖示說(shuō)明HMA部件的硬件架構(gòu)(例如,HMA構(gòu)建塊)的示例框圖。如圖7中所示,HMA構(gòu)建塊可以具有多列高速串行接口(HSSI)701a-b,以及用于與加速器(如FF 711a-b、ASIP 712a-b、嵌入式處理器713和/或諸如此類(lèi))通信的并行EMIF輸入/輸出703a-b。如在圖8中進(jìn)一步展示的可以是控制加速器的硬件部件的異構(gòu)加速構(gòu)建塊705可以如圖7中所示被放置在加速器層之間。

      HMA子系統(tǒng)可以具有用于數(shù)據(jù)存儲(chǔ)的基于列的實(shí)現(xiàn)方式,并且經(jīng)由環(huán)隊(duì)列描述符(ring queue descriptor)與啟動(dòng)器進(jìn)行通信。例如,啟動(dòng)器(例如,應(yīng)用加速請(qǐng)求器等)可以建立環(huán)隊(duì)列請(qǐng)求描述符并經(jīng)由配置和狀態(tài)寄存器(CSR)啟動(dòng)HMA。然后可以經(jīng)由中斷(或其他機(jī)制)通知啟動(dòng)器加速已完成。

      圖8示出了異構(gòu)加速(HA)構(gòu)建塊結(jié)構(gòu)及其與FPGA結(jié)構(gòu)(例如,加速器引擎715、本地存儲(chǔ)器716等)的交互。如在圖8中所示,包括總線(xiàn)接口(和CSR)717、解析器718、DMA單元720和調(diào)度器719的該組HMA硬件構(gòu)建塊705可以與在FPGA核結(jié)構(gòu)上構(gòu)建的軟處理引擎715動(dòng)態(tài)地“粘合”以形成該組并行的處理/加速核。以此方式,任何處理/加速功能可以經(jīng)由定義的軟件基礎(chǔ)設(shè)施/層與加速器引擎進(jìn)行通信。然后可以通過(guò)從通信介質(zhì)中提取處理引擎動(dòng)態(tài)地完成軟件控制的負(fù)載均衡。

      總線(xiàn)接口717(和CSR)可以與存儲(chǔ)器映射總線(xiàn)620接合并且包含作為軟件接口的CSR。DMA 720和解析器718可以與SMMU 610和EMIF 606a-c(也在圖6中示出)進(jìn)行通信以加載數(shù)據(jù)并更新?tīng)顟B(tài)信息。DMA 720和解析器718還可以與本地存儲(chǔ)器716進(jìn)行通信以檢索或存儲(chǔ)應(yīng)用任務(wù)和/或加速消息。例如,解析器718可以遍歷請(qǐng)求描述符并在完成時(shí)更新任務(wù)的狀態(tài);并且DMA720可以從SMMU 610中(或經(jīng)由EMIF 606a-c)獲取處理數(shù)據(jù)并將經(jīng)處理的數(shù)據(jù)存放在SMMU 610中。調(diào)度器719可以基于描述符啟動(dòng)引擎加速并且跨多個(gè)加速引擎715分配工作負(fù)載。

      因?yàn)镕PGA結(jié)構(gòu)(例如,包括加速器引擎715和本地存儲(chǔ)器716)可以與HMA構(gòu)建塊705動(dòng)態(tài)地“粘合”或組合,可以實(shí)現(xiàn)比用于硬件加速需求的物理可用的FPGA結(jié)構(gòu)更大的FPGA結(jié)構(gòu)。加速器引擎715的動(dòng)態(tài)匹配/配置還可以允許在不影響應(yīng)用軟件功能的情況下構(gòu)造/解構(gòu)相異的處理引擎(例如,ASIP、FF、其他嵌入式處理器等)。

      圖9呈現(xiàn)了磁性數(shù)據(jù)存儲(chǔ)介質(zhì)900的橫截面,該磁性數(shù)據(jù)存儲(chǔ)介質(zhì)可以用機(jī)器可執(zhí)行程序編碼,該機(jī)器可執(zhí)行程序由如個(gè)人計(jì)算機(jī)或其他計(jì)算機(jī)或類(lèi)似設(shè)備的系統(tǒng)執(zhí)行從而配置FPGA或其他可編程邏輯器件(PLD)從而在以上所述系統(tǒng)中使用。介質(zhì)900可以是具有合適的基底901和合適的涂層902的軟磁盤(pán)或硬磁盤(pán)或者磁帶,該合適的基底901可以是常規(guī)的基底,該合適的涂層902可以是在一側(cè)或兩側(cè)上的包含其極性或取向可以被磁性地更改的磁疇(不可見(jiàn))的常規(guī)的涂層。除了其為磁帶的情況,介質(zhì)900還可以具有用于接收磁盤(pán)驅(qū)動(dòng)器或其他數(shù)據(jù)存儲(chǔ)設(shè)備的主軸的開(kāi)口(未示出)。

      介質(zhì)900的涂層902的磁疇被極化或被取向以便以可以是常規(guī)的方式對(duì)機(jī)器可執(zhí)行程序進(jìn)行編碼,從而由如個(gè)人計(jì)算機(jī)或其他計(jì)算機(jī)或相似系統(tǒng)的編程系統(tǒng)執(zhí)行,這些系統(tǒng)具有讓要被編程的PLD(包括根據(jù)本發(fā)明的其專(zhuān)門(mén)的處理塊(如果有的話(huà)))可以插入以配置PLD的恰當(dāng)部分的插口或外設(shè)附連件。

      圖10示出了光可讀數(shù)據(jù)存儲(chǔ)介質(zhì)1010的橫截面,該光可讀數(shù)據(jù)存儲(chǔ)介質(zhì)也可以用這種機(jī)器可執(zhí)行程序編碼,該機(jī)器可執(zhí)行程序可以由如上述個(gè)人計(jì)算機(jī)或其他計(jì)算機(jī)或類(lèi)似設(shè)備的系統(tǒng)執(zhí)行。介質(zhì)1010可以是常規(guī)的緊湊型光盤(pán)只讀存儲(chǔ)器(CD-ROM)或者數(shù)字視頻光盤(pán)只讀存儲(chǔ)器(DVD-ROM)或者可重寫(xiě)介質(zhì)(如CD-R、CD-RW、DVD-R、DVD-RW、DVD+R、DVD+RW或DVD-RAM或者光可讀的且磁光可重寫(xiě)的磁光盤(pán))。介質(zhì)1010優(yōu)選地具有可以是常規(guī)的合適基底1011以及可以是常規(guī)的通常在基底1011的一側(cè)或兩側(cè)上的合適涂層1012。

      在基于CD或基于DVD介質(zhì)的情況中,如眾所周知的,涂層1012是反射式的并且外加有被布置在一個(gè)或多個(gè)層上的多個(gè)凹點(diǎn)(pit)1013以對(duì)機(jī)器可執(zhí)行程序進(jìn)行編碼。凹點(diǎn)的布置由離開(kāi)涂層1012的表面的反射激光讀取。保護(hù)涂層1014(優(yōu)選地為基本上透明的)被提供在涂層1012的頂部上。

      在磁光盤(pán)的情況中,如眾所周知的,涂層1012沒(méi)有凹點(diǎn)1013,但是具有當(dāng)如由激光器(未示出)加熱到某個(gè)溫度之上時(shí)其極性或取向可以被磁性地改變的多個(gè)磁疇??梢酝ㄟ^(guò)測(cè)量從涂層1012反射的激光的極化來(lái)讀取磁疇的取向。磁疇的布置對(duì)如上所述的程序進(jìn)行編碼。

      將理解的是,前述內(nèi)容僅說(shuō)明本發(fā)明的原理,并且在不背離本發(fā)明的范圍和精神的情況下可以由本領(lǐng)域的技術(shù)人員進(jìn)行各種修改。例如,本發(fā)明的各元件可以以任何期望的數(shù)量和/或布置被提供在PLD上。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,本發(fā)明可以由除了出于說(shuō)明而非限制目的呈現(xiàn)的所描述的實(shí)施例之外的實(shí)施例實(shí)踐,并且本發(fā)明僅由所附的權(quán)利要求書(shū)限定。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1