專利名稱:能降低特定頻帶噪聲的編譯程序及計算機(jī)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及生成具有循環(huán)處理能力的程序的編譯程序、及執(zhí)行具有循環(huán)處理能力的程序的計算機(jī)裝置。
背景技術(shù):
編譯程序?qū)τ镁幊陶Z言描述的源程序進(jìn)行翻譯處理,生成預(yù)定的計算機(jī)能執(zhí)行的目標(biāo)程序。因此,編譯程序的程序解析部首先解析源程序,依照解析結(jié)果生產(chǎn)中間代碼,接著,在優(yōu)化處理部為了對中間代碼改進(jìn)程序的執(zhí)行效率,進(jìn)行循環(huán)融合等優(yōu)化處理作為優(yōu)化中間代碼,將其在代碼生成部中變換成目標(biāo)程序公知的編譯程序的所述優(yōu)化處理方法例如有如特開平9-114676號公報所揭示的方法。
該公知的優(yōu)化處理方法著眼于循環(huán)所需的指令數(shù)、或執(zhí)行時間的最小化上,生成最短的循環(huán)周期。這里,假設(shè)指令執(zhí)行頻率為10MHz、循環(huán)處理涉及的指令步數(shù)為10步,則循環(huán)周期為10M/Hz10step=1MHz=1000KHz,恰好與中波無線電接收機(jī)的頻帶重疊。
因此,用循環(huán)周期為最短的公知的循環(huán)優(yōu)化處理法存在的問題是會對附近的無線電接收機(jī)發(fā)出干擾波,妨礙其接收。這種由于無線電頻帶等特定頻帶上的干擾波即噪聲而受到其不良影響的設(shè)備為數(shù)眾多。
發(fā)明內(nèi)容
本發(fā)明為解決上述問題而提出,其目的在于提供一種能降低無線電頻帶等特定頻帶的噪聲的發(fā)生、并能清除所述噪聲對無線電接收機(jī)等設(shè)備的不良影響的編譯程序、及計算機(jī)裝置。
為達(dá)到這一目的,本發(fā)明的編譯程序,包括從源程序生成的中間代碼中檢測循環(huán)部分的循環(huán)檢測部、利用所述循環(huán)檢測部檢測出循環(huán)部分時生成該循環(huán)部分的循環(huán)處理程序的循環(huán)程序處理部、及改變由所述循環(huán)程序處理部生成的循環(huán)處理程序的處理所需的指令步數(shù)的循環(huán)處理變更處理部。
另外,本發(fā)明的計算機(jī)裝置,包括存儲一系列的程序、接受地址信號及存取信號并根據(jù)所述存取信號輸出與所述地址信號對應(yīng)的地址的程序的存儲器;輸出地址信號及存取信號的CPU;存儲從所述CPU輸出的過去的、多次的地址信號的地址保持電路;將所述地址保持電路所存的地址信號和現(xiàn)在所述CPU正輸出的地址信號作比較、一致時在多個周期的期間輸出等待信號的一致檢測電路;及輸入時鐘信號并自所述一致檢測電路輸入等待信號、在等待信號為負(fù)的期間將所述時鐘信號保持原樣作為控制時鐘信號向CPU輸出、而在等待信號為有效的期間向CPU輸出使所述時鐘信號停止n個周期的控制時鐘信號的CPU控制電路。
圖1為表示本發(fā)明第一實施例的編譯程序的構(gòu)成方框圖。
圖2為表示同上編譯程序的處理例子示意圖。
圖3為表示本發(fā)明第二實施例的編譯程序的構(gòu)成方框圖。
圖4為表示本發(fā)明第二實施例的編譯程序的處理例子示意圖。
圖5為表示本發(fā)明第三實施例的編譯程序的構(gòu)成方框圖。
圖6為表示本發(fā)明第三實施例的編譯程序的處理例子示意圖。
圖7為表示本發(fā)明第四實施例的編譯程序的構(gòu)成方框圖。
圖8為本發(fā)明第五實施例的計算機(jī)裝置的構(gòu)成圖。
圖9為本發(fā)明第五實施例的計算機(jī)裝置的時序圖。
圖10為本發(fā)明第六實施例的計算機(jī)裝置的構(gòu)成圖。
圖11為本發(fā)明第六實施例的計算機(jī)裝置的時序圖。
圖12為本發(fā)明第七實施例的計算機(jī)裝置的構(gòu)成圖。
圖13為本發(fā)明第七實施例的計算機(jī)裝置的時序圖。
具體實施例方式
以下參照
本發(fā)明的實施例。
(第一實施例)現(xiàn)對本發(fā)明第一實施例的“能降低特定頻帶的噪聲的編譯程序”進(jìn)行說明。圖1為表示本發(fā)明第一實施例的編譯程序的構(gòu)成方框圖。
如圖1所示,編譯程序2由以下兩部分構(gòu)成,即當(dāng)源程序1輸入時生成中間代碼4的程序解析部3;及循環(huán)處理部5,它具有從程序解析部3生成的中間代碼4中檢測循環(huán)部分的循環(huán)檢測部6、當(dāng)利用該循環(huán)檢測部6檢測出循環(huán)部分時生成第一階段的循環(huán)處理程序的循環(huán)程序處理部7、及對在該循環(huán)處理部7中生成的第一階段的循環(huán)處理程序通過追加nop指令等的等待(Wait)動作從而進(jìn)行變更循環(huán)處理程序的處理所需指令步數(shù)的處理的nop指令追加處理部(循環(huán)處理變更處理部的一例子)11。
關(guān)于上述構(gòu)成的實施例1的編譯程序2,以其一動作為例說明如下。
首先,源程序1輸入編譯程序2,由程序解析部3生成中間代碼4。
然后,在循環(huán)處理部5的循環(huán)檢測部6中,從中間代碼4中檢測(程序)循環(huán)部分,如檢測出,則在循環(huán)程序處理部7生成第一階段的循環(huán)處理程序。
在nop指令追加處理部11中,對生成的第一階段的循環(huán)處理程序進(jìn)行例如將循環(huán)處理程序變?yōu)樵谠撗h(huán)處理程序中追加n次nop指令的程序等的處理。
采用上述處理所生成的優(yōu)化代碼8,生成目標(biāo)程序9。
圖2表示上述nop指令追加處理部11中的循環(huán)處理的一個例子。另外,在圖2表示追加一次nop指令時的處理內(nèi)容。
如圖2所示,在進(jìn)行循環(huán)處理的AA(add指令)、BB(cmp指令)、CC(tbz指令)中,在處理[AA(add指令)、BB(cmp指令)]和判定[CC(tbz指令)]之間,追加NN(nop)指令。
利用以上的處理,對于在執(zhí)行由已有的循環(huán)處理生成的程序時產(chǎn)生的噪聲頻率為無線電接收機(jī)的無線電頻帶等特定頻帶那樣的程序,通過追加nop指令等能很容易增多(變更)指令步數(shù)。這樣,通過改變執(zhí)行一次循環(huán)的時間,就能避開由于循環(huán)周期產(chǎn)生的電磁輻射,亦即能夠使噪聲的頻率避開無線電頻帶等特定頻帶,能降低對于無線電接收機(jī)等(由于特定頻帶的噪聲受到不良影響的設(shè)備)的干擾波(特定頻帶的噪聲)。
(第二實施例)現(xiàn)對本發(fā)明第二實施例的“能降低特定頻帶的噪聲的編譯程序”進(jìn)行說明。還有,在和上述第一實施例同一的構(gòu)成上標(biāo)注相同的標(biāo)號其說明從略。
圖3為表示本發(fā)明第二實施例的編譯程序的構(gòu)成方框圖。
如圖3所示,在編譯程序2的循環(huán)處理部5中設(shè)置處理指令追加處理部(循環(huán)處理變更處理部的一個例子)12,來代替nop指令追加處理部11。
該處理指令追加處理部12在循環(huán)程序處理部7生成的第一階段的循環(huán)處理程序中,通過連續(xù)多次執(zhí)行在循環(huán)內(nèi)執(zhí)行的處理動作,從而進(jìn)行變更循環(huán)處理程序的處理所需的指令步數(shù)的處理。
關(guān)于上述構(gòu)成的第二實施例的編譯程序,現(xiàn)以其一動作為例說明如下。
首先,源程序1輸入編譯程序2,由程序解析部3生成中間代碼4。
然后在循環(huán)處理部5的循環(huán)檢測部6中,從中間代碼4中檢測循環(huán)部分,在循環(huán)程序處理部7生成第一階段的循環(huán)處理程序。
再在生成的第一階段的循環(huán)處理程序中,處理指令追加處理部12進(jìn)行例如將循環(huán)指令變更為n次反復(fù)的程序等的處理。
采用上述處理所生成的優(yōu)化代碼38,生成目標(biāo)程序39。
圖4示出上述處理指令追加處理部12的循環(huán)處理的一個例子。另外,在圖4中表示循環(huán)指令反復(fù)兩次時的處理。
如圖4所示,在進(jìn)行循環(huán)處理的AA(add指令)、BB(cmp指令)、CC(tbz指令)中,處理[AA(add指令)、BB(cmp指令)]作為處理2進(jìn)行反復(fù),這樣改變程序。
利用以上的處理,在執(zhí)行由已有的循環(huán)處理生成的程序時產(chǎn)生的噪聲頻率變成無線電接收機(jī)的無線電頻帶等特定頻帶那樣的程序中,追加使循環(huán)指令n次反復(fù)等處理,從而增多(變更)指令步數(shù)(能將執(zhí)行一次循環(huán)的時間變成n倍)。因而,能避開由于循環(huán)周期產(chǎn)生的電磁輻射,亦即能夠使噪聲的頻率避開無線電頻帶等特定頻帶,能降低對無線電接收機(jī)等(由于特定頻帶的噪聲受到不良影響的設(shè)備)的干擾波(特定頻帶的噪聲)。
(第三實施例)現(xiàn)對本發(fā)明第三實施例的“能降低特定頻帶的噪聲的編譯程序”進(jìn)行說明。還有,在和上述第一實施例相同的構(gòu)成上標(biāo)注同一標(biāo)號,說明從略。
圖5為表示本發(fā)明第三實施例的編譯程序的構(gòu)成方框圖。
如圖5所示,在編譯程序2的循環(huán)處理部5中設(shè)置轉(zhuǎn)移地址追加處理部(循環(huán)處理變更處理部的一個例子)13,來代替nop指令追加處理部11。
該轉(zhuǎn)移地址追加處理部13有根據(jù)反復(fù)動作而變化的標(biāo)記,對于循環(huán)程序處理部7生成的第一階段的循環(huán)處理程序,在該循環(huán)內(nèi)執(zhí)行的處理動作上追加nop指令等的等待(Wait)動作,然后,根據(jù)前述標(biāo)記的狀態(tài),在追加的等待動作的前后或等待動作的動作中進(jìn)行轉(zhuǎn)移,從而進(jìn)行改變循環(huán)程序處理所需指令步數(shù)的處理。
現(xiàn)對于上述構(gòu)成的第三實施例的編譯程序2以其一動作為例進(jìn)行說明。
首先,源程序1輸入編譯程序2,利用程序解析部3生成中間代碼4。
然后,在循環(huán)處理部5的循環(huán)檢測部6中,從中間代碼4中檢測循環(huán)部分,在循環(huán)程序處理部7生成第一階段的循環(huán)處理程序。
再對生成的第一階段的循環(huán)處理程序在轉(zhuǎn)移地址追加處理部13例如在循環(huán)程序前追加n個nop指令設(shè)置(n+1)個轉(zhuǎn)移條件,在各nop指令前進(jìn)行轉(zhuǎn)移,進(jìn)行上述那樣的處理。
利用上述處理后生成的優(yōu)化代碼8,生成目標(biāo)程序9。
圖6示出上述轉(zhuǎn)移地址追加處理部13的循環(huán)處理的一個例子。另外,在圖6中表示追加一個nop指令,設(shè)置兩個轉(zhuǎn)移條件時的處理。
如圖6所示,在進(jìn)行循環(huán)處理的AA(add指令)、BB(cmp指令)、CC(tbz指令)中,在上述處理[AA(add指令)、BB(cmp指令)、CC(tbz指令)]的前面,追加NN(nop)指令,對CC(tbz)設(shè)定兩個轉(zhuǎn)移條件(具有根據(jù)反復(fù)動作變化的標(biāo)記),能向處理[AA(add指令)、BB(cmp指令)、CC(tbz指令)]或處理[NN(nop)指令、AA(add指令)、BB(cmp指令)、CC(tbz指令)]轉(zhuǎn)移。
利用以上的處理,對于在執(zhí)行由已有的循環(huán)處理生成的程序時發(fā)生的噪聲的頻率變成無線電接收機(jī)的無線電頻帶等特定頻帶那樣的程序,設(shè)定n處循環(huán)指令的轉(zhuǎn)移地址,通過在追加的等待動作的前后或等待動作之中轉(zhuǎn)移,從而不增加程序大小而能增加(變更)指令的步數(shù)(能夠每循環(huán)一次就改變執(zhí)行一個循環(huán)的時間)。于是,能避開由于循環(huán)周期產(chǎn)生的電磁輻射,亦即能夠使噪聲的頻率避開無線電頻帶等特定頻帶,能降低對無線電接收機(jī)等(由于特定頻帶的噪聲受到不良影響的設(shè)備)的干擾波(特定頻帶的噪聲)。
(第四實施例)現(xiàn)對本發(fā)明第四實施例的編譯程序進(jìn)行說明。還有,在和上述第一實施例相同的構(gòu)成上標(biāo)注同一標(biāo)號,其說明從略。
圖7為表示本發(fā)明第四實施例的編譯程序的構(gòu)成方框圖。
如圖7所示,向編譯程序2輸入程序的執(zhí)行頻率(設(shè)置動作頻率)21、及無線電頻帶(噪聲NG頻帶;特定頻帶的一個例子)22,在編譯程序2中新設(shè)循環(huán)周期計算部23、噪聲周期判定部24、循環(huán)周期變更處理部25。
所述循環(huán)周期計算部23對于在循環(huán)程序處理部7生成的第一階段的循環(huán)處理程序,計算循環(huán)處理程序的處理所需的指令步數(shù),根據(jù)輸入的執(zhí)行頻率(設(shè)置動作頻率)21和計算出的指令步數(shù),從而計算所述循環(huán)處理程序的處理所需的周期。
另外,所述噪聲周期判定部24判定由循環(huán)周期計算部23算出的周期是否為所輸入的無線電頻帶(噪聲NG頻帶)22。
另外,所述循環(huán)周期變更處理部25根據(jù)噪聲周期判定部24判定為是無線電頻帶22時,對循環(huán)處理程序進(jìn)行追加一個nop指令等的處理,改變循環(huán)處理程序的處理所需指令步數(shù),根據(jù)無線電頻帶22變更由循環(huán)周期計算部23算出的所述循環(huán)處理程序的處理所需的周期。
關(guān)于上述構(gòu)成的第四實施例的編譯程序2現(xiàn)以其一個動作為例說明如下。
首先將源程序1、程序的執(zhí)行頻率(設(shè)置動作頻率)21、無線電頻帶(噪聲NG頻帶)22輸入編譯程序2,通過程序解析部3從源程序1生成中間代碼4。
接著在循環(huán)處理部5的循環(huán)檢測部6中,從中間代碼4中檢測出循環(huán)部分,在循環(huán)程序處理部7生成第一階段的循環(huán)處理程序。
再對生成的第一階段的循環(huán)處理程序在循環(huán)周期計算部23中利用最初輸入的設(shè)置動作頻率21計算循環(huán)的處理時間,算出伴隨著循環(huán)處理動作而產(chǎn)生的噪聲的頻率。
這里算出的噪聲頻率用噪聲周期判定部23判定是否進(jìn)入最初輸入的無線電頻帶22,在進(jìn)入無線電頻帶22即NG的情況下,循環(huán)周期變更處理部25進(jìn)行追加一個nop指令的處理(為了變更循環(huán)周期,而進(jìn)行變更循環(huán)處理程序的處理所需指令步數(shù)的處理),反復(fù)進(jìn)行處理直至偏離無線電頻帶22。
采用上述處理生成的優(yōu)化代碼8,生成目標(biāo)程序9。
通過以上的處理,僅對于在執(zhí)行由已有的循環(huán)處理生成的程序時產(chǎn)生的噪聲頻率變成無線電接收機(jī)的無線電頻帶(特定頻帶的一個例子)22那樣的程序,進(jìn)行對循環(huán)指令加上nop指令等處理,變更指令步數(shù),改變執(zhí)行一個循環(huán)的時間,從而能避開由于循環(huán)周期產(chǎn)生的電磁輻射,亦即能夠使噪聲的頻率避開無線電頻帶(特定頻帶),能降低對無線電接收機(jī)(由于特定頻帶的噪聲受到影響的設(shè)備)的干擾波(特定頻帶的噪聲)。
再有,在上述第四實施例中,是用循環(huán)周期變更處理部25進(jìn)行追加一條nop指令的處理,但即使采用上述第一實施例的nop指令追加處理部8或上述第二實施例的處理指令追加處理部12或上述第三實施例的轉(zhuǎn)移地址追加處理部13的處理,都能得到同樣的效果。
(第五實施例)現(xiàn)對本發(fā)明的第五實施例的計算機(jī)裝置進(jìn)行說明。
圖8為表示第五實施例中“能降低特定頻帶噪聲的計算機(jī)裝置”的構(gòu)成方框圖。
在圖8中,31為CPU,32為CPU31內(nèi)部的程序計數(shù)器,上述CPU31和內(nèi)部程序計數(shù)器32與以后將敘述的CPU控制信號A6所含的時鐘信號A5同步動作,輸出地址信號A1及RE信號(存取信號)A4。
另外,再設(shè)置地址保持電路33、一致檢測電路34、ROM(存儲器)35、和CPU控制電路36。
所述地址保持電路33存儲從CPU31的程序計數(shù)器32輸出的過去m個周期(多次)的地址信號A1。
另外,所述一致檢測電路34對地址保持電路33所存儲的多個地址信號和當(dāng)前CPU31的程序計數(shù)器32正輸出的地址信號A1作比較,在一致時,在n個周期的期間,輸出一致檢測信號(Wait信號)A3。
另外,所述ROM35存儲一系列的程序,接受地址信號A1及RE信號(存取信號)A4,根據(jù)存取信號A4將與地址信號A1對應(yīng)的地址的程序作為數(shù)據(jù)信號A2輸出。
另外,所述CPU控制電路36輸入時鐘信號A5,自一致檢測電路34輸入一致檢測信號(Wait信號)A3,在一致檢測信號A3為負(fù)時,將時鐘信號A5保持原樣作為控制時鐘信號A6向CPU31輸出,在一致檢測信號A3有效的期間,為了停止CPU31(為停機(jī)休眠狀態(tài)),故向CPU31輸出使時鐘信號A5停止n個周期的控制時鐘信號A6。
關(guān)于以上構(gòu)成的計算機(jī)裝置,現(xiàn)以其一個動作為例進(jìn)行說明。
從CPU31內(nèi)部的程序計數(shù)器32依次向ROM35輸出地址信號A1。
這時,在地址保持電路33中暫時保持m個周期的地址信號A1,在一致檢測電路34中對程序計數(shù)器32輸出的下一地址信號A1和m個周期的地址信號作比較。如一致,則判斷為正在進(jìn)行循環(huán),在時鐘信號A5的n個周期,將一致檢測信號A3向CPU控制電路36輸出。
這里,在CPU控制電路36中,在一致檢測測信號A3為負(fù)的期間,將時鐘信號A5保持原樣作為控制時鐘信號A6,向CPU31輸出,在一致檢測信號A3為有效的期間,為了使CPU31停止,向CPU31輸出使時鐘信號A5停止n個周期的控制時鐘信號A6。當(dāng)控制時鐘信號A6變成停止?fàn)顟B(tài)時,則CPU31就進(jìn)入停機(jī)休眠狀態(tài)。
圖9示出以上處理例子的時序圖。
如圖9所示,地址保持電路33中以保持地址1、保持地址2、保持地址3存儲3個周期的地址信號A1,當(dāng)存儲的地址再次表示為“4200”時,判斷在進(jìn)行循環(huán),在時鐘信號A5的一個周期的期間,輸出一致檢測信號A3(作為有效)。據(jù)此,當(dāng)一致檢測測信號A3變成有效時,控制時鐘信號A6就變成停止?fàn)顟B(tài),CPU31停止(停機(jī)休眠狀態(tài)),RE信號A4為負(fù)的狀態(tài)。
通過以上的處理,在檢測循環(huán)程序之際,由于在n個周期的期間CPU31停止,因此循環(huán)周期變化。于是改變循環(huán)處理程序的處理所需的周期,由此,能降低因循環(huán)周期產(chǎn)生的電磁輻射,亦即降低產(chǎn)生的特定頻帶的噪聲。又因n個周期的期間CPU31停止,因此消耗電流減少,所以能削減噪聲的電流電源,力求低噪聲化。
(第六實施例)現(xiàn)對本發(fā)明第六實施例的“能降低特定頻帶的噪聲的計算機(jī)裝置“進(jìn)行說明。另外,在與上述第五實施例的構(gòu)成相同的構(gòu)成上標(biāo)注同一標(biāo)號,其說明從略。
圖10為表示第六實施例的計算機(jī)裝置的構(gòu)成方框圖。
設(shè)置存儲器控制電路41和數(shù)據(jù)控制電路42,來代替第五實施例的CPU控制電路36。
所述存儲器控制電路41在一致檢測電路34輸出的一致檢測信號A3為負(fù)時,將CPU31輸出的RE信號A4保持原樣作為對ROM35的存取信號A7輸出,所述一致檢測信號A3為有效的期間,為了停止對ROM35的存取,將存取信號A7在循環(huán)的n個周期取負(fù)值(將從CPU31向ROM35存取的存取信號A4作為禁止)。
另外,所述數(shù)據(jù)控制電路42存儲從ROM(存儲器)35輸出的過去的、循環(huán)的n個周期(多次)的程序,
在一致檢測電路34輸出的一致檢測信號A3為負(fù)的期間,將ROM35輸出的程序保持原樣作為控制數(shù)據(jù)信號A8向CPU31輸出,在所述一致檢測信號A3為有效的期間,將正保持的循環(huán)的n個周期的數(shù)據(jù)作為控制數(shù)據(jù)信號A8向CPU31依次輸出。
自該數(shù)據(jù)控制電路42向CPU31供給程序。
另外,時鐘信號A5輸入CPU31和一致檢測電路34。
關(guān)于上述構(gòu)成的實施例6的計算機(jī)裝置,現(xiàn)以其一個動作為例進(jìn)行說明。
從CPU31內(nèi)部的程序計數(shù)器32依次向ROM35輸出地址信號A1。
這時,地址保持電路33中暫時保持m個周期的地址信號A1,在一致檢測電路34中將程序計數(shù)器32輸出的下一個地址信號A1和m個周期的地址信號作比較。若一致,則判斷在循環(huán),在循環(huán)的n個周期的期間,將一致檢測信號A3向存儲器控制電路41和數(shù)據(jù)控制電路42輸出。
本實施形態(tài)中,存儲器控制電路41在一致檢測信號A3為負(fù)的期間,將CPU31輸出的RE信號A4保持原樣作為對ROM35的存取信號A7輸出,但在一致檢測信號A3為有效的期間,為了停止對ROM35的存取,將存取信號A7在循環(huán)的n個周期中取負(fù)值。由此,ROM35的數(shù)據(jù)信號A2的輸出停止。
另外,同時,數(shù)據(jù)控制電路42將正在保持的循環(huán)的n個周期的數(shù)據(jù)作為控制數(shù)據(jù)信號A8,依次向CPU31輸出。
圖11示出以上處理例的時序圖。
如圖11所示,在地址保持電路33中以保持地址1、保持地址2、保持地址3存儲3個周期的地址信號A1,當(dāng)再次表示存儲的地址“4200”時,判斷正在進(jìn)行循環(huán),在時鐘信號A5的3個周期的期間,輸出一致檢測信號A3(作為有效)。當(dāng)一致檢測信號為有效時,存取信號A7在3個周期的期間變成負(fù),停止ROM35的數(shù)據(jù)信號A2的輸出。這時,自數(shù)據(jù)控制電路42將正在保持的循環(huán)的3個周期的數(shù)據(jù)作為控制數(shù)據(jù)信號A8向CPU31依次輸出。
利用以上的處理,在檢測出循環(huán)程序之際,通過強(qiáng)制地使對ROM35的存取停止n個周期,從而能減少消耗電流,于是削減噪聲的電流電源,力求做到低噪聲化,通過這樣能減少特定頻帶噪聲的產(chǎn)生。
(第七實施例)現(xiàn)對本發(fā)明第七實施例的“能降低特定頻帶的噪聲的計算機(jī)裝置”進(jìn)行說明。
圖12為表示第七實施例的計算機(jī)裝置的構(gòu)成方框圖。
如圖12所述,第七實施例設(shè)置數(shù)據(jù)控制電路42’,來代替上述第六實施例的數(shù)據(jù)控制電路42。
該數(shù)據(jù)控制電路42’存儲ROM(存儲器)35輸出的過去的、循環(huán)的n個周期(多次)的程序,在一致檢測電路34輸出的一致檢測信號A3為負(fù)的期間,將ROM35輸出的程序保持原樣作為控制數(shù)據(jù)信號A8向CPU31輸出。
所述一致檢測信號A3為有效的期間,將正在保持的循環(huán)的n個周期的數(shù)據(jù)(程序)作為控制數(shù)據(jù)信號A8,在向CPU31供給程序之際附加nop指令等等待(Wait)動作的指令代碼依次輸出。
關(guān)于以上構(gòu)成的第七實施例的計算機(jī)裝置,以其一動作為例說明如下。
從CPU31內(nèi)部的程序計數(shù)器32依次向ROM35輸出地址信號A1。
這時,地址保持電路33中暫時保持m個周期的地址信號A1,在一致檢測電路34中,將程序計數(shù)器32輸出的下一地址信號A1和m個周期的地址信號進(jìn)行比較。如一致,則判斷正在循環(huán),在循環(huán)的n個周期,將一致檢測信號A3向存儲器控制電路41及數(shù)據(jù)控制電路42’輸出。
這里,存儲控制電路41在一致檢測信號A3為負(fù)的期間,將CPU31輸出的RE信號A4保持原樣作為對ROM35的存取信號A7輸出,但在一致檢測信號A3為有效的期間,為了停止對ROM35的存取,將存取信號A7在循環(huán)的n個周期中取負(fù)值。由此,停止ROM35的數(shù)據(jù)信號A2的輸出。
再在數(shù)據(jù)控制電路42’中,先將nop指令作為控制數(shù)據(jù)信號A8向CPU31輸出,然后將正在保持的循環(huán)的n個周期的數(shù)據(jù)依次向CPU31輸出。
圖13示出以上處理例子的時序圖。
如圖13所述,地址保持電路33中以保持地址1、保持地址2、保持地址3存儲3個周期的地址信號A1,當(dāng)再次表示存儲的地址“4200”時,判斷為正在循環(huán),在時鐘信號A5的3個周期中,輸出一致檢測信號A3(作為有效)。一致檢測信號A3一為有效,存取信號A7就在3個周期的期間變成負(fù),停止ROM35的數(shù)據(jù)信號A2的輸出。這時,自數(shù)據(jù)控制電路42’首先將nop指令作為控制數(shù)據(jù)信號A8向CPU31輸出,然后正在保持的循環(huán)的3個周期的數(shù)據(jù)作為控制數(shù)據(jù)信號A8向CPU31依次輸出。
利用以上的處理,在檢測循環(huán)程序之際,強(qiáng)制地使對ROM35的存取停止循環(huán)程序的n個周期,又因循環(huán)處理周期也變化,所以能減少電流消耗,于是削減噪聲的電流電源,力求做到低噪聲化,通過這樣,能降低特定頻帶的噪聲產(chǎn)生。
還有,由于本發(fā)明能降低特定頻帶的噪聲產(chǎn)生,所以在不允許這種特定頻帶的噪聲存在的環(huán)境中,能將可降低特定頻帶噪聲的計算機(jī)裝置作為控制裝置來使用。
權(quán)利要求
1.一種能降低特定頻帶噪聲的編譯程序,其特征在于,包括從源程序生成的中間代碼中檢測循環(huán)部分的循環(huán)檢測部、當(dāng)所述循環(huán)檢測部檢測出循環(huán)部分時生成該循環(huán)部分的循環(huán)處理程序的循環(huán)程序處理部、及變更利用所述循環(huán)程序處理部生成的循環(huán)處理程序的處理所需的指令步數(shù)的循環(huán)處理變更處理部。
2.如權(quán)利要求1所述的能降低特定頻帶噪聲的編譯程序,其特征在于,作為所述循環(huán)處理變更處理部,包括對所述循環(huán)處理程序追加等待動作的nop指令追加處理部。
3.如權(quán)利要求1所述的能降低特定頻帶噪聲的編譯程序,其特征在于,作為所述循環(huán)處理變更處理部,包括在所述循環(huán)處理程序中連續(xù)多次執(zhí)行循環(huán)內(nèi)執(zhí)行的處理動作的處理指令追加處理部。
4.如權(quán)利要求1所述的能降低特定頻帶噪聲的編譯程序,其特征在于,作為所述循環(huán)處理變更處理部,包括有根據(jù)反復(fù)動作而變化的標(biāo)記并對所述循環(huán)處理程序追加等待動作、然后根據(jù)所述標(biāo)記的狀態(tài)在追加的等待動作的前后或等待動作的動作中轉(zhuǎn)移的轉(zhuǎn)移地址追加處理部。
5.一種能降低特定頻帶噪聲的編譯程序,其特征在于,包括從源程序生成的中間代碼中檢測循環(huán)部分的循環(huán)檢測部;當(dāng)所述循環(huán)檢測部檢測循環(huán)部分時、生成該循環(huán)部分的循環(huán)處理程序的循環(huán)程序處理部;計算由所述循環(huán)程序處理部生成的循環(huán)處理程序的處理所需指令步數(shù)、并根據(jù)生成的程序的執(zhí)行頻率和算出的指令步數(shù)來計算所述循環(huán)處理程序的處理所需的周期的循環(huán)周期計算部;判定由所述循環(huán)周期計算部算出的周期是否為特定頻帶的噪聲周期判定部;及如在所述噪聲周期判定部判定為所述特定頻帶時、則變更所述循環(huán)程序處理部生成的循環(huán)處理程序的處理所需指令步數(shù)、并根據(jù)所述特定頻帶改變所述循環(huán)處理程序的處理所需的周期的循環(huán)處理變更處理部。
6.如權(quán)利要求5所述的能降低特定頻段噪聲的編譯程序,其特征在于,作為所述循環(huán)處理變更處理部,包括對所述循環(huán)處理程序追加等待動作的nop指令追加處理部。
7.如權(quán)利要求5所述的能降低特定頻帶噪聲的編譯程序,其特征在于,作為所述循環(huán)處理變更處理部,包括在所述循環(huán)處理程序中連續(xù)多次執(zhí)行循環(huán)內(nèi)執(zhí)行的處理動作的處理指令追加處理部。
8.如權(quán)利要求5所述的能降低特定頻帶噪聲的編譯程序,其特征在于,作為所述循環(huán)處理變更處理部包括具有根據(jù)反復(fù)動作而變化的標(biāo)記并對所述循環(huán)處理程序追加等待動作、然后根據(jù)所述標(biāo)記的狀態(tài)在追加的等待動作的前后或等待動作的動作中轉(zhuǎn)移的轉(zhuǎn)移地址追加處理部。
9.一種能降低特定頻帶噪聲的計算機(jī)裝置,其特征在于,包括存儲一系列的程序、接受地址信號及存取信號并根據(jù)所述存取信號輸出與所述地址信號對應(yīng)的地址的程序的存儲器;輸出地址信號及存取信號的CPU;存儲所述CPU輸出的過去的、多次的地址信號的地址保持電路;將所述地址保持電路所存儲的地址信號和當(dāng)前所述CPU正輸出的地址信號作比較、在一致時在多個周期的期間輸出等待信號的一致檢測電路;及輸入時鐘信號并自所述一致檢測電路輸入等待信號、在等待信號為負(fù)的期間將所述時鐘信號保持原樣作為控制時鐘信號向CPU輸出、而在等待信號為有效的期間向CPU輸出使所述時鐘信號停止n個周期的控制時鐘信號的CPU控制電路。
10.一種能降低特定頻帶噪聲的計算機(jī)裝置,其特征在于,包括存儲一系列的程序、接受地址信號和存取信號并根據(jù)所述存取信號輸出與所述地址信號對應(yīng)的地址的程序的存儲器;與時鐘信號同步動作并輸出地址信號及存取信號的CPU;存儲所述CPU輸出的過去的、多次的地址信號的地址保持電路、將所述地址保持電路所存儲的地址信號和當(dāng)前CPU正輸出的地址信號作比較、在一致時輸出等待信號的一致檢測電路;在所述一致檢測電路輸出的等待信號為負(fù)的期間將CPU輸出的存取信號保持原樣作為向所述存儲器的存取信號輸出、而在所述等待信號為有效的期間為了停止對所述存儲器的存取而將從所述CPU向所述存儲器的存取信號作為禁止的存儲器控制電路;及存儲所述存儲器輸出的過去的多次的程序、在所述一致檢測電路輸出的等待信號為負(fù)的期間將所述存儲器輸出的程序保持原樣作為控制數(shù)據(jù)信號向所述CPU輸出、而在所述等待信號為有效的期間將正在保持的多次的程序作為控制數(shù)據(jù)信號依次向所述CPU輸出的數(shù)據(jù)控制電路。
11.如權(quán)利要求7所述的能降低特定頻帶噪聲的計算機(jī)裝置,其特征在于,所述數(shù)據(jù)控制電路具有在所述一致檢測電路輸出的等待信號為有效的期間、向所述CPU供給程序之際附加等待動作的指令代碼依次輸出的功能。
全文摘要
一種能降低特定頻帶噪聲的編譯程序及計算機(jī)裝置,編譯程序2中包括從源程序生成的中間代碼中檢測循環(huán)部分的循環(huán)檢測部6、當(dāng)該循環(huán)檢測部6檢測出循環(huán)部分時生成該循環(huán)部分的循環(huán)處理程序的循環(huán)程序處理部7、及將循環(huán)處理程序變更為在該循環(huán)處理程序中追加n次nop指令的程序的nop指令追加處理部11,該nop指令追加處理部11作為變更由循環(huán)程序處理部7生成的循環(huán)處理程序的處理所需時間的指令步數(shù)的循環(huán)處理變更處理部。
文檔編號G06F9/45GK1577273SQ20041005570
公開日2005年2月9日 申請日期2004年7月29日 優(yōu)先權(quán)日2003年7月29日
發(fā)明者滝田敏夫, 米田貴史 申請人:松下電器產(chǎn)業(yè)株式會社