專利名稱:在復(fù)位后用于配置一個(gè)數(shù)據(jù)處理系統(tǒng)的方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理器,并且更特別地,涉及在復(fù)位后用于配置一個(gè)數(shù)據(jù)處理系統(tǒng)的一個(gè)方法及其裝置。
為了使將一個(gè)數(shù)據(jù)處理系統(tǒng)設(shè)置為一個(gè)已知的初始狀態(tài),大多數(shù)數(shù)據(jù)處理系統(tǒng)被配備了一個(gè)管腳或者其它機(jī)制,來促使這個(gè)系統(tǒng)來進(jìn)行復(fù)位。當(dāng)這個(gè)處理系統(tǒng)完成了復(fù)位條件后,就從存儲(chǔ)器中的一個(gè)已知位置拾取一個(gè)復(fù)位矢量的地址(復(fù)位異常矢量)。然后,這個(gè)地址被用于拾取并且執(zhí)行這個(gè)復(fù)位異常例程。典型地,這個(gè)復(fù)位異常例程包括一些指令,用來這個(gè)系統(tǒng)進(jìn)行初始化并且準(zhǔn)備好執(zhí)行隨后的編程指令。
在包括一個(gè)32比特地址空間中的一個(gè)處理系統(tǒng)中,這個(gè)復(fù)位矢量包括由4個(gè)8比特字節(jié)組成的一個(gè)32-比特字。這個(gè)復(fù)位矢量被從其比特寬帶不同的一個(gè)存儲(chǔ)器結(jié)構(gòu)中拾取。例如,一個(gè)32-比特寬的存儲(chǔ)器結(jié)構(gòu),一個(gè)16-比特寬的存儲(chǔ)器結(jié)構(gòu),或者一個(gè)8-比特寬的存儲(chǔ)器結(jié)構(gòu)可以被用于來保存一個(gè)特定系統(tǒng)的復(fù)位矢量。用于保存這個(gè)復(fù)位矢量的存儲(chǔ)器結(jié)構(gòu)的類型將決定拾取包括這個(gè)復(fù)位矢量的4個(gè)8-比特字節(jié)所需要的存儲(chǔ)器操作。
用于確定保存這個(gè)復(fù)位矢量的存儲(chǔ)器的存儲(chǔ)器結(jié)構(gòu)的一個(gè)現(xiàn)有技術(shù)在這個(gè)處理系統(tǒng)上包括附加的管腳,其中在這些附加的管腳上的信號(hào)指示這個(gè)存儲(chǔ)器的結(jié)構(gòu)。附加的管腳給這個(gè)處理系統(tǒng)增加了費(fèi)用,并且這樣是不希望有的。
用于確定存儲(chǔ)器結(jié)構(gòu)的另一個(gè)現(xiàn)有技術(shù)包括對(duì)這個(gè)處理系統(tǒng)的一個(gè)數(shù)據(jù)總線進(jìn)行采樣。從對(duì)這個(gè)數(shù)據(jù)總線進(jìn)行采樣而決定的值指示其中保存了這個(gè)復(fù)位矢量的特定存儲(chǔ)器結(jié)構(gòu)。盡管這個(gè)技術(shù)使這個(gè)處理系統(tǒng)可以支持不同的存儲(chǔ)器結(jié)構(gòu),但是,為了將這個(gè)數(shù)據(jù)總線驅(qū)動(dòng)到指示所使用的存儲(chǔ)器結(jié)構(gòu)的這些特定值,就需要外部的膠邏輯(gluelogic)。這個(gè)外部的膠邏輯增加了整個(gè)處理系統(tǒng)的費(fèi)用,并且也相反地影響了這個(gè)處理系統(tǒng)的功能,因?yàn)樗肓烁郊拥募纳?yīng),并且也可能增加功率消耗。
用于確定保存這個(gè)復(fù)位矢量的存儲(chǔ)器結(jié)構(gòu)的另一個(gè)技術(shù)是在這個(gè)處理系統(tǒng)中包括非揮發(fā)性存儲(chǔ)裝置。然后,這個(gè)非揮發(fā)性存儲(chǔ)裝置可以被用于保存指示一個(gè)特定系統(tǒng)中所使用的存儲(chǔ)器結(jié)構(gòu)的一個(gè)值。再一次,盡管這允許在這個(gè)處理系統(tǒng)中使用各種比特寬度的存儲(chǔ)器結(jié)構(gòu),包括非揮發(fā)性存儲(chǔ)裝置會(huì)增加系統(tǒng)的費(fèi)用,因?yàn)榉菗]發(fā)性存儲(chǔ)裝置,例如電可擦除編程只讀存儲(chǔ)器,的實(shí)現(xiàn)是復(fù)雜的,并且是昂貴的。除了費(fèi)用增加外,非揮發(fā)性存儲(chǔ)裝置經(jīng)常是難以再編程的,這樣使改變不同的存儲(chǔ)器結(jié)構(gòu)就更加困難了。
其它的現(xiàn)有系統(tǒng)假定一個(gè)特定的外部存儲(chǔ)器結(jié)構(gòu),并且需要這個(gè)外部存儲(chǔ)器與這個(gè)假定一致。
圖1顯示了包括一個(gè)CPU和一個(gè)存儲(chǔ)器控制器的一個(gè)處理器。3個(gè)不同的存儲(chǔ)器結(jié)構(gòu)也被顯示在圖1中,包括32-比特,16-比特,和8-比特結(jié)構(gòu)。也顯示了存儲(chǔ)器控制器用于訪問每一個(gè)可能不同的存儲(chǔ)器結(jié)構(gòu)的地址數(shù)據(jù)和控制信號(hào)。
如果在圖1中所顯示的系統(tǒng)假定具有一個(gè)16-比特?cái)?shù)據(jù)總線的一個(gè)存儲(chǔ)器結(jié)構(gòu)被用于保存這個(gè)復(fù)位矢量,兩個(gè)連續(xù)的、對(duì)地址0x00(十六進(jìn)制格式)和0x02進(jìn)行的讀取操作將被執(zhí)行,來檢索組成這個(gè)32-比特復(fù)位矢量的4個(gè)字節(jié)(T,U,V和W)。盡管這兩個(gè)訪問的執(zhí)行相對(duì)16-比特存儲(chǔ)器是可行的,但是使用相同的假設(shè)來對(duì)32-比特和8-比特存儲(chǔ)器結(jié)構(gòu)載入這個(gè)復(fù)位矢量的地址的類似嘗試將失敗。
對(duì)8-比特存儲(chǔ)器結(jié)構(gòu)來說,僅執(zhí)行了使用兩個(gè)地址的兩個(gè)讀取操作。雖然這個(gè)存儲(chǔ)器控制器對(duì)每一個(gè)讀取操作,將期待在D[310]數(shù)據(jù)線上接收16-比特的數(shù)據(jù),但是這個(gè)8-比特存儲(chǔ)器將僅驅(qū)動(dòng)D[3124]的數(shù)據(jù)線。所以,對(duì)這個(gè)8-比特存儲(chǔ)器,將僅檢索到包括這個(gè)復(fù)位矢量地址的4個(gè)字節(jié)中的兩個(gè)字節(jié)。
對(duì)32-比特存儲(chǔ)器結(jié)構(gòu)來說,32-比特存儲(chǔ)器將忽略地址線A[1],這樣,兩個(gè)連續(xù)的、對(duì)地址0x00和0x02進(jìn)行的讀取操作將產(chǎn)生對(duì)被保存在這個(gè)32-比特存儲(chǔ)器的位置0x00上的這個(gè)32-比特字的重復(fù)讀取。盡管這個(gè)32-比特存儲(chǔ)器將整個(gè)復(fù)位矢量地址驅(qū)動(dòng)到這個(gè)數(shù)據(jù)線D[310]上,但是這個(gè)存儲(chǔ)器控制器假定僅對(duì)每一個(gè)存儲(chǔ)器訪問,接收在數(shù)據(jù)線D[3116]上的16-比特?cái)?shù)據(jù)。這樣,這個(gè)存儲(chǔ)器控制器將解釋存儲(chǔ)器操作的結(jié)果,并且到達(dá)一個(gè)地址,這個(gè)地址不是組成這個(gè)復(fù)位矢量地址的完整的4-字節(jié)地址(TUVW),而是包括這4個(gè)字節(jié)中的兩個(gè)字節(jié)(VWVW)的兩個(gè)拷貝。
所以,就需要使一個(gè)處理系統(tǒng)能夠利用各種比特寬度的存儲(chǔ)器結(jié)構(gòu),而不需要附加的管腳,非揮發(fā)性存儲(chǔ)位置,或者數(shù)據(jù)總線采樣來精確地復(fù)位完成時(shí)這個(gè)復(fù)位矢量的地址的一個(gè)方法及其裝置。另外,也希望有這樣一個(gè)方法和裝置,以允許在完成復(fù)位后,就緊接著配置各種處理系統(tǒng)的參數(shù),以使隨后的操作將能夠利用這些配置參數(shù)。
本發(fā)明被通過示例所顯示,但是不局限于附圖,在附圖中,類似的標(biāo)號(hào)指類似的部件,并且其中圖1顯示了一個(gè)現(xiàn)有技術(shù)處理系統(tǒng)的一個(gè)框圖;圖2顯示了根據(jù)本發(fā)明的一個(gè)特定實(shí)施方式,用于保存一個(gè)復(fù)位矢量地址的各種存儲(chǔ)器結(jié)構(gòu)的一個(gè)框圖;圖3顯示了根據(jù)本發(fā)明的一個(gè)特定實(shí)施方式,被用于控制寄存器結(jié)構(gòu)的一個(gè)被拾取復(fù)位矢量值的一個(gè)框圖;圖4顯示了根據(jù)本發(fā)明的一個(gè)特定實(shí)施方式,一個(gè)數(shù)據(jù)處理系統(tǒng)的一個(gè)框圖;圖5顯示了根據(jù)本發(fā)明的一個(gè)特定實(shí)施方式,用于配置一個(gè)數(shù)據(jù)處理系統(tǒng)的一個(gè)方法的一個(gè)流圖;圖6顯示了根據(jù)本發(fā)明的一個(gè)特定實(shí)施方式,用于配置一個(gè)數(shù)據(jù)處理系統(tǒng)的一個(gè)替代方法的一個(gè)流圖;圖7顯示了根據(jù)本發(fā)明的一個(gè)特定實(shí)施方式,被用于配置一個(gè)控制寄存器的一個(gè)配置值的一個(gè)框圖;和圖8顯示了根據(jù)本發(fā)明的另一個(gè)特定實(shí)施方式,一個(gè)數(shù)據(jù)處理系統(tǒng)的一個(gè)框圖。
技術(shù)人員將理解,圖中所顯示的部件僅僅是為了簡單和清晰,并且沒有必要按照原尺寸進(jìn)行顯示。例如,圖中某些部件的尺寸相對(duì)其它部件可能被夸大,以助于更好地理解本發(fā)明的實(shí)施方式。
一般,本發(fā)明提供了一個(gè)方法和裝置,來使當(dāng)完成復(fù)位時(shí),可以使用各種比特寬度的存儲(chǔ)器來對(duì)一個(gè)數(shù)據(jù)處理系統(tǒng)進(jìn)行配置。在一個(gè)實(shí)施方式中,組成這個(gè)復(fù)位矢量的這4個(gè)字節(jié)被通過獨(dú)立的存儲(chǔ)器操作,從保存這個(gè)復(fù)位矢量的存儲(chǔ)器中拾取出來。這4個(gè)字節(jié)被以一個(gè)預(yù)定的方式保存在每一個(gè)可能的存儲(chǔ)器結(jié)構(gòu)中,以使4個(gè)預(yù)定的地址將在數(shù)據(jù)總線的一個(gè)共同部分上檢索4個(gè)不同的字節(jié)。被檢索的復(fù)位矢量的部分可以被用于配置這個(gè)數(shù)據(jù)處理系統(tǒng)中的各種參數(shù),以使與這個(gè)系統(tǒng)的存儲(chǔ)器或者其它功能特性修改的附加參數(shù)被初始化。包括在這個(gè)復(fù)位矢量中的配置值包括數(shù)據(jù)和控制部分,以使這個(gè)控制部分決定這個(gè)配置值的數(shù)據(jù)部分如何被應(yīng)用到這個(gè)數(shù)據(jù)處理系統(tǒng)中的各種參數(shù)。
在另一個(gè)實(shí)施方式中,在從存儲(chǔ)器中檢索這個(gè)復(fù)位矢量以前,拾取一個(gè)配置值。這個(gè)被拾取的配置值可能包括這樣的信息,例如存儲(chǔ)器結(jié)構(gòu)的比特寬度(數(shù)據(jù)字段尺寸),與相應(yīng)于這個(gè)存儲(chǔ)器結(jié)構(gòu)的訪問時(shí)間相關(guān)的信息(等待狀態(tài)控制信息),或者在這個(gè)存儲(chǔ)器結(jié)構(gòu)中所使用的比特順序(以小的或者大的進(jìn)行結(jié)束)。這樣,被檢索的配置值被用于配置對(duì)隨后進(jìn)行的從存儲(chǔ)器中拾取這個(gè)復(fù)位矢量進(jìn)行控制的參數(shù),以使在這個(gè)存儲(chǔ)器結(jié)構(gòu)中對(duì)復(fù)位矢量的保存可以被優(yōu)化成適合所使用的存儲(chǔ)器類型。在其它的實(shí)施方式中,這個(gè)被檢索的配置值被用于配置使能/非使能包括在這個(gè)數(shù)據(jù)處理系統(tǒng)中的調(diào)試(debug)或者仿真特征的配置參數(shù)。
本發(fā)明使一個(gè)數(shù)據(jù)處理系統(tǒng)利用各種存儲(chǔ)器結(jié)構(gòu)來保存這個(gè)復(fù)位矢量,而不增加非揮發(fā)性存儲(chǔ)裝置,附加的膠邏輯,或者附加的管腳,這在現(xiàn)有技術(shù)系統(tǒng)中是不可能的。除了復(fù)位矢量外,還可以獲取其它配置信息來初始化這個(gè)處理系統(tǒng)中的附加參數(shù),以使在復(fù)位后初始執(zhí)行的指令被以一個(gè)比現(xiàn)有技術(shù)方法更有效的方式執(zhí)行,現(xiàn)有技術(shù)的方法需要執(zhí)行幾個(gè)指令來配置這樣的參數(shù)。
參考圖2-8,可以更好地理解本發(fā)明。圖2顯示了可以與一個(gè)數(shù)據(jù)處理系統(tǒng)一起使用的一個(gè)存儲(chǔ)器映射210。使用顯示為從0x00-0xFFFFFFFF的地址比特來定義在存儲(chǔ)器映射210中的位置。復(fù)位處理器例程220被包括在存儲(chǔ)器映射210中,并且在這個(gè)處理系統(tǒng)完成復(fù)位后被執(zhí)行。為了執(zhí)行這個(gè)復(fù)位處理器例程220,被稱作復(fù)位矢量的這個(gè)復(fù)位處理器例程220的地址被從存儲(chǔ)器中拾取。復(fù)位矢量被顯示為具有一個(gè)值0xTUVW。字符T,U,V和W中的每一個(gè)表示32-比特復(fù)位矢量中的一個(gè)8-比特字節(jié)部分。
如所顯示的,復(fù)位處理器例程220被優(yōu)選保存在一個(gè)引導(dǎo)存儲(chǔ)器設(shè)備240中。為了執(zhí)行復(fù)位處理器例程220而必須拾取的這個(gè)復(fù)位矢量也可以被保存在引導(dǎo)存儲(chǔ)器設(shè)備240中,或者它可以被保存在一個(gè)獨(dú)立的存儲(chǔ)器設(shè)備中。為了實(shí)現(xiàn)對(duì)組成復(fù)位處理器例程地址的4字節(jié)的拾取,這4個(gè)字節(jié)可以分別保存在每一個(gè)不同存儲(chǔ)器結(jié)構(gòu)中的不相鄰位置。這樣,復(fù)位矢量的相鄰部分被保存在存儲(chǔ)器中不相鄰的地址上,并且被至少一個(gè)比特所隔開。優(yōu)選地,在存儲(chǔ)器中復(fù)位矢量各部分的分隔是基于這個(gè)處理系統(tǒng)的數(shù)據(jù)總線的寬度的一個(gè)函數(shù)。優(yōu)選地,通過將一第一地址(基地址)增加與數(shù)據(jù)總線中字節(jié)數(shù)目相等的一個(gè)值就可以產(chǎn)生復(fù)位矢量部分的隨后地址。例如,如果數(shù)據(jù)總線的總線寬度是32比特(4個(gè)字節(jié)),如圖2所顯示的,字節(jié)部分的隔開可能是4字節(jié)。這樣,將地址增加4就可以在復(fù)位矢量部分之間進(jìn)行移動(dòng)。
在這里所提供的描述中,術(shù)語“總線”被用于指可以用于傳送一個(gè)類型或者多個(gè)類型的信息,例如數(shù)據(jù),地址,控制,或者狀態(tài)信息的多個(gè)信號(hào)或者導(dǎo)線。中括號(hào)被用于表示總線的導(dǎo)線或者一個(gè)值的比特位置。例如,D[3124]可以被用于表示一個(gè)數(shù)據(jù)總線上最高的8比特。
在32-比特存儲(chǔ)器250中,這個(gè)32-比特存儲(chǔ)器250對(duì)每一個(gè)存儲(chǔ)器訪問均返回32-比特的數(shù)據(jù),并且復(fù)位處理器例程地址的4個(gè)字節(jié)中的每一個(gè)被包括在一個(gè)獨(dú)立的32-比特字中的最高字節(jié)。這樣,復(fù)位矢量的最高字節(jié),T252,是在位置0x00上的字的最高的字節(jié)。這樣,當(dāng)對(duì)地址0x00執(zhí)行一第一讀取操作時(shí),值T將被提供在數(shù)據(jù)總線的D[3124]上。3個(gè)隨后的讀取操作將在隨后的讀取操作中使用地址0x04,0x08,0x0C來在數(shù)據(jù)總線的相同部分返回值U254,V256和W258。
從32-比特存儲(chǔ)器250中檢索值T-W252-258的相同存儲(chǔ)器操作將被用于從16-比特存儲(chǔ)器260中檢索值T-W262-268。注意,16-比特存儲(chǔ)器將僅驅(qū)動(dòng)16-比特的數(shù)據(jù)總線,所以將被以這樣一個(gè)方式連接到數(shù)據(jù)總線,以使對(duì)一特定地址所檢索的最高數(shù)據(jù)字節(jié)被返回在數(shù)據(jù)總線的最高部分(D[3124])。這樣,從16-比特存儲(chǔ)器260中讀取地址0x00的一個(gè)存儲(chǔ)器操作將在與使用32-比特存儲(chǔ)器250對(duì)這個(gè)地址進(jìn)行讀取時(shí)的數(shù)據(jù)總線的相同部分上,返回?cái)?shù)據(jù)T262。
圖2也顯示了以這樣一個(gè)方法保存組成復(fù)位矢量的4字節(jié)的一個(gè)8-比特存儲(chǔ)器270,以允許相同的存儲(chǔ)器操作可以被用于32-比特存儲(chǔ)器250或者用于16-比特存儲(chǔ)器260,以檢索復(fù)位矢量的合適的值。所以,訪問地址0x00,0x04,0x08,和0x0C的4個(gè)存儲(chǔ)器讀取操作可以被用于8-比特存儲(chǔ)器270,以使可以相應(yīng)地返回值T-W272-278。為了使對(duì)每一個(gè)不同的存儲(chǔ)器結(jié)構(gòu),數(shù)據(jù)被驅(qū)動(dòng)到數(shù)據(jù)總線的相同部分上,8-比特存儲(chǔ)器270應(yīng)被配置成驅(qū)動(dòng)數(shù)據(jù)總線的最高8-比特部分(D[3124])。
圖3顯示了被包括在一個(gè)被拾取復(fù)位矢量值330中的、以配置這個(gè)處理系統(tǒng)中一個(gè)或者多個(gè)參數(shù)的一個(gè)配置值310的使用。如所顯示的,被拾取的復(fù)位矢量值300包括組成保存復(fù)位處理器例程的地址的4個(gè)數(shù)據(jù)字節(jié)T,U,V,W。通過利用組成被拾取復(fù)位矢量值300的比特的一部分作為一個(gè)配置值310,在一個(gè)復(fù)位條件后,在對(duì)被拾取的復(fù)位矢量值300進(jìn)行初始化檢索的期間,可以立即檢索數(shù)據(jù)處理系統(tǒng)的配置參數(shù)。如這樣時(shí),通過使用配置值310而配置的參數(shù)可以在復(fù)位完成后被立即配置,這樣可以使隨后的處理系統(tǒng)的操作可以利用被修改的參數(shù)值。
注意,被包括在配置值310中的、需要被以一個(gè)特定的方式配置這個(gè)處理系統(tǒng)中特定參數(shù)的比特的設(shè)置將產(chǎn)生對(duì)被拾取復(fù)位矢量值300所指示的地址的一個(gè)改變。這樣,引導(dǎo)存儲(chǔ)器設(shè)備240可以被構(gòu)造成包括多于一個(gè)的復(fù)位處理器例程。這些例程中的每一個(gè)可以被保存在與各種值中一個(gè)相應(yīng)的一個(gè)地址中,這各種值可以根據(jù)在配置值310中特定的設(shè)置產(chǎn)生被拾取的復(fù)位矢量值300。圖2顯示了被保存在地址0xT′U′V′W′的這樣一個(gè)替代復(fù)位處理器例程230。注意,替代的復(fù)位處理器例程230簡單地可以是將這個(gè)處理器重新定向到保存被執(zhí)行的實(shí)際例程的另一個(gè)位置的一個(gè)指針。所以,如果在一個(gè)特定系統(tǒng)中可以期望多個(gè)配置值310,與這多個(gè)復(fù)位矢量地址相應(yīng)的多個(gè)處理器例程就被保存在引導(dǎo)存儲(chǔ)器設(shè)備240中。
因?yàn)榕渲弥?10內(nèi)不同的設(shè)置需要多個(gè)復(fù)位處理器例程(即使它們僅僅是指針),優(yōu)選地,這個(gè)配置值310被包括在被拾取的復(fù)位矢量值的最低有效位部分。這樣,其中需要分布多個(gè)復(fù)位處理器例程的、引導(dǎo)存儲(chǔ)器設(shè)備240中的存儲(chǔ)器區(qū)域可以被減少。如果被拾取復(fù)位矢量300中更高有效位的比特被用于配置值310,這多個(gè)例程將被分布在整個(gè)引導(dǎo)存儲(chǔ)器設(shè)備240中,這樣降低了引導(dǎo)存儲(chǔ)器設(shè)備240用于其它目的的效率。
配置值310也可以是配置這個(gè)處理系統(tǒng)內(nèi)一個(gè)特定參數(shù)的一單個(gè)比特,或者它也可以是配置這個(gè)處理系統(tǒng)內(nèi)一個(gè)或者多個(gè)特定參數(shù)的多個(gè)比特。如果多個(gè)比特被包括在這個(gè)配置值310中,這個(gè)配置值310可以包括一個(gè)數(shù)據(jù)部分和一個(gè)控制部分。這個(gè)數(shù)據(jù)部分與將被保存在特定參數(shù)位置、以將這些參數(shù)配置到合適的設(shè)置的實(shí)際數(shù)據(jù)值相應(yīng)。這個(gè)控制部分可以被用于控制配置值310數(shù)據(jù)部分的應(yīng)用或者其部分。
圖3中所顯示的示例顯示了包括多個(gè)數(shù)據(jù)部分312-318的數(shù)據(jù)部分。圖3示例中的配置值310的控制部分被顯示成包括一個(gè)參數(shù)控制部分320。如所顯示的,數(shù)據(jù)部分312-316被應(yīng)用到控制寄存器350的參數(shù)A352,B354,和C356。
控制寄存器350可以駐留在一個(gè)CPU中,一個(gè)接口模塊,或者其它包括在這個(gè)數(shù)據(jù)處理系統(tǒng)的附加邏輯中。這個(gè)控制寄存器350可以是一個(gè)芯片選擇控制寄存器,用于控制數(shù)據(jù)處理系統(tǒng)與經(jīng)過一個(gè)芯片選擇信號(hào)被訪問的一個(gè)模塊進(jìn)行接口通信的方式。在一個(gè)示例中,控制寄存器350是與一個(gè)存儲(chǔ)器結(jié)構(gòu)相應(yīng)的一個(gè)芯片選擇寄存器。在這樣一個(gè)示例中,參數(shù)A352可以與用于對(duì)這個(gè)芯片選擇信號(hào)所選擇的存儲(chǔ)器結(jié)構(gòu)進(jìn)行訪問的等待狀態(tài)數(shù)目相應(yīng)。參數(shù)B354可以與一個(gè)停止周期參數(shù)相應(yīng),這個(gè)停止周期參數(shù)判斷這個(gè)處理系統(tǒng)是否在存儲(chǔ)器操作中包括停止周期。最后,參數(shù)C356可以與存儲(chǔ)器結(jié)構(gòu)的數(shù)據(jù)總線的寬度相應(yīng)。這樣,在完成了復(fù)位后,特定存儲(chǔ)器結(jié)構(gòu)的正確參數(shù)設(shè)置將被包括在這個(gè)芯片選擇寄存器中,以使可以正確地構(gòu)造隨后的存儲(chǔ)器操作。
在另一個(gè)實(shí)施方式中,控制寄存器350與控制調(diào)試和仿真設(shè)置和操作的一個(gè)控制寄存器相應(yīng)。這樣,參數(shù)A-C352-356判斷特定的調(diào)試或者仿真模式是否是可以操作的。例如,可以用參數(shù)A-C352-356中的一個(gè)來使能或者關(guān)閉顯示狀態(tài),顯示狀態(tài)使得內(nèi)部信號(hào)可以通過外部可訪問信號(hào)看出。其它的調(diào)試和仿真功能可能包括性能監(jiān)測,程序跟蹤,在退出復(fù)位狀態(tài)后,允許直接進(jìn)入一個(gè)調(diào)試模式,使能/關(guān)閉到一個(gè)或者多個(gè)模塊的時(shí)鐘,使能退出復(fù)位的一個(gè)快速或者慢速時(shí)鐘速率,等等。
配置值310的數(shù)據(jù)部分318可以被提供給一個(gè)系統(tǒng)控制參數(shù)362,這個(gè)系統(tǒng)控制參數(shù)362對(duì)控制寄存器350來說是外部參數(shù)。類似地,配置值310的數(shù)據(jù)部分的不同部分可以被應(yīng)用到這個(gè)數(shù)據(jù)處理系統(tǒng)的各種參數(shù)。這樣,數(shù)據(jù)部分可以配置與這個(gè)數(shù)據(jù)處理系統(tǒng)的很寬范圍內(nèi)的功能相應(yīng)的參數(shù)。
如前面所提到的,配置值310的控制部分被顯示在圖3中,并且包括參數(shù)控制部分310,可以被用于控制將各種數(shù)據(jù)部分312-318應(yīng)用到它們相應(yīng)參數(shù)。在一個(gè)實(shí)施方式中,參數(shù)控制部分320可以是一個(gè)單比特,表示數(shù)據(jù)部分312-318中的任何部分是否可以應(yīng)用到它們相應(yīng)的參數(shù)。在另一個(gè)實(shí)施方式中,數(shù)據(jù)部分312和314可以被應(yīng)用到相應(yīng)的參數(shù),而與參數(shù)控制部分320的狀態(tài)無關(guān)。但是,在這相同的實(shí)施方式中,數(shù)據(jù)部分316和318可以被參數(shù)控制部分320所控制,以使可以根據(jù)參數(shù)控制部分320的狀態(tài)決定它們可以或者不可以應(yīng)用到它們相應(yīng)的參數(shù)。
在另一個(gè)實(shí)施方式中,參數(shù)控制部分320可以包括多個(gè)比特,每一個(gè)比特與配置值310內(nèi)的特定數(shù)據(jù)部分聯(lián)系在一起。這樣,每一個(gè)數(shù)據(jù)部分312-318在參數(shù)控制部分320內(nèi)有一個(gè)相應(yīng)的比特,來決定這個(gè)特定的數(shù)據(jù)部分是否可以被應(yīng)用到其相應(yīng)的參數(shù)。注意,在某些實(shí)施方式中,數(shù)據(jù)部分312-318中僅某些數(shù)據(jù)部分可以被參數(shù)控制部分320內(nèi)的一個(gè)相應(yīng)比特所控制。
配置值310的控制部分的另一個(gè)可能用途是決定數(shù)據(jù)部分312-318中每一個(gè)將應(yīng)用或者不應(yīng)用的相應(yīng)參數(shù)。這樣,配置值310的控制部分可能決定一個(gè)特定數(shù)據(jù)部分被應(yīng)用到一第一控制寄存器中的一第一參數(shù),還是被應(yīng)用到可以位于相同的控制寄存器中或者是位于另一個(gè)控制寄存器中的一第二參數(shù)。該領(lǐng)域內(nèi)的普通技術(shù)人員將很清楚,配置值310內(nèi)可以使用各種數(shù)據(jù)和控制部分的組合,來在一特定數(shù)據(jù)處理系統(tǒng)內(nèi)實(shí)現(xiàn)所需要的參數(shù)配置。
圖4顯示了包括可以連接到所顯示的各種存儲(chǔ)器結(jié)構(gòu)的靈活性的一個(gè)數(shù)據(jù)處理系統(tǒng)400。這個(gè)數(shù)據(jù)處理系統(tǒng)400包括處理器410,并且32-比特存儲(chǔ)器440,16-比特存儲(chǔ)器450,和8-比特存儲(chǔ)器460中至少一個(gè)。處理器410包括可以被連接到接口電路(接口模塊416)的一個(gè)中央處理單元(CPU 412)。處理器410可以被形成在一單個(gè)集成電路上,并且可以是一個(gè)微控制器或者類似的器件。每一個(gè)存儲(chǔ)器結(jié)構(gòu)可以是任何類型的存儲(chǔ)器。
處理器410也可以包括附加的邏輯420,附加的邏輯420可以連接到CPU412和接口模塊416中的一個(gè)或者兩個(gè)。附加的邏輯420可以是被用于向這個(gè)系統(tǒng)提供調(diào)試和/或者仿真功能的調(diào)試/仿真電路。這樣的調(diào)試/仿真功能可能包括允許顯示周期,背景調(diào)試模式,程序跟蹤等等。接口模塊416連接到被包括在這個(gè)數(shù)據(jù)處理系統(tǒng)400中的存儲(chǔ)器結(jié)構(gòu)(存儲(chǔ)電路)。在圖4所顯示的實(shí)施方式中,處理器410包括一個(gè)32-比特?cái)?shù)據(jù)總線和一個(gè)N-比特地址總線。執(zhí)行存儲(chǔ)器操作所需要的控制信號(hào)被經(jīng)過一個(gè)控制總線提供到存儲(chǔ)器設(shè)備。
在一個(gè)32-比特存儲(chǔ)器440被包括在這個(gè)數(shù)據(jù)處理系統(tǒng)400中的情形下,當(dāng)接口模塊416對(duì)一個(gè)存儲(chǔ)器讀取操作進(jìn)行初始化時(shí),將驅(qū)動(dòng)整個(gè)數(shù)據(jù)總線(D[310])。如果與這個(gè)復(fù)位矢量地址(T-W)相應(yīng)的數(shù)據(jù)字節(jié)被保存在32-比特存儲(chǔ)器440中,如所顯示的,使用地址0x00,0x04,0x08和0x0C的4個(gè)讀取操作將促使組成這個(gè)復(fù)位矢量的4個(gè)字節(jié)被經(jīng)過數(shù)據(jù)線D[3124]提供到接口模塊416。
注意,在用于檢索這些值的地址之間的間隔是32-比特存儲(chǔ)器440的最小地址增量。這里的最小地址增量是基于32-比特存儲(chǔ)器440或者不接收或者忽略地址線A[10]的這個(gè)事實(shí)來確定。
在包括16-比特存儲(chǔ)器450的一個(gè)數(shù)據(jù)處理系統(tǒng)中,與上面所描述的、用于從32-比特存儲(chǔ)器440檢索這個(gè)復(fù)位矢量的存儲(chǔ)器操作相同的存儲(chǔ)器操作可以被用于在數(shù)據(jù)總線的相同部分上,從16-比特存儲(chǔ)器450檢索這個(gè)復(fù)位矢量。注意,16-比特存儲(chǔ)器450不能夠忽略地址線A[1]。但是,通過將基于32-比特存儲(chǔ)器440內(nèi)可能的尋址間隔尺寸組成復(fù)位矢量的字節(jié)分隔(在這個(gè)所顯示的示例處理系統(tǒng)中,可能的最大的比特寬度),用于拾取這個(gè)復(fù)位矢量的地址可以被普遍地應(yīng)用到各種可能的存儲(chǔ)器結(jié)構(gòu)。
如果這個(gè)數(shù)據(jù)處理系統(tǒng)包括一個(gè)8-比特存儲(chǔ)器460,與用于從32-比特或者16-比特存儲(chǔ)器系統(tǒng)檢索這個(gè)復(fù)位矢量的地址集合相同的地址集合可以被用于從8-比特存儲(chǔ)器460檢索這個(gè)復(fù)位矢量。注意,8-比特存儲(chǔ)器460接收并且利用地址線A[10]。但是,因?yàn)楦鶕?jù)在32-比特存儲(chǔ)器440中可以訪問的最小間隔尺寸,被選擇用于保存復(fù)位字節(jié)的字節(jié)部分的地址位置相互之間有距離,被用于檢索這個(gè)復(fù)位矢量的地址可以被普遍地應(yīng)用。注意,8-比特存儲(chǔ)器460僅連接到數(shù)據(jù)總線的一個(gè)8-比特部分。在圖4所顯示的這個(gè)示例中,這包括數(shù)據(jù)線D[3124]。這樣,接口模塊416應(yīng)期待將在這些特定的數(shù)據(jù)線上接收與復(fù)位矢量的各種部分相應(yīng)的數(shù)據(jù)。該領(lǐng)域內(nèi)的普通技術(shù)人員將清楚,被用于檢索組成復(fù)位矢量的數(shù)據(jù)字節(jié)的特定數(shù)據(jù)線可以被根據(jù)接口模塊416和可能的8-比特和16-比特存儲(chǔ)器結(jié)構(gòu)450和460之間的連接而修改。
如參考圖3所描述的,這個(gè)復(fù)位矢量可能包括將被應(yīng)用到這個(gè)數(shù)據(jù)處理系統(tǒng)400中各種參數(shù)的一個(gè)配置值。處理器410被顯示為在其各種模塊中包括一些控制寄存器414,418和422,控制寄存器可能包括根據(jù)這個(gè)配置值而被配置的參數(shù)。例如,CPU 412被顯示為包括一個(gè)控制寄存器414,接口模塊416被顯示為包括一個(gè)控制寄存器418,和附加的邏輯模塊420包括一個(gè)控制寄存器422。這樣,可能被包括在這個(gè)復(fù)位矢量中的配置值可能包括被應(yīng)用到可能包括在這些控制寄存器414,418和422中的一個(gè)或者多個(gè)的參數(shù)。
圖5顯示了與用于配置一個(gè)數(shù)據(jù)處理系統(tǒng)的一個(gè)方法相應(yīng)的一個(gè)流圖。這個(gè)方法從步驟502開始,在步驟502中,這個(gè)數(shù)據(jù)處理系統(tǒng)從一個(gè)復(fù)位狀態(tài)開始。當(dāng)這個(gè)復(fù)位信號(hào)是負(fù)的,以使這個(gè)復(fù)位狀態(tài)將退出時(shí),這個(gè)方法進(jìn)行到步驟504。在步驟504中,在這個(gè)數(shù)據(jù)處理系統(tǒng)中的硬件被初始化為使這個(gè)數(shù)據(jù)處理系統(tǒng)開始操作的各種預(yù)定狀態(tài)。
在步驟506中,一個(gè)復(fù)位矢量地址被產(chǎn)生。在圖4的這個(gè)數(shù)據(jù)處理系統(tǒng)400中,在步驟506所產(chǎn)生的這個(gè)復(fù)位矢量地址將與被用于從存儲(chǔ)器檢索這個(gè)復(fù)位矢量的基地址相應(yīng)。在圖4所顯示的特定示例中,這將與地址0x00相應(yīng)。應(yīng)注意,這個(gè)復(fù)位矢量的基地址將位于存儲(chǔ)器結(jié)構(gòu)中的各個(gè)點(diǎn)上。
在步驟508中,復(fù)位異常處理器例程(復(fù)位矢量)的地址被使用硬件初始化的復(fù)位值而拾取。在包括一個(gè)32-比特地址空間的一個(gè)系統(tǒng)中,通過執(zhí)行對(duì)存儲(chǔ)器的4個(gè)獨(dú)立字節(jié)訪問,來拾取這個(gè)復(fù)位矢量??梢酝ㄟ^開始根據(jù)這個(gè)復(fù)位矢量地址來訪問這個(gè)存儲(chǔ)器,然后將這個(gè)地址增加一個(gè)已知量來為隨后的字節(jié)訪問產(chǎn)生隨后的地址,來執(zhí)行4個(gè)獨(dú)立的字節(jié)訪問。有效地,被用于產(chǎn)生隨后地址的增量與其中保存了這個(gè)復(fù)位矢量的最大比特寬度存儲(chǔ)器的、以字節(jié)來測量的寬度相等。例如,如果一個(gè)32-比特存儲(chǔ)器是最大寬度的存儲(chǔ)器,這個(gè)增量就是4。在這個(gè)示例中應(yīng)注意,任何4的倍數(shù)也可以作為增量,但是較大的增量降低了存儲(chǔ)器的使用效率。使用最大比特寬度存儲(chǔ)器的字節(jié)寬度作為這個(gè)增量,使這個(gè)復(fù)位矢量的字節(jié)部分盡可能地在各種存儲(chǔ)器結(jié)構(gòu)內(nèi)被隔開。以這樣一個(gè)方式來拾取這個(gè)復(fù)位矢量,使一個(gè)數(shù)據(jù)處理系統(tǒng)能夠與可能保存組成這個(gè)復(fù)位矢量的字節(jié)的一些不同存儲(chǔ)器結(jié)構(gòu)一起進(jìn)行操作。
在步驟510中,通過在步驟508中被執(zhí)行的拾取而接收的數(shù)據(jù)字節(jié)被檢查。如聯(lián)系圖3所描述的,已經(jīng)被拾取的這個(gè)復(fù)位矢量包括一個(gè)配置值。這個(gè)配置值可能包括一個(gè)控制部分和一個(gè)數(shù)據(jù)部分,以使根據(jù)這個(gè)控制部分,這個(gè)數(shù)據(jù)部分的各種部分可能或者不可能被應(yīng)用到這個(gè)系統(tǒng)的各個(gè)參數(shù)。所以,被包括在配置值內(nèi)的某些數(shù)據(jù)部分可能被無條件地應(yīng)用,而其它數(shù)據(jù)部分可能被根據(jù)某些條件而應(yīng)用。
在步驟512中,判斷是否需要執(zhí)行一個(gè)條件更新。優(yōu)選地,這通過檢查配置值的控制部分來完成。如果這個(gè)控制部分指示,任何條件數(shù)據(jù)部分需要被應(yīng)用到其相應(yīng)的控制參數(shù),這個(gè)方法進(jìn)行到步驟514。如果不需要執(zhí)行條件更新,這個(gè)方法進(jìn)行到步驟516。
在步驟514中,需要被根據(jù)條件應(yīng)用到其相應(yīng)的控制參數(shù)的數(shù)據(jù)部分被用于更新這些控制參數(shù)。這樣,在步驟504中被對(duì)這些控制參數(shù)而決定的初始化值被包括在這個(gè)配置值中的數(shù)據(jù)部分所覆蓋寫。在完成步驟514后,這個(gè)方法進(jìn)行到步驟516。
在步驟516中,需要被無條件地應(yīng)用到其相應(yīng)的參數(shù)的配置值中的那些部分被用于更新這些相應(yīng)的值。這樣,根據(jù)初始化狀態(tài)被保存在這些參數(shù)中的前面的值被包括在配置值中無條件應(yīng)用數(shù)據(jù)部分中的值所覆蓋寫。例如,如果這個(gè)硬件開始被配置成與一個(gè)外部16-比特寬的存儲(chǔ)器結(jié)構(gòu)進(jìn)行交互通信,在步驟508中被拾取的這個(gè)復(fù)位矢量可能包括重新配置這個(gè)特定參數(shù)、以反映一個(gè)32-比特存儲(chǔ)器在被實(shí)際使用的一個(gè)配置值。
在步驟518中,繼續(xù)這個(gè)復(fù)位異常處理器的拾取和執(zhí)行,其中被繼續(xù)的拾取和執(zhí)行利用在步驟514和516中可能被修改的新更新控制參數(shù)。所以,在這個(gè)系統(tǒng)中、繼拾取這個(gè)控制值的第一總線訪問后的第二總線訪問,利用從在第一總線訪問器件而拾取的控制值產(chǎn)生的重新配置值。這樣,在步驟518中所進(jìn)行的拾取和執(zhí)行可能被以一個(gè)更有效的方法而執(zhí)行,如果在步驟504中,被保存在這些控制參數(shù)中的標(biāo)準(zhǔn)初始化值被空著。例如,如果這個(gè)系統(tǒng)被初始化為一個(gè)16-比特外部存儲(chǔ)器,并且實(shí)際使用了一個(gè)32-比特外部存儲(chǔ)器,表示這個(gè)外部存儲(chǔ)器的比特寬度的、對(duì)這個(gè)參數(shù)的修改將使在步驟518中被執(zhí)行的拾取可以被一個(gè)更有效的方法來執(zhí)行,因?yàn)樗械?2-比特?cái)?shù)據(jù)總線將被認(rèn)為是相關(guān)的,而不僅僅是其的一個(gè)16比特部分。
參考圖2-5所描述的本發(fā)明的實(shí)施方式已經(jīng)包括了在被拾取復(fù)位矢量中的一個(gè)可能配置值。在一個(gè)替代的實(shí)施方式中,在隨后對(duì)這個(gè)復(fù)位矢量進(jìn)行拾取前,先將配置值作為一個(gè)獨(dú)立的數(shù)據(jù)部分而拾取。這樣,在完成復(fù)位狀態(tài)后,并且執(zhí)行對(duì)這個(gè)復(fù)位矢量的拾取以前,這個(gè)配置值可以被檢索,并且被用于改變這個(gè)系統(tǒng)內(nèi)的初始化狀態(tài),以使可以使用一個(gè)更有效的方法來拾取這個(gè)復(fù)位矢量和執(zhí)行其它隨后的存儲(chǔ)器和其它操作。圖6中顯示了一個(gè)流圖,這個(gè)流圖顯示了采用這樣一個(gè)技術(shù)的一個(gè)方法。
在步驟602中,判斷促使這個(gè)處理系統(tǒng)維持在復(fù)位狀態(tài)的復(fù)位信號(hào)是否已經(jīng)變負(fù)了。當(dāng)這個(gè)復(fù)位信號(hào)已經(jīng)變負(fù)了時(shí),這個(gè)方法進(jìn)行到步驟604。步驟604與圖5的步驟504類似,因?yàn)橛布怀跏蓟癁轭A(yù)定狀態(tài)。
在步驟606中,產(chǎn)生一個(gè)配置值地址。在步驟608中,這個(gè)配置值地址被用于從存儲(chǔ)器中檢索一個(gè)配置值。使用到一個(gè)存儲(chǔ)裝置(存儲(chǔ)器結(jié)構(gòu)中的一個(gè))的一個(gè)總線訪問來檢索這個(gè)配置值,在這個(gè)復(fù)位信號(hào)變負(fù)后,在任何其它總線訪問以前,這個(gè)存儲(chǔ)設(shè)備被初始化。對(duì)這個(gè)配置值的檢索可以被系統(tǒng)中的CPU 412所執(zhí)行,或者被存儲(chǔ)器接口416所執(zhí)行。這個(gè)配置值可以包括一個(gè)單字節(jié)的數(shù)據(jù)或者多個(gè)數(shù)據(jù)字節(jié),這與需要被從其初始化狀態(tài)而改變的參數(shù)數(shù)目有關(guān)。在這個(gè)配置值包括多個(gè)字節(jié)的情形下,將采用如在圖2和4中所示的用于拾取這個(gè)復(fù)位矢量的一個(gè)類似尋址方法,從而確保這個(gè)處理系統(tǒng)能夠成功地完成復(fù)位,當(dāng)支持多個(gè)不同的可能存儲(chǔ)器結(jié)構(gòu)時(shí)。
在步驟612中,檢查被檢索的、組成這個(gè)配置值的一個(gè)或者多個(gè)數(shù)據(jù)字節(jié)。在步驟614中,判斷是否有需要被執(zhí)行的條件更新,其中是根據(jù)這個(gè)配置值的一個(gè)控制部分來進(jìn)行這個(gè)判斷的。如果這個(gè)控制部分指示需要進(jìn)行特定的條件更新,這個(gè)方法進(jìn)行到步驟616。如果不需要進(jìn)行條件更新,這個(gè)方法就直接進(jìn)行到步驟618,而不通過步驟616。
在步驟616中,執(zhí)行任何需要執(zhí)行的、對(duì)參數(shù)的條件更新。在步驟618中,任何無條件的更新,或者與控制部分中任何特定狀態(tài)無關(guān)的更新也被執(zhí)行。這樣,步驟616和618可以配置各種參數(shù),以使它們的狀態(tài)可以被從其在初始化步驟604中所設(shè)置的狀態(tài)進(jìn)行改變。這可以通過如圖7所顯示的,將所檢索的至少一部分配置值保存在一個(gè)控制寄存器中,來完成它。優(yōu)選地,在對(duì)這個(gè)配置值進(jìn)行初始化檢索后的任何條件訪問以前,進(jìn)行這個(gè)參數(shù)配置。
一旦已經(jīng)改變了各種參數(shù),來配置這個(gè)系統(tǒng)時(shí),這個(gè)方法進(jìn)行到步驟619,其中使用各種參數(shù)的新更新值來拾取這個(gè)復(fù)位異常處理器例程的地址。這樣,如果在步驟616和618中被更新的參數(shù)包括與一個(gè)芯片選擇寄存器相應(yīng)的參數(shù),這個(gè)芯片選擇寄存器被用于訪問保存這個(gè)復(fù)位異常處理器的地址的一個(gè)存儲(chǔ)器,就有可能比根據(jù)開始初始化設(shè)置而進(jìn)行的方法更有效的一個(gè)方法,來執(zhí)行在步驟619中被執(zhí)行的拾取。在步驟620中,經(jīng)過總線周期來檢索這個(gè)復(fù)位異常處理器例程,并且根據(jù)在步驟619中所檢索的地址來執(zhí)行這個(gè)復(fù)位異常處理器例程,總線周期包括存儲(chǔ)器讀取操作。注意,在步驟620中被執(zhí)行的拾取和執(zhí)行也將被利用修改的參數(shù)值來執(zhí)行,這些修改的參數(shù)可能包括數(shù)據(jù)寬度,字節(jié)順序,所需要的等待狀態(tài)的數(shù)目,或者與包括在這個(gè)系統(tǒng)中的存儲(chǔ)器相應(yīng)的其它總線定時(shí)特性。與使用這些參數(shù)的開始初始化值相比,配置這些參數(shù)可能使用一個(gè)更有效的方式來進(jìn)行拾取和操作。
在其它實(shí)施方式中,根據(jù)這個(gè)配置值而配置的參數(shù)包括與被包括在這個(gè)處理系統(tǒng)中的調(diào)試或者仿真特征相關(guān)的那些參數(shù)。這樣,在完成復(fù)位后,可以立即使能或者關(guān)閉調(diào)試或者仿真特征,這增強(qiáng)了這種特征的使用。
圖7顯示了反映使用一個(gè)配置值來配置包括在這個(gè)數(shù)據(jù)處理系統(tǒng)中的各種參數(shù)的一個(gè)框圖。這個(gè)配置值710被顯示為一個(gè)獨(dú)立的值,這個(gè)獨(dú)立的值可以與這個(gè)復(fù)位矢量不相關(guān),這與圖3的配置值310的情形不同。這樣,在為這個(gè)處理系統(tǒng)拾取這個(gè)復(fù)位矢量以前,配置值710可以被從存儲(chǔ)器中拾取。
與圖3的配置值310的情形相同,圖7的配置值710可以包括一個(gè)數(shù)據(jù)部分和一個(gè)控制部分。如所顯示的,圖7中這個(gè)配置值的數(shù)據(jù)部分包括數(shù)據(jù)部分712-718。這些數(shù)據(jù)部分被用于配置控制寄存器350的各種參數(shù)A-C352-356,并且也可以被用于配置在控制寄存器350的外部的其它系統(tǒng)控制參數(shù)762。注意,參數(shù)A-C可以是參考特定的芯片選擇控制寄存器或者與調(diào)試或者仿真操作相關(guān)的那些控制寄存器而描述的各種參數(shù)。這個(gè)配置值710的參數(shù)控制部分720可以被用于判斷是否需要執(zhí)行對(duì)系統(tǒng)中各種參數(shù)的特定更新。這樣,可以有條件地來執(zhí)行對(duì)各種參數(shù)的某些更新,這可以是在配置值710的控制部分的控制下進(jìn)行。
圖8顯示了被顯示為包括一個(gè)處理器810的一個(gè)數(shù)據(jù)處理系統(tǒng)800,這個(gè)處理器810被連接到3個(gè)不同的可能存儲(chǔ)器結(jié)構(gòu)中的一個(gè)或者多個(gè)。這樣,這個(gè)處理器810可以被連接到32-比特存儲(chǔ)器840,16-比特存儲(chǔ)器850,和8-比特存儲(chǔ)器860中任何一個(gè)。如圖4的這個(gè)處理器410,這個(gè)處理器810包括一個(gè)CPU 812,一個(gè)接口模塊816,和附加的邏輯模塊820,這個(gè)CPU 812包括一個(gè)控制寄存器814,這個(gè)接口模塊816包括一個(gè)控制寄存器818,附加的邏輯模塊820包括一個(gè)控制寄存器822。如所顯示的,這個(gè)CPU 812被連接到向這個(gè)CPU提供對(duì)存儲(chǔ)器訪問的接口模塊816。附加的邏輯820被連接到CPU 812和接口模塊816中的一個(gè)或者多個(gè)。
如參考存儲(chǔ)器840,850和860中的每一個(gè)所顯示的,這個(gè)配置信息862被保存在經(jīng)過各種存儲(chǔ)器結(jié)構(gòu)中每一個(gè)內(nèi)的相同地址可以訪問的一個(gè)位置。更詳細(xì)地,對(duì)所顯示的示例,地址0x00可以被用于從各種存儲(chǔ)器結(jié)構(gòu)中任何一個(gè)檢索這個(gè)配置信息,其中數(shù)據(jù)線3124將被使用從所選擇的存儲(chǔ)器的配置信息所驅(qū)動(dòng)。
優(yōu)選地,8-比特存儲(chǔ)器860的配置信息862包括參數(shù)設(shè)置,以使接口模塊816被配置成識(shí)別出,一個(gè)8-比特存儲(chǔ)器860被包括在這個(gè)數(shù)據(jù)處理系統(tǒng)中。這樣,隨后對(duì)8-比特存儲(chǔ)器860所執(zhí)行的存儲(chǔ)器操作被調(diào)節(jié)成適合于這個(gè)存儲(chǔ)器的結(jié)構(gòu)。這樣,包括這個(gè)復(fù)位矢量數(shù)據(jù)字節(jié)T,U,V,和W的復(fù)位矢量可以被保存在8-比特存儲(chǔ)器860的連續(xù)存儲(chǔ)器地址中,并且這些連續(xù)的存儲(chǔ)器地址可以被接口模塊816所訪問。
相反,優(yōu)選地,16-比特存儲(chǔ)器850包括其自己的配置信息852,這個(gè)配置信息852告知這個(gè)接口模塊816,一個(gè)16-比特存儲(chǔ)器被包括在這個(gè)數(shù)據(jù)處理系統(tǒng)800中。這樣,與復(fù)位矢量相應(yīng)的這個(gè)數(shù)據(jù)字節(jié)在這個(gè)16-比特存儲(chǔ)器850中可以被安排成兩個(gè)16-比特半字,并且這個(gè)接口模塊816能夠使用這個(gè)格式檢索并且利用這個(gè)復(fù)位矢量。
當(dāng)被包括在這個(gè)數(shù)據(jù)處理系統(tǒng)800中時(shí),這個(gè)32-比特存儲(chǔ)器840也優(yōu)選地包括其自己的、獨(dú)特配置信息集合842,這個(gè)獨(dú)特的配置信息集合842包括參數(shù)設(shè)置,以使這個(gè)接口模塊816可以識(shí)別出32-比特存儲(chǔ)器840被包括在這個(gè)數(shù)據(jù)處理系統(tǒng)800中。這樣,對(duì)32-比特存儲(chǔ)器840的一單個(gè)字訪問可以被用于檢索這個(gè)復(fù)位矢量,以使可以執(zhí)行這個(gè)復(fù)位異常例程。注意,通過允許在復(fù)位矢量以前來檢索配置信息,在檢索復(fù)位矢量時(shí)可以利用包括在這個(gè)配置信息內(nèi)的參數(shù)設(shè)置,以使可以使用對(duì)被包括在數(shù)據(jù)處理系統(tǒng)中的存儲(chǔ)器結(jié)構(gòu)來說最優(yōu)的一個(gè)方法,來執(zhí)行這樣的檢索。
在前述說明書中,已經(jīng)參考特定實(shí)施方式來描述了本發(fā)明。但是,該領(lǐng)域內(nèi)的普通技術(shù)人員將理解,可以進(jìn)行各種修改和改變,而不會(huì)偏離如下面權(quán)利要求書中所提出的本發(fā)明的范圍。所以,說明書和附圖都僅是示例性,而不是限制性的,并且所有這樣的修改均被包括在本發(fā)明的范圍內(nèi)。
上面,已經(jīng)參考特定的實(shí)施方式描述了有利面,其它優(yōu)點(diǎn)和對(duì)問題的解決方法。但是,有利面,優(yōu)點(diǎn),對(duì)問題的解決方法,和任何可以促使任何有利面、優(yōu)點(diǎn)、對(duì)問題的解決方法出現(xiàn)或者更強(qiáng)的部件并不被認(rèn)為是任何一個(gè)權(quán)利要求或者所有權(quán)利要求的一個(gè)重要的,需要的,或者必要的特征或者部件。如這里所使用的,術(shù)語“包括”,“其特征是”,或者任何對(duì)其進(jìn)行的改變,被認(rèn)為不具備排斥性的包括,以使包括一個(gè)部件列表的一個(gè)過程,方法,部件,或者裝置不僅僅包括這些部件,而且可能包括沒有明確列表出的、或者對(duì)這種過程、方法、部件或者裝置是固有的其它部件。
權(quán)利要求
1.一種用于配置數(shù)據(jù)處理系統(tǒng)的方法,其特征是包括步驟作為對(duì)一個(gè)復(fù)位信號(hào)變負(fù)的一個(gè)響應(yīng),初始化對(duì)一個(gè)存儲(chǔ)設(shè)備的一第一總線訪問,其中在這個(gè)復(fù)位信號(hào)變負(fù)后,在任何其它總線訪問以前,第一總線訪問被執(zhí)行;從這個(gè)存儲(chǔ)設(shè)備檢索一個(gè)配置值;和在執(zhí)行任何隨后的總線訪問以前,使用這個(gè)配置值來對(duì)這個(gè)數(shù)據(jù)處理系統(tǒng)的一個(gè)參數(shù)進(jìn)行配置。
2.如權(quán)利要求1的方法,其進(jìn)一步的特征是包括步驟將至少一部分配置值保存在一個(gè)控制寄存器中。
3.如權(quán)利要求1的方法,其進(jìn)一步的特征是包括步驟對(duì)一第二總線訪問進(jìn)行初始化,其中這個(gè)參數(shù)在第二總線訪問期間被使用。
4.如權(quán)利要求3的方法,其進(jìn)一步的特征是包括步驟在第二總線訪問期間,拾取一個(gè)復(fù)位矢量的至少一部分。
5.用于配置一個(gè)數(shù)據(jù)處理系統(tǒng)的一個(gè)方法,其特征是包括步驟從一第一地址檢索一個(gè)復(fù)位矢量的一第一部分;和從不與第一地址相鄰的一第二地址,檢索這個(gè)復(fù)位矢量的一第二部分,其中這個(gè)復(fù)位矢量的第一部分和第二部分之間至少隔開一個(gè)比特,其中這至少一個(gè)比特沒有被用于保存這個(gè)復(fù)位矢量的任何部分。
6.如權(quán)利要求5的方法,其中在一第一總線周期期間,執(zhí)行檢索這個(gè)第一部分的所述步驟,在一第二總線周期期間,執(zhí)行檢索這個(gè)第二部分的所述步驟。
7.如權(quán)利要求5的方法,其進(jìn)一步的特征是包括步驟在一個(gè)數(shù)據(jù)總線的至少一部分上,傳送這個(gè)復(fù)位矢量的第一部分和第二部分,所述數(shù)據(jù)總線具有一個(gè)數(shù)據(jù)總線寬度,其中在第一地址和第二地址之間的一個(gè)差值是數(shù)據(jù)總線寬度的函數(shù)。
8.如權(quán)利要求7的方法,其進(jìn)一步的特征是包括步驟通過將第一地址增加一個(gè)增量值,來產(chǎn)生第二地址,其中這個(gè)增量值與這個(gè)數(shù)據(jù)總線寬度的字節(jié)數(shù)目相等。
9.一個(gè)數(shù)據(jù)處理器,其特征是包括接口電路,在被復(fù)位后執(zhí)行一第一總線周期來檢索一個(gè)配置值;存儲(chǔ)電路,連接到這個(gè)接口電路,所述存儲(chǔ)電路保存這個(gè)配置值;調(diào)試/仿真電路,連接到這個(gè)存儲(chǔ)電路,其中所述調(diào)試/仿真電路至少被這個(gè)配置值進(jìn)行部分配置。
10.如權(quán)利要求9的數(shù)據(jù)處理器,其中這個(gè)配置值是一個(gè)復(fù)位矢量的一部分。
全文摘要
當(dāng)完成復(fù)位后,來使用各種比特寬度的存儲(chǔ)器(440,450,460)的一個(gè)數(shù)據(jù)處理系統(tǒng)(400)。通過不同的存儲(chǔ)器操作,從保存這個(gè)復(fù)位矢量(300)的存儲(chǔ)器中,獨(dú)立地拾取組成這個(gè)復(fù)位矢量(300)的字節(jié)。這些字節(jié)被以一個(gè)預(yù)定的方式,保存在每一個(gè)可能的存儲(chǔ)器結(jié)構(gòu)(440,450,460)中,以使預(yù)定的地址將在數(shù)據(jù)總線的相同部分上檢索不同的字節(jié)。被檢索的這個(gè)復(fù)位矢量(300)的一個(gè)配置值(310)部分可以被用于配置這個(gè)數(shù)據(jù)處理系統(tǒng)(400)內(nèi)的各種參數(shù)(352-356,362),以使與這個(gè)存儲(chǔ)器或者這個(gè)系統(tǒng)的其它功能特征相關(guān)的參數(shù)被初始化。這個(gè)配置值(310)可以包括數(shù)據(jù)和控制部分,以使這個(gè)控制部分判斷這個(gè)配置值(310)的數(shù)據(jù)部分如何被應(yīng)用到這個(gè)數(shù)據(jù)處理系統(tǒng)(400)內(nèi)的各種參數(shù)。
文檔編號(hào)G06F12/06GK1297200SQ00130960
公開日2001年5月30日 申請(qǐng)日期2000年11月22日 優(yōu)先權(quán)日1999年11月23日
發(fā)明者威廉·C·莫耶爾, 邁克爾·D·非茨西蒙斯, 詹姆斯·C·納什 申請(qǐng)人:摩托羅拉公司