專(zhuān)利名稱(chēng):多電路處理器裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多電路處理器裝置,例如個(gè)人數(shù)字輔助裝置(PDA)、個(gè)人計(jì)算機(jī)、蜂窩無(wú)線電通信裝置或者其它諸如具有一個(gè)處理器和至少一個(gè)具有可靠數(shù)據(jù)的外圍電路這樣的裝置。本發(fā)明還涉及到一個(gè)操作這種裝置的方法。
在一個(gè)開(kāi)放系統(tǒng)中(支持第三方應(yīng)用的一種體系結(jié)構(gòu)),通常必須保護(hù)各種子電路免于被未經(jīng)授權(quán)的代碼所訪問(wèn)。原因是在硬件部件中存儲(chǔ)了建立用戶(hù)優(yōu)先次序的代碼和/或標(biāo)識(shí)信息、用于服務(wù)使用的票據(jù)標(biāo)識(shí)、擔(dān)保信息等等。這些內(nèi)容存儲(chǔ)在外圍電路的數(shù)據(jù)寄存器中或存儲(chǔ)在存儲(chǔ)器中。如果用戶(hù)改變了這些代碼,可以想象出就會(huì)破壞網(wǎng)絡(luò)上的電路訪問(wèn)代碼、竊取服務(wù)時(shí)間或承受未曾購(gòu)買(mǎi)的擔(dān)保維修。
過(guò)去,許多努力的目的在于通過(guò)加密數(shù)據(jù)或通過(guò)驗(yàn)證操作系統(tǒng)中的用戶(hù)來(lái)實(shí)現(xiàn)數(shù)據(jù)安全性。如果開(kāi)放系統(tǒng)允許對(duì)操作系統(tǒng)進(jìn)行改變則可以回避軟件解決方法。
需要有一種簡(jiǎn)單方式來(lái)改進(jìn)多電路處理器裝置中的系統(tǒng)安全性,這種方式不需要大量附加硬件并且大體上不增加功率消耗。
現(xiàn)在僅通過(guò)舉例來(lái)描述本發(fā)明的最佳實(shí)施方式。
圖1是根據(jù)本發(fā)明的最佳實(shí)施方式的一個(gè)多電路處理器裝置的方塊圖。
圖2是圖1中的選通元件(元件17)的電路示意圖。
圖3是說(shuō)明圖2中的電路工作的時(shí)序示意圖。
參見(jiàn)圖1,圖中以個(gè)人數(shù)字輔助裝置的形式顯示了一個(gè)多電路處理器裝置10,它包括多個(gè)電路。該處理器裝置包括一個(gè)處理器和在RAM和ROM中的相關(guān)聯(lián)的代碼(此后簡(jiǎn)稱(chēng)“處理器11”)、一個(gè)最好以在只讀存儲(chǔ)器(ROM)中最低層的代碼的形式表示的程序存儲(chǔ)器12、一組硬件處理器寄存器13和一個(gè)諸如調(diào)制解調(diào)器的外圍電路。在處理器11、程序存儲(chǔ)器12和處理器寄存器13之間連接著地址總線14和數(shù)據(jù)總線15。存儲(chǔ)芯片選擇輸出端19從處理器11連接到程序存儲(chǔ)器12的存儲(chǔ)選擇輸入端18(或者稱(chēng)為“芯片賦能”或“CE”)。連接線16以外圍電路選擇線(或芯片選擇線)的形式從處理器11經(jīng)過(guò)選通元件17連接到外圍電路20。存儲(chǔ)芯片選擇輸出端19連接到選通元件17的控制輸入端。
處理器11顯示出具有多個(gè)功能單元,包括內(nèi)部請(qǐng)求功能單元30、外部請(qǐng)求功能單元31和驅(qū)動(dòng)接口功能單元32。內(nèi)部請(qǐng)求功能單元30是ROM應(yīng)用程序。外部請(qǐng)求功能單元31是從一個(gè)PCMCIA卡或隨機(jī)存取存儲(chǔ)器(RAM)由外部載入的應(yīng)用程序,或者是由調(diào)制解調(diào)器或其它外圍電路或其它地方載入到處理器裝置的外部應(yīng)用程序。用戶(hù)數(shù)據(jù)從內(nèi)部請(qǐng)求功能單元30流動(dòng)到驅(qū)動(dòng)接口32,并且從外部請(qǐng)求功能單元31流動(dòng)到驅(qū)動(dòng)接口32。
程序存儲(chǔ)器12顯示出包括多個(gè)程序代碼子塊。子塊35從重要數(shù)據(jù)存儲(chǔ)器中執(zhí)行重要數(shù)據(jù)READ功能(見(jiàn)下面)。子塊36是最終數(shù)據(jù)構(gòu)造器。由子塊36建立的數(shù)據(jù)存儲(chǔ)在RAM中(未顯示出)。子塊37執(zhí)行最終數(shù)據(jù)WRITE功能,并且最好是基于ROM以便軟件不能改變它。
硬件寄存器13顯示出包括一個(gè)重要數(shù)據(jù)存儲(chǔ)器40,用于存儲(chǔ)諸如識(shí)別(ID)碼之類(lèi)的保密數(shù)據(jù),還包括多個(gè)最終數(shù)據(jù)寄存器41,用于存儲(chǔ)從最終數(shù)據(jù)WRITE功能單元37中收到的最終數(shù)據(jù)并且用于傳遞到外圍電路20。
除非通過(guò)打開(kāi)選通元件17,否則重要數(shù)據(jù)將不能從重要數(shù)據(jù)存儲(chǔ)器40中讀出來(lái)。選通元件17只是為了響應(yīng)來(lái)自存儲(chǔ)選擇輸出端19的最前面的存儲(chǔ)選擇信號(hào)才打開(kāi)。換句話說(shuō),只有當(dāng)?shù)刂房偩€14尋址的最前面的操作指令是一個(gè)從程序存儲(chǔ)器12中取出的指令時(shí),選通元件17才打開(kāi)外圍電路選通線16以便從重要數(shù)據(jù)存儲(chǔ)器40中讀出數(shù)據(jù)或?qū)懭霐?shù)據(jù)到重要數(shù)據(jù)存儲(chǔ)器40中。
在工作中,圖1中說(shuō)明的驅(qū)動(dòng)結(jié)構(gòu)由內(nèi)部請(qǐng)求30或外部請(qǐng)求31操縱,產(chǎn)生在最終數(shù)據(jù)構(gòu)造器中構(gòu)造的數(shù)據(jù),經(jīng)過(guò)子塊35從存儲(chǔ)器40中讀取重要數(shù)據(jù),并將最終數(shù)據(jù)寫(xiě)入到最終數(shù)據(jù)WRITE功能單元37中,并將此數(shù)據(jù)通過(guò)數(shù)據(jù)輸出端50傳送到最終數(shù)據(jù)寄存器41中以便傳遞到外圍電路20中。從最終數(shù)據(jù)WRITE功能單元37中讀取的操作代碼和操作數(shù)必須是“非RAM讀取”以便保持打開(kāi)選通元件17。為了在最終數(shù)據(jù)構(gòu)造器36中建立最終數(shù)據(jù),必需有重要數(shù)據(jù)READ功能單元35中的一些重要數(shù)據(jù)。重要數(shù)據(jù)READ功能單元35從重要數(shù)據(jù)存儲(chǔ)器40中獲得重要數(shù)據(jù)。
這種配置具有為響應(yīng)程序存儲(chǔ)器12中的讀指令只能從重要數(shù)據(jù)存儲(chǔ)器40中讀可靠數(shù)據(jù)的優(yōu)越性。它將不會(huì)輸出重要數(shù)據(jù)以響應(yīng)來(lái)自一個(gè)PCMCIA卡或是來(lái)自RAM或任何其它外部請(qǐng)求31的指令。
這就提供了一種免于被修改或“破壞”的可靠配置。
當(dāng)關(guān)閉選通元件17時(shí),對(duì)外圍電路的訪問(wèn)變?yōu)椤盁o(wú)操作”指令。
與將選通元件17連接到處理器11的存儲(chǔ)選擇輸出端19并且有選擇地打開(kāi)選通元件以響應(yīng)此存儲(chǔ)選擇輸出端不同的是,可以將選通元件17連接到地址總線14中的地址線45的一條。這是一種適當(dāng)?shù)呐渲茫渲械刂房偩€14中的一條地址線實(shí)際上是程序存儲(chǔ)器12的芯片選擇輸入端。可以理解為存儲(chǔ)選擇輸出端19在概念上看做是一個(gè)專(zhuān)用的存儲(chǔ)選擇線,或者當(dāng)它包括在地址總線14當(dāng)中時(shí)可同樣看做是一個(gè)存儲(chǔ)選擇輸出端。同樣,選通元件17可由一個(gè)存儲(chǔ)管理電路中的信號(hào)來(lái)激活。這個(gè)特定的配置可以適合于存儲(chǔ)分配結(jié)構(gòu)。
在本發(fā)明的范圍內(nèi)可以對(duì)圖1進(jìn)行一些修改。選通元件17顯示在外圍電路選通線16上,可以理解為外圍電路選擇線16可配置為地址總線14中的一條,并且選通元件17,在該情況下,即處理器11和由選通元件17控制的外圍電路13之間的連接線是地址總線14。另一種情況是,處理器11和由選通元件17控制的外圍電路13之間的連接線可以是數(shù)據(jù)總線15。
附加的外圍電路可以連接到地址總線14和數(shù)據(jù)總線15上。附加的外圍電路本身可以有多個(gè)用于存儲(chǔ)保密數(shù)據(jù)的重要數(shù)據(jù)存儲(chǔ)器或寄存器,在該情況下,可以設(shè)置附加的選通元件來(lái)控制對(duì)這些重要數(shù)據(jù)存儲(chǔ)器或寄存器的訪問(wèn)。在最佳實(shí)施方式中,外圍電路20是一個(gè)無(wú)線調(diào)制解調(diào)器,并且存儲(chǔ)在存儲(chǔ)器40中的重要數(shù)據(jù)最好是一個(gè)網(wǎng)絡(luò)安全性訪問(wèn)代碼、一個(gè)無(wú)線電服務(wù)票據(jù)標(biāo)識(shí)碼或故障記錄信息。另一種情況是,外圍電路可以是蜂窩電話,或者是無(wú)線調(diào)制解調(diào)器,或者甚至是其它的輸入/輸出設(shè)備,例如一種用于操縱開(kāi)門(mén)器的螺線管。外圍電路20的功能單元對(duì)本發(fā)明來(lái)說(shuō)并不重要。
在圖1中說(shuō)明的配置必須遵守一些軟件設(shè)計(jì)規(guī)則。驅(qū)動(dòng)程序存儲(chǔ)器12中的所有子塊必須是序貫編碼(即沒(méi)有函數(shù)調(diào)用)。在面向?qū)ο蟮沫h(huán)境中,子塊是不可插入的。存儲(chǔ)在程序存儲(chǔ)器12中的所有驅(qū)動(dòng)代碼是不可被用戶(hù)中斷的。對(duì)重要數(shù)據(jù)存儲(chǔ)器40的所有訪問(wèn)(不管是READ還是WRITE)將經(jīng)過(guò)選通元件17執(zhí)行程序存儲(chǔ)器12中的非RAM讀取宏代碼。
圖2顯示了選通元件17的詳細(xì)電路圖。圖2中顯示出選通元件17包括一個(gè)觸發(fā)器100,此觸發(fā)器包括共同組成雙穩(wěn)態(tài)元件的第一門(mén)101和第二門(mén)102。觸發(fā)器100具有分別從與門(mén)105和或門(mén)106導(dǎo)出的輸入端103和104。觸發(fā)器100具有一個(gè)連接到與門(mén)110的輸出端109。各種不同的門(mén)都具有標(biāo)準(zhǔn)的技術(shù)符號(hào),反相的輸入端或輸出端以標(biāo)準(zhǔn)的技術(shù)方式來(lái)顯示。在不同的輸入端和輸出端標(biāo)明了不同的信號(hào)。下面的表中給出了各標(biāo)號(hào)的含義表1IFETCH 讀取指令CSO芯片選擇0DSACK(0) 數(shù)據(jù)確認(rèn)0DSACK(1) 數(shù)據(jù)確認(rèn)1ROMCODEROM指令DSACKX 任何數(shù)據(jù)確認(rèn)FFOUT 觸發(fā)器輸出端ENMODEM賦能調(diào)制解調(diào)器MODEMCS調(diào)制解調(diào)器芯片選擇SECMODEMCS 獲得調(diào)制解調(diào)器芯片選擇AS 地址選通選通元件17的一般操作是,當(dāng)有一個(gè)來(lái)自處理器11的指令讀取命令并且該指令讀取命令與程序存儲(chǔ)器12的地址空間內(nèi)的一個(gè)地址相關(guān)聯(lián)時(shí),輸入端103設(shè)置觸發(fā)器100。當(dāng)觸發(fā)器100被設(shè)置時(shí),它打開(kāi)以便從輸入端104傳送一位數(shù)據(jù)到輸出端109。門(mén)106通過(guò)清除觸發(fā)器100和中斷通過(guò)門(mén)110的MODEMCS來(lái)關(guān)閉安全性選通元件17。當(dāng)門(mén)110被關(guān)閉時(shí),對(duì)外圍電路13的所有訪問(wèn)(讀和寫(xiě))都被中斷。門(mén)110允許選擇外圍電路13。
圖3是說(shuō)明圖2中的電路在時(shí)間t0以讀取代碼或讀取指令開(kāi)始工作的時(shí)序圖。
在時(shí)間t1,處理器11聲明它通過(guò)使地址選通有效來(lái)進(jìn)行一個(gè)外部訪問(wèn)。第一個(gè)指令周期就此開(kāi)始。在時(shí)間t2,處理器聲明這個(gè)訪問(wèn)指向ROM12。在時(shí)間t3,處理器聲明此外部訪問(wèn)是一個(gè)讀取指令(從ROM12中讀取)。在時(shí)間t4,信號(hào)ROMCODE由門(mén)105中的IFETCH和CSO一起產(chǎn)生來(lái)打開(kāi)觸發(fā)器100。在時(shí)間t5,在觸發(fā)器100內(nèi)的門(mén)101通過(guò)變?yōu)榈托盘?hào)來(lái)對(duì)ROMCODE做出反應(yīng)。在時(shí)間t6,使ENMODEM有效,打開(kāi)安全性門(mén)觸發(fā)器100,當(dāng)MODEMCS到達(dá)時(shí)能夠開(kāi)始啟動(dòng)門(mén)110。在時(shí)間t7,處理器完成ROM的取指令并且使IFETCH無(wú)效。在時(shí)間t8,ROMCODE對(duì)IFETCH無(wú)效做出的反應(yīng)是變?yōu)闊o(wú)效(即處理器不再?gòu)腞OMCODE中產(chǎn)生讀取),然而,可以注意到門(mén)仍然是打開(kāi)的(ENMODEM仍然是有效的)。在時(shí)間t9,處理器結(jié)束它的外部周期(所有的外部電路停止對(duì)處理器作出反應(yīng),但是即便如此,安全性選通元件17也是打開(kāi)的)。
在時(shí)間t10,處理器再次聲明它產(chǎn)生一個(gè)外部訪問(wèn)的意圖,第二個(gè)指令周期開(kāi)始了。在時(shí)間t11,通過(guò)使MODEMCS有效來(lái)對(duì)調(diào)制解調(diào)器進(jìn)行訪問(wèn)。在時(shí)間t12,產(chǎn)生關(guān)于調(diào)制解調(diào)器電路(13和/或20)的SECMODEMCS,因?yàn)镋NMODEM一直都是有效的。在時(shí)間t14,DSACK從調(diào)制解調(diào)器到處理器都是有效的,表明數(shù)據(jù)訪問(wèn)已經(jīng)成功完成,再清除觸發(fā)器100并關(guān)閉安全性選通元件17。在時(shí)間t15,ENMODEM對(duì)關(guān)閉觸發(fā)器做出的反應(yīng)是變?yōu)闊o(wú)效。在時(shí)間t16,F(xiàn)FOUT變?yōu)闊o(wú)效,因而改變了觸發(fā)器的狀態(tài);同樣有關(guān)調(diào)制解調(diào)器電路13&20的SECMODEMCS也變?yōu)闊o(wú)效。在時(shí)間t17-t18,處理器停止外部周期,對(duì)安全性選通元件17沒(méi)有進(jìn)一步的影響,第二個(gè)指令周期完成了。
一些軟件約束適用必須關(guān)閉處理器高速緩沖存儲(chǔ)器(即前面的指令讀取絕對(duì)不可能成功或者選通元件17將會(huì)處于一個(gè)沒(méi)有保證的狀態(tài));在控制數(shù)據(jù)移動(dòng)的指令讀取和調(diào)制解調(diào)器訪問(wèn)之間絕對(duì)不要有數(shù)據(jù)傳遞-即調(diào)制解調(diào)器的數(shù)據(jù)必須是即時(shí)的或是在寄存器中,但是絕對(duì)不要在RAM中;前面的指令絕對(duì)不能正在執(zhí)行來(lái)自當(dāng)前執(zhí)行的電路中的數(shù)據(jù)傳遞(這是一個(gè)流水線問(wèn)題);對(duì)任何調(diào)制解調(diào)器尋址的所有的讀和寫(xiě)必須通過(guò)對(duì)ROM12的訪問(wèn)來(lái)預(yù)先加載,并且絕對(duì)不能插入代碼。
在運(yùn)行中,選通元件17通過(guò)ROM12中的取代碼來(lái)預(yù)先加載。一旦預(yù)先加載后,電路為訪問(wèn)調(diào)制解調(diào)器提供一個(gè)機(jī)會(huì)。如果下一個(gè)非PROM/OTP訪問(wèn)不是對(duì)調(diào)制解調(diào)器進(jìn)行的訪問(wèn),選通元件17直到下一個(gè)預(yù)先加載才能對(duì)調(diào)制解調(diào)器進(jìn)行訪問(wèn)。
可以有多個(gè)和門(mén)110相同的門(mén),例如圖2的剖示圖所示的門(mén)120,每個(gè)門(mén)接收觸發(fā)器輸出端109作為輸入端并且接收不同的電路選擇輸入端用來(lái)選擇不同的外圍電路。這樣,安全性選通元件17就能夠控制對(duì)多個(gè)不同的外圍電路中的重要數(shù)據(jù)進(jìn)行訪問(wèn)。
觸發(fā)器100可以是諸如D型觸發(fā)器或J-K觸發(fā)器之類(lèi)的任何存儲(chǔ)元件。
任何非ROM訪問(wèn)完成條件(不僅僅是DSACK)都可能使選通元件17關(guān)閉。
權(quán)利要求
1.一個(gè)多電路處理器裝置包括一個(gè)處理器,具有存儲(chǔ)選擇輸出端的;一個(gè)程序存儲(chǔ)器,具有一個(gè)存儲(chǔ)選擇輸入端,該選擇輸入端連接到處理器的存儲(chǔ)選擇輸出端上,用來(lái)選擇由處理器尋址的程序存儲(chǔ)器;一個(gè)外圍電路,具有用于存儲(chǔ)可靠數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)器;一條在處理器和外圍電路之間的連接線;以及一個(gè)處在處理器和外圍電路之間的連接線中的選通元件,此選通元件連接到處理器的存儲(chǔ)器選擇輸出端以便有選擇地打開(kāi)選通元件。
2.根據(jù)權(quán)利要求1的多電路處理器裝置,其特征在于,在處理器和外圍電路之間的連接線是一條外圍電路選擇線。
3.根據(jù)權(quán)利要求1的多電路處理器裝置,其特征在于,在處理器和外圍電路之間的連接線是地址總線中的一條地址線。
4.根據(jù)權(quán)利要求1的多電路處理器裝置,其特征在于,在處理器和外圍電路之間的連接線是一條數(shù)據(jù)總線。
5.根據(jù)權(quán)利要求1的多電路處理器裝置,其特征在于,處理器的存儲(chǔ)選擇輸出端是地址總線中的一條地址線。
6.根據(jù)權(quán)利要求1的多電路處理器裝置,還包括一條在處理器、程序存儲(chǔ)器和外圍電路之間延伸的地址總線,其中處理器具有一個(gè)與地址總線相分離的存儲(chǔ)選擇輸出端用以選擇程序存儲(chǔ)器。
7.根據(jù)權(quán)利要求1的多電路處理器裝置,其特征在于,選通元件是一個(gè)雙穩(wěn)態(tài)元件。
8.根據(jù)權(quán)利要求1的多電路處理器裝置,其特征在于,外圍電路是一個(gè)輸入/輸出裝置。
9.根據(jù)權(quán)利要求8的多電路處理器裝置,其特征在于,輸入/輸出裝置是一個(gè)無(wú)線調(diào)制解調(diào)器。
10.根據(jù)權(quán)利要求9的多電路處理器裝置,其特征在于,數(shù)據(jù)存儲(chǔ)器含有從網(wǎng)絡(luò)安全性訪問(wèn)代碼、無(wú)線電服務(wù)票據(jù)標(biāo)識(shí)代碼和故障記錄信息中選擇的信息。
11.根據(jù)權(quán)利要求1的多電路處理器裝置,其特征在于,選通元件包括一個(gè)觸發(fā)器和多個(gè)門(mén),每個(gè)門(mén)連接到觸發(fā)器的輸出端并且每個(gè)接收電路選擇輸入端用以選擇不同的外圍電路。
12.在多電路處理器裝置中,該處理器裝置包括一個(gè)具有存儲(chǔ)選擇輸出端的處理器、一個(gè)程序存儲(chǔ)器-此程序存儲(chǔ)器具有一個(gè)連接到處理器的存儲(chǔ)選擇輸出端以便選擇由處理器尋址的程序存儲(chǔ)器的存儲(chǔ)選擇輸入端、一個(gè)具有一個(gè)數(shù)據(jù)存儲(chǔ)器用來(lái)存儲(chǔ)安全數(shù)據(jù)的外圍電路、一條處在處理器和外圍電路之間的連接線以及一個(gè)與在處理器和外圍電路之間的連接線相關(guān)聯(lián)的選通元件,一種包括以下步驟的方法在第一個(gè)指令周期為程序存儲(chǔ)器提供一個(gè)存儲(chǔ)選擇信號(hào);為選通元件提供該存儲(chǔ)選擇信號(hào);在第二個(gè)指令周期為響應(yīng)存儲(chǔ)選擇信號(hào)設(shè)定選通元件以便打開(kāi);并且在第二個(gè)指令周期通過(guò)選通元件與數(shù)據(jù)存儲(chǔ)器通信。
全文摘要
一個(gè)多電路處理器裝置,例如一個(gè)個(gè)人數(shù)字輔助裝置,具有一個(gè)處理器(11)。此處理器(11)具有一個(gè)存儲(chǔ)選擇輸出端(19或14)。將具有一個(gè)存儲(chǔ)選擇輸入端(18或14)的程序存儲(chǔ)器(12),連接到處理器的存儲(chǔ)選擇輸出端,用來(lái)選擇由處理器尋址的程序存儲(chǔ)器。諸如無(wú)線調(diào)制解調(diào)器的外圍電路(20)具有一個(gè)用于存儲(chǔ)安全數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)器(20)。連接線(16)連接處理器和外圍電路以便交換處理器和數(shù)據(jù)存儲(chǔ)器之間的數(shù)據(jù)。選通元件(17)與處理器和外圍電路之間的連接線相關(guān)聯(lián)。選通元件連接到處理器的存儲(chǔ)選擇輸出端用于打開(kāi)選通元件,因而便于安全存取數(shù)據(jù)存儲(chǔ)器(40)中的重要數(shù)據(jù)。
文檔編號(hào)G06F13/00GK1205789SQ96199164
公開(kāi)日1999年1月20日 申請(qǐng)日期1996年12月19日 優(yōu)先權(quán)日1996年12月19日
發(fā)明者丹尼爾·雷·塞莫斯, 金·伍·李, 詹姆斯·厄爾·馬塞思 申請(qǐng)人:摩托羅拉公司