c語言的指令周期
『壹』 計算機裡面,,,啥是指令,,啥是指令周期 最好舉個例子,通俗點,,我只學了c語言
指令就是他要執行的命令,比如mov A, B這就是一條指令
指令周期是他做完這條指令用了多久,比如1微秒
『貳』 單片機C語言中執行一次: i=1; while(i--); 需要幾個指令周期啊
需要幾個指令周期與i的數據類型有關;
參考如下:
int型2位元組
9: while(i--);
C:0x000F EF MOV A,R7 1個指令周期
C:0x0010 1F DEC R7 1個指令周期
C:0x0011 8E83 MOV DPH(0x83),R6 2個指令周期
C:0x0013 7001 JNZ C:0016 2個指令周期
C:0x0015 1E DEC R6 1個指令周期
C:0x0016 4583 ORL A,DPH(0x83) 1個指令周期
C:0x0018 70F5 JNZ C:000F 2個指令周期
9*(r7+1)+(256*9+1)*r6+1個指令周期
char型1位元組
12: while(a--);
C:0x0027 AF05 MOV R7,0x05 2個指令周期
C:0x0029 1D DEC R5 1個指令周期
C:0x002A EF MOV A,R7 1個指令周期
C:0x002B 70FA JNZ C:0027 2個指令周期
6*(r5+1)個指令周期
此應用每個指令周期1us。(1e-6s)
已上是keil C 4的編譯器的結果。
『叄』 C語言中,一個語句執行一般(家用PC)需要多少時間
這個需要分情況來看。
1.C語言源程序通過預處理然後編譯,產生匯編代碼,不同的匯編代碼和指令有不同的執行時間。
2.一個指令的執行時間,用其所需要的指令周期(執行一條指令所需要的時間)來衡量。對於單位元組指令,就是一個讀取-執行周期(fetch-execute cycle),對於多位元組指令,還需要更多的指令周期。
3.一個指令周期,一般是由若干個機器周期(完成一次基本操作需要的時間,比如獲取變數在RAM當中的地址)組成。
4.再一個,時鍾周期,這個可以形象一點地和通常所說的主頻聯系起來,比如CPU核心的主頻是2.5GHz,則時鍾周期為0.4ns,這個是計算機當中最小的時間計量單位。一個機器周期由若干個時鍾周期組成。
『肆』 C語言中 ,一個語句執行一般(家用PC)需要多少時間
這個需要分情況來看。
1.C語言源程序通過預處理然後編譯,產生匯編代碼,不同的匯編代碼和指令有不同的執行時間。
2.一個指令的執行時間,用其所需要的指令周期(執行一條指令所需要的時間)來衡量。對於單位元組指令,就是一個讀取-執行周期(fetch-execute cycle),對於多位元組指令,還需要更多的指令周期。
3.一個指令周期,一般是由若干個機器周期(完成一次基本操作需要的時間,比如獲取變數在RAM當中的地址)組成。
4.再一個,時鍾周期,這個可以形象一點地和我們通常所說的主頻聯系起來,比如CPU核心的主頻是2.5GHz,則時鍾周期為0.4ns,這個是計算機當中最小的時間計量單位。一個機器周期由若干個時鍾周期組成。
綜上所述,你的問題沒有明確的答案。這取決於你的CPU的主頻,執行的是何種類型的C語言語句,是否編譯器有對其進行優化。
『伍』 430的C語言指令,一條指令就是一個時鍾周期嗎
那就是1us 在430中, 一個時鍾周期= MCLK晶振的倒數。如果MCLK是8M,則一個時鍾周期為1/8us; 一個機器周期 =一個時鍾周期,即430每個動作都能完成一個基本操作; 一個指令周期 = 1~6個機器周期,具體根據具體指令而定。
『陸』 c51單片機中,每條c語言需要的時間是多少
應該是指令周期,根據指令的不同,一般一個指令需要1-4個機器周期來完成(比如乘法或除法就需要48個時鍾周期來完成),一般的51單片機都是12分頻,也就是說1個機器周期分為12個時鍾周期。請你好好理解時鍾周期--機器周期--指令周期三者之間的關系。
目前STC有不少型號的單片機有單時鍾周期指令,一個時鍾周期即為一個機器周期,不進行12分頻,就是在1個時鍾周期內可以執行一條指令,但只是部分指令可以單時鍾周期執行,大多指令需要1-6個時鍾周期來完成,相比較而言,已經比普通的12分頻單片機速度快多了。
『柒』 C語言的for循環中執行一次需多少機器周期
機器循環,當然只是在單片機中,不同的單片機使用不同的編譯軟體,最終都轉換成匯編,把機器代碼燒錄成單片機。
不同的編譯軟體可以用不同的方式編譯語句。以keil為例。(我= 0;我< 1;N + +我+ +);(I, n是char或unsigned char)
賦值語句(I=0)有兩個機械循環,
一個判斷語句(I <1) 4個機械循環,
一個自加語句(n++) 1機械循環,
另一個自我遞增語句(i++)1機械循環,
另一個判斷語句(I <1) 4個機械循環,結束。
(7)c語言的指令周期擴展閱讀:
指令周期:
每次CPU獲取一條指令並執行它,它就完成一系列操作,通常稱為指令周期。換句話說,指令周期就是獲取一條指令並執行它所花費的時間。由於每條指令的操作功能不同,每條指令的指令周期也不同。
例如加法指令的指令周期與乘法指令的指令周期是不同的。指令周期通常以CPU周期的數量表示,也稱為機器周期。所需的機器周期數隨指令的不同而變化。對於一些簡單的單位元組指令。
在指令取出周期中,將指令取出到指令寄存器後,立即對其進行解碼並執行,不需要其他機器周期。對於更復雜的指令,例如轉換和乘法指令,需要兩個或更多的機器周期。
具有一個機器周期的指令通常稱為單周期指令,具有兩個機器周期的指令稱為雙周期指令。
『捌』 c語言 if語句用幾個周期
if是判斷指令,相當於匯編中的cjne,一般需要2個指令周期
aa=2是立即定址方式,需要1個指令周期
所以,應該需要3個指令周期
『玖』 51單片機c語言 _nop_()是一個空指令短時間延時的空幾個機器周期
這個_nop_()等效與匯編裡面的,NOP指令,也就是空一個機器周期,如果是傳統51單片機的話,等於空12個時鍾周期【即一個機器周期】,操作方法如下:
1、首先,可以利用keil來進行模擬實驗,觀察軟體所顯示的數值,然後再進行相關的運算,即可得出結果。