|
指令時序 HT48R05A-1系統(tǒng)時鐘由石英晶體振蕩器或RC振蕩器產(chǎn)生,系統(tǒng)內(nèi)部對此頻率進行分頻,產(chǎn)生四個不重疊的時鐘周期,一個指令周期包含4個系統(tǒng)時鐘周期。
時序框圖
HT48R05A-1時序框圖
指令讀取與執(zhí)行是以流水線方式進行的,這種方式允許在一個指令周期進行讀取指令操作,而在下一個指令周期里進行解碼與執(zhí)行該指令。這種流水線方式在一個指令周期里有效地執(zhí)行一個指令。但是,如果指令是要改變程序計數(shù)器,就需要花兩個指令周期來完成這一指令。
程序計數(shù)器(PC)
程序計數(shù)器控制存放在程序存儲器中的要執(zhí)行的指令序列。程序計數(shù)器可尋址程序存儲器的所有地址。
通過訪問一個程序存儲器單元來取出指令代碼后,PC值便會加1,然后程序計數(shù)器便會指向下一條指令代碼所在的程序存儲器單元。
當(dāng)執(zhí)行一條跳轉(zhuǎn)指令,條件跳轉(zhuǎn)指令,裝載PCL寄存器,子程序調(diào)用,初始復(fù)位,內(nèi)部中斷,外部中斷,或從一個子程序返回,PC會通過裝載相應(yīng)的地址來執(zhí)行程序轉(zhuǎn)移。
通過指令實現(xiàn)條件跳轉(zhuǎn),一旦條件滿足,那么在當(dāng)前指令執(zhí)行期間取出的下一條指令會被放棄,而替代它的是一個假指令周期(dummy cycle)來獲取正確的指令,接著就執(zhí)行這條指令,否則就執(zhí)行下一條指令。
程序計數(shù)器的低位字節(jié)(PCL:06H)是可讀寫的寄存器。將數(shù)據(jù)賦值到PCL會執(zhí)行一個短跳轉(zhuǎn),這種跳轉(zhuǎn)只能在256個地址范圍內(nèi)。
當(dāng)一個控制轉(zhuǎn)移發(fā)生時,就需要有一個附加的假指令周期。
HT48R05A-1程序計數(shù)器
注:*8—*0:程序計數(shù)器位,S8—S0:堆棧寄存器位,#8—#0:指令代碼位,@7—@0PCL:位 |