專利名稱:間接寄存器的模擬操作方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及光傳輸領(lǐng)域,尤其涉及一種間接寄存器的模擬操作方法及裝置。
背景技術(shù):
光傳輸在現(xiàn)代通信中占有非常重要的地位,隨著現(xiàn)代通信技術(shù)的發(fā)展,光通信設(shè)備的功能越來越強(qiáng)大,光通信設(shè)備中使用的嵌入式芯片的復(fù)雜度也隨之增加,并且嵌入式 芯片的特性也越來越多,以前的嵌入式芯片大多是采用直接讀寫寄存器的方式來進(jìn)行CPU 與寄存器之間的數(shù)據(jù)交互,但由于嵌入式芯片的復(fù)雜度增加后,受到芯片硬件資源、軟件接 口復(fù)雜度等方面的限制,目前的芯片往往采用間接寄存器讀寫方式以節(jié)約資源,特別地,針 對需要在諸如實驗室中利用間接寄存器進(jìn)行試驗的場景,可以進(jìn)一步采用軟件仿真的方式 來對硬件間接寄存器進(jìn)行模擬,以減少對硬件資源的依賴。在現(xiàn)有技術(shù)中,由于不同的硬件間接寄存器具有不同的操作元素,因此對不同的硬件間接寄存器進(jìn)行軟件模擬操作時,就需要分別針對具有不同操作元素的硬件間接寄存 器采用不同的模擬操作方式,目前,針對具有不同操作元素的硬件間接寄存器,還沒有提供 一種通用的間接寄存器模擬操作方式。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種間接寄存器的模擬操作方法及裝置,用以提供一種通用的間接寄存器模擬操作方式。一種間接寄存器的模擬操作方法,包括間接寄存器模擬操作裝置確定待模擬操作的間接寄存器的地址,以及與所述待模擬操作的間接寄存器相關(guān)的操作元素;間接寄存 器模擬操作裝置從預(yù)先設(shè)置的、對應(yīng)于所有間接寄存器相關(guān)的所有操作元素的變量中,確 定與所述確定的操作元素對應(yīng)的變量;間接寄存器模擬操作裝置根據(jù)所述確定的地址和操 作元素,執(zhí)行對所述確定的變量的配置;間接寄存器模擬操作裝置根據(jù)對所述待模擬操作 的間接寄存器進(jìn)行操作的方式,利用所述配置的變量,對所述待模擬操作的間接寄存器進(jìn)行操作。較佳地,所述所有操作元素至少包括用于控制是否對間接寄存器中的數(shù)據(jù)啟動轉(zhuǎn)移的控制位、用于指示對間接寄存器中的數(shù)據(jù)的轉(zhuǎn)移是否完成的狀態(tài)位、用于指示間接 寄存器具有的功能的功能號、用于指示當(dāng)前對間接寄存器進(jìn)行的操作是讀操作或?qū)懖僮鞯?讀寫標(biāo)識、用于指示間接寄存器中數(shù)據(jù)的序號的通道號、用于指示訪問間接寄存器中的數(shù) 據(jù)所用數(shù)據(jù)接口的數(shù)據(jù)外部接口。較佳地,間接寄存器模擬操作裝置根據(jù)對所述待模擬操作的間接寄存器進(jìn)行操作 的方式,利用所述配置的變量,對所述待模擬操作的間接寄存器進(jìn)行操作具體包括間接寄 存器模擬操作裝置判斷是否對所述確定的操作元素對應(yīng)的所有變量都進(jìn)行了配置;當(dāng)判斷 結(jié)果為是時,間接寄存器模擬操作裝置根據(jù)對所述待模擬操作的間接寄存器進(jìn)行操作的方 式,利用所述配置的變量,對所述待模擬操作的間接寄存器進(jìn)行操作;當(dāng)判斷結(jié)果為否時,間接寄存器模擬操作裝置執(zhí)行對所述確定的操作元素對應(yīng)的變量中還沒有被配置的變量 的配置,并在確定出對所述確定的操作元素對應(yīng)的所有變量都進(jìn)行了配置時,根據(jù)對所述 待模擬操作的間接寄存器進(jìn)行操作的方式,利用與所述確定的操作元素對應(yīng)的配置后的各 變量,對所述待模擬操作的間接寄存器進(jìn)行操作。較佳地,間接寄存器模擬操作裝置判斷是否對所述確定的操作元素對應(yīng)的所有變 量都進(jìn)行了配置前,還包括間接寄存器模擬操作裝置根據(jù)所述地址,從預(yù)先設(shè)置的寄存器 的地址與寄存器類型的對應(yīng)關(guān)系中,確定出所述待模擬操作的間接寄存器類型為間接寄存器。一種間接寄存器的模擬操作裝置,包括地址和操作元素確定單元,確定待模擬操 作的間接寄存器的地址,以及與所述待模擬操作的間接寄存器相關(guān)的操作元素;變量確定 單元,用于從預(yù)先設(shè)置的、對應(yīng)于所有間接寄存器相關(guān)的所有操作元素的變量中,確定與地 址和操作元素確定單元確定的操作元素對應(yīng)的變量;配置單元,用于根據(jù)地址和操作元素 確定單元確定的地址和操作元素,執(zhí)行對變量確定單元確定的變量的配置;操作單元,用于 根據(jù)對所述待模擬操作的間接寄存器進(jìn)行操作的方式,利用配置單元配置的變量,對所述 待模擬操作的間接寄存器進(jìn)行操作。本發(fā)明實施例提供的間接寄存器的模擬操作方案通過間接寄存器模擬操作裝置 確定待模擬操作的間接寄存器的地址,以及與所述待模擬操作的間接寄存器相關(guān)的操作元 素;從預(yù)先設(shè)置的、對應(yīng)于所有間接寄存器相關(guān)的所有操作元素的變量中,確定與所述確定 的操作元素對應(yīng)的變量;根據(jù)所述確定的地址和操作元素,執(zhí)行對所述確定的變量的配置; 根據(jù)對所述待模擬操作的間接寄存器進(jìn)行操作的方式,利用所述配置的變量,對所述待模 擬操作的間接寄存器進(jìn)行操作,從而提供了一種可通用的間接寄存器模擬操作方式,該方 式不會隨著不同間接寄存器所具有的操作元素的不同而不同,可以大大方便對任意間接寄 存器的模擬操作,提高對間接寄存器模擬操作的通用度。
圖1為本發(fā)明實施例提供的一種間接寄存器的模擬操作方法的具體流程示意圖;圖2為本發(fā)明實施例中步驟13的具體實現(xiàn)過程示意圖;圖3為本發(fā)明實施例提供的間接寄存器的模擬操作方法在實際應(yīng)用中的過程示 意圖;圖4為本發(fā)明實施例提供的一種間接寄存器的模擬操作裝置的具體結(jié)構(gòu)示意圖。
具體實施例方式提供了一種可通用的間接寄存器模擬操作方式,能夠適用于對任意間接寄存器進(jìn) 行模擬操作的情況,該方式不會隨著不同間接寄存器所具有的操作元素的不同而不同,可 以大大方便對任意間接寄存器的模擬操作,提高對間接寄存器模擬操作的通用度。下面結(jié)合各個附圖對本發(fā)明實施例技術(shù)方案的主要實現(xiàn)原理具體實施方式
及其 對應(yīng)能夠達(dá)到的有益效果進(jìn)行詳細(xì)的闡述。如圖1所示,為本發(fā)明實施例提供的一種間接寄存器的模擬操作方法的具體流程 示意圖,主要包括以下步驟
步驟11,間接寄存器模擬操作裝置確定待模擬操作的間接寄存器的地址,以及與 該待模擬操作的間接寄存器相關(guān)的操作元素;步驟12,間接寄存器模擬操作裝置從預(yù)先設(shè)置的、對應(yīng)于所有間接寄存器相關(guān)的 所有操作元素的變量中,確定與確定的操作元素對應(yīng)的變量,其中,預(yù)先設(shè)置變量的方式具 體為針對與所有間接寄存器相關(guān)的所有操作元素,分別設(shè)置對應(yīng)所有操作元素中各個操 作元素的變量,其中,這里所說的所有操作元素至少包括用于控制是否對間接寄存器中的 數(shù)據(jù)啟動轉(zhuǎn)移的控制位、用于指示對間接寄存器中的數(shù)據(jù)的轉(zhuǎn)移是否完成的狀態(tài)位、用于 指示間接寄存器具有的功能的功能號、用于指示當(dāng)前對間接寄存器進(jìn)行的操作是讀操作或 寫操作的讀寫標(biāo)識、用于指示間接寄存器中數(shù)據(jù)的序號的通道號、用于指示訪問間接寄存 器中的數(shù)據(jù)所用數(shù)據(jù)接口的數(shù)據(jù)外部接口;步驟13,間接寄存器模擬操作裝置根據(jù)待模擬操作的該間接寄存器的地址和操作 元素,執(zhí)行與該任意間接寄存器的操作元素相對應(yīng)的變量的配置,具體地,執(zhí)行對間接寄存 器的操作元素對應(yīng)的變量進(jìn)行配置時,配置對應(yīng)變量的過程包括分別對操作元素進(jìn)行配置 以及對操作元素屬性進(jìn)行配置,比如,針對上述操作元素,控制位一般為lbit,其屬性為其 所對應(yīng)的寄存器的地址,當(dāng)控制位配置為1時,表示啟動轉(zhuǎn)移;狀態(tài)位通常所也為lbit,其 屬性為其所對應(yīng)的寄存器的地址,當(dāng)該狀態(tài)位配置為1時,表示對于該狀態(tài)位對應(yīng)的寄存 器中的數(shù)據(jù)轉(zhuǎn)移操作完成;功能號通常為多個bit,其屬性為該功能號所對應(yīng)的寄存器的 地址;讀寫標(biāo)識通常占用lbit,其屬性為該讀寫標(biāo)識對應(yīng)的寄存器的地址,當(dāng)讀寫標(biāo)識配 置為1時,表示對于該讀寫標(biāo)識對應(yīng)的寄存器進(jìn)行讀操作;由于一個寄存器可能存在多個 數(shù)據(jù)接口,比如,可能會有η個數(shù)據(jù)接口,因此,數(shù)據(jù)接口的屬性為數(shù)據(jù)接口 1 η所對應(yīng)的 寄存器地址,當(dāng)任一數(shù)據(jù)接口配置為1時,表示可以通過該任一數(shù)據(jù)接口,從與該任一數(shù)據(jù) 接口所對應(yīng)的寄存器讀取數(shù)據(jù);步驟14,間接寄存器模擬操作裝置根據(jù)對該待模擬操作的間接寄存器進(jìn)行操作的 方式,利用配置完成的變量,對該待模擬操作的間接寄存器進(jìn)行操作,對間接寄存器進(jìn)行模 擬的過程為當(dāng)需要對任意間接寄存器進(jìn)行模擬寫操作時,在準(zhǔn)備好需寫入該任意間接寄 存器的數(shù)據(jù)以及相關(guān)的轉(zhuǎn)移請求的屬性后,通過將控制位配置為1來啟動數(shù)據(jù)的轉(zhuǎn)移,并 檢測狀態(tài)位來確定數(shù)據(jù)轉(zhuǎn)移過程是否完成,當(dāng)檢測到狀態(tài)位為1時,則說明數(shù)據(jù)已經(jīng)寫入 該任意間接寄存器,對該間接寄存器的模擬寫操作已完成,相應(yīng)地,當(dāng)需要對間接寄存器進(jìn) 行模擬讀操作時,則首先需要確定當(dāng)前被配置為1的數(shù)據(jù)接口,并從被配置為1的數(shù)據(jù)接口 讀取該間接寄存器中存儲的數(shù)據(jù),在檢測到狀態(tài)位為1時,說明數(shù)據(jù)已經(jīng)從間接寄存器中 讀取完成,對該間接寄存器的模擬讀操作已完成。根據(jù)本發(fā)明實施例提供的該間接寄存器的模擬操作方法可知,由于本方法中在對 任意待模擬操作的間接寄存器進(jìn)行模擬操作時,間接寄存器模擬操作裝置能夠從預(yù)先設(shè)置 的與所有間接寄存器相關(guān)的所有操作元素中各個操作元素分別對應(yīng)的變量中,找到并設(shè)置 與該待模擬操作的間接寄存器的操作元素相對應(yīng)的變量,從而可以根據(jù)對該待模擬操作的 間接寄存器進(jìn)行操作的方式,利用配置的變量,對該待模擬操作的間接寄存器進(jìn)行操作,因 此,本發(fā)明實施例避免了現(xiàn)有技術(shù)中針對具有不同操作元素的不同間接寄存器,需分別采 用不同的模擬操作方式而帶來的麻煩,本發(fā)明實施例提供的該方法提供的是一種可通用的 間接寄存器模擬操作方式,該方式不會隨著不同間接寄存器所具有的操作元素的不同而不同,可以大大方便對任意間接寄存器的模擬操作,提高對間接寄存器模擬操作的通用度。以下進(jìn)一步對本發(fā)明實施例提供的該方法的步驟進(jìn)行詳細(xì)說明由于對任意間接寄存器進(jìn)行模擬操作的基礎(chǔ)是對該任意間接寄存器的操作元素 都要進(jìn)行配置,因此,針對上述步驟13,其具體實現(xiàn)過程可以包括如圖2所示的以下步驟步驟21,間接寄存器模擬操作裝置判斷是否待模擬操作的間接寄存器的操作元素 對應(yīng)的所有變量都進(jìn)行了配置,當(dāng)判斷結(jié)果為是時,執(zhí)行步驟22,否則,執(zhí)行步驟23 ;步驟22,間接寄存器模擬操作裝置根據(jù)對該待模擬操作的間接寄存器進(jìn)行操作的 方式,利用配置的變量,對該待模擬操作的間接寄存器進(jìn)行操作,流程結(jié)束;步驟23,間接寄存器模擬操作裝置執(zhí)行對確定的操作元素對應(yīng)的變量中還沒有被 配置的變量的配置,并在確定出對步驟11中確定的操作元素對應(yīng)的所有變量都進(jìn)行了配 置時,根據(jù)對該待模擬操作的間接寄存器進(jìn)行操作的方式,利用與確定的操作元素對應(yīng)的 配置后的各變量,對該待模擬操作的間接寄存器進(jìn)行操作,流程結(jié)束。此外,本發(fā)明實施例提供的該方法中,在執(zhí)行上述步驟21前,還可以確定待模擬 的寄存器的類型,具體地,針對上述待模擬的間接寄存器,在執(zhí)行步驟21前,還可以包括 間接寄存器模擬操作裝置根據(jù)待模擬操作的間接寄存器的地址,從預(yù)先設(shè)置的寄存器的地 址與寄存器類型的對應(yīng)關(guān)系中,確定出該待模擬操作的間接寄存器類型為間接寄存器。以下以本發(fā)明實施例提供的該方法在實際應(yīng)用中的過程為例,具體說明本發(fā)明實 施例提供的該方法的實施方式,該過程的具體示意圖如圖3所示步驟31,針對與所有間接寄存器相關(guān)的所有操作元素,在對間接寄存器進(jìn)行軟件 模擬的程序中,分別設(shè)置與該所有操作元素中的各個操作元素相對應(yīng)的變量;步驟32,在本發(fā)明實施例中,以以太網(wǎng)MAC地址配置功能為例,需要對如下表1中 的各間接寄存器進(jìn)行模擬操作表1
權(quán)利要求
一種間接寄存器的模擬操作方法,其特征在于,包括間接寄存器模擬操作裝置確定待模擬操作的間接寄存器的地址,以及與所述待模擬操作的間接寄存器相關(guān)的操作元素;間接寄存器模擬操作裝置從預(yù)先設(shè)置的、對應(yīng)于所有間接寄存器相關(guān)的所有操作元素的變量中,確定與所述確定的操作元素對應(yīng)的變量;間接寄存器模擬操作裝置根據(jù)所述確定的地址和操作元素,執(zhí)行對所述確定的變量的配置;間接寄存器模擬操作裝置根據(jù)對所述待模擬操作的間接寄存器進(jìn)行操作的方式,利用所述配置的變量,對所述待模擬操作的間接寄存器進(jìn)行操作。
2.如權(quán)利要求1所述的方法,其特征在于,所述所有操作元素至少包括用于控制是否對間接寄存器中的數(shù)據(jù)啟動轉(zhuǎn)移的控制位、用于指示對間接寄存器中的 數(shù)據(jù)的轉(zhuǎn)移是否完成的狀態(tài)位、用于指示間接寄存器具有的功能的功能號、用于指示當(dāng)前 對間接寄存器進(jìn)行的操作是讀操作或?qū)懖僮鞯淖x寫標(biāo)識、用于指示間接寄存器中數(shù)據(jù)的序 號的通道號、用于指示訪問間接寄存器中的數(shù)據(jù)所用數(shù)據(jù)接口的數(shù)據(jù)外部接口。
3.如權(quán)利要求1所述的方法,其特征在于,間接寄存器模擬操作裝置根據(jù)對所述待模 擬操作的間接寄存器進(jìn)行操作的方式,利用所述配置的變量,對所述待模擬操作的間接寄 存器進(jìn)行操作具體包括間接寄存器模擬操作裝置判斷是否對所述確定的操作元素對應(yīng)的所有變量都進(jìn)行了 配置;當(dāng)判斷結(jié)果為是時,間接寄存器模擬操作裝置根據(jù)對所述待模擬操作的間接寄存器進(jìn) 行操作的方式,利用所述配置的變量,對所述待模擬操作的間接寄存器進(jìn)行操作;當(dāng)判斷結(jié)果為否時,間接寄存器模擬操作裝置執(zhí)行對所述確定的操作元素對應(yīng)的變量 中還沒有被配置的變量的配置,并在確定出對所述確定的操作元素對應(yīng)的所有變量都進(jìn)行 了配置時,根據(jù)對所述待模擬操作的間接寄存器進(jìn)行操作的方式,利用與所述確定的操作 元素對應(yīng)的配置后的各變量,對所述待模擬操作的間接寄存器進(jìn)行操作。
4.如權(quán)利要求3所述的方法,其特征在于,間接寄存器模擬操作裝置判斷是否對所述 確定的操作元素對應(yīng)的所有變量都進(jìn)行了配置前,還包括間接寄存器模擬操作裝置根據(jù)所述地址,從預(yù)先設(shè)置的寄存器的地址與寄存器類型的 對應(yīng)關(guān)系中,確定出所述待模擬操作的間接寄存器類型為間接寄存器。
5.一種間接寄存器的模擬操作裝置,其特征在于,包括地址和操作元素確定單元,確定待模擬操作的間接寄存器的地址,以及與所述待模擬 操作的間接寄存器相關(guān)的操作元素;變量確定單元,用于從預(yù)先設(shè)置的、對應(yīng)于所有間接寄存器相關(guān)的所有操作元素的變 量中,確定與地址和操作元素確定單元確定的操作元素對應(yīng)的變量;配置單元,用于根據(jù)地址和操作元素確定單元確定的地址和操作元素,執(zhí)行對變量確 定單元確定的變量的配置;操作單元,用于根據(jù)對所述待模擬操作的間接寄存器進(jìn)行操作的方式,利用配置單元 配置的變量,對所述待模擬操作的間接寄存器進(jìn)行操作。
6.如權(quán)利要求5所述的裝置,其特征在于,所述所有操作元素至少包括用于控制是否對間接寄存器中的數(shù)據(jù)啟動轉(zhuǎn)移的控制位、用于指示對間接寄存器中的 數(shù)據(jù)的轉(zhuǎn)移是否完成的狀態(tài)位、用于指示間接寄存器具有的功能的功能號、用于指示當(dāng)前 對間接寄存器進(jìn)行的操作是讀操作或?qū)懖僮鞯淖x寫標(biāo)識、用于指示間接寄存器中數(shù)據(jù)的序 號的通道號、用于指示訪問間接寄存器中的數(shù)據(jù)所用數(shù)據(jù)接口的數(shù)據(jù)外部接口。
7.如權(quán)利要求5所述的裝置,其特征在于,所述所述操作單元具體包括判斷模塊,用于確定是否對所述確定的操作元素對應(yīng)的所有變量都進(jìn)行了配置;操作模塊,用于當(dāng)判斷模塊得到的判斷結(jié)果為是時,根據(jù)對所述待模擬操作的間接寄 存器進(jìn)行操作的方式,利用所述配置的變量,對所述待模擬操作的間接寄存器進(jìn)行操作,以 及當(dāng)判斷模塊得到的判斷結(jié)果為否時,執(zhí)行對所述確定的操作元素對應(yīng)的變量中還沒有被 配置的變量的配置,并在確定出對所述確定的操作元素對應(yīng)的所有變量都進(jìn)行了配置時, 根據(jù)對所述待模擬操作的間接寄存器進(jìn)行操作的方式,利用與所述確定的操作元素對應(yīng)的 配置后的各變量,對所述待模擬操作的間接寄存器進(jìn)行操作。
8.如權(quán)利要求7所述的裝置,其特征在于,所述操作單元還包括確定模塊,用于在判斷模塊判斷是否對所述確定的操作元素對應(yīng)的所有變量都進(jìn)行了 配置前,根據(jù)所述地址,從預(yù)先設(shè)置的寄存器的地址與寄存器類型的對應(yīng)關(guān)系中,確定出所 述待模擬操作的間接寄存器類型為間接寄存器。
全文摘要
本發(fā)明公開了一種間接寄存器的模擬操作方法及裝置,能夠適用于對任意間接寄存器進(jìn)行模擬操作的情況,該方式不會隨著不同間接寄存器所具有的操作元素的不同而不同,可以提高對間接寄存器模擬操作的通用度。本發(fā)明公開的該方法包括間接寄存器模擬操作裝置確定待模擬操作的間接寄存器的地址,以及與所述待模擬操作的間接寄存器相關(guān)的操作元素;從預(yù)先設(shè)置的、對應(yīng)于所有間接寄存器相關(guān)的所有操作元素的變量中,確定與所述確定的操作元素對應(yīng)的變量;根據(jù)所述確定的地址和操作元素,執(zhí)行對所述確定的變量的配置;根據(jù)對所述待模擬操作的間接寄存器進(jìn)行操作的方式,利用所述配置的變量,對所述待模擬操作的間接寄存器進(jìn)行操作。
文檔編號G06F9/30GK101989189SQ200910161038
公開日2011年3月23日 申請日期2009年7月30日 優(yōu)先權(quán)日2009年7月30日
發(fā)明者劉林 申請人:中興通訊股份有限公司