|
<!--插入廣告JS代碼--> |
3: 直接尋址:
對指令編碼時,低7位用于地址;結(jié)合數(shù)據(jù)指針DP和堆棧指針SP可以確定存儲地址。在C5402中,用一個數(shù)據(jù)頁寄存器(DP)來指定正在使用的存儲區(qū)。在任何時候,在512個可選頁的任意一頁上,有128個存儲單元可以用來做直接尋址。這128個存儲單元只需要7位來尋址,這就使單周期操作成為可能。 由于DP 是可編程寄存器,因此在整個存儲映射區(qū)內(nèi),一次有128個地址可以被訪問。在直接尋址中,指令的低7比特是數(shù)據(jù)存儲器地址(dma),Dma是相對于DP所指的地址頁,或SP 所指的地址的偏移量(1-127)。特別地CPL=0,dma是相對于DP的偏移。DP將數(shù)據(jù)存儲器分為512頁(0-511),每一頁有128字,實際的地址由DP和dma結(jié)合而成。
4.: 間接尋址:
間接尋址對于訪問在存儲區(qū)內(nèi)的表,數(shù)組或其它有序集合來說是一種高效的,功能極強(qiáng)的方式。間接尋址的指令不是在指令中表達(dá),而是位于輔助寄存器AR中。AR的使用具有不少優(yōu)點。首先,AR是16位的寄存器,這樣無需借助于數(shù)據(jù)頁寄存器便可以定位整個數(shù)據(jù)存儲映射區(qū)的任意單元。另外,在讀過操作數(shù)后,AR可自動增加或減少,這就為以后的操作有指定了一個新的起點。這個特點使循環(huán)操作可更快速,更容易執(zhí)行。
在直接用*ARX1=*ARX2指令時,要使用同樣掛在總線上的兩個ARX。
5:存儲映象寄存器尋址:
由于MMR(存儲映象寄存器)是數(shù)據(jù)存儲區(qū)的一部分,因此能夠用訪問其它數(shù)據(jù)存儲區(qū),相同的訪問方法,借助直接或間接尋址,對它們寫或讀。還存在另外一種訪問MMR的方法,稱為存儲-映射尋址。由于MMR都位于0頁面,MMR尋址指令僅對第0頁操作,因此若用直接尋址,將忽略(并不改變)DP 的值。若用間接尋址,則僅用當(dāng)前AR的低7位即可。
6.:堆棧尋址:
從系統(tǒng)堆棧中增加和刪除元素。在執(zhí)行直接,間接,存儲器映象寄存器的尋址指令時,數(shù)據(jù)地址發(fā)生邏輯(DAGEN)計算數(shù)據(jù)存儲區(qū)操作數(shù)的地址。
7: 累加器尋址:
累加器尋址將累加器作為地址來使用(通常是低16位)。這種尋址方式是將程序存儲器作為數(shù)據(jù)來尋址。
有兩種指令使用這種模式尋址:READA Smem和WRITA Smem。
V. 流水線操作:
一條指令的流水結(jié)構(gòu)由執(zhí)行指令的一系列順序操作組成。C5402具有6級深度流水線:預(yù)取指,解碼,訪問,讀寫,執(zhí)行。每一級均有一個獨立的操作發(fā)生。由于這些操作都是獨立的,在任一給定的周期中都可能有6指令處于激活狀態(tài),每條指令處于執(zhí)行的不同階段。
典型情況下,流水線被一系列的指令集填充,每一條指令處于6個階段中的一個。當(dāng)程序計數(shù)器PC發(fā)生不連續(xù)的情況時,比如分支,調(diào)用,返回等等,一個或更多的流水線的階段暫時不被使用。
對于較高階段的設(shè)計者,要考慮流水線中的沖突和時延,靠插入一定的NOP指令來解決。在C6000的開發(fā)過程中,采用新的線性匯編指令集可以不用考慮流水線的競爭。
VI. C5402的片內(nèi)外設(shè)及HPI端口:
1.可編程段轉(zhuǎn)換邏輯
可編程段轉(zhuǎn)換邏輯能夠在跨段訪問程序或數(shù)據(jù)存儲器是自動插入一個周期。當(dāng)訪問從程序存儲區(qū)跨越到數(shù)據(jù)存儲區(qū)時也要插入一個周期。這個多余的周期通過允許存儲設(shè)備在它們的設(shè)備驅(qū)動總線之前釋放,來解決總線的沖突。段轉(zhuǎn)換中的段的大小由段轉(zhuǎn)換控制寄存器(BSCR)來決定。
2.主機(jī)端口界面(HPI)
HPI是主機(jī)與C5402進(jìn)行數(shù)據(jù)交換的8-bit并行數(shù)據(jù)口。該接口在C5402芯片上,內(nèi)部有HPI數(shù)據(jù)寄存器,控制寄存器。HPI是用8-bit的數(shù)據(jù)線傳輸16-bit的數(shù)據(jù),可通過設(shè)置控制寄存器的相關(guān)位控制高8位(signifiecant)和低8位的傳輸。HPI有兩種工作方式:一種是主機(jī)獨占模式(HOM);另一種是主機(jī)和C5402共享模式(SAM)。SAM是通用的方式,二者都可訪問HPI數(shù)據(jù)存儲器。在二者產(chǎn)生沖突時,主機(jī)有較高的優(yōu)先權(quán),而5402插入一個等周期。HPI傳輸數(shù)據(jù)率是每5個CLKOUT周期傳輸1byte。C5402的HPI是改良的增強(qiáng)型。
3.硬件時鐘
C5402具有一個有4路的16位的時間發(fā)生電路。在每一個CLKOUT周期,定時器計數(shù)器減1。每當(dāng)計數(shù)器減至0,定時器中斷產(chǎn)生了。定時器可以被中止,重起,復(fù)位,或者置為失效,這些都取決于具體的狀態(tài)位。時鐘發(fā)生器由一個外部的振蕩器和一個鎖相環(huán)(PLL)電路組成。時鐘發(fā)生器可以被一個用內(nèi)部振蕩器的鉆石共鳴器來內(nèi)部驅(qū)動,也可以用時鐘源來外部驅(qū)動。PLL電路可以通過將時鐘源與具體的因數(shù)相乘來產(chǎn)生一個內(nèi)部CPU時鐘,體現(xiàn)在DSK上是運算速度可通過dip選擇5/10/40/100MIPS。
4.串行口
C5402支持兩個多通道緩沖串行口,用自動緩沖單元增強(qiáng)并用完全的CLKOUT速率計時的同步的串行口。它完全雙向及雙緩沖以提供靈活的數(shù)據(jù)流長度。自動緩沖單元支持高速傳輸,減少了中斷服務(wù)的耗費。引腳FSX和FSR上的幀同步脈沖分別初始化標(biāo)準(zhǔn)串行口的發(fā)送和接收操作。串行口通過3個存儲器映象寄存器(SPC、DXR、DRR)和兩個其它寄存器(RSR、XSR)進(jìn)行操作。
5.中斷:C5402的中斷分為硬件中斷和軟件中斷兩種:
1) 軟件中斷:需要程序指令(INTR,TRAP,或RESET):
2) 硬件中斷:需要物理器件發(fā)出外部請求,分為兩種情況:
· 外部中斷端口引發(fā)外部中斷。
· 芯片內(nèi)外圍設(shè)備信號引發(fā)外部中斷。
當(dāng)不同硬件中斷同時引發(fā)時,按其優(yōu)先級先后響應(yīng)。
VII. IEEE標(biāo)準(zhǔn) 1149。1 檢測邏輯;
IEEE標(biāo)準(zhǔn) 1149.1 檢測邏輯電路僅用于模擬和檢測目的。該邏輯為界面器件提供邊界檢查。同時,它也可以象執(zhí)行器件內(nèi)的操作一樣用于檢測管腳的連續(xù)性。IEEE標(biāo)準(zhǔn)1149.1檢測邏輯區(qū)別于訪問所有片內(nèi)資源的內(nèi)部邏輯檢測電路,通過JTAG接口提供于XDS50X EVM板的連接。