專利名稱:訪問(wèn)控制設(shè)備、方法和存儲(chǔ)器訪問(wèn)控制設(shè)備、方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可以對(duì)存儲(chǔ)器訪問(wèn)予以控制的訪問(wèn)控制設(shè)備。本發(fā)明還涉及訪問(wèn)控制系統(tǒng)、處理器、訪問(wèn)控制方法、存儲(chǔ)器訪問(wèn)控制設(shè)備、存儲(chǔ)器訪問(wèn)控制系統(tǒng)以及存儲(chǔ)器訪問(wèn)控制方法。
背景技術(shù):
在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,采用了多道程序設(shè)計(jì)方法,通過(guò)該方法可以在幾個(gè)進(jìn)程(程序、任務(wù)或者工作)間切換,這樣可以有效地利用計(jì)算機(jī)系統(tǒng)中的各種資源,如存儲(chǔ)器或者CPU。
在這樣一種系統(tǒng)中,存儲(chǔ)器中由一個(gè)進(jìn)程專用的數(shù)據(jù)可能會(huì)被另一個(gè)進(jìn)程看見或者通過(guò)覆蓋而遭到破壞。
為了解決這一問(wèn)題,廣泛使用的一種方法是通過(guò)把進(jìn)程的關(guān)鍵值和要訪問(wèn)的存儲(chǔ)器的存儲(chǔ)器關(guān)鍵值進(jìn)行比較,來(lái)判斷是否應(yīng)該允許訪問(wèn)。所述的“存儲(chǔ)器關(guān)鍵值”是針對(duì)存儲(chǔ)器的每個(gè)預(yù)定大小(比如,4KB)而記錄的信息。2000年12月IBM的題為“z/ArchitecturePrinciples of Operation”的專利SA22-7832-00的3-9頁(yè)到3-12頁(yè)中公開了這項(xiàng)技術(shù)。
但是,在采用上述存儲(chǔ)器關(guān)鍵值技術(shù)的存儲(chǔ)器保護(hù)系統(tǒng)中,既需要提供用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器,還需要提供用于存儲(chǔ)所述存儲(chǔ)器關(guān)鍵值的存儲(chǔ)器。這樣一來(lái),就會(huì)增加硬件數(shù)量。
還有,比如,假設(shè)受保護(hù)的單元是4KB每頁(yè)。當(dāng)受保護(hù)的是小量的數(shù)據(jù)時(shí),在存儲(chǔ)器中就會(huì)剩下未使用的存儲(chǔ)區(qū)域。這個(gè)問(wèn)題可以通過(guò)為每個(gè)較小的存儲(chǔ)區(qū)域分配一個(gè)存儲(chǔ)器關(guān)鍵值來(lái)解決。但是,這樣的解決方案需要更多的存儲(chǔ)器來(lái)存儲(chǔ)所述存儲(chǔ)器關(guān)鍵值。
此外,當(dāng)存儲(chǔ)器中出現(xiàn)故障時(shí),就可以對(duì)存儲(chǔ)器進(jìn)行訪問(wèn),這會(huì)導(dǎo)致未授權(quán)的數(shù)據(jù)讀取操作。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)方面,一種訪問(wèn)控制設(shè)備,用來(lái)控制寫入器、讀取器以及存儲(chǔ)器之間的訪問(wèn),包括奇偶校驗(yàn)碼生成器,針對(duì)要寫入存儲(chǔ)器的原始數(shù)據(jù),生成奇偶校驗(yàn)碼;奇偶校驗(yàn)碼加法器,通過(guò)向原始數(shù)據(jù)添加奇偶校驗(yàn)碼生成器生成的奇偶校驗(yàn)碼,生成添加有奇偶校驗(yàn)碼的數(shù)據(jù);第一校正子生成器,生成第一校正子,即與寫入器請(qǐng)求向存儲(chǔ)器寫入原始數(shù)據(jù)所用的第一訪問(wèn)代碼相關(guān)聯(lián)的值;第一掩碼生成器,基于第一校正子、第一訪問(wèn)代碼以及第一存儲(chǔ)器地址,生成第一掩碼數(shù)據(jù),其中,寫入器是在第一存儲(chǔ)器地址將原始數(shù)據(jù)寫入的;第一異或單元,通過(guò)在添加有奇偶校驗(yàn)碼的數(shù)據(jù)和第一掩碼數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第一運(yùn)算后數(shù)據(jù);寫入單元,把第一運(yùn)算后數(shù)據(jù)寫入存儲(chǔ)器中;第二校正子生成器,用于生成第二校正子,即與讀取器請(qǐng)求從存儲(chǔ)器讀取數(shù)據(jù)所用的第二訪問(wèn)代碼相關(guān)聯(lián)的值;第二掩碼生成器,基于第二校正子、第二訪問(wèn)代碼以及第二存儲(chǔ)器地址,生成第二掩碼數(shù)據(jù),其中,讀取器是從第二存儲(chǔ)器地址讀取數(shù)據(jù)的;讀取單元,從存儲(chǔ)器讀取第一運(yùn)算后數(shù)據(jù);第二異或單元,通過(guò)在第二掩碼數(shù)據(jù)和第一運(yùn)算后數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第二運(yùn)算后數(shù)據(jù);數(shù)據(jù)校正子計(jì)算器,基于第二運(yùn)算后數(shù)據(jù),計(jì)算實(shí)際數(shù)據(jù)校正子;以及輸出判斷單元,基于實(shí)際數(shù)據(jù)校正子,判斷是否將第二運(yùn)算后數(shù)據(jù)作為原始數(shù)據(jù)輸出。
根據(jù)本發(fā)明的另一方面,一種訪問(wèn)控制系統(tǒng),包括處理器、存儲(chǔ)器控制器以及用于控制存儲(chǔ)器訪問(wèn)的存儲(chǔ)器訪問(wèn)控制設(shè)備,該存儲(chǔ)器訪問(wèn)控制設(shè)備包括奇偶校驗(yàn)碼生成器,針對(duì)要寫入存儲(chǔ)器的原始數(shù)據(jù),生成奇偶校驗(yàn)碼;奇偶校驗(yàn)碼加法器,通過(guò)向原始數(shù)據(jù)添加奇偶校驗(yàn)碼生成器生成的奇偶校驗(yàn)碼,生成添加有奇偶校驗(yàn)碼的數(shù)據(jù);第一校正子生成器,生成第一掩碼數(shù)據(jù)的第一校正子,以便對(duì)添加有奇偶校驗(yàn)碼的數(shù)據(jù)進(jìn)行掩碼,第一校正子是預(yù)先與第一訪問(wèn)代碼相關(guān)聯(lián)的值,第一訪問(wèn)代碼是當(dāng)寫入器訪問(wèn)存儲(chǔ)器時(shí)要使用的信息,寫入器請(qǐng)求把原始數(shù)據(jù)寫入存儲(chǔ)器;第一掩碼生成器,基于第一校正子、第一訪問(wèn)代碼以及第一存儲(chǔ)器地址,生成第一掩碼數(shù)據(jù),其中在第一存儲(chǔ)器地址將原始數(shù)據(jù)寫入;第一異或單元,通過(guò)在添加有奇偶校驗(yàn)碼的數(shù)據(jù)和第一掩碼數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第一運(yùn)算后數(shù)據(jù);寫入單元,把第一運(yùn)算后數(shù)據(jù)寫入存儲(chǔ)器;第二校正子生成器,生成第二掩碼數(shù)據(jù)的第二校正子,以便對(duì)第一運(yùn)算后數(shù)據(jù)進(jìn)行掩碼,第二校正子是預(yù)先與第二訪問(wèn)代碼相關(guān)聯(lián)的值,第二訪問(wèn)代碼是當(dāng)讀取器訪問(wèn)存儲(chǔ)器時(shí)所用的信息,讀取器請(qǐng)求從存儲(chǔ)器讀取數(shù)據(jù);第二掩碼生成器,基于第二校正子、第二訪問(wèn)代碼以及第二存儲(chǔ)器地址,生成第二掩碼數(shù)據(jù),其中從第二存儲(chǔ)器地址讀取數(shù)據(jù);讀取單元,從存儲(chǔ)器讀取第一運(yùn)算后數(shù)據(jù);第二異或單元,通過(guò)在第二掩碼數(shù)據(jù)和第一運(yùn)算后數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第二運(yùn)算后數(shù)據(jù);數(shù)據(jù)校正子計(jì)算器,基于第二運(yùn)算后數(shù)據(jù),計(jì)算出實(shí)際的數(shù)據(jù)校正子;以及輸出判斷單元,基于實(shí)際數(shù)據(jù)校正子,判斷是否把第二運(yùn)算后數(shù)據(jù)作為原始數(shù)據(jù)輸出。
根據(jù)本發(fā)明的另一個(gè)方面,一種訪問(wèn)控制系統(tǒng)包括處理器;以及存儲(chǔ)器訪問(wèn)控制設(shè)備,控制對(duì)存儲(chǔ)器的訪問(wèn)。存儲(chǔ)器訪問(wèn)控制設(shè)備包括奇偶校驗(yàn)碼生成器,針對(duì)要寫入存儲(chǔ)器的原始數(shù)據(jù),生成奇偶校驗(yàn)碼;奇偶校驗(yàn)碼加法器,通過(guò)向原始數(shù)據(jù)添加奇偶校驗(yàn)碼生成器生成的奇偶校驗(yàn)碼,生成添加有奇偶校驗(yàn)碼的數(shù)據(jù);第一校正子生成器,生成第一掩碼數(shù)據(jù)的第一校正子,以便對(duì)添加有奇偶校驗(yàn)碼的數(shù)據(jù)進(jìn)行掩碼,第一校正子是預(yù)先與第一訪問(wèn)代碼相關(guān)聯(lián)的值,第一訪問(wèn)代碼是當(dāng)寫入器訪問(wèn)存儲(chǔ)器時(shí)所用的信息,寫入器請(qǐng)求把原始數(shù)據(jù)寫入存儲(chǔ)器;第一掩碼生成器,基于第一校正子、第一訪問(wèn)代碼以及第一存儲(chǔ)器地址,生成第一掩碼數(shù)據(jù),其中在第一存儲(chǔ)器地址將原始數(shù)據(jù)寫入;第一異或單元,通過(guò)在添加有奇偶校驗(yàn)碼的數(shù)據(jù)和第一掩碼數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第一運(yùn)算后數(shù)據(jù);寫入單元,把第一運(yùn)算后數(shù)據(jù)寫入存儲(chǔ)器;第二校正子生成器,生成第二掩碼數(shù)據(jù)的第二校正子,以便對(duì)第一運(yùn)算后數(shù)據(jù)進(jìn)行掩碼,第二校正子是預(yù)先與第二訪問(wèn)代碼相關(guān)聯(lián)的值,第二訪問(wèn)代碼是當(dāng)讀取器訪問(wèn)存儲(chǔ)器時(shí)所用的信息,讀取器請(qǐng)求從存儲(chǔ)器讀取數(shù)據(jù);第二掩碼生成器,基于第二校正子、第二訪問(wèn)代碼以及第二存儲(chǔ)器地址,生成第二掩碼數(shù)據(jù),其中讀取器是從第二存儲(chǔ)器地址讀出數(shù)據(jù)的;讀取單元,從存儲(chǔ)器讀出第一運(yùn)算后數(shù)據(jù);第二異或單元,通過(guò)在第二掩碼數(shù)據(jù)和第一運(yùn)算后數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第二運(yùn)算后數(shù)據(jù);數(shù)據(jù)校正子計(jì)算器,基于第二運(yùn)算后數(shù)據(jù),計(jì)算出實(shí)際的數(shù)據(jù)校正子;以及輸出判斷單元,基于實(shí)際數(shù)據(jù)校正子,判斷是否把第二運(yùn)算后數(shù)據(jù)作為原始數(shù)據(jù)輸出。
根據(jù)本發(fā)明的另一個(gè)方面,一種配備有存儲(chǔ)器控制器和存儲(chǔ)器訪問(wèn)控制設(shè)備的處理器,該存儲(chǔ)器訪問(wèn)控制設(shè)備用于控制對(duì)存儲(chǔ)器的訪問(wèn),該處理器包括奇偶校驗(yàn)碼生成器,針對(duì)要寫入所述存儲(chǔ)器的原始數(shù)據(jù),生成奇偶校驗(yàn)碼;奇偶校驗(yàn)碼加法器,通過(guò)向原始數(shù)據(jù)添加奇偶校驗(yàn)碼生成器生成的奇偶校驗(yàn)碼,生成添加有奇偶校驗(yàn)碼的數(shù)據(jù);第一校正子生成器,生成第一掩碼數(shù)據(jù)的第一校正子,以便對(duì)添加有奇偶校驗(yàn)碼的數(shù)據(jù)進(jìn)行掩碼,第一校正子是預(yù)先與第一訪問(wèn)代碼相關(guān)聯(lián)的值,第一訪問(wèn)代碼是當(dāng)寫入器訪問(wèn)存儲(chǔ)器時(shí)所用的信息,寫入器請(qǐng)求把原始數(shù)據(jù)寫入存儲(chǔ)器;第一掩碼生成器,基于第一校正子、第一訪問(wèn)代碼以及第一存儲(chǔ)器地址,生成第一掩碼數(shù)據(jù),其中在第一存儲(chǔ)器地址寫入原始數(shù)據(jù);第一異或單元,通過(guò)在添加有奇偶校驗(yàn)碼的數(shù)據(jù)和第一掩碼數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第一運(yùn)算后數(shù)據(jù);寫入單元,把第一運(yùn)算后數(shù)據(jù)寫入存儲(chǔ)器;第二校正子生成器,生成第二掩碼數(shù)據(jù)的第二校正子,以便對(duì)第一運(yùn)算后數(shù)據(jù)進(jìn)行掩碼,第二校正子是預(yù)先與第二訪問(wèn)代碼相關(guān)聯(lián)的值,第二訪問(wèn)代碼是當(dāng)讀取器訪問(wèn)存儲(chǔ)器時(shí)所用的信息,其中讀取器請(qǐng)求從存儲(chǔ)器讀取數(shù)據(jù);第二掩碼生成器,基于第二校正子、第二訪問(wèn)代碼以及第二存儲(chǔ)器地址,生成第二掩碼數(shù)據(jù),其中從第二存儲(chǔ)器地址讀取數(shù)據(jù)的;讀取單元,從存儲(chǔ)器讀取第一運(yùn)算后數(shù)據(jù);第二異或單元,通過(guò)在第二掩碼數(shù)據(jù)和第一運(yùn)算后數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第二運(yùn)算后數(shù)據(jù);數(shù)據(jù)校正子計(jì)算器,基于第二運(yùn)算后數(shù)據(jù),計(jì)算出實(shí)際的數(shù)據(jù)校正子;以及輸出判斷單元,基于實(shí)際數(shù)據(jù)校正子,判斷是否把第二運(yùn)算后數(shù)據(jù)作為原始數(shù)據(jù)輸出。
根據(jù)本發(fā)明的另一個(gè)方面,一種訪問(wèn)控制方法,包括針對(duì)要被寫入存儲(chǔ)器的初始數(shù)據(jù),生成奇偶校驗(yàn)碼;通過(guò)向原始數(shù)據(jù)添加所生成的奇偶校驗(yàn)碼,生成添加有奇偶校驗(yàn)碼的數(shù)據(jù);生成第一掩碼數(shù)據(jù)的第一校正子,以便對(duì)添加有奇偶校驗(yàn)碼的數(shù)據(jù)進(jìn)行掩碼,第一校正子是預(yù)先與第一訪問(wèn)代碼相關(guān)聯(lián)的值,第一訪問(wèn)代碼是當(dāng)寫入器訪問(wèn)存儲(chǔ)器時(shí)所用的信息,寫入器請(qǐng)求把原始數(shù)據(jù)寫入存儲(chǔ)器;基于第一校正子、第一訪問(wèn)代碼以及第一存儲(chǔ)器地址,生成第一掩碼數(shù)據(jù),其中在第一存儲(chǔ)器地址寫入原始數(shù)據(jù);通過(guò)在添加有奇偶校驗(yàn)碼的數(shù)據(jù)和第一掩碼數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第一運(yùn)算后數(shù)據(jù);將第一運(yùn)算后數(shù)據(jù)寫入存儲(chǔ)器;生成第二掩碼數(shù)據(jù)的第二校正子,以便對(duì)第一運(yùn)算后數(shù)據(jù)進(jìn)行掩碼,第二校正子是預(yù)先與第二訪問(wèn)代碼相關(guān)聯(lián)的值,第二訪問(wèn)代碼是當(dāng)讀取器訪問(wèn)存儲(chǔ)器時(shí)所用的信息,讀取器請(qǐng)求從存儲(chǔ)器讀取數(shù)據(jù);生成器基于第二校正子、第二訪問(wèn)代碼以及第二存儲(chǔ)器地址,生成第二掩碼數(shù)據(jù),其中數(shù)據(jù)是從第二存儲(chǔ)器地址讀取的;從存儲(chǔ)器讀取第一運(yùn)算后數(shù)據(jù);通過(guò)在第二掩碼數(shù)據(jù)和第一運(yùn)算后數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第二運(yùn)算后數(shù)據(jù);基于第二運(yùn)算后數(shù)據(jù),計(jì)算出實(shí)際的數(shù)據(jù)校正子;以及基于實(shí)際數(shù)據(jù)校正子,判斷是否把第二運(yùn)算后數(shù)據(jù)作為原始數(shù)據(jù)輸出。
根據(jù)本發(fā)明的另一個(gè)方面,一種存儲(chǔ)器訪問(wèn)控制設(shè)備,包括讀請(qǐng)求獲取器,獲取要從存儲(chǔ)器讀取的數(shù)據(jù)以及用于讀取數(shù)據(jù)的存儲(chǔ)器地址,數(shù)據(jù)和存儲(chǔ)器地址是從一個(gè)讀取器獲取的,讀取器請(qǐng)求從存儲(chǔ)器讀取數(shù)據(jù);緩沖存儲(chǔ)器監(jiān)控器,判斷讀請(qǐng)求獲取器獲取的存儲(chǔ)器地址是否存儲(chǔ)在緩沖存儲(chǔ)器中,緩沖存儲(chǔ)器將數(shù)據(jù)、數(shù)據(jù)的存儲(chǔ)器地址以及請(qǐng)求方訪問(wèn)代碼相互關(guān)聯(lián)地存儲(chǔ),請(qǐng)求把數(shù)據(jù)寫入存儲(chǔ)器的寫入器請(qǐng)求將數(shù)據(jù)寫入存儲(chǔ)器,或者讀取器請(qǐng)求從存儲(chǔ)器讀取數(shù)據(jù),請(qǐng)求方訪問(wèn)代碼是允許訪問(wèn)數(shù)據(jù)的寫入器或者讀取器訪問(wèn)存儲(chǔ)器時(shí)所用的信息;訪問(wèn)代碼比較器,當(dāng)緩沖存儲(chǔ)器監(jiān)控器確定存儲(chǔ)器地址存儲(chǔ)在緩沖存儲(chǔ)器中時(shí),將請(qǐng)求方訪問(wèn)代碼跟第二訪問(wèn)代碼進(jìn)行比較,請(qǐng)求方訪問(wèn)代碼與緩沖存儲(chǔ)器中的存儲(chǔ)器地址相關(guān)聯(lián),而第二訪問(wèn)代碼是讀取器訪問(wèn)存儲(chǔ)器時(shí)所用的信息;以及輸出單元,當(dāng)請(qǐng)求方訪問(wèn)代碼與第二訪問(wèn)代碼相匹配時(shí),把與緩沖存儲(chǔ)器中的存儲(chǔ)器地址相關(guān)聯(lián)的數(shù)據(jù)輸出到讀取器。
根據(jù)本發(fā)明的另一方面,一種訪問(wèn)控制系統(tǒng),包括處理器;緩沖存儲(chǔ)器;以及存儲(chǔ)器訪問(wèn)控制設(shè)備,控制對(duì)存儲(chǔ)器的訪問(wèn),緩沖存儲(chǔ)器存儲(chǔ)有寫入器或讀取器所請(qǐng)求的數(shù)據(jù)、數(shù)據(jù)的存儲(chǔ)器地址以及請(qǐng)求方訪問(wèn)代碼,寫入器請(qǐng)求把數(shù)據(jù)寫入存儲(chǔ)器,而讀取器請(qǐng)求從存儲(chǔ)器讀取數(shù)據(jù),請(qǐng)求方訪問(wèn)代碼是當(dāng)允許訪問(wèn)數(shù)據(jù)的寫入器或者讀取器訪問(wèn)存儲(chǔ)器時(shí)所用的信息,數(shù)據(jù)和存儲(chǔ)器地址是與請(qǐng)求方訪問(wèn)代碼相關(guān)聯(lián)的,存儲(chǔ)器訪問(wèn)控制設(shè)備包括讀請(qǐng)求獲取器,從讀取器獲取要從存儲(chǔ)器讀取的數(shù)據(jù)以及數(shù)據(jù)的存儲(chǔ)器地址;緩沖存儲(chǔ)器監(jiān)控器,判斷讀請(qǐng)求獲取器獲取的存儲(chǔ)器地址是否存儲(chǔ)在緩沖存儲(chǔ)器中;訪問(wèn)代碼比較器,當(dāng)緩沖存儲(chǔ)器監(jiān)控器確定存儲(chǔ)器地址是存儲(chǔ)在緩沖存儲(chǔ)器中時(shí),將請(qǐng)求方訪問(wèn)代碼與第二訪問(wèn)代碼進(jìn)行比較,請(qǐng)求方訪問(wèn)代碼與緩沖存儲(chǔ)器中存儲(chǔ)器地址相關(guān)聯(lián),而第二訪問(wèn)代碼是讀取器訪問(wèn)存儲(chǔ)器時(shí)所用的信息;以及輸出單元,當(dāng)請(qǐng)求方訪問(wèn)代碼與第二訪問(wèn)代碼相匹配時(shí),將與緩沖存儲(chǔ)器中的存儲(chǔ)器地址相關(guān)聯(lián)的數(shù)據(jù)輸出到讀取器。
根據(jù)本發(fā)明的另一個(gè)方面,一種存儲(chǔ)器訪問(wèn)控制方法,包括獲取要從存儲(chǔ)器中讀取的數(shù)據(jù)以及用于讀取數(shù)據(jù)的存儲(chǔ)器地址,數(shù)據(jù)和存儲(chǔ)器地址是從請(qǐng)求從存儲(chǔ)讀取數(shù)據(jù)的讀取器獲取的;判斷獲取的存儲(chǔ)器地址是否存儲(chǔ)在緩沖存儲(chǔ)器中,緩沖存儲(chǔ)器將數(shù)據(jù)、數(shù)據(jù)的存儲(chǔ)器地址以及請(qǐng)求方訪問(wèn)代碼相互關(guān)聯(lián)地進(jìn)行存儲(chǔ),請(qǐng)求把數(shù)據(jù)寫入存儲(chǔ)器的寫入器請(qǐng)求將數(shù)據(jù)寫入存儲(chǔ)器,或者讀取器請(qǐng)求從存儲(chǔ)器讀取數(shù)據(jù),請(qǐng)求方訪問(wèn)代碼是有權(quán)訪問(wèn)數(shù)據(jù)的寫入器或者讀取器訪問(wèn)存儲(chǔ)器時(shí)所用的信息;當(dāng)存儲(chǔ)器地址存儲(chǔ)在緩沖存儲(chǔ)器中時(shí),將請(qǐng)求方訪問(wèn)代碼與第二訪問(wèn)代碼進(jìn)行比較,請(qǐng)求方訪問(wèn)代碼與緩沖存儲(chǔ)器中的存儲(chǔ)器地址相關(guān)聯(lián),而第二訪問(wèn)代碼是讀取器訪問(wèn)存儲(chǔ)器時(shí)所用的信息;以及當(dāng)請(qǐng)求方訪問(wèn)代碼與第二訪問(wèn)代碼相匹配時(shí),將與緩沖存儲(chǔ)器中的存儲(chǔ)器地址相關(guān)聯(lián)的數(shù)據(jù)輸出到讀取器。
以下將結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述,其中圖1示出了依照本發(fā)明第一個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng);圖2示出了將數(shù)據(jù)寫入存儲(chǔ)器時(shí)要執(zhí)行的操作;圖3示出了讀取數(shù)據(jù)D′要執(zhí)行的操作;圖4示出了在數(shù)據(jù)長(zhǎng)度是64比特的情況下將校驗(yàn)矩陣和HsiaoSEC-DED碼一起使用的例子;圖5示出了與圖4中的校驗(yàn)矩陣H相對(duì)應(yīng)的生成器矩陣;圖6的框圖示出了訪問(wèn)控制設(shè)備的具體功能結(jié)構(gòu);圖7示出了從處理器看到的地址空間;圖8的框圖示出了掩碼值生成電路的功能結(jié)構(gòu);圖9示出了數(shù)據(jù)掩碼生成電路的結(jié)構(gòu);圖10A示出了訪問(wèn)ID校正子生成電路;圖10B也示出了訪問(wèn)ID校正子生成電路;圖11示出了寫操作的流程圖,寫操作是訪問(wèn)控制系統(tǒng)中訪問(wèn)控制操作的一部分;圖12示出了寫操作過(guò)程中的數(shù)據(jù)流;圖13示出了訪問(wèn)ID設(shè)置操作所用的進(jìn)程管理表;圖14示出了訪問(wèn)ID設(shè)置操作具體過(guò)程的流程圖;圖15示出了掩碼值生成電路執(zhí)行的掩碼值生成操作的具體過(guò)程的流程圖;圖16示出了訪問(wèn)控制系統(tǒng)中從存儲(chǔ)器讀取數(shù)據(jù)的流程圖;圖17示出了讀取寫在存儲(chǔ)器中的數(shù)據(jù)的操作;圖18的框圖示出了依照本發(fā)明的第二個(gè)實(shí)施例的訪問(wèn)控制設(shè)備的功能結(jié)構(gòu);圖19的框圖示出了訪問(wèn)ID管理電路的功能結(jié)構(gòu);圖20示出了訪問(wèn)ID表的數(shù)據(jù)結(jié)構(gòu);圖21示出了訪問(wèn)ID管理電路的結(jié)構(gòu);
圖22示出了依照第二個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)中訪問(wèn)ID獲取操作的具體過(guò)程的流程圖;圖23示出了依照本發(fā)明第三個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)中訪問(wèn)ID管理電路的訪問(wèn)ID表的數(shù)據(jù)結(jié)構(gòu);圖24示出了訪問(wèn)ID管理電路的結(jié)構(gòu);圖25示出了依照第三個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)中訪問(wèn)ID獲取操作的具體過(guò)程的流程圖;圖26示出了依照本發(fā)明的第四個(gè)實(shí)施例的訪問(wèn)ID表的數(shù)據(jù)結(jié)構(gòu);圖27示出了訪問(wèn)ID管理電路的結(jié)構(gòu);圖28示出了依照第四個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)中訪問(wèn)ID獲取操作的具體過(guò)程的流程圖;圖29的框圖示出了依照本發(fā)明第五個(gè)實(shí)施例的數(shù)據(jù)掩碼生成電路的功能結(jié)構(gòu);圖30示出了數(shù)據(jù)掩碼生成信息表的數(shù)據(jù)結(jié)構(gòu);圖31更詳細(xì)地示出了一個(gè)LFSR延遲計(jì)算電路的結(jié)構(gòu);圖32示出了一個(gè)包含在LFSR延遲計(jì)算電路中的電路;圖33示出了另一個(gè)包含在LFSR延遲計(jì)算電路中的電路;圖34的框圖示出了依照本發(fā)明第六個(gè)實(shí)施例的數(shù)據(jù)掩碼生成電路的功能結(jié)構(gòu);圖35的框圖示出了依照本發(fā)明第七個(gè)實(shí)施例的數(shù)據(jù)掩碼生成電路的功能結(jié)構(gòu);圖36示出了地址分離電路;圖37示出了依照第七個(gè)實(shí)施例的第一修正版的地址分離電路;圖38的框圖示出了只包括零移位電路的數(shù)據(jù)掩碼生成電路;圖39的框圖示出了只包括地址分離電路的數(shù)據(jù)掩碼生成電路;圖40的框圖示出了依照第七個(gè)實(shí)施例的第三修正版的數(shù)據(jù)掩碼生成電路;圖41的框圖示出了依照第七個(gè)實(shí)施例的第四修正版的數(shù)據(jù)掩碼生成電路;
圖42的框圖示出了依照第七個(gè)實(shí)施例的第五修正版的數(shù)據(jù)掩碼生成電路;圖43的框圖示出了依照本發(fā)明第八個(gè)實(shí)施例的訪問(wèn)控制設(shè)備的功能結(jié)構(gòu);圖44示出了地址轉(zhuǎn)換設(shè)備;圖45示出了依照第八個(gè)實(shí)施例的第一修正版的地址轉(zhuǎn)換設(shè)備;圖46示出了依照第八個(gè)實(shí)施例的第二修正版的地址轉(zhuǎn)換設(shè)備;圖47示出了依照第八個(gè)實(shí)施例的第三修正版的地址轉(zhuǎn)換設(shè)備;圖48示出了本發(fā)明的第一修正版的訪問(wèn)控制系統(tǒng);圖49示出了第二修正版的訪問(wèn)控制系統(tǒng);圖50示出了第三修正版的訪問(wèn)控制系統(tǒng);圖51示出了第四修正版的訪問(wèn)控制系統(tǒng);圖52示出了第五修正版的訪問(wèn)控制系統(tǒng);圖53示出了第六修正版的訪問(wèn)控制系統(tǒng);圖54示出了第七修正版的訪問(wèn)控制系統(tǒng);圖55示出了依照本發(fā)明第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng);圖56的框圖示出了訪問(wèn)控制設(shè)備的功能結(jié)構(gòu);圖57的框圖示出了處理器端緩沖器控制電路的功能結(jié)構(gòu);圖58的框圖示出了緩沖存儲(chǔ)器的功能結(jié)構(gòu);圖59的框圖示出了存儲(chǔ)器端緩沖器控制電路的功能結(jié)構(gòu);圖60示出了寫操作的流程圖,寫操作是依照本發(fā)明的第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)中訪問(wèn)控制操作的一部分;圖61示出了讀操作的流程圖,讀操作是依照本發(fā)明的第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)中訪問(wèn)控制操作的一部分;圖62的框圖示出了依照本發(fā)明第十個(gè)實(shí)施例的訪問(wèn)控制設(shè)備的功能結(jié)構(gòu);圖63的框圖示出了依照第十個(gè)實(shí)施例的掩碼值生成電路的功能結(jié)構(gòu);圖64示出了地址轉(zhuǎn)換信息表的數(shù)據(jù)結(jié)構(gòu);圖65示出了一個(gè)存儲(chǔ)器地址;
圖66A示出了地址轉(zhuǎn)換設(shè)備執(zhí)行的地址轉(zhuǎn)換操作;圖66B也示出了地址轉(zhuǎn)換設(shè)備執(zhí)行的地址轉(zhuǎn)換操作;圖67示出了地址轉(zhuǎn)換設(shè)備;圖68示出了實(shí)現(xiàn)圖66A和圖66B中地址轉(zhuǎn)換功能的地址轉(zhuǎn)換表;圖69示出了依照第十個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)中的寫操作的流程圖;圖70示出了依照第十個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)中的讀操作的流程圖;圖71示出了依照第十個(gè)實(shí)施例的第一修正版的地址轉(zhuǎn)換設(shè)備;圖72示出了依照第十個(gè)實(shí)施例的第二修正版的數(shù)據(jù)掩碼生成信息表的數(shù)據(jù)結(jié)構(gòu);圖73的框圖示出了依照本發(fā)明第十一個(gè)實(shí)施例的存儲(chǔ)器訪問(wèn)控制設(shè)備的功能結(jié)構(gòu);圖74示出了重排緩沖器;圖75示出了突發(fā)傳遞控制器向存儲(chǔ)器寫入數(shù)據(jù)時(shí)要執(zhí)行的操作的流程圖;圖76更詳細(xì)地示出了圖75中所示的寫操作;圖77示出了突發(fā)傳遞控制器從存儲(chǔ)器讀取數(shù)據(jù)時(shí)要執(zhí)行的操作的流程圖;圖78更詳細(xì)地示出了圖77中所示的讀操作;圖79的框圖示出了依據(jù)第十一個(gè)實(shí)施例的修正版的存儲(chǔ)器端緩沖器控制電路的功能結(jié)構(gòu);圖80示出了依照本發(fā)明的第十二個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng);圖81示出了存儲(chǔ)器訪問(wèn)控制設(shè)備的功能結(jié)構(gòu);圖82的框圖示出了總線加密設(shè)備的功能結(jié)構(gòu);圖83示出的信號(hào)示例未經(jīng)過(guò)總線加密設(shè)備執(zhí)行的掩碼操作;圖84示出的信號(hào)示例經(jīng)過(guò)了總線加密設(shè)備執(zhí)行的掩碼操作;圖85的框圖示出了依照第十二個(gè)實(shí)施例的第二修正版的總線加密設(shè)備的功能結(jié)構(gòu);圖86的框圖示出了依照第十二個(gè)實(shí)施例的第三修正版的存儲(chǔ)器訪問(wèn)控制設(shè)備的功能結(jié)構(gòu);圖87的框圖示出了依照第十二個(gè)實(shí)施例的第四修正版的存儲(chǔ)器訪問(wèn)控制設(shè)備的功能結(jié)構(gòu);以及圖88的框圖示出了依照第十二個(gè)實(shí)施例的第五修正版的存儲(chǔ)器訪問(wèn)控制設(shè)備的功能結(jié)構(gòu);具體實(shí)施方式
下面結(jié)合附圖,詳細(xì)描述訪問(wèn)控制設(shè)備、訪問(wèn)控制系統(tǒng)、處理器、訪問(wèn)控制方法、存儲(chǔ)器訪問(wèn)控制設(shè)備、存儲(chǔ)器訪問(wèn)控制系統(tǒng)以及存儲(chǔ)器訪問(wèn)控制方法的實(shí)施例。但是,本發(fā)明不限于下面的實(shí)施例。
圖1示出了依照第一個(gè)實(shí)施例的一種訪問(wèn)控制系統(tǒng)1的總體結(jié)構(gòu)。訪問(wèn)控制系統(tǒng)1包括訪問(wèn)控制設(shè)備10、處理器20、存儲(chǔ)器控制器30以及存儲(chǔ)器40。
處理器20和存儲(chǔ)器40相互連接,并與存儲(chǔ)器控制器30和訪問(wèn)控制設(shè)備10相連。存儲(chǔ)器控制器30為處理器總線22(直接從處理器延伸出來(lái)的信號(hào)線)的協(xié)議和存儲(chǔ)器總線42的協(xié)議之間的差異提供仲裁。換句話說(shuō),存儲(chǔ)器控制器30對(duì)用來(lái)讀取或?qū)懭霃奶幚砥?0傳輸?shù)教幚砥骺偩€22的數(shù)據(jù)的信號(hào)和用來(lái)對(duì)存儲(chǔ)器40進(jìn)行讀取或?qū)懭氩僮鞯男盘?hào)之間的差異進(jìn)行仲裁。
比如,如果存儲(chǔ)器40是DRAM而且處理器20指定了地址并發(fā)出了讀請(qǐng)求,則需要把該地址劃分為高位地址和低位地址,然后把它們發(fā)送到存儲(chǔ)器40。存儲(chǔ)器控制器30會(huì)對(duì)它們之間程序上的差異進(jìn)行轉(zhuǎn)換。
訪問(wèn)控制設(shè)備10連接存儲(chǔ)器控制器30和存儲(chǔ)器40之間。當(dāng)從存儲(chǔ)器40讀取數(shù)據(jù)時(shí),訪問(wèn)控制設(shè)備10會(huì)判斷該數(shù)據(jù)的讀取器是否有訪問(wèn)該數(shù)據(jù)的權(quán)限。處理器20通過(guò)存儲(chǔ)器控制器30,把關(guān)于訪問(wèn)權(quán)限的信息設(shè)置到訪問(wèn)控制設(shè)備10中。更具體地說(shuō),處理器20會(huì)設(shè)置如訪問(wèn)ID等信息,下面還要對(duì)此進(jìn)行描述。
訪問(wèn)控制設(shè)備10還具備ECC(糾錯(cuò)碼或差錯(cuò)控制碼)功能。更具體地說(shuō),訪問(wèn)控制設(shè)備10向處理器20要寫入存儲(chǔ)器40的數(shù)據(jù)添加ECC。訪問(wèn)控制設(shè)備10還檢查從存儲(chǔ)器40讀取的數(shù)據(jù)所附帶的ECC。通過(guò)ECC,訪問(wèn)控制設(shè)備10用和每個(gè)ECC單元一樣大小的32比特或64比特的單元,對(duì)存儲(chǔ)器40執(zhí)行訪問(wèn)控制或者保護(hù)。從而,存儲(chǔ)器40可以通過(guò)小單元得到保護(hù)。
在處理器20中管理請(qǐng)求訪問(wèn)存儲(chǔ)器數(shù)據(jù)的資源,即數(shù)據(jù)的讀取器和寫入器,訪問(wèn)控制設(shè)備10對(duì)此進(jìn)行訪問(wèn)權(quán)限控制。
接下來(lái)描述ECC。圖2和圖3示出了ECC。圖2示出了向存儲(chǔ)器40寫入數(shù)據(jù)時(shí)要執(zhí)行的操作。一般而言,如果將n比特大小的數(shù)據(jù)D一次寫入存儲(chǔ)器40,則將根據(jù)數(shù)據(jù)D的值計(jì)算出來(lái)的m比特的奇偶校驗(yàn)碼添加到數(shù)據(jù)D上,如圖2所示。結(jié)果,將n+m比特的數(shù)據(jù)D′寫入存儲(chǔ)器40中。
比如,如果將64(=n)比特的數(shù)據(jù)一次寫入存儲(chǔ)器40中,將根據(jù)所述64比特?cái)?shù)據(jù)的值計(jì)算出來(lái)的8(=m)比特的奇偶校驗(yàn)碼添加到所述64比特的數(shù)據(jù)上,然后將添加有奇偶校驗(yàn)碼的72比特的數(shù)據(jù)寫入到存儲(chǔ)器40中。
圖3示出了讀取數(shù)據(jù)D′時(shí)要執(zhí)行的操作。為了將數(shù)據(jù)D′從存儲(chǔ)器40中讀取出來(lái),根據(jù)數(shù)據(jù)D′和校驗(yàn)矩陣“H”的轉(zhuǎn)置矩陣的乘積計(jì)算出m比特?cái)?shù)據(jù)的值。該m比特?cái)?shù)據(jù)的值被稱作是校正子(syndrome)。如果校正子是“0”,那么在這n比特?cái)?shù)據(jù)中就沒有差錯(cuò)。
如果校正子不是“0”,數(shù)據(jù)D′中就有差錯(cuò)。如果差錯(cuò)是可糾正的,就應(yīng)該糾正它。如果差錯(cuò)是不可糾正的,就要通過(guò)中斷或者類似的手段報(bào)告處理器20出現(xiàn)差錯(cuò),該處理器20是請(qǐng)求訪問(wèn)存儲(chǔ)器數(shù)據(jù)的發(fā)起者。
ECC的種類有很多。奇偶校驗(yàn)位的個(gè)數(shù)、計(jì)算奇偶校驗(yàn)位個(gè)數(shù)的方法、計(jì)算校正子所采用的檢測(cè)矩陣以及根據(jù)校正子確定需要糾正的位的位置的方法隨著ECC種類的不同而變化。
計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器中廣泛采用的是SEC-DED(單錯(cuò)糾正和雙錯(cuò)檢測(cè))碼。當(dāng)數(shù)據(jù)或奇偶校驗(yàn)碼中有一個(gè)差錯(cuò)位(或者一個(gè)差錯(cuò))時(shí),可以通過(guò)SEC-DED碼具體確定差錯(cuò)的位置。當(dāng)有兩個(gè)差錯(cuò)位(或者兩個(gè)差錯(cuò))時(shí),可以通過(guò)SEC-DED碼檢查出有差錯(cuò),但是無(wú)法具體確定差錯(cuò)位的位置。一般來(lái)說(shuō),將7比特的奇偶校驗(yàn)碼作為ECC添加到32比特的數(shù)據(jù)上,將8比特的奇偶校驗(yàn)碼作為ECC添加到64比特的數(shù)據(jù)上,以及,將9比特的奇偶校驗(yàn)碼作為ECC添加到128比特的數(shù)據(jù)上。
根據(jù)計(jì)算奇偶校驗(yàn)碼的方法和生成檢測(cè)矩陣的方法,SEC-DED碼也有很多種。其中用的最多的是擴(kuò)展海明碼和Hsiao碼。具體而言,Hsiao SEC-DED碼適合電路組裝,所以得到了廣泛的使用。擴(kuò)展海明碼是在2003年劍橋大學(xué)出版社出版的Richard E.Blahut所著“Algebraic Code for Data Transmission”的第63頁(yè)中公開出來(lái)的。Hsiao碼是在1970年“IBM研究與開發(fā)期刊(IBM Journal of Researchand Development)”刊登的M.Y.Hsiao所著的“A Class of OptimalMinimum Odd-weight-column SEC-DED Codes”的395到401頁(yè)中公開出來(lái)的。在這兩類SEC-DED碼之間對(duì)校正子的值有不同的解釋,但是糾錯(cuò)和檢錯(cuò)按照同樣的方法進(jìn)行。
在依照第一個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中,采用的是將把8比特奇偶校驗(yàn)碼添加到64比特?cái)?shù)據(jù)上的Hsiao碼。但是,數(shù)據(jù)長(zhǎng)度并不限于此??梢詫?duì)不同長(zhǎng)度的數(shù)據(jù)執(zhí)行相同的訪問(wèn)控制,如32比特?cái)?shù)據(jù)、16比特?cái)?shù)據(jù)以及128比特?cái)?shù)據(jù)。此外,可以用其它SEC-DED碼執(zhí)行相同的訪問(wèn)控制,比如擴(kuò)展海明碼或者其它類型的糾錯(cuò)碼。
圖4示出了在數(shù)據(jù)長(zhǎng)度是64比特的情況下將校驗(yàn)矩陣和HsiaoSEC-DED碼一起使用的例子。該校驗(yàn)矩陣由8行和72列組成。從左面起第1到第64位對(duì)應(yīng)于64比特存儲(chǔ)數(shù)據(jù)各位的位置,而剩下的8位對(duì)應(yīng)于奇偶校驗(yàn)位的位置。從右面起的第1到第8列是一個(gè)8x8的單位矩陣,對(duì)應(yīng)于所述奇偶校驗(yàn)碼。
圖5示出了與圖4中的校驗(yàn)矩陣H對(duì)應(yīng)的生成器矩陣。這個(gè)生成器矩陣“G”用于計(jì)算出奇偶校驗(yàn)碼,并將其添加到那些尚未添加奇偶校驗(yàn)碼的原始數(shù)據(jù)上。生成器矩陣“G”由64行和72列組成。從左面起第1到第64列組成了一個(gè)64x64的單位矩陣,而從右面起的剩余8列構(gòu)成了所述生成器矩陣“G”的從第1到第64列的轉(zhuǎn)置矩陣。
圖6的框圖示出了訪問(wèn)控制設(shè)備10的具體功能結(jié)構(gòu)。訪問(wèn)控制設(shè)備10包括奇偶校驗(yàn)碼生成電路100、第一異或電路102、訪問(wèn)ID寄存器110、掩碼值生成電路112、第二異或電路104、校正子計(jì)算電路120以及糾錯(cuò)電路122。
除了傳統(tǒng)的ECC電路結(jié)構(gòu)之外,訪問(wèn)控制設(shè)備10還包括生成掩碼值以用于檢測(cè)訪問(wèn)權(quán)限的電路;將數(shù)據(jù)和奇偶校驗(yàn)碼一起記錄在存儲(chǔ)器40中的電路;使用掩碼值來(lái)檢測(cè)關(guān)于從存儲(chǔ)器40中讀取的數(shù)據(jù)的訪問(wèn)權(quán)限的電路。除了第一異或電路102、訪問(wèn)ID寄存器110、掩碼值生成電路112以及第二異或電路114之外,訪問(wèn)控制設(shè)備10擁有和傳統(tǒng)ECC電路一樣的電路結(jié)構(gòu)。
當(dāng)與訪問(wèn)控制設(shè)備10相連的存儲(chǔ)器控制器30具有ECC電路時(shí),訪問(wèn)控制設(shè)備10會(huì)利用存儲(chǔ)器控制器30的ECC電路,而不包括ECC電路的功能。
奇偶校驗(yàn)碼生成電路100針對(duì)經(jīng)由存儲(chǔ)器控制器30從處理器20獲取的數(shù)據(jù),生成奇偶校驗(yàn)碼。然后將奇偶校驗(yàn)碼添加到該數(shù)據(jù)上。
更具體地說(shuō),通過(guò)存儲(chǔ)器控制器30從處理器20獲取64比特的數(shù)據(jù)。然后,根據(jù)所獲取的數(shù)據(jù)計(jì)算出8比特的奇偶校驗(yàn)碼,并將其輸出到第一異或電路102。用圖5中所示生成器矩陣“G”來(lái)進(jìn)行這一計(jì)算。
該64位的輸入數(shù)據(jù)“d”用等式(1)中所示的由64個(gè)元素組成的向量來(lái)表示,而經(jīng)過(guò)編碼的字“x”用等式(2)中所示的由72個(gè)元素組成的向量來(lái)表示,其中包括添加給數(shù)據(jù)“d”的8比特奇偶校驗(yàn)碼。
d=(d1,d2,d3,...d64) (1)x=(d1,d2,d3,...d64,p1,p2,...p8) (2)該經(jīng)過(guò)編碼的字(帶有奇偶校驗(yàn)碼的數(shù)據(jù))“x”、生成器矩陣“G”、以及數(shù)據(jù)“d”之間的關(guān)系用等式(3)表示x=dG (3)
從而,可以通過(guò)生成器矩陣“G”與這64比特的數(shù)據(jù)相乘,獲取該經(jīng)過(guò)編碼的字“x”。將獲取的經(jīng)過(guò)編碼的字“x”的最后八個(gè)元素作為8比特的奇偶校驗(yàn)碼輸出。
眾所周知,奇偶校驗(yàn)碼生成電路100可以具體化為組合電路,其將上面描述的向量和矩陣相乘來(lái)計(jì)算奇偶校驗(yàn)碼。
訪問(wèn)ID寄存器100通過(guò)存儲(chǔ)器控制器30從處理器20獲取訪問(wèn)ID。訪問(wèn)ID是進(jìn)程(即,請(qǐng)求訪問(wèn)存儲(chǔ)在存儲(chǔ)器40中的數(shù)據(jù)的請(qǐng)求方)訪問(wèn)存儲(chǔ)器40時(shí)所用的信息。在這個(gè)實(shí)施例中,把8比特的奇偶校驗(yàn)碼添加給64比特的數(shù)據(jù),這樣可以管理128個(gè)不同的訪問(wèn)ID。比如,用7位來(lái)表達(dá)的數(shù)字0到127作為訪問(wèn)ID。
當(dāng)在處理器20中運(yùn)行的進(jìn)程要訪問(wèn)存儲(chǔ)器40時(shí),首先把訪問(wèn)ID設(shè)置到訪問(wèn)控制設(shè)備10的訪問(wèn)ID寄存器110中。
圖7示出了從處理器20看到的地址空間。如圖7所示,訪問(wèn)控制設(shè)備10的訪問(wèn)ID寄存器110映射到可以從處理器20看到的地址空間中的輸入/輸出空間。當(dāng)處理器20在訪問(wèn)ID寄存器110映射到輸入/輸出空間中的地址處寫入訪問(wèn)ID時(shí),將該訪問(wèn)ID寫入訪問(wèn)ID寄存器110中。但是,也可以與上述不同的方法,將訪問(wèn)ID設(shè)置到訪問(wèn)ID寄存器110中。
當(dāng)按照要在處理器20中執(zhí)行的給定程序設(shè)置給定的訪問(wèn)ID時(shí),這些訪問(wèn)權(quán)限就不再受保護(hù)。因此,通過(guò)在處理器20中運(yùn)行操作系統(tǒng)(OS)或者硬件進(jìn)行驗(yàn)證之后再設(shè)置訪問(wèn)ID是比較理想的。這樣,只有當(dāng)執(zhí)行中的程序有訪問(wèn)權(quán)限時(shí),才可以將該執(zhí)行中的程序的訪問(wèn)ID設(shè)置到訪問(wèn)ID寄存器110中。這里,訪問(wèn)ID寄存器110作為第一訪問(wèn)ID獲取器和第二訪問(wèn)ID獲取器而運(yùn)行。
回到圖6中,掩碼值生成電路112根據(jù)存在訪問(wèn)ID寄存器110中的訪問(wèn)ID和處理器20要訪問(wèn)的存儲(chǔ)器40的地址值,生成掩碼值。掩碼值是用于對(duì)要寫入存儲(chǔ)器40的數(shù)據(jù)或者對(duì)要從存儲(chǔ)器40讀取的數(shù)據(jù)進(jìn)行掩碼的數(shù)據(jù),并且可以通過(guò)訪問(wèn)ID和要被訪問(wèn)的存儲(chǔ)器40的地址唯一地加以確定。這個(gè)實(shí)施例中的掩碼值生成電路112作為第一掩碼生成器和第二掩碼生成器而運(yùn)行。
當(dāng)向存儲(chǔ)器40寫入數(shù)據(jù)時(shí),第一異或電路102在掩碼值和一組配對(duì)的數(shù)據(jù)和奇偶校驗(yàn)碼之間執(zhí)行“異或”運(yùn)算。在該對(duì)中,數(shù)據(jù)是要向存儲(chǔ)器40寫入的,而奇偶校驗(yàn)碼是根據(jù)該數(shù)據(jù)生成的。然后將這些結(jié)果的結(jié)合體寫入存儲(chǔ)器40中。更具體地說(shuō),掩碼值生成電路112生成的掩碼值結(jié)合所述數(shù)據(jù)和奇偶校驗(yàn)碼,然后,將這個(gè)結(jié)合體寫入存儲(chǔ)器40中。將該值被稱作第一運(yùn)算后數(shù)據(jù)。
當(dāng)從存儲(chǔ)器40讀取數(shù)據(jù)時(shí),第二異或電路114在從存儲(chǔ)器40讀取的數(shù)據(jù)和掩碼值之間執(zhí)行“異或”運(yùn)算,從而去掉該掩碼值。
根據(jù)第二異或電路114的計(jì)算結(jié)果,校正子計(jì)算電路120計(jì)算出校正子。如果需要的話,依照校正子計(jì)算電路120計(jì)算出的校正子,糾錯(cuò)電路122執(zhí)行糾錯(cuò)。
現(xiàn)在,詳細(xì)描述校正子計(jì)算電路120和糾錯(cuò)電路122的操作。為了檢測(cè)或糾正從存儲(chǔ)器40中讀取的添加有奇偶校驗(yàn)碼的數(shù)據(jù)中的差錯(cuò),就要計(jì)算校正子。更具體地說(shuō),校正子計(jì)算電路120獲取從存儲(chǔ)器40讀取的64比特的數(shù)據(jù)并且根據(jù)該64比特?cái)?shù)據(jù)計(jì)算出8比特的奇偶校驗(yàn)碼。利用檢測(cè)矩陣“H”,可以根據(jù)該64比特的數(shù)據(jù)和8比特的奇偶校驗(yàn)碼計(jì)算出8比特的校正子。將該校正子輸出到糾錯(cuò)電路122中。
8比特的校正子“s”用等式(4)表示,而要作為輸出且由64比特?cái)?shù)據(jù)和8比特奇偶校驗(yàn)碼組成的向量“x”用等式(5)表示s=(s1,s2,...s8) (4)x=(d1,d2,d3,...d64,p1,p2,...p8) (5)在這種情況下,用校正子“s”、向量“x”以及檢測(cè)矩陣“H”建立等式(6)s=xHT(6)其中,HT表示檢測(cè)矩陣“H”的轉(zhuǎn)置矩陣。這樣,校正子計(jì)算電路120計(jì)算并輸出該8比特的校正子。
如果沒有差錯(cuò),那么,用SEC-DED碼獲取的校正子的值是“0”。如果有一個(gè)差錯(cuò),那么,該校正子就會(huì)顯示和檢測(cè)矩陣“H”的列中對(duì)應(yīng)于差錯(cuò)位的位置的元素相同的值。如果校正子不是“0”,但是有差錯(cuò),則在檢測(cè)矩陣“H”中列向量相對(duì)應(yīng)的位置處與校正子具有相同值的那一位(如果有的話)就是差錯(cuò)位。在這種情況下,將數(shù)據(jù)或奇偶校驗(yàn)碼中與差錯(cuò)位位置相對(duì)應(yīng)的那一位反轉(zhuǎn)過(guò)來(lái)就可以糾正差錯(cuò)。
當(dāng)該校正子不是“0”并且顯示與校正子具有相同值的列向量不存在檢測(cè)矩陣“H”中時(shí),就存在不可糾正的差錯(cuò)。換句話說(shuō),有兩個(gè)或更多個(gè)差錯(cuò)位。
在Hsiao碼中,文本矩陣的每一列中值為“1”的元素的個(gè)數(shù)總是奇數(shù)。因此,當(dāng)有奇數(shù)個(gè)差錯(cuò)位時(shí),所獲取的校正子中“1”的個(gè)數(shù)總是奇數(shù),而當(dāng)有偶數(shù)個(gè)差錯(cuò)位時(shí),所獲取的校正子中“1”的個(gè)數(shù)總是偶數(shù)。
如果有兩個(gè)差錯(cuò)位,那么,校正子中“1”的個(gè)數(shù)總是不為0的偶數(shù),因此一個(gè)Hsiao碼應(yīng)該能檢測(cè)兩個(gè)或更多個(gè)差錯(cuò)。如果有奇數(shù)個(gè)(三個(gè)或者更多)差錯(cuò)位,校正子中“1”的個(gè)數(shù)總是奇數(shù),但是這個(gè)校正子可能并不能與只有一個(gè)差錯(cuò)的情況下獲取的校正子區(qū)分開。因此,如果這個(gè)校正子和只有一個(gè)差錯(cuò)時(shí)獲取的校正子一樣,那么,檢測(cè)結(jié)果就只顯示一個(gè)差錯(cuò)位,并執(zhí)行錯(cuò)誤的糾正操作。在其它情況下,會(huì)檢測(cè)到不可糾正的差錯(cuò)。
當(dāng)有偶數(shù)個(gè)差錯(cuò)位時(shí),即四個(gè)或者更多時(shí),校正子中“1”的個(gè)數(shù)總是偶數(shù)。但是,“1”的個(gè)數(shù)可能會(huì)是0。在這樣的情況下,不會(huì)檢測(cè)到差錯(cuò)。在其它情況下,會(huì)檢測(cè)到不可糾正的差錯(cuò)。一般而言,SEC-DED碼是在假設(shè)差錯(cuò)位的最大個(gè)數(shù)是2的情況下使用的。
一般而言,即使在奇偶校驗(yàn)碼中出現(xiàn)差錯(cuò),也可以用SEC-DED碼來(lái)執(zhí)行糾錯(cuò)操作。另一方面,在這個(gè)實(shí)施例中,不使用奇偶校驗(yàn)碼糾錯(cuò)之后的值,因此,不對(duì)奇偶校驗(yàn)碼執(zhí)行糾錯(cuò)操作。但是,在其它實(shí)施例中,完全可能對(duì)奇偶校驗(yàn)碼執(zhí)行糾錯(cuò)操作。
圖8的框圖示出了掩碼值生成電路的功能結(jié)構(gòu)。掩碼值生成電路112生成掩碼值,從而使得根據(jù)關(guān)于該掩碼的已獲取的訪問(wèn)ID生成的校正子顯示出預(yù)定的值。
掩碼值生成電路112包括數(shù)據(jù)掩碼生成電路130、訪問(wèn)ID校正子生成電路132、奇偶校驗(yàn)碼生成電路134以及異或電路136。
圖9示出了數(shù)據(jù)掩碼生成電路130的結(jié)構(gòu)。數(shù)據(jù)掩碼生成電路130針對(duì)64比特的數(shù)據(jù)輸出掩碼,該數(shù)據(jù)對(duì)應(yīng)于輸入訪問(wèn)ID和要訪問(wèn)的存儲(chǔ)器40的地址。簡(jiǎn)而言之,數(shù)據(jù)掩碼生成電路130輸出一個(gè)數(shù)據(jù)掩碼。事實(shí)上,數(shù)據(jù)掩碼生成電路130是如圖9中所示的隨機(jī)數(shù)存儲(chǔ)器。該隨機(jī)數(shù)存儲(chǔ)器用常規(guī)的存儲(chǔ)器件形成。
在隨機(jī)數(shù)存儲(chǔ)器中,寫入隨機(jī)數(shù)。將訪問(wèn)ID和地址連接到隨機(jī)數(shù)存儲(chǔ)器的地址端子上,這樣與該訪問(wèn)ID和地址相對(duì)應(yīng)的隨機(jī)值會(huì)作為一個(gè)數(shù)據(jù)掩碼值從隨機(jī)數(shù)存儲(chǔ)器的數(shù)據(jù)端子輸出。
數(shù)據(jù)掩碼生成電路130并不限于這個(gè)實(shí)施例中的結(jié)構(gòu),只要它能輸出基于地址和訪問(wèn)ID唯一確定的值就可以。數(shù)據(jù)掩碼生成電路130作為第一數(shù)據(jù)掩碼生成器和第二數(shù)據(jù)掩碼生成器而運(yùn)行。
圖10A示出了訪問(wèn)ID校正子生成電路132。該訪問(wèn)校正子生成電路132確定奇偶校驗(yàn)碼的校正子,該奇偶校驗(yàn)碼是根據(jù)獲取的訪問(wèn)ID生成的。訪問(wèn)ID校正子生成電路132的結(jié)構(gòu)如圖10A所示,所以校正子中所有“1”的個(gè)數(shù)如上面描述的那樣都是奇數(shù)。
當(dāng)校正子中所有“1”的個(gè)數(shù)為偶數(shù)時(shí),訪問(wèn)ID校正子生成電路132的結(jié)構(gòu)如圖10B所示。由訪問(wèn)ID校正子生成電路132生成的校正子中“1”的個(gè)數(shù)將會(huì)在后面描述。
訪問(wèn)ID校正子生成電路132作為第一校正子生成器,生成第一掩碼數(shù)據(jù)的第一校正子,以及作為第二校正子生成器,生成第二掩碼數(shù)據(jù)的第二校正子。
奇偶校驗(yàn)碼生成器134為數(shù)據(jù)掩碼生成電路130生成的數(shù)據(jù)掩碼確定奇偶校驗(yàn)碼。異或電路136在奇偶校驗(yàn)碼生成電路134生成的奇偶校驗(yàn)碼和訪問(wèn)ID校正子生成電路132生成的訪問(wèn)ID校正子之間進(jìn)行“異或”運(yùn)算,并將運(yùn)算結(jié)果作為奇偶校驗(yàn)碼掩碼輸出。異或電路136作為第一奇偶校驗(yàn)碼掩碼生成器和第二奇偶校驗(yàn)碼掩碼生成器運(yùn)行。
通常來(lái)說(shuō),給定數(shù)據(jù)和根據(jù)該數(shù)據(jù)計(jì)算出的奇偶校驗(yàn)碼的校正子是“0”。但是,當(dāng)根據(jù)一個(gè)新的奇偶校驗(yàn)碼,即該奇偶校驗(yàn)碼和一個(gè)給定值“x”之間的“異或”值進(jìn)行運(yùn)算時(shí),校正子會(huì)變成“x”。
這是因?yàn)?,與奇偶校驗(yàn)碼相對(duì)應(yīng)的檢測(cè)矩陣“H”的部分是一個(gè)單位矩陣。利用上面的特性,生成奇偶校驗(yàn)碼掩碼,從而獲取訪問(wèn)ID校正子生成電路132生成的訪問(wèn)ID校正子,該訪問(wèn)ID校正子與數(shù)據(jù)掩碼生成電路130生成的數(shù)據(jù)掩碼相關(guān)。
圖11示出了寫操作的流程圖,寫操作是訪問(wèn)控制系統(tǒng)1中執(zhí)行的訪問(wèn)控制操作的一部分。首先,從訪問(wèn)ID寄存器110獲取訪問(wèn)ID(步驟S102)。然后,奇偶校驗(yàn)碼生成電路100針對(duì)要寫入存儲(chǔ)器40的數(shù)據(jù)生成并添加奇偶校驗(yàn)碼(步驟S104)。掩碼值生成電路112生成掩碼值(步驟S106)。更具體地說(shuō),掩碼值生成電路112生成數(shù)據(jù)掩碼和奇偶校驗(yàn)碼掩碼。
然后,第一異或電路102在掩碼值和一組配對(duì)的數(shù)據(jù)和奇偶校驗(yàn)碼之間執(zhí)行“異或”運(yùn)算。用于“異或”運(yùn)算的掩碼是由掩碼值生成電路112生成的(步驟S108)。更具體地說(shuō),第一異或電路102在從處理器20獲取的數(shù)據(jù)和掩碼值生成電路112生成的數(shù)據(jù)掩碼之間執(zhí)行“異或”運(yùn)算。第一異或電路102還在奇偶校驗(yàn)碼生成電路100生成的奇偶校驗(yàn)碼和掩碼值生成電路112生成的奇偶校驗(yàn)碼掩碼之間執(zhí)行“異或”運(yùn)算。將第一異或電路102獲取的第一運(yùn)算后數(shù)據(jù)寫入到存儲(chǔ)器40中(步驟S110)。于是,寫操作到此結(jié)束。
圖12示出了寫操作過(guò)程中的數(shù)據(jù)流。當(dāng)正在執(zhí)行的進(jìn)程要把數(shù)據(jù)D寫入到存儲(chǔ)器40時(shí),借助于ECC把奇偶校驗(yàn)碼添加到數(shù)據(jù)D上,這樣就形成了添加有奇偶校驗(yàn)碼的數(shù)據(jù)D′。
下面,將在添加有奇偶校驗(yàn)碼的數(shù)據(jù)D′和掩碼值生成電路112生成的掩碼值“Ka”之間的異或運(yùn)算結(jié)果D′Ka,即第一運(yùn)算后數(shù)據(jù)D″,寫入到存儲(chǔ)器40中。
現(xiàn)在,將詳細(xì)描述把關(guān)于訪問(wèn)ID的信息設(shè)置到訪問(wèn)控制設(shè)備10中的訪問(wèn)ID設(shè)置操作。圖13示出了訪問(wèn)ID設(shè)置操作中所用的進(jìn)程管理表。該進(jìn)程管理表是在操作系統(tǒng)中提供的。當(dāng)兩個(gè)或更多個(gè)進(jìn)程要在處理器20中運(yùn)行時(shí),操作系統(tǒng)通常會(huì)管理這些進(jìn)程。在這個(gè)過(guò)程中,要用到圖13所示的進(jìn)程管理表。
進(jìn)程管理表包括與進(jìn)程ID相關(guān)聯(lián)的優(yōu)先權(quán)信息、訪問(wèn)權(quán)限信息、程序計(jì)數(shù)器、寄存器保存區(qū)域以及頁(yè)表指針。與進(jìn)程ID相關(guān)聯(lián)的訪問(wèn)ID信息也記錄在進(jìn)程管理表中。進(jìn)程管理表管理的信息不限于上述這些,而是隨著不同類型的操作系統(tǒng)而變化。
圖14詳細(xì)示出了訪問(wèn)ID設(shè)置操作的流程圖。在操作系統(tǒng)切換進(jìn)程時(shí),由處理器20執(zhí)行該操作。當(dāng)執(zhí)行中的進(jìn)程停止時(shí)(步驟S120),當(dāng)前已執(zhí)行的進(jìn)程的上下文,即執(zhí)行狀態(tài),比如寄存器值和程序計(jì)數(shù)器值,都存儲(chǔ)在進(jìn)程管理表中(步驟S122)。通過(guò)查找進(jìn)程管理表,將下一個(gè)要執(zhí)行的進(jìn)程的上下文,即寄存器值、程序計(jì)數(shù)器值以及頁(yè)表都設(shè)置到處理器20中(步驟S124)。
然后,將關(guān)于下一步要執(zhí)行的進(jìn)程的訪問(wèn)ID信息也設(shè)置到訪問(wèn)控制設(shè)備10中(步驟S126)。訪問(wèn)ID信息包括進(jìn)程進(jìn)行訪問(wèn)時(shí)所用的訪問(wèn)ID。
然后,刷新緩沖器(步驟S128)。如果先前進(jìn)程所用的數(shù)據(jù)還存留在緩沖器中,可以在沒有訪問(wèn)權(quán)限的情況下進(jìn)行訪問(wèn)。刷新緩沖器就是為了避免這樣的意外事件。然后,就開始對(duì)下一個(gè)要執(zhí)行的進(jìn)程進(jìn)行控制(步驟S130)。這里,訪問(wèn)ID設(shè)置操作就到此結(jié)束。
在這個(gè)實(shí)施例中,由操作系統(tǒng)執(zhí)行對(duì)緩沖存儲(chǔ)器的刷新。但是,其它部件也可以執(zhí)行緩沖存儲(chǔ)器的刷新。此外,緩沖存儲(chǔ)器的刷新(步驟S128)可以在下一個(gè)進(jìn)程開始(步驟S130)之前且已執(zhí)行的進(jìn)程的上下文存儲(chǔ)(步驟S122)之后的任何時(shí)間開始。在另一個(gè)例子中,當(dāng)訪問(wèn)ID寄存器110的設(shè)置改變時(shí),訪問(wèn)控制設(shè)備10可以中斷處理器20,并且,可以在中斷處理例程中刷新緩沖存儲(chǔ)器。
圖15示出了掩碼值生成電路112執(zhí)行掩碼值生成操作(步驟S106)的流程圖。首先,數(shù)據(jù)掩碼生成電路130根據(jù)訪問(wèn)ID和要訪問(wèn)的地址,生成數(shù)據(jù)掩碼值(步驟S140)。訪問(wèn)ID校正子生成電路132根據(jù)訪問(wèn)ID,生成訪問(wèn)ID校正子(步驟S142)。
然后,奇偶校驗(yàn)碼生成器134針對(duì)數(shù)據(jù)掩碼生成電路130生成的數(shù)據(jù)掩碼,生成奇偶校驗(yàn)碼(步驟S144)。異或電路136對(duì)奇偶校驗(yàn)碼生成電路134生成的奇偶校驗(yàn)碼和訪問(wèn)ID校正子生成電路132生成的校正子進(jìn)行異或運(yùn)算。這樣,異或電路136就生成了奇偶校驗(yàn)碼掩碼(步驟S146)。至此,生成掩碼值的操作結(jié)束(步驟S106)。可以在奇偶校驗(yàn)碼生成之前的任何時(shí)間生成數(shù)據(jù)掩碼,但是不能在訪問(wèn)ID校正子生成之前生成數(shù)據(jù)掩碼。
圖16的流程圖示出了從存儲(chǔ)器40讀取數(shù)據(jù)的操作,它是訪問(wèn)控制操作的一部分。首先,從訪問(wèn)ID寄存器110獲取訪問(wèn)ID(步驟S102)。然后,掩碼值生成電路112生成掩碼值(步驟S106)。這里的掩碼值生成操作(步驟S106)和結(jié)合圖14和圖15描述的掩碼值生成操作(步驟S106)是相同的。
第二異或電路114把寫在存儲(chǔ)器40中的第一運(yùn)算后數(shù)據(jù)D″讀出(步驟S204)。然后,第二異或電路114對(duì)第一運(yùn)算后數(shù)據(jù)D″和掩碼值生成電路112生成的掩碼值進(jìn)行異或運(yùn)算(步驟S206)。
校正子計(jì)算電路120用ECC計(jì)算出校正子(步驟S208)。如果這個(gè)校正子是“0”,或者如果沒有檢測(cè)出有差錯(cuò)(步驟S210中“YES”),那么,就讀取數(shù)據(jù)D(步驟S212)。
如果這個(gè)校正子不是“0”而且校正子中“1”的個(gè)數(shù)是奇數(shù)(步驟S210中“NO”并且步驟S214中“YES”),則檢測(cè)出了一個(gè)差錯(cuò),于是,糾錯(cuò)電路122就執(zhí)行糾錯(cuò)操作(步驟S216)。讀取糾錯(cuò)后的數(shù)據(jù)D(步驟S212)。如果校正子不是“0”而且檢測(cè)出了多于一個(gè)的差錯(cuò)(步驟S210“NO”并且步驟S214“NO”),則是不可糾正的差錯(cuò)。因此,輸出“0”數(shù)據(jù),而不是數(shù)據(jù)D(步驟S218)。這樣,數(shù)據(jù)讀取操作結(jié)束。
在這個(gè)實(shí)施例中,步驟S218中輸出的是“0”數(shù)據(jù)。但是,在這個(gè)實(shí)施例的修正版中可以不輸出數(shù)據(jù)。此外,在這個(gè)實(shí)施例的另一修正版中可以輸出從存儲(chǔ)器40讀出的數(shù)據(jù)。
在另一修正版中,當(dāng)檢測(cè)出不可糾正的差錯(cuò)時(shí),糾錯(cuò)電路122會(huì)輸出錯(cuò)誤檢測(cè)信號(hào)來(lái)指示這個(gè)錯(cuò)誤檢測(cè),而處理器20會(huì)根據(jù)這個(gè)信號(hào)通過(guò)中斷或者其它類似方法得知這個(gè)錯(cuò)誤檢測(cè)。
圖17示出了讀取寫在存儲(chǔ)器40中的數(shù)據(jù)的操作。當(dāng)正在運(yùn)行的進(jìn)程要從存儲(chǔ)器40中讀取數(shù)據(jù)時(shí),根據(jù)D″Kb=D′(KaKb)計(jì)算出從存儲(chǔ)器讀取的第一運(yùn)算后數(shù)據(jù)D″D′Ka和掩碼“Kb”之間的異或值,該掩碼“Kb”是根據(jù)在進(jìn)程執(zhí)行期間設(shè)置在訪問(wèn)ID寄存器110中的訪問(wèn)ID生成的。
這個(gè)值就等價(jià)于第二運(yùn)算后數(shù)據(jù)。根據(jù)校正子計(jì)算電路120的計(jì)算結(jié)果,讀出執(zhí)行了帶有ECC的差錯(cuò)檢測(cè)和糾錯(cuò)的值。
當(dāng)讀操作中生成的掩碼和寫操作中生成的掩碼相同即Ka=Kb時(shí),就可以讀取出正確的數(shù)據(jù)D。當(dāng)讀操作中生成的掩碼和寫操作中生成的掩碼不相同即Ka≠Kb時(shí),從存儲(chǔ)器40讀取的第一運(yùn)算后數(shù)據(jù)中存在和這個(gè)值中“1”的位數(shù)相同個(gè)數(shù)的差錯(cuò)KaKb。因此,在這個(gè)例子中,糾錯(cuò)電路120輸出數(shù)據(jù)“0”。
在這個(gè)實(shí)施例的一個(gè)修正版中,如果讀操作中生成的掩碼和寫操作中生成的掩碼不相同,那么,糾錯(cuò)電路112可以不輸出任何數(shù)據(jù)。
如上面所述,在這個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中,向存儲(chǔ)器40寫入數(shù)據(jù)時(shí),數(shù)據(jù)和奇偶校驗(yàn)碼都會(huì)寫入到存儲(chǔ)器40中,奇偶校驗(yàn)碼是通過(guò)在待寫入數(shù)據(jù)和它的奇偶校驗(yàn)碼以及請(qǐng)求方的內(nèi)在掩碼值之間執(zhí)行異或運(yùn)算來(lái)獲取的。當(dāng)請(qǐng)求器從存儲(chǔ)器40讀取數(shù)據(jù)時(shí),通過(guò)在從存儲(chǔ)器40讀取的數(shù)據(jù)和奇偶校驗(yàn)碼以及請(qǐng)求方的內(nèi)在掩碼值之間執(zhí)行異或運(yùn)算,來(lái)生成該數(shù)據(jù)和奇偶校驗(yàn)碼。然后對(duì)數(shù)據(jù)和奇偶校驗(yàn)碼進(jìn)行糾錯(cuò)操作,并將糾錯(cuò)后的數(shù)據(jù)返回給請(qǐng)求器。
如果請(qǐng)求對(duì)存儲(chǔ)器40進(jìn)行讀操作的請(qǐng)求方和請(qǐng)求對(duì)存儲(chǔ)器40進(jìn)行寫操作的請(qǐng)求方是相同的,那么它們的訪問(wèn)ID是相等的,它們的掩碼值也是相等的。因此,在讀操作中用來(lái)進(jìn)行異或運(yùn)算的掩碼值和在寫操作中用來(lái)進(jìn)行異或運(yùn)算的掩碼值是相等的。所以,掩碼效應(yīng)就抵消了,于是,可以正確地讀取數(shù)據(jù)。
在這個(gè)實(shí)施例中,如果請(qǐng)求對(duì)存儲(chǔ)器40進(jìn)行讀操作的請(qǐng)求方和請(qǐng)求對(duì)存儲(chǔ)器40進(jìn)行寫操作的請(qǐng)求方不相同,就要設(shè)置掩碼值以便糾錯(cuò)電路122可以檢測(cè)出差錯(cuò)。因此,在讀操作中用來(lái)進(jìn)行異或運(yùn)算的掩碼值和在寫操作中用來(lái)進(jìn)行異或運(yùn)算的掩碼值是不同的。所以,就可以防止其它請(qǐng)求方讀數(shù)據(jù)。
為了防止其它請(qǐng)求方的未授權(quán)訪問(wèn),選擇的掩碼值應(yīng)該能在讀操作中生成的掩碼值和寫操作中生成的掩碼值不同時(shí)生成校正子來(lái)指示差錯(cuò)的不可糾正狀態(tài)。更具體地說(shuō),根據(jù)寫操作中的掩碼值計(jì)算出的校正子值和根據(jù)讀操作中的掩碼值計(jì)算出的校正子值之間的“異或”值不能是“0”,并且“異或”值中“1”的個(gè)數(shù)應(yīng)該是偶數(shù)。
因此,根據(jù)相應(yīng)掩碼值計(jì)算出來(lái)的校正子中“1”的個(gè)數(shù)應(yīng)該要么都是奇數(shù),要么都是偶數(shù)。根據(jù)“1”的個(gè)數(shù),訪問(wèn)ID校正子生成電路應(yīng)當(dāng)有選擇性地采用圖10A所示的結(jié)構(gòu)或者圖10B所示的結(jié)構(gòu)。
這樣,當(dāng)設(shè)置了掩碼值時(shí),可管理的請(qǐng)求方的個(gè)數(shù)和滿足上述條件的校正子的個(gè)數(shù)是相等的。更具體地說(shuō),采用添加有8比特奇偶校驗(yàn)碼的64比特?cái)?shù)據(jù)的結(jié)構(gòu),無(wú)論是在校正子中“1”的個(gè)數(shù)都是奇數(shù)的情況下還是在校正子中“1”的個(gè)數(shù)都是偶數(shù)(包括0)的情況下,均可以將128個(gè)不同的請(qǐng)求方區(qū)分開來(lái)。
掩碼是按照使每個(gè)進(jìn)程都有唯一掩碼值的方式來(lái)設(shè)置的。因此,如果一個(gè)進(jìn)程試圖讀取由一個(gè)預(yù)定的進(jìn)程寫入的數(shù)據(jù),那么,在這個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中是不能執(zhí)行該讀操作的。因此,可以保護(hù)數(shù)據(jù)免遭任何其它進(jìn)程訪問(wèn)。
在保護(hù)數(shù)據(jù)免遭未授權(quán)進(jìn)程訪問(wèn)的同時(shí),訪問(wèn)控制系統(tǒng)1執(zhí)行保護(hù)操作,從而使得只有那些最初被授權(quán)可以寫數(shù)據(jù)的進(jìn)程才能寫數(shù)據(jù)。更具體地說(shuō),在數(shù)據(jù)寫入存儲(chǔ)器40之前,先要讀取寫在存儲(chǔ)器40中的數(shù)據(jù)。于是,在每一個(gè)由于掩碼不匹配而不能進(jìn)行讀取訪問(wèn)的地址,都會(huì)禁止寫入數(shù)據(jù)。這樣,就可以提供精確的保護(hù)來(lái)防止未授權(quán)的寫操作訪問(wèn)。
此外,根據(jù)標(biāo)識(shí)請(qǐng)求方進(jìn)程的訪問(wèn)ID和要訪問(wèn)的存儲(chǔ)器區(qū)域的地址,生成用在訪問(wèn)控制系統(tǒng)1中的掩碼值。所以,可以針對(duì)每個(gè)請(qǐng)求方和針對(duì)每個(gè)要訪問(wèn)的存儲(chǔ)器區(qū)域進(jìn)行訪問(wèn)控制。
圖18的框圖示出了依照第二個(gè)實(shí)施例的訪問(wèn)控制設(shè)備10的功能結(jié)構(gòu)。依照第二個(gè)實(shí)施例的訪問(wèn)控制設(shè)備10與依照第一個(gè)實(shí)施例的訪問(wèn)控制設(shè)備10的不同之處在于,用訪問(wèn)ID管理電路140取代了訪問(wèn)ID寄存器110。
圖19的框圖詳細(xì)示出了訪問(wèn)ID管理電路140的具體功能結(jié)構(gòu)。訪問(wèn)ID管理電路140包括訪問(wèn)ID表142和訪問(wèn)ID選擇電路144。
圖20示出了訪問(wèn)ID表142的數(shù)據(jù)結(jié)構(gòu)。訪問(wèn)ID表142包括了與訪問(wèn)ID所標(biāo)識(shí)的請(qǐng)求方可以訪問(wèn)的存儲(chǔ)器區(qū)域的開始地址和結(jié)束地址相關(guān)聯(lián)的訪問(wèn)ID。這個(gè)實(shí)施例中的訪問(wèn)ID表142作為第一訪問(wèn)代碼獲取器和第二訪問(wèn)代碼獲取器。
當(dāng)處理器20中要執(zhí)行的進(jìn)程進(jìn)行切換時(shí),處理器20會(huì)把切換后要執(zhí)行的進(jìn)程保存的訪問(wèn)ID以及由與訪問(wèn)ID相對(duì)應(yīng)的存儲(chǔ)器區(qū)域開始地址和結(jié)束地址構(gòu)成的必需數(shù)量的集合寫入到訪問(wèn)ID表142中。因此,每次切換進(jìn)程時(shí),切換后要執(zhí)行的進(jìn)程的相關(guān)數(shù)據(jù)就會(huì)記錄到訪問(wèn)ID表142中。
圖13所示的進(jìn)程管理表中的訪問(wèn)ID信息包含了要記錄在訪問(wèn)ID表142中的與每次訪問(wèn)對(duì)應(yīng)的數(shù)據(jù)。當(dāng)進(jìn)程切換時(shí),在第一個(gè)實(shí)施例中結(jié)合圖14描述的步驟S126中,將訪問(wèn)ID信息中包含的數(shù)據(jù)設(shè)置到訪問(wèn)ID表142中。
訪問(wèn)ID表142映射到從處理器20可以看到的地址空間的輸入/輸出空間上。因此,處理器20可以直接向訪問(wèn)ID表142寫入。
訪問(wèn)ID選擇電路114從處理器20獲取訪問(wèn)存儲(chǔ)器40的請(qǐng)求。該訪問(wèn)請(qǐng)求包括了要訪問(wèn)的存儲(chǔ)器區(qū)域的地址。然后,訪問(wèn)ID選擇電路114查詢?cè)L問(wèn)ID表142,并輸出對(duì)應(yīng)于該存儲(chǔ)器區(qū)域的訪問(wèn)ID。這個(gè)實(shí)施例中的訪問(wèn)ID選擇電路144作為第一訪問(wèn)代碼指定器和第二訪問(wèn)代碼指定器。
圖21示出了訪問(wèn)ID管理電路140的具體結(jié)構(gòu)。正如圖21所示,記錄起始地址、結(jié)束地址以及訪問(wèn)ID,并針對(duì)這些數(shù)據(jù)進(jìn)行運(yùn)算,以此對(duì)訪問(wèn)ID表142和訪問(wèn)ID選擇電路144進(jìn)行具體化。
圖22詳細(xì)示出了第二個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中獲取訪問(wèn)ID的操作(步驟S102)的流程圖。
如上所述,首先從處理器20獲取地址A(步驟S150)。訪問(wèn)ID選擇電路114查詢?cè)L問(wèn)ID表142并選擇一個(gè)訪問(wèn)ID,該訪問(wèn)ID與這樣一個(gè)起始地址和結(jié)束地址相關(guān)地址A大于或等于該起始地址并且小于或等于該結(jié)束地址(步驟S152)。將選擇的訪問(wèn)ID輸出到掩碼值生成電路112中(步驟S154)。這樣,獲取訪問(wèn)ID的操作完畢(步驟S102)。
在依照第二個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中,為多個(gè)存儲(chǔ)器區(qū)域分配不同訪問(wèn)請(qǐng)求方的訪問(wèn)ID,這樣就可以對(duì)每個(gè)存儲(chǔ)器區(qū)域執(zhí)行訪問(wèn)控制。
當(dāng)處理器20中要執(zhí)行的進(jìn)程共享存儲(chǔ)器區(qū)域時(shí),優(yōu)選把允許訪問(wèn)的進(jìn)程分配到每個(gè)存儲(chǔ)器區(qū)域,這樣就可以檢查訪問(wèn)權(quán)限。依照第二個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中的訪問(wèn)控制設(shè)備10可以檢查每個(gè)存儲(chǔ)器區(qū)域的訪問(wèn)權(quán)限。
還是在這個(gè)實(shí)施例中,訪問(wèn)控制設(shè)備10在訪問(wèn)ID表142改變之后要中斷處理器20,在此時(shí)執(zhí)行的中斷處理例程中刷新緩沖存儲(chǔ)器。
依照第二個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1的操作和結(jié)構(gòu)的其它方面同依照第一個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1是相同的。
接下來(lái)要描述依照第三個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1。和依照第二個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1類似,這個(gè)訪問(wèn)控制系統(tǒng)1包括訪問(wèn)ID管理電路140。但是,依照第三個(gè)實(shí)施例的訪問(wèn)ID管理電路140執(zhí)行的操作不同于依照第二個(gè)實(shí)施例的訪問(wèn)ID管理電路140執(zhí)行的操作。依照這個(gè)實(shí)施例的訪問(wèn)ID管理電路140作為寫入器ID獲取單元和讀取器ID獲取單元。依照第三個(gè)實(shí)施例的訪問(wèn)ID管理電路140獲取請(qǐng)求方ID來(lái)標(biāo)識(shí)請(qǐng)求方,并且根據(jù)請(qǐng)求方ID來(lái)選擇訪問(wèn)ID。
圖23示出了依照第三個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中的訪問(wèn)ID管理電路140中提供的訪問(wèn)ID表142的數(shù)據(jù)結(jié)構(gòu)。如圖23所示,訪問(wèn)ID表142保存與訪問(wèn)ID相關(guān)聯(lián)的請(qǐng)求方ID。依照這個(gè)實(shí)施例的訪問(wèn)ID表142作為第一訪問(wèn)代碼存儲(chǔ)器和第二訪問(wèn)代碼保存單元。
訪問(wèn)ID選擇電路144獲取請(qǐng)求方ID而不是用于標(biāo)識(shí)訪問(wèn)請(qǐng)求方的地址。通常,將標(biāo)識(shí)哪個(gè)設(shè)備發(fā)出訪問(wèn)請(qǐng)求的信號(hào)傳輸?shù)教幚砥骺偩€22上,有不止一個(gè)的處理器20與該總線相連。訪問(wèn)ID選擇電路144按照這個(gè)信號(hào)來(lái)判斷請(qǐng)求方ID。然后,訪問(wèn)ID選擇電路144查詢?cè)L問(wèn)ID表142,并且選擇出與所獲取的請(qǐng)求方ID相關(guān)聯(lián)的訪問(wèn)ID。這個(gè)實(shí)施例中的訪問(wèn)ID選擇電路144作為第一訪問(wèn)代碼指定器和第二訪問(wèn)代碼指定器。
圖24示出了訪問(wèn)ID管理電路140的具體結(jié)構(gòu)。如圖24所示,預(yù)先記錄了請(qǐng)求方ID和訪問(wèn)ID,并對(duì)這些數(shù)據(jù)進(jìn)行運(yùn)算,以此對(duì)訪問(wèn)ID表142和訪問(wèn)ID選擇電路144進(jìn)行具體化。
圖25詳細(xì)示出了第三個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中獲取訪問(wèn)ID的操作(步驟S102)的流程圖。
首先,從處理器總線22獲取請(qǐng)求方ID(步驟S160)。訪問(wèn)ID選擇電路114查詢?cè)L問(wèn)ID表142并選擇該請(qǐng)求方ID對(duì)應(yīng)的訪問(wèn)ID(步驟S162)。將選擇的訪問(wèn)ID輸出到掩碼值生成電路112中(步驟S164)。這樣,獲取訪問(wèn)ID的操作(步驟S102)就結(jié)束了。
如上所述,從請(qǐng)求方直接獲取請(qǐng)求方ID,而不是獲取訪問(wèn)ID。因此,可以實(shí)現(xiàn)更高的安全性。比如,當(dāng)不止一個(gè)處理器20或輸入/輸出設(shè)備連接到處理器總線22時(shí),可以針對(duì)每個(gè)連接在處理器總線22上的設(shè)備檢查其訪問(wèn)權(quán)限。
依照第三個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1的操作和結(jié)構(gòu)的其它方面同依照前面的實(shí)施例的訪問(wèn)控制系統(tǒng)1是相同的。
接下來(lái)要描述依照第四個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1。依照第四個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中的訪問(wèn)ID管理電路140同時(shí)擁有依照第二個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中的訪問(wèn)ID管理電路140和依照第三個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中的訪問(wèn)ID管理電路140的功能。依照第四個(gè)實(shí)施例的訪問(wèn)ID管理電路140根據(jù)要訪問(wèn)的存儲(chǔ)器區(qū)域的地址和訪問(wèn)請(qǐng)求方的請(qǐng)求方ID來(lái)確定訪問(wèn)ID。
圖26顯示了依照第四個(gè)實(shí)施例的訪問(wèn)ID表142的數(shù)據(jù)結(jié)構(gòu)。該訪問(wèn)ID表142包括相互關(guān)聯(lián)的請(qǐng)求方ID、起始地址和結(jié)束地址以及訪問(wèn)ID。訪問(wèn)ID選擇電路144確定從處理器20獲取的訪問(wèn)請(qǐng)求中包含的存儲(chǔ)器區(qū)域的地址,并且從處理器總線22獲取請(qǐng)求方ID。
圖27示出了訪問(wèn)ID管理電路140的具體結(jié)構(gòu)。正如圖27所示,預(yù)先記錄起始地址、結(jié)束地址、請(qǐng)求方ID以及訪問(wèn)ID,并對(duì)這些數(shù)據(jù)進(jìn)行運(yùn)算,以此對(duì)訪問(wèn)ID表142和訪問(wèn)ID選擇電路144進(jìn)行具體化。
圖28詳細(xì)示出了依照第四個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中獲取訪問(wèn)ID的操作(步驟S102)的流程圖。訪問(wèn)ID選擇電路114從處理器20獲取地址A(步驟S170)。訪問(wèn)ID選擇電路114還從處理器總線22獲取請(qǐng)求方ID(步驟S172)。然后,訪問(wèn)ID選擇電路114查詢?cè)L問(wèn)ID表142并選擇請(qǐng)求方ID和地址A對(duì)應(yīng)的訪問(wèn)ID(步驟S174)。將選擇的訪問(wèn)ID輸出到掩碼值生成電路112中(步驟S176)。這樣,獲取訪問(wèn)ID的操作(步驟S102)就結(jié)束了。
依照第四個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1的操作和結(jié)構(gòu)的其它方面同依照前面的實(shí)施例的訪問(wèn)控制系統(tǒng)1是相同的。
接下來(lái)要描述依照第五個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1。依照第五個(gè)實(shí)施例的訪問(wèn)控制設(shè)備10在生成隨機(jī)掩碼的操作方面與其它任何一個(gè)實(shí)施例都不相同。
圖29的框圖示出了依照第五個(gè)實(shí)施例的數(shù)據(jù)掩碼生成電路130的功能結(jié)構(gòu)。數(shù)據(jù)掩碼生成電路130包括數(shù)據(jù)掩碼生成信息指定電路1301、數(shù)據(jù)掩碼生成信息表1302以及LFSR(線性反饋移位寄存器)延遲計(jì)算電路1303a、1303b、1303c。
圖30示出了數(shù)據(jù)掩碼生成信息表1302的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)掩碼生成信息表1302包含與訪問(wèn)ID相關(guān)聯(lián)的數(shù)據(jù)掩碼生成信息。數(shù)據(jù)掩碼生成信息包含根據(jù)每個(gè)訪問(wèn)ID生成數(shù)據(jù)掩碼時(shí)要用到的各種參數(shù)。這些參數(shù)包括特征多項(xiàng)式系數(shù)、延遲系數(shù)以及要輸入到LFSR延遲計(jì)算電路1303a、1303b以及1303c中的初始掩碼。但是,在第五個(gè)實(shí)施例中并不需要記錄初始掩碼的數(shù)據(jù),因?yàn)榈谖鍌€(gè)實(shí)施例中的LFSR延遲計(jì)算電路1303a、1303b以及1303c并不使用初始掩碼。
回到圖29中,數(shù)據(jù)掩碼生成信息指定電路1301首先從訪問(wèn)ID寄存器110或者訪問(wèn)ID管理電路140獲取訪問(wèn)ID。然后,數(shù)據(jù)掩碼生成信息指定電路1301查詢數(shù)據(jù)掩碼生成信息表1302,并且確定數(shù)據(jù)掩碼生成信息,即與獲取的訪問(wèn)ID相關(guān)聯(lián)的各種參數(shù)。
把數(shù)據(jù)掩碼生成信息指定電路1301確定的參數(shù)輸入到LFSR延遲計(jì)算電路1303a、1303b以及1303c中。把要訪問(wèn)的存儲(chǔ)器40的地址也輸入到LFSR延遲計(jì)算電路1303a、1303b以及1303c中。根據(jù)這些輸入數(shù)據(jù),LFSR延遲計(jì)算電路1303a、1303b以及1303c計(jì)算出數(shù)據(jù)掩碼。
一般而言,把本原多項(xiàng)式用作特征多項(xiàng)式生成的級(jí)數(shù)叫做M級(jí)數(shù),而且,眾所周知,該級(jí)數(shù)具有與偽隨機(jī)數(shù)一樣良好的特征。在這個(gè)實(shí)施例中,與某個(gè)特征多項(xiàng)式對(duì)應(yīng)的LFSR把要訪問(wèn)的存儲(chǔ)器40的地址設(shè)置為它的初始狀態(tài)。訪問(wèn)ID所對(duì)應(yīng)的步驟從初始狀態(tài)執(zhí)行預(yù)定的移位后的內(nèi)部狀態(tài)用作數(shù)據(jù)掩碼。
在這個(gè)實(shí)施例中,采用的每個(gè)地址由24比特以及三個(gè)將24次本原多項(xiàng)式用作特征多項(xiàng)式的24步LFSR組成。每個(gè)24步LFSR的內(nèi)部狀態(tài)由24比特組成。因此,可以從這三個(gè)LFSR延遲計(jì)算電路1303a、1303b和1303c獲取最大72比特的掩碼。但是,在這個(gè)實(shí)施例中只能獲取64比特。因此,從LFSR延遲計(jì)算電路1303a獲取22比特,而從LFSR延遲計(jì)算電路1303b和1303c各獲取21比特。
把該地址放置在LFSR延遲計(jì)算電路1303a、1303b和1303c的初始狀態(tài)中,并且獲取對(duì)LFSR移位之后得到的內(nèi)部狀態(tài)“Mx”,該移位操作是通過(guò)訪問(wèn)ID確定的延遲系數(shù)所對(duì)應(yīng)的步驟完成的。把那些內(nèi)部狀態(tài)的值加起來(lái),以便作為數(shù)據(jù)掩碼輸出。用于把從三個(gè)LFSR延遲計(jì)算電路1303a、1303b和1303c獲取的值轉(zhuǎn)換為數(shù)據(jù)掩碼的信號(hào)線的排列方式并沒有特別的限制。
現(xiàn)在更詳細(xì)地描述LFSR延遲計(jì)算電路1303a的操作。要指出的是,LFSR延遲計(jì)算電路1303b和LFSR延遲計(jì)算電路1303c的操作與LFSR延遲計(jì)算電路1303a的操作相同。等式(7)表示LFSR的特征多項(xiàng)式f(x)=A0x0+A1x1+A2x2+...+A24x24(7)
在這種情況下,要獲取LFSR中d步之后輸出的值,就要確定xd除以f(x)之后的余數(shù)g(x)。這里,等式(8)表示g(x)g(x)=B0x0+B1x1+B2x2+...+B23x23(8)計(jì)算g(x)的系數(shù)(B0,B1,...B23)和LFSR的內(nèi)部狀態(tài)(移位寄存器中每一步的值構(gòu)成的向量)的乘積之和,以獲取d步之后出現(xiàn)的“1”的個(gè)數(shù)。系數(shù)B0、B1、...B23就叫做延遲系數(shù)。
數(shù)據(jù)掩碼生成信息表1302包括特征多項(xiàng)式系數(shù)A0、A1、...An-1、延遲系數(shù)B0、B1、...Bn-1以及作為初始值的內(nèi)部狀態(tài)S0、S1、...Sn-1,特征多項(xiàng)式系數(shù)中最高次系數(shù)An總是等于1,所以不用預(yù)先保存An。
LFSR延遲計(jì)算電路1303a、1303b和1303c在由初始值和延遲系數(shù)B0、B1、...Bn-1確定的步驟之后輸出值M0、M1、...Mm-1。在這個(gè)實(shí)施例中,n是24。而且,在LFSR延遲計(jì)算電路1303a、1303b和1303c中,m比特?cái)?shù)據(jù)的值是不同的。因?yàn)橐獜腖FSR延遲計(jì)算電路1303b和1303c各獲取21比特,所以LFSR延遲計(jì)算電路1303b和1303c的m比特?cái)?shù)據(jù)各是21比特。因?yàn)橐獜腖FSR延遲計(jì)算電路1303a獲取22比特,所以LFSR延遲計(jì)算電路1303a的m比特?cái)?shù)據(jù)就是21比特。
圖31示出了LFSR延遲計(jì)算電路1303a的更具體的結(jié)構(gòu)。其它每個(gè)LFSR延遲計(jì)算電路1303b和1303c的結(jié)構(gòu)和LFSR延遲計(jì)算電路1303a的結(jié)構(gòu)相同。圖32示出了LFSR延遲計(jì)算電路1303a中提供的一個(gè)電路200。圖33示出了LFSR延遲計(jì)算電路1303a中提供的一個(gè)電路202。
圖32中所示的電路200組成LFSR延遲計(jì)算電路1303a的第一級(jí)電路,它在一次延遲之后計(jì)算出由延遲系數(shù)B確定的比特M。更具體地說(shuō),第一級(jí)電路計(jì)算延遲系數(shù)B0、B1、...B23和初始值S0、S1、...Sn-1的乘積之和,并將該結(jié)果作為M0輸出。
由圖33中所示的電路202組成位于LFSR延遲計(jì)算電路1303a中的第二級(jí)或者更后級(jí)的電路,它在隨后步驟的延遲之后計(jì)算該比特。更具體地說(shuō),根據(jù)延遲系數(shù)和上一級(jí)的特征多項(xiàng)式,電路202計(jì)算本級(jí)的延遲系數(shù),然后計(jì)算并輸出延遲系數(shù)和初始值的乘積之和。
按照下面的方法,根據(jù)上一級(jí)的延遲系數(shù)計(jì)算本級(jí)的延遲系數(shù)。其中,g(x)代表d步的延遲系數(shù),g(x)·x除以f(x)獲取的余數(shù)g′(x)代表d+1步的延遲系數(shù)。利用這一關(guān)系,上一級(jí)的延遲系數(shù)就被移動(dòng)1位。如果最高次系數(shù)是“1”,它就大于f(x)。因此,可以通過(guò)把它除以f(x)來(lái)確定本級(jí)的延遲系數(shù)。通過(guò)在f(x)和系數(shù)之間進(jìn)行異或運(yùn)算來(lái)執(zhí)行除以f(x)的操作。
對(duì)每個(gè)訪問(wèn)ID來(lái)說(shuō),要與訪問(wèn)ID相關(guān)聯(lián)地存儲(chǔ)在數(shù)據(jù)掩碼生成信息表1302中的延遲系數(shù)都是不同的。此外,對(duì)于每個(gè)訪問(wèn)ID來(lái)說(shuō),與訪問(wèn)ID相關(guān)聯(lián)的延遲系數(shù)也不相同。
應(yīng)該在訪問(wèn)ID生成時(shí)根據(jù)隨機(jī)數(shù)或者等來(lái)確定與訪問(wèn)ID相關(guān)聯(lián)的延遲系數(shù)。這里,應(yīng)該根據(jù)隨機(jī)數(shù)來(lái)確定延遲步驟的數(shù)量d,而且應(yīng)該計(jì)算與數(shù)量d對(duì)應(yīng)的延遲系數(shù)。在一個(gè)修正版中,隨機(jī)數(shù)的值本身就可以用作延遲系數(shù)。
依照第五個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1的操作和結(jié)構(gòu)的其它方面同依照前面的實(shí)施例的訪問(wèn)控制系統(tǒng)1是相同的。
現(xiàn)在描述依照第五個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1的修正版。雖然在這個(gè)實(shí)施例中是根據(jù)訪問(wèn)ID來(lái)確定每個(gè)特征多項(xiàng)式的,但是也可以預(yù)先設(shè)定要使用的特征多項(xiàng)式。換言之,可以設(shè)置固定的特征多項(xiàng)式。LFSR延遲計(jì)算電路1303a、1303b和1303c要用到的特征多項(xiàng)式可以相同,也可以不同。
在這樣的情況下,數(shù)據(jù)掩碼生成信息表1302可以不保存特征多項(xiàng)式的系數(shù)。此外,圖31中所示的LFSR延遲計(jì)算電路1303a可以具體化為一個(gè)更簡(jiǎn)單的電路。
下面,描述依照第六個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1。除了數(shù)據(jù)掩碼生成電路130執(zhí)行的操作之外,依照第六個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1與依照第五個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1基本上是一樣的。
圖34的框圖示出了依照第六個(gè)實(shí)施例的數(shù)據(jù)掩碼生成電路130的功能結(jié)構(gòu)。依照第六個(gè)實(shí)施例的數(shù)據(jù)掩碼生成電路130包括數(shù)據(jù)掩碼生成信息指定電路1301、數(shù)據(jù)掩碼生成信息表1302、LFSR延遲計(jì)算電路1303a、1303b、1303c、1303d、1303e和1303f、以及異或電路1304a、1304b和1304c。
依照第六個(gè)實(shí)施例的數(shù)據(jù)掩碼生成電路130將兩個(gè)LFSR延遲計(jì)算電路1303結(jié)合起來(lái),并且把從這兩個(gè)電路中輸出的值之間的異或運(yùn)算結(jié)果用作數(shù)據(jù)掩碼。
比如,LFSR延遲計(jì)算電路1303a和LFSR延遲計(jì)算電路1303b結(jié)合起來(lái)作為一個(gè)集合。異或電路1304a對(duì)從LFSR延遲計(jì)算電路1303a輸出的值M和LFSR延遲計(jì)算電路1303b輸出的值M進(jìn)行異或運(yùn)算。LFSR延遲計(jì)算電路1303c和LFSR延遲計(jì)算電路1303d構(gòu)成的集合以及異或電路1304b也是按照上述方法工作。LFSR延遲計(jì)算電路1303e和LFSR延遲計(jì)算電路1303f構(gòu)成的集合以及異或電路1304c也是按照上述方法工作。
如上所述,依照第六個(gè)實(shí)施例的數(shù)據(jù)掩碼生成電路130并不是獨(dú)立使用每個(gè)LFSR延遲計(jì)算電路,而是把每?jī)蓚€(gè)LFSR延遲計(jì)算電路結(jié)合起來(lái)并獲取每?jī)蓚€(gè)輸出之間的異或運(yùn)算結(jié)果。所以,數(shù)據(jù)掩碼生成電路130輸出的數(shù)據(jù)掩碼之間的隨機(jī)性可以增大。
依照第六個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1的操作和結(jié)構(gòu)的其它方面同依照第五個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1是一樣的。
雖然在這個(gè)實(shí)施例中要對(duì)每?jī)蓚€(gè)LFSR延遲計(jì)算電路的輸出值進(jìn)行異或運(yùn)算,但是可以把三個(gè)或更多個(gè)LFSR延遲計(jì)算電路結(jié)合起來(lái)作為一個(gè)集合,并且把這些LFSR延遲計(jì)算電路輸出值的異或值作為數(shù)據(jù)掩碼。當(dāng)然,兩個(gè)LFSR延遲計(jì)算電路構(gòu)成的集合和三個(gè)LFSR延遲計(jì)算電路構(gòu)成的集合也可以共存。
接下來(lái),描述依照第七個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1。除了數(shù)據(jù)掩碼生成電路130執(zhí)行的操作之外,依照第七個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1與依照第五個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1基本上是一樣的。
圖35的框圖示出了依照第七個(gè)實(shí)施例的數(shù)據(jù)掩碼生成電路130的功能結(jié)構(gòu)。該數(shù)據(jù)掩碼生成電路130還包括零移位電路1305a、1305b和1305c,以及地址分離電路1306a、1306b和1306c。
LFSR延遲計(jì)算電路1303a、1303b和1303c并不是把地址作為輸入直接接收的,而是接收已經(jīng)由零移位電路1305a、1305b和1305c進(jìn)行過(guò)零移位以及由地址分離電路1306a、1306b和1306c進(jìn)行過(guò)地址分離的地址。
零移位電路1305a、1305b和1305c執(zhí)行相同的操作,而地址分離電路1306a、1306b和1306c也執(zhí)行相同的操作。因此,下面只描述零移位電路1305a和地址分離電路1306a。
零移位電路1305a把零地址轉(zhuǎn)換為另一個(gè)地址。當(dāng)?shù)刂肥恰傲恪睍r(shí),LFSR延遲計(jì)算電路1303a輸出的總是零。因此,當(dāng)?shù)刂肥恰傲恪睍r(shí),就把地址原樣輸出,即使這個(gè)地址已經(jīng)過(guò)LFSR延遲計(jì)算電路1303a的處理。因此,零移位電路1305a就把“零”值轉(zhuǎn)換為另一個(gè)值。
更具體地說(shuō),零移位電路1305a把一個(gè)輸出地址加上初始掩碼,并輸出添加結(jié)果。初始掩碼記錄在數(shù)據(jù)掩碼生成信息表1302中。數(shù)據(jù)掩碼生成信息指定電路1301讀出初始掩碼,并把它們分別發(fā)送到零移位電路1305a、1305b和1305c。
在一個(gè)修正版中,可以將輸入地址和初始掩碼之間的異或值輸出。
地址分離電路1306a將具有比較接近值的地址轉(zhuǎn)換為彼此相距離較遠(yuǎn)的地址。當(dāng)連續(xù)輸入兩個(gè)地址時(shí),兩個(gè)地址中的一個(gè)地址就有可能和另一個(gè)地址在對(duì)應(yīng)的位上只有一位不同。這會(huì)導(dǎo)致一種非預(yù)期的情況,即相鄰地址的掩碼值之間可能存在相關(guān)。為了防止掩碼值之間的相關(guān)性,將每?jī)蓚€(gè)相鄰的地址轉(zhuǎn)換為相距較遠(yuǎn)的地址。
圖36示出了地址分離電路1306a的一個(gè)具體實(shí)例結(jié)構(gòu)。地址分離電路1306a包括分離掩碼存儲(chǔ)器1307a。分離掩碼存儲(chǔ)器1307a中預(yù)先記錄有一個(gè)地址分離模式。當(dāng)向地址分離電路1306a輸入一個(gè)地址時(shí),依照該地址的低次序位查詢分離掩碼存儲(chǔ)器1307a,并計(jì)算出該值和該地址的高次序位之間的異或值。這樣,即使輸入的是兩個(gè)連續(xù)的地址,它們?cè)谳敵銮耙矔?huì)轉(zhuǎn)換為彼此相距較遠(yuǎn)的地址。
依照第七個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1的操作和結(jié)構(gòu)的其它方面同依照第五個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1是一樣的。
現(xiàn)在描述依照第七個(gè)實(shí)施例的數(shù)據(jù)掩碼生成電路130的第一修正版。圖37示出了依照第一修正版的地址分離電路1306a的具體結(jié)構(gòu)。依照第一修正版的地址分離電路1306a包括解碼器1308a。解碼器1308從目標(biāo)地址的低次序位中選擇出一個(gè)高次序地址,并且通過(guò)計(jì)算異或值將選擇出的地址的值反轉(zhuǎn)。和第七個(gè)實(shí)施例的地址分離電路1306a類似,依照這個(gè)修正版的地址分離電路1306a可以把兩個(gè)相鄰地址轉(zhuǎn)換位彼此相距較遠(yuǎn)的地址。
在第二修正版中,訪問(wèn)控制系統(tǒng)1的數(shù)據(jù)掩碼生成電路130可以只包括零移位電路1305a、1305b和1305c或者只包括地址分離電路1306a、1306b和1306c,盡管數(shù)據(jù)掩碼生成電路130既包括零移位電路1305a、1305b和1305c也包括地址分離電路1306a、1306b和1306c。
圖38的框圖示出的數(shù)據(jù)掩碼生成電路130只包括零移位電路1305a、1305b和1305c,而不包括地址分離電路1306a、1306b和1306c。圖39的框圖示出的數(shù)據(jù)掩碼生成電路130只包括地址分離電路1306a、1306b和1306c,而不包括零移位電路1305、1305b和1305c。
圖40的框圖示出了依照第三修正版的數(shù)據(jù)掩碼生成電路130。依照這個(gè)修正版的數(shù)據(jù)掩碼生成電路130是依照第七個(gè)實(shí)施例的數(shù)據(jù)掩碼生成電路130和依照第六個(gè)實(shí)施例的數(shù)據(jù)掩碼生成電路130的結(jié)合體。如圖40中所示,可以為兩個(gè)LFSR延遲計(jì)算電路1303構(gòu)成的每個(gè)集合提供零移位電路1305和地址分離電路1306。
在這個(gè)修正版中,如上所述,可以使用零移位電路1305,而不使用地址分離電路1306。當(dāng)然,也可以使用地址分離電路1306,而不使用零移位電路1305。
圖41的框圖示出了依照第四修正版的數(shù)據(jù)掩碼生成電路130。和圖40中所示的數(shù)據(jù)掩碼生成電路130類似,圖41中所示的數(shù)據(jù)掩碼生成電路130把每?jī)蓚€(gè)LFSR延遲計(jì)算電路1303用作一個(gè)集合。在每個(gè)集合中,這兩個(gè)LFSR延遲計(jì)算電路1303中的一個(gè)提供零移位電路1305,而另一個(gè)提供地址分離電路1306。因此,每個(gè)LFSR延遲計(jì)算電路1303要么有零移位電路1305,或者有地址分離電路1306。
圖42的框圖示出了依照第五修正版的數(shù)據(jù)掩碼生成電路130。和圖40中所示的數(shù)據(jù)掩碼生成電路130類似,圖42中所示的數(shù)據(jù)掩碼生成電路130把每?jī)蓚€(gè)LFSR延遲計(jì)算電路1303用作一個(gè)集合。在每個(gè)集合中,這兩個(gè)LFSR延遲計(jì)算電路130中的一個(gè)同時(shí)提供零移位電路1305和地址分離電路1306,而另一個(gè)只提供地址分離電路1306。但是,零移位電路1305和地址分離電路1306的結(jié)合形式并不限于上面所述,而是可以隨著不同情況而變。
下面,描述依照第八個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1。圖43的框圖示出了依照第八個(gè)實(shí)施例的訪問(wèn)控制設(shè)備10的功能結(jié)構(gòu)。依照第八個(gè)實(shí)施例的訪問(wèn)控制設(shè)備10與依照前面任何一個(gè)實(shí)施例的訪問(wèn)控制設(shè)備10的不同之處在于,它還包括地址轉(zhuǎn)換設(shè)備150。
地址轉(zhuǎn)換設(shè)備150把從處理器20獲取的一個(gè)地址轉(zhuǎn)換為另一個(gè)地址。掩碼值生成電路112經(jīng)過(guò)獲取地址轉(zhuǎn)換設(shè)備150轉(zhuǎn)換之后的地址。根據(jù)轉(zhuǎn)換后的地址,掩碼值生成電路112生成掩碼值。
如上所述,在依照第八個(gè)實(shí)施例的訪問(wèn)控制設(shè)備10中,掩碼值生成電路112根據(jù)轉(zhuǎn)換后的地址,生成掩碼值。因此,與根據(jù)從處理器20獲取的地址生成掩碼值的情況相比,掩碼值生成電路可以生成一個(gè)與從處理器20獲取的地址具有較小相關(guān)性的掩碼值。
圖44示出了地址轉(zhuǎn)換設(shè)備150的具體結(jié)構(gòu)。地址轉(zhuǎn)換設(shè)備150具有地址轉(zhuǎn)換存儲(chǔ)器151。在地址轉(zhuǎn)換存儲(chǔ)器151中,記錄了一張對(duì)應(yīng)表,其顯示將哪個(gè)地址轉(zhuǎn)換為哪個(gè)地址。對(duì)輸入地址的較低次序位進(jìn)行轉(zhuǎn)換并將其輸出。
記錄在地址轉(zhuǎn)換存儲(chǔ)器151中的對(duì)應(yīng)表優(yōu)選應(yīng)該對(duì)各訪問(wèn)ID是唯一的。掩碼值生成電路112為每個(gè)訪問(wèn)ID保存對(duì)應(yīng)表。更具體地說(shuō),將其存儲(chǔ)在數(shù)據(jù)掩碼生成信息表1302中。在切換訪問(wèn)ID時(shí),把對(duì)應(yīng)表寫入到地址轉(zhuǎn)換存儲(chǔ)器151中。
依照第八個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1的操作和結(jié)構(gòu)的其它方面同依照前面的任何一個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1是一樣的。
圖45示出了依照第八個(gè)實(shí)施例的第一修正版的地址轉(zhuǎn)換設(shè)備150的結(jié)構(gòu)。依照第一修正版的地址轉(zhuǎn)換設(shè)備150計(jì)算輸入地址的中間次序的位和較低次序的位之間的異或值。然后,地址轉(zhuǎn)換設(shè)備150輸出由初始輸入地址轉(zhuǎn)換而來(lái)的地址。因此,存儲(chǔ)在地址轉(zhuǎn)換存儲(chǔ)器151中的較低次序位轉(zhuǎn)換模式的數(shù)量就會(huì)增加。
圖46示出了依照第八個(gè)實(shí)施例的第二修正版的地址轉(zhuǎn)換設(shè)備150的結(jié)構(gòu)。在這個(gè)修正版中,可以在一個(gè)輸入地址的較高次序位和較低次序位之間進(jìn)行異或運(yùn)算。
圖47示出了依照第八個(gè)實(shí)施例的第三修正版的地址轉(zhuǎn)換設(shè)備150的結(jié)構(gòu)。在這個(gè)修正版中,可以在中間次序位和較低次序位之間進(jìn)行異或運(yùn)算,然后可以在該運(yùn)算結(jié)果和較高次序位之間進(jìn)行異或運(yùn)算。
至此,已經(jīng)描述了依照從第一個(gè)到第八個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1。但是,具有本發(fā)明特征的任何訪問(wèn)控制設(shè)備10都可以應(yīng)用于下面描述的系統(tǒng)。
圖48示出了依照第一修正版的訪問(wèn)控制系統(tǒng)1的總體結(jié)構(gòu)。和依照前面任何實(shí)例的訪問(wèn)控制系統(tǒng)1類似,依照第一修正版的訪問(wèn)控制系統(tǒng)1包括訪問(wèn)控制設(shè)備10。
在依照第一修正版的訪問(wèn)控制系統(tǒng)1中,處理器20把關(guān)于訪問(wèn)權(quán)限的信息設(shè)置到訪問(wèn)控制設(shè)備10中。因此,訪問(wèn)控制系統(tǒng)1還包括專用線24。
因?yàn)橥ㄟ^(guò)專用線對(duì)關(guān)于訪問(wèn)權(quán)限的信息進(jìn)行輸入和輸出,所以,可以防止未授權(quán)的訪問(wèn)。
圖49示出了依照第二修正版的訪問(wèn)控制系統(tǒng)1的總體結(jié)構(gòu)。依照第二修正版的訪問(wèn)控制系統(tǒng)1包括處理器20a和20b。處理器20a和20b各自都可以是訪問(wèn)存儲(chǔ)器40的請(qǐng)求方。訪問(wèn)控制設(shè)備10可以通過(guò)每個(gè)處理器20a和20b來(lái)控制對(duì)存儲(chǔ)器40的訪問(wèn)。更具體地說(shuō),為每個(gè)處理器20a和20b分配訪問(wèn)ID,以便由處理器20a和20b訪問(wèn)。
圖50示出了依照第三修正版的訪問(wèn)控制系統(tǒng)1的完整結(jié)構(gòu)。在依照第三修正版的訪問(wèn)控制系統(tǒng)1中,處理器20包括存儲(chǔ)器控制器30。處理器20經(jīng)由訪問(wèn)控制設(shè)備10與存儲(chǔ)器40相連接。
圖51示出了依照第四修正版的訪問(wèn)控制系統(tǒng)1的總體結(jié)構(gòu)。在依照第四修正版的訪問(wèn)控制系統(tǒng)1中,處理器20包括存儲(chǔ)器控制器30和訪問(wèn)控制設(shè)備10。處理器20經(jīng)由訪問(wèn)控制設(shè)備10與存儲(chǔ)器40相連接。
圖52示出了依照第五修正版的訪問(wèn)控制系統(tǒng)1的總體結(jié)構(gòu)。依照第五修正版的訪問(wèn)控制系統(tǒng)1包括處理器20、存儲(chǔ)器40、橋32以及外圍設(shè)備60a、60b和60c。
橋32與處理器總線22相連接,而且包括存儲(chǔ)器控制器30和訪問(wèn)控制設(shè)備10。當(dāng)與外圍設(shè)備總線34相連的橋32包括外圍設(shè)備的控制器時(shí),訪問(wèn)控制設(shè)備10可以合并到橋32中。當(dāng)然,也可以在橋32和存儲(chǔ)器40之間提供訪問(wèn)控制設(shè)備10。
圖53示出了依照第六修正版的訪問(wèn)控制系統(tǒng)1的總體結(jié)構(gòu)。依照第六修正版的訪問(wèn)控制系統(tǒng)1在結(jié)構(gòu)上是一個(gè)LSI(大規(guī)模集成)系統(tǒng)。如圖53所示,訪問(wèn)控制設(shè)備10和存儲(chǔ)器控制器30設(shè)置在系統(tǒng)LSI中,該存儲(chǔ)器控制器30通過(guò)一條高速內(nèi)部總線76與處理器20相連接。
圖54示出了依照第七修正版的訪問(wèn)控制系統(tǒng)1的總體結(jié)構(gòu)。和依照第六修正版的訪問(wèn)控制系統(tǒng)1類似,依照第七修正版的訪問(wèn)控制系統(tǒng)1在結(jié)構(gòu)上也是一個(gè)系統(tǒng)LSI。該訪問(wèn)控制系統(tǒng)1包括一條專用于處理器20的專用線78,用來(lái)把關(guān)于訪問(wèn)權(quán)限的信息設(shè)置到訪問(wèn)控制設(shè)備10中。因此,處理器20可以經(jīng)由高速內(nèi)部總線76訪問(wèn)訪問(wèn)控制設(shè)備10。
當(dāng)然,也可以將存儲(chǔ)器控制器30和訪問(wèn)控制設(shè)備10組裝成一個(gè)集成電路。
(第九個(gè)實(shí)施例)下面,描述依照第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1。依照第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1對(duì)緩沖存儲(chǔ)器執(zhí)行訪問(wèn)控制。圖55示出了依照第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1的總體結(jié)構(gòu)。該訪問(wèn)控制系統(tǒng)1包括處理器20a到20c、視頻控制器21、存儲(chǔ)器40以及配備了緩沖存儲(chǔ)器的訪問(wèn)控制設(shè)備50。
該訪問(wèn)控制設(shè)備50與處理器總線22和存儲(chǔ)器總線42相連接。訪問(wèn)控制設(shè)備50對(duì)從處理器20a到20c到緩沖存儲(chǔ)器的訪問(wèn)進(jìn)行控制,并且控制經(jīng)由處理器總線22與訪問(wèn)控制設(shè)備50相連的視頻控制器21。如果需要,訪問(wèn)控制設(shè)備50還可以取代處理器20a等,向存儲(chǔ)器40寫入數(shù)據(jù)或者從存儲(chǔ)器40讀取數(shù)據(jù)。這樣,訪問(wèn)控制設(shè)備50還具有前面每個(gè)實(shí)施例中的存儲(chǔ)器控制器30的功能。
當(dāng)在第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中采用兩個(gè)或更多處理器以及類似視頻控制器21的輸入/輸出設(shè)備時(shí),要在這些部件之間共用緩沖存儲(chǔ)器來(lái)提高存儲(chǔ)器訪問(wèn)速度。
圖56的框圖示出了訪問(wèn)控制設(shè)備50的功能結(jié)構(gòu)。訪問(wèn)控制設(shè)備50包括處理器端的緩沖器控制電路52、緩沖存儲(chǔ)器54以及存儲(chǔ)器端的緩沖器控制電路56。根據(jù)處理器發(fā)出的指令,處理器端的緩沖器控制電路52向緩沖存儲(chǔ)器54寫入數(shù)據(jù)或者從中讀取數(shù)據(jù)。緩沖存儲(chǔ)器54臨時(shí)將數(shù)據(jù)與儲(chǔ)器地址等相關(guān)聯(lián)地進(jìn)行存儲(chǔ)。
根據(jù)處理器端的緩沖器控制電路52發(fā)出的指令,存儲(chǔ)器端的緩沖器控制電路52向緩沖存儲(chǔ)器54寫入數(shù)據(jù)或者從中讀取數(shù)據(jù)。
圖57的框圖示出了處理器端的緩沖器控制電路52的功能結(jié)構(gòu)。處理器端的緩沖器控制電路52包括訪問(wèn)ID管理電路140、訪問(wèn)ID檢查電路522以及順序控制器524。
訪問(wèn)ID管理電路140的功能結(jié)構(gòu)和圖19中所示第二個(gè)實(shí)施例的訪問(wèn)ID管理電路140的功能結(jié)構(gòu)相同,并且根據(jù)地址確定訪問(wèn)ID。訪問(wèn)ID檢查電路522把訪問(wèn)ID管理電路140確定的訪問(wèn)ID與存儲(chǔ)在緩沖存儲(chǔ)器54中的訪問(wèn)ID進(jìn)行比較,從而判斷它們是否匹配。順序控制器524控制處理器端的緩沖器控制電路52的完整操作。
圖58的框圖示出了緩沖存儲(chǔ)器54的功能結(jié)構(gòu)。緩沖存儲(chǔ)器54包括數(shù)據(jù)區(qū)域544,用來(lái)存儲(chǔ)過(guò)去已經(jīng)訪問(wèn)過(guò)的數(shù)據(jù);標(biāo)簽存儲(chǔ)區(qū)域542,用來(lái)存儲(chǔ)存儲(chǔ)器40中數(shù)據(jù)的地址;訪問(wèn)ID存儲(chǔ)區(qū)域546,用來(lái)存儲(chǔ)允許訪問(wèn)數(shù)據(jù)的訪問(wèn)ID。在這些區(qū)域中,地址、數(shù)據(jù)以及訪問(wèn)ID是相互關(guān)聯(lián)的。
當(dāng)將數(shù)據(jù)存儲(chǔ)到緩沖存儲(chǔ)器54中并且有訪問(wèn)該數(shù)據(jù)地址的請(qǐng)求時(shí),將與該地址相關(guān)聯(lián)地存儲(chǔ)在數(shù)據(jù)區(qū)域544的數(shù)據(jù)返回,這樣就可以降低由于訪問(wèn)存儲(chǔ)器40所帶來(lái)的延遲。緩沖存儲(chǔ)器54可以是直接映射型的,也可以是組相聯(lián)(set associative)型的。但是,這個(gè)實(shí)施例的緩沖存儲(chǔ)器54的類型并不限于此,而是可以為任何其它類型。
圖59的框圖示出了存儲(chǔ)器端的緩沖器控制電路56的功能結(jié)構(gòu)。存儲(chǔ)器端的緩沖器控制電路56包括奇偶校驗(yàn)碼生成電路100、第一異或電路102、掩碼值生成電路112、第二異或電路114、校正子生成電路120、糾錯(cuò)電路122以及順序控制器562。
順序控制器562控制存儲(chǔ)器端的緩沖器控制電路56的全部操作。奇偶校驗(yàn)碼生成電路100、第一異或電路102、掩碼值生成電路112、第二異或電路114、校正子生成電路120和糾錯(cuò)電路122的功能結(jié)構(gòu)分別和第一個(gè)實(shí)施例的奇偶校驗(yàn)碼生成電路100、第一異或電路102、掩碼值生成電路112、第二異或電路114、校正子生成電路120和糾錯(cuò)電路122是相同的。
但是,在第九個(gè)實(shí)施例的存儲(chǔ)器端的緩沖器控制電路56中,從存儲(chǔ)器40讀取的數(shù)據(jù)與對(duì)應(yīng)的訪問(wèn)ID相關(guān)聯(lián)地存儲(chǔ)在緩沖存儲(chǔ)器54中。當(dāng)將數(shù)據(jù)寫入到存儲(chǔ)器40中時(shí),就可以從緩沖存儲(chǔ)器54獲取該數(shù)據(jù)。
圖60的流程圖示出了依照第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中的寫操作,即訪問(wèn)控制操作的一部分。首先,處理器端的緩沖器控制電路52中的訪問(wèn)ID管理電路140判斷處理器20是否有權(quán)執(zhí)行寫操作(步驟S300)。更具體地說(shuō),從處理器20獲取訪問(wèn)ID和寫操作的目的地址。訪問(wèn)ID管理電路140判斷所獲取的訪問(wèn)ID和所獲取的地址是否是在訪問(wèn)ID表142中相互鏈接。
如果該訪問(wèn)ID和地址是相互鏈接的,則可以確定該處理器20有權(quán)執(zhí)行寫操作。如果該處理器20無(wú)權(quán)執(zhí)行寫操作(步驟S300中“NO”),向處理器20報(bào)告錯(cuò)誤(步驟S304),而該操作也結(jié)束了。
另一方面,如果處理器20有權(quán)可以進(jìn)行寫操作(步驟S300中“YES”),那么,將從處理器20獲取的數(shù)據(jù)和訪問(wèn)ID相互關(guān)聯(lián)地寫入緩沖存儲(chǔ)器54(步驟S302)。
然后,順序控制器524指示存儲(chǔ)器端的緩沖器控制電路56寫入數(shù)據(jù)(步驟S310)。更具體地說(shuō),順序控制器524以控制信號(hào)的形式發(fā)出指令。一旦收到寫指令,存儲(chǔ)器端的緩沖器控制電路56中的順序控制器562就指示緩沖存儲(chǔ)器54去讀取數(shù)據(jù)和訪問(wèn)ID,并從緩沖存儲(chǔ)器54獲取該數(shù)據(jù)和訪問(wèn)ID(步驟S320)。
然后,掩碼值生成電路112收到發(fā)送存儲(chǔ)目的地址和訪問(wèn)ID并生成掩碼值的指令(步驟S322)。依照該指令,掩碼值生成電路112根據(jù)該地址和訪問(wèn)ID生成掩碼值。然后,順序控制器562發(fā)出把數(shù)據(jù)寫入存儲(chǔ)器40的指令(步驟S324)。依照該指令,通過(guò)第一異或電路102和第二異或電路114執(zhí)行的操作,添加奇偶校驗(yàn)碼以及對(duì)該數(shù)據(jù)和掩碼值進(jìn)行異或運(yùn)算,從而獲取第一運(yùn)算后數(shù)據(jù),并將第一運(yùn)算后數(shù)據(jù)寫到處理器20指定的地址。
完成了向存儲(chǔ)器40寫入數(shù)據(jù)的操作之后,順序控制器562通知處理器端的緩沖器控制電路52寫入操作已完成(步驟S326)。至此,寫操作結(jié)束。
在采用直寫式(write through)系統(tǒng)的情況下,處理器20優(yōu)選在從緩沖存儲(chǔ)器54向存儲(chǔ)器40的寫操作結(jié)束后接管控制權(quán)。在采用寫回式(write back)系統(tǒng)的情況下,處理器20優(yōu)選在從緩沖存儲(chǔ)器54向存儲(chǔ)器40的寫操作結(jié)束之前就接管控制權(quán)。
在一個(gè)修正版中,允許寫操作的訪問(wèn)ID和允許讀操作的訪問(wèn)ID與訪問(wèn)ID表142中的地址相關(guān)聯(lián)。這樣,即使在讀和寫操作之間設(shè)置了不同的限制,也可以執(zhí)行正確的操作。
圖61的流程圖示出了依照第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中的讀操作,即訪問(wèn)控制操作的一部分。一旦從處理器20收到讀數(shù)據(jù)請(qǐng)求,處理器端的緩沖器控制電路52中的順序控制電路524就判斷該數(shù)據(jù)是否存儲(chǔ)在緩沖存儲(chǔ)器54中(步驟S400)。如果該數(shù)據(jù)存儲(chǔ)在緩沖存儲(chǔ)器54中(步驟S400中“YES”),訪問(wèn)ID檢查電路522判斷從處理器20獲取的訪問(wèn)ID是否正確,即處理器20是否有訪問(wèn)權(quán)限(步驟S402)。
如果訪問(wèn)ID是正確的(步驟S402中“YES”),則從緩沖存儲(chǔ)器54讀取該數(shù)據(jù)并將其送到處理器20(步驟S404)。如果訪問(wèn)ID不正確(步驟S402中“NO”),則向處理器20報(bào)告錯(cuò)誤(步驟S406)。
通過(guò)對(duì)與該數(shù)據(jù)相關(guān)聯(lián)的訪問(wèn)ID和從處理器20獲取的訪問(wèn)ID進(jìn)行比較,來(lái)確定該訪問(wèn)ID的正確性。如果這兩個(gè)訪問(wèn)ID相同,就可以確定從處理器20獲取的訪問(wèn)ID是正確的。
另一方面,如果該數(shù)據(jù)并沒有存儲(chǔ)在緩沖存儲(chǔ)器54中(步驟S400中“NO”),則向存儲(chǔ)器端的緩沖器控制電路56發(fā)出讀取數(shù)據(jù)的指令(步驟S410)。一旦收到讀取數(shù)據(jù)的指令,存儲(chǔ)器端的緩沖器控制電路56中的順序控制器562就把地址和訪問(wèn)ID送到掩碼值生成電路112,并指示該掩碼值生成電路112生成掩碼值(S420)。依照該指令,掩碼值生成電路112生成一個(gè)掩碼值。
之后,發(fā)出從存儲(chǔ)器40讀取數(shù)據(jù)的指令(步驟S422)。依照該指令,從存儲(chǔ)器40讀取數(shù)據(jù)。通過(guò)第一異或電路102和第二異或電路114的操作,把此時(shí)讀取的第一運(yùn)算后數(shù)據(jù)轉(zhuǎn)換為原始數(shù)據(jù)。
然后,發(fā)出把獲取的數(shù)據(jù)、訪問(wèn)ID以及地址寫入到緩沖存儲(chǔ)器54中的指令,于是,該數(shù)據(jù)、訪問(wèn)ID以及地址存儲(chǔ)在緩沖存儲(chǔ)器54中(步驟S424)。所以,原始數(shù)據(jù)就存儲(chǔ)在緩沖存儲(chǔ)器54中。在把數(shù)據(jù)存儲(chǔ)到緩沖存儲(chǔ)器54的操作結(jié)束后,順序控制器562會(huì)通知存儲(chǔ)器端的緩沖器控制電路52讀數(shù)據(jù)操作已經(jīng)結(jié)束(步驟S426)。一旦收到讀數(shù)據(jù)操作結(jié)束的通知,處理器端的緩沖器控制電路52就轉(zhuǎn)入步驟S402。
如上所述,在第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中,所有曾經(jīng)被訪問(wèn)過(guò)的數(shù)據(jù)都存儲(chǔ)在緩沖存儲(chǔ)器54中。因此,當(dāng)以后再訪問(wèn)該數(shù)據(jù)時(shí),就可以直接從緩沖存儲(chǔ)器54讀取該數(shù)據(jù),從而能夠提高處理速度。在從緩沖存儲(chǔ)器54讀出數(shù)據(jù)之前,只是檢查訪問(wèn)ID是否一致。所以,同從存儲(chǔ)器40讀取數(shù)據(jù)的情況相比,可以提高處理速度。
依照第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1的操作和結(jié)構(gòu)的其它方面同依照第一個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1是一樣的。此外,第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1特有的緩沖存儲(chǔ)器也可以用在前面任何一個(gè)實(shí)施例中。
圖62的框圖示出了依照第十個(gè)實(shí)施例的訪問(wèn)控制設(shè)備10的功能結(jié)構(gòu)。依照第十個(gè)實(shí)施例的訪問(wèn)控制設(shè)備10除了包括第二個(gè)實(shí)施例的存儲(chǔ)器訪問(wèn)控制設(shè)備10中的功能結(jié)構(gòu),還增加了地址轉(zhuǎn)換設(shè)備160。這個(gè)實(shí)施例的訪問(wèn)控制設(shè)備10把從處理器20獲取的每個(gè)地址轉(zhuǎn)換為另一個(gè)地址,并且通過(guò)轉(zhuǎn)換后的地址執(zhí)行數(shù)據(jù)訪問(wèn)。根據(jù)存儲(chǔ)在掩碼值生成電路112中的地址轉(zhuǎn)換信息,地址轉(zhuǎn)換設(shè)備10執(zhí)行地址轉(zhuǎn)換。
圖63的框圖詳細(xì)示出了第十個(gè)實(shí)施例的掩碼值生成電路112的功能結(jié)構(gòu)。掩碼值生成電路112包括地址轉(zhuǎn)換信息表138和地址信息指定單元139,還包括數(shù)據(jù)掩碼生成電路130、校正子生成電路132以及奇偶校驗(yàn)碼生成電路134。地址信息指定單元139查詢地址轉(zhuǎn)換信息表138,并根據(jù)訪問(wèn)ID確定地址轉(zhuǎn)換信息。
圖64示出了地址轉(zhuǎn)換信息表1 38的數(shù)據(jù)結(jié)構(gòu)。地址轉(zhuǎn)換信息表138把訪問(wèn)ID和地址轉(zhuǎn)換信息聯(lián)系起來(lái)。這樣,為每個(gè)訪問(wèn)ID分配不同的地址轉(zhuǎn)換信息是比較理想的。
在地址轉(zhuǎn)換信息表138中轉(zhuǎn)換過(guò)訪問(wèn)ID之后,地址轉(zhuǎn)換信息指定單元139把與訪問(wèn)ID相關(guān)聯(lián)的地址轉(zhuǎn)換信息發(fā)送出去。
在地址轉(zhuǎn)換設(shè)備160要執(zhí)行的地址轉(zhuǎn)換操作中,最基本的就是不將某個(gè)地址轉(zhuǎn)換為相同的地址,并且,不將兩個(gè)或者更多個(gè)地址轉(zhuǎn)換為相同的地址。只要滿足這些條件,轉(zhuǎn)換地址的方法并不限于這個(gè)實(shí)施例中使用的方法。
圖65示出了一個(gè)存儲(chǔ)器地址。一般而言,一個(gè)存儲(chǔ)器地址要有固定的位數(shù),這是訪問(wèn)與緩沖線大小對(duì)應(yīng)的范圍(s)、與存儲(chǔ)器件的頁(yè)大小對(duì)應(yīng)的范圍(r+s)以及與頁(yè)表管理的頁(yè)大小對(duì)應(yīng)的范圍(q+r+s)所必須的。
比如,如果存儲(chǔ)器針對(duì)一個(gè)字使用64位并且每條緩沖線由256位組成,那么,與緩沖線大小對(duì)應(yīng)的范圍(s)就是2位。比如,與存儲(chǔ)器件的頁(yè)大小對(duì)應(yīng)的范圍(r+s)即是可以針對(duì)七個(gè)比特構(gòu)成的128個(gè)字執(zhí)行突發(fā)傳遞的范圍。根據(jù)這一關(guān)系來(lái)執(zhí)行地址轉(zhuǎn)換操作,從而防止存儲(chǔ)器訪問(wèn)速度下降。
比如,優(yōu)選情況下,存儲(chǔ)器中屬于同一緩沖線的字應(yīng)該轉(zhuǎn)換為連續(xù)的地址,從而能夠通過(guò)突發(fā)傳遞高速讀取或者寫入這些字??梢栽谒鼈冎g重新排列連續(xù)的地址。
優(yōu)選情況下,存儲(chǔ)器件的一頁(yè)中的字應(yīng)該轉(zhuǎn)換為在該頁(yè)內(nèi)的連續(xù)地址,從而能夠通過(guò)突發(fā)傳遞高速讀取或者寫入這些字??梢栽谒鼈冎g重新排列連續(xù)的地址。
地址轉(zhuǎn)換設(shè)備160以滿足下列條件的方式執(zhí)行地址轉(zhuǎn)換操作。圖66A和圖66B示出了地址轉(zhuǎn)換設(shè)備160要執(zhí)行的地址轉(zhuǎn)換操作。在圖66A和圖66B中,每個(gè)存儲(chǔ)器地址中只有低7位。地址轉(zhuǎn)換設(shè)備160只對(duì)低七位進(jìn)行轉(zhuǎn)換。在這個(gè)例子中,四個(gè)字組成一條緩沖線。
如圖所示,由四字構(gòu)成的每個(gè)集合中的比特都隨機(jī)轉(zhuǎn)換,但是轉(zhuǎn)換之后的地址還是在每個(gè)集合中的經(jīng)過(guò)重新排列的連續(xù)地址。但是,在兩條或者更多條緩沖線上的地址轉(zhuǎn)換之后的地址就不連續(xù)了。因此,可以防止傳遞效率的下降。
圖67詳細(xì)示出了地址轉(zhuǎn)換設(shè)備160的結(jié)構(gòu)。地址轉(zhuǎn)換信息存儲(chǔ)在由存儲(chǔ)器構(gòu)成的地址轉(zhuǎn)換表162中。圖68示出了實(shí)現(xiàn)圖66A和66B中所示地址轉(zhuǎn)換操作的地址轉(zhuǎn)換表。
在查詢地址轉(zhuǎn)換表162時(shí),要用到每個(gè)地址中低7位的較高5位。所獲取的13位信息中的高5位代替每個(gè)相應(yīng)地址的低7位中的高5位。此外,依照每個(gè)相應(yīng)地址的低2位,從余下的8位中選擇2位。選出的2位代替每個(gè)相應(yīng)地址中的低2位。
圖69示出了依照第十個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1要執(zhí)行的寫操作的流程圖。進(jìn)行異或運(yùn)算之后(步驟S108),執(zhí)行上述地址轉(zhuǎn)換操作(步驟S109)。然后,把數(shù)據(jù)寫入轉(zhuǎn)換后的存儲(chǔ)器地址(步驟S110)。
圖70示出了依照第十個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1要執(zhí)行的讀操作的流程圖。生成掩碼值之后(步驟S106),執(zhí)行地址轉(zhuǎn)換操作(S203)。從地址轉(zhuǎn)換之后的存儲(chǔ)器地址讀取第一運(yùn)算后數(shù)據(jù)(步驟S204)。
依照第十個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1的操作和結(jié)構(gòu)的其它方面同依照第一個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1是一樣的。
圖71示出了依照第十個(gè)實(shí)施例的第一修正版的地址轉(zhuǎn)換設(shè)備160的結(jié)構(gòu)。在這個(gè)修正版中,可以在查詢地址轉(zhuǎn)換表162時(shí)利用每個(gè)地址的高位和低位的異或值實(shí)現(xiàn)更多種類的轉(zhuǎn)換。這樣,就更難估計(jì)地址轉(zhuǎn)換模式。
雖然在第十個(gè)實(shí)施例中地址轉(zhuǎn)換信息是存儲(chǔ)在數(shù)據(jù)掩碼生成電路130中的,但它也可以存儲(chǔ)在一些其它部件中。在第十個(gè)實(shí)施例的第二修正版中,依照第十個(gè)實(shí)施例的地址轉(zhuǎn)換操作也適用于依照第五個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1,并且把地址轉(zhuǎn)換信息存儲(chǔ)在數(shù)據(jù)掩碼生成信息表1302中。
圖72示出了依照第二修正版的數(shù)據(jù)掩碼生成信息表1302的數(shù)據(jù)結(jié)構(gòu)。在數(shù)據(jù)掩碼生成信息表1302中,地址轉(zhuǎn)換信息與訪問(wèn)ID是相關(guān)聯(lián)的。可以根據(jù)每個(gè)訪問(wèn)ID通過(guò)查詢數(shù)據(jù)掩碼生成信息表1302,確定地址轉(zhuǎn)換信息。
圖73的框圖示出了依照第十一個(gè)實(shí)施例的存儲(chǔ)器訪問(wèn)控制設(shè)備10的功能結(jié)構(gòu)。依照第十一個(gè)實(shí)施例的訪問(wèn)控制設(shè)備10除了包括第十個(gè)實(shí)施例的存儲(chǔ)器訪問(wèn)控制設(shè)備10的功能結(jié)構(gòu),還包括突發(fā)傳遞控制器164和重排緩沖器166。
當(dāng)依照存儲(chǔ)器40中的地址順序要執(zhí)行突發(fā)傳遞時(shí),突發(fā)傳遞控制器164控制該突發(fā)傳遞。在突發(fā)傳遞中用到重排緩沖器166。當(dāng)?shù)刂忿D(zhuǎn)換設(shè)備160把每條緩沖線中的字重新排列時(shí),如果按照重新排列后的序列進(jìn)行訪問(wèn),就不能利用每個(gè)存儲(chǔ)器件的突發(fā)傳遞功能。結(jié)果,導(dǎo)致無(wú)法實(shí)現(xiàn)更快的傳遞效率。為了解決這個(gè)問(wèn)題,突發(fā)傳遞控制器164通過(guò)依照存儲(chǔ)器40中的地址序列進(jìn)行突發(fā)傳遞來(lái)進(jìn)行訪問(wèn),并且重排緩沖器166對(duì)存儲(chǔ)器40中的地址序列和地址轉(zhuǎn)換設(shè)備160轉(zhuǎn)換后的地址序列進(jìn)行重新排列。
圖74示出了了重排緩沖器166的結(jié)構(gòu)。在該結(jié)構(gòu)中,每條緩沖線由256比特組成,存儲(chǔ)器中的每個(gè)字由64比特組成,并且每四個(gè)字組成一條緩沖線。
如圖74所示,重排緩沖器166包括寄存器0到寄存器3,它們對(duì)應(yīng)于一條緩沖線的四個(gè)字。依照突發(fā)傳遞控制器164發(fā)出的指令,把從處理器20或存儲(chǔ)器40讀取的數(shù)據(jù)寫入到這四個(gè)寄存器中指定的寄存器。此外,讀取存儲(chǔ)在這四個(gè)寄存器中指定寄存器內(nèi)的數(shù)據(jù),并將其發(fā)送到處理器20或者存儲(chǔ)器40。
圖75的流程圖示出了突發(fā)傳遞控制器164向存儲(chǔ)器40寫入數(shù)據(jù)要執(zhí)行的操作。如果沒有突發(fā)傳遞指令(步驟S500中“NO”),就執(zhí)行常規(guī)的寫操作(步驟S510)。這里所說(shuō)的“常規(guī)的寫操作”是同第十個(gè)實(shí)施例中的寫操作一樣的,并且數(shù)據(jù)寫入到由地址轉(zhuǎn)換設(shè)備160獲取的存儲(chǔ)器地址。
如果有突發(fā)傳遞指令(步驟S500中“YES”),則把從處理器20發(fā)出的數(shù)據(jù),即要寫入存儲(chǔ)器40的數(shù)據(jù),臨時(shí)寫入重排緩沖器166中(步驟S502)。然后,從掩碼值生成電路112中的地址轉(zhuǎn)換信息表138獲取地址轉(zhuǎn)換信息(步驟S504)。然后,依照存儲(chǔ)器地址序列通過(guò)突發(fā)傳遞把數(shù)據(jù)寫入到存儲(chǔ)器40中,該存儲(chǔ)器地址序列是根據(jù)地址轉(zhuǎn)換信息轉(zhuǎn)換而來(lái)的(步驟S506)。該操作到此結(jié)束。
圖76示出了如圖75所描述的寫操作。在圖76所示的例子中,處理器20把數(shù)據(jù)A、B、C和D從地址的低七位是“1010000”的一個(gè)字寫到四個(gè)字中。
這里,圖67中所示的地址轉(zhuǎn)換設(shè)備160把地址“1010000”轉(zhuǎn)換為地址“0110011”。類似的,地址“1010001”轉(zhuǎn)換為“0110010”,地址“1010010”轉(zhuǎn)換為“0110000”,而地址“1010011”轉(zhuǎn)換為“0110001”。
當(dāng)要依照轉(zhuǎn)換后的存儲(chǔ)器地址序列寫入數(shù)據(jù)時(shí),無(wú)法執(zhí)行突發(fā)傳遞。因此,突發(fā)傳遞控制器164把數(shù)據(jù)臨時(shí)存儲(chǔ)到重排緩沖器166中。根據(jù)地址轉(zhuǎn)換信息,重排數(shù)據(jù),從而重新生成連續(xù)地址。在圖76所示的例子中,數(shù)據(jù)C寫在地址“0110000”,數(shù)據(jù)D寫在地址“0110001”,數(shù)據(jù)B寫在地址“0110010”,而數(shù)據(jù)A寫在地址“0110011”。然后,通過(guò)從地址“0110000”開始,按C、D、B和A的順序的突發(fā)傳遞,執(zhí)行寫操作。
圖77的流程圖示出了突發(fā)傳遞控制器164從存儲(chǔ)器40讀取數(shù)據(jù)要執(zhí)行的操作。如果沒有突發(fā)傳遞指令(步驟S520中“NO”),就執(zhí)行常規(guī)的寫操作(步驟S530)。這里所說(shuō)的“常規(guī)的寫操作”是同第十個(gè)實(shí)施例中地址轉(zhuǎn)換設(shè)備160按順序從存儲(chǔ)器地址讀取數(shù)據(jù)的讀操作一樣的。
如果有突發(fā)傳遞指令(步驟S520中“YES”),則從掩碼值生成電路112的地址轉(zhuǎn)換信息表138中獲取地址轉(zhuǎn)換信息(步驟S522)。依照根據(jù)地址轉(zhuǎn)換信息轉(zhuǎn)換而來(lái)的存儲(chǔ)器地址序列,從存儲(chǔ)器40讀取自最高地址開始的四個(gè)字,并且將其臨時(shí)寫入到重排緩沖器166中(步驟S524)。然后,依照存儲(chǔ)器地址序列通過(guò)突發(fā)傳遞,把存儲(chǔ)在重排緩沖器166中的數(shù)據(jù)返回給處理器20,該存儲(chǔ)器地址序列是根據(jù)地址轉(zhuǎn)換信息轉(zhuǎn)換而來(lái)的(步驟S526)。該操作到此結(jié)束。
圖78更詳細(xì)地示出了上述讀操作。在圖78所示例子中,處理器20從地址的低七位是“1010000”的字中讀取四個(gè)字。
這里,圖67中所示地址轉(zhuǎn)換設(shè)備160把地址“1010000”轉(zhuǎn)換為地址“0110011”。類似地,地址“1010001”轉(zhuǎn)換為“0110010”,地址“1010010”轉(zhuǎn)換為“0110000”,而地址“1010011”轉(zhuǎn)換為“0110001”。
突發(fā)傳遞控制器164首先從“0110000”讀取四個(gè)字,“0110000”表示地址轉(zhuǎn)換之后的最高地址。這四個(gè)字暫存在重排緩沖器166中。在這一時(shí)刻讀取的數(shù)據(jù)是數(shù)據(jù)A、B、C和D。
根據(jù)地址轉(zhuǎn)換信息,突發(fā)傳遞控制器164依照原始地址序列,重新排列數(shù)據(jù)。在圖78所示例子中,數(shù)據(jù)D從地址“0110000”讀出,數(shù)據(jù)C從地址“0110001”讀出,數(shù)據(jù)A從地址“0110010”讀出,而數(shù)據(jù)B從地址“0110011”讀出。然后,該數(shù)據(jù)通過(guò)從地址“0110000”開始的以D、C、A和B順序的突發(fā)傳遞返回給處理器20。
如上所述,在依照第十一個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中,修改存儲(chǔ)器中的真實(shí)地址,從而消除真實(shí)地址和掩碼值之間的相關(guān)性。這樣,可以降低正確估計(jì)掩碼值的可能性。因此,可以實(shí)現(xiàn)更高的安全性。
依照第十一個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1的操作和結(jié)構(gòu)的其它方面同依照第十個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1是一樣的。
下面,描述依照第十一個(gè)實(shí)施例的地址轉(zhuǎn)換操作的一個(gè)修正版。在這個(gè)修正版中,第十一個(gè)實(shí)施例的地址轉(zhuǎn)換操作也適用于第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1。圖79的框圖示出了依照這個(gè)實(shí)施例的存儲(chǔ)器端的緩沖器控制電路56的功能結(jié)構(gòu)。依照這個(gè)實(shí)施例的存儲(chǔ)器端的緩沖器控制電路56除了包括依照第十一個(gè)實(shí)施例的訪問(wèn)控制設(shè)備10的功能結(jié)構(gòu),還包括地址轉(zhuǎn)換設(shè)備160。
順序控制器562執(zhí)行和突發(fā)傳遞控制器164相同的操作。因此,第九個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1可以執(zhí)行和第十一個(gè)實(shí)施例相同的操作,并且也可以達(dá)到相同的效果。
這個(gè)修正版中的存儲(chǔ)器端的緩沖器控制電路56沒有重排緩沖器。在該結(jié)構(gòu)中,數(shù)據(jù)在突發(fā)傳遞時(shí)并沒有在重排緩沖器中進(jìn)行重新排列,但是指定緩沖存儲(chǔ)器54可以被該字訪問(wèn)。這樣,緩沖存儲(chǔ)器54就可以用作重排緩沖器。
圖80示出了依照第十二個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1的總體結(jié)構(gòu)。依照第十二個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1中,存儲(chǔ)器訪問(wèn)控制設(shè)備10和存儲(chǔ)器40擁有相同的總線加密設(shè)備170和410??偩€加密設(shè)備170和410共用一個(gè)密鑰。利用根據(jù)該密鑰生成的隨機(jī)數(shù),總線加密設(shè)備170和410對(duì)經(jīng)由存儲(chǔ)器總線42傳輸?shù)男盘?hào)進(jìn)行加密。
圖81示出了存儲(chǔ)器訪問(wèn)控制設(shè)備10的功能結(jié)構(gòu)。依照第十二個(gè)實(shí)施例的存儲(chǔ)器訪問(wèn)控制設(shè)備10除了包括依照第一個(gè)實(shí)施例的存儲(chǔ)器訪問(wèn)控制設(shè)備10的功能結(jié)構(gòu),還包括總線加密設(shè)備170??偩€加密設(shè)備170生成用于對(duì)控制信號(hào)進(jìn)行加密的控制信號(hào)掩碼,生成用于對(duì)存儲(chǔ)器地址進(jìn)行加密的地址掩碼,生成用于對(duì)數(shù)據(jù)進(jìn)行加密的數(shù)據(jù)掩碼,并且生成用于對(duì)奇偶校驗(yàn)碼進(jìn)行加密的奇偶校驗(yàn)碼掩碼。這些信號(hào)中的每一個(gè)都進(jìn)行掩碼并通過(guò)存儲(chǔ)器總線42輸出。
圖82的框圖詳細(xì)示出了總線加密設(shè)備170的功能結(jié)構(gòu)??偩€加密設(shè)備170包括公共密鑰處理電路171、公共密鑰存儲(chǔ)單元172、初始值計(jì)算電路173以及隨機(jī)數(shù)生成電路174。
公共密鑰處理電路171執(zhí)行在總線加密設(shè)備170和410之間共用密鑰的操作??梢圆捎枚喾N方式來(lái)實(shí)現(xiàn)公共公鑰的共用。比如,在訪問(wèn)控制系統(tǒng)1進(jìn)行初始化時(shí),把初始密鑰寫入每個(gè)總線加密設(shè)備170和410中。稍后,在正則區(qū)間生成一個(gè)新的密鑰,然后用新的密鑰代替總線加密設(shè)備170和410之間的公共密鑰。
公共密鑰存儲(chǔ)單元172存儲(chǔ)密鑰。根據(jù)這個(gè)密鑰,初始值計(jì)算電路173生成隨機(jī)數(shù)生成電路174的初始值。最好采用單向函數(shù),以防止正確估計(jì)出密鑰。比如,通過(guò)哈希函數(shù)根據(jù)該密鑰生成的值可以用作初始值。隨機(jī)數(shù)生成電路174,將初始值計(jì)算電路173計(jì)算出的值用作初始值,以此生成隨機(jī)數(shù)序列。
存儲(chǔ)器40的總線加密設(shè)備410的功能結(jié)構(gòu)和總線加密設(shè)備170的功能結(jié)構(gòu)是相同的。這兩個(gè)加密設(shè)備的公共密鑰處理電路共用一個(gè)密鑰。這兩個(gè)加密設(shè)備的隨機(jī)數(shù)生成電路根據(jù)該密鑰同時(shí)生成隨機(jī)數(shù)。在用生成的隨機(jī)數(shù)對(duì)掩碼進(jìn)行加密的情況下,在傳輸端和接收端計(jì)算經(jīng)由存儲(chǔ)器總線42傳輸?shù)男盘?hào)的異或值。因此,就可以使經(jīng)由存儲(chǔ)器總線42傳輸?shù)男盘?hào)散播。
這樣,為了檢查訪問(wèn)權(quán)限,用訪問(wèn)控制設(shè)備根據(jù)地址生成掩碼值對(duì)原始數(shù)據(jù)進(jìn)行掩碼,以及,用總線加密設(shè)備在不考慮地址的情況下通過(guò)異或操作生成的掩碼值,對(duì)原始數(shù)據(jù)進(jìn)行掩碼。因此,估計(jì)數(shù)據(jù)和這兩類掩碼值會(huì)變得更難。從而,可以實(shí)現(xiàn)更高的安全性。
圖83和圖84示出了依照第十二個(gè)實(shí)施例經(jīng)由存儲(chǔ)器總線42傳輸?shù)男盘?hào)流。圖83示出的信號(hào)示例沒有經(jīng)過(guò)總線加密設(shè)備170和410的掩碼操作。順序地從地址A34讀取、在地址A35寫入以及從地址A36讀取。在這種情況中,相應(yīng)的存儲(chǔ)器地址、相應(yīng)的數(shù)據(jù)以及相應(yīng)的奇偶校驗(yàn)碼都是經(jīng)由存儲(chǔ)器總線42傳輸?shù)摹?br>
圖84示出的信號(hào)示例經(jīng)過(guò)了總線加密設(shè)備170和410的掩碼操作。在圖84中,Ri.c、Ri.a、Ri.d、Ri.p分別代表Ri的控制信號(hào)加密掩碼、地址加密掩碼、數(shù)據(jù)加密掩碼以及奇偶校驗(yàn)碼加密掩碼。如圖84所示,總線加密設(shè)備170和410由時(shí)鐘生成用來(lái)進(jìn)行掩碼的隨機(jī)數(shù)。通過(guò)異或操作,把經(jīng)由存儲(chǔ)器42傳輸?shù)男盘?hào)和用來(lái)進(jìn)行掩碼的隨機(jī)值結(jié)合起來(lái)。
在第十二個(gè)實(shí)施例的第一修正版中,總線加密設(shè)備170沒有初始值計(jì)算電路173,并且把密鑰作為隨機(jī)數(shù)生成電路174的初始值提供。但是,從安全的角度來(lái)看,優(yōu)選采用由初始值計(jì)算電路173計(jì)算出的初始值,以避免對(duì)密鑰的正確估計(jì)。
在第二修正版中,隨機(jī)數(shù)生成電路174采用了LFSR。圖85的框圖示出了依照第二修正版的總線加密設(shè)備170的功能結(jié)構(gòu)。隨機(jī)數(shù)生成電路174包括隨機(jī)數(shù)寄存器175和LFSR延遲計(jì)算電路176。
當(dāng)前狀態(tài)記錄到隨機(jī)數(shù)寄存器175中,并且由LFSR延遲計(jì)算電路176計(jì)算出根據(jù)當(dāng)前狀態(tài)經(jīng)過(guò)某數(shù)量的步驟延遲后的狀態(tài)。將延遲后的狀態(tài)設(shè)為下一狀態(tài),并且把它的值作為加密掩碼輸出。
圖86的框圖示出了依照第三修正版的存儲(chǔ)器訪問(wèn)控制設(shè)備10的功能結(jié)構(gòu)。依照第三修正版的存儲(chǔ)器訪問(wèn)控制設(shè)備10除了包括依照第八個(gè)實(shí)施例的存儲(chǔ)器訪問(wèn)控制設(shè)備10的功能結(jié)構(gòu),還包括總線加密設(shè)備170。
圖87的框圖示出了依照第四修正版的存儲(chǔ)器訪問(wèn)控制設(shè)備10的功能結(jié)構(gòu)。依照第四修正版的存儲(chǔ)器訪問(wèn)控制設(shè)備10除了包括依照第十個(gè)實(shí)施例的存儲(chǔ)器訪問(wèn)控制設(shè)備10的功能結(jié)構(gòu),還包括總線加密設(shè)備170。
圖88的框圖示出了依照第五修正版的存儲(chǔ)器訪問(wèn)控制設(shè)備10的功能結(jié)構(gòu)。依照第五修正版的存儲(chǔ)器訪問(wèn)控制設(shè)備10除了包括依照第九個(gè)實(shí)施例的存儲(chǔ)器端的緩沖器控制電路56的功能結(jié)構(gòu),還包括總線加密設(shè)備170。
如上所述,第十二個(gè)實(shí)施例的總線加密設(shè)備170可以應(yīng)用在其它實(shí)施例的訪問(wèn)控制系統(tǒng)1中。這樣,為了檢查訪問(wèn)權(quán)限,用訪問(wèn)控制設(shè)備根據(jù)地址生成掩碼值對(duì)原始數(shù)據(jù)進(jìn)行掩碼,以及,用總線加密設(shè)備在不考慮地址的情況下通過(guò)異或操作生成的掩碼值,對(duì)原始數(shù)據(jù)進(jìn)行掩碼。估計(jì)數(shù)據(jù)和這兩類掩碼值會(huì)變得更難。從而,可以實(shí)現(xiàn)更高的安全性。
正如前面的其它實(shí)施例中所述,第九個(gè)到第十二個(gè)實(shí)施例的訪問(wèn)控制系統(tǒng)1所特有的訪問(wèn)控制設(shè)備10也可以適用于圖48到圖54所示的其它系統(tǒng)。
對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),其他優(yōu)點(diǎn)和修改將是很容易聯(lián)想到的。因此,本發(fā)明就其更寬泛方面而言,并不限于這里描述的具體細(xì)節(jié)和代表性實(shí)施例。因此,在不背離所附權(quán)利要求及其等同物所限定的總體發(fā)明構(gòu)思的前提下,可以作出各種修改。
權(quán)利要求
1.一種訪問(wèn)控制設(shè)備,用于控制寫入器、讀取器和存儲(chǔ)器之間的訪問(wèn),包括奇偶校驗(yàn)碼生成器,針對(duì)要寫入所述存儲(chǔ)器的原始數(shù)據(jù),生成奇偶校驗(yàn)碼;奇偶校驗(yàn)碼加法器,通過(guò)向所述原始數(shù)據(jù)添加所述奇偶校驗(yàn)碼生成器生成的所述奇偶校驗(yàn)碼,生成添加有奇偶校驗(yàn)碼的數(shù)據(jù);第一校正子生成器,生成第一校正子,即與所述寫入器請(qǐng)求向所述存儲(chǔ)器寫入所述原始數(shù)據(jù)所用的第一訪問(wèn)代碼相關(guān)聯(lián)的值;第一掩碼生成器,基于所述第一校正子、所述第一訪問(wèn)代碼以及第一存儲(chǔ)器地址,生成第一掩碼數(shù)據(jù),其中,所述寫入器要在所述第一存儲(chǔ)器地址將所述原始數(shù)據(jù)寫入;第一異或單元,通過(guò)在所述添加有奇偶校驗(yàn)碼的數(shù)據(jù)和所述第一掩碼數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第一運(yùn)算后數(shù)據(jù);寫入單元,把所述第一運(yùn)算后數(shù)據(jù)寫入所述存儲(chǔ)器中;第二校正子生成器,用于生成第二校正子,即與所述讀取器請(qǐng)求從所述存儲(chǔ)器讀取數(shù)據(jù)所用的第二訪問(wèn)代碼相關(guān)聯(lián)的值;第二掩碼生成器,基于所述第二校正子、所述第二訪問(wèn)代碼以及第二存儲(chǔ)器地址,生成第二掩碼數(shù)據(jù),其中,所述讀取器要從所述第二存儲(chǔ)器地址讀取所述數(shù)據(jù);讀取單元,從所述存儲(chǔ)器讀取所述第一運(yùn)算后數(shù)據(jù);第二異或單元,通過(guò)在所述第二掩碼數(shù)據(jù)和所述第一運(yùn)算后數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第二運(yùn)算后數(shù)據(jù);數(shù)據(jù)校正子計(jì)算器,基于所述第二運(yùn)算后數(shù)據(jù),計(jì)算實(shí)際數(shù)據(jù)校正子;以及輸出判斷單元,基于所述實(shí)際數(shù)據(jù)校正子,判斷是否將所述第二運(yùn)算后數(shù)據(jù)作為所述原始數(shù)據(jù)輸出。
2.如權(quán)利要求1所述的訪問(wèn)控制設(shè)備,還包括第一代碼獲取器,從所述寫入器獲取所述第一訪問(wèn)代碼;以及第二代碼獲取器,從所述讀取器獲取所述第二訪問(wèn)代碼,其中所述第一校正子生成器基于所述第一代碼獲取器獲取的所述第一訪問(wèn)代碼,生成所述第一校正子,以及所述第二校正子生成器基于所述第二代碼獲取器獲取的所述第二訪問(wèn)代碼,生成所述第二校正子。
3.如權(quán)利要求2所述的訪問(wèn)控制設(shè)備,其中所述第一代碼獲取器經(jīng)由與所述寫入器相連接的第一專用線,獲取所述第一訪問(wèn)代碼;以及所述第二代碼獲取器經(jīng)由與所述讀取器相連接的第二專用線,獲取所述第二訪問(wèn)代碼。
4.如權(quán)利要求1所述的訪問(wèn)控制設(shè)備,還包括寫入器ID獲取器,獲取用于標(biāo)識(shí)所述寫入器的寫入器ID;第一代碼指定器,基于所述寫入器ID獲取器獲取的所述寫入器ID,確定所述第一訪問(wèn)代碼;讀取器ID獲取器,獲取用于標(biāo)識(shí)所述讀取器的讀取器ID;以及第二代碼指定器,基于所述讀取器ID獲取器獲取的所述讀取器ID,確定所述第二訪問(wèn)代碼;其中所述第一校正子生成器基于所述第一代碼指定器確定的所述第一訪問(wèn)代碼,生成所述第一校正子,以及所述第二校正子生成器基于所述第二代碼指定器確定的所述第二訪問(wèn)代碼,生成所述第二校正子。
5.如權(quán)利要求4所述的訪問(wèn)控制設(shè)備,還包括第一代碼存儲(chǔ)器,存儲(chǔ)相互關(guān)聯(lián)的所述寫入器ID和所述第一訪問(wèn)代碼;以及第二代碼存儲(chǔ)器,存儲(chǔ)相互關(guān)聯(lián)的所述讀取器ID和所述第二訪問(wèn)代碼,其中所述第一代碼指定器確定所述第一訪問(wèn)代碼,其中,所述第一訪問(wèn)代碼存儲(chǔ)在所述第一代碼存儲(chǔ)器中并且與所述寫入器ID獲取器獲取的所述寫入器ID相關(guān)聯(lián),以及所述第二代碼指定器確定所述第二訪問(wèn)代碼,其中,所述第二訪問(wèn)代碼存儲(chǔ)在所述第二代碼存儲(chǔ)器中并且與所述讀取器ID獲取器獲取的所述讀取器ID相關(guān)聯(lián)。
6.如權(quán)利要求5所述的訪問(wèn)控制設(shè)備,還包括第一地址獲取器,從所述寫入器獲取所述第一存儲(chǔ)器地址;以及第二地址獲取器,從所述讀取器獲取所述第二存儲(chǔ)器地址;其中所述第一代碼存儲(chǔ)器還存儲(chǔ)與所述第一訪問(wèn)代碼相關(guān)聯(lián)的所述第一存儲(chǔ)器地址,所述第一代碼指定器確定所述第一訪問(wèn)代碼,其中,所述第一訪問(wèn)代碼存儲(chǔ)在所述第一代碼存儲(chǔ)器中并且與所述第一地址獲取器獲取的第一存儲(chǔ)器地址相關(guān)聯(lián),所述第二代碼存儲(chǔ)器還存儲(chǔ)與所述第二訪問(wèn)代碼相關(guān)聯(lián)的所述第二存儲(chǔ)器地址,以及所述第二代碼指定器確定所述第二訪問(wèn)代碼,其中,所述第二訪問(wèn)代碼存儲(chǔ)在所述第二代碼存儲(chǔ)器中并且與所述第二地址獲取器獲取的第二存儲(chǔ)器地址相關(guān)聯(lián)。
7.如權(quán)利要求1所述的訪問(wèn)控制設(shè)備,還包括第一地址獲取器,從所述寫入器中獲取所述第一存儲(chǔ)器地址;第一代碼存儲(chǔ)器,存儲(chǔ)相互關(guān)聯(lián)的所述第一存儲(chǔ)器地址和所述第一訪問(wèn)代碼;第一代碼指定器,確定存儲(chǔ)在所述第一代碼存儲(chǔ)器中并且與所述第一地址獲取器獲取的所述第一存儲(chǔ)器地址相關(guān)聯(lián)的所述第一訪問(wèn)代碼;第二地址獲取器,從所述讀取器中獲取所述第二存儲(chǔ)器地址;第二代碼存儲(chǔ)器,存儲(chǔ)相互關(guān)聯(lián)的所述第二存儲(chǔ)器地址和所述第二訪問(wèn)代碼;以及第二代碼指定器,確定存儲(chǔ)在所述第二代碼存儲(chǔ)器中并且與所述第二地址獲取器獲取的所述第二存儲(chǔ)器地址相關(guān)聯(lián)的所述第二訪問(wèn)代碼,其中所述第一校正子生成器基于所述第一代碼指定器確定的所述第一訪問(wèn)代碼,生成所述第一校正子,以及所述第二校正子生成器基于所述第二代碼指定器確定的所述第二訪問(wèn)代碼,生成所述第二校正子。
8.如權(quán)利要求1所述的訪問(wèn)控制設(shè)備,其中,所述第一掩碼生成器包括第一數(shù)據(jù)掩碼生成器,基于所述第一訪問(wèn)代碼和所述第一存儲(chǔ)器地址,生成用于對(duì)所述原始數(shù)據(jù)進(jìn)行掩碼的數(shù)據(jù)掩碼;以及第一奇偶校驗(yàn)碼掩碼生成器,生成用于對(duì)所述奇偶校驗(yàn)碼生成器生成的所述奇偶校驗(yàn)碼進(jìn)行掩碼的奇偶校驗(yàn)碼掩碼,其中,所述奇偶校驗(yàn)碼掩碼是通過(guò)在所述數(shù)據(jù)掩碼生成器生成的所述數(shù)據(jù)掩碼的校正子和所述第一校正子生成器生成的所述第一校正子之間進(jìn)行異或運(yùn)算而獲得的;所述第二掩碼生成器包括第二數(shù)據(jù)掩碼生成器,基于所述第二訪問(wèn)代碼和所述第二存儲(chǔ)器地址,生成用于對(duì)與所述原始數(shù)據(jù)相對(duì)應(yīng)的一部分所述第一運(yùn)算后數(shù)據(jù)進(jìn)行掩碼的數(shù)據(jù)掩碼;以及第二奇偶校驗(yàn)碼掩碼生成器,生成用于對(duì)與所述奇偶校驗(yàn)碼相對(duì)應(yīng)的一部分所述第一運(yùn)算后數(shù)據(jù)進(jìn)行掩碼的奇偶校驗(yàn)碼掩碼,其中,所述奇偶校驗(yàn)碼掩碼是通過(guò)在所述數(shù)據(jù)掩碼生成器生成的所述數(shù)據(jù)掩碼的校正子和所述第二校正子生成器生成的所述第二校正子之間進(jìn)行異或運(yùn)算而獲得的;所述第一異或單元在所述原始數(shù)據(jù)和所述第一數(shù)據(jù)掩碼生成器生成的所述數(shù)據(jù)掩碼之間執(zhí)行異或運(yùn)算,并且在所述奇偶校驗(yàn)碼和所述第一奇偶校驗(yàn)碼掩碼生成器生成的所述奇偶校驗(yàn)碼掩碼之間執(zhí)行異或運(yùn)算,以及所述第二異或單元在所述第一運(yùn)算后數(shù)據(jù)的數(shù)據(jù)部分和所述第二數(shù)據(jù)掩碼生成器生成的所述數(shù)據(jù)掩碼之間進(jìn)行異或運(yùn)算,并且,在所述第一運(yùn)算后數(shù)據(jù)的奇偶校驗(yàn)碼部分和所述第二奇偶校驗(yàn)碼掩碼生成器生成的所述奇偶校驗(yàn)碼掩碼之間執(zhí)行異或運(yùn)算。
9.如權(quán)利要求8所述的訪問(wèn)控制設(shè)備,其中所述第一數(shù)據(jù)掩碼生成器和所述第二數(shù)據(jù)掩碼生成器各包括線性反饋移位寄存器(LFSR)延遲計(jì)算器。
10.如權(quán)利要求9所述的訪問(wèn)控制設(shè)備,其中所述LFSR延遲計(jì)算器對(duì)所述第一訪問(wèn)代碼和所述第二訪問(wèn)代碼中的每一個(gè)采用不同的參數(shù)進(jìn)行運(yùn)算。
11.如權(quán)利要求8所述的訪問(wèn)控制設(shè)備,其中所述第一數(shù)據(jù)掩碼生成器和所述第二數(shù)據(jù)掩碼生成器各包括多個(gè)LFSR延遲計(jì)算器;以及一個(gè)異或單元,在所述多個(gè)LFSR延遲計(jì)算器輸出值中的至少兩個(gè)LFSR延遲計(jì)算器輸出值之間執(zhí)行異或運(yùn)算。
12.如權(quán)利要求11所述的訪問(wèn)控制設(shè)備,其中所述LFSR延遲計(jì)算器對(duì)所述第一訪問(wèn)代碼和所述第二訪問(wèn)代碼中的每一個(gè)采用不同的參數(shù)進(jìn)行運(yùn)算。
13.如權(quán)利要求12所述的訪問(wèn)控制設(shè)備,還包括數(shù)據(jù)掩碼生成信息存儲(chǔ)器,存儲(chǔ)所述LFSR延遲計(jì)算器的參數(shù),所述參數(shù)與所述第一訪問(wèn)代碼或所述第二訪問(wèn)代碼相關(guān)聯(lián),其中所述LFSR延遲計(jì)算器利用存儲(chǔ)在所述數(shù)據(jù)掩碼生成信息存儲(chǔ)器中并且與所述第一訪問(wèn)代碼或所述第二訪問(wèn)代碼相關(guān)聯(lián)的所述參數(shù)進(jìn)行運(yùn)算。
14.如權(quán)利要求8所述的訪問(wèn)控制設(shè)備,其中所述第一數(shù)據(jù)掩碼生成器和所述第二數(shù)據(jù)掩碼生成器各包括對(duì)每個(gè)存儲(chǔ)器地址進(jìn)行移位的零移位器。
15.如權(quán)利要求8所述的訪問(wèn)控制設(shè)備,其中所述第一數(shù)據(jù)掩碼生成器和所述第二數(shù)據(jù)掩碼生成器各包括地址分離器,所述地址分離器把連續(xù)的存儲(chǔ)器地址值轉(zhuǎn)換為相距較遠(yuǎn)的值。
16.如權(quán)利要求1所述的訪問(wèn)控制設(shè)備,還包括寫入器地址轉(zhuǎn)換器,把所述第一存儲(chǔ)器地址轉(zhuǎn)換為不同的地址;以及讀取器地址轉(zhuǎn)換器,把所述第二存儲(chǔ)器地址轉(zhuǎn)換為不同的地址,其中所述第一校正子生成器基于所述寫入器地址轉(zhuǎn)換器轉(zhuǎn)換后的所述第一存儲(chǔ)器地址,生成所述第一校正子,所述第一掩碼生成器基于所述寫入器地址轉(zhuǎn)換器轉(zhuǎn)換后的所述第一存儲(chǔ)器地址,生成所述第一掩碼數(shù)據(jù),所述第二校正子生成器基于所述讀取器地址轉(zhuǎn)換器轉(zhuǎn)換后的所述第二存儲(chǔ)器地址,生成所述第二校正子,以及所述第二掩碼生成器基于所述讀取器地址轉(zhuǎn)換器轉(zhuǎn)換后的所述第二存儲(chǔ)器地址,生成所述第二掩碼數(shù)據(jù)。
17.如權(quán)利要求1所述的訪問(wèn)控制設(shè)備,其中所述寫入器和所述讀取器是處理器或者進(jìn)程。
18.如權(quán)利要求1所述的訪問(wèn)控制設(shè)備,還包括隨機(jī)數(shù)生成器,生成與所述存儲(chǔ)器中生成的隨機(jī)數(shù)相同的隨機(jī)數(shù);隨機(jī)異或單元,在所述隨機(jī)數(shù)生成器生成的所述隨機(jī)值和所述存儲(chǔ)器中要訪問(wèn)的區(qū)域的存儲(chǔ)器地址之間執(zhí)行異或運(yùn)算;以及運(yùn)算后地址傳輸器,傳輸運(yùn)算后的地址,即所述隨機(jī)異或單元的運(yùn)算結(jié)果。
19.一種訪問(wèn)控制系統(tǒng),包括處理器;存儲(chǔ)器控制器;以及存儲(chǔ)器訪問(wèn)控制設(shè)備,控制對(duì)存儲(chǔ)器的訪問(wèn),所述存儲(chǔ)器訪問(wèn)控制設(shè)備包括奇偶校驗(yàn)碼生成器,針對(duì)要寫入所述存儲(chǔ)器的原始數(shù)據(jù),生成奇偶校驗(yàn)碼;奇偶校驗(yàn)碼加法器,通過(guò)向所述原始數(shù)據(jù)添加所述奇偶校驗(yàn)碼生成器生成的所述奇偶校驗(yàn)碼,生成添加有奇偶校驗(yàn)碼的數(shù)據(jù);第一校正子生成器,生成第一掩碼數(shù)據(jù)的第一校正子,以便對(duì)所述添加有奇偶校驗(yàn)碼的數(shù)據(jù)進(jìn)行掩碼,所述第一校正子是預(yù)先與第一訪問(wèn)代碼相關(guān)聯(lián)的值,所述第一訪問(wèn)代碼是當(dāng)寫入器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息,所述寫入器請(qǐng)求把所述原始數(shù)據(jù)寫入所述存儲(chǔ)器;第一掩碼生成器,基于所述第一校正子、所述第一訪問(wèn)代碼以及第一存儲(chǔ)器地址,生成所述第一掩碼數(shù)據(jù),其中要在所述第一存儲(chǔ)器地址將所述原始數(shù)據(jù)寫入;第一異或單元,通過(guò)在所述添加有奇偶校驗(yàn)碼的數(shù)據(jù)和所述第一掩碼數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第一運(yùn)算后數(shù)據(jù);寫入單元,把所述第一運(yùn)算后數(shù)據(jù)寫入所述存儲(chǔ)器;第二校正子生成器,生成第二掩碼數(shù)據(jù)的第二校正子,以便對(duì)所述第一運(yùn)算后數(shù)據(jù)進(jìn)行掩碼,所述第二校正子是預(yù)先與第二訪問(wèn)代碼相關(guān)聯(lián)的值,所述第二訪問(wèn)代碼是當(dāng)讀取器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息,所述讀取器請(qǐng)求從所述存儲(chǔ)器讀取數(shù)據(jù);第二掩碼生成器,基于所述第二校正子、所述第二訪問(wèn)代碼以及第二存儲(chǔ)器地址,生成所述第二掩碼數(shù)據(jù),其中要從所述第二存儲(chǔ)器地址讀取所述數(shù)據(jù);讀取單元,從所述存儲(chǔ)器讀取所述第一運(yùn)算后數(shù)據(jù);第二異或單元,通過(guò)在所述第二掩碼數(shù)據(jù)和所述第一運(yùn)算后數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第二運(yùn)算后數(shù)據(jù);數(shù)據(jù)校正子計(jì)算器,基于所述第二運(yùn)算后數(shù)據(jù),計(jì)算出實(shí)際的數(shù)據(jù)校正子;以及輸出判斷單元,基于所述實(shí)際數(shù)據(jù)校正子,判斷是否把所述第二運(yùn)算后數(shù)據(jù)作為所述原始數(shù)據(jù)輸出。
20.一種訪問(wèn)控制系統(tǒng),包括處理器;以及存儲(chǔ)器訪問(wèn)控制設(shè)備,控制對(duì)存儲(chǔ)器的訪問(wèn),所述存儲(chǔ)器訪問(wèn)控制設(shè)備包括奇偶校驗(yàn)碼生成器,針對(duì)要寫入所述存儲(chǔ)器的原始數(shù)據(jù),生成奇偶校驗(yàn)碼;奇偶校驗(yàn)碼加法器,通過(guò)向所述原始數(shù)據(jù)添加所述奇偶校驗(yàn)碼生成器生成的所述奇偶校驗(yàn)碼,生成添加有奇偶校驗(yàn)碼的數(shù)據(jù);第一校正子生成器,生成第一掩碼數(shù)據(jù)的第一校正子,以便對(duì)所述添加有奇偶校驗(yàn)碼的數(shù)據(jù)進(jìn)行掩碼,所述第一校正子是預(yù)先與第一訪問(wèn)代碼相關(guān)聯(lián)的值,所述第一訪問(wèn)代碼是當(dāng)寫入器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息,所述寫入器請(qǐng)求把所述原始數(shù)據(jù)寫入所述存儲(chǔ)器;第一掩碼生成器,基于所述第一校正子、所述第一訪問(wèn)代碼以及第一存儲(chǔ)器地址,生成所述第一掩碼數(shù)據(jù),其中要在所述第一存儲(chǔ)器地址將所述原始數(shù)據(jù)寫入;第一異或單元,通過(guò)在所述添加有奇偶校驗(yàn)碼的數(shù)據(jù)和所述第一掩碼數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第一運(yùn)算后數(shù)據(jù);寫入單元,把所述第一運(yùn)算后數(shù)據(jù)寫入所述存儲(chǔ)器;第二校正子生成器,生成第二掩碼數(shù)據(jù)的第二校正子,以便對(duì)所述第一運(yùn)算后數(shù)據(jù)進(jìn)行掩碼,所述第二校正子是預(yù)先與第二訪問(wèn)代碼相關(guān)聯(lián)的值,所述第二訪問(wèn)代碼是當(dāng)讀取器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息,所述讀取器請(qǐng)求從所述存儲(chǔ)器讀取數(shù)據(jù);第二掩碼生成器,基于所述第二校正子、所述第二訪問(wèn)代碼以及第二存儲(chǔ)器地址,生成所述第二掩碼數(shù)據(jù),其中要從所述第二存儲(chǔ)器地址讀取所述數(shù)據(jù);讀取單元,從所述存儲(chǔ)器讀取所述第一運(yùn)算后數(shù)據(jù);第二異或單元,通過(guò)在所述第二掩碼數(shù)據(jù)和所述第一運(yùn)算后數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第二運(yùn)算后數(shù)據(jù);數(shù)據(jù)校正子計(jì)算器,基于所述第二運(yùn)算后數(shù)據(jù),計(jì)算出實(shí)際的數(shù)據(jù)校正子;以及輸出判斷單元,基于所述實(shí)際數(shù)據(jù)校正子,判斷是否把所述第二運(yùn)算后數(shù)據(jù)作為所述原始數(shù)據(jù)輸出。
21.一種配備有存儲(chǔ)器控制器和存儲(chǔ)器訪問(wèn)控制設(shè)備的處理器,所述存儲(chǔ)器訪問(wèn)控制設(shè)備用于控制對(duì)存儲(chǔ)器的訪問(wèn),所述處理器包括奇偶校驗(yàn)碼生成器,針對(duì)要寫入所述存儲(chǔ)器的原始數(shù)據(jù),生成奇偶校驗(yàn)碼;奇偶校驗(yàn)碼加法器,通過(guò)向所述原始數(shù)據(jù)添加所述奇偶校驗(yàn)碼生成器生成的所述奇偶校驗(yàn)碼,生成添加有奇偶校驗(yàn)碼的數(shù)據(jù);第一校正子生成器,生成第一掩碼數(shù)據(jù)的第一校正子,以便對(duì)所述添加有奇偶校驗(yàn)碼的數(shù)據(jù)進(jìn)行掩碼,所述第一校正子是預(yù)先與第一訪問(wèn)代碼相關(guān)聯(lián)的值,所述第一訪問(wèn)代碼是當(dāng)寫入器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息,所述寫入器請(qǐng)求把所述原始數(shù)據(jù)寫入所述存儲(chǔ)器;第一掩碼生成器,基于所述第一校正子、所述第一訪問(wèn)代碼以及第一存儲(chǔ)器地址,生成所述第一掩碼數(shù)據(jù),其中要在所述第一存儲(chǔ)器地址寫入所述原始數(shù)據(jù);第一異或單元,通過(guò)在所述添加有奇偶校驗(yàn)碼的數(shù)據(jù)和所述第一掩碼數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第一運(yùn)算后數(shù)據(jù);寫入單元,把所述第一運(yùn)算后數(shù)據(jù)寫入所述存儲(chǔ)器;第二校正子生成器,生成第二掩碼數(shù)據(jù)的第二校正子,以便對(duì)所述第一運(yùn)算后數(shù)據(jù)進(jìn)行掩碼,所述第二校正子是預(yù)先與第二訪問(wèn)代碼相關(guān)聯(lián)的值,所述第二訪問(wèn)代碼是當(dāng)讀取器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息,所述讀取器請(qǐng)求從所述存儲(chǔ)器讀取數(shù)據(jù);第二掩碼生成器,基于所述第二校正子、所述第二訪問(wèn)代碼以及第二存儲(chǔ)器地址,生成所述第二掩碼數(shù)據(jù),其中要從所述第二存儲(chǔ)器地址讀取所述數(shù)據(jù);讀取單元,從所述存儲(chǔ)器讀取所述第一運(yùn)算后數(shù)據(jù);第二異或單元,通過(guò)在所述第二掩碼數(shù)據(jù)和所述第一運(yùn)算后數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第二運(yùn)算后數(shù)據(jù);數(shù)據(jù)校正子計(jì)算器,基于所述第二運(yùn)算后數(shù)據(jù),計(jì)算出實(shí)際的數(shù)據(jù)校正子;以及輸出判斷單元,基于所述實(shí)際數(shù)據(jù)校正子,判斷是否把所述第二運(yùn)算后數(shù)據(jù)作為所述原始數(shù)據(jù)輸出。
22.一種訪問(wèn)控制方法,包括針對(duì)要被寫入存儲(chǔ)器的初始數(shù)據(jù),生成奇偶校驗(yàn)碼;通過(guò)向所述原始數(shù)據(jù)添加所生成的所述奇偶校驗(yàn)碼,生成添加有奇偶校驗(yàn)碼的數(shù)據(jù);生成第一掩碼數(shù)據(jù)的第一校正子,以便對(duì)所述添加有奇偶校驗(yàn)碼的數(shù)據(jù)進(jìn)行掩碼,所述第一校正子是預(yù)先與第一訪問(wèn)代碼相關(guān)聯(lián)的值,所述第一訪問(wèn)代碼是當(dāng)寫入器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息,所述寫入器請(qǐng)求把所述原始數(shù)據(jù)寫入所述存儲(chǔ)器;基于所述第一校正子、所述第一訪問(wèn)代碼以及第一存儲(chǔ)器地址,生成所述第一掩碼數(shù)據(jù),其中要在所述第一存儲(chǔ)器地址寫入所述原始數(shù)據(jù);通過(guò)在所述添加有奇偶校驗(yàn)碼的數(shù)據(jù)和所述第一掩碼數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第一運(yùn)算后數(shù)據(jù);將所述第一運(yùn)算后數(shù)據(jù)寫入所述存儲(chǔ)器;生成第二掩碼數(shù)據(jù)的第二校正子,以便對(duì)所述第一運(yùn)算后數(shù)據(jù)進(jìn)行掩碼,所述第二校正子是預(yù)先與第二訪問(wèn)代碼相關(guān)聯(lián)的值,所述第二訪問(wèn)代碼是當(dāng)讀取器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息,所述讀取器請(qǐng)求從所述存儲(chǔ)器讀取數(shù)據(jù);生成器基于所述第二校正子、所述第二訪問(wèn)代碼以及第二存儲(chǔ)器地址,生成所述第二掩碼數(shù)據(jù),其中所述數(shù)據(jù)要從所述第二存儲(chǔ)器地址讀??;從所述存儲(chǔ)器讀取所述第一運(yùn)算后數(shù)據(jù);通過(guò)在所述第二掩碼數(shù)據(jù)和所述第一運(yùn)算后數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第二運(yùn)算后數(shù)據(jù);基于所述第二運(yùn)算后數(shù)據(jù),計(jì)算出實(shí)際的數(shù)據(jù)校正子;以及基于所述實(shí)際數(shù)據(jù)校正子,判斷是否把所述第二運(yùn)算后數(shù)據(jù)作為所述原始數(shù)據(jù)輸出。
23.一種存儲(chǔ)器訪問(wèn)控制設(shè)備,包括讀請(qǐng)求獲取器,獲取要從存儲(chǔ)器讀取的數(shù)據(jù)以及讀取所述數(shù)據(jù)所用的存儲(chǔ)器地址,所述數(shù)據(jù)和所述存儲(chǔ)器地址是從一個(gè)讀取器獲取的,所述讀取器請(qǐng)求從所述存儲(chǔ)器讀取所述數(shù)據(jù);緩沖存儲(chǔ)器監(jiān)控器,判斷所述讀請(qǐng)求獲取器獲取的所述存儲(chǔ)器地址是否存儲(chǔ)在緩沖存儲(chǔ)器中,所述緩沖存儲(chǔ)器將數(shù)據(jù)、所述數(shù)據(jù)的存儲(chǔ)器地址以及請(qǐng)求方訪問(wèn)代碼相互關(guān)聯(lián)地存儲(chǔ),請(qǐng)求把所述數(shù)據(jù)寫入所述存儲(chǔ)器的寫入器請(qǐng)求將所述數(shù)據(jù)寫入所述存儲(chǔ)器,或者所述讀取器請(qǐng)求從所述存儲(chǔ)器讀取所述數(shù)據(jù),所述請(qǐng)求方訪問(wèn)代碼是允許訪問(wèn)所述數(shù)據(jù)的寫入器或者讀取器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息;訪問(wèn)代碼比較器,當(dāng)所述緩沖存儲(chǔ)器監(jiān)控器確定所述存儲(chǔ)器地址存儲(chǔ)在所述緩沖存儲(chǔ)器中時(shí),將所述請(qǐng)求方訪問(wèn)代碼跟第二訪問(wèn)代碼進(jìn)行比較,所述請(qǐng)求方訪問(wèn)代碼與所述緩沖存儲(chǔ)器中的所述存儲(chǔ)器地址相關(guān)聯(lián),而所述第二訪問(wèn)代碼是所述讀取器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息;以及輸出單元,當(dāng)所述請(qǐng)求方訪問(wèn)代碼與所述第二訪問(wèn)代碼相匹配時(shí),把與所述緩沖存儲(chǔ)器中的所述存儲(chǔ)器地址相關(guān)聯(lián)的所述數(shù)據(jù)輸出到所述讀取器。
24.如權(quán)利要求23所述的存儲(chǔ)器訪問(wèn)控制設(shè)備,其中存儲(chǔ)在所述存儲(chǔ)器中的所述數(shù)據(jù)是第一運(yùn)算后數(shù)據(jù),其是通過(guò)對(duì)所述讀請(qǐng)求獲取器獲取的所述數(shù)據(jù)執(zhí)行預(yù)定的運(yùn)算而獲得的,以及所述存儲(chǔ)器訪問(wèn)控制設(shè)備還包括第二校正子生成器,當(dāng)所述緩沖存儲(chǔ)器監(jiān)控器確定所述讀請(qǐng)求獲取器獲取的所述數(shù)據(jù)的所述存儲(chǔ)器地址未存儲(chǔ)在所述緩沖存儲(chǔ)器中時(shí),生成第二掩碼數(shù)據(jù)的第二校正子,以便對(duì)存儲(chǔ)在所述存儲(chǔ)器中的所述數(shù)據(jù)進(jìn)行掩碼,所述第二校正子是與所述第二訪問(wèn)代碼預(yù)先相關(guān)聯(lián)的值;第二掩碼生成器,基于所述第二校正子、所述第二訪問(wèn)代碼以及所述存儲(chǔ)器地址,生成所述第二掩碼數(shù)據(jù);讀取單元,從所述存儲(chǔ)器讀取所述第一運(yùn)算后數(shù)據(jù);第一異或單元,通過(guò)在所述第二掩碼數(shù)據(jù)和從所述讀取單元讀取的所述第一運(yùn)算后數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第二運(yùn)算后數(shù)據(jù);數(shù)據(jù)校正子計(jì)算器,基于所述運(yùn)算后數(shù)據(jù),計(jì)算出實(shí)際的數(shù)據(jù)校正子;以及輸出判斷單元,基于所述數(shù)據(jù)校正子,判斷是否把所述第二運(yùn)算后數(shù)據(jù)作為所述讀取器請(qǐng)求的所述數(shù)據(jù)輸出。
25.如權(quán)利要求23所述的存儲(chǔ)器訪問(wèn)控制設(shè)備,還包括寫請(qǐng)求獲取器,獲取要寫入所述存儲(chǔ)器的數(shù)據(jù)以及寫入所述數(shù)據(jù)所用的存儲(chǔ)器地址,所述數(shù)據(jù)和所述存儲(chǔ)器地址是從請(qǐng)求向存儲(chǔ)器寫入所述數(shù)據(jù)的寫入器獲取的;代碼存儲(chǔ)器,將所述存儲(chǔ)器地址與第一訪問(wèn)代碼相關(guān)聯(lián)地進(jìn)行存儲(chǔ),所述第一訪問(wèn)代碼是當(dāng)允許在所述存儲(chǔ)器地址寫入數(shù)據(jù)的寫入器訪問(wèn)所述存儲(chǔ)器地址時(shí)要使用的信息;以及數(shù)據(jù)存儲(chǔ)器,當(dāng)所述寫請(qǐng)求獲取器獲取的所述存儲(chǔ)器地址與所述訪問(wèn)代碼存儲(chǔ)器中所述寫入器的所述第一訪問(wèn)代碼相關(guān)聯(lián)時(shí),將所述寫請(qǐng)求獲取器獲取的所述數(shù)據(jù)和所述存儲(chǔ)器地址與所述第一訪問(wèn)代碼相關(guān)聯(lián)地進(jìn)行存儲(chǔ),所述第一訪問(wèn)代碼是所述寫入器訪問(wèn)所述緩沖存儲(chǔ)器中的所述存儲(chǔ)器時(shí)要使用的信息。
26.如權(quán)利要求24所述的存儲(chǔ)器訪問(wèn)控制設(shè)備,還包括奇偶校驗(yàn)碼生成器,針對(duì)存儲(chǔ)在所述數(shù)據(jù)存儲(chǔ)器中的所述數(shù)據(jù),生成奇偶校驗(yàn)碼;奇偶校驗(yàn)碼加法器,通過(guò)向所述數(shù)據(jù)添加所述奇偶校驗(yàn)碼生成器生成的所述奇偶校驗(yàn)碼,生成添加有奇偶校驗(yàn)碼的數(shù)據(jù);第一校正子生成器,生成第一掩碼數(shù)據(jù)的第一校正子,以便對(duì)所述添加有奇偶校驗(yàn)碼的數(shù)據(jù)進(jìn)行掩碼,所述添加有奇偶校驗(yàn)碼的數(shù)據(jù)中添加有奇偶校驗(yàn)碼,所述第一校正子是預(yù)先與所述第一訪問(wèn)代碼相關(guān)聯(lián)的值,所述第一訪問(wèn)代碼是當(dāng)所述寫入器將所述數(shù)據(jù)寫入所述存儲(chǔ)器時(shí)所用的信息;第一掩碼生成器,基于所述第一校正子、所述第一訪問(wèn)代碼以及所述存儲(chǔ)器地址,生成所述第一掩碼數(shù)據(jù);第一異或單元,通過(guò)在所述添加有奇偶校驗(yàn)碼的數(shù)據(jù)和所述第一掩碼數(shù)據(jù)之間執(zhí)行異或運(yùn)算,獲取第一運(yùn)算后數(shù)據(jù);寫入單元,將所述第一運(yùn)算后數(shù)據(jù)作為所述數(shù)據(jù)寫入所述存儲(chǔ)器。
27.一種訪問(wèn)控制系統(tǒng),包括處理器;緩沖存儲(chǔ)器;以及存儲(chǔ)器訪問(wèn)控制設(shè)備,控制對(duì)存儲(chǔ)器的訪問(wèn),所述緩沖存儲(chǔ)器存儲(chǔ)有寫入器或讀取器所請(qǐng)求的數(shù)據(jù)、所述數(shù)據(jù)的存儲(chǔ)器地址以及請(qǐng)求方訪問(wèn)代碼,所述寫入器請(qǐng)求把所述數(shù)據(jù)寫入所述存儲(chǔ)器,而所述讀取器請(qǐng)求從所述存儲(chǔ)器讀取所述數(shù)據(jù),所述請(qǐng)求方訪問(wèn)代碼是當(dāng)允許訪問(wèn)所述數(shù)據(jù)的寫入器或者讀取器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息,所述數(shù)據(jù)和所述存儲(chǔ)器地址與所述請(qǐng)求方訪問(wèn)代碼相關(guān)聯(lián),所述存儲(chǔ)器訪問(wèn)控制設(shè)備包括讀請(qǐng)求獲取器,從所述讀取器獲取要從所述存儲(chǔ)器讀取的所述數(shù)據(jù)以及所述數(shù)據(jù)的所述存儲(chǔ)器地址;緩沖存儲(chǔ)器監(jiān)控器,判斷所述讀請(qǐng)求獲取器獲取的所述存儲(chǔ)器地址是否存儲(chǔ)在所述緩沖存儲(chǔ)器中;訪問(wèn)代碼比較器,當(dāng)所述緩沖存儲(chǔ)器監(jiān)控器確定所述存儲(chǔ)器地址存儲(chǔ)在所述緩沖存儲(chǔ)器中時(shí),將所述請(qǐng)求方訪問(wèn)代碼與第二訪問(wèn)代碼進(jìn)行比較,所述請(qǐng)求方訪問(wèn)代碼與所述緩沖存儲(chǔ)器中的所述存儲(chǔ)器地址相關(guān)聯(lián),而所述第二訪問(wèn)代碼是所述讀取器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息;以及輸出單元,當(dāng)所述請(qǐng)求方訪問(wèn)代碼與所述第二訪問(wèn)代碼相匹配時(shí),將與所述緩沖存儲(chǔ)器中的所述存儲(chǔ)器地址相關(guān)聯(lián)的所述數(shù)據(jù)輸出到所述讀取器。
28.一種存儲(chǔ)器訪問(wèn)控制方法,包括獲取要從存儲(chǔ)器中讀取的數(shù)據(jù)以及讀取所述數(shù)據(jù)所用的存儲(chǔ)器地址,所述數(shù)據(jù)和所述存儲(chǔ)器地址是從一個(gè)讀取器獲取的,所述讀取器請(qǐng)求從所述存儲(chǔ)讀取所述數(shù)據(jù);判斷獲取的所述存儲(chǔ)器地址是否存儲(chǔ)在緩沖存儲(chǔ)器中,所述緩沖存儲(chǔ)器將數(shù)據(jù)、所述數(shù)據(jù)的存儲(chǔ)器地址以及請(qǐng)求方訪問(wèn)代碼相互關(guān)聯(lián)地進(jìn)行存儲(chǔ),請(qǐng)求把所述數(shù)據(jù)寫入所述存儲(chǔ)器的寫入器請(qǐng)求將所述數(shù)據(jù)寫入所述存儲(chǔ)器,或者所述讀取器請(qǐng)求從所述存儲(chǔ)器讀取所述數(shù)據(jù),所述請(qǐng)求方訪問(wèn)代碼是當(dāng)有權(quán)訪問(wèn)所述數(shù)據(jù)的寫入器或者讀取器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息;當(dāng)所述存儲(chǔ)器地址存儲(chǔ)在所述緩沖存儲(chǔ)器中時(shí),將所述請(qǐng)求方訪問(wèn)代碼與第二訪問(wèn)代碼進(jìn)行比較,所述請(qǐng)求方訪問(wèn)代碼與所述緩沖存儲(chǔ)器中的所述存儲(chǔ)器地址相關(guān)聯(lián),而所述第二訪問(wèn)代碼是所述讀取器訪問(wèn)所述存儲(chǔ)器時(shí)要使用的信息;以及當(dāng)所述請(qǐng)求方訪問(wèn)代碼與所述第二訪問(wèn)代碼相匹配時(shí),將與所述緩沖存儲(chǔ)器中的所述存儲(chǔ)器地址相關(guān)聯(lián)的所述數(shù)據(jù)輸出。
全文摘要
一種訪問(wèn)控制設(shè)備,包括奇偶校驗(yàn)碼生成器,針對(duì)要寫入存儲(chǔ)器的原始數(shù)據(jù),生成奇偶校驗(yàn)碼;奇偶校驗(yàn)碼加法器,通過(guò)把奇偶校驗(yàn)碼添加到原始數(shù)據(jù)上,生成添加有奇偶校驗(yàn)碼的數(shù)據(jù);第一校正子生成器,生成第一掩碼數(shù)據(jù)的第一校正子,以便對(duì)述添加有奇偶校驗(yàn)碼的數(shù)據(jù)進(jìn)行掩碼。所述第一校正子是預(yù)先與第一訪問(wèn)代碼相關(guān)聯(lián)的并且寫入器訪問(wèn)存儲(chǔ)器時(shí)所用的值。所述設(shè)備還包括第一掩碼生成器,根據(jù)第一校正子、第一訪問(wèn)代碼以及第一存儲(chǔ)器地址,生成第一掩碼數(shù)據(jù);第一異或單元,通過(guò)在所述添加有奇偶校驗(yàn)碼的數(shù)據(jù)和所述第一掩碼數(shù)據(jù)之間進(jìn)行異或計(jì)算,獲取第一運(yùn)算后數(shù)據(jù);寫入單元,把所述第一運(yùn)算后數(shù)據(jù)寫入存儲(chǔ)器。
文檔編號(hào)G06F11/10GK1991801SQ200610166789
公開日2007年7月4日 申請(qǐng)日期2006年11月30日 優(yōu)先權(quán)日2005年11月30日
發(fā)明者金井達(dá)德, 吉井謙一郎 申請(qǐng)人:株式會(huì)社東芝