中文字幕无码日韩视频无码三区

算術運算系統的制作方法

文檔序號:6412504閱讀:243來源:國知局

專利名稱::算術運算系統的制作方法
技術領域
:本發明涉及一種算術運算系統,更具體地說是涉及一種不用任何專用的浮點算術運算子系統如一個浮點算術運算處理器和一個浮點算術運算數字信號處理器(DSP)以算術方法運算一個具有小數點的第一運算數和一個沒有小數點的第二運算數的算術運算系統。當在電子控制應用中進行一個通過將一個沒有小數點的變量x乘以一個具有小數點的增益K給出一個結果y的算術運算時,浮點算術運算必不可少。在此類的常規微型計算機應用系統中,一個專用的浮點算術運算DSP被另外地提供與微型計算機一起以提供浮點算術運算。或者是使用一個含有浮點算術運算功能的高性能的微型計算機。這是因為一個典型的微型計算機或DSP僅僅能夠進行整數算術運算(即定點算術運算)。然而,配備了專用浮點算術運算DSP的常規微型計算機應用系統有一個問題在于專用的DSP增加了微型計算機應用系統的造價。配備了含有浮點算術運算功能的高性能微型計算機的常規的微型計算機應用系統有一個問題在于需要提供專用的浮點算術運算單元以實現浮點算術運算功能,從而導致微型計算機應用系統的造價的增加。一個可適用于上述浮點算術運算單元的浮點乘法器于1990年在日本未決專利公開號No.2-183828中被公開。然而,在日本未決專利公開號No.2-183828中被公開的常規浮點乘法器有一個問題在于此乘法器有一個復雜的結構。這是因為,不象一個定點乘法器,該乘法器需要多種專用電路諸如一個用于對將被乘的數的有效位四舍五入的舍入電路,用于用算術方法對有效位和指數移位的移位器,用于指數的加法器,進位檢測器,和多路復用器。為了解決上述的問題在由Ohm出版有限公司出版的名為“OHM”的書中,1993第9卷第95頁,一篇名為“wholepowerelectronics”的文章中報道了一個改進措施。在此改進措施中,通過使用典型的能夠進行整數(即定點)算術運算的微型計算機和一個為其專門設計的專用軟件來進行一個浮點算術運算。此軟件有如圖1所示的步驟。這里,如圖2所示,其假設增益K為m位寬且具有一個n位寬度的小數,其中n<m。因此,增益K的最高有效位(MSB)是位(m-1),最低有效位(LSB)是位0。一個實際二進制小數點位于位n和位(n-1)之間。在圖1所示的步驟S1中,增益K被左移n位(即增益K被乘以2TENn)以將其轉換成一個整數系數k。系數k有一個位于位(n-1)和位n之間的假定二進制小數點P′,如圖2所示。在步驟S2中,整數系數k被乘以小數變量x,得到一個乘積Y(即Y=k*X)。在S3步驟中,判斷乘積Y的小數是小于還是大于二進制的0.1(即0.1TWO)。二進制的0.1等于十進制的0.5(即0.5TEN)。該判斷被執行以對乘積Y在位(n-1)上四舍五入,由此最小化乘積Y的舍入誤差。當乘積Y的假定小數,其位于位(n-1)和位0之間,不小于0.1TWO或0.5TEN時,在步驟S4中一個變量T被設置為二進制的1(即1TWO)。該步驟S4是為了將乘積Y在位n四舍五入為“1TWO”而進行的。接著,在步驟S6中值為1TWO的變量T被左移n位。在步驟S7中左移后的變量T被加到乘積Y上。最后,乘積Y被右移n位(即乘積Y被除以2TENn),由此在步驟S8中產生增益K與變量x的舍入乘積y。由于上述的四舍五入,乘積Y的實際小數點P位于位0的右側。換句話說,乘積y具有一個整數值。另一方面,當乘積Y的假定小數小于0.1TWO或0.5TEN時,變量T在步驟S5中被設置為0TWO。接著,在步驟S6中值為0TWO的變量T被左移n位。左移后的變量T在步驟S7中被加到乘積Y上。因為變量T值為0TWO,所以乘積Y的值不發生變化。最后,乘積Y被右移n位,由此在步驟S8中產生增益K與變量x的舍入乘積y。在該微型計算機應用系統中,算術運算精度取決于對數據值小數的算數運算方式。因此,從運算精度的觀點看數據值的小數的算術運算方法十分重要。例如,在反饋控制系統如使用電氣電機的位置控制系統中,含有小數數字的積分數據的算術運算是必不可少的。在此情況中,數據值的小數的算術運算方法很大程度地影響著反饋控制系統的控制精度。用如圖1所示使用專用軟件進行的常規浮點算術運算,可以達到一個所需的運算精度。然而,在此情況下,浮點算術運算是通過由微型計算機應用系統中的一個微型計算機的中央處理單元(CPU)執行該軟件來進行的。結果是,有一個問題在于其需要很長的時間來完成該算術運算。這意味著上述使用軟件的常規浮點算術運算不能夠被應用于需要高速控制的微型計算機應用系統。另一方面,需要浮點算術運算的處理在微型計算機應用系統的整個處理過程中的出現率并不高。因此,即使再另外引入一個專用的浮點算術運算DSP或一個專用的浮點算術運算單元,所引入的昂貴的專用DSP或單元沒有被有效地利用。因此,本發明的一個目的是提供一種能夠使用最少量的硬件設備快速地進行浮點算術運算的算術運算系統。本發明的另一個目的是提供一種使CPU的指令處理步驟最少的進行浮點算術運算的浮點算術運算系統。上述的目的和其他沒有被特別提到的目的將從接下來的說明中被那些技術熟練者所明了。根據本發明,提出了一種用于對一個具有實際小數點的第一運算數和一個沒有實際小數點的第二運算數進行算術運算的算術運算系統。此系統包括(a)一個用于檢測第一運算數的實際小數點的位置以輸出一個第一位置數據和一個位數數據的實際小數點檢測器,(b)一個用于存儲第一位置數據的第一寄存器,(c)一個用于存儲位數數據的第二寄存器,(d)一個用于將第一運算數左移對應于存儲在第二寄存器中的位數數據的特定位數以輸出一個沒有實際小數點的第三運算數的第一移位器,(e)一個用于對第二運算數和第三運算數進行算術運算以輸出一個第一運算結果的整數算術運算器,(f)一個用于根據第一位置數據指示第一運算結果的假定小數點位置的假定小數點指示器,(g)一個用于根據由假定小數點指示器所指示的第一運算結果的假定小數點的位置來對第一運算結果進行四舍五入以輸出第二運算結果的舍入器,和(h)一個用于將第二運算結果右移對應于位數數據的特定位數以輸出一個沒有實際小數點的第三運算結果的第二移位器。第三運算結果代表了第一和第二運算數的一個舍入的運算結果。對于根據本發明的算術運算系統,第一運算數的實際小數點的位置被實際小數點檢測器檢測,從而得到第一位置數據和位數數據。沒有實際小數點的第三運算數是由第一移位器根據位數數據左移具有實際小數點的第一運算數而產生的。均沒有實際小數點的第二和第三運算數由整數算術運算器進行算術運算,由此輸出第一運算結果。所輸出的第一運算結果接著被舍入器根據所指示的第一運算結果的假定小數點四舍五入,由此輸出第二運算結果。再者,沒有實際小數點的第三運算結果是由第二移位器通過對所四舍五入的第二運算結果根據位數數據右移而產生的。因此,能夠不用任何專用的浮點算術運算DSP或專用的浮點算術運算單元來進行一個對第一運算數和第二運算數的浮點算術運算。由此減少了該系統造價。另外,上述浮點運算是通過使用實際小數點檢測器、第一和第二寄存器、第一和第二移位器、整數算術運算器、假定小數點指示器和舍入器來進行的。換句話說,該運算沒有用任何浮點算術運算的專用軟件而是用硬件設備來進行的。其結果是,該運算能夠使用最少量的硬件設備以最少的CPU的指令處理步驟快速地進行。在根據本發明系統的一個優選實施例中,整數算術運算器的輸出被連接到舍入器的一個輸入上,因而從整數算術運算器輸出的第一運算結果被直接地輸入到舍入器中去。在此情況下,有一個額外的優點在于總線結構可以很簡單。在根據本發明系統的另一個優選實施例中,另外提供了一個第三寄存器用于存儲從整數算術運算器輸出的第二運算結果。存儲在第三寄存器中的此第二運算結果被加載到舍入器。在此情況下,有一個額外的優點在于當必要時可以通過使用存儲在第三寄存器中的第二運算結果進行多種算術運算。在根據本發明系統的再另一個優選實施例中,假定小數點指示器輸出一個給出了第一運算結果的假定小數點的位置的第二位置數據,且該第二位置數據被存儲在第四寄存器中。在此情況下,有一個額外的優點在于由舍入器進行的第一運算結果的舍入處理和第一寄存器的讀取處理之間不會發生競爭。在根據本發明系統的另一個優選實施例中,實際小數點檢測器是由一個算術邏輯單元(ALU)實現的。在此情況下,有一個額外的優點在于實際小數點檢測器的結構可以很簡單。在根據本發明系統的再另一個優選實施例中,第一和第二移位器是由一個單獨的雙向移位器來實現的。在此情況下,有一個額外的優點在于第一和第二移位器的結構可以很簡單。為了使本發明能夠被容易地實現,現在將參照附圖對其進行說明。圖1所示為一個使用一個專用軟件和一個定點算術運算器的常規浮點算術運算的步驟順序的流程圖。圖2所示為給出具有實際小數點的增益K和沒有實際小數點的變量x的乘積y的一個浮點算術運算的原理簡圖。圖3所示為根據本發明的第一實施例的算術運算系統的結構方框圖。圖4為位置數據值的一個例子的簡要示意圖,該位置數據值給出用在根據第一實施例系統中乘積結果Y’的假定小數點位置。圖5所示為根據第一實施例系統的浮點算術運算的步驟順序流程圖。圖6所示為根據本發明的第二實施例的算術運算系統的結構方框圖。圖7所示為根據第二實施例的系統的浮點算術運算的步驟順序流程圖。圖8所示為根據本發明的第三實施例的算術運算系統的結構方框圖。圖9所示為根據第三實施例的系統的浮點算術運算的步驟順序流程圖。接下來將參照附圖3到8對本發明的優選實施例進行說明。第一實施例如圖3所示,根據本發明的第一實施例的一個算術運算系統由一個寄存器存儲器1,一個ALU2,一個雙向移位器3,一個乘法器4,一個舍入電路6,一個假定小數點寄存器7,和一個控制器15構成。寄存器存儲器1,ALU2,雙向移位器3,乘法器4,舍入電路6,假定小數點寄存器7是由控制器15控制的。將被相乘的一個增益K和一個變量x被輸入到位于公用總線的5一端的一個輸入端16。增益K和變量x的舍入乘積(即Y≈K*x)從位于公用總線5的另一端的輸出端17導出。如圖2所示,增益K為m位寬且具有一個實際二進制小數點P。增益K的小數部分為n位寬,整數部分為(m-n)位寬,其中m>n。增益K的MSB和LSB分別為位(m-1)(即最左位)和位0(即最右位)。實際二進制小數點位于位(n-1)和位n之間。寄存器存儲器1包括五個通用寄存器1a,1b,1c,1d,和1e,和兩個選擇器或轉換開關1f和1g。輸入選擇器1f根據從控制器15送來的控制信號C1選擇寄存器1a,1b,1c,1d,和1e中的一個,以使一個輸入數據通過總線5被寫進或存儲進所選的寄存器1a,1b,1c,1d,和1e中的一個。輸出選擇器1g根據從控制器15送來的控制信號C2選擇寄存器1a,1b,1c,1d,和1e中的一個,以使所選的寄存器1a,1b,1c,1d,和1e中的一個的內容(即所存儲的數據)被讀取或取出到總線9或10。總線9被連接到ALU2、雙向移位器3、和乘法器4。總線10被連接到雙向移位器3和乘法器4。寄存器1a存儲增益K的假定二進制小數點P’的位置數據PT。寄存器1b存儲增益K在移位器3中將被移位的位數數據n。寄存器1c存儲增益K或系數k。系數k是通過將增益K左移等于位數數據n的特定位數而給出的,其具有一個整數值而沒有實際二進制小數點。寄存器1d存儲具有一個整數值的變量x。寄存器1e存儲乘積y或Y。乘積Y是通過將變量x與系數k相乘并且四舍五入乘積結果Y’(=k*x)而給出的。假定小數點寄存器7存儲增益K的假定小數點P’的位置數據PT,其是通過總線5從移位器3送來的。寄存器7通過總線14將位置數據PT輸出到舍入電路6。這些操作是根據從控制器5送來的控制信號C3進行的。假定小數點寄存器可以由一個鎖存器電路簡單地實現。ALU2能夠進行沒有二進制小數點的整數的算術和邏輯運算。ALU2本身不能進行浮點算術運算。ALU2根據從控制器5送來的控制信號C4計算或檢測通過總線9加載的增益K的實際二進制小數點P(即小數的位數)的位置。接著,ALU2通過總線11將增益K的實際二進制小數點P的位置數據PT和其將被移位的位數數據n輸出到總線5。所檢測的位置數據PT和位數數據n通過總線5被分別地存儲進寄存器1a和1b中。位置數據PT的值通常不等于位數數據n的值。雙向移位器3通過總線9從寄存器1a接收位置數據PT。接著,移位器3不進行移位操作而是通過總線12將位置數據PT輸出到總線5。這些操作是根據從控制器15送來的控制信號C5而進行的。另外,移位器3還分別通過總線9和10從寄存器1a和1b接收增益K和位數數據n。接著,移位器3將增益K左移等于位數數據n的特定位數,通過總線12將系數k輸出到總線5。這些操作是根據從控制器15送來的控制信號C5而進行的。另外,移位器3分別通過總線9和10從寄存器1e和1b接收舍入乘積Y和位數數據n。接著,移位器3將舍入乘積Y右移等于位數數據n的特定位數,將乘積y輸出到總線12。這些操作是根據從控制器15送來的控制信號C5而進行的。乘法器4分別通過總線9和10從寄存器1c和1d接收系數k和變量x。乘法器4將系數k和變量x相乘,通過總線13將乘積Y’(=k*x)輸出到舍入電路6。這些操作是根據從控制器15送來的控制信號C6進行的。舍入電路6接收從乘法器4輸出的乘積Y’(=k*x)和從假定小數點寄存器7輸出的增益K的位置數據PT。接著,電路6舍入乘積Y’以與假定小數點P’的位置數據PT一致。例如,在舍入電路6中的舍入操作是以如下的方式實現的。由假定小數點P’的位置數據PT和位數數據n給出的乘積Y’的小數部分的值,同一個二進制數0.1(即0.1TWO)進行比較。換句話說,也就是判斷乘積Y’的位(n-1)的值是1還是0。當乘積Y’的小數部分的值等于或大于0.1TWO(即0.5TEN)時,即當乘積Y’的位(n-1)的值為1TWO時,為了四舍五入的目的,一個二進制數1(即1TWO)的增量被加到乘積Y’的位(n-1)的值上。這意味著數1TWO被加到乘積Y’的位n的值上。當乘積Y’的小數部分的值小于0.1TWO或0.5TEN時,即當乘積Y’的(n-1)位的值為0TWO時,沒有增量被加到乘積Y’的(n-1)位的值上。這意味著乘積Y’的位n的值這里沒有改變。接著,舍入電路6通過總線8將舍入后的乘積Y輸出到總線5。上述的舍入電路6的舍入操作是根據從控制器15送來的控制信號C7而進行的。很明顯舍入電路6可以用一個單向移位器,一個比較器,和一個加法器的組合來簡單地實現。圖4顯示了用在根據第一實施例的系統中的給出乘積結果Y’的假定小數點P’的位置的位置數據PT的一個例值。在此例中,數值為32位寬,并且只有位8為“1TWO”而其余的全是“0TWO”。特別地,此二進制值被表示為“00000000000000000000000100000000”。另一方面,假設32位乘積Y’具有值“00.11111111”。其中符號“.”表示乘積Y’的假定二進制小數點P’。該值的小數部分為8位寬。位于位0和位7之間的乘積Y’的小數的二進制值“11111111”,比0.1TWO或0.5TEN大。因此,數“000000000000000000000001.00000000”=“1TWO”的位置數據PT的值被加到乘積Y’的位8上,結果為“00.11111111”。同樣,假設32位乘積Y’值為“00.00000001”。位于位0和位7之間的乘積Y’的小數的二進制值“00000001”,比0.1TWO或0.5TEN小。因此,數“000000000000000000000001.00000000”=“1TWO”的位置數據PT的值不被加到乘積Y’的位8上,結果為“00.11111111”與四舍五入運算之前的值相同。接下來,將參照圖5對根據第一實施例的所示算術運算系統的處理順序進行解釋。在步驟S1中,通過公用總線5的輸入端16輸入進此系統的增益K和變量x根據輸入選擇器1f的操作通過公用總線5被分別存儲進寄存器1c和1d中。在步驟S2中,存儲在寄存器1c中的增益K由于輸出選擇器1g的操作被讀出到總線9。在此步驟期間寄存器1c的內容保持不變。ALU2接收所讀出的增益K并計算或檢測其實際二進制小數點P的位置和將在移位器3中被移位的位數,將增益K的實際二進制小數點P的位置數據PT和位數數據n輸出到總線11。在步驟S3中,ALU2所計算的或檢測到的位置數據PT和位數數據n通過公用總線5被分別地存儲進寄存器1a和1b中。在步驟S4中,存儲在寄存器1a中的位置數據PT被讀出以輸入到移位器3中。移位器3將所輸入的位置數據PT不做移位地輸出到總線12。在步驟S5中,被移位器3輸出到總線12的位置數據PT,通過公用總線5被存儲進假定小數點寄存器7中。所存儲的位置數據PT在必要時可以由舍入電路6讀出。在步驟6中,存儲在寄存器1c和1b中的增益K和位數數據n被讀出到移位器3中。接著,移位器3將增益K左移等于位數數據n的特定位數,輸出具有一個整數值的系數k到總線12。在步驟S7中,系數k通過總線5被存儲進寄存器1c中。因此,寄存器1c的內容從增益K變為系數k。在步驟S8中,讀出存儲在寄存器1c中的系數k和存儲在寄存器1d中的變量x以加載到乘法器4。隨后,乘法器4將系數k和變量x相乘,得到乘積Y’(=k*x)。乘積Y’被輸出到總線13。在步驟S9中,舍入電路6通過總線13接收從乘法器4輸出的乘積Y’。另一方面,舍入電路6接收存儲在假定小數點寄存器7中的位置數據PT。接著,舍入電路6根據位置數據PT對乘積Y’四舍五入,將舍入乘積Y輸出到總線8。在步驟S10中,從舍入電路6輸出的舍入乘積Y通過公用總線5被存儲進寄存器1e中。在步驟S11中,存儲于寄存器1e中的舍入乘積Y和存儲在寄存器1b中的位數數據n被讀出以輸入到移位器3中。移位器3將舍入乘積Y右移等于位數數據n的特定位數,輸出乘積y到總線12。在步驟S12中,從移位器3中輸出的乘積y通過輸出端17被輸出并通過總線5被存儲進寄存器1e中。步驟S1到S12中寄存器存儲器1的寄存器1a,1b,1c,1d,和1e和假定小數點寄存器7中的內容如表1所示。表1對于根據圖3和圖5中的第一實施例的算術運算系統,增益K的實際小數點P的位置被作為實際小數點檢測器的ALU檢測,得到位置數據PT和位數數據n。沒有實際小數點的系數k是由雙向移位器3根據位數數據n將具有實際小數點P的增益K向左移位而產生的。均沒有實際小數點的系數k和變量x被乘法器4相乘,由此輸出作為第一乘積結果的乘積Y’。所輸出的作為第一乘積結果的乘積Y’接著被舍入電路6根據所指示的乘積Y’的假定小數點四舍五入,由此輸出作為第二乘積結果的舍入乘積Y。另外,作為第三乘積結果沒有實際小數點的乘積y,是通過由移位器3對所舍入的作為第二乘積結果的舍入乘積Y根據位數數據n向右移位而產生的。因此,能夠不用任何專用的浮點算術運算DSP或專用的浮點算術運算單元而進行對增益K和變量x的浮點算術運算。這將能夠降低此系統的造價。另外,上述算術運算是通過使用作為一個實際小數點檢測器的ALU2、寄存器1a和1b、雙向移位器3,作為一個整數算術運算器的乘法器4,作為一個假定小數點指示器的假定小數點寄存器7,和舍入電路6來進行的。換句話說,此運算沒有使用任何用于浮點算術運算的專用軟件而是通過使用硬件設備來進行的。其結果是,能夠使CPU指令處理步驟最少而使用最小限度的硬件設備快速地進行此算術運算。還有一個額外的優點在于由舍入電路6所進行的乘積結果Y’的舍入處理和寄存器存儲器1的讀取處理之間不會發生競爭。第二實施例圖6中所示為根據本發明的第二實施例的算術運算系統。該系統除了(i)乘法器4的總線13沒有被連到舍入電路6而是連到公用總線5和(ii)寄存器存儲器1的總線10不僅被連到的移位器3和乘法器4還被連到舍入電路6之外,具有與圖3所示的第一實施例大體相同的結構。因此,為了簡化說明這里通過在圖6中用相同的參考標號或字符指代相同的或相應的元件省略關于相同結構的說明。接下來,將參照圖7對根據第二實施例的算術運算系統的處理順序進行解釋。在步驟S1中,通過公用總線5的輸入端16輸入進此系統的增益K和變量x,根據輸入選擇器1f的操作通過公用總線5被分別存儲進寄存器1c和1d中。在步驟S2中,存儲在寄存器1c中的增益K由于輸出選擇器1g的操作被讀出到總線9。在此步驟期間寄存器1c的內容保持不變。ALU2接收所讀出的增益K并計算或檢測其實際二進制小數點P和將在移位器3中被移位的位數,將增益K的實際小數點P的位置數據PT和位數數據n輸出到總線11。在步驟S3中,ALU2所計算的或檢測的位置數據PT和位數數據n通過公用總線5被分別地存儲進寄存器1a和1b中。在步驟S4中,存儲在寄存器1a中的位置數據PT被讀出以輸入到移位器3中。移位器3并不移位而是將所輸入的位置數據PT輸出到總線12。在步驟S5中,被移位器3輸出到總線12的位置數據PT,通過公用總線5被存儲進假定小數點寄存器7中。所存儲的位置數據PT在必要時可以由舍入電路6讀出。在步驟S6中,存儲在寄存器1c和1b中的增益K和位數數據n被讀出到移位器3中。接著,移位器3將增益K左移等于位數數據n的特定位數,輸出具有一個整數值的系數k到總線12。在步驟S7中,系數k通過總線5被存儲進寄存器1c中。因此,寄存器1c的內容從增益K變為系數k。在步驟S8中,存儲在寄存器1c中的系數k和存儲在寄存器1d中的變量x被加載到乘法器4。隨后,乘法器4將系數k和變量x相乘,得到乘積Y’(=k*x)。乘積Y’被輸出到總線13。上面的步驟S1到S8與第一實施例的步驟S1到S8相同。在步驟S9中,從乘法器4輸出的乘積Y’通過總線13和5被存儲進寄存器1e中。在步驟S10中,存儲在寄存器1e中的乘積Y’被讀出并加載到舍入電路6。另一方面,存儲在假定小數點寄存器7中的位置數據PT被讀出以加載到舍入電路6。接著,舍入電路6根據位置數據PT對乘積Y’四舍五入,輸出舍入的乘積Y到總線8。在步驟S11中,從舍入電路6輸出的舍入乘積Y通過總線8和公用總線5被存儲進寄存器1e中。在步驟S12中,存儲在寄存器1e中的舍入乘積Y和存儲在寄存器1b中的位數數據n被讀出以輸入到移位器3中。移位器3將舍入乘積Y右移等于位數數據n的位數,輸出乘積y到總線12。在步驟S13中,從移位器3輸出的乘積y通過輸出端17被輸出并通過總線5存儲在寄存器1e中。步驟S1到S12中寄存器存儲器1的寄存器1a,1b,1c,1d,和1e和假定小數點寄存器7中的內容如表2所示。表2</tables>根據圖6和7中所示的第二實施例的算術運算系統具有與第一實施例相同的優點,因為此系統具有與第一實施例大體相同的結構。其有一個額外的優點在于可以在必要時通過使用存儲在寄存器1e中的乘積結果Y’進行多種算術運算。第三實施例圖8中所示為根據本發明的第三實施例的算術運算系統。該系統除了(i)乘法器4和其相應的總線13被取消了和(ii)寄存器存儲器1的總線10不僅被連到的移位器3還被連到ALU2和舍入電路6之外,具有與圖3所示的第一實施例大體相同的結構。因此,為了簡化說明這里通過在圖8中用相同的參考標號或字符指代相同的或相應的元件而省略關于相同結構的說明。接下來,將參照圖9對根據第三實施例的算術運算系統的處理順序進行解釋。在步驟S1中,其通過公用總線5的輸入端16輸入進此系統的增益K和變量x,根據輸入選擇器1f的操作通過公用總線5被分別存儲進寄存器1c和1d中。在步驟S2中,存儲在寄存器1c中的增益K由于輸出選擇器1g的操作被讀出到總線9。在此步驟期間寄存器1c的內容保持不變。ALU2接收所讀出的增益K并計算或檢測其實際二進制小數點P和將在移位器3中被移位的位數,將增益K的實際二進制小數點P的位置數據PT和位數數據n輸出到總線11。在步驟S3中,ALU2所計算的或檢測的位置數據PT和位數數據n通過公用總線5被分別地存儲進寄存器1a和1b中。在步驟S4中,存儲在寄存器1a中的位置數據PT被讀出以輸入到移位器3中。移位器3并不移位而是將所輸入的位置數據PT輸出到總線12。在步驟S5中,被移位器3輸出到總線12的位置數據PT,通過公用總線5被存儲進假定小數點寄存器7中。所存儲的位置數據PT在必要時可以由舍入電路6讀出。在步驟S6中,存儲在寄存器1c和1b中的增益K和位數數據n被讀出以通過總線9和10加到移位器3中。接著,移位器3將增益K左移等于位數數據n的特定位數,輸出具有一個整數值的系數k到總線12。在步驟S7中,系數k通過總線5被存儲進寄存器1c中。因此,寄存器1c的內容從增益K變為系數k。上面的步驟S1到S7與第一實施例的步驟S1到S7相同。在步驟S8中,存儲在寄存器1b中的位數數據n和存儲在寄存器1d中的變量x被讀出并通過總線9和10加載到移位器3。接著,為了將變量x和系數k的實際小數點對齊,移位器3將變量x左移等于位數數據n的位數,產生一個沒有實際小數點的變量X。變量X被輸出到總線12。在步驟S9中,從移位器3輸出的變量X通過總線12和5被存儲到寄存器1d中。寄存器1d的內容從x變為X。在步驟S10中,存儲在寄存器1c和1d中的系數k和變量X被讀出并通過總線9和10加載到ALU2。接著,ALU2將系數k與變量X相加,輸出一個和Z’到總線11。在步驟S11中,從ALU2輸出的和Z’通過總線11和公用總線5被存儲進寄存器1e中。在步驟S12中,存儲在寄存器1e中的和Z’被讀出并通過總線10被輸入進輸入電路6。另一方面,存儲在假定小數點寄存器7中的位置數據PT被讀出并通過總線14被輸入進舍入電路6。舍入電路6根據位置數據PT對和Z’四舍五入,輸出舍入的和Z到總線6。在步驟S13中,舍入的和Z通過總線8和5被存儲進寄存器1e中。在步驟S14中,存儲在寄存器1e中的舍入的和Z和存儲在寄存器1b中的位數數據n被讀出并通過總線9和10被輸入進移位器3。移位器3將舍入的和Z右移等于位數數據n的位數,以輸出和z到總線12。在步驟S15中,從移位器3輸出的和z通過輸出端17被輸出并通過總線5存儲進寄存器1e中。步驟S1到S15中寄存器存儲器1的寄存器1a,1b,1c,1d,和1e和假定小數點寄存器7中的內容如表3所示。表3根據圖8和9中所示的第三實施例的算術運算系統具有與第一實施例相同的優點,因為此系統具有與第一實施例大體相同的結構。不象第一和第二實施例,在根據第三實施例的系統中進行的是加法運算。盡管本發明的優選形式已被說明,應該理解的是不背離發明的精神的修正對那些技術熟練者是明顯的。因此,發明的范圍完全由接下來的權利要求所確定。權利要求1.一種用于對具有實際小數點的第一運算數和沒有實際小數點的第二運算數進行算術運算的算術運算系統;上述系統特征在于包括(a)一個用于檢測上述第一運算數的上述實際小數點以輸出一個第一位置數據和位數數據的實際小數點檢測器;(b)一個用于存儲上述第一位置數據的第一寄存器;(c)一個用于存儲上述位數數據的第二寄存器;(d)一個按照存儲在第二寄存器中的上述位數數據的特定位數將上述第一運算數左移以輸出一個沒有實際小數點的第三運算數的第一移位器;(e)一個用于對上述第二和第三運算數進行算術運算以輸出一個第一運算結果的整數算術運算器;(f)一個用于根據上述第一位置數據指示上述第一運算結果的假定小數點的位置的假定小數點指示器。(g)一個用于根據由上述假定小數點指示器所指示的上述第一運算結果的上述假定小數點對上述第一運算結果四舍五入以輸出一個第二運算結果的舍入器;和(h)一個用于根據存儲在上述第一寄存器中的上述位置數據對上述第一運算結果四舍五入的舍入器;和(i)一個用于將上述第二運算結果右移對應于上述位數數據的位數以輸出一個沒有實際小數點的第三運算結果的第二移位器;其中上述第三運算結果代表了上述第一和第二運算數的一個舍入的運算結果。2.如權利要求1所述的系統,其特征在于上述整數算術運算器的上述一個輸出被連接到上述舍入器的一個輸入,以使從上述整數算術運算器輸出的上述第一運算結果被直接地輸入進上述舍入器。3.如權利要求1所述的系統,其特征在于還包括一個用于存儲從上述整數算術運算器輸出的上述第二運算結果的第三寄存器;其中存儲在上述第三寄存器中的上述第二運算結果被加載到上述舍入器。4.如權利要求1所述的系統,其特征在于上述假定小數點指示器輸出一個給出上述第一運算結果的上述假定小數點的上述位置的第二位置數據;且其中上述第二位置數據被存儲在一個第四寄存器中。5.如權利要求1所述的系統,其特征在于上述實際小數點寄存器由一個ALU實現。6.如權利要求1所述的系統,其特征在于上述第一和第二移位器由一個單獨的雙向移位器實現。7.一種用于對具有實際小數點的第一運算數和一個沒有實際小數點的第二運算數進行算術運算的算術運算系統;上述系統特征在于包括(a)一個用于檢測上述第一運算數的上述實際小數點以輸出一個第一位置數據和位數數據的ALU;(b)一個用于存儲上述第一位置數據的第一寄存器;(c)一個用于存儲上述位數數據的第二寄存器;(d)一個用于將上述第一運算數左移對應于存儲在第二寄存器中的上述位數數據的特定位數以輸出一個沒有實際小數點的第三運算數的雙向移位器;(e)一個將上述第二和第三運算數相乘以輸出一個第一乘積結果的乘法器;(f)一個用于存儲上述第一乘積結果的假定小數點的第二位置數據的第三寄存器;和(g)一個用于根據存儲在上述第三寄存器中的上述第二位置數據對上述第一乘積結果四舍五入以輸出一個第二乘積結果的舍入電路其中上述雙向移位器將上述第二乘積結果右移對應于上述第一乘積結果的上述假定小數點的上述第二位置數據的特定位數以輸出一個沒有實際小數點的第三乘積結果;其中上述第三運算結果代表了上述第一和第二運算數的一個舍入的乘積結果。8.如權利要求7所述的系統,其特征在于上述乘法器的上述一個輸出被連接到上述舍入電路的一個輸入,以使從上述乘法器輸出的上述第二乘積結果被直接地加載到上述舍入電路。9.如權利要求7所述的系統,其特征在于還包括一個用于存儲上述第二乘積結果的第四寄存器;其中從上述乘法器輸出的上述第二乘積結果通過上述第四寄存器被加載到上述舍入電路。10.如權利要求7所述的系統,其特征在于上述第一和第二寄存器被設置在一第一硬件設備中,且上述第三寄存器由一個第二硬件設備實現,其控制與第一硬件設備無關。11.一種用于對具有實際小數點的第一運算數和一個沒有實際小數點的第二運算數進行算術運算的算術運算系統;上述系統特征在于包括(a)一個用于檢測上述第一運算數的上述實際小數點以輸出一個第一位置數據和位數數據的ALU;(b)一個用于存儲上述第一位置數據的第一寄存器;(c)一個用于存儲上述位數數據的第二寄存器;(d)一個用于將上述第一運算數左移對應于存儲在第二寄存器中的上述位數數據的特定位數以輸出一個沒有實際小數點的第三運算數的雙向移位器;(e)上述ALU對上述第二和第三運算數進行算術運算以輸出一個第一運算結果;(f)一個用于存儲上述第一運算結果的假定小數點的第二位置數據的第三寄存器;和(g)一個用于根據存儲在上述第三寄存器中的上述第二位置數據對上述第一運算結果四舍五入以輸出一個第二運算結果的舍入電路;其中上述雙向移位器根據上述第一運算結果的上述假定小數點的上述第二位置數據將上述第二運算結果右移特定位數以輸出一個沒有實際小數點的第三運算結果;其中上述第三運算結果代表了上述第一和第二運算數的一個舍入的運算結果。12.如權利要求11所述的系統,其特征在于還包括一個用于存儲上述第二運算結果的第四寄存器;其中從上述ALU輸出的上述第二運算結果通過上述第四寄存器被加載到上述舍入電路。13.如權利要求11所述的系統,其特征在于上述第一和第二寄存器被設置在一個第一硬件設備中,且上述第三寄存器由一第二硬件設備實現,其控制與上述第一硬件設備無關。14.一種用于對具有實際小數點的第一運算數(K)和一個沒有實際小數點的第二運算數(x)進行算術運算的算術運算系統;其中上述第一運算數的上述實際小數點的位置被檢測以輸出一個第一位置數據(PT)和一個位數數據(n),上述位置數據和上述位數數據被分別地存儲在第一和第二寄存器(1a,1b)中。其中上述第一運算數被左移對應于存儲在上述第二寄存器中的上述位數數據的特定位數以輸出一個沒有實際小數點的第三運算數(k);其中上述第二和第三運算數進行一整數算術運算以輸出一個第一運算結果(Y’);其中根據存儲在上述第一寄存器中的上述位置數據對上述第一運算結果四舍五入以輸出一個第二運算結果(Y);其中上述第二運算結果被右移對應于存儲在上述第二寄存器中的上述位數數據的特定位數以輸出一個沒有實際小數點的第三運算結果(y);其中上述第三運算結果代表了上述第一和第二運算數的一個最終運算結果;其特征在于上述第一運算數被一個第一移位器向左移位且上述第二運算結果被一個第二移位器向右移位;和上述第一運算結果被一個舍入器四舍五入。全文摘要提出一種算術運算系統,其中,第一運算數的實際小數點位置被實際小數點檢測器檢測以產生一個位置數據和一個位數數據。沒有實際小數點的第三運算數由第一移位器將第一運算數移位而產生。均沒有實際小數點的第二和第三運算數被整數算術運算器算術運算以輸出一第一運算結果。第一運算結果被舍入器舍入以輸出一第二運算結果。第二運算結果由一第二移位器將舍入的第二運算結果右移產生。因此,能夠不使用專用浮點算術運算處理器或運算器而進行浮點算術運算。文檔編號G06F7/38GK1195808SQ9712209公開日1998年10月14日申請日期1997年12月22日優先權日1996年12月20日發明者勝田博志申請人:日本電氣株式會社
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1