亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

在多模處理器中用指令終止位決定指令長度的裝置及方法

文檔序號:6457774閱讀:136來源:國知局
專利名稱:在多模處理器中用指令終止位決定指令長度的裝置及方法
技術(shù)領(lǐng)域
本發(fā)明涉及處理器的技術(shù)領(lǐng)域,更確切地說,涉及一種在多模處 理器中用指令終止位決定指令長度的裝置及方法。
背景技術(shù)
一般多模處理器具有2N位及N位的指令模式,并在此兩種模式切 換執(zhí)行,以節(jié)省程序代碼儲存所需的空間。
在已知文獻(xiàn)中,美國專利7,149,879號公告案利用同位位來進(jìn)行上 述切換,每一N位字包含P位的同位位及(N-P)位的指令,當(dāng)所擷取的2N 位字表示偶同位時,其2N位字視為2個(N-P)位的指令,反之,當(dāng)所擷 取的2N位字表示奇同位時,其2N位字視為單一的2(N-P)位的指令。
美國專利5,758,115號公告案以程序計數(shù)器(Program Counter, PC) 中的T位以決定該處理器執(zhí)行于X位或Y位指令模式,并利用分枝 (Bmnch)指令來切換程序計數(shù)器中T位的值。美國專利6,209,079號公告 案利用特定位辨別所擷取的2N位字為二個N位指令或一個2N位指令。
然而,先前技術(shù)在數(shù)據(jù)架構(gòu)確認(rèn)后,很難再延長數(shù)據(jù)的長度,并 且在存放數(shù)據(jù)時,需對齊單一寬度以方便辨識,如此將造成長度不同 的數(shù)據(jù)無法交錯存放,使數(shù)據(jù)存放密度難以提升,增加編譯器的復(fù)雜 度,因此程序代碼儲存空間無法獲得最佳化。
針對上述問題, 一種解決方法為使用串接位來決定指令長度,其 在每條該N位數(shù)據(jù)設(shè)置1位的串接位。當(dāng)偶數(shù)個串接位為l'bl時,代表 一條完整指令,由此決定指令長度。例如圖1A中,N位數(shù)據(jù)110的串接 位lll為l'b0,代表零個(零為偶數(shù))串接位為l'bl,代表N位數(shù)據(jù)110為 一條完整指令。圖1B中,N位數(shù)據(jù)120的串接位121為l'bl,代表奇數(shù)個 串接位為l'bl,故N位數(shù)據(jù)120不是一條完整指令。圖1C中,N位數(shù)據(jù) 130的串接位131為l'bl,代表奇數(shù)個串接位為l'bl,故N位數(shù)據(jù)130不 是一條完整指令,由于下一個N位數(shù)據(jù)140的串接位141為l'bl,故N位數(shù)據(jù)130、 140有偶數(shù)個串接位為l,bl時,代表N位數(shù)據(jù)130、 140為一條 完整指令。圖1D中,N位數(shù)據(jù)150的串接位151為l,bl,代表奇數(shù)個串接 位為l'bl,故N位數(shù)據(jù)150不是一條完整指令,由于下一個N位數(shù)據(jù)160 的串接位161為l'b0,故N位數(shù)據(jù)150、 160沒有偶數(shù)個串接位為l'bl時, 代表N位數(shù)據(jù)150、 160不是一條完整指令,由于下一個N位數(shù)據(jù)170的 串接位171為l'bl,故N位數(shù)據(jù)150、 160、 170有偶數(shù)個串接位為rbl時, 代表N位數(shù)據(jù)150、 160、 170為一條完整指令。由此提升數(shù)據(jù)存放密度, 并可將原先固定長度的數(shù)據(jù)相互串接,形成不同長度的指令或數(shù)據(jù)。
(這邊可否附圖再稍加說明,請參考圖1、 2)然而,上述方法在 處理器以非連續(xù)的方式執(zhí)行時,例如跳躍式指令,則無法在固定范圍 內(nèi)有效判斷跳躍目標(biāo)N位數(shù)據(jù)是否為一條完整指令的起始。圖2為現(xiàn) 有程序代碼存放于存儲器中的配置圖,其中該存儲器的寬度為N位。 如圖2所示,當(dāng)一個跳躍指令跳躍至L1處,由于該處N位數(shù)據(jù)的串接 位為l'bO,無法判定該N位數(shù)據(jù)為一條完整指令,或是一個3N位指 令的中間N位(如圖1D中的N位數(shù)據(jù)160),此時需由整個指令區(qū)段的 起頭處開始計算串接位為l'bl的個數(shù),方能判定。故現(xiàn)有多模處理器 中決定指令長度的裝置及方法仍有諸多缺失而有予以改進(jìn)的必要。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種以指令終止位決定指令長度的裝置及 方法,以在多模指令的處理器中決定指令長度。
本發(fā)明的主要目的是提供一種在多模處理器中用指令終止位決定 指令長度的裝置,使該多模處理器可在mxN位模式下執(zhí)行mxN位指令, m、 N為大于或等于l的整數(shù),該mxN位指令由m個N位數(shù)據(jù)所組成,每 條該N位數(shù)據(jù)包含至少一位指令終止位,該指令長度決定裝置包含指令 輸入裝置、指令擷取裝置、指令長度判斷邏輯、及指令串接裝置。該 指令輸入裝置,具有存儲空間,用以供儲存多個N位數(shù)據(jù)。該指令擷取 裝置,用來從該指令輸入裝置中擷取前述N位數(shù)據(jù)。該指令長度判斷邏 輯,其依據(jù)所擷取的前述N位數(shù)據(jù)的指令終止位是否為默認(rèn)值,用以判 斷指令長度。該指令串接裝置,依據(jù)該指令長度判斷邏輯的輸出,進(jìn) 而選擇性地將所擷取的該些N位數(shù)據(jù)串接并輸出。其中,當(dāng)指令長度判斷邏輯判斷指令擷取裝置所擷取的前述N位數(shù)據(jù)的指令終止位不為該 默認(rèn)值時,該指令串接裝置保留該N位數(shù)據(jù),且該指令擷取裝置再擷取 下一個N位數(shù)據(jù);而當(dāng)指令長度判斷邏輯判斷該擷取的N位數(shù)據(jù)的指令
終止位為該默認(rèn)值時,如先前無保留N位數(shù)據(jù),判定該N位數(shù)據(jù)為一條 完整指令,該指令串接裝置輸出該N位數(shù)據(jù),否則,判定該N位數(shù)據(jù)與 先前所有保留的N位數(shù)據(jù)為一條完整指令,該指令串接裝置將最后所擷 取的前述N位數(shù)據(jù)與先前所有保留的該些N位數(shù)據(jù)串接并輸出。
依照本發(fā)明的較佳實(shí)施例所述指令長度決定裝置,上述的N值為 16,指令終止位默認(rèn)值為l'bl。
依照本發(fā)明的較佳實(shí)施例所述指令長度決定裝置,上述的指令終 止位位于該N位數(shù)據(jù)中的特定位置。
依照本發(fā)明的較佳實(shí)施例所述指令長度決定裝置,上述的指令終 止位的位數(shù)為大于或等于l的整數(shù)。
本發(fā)明的另一目的在于提供一種在多模處理器中用指令終止位決 定指令長度的方法,該多模處理器可在mxN位模式下執(zhí)行mxN位指令, 其中,m、 N為大于或等于l的整數(shù),該多模處理器具有可變長度指令 集,其提供不同長度的mxN位指令,該mxN位指令由m個N位數(shù)據(jù)所組 成,每條前述N位數(shù)據(jù)包含至少一位指令終止位,該方法包括步驟
(A)擷取一條N位數(shù)據(jù);(B)判斷所擷取的前述N位數(shù)據(jù)的指令終止 位是否為默認(rèn)值;(C)若步驟(B)判斷指令終止位不為該默認(rèn)值, 則保留該N位數(shù)據(jù),再執(zhí)行步驟(A)以擷取下一條N位數(shù)據(jù);(D) 若步驟(B)判斷指令終止位為該默認(rèn)值,再判斷是否先前有保留N位 數(shù)據(jù);(E)若步驟(D)判斷先前無保留N位數(shù)據(jù),則判定該N位數(shù)據(jù) 為一條完整指令,并輸出該N位數(shù)據(jù);(F)若步驟(D)判斷先前有 保留N位數(shù)據(jù),則判定該N位數(shù)據(jù)與先前所有保留的N位數(shù)據(jù)為一條完 整指令,并將最后所擷取的前述N位數(shù)據(jù)與先前所有保留的該些N位數(shù) 據(jù)串接并輸出。
依照本發(fā)明的較佳實(shí)施例所述方法,上述的N值為16,指令終止位 默認(rèn)值為l位的l。
依照本發(fā)明的較佳實(shí)施例所述方法,上述的指令終止位位于N位數(shù) 據(jù)中的任一特定位置。
7依照本發(fā)明的較佳實(shí)施例所述方法,上述的指令終止位的位數(shù)為 大于或等于l。
本發(fā)明的另一目的在于提供一種在多模處理器中用指令終止位決
定指令長度的裝置,使該多模處理器可在16N位模式下執(zhí)行16N位指 令,該16N位指令由N個16位數(shù)據(jù)所組成,每一條該16位數(shù)據(jù)包含 至少一位指令終止位,其中,N為整數(shù),該指令長度決定裝置包含指 令輸入裝置、指令擷取裝置、指令長度判斷邏輯、及指令串接裝置。 該指令輸入裝置,具有存儲空間,用以供儲存多個16位數(shù)據(jù)。該指令 擷取裝置,用來從該指令輸入裝置中擷取前述16位數(shù)據(jù)。該指令長度 判斷邏輯,其依據(jù)所擷取的前述16位數(shù)據(jù)的指令終止位是否為默認(rèn)值, 用以判斷指令長度。該指令串接裝置,依據(jù)該指令長度判斷邏輯的輸 出,進(jìn)而選擇性地將所擷取的該些16位數(shù)據(jù)串接并輸出。其中,當(dāng)指 令長度判斷邏輯判斷指令擷取裝置所擷取的前述16位數(shù)據(jù)的指令終止 位不是該默認(rèn)值時,該指令串接裝置保留該16位數(shù)據(jù),且該指令擷取 裝置再擷取下一條16位數(shù)據(jù);而當(dāng)指令長度判斷邏輯判斷該擷取的16 位數(shù)據(jù)的指令終止位為該默認(rèn)值時,如先前無保留16位數(shù)據(jù),判定該 16位數(shù)據(jù)為一條完整指令,該指令串接裝置輸出該16位數(shù)據(jù),否則, 判定該16位數(shù)據(jù)與先前所有保留的16位數(shù)據(jù)為一條完整指令,該指 令串接裝置將最后所擷取的前述16位數(shù)據(jù)與先前所有保留的這些16 位數(shù)據(jù)串接并輸出。


圖1A至1D為現(xiàn)有技術(shù)在多模處理器中決定指令長度的指令串接 示例。
圖2為現(xiàn)有程序代碼存放于存儲器中的配置圖。 圖3為本發(fā)明較佳實(shí)施例的在多模處理器中用指令終止位決定指
令長度的裝置示意圖。
圖4為本發(fā)明較佳實(shí)施例的在多模處理器中用指令終止位決定指
令長度的方法流程圖。
圖5A至5E為本發(fā)明較佳實(shí)施例的在多模處理器中用指令終止位決
定指令長度的指令串接示例。圖6為依據(jù)本發(fā)明技術(shù)程序代碼存放于存儲器中的配置圖。
圖號說明
N位數(shù)據(jù)
串接位
指令長度決定裝置
指令擷取裝置
指令串接裝置
N位數(shù)據(jù) 指令終止位
110、 120、 130、 140
111、 121、 131、 141
300 指令輸入裝置 310 320 指令長度判斷邏輯330 340
510, 520, 530, 540
511, 521, 531, 541
S410, S420, S430, S440, S450, S460
具體實(shí)施例方式
請參見圖3,圖3為本發(fā)明較佳實(shí)施例的在多模處理器中用指令終 止位決定指令長度的裝置示意圖。處理器可在mxN位模式下執(zhí)行mxN 位指令,其是由m個N位數(shù)據(jù)所組成,m、 N為大于或等于1的整數(shù), 每一個N位數(shù)據(jù)包含至少一位指令終止位,本實(shí)施例中以N^16、指 令終止位寬度為1位為例作說明,而處理器可在16位模式(!11=1)、 32 位模式(n^2)、 48位模式01!=3)...等多種模式執(zhí)行。指令長度決定裝置 300包含指令輸入裝置310、指令擷取裝置320、指令長度判斷邏輯330 及指令串接裝置340。指令輸入裝置310包含儲存指令或數(shù)據(jù)的存儲空 間,用以提供儲存多個16位數(shù)據(jù);指令擷取裝置320用來從指令輸入 裝置310中擷取16位數(shù)據(jù);指令長度判斷邏輯330依據(jù)指令擷取裝置 320所擷取的16位數(shù)據(jù)的指令終止位是否為預(yù)定值,進(jìn)行指令長度的 判斷,其中本實(shí)施例中預(yù)定值為l'bO;以及指令串接裝置340依據(jù)指 令長度判斷邏輯330的判斷,進(jìn)而選擇性地將所擷取的連續(xù)整數(shù)個16 位數(shù)據(jù)串接并輸出;
其中,當(dāng)指令長度判斷邏輯330判斷指令擷取裝置所擷取的前述N 位數(shù)據(jù)的指令終止位不為該默認(rèn)值時,該指令串接裝置340保留該N 位數(shù)據(jù),且該指令擷取裝置320再擷取下一條N位數(shù)據(jù);而當(dāng)指令長 度判斷邏輯330判斷該擷取的N位數(shù)據(jù)的指令終止位為該默認(rèn)值時,
9如先前無保留N位數(shù)據(jù),判定該N位數(shù)據(jù)為一條完整指令,該指令串
接裝置340輸出該N位數(shù)據(jù),否則,判定該N位數(shù)據(jù)與先前所有保留 的N位數(shù)據(jù)為一條完整指令,該指令串接裝置340將最后所擷取的前 述N位數(shù)據(jù)與先前所有保留的該些N位數(shù)據(jù)串接并輸出。
此外,指令終止位可位于所擷取的16位數(shù)據(jù)中的任一特定位置, 本實(shí)施例是在16位數(shù)據(jù)的起始位置處,且指令終止位的位數(shù)可以是大 于或等于l的整數(shù)。
請參見圖4,圖4為本發(fā)明較佳實(shí)施例的在多模處理器中以指令終 止位決定指令長度的方法流程圖,處理器可在mxN位模式執(zhí)行mxN位 指令,m、 N為大于或等于l的整數(shù),多模處理器具有可變長度指令集, 其提供不同長度的mxN位指令,mxN位指令由m個N位數(shù)據(jù)所組成,每 條N位數(shù)據(jù)包含至少一位指令終止位,其中指令終止位的位數(shù)為大于或 等于l,其方法敘述如下
擷取一條N位數(shù)據(jù)(步驟S410);判斷所擷取的N位數(shù)據(jù)的指令終 止位是否為預(yù)定值l,bO (步驟S420),若否,則保留該N位數(shù)據(jù),再執(zhí) 行步驟S410以擷取下一條N位數(shù)據(jù)(歩驟S430)。若步驟S420中判定 指令終止位為該默認(rèn)值l'bO,在歩驟S440中再判斷是否先前有保留N位 數(shù)據(jù)。
若步驟S440中判定先前無保留N位數(shù)據(jù),則判定該N位數(shù)據(jù)為一條 完整指令,并輸出該N位數(shù)據(jù)(步驟S450)。
若步驟S440中判定先前有保留N位數(shù)據(jù),則判定該N位數(shù)據(jù)與先前 所有保留的N位數(shù)據(jù)為一條完整指令,并將最后所擷取的N位數(shù)據(jù)與先 前所有保留的該些N位數(shù)據(jù)串接并輸出(步驟S460)。
在本發(fā)明的較佳實(shí)施例中,上述的N值較佳為16,指令終止位默認(rèn) 值較佳為l'bO。故在此以N二16、指令終止位的位數(shù)為l、及預(yù)定值為 l'bO來舉例說明。請先參見圖5A,首先擷取一條16位數(shù)據(jù)510, 16位數(shù) 據(jù)510包含指令終止位511,其中該指令終止位511的值為l'b0,位于位 數(shù)據(jù)510的起始位置,接著判斷所擷取的16位數(shù)據(jù)510的指令終止位511 是否為預(yù)定值l'bO,由于16位數(shù)據(jù)510的指令終止位511為l'b0,輸出擷 取的16位數(shù)據(jù)510,代表此時處理器工作于16位模式。
10請參見圖5B,首先擷取一個16位的數(shù)據(jù)520, 16位數(shù)據(jù)520包含寬 度為1位的指令終止位521,其位于16位數(shù)據(jù)520的起始位置,接著判斷 擷取的16位數(shù)據(jù)520的指令終止位521是否為預(yù)定值l'b0,由于判斷結(jié)果 為16位數(shù)據(jù)520的指令終止位521不是預(yù)定值l'b0,保留擷取的16位數(shù)據(jù) 520,并擷取下一個16位數(shù)據(jù)530 (參見圖5C) , 16位數(shù)據(jù)530包含指令 終止位531,判斷所擷取的16位數(shù)據(jù)530的指令終止位531是否為預(yù)定值 l'bO,由于16位數(shù)據(jù)530的指令終止位531為預(yù)定值l'b0,將擷取的16 位數(shù)據(jù)530與先前保留的16位數(shù)據(jù)520串接并輸出,即為一條32位數(shù)據(jù), 代表此時處理器工作于32位模式。
若擷取的16位數(shù)據(jù)530中的指令終止位531不是預(yù)定值l'b0時(參見 圖5D,指令終止位531為l'bl),保留所擷取的16位數(shù)據(jù)530并擷取下 一個16位數(shù)據(jù)540 (參見圖5E,指令終止位541為l,b0),判斷所擷取 16位數(shù)據(jù)540的指令終止位是否為預(yù)定值l'b0,由于擷取16位數(shù)據(jù)540 的指令終止位為預(yù)定值l,bO,將擷取的16位數(shù)據(jù)540與先前保留的所有 16位數(shù)據(jù)(16位數(shù)據(jù)520、 16位數(shù)據(jù)530)串接并輸出,成為一條48位 數(shù)據(jù),代表此時處理器工作于48位模式。
圖6為依據(jù)本發(fā)明技術(shù)程序代碼存放于存儲器中的配置圖。如圖所 示,當(dāng)跳躍指令跳躍至巻標(biāo)L1處,由于該N位數(shù)據(jù)的指令終止位不是預(yù) 定值l'bO,故可依據(jù)該N位數(shù)據(jù)的前一條N位數(shù)據(jù)的指令終止位來判斷, 前一個N位數(shù)據(jù)的指令終止位為預(yù)定值l'bO(標(biāo)簽LO處),故可判定前一 條N位數(shù)據(jù)一條完整指令,故跳躍至巻標(biāo)L 1處為正確地址。
當(dāng)跳躍指令跳躍至巻標(biāo)L2處,由于該N位數(shù)據(jù)的指令終止位為預(yù)定 值l'b0,該N位數(shù)據(jù)可能為一條完整指令、也可能不是一條完整指令。 因此可依據(jù)該N位數(shù)據(jù)的前一條N位數(shù)據(jù)的指令終止位來判斷,前一條 N位數(shù)據(jù)的指令終止位為預(yù)定值l,bl(標(biāo)簽Ll處),所以可判定該N位數(shù) 據(jù)與前一條N位數(shù)據(jù)為一條完整指令,故跳躍至巻標(biāo)L2處為不正確地 址。
當(dāng)跳躍指令跳躍至巻標(biāo)L5處,由于該N位數(shù)據(jù)的指令終止位不為預(yù) 定值l'b0,該N位數(shù)據(jù)可能為一條指令的開頭、也可能為一條指令的中 間部分。故可依據(jù)該N位數(shù)據(jù)的前一條N位數(shù)據(jù)的指令終止位來判斷,前一條N位數(shù)據(jù)的指令終止位為預(yù)定值l,bl(標(biāo)簽L4處),故可判定該N 位數(shù)據(jù)為指令的中間部分,故跳躍至標(biāo)簽L5處為不正確地址。
由于在多模指令的處理器中,指令寬度可能有16位、32位、48位 等各種長度可能性,在本實(shí)施例中則是以16位為基本數(shù)據(jù)長度作說明, 而基本數(shù)據(jù)中包含一位指令終止位,剩余15位為數(shù)據(jù)可用內(nèi)容,將16 位數(shù)據(jù)相互串接后可形成如16位、32位、48位等各種長度指令,增加 其使用彈性及擴(kuò)充性。
因此,本發(fā)明可將原先固定長度的數(shù)據(jù)相互串接,形成不同長度 的指令或數(shù)據(jù),另外,利用指令終止位的不重復(fù)性,當(dāng)要從存儲器讀 取或儲存數(shù)據(jù)時,可不對齊存取線的寬度,以增進(jìn)數(shù)據(jù)存放密度,并 減輕編譯器的復(fù)雜度。此外,由于指令終止位的位置及長度可變,因 此位置或長度本身可作為數(shù)據(jù)安全性防護(hù)在編譯及反向編譯運(yùn)作時的 參考。同時,依據(jù)本發(fā)明技術(shù)編碼的指令,當(dāng)處理器以非連續(xù)的方式 執(zhí)行時,例如跳躍指令,即可依據(jù)跳躍目標(biāo)N位數(shù)據(jù)及該N位數(shù)據(jù)的前 一條N位數(shù)據(jù)的指令終止位,輕易判斷一條跳躍指令所跳躍的地址是否 為一條完整指令的起始。
由上述可知,本發(fā)明無論就目的、手段及功效,在在均顯示其迥 異于現(xiàn)有技術(shù)的特征,極具實(shí)用價值。但是應(yīng)注意的是,上述諸多實(shí) 施例僅為了便于說明而舉例而已,本發(fā)明所主張的權(quán)利范圍自應(yīng)以權(quán) 利要求所述為準(zhǔn),而非僅限于上述實(shí)施例。
權(quán)利要求
1、一種在多模處理器中用指令終止位決定指令長度的裝置,使該多模處理器可在m×N位模式下執(zhí)行m×N位指令,m、N正整數(shù),該m×N位指令由m個N位數(shù)據(jù)所組成,每條該N位數(shù)據(jù)包含一位指令終止位,該裝置包含指令輸入裝置,具有存儲空間,用以供儲存多個N位數(shù)據(jù);指令擷取裝置,用以由該指令輸入裝置擷取前述N位數(shù)據(jù);指令長度判斷邏輯,其依據(jù)所擷取的前述N位數(shù)據(jù)中的指令終止位是否為默認(rèn)值,進(jìn)而判斷該指令長度;以及指令串接裝置,依據(jù)該指令長度判斷邏輯的輸出,進(jìn)而選擇性地將所擷取的該些N位數(shù)據(jù)進(jìn)行串接并輸出;其中,當(dāng)指令長度判斷邏輯判斷指令擷取裝置所擷取的前述N位數(shù)據(jù)中的指令終止位不是該默認(rèn)值時,該指令串接裝置保留該N位數(shù)據(jù),且該指令擷取裝置再擷取下一條N位數(shù)據(jù);當(dāng)指令長度判斷邏輯判斷所擷取的該N位數(shù)據(jù)中的指令終止位為該默認(rèn)值時,若先前無保留任何該N位數(shù)據(jù),則判定所擷取的該N位數(shù)據(jù)為一條完整指令,進(jìn)而使該指令串接裝置輸出所擷取的該N位數(shù)據(jù),否則,判定該N位數(shù)據(jù)與先前所有保留的N位數(shù)據(jù)為一條完整指令,該指令串接裝置將所擷取的前述N位數(shù)據(jù)與先前所有保留的該些N位數(shù)據(jù)進(jìn)行串接并輸出。
2、 根據(jù)權(quán)利要求l所述的決定指令長度的裝置,其中,N為16,該指令終止位默認(rèn)值為l'b0。
3、 根據(jù)權(quán)利要求l所述的決定指令長度的裝置,其中,該指令終止位位于該N位數(shù)據(jù)中的特定位置。
4、 根據(jù)權(quán)利要求3所述的決定指令長度的裝置,其中,該特定位置為該N位數(shù)據(jù)中的起始位置。
5、 根據(jù)權(quán)利要求l所述的指令長度決定裝置,其中,該指令終止位的位數(shù)為大于或等于l。
6、 一種在多模處理器中用指令終止位決定指令長度的方法,該多模處理器可在mxN位模式下執(zhí)行mxN位指令,其中,m、 N為正整數(shù),用以提供不同長度的mxN位指令,該mxN位指令由m個N位數(shù)據(jù)所組成,每條前述N位數(shù)據(jù)都包含指令終止位,該方法包括以下步驟(A) 擷取一條N位數(shù)據(jù);(B) 判斷所擷取的前述N位數(shù)據(jù)中的指令終止位是否為默認(rèn)值;(C) 若步驟(B)判斷該指令終止位不為該默認(rèn)值,則保留該N位數(shù)據(jù),再執(zhí)行步驟(A)以擷取下一條N位數(shù)據(jù);(D) 若歩驟(B)判斷該指令終止位為該默認(rèn)值,再判斷是否先前有保留任何該N位數(shù)據(jù);(E) 若步驟(D)判斷先前無保留任何該N位數(shù)據(jù),則判定該N位數(shù)據(jù)為一條完整指令,并輸出該N位數(shù)據(jù);以及(F) 若步驟(D)判斷先前有保留任何該N位數(shù)據(jù)時,則判定所擷取的該N位數(shù)據(jù)與先前所有保留的該些N位數(shù)據(jù)為一條完整指令,并將最后所擷取的前述N位數(shù)據(jù)與先前所有保留的該些N位數(shù)據(jù)串接并輸出。
7、 根據(jù)權(quán)利要求6所述的方法,其中,N為16,該指令終止位默認(rèn)值為l'b0。
8、 根據(jù)權(quán)利要求6所述的方法,其中,該指令終止位位于該N位數(shù)據(jù)中的特定位置。
9、 根據(jù)權(quán)利要求8所述的方法,其中,該特定位置為該N位數(shù)據(jù)中的起始位置。
10、 根據(jù)權(quán)利要求6所述的方法,其中,該指令終止位的位數(shù)為大于或等于l。
11、 一種指令長度決定裝置,其用于在多模處理器中用指令終止位決定指令長度,使該多模處理器可在16N位模式下執(zhí)行16N位指令,該16N位指令由N條16位數(shù)據(jù)所組成,每條該16位數(shù)據(jù)都包含指令終止位,其中,N為整數(shù),該指令長度決定裝置包含指令輸入裝置,具有存儲空間,用以儲存數(shù)據(jù);指令擷取裝置,用以從該指令輸入裝置擷取前述16位數(shù)據(jù);指令長度判斷邏輯,其依據(jù)所擷取的前述16位數(shù)據(jù)中的指令終止位是否為默認(rèn)值,用以判斷該指令長度;以及指令串接裝置,依據(jù)該指令長度判斷邏輯的輸出,進(jìn)而選擇性地將所擷取的該些16位數(shù)據(jù)進(jìn)行串接并輸出;其中,當(dāng)該指令長度判斷邏輯判斷該指令擷取裝置所擷取的前述16位數(shù)據(jù)中的指令終止位不為該默認(rèn)值時,該指令串接裝置保留該16位數(shù)據(jù),且該指令擷取裝置再擷取下一條16位數(shù)據(jù);當(dāng)該指令長度判斷邏輯判斷所擷取的該16位數(shù)據(jù)中的指令終止位為該默認(rèn)值時,若先前無保留任何該16位數(shù)據(jù),判定所擷取的該16位數(shù)據(jù)為一條完整指令,進(jìn)而使該指令串接裝置輸出所擷取的該16位數(shù)據(jù),否則,判定所擷取的該16位數(shù)據(jù)與先前所有保留的16位數(shù)據(jù)為一條完整指令,'該指令串接裝置將所擷取的前述16位數(shù)據(jù)與先前所有保留的該些16位數(shù)據(jù)進(jìn)行串接并輸出。
全文摘要
本發(fā)明涉及一種在多模處理器中用指令終止位決定指令長度的裝置及方法,使該多模處理器可在m×N位模式下執(zhí)行m×N位指令,m、N為大于或等于1的整數(shù),該m×N位指令由m個N位數(shù)據(jù)所組成,每一N位數(shù)據(jù)包含至少一位指令終止位,該指令長度決定裝置包含指令輸入裝置、指令擷取裝置、指令長度判斷邏輯、及指令串接裝置。
文檔編號G06F9/38GK101482809SQ200810003430
公開日2009年7月15日 申請日期2008年1月11日 優(yōu)先權(quán)日2008年1月11日
發(fā)明者宋莉安 申請人:凌陽科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1