999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種復(fù)雜指令系統(tǒng)譯碼器設(shè)計(jì)方法

2015-09-16 08:22:11
現(xiàn)代計(jì)算機(jī) 2015年12期
關(guān)鍵詞:指令設(shè)計(jì)

趙 香

一種復(fù)雜指令系統(tǒng)譯碼器設(shè)計(jì)方法

趙香

(中國(guó)電子科技集團(tuán)公司第三十八研究所集成電路設(shè)計(jì)中心,合肥230088)

介紹一種面向處理器復(fù)雜指令系統(tǒng)的譯碼器軟件模型設(shè)計(jì)方法,該設(shè)計(jì)采用平衡二叉樹(shù)的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)譯碼表,加入指令緩存,提高指令譯碼速度,詳細(xì)描述譯碼器的設(shè)計(jì)過(guò)程。

指令集模擬器;譯碼器

0 引言

每款處理器都有各自配套的指令系統(tǒng)[1],處理器功能越強(qiáng)大對(duì)應(yīng)的指令系統(tǒng)也越復(fù)雜。指令系統(tǒng)的發(fā)展是一個(gè)從簡(jiǎn)單到復(fù)雜的過(guò)程。早期的處理器由于硬件設(shè)計(jì)成本的原因,其指令系統(tǒng)相對(duì)結(jié)構(gòu)簡(jiǎn)單,所支持的指令也相對(duì)較少。后來(lái)伴隨著超大規(guī)模集成電路技術(shù)的迅速發(fā)展,在設(shè)計(jì)高性能處理器時(shí),為提升處理器的運(yùn)行效率,設(shè)計(jì)師采用的方法是不斷地增加可實(shí)現(xiàn)復(fù)雜功能的指令和多種靈活的編址方式,致使處理器的指令系統(tǒng)變大復(fù)雜、龐大,給硬件和軟件的譯碼器設(shè)計(jì)帶來(lái)很多困難[2]。譯碼器[3~4]是指令集模擬器的關(guān)鍵模塊(如圖1),它是指令運(yùn)行之前的準(zhǔn)備工作,其功能是從一個(gè)二進(jìn)制的機(jī)器碼中提取出指令運(yùn)行的信息或相關(guān)的程序控制信息。面對(duì)復(fù)雜指令系統(tǒng),如何快速譯碼[4]是本文要解決的問(wèn)題。

圖1 指令集模擬器工作流程

本文所設(shè)計(jì)的譯碼器是基于中國(guó)第一款自主研發(fā)高性能通用DSP“魂芯一號(hào)”[5],該處理器一款32位浮點(diǎn)DSP,同時(shí)兼容16位和32位定點(diǎn)數(shù)據(jù)格式,采用VLIW架構(gòu),具有強(qiáng)大的并行處理能力,能較好地滿(mǎn)足高速實(shí)時(shí)信號(hào)處理的應(yīng)用要求。其核內(nèi)部包含4個(gè)基本執(zhí)行宏,每個(gè)執(zhí)行宏由8個(gè)算術(shù)邏輯單元(ALU)、4個(gè)乘法器(MUL)、2個(gè)移位器(SHF)、1個(gè)超算器(SPU)以及1個(gè)通用寄存組組成。

1 指令系統(tǒng)

BWDSP100提供了十分豐富的指令系統(tǒng),從功能上可以分為算術(shù)指令、邏輯指令、程序控制指令等3大類(lèi),共200多條基本指令,由于操作數(shù)的尋址方式不同,基于這些基本指令可以派生出更多的指令。BWDSP100指令系統(tǒng)的指令按指令字長(zhǎng)度分為單字指令和雙字指令,其單字指令字長(zhǎng)32位,雙字指令字長(zhǎng)64位,大多算術(shù)類(lèi)、邏輯運(yùn)算類(lèi)指令為單字指令,少量算術(shù)類(lèi)和控制類(lèi)指令為雙字指令。

指令字格式如圖2、圖3所示,對(duì)各字段說(shuō)明如下:

指令前綴:表示單/雙字信息和運(yùn)算宏信息,即該指令是單字指令還是雙字指令,及該指令是在哪個(gè)宏上運(yùn)算;

Opcode:是該指令的唯一標(biāo)識(shí),在譯碼器設(shè)計(jì)中,其作為譯碼表中的索引;

指令后綴:表示控制字、尋址方式、立即數(shù)等,例如該指令是有符號(hào)運(yùn)算還是無(wú)符號(hào)運(yùn)算,操作數(shù)是從何處讀取,可以是立即數(shù),也可以從通用寄存器讀取。

圖2 單字指令結(jié)構(gòu)

圖3 雙字指令結(jié)構(gòu)

2 譯碼器設(shè)計(jì)

一般譯碼器的設(shè)計(jì)采用if-else語(yǔ)句的多層嵌套結(jié)構(gòu)或者switch-case多分支選擇語(yǔ)句結(jié)構(gòu)等,其特點(diǎn)是運(yùn)行方向是向前的,結(jié)果只能是眾多分支當(dāng)中的1支。switch-case結(jié)構(gòu)是對(duì)if-else結(jié)構(gòu)的一個(gè)優(yōu)化,但效率并無(wú)明顯提高。查找每條指令都需要經(jīng)過(guò)多次條件比較,若按順序排列指令,排在后面的指令搜索的時(shí)間明顯長(zhǎng)于排在前面的指令。

為提高芯片的運(yùn)行效率,結(jié)合處理器使用Cache的設(shè)計(jì)思想[4],在設(shè)計(jì)時(shí)采用譯碼緩存DecodeCache策略和平衡二叉樹(shù)[6]的結(jié)構(gòu)構(gòu)件譯碼表,對(duì)同一指令減少譯碼次數(shù),縮短指令搜索時(shí)間,提高譯碼效率。譯碼器的設(shè)計(jì)流程圖如圖4所示。

(1)建立譯碼表,為提高指令的搜索速度,減少不同指令之間的搜索時(shí)間差距,采用平衡二叉樹(shù)的數(shù)據(jù)結(jié)構(gòu),以opcode作為索引建立譯碼表,每個(gè)opcode對(duì)應(yīng)一個(gè)譯碼的函數(shù)接口。整理指令系統(tǒng),將所有指令按照指令字格式進(jìn)行分類(lèi),對(duì)指令字格式相同的指令可以使用同一函數(shù)接口。

(2)建立譯碼緩存DecodeCache,大小定義為1024,可根據(jù)實(shí)際需要調(diào)整。實(shí)現(xiàn)時(shí)譯碼緩存DecodeCache可以定義為一組無(wú)符號(hào)的整型數(shù),其定義如下。

圖4 譯碼器流程圖

typedef struct

{

unsigned int UnitsUseCalc;//運(yùn)算宏信息

unsigned int ALUNum;//ALUNum中的每一位表示對(duì)應(yīng)ALU的索引

unsigned int MULNum;//MULNum中的每一位表示對(duì)應(yīng)乘法器的索引

unsigned int SHFNum;//SHFNum中的每一位表示對(duì)應(yīng)移位器的索引

unsigned int SPUNum;//SPUNum中的每一位表示對(duì)應(yīng)特定運(yùn)算單元的索引

}INT_RES_USED;

typedef struct

{

unsigned long DecodeInfo[MAX_PARA_NUM];//用于存放通用寄存器索引、立即數(shù)等

unsigned long Opcode;

unsigned long Inst0;//單字指令字或雙字指令的第一個(gè)指令字

unsigned long Inst1;//雙字指令的第二個(gè)指令字INT_RES_USED InstReSource;//指令所占用的資源信息}INST_DEC_INFO;

INST_DEC_INFO DecodeCache[1024];

(3)在DecodeCache中找尋是否已經(jīng)對(duì)該指令字譯碼,如存在,則直接進(jìn)入下一級(jí)模塊取操作數(shù)執(zhí)行指令,否則對(duì)指令字進(jìn)行譯碼。

(4)對(duì)指令進(jìn)行譯碼,對(duì)于運(yùn)算類(lèi)指令和邏輯類(lèi)指令,從32位/64位指令字中獲取運(yùn)算宏信息、尋址方式(立即數(shù)或者通用寄存器索引);對(duì)于程序控制類(lèi)指令,產(chǎn)生相關(guān)控制信號(hào)。

(5)分配資源,對(duì)運(yùn)算類(lèi)指令和邏輯類(lèi)指令分配運(yùn)算部件,分配的結(jié)果保存于InstReSource數(shù)據(jù)項(xiàng)中。運(yùn)算部件分配的基本原則是:首先,若指令需要指定的運(yùn)算部件,則優(yōu)先分配;其次,其余的運(yùn)算部件,按順序由低到高分配。

(6)將譯碼結(jié)果存入DecodeCache中,準(zhǔn)備讀取操作數(shù)執(zhí)行指令。譯碼緩存DecodeCache的維護(hù)可以采用LRU算法對(duì)緩存中各條記錄進(jìn)行替換。

3 實(shí)驗(yàn)結(jié)果分析

隨意選取BWDSP100指令系統(tǒng)中9條指令做譯碼,如表1,具體BWDSP100指令系統(tǒng)可以參照BWDSP100軟件用戶(hù)手冊(cè)[5]。在構(gòu)建譯碼表時(shí)按順序構(gòu)建一般的表,那么搜索到最后一條Sin指令需要查找9次。按照本文中設(shè)計(jì)方法構(gòu)建譯碼表,如圖5,該表的查找深度是4,查找Sin指令只需要3次,若查找1000條指令最差的查找次數(shù)是10。

4 結(jié)語(yǔ)

本文針對(duì)復(fù)雜指令系統(tǒng)的譯碼器設(shè)計(jì)提出了一種設(shè)計(jì)方法,詳細(xì)講述了譯碼器設(shè)計(jì)流程,給出了主要的數(shù)據(jù)結(jié)構(gòu),適用于各種處理器的指令系統(tǒng),有效提高了指令譯碼的速度,進(jìn)而提升了指令集模擬器的工作效率。鑒于指令集模擬器的快速建模技術(shù)在DSP開(kāi)發(fā)中的重要性,若能將譯碼器設(shè)計(jì)為一個(gè)可重用的構(gòu)件,直接應(yīng)用于指令集模擬器的快速建模,那么可以為設(shè)計(jì)者減少很多工作量,因此進(jìn)一步對(duì)譯碼器的可復(fù)用性研究具有重要的意義。

表1 BWDSP100指令

圖5 四層譯碼表

[1]王元元.基于VLIW的指令格式的研究設(shè)計(jì).計(jì)算機(jī)工程與應(yīng)用,2003,3(72-74)

[2]沈斌,張多利.周期精確的指令集模擬器的建模與封裝方法.中國(guó)集成電路,2007,11:60~64

[3]孫立宏.高性能通用DSP譯碼器設(shè)計(jì).中國(guó)集成電路,2014,06:(29-31)

[4]Nohl A,Braun G,Schliebusch O,et al.A Universal Technique for Fast and Flexible Instruction Set Architecture Simulation.DAC.2002

[5]中國(guó)電子科技集團(tuán)公司第三十八研究所.BWDSP100軟件用戶(hù)手冊(cè)[M].合肥,2011:1~20

[6]解晨.AVL樹(shù)研究與實(shí)現(xiàn).電腦知識(shí)與技術(shù),2013,07期(1532~1536)

Instruction Set Simulator(ISS);Decoder

A Design Method of Complex Instruction System Decoder

ZHAO Xiang

(IC Design Center,No.38 Research Institute of CETC,Hefei 230088)

Introduces a design method of complex instruction system decoder.Adopts balanced binary tree to store information in decoder table and use instruction cache for improving decode speed of instruction in the design.Describes the design method of decoder particularly.

1007-1423(2015)12-0080-04

10.3969/j.issn.1007-1423.2015.12.019

趙香(1983-),女,工程師,研究方向?yàn)榧呻娐奋浖O(shè)計(jì)

2015-03-10

2015-04-07

猜你喜歡
指令設(shè)計(jì)
聽(tīng)我指令:大催眠術(shù)
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
ARINC661顯控指令快速驗(yàn)證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專(zhuān)
Coco薇(2017年5期)2017-06-05 08:53:16
殺毒軟件中指令虛擬機(jī)的脆弱性分析
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: 国产xx在线观看| 一本一本大道香蕉久在线播放| 亚洲永久免费网站| 日韩一区精品视频一区二区| 日本免费精品| 久久99精品久久久久纯品| 欧美亚洲国产精品久久蜜芽| 大陆精大陆国产国语精品1024| 久久久久88色偷偷| 91免费国产高清观看| 国产一二三区在线| 中文字幕日韩丝袜一区| 999福利激情视频| 亚洲无码高清视频在线观看| 久一在线视频| 毛片久久网站小视频| 国产av无码日韩av无码网站| 国产成人亚洲无码淙合青草| 美女黄网十八禁免费看| 在线播放精品一区二区啪视频| 国产欧美日韩视频一区二区三区| 国产欧美视频在线| 粉嫩国产白浆在线观看| 免费人欧美成又黄又爽的视频| 亚洲国产黄色| 亚洲一区二区日韩欧美gif| 亚洲,国产,日韩,综合一区| 国产h视频免费观看| 综合色天天| 色综合成人| 国产香蕉一区二区在线网站| 91麻豆精品国产91久久久久| av大片在线无码免费| 欧美在线观看不卡| 欧美久久网| 综合亚洲色图| 久久免费视频6| 美女一区二区在线观看| 久久亚洲AⅤ无码精品午夜麻豆| 欧美日韩国产成人在线观看| 国产国产人在线成免费视频狼人色| 国产女人综合久久精品视| 色噜噜综合网| 伊人色综合久久天天| 国产精品极品美女自在线| 国产在线欧美| 香蕉久久永久视频| 精品国产香蕉在线播出| 呦系列视频一区二区三区| 亚洲国产天堂久久九九九| 日韩少妇激情一区二区| 日韩精品一区二区三区大桥未久| 国产精品白浆无码流出在线看| 97成人在线视频| 五月六月伊人狠狠丁香网| 精品1区2区3区| 国产精品v欧美| 国产精品主播| 久久黄色小视频| 香蕉蕉亚亚洲aav综合| 欧美亚洲网| 国产男女XX00免费观看| 欧美日韩午夜| 日本欧美午夜| 激情网址在线观看| 国产精品片在线观看手机版| 中文纯内无码H| 亚洲欧美日韩综合二区三区| 国产精品乱偷免费视频| 久久久久无码精品国产免费| 国产精品不卡片视频免费观看| 亚洲丝袜中文字幕| 国产女主播一区| 伊人精品视频免费在线| 欧美亚洲欧美| 国产午夜无码专区喷水| 尤物亚洲最大AV无码网站| 久草美女视频| 国产成年无码AⅤ片在线 | 婷婷五月在线视频| 99视频在线免费观看| 亚洲一区无码在线|