两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種實現(xiàn)自然對數(shù)和自然指數(shù)函數(shù)的可重構(gòu)陣列結(jié)構(gòu)的制作方法

文檔序號:12599787閱讀:911來源:國知局
一種實現(xiàn)自然對數(shù)和自然指數(shù)函數(shù)的可重構(gòu)陣列結(jié)構(gòu)的制作方法與工藝

本發(fā)明涉及使用可編程可重構(gòu)的陣列結(jié)構(gòu)實現(xiàn)自然對數(shù)和自然指數(shù)函數(shù)的迭代計算。



背景技術(shù):

近年來,可重構(gòu)計算技術(shù)逐漸成為高性能計算機(jī)系統(tǒng)研究中的一個新的熱點,它的出現(xiàn)讓過去傳統(tǒng)意義上的硬件和軟件界限變得模糊??芍貥?gòu)計算使硬件變得可“編譯”,可以在一個結(jié)構(gòu)上完成各種各樣的任務(wù),大幅度提高系統(tǒng)的總體性能。

在一些應(yīng)用場合會先后用到自然對數(shù)(lnx)和自然指數(shù)(ex)函數(shù)的結(jié)果,傳統(tǒng)的硬件實現(xiàn)一種結(jié)構(gòu)只能完成一種函數(shù)的計算,而本發(fā)明中的可重構(gòu)陣列結(jié)構(gòu)可以在不改變結(jié)構(gòu)的情況下,只通過改變編程、重新配置就可以依次實現(xiàn)兩種函數(shù)的計算。



技術(shù)實現(xiàn)要素:
。

本發(fā)明實施的內(nèi)容是提出一種使用8個處理元(PE)構(gòu)成的可編程可重構(gòu)的陣列結(jié)構(gòu),而且在該結(jié)構(gòu)上既可以實現(xiàn)lnx函數(shù)的8次迭代計算,也可以實現(xiàn)ex函數(shù)的8次迭代計算。

本發(fā)明實施的內(nèi)容是提出一種使用8個處理元(PE)構(gòu)成的可編程可重構(gòu)的陣列結(jié)構(gòu),而且在該結(jié)構(gòu)上既可以實現(xiàn)lnx函數(shù)的8次迭代計算,也可以實現(xiàn)ex函數(shù)的8次迭代計算。

為實現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方法如下:

在8個處理元(PE)的一號地址中存入事先計算好的ln(1+2-i),i=0,1,2,3,4,5,6,7的值,分別為0.69314718、0.40546511、0.22314355、0.11779303、0.06062462、0.03077165、0.01550418、0.00778214;

在處理元(PE1)中進(jìn)行第一次迭代運(yùn)算,計算x(1)=x(0)(1+2-0),并判斷當(dāng)時x(1)<1,x(1)保留迭代結(jié)果,y(1)=y(0)-ln(1+2-0),否則x(1)取迭代前的值,y(1)=y(0) ;具體實現(xiàn)過程是:

1)進(jìn)行加法運(yùn)算將初始值x(0)的值存入寄存器R1中;

2)進(jìn)行加法運(yùn)算將1存入寄存器R2中;

3)進(jìn)行移位運(yùn)算將R1左移R2位存入寄存器R3中;

4)進(jìn)行加法運(yùn)算將256存入寄存器R2中;

5)進(jìn)行判斷,如果R3<R2,進(jìn)行加法運(yùn)算,R3的值還是R3的值,再進(jìn)行減法運(yùn)算R0減去1號地址中的值存入R4中;如果R3>R2,進(jìn)行加法運(yùn)算,R3的值就是R1的值,再進(jìn)行加法運(yùn)算,R4的值為R0的值;跳轉(zhuǎn)出判斷運(yùn)算;

6)進(jìn)行加法運(yùn)算,將R4的值存入寄存器R3中;

同理,在處理元(PE2,PE3,PE4,PE5,PE6,PE7,PE8)中進(jìn)行剩下的相同原理的7次迭代,依次將二進(jìn)制的指令全部存在指令存儲器中;

在處理元(PE1)中進(jìn)行第一次迭代運(yùn)算;首先計算y(1)=y(0)-ln(1+2-0),并判斷當(dāng)y(1)≥1時,y(1)保留迭代結(jié)果,x(1)=x(0) (1+2-0),否則y(1)取迭代前的值,x(1)=x(0) ;具體實現(xiàn)過程為:

1)進(jìn)行加法運(yùn)算將初始值y(0)的值存入寄存器R1中;

2)進(jìn)行加法運(yùn)算將1存入寄存器R2中;

3)進(jìn)行加法運(yùn)算將256存入寄存器R6中;

4)進(jìn)行減法運(yùn)算將R1減去1號地址中的值存入R4中;

5)進(jìn)行判斷,如果R4<R0,進(jìn)行加法運(yùn)算將R1的值存入R4中,再進(jìn)行加法運(yùn)算將R6的值存入R5中;

6)如果R4>R0,進(jìn)行加法運(yùn)算,R4的值不變,再進(jìn)行移位運(yùn)算將R6左移R2位存入R5中;7)跳轉(zhuǎn)出判斷運(yùn)算;

8)進(jìn)行加法運(yùn)算,依次將將R4和R5的值存入寄存器R3中;

同理,在處理元(PE2,PE3,PE4,PE5,PE6,PE7,PE8)中進(jìn)行剩下的相同原理的7次迭代,將二進(jìn)制指令全部存在指令存儲器中;

完成兩函數(shù)二進(jìn)制指令的存儲后,通過配置處理元(PE)來完成重構(gòu)。

本發(fā)明提出了一種可重構(gòu)的陣列結(jié)構(gòu),可以實現(xiàn)lnx和ex函數(shù)的8次迭代計算,這樣針對同一應(yīng)用中先后需要這兩種不同的超越函數(shù)的場合,具有較大優(yōu)勢,不僅節(jié)約了資源,而且縮短了等待時間,提高了運(yùn)算效率。

附圖說明

附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,用來解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:

圖1為本發(fā)明的4×2的陣列結(jié)構(gòu)圖;

圖2為本發(fā)明實施例提供的PE鄰接互聯(lián)示意圖;

圖3為在該結(jié)構(gòu)實現(xiàn)的lnx和ex函數(shù)的算法結(jié)構(gòu)圖。

具體實施方式

本發(fā)明實施提供了一種使用8個PE構(gòu)成的可編程可重構(gòu)的流水結(jié)構(gòu),如圖1所示。每兩個相鄰的PE間采用鄰接互連,如圖2所示,當(dāng)從左向右傳數(shù)據(jù)時寄存器R3和寄存器R10相鄰;當(dāng)從上向下傳數(shù)據(jù)時寄存器R4和寄存器R11相鄰;當(dāng)從右向左傳數(shù)據(jù)時寄存器R5和寄存器R8相鄰。當(dāng)PE00需要傳遞數(shù)據(jù)給PE01時,只需要將數(shù)據(jù)寫入到寄存器R3中,下一個時鐘周期時寄存器R10接收來自R3的數(shù)據(jù)完成相鄰處理器間的數(shù)據(jù)傳遞。

實現(xiàn)lnx函數(shù)的算法具體如下:

該算法屬于回退分解算法(restoring decomposition algorithm),迭代公式為

(1)

每一次的迭代按di=1進(jìn)行迭代,若x(i)(1+2-i)<1,則di=1,否則di=0,迭代終止的條件為:x(m)=1;

迭代終止時:y(m)y(0)+lnx(0) ,令y(0)=1,則y(m) lnx(0) 。

由于該算法的收斂速度與數(shù)據(jù)表示的精度密切相關(guān)。設(shè)操作位數(shù)為k位的精度,考慮到當(dāng)ε2<1ulp(Unit of Last Place)時,ln(1+ε)=ε-ε2/2+ε3/3-…≈ε,即當(dāng)?shù)螖?shù)i>|k/2時,ln(1+di2-i)≈di2-i,當(dāng)i>k時,2-i≈0,可停止迭代??紤]到,本結(jié)構(gòu)中每個PE中的操作數(shù)采用8位整數(shù)、8位小數(shù)共16位有符號定點數(shù)表述,最高位為符號位,精度為8,因此使用8個PE迭代8次來實現(xiàn)lnx的計算。

具體實現(xiàn)步驟如下(圖3):

步驟一:在8個PE的1號地址中分別存入事先算好的ln(1+2-i),i=0,1,2,3,4,5,6,7的數(shù)值,分別為0.69314718、0.40546511、0.22314355、0.11779303、0.06062462、0.03077165、0.01550418、0.00778214;

步驟二:在PE1中完成i=1時的第一次迭代:

1)寄存器R1中存入計算初值x(0)=x;

2)在寄存器R2中存入值1;

3)R1左移R2位結(jié)果放到寄存器R3中;

4)R2中放入數(shù)值256(定點數(shù)前8整數(shù),后8位小數(shù),所有256其實就是1);

5)判斷R2和R3的大小,如果R3<R2,跳轉(zhuǎn)到第9條指令R3的值不變,R4等于0減去1號地址中存的值;否則繼續(xù),R3等于R1的值,R4等于0;

6)將R3鄰接互連傳到PE2;

7)等三拍后,將R4的值存入R3傳給PE2;

步驟三:在PE2中完成i=2時的第二次迭代:

1)寄存器R1存入1;

2)寄存器R2中存入256;

3)中將數(shù)據(jù)傳過來后將R10存入R5中;

4)R5右移R1位存入R3中;

5)R5加R3存入R3中;

6)判斷R2和R3的大小,如果R3<R2,跳轉(zhuǎn)到第16條指令R3的值不變,R4等于0減去1號地址中存的值;否則繼續(xù),R3等于R1的值,R4等于0;

7)將R3鄰接互連傳到PE3;

8)等三拍后,將R4的值存入R3傳給PE3;

按照上面相同的方式,依次在PE3,PE4,PE5,PE6,PE7,PE8中完成剩下的迭代,在PE8中輸出運(yùn)算結(jié)果;

實現(xiàn)ex函數(shù)的算法如下所示:

該算法也屬于回退分解算法(restoring decomposition algorithm)迭代公式如下:

(2)

每一次的迭代按di=1進(jìn)行迭代,若y(i)-ln(1+2-i)≥0,則di=1,否則di=0,迭代終止的條件為:有y(m)=0;

迭代終止時: ,令x(0)=1,則。

具體實現(xiàn)步驟如下(圖3):

步驟一:在8個PE的1號地址中分別存入事先算好的ln(1+2-i),i=0,1,2,3,4,5,6,7的數(shù)值,分別為0.69314718、0.40546511、0.22314355、0.11779303、0.06062462、0.03077165、0.01550418、0.00778214;

步驟二:在PE1中完成i=1時的第一次迭代: 1)寄存器R1中存入計算初值x(0)=x;

2)在寄存器R2中存入值1;

3)R2中放入數(shù)值256(定點數(shù)前8整數(shù),后8位小數(shù),所有256其實就是1);

4)R1減去1號存儲中的值存入寄存器R4中;

5)判斷R4和R0(默認(rèn)為0)的大小,如果R4<R0,跳轉(zhuǎn)到第9條指令R4的值等于R1的值,R5等于R0加上R6;否則繼續(xù),R4的值不變,R5等于R6左移R2位;

6)將R4鄰接互連傳到PE2;

7)等三拍后,將R5的值存入R3傳給PE2;

步驟三:在PE2中完成i=2時的第二次迭代:

1)寄存器R1存入1;

2)寄存器R2中存入256;

3)將數(shù)據(jù)傳過來后將R10存入R5中;

4)R1減去1號存儲中的值存入寄存器R4中;

5)判斷R4和R0(默認(rèn)為0)的大小,如果R4<R0,跳轉(zhuǎn)到第16條指令R4的值等于R1的值,R5等于R0加上R6;否則繼續(xù),R4的值不變,R5等于R6左移R2位;

6)將R4鄰接互連傳到PE2;

7)等三拍后,將R5的值存入R3傳給PE3;

按照上面相同的方式,依次在PE3,PE4,PE5,PE6,PE7,PE8中完成剩下的迭代,在PE8中輸出運(yùn)算結(jié)果;

完成兩函數(shù)二進(jìn)制指令的存儲后,通過配置處理元(PE)來完成重構(gòu)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
临泽县| 巴林左旗| 齐齐哈尔市| 揭阳市| 德格县| 太保市| 彰武县| 泸水县| 肥东县| 湟中县| 绍兴市| 呼和浩特市| 田林县| 德兴市| 化隆| 云南省| 禄丰县| 凤城市| 湖南省| 阿城市| 株洲市| 丹凤县| 尼木县| 山阳县| 怀远县| 崇阳县| 茌平县| 始兴县| 潼关县| 汉川市| 南投县| 惠东县| 汝南县| 山阳县| 彭水| 镇原县| 罗平县| 昌吉市| 长春市| 秀山| 色达县|