TWI358022B - Systems and methods for transactions between proce - Google Patents
Systems and methods for transactions between proce Download PDFInfo
- Publication number
- TWI358022B TWI358022B TW096108167A TW96108167A TWI358022B TW I358022 B TWI358022 B TW I358022B TW 096108167 A TW096108167 A TW 096108167A TW 96108167 A TW96108167 A TW 96108167A TW I358022 B TWI358022 B TW I358022B
- Authority
- TW
- Taiwan
- Prior art keywords
- request
- memory
- data
- bus
- interface unit
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
Description
1358022 九、發明說明: 【發明所屬之技術領域】 換的系統、裝置與方法 本發明係關於-種可減少延遲的資料傳送與接收系統及盆方 法’特別是關於-種處理系統匯流排上的其他元件間訊息交 【先前技術】 眾所週知,處理器(例如:微處理器)的製造與應用十分廣泛,從 桌上型電腦至可攜式電子設備,例如手機或個人數位助理 (Pe_i dlgltal assistants,PDA)等,皆屬於其應用領域。 許多的處理器朗習知的頻細ining)架構’以將不同的處 理病作分割糖段處理,使處理器可麵—時㈣執行更多工 作。舉例來說,處理器通常將指令的操取和載入與指令的執行分 開處理’因此在執行某―指令的同時,處理器也可自記憶體中擷 取下個指令關執行。從每個時脈職可執行之指令數量的觀點 來看,使时驗構可增加處理器的效能。喊理ϋ的多個階段 常常需要依據現行處理器指令和指令的所在階段,對電腦的記憶 體進行資料讀寫的存取動作。 如第-圖的電腦系統所示,電腦系統通常使用—系統匯流排 (ystembus)108來作為系統中不同元件之間傳遞訊息的角色,例 如處理器⑽、記憶體•周邊裝置112及其他的树。各元件 6 1358022 通常與純匯赫⑽她接,錢過—酿齡面私與系統 匯流排m和其他元件溝通。上述可請求(r寧咐)對祕匯流排 〇8作存取的⑦件,亦可麟匯麵主㈣置&_她^ 〇當一 匯流排主控裝置要求對系統匯流排⑽作存取時,係由一系統匯 流排仲裁器(system bus arbiter)114決定何時允許該存取較為合 適。系統匯流排仲裁H 114係根據數細素來決定允許對系統匯 流排⑽做存取的合適時機’這些因素包含,但不限制於以下各 項:系統匯流排108目前是否正由其他的匯流排主控裝置所使用, 或該存取請求是否為高優先次序的請求。除了使用—系統匯流排 仲裁器114以外,習知技術中尚有其他系統與方法可用於仲裁電 腦系統100的系統匯流排108之存取。 第二圖介紹-習知技術之處理器管線’此實施例之處理器管線 馳心管線(C〇repipeline),其於操取指令以及執行與記憶體間 之交流時,需要與電齡統之輯體做溝通。上述與記憶體間之 交流包含躲記·㈣之雜或者寫人記髓,諸如此類。如 第二圖所顯示’處理器202可透過-快取記憶體或緩衝器來傳遞 請求以執行與記憶體2H)間之交流,再經由一匯流排界面單元 (bus interface unit)224將請求傳送至記憶體21〇。當系統匯流 排仲裁器214裁定可允許處理器202及其匯流排界面單元汹存 取系統匯流排208時’處理器202的匯流排界面單元奴即可透 1358022 過系統匯流排208與記憶體210作通訊。 第三圖係示意核心管線316較詳盡之實施例以及相關匯流排界 面單兀324之架構。當發生以下情況時,管線316的各階段需要 與圮憶體310溝通,例如指令快取記憶體318無法將適當的請求 指令傳送給擷取階段(fetch)328,或者資料快取記憶體32〇無法. 將所請求的記憶體資料傳送給記憶體存取階段(mem〇ry acceSS)334。於此實施例中,記憶體存取階段334可透過資料快 取記憶體320發送一請求以將資料寫入記憶體310。再者,核心管 線316的各個階段可透過單一個匯流排界面單元犯4來與系統匯 流排308以及記憶體31〇兩者溝通請求,匯流排界面單元324可 向系統匯流排仲裁器314請求對系統匯流排308作存取,並接續 傳遞該請求至記憶體310。 第一第一圖的電腦系統架構的缺點為,核心管線與記憶體或 其他系統崎#的周邊裝置之_所有傳輸交流皆必須透過爸一 固匸机排界面單元來執行。舉例而言,倘若在擷取階段,指令快 取記憶體縣包含所請求的指令,而f自記舰接收該指令時, 相較於私令δ己憶體已包含所請求之指令的狀況,擷取階段將會延 2長之4脈·。此紐長之延遲會延雜取管線階段執行該 的時間,且阻礙操取階段前進至下一個指令。此延遲同時還 8 1358022 會造成核心管線之下游(d〇wnstream)階段發生延宕。如果系統匯 流排之規格不允許處理器的匯流排介面單元同時處理一個以上之 傳輸時,核心管線中需要與記憶體或系統匯流排上的其他元件互 做父流之下游階段常會受到延遲。此點係為符合先進高性能匯流 排(AHB,Advanced High-performance Bus)規格或其他習知規格 之系統匯流排所具有的特徵。 先進高性能匯流排規格允許系統隨排主控裝置,如處理器與 記憶體等,對記憶體進行分散交易(spUt廿纖比咖)。換句 話4 ’分散以允許-匯流排界面單元獲得對纽匯流排的存取 權’並發送-請求至系統匯流排上,但是在交易完成之前,匯流 排界面料必須先交出細統匯流排的存取權。如此一來即可 2他的匯齡贿執行其他編賴排相關的操作, ^在上-請求仍在接受服務時起始其他交易。當上 可重新獲得對_流排的存取』 允許匯流排竭嫩軸=_:散=並不 於上述之電職統架針(㈣1 9 1358022 創造出理想魏行效能。細_繪了系_流排上源自於處理 器之匯流排介面單元與—記憶體之記憶體控制器的部份作號,其 中的記憶體㈣器_以掌㈣縫流排與其他匯流難控裝置 間的溝通4於系缝流排規格僅允許每—健流排界面^執 行—個分散交易,在特核喊線傳送下―個請切,記憶體可 ··能進入閒置⑽e)狀態。此閒置時間顯現出核心管線的缺乏效 •,率’如能將此缺點改善則必可使電腦系統的效能大為増加。因此, 籲上述缺點實為一待改善之課題。 【發明内容】 本發明係關於-種改善系統匯流排上之記憶體交易的系統與方 ,法,以提升電腦系統之效能,其中此記憶體交易係介於一處理器 -與—記憶體之間。根據上述之目的,本發明之-實施例提供一種 •資料發送與接收系統,此資料發送與接收系統包含一處理器與一 φ'記憶體;處理器又具有一第一處理器匯流排界面單元與一第二處 理器匯流排界面單元,兩者皆耦接至一系統匯流排;同樣地,吒 '憶體亦耦接至此系統匯流排。第一處理器匯流排界面單元與第二 處理器匯流排界面單元可對記憶體發送複數個請求,而記憔體在 服務第-處理H匯流排界面單元H請求之同時,亦可於此 第—請求尚未服務完畢前,開始服務第二處理器匯流排介面單元 的一第二請求。 10 丄J JOU厶么 二,:=:實施例中’處理器係為核心管線架構,並包含 _肖—細嫌。此處 =Li3崎排界*單元,其於指令操取階段自記憶體 =::及—第二匯流排界面單元,其於資料存取階段對記 憶體進行存取。 本發明之再-實施例提供—種可減少延遲之·發送與接收方 t ’以改° _流排通訊能力,此方法包含自+處理器匯 =界面單秘送-第—請求至系統_的第—請求,以及自 一第-處理器匯流排界面單元發送一第二請求至系統匯流排。 【實施方式】 处本發明揭露-種電職統’特暇—種可改善祕匯流排通訊 犯力的處理n系統。本發明之—實施例提供—種可減少延遲的資 料傳送與魏紐,該祕讀理器財與—系、紐流排输之 一第-處理器匯流排介面單元以及—第二處理器匯流排介面單 主該第處理益匯流排界面單元透過系統匯流排對記憶體發送 請求以支援齡的擷取,而第二處理赌簡界面單元對記憶體 與周邊裝置發騎求以支援㈣存取。衫允許任—匯流排主控 炎置執行超過-項分散交易樣_赌規格,例如紐高性能 匯、雜規格的電腦系統中,第—處理器匯流排界面單元與第二處 理器匯流排界面單元可允許處理器在—第—核心管線階段起始一 11 1358022 第一分散交易,並且無論此第一分散交易完成與否,仍可在—第 二核心管線階段起始一第二分散交易。 於習知技術中,若在擷取階段需要執行記憶體存取以完成指令 之榻取’相較於該指令已存在於處理器_令快取記憶體之内曰^ 情況’則細管線可能會發生延遲,使資料存取需要費更多個時 脈週期才能完成。此種延遲的潜在影響為核心f _下游階段, 例如資料存取階段,即會受阻而無法對記憶體或周邊灯發^ 求。其個為系統匯流排規格不允許單—匯流触控裝置執^ 重分散交易,若絲之她·已發送—财,則獨階段無法 再作請求。在此叙下,資料存取階段必須暫行等待,直卿取 階段對記髓所㈣請錄行完畢為止。上述飾可能造成核心 管線額外的延遲,且降低處理器的效能。 本發明之-實_可減少核心管線賴龍職統之性能所造 成的影響’其可允許處驾觀聽或魏树啊發送超過一 個請求至系統匯流排上。 =明的-她_略_了。㈣,除了本發明所揭 ΐίΓ狀外,本购還可以廣泛地在_實施例中施行, X月的犯圍不又限疋,凡其它未脫離本發明所揭示之精神下 12 而完成之等效改變或修飾 ’以之後的申請專利範圍為準。 第-圖為習知技術 處理器⑽、_ 1]n _1GG的架構。此電腦系統_的 裝置11? m / 、其他的匯流排主控裝置104、106、周邊 與系統中的仲裁器114皆輪至系統匯流排1〇8,以 ⑽係為位於系溝通。如所習知,匯流排主控裝置叫、 與其他位在1Q=之^,並_、_排_ 玎At 3 上之70件相互溝通。系統匯流排1⑽ 仲::=::::r高性能_。_· 讀裁哪個疋件可存取系顧流排108,亦判斷何 5亥疋件可對系統匯流排108作資料傳輪。 寺 .弟一圖為處理器搬之方塊圖。如習知所示,處理器2〇2係透 .過匯流排界面單元224與系統匯流排2〇8進行通訊。核心管線⑽ •可對魄體21G發送資料讀取或者f料寫人崎求。在一實施例 -1 _才曰令快取記憶體218、一資料快取記憶體220與-資料寫回 緩衝器222係用以服務核心管線216的某—階段之請求,、如有必 要’此請求可透過匯流排界面單元224中繼傳送到記憶體系統 210 °第三_示意處理器的核心管線316的方塊圖。當擷取階段 328對指令快取記憶體318請求一指令,指令快取記憶二318若包 含此指令的話,可直接傳送此指令至摘取階段咖;若否,則需透 13 i358〇22 . . — ; 過匯流排介面單元324與系統匯流排308對記憶體310發送一請 •求,以取得此指令並傳送至擷取階段328。同理,當記憶體存取階 段334對資料快取記憶體32〇請求資料時,若資料快取記憶體32〇 包含此負料,則可直接將資料傳送至記憶體存取階段犯4 ;若否, 則透過匯流排介面單元324與系統匯流排3〇8對記憶體則或周 ·—邊裝置312發送請求,以取得㈣料鱗送至魏體存取階段 -324。又,於一實施例中,當記憶體存取階段334請求寫入資料至 ♦記憶體310或周邊裝置312時,資料快取記憶體32〇將決定是將 -此請求直接透過匯流排介面單元324與系統匯流排咖傳送至其 .目的地’或者將此資料發布至寫回緩衝器322。如果此資料係發布 至寫回緩衝H 322,則此資料會被儲存於寫回緩衝$微直到較高 優,權之請求被服務為止;接著寫回緩衝器呦會藉由匯流排界 面單元324與系統匯流排3〇8將資料寫入記憶體⑽中。 9祕匯聽_係為符合可支援分散交易規格之祕匯流排。 •-如所習知與第四圖之時序圖所示,一匯流排主控裳置發送-請求 ^並透過系統匯流排與—匯流排介面單㈣送至—從屬裝置 d㈣e),從屬裝⑽此請求回應—分散控舰號,以示 2易為-分散交易,並使系統匯流排仲裁器允許其他匯流排 二裝置存取糸統匯流排。當該從屬裝置完成對崎求之服務, 且準備好對發出請求的I流排主控裝置傳送回應時,其送出一非 1358022 分散(unsplit)訊號,以通知系統匯流排仲裁器與發出請求的匯流 排主控裝置此交易已準備進人完成。此非分散訊號可透過邊帶通 道(sideband channel)傳送至系統匯流排仲裁器與發出請求的匯 流縣控裝置’然而,熟知此技藝者射理_非分散訊絲可 以其他方式傳送。 -…飾,如第四圖所示,處理器的單—匯流排介面單元所發送的 #兩個連續請求η與m可能造成記憶體閒置時間的產生,如圖中記 —憶體⑽狀態所示。如f知所示,當核心管線衫階段所需的資 :料須自記憶體時,自記憶麵取與寫人資料所需的時間會有 遭遇到瓶頸的時候,導致處理器的核心管線延遲。奴,若核心 官線各階段所需的資·來自於處理器的快取記龍時,則核心 管線可較快完成運作。 圖為本發Θ實知例之電腦系統5〇〇的方塊圖。於此實施 I處理盗5〇2、一§己憶體510、其他的匯流排主控裝置504、 與__裁器514 _至_流排508, 502 «Γ,、他70件相互溝通。記憶體51G _以儲存處理器 也允坪Γΐ、統5〇0其他的元件所需的資料以及指令。記憶體510 糊錢5㈣罐編對記憶體控 發如求的方式,將軸細人至咖51〇。眾所 15 1358022 •周知,記憶體控制器511可代表記憶體51〇接收請求並管理各於 .求對記憶體_的存取。處理器502包含-核心管線516,用以: 處理器502之中執行下列工作(但不限定):摘取指令、解妈指令 執行指令、讀寫記憶體。處理器502的核心管線516可與指曰^快 取記憶體518、資料快取記憶體52G及寫回緩衝n 522進行通U .指令快取記憶體518係保留作為將指令高速傳送至核心管線训 ·.之用的快取記憶體。如所習知,指令快取記憶體518可用以保留 籲最近所擷取的指令以機取,綱預測演算法以擷取及儲存常被 _請求的指令,或預測核心管線516即將會請求的指令。然而,指 - 令快取記憶體518通常不會將核心管線516可能請求的所有指令 - 加以儲存,因此若核心管線516所請求的指令不在指令快取記憶 '體518中’則指令快取記憶體518會透過第一匯流排界面單元526 • 向記憶體510請求該指令。 • 上述各元件還耦接至一邊帶通道509,用以溝通耦接至系統匯流 排508的各元件之間的各類訊號。例如,”分散,,或,’非分散” 訊號即可藉由邊帶通道509進行傳遞,以避免佔用系統匯流排 508。 資料快取記憶體520係保留作為資料於記憶體510至核心管線 516的高速傳遞之用。然而資料快取記憶體52〇通常不會將核心管 16 1358022 線516所請求的資料全部储存起來。若核心管線516所請求的資 料不匕s在資料决取s己憶體52〇中,則資料快取記憶體會透 過第二匯流排界面單元538向記憶體系統_請求諸。 資料快取記憶體520也可用以保留核心管線516所產生之對記 憶體51G寫人資料的請求,並在適當的時機發送至寫回緩衝器 奶。寫回緩衝器522可使用任何習知的方法或演算法以有效地緩 衝核心管線則的請求,並透過一第二匯流排介面單元娜發送 該請求以將資料寫人記憶體51G。g回緩衝器您還可與資料快取 記憶體520進行通訊,.其亦可透過第二匯流排界面單元哪傳送 核心管線516之請求以將資料寫人記憶體训中。 系統匯流排仲哉器514係用以仲裁對系統匯流排508之存取, 並判斷何時為某-系紐流排主控裝置可讀寫#料至系統匯流排 508的適當時機。如所習知,若系統匯流排_係為不允許單一匯 流排主控裝置執行超過-個分散交易之規格時,例如先進高性能 匯流排,自記憶體51〇齡與寫入資料會導致核心、管線训的管 線延遲,進㈣㈣賊騎低。根據本發騎财之實施例, 處理器502可藉由第一匯流排界面單元咖與第二匯流排界面單 元538之使用’達到使系統匯流排5〇8以及系統匯流排仲裁哭則 猶如面對多個匯流排主控裝置的效果。因此,本發明之處理^2 1358022 可同,始-個以上的分散交易,以減少管線延遲的影響,降低 β己隱體閒置咖並提升電腦祕的效能。 第六圖係本發明另—實施例之電腦系統與核心管線細部之方塊 圖。此電腦系統_包含-處鍋G2與擷取f線階段628、解碼 官着段咖、執行管線階段632、資料存取管線階段咖以及寫 回管線階段636。操取管線階段628係輕接至指令快取記憶體 618 ’指令快取記鋪618係用以保留操取階段咖戶斤請求_ -令,使指令可高速傳送至核心管線616。如習知所示,指令快取記 :憶=⑽可保«近賴取的齡、制酬演算法喃取及儲 存常使用的請求指令、或預測擷取階段628即將使用的指令。然 而指令快取記髓⑽並不會儲存如管線61 .指令。鎌· 628聯懈峨鍋== ⑽中,則指令快取記憶體⑽將會透過第一匯流排界面單元咖 自記憶體610請求指令。再者’上述的各個元件還可與邊帶通道 609相麵接’以於系統匯流排6〇8所連接的各元件之間溝通訊號。 例如’-,,分散,,或一”非分散,,訊號可由邊帶通道_進行傳 遞,而不需由系統匯流排608來傳遞此訊號。 資料存取階段634係輕接至資料快取記憶體62〇,其係用以保留 資料存輔段634所請求的快取記憶體資料。資料快取記憶體咖 18 1358022 呆留此、體610的快取貝料,以利高速傳送至資料存取階段咖。 資料快取記憶體62〇還與第二匯流排界面單元咖她接,第二 f流排界面單元⑽又射統匯流排__。第二匯流排界面 單二638代表貝料快取记憶體62()與雛至系統匯流排_的電 腦系統το件如了通訊。細資料快取記紐⑽通常並不會將資 料存取階段634可能會請求的所有資料儲存起來。若資料存取階 段634所請求的資料不在資料快取記憶體_中,則資料快取記 憶體⑽會透過第二匯流排界面單_ _體_或周邊裝 置612請求資料。 若核心管線616請求覆寫記憶體⑽中的資料,且該筆資料亦 同時存在於資料快取記憶體咖中,則資料快取記憶體咖會將 該筆資料連較新。這個動作可叫少在僅_崎線616發送 一請求以更新記憶體61〇之眘祖— 之貝枓的情況下,資料快取記憶體62〇 需重新請求已自記憶體6G中快取而得之資料的需要。 資料快取記憶體620也_至寫崎衝謂。寫回缓 用以保留麵取階段634請求寫人記憶細之資料触 緩衝之用。寫回緩衝器622亦輕接至第二匯流排界面單元638,如 上所述,第二匯流排界面單元638進而耗接至系統匯流 回緩衝謂可保留觸練記健爾產生㈣人記憶體^ 19 1358022 μ求L些請求在適#的時㈣二匯流排界面單元咖 與糸統匯流排_傳送至記憶劃。寫回緩衝器622可使用任何 習知方法核算絲料缓衝麟求簡人記祕_的效 能0 第七圖為本發明另—實施例的方塊圖。此電腦系統包含一 處理器观、—記憶體710、其他的匯流排主控裝置704、周邊裝 置Π2與系統匯流排仲裁器714’上述各元件皆输至系統匯流排 708以利於彼此間的通訊。記憶體71〇儲存處理器观與電腦系統 700其他的元件所需的資料以及指令,且容許處理器观以及電腦 系統7GG其他的元件將資料赫或寫入其中。處理器观包含一 核心管線716 ’以於處理器7()2之中執行下列各項工作(但不揭 限广擷取指令、解碼指令、執行指令、讀寫記題。如第七圖中 所示,核岭線716包含鎌階段728、解碼階段73G、執行階段 732、資料存取階段734以及寫回階段⑽。處理器7〇2的各個核 心管線階段可與指令快取記憶體7Ϊ8、資料快取記憶體單元72〇 以及寫回緩衝器722進行通訊。 擷取階段728耦接至指令快取記憶體718,而指令快取記憶體 718係用以保留指令之快取,以利高速傳送至擷取階段728。如習 知所示,指令快取記鐘718可保留最近_取的齡、應用預 20 1358022 g 、她及儲騎使用崎雜令、或酬娜階段728 P 7使用到的“令。然而指令快取記憶體718並不會儲存核心管 =716可能請求的所有指令。若操取階段⑽所請求的指令並不 在“ W夬取心醜718之中,則指令快取記憶體训將會透 ;過第一匯流排界面單元挪自記憶體系統训請求指令。 '^料存取认734係輕接至一用以保存其所請求的資料之快取 _的貝料f夬取战體720。貧料快取記憶體72()係用以保留記憶體 中資料的錄’以利高速傳送至核心管線71卜#料快取記憶 .體72(M系輕接至第二匯流排界面單元738,後者又與系統匯流排 708揭接。第一匯流排界面單元738代表資料快取記憶體7如與電 腦系統中位於系統匯流排708之上的元件進行通訊。然而資料快 取記憶體720並不會將資料存取階段734可能會請求的所有資料 儲存起來。若資料存取階段734所請求的資料不在資料快取記憶 .籲體720中’則資料快取記憶體72〇會透過第二匯流排界面單元挪 自記憶體710或周邊裝置712請求資料 資料快取記憶體720亦耦接至寫回緩衝器722,後者係用以保留 資料存取階段734請求寫入記憶體710之資料的快取或緩衝之 用。寫回緩衝器722亦輕接至第三匯流排界面單元740,第二匯流 排界面單元740進而耦接至系統匯流排708。第三匯流排界面單元 1358022 740代表寫回緩衝請與電腦系統.中输至系統匯流賴 的元件進行通訊。寫回緩衝謂可保留資料存取階段辦所產 生的寫入請求,獅_t㈣物㈣流排界面 單元_送至記憶體710。寫回緩衝器您可使用任何習知方法 或演算法來提昇緩衝與傳送請求以以記憶體別的效能。
系統匯流排仲裁器714仲裁系統匯流排上的存取,並觸 何時為系統匯流排主控裝置7G4讀寫資料至系統匯流排的適 當時機。如上所述,若系縫流排·之規格,例如先進高效能 匯流排,係不允許系統匯流排上的每—個系統匯流排主控裝 置704執行超過-個的分散交易時,触或寫入資料至記憶魏 可能導致核心管線716之管線延遲,麵造成系統效鱗低。综
上所述,本發明之處理H观可藉由第一匯流排界面單元挪、第 二匯流排界面單元738、第三匯流排界面單元有效地產生系統 匯流排708連接超過一個以上之系統匯流排主控裝置⑽之效 果。此外’本發明所揭露的處理器搬可營造系統匯流排係 連接3⑽統S流敎控裝置的絲,使其可起歸少3個分散 交易,進而減少管線延遲的影響、降低記憶體閒置時間並提升電 腦系統之魏。再者,上述树更可祕至—邊帶通道彻,以與 系統匯流排708上之其他元件交流各種控制訊號^列如,一,,分 散”或-”非分散,’訊號可藉由邊帶通道進行傳遞,以避免 22 1358022 佔用系統匯流排708 第八圖為-纽匯麵上各辑獅 處理器、記紐、系紐$排 I。〜70件包含 / 裁與雜通訊通道,於此圖可 于。本發明之綠效能與效率的提昇。請—併所_ 兩個連續記憶體請求Γ^ω,_ ^圖所不的
Tn. ' c 、 ,、第八圖冗憶體内部狀態(Memory 故贿1如㈣的部份,由圖式可知記憶體的閒置時間減少了, 可付到更有效率的·。來自處理器的系統匯流排 匯流排上嫩W物軸。來自記憶= 統匯流排回應_遍res_e)顯示處理器如何處理對= 體的多個分散交易。 心 乂記憶體内部狀關示意了記憶體如何在—指令請求尚未完成之 前’開始執行另_細化記憶體可於其存取—指令請求仏所 請求之指令後,隨即開始存取另一資料請求m所請求之資料。後 項之資料的存取係發生於前項之指令開始被請求純令的匯流排 界^單元讀取之時。隨後,當所存取的資料被請求該資料的系統 匯流排界面單元讀取時,記題即可祕下—谢旨令請求。上述 處理器記憶體請求間的處理重疊(overlappingh促進系統效能 的提升並減少記憶體閒置時間。 23 1358022 【圖式簡單說明】 第一圖係習知電腦系統的方塊圖。 第二圖係習知處理器之方塊圖。 第二圖係習知處理器之核心管線的方塊圖。 第四圖顯示一習知電腦系統之各元件運作的時序圖。 第五圖係本發明一實施例之電腦系統的方塊圖。 第六圖係本發明另一實施例之電腦系統與核心管線細部之方塊 圖。
第七圖係本發明另一實施例之電腦系統的方塊圖 運作的時序 第八圖為本發明一實施例之系統匯流排上各元件 圖。 24 1358022 【主要元件符號說明】 100電腦系統 102處理器 104匯流排主控裝置 106匯流排主控裝置 108系統匯流排 110記憶體 φ 112周邊裝置 114系統匯流排仲裁器 202處理器 '204匯流排主控裝置 208系統匯流排 • 210記憶體. 212周邊裝置 φ' 214系統匯流排仲裁器 ' 216核心管線 -218指令快取記憶體 220資料快取記憶體 222寫回緩衝器 224匯流排界面單元 302處理器 304匯流排主控裝置 25 1358022 308系統匯流排 . 310記憶體 312周邊裝置 314系統匯流排仲裁器 316核心管線 318指令快取記憶體 320資料快取記憶體 φ 322寫回緩衝器 _ 324匯流排界面單元 _ 328擷取階段 330解碼階段 332執行階段 334記憶體存取階段 336寫回存取階段 • 502處理器 • 504匯流排主控裝置 508系統匯流排 509邊帶通道 510記憶體 511記憶體控制器 512周邊裝置 1358022 514系統匯流排仲裁器 516核心管線 518指令快取記憶體 ’520資料快取記憶體 522寫回缓衝器 ‘ . 526匯流排界面單元 538匯流排界面單元 • 602處理器 .604匯流排主控裝置 .608系統匯流排 609邊帶通道 610記憶體 '611記憶體控制器 612周邊裝置 .· 614系統匯流排仲裁器 616核心管線 618指令快取記憶體 620資料快取記憶體 622寫回緩衝器 626匯流排界面單元 628擷取階段 1358022 - 630解碼階段 632執行階段 634資料存取階段 636寫回階段 638匯流排界面單元 702處理器 - 704匯流排主控裝置 • 708系統匯流排 .709邊帶通道 _ 710記憶體 711記憶體控制器 —712周邊裝置 \ 714系統匯流排仲裁器 716核心管線 .· 718指令快取記憶體 720資料快取記憶體 —722寫回緩衝器 726匯流排界面單元 728擷取階段 730解碼階段 732執行階段 28 1358022 734資料存取階段 .736寫回階段 738匯流排界面單元 740匯流排界面單元
Claims (1)
- 十、申請專利範圍: γ年峨 延遲的資料發送與接m,包含厂 面單元盘二具:耦接至—系統匯流排的-第-處理器匯流排界 排界面單元趣接至㈣神 第—處理器匯流 …職接至_理器的—核心管線的-指令掏取階段, 且雜二處理器匯流排界面單元係祕至該處理 的一資料存㈣段; 5 一糸統匯流排仲裁器,輕接至該系統匯流排,用以仲裁該系統 匯流排的存取; 1憶體’輕接至該系統匯流排;以及 …-邊帶通道,用以傳送控制訊號至該處理器與該系統匯流排仲 裁器其中5亥控制訊號於下列至少-種狀況發生時,會通告該處 理器與該系統匯流排仲裁器:自該系統匯流排讀取資料以及自該 糸統匯流排寫入資料; 其中該第—處理11随排界面單元與該第二處理ϋ匯流排界 面單元制以發送請求至—記憶體控㈣,該記憶體控制器係用 以控制該記憶體之存取,並可服務來自該第-處理器匯流排界面 單7°的—第—請求與來自該第二處理H匯流排界面單元的一第二 睛求’並在該第一請求服務完成前即可開始服務該第二請求。 2.如申請專概1項所述之諸發送與接㈣統,其中該第 處理器匯排界面單元於該核心管線的該指令榻取階段時,發 30 1358022 迗請求至該記憶體以擷取指令β 1 二 3.如申#專利㈣第丨項所述之資料發送與接收祕,其中該第 -處理HU卜界面單元於軸^管線的該資料存取階段時,發 送請求至該記憶體以讀取或寫入資料。 4·如申#專她圍第3項所述之資料發送與接收祕,其中該第 -處理器匯〃,排單元射發送請求至墟於該祕匯流排的一周 邊裝置’以項取或寫入資料。 5. 如申明專利祀圍第丨項所述之資料發送與接收祕,其中該系 統匯流排符合先進高性能匯流排規格。 6. 如申睛專他圍第丨項所述之資料發送與接收系統,其中該記 憶體控制n於接收到該第—請求與該第二請求時,分別發送〜分 散控制訊號朗應,並於執行完畢該第—請求與該第二請求時= 分別發送一非分散控制訊號》 7. 如申請專利範圍第丨項所述之資料發送與接㈣統,更包含. -第二處理器匯流排界面單元,耗接至該系統匯流排; 其中該記憶體控制器於該第一請求與該第二請求完成執行前,可 “S? 服務遠第三處理_流排界面單元的—第三請求。ή: —如申π專利域第7項所述之資料發送與接收系統,其中該第 -處理α ®流排界面單元發送請求以將資料寫人該記憶體。 t用於處理器與一系統匯流排間以減少延遲的資料發送 與接收方法,包含: 、 透過一第一處理器匯流排界面單元發送一第一請求至該系統 匯流排;以及 透過一第二處理器匯流排界面單元發送一第二請求至該系統 匯流排; 其中6亥第一請求與該第二請求係分別來自該處理器的一核心管線 的不同官線階段,該第一處理器匯流排界面單元於一指令擷取階 •k至一記憶體擷取指令,該第二處理器匯流排界面單元於一資料 存取階段存取資料至該記憶體,且可於該第一請求未服務完成之 前發送該第二請求。 10·如申請專利範圍第9項所示之資料發送與接收方法,其中該第 一處理器匯流排界面單元與該第二處理器匯流排界面單元可透過 下列項目之組合耗接至該管線階段:一指令快取記憶體,一資料 快取記憶體與一寫回緩衝器。 32 1358022 βτ〇^(( ((ά 1/ * ·· «λ ’ 更包含: Π·㈣物麵第9項所示之#料發送與接收方法,f 於該第-請求處理完成之前触處理該第二請求。 12. ,申請專圍第9項所示之資料發送與接收方法,其令該第 凊求與該第二請求錢過⑽、龜流排傳送至—記憶體,以存 取該記憶體 .如申請專利翻第12項所示之資料發送與接收方法其中該 記憶體接收_第-請求與該第二請求時,分別發送—分散控: 訊號作為回應,並於該第一請求與該第二請求之存取執行完畢 時’分別發送一非分散訊號作為回應。 14如申請專利範圍第9項所示之資料發送與接收方法,更包含: 透過-第三處理器隨排界面單元發送―第三請求至該系統 匯流排;以及 '' 於該第二請求處理完成前開始處理該第三請求。 15.如申請專利範圍第14項所示之資料發送與接收方法,其中該 第-明求、⑦第二請求與該第三請求透過該系縫流排傳送至一 記憶體.,以執行下列項目之組合:寫人f料至該記憶體,自該記 33 1358022 .. ' I• 憶體讀取資料’自該記憶體擷取指令。 16_ —種可減少延遲的電腦系統,包含: 一處理器’具有包含至少一指令擷取階段與一資料存取階段的 一核心管線; 一第一匯流排界面單元,耦接至一系統匯流排,於該指令擷取 階段至一記憶體擷取指令;以及 第一匯流排界面單元,耦接至該系統匯流排,於該資料存取 階段存取資料至該記憶體; 其中4第―匯流排界面單元可於該第_匯流排界面單元尚未 完成指令擷取之前’存取㈣記倾。 17.如申明專利域第16項所述之電腦系統,更包含: -第三匯流排界面單元,_至⑽顧流排,於該資料存取 階段存取該記憶體; 崎二〜/'[机排界面單兀係於該資料存取階段自該記憶體 二取:料广第:匯流排界面單元係__存取階段寫入資 料至該記憶體。 18.如申请專利範圍第17項 n^M.9r 、枝之電細系、尤’其中該第-匯流排 界面早兀、该第二匯流排界 田早兀興料二匯流排界面單透 34 1358022 、. • ,. 該系統匯流排與該記憶體通訊。 19. 如申請專利範圍第16項所述之電腦系統,更包含: 一指令快取記憶體,耦接至該指令擷取階段,用以保留欲傳送 至該指令擷取階段的指令之快取,並代表該指令擷取階段透過該 第一匯流排界面單元以及該系統匯流排自該記憶體請求指令。 20. 如申凊專利範圍第16項所述之電腦系統,更包含: 一貧料快取記憶體,耦接至該資料存取階段,用以保留欲傳送 至該資料存取階㈣資料之絲,域表㈣料存取階段透過該 第二匯流排界面單元與該祕匯流排自該記紐請求資料。 21. 如申請專利範g第2G項所述m统,更包含: 寫回緩衝H,雛至與該資料絲記,隨,用喊表該資料 存精段緩賊人資料至該記憶體的請求,並透過下列組合其中 至少一者傳送寫人資料至該記憶體的請求:該第二匯流排界面單 元與該系統匯流排,以及該第三匯流排界面單元與該系統匯流排。 35
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/462,490 US20080034146A1 (en) | 2006-08-04 | 2006-08-04 | Systems and Methods for Transactions Between Processor and Memory |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200809511A TW200809511A (en) | 2008-02-16 |
TWI358022B true TWI358022B (en) | 2012-02-11 |
Family
ID=38709593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW096108167A TWI358022B (en) | 2006-08-04 | 2007-03-09 | Systems and methods for transactions between proce |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080034146A1 (zh) |
CN (1) | CN100549992C (zh) |
TW (1) | TWI358022B (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341635B2 (en) | 2008-02-01 | 2012-12-25 | International Business Machines Corporation | Hardware wake-and-go mechanism with look-ahead polling |
US8127080B2 (en) | 2008-02-01 | 2012-02-28 | International Business Machines Corporation | Wake-and-go mechanism with system address bus transaction master |
US8516484B2 (en) | 2008-02-01 | 2013-08-20 | International Business Machines Corporation | Wake-and-go mechanism for a data processing system |
US8788795B2 (en) * | 2008-02-01 | 2014-07-22 | International Business Machines Corporation | Programming idiom accelerator to examine pre-fetched instruction streams for multiple processors |
US8880853B2 (en) | 2008-02-01 | 2014-11-04 | International Business Machines Corporation | CAM-based wake-and-go snooping engine for waking a thread put to sleep for spinning on a target address lock |
US8732683B2 (en) | 2008-02-01 | 2014-05-20 | International Business Machines Corporation | Compiler providing idiom to idiom accelerator |
US8725992B2 (en) | 2008-02-01 | 2014-05-13 | International Business Machines Corporation | Programming language exposing idiom calls to a programming idiom accelerator |
US8640141B2 (en) | 2008-02-01 | 2014-01-28 | International Business Machines Corporation | Wake-and-go mechanism with hardware private array |
US8145849B2 (en) * | 2008-02-01 | 2012-03-27 | International Business Machines Corporation | Wake-and-go mechanism with system bus response |
US8312458B2 (en) | 2008-02-01 | 2012-11-13 | International Business Machines Corporation | Central repository for wake-and-go mechanism |
US8612977B2 (en) * | 2008-02-01 | 2013-12-17 | International Business Machines Corporation | Wake-and-go mechanism with software save of thread state |
US8386822B2 (en) * | 2008-02-01 | 2013-02-26 | International Business Machines Corporation | Wake-and-go mechanism with data monitoring |
US8250396B2 (en) * | 2008-02-01 | 2012-08-21 | International Business Machines Corporation | Hardware wake-and-go mechanism for a data processing system |
US8015379B2 (en) * | 2008-02-01 | 2011-09-06 | International Business Machines Corporation | Wake-and-go mechanism with exclusive system bus response |
US8225120B2 (en) | 2008-02-01 | 2012-07-17 | International Business Machines Corporation | Wake-and-go mechanism with data exclusivity |
US8171476B2 (en) | 2008-02-01 | 2012-05-01 | International Business Machines Corporation | Wake-and-go mechanism with prioritization of threads |
US8316218B2 (en) * | 2008-02-01 | 2012-11-20 | International Business Machines Corporation | Look-ahead wake-and-go engine with speculative execution |
US8452947B2 (en) * | 2008-02-01 | 2013-05-28 | International Business Machines Corporation | Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms |
US8145805B2 (en) * | 2008-06-09 | 2012-03-27 | Emulex Design & Manufacturing Corporation | Method for re-sequencing commands and data between a master and target devices utilizing parallel processing |
US8230201B2 (en) * | 2009-04-16 | 2012-07-24 | International Business Machines Corporation | Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system |
US8082315B2 (en) * | 2009-04-16 | 2011-12-20 | International Business Machines Corporation | Programming idiom accelerator for remote update |
US8145723B2 (en) * | 2009-04-16 | 2012-03-27 | International Business Machines Corporation | Complex remote update programming idiom accelerator |
US8886919B2 (en) | 2009-04-16 | 2014-11-11 | International Business Machines Corporation | Remote update programming idiom accelerator with allocated processor resources |
CN101727314B (zh) * | 2009-11-24 | 2013-04-24 | 华为数字技术(成都)有限公司 | 一种数据处理方法以及处理器 |
CN102156684A (zh) * | 2010-12-15 | 2011-08-17 | 成都市华为赛门铁克科技有限公司 | 接口延时保护方法、协处理器及数据处理系统 |
US9405688B2 (en) | 2013-03-05 | 2016-08-02 | Intel Corporation | Method, apparatus, system for handling address conflicts in a distributed memory fabric architecture |
CN114328311A (zh) * | 2021-12-15 | 2022-04-12 | 珠海一微半导体股份有限公司 | 一种存储控制器架构、数据处理电路及数据处理方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5550988A (en) * | 1994-03-01 | 1996-08-27 | Intel Corporation | Apparatus and method for performing error correction in a multi-processor system |
JP2001043180A (ja) * | 1999-08-03 | 2001-02-16 | Mitsubishi Electric Corp | マイクロプロセッサおよびそのための記憶装置 |
US6832280B2 (en) * | 2001-08-10 | 2004-12-14 | Freescale Semiconductor, Inc. | Data processing system having an adaptive priority controller |
US7007108B2 (en) * | 2003-04-30 | 2006-02-28 | Lsi Logic Corporation | System method for use of hardware semaphores for resource release notification wherein messages comprises read-modify-write operation and address |
US7130943B2 (en) * | 2004-09-30 | 2006-10-31 | Freescale Semiconductor, Inc. | Data processing system with bus access retraction |
-
2006
- 2006-08-04 US US11/462,490 patent/US20080034146A1/en not_active Abandoned
-
2007
- 2007-03-09 TW TW096108167A patent/TWI358022B/zh active
- 2007-03-20 CN CNB2007100881983A patent/CN100549992C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20080034146A1 (en) | 2008-02-07 |
TW200809511A (en) | 2008-02-16 |
CN100549992C (zh) | 2009-10-14 |
CN101021820A (zh) | 2007-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI358022B (en) | Systems and methods for transactions between proce | |
TW201137628A (en) | Memory having internal processors and methods of controlling memory access | |
TW468108B (en) | Method and apparatus for arbitration in a unified memory architecture | |
US6212590B1 (en) | Computer system having integrated bus bridge design with delayed transaction arbitration mechanism employed within laptop computer docked to expansion base | |
TWI312937B (en) | Wait aware memory arbiter | |
US6199131B1 (en) | Computer system employing optimized delayed transaction arbitration technique | |
TW201102829A (en) | Hardware assisted inter-processor communication | |
TWI295781B (en) | Low power system and method for a data processing system | |
EP2625618B1 (en) | Memory controllers, systems, and methods for applying page management policies based on stream transaction information | |
JP2001209549A (ja) | 文脈切換えを実施する装置とその方法 | |
TW200821908A (en) | Adaptive storage system including hard disk drive with flash interface | |
TW200818193A (en) | Memory interface with independent arbitration of precharge, activate, and read/write | |
US20080005484A1 (en) | Cache coherency controller management | |
JP5578713B2 (ja) | 情報処理装置 | |
JP2532191B2 (ja) | 複式バス・ア―キテクチャを有する計算システムに使用するデ―タ伝送の管理方法 | |
TWI281609B (en) | Apparatus, method, and system for reducing latency of memory devices | |
TW200843507A (en) | Video processing method and system | |
TWI275992B (en) | A method to reduce memory latencies by performing two levels of speculation | |
TW201423403A (zh) | 共用資源的存取請求之有效率處理 | |
JPH11328106A (ja) | グラフィックス・バスにアクセスするために多重のバス・マスタを可能とするアービトレーション機構を備えたコンピュータ・システム | |
US9342472B2 (en) | PRD (physical region descriptor) pre-fetch methods for DMA (direct memory access) units | |
JP2002163228A (ja) | 多重コアdsp装置のための外部バス裁定技術 | |
US9652560B1 (en) | Non-blocking memory management unit | |
TWI308719B (en) | Cache controllers, buffers and cache systems with a filling cacheline for accessing data to cache memory | |
EP0924621A2 (en) | Computer system including bridge logic having a fair arbitration mechanism to support isochronous devices |