亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

同時配置多個內(nèi)核寄存器的方法及裝置制造方法

文檔序號:6633610閱讀:185來源:國知局
同時配置多個內(nèi)核寄存器的方法及裝置制造方法
【專利摘要】本發(fā)明提供一種同時配置多個內(nèi)核寄存器的方法及裝置,所述方法包括:在系統(tǒng)多內(nèi)核架構(gòu)中增加一并行配置基地址;接收系統(tǒng)配置請求指令;判斷系統(tǒng)配置請求指令中的基地址是并行配置基地址還是獨立的配置基地址;若系統(tǒng)配置請求指令中的基地址為獨立的配置基地址,則查詢配置基地址指向的系統(tǒng)內(nèi)核,并對系統(tǒng)內(nèi)核中對應(yīng)偏移地址的寄存器進(jìn)行配置;若系統(tǒng)配置請求指令中的基地址為并行配置基地址,則對系統(tǒng)內(nèi)核中對應(yīng)所述偏移地址的所有寄存器進(jìn)行同時配置。本發(fā)明通過在系統(tǒng)多內(nèi)核架構(gòu)中增加一并行配置基地址以及并行配置使能寄存器,發(fā)送一條指令即可以同時配置多個內(nèi)核寄存器,提高了采用多內(nèi)核架構(gòu)的芯片的寄存器配置效率。
【專利說明】同時配置多個內(nèi)核寄存器的方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及集成電路的芯片設(shè)計中的一種同時配置多個內(nèi)核寄存器的方法及裝置。

【背景技術(shù)】
[0002]芯片中的內(nèi)核是指一個數(shù)據(jù)或報文處理單元,把多個具有相同功能的內(nèi)核集成在一起,并行的處理入口數(shù)據(jù)稱之為多內(nèi)核架構(gòu)。采用多內(nèi)核并行處理的架構(gòu)對于網(wǎng)絡(luò)交換芯片的設(shè)計尤為重要,其能夠顯著提升芯片的處理帶寬,解決當(dāng)前日益提高的帶寬需求。但是采用多內(nèi)核架構(gòu)也使得芯片內(nèi)部寄存器的數(shù)量成倍增長。
[0003]對多內(nèi)核架構(gòu)的傳統(tǒng)配置方法為:通過寄存器的基地址和偏移地址逐個內(nèi)核去配置。
[0004]如圖1所示,主機通過控制模塊發(fā)出寄存器配置命令,從機通過指令解析模塊響應(yīng)控制模塊發(fā)出的命令,并作出相應(yīng)配置動作。本實施方式中,假設(shè)芯片有η個內(nèi)核,每個內(nèi)核被分配一個基地址,所述內(nèi)核分別為B1, B2,..., Bn,另外,每個內(nèi)核中有m個寄存器,每個寄存器都將被分配一個偏移地址,分別為O1, O2, 0m。上層控制模塊發(fā)出的配置指令中包括指示將要尋址的內(nèi)核的基地址以及指示寄存器的偏移地址,指令解析模塊收到該條配置指令后將會解析出基地址,并根據(jù)此基地址往對應(yīng)的內(nèi)核發(fā)送配置請求,內(nèi)核收到配置請求后根據(jù)偏移地址完成對應(yīng)寄存器的配置,同時返回應(yīng)答信號和狀態(tài)標(biāo)志信號(如錯誤標(biāo)志信號、超時標(biāo)志信號等)。其中,錯誤標(biāo)志信號表示此次訪問中出現(xiàn)錯誤,需要主機采取相應(yīng)錯誤處理;超時標(biāo)志信號表示配置指令發(fā)出后,在指定時間內(nèi)未得到相應(yīng)處理,于是由指令解析模塊告知控制模塊此次訪問超時,需要主機采取相應(yīng)處理。
[0005]本實施方式中,對內(nèi)核芯片的寄存器進(jìn)行配置過程如下:
51、發(fā)送內(nèi)核I基地址B1+寄存器I偏移地址O1,完成寄存器I的配置;
52、發(fā)送內(nèi)核I基地址B1+寄存器2偏移地址O2,完成寄存器2的配置;
53、發(fā)送內(nèi)核I基地址B1+寄存器m偏移地址0m,完成寄存器m的配置,至此內(nèi)核I中所有寄存器配置結(jié)束;
54、重復(fù)步驟S1-S3,將基地址換成B2,完成內(nèi)核2中的寄存器配置;
55、重復(fù)步驟S1-S3,將基地址換成Bn,完成內(nèi)核η中的寄存器配置;
如此,若寄存器具有η個內(nèi)核,每個內(nèi)核中設(shè)置有m個芯片,那么,完成全部寄存器的配置將需要對其配置n*m次,使得寄存器配置效率過慢,配置過程變得很長。


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

[0006]本發(fā)明的目的在于提供一種同時配置多個內(nèi)核寄存器的方法及裝置。
[0007]為實現(xiàn)上述目的之一,本發(fā)明一實施方式的同時配置多個內(nèi)核寄存器的方法,所述方法包括:在系統(tǒng)多內(nèi)核架構(gòu)中增加一并行配置基地址,所述并行配置基地址用于執(zhí)行多內(nèi)核并行配置; 接收系統(tǒng)配置請求指令,所述系統(tǒng)配置請求指令包括計劃配置寄存器的基地址和偏移地址;
判斷所述系統(tǒng)配置請求指令中的基地址是并行配置基地址還是獨立的配置基地址;
若所述系統(tǒng)配置請求指令中的基地址為獨立的配置基地址,則查詢所述配置基地址指向的系統(tǒng)內(nèi)核,并對所述系統(tǒng)內(nèi)核中對應(yīng)偏移地址的寄存器進(jìn)行配置;
若所述系統(tǒng)配置請求指令中的基地址為并行配置基地址,則對所述系統(tǒng)內(nèi)核中對應(yīng)所述偏移地址的所有寄存器進(jìn)行同時配置。
[0008]作為本發(fā)明的進(jìn)一步改進(jìn),所述方法還包括:
在系統(tǒng)多內(nèi)核架構(gòu)中增加一并行配置使能寄存器,所述并行配置使能寄存器用于存儲是否對所述內(nèi)核使能并行配置的使能指令;
若所述配置請求指令中的基地址指向所述并行配置基地址,則查詢所述并行配置使能寄存器,根據(jù)所述并行配置使能寄存器存儲的使能指令選擇待配置所述系統(tǒng)內(nèi)核。
[0009]作為本發(fā)明的進(jìn)一步改進(jìn),所述方法還包括:
對所述并行配置使能寄存器預(yù)配置;
所述并行配置寄存器的位寬等于系統(tǒng)內(nèi)核數(shù)量,其中每一比特對應(yīng)一個系統(tǒng)內(nèi)核的基地址的并行配置使能狀態(tài);
若對應(yīng)所述基地址的所述比特位置為I,則表示所述并行配置請求指令下發(fā)后,所述基地址下的寄存器允許配置;
若對應(yīng)所述基地址的所述比特位置為0,則表示所述并行配置請求指令下發(fā)后,對所述基地址下的寄存器不允許配置。
[0010]作為本發(fā)明的進(jìn)一步改進(jìn),所述方法還包括:
根據(jù)系統(tǒng)配置請求指令完成對所述寄存器進(jìn)行配置后,反饋所配置的寄存器的配置結(jié)果;
接收并保存反饋的所有配置結(jié)果,并根據(jù)保存的配置結(jié)果生成應(yīng)答信號進(jìn)行輸出。
[0011]作為本發(fā)明的進(jìn)一步改進(jìn),“接收并保存反饋的所有配置結(jié)果,根據(jù)保存的配置結(jié)果生成應(yīng)答信號進(jìn)行輸出”,具體包括:
在系統(tǒng)預(yù)設(shè)時間內(nèi),判斷對應(yīng)所述寄存器的所有配置結(jié)果是否全部反饋,
若所有配置結(jié)果未完全反饋,則輸出的應(yīng)答信號為配置超時信號,并在發(fā)送所述應(yīng)答信號的同時結(jié)束當(dāng)前系統(tǒng)配置指令,標(biāo)識本次配置失??;
若所有配置結(jié)果均完全反饋,則繼續(xù)判斷所有配置結(jié)果是否全部正確,
若是,則輸出的應(yīng)答信號為配置成功信號;
若否,則輸出的應(yīng)答信號為配置錯誤信號,并在發(fā)送所述應(yīng)答信號的同時結(jié)束當(dāng)前系統(tǒng)配置指令,標(biāo)識本次配置失敗。
[0012]為實現(xiàn)上述目的之一,本發(fā)明一實施方式的同時配置多個內(nèi)核寄存器的裝置,所述裝置包括:控制模塊、指令解析模塊;
所述指令解析模塊中設(shè)置并行配置基地址,所述并行配置基地址用于執(zhí)行多內(nèi)核并行配置;
所述控制模塊用于發(fā)送系統(tǒng)配置請求指令,所述系統(tǒng)配置請求指令包括計劃配置寄存器的基地址和偏移地址; 所述指令解析模塊用于接收系統(tǒng)配置請求指令;
判斷所述系統(tǒng)配置請求指令中的基地址是并行配置基地址還是獨立的配置基地址;
若所述系統(tǒng)配置請求指令中的基地址為獨立的配置基地址,則查詢所述配置基地址指向的系統(tǒng)內(nèi)核,并對所述系統(tǒng)內(nèi)核中對應(yīng)偏移地址的寄存器進(jìn)行配置;
若所述系統(tǒng)配置請求指令中的基地址為并行配置基地址,則對所述系統(tǒng)內(nèi)核中對應(yīng)所述偏移地址的所有寄存器進(jìn)行同時配置。
[0013]作為本發(fā)明的進(jìn)一步改進(jìn),所述指令解析模塊中還設(shè)置一并行配置使能寄存器,所述并行配置使能寄存器用于存儲是否對所述內(nèi)核使能并行配置的使能指令;
所述指令解析模塊還用于:
若所述配置請求指令中的基地址指向所述并行配置基地址,則查詢所述并行配置使能寄存器,根據(jù)所述并行配置使能寄存器存儲的使能指令選擇待配置所述系統(tǒng)內(nèi)核。
[0014]作為本發(fā)明的進(jìn)一步改進(jìn),所述指令解析模塊還用于:
對所述并行配置使能寄存器預(yù)配置;
所述并行配置寄存器的位寬等于系統(tǒng)內(nèi)核數(shù)量,其中每一比特對應(yīng)一個系統(tǒng)內(nèi)核的基地址的并行配置使能狀態(tài);
若對應(yīng)所述基地址的所述比特位置為I,則表示所述并行配置請求指令下發(fā)后,所述基地址下的寄存器允許配置;
若對應(yīng)所述基地址的所述比特位置為0,則表示所述并行配置請求指令下發(fā)后,對所述基地址下的寄存器不允許配置。
[0015]作為本發(fā)明的進(jìn)一步改進(jìn),所述指令解析模塊還用于:
根據(jù)系統(tǒng)配置請求指令完成對所述寄存器進(jìn)行配置后,反饋所配置的寄存器的配置結(jié)果;
接收并保存反饋的所有配置結(jié)果,并根據(jù)保存的配置結(jié)果生成應(yīng)答信號進(jìn)行輸出。
[0016]作為本發(fā)明的進(jìn)一步改進(jìn),所述指令解析模塊還用于:
在系統(tǒng)預(yù)設(shè)時間內(nèi),判斷對應(yīng)所述寄存器的所有配置結(jié)果是否全部反饋,
若所有配置結(jié)果未完全反饋,則輸出的應(yīng)答信號為配置超時信號,并在發(fā)送所述應(yīng)答信號的同時結(jié)束當(dāng)前系統(tǒng)配置指令,標(biāo)識本次配置失??;
若所有配置結(jié)果均完全反饋,則繼續(xù)判斷所有配置結(jié)果是否全部正確,
若是,則輸出的應(yīng)答信號為配置成功信號;
若否,則輸出的應(yīng)答信號為配置錯誤信號,并在發(fā)送所述應(yīng)答信號的同時結(jié)束當(dāng)前系統(tǒng)配置指令,標(biāo)識本次配置失敗。
[0017]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明的同時配置多個內(nèi)核寄存器的方法及裝置,通過在系統(tǒng)多內(nèi)核架構(gòu)中增加一并行配置基地址以及并行配置使能寄存器,發(fā)送一條指令即可以同時配置多個內(nèi)核寄存器,提高了采用多內(nèi)核架構(gòu)的芯片的寄存器配置效率,而且,該技術(shù)與簡單的廣播方式不同,它合理地處理了反饋結(jié)果,會記錄多個內(nèi)核反饋結(jié)果的狀態(tài),并上報給上層控制邏輯。另外,該方法及裝置還可完全兼容傳統(tǒng)的配置方法及裝置,實現(xiàn)簡單,可被用戶廣泛接受。

【專利附圖】

【附圖說明】
[0018]圖1是【背景技術(shù)】中多內(nèi)核架構(gòu)的傳統(tǒng)配置模塊圖;
圖2是本發(fā)明一實施方式中同時配置多個內(nèi)核寄存器的方法的流程圖;
圖3是本發(fā)明一實施方式中同時配置多個內(nèi)核寄存器的裝置的模塊圖。

【具體實施方式】
[0019]以下將結(jié)合附圖所示的【具體實施方式】對本發(fā)明進(jìn)行詳細(xì)描述。但這些實施方式并不限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員根據(jù)這些實施方式所做出的結(jié)構(gòu)、方法、或功能上的變換均包含在本發(fā)明的保護(hù)范圍內(nèi)。
[0020]本發(fā)明的同時配置多個內(nèi)核寄存器的方法同樣為通過寄存器的基地址和偏移地址對多個內(nèi)核寄存器進(jìn)行配置,其與現(xiàn)有技術(shù)的區(qū)別在于,本發(fā)明除了可以逐個對所述內(nèi)核進(jìn)行配置外,還可以一次對多個內(nèi)核進(jìn)行同時配置,以下將會詳細(xì)介紹。
[0021]如圖2所示,在本發(fā)明的一實施方式中,同時配置多個內(nèi)核寄存器的方法包括:
在系統(tǒng)多內(nèi)核架構(gòu)中增加一并行配置基地址,所述并行配置基地址用于執(zhí)行多內(nèi)核并行配置;
本實施方式中,若系統(tǒng)內(nèi)核的基地址指向所述并行配置基地址,則同時對所有內(nèi)核中相同的寄存器同時進(jìn)行配置。
[0022]在本發(fā)明一實施方式中,所述同時配置多個內(nèi)核寄存器的方法包括:
接收系統(tǒng)配置請求指令,所述系統(tǒng)配置請求指令包括計劃配置寄存器的基地址和偏移地址;
判斷所述系統(tǒng)配置請求指令中的基地址是并行配置基地址還是獨立的配置基地址;
若所述系統(tǒng)配置請求指令中的基地址為獨立的配置基地址,則查詢所述配置基地址指向的系統(tǒng)內(nèi)核,并對所述系統(tǒng)內(nèi)核中對應(yīng)偏移地址的寄存器進(jìn)行配置;
若所述系統(tǒng)配置請求指令中的基地址為并行配置基地址,則對所述系統(tǒng)內(nèi)核中對應(yīng)所述偏移地址的所有寄存器進(jìn)行同時配置。
[0023]通常,對需要配置的系統(tǒng)內(nèi)核發(fā)送系統(tǒng)配置請求指令,待相應(yīng)的系統(tǒng)內(nèi)核接收到系統(tǒng)配置請求指令后,反饋相應(yīng)的應(yīng)答信號,并根據(jù)所述應(yīng)答信號判斷配置是否完成。
[0024]本實施例中,系統(tǒng)中設(shè)置η個內(nèi)核,分別為內(nèi)核1、內(nèi)核2...,內(nèi)核η,η為正整數(shù);每個內(nèi)核被分配一個唯一的基地址,分別為BpBf, Bn,另夕卜,每個內(nèi)核中設(shè)置有m個寄存器,分別為寄存器1、寄存器2...,寄存器m,每一個寄存器被分配一個唯一的偏移地址;分別為:
O1,(V..,Om ;進(jìn)一步的,在系統(tǒng)多內(nèi)核架構(gòu)中還增加一并行配置基地址Ba,所述并行配置基地址Ba區(qū)別與前述基地址B1A2…,Bn,用于執(zhí)行多內(nèi)核并行配置,即當(dāng)系統(tǒng)配置請求指令指向并行配置基地址Ba時,表示系統(tǒng)配置請求指令同時指向B2…,Bn。
[0025]例如:若發(fā)出的系統(tǒng)配置請求指令為:基地址B1 + O1,即表示本次需要對內(nèi)核I中的寄存器I進(jìn)行配置,同理,若發(fā)出的系統(tǒng)配置請求指令為:基地址Bn + Om,即表示本次需要對內(nèi)核η中的寄存器m進(jìn)行配置;該種配置請求指令兼容傳統(tǒng)的配置請求指令,在此不做詳細(xì)贅述。
[0026]進(jìn)一步的,若發(fā)出的系統(tǒng)配置請求指令為:基地址BJO1,即表示本次需要對所有內(nèi)核中的寄存器I進(jìn)行配置。
[0027]進(jìn)一步的,對系統(tǒng)內(nèi)核中的寄存器進(jìn)行配置過程中,通常需要對內(nèi)核進(jìn)行選擇,如上示例中,本次配置過程,僅需要對內(nèi)核2至內(nèi)核η中的寄存器I進(jìn)行配置,那么同樣需要對內(nèi)核2至內(nèi)核η中的寄存器I進(jìn)行逐一配置。
[0028]本實施方式中,為了在配置過程中,可選擇的同時對芯片中的多個內(nèi)核進(jìn)行配置。
[0029]進(jìn)一步,所述同時配置多個內(nèi)核寄存器的方法還包括:
在系統(tǒng)多內(nèi)核架構(gòu)中增加一并行配置使能寄存器,所述并行配置使能寄存器用于存儲是否對所述內(nèi)核使能并行配置的使能指令;
本實施方式中,根據(jù)用戶需求,對所述并行配置使能寄存器預(yù)配置。
[0030]所述并行配置寄存器的位寬等于系統(tǒng)內(nèi)核數(shù)量,以使所述并行配置寄存器中的每一比特位置對應(yīng)標(biāo)識一個系統(tǒng)內(nèi)核的基地址的并行配置使能狀態(tài),本實施方式中,用數(shù)字O和I表不系統(tǒng)內(nèi)核使能狀態(tài),
若對應(yīng)所述基地址的所述比特位置為I,則表示所述并行配置請求指令下發(fā)后,所述基地址下的寄存器允許配置;
若對應(yīng)所述基地址的所述比特位置為0,則表示所述并行配置請求指令下發(fā)后,對所述基地址下的寄存器不允許配置。
[0031]進(jìn)一步的,所述同時配置多個內(nèi)核寄存器的方法還包括:
若所述配置請求指令中的基地址指向所述并行配置基地址,則查詢所述并行配置使能寄存器,根據(jù)所述并行配置使能寄存器存儲的使能指令選擇待配置所述系統(tǒng)內(nèi)核,若所述配置請求指令中的基地址指向普通的基地址,本示例中,普通的基地址為BpB2…,Bn,那么,則可以省略查詢所述并行配置使能寄存器這一步驟,如此,并不會增加對單個內(nèi)核中的一個寄存器進(jìn)行配置的時間。
[0032]當(dāng)然,在本發(fā)明的其他實施方式中,也可以不必判斷所述配置請求指令中的基地址是否指向所述并行配置基地址,即在接收到配置請求指令后,均對并行配置使能寄存器進(jìn)行查詢,在此不做詳細(xì)贅述。
[0033]在確定本次所述配置請求指令指向單個內(nèi)核中的一個寄存器,還是指向多個內(nèi)核中的同一個寄存器后,即對相應(yīng)的寄存器進(jìn)行配置。
[0034]進(jìn)一步的,根據(jù)系統(tǒng)配置請求指令完成對所述寄存器進(jìn)行配置后,反饋所配置的寄存器的配置結(jié)果;以供用戶參考是否可以發(fā)送數(shù)據(jù)或報文。
[0035]本實施方式中,所述同時配置多個內(nèi)核寄存器的方法還包括:
根據(jù)系統(tǒng)配置請求指令完成對所述寄存器進(jìn)行配置后,反饋所配置的寄存器的配置結(jié)果;
接收并保存反饋的所有配置結(jié)果,并根據(jù)保存的配置結(jié)果生成應(yīng)答信號進(jìn)行輸出。
[0036]本實施方式中,若同時對多個內(nèi)核的同一寄存器進(jìn)行配置,那么配置結(jié)束時,將會收到來自于多個內(nèi)核中相同寄存器的不同反饋結(jié)果,且反饋的結(jié)果中可能包括正確的應(yīng)答信號或是錯誤的應(yīng)答信號等,同時,每個內(nèi)核反饋結(jié)果的時刻也是不固定的,其反饋結(jié)果的時刻可能在同一時刻,也可能有先有后,如此,在接收到反饋信號后,生成應(yīng)答信號包含的信息以及發(fā)出的指令必然有所不同。
[0037]本實施方式中,生成的應(yīng)答信號可以為配置成功信號、配置超時信號、配置錯誤信
V寸ο
[0038]本發(fā)明的優(yōu)選實施方式中,當(dāng)內(nèi)核中的信號返回后,需要判斷在系統(tǒng)預(yù)設(shè)時間內(nèi),對應(yīng)所述寄存器的所有配置結(jié)果是否全部反饋。
[0039]若對應(yīng)所述寄存器的所有配置結(jié)果未全部反饋,則輸出的應(yīng)答信號為配置錯誤信號,并在發(fā)送所述應(yīng)答信號的同時結(jié)束當(dāng)前系統(tǒng)配置指令,標(biāo)識本次配置失敗。若所有配置結(jié)果全部反饋,則需要進(jìn)一步判斷反饋的配置結(jié)果是否全部正確;
若是,則輸出的應(yīng)答信號為配置成功信號;
若否,則輸出的應(yīng)答信號為配置錯誤信號,并在發(fā)送所述應(yīng)答信號的同時結(jié)束當(dāng)前系統(tǒng)配置指令,標(biāo)識本次配置失敗。
[0040]進(jìn)一步的,在本發(fā)明的其他實施方式中,還可以將產(chǎn)生配置結(jié)果錯誤信號或產(chǎn)生配置延時信號的相應(yīng)寄存器的詳細(xì)信息進(jìn)行輸出,例如:產(chǎn)生錯誤或延時的寄存器的基地址和偏移地址,錯誤產(chǎn)生或延時產(chǎn)生的原因等,以供后續(xù)分析參考,在此不做詳細(xì)贅述。
[0041]本示例中,在所述并行配置寄存器的所有比特位置全部為I的情況下,對內(nèi)核芯片的寄存器進(jìn)行并行配置過程如下:S1、發(fā)送并行配置地址BA+寄存器I地址O1,完成內(nèi)核1-η中寄存器I的配置;
52、發(fā)送并行配置地址Ba+寄存器2地址O2,完成內(nèi)核1-η中寄存器2的配置
53、發(fā)送并行配置地址Ba+寄存器m地址0m,完成內(nèi)核1-η中寄存器m的配置,至此,所有內(nèi)核中的寄存器配置結(jié)束。
[0042]如此,由于采用并行配置,若系統(tǒng)中具有η個內(nèi)核,每個內(nèi)核中設(shè)置有m個寄存器,那么,完成全部寄存器的配置將需要對其配置η次,相當(dāng)于傳統(tǒng)方法中配置一個內(nèi)核的時間,若需要對所述內(nèi)核中的全部寄存器進(jìn)行配置,本發(fā)明的同時配置多個內(nèi)核寄存器的方法及裝置相比于傳統(tǒng)的配置方式,配置效率提高了 η倍。而且,該技術(shù)與簡單的廣播方式不同,它合理地處理了反饋結(jié)果,會記錄多個內(nèi)核反饋結(jié)果的狀態(tài),并上報給上層控制邏輯,例如:CPU等。另外,該方法及裝置還可完全兼容傳統(tǒng)的配置方法及裝置,實現(xiàn)簡單,可被用戶廣泛接受。
[0043]結(jié)合圖3所示,在本發(fā)明的第一實施方式中,同時配置多個內(nèi)核寄存器的裝置包括:控制模塊100、指令解析模塊200。
[0044]所述指令解析模塊中設(shè)置并行配置基地址Ba、以及并行配置使能寄存器Ren。
[0045]并行配置基地址Ba用于執(zhí)行多內(nèi)核并行配置;
并行配置使能寄存器Ren用于存儲是否對所述內(nèi)核使能并行配置的使能指令。
[0046]控制模塊100用于發(fā)送系統(tǒng)配置請求指令,所述系統(tǒng)配置請求指令包括計劃配置寄存器的基地址和偏移地址;
指令解析模塊200用于接收系統(tǒng)配置請求指令,所述系統(tǒng)配置請求指令包括計劃配置寄存器的基地址和偏移地址;
判斷所述系統(tǒng)配置請求指令中的基地址是并行配置基地址Ba還是獨立的配置基地址;
若所述系統(tǒng)配置請求指令中的基地址為獨立的配置基地址,則查詢所述配置基地址指向的系統(tǒng)內(nèi)核,并對所述系統(tǒng)內(nèi)核中對應(yīng)偏移地址的寄存器進(jìn)行配置;
若所述系統(tǒng)配置請求指令中的基地址為并行配置基地址Ba,則對所述系統(tǒng)內(nèi)核中對應(yīng)所述偏移地址的所有寄存器進(jìn)行同時配置。
[0047]本實施例中,系統(tǒng)中設(shè)置η個內(nèi)核,分別為內(nèi)核1、內(nèi)核2...,內(nèi)核η,η為正整數(shù);每個內(nèi)核被分配一個唯一的基地址,分別為BpBf, Bn,另外,每個內(nèi)核中設(shè)置有m個寄存器,分別為寄存器1、寄存器2...,寄存器m,每一個寄存器被分配一個唯一的偏移地址;分別為:
O1,(V..,Om ;進(jìn)一步的,在系統(tǒng)多內(nèi)核架構(gòu)中還增加一并行配置基地址Ba,所述并行配置基地址Ba區(qū)別與前述基地址B1A2…,Bn,用于執(zhí)行多內(nèi)核并行配置,即當(dāng)系統(tǒng)配置請求指令指向并行配置基地址Ba時,表示系統(tǒng)配置請求指令同時指向B2…,Bn。
[0048]例如:若發(fā)出的系統(tǒng)配置請求指令為:基地址B1 + O1,即表示本次需要對內(nèi)核I中的寄存器I進(jìn)行配置,同理,若發(fā)出的系統(tǒng)配置請求指令為:基地址Bn + Om,即表示本次需要對內(nèi)核η中的寄存器m進(jìn)行配置;該種配置請求指令兼容傳統(tǒng)的配置請求指令,在此不做詳細(xì)贅述。
[0049]進(jìn)一步的,若控制模塊100發(fā)出的系統(tǒng)配置請求指令為:基地址Ba + O1,即表示本次需要對所有內(nèi)核中的寄存器I進(jìn)行配置。
[0050]進(jìn)一步的,指令解析模塊200對系統(tǒng)內(nèi)核中的寄存器進(jìn)行配置過程中,通常需要對內(nèi)核進(jìn)行選擇,如上示例中,本次配置過程,僅需要對內(nèi)核2至內(nèi)核η中的寄存器I進(jìn)行配置,那么同樣需要對內(nèi)核2至內(nèi)核η中的寄存器I進(jìn)行逐一配置。
[0051]本實施方式中,為了在配置過程中,可選擇的同時對芯片中的多個內(nèi)核進(jìn)行配置。
[0052]本實施方式中,根據(jù)用戶需求,對所述并行配置使能寄存器Ren預(yù)配置。
[0053]并行配置寄存器Ren的位寬等于系統(tǒng)內(nèi)核數(shù)量,以使并行配置寄存器Ren的每一比特位置對應(yīng)標(biāo)識一個系統(tǒng)內(nèi)核的基地址的并行配置使能狀態(tài),本實施方式中,用數(shù)字O和I表不系統(tǒng)內(nèi)核使能狀態(tài),
指令解析模塊200若判定對應(yīng)所述基地址的所述比特位置為1,則表示所述并行配置請求指令下發(fā)后,所述基地址下的寄存器允許配置;
若判定對應(yīng)所述基地址的所述比特位置為0,則表示所述并行配置請求指令下發(fā)后,對所述基地址下的寄存器不允許配置。
[0054]進(jìn)一步的,指令解析模塊200若判定所述配置請求指令中的基地址指向所述并行配置基地址Βα,則查詢所述并行配置使能寄存器Ren,根據(jù)所述并行配置使能寄存器Ren存儲的使能指令選擇待配置所述系統(tǒng)內(nèi)核,若所述配置請求指令中的基地址指向普通的基地址,本示例中,普通的基地址為BpB2…,Bn,那么,則可以省略查詢所述并行配置使能寄存器Ren這一步驟,如此,并不會增加對單個內(nèi)核中的一個寄存器進(jìn)行配置的時間。
[0055]當(dāng)然,在本發(fā)明的其他實施方式中,指令解析模塊200也可以不必判斷所述配置請求指令中的基地址是否指向所述并行配置基地址BA,即在接收到控制模塊100發(fā)出的配置請求指令后,均對并行配置使能寄存器Ren進(jìn)行查詢,在此不做詳細(xì)贅述。
[0056]指令解析模塊200在確定本次所述配置請求指令指向單個內(nèi)核中的一個寄存器,還是指向多個內(nèi)核中的同一個寄存器后,即對相應(yīng)的寄存器進(jìn)行配置。
[0057]進(jìn)一步的,指令解析模塊200根據(jù)系統(tǒng)配置請求指令完成對所述寄存器進(jìn)行配置后,反饋所配置的寄存器的配置結(jié)果;以供用戶參考是否可以發(fā)送數(shù)據(jù)或報文。
[0058]本實施方式中,指令解析模塊200根據(jù)系統(tǒng)配置請求指令完成對所述寄存器進(jìn)行配置后,反饋所配置的寄存器的配置結(jié)果;
接收并保存反饋的所有配置結(jié)果,并根據(jù)保存的配置結(jié)果生成應(yīng)答信號進(jìn)行輸出。
[0059]本實施方式中,指令解析模塊200若同時對多個內(nèi)核的同一寄存器進(jìn)行配置,那么配置結(jié)束時,將會收到來自于多個內(nèi)核中相同寄存器的不同反饋結(jié)果,且反饋的結(jié)果中可能包括正確的應(yīng)答信號或是錯誤的應(yīng)答信號等,同時,每個內(nèi)核反饋結(jié)果的時刻也是不固定的,其反饋結(jié)果的時刻可能在同一時刻,也可能有先有后,如此,在接收到反饋信號后,生成應(yīng)答信號包含的信息以及發(fā)出的指令必然有所不同。
[0060]本實施方式中,生成的應(yīng)答信號可以為配置成功信號、配置超時信號、配置錯誤信
V寸O
[0061]本發(fā)明的優(yōu)選實施方式中,當(dāng)內(nèi)核中的信號返回后,指令解析模塊200需要判斷在系統(tǒng)預(yù)設(shè)時間內(nèi),對應(yīng)所述寄存器的所有配置結(jié)果是否全部反饋。
[0062]指令解析模塊200若判定對應(yīng)所述寄存器的所有配置結(jié)果未全部反饋,則輸出的應(yīng)答信號為配置錯誤信號,并在發(fā)送所述應(yīng)答信號的同時結(jié)束當(dāng)前系統(tǒng)配置指令,標(biāo)識本次配置失敗。指令解析模塊200若判定所有配置結(jié)果全部反饋,則需要進(jìn)一步判斷反饋的配置結(jié)果是否全部正確;
若是,則輸出的應(yīng)答信號為配置成功信號;
若否,則輸出的應(yīng)答信號為配置錯誤信號,并在發(fā)送所述應(yīng)答信號的同時結(jié)束當(dāng)前系統(tǒng)配置指令,標(biāo)識本次配置失敗。
[0063]進(jìn)一步的,在本發(fā)明的其他實施方式中,指令解析模塊200還可以將產(chǎn)生配置結(jié)果錯誤信號或產(chǎn)生配置延時信號的相應(yīng)寄存器的詳細(xì)信息進(jìn)行輸出,例如:產(chǎn)生錯誤或延時的寄存器的基地址和偏移地址,錯誤產(chǎn)生或延時產(chǎn)生的原因等,以供后續(xù)分析參考,在此不做詳細(xì)贅述。
[0064]本示例中,在所述并行配置寄存器的所有比特位置全部為I的情況下,指令解析模塊200對內(nèi)核芯片的寄存器進(jìn)行并行配置過程如下:
發(fā)送并行配置地址Ba+寄存器I地址O1,完成內(nèi)核1-η中寄存器I的配置;
重復(fù)上述步驟,發(fā)送并行配置地址Ba+寄存器m地址0m,完成內(nèi)核1-η中寄存器m的配置,至此,所有內(nèi)核中的寄存器配置結(jié)束。
[0065]如此,由于米用并行配置,若系統(tǒng)中具有η個內(nèi)核,每個內(nèi)核中設(shè)置有m個寄存器,那么,完成全部寄存器的配置將需要對其配置η次,相當(dāng)于傳統(tǒng)方法中配置一個內(nèi)核的時間,若需要對所述內(nèi)核中的全部寄存器進(jìn)行配置,本發(fā)明的同時配置多個內(nèi)核寄存器的方法及裝置相比于傳統(tǒng)的配置方式,配置效率提高了 η倍。
[0066]與現(xiàn)有技術(shù)相比,本發(fā)明的同時配置多個內(nèi)核寄存器的方法及裝置,通過在系統(tǒng)多內(nèi)核架構(gòu)中增加一并行配置基地址以及并行配置使能寄存器,發(fā)送一條指令即可以同時配置多個內(nèi)核寄存器,提高了采用多內(nèi)核架構(gòu)的芯片的寄存器配置效率,而且,該技術(shù)與簡單的廣播方式不同,它合理地處理了反饋結(jié)果,會記錄多個內(nèi)核反饋結(jié)果的狀態(tài),并上報給上層控制邏輯,例如:CPU等。另外,該方法及裝置還可完全兼容傳統(tǒng)的配置方法及裝置,實現(xiàn)簡單,可被用戶廣泛接受。
[0067]為了描述的方便,描述以上裝置時以功能分為各種模塊分別描述。當(dāng)然,在實施本申請時可以把各模塊的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
[0068]通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以保存在保存介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,信息推送服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施方式或者實施方式的某些部分所述的方法。
[0069]以上所描述的裝置實施方式僅僅是示意性的,其中所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)模塊上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施方式方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
[0070]本申請可用于眾多通用或?qū)S玫挠嬎阆到y(tǒng)環(huán)境或配置中。例如:個人計算機、信息推送服務(wù)器計算機、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理模塊系統(tǒng)、基于微處理模塊的系統(tǒng)、置頂盒、可編程的消費電子設(shè)備、網(wǎng)絡(luò)PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。
[0071]本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括保存設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機保存介質(zhì)中。
[0072]應(yīng)當(dāng)理解,雖然本說明書按照實施方式加以描述,但并非每個實施方式僅包含一個獨立的技術(shù)方案,說明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說明書作為一個整體,各實施方式中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實施方式。
[0073]上文所列出的一系列的詳細(xì)說明僅僅是針對本發(fā)明的可行性實施方式的具體說明,它們并非用以限制本發(fā)明的保護(hù)范圍,凡未脫離本發(fā)明技藝精神所作的等效實施方式或變更均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種同時配置多個內(nèi)核寄存器的方法,其特征在于, 所述方法包括: 在系統(tǒng)多內(nèi)核架構(gòu)中增加一并行配置基地址,所述并行配置基地址用于執(zhí)行多內(nèi)核并行配置; 接收系統(tǒng)配置請求指令,所述系統(tǒng)配置請求指令包括計劃配置寄存器的基地址和偏移地址; 判斷所述系統(tǒng)配置請求指令中的基地址是并行配置基地址還是獨立的配置基地址; 若所述系統(tǒng)配置請求指令中的基地址為獨立的配置基地址,則查詢所述配置基地址指向的系統(tǒng)內(nèi)核,并對所述系統(tǒng)內(nèi)核中對應(yīng)偏移地址的寄存器進(jìn)行配置; 若所述系統(tǒng)配置請求指令中的基地址為并行配置基地址,則對所述系統(tǒng)內(nèi)核中對應(yīng)所述偏移地址的所有寄存器進(jìn)行同時配置。
2.根據(jù)權(quán)利要求1所述的同時配置多個內(nèi)核寄存器的方法,其特征在于,所述方法還包括: 在系統(tǒng)多內(nèi)核架構(gòu)中增加一并行配置使能寄存器,所述并行配置使能寄存器用于存儲是否對所述內(nèi)核使能并行配置的使能指令; 若所述配置請求指令中的基地址指向所述并行配置基地址,則查詢所述并行配置使能寄存器,根據(jù)所述并行配置使能寄存器存儲的使能指令選擇待配置所述系統(tǒng)內(nèi)核。
3.根據(jù)權(quán)利要求2所述的同時配置多個內(nèi)核寄存器的方法,其特征在于,所述方法還包括: 對所述并行配置使能寄存器預(yù)配置; 所述并行配置寄存器的位寬等于系統(tǒng)內(nèi)核數(shù)量,其中每一比特對應(yīng)一個系統(tǒng)內(nèi)核的基地址的并行配置使能狀態(tài); 若對應(yīng)所述基地址的所述比特位置為I,則表示所述并行配置請求指令下發(fā)后,所述基地址下的寄存器允許配置; 若對應(yīng)所述基地址的所述比特位置為O,則表示所述并行配置請求指令下發(fā)后,對所述基地址下的寄存器不允許配置。
4.根據(jù)權(quán)利要求3所述的同時配置多個內(nèi)核寄存器的方法,其特征在于,所述方法還包括: 根據(jù)系統(tǒng)配置請求指令完成對所述寄存器進(jìn)行配置后,反饋所配置的寄存器的配置結(jié)果; 接收并保存反饋的所有配置結(jié)果,并根據(jù)保存的配置結(jié)果生成應(yīng)答信號進(jìn)行輸出。
5.根據(jù)權(quán)利要求4所述的同時配置多個內(nèi)核寄存器的方法,其特征在于,“接收并保存反饋的所有配置結(jié)果,根據(jù)保存的配置結(jié)果生成應(yīng)答信號進(jìn)行輸出”,具體包括: 在系統(tǒng)預(yù)設(shè)時間內(nèi),判斷對應(yīng)所述寄存器的所有配置結(jié)果是否全部反饋, 若所有配置結(jié)果未完全反饋,則輸出的應(yīng)答信號為配置超時信號,并在發(fā)送所述應(yīng)答信號的同時結(jié)束當(dāng)前系統(tǒng)配置指令,標(biāo)識本次配置失?。? 若所有配置結(jié)果均完全反饋,則繼續(xù)判斷所有配置結(jié)果是否全部正確, 若是,則輸出的應(yīng)答信號為配置成功信號; 若否,則輸出的應(yīng)答信號為配置錯誤信號,并在發(fā)送所述應(yīng)答信號的同時結(jié)束當(dāng)前系統(tǒng)配置指令,標(biāo)識本次配置失敗。
6.一種同時配置多個內(nèi)核寄存器的裝置,其特征在于,所述裝置包括:控制模塊、指令解析模塊; 所述指令解析模塊中設(shè)置并行配置基地址,所述并行配置基地址用于執(zhí)行多內(nèi)核并行配置; 所述控制模塊用于發(fā)送系統(tǒng)配置請求指令,所述系統(tǒng)配置請求指令包括計劃配置寄存器的基地址和偏移地址; 所述指令解析模塊用于接收系統(tǒng)配置請求指令; 判斷所述系統(tǒng)配置請求指令中的基地址是并行配置基地址還是獨立的配置基地址; 若所述系統(tǒng)配置請求指令中的基地址為獨立的配置基地址,則查詢所述配置基地址指向的系統(tǒng)內(nèi)核,并對所述系統(tǒng)內(nèi)核中對應(yīng)偏移地址的寄存器進(jìn)行配置; 若所述系統(tǒng)配置請求指令中的基地址為并行配置基地址,則對所述系統(tǒng)內(nèi)核中對應(yīng)所述偏移地址的所有寄存器進(jìn)行同時配置。
7.根據(jù)權(quán)利要求6所述的同時配置多個內(nèi)核寄存器的裝置,其特征在于, 所述指令解析模塊中還設(shè)置一并行配置使能寄存器,所述并行配置使能寄存器用于存儲是否對所述內(nèi)核使能并行配置的使能指令; 所述指令解析模塊還用于: 若所述配置請求指令中的基地址指向所述并行配置基地址,則查詢所述并行配置使能寄存器,根據(jù)所述并行配置使能寄存器存儲的使能指令選擇待配置所述系統(tǒng)內(nèi)核。
8.根據(jù)權(quán)利要求7所述的同時配置多個內(nèi)核寄存器的裝置,其特征在于,所述指令解析模塊還用于: 對所述并行配置使能寄存器預(yù)配置; 所述并行配置寄存器的位寬等于系統(tǒng)內(nèi)核數(shù)量,其中每一比特對應(yīng)一個系統(tǒng)內(nèi)核的基地址的并行配置使能狀態(tài); 若對應(yīng)所述基地址的所述比特位置為I,則表示所述并行配置請求指令下發(fā)后,所述基地址下的寄存器允許配置; 若對應(yīng)所述基地址的所述比特位置為O,則表示所述并行配置請求指令下發(fā)后,對所述基地址下的寄存器不允許配置。
9.根據(jù)權(quán)利要求8所述的同時配置多個內(nèi)核寄存器的裝置,其特征在于,所述指令解析模塊還用于: 根據(jù)系統(tǒng)配置請求指令完成對所述寄存器進(jìn)行配置后,反饋所配置的寄存器的配置結(jié)果; 接收并保存反饋的所有配置結(jié)果,并根據(jù)保存的配置結(jié)果生成應(yīng)答信號進(jìn)行輸出。
10.根據(jù)權(quán)利要求9所述的同時配置多個內(nèi)核寄存器的裝置,其特征在于,所述指令解析模塊還用于: 在系統(tǒng)預(yù)設(shè)時間內(nèi),判斷對應(yīng)所述寄存器的所有配置結(jié)果是否全部反饋, 若所有配置結(jié)果未完全反饋,則輸出的應(yīng)答信號為配置超時信號,并在發(fā)送所述應(yīng)答信號的同時結(jié)束當(dāng)前系統(tǒng)配置指令,標(biāo)識本次配置失??; 若所有配置結(jié)果均完全反饋,則繼續(xù)判斷所有配置結(jié)果是否全部正確, 若是,則輸出的應(yīng)答信號為配置成功信號; 若否,則輸出的應(yīng)答信號為配置錯誤信號,并在發(fā)送所述應(yīng)答信號的同時結(jié)束當(dāng)前系統(tǒng)配置指令,標(biāo)識本次配置失敗。
【文檔編號】G06F9/30GK104461460SQ201410630531
【公開日】2015年3月25日 申請日期:2014年11月11日 優(yōu)先權(quán)日:2014年11月11日
【發(fā)明者】賈復(fù)山, 葉楚楚 申請人:盛科網(wǎng)絡(luò)(蘇州)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1