專利名稱:數(shù)據(jù)處理的系統(tǒng)和方法
本發(fā)明涉及數(shù)據(jù)處理的系統(tǒng)和方法,特別是(雖然不專門地)涉及記錄期間獲得的處理數(shù)據(jù)的系統(tǒng)和方法,藉通過鉆孔以勘測地面的組成。
鉆孔測井在發(fā)現(xiàn)和開發(fā)地下烴類和其他貴重原料的儲藏量方面,是一重要的步驟。一般,鉆孔在已經(jīng)鉆好之后,有一細長的測井工具或探測器放下到鉆孔底部一鎧裝電纜上,該電纜含有導(dǎo)線,用作在地面設(shè)備和探測器之間傳輸電功率和信號。然后通過吊起電纜將探測器升上鉆孔,而探測器的敏感元件用作測量藉鉆孔通過組成的電的、聲和和/或核的參數(shù)。測量結(jié)果從電纜傳上來,并記錄進地面上的設(shè)備里。測量結(jié)果的分析和說明,能使有關(guān)烴類和其他材料的存在和可生產(chǎn)的信息,或在井現(xiàn)場記錄期間,或在其后的遠距離位置獲得。
當烴類的儲藏量已經(jīng)消耗時,開發(fā)日益困難萃取的儲藏量,變成了商業(yè)上的經(jīng)濟問題。因此,用于勘測這種儲藏量的測井工具,已經(jīng)變得越來越復(fù)雜和高級,以致現(xiàn)在一般在井現(xiàn)場的地面設(shè)備中,裝有一計算機用來幫助監(jiān)視和控制探測器的操作,以及收集和分析探測器所作出的測量結(jié)果。這樣的一種計算機一般執(zhí)行下列多種功能編碼和發(fā)送定時和其他控制信號至探測器,以觸發(fā)一測量周期;接收來自探測器的諸信號,而將其譯碼,以抽出關(guān)于測量結(jié)果和探測器的操作的數(shù)據(jù);分析數(shù)據(jù)以監(jiān)視探測器的操作,和產(chǎn)生發(fā)送給它的信號,根據(jù)鉆孔和組成情形以使它的操作最佳化;監(jiān)控鉆孔中探測器的深度;處理數(shù)據(jù)以獲得所需要的測量結(jié)果值;處理測量結(jié)果,以導(dǎo)出重要的組成參數(shù);以及產(chǎn)生實時顯示,指示選擇的探測器的操作參數(shù)、測量結(jié)果和組成參數(shù)。這種功能的種類和數(shù)量,把實在的負擔(dān)施加于計算機系統(tǒng)。實現(xiàn)計算機系統(tǒng)來準確地和快速地完成全部需要的工作,足以可能獲得一個可以接受的記錄速率,已經(jīng)證明是十分困難和費時的。
上述的數(shù)據(jù)采集和控制的必要性,在其他場合也能遇到,例如在航空電子學(xué)和宇航的應(yīng)用方面。
一個特別的問題是計算機必須提供數(shù)據(jù)管理功能,該功能本質(zhì)上與時間和處理包含的持續(xù)時間無關(guān),以及也提供處理控制功能,該功能是受時間和處理的持續(xù)時間影響。于是,例如數(shù)據(jù)管理是一時間無關(guān)的工作,數(shù)據(jù)是應(yīng)用一傅里葉變換從探測器而獲得變換輸出的相同結(jié)果,總是由于相同集的數(shù)據(jù)所引起,而不顧時間和處理的持續(xù)時間。相反,從探測器的數(shù)據(jù)采集是時間相關(guān)的由檢查接收的數(shù)據(jù)(它可影響隨后發(fā)送至探測器的控制信號)項的最后次序發(fā)現(xiàn)的實際數(shù)值,將取決于數(shù)據(jù)項發(fā)送至上孔的速率,以及取決于來自探測器的檢查的數(shù)據(jù)項次序速率。在下孔或上孔設(shè)備中的任何處理速率的改變都能影響結(jié)果。而且,上孔傳輸?shù)乃俾剩话阒饕Q于探測器的特性,所以,在地面上的各數(shù)據(jù)項的接收時間,不能由地面計算機設(shè)備來控制。同樣,探測器的特性可要求在足以保證最佳操作的速率下,發(fā)送命令至下孔。時間無關(guān)的操作必須不妨礙這些時間相關(guān)的功能的及時事件,以避免數(shù)據(jù)的丟失和不能迅速地變換探測器的操作,以響應(yīng)條件的改變。同樣地,重要的是保證在時間無關(guān)的處理中的時間有關(guān)的功能不引起誤差。這些特性必須保持,不管有任何系統(tǒng)的修改,包括硬件(例如,處理機時鐘頻率的改變)或軟件(例如,程序模塊的增加)。
對于多重功能的執(zhí)行,例如中斷處理的技術(shù)是早已知道的。然而,必須極小心地應(yīng)用,以保證適當?shù)牟僮魉俣群捅苊庠谑褂锰幚頇C資源,例如隨機存取存儲器時產(chǎn)生沖突。這尤其在現(xiàn)代鉆孔記錄操作的情形,其中先進的測量技術(shù)使用探測器產(chǎn)生大量的數(shù)據(jù),可能要求準確的控制,而探測的成本要求記錄要盡可能快地完成。因此,在這種環(huán)境中,提供可靠的、效率高的和有效的數(shù)據(jù)處理系統(tǒng)來操作,是一分困難的和昂貴的工作。
當通過單處理機分時或以多處理機并行操作同時執(zhí)行幾個工作時,問題甚至變得更尖銳。
用于由計算機實行分段功能和用于協(xié)調(diào)多處理機系統(tǒng)的各種裝置是眾所周知的。例如,國際信息處理學(xué)會聯(lián)合會(International Federation of Information Processing Societies)1977年出版的《信息處理77》由G.卡恩和D.B.麥奎因所發(fā)表的《協(xié)同程序和并行網(wǎng)絡(luò)處理》一文中所敘述的系統(tǒng),能同時處理和通過‘通道’互相通信。通道起先進先出緩沖存儲器的作用,以一個方向運載信息,從處理生產(chǎn)數(shù)據(jù)到處理請求數(shù)據(jù)。請求數(shù)據(jù)項的處理能訪問通道,該通道將它連接至生產(chǎn)相關(guān)程序項的處理,于是它接收下一個存儲在通道中的程序中的連貫的項。這樣一種系統(tǒng)是所謂的數(shù)據(jù)流體系結(jié)構(gòu)的一個例子。
另一種型式的數(shù)據(jù)流系統(tǒng),在1976年《國際并行處理討論會記錄匯編》(Proceeding of the 1976 International Conference on Parallel Processing)里第100至105頁由米蘇納斯(D.P.Misunas)所寫的‘數(shù)據(jù)流處理機的性能分析’一文中有敘述;以及在由派斯門(W.G.Paseman)、拜德(Byte)、麥格勞-希爾所寫的‘數(shù)據(jù)流應(yīng)用于現(xiàn)實世界’第五期(1985年5月)第十卷第201至214頁討論到。這種系統(tǒng)是借助于固定長度的數(shù)據(jù)組在處理過程之間進行通信,和等到所有的數(shù)據(jù)項備齊后完全執(zhí)行其功能后再執(zhí)行處理。有效的所有請求數(shù)據(jù)項起動處理的執(zhí)行,處理的執(zhí)行是當時執(zhí)行還是執(zhí)行到什么程度,并沒有任何控制。相似的數(shù)據(jù)流系統(tǒng)在科尼什等人的美國專利第4,197,589中有談到,以及同時工作和指令處理機在吉利蘭等人的美國專利第4,229,790中敘述過。
本發(fā)明的一個目的是提供一種處理數(shù)據(jù)的系統(tǒng)和方法,促進時間無關(guān)和時間相關(guān)的聯(lián)合操作。
本發(fā)明的另一個目的是提供一種促進數(shù)據(jù)處理的系統(tǒng)和方法,借助于多個同時執(zhí)行處理來進行。
本發(fā)明還有一個目的是提供一種使用多個數(shù)據(jù)處理機進行處理數(shù)據(jù)的系統(tǒng)和方法。
根據(jù)本發(fā)明的一個方面,所提供的數(shù)據(jù)處理系統(tǒng)包括輸入裝置,用作接收順序地出現(xiàn)的數(shù)據(jù)項,數(shù)據(jù)項由所說系統(tǒng)處理;處理機裝置,用作同時執(zhí)行多個處理,以產(chǎn)生另外的順序地出現(xiàn)的數(shù)據(jù)項;用作根據(jù)各所說項的源及其相對于其它從同一源接收到的項的順序位置,將數(shù)據(jù)項和各有關(guān)的單值索引值相結(jié)合的裝置;數(shù)據(jù)存儲裝置,用作存儲所說數(shù)據(jù)項;用作供給使用在處理執(zhí)行過程中從所說存儲裝置至所說處理裝置的任何選擇的數(shù)據(jù)項的裝置,所說數(shù)據(jù)項在那處理執(zhí)行期間確定的關(guān)聯(lián)索引值選擇;以及輸出裝置,用作供給由于所說處理執(zhí)行的結(jié)果的數(shù)據(jù)項。
根據(jù)本發(fā)明的另一個方面,所提供的數(shù)據(jù)處理系統(tǒng)包括輸入裝置,用作接收順序地出現(xiàn)的數(shù)據(jù)項,數(shù)據(jù)項由所說系統(tǒng)處理;處理機裝置,用作同時執(zhí)行多個處理,以產(chǎn)生另外的順序地出現(xiàn)的數(shù)據(jù)項;根據(jù)各所說項的源及其相對于其它從同一源接收到的項的順序位置,將所說被接收的數(shù)據(jù)項、所說另外的數(shù)據(jù)項和各有關(guān)的單值索引值相結(jié)合的裝置;數(shù)據(jù)存儲裝置,用作存儲所說數(shù)據(jù)項;用作供給使用在處理執(zhí)行過程中從所說存儲裝置至所說處理裝置的任何選擇的數(shù)據(jù)項的裝置,所說數(shù)據(jù)項是根據(jù)在那處理執(zhí)行期間確定的關(guān)聯(lián)索引值選擇,而在處理過程之間的數(shù)據(jù)項的所有交換是經(jīng)過所說供給裝置實行;以及輸出裝置,用作供給由于所說處理的結(jié)果的選擇的數(shù)據(jù)項,所說數(shù)據(jù)項是根據(jù)關(guān)聯(lián)索引值選擇。
根據(jù)本發(fā)明的還有一個方面,所提供的數(shù)據(jù)處理方法,包括下列步驟接收待處理的順序地出現(xiàn)的數(shù)據(jù)項;同時執(zhí)行多個處理,以產(chǎn)生另外的順序地出現(xiàn)的數(shù)據(jù)項;根據(jù)各所說項的源及其相對于其它從同一源接收到的項的順序位置,將數(shù)據(jù)項和各有關(guān)單值索引值相結(jié)合;存儲所說數(shù)據(jù)項;以及供給使用在處理執(zhí)行過程中任何選擇的存儲的數(shù)據(jù)項,所說數(shù)據(jù)項是根據(jù)在那處理執(zhí)行期間確定的關(guān)聯(lián)索引值選擇。
根據(jù)本發(fā)明再有的一個方面,所提供的數(shù)據(jù)處理方法,包括如下的步驟接收待處理的順序地出現(xiàn)的數(shù)據(jù)項;執(zhí)行多個同時處理,以產(chǎn)生另外的順序地出現(xiàn)的數(shù)據(jù)項;根據(jù)各所說項的源及其相對于其它從同一源接收到的項的順序位置,將所說被接收的數(shù)據(jù)項、所說另外的數(shù)據(jù)項和各有關(guān)的單值索引值相結(jié)合;存儲所說數(shù)據(jù)項;供給使用在處理執(zhí)行過程中任何選擇的存儲的數(shù)據(jù)項,所說數(shù)據(jù)項是根據(jù)在那處理執(zhí)行期間確定的關(guān)聯(lián)索引值選擇,而在處理之間的數(shù)據(jù)項的所有交換是照這樣子實行;以及供給作為由于所說處理執(zhí)行的結(jié)果的所說數(shù)據(jù)處理輸出的選擇的數(shù)據(jù)項,所說數(shù)據(jù)項是根據(jù)關(guān)聯(lián)索引值選擇。
根據(jù)下面的參照附圖對本發(fā)明所作的詳細說明,本發(fā)明另外的目的和特點將更加明白,其中圖1是鉆孔測井操作的示意圖,其中本發(fā)明能便利地使用;
圖2是根據(jù)本發(fā)明的數(shù)據(jù)處理機的第一實施例的方塊示意圖;
圖3是說明圖2的數(shù)據(jù)處理機部分形成的中央處理機操作的流程圖;
圖4是用作實現(xiàn)本發(fā)明的存儲設(shè)備的方塊示意圖;
圖5是用作實現(xiàn)本發(fā)明的另一存儲設(shè)備的方塊示意圖;
圖6是根據(jù)本發(fā)明的數(shù)據(jù)處理機的第二實施例的方塊示意圖;
圖7至圖9是說明圖6的數(shù)據(jù)處理機的中央處理部件形成部分的操作流程圖;
圖10是圖2和圖6中所示的數(shù)據(jù)處理機交替的執(zhí)行程序的方塊示意圖;以及圖11至圖15是說明根據(jù)本發(fā)明的數(shù)據(jù)處理機藉為通用計算機編制程序在執(zhí)行程序中有用過程的流程圖。
本發(fā)明操作的數(shù)據(jù)處理系統(tǒng)和方法,是不局限于任何特殊型式的數(shù)據(jù)處理。然而,該處理系統(tǒng)和方法能用來促進同時執(zhí)行處理,該處理必須完成時間無關(guān)和時間相關(guān)二個功能,時間無關(guān)功能例如從測量結(jié)果操作以導(dǎo)出另外的信息的數(shù)據(jù)的運算操縱,而時間相關(guān)功能例如測量設(shè)備的實時控制。包括二種功能的例子是在圖1中概略說明的鉆孔測井工具的操作。
參閱圖1,細長的測井工具或探測器10是懸吊在鎧裝多導(dǎo)線電纜12上,該電纜放在貫穿地面組成16的鉆孔14中。探測器10是藉放松電纜12在鉆孔14中移動,而然后(當實際上進行記錄測量時)通過在地面設(shè)備24的絞車組成部分將電纜卷回到絞纜輪20和深度計22上。深度計22測量電纜12在絞纜輪20上的位移,因而測得工具10在鉆孔中的深度。
工具10包括一個或多個傳感器,一般用電的、聲的或核的方法來測量組成16的參數(shù)。諸傳感器產(chǎn)生與需要的參數(shù)相關(guān)的電信號,而這些信號由探測器10中的處理和接口電路適當?shù)卣?,用于電纜12向上傳輸至地面設(shè)備24。設(shè)備24包括一數(shù)據(jù)處理機26,而一般接收、譯碼、放大以及將信號記錄在記錄紙和/或磁帶記錄器上,作為由深度計22產(chǎn)生的深度信號的函數(shù)。此外,設(shè)備24可處理由這些信號代表的數(shù)據(jù),以輸出需要的組成參數(shù)的讀數(shù),這些參數(shù)也是要被記錄的。這些信號和來自探測器10的其他信號的進一步處理使地面設(shè)備24能監(jiān)視探測器10的操作,和產(chǎn)生由電纜12往下傳送以控制探測器10的信號,例如,使其部件電路操作同步或變更放大器的增益。
探測器10的構(gòu)造和操作的確切詳情,和在探測器10和地面設(shè)備24之間傳送信號的裝置,都不屬于本發(fā)明的范圍,而且為本技術(shù)領(lǐng)域:
內(nèi)的技術(shù)人員所熟知,所以不必在此再作討論。同樣,具體的算法,用于處理接收來自探測器10的數(shù)據(jù)以導(dǎo)出組成參數(shù)的值,以及待發(fā)送至探測器10的控制信號,也不屬于本發(fā)明的部分,而不再敘述。
數(shù)據(jù)處理機26,必須完成兩種不同的處理。第一種是執(zhí)行時本質(zhì)上與時間無關(guān)。于是,接收來自探測器10的數(shù)據(jù),從數(shù)據(jù)至需要的組成參數(shù)值的演算,不管何時進行演算,應(yīng)當始終產(chǎn)生相同的結(jié)果。
第二種型式的處理是時間相關(guān)的。于是,讀出由探測器10發(fā)送至孔上的出現(xiàn)在電纜12的一數(shù)據(jù)項,和成功的捕獲與記錄這數(shù)據(jù),要依賴于電纜由處理機26及時的監(jiān)視。同樣,發(fā)送至孔下到探測器10的命令信號的產(chǎn)生,必須以一種速率完成,此速率是足夠完成探測器10的適當?shù)牟僮?,以及足夠響?yīng)條件的改變。
這二種型式的處理,容易彼此沖突。參數(shù)值的準確演算,會花費太多處理時間,結(jié)果延遲或產(chǎn)生不準確的命令信號和/或不能檢測和記錄發(fā)送到孔上的數(shù)據(jù)。同樣,數(shù)據(jù)接收和產(chǎn)生命令信號由于改變中的數(shù)據(jù)而會妨礙接收數(shù)據(jù)的求值,該數(shù)據(jù)還需要用于其他計算。而且,甚至當程序準確地起作用時,因轉(zhuǎn)換到一不同種類的操作在不同速率的計算機系統(tǒng),就可不必繼續(xù)這樣做,或者例如修改后加一個或多個新的程序模塊。能促進有效的和恰當?shù)某绦蚓幹埔詧?zhí)行這種工作和緩和難題的數(shù)據(jù)處理機操作的系統(tǒng)和方法,現(xiàn)將參照圖2至圖15敘述于下。
在這些圖中為方便起見數(shù)據(jù)處理表現(xiàn)為正由幾個中央處理機(CPUs)以并行操作方式執(zhí)行。各個中央處理機,在全部處理中是專門從事一項任務(wù)。然而,必須明白到本發(fā)明能平均地用一個或多個中央處理機執(zhí)行,它們的資源在幾個不同的處理過程之間是共享的,各個處理對應(yīng)于將由專用的中央處理機執(zhí)行的任務(wù)。
這里使用并行處理是指用任何這些裝置執(zhí)行二個或多個處理。這種處理包含數(shù)百個指令,實質(zhì)上會十分復(fù)雜。如果有二個或多個中央處理機,它們可以是由比較低的帶寬數(shù)據(jù)鏈路連接的分布式處理單元,或是由比較高的帶寬鏈路(例如共享同一主存儲器)連接的多處理單元。
同樣,可清楚的說明由中央處理機處理前和后的數(shù)據(jù)存儲,是在幾個分開的存儲器件中劃分。然而,一個單一的大存儲器件,在不同的要求中適當?shù)膭澐制淙萘磕軌蛴脕碜鲾?shù)據(jù)存儲。執(zhí)行這種共享處理機和存儲資源的技術(shù)是眾所周知的,而毋須在此詳述。
作為例了,圖2和圖3是關(guān)于計算二次方程的根(即讓y=0時的x值)的裝置,二次方程y=ax2+bx+c根據(jù)公式
此處a、b和c作為系數(shù)輸入。中央處理機的數(shù)目、它們的輸入和輸出與結(jié)構(gòu),以及關(guān)聯(lián)的存儲器件的互相連接已經(jīng)相應(yīng)地繪出。顯然,這些另件將根據(jù)設(shè)置的處理機的專門用途而變動。
參閱圖2,數(shù)據(jù)處理機30如圖示有三個中央處理機32至36。各中央處理機在一個或多個輸入端接收數(shù)據(jù)項,而處理后在一個或多個輸出端供給數(shù)據(jù)項。為此,諸中央處理機以已知的方式包括運算和邏輯電路、寄存器和指令譯碼電路。此外,各中央處理機采取有其自己的存儲器的方式,用作存儲控制其操作的指令的程序,以及用作存儲根據(jù)那些指令操縱的數(shù)據(jù)。顯然,為這些目的中央處理機能共享公共的存儲資源。
準備由處理機30處理的數(shù)據(jù)(系數(shù)a、b和c的數(shù)值)是在輸入線40、42和44上接收,這些線被聯(lián)接到存儲器52的輸入端46、48和50,存儲器52含有存儲器件54至64。存儲器件54、56和58有各自的單獨輸入端66、68和70,它們聯(lián)接到輸入端46、48和50,以接收來到處理機30的輸入數(shù)據(jù)。其他的存儲器件60至64有各自的單獨輸入端72、74和76,將在后面說明是用于存儲由中央處理機32至36處理的結(jié)果數(shù)據(jù)。為清晰起見,至存儲器件54至64的輸入線,用點線畫出,有助于與其他的連接線區(qū)別。
數(shù)據(jù)存儲器件54至64,可以結(jié)合例如半導(dǎo)體隨機存取存儲器或磁盤存儲器,或者是兩者的組合。如將在下文說明的那樣,數(shù)據(jù)存儲器件不是必需能寫入新數(shù)據(jù)至存儲單元,這些存儲單元中已經(jīng)預(yù)先寫入了數(shù)據(jù)。于是,也可能結(jié)合存儲器,該存儲器僅允許在一給定的存儲單元有一個單獨的寫入操作。這樣的存儲器的例子是激光盤存儲器,在激光盤存儲器中,數(shù)據(jù)是藉使用激光束存儲,以產(chǎn)生和接著讀出一永久式樣的微細的坑,微細的坑是在金屬的或敷金屬的塑料盤的表面上。這種存儲器是現(xiàn)有的,從例如加利福尼亞州森尼韋爾的奧普添曼(Optimem)和加利福尼亞州雷東多比奇的光盤制造公司(阿爾凱丹爾湯姆森Alcatel Thomson的一個部門)可以買到。激光盤存儲器具有允許極大數(shù)量的數(shù)據(jù)存儲在一個相當小的實際空間內(nèi)的優(yōu)點。
各存儲器件54至64是設(shè)置用以在其各自的輸入端66至76接收數(shù)據(jù),和以連續(xù)的數(shù)據(jù)項流的形式存儲這數(shù)據(jù)。先前接收的項后,各附加的數(shù)據(jù)項是加于流的末尾。顯然,盡管有由存儲器件的有限實際存儲容量所施加的限制,限制了任何一次能存儲的數(shù)據(jù)數(shù)量,數(shù)據(jù)項流的長度原則上能無限增加。然而,每一新數(shù)據(jù)項還是按延長流的長度的方式加以處理。
這果采用數(shù)據(jù)項術(shù)語來描寫任何離散信息實體,該實物要獨立于其他項存取。于是,取決于應(yīng)用,數(shù)據(jù)項可以是,例如,一個單一的二進制數(shù)字(比特),一個八比特位組,一個十六或三十二比特字,以整數(shù)或浮點格式代表一個值的多位組值,編碼一串字母字符的一串位組,或甚至這些值的一整個陣列。一個數(shù)據(jù)項本身可以是一個值,該值用作在存儲器中另一數(shù)據(jù)項存儲單元的指示字。
當一數(shù)據(jù)項加于存儲器件中的流時,根據(jù)它在該流中的位置,它變得與一單值的索引值相聯(lián)在一起。各數(shù)據(jù)項的索引值比在相同流中緊接先前項的索引值多一。在圖1所說明簡單情形中,各流有其自己專門的存儲器件,這索引值僅僅是數(shù)據(jù)項的數(shù)目,這些數(shù)據(jù)項已經(jīng)由存儲器件接收(假定第一項有一個零的索引值)。在這些情況中,沒有要求特別的動作來分配數(shù)據(jù)項的索引值。而且,如果在存儲器件中的實際存儲單元有從零開始的地址,于是數(shù)據(jù)項的索引值直接相當于在存儲器件中存儲單元的地址。存儲器件只需保持下一個空存儲單元的指示,使下一個接收的數(shù)據(jù)項應(yīng)寫入該存儲單元。
幾個數(shù)據(jù)流可以存儲在同一存儲器件中,而不是每一數(shù)據(jù)流有個別的專用存儲器件。一個可能對存儲器件處理的方法是將其分割成幾個段,每段分配給一個流。在這種情形下,也需要保持一個為各流存儲單元的記錄,此存儲單元包含該流的第一數(shù)據(jù)項。于是,任何在同一流中其他數(shù)據(jù)項的存儲單元能藉加該項的索引值于包含第一項的存儲單元的地址來識別。用另一種方法,不同流的數(shù)據(jù)項可以混合。在這種情形中,可以保持與各流有關(guān)的存儲單元的目錄,或者可以采用鏈表,各存儲的數(shù)據(jù)項有與其有關(guān)的在同一流中下一個數(shù)據(jù)項的存儲單元的指示字。這些共享存儲器管理的技術(shù),在已有技術(shù)中是大家熟知的。
存儲器件54至64可以結(jié)合存儲器,這些存儲器允許以新數(shù)據(jù)重寫存在的數(shù)據(jù)。如果不再需要的數(shù)據(jù)項能識別,以致它們的存儲單元能再用,這就可能繼續(xù)無限地將新數(shù)據(jù)項添加于流,盡管在存儲器件中項的數(shù)量在任何一次明顯地不能超過其容量。允許這種再用的一種可能性是把從存儲器件檢索的數(shù)據(jù)項的選擇局限于那些存儲器件接收的數(shù)據(jù)項不早于最近檢索的數(shù)據(jù)項。于是,假定數(shù)字上增加分配給數(shù)據(jù)項的索引值,既然存儲器件接收了數(shù)據(jù)項,要檢索的項的索引值就不允許減小。任何可以再用的存儲單元,其數(shù)據(jù)項的索引值,小于從存儲器件取回的最后項的索引值。用于管理有限存儲資源以完成此結(jié)果的技術(shù)是眾所周知的,例如所謂的無用數(shù)據(jù)收集。
即使一個新數(shù)據(jù)項實質(zhì)上以這種方式再用較早的和現(xiàn)在不要的數(shù)據(jù)項的存儲單元,新的項是與其自己的單值索引值有關(guān),較早的、被代換的項的索引值是決不再用的。單經(jīng)變換的存在數(shù)據(jù)項也不再用。代替另一個數(shù)據(jù)項值是藉寫入有其自己的單值索引值的一新數(shù)據(jù)項,和用這數(shù)據(jù)項而不是較早的、被取代的項來實現(xiàn)的。
如果再用存儲單元,必需保持一個仍舊存儲的最早數(shù)據(jù)項的索引值和其實際存儲單元的地址的記錄。這索引值和任何其他數(shù)據(jù)項的單值索引值之間的差,然后能加于最早數(shù)據(jù)項的地址上,以導(dǎo)出該其他項的地址。
如果存儲器52結(jié)合一寫一次存儲器,例如上述激光盤器件,這種再用是不可能的,所以不需要限制待檢索的數(shù)據(jù)項的索引值檢索的數(shù)據(jù)項的索引值能隨意地增加或減少。盡管存儲器52最后將成為飽和,它的非常高的存儲容量,在存儲媒體必須取代或增大之前,允許一個可行的實在持續(xù)時間的操作周期。
各存儲器件54至64有一個或多個輸出端器件54和56各有三個輸出端,分別為78、80和82與84、86和88;器件58有一個單輸出端90;器件60有二個輸出端92和94;以及器件62和64各有一個輸出端,分別為96和98。參照要求項的索引值業(yè)配置各個這樣的輸出端,以檢索存儲在有關(guān)存儲器內(nèi)流中的任何數(shù)據(jù)項。在這種場合,數(shù)據(jù)項請求一個索引值,對于這索引值數(shù)據(jù)項還未收到,存儲器件被安排以等待為該索引值接收一數(shù)據(jù)項,然后為響應(yīng)請求而返回該數(shù)據(jù)項。如果存儲單元被再用時,就象存儲數(shù)據(jù)項那樣,用相同的方法來識別數(shù)據(jù)檢索存儲單元,而該可檢索數(shù)據(jù)的索引值的范圍,將被約束,如上面所指出的那樣。
圖2中清楚的說明各存儲器件54、56和60,有分開的復(fù)輸出端,輸出端也與輸入端分開的。然而,必須明白在磁盤存儲器中,例如,輸入和輸出的功能可適當?shù)目刂埔粏蝹€讀/寫頭來執(zhí)行。同樣,如果采用半導(dǎo)體存儲器,這些功能將由已知方式的尋址電路系統(tǒng)來提供。
經(jīng)過輸入線40至44由數(shù)據(jù)處理機30接收的數(shù)據(jù)項分別存儲在存儲器件54至58中。所有這些數(shù)據(jù)項(系數(shù)a、b和c)是被中央處理機32所使用,該處理機相應(yīng)地有三個輸入端100至104,分別連接至存儲器件54、56和58的輸出端82、84和90。一條控制線106從中央處理機32至輸出端82,如虛線所示,允許中央處理機以指定數(shù)據(jù)項的索引值(系數(shù)a的值),數(shù)據(jù)項的索引值是從存儲器件54檢索而得,而由輸出端供給中央處理機32。同樣的,控制線108和110連至輸出端84和90,允許中央處理機32以指定從存儲器件56和58檢索到的要求數(shù)據(jù)項(對應(yīng)系數(shù)b和c的值)。中央處理機32產(chǎn)生一單一數(shù)據(jù)項流(已知中間結(jié)果的根值)該數(shù)據(jù)項經(jīng)過輸入端72供給存儲器件60。
存儲器件60的輸出端92允許中央處理機34獲得根據(jù)經(jīng)過控制線112指定索引值的這些數(shù)據(jù)項,連同來自存儲器件54和56的數(shù)據(jù)項(對應(yīng)系數(shù)a和b的值),該數(shù)據(jù)項在控制線114和116的控制下,由輸出端80和88供給。中央處理機34經(jīng)過輸入端74向存儲器件62供給由其執(zhí)行處理的結(jié)果數(shù)據(jù)項。這些數(shù)據(jù)項是二次方程的一個根值,該方程對應(yīng)于系數(shù)a、b和c的值。中央處理機36同樣地接收經(jīng)過輸出端78、86和94來自存儲器件54、56和60的與按照經(jīng)過控制線118、120和122指定的數(shù)據(jù)項,而將結(jié)果數(shù)據(jù)項經(jīng)過輸入端76供給存儲器件64。這些數(shù)據(jù)項是對應(yīng)那些系數(shù)的二次方程的另一個根值。
最后,在存儲器件62和64中的數(shù)據(jù)項,根據(jù)經(jīng)過控制線128和130指定的索引值,由輸出端通過數(shù)據(jù)處理機30的輸出線124和126供給。
從流的同一性,待檢索的數(shù)據(jù)項,是否需要明確地指定,取決于存儲器的裝置和索引值的格式。于是,在圖2的結(jié)構(gòu)中,要求的流是由適當?shù)目刂凭€106至122、128或130的實際選擇固有地識別。如果存儲器是幾個流之間共享,流的同一性能被編碼成索引值,從而給予每個流有自己特色的索引值組。另一方面,索引值可以是每個流相似,而當一數(shù)據(jù)項請求時流的同一性能照有索引值的參數(shù)供給。
各中央處理機32至36的執(zhí)行過程概述于圖3中,特別是涉及中央處理機32。中央處理機34和36的操作是類似的。
參閱圖3,當處理是最初開始時,準備供給中央處理32的數(shù)據(jù)項的索引值必須復(fù)原。這由步驟132代表。中央處理機32然后在步驟134根據(jù)現(xiàn)在的索引值從存儲器件54請求一系數(shù)a的數(shù)據(jù)項。在步驟136,中央處理機32檢驗數(shù)據(jù)項是否已經(jīng)接收到。如果沒有,處理回路重復(fù)地經(jīng)過步驟136,直至數(shù)據(jù)項接收到為止。當數(shù)據(jù)項已經(jīng)接收到,處理繼續(xù)至步驟138,此處從存儲器件56請求一系數(shù)b的對應(yīng)數(shù)據(jù)項,而然后必要時回路經(jīng)步驟140,直至數(shù)據(jù)項接收到為止。這種請求的程序和回路的第三次重復(fù)是在步驟142和144,從存儲器件58獲得一系數(shù)c的對應(yīng)數(shù)據(jù)項。
當所有三個系數(shù)的數(shù)據(jù)項已經(jīng)獲得時,中央處理機32前進至步驟146,此處它根據(jù)下列公式計算根R的對應(yīng)值R=√(b2-4ac)此值在步驟148作為一數(shù)據(jù)項供給存儲器件60,此處它接收一對應(yīng)于那些數(shù)據(jù)項的單值索引值,那些數(shù)據(jù)項是在步驟134、138和140檢索的。
中央處理機32繼續(xù)至步驟150,此處來自存儲器件54至58檢索的數(shù)據(jù)項中指定的索引值是增加的,而然后再進入步驟134以重復(fù)下一組系數(shù)a、b和c的程序。
中央處理機34和36的操作是非常相似的,但在步驟142請求的數(shù)據(jù)項是從存儲器件60獲得。對于中央處理機34是根據(jù)下列公式在步驟146執(zhí)行計算X= (-b+R)/(2a)而結(jié)果是在步驟148作為數(shù)據(jù)項供給存儲器件62。在中央處理機36的情形中,在步驟146執(zhí)行計算是根據(jù)公式
X= (-b-R)/(2a)而結(jié)果是在步驟148作為數(shù)據(jù)項供給存儲器件64。
如圖2說明的,由中央處理機32至36中任何處理機執(zhí)行的每一處理,供給數(shù)據(jù)項至專用的存儲器件,以存儲來自該處理的數(shù)據(jù)項。雖然圖2中說明的處理,各僅有一個輸出,一個處理當然能產(chǎn)生二個或多個輸出,在該情形中,各輸出將有其自己專用的存儲器件。盡管任何一個存儲器件可供給數(shù)據(jù)項至二個或多個處理,每一處理從一個或多個存儲器件54至60中單獨接收數(shù)據(jù)項。因此,處理之間僅有的交通方法是通過存儲器件54至60。此特征提供顯著的優(yōu)點。所有傳送和來自處理的數(shù)據(jù)項是通過存儲器件中數(shù)據(jù)項流隔離。于是,處理之間的同步化是固有地由流提供,而沒有任何明確的設(shè)備用于在處理它們自己的過程要求的同步化。一個處理能加一數(shù)據(jù)項到流,而不必為任何其他讀它的處理等待。當要求時,各處理能請求要求的數(shù)據(jù)項,而數(shù)據(jù)項的到達并不強迫執(zhí)行任何處理,該處理可使用該項。因為索引值不再分配給新的數(shù)據(jù)項。而數(shù)據(jù)項不改變,在由有限的存儲容量所施加的約束中,一數(shù)據(jù)項對處理始終是可用的,在那些同樣的約束中,一處理能請求束中任何數(shù)據(jù)項,而不限制接收在預(yù)定程序中的項。然而,沒有在不正確的次序中接收數(shù)據(jù)處理的危險。
同樣地,圖2所示的實施例中,由中央處理機32至36執(zhí)行的處理和綜合數(shù)據(jù)處理機30的輸入和輸出之間通信的唯一方法,是通過存儲器52中的存儲器件(即存儲器件54、56、58、62和64)。這可以是合乎要求的,但不是根本的。
畫在圖2和圖3中的處理功能,是純粹地時間無關(guān)的。特別是,根據(jù)從存儲器件54至64檢索數(shù)據(jù)項獲得的值,是與檢索項發(fā)生的時間無關(guān)。履行時間相關(guān)功能包含附加的檢索功能,例如那些在圖4和圖5中說明的功能。
圖4說明帶有附加電路的存儲器件150,允許檢索存儲在器件150內(nèi)的流中最近接收的大多數(shù)數(shù)據(jù)項,而無需被中央處理機指定該項的索引值或請求項的處理。來自中央處理機的控制線152是連至寄存器154,當在輸入線158上接收各數(shù)據(jù)項時,該寄存器用通過連接線156來自存儲器件150最近接收數(shù)據(jù)項的索引值更新。寄存器154本身又連至存儲器件150的輸出端160。于是,當一數(shù)據(jù)項的請求在線152上接收時,它由寄存器154連同最近接收的項的索引值傳送至輸出端160,這個值是現(xiàn)在保存在寄存器154中的值。檢索過的數(shù)據(jù)項是經(jīng)過輸出線162供給。
圖5說明存儲器件164,帶有附加電路允許嘗試檢索在時間上有預(yù)先限制的數(shù)據(jù)項,該時間為了在有指定索引值的數(shù)據(jù)項沒有時等待之用??刂凭€166是直接連至存儲器件164的輸出端168,以指示待檢索數(shù)據(jù)項的索引值,控制線166也連至單穩(wěn)態(tài)電路170的觸發(fā)輸入端T。輸出線172供給任何檢索過的數(shù)據(jù)項,也連接至單穩(wěn)態(tài)電路170的清除輸入端。單穩(wěn)態(tài)電路170的置位輸出端是連接至超時信號線174和也連接至輸出端168。當經(jīng)過控制線166請求一數(shù)據(jù)項時,請求是供給存儲器件164,和同時觸發(fā)單穩(wěn)態(tài)電路170,使其進入預(yù)定時間周期的準穩(wěn)定狀態(tài),如果請求數(shù)據(jù)項是在存儲器件164中,或者是在預(yù)定時間周期終止之前接收的,它是經(jīng)過輸出線172供給,因此,在它到達其準穩(wěn)周期之前,清除單穩(wěn)電路170。然而,如果請求數(shù)據(jù)項在預(yù)定時間終止之前不成為可用,單穩(wěn)態(tài)電路170工作時間已過,從而在超時線174上產(chǎn)生一信號。此信號指示給請求中央處理機或處理超時已經(jīng)發(fā)生,而且也作廢在存儲器件164的輸出端168上未完成的請求。如果需要,單穩(wěn)態(tài)電路能有一可變準穩(wěn)定的周期,周期根據(jù)數(shù)據(jù)項請求時在控制線166上由請求中央處理機指定的值確定。履行這種功能的電路系統(tǒng)設(shè)計,在本技術(shù)領(lǐng)域:
中的技術(shù)人員是熟知的。
現(xiàn)參閱圖6來敘述根據(jù)本發(fā)明的第二數(shù)據(jù)處理機。此處理機使用參照圖4和圖5的上述檢索操作,以下列方式履行時間相關(guān)功能,以一沿軌道行走的傳感器(例如,在鉆孔中正在向上吊起的記錄探測器)控制其速度和取得其數(shù)據(jù),傳感器每二秒鐘產(chǎn)生數(shù)據(jù)項一次,而其速率是每十分之一秒發(fā)一次信號。處理機檢測來自傳感器的連續(xù)到達的數(shù)據(jù)項,而當周期超過預(yù)置時限而數(shù)據(jù)中斷時,終止傳感器的操作。
參閱圖6,來自傳感器的數(shù)據(jù)項是由一般以175表示的處理機在線176上接收,而供給數(shù)據(jù)存儲器180中的存儲器件178。指示傳感器速度的數(shù)據(jù)項是在線182上接收,而供給至另一數(shù)據(jù)存儲器件184。此存儲器件有一設(shè)置的輸出端186,以提供上面參閱圖4所敘述的讀-最新功能。此輸出端供給指示傳感器速度的最近數(shù)據(jù)項至中央處理機188,該處理機也接收來自存儲器件178的輸出端190的數(shù)據(jù)項,和將其處理結(jié)果的數(shù)據(jù)項供給存儲器件192。另一個輸出端194來自存儲器件178,存儲器件178有上述參閱圖5所述的超時功能,將傳感器數(shù)據(jù)項供給第二中央處理機196,該中央處理機的輸出端連至存儲器件198。存儲器件192和198的輸出端200和202分別連至第三中央處理機204,該中央處理機饋送數(shù)據(jù)項至存儲器件206。第四和最后中央處理機208接收來自存儲器件178經(jīng)過輸出端210的傳感器數(shù)據(jù)項,以及供給數(shù)據(jù)項至存儲器件212。存儲器件206和212供給數(shù)據(jù)項如同從數(shù)據(jù)處理機175的輸出信號,分別經(jīng)輸出端214和216以及分別經(jīng)輸出線218和220送出。
中央處理機188的操作,可用圖7中的流程圖說明。當處理機175的操作開始,從存儲器件178和184檢索的數(shù)據(jù)項的索引值,在步驟222被復(fù)原。然后,中央處理機188進入在步驟224開始的回路,該處傳感器數(shù)據(jù)項是請求自存儲器件178。因為傳感器每二秒鐘僅供給數(shù)據(jù)項一次,最初在存儲單元沒有數(shù)據(jù)項對應(yīng)于由中央處理機188在作出請求過程中指定的索引值。因此,當中央處理機188進行至步驟226,以決定是否從存儲器件178已經(jīng)接收到數(shù)據(jù)項,結(jié)果最初將是否定的。所以中央處理機188循環(huán)返回再進入步驟226,而連續(xù)這樣做,直至數(shù)據(jù)項接收到為止。然后,中央處理機188前進至步驟228,該處從存儲器件184請求最后的速度數(shù)據(jù)項。因為速度數(shù)據(jù)項是每秒鐘接收十次,所以甚至在第一次請求作出時,存儲器件184中已經(jīng)有數(shù)據(jù)項。所以,總有一最后的值可利用,而請求即刻完成。中央處理機188繼續(xù)至步驟230,以決定傳感器的速度是否需要調(diào)整。此決定能根據(jù)任何合適的規(guī)則系統(tǒng)作出,而因不是本發(fā)明的一部分,毋須在此贅述。如果不需改變,中央處理機188經(jīng)過步驟232復(fù)原以重復(fù)在步驟224開始的回路,步驟232中用于請求來自存儲器件178的數(shù)據(jù)項的索引值是增加了的。如果要求改變,在步驟234,適當?shù)拿畎l(fā)送至存儲器件192,而然后中央處理機如上面一樣前進至步驟232。
中央處理機196的操作是由圖8中的流程圖表示。當處理機175開始操作時,在步驟236索引值被復(fù)原。然后過程以一有規(guī)定的時限前進至步驟238,從存儲器件178請求數(shù)據(jù)項。至于圖7步驟224中由中央處理機188檢索的數(shù)據(jù)項,在數(shù)據(jù)項響應(yīng)請求成為有效以前,將有一時間間隔。在此時間間隔期間,中央處理機196經(jīng)過二個判定步驟240和242循環(huán)。在這些步驟的第一步驟中,中央處理機檢測數(shù)據(jù)值是否已接收到。如果已接收到,中央處理機196就前進至步驟244,該處增加從存儲器件178檢索的索引值,而然后返回至步驟238。
如果步驟240的結(jié)果是否定的,中央處理機就前進至步驟242,該處它檢測是否有一超時信號從存儲器件178的輸出端194接收到。如果沒有這種信號出現(xiàn),從傳感器來的數(shù)據(jù)的中斷時限還未曾超時,所以中央處理機196重復(fù)判定步驟240和242。然而,如果超時信號接收到,于是中央處理機196以步驟246代替繼續(xù),該處它發(fā)送一命令至存儲器件198以終止傳感器的操作。
如圖9所示,中央處理機204最初在步驟248和250從兩存儲器件192和198請求數(shù)據(jù)項。然后它在步驟252檢測是否已從存儲器件192接收到任何項。如果是,它在步驟254發(fā)送接收到的數(shù)據(jù)項至存儲器件206,在步驟256重新開始從存儲器件192請求一數(shù)據(jù)項,以及返回至步驟252。否則,它前進至步驟258以檢測來自存儲器件198數(shù)據(jù)項的接收。不存在數(shù)據(jù)項的時候,它以返回至步驟252重復(fù)檢測回路。否則,它在步驟260發(fā)送接收到的數(shù)據(jù)項至存儲器件206,在步驟262重新開始從存儲器件198請求一數(shù)據(jù)項,以及返回至步驟252。由中央處理機204履行處理的作用是合并由中央處理機188和196依次序產(chǎn)生的命令,和將它們傳送至存儲器件206,經(jīng)過線218作為處理機175的一個輸出以備供給。這個過程是一時間相關(guān)過程的一個例子,因為出現(xiàn)在存儲器件206中命令的正確程序是隨著由傳感器遇到的情況(例如鉆孔情況)以及它的結(jié)果狀態(tài)而變更。
在時間相關(guān)方式中,另一個合并二組命令的方法是以各命令串經(jīng)過各自的輸入端加至存儲器件中的流來給一存儲器件設(shè)置二個輸入端。
中央處理機208從存儲器件178僅僅讀出傳感器數(shù)據(jù)項,和施加適當?shù)奶幚碛谒鼈?,以給出所需的信息,該信息然后輸出至存儲器件212。這處理可以采取各種形式,例如算術(shù)的操作或結(jié)合其他的數(shù)據(jù)。這種處理的詳情是與本發(fā)明無關(guān)的,而毋須進一步過論。
和圖2的處理機30的情況一樣,所有由處理機執(zhí)行的過程之間數(shù)據(jù)的通信,是由保持在存儲器中的數(shù)據(jù)流傳遞,而每一個數(shù)據(jù)項與其流中的單值索引值相關(guān)。
當分開的中央處理機使用于各處理時,這安排有下列優(yōu)點時間無關(guān)操作(例如由中央處理機208管理傳感器數(shù)據(jù))和時間相關(guān)操作(例如由中央處理機188監(jiān)視傳感器速度)能以分開處理的方式完成,而沒有它們之間可能發(fā)生不利互作用的關(guān)系。這有助于設(shè)計和寫效率高它有效的和可靠的程序以及它們的維修。而且不需考慮供給打算運行程序特別詳細的硬件。同樣地,不需制作專門的設(shè)備用于硬件隨后可能的修改、使用不同的硬件或改變履行處理的程序。
于是,由中央處理機208管理的數(shù)據(jù),究竟能以什么速率前進是適當而沒有由于執(zhí)行其他的處理失去或重寫等候管理的傳感器數(shù)據(jù)項的危險,要取決于管理的復(fù)雜性和中央處理機208的速度。這些數(shù)據(jù)項有效的保留在存儲器件178中按照要求經(jīng)過輸出端210由中央處理機208檢索,不管這些數(shù)據(jù)是否先前經(jīng)過輸出端190和194由中央處理機188和196檢索過。相似地,由這管理引起的輸出數(shù)據(jù)能由中央處理機208以一個速率產(chǎn)生,該速率與數(shù)據(jù)經(jīng)過輸出線218抽出的速率無關(guān),抽出前數(shù)據(jù)沒有失去的危險。
由中央處理機188執(zhí)行的時間相關(guān)處理能在無論什么速率下完成,以便在認為合乎要求的速度下,監(jiān)視和控制傳感器,而數(shù)據(jù)項能相應(yīng)地從存儲器件178經(jīng)過輸出端190抽出。此處理將獨立地在中央處理機208中起執(zhí)行數(shù)據(jù)管理功能的作用,沒有可能由那種管理引進延時或定時問題。所以當編制處理程序時,不需要考慮時間沖突。
如果處理機是由幾個處理間共享的單一中央處理機履行,同樣沒有由于執(zhí)行時間相關(guān)處理而惡化時間無關(guān)處理要求數(shù)據(jù)的危險。延時的可能性對時間相關(guān)處理確是存在的,但是獨自經(jīng)過數(shù)據(jù)項流發(fā)生的處理間通信的處理的分段,促進這種處理機的分析操作以及識別和矯正潛在的沖突。此外,可以相信這體系結(jié)構(gòu)提供一有效的結(jié)構(gòu),在其中執(zhí)行表示時間約束的技術(shù),此時間約束能避免時間沖突。
此外,本發(fā)明幫助設(shè)計系統(tǒng),該系統(tǒng)能最初以單一的中央處理機執(zhí)行,而然后無需經(jīng)重大的修改就可轉(zhuǎn)移至多中央處理機系統(tǒng)。
盡管不需在不同的處理間劃分時間相關(guān)和時間無關(guān)功能,但這樣做一般被認為是好的習(xí)慣作法,并有助于減少時間沖突的危險或隨后修改的困難。
處理機175和外部世界之間的所有通信最好是經(jīng)過附加數(shù)據(jù)項流傳遞,如圖6所示。然而,如果需要,一個或多個處理可以與其他的設(shè)備直接地交換。這種交換當時一般在性質(zhì)上是時間相關(guān),結(jié)果可能取決于例如執(zhí)行速度。
圖2和圖6的處理機30和175,在各中央處理機和存儲器件之間有單獨的連接,數(shù)據(jù)項用這些存儲器件通信。另一方面,如圖10所示,這種連接能多路傳輸?shù)摹㈤唸D10,存儲器270有六個存儲器件272至282,各存儲器件有各自的輸入端284至294和各自的單輸出端296至306。這些輸入端和輸出端連同與各輸出端296至306相關(guān)的控制線310至320,各連接至輸入/輸出電路308。三個中央處理機322至326由各自的控制線328至332和雙數(shù)據(jù)線334和338連接至輸入/輸出電路308。輸入線340和輸出線342以及相關(guān)的控制線344也連接至輸入/輸出電路308。
在操作中,中央處理機322至326,藉發(fā)送信號經(jīng)過控制線328至332至輸入/輸出電路308,獲得來自存儲器件272至282的數(shù)據(jù)項。這些信號識別存儲器件,要求的數(shù)據(jù)項和要求項的索引值來自該存儲器件。輸入/輸出由308發(fā)送請求指令(包括索引值)至存儲器件,因此經(jīng)過適當?shù)目刂凭€310至320識別。請求的數(shù)據(jù)項由存儲器件經(jīng)過各自的輸出端296至306返回至輸入/輸出電路308,該電路308將數(shù)據(jù)項經(jīng)過適當?shù)臄?shù)據(jù)線334至338轉(zhuǎn)送至作出請求的中央處理機。由中央處理機322至326產(chǎn)生的數(shù)據(jù)項是經(jīng)過各自的一數(shù)據(jù)線334至338供給輸入/輸出電路308,連同對應(yīng)的控制線328至332上的信號,識別哪一個存儲器件應(yīng)當接收數(shù)據(jù)項。輸入/輸出電路308發(fā)送數(shù)據(jù)項至這樣識別的存儲器件,將數(shù)據(jù)項供給輸入端284至294中適當?shù)囊粋€。
輸入/輸出電路308同樣將在輸入線340上接收到的輸入數(shù)據(jù),供給至存儲器件272至282中適當?shù)拇鎯ζ骷?,而根?jù)經(jīng)過控制線344傳送的請求,在輸出線342上供給數(shù)據(jù)項。
如圖10所示各存儲器件272至282,不管多少中央處理機從任何一個存儲器件要求數(shù)據(jù)項,各只需一個輸出端296至306。設(shè)置輸入/輸出電路308為各存儲器件272至282保持一個在該存儲器件中的數(shù)據(jù)項流的字長的記錄,以及保持為從該存儲器件中請求數(shù)據(jù)項的各中央處理機最近檢索的數(shù)據(jù)項的索引值。如果存儲器270在如上說明的幾個數(shù)據(jù)項流中間共享存儲器,輸入/輸出電路308保持包含各流的數(shù)據(jù)項的實際存儲單元。同樣,如果使用讀/寫存儲器,當它們包含的數(shù)據(jù)項成為進一步處理不需要時,輸入/輸出電路也控制存儲單元的再用。使用管理存儲資源的已知技術(shù)執(zhí)行這些功能,在本技術(shù)領(lǐng)域:
中的技術(shù)人員,是很容易明白的。
一個可能的實施例,輸入/輸出電路包括二塊隨機存取存儲器和二個寄存器,寄存器的一個用于交換控制和輸入/輸出電路與一中央處理機之間的狀態(tài)信息,而另一個寄存器是用作轉(zhuǎn)換數(shù)據(jù)項和索引值。第一塊隨機存取存儲器是配置成一套表,各表有六十二對十六位項目和二個三十二位項目,而用以保持多達六十二個未定請求的細目,未定請求為來自一個存儲器件的數(shù)據(jù)項。三十二位項目的一個是用以存儲數(shù)據(jù)項的索引值,該數(shù)據(jù)項最近加于該存儲器中的項的流上。另一個三十二位項目存儲在存儲器件中包含該數(shù)據(jù)項的存儲單元的實際地址。各對十六位項目中的第一項目包含一個從最近已加數(shù)據(jù)項的索引值到由中央處理機請求的數(shù)據(jù)項的索引值的補償值。對中第二項目識別中央處理機或請求該數(shù)據(jù)的處理。一個兆字節(jié)隨機存取存儲器以這方式設(shè)置,能在四千零九十六個存儲器件的各器件上提供多達六十二輸出端的功能。
第二塊隨機存取存儲器是配置成一千零二十四個各有四項目的群,而用作先進先出緩沖器,緩沖器用于響應(yīng)來自中央處理機或處理而檢索的數(shù)據(jù)項。在各群中第一項目是一識別中央處理機或作請求的處理的十六位值。第二項目是一識別存儲器件或流的十二位值,從該流請求值。第三項目是用于存儲數(shù)據(jù)本身,在這種情形中是三十二位長。第四項目是一四位狀態(tài)值。以這種配置,緩沖器需要八千字節(jié)的隨機存取存儲器。存儲器件本身能執(zhí)行為四千零九十六流的每一流存儲多達五百十二數(shù)據(jù)項,數(shù)據(jù)項各為三十二位長,需要另一個八兆字節(jié)隨機存取存儲器。
中央處理機能藉將準備存儲的數(shù)據(jù)項放進輸入/輸出電路的數(shù)據(jù)轉(zhuǎn)移寄存器以及將全同的目的地流連同指示要求寫操作的代碼放進控制和狀態(tài)寄存器來執(zhí)行一寫操作。輸入/輸出電路在數(shù)據(jù)轉(zhuǎn)移寄存器中取值,和將其加至在控制和狀態(tài)寄存器中識別的存儲器件中的數(shù)據(jù)項流上。該流的未定請求表于是由增加最近附加的數(shù)據(jù)項和該項實際存儲單元的索引值的項目來修改。此外,在同一表中各62對項目中的請求數(shù)據(jù)項的補償項目是減少的。如果任何補償變成零,而成對的處理標識符是非零時,于是剛才附加的數(shù)據(jù)項有一索引值,對于該索引值數(shù)據(jù)項已經(jīng)請求。假若這樣,數(shù)據(jù)項、處理標識符以及流的全同是加至檢索數(shù)據(jù)項的緩沖器,而未定請求表中的處理標識符是置零以指示請求已經(jīng)完成。
中央處理機或處理過程藉排列包含項的流的全同與在控制和狀態(tài)寄存器中其自己的全同,以及在數(shù)據(jù)轉(zhuǎn)移寄存器中要求項的索引值,從輸入/輸出電路請求一數(shù)據(jù)項。在識別符流的未定請求表中一空對項目,是以來自最近附加于流的項的索引值的項的補償,和以請求處理的全同來修改。在緩沖器中下一個檢索的數(shù)據(jù)項,然后是排列在數(shù)據(jù)轉(zhuǎn)移寄存器中,而在緩沖器內(nèi)關(guān)聯(lián)的項目中的處理標識符和流標識符是排列在控制和狀態(tài)寄存器中。這樣識別的處理,于是能從輸入/輸出電路檢索數(shù)據(jù)項。如果一個或多個中央處理機被處理過程共享,處理過程的請求附加于未完成請求的表的處理,是如下面所述的那樣暫停執(zhí)行,而在控制和狀態(tài)寄存器中識別的處理再起作用。
必須指出的是用這裝置,數(shù)據(jù)項未定的請求,能藉置未定請求表中處理全同項目至零而作廢。
當可以代替使用特殊用途硬件時,根據(jù)本發(fā)明的數(shù)據(jù)處理機也能藉適當?shù)鼐幹埔煌ㄓ糜嬎銠C程序來完成,以提供如上所述的存儲功能和處理功能。圖11至圖15是流程圖,借助于例子說明方法,其中能提供上述的各種讀和寫功能。
這些圖假定基本存儲管理和處理執(zhí)行操作的存在,例如寫至或讀自存儲器、無用信息收集以及執(zhí)行處理的暫停和再起作用。這種操作例如組成中間表處理語言-D(Interlisp-D)的整體部分,中間表處理語言-D編制設(shè)施可從加利福尼亞州帕薩迪納市施洛斯(Xerox)公司買到以及這種操作敘述在由施洛斯公司1983年10月出版的‘中間表處理語言參考手冊’(Interlisp Reference Manual)中。
各功能是用子程序的形式敘述,子程序能藉需要執(zhí)行該功能的處理調(diào)用。當這樣的調(diào)用出現(xiàn)時,調(diào)用處理暫時地轉(zhuǎn)移控制至子程序。于是,如果子程序包括一步驟以暫停執(zhí)行直至另一個場合再使它起作用,該作用也暫停調(diào)用處理的執(zhí)行。
圖11說明讀一數(shù)據(jù)項的程序,為響應(yīng)來自處理的請求,而從一有具體索引值的流讀出數(shù)據(jù)項。程序是在350進入,而在步驟352首先檢測數(shù)據(jù)項是否對于請求的索引值是可以利用的。例如,這能藉比較索引值與流的現(xiàn)在的記錄長度來完成。如果數(shù)據(jù)項存在,程序直接前進至步驟354,該處數(shù)據(jù)項是從存儲器獲得,而供給請求處理,之后,程序在步驟356返回至調(diào)用處理。如果請求的數(shù)據(jù)項是不可利用的(即,對于該索引值的數(shù)據(jù)項還未收到)程序移至步驟358。在此步驟索引值與請求處理的全同附加于與保持請求細目的數(shù)據(jù)項流相聯(lián)系的表,該請求和該流比較起來是未定的。此表本質(zhì)上是為這目的預(yù)先保留的存儲單元的群,例如用陣列的形式,和上面關(guān)于圖10的輸入/輸出電路所敘述的未定請求表相類似。然后程序前進至步驟360,該處程序的執(zhí)行是暫停(例如使用中間表處理語言-D的SUSPEND PROCESS操作)直至數(shù)據(jù)項附加于流,隨后程序的執(zhí)行再起作用,如下所述。此后,程序移至如上面所說明的步驟354。
寫數(shù)據(jù)項至流的程序是在圖12中說明。參閱圖12,程序是在362進入,而以步驟364開始,該處數(shù)據(jù)是存儲在存儲器中。在中間表處理語言-D中這能用CONS操作完成。在下一步驟366,指示數(shù)據(jù)項流的長度的計數(shù)器是加一,而然后該流的未定請求的表是在步驟368檢測,用作關(guān)于索引值等于新流長度的任何請求。如果沒有這種請求,程序直接移至步驟370,該處已經(jīng)讀自該流的最早數(shù)據(jù)項被識別,而然后至步驟372以刪去所有帶有較早索引值的數(shù)據(jù)項。在中間表處理語言-D中此步驟能用RPLACD操作完成。這二無用信息收集步驟脫開程序,用作再用被已經(jīng)變得無用的數(shù)據(jù)項占用的存儲單元,而當使用有限容量讀/寫存儲器時是適用的。必須明白的是如果采用寫一次存儲器時,它們能省略。步驟372之后,程序在步驟374返回至調(diào)用處理。
如果一個或多個未定請求在步驟368被發(fā)現(xiàn),程序前進至步驟376,該處涉及發(fā)現(xiàn)的各請求的項目被檢查。如果包括參考計時器功能,如下面關(guān)于圖13的敘述,該計時器功能被取消。同樣,如果包括帶有未定請求的另一流的全同,如下面關(guān)于圖14的敘述,該流上的未定請求被除去。于是在步驟368發(fā)現(xiàn)的各請求的項目,從表中除去。程序繼續(xù)至步驟378,該處為該索引值的數(shù)據(jù)項請求的處理被再起作用(在中間表處理語言-D中這能用WAKE PROCESS操作完成)。此后,程序在返回374之前,在步驟370和372實現(xiàn)無用信息收集。
現(xiàn)參閱圖13,以暫停完成讀功能的程序是在380進入。在步驟382按照請求的索引值的數(shù)據(jù)項是否已經(jīng)可利用來作出檢測。如果是,在步驟384數(shù)據(jù)項是從存儲器獲得而供給至請求處理,至該處理在步驟386程序返回。否則,在步驟388索引值和請求處理的全同被附加于該流的未定請求表上。到這程度,程序是與在圖11中說明的標準讀程序的步驟350至步驟358一樣。然而,在這種情形中,計時器功能在超時信號產(chǎn)生以前,也為要求的時間間隔而建立。其全同是附加于未定請求表,而另一表是與計時器結(jié)合,計時器在超時信號產(chǎn)生以前指示應(yīng)當經(jīng)過的時間間隔,請求處理的全同和流的全同,根據(jù)這些請求數(shù)據(jù)項。在步驟390計時器開始,而在步驟392程序暫停執(zhí)行。當程序接著再起作用時,在步驟394檢測再起作用是否已經(jīng)發(fā)生,因為計時器已經(jīng)產(chǎn)生一信號指示規(guī)定的時間間隔已經(jīng)過去。如果是,在步驟388附加于未定請求表的請求在步驟395除去,超時信號在步驟396產(chǎn)生,而程序在步驟398返回至調(diào)用處理。否則再起作用必須由接收為請求的索引值的數(shù)據(jù)項而引起,在該情形中,程序移至步驟384以獲得和供給上述的數(shù)據(jù)項。
圖14是以判斷功能完成讀的流程圖,用作從數(shù)個流中獲得數(shù)據(jù)項,和根據(jù)預(yù)定的某些判斷算法結(jié)合它們。例如,這可以采用代替由圖6中所示的數(shù)據(jù)處理機175中的中央處理機204執(zhí)行的處理,以便合并在存儲器件192和198中的數(shù)據(jù)項流。
參閱圖14,程序在400進入,而在藉嘗試從各流獲得數(shù)據(jù)項的步驟402開始,流由請求處理識別。在步驟404程序檢測是否已經(jīng)發(fā)現(xiàn)任何數(shù)據(jù)項。如果是,程序直接達到步驟406,該處根據(jù)預(yù)先規(guī)定的判斷功能選擇一個數(shù)據(jù)項。此功能例如可以從一個流中選擇一數(shù)據(jù)項優(yōu)先于從另一個流中選擇數(shù)據(jù)項。程序在步驟408供給被選擇的數(shù)據(jù)項至調(diào)用處理,而在步驟410返回控制它。如果在步驟402未獲得數(shù)據(jù)項,程序前進至步驟412,該處索引值和各調(diào)用處理的全同被附加于各相關(guān)流的未定表中。此外,各表中的項目包括每一其他流的全同,對于這些請求是未定。此后,程序在步驟414暫停執(zhí)行操作,直至請求的數(shù)據(jù)項成為可以利用的,從而如上指出的來使程序再起作用。于是程序返回至步驟402,以獲得數(shù)據(jù)項,該數(shù)據(jù)項現(xiàn)在是可以利用的,而照已經(jīng)敘述的那樣繼續(xù)至步驟406。
圖15說明在流上接收的最后值的一個讀出程序。程序在416進入,而在步驟418藉檢測流的長度是否為零開始。如果不是,程序在步驟420獲得索引值等于流長度的數(shù)據(jù)項,并在步驟422返回控制之前將它供給調(diào)用處理。否則,在步驟426返回控制之前,程序在步驟424供給一沒有數(shù)據(jù)項可以利用的指示。
能提供其他的讀功能。一種可能性是一程序隨著一個最近經(jīng)過同一輸出端獲得的數(shù)據(jù)項讀下一個數(shù)據(jù)項。這將只要求存儲器件的輸出端保留一下索引值的記錄,索引值是最后供給的數(shù)據(jù)項的。另一個可能性是一移動命令,該命令規(guī)定一索引值,對于它輸出端沒有任何讀的數(shù)據(jù)項準備置位。這在預(yù)備使用讀下一項操作中將是有用的。
在沒有用供給的數(shù)據(jù)項,直至組中所有的項可以利用的情況下,藉限定在組中第一項的索引值和要求的項數(shù),能請求在同一數(shù)據(jù)項流中,一組有接近的索引值的數(shù)據(jù)項。由于各流的實際索引值對于共同的參考索引值有某些預(yù)定的關(guān)系(各流的這種關(guān)系可以不同)能請求來自數(shù)個不同流的數(shù)據(jù)項。這將有助于檢索對應(yīng)的數(shù)據(jù)項,這些數(shù)據(jù)項例如是同時從不同的傳感器產(chǎn)生的。
如果本發(fā)明的數(shù)據(jù)處理機,是以中央處理機數(shù)少于處理數(shù)來完成,而特別是用單一的中央處理機完成,于是要求一個管理或調(diào)度程序以協(xié)調(diào)分配中央處理機在不同處理間的資源。這種調(diào)度程序可以只維持一個處理的第一表,這些處理能即刻運行,以及一個處理的第二表,這些處理是暫停執(zhí)行等待的數(shù)據(jù)項。各處理被分配一些優(yōu)先定額,依靠定額調(diào)度程序能確定在第一表中哪一個處理應(yīng)當優(yōu)先于該表中其他的執(zhí)行。當一處理要求一數(shù)據(jù)項時,藉調(diào)用如上說明的一讀程序請求它。如果數(shù)據(jù)項是可以利用的,即刻供給數(shù)據(jù)項,而處理繼續(xù)執(zhí)行。否則讀程序本身暫停執(zhí)行,而因此暫停調(diào)用處理。暫停處理具有轉(zhuǎn)移從第一表至第二表處理的作用。同樣地,藉寫程序?qū)懭胍徽埱蟮臄?shù)據(jù)項使程序再起作用的處理,轉(zhuǎn)移處理回至第一表。當一執(zhí)行的處理被轉(zhuǎn)換至第二表時,調(diào)度程序掃描第一表,以識別下一個根據(jù)優(yōu)先定額準備執(zhí)行的處理。如果使用二個或多個中央處理機,各中央處理機執(zhí)行一處理,而當它完成時開始執(zhí)行最高優(yōu)先處理,該優(yōu)先處理等待在處理的第一表中。
根據(jù)用于數(shù)據(jù)處理的本發(fā)明的方法和系統(tǒng),已在本文中敘述和說明過。同時已經(jīng)敘述過本發(fā)明的特別實施例,因此不打算限制本發(fā)明。于是本發(fā)明已經(jīng)敘述過關(guān)于以順序或串行形式出現(xiàn)的數(shù)據(jù)項的處理。顯然,并行接收的數(shù)據(jù)項能容易地通過中間轉(zhuǎn)換順序的再現(xiàn)。同樣地,序列不需必定是時間相關(guān)的序列。雖然全部的處理已經(jīng)按照接收來自至少一個流的數(shù)據(jù)項來說明,也可能設(shè)想處理并不接收數(shù)據(jù)項,而只是產(chǎn)生數(shù)據(jù)項,例如供給時間和日期信息或表示波形的數(shù)據(jù)項。所以很明顯的,對本技術(shù)領(lǐng)域:
中的專業(yè)人員在不違反所附權(quán)利要求
的精神和范圍的情況下,可對所敘述的本發(fā)明作出各種變更和修改。
權(quán)利要求
1.一種數(shù)據(jù)處理系統(tǒng),其特征在于輸入裝置,用作接收順序地出現(xiàn)的數(shù)據(jù)項,數(shù)據(jù)項由所說系統(tǒng)處理,處理機裝置,用作同時執(zhí)行多個處理,以產(chǎn)生另外的順序地出現(xiàn)的數(shù)據(jù)項,根據(jù)各所說項的源及其相對于其它從同一源接收到的項的順序位置,將數(shù)據(jù)項和有關(guān)的單值索引值相結(jié)合的裝置,數(shù)據(jù)存儲裝置,用作存儲所說數(shù)據(jù)項,用作供給使用在處理執(zhí)行過程中從所說存儲裝置至所說處理裝置的選擇的數(shù)據(jù)項的裝置,所說數(shù)據(jù)項有一索引值對應(yīng)于接收自該項的源的數(shù)據(jù)項的數(shù),以及輸出裝置,用作供給由于所說處理執(zhí)行的結(jié)果的數(shù)據(jù)項。
2.一種數(shù)據(jù)處理系統(tǒng),其特征在于輸入裝置,用作接收順序地出現(xiàn)的數(shù)據(jù)項,數(shù)據(jù)項由所說系統(tǒng)處理;處理機裝置,用作同時執(zhí)行多個處理,以產(chǎn)生另外的順序地出現(xiàn)的數(shù)據(jù)項;根據(jù)各所說項的源及其相對于其它從同一源接收到的項的順序位置,將數(shù)據(jù)項和有關(guān)的單值索引值相結(jié)合的裝置;數(shù)據(jù)存儲裝置,用作存儲所說數(shù)據(jù)項;當該數(shù)據(jù)項在指定時間周期中成為可利用時,用作供給使用在處理執(zhí)行過程中從所說存儲裝置至所說處理裝置的選擇的數(shù)據(jù)項,和當該數(shù)據(jù)項在所說時間周期中沒有成為可利用時,用作供給所說數(shù)據(jù)項不可利用的指示的裝置,所說數(shù)據(jù)項是根據(jù)在那處理執(zhí)行期間確定的關(guān)聯(lián)索引值選擇;以及輸出裝置,用作供給由于所說處理執(zhí)行的結(jié)果的數(shù)據(jù)項。
3.按權(quán)利要求
1或2規(guī)定的系統(tǒng),其特征是配置所說數(shù)據(jù)存儲裝置,以排除存儲的數(shù)據(jù)項改變。
4.按權(quán)利要求
3規(guī)定的系統(tǒng),其特征是所說存儲裝置是一寫一次存儲器件。
5.按任何一個上述的權(quán)利要求
規(guī)定的系統(tǒng),其特征在于數(shù)據(jù)項是經(jīng)過所說存儲裝置和根據(jù)關(guān)聯(lián)索引值僅供給至所說處理機裝置。
6.按任何一個上述的權(quán)利要求
規(guī)定的系統(tǒng),其特征是配置所說供給裝置,根據(jù)僅以一個方向改變的索引值,以供給數(shù)據(jù)項。
7.按任何一個上述的權(quán)利要求
規(guī)定的系統(tǒng),其特征在于所說處理機裝置,包括一配置的單一處理單元,在分時基礎(chǔ)上,以執(zhí)行所說處理。
8.按權(quán)利要求
1至6中任何一個權(quán)利要求
規(guī)定的系統(tǒng),其特征在于所說處理機裝置,包括多個處理單元。
9.按權(quán)利要求
8規(guī)定的系統(tǒng),其特征在于處理單元少于處理,配置所說處理單元,根據(jù)分配給各處理的預(yù)定優(yōu)先權(quán),以執(zhí)行所說處理。
10.一種數(shù)據(jù)處理方法,其特征在于下列步驟接收待處理的順序地出現(xiàn)的數(shù)據(jù)項;同時執(zhí)行多個處理,以產(chǎn)生另外的順序地出現(xiàn)的數(shù)據(jù)項;根據(jù)各所說項的源及其相對于其它從同一源接收到的項的順序位置,將數(shù)據(jù)項和各有關(guān)單值索引值相結(jié)合;存儲所說數(shù)據(jù)項;以及供給使用在處理執(zhí)行過程中選擇的存儲的數(shù)據(jù)項,所說數(shù)據(jù)項有一索引值對應(yīng)于接收自該項的源的數(shù)據(jù)項的數(shù)。
11.一種數(shù)據(jù)處理方法,其特征在于下列步驟接收待處理的順序地出現(xiàn)的數(shù)據(jù)項;同時執(zhí)行多個處理,以產(chǎn)生另外的順序地出現(xiàn)的數(shù)據(jù)項;根據(jù)各所說項的源及其相對于其它從同一源接收到的項的順序位置,將數(shù)據(jù)項和各有關(guān)單值索引值相結(jié)合;存儲所說數(shù)據(jù);以及當該數(shù)據(jù)項在指定時間周期中成為可利用時,供給選擇的存儲的數(shù)據(jù)項,和當該數(shù)據(jù)項在所說時間周期中沒有成為可利用時,供給所說數(shù)據(jù)項不可利用的指示;所說數(shù)據(jù)項是根據(jù)在那處理執(zhí)行期間確定的關(guān)聯(lián)索引值選擇。
12.按權(quán)利要求
10或11規(guī)定的方法,其特征在于存儲的數(shù)據(jù)項的改變被排除。
13.按權(quán)利要求
12規(guī)定的方法,其特征在于所說數(shù)據(jù)項是存儲在寫一次存儲器件中。
14.按權(quán)利要求
10至13中任何一個權(quán)利要求
規(guī)定的方法,其特征在于根據(jù)關(guān)聯(lián)索引值,只有存儲的數(shù)據(jù)項本身是供給使用在處理執(zhí)行過程中。
15.按權(quán)利要求
10至14中任何一個權(quán)利要求
規(guī)定的方法,其特征在于數(shù)據(jù)項是根據(jù)僅以一個方向改變的索引值供給。
16.按權(quán)利要求
10至15中任何一個權(quán)利要求
規(guī)定的方法,其特征在于所說處理是以單一處理單元在分時基礎(chǔ)上執(zhí)行。
17.按權(quán)利要求
10至15中任何一個權(quán)利要求
規(guī)定的方法,其特征在于所說處理是以多個處理單元執(zhí)行。
18.按權(quán)利要求
17規(guī)定的方法,其特征在于處理單元少于處理,所說處理是根據(jù)分配給各處理的預(yù)定優(yōu)先權(quán)執(zhí)行。
專利摘要
一種數(shù)據(jù)處理的系統(tǒng)和方法,其中數(shù)據(jù)處理任務(wù)是按照分開的處理安排,各個處理能由一專門的中央處理機或由一個或多個共享處理單元執(zhí)行。所有處理間的通信經(jīng)過數(shù)據(jù)項流進行。各流接收來自單源的數(shù)據(jù)項,例如來自至處理系統(tǒng)的輸入或來自處理之一。附加于流的每一數(shù)據(jù)項是與單值索引值相結(jié)合-即使實際存儲單元被再用,索引值也絕不再用,處理能按照流請求數(shù)據(jù)項,數(shù)據(jù)項存儲在該處,且與索引值相結(jié)合。
文檔編號E21B47/00GK86105110SQ86105110
公開日1987年7月1日 申請日期1986年8月19日
發(fā)明者斯科特·格思里, 保羅·巴思, 戴維·巴斯托 申請人:施盧默格海外有限公司導(dǎo)出引文BiBTeX, EndNote, RefMan