模塊6ES7322-5GH00-0AB0
異步指令
簡介
在程序執(zhí)行過程中,,同步和異步指令有著顯著不同。
“同步”和“異步”屬性與指令調(diào)用與執(zhí)行間的時間順序相關(guān),。
以下情況適用于同步指令:同步指令調(diào)用完成時,,指令執(zhí)行也完成。
而異步指令,,則情況有所不同:異步指令調(diào)用完成時,,異步指令的執(zhí)行不一定完成。這也
就意味著,,異步指令的執(zhí)行可以跨多次調(diào)用,。在 CPU 中,,異步指令的執(zhí)行與用戶程序循
環(huán)同時進(jìn)行,。異步指令在 CPU 中生成待處理的作業(yè)。
異步指令通常用于傳輸數(shù)據(jù)(例如,模塊的數(shù)據(jù)記錄,、通信數(shù)據(jù),、診斷數(shù)據(jù))。
模塊6ES7322-5GH00-0AB0
同步/異步指令之間的不同之處
下圖顯示了異步指令和同步指令處理的不同之處,。在該圖中,,CPU 在指令執(zhí)行完成
(如,完成傳輸數(shù)據(jù)記錄)之前,,調(diào)用該異步指令五次,。
對于同步指令,每次調(diào)用時都會*執(zhí)行,。
①
次調(diào)用異步指令,,開始執(zhí)行
②
中間調(diào)用異步指令,繼續(xù)執(zhí)行
③
后一次調(diào)用異步指令,,執(zhí)行完成
④
每次調(diào)用后,,作業(yè)會*通過同步指令進(jìn)行處理。
*處理的作業(yè)的持續(xù)時間
異步指令作業(yè)的并行處理
CPU 可同時執(zhí)行多個異步指令作業(yè),。在以下情況下,,CPU 將并行執(zhí)行多個作業(yè):
●
用于異步指令的作業(yè)會啟動,而該指令的其它作業(yè)仍在運行中,。
●
但不超出該指令可同時運行的作業(yè)大數(shù)目,。
下圖顯示了 WRREC 指令中兩個作業(yè)的并行處理。在一段時間內(nèi),,兩個指令同時執(zhí)行,。