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