用于求解數(shù)學(xué)函數(shù)的計(jì)算機(jī)及方法
【專利說明】用于求解數(shù)學(xué)函數(shù)的計(jì)算機(jī)及方法
【背景技術(shù)】
[0001] -些計(jì)算機(jī)被用于執(zhí)行復(fù)雜的數(shù)學(xué)函數(shù),例如立方根和雙曲三角函數(shù)。這些復(fù)雜 的數(shù)學(xué)函數(shù)需要許多循環(huán)來實(shí)現(xiàn),這浪費(fèi)時(shí)間并且使用大量能量。當(dāng)計(jì)算機(jī)需要在短時(shí)期 內(nèi)計(jì)算許多復(fù)雜函數(shù)時(shí),計(jì)算復(fù)雜函數(shù)所要求的長時(shí)間造成了問題。例如,如果計(jì)算機(jī)被用 于引導(dǎo)飛機(jī),計(jì)算機(jī)可能需要使用復(fù)雜函數(shù)計(jì)算來自多個(gè)傳感器的俯仰、傾斜以及橫滾。
[0002] 計(jì)算復(fù)雜函數(shù)所需要的高能量需求成為以有限電力供應(yīng)例如電池來運(yùn)行的計(jì)算 機(jī)的問題。復(fù)雜函數(shù)的計(jì)算需要許多循環(huán),這主要利用電池。另外,高能量需求產(chǎn)生熱,這 可以干擾計(jì)算機(jī)的運(yùn)行。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明公開了用于執(zhí)行數(shù)學(xué)函數(shù)的計(jì)算機(jī)和方法。計(jì)算機(jī)的實(shí)施例包括運(yùn)算級(jí)和 驅(qū)動(dòng)器級(jí)。運(yùn)算級(jí)執(zhí)行數(shù)學(xué)運(yùn)算。驅(qū)動(dòng)器級(jí)包括第一查找表和第二查找表,其中第一查找 表包括用于使用第一精度水平計(jì)算至少一個(gè)數(shù)學(xué)函數(shù)的第一數(shù)據(jù)。第二查找表包括用于使 用第二精度水平計(jì)算該至少一個(gè)數(shù)學(xué)函數(shù)的第二數(shù)據(jù),其中第一精度水平高于第二精度水 平。驅(qū)動(dòng)器執(zhí)行來自第一查找表或者第二查找表的數(shù)據(jù),并且向運(yùn)算級(jí)發(fā)送指令。
【附圖說明】
[0004] 圖1是用于求解復(fù)雜數(shù)學(xué)函數(shù)的計(jì)算機(jī)的實(shí)施例的高級(jí)框圖。
[0005] 圖2是說明由圖1的計(jì)算機(jī)的驅(qū)動(dòng)器級(jí)計(jì)算的數(shù)學(xué)函數(shù)的示例的表。
[0006] 圖3是說明由圖1的計(jì)算機(jī)計(jì)算的復(fù)雜函數(shù)的示例的表。
[0007] 圖4是當(dāng)圖1的計(jì)算機(jī)使用基本運(yùn)算計(jì)算等式時(shí)其流圖。
[0008] 圖5是當(dāng)圖1的計(jì)算機(jī)計(jì)算函數(shù)sin(x)時(shí)其流圖。
[0009] 圖6是描述圖1的計(jì)算機(jī)的操作的流程圖。
【具體實(shí)施方式】
[0010] 本文中描述計(jì)算數(shù)學(xué)函數(shù)的計(jì)算機(jī)體系結(jié)構(gòu)(有時(shí)在本文中被簡單地稱作計(jì)算 機(jī))以及方法。計(jì)算機(jī)和方法使用不同選項(xiàng)提供計(jì)算數(shù)學(xué)函數(shù)。在本文所描述的實(shí)施例中, 第一選項(xiàng)使用高精度計(jì)算復(fù)雜函數(shù)。在這個(gè)選項(xiàng)中,許多指令必須被執(zhí)行以計(jì)算單個(gè)復(fù)雜 函數(shù),這使用了大量能量。第二選項(xiàng)使用較低精度計(jì)算復(fù)雜函數(shù)。第二選項(xiàng)不要求如高精 度選項(xiàng)那么多的指令,所以能夠使用較少的能量較快地求解復(fù)雜函數(shù)。高精度計(jì)算要求更 多指令,并且因此通常需要比低精度計(jì)算更多的時(shí)間來完成。低精度計(jì)算使用比高精度計(jì) 算更少的能量,并且可以在能量節(jié)約為重的情況下(例如,當(dāng)能量來自電池供電的電源時(shí)) 使用。這些情況包括其中在電池供電的器件上要求大量計(jì)算的情況。低精度選項(xiàng)使用比高 精度選項(xiàng)更少的能量,所以對(duì)電池的消耗更少。
[0011] 在某些實(shí)施例中,復(fù)雜函數(shù)被分解成使用簡單函數(shù)的指令。例如,雙曲正弦的計(jì)算 可以通過求解指數(shù)函數(shù)以及除法和減法運(yùn)算來執(zhí)行。在本文所描述的實(shí)施例中,對(duì)指數(shù)函 數(shù)的求解被存儲(chǔ)在查找表中。因此,計(jì)算機(jī)不需要直接計(jì)算雙曲正弦函數(shù)。相反,計(jì)算機(jī)僅 需要求解指數(shù)函數(shù)以及減法和除法運(yùn)算,這比直接計(jì)算雙曲正弦消耗更少的時(shí)間和能量。
[0012] 參考圖1,圖1是計(jì)算機(jī)100的框圖。計(jì)算機(jī)100有時(shí)被稱作計(jì)算機(jī)體系結(jié)構(gòu)。在 圖1的實(shí)施例中,計(jì)算機(jī)100包括三級(jí):指令級(jí)102、驅(qū)動(dòng)器級(jí)104以及運(yùn)算級(jí)106。指令級(jí) 102接收指令以求解或者計(jì)算數(shù)學(xué)運(yùn)算和函數(shù),包括復(fù)雜的數(shù)學(xué)函數(shù)。在某些實(shí)施例中,指 令級(jí)102也接收數(shù)或者值,函數(shù)針對(duì)該數(shù)或值被求解。另外,指令級(jí)102接收關(guān)于是使用高 精度還是低精度求解函數(shù)的信息。
[0013] 復(fù)雜數(shù)學(xué)函數(shù)的示例包括雙曲三角函數(shù)、立方根以及某些冪函數(shù)諸如2x。指令級(jí) 102包括有時(shí)被簡單地稱作控制器110的主控制器110,以及存儲(chǔ)器112??刂破?10具有 接收上述函數(shù)和數(shù)的輸入端114??刂破?10也具有輸出由計(jì)算機(jī)100執(zhí)行的計(jì)算的結(jié)果 的輸出端116。指令級(jí)102可以具有不同的實(shí)施例。例如,在某些實(shí)施例中,指令級(jí)102是 或者包括專用指令集處理器(ASIP)。
[0014] 控制器110具有存儲(chǔ)器112,或者經(jīng)由控制器110上的端口 113和存儲(chǔ)器112上的 端口 115訪問存儲(chǔ)器112。存儲(chǔ)器112儲(chǔ)存用于求解復(fù)雜函數(shù)的代碼。在某些實(shí)施例中,控 制器110調(diào)用存儲(chǔ)器112的指令以求解復(fù)雜函數(shù),例如,Cosh(X)。存儲(chǔ)器112具有所存儲(chǔ) 的用于求解COSh(X)的指令,其在本文所描述的實(shí)施例中由以下等式示出:
【主權(quán)項(xiàng)】
1. 一種用于執(zhí)行數(shù)學(xué)函數(shù)的計(jì)算機(jī),所述計(jì)算機(jī)包括: 執(zhí)行數(shù)學(xué)運(yùn)算的運(yùn)算級(jí);W及 驅(qū)動(dòng)器級(jí),其包括: 第一查找表,其中所述第一查找表包括用于使用第一精度水平計(jì)算至少一個(gè)數(shù)學(xué)函數(shù) 的第一數(shù)據(jù);W及 第二查找表,其中所述第二查找表包括用于使用第二精度水平計(jì)算所述至少一個(gè)數(shù)學(xué) 函數(shù)的第二數(shù)據(jù),其中所述第一精度水平高于所述第二精度水平;W及 驅(qū)動(dòng)器,其執(zhí)行來自所述第一查找表和所述第二查找表的數(shù)據(jù),并且其中所述驅(qū)動(dòng)器 向所述運(yùn)算級(jí)發(fā)送指令。
2. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī),其中所述第一數(shù)據(jù)和所述第二數(shù)據(jù)包括用于計(jì)算所 述至少一個(gè)數(shù)學(xué)函數(shù)的指令,并且其中所述第二數(shù)據(jù)包括比所述第一數(shù)據(jù)更少的指令。
3. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī),其中所述第一數(shù)據(jù)包括與計(jì)算所述至少一個(gè)數(shù)學(xué)函 數(shù)的第一數(shù)目的循環(huán)有關(guān)的指令,其中所述第二數(shù)據(jù)包括與計(jì)算所述至少一個(gè)數(shù)學(xué)函數(shù)的 第二數(shù)目的循環(huán)有關(guān)的指令,并且其中所述第一數(shù)目的循環(huán)大于所述第二數(shù)目的循環(huán)。
4. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī),其中在所述運(yùn)算級(jí)中執(zhí)行的數(shù)學(xué)運(yùn)算是浮點(diǎn)運(yùn)算。
5. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī),其中所述第一數(shù)據(jù)和所述第二數(shù)據(jù)包含至少一個(gè)指 令W在所述運(yùn)算級(jí)中執(zhí)行至少一個(gè)運(yùn)算。
6. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī),其中執(zhí)行所述第二查找表中的數(shù)據(jù)W便求解所述至 少一個(gè)函數(shù)使用比執(zhí)行所述第一查找表中的數(shù)據(jù)W便求解所述至少一個(gè)函數(shù)更少的能量。
7. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī),其進(jìn)一步包括指令級(jí),所述指令級(jí)包括: 存儲(chǔ)器,其包括使用儲(chǔ)存在所述第一查找表和所述第二查找表中的數(shù)據(jù)來求解至少一 個(gè)復(fù)雜函數(shù)的指令;W及 控制器,其執(zhí)行存儲(chǔ)在所述存儲(chǔ)器中的所述指令并且向所述驅(qū)動(dòng)器發(fā)送指令。
8. 根據(jù)權(quán)利要求7所述的計(jì)算機(jī),其中所述控制器接收包括將由所述計(jì)算機(jī)求解的函 數(shù)的指令。
9. 根據(jù)權(quán)利要求7所述的計(jì)算機(jī),其中由所述控制器接收的所述指令進(jìn)一步表明在求 解所述函數(shù)中是使用高精度還是使用低精度。
10. 根據(jù)權(quán)利要求9所述的計(jì)算機(jī),其中當(dāng)所述函數(shù)要使用高精度來求解時(shí),所述控制 器指導(dǎo)所述驅(qū)動(dòng)器W訪問所述第一查找表,并且其中當(dāng)所述函數(shù)要使用低精度來求解時(shí), 所述控制器指導(dǎo)所述驅(qū)動(dòng)器W訪問所述第二查找表。
11. 根據(jù)權(quán)利要求7所述的計(jì)算機(jī),其中由所述控制器接收的所述指令進(jìn)一步表明在 求解所述函數(shù)時(shí)是使用高精度還是使用低能量。
12. 根據(jù)權(quán)利要求11所述的計(jì)算機(jī),其中當(dāng)所述函數(shù)要使用高精度來求解時(shí),所述控 制器指導(dǎo)所述驅(qū)動(dòng)器W訪問所述第一查找表,并且其中當(dāng)所述函數(shù)要使用低能量來求解 時(shí),所述控制器指導(dǎo)所述驅(qū)動(dòng)器W訪問所述第二查找表。
13. 根據(jù)權(quán)利要求7所述的計(jì)算機(jī),其中所述控制器向所述驅(qū)動(dòng)器發(fā)送與求解所述函 數(shù)有關(guān)的指令,其中所述驅(qū)動(dòng)器訪問所述第一查找表或者所述第二查找表中的一個(gè),并且 其中所述驅(qū)動(dòng)器進(jìn)一步訪問所述運(yùn)算級(jí)W為所述第一查找表或者所述第二查找表中的每 個(gè)數(shù)據(jù)執(zhí)行運(yùn)算。
14. 根據(jù)權(quán)利要求13所述的計(jì)算機(jī),其中由所述運(yùn)算級(jí)計(jì)算的結(jié)果被直接輸出到所述 控制器。
15. 根據(jù)權(quán)利要求7所述的計(jì)算機(jī),其中所述指令級(jí)是專用指令集處理器。
16. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī),所述驅(qū)動(dòng)器級(jí)是狀態(tài)機(jī)。
17. -種用于執(zhí)行數(shù)學(xué)函數(shù)的計(jì)算機(jī),所述計(jì)算機(jī)包括: 運(yùn)算級(jí); 驅(qū)動(dòng)器級(jí);W及 指令級(jí); 所述指令級(jí)執(zhí)行基本數(shù)學(xué)運(yùn)算; 所述驅(qū)動(dòng)器級(jí)包括: 第一查找表,其中所述第一查找表包括用于使用第一精度水平計(jì)算至少一個(gè)數(shù)學(xué)函數(shù) 的第一數(shù)據(jù);W及 第二查找表,其中所述第二查找表包括用于使用第二精度水平計(jì)算所述至少一個(gè)數(shù)學(xué) 函數(shù)的第二數(shù)據(jù),其中所述第一精度水平高于所述第二精度水平;W及 驅(qū)動(dòng)器,其執(zhí)行來自所述第一查找表和所述第二查找表的數(shù)據(jù),并且其中所述驅(qū)動(dòng)器 向所述運(yùn)算級(jí)發(fā)送指令并且接收來自所述指令級(jí)的指令; 所述指令級(jí)包括: 儲(chǔ)存用于求解復(fù)雜函數(shù)的指令的存儲(chǔ)器; 執(zhí)行存儲(chǔ)在所述存儲(chǔ)器中的指令并且向所述驅(qū)動(dòng)器傳輸指令的控制器。
18. 根據(jù)權(quán)利要求17所述的計(jì)算機(jī),其中所述控制器接收表明在求解所述函數(shù)中是使 用高精度還是使用低能量的指令,并且其中當(dāng)所述函數(shù)要使用高精度來求解時(shí),所述控制 器指導(dǎo)所述驅(qū)動(dòng)器W訪問所述第一查找表,并且其中當(dāng)所述函數(shù)要使用低能量來求解時(shí), 所述控制器指導(dǎo)所述驅(qū)動(dòng)器W訪問所述第二查找表。
19. 一種使用計(jì)算機(jī)求解數(shù)學(xué)函數(shù)的方法,所述方法包括: 接收將被求解的函數(shù); 接收關(guān)于是使用高精度還是低精度求解所述函數(shù)的信息; 執(zhí)行用于使用至少一個(gè)導(dǎo)出數(shù)學(xué)函數(shù)求解所述函數(shù)的指令; 如果所述函數(shù)要使用高精度來求解,則使用存儲(chǔ)在第一查找表中的數(shù)據(jù)來執(zhí)行所述導(dǎo) 出數(shù)學(xué)函數(shù);W及 如果所述函數(shù)要使用低精度來求解,則使用存儲(chǔ)在第二查找表中的數(shù)據(jù)來執(zhí)行所述導(dǎo) 出數(shù)學(xué)函數(shù)。
20. 根據(jù)權(quán)利要求19所述的方法,其中使用存儲(chǔ)在所述第一查找表中的數(shù)據(jù)來執(zhí)行所 述導(dǎo)出數(shù)學(xué)函數(shù)包括使用比使用存儲(chǔ)在所述第二查找表中的數(shù)據(jù)來執(zhí)行所述導(dǎo)出數(shù)學(xué)函 數(shù)更多的能量。
【專利摘要】本發(fā)明公開了用于執(zhí)行數(shù)學(xué)函數(shù)的計(jì)算機(jī)及方法。計(jì)算機(jī)的實(shí)施例包括運(yùn)算級(jí)和驅(qū)動(dòng)器級(jí)。運(yùn)算級(jí)執(zhí)行數(shù)學(xué)運(yùn)算。驅(qū)動(dòng)器級(jí)包括第一查找表和第二查找表,其中第一查找表包括用于使用第一精度水平計(jì)算至少一個(gè)數(shù)學(xué)函數(shù)的第一數(shù)據(jù)。第二查找表包括用于使用第二精度水平計(jì)算該至少一個(gè)數(shù)學(xué)函數(shù)的第二數(shù)據(jù),其中第一精度水平高于第二精度水平。根據(jù)選定的精度水平,驅(qū)動(dòng)器執(zhí)行第一數(shù)據(jù)或者第二數(shù)據(jù)。
【IPC分類】G06F17-15
【公開號(hào)】CN104598432
【申請(qǐng)?zhí)枴緾N201410593399
【發(fā)明人】K·H·李, S-J·李, M·戈埃爾
【申請(qǐng)人】德克薩斯儀器股份有限公司
【公開日】2015年5月6日
【申請(qǐng)日】2014年10月29日
【公告號(hào)】US20150121043