TWI230899B - Processor and method using parity check to proceed command mode switch - Google Patents

Processor and method using parity check to proceed command mode switch Download PDF

Info

Publication number
TWI230899B
TWI230899B TW092105116A TW92105116A TWI230899B TW I230899 B TWI230899 B TW I230899B TW 092105116 A TW092105116 A TW 092105116A TW 92105116 A TW92105116 A TW 92105116A TW I230899 B TWI230899 B TW I230899B
Authority
TW
Taiwan
Prior art keywords
bit
parity
instruction
byte
mode
Prior art date
Application number
TW092105116A
Other languages
English (en)
Other versions
TW200417917A (en
Inventor
Bo-Sung Liang
Original Assignee
Sunplus Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sunplus Technology Co Ltd filed Critical Sunplus Technology Co Ltd
Priority to TW092105116A priority Critical patent/TWI230899B/zh
Priority to US10/682,957 priority patent/US7149879B2/en
Priority to DE102004001651A priority patent/DE102004001651B4/de
Priority to GB0400543A priority patent/GB2399432B/en
Priority to JP2004047894A priority patent/JP3688285B2/ja
Publication of TW200417917A publication Critical patent/TW200417917A/zh
Application granted granted Critical
Publication of TWI230899B publication Critical patent/TWI230899B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag

Description

1230899
(發明說明應敘明:發明所屬之技術領域、先前技術、內容、實施方式及圖式簡單說明) 【一、發明所屬之技術領域】 本發明係關於處理器的技術領域,尤指一種在電腦 裝置中利用同位檢查以進行指令模式切換之處理器及方 法0 【二、先前技術】 一般處理器具有一 32位元/16位元之指令模式,並在 此兩種模式切換執行,以節省程式碼儲存所需之空間, 於美國第118?5,758,115號專利案公告中,係以程式計數 器(Program Counter,PC)中的T位元以決定該處理器具位 於32位元或16位元指令模式,並利用分枝(Branch)指令來 切換程式計數器中T位元之值,其指令模式切換如圖1所 示,當執行分枝(Branch)指令220時,係分枝至(Branch to) 16位元指令儲存之起始位址Badd(l)並執行16位元指 令,該+ 1係用以切換該T位元以指示該處理器位於16位元 指令模式,當執行分枝(Branch)指令240時,係分枝至 (Branch to)32位元指令儲存之位址Badd(2)並執行32位元 指令,該+0係用以將該T位元改變為’0’,以指示該處理 器位於32位元指令模式,採取此種切換方法有ARM及 MIPS系列之處理器,然而採取此種切換方法之32位元指 令及16位元指令需分別儲存在不同之區塊,32位元指令 及16位元指令無法夾雜存放在同一區塊,因此程式碼儲 存空間無法獲得最佳化。 1230899 針對32位元指令及16位元指令無法夾雜儲存在同一 區塊的問題,美國第USP6,209,079B1號專利案公告中, 係以指令碼中的最高位元(Most Significant Bit,MSB)位 元以決定該處理器具位於32位元或16位元指令模式而解 決32位元指令及丨6位元指令無法夾雜儲存在同一區塊的 問題,如圖2所示,若於32位元邊界之MSB若為,1,,則該 32位元代表一 32位元指令,若於32位元邊界之MSB若 為’〇’,則該32位元代表兩個16位元指令,若16位元指令 B之MSB若為,〇’,則表示為兩個循序執行之16位元指 令,若16位元指令B之MSB若為,1,,則表示為兩個平行 執行之16位元指令,採取此種切換方法有M32R系列之處 理器’於此種切換方法中,32位元指令及16位元指令無 需分別儲存在不同之區塊,而達到提高程式碼密度(Code Density)之目的,然而,當執行分枝(branch)或跳躍(jump) 指令時需小心處理,以免跳躍至一 32位元指令之後半部 份,由於該32位元指令之後半部份並非一可執行之指 令,會產生不可預期之錯誤,因此跳躍位址需限制在字 組邊界(word boundary)或 32位元邊界(32-bit boundary), 對於分枝鏈結(branch_and-link)及跳躍-鏈結 (jump_and-link)指令之返回位址(return address)亦需限制 在字組邊界(word boundary)或32位元邊界(32-bit boundary),此種限制會增加使用上的不方便性,同時, 使用上述技術之處理器在執行分枝或跳躍指令時並無任 何容錯之設計,亦即當該處理器因硬體或外界干擾而產 生錯誤之跳躍位址時,該處理器即會無法處理而使整個 1230899 系統停滞(halt),因此,習知32位元/16位元之指令模式變 換方法的設計仍有諸多缺失而有予以改進之必要。 發明人爰因於此,本於積極發明之精神,亟思一種 可以解決上述問題之「一種利用同位檢查以進行指令模 式切換之處理器及方法」,幾經研究實驗終至完成此項 發明。 、 【三、發明内容】 本發明之目的係在提供一種利用同位檢查以進行指 令模式切換之處理器及方法,以避免習知技術因需將跳 躍位址限制在子組邊界或32位元邊界所引起之複雜問 題,同時,提高程式碼密度及增加系統之穩定度而達到 容錯之目的。 依據本發明之一特色,係提出一種以同位元檢查進 行扣令模式切換之處理器,其可分別於N位元及2N位元 模式執行N位元及2N位元模式指令,該1^位元模式指令由 一個N位元字組所組成,該2N位元模式指令由兩個n位元 字組所組成,每一N位元字組包含p個同位位元及(N-p) 位疋之指令碼,P為大於或等於1之整數,其中,每一 N 位元模式指令之同位位元係將其N位元字組設定為第一 同位狀態’每一 2N位元模式指令之每一 n位元字組之同 位位元係將其N位元字組設定為第二同位狀態,該處理器 包含一指令輸入裝置、一指令擷取裝置及一執行模式切 換邏輯’該指令輸入裝置包含一寬度為2N位元之記憶空 間以供儲存複數個代表指令之2N位元字組,該指令擷取 1230899 裝置用以擷取該指令碼輸入裝置的一 2N位元字組,以及 該執行模式切換邏輯用以判斷擷取之2N位元字組為二個 (N-P)位元的指令或一個2(N-P)位元的指令,俾以切換處 理器執行於N位元或2N位元模式,其中,當擷取之2N位 元字組為偶同位時,如所包含之兩個N位元字組均為第一 同位狀態,判定該2N位元字組為二個(N-P)位元的指令, 如所包含之兩個N位元字組均為第二同位狀態,判定該 2N位元字組為一個2(N-P)位元的指令。
依據本發明之另一特色,係提出一種於處理器中以 同位元檢查進行指令模式切換之方法,該處理器可執行 於N位元及2N位元模式,該處理器包含一指令輸入裝 置,其提供N位元模式指令及2N位元模式指令,該N位元 模式指令由一個N位元字組所組成,該2N位元模式指令 由兩個N位元字組所組成,每一 N位元字組包含P個同位 位元及(N-P)位元之指令碼,P為大於或等於1之整數,其 中,每一N位元模式指令之同位位元係將其N位元字組設 定為第一同位狀態,每一2N位元模式指令之每一 N位元 字組之同位位元係將其N位元字組設定為第二同位狀 態,該方法包括:(A)擷取一代表指令之2N位元字組;(B) 當擷取之2N位元字組為特定同位狀態時,如其所包含之 兩個N位元字組均為第一同位狀態,判定該2N位元字組 為二個(N-P)位元的指令,而切換處理器執行於N位元模 式;以及(C)當擷取之2N位元字組為特定同位狀態時,如 所包含之兩個N位元字組均為第二同位狀態,判定該2N 1230899 位元字組為一個2(Ν·Ρ)位元的指令,而切換處理器執行於 2Ν位元模式。 由於本發明設計新穎,能提供產業上利用,且確有 增進功效,故依法申請發明專利。 【四、實施方式】 本發明之利用同位元檢查進行指令模式切換之處理 器及方法係可分別於Ν位元及2 Ν位元模式執行Ν位元及 2Ν位元模式指令,該Ν位元模式指令由一個ν位元字組所 組成,該2Ν位元模式指令由兩個1^位元字組所組成,每 Ν位元子組包含ρ個同位位元及(Ν_ρ)位元之指令碼,ρ 為大於或等於1之整數,於本實施例中,較佳為16, ρ 值較佳為1,但其僅為說明時之方便,並未為限制本發明 之使用範圍及權力。 圖3顯示本發明之利用同位檢查以進行指令模式切 換之處理器的系統架構,其包含一指令輸入裝置31〇、一 指令擷取裝置320及一執行模式切換邏輯33〇,該指令輸 入裝置310包含一寬度為2n=32位元之記憶空間以供儲存 複數個代表指令之32位元字組,該指令擷取裝置32〇用以 擷取該指令碼輸入裝置310的一 32位元字組,該執行模式 切換邏輯330用以判斷擷取之32位元字組為二 位兀的心令或-個2(N_P)=3G位元的指令,俾以切換處理 器執行於16位元或32位元模式。 於本實施例中,該處理器可執行N=16位元及2n=32 位元兩種模式,在對該該處理器所執行之指令集 1230899 (instruction set)編碼時,該16位元模式指令由一個16位元 字組所組成,每一 16位元模式指令包含一位元之同位位 元,該同位位元係位於該16位元之最高位元(Most Significant Bit,MSB),但亦可位於該16位元之任何位元 中,該32位元模式指令由兩個16位元字組所組成,每一 16位元字組包含1個同位位元及15位元之指令碼,每一同 位位元係位於每一 16位元字組之最高位元。 如圖4所顯示,設代表指令之32位元字組之特定同位 狀態為偶同位,在32位元字組中若包含二個16位元指令 時,第31位元即為一 16位元模式指令之同位位元,其係 將第30位元至第16位元共15位元執行X0R運算之結果, 以使第31位元至第16位元成為偶同位狀態;第15位元即 為另一 16位元模式指令之同位位元,其係將第14位元至 第0位元共15位元執行X0R運算之結果,以使第15位元至 第0位元成為偶同位狀態;亦即16位元字組設定為第一同 位狀態(偶同位狀態)。 每一 32位元模式指令中包含二個同位位元,亦即在 32位元字組中,若包含一個30位元指令時,第31位元即 為第30位元至第16位元共15位元執行XN0R運算之結 果,以使第31位元至第16位元成為奇同位狀態;第15位 元即為第14位元至第0位元共15位元執行XN0R運算之結 果,以使第15位元至第0位元成為奇同位狀態;每一32位 元模式指令之每一 16位元字組之同位位元係將其16位元 字組設定為第二同位狀態(奇同位狀態)。 1230899 當一程式經由一組譯器(assembler^組譯後,代表該 程式之複數個機械碼係儲存於該指令輸入裝置310之一 寬度為32位元之記憶空間,以供該處理器執行,該指令 擷取裝置320用以擷取該指令碼輸入裝置310的一 32位元 字組,該執行模式切換邏輯330用以判斷擷取之32位元字 組為二個15位元的指令或一個30位元的指令,俾以切換 該處理器執行於16位元或32位元模式。 該執行模式切換邏輯330首先如圖5所示,對該擷取 之32位元字組之第31位元至第16位元執行一互斥或 (XOR)運算以得到一UHP訊號(Upper Half Parity)510,第 15位元至第0位元執行一互斥或運算以得到一 LHP訊號 (Lower Half Parity)520,再對該UHP訊號510及LHP訊號 520執行一互斥或運算以得到一 WP訊號(Word Padty)530,該執行模式切換邏輯330再依該UHP訊號 510、LHP訊號520及WP訊號530以判定該處理器執行於16 位元或32位元模式。 如圖6所示,當該WP訊號530為偶同位(E)時,表 示該擷取之32位元字組至少包含有一個正確之指令, UHP訊號510及LHP訊號520均為偶同位(E)時,表示 該擷取之32位元字組包含二個15位元指令,而UHP訊 號510及LHP訊號520均為奇同位(0)時,表示該擷取 之32位元字組包含一個30位元指令。 WP訊號530為奇同位(0)時,表示該擷取之32位元 字組並不包含正常指令,為一特殊狀態。而這種特殊狀 1230899 態,有下列幾種可能:(1)該擷取之32位元字組區域非 程式碼隨;(2)_取之32位元字組是程式碼區段, 但位元有錯誤,才會導致有效的偶同位(£)變奇同位 (〇); (3)代表其他特殊的狀態轉換。在本發明實施例中, 可將WP訊號530為奇同位(0)定義為位元有錯誤,以作 為資料位元是否有誤之檢查。 圖7係顯示有一程式經過本發明之技術組譯後所產 生的機械碼其在記憶體位置中的排列方式,其中有脉指 令格式僅需要執行15位元指令即可,有些指令格式貝";^ 要執行30位元指令,因此產生一序列之3〇位元與15位元 指令混雜之程式碼,如圖7所顯示,依據本發明之技術, 32位元模式指令及16模式位元指令即可炎雜儲存在同一 區塊,而達到提高程式碼密度(c〇de Density之目的。 依據本發明之技術’該處理器無需特別指定跳躍位 址目的地的指令狀態即可判斷出正確的指令模式,亦即 該處理器时該執行模式切換邏輯33G,其會根據跳躍位 址的資料内容自動判斷出正確的指令模式,圖7亦顯示該 處理器六種不同跳躍位址狀態及該執行模式切換邏輯 330所判斷之正確的指令模式,各狀態描述如下: 狀態(1):該處理器跳躍到一 32位元邊界(32_bh boundary),此時該wp = (E)表為有效指令, (UHP, LHP)=(〇’ 0)表為一個3〇位元指令故 該處理器執行此一 30位元指令。 狀態(2):該處理器跳躍到一 32位元邊界,此時該w =⑻ 12 1230899 表為有效指令,(UHP,LHP)=(E,E)表為兩個 15位元指令,故該處理器執行第一個15位元指 令。 狀態(3) ··該處理器未跳躍到一 32位元邊界,此時該WP =(E)表為有效指令,(UHP,LHP)=(E,E)表為 兩個15位元指令,故該處理器執行第二個μ 位元指令。 狀態(4):該處理器未跳躍到一 32位元邊界,此時該WP =(E)表為有效指令,(UHP,LHP)=(〇,〇)表為 一個30位元指令,因此為錯誤狀態,故該處理 器發出例外(Exception)訊號。 狀態(5)·該處理器跳躍到一 32位元邊界,此時該WP = (0) 表為無效指令,為特殊狀態,故該處理器發出 例外(Exception)訊號。 狀態(6)·该處理器未跳躍到一 32位元邊界,此時該WP =(0)表為無效指令,為特殊狀態,故該處理器 發出例外(Exception)訊號。 如圖8所顯示,第一同位狀態亦可採用奇同位狀態 而第二同位狀態採用偶同位狀態,亦即在32位元字組中 若包含二個16位元指令時,第31位元即為一 16位元模 式指令之同位檢查位元,其係將第30位元至第16位元 共15位元執行XN0R運算之結果,以使第31位元至第 16位元成為奇同位狀態;第15位元即為另一 16位元模 式指令之同位位元,其係將第14位元至第〇位元共15 1230899 位元執行X腿運算之結果,以使第位元至第〇位 元成為奇同位狀態;亦即16位元字組設定為第一同位狀 態(奇同位狀態)。 每一 32位TG模式指令中包含二個同位位元,亦即在 32位元字組中若包含一個30位元指令時,第31位元即 為第30位元至第16位元共15位元執行XOR運算之結 果,以使第31位70至第16位元成為偶同位狀態;第15 位兀即為第14位元至第〇位元共15位元執行x〇R運算 之結果,以使第15位元至第〇位元成為偶同位狀態;每 一 32位兀模式指令之每一 16位元字組之同位位元係將 其16位元字組設定為第二同位狀態(偶同位狀態)。 在另一種實施架構中,設代表指令之32位元字組之 特定同位狀態為奇同位,亦即wp = 〇(奇同位),在此時, 因為正常指令為奇同位,則第31位元至第16位元之同 位檢查訊號UHP,一定與第15位元至第〇位元之同位檢 查號LHP相反。此時於正常指令中,若uhp為第一 同位狀態,則LHP為第二同位狀態,亦即,於正常指令 中(WP = Ο),若設第一同位狀態為偶同位(E)時,即 UHP=E時,表示該32位元字組中,包含二個15位元指 令;於正常指令中(wp = 0),若設第一同位狀態為奇同9 位(0)時,即UHP=0時,表示該32位元字組中,包含一 個30位元指令,此時之同位位元檢查表,如圖9所示。 圖10顯示另一種同位位元檢查表,於正常指令中 (WP = 0) ’右設第一同位狀態為奇同位(〇)時,即uhp^q 1230899 時、,表示該32位元字組中,包含二個15位元指令,於 正常指令中(WP = Ο),而UHP=E時,表示該32位元字 組中’包含一個3 0位元指令。
由上述可知,由於使用本發明之技術,該處 理器執行分枝(branch)或跳躍(jump)指令時無需擔心跳 躍至一32位元指令之後半部份,此時如狀態(4),該處理 器發出例外(Exception)訊號,因此跳躍位址無需限制在 字組邊界或32位元邊界,同理,對於分枝-鏈結及跳躍_ 鍵結指令之返回位址亦無需限制在字組邊界或32位元邊 界’不只提高程式碼密度(Code Density),亦增加使用之 方便性’同時’處理器在執行分枝或跳躍指令而跳躍至 錯誤之位置或該處理器因硬體或外界干擾而產生錯誤之 跳躍位址時,該處理器會發出例外訊號,以讓作業系統 處理而不會使整個系統停頓(halt)或產生不可預期之錯 誤,以增加系統之穩定度,而達到容錯之目的。
、、’τ、上所陳,本發明無論就目的、手段及功效,在在 句,,、、員示其迥異於習知技術之特徵,實為一極具實用價值 之舍明。惟應注意的是,上述諸多實施例僅係為了便於 說明而舉例而已,本發明所主張之權利範圍自應以申請 專利範圍所述為準,而非僅限於上述實施例。 【五、圖式簡單說明】 圖1:係習知指令模式切換之示意圖。 圖2:係另-習知指令模式切換之示意圖。 15 1230899 圖3 :係本發明之一種利用、同位檢查以進行指令模式切換 之處理器之架構圖。 圖4 :係本發明之程式組譯時同位位元產生的示意圖。 圖5 :係本發明之程式執行時同位位元檢查的示意圖。 圖6 :係本發明之同位位元檢查表。 圖7 :係一程式在記憶體位置中的排列方式及六種不同跳 躍位址狀態的示意圖。 圖8 :係本發明之程式組譯時另一同位檢查位元產生的示 意圖。 圖9 :係本發明之另一同位位元檢查表。 圖10 :係本發明之再一同位位元檢查表。 【圖號說明】 指令輸入裝置 310 指令擷取裝置 320 執行模式切換邏輯 330 UHP訊號 510 LHP訊號 520 UHP訊號 530

Claims (1)

1230899 拾、申請專利範圍 一, ::. , ;'*>·;:::·:···;;':^-;:::>·:.Πλ::::!*!'·ΐ;:··:ί>:::;:·: :·::4·Ι:·:··?·^··ί;:^ :·^:>·:^;·:?:>·:^^ ί>>·:ϊ:^·:Ι:ί:::-:::';^!·:·:>::·;^!·::'!>'>>:χ···;νΐ :':·λ·:·:>:·:><·:Η··ί·::>·:::>··::ί^ ·:;:ίί>:·χ··ίΐ x:-':r:::::-:^:$si::::r:::':>:;':t:-!>l··:·;::::::·:.:::·:;·:>::Vr:·; :>ν:'::>·:>::-:>·:·:-:>';>:: 1. 一種以同位元檢查進f指令模式切換之處理 器,其可分別於N位元及2N位元模式執行N位元及2N位元 模式指令,該N位元模式指令由一個N位元字組所組成, 該2N位元模式指令由兩個N位元字組所組成,每一 N位元 字組包含P個同位位元及(N-P)位元之指令碼,P為大於或 等於1之整數,其中,每一 N位元模式指令之同位位元係 將其N位元字組設定為第一同位狀態,每一 2N位元模式 指令之每一 N位元字組之同位位元係將其N位元字組設 定為第二同位狀態,該處理器包含: 一指令輸入裝置,其包含一寬度為2N位元之記憶空 間以供儲存複數個代表指令之2N位元字組; 一指令擷取裝置,用以擷取該指令碼輸入裝置的一 2N位元字組;以及 一執行模式切換邏輯,用以判斷擷取之2N位元字組 為二個(N-P)位元的指令或一個2(N-P)位元的指令,俾以 切換處理器執行於N位元或2N位元模式, 其中,當擷取之2N位元字組為偶同位時,如所包含 之兩個N位元字組均為第一同位狀態,判定該2N位元字 組為二個(N-P)位元的指令,如所包含之兩個N位元字組 均為第二同位狀態,判定該2N位元字組為一個2(N-P)位 元的指令。 2. 如申請專利範圍第1項所述之處理器,其中,該 第一同位狀態為偶同位,該第二同位狀態為奇同位。 17 1230899 3·如申請專利範圍第1項所述之處理器,其中,該n 值為16,P值為1。 、 4· 一種於處理器中以同位元檢查進行指令模式切 換之方法,該處理器可執行於N位元&2N位元模式,該 處理器具有—指令集,其提供靠元模式指令及2N位元 模式扣々該N位元模式指令由一個N位元字組所組成,
該2N>fe元模式指令&兩個雜元字組所、组成,每一 n位元 ^組包含P個同位位元及(N_p)位元之指令碼,?為大於或 等於1之整數’其中’每_N位元模式指令之同位位元係 將其陳元字組設定為第—同位狀態,每-2N位元模式 ,令之每一 N位元字組之同位位元係將其N位元字組設 定為第二同位狀態,該方法包括: 擷取一代表指令之2N位元字組;以及 當揭取之2N位元字組為偶同位時,如其所包含之兩 個難元字組均為第-同位狀態,判定該2N位元字組為 -個(N_P)位元的指令’而切換處理器執行於n位元 式;以及 '
當擁取之2N位元字組為偶同位時,如所包含之兩個 n位元字組均為第二同位狀態,料該2ν^组為一 個2(N-P)位元的指令’而切換處理器執行於2n位元模式。 6.如申請專利範圍第4項所述之方法 為16,P值為1 〇 〆 5·如申請專利範圍第4項所述之方法,其中,該第 -同位狀態為偶同位,該第二同位狀態為奇同位。 ’其中,該N值 18 1230899
7. —種以同位元檢查進行指令模式切換之處理 器,其可分別於N位元及2N位元模式執行N位元及2N位元 模式指令,該N位元模式指令由一個N位元字組所組成, 該2N位元模式指令由一個上半N位元字組及一下半N位 元字組所組成,每一 N位元字組包含P個同位位元及(N-P) 位元之指令碼,P為大於或等於1之整數,其中,每一上 半N位元模式指令之同位位元係將其N位元字組設定為 第一同位狀態,每一下半N位元模式指令之同位位元係將 其N位元字組設定為第二同位狀態,每一 2N位元模式指 令設定為第二同位狀態,該處理器包含: 一指令輸入裝置,其包含一寬度為2N位元之記憶空 間以供儲存複數個代表指令之2N位元字組; 一指令擷取裝置,用以擷取該指令碼輸入裝置的一 2N位元字組;以及
一執行模式切換邏輯,用以判斷擷取之2N位元字組 為二個(N-P)位元的指令或一個2(N-P)位元的指令,俾以 切換處理器執行於N位元或2N位元模式, 其中,當擷取之2N位元字組為奇同位時,如所包含 之上半N位元字組為第一同位狀態,判定該2N位元字組 為二個(N-P)位元的指令,如所包含之上半N位元字組為 第二同位狀態,判定該2N位元字組為一個2(N-P)位元的 指令。 8. 如申請專利範圍第7項所述之處理器,其中,該 第一同位狀態為偶同位,該第二同位狀態為奇同位。 19 1230899 9.如申睛專利範圍第7項所述之處理器,其中,該n 值為16,P值為1。 1〇· —種於處理器中以同位元檢查進行指令模式切 換之方法,该處理器可執行於N位元及2n位元模式執行N ,兀及2N位元模式指令,該N位元模式指令由一個〜位元 子、、且所組成,该2N位元模式指令由一個上半元字組 下半N位元子組所組成,每一 n位元字組包含p個同 位位元及(N-P)位元之指令碼,p為大於或等於丨之整數, 其中,每一上半N位元模式指令之同位位元係將其N位元 字組設定為第-同位狀態,每一下半N位元模式指令之同 位位元係將其^^位元字組設定為第二同位狀態,每一 位元模式指令設定為第二同位狀態,該方法包括·· 擷取一代表指令之2N位元字組;以及 當擷取之2N位元字組為奇同位時,如其所包含之上 半N位元字組為第一同位狀態,判定該21^位元字組為二 個(N-P)位元的指令,而切換處理器執行位元模式; 以及 ~ 當擷取之2Ν位元字組為奇同位時,如其所包含之上 半Ν位元字組為第二同位狀態,判定該2Ν位元字組為一 個2(Ν-Ρ)位元的指令,而切換處理器執行於2\位元模式。 11·如申請專利範圍第10項所述之方法,其中,該 第一同位狀態為偶同位,該第二同位狀態為奇同位。 12·如申請專利範圍第1〇項所述之方法,其中,該ν 值為16,Ρ值為1。 1230899 13. —種以同位元檢查進行指令模式切換之處理 器,其可分別於N位元及2N位元模式執行N位元及2N位元 模式指令,該N位元模式指令由一個N位元字組所組成, 該2N位元模式指令由一個上半N位元字組及一下半N位 元字組所組成,每一 N位元字組包含P個同位位元及(N-P) 位元之指令碼,P為大於或等於1之整數,其中,每一上 半N位元模式指令之同位位元係將其N位元字組設定為 第二同位狀態,每一下半N位元模式指令之同位位元係將 其N位元字組設定為第一同位狀態,每一 2N位元模式指 令設定為第二同位狀態,該處理器包含: 一指令輸入裝置,其包含一寬度為2N位元之記憶空 間以供儲存複數個代表指令之2N位元字組; 一指令擷取裝置,用以擷取該指令碼輸入裝置的一 2N位元字組;以及 一執行模式切換邏輯,用以判斷擷取之2N位元字組 為二個(N-P)位元的指令或一個2(N-P)位元的指令,俾以 切換處理器執行於N位元或2N位元模式, 其中,當擷取之2N位元字組為奇同位時,如所包之 上半N位元字組為第二同位狀態,判定該2N位元字組為 二個(N-P)位元的指令,如所包含之上半N位元字組為第 一同位狀態,判定該2N位元字組為一個2(N-P)位元的指 令0 14. 如申請專利範圍第13項所述之處理器,其中, 該第一同位狀態為偶同位,該第二同位狀態為奇同位。 21 1230899 15·如申請專$範圍第13項所述之處理器,其中, 該Ν值為16,Ρ值為1。
16· —種於處理器中以同位元檢查進行指令模式切 換之方法,該處理器可執行於Ν位元及2Ν位元模式執行Ν 位元及2Ν位元模式指令,該Ν位元模式指令由一個Ν位元 字組所組成,該2Ν位元模式指令由一個上半元字組 及下半N位元子組所組成,每一 ν位元字組包含ρ個同 位位元及(Ν-P)位元之指令碼,ρ為大於或等於丨之整數, 其中,每一上半N位元模式指令之同位位元係將其1^位元 字組設定為第二同位狀態,每一下半1^位元模式指令之同 位位元係將其>^位元字組設定為第一同位狀態,每一 2n 位元模式指令設定為第二同位狀態,該方法包括·· 擷取一代表指令之2N位元字組;以及 當擷取之2N位元字組為奇同位時,如其所包含之上 半N位το字組為第二同位狀態,判定該2N位元字組為二 個(Ν-P)位元的指令,而切換處理器執行位元模式; 以及
當擷取之2Ν位元字組為奇同位時,如其所包含之上 半Ν位το字組為第一同位狀態,判定該2?^位元字組為一 個2(Ν-Ρ)位元的指令,而切換處理器執行於抓位元模式。 17.如申請專利範圍第16項所述之方法,其中,該 第-同位狀態為偶同位,該第二同位狀態為奇同位。 18·如申請專利範圍第16項所述之方法,其中,該ν 值為16,Ρ值為1。 22
TW092105116A 2003-03-10 2003-03-10 Processor and method using parity check to proceed command mode switch TWI230899B (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
TW092105116A TWI230899B (en) 2003-03-10 2003-03-10 Processor and method using parity check to proceed command mode switch
US10/682,957 US7149879B2 (en) 2003-03-10 2003-10-14 Processor and method of automatic instruction mode switching between n-bit and 2n-bit instructions by using parity check
DE102004001651A DE102004001651B4 (de) 2003-03-10 2004-01-12 Verfahren und Prozessor zur automatischen Befehls-Betriebsartumschaltung zwischen N-Bit und 2N-Bit Befehlen unter Verwendung einer Paritätsüberprüfung
GB0400543A GB2399432B (en) 2003-03-10 2004-01-12 Method of automatic instruction mode switching by using party bit check and processor using the same
JP2004047894A JP3688285B2 (ja) 2003-03-10 2004-02-24 パリティー検査を利用して命令モード切り換えを行なうプロセッサ及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW092105116A TWI230899B (en) 2003-03-10 2003-03-10 Processor and method using parity check to proceed command mode switch

Publications (2)

Publication Number Publication Date
TW200417917A TW200417917A (en) 2004-09-16
TWI230899B true TWI230899B (en) 2005-04-11

Family

ID=31713762

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092105116A TWI230899B (en) 2003-03-10 2003-03-10 Processor and method using parity check to proceed command mode switch

Country Status (5)

Country Link
US (1) US7149879B2 (zh)
JP (1) JP3688285B2 (zh)
DE (1) DE102004001651B4 (zh)
GB (1) GB2399432B (zh)
TW (1) TWI230899B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200910195A (en) 2007-08-20 2009-03-01 Sunplus Technology Co Ltd A device of using serial bits to determine instruction length at a multi-mode processor and the method thereof
WO2010096119A1 (en) * 2008-10-29 2010-08-26 Adapteva Incorporated Variable instruction width digital signal processor
GB2576471A (en) 2018-01-09 2020-02-26 Weston Aerospace Ltd Magnetic gas turbine sensor
US10795729B2 (en) * 2018-04-28 2020-10-06 Cambricon Technologies Corporation Limited Data accelerated processing system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511174A (en) * 1993-03-31 1996-04-23 Vlsi Technology, Inc. Method for controlling the operation of a computer implemented apparatus to selectively execute instructions of different bit lengths
GB2289354B (en) * 1994-05-03 1997-08-27 Advanced Risc Mach Ltd Multiple instruction set mapping
US6026486A (en) * 1996-05-23 2000-02-15 Matsushita Electric Industrial Co., Ltd. General purpose processor having a variable bitwidth
US5905893A (en) * 1996-06-10 1999-05-18 Lsi Logic Corporation Microprocessor adapted for executing both a non-compressed fixed length instruction set and a compressed variable length instruction set
JP3658101B2 (ja) * 1996-09-13 2005-06-08 株式会社ルネサステクノロジ データ処理装置
GB2317467B (en) * 1996-09-23 2000-11-01 Advanced Risc Mach Ltd Input operand control in data processing systems
US6189090B1 (en) * 1997-09-17 2001-02-13 Sony Corporation Digital signal processor with variable width instructions
US5881260A (en) * 1998-02-09 1999-03-09 Hewlett-Packard Company Method and apparatus for sequencing and decoding variable length instructions with an instruction boundary marker within each instruction
US6014735A (en) * 1998-03-31 2000-01-11 Intel Corporation Instruction set extension using prefixes

Also Published As

Publication number Publication date
TW200417917A (en) 2004-09-16
JP3688285B2 (ja) 2005-08-24
JP2004272897A (ja) 2004-09-30
GB0400543D0 (en) 2004-02-11
DE102004001651B4 (de) 2013-03-07
GB2399432B (en) 2006-01-11
GB2399432A (en) 2004-09-15
DE102004001651A1 (de) 2004-10-07
US7149879B2 (en) 2006-12-12
US20040181650A1 (en) 2004-09-16

Similar Documents

Publication Publication Date Title
KR101636836B1 (ko) 명령어들의 고속 실패 핸들링을 위한 장치 및 방법
KR101764187B1 (ko) 가속기들의 낮은-레이턴시 인보크를 위한 장치 및 방법
KR101581177B1 (ko) 단일 명령 다중 데이터(simd)데이터 처리기에서 확장된 어드레싱 모드들의 제공
JPS62501047A (ja) エラ−検出及び修正システム
US20060010304A1 (en) Systems for loading unaligned words and methods of operating the same
US20120089818A1 (en) Decoding instructions from multiple instructions sets
TW201506785A (zh) 用以加速壓縮及解壓縮操作之設備與方法
US20140006536A1 (en) Techniques to accelerate lossless compression
TWI230899B (en) Processor and method using parity check to proceed command mode switch
JP4334598B1 (ja) 情報処理装置およびエラー訂正方法
JP2001034471A (ja) Vliw方式プロセッサ
TWI379195B (en) Method and device for accessing memory and central processing unit using the same
JP5490711B2 (ja) テーブル内のエレメントのアドレスを決定するシステムおよび方法
JPH03233630A (ja) 情報処理装置
TWI249129B (en) Trace buffer circuit, pipelined processor, method for assigning instruction addresses of a trace buffer and associated apparatus
TWI224281B (en) A processor executing script with different length and method thereof
TWI379230B (en) Instruction mode identification apparatus and instruction mode identification method
KR20210074276A (ko) 정확한 인터럽트 그리고/또는 덮어 쓰기 기능을 갖는 벡터 명령어
JP2010140233A (ja) エミュレーションシステム及びエミュレーション方法
JP3679402B2 (ja) 条件式命令を実行するプロセッサ及びその方法
JP4479370B2 (ja) プロセッサ
TWI259978B (en) Processor using automatic command mode conversion to align word and method thereof
TWI334572B (en) Method for performing jump and translation state change at the same time
Yu Smem++: A Pipelined and Time-Multiplexed SMEN Seeding Accelerator for Genome Sequencing
JPH0271327A (ja) ソート処理装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees