• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      中斷與跳轉(zhuǎn)操作對(duì)指令串的影響

      2015-03-25 08:20:30許江寧
      科技傳播 2015年20期
      關(guān)鍵詞:譯碼指向常州

      許江寧

      常州工程職業(yè)技術(shù)學(xué)院,江蘇常州 213164

      中斷與跳轉(zhuǎn)操作對(duì)指令串的影響

      許江寧

      常州工程職業(yè)技術(shù)學(xué)院,江蘇常州 213164

      本文介紹了中斷、跳轉(zhuǎn)操作對(duì)運(yùn)行中的指令串的影響,首先介紹了CPU指令并行的概念,再說(shuō)明中斷,跳轉(zhuǎn)操作對(duì)并行運(yùn)行的指令的影響,介紹了解決這種影響造成的錯(cuò)誤的方法,主要是說(shuō)明中斷,跳轉(zhuǎn)指令的特殊性。

      中斷;跳轉(zhuǎn);并行運(yùn)行;取消指令

      1 CPU指令并行的概念

      觀察CPU執(zhí)行一條指令,總是可以分成如下兩個(gè)階段,首先CPU要從內(nèi)存中取出需要的指令,即讀指階段,其次根據(jù)指令來(lái)執(zhí)行,即執(zhí)行階段,而執(zhí)行階段,可以看成兩類較小的微指令的組合,第一類是數(shù)據(jù)在CPU內(nèi)各個(gè)寄存器間的傳輸,第二類是ALU運(yùn)算或I/O的輸入輸出,而執(zhí)行中的步驟也一般就是上面兩步(次序可變),或只有第一步??傮w來(lái)說(shuō),CPU執(zhí)行一個(gè)指令最多可以再細(xì)分為第一階段加第二階段的兩個(gè)步驟共三步。因此系統(tǒng)執(zhí)行指令時(shí),可以看成是一條三部分組成的流水線。下圖,是指令串的串行執(zhí)行。

      上面設(shè)計(jì)的CPU,一次只執(zhí)行一條指令,一條指令執(zhí)行三個(gè)步驟最少有三個(gè)周期。但上面說(shuō)的三步中,仔細(xì)分析,大都是可以并行運(yùn)行的。例如兩類微指令,第一類只是CPU內(nèi)部總線上的操作,第二類是I/O或ALU部件的操作,兩類操作在空間上是獨(dú)立的,可以同時(shí)執(zhí)行,即并行執(zhí)行。又如每條指令都要先從內(nèi)存中讀取,這是I/O部件的操作,除了與讀寫類指令的讀寫操作有矛盾,也可以與其他操作并行執(zhí)行??傮w來(lái)說(shuō),三部分間還是有較大的并行空間,下圖是理想狀況下指令串并行執(zhí)行的方式圖。

      2 中斷、跳轉(zhuǎn)操作對(duì)并行運(yùn)行指令的影響

      并行執(zhí)行指令的結(jié)果是同時(shí)會(huì)處理數(shù)條指令,從執(zhí)行的結(jié)果看,他們是順序執(zhí)行的。如果出現(xiàn)跳轉(zhuǎn),中斷類的指令,會(huì)造成指令串的改變,本來(lái)依次執(zhí)行,這種改變沒(méi)有問(wèn)題,但如果并行執(zhí)行,一條指令先需要取指,再譯碼指令,只有到了譯碼階段,CPU才能知道讀到了一條跳轉(zhuǎn)類的指令,那之后要執(zhí)行的指令全部要修改,但此時(shí),一定已經(jīng)預(yù)先讀取了某些指令,這些指令屬于原先的指令串,必須要舍去,可以使用EMP空白指令來(lái)取代已經(jīng)讀取的指令,這個(gè)指令沒(méi)有任何功能。

      下圖是取消指令的示意圖,可見(jiàn)需要消去指令1后譯碼階段和執(zhí)行階段兩個(gè)時(shí)期讀取的指令。

      上面只介紹了改變執(zhí)行指令地址這一過(guò)程的影響,但是,中斷操作(包括軟硬中斷兩種)的要求是處理完中斷,最后還能返回原來(lái)正在執(zhí)行的程序中,這樣CS,IP兩寄存器中的內(nèi)容就要保存起來(lái)。下面討論軟件中斷指令I(lǐng)NT,與硬件中斷類似,但更簡(jiǎn)單些。對(duì)于軟件中斷,被保存的CS,IP的值應(yīng)該指向INT指令之后的一條指令,但是類似于上段的內(nèi)容,只有在執(zhí)行INT兩個(gè)周期前的CS,IP才指向INT后的這條指令,而此時(shí)已經(jīng)無(wú)法確定CS,IP的指向。有一個(gè)理解是過(guò)了兩個(gè)周期,那CS,IP就應(yīng)該指向INT后的第三條指令,此時(shí)只要把CS,IP減二保存起來(lái)就可以了。但是有一個(gè)重要的問(wèn)題是,CPU在運(yùn)行時(shí),并不是每個(gè)周期都是讀取指令的,I/O有時(shí)還可能被讀寫內(nèi)存類的指令所占用,占用時(shí),CS,IP是不變的。以下考察讀寫對(duì)I/O的占用情況,并分析這一影響的過(guò)程,因?yàn)槲⒅噶钋辶愫?,默認(rèn)的操作就是讀取指令,那么需要把不是默認(rèn)情況的未讀取指令的周期標(biāo)示出來(lái)。

      分析“讀”,“寫”指令對(duì)讀取指令操作的影響時(shí),對(duì)號(hào)表示此時(shí)刻可以讀入指令,叉號(hào)表示I/O被占用,無(wú)法讀入指令。下圖是“讀”指令的示意圖。

      可見(jiàn)讀指令后最多只能連續(xù)執(zhí)行兩個(gè)指令,下圖是“寫”指令的示意圖。

      寫指令后可以連續(xù)執(zhí)行三個(gè)指令。按照上面分析,可能會(huì)出“讀,讀,軟中斷”的情況,并且這三者也是連續(xù)被讀取,連續(xù)執(zhí)行的,此時(shí),軟中斷后兩個(gè)周期內(nèi),I/O都是被占用的,那CS,IP根本沒(méi)有變化。所以讀取INT指令兩個(gè)周期后,CS,IP可能會(huì)出現(xiàn)增加4,增加2,不變?nèi)N情況。所以此時(shí)要通過(guò)讀取指令情況,對(duì)CS,IP保存的數(shù)值進(jìn)行處理后再保存。

      3 對(duì)指令串改變的解決方法

      上面兩節(jié)中已經(jīng)對(duì)解決方法有所涉及,就是將后兩個(gè)周期讀取的指令取消掉,具體做法是用EMP指令覆蓋這些指令。觀察指令集表,可見(jiàn)EMP指令機(jī)器碼的高四位是1111,當(dāng)需要覆蓋指令時(shí),用1111與目標(biāo)指令代碼相或,目標(biāo)代碼就轉(zhuǎn)化為EMP指令,如果不用覆蓋,就用0000與目標(biāo)代碼相或,目標(biāo)代碼不變。

      對(duì)于輸出正確的地址,主要是一些條件判斷,需要對(duì)各種出現(xiàn)矛盾的情況做出處理。

      [1]單睿,洪纓,侯朝煥.推斷與推測(cè)技術(shù)在現(xiàn)代高性能微處理器設(shè)計(jì)中的應(yīng)用研究[J].計(jì)算機(jī)學(xué)報(bào),2003(11).

      [2]姬忠寧,陳迅,徐金甫,等.基于指令前綴的專用VLIW壓縮技術(shù)研究與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2013(4).

      TN2

      A

      1674-6708(2015)149-0110-02

      猜你喜歡
      譯碼指向常州
      常州的早晨
      小讀者之友(2022年4期)2022-05-20 13:19:36
      科學(xué)備考新指向——不等式選講篇
      基于校正搜索寬度的極化碼譯碼算法研究
      常州非遺 燦爛多彩
      把準(zhǔn)方向盤 握緊指向燈 走好創(chuàng)新路
      從霍爾的編碼譯碼理論看彈幕的譯碼
      新聞傳播(2016年3期)2016-07-12 12:55:27
      LDPC 碼改進(jìn)高速譯碼算法
      基于概率裁剪的球形譯碼算法
      常州梳篦
      Who Found?。粒恚澹颍椋悖??
      华宁县| 姜堰市| 吴江市| 伽师县| 巴林右旗| 忻城县| 靖安县| 宁波市| 清涧县| 兴安县| 大埔区| 阿克苏市| 集贤县| 兰西县| 莱阳市| 吉首市| 屏东县| 蛟河市| 鄂尔多斯市| 安仁县| 西畴县| 漯河市| 遂平县| 西畴县| 衡阳县| 剑川县| 灵台县| 集贤县| 库车县| 崇义县| 简阳市| 绥芬河市| 闵行区| 武隆县| 扎囊县| 莱州市| 岐山县| 吕梁市| 岢岚县| 普格县| 贡嘎县|