精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

解決CPU異常的功臣_系統控制協處理器的全定制設計

電子工程師 ? 作者:工程師陳翠 ? 2018-07-12 06:16 ? 次閱讀

IPS體系結構中的系統控制協處理器簡稱CP0,專門提供指令正常執行所需的環境,進行異常/中斷處理、高速緩存填充、虛實地址轉換、操作模式轉換等操作。單從硬件的角度而言,系統控制協處理器對指令集的作用就相當于操作系統對應用程序的作用一樣。

異常處理

CPU運行過程中常常需要中斷正常執行的指令流程,跳轉去執行某段特殊的指令段,接著再恢復原來的指令序列。MIPS體系結構中稱這樣的過程為異常(Exception)。所有的異常都采用統一的機制處理。

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

1.異常檢測:CPU需要及時檢測出哪個部件發生了什么異常;一般而言,異常檢測由各個模塊進行,如加法溢出由加法器在運算過程中產生,并在相應的流水段被系統控制協處理器CP0讀入。因此這部分功能不屬于CP0的設計范圍。

2.異常處理:CPU按照優先級選擇哪個異常被處理,并進行必要的上下文切換(Context Switch),為進入異常服務子程序做準備,保證與該種異常對應的服務程序被執行,并且能夠從中斷處完全恢復原來的指令執行現場。

3.異常服務:執行異常服務子程序,這部分主要由軟件(操作系統)來完成。

對異常處理機制的要求

與傳統的異常/中斷處理機制相比,在MIPS 4Kc體系結構下的異常處理需要特別考慮3個因素。

流水線的劃分

本設計采用五段流水線設計,即每條指令的執行一般都經過IF(取指)、DE(指令譯碼)、EX(指令執行)、MEM(訪問存儲器)和WB(數據寫回R.F.)五個步驟。因為指令動作被分割,所以異常源也被分割到各個流水線段。例如:加法溢出異常只能在EX被檢測到。

精確異常處理機制

精確異常處理是指在發生異常時,僅僅對發生異常的指令或其后面的指令進行異常處理;而其前面的指令要保證能夠正常結束。所謂“精確”,是指受到異常處理影響的只有產生異常條件的那條指令,所有在此之前的指令在異常被處理前都將被執行完成。異常處理結束后仍將從發生異常的指令開始繼續執行。

操作模式切換

對于多進程操作系統,至少要區分兩種進程:有特權的操作系統“核心”進程和一般程序的“用戶”進程。當CPU檢測到異常發生時,指令執行的正常順序會被暫停,處理器進入核心模式。當異常服務子程序執行完后,CPU從斷點中恢復現場,繼續執行原指令序列。

異常處理流水線

根據上述分析可以確定,硬件異常處理流水線的主要任務有3個:更新相應的CP0寄存器,即寫CP0寄存器;保存發生異常的指令地址,或當異常指令在延遲槽時,保存引起延遲槽的跳轉指令地址;選擇異常服務子程序的入口地址。

CP0寄存器記錄了CPU當前的狀態,因此,對CP0寄存器的寫就是對CPU狀態的改變,需要進行嚴格的控制。而且對寄存器的寫是影響關鍵路徑的主要因素。因此本文主要論述對CP0寄存器寫操作的設計。

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

系統控制協處理器的全定制物理設計

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

控制通路與數據通路的劃分

數字電路系統的正常運作過程中存在數據流(包括一般意義上的數據、指令和地址)和控制流。而數據流和控制流是相對獨立的:數據流實現的邏輯相對簡單,但有很多位數據并行;而控制流的邏輯較復雜,絕大多數是1位或幾位的控制信號。因此,控制通路一般不采用全定制設計;而數據通路的全定制設計就具有高性能、低功耗、低成本的優勢。

協助TLB進行虛實地址轉換是CP0的主要功能之一。TLB屬于系統的特權資源,只有CP0有權對其進行訪問,因此CP0與TLB之間的連線較多,數據交換的時延也比較關鍵。同時,PC模塊與CP0的數據交換也非常重要。因此,CP0單元在版圖上最好同時靠近TLB和PC模塊。本設計將CP0中與TLB相關的邏輯與寄存器獨立為CP0T,放在MMU與PC模塊之間;CP0的其余部分歸為CP0E,放在PC下部,也就是整塊芯片的最下端。如下圖所示。

解決CPU異常的功臣_系統控制協處理器的全定制設計

CP0單元與臨近單元的連接示意圖

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10824

    瀏覽量

    211140
  • 協處理器
    +關注

    關注

    0

    文章

    75

    瀏覽量

    18155
收藏 人收藏

    評論

    相關推薦

    迅為4412開發板源碼分析之處理器

    ARM 官網文檔是如何描述這部分內容,如下圖所示。 上面紅色框中,第一行翻譯為“系統控制處理器”,我覺得用“系統控制
    發表于 07-29 15:36

    PSoC? 模擬處理器資料手冊分享!

    賽普拉斯的 PSoC? 模擬處理器是可編程模擬處理器的可擴展和可重配置的平臺架構;它能夠簡化帶有多個傳感的嵌入式
    發表于 09-01 16:50

    小白求助怎樣去使用ARM處理器

    困難,因此高性能的ARM處理器接口僅限于片上使用。最常使用的處理器是用于控制片上功能的系統
    發表于 04-24 09:36

    32位嵌入式CPU系統控制處理器的設計與實現

    系統控制處理器是MIPS體系結構CPU中必需的一個單元模塊。它最主要的功能就是利用一系列特權寄存記錄當前
    發表于 01-17 09:31 ?29次下載

    嵌入式32位CPU系統控制處理器異常處理系統的設計與實現

    IPS體系結構中的系統控制處理器簡稱CP0,它提供指令正常執行所需的環境,進行異常/中斷處理、高速緩存填充、虛實地址轉換、操作模式轉換等操
    發表于 10-10 14:05 ?3次下載

    系統控制處理器的作用及其基于32位嵌入式CPU的設計與實現

    MIPS體系結構中的系統控制處理器簡稱CP0,它提供指令正常執行所需的環境,進行異常/中斷處理、高速緩存填充、虛實地址轉換、操作模式轉換等
    發表于 10-18 09:31 ?11次下載
    <b class='flag-5'>系統控制</b><b class='flag-5'>協</b><b class='flag-5'>處理器</b>的作用及其基于32位嵌入式<b class='flag-5'>CPU</b>的設計與實現

    ARM處理器指令介紹

    處理器(coprocessor),一種芯片,用于減輕系統處理器的特定處理任務。
    發表于 11-10 15:56 ?2778次閱讀

    怎樣將GPU作為CPU處理器工作

    處理器,一種芯片,用于減輕系統處理器的特定處理任務。CPU的縮寫,譯為中央
    發表于 01-09 14:46 ?1.1w次閱讀

    手機上的處理器有什么作用_蘋果處理器是干什么的

    本文首先介紹了處理器概念,其次介紹了處理器內部結構與手機處理器的作用,最后介紹了蘋果的M8
    的頭像 發表于 04-24 09:27 ?2.2w次閱讀

    有哪些手機內置了處理器_五款內置處理器的手機介紹

    本文主要介紹了五款內置處理器的手機。處理器用于減輕系統處理器的負擔,執行特定
    的頭像 發表于 04-24 09:58 ?1.6w次閱讀

    arm的處理器有幾個?ARM處理器詳解

    本文首先介紹了ARM處理器特點與主要模式,其次介紹了arm的處理器有幾個,最后介紹了CP14和CP15系統控制
    發表于 04-24 15:34 ?8927次閱讀

    關于32位嵌入式CPU系統控制處理器的設計

    MIPS體系結構中的系統控制處理器簡稱CP0,它提供指令正常執行所需的環境,進行異常/中斷處理、高速緩存填充、虛實地址轉換、操作模式轉換等
    發表于 10-15 10:54 ?754次閱讀

    鴻蒙輕內核源碼分析:MMU 處理器

    1、 ARM C15 處理器 在 ARM 嵌入式應用系統中, 很多系統控制由 ARM CP15 處理
    的頭像 發表于 02-20 14:28 ?526次閱讀
    鴻蒙輕內核源碼分析:MMU <b class='flag-5'>協</b><b class='flag-5'>處理器</b>

    使用TMS320C6416處理器:Viterbi處理器(VCP)

    電子發燒友網站提供《使用TMS320C6416處理器:Viterbi處理器(VCP).pdf》資料免費下載
    發表于 10-21 09:36 ?0次下載
    使用TMS320C6416<b class='flag-5'>協</b><b class='flag-5'>處理器</b>:Viterbi<b class='flag-5'>協</b><b class='flag-5'>處理器</b>(VCP)

    使用TMS320C6416處理器:Turbo處理器(TCP)

    電子發燒友網站提供《使用TMS320C6416處理器:Turbo處理器(TCP).pdf》資料免費下載
    發表于 10-23 10:16 ?0次下載
    使用TMS320C6416<b class='flag-5'>協</b><b class='flag-5'>處理器</b>:Turbo<b class='flag-5'>協</b><b class='flag-5'>處理器</b>(TCP)