TWI724004B - 應用處理器與其運作方法、及資料處理系統與其運作方法 - Google Patents
應用處理器與其運作方法、及資料處理系統與其運作方法 Download PDFInfo
- Publication number
- TWI724004B TWI724004B TW105120864A TW105120864A TWI724004B TW I724004 B TWI724004 B TW I724004B TW 105120864 A TW105120864 A TW 105120864A TW 105120864 A TW105120864 A TW 105120864A TW I724004 B TWI724004 B TW I724004B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- security attribute
- control device
- main control
- cache
- Prior art date
Links
Images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本發明提供一種應用處理器。所述應用處理器包括:快
取同調互連件、連接至所述快取同調互連件的第一主控裝置、第二主控裝置、及連接於所述快取同調互連件與所述第二主控裝置之間的主控側濾波器。所述主控側濾波器經由所述快取同調互連件而自所述第一主控裝置接收監聽請求,將所述第二主控裝置的第二安全屬性與所述第一主控裝置的包含於所述監聽請求中的第一安全屬性進行比較,並根據比較結果來判斷是否將包含於所述監聽請求中的位址傳輸至所述第二主控裝置。
Description
本發明概念的實施例是有關於快取同調系統,且更具體而言,是有關於包括能夠實行安全檢查的主控側濾波器的快取同調系統。本發明概念的實施例亦是有關於包括快取同調系統中的至少一者的資料處理系統,所述快取同調系統包括能夠實行安全檢查的主控側濾波器。
本申請案主張於2015年7月1日提出申請的美國臨時專利申請案第62/187,365號的優先權,並主張於2016年2月24日提出申請的韓國專利申請案第10-2016-0021651號的優先權,所述美國臨時專利申請案及所述韓國專利申請案的共同主題併入本案供參考。
用語「快取同調性(cache coherency或cache coherence)」用於闡述分別包含於共用記憶體系統中的客戶端(或處理器)中的二或更多個區域快取(local cache)之間的資料及/或一或多個資料操作的一致性。當客戶端中的每一者包括其自身的區域快取且多個客戶端共用一或多個記憶體時,隨著與一或多個客戶端相關聯的一或多個快取的更新,可能會發生快取同調性的問題。
先前,當發生(或可能發生)快取同調性問題時,所共用記憶體系統可實行某些操作以達成快取同調性或防止快取同調性的丟失。因此,當所共用記憶體系統向所共用記憶體資源(例如,快取)寫入資料時,寫入操作的總體延遲可增加。
舉例而言,假定系統包括:快取同調介面、連接至所述快取同調介面的中央處理單元(central processing unit,CPU)、及連接至所述快取同調介面的圖形處理單元(graphics processing unit,GPU)。進一步假定在非安全模式中運作的中央處理單元輸出監聽請求至圖形處理單元,且對於所述圖形處理單元的快取產生快取命中。如此一來,儲存於所述快取中的快取線(即,快取資料)可被回寫至與所述系統連接的外部記憶體裝置。在完成所述回寫操作之後,中央處理單元可將用於讀取已被回寫至所述外部記憶體裝置的快取線的命令傳送至控制所述外部記憶體裝置的控制器。因此,所述回寫中所涉及的回寫訊務(write-back traffic)及對儲存於所述外部記憶體裝置中的快取線進行讀取時所涉及的記憶體讀取請求訊務(memory read request traffic)增加。
本發明概念的某些實施例提供一種應用處理器,所述應用處理器包括:具有第一安全屬性的第一主控裝置、具有第二安全屬性的第二主控裝置、及主控側濾波器,各自分別藉由快取同調互連件進行互連,其中所述第一主控裝置用以傳送監聽請求,所述監聽請求包括第一監聽位址及安全屬性指示符,所述安全屬性指示符指示所述第一安全屬性,且所述主控側濾波器用以藉由以下方式來執行監聽操作:經由所述快取同調互連件自所述第一主控裝置接收所述監聽請求,將所述第二安全屬性與由所述監聽請求所指示的所述第一安全屬性進行比較,當所述第一安全屬性與所述第二安全屬性不同時,確定不將所述第一監聽位址傳送至所述第二主控裝置,及當所述第一安全屬性與所述第二安全屬性相同時,確定將所述第一監聽位址傳送至所述第二主控裝置。
本發明概念的某些實施例提供一種資料處理系統,所述資料處理系統包括:控制器,連接至安置於所述控制器外部的主記憶體裝置,其中所述控制器包括:具有第一安全屬性的第一主控裝置、具有第二安全屬性的第二主控裝置、主控側濾波器、及從控側濾波器,各自分別藉由快取同調互連件進行互連,其中所述第一主控裝置用以傳送監聽請求,所述監聽請求包括第一監聽位址及安全屬性指示符,所述安全屬性指示符指示所述第一安全屬性,且所述主控側濾波器連接於所述快取同調互連件與所述第二主控裝置之間,且用以藉由以下方式來執行監聽操作:經由所
述快取同調互連件自所述第一主控裝置接收所述監聽請求,將所述第二安全屬性與由所述監聽請求所指示的所述第一安全屬性進行比較,當所述第一安全屬性與所述第二安全屬性不同時,確定不將所述第一監聽位址傳送至所述第二主控裝置,以及當所述第一安全屬性與所述第二安全屬性相同時,確定將所述第一監聽位址傳送至所述第二主控裝置;而且所述從控側濾波器連接於所述快取同調互連件與所述主記憶體裝置之間,且用以因應於經由所述快取同調互連件而自所述第一主控裝置接收的記憶體存取請求來實行針對所述主記憶體裝置的記憶體存取操作。
本發明概念的某些實施例提供一種運作應用處理器的方法,所述應用處理器包括各自分別藉由快取同調互連件進行互連的具有第一安全屬性的第一主控裝置、具有第二安全屬性的第二主控裝置、及主控側濾波器。所述方法包括:經由所述快取同調互連件而將監聽請求傳送至所述主控側濾波器,所述監聽請求包括第一監聽位址及安全屬性指示符,所述安全屬性指示符指示來自所述第一主控裝置的所述第一安全屬性;以及因應於所述監聽請求而利用所述主控側濾波器藉由以下方式來執行監聽操作:將所述第二安全屬性與所述第一安全屬性進行比較,以及在所述第一安全屬性與所述第二安全屬性相同時,將所述第一監聽位址傳送至所述第二主控裝置,否則經由所述快取同調互連件而將第一快取未中傳送至所述第一主控裝置。
本發明概念的某些實施例提供一種運作資料處理系統的
方法,所述資料處理系統包括各自分別藉由快取同調互連件進行互連的請求器、處理機、及主控側濾波器,其中所述請求器具有指示安全模式或非安全模式的第一安全屬性的請求器,所述處理機具有指示所述安全模式或所述非安全模式的第二安全屬性。所述方法包括:經由所述快取同調互連件及所述主控側濾波器而將來自所述請求器的監聽請求傳送至所述處理機,其中所述監聽請求指示所述請求器及所述處理機中的至少一者的目標位址及所述安全模式或所述非安全模式;判斷是否指示所述請求器及所述處理機中的所述至少一者的所述安全模式;當確定對所述請求器及所述處理機中的所述至少一者指示所述安全模式時,判斷所述目標位址是否對應於安全記憶體區,且若所述目標位址對應於安全記憶體區,則產生監聽命中,否則在所述主控側濾波器中產生監聽未中;以及當確定對所述請求器及所述處理機中的所述至少一者指示所述非安全模式時,判斷所述目標位址是否對應於安全記憶體區,且若所述目標位址對應於安全記憶體區,則產生監聽未中,否則在所述主控側濾波器中產生監聽未中。
100:資料處理系統
200:控制器
210:快取同調互連件
220:第一主控裝置/第一主裝置/系統元件/系統組件/請求器
222:軟體
230:第二控制器/系統元件/系統組件
235:暫存器/特殊功能暫存器(SFR)
240:第二主控裝置/第二主裝置/處理機
242:快取控制器
244:快取
250:主控側濾波器/系統元件/系統組件
250-1:主控側濾波器
252:決策邏輯電路
254:記憶體裝置
260:第三控制器/系統元件/系統組件
265:暫存器/特殊功能暫存器(SFR)
270:第三主控裝置/第三主裝置/系統元件/系統組件
280:從控側濾波器/系統元件/系統組件
300:主記憶體裝置
ADD:監聽位址
ADD1:第一監聽位址
ADD2:第二監聽位址
ADD3:位址
ADD4:位址
ADD5:位址
AT1:第一安全屬性
AT2:第二安全屬性
AT3:第三安全屬性
CASE1:第一情形
CASE2:第二情形
CASE3:第三情形
CASE4:第四情形
CASE5:第五情形
CASE6:第六情形
CASE7:第七情形
CACHE FLUSH1、CACHE FLUSH2:快取清除操作
CTR1:第一控制訊號
CTR2:第二控制訊號
DATA1、DATA3、DATA4、DATA5:資料
NSM:非安全模式
NSMB:第三指示符位元/第六指示符位元/第七指示符位元
S110、S120、S130、S140、S150、S160:操作
S210、S220、S230、S240:操作
S1200、S1210、S1220:操作
S1300、S1310、S1320、S1330、S1340:操作
SM:安全模式
SMB:第一指示符位元/第二指示符位元/第四指示符位元/第五指示符位元
SREQ1:第一監聽請求
SREQ2:第二監聽請求
TABLE1:第一表
TABLE2:第二表
TABLE3:第三表
TL:專用傳輸線
圖1是根據本發明概念某些實施例的資料處理系統的方塊圖。
圖2是根據本發明概念某些實施例的圖1中所示主控側濾波器及第二主控裝置的方塊圖。
圖3是根據本發明概念某些實施例的圖1中所示主控側濾波器及第二主控裝置的運作的流程圖。
圖4是列出圖1中所示主控側濾波器與第二主控裝置之間的可能運作關係的第一表。
圖5是用於闡釋根據本發明概念某些實施例,主控側濾波器因應於自圖1中所示第一主裝置輸出的監聽請求而進行的操作的圖式。
圖6是根據本發明概念其他實施例的圖1中所示主控側濾波器及第二主控裝置的方塊圖。
圖7是根據本發明概念某些實施例的圖6中所示主控側濾波器及第二主控裝置的運作的流程圖。
圖8是列出圖6中所示主控側濾波器與第二主控裝置之間的可能運作關係的第二表。
圖9是列出圖6中所示主控側濾波器與第二主控裝置之間的可能運作關係的第三表。
圖10是用於闡釋根據本發明概念其他實施例,主控側濾波器因應於自圖1中所示第一主裝置輸出的監聽請求而進行的操作的圖式。
圖11是圖1中所示第二主控裝置的運作模式及所述運作模式中的每一者中的軟體運作的概念圖。
圖12是概述與結合圖8所述者類似的方法的流程圖。
圖13是概述與結合圖9所述者類似的方法的流程圖。
圖1是根據本發明概念某些實施例的資料處理系統100的方塊圖。參照圖1,資料處理系統100可包括控制器200及主記憶體裝置300。
資料處理系統100可實作為個人電腦(personal computer,PC)或行動裝置。行動裝置可為膝上型電腦、蜂巢式電話、智慧型電話、平板個人電腦(tablet PC)、個人數位助理(personal digital assistant,PDA)、企業數位助理(enterprise digital assistant,EDA)、數位照相機(digital still camera)、數位攝影機(digital video camera)、可攜式多媒體播放機(portable multimedia player,PMP)、個人導航裝置或可攜式導航裝置(personal navigation device/portable navigation device,PND)、手持式遊戲機、行動網際網路裝置(mobile internet device,MID)、穿戴式電腦、物聯網(internet of things,IoT)裝置、萬聯網(internet of everything,IoE)裝置、無人機(drone)、或電子書(e-book)。資料處理系統100亦可用於智慧型車或汽車系統。
控制器200可控制主記憶體裝置300的運作。控制器200可被不同地稱作快取同調系統、快取同調網路、或快取同調控制器。在某些配置中,控制器200可包括異質核心叢集(heterogeneous core cluster),其中所述異質核心叢集整體地或部分地實作經由快取同調互連件210而連接的中央處理單元(CPU)、圖形處理單元
(GPU)、圖形處理單元通用計算(general-purpose computing on graphics processing unit,GPGPU)、及/或數位訊號處理器(digital signal processor,DSP)。
控制器200可被不同地實作為積體電路(integrated circuit,IC)、系統晶片(system on chip,SoC)、處理器、應用處理器、行動應用處理器、主機板、晶片組(chipset)、或一組半導體晶片。在某些實施例中,控制器200及主記憶體裝置300可利用堆疊式封裝(package-on-package,PoP)製作技術來實作。
在圖1所示實例中,控制器200可包括快取同調互連件210、第一主控裝置(第一主裝置)220、第二控制器(例如,第一安全屬性控制器)230、第二主控裝置(第二主裝置)240、主控側濾波器250、及從控側濾波器280。在某些實施例中,控制器200亦可包括第三控制器(例如,第二安全屬性控制器)260、及第三主控裝置(第三主裝置)270。
主控側濾波器250連接於快取同調互連件210與第二主控裝置240之間以實行(或施行)安全檢查。在此位置中提供主控側濾波器250有助於減少監聽時間或監聽延遲。示例性系統元件(或系統組件)220、230、250、260、270、及280可經由快取同調互連件210而彼此傳送(即,傳輸及/或接收)各種訊號。
第一主控裝置220可經由快取同調互連件210而將設定(或界定)第二主控裝置240的運作模式的第一控制訊號CTR1傳送至第二控制器230。在一個實例中,所述運作模式可被設定成
安全模式或非安全模式。此處,所述安全模式用於處理「安全資料」-或需要維持一或多個安全程序的資料,而所述非安全模式用於處理「非安全資料」-或不需要安全程序或者需要較與安全資料相關聯的一或多個程序少的安全程序的資料。
第一主控裝置220可被實作為中央處理單元。舉例而言,第一主控裝置220可為具有安全意識能力的中央處理單元。第一主控裝置220可產生第一監聽請求SREQ1,第一監聽請求SREQ1包括第一安全屬性AT1及「監聽位址」ADD。第一安全屬性AT1可為指示第一主控裝置220的運作模式是安全模式還是非安全模式的資訊(或資料),且監聽位址ADD可指向(或指示)主記憶體裝置300中欲由第一主控裝置220存取的位置。就此而言,第一主控裝置220可執行用於控制其他主控裝置(例如,第二主裝置240或第三主裝置270)中的至少一者的運作(及/或交互操作)的軟體222。
第二控制器230可利用(或因應於)由第一主控裝置220所提供的第一控制訊號CTR1而將第二主控裝置240的運作模式設定成安全模式或非安全模式。與第一控制訊號CTR1相關聯的控制資料可儲存於包含於第二控制器230中的暫存器235中。在某些實施例中,暫存器235可被實作為特殊功能暫存器(special function register,SFR)。
亦可基於(或因應於)第一控制訊號CTR1、或儲存於特殊功能暫存器235中的控制資料的某些部分而確定與第二主控裝
置240相關聯的安全屬性(即,第二安全屬性AT2)。第二安全屬性AT2可例如經由專用傳輸線TL而傳送至主控側濾波器250。第二安全屬性AT2可為指示第二主控裝置240的運作模式是安全模式還是非安全模式的資訊(或資料)。
因此,第二主控裝置240的運作模式可基於由儲存於特殊功能暫存器235中的控制資料所辨識的第二安全屬性AT2而設定成安全模式或非安全模式。第二主控裝置240可被不同地實作為例如圖形處理單元、圖形處理單元通用計算、數位訊號處理器等。然而,在本發明概念的實施例中,第二主控裝置240將為主裝置(master),所述主裝置包括快取且用以存取主記憶體裝置及/或由另一主裝置所共用的快取。在此上下文中,第二主控裝置240可為具有非安全意識的主裝置或缺乏安全意識的主裝置。
如圖1中所示,主控側濾波器250可連接於快取同調互連件210與第二主控裝置240之間。根據本發明概念的某些實施例,主控側濾波器250(或圖6所示的250-1)可用於在監聽操作或快取監聽操作期間實行安全檢查。因此,可將主控側濾波器250稱作主控側安全濾波器。
由於主控側濾波器250在監聽操作期間(或因應於監聽操作)實行安全檢查,因此與相依於利用從控側濾波器280而針對所有監聽命中(或所有快取命中)所實行的安全檢查的傳統類比資料處理系統相比,包括主控側濾波器250的資料處理系統100會大幅消除與回寫訊務及記憶體讀取請求訊務相關聯的請求。
因此,主控側濾波器250可(1)自第一主控裝置220接收經由快取同調互連件210傳送的第一監聽請求SREQ1,(2)將第二主控裝置240的第二安全屬性AT2與第一主控裝置220的包含於第一監聽請求SREQ1中的第一安全屬性AT1進行比較,且(3)判斷是否將包含於第一監聽請求SREQ1中的監聽位址ADD傳送至第二主控裝置240。
當第一安全屬性AT1與第二安全屬性AT2不同時,主控側濾波器250不將包含於第一監聽請求SREQ1中的監聽位址ADD傳送至第二主控裝置240,而是可經由快取同調互連件210而將「快取未中」指示傳送(或返回)至第一主控裝置220。然而,當第一安全屬性AT1與第二安全屬性AT2相同時,主控側濾波器250可將監聽位址ADD傳送至第二主控裝置240。
因應於對監聽位址ADD的接收(receipt),第二主控裝置240可(1)判斷第二主控裝置240的內部快取中是否存在與監聽位址ADD匹配的位址,(2)基於位址判斷結果來決定是否發生快取未中或快取命中,且(3)將快取命中/未中結果傳送至主控側濾波器250。
主控側濾波器250可在監聽操作期間(或作為監聽操作的一部分)實行初步安全檢查。然而,從控側濾波器280可處理主記憶體裝置300的記憶體存取請求(例如,資料讀取請求)而無需在對應的監聽操作期間實行初步安全檢查。舉例而言,記憶體存取請求可作為監聽操作的結果(例如,自主控側濾波器250
傳送的快取未中結果)而由第一主控裝置220產生。儘管圖1所示資料處理系統100出於闡述本發明概念所預想的一或多個系統配置及/或一或多個操作的可能態樣之目的而包括從控側濾波器280及主記憶體裝置300,然而僅需要快取同調互連件210及主控側濾波器250來實作上述安全意識監聽操作。
第三控制器260可用於因應於(例如)由第一主控裝置220所提供的第二控制訊號CTR2而將第三主控裝置270的運作模式設定成安全模式或非安全模式。第二控制訊號CTR2可儲存於包含於第三控制器260中的暫存器265中。控制訊號CTR1及CTR2中的每一者可被不同地實作,例如以旗標(flag)或具有至少一個位元的數位訊號的形式實作。
舉例而言,暫存器265可被實作為特殊功能暫存器。可根據儲存於特殊功能暫存器265中的第二控制訊號CTR2而確定與第三主控裝置270相關聯的第三安全屬性AT3。第三安全屬性AT3可為指示第三主控裝置270的運作模式是安全模式還是非安全模式的資訊(或資料)。
因此,第三主控裝置270可基於由儲存於特殊功能暫存器265中的資料所指示的第三安全屬性AT3而將其運作模式設定為安全模式或非安全模式。第三主控裝置270可被實作為圖形處理單元、圖形處理單元通用計算、或數位訊號處理器。舉例而言,第三主控裝置270可為具有或缺乏安全意識的主裝置。第三主控裝置270可產生包括第三安全屬性AT3及對應的第二監聽位址的
第二監聽請求SREQ2。
就此而言,主控側濾波器250可(1)經由快取同調互連件210自第三主控裝置270接收第二監聽請求SREQ2,(2)將第二主控裝置240的第二安全屬性AT2與第三主控裝置270中的包含於第二監聽請求SREQ2中的第三安全屬性AT3進行比較,且(3)判斷是否將第二監聽位址傳送至第二主控裝置240。
舉例而言,當第一安全屬性AT1與第三安全屬性AT3不同時,主控側濾波器250可不將第二監聽位址傳輸至第二主控裝置240,而是立即經由快取同調互連件210將快取未中傳送至第三主控裝置270。然而,當第一安全屬性AT1與第三安全屬性AT3相同時,主控側濾波器250可將包含於第二監聽請求SREQ2中的第二監聽位址傳輸至第二主控裝置240。
第二主控裝置240可接著(1)判斷第二主控裝置240的內部快取中是否存在與自主控側濾波器250傳送的第二監聽位址匹配的位址,(2)根據位址判斷結果來決定快取未中或快取命中,且(3)將快取未中/命中結果發送至主控側濾波器250。
主記憶體裝置300可用於儲存為控制器200的運作所必需的使用者資料或韌體,且可利用動態隨機存取記憶體(dynamic random access memory,DRAM)來實作。
圖2是進一步以一個實例來說明圖1所示主控側濾波器250及第二主控裝置240的方塊圖。圖3是以一個實例來概述圖1及圖2所示主控側濾波器250及第二主控裝置240的運作的流程
圖。圖5是說明主控側濾波器250因應於自圖1所示第一主控裝置220接收到的監聽請求而進行的某些示例性操作的圖式。
假定第二主控裝置240的第二安全屬性AT2指示安全模式且包含於第二主控裝置240中的快取244儲存分別與至少一個位址(例如,位址ADD1、ADD3、ADD4、及ADD5)對應的資料DATA1、DATA3、DATA4、及DATA5。
共同參照圖1、圖2、圖3、及圖5,假定第一主控裝置220經由快取同調互連件210而將包括第一安全屬性AT1及第一監聽位址ADD1的第一監聽請求SREQ1傳送至主控側濾波器250(操作S110)。
主控側濾波器250可將第一安全屬性AT1與第二安全屬性AT2進行比較(操作S120)。當第一安全屬性AT1與第二安全屬性AT2不同(S120=否)時,主控側濾波器250不將第一監聽位址ADD1傳送至第二主控裝置240,而是經由快取同調互連件210而將監聽未中傳送至控制器200的一或多個元件(操作S130)。此處,所述監聽未中可指代快取未中。
參照圖5中所示的第三情形(CASE3),可假定第一監聽請求SREQ1包括第三指示符位元NSMB及第一監聽位址。進一步假定第三指示符位元NSMB指示第一主控裝置220的運作模式為非安全模式且對應於第一安全屬性AT1。換言之,第一主控裝置220的第一安全屬性AT1指示非安全模式。
由於第一主控裝置220的第一安全屬性AT1指示非安全
模式且第二主控裝置240的第二安全屬性AT2指示安全模式,因此主控側濾波器250不將第一監聽位址ADD1傳送至第二主控裝置240,而是將傳送監聽未中(操作S130)。
當第一安全屬性AT1與第二安全屬性AT2相同(S120=是)時,主控側濾波器250將第一監聽位址ADD1傳送至第二主控裝置240的快取控制器242。第二主控裝置240的快取控制器242可實行內部快取線的監聽操作(操作S140)。
舉例而言,參照圖5中所示的第一情形(CASE1),第一監聽請求SREQ1可包括第一指示符位元SMB及第一監聽位址ADD1。第一指示符位元SMB指示第一主控裝置220的運作模式為安全模式且對應於第一安全屬性AT1。換言之,第一主控裝置220的第一安全屬性AT1指示安全模式。
快取控制器242可判斷快取244中是否存在與第一監聽位址ADD1匹配的位址(操作S150)。當快取244中存在與第一監聽位址ADD1匹配的位址(即,發生「監聽命中」或「快取命中」-S150=是)時,快取控制器242可將儲存於快取244中的與第一監聽位址ADD1(即,圖2所示實例中的DATA1)對應的資料傳送(或傳輸)至主控側濾波器250(操作S160)。因此,主控側濾波器250可經由快取同調互連件210而將與第一監聽位址ADD1對應的資料DATA1傳送至控制器200的一或多個元件。舉例而言,資料DATA1可經由快取同調互連件210而自主控側濾波器250傳送至第一主控裝置220。
現在參照圖5中所示的第二情形(CASE2),第一監聽請求SREQ1可包括第二指示符位元SMB及除第一監聽位址ADD1以外的某些位址(在下文中,稱作「第二監聽位址」)。第一主控裝置220的第一安全屬性AT1指示安全模式。
快取控制器242可判斷快取244中是否存在與第二監聽位址ADD2匹配的位址(操作S150)。當快取244中不存在與第二監聽位址ADD2匹配的位址(即,發生「監聽未中」或「快取未中」-S150=否)時,快取控制器242可經由快取同調互連件210而將監聽未中傳送至(例如)主控側濾波器250(操作S130)及/或第一主控裝置220。
當在圖5所示第二情形中發生監聽未中時,第一主控裝置220可產生包括第二監聽位址ADD2的記憶體存取請求(例如,資料讀取請求)。然後可經由快取同調互連件210而將記憶體存取請求傳送至從控側濾波器280。因應於此,從控側濾波器280可對記憶體存取請求實行安全檢查,並接著自主記憶體裝置300的例如由第二監聽位址ADD2指示的記憶體區讀取資料。可接著經由快取同調互連件210而將因此被讀取的資料傳送至第一主控裝置220。
圖4是列出圖1所示主控側濾波器250與第二主控裝置240之間可存在的示例性運作關係的第一表TABLE1。參照圖1、圖2、圖3、及圖4,當請求器(例如,第一主控裝置220或第三主控裝置270中的一者)的運作模式相同於處理機(例如,第二
主控裝置240)的運作模式時-即,當請求器的安全屬性相同於處理機的安全屬性時-主控側濾波器250此時將把與自所述請求器接收到的監聽請求(例如,SREQ1或SREQ2)對應的監聽位址傳送至快取控制器242,且辨識出對應的「旁路位址(bypass address)」。
然而,當請求器的運作模式不同於處理機的運作模式時-即,當請求器的安全屬性不同於處理機的安全屬性時-主控側濾波器250此時不將監聽位址傳送至快取控制器242,相反監聽未中指示可立即經由快取同調互連件210而被傳送至請求器,且辨識出對應的「阻斷位址(blocked address)」。
舉例而言,假定第一監聽請求SREQ1是由請求器(例如,第一主裝置220)產生,依序實行兩次判斷。首先,主控側濾波器250結合第一監聽請求SREQ1實行安全檢查(即,安全屬性AT1與安全屬性AT2之間的比較)(操作S120)。其次,當不指示安全問題(即,安全屬性AT1與安全屬性AT2相同時-S120=是)時,處理機(例如,第二主控裝置240)的快取控制器242確定快取命中/未中(操作S150)。
圖6是進一步以另一實例說明圖1所示主控側濾波器250-1及第二主控裝置240的方塊圖,且可與圖2進行比較。圖7是以一個實例概述圖6所示主控側濾波器250-1及第二主控裝置240的運作的流程圖。
參照圖1、圖6、及圖7,主控側濾波器250-1可包括決
策邏輯電路252及儲存安全屬性查找表的記憶體裝置254。儘管記憶體裝置254被示出為位於圖6所示主控側濾波器250-1內部,然而作為另一選擇,在其他實施例中記憶體裝置254可被實作為位於主控側濾波器250-1外部(例如,位於控制器200中的其他地方,例如位於第二主控裝置240處)。可利用靜態隨機存取記憶體(static random access memory,SRAM)來實作記憶體裝置254。
記憶體裝置254可用於儲存指示安全屬性(例如,SM或NSM)的資料(例如,旗標狀態),所述安全屬性分別與包含(例如,開始於)對應位址(例如,ADD1、ADD3、ADD4、及ADD5)的「記憶體區」相關聯。此處,每一記憶體區可指代主記憶體裝置300的某些指定部分(例如,區塊、頁、快取線等)。
在圖6中所示實例中,與相應位址ADD1及ADD3對應的記憶體區在安全模式SM中為可存取的。換言之,該些記憶體區為安全記憶體區。相比之下,與相應位址ADD4及ADD5對應的記憶體區在非安全模式NSM中可為可存取的。換言之,該些記憶體區為非安全記憶體區。
此處,假定第一主控裝置220經由快取同調互連件210而將包括第一安全屬性AT1及第一監聽位址ADD1的第一監聽請求SREQ1傳送至主控側濾波器250-1的決策邏輯電路252(操作S210)。決策邏輯電路252接著比較第一安全屬性AT1與第二安全屬性AT2,以判斷記憶體裝置254中是否存在與第一監聽位址ADD1匹配的位址(操作S220)。可依序或平行地進行該兩次比較。
當第一安全屬性AT1與第二安全屬性AT2相同、且在記憶體裝置254中辨識出第一監聽位址的匹配(S220=是)時,決策邏輯電路252可將包含於第一監聽請求SREQ1中的第一監聽位址ADD1傳送至第二主控裝置240。第二主控裝置240的快取控制器242可將已儲存於快取244中且對應於第一監聽位址ADD1的資料DATA1傳送至主控側濾波器250-1(操作S240)。主控側濾波器250-1的決策邏輯電路252可經由快取同調互連件210而將資料DATA1傳送至例如第一主控裝置220。
參照圖10中示出的第四情形(CASE4)及第五情形(CASE5),假定第二主控裝置240的第二安全屬性AT2指示第二主控裝置240的運作模式為安全模式(SM)。
參照第四情形,第一監聽請求SREQ1包括第四指示符位元SMB及第一監聽位址ADD1。第四指示符位元SMB指示第一主控裝置220的運作模式為安全模式且對應於第一安全屬性AT1。因此,與第一監聽位址ADD1對應的記憶體區為在安全模式SM中可被存取的安全記憶體區。
由於第一主控裝置220的第一安全屬性AT1指示安全模式、第二主控裝置240的第二安全屬性AT2指示安全模式、與第一監聽位址ADD1對應的記憶體區為安全記憶體區、且與儲存於記憶體裝置254中的第一監聽位址ADD1對應的記憶體區為安全記憶體區-因此決策邏輯電路252可將包含於第一監聽請求SREQ1中的第一監聽位址ADD1傳送至第二主控裝置240的快取
控制器242(S220=是)。藉由快取控制器242的操作(例如,操作S240)而產生對應的快取命中(或監聽命中)。
參照第五情形,第一監聽請求SREQ1包括第五指示符位元SMB及第二監聽位址ADD2。第五指示符位元SMB指示第一主控裝置220的運作模式為安全模式且對應於第一安全屬性AT1。因此,與第二監聽位址ADD2對應的記憶體區為在非安全模式中可被存取的非安全記憶體區。
指示安全模式的第一安全屬性AT1相同於指示安全模式的第二安全屬性AT2。由於第一主控裝置220的第一安全屬性AT1指示安全模式,因此第一主控裝置220本應輸出使得能夠對安全記憶體區進行存取的位址。然而,儘管第一主控裝置220的第一安全屬性AT1指示安全模式,但欲由第一主控裝置220存取的第二監聽位址ADD2指示非安全記憶體區(因此,S220=否)。因此,決策邏輯電路252不將第二監聽位址ADD2傳送至第二主控裝置240的快取控制器242,而是立即經由快取同調互連件210而將監聽未中傳送至控制器200中的一或多個元件(操作S230)。
參照亦示出於圖10中的第六情形(CASE6)及第七情形(CASE7),假定第二主控裝置240的第二安全屬性AT2指示非安全模式(NSM)。
參照第六情形,第一監聽請求SREQ1包括第六指示符位元NSMB及第二監聽位址ADD2。第六指示符位元NSMB指示第一主控裝置220的運作模式為非安全模式且對應於第一安全屬性
AT1。
指示非安全模式的第一安全屬性AT1相同於指示非安全模式的第二安全屬性AT2。另外,包含於第一監聽請求SREQ1中的第二監聽位址ADD2指向非安全記憶體區,且儲存於記憶體裝置254中的第二監聽位址ADD2指向非安全記憶體區。因此,包含於第一監聽請求SREQ1中的第二監聽位址ADD2的屬性相同於儲存於記憶體裝置254中的第二監聽位址ADD2的屬性。
決策邏輯電路252可將包含於第一監聽請求SREQ1中的第二監聽位址ADD2傳送至第二主控裝置240的快取控制器242。換言之,根據快取控制器242的運作而產生快取命中(或監聽命中)。
參照第七情形,第一監聽請求SREQ1包括第七指示符位元NSMB及第一監聽位址ADD1。第七指示符位元NSMB指示第一主控裝置220的運作模式為非安全模式且代表第一安全屬性AT1。
指示非安全模式的第一安全屬性AT1相同於指示非安全模式的第二安全屬性AT2。包含於第一監聽請求SREQ1中的第一安全屬性AT1指示非安全模式且包含於第一監聽請求SREQ1中的第一監聽位址ADD1指向非安全記憶體區,但儲存於記憶體裝置254中的第一監聽位址ADD1指向安全記憶體區。因此,包含於第一監聽請求SREQ1中的第一監聽位址ADD1的屬性不同於儲存於記憶體裝置254中的第一監聽位址ADD1的屬性(因此,S220=
否)。決策邏輯電路252不將包含於第一監聽請求SREQ1中的第一監聽位址ADD1傳送至第二主控裝置240的快取控制器242,而是經由快取同調互連件210而傳送監聽未中(操作S230)。
圖8是列出圖6所示主控側濾波器250-1與第二主控裝置240之間的可能運作關係的第二表TABLE2。參照圖6、圖7、及圖8,當請求器220的運作模式相同於處理機240的運作模式且記憶體裝置254中存在與包含於第一監聽請求SREQ1中的監聽位址對應的位址時,產生監聽命中。所述監聽命中可使得快取控制器242將與所述位址對應的資料傳送至控制器200中的一或多個元件。
舉例而言,當請求器220的運作模式為安全模式SM、包含於第一監聽請求SREQ1中的第一監聽位址ADD1指示安全記憶體區、處理機240的運作模式為安全模式、且與第一監聽位址ADD1匹配的位址儲存於記憶體裝置254中並指向安全記憶體區時,產生監聽命中。
然而,當請求器220的運作模式為安全模式SM、包含於第一監聽請求SREQ1中的第一監聽位址ADD1指示安全記憶體區、處理機240的運作模式為安全模式、且與第一監聽位址ADD1匹配的位址儲存於記憶體裝置254中但指示非安全記憶體區時,產生監聽未中。且當產生監聽未中時,決策邏輯電路252可阻止將包含於第一監聽請求SREQ1中的第一監聽位址ADD1傳送至第二主控裝置240。換言之,決策邏輯電路252不將包含於第一監聽
請求SREQ1中的第一監聽位址ADD1傳送至第二主控裝置240。
在某些實施例中,決策邏輯電路252可判斷請求器220的安全屬性是否相同於處理機240的安全屬性,且亦可判斷記憶體裝置254中是否存在與包含於自請求器220傳送的第一監聽請求SREQ1中的第一監聽位址ADD1匹配的位址(「匹配位址」),並且根據判斷結果而將或不將第一監聽位址ADD1傳送至第二主控裝置240。
就此而言,決策邏輯電路252不慮及第一監聽位址ADD1的安全屬性是否相同於匹配位址的安全屬性。換言之,當請求器220的安全屬性相同於處理機240的安全屬性且記憶體裝置254中存在與包含於自請求器220傳送的第一監聽請求SREQ1中的第一監聽位址ADD1匹配的位址時,決策邏輯電路252將第一監聽位址ADD1傳送至第二主控裝置240。
在其他實施例中,決策邏輯電路252可判斷請求器220的安全屬性是否相同於處理機240的安全屬性,且判斷第一監聽位址ADD1的安全屬性是否相同於儲存於記憶體裝置254中的匹配位址的安全屬性。且僅當同時滿足該兩個條件時,決策邏輯電路252才會將第一監聽位址ADD1傳送至第二主控裝置240。此處,位址(監聽及/或匹配)的安全屬性可為指示與所述位址對應的記憶體區為安全記憶體區還是非安全記憶體區的資訊或資料。
圖9是列出圖6所示主控側濾波器250-1與第二主控裝置240之間可存在的可能運作關係的第三表TABLE3。參照圖6、圖
7、及圖9,當第二安全屬性AT2指示安全模式、且儲存於記憶體裝置254中的匹配位址指示安全記憶體區、包含於第一監聽請求SREQ1中的第一安全屬性AT1指示安全模式、且包含於第一監聽請求SREQ1中的第一監聽位址ADD1指示安全記憶體區時,產生監聽命中。此處,假定第一監聽位址ADD1相同於匹配位址。
然而,當第二安全屬性AT2指示安全模式、儲存於記憶體裝置254中的位址指示安全記憶體區、包含於第一監聽請求SREQ1中的第一安全屬性AT1指示安全模式、且包含於第一監聽請求SREQ1中的第一監聽位址ADD1指向非安全記憶體區時,產生監聽未中。
當第二安全屬性AT2指示非安全模式、儲存於記憶體裝置254中的第二位址指向非安全記憶體區、包含於第一監聽請求SREQ1中的第一安全屬性AT1指示非安全模式、且包含於第一監聽請求SREQ1中的第一監聽位址ADD1指示非安全記憶體區時,產生監聽命中。此處,再次假定第一監聽位址ADD1相同於匹配位址。
然而,當第二安全屬性AT2指示非安全模式、儲存於記憶體裝置254中的匹配位址指示非安全記憶體區、包含於第一監聽請求SREQ1中的第一安全屬性AT1指示非安全模式、且包含於第一監聽請求SREQ1中的第一監聽位址ADD1指示安全記憶體區時,產生監聽未中。
與圖8所示TABLE2相關聯的實施例是有關於一種慮及
請求器220及處理機240的安全屬性、以及由位址指示的記憶體區的安全屬性的方法,而與圖9所示TABLE3相關聯的實施例是有關於一種慮及請求器220的安全屬性及由一或多個位址指示的一或多個記憶體區的安全屬性的方法。
圖12是概述與先前結合圖8所述者類似的方法的流程圖。此處,進行對請求器模式及處理機模式的第一判斷(操作S1200)。接著,進行對目標區(即,由儲存於快取中的監聽位址或匹配位址指示的記憶體區)的安全性質或非安全性質的第二判斷(操作S1210)。接著,基於該兩種先前判斷二者(操作S1200及操作S1210),進行監聽命中/未中判斷(操作S1220)。
因此,監聽命中/未中判斷可不同地歸屬於請求器、處理機、及記憶體區之間,只要慮及每一請求器及處理機的運作模式、以及目標記憶體區的安全/非安全性質即可。
藉由與圖12所示方法進行比較,圖13是概述與先前結合圖9所述者類似的方法的流程圖。此處,不需要慮及請求器及處理機二者的運作模式。相反,慮及當前監聽請求並就其指示安全運作模式還是非安全運作模式作出判斷(例如,藉由慮及指示安全屬性的資料)(操作S1300)。若監聽請求指示安全模式(S1300=是),則就對應的位址(例如,監聽位址)是否指示安全記憶體區作出二次判斷(操作S1310)。若目標位址指示安全記憶體區,則產生監聽命中(操作S1330),否則產生監聽未中(操作S1340)。
然而,若監聽請求指示非安全模式(S1300=否),則就對
應的位址(例如,監聽位址)是否指示安全記憶體區作出二次判斷(操作S1320)。若目標位址指示安全記憶體區,則產生監聽未中(操作S1340),否則產生監聽命中(操作S1330)。
前述示例性方法及結果表說明圖1所示控制器200的各種元件的運作模式,假定可不同地慮及監聽位址及相關聯的安全屬性、以及目標記憶體區及相關聯的安全屬性以指示監聽未中/命中結果,所述監聽未中/命中結果在特異性及構成性質上有所不同。
圖11是結合安全運作模式及非安全運作模式中的每一者中的韌體執行(「切換(switching或SW)」操作)說明圖1所示控制器200的一或多個元件的運作模式的概念圖。參照圖1及圖11,第一主控裝置220可執行切換,以在安全模式中運作。由第一主控裝置220所執行的切換可控制第二主控裝置240的運作。
第一主控裝置220可將用於將第二主控裝置240的運作模式設定成安全模式的第一控制訊號CTR1傳送至第二控制器230。第二控制器230可在特殊功能暫存器235中設定第一控制訊號CTR1。第二安全屬性AT2根據在特殊功能暫存器235中設定的第一控制訊號CTR1而指示安全模式。
所述切換可控制快取控制器242,以刪除來自快取244的所有資料。當自快取244刪除所有資料時(CACHE FLUSH1),第二主控裝置240可根據切換的控制而在安全模式中運作。在第二主控裝置240在安全模式中運作的同時,資料可儲存於快取244中。
此後,第一主控裝置220可將用於將第二主控裝置240的運作模式設定成非安全模式的第一控制訊號CTR1發送至第二控制器230。第二控制器230可在特殊功能暫存器235中設定第一控制訊號CTR1。第二安全屬性AT2根據在特殊功能暫存器235中設定的第一控制訊號CTR1而指示非安全模式。
所述切換可控制快取控制器242,以刪除在第二主控裝置240在安全模式中運作的同時已儲存於快取244中的所有資料。當自快取244刪除所有資料時(CACHE FLUSH2),第二主控裝置240可根據切換的控制而在非安全模式中運作。由於在安全模式期間儲存於快取244中的所有資料是在第二主控裝置240開始在非安全模式中運作之前或恰好在第二主控裝置240開始在非安全模式中運作之前被刪除,因此控制器200的安全性得以增強。
換言之,可分別在安全模式的入口及出口處實行快取清除操作CACHE FLUSH1及CACHE FLUSH2。如此一來,儲存於快取244中的所有資料得以刪除。
舉例而言,當不對快取244中的每一位址或每一快取線支援安全屬性時、或當無法辨識出所述安全屬性時,可如上所述刪除儲存於快取244中的所有資料。然而,當對快取244中的每一位址或每一快取線支援安全屬性時、或當可辨識出所述安全屬性時,則不需要刪除儲存於快取244中的所有資料。
如已參照圖1至圖11所述,主控側濾波器250可實作於控制器200中,乃因監聽控制及監聽操作(或在所述監聽操作期
間進行的初步安全檢查)是由主控側濾波器250而非從控側濾波器280實行。因此,對於監聽操作(或在所述監聽操作中的初步安全檢查),不需要對從控側濾波器280進行存取。
可僅基於在第一主控裝置220與第二主控裝置240之間傳遞的訊號來確定監聽時間或監聽延遲。如此一來,在包括主控側濾波器250的控制器200中進行的監聽操作的計時費用(timing overhead)得以消除。
如上所述,根據本發明概念的某些實施例,包括主控側濾波器的應用處理器或快取同調系統會消除在支援安全模式及非安全模式的資料處理系統中進行的監聽操作中的安全檢查的回寫訊務及記憶體讀取請求訊務。所述主控側濾波器管理全快取同調性(full cache coherency)。
當應用處理器或快取同調系統包括在快取同調網路中具有內部快取的主控裝置時,所述應用處理器或所述快取同調系統的費用得以減少或消除。包括主控側濾波器的所述應用處理器或所述快取同調系統不需要對快取同調互連件作出硬體上的改變或修改。另外,包括主控側濾波器的應用處理器或快取同調系統不需要對具有非安全意識或非信任意識的主控裝置作出硬體上的改變。
相較於傳統解決方案,根據本發明概念某些實施例的包括所述主控側濾波器的應用處理器或快取同調系統會消除快取同調網路的計時費用。由於應用處理器或快取同調系統對安全模式
與非安全模式之間的轉換(或切換)執行切換,因此邏輯決策電路的面積費用(area overhead)得以減少或最小化。
儘管已參照本發明概念的示例性實施例具體示出並闡述了本發明概念,然而此項技術中具有通常知識者將理解,可對其作出形式及細節上的各種變化,而此並不背離由以下申請專利範圍所界定的本發明概念的精神及範圍。
100:資料處理系統
200:控制器
210:快取同調互連件
220:第一主控裝置/第一主裝置
222:軟體
230:第二控制器
235:暫存器/特殊功能暫存器(SFR)
240:第二主控裝置/第二主裝置/處理機
250:主控側濾波器
260:第三控制器
265:暫存器/特殊功能暫存器(SFR)
270:第三主控裝置/第三主裝置
280:從控側濾波器
300:主記憶體裝置
ADD:監聽位址
AT1:第一安全屬性
AT2:第二安全屬性
AT3:第三安全屬性
CTR1:第一控制訊號
CTR2:第二控制訊號
SREQ1:第一監聽請求
SREQ2:第二監聽請求
TL:專用傳輸線
Claims (23)
- 一種應用處理器,包括:具有第一安全屬性的第一主控裝置、具有第二安全屬性的第二主控裝置、及主控側濾波器,各自分別藉由快取同調互連件進行互連,其中所述第一主控裝置用以傳送監聽請求,所述監聽請求包括第一監聽位址及安全屬性指示符,所述安全屬性指示符指示所述第一安全屬性,且所述主控側濾波器用以藉由以下方式來執行監聽操作:經由所述快取同調互連件自所述第一主控裝置接收所述監聽請求,將所述第二安全屬性與由所述監聽請求所指示的所述第一安全屬性進行比較,當所述第一安全屬性與所述第二安全屬性不同時,確定不將所述第一監聽位址傳送至所述第二主控裝置,及當所述第一安全屬性與所述第二安全屬性相同時,確定將所述第一監聽位址傳送至所述第二主控裝置。
- 如申請專利範圍第1項所述的應用處理器,其中所述第一安全屬性指示所述第一主控裝置的安全模式或非安全模式,且所述第二安全屬性指示所述第二主控裝置的所述安全模式或所述非安全模式。
- 如申請專利範圍第2項所述的應用處理器,其中當確定不將所述第一監聽位址傳送至所述第二主控裝置時,所述主控側 濾波器更用以經由所述快取同調互連件將第一快取未中傳送至所述第一主控裝置。
- 如申請專利範圍第3項所述的應用處理器,其中所述第二主控裝置包括:快取,用以儲存至少一個位址以及分別與所述至少一個位址中的每一者對應的資料;以及快取控制器,用以將所述至少一個位址中的每一者與自所述主控側濾波器傳送的所述第一監聽位址進行比較,且當在所述至少一個位址中辨識出所述第一監聽位址的匹配位址時,將與所述匹配位址對應的資料傳送至所述主控側濾波器,否則將第二快取未中傳送至所述主控側濾波器。
- 如申請專利範圍第4項所述的應用處理器,其中所述主控側濾波器更用以經由所述快取同調互連件將所述第一快取未中、所述對應的資料、或所述第二快取未中中的一者傳送至所述第一主控裝置。
- 如申請專利範圍第1項所述的應用處理器,更包括:控制器,用以因應於自所述第一主控裝置傳送的控制訊號而確定所述第二安全屬性,其中所述控制器用以利用專用傳輸線將所述第二安全屬性傳送至所述主控側濾波器。
- 如申請專利範圍第1項所述的應用處理器,其中所述主控側濾波器包括:記憶體裝置,用以儲存所述至少一個位址以及對於所述至少 一個位址中的每一者,儲存對應的記憶體區;以及決策邏輯電路,連接至所述記憶體裝置且用以比較所述第一安全屬性與所述第二安全屬性,並將所述第一監聽位址與所述至少一個位址中的每一者進行比較。
- 如申請專利範圍第7項所述的應用處理器,其中當確定所述第一安全屬性相同於所述第二安全屬性時且當確定所述第一監聽位址相同於所述至少一個位址中的匹配位址時,所述決策邏輯電路更用以將所述第一監聽位址傳送至所述第二主控裝置,且當確定所述第一安全屬性不同於所述第二安全屬性時或當確定所述第一監聽位址不同於所述至少一個位址中的每一者時,所述決策邏輯電路更用以經由所述快取同調互連件而將快取未中傳送至所述第一主控裝置。
- 如申請專利範圍第7項所述的應用處理器,其中所述記憶體裝置更用以對於每一記憶體區,儲存對應的安全屬性;所述決策邏輯電路更用以判斷所述第一安全屬性是否相同於所述第二安全屬性、以及與由所述第一監聽位址指示的記憶體區對應的第一安全屬性是否相同於與由所述至少一個位址中的匹配位址指示的記憶體區對應的第二安全屬性,且所述決策邏輯電路僅在所述第一安全屬性相同於所述第二安全屬性時確定將所述第一監聽位址傳送至所述第二主控裝置。
- 如申請專利範圍第2項所述的應用處理器,其中所述第一主控裝置更用以控制所述第二主控裝置的運作,以當所述第二 主控裝置退出所述安全模式且進入所述非安全模式時刪除在安全模式運作期間儲存於所述第二主控裝置的快取中的所有安全資料。
- 如申請專利範圍第1項所述的應用處理器,更包括從控側濾波器,所述從控側濾波器連接至所述快取同調互連件並用以因應於自所述第一主控裝置接收的記憶體存取請求而存取主記憶體裝置,其中所述從控側濾波器無法實行由所述主控側濾波器執行的所述監聽操作。
- 如申請專利範圍第1項所述的應用處理器,其中所述第一主控裝置是中央處理單元,且所述第二主控裝置是圖形處理單元、圖形處理單元通用計算、及數位訊號處理器中的一者。
- 一種資料處理系統,包括:控制器,連接至安置於所述控制器外部的主記憶體裝置,其中所述控制器包括:具有第一安全屬性的第一主控裝置、具有第二安全屬性的第二主控裝置、主控側濾波器、及從控側濾波器,各自分別藉由快取同調互連件進行互連,其中所述第一主控裝置用以傳送監聽請求,所述監聽請求包括第一監聽位址及安全屬性指示符,所述安全屬性指示符指示所述第一安全屬性,且所述主控側濾波器連接於所述快取同調互連件與所述第二主控裝置之間,且用以藉由以下方式來執行監聽操作:經由所述快 取同調互連件自所述第一主控裝置接收所述監聽請求,將所述第二安全屬性與由所述監聽請求所指示的所述第一安全屬性進行比較,當所述第一安全屬性與所述第二安全屬性不同時,確定不將所述第一監聽位址傳送至所述第二主控裝置,以及當所述第一安全屬性與所述第二安全屬性相同時,確定將所述第一監聽位址傳送至所述第二主控裝置;而且所述從控側濾波器連接於所述快取同調互連件與所述主記憶體裝置之間,且用以因應於經由所述快取同調互連件而自所述第一主控裝置接收的記憶體存取請求來實行針對所述主記憶體裝置的記憶體存取操作。
- 如申請專利範圍第13項所述的資料處理系統,其中所述第一安全屬性指示所述第一主控裝置的安全模式或非安全模式,所述第二安全屬性指示所述第二主控裝置的所述安全模式或所述非安全模式,且當確定不將所述第一監聽位址傳送至所述第二主控裝置時,所述主控側濾波器更用以經由所述快取同調互連件而將第一快取未中傳送至所述第一主控裝置。
- 如申請專利範圍第14項所述的資料處理系統,其中所述第二主控裝置包括:快取,用以儲存至少一個位址及分別與所述至少一個位址中的每一者對應的資料;以及 快取控制器,用以將所述至少一個位址中的每一者與自所述主控側濾波器傳送的所述第一監聽位址進行比較,且當在所述至少一個位址中辨識出所述第一監聽位址的匹配位址時,將與所述匹配位址對應的資料傳送至所述主控側濾波器,否則將第二快取未中傳送至所述主控側濾波器。
- 如申請專利範圍第15項所述的資料處理系統,其中所述主控側濾波器更用以經由所述快取同調互連件而將所述第一快取未中、所述對應的資料、或所述第二快取未中中的一者傳送至所述第一主控裝置。
- 如申請專利範圍第13項所述的資料處理系統,更包括:控制器,用以因應於自所述第一主控裝置傳送的控制訊號來確定所述第二安全屬性,其中所述控制器用以利用專用傳輸線將所述第二安全屬性傳送至所述主控側濾波器。
- 如申請專利範圍第13項所述的資料處理系統,其中所述主控側濾波器包括:記憶體裝置,用以儲存所述至少一個位址以及對於所述至少一個位址中的每一者,儲存對應的記憶體區;以及決策邏輯電路,連接至所述記憶體裝置且用以比較所述第一安全屬性與所述第二安全屬性,並將所述第一監聽位址與所述至少一個位址中的每一者進行比較。
- 如申請專利範圍第14項所述的資料處理系統,其中所述第一主控裝置更用以控制所述第二主控裝置的運作,以當所述 第二主控裝置退出所述安全模式且進入所述非安全模式時刪除在安全模式操作期間儲存於所述第二主控裝置的快取中的所有安全資料。
- 一種運作應用處理器的方法,所述應用處理器包括各自分別藉由快取同調互連件進行互連的具有第一安全屬性的第一主控裝置、具有第二安全屬性的第二主控裝置、及主控側濾波器,所述方法包括:經由所述快取同調互連件而將監聽請求傳送至所述主控側濾波器,所述監聽請求包括第一監聽位址及安全屬性指示符,所述安全屬性指示符指示來自所述第一主控裝置的所述第一安全屬性,以及因應於所述監聽請求而利用所述主控側濾波器藉由以下方式來執行監聽操作:將所述第二安全屬性與所述第一安全屬性進行比較,以及在所述第一安全屬性與所述第二安全屬性相同時,將所述第一監聽位址傳送至所述第二主控裝置,否則經由所述快取同調互連件而將第一快取未中傳送至所述第一主控裝置。
- 如申請專利範圍第20項所述的運作應用處理器的方法,其中所述第一安全屬性指示所述第一主控裝置的安全模式或非安全模式,且所述第二安全屬性指示所述第二主控裝置的所述安全模式或所述非安全模式。
- 一種運作資料處理系統的方法,所述資料處理系統包括各自分別藉由快取同調互連件進行互連的具有指示安全模式或非安全模式的第一安全屬性的請求器、具有指示所述安全模式或所述非安全模式的第二安全屬性的處理機、及主控側濾波器,所述方法包括:經由所述快取同調互連件及所述主控側濾波器而將來自所述請求器的監聽請求傳送至所述處理機,其中所述監聽請求指示所述請求器及所述處理機中的至少一者的目標位址及所述安全模式或所述非安全模式;判斷是否指示所述請求器及所述處理機中的所述至少一者的所述安全模式;當確定對所述請求器及所述處理機中的所述至少一者指示所述安全模式時,判斷所述目標位址是否對應於安全記憶體區,且若所述目標位址對應於安全記憶體區,則產生監聽命中,否則在所述主控側濾波器中產生監聽未中;以及當確定對所述請求器及所述處理機中的所述至少一者指示所述非安全模式時,判斷所述目標位址是否對應於安全記憶體區,且若所述目標位址對應於安全記憶體區,則產生監聽未中,否則在所述主控側濾波器中產生監聽未中。
- 如申請專利範圍第22項所述的運作資料處理系統的方法,其中所述判斷是否對所述請求器及所述處理機中的所述至少一者指示所述安全模式包括:第一判斷,判斷是否對所述請求器 指示所述安全模式;以及第二判斷,判斷是否對所述處理機指示所述安全模式。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562187365P | 2015-07-01 | 2015-07-01 | |
US62/187,365 | 2015-07-01 | ||
KR10-2016-0021651 | 2016-02-24 | ||
KR1020160021651A KR102485999B1 (ko) | 2015-07-01 | 2016-02-24 | 마스터-사이드 필터를 포함하는 캐시 코히런트 시스템과 이를 포함하는 데이터 처리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201717028A TW201717028A (zh) | 2017-05-16 |
TWI724004B true TWI724004B (zh) | 2021-04-11 |
Family
ID=57833434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105120864A TWI724004B (zh) | 2015-07-01 | 2016-07-01 | 應用處理器與其運作方法、及資料處理系統與其運作方法 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102485999B1 (zh) |
TW (1) | TWI724004B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11874783B2 (en) * | 2021-12-21 | 2024-01-16 | Advanced Micro Devices, Inc. | Coherent block read fulfillment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050240736A1 (en) * | 2004-04-23 | 2005-10-27 | Mark Shaw | System and method for coherency filtering |
US7017011B2 (en) * | 2001-02-15 | 2006-03-21 | Bull S.A. | Coherence controller for a multiprocessor system, module, and multiprocessor system with a multimodule architecture incorporating such a controller |
WO2014065876A1 (en) * | 2012-10-22 | 2014-05-01 | Robert Beers | High performance interconnect coherence protocol |
US20160162407A1 (en) * | 2012-10-24 | 2016-06-09 | Texas Instruments Incorporated | Multicore, multibank, fully concurrent coherence controller |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5966729A (en) * | 1997-06-30 | 1999-10-12 | Sun Microsystems, Inc. | Snoop filter for use in multiprocessor computer systems |
KR20060037174A (ko) * | 2004-10-27 | 2006-05-03 | 삼성전자주식회사 | 다중처리시스템에서의 스누핑 장치 및 그 방법 |
US7392351B2 (en) * | 2005-03-29 | 2008-06-24 | International Business Machines Corporation | Method and apparatus for filtering snoop requests using stream registers |
US10025721B2 (en) | 2013-10-27 | 2018-07-17 | Advanced Micro Devices, Inc. | Input/output memory map unit and northbridge |
-
2016
- 2016-02-24 KR KR1020160021651A patent/KR102485999B1/ko active IP Right Grant
- 2016-07-01 TW TW105120864A patent/TWI724004B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7017011B2 (en) * | 2001-02-15 | 2006-03-21 | Bull S.A. | Coherence controller for a multiprocessor system, module, and multiprocessor system with a multimodule architecture incorporating such a controller |
US20050240736A1 (en) * | 2004-04-23 | 2005-10-27 | Mark Shaw | System and method for coherency filtering |
WO2014065876A1 (en) * | 2012-10-22 | 2014-05-01 | Robert Beers | High performance interconnect coherence protocol |
US20160162407A1 (en) * | 2012-10-24 | 2016-06-09 | Texas Instruments Incorporated | Multicore, multibank, fully concurrent coherence controller |
Also Published As
Publication number | Publication date |
---|---|
KR102485999B1 (ko) | 2023-01-06 |
KR20170004831A (ko) | 2017-01-11 |
TW201717028A (zh) | 2017-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11036650B2 (en) | System, apparatus and method for processing remote direct memory access operations with a device-attached memory | |
CN106326148B (zh) | 数据处理系统及其操作方法 | |
US8862801B2 (en) | Handling atomic operations for a non-coherent device | |
US9858190B2 (en) | Maintaining order with parallel access data streams | |
KR20180007374A (ko) | 메모리 채널의 소프트웨어 트레이닝을 수행하는 전자 장치 및 그것의 메모리 채널 트레이닝 방법 | |
KR102106261B1 (ko) | 메모리 컨트롤러의 작동 방법과 이를 포함하는 장치들의 작동 방법들 | |
KR20160099722A (ko) | 캐시-코히어런시를 갖춘 집적 회로들 | |
US20220114098A1 (en) | System, apparatus and methods for performing shared memory operations | |
US10592465B2 (en) | Node controller direct socket group memory access | |
WO2023121766A1 (en) | System, apparatus and methods for direct data reads from memory | |
TWI724004B (zh) | 應用處理器與其運作方法、及資料處理系統與其運作方法 | |
WO2017016427A1 (zh) | 根据目录信息维护Cache数据一致性的方法及装置 | |
US11983115B2 (en) | System, device and method for accessing device-attached memory | |
US20230169022A1 (en) | Operating method of an electronic device | |
US20130007768A1 (en) | Atomic operations on multi-socket platforms | |
US9183149B2 (en) | Multiprocessor system and method for managing cache memory thereof | |
US10963409B2 (en) | Interconnect circuitry and a method of operating such interconnect circuitry | |
US8769239B2 (en) | Re-mapping memory transactions | |
US11874783B2 (en) | Coherent block read fulfillment | |
EP4191419A1 (en) | Operating method of an electronic device | |
TWI774095B (zh) | 直接記憶體存取控制器、使用直接記憶體存取控制器之電子裝置以及操作直接記憶體存取控制器的方法 | |
KR20220070951A (ko) | 메모리 장치, 이를 포함하는 시스템 및 메모리 장치의 동작 방법 |