TW200809530A - Asynchronous power saving computer - Google Patents

Asynchronous power saving computer Download PDF

Info

Publication number
TW200809530A
TW200809530A TW096105687A TW96105687A TW200809530A TW 200809530 A TW200809530 A TW 200809530A TW 096105687 A TW096105687 A TW 096105687A TW 96105687 A TW96105687 A TW 96105687A TW 200809530 A TW200809530 A TW 200809530A
Authority
TW
Taiwan
Prior art keywords
computer
instruction
line
communication
external entity
Prior art date
Application number
TW096105687A
Other languages
English (en)
Inventor
Charles H Moore
Original Assignee
Technology Properties Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/355,513 external-priority patent/US7904695B2/en
Priority claimed from US11/355,495 external-priority patent/US7904615B2/en
Application filed by Technology Properties Ltd filed Critical Technology Properties Ltd
Publication of TW200809530A publication Critical patent/TW200809530A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3246Power saving characterised by the action undertaken by software initiated power-off
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Power Sources (AREA)
  • Information Transfer Systems (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

200809530 九、發明說明: 【發明所屬之技術領域】 本發明係有關於電腦以及雷 次冤細處理裔,特別是有關於 允终電腦在等待與直他雷聰々 矛行/、,、他電知或裝置進行通訊時進入休眠狀 態的方法與裝置,目而節省功率並且降低熱產量。使用本 發明非同步電腦的優點在於可以將多個電腦結合於單—晶 片上’其中計算能力以及功率消耗皆是重要的考量。藉由 配置個別電腦以及將電腦連接在一起使電腦的整體速二 及效率最佳化的方法與裝置。本發明電腦陣列的優點在於 可以將多個電腦結合於單一微晶片中,其中計算能力以及 功率消耗皆是重要的考量。 【先前技術】 在電腦計算領域中所期望的品質即為較好的處理速 度’並且持續在此領域中尋找創造更快速的電腦以及處理 器。然而,熟悉此技藝之人士皆瞭解,藉由目前的技術增 加微處理器的速度已快速的接近限制’ 多處理器執行分^增加整體計算速度的㈣越 趣。熟悉此技藝之人士亦瞭解分工必然會降低整體效能。 如同俗諺所說,若一個人挖一個洞需要6〇分鐘,那麼六十 個人可能只需要花1分鐘就可以挖好_個洞。相同的原理 可應用至任何的分工,多個處理器進行分工同樣的也可以 達到較好的效能。 當然,必須精確的研究如何分配工作的問題並且改善 6 3019-8665-PF;Ahddub 200809530 =理步驟,使得電腦處理器之間的分工更有效率。然而, 叹有人想到再^美分工仍會浪f掉_些處理器功率。 上,乏尚效能對於多處理器電腦之電腦晶片或系統的整 體计异能力來說不必然是大的障礙。缺乏效率的問題通常 可猎由增加可用的處理器以及處理空間而克服。然而這樣 的解决方去會產生其他的問題。也就是,這麼多的處理器 以及相關元件會增加熱能。在現今高功率的單_處理器電 腦晶片中,過熱已經是個問冑,因此需要額外的冷卻裝置 (例如風扇或水冷卻)來維持處理器的正常操作。因此,在 :、的手持裝置以及適用於特定應用程式之小的數位裝置等 等中…、法使用更強而有力的單—處理器。即使使用特別的 辅助裝置,將多個處理器結合於單—晶片上似乎仍會超過 封裝散熱的實體限制。 業界皆知道以上所提到過熱的問題,並且花了相當多 的精力在解決此問題。所提出的解決方法包括改善效能並 因而降低所需要之處理器的數量及尺寸的方法,以及降低 個別處理$之功率消耗的方法。然而,熟悉此技藝之人士 白瞭解目别還/又有找到解決此問題的根本方法。目前業界 的趨勢為將這樣的處理器應用至小的手持裝置上,如此將 使付這樣的問題更加嚴重。散熱問題對於較大的電腦封裝 來說已經很嚴重了,對於小尺寸以及缺乏散熱介面的小裝 置來說散熱問題是更加的難以克服。同樣的,功率消耗與 熱能產生的問題是一致的,因為浪費熱能產生即代表浪費 力率消耗儘管不希望出現這樣的問題,但是在小的電力 3019-8665-PF;Ahddub 7 200809530 裝置中仍然無法避免此問題。 因此,期望可以找出一 會消耗太多功率或是製造太 技藝之人士皆瞭解到目前為 法0 種可提供大量計算空間並且不 多熱能的方法。然而,熟悉此 止仍未找到令人滿意的解決方 【發明内容】 有鏗於此,本發明提供一種增加電腦處理速度並且降 低其功率消耗的裝置與方法。 、本發明另-實施例提供可提供便宜計算能力的裳置與 方法。 〃 本發明另一實施例提供完成大量計算工作的裝置與方 法。 、 本發明另-實施例提供一種在不需消耗大量功率的情 況下用來產生大量處理能力的電腦裝置。 本發明另-實施例提供一種在不需產生大量熱能的情 況下用來產生大量處理功率的電腦裝置。 簡單來说本發明實施例為具有記憶體的電腦,使其 :有獨立計算的能力。在本發明一實施例中的複數電腦係 設置為陣列。& 了合力完成工作,電腦必須將資料以及/ 或指令傳送給其他電腦。當所有的電腦同時工作時將可提 供更多的計算能力,且不論使用哪種演算法或方法將工作 分配給複s電腦通常都會造成分配不平均的㈣,因此期 望某些電腦在任何既定時間不會主動參與完成工作。為了 3019-8665-PF;Ahddub 8 200809530 避免不必要的功率消耗以及不必要的熱產量,當電腦企圖 與相鄰的電腦進行通訊時將會進入休眠模式(如此一來便 不會產生功率消耗),直到相鄰電腦完成通訊為止。 電腦之間的通訊為不受任何時脈限制的非同步通訊。 當然,當取得資源時兩者皆開始進行通訊並且完成通訊。 也就是,當程式指示電腦日夺,電腦將會開始傳送資料或是 將本身没定為就緒狀態來接收資料。接下來,當電腦戋是 所選取用來進行通訊的電腦會進人就緒狀態以完成^訊^ 為了達到節省功率並且降低熱消耗,當電腦等待通訊 完成時期望中止電腦的操作或是至少有效的降低盆功率消 耗。可以理解的是,這可以藉由任何複數裝置來完成。例 如,若電腦以内部或外部時脈來計時,則時脈在該時間週 肩内可以隻^或疋停止'然而,根據本發明實施例,電腦 2部本身為非同步操作。也就是,並不具有時脈信號來驅 動電腦(在此有一次例外)。當電腦等待下一操作時,非同 步裝置停止於不使用雷力广私 a 电力(除了消耗少I的漏電流之外)的 狀態是自然的現象。 根據本發明實施例,雷日 電知之間元整的非同步操作係受 到回應操作的影響。也就是,在先前技術中的通訊係受到 夺脈的控制’ &设裝置之間的通訊皆發生在相對於時脈信 Γ的特定時間。傳送電腦通常不具有任何即時的正向回授 =確認資料已被接收電腦所接收。然而,根據本發明實施 當電腦企圖進行通訊時(不論是傳送或接收),接下來 严现後的其他電腦合# & μ 曰 述知作(接收或傳送),接收電腦 3〇19-8665-PF;Ahddub 9 200809530 ' ㈣傳送電腦的動作做回應,使得兩台電腦皆可知道傳送 =完成。在此實施例中係藉由將控制線拉低為低電位而完 回應’使得在完成回應操作時不會浪費資料週期或是時 :’:然而,不論裝置内部是否本來就是非同步,更不論裝 置疋根據傳統電子電路、分子原理或其他現存或未來會發 展出的操作原理,發明人相信回應通訊完成的操作可適用 於任何裝置之間的非同步通訊。 《了讓本發明之目的、特徵、及優點能更明顯易懂, 下文特舉較佳實施例,並配合所附圖示做詳細之說明。本 發明說明書提供不同的實施例來說明本發明不同實施方式 的技術特徵。其t,實施例中的各元件之配置係為說明之 用,並非用以限制本發明。且實施例中圖式標號之部分重 、系為了簡化。兒明,並非意指*同實施例之間的關聯性。 【實施方式】 為讓本發明之上述和其他目的、特徵、和優點能更明 頌易歷,下文特舉出較佳實施例,並配合所附圖式,作說 明如下: 實施例·· 為了讓本發明之目的、特徵、及優點能更明顯易懂, 下文特舉較佳實施例,並配合所附圖示做詳細之說明。本 發明說明書提供不同的實施例來說明本發明不同實施方式 的技術特徵。其中,實施例中的各元件之配置係為說明之 用,並非用以限制本發明。且實施例中圖式標號之部分重 10 3019-8665-PF;Ahddub 200809530 複’係為了簡化說明,並非 實規太恭a 曰不同實施例之間的關聯性。 本1明的方式為個別電腦之陣列。 列1。的不意圖。電腦陣列10具有複數(此實:以不陣 電腦)電腦12(在此實施例的陣列”時又叫做: 點)。在此實施例中,所有的電腦12皆設置於單^或卽 卜根據本發明,每個電腦12通常皆為具有獨曰^ = 的電腦,以下將會有更詳細的說明。電腦12计异月匕力 下會詳細說明其數量)内連資料匯流排16連接曰在由—硬已數。(以 二資料匯流排16為雙向非同步高逮平行資料匯 机排’然而亦可使用其他内連裝置來達成此目的。本發明 的優點在於實施例所述之陣列10不僅做為電腦u之^的 非同步資料通訊’個別電腦12亦操作於内部非同步= 令。例如,由於時脈信號的分佈不需要遍及整個電腦陣 10’因而節省大量的電力。再者’不用分佈時脈信號就避 免了許多可能會限制陣歹"0尺寸或是造成其他困難 序問題。 f 熟悉此技藝之人士將會發現,為了更清晰的顯示第工 圖,因此省略了晶片14中額外的元件。這些額外的元件包 括功率匯流排、外部連接墊以及其他常見的微處理器晶片t 電腦12e是複數電腦12中不位於陣列1〇之周圍的電 腦。也就是,電腦12e具有四個與其相鄰且正交的電腦 12a、12b、12c以及I2d。以下將會詳細討論陣列1〇中電 腦12之間的通訊與電腦12a至12e這個群組的關聯。如第 1圖所示,内側電腦(例如12e)可透過匯流排16直接與其 3019-8665-PF;Ahddub 11 200809530 他四台電腦進扞。+ 匈遣仃通Λ。在下列討論中, 周圍的電…能直接與其他三台電腦進=陣列1。 置於陣列角落電腦12只能直接與其他兩台電:=設
之外,上述原則可套用至陣列中的所有電腦。订U 第2圖為部分第!圖的詳細圖示 ^ ^ # ^ 19〇 ^ 1〇 圖中僅顯示 至…的某些電腦。如第2_示,每個資 料匯流排16皆包括讀取線丨8、寫入 、 99 (J- νν ^ ^ ^ λ, 〇以及複數資料線 22(在此“例中具有18條資料線)。資料線^ 並列的方式同步傳送—個十八位元指令字中的所有位元。 值得注意的是,本發明實施例中的某些電腦12為相鄰電腦 的鏡像。然而,不論電腦12皆為相同方向或是作為相鄰電 腦的鏡像都不是本發明的重點。為了較佳的說明本發明實 施例,因此此處不再討論其潛在的複雜度。 根據本發:月的方法,電腦12(例如電腦12e)可將其 -、二、三或是所有四條讀取線18設定為高電位,使其準 備好接收分別來自-、二、三或是所有四台相鄰電腦心 資料。同樣的,電腦12也可以將其一、二、三或是全部四 條讀取線20冑定為高電位。儘管發明人不認為同時將至少 一條電腦12的寫入線2〇設定為高電位具有任何實際的意 義,但是這樣的作法並不會超出本發明的範圍,且可以理 解的是這樣的操作是有可能會發生的。 當相鄰的電腦12a、12b、12c或12d之一者將介於其 本身與電腦12e之間的寫入線2〇設定為高電位時,若電腦 12e已將對應的讀取線18設定為高電位,則電腦12&、12卜 3019-8665-PF;Ahddub 12 200809530 • 1以或i2d會透過相關的資料線22傳送一字(word)至電腦 1 2 e接下來傳送電腦12將會釋放寫入線2 〇,且接收電 腦(在此實施例中為12e)會將寫入線2〇以及讀取線18拉 低為低電位。接下來,接收電腦i 2e將會回應傳送電腦1 2, 告知已收到貝料。值得注意的是,上述說明並非用來表示 事件發生的順序。在實際的操作上,此實施例中的接收電 腦可以在傳送電腦12釋放(停止拉高)寫入線2〇之前,試 著將寫入線20稍微設定為低電位。在這樣的例子中,當傳 运電細12釋放其寫入線2〇的同時,寫入線2〇將會被接收 電腦12 e拉為低電位。 在此實轭例中,只有當編程錯誤時,設置於匯流排工6 兩端的電腦12才會試著將設置於其之間的讀取線18設定 為高電位。若匯流排16兩端的電腦12同時試著將設置於 其之間的寫入線18設定為高電位便會發生錯誤。同樣的, 如上所述,目前並不預期單一電腦12將其四條寫入線2〇 之一者設定為高電位。然而,目前期望有機會將不同組合 的讀取線18設定為高電位,使得電腦丨2之一者可以處於 等待狀態,等待來自第一選取的電腦12的資料將對應的寫 入線20設定為高電位。 在上述實施例中,電腦12e在相鄰電腦(電腦 12b、12c或12d之至少一者)將其寫入線2〇設定為高電位 之前將其讀取線18之至少一者設定為高電位。然而,在實 際應用上,此步驟也可以相反的順序實現。例如,若電腦 12e企圖寫入電腦12a,則電腦l2e會將設置於電腦12e與 3019-8665-PF/Ahddub 13 200809530 電腦1 2a之間的寫入線20設定為高電位。若電腦1 2a沒有 將設置於電腦12e與電腦12a之間的讀取線18設定為高電 位’則電腦12e會等待電腦12a將讀取線20設定為高電位 為止。接下來,如上所述,當對應的寫入線2 〇與讀取線 1 8對皆為高電位時傳送位於資料線22上等待被傳送的資 料。此後,當傳送電腦12e釋放設置於兩電腦12a與i2e 之間的讀取線18與寫入線20時,接收電腦12(在此實施 例為12a)將其設定為低電位。 每當電腦12(例如電腦i2e)在不使用電力的情況下將 其寫入線20之一者設定為高電位時,寫入如預期只需簡單 的等待直到取得來自適當相鄰電腦1 2的請求資料,除非即 將被傳运資料的電腦丨2已經將其讀取線丨8設定為高電位 這樣的例子中會立即傳送資料)。同樣的,每當電腦1 2 $不使用電力的情況下將其讀取線18之至少一者設定為 门電位時,項取操作如預期只需簡單的等待直到連接至已 選取電腦12的寫入線2〇變為高電位而於兩電腦12之間傳 。、夕潛在的裝置以及/或方法可使電腦12具有上述功 而纟此實施例中所述之電腦12的内部通常是非同 v柄作(為了以上述非同牛 . ^ ^ j v的方法傳送資料)。也就是說, 才曰々通g是依序完成。參 田出現寫入或讀取指令時,必須等 到遠指令執行完畢 ^ 番 < ”够 才可以執行其他動作(或是直到被,, 夏汉 專指令中斷時。^ 妙品 。在先前技術中不具有規律的時脈。 然而,只有當即將執行 仃的心令不是讀取或寫入指令或是當 3〇19-8665-PF;Ahddub 200809530 言買取或寫入指令完成時才會產 士 、 曰座生脈衝來執行下一個指令 (讀取或寫入指令需要藉由其他實體來實現)。 第3圖顯示第1圖與第2圖中電腦12之一者之一般配 置的方塊圖。如第3圖所示’電腦12通常是具有自己的 _ 24與_ 26之自包含電腦。如上所述,電腦通常 又叫做個別核心,在此實施例中係結合於單晶片中。 電腦12的其他基本元件為返回堆疊(…则 伽1028、指令區3〇、算術邏輯單元(ALU)32、資料堆聂 34以及用來將指令解碼的解碼邏輯區段。熟悉此技藝之人 士通常對以堆疊為基礎的電腦之操作非常熟悉,例如 施例的電腦1 2。雷腦1 9 i a 士 -欠,丨 冤細12為具有資料堆疊34與獨立返回堆 疊28之雙堆疊電腦。 在本發明實施財所述之電腦12具有四個與相鄰電 腦12進行通訊的通訊連接埠38。通訊連接淳別為三態 (t r i - s t a t e )驅動器,且右關明仙 有關閉狀悲、接收狀態(將信號驅 動至電腦12中)以及傕接业能,兩 得运狀悲(從電腦12驅動出信號)。當 然,若特定電腦12並非位於陣列(第j圖)的内部(例如電 腦心),則基於上述目的’至少一通_不會用於該特 疋電腦。指令區30包括數個暫存器4〇,包括a暫存器術、 B暫存g 4Gb以及P暫存器術。在此實施例中,a暫存器
40a是全十八位元暫存哭, D 為而β暫存器40b以及p暫存器 40c為九位元暫存器。 口 本實施例之電細12係用來執行本機(咖―)第四代 語言…rth !anguage)指令,然其並非用來限^本發明的 3019-8665-PF/Ahddub 15 200809530 範圍。熟悉第四代電腦語言之人士皆瞭解,複雜的第四代 指令(第四代字)係根據本機處理器指令建立至電腦中。第 四代子的集合叫做字典(dietionary)。在其他語言中又叫 做函式庫(1 ibrary)。接下來會對電腦12從ram 24、R〇M 26 或是直接從資料匯流排16(第2圖)之一者同時讀取十八個 位兀做詳細說明。然而,由於第四代語言中大部分的指八 (operand-less指令)係直接從堆疊28與34取得其運算 疋’其指令長度通常只有五個位元,使得四個指令可以包 含於單一的十八位元指令字中,並且會從只需要三個位元 之受限的指令集中選取群組中的最後一個指令。第3圖中 亦顯示插槽程序器42的示意圖。在本發明實施例之資料堆 疊34中的前兩個暫存器為τ暫存器44以及s暫存器46。 第4圖顯示指令字48的示意圖。值得注意的是,實際 上指令字48可包括指令、資料或是兩者之組合。指令字 48係由十八個位元5〇所組成。由於這是二進位電腦,因 此每個位元50將會是〇或i。如上所述,十八位元寬的指 令字48的四個插槽可包含多達四個指令52,分別為插槽 零54a、插槽一 54b、插槽二54c以及插槽三54d。根據本 發明實施例所述之十八位元指令字48永遠會被當作整體 來項取。因此,由於在指令字48中可能會具有多達四個指 令,因此電腦12的指令集中包括無作業(n〇 instructi〇n, no-op)指令,以於不需要或不期望使用所有可用插槽54的 情況下使用。值得注意的是,根據本發明特定實施例,位 於交替插槽(也就是插槽一 54b與插槽三54d)中的位元5〇 3019-8 665-PF;Ahddub 16 200809530 之極性(高態有效或低態有效)會是相反的。然而,由於此 非本發明必要的觀點。因此,為了較佳的說明本發明,在 接下來的討論中會避免這樣複雜的狀況。 第5圖顯示第3圖之插槽程序器“的示意圖。如第5 圖所示,插槽程序器42具有排列為環形的複數反相 抓在此實施例中有14個反相器)以及一個反及^ 當 信號通過十四個反相器56以及反及閘58時會執行積數: 反相田輪入至或閘60的輸入信號之任一者進入高電位時 曰初始插槽程序器42中的信號。從即將執行之指令52的 位兀14 66(第4圖)處取得第-或閉輸人信號62。若位元 U為高^位’則特定指令52為ALU指令,且i4位元Ζ 為1、" 14位元為1時,則第一或閘輸入信號62為高雷 位並且曰觸發插槽程序器42來初始脈衝以執行 入 二二:槽程序器42被拉高的第-或閘輸入信號62或第 …"A k號64觸發時,則信號會通過插槽程序 兩人且母次都會在插槽程序器的輸出端⑽產。2 信號第-次通過插槽程序器的輸出端㈣,其輪出二: 低電位’而第二次通過插槽程序器的輸出端⑽時,:二為 信號為高電位。來自插槽程序器之輸出端6M目對宽^出 信號係提供至脈衝產…,以於脈衝產生器70的:出 端產生較窄的時脈。熟悉此技藝之人士皆瞭解較窄:輪出 係用以精確的初始電腦12的操作。 乍的時脈 田所執仃的特定指令52為讀取或寫入指令或是其中 3019-8665-PF;Ahddub 17 200809530 的任何其他指令為不期望 料令時,即將被執行的指令52 會觸發立即依序的執行下一. , 扣?52,接下來η位元66 〇 (低電位)且第一或閘輸入信號62也因此為低電 =熟1此技藝之人士皆瞭解裝置中事件的時序(例如電腦 通吊疋非㊉的重要。熟悉此技藝之人士皆瞭解,在分析 插槽程序器42時,或閘6G的輸出信號必須維持在高電位 直到信號通過反及閘58 ’以初始環狀電路的第二迴圈。此 後,或間6。的輸出信號在第二迴圈期間將會變為低電位, 以避免電路發生不需要的持續振盪。 a根據上述說明可以瞭解’假設第二或閉輸入信號66不 疋南電位的情況下(以下會討論),當i4位元66為,〇,時 插槽秋序器4 2便不會被觸發。 如上所述’每個指令52#i4位元66係根據該指令是 否為讀取或寫入指令而設定。指令52中剩下的位元5。传 ^特定運算元的剩餘部分提供給該指令。在讀取或寫入指 々中’至少-個位元可用來指出資料從特定電腦12的那個 位置§買取貧料或是將資料寫入特定電腦12的那個位置。根 據本發明實施例,即將寫人的資料永遠來自T暫存器44(資 料堆疊34的頂部),麸而百丨、;、眩加 …、T ^ &擇性的從資料可執行的位 置將其讀入T暫存s , 益44或疋其他指令區30。由於在此實 施例中的資料或指令可以此處說明的方法通訊,因而可以 直接從資料匯流排16執行指令(儘管這不是本發明的必要 條件)。再者,位元50之至少一者係指出哪-個連接蜂(若 有的話)被設定為用來執行讀取或寫人。以下選擇性的操作 3019-8665-PF;Ahddub 18 200809530 至少一位元指定暫存,4。(例如A暫存器_ 働等等)而完成。在這樣的例子中,呈有對 ㈣個連接…位元的資料將會被預載至指二: 的’具有潛在實體(例如記憶體以及外部通訊連 接"專)的電腦12可用來通訊)。例如,特定暫存号4〇 中的每四個位元可對應至每個上連接埠38a、右連接谭 38b、左連接琿38e或是下連接埠38d。在此實施例中將會 猎由位元位置為’ Γ所對應之連接埠38來進行通訊。如 上所述,本發明實施例預期讀取運算元可設定至少一連接 埠38來進行單一指令通訊,而並不預期寫入運算元設定至 >一連接埠38來進行單一指令通訊(儘管有可能發生)。 接下來的實施例將假設電腦12e企圖寫入電腦i2c, 儘管在此實施例中相鄰電腦12之間皆可以進行通訊。當寫 入電腦12e執行寫入指令時,所選取的寫入線2〇會被設定 為高電位(在此實施例中為電腦12e與12c之間的寫入線 2〇)。若對應的讀取線18已經位於高電位,則可以立即從 所選取的位置透過所選取的通訊連接埠38傳送資料。再 者’若對應的讀取線18不是高電位’則電腦i2e將會停止 操作直到對應的讀取線18進入高電位。當具有讀取或寫入 指令時電腦12a必須停止操作(或是不致能其他的操作)。 總而言之’指令52的運算元之位元位置i4 66處將會 疋 0 ’且第一或閘或閘輸入信號6 2為低電位,並且不 會觸發插槽程序器42來產生致能脈衝。 以下將說明當完成讀取或寫入指令時電腦12e如何恢 3019-8665-PF;Ahddub 19 200809530 復操作。當介於電腦12e與12c之間的讀取線18以及對應 的寫入線2G皆為高電位時’分別將線18與20維持在高電 t的電腦12將會釋放線U與20。在此實施例中,傳送電 e θ將寫入線18維持在高電位,而接收電腦12c會將 讀取線2G維持在高電位。接下來,接收電腦…將會把線 18與2〇拉低為低電位。實際上,接收電腦12c可能會在 傳k電細12e釋放寫人線18之前將線^與拉低為低電 位。然而’由於線18與2〇皆被拉高並且閃鎖,直到將其 問鎖為高電位的電腦12將線18與20釋放才可能成功的將 線18與20拉低為低電位。 &當資料匯流排16中的線18與20都被拉低時(回應狀 :)每個電腦12e肖12c會將其内部回應線72設定為高 電位。如第5圖所示’回應線72提供第二或閘輸入信號 64。由於輸入至或閘60的輸入信號62或64將會使或閘 的輸出為高電位’如此便會以上述方法初始插槽程序器 42的操作以執行指令字48中下-個插槽54的指令52。回 應線72會維持在高電位直到下―個指令52被解碼,以免 假的位址傳送至位址匯流排。 當正在執行的指令52位於指令字48的第三插槽位置 時,電腦12將會擷取等待執行的下一十 一…為,。,)。實際上,本發明包為括:操: 私令的方法與裝置,如此一來便可以在執行完所有指令字 48中的所有指彳52之前擷取指令。然而,在本發明非同 步資料通訊的方法與裝置中這並不是必要的觀點。 20 3019-8665-PF;Ahddub 200809530 以下將對電腦12e寫入電腦12c做詳細說明。從上述 §兄明可以瞭解’不論是電腦12e先寫入如2。或是電腦 …先讀取電腦12e’其操作皆相同。操作係於電腦仏與 12c皆就緒時完成’且不論哪一台電腦心或…先就緒, 第-電腦12冑會進入休眠狀態直到另一台電腦傳輸完成 為止。在此以其他觀點來說明上述步驟,當寫入電腦… 與接收電腦1 2 c分別# ;?千宜X也> $ 1 C刀另J執仃寫入與讀取指令時,寫入電腦i2e 與接收電腦12c皆會進人休眠狀態,t讀取線18與寫入線 2〇皆為高電位時,後者幾乎立即進入交易重新喚醒 (transactiQn reawaken),反之初始交易的第—電腦财 維持休眠狀態直到第二電腦12準備好完成該程序。 發明人相信回應信號或狀態是用來致能裝置間有效非 同步通訊的主要特徵。在先前技術中,大部分裝置間的通 :皆受到時脈的控制’且傳送裝置無法直接知道接收裝置 疋否已正確的接收到資料。藉由檢查總和 保正確的接《料,但不會將操作已完成的訊息直接指示 傳送裝置。本發明實施例所述之方法提供必要的回應狀 態,以允許並實現裝置間的非同步通訊。再者,回應狀態 可使至少一裝置進入休眠狀態直到出現回應狀態。當然, 回應狀態可藉由將傳送於電㈣12間的信號分離而在電腦 12間進行通訊(透過内連資料匯流排16或是分離的信號 線),這樣的回應信號並沒有脫離本發明的範圍。然而,可 以瞭解的疋,由於本發明實施例將許多的經濟因素列入考 量,因此本發明所述之回應方法不需要使用任何額外的信 3019-8665-PF;Ahddub 21 200809530 號、時脈週期 影響通訊。 時序脈衝或是超過上述範圍的任何資 源來 根據上述程序以及實現 兄丄述担序的裝置便可以瞭解接 下來對本發明實施例的簡” 弟b圖顯不用來說明本 卷月貫施例之方法的流程圖74。 口 β隹初始通汛的操作76 口電細12執仃指令53使其與其他電腦^ 2進行通^ (可以為寫入或讀取)。,,將第-線設定為高電位,,的摔作 78通常與”初始通訊,,的操作76同時發生,讀取線18或 是寫入線20根據第一電腦12為讀取或寫入而被設定為高 電位,,。如上所述’電腦12根據本發明實施例的操作中止操 作疋將第一線设定為高電位’’的操作78的一部分。在” 將第二線設定為高電位,,的操作8〇中,第二線(寫入線 或讀取線18)係透過第二電腦12設定為高電位。在,,資料 通訊”的操作82中係經由資料線22來傳送或接收資料(或 指令)。在”將線拉低為低電位,,的操作84中,讀取線U 與寫入線20會被釋放並接著被拉低為低電位。在,,繼續” 操作86中,回應狀態將使電腦12恢復其操作。在本發明 實施例中,回應狀態會使接收回應信號86(第5圖)的回應 線72變為南電位狀態。 任何熟習此項技藝者,在不脫離本發明之精神和範圍 内,當可做些許的更動與潤飾。例如,儘管本發明係以讀 取指令或寫入指令來做說明,實際上可能具有至少一讀取 指令以及/或至少一寫入指令。根據本發明實施例所述之寫 入扣令會增加暫存器,然而其他寫入指令不會增加暫存 3019-8665-PF;Ahddub 22 200809530 同樣的,如上所述,寫入指令可根據用來選擇通訊連 接埠38的暫存器40而有所不同。根據電腦12設計者的不 同可以將一些不同的讀取指令視為讀取行為的選擇。 队同樣的,儘管本發明係與單一晶片14的陣列1〇内電 腦12之間的通訊有關,相同的原則與方法也可用以完成其 他裝置之間的通訊(經由輸人/輸出連接璋等等),例如電腦 ” 專用a己憶體之間的通訊,或是陣列丨〇中的電腦12 與外部裝置之間的通訊。當然',預期某些應用裝置可能需 要陣列的陣列,本實施例所述之裝置間的通訊方法可應^ 至陣列之陣列間的通訊。 〜 儘管此處已說明本發明實施例的電腦陣列丨〇與電腦 1 2 ’然而更期望發展出許多適合這些電腦的應用系統。當 然’本發明實施例的優點之—為本發明方法與裝置: 於多樣的使用。 本發明雖以較佳實施例揭露如上,然其並非用以限定 本發明的範圍,任何熟習此項技藝者,在残離本發明之 精神和範圍内,當可做些許的更動與潤飾,因此本發明之 保護範圍當視後附之申請專利範圍所界定者為準。 工業適用範圍 本發明電腦陣列1〇、電冑12以及相關方法Μ可廣泛 使用於電腦應用系統。期望有助於對於需要重要計算功率 的應用系、统,其中功率消耗以及熱產量皆為重要考量。。 如上所述,使用本發明可因而改善多種裝置間二腦的 3019-8665-PF;Ahddub 23 200809530 通訊。期望藉由使用本發明的方法(不使用的電腦可進入休 眠狀態)來降低功率消耗、降低熱產量並且改善電腦愈 多種應用系統的電腦裝置之間的通訊效率。 由於本發明之電腦陣列10、電腦12以及方法74容易 產生並且與現行工作、輪入/輸出裝置等等整合,因此期望 本發明可以被業界所接受。基於這些理由,期望本發明的 實用性與工業適用性可以顯著並且持久。 【圖式簡單說明】 第1圖顯示根據本發明實施例所述之電腦陣列的示意 圖。 一第2圖顯示W圖之電腦的子集合以及第^之内連 資料匯流排的詳細示意圖。 第3圖顯示第i圖與第2圖中電腦之一者的佈局方塊 圖。 第4圖顯示根據本發明應用程式之指令—立 丁巧不思圖。 第5圖顯示第3圖之插槽程序器的示意圖。 第6圖顯示本發明實施例的方法流程圖。 【主要元件符號說明】 14〜晶片; 18〜讀取線; 22〜資料線; 26〜ROM ; 1 〇〜電腦陣列; 16〜資料匯流排; 2 0〜寫入線; 24-RAM ; 3〇l9-8665-PF;Ahddub 24 200809530 28〜堆疊; 32〜算術邏輯單元; 36〜解碼器; 44〜T暫存器; 48〜指令字; 52〜指令; 5 8〜反及閘; 62、64〜或閘輸入信 6 8〜輸出端; 7 2〜回應線; 3 0〜指令區, 34〜資料堆疊; 42〜插槽程序器; 46〜S暫存器; 50〜十八個位元; 5 6〜反相器; 60〜或閘; ;6 6〜位元i 4 ; 70〜脈衝產生器; 8 6〜回應信號; 54a、54b、54c、54d〜插槽; 40、40a、40b、40c〜暫存器; 12、12a、12b、12c、12d、12e〜電腦; 38、38a、38b、38c、38d〜通訊連接埠。 25 3019-8665-PF;Ahddub

Claims (1)

  1. 200809530 十、申請專利範圍: 1 · 一種電腦,包括·· 一處理器,執行爽白 ^ 丁术自—指令區的複數指令;以及 器提t、脈衝來提前從目前執行指令至下一 指令; —二中上述&令包括提供—輸人至上述程序器的-位 一 定上述位元時上述程序器會被觸發為作用狀態。 2.如申請專利範圍第1項所述之電腦,其中當上述輸 入為1時設定上述位元。 •如申明專利15第1項所述之電腦,其中上述指令 為一較大指令字的其中一部分。 1項所述之電腦,其中當提供輸 元未被5免定時,上述程序器不會 4·如申睛專利範圍第 入至上述程序器的上述位 被觸發為作用狀態。 5 ·如申睛專利範圍第4 λ m、… 弟4項所4之電腦’其中當提供輸 入至上述程序器的上述 70未被权定時設定介於上述電腦 以及一第二電腦之間的一 四 门扪弟一通訊狀態線。 6.如申請專利範圍第5 雷 _ ,7叮现之電腦,其中上述第一 通訊狀悲線為一寫入線。 7·如申請專利範圍第5 通訊狀悲線為一讀取線。 8·如申請專利範圍第5 通4狀恶線被設定時係於上 料。 項所述之電腦,其中上述第一 項所述之電腦,其中當一第二 述電腦與第二電腦之間傳送資 3019-8665-PF;Ahddub 26 200809530 9_如申請專利範圍第8項所述之電腦,其中資料係從 上述電腦傳送至上述第二電腦。 1 0 ·如申請專利範圍第8項所述之電腦,其中上述資料 包括一指令。 11 ·如申請專利範圍第8項所述之電腦,其中當上述第 二通訊狀態線被設定時,上述程序器會被提供至上述程序 器的輸入觸發為作用狀態。 1 2· —種暫時降低電腦之功率消耗的方法,包括·· (a )當一外部實體企圖與上述電腦進行通訊時將使上 述電腦停止操作;以及 ⑻當回應上述電腦與上述外部實體完成通訊時,上述 電腦會繼續操作。 13. 如巾請專利範圍第12項所述之暫時降低電腦之功 率消耗的方法’其中上述外部實體為其他電腦。 14. 如申請專利範圍第12頊所、+、—由 ^ ^ + 項所述之暫時降低電腦之功 晶片内。 及外#電腦皆位於一單一 15.如申請專利範圍第12 率消耗的方法,且中述之暫時降低電腦之功 ^、+、Φ 八田電腦停止操作時亦改變了介於 上述電腦與外部實體之間一 子丌文k 了;丨於 _ ^ ^ 弟狀態線的狀離。 16·如申請專利範圍第12項 ^ 率消耗的方法,其中當兩條通C夺降低電腦之功 態時回應與上述外部實體的通訊〜、、、、皆破設定為相同狀 2員所述之暫時降低電腦之功 1 7 ·如申請專利範圍第 3019-8665-PF;Ahddub 200809530 率肖耗的方法’其中當上述電腦 電腦與外部實止刼作時設定介於上述 …實體之間的兩條狀態線中的 當上述兩條狀態線十 通訊且上述電腦會繼續操作者破設定時,資料會進行 18.如申請專利範圍第12頊 率消耗的方法,其中—程、:0夺降低電腦之功 指令;以及 D 一脈衝來執行每個複數 圖與電腦進行通訊時不#立即產生 當上述外部實體企 這樣的脈衝。 率、肖帛18項所述之暫時降低電腦之功 …法,其中當回應與上述外部實體通訊完成時會 產生脈衝來執行下一指令。 20.在用來執行複數指令的一電腦中,其中至少一些指 令為:一外部實體進行通訊的指令,改善的部分包括: 當出現企圖與上述外部實體進行通訊的指令時,使電 腦停止操作的裝置;以及 當與上述外部實體進行通訊的指令完成時,重新啟動 上述電腦的裝置。 ^ 21·如申請專利範圍第20項所述之改善的部分,其中 田出現止圖與上述外部實體進行通訊的指令時使電腦停止 操作的I置包括_脈衝產生裝置,用以於執行每個指令時 產生一脈衝,除了當指令為與上述外部實體進行通訊的指 令時不會產生這樣的脈衝。 22·如申請專利範圍第21項所述之改善的部分,其中 3019-8665-PF;Ahddub 28 200809530 成時,重新啟動上述 產生脈衝的裝置。 之改善的部分,其中 回應通訊完成時產生 當與上述外部實體進行通訊的指令完 電腦的裝置包括使上述脈衝產生裝置 23·如申請專利範圍第21項所述 上述脈衝產生裝置係於上述外部實體 脈衝。 3019-8665-PF;Ahddub 29
TW096105687A 2006-02-16 2007-02-15 Asynchronous power saving computer TW200809530A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/355,513 US7904695B2 (en) 2006-02-16 2006-02-16 Asynchronous power saving computer
US11/355,495 US7904615B2 (en) 2006-02-16 2006-02-16 Asynchronous computer communication

Publications (1)

Publication Number Publication Date
TW200809530A true TW200809530A (en) 2008-02-16

Family

ID=37965009

Family Applications (2)

Application Number Title Priority Date Filing Date
TW096105687A TW200809530A (en) 2006-02-16 2007-02-15 Asynchronous power saving computer
TW096105684A TW200813744A (en) 2006-02-16 2007-02-15 Asynchronous computer communication

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW096105684A TW200813744A (en) 2006-02-16 2007-02-15 Asynchronous computer communication

Country Status (7)

Country Link
EP (2) EP1821174B9 (zh)
JP (2) JP2009527810A (zh)
KR (2) KR20090016643A (zh)
AT (2) ATE512409T1 (zh)
DE (1) DE602007007999D1 (zh)
TW (2) TW200809530A (zh)
WO (2) WO2007098007A2 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3731201B1 (en) 2019-04-24 2022-11-09 ABB Schweiz AG A support system for an operator

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4589067A (en) * 1983-05-27 1986-05-13 Analogic Corporation Full floating point vector processor with dynamically configurable multifunction pipelined ALU
JPS60204149A (ja) 1984-03-29 1985-10-15 Mitsubishi Electric Corp デ−タ伝送装置
DE3937807C2 (de) 1988-11-19 1995-04-06 Vaillant Joh Gmbh & Co Verfahren zum Übertragen von Daten zwischen zwei sendenden und empfangenden Stationen
JPH03136136A (ja) * 1989-10-23 1991-06-10 Fujitsu Ltd 命令実行時刻制御方式
DE58908974D1 (de) * 1989-11-21 1995-03-16 Itt Ind Gmbh Deutsche Datengesteuerter Arrayprozessor.
US5218682A (en) 1991-05-10 1993-06-08 Chrysler Corporation Two-way handshake circuit and method for communication between processors
JP2723712B2 (ja) * 1991-08-30 1998-03-09 茨城日本電気株式会社 マイクロプログラム制御回路
US5692197A (en) * 1995-03-31 1997-11-25 Sun Microsystems, Inc. Method and apparatus for reducing power consumption in a computer network without sacrificing performance
JPH0997128A (ja) * 1995-09-26 1997-04-08 Internatl Business Mach Corp <Ibm> 情報処理システム
GB9704068D0 (en) * 1997-02-27 1997-04-16 Sgs Thomson Microelectronics Trigger sequencing controller
FR2789501B1 (fr) 1999-02-09 2001-04-13 St Microelectronics Sa Procede et dispositif de reduction de la consommation d'un microcontroleur
US6937538B2 (en) * 2000-02-02 2005-08-30 Broadcom Corporation Asynchronously resettable decoder for a semiconductor memory
GB2370381B (en) * 2000-12-19 2003-12-24 Picochip Designs Ltd Processor architecture
JP4412905B2 (ja) * 2003-01-28 2010-02-10 パナソニック株式会社 低電力動作制御装置、およびプログラム最適化装置
JP2004326222A (ja) * 2003-04-22 2004-11-18 Renesas Technology Corp データ処理システム

Also Published As

Publication number Publication date
EP1821174B1 (en) 2010-07-28
ATE512409T1 (de) 2011-06-15
KR20090016643A (ko) 2009-02-17
EP1821174B9 (en) 2010-10-27
EP1821174A1 (en) 2007-08-22
KR20090016642A (ko) 2009-02-17
WO2007098023A3 (en) 2008-07-03
EP1821217B1 (en) 2011-06-08
WO2007098007A3 (en) 2008-08-28
EP1821217A1 (en) 2007-08-22
JP2009527813A (ja) 2009-07-30
DE602007007999D1 (de) 2010-09-09
WO2007098007A2 (en) 2007-08-30
JP2009527810A (ja) 2009-07-30
WO2007098023A2 (en) 2007-08-30
TW200813744A (en) 2008-03-16
ATE475927T1 (de) 2010-08-15

Similar Documents

Publication Publication Date Title
US8825924B2 (en) Asynchronous computer communication
US7904695B2 (en) Asynchronous power saving computer
WO2020103706A1 (zh) 一种数据处理系统及数据处理方法
TWI454905B (zh) 在多核心平台中之受限制的啓動技術
JP5102789B2 (ja) 半導体装置及びデータプロセッサ
WO2006121175B1 (en) Methods and apparatus for power management in a computing system
TW200907698A (en) Method and apparatus for loading data and instructions into a computer
JP2009527815A (ja) 高められた動作効率を有するコンピュータシステム
TW200905556A (en) Communicating data
US7966481B2 (en) Computer system and method for executing port communications without interrupting the receiving computer
TW200809530A (en) Asynchronous power saving computer
TW200809609A (en) Microloop computer instructions
TWI237764B (en) Control chip with function for inhibiting bus cycle, circuit and method thereof
US20070234098A1 (en) Self-timed clock-controlled wait states
TW200809529A (en) Computer system with increased operating efficiency
WO2007098024A2 (en) Allocation of resources among an array of computers
JPS6158861B2 (zh)
Seethalakshmi et al. Power Extension of RISC architecture using Clock Gating Technique
EP1712979A1 (en) IC architecture
JP2009527813A5 (zh)
JPH07146846A (ja) マルチプロセッサシステム
TWM404434U (en) Multiplexer processor integrating real-time operation and non-real-time operation systems in exercise control core