TWI358022B - Systems and methods for transactions between proce - Google Patents

Systems and methods for transactions between proce Download PDF

Info

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
Application number
TW096108167A
Other languages
English (en)
Other versions
TW200809511A (en
Inventor
L Duncan Richard
William V Miller
Original Assignee
Via Tech Inc
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
Application filed by Via Tech Inc filed Critical Via Tech Inc
Publication of TW200809511A publication Critical patent/TW200809511A/zh
Application granted granted Critical
Publication of TWI358022B publication Critical patent/TWI358022B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling 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)

  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
TW096108167A 2006-08-04 2007-03-09 Systems and methods for transactions between proce TWI358022B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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