e300處理器內(nèi)核概述-mpc83中文手冊_第1頁
e300處理器內(nèi)核概述-mpc83中文手冊_第2頁
e300處理器內(nèi)核概述-mpc83中文手冊_第3頁
e300處理器內(nèi)核概述-mpc83中文手冊_第4頁
e300處理器內(nèi)核概述-mpc83中文手冊_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

笫七章e300處理器核概述

本章概述由原始MPC603ePowerPC微處理器設計派生出的嵌入式e300處理器核的特性。

c300核是PowerPC微處理器系列的一個實現(xiàn)。在整個文檔中,交替使用術語%3()()核‘、'核'

和‘處理器’。在描述實現(xiàn)特定(implementation-specific)的特性時使用術語e300cl,而在描

述屬于該處理器系列的特性時使用術語e3000MPC8349E使用e300cl核。

7.1概述

本節(jié)介紹e300核的具體信息,供給顯示其主要藝能單元的構造圖(見400PowerPC

核參考手冊的字節(jié)序模式和字節(jié)挨次一章),并簡要介紹這些單元是如何交互的。說明e300

核與源自MPC603e處理器的從前PowerPC實現(xiàn)的全部不同之處。更多信息請參見e300

PowerPC核參考手冊。

e3()0核是該精簡指令集計算(RISC)微處理器系到中的一個低功耗實現(xiàn)。該核實現(xiàn)了

PowerPC系統(tǒng)構造的32位局部,該局部定義了32位有效地址,8、16和32位整型數(shù)據(jù)類

型,以及32和64位浮點數(shù)據(jù)類型。

e300核是一個超標量處理器,它每個時鐘可以發(fā)出和撤回多達3條指令。指令可以不

按程序挨次執(zhí)行,以提高性能,但該核使指令的執(zhí)行看起來象挨次執(zhí)行一樣。

e300cl核集成了5個執(zhí)行單元:整數(shù)單元(IUintegerunit)、浮點數(shù)單元(FPU

floating-pointunit)>轉移處理單元(BPUbranchprocessingunit)>取/存單元XSUload/store

unit)和系統(tǒng)存放器單元(SRUsystemregisterunit),并行執(zhí)行5條指令的力量和具有快速

執(zhí)行時間的簡潔指令的使用使基于e300核的系統(tǒng)具有很高的效率和吞吐率。絕大多數(shù)整型

指令在?個時鐘周期內(nèi)執(zhí)行完成。在e300cl核上,F(xiàn)PU是流水處理的,這樣每個時鐘周期

可以發(fā)出并完成一條單精度乘法一加法指令。e300cl核為全部單精度和雙精度浮點運算中

的絕大多數(shù)值的表示和全部的舍入模式供給硬件支持。圖7-1表示了e300cl核的構造圖。

、64位(的條指令)

圖7-1e300核的構造圖

e300cl核為指令和數(shù)據(jù)供給獨立的片上32K字節(jié)、8路、組相聯(lián)(set-associative)、物

理尋址的高速緩存,以及片上指令和數(shù)據(jù)存貯器治理單元(MMUmemorymanagementunit)。

MMU包括具有64個表項、雙路、組相聯(lián)(set-associative).數(shù)據(jù)和指令變換后援緩存(DTLB

和ITLB),為按需分頁(dcmand-d),虛擬存貯器、地址變換和變長塊變換供給支持。

e300核還支持塊地址變換(BATblockaddresstranslation),它使用兩個獨立的指令和

數(shù)據(jù)塊地址變換(IBAT和DBAT)陣列,每個陣列包括8對BAT,比G2核中的每種BAT

類型的4對有所增加,這種增加在保護訪問和為存貯器訪問和I/O訪問供給基于段、塊和頁的

變換等方面供給了更大的敏捷性。在塊變換期間,將有效地址與BAT陣列中的全部8個

表項同時進展比較。依據(jù)PowerPC系統(tǒng)構造,假設有效地址在TLB和BAT陣列中都命中,

BAT變換取得優(yōu)先。

作為統(tǒng)一系統(tǒng)總線(CSB)的一局部,e300核有一條可選的32位或64位的數(shù)據(jù)總線

和一條32位的地址總線,核接口協(xié)議允很多個主:設備通過一個中心外部仲裁器競爭系統(tǒng)資

源。在正常操作期間,e300核供給一個三態(tài)(已修改、互斥和無效)全都性協(xié)議(coherency

protocol),該協(xié)議是四態(tài)(已修改/互斥/共享/無效)MESI協(xié)議的一個子集。但是,e31)0數(shù)

據(jù)cache包含?個可編程的MESI擴展,它支持共享cache全都性(cachecoherency)狀態(tài)

(與其他PowerPC處理器相像兩種協(xié)議同時在包含四態(tài)而速緩存的系統(tǒng)中全都的運行。

盡管e300核支持MESI,但在MPC8349E上并未實現(xiàn)。e300核還支持存貯器訪問的堂拍和

突發(fā)數(shù)據(jù)傳輸,支持內(nèi)存映射的I/O操作。

真小端格式模式是e300核的另?個增加功能。與PowerPC的高小端格式模式(只處理

地址位)不同(e300上不再支持此模式),真小端格式模式實際處理來自存貯器的真小端格

式模式指令和數(shù)據(jù)。

緊急中斷是e30()核中的一個增中斷,它具有比系統(tǒng)治理中斷更高的優(yōu)先級。e300還改

進了調試特性。更多的具體信息參見738“調試特性”。增的SPRG中斷處理存放器為操作

系統(tǒng)供給了更好的敏捷性c

7.1.1特性

本節(jié)介紹e30()核的主要特性:

?高性能、超標量微處理器核

■每個時鐘發(fā)出和撤回多達3條指令(兩條指令加上一條轉移指令)

■每個時鐘多達5條指令在執(zhí)行

?絕大多數(shù)指令單周期執(zhí)行完成

■流水化浮點單元(FPU),支持全部的單精度和雙精度運算

?5個獨立的執(zhí)行單元和2個存放器陣列

■以靜態(tài)轉移推測為特色的轉移處理單元(BPU)

■e3(M)cl中的一個32位整型單元

■完全符合IEEE754的FPU,用于單雙精度運算

■取/存單元,用于數(shù)據(jù)高速緩存與通用存放器(GPR)和浮點存放器之間數(shù)據(jù)傳輸

■執(zhí)行狀態(tài)存放器(CR)、特別目的存放器(SPR)和整數(shù)加/比較指令的系統(tǒng)存放器

單元(SRU)o力11/比較指令也可以在IU中執(zhí)行。

■32個32位GPR.用于整型操作數(shù)

■32個64位FPR,用于單雙精度操作數(shù)

?極高的指令和數(shù)據(jù)吞吐率

■零周期轉移處理力量(轉移合并)

■對未解決的條件轉移的可編程靜態(tài)轉移推測

?取指單元每個周期可以從指令高速緩存讀取兩條指令

■6個表項的指令隊列(IQ)供給前瞻力量

■具有饋送轉發(fā)功能的獨立流水線削減了硬件中的數(shù)據(jù)相關

■帶優(yōu)先級的32K字節(jié)的數(shù)據(jù)cache和32K字節(jié)的指令cache——8路、組相聯(lián)、物

理尋址、PLRU替換算法。

■按頁或塊的可編程cache寫回和寫直達操作

■用于指令和數(shù)據(jù),ache加鎖和保護的擴展特性

■執(zhí)行CR前瞻操作的BPU

■4K字節(jié)頁面大小、可變長塊大小和256M字節(jié)段大小的地址變換設施

■64表項、雙路、組相聯(lián)的ITLB和DTLB

■8表項的數(shù)據(jù)和指令BAT陣列,供給128K字節(jié)到256M字節(jié)的塊

■快速陷阱機制支持的軟件表搜尋操作和更

■52位虛地址;32位實地址

?提高系統(tǒng)性能的設施

■一個到全都系統(tǒng)總線(CSB)的32或64位的事務拆分內(nèi)部數(shù)據(jù)總線接口,支持突

發(fā)傳輸

■支持CSB接口的一級地址流水

■真高位在前字節(jié)序模式(小端),與其他高位在前字節(jié)序(小端)設備兼容

■增加了緊急中斷

■硬件支持未對齊的高位在前字節(jié)序(小端)訪問

■可配置處理器總線倍頻器,與MPC8349E集成處理器硬件標準全都

?集成的電源治理

■內(nèi)部處理器/總線時鐘倍頻器比率

■三種省電模式:doze,nap,和sleep

■內(nèi)部功能單元空閑時的自動動態(tài)功率削減

■利用JTAG邊界掃描力量的系統(tǒng)內(nèi)(in-system)可測性和調試特性

e3(X)特有而G2處理器沒有的特性如下:

?增加的存放器集

■c300核比G2多了一個HID0位

?允許cache奇偶校驗(ECPE)位,HIDO[1|,使e300核可以在檢測到cache奇

偶錯誤時啟用機器檢查中斷捕獲

?增加的高速緩存(cache)實現(xiàn)

■更大的32K字節(jié)、8路、組相聯(lián)的指令和數(shù)據(jù)高速緩存

■對指令和數(shù)據(jù)高速緩存存貯器陣列執(zhí)行全面的奇偶校驗

■可鎖定的U指令和數(shù)據(jù)高速緩存一一整個高速緩存或按單路,此時最多可達8路

中的7路

■的icbt指令支持指令高速緩存的初始化

■數(shù)據(jù)高速緩存支持四態(tài)MESI全都性協(xié)議(MPC8349E未實現(xiàn))

■僅在關鍵載入完成之后才封鎖指令高速緩存(允許重載命中)

■指令撤銷機制支持(撤銷命中)(hit-under-cancel)和(撤銷不命中)(miss-under-cancel),

改進了指令高速緩存的利用率

■可將緊急雙字同時寫入高速緩存和轉發(fā)給懇求單元,因而使我入延遲所造成的阻滯

最小

■數(shù)據(jù)高速緩存隊列共享使換出和監(jiān)聽推(snooppush)更高效

■考慮到全都性系統(tǒng)治理,規(guī)定了可選的數(shù)據(jù)高速緩存操作播送特性(由HIDO[ABE]啟

用)。除dcbz(dcbi,dcbf和dcbst)之外,全部的數(shù)據(jù)高速緩存掌握指令都要求

啟用HID0[ABE]播送

■取指突發(fā)特性允許全部取自高速緩存制止空間的指令在總線上作為突發(fā)事務執(zhí)行

?中斷

■e300核為非對齊小端(高位在前字節(jié)序)格式訪問供給硬件支持。除字符串和多

字之外,非字邊界的小端格式取/存訪問在與大端格式訪問一樣的環(huán)境下產(chǎn)生中斷

■e300核支持真小端格式模式,對從真小端格式系統(tǒng)的軟件移植影響最小

■供給了一個的輸入中斷信號,/corecint,用于觸發(fā)e300核上的緊急中斷特別

?總線時鐘一一PLL配置信號包括7個用于設置和掌握的信號:陷那):6]

?增加的調試特性

■的記錄在DBCR和IBCR掌握存放器中的斷點狀態(tài)

■用于調試接口的兩個信號:/必和/處心歷〃

圖7-1供給了c3()0核的構造圖,顯示了執(zhí)行單元一IU、FPU、BPU、LSU和SRU是如

何獨立和并行工作的。必需留意,這是一個概念圖,不是試圖說明這些特性是如何在該設備上物

理實現(xiàn)的。

e300核供給地址變換和保護機制,包括ITLB、DTLB和指令與數(shù)據(jù)BAT陣列。指令的

取得和發(fā)出由指令單元處理。用于高速緩存或外部存貯器訪問的地址變換由MMU處理。這兩

個單元在7.1.2"指令單元(IU)”和7.151“存貯器治理單元(MMU)”中有具體爭論。

7.1.2指令單元(InstructionUnit)

如圖7-1所示,e300核指令單元包含取指單元、指令隊列、分派單元和BPU,集中掌

握到執(zhí)行單元的指令流。指令單元依據(jù)挨次取指器和BPU的信息確定要讀取的下一條指令

的地址。

指令單元把從指令cache取得的指令送入指令隊列。BPU從取指器接收轉移指令,并使

用靜態(tài)轉移推測,以允許在計算條件轉移的同時,從推則的指令流中取指。BPU合并不受

執(zhí)行流水線中的指令影響的無條件轉移指令和條件轉移指令。

推測轉移之后發(fā)出的指令在解決了轉移以后才完成執(zhí)行,從而保持了挨次執(zhí)行程序模

型。假設其中的任何一條指令是轉移指令,則進展指令譯碼,但不發(fā)出。被FPU、IU、LSU

和SRU執(zhí)行的指令,被發(fā)出并允許它們推動到存放器寫回階段。在解決了正確推測的轉移

之后才允許寫回,并按推測的路徑連續(xù)執(zhí)行。

假設轉移推測錯誤,指令單元就去除全部推測路徑上的指令,并發(fā)出正確路徑上的指令.

7.1.2.1指令隊列和分派單元

指令隊列(IQ)如圖7-1所示,它保存多達6條指令,在單周期內(nèi)可以從指令單元裝入

最多2條指令。只要IQ空間允許,取指單元可以不斷裝入指令。指令從分派單元按每個時

鐘2條指令的最大速度被分派到它們各自的執(zhí)行單元。每個單元都有一個預約站,使得到

IU、FPU、LSU和SRU的分派更加簡潔。分派單元執(zhí)行源和目的存放器相關檢查,確定分

派挨次,并按要求制止后續(xù)指令的分派。

關于指令分派的更具格狀況參見7.3.6“指令定時”。

7.1.2.2轉移處理單元(BPUBranchProcessingUnit)

BPU從取指單元接收轉移指令,對條件轉移執(zhí)行CR前瞻操作,以盡快解決條件轉移,

到達在很多狀況下的零周期轉移的效果。

BPU使用指令編碼中的一位推測條件轉移的方向,所以當遇到未解決的條件轉移指令

時.,在解決條件轉移之前,核始終從推測的目標流中取指.

BPU包含一個用于計算轉移目標地址的加法器和三個用戶掌握存放器:鏈接存放器(LR

linkregister)s計數(shù)存放器(CTRcountregister)和條件存放器(CRconditionalregister)o

BPU計算子程序調用的返回指針。對于某股確定類型的轉移指令,BPU將返回指針保存在

LR中。LR還包括轉移條件到鏈接存放器(bclrxBranchConditional(oLinkRegister)指令

的轉移目標地址。CTR包含轉移條件到計數(shù)存放器(bcctr.vBranchConditionaltoCount

Register)指令的轉移目標地址。LR和CTR的內(nèi)容可以復制到GPR,或從GPR復制。由于

BPU使用專用的存放器,而非GPR或FPR,所以轉移指令的執(zhí)行在很大程度上與整型或浮

點指令的執(zhí)行無關。

7.1.3獨立的執(zhí)行單元

PowerPC系統(tǒng)構造支持獨立執(zhí)行單元,允許處理器實現(xiàn)亂序指令執(zhí)行。例如,由于轉移指

令不依靠GPR或FPR,所以通??梢蕴崆敖鉀Q轉移,消退了轉移所帶來的延遲.

下面幾節(jié)介紹其他四個執(zhí)行單元和完成單元。

7.1.3.1整型單元(IUIntegerUnit)

IU執(zhí)行全部的整型指令。IU一次執(zhí)行一條整型指令,用它的算術規(guī)律單元(ALU)、

乘法器、除法器和XER存放器執(zhí)行計算。大多數(shù)整型指令為單周期指令。32個GPR容納

整型操作數(shù)。重命名存放器的自動安排使爭用GPR所帶來的延遲最小。當整型指令被完成

單元處理完畢后,e300核將重命名存放器的內(nèi)容寫入適宜的GPR。

7.1.3.2浮點單元(FPUFloating-PointUnit)

FPU包括一個單精度乘法一加法陣列,以及浮點狀態(tài)與掌握存放器。乘法一加法陣列

允許c3()()cl核高效率地刷乘法和乘法一加法運算。FPU是流水化的,這樣可以接連不斷地

發(fā)出單精度和雙精度指令,32個FPR供給對浮點運算的支持。重命名存放器的自動安排使

爭用FPR所帶來的延遲最小。當浮點指令被完成單元處理完畢后,e300cl核將重命名存放

器的內(nèi)容寫入適宜的FPR。

e300cl核硬件支持IEEE-754浮點數(shù)據(jù)類型(規(guī)格化、非規(guī)格化、NaN、零和無窮),消

退了由軟件中斷程序帶來的等待。

7.1.33取/存單元(LSULoad/StoreUnit)

LSU執(zhí)行全部的取和存指令,并供給GPR、FPR和cache/存貯子系統(tǒng)之間的數(shù)據(jù)傳輸

接口。LSU計算有效地址,執(zhí)行數(shù)據(jù)對位,并為取/存字符串和多字指令供給定序。

取和存指令按程序挨次發(fā)出和執(zhí)行,但存貯器的訪問可能不按挨次。供給的同步指令強制

進展嚴格排序。

在沒有數(shù)據(jù)總線相關對,可高速緩存的取(load)可以不按挨次執(zhí)行,最大喬吐率可達

每個周期一條指令,總等待時間為兩個周期。從cache返回的數(shù)據(jù)始終保存在一個重命名存放

器中,直到完成規(guī)律將該值提交給GPR和FPR為止。存(store)無法以推測的方式執(zhí)行。因

此將其保存在存儲隊列中,直到完成規(guī)律發(fā)出信號,通知存操作將完畢對存貯器的訪問為止。

核執(zhí)行存指令,最大吞吐率可達每個周期一條指令,總等待時間為三個周期。執(zhí)行實際取和存

所需要的時間依靠于操作是否涉及cache、系統(tǒng)存貯器或I/O設備。

7.1.3.4系統(tǒng)存放器單元(SRUSystemRegisterUnit)

SRU執(zhí)行各種系統(tǒng)級的指令,包括條件存放器規(guī)律運算和從/到特別目的存放器的傳送

指令。它還執(zhí)行整型加/比較指令。為維護系統(tǒng)的狀態(tài),由SRU執(zhí)行的大多數(shù)指令都是挨次

完成的,即指令等待執(zhí)行,直到全部從前發(fā)出的指令都被執(zhí)行完成為止。SRU執(zhí)行的挨次

完成指令的結果在指令完成之前是不行用的,或不能轉發(fā)給后續(xù)指令的。

7.1.4完成單元(CompletionUnit)

完成單元從分派到執(zhí)行始終按程序挨次跟蹤指令,然后完成。完成一條指令是讓核確認該

指令所引起的系統(tǒng)構造存放器的變化。按序完成確保在核必需從錯誤推測的轉移或中斷恢復時

系統(tǒng)構造狀態(tài)正確。

完成指令所需要的指令狀態(tài)和其他信息保存在一個具有5個表項的FIFO完成隊列中。

一旦一條指令從分派單元進入執(zhí)行單元,就為該指令安排一個完成隊列表項??捎玫耐瓿申犃?/p>

表項是分派必需的資源。假設沒有完成隊列表項可用,就停頓分派。從該隊列,按挨次最多

每個周期完成兩條指令。

7.1.5存貯器子系統(tǒng)支持

e300核供給獨立的指令和數(shù)據(jù)cache及MMU。核丕供給?個高效的處理器總線接口,

以便利對主存和其他總線子系統(tǒng)的訪問。下面幾節(jié)介紹存貯器子系統(tǒng)支持的功能。

7.1.5.1存貯器治理單元(MMUMemoryManagementUnit)

e300核MMU為指令和數(shù)據(jù)支持最多4PB(252)的虛擬存貯器和4GB⑵?)的物理存

貯器[在系統(tǒng)構造標準中稱為實際存貯器)。MMU還按塊或頁掌握這些空間的訪問權限。

處理器維護每一頁的引用和變化狀態(tài),關心按需分頁虛擬存貯器系統(tǒng)的實現(xiàn)。留意,該設備需

要軟件關心,以維護引用和變化狀態(tài)。實現(xiàn)了一個關鍵位,該位供給頁表搜尋操作之前的有關存

貯器保護違例的信息。

LSU計算數(shù)據(jù)取和存的有效地址,執(zhí)行到/從cache存貯器的數(shù)據(jù)對位,為取和存字符

串和多字指令供給定序。指令單元為取指計算有效地址(EA)。

生成EA之后,EA的高階位被適當?shù)腗MU變換為物理地址位,EA的低階位與物理地

址上的一樣,它指向片上cache,形成到四路組相聯(lián)的標簽陣列的索引。變換地址以后,MMU將

高階物理地址位傳給cache,cache完成杳找。對于高速緩存制止的訪問或cache未命中的訪

問,則將未變換的低階地址位與變換了的高階地址位拼接,然后存貯器單元和核接口利用形成的

32位物理地址訪問外部存貯器。

MMU還掌握地址變換,實施保護層次。保護層次由操作系統(tǒng)設置,與治理員/用戶訪問權

限有關,也與訪問是取還是存有關。

對于取指,IMMU在ITLB和IBAT陣列中查找地址。假設地址在它們兩個中都命中,

則使用1BAT陣列變換。數(shù)據(jù)訪問引起在DTLB和DBAT陣列中的查找。在大多數(shù)狀況下,

變換在TLB中進展,獲得的物理地址可以訪問片上cache。

e300核比G2多實現(xiàn)了4個IBAT和4個DBAT表項。

假設EA未在TLB中命中,核為軟件供給硬件關心,執(zhí)行對存貯器中的變換表的搜尋。

硬件關心具有以下特性:

?自動將未命中的有效地址存儲在IMISS和DMISS中

?口動生成頁表表項組(PTEG-tablecnliygioup)的主和輔散列實地址,從HASH1和

HASH2存放器可以讀取這些地址。HASH數(shù)據(jù)由IMISS或DMISS存放器的內(nèi)容生成.

選擇哪個存放器與最終確認的命中(指令或數(shù)據(jù))有關。

?自動生成所要搜尋的頁表的頁表表項(PTEtabicentry)的第一個字

?實頁地址(RPArealaddress)存放器與PTE的低字格式相匹配

?TLB訪問指令(tlbli和tlbld〕用于將地址變換裝入指令或數(shù)據(jù)TLB

?GPR0-GPR3影子存放器允許未命中代碼的執(zhí)行,而不破壞現(xiàn)有任何GPR的狀態(tài)。影

子存放器僅用于處理TLB未命中。

關于核的存貯器治理的更多信息,參見7.352“實現(xiàn)特定的存貯港治理”。

7.1.5.2高速緩存單元(CacheUnit)

c300cl核供給獨立的、32K字節(jié)、四路、組相聯(lián)的指令和數(shù)據(jù)cache。Cache塊為32字

節(jié)長。Cache使用寫何策咯,但e300核允許在頁級和塊級對可緩存性、寫策略和存貯器全

都性進展掌握。Cache使月偽LRU替換算法。

如圖7-1所示,cache供給一個到取指單元和LSU的64位接口。周邊規(guī)律選擇、組織

懇求的信息,并將信息轉發(fā)到懇求單元。至kachc的寫操作可以按字節(jié)進展,每個周期都可

以產(chǎn)生完整的讀一修改一寫操作。

取/存和取指單元為cache供給要取的數(shù)據(jù)或指令的地址。假設cache命中,cache就返

回兩個字給懇求單元。

由于數(shù)據(jù)cache標簽是單口的,所以同時進展取/存和監(jiān)聽(snoop)訪問會引起資源爭

用。監(jiān)聽訪問的優(yōu)先級最高,因此首先訪問標簽。假設監(jiān)聽訪問與標簽寫重合,則重進展監(jiān)聽,

且必需重仲裁cache訪問,由于監(jiān)聽訪問,取或存被延遲到監(jiān)聽訪問之后的一個時鐘周期上

執(zhí)行。

c300核包括一條的指令撤銷擴展。指令撤銷擴展改善了撤銷操作期間指令cache的利用率。

假設被撤銷的取指在總線上是掛起的或活動的,它允許向cache或總線發(fā)出一條的取指操作。

它支持撤銷命中(hil-under_cancel)和撤銷不命中(miss-under-cancel)取指操作。

7.1.6總線接口單元(BIUBusInlefaceUnit)

由于cache是片上寫回cache,所以最常用的事務是突發(fā)讀存貯器操作、突發(fā)寫存貯器

操作和單拍(非高速緩存的或寫直達的)存貯器讀和寫操作。還可能有僅地址操作、衍生的

突發(fā)和單拍操作(例如被監(jiān)聽的全局存貯器操作和原子存貯器操作)、以及地址重試活動(例

如被監(jiān)聽的讀訪問命中了一個修改了的cache塊)。

存貯器訪問可以發(fā)生在單拍(1-8字節(jié))和4拍突發(fā)(32字節(jié))數(shù)據(jù)傳輸過程中一一

假設將總線配置為64位的;和單拍(1一4字節(jié))、2拍(8字節(jié))和8拍(32字節(jié))數(shù)據(jù)傳

輸過程中一一假設將總線配置為32位的。地址和數(shù)據(jù)總線獨立工作,支持流水處理和在存

貯器訪問期間拆分事務。

C300總線接LI單元(BIU)已經(jīng)被增加,允許一旦從前事務被準許使用數(shù)據(jù)總線,流水

槽就馬上變?yōu)榭捎茫奂幢M快在數(shù)據(jù)占用開頭的時候,而不是在數(shù)據(jù)占用完成以后),因而在

支持它的系統(tǒng)中,總線利用率更高。有時將其稱之為1-1/2級流水線技術。

對核接口的訪問通過一個外部仲裁機制進展授權,該機制允許設備爭用總線全部權。仲裁

很敏捷,允許將核集成到實現(xiàn)各種公正和總線駐停規(guī)程的系統(tǒng)中,以避開仲裁開銷。

典型地,存貯器訪問是弱序的,即操作挨次,包括取/存字符串和多字指令,不必按它

們開頭的挨次完成。這種弱序使總線效率最大,但不會犧牲數(shù)據(jù)的全都性。核允許讀操作先于

寫操作(存在相關時除外,或在執(zhí)行非高速緩存的訪問的時候除外),支持寫操作先于從前

排隊的讀數(shù)據(jù)占用(例如,允許將監(jiān)聽推封裝在讀操作的地址和數(shù)據(jù)占用中)。由于處理器

可以動態(tài)優(yōu)化取/存流量的運行時次序,所以提高了總體性能。

7.1.7系統(tǒng)支持功能

e300核實現(xiàn)「多個支持功能,包括電源治理、用于系統(tǒng)定時任務的時基/遞減器存放器,一

個JTAG(基于IEEE1149.1)接口、硬件調試和一個鎖相環(huán)(PLL)時鐘倍頻器。下面兒節(jié)

介紹這些系統(tǒng)支持功能。

7.1.7.1電源治理

e300核供給四種電源模式,可以通過設置機器狀態(tài)存放器和硬件實現(xiàn)存放器0(HIDO)

中適當?shù)恼莆瘴贿M展選擇。當進入一種非滿功率電源模式時,核將通過qreq信號懇求進入,

且僅在收到了確認{qack]之后才進入其他電源模式。匹種電源模式如下:

?滿功率——這是e300核的缺省電源狀態(tài)。e300核全力供電,內(nèi)部功能單元按處理器時

鐘全速工作。假設啟用動態(tài)電源治理模式,空閑的功能單元將自動進入低功耗狀態(tài),不會

影響性能、軟件執(zhí)行或外部硬件。

?Doze一一除時基/遞減器存放器和總線監(jiān)聽規(guī)律之外,e300核的全部功能單元都被禁用。

當處理器處于Doze模式時,外部異步中斷、系統(tǒng)治理中斷、遞減器中斷、硬或軟旦位

或機器檢瓷會把e300核帶入滿功率狀態(tài)。Doze模式中的核以滿功率狀態(tài)維護PLL,并

與系統(tǒng)的外部時鐘輸入{sysclk]鎖定,這樣切換到滿功率狀態(tài)只需幾個處理器時鐘周

期。

?Nap——Nap模式進一步削減電源消耗。它禁用總線監(jiān)聽,只讓時基存放器和PLL處于

供電狀態(tài)。在收到外部異步中斷、系統(tǒng)治理中斷、遞減器中斷、硬或軟復位或機器檢查

輸入(山3)信號時,核才返回到滿功率狀態(tài)。從Nap狀態(tài)返回到滿功率狀態(tài)只需幾個

處理器時鐘周期。

?Sleep一一Sleep模式將電源消耗削減到最小。它禁用全部的內(nèi)部功能單元,然后外部系

統(tǒng)規(guī)律可以禁用PLL和sysclk.讓核返回到滿功率狀態(tài)需要啟用PLL和sysclk,然后在

經(jīng)過重鎖定PLL所需要的時間之后,宣告外部異步中斷、系統(tǒng)治理中斷、硬或軟復位、

或畋2信號有效。

7.1.7.2時基/遞減器

時基是一個64位的存放器(按兩個32位存放器訪問)。該存放器每四個總線時鐘周期

加Io供給了通過時基使能(then]信號從外部掌握時基的機制。遞減器是一個32位的存放

器。在設定的延遲之后,它產(chǎn)生遞減器中斷。遞減器存放器的內(nèi)容每四個總線時鐘周期就減1,

當計數(shù)值過0的時候就產(chǎn)生遞減器中斷。

7.1.7.3JTAG測試與調試裝口

核供給JTAG核硬件調試功能,以便利板級測試和芯片調試。JTAG測試接口(基于

IEEE-1149.1)為核和所連接的系統(tǒng)規(guī)律供給邊界掃描測試手段。硬件調試功能訪問JTAG

測試端口,為運行測試程序和便利芯片與軟件的調試供給了手段。

IBCR和DBCR中全部的指令和數(shù)據(jù)地址斷點都是可訪問的。更多信息參見7.3.8"調

螃性”O(jiān)

stopped信號允許觀看內(nèi)部時鐘狀態(tài),可以使用ext_halt強制核進入停頓狀態(tài)。關于測

試信號的更多信息,參見必4核參考手冊中的中斷和特別一章。

7.1.7.4時鐘增頻器

e3()0核的內(nèi)部時鐘利用電壓掌握的、基于晶振的PLL由外部時鐘信號sysclk產(chǎn)生,并

與其同步。PLL供給可編程的內(nèi)部處理器時鐘增倍器比率,該比率與外部供給的時鐘頻率相乘。

總線時鐘承受系統(tǒng)的頻率,并與sysclk同步。PLL的配置可用軟件從硬件實現(xiàn)存放器1

(HID1)中讀出。

7.2PowerPC系統(tǒng)構造實現(xiàn)

PowerPC系統(tǒng)構造由以下幾層組成,與PowerPC系統(tǒng)構造的符合程度可以依據(jù)實現(xiàn)了

下面哪些層來衡量:

?用戶指令集系統(tǒng)構造(UISA)——定義根本用戶級指令集、用戶級存放器、數(shù)據(jù)類型、

浮點中斷模型、單處理器環(huán)境存的貯器模型和單處理器環(huán)境的編程模型。

?虛擬環(huán)境系統(tǒng)構造(VEA)——描述多處理器環(huán)境的存貯器模型,定義cache掌握指令,

描述虛擬環(huán)境的其他方面。遵循VEA的實現(xiàn)也符合UISA,但不肯定必需符合OEA,

?操作環(huán)境系統(tǒng)構造(OEA)——定義存貯器治理模型、治理級存放器、同步需求和中

斷模型。遵循OEA的實現(xiàn)也符合UISA和VEA。

PowerPC系統(tǒng)構造允許敏捷設“諸如cache和核接口等特性的實現(xiàn)。

7.3實現(xiàn)特定的信息

本節(jié)概括介紹PowerPC系統(tǒng)構造,以及作為一種低功耗、PowerPC核家族32位成員的

e300核實現(xiàn)的具體細節(jié)。主要內(nèi)容如下:

?7.3.1"存放器模型”介紹實現(xiàn)PowerPC系統(tǒng)構造的e300核中公用的、用于操作環(huán)境系

統(tǒng)構造的存放器和編程模型。還介紹該核特有的附加存放器。

?7.3.2”指令集核尋址模式”介紹OEA的PowerPC指令集和尋址模式,定義并介紹該核

實現(xiàn)的指令。

?7.3.3"Cache實現(xiàn)”介紹為通過VEA實現(xiàn)PowerPC系統(tǒng)構造的核所定義的cache模型。

還供給e300核cache實現(xiàn)的具體細節(jié)。

?7.3.4“中斷模型”介紹OEA的中斷模型,以及核中斷模型的區(qū)分。

?7.3.5”存貯器治理”概括介紹這些核的存貯器治理的規(guī)章。木節(jié)還介紹32位PowerPC

存貯器治理標準的核實現(xiàn)。

?7.3.5“指令定時”概括介紹PowerPC系統(tǒng)構造和e300核所支持的超標量、并行執(zhí)行所

供給的指令定時。

?7.1.6"總線接口單元介紹核的信號實現(xiàn)°

e300核是一個高性能、超標量處理器核。PowerPC系統(tǒng)構造允許優(yōu)化編譯器,通過高

效使用PowerPC指令集和存放器模型進展指令調度,到達最大性能。多個獨立執(zhí)行單元允

許編譯器優(yōu)化指令吞吐率,利用PowerPC系統(tǒng)構造敏捷性的編譯器又可以進一步優(yōu)化系統(tǒng)

性能。

下面兒節(jié)總結核的特性,包括那些由系統(tǒng)構造定義的特性和那些特定于各種核實現(xiàn)的特性。

核的具體特性在7.1.1“特性”中列出。

7.3.1存放器模型

PowerPC系統(tǒng)構造為大多數(shù)運算指令都定義了存放器一存放器操作。這些指令的源操作

數(shù)從存放器取得,或作為嵌在指令操作碼中的馬上數(shù)供給,三存放器指令格式允許目的存放器

與兩個源操作數(shù)使用不同的存放器。取和存指令在存放器和內(nèi)存之間傳輸數(shù)據(jù)。

e300核有兩級特權:治理模式操作(典型由操作系統(tǒng)使用)和用戶模式操作(由應用

軟件使用)。編程模型綜合了32個GPR、32個FPR、特別目的存放器(SPR)和一些多功

能存放器。每個核還有其自己獨特的硬件實現(xiàn)(HID)存放器集合。

可以訪問特權指令、存放器和其他資源允許操作系統(tǒng)掌握應用環(huán)境(供給虛擬存貯器,

保護操作系統(tǒng)和關鍵機器資源〕。掌握e300核狀態(tài)的指令、地址變換機制和治理存放器僅在

核運行在治理模式時才能被執(zhí)行。

圖7-2列出了全部的用戶級和治理級可用的核存放器。SPR右側的數(shù)字指示傳送至/從

SPR指令所使用的指令操作數(shù)語法中的存放器號。

管理員模型

配置寄存器

機器狀態(tài)系統(tǒng)/處理器

用戶模型

硬件實現(xiàn),寄存器,版本寄存器

寄存器

MSRSVR1SPR286

通用寄存器(32位)PVRSPR287

.貯器雪址寄存器

■BAR’|SPR311

存貯器管理寄存器

軟件表搜索

數(shù)據(jù)BA悟存器寄存器

CeATOUSPR536

DMISSSPR976

DBATOLSPR537

DCMPSPR977

D6AT1USPR538HASHISPR978

DBAT1LSPR539

HASH2SPR979

C6AT2USPR540IMISSSPRM

DB.AT2LSPR&11

ICMPSPR9>81

DBAT3USPR&42

RPASPR982

DBAT3LSPR543

SDR1

DBAT4U1SPR568

SDR1SPR25

D6AT4USPR569

段寄存器

DBAT5WSPR570

C6ATSL'SPR571

DBAT6U1SPR572

DBAT6L'SPR573

DBAT7U1SPR574

DBATTL,SPR575

中斷處理寄存器多功能寄存器

SPRGsDSISR遞減器

XER|SRR1

SPRGOSPR272DSISRSPR18DECSPR22

SPRG1SPR273保存和恢復寄存器時基設施

椎接寄存器SPRG2SPR274SRROSPR26(用于寫)

LRSPR8SPRG3SPR275SRR1SPR27TBLSPR284

SPRG41TBUSPR285

SPR276數(shù)據(jù)地址曾F存器

計數(shù)寄存器

SPRG51SPR277

DARSPR19

CTRSPR9SPRG61SPR278

1

時基設施SPRG7SPR279

(用于讀)斷點寄存器

緊急中呼筆存器指令徵據(jù)七產(chǎn)

TBLSPR268指令感據(jù)地址

CSRRO'|SPR58斷點寄存含

TBUSPR26&斷點控制

ccnm,snn9IABR3PR1010IBCR1SPR30?

IABR21

SPR1018D6CF0SPR310

DABR,SPR1013

DABR21SPR317

1這些存放器是e300核實現(xiàn)特定的(未在PowerPC系統(tǒng)構造中定義)

圖7-2e300編程模型一一存放器

下面幾節(jié)介紹用于這些存放器的e300核實現(xiàn)特定的特性。

73.1.1UISA存放器

UISA存放器是用戶級存放器,包括以下存放器。

7.3.1.1.1通用存放器(GPR)

PowerPC系統(tǒng)構造定義了32個用戶級GPR,在32位核中為32位寬。GPR可作為全部

整型指令的數(shù)據(jù)源和目的C

7.3.1.1.2浮點存放器(FPR)

PowerPC系統(tǒng)構造還定義了32個用戶級64位FPR。FPR用作浮點指令的數(shù)據(jù)源和目

的。這些存放器可以包含單精度或雙精度浮點格式的數(shù)據(jù)對象。

7.3.1.1.3條件存放器(CR)

CR是一個32位的用戶級存放器,供給測試和轉移機制。它由8個4位字段組成,這

些字段反映某些操作的結果,例如傳送、整型和浮點比較、算術和規(guī)律運算的結果等。

7.3.L1.4浮點狀態(tài)與掌握存放器(FPSCR)

用戶級FPSCR包含全部的浮點特別信號位、特別累計位、特別允許位和舍入掌握位,

符合IEEE-754標準。

73.1.1.5用戶級SPR

PowerPC系統(tǒng)構造定義了大量的用于各種功能的特別目的存放器,例如供給掌握、指示狀

態(tài)、配置核、以及執(zhí)行特別操作等。在正常執(zhí)行期間,程序可以依據(jù)程序的訪問特權(治理

或用戶,由特權級位MSR[PR]確定)訪問存放器,如圖7-2所示。留意,GPR和FPR是通

過作為指令一局部的操作數(shù)來訪問的。作為指令執(zhí)行的一局部,對存放器的訪問可以是顯式

的(即通過使用用于該目的的特定指令,例如傳送至特別目的存放器(mtsprMoveto

Special-PurposeRegister'和從特別目的存放器傳送(mfsprMovefromSpecial-Purpose

Register)指令)或隱式的,某些存放器的訪問可以是顯式,也可以是隨式的。在e3()0核中,

全部的SPR都為32位寬。

以下SPR是用戶級軟件可以訪問的:

?鏈接存放器(LR)——LR可用于供給轉移目的地址和保存轉移和鏈接指令后的返回地

址。LR在32位實現(xiàn)中為32位寬。

?計數(shù)存放器(CTR)——CTR遞減,并作為轉移和計數(shù)指令的結果被自動測試。CTR

在32位實現(xiàn)中為32:立寬。

?XER存放器一一32位的XER包含累計溢出位、整數(shù)進位位、溢出位和一個定義由裝入

索引的宇符申宇(hwxLuudSliii唱WsdhnJcxcd)或保存索引的字符申宇(sSwxSluie

StringWordIndexed)指令傳輸?shù)淖止?jié)數(shù)字段。

7.3.1.2VEA存放器

VEA為讀操作引入了時基設施(TB)oTB是一個64位存放器對,其內(nèi)容每四個核輸

入時鐘周期加1。TB由兩個32位存放器組成——時基高位(TimeBaseUpperTBU)和時基

低位(TimeBaseLowerTBL)O留意,時基存放器在用戶狀態(tài)中是只讀的。

7.3.1.3OEA存放器

OEA存放將是治理級存放器,包拈以下存放器。

7.3.1.3.1機器狀態(tài)存放器(MSR)

MSR是一個治理級存放器,定義核的狀態(tài)。該存放器的內(nèi)容在處理中斷時保存,中斷

處理完畢后恢復。當四信號有效且MSR[CE]置位時,e300核處理緊急中斷中斷。e3。。核

實現(xiàn)的MSR為32位。

表7-1列出了MSR的位定義。

表7-1MSR位說明

位名字說明

o>—保存,全功能。

1-41—保存,局部功能。

5-91—保存,全功能。

10—12】—保存,局部功能。

13POW電源治理允許(實現(xiàn)特定)

0制止可編程電源模式(正常操作模式)

1允許可編程電源模式(磕睡、小睡、睡眠模式)

該位僅掌握可編程中.源模式,對動態(tài)中源治理(DPM)

無效。MSR[POW]只能用nitnisr指令修改。此外,假設

轉變了POW位,軟件僅可以修改MSR中的該位,不能

修改其他位。mtmsr指令后面必需跟一條上下文同步指

令。

更多信息參見e300PowerPC核參考手冊的電源治理一

章。

14TGPR臨時GPR重映射(實現(xiàn)特定)

O正常操作

1TGPR脂QGPR0-GPR3重映射到TGPRo—TGPR3,

由TLB未命中程序使用。當MSR[TGPR]=1時,GPRo-

GPR3的內(nèi)容保持不變cMSR[TGPR]=1時試圖使用GPR4

-GPR31會產(chǎn)生不確定的結果。臨時用T

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論