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

存儲(chǔ)器分體同時(shí)運(yùn)行多平臺(tái)計(jì)算機(jī)的制作方法

文檔序號(hào):6605986閱讀:806來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):存儲(chǔ)器分體同時(shí)運(yùn)行多平臺(tái)計(jì)算機(jī)的制作方法
技術(shù)領(lǐng)域
本發(fā)明,是一種能同時(shí)運(yùn)行多個(gè)操作系統(tǒng)平臺(tái)及其應(yīng)用軟件的計(jì)算機(jī)。本發(fā)明,在一臺(tái)計(jì)算機(jī)中,把主機(jī)隨機(jī)存儲(chǔ)器系統(tǒng)(主要是內(nèi)存)分開(kāi)成幾個(gè)分立的空間結(jié)構(gòu)相同的存儲(chǔ)體,每個(gè)存儲(chǔ)體分別可互不相干地獨(dú)立啟動(dòng)運(yùn)行一套操作系統(tǒng)及其應(yīng)用軟件。在軟開(kāi)關(guān)切換控制下,CPU分時(shí)運(yùn)行各個(gè)存儲(chǔ)體的軟件系統(tǒng),并且它們分時(shí)共用一套外部設(shè)備。對(duì)于計(jì)算機(jī)用戶(hù)看來(lái),它們好象是多個(gè)互不相干的軟件系統(tǒng)在分別同時(shí)運(yùn)行,就象多臺(tái)計(jì)算機(jī)在同時(shí)工作,每臺(tái)啟動(dòng)運(yùn)行各自的一套軟件一樣。這樣使一臺(tái)計(jì)算機(jī)同時(shí)做多臺(tái)計(jì)算機(jī)的工作,一機(jī)發(fā)揮多機(jī)的效用。
在本發(fā)明中,在計(jì)算機(jī)總的隨機(jī)存儲(chǔ)空間中,各分立存儲(chǔ)體在操作系統(tǒng)及其應(yīng)用軟件看來(lái),其存儲(chǔ)空間結(jié)構(gòu)、管理規(guī)則、使用方式是和目前的現(xiàn)有技術(shù)同類(lèi)型計(jì)算機(jī)中的存儲(chǔ)系統(tǒng)是一樣的,其結(jié)構(gòu)和容量是滿(mǎn)足計(jì)算機(jī)運(yùn)行所需要的完整存儲(chǔ)系統(tǒng);它們和計(jì)算機(jī)中其它共用硬件及ROM程序等的關(guān)系,分別均構(gòu)成一臺(tái)結(jié)構(gòu)完整的計(jì)算機(jī)。同一套操作系統(tǒng)及其應(yīng)用軟件不論在哪一個(gè)存儲(chǔ)分體啟動(dòng)運(yùn)行,其啟動(dòng)過(guò)程及對(duì)存儲(chǔ)器空間的占用區(qū)域、使用情況及訪問(wèn)方式都完全一樣,就象在現(xiàn)有技術(shù)的存儲(chǔ)器不分體的一臺(tái)單獨(dú)的物理計(jì)算機(jī)中啟動(dòng)運(yùn)行的情形一樣。
例如在IBM PC/AT個(gè)人微機(jī)中,由于80x86系列CPU把中斷指針表安排在內(nèi)存最低地址00000H開(kāi)始的1K字節(jié)中,所以其基本內(nèi)存RAM的空間結(jié)構(gòu)都是從00000H開(kāi)始的一段足夠運(yùn)行DOS或WINDOWS操作系統(tǒng)及其應(yīng)用軟件的連續(xù)存儲(chǔ)空間;對(duì)于容量為16兆的內(nèi)存,其編址從00000H到3FFFFFFH。在本發(fā)明中,把內(nèi)存RAM分成幾個(gè)內(nèi)存體,例如把總內(nèi)存擴(kuò)充到64兆字節(jié),分成四個(gè)16兆的分立空間,每個(gè)分立空間的編址都是從00000H到3FFFFFFH(對(duì)于在其中運(yùn)行的軟件而言),它們分別都和現(xiàn)有技術(shù)PC/AT微機(jī)中的16兆內(nèi)存完全一樣,分別都可獨(dú)立地、互不相干地啟動(dòng)裝入運(yùn)行DOS、WINDOWS、UNIX或LINUX。同一套操作系統(tǒng)平臺(tái)例如DOS及其應(yīng)用軟件,不論運(yùn)行在哪一個(gè)16兆分立空間,它對(duì)內(nèi)存的使用情況及訪問(wèn)方式都完全一樣,都和在現(xiàn)有技術(shù)的同樣16兆內(nèi)存的PC/AT微機(jī)中啟動(dòng)運(yùn)行的情形完全一樣。
但如在DOS環(huán)境下通過(guò)地址映射到高位內(nèi)存(UMB)而被存取的一個(gè)16K大小的內(nèi)存頁(yè),則它在地址空間結(jié)構(gòu)上不足以構(gòu)成滿(mǎn)足計(jì)算機(jī)運(yùn)行所需要的完整內(nèi)存,它只是計(jì)算機(jī)完整內(nèi)存中的一部分,一個(gè)內(nèi)存塊。
從應(yīng)用的需要來(lái)說(shuō),各存儲(chǔ)分體可以是不同容量的,即可以是非等分的。例如可以把總內(nèi)存64兆分成三個(gè)分體,第一個(gè)32兆,第二、三個(gè)各16兆。各存儲(chǔ)分體容量是否一致,這是與本發(fā)明的實(shí)質(zhì)無(wú)關(guān)的。
本發(fā)明的實(shí)質(zhì)(一)計(jì)算機(jī)的隨機(jī)存儲(chǔ)器系統(tǒng)被分成幾個(gè)分立的存儲(chǔ)體;在操作系統(tǒng)及其應(yīng)用軟件看來(lái),各分立存儲(chǔ)體的空間結(jié)構(gòu)(除容量以外)、管理規(guī)則和使用方式是和目前現(xiàn)有技術(shù)計(jì)算機(jī)中不分體的存儲(chǔ)器是一樣的。
(二)每個(gè)存儲(chǔ)分體的空間結(jié)構(gòu)和容量大小,都是滿(mǎn)足計(jì)算機(jī)運(yùn)行所需要的完整存儲(chǔ)系統(tǒng),而不是該完整存儲(chǔ)系統(tǒng)中的一部分;它們和計(jì)算機(jī)中其它共用硬件(包括共用的存儲(chǔ)器子系統(tǒng))及共用的ROM程序等的關(guān)系,分別均構(gòu)成一臺(tái)結(jié)構(gòu)完整的計(jì)算機(jī)。
(三)在存儲(chǔ)體切換軟開(kāi)關(guān)及其切換處理程序驅(qū)動(dòng)控制下,每個(gè)存儲(chǔ)分體都可互不相干地獨(dú)立啟動(dòng)運(yùn)行一套操作系統(tǒng)及其應(yīng)用軟件;其啟動(dòng)過(guò)程及運(yùn)行的情形都和在現(xiàn)有技術(shù)的存儲(chǔ)器不分體的一臺(tái)單獨(dú)的物理計(jì)算機(jī)中啟動(dòng)運(yùn)行的情形一樣。
(四)各分立存儲(chǔ)體是分別管理和使用的,是由各自?xún)?nèi)存分體中運(yùn)行的軟件系統(tǒng)分別管理和使用的;各存儲(chǔ)分體及其中運(yùn)行的軟件系統(tǒng)無(wú)法互相尋址訪問(wèn),它們是互無(wú)關(guān)系、互不相干、分別運(yùn)行、互不影響的。
計(jì)算機(jī)隨機(jī)存儲(chǔ)器系統(tǒng)有幾個(gè)子系統(tǒng),包括內(nèi)存系統(tǒng),顯示緩沖存儲(chǔ)器,高速緩存CACHE,系統(tǒng)參數(shù)存儲(chǔ)器CMOS等。在本發(fā)明中,主機(jī)存儲(chǔ)器的分體一般指內(nèi)存系統(tǒng)的分體;在現(xiàn)有技術(shù)中就是插在主板內(nèi)存槽上的一條或數(shù)條內(nèi)存條,例如EDORAM或SDRAM。顯示緩存和CACHE可以做為共用硬件使用,也可以增設(shè)分體。此外,如果要求比較高的話(huà),分別管理這些存儲(chǔ)分體所需要的管理和控制電路、外設(shè)I/O端口等也可以擴(kuò)充分體,它們分別配合不同的內(nèi)存分體工作。
對(duì)于CPU而言,各個(gè)存儲(chǔ)分體的軟件系統(tǒng)當(dāng)然是分時(shí)運(yùn)行的。通過(guò)軟開(kāi)關(guān)切換控制(也可在CPU內(nèi)增加專(zhuān)門(mén)電路來(lái)直接控制存儲(chǔ)體選通),可以使CPU在某一段時(shí)間與某一個(gè)存儲(chǔ)分體接通運(yùn)行,而與別的存儲(chǔ)分體斷開(kāi)。那些斷開(kāi)的存儲(chǔ)體,其中的軟件程序并沒(méi)有退出或結(jié)束運(yùn)行,而是保存著斷開(kāi)處的現(xiàn)場(chǎng)狀況,暫時(shí)中斷運(yùn)行;當(dāng)它重新接通時(shí),將恢復(fù)現(xiàn)場(chǎng)并接下去繼續(xù)運(yùn)行。存儲(chǔ)體的軟開(kāi)關(guān)切換,可以由操作者從鍵盤(pán)輸入命令進(jìn)行,也可以由計(jì)算機(jī)按照操作者事先設(shè)定的自動(dòng)切換要求自動(dòng)進(jìn)行。各個(gè)存儲(chǔ)分體的軟件系統(tǒng)都沒(méi)有退出或結(jié)束運(yùn)行,更沒(méi)有關(guān)機(jī),而是均處于運(yùn)行過(guò)程中的某個(gè)時(shí)刻,就象它們?cè)谕瑫r(shí)運(yùn)行一樣。
在現(xiàn)有技術(shù)中,美國(guó)微軟公司的WINDOWS系統(tǒng),是一種多任務(wù)操作系統(tǒng),它可以同時(shí)運(yùn)行多個(gè)應(yīng)用軟件,但這些多個(gè)應(yīng)用軟件是在同一個(gè)WINDOWS操作系統(tǒng)中運(yùn)行的,受同一個(gè)操作系統(tǒng)程序的管理和制約。如果有某個(gè)應(yīng)用軟件不是運(yùn)行在WINDOWS系統(tǒng)中,而是運(yùn)行在UNIX中,那它們就不能同時(shí)運(yùn)行了。再如一個(gè)應(yīng)用軟件只能在老的DOS環(huán)境中運(yùn)行,或只能在較低的WINDOWS版本中運(yùn)行,那也不能和較高的WINDOWS版本軟件同時(shí)運(yùn)行。
對(duì)于單任務(wù)的DOS操作系統(tǒng),情況更是這樣。例如字處理軟件CCED和WPS,它們都是在DOS環(huán)境下運(yùn)行的,但是由于DOS是單任務(wù)系統(tǒng),每次只能運(yùn)行一套軟件,它們一般不能同時(shí)運(yùn)行。要從CCED轉(zhuǎn)為WPS,必須退出CCED,裝入WPS,或者干脆重新啟動(dòng)計(jì)算機(jī)。
在現(xiàn)有技術(shù)中,在一臺(tái)計(jì)算機(jī)中基于保護(hù)的虛模式下的多任務(wù)操作,它們會(huì)互相影響,如果一個(gè)應(yīng)用軟件程序錯(cuò)誤或系統(tǒng)硬件驅(qū)動(dòng)程序配置不當(dāng)導(dǎo)致死機(jī),將使所有任務(wù)都不能運(yùn)行,必須重新啟動(dòng)計(jì)算機(jī)。
在實(shí)際工作中,我們經(jīng)常會(huì)碰到這樣的情況,為了運(yùn)行其它軟件而不得不退出當(dāng)前運(yùn)行的軟件。例如當(dāng)前正在WINDOWS下用WORD編寫(xiě)文稿,突然來(lái)一位朋友或顧客要立即打印一份文件,要用金山WPS6.0版,由于它是在舊版DOS下運(yùn)行,這時(shí)就只有保存當(dāng)前的WORD文檔,退出WORD和WINDOWS,重新啟動(dòng)計(jì)算機(jī),裝入WPS。打印完文件后,又要再次啟動(dòng)計(jì)算機(jī),重新進(jìn)入WINDOWS系統(tǒng),運(yùn)行WORD軟件,才能繼續(xù)原來(lái)的工作,這樣很費(fèi)時(shí)間,很不方便。
在本發(fā)明中,就不要這么麻煩了。在本發(fā)明中,要同時(shí)運(yùn)行其它軟件系統(tǒng),只需要在另一個(gè)內(nèi)存分體啟動(dòng)運(yùn)行另一套操作系統(tǒng)和應(yīng)用軟件就可以了,不必把原來(lái)的工作結(jié)束和退出。這就象啟動(dòng)另一臺(tái)計(jì)算機(jī),做另一件工作一樣。所啟動(dòng)的操作系統(tǒng)的種類(lèi)不受限制,可以是不同的操作系統(tǒng),也可以是相同的操作系統(tǒng)但不同的應(yīng)用軟件;也可以是相同的操作系統(tǒng),相同的應(yīng)用軟件,但不同的工作對(duì)象,例如相同的字處理軟件,編輯不同的文稿。其多平臺(tái)多任務(wù)操作的靈活性,比WINDOWS單平臺(tái)多任務(wù)系統(tǒng)更加靈活;同時(shí)也更加穩(wěn)定可靠,因?yàn)樗鼈兓ゲ幌喔?,如遇死機(jī),可以分別重啟動(dòng),不影響其它存儲(chǔ)分體軟件運(yùn)行。
在現(xiàn)有技術(shù)中,計(jì)算機(jī)內(nèi)存的分體切換技術(shù)早已普遍采用。例如最早的個(gè)人微機(jī)——美國(guó)蘋(píng)果電腦公司的蘋(píng)果Ⅱ型8位微計(jì)算機(jī),其6502CPU直接可尋址范圍只有64K字節(jié)空間。為了能應(yīng)用于我國(guó)的漢字處理,需要加大內(nèi)存,因?yàn)橐惶?6點(diǎn)陣漢字庫(kù)需要256K,不能全部直接尋址,這就需要采用內(nèi)存分體切換技術(shù)。既使是64K的隨機(jī)內(nèi)存,由于計(jì)算機(jī)固化程序只讀ROM占了內(nèi)存一部分地址空間,與ROM地址相重疊的那一部分隨機(jī)內(nèi)存并不能直接尋址,而要用軟開(kāi)關(guān)切換選通,才能訪問(wèn)。再如IBM-PC微機(jī),從80386以來(lái)的各種32位、64位CPU直接可尋址范圍高達(dá)4000兆字節(jié)空間,標(biāo)準(zhǔn)配置內(nèi)存的容量也已經(jīng)高達(dá)32兆字節(jié)以上,但是由于16位軟件DOS操作系統(tǒng)直接可管理的內(nèi)存只能達(dá)到1兆,因此對(duì)1兆以上的內(nèi)存就要用內(nèi)存分體切換技術(shù)來(lái)分塊訪問(wèn)。
實(shí)際上,任何微機(jī)都有一些固化的系統(tǒng)ROM程序,這些ROM程序必須要由CPU直接尋址,因而占用了一部分地址空間;而隨機(jī)內(nèi)存地址分布都是連續(xù)的,往往都有一部分地址區(qū)段和ROM程序地址相重疊,因此都毫無(wú)例外地都需要有內(nèi)存分體切換。
存儲(chǔ)分體的切換一般由程序控制硬件來(lái)完成。硬件的實(shí)現(xiàn)有兩種,一種是由存儲(chǔ)器管理電路來(lái)實(shí)現(xiàn);一種是由CPU(中央處理機(jī))實(shí)現(xiàn)。例如在現(xiàn)有技術(shù)中,在IBM PC/AT微機(jī)中,擴(kuò)充內(nèi)存EMS(1兆以上的內(nèi)存空間),就是通過(guò)分塊進(jìn)行地址切換,映射到1兆以下的地址空間,并用軟件HIMEM.SYS及EMM386.EXE驅(qū)動(dòng)內(nèi)存管理電路實(shí)現(xiàn)EMS的分塊映射和使用,使得DOS及其用戶(hù)應(yīng)用程序可以訪問(wèn)多達(dá)32兆的內(nèi)存。
但是在現(xiàn)有技術(shù)中,內(nèi)存分體(分塊)切換技術(shù)都是應(yīng)用在單個(gè)系統(tǒng)平臺(tái)的運(yùn)行上,是在單平臺(tái)范圍內(nèi),用于滿(mǎn)足目前越來(lái)越大的大型軟件對(duì)內(nèi)存的需求。在本發(fā)明中,則把現(xiàn)有技術(shù)的內(nèi)存分體切換技術(shù)應(yīng)用到多平臺(tái)存儲(chǔ)器分體同時(shí)運(yùn)行上,以實(shí)現(xiàn)一機(jī)能做多機(jī)的工作。
在下面的實(shí)施例中,本發(fā)明采用內(nèi)存控制電路實(shí)現(xiàn)內(nèi)存分體的設(shè)置和切換,并用固化的BIOS ROM程序來(lái)驅(qū)動(dòng)分體設(shè)置和切換。
為了把本發(fā)明所稱(chēng)的存儲(chǔ)分體和現(xiàn)有技術(shù)的存儲(chǔ)分體(分塊)區(qū)別開(kāi)來(lái),在以下的敘述中,把本發(fā)明所稱(chēng)的存儲(chǔ)分體稱(chēng)為“存儲(chǔ)分體”、“存儲(chǔ)體”、“內(nèi)存分體”等等,其主要特征是所稱(chēng)的“存儲(chǔ)分體”,就它所擔(dān)負(fù)的系統(tǒng)功能范圍內(nèi),是滿(mǎn)足計(jì)算機(jī)運(yùn)行所需要的完整存儲(chǔ)系統(tǒng);例如PC微機(jī)內(nèi)存系統(tǒng),是從最低地址00000H開(kāi)始編址的一段足夠運(yùn)行操作系統(tǒng)及其應(yīng)用軟件的連續(xù)存儲(chǔ)空間;各“存儲(chǔ)分體”是分別由各自分體中運(yùn)行的軟件系統(tǒng)管理和使用的,它們之間互無(wú)關(guān)系、互不影響,無(wú)法互相尋址訪問(wèn)。把現(xiàn)有技術(shù)的存儲(chǔ)分體(分塊)稱(chēng)為“存儲(chǔ)分塊”、“存儲(chǔ)塊”、“內(nèi)存塊”等等,其特征是,它們各自不構(gòu)成滿(mǎn)足計(jì)算機(jī)運(yùn)行所需要的完整存儲(chǔ)系統(tǒng),而僅僅是其中的一部分,各“存儲(chǔ)塊”服從于同一平臺(tái)下的程序系統(tǒng)的管理與使用,各“存儲(chǔ)塊”中的程序或數(shù)據(jù)通過(guò)同一平臺(tái)程序系統(tǒng)互相聯(lián)系,是會(huì)互相影響的。
下面以PC/AT個(gè)人微機(jī)為例分五個(gè)部分介紹本發(fā)明的實(shí)施例子。
一、內(nèi)存分體選通控制電路以64兆內(nèi)存總?cè)萘繛槔?,等分?個(gè)16兆的內(nèi)存體,它們的切換選通只需要控制RAM地址總線第25、26兩根即A24、A25地址線就可以了。當(dāng)A24、A25地址線無(wú)效(為“00”,高位A25,低位A24,以下同)時(shí),選通第一個(gè)16兆體,即對(duì)于RAM存儲(chǔ)器總空間的地址是從00000H到3FFFFFFH。當(dāng)A24、A25兩根地址線為“01”時(shí),選通第二個(gè)16兆體,即RAM總空間地址是4000000H到7FFFFFFH。為“10”時(shí),選通第三個(gè)16兆體;為“11”時(shí),選通第四個(gè)16兆體。
內(nèi)存分體切換程序通過(guò)對(duì)I/O空間兩對(duì)I/O端口地址的訪問(wèn),驅(qū)動(dòng)兩對(duì)開(kāi)關(guān)電路,兩對(duì)開(kāi)關(guān)電路的輸出控制兩根RAM地址線的選通。每對(duì)開(kāi)關(guān)電路中,一個(gè)開(kāi)關(guān)控制地址線有效(置“1”),另一個(gè)開(kāi)關(guān)控制地址線無(wú)效(置“0”)。
當(dāng)內(nèi)存RAM的A24、A25地址線受開(kāi)關(guān)電路的控制時(shí),它們和CPU地址總線是斷開(kāi)的,即此時(shí)CPU失去對(duì)RAM的A24、A25地址線的控制權(quán),這時(shí)CPU所能訪問(wèn)的RAM空間只是由24根地址線即A0~A23所能尋址的16兆內(nèi)存。這16兆內(nèi)存是4個(gè)16兆內(nèi)存分體當(dāng)中的某一個(gè)。對(duì)于CPU而言,每個(gè)16兆內(nèi)存體都是完全一樣的;對(duì)于其中所運(yùn)行的軟件系統(tǒng)而言,每個(gè)16兆內(nèi)存體也是完全一樣的。至于各內(nèi)存分體的軟件系統(tǒng)如何管理、使用它們所占用的那部分16兆內(nèi)存體,那是各個(gè)軟件系統(tǒng)的事。
如果RAM總?cè)萘坑?56兆,欲分成8個(gè)32兆體,則控制RAM地址總線A25、A26、A27三根地址線。相應(yīng)需要設(shè)置三對(duì)I/O端口單元,驅(qū)動(dòng)三對(duì)開(kāi)關(guān)電路。其余依此類(lèi)推。
這樣的軟開(kāi)關(guān)控制電路是很簡(jiǎn)單的,可以用幾個(gè)中小規(guī)模集成電路搭接,不必和現(xiàn)有技術(shù)計(jì)算機(jī)內(nèi)已有的內(nèi)存管理電路做在一起。如果和已有的內(nèi)存管理電路做在一起,反而更麻煩,因?yàn)樾枰匦略O(shè)計(jì)制造內(nèi)存管理集成電路塊。
為了避免因程序錯(cuò)誤而誤觸動(dòng)這些軟開(kāi)關(guān),每個(gè)軟開(kāi)關(guān)應(yīng)該用多個(gè)I/O端口地址的訪問(wèn)輸出“與”來(lái)控制。例如用八個(gè)I/O端口的訪問(wèn)輸出來(lái)控制一個(gè)開(kāi)關(guān),則只有當(dāng)八個(gè)I/O端口的訪問(wèn)輸出都為有效(都為“1”)時(shí),其“與”的結(jié)果才為有效(即為“1”),才能觸動(dòng)一個(gè)開(kāi)關(guān)電路。程序錯(cuò)誤而誤訪問(wèn)八個(gè)I/O端口的幾率是很小的。
在下面的敘述中,本發(fā)明把決定內(nèi)存分體切換選通的地址線叫做內(nèi)存分體選通線。對(duì)于64兆總內(nèi)存分成4個(gè)16兆體,其內(nèi)存分體選通線就是內(nèi)存RAM的A24、A25兩根地址線;對(duì)于256兆總內(nèi)存分成8個(gè)32兆體,則內(nèi)存分體選通線是內(nèi)存RAM的A25、A26、A27三根地址線。
二、內(nèi)存分體設(shè)置程序及分體設(shè)置過(guò)程內(nèi)存分體設(shè)置程序可以和系統(tǒng)上電啟動(dòng)自檢程序及硬盤(pán)引導(dǎo)程序BOOT BIOS做在一起,其程序地址在640K至1M之間的高端(這部分空間系計(jì)算機(jī)保留的BIOS ROM共用空間)。該程序的功能是計(jì)算機(jī)上電啟動(dòng)時(shí)計(jì)算確定內(nèi)存分體選通線和設(shè)置內(nèi)存分體,它可以銜接在計(jì)算機(jī)上電自檢程序后面,當(dāng)計(jì)算機(jī)上電自檢通過(guò),接著就做這件事。
當(dāng)計(jì)算機(jī)上電啟動(dòng)時(shí),內(nèi)存分體尚未確定和設(shè)置,因此內(nèi)存分體切換控制電路還不能控制內(nèi)存分體選通線,這時(shí)候的內(nèi)存RAM的內(nèi)存分體選通線是和CPU地址總線聯(lián)系在一起的,CPU可以訪問(wèn)全部?jī)?nèi)存。
在現(xiàn)有技術(shù)中,當(dāng)計(jì)算機(jī)上電啟動(dòng)時(shí),會(huì)進(jìn)行機(jī)器自檢,其中有一項(xiàng)目是內(nèi)存的檢測(cè),從檢測(cè)結(jié)果可知計(jì)算機(jī)內(nèi)存總?cè)萘康拇笮?。在?jì)算機(jī)自檢中,有許多項(xiàng)目是根據(jù)系統(tǒng)參數(shù)存儲(chǔ)器CMOS中所設(shè)置的值進(jìn)行檢測(cè)和設(shè)置工作方式的。在本發(fā)明中,可以把內(nèi)存分體的個(gè)數(shù)作為一個(gè)新增項(xiàng)目參數(shù)由計(jì)算機(jī)用戶(hù)設(shè)置到CMOS中。
當(dāng)計(jì)算機(jī)自檢通過(guò)全部項(xiàng)目后,轉(zhuǎn)入內(nèi)存分體設(shè)置程序。內(nèi)存分體設(shè)置程序根據(jù)計(jì)算機(jī)自檢所知的內(nèi)存總?cè)萘?,以及CMOS中所設(shè)置的內(nèi)存分體數(shù),可以計(jì)算確定內(nèi)存分體的大小、以及內(nèi)存分體選通線是哪幾根。接著,內(nèi)存分體設(shè)置程序就訪問(wèn)這些選通線所對(duì)應(yīng)的軟開(kāi)關(guān)地址(設(shè)在I/O空間中,見(jiàn)前文),使開(kāi)關(guān)控制電路接管對(duì)內(nèi)存分體選通線的控制權(quán),同時(shí)取消CPU對(duì)這幾根選通線的控制權(quán),并缺省設(shè)置選通內(nèi)存分體第一體,初始化內(nèi)存分體啟用標(biāo)志(增設(shè)在I/O空間中)置第一體啟用標(biāo)志為“1”(標(biāo)志著第一體已經(jīng)啟用);其它分體啟用標(biāo)志置“0”(標(biāo)志著其它分體尚未啟用)。以后,當(dāng)硬盤(pán)引導(dǎo)裝入軟件(例如DOS)再次檢測(cè)當(dāng)前啟用的內(nèi)存時(shí),只能檢測(cè)到一個(gè)分體的內(nèi)存容量。
內(nèi)存分體選通線確定后,應(yīng)該把它保存起來(lái),可以在I/O空間中設(shè)置幾個(gè)端口寄存器來(lái)保存,以供以后分體切換時(shí)據(jù)以作為訪問(wèn)軟開(kāi)關(guān)的根據(jù)。以64兆總內(nèi)存分為4個(gè)16兆分體為例,選通線是A24、A25,當(dāng)要從第一體(選通線取值為“00”)切換到第三體(選通線取值為“10”,A25高位,A24低位),內(nèi)存分體切換驅(qū)動(dòng)程序首先訪問(wèn)I/O檢測(cè)選通線開(kāi)關(guān)狀態(tài),檢測(cè)A24、A25線當(dāng)前取值為“00”,確認(rèn)處在第一體,然后根據(jù)I/O端口寄存器中保存的選通線參數(shù),把第一根A24置“0”,第二根A25置“1”,實(shí)現(xiàn)第一體到第三體的切換。
內(nèi)存分體設(shè)置后,計(jì)算機(jī)應(yīng)有一個(gè)設(shè)置標(biāo)志,表示已經(jīng)經(jīng)過(guò)上電啟動(dòng),并已設(shè)置內(nèi)存分體。這可以用一個(gè)簡(jiǎn)單的雙穩(wěn)態(tài)開(kāi)關(guān)來(lái)做成,它的置“0”端由RC電容延遲電路控制,電容由電源通過(guò)電阻充電,當(dāng)計(jì)算機(jī)上電時(shí),主板工作電壓穩(wěn)定后,電容上的電平由于充電延遲作用,先處于低電平,使雙穩(wěn)態(tài)開(kāi)關(guān)置“0”,標(biāo)志著上電啟動(dòng)。當(dāng)內(nèi)存分體設(shè)置完成后,由設(shè)置程序給雙穩(wěn)態(tài)開(kāi)關(guān)置“1”,表示已經(jīng)設(shè)置內(nèi)存分體。該雙穩(wěn)態(tài)開(kāi)關(guān)的置“1”端及其狀態(tài)輸出端分別接入I/O空間中增設(shè)的兩個(gè)I/O端口,使設(shè)置程序可以給它置“1”,也能讀出檢測(cè)它的狀態(tài)。該雙穩(wěn)態(tài)開(kāi)關(guān)的狀態(tài)就是內(nèi)存分體設(shè)置標(biāo)志。
當(dāng)計(jì)算機(jī)上電啟動(dòng)時(shí),BIOS自檢通過(guò)之后,內(nèi)存分體設(shè)置程序先檢測(cè)內(nèi)存分體設(shè)置標(biāo)志,如為上電啟動(dòng),則接著進(jìn)行內(nèi)存分體設(shè)置工作。設(shè)置完成后,把標(biāo)志置位,標(biāo)志著已經(jīng)設(shè)置內(nèi)存分體。當(dāng)下一次計(jì)算機(jī)按復(fù)位鍵冷啟動(dòng)時(shí),已經(jīng)不是上電啟動(dòng)了,內(nèi)存分體設(shè)置程序檢測(cè)內(nèi)存分體設(shè)置標(biāo)志,系非上電啟動(dòng),將跳過(guò)設(shè)置程序,不再重復(fù)設(shè)置。
在本發(fā)明中,當(dāng)計(jì)算機(jī)某分體內(nèi)存因程序錯(cuò)誤而死機(jī)時(shí),按復(fù)位鍵重啟動(dòng),計(jì)算機(jī)重新進(jìn)行機(jī)器自檢,包括內(nèi)存重新自檢,并清除內(nèi)存。由于這時(shí)內(nèi)存分體已經(jīng)建立,分體選通控制電路已經(jīng)取得對(duì)內(nèi)存RAM分體選通線的控制權(quán),CPU不再能控制選通線,它所能檢測(cè)到的內(nèi)存空間已經(jīng)不是象第一次上電啟動(dòng)時(shí)那樣的全部?jī)?nèi)存(在本例中為64兆),而僅僅是4個(gè)分體中的當(dāng)前工作分體的16兆容量,被清除的內(nèi)存也是當(dāng)前工作分體的16兆空間,其它分體中運(yùn)行的軟件數(shù)據(jù)安然無(wú)恙。因此,一個(gè)內(nèi)存分體因死機(jī)復(fù)位重啟動(dòng)不會(huì)影響其它內(nèi)存分體的安全正常運(yùn)行。
三、分體切換時(shí)的現(xiàn)場(chǎng)保存在本發(fā)明中,多個(gè)內(nèi)存分體中運(yùn)行著多個(gè)操作系統(tǒng)平臺(tái)及其應(yīng)用軟件,但是使用的硬件只有一套(除內(nèi)存RAM以外)。這共用的硬件中包括外部設(shè)備顯示卡與顯示緩存RAM、軟驅(qū)及硬盤(pán)、光驅(qū)、打印機(jī)、鍵盤(pán)、鼠標(biāo)、聲卡、調(diào)制解調(diào)器等;主機(jī)設(shè)備CPU、ROM BIOS程序、系統(tǒng)參數(shù)存儲(chǔ)器CMOS、二級(jí)高速緩存CACHE、內(nèi)存管理電路等。
各分體內(nèi)存中運(yùn)行的軟件系統(tǒng)對(duì)硬件設(shè)備的使用情況可能是很不相同的,除了CPU寄存器數(shù)據(jù)不同以外,顯示卡的顯示模式、分辨率可能不同,顯示緩存的內(nèi)容不同,二級(jí)高速緩存CACHE的內(nèi)容不同,內(nèi)存管理驅(qū)動(dòng)狀態(tài)不同。因此,當(dāng)計(jì)算機(jī)從當(dāng)前工作的分體內(nèi)存切換到另一個(gè)分體內(nèi)存之前,必須先把當(dāng)前工作的分體內(nèi)存的程序暫時(shí)中斷運(yùn)行,保存所有可能不同的軟件、硬件現(xiàn)場(chǎng)狀況,以備以后切換回來(lái)時(shí)恢復(fù)原來(lái)的運(yùn)行狀態(tài)用,然后才能切換到另一個(gè)分體內(nèi)存。切換到新的分體內(nèi)存中后,也要先恢復(fù)那個(gè)分體內(nèi)存先前保存的中斷運(yùn)行時(shí)的軟件、硬件現(xiàn)場(chǎng)狀況,才能接下去繼續(xù)運(yùn)行。
每個(gè)內(nèi)存分體大約需要1兆到4兆存儲(chǔ)空間,作為中斷現(xiàn)場(chǎng)保存用。所需保存區(qū)的大小依被保存的數(shù)據(jù)的多寡而定;其中,數(shù)據(jù)量最大的是顯示緩存RAM的內(nèi)容和二級(jí)高速緩存CACHE的內(nèi)容。目前顯示卡緩存RAM最小512K,最大2兆;二級(jí)CACHE最小256K,最大1兆。加上其它現(xiàn)場(chǎng)數(shù)據(jù),包括CPU內(nèi)各數(shù)據(jù)寄存器的現(xiàn)場(chǎng)數(shù)據(jù)、內(nèi)存管理驅(qū)動(dòng)狀態(tài)、CACHE使用狀態(tài)等,最少需1兆,最多4兆。
中斷現(xiàn)場(chǎng)保存用的存儲(chǔ)器,可以有兩種方案,一種是采用專(zhuān)用存儲(chǔ)器RAM,相應(yīng)等分成四個(gè)分體,用來(lái)保存各內(nèi)存分體的中斷現(xiàn)場(chǎng)。當(dāng)內(nèi)存分體切換時(shí),相應(yīng)同時(shí)切換對(duì)應(yīng)的現(xiàn)場(chǎng)保存專(zhuān)用RAM分體。這種方案會(huì)增加主板成本。
另一種是保存在各內(nèi)存分體高端,這一段空間應(yīng)使用存儲(chǔ)體分塊切換技術(shù)控制其接入或斷開(kāi)。當(dāng)計(jì)算機(jī)上電、內(nèi)存分體設(shè)置后,應(yīng)將保存區(qū)與內(nèi)存其它部分?jǐn)嚅_(kāi),使CPU不能訪問(wèn)它,操作系統(tǒng)軟件檢測(cè)內(nèi)存時(shí)只能檢測(cè)到它下端的內(nèi)存部分,以避免操作系統(tǒng)和用戶(hù)軟件使用該區(qū)域。當(dāng)需要保存或恢復(fù)中斷現(xiàn)場(chǎng)時(shí),再接入,使CPU能訪問(wèn)。
對(duì)于16兆的分體內(nèi)存容量,劃出高端4兆的空間用作現(xiàn)場(chǎng)保存區(qū),尚存12兆剩余空間,足夠WINDOWS95使用。至于WIN98、WIN2000,可能不夠用,但更大容量?jī)?nèi)存不久將很快降價(jià)成為主流標(biāo)準(zhǔn)配置,那時(shí)候每個(gè)分體內(nèi)存容量將相當(dāng)于甚至超過(guò)目前標(biāo)準(zhǔn)配置32兆。
不過(guò),高速緩存CACHE的內(nèi)容也可以不保存,因?yàn)樗緛?lái)就是內(nèi)存中的數(shù)據(jù)復(fù)制到CACHE中去的;并且,目前已成主流機(jī)型的586以上PC機(jī)未來(lái)將普遍采用SDRAM閃速內(nèi)存,不使用CACHE也能高速工作。此外,CACHE可以擴(kuò)充容量,設(shè)置分體,例如原來(lái)二級(jí)CACHE容量256K,可擴(kuò)充到1兆,等分成4個(gè)分體。而顯示緩存RAM也可以擴(kuò)充容量,例如原為2兆,擴(kuò)充到8兆,分成4個(gè)分體。切換內(nèi)存分體時(shí),不需保存CACHE和顯示緩存RAM的內(nèi)容,只需相應(yīng)同時(shí)切換CACHE和顯示緩存RAM分體。但對(duì)于顯示卡,仍需保存顯存分體顯示模式、分辨率,可以保存在顯示緩存的各自分體內(nèi),并由顯示卡ROM BIOS程序自己進(jìn)行。這樣可以加快切換速度,不過(guò)會(huì)增加主板和顯示卡成本。
略去顯示緩存和CACHE的數(shù)據(jù),保存區(qū)大約只需100Kb就夠了。中斷現(xiàn)場(chǎng)總共有哪些可能不同的現(xiàn)場(chǎng)數(shù)據(jù)有必要保存?以及到底需要多大保存區(qū)?這留給計(jì)算機(jī)制造商具體開(kāi)發(fā)設(shè)計(jì)時(shí)決定。
計(jì)算機(jī)上電啟動(dòng)時(shí),主板BIOS內(nèi)存分體設(shè)置程序應(yīng)檢測(cè)顯示卡是否有緩存RAM分體設(shè)置,如果有,則不必在內(nèi)存RAM中開(kāi)辟太大的保存區(qū)。顯示緩存RAM分體的設(shè)置與切換規(guī)定應(yīng)與主板內(nèi)存分體切換驅(qū)動(dòng)程序協(xié)調(diào),這需要由顯示卡制造商和主板制造商共同制定接口操作規(guī)約。
四、內(nèi)存分體的共用空間在現(xiàn)有技術(shù)中,PC機(jī)內(nèi)存640K至1M之間地址空間是系統(tǒng)保留給開(kāi)機(jī)啟動(dòng)自檢、引導(dǎo)裝入程序及外部設(shè)備使用的ROM BIOS程序區(qū)。由于一臺(tái)計(jì)算機(jī)只有一套啟動(dòng)自檢、引導(dǎo)裝入程序及一套內(nèi)存分體設(shè)置、切換控制程序,并且一臺(tái)計(jì)算機(jī)一般只配備一套外部設(shè)備,無(wú)論計(jì)算機(jī)工作在哪個(gè)內(nèi)存分體空間中、哪個(gè)系統(tǒng)平臺(tái)軟件上,CPU都要訪問(wèn)使用這一塊底層控制程序區(qū)。因此,這一段ROM BIOS程序區(qū)應(yīng)該是共用空間。此外,與外部設(shè)備ROM BIOS程序工作有關(guān)的輸入輸出I/O空間也應(yīng)是共用空間。不論計(jì)算機(jī)工作在哪個(gè)分體內(nèi)存中,這一段ROM共用程序區(qū)及I/O空間都要接通CPU地址總線。這由現(xiàn)有技術(shù)的內(nèi)存管理電路即可完成。
不過(guò),由于ROM程序運(yùn)行速度慢,RAM程序運(yùn)行速度快,未來(lái)更多采用的SDRAM閃速內(nèi)存工作速度更快,計(jì)算機(jī)用戶(hù)往往把ROMBIOS程序拷貝到影子內(nèi)存(即與ROM地址相重疊的RAM空間)中運(yùn)行。然而影子內(nèi)存隸屬于各個(gè)分體內(nèi)存。由于本實(shí)施例所采用的內(nèi)存分體開(kāi)關(guān)控制電路的原因,各分體內(nèi)的內(nèi)存RAM空間是無(wú)法映射成各分體的共用空間的,它們也無(wú)法互相尋址訪問(wèn),就象它們分屬于不同的物理計(jì)算機(jī)一樣。各分體內(nèi)存的軟件系統(tǒng)對(duì)影子內(nèi)存的使用要求可能有所不同,因此,各分體內(nèi)存中影子內(nèi)存的使用情況應(yīng)在CMOS中分別設(shè)置,這樣,CMOS中將多一項(xiàng)有關(guān)各分體內(nèi)存的影子內(nèi)存設(shè)置項(xiàng)。
各分體內(nèi)存的外部設(shè)備BIOS程序即可以在共用的ROM空間內(nèi)運(yùn)行,也可以在隸屬于各分體內(nèi)存的影子內(nèi)存中運(yùn)行,因而可以拷貝到影子內(nèi)存中。但內(nèi)存分體設(shè)置及切換驅(qū)動(dòng)程序卻不允許拷貝到影子內(nèi)存中運(yùn)行,因?yàn)樗仨毷呛透鞣煮w內(nèi)存都連接的公共可訪問(wèn)的程序區(qū),以實(shí)現(xiàn)內(nèi)存分體之間的平滑安全切換。這由現(xiàn)有技術(shù)的內(nèi)存管理電路完成。
五、內(nèi)存分體切換處理程序及切換過(guò)程計(jì)算機(jī)的運(yùn)行從一個(gè)內(nèi)存分體切換到另一個(gè)內(nèi)存分體,可以有兩種方式(一)一種是手動(dòng)鍵盤(pán)輸入命令切換。當(dāng)由于需要在另一個(gè)內(nèi)存分體啟動(dòng)另一套軟件系統(tǒng)或需要實(shí)時(shí)切換到另一個(gè)內(nèi)存分體的軟件系統(tǒng)下工作時(shí),采用手動(dòng)從鍵盤(pán)輸入命令切換。
(二)另一種是事先設(shè)置的自動(dòng)切換。如果當(dāng)前正在A內(nèi)存分體進(jìn)行一種一般事務(wù)的時(shí)停時(shí)續(xù)的操作,例如編寫(xiě)WPS文檔文件,經(jīng)常會(huì)停頓思考,有許多臨時(shí)停止操作的間歇時(shí)間,而需要同時(shí)兼顧B內(nèi)存分體正在運(yùn)行的需要長(zhǎng)時(shí)間連續(xù)運(yùn)算的科技工程計(jì)算,那么可以利用當(dāng)前工作的A分體的停頓間歇時(shí)間,當(dāng)計(jì)算機(jī)檢測(cè)到鍵盤(pán)操作空閑時(shí),自動(dòng)切換到B分體。而有鍵盤(pán)輸入操作時(shí),計(jì)算機(jī)又自動(dòng)切換回A分體。
本實(shí)施例僅以手動(dòng)鍵盤(pán)命令切換為例說(shuō)明切換操作技術(shù)及過(guò)程。
在現(xiàn)有技術(shù)中,PC機(jī)鍵盤(pán)輸入處理程序由硬件中斷處理程序和軟件中斷處理程序二者構(gòu)成。其中,軟件中斷處理程序隸屬操作系統(tǒng)和應(yīng)用軟件,與操作系統(tǒng)有關(guān)。硬件中斷處理程序則和操作系統(tǒng)無(wú)關(guān),除非計(jì)算機(jī)用戶(hù)修改中斷指針指到改編的硬件中斷處理程序。
在本發(fā)明中,在現(xiàn)有鍵盤(pán)硬件中斷處理程序基礎(chǔ)上,添加內(nèi)存分體切換處理程序。這一程序是各內(nèi)存分體共用程序,其程序地址應(yīng)當(dāng)是各內(nèi)存分體公共可訪問(wèn)空間。它可以和鍵盤(pán)硬件中斷處理程序一起,以及和系統(tǒng)上電開(kāi)機(jī)自檢引導(dǎo)程序、內(nèi)存分體設(shè)置程序一起,做成供各內(nèi)存分體公共使用的ROM程序。
在現(xiàn)有技術(shù)中,當(dāng)鍵盤(pán)有鍵按下時(shí),鍵盤(pán)單片計(jì)算機(jī)把它轉(zhuǎn)為掃描碼表示的鍵位置編碼或特殊鍵狀態(tài)碼,輸入到主機(jī)鍵盤(pán)接口,并給主機(jī)CPU發(fā)硬件中斷,啟動(dòng)主機(jī)鍵盤(pán)硬件中斷處理程序。鍵盤(pán)硬件中斷處理程序接收已在鍵盤(pán)接口中的鍵盤(pán)掃描碼,結(jié)合已經(jīng)接收記錄的特殊鍵狀態(tài),把輸入掃描碼轉(zhuǎn)換為由掃描碼和ASCII碼組成的兩字節(jié)擴(kuò)展碼,并存入內(nèi)存鍵盤(pán)緩沖區(qū);然后再檢測(cè)是否有它有權(quán)處理的鍵盤(pán)命令。
在本發(fā)明中,當(dāng)鍵盤(pán)硬件中斷處理程序完成上述操作后,檢測(cè)存入的兩字節(jié)擴(kuò)展碼是否為內(nèi)存分體切換命令(具體命令碼組成由計(jì)算機(jī)制造商開(kāi)發(fā)設(shè)計(jì)時(shí)決定)?若不是,繼續(xù)鍵盤(pán)硬件中斷處理程序的其余操作;若是,則按下述步驟轉(zhuǎn)入內(nèi)存分體切換處理過(guò)程(一)內(nèi)存分體切換處理程序首先把分體切換操作要用到的CPU寄存器數(shù)據(jù)壓棧,然后(二)在屏幕提示
“(1)內(nèi)存分體總數(shù) ×(2)已經(jīng)啟動(dòng)內(nèi)存分體 ×,×,×,……(3)當(dāng)前工作的內(nèi)存分體號(hào) ×切換到N號(hào)內(nèi)存分體?(按數(shù)字鍵×)(退出操作,按ESC鍵)”(三)輸入一位數(shù)字鍵(目標(biāo)分體號(hào)),按回車(chē)確認(rèn)。內(nèi)存分體切換處理程序首先判斷輸入的分體號(hào)是否合法,即是否在內(nèi)存分體總數(shù)范圍內(nèi)?若是,驅(qū)動(dòng)內(nèi)存分塊軟開(kāi)關(guān),使接通中斷現(xiàn)場(chǎng)保存區(qū),繼續(xù)下一步。若不合法,則提示“輸入目標(biāo)分體號(hào)不在總數(shù)范圍內(nèi),請(qǐng)重新輸入!”,然后轉(zhuǎn)回第二步。
(四)保存CPU其余全部寄存器的數(shù)據(jù)(不包括預(yù)取指令隊(duì)列寄存器),保存內(nèi)存管理電路驅(qū)動(dòng)狀態(tài)及當(dāng)前工作分體中有必要保存的其它現(xiàn)場(chǎng)數(shù)據(jù)。接著,判斷主板上CACHE及顯示卡緩沖存儲(chǔ)器是否有分體設(shè)置?若無(wú),則保存CACHE內(nèi)容及顯示緩存內(nèi)容,保存顯示卡顯示模式,跳到第六步;若有,則僅保存顯示卡顯示模式,繼續(xù)下一步。
(五)驅(qū)動(dòng)主板CACHE與顯示卡緩沖存儲(chǔ)器分體切換軟開(kāi)關(guān),切斷當(dāng)前工作分體,接通目標(biāo)分體,實(shí)現(xiàn)從當(dāng)前分體切換到目標(biāo)分體。
(六)驅(qū)動(dòng)主板內(nèi)存分體切換軟開(kāi)關(guān),切斷當(dāng)前工作分體,接通目標(biāo)分體,實(shí)現(xiàn)從當(dāng)前內(nèi)存分體切換到目標(biāo)內(nèi)存分體。
(七)這時(shí)目標(biāo)分體已經(jīng)轉(zhuǎn)變成當(dāng)前工作分體。首先判斷當(dāng)前分體是否已經(jīng)啟動(dòng)使用?若尚未啟用,先驅(qū)動(dòng)內(nèi)存分塊軟開(kāi)關(guān),使當(dāng)前分體的現(xiàn)場(chǎng)保存區(qū)與內(nèi)存其它部分?jǐn)嚅_(kāi),然后,跳轉(zhuǎn)到計(jì)算機(jī)冷啟動(dòng)程序入口,就象復(fù)位啟動(dòng)計(jì)算機(jī)一樣,啟動(dòng)裝入運(yùn)行另外一套操作系統(tǒng)及其應(yīng)用軟件。若已經(jīng)啟動(dòng)使用,繼續(xù)下一步。
(八)從現(xiàn)場(chǎng)保存區(qū)依順序讀數(shù)據(jù)恢復(fù)CPU全部寄存器數(shù)據(jù),恢復(fù)內(nèi)存管理電路驅(qū)動(dòng)狀態(tài)及當(dāng)前工作分體的其它現(xiàn)場(chǎng)數(shù)據(jù),恢復(fù)CACHE及顯卡緩存內(nèi)容(若先前有保存的話(huà)),恢復(fù)顯示模式。然后驅(qū)動(dòng)內(nèi)存分塊軟開(kāi)關(guān),使現(xiàn)場(chǎng)保存區(qū)與內(nèi)存其它部分?jǐn)嚅_(kāi)。
(九)從堆棧彈出恢復(fù)分體切換操作前壓棧的CPU寄存器數(shù)據(jù)(見(jiàn)前述第一步操作)。清除鍵盤(pán)緩沖區(qū)(即使鍵盤(pán)緩沖區(qū)首指針、尾指針相等),清除特殊鍵狀態(tài)記錄。然后跳轉(zhuǎn)到中斷返回指令,從斷點(diǎn)開(kāi)始繼續(xù)先前被中斷的原程序。
權(quán)利要求
1.在計(jì)算機(jī)中,把主機(jī)隨機(jī)存儲(chǔ)器系統(tǒng)(主要是內(nèi)存)分成幾個(gè)分立的空間結(jié)構(gòu)相同的存儲(chǔ)體,在存儲(chǔ)體切換軟開(kāi)關(guān)及其存儲(chǔ)分體設(shè)置與切換處理程序驅(qū)動(dòng)控制下,每個(gè)存儲(chǔ)體可以互不相干地分別啟動(dòng)運(yùn)行一套操作系統(tǒng)及其應(yīng)用軟件,從而構(gòu)成一種在用戶(hù)使用角度看來(lái),可以同時(shí)運(yùn)行多個(gè)操作系統(tǒng)平臺(tái)及其應(yīng)用軟件的同時(shí)多平臺(tái)計(jì)算機(jī)。其特征是①所稱(chēng)的同時(shí)多平臺(tái)計(jì)算機(jī),其主機(jī)隨機(jī)存儲(chǔ)器系統(tǒng)(主要是內(nèi)存)可以分成幾個(gè)空間結(jié)構(gòu)相同、但管理和使用互不相干的存儲(chǔ)分體;②所稱(chēng)的同時(shí)多平臺(tái)計(jì)算機(jī),在其主機(jī)系統(tǒng)固化程序ROM BIOS中固化了對(duì)存儲(chǔ)分體的選通與切換邏輯(叫做存儲(chǔ)體切換軟開(kāi)關(guān),見(jiàn)說(shuō)明書(shū))進(jìn)行控制的存儲(chǔ)分體設(shè)置與切換處理程序。③所稱(chēng)的同時(shí)多平臺(tái)計(jì)算機(jī),在存儲(chǔ)體切換軟開(kāi)關(guān)及其存儲(chǔ)分體設(shè)置與切換處理程序驅(qū)動(dòng)控制下,可以在每個(gè)存儲(chǔ)分體中分別啟動(dòng)運(yùn)行一套操作系統(tǒng)及其應(yīng)用軟件,即具有同時(shí)運(yùn)行多個(gè)平臺(tái)軟件系統(tǒng)的功能。
2.根據(jù)權(quán)利要求1,所稱(chēng)的“幾個(gè)空間結(jié)構(gòu)相同、但管理和使用互不相干的存儲(chǔ)分體”,各存儲(chǔ)分體在操作系統(tǒng)及其應(yīng)用軟件看來(lái),其空間結(jié)構(gòu)、管理規(guī)則和使用方式是一樣的,并和現(xiàn)有技術(shù)同類(lèi)型計(jì)算機(jī)中不分體的存儲(chǔ)系統(tǒng)是一樣的;每個(gè)存儲(chǔ)分體,其空間結(jié)構(gòu)和容量大小,就其所擔(dān)負(fù)的系統(tǒng)功能范圍內(nèi),均是滿(mǎn)足計(jì)算機(jī)運(yùn)行所需要的完整存儲(chǔ)系統(tǒng);它們和計(jì)算機(jī)中其它共用硬件(包括共用的存儲(chǔ)器子系統(tǒng))及共用ROM程序等的關(guān)系,分別均構(gòu)成一臺(tái)完整的計(jì)算機(jī)。其特征是①所稱(chēng)的存儲(chǔ)分體,其空間結(jié)構(gòu)和容量大小,就其所擔(dān)負(fù)的系統(tǒng)功能范圍內(nèi),是滿(mǎn)足計(jì)算機(jī)運(yùn)行所需要的完整存儲(chǔ)系統(tǒng),而不是該完整存儲(chǔ)系統(tǒng)中的一部分。例如PC個(gè)人微機(jī)內(nèi)存系統(tǒng),每個(gè)內(nèi)存分體都是從最低地址00000H開(kāi)始的一段足夠運(yùn)行DOS或WINDOWS操作系統(tǒng)及其應(yīng)用軟件的連續(xù)存儲(chǔ)空間。反之,如在DOS環(huán)境下通過(guò)地址映射到高位內(nèi)存(UMB)而被存取的一個(gè)16K大小的內(nèi)存頁(yè),則它只是計(jì)算機(jī)完整內(nèi)存系統(tǒng)中的一部分,一個(gè)內(nèi)存塊。②所稱(chēng)的存儲(chǔ)分體,各存儲(chǔ)分體空間結(jié)構(gòu)(除存儲(chǔ)容量以外,見(jiàn)說(shuō)明書(shū))、管理規(guī)則、使用方法是一樣的,并和現(xiàn)有技術(shù)同類(lèi)型計(jì)算機(jī)中的存儲(chǔ)空間結(jié)構(gòu)及管理、使用規(guī)則是一樣的。例如在IBM PC/AT個(gè)人微機(jī)中,由于80x86系列CPU把中斷指針表安排在內(nèi)存最低地址00000H開(kāi)始的1K字節(jié)中,所以其基本內(nèi)存RAM的空間結(jié)構(gòu)都是從00000H開(kāi)始編址的;各內(nèi)存分體的存儲(chǔ)單元編址對(duì)于在其中運(yùn)行的軟件系統(tǒng)看來(lái),都是從00000H開(kāi)始編址,并因而是互相重疊的。
3.根據(jù)權(quán)利要求1及權(quán)利要求2,所稱(chēng)的同時(shí)多平臺(tái)計(jì)算機(jī),其主機(jī)系統(tǒng)固化了存儲(chǔ)分體設(shè)置與切換處理程序;所稱(chēng)的存儲(chǔ)分體,是在存儲(chǔ)分體設(shè)置與切換處理程序控制下工作的。其特征是①在計(jì)算機(jī)開(kāi)機(jī)啟動(dòng)程序中,續(xù)含有存儲(chǔ)分體設(shè)置與初始化程序,其功能是計(jì)算確定存儲(chǔ)分體的容量及存儲(chǔ)分體的選通控制線,取得程序?qū)Υ鎯?chǔ)分體選通與切換的控制權(quán),并初始化存儲(chǔ)分體工作狀態(tài)及標(biāo)志;計(jì)算機(jī)操作者可以通過(guò)鍵盤(pán)輸入命令(或通過(guò)CMOS參數(shù))設(shè)定存儲(chǔ)分體的個(gè)數(shù)及其它工作要求。②在計(jì)算機(jī)鍵盤(pán)硬件中斷處理程序中,包含有存儲(chǔ)分體切換處理程序,其功能是判別和處理操作者從鍵盤(pán)輸入的存儲(chǔ)分體切換即平臺(tái)軟件系統(tǒng)的切換命令;計(jì)算機(jī)操作者可以從鍵盤(pán)輸入命令,通過(guò)鍵盤(pán)硬件中斷處理程序中的存儲(chǔ)分體切換處理程序從一個(gè)存儲(chǔ)分體(當(dāng)前工作分體)切換到另一個(gè)分體(目標(biāo)分體),從而實(shí)現(xiàn)從一個(gè)平臺(tái)軟件系統(tǒng)到另一個(gè)平臺(tái)軟件系統(tǒng)的切換。
4.根據(jù)權(quán)利要求1、權(quán)利要求2及權(quán)利要求3,所稱(chēng)的存儲(chǔ)分體,在存儲(chǔ)體切換軟開(kāi)關(guān)及其切換處理程序驅(qū)動(dòng)控制下,每個(gè)存儲(chǔ)分體可以互不相干地分別啟動(dòng)運(yùn)行一套操作系統(tǒng)及其應(yīng)用軟件;同一套操作系統(tǒng)及其應(yīng)用軟件不論在哪一個(gè)存儲(chǔ)分體啟動(dòng)運(yùn)行,其啟動(dòng)運(yùn)行過(guò)程及對(duì)存儲(chǔ)器空間的使用情況及訪問(wèn)方式都完全一樣,就象在現(xiàn)有技術(shù)的存儲(chǔ)器不分體的一臺(tái)單獨(dú)的物理計(jì)算機(jī)中啟動(dòng)運(yùn)行的情形一樣。其特征是①所稱(chēng)的存儲(chǔ)分體,每個(gè)存儲(chǔ)分體都可以啟動(dòng)裝入運(yùn)行一套操作系統(tǒng)及其應(yīng)用軟件;啟動(dòng)的情形就象一臺(tái)單獨(dú)的物理計(jì)算機(jī)開(kāi)機(jī)啟動(dòng)一樣。②被啟動(dòng)運(yùn)行的操作系統(tǒng)及其應(yīng)用軟件,不論在哪個(gè)存儲(chǔ)分體啟動(dòng)裝入運(yùn)行,其啟動(dòng)過(guò)程及運(yùn)行情形都是一樣的;換言之,一個(gè)操作系統(tǒng)及其應(yīng)用軟件,在哪一個(gè)存儲(chǔ)分體啟動(dòng)都一樣。③所稱(chēng)的存儲(chǔ)分體,是在存儲(chǔ)體切換軟開(kāi)關(guān)及其切換處理程序(見(jiàn)說(shuō)明書(shū))驅(qū)動(dòng)控制下,實(shí)現(xiàn)其與其它存儲(chǔ)分體不相干地單獨(dú)啟動(dòng)運(yùn)行一套操作系統(tǒng)及其應(yīng)用軟件的。
5.根據(jù)權(quán)利要求1、權(quán)利要求2及權(quán)利要求4,各個(gè)存儲(chǔ)分體是分別管理和使用的,是由各個(gè)內(nèi)存分體中運(yùn)行的軟件系統(tǒng)分別管理和使用的;各存儲(chǔ)分體中運(yùn)行的軟件系統(tǒng)(程序及數(shù)據(jù))是互無(wú)關(guān)系、互不相干、分別運(yùn)行、互不影響的。其特征是①所稱(chēng)的存儲(chǔ)分體及其中運(yùn)行的軟件系統(tǒng)無(wú)法互相尋址訪問(wèn),就象它們分屬于不同的物理計(jì)算機(jī),在不同的物理計(jì)算機(jī)中運(yùn)行一樣;②所稱(chēng)的存儲(chǔ)分體及其中運(yùn)行的軟件系統(tǒng),可以分別重啟動(dòng)(復(fù)位冷啟動(dòng)或熱啟動(dòng)),重啟動(dòng)過(guò)程不影響其它存儲(chǔ)分體中軟件系統(tǒng)的原有正常運(yùn)行。
6.根據(jù)權(quán)利要求1、權(quán)利要求2及權(quán)利要求4,所稱(chēng)的“可以分成幾個(gè)空間結(jié)構(gòu)相同、但管理和使用互不相干的存儲(chǔ)分體”的存儲(chǔ)器系統(tǒng),及包含有這種存儲(chǔ)器系統(tǒng)的計(jì)算機(jī)或計(jì)算機(jī)設(shè)備、部件,是用于(在用戶(hù)使用角度看來(lái),見(jiàn)說(shuō)明書(shū))同時(shí)運(yùn)行多個(gè)平臺(tái)軟件系統(tǒng)的用途或目的的。其特征是①所稱(chēng)的存儲(chǔ)器系統(tǒng),其中的每個(gè)存儲(chǔ)分體,在計(jì)算機(jī)同時(shí)多平臺(tái)運(yùn)行時(shí),可以一一對(duì)應(yīng)地由多個(gè)平臺(tái)軟件系統(tǒng)分別支配和使用。例如顯示緩沖存儲(chǔ)器,分成幾個(gè)緩存分體,每個(gè)緩存分體分別由計(jì)算機(jī)中同時(shí)運(yùn)行的多個(gè)平臺(tái)軟件系統(tǒng)中的某一個(gè)支配和使用。②所稱(chēng)的存儲(chǔ)器系統(tǒng),其存儲(chǔ)管理部件中包含有存儲(chǔ)分體選通控制邏輯(電路),并相應(yīng)在固化的驅(qū)動(dòng)程序中包含有相應(yīng)的存儲(chǔ)分體設(shè)置與切換驅(qū)動(dòng)處理程序,行使對(duì)存儲(chǔ)分體的選通切換控制。例如可以應(yīng)用于分體運(yùn)行多平臺(tái)的顯示緩沖存儲(chǔ)器,其顯示卡上包含有分體選通控制邏輯電路,并在固化的BIOS程序中包含有分體設(shè)置與切換驅(qū)動(dòng)程序。③所稱(chēng)的存儲(chǔ)器系統(tǒng),其分體設(shè)置與切換驅(qū)動(dòng)程序可以由操作者從鍵盤(pán)輸入命令以使其執(zhí)行分體設(shè)置與切換操作。例如顯示緩沖存儲(chǔ)器,其顯示卡上的分體設(shè)置與切換驅(qū)動(dòng)程序可以由主機(jī)調(diào)用以執(zhí)行分體切換操作,而主機(jī)調(diào)用命令則可以由操作者鍵盤(pán)輸入命令驅(qū)動(dòng)其調(diào)用過(guò)程。
全文摘要
本發(fā)明,是一種能同時(shí)運(yùn)行多個(gè)操作系統(tǒng)平臺(tái)及其應(yīng)用軟件的計(jì)算機(jī)。本發(fā)明,在一臺(tái)計(jì)算機(jī)中,把主機(jī)隨機(jī)存儲(chǔ)器系統(tǒng)(主要是內(nèi)存)分成幾個(gè)分立的空間結(jié)構(gòu)相同的存儲(chǔ)體,每個(gè)存儲(chǔ)體分別可互不相干地獨(dú)立啟動(dòng)運(yùn)行一套操作系統(tǒng)及其應(yīng)用軟件。在軟開(kāi)關(guān)切換控制下,CPU分時(shí)運(yùn)行各個(gè)存儲(chǔ)體的軟件系統(tǒng),并且它們分時(shí)共用一套外部設(shè)備。對(duì)于計(jì)算機(jī)用戶(hù)看來(lái),它們好象是多個(gè)互不相干的軟件系統(tǒng)在分別同時(shí)運(yùn)行,就象多臺(tái)物理計(jì)算機(jī)在同時(shí)工作,每臺(tái)運(yùn)行各自的一套軟件一樣。這樣使一臺(tái)計(jì)算機(jī)同時(shí)做多臺(tái)計(jì)算機(jī)的工作,一機(jī)發(fā)揮多機(jī)的效用。
文檔編號(hào)G06F12/00GK1236922SQ99106699
公開(kāi)日1999年12月1日 申請(qǐng)日期1999年5月27日 優(yōu)先權(quán)日1999年5月27日
發(fā)明者林光榮 申請(qǐng)人:林光榮
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
乌鲁木齐市| 大洼县| 双城市| 彭山县| 博客| 吉首市| 万宁市| 安吉县| 庆阳市| 开封市| 三江| 巴彦县| 宜城市| 凤山县| 商南县| 定州市| 和龙市| 漯河市| 平和县| 和顺县| 巍山| 沙雅县| 南岸区| 龙泉市| 滕州市| 荃湾区| 明光市| 阿拉尔市| 永平县| 朝阳县| 睢宁县| 乐昌市| 水富县| 皋兰县| 白银市| 长白| 鱼台县| 航空| 鄂州市| 措勤县| 阜平县|