国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

3級(jí)流水線ARM組織概念

這篇具有很好參考價(jià)值的文章主要介紹了3級(jí)流水線ARM組織概念。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

3級(jí)流水線ARM組織如圖:

3級(jí)流水線ARM組織概念,# ARM體系結(jié)構(gòu)與編程,ARM,嵌入式,arm開(kāi)發(fā)

?(1)處理器狀態(tài)的寄存器堆(Register Bank):它有兩個(gè)讀端口和一個(gè)寫端口,每個(gè)端口都可以訪問(wèn)任意寄存器,再加上專門訪問(wèn)程序計(jì)數(shù)器PC的一個(gè)附加讀端口和一個(gè)附加寫端口。

(2)桶形移位寄存器(Barrel Shifter):它可以把一個(gè)操作數(shù)移位或循環(huán)移位任意位數(shù)。

(3)ALU:完成指令集要求的算術(shù)或邏輯功能。

(4)地址寄存器(Address Register)和增值器(Incrementer):它選擇和保存所用的存儲(chǔ)器地址,并在需要時(shí)產(chǎn)生順序地址。

(5)數(shù)據(jù)輸出寄存器(Data-out Register)和數(shù)據(jù)輸入寄存器(Data-in Register):保存?zhèn)鬏數(shù)酱鎯?chǔ)器和從存儲(chǔ)器輸出的數(shù)據(jù)。

(6)指令譯碼器和相關(guān)的控制邏輯(Instruction Decode and Control)。

下面的例子顯示了一條單周期指令在流水線上的執(zhí)行過(guò)程。

ADD  r1,r2

單周期指令在流水線上的執(zhí)行過(guò)程如下圖所示。

3級(jí)流水線ARM組織概念,# ARM體系結(jié)構(gòu)與編程,ARM,嵌入式,arm開(kāi)發(fā)

在ADD指令中,需要訪問(wèn)兩個(gè)寄存器操作數(shù),B總線上的數(shù)據(jù)移位后與A總線上的數(shù)據(jù)在ALU中組合,再將結(jié)果寫回寄存器堆。在指令執(zhí)行過(guò)程中,程序計(jì)數(shù)器的數(shù)據(jù)放在地址寄存器中,地址寄存器的數(shù)據(jù)送入增值器。然后將增值后的數(shù)據(jù)復(fù)制到寄存器堆的r15(程序計(jì)數(shù)器),同時(shí)還復(fù)制到地址寄存器,作為下一次取指的地址。

到ARM7為止的ARM處理器使用簡(jiǎn)單的3級(jí)流水線,包括下列流水線級(jí)。

(1)取指(fetch)——從寄存器裝載一條指令。

(2)譯碼(decode)——識(shí)別被執(zhí)行的指令,并為下一個(gè)周期準(zhǔn)備數(shù)據(jù)通路的控制信號(hào)。在這一級(jí),指令占有譯碼邏輯,不占用數(shù)據(jù)通路。

(3)執(zhí)行(excute)——處理指令并將結(jié)果寫回寄存器。

下圖顯示了3級(jí)流水線指令執(zhí)行過(guò)程。

3級(jí)流水線ARM組織概念,# ARM體系結(jié)構(gòu)與編程,ARM,嵌入式,arm開(kāi)發(fā)

當(dāng)處理器執(zhí)行簡(jiǎn)單的數(shù)據(jù)處理指令時(shí),流水線使得平均每個(gè)時(shí)鐘周期能完成一條指令。但一條指令需要3個(gè)時(shí)鐘周期來(lái)完成,因此,有3個(gè)時(shí)鐘周期的延時(shí)(latency),但吞吐率(throughput)是每個(gè)周期一條指令。下面通過(guò)一個(gè)簡(jiǎn)單的例子說(shuō)明流水線的機(jī)制。

指令序列為:

ADD r1 r2
SUB r3 r2
CMP r1 r3

流水線指令序列如下圖所示。

3級(jí)流水線ARM組織概念,# ARM體系結(jié)構(gòu)與編程,ARM,嵌入式,arm開(kāi)發(fā)

在第一個(gè)周期,內(nèi)核從存儲(chǔ)器取出指令A(yù)DD;在第二個(gè)周期,內(nèi)核取出指令SUB,同時(shí)對(duì)ADD譯碼;在第三個(gè)周期,指令SUB和ADD都沿流水線移動(dòng),ADD被執(zhí)行,而SUB被譯碼,同時(shí)又取出CMP指令??梢钥闯?,流水線使得每個(gè)時(shí)鐘周期就可以執(zhí)行一條指令。

當(dāng)執(zhí)行多條指令時(shí),流水線的執(zhí)行不一定會(huì)按照如下圖所示的規(guī)則,下圖顯示了有STR指令時(shí)的流水線狀態(tài)。

3級(jí)流水線ARM組織概念,# ARM體系結(jié)構(gòu)與編程,ARM,嵌入式,arm開(kāi)發(fā)

圖中在單周期指令A(yù)DD后出現(xiàn)了一條數(shù)據(jù)存儲(chǔ)指令STR。訪問(wèn)主存儲(chǔ)器的指令用陰影表示,可以看出在每個(gè)周期都使用了存儲(chǔ)器。同樣,在每一個(gè)周期也使用了數(shù)據(jù)通路。在執(zhí)行周期、地址計(jì)算和數(shù)據(jù)傳輸周期,數(shù)據(jù)通路都是被占用的。在譯碼周期,譯碼邏輯負(fù)責(zé)產(chǎn)生下一周期用到的數(shù)據(jù)通路的控制信號(hào)。

從圖中的指令序列中可以看出,處理器的每個(gè)邏輯單元在每個(gè)指令都是活動(dòng)的,流水線的執(zhí)行與存儲(chǔ)器訪問(wèn)密切相關(guān),存儲(chǔ)器訪問(wèn)限制了程序執(zhí)行必須花費(fèi)的指令周期數(shù)。

ARM的流水線執(zhí)行模式導(dǎo)致了一個(gè)結(jié)果,就是程序計(jì)數(shù)器PC(對(duì)使用者而言為r15)必須在當(dāng)前指令執(zhí)行前計(jì)數(shù)。例如,指令在其第一個(gè)周期為下下條指令取指,這就意味著PC必須指向當(dāng)前指令的后8個(gè)字節(jié)(其后的兩條指令)。

當(dāng)程序中必須用到PC時(shí),程序員要特別注意這一點(diǎn)。但在大多數(shù)正常情況下,不用考慮這一點(diǎn),匯編器或編譯器可自動(dòng)處理這些細(xì)節(jié)。

下面的例子顯示了流水線下程序計(jì)數(shù)器PC的使用情況。

指令序列為:

0x8000 LDR pc,[pc,#0]
0x8004 NOP
0x8008 DCD jumpAdress

當(dāng)指令LDR處于執(zhí)行階段時(shí),pc=address+8即0x8008。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-787009.html

到了這里,關(guān)于3級(jí)流水線ARM組織概念的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ARM編程模型-指令流水線

    ARM編程模型-指令流水線

    流水線技術(shù)通過(guò)多個(gè)功能部件并行工作來(lái)縮短程序執(zhí)行時(shí)間,提高處理器核的效率和吞吐率,從而成為微處理器設(shè)計(jì)中最為重要的技術(shù)之一。 到ARM7為止的ARM處理器使用簡(jiǎn)單的3級(jí)流水線,它包括下列流水線級(jí)。 (1)取指令 從寄存器裝載一條指令。 (2)譯碼(decode) 識(shí)別被

    2024年02月10日
    瀏覽(23)
  • 1.6流水線:流水線、流水線周期、流水線執(zhí)行時(shí)間、流水線吞吐率、流水線加速比

    1.6流水線:流水線、流水線周期、流水線執(zhí)行時(shí)間、流水線吞吐率、流水線加速比

    相關(guān)參數(shù)計(jì)算:流水線執(zhí)行時(shí)間計(jì)算、流水線吞吐率、流水線加速比等。 流水線是指在程序執(zhí)行時(shí)多條指令重疊進(jìn)行操作的一種準(zhǔn)并行處理實(shí)現(xiàn)技術(shù)。各種部件同時(shí)處理是針對(duì)不同指令而言的,它們可同時(shí)為多條指令的不同部分進(jìn)行工作,以提高各部件的利用率和指令的平均

    2024年02月09日
    瀏覽(20)
  • 8位加法器的流水線設(shè)計(jì)(2級(jí)流水、四級(jí)流水)

    8位加法器的流水線設(shè)計(jì)(2級(jí)流水、四級(jí)流水)

    思考:流水線的設(shè)計(jì)是為了提高頻率,在一個(gè)耗時(shí)比較長(zhǎng)的組合邏輯中,加入寄存器, 可以將這個(gè)較長(zhǎng)的組合邏輯分裂幾份,從而提升主頻,缺點(diǎn)是增加了寄存器的資源。 二級(jí)流水線的加法器的設(shè)計(jì)思想如下: 在第一個(gè)周期完成低四位的加法計(jì)算,使用一個(gè)四位加法器即可

    2024年02月11日
    瀏覽(24)
  • jenkins流水線

    jenkins流水線

    1、 二、 三、 四、 五、 六、 ?

    2024年02月05日
    瀏覽(28)
  • 云效-流水線(基本教程)

    云效-流水線(基本教程)

    阿里云效地址: https://accountid-devops.aliyun.com/ 代碼在碼云, 服務(wù)器在騰訊云, 代碼是個(gè)聚合代碼 1. 選擇適合自己的模板 2. 創(chuàng)建碼云鏈接 3. 選擇代碼倉(cāng)庫(kù), 分支即可下一步 4. 部署,主機(jī)部署 5. 保存運(yùn)行(獲取打包路徑) 6. 完善部署命令 按自己的需求進(jìn)行填寫, 包括打包成docker鏡像

    2024年02月09日
    瀏覽(25)
  • 【Jenkins】pipeline流水線

    【Jenkins】pipeline流水線

    流水線既能作為任務(wù)的本身,也能作為jenkinsfile,使用流水線可以讓我們的任務(wù)從ui手動(dòng)操作,轉(zhuǎn)換為代碼化,像docker的dockerfile一樣,從shell命令到配置文件,更適合大型項(xiàng)目,可以讓團(tuán)隊(duì)其他開(kāi)發(fā)者同事參與進(jìn)來(lái),同時(shí)也可以編輯開(kāi)發(fā)jenkinswebui不能完成的復(fù)雜的構(gòu)建邏輯,作

    2024年02月09日
    瀏覽(37)
  • Jenkins的流水線詳解

    Jenkins的流水線詳解

    來(lái)源:u.kubeinfo.cn/ozoxBB 什么是流水線 聲明式流水線 Jenkinsfile 的使用 jenkins 有 2 種流水線分為 聲明式流水線 與 腳本化流水線 ,腳本化流水線是 jenkins 舊版本使用的流水線腳本,新版本 Jenkins 推薦使用聲明式流水線。文檔只介紹聲明流水線。 聲明式流水線 在聲明式流水線語(yǔ)

    2024年02月11日
    瀏覽(54)
  • UnityShader(一)渲染流水線

    目錄 一、什么是渲染流水線 二、渲染流程的三個(gè)概念性階段 1.應(yīng)用階段(Application Stage) 一、準(zhǔn)備好場(chǎng)景數(shù)據(jù) 二、粗粒度剔除 三、設(shè)置渲染狀態(tài) 2.幾何階段(Geometry Stage) 3.光柵化階段(Rasterizer Stage) 三、CPU和GPU的通信 1.把數(shù)據(jù)加載到顯存中 2.設(shè)置渲染狀態(tài) 3.調(diào)用Draw Ca

    2024年02月02日
    瀏覽(28)
  • Jenkins流水線怎么做?

    Jenkins流水線怎么做?

    問(wèn)CHAT:Jenkins流水線怎么做? CHAT回復(fù):Jenkins流水線是一種創(chuàng)建、測(cè)試和部署應(yīng)用程序的方法。以下是為Jenkins創(chuàng)建流水線的步驟: 1. 安裝Jenkins:首先你需要在你的服務(wù)器上安裝Jenkins。這個(gè)過(guò)程可能會(huì)根據(jù)你的操作系統(tǒng)有所不同。 2. 安裝必要的插件:為了使流水線工作,你需

    2024年01月24日
    瀏覽(39)
  • CI/CD流水線實(shí)戰(zhàn)

    CI/CD流水線實(shí)戰(zhàn)

    不知道為什么,現(xiàn)在什么技術(shù)都想學(xué),因?yàn)槲矣X(jué)得我遇到了技術(shù)的壁壘,大的項(xiàng)目接觸不到,做的項(xiàng)目一個(gè)字 辣* 。所以,整個(gè)人心浮氣躁,我已經(jīng)得通過(guò)每天的騎行和長(zhǎng)跑緩解這種浮躁了。一個(gè)周末,我再次宅在了家里,學(xué)習(xí)了一下 CICD 。 先分享一下 shigen 的學(xué)習(xí)視頻資源

    2024年02月12日
    瀏覽(45)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包