對象是一種"或"的關(guān)系。
[0068] 請參考圖1,圖1為適用于現(xiàn)有技術(shù)中間接尋址的一種可能的硬件系統(tǒng)示意圖。硬 件系統(tǒng)包括:CPU、多個存儲單元、以及與CPU和多個存儲單元均連接的接口電路。每個存儲 單元包含多個間接尋址寄存器,為了區(qū)分存儲單元包含的多個間接尋址寄存器,每個間接 尋址寄存器用一個間接偏移地址來標(biāo)識。接口電路包含多個直接尋址寄存器,每個直接尋 址寄存器占用一個直接尋址地址。多個間接尋址寄存器共用接口電路中的多個直接尋址寄 存器。
[0069] 接口電路包含的多個直接尋址寄存器中有一個直接尋址寄存器是用于存儲間接 尋址地址的。當(dāng)CPU訪問一個間接尋址寄存器時,CPU會啟動一次對間接尋址寄存器的寫 操作或讀操作,在直接尋址寄存器中配置相應(yīng)的間接尋址地址,并且將間接尋址地址寫入 接口電路中的一個直接尋址寄存器,接口電路對直接尋址寄存器中的一個間接尋址地址進(jìn) 行譯碼,根據(jù)譯碼結(jié)果選中一個存儲單元,并從選中的存儲單元中選擇出一個間接尋址寄 存器,作為CPU請求訪問的間接尋址寄存器。
[0070] 由于在CPU通過接口電路啟動一次對間接尋址寄存器的寫操作或者讀操作的過 程中,CPU僅在直接尋址寄存器中配置了一個間接尋址地址,所以接口電路僅能獲得一個間 接尋址地址,對一個間接尋址地址譯碼后選擇出一個間接尋址寄存器作為CPU請求訪問的 間接尋址寄存器。
[0071] 為此,本發(fā)明實(shí)施例首先對現(xiàn)有技術(shù)中的接口電路進(jìn)行了改進(jìn)。在接口電路中設(shè) 計了第一直接尋址寄存器和第二直接尋址寄存器。請參考圖2和圖3,圖2為本發(fā)明實(shí)施例 中包含一個第一直接尋址寄存器和多個第二直接尋址寄存器的接口電路的示意圖,圖2中 每個第二直接尋址寄存器與一個存儲單元連接。圖3為本發(fā)明實(shí)施例中包含一個第一直接 尋址寄存器和一個第二直接尋址寄存器的接口電路的示意圖,圖3中第二直接尋址寄存器 與所有存儲單元均連接。
[0072] 本發(fā)明實(shí)施例還對現(xiàn)有技術(shù)中的訪問間接尋址寄存器的方法進(jìn)行了改進(jìn)。本發(fā)明 實(shí)施例提供的訪問間接尋址寄存器的方法適用于圖2或圖3所示的接口電路,本發(fā)明實(shí)施 例將間接尋址地址分為兩部分:用于選中存儲單元的部分,以及用于選擇存儲單元內(nèi)的間 接尋址寄存器的部分。
[0073] CPU根據(jù)多個間接尋址地址的用于選中存儲單元的部分生成間接訪問選擇信號, 并將間接選擇信號存入接口電路的第一直接尋址寄存器,CPU根據(jù)多個間接尋址地址的用 于選擇存儲單元內(nèi)的間接尋址寄存器的部分,生成多個間接偏移地址,然后將多個間接偏 移地址存入與存儲單元連接的第二直接尋址寄存器。本發(fā)明實(shí)施例中的間接偏移地址為: 間接尋址寄存器在所屬的存儲單元中的偏移地址,根據(jù)間接偏移地址接口電路能夠從選中 的存儲單元中選擇出間接尋址寄存器。假設(shè)存儲單元1包含間接尋址寄存器10,則可以確 定間接尋址寄存器10的間接偏移地址為0。假設(shè)存儲單元n包含間接尋址寄存器nk,則可 以間接尋址寄存器nk的間接偏移地址為k,同理,假設(shè)存儲單元2包含間接尋址寄存器20, 則可以確定間接尋址寄存器20的間接偏移地址為0。
[0074] 接口電路利用第一直接尋址寄存器存儲間接訪問選擇信號,利用第二直接尋址寄 存器存儲間接偏移地址,接口電路根據(jù)間接訪問選擇信號選中至少兩個存儲單元,根據(jù)間 接偏移地址從選中的存儲單元中選擇間接尋址寄存器,因此,CPU可以實(shí)現(xiàn)并行訪問至少兩 個間接尋址寄存器。
[0075] 請參考圖4,圖4為本發(fā)明實(shí)施例提供的訪問間接尋址寄存器的方法的流程圖。該 方法包括以下步驟:
[0076] 步驟20 :CPU生成間接訪問選擇信號和間接偏移地址,并分別存儲至接口電路中 的第一直接尋址寄存器和第二直接尋址寄存器;
[0077] 步驟21 :所述接口電路根據(jù)第一直接尋址寄存器中存儲的間接訪問選擇信號,選 中至少兩個存儲單元;
[0078] 步驟22 :所述接口電路根據(jù)第二直接尋址寄存器中存儲的間接偏移地址,依次從 每個選中的存儲單元中選擇具有所述間接偏移地址的寄存器,作為所述CPU請求并行訪問 的間接尋址寄存器,所述間接偏移地址為所述間接尋址寄存器在所屬的存儲單元中的地 址。
[0079] 舉例來講,假設(shè)CPU請求并行訪問的兩個間接尋址寄存器分別為:間接尋址寄存 器11和間接尋址寄存器21,則CPU會生成表示間接訪問選擇信號的比特序列為:00010,并 確定出間接尋址寄存器11的間接偏移地址為1,間接尋址寄存器21的間接偏移地址為1, (PU將間接偏移地址是1寫入第二直接尋址寄存器。
[0080] 接口電路從第一直接尋址寄存器中獲得間接訪問選擇信號,由于表示間接訪問選 擇信號的比特序列為:〇〇〇1〇,表示有2個存儲單元被選中,且被選中的存儲單元為:存儲單 元1和存儲單元2,所以接口電路根據(jù)間接訪問選擇信號選中存儲單元1和存儲單元2。接 著,接口電路從第二直接尋址寄存器中獲得間接偏移地址為1,則從存儲單元1中選擇間接 偏移地址是1的間接尋址寄存器11,從存儲單元2中選擇間接偏移地址是1的間接尋址寄 存器21,然后將間接尋址寄存器11和間接尋址寄存器21作為CPU請求并行訪問的間接尋 址寄存器。
[0081] 本發(fā)明另一實(shí)施例中,在執(zhí)行步驟20之后且執(zhí)行步驟21之前,還可以執(zhí)行以下步 驟:
[0082] 所述接口電路確定表示所述間接訪問選擇信號的N種比特序列和每個存儲單元 是否被選中的對應(yīng)關(guān)系。
[0083] -種可能的對應(yīng)關(guān)系為:表示所述間接訪問選擇信號的N種比特序列和每個存儲 單元是否被選中是比特映射的。接口電路可以利用比特映射來確定表示所述間接訪問選擇 信號的N種比特序列和每個存儲單元是否被選中的對應(yīng)關(guān)系,具體為:
[0084] 所述接口電路確定用于表示所述間接訪問選擇信號的比特序列中各個比特的取 值,其中,所述各個比特中的每一個比特與一個存儲單元對應(yīng),所述比特的取值為第一值時 表示所述比特對應(yīng)的存儲單元被選中,所述比特的取值為第二值時表示所述比特對應(yīng)的存 儲單元未被選中。
[0085] 具體來講,間接訪問選擇信號用比特序列表示,比特序列中包含多個比特,每個比 特與一個存儲單元對應(yīng),比特為〇時表示該比特對應(yīng)的存儲單元被選中,比特為1時表示該 比特對應(yīng)的存儲單元未被選中,或者比特為1時表示該比特對應(yīng)的存儲單元被選中,比特 為0時表示該比特對應(yīng)的存儲單元未被選中。
[0086] 接口電路可以確定表示間接訪問選擇信號的比特序列所包含的各個比特的取值, 然后根據(jù)各個比特的取值確定與接口電路連接的各個存儲單元是否被選中。
[0087] 舉例來講,請參考圖5,圖5為本發(fā)明實(shí)施例中表示間接訪問選擇信號的比特序列 與各個存儲單元間的比特映射關(guān)系示意圖。圖4中,間接訪問選擇信號用5個比特表示,第 1個比特至第5個比特分別對應(yīng)存儲單元1至存儲單元5,假設(shè)比特為0時表示該比特對應(yīng) 的存儲單元被選中,比特為1時表示該比特對應(yīng)的存儲單元未被選中。接口電路確定表示 間接訪問選擇信號的比特序列為:11〇〇〇,由于與存儲單元1、存儲單元2及存儲單元3對應(yīng) 的比特均為0,所以接口電路可以確定存儲單元1、存儲單元2及存儲單元3被選中。
[0088] 另一種可能的對應(yīng)關(guān)系如表1所不,表1為表不間接訪問選擇彳目號的N種比特序 列和每個存儲單元是否被選中的對應(yīng)關(guān)系。
[0089] 本發(fā)明實(shí)施例中表示間接訪問選擇信號有的比特序列有N種,每種比特序列表示 多個存儲單元中的哪幾個存儲單元被選中。根據(jù)表示間接訪問選擇信號的比特序列,接口 電路能夠從多個存儲單元中選中至少兩個存儲單元。例如:表示間接訪問選擇信號的比特 序列為:00010,表示有2個存儲單元被選中,且被選中的存儲單元為: