[發明專利]具有硬件支持的存儲器緩沖區溢出檢測的處理器在審
| 申請號: | 201980019273.1 | 申請日: | 2019-03-18 |
| 公開(公告)號: | CN111868722A | 公開(公告)日: | 2020-10-30 |
| 發明(設計)人: | E·N·什里夫;E·T·彼得斯;P·T·羅伊內 | 申請(專利權)人: | 德克薩斯儀器股份有限公司 |
| 主分類號: | G06F21/52 | 分類號: | G06F21/52 |
| 代理公司: | 北京紀凱知識產權代理有限公司 11245 | 代理人: | 趙志剛 |
| 地址: | 美國德*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 具有 硬件 支持 存儲器 緩沖區 溢出 檢測 處理器 | ||
處理器(10)具有故障生成電路(18BOW),該故障生成電路(18BOW)響應于檢測到處理器(10)對寫保護的堆棧位置(24STK)的寫入,例如用于將返回地址存儲在堆棧位置(24STK)處。
技術領域
本申請總體涉及處理器(例如微處理器、數字信號處理器和微控制器),并且更具體地涉及具有硬件支持的處理器,以防止不希望出現的存儲器緩沖區溢出。
背景技術
處理器包括或可以訪問通常稱為堆棧的一部分存儲器,盡管有時會使用額外的描述符,諸如調用堆棧、執行堆棧、程序堆棧等。術語“堆棧”的部分基礎是,存儲器部分是后進先出的,使得當信息被添加到存儲器中時,它聚集到已經存在的現有信息中,因此,堆疊附加信息,然后當信息從存儲器中移除時,它減少了信息的聚集堆疊。同樣在該上下文中,出于說明的目的,添加到堆棧中的信息通常被稱為位于堆棧的“頂部”,而實際上,包含堆棧的存儲器區域可以在使用增加存儲器地址的某些架構中尋址,雖然在使用減少存儲器地址的其他架構中,但即使在后一種情況下,最小的地址仍然被認為是堆棧的“頂部”。
存儲在堆棧中的主要信息類型是代表可執行編程代碼的序列中某一點的地址。更詳細地說,通常當代碼由處理器執行時,諸如寄存器之類的存儲器存儲器(通常稱為程序計數器)存儲當前執行的指令的相應存儲器地址。程序計數器之所以這樣命名,是因為通常代碼是按順序執行的,因此程序計數器能夠計數,即遞增,以便在緊跟在先前執行的指令地址之后的地址處提前執行下一條指令,對于特定代碼框,依此類推。然而,在這種類型的可執行指令的連續尋址中的不同點上,可以期望在序列中的改變,正如序列改變指令所實現的那樣,其示例可以包括“調用”、“分支”、“跳轉”或其他指令,它將執行序列導向目標指令,目標指令的地址不是當前執行指令之后的下一個連續地址。目標指令很可能是一組其他指令的一部分,有時也稱為例程或子例程。與序列改變(例如,調用)指令有關,因此該指令將尋址改變為不連續的順序方式,在一種常見方法中,程序計數器的當前或下一個增量值被存儲(通常稱為“進棧(push)”)到堆棧中,使得在目標例程完成后,地址流恢復到在調用之前發生的序列,也就是說,指令序列“返回”到調用該例程之后的下一條指令。替代性地,一些架構(諸如進階精簡指令集機器(ARM))不會立即將程序計數器進棧到堆棧中,而是將返回地址存儲在寄存器中,只有在被調用的函數確實(或可能)調用另一個函數時,才會將返回寄存器的值進棧到堆棧。在任何情況下,當地址被進棧到堆棧時,調用后的返回可以通過獲取調用發生時進棧到堆棧上的地址來完成,該值被稱為從堆棧中“出棧(pop)”,從而移除它,使得堆棧頂部因此被移到堆棧上下一個最低有效字。上面的描述假設只對一個例程進行單次調用,該例程最終直接返回到跟在單次調用之后的序列之后的地址。然而,第一個例程在活動時且在其完成之前可以調用第二個例程,在這種情況下,該后一次調用再次將附加的返回地址進棧到堆棧上,其中附加的程序計數器地址標識了可執行指令地址,一旦被調用的第二個例程完成,程序流應返回該可執行指令地址;因此,在兩次連續調用(返回之前)的示例中,堆棧上將存在調用第一個例程時的程序返回地址,在堆棧頂部是調用第二個例程時的程序返回地址。這樣的過程可以在多個例程之間重復,其中,因此堆棧為每個附加調用接收附加新地址,從而當從每個連續調用的例程執行返回時,依次出棧每個添加的地址。因此,堆棧提供了指示,以最終完成每個被調用的例程并在每個相應的例程被調用時返回執行地址。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于德克薩斯儀器股份有限公司,未經德克薩斯儀器股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201980019273.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:單方向性電磁鋼板及其制造方法
- 下一篇:用于冷卻或加熱人體部位的系統和方法





