算術操作單元(AMU)進行關于在單精度模式下的N比特字和在雙精度模式下的2N比特字的算術運算。較佳的是,AMU只在兩個流水線周期內進行雙精度運算:第一個周期,其中用符號擴展單元(42)和多路復用器(MY)通過串接兩個N比特部分生成第一個2N比特操作數,并將操作數輸入輸出寄存器(46);第二個周期,其中生成第二個2N比特操作數(從第二對N比特部分),從輸出寄存器反饋第一個操作數,而且由算術邏輯單元(ALU44)進行關于兩個操作數的算術運算。包括這種AMU電路的系統還包括多端口存儲器(6)和在單個周期內運用地址指針(r0-r7)從存儲器取兩個N比特字的存儲器管理單元(MMU3)。(*該技術在2017年保護過期,可自由使用*)
【技術實現步驟摘要】
本專利技術涉及用于進行對于帶有單精度或雙精度數據的算術運算的電路,并涉及包括這種電路的數字信號處理系統。在較佳實施例中,本專利技術是一種電路,它以單精度(其中,它進行關于16比特數據字的算術運算)或雙精度(其中,它進行關于32比特數據字的算術運算)模式有選擇地運算。
技術介紹
在整個說明書和權利要求書中,將術語“操作數”用于表示表明數據的信號,其中試圖通過進行關于所述信號的算術運算來處理該信號。在整個說明書和權利要求書中,將措詞“算術運算”用于表示實現關于兩個操作數的算術運算(諸如減法)或邏輯運算(諸如“AND”或“OR”運算)的信號處理運算。在現有技術中已知數字信號處理器(DSP)有許多不同的實現。傳統DSP典型地采用兩個物理上分開的存儲器單元用于存儲由DSP執行的指令的程序存儲器;和由于執行指令而用于存儲由DSP處理的數據(還可以是已經被處理過的數據)的數據存儲器。程序存儲器可以是只讀存儲器(ROM)或可將指令號或讀取的隨機存取存儲器(RAM)。數據存儲器典型地是可以寫入數據并從其可以讀取數據的RAM。圖1是數字信號處理器(DSP)的方框圖,所述數字信號處理器具有程序存儲器、與程序存儲器物理上分開的數據存儲器、和可以用本專利技術具體實現(如下所述)的那種類型的算術計算單元(ACU)10,以體現本專利技術。圖1的DSP包括數據存儲器6(與地址總線AB0和AB1及數據總線DB0和DB1相連)、程序存儲器4、程序控制單元(PCU)2、存儲管理單元(MMU)3、算術計算單元(ACU)10、和輸入/輸出單元(IOU)12。在對于某些應用的較佳實現中(諸如參照圖2所述的),程序存儲器4是具有32比特寬和64K字深的存儲單元陣列的單端口、只讀存儲器(ROM),而數據存儲器6是具有16比特寬和64K字深的存儲單元陣列的雙端口、隨機存取存儲器(RAM)。在這種實現中,雙端口存儲器6的一個端口可以接收16比特地址(從16比特地址總線AB0),并與此同時,存儲器6的另一個端口可以接收另一個16比特地址(從16比特地址總線AB1)。提供的控制裝置,使得能從存儲器6同時進行兩個讀取、同時對存儲器6讀取和寫入、或從存儲器6進行單獨讀取(或寫入)。MMU3最好包括兩個獨立的地址生成單元,它用于生成兩個地址信號(每個單元識別在存儲器6中用于寫入數據或從其讀取數據的存儲單元)并向地址總線AB0和AB1發出這種地址信號。更準確地說,響應于來自PCU2的控制位(它是通過譯解來自程序存儲器4的指令在PCU2中生成的),MMU3在地址總線AB0和/或地址總線AB1上發出地址信號。將數據從由每個地址識別的存儲單元(在存儲器6中)讀入數據流水線寄存器M0或流水線寄存器M1(或者將數據從數據總線RB0和/或數據總線RB1寫入由每個地址識別的存儲單元)。MMU3最好包括一組有八個地址指針的寄存器(例如,圖5所示的寄存器r0-r7,每個寄存器用于存儲可向總線AB0或AB1發出的16比特地址)、用于每個地址指針寄存器的8比特指針修改寄存器(例如,圖5所示的寄存器S0-7),和用于將任一被選地址指針寄存器的內容與相應指針變址寄存器的內容相加并將相加的結果寫回到地址指針寄存器(響應于來自PCU2的控制位)的16比特加法器。MMU3還可以包括其它寄存器(例如,如圖5所示的基址寄存器BADR、和循環緩沖長度寄存器CL0和CL1),其中將所述寄存器用于響應于來自PCU2的控制位而改變選中的一個地址指針寄存器和指針變址寄存器的內容,或者用于存儲向總線AB0或AB1發出的一個或多個地址。可將本專利技術的地址生成電路(在下文中描述)包括在MMU3中。在圖1的DSP中,第一數據總線DB0和第二數據總線DB1最好是16比特寬。在對圖1系統的變動中,用于實現本專利技術而對它進行編程的DSP可具有單端口數據存儲器(而不是雙端口數據存儲器),和單地址總線及單個數據總線(而不是雙地址總線和雙數據總線)。PCU2(在下文中,將參照圖3描述其較佳實現)包括取指令裝置(用于從程序存儲器4取指令)、指令譯碼單元、和用于存儲在譯碼單元中生成的控制位(用于向MMU3、數據總線DB0、或取指令裝置發出)的寄存器。算術計算單元(ACU)10最好包括并行計算(響應于來自PCU2的控制位)以有效地進行乘法和累加運算的兩個乘法及累加(MAC)單元(即,圖5的MAC0和MAC1),和用MAC單元并行運算(響應于來自PCU2的控制位)的運算操作單元(即,圖5的AMU)。眾所周知,將AMU設計成能夠進行關于兩個操作數的任何一種選中的算術運算,諸如加法、減法、max(決定兩個操作數的較大者)、min(決定兩個操作數的較小者)、absd(決定兩個操作數之間差的絕對值)、和邏輯“AND”,“Or”和“Xor”運算。可將本專利技術的AMU(在下文中將要討論的較佳實施例)包括在ACU中。參照圖1,IOU12包括用于監督在地址總線AB0和AB1上的地址以決定被執行存取的存儲器類型的裝置。如果地址在預定地址范圍外(即,用于除存儲器6之外的外部存儲器的地址,通過與總線AB0和/或AB1相連的端口可訪問它),那么IOU12對PCU2設定一標記。PCU2可以響應這種標記而發出用于較慢存儲器存取的等待狀態。在用于通信操作的DSP中,理想地實現了本專利技術。例如,當根據本專利技術實現圖1的DSP時,打算將該DSP(在圖2中標記為處理器200)包括在圖2所示的那種類型的移動式數字電話系統中。在圖2中的系統中,DSP200的串行端口SIO接收來自音頻編碼譯碼單元(codec)206的數字化語音,而且DSP200將數字音頻數據(通過端口SIO)傳送給編碼譯碼單元206用于轉換成模擬形式并將它發送到揚聲器。通過模擬前端電路204,還將DSP200與RF收發機208相連。電路204包括一種裝置,它用于將從收發機208接收到的信號數字化(用于通過在DSP200內的裝置進行基帶處理),并用于將來自DSP200的數字數據轉換成用于由收發機208發送的持續模擬信號。在典型的實現中,電路204中斷DSP200以表明要求數據或數據存在(并將電路204映射到DSP200的存儲器地址,從而電路204可以有效地在DSP200內的一根數據總線上通信)。微控制器202向圖2系統的其它所有元件提供控制信號,并控制在圖2系統(它典型的是移動站)和遠程基站之間的通信。典型地,將微控制器202與DSP200的并行端口(PIO)相連。用于進行雙精度運算(關于2N比特操作數)的傳統電路需要多重處理周期以把單個2N比特操作數輸入累加器(例如,它們將操作數的第一個N比特部分輸入累加器的高位,在另一個周期內將第一個N比特部分移到累加器的低位,并通過在另一個周期內進行OR運算將第一個N比特部分與第二個比特部分串接在一起)。用于進行雙精度運算(關于2N比特操作數)的傳統電路需要多于兩個的處理周期以進行關于兩個操作數的算術運算(例如,它們將第一操作數的第一個N比特部分輸入寄存器、在第二個周期內將第一操作數的第一個N比特部分與第二操作數的第一個N比特部分相加、在第三周期內將結果移到加法器的低位、在第四個周期內將第一操作數的第二個N比特部分(和來自前一個加法運算的進位位)與累加器的內容相加)。本專利技術能本文檔來自技高網...
【技術保護點】
一種電路,它能夠響應于控制信號在單精度模式和雙精度模式的選中的一種模式下運算,進行關于數據的至少一種算術運算,其中通過以流水線方式執行指令而生成所述控制信號,其特征在于,所述電路包括:算術邏輯裝置,它用于進行關于第一操作數和第二操作數的 至少兩種算述運算中選中的一種,從而生成輸出字,所述算述邏輯裝置具有用于接收所述第一操作數的第一輸入和用于數據所述第二操作數的第二輸入;累加器寄存器,它用于接收來自所述算術邏輯裝置的所述輸出字;和操作數電路,其中所述操作數電路包括: 第一輸入,它與用于向所述算術邏輯裝置發出所述第一操作數的所述算術邏輯裝置的所述第一輸入相連;第二輸入,它與用于向所述算術邏輯裝置發出所述第二操作數的所述算術邏輯裝置的所述第二輸入相連;第三輸入,它用于接收第一個N比特數據字;第 四輸入,它用于接收第二個N比特數據字;和裝置,它能夠響應于所述控制信號的子集在所述單精度模式和所述雙精度模式的選中的一種模式下運算,用于將所述第一個N比特數據字與所述第二個N比特數據字串接,從而在雙精度模式下在單個流水線周期內生成第一個 2N比特操作數并向所述第二輸出發出所述第一個2N比特操作數,還用于在所述單精度模式下向所述第一輸出發出所述第一個N比特數據字作為第一個N比特操作數,并向所述第二輸出發出所述第二個N比特數據字作為第二個N比特操作數,其中所述算術邏輯裝置是可控制的以在雙精度模式下在所述單個流水線周期內對所述累加器寄存器發出未加改變的所述第一個2N比特操作數。...
【技術特征摘要】
...
【專利技術屬性】
技術研發人員:朱曼納A穆瓦菲,密蘭陀里奎安,
申請(專利權)人:愛特梅爾股份有限公司,
類型:發明
國別省市:US[美國]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。