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

一種復雜指令系統(tǒng)譯碼器設計方法

2015-09-16 08:22:11
現(xiàn)代計算機 2015年12期
關鍵詞:指令設計

趙 香

一種復雜指令系統(tǒng)譯碼器設計方法

趙香

(中國電子科技集團公司第三十八研究所集成電路設計中心,合肥230088)

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

指令集模擬器;譯碼器

0 引言

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

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

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

1 指令系統(tǒng)

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

指令字格式如圖2、圖3所示,對各字段說明如下:

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

Opcode:是該指令的唯一標識,在譯碼器設計中,其作為譯碼表中的索引;

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

圖2 單字指令結構

圖3 雙字指令結構

2 譯碼器設計

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

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

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

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

圖4 譯碼器流程圖

typedef struct

{

unsigned int UnitsUseCalc;//運算宏信息

unsigned int ALUNum;//ALUNum中的每一位表示對應ALU的索引

unsigned int MULNum;//MULNum中的每一位表示對應乘法器的索引

unsigned int SHFNum;//SHFNum中的每一位表示對應移位器的索引

unsigned int SPUNum;//SPUNum中的每一位表示對應特定運算單元的索引

}INT_RES_USED;

typedef struct

{

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

unsigned long Opcode;

unsigned long Inst0;//單字指令字或雙字指令的第一個指令字

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

INST_DEC_INFO DecodeCache[1024];

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

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

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

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

3 實驗結果分析

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

4 結語

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

表1 BWDSP100指令

圖5 四層譯碼表

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

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

[3]孫立宏.高性能通用DSP譯碼器設計.中國集成電路,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]中國電子科技集團公司第三十八研究所.BWDSP100軟件用戶手冊[M].合肥,2011:1~20

[6]解晨.AVL樹研究與實現(xiàn).電腦知識與技術,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-),女,工程師,研究方向為集成電路軟件設計

2015-03-10

2015-04-07

猜你喜歡
指令設計
聽我指令:大催眠術
何為設計的守護之道?
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: 国产网友愉拍精品视频| 国产精品成人AⅤ在线一二三四 | 播五月综合| 国产福利免费视频| 精品视频在线一区| 久久人体视频| 日本欧美一二三区色视频| 亚洲天堂网视频| 日韩麻豆小视频| 国产自在线播放| 亚洲精品动漫| 日韩在线永久免费播放| 国产一区二区人大臿蕉香蕉| 第一区免费在线观看| 小说 亚洲 无码 精品| 国产乱码精品一区二区三区中文 | 日日拍夜夜嗷嗷叫国产| 国产福利在线观看精品| 国产在线一二三区| 996免费视频国产在线播放| 四虎精品黑人视频| 欧美不卡视频在线| 九色视频在线免费观看| 亚洲一区二区黄色| 免费在线不卡视频| 国产精品美女在线| 国产男女XX00免费观看| 极品私人尤物在线精品首页| 国产69精品久久久久孕妇大杂乱| 99国产精品一区二区| 99国产精品免费观看视频| 色哟哟色院91精品网站| 亚洲伦理一区二区| 91激情视频| a色毛片免费视频| av在线无码浏览| 欧洲免费精品视频在线| 色综合久久无码网| 亚洲av综合网| 婷婷综合色| 午夜欧美在线| 国产日韩av在线播放| 东京热一区二区三区无码视频| 精品国产三级在线观看| 蜜桃视频一区二区三区| 黄色网址手机国内免费在线观看| 亚洲第一综合天堂另类专| 亚洲无码一区在线观看| a天堂视频在线| 超碰91免费人妻| 呦视频在线一区二区三区| 波多野结衣在线一区二区| 国产午夜福利亚洲第一| 免费黄色国产视频| 成人无码一区二区三区视频在线观看| 精品视频一区在线观看| 波多野结衣视频一区二区| 欧洲高清无码在线| 精品国产Av电影无码久久久| 国产成人艳妇AA视频在线| 久久公开视频| 中文字幕久久波多野结衣| 国产免费羞羞视频| 天天综合网在线| 污网站在线观看视频| 狠狠五月天中文字幕| 2021国产精品自产拍在线| 丁香五月婷婷激情基地| 国产男女免费完整版视频| 91免费观看视频| 日韩欧美在线观看| 91日本在线观看亚洲精品| 欧美日韩免费在线视频| 欧美色视频在线| 男女男精品视频| 国产一级特黄aa级特黄裸毛片| 亚洲熟妇AV日韩熟妇在线| 91在线丝袜| 国产乱人伦AV在线A| 四虎成人精品| 色九九视频| 国产精品尤物在线|