⑴ 用數據來說明,Vivado的效率提高到底有多少
自從去年10月Xilinx發布ISE14.7之後,ISE套件便暫時沒有了更新計劃,相當於進入了軟體生命中的「中年」;而當初在2012.x版本還作為ISE套件中的一個組件的Vivado,此時已經如早上8、9點鍾的太陽一樣冉冉升起:因為隨著FPGA/SOC製造工藝、硬體單元規模和設計方法的不斷改進,傳統的基於ISE的設計方法已經逐漸不能滿足我們的要求了。所以針對新的Artix-7/Kintex-7/Virtex-7晶元,Xilinx都建議我們使用全新設計的Vivado套件來進行開發(使用Spartan-6的筒子可以在新設計中考慮向Artix-7過渡了)。此外,因為ISE套件已經沒有升級計劃表,所以對新的操作系統也無法支持了,例如在Win8/8.1上面,ISE14.7幾乎無法完美運行,而從Vivado2014.1版本就開始全面支持了。
直觀的來看,我理解的Vivado套件,相當於把ISE、ISim、XPS、PlanAhead、ChipScope和iMPACT等多個獨立的套件集合在一個Vivado設計環境中,在這個集合的設計流程下,不同的設計階段我們採用不同的工具來完成,此時Vivado可以自動變化菜單、工具欄,可以顯著提高效率:因為不需要在多個軟體間來回切換、調用,白白浪費大量的時間。基於Vivado IP集成器(IPI),則把我們對硬體的配置更好地集成到我們的設計中,既極大地提高了對IP的使用和管理,也幫助我們減小了軟體和硬體(例如ZYNQ器件的PS)之間的隔閡。Vivado HLS則可以把現有的C代碼,在一些特定的規范下直接轉換為可綜合的邏輯,這也將極大地提高我們實現和移植現有演算法的速度。
因為Vivado套件較為復雜,所以先用一個對比測試,來檢驗一下它們之間的性能差別。採用的測試環境是:
操作系統:win7 sp1x64
CPU:I7-4770k,開啟超線程,全部超頻至4.3GHz
ISE: 14.7
Vivado:2014.1
使用的晶元:ZYNQ系列中的xc7z020-clg400-2(設計全部在PL中實現)
待測試程序:一個用來做實時模擬的模型(算下來有140424行Verilog代碼)。為了減小硬碟的延遲影響,操作系統和軟體都安裝在SSD上面,而把工程文件放在RAMdisk上面(因為綜合、實現的過程都需要大量的小文件讀取操作)。
運行的測試:輸入正確的工程,但是清理所有工程文件,這樣就可以從0開始完成所有的綜合、翻譯、映射、布局布線和升級bit流文件的所有操作;使用的策略則全部用默認策略。
首先,在ISE上運行,測試開始時間是7:33:10,生成.bit文件的時間是7:37:01,共花費了231秒。
然後,在Vivado上運行。為了方便測試,在Vivado套件里直接導入ISE的工程,源文件都可以正常導入,但是約束文件需要重新配置,因為ISE使用的ucf格式,而Vivado則升級為更先進的xdc格式,需要全部重寫約束文件。不過這也不是特別困難的事情,例如管腳約束的轉換就比較容易:
例如,ucf為:
NET "gateway_out1[0]" LOC = Y12;
NET "gateway_out1[0]" IOSTANDARD = LVCMOS18;
xdc則為:
set_property PACKAGE_PIN Y12 [get_ports {gateway_out1[0]}]
set_property IOSTANDARD LVCMOS18 [get_ports {gateway_out1[0]}]
為了快速轉換,用查找/替換可以較快的完成其中的一部分轉換。
然後在Vivado中點擊reset runs,如圖1所示,這樣會清除所有潛在的已經生成的結果(清除綜合的結果時可以選擇自動清除實現的結果)。
圖1 reset runs
為了充分發揮Vivado套件的潛力,在tcl console里輸入下面的腳本:
set_param general.maxThreads 8
這樣就可以充分發揮最大的CPU潛力了(例如DRC檢查可以使用全部的線程進行並行操作)。然後運行產生比特流的操作,開始時間是8:15:20,生成.bit文件的時間是8:17:12,共花費了112秒。
對比ISE的231秒,可以看出Vivado使用的時間只有ISE的48.5%。俗話說,「時間就是金錢」,「效率就是生命」,Vivado只用了不到ISE一半的時間就完成了這個復雜工程的全部實現過程,數據非常有說服力。當然Vivado使用的內存貌似比ISE多了幾百MB,但是對於現在配置中等的機器都可以達到8GB內存的情況下,這點內存的差距還是可以忽略的。(好馬配好鞍,電腦的這點投資和高端的晶元帶來的性能提升和time-to-market減小相比,可以說是微不足道的了)。
圖2 ISE完成時間
圖3 Vivado完成時間
圖4 ISE資源佔用
圖5 Vivado資源佔用
對比使用的資源:默認策略下,二者使用的Slice寄存器類似;Vivado使用的LUT稍多,但是沒有使用DSP48E1單元,而ISE使用了12個,相當於Vivado用一部分LUT完成了DSP單元的功能,這與綜合/實現的策略有關。可以認為在默認策略下,Vivado和ISE產生結果的資源利用率打了個平手,還可以通過調整綜合/實現的策略達到資源利用率的優化。當然,Vivado相對ISE有個顯著的優勢,就是Vivado可以一次運行多種不同的策略,從而使得我們一次性獲取各種策略的結果,這樣的「半自動化」的優勢是ISE完全不具備的。
⑵ vivado pll 時鍾資源 single pin和global bufg 和no buffer怎麼選擇
1. IBUFG即輸入全局緩沖,是與專用全局時鍾輸入管腳相連接的首級全局緩沖。所有從
全局時鍾管腳輸入的信號必須經過IBUFG單元,否則在布局布線時會報錯。IBUFG支持AG
P、CTT、GTL、GTLP、HSTL、LVCMOS、LVDCI、LVDS、LVPECL、LVTTL、PCI、PCIX和SSTL
等多種格式的IO標准。
2. IBUFGDS是IBUFG的差分形式,當信號從一對差分全局時鍾管腳輸入時,必須使用IBU
FGDS作為全局時鍾輸入緩沖。IBUFG支持BLVDS、LDT、LVDSEXT、LVDS、LVPECL和ULVDS等
多種格式的IO標准。
3. BUFG是全局緩沖,它的輸入是IBUFG的輸出,BUFG的輸出到達FPGA內部的IOB、CLB、
選擇性塊RAM的時鍾延遲和抖動最小。
4. BUFGCE是帶有時鍾使能端的全局緩沖。它有一個輸入I、一個使能端CE和一個輸出端
O。只有當BUFGCE的使能端CE有效(高電平)時,BUFGCE才有輸出。
5. BUFGMUX是全局時鍾選擇緩沖,它有I0和I1兩個輸入,一個控制端S,一個輸出端O。
當S為低電平時輸出時鍾為I0,反之為I1。需要指出的是BUFGMUX的應用十分靈活,I0和
I1兩個輸入時鍾甚至可以為非同步關系。
6. BUFGP相當於IBUG加上BUFG。
7. BUFGDLL是全局緩沖延遲鎖相環,相當於BUFG與DLL的結合。BUFGDLL在早期設計中經
常使用,用以完成全局時鍾的同步和驅動等功能。隨著數字時鍾管理單元(DCM)的日益完
善,目前BUFGDLL的應用已經逐漸被DCM所取代。
8. DCM即數字時鍾管理單元,主要完成時鍾的同步、移相、分頻、倍頻和去抖動等。DC
M與全局時鍾有著密不可分的聯系,為了達到最小的延遲和抖動,幾乎所有的DCM應用都
要使用全局緩沖資源。DCM可以用Xilinx ISE軟體中的Architecture Wizard直接生成。
⑶ Vivado在實現階段怎麼才能保證模塊邏輯在布局布線前資源不被優化
正在通過ISE和Vivado兩個軟體平台下分別對模塊邏輯資源利用率進行評估和對比1、在ISE綜合和實現時,模塊綜合不被優化掉,而且在布局布線後大部分資源也沒有被優化掉,得出來的資源利用率分析報告是正常的,差不多也符合實際的邏輯資源利用情況。 2、在Vivado綜合和實現時,模塊綜合後沒有被優化掉,但是在實現(Implementation)階段,
⑷ linux vivado怎麼都識別不了uart
首先第一步,需要把想要觀測的信號標記出來,即mark_debug,有兩種mark_debug的方法,我用verilog寫了一個簡單的流水燈程序,只有幾行代碼,如下:
mole main(
input clk,
input rst,
output reg [7:0] led
);
(*mark_debug = "true"*)reg [23:0] counter;
always @(posedge clk) begin
if(rst) begin
counter <= 0;
led <= 8'b00000001;
end
else counter <= counter + 1;
if (counter == 24'hffffff)
led <= {led[6:0],led[7]};
end
endmole
例如,要觀察counter信號的波形,那麼在第7行定義reg型信號counter時,前面加上(*mark_debug=「true」*),這樣就把counter信號標記了出來。如果用vhdl語言實現的話,這句話用該這樣寫:
signal counter : std_logic_vector (23 downto 0);
attribute mark_debug: string;
attribute mark_debug of counter : signal is "true";
另外添加xdc約束文件,內容如下:
set_property PACKAGE_PIN Y9 [get_ports clk]
set_property PACKAGE_PIN T18 [get_ports rst]
set_property IOSTANDARD LVCMOS33 [get_ports clk]
set_property IOSTANDARD LVCMOS18 [get_ports rst]
set_property PACKAGE_PIN T22 [get_ports {led[0]}]
set_property PACKAGE_PIN T21 [get_ports {led[1]}]
set_property PACKAGE_PIN U22 [get_ports {led[2]}]
set_property PACKAGE_PIN U21 [get_ports {led[3]}]
set_property PACKAGE_PIN V22 [get_ports {led[4]}]
set_property PACKAGE_PIN W22 [get_ports {led[5]}]
set_property PACKAGE_PIN U19 [get_ports {led[6]}]
set_property PACKAGE_PIN U14 [get_ports {led[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led[7]}]
之後run synthesis綜合,之後open synthesized design,在左上角選擇debug layout,在debug窗口中netlist看到counter信號前面有一個綠色的小蜘蛛,表示counter信號被標記出來了。
這其實是一種比較繁瑣的方法,更為方便的方法是,直接綜合工程,在之後打開綜合設計,在netlist中直接選中想要查看的信號,右鍵選擇mark debug,即可將信號標記出來。
但是採用第一種方式的好處是,如果工程比較復雜的話,一些信號可能會被綜合優化掉,加上模塊層層實例化,在netlist中可能找不到要觀測的信號,這時在代碼裡面mark_debug,依舊可以將該信號引出來。
接著第二步就是插入調試內核了,在Vivado界面下方,找到Unassigned Debug Nets,右鍵選擇 set up debug,在接下來的對話框中列出了counter信號的lk domain是CLK_IBUG_BUFG,其trig和data項都打了對勾,表示counter信號既作為觸發信號也作為數據信號。
⑸ vivado 錯誤怎麼改
Vivado Logic Analyzer的使用
chipscope中,通常有兩種方法設置需要捕獲的信號。
1.添加cdc文件,然後在網表中尋找並添加信號
2.添加ICON、ILA和VIO的IP Core
第一種方法,代碼的修改量小,適當的保留設計的層級和網線名,圖形化界面便於找到
需要捕獲的信號。
第二種方法,對代碼的改動量大一些,同時需要熟悉相關IP的設置,優點是,可以控制
ICON,並調用VIO。
與之類似,Vivado也有著兩種方法進行設置。
1.在綜合後的網表中尋找相關信號,右鍵點開菜單,然後設置mark debug
2.添加ILA,VIO的IP Core
第一種方法與chipscope的第一種方法極為類似:
1.都需要綜合後才能設置;
2.都需要保留一定的設計層級或者網線名來便於尋找信號;
3.並非所有信號都可以被捕獲,不能捕獲的信號,chipscope中是顯示為灰色,vivado
中是沒有mark debug的選項在右鍵菜單中;
第二種方法就更為類似了,vivado可以兼容ISE的IP,所以可以直接調用chipscope的相
關IP,調試時也只是用Chipscope,另外可以使用Vivado自己的ILA IP,來進行設計,
但最大的問題是Vivado不提供ICON的IP以供選擇,進一步埋沒了ICON的地位。
另外,早起的Vivado IP Catalog提供Chipscope的ICON、ILA和VIO IP Core可以選擇,目前已經取消了這些IP,只支持Vivado自己的ILA/VIO IP Core。
這里提供一個非常簡單的設計代碼,用於Vivado Logic Analyzer的研究。
`timescale 1ns / 1ps
mole Nexy_4 (
input I_CLK,
output [3:0] O_ST_COUNTER,
output O_TIMECOUNTER_OUTPUT
);
wire CLK_100;
clk_wiz_0 CLK_UNIT
(
.clk_in1 (I_CLK),
.clk_out1 (CLK_100),
.locked ()
);
reg [7:0] startup_counter = 'b0;
always @ (posedge CLK_100)begin
if(startup_counter == 8'b11111111)begin
startup_counter <= 8'b00000011;
end else begin
startup_counter <= startup_counter + 8'b1;
end
end
assign O_ST_COUNTER = startup_counter[7:4];
wire [47:0] TimeCounter_Result_wire ;
reg [47:0] TimeCounter_Result_reg = 'b0 ;
reg TimeCounter_Output ;
always @ (posedge CLK_100)begin
TimeCounter_Result_reg <= TimeCounter_Result_wire;
end
TimeCounter TimeCounter_Unit (
.CLK ( CLK_100 ), // input wire CLK
.A ( 2'b01 ), // input wire [1 : 0] A
.C ( TimeCounter_Result_reg ), // input wire [47 : 0] C
.P ( TimeCounter_Result_wire ) // output wire [47 : 0] P
);
always @ ( posedge CLK_100 )begin
TimeCounter_Output <= TimeCounter_Result_reg[47];
end
assign O_TIMECOUNTER_OUTPUT = TimeCounter_Output ;
endmole
綜合後的Netlist中選擇信號進行捕獲的方法。
只有Nets下的信號可以設置mark debug。
從原理上來說是很不合理的。Chipscope的捕獲界面中,只有Reg信號可以被抓取,而Vivado是Net,從實際的角度說也是很不合理的,LUT可以直接被抓去,從原理上和時序上,對設計都是不合適的。
在Set Up Debug中,工具會自動分析信號的所在時鍾域,並添加時鍾。少數情況,可以通過右鍵點擊Select Clock Domain來修改時鍾域。
下一頁設置存儲深度,相比較ChipScope,信號的寬度不需要事先設定好,而是根據捕獲信號來自動設定,Vivado確實方便了很多。
設置好之後,可以在屬性中修改ILA Core的屬性。確認無誤後進行Implementation。
不過,從Implementation的結果可以看到,雖然抓取的是LUT的信號,但是ILA的IP已經添加了寄存器進行隔離。從這一結果考慮,Vivado的ILA設計還是很優秀的。
但即使是這樣,為了netlist中的Reg型信號無法設置mark debug,確實是一個不好理解的解釋。
最終,Vivado Logic Analyzer的設置會以Tcl腳本的形式反應到XDC文件中。
完成Implementation後,生成bit文件,打開Hardware Manager,下載並配置好FPGA,開始Vivado Logic Analyzer的使用。
1. 下載好bit文件後的界面如下圖所示。
2. 這里有個問題,Vivado 2014.2中,Debug Probes窗口不會自動打開,可以再Windows選項單中找到該窗口。
3. 打開Debug Probes窗口後的界面如下圖所示。
4. 在Debug Probes中,把需要觀察的信號拖到Basic Trigger Setup中,可以設置觸發信號。
5. 設置好觸發信號之後,就可以開始捕獲信號。
6. 每一組觸發條件可以設置Operator、Radix和Value來設置具體的觸發條件,多個觸發條件還可以進行組合。
7. 為了便於觀察,在Window data depth將數據設為16個數據。
8. 設置好之後重新捕獲數據,可以看到一次只捕獲16個數據。
9. 可以設置窗口的數目,這里將Number of Windows設為2,代表兩個窗口,每次捕獲的數據為4個。
10. 重新觸發後,可以看到,觸發了兩次,每次的觸發條件都是一致的,即startup_counter = 8』h03。從下方的兩個計數器可以看到,是先後的兩次捕獲。
其實,與chipscope類似,可以設置捕獲數據的條件。
1. 將Capture mode設置為BASIC。
2. 在Basic Trigger Setup下面可以看到Basic Capture Setup的界面。
3. 從上兩張圖可以看到,觸發信號為starup_counter,觸發條件為03,捕獲條件為88,觸發位置為7。
4. 從捕獲結果圖來看,一共捕獲了16個數據,觸發條件處在第7個數據的位置上,該觸發條件會被捕獲。另外,在觸發條件前後的數據,只有數據位88時才會被捕獲。
5. 將觸發位置設為0後重新捕獲,可以看到第一個數據是觸發條件,隨後的數據只有為88才會被捕獲。
6. 這里,對ChipScope和Vivado Logic Analyzer的功能進行一個初步的比較。
ChipScope Vivado Logic Analyzer Basic
多種觸發值 支持 支持
觸發條件組合 支持 支持
觸發位置選擇 支持 支持
多窗口觸發 支持 支持
重復觸發 支持 支持
條件捕獲 支持 支持
狀態機觸發 16狀態 不支持
計數器輔助 支持 不支持
標志位顯示 不支持 不支持
重復觸發功能在文章中沒有涉及。
從該表可以看到,ChipScope的功能似乎較為強大。雖然在設置捕獲信號時Vivado較為便捷,但是在調試時似乎不如ChipScope的方便。
需要注意的是,Vivado並沒有確實這些功能,而是沒有提供在Basic功能中,關於Advancedd用法,會在後續博文中描述。
⑹ system進程佔用CPU資源過高如何解決
CPU佔用率高 的九種可能
1、防殺毒軟體造成 故障
由於新版的 KV 、金山、 瑞星 都加入了對網頁、 插件 、郵件的隨機監控,無疑增大了系統負擔。處理方式:基本上沒有合理的處理方式,盡量使用最少的監控服務吧,或者,升級你的硬體配備。
2、驅動沒有經過認證,造成CPU資源佔用100%
大量的測試版的驅動在網上泛濫,造成了難以發現的故障原因。 處理方式:尤其是 顯卡驅動 特別要注意,建議使用 微軟認證 的或由官方發布的驅動,並且嚴格核對型號、版本。
3、 病毒、木馬 造成
大量的蠕蟲病毒在系統內部迅速復制,造成CPU佔用資源率據高不下。解決辦法:用可靠的殺毒軟體徹底清理系統內存和本地硬碟,並且打開系統設置軟體,察看有無異常啟動的程序。經常性更新升級殺毒軟體和防火牆,加強防毒意識,掌握正確的防殺毒知識。
4、控制面板— 管理工具 —服務—RISING REALTIME MONITOR SERVICE 點滑鼠右鍵,改為手動。
5、開始->運行->msconfig->啟動,關閉不必要的啟動項,重啟。
6、查看「 svchost 」進程。
svchost . exe 是Windows XP系統 的一個核心進程。 svchost.exe 不單單只出現 在Window s XP中,在使用 NT 內核的 Windows系統 中都會有svchost.exe的存在。一般在 Windows 2000 中 svchost.exe進程 的數目為2個,而 在Windows XP中svchost.exe進程的數目就上升到了4個及4個以上。
7、查看 網路連接 。主要是網卡。
8、查看網路連接
當安裝了Windows XP的計算機做伺服器的時候,收到埠 445 上的連接請求時,它將分配內存和少量地調配 CPU資源來為這些連接提供服務。當負荷過重的時候,CPU佔用率可能過高,這是因為在工作項的數目和響應能力之間存在固有的權衡關系。你要確定合適的 MaxWorkItems 設置以提高系統響應能力。如果設置的值不正確,伺服器的響應能力可能會受到影響,或者某個用戶獨占太 多系統 資源。
要解決此問題,我們可以通過修改注冊表來解決:在 注冊表編輯器 中依次展開[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver ]分支,在右側窗口中 新建 一個名為「maxworkitems」的 DWORD值 。然後雙擊該值,在打開的窗口中鍵入下列數值並保存退出:
如果計算機有512MB以上的內存,鍵入「1024」;如果計算機內存小於 512 MB,鍵入「256」。
9、看看是不是Windows XP使用滑鼠右鍵引起CPU佔用100%
前不久的報到說在資源管理器裡面使用滑鼠右鍵會導致CPU資源100%佔用,我們來看看是怎麼回事?
徵兆:
在資源管理器裡面,當你右鍵點擊一個目錄或一個文件,你將有可能出現下面所列問題:
任何文件的拷貝操作在那個時間將有可能停止相應
網路連接速度將顯著性的降低
所有的流輸入/輸出操作例如使用Windows Media Player 聽音樂將有可能是音樂失真成因:
當你在資源管理器裡面右鍵點擊一個文件或目錄的時候,當快捷 菜單顯示 的時候,CPU佔用率將增加到100%,當你關閉快捷菜單的時候才返回正常水平。
解決方法:
方法一:關閉「為菜單和工具提示使用過渡效果」
1、點擊「開始」--「控制面板」
2、在「控制面板」裡面雙擊「顯示」
3、在「顯示」屬性裡面點擊「外觀」標簽頁
4、在「外觀」標簽頁裡面點擊「效果」
5、在「效果」對話框裡面,清除「為菜單和工具提示使用過渡效果」前面的復選框接著點擊兩次「確定」按鈕。
方法二:在使用滑鼠右鍵點擊文件或目錄的時候先使用滑鼠左鍵選擇你的目標文件或目錄。然後再使用滑鼠右鍵彈出快捷菜單。
CPU佔用100%解決辦法
一般情況下CPU佔了100%的話我們的電腦總會慢下來,而很多時候我們是可以通過做 一點點 的改動就可以解決,而不必問那些大蝦了。
當機器慢下來的時候,首先我們想到的當然是任務管理器了,看看到底是哪個程序佔了較搞的比例,如果是某個大程序那還可以原諒,在關閉該程序後只要CPU正常了那就沒問題;如果不是,那你就要看看是什幺程序了,當你查不出這個進程是什幺的時候就去google或者 搜。有時只結束是沒用的,在 xp下 我們可以結合msconfig里的啟動項,把一些不用的項給關掉。在2000下可以去下個winpatrol來用。
一些常用的軟體,比如瀏覽器佔用了很搞的CPU,那幺就要升級該軟體或者乾脆用別的同類軟體代替,有時軟體和系統會有點不兼容,當然我們可以試下xp系統下給我們的那個兼容項,右鍵點該. exe文件 選兼容性。
svchost.exe有時是比較頭痛的,當你看到你的某個svchost.exe佔用很大CPU時你可以去下個aports或者fport來檢查其對應的程序路徑,也就是什幺東西在掉用這個svchost.exe,如果不是c:\Windows\ system32 (xp)或c:\winnt\system32(2000)下的,那就可疑。升級殺毒軟體殺毒吧。
右擊 文件導致100%的CPU佔用我們也會遇到,有時點右鍵停頓可能就是這個問題了。官方的解釋:先點左鍵選中,再右鍵(不是很理解)。非官方:通過在桌面點右鍵-屬性-外觀-效果,取消」為菜單和工具提示使用下列過度效果(U)「來解決。還有某些殺毒軟體對文件的監控也會有所影響,可以 關閉殺毒軟體 的文件監控;還有就是對網頁,插件,郵件的監控也是同樣的道理。
一些驅動程序有時也可能出現這樣的現象,最好是選擇微軟認證的或者是官方發布的驅動來裝,有時可以適當的升級驅動,不過記得最新的不是最好的。
CPU降溫軟體 ,由於軟體在運行時會利用所以的CPU空閑時間來進行降溫,但Windows不能分辨普通的CPU佔用和 降溫軟體 的降溫指令 之間的區別 ,因此CPU始終顯示100%,這個就不必擔心了,不影響正常的系統運行。
在處理較大的 word文件 時由於word的拼寫和語法檢查會使得CPU累,只要打開word的工具-選項-拼寫和語法把」檢查拼寫和檢查語法「勾去掉。
單擊 avi視頻 文件後CPU佔用率高是因為系統要先掃描該文件,並檢查文件所有部分,並建立索引;解決辦法:右擊保存視頻文件的文件夾-屬性-常規-高級,去掉為了快速搜索,允許索引服務編制該文件夾的索引的勾。
CPU佔用100%案例分析
1、 dllhost進程造成CPU使用率佔用100%
特徵:伺服器正常CPU消耗應該在75%以下,而且CPU消耗應該是上下起伏的,出現這種問題的伺服器,CPU會突然一直處100%的水平,而且不會下降。查看任務管理器,可以發現是DLLHOST.EXE消耗了所有的CPU空閑時間,管理員在這種情況下,只好重新啟動IIS服務,奇怪的是,重新啟動IIS服務後一切正常,但可能過了一段時間後,問題又再次出現了。
直接原因:
有一個或多個ACCESS資料庫在多次讀寫過程中損壞,微軟的 MDAC 系統在寫入這個損壞的ACCESS文件時,ASP線程處於BLOCK狀態,結果其它線程只能等待,IIS被死鎖了,全部的CPU時間都消耗在DLLHOST中。
解決辦法:
安裝「一流信息監控攔截系統」,使用其中的「首席文件檢查官IIS健康檢查官」軟體,
啟用」查找死鎖模塊」,設置:
--wblock=yes
監控的目錄,請指定您的主機的文件所在目錄:
--wblockdir=d:\test
監控生成的日誌的文件保存位置在安裝目錄的log目錄中,文件名為:logblock.htm
停止IIS,再啟動「首席文件檢查官IIS健康檢查官」,再啟動IIS,「首席文件檢查官IIS健康檢查官」會在logblock.htm中記錄下最後寫入的ACCESS文件的。
過了一段時間後,當問題出來時,例如CPU會再次一直處100%的水平,可以停止IIS,檢查logblock.htm所記錄的最後的十個文件,注意,最有問題的往往是計數器類的ACCESS文件,例如:」**COUNT. MDB 」,」**COUNT.ASP」,可以先把最後十個文件或有所懷疑的文件刪除到回收站中,再啟動IIS,看看問題是否再次出現。我們相信,經過仔細的查找後,您肯定可以找到這個讓您操心了一段時間的文件的。
找到這個文件後,可以刪除它,或下載下來,用ACCESS2000修復它,問題就解決了。
2、 svchost.exe造成CPU使用率佔用100%
在win.ini文件中,在[Windows]下面,「run=」和「load=」是可能載入「木馬」程序的途徑,必須仔細留心它們。一般情況下,它們的等號後面什幺都沒有,如果發現後面跟有路徑與文件名不是你熟悉的啟動文件,你的計算機就可能中上「木馬」了。當然你也得看清楚,因為好多「木馬」,如「AOL Trojan木馬」,它把自身偽裝成command.exe文件,如果不注意可能不會發現它不是真正的系統啟動文件。
在system.ini文件中,在[BOOT]下面有個「shell=文件名」。正確的文件名應該是「explorer.exe」,如果不是「explorer.exe」,而是「shell= explorer.exe 程序名」,那幺後面跟著的那個程序就是「木馬」程序,就是說你已經中「木馬」了。
在注冊表中的情況最復雜,通過regedit命令打開注冊表編輯器,在點擊至:「HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run」目錄下,查看鍵值中有沒有自己不熟悉的自動啟動文件,擴展名為EXE,這里切記:有的「木馬」程序生成的文件很像系統自身文件,想通過偽裝矇混過關,如「Acid Battery v1.0木馬」,它將注冊表「HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run」下的Explorer 鍵值改為Explorer=「C:\Windows\expiorer.exe」,「木馬」程序與真正的Explorer之間只有「i」與「l」的差別。當然在注冊表中還有很多地方都可以隱藏「木馬」程序,如:「HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run」、「HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run」的目錄下都有可能,最好的辦法就是在「HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run」下找到「木馬該病毒也稱為「Code Red II(紅色代碼2)」病毒,與早先在西方英文系統下流行「紅色代碼」病毒有點相反,在國際上被稱為VirtualRoot(虛擬目錄)病毒。該蠕蟲病毒利用Microsoft已知的溢出漏洞,通過80埠來傳播到其它的Web頁伺服器上。受感染的機器可由黑客們通過Http Get的請求運行scripts/root.exe來獲得對受感染機器的完全控制權。
當感染一台伺服器成功了以後,如果受感染的機器是中文的系統後,該程序會休眠2天,別的機器休眠1天。當休眠的時間到了以後,該蠕蟲程序會使得機器重新啟動。該蠕蟲也會檢查機器的月份是否是10月或者年份是否是2002年,如果是,受感染的伺服器也會重新啟動。當Windows NT系統啟動時,NT系統會自動搜索C盤根目錄下的文件explorer.exe,受該網路蠕蟲程序感染的伺服器上的文件explorer.exe也就是該網路蠕蟲程序本身。該文件的大小是8192位元組,VirtualRoot網路蠕蟲程序就是通過該程序來執行的。同時,VirtualRoot網路蠕蟲程序還將cmd.exe的文件從Windows NT的system目錄拷貝到別的目錄,給黑客的入侵敞開了大門。它還會修改系統的注冊表項目,通過該注冊表項目的修改,該蠕蟲程序可以建立虛擬的目錄C或者D,病毒名由此而來。值得一提的是,該網路蠕蟲程序除了文件explorer.exe外,其餘的操作不是基於文件的,而是直接在內存中來進行感染、傳播的,這就給捕捉帶來了較大難度。
」程序的文件名,再在整個注冊表中搜索即可。
我們先看看微軟是怎樣描述svchost.exe的。在微軟知識庫314056中對svchost.exe有如下描述:svchost.exe 是從動態鏈接庫 (DLL) 中運行的服務的通用主機進程名稱。
其實svchost.exe是Windows XP系統的一個核心進程。svchost.exe不單單只出現在Windows XP中,在使用NT內核的Windows系統中都會有svchost.exe的存在。一般在Windows 2000中svchost.exe進程的數目為2個,而在Windows XP中svchost.exe進程的數目就上升到了4個及4個以上。所以看到系統的進程列表中有幾個svchost.exe不用那幺擔心。
svchost.exe到底是做什幺用的呢?
首先我們要了解一點那就是Windows系統的中的進程分為:獨立進程和共享進程這兩種。由於Windows系統中的服務越來越多,為了節約有限的系統資源微軟把很多的系統服務做成了共享模式。那svchost.exe在這中間是擔任怎樣一個角色呢?
svchost.exe的工作就是作為這些服務的宿主,即由svchost.exe來啟動這些服務。svchost.exe只是負責為這些服務提供啟動的條件,其自身並不能實現任何服務的功能,也不能為用戶提供任何服務。svchost.exe通過為這些系統服務調用動態鏈接庫(DLL)的方式來啟動系統服務。
svchost.exe是病毒這種說法是任何產生的呢?
因為svchost.exe可以作為服務的宿主來啟動服務,所以病毒、木馬的編寫者也挖空心思的要利用svchost.exe的這個特性來迷惑用戶達到入侵、破壞計算機的目的。
如何才能 辨別 哪些是正常的svchost.exe進程,而哪些是 病毒進程 呢?
svchost.exe的鍵值是在「HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost」,如圖1所示。圖1中每個鍵值表示一個獨立的svchost.exe組。
微軟還為我們提供了一種察看系統正在運行在svchost.exe列表中的服務的方法。以Windows XP為例:在「運行」中輸入:cmd,然後在命令行模式中輸入:tasklist /svc。系統列出如圖2所示的服務列表。圖2中紅框包圍起來的區域就是svchost.exe啟動的服務列表。如果使用的是Windows 2000系統則把前面的「tasklist /svc」命令替換為:「tlist -s」即可。如果你懷疑計算機有可能被病毒感染,svchost.exe的服務出現異常的話通過搜索 svchost.exe文件 就可以發現異常情況。一般只會找到一個在:「C:\Windows\System32」目錄下的svchost.exe程序。如果你在其它目錄下發現svchost.exe程序的話,那很可能就是中毒了。
還有一種確認svchost.exe是否中毒的方法是在任務管理器中察看進程的執行路徑。但是由於在Windows系統自帶的任務管理器不能察看進程路徑,所以要使用第三方的進程察看工具。
上面簡單的介紹了svchost.exe進程的相關情況。總而言之,svchost.exe是一個系統的核心進程,並不是病毒進程。但由於svchost.exe進程的特殊性,所以病毒也會千方百計的入侵svchost.exe。通過察看svchost.exe進程的執行路徑可以確認是否中毒。
3、 Services.exe造成CPU使用率佔用100%
症狀
在基於 Windows 2000 的計算機上,Services.exe 中的 CPU 使用率可能間歇性地達到100 %,並且計算機可能停止響應(掛起)。出現此問題時,連接到該計算機(如果它是文件伺服器或域控制器)的用戶會被斷開連接。您可能還需要重新啟動計算機。如果 Esent.dll 錯誤地處理將文件刷新到磁碟的方式,則會出現此症狀。
解決方案
Service Pack 信息
要解決此問題,請獲取最新的 Microsoft Windows 2000 Service Pack。有關其它信息,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:
260910 如何獲取最新的 Windows 2000 Service Pack
修復程序信息
Microsoft 提供了受支持的修補程序,但該程序只是為了解決本文所介紹的問題。只有計算機遇到本文提到的特定問題時才可應用此修補程序。此修補程序可能還會接受其它一些測試。因此,如果這個問題沒有對您造成嚴重的影響,Microsoft 建議您等待包含此修補程序的下一個 Windows 2000 Service Pack。
要立即解決此問題,請與「Microsoft 產品支持服務」聯系,以獲取此修補程序。有關「Microsoft 產品支持服務」電話號碼和支持費用信息的完整列表,請訪問 Microsoft Web 站點:
注意 :特殊情況下,如果 Microsoft 支持專業人員確定某個特定的更新程序能夠解決您的問題,可免收通常情況下收取的電話支持服務費用。對於特定更新程序無法解決的其它支持問題和事項,將正常收取支持費用。
下表列出了此修補程序的全球版本的文件屬性(或更新的屬性)。這些文件的日期和時間按協調通用時間 (UTC) 列出。查看文件信息時,它將轉換為本地時間。要了解 UTC 與本地時間之間的時差,請使用「控制面板」中的「日期和時間」工具中的 時區 選項卡。
狀態
Microsoft 已經確認這是在本文開頭列出的 Microsoft 產品中存在的問題。此問題最初是在 Microsoft Windows 2000 Service Pack 4 中更正的。
4、正常軟體造成CPU使用率佔用100%
首先,如果是從開機後就發生上述情況直到關機。那幺就有可能是由某個隨系統同時登陸的軟體造成的。可以通過運行輸入「msconfig」打開「系統實用配置工具」,進入「啟動」選項卡。接著,依次取消可疑選項前面的對鉤,然後重新啟動電腦。反復測試直到找到造成故障的軟體。或者可以通過一些優化軟體如「優化大師」達到上述目的。另:如果鍵盤內按鍵卡住也可能造成開機就出現上述問題。
如果是使用電腦途中出項這類問題,可以調出任務管理器(WINXP CTRL+ALT+DEL WIN2000 CTRL+SHIFT「ESC),進入」進程「選項卡,看」CPU「欄,從裡面找到佔用資源較高的程序(其中SYSTEM IDLE PROCESS是屬於正常,它的值一般都很高,它的作用是告訴當前你可用的CPU資源是多少,所以它的值越高越好)通過搜索功能找到這個進程屬於哪個軟體。然後,可以通過升級、關閉、卸載這個軟體或者乾脆找個同類軟體替換,問題即可得到解決。
5、病毒、木馬、間諜軟體造成CPU使用率佔用100%
出現CPU佔用率100% 的故障經常是因為病毒木馬造成的,比如震盪波病毒。應該首先更新病毒庫,對電腦進行全機掃描 。接著,在使用反間諜軟體Ad—Aware,檢查是否存在間諜軟體。論壇上有不少朋友都遇到過svchost.exe佔用CPU100%,這個往往是中毒的表現。
svchost.exe Windows中的系統服務是以動態鏈接庫(DLL)的形式實現的,其中一些會把可執行程序指向svchost.exe,由它調用相應服務的動態鏈接庫並加上相應參數來啟動服務。正是因為它的特殊性和重要性,使它更容易成為了一些病毒木馬的宿主。
6、 explorer.exe進程造成CPU使用率佔用100%
在system.ini文件中,在[BOOT]下面有個「shell=文件名」。正確的文件名應該是「explorer.exe」,如果不是「explorer.exe」,而是「shell= explorer.exe 程序名」,那幺後面跟著的那個程序就是「木馬」程序,就是說你已經中「木馬」了。
在注冊表中的情況最復雜,通過regedit命令打開注冊表編輯器,在點擊至:「HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run」目錄下,查看鍵值中有沒有自己不熟悉的自動啟動文件,擴展名為EXE,這里切記:有的「木馬」程序生成的文件很像系統自身文件,想通過偽裝矇混過關,如「Acid Battery v1.0木馬」,它將注冊表「HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run」下的
Explorer 鍵值改為Explorer=「C:\Windows\expiorer.exe」,「木馬」程序與真正的Explorer之間只有「i」與「l」的差別。當然在注冊表中還有很多地方都可以隱藏「木馬」程序,如:「HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run」、「HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run」的目錄下都有可能,最好的辦法就是在「HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run」下找到「木馬」程序的文件名,再在整個注冊表中搜索即可。
7、超線程導致CPU使用率佔用100%
這類故障的共同原因就是都使用了具有超線程功能的P4 CPU。我查找了一些資料都沒有明確的原因解釋。據一些網友總結超線程似乎和天網防火牆有沖突,可以通過卸載天網並安裝其它防火牆解決,也可以通過在BIOS中關閉超線程功能解決。
8、AVI視頻文件造成CPU使用率佔用100%
在Windows XP中,單擊一個較大的AVI視頻文件後,可能會出現系統假死現象,並且造成exploere.exe進程的使用率100%,這是因為系統要先掃描該文件,並檢查文件所有部分,建立索引。如果文件較大就會需要較長時間並造成CPU佔用率100%。解決方法:右鍵單擊保存視頻文件的文件夾,選擇」屬性—>常規—>高級「,去掉」為了快速搜索,允許索引服務編制該文件夾的索引「前面復選框的對鉤即可。
9、殺毒軟體CPU使用率佔用100%
現在的殺毒軟體一般都加入了,對網頁、郵件、個人隱私的即時監空功能,這樣無疑會加大系統的負擔。比如:在玩游戲的時候,會非常緩慢。關閉該殺毒軟體是解決得最直接辦法。
10、處理較大的Word文件時CPU使用率過高
上述問題一般還會造成電腦假死,這些都是因為WORD的拼寫和語法檢查造成的,只要打開WORD的「工具—選項」,進入「拼寫和語法」選項卡,將其中的「鍵入時檢查拼寫」和「鍵入時檢查語法」兩項前面的復選框中的鉤去掉即可。
11、網路連接導致CPU使用率佔用100%
當你的Windows2000/xp作為伺服器時,收到來自埠445上的連接請求後,系統將分配內存和少量CPU資源來為這些連接提供服務,當負荷過重,就會出現上述情況。要解決這個問題可以通過修改注冊表來解決,打開注冊表,找到HKEY—LOCAL—MACHNE\SYSTEM\CurrentControlSet\Services\lanmanserver,在右面新建一個名為";maxworkitems";的DWORD值.然後雙擊該值,如果你的電腦有512以上內存,就設置為";1024";,如果小於512,就設置為256.
一些不完善的驅動程序也可以造成CPU使用率過高
經常使用待機功能,也會造成系統自動關閉硬碟DMA模式。這不僅會使系統性能大幅度下降,系統啟動速度變慢,也會使是系統在運行一些大型軟體和游戲時CPU使用率100%,產生停頓。
進程佔用CPU 100%時可能中的病毒
system Idle Process
進程文件: [system process] or [system process]
進程名稱: Windows內存處理系統進程
描 述: Windows頁面內存管理進程,擁有0級優先。
介 紹:該進程作為單線程運行在每個處理器上,並在系統不處理其它線程的時候分派處理器的時間。它的CPU佔用率越大表示可供分配的CPU資源越多,數字越小則表示CPU資源緊張。
Spoolsv.exe
進程文件: spoolsv or Spoolsv.exe
進程名稱: Printer Spooler Service
描 述: Windows列印任務控製程序,用以列印機就緒。
介 紹:緩沖(spooler)服務是管理緩沖池中的列印和傳真作業。
Spoolsv.exe→列印任務控製程序,一般會先載入以供列表機列印前的准備工作
Spoolsv.exe,如果常增高,有可能是病毒感染所致
目前常見的是:
Backdoor/Byshell(又叫隱形大盜、隱形殺手、西門慶病毒)
危害程度:中
受影響的系統: Windows 2000, Windows XP, Windows Server 2003
未受影響的系統: Windows 95, Windows 98, Windows Me, Windows NT, Windows 3.x, Macintosh, Unix, Linux,
病毒危害:
1. 生成病毒文件
2. 插入正常系統文件中
3. 修改系統注冊表
4. 可被黑客遠程式控制制
5. 躲避反病毒軟體的查殺
簡單的後門木馬,發作會刪除自身程序,但將自身程序套入可執行程序內(如:exe),並與計算機的通口(TCP埠138)掛鉤,監控計算機的信息、密碼,甚至是鍵盤操作,作為回傳的信息,並不時驅動埠,以等候傳進的命令,由於該木馬不能判別何者是正確的埠,所以負責輸出的列表機也是其驅動對象,以致Spoolsv.exe的使用異常頻繁......
Backdoor.Win32.Plutor
破壞方法:感染PE文件的後門程序
病毒採用VC編寫。
病毒運行後有以下行為:
1、將病毒文件復制到%WINDIR%目錄下,文件名為";Spoolsv.exe";,並該病毒文件運行。";Spoolsv.exe";文件運行後釋放文件名為";mscheck.exe";的文件到%SYSDIR%目錄下,該文件的主要功能是每次激活時運行";Spoolsv.exe";文件。如果所運行的文件是感染了正常文件的病毒文件,病毒將會把該文件恢復並將其運行。
2、修改注冊表以下鍵值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Currentversion\Run
增加數據項:";Microsoft Script Checker"; 數據為:";MSCHECK.EXE /START";
修改該項注冊表使";MSCHECK.EXE";文件每次系統激活時都將被運行,而";MSCHECK.EXE";用於運行";Spoolsv.exe";文件,從而達到病毒自激活的目的。
3、創建一個線程用於感染C盤下的PE文件,但是文件路徑中包含";winnt";、";Windows";字元串的文件不感染。另外,該病毒還會枚舉區域網中的共享目錄並試圖對這些目錄下的文件進行感染。該病毒感染文件方法比較簡單,將正常文件的前0x16000個位元組替換為病毒文件中的數據,並將原來0x16000個位元組的數據插?/td>
⑺ vivado 怎麼分配ip連接
這種情況可以採用兩種方式連接, 一、二級代理方式,將從交換機上引出的網線接到無線路由器的WAN口上,登錄無線路由器設置頁面,將網路連接類型設置成靜態IP,並填寫網管分配的靜態IP地址、子網掩碼、網關、DNS等信息。 使用二級代理方式時不要忘了修改無線路由器的LAN口設置,把路由器的IP地址網段與上級交換機的網段錯開。 無線參數設置方面很簡單,沒有什麼可說的。 這種模式的缺點是通過無線路由器接入無線網路的設備無法訪問上級區域網中的共享資源。 二、無線HUB(無線AP)模式,這種方式其實就是把無線路由器當成一個有無線功能的HUB或交換機使用,從交換機上引出的網線插到無線路由器的某一個LAN口上,將路由器與交換機級連,只設置開啟無線功能,所有接入無線網的設備都需要使用上級區域網網管分配的靜態IP。
⑻ vivado lut不夠用
增加lut。
選中FDRE的輸入端D,並點擊左邊頁面的Disconnect Net,選中FDRE的輸入端D,並點擊左邊頁面的Disconnect Net,點擊左邊頁面的Create Cell,點擊OK後,就新建了一個Cell,但位置是隨機上的,可以點擊Zoom Fit之後找一下。這個時候可以點一下Regenerate按鈕,頁面重新布局一下,可能使我們後面的操作更加方便。兩個pin也連接到了一起,Check ECO,直接點擊按鈕即可
Vivado設計套件,是FPGA廠商賽靈思公司2012年發布的集成設計環境。包括高度集成的設計環境和新一代從系統到IC級的工具,這些均建立在共享的可擴展數據模型和通用調試環境基礎上。集成的設計環境——Vivado設計套件包括高度集成的設計環境和新一代從系統到IC級的工具,這些均建立在共享的可擴展數據模型和通用調試環境基礎上。
⑼ vivado device中 clock region的概念
vivado device中clock region的概念:
device裡面有著大量的邏輯資源,FPGA晶元,各種關鍵資源,硬核ip,時鍾資源等等。我們可以用這些資源來實現我們的設計,當設計佔用的資源過多時,布線資源將會變得擁堵,設計的東西將沒那麼容易提高。
許多的vivado提供了專用的全局時鍾網路,區域時鍾網路,專用的快速區域時鍾網路等,這些層次化的時鍾結構將允許在不同設備區域的多個時鍾得到一個較低的延遲和抖動。
而clock region就是vivado device的FPGA內部分成的多個時鍾區域,每個時鍾區域既可以單獨工作,又可以通過全局時鍾統一工作