




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1一、時鐘及系統(tǒng)控制一、時鐘及系統(tǒng)控制二、程序地址產(chǎn)生二、程序地址產(chǎn)生 三、轉移、調用和返回三、轉移、調用和返回四、重復指令四、重復指令主要介紹主要介紹F2812的時鐘、鎖相環(huán)、看門狗和復位控制電路等。的時鐘、鎖相環(huán)、看門狗和復位控制電路等。各種時鐘和復位電路的內部結構:各種時鐘和復位電路的內部結構:一、時鐘及系統(tǒng)控制一、時鐘及系統(tǒng)控制5HISPCP HISPCP 一、時鐘及系統(tǒng)控制一、時鐘及系統(tǒng)控制HISPCP 高速外設時鐘高速外設時鐘設置寄存器設置寄存器 PLLCR PLL控制寄控制寄存器存器 LOSPCP 慢速外設時鐘慢速外設時鐘設置寄存器設置寄存器 SCSR 系統(tǒng)控制和系統(tǒng)控制和狀態(tài)寄
2、存器狀態(tài)寄存器 PCLKCR 外設時鐘控制外設時鐘控制寄存器寄存器 WDCNTR 看門狗計數(shù)看門狗計數(shù)寄存器寄存器 LPMCR0 低功耗模式控低功耗模式控制寄存器制寄存器0 WDKEY 看門狗復位看門狗復位key寄存器寄存器 LPMCRl 低功耗模式控低功耗模式控制寄存器制寄存器1 WDCR 看門狗控制看門狗控制寄存器寄存器 外設時鐘控制寄存器外設時鐘控制寄存器 PCLKCR 數(shù)據(jù)存儲空間數(shù)據(jù)存儲空間 0 x0000701C 時鐘寄存器時鐘寄存器 高低速外設時鐘寄存器高低速外設時鐘寄存器 HISPCP/LOSPCP 0 x0000701A/B 系統(tǒng)控制和狀態(tài)寄存器系統(tǒng)控制和狀態(tài)寄存器 SCSR
3、 數(shù)據(jù)存儲空間數(shù)據(jù)存儲空間 0X00007022保留保留D15 D14 D13 D12 D11 D10 D9 D8ECANENCLKMCBSPENCLKSCIBENCLKSPIENCLK R-0 R/W-0 R-0 R/W-0 R/W-0 Reserved D15 D3 D2 D1 D0WDINTS WDENINT WDOVERRIDE R-0 R-1 R/W-0 R/W1C-1 一、時鐘及系統(tǒng)控制一、時鐘及系統(tǒng)控制SCIAENCLK保留保留保留保留保留保留ADCENCLK保留保留EVAENCLKEVBENENCLKD7 D4 D3 D2 D1 D0 R-0 R/W-0 R-0 R/W-0 R
4、/W-0 R/W-0 R-0 R/W-0Reserved D15 D3 D2 D0HSPCK/LSPCK R-0 R/W-010 時鐘模塊提供兩種操作模式:時鐘模塊提供兩種操作模式: 內部振蕩器:內部振蕩器:如果使用內部振蕩如果使用內部振蕩器,則必須在器,則必須在X1XCLKIN和和X2兩個引兩個引 腳之間連接一個石英晶體。腳之間連接一個石英晶體。 外部時鐘源:外部時鐘源:如果采用外部時鐘,如果采用外部時鐘,可以將輸入的時鐘信號直接接到可以將輸入的時鐘信號直接接到X1XCLKIN引腳上,而引腳上,而X2懸空。在這種情懸空。在這種情況下,不使用內部振蕩器。況下,不使用內部振蕩器。一、時鐘及系統(tǒng)控
5、制一、時鐘及系統(tǒng)控制晶體振蕩器及鎖相環(huán)晶體振蕩器及鎖相環(huán)當當XPLLDIS為低電平,系統(tǒng)直接采用時鐘或晶振直接作為系統(tǒng)時鐘;為低電平,系統(tǒng)直接采用時鐘或晶振直接作為系統(tǒng)時鐘;當當XPLLDIS為高電平,外部時鐘經(jīng)過為高電平,外部時鐘經(jīng)過PLL倍頻后,為提供時鐘。倍頻后,為提供時鐘。 片 內 振 蕩 器( OSC)X1/XCLKINX2預 存 器XF_PLLDISOSCCLK(PLL被 禁 止 )XPLLDISXRSPLL旁 路PLL/2014位 PLL選 擇CLKIN(送 至 CPU)鎖相環(huán)控制寄存器鎖相環(huán)控制寄存器PLLCR用于選擇鎖相環(huán)的工作模式和倍頻系數(shù)用于選擇鎖相環(huán)的工作模式和倍頻系數(shù)
6、定時器定時器一、時鐘及系統(tǒng)控制一、時鐘及系統(tǒng)控制Reserved D15 D4 D3 D0DIV R-0 R/W-010 TIM 16位的計數(shù)寄存器,重新裝載位的計數(shù)寄存器,重新裝載PRD的值。的值。 PRD 16位周期寄存器。位周期寄存器。 TCR 16位的定時器控制寄存器。位的定時器控制寄存器。 PSC 16位的預定標寄存器,重新裝載位的預定標寄存器,重新裝載TDDR的值。的值。 TDDR 16位的分頻寄存器。位的分頻寄存器。有有3個個32位位CPU定時器定時器(TIMER0/1/2):定時器定時器0用戶可以在應用程序中使用。用戶可以在應用程序中使用。定時器定時器1和定時器和定時器2預留給
7、實時操作系統(tǒng)使用預留給實時操作系統(tǒng)使用(例如例如 DSPBIOS)。10u F281F281器件上有器件上有3 3個個3232位位CPUCPU定時器(定時器(TIMERTIMER0/1/20/1/2)u TIMER0TIMER0可以在用戶程序中使用,可以在用戶程序中使用,TIMER1/2TIMER1/2預留給預留給DSP BIOSDSP BIOS或其它或其它RTOSRTOS使用(使用(如果不用如果不用DSP BIOSDSP BIOS,可以供用戶使用,可以供用戶使用)。)。u 每個定時器有每個定時器有4 4個寄存器:個寄存器: 1 1)計數(shù)寄存器()計數(shù)寄存器(TIMH:TIMTIMH:TIM)
8、:):3232位位 2 2)周期寄存器)周期寄存器(PRDH:PRD)(PRDH:PRD):3232位位 3 3)預定標寄存器)預定標寄存器(TPR): 32(TPR): 32位(預定標計數(shù)器位(預定標計數(shù)器PSCPSC分頻寄存器分頻寄存器TDDRTDDR) 4 4)控制寄存器控制寄存器(TCR)(TCR):1616位位u TIFTIFTimer Interrupt FlagTimer Interrupt Flagu TIE TIETimer Interrupt EnableTimer Interrupt Enableu TRB TRBTimer Reload BitTimer Reload
9、Bitu TSS TSSTimer Stop Status BitTimer Stop Status Bit11通用定時器 定時器的工作過程:定時器的工作過程: 1 1)用用3232位計數(shù)寄存器(位計數(shù)寄存器(TIMH:TIMTIMH:TIM)裝載周期寄存器()裝載周期寄存器(PRDH:PRD)PRDH:PRD)中的中的 計時常數(shù);計時常數(shù); 2 2)計數(shù)寄存器根據(jù))計數(shù)寄存器根據(jù)SYSCLKOUTSYSCLKOUT時鐘時鐘遞減遞減計數(shù)(計數(shù)(16163232位);位); 3 3)當計數(shù)寄存器等于)當計數(shù)寄存器等于0 0時,定時器的計數(shù)器寄存器重載周期寄存器值,時,定時器的計數(shù)器寄存器重載周期
10、寄存器值, 并輸出一個中斷脈沖(并輸出一個中斷脈沖(TINT0TINT0)。)。12void ConfigCpuTimer(struct CPUTIMER_VARS *Timer, float Freq, float Period)unsigned long temp;Timer-CPUFreqInMHz = Freq; / Initialize timer periodTimer-PeriodInUSec = Period;temp = (long) (Freq * Period); / 150MHz100us=15000Timer-RegsAddr-PRD.all = temp;Timer
11、-RegsAddr-TPR.all = 0; / Set pre-scale counter to divide by 1 Timer-RegsAddr-TPRH.all = 0;/ Initialize timer control register:Timer-RegsAddr-TCR.bit.TSS = 1/0; / 1 = Stop timer, 0 = Start Timer Timer-RegsAddr-TCR.bit.TRB = 1; / 1 = reload timerTimer-RegsAddr-TCR.bit.SOFT = 1;Timer-RegsAddr-TCR.bit.F
12、REE = 1; / Timer Free RunTimer-RegsAddr-TCR.bit.TIE = 1; / 1 = Enable Timer Interrupt配置CPU定時器下面的函數(shù)中周期寄存器由給定的下面的函數(shù)中周期寄存器由給定的DSP時鐘頻率時鐘頻率Freq(MHz)和定時器和定時器周期周期Period(s) 兩個參數(shù)確定。初始化后定時器處于停止狀態(tài)。兩個參數(shù)確定。初始化后定時器處于停止狀態(tài)。定定時時器器定時器功能框圖定時器功能框圖一、時鐘及系統(tǒng)控制一、時鐘及系統(tǒng)控制工作過程:工作過程:首先用首先用32位計數(shù)寄存器位計數(shù)寄存器(TIMH:TM)裝載周期寄存器裝載周期寄存器(P
13、RDH:PRD)內部的值。計數(shù)寄存器根據(jù)內部的值。計數(shù)寄存器根據(jù)SYSCLKOUT時鐘遞減計數(shù)。時鐘遞減計數(shù)。當計數(shù)寄存器等于當計數(shù)寄存器等于0時,定時器中斷輸出產(chǎn)生一個中斷脈沖。時,定時器中斷輸出產(chǎn)生一個中斷脈沖。 工作原理工作原理 在每個在每個SYSCLKOUT脈沖后脈沖后PSC減減1,一直減到,一直減到0。 在下一個在下一個SYSCLKOUT周期周期 ,TDDR加載新的除數(shù)值到加載新的除數(shù)值到PSC,并使,并使TIM減減1。 重復前兩步操作,即重復前兩步操作,即PSC每次減到每次減到0后,后,TIM進行一次減進行一次減1操作,直到操作,直到TIM減為減為0在下一個在下一個SYSCLKOU
14、T周期,將定時器中斷(周期,將定時器中斷(TINT)送到)送到CPU,和,和TOUT引腳。同引腳。同時時TIM裝載來自裝載來自PRD的新的定時的新的定時 計數(shù)器值,并使計數(shù)器值,并使PSC再次減再次減1。 每經(jīng)過(每經(jīng)過(TDDR+1)個)個SYSCLKOUT 周期,周期,TIM減減1。當。當PRD、TDDR或兩者都不或兩者都不為零時,為零時,定時器中斷頻率即定時器中斷頻率即TINT的頻率(的頻率(fTINT)為:)為: fCLKOUT1為為SYSCLKOUT的頻率。的頻率。定時器定時器) 1() 1(11PRDTDDRffCLKOUTTINT定時器定時器 計數(shù)器計數(shù)器TIMTIMTIM D1
15、5 D0 R/W-0TIMH D15 D0 R/W-0 周期寄存器周期寄存器PRDPRDPRD D15 D0 R/W-0PRDH D15 D0 R/W-0定時器定時器 控制寄存器控制寄存器TCR0TCR0TIF TIEFREE D15 D14 D13D12 D11 D10 D9D6 D5 D4 D3 D0TRB保留保留SOFT保留保留R/W-0 R/W-0 R-0 R/W-0 R/W-0 R-0 R/W-0 R/W-0 R-0 TCR功能:功能: 控制定時器模式控制定時器模式 重新加載定時器重新加載定時器 啟動和停止定時器啟動和停止定時器TSS保留保留 預定標寄存器預定標寄存器PSC/TDDR
16、PSC/TDDRPSC D15 D8 D7 D0 R-0 R/W-0PSCH D15 D8 D7 D0 R-0 R/W-0TDDRTDDRH一、時鐘及系統(tǒng)控制一、時鐘及系統(tǒng)控制看門狗及其應用看門狗及其應用 F2812的看門狗與的看門狗與240 x的基本相同,當?shù)幕鞠嗤?位的看門狗計數(shù)位的看門狗計數(shù)器計數(shù)到最大值時,看門狗模塊產(chǎn)生一個輸出脈沖器計數(shù)到最大值時,看門狗模塊產(chǎn)生一個輸出脈沖(512個振蕩個振蕩器時鐘寬度器時鐘寬度)。如果不希望產(chǎn)生脈沖信號,用戶需要屏蔽計數(shù)。如果不希望產(chǎn)生脈沖信號,用戶需要屏蔽計數(shù)器,或用軟件周期向看門狗復位控制寄存器寫器,或用軟件周期向看門狗復位控制寄存器寫“
17、0 x55+0 xAA,該寄存器能夠使看門狗計數(shù)器清零。該寄存器能夠使看門狗計數(shù)器清零。 為了實現(xiàn)看門狗的各項功能,內部有為了實現(xiàn)看門狗的各項功能,內部有3個功能寄存器個功能寄存器 看門狗功能框圖看門狗功能框圖192、看門狗及其應用u 8 8位的看門狗計數(shù)器(位的看門狗計數(shù)器(WDCNTRWDCNTR),當計數(shù)到最大值時看門狗模塊產(chǎn)生),當計數(shù)到最大值時看門狗模塊產(chǎn)生一個輸出脈沖(一個輸出脈沖(512512個個OSCCLKOSCCLK時鐘寬度),并可以中斷或復位時鐘寬度),并可以中斷或復位DSPDSP。u 如果不希望產(chǎn)生脈沖信號,用戶可以屏蔽看門狗模塊,或者通過軟件周如果不希望產(chǎn)生脈沖信號,用
18、戶可以屏蔽看門狗模塊,或者通過軟件周期性的向看門狗復位寄存器(期性的向看門狗復位寄存器(WDKEYWDKEY)寫)寫“0 x55+0 xAA”0 x55+0 xAA”,使得,使得WDCNTRWDCNTR清零。清零。應用說明:應用說明:u 使能看門狗或屏蔽看門狗模塊?看門狗時鐘倍率?使能看門狗或屏蔽看門狗模塊?看門狗時鐘倍率?WDCRWDCRu 希望看門狗中斷(從低功耗模式喚醒)還是希望看門狗中斷(從低功耗模式喚醒)還是復位復位(程序失控)?(程序失控)?SCSRSCSRu 程序運行過程程序運行過程周期性周期性的復位的復位WDCNTRWDCNTR。向。向WDKEYWDKEY 寫寫“0 x55+0
19、 xAA”u 如果程序失控,則復位或中斷如果程序失控,則復位或中斷DSP;否則看門狗不影響程序執(zhí)行。;否則看門狗不影響程序執(zhí)行。 提示:看門狗作為提高系統(tǒng)抗干擾能力的措施之一,是一種補救措施。提示:看門狗作為提高系統(tǒng)抗干擾能力的措施之一,是一種補救措施。20看門狗模塊框圖看門狗模塊看門狗模塊21 看門狗控制寄存器WDCRu 寫寫1 1到到WDDISWDDIS,屏蔽看門狗模塊;寫,屏蔽看門狗模塊;寫0 0使能看門狗模塊。使能看門狗模塊。u WDCHKWDCHK(2020)必須寫)必須寫101101,其它值會引起,其它值會引起DSPDSP復位。復位。u WDPSWDPS(2020)配置看門狗計數(shù)時
20、鐘:)配置看門狗計數(shù)時鐘: WDCLKWDCLKOSCCLK/512/OSCCLK/512/(1 16464)。)。u 看門狗中斷狀態(tài)標志位看門狗中斷狀態(tài)標志位WDFLAGWDFLAG: 讀:讀:1 1看門狗復位(看門狗復位(WDRSTWDRST);0;0器件復位器件復位 寫:寫:1 1將將WDFLAGWDFLAG清零;清零;0 0WDFLAGWDFLAG狀態(tài)不變狀態(tài)不變22使能/屏蔽看門狗模塊/ This function disables the watchdog timer.void DisableDog(void) EALLOW; SysCtrlRegs.WDCR= 0 x0068;
21、/WDDIS=1, WDCHK=101, EDIS; / WDPS=000 (WDCLK=OSCCLK/512)/ This function enables the watchdog timer.void EnableDog(void) EALLOW; SysCtrlRegs.WDCR= 0 x0028; /WDDIS=0, WDCHK=101, EDIS; / WDPS=000 (WDCLK=OSCCLK/512)23系統(tǒng)控制和狀態(tài)寄存器SCSRu WDENINTWDENINT: 1 1看門狗復位信號(看門狗復位信號(WDRSTWDRST)被屏蔽)被屏蔽, , 看門狗中斷信號使能(看門狗中
22、斷信號使能(WDINTWDINT) 0 0看門狗復位信號(看門狗復位信號(WDRSTWDRST)被使能)被使能, , 看門狗中斷信號屏蔽(看門狗中斷信號屏蔽(WDINTWDINT)u WDINTSWDINTS:看門狗中斷狀態(tài)位,反映:看門狗中斷狀態(tài)位,反映WDINTWDINT的狀態(tài)。的狀態(tài)。u WDOVERRIDEWDOVERRIDE: 1 1允許改變允許改變WDCRWDCR中的看門狗屏蔽位中的看門狗屏蔽位WDDISWDDIS;0 0不能改變不能改變WDDISWDDIS 清零后只有系統(tǒng)復位才允許改變該位的狀態(tài),清零后只有系統(tǒng)復位才允許改變該位的狀態(tài),用戶可讀取該位狀態(tài)用戶可讀取該位狀態(tài)。24看
23、門狗復位寄存器WDKEYu 依次寫依次寫0 x550 x550 xAA0 xAA到到WDKEYWDKEY將使將使WDCNTRWDCNTR清零;清零;u 寫其它任何值都會使看門狗復位;寫其它任何值都會使看門狗復位;u 讀該寄存器將返回讀該寄存器將返回WDCRWDCR寄存器的值。寄存器的值。/ This function resets the watchdog timer.void KickDog(void) EALLOW; SysCtrlRegs.WDKEY = 0 x0055; SysCtrlRegs.WDKEY = 0 x00AA; EDIS;如果系統(tǒng)使能看門狗模塊,需要在用戶程序中定時執(zhí)行
24、KickDog函數(shù),且定時器周期要小于看門狗計數(shù)器溢出周期。25看門狗計數(shù)寄存器WDCNTRu WDCNTRWDCNTR包含看門狗計數(shù)器的當前計數(shù)值(包含看門狗計數(shù)器的當前計數(shù)值(0 00 xFF0 xFF););u 如果計數(shù)器溢出,看門狗產(chǎn)生中斷或復位如果計數(shù)器溢出,看門狗產(chǎn)生中斷或復位DSPDSP;u 如果向如果向WDKEYWDKEY寫有效的組合寫有效的組合( 0 x55+0 xAA ),將使計,將使計數(shù)器清零。數(shù)器清零??撮T狗定時器的周期最大值:OSCCLK/512/(1-64)/256。26初始化系統(tǒng)控制/ -This function initializes the System C
25、ontrol registers to a known state.程序功能:1、屏蔽看門狗模塊2、配置PLLCR寄存器,設定SYSCLKOUT的頻率 3、配置高速/低速外設時鐘的預定標因子4、使能相應外設時鐘 void InitSysCtrl(void) / Disable the watchdog DisableDog(); / Initialize the PLLCR to 0 xA InitPll(0 xA); / Initialize the peripheral clocks InitPeripheralClocks();實驗時,注意使能所使用的外設模塊時鐘,否則無法讀寫相應的外設
26、寄存器。PLLCR通常設為10,即CPU的時鐘頻率為30MHz5。一、時鐘及系統(tǒng)控制一、時鐘及系統(tǒng)控制看門狗及其應用看門狗及其應用 計數(shù)寄存器計數(shù)寄存器WDCNTRWDCNTRReserved D15 D8 D7 D0 R-0 R/W-0WDCNTR 復位寄存器復位寄存器WDKEYWDKEYReserved D15 D8 D7 D0 R-0 R/W-0WDKEY 控制寄存器控制寄存器WDCRWDCRReserved D15 D8 R-0 R/W-0WDFLAG D7 D6 D5 D3 D2 D0 R/W-0 R/W-0WDPSWDDISWDCHK R - 0二、二、程序地址的產(chǎn)生程序地址的產(chǎn)生
27、 通常程序是順序執(zhí)行的,即在連續(xù)的程序存儲器地址上通常程序是順序執(zhí)行的,即在連續(xù)的程序存儲器地址上取出指令并執(zhí)行。但有時程序需要轉移到不連續(xù)的地址,然取出指令并執(zhí)行。但有時程序需要轉移到不連續(xù)的地址,然后再連續(xù)執(zhí)行新地址處的指令。為此提供了轉移、調用、重后再連續(xù)執(zhí)行新地址處的指令。為此提供了轉移、調用、重復(循環(huán))和中斷指令。復(循環(huán))和中斷指令。 在執(zhí)行當前指令的同時,程序流要求處理器生成下一個在執(zhí)行當前指令的同時,程序流要求處理器生成下一個指令的程序地址(順序或非順序的)。指令的程序地址(順序或非順序的)。程序控制:控制一個或多個指令塊的執(zhí)行次序。程序控制:控制一個或多個指令塊的執(zhí)行次序。
28、二、二、程序地址的產(chǎn)生程序地址的產(chǎn)生 程序計數(shù)器程序計數(shù)器 PCPC:22bit,取指令時,對內部和外部程序存儲器尋址。,取指令時,對內部和外部程序存儲器尋址。 程序地址寄存器程序地址寄存器 PAR: PAR: 驅動程序地址總線,提供程序的讀、寫地址。驅動程序地址總線,提供程序的讀、寫地址。 堆棧堆棧STACKSTACK:16位寬位寬8級深,可保存級深,可保存8個返回地址個返回地址,也可將用作暫存存儲器。也可將用作暫存存儲器。 微堆棧微堆棧 MSTACK: MSTACK: 16位、位、1級深,保存一個返回地址。級深,保存一個返回地址。 重復計數(shù)器重復計數(shù)器 RPTCRPTC:16位,與重復指令
29、(位,與重復指令(RPT)一起,用來確定)一起,用來確定 RPT后面的一條指令重復執(zhí)行多次。后面的一條指令重復執(zhí)行多次。用到的硬件用到的硬件二、二、程序地址的產(chǎn)生程序地址的產(chǎn)生 順序操作:順序操作:程序的地址來源于程序的地址來源于PC程序計數(shù)器(程序地址程序計數(shù)器(程序地址+1) 空(?。┲芷冢嚎眨▎。┲芷冢撼绦虻牡刂穪碓从诔绦虻牡刂穪碓从赑AR (程序地址(程序地址+1) 從子程序返回:從子程序返回:程序的地址來源于棧頂(程序的地址來源于棧頂(TOS) 從表傳送或塊傳送返回:從表傳送或塊傳送返回:程序的地址來源于微堆棧(程序的地址來源于微堆棧(MSTACK) 轉移到或調用指令中指定的地址:轉
30、移到或調用指令中指定的地址:程序的地址來源于轉移或調用指程序的地址來源于轉移或調用指 令。即利用程序讀總線(令。即利用程序讀總線(PRDB)的方式獲取程序地址。)的方式獲取程序地址。 轉移到或調用累加器低半部分指定的地址:轉移到或調用累加器低半部分指定的地址:程序地址來源于累加程序地址來源于累加 器的低半部分。即利用數(shù)據(jù)讀總線(器的低半部分。即利用數(shù)據(jù)讀總線(DRDB)的方式獲取程序地址。)的方式獲取程序地址。 轉移到中斷服務程序:轉移到中斷服務程序:程序地址來源于中斷矢量單元。即利用程序讀總程序地址來源于中斷矢量單元。即利用程序讀總 線線 ( PRDB)的方式獲取程序地址。)的方式獲取程序地
31、址。程序地址產(chǎn)生的情況程序地址產(chǎn)生的情況二、二、程序地址的產(chǎn)生程序地址的產(chǎn)生 程序計數(shù)器程序計數(shù)器 PC PCPC中存放將被執(zhí)行的下一條指令的地址。中存放將被執(zhí)行的下一條指令的地址。 有有5 5種方式加載種方式加載PCPC,從而適應連續(xù)和不連續(xù)的程序流程。,從而適應連續(xù)和不連續(xù)的程序流程。二、二、程序地址的產(chǎn)生程序地址的產(chǎn)生 順序執(zhí)行順序執(zhí)行:若當前指令是一個字,則將若當前指令是一個字,則將PC+1加載到加載到PC 若當前指令是兩個字,則將若當前指令是兩個字,則將PC+2加載到加載到PC 分支(轉移):分支(轉移):轉移指令后的長立即數(shù)直接加載到轉移指令后的長立即數(shù)直接加載到PC 子程序調用和
32、返回子程序調用和返回 : 調用指令調用指令 將將PC中下一條指令的地址壓入堆棧,然后將調用指令后的長中下一條指令的地址壓入堆棧,然后將調用指令后的長 立即數(shù)直接加載到立即數(shù)直接加載到PC 返回指令返回指令 將返回地址從堆棧中彈回將返回地址從堆棧中彈回PC軟件或硬件中斷:軟件或硬件中斷:將相應的中斷矢量地址裝入將相應的中斷矢量地址裝入PC,在該矢量地址單元,通,在該矢量地址單元,通 常有一條轉移指令,又將相應的中斷服務程序的地址加載到常有一條轉移指令,又將相應的中斷服務程序的地址加載到PC 計算轉移:計算轉移:將累加器低將累加器低16位加載到位加載到PC 利用利用BACC或或CALA指令可實現(xiàn)計
33、算指令可實現(xiàn)計算GOTO操作操作程序計數(shù)器程序計數(shù)器 PC二、二、程序地址的產(chǎn)生程序地址的產(chǎn)生 1616位寬、位寬、8 8級深級深 當調用子程序或發(fā)生中斷時,程序地址產(chǎn)生邏輯利用當調用子程序或發(fā)生中斷時,程序地址產(chǎn)生邏輯利用 該堆棧保存返回地址該堆棧保存返回地址 進入子程序或中斷服務程序時,返回地址自動裝入該進入子程序或中斷服務程序時,返回地址自動裝入該 堆棧的棧頂;當子程序或中斷服務程序完成時,返回堆棧的棧頂;當子程序或中斷服務程序完成時,返回 指令將返回地址從棧頂傳送到程序計數(shù)器。指令將返回地址從棧頂傳送到程序計數(shù)器。 訪問堆棧的指令訪問堆棧的指令 PUSH和和POP:針對累加器低:針對累
34、加器低16位操作。位操作。 PSHD和和POPD:當子程序或中斷嵌套超過:當子程序或中斷嵌套超過8級時可利用這兩條指令在級時可利用這兩條指令在 數(shù)據(jù)存儲區(qū)中建立一個堆棧。數(shù)據(jù)存儲區(qū)中建立一個堆棧。堆堆棧棧二、二、程序地址的產(chǎn)生程序地址的產(chǎn)生 堆堆棧棧例例子子二、二、程序地址的產(chǎn)生程序地址的產(chǎn)生 堆棧例子堆棧例子二、二、程序地址的產(chǎn)生程序地址的產(chǎn)生 一級深、一級深、1616位寬,操作不可見,即無指令,只有程序位寬,操作不可見,即無指令,只有程序 地址產(chǎn)生邏輯才能夠使用微堆棧。地址產(chǎn)生邏輯才能夠使用微堆棧。 程序地址產(chǎn)生邏輯在執(zhí)行程序地址產(chǎn)生邏輯在執(zhí)行BLDDBLDD、BLPDBLPD、MACMA
35、C、MACDMACD、 TBLR TBLR 和和TBLW TBLW 這些串(塊)操作指令時利用微堆棧保這些串(塊)操作指令時利用微堆棧保 存返回地址。存返回地址。微微堆堆棧棧二、二、程序地址的產(chǎn)生程序地址的產(chǎn)生 ,二、二、程序地址的產(chǎn)生程序地址的產(chǎn)生 流流水水線線技技術術 下面給出了一個四級深流水線操作圖。同時執(zhí)行四條下面給出了一個四級深流水線操作圖。同時執(zhí)行四條 指令,但每一條指令處于不同的階段指令,但每一條指令處于不同的階段單字、單周期指令單字、單周期指令4級流水線操作級流水線操作 二、二、程序地址的產(chǎn)生程序地址的產(chǎn)生 流流水水線線技技術術 對對F2812每條指令都要經(jīng)過每條指令都要經(jīng)過8個獨立的執(zhí)行過程,個獨立的執(zhí)行過程,這這8個過程形成了指令流水線個過程形成了指令流水線(instruction pipeline)。在每一個給定的時間內,有在每一個給定的時間內,有8條指令被激活,每一指條指令被激活,每一指令處在執(zhí)行過程中的不同階段。并不是所有的指令令處在執(zhí)行過程中的不同階段。并不是所有的指令都會同時發(fā)生讀寫操作,但是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO/IEC GUIDE 68:2002 AR Arrangements for the recognition and acceptance of conformity assessment results
- 2025至2030中國瓷磚行業(yè)市場發(fā)展現(xiàn)狀及發(fā)展趨勢與投資前景預測報告
- 教師如何利用教育心理學提升學生動力
- 校長家委會培訓
- 學習心理學視角下的興趣培養(yǎng)與學習動機關系探討
- 時代背景下教育品牌的傳播策略
- 教育法律環(huán)境下的學校教育創(chuàng)新實踐
- 教育科技助力醫(yī)療培訓新模式
- 學校校企合作工作管理辦法
- 抖音商戶直播互動提升流量制度
- 2025年醫(yī)保知識考試題庫及答案:醫(yī)保信息化建設應用法律法規(guī)試題
- 環(huán)境現(xiàn)場采樣培訓
- XX公司年產(chǎn)10萬噸陽極銅及5萬噸銅桿項目環(huán)境影響報告書
- 陜西省專業(yè)技術人員繼續(xù)教育2025公需課《黨的二十屆三中全會精神解讀與高質量發(fā)展》20學時題庫及答案
- 財務考試試題及答案大全
- 2024-2025學年人教版數(shù)學五年級下學期期末試卷(含答案)
- 二中分班考試試卷及答案
- 校長在退休教師座談會上發(fā)言:“教”澤綿長退休不褪色
- 2025年河北張家口市事業(yè)單位公開招聘工作人員541名筆試備考試題及答案解析
- 核心素養(yǎng)導向的課堂教學-余文森
- 2024年體育類第二批(高職??婆?投檔最低分及名次
評論
0/150
提交評論