新四季網

異步計算機通信的製作方法

2023-04-29 11:48:11 1

專利名稱:異步計算機通信的製作方法
技術領域:
本發明涉及計算機和計算機處理器領域,更具體地說,涉及一種方法和 裝置,其用於配置各個計算機並進一步用於將計算機連接起來,以便優化這 種組合的整個速度,更具體地說是優化該組合的效率。本發明計算機陣列的 當前主要用途是在單個微晶片上與多臺計算機相組合,其中計算能力和功耗 是重要的考慮因素。
背景技術:
在計算領域中,處理速度是一種非常期望的特性,因此對創建更快計算 機和處理器的探索一直在進行。然而,在業內公認的是,提高微處理器速度 的極限正被迅速逼近,至少對於利用目前已知的技術而言。因此,利用多處 理器通過分享處理器中的計算任務來提高整體計算速度越來越引起大家的 興趣。但是還公認的是,有關共享工作量的整體效率幾乎不可避免地會有些
降低。也就是說,僅僅因為一個人60分鐘可以挖一個洞,就推斷60個人必 然能用1分鐘挖一個洞這一諺語將適用。相同的道理幾乎適用於任何任務的 分享,因此處理器中的任務分享也不例外。
當然,正在努力使計算機處理器中的任務分享更有效。正在研究怎樣正 確地分配任務的問題,並且過程得以改善。然而,無論怎樣實現,都沒有人 希望在這樣的安排中浪費哪怕至少某個處理器能力。
在多處理器計算機中,缺乏高水平的效率未必是計算機晶片或系統的整 個計算能力的巨大阻礙。效率缺乏通常可以很容易地通過純粹強制地增加可 用處理器和處理能力來克服。不過,這種解決方式會導致另一問題。也就是, 那麼多的處理器和相關部件會產生不斷增加的熱量。即使對當今大功率單處理器計算機晶片來說,熱量也仍然是個問題。僅僅為了正常操作,它們就需 要特別的冷卻裝置,例如風扇,甚至需要水冷卻。因此,在小型手持設備、 小型專用數字裝備等設備中,使用更大功率的單處理器實際上是不可能的。 目前,在單個晶片上組合使用多種類型的處理器的想法,似乎超出了封裝的
物理極限,而不能散發所產生的熱量,即使利用特別的輔助裝置。
以上論述的熱量問題在業界是公知的。正在十分努力地解決這個問題。 所提供的解決方案包括用於提高效率並從而降低所需處理器的數量和尺寸 的方法,和用於降低各個處理器功耗的方法。然而,通常所認知的是,對該 問題的最終解決方案還沒有找到。在業內,由於將這些處理器應用於小型手 持設備的趨勢,這一問題進一步加重。雖然散熱問題在更大的計算機封裝中 已經夠困難,但是在非常小型的設備中當考慮到散熱表面的尺寸和該表面的 固有缺乏時,散熱問題幾乎是不可克服的。並且,功耗問題和放熱問題關係 密切。很明顯的是,多餘的放熱意味著多餘的功耗。這一直都是所不希望的, 而在小型電池供電的設備中,更是不能接受的。
很明顯,找到一種提供大量計算能力而不浪費大量功耗或產生大量熱的 方案是非常有利的。不過,就發明人的認知而言,在本發明之前還沒有滿意 的解決方案。

發明內容
因此,本發明的目的在於提供一種用於提高計算機處理速度的裝置和方法。
本發明的另 一 目的在於提供一種用於廉價地提供相當大計算能力的裝 置和方法。
本發明的又一 目的在於提供一種用於提高多計算機陣列的操作速度的 裝置和方法。
本發明的目的還在於提供一種用於實現大強度計算任務的裝置和方法。 本發明的目的還在於提供一種計算機裝置,其不消耗大量功率就能產生大量的處理能力。
本發明還有一目的在於提供一種計算機裝置,其不生成大量的熱就能產 生大量的處理能力。
簡要地說,本發明的已知實施例是一種計算機陣列,每臺計算機本身具 有內存並能獨立計算。為了協同完成任務,這些計算機必須能彼此之間傳輸 數據和/或指令。既然所有同時工作的計算機通常會提供比大多數任務所需 的計算能力強得多的計算能力,既然在若干計算機中分配任務所用的任何算 法或方法幾乎肯定導致分配不平均,因此可以預期的是,計算機中的至少一 些,也可能是大多數,在任何給定的時候都不活躍地參與任務的實現。為了 避免不必要的功耗和不必要的放熱,當計算機試圖與相鄰計算機的 一個或多 個通信時,它將處於休眠模式,並且實質上沒有任何功耗,直到相鄰計算機 或相鄰計算機中的一個運行起來以完成通信。
正如這裡所描述的,計算機之間的通信是異步的,原因在於沒有任何時 鍾等來定時。更確切地說,隨著資源變得可用,它既可以開始也可以結束。 也就是說,當計算機的程序指令它這麼做時,計算機可以啟動發送數據,或 者也可以使自己處於預備狀態以接收數據。於是,當計算機或其試圖與之通 信的所選擇的計算機之一 準備好完成通信時,它就這麼做。
為了實現所期望的省電並減少放熱,所希望的是,當所啟動的計算機正 在等待通信完成時,它能停止或者至少顯著降低功耗。可以想像的到,這可 以由許多手段中的任一手段來實現。例如,如果計算機由內部或者外部時鐘 來定時,那麼在那段時間可以調慢時鐘或者停止時鐘。不過,根據在此描述 的本發明的實施例,計算機內部本身也是異步操作。也就是說,沒有時鐘類 型的信號來驅動計算機(除了這裡論述的一個例外)。這種異步裝置的自然 狀態是將停在一種這樣的狀態中,在該狀態中,當計算機正在等待下一操作 時,本質上沒有任何功耗(除了少量洩漏電流所消耗的功耗之外)。
根據本發明,在計算機之間完成異步操作可以通過利用確認操作來實
現。也就是說,在現有技術中,對通信進行計時,通常假定裝置之間的通信發生在相對於計時信號的特定時間內。發送計算機通常不具有任何直接的正 反饋來確認其數據被接收計算機所接收。不過,根據本發明,當一臺計算機 通過試圖發送或通過試圖接收來試圖通信,然後另一計算機通過接收或通過 發送完成該操作時,接收計算機確認收到發送計算機的動作,以便這兩個計 算機都知道處理完成。在本發明的實施例中,通過使控制線變為低電平來實 現這種確認,以便數據循環或時間不會浪費在完成這種確認的操作中。然而, 發明人認為,確認通信完成的操作本質上適用於裝置之間的任何異步通信, 無論這些裝置內部是否本質上異步,甚至也無論它們是否基於傳統的電子電 路、基本原理或任何其它現存的或將來開發的操作原理。
考慮到這裡所描述的實施本發明的模式及其工業實用性的描述以及若 幹附圖所示,本發明的這些和其它目的以及優點對本領域的技術人員來說將 變得清楚。這裡所列的目的和優點不是本發明的所有可能優點的窮盡列舉。 此外,即使當本申請中沒有或不需要所預期的目的和/或優點中的一個或更 多的情況下,也有可能實行本發明。
進一步地,本領域的技術人員應該認識到,本發明的各種實施例可以實 現所描述的目的和/或優點中的一個或更多,但沒有必要是全部。因此,這 裡所描述的目的和/或優點不是本發明的必要元素,也不應該作為限制來解 釋。


圖1是根據本發明一個實施例的計算機陣列的簡圖; 圖2是示出圖l計算機的子集和圖1中互連數據總線的更多詳情的詳細 視圖3描述圖1和圖2中的一臺計算機的通用布局的結構圖; 圖4是根據本申請的指令字的示圖5是圖3中的時段定序器(slot sequencer) 42的示圖;和 圖6是描述本發明方法示例的流程圖。
具體實施例方式
在以下說明中,將參考附圖對本發明進行描述,在附圖中,類似的附圖 標記表示相同或相似的元件。雖然本發明根據用於實現本發明目的的方式進 行描述,但是本領域的技術人員應該理解,可以根據這些教義在不脫離本發 明的精神或範圍的情況下做出各種修改。
這裡所描述和/或附圖所示的本發明的實施例和變形,僅以示例的方式 呈現出來,並不限制本發明的範圍。除非另外明確地進行陳述,否則本發明 的各個方案和部件都可以被省略或修改,或者因此可以替換已知的等效物, 或者作為還未知的替換物,例如將來開發出來的或者在將來發現的可接受的 替換物。本發明還可以在處於所要求保護的發明的精神和範圍之內的同時, 針對多種應用進行修改,這是因為潛在應用的範圍很廣闊,還因為本發明本 就旨在適於多種這類的變形。
已知的用於實施本發明方式是各個計算機的陣列。本發明的計算機陣列
被描述於圖l的簡圖中,並在此處總地用附圖標記10來指示。計算機陣列 IO具有多個(在所示的示例中是24個)計算機12 (在陣列的示例中,有時 也稱作"核"或"節點")。在所示的示例中,所有的計算機12都位於單 個晶片(die) 14上。根據本發明,每個計算機12通常都是獨立運行的計算 機,下文中將對此做更詳細的論述。計算機12由多條(下文中將對該數量 做詳細論述)互連數據總線16互相連接。在該示例中,數據總線16是雙向、
發明的範圍中。在本實施例的陣列10中,不僅計算機12之間的數據通信是 異步的,而且各個計算機12內部也以異步模式操作。這已經被發明人所發 現,從而能夠提供重要的優勢。例如,因為時鐘信號不必要分布到整個計算 機陣列10中,因此就很省電。此外,不必分布時鐘信號消除了許多定時問 題,這些定時問題可能限制陣列IO的尺寸或可能導致其它已知的麻煩。
本領域的技術人員將認識到,出於清晰的考慮,晶片14上的額外部分在圖l的視圖中被省略。這些額外部分包括電源總線、外部連接鍵盤和微處 理器晶片的其它這類公共方面。
計算機12e是一臺未處於陣列10的周邊上的計算機12的示例。也就是 說,計算機12e有四個垂直相鄰的計算機12a、 12b、 12c和12d。對計算機 12a - 12e進行的這種分組將在下文中用於對陣列10的計算機12之間的通信 進行更為詳細的論述。從圖l的視圖可知,諸如計算機12e的內部計算機具 有通過總線16與該內部計算機直接通信的其它四臺計算機12。在下文的論 述中,所論述的原理將適用於所有計算機12,除了在陣列10的周邊上的計 算機12僅僅與其它三臺計算機直接通信之外,還除了邊角計算機12僅僅與 其它兩臺計算機12直接通信的情況。
圖2是圖1的一部分的更為詳細的視圖,其僅僅示出了一些計算機12, 具體而言,僅僅包括計算機12a_ 12e。圖2的視圖還揭示了,每條數據總線 16均具有讀取線18、寫入線20和多條(在本示例中為18條)數據線22。 數據線22能夠幾乎同時地並行傳輸一個18比特指令字的所有比特。應該注 意的是,在本發明的一個實施例中, 一些計算機12是相鄰計算機的鏡像。 不過,無論計算機12是全部同一定向或者是作為相鄰計算機的鏡像,均不 構成這裡描述的本發明的方案。因此,為了更好地描述本發明,在此並不進 一步論述這種潛在的複雜性。
才艮據本發明的方法,計算機12,例如計算機12e,可以對它的一條、兩 條、三條或所有四條讀取線18進行設置,從而使得該計算機準備從相應的 一臺、兩臺、三臺或所有四臺相鄰計算機12接收數據。類似地,計算機12 還可以將其一條、兩條、三條或所有四條寫入線20設置為高電平。雖然發 明人認為在同一時刻將不止一臺計算機12的寫入線20設置為高目前還不現 實,但是如此做法並未超出本發明的範圍,因為可以想像到,這種操作的使 用有可能發生。
當相鄰計算機12a、 12b、 12c或12d中的一臺將其本身與計算機12e之
間的寫入線20設置為高電平時,如果計算機12e已經將相應的讀取線18設置為高電平,則在相關的數據線22上,字就會從那臺計算機12a、 12b、 12c 或12d傳送到計算機12e。然後,發送計算機12將釋放寫入線20,並且接 收計算機(在本示例中為12e)將寫入線20和讀取線18均拉為低電平。後 一操作將向發送計算機12確認已經接收到數據。需要注意的是,上述描述 意不在於必需按順序表示這些事件的次序。在實際操作中,在該示例中,在 發送計算機12釋放(停止拉為高電平)其寫入線20之前不久,接收計算機 可能試圖將寫入線20設置為低電平。在這種情況下,發送計算機12—旦釋 放其寫入線20,寫入線20就會被接收計算機12e拉為低電平。
在本示例中,只有程序錯誤才會使得一條總線16相反兩端的兩臺計算 機12均試圖將二者之間的讀取線18設置為高電平。對於一條總線16相反 兩端上的兩臺計算機12而言,試圖將二者之間的寫入線18同時均設置為高 電平也是錯誤的。類似地,如上文所述,當前可預見的是,可能不需要使單 個計算機12將它的四條寫入線20中的不止一條設置為高電平。不過,目前 能預見的是,存在如下可能,即需要將讀取線18的不同組合設置為高電平, 以便使計算機12中的一臺可以處於等待狀態,用於等待來自所選擇計算機 12中的第一臺的數據,從而將其相應的寫入線20設置為高電平。
在上文所論述的示例中,計算機12e被描述為,在相鄰的計算機(選自 計算機12a、 12b、 12c和12d中的一臺或多臺)將其寫入線20設置為高電 平之前,計算機12e將其一條或多條讀取線18設置為高電平。不過,這個 過程當然可以按照相反的順序進行。例如,如果計算機12e正試圖向計算機 12a寫入,那麼計算機12e將把計算機12e與計算機12a之間的寫入線20設 置為高電平。如果接下來計算機12e和計算機12a之間的讀取線18尚未被 計算機12a設置為高電平,則計算機12e將只能等待,直到計算機12a確定 將該讀取線20設置為高電平。然後,如上文所述,當相應一對寫入線18和 讀取線20均為高電平時,就傳送在數據線22上待傳送的數據。此後,發送 計算機12e—釋放,接收計算機12 (在本示例中為計算機12a)就將兩臺計 算機(在本示例中為12e和12a)之間的讀取線18和寫入線20均設置為低電平。
除非數據將要發送到的計算機12已經將其讀取線18設置為高電平,在 這種情況下,數據會被立即發送,否則,只要諸如計算機12e的計算機12 已經將其寫入線20中的一條設置為高電平以期望寫入,它都將僅僅等待而 幾乎不耗電,直到數據如上文所述那樣由合適的相鄰計算機12 "請求"。 類似地,只要計算機12已經將其一條或多條讀取線18設置為高電平以期望 讀取,它就將僅僅等待而幾乎不耗電,直到所連接至所選計算機12的寫入 線20變為高電平,以在兩臺計算機12之間傳送指令字。
可能有若干潛在的裝置和/或方法來使得計算機12如上所述地運行。不 過,在本示例中,計算機12之所以這樣運轉,僅僅是因為它們通常在內部 異步操作(除了以所述異步方式在它們之間傳送數據之外)。也就是說,指 令按順序被完成。當產生寫入指令或讀取指令時,可以不採取進一步行動, 直到指令被完成(或者,或許可選地,直到其被"重置"等中止)。在現有 技術意義中,並不存在規則的時鐘脈衝。更確切地說,只有當正在執行的指 令既不是讀取類型指令也不是寫入類型指令時(假定讀取或寫入類型的指令 需要由另一實體完成)時,或者當讀取或寫入類型的操作實際上已經完成時, 脈衝才產生以實現下一指令。
圖3是描述圖1和圖2中一臺計算機12的示例通用布局的結構圖。從 圖3的視圖可知,每臺計算機12 —般均為自身具有RAM 24和ROM 26的 計算機。如之前所提到的,計算機12有時候也被稱為單獨的"核,,,假設 在本示例中它們被組合到單個晶片上。
計算機12的其它基礎部件為返回堆棧28、指令區域30、算術邏輯單元 ("ALU" )32、數據堆棧34和用於對指令進行解碼的解碼邏輯部分36。 本領域的技術人員通常很熟悉基於堆棧的計算機的操作,例如本示例的計算 機12。計算機12為具有數據堆棧34和分立的返回堆棧28的雙堆棧計算機。
在本發明的該實施例中,計算機12具有四個通信埠 38,其用於與相 鄰計算機12進行通信。通信埠 38為三態驅動器,其具有截止狀態、接收狀態(用於將信號驅動進入計算機12)和發送狀態(用於將信號驅動出計 算機12)。當然,如果特定的計算機12不像計算機12e的示例那樣處於陣 列10(圖1)的內部,那麼至少出於在此所描述的目的,在所述特定的計算 機中將不會使用一個或多個通信埠。指令區域30包括多個寄存器40,在 該示例中,包括寄存器40包括A寄存器40a、B寄存器40b和P寄存器40c。 在該示例中,A寄存器40a是滿18比特寄存器,而B寄存器40b和P寄存 器40c為9比特寄存器。
儘管本發明不局限於該示例,但是該計算機12能執行自然Forth語言 指令。熟悉Forth計算機語言的人都應該理解,作為已知的Forth "字,,的復 雜Forth指令,可以由設計到計算機中的自然處理器指令組成。Forth字的集 合被稱為"字典(dictionary )"。在其它語言中,這可能被稱為"庫(library ),,。 如同下文將更詳細描述的一樣,計算機12同時從RAM24、 ROM26或直接 從數據總線16 (圖2)之一中讀取18比特。不過,由於在Forth中,大多數 指令(稱為無操作數指令)直接從堆棧28和34獲取它們的操作數,所以它 們通常只有5個比特的長度,以便在這一組中的最後指令選自只需要3比特 的有限指令集合的狀況下,單個18比特的指令字中可以包含多達4條指令。 在圖3的視圖中,還以塊圖形式描述的有時段定序器42。在本發明的這個 實施例中,數據堆棧34中的最上面兩個寄存器是T寄存器44和S寄存器 46。
圖4是指令字48的示圖。(應該理解,指令字48實際上可以包括指令、 數據或它們的某種組合。)指令字48由18個比特50組成。這是一個二進 制計算機,每個比特50都是"1"或者"0"。如在此之前所-淪述的,18比 特寬的指令字48可包括被稱為時段零54a、時段一54b、時段二54c和時l殳 三54d的四個時段54中的多達四條指令52。在本發明的該實施例中,18比 特的指令字48總是作為整體來讀取。因此,由於總是存在在指令字48中具 有多達四個指令的可能性,因而在計算機12的指令集中包含no-op(非操作) 指令,這些指令是為可能沒有必要甚至不希望使用所有可用時段54的情況所提供的。應該注意的是,根據本發明的 一個特定實施例,在間隔的時段(具
體而言,時段一54b和時段三54c)中,比特50的極性(高有效對比於低有 效)被反轉。不過,這並不是在此描述的本發明的必要方案,因此,為了更 好地闡釋本發明,在下文的描述中避免這種潛在的複雜性。
圖5是圖3的時段定序器42的示圖。從圖5的視圖可見,時段定序器 42具有以環狀排列的多個(本示例中為十四個)反相器56和一個NAND門 58,這樣,當信號穿過十四個轉換器56和NAND門58時,該信號被反相 奇數次。當OR門60的兩個輸入中的任一個變為高電平時,在時段定序器 42中產生一信號。第一 OR門輸入62源自正在執^f亍的指令52的比特i4 66 (圖4)。如果比特i4為高,則特定指令52為ALU指令,並且i4比特66 為"1"。當i4比特為"1"時,則第一 OR門輸入62為高電平,並且時段 定序器42被觸發,以產生將要導致執行下一指令52的脈衝。
當時段定序器42通過第一 OR門輸入62變為高電平或者通過第二 OR 門輸入64變為高電平(將在下文詳細論述)來觸發時,信號將繞著時段定 序器42行進兩次,每次都在時段定序器輸出68處產生輸出。第一次該信號 穿過時段定序器輸出68時,它為低電平,第二次時段定序器輸出68處的輸 出為高電平。來自時段定序器68的相對寬的輸出被提供給脈沖生成器70(示 為塊圖的形式),脈沖生成器70產生窄的定時脈衝作為輸出。本領域的技 術人員將意識到,需要窄的定時脈沖來準確地啟動計算機12的操作。
當正被執行的特定指令52是讀取或寫入指令,或者是任意其它指令時, 其中不希望正在執行的指令52立即觸發執行順次的下一指令52,那麼i4比 特66為"0"(低電平),並且第一 OR門輸入62因此也為低。本領域的 技術人員將認知到,在諸如計算機12的裝置中的事件的定時通常相當嚴格, 而不能有例外。在對時段定序器42進行觀察之後,本領域的技術人員將認 知到,來自OR門60的輸出必須保持高電平,直到信號已經循環經過NAND 門58從而開始循環的第二 "圈(lap)"之後。此後,為了防止電路的有害 持續振蕩,在該第二 "圈"期間,來自OR門60的輸出將變為低電平。如同可以根據上文所理解的那樣,當i4比特66為"0"時,時段定序 器42就將不被觸發 一 一假定下文所要論述的第二 OR門輸入66不為高電平。
如上文所論述的,每條指令52的i4比特66都是根據該指令是讀取類 型的指令還是寫入類型的指令而被設置。在指令52中的其餘比特50為該指 令提供特定操作碼的剩餘部分。在讀取類型指令或寫入類型指令的情況中, 一個或多個比特可以用來指示,在該特定計算機12中數據將要從何處讀取 或將要寫入何處。在本發明的本示例中,將要寫入的數據總是來自T寄存器 44(數據堆棧34的頂部),不過,數據可以選擇性地讀入T寄存器44或指 令區域30,從此處執行該數據。這是因為,在本發明的特定實施例中,數 據或者指令可以以此處描述的方式傳送,並且指令因此可以直接從數據總線 16執行,雖然這並非是本發明的必要方案。此外, 一個或多個比特50將用 於指示,埠 38的哪一個將被設置成讀取或寫入,如果有這樣埠的話。 可選地,後一操作通過使用一個或多個比特指定諸如A寄存器40a、 B寄存 器之類的寄存器40來實現。在該示例中,指定的寄存器40將被預載入數據, 該數據具有與每個埠 38 (並且還有計算機12可能試圖與其通信的其它任 何可能實體,例如存儲器、外部通信埠 39,等等)對應的比特。例如, 在特定寄存器40中的四個比特中的每一個可對應上埠 38a、右埠 38b、 左埠 38c或下埠 38d中的每一個。在這種情況下,如果在這些比特的位 置中的任意一處為"1",則通信將被設置為通過對應的埠 38進行。如同 之前在此所論述,在本發明的當前實施例中,可以預見的是,讀取操作碼可 以在單個指令中設置不止一個用於通信的埠 38,而同時,雖然可能發生 但是無法預見的是,寫入操作碼將在單個指令中設置不止一個用於通信的端 口 38。
緊接下來的示例將假定如下通信,其中計算機12e正試圖向計算機12c 寫入,雖然該示例可用於任何相鄰計算機12之間的通信。當寫入指令在寫 入計算機12e中被執行時,所選擇的寫入線20 (在本示例中為計算機12e 和12c之間的寫入線20)被設置為高電平,如果相應的讀取線18已經為高電平,則數據立即從所選擇的位置通過所選擇的通信埠 38發送。或者, 如果相應的讀取線18還未為高電平,則計算機12e將僅停止操作,直到相 應的讀取線18確實變為高電平。在此之前已經論述了用於在存在讀取或寫 入類型指令時停止計算機12a (或者更準確地說,使計算機12a不能進一步 操作)的機制。筒而言之,指令52的操作碼將在比特位置i4 66為'0,, 因此,OR門60的第一 OR門輸入62為低電平,進而,不觸發時段定序器 42產生使能脈沖。
至於在讀取或寫入類型指令完成時如何重新開始計算機12e的操作,用 於此的機制如下當計算機12e與12c之間的讀取線18和相應的寫入線20 均為高電平時,線18和20由將其保持為高電平的每個相應計算機12釋放。 (在該示例中,發送計算機12e將使寫入線18保持為高電平,而接收計算 機12c將使讀取線20保持為高電平)。接下來,接收計算機12c將把線18 和20拉為低電平。在實際操作中,在發送計算機12e釋放寫入線18之前, 接收計算機12c可能試圖將線18和20拉為低電平。不過,因為線18和20 被拉為高電平並且只是被不牢固地保持(鎖存)為低電平,因此任何將線 18或20拉為低電平的企圖實際上都將不會成功,直到線18或20由將其鎖 存為高電平的計算機12所釋放。
當數據總線16中的線18和20均被拉為低電平時,這是一種"確認" 條件。 一旦有該確認條件,計算機12e和12c中的每一臺都將其自身內部的 確認線72設置為高電平。從圖5的視圖可見,確認線72提供了第二OR門 輸入64。因為到OR門60的輸入62或64中任意一個輸入將導致OR門60
從而執行在指令字48的下一時段54中的指令52。確認線72保持在高電平, 直到下一指令52被解碼,以防止偽地址到達地址總線。
無論如何,當正在執行的指令52處於指令字48的時段三位置中時,計 算機12將獲取下一正在等待的18比特指令字48,當然,除非比特i4 66為 "0"。在實際搡作中,本發明機制包括一種方法和裝置,其用於"預獲取"指令,從而在指令字48中的所有指令52執行完之前可以開始該獲取操作。 不過,這也不是當前針對異步數據通信的本發明方法和裝置的必要方案。
在此已經詳細描述了上述示例,其中計算機12e正在向計算機12c進行 寫入。如同根據以上論述可以理解的那樣,不論計算機12e首先試圖對計算 機12c寫入,還是計算機12c首先試圖從計算機12e讀取,操作基本相同。 直到計算機12e和12c均準備就緒,才完成操作,並且無論計算機12e或12c 中的哪一臺首先準備就緒,首先準備就緒的計算機12僅僅"進入休眠狀態", 直到另一臺計算機12e或12c完成傳送。觀察上述過程的另一種方式為,實 際上,在寫入計算機12e和接收計算機12c分別執行寫入和讀取指令時,這 兩臺計算機均進入休眠狀態,但是當讀取線18和寫入線20均為高電平時, 後一臺進行處理的計算機幾乎即刻再喚醒,然而,首先發起處理的計算機 12可以幾乎無限期地保持在休眠狀態,直到第二臺計算機12準備好完成上 述過程。
發明人相信,在設備之間進行有效異步通信的關鍵特徵是某種確認信號 或條件。在現有技術中,設備之間的大多數通信被定時,並且對於發送設備
的方法可能已經用於試圖確認數據被正確接收,但是發送設備沒有操作完成
間的異步通信,或者至少使得設備之間的異步通信可實現。此外,確認條件 也使得對於一個或更多設備而言,"進入休眠狀態"直到確認條件發生變得 可能。當然,確認條件可以在計算機12之間由單獨在計算機12之間發送的 信號(或者通過互連的數據總線16或者通過單獨的信號線)進行傳送,並 且這種確認信號處於本發明的該方案的範圍中。不過,根據這裡所述的本發 明實施例,可以理解這裡存在甚至更多的經濟因素,原因在於,用於確認的 方法不需要任何額外的信號、時鐘周期、定時脈衝,或除了上述之外的任何 這類資源,來實際上實現通信。
根據用於實現它們的步驟和方式的上述論述,現在可以理解本發明方法的示例的以下簡要描述。圖6是描述該方法示例的流程圖,由附圖標記74 指示。在"啟動通信"的操作76中, 一臺計算機12執行使其試圖與另一計 算機12進行通信的指令53。這可以是試圖寫入或試圖讀取。在通常與"啟 動通信"的操作76同時發生的"將第一線設置為高電平"的操作78中,讀 取線18或寫入線20被設置為高電平(根據第一計算機12是試圖讀取還是 試圖寫入而定)。作為"將第一線設置為高電平"操作的一部分,根據當前 描述的操作的實施例,計算機12這樣做將停止操作,如同在此之前詳細描 述的一樣。在"將第二線設置為高電平"的操作80中,第二線(或者是寫 入線20或者是讀取線18)由第二計算機12設置為高電平。在"傳輸數據" 的操作中,數據(或指令等)通過數據線22被發送和接收。在"將線拉為 低電平"的操作84中,讀取線18和寫入線20被釋放,然後被拉為低電平。 在"繼續"的操作86中,確認條件使計算機12重新開始它們的操作。在本 發明示例的情況下,確認條件產生確認信號86 (圖5),在該情況下,確認 信號86僅是確認線72的"高電平',條件。
可以對本發明進行多種修改,而不改變本發明的價值或範圍。例如,雖 然在此已經針對讀取指令和寫入指令來描述本發明,不過在實際操作中,可 能存在不止一個讀取類型指令和/或不止一個寫入類型指令。僅僅作為一個 示例,在本發明的一個實施例中,存在使寄存器遞增的寫入指令以及其它不 執行此功能的寫入指令。類似地,根據哪一個寄存器40被用來選擇通信端 口 38等等,寫入指令可以變化,如同在此之前所描述的那樣。還可以存在 多個不同的讀取指令,所依據的只是,計算機12的設計者相信何種變化是 可替換讀取行為的有用選擇。
類似地,雖然在此已經針對單個晶片14上的陣列10中的計算機12之 間的通信來描述本發明,不過相同的原理和方法可以用作,或者被改造為用 作完成其它設備間的通信,例如計算機12和其專用內存之間的通信,或者 陣列10中的計算機12和外部設備之間(通過輸入/輸出埠等)的通信。 實際上,可以預見的是,在一些應用中可能要求由陣列組成的陣列一一將這裡描述的設備間的通信方法潛在地應用於陣列中的陣列之間的通信。
雖然已經在此論述了本發明的計算機陣列IO和計算機12的特定示例, 不過可以預期,針對於此的大量應用還未被想到。事實上,本發明的一大優 勢在於,本發明方法和裝置可適用於許多不同的使用。
上述全部內容僅僅為本發明的可用實施例的 一些示例。本領域的技術人 員將易於想到,在不脫離本發明的精神和範圍的前提下,可進行多種其它修 改和變化。相應地,本公開在此並不意在限制,並且所附權利要求書應被理 解為涵蓋了本發明的全部範圍。
本發明計算機陣列10、計算機12以及相關的方法74意在廣泛用於多 種計算機應用場合中。可以預見,它們將特別使用於需要相當計算能力而功 耗和放熱是重要考慮因素應用場合中。
如同此前論述的一樣,本發明的適用性在於,多種類型的設備間的計算 機通信可以因此顯著改善。可以預期,本發明的方法,其中某些計算機在不 用時可被允許"進入休眠狀態",能用於降低功耗、減少放熱,並以多種應 用和實現來提高計算機之間以及計算機裝置之間的通信效率。
由於本發明的計算^U車列10、計算才幾12和方法74可以容易地產生並 與現存的任務、輸入/輸出設備等結合,並且由於提供了在此所述的優點, 所以可以預期,它們將很容易地在業內被接受。由於這些和其它原因,可以 預期,在範圍和長期持續等方面,本發明的實用性和工業實用性都將非常顯 著。
工業實用性注意提供本對照表僅用於提供信息的目的,它並不是官方專利申請的 一部分。
對照表
10計算機陣列
12計算機
14晶片
16數據總線
18讀取線
20寫入線
22數據線
24 RAM
26 ROM
28返回堆棧
30指令區域
32 ALU
34數據堆棧
36解碼部分
38內部通J言埠
38a上埠
38b右埠
38c左埠
38d下埠
40寄存器
40a A寄存器
40bB寄存器
40cP寄存器
42時段定序器44T寄存器
46S寄存器 48指令字 50比特 52指令 54時段 54a時段零 54b時段一 54c時段二 54d時段三 56反相器 58 NAND門 60 OR門
62第一 OR門輸入
64第二 OR門輸入
66 i4比特
68時段定序器輸出
70脈沖生成器
72確i人線
74方法
76啟動通信的"l喿作
78將第一線設置為高電平的操作
80將第二線設置為高電平的操作
82傳送數據
84繼續
86確認信號
權利要求
1、一種計算機陣列,包括多臺計算機;和多條數據通路,其用於連接所述計算機;並且其中當所述計算機中的第一臺試圖與所述計算機中的第二臺通信時,所述計算機中的所述第一臺停止操作,直到所述計算機中的所述第二臺準備好完成所述通信。
2、 如權利要求1所述的計算機陣列,其中 所述計算機中的所述第一臺試圖寫入;並且所述計算機中的所述第二臺通過從所述計算機中的所述第二臺讀取來完成 所述通信。
3、 如權利要求1所述的計算機陣列,其中 所述計算機中的所述第一臺試圖讀取;並且所述計算機中的所述第二臺通過向所述計算^/L中的所述第一臺寫入來完成 所述通信。
4、 如權利要求3所述的計算機陣列,其中所述計算機中的所述第一臺被配置成從不止一臺其它的計算機讀取。
5、 如權利要求1所述的計算機陣列,其中當所述計算機中的所述第 一 臺試圖與所述計算機中的所述第二臺通信時, 所述第一臺計算機將寫入線設置為高電平;並且當所述計算機中的所述第二臺準備好完成所述通信時,所述第二臺計算機 將讀取線設置為高電平。
6、 如權利要求5所述的計算機陣列,其中當所述讀取線為高電平時,並且進一步當相應的寫入線也為高電平時,數 據在所述計算機中的所述第 一 臺與所述計算機中的所述第二臺之間傳送。
7、 如權利要求6所述的計算機陣列,其中當數據在所述計算機中的所述第 一 臺與所述計算機中的所述第二臺之間傳 送時,所述讀取線和所述寫入線都變為低電平。
8、 如權利要求7所述的計算機陣列,其中當所述讀取線和所述寫入線都變為低電平時,所述計算機中的所述第一臺 和所述計算機中的所述第二臺都重新開始操作。
9、 一種用於在第一計算機裝置與第二計算機裝置之間通信的方法,包括 使所述第一計算機裝置指示它準備好與所述第二計算機裝置通信; 使所述第二計算機裝置指示它準備好完成所述通信; 在所述第一計算機裝置與所述第二計算機裝置之間傳送數據;並且 使所述第二計算機裝置向所述第一計算機裝置確認所述通信已完成。
10、 如權利要求9所述的方法,其中所述第 一計算機裝置指示它準備好向所述第二計算機寫入。
11、 如權利要求IO所述的方法,其中通過將與所述第二計算機之間的寫入線設置為高電平,所述第一計算機裝置指示它準備好向所述第二計算機寫入。
12、 如權利要求9所述的方法,其中 所述第一計算機裝置指示它準備好從所述第二計算機讀取。
13、 如權利要求12所述的方法,其中通過將與所述第二計算機之間的讀取線設置為高電平,所述第一計算機裝 置指示它準備好從所述第二計算機讀取。
14、 如權利要求9所述的方法,其中通過將讀取線和寫入線二者之一設置為高電平,所述第一計算機裝置指示 它準備好與所述第二計算機裝置通信;通過將所述讀取線和寫入線二者中的另 一個設置為高電平,所述第二計算 機裝置指示它準備好與所述第一計算機裝置通信;並且當所述讀取線和所述寫入線都為高電平時,在所述第一計算機裝置與所述 第二計算機裝置之間傳送數據。
15、 如權利要求9所述的方法,其中通過將所述讀取線和所述寫入線都拉為低電平,所迷第二計算機裝置確認 所述通信已完成。
16、 如權利要求15所述的方法,其中為了允許將所述讀取線和所述寫入線都拉為低電平,所述第一計算機裝置 釋放所述讀取線和寫入線二者之一;並且所述第二計算機裝置釋放所述讀取線和寫入線二者中的另 一個。
17、 一種用於在計算機之間通信的方法,包括(a) 使第一計算機指示它準備好通信;(b) 然後使所述第 一計算機停止操作;(c) 使第二計算機指示它準備好與所述第一計算機通信;(d) 在所述第一計算機與所述第二計算機之間傳送數據;並且(e) 使所述第一計算機重新開始操作。
18、 如權利要求17所述的方法,其中當所述第二計算機確認所述通信已完成時,使所述第一計算機重新開始操作。
19、 如權利要求17所述的方法,其中所述第一計算機設置所述第一計算機與所述第二計算機之間的寫入線; 所述第二計算機設置所述第一計算機與所述第二計算機之間的讀取線;並且在所述讀取線和所述寫入線都被設置後,使所述第一計算機重新開始操作。
20、 如權利要求19所述的方法,其中當所述讀取線和所述寫入線都被設置時,在所述第一計算機與所述第二計 算機之間傳送數據。
21、 如權利要求19所述的方法,其中當所述讀取線和所述寫入線都被設置時,將所述讀取線和所述寫入線均復 位,以指示已經傳送數據。
22、 如權利要求21所述的方法,其中所述第一計算機通過使所述寫入線變為高電平來設置所述寫入線; 所述第二計算機通過使所述讀取線變為高電平來設置所述讀取線;並且 通過使所述讀取線和所述寫入線變為低電平,將所述讀取線和所述寫入線 復位。
23、 如權利要求17所述的方法,其中與權利要求17中表示出的順序相比,步驟(a)和(b)的操作順序^f皮顛倒。
24、 一種計算機,包括至少 一個用於在第 一計算機與第二計算機之間通信的數據傳送裝置; 用於使所述第一計算機指示它準備好通信的裝置; 用於使所述第二計算機指示它準備好通信的裝置; 用於確認通信已經完成的裝置。
25、 如權利要求24所述的計算機,進一步包括一裝置,用於停止所述第一計算機,直到所述用於確認通信已經完成的裝 置指示出做了這樣的確認。
全文摘要
計算機陣列(10)具有多臺計算機(12)。計算機(12)彼此之間異步通信,並且計算機(12)自身內部一般也以異步方式操作。當一臺計算機(12)試圖與另一臺通信時,它將進入休眠狀態,直到另一計算機(12)準備好完成處理,從而可以省電並減少放熱。多條讀取線(18)、寫入線(20)和數據線(22)將計算機(12)互連。當一臺計算機(12)將讀取線(18)設置為高電平,且另一臺計算機設置相應的寫入線(20)時,數據將在數據線(22)上傳送。當讀取線(18)及相應的寫入線(20)變為低電平時,使兩臺通信的計算機(12)了解到通信已完成。確認線(72)變為高電平,以重新啟動計算機(12)。
文檔編號G06F15/80GK101410823SQ200780000017
公開日2009年4月15日 申請日期2007年2月16日 優先權日2006年2月16日
發明者查理斯·H·莫爾 申請人:Vns組合有限責任公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀