專利名稱:一種專用運算單元alu的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種專用運算單元ALU(算術(shù)邏輯部件),尤其涉及一 種用在電能計量芯片內(nèi)以實現(xiàn)電能計量設(shè)計要求的專用運算單元 ALU。
背景技術(shù):
當電能計量芯片功能和性能加強時,若采用算法直接映射成硬件 的方法,其實現(xiàn)方式是將各數(shù)據(jù)處理算法模塊直接映射為相應(yīng)電路, 其所需要的硬件面積會隨著計算單元數(shù)量的增加或信號處理位數(shù)的增 加而大大增加。并且算法直接映射成硬件的方法兼容性差,在功能或 算法上一旦有所改變,就需要增加模塊或修改電路結(jié)構(gòu)。因此必須設(shè) 計一種新的結(jié)構(gòu),采用新的方法,來滿足多功能高性能的電能計量設(shè) 計要求。
這種新的結(jié)構(gòu)需要一個專用的運算單元ALU,能夠快速執(zhí)行48bit 數(shù)據(jù)的算術(shù)和邏輯操作,結(jié)構(gòu)要簡單,速度要快,經(jīng)濟廉價。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種專用運算單元ALU,它能在芯片內(nèi)實 現(xiàn)電能計量設(shè)計所要求的功能,特別是多功能高性能的電能計量設(shè)計 要求的功能。
為實現(xiàn)上述目的,本發(fā)明提供一種專用運算單元ALU,該專用運 算單元ALU包括有加法器、減法器、乘法器l、乘法器2、除法器、對數(shù)取整、乘法器3、乘法器4、取絕對值、防潛動、取正數(shù)和取負數(shù), 共12個具有48bit運算能力的算術(shù)或邏輯操作模塊。該專用運算單元 ALU通過指令被操作,所述指令長度為27位,其中操作碼占5位、源 1地址占6位、源2地址占6位、目的地址占10位。該專用運算單元 ALU通過外部編程實現(xiàn)電能計量設(shè)計所要求的上述算術(shù)或邏輯操作功 能,特別是多功能高性能的電能計量設(shè)計要求的功能。
本發(fā)明專用運算單元ALU,由于采用了上述的技術(shù)方案,使之與 現(xiàn)有技術(shù)相比,具有以下優(yōu)點和積極效果使用本發(fā)明的一種專用運 算單元ALU結(jié)構(gòu)來實現(xiàn)電能計量設(shè)計要求的芯片,與使用通用的運算 單元ALU相比,通用的運算單元ALU中的很多資源在實現(xiàn)電能計量 多功能高性能算法時并不用到,造成資源浪費,但一些電能計量要求 特有的算法卻沒有,并且市場上沒有現(xiàn)成的可同時實現(xiàn)48bit運算的 ALU。本發(fā)明專用運算單元ALU能在芯片內(nèi)實現(xiàn)電能計量設(shè)計所要求 的功能,特別是多功能高性能的電能計量設(shè)計要求的功能,能夠快速 執(zhí)行48bit數(shù)據(jù)的算術(shù)和邏輯操作,結(jié)構(gòu)簡單,速度快。
通過以下對本發(fā)明專用運算單元ALU的一實施例結(jié)合其附圖的描 述,可以進一步理解本發(fā)明的目的、具體結(jié)構(gòu)特征和優(yōu)點。其中,附 圖為
圖1是專用運算單元ALU的結(jié)構(gòu)示意圖2是專用運算單元ALU的指令示意圖3是專用雙流水線RISC體系結(jié)構(gòu)示意圖。
具體實施例方式
請參見圖1所示,這是專用運算單元ALU的結(jié)構(gòu)示意圖。
該專用 運算單元ALU有兩個48bit的數(shù)據(jù)輸入端, 一個48bit的數(shù)據(jù)輸出端。
該專用運算單元ALU包括的主要模塊為加法器、減法器、乘法器1、 乘法器2、除法器、對數(shù)取整、乘法器3、乘法器4、取絕對值、防潛 動、取正數(shù)和取負數(shù),共12個算術(shù)或邏輯操作模塊。其中各模塊的主 要功能如下
(1) 加法器(48bit+48bit):輸出"數(shù)據(jù)1"和"數(shù)據(jù)2"相加的 結(jié)果;
(2) 減法器(48bit-48Mt):輸出"數(shù)據(jù)1"和"數(shù)據(jù)2"相減的
結(jié)果;
(3) 乘法器(48bit*48bit):輸出"數(shù)據(jù)1"和"數(shù)據(jù)2"相乘后 除以240的結(jié)果;
(4) 乘法器(48bit*48bit ):輸出"數(shù)據(jù)1"和"數(shù)據(jù)2"相乘后 除以228的結(jié)果;
(5) 除法器(48bit/48bit):輸出"數(shù)據(jù)1"和"數(shù)據(jù)2"相除 的結(jié)果;
(6) 對數(shù)取整(48bit):輸出"數(shù)據(jù)l"的1og2值并取整的結(jié)果;
(7) 乘法器(48bit*48bit):輸出"數(shù)據(jù)1"和"數(shù)據(jù)2"相乘 后除以240再取反的結(jié)果;
(
8) 乘法器(48bit*48bit):輸出"數(shù)據(jù)1"和"數(shù)據(jù)2"相乘
的結(jié)果;
(9) 取絕對值(48bit):輸出"數(shù)據(jù)l"的取絕對值的結(jié)果;
(10) 防潛動(48bit):輸出"數(shù)據(jù)l"的防潛動的結(jié)果;
(11) 取正數(shù)(48bit):輸出"數(shù)據(jù)1"的取絕對值的結(jié)果;
(12) 取負數(shù)(48bit):輸出"數(shù)據(jù)l"的取絕對值取反的結(jié)果;
請參見圖2所示,這是專用運算單元ALU的指令示意圖。該專用 運算單元ALU的指令長度27位,其中操作碼5位、源1地址占6位、 源2地址占6位、目的地址占10位。其中各部分代表功能如下
(1) 操作碼(5位)指示運算單元ALU選取12個算術(shù)或邏輯操 作的某一種執(zhí)行操作;
(2) 源1地址(6位)從源1地址中給出輸入到運算單元ALU的
操作數(shù)"數(shù)據(jù)r;
(3) 源2地址(6位)從源2地址中給出輸入到運算單元ALU的 操作數(shù)"數(shù)據(jù)2";
(4) 目的地址(10位)將運算單元ALU的輸出數(shù)據(jù)存放到目的 地址;
請參見圖3所示,這是專用雙流水線RISC體系結(jié)構(gòu)示意圖。
該雙流水線同樣為5級結(jié)構(gòu),因此每條指令都將分為5個不同的 處理階段獲取指令、指令譯碼、指令執(zhí)行、訪問內(nèi)存、數(shù)據(jù)寫回。
該雙流水線包括的主要模塊為指令計數(shù)器、指令存儲器、寄存器 堆、運算單元、數(shù)據(jù)存儲器、數(shù)據(jù)選擇器、跳轉(zhuǎn)預(yù)測模塊和數(shù)據(jù)預(yù)測模塊。其中各模塊的功能如下
(1) 指令計數(shù)器(PC):輸出被執(zhí)行指令在指令存儲器中的位置, 即指令地址指針,輸出llbits信號;
(2) 指令存儲器(IR):存放完成電能計量芯片所有功能的指令。 對應(yīng)硬件為2K*54bits的雙流水線存儲器;
(3) 寄存器堆(Register):存放運算的大量48bit中間數(shù)據(jù)以及 預(yù)先設(shè)定的各種48bit系數(shù),對應(yīng)硬件為雙流水線結(jié)構(gòu),兩條流水線 的數(shù)據(jù)可以相互交換;
(4) 運算單元(ALU ):執(zhí)行需要的算術(shù)和邏輯操作。其中包含48bit 十48bit加法器,48bit-48bit減法器,48bi t * 48bi t乘法器,48bit /48bit除法器,以及其它一些邏輯操作單元。對應(yīng)硬件為雙ALU的雙 流水線結(jié)構(gòu);
(5) 數(shù)據(jù)存儲器(Memory):存儲需要保存下來的運算結(jié)果。兩條 流水線分別對應(yīng)為兩組256*48bit的數(shù)據(jù)。同時大家共用一個寄存器 堆,兩條流水線的數(shù)據(jù)可以相互交換,其中有大約128個8bits - 24bits 的寄存器,用來實現(xiàn)與外部數(shù)據(jù)交換;
(6) 數(shù)據(jù)選擇器(MUX):從多路輸入中選擇某一路輸出;
(7) 跳轉(zhuǎn)預(yù)測模塊此模塊主要為跳轉(zhuǎn)指令服務(wù);
(8) 數(shù)據(jù)預(yù)測模塊每條流水線都有一個數(shù)據(jù)預(yù)測模塊。在流水線 方式中完成前后指令中需要解決的數(shù)據(jù)預(yù)測功能。
本發(fā)明是這樣工作的將用來實現(xiàn)電能計量芯片所有功能的指令 按序存放在指令存儲器,由指令計數(shù)器來控制指令的運行,每條指令都將分為5個不同的處理階段獲取指令、指令譯碼、指令執(zhí)行、訪 問內(nèi)存、數(shù)據(jù)寫回。其中,專用運算單元ALU的12個算術(shù)或邏輯操作, 對應(yīng)5級流水線,執(zhí)行步驟為從指令計數(shù)器(PC)指向的指令存儲 器(IR )中讀出指令放入寄存器堆(Register )->從寄存器堆(Register) 讀出源操作數(shù)^在運算單元(ALU)中進行運算">將結(jié)果傳到數(shù)據(jù)存儲 器(Memory ),不參與存儲器訪問操作^將計算結(jié)果由數(shù)據(jù)選擇器(MUX ) 寫回到寄存器堆(Register )。本發(fā)明的專用運算單元ALU結(jié)構(gòu)簡單, 工作速度快,應(yīng)用靈活,能最經(jīng)濟的實現(xiàn)電能計量設(shè)計所要求的功能, 特別是多功能高性能的電能計量設(shè)計要求的功能,做成廉價且功耗低 的產(chǎn)品。
綜上所述,本發(fā)明實現(xiàn)電能計量設(shè)計所要求功能,應(yīng)用在電能計 量芯片內(nèi),結(jié)構(gòu)簡單,應(yīng)用靈活,經(jīng)濟實用。
權(quán)利要求
1. 一種電能計量設(shè)計的專用運算單元ALU,其特征在于該專用運算單元ALU包括有加法器、減法器、乘法器(1)、乘法器(2)、除法器、對數(shù)取整、乘法器(3)、乘法器(4)、取絕對值、防潛動、取正數(shù)和取負數(shù),共12個具有48bit運算能力的算術(shù)或邏輯操作模塊;該專用運算單元通過指令被操作,所述指令長度為27位,其中操作碼占5位、源1地址占6位、源2地址占6位、目的地址占10位(1)操作碼指示運算單元ALU選取12個算術(shù)或邏輯操作的某一種執(zhí)行操作;(2)源1地址從源1地址中給出輸入到運算單元ALU的操作數(shù)“數(shù)據(jù)1”;(3)源2地址從源2地址中給出輸入到運算單元ALU的操作數(shù)“數(shù)據(jù)2”;(4)目的地址將運算單元ALU的輸出數(shù)據(jù)存放到目的地址;該專用運算單元ALU通過外部編程實現(xiàn)電能計量設(shè)計所要求的上述算術(shù)或邏輯操作功能。
2、 如權(quán)利要求1所述的專用運算單元ALU,其特征在于,其每一 條指令對應(yīng)一個算術(shù)或邏輯操作。
3、 如權(quán)利要求1所述的專用運算單元ALU,其特征在于加法器輸出"數(shù)據(jù)r和"數(shù)據(jù)2"相加的結(jié)果; 減法器輸出"數(shù)據(jù)l"和"數(shù)據(jù)2"相減的結(jié)果; 乘法器l:輸出"數(shù)據(jù)1"和"數(shù)據(jù)2"相乘后除以240的結(jié)果; 乘法器2:輸出"數(shù)據(jù)1"和"數(shù)據(jù)2"相乘后除以228的結(jié)果; 除法器輸出"數(shù)據(jù)1"和"數(shù)據(jù)2"相除的結(jié)果; 對數(shù)取整輸出"數(shù)據(jù)l"的1og2值并取整的結(jié)果;乘法器3:輸出"數(shù)據(jù)1"和"數(shù)據(jù)2"相乘后除以240再取反的結(jié)果;乘法器4:輸出"數(shù)據(jù)l"和"數(shù)據(jù)2"相乘的結(jié)果;取絕對值輸出"數(shù)據(jù)1"的取絕對值的結(jié)果;防潛動輸出"數(shù)據(jù)l"的防潛動的結(jié)果;取正數(shù)輸出"數(shù)據(jù)r的取絕對值的結(jié)果;取負數(shù)輸出"數(shù)據(jù)l"的取絕對值取反的結(jié)果。
4、如權(quán)利要求1所述的專用運算單元ALU,其特征在于所述指令分為5個處理階段獲取指令、指令譯碼、指令執(zhí)行、訪問內(nèi)存、數(shù)據(jù)寫回。
全文摘要
本發(fā)明公開一種專用運算單元ALU,包括有加法器、減法器、乘法器(1)、乘法器(2)、除法器、對數(shù)取整、乘法器(3)、乘法器(4)、取絕對值、防潛動、取正數(shù)和取負數(shù),共12個具有48bit運算能力的算術(shù)或邏輯操作模塊。該專用運算單元ALU通過指令被操作,所述指令長度為27位,其中操作碼占5位、源1地址占6位、源2地址占6位、目的地址占10位。每一條指令對應(yīng)一個算術(shù)或邏輯操作,通過外部編程,ALU能實現(xiàn)電能計量設(shè)計所要求的功能,特別是多功能高性能的電能計量設(shè)計要求的功能,結(jié)構(gòu)簡單,速度快。
文檔編號G06F7/57GK101206561SQ20061014783
公開日2008年6月25日 申請日期2006年12月22日 優(yōu)先權(quán)日2006年12月22日
發(fā)明者王祥莉, 明 韓 申請人:上海貝嶺股份有限公司