TW556081B - Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection - Google Patents

Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection Download PDF

Info

Publication number
TW556081B
TW556081B TW091111712A TW91111712A TW556081B TW 556081 B TW556081 B TW 556081B TW 091111712 A TW091111712 A TW 091111712A TW 91111712 A TW91111712 A TW 91111712A TW 556081 B TW556081 B TW 556081B
Authority
TW
Taiwan
Prior art keywords
processor
data
memory space
program
memory
Prior art date
Application number
TW091111712A
Other languages
English (en)
Inventor
Michael I Catherwood
Original Assignee
Microchip Tech Inc
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 Microchip Tech Inc filed Critical Microchip Tech Inc
Application granted granted Critical
Publication of TW556081B publication Critical patent/TW556081B/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 or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • 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 or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Executing Machine-Instructions (AREA)
  • Storage Device Security (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

556081 A7 B7 五、發明説明(1 ) 發明領域 本發明與具有映對至程式記憶體空間的資料記憶體空間 和在程式記憶體空間中之資料項目的錯誤執行保護之修正 的哈佛架構處理器相關。 發明背景 處理器’包括微處理器、數位訊號處理器和微控制器, 藉由執行包含在儲存在記憶體之一或更多序列之程式指令 的軟體程式而操作。該處理器藉由從一序列之程式指令擷 取程式指令、解碼程式指令且執行其而執行軟體。除了程 式指令之外,資料也儲存在可被處理器所存取之記憶體 中。一般來說,該程式指令藉由存取在記憶體中的資料處 理資料、修改資料且儲存該修改過的資料至記憶體。 處理器之一為人所熟知的架構已知為哈佛架構。在該架 構中’資料和程式指令儲存在可被同時地存取之分開的記 憶體。因為該同時存取,對於其他架構來說該哈佛架構提 供重大之處理速度優點。包括内部記憶體之一通常之哈佛 架構處理器包括兩分開之記憶體,一於資料而一於程式指 令。為了擴充這樣之處理器的記憶體能力,必須加入在處 理器之外的記憶體。然而,因為哈佛架構處理器具有兩分 開的記憶體,為了擴充資料記憶體和程式指令記憶體兩 者,兩分開的外部記憶體必須被加入。當低成本系統被建 造時,此為重大的缺點。 對於具有提供哈佛架構之處理速度優點之架構的處理器 產生需要’但其並不需要兩分開的外部記憶體以擴充資料 -5 - 本紙張尺度適财g S家標準(CNS) A4規格(2躺297公爱) 556081
記憶體和程式指令記憶體兩者 同在申請中之美國申請專利案 處理器具有分開的程式記憶體 是提供映對程式記億體空間之 間的能力。此允許被處理之大 指令和資料存取的速度優點。 程式指令及資料兩者之外部記 。該問題之一解法係描述在 號ΧΧ/ΧΧΧ,χχχ 〇該描述之 空間和資料記憶體空間,但 至少一部分至資料記憶體空 多數程式指令獲得同時程式 其也允許使用僅使用一包括 憶體裝置,外部地擴充程式 记憶體空間和資料記憶體空間至處理器 然=,以這樣之解法產生一問題。在:一些情況之下,該 處理器可以擷取及嘗試執行已經映對至資料記憶體空間之 程式記憶體空間内的項目而其包含資料,不是一程式指 令。這樣之情況可以發生,例如,在正在執行之軟體中的 錯誤的結果。不是程式指令的資料之嘗試執行可以導致不 可預測的結果《產生一技術之需要,藉由其不是程式指令 之資料的嘗試執行可以被偵測且從其回復。 發明搞要. 本發明係為一種方法及實施該方法之一處理器,其提供 偵測及從在一處理器中不是一程式指令的資料之嘗試執^ 中回復的能力,在其中程式記憶體空間之至少一部分映對 至資料記憶體空間。此允許該處理器提供_度的優點及擴 充的優點而沒有不可預測的程式執行行為的風險。 、 根據本發明,一種操作一處理器之方法包括下列步驟: 映對程式記憶體空間之至少一部分至資料記憶體空間、儲 存一項目至映對至資料記憶體空間的程式記憶體空間、該 -6 - 本紙張尺度適用中國國家標準(CNS) Α4規格(210X 297公爱) ' ----- 五、發明説明(3 ) 項目包括資料和一保護操作碼 -項目、試圖執行該揭取的項目=;=2間擷取 景仆$兮姑4 士 捕捉孩保護挺作碼、向 I化至蔹捕捉處理器、以及執行該捕捉處理器。 在本發明之一觀點中,該捕捉 捉虛理哭二批y K 羼理奋係為一非法指令捕 捉處理咨而執行捕捉處理器之步帮包定該 保護操作碼以及執杆一斂姊浐皮^ /保作碼係為 J二 仃軟組糕序以處理該捕捉之步驟。該 程式記憶體空間可以在處理器内 逢接? ο 孩處理器可以操作地 要了掭作以儲存程式指令及資料的一外部記憶 置,該外部記憶體裝置包括程式記憶體空間。.“ f本發明之-觀點中,該捕捉處理器係為-保護捕捉處 理态。茲程式記憶體空間可以在處 α搞价、杰r 乂理咨内部。孩處理器可 以操作地連接至可操作以儲存程式指令及資料的一外部吃 憶體裝置’該外部記憶體裝置包括程 圖式簡述 本:明之上述特點及優點將參考詳細描述及 更完全地了解,其中·· 圖1描述一處理器晶片之一且紗會 八把貫施例的功能性方塊 圖’在其中本發明可以找到應用β 圖2描述用以使用在一處理器1〇〇中,例如顯示在^ 料匯流排方法之功能性方塊圖。 、圖3描述-資料空間記憶體之例示的記憶體映對,其可 以在顯示在圖2之處理器中實施。 圖4描述根據本發明之程式記憶體空間至資料記憶體办 間映對之例示方塊圖,其可以實施在顯示在圖2之處理^ 本纸張尺度適用巾@ S家標準(CNS) Α4規格(210X297公爱) 556081 A7
中 圖5描述根據本發明之一杳扭批v , 每、^ n ^貝枓執行保護方法之方塊圖, 其可以實犯在顯示在圖2之處理器中。 圖6描述根據本發明之用於_資料項目之錯誤執 測及處理之万法的處理隸圖,其可實施在顯 處 理器中。 略 詳細描述: 處理器元件之概勸 圖1描述-處理器晶片之一具體實施例的功能性方塊 圖,、在其中本發明可以找到應用。參考^,一處理器議 連接至外部裝置/系統140。該處理器i⑼可以是任何型式的 處理器,包括,例如,數位訊號處理器(Dsp)、一微處理器、 一微控制器或其之結合。外部裝置14〇可以是任何型式的系 、”光或裝置#包括輸入/輸出裝置,例如鍵盤、顯示器、揚 聲器、麥克風、記憶體或可以或沒有包括處理器之其他系 統。並且,該處理器100和外部裝置14〇可以一起包含一獨 立系統。 該處理器100包括程式記憶體105、指令擷取/解碼單元 110、“令執行單元115、資料記憶體及暫存器120、週邊 125、資料I/O 13〇以及程式計數器和迴圈控制單元135。該 匯流排150,其可以包括一或更多共同匯流排,在如顯示之 單元之間傳輸資料。 孩程式記憶體105儲存包含在程式指令之軟體用以被處 理器100執行。該程式記憶體1〇5可以包括任何型式的非揮 -8 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 556081 A7 B7 五、發明説明(5 ) 發性記憶體,例如唯讀記憶體(ROM)、可程式化唯讀記憶 體(PROM)、電氣可程式化或電氣可程式化及可拭去唯讀記 憶體(EPROM或EEPROM)或快閃記憶體。此外,該程式記憶 體105可以如顯示之外部非揮發性記憶體145所補充以增加 可得於處理器100之軟體之複雜度。或者,該程式記憶體可 以是從例如外部非揮發性記憶體145接收程式指令之揮發 性記憶體。當該程式記憶體105係為非揮發性記憶體時,該 程式記憶體可以在製造處理器100的時候或是在系統内處 理器100實施之期間被程式化。在後者的情況下,處理器100 可經由稱為同軸序列程式化之方法而被程式化。 指令擷取/解碼單元110連接至程式記憶體105、指令執行 單元115和資料記憶體120。連接至程式記憶體105和匯流排 150係為程式計數器和迴圈控制單元135。該指令擷取/解碼 單元110從由包含在程式計數器135内之位址值所指定之程 式記憶體105擷取指令。該指令擷取/解碼單元11〇之後解碼 該被擷取的指令且傳送該被解碼指令至適當執行單元 115。該指令擷取/解碼單元110也可以傳送包括資料之位址 的運算元資訊至資料記憶體120和至存取暫存器之功能性 元件。 該程式計數器和迴圈控制單元135包括程式計數器暫存 V - 器(未顯示),其儲存將被擷取之下一指令之位址。在正常 指令處理期間,該程式計數器暫存器可被增加以讓循序指 令被擷取。或者,該程式計數器值可經由匯流排150載入新 的值至其而改變。新的值可以根據解碼或執行流程控制指 -9 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) ,^—1 ,^—1556081 A7 B7 五、發明説明(6 ) 令,例如,舉例,一分支指令而得出。此外,程式計數器 和迴圈控制單元135之迴圈控制部分可被使用以提供如進 一步在下描述之重複指令處理及重複迴圈控制。 指令執行單元115從指令擷取/解碼單元u〇接收被解碼 的指令且之後執行該被解碼之指令。如同本方法之一部 分,該執行單元可以經由匯流排150取得一或二個運算元且 儲存該結果至暫存器或是在資料記憶體12〇内之記憶體位 置。該執行單元可以包括如這些通常在微處理器發現之算 術邏輯單元(ALU)。該執行單元也可包括數位訊號處理引 擎、浮點處理器、整數處理器或任何其他方便的執行單元。 該執行單元和其與匯流排150之互動之較佳具體實施例,其 可以包括一或更多匯流排,在下參考圖2而更詳細地呈現。 資料記憶體和暫存器120係為揮發性記憶體且可用於儲 存被執行單元使用和產生之資料。該資料記憶體12〇和程式 記憶體105較佳為分開記憶體於分別地儲存資料和程式指 令。該格式係一般已知為哈佛架構。然而要注意根據本發 明’該架構可以是馮諾曼(V〇n-Neuman)架構或是修正的哈 佛架構,其允許使用一些程式空間於資料空間。虛線顯示 例如連接該程式記憶體105至匯流排150。該路徑可包括用 以對齊從程式空間之資料讀取,例如,在從程式空間之表 格讀取至資料記憶體120期間。 再次參考圖1,在處理器上之複數個週邊125可被連接至 匯流排125。該週邊可以包括,例如,類比至數位轉換器、 計時器、匯流排介面以及協定如,舉例來說,控制器區域 -10- 556081 A7 B7 五、發明説明(7 ) 網路(CAN)協定或通用序列匯流排(USB)協定及其他週邊。 該週邊與其他單元經由匯流排150交換資料。 資料I/O單元130可以包括收發器及其他邏輯用以與外部 裝置/系統140連接。該資料I/O單元130可以進一步包括功能 以允許經由資料I/O單元130之程式記憶體之電路中序列程 式化。 圖2描述資料匯流排方法用以使用在處理器1〇〇之功能性 方塊圖,例如顯示在圖1,其具有一整合微控制器算術邏輯 單元(ALU) 270和數位訊號處理(DSP)引擎230。該配置也可 使用以整合DSP功能至既存的微控制器核心。參考圖2,圖 1之資料記憶體120實施如兩分開的記憶體:X-記憶體210 以及Y記憶體220,每個由X位址產生器250和Y-位址產生器 260分別地可定址。該X-位址產生器也可允許定址Y-記憶體 空間,因此當從X位址產生器所定址時,使得該資料空間 呈現如單一連續記憶體空間。該匯流排150可被實施如兩匯 流排,一於每個X及Y記憶體,以允許從X和Y記憶體之資 料的同時擷取。 W暫存器240係為通用位址和/或資料暫存器。該DSP引擎 230連接至X和Y記憶體匯流排兩者且至W暫存器240。該 DSP引擎230可以同時從每個X和Y記憶體擷取資料,執行操 V - 作在同時地被擷取的資料上之指令並且寫結果至累加器 (未顯示)且寫一先前結果至X或Y記憶體或到W暫存器240 在一個單一處理器週期内。 在一具體實施例中,ALU 270可以僅連接至X記憶體匯流 -11 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 556081 A7 B7 五、發明説明(8 ) 排且可以僅從X匯流排擷取資料。然而,X和Y記憶體210 和220可以被X位址產生器定址為單一記憶體空間以使得 資料記憶體分離對於ALU 270是透明的。在X和Y記憶體内 之記憶體位置可被儲存在W暫存器240之值而定址。 任何處理器時脈方法可以實施於擷取和執行指令。然 而,接下來之特定範例說明本發明之具體實施例。每個指 令週期由4Q時脈週期Ql - Q4所組成。該4相位Q週期提供時 序訊號以協調每、個指令週期之解碼、讀取、處理資料和寫 資料部分。 根據處理器100之一具體實施例,該處理器100現在執行 兩操作-其擷取下個指令且執行現在的指令。因此,該兩處 理同時發生。下列順序之事件可以包括,例如,擷取指令 週期: Q1 : 擷取指令 Q2 : 擷取指令 Q3 : 擷取指令 Q4 : 鎖住指令至預先擷取暫存器,增加PC 下列序列之事件可以包括,例如,執行指令週期於單一 運算元指令: Q1 : 鎖住指令至IR,解碼及決定運算元資料之位址
V Q2: 擷取運算元 Q3 : 執行由指令所指定之功能且計算.資料之目的位址 Q4 : 寫入結果至目的地 下列序列之事件可以包括,例如,使用資料預先擴取方 -12 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
裝 訂
k 556081 A7 B7
五、發明説明(9 ) 法執行雙運算元指令之指令週期。這些指令從X#Y貝料口己 憶體同時預先擷取雙運算元且儲存其至指令扣疋又暫, 器。其同時地允許指令執行在先前週期期間被擷取之運算 元。 、 Q1 ··鎖住指令至IR,解碼及決定運算元資料之位址 Q2 :預先擷取運算元至指定之暫存器、執行在指令中 之操作 、 Q3 :執行在指令中之操作、計算資料之目的位 Q4 :完成執行,寫結果至目的地 次 資料空間記憶體300之一例示記憶體映對顯^在圖 負 料空間記憶體300包括記憶體之複數個區塊’其刀成位址 記憶體空間和γ位址記憶體。通常,資料空間$憶把300實 施為隨機讀取-寫入記憶體(RAM),以允許資料> 需要的讀 取和寫入。然而,唯讀記憶體(ROM)也可較佳地使用於資 料空間記憶體300之至少一部分。例如,常數資料值、查詢 表等等可以有用地儲存在ROM中。在圖3所顯示的範例 中,X位址記憶體包括記憶體區塊302、304、306及308而Y 位址記憶體包括記憶體區塊310。資料空間記憶體300分成 兩區塊,X位址記憶體和Y位址記憶體。該架構之主元件係 為Y位址記憶體空間係為X位址記憶體空間之一子集且完 V . 全地包含在X位址記憶體空間内。為了提供明顯的線性位 址空間,該X及Y位址記憶體空間通常具有連續位址,雖然 此並不是架構必須。 在顯示在圖3之範例中,記憶體區塊302包括連續記憶體 -13 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 556〇81
A7 B7
發明説明(1〇 ) 之一區塊,其在資料記憶體位置0x0000開始。記憶體區塊 302係保留在X位址記憶體空間中且使用記憶體直接指令 而直接地可定址的。剩餘的X位址記憶體和y位址兄憶體空 間係使用其他指令而間接地可定址。在顯示在圖3的範例 中,γ位址記憶體空間31 〇係位在X位址記憶體空間之兩區 媿,區塊304和306之間。然而此僅為一範例,就如Y位址記 憶體空間310可以為在#保留之X位址記憶體空間内的任 何地方。在X和Υ位址空間之間的分割係為任意的而由顯示 在圖2之記憶體解碼所決定^ X和γ位址產生器兩者可以產 生任何有效位址(ΕΑ)在資料記憶體空間3〇〇之範圍内。然 而,存取至在其他位址空間之記憶體位址或是至其他未以 物理記憶體實施之記憶體位址將產生0χ0000(都是0)之資 料。 記憶體區塊308顯示在圖3如一 X位址記憶體區塊。記憶 體區塊308,其包括資料記憶體空間300之至少一部分,可 以使用為X位址記憶體、Υ位址記憶體或是X位址記憶體和 Υ位址記憶體之混合。當使用為X位址記憶體時,記憶體區 塊308可被映對至程式記憶體空間。此提供從X位址資料記 憶體空間之透明存取至常數資料,例如,儲存的常數、查 詢表等等,而不須使用特殊指令。該特點允許資料記憶體 \ 空間之一部分映對至程式記憶體之未使用區域且因為所有 未使用的内部位址外部地映對至外部記憶體匯流排。此顯 示在圖4,其係為程式記憶體空間至資料記憶體空間映對之 例示方塊圖。資料記憶體空間區塊308,其為資料記憶體空 -14 - 本紙張尺度適用中國國家榡準(CNS) A4規格(210 X 297公釐)
裝 訂
556081 A7 B7 五、發明説明(11 ) 間300之一部分,映對至在内部程式記憶體空間4〇4之資料 口己隐m空間頁402。在内部程式記憶體空間4〇4之資料記憶 體空間頁4G2之位置由頁暫存器侧指定。内部程式記憶體 空間404仍使用於程式指令存取,如由程式計數器(pc)4〇8 所指定。 外部記憶體裝置41G連接至處理器之外部記憶體匯流排 412。外部記憶體裝置410包括外部程式/資料記憶體空間 414»因為所有未使用的内部位址外部地映對至外部記憶體 匯流排,資料記憶體空間映對頁402也映對至外部資料記^ 體空間映對頁416,其位在外部程式/資料記憶體空間4⑴ 假如外部記憶體裝置4Π)係為—RAM,之後該資料可從外部 資料記憶體空間映對頁416讀取及寫人。外部程式/資料六 間4U也可包括外部程式記憶體空間418,其可從外部資= 記憶體空間映對頁416分開,或其可以與外部 間映對頁416重疊。 把二 、因為該程式記憶體空間可以包括當該程式記憶體空間 足一邵分映對至資料記憶體空間時使用之資料,對於詨 理器將錯誤地掏取而試圖執行該資料有一 ;备 登卮險。此將於 生,例如,有-錯誤在當在處理器上執行之軟體問題,: 设定程式計數器(PC)至在剛好儲存資料之程式心門 中的記憶體位置。該問題可以發生當資科儲存在二 ::體空間且甚至更可能發生在資料儲存在外部記;= 置中。本發明包括偵測這樣錯誤存取之 心缸裝 樣錯誤的能力。 ' 供處理這 -15 -
556081
本發明之:貝料執行保護方法之方塊圖顯示在圖 Θ啼小你圃:)〇 貧半 記憶體5^ 502,其包括複數個資料項目5〇4,從程式記價 體空間5G8之資料記憶體區塊部分挪映對。程式記憶體金 間508也包括-或更多區塊的程式指令,例如程式指令區二 510和512。如同所顯示,每個資料項目例如資料項目川 在資料記憶體空間502中包括16位元的資料。每個程式指令 員目%如程式指令項目516,在程式記憶體空間⑽中包 括24位το的心式指令。在程式記憶體空間观之 區塊中的項目,例如項目518係同樣的24位元 ^ 料項目僅須麻元,例如項目518之資料部分52〇,在^ 疋憶體區塊506的每個項目的8位元並不被資料使用而可用 =其他功能。在本發明卜此其他部分使用以包含 操作碼522’其允許資料項目之錯誤執行被偵測。 叹 用以資料:目之錯誤執行之偵測及處理的方法6〇〇顯示 =二万 =2開始’在其中資料被儲存至從程 :I:扯工、、1《資料記憶體空間。該資科儲存至使用 :項目之較低16位元。除了儲存之資料之 作碼儲存至❹之每個資料項目之較上8位元(位 =當資料項目被儲存時,該保護操作碼、例 因為程式記憶體通常使用非揮發性記憶體所實施,在生產 記憶體。該保護操作碼可藉=至程式 發性外部記憶體都是真的。内#式⑽體和非揮
裝 訂
-16 -
556081 A7 B7 五、發明説明(13 ) 裝 訂 理錯誤 完成在 理器中 之結果 在步驟604中’程式記憶體空間藉由適當程式指令之發生 而映對至資料記憶體空間。在步雜6中,該處㈣錯誤地 擷取且試圖執行儲存在從程式記憶體空間映對之資料記憶 體2間之項目中的資料。因為該處理器正在揭取一程式指 令,該處理器將該項目視為—程式指令項目且掏取該項目 之整個24位元。該項目之較高8位元係為保護操作碼,而較 低的16位元係為在該項目之資料。該處理器試圖執行該被 揭取的項目,且特職試_碼㈣制作碼。在步驟_ 中,該保護操作碼之試圖解碼導致一處理器捕捉發生。一 她可被視為不可遮罩、可套叠的中斷。其提供一種方法, 藉由其錯A操作可以在軟體錯誤及在軟體操作期間被修 ,。在步驟6H)中’在-捕捉發生時,處理器之執行流程向 =化至捕捉處理器。即是,該處理器之程式計數器以指向 捕捉處理器之值載入。該捕捉處理器係為軟體程序,其在 被捕捉的情況發生時’採取適當的修正行動。該值儲存在 例外表中’其包括許多例外情況之向量,例如重設、堆叠 溫出、位址錯誤、非法指令捕捉、算術錯誤等等。在例外 :量表中之每個項目指向一例外處理器,其當對應之例外 發生時,採:適當的行動。在步驟612中,該捕捉處理器處 通常,該捕捉處理器僅強制處理器之重設。此會 例如’在實施中’在其中獨立的應用執行在該處 因為試圖執行一資料項目很可能為嚴重程式錯誤 &行處理器之重設通常為從這樣之錯誤回復的最 万法。在-實施中,在其中有一作業系統控制該處理器, -17 - 556081 A7 B7 14 ) 五、發明説明( 其可能僅終結導致該錯誤之應用程式而允許作業系統從該 錯誤中回復。 在一較佳的具體實施例中,使用該非法指令捕捉向量以 向量化該處理器至處理保護操作碼之試圖執行的程序。該 保護操作碼必須是不被處理器之任何指令使用的可能8位 元操作碼之一·》該操作碼之試圖執行將導致一非法指令捕 捉i該非法指令捕捉處理器之後檢查導致該非法指令捕捉 <操作碼,決定該操作碼是保護操作碼且執行適當軟體程 序以處理該捕捉,其通常包括從錯誤情況中回復。戈者, 可有與非法指令捕捉分開之—定義的保護捕捉1護操作 碼尤試圖執行將導致一保護捕捉發生,而不是一般的非法 指令捕捉。因為該處理器已經決定試圖執行的操作碼係為 保護操作碼,該保護捕捉之後僅需要執行適當的軟體程式 以處理該錯誤情況。 在上述的具體實施例中,内部程式記憶體被組織為複」 個24位疋的項目,其中的每個可以包含一 16位元資料項 和—8位TL保5蔓操作碼。本發明也考慮許多額外和另外的 也實施例。例如’可使用_外部記憶體,在其中儲存冰 疋的項目。在該具體實施例中,_24位元項目可以包含 16位TL的資料項目和一 8位元保護操作碼。假如外部記憶; 係為非揮發性㈣H在生產㈣期間,該等資料. 2㈣操作碼’―起和任何程式指令可以儲存在外部 H㈣外部記憶體係為揮發性記憶體,之後資料 目和保護操作必須由處理器儲存至外部記憶體。 556081 五、發明説明(15 或者,資料項日# 目,而沒有保護操作:儲存在外部記憶體如16位元資料項 可以使用了解該資科^ 具體實施例中,外部記憶體 而連接至處理器。例如二為16位元的記憶體匯流排配置 排可以㈣元寬二=外部記憶體之記憶體匯流 s 伙 而不疋程式指令需要之24位元寬。如 另一範例,映對至資料4 p # ^ ^ ^ ^ 貪科记憶姐《外邵記憶體之位址範圍可 器使用以識別儲存資料項目而不是程式項目之外部 .:’^的一邵分。不論在哪個範例之中,該處理器可以偵 測外邵⑽體或是儲存資料項目之外部記憶 圖程式指令存取。在這樣之試圖存取之㈣上,該處理器 可以直接地執行一保護捕捉。或者’該處理器可以僅強制 -保護操作碼至程式指令匯流排之上面8位元 一保護捕捉執行。 子 雖然本發明之特定具體實施例已經說明且描述,其將被 普通熟悉此技藝的人士所了解可以不須背離本發明之精 和範圍而對這些具體實施例產生改變。例如,本發明已經 以16位元資料項目、24位元程式指令項目和8位元操作碼= 描述。然而,熟悉此技藝的人士將承認這樣之特定值僅為 範例’而其他安排和位元的數目可以不須背離本發明之精 神和範圍而使用。本發明審視任何及所有這樣另^卜選擇的 安排和位元的數目。 ' ^ -19 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)

Claims (1)

  1. 556081
    ι· 一種操作—處理器的方 Α必丨 夬包括下列步驟· 映對一程式記憶體空間之至、—· ' · 空間; 邵分至一資料記憶體 儲存-項目(論y)至映對至資料記憶啤 憶體空間’該項目包括資料和—保:二工: < 程式記 從該程式記憶體空間擷取一項目;果碼, 試圖執行該擷取的項目; 捕捉該保護操作碼; 向量化至一捕捉處理器;以及 執行譎捕捉處理器。 2·如申請專利範圍第1項之方法, 非土把人 具中涊捕捉處理器係為一 非法和令捕捉處理器,且執行哕妯 丁邊捕捉處理為的步驟包括 下列步驟: 決定該操作碼係為保護操作碼;以及 執行一軟體程序以處理該捕捉。 3·如申請專利範圍第2項之方法,其中該程式記憶體空間係 在處理器内部。 4·如申叫專利範圍第3項之方法,其中該處理器操作地連接 至可操作以儲存程式指令和資料之外部記憶體裝置,該 外部記憶體裝置包括程式記憶體空間。 5·如申請專利範圍第1項之方法,其中該捕捉處理器係為一 保護捕捉處理器。 6·如申請專利範圍第5項之方法,其中該程式記憶體空間係 在處理器的内部。 -20 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 556081 圍 、申請專利範 7·如申請專利範圍第6項之方法,其巾該處 接至一可操作以儲存程式指令和資料之外操作地f 置,該外部記憶體裝置包括程式記憶體空間己憶體 8· 一種處理器,其包括電路,可操作以: 空間|心式d憶體空間之至少一部分至一資料記憶體 :存-項目(entry)至映對至資料記憶 憶體空間,該項目句括资拉‘ y 间足私式z n 、 茨貝曰包括貪科和一保護操作碼; 從該程式記憶體空間擷取一項目; 試圖執行該擷取的項目; 捕捉該保護操作碼; 向量化至一捕捉處理器;以及 執行該捕捉處理器。 9.如申請專利範圍第8項之處理器’其中該捕捉處理器係為 一非法指令捕捉處理器而該捕捉處理器之執行包括: 決定該操作碼係為保護操作碼;以及 執行一款體程序以處理該捕捉; 10·如申請專利範圍第9項之處理器,其中該處理器記憶體空 間係在處理器的内部。 〜K二 11.如申請專利範圍第1G項之處理器’纟中該處理器操作地 連接至可操作以儲存程式指令和資料之外部記憶體裝 置’該外部兄憶體裝置包括程式記憶體空間。 12·如申請專利範圍第8項之處理器,其中該捕捉處理器係為 一保護捕捉處理器。 A B c D 556081 六、申請專利範圍 13. 如申請專利範圍第12項之處理器,該處理器記憶體空間 係在處理器的内部。 14. 如申請專利範圍第13項之處理器,其中該處理器可操作 地連接至一可操作以儲存程式指令和資料之外部記憶體 裝置,該外部記憶體裝置包括程式記憶體空間。 -22 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
TW091111712A 2001-06-01 2002-05-31 Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection TW556081B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/870,460 US7007172B2 (en) 2001-06-01 2001-06-01 Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection

Publications (1)

Publication Number Publication Date
TW556081B true TW556081B (en) 2003-10-01

Family

ID=25355423

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091111712A TW556081B (en) 2001-06-01 2002-05-31 Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection

Country Status (6)

Country Link
US (2) US7007172B2 (zh)
EP (1) EP1393183B1 (zh)
AT (1) ATE373267T1 (zh)
DE (1) DE60222406T2 (zh)
TW (1) TW556081B (zh)
WO (1) WO2002099647A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480828B2 (en) 2004-06-10 2009-01-20 International Business Machines Corporation Method, apparatus and program storage device for extending dispersion frame technique behavior using dynamic rule sets
TWI475377B (zh) * 2012-03-27 2015-03-01 Fujitsu Ltd 資料處理裝置及資料處理方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981079B2 (en) * 2002-03-21 2005-12-27 International Business Machines Corporation Critical datapath error handling in a multiprocessor architecture
GB2409543B (en) * 2003-12-23 2006-11-01 Advanced Risc Mach Ltd Interrupt masking control
US20060136679A1 (en) * 2004-12-21 2006-06-22 O'connor Dennis M Protected processing apparatus, systems, and methods
FR2898704B1 (fr) * 2006-03-14 2008-06-06 Proton World Internatinal Nv Protection d'un programme contre un deroutement
US7925923B1 (en) 2008-01-31 2011-04-12 Hewlett-Packard Development Company, L.P. Migrating a virtual machine in response to failure of an instruction to execute
CH699208B1 (fr) * 2008-07-25 2019-03-29 Em Microelectronic Marin Sa Circuit processeur à mémoire partagée et système tampon.
FR2974920B1 (fr) * 2011-05-04 2013-11-29 St Microelectronics Rousset Protection d'une memoire volatile contre des virus par modification du contenu d'une instruction
FR2974919B1 (fr) 2011-05-04 2013-12-13 St Microelectronics Rousset Protection d'une memoire volatile contre des virus par changement d'instructions
EP3289442B1 (en) 2015-04-30 2023-04-19 Microchip Technology Incorporated Central processing unit with enhanced instruction set

Family Cites Families (158)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US474279A (en) * 1892-05-03 arnold
GB1410631A (en) 1972-01-26 1975-10-22 Plessey Co Ltd Data processing system interrupt arrangements
US3781810A (en) 1972-04-26 1973-12-25 Bell Telephone Labor Inc Scheme for saving and restoring register contents in a data processor
JPS5241098B2 (zh) 1973-02-01 1977-10-17
US3886524A (en) * 1973-10-18 1975-05-27 Texas Instruments Inc Asynchronous communication bus
US4025771A (en) * 1974-03-25 1977-05-24 Hughes Aircraft Company Pipe line high speed signal processor
US4074353A (en) * 1976-05-24 1978-02-14 Honeywell Information Systems Inc. Trap mechanism for a data processing system
US4090250A (en) * 1976-09-30 1978-05-16 Raytheon Company Digital signal processor
JPS5833572B2 (ja) * 1977-10-21 1983-07-20 株式会社東芝 情報処理方式
GB2059652B (en) 1979-09-29 1983-08-24 Plessey Co Ltd Memory protection system using capability registers
JPS5674774A (en) * 1979-11-22 1981-06-20 Nec Corp Arithmetic circuit with overflow detector
US4398244A (en) 1980-05-07 1983-08-09 Fairchild Camera & Instrument Corporation Interruptible microprogram sequencing unit and microprogrammed apparatus utilizing same
JPS5750049A (en) 1980-09-09 1982-03-24 Toshiba Corp Shifting circuit
JPS5775335A (en) 1980-10-27 1982-05-11 Hitachi Ltd Data processor
JPS5776634A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Digital signal processor
GB2095441A (en) 1981-03-25 1982-09-29 Philips Electronic Associated A method of storing data and a store therefor
US4488252A (en) 1982-02-22 1984-12-11 Raytheon Company Floating point addition architecture
US4556938A (en) 1982-02-22 1985-12-03 International Business Machines Corp. Microcode control mechanism utilizing programmable microcode repeat counter
US4451885A (en) * 1982-03-01 1984-05-29 Mostek Corporation Bit operation method and circuit for microcomputer
DE3300699C2 (de) * 1983-01-11 1985-12-19 Nixdorf Computer Ag, 4790 Paderborn Schaltungsanordnung zum Adressieren der jeweils ein Adreßvolumen aufweisenden Speicher mehrerer datenverarbeitender Einrichtungen in einem Mehrprozessorsystem mit Systembus
US4626988A (en) 1983-03-07 1986-12-02 International Business Machines Corporation Instruction fetch look-aside buffer with loop mode control
JPS6054049A (ja) * 1983-09-02 1985-03-28 Hitachi Ltd デ−タ処理装置におけるサブル−チンリンク制御方式
US4943940A (en) 1984-09-27 1990-07-24 Advanced Micro Devices, Inc. Floating point add/subtract and multiplying assemblies sharing common normalization, rounding and exponential apparatus
JPS61213927A (ja) * 1985-03-18 1986-09-22 Hitachi Ltd 浮動小数点演算処理装置
US4742479A (en) 1985-03-25 1988-05-03 Motorola, Inc. Modulo arithmetic unit having arbitrary offset and modulo values
US4779191A (en) 1985-04-12 1988-10-18 Gigamos Systems, Inc. Method and apparatus for expanding the address space of computers
JPS6341932A (ja) 1985-08-22 1988-02-23 Nec Corp 分岐命令処理装置
US4768149A (en) 1985-08-29 1988-08-30 International Business Machines Corporation System for managing a plurality of shared interrupt handlers in a linked-list data structure
US4709324A (en) 1985-11-27 1987-11-24 Motorola, Inc. Data processor control unit having an interrupt service using instruction prefetch redirection
US4800524A (en) * 1985-12-20 1989-01-24 Analog Devices, Inc. Modulo address generator
JPS62180427A (ja) 1986-02-03 1987-08-07 Nec Corp プログラム制御回路
JPH0650462B2 (ja) * 1986-02-18 1994-06-29 日本電気株式会社 シフト数制御回路
US4782457A (en) 1986-08-18 1988-11-01 Texas Instruments Incorporated Barrel shifter using bit reversers and having automatic normalization
JPS6398729A (ja) * 1986-10-15 1988-04-30 Fujitsu Ltd バレルシフタ
US5012441A (en) * 1986-11-24 1991-04-30 Zoran Corporation Apparatus for addressing memory with data word and data block reversal capability
US5007020A (en) * 1987-03-18 1991-04-09 Hayes Microcomputer Products, Inc. Method for memory addressing and control with reversal of higher and lower address
US4841468A (en) * 1987-03-20 1989-06-20 Bipolar Integrated Technology, Inc. High-speed digital multiplier architecture
DE3709836C1 (de) * 1987-03-25 1988-09-29 Eastman Christensen Co Gleitlager fuer Tiefbohrwerkzeuge
US5206940A (en) * 1987-06-05 1993-04-27 Mitsubishi Denki Kabushiki Kaisha Address control and generating system for digital signal-processor
CA1309665C (en) 1987-06-27 1992-11-03 Kenzo Akagiri Amplitude compressing/expanding circuit
JPS648438A (en) 1987-06-30 1989-01-12 Mitsubishi Electric Corp Data processor
JPS6414648A (en) 1987-07-08 1989-01-18 Mitsubishi Electric Corp Arithmetic processor
US5032986A (en) 1987-07-28 1991-07-16 Texas Instruments Incorporated Data processing device with parallel circular addressing hardware
JP2613223B2 (ja) 1987-09-10 1997-05-21 株式会社日立製作所 演算装置
US4959776A (en) 1987-12-21 1990-09-25 Raytheon Company Method and apparatus for addressing a memory by array transformations
JPH01226066A (ja) * 1988-03-04 1989-09-08 Hitachi Ltd ディジタル信号処理プロセッサ
JPH0776911B2 (ja) * 1988-03-23 1995-08-16 松下電器産業株式会社 浮動小数点演算装置
JPH01265347A (ja) 1988-04-18 1989-10-23 Matsushita Electric Ind Co Ltd アドレス生成装置
JP2600293B2 (ja) 1988-06-10 1997-04-16 日本電気株式会社 オーバーフロー補正回路
US5117498A (en) * 1988-08-19 1992-05-26 Motorola, Inc. Processer with flexible return from subroutine
JPH0795320B2 (ja) 1988-10-11 1995-10-11 日本電子株式会社 大容量高速フーリエ変換装置
CA1311063C (en) * 1988-12-16 1992-12-01 Tokumichi Murakami Digital signal processor
US4926371A (en) * 1988-12-28 1990-05-15 International Business Machines Corporation Two's complement multiplication with a sign magnitude multiplier
US5212662A (en) * 1989-01-13 1993-05-18 International Business Machines Corporation Floating point arithmetic two cycle data flow
US5101484A (en) * 1989-02-14 1992-03-31 Intel Corporation Method and apparatus for implementing an iterative program loop by comparing the loop decrement with the loop value
US4984213A (en) * 1989-02-21 1991-01-08 Compaq Computer Corporation Memory block address determination circuit
US4941120A (en) 1989-04-17 1990-07-10 International Business Machines Corporation Floating point normalization and rounding prediction circuit
US5040178A (en) 1989-05-12 1991-08-13 Chrysler Corporation Method of fault protection for a microcomputer system
JPH03100827A (ja) * 1989-09-14 1991-04-25 Mitsubishi Electric Corp オーバフロー検出回路
US5239654A (en) 1989-11-17 1993-08-24 Texas Instruments Incorporated Dual mode SIMD/MIMD processor providing reuse of MIMD instruction memories as data memories when operating in SIMD mode
US5197140A (en) * 1989-11-17 1993-03-23 Texas Instruments Incorporated Sliced addressing multi-processor and method of operation
US5099445A (en) * 1989-12-26 1992-03-24 Motorola, Inc. Variable length shifter for performing multiple shift and select functions
IT1247640B (it) 1990-04-26 1994-12-28 St Microelectronics Srl Operazioni booleane tra due qualsiasi bit di due qualsiasi registri
JPH0437927A (ja) * 1990-06-01 1992-02-07 Sony Corp プロセッサの処理方法
US5121431A (en) * 1990-07-02 1992-06-09 Northern Telecom Limited Processor method of multiplying large numbers
FR2664917B1 (fr) * 1990-07-23 1996-07-12 Vaneecke Solaronics Systeme de prevention d'incendie pour batterie de bruleurs radiants
DE69133072T2 (de) * 1990-08-24 2003-03-20 Matsushita Electric Ind Co Ltd Verfahren und Gerät zur Berechnung von Gleitkommadaten
JP3028841B2 (ja) * 1990-09-28 2000-04-04 株式会社東芝 Pwm発生回路
JP2508912B2 (ja) * 1990-10-31 1996-06-19 日本電気株式会社 浮動小数点加算装置
JP2507833B2 (ja) * 1990-12-25 1996-06-19 三菱電機株式会社 マイクロコンピュ−タ
JP2692384B2 (ja) 1990-12-29 1997-12-17 日本電気株式会社 アドレス生成回路
US5706460A (en) * 1991-03-19 1998-01-06 The United States Of America As Represented By The Secretary Of The Navy Variable architecture computer with vector parallel processor and using instructions with variable length fields
US5327566A (en) 1991-07-12 1994-07-05 Hewlett Packard Company Stage saving and restoring hardware mechanism
DE4127579A1 (de) * 1991-08-21 1993-02-25 Standard Elektrik Lorenz Ag Speichereinheit mit einem adressgenerator
US5218239A (en) * 1991-10-03 1993-06-08 National Semiconductor Corporation Selectable edge rate cmos output buffer circuit
DE69229324T2 (de) * 1991-10-29 2000-02-24 Advanced Micro Devices Inc Arithmetik-Logik-Einheit
JP2943464B2 (ja) * 1991-12-09 1999-08-30 松下電器産業株式会社 プログラム制御方法及びプログラム制御装置
JPH05284362A (ja) * 1992-04-03 1993-10-29 Mitsubishi Electric Corp ジグザグアドレスの発生方法及びその発生回路
JP3171925B2 (ja) 1992-04-30 2001-06-04 株式会社日立製作所 データ処理装置
US5448706A (en) 1992-05-13 1995-09-05 Sharp Microelectronics Technology, Inc. Address generator for multi-channel circular-buffer style processing
US5469377A (en) 1992-08-18 1995-11-21 Nec Corporation Floating point computing device for simplifying procedures accompanying addition or subtraction by detecting whether all of the bits of the digits of the mantissa are 0 or 1
AU652896B2 (en) * 1992-09-29 1994-09-08 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus
US5386563A (en) * 1992-10-13 1995-01-31 Advanced Risc Machines Limited Register substitution during exception processing
US5422805A (en) * 1992-10-21 1995-06-06 Motorola, Inc. Method and apparatus for multiplying two numbers using signed arithmetic
US5375080A (en) 1992-12-18 1994-12-20 Xerox Corporation Performing arithmetic on composite operands to obtain a binary outcome for each multi-bit component
US5651121A (en) 1992-12-18 1997-07-22 Xerox Corporation Using mask operand obtained from composite operand to perform logic operation in parallel with composite operand
US5463749A (en) 1993-01-13 1995-10-31 Dsp Semiconductors Ltd Simplified cyclical buffer
US5379240A (en) * 1993-03-08 1995-01-03 Cyrix Corporation Shifter/rotator with preconditioned data
JPH06332792A (ja) * 1993-05-21 1994-12-02 Mitsubishi Electric Corp データ処理装置及びそのデータ読み出し制御回路,データ書き込み制御回路
US5448703A (en) 1993-05-28 1995-09-05 International Business Machines Corporation Method and apparatus for providing back-to-back data transfers in an information handling system having a multiplexed bus
US5568380A (en) 1993-08-30 1996-10-22 International Business Machines Corporation Shadow register file for instruction rollback
JP3532975B2 (ja) * 1993-09-27 2004-05-31 株式会社ルネサステクノロジ マイクロコンピュータおよびそれを用いて命令を実行する方法
JPH07191831A (ja) 1993-12-27 1995-07-28 Fujitsu Ltd 演算装置
US5564028A (en) 1994-01-11 1996-10-08 Texas Instruments Incorporated Pipelined data processing including instruction trace
JP3325697B2 (ja) * 1994-01-20 2002-09-17 三菱電機株式会社 パワーデバイスの制御装置およびモータの駆動制御装置
JP2932963B2 (ja) * 1994-01-21 1999-08-09 モトローラ・インコーポレイテッド 効率的なビット移動能力を有するデータ・プロセッサとその方法
JPH07253922A (ja) * 1994-03-14 1995-10-03 Texas Instr Japan Ltd アドレス生成回路
FR2718262B1 (fr) 1994-03-31 1996-05-24 Sgs Thomson Microelectronics Mémoire tampon à adressage modulo.
US5450027A (en) 1994-04-08 1995-09-12 At&T Corp. Low-power-dissipation CMOS circuits
JP3208990B2 (ja) * 1994-04-27 2001-09-17 ヤマハ株式会社 信号処理装置
KR0139733B1 (ko) 1994-04-29 1998-07-01 구자홍 부동 소수점 덧셈/뺄셈 연산기의 반올림 방법 및 장치
US5517436A (en) * 1994-06-07 1996-05-14 Andreas; David C. Digital signal processor for audio applications
US5506484A (en) * 1994-06-10 1996-04-09 Westinghouse Electric Corp. Digital pulse width modulator with integrated test and control
US5619711A (en) * 1994-06-29 1997-04-08 Motorola, Inc. Method and data processing system for arbitrary precision on numbers
FR2722590B1 (fr) * 1994-07-15 1996-09-06 Sgs Thomson Microelectronics Circuit logique de multiplication parallele
US5555424A (en) * 1994-10-06 1996-09-10 The Dow Chemical Company Extended Harvard architecture computer memory system with programmable variable address increment
US5642516A (en) * 1994-10-14 1997-06-24 Cirrus Logic, Inc. Selective shadowing of registers for interrupt processing
US5548544A (en) 1994-10-14 1996-08-20 Ibm Corporation Method and apparatus for rounding the result of an arithmetic operation
US5706466A (en) * 1995-01-13 1998-01-06 Vlsi Technology, Inc. Von Neumann system with harvard processor and instruction buffer
US5525874A (en) * 1995-01-30 1996-06-11 Delco Electronics Corp. Digital slope compensation in a current controller
US5659700A (en) 1995-02-14 1997-08-19 Winbond Electronis Corporation Apparatus and method for generating a modulo address
US5867726A (en) * 1995-05-02 1999-02-02 Hitachi, Ltd. Microcomputer
GB2301202B (en) * 1995-05-19 1999-09-22 Advanced Risc Mach Ltd Controlling processing clock signals
JPH08305585A (ja) * 1995-05-11 1996-11-22 Matsushita Electric Ind Co Ltd 割込制御装置
US5748516A (en) * 1995-09-26 1998-05-05 Advanced Micro Devices, Inc. Floating point processing unit with forced arithmetic results
US6025840A (en) * 1995-09-27 2000-02-15 Cirrus Logic, Inc. Circuits, systems and methods for memory mapping and display control systems using the same
US5561384A (en) 1995-11-08 1996-10-01 Advanced Micro Devices, Inc. Input/output driver circuit for isolating with minimal power consumption a peripheral component from a core section
US6205467B1 (en) * 1995-11-14 2001-03-20 Advanced Micro Devices, Inc. Microprocessor having a context save unit for saving context independent from interrupt requests
US5892697A (en) * 1995-12-19 1999-04-06 Brakefield; James Charles Method and apparatus for handling overflow and underflow in processing floating-point numbers
US6014723A (en) * 1996-01-24 2000-01-11 Sun Microsystems, Inc. Processor with accelerated array access bounds checking
US5764555A (en) * 1996-03-13 1998-06-09 International Business Machines Corporation Method and system of rounding for division or square root: eliminating remainder calculation
US5774711A (en) * 1996-03-29 1998-06-30 Integrated Device Technology, Inc. Apparatus and method for processing exceptions during execution of string instructions
JPH09269891A (ja) * 1996-04-01 1997-10-14 Hitachi Ltd 部分積加算方法および装置、浮動小数点乗算方法および装置、浮動小数点積和演算方法および装置
JPH09305412A (ja) * 1996-05-16 1997-11-28 Mitsubishi Electric Corp 最大割り込み禁止期間測定機能を有するマイクロコンピュータ
US5740419A (en) * 1996-07-22 1998-04-14 International Business Machines Corporation Processor and method for speculatively executing an instruction loop
JP3821316B2 (ja) * 1996-08-06 2006-09-13 ソニー株式会社 演算装置および方法
US6018757A (en) * 1996-08-08 2000-01-25 Samsung Electronics Company, Ltd. Zero detect for binary difference
US6061711A (en) * 1996-08-19 2000-05-09 Samsung Electronics, Inc. Efficient context saving and restoring in a multi-tasking computing system environment
US5917741A (en) * 1996-08-29 1999-06-29 Intel Corporation Method and apparatus for performing floating-point rounding operations for multiple precisions using incrementers
US6061783A (en) * 1996-11-13 2000-05-09 Nortel Networks Corporation Method and apparatus for manipulation of bit fields directly in a memory source
US6058410A (en) * 1996-12-02 2000-05-02 Intel Corporation Method and apparatus for selecting a rounding mode for a numeric operation
US5880984A (en) * 1997-01-13 1999-03-09 International Business Machines Corporation Method and apparatus for performing high-precision multiply-add calculations using independent multiply and add instruments
US6061780A (en) * 1997-01-24 2000-05-09 Texas Instruments Incorporated Execution unit chaining for single cycle extract instruction having one serial shift left and one serial shift right execution units
US6055619A (en) * 1997-02-07 2000-04-25 Cirrus Logic, Inc. Circuits, system, and methods for processing multiple data streams
US5862065A (en) * 1997-02-13 1999-01-19 Advanced Micro Devices, Inc. Method and circuit for fast generation of zero flag condition code in a microprocessor-based computer
JPH10233652A (ja) * 1997-02-20 1998-09-02 Mitsubishi Electric Corp 巡回形ディジタルフィルタ
GB2323188B (en) * 1997-03-14 2002-02-06 Nokia Mobile Phones Ltd Enabling and disabling clocking signals to elements
US5974549A (en) * 1997-03-27 1999-10-26 Soliton Ltd. Security monitor
US5875342A (en) * 1997-06-03 1999-02-23 International Business Machines Corporation User programmable interrupt mask with timeout
US6044392A (en) * 1997-08-04 2000-03-28 Motorola, Inc. Method and apparatus for performing rounding in a data processor
US6049858A (en) * 1997-08-27 2000-04-11 Lucent Technologies Inc. Modulo address generator with precomputed comparison and correction terms
US5892699A (en) * 1997-09-16 1999-04-06 Integrated Device Technology, Inc. Method and apparatus for optimizing dependent operand flow within a multiplier using recoding logic
US6044434A (en) * 1997-09-24 2000-03-28 Sony Corporation Circular buffer for processing audio samples
US6377619B1 (en) * 1997-09-26 2002-04-23 Agere Systems Guardian Corp. Filter structure and method
US5900683A (en) * 1997-12-23 1999-05-04 Ford Global Technologies, Inc. Isolated gate driver for power switching device and method for carrying out same
US6397318B1 (en) * 1998-04-02 2002-05-28 Cirrus Logic, Inc. Address generator for a circular buffer
TW436693B (en) * 1998-08-18 2001-05-28 Ind Tech Res Inst Interrupt control device and method for pipeline processor
US6990570B2 (en) * 1998-10-06 2006-01-24 Texas Instruments Incorporated Processor with a computer repeat instruction
US6181151B1 (en) * 1998-10-28 2001-01-30 Credence Systems Corporation Integrated circuit tester with disk-based data streaming
US6681280B1 (en) * 1998-10-29 2004-01-20 Fujitsu Limited Interrupt control apparatus and method separately holding respective operation information of a processor preceding a normal or a break interrupt
US6282637B1 (en) * 1998-12-02 2001-08-28 Sun Microsystems, Inc. Partially executing a pending atomic instruction to unlock resources when cancellation of the instruction occurs
US6356970B1 (en) * 1999-05-28 2002-03-12 3Com Corporation Interrupt request control module with a DSP interrupt vector generator
KR100325430B1 (ko) * 1999-10-11 2002-02-25 윤종용 상이한 워드 길이의 산술연산을 수행하는 데이터 처리장치 및 그 방법
US6523108B1 (en) * 1999-11-23 2003-02-18 Sony Corporation Method of and apparatus for extracting a string of bits from a binary bit string and depositing a string of bits onto a binary bit string
US6694398B1 (en) * 2001-04-30 2004-02-17 Nokia Corporation Circuit for selecting interrupt requests in RISC microprocessors
US6728856B2 (en) * 2001-06-01 2004-04-27 Microchip Technology Incorporated Modified Harvard architecture processor having program memory space mapped to data memory space
US6552625B2 (en) * 2001-06-01 2003-04-22 Microchip Technology Inc. Processor with pulse width modulation generator with fault input prioritization
CA2383832A1 (en) * 2002-04-24 2003-10-24 Ibm Canada Limited-Ibm Canada Limitee System and method for intelligent trap analysis

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480828B2 (en) 2004-06-10 2009-01-20 International Business Machines Corporation Method, apparatus and program storage device for extending dispersion frame technique behavior using dynamic rule sets
US7725773B2 (en) 2004-06-10 2010-05-25 International Business Machines Corporation Method, apparatus and program storage device for extending dispersion frame technique behavior using dynamic rule sets
TWI475377B (zh) * 2012-03-27 2015-03-01 Fujitsu Ltd 資料處理裝置及資料處理方法

Also Published As

Publication number Publication date
US20030005245A1 (en) 2003-01-02
DE60222406D1 (de) 2007-10-25
US7007172B2 (en) 2006-02-28
ATE373267T1 (de) 2007-09-15
DE60222406T2 (de) 2008-06-05
WO2002099647A1 (en) 2002-12-12
EP1393183A1 (en) 2004-03-03
US7243372B2 (en) 2007-07-10
US20050210284A1 (en) 2005-09-22
EP1393183B1 (en) 2007-09-12

Similar Documents

Publication Publication Date Title
US7243372B2 (en) Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US8327100B2 (en) Execute only access rights on a Von Neuman architectures
JP3520102B2 (ja) マイクロコンピュータ
US7752427B2 (en) Stack underflow debug with sticky base
US20020188830A1 (en) Bit replacement and extraction instructions
US6728856B2 (en) Modified Harvard architecture processor having program memory space mapped to data memory space
US7966480B2 (en) Register pointer trap to prevent errors due to an invalid pointer value in a register
EP2215544B1 (en) Enhanced microprocessor or microcontroller
JP3202497B2 (ja) 情報処理装置
US8621194B2 (en) Processor NAND flash boot system and method
US11307795B2 (en) Electronic processing devices and memory control methods thereof
GB2263348A (en) Securing program code.
JPH0475137A (ja) データ処理装置
EP2525285A1 (en) Central processing unit and microcomputer
KR20080044652A (ko) Cpu에서의 스택을 이용한 디버깅 방법
US8516225B2 (en) Central processing unit and microcontroller
JPH0527989A (ja) コンピユータシステムの例外処理装置
JPH06208461A (ja) マイクロプロセッサ
JPH05101203A (ja) マイクロ・プロセツサ
KR900008240Y1 (ko) 메모리 데이터 보호 회로
JPH06139084A (ja) 情報処理装置
JPH11232098A (ja) マイクロプロセッサ
JPH04332045A (ja) 演算処理装置
JPS60193047A (ja) マイクロプログラムのロ−ドチエツク方式
JPS6175441A (ja) アドレス履歴記憶装置

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees