久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2035|回復: 0
打印 上一主題 下一主題
收起左側

CPU指令的流水線執行

[復制鏈接]
跳轉到指定樓層
樓主
ID:105323 發表于 2016-3-4 14:20 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
       指令集是CPU體系架構的重要組成部分。C語言的語法是對解決現實問題的運算和流程的方法的高度概況和抽象,其主要為算術、邏輯運算和分支控制,而指令集就是對這些抽象的具體支持,匯編只不過是為了讓開發人員更好地記住指令,但它跟CPU所認的機器碼其實是一一對應的,因此匯編也是低級語言。
        CPU的指令執行一般包括取指、譯碼和執行,這是經典的三級指令執行流水線,教科書上往往以這三種過程來描述,arm7也是。但是現代的CPU設計往往使用更廣泛使用的5級流水線,也就是分為取指、譯碼、執行、訪存和回寫。為什么要分為5級?這是由流水線的各個階段的時間來決定的。我們可以考慮現實生活的工廠的流水線。
        假設某流水線只有 三個工序,有三個工人A、B、C,則這條生產線的效率就取決于效率最低的那個工人的效率。現假設B做完其負責的工序需要10秒,而A和C完成只需要5秒,總共要完成4個產品。那總時間應該是:5+10*4+5 = 50秒,(第一個5是A先做第一道工序的時間,這時B和C都得等,而最后一個5是C必須要等B全部完成后才能開始)即會出現C在等待,而B一直在忙死忙活的場景。
        當然,無論怎樣,流水線的執行總比完成沒有流水好,就好比A、B、C負責的工作都由一個人去做,那做完一個得20秒。全部做完得20*4 = 80秒。
        最理性的場景就是三個人做事的效率是一樣的,那就不會出現等待的情況。那現在確實遇到B工作效率最低的問題,怎么解決呢?就是將B的工作重新分解,平均分成兩個工序,也就是B1和B2,分別都是5秒完成,那完成的總時間是40秒。
         CPU指令的三級流水執行正是遇到各步驟流水時間不均的問題,也就是取指和譯碼往往比較快,而執行包括運算和訪問寄存器、內存或者回寫等功能,因此執行的時間一般比取指和譯碼要長,取指和譯碼可以在單時鐘周期內完成,但執行需要2到3個時鐘周期才能完成。要想得到更高的流水效率,就需要將執行部分分解為執行(運算等)、訪存(內存)和回寫(寄存器)。
         CPU指令的流水線執行對于軟件開發人員來說,最重要的就是要知道當前PC(程序計數寄存器)的值與當前執行指令的關系。取指指的是CPU根據當前PC的值內存的對應地址去取指令,因此PC值永遠都指的都是當前取指令步驟的地址,而譯碼則是CPU的一部分電路根據取出來的指令機器碼進行譯碼,選擇對應的電路來執行這條執行,如選擇加法電路還是減法電路,還是邏輯與電路等等;執行就是這個電路的執行過程了。
         arm7的流水線示意圖是:

             從圖可以看到在T1時刻,CPU的執行電路執行的是MOV指令,而取指電路取的是SUB指令,因此當前執行電路的MOV對應的運行地址應該是當前PC值減8. 如果當前運行的指令是一個函數調用(即BL指令),但返回地址就應該是ADD指令所在的地址,即(PC減4)。

        有人問到流水線斷流的問題,補充說明一下,斷流主要有以下情況:
        1)數據相關。如第二條指令需要的數據正好是第一條指令執行的結果。這時第二條必須等待。
        2)分支跳轉。指令分支判斷之后,可能會順序執行,也可能跳轉到其他地方,這時也會引起流水線的斷流。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美性video 精品亚洲一区二区 | 亚洲国产成人精品女人久久久 | 日韩欧美国产精品一区 | 先锋av资源网| 一区二区三区国产在线观看 | 欧美亚洲综合久久 | 91国产精品 | 欧美一级在线观看 | 精品综合久久 | 亚洲国产成人久久综合一区,久久久国产99 | 国产在线一区二 | 视频一区二区在线观看 | 国产成人免费视频网站高清观看视频 | 亚洲一区二区三区在线 | 国产精品一区久久久 | 黄a网站 | 成人精品国产一区二区4080 | 日本成人在线免费视频 | 久久精品色欧美aⅴ一区二区 | 综合久久久 | 久久久久久久久久久久久9999 | 99九九视频 | av电影一区| 精品免费国产一区二区三区四区介绍 | 91素人| 久久久久久国产 | 国产精品精品视频一区二区三区 | 亚洲欧美中文日韩在线v日本 | 中国三级黄色录像 | 午夜影视 | 免费在线观看成人av | 国产乱码精品一区二三赶尸艳谈 | 日韩成人免费视频 | 天堂网中文字幕在线观看 | 日韩免费视频一区二区 | 欧美视频二区 | 久久综合爱 | 中文字幕一区在线 | 亚洲欧美bt | 国产精品久久久久久影视 | 国产 日韩 欧美 在线 |