龍芯詳細(xì)設(shè)計(jì)dc32-cp0寄存器說明_第1頁
龍芯詳細(xì)設(shè)計(jì)dc32-cp0寄存器說明_第2頁
龍芯詳細(xì)設(shè)計(jì)dc32-cp0寄存器說明_第3頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、CP0的寄存器說明概述文檔說明本文檔描述了MCore中CP0協(xié)處理器所包含的寄存器??s寫語:CP0:Coprocessor 0 ,即第0個(gè)協(xié)處理器TLB: Translation Look aside Buffer,一個(gè)記錄最近訪問過的虛擬地址及對(duì)應(yīng)物理地址的緩存圖例:本文檔中的所有框圖都遵循如下圖例:輸入文檔(無)版本修改原因(無)MCore中的CP0寄存器Index1描述:相關(guān)指令:格式:Index描述:Index寄存器保存TLB 記錄的索引,在寫或讀TLB 記錄之前要設(shè)置該寄存器。相關(guān)指令:TLBR, TLBWI, TLBP格式:P : 在TLBP指令中,如果沒有發(fā)現(xiàn)匹配的TLB ent

2、ry,該位置1Index: 4位TLB 記錄索引.Random描述:產(chǎn)生一個(gè)指定范圍的隨機(jī)TLB記錄索引。范圍由Wire寄存器確定,所產(chǎn)生的隨機(jī)索引范圍限制在15-Wire之間。相關(guān)指令:TLBWR格式:Index: 4位TLB 記錄索引.EntryLo0, EnroLo1描述:EntryLo寄存器相當(dāng)于指令TLBR,TLBWR,TLBWI指令之間的接口。EntryLo0存器保存偶數(shù)頁TLB記錄,EntryLo1保存寄數(shù)頁TLB記錄相關(guān)指令:TLBR,TLBWR,TLBWI格式:PFN: Page Frame Number,對(duì)應(yīng)物理地址的31:12位。D : 表示該頁可寫,(原意為Dirty,

3、表示該頁被改寫)V : 表示該TLB記錄有效(Valid),如果訪問一個(gè)無效TLB記錄,將產(chǎn)生TLBInvalid異常。G : 表示否為全局內(nèi)存區(qū)域。當(dāng)G為1時(shí),TLB不檢測(cè)ASID位。Context描述:當(dāng)有TLB異常發(fā)生時(shí),Context指向內(nèi)存中對(duì)應(yīng)的頁表記錄,以便中斷處理程序從內(nèi)存中讀取正確的頁表記錄,寫入TLB。相關(guān)指令:無格式:PTEBase :指當(dāng)前進(jìn)程頁表在內(nèi)存中的起始位置,該域由操作系統(tǒng)填寫B(tài)adVPN2: 指TLB異常的虛擬地址的31:13位,該域在發(fā)生異常時(shí)由硬件填寫。Wired描述:指出Random寄存器值的下限相關(guān)指令:無格式:BadVAddr描述:當(dāng)發(fā)生如下異常時(shí),

4、BadVAddr內(nèi)含發(fā)生異常的虛擬地址地錯(cuò)誤(ADEL, ADSL)TLB重填TLB無效TLB寫錯(cuò)誤TLB miss不寫該寄存器么?TLB miss不寫該寄存器么?相關(guān)指令:無格式:Count描述:一個(gè)時(shí)鐘計(jì)算器,每?jī)蓚€(gè)時(shí)鐘加1。相關(guān)指令:無格式:EntryHi描述:包含TLB匹配信息。相關(guān)指令:無格式:VPN2: 虛擬地址的31:13位ASID:當(dāng)前進(jìn)程的標(biāo)志號(hào),由操作系統(tǒng)寫入。在TLB比較過程中,如果沒有設(shè)置G位,只有VPN2和ASID都匹配,TLB轉(zhuǎn)換才成功。Compare描述:與Count寄存器聯(lián)合使用,構(gòu)成一個(gè)計(jì)時(shí)器,當(dāng)Count寄存器中的值與Compare寄存器值相等時(shí),發(fā)出時(shí)鐘中

5、斷。時(shí)鐘中斷信號(hào)輸出到片外,且一直持續(xù)到Compare寄存器被寫入。相關(guān)指令:無格式:Status描述:Status Register(SR)包含操作模式、中斷使能和處理器的診斷信息。該寄存器中的域確定處理器的如下幾種運(yùn)行模式中斷使能:如下條件都為真時(shí),中斷被使能。IE = 1EXL = 0ERL = 0DM = 0處理器運(yùn)行模式:如果DM為1,處理器為調(diào)試模式,如果DM為0,處理器則處于Kernel模式或用戶模式。用戶模式:UM =1,EXL = 0,ERL = 0Kernel模式:UM = 0,EXL =1或ERL =1協(xié)處理器可用性:SR中的CU位標(biāo)志哪些協(xié)處理器可用,如果某個(gè)協(xié)處理器不

6、可用,指令訪問該協(xié)處理器是發(fā)生異常。但不管CU0為1為0,CP0總可用。相關(guān)指令:暫無格式:CU3-CU0: 表示哪些協(xié)處理器可用,在MCore中,全設(shè)為0RP : 低功耗模式,在MCore中高為0RE :用戶模式下的反轉(zhuǎn)尾端。MCore中不考慮該兩種情況。BEV :控制中斷向量位置(Bootstrap Exception Vectors),1表示啟動(dòng)時(shí)中斷向量。MCore中不考慮該兩種情況。TS :關(guān)斷TLB。軟件只能向該位寫0,不能寫1。SR :表示重起信號(hào)為Soft Reset。軟件只能向該位寫0,不能寫1NMI :表示重起信號(hào)為NMI。軟件只能向該位寫0,不能寫1IM7:0 :中斷屏蔽

7、位UM :表示處理器運(yùn)行在用戶模式ERL : 錯(cuò)誤模式,當(dāng)發(fā)生Reset、Soft Reset或NMI異常時(shí),設(shè)置該位。當(dāng)該位被設(shè)置時(shí),禁止中斷,處理器運(yùn)行于Kernel模式,ERET指令使用ErrorPC,而不使用EPC。EXL :異常模式,當(dāng)發(fā)生Reset、Soft Reset、NMI以外的異常時(shí),設(shè)置該位。當(dāng)該位被設(shè)置時(shí),禁止中斷,TLB refill中斷使用通常的中斷處理程序。當(dāng)有另外的異常發(fā)生時(shí),EPC不會(huì)被更新。IE :使能中斷。Cause描述:Cause寄存器主要描述最近發(fā)生異常的原因。同時(shí),記錄中斷已經(jīng)發(fā)生以及中斷處理向量位置。Cause寄存器中的所有位均為只讀。相關(guān)指令:無格

8、式:BD :指明異常發(fā)生指令是否在分支延遲槽內(nèi)CE:表明異常為協(xié)處理器不可用。IV :表明中斷處理向量位置,使用普通中斷向量還是特殊中斷處理向量。WP :表明Watch 異常因?yàn)镋XL或ERL為1而被延遲。當(dāng)EXL和ERL均為0時(shí),重新觸發(fā)Watch異常。MCore可能不實(shí)現(xiàn)。MCore可能不實(shí)現(xiàn)。IP7:2:表明哪些外部中斷發(fā)生IP1:0:控制軟件中斷位Exc Code:異常發(fā)生代碼,如所示。表 SEQ 表 * ARABIC 1 Exc Code異常代碼名稱描述0Int中斷1Mod TLB 改寫異常2TLBLTLB加載異常(Load或取指時(shí)發(fā)生)3TLBSTLB存儲(chǔ)異常(Store時(shí)發(fā)生)4

9、AdEL加載時(shí)地址錯(cuò)誤異常(load 或取指時(shí)發(fā)生)5AdES加載時(shí)地址錯(cuò)誤異常(Store時(shí)發(fā)生)6IBE指令總線錯(cuò)誤異常7DBE數(shù)據(jù)總線錯(cuò)誤異常8SysSysCall異常MCore中不實(shí)現(xiàn)MCore中不實(shí)現(xiàn)9BpBreakPoint異常10RI保留指令異常11CpU協(xié)處理器不可用異常與CE位有何區(qū)別?與CE位有何區(qū)別?12Ov整數(shù)溢出異常13TrTrap異常23WATCHWatch 異常24MCheckMachine check 異常其它- 保留Exception Program Counter描述:Exception Program Counter(EPC)包含異常返回時(shí)的返回地址。對(duì)于

10、精確異常,EPC包含如下內(nèi)容:觸發(fā)異常的當(dāng)前指令虛擬地址如果觸發(fā)異常的地址為分支指令和跳轉(zhuǎn)指令,EPC中為該指令的前一指令虛擬地址。如果觸發(fā)異常的指令在分支指令跳轉(zhuǎn)延遲槽內(nèi),設(shè)置Cause寄存器中的BD位。當(dāng)EXL為1時(shí),即使有異常發(fā)生,硬件也不會(huì)更新EPC,但軟件可以通過MTC0指令來更新EPC。相關(guān)指令:ERET格式:Processor Identification描述:PRId只讀寄存器標(biāo)志處理器的制造商、制造商選項(xiàng)、處理器標(biāo)志以及處理器的版本。相關(guān)指令:無格式:Company ID :制造商標(biāo)志Processor ID :處理器標(biāo)志Revision :處理器版本標(biāo)志Config描述:C

11、onfig寄存器指明各種處理器不同的配置,大部分域在Reset時(shí)由硬件初始化,或是為常值。但K0必須由軟件在異常處理程序中同軟件設(shè)置。相關(guān)指令:無格式:M:表明Config1 寄存器是否存在SB :表明SimpleBE bus 模式使能,由外部分輸入引腳SI_SimpleBE0確定MDU :表明乘法器是否為陣列乘法器MM :表明回寫B(tài)uffer的合并模式,由外部輸入確定,MCore中為0BM :突發(fā)順序,由外部輸入確定BE:表明處理器的尾端模式,由外部輸入確定MT:MMU類型,MCore中為1,表明為標(biāo)準(zhǔn)的TLBK0:Kseg0的Cache 一致性算法,MCore中為0,沒有Cache。Con

12、fig1描述:Config1寄存器在Config寄存器上提供額外的配置信息,Config1為只讀寄存器。相關(guān)指令:無格式:M:表明Config2 寄存器是否存在MMU Size :指出MMU中TLB記錄數(shù)量。在MCore中為15,即16個(gè)TLB記錄WR :表明是否實(shí)現(xiàn)Watch寄存器LLAddr描述:LLAddr寄存器包含最近LL指令所訪問的物理地址。相關(guān)指令:LL,SC格式:PAddr: 最近LL指令所訪問的物理地址WatchLo描述:如果取址地址或數(shù)據(jù)訪問地址與Watch中信息相匹配,就會(huì)觸發(fā)Watch異常。提供給系統(tǒng)調(diào)試功能。相關(guān)指令:無格式:VAddr :需要匹配的地址,(為雙字地址)I :當(dāng)取址地址匹配時(shí),是否觸發(fā)異常R :當(dāng)加載地址匹配時(shí),是否觸發(fā)異常W:當(dāng)存儲(chǔ)地址匹配時(shí),是否觸發(fā)異常WatchHi描述:如果取址地

溫馨提示

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

評(píng)論

0/150

提交評(píng)論