浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 控制技術(shù)

32位嵌入式CPU中系統(tǒng)控制協(xié)處理器的設(shè)計(jì)

發(fā)布時(shí)間:2007/8/28 0:00:00 訪問(wèn)次數(shù):509

摘 要:系統(tǒng)控制協(xié)處理器是MIPS體系結(jié)構(gòu)CPU中必需的一個(gè)單元模塊。它最主要的功能就是利用一系列特權(quán)寄存器記錄當(dāng)前CPU所處的狀態(tài),負(fù)責(zé)異常/中斷處理,提供指令正常執(zhí)行所需的環(huán)境。本文論述了一個(gè)實(shí)現(xiàn)MIPS 4Kc指令集CPU中系統(tǒng)控制協(xié)處理器的設(shè)計(jì),包括對(duì)特權(quán)寄存器寫(xiě)操作的實(shí)現(xiàn),精確異常處理機(jī)制和全定制后端物理設(shè)計(jì)。


關(guān)鍵詞:系統(tǒng)控制協(xié)處理器;精確異常處理;流水線;全定制


MIPS體系結(jié)構(gòu)中的系統(tǒng)控制協(xié)處理器簡(jiǎn)稱CP0,它提供指令正常執(zhí)行所需的環(huán)境,進(jìn)行異常/中斷處理、高速緩存填充、虛實(shí)地址轉(zhuǎn)換、操作模式轉(zhuǎn)換等操作。單從硬件的角度而言,系統(tǒng)控制協(xié)處理器對(duì)指令集的作用就相當(dāng)于操作系統(tǒng)對(duì)應(yīng)用程序的作用一樣。


異常處理


CPU運(yùn)行過(guò)程中常常需要中斷正常執(zhí)行的指令流程,跳轉(zhuǎn)去執(zhí)行某段特殊的指令段,接著再恢復(fù)原來(lái)的指令序列。MIPS體系結(jié)構(gòu)中稱這樣的過(guò)程為異常(Exception)。所有的異常都采用統(tǒng)一的機(jī)制處理。


對(duì)于異常情況,需要采取以下3方面的措施:


1) 異常檢測(cè):CPU需要及時(shí)檢測(cè)出哪個(gè)部件發(fā)生了什么異常;一般而言,異常檢測(cè)由各個(gè)模塊進(jìn)行,如加法溢出由加法器在運(yùn)算過(guò)程中產(chǎn)生,并在相應(yīng)的流水段被系統(tǒng)控制協(xié)處理器CP0讀入。因此這部分功能不屬于CP0的設(shè)計(jì)范圍。


2) 異常處理:CPU按照優(yōu)先級(jí)選擇哪個(gè)異常被處理,并進(jìn)行必要的上下文切換(Context Switch),為進(jìn)入異常服務(wù)子程序做準(zhǔn)備,保證與該種異常對(duì)應(yīng)的服務(wù)程序被執(zhí)行,并且能夠從中斷處完全恢復(fù)原來(lái)的指令執(zhí)行現(xiàn)場(chǎng)。


3) 異常服務(wù):執(zhí)行異常服務(wù)子程序,這部分主要由軟件(操作系統(tǒng))來(lái)完成。


對(duì)異常處理機(jī)制的要求


與傳統(tǒng)的異常/中斷處理機(jī)制相比,在MIPS 4Kc體系結(jié)構(gòu)下的異常處理需要特別考慮3個(gè)因素。


流水線的劃分


本設(shè)計(jì)采用五段流水線設(shè)計(jì),即每條指令的執(zhí)行一般都經(jīng)過(guò)IF(取指)、DE(指令譯碼)、EX(指令執(zhí)行)、MEM(訪問(wèn)存儲(chǔ)器)和WB(數(shù)據(jù)寫(xiě)回R.F.)五個(gè)步驟。因?yàn)橹噶顒?dòng)作被分割,所以異常源也被分割到各個(gè)流水線段。例如:加法溢出異常只能在EX被檢測(cè)到。


精確異常處理機(jī)制


精確異常處理是指在發(fā)生異常時(shí),僅僅對(duì)發(fā)生異常的指令或其后面的指令進(jìn)行異常處理;而其前面的指令要保證能夠正常結(jié)束。所謂“精確”,是指受到異常處理影響的只有產(chǎn)生異常條件的那條指令,所有在此之前的指令在異常被處理前都將被執(zhí)行完成。異常處理結(jié)束后仍將從發(fā)生異常的指令開(kāi)始繼續(xù)執(zhí)行。


操作模式切換


對(duì)于多進(jìn)程操作系統(tǒng),至少要區(qū)分兩種進(jìn)程:有特權(quán)的操作系統(tǒng)“核心”進(jìn)程和一般程序的“用戶”進(jìn)程。當(dāng)CPU檢測(cè)到異常發(fā)生時(shí),指令執(zhí)行的正常順序會(huì)被暫停,處理器進(jìn)入核心模式。當(dāng)異常服務(wù)子程序執(zhí)行完后,CPU從斷點(diǎn)中恢復(fù)現(xiàn)場(chǎng),繼續(xù)執(zhí)行原指令序列。


異常處理流水線


根據(jù)上述分析可以確定,硬件異常處理流水線的主要任務(wù)有3個(gè):更新相應(yīng)的CP0寄存器,即寫(xiě)CP0寄存器;保存發(fā)生異常的指令地址,或當(dāng)異常指令在延遲槽時(shí),保存引起延遲槽的跳轉(zhuǎn)指令地址;選擇異常服務(wù)子程序的入口地址。


CP0寄存器記錄了CPU當(dāng)前的狀態(tài),因此,對(duì)CP0寄存器的寫(xiě)就是對(duì)CPU狀態(tài)的改變,需要進(jìn)行嚴(yán)格的控制。而且對(duì)寄存器的寫(xiě)是影響關(guān)鍵路徑的主要因素。因此本文主要論述對(duì)CP0寄存器寫(xiě)操作的設(shè)計(jì)。


每個(gè)寄存器或寄存器某些位的寫(xiě)操作都是由一個(gè)或一組異常事件是否發(fā)生而決定的。為此每一個(gè)流水段產(chǎn)生并被接收的異常都將被編碼,稱為異常編碼,并在段與段之間進(jìn)行傳遞,直到MEM段。在MEM段,異常編碼被用于產(chǎn)生對(duì)CP0寄存器的寫(xiě)使能信號(hào),需要進(jìn)行復(fù)雜的解碼使MEM段變長(zhǎng),這成為提高整個(gè)CPU速度的瓶頸。為了減少這個(gè)瓶頸,可增加專門(mén)用于產(chǎn)生寫(xiě)使能信號(hào)的邏輯。每一級(jí)流水線產(chǎn)生的異常直接產(chǎn)生寫(xiě)使能,并經(jīng)過(guò)簡(jiǎn)單的優(yōu)先級(jí)比較,不管它是由哪個(gè)異常類型產(chǎn)生的,均產(chǎn)生1位的寫(xiě)使能信號(hào)。那么,在MEM段就可以避免復(fù)雜的解碼,直接產(chǎn)生對(duì)相關(guān)CP0寄存器的寫(xiě)使能信號(hào)。這一方案采用了以空間換時(shí)間的方法:縱向的執(zhí)行時(shí)間減少了,而橫向則需要增加寫(xiě)使能判別邏輯。增加邏輯功能意味著需要占用更多的芯片面積,考慮到CP0模塊處于整個(gè)CPU的邊緣,而且全定制物理設(shè)計(jì)可以大大縮減芯片面積,因此該方案具有可行性。


系統(tǒng)控制協(xié)處理器的全定制物理設(shè)計(jì)


在深亞微米級(jí)的集成電路芯片里,器件(晶體管)本身對(duì)時(shí)延的貢獻(xiàn)已越來(lái)越小,主要延遲在于連線延遲。由于CP0功能的特殊性,它和存儲(chǔ)管理單元MMU、指令計(jì)數(shù)單元PC都有很多連線,這些連線很可能處于全芯片的關(guān)鍵路徑上;而且由于CP0邏輯比較復(fù)雜,按照標(biāo)準(zhǔn)單元法自動(dòng)布局布線生成的模塊自身面積就很大,某些連線在CP0內(nèi)部就要走很多彎路,可能造成很大的延時(shí)。所以決定采用全定制方法設(shè)計(jì)CP0的數(shù)據(jù)通路,以方便控制連線的走向和布局。<

摘 要:系統(tǒng)控制協(xié)處理器是MIPS體系結(jié)構(gòu)CPU中必需的一個(gè)單元模塊。它最主要的功能就是利用一系列特權(quán)寄存器記錄當(dāng)前CPU所處的狀態(tài),負(fù)責(zé)異常/中斷處理,提供指令正常執(zhí)行所需的環(huán)境。本文論述了一個(gè)實(shí)現(xiàn)MIPS 4Kc指令集CPU中系統(tǒng)控制協(xié)處理器的設(shè)計(jì),包括對(duì)特權(quán)寄存器寫(xiě)操作的實(shí)現(xiàn),精確異常處理機(jī)制和全定制后端物理設(shè)計(jì)。


關(guān)鍵詞:系統(tǒng)控制協(xié)處理器;精確異常處理;流水線;全定制


MIPS體系結(jié)構(gòu)中的系統(tǒng)控制協(xié)處理器簡(jiǎn)稱CP0,它提供指令正常執(zhí)行所需的環(huán)境,進(jìn)行異常/中斷處理、高速緩存填充、虛實(shí)地址轉(zhuǎn)換、操作模式轉(zhuǎn)換等操作。單從硬件的角度而言,系統(tǒng)控制協(xié)處理器對(duì)指令集的作用就相當(dāng)于操作系統(tǒng)對(duì)應(yīng)用程序的作用一樣。


異常處理


CPU運(yùn)行過(guò)程中常常需要中斷正常執(zhí)行的指令流程,跳轉(zhuǎn)去執(zhí)行某段特殊的指令段,接著再恢復(fù)原來(lái)的指令序列。MIPS體系結(jié)構(gòu)中稱這樣的過(guò)程為異常(Exception)。所有的異常都采用統(tǒng)一的機(jī)制處理。


對(duì)于異常情況,需要采取以下3方面的措施:


1) 異常檢測(cè):CPU需要及時(shí)檢測(cè)出哪個(gè)部件發(fā)生了什么異常;一般而言,異常檢測(cè)由各個(gè)模塊進(jìn)行,如加法溢出由加法器在運(yùn)算過(guò)程中產(chǎn)生,并在相應(yīng)的流水段被系統(tǒng)控制協(xié)處理器CP0讀入。因此這部分功能不屬于CP0的設(shè)計(jì)范圍。


2) 異常處理:CPU按照優(yōu)先級(jí)選擇哪個(gè)異常被處理,并進(jìn)行必要的上下文切換(Context Switch),為進(jìn)入異常服務(wù)子程序做準(zhǔn)備,保證與該種異常對(duì)應(yīng)的服務(wù)程序被執(zhí)行,并且能夠從中斷處完全恢復(fù)原來(lái)的指令執(zhí)行現(xiàn)場(chǎng)。


3) 異常服務(wù):執(zhí)行異常服務(wù)子程序,這部分主要由軟件(操作系統(tǒng))來(lái)完成。


對(duì)異常處理機(jī)制的要求


與傳統(tǒng)的異常/中斷處理機(jī)制相比,在MIPS 4Kc體系結(jié)構(gòu)下的異常處理需要特別考慮3個(gè)因素。


流水線的劃分


本設(shè)計(jì)采用五段流水線設(shè)計(jì),即每條指令的執(zhí)行一般都經(jīng)過(guò)IF(取指)、DE(指令譯碼)、EX(指令執(zhí)行)、MEM(訪問(wèn)存儲(chǔ)器)和WB(數(shù)據(jù)寫(xiě)回R.F.)五個(gè)步驟。因?yàn)橹噶顒?dòng)作被分割,所以異常源也被分割到各個(gè)流水線段。例如:加法溢出異常只能在EX被檢測(cè)到。


精確異常處理機(jī)制


精確異常處理是指在發(fā)生異常時(shí),僅僅對(duì)發(fā)生異常的指令或其后面的指令進(jìn)行異常處理;而其前面的指令要保證能夠正常結(jié)束。所謂“精確”,是指受到異常處理影響的只有產(chǎn)生異常條件的那條指令,所有在此之前的指令在異常被處理前都將被執(zhí)行完成。異常處理結(jié)束后仍將從發(fā)生異常的指令開(kāi)始繼續(xù)執(zhí)行。


操作模式切換


對(duì)于多進(jìn)程操作系統(tǒng),至少要區(qū)分兩種進(jìn)程:有特權(quán)的操作系統(tǒng)“核心”進(jìn)程和一般程序的“用戶”進(jìn)程。當(dāng)CPU檢測(cè)到異常發(fā)生時(shí),指令執(zhí)行的正常順序會(huì)被暫停,處理器進(jìn)入核心模式。當(dāng)異常服務(wù)子程序執(zhí)行完后,CPU從斷點(diǎn)中恢復(fù)現(xiàn)場(chǎng),繼續(xù)執(zhí)行原指令序列。


異常處理流水線


根據(jù)上述分析可以確定,硬件異常處理流水線的主要任務(wù)有3個(gè):更新相應(yīng)的CP0寄存器,即寫(xiě)CP0寄存器;保存發(fā)生異常的指令地址,或當(dāng)異常指令在延遲槽時(shí),保存引起延遲槽的跳轉(zhuǎn)指令地址;選擇異常服務(wù)子程序的入口地址。


CP0寄存器記錄了CPU當(dāng)前的狀態(tài),因此,對(duì)CP0寄存器的寫(xiě)就是對(duì)CPU狀態(tài)的改變,需要進(jìn)行嚴(yán)格的控制。而且對(duì)寄存器的寫(xiě)是影響關(guān)鍵路徑的主要因素。因此本文主要論述對(duì)CP0寄存器寫(xiě)操作的設(shè)計(jì)。


每個(gè)寄存器或寄存器某些位的寫(xiě)操作都是由一個(gè)或一組異常事件是否發(fā)生而決定的。為此每一個(gè)流水段產(chǎn)生并被接收的異常都將被編碼,稱為異常編碼,并在段與段之間進(jìn)行傳遞,直到MEM段。在MEM段,異常編碼被用于產(chǎn)生對(duì)CP0寄存器的寫(xiě)使能信號(hào),需要進(jìn)行復(fù)雜的解碼使MEM段變長(zhǎng),這成為提高整個(gè)CPU速度的瓶頸。為了減少這個(gè)瓶頸,可增加專門(mén)用于產(chǎn)生寫(xiě)使能信號(hào)的邏輯。每一級(jí)流水線產(chǎn)生的異常直接產(chǎn)生寫(xiě)使能,并經(jīng)過(guò)簡(jiǎn)單的優(yōu)先級(jí)比較,不管它是由哪個(gè)異常類型產(chǎn)生的,均產(chǎn)生1位的寫(xiě)使能信號(hào)。那么,在MEM段就可以避免復(fù)雜的解碼,直接產(chǎn)生對(duì)相關(guān)CP0寄存器的寫(xiě)使能信號(hào)。這一方案采用了以空間換時(shí)間的方法:縱向的執(zhí)行時(shí)間減少了,而橫向則需要增加寫(xiě)使能判別邏輯。增加邏輯功能意味著需要占用更多的芯片面積,考慮到CP0模塊處于整個(gè)CPU的邊緣,而且全定制物理設(shè)計(jì)可以大大縮減芯片面積,因此該方案具有可行性。


系統(tǒng)控制協(xié)處理器的全定制物理設(shè)計(jì)


在深亞微米級(jí)的集成電路芯片里,器件(晶體管)本身對(duì)時(shí)延的貢獻(xiàn)已越來(lái)越小,主要延遲在于連線延遲。由于CP0功能的特殊性,它和存儲(chǔ)管理單元MMU、指令計(jì)數(shù)單元PC都有很多連線,這些連線很可能處于全芯片的關(guān)鍵路徑上;而且由于CP0邏輯比較復(fù)雜,按照標(biāo)準(zhǔn)單元法自動(dòng)布局布線生成的模塊自身面積就很大,某些連線在CP0內(nèi)部就要走很多彎路,可能造成很大的延時(shí)。所以決定采用全定制方法設(shè)計(jì)CP0的數(shù)據(jù)通路,以方便控制連線的走向和布局。<

相關(guān)IC型號(hào)

熱門(mén)點(diǎn)擊

 

推薦技術(shù)資料

自制經(jīng)典的1875功放
    平時(shí)我也經(jīng)常逛一些音響DIY論壇,發(fā)現(xiàn)有很多人喜歡LM... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!