欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

存儲器控制裝置、計算機(jī)系統(tǒng)及數(shù)據(jù)再現(xiàn)記錄裝置的制作方法

文檔序號:6614805閱讀:294來源:國知局
專利名稱:存儲器控制裝置、計算機(jī)系統(tǒng)及數(shù)據(jù)再現(xiàn)記錄裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及存儲器控制裝置、計算機(jī)系統(tǒng)及數(shù)據(jù)再現(xiàn)記錄裝置, 特別是涉及從存儲器讀出數(shù)據(jù)及糾錯碼的存儲器控制裝置。
背景技術(shù)
半導(dǎo)體存儲器芯片中,由于電氣噪聲、存儲單元的缺陷及外來宇 宙射線等原因,在記錄數(shù)據(jù)中會產(chǎn)生錯誤。記錄數(shù)據(jù)的錯誤產(chǎn)生概率 是極小的。但是,近些年來隨著半導(dǎo)體的微形化技術(shù)的發(fā)展,單位面 積的存儲單元數(shù)量增大,結(jié)果,數(shù)據(jù)錯誤的發(fā)生概率就不能忽視了。眾所周知,對該錯誤進(jìn)行檢測、校正的方法是,采用糾錯碼(Error Correcting Code: ECC)的糾錯機(jī)構(gòu)。ECC是采用按記錄的數(shù)據(jù)長度 的漢明碼(hamming code)的糾錯碼。采用ECC的糾錯機(jī)構(gòu),將ECC 和數(shù)據(jù)一起保存在存儲器中。在從存儲器讀出數(shù)據(jù)時,讀出數(shù)據(jù)及 ECC,通過數(shù)據(jù)及ECC對讀出的數(shù)據(jù)進(jìn)行錯誤檢測及校正。例如, 對于64位的數(shù)據(jù),采用8位的ECC,可以校正l位的錯誤。圖1是利用現(xiàn)有的采用ECC的糾錯機(jī)構(gòu)的一般計算機(jī)系統(tǒng)的構(gòu) 成圖。在圖1中所示的計算機(jī)系統(tǒng)1000中,對64位的數(shù)據(jù)采用8位 的ECC。計算機(jī)系統(tǒng)1000,包括存儲器塊1001、芯片組1002、及 CPU 1003。 CPU 1003對芯片組1002輸出數(shù)據(jù)讀出及寫入指令。芯片 組1002根據(jù)CPU 1003發(fā)出的指令,向存儲器塊1001進(jìn)行數(shù)據(jù)的讀 出及寫入。芯片組1002,當(dāng)讀出數(shù)據(jù)時,從存儲器塊1001讀出64 位數(shù)據(jù)及8位ECC,對讀出的數(shù)據(jù)進(jìn)行錯誤檢測及校正。而芯片組 1002,在數(shù)據(jù)寫入時,根據(jù)從CPU 1003寫入64位的數(shù)據(jù),生成8 位ECC,并將數(shù)據(jù)及ECC寫入存儲器塊1001中。存儲器塊1001具有多個存儲器芯片1004。各存儲器芯片1004, 包括8位數(shù)據(jù)用的位線1005、及1位ECC用的位線1006。在由芯片組1002進(jìn)行數(shù)據(jù)的寫入及讀出時,采用數(shù)據(jù)用的位線1005,而在ECC 的寫入及讀出時采用ECC用的位線1006。但是,具有ECC用的位線的存儲器芯片,與普通的存儲器芯片 相比存在成本高的問題。因此,基于ECC的糾錯機(jī)構(gòu)只在高價的服 務(wù)器系統(tǒng)中使用。與此相對,公開了有關(guān)采用普通的存儲器芯片,進(jìn)行糾錯的存儲 器控制裝置的技術(shù)(例如,參照專利文獻(xiàn)l)。圖2是表示具有專利文獻(xiàn)1記載的現(xiàn)有存儲器控制裝置的計算機(jī) 系統(tǒng)的構(gòu)成圖。圖2中所示的計算機(jī)系統(tǒng)1100,包括微型機(jī)(7 ^3乂)塊1110、存儲器控制裝置1120、及由普通的存儲器芯片構(gòu) 成的存儲器1130。微型機(jī)塊1110,對于存儲器控制裝置1120發(fā)出對 存儲器1B0進(jìn)行數(shù)據(jù)的讀出及寫入的指令。存儲器控制裝置1120, 在數(shù)據(jù)寫入時,對每64位的數(shù)據(jù)1131賦予糾錯碼1132,并寫入存 儲器1130中。存儲器控制裝置1120,將糾錯碼1132,與數(shù)據(jù)1131 同樣配置在存儲器映射(map)上。而存儲器控制裝置1120,在數(shù)據(jù) 讀出時,按時間序列讀出數(shù)據(jù)1131及糾錯碼1132,采用讀出的糾錯 碼1132進(jìn)行數(shù)據(jù)1131的糾錯。這樣,專利文獻(xiàn)1記載的存儲器控制裝置112,使用數(shù)據(jù)用的位 線對數(shù)據(jù)1131和糾錯碼1132進(jìn)行讀出及寫入。這樣采用普通的存儲 器映象,可以實(shí)施糾錯。但是,專利文獻(xiàn)1記載的存儲器控制裝置1120,由于對存儲器 1130的全區(qū)域的數(shù)據(jù)1131賦予糾錯碼1132,所以存儲器1130需要 存放數(shù)據(jù)1131及糾錯碼1132的存儲器容量,存在存儲器容量增加的 問題。這樣,在存儲器容量有限的構(gòu)成系統(tǒng)中是很難實(shí)現(xiàn)的。 (專利文獻(xiàn)l)日本特開2005-182613號公報發(fā)明內(nèi)容本發(fā)明鑒于上述問題,其目的在于提供一種存儲器控制裝置,既 進(jìn)行糾錯,又抑制存儲器容量的增加。為了達(dá)到上述目的,本發(fā)明所涉及的存儲器控制裝置,從存儲器讀出包括糾錯碼的數(shù)據(jù),包括糾錯單元,根據(jù)上述糾錯碼,對上述 數(shù)據(jù)進(jìn)行錯誤檢測及糾錯,并將進(jìn)行了錯誤檢測及糾錯的數(shù)據(jù)輸出給 外部;以及選擇器,選擇是將從上述存儲器讀出的上述數(shù)據(jù)輸出給上 述糾錯單元、還是將從上述存儲器讀出的上述數(shù)據(jù)輸出給外部。根據(jù)這一構(gòu)成,對存儲器中存放的賦予了糾錯碼的數(shù)據(jù),糾錯單 元可以進(jìn)行錯誤檢測及糾錯,將錯誤檢測及糾錯后的數(shù)據(jù)輸出給外 部。而對于存儲器中存放的未賦予糾錯碼的數(shù)據(jù),可以不進(jìn)行錯誤檢 測及糾錯,而將數(shù)據(jù)輸出給外部。這樣,可以對于需要高可靠性的數(shù) 據(jù),賦予糾錯碼,而對于不需要高可靠性的數(shù)據(jù),不賦予糾錯碼,存 放在存儲器中。從而,由于可以削減對不需要高可靠性的數(shù)據(jù)的糾錯 碼的數(shù)據(jù)區(qū)域,所以與對存儲器的全部數(shù)據(jù)賦予多余糾錯碼的情況相 比,可以削減存儲器容量。即,本發(fā)明可以提供既進(jìn)行糾錯、又抑制 存儲器容量增加的存儲器控制裝置。另外,上述存儲器控制裝置,也可以根據(jù)來自具有CPU的微型 機(jī)塊的指令,從存儲器讀出包括糾錯碼的數(shù)據(jù);上述存儲器控制裝置 還包括指令置換單元,將上述糾錯碼置換成與上述CPU的動作無 關(guān)的指令并輸出給外部。根據(jù)這一構(gòu)成,通過指令置換單元,所讀出的糾錯碼,置換成與 CPU動作無關(guān)的指令,輸出給微型機(jī)塊。這樣,在微型機(jī)塊中即使 不進(jìn)行識別糾錯碼的處理等,對系統(tǒng)動作也沒有妨礙。從而可以減少 微型機(jī)塊中的處理量。另外,上述存儲器控制裝置,也可以還包括地址變換單元,將 從外部輸入的地址,變換成包括存放上述糾錯碼的區(qū)域的上述存儲器 上的地址。根據(jù)這一構(gòu)成,外部裝置即使不指定考慮了存放糾錯碼的區(qū)域的 地址,也可以讀出進(jìn)行了錯誤檢測及糾錯的數(shù)據(jù)。從而,外部裝置, 由于可以在不考慮糾錯碼區(qū)域部分的情況下對數(shù)據(jù)進(jìn)行存取,所以可 以減少外部裝置的處理量。另外,也可以是,上述存儲器控制裝置,根據(jù)來自具有CPU的 微型機(jī)塊的指令,從存儲器讀出包括糾錯碼的數(shù)據(jù);上述選擇器,在從上述微型機(jī)塊讀出程序數(shù)據(jù)時成為第1邏輯的指令讀出信號是上 述第1邏輯的情況下,將從上述存儲器讀出的上述數(shù)據(jù)輸出給上述糾 錯單元,而在上述指令讀出信號不是上述第1邏輯的情況下,將從上述存儲器讀出的上述數(shù)據(jù)輸出給上述微型機(jī)塊;上述地址變換單元, 當(dāng)上述指令讀出信號是上述第1邏輯時,將從上述微型機(jī)塊輸入的地 址變換成包括存放上述糾錯碼的區(qū)域的上述存儲器上的地址。根據(jù)這一構(gòu)成,只在由微型機(jī)塊進(jìn)行的指令讀出時,由地址變換 單元進(jìn)行地址變換,及由糾錯單元進(jìn)行錯誤檢測及糾錯。從而,可以 只對需要高可靠性的程序數(shù)據(jù),賦予糾錯碼,存放在存儲器中。另外,也可以是,上述存儲器控制裝置還包括糾錯碼生成單元, 對從外部輸入的數(shù)據(jù),生成糾錯碼;地址判斷單元,判斷從外部輸入 的地址是否包含在規(guī)定的地址范圍內(nèi);以及第2選擇器,當(dāng)通過上述 地址判斷單元判斷為從外部輸入的地址包含在上述規(guī)定的地址范圍 內(nèi)時,將從外部輸入的數(shù)據(jù)輸出給上述糾錯碼生成單元,而當(dāng)通過上 述地址判斷單元判斷為從外部輸入的地址不包含在上述規(guī)定的地址 范圍內(nèi)時,將上述數(shù)據(jù)輸出給上述存儲器;上述選擇器,當(dāng)通過上述 地址判斷單元判斷為從外部輸入的地址包含在上述規(guī)定的地址范圍 內(nèi)時,將從上述存儲器讀出的上述數(shù)據(jù)輸出給上述糾錯單元,而當(dāng)通 過上述地址判斷單元判斷為從外部輸入的地址不包含在上述規(guī)定的 地址范圍內(nèi)時,將從上述存儲器讀出的上述數(shù)據(jù)輸出給外部;上述地 址變換單元,當(dāng)通過上述地址判斷單元判斷為從外部輸入的地址包含 在上述規(guī)定的地址范圍內(nèi)時,將從外部輸入的地址變換成包括存放上 述糾錯碼的區(qū)域的上述存儲器上的地址。根據(jù)這一構(gòu)成,根據(jù)從外部輸入的地址是否在存儲器內(nèi)規(guī)定的地 址范圍內(nèi),由糾錯單元進(jìn)行錯誤檢測及校正。這樣,除程序數(shù)據(jù)之外, 還可以對程序的堆棧數(shù)據(jù)等對系統(tǒng)動作有影響的重要數(shù)據(jù)賦予糾錯 碼,存放在存儲器中。從而,通過糾錯碼對對系統(tǒng)動作有影響的重要 數(shù)據(jù)進(jìn)行保護(hù),可以提高系統(tǒng)的堅固性。另外,由于可以將應(yīng)附加糾 錯碼的區(qū)域控制在存儲器內(nèi)規(guī)定的地址范圍內(nèi),所以可以削減存儲器 容量。另外,也可以是,上述存儲器控制裝置還包括地址存儲單元, 將用于決定上述規(guī)定的地址范圍的值作為固定值進(jìn)行保持;上述地址 判斷單元,根據(jù)上述地址存儲單元保持的用于決定上述規(guī)定的地址范 圍的值,判斷從外部輸入的地址是否包含在上述規(guī)定的地址范圍內(nèi)。根據(jù)這一構(gòu)成,可以按每個系統(tǒng)自由設(shè)定存儲器內(nèi)存放賦予了糾 錯碼的數(shù)據(jù)的地址范圍,可以應(yīng)用于各種裝置中。另外,也可以是,上述存儲器控制裝置還包括地址存儲單元, 保持從外部輸入的用于決定上述規(guī)定的地址范圍的值;上述地址判斷 單元,根據(jù)上述地址存儲單元保持的用于決定上述規(guī)定的地址范圍的 值,判斷從外部輸入的地址是否包含在上述規(guī)定的地址范圍內(nèi)。根據(jù)這一構(gòu)成,可以按每個系統(tǒng)自由設(shè)定存儲器內(nèi)存放賦予了糾 錯碼的數(shù)據(jù)的地址范圍,可以應(yīng)用于各種裝置中。另外,也可以是,上述存儲器控制裝置,至少通過來自直接存儲 器存取控制裝置的指令,從存儲器讀出包括糾錯碼的數(shù)據(jù),上述選擇 器,當(dāng)是來自上述直接存儲器存取控制裝置的讀出指令時,將從上述 存儲器讀出的上述數(shù)據(jù)及上述糾錯碼,輸出給上述直接存儲器存取控 制裝置。根據(jù)這一構(gòu)成,當(dāng)從外部調(diào)試軟件轉(zhuǎn)儲存儲器內(nèi)容時,即使不通 過糾錯單元,也可以用調(diào)試軟件進(jìn)行錯誤檢測及糾錯。這樣,調(diào)試軟 件可以對存儲器保持的數(shù)據(jù)進(jìn)行正常轉(zhuǎn)儲。另外,也可以是,上述存儲器控制裝置,根據(jù)從具有CPU的微 型機(jī)塊及直接存儲器存取控制裝置發(fā)出的指令,從存儲器讀出包括糾 錯碼的數(shù)據(jù),上述選擇器,在從上述微型機(jī)塊讀出程序數(shù)據(jù)時成為第 1邏輯的指令讀出信號是上述第1邏輯的情況下,或者在從上述直接 存儲器存取控制裝置讀出數(shù)據(jù)時成為第2邏輯的直接存儲器存取讀 出信號是上述第2邏輯的情況下,將從上述存儲器讀出的上述數(shù)據(jù)輸 出給上述糾錯單元,而在上述指令讀出信號不是上述第1邏輯、且上 述直接存儲器存取讀出信號不是上述第2邏輯的情況下,將從上述存 儲器讀出的上述數(shù)據(jù)輸出給上述微型機(jī)塊或上述直接存儲器存取控 制裝置。根據(jù)這一構(gòu)成,當(dāng)從外部的調(diào)試軟件轉(zhuǎn)儲存儲器內(nèi)容時,以DMA 讀出信號為控制信號,在存儲器控制裝置內(nèi)進(jìn)行錯誤檢測及糾錯。這 樣,就不必用調(diào)試軟件進(jìn)行錯誤檢測及糾錯,可以減少調(diào)試軟件中的 處理量。
另外,也可以是,上述存儲器控制裝置,根據(jù)來自具有CPU的 微型機(jī)塊的指令,從存儲器讀出包括糾錯碼的數(shù)據(jù);上述微型機(jī)塊包 括總線控制單元,將來自上述CPU的指令分配給上述存儲器控制 裝置或其他裝置;以及寄存器,保持用于決定上述總線控制單元的分 配目的地的信息;上述存儲器控制裝置還包括寄存器設(shè)定變更單元, 當(dāng)上述糾錯單元檢測出錯誤時,變更上述寄存器保持的信息。
根據(jù)這一構(gòu)成,當(dāng)在讀出的數(shù)據(jù)中檢測出錯誤時,可以不用本來 在存儲器上的程序數(shù)據(jù),而從與存儲器總線不同的系統(tǒng)總線上配置的 程序ROM等中讀出程序數(shù)據(jù),執(zhí)行處理。即,可以不使用發(fā)生了錯 誤的存儲器執(zhí)行處理,可以提高系統(tǒng)的堅固性。
另外,也可以是,上述存儲器控制裝置,根據(jù)來自具有CPU的 微型機(jī)塊的指令,從存儲器讀出包括糾錯碼的數(shù)據(jù);上述CPU具有 保持表示程序配置場所的信息的寄存器;上述存儲器控制裝置還包 括寄存器設(shè)定變更單元,當(dāng)上述糾錯單元檢測出錯誤時,變更上述 寄存器保持的信息。
根據(jù)這一構(gòu)成,當(dāng)在讀出的數(shù)據(jù)中檢測出錯誤時,可以不用本來 在存儲器上的程序數(shù)據(jù),而從與存儲器總線不同的系統(tǒng)總線上配置的 程序ROM等中讀出程序數(shù)據(jù),執(zhí)行處理。即,可以不使用發(fā)生了錯 誤的存儲器執(zhí)行處理,可以提高系統(tǒng)的堅固性。
另外,本發(fā)明所涉及的計算機(jī)系統(tǒng),包括存儲器控制裝置,從 存儲器讀出包括糾錯碼的數(shù)據(jù);數(shù)據(jù)區(qū)域插入單元,在對程序源進(jìn)行 了編譯后的目標(biāo)程序中插入規(guī)定大小的數(shù)據(jù)區(qū)域;地址解析單元,包 括上述數(shù)據(jù)區(qū)域插入單元插入的上述數(shù)據(jù)區(qū)域而進(jìn)行上述目標(biāo)程序 中的操作數(shù)的地址解析;糾錯碼計算單元,計算上述目標(biāo)程序的糾錯 碼;以及糾錯碼寫入單元,將由上述糾錯碼計算單元算出的糾錯碼, 寫入上述數(shù)據(jù)區(qū)域;上述存儲器控制裝置,通過上述糾錯碼寫入單元,將在上述數(shù)據(jù)區(qū)域?qū)懭肓思m錯碼的目標(biāo)程序?qū)懭肷鲜龃鎯ζ?;上述?儲器控制裝置包括糾錯單元,根據(jù)上述糾錯碼,對上述數(shù)據(jù)進(jìn)行錯 誤檢測及糾錯,并將進(jìn)行了錯誤檢測及糾錯的數(shù)據(jù)輸出給外部;以及 選擇器,選擇是將從上述存儲器讀出的上述數(shù)據(jù)輸出給上述糾錯單 元,還是將從上述存儲器讀出的上述數(shù)據(jù)輸出給外部。根據(jù)這一構(gòu)成,即使附加糾錯碼,程序內(nèi)的操作數(shù),也可考慮糾 錯碼的區(qū)域而進(jìn)行地址解析。從而,外部裝置可以不進(jìn)行地址變換, 對存儲器中所保持的數(shù)據(jù)進(jìn)行存取。另外,本發(fā)明所涉及的計算機(jī)系統(tǒng),包括存儲器;存儲器控制 裝置,對上述存儲器進(jìn)行包括糾錯碼的數(shù)據(jù)的寫入及讀出;以及微型 機(jī)塊,對上述存儲器控制裝置發(fā)出向上述存儲器進(jìn)行的數(shù)據(jù)寫入及讀 出指令;上述存儲器控制裝置包括糾錯單元,根據(jù)上述糾錯碼,對 上述數(shù)據(jù)進(jìn)行錯誤檢測及糾錯,并將進(jìn)行了錯誤檢測及糾錯的數(shù)據(jù)輸 出給外部;以及選擇器,選擇是將從上述存儲器讀出的上述數(shù)據(jù)輸出 給上述糾錯單元,還是將從上述存儲器讀出的上述數(shù)據(jù)輸出給外部。根據(jù)這一構(gòu)成,對于存儲器中存放的賦予了糾錯碼的數(shù)據(jù),糾錯 單元可以進(jìn)行錯誤檢測及糾錯,將錯誤檢測及糾錯后的數(shù)據(jù)輸出給外 部。而對于存儲器中存放的未賦予糾錯碼的數(shù)據(jù),不進(jìn)行錯誤檢測及 糾錯,將數(shù)據(jù)輸出給外部。這樣,可以對于需要高可靠性的數(shù)據(jù),賦 予糾錯碼,而對于不需要高可靠性的數(shù)據(jù),不賦予糾錯碼,存放在存 儲器中。從而,由于可以削減對不需要高可靠性的數(shù)據(jù)的糾錯碼的數(shù) 據(jù)區(qū)域,所以與對存儲器的全部數(shù)據(jù)賦予多余糾錯碼的情況相比,可 以削減存儲器容量。即,本發(fā)明可以提供既進(jìn)行糾錯、又抑制存儲器 容量增加的計算機(jī)系統(tǒng)。另外,本發(fā)明所涉及的數(shù)據(jù)再現(xiàn)記錄裝置,包括存儲器控制裝 置,從存儲器讀出包括糾錯碼的數(shù)據(jù);數(shù)據(jù)區(qū)域插入單元,在對程序 源進(jìn)行了編譯后的目標(biāo)程序中插入規(guī)定大小的數(shù)據(jù)區(qū)域;地址解析單 元,包括上述數(shù)據(jù)區(qū)域插入單元插入的上述數(shù)據(jù)區(qū)域而進(jìn)行上述目標(biāo) 程序中的操作數(shù)的地址解析;糾錯碼計算單元,計算上述目標(biāo)程序的 糾錯碼;以及糾錯碼寫入單元,將由上述糾錯碼計算單元算出的糾錯碼,寫入上述數(shù)據(jù)區(qū)域;上述存儲器控制裝置,通過上述糾錯碼寫入 單元,將在上述數(shù)據(jù)區(qū)域?qū)懭肓思m錯碼的目標(biāo)程序?qū)懭肷鲜龃鎯ζ鳎?上述存儲器控制裝置包括糾錯單元,根據(jù)上述糾錯碼,對上述數(shù)據(jù) 進(jìn)行錯誤檢測及糾錯,并將進(jìn)行了錯誤檢測及糾錯的數(shù)據(jù)輸出給外 部;以及選擇器,選擇是將從上述存儲器讀出的上述數(shù)據(jù)輸出給上述 糾錯單元,還是將從上述存儲器讀出的上述數(shù)據(jù)輸出給外部。根據(jù)這一構(gòu)成,對于存儲器中存放的賦予了糾錯碼的數(shù)據(jù),糾錯 裝置可以進(jìn)行錯誤檢測及糾錯,將錯誤檢測及糾錯后的數(shù)據(jù)輸出給外 部。而對于存儲器中存放的未賦予糾錯碼的數(shù)據(jù),可以不進(jìn)行錯誤檢 測及糾錯,將數(shù)據(jù)輸出給外部。這樣,可以對于需要高可靠性的數(shù)據(jù), 賦予糾錯碼,而對于不需要高可靠性的數(shù)據(jù),不賦予糾錯碼,存放在 存儲器中。從而,由于可以削減對不需要高可靠性的數(shù)據(jù)的糾錯碼的 數(shù)據(jù)區(qū)域,所以與對存儲器的全部數(shù)據(jù)賦予多余糾錯碼的情況相比, 可以削減存儲器容量。即,本發(fā)明可以提供既進(jìn)行糾錯、又抑制存儲 器容量增加的數(shù)據(jù)再現(xiàn)記錄裝置。另外,本發(fā)明所涉及的程序數(shù)據(jù)的生成方法,該程序數(shù)據(jù)通過存 儲器控制裝置寫入上述存儲器中,其特征在于上述存儲器控制裝置 從存儲器讀出包括糾錯碼的數(shù)據(jù),并包括糾錯單元,根據(jù)上述糾錯 碼,對上述數(shù)據(jù)進(jìn)行錯誤檢測及糾錯,并將進(jìn)行了錯誤檢測及糾錯的 數(shù)據(jù)輸出給外部;以及選擇器,選擇是將從上述存儲器讀出的上述數(shù) 據(jù)輸出給上述糾錯單元,還是將從上述存儲器讀出的上述數(shù)據(jù)輸出給 外部;上述程序數(shù)據(jù)的生成方法包括數(shù)據(jù)區(qū)域插入步驟,在對程序 源進(jìn)行了編譯后的目標(biāo)程序中插入規(guī)定大小的數(shù)據(jù)區(qū)域;地址解析步 驟,包括上述數(shù)據(jù)區(qū)域插入步驟中插入的上述數(shù)據(jù)區(qū)域而進(jìn)行上述目 標(biāo)程序中的操作數(shù)的地址解析;糾錯碼計算步驟,計算上述目標(biāo)程序 的糾錯碼;以及糾錯碼寫入步驟,將上述糾錯碼計算步驟中算出的糾 錯碼,寫入上述數(shù)據(jù)區(qū)域。這樣,即使附加糾錯碼,程序內(nèi)的操作數(shù),也可考慮糾錯碼的區(qū) 域而進(jìn)行地址解析。從而,外部裝置可以不進(jìn)行地址變換,對存儲器 中所保持的數(shù)據(jù)進(jìn)行存取。從以上看出,本發(fā)明可以提供一種存儲器控制裝置,既進(jìn)行糾錯、 又抑制存儲器容量的增加。


圖1是表示現(xiàn)有的計算機(jī)系統(tǒng)的構(gòu)成圖。圖2是表示現(xiàn)有的計算機(jī)系統(tǒng)的構(gòu)成圖。圖3是表示本發(fā)明的實(shí)施方式1所涉及的計算機(jī)系統(tǒng)的構(gòu)成圖。 圖4是表示本發(fā)明的實(shí)施方式1所涉及的計算機(jī)系統(tǒng)中的程序映象(program image)生成方法流程的流程圖。圖5是用于說明本發(fā)明的實(shí)施方式1所涉及的計算機(jī)系統(tǒng)中的程序映象生成方法的圖。圖6是表示本發(fā)明的實(shí)施方式2所涉及的計算機(jī)系統(tǒng)的構(gòu)成圖。 圖7是表示本發(fā)明的實(shí)施方式2所涉及的計算機(jī)系統(tǒng)的地址變換部的構(gòu)成圖。圖8是模式化表示存儲器的存儲器地址和存取請求地址間關(guān)系 的圖。圖9是模式化表示存儲器的存儲器地址和存取請求地址間關(guān)系 的圖。圖10是表示本發(fā)明的實(shí)施方式3所涉及的計算機(jī)系統(tǒng)的構(gòu)成圖。 圖11是表示本發(fā)明的實(shí)施方式4所涉及的計算機(jī)系統(tǒng)的構(gòu)成圖。 圖12是表示本發(fā)明的實(shí)施方式5所涉及的計算機(jī)系統(tǒng)的構(gòu)成圖。 圖13是表示本發(fā)明的實(shí)施方式6所涉及的計算機(jī)系統(tǒng)的構(gòu)成圖。 圖14是表示本發(fā)明的實(shí)施方式7所涉及的計算機(jī)系統(tǒng)的構(gòu)成圖。
具體實(shí)施方式
下面參照附圖,對本發(fā)明的實(shí)施例中的存儲器控制裝置進(jìn)行說明。(實(shí)施方式l)本發(fā)明的實(shí)施方式1所涉及的存儲器控制裝置,對從存儲器讀出 的數(shù)據(jù),選擇地進(jìn)行錯誤檢測及糾錯。這樣,可以從存儲器讀出賦予糾錯碼的數(shù)據(jù)、及未賦予糾錯碼的數(shù)據(jù)。首先,說明本發(fā)明的實(shí)施方式1所涉及的存儲器控制裝置的構(gòu)成。圖3是表示具有本發(fā)明的實(shí)施方式1所涉及的存儲器控制裝置的 計算機(jī)系統(tǒng)的構(gòu)成圖。圖3中所示的計算機(jī)系統(tǒng)100,例如是在DVD記錄器等數(shù)據(jù)再 現(xiàn)記錄裝置中所使用的計算機(jī)系統(tǒng)。計算機(jī)系統(tǒng)IOO,包括微型機(jī)塊 110、存儲器控制裝置120、及存儲器130。存儲器130,例如是可以以64位為單位進(jìn)行數(shù)據(jù)讀出及寫入的 RAM等。存儲器130,保持多個程序數(shù)據(jù)131、對應(yīng)于各程序數(shù)據(jù) 131的糾錯碼132、及程序以外的數(shù)據(jù)133。此處,程序以外的數(shù)據(jù) 133例如是視頻數(shù)據(jù)及音頻數(shù)據(jù)等不需要糾錯的數(shù)據(jù)。微型機(jī)塊110,對存儲器控制裝置120發(fā)出向存儲器130進(jìn)行數(shù) 據(jù)讀出及寫入的指令。微型機(jī)塊110,包括總線控制單元(Bus Control Unit: Bcu) 111、微型機(jī)核心112、 CPU核心115、 CI總線116、及 CD總線117??偩€控制單元111,對CI總線116及CD總線117進(jìn)行控制。 微型機(jī)核心112.在程序數(shù)據(jù)的讀出指令時(指令讀出時),生 成有效的指令讀出信號124。微型機(jī)核心112,具有指令高速緩沖存 儲器113、及數(shù)據(jù)高速緩沖存儲器114。指令高速緩沖存儲器113保 持對存儲器控制裝置120等的指令。數(shù)據(jù)高速緩沖存儲器114保持根 據(jù)指令進(jìn)行寫入或讀出的數(shù)據(jù)。CPU核心115進(jìn)行指令發(fā)行等的微 型機(jī)塊110的控制。CI總線116是指令高速緩沖存儲器113和總線控制單元111間 的總線。CD總線117是數(shù)據(jù)高速緩沖存儲器114和總線控制單元111 間的總線。存儲器控制裝置120根據(jù)微型機(jī)塊110發(fā)出的指令,向存儲器 130進(jìn)行程序數(shù)據(jù)131、糾錯碼132及程序以外的數(shù)據(jù)133的寫入及 讀出。存儲器控制裝置120包括選擇器121、糾錯部122、及指令置 換部123。選擇器121,根據(jù)指令讀出信號124,選擇將從存儲器130讀出 的數(shù)據(jù)(程序數(shù)據(jù)131、糾錯碼132及程序以外的數(shù)據(jù)133)是輸出 給糾錯部122、還是輸出給微型機(jī)塊110。具體地說,選擇器121, 當(dāng)指令讀出信號124有效時,將從存儲器130讀出的數(shù)據(jù)輸出給糾錯 部122。選擇器121,當(dāng)指令讀出信號124是無效時,將從存儲器130 讀出的數(shù)據(jù)不通過糾錯部122及指令置換部123,輸出給微型機(jī)塊 110。糾錯部122,根據(jù)從存儲器130讀出的程序數(shù)據(jù)131及糾錯碼 132,對從存儲器130讀出的程序數(shù)據(jù)131進(jìn)行錯誤檢測及糾錯。糾 錯部122,將進(jìn)行了錯誤檢測及糾錯的程序數(shù)據(jù)131、及糾錯碼132 輸出給指令置換部123。指令置換部123,將糾錯部122輸出的糾錯碼132置換成與CPU 核心115動作無關(guān)的指令,輸出給微型機(jī)塊IIO。例如,指令置換部 123將糾錯部122輸出的糾錯碼132轉(zhuǎn)換成nop指令,輸出給微型機(jī) 塊IIO。另外,指令置換部123將由糾錯部122進(jìn)行了糾錯的數(shù)據(jù)輸 出給微型機(jī)塊110。糾錯部122,也可以將進(jìn)行了錯誤檢測及糾錯的 程序數(shù)據(jù)131不通過指令置換部123,而輸出給微型機(jī)塊110。 下面,說明計算機(jī)系統(tǒng)100的動作。 首先,說明將程序數(shù)據(jù)131寫入存儲器130的動作。 微型機(jī)塊110,生成對寫入存儲器130中的程序數(shù)據(jù)131賦予糾 錯碼132的程序映象134。下面,對由微型機(jī)塊110生成程序映象134 的處理進(jìn)行詳細(xì)說明。例如,微型機(jī)塊110通過軟件處理,生成程序 映象134。圖4是表示配置在存儲器130中的程序映象134生成方法流程的 流程圖。圖5是用于說明程序映象134生成方法的圖。首先,微型機(jī)塊IIO,按每個對程序源進(jìn)行編譯后的規(guī)定大小的 目標(biāo)程序(object) 140,插入規(guī)定大小的數(shù)據(jù)區(qū)域141 (S101)。例 如,如圖5中所示,在jmp指令142、與表示jmp指令142轉(zhuǎn)移目的 地的標(biāo)簽143之間插入數(shù)據(jù)區(qū)域141。此處,規(guī)定大小的數(shù)據(jù)區(qū)域的 大小,與對規(guī)定大小的目標(biāo)程序的糾錯碼大小相同。例如,規(guī)定大小的目標(biāo)程序140是512位的目標(biāo)程序,規(guī)定大小的數(shù)據(jù)區(qū)域141是 64位的數(shù)據(jù)區(qū)域。接著,微型機(jī)塊110,包括步驟S101插入的數(shù)據(jù) 區(qū)域141,對目標(biāo)程序140中的操作數(shù)(operand)進(jìn)行地址解析(S102)。 具體地說,在圖5中所示的例子中,jmp指令142的操作數(shù),考慮從 jmp指令142的位置到包括規(guī)定大小的數(shù)據(jù)區(qū)域141的區(qū)域部分的標(biāo) 簽143的距離進(jìn)行地址解析。接著,微型機(jī)塊110計算每個規(guī)定大小 的目標(biāo)程序140的糾錯碼132 (S103)。接著,微型機(jī)塊110將在步 驟S103中算出的糾錯碼132寫入數(shù)據(jù)區(qū)域141 (S104)。通過以上的處理,生成在每個規(guī)定大小的程序數(shù)據(jù)131中配置有 對規(guī)定大小的程序數(shù)據(jù)131的糾錯碼132的程序映象134。另外,在步驟S102,由于進(jìn)行考慮到數(shù)據(jù)區(qū)域141的區(qū)域部分 的地址解析,所以對于數(shù)據(jù)區(qū)域141即使寫入了糾錯碼B2,規(guī)定大 小的數(shù)據(jù)區(qū)域141和糾錯碼132的大小也是相同的,因此jmp指令 142的操作數(shù)變?yōu)榭紤]了糾錯碼132的區(qū)域部分進(jìn)行地址解析的狀 態(tài)。接著,微型機(jī)塊110將生成的程序映象134及寫入指令輸出給存 儲器控制裝置120。存儲器控制裝置120將程序映象134寫入存儲器 130。通過以上步驟,賦予了糾錯碼132的程序數(shù)據(jù)131寫入存儲器 130中。下面,說明將程序以外的數(shù)據(jù)133寫入存儲器130的動作。 微型機(jī)塊110,將程序以外的數(shù)據(jù)133及寫入指令輸出給存儲器 控制裝置120。存儲器控制裝置120將程序以外的數(shù)據(jù)133寫入存儲 器130。通過以上步驟,未賦予糾錯碼132的程序以外的數(shù)據(jù)133寫 入存儲器130中。下面,說明從存儲器130讀出程序數(shù)據(jù)131的動作。 微型機(jī)塊110,對存儲器控制裝置120發(fā)出程序數(shù)據(jù)131的讀出 指令。微型機(jī)塊IIO,使指令讀出信號124有效。存儲器控制裝置120,根據(jù)從微型機(jī)塊110輸出的指令,讀出與 程序數(shù)據(jù)131對應(yīng)的糾錯碼132。選擇器121,由于指令讀出信號124 是有效的,所以將讀出的程序數(shù)據(jù)131及糾錯碼132輸出給糾錯部122。糾錯部122,根據(jù)程序數(shù)據(jù)131及糾錯碼132,進(jìn)行程序數(shù)據(jù)131 的錯誤檢測及糾錯。指令置換部123,將糾錯部122輸出的糾錯碼132 置換成與CPU核心115的動作無關(guān)的指令,輸出給微型機(jī)塊110。 另外,指令置換部123將通過糾錯部122進(jìn)行了糾錯的程序數(shù)據(jù)131 輸出給微型機(jī)塊110。通過以上的步驟,從存儲器130讀出程序數(shù)據(jù)131。另外,當(dāng)發(fā) 生了錯誤時,讀出由糾錯部122進(jìn)行了糾錯的程序數(shù)據(jù)131。下面,說明從存儲器130讀出程序以外的數(shù)據(jù)133的動作。微型機(jī)塊110,對存儲器控制裝置120發(fā)出程序以外的數(shù)據(jù)133 的讀出指令。微型機(jī)塊IIO,使指令讀出信號124無效。存儲器控制裝置120,根據(jù)從微型機(jī)塊110輸出的指令,讀出程 序以外的數(shù)據(jù)133。選擇器121,由于指令讀出信號124是無效的, 所以使讀出的程序以外的數(shù)據(jù)133不通過糾錯部122及指令置換部123, 輸出給微型機(jī)塊110。通過以上步驟,可從存儲器130讀出程 序以外的數(shù)據(jù)133。以上本發(fā)明的實(shí)施方式1所涉及的存儲器控制裝置120,對于存 放在存儲器130中的賦予了糾錯碼132的程序數(shù)據(jù)131,糾錯部122 進(jìn)行錯誤檢測及糾錯,將錯誤檢測及糾錯后的程序數(shù)據(jù)131輸出給微 型機(jī)塊110。而對于存放在存儲器130中的未賦予糾錯碼132的程序 以外的數(shù)據(jù)133,不進(jìn)行錯誤檢測及糾錯,將數(shù)據(jù)輸出給微型機(jī)塊 110。這樣,可以對于需要高可靠性的程序數(shù)據(jù)131賦予糾錯碼132, 而對于不需要高可靠性的程序以外的數(shù)據(jù)133不賦予糾錯碼132,存 放在存儲器130中。從而,可以削減對不需要高可靠性的程序以外的 數(shù)據(jù)133的糾錯碼132的數(shù)據(jù)區(qū)域,所以與對存儲器的全部數(shù)據(jù)都賦 予糾錯碼的情況相比可以削減存儲器容量。即,本發(fā)明可以提供既進(jìn) 行糾錯、又抑制存儲器容量增加的存儲器控制裝置120。另外,本發(fā) 明可以提供既進(jìn)行糾錯、又抑制存儲器容量增加的計算機(jī)系統(tǒng)100。 本發(fā)明還可以實(shí)現(xiàn)具有計算機(jī)系統(tǒng)100的抑制存儲器容量增加的 DVD記錄器等數(shù)據(jù)再現(xiàn)記錄裝置。另外,寫入存儲器130中的程序映象134考慮糾錯碼132的區(qū)域 部分進(jìn)行地址解析。從而,微型機(jī)塊110不必考慮糾錯碼132的區(qū)域 部分的地址。即,微型機(jī)塊110不進(jìn)行地址變換就可以對存儲器130 中保持的數(shù)據(jù)進(jìn)行存取。另外,通過指令置換部123,讀出的糾錯碼132可置換成與CPU 核心115的動作無關(guān)的指令,輸出給微型機(jī)塊IIO。這樣,在微型機(jī) 塊110中即使不進(jìn)行識別糾錯碼132的處理等,對系統(tǒng)動作也不會有 妨礙。另外,選擇器121,在指令讀出時通過有效的指令讀出信號124 進(jìn)行控制。從而,可以只對需要高可靠性的程序數(shù)據(jù)131賦予糾錯碼 132,存放在存儲器中。在圖5中,以jmp指令142的地址解析為例進(jìn)行了說明,但是在 參照存儲器上地址的其他指令(例如,分支指令等)中,在指令和參 照目標(biāo)地址之間插入數(shù)據(jù)區(qū)域141時,只要進(jìn)行同樣的地址解析即 可。在上述說明中,微型機(jī)塊110通過圖4中所示處理,生成存儲器 130中配置的程序映象134,但是也可以通過外部的計算機(jī)系統(tǒng)生成 程序映象134,并由微型機(jī)塊IIO執(zhí)行的專用寫入程序或調(diào)試軟件, 將程序映象134寫入存儲器130中。另外,在上述說明中,存儲器130以64位為單位進(jìn)行數(shù)據(jù)讀出 及寫入,但是存儲器130的構(gòu)成并不限定于此。存儲器130也可以以 字節(jié)為單位或以字為單位(以多字節(jié)為單位)進(jìn)行數(shù)據(jù)的讀出及寫入。另外,對于存儲器130中保持的規(guī)定大小的程序數(shù)據(jù)131的糾錯 碼132的大小,可以設(shè)定任意的大小。 (實(shí)施方式2)本發(fā)明的實(shí)施方式2所涉及的存儲器控制裝置,將來自微型機(jī)塊 的地址變換成考慮了保持糾錯碼區(qū)域的存儲器上的地址。這樣,微型 機(jī)塊可以與對普通存儲器進(jìn)行存取一樣對賦予了糾錯碼的數(shù)據(jù)進(jìn)行 存取。首先,說明本發(fā)明的實(shí)施方式2所涉及的存儲器控制裝置的構(gòu)成。圖6是表示具有本發(fā)明的實(shí)施方式2所涉及的存儲器控制裝置的 計算機(jī)系統(tǒng)的構(gòu)成圖。圖6中所示的計算機(jī)系統(tǒng)200,與圖3中所示 的實(shí)施方式1所涉及的計算機(jī)系統(tǒng)100相比,存儲器控制裝置220的 構(gòu)成不同,與圖3相同的部分加有相同的標(biāo)號,其詳細(xì)說明予以省略。存儲器控制裝置220,具有選擇器121、糾錯部222、及地址變 換部223。選擇器121,根據(jù)指令讀出信號124,選擇將從存儲器130讀出 的數(shù)據(jù)(程序數(shù)據(jù)131、糾錯碼132、及程序以外的數(shù)據(jù)133)是輸 出給糾錯部222、還是輸出給微型機(jī)塊IIO。具體地說,選擇器121, 當(dāng)指令讀出信號124有效時,將從存儲器130讀出的數(shù)據(jù)輸出給糾錯 部222。選擇器121,當(dāng)指令讀出信號124是無效時,將從存儲器130 讀出的數(shù)據(jù)不通過糾錯部222,而輸出給微型機(jī)塊IIO。糾錯部222,根據(jù)從存儲器130讀出的程序數(shù)據(jù)131及糾錯碼 132,對從存儲器130讀出的程序數(shù)據(jù)131進(jìn)行錯誤檢測及糾錯。糾 錯部222,將進(jìn)行了錯誤檢測及糾錯的程序數(shù)據(jù)輸出給微型機(jī)塊110。 糾錯部222,將糾錯碼132不輸出給微型機(jī)塊110。地址變換部223,根據(jù)規(guī)定的計算式,將從微型機(jī)塊110輸入的 存取請求地址224,變換成包含存放糾錯碼132的區(qū)域的存儲器130 上的存儲器地址225。地址變換部223由指令讀出信號124進(jìn)行控制。 具體地說,地址變換部223在指令讀出信號124有效時,根據(jù)規(guī)定的 計算式,將存取請求地址224變換成存儲器130上的存儲器地址225。 地址變換部223在指令讀出信號124無效時對存取請求地址224不變 換,輸出給存儲器130。圖7是表示地址變換部223的詳細(xì)構(gòu)成圖。地址變換部223,具有存儲器地址計算部226,存儲器地址計算 部226通過規(guī)定的計算式,從存取請求地址224向存儲器130上的存 儲器地址225進(jìn)行地址變換。圖8是模式化表示存儲器130的存儲器地址225和存取請求地址 224間關(guān)系的圖。在圖8中,存儲器130為64位數(shù)據(jù)寬度,對每64位的數(shù)據(jù)賦予 8位糾錯碼132。從而,存儲器地址225對存取請求地址224的每0x40 位錯開8位。這樣,存儲器地址計算部226通過下式(1)計算存儲 器地址225。ADDR=addr+(addr/0x40) X 8...... (1)此處,ADDR表示存儲器地址225, addr表示存取請求地址224。 而(addr/0x40)是addr除以0x40的商。另夕卜,0x40等的地址是以位 為單位的地址。例如,根據(jù)上式(1),當(dāng)存取請求地址224為0x40 時,存儲器地址225為0x48。根據(jù)存儲器130的數(shù)據(jù)寬度以及對每幾位的數(shù)據(jù)賦予糾錯碼 132,確定存儲器地址計算部226使用的計算式。圖9是模式化表示 數(shù)據(jù)寬度為32位,每32位的數(shù)據(jù)均賦予8位的糾錯碼132時的存儲 器130的存儲器地址225與存取請求地址224間關(guān)系的圖。例如,如 圖9中所示,存儲器130的數(shù)據(jù)寬度為32位,每32位的數(shù)據(jù)賦予8 位的糾錯碼132時,存儲器地址225在存取請求地址224的每0x20 位錯開8位。從而,由存儲器地址計算部226執(zhí)行的計算式為下式(2)。ADDR-addr十(addr/0x20) X8...... (2)艮P,即使存儲器130的數(shù)據(jù)總線寬度變化,同樣也可以計算出存 儲器地址225。在上述說明中,作為存取請求地址224及存儲器地址225采用了 以位為單位的地址,但是也可以是以字節(jié)為單位或以多字節(jié)為單位 (以字為單位)等的地址。下面,說明從存儲器130讀出程序數(shù)據(jù)131的動作。假設(shè)存取請 求地址224為0x40。首先,微型機(jī)塊110,對存儲器控制裝置220輸出程序數(shù)據(jù)131 的讀出指令。微型機(jī)塊110輸出0x40,作為程序數(shù)據(jù)131的地址一 一即存取請求地址224。微型機(jī)塊110使指令讀出信號124為有效。地址變換部223,由于指令讀出信號124是有效的,所以將存取 請求地址224變換成存儲器130上的存儲器地址225。存儲器地址計 算部226通過上式(1)變換存取請求地址224,計算0x48作為存儲器地址225 。存儲器控制裝置220讀出計算出的存儲器地址225( 0x48 ) 的程序數(shù)據(jù)131。另外,存儲器控制裝置220讀出對應(yīng)于讀出的程序 數(shù)據(jù)131的糾錯碼132 (例如,存儲器地址225讀出0x88的數(shù)據(jù))。選擇器121,由于指令讀出信號124是有效的,所以將讀出的程 序數(shù)據(jù)131及糾錯碼132輸出給糾錯部222。糾錯部222,根據(jù)程序數(shù)據(jù)131及糾錯碼132,對程序數(shù)據(jù)131 進(jìn)行錯誤檢測及糾錯。糾錯部222,將進(jìn)行了錯誤檢測及糾錯的程序 數(shù)據(jù)輸出給微型機(jī)塊IIO。通過以上的步驟,從存儲器130讀出程序數(shù)據(jù)131。另外,當(dāng)發(fā) 生了錯誤時,讀出由糾錯部222進(jìn)行了糾錯的程序數(shù)據(jù)131。下面,說明從存儲器130讀出程序以外的數(shù)據(jù)133的動作。微型機(jī)塊110,對存儲器控制裝置220發(fā)出程序以外的數(shù)據(jù)133 的讀出指令。微型機(jī)塊IIO,使指令讀出信號124無效。存儲器地址計算部226,由于指令讀出信號124是無效的,所以 對存取請求地址224不進(jìn)行變換。存儲器控制裝置220以存取請求地 址224為存儲器地址225讀出程序以外的數(shù)據(jù)133。選擇器121,由于指令讀出信號124是無效的,所以將讀出的程 序以外的數(shù)據(jù)133輸出給微型機(jī)塊110。通過以上的步驟,從存儲器 130讀出程序以外的數(shù)據(jù)133。下面,說明將程序數(shù)據(jù)131寫入存儲器130的動作。假設(shè)存取請 求地址224為0x40。首先,微型機(jī)塊IIO對存儲器控制裝置220輸出程序數(shù)據(jù)131的 寫入指令。微型機(jī)塊110輸出0x40,作為寫入程序數(shù)據(jù)131的地址 ——即存取請求地址224。微型機(jī)塊110使指令讀出信號124有效。地址變換部223,由于指令讀出信號124是有效的,所以將存取 請求地址224變換成存儲器130上的存儲器地址225。存儲器地址計 算部226通過上式(1)變換存取請求地址224,計算0x48作為存儲 器地址225 。存儲器控制裝置220讀出在算出的存儲器地址225 ( 0x48 ) 的數(shù)據(jù)寫入前的程序數(shù)據(jù)Bl。存儲器控制裝置220,根據(jù)讀出的程 序數(shù)據(jù)(例如64位)、及接受了寫入指令的程序數(shù)據(jù)(例如8位),計算出存儲器130中寫入的程序數(shù)據(jù)(例如64位)及糾錯碼132 (例 如8位)。存儲器控制裝置220將算出的程序數(shù)據(jù)131及糾錯碼132 寫入存儲器130。通過以上步驟,賦予了糾錯碼132的程序數(shù)據(jù)131 寫入存儲器130。關(guān)于寫入的糾錯碼132的生成,將在下述的實(shí)施方 式3中說明。下面,說明將程序以外的數(shù)據(jù)133寫入存儲器130的動作。微型機(jī)塊110,對存儲器控制裝置220發(fā)出程序以外的數(shù)據(jù)133 的寫入指令。微型機(jī)塊IIO,使指令讀出信號124無效。存儲器地址計算部226,由于指令讀出信號124是無效的,所以 不變換存取請求地址224。存儲器控制裝置220以存取請求地址224 為存儲器地址225,將程序以外的數(shù)據(jù)133寫入存儲器130。通過以 上步驟,未賦予糾錯碼132的程序以外的數(shù)據(jù)133寫入存儲器130中。以上,本發(fā)明的實(shí)施方式2所涉及的計算機(jī)系統(tǒng)200,從微型機(jī) 塊IIO對未進(jìn)行包括糾錯碼132區(qū)域的地址解析的程序映象234進(jìn)行 存取時,通過地址變換部223進(jìn)行糾錯碼132區(qū)域部分的地址校正。 這樣,微型機(jī)塊110可以不考慮糾錯碼132的區(qū)域部分,對程序數(shù)據(jù) Bl進(jìn)行存取。從而可以減少微型機(jī)塊110中的處理量。另外,本發(fā)明的實(shí)施方式2所涉及的計算機(jī)系統(tǒng)200,只在由微 型機(jī)塊110進(jìn)行指令讀出時,由地址變換部223進(jìn)行地址變換及由糾 錯部222進(jìn)行錯誤檢測及糾錯。從而,可以只對程序數(shù)據(jù)131賦予糾 錯碼132并存放在存儲器130中。另外,本發(fā)明的實(shí)施方式2所涉及的計算機(jī)系統(tǒng)200,只對需要 高可靠性的程序數(shù)據(jù)131賦予糾錯碼132,寫入存儲器130。而對于 視頻數(shù)據(jù)及音頻數(shù)據(jù)等不需糾錯碼的程序以外的數(shù)據(jù)133不賦予糾 錯碼,寫入存儲器130中。這樣,可以削減對程序以外的數(shù)據(jù)133的 糾錯碼的數(shù)據(jù)區(qū)域,與對存儲器的全部數(shù)據(jù)賦予多余校正碼的情況相 比,可以削減存儲器容量。 (實(shí)施方式3)本發(fā)明的實(shí)施方式3所涉及的存儲器控制裝置,根據(jù)來自微型機(jī) 塊的地址,判斷進(jìn)行寫入或讀出的數(shù)據(jù),是附加了糾錯碼的數(shù)據(jù)、還是未附加糾錯碼的數(shù)據(jù)。這樣,微型機(jī)塊通過只指定地址,就可以指 定附加或不附糾錯碼,在存儲器中保持?jǐn)?shù)據(jù)。首先,說明本發(fā)明的實(shí)施方式3所涉及的存儲器控制裝置的構(gòu)成。圖10是表示具有本發(fā)明的實(shí)施方式3所涉及的存儲器控制裝置 的計算機(jī)系統(tǒng)的構(gòu)成圖。圖10中所示的計算機(jī)系統(tǒng)300,與圖6中 所示的實(shí)施方式2所涉及的計算機(jī)系統(tǒng)200相比,存儲器控制裝置 320的構(gòu)成不同,與圖5相同的部分加有相同的標(biāo)號,其詳細(xì)說明予 以省略。存儲器控制裝置320,包括選擇器121、糾錯部222、地址變 換部223、糾錯碼生成部321,第2選擇器322,地址存儲部323,及 區(qū)域判斷部324。糾錯碼生成部321,對從微型機(jī)塊110輸入的寫入數(shù)據(jù),生成糾錯碼。地址存儲部323,將存儲器130上的邊界地址331作為固定值進(jìn) 行保持。邊界地址331,是用于決定存放附加了糾錯碼132的數(shù)據(jù)的 區(qū)域的地址范圍的值。例如,如圖10中所示,在存儲器130中,將 比邊界地址331的值小的地址作為存放附加了糾錯碼132的數(shù)據(jù)的有 ECC區(qū)域,而將比邊界地址331的值大的地址作為存放未附加糾錯 碼B2的數(shù)據(jù)的無ECC區(qū)域。區(qū)域判斷部324,根據(jù)地址存儲部323保持的邊界地址331,判 斷從微型機(jī)塊110輸入的存取請求地址224,是否包含在地址存儲部 323保持的存放附加了糾錯碼132的數(shù)據(jù)的地址范圍內(nèi),具體地說, 區(qū)域判斷部324,對來自微型機(jī)塊110的存取請求地址224與地址存 儲部323保持的邊界地址331進(jìn)行比較,判斷存取請求地址224是否 包含在地址存儲部323保持的地址范圍內(nèi)。區(qū)域判斷部324將判斷結(jié) 果作為區(qū)域判斷信號325輸出。地址變換部223、選擇器121及第2 選擇器322,通過區(qū)域判斷部324輸出的區(qū)域判斷信號325進(jìn)行控制。第2選擇器322,根據(jù)區(qū)域判斷部324輸出的區(qū)域判斷信號325, 將從微型機(jī)塊110輸入的寫入數(shù)據(jù)輸出給糾錯碼生成部321或存儲器130。具體地說,第2選擇器322,當(dāng)通過區(qū)域判斷部324判斷為存 取請求地址224包含在存放附加了糾錯碼132的數(shù)據(jù)的地址范圍內(nèi) 時,將從微型機(jī)塊110輸入的寫入數(shù)據(jù)輸出給糾錯碼生成部321。第 2選擇器322,當(dāng)通過區(qū)域判斷部324判斷為存取請求地址224不包 含在存放附加了糾錯碼132的數(shù)據(jù)的地址范圍內(nèi)時,將從微型機(jī)塊 IIO輸入的寫入數(shù)據(jù),不通過糾錯碼生成部321,而輸出給存儲器130。地址變換部223,當(dāng)由區(qū)域判斷部324判斷為存取請求地址224 包含在存放附加了糾錯碼132的數(shù)據(jù)的地址范圍內(nèi)時,將來自微型機(jī) 塊110的存取請求地址224變換為包含存放了糾錯碼132的存儲器 130上的存儲器地址225,并輸出給存儲器130。地址變換部223,當(dāng) 由區(qū)域判斷部324判斷為存取請求地址224不包含在存放附加了糾錯 碼132的數(shù)據(jù)的地址范圍內(nèi)時,不變換來自微型機(jī)塊110的存取請求 地址224,而將其作為存儲器地址225,輸出給存儲器130。選擇器121,當(dāng)由區(qū)域判斷部324判斷為存取請求地址224包含 在存放附加了糾錯碼132的數(shù)據(jù)的地址范圍內(nèi)時,將來自存儲器130 的讀出數(shù)據(jù)輸出給糾錯部222。選擇器121,當(dāng)由區(qū)域判斷部324判 斷為存取請求地址224不包含在存放附加了糾錯碼132的數(shù)據(jù)的地址 范圍內(nèi)時,將來自存儲器130的讀出數(shù)據(jù),不通過糾錯部222,而輸 出給微型機(jī)塊IIO。下面,說明計算機(jī)系統(tǒng)300的動作。首先,說明從存儲器130讀出程序數(shù)據(jù)131的動作(讀出有ECC 區(qū)域的數(shù)據(jù)的動作)。首先,微型機(jī)塊110,對存儲器控制裝置320輸出程序數(shù)據(jù)131 的讀出指令。微型機(jī)塊110輸出比邊界地址331小的地址,作為讀出 的程序數(shù)據(jù)131的地址——即存取請求地址224。區(qū)域判斷部324,對存取請求地址224和地址存儲部323保持的 邊界地址331進(jìn)行比較。此處,存取請求地址224由于比邊界地址 331小,所以區(qū)域判斷部324輸出表示存取請求地址224比邊界地址 331小的邏輯(例如、有效)的區(qū)域判斷信號325。存儲器地址計算部226,由于區(qū)域判斷信號325是有效的,所以將存取請求地址224變換成存儲器130上的存儲器地址225。存儲器 控制裝置320讀出變換后的存儲器地址225的程序數(shù)據(jù)131,及對應(yīng) 的糾錯碼132。地址變換的處理,與實(shí)施方式2相同,其詳細(xì)說明予 以省略。選擇器121,由于區(qū)域判斷信號325是有效的,所以將讀出的程 序數(shù)據(jù)131及糾錯碼132輸出給糾錯部222。糾錯部222,根據(jù)讀出 的程序數(shù)據(jù)131及糾錯碼132,對讀出的程序數(shù)據(jù)131進(jìn)行錯誤檢測 及糾錯。糾錯部222,將進(jìn)行了錯誤檢測及糾錯的程序數(shù)據(jù)131輸出 給微型機(jī)塊IIO。通過以上的步驟,從存儲器130讀出程序數(shù)據(jù)131。當(dāng)發(fā)生錯誤 時,可讀出由糾錯部122進(jìn)行了糾錯的程序數(shù)據(jù)131。下面,對從存儲器130讀出程序以外的數(shù)據(jù)133的動作(讀出無 ECC區(qū)域的數(shù)據(jù)的動作)進(jìn)行說明。微型機(jī)塊110,對存儲器控制裝置320輸出程序以外的數(shù)據(jù)133 的讀出指令。另外,微型機(jī)塊110輸出比邊界地址331大的地址作為 程序以外的數(shù)據(jù)133的地址——即存取請求地址224。區(qū)域判斷部324,對存取請求地址224和地址存儲部323保持的 邊界地址331進(jìn)行比較。此處,由于存取請求地址224比邊界地址 331大,所以區(qū)域判斷部324輸出表示存取請求地址224比邊界地址 331大的邏輯(例如,無效)的區(qū)域判斷信號325。存儲器地址計算部226,由于區(qū)域判斷信號325是無效的,所以 不變換存取請求地址224。存儲器控制裝置320以存取請求地址224 為存儲器地址,讀出程序以外的數(shù)據(jù)133。選擇器121,由于區(qū)域判斷信號325是無效的,所以將讀出的程 序以外的數(shù)據(jù)133輸出給微型機(jī)塊110。通過以上的步驟,可從存儲 器130讀出程序以外的數(shù)據(jù)133。下面說明將程序數(shù)據(jù)131寫入存儲器130的動作(將數(shù)據(jù)寫入有 ECC區(qū)域的動作)。首先,微型機(jī)塊110對存儲器控制裝置320輸出程序數(shù)據(jù)131的 寫入指令。微型機(jī)塊IIO,輸出比邊界地址331小的地址,作為寫入程序數(shù)據(jù)131的地址——即存取請求地址224。區(qū)域判斷部324,對存取請求地址224和地址存儲部323保持的 邊界地址331進(jìn)行比較。此處,由于存取請求地址224比邊界地址 331小,所以區(qū)域判斷部324輸出表示存取請求地址224比邊界地址 331小的邏輯(例如,有效)的區(qū)域判斷信號325。存儲器地址計算部226,由于區(qū)域判斷信號325是有效的,所以 將存取請求地址224變換為存儲器130上的存儲器地址225。第2選擇器322,由于區(qū)域判斷信號325是有效的,所以將來自 微型機(jī)塊110的寫入程序數(shù)據(jù)131輸出給糾錯碼生成部321。糾錯碼 生成部321從寫入的程序數(shù)據(jù)131生成糾錯碼132。存儲器控制裝置320,在變換后的存儲器地址225中,寫入來自 微型機(jī)塊110的程序數(shù)據(jù)131及糾錯碼生成部321生成的糾錯碼132。 通過以上步驟,在存儲器130中寫入賦予了糾錯碼132的程序數(shù)據(jù) 131。下面,對將程序以外的數(shù)據(jù)133寫入存儲器130的動作(在無 ECC區(qū)域?qū)懭霐?shù)據(jù)的動作)進(jìn)行說明。微型機(jī)塊110,對存儲器控制裝置320輸出程序以外的數(shù)據(jù)133 的寫入指令。另外,微型機(jī)塊110輸出比邊界地址331大的地址作為 寫入數(shù)據(jù)133的地址——即存取請求地址224。區(qū)域判斷部324,對存取請求地址224和地址存儲部323保持的 邊界地址331進(jìn)行比較。此處,由于存取請求地址224比邊界地址 331大,所以區(qū)域判斷部324輸出表示存取請求地址224比邊界地址 331大的邏輯(例如,無效)的區(qū)域判斷信號325。存儲器地址計算部226,由于區(qū)域判斷信號325是無效的,所以 不變換存取請求地址224。第2選擇器322,由于區(qū)域判斷信號325 是無效的,所以將來自微型機(jī)塊110的寫入數(shù)據(jù)133輸出給存儲器 130。存儲器控制裝置320,以來自微型機(jī)塊110的存取請求地址224 為存儲器地址225,寫入來自微型機(jī)塊110的程序以外的數(shù)據(jù)133。 通過以上的步驟,在存儲器130中寫入未賦予糾錯碼132的程序以外的數(shù)據(jù)133。以上,本發(fā)明的實(shí)施方式3所涉及的計算機(jī)系統(tǒng)300,當(dāng)存取請 求地址224處于有ECC區(qū)域的地址范圍內(nèi)時進(jìn)行數(shù)據(jù)讀出時,通過 地址變換部223進(jìn)行地址變換,由糾錯部222進(jìn)行錯誤檢測及校正。 另外,計算機(jī)系統(tǒng)300,當(dāng)存取請求地址224處于有ECC區(qū)域的地 址范圍內(nèi)時進(jìn)行數(shù)據(jù)寫入時,通過地址變換部223進(jìn)行地址變換,通 過糾錯碼生成部321生成糾錯碼132。這樣,不僅對上述的實(shí)施方式 1及2所示的程序映像,而且可以對程序的堆棧數(shù)據(jù)等對系統(tǒng)動作有 影響的重要數(shù)據(jù)也附加糾錯碼132,存放在存儲器130中。從而,通 過糾錯碼132保護(hù)對系統(tǒng)動作有影響的重要數(shù)據(jù),可以提高系統(tǒng)的堅 固性。另外,由于可以使應(yīng)附加糾錯碼132的區(qū)域控制在存儲器130 內(nèi)的規(guī)定地址范圍內(nèi),所以可以削減存儲器的容量。另外,本發(fā)明的實(shí)施方式3所涉及的計算機(jī)系統(tǒng)300,具有保持 用于決定有ECC區(qū)域的地址范圍的值的地址存儲部323。這樣,可 以按每個系統(tǒng)自由設(shè)定在存儲器130內(nèi)存放賦予了糾錯碼132的數(shù)據(jù) 的地址范圍,可以應(yīng)用在各種裝置中。在上述說明中,決定了一個邊界地址331,并假定在存取請求地 址224比邊界地址331小時,在有ECC區(qū)域的地址范圍內(nèi)。但是也 可以假定在存取請求地址224比邊界地址331大時,在有ECC區(qū)域 的地址范圍內(nèi)。另外,也可以是2個邊界地址331,使由2個邊界地 址331夾著的地址區(qū)域為有ECC區(qū)域的地址范圍。還可以是3個以 上邊界地址331,指定更細(xì)的有ECC區(qū)域的地址范圍。在上述說明中,地址存儲部323將邊界地址331作為固定值進(jìn)行 保持,但是也可以在用戶側(cè)任意設(shè)定地址存儲部323中保持的邊界地 址331。 B即,地址存儲部323也可以保持從外部輸入的邊界地址331。 (實(shí)施方式4)本發(fā)明的實(shí)施方式4所涉及的存儲器控制裝置,在從調(diào)試軟件讀 出時,將糾錯碼及程序數(shù)據(jù)輸出給調(diào)試軟件。這樣,調(diào)試軟件可以根 據(jù)糾錯碼及程序數(shù)據(jù)進(jìn)行錯誤檢測及糾錯,并進(jìn)行調(diào)試。圖11是表示具有本發(fā)明的實(shí)施方式4所涉及的存儲器控制裝置的計算機(jī)系統(tǒng)的構(gòu)成圖。圖11中所示的計算機(jī)系統(tǒng)400,與圖6中 所示的實(shí)施方式2的計算機(jī)系統(tǒng)200的不同點(diǎn)是微型機(jī)塊410的構(gòu) 成、及具有PC (個人計算機(jī))440。與圖6相同的部分加有相同標(biāo)號, 其詳細(xì)說明予以省略。微型機(jī)塊410,包括總線控制單元111、微型機(jī)核心112及DMA 控制裝置(Direct Memory Access Controller: DMAC(直接存儲器存取 控制器))411。DMA控制裝置411,與微型機(jī)核心112—樣,通過總線控制單 元111讀出存儲器130保持的數(shù)據(jù)。DMA控制裝置411將讀出的程 序數(shù)據(jù)131及糾錯碼132輸出給PC440。在計算機(jī)系統(tǒng)400中,存儲器控制裝置220根據(jù)微型機(jī)核心112 及DMA控制裝置411輸出的指令,從存儲器130讀出包含糾錯碼132 的數(shù)據(jù)。PC440具有調(diào)試軟件441。調(diào)試軟件441經(jīng)過調(diào)試單元(圖中未 示出),與微型機(jī)塊410相連接。調(diào)試軟件441通過DMA控制裝置 411從存儲器130進(jìn)行讀出,對存儲器130保持的數(shù)據(jù)進(jìn)行調(diào)試。另 外,調(diào)試軟件441根據(jù)讀出的程序數(shù)據(jù)131及糾錯碼132,對讀出的 程序數(shù)據(jù)131進(jìn)行錯誤檢測及糾錯。選擇器121,當(dāng)從DMA控制裝置411讀出時,將從存儲器130 讀出的程序數(shù)據(jù)131及糾錯碼132,不通過糾錯部222,而輸出給微 型機(jī)塊410的DMA控制裝置411 。根據(jù)以上的構(gòu)成,調(diào)試軟件441可以不通過DMA控制裝置411 及存儲器控制裝置320,讀出存儲器130保持的程序數(shù)據(jù)131及糾錯 碼132。另外,DMA控制裝置411根據(jù)讀出的程序數(shù)據(jù)131及糾錯 碼132,對讀出的程序數(shù)據(jù)131進(jìn)行錯誤檢測及糾錯。以上,本發(fā)明的實(shí)施方式4所涉及的計算機(jī)系統(tǒng)400,當(dāng)通過 PC440上的調(diào)試軟件441讀出存儲器130保持的數(shù)據(jù)時,由調(diào)試軟件 441進(jìn)行程序數(shù)據(jù)131的錯誤檢測及糾錯。這樣,即使在存儲器控制 裝置220中不增加硬件,也可以由調(diào)試軟件441對存儲器130的程序 數(shù)據(jù)131進(jìn)行無錯誤地轉(zhuǎn)儲(夕'yy),進(jìn)行調(diào)試。(實(shí)施方式5)本發(fā)明的實(shí)施方式5所涉及的存儲器控制裝置,在從調(diào)試軟件讀 出時,進(jìn)行錯誤檢測及糾錯,只將程序數(shù)據(jù)輸出給調(diào)試軟件。這樣, 也可以不用調(diào)試軟件進(jìn)行錯誤檢測及糾錯。圖12是表示具有本發(fā)明的實(shí)施方式5所涉及的存儲器控制裝置 的計算機(jī)系統(tǒng)的構(gòu)成圖。圖12中所示的計算機(jī)系統(tǒng)500,與圖11中 所示的實(shí)施方式4的計算機(jī)系統(tǒng)400的不同點(diǎn)是PC440具有的調(diào)試 軟件541及微型機(jī)塊410具有的DMA控制裝置511的構(gòu)成,以及存 儲器控制裝置220的選擇器121及地址變換部223的控制方法。與圖 ll相同的部分加有相同標(biāo)號,其詳細(xì)說明予以省略。DMA控制裝置511,與微型機(jī)核心112 —樣通過總線控制單元 111讀出存儲器130保持的數(shù)據(jù)。另外,DMA控制裝置511在從DMA 控制裝置511讀出存儲器130中保持的數(shù)據(jù)時,生成有效的DMA讀 出信號510,而在從DMA控制裝置511讀出存儲器130中保持的數(shù) 據(jù)之外,生成無效的DMA讀出信號510。在計算機(jī)系統(tǒng)500中,存儲器控制裝置220根據(jù)微型機(jī)核心112 及DMA控制裝置511輸出的指令,從存儲器130讀出包含糾錯碼132 的數(shù)據(jù)。調(diào)試軟件541,經(jīng)過調(diào)試單元(圖中未示出),與微型機(jī)塊410 相連接。調(diào)試軟件541通過DMA控制裝置511,從存儲器130進(jìn)行 讀出,并對存儲器130保持的數(shù)據(jù)進(jìn)行調(diào)試。選擇器121,當(dāng)來自DMA控制裝置511的DMA讀出信號510 及指令讀出信號124中的至少一方為有效時,將從存儲器130讀出的 程序數(shù)據(jù)131及糾錯碼132輸出給糾錯部222。選擇器121,當(dāng)DMA 讀出信號510及指令讀出信號124都是無效時,將從存儲器130讀出 的程序數(shù)據(jù)不通過糾錯部222,而輸出給微型機(jī)塊410。地址變換部223,當(dāng)DMA讀出信號510及指令讀出信號124中 的至少一方為有效時,將來自微型機(jī)塊410的存取請求地址224變換 成存儲器130上的存儲器地址225,輸出給存儲器130。地址變換部 223,當(dāng)DMA讀出信號510及指令讀出信號124都是無效時,對來自微型機(jī)塊110的存取請求地址224不進(jìn)行變換,而作為存儲器地址 225輸出給存儲器130。根據(jù)以上的構(gòu)成,通過PC440上的調(diào)試軟件541讀出存儲器130 保持的數(shù)據(jù)時,DMA控制裝置511使DMA讀出信號510有效。由 此,地址變換部223將存取請求地址224變換成存儲器130上的存儲 器地址225。存儲器控制裝置220,讀出變換后的存儲器地址225的 程序數(shù)據(jù)131及糾錯碼132。選擇器121將讀出的程序數(shù)據(jù)131及糾 錯碼132輸出給糾錯部222。糾錯部222,根據(jù)讀出的程序數(shù)據(jù)131 及糾錯碼132,進(jìn)行程序數(shù)據(jù)131的錯誤檢測及糾錯。糾錯部222, 將進(jìn)行了錯誤檢測及糾錯的程序數(shù)據(jù)131輸出給微型機(jī)塊410。DMA 控制裝置511通過總線控制單元111取得來自糾錯部222的進(jìn)行了錯 誤檢測及糾錯的程序數(shù)據(jù)131,輸出給調(diào)試軟件541。通過以上步驟, 進(jìn)行了錯誤檢測及糾錯的程序數(shù)據(jù)131輸出給調(diào)試軟件541。在上述的實(shí)施方式2所涉及的計算機(jī)系統(tǒng)200中,選擇了是只由 指令讀出信號124的控制將從存儲器130讀出的數(shù)據(jù)輸出給糾錯部 222、還是直接輸出給微型機(jī)塊110。從而,當(dāng)從調(diào)試軟件541讀出 存儲器130保持的數(shù)據(jù)時,可讀出程序數(shù)據(jù)131及糾錯碼132。對于 想對程序進(jìn)行調(diào)試的用戶來說,糾錯碼132是不需要的數(shù)據(jù)。另一方 面,實(shí)施方式5所涉及的計算機(jī)系統(tǒng)500,選擇器121及地址變換部 223通過指令讀出信號124及DMA讀出信號510進(jìn)行控制。從而, 當(dāng)從調(diào)試軟件541讀出存儲器130保持的數(shù)據(jù)時,可讀出經(jīng)過錯誤檢 測及糾錯后的程序數(shù)據(jù)131。以上,本發(fā)明的實(shí)施方式5所涉及的計算機(jī)系統(tǒng)500,即使從調(diào) 試軟件541讀出存儲器130的內(nèi)容,也可以與普通的存儲器(無ECC 的存儲器) 一樣只讀出程序數(shù)據(jù)。另外,由于存儲器控制裝置220進(jìn) 行錯誤檢測及糾錯,所以沒必要在調(diào)試軟件541上進(jìn)行錯誤檢測及糾 錯的處理。(實(shí)施方式6)本發(fā)明的實(shí)施方式6所涉及的存儲器控制裝置,當(dāng)在存儲器保持 的程序數(shù)據(jù)中檢測出錯誤時,通過控制總線控制單元,變更參照程序數(shù)據(jù)的存儲器。這樣,微型機(jī)塊,在發(fā)生錯誤時,可以從其他存儲器 讀出程序數(shù)據(jù)。圖13是表示具有本發(fā)明的實(shí)施方式6所涉及的存儲器控制裝置 的計算機(jī)系統(tǒng)的構(gòu)成圖。圖13中所示的計算機(jī)系統(tǒng)600,與圖6中 所示的實(shí)施方式2的計算機(jī)系統(tǒng)200的不同點(diǎn)是存儲器控制裝置620 及微型機(jī)塊610的構(gòu)成,以及具有系統(tǒng)總線614及程序ROM615。與 圖6相同的部分加有相同標(biāo)號,其詳細(xì)說明予以省略。微型機(jī)塊610,包括總線控制單元611、微型機(jī)核心112、及系 統(tǒng)總線控制器(System Bus Controller: SBC) 612。系統(tǒng)總線控制器612對系統(tǒng)總線614進(jìn)行控制。程序ROM 615 配置在系統(tǒng)總線614上。總線控制單元611,將通過CI總線116及CD總線117發(fā)出的來 自微型機(jī)核心112的存取請求,分配給存儲器控制裝置620、或系統(tǒng) 總線控制器612。具體地說,總線控制單元611根據(jù)來自CI總線116 及CD總線117的存取請求的地址值,將存取請求分配給存儲器控制 裝置620、或系統(tǒng)總線控制器612??偩€控制單元611具有總線控制 寄存器613??偩€控制寄存器613保持用于決定總線控制單元611的 存取請求的分配目的地的信息。存儲器控制裝置620,包括選擇器121、糾錯部622、地址變換 部223、及寄存器設(shè)定變更部624。糾錯部622,根據(jù)從存儲器130讀出的程序數(shù)據(jù)131及糾錯碼 132,對從存儲器130讀出的程序數(shù)據(jù)131進(jìn)行錯誤檢測及糾錯。糾 錯部622當(dāng)在數(shù)據(jù)中檢測出錯誤時使錯誤檢測信號625為有效。寄存器設(shè)定變更部624,當(dāng)錯誤檢測信號625變?yōu)橛行r(糾錯 部622檢測出錯誤時),變更總線控制寄存器613保持的信息。具體 地說,寄存器設(shè)定變更部624,將總線控制寄存器613中保持的存儲 器130的地址,變更為系統(tǒng)總線控制器612的地址。這樣,總線控制 單元611,使本來對存儲器130進(jìn)行的來自CI總線116或CD總線 117的存取請求,變?yōu)閷ο到y(tǒng)總線控制器612進(jìn)行。如上所述,本發(fā)明的實(shí)施方式6所涉及的存儲器控制裝置600,當(dāng)糾錯部622檢測出存儲器130上的程序數(shù)據(jù)131錯誤時,可變更總 線控制寄存器613的設(shè)定。這樣,對存儲器130的存取轉(zhuǎn)到對系統(tǒng)總 線控制器612。這樣,在系統(tǒng)總線614上配置程序ROM615,不使用 發(fā)生了錯誤的存儲器,而使用程序ROM615的數(shù)據(jù)就可以繼續(xù)系統(tǒng) 的動作。從而可以提高計算機(jī)系統(tǒng)600的堅固性。 (實(shí)施方式7)本發(fā)明的實(shí)施方式7所涉及的存儲器控制裝置,當(dāng)在存儲器保持 的程序數(shù)據(jù)中檢測出錯誤時,通過控制CPU核心,變更參照程序數(shù) 據(jù)的存儲器。這樣,微型機(jī)塊,在發(fā)生錯誤時,可以從其他存儲器讀 出程序數(shù)據(jù)。圖14是表示具有本發(fā)明的實(shí)施方式7所涉及的存儲器控制裝置 的計算機(jī)系統(tǒng)的構(gòu)成圖。圖14中所示的計算機(jī)系統(tǒng)700,與圖13中 所示的實(shí)施方式6的計算機(jī)系統(tǒng)600的不同點(diǎn)是微型機(jī)塊710的CPU 核心715的構(gòu)成、及存儲器控制裝置620的寄存器設(shè)定變更部724的 構(gòu)成。與圖13相同的部分加有相同標(biāo)號,其詳細(xì)說明予以省略。微型機(jī)塊710,包括總線控制單元111、及微型機(jī)核心712。微 型機(jī)核心712包括指令高速緩沖存儲器113、數(shù)據(jù)高速緩沖存儲器 114、及CPU核心715。 CPU核心715具有陷阱基址寄存器(TBR) 716。陷阱基址寄存器716是保持表示程序配置場所的信息的寄存器, 具體地說,陷阱基址寄存器716保持表示中斷處理程序的地址的中斷 向量的配置場所的信息。此處所謂中斷處理程序(handler),是用于 在CPU核心715的處理中發(fā)生中斷時,中斷當(dāng)前執(zhí)行中的處理,進(jìn) 行中斷處理而進(jìn)行分支的特殊程序。通常時,為了在存儲器130上配 置中斷向量,在陷阱基址寄存器716中,設(shè)定表示系統(tǒng)起動時存儲器 130上地址的信息。寄存器設(shè)定變更部724,當(dāng)錯誤檢測信號625變成有效時(糾錯 部622檢測出錯誤時),變更陷阱基址寄存器716保持的信息。具體 地說,寄存器設(shè)定變更部724當(dāng)錯誤檢測信號625為有效時,將陷阱 基址寄存器716的設(shè)定變更為系統(tǒng)總線上的程序ROM等的地址。如上所述,本發(fā)明的實(shí)施方式7所涉及的計算機(jī)系統(tǒng)700,當(dāng)糾 錯部622檢測出錯誤,且發(fā)生錯誤中斷時,變更陷阱基址寄存器716 的值。這樣,微型機(jī)塊710,可以在不使用發(fā)生錯誤的存儲器130的 情況下執(zhí)行中斷處理。從而可以提高計算機(jī)系統(tǒng)700的堅固性。 (產(chǎn)業(yè)應(yīng)用性)本發(fā)明可以適用于存儲器控制裝置,特別是可以適用于對從存儲 器讀出的數(shù)據(jù)進(jìn)行糾錯的DVD記錄器等數(shù)據(jù)再現(xiàn)記錄裝置中。
權(quán)利要求
1、一種存儲器控制裝置,從存儲器讀出包括糾錯碼的數(shù)據(jù),其特征在于,包括糾錯單元,根據(jù)上述糾錯碼,對上述數(shù)據(jù)進(jìn)行錯誤檢測及糾錯,并將進(jìn)行了錯誤檢測及糾錯的數(shù)據(jù)輸出給外部;以及選擇器,選擇是將從上述存儲器讀出的上述數(shù)據(jù)輸出給上述糾錯單元、還是將從上述存儲器讀出的上述數(shù)據(jù)輸出給外部。
2、 如權(quán)利要求1所述的存儲器控制裝置,其特征在于 上述存儲器控制裝置,根據(jù)來自具有CPU的微型機(jī)塊的指令,從存儲器讀出包括糾錯碼的數(shù)據(jù); 上述存儲器控制裝置還包括指令置換單元,將上述糾錯碼置換成與上述CPU的動作無關(guān)的 指令并輸出給外部。
3、 如權(quán)利要求1所述的存儲器控制裝置,其特征在于: 上述存儲器控制裝置還包括地址變換單元,將從外部輸入的地址,變換成包括存放上述糾錯 碼的區(qū)域的上述存儲器上的地址。
4、 如權(quán)利要求3所述的存儲器控制裝置,其特征在于 上述存儲器控制裝置,根據(jù)來自具有CPU的微型機(jī)塊的指令,從存儲器讀出包括糾錯碼的數(shù)據(jù);上述選擇器,在從上述微型機(jī)塊讀出程序數(shù)據(jù)時成為第1邏輯的 指令讀出信號是上述第1邏輯的情況下,將從上述存儲器讀出的上述 數(shù)據(jù)輸出給上述糾錯單元,而在上述指令讀出信號不是上述第1邏輯 的情況下,將從上述存儲器讀出的上述數(shù)據(jù)輸出給上述微型機(jī)塊;上述地址變換單元,當(dāng)上述指令讀出信號是上述第1邏輯時,將 從上述微型機(jī)塊輸入的地址變換成包括存放上述糾錯碼的區(qū)域的上 述存儲器上的地址。
5、 如權(quán)利要求3所述的存儲器控制裝置,其特征在于 上述存儲器控制裝置還包括糾錯碼生成單元,對從外部輸入的數(shù)據(jù),生成糾錯碼;地址判斷單元,判斷從外部輸入的地址是否包含在規(guī)定的地址范圍內(nèi);以及第2選擇器,當(dāng)通過上述地址判斷單元判斷為從外部輸入的地址 包含在上述規(guī)定的地址范圍內(nèi)時,將從外部輸入的數(shù)據(jù)輸出給上述糾 錯碼生成單元,而當(dāng)通過上述地址判斷單元判斷為從外部輸入的地址 不包含在上述規(guī)定的地址范圍內(nèi)時,將上述數(shù)據(jù)輸出給上述存儲器;上述選擇器,當(dāng)通過上述地址判斷單元判斷為從外部輸入的地址 包含在上述規(guī)定的地址范圍內(nèi)時,將從上述存儲器讀出的上述數(shù)據(jù)輸 出給上述糾錯單元,而當(dāng)通過上述地址判斷單元判斷為從外部輸入的 地址不包含在上述規(guī)定的地址范圍內(nèi)時,將從上述存儲器讀出的上述 數(shù)據(jù)輸出給外部;上述地址變換單元,當(dāng)通過上述地址判斷單元判斷為從外部輸入 的地址包含在上述規(guī)定的地址范圍內(nèi)時,將從外部輸入的地址變換成 包括存放上述糾錯碼的區(qū)域的上述存儲器上的地址。
6、 如權(quán)利要求5所述的存儲器控制裝置,其特征在于 上述存儲器控制裝置還包括地址存儲單元,將用于決定上述規(guī)定的地址范圍的值作為固定值 進(jìn)行保持;上述地址判斷單元,根據(jù)上述地址存儲單元保持的用于決定上述 規(guī)定的地址范圍的值,判斷從外部輸入的地址是否包含在上述規(guī)定的 地址范圍內(nèi)。
7、 如權(quán)利要求5所述的存儲器控制裝置,其特征在于-上述存儲器控制裝置還包括地址存儲單元,保持從外部輸入的用于決定上述規(guī)定的地址范圍 的值;上述地址判斷單元,根據(jù)上述地址存儲單元保持的用于決定上述 規(guī)定的地址范圍的值,判斷從外部輸入的地址是否包含在上述規(guī)定的 地址范圍內(nèi)。
8、 如權(quán)利要求1所述的存儲器控制裝置,其特征在于 上述存儲器控制裝置,至少通過來自直接存儲器存取控制裝置的指令,從存儲器讀出包括糾錯碼的數(shù)據(jù),上述選擇器,當(dāng)是來自上述直接存儲器存取控制裝置的讀出指令 時,將從上述存儲器讀出的上述數(shù)據(jù)及上述糾錯碼,輸出給上述直接 存儲器存取控制裝置。
9、 如權(quán)利要求1所述的存儲器控制裝置,其特征在于 上述存儲器控制裝置,根據(jù)來自具有CPU的微型機(jī)塊及直接存儲器存取控制裝置的指令,從存儲器讀出包括糾錯碼的數(shù)據(jù),上述選擇器,在從上述微型機(jī)塊讀出程序數(shù)據(jù)時成為第1邏輯的 指令讀出信號是上述第1邏輯的情況下,或者在從上述直接存儲器存取控制裝置讀出數(shù)據(jù)時成為第2邏輯的直接存儲器存取讀出信號是 上述第2邏輯的情況下,將從上述存儲器讀出的上述數(shù)據(jù)輸出給上述 糾錯單元,而在上述指令讀出信號不是上述第1邏輯、且上述直接存 儲器存取讀出信號不是上述第2邏輯的情況下,將從上述存儲器讀出 的上述數(shù)據(jù)輸出給上述微型機(jī)塊或上述直接存儲器存取控制裝置。
10、 如權(quán)利要求1所述的存儲器控制裝置,其特征在于上述存儲器控制裝置,根據(jù)來自具有CPU的微型機(jī)塊的指令, 從存儲器讀出包括糾錯碼的數(shù)據(jù); 上述微型機(jī)塊包括總線控制單元,將來自上述CPU的指令分配給上述存儲器控制 裝置或其他裝置;以及寄存器,保持用于決定上述總線控制單元的分配目的地的信息; 上述存儲器控制裝置還包括寄存器設(shè)定變更單元,當(dāng)上述糾錯單元檢測出錯誤時,變更上述 寄存器保持的信息。
11、 如權(quán)利要求1所述的存儲器控制裝置,其特征在于 上述存儲器控制裝置,根據(jù)來自具有CPU的微型機(jī)塊的指令,從存儲器讀出包括糾錯碼的數(shù)據(jù);上述CPU具有保持表示程序配置場所的信息的寄存器; 上述存儲器控制裝置還包括寄存器設(shè)定變更單元,當(dāng)上述糾錯單元檢測出錯誤時,變更上述寄存器保持的信息。
12、 一種計算機(jī)系統(tǒng),其特征在于,包括 存儲器控制裝置,從存儲器讀出包括糾錯碼的數(shù)據(jù); 數(shù)據(jù)區(qū)域插入單元,在對程序源進(jìn)行了編譯后的目標(biāo)程序中插入規(guī)定大小的數(shù)據(jù)區(qū)域;地址解析單元,包括上述數(shù)據(jù)區(qū)域插入單元插入的上述數(shù)據(jù)區(qū)域而進(jìn)行上述目標(biāo)程序中的操作數(shù)的地址解析;糾錯碼計算單元,計算上述目標(biāo)程序的糾錯碼;以及 糾錯碼寫入單元,將由上述糾錯碼計算單元算出的糾錯碼,寫入上述數(shù)據(jù)區(qū)域;上述存儲器控制裝置,通過上述糾錯碼寫入單元,將在上述數(shù)據(jù) 區(qū)域中寫入了糾錯碼的目標(biāo)程序?qū)懭肷鲜龃鎯ζ鳎?上述存儲器控制裝置包括糾錯單元,根據(jù)上述糾錯碼,對上述數(shù)據(jù)進(jìn)行錯誤檢測及糾錯, 并將進(jìn)行了錯誤檢測及糾錯的數(shù)據(jù)輸出給外部;以及選擇器,選擇是將從上述存儲器讀出的上述數(shù)據(jù)輸出給上述糾錯 單元,還是將從上述存儲器讀出的上述數(shù)據(jù)輸出給外部。
13、 一種計算機(jī)系統(tǒng),其特征在于,包括 存儲器;存儲器控制裝置,對上述存儲器進(jìn)行包括糾錯碼的數(shù)據(jù)的寫入及 讀出;以及微型機(jī)塊,對上述存儲器控制裝置發(fā)出向上述存儲器進(jìn)行數(shù)據(jù)寫 入及讀出的指令;上述存儲器控制裝置包括糾錯單元,根據(jù)上述糾錯碼,對上述數(shù)據(jù)進(jìn)行錯誤檢測及糾錯, 并將進(jìn)行了錯誤檢測及糾錯的數(shù)據(jù)輸出給外部;以及選擇器,選擇是將從上述存儲器讀出的上述數(shù)據(jù)輸出給上述糾錯 單元,還是將從上述存儲器讀出的上述數(shù)據(jù)輸出給外部。
14、 一種數(shù)據(jù)再現(xiàn)記錄裝置,其特征在于,包括 存儲器控制裝置,從存儲器讀出包括糾錯碼的數(shù)據(jù);數(shù)據(jù)區(qū)域插入單元,在對程序源進(jìn)行了編譯后的目標(biāo)程序中插入規(guī)定大小的數(shù)據(jù)區(qū)域;地址解析單元,包括上述數(shù)據(jù)區(qū)域插入單元插入的上述數(shù)據(jù)區(qū)域而進(jìn)行上述目標(biāo)程序中的操作數(shù)的地址解析;糾錯碼計算單元,計算上述目標(biāo)程序的糾錯碼;以及 糾錯碼寫入單元,將由上述糾錯碼計算單元算出的糾錯碼,寫入上述數(shù)據(jù)區(qū)域;上述存儲器控制裝置,通過上述糾錯碼寫入單元,將在上述數(shù)據(jù) 區(qū)域中寫入了糾錯碼的目標(biāo)程序?qū)懭肷鲜龃鎯ζ鳎?上述存儲器控制裝置包括糾錯單元,根據(jù)上述糾錯碼,對上述數(shù)據(jù)進(jìn)行錯誤檢測及糾錯, 并將進(jìn)行了錯誤檢測及糾錯的數(shù)據(jù)輸出給外部;以及選擇器,選擇是將從上述存儲器讀出的上述數(shù)據(jù)輸出給上述糾錯 單元,還是將從上述存儲器讀出的上述數(shù)據(jù)輸出給外部。
15、 一種程序數(shù)據(jù)的生成方法,該程序數(shù)據(jù)通過存儲器控制裝置 寫入上述存儲器中,其特征在于上述存儲器控制裝置從存儲器讀出包括糾錯碼的數(shù)據(jù),并包括糾錯單元,根據(jù)上述糾錯碼,對上述數(shù)據(jù)進(jìn)行錯誤檢測及糾錯, 并將進(jìn)行了錯誤檢測及糾錯的數(shù)據(jù)輸出給外部;以及選擇器,選擇是將從上述存儲器讀出的上述數(shù)據(jù)輸出給上述糾錯 單元,還是將從上述存儲器讀出的上述數(shù)據(jù)輸出給外部;上述程序數(shù)據(jù)的生成方法包括數(shù)據(jù)區(qū)域插入步驟,在對程序源進(jìn)行了編譯后的目標(biāo)程序中插入 規(guī)定大小的數(shù)據(jù)區(qū)域;地址解析步驟,包括上述數(shù)據(jù)區(qū)域插入步驟中插入的上述數(shù)據(jù)區(qū) 域而進(jìn)行上述目標(biāo)程序中的操作數(shù)的地址解析;糾錯碼計算步驟,計算上述目標(biāo)程序的糾錯碼;以及糾錯碼寫入步驟,將上述糾錯碼計算步驟中算出的糾錯碼,寫入 上述數(shù)據(jù)區(qū)域。
全文摘要
本發(fā)明涉及存儲器控制裝置、計算機(jī)系統(tǒng)及數(shù)據(jù)再現(xiàn)記錄裝置。本發(fā)明所涉及的存儲器控制裝置,從存儲器讀出包括糾錯碼的數(shù)據(jù),該存儲器控制裝置包括糾錯單元,根據(jù)上述糾錯碼,對上述數(shù)據(jù)進(jìn)行錯誤檢測及糾錯,并將進(jìn)行了錯誤檢測及糾錯的數(shù)據(jù)輸出給外部;以及選擇器,選擇是將從上述存儲器讀出的上述數(shù)據(jù)輸出給上述糾錯單元、還是將從上述存儲器讀出的上述數(shù)據(jù)輸出給外部。
文檔編號G06F11/10GK101221520SQ20071019660
公開日2008年7月16日 申請日期2007年11月29日 優(yōu)先權(quán)日2006年11月29日
發(fā)明者出口直人, 山本泰宜, 隅田圭三 申請人:松下電器產(chǎn)業(yè)株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
湖南省| 长寿区| 霍城县| 临邑县| 枝江市| 屯门区| 巩留县| 扎鲁特旗| 蓝山县| 汝城县| 九龙县| 密山市| 互助| 临邑县| 绥宁县| 江口县| 宜州市| 仙游县| 台州市| 青龙| 读书| 云龙县| 濮阳市| 犍为县| 汶上县| 呼玛县| 乌拉特前旗| 南澳县| 平谷区| 湘乡市| 兴业县| 康保县| 威海市| 阳谷县| 吴旗县| 津市市| 乌鲁木齐市| 揭阳市| 阿瓦提县| 新田县| 孟州市|