一種支持多模式乘法器的部分積復(fù)用方法
【專利摘要】本發(fā)明涉及一種支持多模式乘法器的部分積復(fù)用方法,用于支持三種單指令多數(shù)據(jù)流模式的有符號(hào)乘法器中,實(shí)現(xiàn)一個(gè)32位、兩個(gè)16位或四個(gè)8位乘法運(yùn)算,該方法包括以下步驟:(1)將操作數(shù)通過Booth?4編碼生成32位原部分積;(2)對(duì)原部分積進(jìn)行符號(hào)擴(kuò)展生成擴(kuò)展部分積;(3)通過選擇器對(duì)擴(kuò)展部分積進(jìn)行組合,生成36位最終部分積。與現(xiàn)有技術(shù)相比,本發(fā)明具有節(jié)省硬件資源等優(yōu)點(diǎn)。
【專利說明】
一種支持多模式乘法器的部分積復(fù)用方法
技術(shù)領(lǐng)域
[0001]本發(fā)明屬計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)與集成電路技術(shù)領(lǐng)域,尤其是涉及一種支持多模式乘法器的部分積復(fù)用方法。
【背景技術(shù)】
[0002]在專用指令集處理器(ASIP)設(shè)計(jì)中,乘法運(yùn)算單元對(duì)處理器的速度、功耗、面積等特性都有很大影響。其性能已成為衡量處理器性能的一個(gè)重要指標(biāo)。
[0003]為提高處理器的應(yīng)用性能,需要處理器支持不同字長(zhǎng)的SMD指令。在不同snrn模式下,處理器將對(duì)不同位寬的操作數(shù)進(jìn)行乘法運(yùn)算。首先生成部分積,再通過部分積的相加得到最終乘法運(yùn)算的結(jié)果。但在不同模式下產(chǎn)生的部分積位寬不相同,各級(jí)部分積的權(quán)值也不相同。針對(duì)這一運(yùn)算需求,如果使用多個(gè)不同位寬的乘法器,會(huì)消耗過多的硬件資源。因此需要有一種支持多模式乘法器的部分積復(fù)用方法方法能夠?qū)崿F(xiàn)部分積的復(fù)用。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種支持多模式乘法器的部分積復(fù)用方法,應(yīng)用于處理器中乘法器單元的設(shè)計(jì)。該方法針對(duì)支持三種SMD模式的有符號(hào)乘法器設(shè)計(jì),可執(zhí)行I個(gè)32位乘法、2個(gè)16位乘法、或4個(gè)8位乘法。經(jīng)過符號(hào)擴(kuò)展的操作數(shù)通過Booth-2編碼生成35位部分積,其中33-35位為符號(hào)擴(kuò)展位。
[0005]本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):一種支持多模式乘法器的部分積復(fù)用方法,用于支持三種單指令多數(shù)據(jù)流模式的有符號(hào)乘法器中,實(shí)現(xiàn)一個(gè)32位、兩個(gè)16位或四個(gè)8位乘法運(yùn)算,該方法包括以下步驟:
[0006](I)將操作數(shù)通過Booth-4編碼生成32位原部分積;
[0007](2)對(duì)原部分積進(jìn)行符號(hào)擴(kuò)展生成擴(kuò)展部分積;
[0008](3)通過選擇器對(duì)擴(kuò)展部分積進(jìn)行組合,生成36位最終部分積。
[0009]所述的擴(kuò)展部分積第O位為符號(hào)位,第33-35位為符號(hào)擴(kuò)展位。
[0010]所述的步驟(3)中進(jìn)行一個(gè)32位乘法運(yùn)算時(shí),最終部分積為擴(kuò)展部分積。
[0011]所述的步驟(3)中進(jìn)行兩個(gè)16位乘法運(yùn)算時(shí),最終部分積的0-8位為擴(kuò)展部分積的0-8位,最終部分積的9-16位通過2路選擇器選擇擴(kuò)展部分積的9-16位,17-19位通過3路選擇器選擇擴(kuò)展部分積的符號(hào)擴(kuò)展位,其余部分均通過各路選擇器置零。
[0012]所述的步驟(3)中進(jìn)行四個(gè)8位乘法運(yùn)算時(shí),最終部分積的0-8位為擴(kuò)展部分積的0-8位,最終部分積的9-11位通過2路選擇器選擇擴(kuò)展部分積的符號(hào)擴(kuò)展位,其余部分均通過各路選擇器置零。
[0013]與現(xiàn)有技術(shù)相比,本發(fā)明主要引入了一種支持多模式乘法器的部分積復(fù)用方法部分積選擇策略,以實(shí)現(xiàn)部分積的復(fù)用,從而在只增加有限的硬件邏輯的條件下,實(shí)現(xiàn)成乘法器對(duì)多種SMD模式的支持。本發(fā)明中的部分積復(fù)用方法通過增加有限的硬件邏輯,使得一個(gè)乘法器可以實(shí)現(xiàn)多種SMD模式,支持多種位寬操作數(shù)的運(yùn)算,節(jié)省了硬件資源從而提高了性能。
【附圖說明】
[0014]圖1為I個(gè)32位SBffi模式下的部分積;
[0015]圖2為2個(gè)16位SM)模式下的部分積;
[0016]圖3為4個(gè)8位SIMD模式下的部分積;
[0017]圖4為部分積的選擇示意圖。
【具體實(shí)施方式】
[0018]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說明。
[0019]本發(fā)明針對(duì)支持多模式乘法器設(shè)計(jì)提出一種部分積選擇復(fù)用方法。該方法針對(duì)支持三種S頂D模式的有符號(hào)乘法器設(shè)計(jì),可執(zhí)行I個(gè)32位乘法、2個(gè)16位乘法、或4個(gè)8位乘法。
[0020]三種SMD模式均要生成16個(gè)部分積,但各個(gè)部分積的位寬不同,最低位的權(quán)值也不相同。分別如圖1、圖2、圖3所不。其中每一圓點(diǎn)代表部分積的一位。
[0021]其0-8位部分積在三種模式下均相同,9-16位、20-32位以及33-35符號(hào)擴(kuò)充位在三種模式中有兩組相同,17-19位在三種模式下有三組不同結(jié)果。
[0022]針對(duì)不同模式,如圖4所示,0-8位可直接獲得結(jié)果,9-16位、25-32位采用8比特2路選擇器選擇結(jié)果,20-24位采用5比特2路選擇器選擇結(jié)果,17-19位采用3比特3路選擇器選擇結(jié)果。
[0023]該方法包括以下步驟:
[0024](I)將操作數(shù)通過Booth-4編碼生成32位原部分積;
[0025](2)對(duì)原部分積進(jìn)行符號(hào)擴(kuò)展生成擴(kuò)展部分積,末位增加符號(hào)位,高位增加符號(hào)擴(kuò)展位,即擴(kuò)展部分積第O位為符號(hào)位,第33-35位為符號(hào)擴(kuò)展位;
[0026](3)通過選擇器對(duì)擴(kuò)展部分積進(jìn)行組合,生成36位最終部分積。
[0027]步驟(3)中進(jìn)行一個(gè)32位乘法運(yùn)算時(shí),最終部分積為擴(kuò)展部分積。
[0028]步驟(3)中進(jìn)行兩個(gè)16位乘法運(yùn)算時(shí),最終部分積的0-8位為擴(kuò)展部分積的0-8位,最終部分積的9-16位通過2路選擇器選擇擴(kuò)展部分積的9-16位,17-19位通過3路選擇器選擇擴(kuò)展部分積的符號(hào)擴(kuò)展位,其余部分均通過各路選擇器置零。
[0029]步驟(3)中進(jìn)行四個(gè)8位乘法運(yùn)算時(shí),最終部分積的0-8位為擴(kuò)展部分積的0-8位,最終部分積的9-11位通過2路選擇器選擇擴(kuò)展部分積的符號(hào)擴(kuò)展位,其余部分均通過各路選擇器置零。
[0030]本發(fā)明所主張的權(quán)利范圍并不局限于此。本發(fā)明還有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,本領(lǐng)域技術(shù)人員可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種支持多模式乘法器的部分積復(fù)用方法,用于支持三種單指令多數(shù)據(jù)流模式的有符號(hào)乘法器中,其特征在于,實(shí)現(xiàn)一個(gè)32位、兩個(gè)16位或四個(gè)8位乘法運(yùn)算,該方法包括以下步驟: (1)將操作數(shù)通過Booth-4編碼生成32位原部分積; (2)對(duì)原部分積進(jìn)行符號(hào)擴(kuò)展生成擴(kuò)展部分積; (3)通過選擇器對(duì)擴(kuò)展部分積進(jìn)行組合,生成36位最終部分積。2.根據(jù)權(quán)利要求1所述的一種支持多模式乘法器的部分積復(fù)用方法,其特征在于,所述的擴(kuò)展部分積第O位為符號(hào)位,第33-35位為符號(hào)擴(kuò)展位。3.根據(jù)權(quán)利要求1所述的一種支持多模式乘法器的部分積復(fù)用方法,其特征在于,所述的步驟(3)中進(jìn)行一個(gè)32位乘法運(yùn)算時(shí),最終部分積為擴(kuò)展部分積。4.根據(jù)權(quán)利要求1所述的一種支持多模式乘法器的部分積復(fù)用方法,其特征在于,所述的步驟(3)中進(jìn)行兩個(gè)16位乘法運(yùn)算時(shí),最終部分積的0-8位為擴(kuò)展部分積的0-8位,最終部分積的9-16位通過2路選擇器選擇擴(kuò)展部分積的9-16位,17-19位通過3路選擇器選擇擴(kuò)展部分積的符號(hào)擴(kuò)展位,其余部分均通過各路選擇器置零。5.根據(jù)權(quán)利要求1所述的一種支持多模式乘法器的部分積復(fù)用方法,其特征在于,所述的步驟(3)中進(jìn)行四個(gè)8位乘法運(yùn)算時(shí),最終部分積的0-8位為擴(kuò)展部分積的0-8位,最終部分積的9-11位通過2路選擇器選擇擴(kuò)展部分積的符號(hào)擴(kuò)展位,其余部分均通過各路選擇器置零。
【文檔編號(hào)】G06F7/523GK105824601SQ201610196520
【公開日】2016年8月3日
【申請(qǐng)日】2016年3月31日
【發(fā)明人】吳俊 , 張志峰, 牛麗凡, 任浩琪, 趙朝興, 陳鑫
【申請(qǐng)人】同濟(jì)大學(xué)