據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的犧牲處理器在處理器交換的過程中的操作的流程圖;
[0042]圖16是示意性地示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的用于系統(tǒng)芯片的驗(yàn)證的構(gòu)造的另一實(shí)施例的框圖;以及
[0043]圖17是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的圖16所示的主機(jī)系統(tǒng)芯片的測試程序產(chǎn)生方法的流程圖。
【具體實(shí)施方式】
[0044]將參照附圖詳細(xì)描述實(shí)施例。然而,本發(fā)明構(gòu)思可按照多種不同形式實(shí)現(xiàn),并且不應(yīng)理解為僅限于示出的實(shí)施例。相反,將這些實(shí)施例作為示例提供以使得本公開將是徹底和完整的,并且將把本發(fā)明構(gòu)思完全傳遞給本領(lǐng)域技術(shù)人員。因此,將不參照本發(fā)明構(gòu)思的一些示例實(shí)施例來描述已知的工藝、元件和技術(shù)。除非另有說明,否則相同的附圖標(biāo)記在附圖和書面說明書中始終指代相同的元件,因此將不重復(fù)描述。在附圖中,為了清楚起見,會夸大個層和區(qū)的尺寸和相對尺寸。
[0045]應(yīng)該理解,雖然本文中可使用術(shù)語“第一”、“第二”、“第三”等來描述多個元件、組件、區(qū)、層和/或部分,但是這些元件、組件、區(qū)、層和/或部分不應(yīng)被這些術(shù)語限制。這些術(shù)語僅用于將一個元件、組件、區(qū)、層或部分與另一區(qū)、層或部分區(qū)分開。因此,下面討論的第一元件、第一組件、第一區(qū)、第一層或第一部分可被稱作第二元件、第二組件、第二區(qū)、第二層或第二部分,而不脫離本發(fā)明構(gòu)思的教導(dǎo)。
[0046]為了方便描述,本文中可使用諸如“在……下方”、“在……之下”、“下”、“下方”、“在……之上”、“上”等的空間相對術(shù)語,以描述附圖中所示的一個元件或特征與另一個(或另一些)元件或特征的關(guān)系。應(yīng)該理解,空間相對術(shù)語旨在涵蓋使用或操作中的裝置的除圖中所示的取向之外的不同取向。例如,如果圖中的裝置顛倒,則被描述為“在其它元件或特征之下”或“在其它元件或特征以下”或“其它元件或特征下方”的元件將因此被取向?yàn)椤霸谄渌蛱卣髦稀?。因此,示例性術(shù)語“在……之下”和“下方”可涵蓋“在……之上”和“在……之下”這兩個取向。裝置可按照其它方式取向(旋轉(zhuǎn)90度或位于其它取向),并且本文所用的空間相對描述語將相應(yīng)地解釋。另外,還應(yīng)該理解,當(dāng)一層被稱作“在兩層之間”時,所述一層可為所述兩層之間的唯一層,或者還可存在一個或多個中間層。
[0047]本文所用的術(shù)語僅是為了描述特定實(shí)施例,并且不旨在限制本發(fā)明構(gòu)思。如本文所用,除非上下文清楚地另有說明,否則單數(shù)形式“一個”、“一”也旨在包括復(fù)數(shù)形式。還應(yīng)該理解,當(dāng)術(shù)語“包括”用于本說明書中時,指明存在所列特征、整體、步驟、操作、元件和/或組件,但不排除存在或添加一個或多個其它特征、整體、步驟、操作、元件、組件和/或它們的組。如本文所用,術(shù)語“和/或”包括相關(guān)所列項(xiàng)之一或多個的任何和所有組合。另外,術(shù)語“示例性”旨在指代示例或說明。
[0048]應(yīng)該理解,當(dāng)一個元件或?qū)颖环Q作“位于”另一元件或?qū)印吧稀薄ⅰ斑B接至”、“結(jié)合至”或“鄰近于”另一元件或?qū)訒r,所述一個元件或?qū)涌芍苯游挥诹硪辉驅(qū)由?、連接至、結(jié)合至或鄰近于另一元件或?qū)?,或者可存在中間元件或?qū)?。相反,?dāng)一個元件被稱作“直接位于”另一元件或?qū)印吧稀?、“直接連接至”、“直接結(jié)合至”或“直接鄰近于”另一元件或?qū)訒r,則不存在中間元件或?qū)印?br>[0049]除非另外限定,否則本文中使用的所有術(shù)語(包括技術(shù)和科學(xué)術(shù)語)具有與本發(fā)明構(gòu)思所屬領(lǐng)域的普通技術(shù)人員之一通常理解的含義相同的含義。還應(yīng)該理解,除非本文中明確這樣定義,否則諸如在通用詞典中定義的那些的術(shù)語應(yīng)該被解釋為具有與它們在相關(guān)技術(shù)和/或本說明書的上下文中的含義一致的含義,而不應(yīng)該理想化地或過于正式地解釋它們。
[0050]下面,將以系統(tǒng)芯片(SoC)為電子裝置的示例進(jìn)行舉例說明以描述本發(fā)明構(gòu)思的各個方面和功能。然而,本發(fā)明構(gòu)思不限于此。另外,可通過任何其它實(shí)施例實(shí)施本發(fā)明構(gòu)思。
[0051]圖1是示意性地示出根據(jù)本發(fā)明構(gòu)思的實(shí)施例的系統(tǒng)芯片的框圖。參照圖1,計(jì)算裝置100包括系統(tǒng)芯片(SoC) 110和存儲器器件120。
[0052]SoC 110包括存儲器控制器111。存儲器控制器111提供與存儲器器件120的接口。SoC 110通過存儲器控制器111將數(shù)據(jù)存儲在存儲器器件120以及/或者通過存儲器控制器111從存儲器器件120讀取數(shù)據(jù)。
[0053]SoC 110包括第一高速緩存112和第二高速緩存113。然而,本發(fā)明構(gòu)思不限于此。例如,SoC 110可包括多個高速緩沖存儲器。第一高速緩沖存儲器112和第二高速緩沖存儲器113通過系統(tǒng)總線連接至存儲器控制器111。第一高速緩沖存儲器112和第二高速緩沖存儲器113臨時存儲將在處理器114-1至114-8中使用的數(shù)據(jù)。第一高速緩沖存儲器112和第二高速緩沖存儲器113可由(但不限于)DRAM、移動DRAM、SRAM和/或任何其它類似的非易失性存儲器器件實(shí)現(xiàn)。
[0054]SoC 110包括第一處理器114-1至第八處理器114-8。然而,本發(fā)明構(gòu)思不限于此。SoC 110可包括比圖1所示更多的處理器或者比圖1所示更少的處理器。例如,第一處理器114-1至第八處理器114-8中的每一個可為中央處理單元(CPU)、多核處理器、眾核處理器、數(shù)字信號處理器(DSP)和/或任何其它類似的處理器。第一處理器114-1至第八處理器114-8可具有彼此相同的功能和性能??商鎿Q地,第一處理器114-1至第八處理器114-8的功能和性能可與第一處理器114-1至第八處理器114-8中的另一些中的一個或多個的功能和性能不同。例如,在各個實(shí)施例中,第一處理器114-1至第八處理器114-8中的一個或多個可包括小核和大核。在各個實(shí)施例中,第一處理器114-1至第八處理器114-8中的一個或多個可為小核。在各個實(shí)施例中,第一處理器114-1至第八處理器114-8中的一個或多個可為大核。術(shù)語“核”和/或“處理核”可指讀取和執(zhí)行程序代碼和/或軟件模塊的獨(dú)立的處理裝置。在多核處理器中,各個核可同時執(zhí)行和/或運(yùn)行程序代碼,從而增大多核處理器的處理速度。術(shù)語“大核”和“小核”可指與核相關(guān)的大小、處理速度和/或功耗。例如,大核可為與小核相比消耗相對大量的功率但與小核相比具有更快的處理速度的處理器。小核可為與大核相比具有相對慢的處理速度但與大核相比消耗相對少的功率的處理器。在各個實(shí)施例中,大核可用于處理和/或執(zhí)行相對密集的任務(wù)(例如,三維(3D)圖形等),而小核可用于處理和/或執(zhí)行相對不密集的任務(wù)(例如,移動電話相關(guān)的功能等)。應(yīng)該注意,第一處理器114-1至第八處理器114-8不限于上述公開內(nèi)容,并且第一處理器114-1至第八處理器114-8可包括任何類型的計(jì)算機(jī)處理裝置。
[0055]在圖1中,本發(fā)明構(gòu)思的示例實(shí)施例例示如下:第一處理器114-1至第四處理器114-4連接至第一高速緩沖存儲器112,并且第五處理器114-5至第八處理器114-8連接至第二高速緩沖存儲器113。
[0056]諸如指令、程序代碼、軟件模塊、數(shù)據(jù)和/或控制信號的信息在第一處理器114-1至第八處理器114-8之間通過系統(tǒng)總線交換。信息通過系統(tǒng)總線在存儲器控制器111與處理器114-1至114-8中的每一個之間交換。
[0057]存儲器器件120存儲從存儲器控制器111接收的數(shù)據(jù)。根據(jù)各個實(shí)施例,存儲器器件120存儲用于驗(yàn)證本發(fā)明構(gòu)思的SoC 110的程序和數(shù)據(jù)。
[0058]圖2是示意性地示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的借由原位驗(yàn)證來驗(yàn)證圖1所示的系統(tǒng)芯片的構(gòu)造的框圖。參照圖2,存儲器器件120接收并存儲測試模板和測試產(chǎn)生器。在各個實(shí)施例中,SoC 110利用測試模板和測試產(chǎn)生器產(chǎn)生測試程序。在這樣的實(shí)施例中,測試產(chǎn)生器的程序代碼和/或軟件模塊可從存儲器器件120被裝載到SoC 110的處理器中,以產(chǎn)生測試程序。一旦用于測試產(chǎn)生器的序代碼和/或軟件模塊被裝載到SoC 110的處理器中,就將SoC 110的處理器編程以執(zhí)行由測試產(chǎn)生器的程序代碼描繪的各種操作和功能,從而將SoC 110的處理器轉(zhuǎn)變?yōu)閷S锰幚砥鳌oC 110利用測試程序執(zhí)行原位驗(yàn)證操作。
[0059]在原位驗(yàn)證操作期間,將測試模板和測試產(chǎn)生器存儲在連接至待驗(yàn)證的SoC 110的存儲器器件120中。測試產(chǎn)生器可為一種程序、程序代碼和/或軟件模塊。一旦將程序代碼和/或軟件模塊裝載到SoC 110的處理器中,包括測試產(chǎn)生器的處理器就可利用測試模板自動地產(chǎn)生測試程序。測試程序包括將通過SoC 110執(zhí)行的至少一個指令。例如,至少一個指令可由隨機(jī)指令序列形成。
[0060]測試產(chǎn)生器讀取測試模板中的指令語句,并且基于讀取的指令語句產(chǎn)生測試程序的指令。例如,測試產(chǎn)生器讀取一個指令語句以產(chǎn)生一個指令。另外,測試產(chǎn)生器可讀取多個指令語句以產(chǎn)生一個指令。測試產(chǎn)生器可讀取一個指令語句以產(chǎn)生多個指令。
[0061]測試程序在上SoC 110執(zhí)行。SoC 110執(zhí)行測試程序以驗(yàn)證SoC 110的性能。
[0062]圖3是示意性地示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的借由利用參考模型的非原位驗(yàn)證方式來驗(yàn)證圖1所示的系統(tǒng)芯片的構(gòu)造的框圖。參照圖3,主機(jī)計(jì)算裝置200產(chǎn)生測試程序并將其傳遞至待驗(yàn)證的計(jì)算裝置300。主機(jī)計(jì)算裝置200包括主機(jī)系統(tǒng)芯片(SoC) 210和主機(jī)存儲器器件220。待驗(yàn)證的計(jì)算裝置300包括待驗(yàn)證的系統(tǒng)芯片(SoC) 310和待驗(yàn)證的存儲器器件320。主機(jī)SoC 210和待驗(yàn)證的SoC 310可為與圖1所示的SoC 110相同或相似的構(gòu)造。
[0063]在操作期間,主機(jī)存儲器器件220接收并存儲測試模板、參考模型和測試產(chǎn)生器。參考模型和測試產(chǎn)生器可為程序。測試產(chǎn)生器利用測試模板自動地產(chǎn)生測試程序。將產(chǎn)生測試程序時產(chǎn)生的指令反饋到參考模型中??筛鶕?jù)包括在待驗(yàn)證的SoC 310中的處理器來構(gòu)造參考模型。例如,參考模型可為通過將包括在待驗(yàn)證的SoC 310中的處理器模型化所獲得的軟件。當(dāng)執(zhí)行測試程序的各個指令時,參考模型提供關(guān)于包括在待驗(yàn)證的SoC 310中的處理器的狀態(tài)改變的信息。也就是說,參考模型響應(yīng)于饋送的指令而輸出通過跟蹤包括在待驗(yàn)證的SoC 310中的處理器的狀態(tài)改變獲得的模型化結(jié)果。參考模型基于饋送的指令向測試產(chǎn)生器提供模型化結(jié)果。測試產(chǎn)生器基于從參考模型傳遞的模型化結(jié)果產(chǎn)生下一個指令。將產(chǎn)生的測試程序提供至待驗(yàn)證的計(jì)算裝置300。
[0064]可將測試程序存儲在待驗(yàn)證的計(jì)算裝置300的存儲器器件320中。測試程序在待驗(yàn)證的SoC 310上執(zhí)行。待驗(yàn)證的SoC 310利用測試程序執(zhí)行驗(yàn)證操作。
[0065]圖4是示意性地示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的用于驗(yàn)證系統(tǒng)芯片的構(gòu)造的框圖。參照圖4,計(jì)算裝置400執(zhí)行原位驗(yàn)證方法。包括在系統(tǒng)芯片(SoC)410中的處理器包括與圖1所示的SoC 1