處理器微程序的初始化配置方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種處理器微程序的初始化配置方法,包括:S1、對(duì)片上系統(tǒng)進(jìn)行上電復(fù)位;S2、微程序控制模塊將微程序ROM中的微程序內(nèi)容搬移到微程序RAM中,保持處理器的復(fù)位狀態(tài);S3、在所述微程序內(nèi)容搬移完成后,啟動(dòng)處理器的正常功能。本發(fā)明通過(guò)將微程序存儲(chǔ)在芯片內(nèi)部的ROM中,并通過(guò)微程序控制模塊將微程序ROM中的微程序內(nèi)容搬移到微程序RAM中,在所述微程序內(nèi)容搬移完成后,啟動(dòng)處理器的正常功能,微程序放在微程序RAM中,運(yùn)行的頻率高于片外的ROM,而且不需要額外使用片外ROM存儲(chǔ)設(shè)備,節(jié)約了外圍電路的設(shè)計(jì)成本。本發(fā)明還公開(kāi)了一種處理器微程序的初始化配置系統(tǒng)。
【專利說(shuō)明】[0001] 處理器微程序的初始化配置方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0002] 本發(fā)明涉及芯片設(shè)計(jì)【技術(shù)領(lǐng)域】,尤其涉及一種處理器微程序的初始化配置方法及 系統(tǒng)。
[0003] _
【背景技術(shù)】
[0004] CISC (復(fù)雜指令集計(jì)算機(jī))系統(tǒng),例如x86系統(tǒng)中,處理器內(nèi)部將較復(fù)雜的機(jī)器指 令譯碼,分成多個(gè)微指令按次序執(zhí)行。一條機(jī)器指令對(duì)應(yīng)一個(gè)微程序,這個(gè)微程序是由若干 條微指令構(gòu)成的。所有的微程序以一定格式存放在處理器內(nèi)部的ROM (只讀存儲(chǔ)器)中,這 樣的ROM被稱為微程序ROM。處理器執(zhí)行一條宏指令時(shí),根據(jù)譯碼出來(lái)的指令,找到微程序 ROM的入口地址,并從微程序ROM中讀取內(nèi)容,送指令執(zhí)行模塊執(zhí)行。
[0005] 在ASIC芯片設(shè)計(jì)中,一旦芯片生產(chǎn)完成,片內(nèi)ROM就無(wú)法修改。芯片生產(chǎn)完成后, 片內(nèi)ROM的設(shè)計(jì)錯(cuò)誤,往往是致命的,有可能直接導(dǎo)致芯片的流片失敗。
[0006] 為了在芯片設(shè)計(jì)中確保微程序ROM數(shù)據(jù)的正確性,提高流片的成功率,較優(yōu)的做 法是實(shí)現(xiàn)微程序ROM在流片之后的可修改性。目前這方面的做法一般有兩種:片外ROM存 放微指令數(shù)據(jù);片內(nèi)預(yù)留未用的ROM單元,采用電熔絲的方法進(jìn)行一次性編程。
[0007] 使用片外ROM存放處理器微程序內(nèi)容,可使微程序內(nèi)容與芯片分開(kāi)設(shè)計(jì),有利于 微程序的隨時(shí)修改和更新。但隨之帶來(lái)的弊端是,處理器芯片需要搭配相應(yīng)的片外ROM存 儲(chǔ)設(shè)備才能正常使用。此法帶來(lái)成本增加的同時(shí),還使通用擴(kuò)展性大大降低。此外,片外 ROM的訪問(wèn)速度慢,也會(huì)制約處理器和整個(gè)片上系統(tǒng)的速度。
[0008]
【發(fā)明內(nèi)容】
[0009] 有鑒于此,有必要提供一種不需要額外的片外R0M,并具有較高的微程序訪問(wèn)速度 的處理器微程序的初始化配置方法及系統(tǒng)。
[0010] 一種處理器微程序的初始化配置方法,其特征在于,其包括如下步驟: 51、 對(duì)片上系統(tǒng)進(jìn)行上電復(fù)位; 52、 微程序控制模塊將微程序ROM中的微程序內(nèi)容搬移到微程序RAM中,保持處理器的 復(fù)位狀態(tài); 53、 在所述微程序內(nèi)容搬移完成后,啟動(dòng)處理器的正常功能。
[0011] 一種處理器微程序的初始化配置系統(tǒng),其特征在于,其包括如下模塊: 復(fù)位模塊,用于對(duì)片上系統(tǒng)進(jìn)行上電復(fù)位; 程序搬運(yùn)模塊,用于通過(guò)微程序控制模塊將微程序ROM中的微程序內(nèi)容搬移到微程序 RAM中,保持處理器的復(fù)位狀態(tài); 處理器啟動(dòng)模塊,用于在所述微程序內(nèi)容搬移完成后,啟動(dòng)處理器的正常功能。
[0012] 本發(fā)明提供的處理器微程序的初始化配置方法及系統(tǒng),通過(guò)將微程序存儲(chǔ)在芯片 內(nèi)部的ROM中,并通過(guò)微程序控制模塊將微程序ROM中的微程序內(nèi)容搬移到微程序RAM中, 在所述微程序內(nèi)容搬移完成后,啟動(dòng)處理器的正常功能,微程序放在微程序RAM中,運(yùn)行的 頻率高于片外的R0M,而且不需要額外使用片外ROM存儲(chǔ)設(shè)備,節(jié)約外圍電路的設(shè)計(jì)成本。
[0013]
【專利附圖】
【附圖說(shuō)明】
[0014] 圖1是本發(fā)明實(shí)施例的芯片結(jié)構(gòu)示意圖; 圖2是本發(fā)明一較佳實(shí)施例的處理器微程序的初始化配置方法流程圖; 圖3是圖2中步驟S2的子流程圖; 圖4是本發(fā)明另一較佳實(shí)施例的處理器微程序的初始化配置方法流程圖; 圖5是本發(fā)明一較佳實(shí)施例的處理器微程序的初始化配置系統(tǒng)的結(jié)構(gòu)框圖; 圖6是圖5中修改模塊的子結(jié)構(gòu)框圖; 圖7是本發(fā)明另一較佳實(shí)施例的處理器微程序的初始化配置系統(tǒng)的結(jié)構(gòu)框圖。
[0015]
【具體實(shí)施方式】
[0016] 圖1是本發(fā)明實(shí)施例的芯片結(jié)構(gòu)示意圖,包括處理器1,微程序控制模塊2,微程序 RAM3,微程序 R0M4。
[0017] 所述處理器1,具備一般處理器的所有功能,在指令執(zhí)行時(shí),可以將一條指令分解 成若干條微指令,并從微程序RAM3中讀取內(nèi)容執(zhí)行。特別地,處理器1還能向微程序控制 模塊2發(fā)送改寫微程序RAM3中微程序的特殊指令序列。
[0018] 所述微程序控制模塊2,用于接收處理器1的特殊指令,改寫微程序RAM3中相應(yīng)內(nèi) 容。另一方面,微程序控制模塊2接收全局復(fù)位信號(hào),完成微程序數(shù)據(jù)從微程序R0M4到微 程序RAM3的搬移。完成微程序的搬移后,向處理器1復(fù)位,啟動(dòng)處理器1。
[0019] 所述微程序RAM3,位于芯片內(nèi)部,用于存放處理器1正常運(yùn)行時(shí)的微程序,內(nèi)容可 修改。處理器1讀取微程序RAM3中的微程序內(nèi)容進(jìn)行微指令操作;微程序控制模塊2可以 通過(guò)處理器1發(fā)出的特殊指令對(duì)微程序RAM3內(nèi)容進(jìn)行改寫。
[0020] 所述微程序R0M4,位于芯片內(nèi)部,存放固化的微程序代碼,內(nèi)容不能修改??梢詫?shí) 現(xiàn)處理器1的正常運(yùn)行。
[0021] 如圖2所示,一種處理器微程序的初始化配置方法,其包括如下步驟: S1、對(duì)片上系統(tǒng)進(jìn)行上電復(fù)位。
[0022] 片上系統(tǒng)(SoC :System-〇n-a-chip)指的是在芯片上集成一個(gè)完整的系統(tǒng),對(duì)所 有或部分必要的電子電路進(jìn)行包分組的技術(shù)。所謂完整的系統(tǒng)一般包括中央處理器1、存儲(chǔ) 器、以及外圍電路等。
[0023] S2、微程序控制模塊2將微程序R0M4中的微程序內(nèi)容搬移到微程序RAM3中,保持 處理器1的復(fù)位狀態(tài)。
[0024] 微程序是實(shí)現(xiàn)程序的一種手段,具體就是將一條機(jī)器指令編寫成一段微程序。每 一個(gè)微程序包含若干條微指令,每一條微指令對(duì)應(yīng)一條或多條微操作。在有微程序的系統(tǒng) 中,處理器1內(nèi)部有一個(gè)控制存儲(chǔ)器,用于存放各種機(jī)器指令對(duì)應(yīng)的微程序段。當(dāng)處理器 1執(zhí)行機(jī)器指令時(shí),會(huì)在控制存儲(chǔ)器里尋找與該機(jī)器指令對(duì)應(yīng)的微程序,取出相應(yīng)的微指令 來(lái)控制執(zhí)行各個(gè)微操作,從而完成該程序語(yǔ)句的功能。
[0025] ROM是只讀內(nèi)存(Read-Only Memory)的簡(jiǎn)稱,是一種只能讀出事先所存數(shù)據(jù)的固 態(tài)半導(dǎo)體存儲(chǔ)器。其特性是一旦儲(chǔ)存資料就無(wú)法再將之改變或刪除。通常用在不需經(jīng)常變 更資料的電子或電腦系統(tǒng)中,并且資料不會(huì)因?yàn)殡娫搓P(guān)閉而消失。
[0026] 隨機(jī)存取存儲(chǔ)器(random access memory,RAM)又稱作"隨機(jī)存儲(chǔ)器",是與處理器 1直接交換數(shù)據(jù)的內(nèi)部存儲(chǔ)器。它可以隨時(shí)讀寫,而且速度很快,通常作為操作系統(tǒng)或其他 正在運(yùn)行中的程序的臨時(shí)數(shù)據(jù)存儲(chǔ)媒介。存儲(chǔ)單元的內(nèi)容可按需隨意取出或存入,且存取 的速度與存儲(chǔ)單元的位置無(wú)關(guān)的存儲(chǔ)器。
[0027] 保持處理器1的復(fù)位狀態(tài),是為了使得處理器1不工作。
[0028] S3、在所述微程序內(nèi)容搬移完成后,啟動(dòng)處理器1的正常功能。
[0029] 本發(fā)明實(shí)施例中,在將微程序從片內(nèi)的微程序R0M4搬移到微程序RAM3的搬移過(guò) 程中,處理器1 一直處于復(fù)位狀態(tài),而不會(huì)啟動(dòng)。搬移完成后,微程序控制模塊2再向處理器 1發(fā)出復(fù)位控制信號(hào),此時(shí)處理器1使用微程序RAM3中數(shù)據(jù)執(zhí)行微程序。如果微程序R0M4 中的微程序的內(nèi)容正確,處理器1就可以正常工作。
[0030] 本發(fā)明實(shí)施例提供的處理器微程序的初始化配置方法中,通過(guò)將微程序存儲(chǔ)在芯 片內(nèi)部的微程序R0M4中,并通過(guò)微程序控制模塊2將微程序R0M4中的微程序內(nèi)容搬移到 微程序RAM3中。在所述微程序內(nèi)容搬移完成后,啟動(dòng)處理器1的正常功能,微程序放在微 程序RAM3中,運(yùn)行的頻率高于片外的ROM。而且不需要額外使用片外ROM存儲(chǔ)設(shè)備,節(jié)約了 芯片的設(shè)計(jì)資源,降低了成本。
[0031] 如圖2所示,本發(fā)明實(shí)施例的處理器微程序的初始化配置方法還可以包括以下步 驟: S4、對(duì)微程序RAM3中的微程序內(nèi)容進(jìn)行修改。
[0032] 現(xiàn)在的通過(guò)片內(nèi)預(yù)留未用的ROM單元的處理器微程序的初始化配置方法,若要修 改微程序內(nèi)容,使用電熔絲編程(efuse)的方法可以一次性編程這些預(yù)留ROM的值。但以上 方法存在以下弊端:預(yù)留efuse的ROM單元不能太大;efuse ROM只能寫一次。此法用來(lái)修 改微程序,靈活性不大。實(shí)施本實(shí)施例,可以達(dá)到用戶隨時(shí)修改和升級(jí)微程序內(nèi)容的目的。
[0033] 可選地,如圖3所示,所述步驟S4包括如下子步驟: S21、處理器1向微程序控制模塊2發(fā)送一組使能微程序RAM3寫操作的宏指令組UPG_ WREN。
[0034] 默認(rèn)的,通過(guò)微程序控制模塊2的微程序RAM3的寫操作是被禁止的,必須先執(zhí)行 UPG_WREN,微程序RAM3中的數(shù)據(jù)才可以被改寫。
[0035] S22、處理器1向微程序控制模塊2發(fā)送含有地址信息的宏指令組UPG_WRA,輸入需 要修改的微程序RAM3的地址。
[0036] S23、處理器1向微程序控制模塊2發(fā)送宏指令組UPG_WRD,輸入需要寫入該地址的 數(shù)據(jù)。
[0037] 通過(guò)步驟S22和步驟S23,就完成了微程序RAM3的一個(gè)地址的數(shù)據(jù)寫操作,該次寫 操作的地址和數(shù)據(jù)信息分別在UPG_WRA和UPG_WRD中由處理器1發(fā)送,并被微程序控制模 塊2獲取。
[0038] S24、重復(fù)執(zhí)行所述步驟S22、S23直至完成所有的微程序內(nèi)容修改。
[0039] 如果要修改位于其它地址的微程序數(shù)據(jù),只需要重復(fù)發(fā)送相應(yīng)的帶地址和數(shù)據(jù)參 數(shù)的宏指令UPG_WRA和UPG_WRD即可。
[0040] S25、處理器1向微程序控制模塊2發(fā)送取消寫微程序RAM3的功能的宏指令組 UPG_WRDIS〇
[0041] 可選地,所述宏指令UPG_WREN、宏指令組UPG_WRA、宏指令組UPG_WRD、宏指令組 UPG_WRDIS分別由一條或多條處理器保留指令構(gòu)成。
[0042] 因?yàn)檫@些保留指令是正常程序不會(huì)使用到的,從而可以確保處理器1正常操作時(shí) 不會(huì)誤操作微程序RAM3中的數(shù)據(jù)。
[0043] 可選地,如圖4所示,本發(fā)明實(shí)施例的處理器微程序的初始化配置方法還可以包 括如下步驟: S0、在所述步驟1之前,在微程序R0M4中加入一定量的錯(cuò)誤微程序,所述錯(cuò)誤微程序在 不影響處理器1對(duì)微程序控制模塊2的操作同時(shí),使得處理器1無(wú)法進(jìn)行其他操作。
[0044] 芯片在生產(chǎn)時(shí),可以人為地在固化的在微程序R0M4的關(guān)鍵位置加入一些錯(cuò)誤,這 些錯(cuò)誤不能影響處理器1對(duì)微程序控制模塊2的操作,但要保證足以使處理器1不能正常 工作。如果不進(jìn)行微指令修改操作,處理器1和整個(gè)片上系統(tǒng)處于死機(jī)狀態(tài)。復(fù)位時(shí),處理 器1和微程序控制模塊2按圖2所示的所述微程序的初始化配置流程對(duì)微程序RAM3進(jìn)行 初始化。
[0045] S5、在所述步驟S2之后和S3之前,運(yùn)行基本輸入輸出系統(tǒng)BIOS,并反饋運(yùn)行結(jié)果, 根據(jù)反饋的運(yùn)行結(jié)果判斷BIOS是否為經(jīng)過(guò)可信認(rèn)證的BIOS。
[0046] S6、如果BIOS不是經(jīng)過(guò)可信認(rèn)證的BIOS,則BIOS開(kāi)始位置不存在修改錯(cuò)誤微程序 數(shù)據(jù)的程序,處理器1無(wú)法正常運(yùn)行并結(jié)束整個(gè)初始化配置流程;如果BIOS為經(jīng)過(guò)可信認(rèn) 證的BIOS,根據(jù)BIOS開(kāi)始位置的修改微程序數(shù)據(jù)的程序來(lái)糾正錯(cuò)誤微程序,并跳轉(zhuǎn)到步驟 S3〇
[0047] 由于微程序R0M4中有一些錯(cuò)誤,處理器1運(yùn)行普通BIOS或未經(jīng)認(rèn)證的BIOS時(shí), 會(huì)出現(xiàn)未知的異常和錯(cuò)誤。經(jīng)過(guò)可信認(rèn)證的BIOS,其最開(kāi)始會(huì)有糾正微程序錯(cuò)誤的特殊指 令操作,按照實(shí)施例中S7的步驟,將錯(cuò)誤位置的微程序全部修改回來(lái)。
[0048] 只有經(jīng)過(guò)糾正的微程序數(shù)據(jù)才能使處理器1正常啟動(dòng)。實(shí)施本實(shí)施例,可以利用 糾錯(cuò)微程序的方法,防止BIOS被人為篡改。
[0049] 如圖5所示,本發(fā)明實(shí)施例還提供一種處理器微程序的初始化配置系統(tǒng),其包括 如下模塊: 復(fù)位模塊10,用于對(duì)片上系統(tǒng)進(jìn)行上電復(fù)位。
[0050] 程序搬運(yùn)模塊20,用于通過(guò)微程序控制模塊2將微程序R0M4中的微程序內(nèi)容搬移 到微程序RAM3中,保持處理器1的復(fù)位狀態(tài),使處理器1不工作。
[0051] 處理器啟動(dòng)模塊30,用于在所述微程序內(nèi)容搬移完成后,啟動(dòng)處理器1的正常功 能。
[0052] 可選地,如圖5所示,本發(fā)明實(shí)施例的處理器微程序的初始化配置系統(tǒng)還可以包 括以下模塊: 修改模塊40,用于對(duì)微程序RAM3中的微程序內(nèi)容進(jìn)行修改。
[0053] 可選地,如圖6所示,所述修改模塊40包括如下單元: 使能單元41,用于通過(guò)處理器1向微程序控制模塊2發(fā)送一組使能微程序RAM3寫操作 的宏指令組UPG_WREN。
[0054] 地址修改單元42,用于通過(guò)處理器1向微程序控制模塊2發(fā)送含有地址信息的宏 指令組UPG_WRA,輸入需要修改的微程序RAM3的地址。
[0055] 數(shù)據(jù)寫入單元43,用于通過(guò)處理器1向微程序控制模塊2發(fā)送宏指令組UPG_WRD, 輸入需要寫入該地址的數(shù)據(jù)。
[0056] 迭代單元44,用于重復(fù)啟動(dòng)地址修改單元42、數(shù)據(jù)寫入單元43的功能直至完成所 有的微程序內(nèi)容修改。
[0057] 使能關(guān)閉單元45,用于通過(guò)處理器1向微程序控制模塊2發(fā)送取消寫微程序RAM3 的功能的宏指令組UPG_WRDIS。
[0058] 可選地,所述宏指令UPG_WREN、宏指令組UPG_WRA、宏指令組UPG_WRD、宏指令組 UPG_WRDIS分別由一條或多條處理器保留指令構(gòu)成。
[0059] 可選地,如圖7所示,本發(fā)明實(shí)施例的處理器微程序的初始化配置系統(tǒng)還可以包 括以下模塊: 錯(cuò)誤配置模塊〇〇,用于在啟動(dòng)復(fù)位模塊10之前,在微程序R0M4中加入一定量的錯(cuò)誤 微程序,所述錯(cuò)誤微程序在不影響處理器1對(duì)微程序控制模塊2的操作同時(shí),使得處理器1 無(wú)法進(jìn)行其他操作。
[0060] BIOS判斷模塊50,用在啟動(dòng)程序搬運(yùn)模塊20功能之后,啟動(dòng)處理器1啟動(dòng)模塊30 功能之前,運(yùn)行基本輸入輸出系統(tǒng)BIOS,并反饋運(yùn)行結(jié)果,根據(jù)反饋的運(yùn)行結(jié)果判斷BIOS 是否為經(jīng)過(guò)可信認(rèn)證的BIOS。
[0061] 錯(cuò)誤修正模塊60,用于在BIOS不是經(jīng)過(guò)可信認(rèn)證的BIOS時(shí),BIOS開(kāi)始位置不存 在修改錯(cuò)誤微程序數(shù)據(jù)的程序,處理器1無(wú)法正常運(yùn)行,用于結(jié)束初始化配置;并用于在 BIOS為經(jīng)過(guò)可信認(rèn)證的BIOS時(shí),根據(jù)BIOS開(kāi)始位置的修改微程序數(shù)據(jù)的程序來(lái)糾正錯(cuò)誤 微程序,并啟動(dòng)處理器啟動(dòng)模塊30的功能。
[0062] 以上裝置實(shí)施例與方法實(shí)施例是一一對(duì)應(yīng)的,裝置實(shí)施例簡(jiǎn)略之處,參見(jiàn)方法實(shí) 施例即可。
[0063] 本說(shuō)明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他 實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。
[0064] 專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元 及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和 軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能性一般性地描述了各示例的組成及步驟。這 些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專 業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不 應(yīng)超過(guò)本發(fā)明的范圍。
[0065] 結(jié)合本文中所公開(kāi)的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí) 行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)儲(chǔ)存器、內(nèi)存、只讀存儲(chǔ)器、 電可編程ROM、電可檫除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或【技術(shù)領(lǐng)域】?jī)?nèi)所公 知的任意其他形式的存儲(chǔ)介質(zhì)中。
[0066] 上面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行了描述,但是本發(fā)明并不局限于上述的具體 實(shí)施方式,上述的【具體實(shí)施方式】?jī)H僅是示意性的,而不是限制性的,本領(lǐng)域的普通技術(shù)人員 在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨和權(quán)利要求所保護(hù)的范圍情況下,還可做出很多 形式,這些均屬于本發(fā)明的保護(hù)之內(nèi)。
【權(quán)利要求】
1. 一種處理器微程序的初始化配置方法,其特征在于,其包括如下步驟: 51、 對(duì)片上系統(tǒng)進(jìn)行上電復(fù)位; 52、 微程序控制模塊將微程序ROM中的微程序內(nèi)容搬移到微程序RAM中,保持處理器的 復(fù)位狀態(tài); 53、 在所述微程序內(nèi)容搬移完成后,啟動(dòng)處理器的正常功能。
2. 根據(jù)權(quán)利要求1所述的處理器微程序的初始化配置方法,其特征在于,處理器微程 序的初始化配置方法還包括以下步驟: 54、 對(duì)微程序RAM中的微程序內(nèi)容進(jìn)行修改。
3. 根據(jù)權(quán)利要求2所述的處理器微程序的初始化配置方法,其特征在于,所述步驟S4 包括如下子步驟: 521、 處理器向微程序控制模塊發(fā)送一組使能微程序RAM寫操作的宏指令組UPG_WREN ; 522、 處理器向微程序控制模塊發(fā)送含有地址信息的宏指令組UPG_WRA,輸入需要修改 的微程序RAM的地址; 523、 處理器向微程序控制模塊發(fā)送宏指令組UPG_WRD,輸入需要寫入該地址的數(shù)據(jù); 524、 重復(fù)執(zhí)行所述步驟S22、S23直至完成所有的微程序內(nèi)容修改; 525、 處理器向微程序控制模塊發(fā)送取消寫微程序RAM的功能的宏指令組UPG_WRDIS。
4. 根據(jù)權(quán)利要求3所述的處理器微程序的初始化配置方法,其特征在于, 所述宏指令UPG_WREN、宏指令組UPG_WRA、宏指令組UPG_WRD、宏指令組UPG_WRDI S分別 由一條或多條處理器保留指令構(gòu)成。
5. 根據(jù)權(quán)利要求4所述的處理器微程序的初始化配置方法,其特征在于,其還包括如 下步驟: SO、在所述步驟1之前,在微程序ROM中加入一定量的錯(cuò)誤微程序,所述錯(cuò)誤微程序在 不影響處理器對(duì)微程序控制模塊的操作同時(shí),使得處理器無(wú)法進(jìn)行其他操作; 55、 在所述步驟S2之后和S3之前,運(yùn)行基本輸入輸出系統(tǒng)BIOS,并反饋運(yùn)行結(jié)果,根據(jù) 反饋的運(yùn)行結(jié)果判斷BIOS是否為經(jīng)過(guò)可信認(rèn)證的BIOS ; 56、 如果BIOS不是經(jīng)過(guò)可信認(rèn)證的BIOS,則BIOS開(kāi)始位置不存在修改錯(cuò)誤微程序數(shù) 據(jù)的程序,處理器無(wú)法正常運(yùn)行并結(jié)束整個(gè)初始化配置流程;如果BIOS為經(jīng)過(guò)可信認(rèn)證的 BIOS,根據(jù)BIOS開(kāi)始位置的修改微程序數(shù)據(jù)的程序來(lái)糾正錯(cuò)誤微程序,并跳轉(zhuǎn)到步驟S3。
6. -種處理器微程序的初始化配置系統(tǒng),其特征在于,其包括如下模塊: 復(fù)位模塊,用于對(duì)片上系統(tǒng)進(jìn)行上電復(fù)位; 程序搬運(yùn)模塊,用于通過(guò)微程序控制模塊將微程序ROM中的微程序內(nèi)容搬移到微程序 RAM中,保持處理器的復(fù)位狀態(tài); 處理器啟動(dòng)模塊,用于在所述微程序內(nèi)容搬移完成后,啟動(dòng)處理器的正常功能。
7. 根據(jù)權(quán)利要求6所述的處理器微程序的初始化配置系統(tǒng),其特征在于,處理器微程 序的初始化配置系統(tǒng)還包括以下模塊: 修改模塊,用于對(duì)微程序RAM中的微程序內(nèi)容進(jìn)行修改。
8. 根據(jù)權(quán)利要求7所述的處理器微程序的初始化配置系統(tǒng),其特征在于,所述修改模 塊包括如下單元: 使能單元,用于通過(guò)處理器向微程序控制模塊發(fā)送一組使能微程序RAM寫操作的宏指 令組 UPG_WREN ; 地址修改單元,用于處理器向微程序控制模塊發(fā)送含有地址信息的宏指令組UPG_WRA, 輸入需要修改的微程序RAM的地址; 數(shù)據(jù)寫入單元,用于通過(guò)處理器向微程序控制模塊發(fā)送宏指令組UPG_WRD,輸入需要寫 入該地址的數(shù)據(jù); 迭代單元,用于重復(fù)啟動(dòng)地址修改單元、數(shù)據(jù)寫入單元的功能直至完成所有的微程序 內(nèi)容修改; 使能關(guān)閉單元,用于通過(guò)處理器向微程序控制模塊發(fā)送取消寫微程序RAM的功能的宏 指令組 UPG_WRDIS。
9. 根據(jù)權(quán)利要求3所述的處理器微程序的初始化配置系統(tǒng),其特征在于, 所述宏指令UPG_WREN、宏指令組UPG_WRA、宏指令組UPG_WRD、宏指令組UPG_WRDI S分別 由一條或多條處理器保留指令構(gòu)成。
10. 根據(jù)權(quán)利要求9所述的處理器微程序的初始化配置系統(tǒng),其特征在于,其還包括如 下模塊: 錯(cuò)誤配置模塊,用于在啟動(dòng)復(fù)位模塊之前,在微程序ROM中加入一定量的錯(cuò)誤微程序, 所述錯(cuò)誤微程序在不影響處理器對(duì)微程序控制模塊的操作同時(shí),使得處理器無(wú)法進(jìn)行其他 操作; BIOS判斷模塊,用在啟動(dòng)程序搬運(yùn)模塊功能之后,啟動(dòng)處理器啟動(dòng)模塊功能之前,運(yùn)行 基本輸入輸出系統(tǒng)BIOS,并反饋運(yùn)行結(jié)果,根據(jù)反饋的運(yùn)行結(jié)果判斷BIOS是否為經(jīng)過(guò)可信 認(rèn)證的BIOS ; 錯(cuò)誤修正模塊,用于在BIOS不是經(jīng)過(guò)可信認(rèn)證的BIOS時(shí),BIOS開(kāi)始位置不存在修改 錯(cuò)誤微程序數(shù)據(jù)的程序,處理器無(wú)法正常運(yùn)行,用于結(jié)束初始化配置;并用于在BIOS為經(jīng) 過(guò)可信認(rèn)證的BIOS時(shí),根據(jù)BIOS開(kāi)始位置的修改微程序數(shù)據(jù)的程序來(lái)糾正錯(cuò)誤微程序,并 啟動(dòng)處理器啟動(dòng)模塊的功能。
【文檔編號(hào)】G06F11/07GK104156241SQ201410370611
【公開(kāi)日】2014年11月19日 申請(qǐng)日期:2014年7月31日 優(yōu)先權(quán)日:2014年7月31日
【發(fā)明者】張義偉, 阮航, 朱鐘琦 申請(qǐng)人:中國(guó)船舶重工集團(tuán)公司第七0九研究所