0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RISC-V SiFive U54內(nèi)核的中斷介紹

麥辣雞腿堡 ? 來(lái)源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-10-08 09:39 ? 次閱讀

中斷

U54內(nèi)核支持M模式和S模式中斷。默認(rèn)情況下,所有中斷都在M模式下處理。對(duì)于支持S模式的 hart,可以有選擇地將中斷委托給S模式。

U54中斷架構(gòu)如下:圖片

U54內(nèi)核還支持兩種類(lèi)型的 RISC-V 中斷:本地和全局。

本地中斷:U54內(nèi)核的本地中斷只有2種,軟件中斷和定時(shí)器中斷,這兩個(gè)中斷都由本地中斷器(CLINT)生成。本地中斷通過(guò)專(zhuān)用中斷異常代碼和固定優(yōu)先級(jí)直接發(fā)送給單個(gè)hart。因此,本地中斷沒(méi)有仲裁,也不需要額外的內(nèi)存訪(fǎng)問(wèn)來(lái)確定中斷的原因。

全局中斷:通過(guò)平臺(tái)級(jí)中斷控制器 (PLIC) 路由,該控制器可以通過(guò)外部中斷將中斷定向到系統(tǒng)中的任何 hart。所有的外設(shè)都屬于全局中斷。

中斷優(yōu)先級(jí)

全局中斷的各個(gè)優(yōu)先級(jí)由 PLIC 確定。

U54內(nèi)核的優(yōu)先級(jí)如下,按優(yōu)先級(jí)降序排列:

機(jī)器外部中斷

機(jī)器軟件中斷

機(jī)器定時(shí)器中斷

主管外部中斷

主管軟件中斷

主管定時(shí)器中斷

異常

如果一個(gè) hart 在S模式下運(yùn)行并嘗試訪(fǎng)問(wèn)一個(gè)僅M模式的控制和狀態(tài)寄存器CSR),這會(huì)立即進(jìn)入異常處理程序并確定下一步行動(dòng)。mstatus寄存器中的異常代碼將保持值 0x2,表明發(fā)生了非法指令異常。根據(jù)系統(tǒng)的要求,監(jiān)督模式應(yīng)用程序可能會(huì)報(bào)告錯(cuò)誤和/或完全終止程序。

沒(méi)有特定的啟用位來(lái)允許發(fā)生異常,因?yàn)槟J(rèn)情況下它們總是啟用的。然而,在引導(dǎo)流程的早期,軟件應(yīng)該將 mtvec.BASE設(shè)置為一個(gè)定義的值,其中包含默認(rèn)異常處理程序的基地址。所有異常都會(huì)捕獲 tomtvec.BASE。軟件必須讀取 mcause CSR以確定異常的來(lái)源,并采取適當(dāng)?shù)拇胧?/p>

在中斷處理程序中發(fā)生的同步異常將立即導(dǎo)致程序執(zhí)行中止中斷處理程序并進(jìn)入異常處理程序。中斷處理程序中的異常通常是軟件錯(cuò)誤的結(jié)果,通常應(yīng)該避免,因?yàn)閙epc 和 mcause CSR 將被原始中斷上下文中捕獲的值覆蓋。

RISC-V 定義的同步異常具有優(yōu)先級(jí)順序,當(dāng)單個(gè)指令同時(shí)發(fā)生多個(gè)異常時(shí),可能需要考慮優(yōu)先級(jí)順序。下表描述了同步異常優(yōu)先級(jí)順序。

圖片

數(shù)據(jù)地址斷點(diǎn)(watchpoints)、指令地址斷點(diǎn)、環(huán)境斷點(diǎn)異常(EBREAK)都具有相同的異常碼(3),但優(yōu)先級(jí)不同,如上表所示。

指令地址未對(duì)齊異常 (0x0) 的優(yōu)先級(jí)低于其他指令地址異常,因?yàn)樗鼈兪悄繕?biāo)未對(duì)齊的控制流指令的結(jié)果,而不是取指的結(jié)果。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1372

    瀏覽量

    40290
  • RISC
    +關(guān)注

    關(guān)注

    6

    文章

    462

    瀏覽量

    83734
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    514

    瀏覽量

    25472
  • sifive
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    9460
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    三星將SiFive RISC-V內(nèi)核用于SoC,汽車(chē),5G應(yīng)用

    在上周(12日)舉行的年度RISC-V峰會(huì)上, 三星披露了將SiFive RISC-V內(nèi)核用于即將推出的各種應(yīng)用芯片。該公司越來(lái)越多的芯片正在采用R
    的頭像 發(fā)表于 12-19 14:33 ?4844次閱讀

    SiFive發(fā)布P870和X390,RISC-V架構(gòu)內(nèi)核性能暴漲

    電子發(fā)燒友網(wǎng)報(bào)道(文/吳子鵬)近日,全球領(lǐng)先的商業(yè)RISC-V內(nèi)核供應(yīng)商SiFive宣布推出兩款新產(chǎn)品,分別為SiFive Performance P870和
    的頭像 發(fā)表于 10-17 00:13 ?1737次閱讀

    什么是RISC-V

    siFiveRISC-V 賽昉搞RISC-V 香山搞RISC-V 到底什么是RISC-V? 先不問(wèn)有什么用,
    發(fā)表于 02-02 10:41

    全球首款基于 RISC-V “HiFive Unleashed” 單板計(jì)算機(jī)(SBC)

    硅谷創(chuàng)業(yè)公司 SiFive 已經(jīng)開(kāi)放了“HiFive Unleashed” 單板計(jì)算機(jī)(SBC)的預(yù)售,這是一款基于 RISC-V、運(yùn)行 Linux 的板卡,核心芯片為 1.5GHz U
    發(fā)表于 08-02 11:52

    可擴(kuò)展的高性能RISC-V 內(nèi)核IP

    SiFive推出的SiFive U8系列核心IP是一種面向現(xiàn)代SoC設(shè)計(jì)具有可擴(kuò)展性、高性能的微架構(gòu)。SiFive U8系列是當(dāng)今商用化基于
    發(fā)表于 08-13 15:14

    帶有SiFive開(kāi)發(fā)板和高性能CPU的RISC-V邁向主流

    設(shè)計(jì)可以達(dá)到更高性能水平的新型RISC-V芯片。SiFive宣布了圍繞SiFive FU740 SoC構(gòu)建的新Hive Unmatched平臺(tái)。這是一個(gè)具有四個(gè)SiFive
    發(fā)表于 11-14 09:29

    RISC-V是什么?有哪些優(yōu)勢(shì)

    ARM Cortex內(nèi)核無(wú)處不在。我非常喜歡這個(gè)內(nèi)核,并且經(jīng)常使用。不要誤解我的意思:也許ARM需要一些競(jìng)爭(zhēng)?看到新的東西引起了很多關(guān)注,這是非常令人耳目一新的:RISC-V!RV32M1(VEGA
    發(fā)表于 02-10 06:37

    SiFive及晶心科技共同推展RISC-V_擴(kuò)大RISC-V市占率

    兩家RISC-V陣營(yíng)中的領(lǐng)導(dǎo)廠(chǎng)商,SiFive及晶心科技將積極合作,擴(kuò)大RISC-V市占率,同時(shí)持續(xù)積極拓展RISC-V生態(tài)系統(tǒng) CPU IP 專(zhuān)業(yè)供貨商晶心科技近日與著名ASIC
    的頭像 發(fā)表于 05-26 01:45 ?4308次閱讀

    Sifive Learn Inventor基礎(chǔ)之GPIO 按鍵中斷 RISC-V

    Sifive Learn Inventor 基礎(chǔ)之gpio 按鍵中斷Sifive Learn Inventor是Sifive的一款基于RISC-V
    發(fā)表于 12-20 19:06 ?1次下載
    <b class='flag-5'>Sifive</b> Learn Inventor基礎(chǔ)之GPIO 按鍵<b class='flag-5'>中斷</b> <b class='flag-5'>RISC-V</b>

    RISC-V掀開(kāi)源風(fēng)暴SiFive王者再臨

    其中,RISC-V主要發(fā)明人、SiFive共同創(chuàng)辦人兼首席架構(gòu)師Krste Asanovic挾帶處理器芯片工程領(lǐng)域的地位和高人氣,在現(xiàn)場(chǎng)“圈粉”無(wú)數(shù),并分享他對(duì)RISC-V領(lǐng)域最新的發(fā)展觀(guān)察與對(duì)中國(guó)市場(chǎng)的信心。
    的頭像 發(fā)表于 06-29 16:40 ?1026次閱讀
    <b class='flag-5'>RISC-V</b>掀開(kāi)源風(fēng)暴<b class='flag-5'>SiFive</b>王者再臨

    U54內(nèi)核PLIC中斷處理例子

    Interrupt Claim Process U54 內(nèi)核 hart 可以通過(guò)讀取 claim_complete 寄存器(表 115)執(zhí)行中斷請(qǐng)求,該寄存器返回最高優(yōu)先級(jí)掛起中斷
    的頭像 發(fā)表于 10-07 18:01 ?979次閱讀
    <b class='flag-5'>U54</b><b class='flag-5'>內(nèi)核</b>PLIC<b class='flag-5'>中斷</b>處理例子

    U54內(nèi)核上CLINT的內(nèi)存映射

    ) {// handler code} 此屬性將保存和恢復(fù)處理程序中使用的寄存器,并在處理程序的末尾插入一條 mret 指令。 CLINT內(nèi)存映射 下圖是U54 內(nèi)核上 CLINT 的內(nèi)存映射: 注意
    的頭像 發(fā)表于 10-08 09:34 ?527次閱讀
    <b class='flag-5'>U54</b><b class='flag-5'>內(nèi)核</b>上CLINT的內(nèi)存映射

    U54內(nèi)核中斷控制和狀態(tài)寄存器

    向量的基地址,以及設(shè)置 U54內(nèi)核處理中斷的模式。對(duì)于 Direct 和 Vectored模式,中斷處理模式在 mtvec 寄存器的 MODE 字段中定義。mtvec 寄存器在表 86
    的頭像 發(fā)表于 10-08 09:54 ?973次閱讀
    <b class='flag-5'>U54</b><b class='flag-5'>內(nèi)核</b><b class='flag-5'>中斷</b>控制和狀態(tài)寄存器

    U54內(nèi)核特權(quán)模式中斷介紹

    特權(quán)模式中斷 U54內(nèi)核支持有選擇地將中斷和異常定向到S模式。 該功能由中斷和異常委托CSR處理:mideleg和medeleg。S模式
    的頭像 發(fā)表于 10-08 09:59 ?951次閱讀
    <b class='flag-5'>U54</b><b class='flag-5'>內(nèi)核</b>特權(quán)模式<b class='flag-5'>中斷</b><b class='flag-5'>介紹</b>

    RISC-V發(fā)展及FPGA廠(chǎng)商為什么選擇RISC-V

    SiFive U54/S51 內(nèi)核組成的集群(四個(gè)支持 Linux,一個(gè)“real-time”),根據(jù)FPGA等級(jí)分別以 600 或 666 MHz 運(yùn)行,基本上是 FPGA 中降級(jí)的 HiFive Unleashed。 所以
    的頭像 發(fā)表于 11-11 10:24 ?394次閱讀
    <b class='flag-5'>RISC-V</b>發(fā)展及FPGA廠(chǎng)商為什么選擇<b class='flag-5'>RISC-V</b>