專利名稱:使用主內(nèi)存緩沖器在計算機(jī)中接收同步數(shù)據(jù)流的系統(tǒng)的制作方法
背景發(fā)明的領(lǐng)域本發(fā)明涉及到計算機(jī)系統(tǒng)和數(shù)據(jù)傳送。更確切地說,本發(fā)明與一種用于在計算機(jī)系統(tǒng)中接收同步數(shù)據(jù)流的方法和裝置有關(guān),該計算機(jī)系統(tǒng)傳送同步數(shù)據(jù)流到計算機(jī)系統(tǒng)主內(nèi)存內(nèi)的緩沖器,同時不中斷處理器。
相關(guān)技術(shù)近來,計算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展已經(jīng)增加了可以將數(shù)據(jù)通過計算機(jī)網(wǎng)絡(luò)提供給計算機(jī)系統(tǒng)的速度。這部分增加的速度使得給計算機(jī)系統(tǒng)用戶提供新的服務(wù)(如流式視頻、快速的因特網(wǎng)訪問)成為可能。不幸地是,提供這種服務(wù)所必需的計算機(jī)系統(tǒng)性能可能超過現(xiàn)有的計算機(jī)系統(tǒng)設(shè)計的性能極限。
在從遠(yuǎn)程發(fā)送器(如衛(wèi)星)接收同步數(shù)據(jù)流時遇到了一個值得注意的問題。和通過計算機(jī)網(wǎng)絡(luò)傳送的其它類型的數(shù)據(jù)傳送不同,同步數(shù)據(jù)流以一個固定的速度連續(xù)不斷地輸送過來,而不管計算機(jī)系統(tǒng)是否能夠容納這部分額外的數(shù)據(jù)。
這給用于處理同步數(shù)據(jù)流的計算機(jī)系統(tǒng)的設(shè)計提出重大的挑戰(zhàn)。必須用某種方法對同步數(shù)據(jù)進(jìn)行緩沖,這樣數(shù)據(jù)才不會在應(yīng)用程序能夠看到之前丟失。然而,為了容納足夠的數(shù)據(jù)使應(yīng)用程序有足夠的時間來處理數(shù)據(jù),緩沖器不得不做得相當(dāng)大。所以,在接口卡內(nèi)提供足夠的內(nèi)存來緩沖同步數(shù)據(jù)會顯著增加接口卡的成本。
另外,在常規(guī)計算機(jī)系統(tǒng)里,從接口卡向計算機(jī)系統(tǒng)里的應(yīng)用程序傳送同步數(shù)據(jù)流時,引起處理器中斷來傳送各個數(shù)據(jù)包。這非常妨礙計算機(jī)系統(tǒng)性能,因?yàn)楦鱾€中斷占用大量的處理器周期,每次傳送同步數(shù)據(jù)流一個數(shù)據(jù)包需要大量的中斷。
所需要的是一種能夠緩沖同步數(shù)據(jù)流同時不引起與在接口卡內(nèi)提供大量內(nèi)存來緩沖數(shù)據(jù)相關(guān)的成本增加的計算機(jī)系統(tǒng)。
另外,所需要的是一種能夠向計算機(jī)系統(tǒng)里的應(yīng)用程序傳送同步數(shù)據(jù)流,同時不引起大量處理器中斷的計算機(jī)系統(tǒng)。
概述本發(fā)明的一個實(shí)施例,提供了一個用于接收同步數(shù)據(jù)流的系統(tǒng),該系統(tǒng)是在計算機(jī)系統(tǒng)的主內(nèi)存內(nèi)緩沖同步數(shù)據(jù)流的系統(tǒng)。該系統(tǒng)通過接收計算機(jī)系統(tǒng)內(nèi)的接口內(nèi)的同步數(shù)據(jù)流而運(yùn)行。該系統(tǒng)解調(diào)同步數(shù)據(jù)流,將同步數(shù)據(jù)流從調(diào)制的模擬方式轉(zhuǎn)換成數(shù)字方式;然后,該系統(tǒng)將來自接口的同步數(shù)據(jù)流傳遞到計算機(jī)系統(tǒng)主內(nèi)存里的緩沖器中,同時不中斷處理器;然后,數(shù)據(jù)通過緩沖器經(jīng)由一個與計算機(jī)系統(tǒng)上的應(yīng)用程序通信的驅(qū)動程序而傳遞。
在本發(fā)明的一個實(shí)施例內(nèi),主內(nèi)存里的緩沖器存在于計算機(jī)系統(tǒng)的操作系統(tǒng)中的系統(tǒng)空間里。
在本發(fā)明的一個實(shí)施例內(nèi),同步數(shù)據(jù)流是從衛(wèi)星接收的。
在本發(fā)明的一個實(shí)施例內(nèi),從緩沖器通過驅(qū)動程序傳遞數(shù)據(jù)的過程涉及到捕獲(trap)一個周期性的定時器中斷上的驅(qū)動程序。該驅(qū)動程序分析收集到的數(shù)據(jù),并確定出什么類型的數(shù)據(jù)正在被接收,然后將數(shù)據(jù)發(fā)送給應(yīng)用程序。
在本發(fā)明的一個實(shí)施例內(nèi),從接口傳遞同步數(shù)據(jù)流的過程是采用直接內(nèi)存訪問(DMA)來完成的。
在本發(fā)明的一個實(shí)施例內(nèi),從接口向緩沖器傳遞同步數(shù)據(jù)流的過程涉及到等待,直到接口內(nèi)部的本地緩沖器裝滿為止。當(dāng)本地緩沖器裝滿后,該系統(tǒng)請求對接口處的一個總線進(jìn)行控制。當(dāng)接收到總線的主狀態(tài)的認(rèn)可時,該系統(tǒng)從本地緩沖器通過總線傳送數(shù)據(jù)到主內(nèi)存里的緩沖器中。
在本發(fā)明的一個實(shí)施例內(nèi),接收同步數(shù)據(jù)流的動作涉及到接收同步數(shù)據(jù)流到本地緩沖器里,同時數(shù)據(jù)從第二個本地緩沖器被傳送到位于主內(nèi)存里的緩沖器中。它也涉及到接收同步數(shù)據(jù)流到第二個本地緩沖器里,同時數(shù)據(jù)經(jīng)由本地緩沖器被傳送到位于主內(nèi)存里的緩沖器中。
在本發(fā)明的一個實(shí)施例內(nèi),主內(nèi)存里的緩沖器是被組織成先入先出(FIFO)型的緩沖器。
本發(fā)明的一個實(shí)施例是在計算機(jī)系統(tǒng)初始化設(shè)置過程中分配主內(nèi)存里的緩沖器的。
附圖的簡要描述
圖1是依照本發(fā)明的一個實(shí)施例的、從衛(wèi)星接收同步數(shù)據(jù)流的計算機(jī)系統(tǒng)示意圖。
圖2是依照本發(fā)明的一個實(shí)施例的、一個接收衛(wèi)星數(shù)據(jù)的接口模塊的內(nèi)部結(jié)構(gòu)示意圖。
圖3是依照本發(fā)明的一個實(shí)施例的、一個用于接口模塊的控制器的內(nèi)部結(jié)構(gòu)示意圖。
圖4是依照本發(fā)明的一個實(shí)施例的、接收同步數(shù)據(jù)流的過程流程示意圖。
詳細(xì)描述為了使得本領(lǐng)域技術(shù)人員能夠制造和實(shí)施本發(fā)明,給出了下面的描述,下面的描述在一個特殊的應(yīng)用及其必要條件的上下文前后關(guān)系中被給出。各種各樣的關(guān)于本文所揭示的實(shí)施例的變型對于本領(lǐng)域技術(shù)人員將會非常的顯而易見,而且在這里所定義的一般原理可以被用于其它實(shí)施例和應(yīng)用,同時不背離本發(fā)明的精神和范圍(內(nèi)涵和外延)。這樣,不打算將本發(fā)明限制在所示的實(shí)施例,而是應(yīng)該給予本發(fā)明最寬的、與這里所揭示的原理和特征一致的范圍(外延)。
在這個詳細(xì)描述里描述的數(shù)據(jù)結(jié)構(gòu)和編碼被典型地存儲在計算機(jī)可讀的存儲介質(zhì)上,該介質(zhì)可以是能夠存儲代碼和/或數(shù)據(jù)的、供計算機(jī)系統(tǒng)使用的任何裝置或介質(zhì),該介質(zhì)包括但不只限于磁的和光的存儲裝置如磁盤裝置、磁帶、CDs(光盤)和DVDs(數(shù)字化視頻光盤)和包含在傳送介質(zhì)中(有或沒有用于調(diào)制信號的載波)的計算機(jī)指令信號。例如傳送介質(zhì)可以包括通信網(wǎng)絡(luò),如因特網(wǎng)。
計算機(jī)系統(tǒng)圖1為根據(jù)本發(fā)明的一個實(shí)施例,說明一個從衛(wèi)星101上接收同步數(shù)據(jù)流的計算機(jī)系統(tǒng)。衛(wèi)星101可以包括任何類型的、能夠發(fā)送傳送流(transport stream)的廣播衛(wèi)星或通信衛(wèi)星,例如數(shù)字式的運(yùn)動圖像專家組(MPEG2)傳送流。來自衛(wèi)星101的信號在衛(wèi)星拋物面天線105被接收,衛(wèi)星拋物面天線105與接口模塊103連接。接口模塊103將來自衛(wèi)星101的信號轉(zhuǎn)化為可以被計算機(jī)系統(tǒng)處理的數(shù)字形式。
圖1中所示的計算機(jī)系統(tǒng)包括處理器112,處理器112連接到北面的橋接器102上。處理器112可以包括任何類型的普通或?qū)S玫奶幚砥?,包括但不僅限于微處理器、大型計算機(jī)、數(shù)字信號處理器、圖形處理器或裝置控制器。
北面的橋接器102將處理器112與內(nèi)存104和總線106連接。內(nèi)存104是計算機(jī)系統(tǒng)的主內(nèi)存,該主內(nèi)存用于儲存計算機(jī)的編碼和/或數(shù)據(jù)。內(nèi)存104可包括任何類型的易失性的和非易失性的隨機(jī)存取存儲器。內(nèi)存104包含若干項,包括緩沖器107、驅(qū)動程序109和應(yīng)用程序111。緩沖器107是內(nèi)存104里用來緩沖在接口模塊103和應(yīng)用程序111之間傳送的數(shù)據(jù)的緩沖器。特別指出緩沖器107可以被組織成先入先出(FIFO)型的。驅(qū)動程序109是一種機(jī)制,應(yīng)用程序111可以通過該機(jī)制存取來自衛(wèi)星101的同步數(shù)據(jù)流。應(yīng)用程序111可以包括任何類型的、涉及到同步數(shù)據(jù)流的應(yīng)用程序。這包括從電視頻道提供流式的電視節(jié)目的應(yīng)用程序、提供音頻信號的應(yīng)用程序、或提供快速網(wǎng)頁瀏覽的應(yīng)用程序。
總線106將北面的橋接器102與南面的橋接器118連接起來??偩€106可以包括任何類型的、用來連接北面的橋接器102與計算機(jī)系統(tǒng)里其它裝置的通信信道,包括外圍設(shè)備和內(nèi)存設(shè)備。在本發(fā)明的一個實(shí)施例里,總線106是PCI總線。
南面的橋接器118包括用來將計算機(jī)系統(tǒng)的組件連接到一起的電路系統(tǒng)。而且,南面的橋接器118將總線106連接到外部設(shè)備總線120。
外部設(shè)備總線120可以包括任何類型的、用來將南面的橋接器118與計算機(jī)系統(tǒng)里其它裝置的通信信道,包括外圍設(shè)備和內(nèi)存設(shè)備。在本發(fā)明的一個實(shí)施例里,外部設(shè)備總線120包括一個ISA總線。外部設(shè)備總線120連接到ROM(只讀存儲器)140,該ROM(只讀存儲器)140包含BIOS(基本輸入輸出系統(tǒng))142。外部設(shè)備總線120又與I/O(輸入/輸出)電路150連接。I/O(輸入/輸出)電路150本身連接到鍵盤152和鼠標(biāo)154。
總線106連接到圖形控制器156。圖形控制器156可以包括任何類型、用來處理計算機(jī)系統(tǒng)里的圖像的處理電路和/或內(nèi)存。圖形控制器156與顯示器158連接,顯示器158用來顯示圖像。顯示器158可以用來顯示以電視頻道160形式傳回的實(shí)況轉(zhuǎn)播的電視。顯示器158也可以用來顯示網(wǎng)頁瀏覽器162的圖像,使得網(wǎng)頁瀏覽器162可以訪問因特網(wǎng)上的網(wǎng)站。
圖1中所示的系統(tǒng)通常如下工作。同步數(shù)據(jù)流連續(xù)地從衛(wèi)星101輸送到衛(wèi)星拋物面天線105。該數(shù)據(jù)流通過接口模塊103,經(jīng)由總線106和北面的橋接器102后,進(jìn)入到內(nèi)存104里的緩沖器107。數(shù)據(jù)經(jīng)由緩沖器107后,通過驅(qū)動程序109,然后到達(dá)應(yīng)用程序111。應(yīng)用程序111可以用這些數(shù)據(jù)做許多事情。如果這些數(shù)據(jù)由圖形的或視頻的圖像,應(yīng)用程序111將數(shù)據(jù)通過總線106輸送出去,通過圖形控制器156,最后到達(dá)計算機(jī)系統(tǒng)用戶用于觀看的顯示器158。
接口模塊圖2是依照本發(fā)明一個實(shí)施例的、接口模塊103的內(nèi)部結(jié)構(gòu)示意圖。接口模塊103包括調(diào)諧器202、解調(diào)器204和應(yīng)用程序?qū)S玫募呻娐?ASIC)206。調(diào)諧器202可以包括任何類型的、通過調(diào)諧而從衛(wèi)星接收信號的電路。解調(diào)器204可以包括任何類型的、可以解調(diào)由調(diào)諧器202從衛(wèi)星接收來的信號。解調(diào)器204將來自衛(wèi)星的信號轉(zhuǎn)化成數(shù)字形式,然后將該數(shù)字信號通過數(shù)據(jù)線215和控制線217傳送到ASIC206。
ASIC206包括與PCI總線106和解調(diào)器204接口的電路,也包括控制接口模塊103運(yùn)行的電路。更明確地說,ASIC206包括PCI中心208、緩沖器211、傳送接口210和調(diào)諧器202。PCI中心208包括與PCI總線106接口的標(biāo)準(zhǔn)電路。
緩沖器211包括用于存儲在接口模塊103和內(nèi)存104里緩沖器107之間轉(zhuǎn)送的數(shù)據(jù)的小緩沖器。在如圖所示的實(shí)施例里,緩沖器211包括以“ping pong”方式運(yùn)轉(zhuǎn)的FIFOs(先入先出)型的緩沖器、212和213。當(dāng)先入先出型的緩沖器212里填滿了同步數(shù)據(jù)流時,先入先出型的緩沖器213里的內(nèi)容通過PCI總線106被轉(zhuǎn)移到內(nèi)存104里的緩沖器107里。當(dāng)先入先出型的緩沖器213里填滿了同步數(shù)據(jù)流時,先入先出型的緩沖器212里的內(nèi)容通過PCI總線106被轉(zhuǎn)移到緩沖器107里。當(dāng)同步數(shù)據(jù)流被接收到時,F(xiàn)IFOs(先入先出)型的緩沖器212和213就以這種方式進(jìn)行交替。在本發(fā)明的一個實(shí)施例里,F(xiàn)IFOs(先入先出)型的緩沖器212和213只包括足夠的、用來存儲來自同步數(shù)據(jù)流的單一數(shù)據(jù)信息包的內(nèi)存。在另一個實(shí)施例里,F(xiàn)IFOs(先入先出)型的緩沖器212和213只包含足夠的、用來存儲在一個數(shù)據(jù)塊傳送操作中通過總線106能夠被傳送的數(shù)據(jù)量的內(nèi)存。通過這種將這些FIFOs(先入先出)型的212和213保持在這種最小的尺寸,可以很大程度上減小接口模塊203的成本。因此,本發(fā)明使用內(nèi)存104里的緩沖器107來存儲應(yīng)用程序111所用的同步數(shù)據(jù)流,而不是在接口模塊103里使用大的緩沖器。
傳送接口210包括用來接收在數(shù)據(jù)線215和控制線217上傳送的信號信息包(例如運(yùn)動圖像專家組(MPEG)2信息包)的電路。傳送接口210也包括緩沖器寫地址207,該緩沖器寫地址保存同步數(shù)據(jù)流被寫入到的、緩沖器211里的地址軌跡。
控制器209包括大量的控制接口模塊103運(yùn)轉(zhuǎn)的有限狀態(tài)機(jī)。下面更加詳細(xì)地介紹這些有限狀態(tài)機(jī)??刂破?09直接與ASIC206里的轉(zhuǎn)送接口210、緩沖器211和PCI中心208相連接??刂破?09也通過I2C總線214與調(diào)諧器202和解調(diào)器204連接。
用于接口模塊的控制器圖3是依照本發(fā)明的一個實(shí)施例的、接口模塊103里的控制器209的內(nèi)部結(jié)構(gòu)示意圖??刂破?09包括主有限狀態(tài)機(jī)(finite state machine,F(xiàn)SM)301、目標(biāo)FSM310和寄存器302。寄存器302通常包括控制用于控制器209的狀態(tài)寄存器??刂菩盘枏募拇嫫?02產(chǎn)生,通過I2C總線214傳送到調(diào)諧器202和解調(diào)器204。其它的控制信號312也從寄存器302產(chǎn)生。這些其它的控制信號312控制接口模塊103里的其它組件。
目標(biāo)FSM310通常容許接口模塊103擔(dān)當(dāng)在接口模塊103里的一個PCI目標(biāo)。這使得接口模塊103作為PCI總線106上的主要總線的目標(biāo),可以接收來自PCI106總線的數(shù)據(jù)。
主FSM301通常容許接口模塊103擔(dān)當(dāng)在接口模塊103里的一個PCI控制者。主FSM301請求在總線106上的主要狀態(tài),并且協(xié)調(diào)通過總線106來自接口模塊的數(shù)據(jù)傳送。為實(shí)現(xiàn)這個目標(biāo),主FSM301包括大量的有限狀態(tài)機(jī),包括控制器FSM304、計數(shù)器FSM306和數(shù)據(jù)傳送器FSM308??刂破鱂SM304來自傳送接口210的緩沖器寫地址207。當(dāng)先入先出(FIFO)212緩沖器或先入先出(FIFO)213緩沖器填滿后,控制器FSM306開始把先入先出(FIFO)212緩沖器或先入先出(FIFO)213緩沖器里的內(nèi)容傳送到內(nèi)存104里的緩沖器107里。計數(shù)器FSM306產(chǎn)生一個緩沖器讀地址311,該緩沖器讀地址指向緩沖器211里的一個地址,為了被傳送到內(nèi)存104里的緩沖器107里,數(shù)據(jù)就是從該地址被讀取的。數(shù)據(jù)傳送器FSM308通過PCI總線106與PCI中心208進(jìn)行通信,并協(xié)調(diào)數(shù)據(jù)傳送操作。
接收同步數(shù)據(jù)的過程圖4是依照本發(fā)明的一個實(shí)施例的、接收同步數(shù)據(jù)流的過程流程示意圖。該系統(tǒng)從分配計算機(jī)系統(tǒng)的主內(nèi)存里的緩沖器開始(步驟402)。在圖1中,這對應(yīng)于分配內(nèi)存104里的緩沖器107。在本發(fā)明的一個實(shí)施例里,緩沖器107被分配在計算機(jī)系統(tǒng)里運(yùn)行的操作系統(tǒng)的系統(tǒng)空間里。在一個實(shí)施例里,在系統(tǒng)啟動過程中被只讀存儲器140里的BIOS(基本輸入輸出系統(tǒng))142里的啟動代碼對緩沖器107進(jìn)行分配。
接下來,系統(tǒng)接收到一個包含有來自接口模塊103里的衛(wèi)星101的同步數(shù)據(jù)流的信號(步驟404)。這個信號被接口模塊103里的調(diào)諧器202接收。該系統(tǒng)接著將該信號通過解調(diào)器204來解調(diào)這個信號(步驟406),然后將該信號傳送到先入先出(FIFOs)的緩沖器212和213。
系統(tǒng)處于等待狀態(tài),直到先入先出(FIFOs)的緩沖器212和213其中之一填滿。當(dāng)有一個緩沖器填滿后,主FSM301請求對總線106的控制(步驟410)。當(dāng)中線106終于處于空閑狀態(tài)時,接口模塊103接收到在總線106(步驟406)主狀態(tài)的認(rèn)可(步驟412)。
接下來,接口模塊103使用直接內(nèi)存存取(DMA)將來自FIFO212的,或FIFO213的數(shù)據(jù)傳送到內(nèi)存104里的緩沖器107里(步驟414)。再調(diào)用直接內(nèi)存存取(DMA)傳送而不必將所傳送到數(shù)據(jù)通過處理器112就可完成。
一旦該數(shù)據(jù)被儲存到內(nèi)存104里的緩沖器107里,處理器112就接管該數(shù)據(jù)。在一個周期性系統(tǒng)定時器中斷上,處理器112捕獲(trapto)驅(qū)動程序119。驅(qū)動程序119將來自緩沖器107的數(shù)據(jù)發(fā)送給應(yīng)用程序111。在本發(fā)明的一個實(shí)施例里,驅(qū)動程序109實(shí)際上將數(shù)據(jù)傳送給一個第二個驅(qū)動程序(未示),這個第二個驅(qū)動程序?qū)嶋H上與應(yīng)用程序111通信。在本發(fā)明的一個實(shí)施例里,驅(qū)動程序109分析這些數(shù)據(jù),確定什么類型的數(shù)據(jù)正在被接收。如果該數(shù)據(jù)包括一個空的數(shù)據(jù)包,這個空的數(shù)據(jù)包不會被發(fā)送給應(yīng)用程序111。
注意即使本發(fā)明是依照用接收衛(wèi)星傳送系統(tǒng)的來描述的,本發(fā)明通常能夠被應(yīng)用于任何類型的、接收同步數(shù)據(jù)流的系統(tǒng),并不僅限于接收來自衛(wèi)星數(shù)據(jù)的系統(tǒng)。
前述的關(guān)于本發(fā)明實(shí)施例的已經(jīng)進(jìn)行的描述只是為了說明和描述的目的。它們并不打算是詳盡的或是將本發(fā)明限制在所揭示的形式。因此,以上揭示內(nèi)容并不打算限制本發(fā)明。本發(fā)明的范圍(外延)是由附加的權(quán)利要求確定的。
權(quán)利要求
1.一種接收同步數(shù)據(jù)流的、在計算機(jī)系統(tǒng)的主內(nèi)存里緩沖同步數(shù)據(jù)流的方法,包括在計算機(jī)系統(tǒng)里的接口里接收同步數(shù)據(jù)流;在接口里解調(diào)同步數(shù)據(jù)流,將同步數(shù)據(jù)流從調(diào)制的模擬形式轉(zhuǎn)換成數(shù)字形式;將來自接口的同步數(shù)據(jù)流轉(zhuǎn)送到一個計算機(jī)系統(tǒng)的主要內(nèi)存里的緩沖器里,同時不中斷計算機(jī)系統(tǒng)里的處理器;將來自緩沖器的數(shù)據(jù)通過與計算機(jī)系統(tǒng)上的應(yīng)用程序通信的驅(qū)動程序而進(jìn)行傳遞。
2.權(quán)利要求1的方法,其中,緩沖器存在于計算機(jī)系統(tǒng)內(nèi)操作系統(tǒng)的系統(tǒng)空間里。
3.權(quán)利要求1的方法,其中,同步數(shù)據(jù)流是從衛(wèi)星接收來的。
4.權(quán)利要求1的方法,其中,從緩沖器通過驅(qū)動程序傳遞數(shù)據(jù)進(jìn)一步包括在一個周期性定時器中斷上捕獲驅(qū)動程序;分析數(shù)據(jù),確定出什么類型的數(shù)據(jù)正在被接收;和將數(shù)據(jù)發(fā)送給應(yīng)用程序。
5.權(quán)利要求1的方法,其中,從接口傳遞同步數(shù)據(jù)流到緩沖器的過程包括通過總線采用直接內(nèi)存訪問(DMA)方式傳遞同步數(shù)據(jù)流。
6.權(quán)利要求5的方法,其中,從接口向緩沖器傳遞同步數(shù)據(jù)流進(jìn)一步包括等待,直到接口內(nèi)部的本地緩沖器裝滿為止;請求對接口處的一個總線進(jìn)行控制;接收接口處的一個總線主狀態(tài)的認(rèn)可;和從本地緩沖器通過總線傳送數(shù)據(jù)到主內(nèi)存里的緩沖器中。
7.權(quán)利要求1的方法,其中,接收同步數(shù)據(jù)流包括下面兩者之一接收同步數(shù)據(jù)流到本地緩沖器,同時數(shù)據(jù)被從一個第二個本地緩沖器傳遞給主內(nèi)存里的緩沖器;接收同步數(shù)據(jù)流到該第二個本地緩沖器,同時數(shù)據(jù)被從本地緩沖器傳遞給主內(nèi)存里的緩沖器;
8.權(quán)利要求1的方法,其中,主內(nèi)存里的緩沖器是被組織成先入先出(FIFO)型的緩沖器。
9.權(quán)利要求1的方法,進(jìn)一步包括在計算機(jī)系統(tǒng)初始化設(shè)置操作過程中分配主內(nèi)存里的緩沖器。
10.一種用于接收同步傳送的方法,該方法在計算機(jī)系統(tǒng)的主內(nèi)存里緩沖同步傳送,包括在計算機(jī)系統(tǒng)初始化設(shè)置操作過程中,在主內(nèi)存里分配一緩沖器;其中,該緩沖器是被組織成先入先出型的緩沖器;在計算機(jī)系統(tǒng)里的接口里接收同步數(shù)據(jù)流;其中,同步數(shù)據(jù)流是從衛(wèi)星接收來的;在接口里解調(diào)同步數(shù)據(jù)流,將同步數(shù)據(jù)流調(diào)制的模擬形式轉(zhuǎn)換成數(shù)字形式;通過如下形式,從接口傳送同步數(shù)據(jù)流到計算機(jī)系統(tǒng)的主內(nèi)存里的緩沖器里,同時不中斷計算機(jī)系統(tǒng)里的處理器等待,直到接口里的本地緩沖器滿為止,請求對接口處的總線進(jìn)行控制,接收接口處的一個總線主狀態(tài)的認(rèn)可,和采用直接內(nèi)存訪問(DMA)方式從本地緩沖器通過總線傳送數(shù)據(jù)到主內(nèi)存里的緩沖器;和通過如下方式經(jīng)由一個與計算機(jī)系統(tǒng)上的應(yīng)用程序通信的驅(qū)動程序從緩沖器傳遞數(shù)據(jù)在一個周期性定時器中斷上捕獲驅(qū)動程序,和將數(shù)據(jù)發(fā)送給應(yīng)用程序。
11.權(quán)利要求10的方法,其中,接收同步數(shù)據(jù)流,包括下面兩者之一接收同步數(shù)據(jù)流到本地緩沖器,同時數(shù)據(jù)被從一個第二個本地緩沖器傳遞給主內(nèi)存里的緩沖器;和接收同步數(shù)據(jù)流到該第二個本地緩沖器,同時數(shù)據(jù)被從本地緩沖器傳遞給主內(nèi)存里的緩沖器;
12.權(quán)利要求10的方法,其中,主內(nèi)存里的緩沖器存在于計算機(jī)系統(tǒng)內(nèi)操作系統(tǒng)的系統(tǒng)空間里。
13.一種計算機(jī)系統(tǒng)里的裝置,該裝置配置為用于接收同步數(shù)據(jù)流,同時傳送同步數(shù)據(jù)流到計算機(jī)系統(tǒng)里的主內(nèi)存里的緩沖器里,包括計算機(jī)系統(tǒng)里的一個接口模塊,該模塊用于接收同步數(shù)據(jù)流;在接口模塊里的一個解調(diào)器,該解調(diào)器解調(diào)同步數(shù)據(jù)流,將同步數(shù)據(jù)流從調(diào)制的模擬形式轉(zhuǎn)換成數(shù)字形式;在接口模塊里的一個本地緩沖器,該本地緩沖器與解調(diào)器連接,用來儲存來自同步數(shù)據(jù)流的數(shù)據(jù)單元;在接口模塊里的一個總線接口,配置為便于通過計算機(jī)系統(tǒng)里的總線進(jìn)行通信;和在接口模塊里的一個控制器,該控制器配置為用于執(zhí)行一個直接內(nèi)存訪問(DMA)操作,將數(shù)據(jù)單元從本地緩沖器通過總線轉(zhuǎn)移到計算機(jī)系統(tǒng)里的主內(nèi)存的緩沖器,而不中斷計算機(jī)系統(tǒng)里的處理器。
14.權(quán)利要求13的裝置,其中,配置控制器,來完成直接內(nèi)存訪問(DMA)操作,通過等待,直到接口里的本地緩沖器被填滿為止;請求對總線進(jìn)行控制;接收總線上的主狀態(tài)認(rèn)可;和通過總線將數(shù)據(jù)從本地緩沖器傳送到主內(nèi)存里的緩沖器。
15.權(quán)利要求13的裝置,其中,數(shù)據(jù)單元是在一個單一時鐘傳遞操作里可以傳送的數(shù)據(jù)的數(shù)量;
16.權(quán)利要求13的裝置,進(jìn)一步包括一個接口模塊里的第二個本地緩沖器,該第二個本地緩沖器與解調(diào)器連接,用來儲存來自同步數(shù)據(jù)流的數(shù)據(jù)單元;其中,該第二個本地緩沖器被同步數(shù)據(jù)流裝填,而來自本地緩沖器的數(shù)據(jù)通過總線被傳送;和其中,本地緩沖器被同步數(shù)據(jù)流裝填,而來自第二個本地緩沖器的數(shù)據(jù)通過總線被傳送。
17.權(quán)利要求13的裝置,其中,同步數(shù)據(jù)流是從衛(wèi)星接收來的。
18.權(quán)利要求13的裝置,其中,主內(nèi)存里的緩沖器存在于計算機(jī)系統(tǒng)的主內(nèi)存里的操作系統(tǒng)的系統(tǒng)空間里。
19.一個計算機(jī)系統(tǒng),配置該系統(tǒng)用來接收同步數(shù)據(jù)流,包括一個處理器;一個主內(nèi)存;一個與處理器連接的總線;在計算機(jī)系統(tǒng)里的一個接口模塊,該接口模塊接收同步數(shù)據(jù)流;一個解調(diào)器,該解調(diào)器解調(diào)同步數(shù)據(jù)流,將同步數(shù)據(jù)流從調(diào)制的模擬形式轉(zhuǎn)換成數(shù)字形式;一個本地緩沖器,該本地緩沖器與解調(diào)器連接,用來存儲來自同步數(shù)據(jù)流的數(shù)據(jù)單元;在接口模塊里的一個總線接口,該總線接口配置為便于通過總線進(jìn)行通信;在接口模塊里的一個控制器,該控制器配置為用于執(zhí)行一個直接內(nèi)存訪問操作,將數(shù)據(jù)單元從本地緩沖器通過總線轉(zhuǎn)移到主內(nèi)存里的緩沖器,同時不中斷所述處理器。
20.權(quán)利要求19的計算機(jī)系統(tǒng),其中,控制器配置為通過如下步驟來執(zhí)行直接內(nèi)存訪問操作等待,直到本地緩沖器被填滿為止;請求對總線進(jìn)行控制;接收總線主狀態(tài)的認(rèn)可;和通過總線將數(shù)據(jù)從本地緩沖器傳送到主內(nèi)存里的緩沖器中。
21.權(quán)利要求19的計算機(jī)系統(tǒng),其中,同步數(shù)據(jù)流是從衛(wèi)星接收來的。
22.權(quán)利要求19的計算機(jī)系統(tǒng),其中,配置處理器來在一個周期性定時器中斷上捕獲驅(qū)動程序;分析來自緩沖器的數(shù)據(jù),確定出什么類型的數(shù)據(jù)正在被接收;和將數(shù)據(jù)發(fā)送給應(yīng)用程序。
23.權(quán)利要求19的計算機(jī)系統(tǒng),進(jìn)一步包括一個在接口模塊里的第二個本地緩沖器,該第二個本地緩沖器與解調(diào)器連接,用來儲存來自同步數(shù)據(jù)流的數(shù)據(jù)單元;其中,該第二個本地緩沖器被同步數(shù)據(jù)流裝填,同時來自本地緩沖器的數(shù)據(jù)通過總線被傳送;和其中,本地緩沖器被同步數(shù)據(jù)流裝填,同時來自第二個本地緩沖器的數(shù)據(jù)通過總線被傳送。
24.權(quán)利要求19的計算機(jī)系統(tǒng),其中,主內(nèi)存里的緩沖器是被組織成先入先出(FIFO)型的緩沖器。
25.權(quán)利要求19的計算機(jī)系統(tǒng),進(jìn)一步包括一個機(jī)制,該機(jī)制在計算機(jī)系統(tǒng)初始化設(shè)置操作過程中分配主內(nèi)存里的緩沖器。
26.權(quán)利要求19的計算機(jī)系統(tǒng),其中,主內(nèi)存里的緩沖器存在于計算機(jī)系統(tǒng)的主內(nèi)存里的操作系統(tǒng)里的系統(tǒng)空間里。
27.一個計算機(jī)系統(tǒng),該計算機(jī)系統(tǒng)配置為用于接收同步數(shù)據(jù)流,包括一個處理器;一個主內(nèi)存;主內(nèi)存里一個緩沖器,該緩沖器是被組織成先入先出(FIFO)型的,用來儲存來自同步數(shù)據(jù)流的數(shù)據(jù);一種裝置,該機(jī)制在計算機(jī)系統(tǒng)初始化設(shè)置過程中分配主內(nèi)存里的緩沖器;一個總線,該總線與處理器連接;在計算機(jī)系統(tǒng)里的一個接口模塊,該模塊從衛(wèi)星接收同步數(shù)據(jù)流;接口模塊里的一個解調(diào)器,該解調(diào)器解調(diào)同步數(shù)據(jù)流,將同步數(shù)據(jù)流從調(diào)制的模擬形式轉(zhuǎn)換成數(shù)字形式;接口模塊里的一個本地緩沖器,該緩沖器與解調(diào)器連接,用來儲存來自同步數(shù)據(jù)流的一個單元的數(shù)據(jù);接口模塊里的一個第二個緩沖器,該緩沖器與解調(diào)器連接,用來儲存來自同步數(shù)據(jù)流的一個單元的數(shù)據(jù);其中,該第二個本地緩沖器被同步數(shù)據(jù)流裝填,同時來自本地緩沖器的數(shù)據(jù)通過總線被傳送;和其中,本地緩沖器被同步數(shù)據(jù)流裝填,同時來自第二個本地緩沖器的數(shù)據(jù)通過總線被傳送。接口模塊里的一個總線接口,該接口配置為便于通過總線來進(jìn)行通信;和接口模塊里的一個控制器,該控制器配置為用于執(zhí)行直接內(nèi)存訪問(DMA)操作,從而將一個數(shù)據(jù)單元從本地緩沖器通過總線轉(zhuǎn)移到主內(nèi)存里的緩沖器里;其中,該控制器配置為等待,直到本地緩沖器被填滿為止,請求對總線進(jìn)行控制,接收總線主狀態(tài)的認(rèn)可,和通過總線將數(shù)據(jù)從本地緩沖器傳遞到主內(nèi)存里的緩沖器里。
全文摘要
本發(fā)明實(shí)例提供了一個用于接收同步數(shù)據(jù)流(404)的系統(tǒng),該系統(tǒng)對計算機(jī)系統(tǒng)內(nèi)主內(nèi)存的同步數(shù)據(jù)進(jìn)行緩沖。該系統(tǒng)通過接收計算機(jī)系統(tǒng)內(nèi)的接口內(nèi)的同步數(shù)據(jù)流而運(yùn)行。該系統(tǒng)解調(diào)同步數(shù)據(jù)流(406),將同步數(shù)據(jù)流從調(diào)制的模擬形式轉(zhuǎn)換為數(shù)字形式。然后,該系統(tǒng)將來自接口的同步數(shù)據(jù)流傳遞到計算機(jī)系統(tǒng)內(nèi)的主內(nèi)存(104)的緩沖器(408)中,而不中斷處理器。然后,數(shù)據(jù)通過緩沖器經(jīng)由一個與計算機(jī)系統(tǒng)上的應(yīng)用程序(418)通信的驅(qū)動程序(109)而被傳遞。
文檔編號G06F13/16GK1408087SQ00816692
公開日2003年4月2日 申請日期2000年10月3日 優(yōu)先權(quán)日1999年10月4日
發(fā)明者A·卡多索 申請人:B2C2公司