新四季網

一種音頻數據處理器的製作方法

2023-06-02 16:40:46 1


本發明涉及電子
技術領域:
,具體涉及一種音頻數據處理器。
背景技術:
:隨著多媒體技術的不斷發展,越來越多的音頻設備被應用到人類的日常生產生活中。在音頻設備的使用過程中,在很多應用場景中需要對聲音進行優化處理,最常見的,即是對聲音的音效進行處理,比如可編程的電子樂器、遊戲機、家庭影院系統和電腦音響系統等音頻設備的應用場景。在現有技術中,音頻設備通常使用自身的音效處理器來對聲音的音效進行處理。音效處理器是通過對輸入的音頻信號,執行一系列的指令來產生新的聲音效果,每條指令會對於輸入的音頻信號進行邏輯上的,或者算數上的處理來產生特殊的聲音效果。在現有技術中,音效處理器通常採用與其它類型處理器相同或相近的硬體架構以及指令集結構。但是,相較於其他類型的數據,由於音頻數據的數據結構以及音效處理過程具有其特殊性,因此採用通用的處理器硬體架構以及指令集結構並不能實現理想的音頻數據處理效率。因此,需要一種新的,針對音頻數據的處理器架構以及指令集結構。技術實現要素:本發明提供了一種音頻數據處理器,所述處理器包括:包含輸入接口、操作碼輸出接口、第一操作數輸出接口、第二操作數輸出接口以及第三操作數輸出接口的操作指令解析單元,所述操作指令解析單元配置為獲取並解析所述輸入接口輸入的運算指令,獲取操作碼、第一操作數、第二操作數以及第三操作數並通過相應輸出接口輸出;包含操作碼輸入接口、第一操作數輸入接口、第二操作數輸入接口、第三操作數輸入接口以及輸出接口的算術單元,所述算術單元包含多個運算器,所述算術單元配置為根據所述操作碼選用對應的運算器對所述第一操作數、所述第二操作數以及所述第三操作數進行相應的計算操作並將計算結果通過所述輸出接口輸出,其中,所述算術單元包含針對音頻數據處理的和異或運算器、對數/指數運算器、特殊跳轉運算器和/或內插運算器。在一實施例中,所述和異或運算器配置為將所述第一操作數與所述第二操作數求和並將求和結果與所述第三操作數進行異或運算以獲取並輸出異或運算結果。在一實施例中,所述操作指令解析單元配置為獲取並解析所述輸入接口輸入的運算指令,獲取操作碼、第一操作數、第二操作數以及第三操作數並通過相應輸出接口輸出,其中,當所述運算指令對應和運算、異或運算、非運算、或運算或與非運算時所述操作碼對應所述和異或運算器。在一實施例中,所述對數/指數運算器配置為將所述第一操作數轉化為對數形式或線性數據。在一實施例中,所述操作指令解析單元配置為獲取並解析所述輸入接口輸入的運算指令,獲取操作碼、第一操作數、第二操作數以及第三操作數並通過相應輸出接口輸出,其中:當所述運算指令對應對數/指數運算時,所述操作碼對應所述對數/指數運算器的對數/指數運算模式,所述第一操作數為對數/指數運算對象,所述第二操作數為指定最大的指數值,所述第三操作數為運算結果的數據格式;所述對數/指數運算器配置為,當所述操作碼對應所述對數/指數運算器的對數運算模式時:分配對數運算結果的符號位、指數位以及尾數位;保存所述第一操作數的符號位;取所述第一操作數的絕對值並將所述絕對值左移,直到最高位為1,停止左移;以所述第二操作數減去絕對值移動的位數的結果為臨時指數部分;對移位後的所述第一操作數進行規格化判斷,根據規格化判斷結果、移位後的所述第一操作數以及所述臨時指數部分確定所述運算結果的指數部分以及尾數部分;根據所述第三操作數對所述對數運算結果進行數據格式處理,其中,所述數據格式處理包含取反、取負數以及保持不變。。在一實施例中,所述對數/指數運算器配置為對移位後的所述第一操作數進行規格化判斷,根據規格化判斷結果、移位後的所述第一操作數以及所述臨時指數部分確定所述運算結果的指數部分以及尾數部分,其中,所述對數/指數運算器還配置為:判斷移位後的所述第一操作數的數據最高位是否為1;當所述數據最高位為1時,再次左移所述第一操作數一次並將所述臨時指數部分加1,以所述臨時指數部分加1後的結果為所述指數部分,以所述第一操作數的最終左移結果為所述尾數部分;當所述數據最高位不為1時,以所述臨時指數部分為所述指數部分,以所述第一操作數的左移結果為所述尾數部分。在一實施例中,所述對數/指數運算器還配置為,當所述操作碼對應所述對數/指數運算器的指數運算模式時:採用所述對數運算模式下的反向運算來對所述第一操作數進行數據處理。在一實施例中,所述特殊跳轉運算器配置為在滿足預設狀態方程時將當前運算指令之後的n個運算指令標記為無效指令,n為非負整數,所述無效指令為可接收但不執行的運算指令。在一實施例中,所述操作指令解析單元配置為獲取並解析所述輸入接口輸入的運算指令,獲取操作碼、第一操作數、第二操作數以及第三操作數並通過相應輸出接口輸出,其中,當所述運算指令對應特殊跳轉運算時,所述操作碼對應所述特殊跳轉運算器,所述第一操作數為跳轉狀態參數,所述第二操作數為所述n,所述第三操作數為所述預設狀態方程選擇參數。在一實施例中,所述內插運算器配置為對第一操作數和第三操作數按照配置的比例進行線性內插操作運算。在一實施例中,所述內插運算器配置為:計算第一操作數-第二操作數*(第一操作數-第三操作數)。在一實施例中,所述處理器基於兩個並行的數位訊號處理核心構造,兩個所述數位訊號處理核心間通過流水線控制器進行指令的分配。在一實施例中,每個所述數位訊號處理核心包含一個精簡指令集處理器和一個信號處理單元,其中,所述精簡指令集處理器包含:採用基於16個寄存器操作的結構的精簡指令集;基於直接內存操作的結構的數位訊號處理指令集。發明的處理器包含針對音頻數據處理的運算器,可以實現對音頻數據的快速處理。相較於現有技術的處理器,本發明的處理器處理速度更快,處理效果更優。本發明的其它特徵或優點將在隨後的說明書中闡述。並且,本發明的部分特徵或優點將通過說明書而變得顯而易見,或者通過實施本發明而被了解。本發明的目的和部分優點可通過在說明書、權利要求書以及附圖中所特別指出的步驟來實現或獲得。附圖說明附圖用來提供對本發明的進一步理解,並且構成說明書的一部分,與本發明的實施例共同用於解釋本發明,並不構成對本發明的限制。在附圖中:圖1以及圖2是根據本發明實施例的音頻數據處理器結構簡圖;圖3是根據本發明一實施例的risc指令結構和寄存器組示意圖;圖4是根據本發明一實施例的和異或運算流程圖;圖5是根據本發明一實施例的對數運算流程圖;圖6是根據本發明一實施例的特殊跳轉運算流程圖;圖7是根據本發明一實施例的內插運算流程圖;圖8是根據本發明一實施例risc組成結構示意圖;圖9是根據本發明一實施例音效處理器系統架構示意圖。具體實施方式以下將結合附圖及實施例來詳細說明本發明的實施方式,藉此本發明的實施人員可以充分理解本發明如何應用技術手段來解決技術問題,並達成技術效果的實現過程並依據上述實現過程具體實施本發明。需要說明的是,只要不構成衝突,本發明中的各個實施例以及各實施例中的各個特徵可以相互結合,所形成的技術方案均在本發明的保護範圍之內。隨著多媒體技術的不斷發展,越來越多的音頻設備被應用到人類的日常生產生活中。在音頻設備的使用過程中,在很多應用場景中需要對聲音進行優化處理,最常見的,即是對聲音的音效進行處理,比如可編程的電子樂器、遊戲機、家庭影院系統和電腦音響系統等音頻設備的應用場景。在現有技術中,音頻設備通常使用自身的音效處理器來對聲音的音效進行處理。音效處理器是通過對輸入的音頻信號,執行一系列的指令來產生新的聲音效果,每條指令會對於輸入的音頻信號進行邏輯上的,或者算數上的處理來產生特殊的聲音效果。在現有技術中,音效處理器通常採用與其它類型處理器相同或相近的硬體架構以及指令集結構。但是,相較於其他類型的數據,由於音頻數據的數據結構以及音效處理過程具有其特殊性,因此採用通用的處理器硬體架構以及指令集結構並不能實現理想的音頻數據處理效率。針對上述問題,本發明提出了一種音頻數據處理器。具體的,在本發明一實施例中,音頻數據處理器為數位訊號(digitalsignalprocessing,dsp)處理器,其除了包含常規的數據處理指令集(指令集結構)外還針對音效處理構造了特別的數據處理指令(運算器)。如圖1所示,在一實施例中,處理器包括:包含輸入接口(e1)、操作碼輸出接口(d1)、第一操作數輸出接口(a1)、第二操作數輸出接口(b1)以及第三操作數輸出接口(c1)的操作指令解析單元110,操作指令解析單元110配置為獲取並解析輸入接口e1輸入的運算指令,獲取操作碼(d)、第一操作數(a)、第二操作數(b)以及第三操作數(c)並通過相應輸出接口輸出;包含操作碼輸入接口(d2)、第一操作數輸入接口(a2)、第二操作數輸入接口(b2)、第三操作數輸入接口(c2)以及輸出接口(e2)的算術單元120,算術單元120包含多個運算器(121、122、123、124、125等),算術單元120配置為根據操作碼d選用對應的運算器對操作數a、b以及c進行相應的計算操作並將計算結果通過輸出接口e2輸出。具體的,在本實施例中,針對音效處理的特殊性,算術單元120包含和異或運算器121、對數/指數運算器122、特殊跳轉運算器123和內插運算器124。進一步的,在本發明其他實施例中,可以根據具體的數據處理需求,在算術單元中構造和異或運算器121、對數/指數運算器122、特殊跳轉運算器123和內插運算器124中的任意一個或任意幾個的組合。進一步的,在一實施例中,基於寄存器以及選址器構造操作指令解析單元。如圖2所示,在一實施例中,操作指令解析單元210包含指令內存200指令解碼器211以及寄存器212。指令內存200為存儲處理器將要執行的運算指令。通用寄存器212內存可作為臨時存儲空間,參與指令運算,同時也可以是音頻數據的輸入和輸出。指令解碼器211把指令從指令內存200裡面提取出來,解析運算指令,向算術單元220輸出解析出的操作碼d。同時,指令解碼器211還解析出操作數a、b、c以及z的寄存器地址並將地址發送到寄存器212,。寄存器212接收到操作數地址後將對應地址上存儲的操作數a、b、c發送到算術單元220。操作數a,b,c分別鎖存於算術單元220的寄存器中。算術單元220根據操作碼d選用對應的運算器對操作數a、b以及c進行相應的計算操作並將計算結果(操作數z)寫入寄存器212中操作數z地址指向的地址空間。進一步的,在一實施例中,運算指令(dsp指令)的組成格式如表1所示,運算指令包括4位的操作碼,3個12位的源地址(操作數a、b、c),一個12位的目標地址(操作數z)。4位操作碼12位z操作數地址12位a操作數地址12位b操作數地址12位c操作數地址表1操作碼表示音頻處理器每條指令的操作。3個源地址a,b,c和一個目標地址z分別指向通用寄存器內存空間。進一步的,在一實施例中,在寄存器212中,尋址空間為2048,每個地址存取一個32位的數據,數據的保存的格式包括定點數,以及浮點格式的數據。還有5位的狀態標誌位分別是:「飽和標誌位」,表示寫回的z操作數溢出了32位的數據範圍。「零標誌位」,表示寫回的z操作數32位都為零。「規格化標誌位」,表示寫回的z操作數為一個規格化的數據。「負數標誌位」,表示寫回的z操作數為一個負數。「進位標誌位」,為上次運算的進位標誌位。進一步的,在一實施例中,精簡指令集(rsic)指令的組成格式如圖3所示,18位的dsp自定義指令集,32位的數據操作,基於16個通用寄存器(r0~r15)。通用的音效處理處理器指令包括算術運算指令「加法」,「乘加」,以及邏輯運算指令「and」,「or」,和「xor」。一般的,為了提高數據處理的處理效率,通常會針對每個運算指令構造獨立的運算器。但是,獨立的運算器的增多勢必會使得算術單元的結構複雜化。針對上述問題,在本發明一實施例中,算術單元中構造了和異或運算器,通過對和異或運算器輸入數據的控制來實現多種不同的算術運算指令。具體的,在一實施例中,處理器的算術單元至少包含和異或運算器,和異或運算器配置為將第一操作數(a)與第二操作數(c)求和並將求和結果與第三操作數(c)進行異或運算以獲取並輸出異或運算結果(z)。如圖4所示,在一實施例中,指令解碼器接收和異或運算指令(步驟s310);解析該運算指令後獲取並輸出和異或操作碼、操作數a取數地址、操作數b取數地址、操作數c取數地址以及操作數z寫回地址(步驟s320)。寄存器根據操作數a取數地址、操作數b取數地址以及操作數c取數地址輸出相應的操作數a、b、c。算術單元首先獲取操作數a、b、c並鎖存(步驟s330),然後根據和異或操作碼調用和異或運算器對操作數a、b、c進行算術運算。先進行a操作數和b操作數的和運算(步驟s340);然後將步驟s340的求和結果和c進行異或運算(步驟s350)。最後,將步驟s350的異或運算結果寫入寄存器中操作數z寫回地址指向的地址空間。進一步的,在一實施例中,根據不同的b、c操作數值,和異或指令能得到不同的邏輯運算結果。具體的,在一實施例中,其可以實現和操作、或操作、異或操作、與非操作、取反操作。即,在一實施例中,當運算指令對應和運算、異或運算、非運算、或運算或與非運算時操作碼均對應和異或運算器;處理器通過操作b、c操作數值來實現不同的邏輯運算,如表2所示。具體的,在一實施例中,當運算指令對應和運算時:操作數a以及操作數b為和運算的運算對象;操作數c為0。在一實施例中,當運算指令對應異或運算時:操作數a以及操作數c為異或運算的運算對象;操作數b為0xffffffff。在一實施例中,當運算指令對應非運算時:操作數a為非運算的運算對象;操作數b以及操作數c為0xffffffff。在一實施例中,當運算指令對應或運算時:操作數a以及操作數c為或運算的運算對象;在一實施例中,運算指令對應與非運算時:操作數a以及操作數b為與非運算的運算對象;第三操作數為0xffffffff。表2具體的,在一實施例中,當運算指令對應和運算時:操作數a以及操作數b為和運算的運算對象;操作數c為0。在一實施例中,當運算指令對應異或運算時:操作數a以及操作數c為異或運算的運算對象;操作數b為0xffffffff。在一實施例中,當運算指令對應非運算時:操作數a為非運算的運算對象;操作數b以及操作數c為0xffffffff。在一實施例中,當運算指令對應或運算時:操作數a以及操作數c為或運算的運算對象;在一實施例中,運算指令對應與非運算時:操作數a以及操作數b為與非運算的運算對象;第三操作數為0xffffffff。進一步的,在一實施例中,進行和異或運算對數據的狀態標誌位的影響是:「零標誌位」,「負數標誌位」。通過和異或運算器,本發明的處理器通過一條指令(和異或指令)就實現了不同的邏輯運算。處理器在保證其運算功能完整性的前提下大大精簡了運算器架構。在通常的音頻數據處理過程中,一個對音頻處理器的要求是能夠保存較大範圍的數據。通常的數據存儲方式是將線性的數據存儲為ieee754格式的浮點數表示形式。但是因為指數和尾數的大小是固定的,音頻信號超過這些位的大小會被丟掉。針對上述問題,在本發明一實施例中,針對音頻數據構造了特有的對數/指數指令(線性數據到對數的轉換指令),其能夠自定指數和尾數部分的位寬。根據數據的重要性指數和尾數的位寬可以相應的擴大或者縮小,這樣就可以給音效處理提供波形整形和特殊音效處理操作。具體的,在一實施例中,處理器的算術單元至少包含對數/指數運算器,對數/指數運算器配置為將第一操作數轉化為對數形式(線性數據轉化為對數形式)或線性數據(對數形式轉化為線性數據)。進一步的,在一實施例中,當運算指令對應對數/指數運算時,操作指令解析單元輸出的操作碼對應對數/指數運算器的對數/指數運算模式,操作數a為對數/指數運算對象,操作數b為指定最大的指數值,操作數c為運算結果的數據格式。對應的,在一實施例中,對數/指數運算器配置為,當操作碼對應對數/指數運算器的對數運算模式時:對數/指數運算器首先分配對數運算結果的符號位、指數位以及尾數位;然後保存操作數a的符號位(到對數運算結果的符號位);接著取操作數a的絕對值並將該絕對值左移,直到移位結果的最高位為1時停止左移;接下來,以操作數b減去絕對值移動的位數,以得到的結果為臨時指數部分;最後,對移位後的操作數a進行規格化判斷,根據規格化判斷結果、移位後的操作數a以及臨時指數部分確定對數運算結果的指數部分以及尾數部分。進一步的,在一實施例中,對數/指數運算器通過對操作數b進行換算來分配指數位。具體的,分配z操作數結果組成,其中,n個位表示z操作數的指數部分。此處的n來自於b操作數的換算,n的範圍在2到5個位,表示的指數範圍在2到31。進一步的,在一實施例中,對數/指數運算器將分配符號位以及指數位後剩餘的數據位分配為尾數位,範圍在26-29位之間。進一步的,在一實施例中,在對數/指數運算器取操作數a的絕對值並將絕對值左移的過程中,左移結果不能超過操作數b。進一步的,在一實施例中,對數/指數運算器通過操作數a的左移結果的最高位來判斷是否需要規格化。具體的,對數/指數運算器在左移完成後判斷移位後的操作數a的數據最高位是否為1;當數據最高位為1時,對數/指數運算器再次左移第一操作數一次並將臨時指數部分加1,以臨時指數部分加1後的結果為對數運算結果的指數部分,以操作數a的最終左移結果(再次左移一次後的結果)為對數運算結果的尾數部分;當數據最高位不為1時,以臨時指數部分為對數運算結果的指數部分,以操作數a的左移結果為對數運算結果的尾數部分。進一步的,在一實施例中,在確定尾數部分的過程中,當操作數a的左移結果超過對數運算結果的尾數位分配結果時對操作數a的左移結果進行截取操作。進一步的,在一實施例中,當操作碼對應對數/指數運算器的指數運算模式時:採用上述對數運算模式下的反向運算來對操作數a進行數據處理。進一步的,在一實施例中,在進行對數/指數運算操作時,操作數c為運算結果的數據格式。對應的,對數/指數運算器還配置為:根據操作數c對對數運算結果進行數據格式處理,其中數據格式處理包含取反、取負數以及保持不變。具體的,在一實施例中,操作數c「00」表示保持數據結果,「01」表示對結果數據進行取反操作,「10」表示對數據結果進行取負數操作。進一步的,在一實施例中,在對數/指數運算過程中,對狀態標誌位的影響是:「零標誌位」,「負數標誌位」,「規格化標誌位」。以一具體的應用實例為例,如圖5所示,在一實施例中,指令解碼器接收對數運算指令(步驟s410);解析該運算指令後獲取並輸出對數運算操作碼、操作數a取數地址、操作數b取數地址、操作數c取數地址以及操作數z寫回地址(步驟s420)。寄存器根據操作數a取數地址、操作數b取數地址以及操作數c取數地址輸出相應的操作數a、b、c。算術單元首先獲取操作數a、b、c並鎖存(步驟s430),然後根據對數運算操作碼調用對數/指數運算器(並進入對數運算狀態)對操作數a、b、c進行算術運算。對數/指數運算器分配z操作數結果組成,首先為操作數z分配n位的指數部分(步驟s441)。同時分配符號位為z操作數的符號位(步驟s442)。剩餘的數據位為尾數位(步驟s443)。接下來,保存線性輸入數據(操作數a)的符號位(步驟s450),同時取操作數a的絕對值(步驟s461),然後對操作數a的絕對值進行左移(步驟s462),直到最高位為1,停止左移。即在每左移一次(步驟s462)後判斷最高位是否為1(步驟s463),如果為1,則不再左移。當最高位不為1,則繼續判斷左移是否會超過操作數b(左移次數是否會超過n)(步驟s464),如果不會,則繼續左移(返回步驟s462)。如果超過,則不再左移。當左移停止後,判斷是否進行規格化,即判斷左移結果的最高位是否為1。由於在步驟s463已經進行過一次判斷,因此,在本實施例中,在步驟s463中,當左移結果最高位為1時停止左移,並接下來計算操作數b減去左移次數再加1的結果(步驟s471),以該結果作為對數運算結果中的指數部分(步驟s472),然後再次左移一次操作數a(步驟s473),以該左移結果作為尾數部分(步驟s474)。進一步的,當步驟s463中判定最高位不為1,但步驟s464判定左移結果將超過操作數b時,停止進一步左移,計算操作數b減左移次數(步驟s481),以計算結果作為指數部分(步驟s482),並將左移結果作為尾數部分(步驟s483)。通常的信號處理的條件控制指令,如if/elseif/else不容易使用在音頻處理器中,因為有了條件控制指令程序,執行的指令會和沒有條件控制指令的程序不同,或者會由於條件控制指令的成立或不成立導致執行的指令大小不一樣。但是,條件控制指令在音效處理中有著非常重要的價值。因此在本發明一實施例中,構造了特殊跳轉指令。特殊跳轉指令(sjmp)可以用於狀態寄存器數據搬運,並且通過不執行指令來實現傳統的指令跳轉功能。不執行指令的含義是把sjmp指令條件成立下面的指令當做無效指令執行。基於該指令,條件控制指令的成立或者不成立不會對執行指令的大小造成影響。具體的,在一實施例中,處理器的算術單元至少包含特殊跳轉運算器,特殊跳轉運算器配置為在滿足預設狀態方程時將當前運算指令之後的n個運算指令標記為無效指令,n為非負整數。需要注意的是,在這裡,無效指令為可接收但不執行的運算指令。即如果指令被標記為無效指令,處理器仍會接收到該指令(對於處理器而言,該指令仍然存在,因此執行指令的大小不會發生變化),但是對於處理器而言,標記為無效的指令執行效果為空(不被執行)。進一步的,在一實施例中,當運算指令對應特殊跳轉運算時,操作指令解析單元輸出的操作碼對應特殊跳轉運算器,操作數b為n(需要跳過的指令數),操作數c為預設狀態方程選擇參數。對應的,當算術單元接收到對應特殊跳轉運算器的操作碼時調用特殊跳轉運算器。特殊跳轉運算器判斷是否滿足操作數c所對應的狀態方程,如果滿足,則將之後的n(操作數b所指明的)個運算指令標記為無效指令。進一步的,在一實施例中,操作數a為跳轉狀態參數,每條運算指令執行時更新操作數a。具體的,操作數a包含了狀態寄存器(進位,飽和位,符號位,為零位,規格化位),每條指令執行的時候都會更新這個狀態寄存器。進一步的,在一實施例中,預設狀態方程包含第一方程式以及第二方程式;特殊跳轉運算器配置為根據操作數c確定預設狀態方程的類型以及因子。具體的,預設狀態方程由1個10位的因子組成,每個因子包含了標誌的5個狀態標誌位以及狀態標誌位的取反。第一方程式為方程式因子的和運算,第二方程式為方程式因子的與運算。狀態方式可以組成不同的跳轉條件。通過c操作數,「1」表示選擇方程式1,「2」表示選擇方程式2。將狀態標誌位放入方程式進行運算,如果這個方程式的結果為「1」,表示處理器將跳過n條指令,這個n由於操作數b決定。跳過的概念是音頻處理控制器還是繼續取到指令,但得到的指令將作為一個無效指令執行。如果方程式結果為「0」,那麼表示跳轉條件不成立,指令繼續執行。注意sjmp指令不會引起狀態標誌位的變化。以一具體應用實例為例,如圖6所示,在一實施例中,指令解碼器接收對數運算指令(步驟s510);解析該運算指令後獲取並輸出對數運算操作碼、操作數a取數地址、操作數b取數地址、操作數c取數地址以及操作數z寫回地址(步驟s520)。寄存器根據操作數a取數地址、操作數b取數地址以及操作數c取數地址輸出相應的操作數a(狀態寄存器)、b(計數值n)、c。操作數a包含了狀態寄存器(進位,飽和位,符號位,為零位,規格化位),每條指令執行的時候都會更新這個狀態寄存器。操作數b表示如果跳轉條件成立,處理器將跳過的指令條數。c操作數為狀態方程式選擇控制。算術單元首先獲取操作數a、b、c並鎖存(步驟s530),然後將狀態寄存器的數據搬運到操作數z執行的內存空間(步驟s540)。這樣上一條指令的狀態寄存器保存在內存中,在後面的操作中如果再次需要這個狀態寄存器,它可以通過指令從內存空間裡又讀出來。接下來,根據操作數c選擇方程式(步驟s550)。狀態方程式1個10位的因子組成,每個因子包含了標誌的5個狀態標誌位以及狀態標誌位的取反。方程式1是10位因子的和運算。方程式2是10位因子的與運算。狀態方式可以組成不同的跳轉條件。通過c操作數,「1」表示選擇方程式1,「2」表示選擇方程式2。將狀態標誌位放入方程式進行運算(步驟s560),如果這個方程式的結果為「1」,表示處理器將跳過n(由操作數b決定)條指令。跳過的概念是音頻處理控制器還是繼續取到指令,但得到的指令將作為一個無效指令執行。即,把特殊跳轉指令後的n條指令當做空指令處理(步驟s570)。然後經過該n條空指令後繼續正常執行之後的指令(步驟s580)。如果方程式結果為「0」,那麼表示跳轉條件不成立,指令繼續執行(步驟s590)。進一步的,在一實施例中,以sjmp指令實現「if/else」,「if/elseif/else」的操作。具體的,通過多條sjmp跳轉指令的組合實現此功能。進一步的,針對音頻數據的處理,在一實施例中,處理器還構造有內插指令。其用來按照配置的比例對兩個操作數進行線性內插操作運算。具體的,在一實施例中,處理器的算術單元至少包含內插運算器,內插運算器配置為對操作數a和操作數b按照配置的比例進行線性內插操作運算。具體的,在一實施例中,內插運算器配置為計算:第一操作數-第二操作數*(第一操作數-第三操作數)。進一步的,在一實施例中,通過內插指令實現一階低通濾波器效果。具體的,操作指令解析單元配置為,當運算指令對應一階遞歸低通濾波器時,在當前音頻周期內將內插運算器的輸出賦值給操作數a。在另一實施例中,操作指令解析單元還配置為,當運算指令對應一階非遞歸低通濾波器時將內插運算器的輸出延時一個音頻周期後賦值給操作數a。具體的,如圖7所示,在一實施例中,指令解碼器接收內插運算指令(步驟s610);解析該運算指令後獲取並輸出內插運算操作碼、操作數a取數地址、操作數b取數地址、操作數c取數地址以及操作數z寫回地址(步驟s620)。寄存器根據操作數a取數地址、操作數b取數地址以及操作數c取數地址輸出相應的操作數a、b、c。算術單元首先獲取操作數a、b、c並鎖存(步驟s630),然後通過並行的2個乘法運算,然後加上操作數a(步驟s640),最後將結果(操作數z)寫入操作數z地址,使得指令在一個周期內完成。進一步的,如果將z操作數又從新賦值給a操作數,就構造了一個一階遞歸的低通濾波器。這個操作的實現是使用內插指令並將設置a操作數的地址和z操作數的地址相同。如果a操作數比c操作數延時一個音頻周期,那麼就實現了一個非遞歸的一階低通濾波器。這個操作是通過內插指令裡的a操作數地址是c操作數延時一個時鐘周期的數據的地址。進一步的,對於一個音效處理指令而言,最理想的狀態是其為最小化多功能的指令集,一個單條的指令能夠實現通用信號處理器操作,又能夠處理特殊的音頻處理操作。同時,通常的信號處理器對於程序的控制能力比較差,因此需要一個通用處理器的結構嵌套在這音效處理器中。進一步的,考慮到音頻處理一般在48k裡面要處理一個左右聲道的音頻數據,為了實現更好的音效處理,在考慮到功耗的同時也需要考慮信號處理的效率。因此,在本發明還提出了一種音效處理器系統,該系統包含兩個音頻數據處理器(dsp處理器),其中:兩個處理器並行;兩個處理器間通過流水線控制器進行指令的分配。具體的,在一實施例中,音效處理器系統基於兩個並行的dsp處理核心(音頻數據處理器)構造,兩個dsp處理核心間通過流水線控制器進行指令的分配。進一步的,在一實施例中,每個dsp處理核心還配有一個精簡指令集(rsic)控制單元,其中,rsic控制單元採用基於16個寄存器操作的結構的精簡指令集。rsic控制單元主要提供音頻數據搬運,以及音效控制機制方面的算法。risc控制單元是一個基於寄存器到寄存器的操作,通過加載和存儲指令來搬運數據內存裡面的數據。進一步的,在一實施例中,risc具體指令集如表3所示。表3進一步的,如圖8所示,在一實施例中,rsic控制單元包含一個地址產生器,三個加法器,一個算術移位單元,一個算術邏輯單元,和一個寄存器組。進一步的,在一實施例中,如圖9所示,音效處理器系統由兩個dsp核/rsic控制單元(處理單元721以及處理單元722,每個處理單元為一個dsp核以及一個rsic控制單元的集合)構成,處理單元721以及處理單元722能夠並行執行指令。流水線控制器730,主要是通過48khz信號來實現dsp核之間的運算流水,數據共享。通過流水線控制器730,以及軟體上的數據規劃,數位訊號處理核心721以及722從數據內存710處讀取數據並接收來自指令內存750的運算指令,從而最終實現音頻算法。進一步的,在一實施例中,指令內存750包含了一個本地指令緩存740,能夠保存八條指令。這樣能夠在循環指令時候,減少對內存的訪問,來減少功耗。雖然本發明所公開的實施方式如上,但所述的內容只是為了便於理解本發明而採用的實施方式,並非用以限定本發明。本發明所述的方法還可有其他多種實施例。在不背離本發明實質的情況下,熟悉本領域的技術人員當可根據本發明做出各種相應的改變或變形,但這些相應的改變或變形都應屬於本發明的權利要求的保護範圍。當前第1頁12

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀