TW201447563A - Cpu的總線測試裝置及其方法 - Google Patents
Cpu的總線測試裝置及其方法 Download PDFInfo
- Publication number
- TW201447563A TW201447563A TW102120603A TW102120603A TW201447563A TW 201447563 A TW201447563 A TW 201447563A TW 102120603 A TW102120603 A TW 102120603A TW 102120603 A TW102120603 A TW 102120603A TW 201447563 A TW201447563 A TW 201447563A
- Authority
- TW
- Taiwan
- Prior art keywords
- cpu
- module
- read
- write
- cpus
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56012—Timing aspects, clock generation, synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
- G06F11/2242—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本發明之一種CPU的總線測試裝置及其方法,所述測試裝置與一CPU模組連接,該CPU模組與一記憶體模組連接。所述CPU模組包含多個CPU,而該多個CPU又分別包含一一級緩存,該多個CPU分別通過多條QPI總線與其他CPU的一級緩存連接,所述記憶體模組包含多個記憶體,所述總線測試裝置包含一讀取控制模組、一寫入控制模組以及一資料刷新模組,該測試裝置通過控制多個CPU之間的相互讀取和寫入操作測試出每條QPI總線的訪問速度。
Description
本發明涉及一種伺服器系統的總線測試裝置及其方法,尤其涉及一種測試QPI總線的裝置及其方法。
隨著互聯網技術的快速發展,伺服器系統給人們的生活帶來了越來越大的便利。傳統的伺服器只有一個CPU(中央處理器),這樣的架構已經不能滿足對資料的處理要求,所以產生了一種SMP系統(多處理機系統),配合FSB(前端總線)技術,伺服器的資料處理能力有了大幅度的提高。但是,FSB技術需要北橋晶片作為多個CPU之間的資料通信橋樑,原本只需要在CPU之間傳輸的資料訪問速度因北橋晶片的加入而大大變慢,為瞭解決這一問題,一種新的QPI(快速通道互聯)總線技術應運而生。QPI總線技術使多個CPU之間的資料直接傳輸成為可能,資料訪問速度也因此大大提高。在對使用QPI總線技術的伺服器產品進行測試時,往往需要檢測QPI總線的實際訪問速度,以判斷伺服器產品的實際性能是否達到設計要求。
有鑒於此,有必要提供一種對SMP系統的QPI總線訪問速度進行測試的裝置及其方法。
本發明提供了一種CPU的總線測試裝置,所述總線測試裝置與一CPU模組相連,該CPU模組與一記憶體模組連接,該CPU模組中設置多個CPU,該多個CPU通過多條QPI總線連接,該總線測試裝置包括:
一讀取控制模組,用於向所述CPU模組中的CPU發送讀取操作指令,並計算讀取速度;
一寫入控制模組,用於向所述CPU模組中的CPU發送寫入操作指令,並計算寫入速度;以及
一資料刷新模組,用於在所述CPU模組中的CPU完成讀取或者寫入操作後清空對應一級緩存中的資料。
本發明還提供了一種CPU的總線測試方法,能夠通過多個CPU之間的相互讀取和寫入操作測試出每條QPI總線的訪問速度,該方法包括:
a.向所述CPU模組中的CPU發送一讀取操作指令,並根據讀取時間和讀取資料的大小計算讀取速度;
b.向所述CPU模組中完成讀取操作的CPU發送一資料刷新指令;
c.向所述CPU模組中完成讀取操作的CPU發送一寫入操作指令,並根據寫入時間和寫入資料的大小計算寫入速度。
本發明之CPU的總線測試裝置與方法,通過多個CPU之間相連的QPI總線,對每個CPU進行反復讀取和寫入,以計算出QPI總線的訪問速度,為使用QPI總線的伺服器產品的合格性判斷提供依據。
T1~T3...QPI總線
10...CPU模組
11...第一CPU
111...第一一級緩存
12...第二CPU
121...第二一級緩存
13...第三CPU
131...第三一級緩存
第四CPU..14
141...第四一級緩存
20...記憶體模組
21...第一記憶體
22...第二記憶體
23...第三記憶體
24...第四記憶體
30...總線測試裝置
31...QPI總線確定模組
32...緩存確定模組
33...記憶體分配模組
34...資料寫入模組
35...讀取控制模組
36...資料刷新模組
37...寫入控制模組
38...存儲模組
39...顯示模組
S1~S11...步驟
圖1為本發明一實施方式中的系統組成示意圖。
圖2為圖1系統的方法流程圖。
下面將結合圖式,對本發明作進一步的詳細說明。
請參閱圖1,本發明提供了一種CPU的總線測試裝置30,所述總線測試裝置30與一CPU模組10連接,該CPU模組10又與一記憶體模組20相連。所述CPU模組10包含多個CPU,該多個CPU中的每個CPU包含一一級緩存,每個CPU需要處理的資料首先會存放到其一級緩存中。該CPU模組10中的每個CPU分別通過多條QPI總線與其他CPU的一級緩存連接,該多條QPI總線負責CPU之間資料的傳輸。所述記憶體模組20也包含多個記憶體,該記憶體模組20中記憶體的數量與所述CPU模組10中CPU的數量相同,並與每個CPU中的一級緩存一一對應。所述總線測試裝置30包含一QPI總線確定模組31、一緩存確定模組32、一記憶體分配模組33、一資料寫入模組34、一讀取控制模組35、一資料刷新模組36、一寫入控制模組37、一存儲模組38以及一顯示模組39。在本實施方式中,所述CPU模組10包含4個CPU,分別為第一CPU 11、第二CPU 12、第三CPU 13以及第四CPU 14,對應地,該4個CPU包含的一級緩存分別為第一一級緩存111、第二一級緩存121、第三一級緩存131以及第四一級緩存141。該4個CPU之間通過12條QPI總線連接(圖示出3條),T1、T2和T3分別為第一CPU 11與第二CPU 12、第三CPU 13以及第四CPU 14的一級緩存連接的QPI總線。所述記憶體模組20也包含4個記憶體,分別為第一記憶體21、第二記憶體22、第三記憶體23以及第四記憶體24,該第一記憶體21、第二記憶體22、第三記憶體23以及第四記憶體24分別與所述第一一級緩存111、第二一級緩存121、第三一級緩存131以及第四一級緩存141對應連接。在本實施方式中,所述總線測試裝置30為一具有多功能模組的控制裝置,例如FPGA(現場可編程閘陣列)晶片和MCU(微控制器)等,記憶體模組20為一記憶體設備(圖未示出),其中的第一記憶體21、第二記憶體22、第三記憶體23以及第四記憶體24分別為該記憶體設備上的4個記憶體區域。
所述QPI總線確定模組31用於向所述CPU模組10中的每個CPU發送指令確定該CPU模組10中CPU的數量並計算相應的QPI總線數量。在本實施方式中,若所述CPU模組10中的CPU數量為M,則對應的QPI總線數量為M*(M-1)。
所述緩存確定模組32用於向所述CPU模組10中的每個CPU發送指令並確定每個CPU的一級緩存大小。在本實施方式中,該CPU模組10中的每個CPU為相同的型號,其一級緩存大小也相同。
所述記憶體分配模組33用於根據所述緩存確定模組32確定的每個CPU的緩存大小將一記憶體設備分為與所述CPU模組10中CPU數量及其一級緩存大小相對應的多個記憶體區域。
所述資料寫入模組34用於向所述記憶體分配模組33分配出的多個記憶體隨機寫入與該多個記憶體大小相同的資料。
所述讀取控制模組35用於向所述CPU模組10中的每個CPU發送讀取操作指令,記錄每個CPU的讀取操作時間,並根據每個CPU的讀取操作時間以及所讀取的資料大小計算相應的讀取速度。
所述資料刷新模組36用於在所述CPU模組10中的CPU完成讀取或寫入操作後清空一級緩存中的資料。
所述寫入控制模組37用於向所述CPU模組10中的每個CPU發送讀取操作指令,記錄每個CPU的寫入操作時間,並根據每個CPU的寫入操作時間以及寫入資料的大小計算相應的寫入速度。
所述存儲模組38用於存儲所述記憶體分配模組33分配的多個記憶體的對應位址指標以及讀取控制模組35和寫入控制模組36計算出的每條QPI總線的讀取速度和寫入速度。
所述顯示模組39用於顯示所述存儲模組38存儲的每條QPI總線的讀取速度和寫入速度。
請參閱圖2,為本發明一實施方式中用於所述CPU的總線測試裝置10上的CPU總線測試方法的流程圖。所述CPU總線測試方法能夠通過多個CPU之間的相互讀取和寫入操作測試出每條QPI總線的訪問速度,該方法包括:
步驟S1,所述QPI總線確定模組31向CPU模組10中的每個CPU分別發送一詢問指令,通過該多個CPU的回應資訊確定該多個CPU的數量M,並根據該CPU的數量M計算與該多個CPU連接的QPI總線數量N。在本實施方式中,CPU的數量M為4,故根據公式N=M*(M-1)可計算出與該多個CPU連接的QPI總線數量N為12。
步驟S2,所述緩存確定模組32向CPU模組10中的每個CPU分別發送一一級緩存大小詢問指令,並通過該多個CPU的回應資訊確定與該多個CPU對應的的一級緩存大小,由該總線測試裝置30的存儲模組38記錄每個一級緩存的大小以及與各個CPU的對應關係。在本實施方式中,由於該CPU模組10中的4個CPU具有相同的型號,故該4個CPU的一級緩存大小相同,均為m。
步驟S3,所述記憶體分配模組33根據與所述CPU模組10中多個CPU對應的多個一級緩存的大小將所述記憶體模組20分配為多個與該多個一級緩存一一對應的記憶體,並由所述存儲模組38記錄指向該多個記憶體的位址指標以及每個CPU與記憶體的對應關係。在本實施方式中,由於該多個CPU中的一級緩存大小均為m,故該記憶體分配模組33分配出的4個記憶體為該記憶體模組上4個大小相同的區域,且該記憶體區域的大小均為m。
步驟S4,所述資料寫入模組34向所述記憶體分配模組33分配的多個記憶體中寫入資料。在本實施方式中,該資料寫入模組34向記憶體模組20中的4個記憶體中分別隨機寫入大小為m的數據。
步驟S5,所述讀取控制模組35向所述CPU模組10的其中一個CPU發送一讀取操作指令,該CPU接收到讀取操作指令後對其他CPU的一級緩存開始進行讀取操作。
具體地,以第一CPU 11為例,該第一CPU 11接收到讀取操作指令後,按順序讀取所述記憶體模組20的第二記憶體22、第三記憶體23和第四記憶體24中的資料。以第二記憶體22為例,該第一CPU 11首先通過QPI總線T1以及指向該第二記憶體22的位址指標將該第二記憶體22中的資料複製到第二一級緩存121,然後讀取該第二一級緩存121中的資料,並存放於第一一級緩存111中,由該讀取控制模組35記錄讀取操作的時間和讀取資料的大小,並計算本次讀取操作的讀取速度。例如,在t1的時間內讀取了大小為m的資料,那麼讀取速度就是m/t1。當本次讀取操作完成後,所述存儲模組38記錄讀取速度,並按順序進行第三記憶體23和第四記憶體24的讀取操作。
步驟S6,所述資料刷新模組36向完成讀取操作的CPU發送一資料刷新指令,該CPU接收到該指令後清空一級緩存中的資料。
具體地,仍以第一CPU 11讀取第二CPU 12對應的第二一級緩存121中的資料為例,所述第一CPU 11接收到資料刷新指令後,清空第一一級緩存111和第二一級緩存121中的資料。
步驟S7,所述寫入控制模組37向完成讀取操作的CPU發送一寫入操作指令,該CPU接收到寫入操作命令後開始對其他CPU的一級緩存進行寫入操作。
具體地,在所述第一CPU 11接收到寫入操作指令後,按順序向第二一級緩存121、第三一級緩存131和第四一級緩存141中寫入資料。以第二一級緩存121為例,該第一CPU 11首先將第一記憶體21中的資料複製到第一一級緩存111中,然後通過QPI總線T1將該第一一級緩存111中的資料寫入到第二一級緩存121中,由該寫入控制模組37記錄寫入操作的時間和寫入資料的大小,並計算本次寫入操作的寫入速度。例如,在t2的時間內寫入了大小為m的資料,那麼寫入速度就是m/t2。當本次寫入操作完成後,所述存儲模組38記錄寫入速度,並按順序進行第三一級緩存131和第四一級緩存141的寫入操作。
步驟S8,所述資料刷新模組36向完成寫入操作的CPU發送一資料刷新指令,該CPU接收到該指令後清空一級緩存中的資料。
具體地,仍以第一CPU 11將資料寫入第二CPU 12對應的第二一級緩存121中為例,所述第一CPU 11接收到資料刷新指令後,清空第一一級緩存111和第二一級緩存121中的資料。
步驟S9,變換其他CPU,重複以上步驟S5~S7,直到與所有CPU連接的QPI總線的讀取和寫入速度都測試完畢。為了確保計算結果的精確,需要重複進行多次測試,再將多次測試的讀取速度和寫入速度分別取平均值即可,QPI總線的訪問速度即包含讀取速度和寫入速度。
步驟S10,所述存儲模組38存儲所述讀取控制模組35和寫入控制模組37計算出的每一條QPI總線的讀取和寫入速度。
步驟S11,所述顯示模組39將存儲模組38中存儲的每一條QPI總線的讀取和寫入速度顯示出來。在本實施方式中,該顯示模組為一顯示幕。
本發明之CPU的總線測試裝置與方法,利用一測試裝置控制多個CPU進行相互的讀取和寫入操作,並計算和記錄QPI總線的訪問速度,為使用QPI總線的伺服器產品的合格性判斷提供依據。
本技術領域的普通技術人員應當認識到,以上的實施方式僅是用來說明本發明,而並非用作為對本發明的限定,只要在本發明的實質精神範圍之內,對以上實施方式所作的適當改變和變化都落在本發明要求保護的範圍之內。
T1~T3...QPI總線
10...CPU模組
11...第一CPU
111...第一一級緩存
12...第二CPU
121...第二一級緩存
13...第三CPU
131...第三一級緩存
14...第四CPU
141...第四一級緩存
20...記憶體模組
21...第一記憶體
22...第二記憶體
23...第三記憶體
24...第四記憶體
30...總線測試裝置
31...QPI總線確定模組
32...緩存確定模組
33...記憶體分配模組
34...資料寫入模組
35...讀取控制模組
36...資料刷新模組
37...寫入控制模組
38...存儲模組
39...顯示模組
Claims (10)
- 一種CPU的總線測試裝置,所述總線測試裝置與一CPU模組相連,該CPU模組與一記憶體模組連接,該CPU模組中設置多個CPU,該多個CPU通過多條QPI總線連接,其改良在於,該總線測試裝置包括:
一讀取控制模組,用於向所述CPU模組中的CPU發送讀取操作指令,並計算讀取速度;
一寫入控制模組,用於向所述CPU模組中的CPU發送寫入操作指令,並計算寫入速度,以及
一資料刷新模組,用於在所述CPU模組中的CPU完成讀取或者寫入操作後清空對應一級緩存中的資料。 - 如申請專利範圍第1項所述的CPU的總線測試裝置,其中,所述測試裝置還包括:
一緩存確定模組,用於向所述CPU模組中的每個CPU發送一詢問指令,並通過每個CPU的回應資訊確定對應緩存的大小;
一記憶體分配模組,根據所述緩存確定模組確定的緩存大小將一記憶體模組分配為多個與緩存大小相應的記憶體,以及
一資料寫入模組,用於向所述記憶體分配模組分配的多個記憶體隨機寫入資料。 - 如申請專利範圍第1項所述的CPU的總線測試裝置,其中,所述總線測試裝置還包括:
一存儲模組,用於存儲所述讀取控制模組和寫入控制模組計算出的讀取和寫入速度,以及
一顯示模組,用於顯示所述存儲模組中存儲的讀取速度和寫入速度。 - 如申請專利範圍第1項所述的CPU的總線測試裝置,其中,所述存儲模組還用於存儲所述CPU模組中多個CPU的一級緩存大小以及指向所述記憶體分配模組分配的記憶體的位址指標。
- 如申請專利範圍第1項所述的CPU的總線測試裝置,其中,所述顯示模組為一顯示幕。
- 一種CPU的總線測試方法,能夠通過多個CPU之間的相互讀取和寫入操作測試出每條QPI總線的訪問速度,其改良在於,該方法包括:
a.向所述CPU模組中的一個CPU發送一讀取操作指令,並根據讀取時間和讀取資料的大小計算讀取速度;
b.向所述完成讀取操作的CPU發送一資料刷新指令;
c.向所述完成讀取操作的CPU發送一寫入操作指令,並根據寫入時間和寫入資料的大小計算寫入速度; - 如申請專利範圍第6項所述的CPU的總線測試方法,其中,所述步驟a之前還包括步驟:
d.向所述CPU模組中的多個CPU發送一詢問指令,根據該多個CPU的回應資訊確定緩存的大小;
e.根據所述緩存確定模組確定的緩存大小將一記憶體模組分配為多個與緩存大小相應的記憶體;
f.向所述記憶體分配模組分配的多個記憶體隨機寫入資料。 - 如申請專利範圍第6項所述的CPU的總線測試方法,其中,所述步驟d之後還包括步驟:
g.向所述完成寫入操作的CPU發送一資料刷新指令;
h.變換其他CPU,重複以上步驟a~c,直到與所有CPU連接的QPI總線的讀取和寫入速度都測試完畢。 - 如申請專利範圍第6項所述的CPU的總線測試方法,其中,還包括步驟:
i.顯示每條QPI總線的讀取速度和寫入速度。 - 如申請專利範圍第6項所述的CPU的總線測試方法,其中,所述CPU模組中多個CPU在進行讀取和寫入操作時,連接同一個CPU的所有QPI總線順序進行讀取或寫入操作。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310222082.XA CN104239173A (zh) | 2013-06-06 | 2013-06-06 | Cpu的总线测试装置及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201447563A true TW201447563A (zh) | 2014-12-16 |
Family
ID=52006547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102120603A TW201447563A (zh) | 2013-06-06 | 2013-06-10 | Cpu的總線測試裝置及其方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140365837A1 (zh) |
CN (1) | CN104239173A (zh) |
TW (1) | TW201447563A (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484250B (zh) * | 2014-11-28 | 2018-04-27 | 英业达科技有限公司 | 快速通道互联总线的压力测试方法和压力测试装置 |
CN107239376B (zh) * | 2017-06-23 | 2020-12-01 | 苏州浪潮智能科技有限公司 | 一种服务器互联芯片的自动化调试方法及装置 |
CN108121628B (zh) * | 2017-12-19 | 2021-01-05 | 珠海市君天电子科技有限公司 | 一种读写速度的测试方法、装置及电子设备 |
CN108984453B (zh) * | 2018-07-12 | 2021-02-02 | 山东超越数控电子股份有限公司 | 一种基于申威平台的pcie总线测速系统及方法 |
CN109582597A (zh) * | 2018-11-02 | 2019-04-05 | 广东工业大学 | 一种基于mic架构处理器的内存管理系统 |
CN110008087A (zh) * | 2019-04-10 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种nvlink通信状态监测方法和装置 |
CN110191010B (zh) * | 2019-04-11 | 2021-01-26 | 深圳市同泰怡信息技术有限公司 | 服务器的压力测试方法 |
-
2013
- 2013-06-06 CN CN201310222082.XA patent/CN104239173A/zh active Pending
- 2013-06-10 TW TW102120603A patent/TW201447563A/zh unknown
-
2014
- 2014-06-06 US US14/297,858 patent/US20140365837A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN104239173A (zh) | 2014-12-24 |
US20140365837A1 (en) | 2014-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201447563A (zh) | Cpu的總線測試裝置及其方法 | |
TWI762479B (zh) | Ddr相容非同步記憶體模組、系統與操作記憶體模組的方法 | |
US7287101B2 (en) | Direct memory access using memory descriptor list | |
TW201905714A (zh) | 以輔助處理器記憶體進行儲存裝置的直接輸入輸出操作的計算系統操作方法、計算系統、車輛及電腦可讀媒體 | |
CN105900076B (zh) | 用于处理多个交易的数据处理系统及方法 | |
TWI494942B (zh) | 用於i/o流量的同調性開關 | |
US10002085B2 (en) | Peripheral component interconnect (PCI) device and system including the PCI | |
CN102693198B (zh) | Dma传输方法及系统 | |
CN102681952B (zh) | 将数据写入存储设备的方法与存储设备 | |
JP5546635B2 (ja) | データ転送装置およびその制御方法 | |
KR20150091663A (ko) | 멀티 채널 메모리를 포함하는 시스템 및 그 동작 방법 | |
TW201324148A (zh) | 實施具有不同操作模式之多階記憶體階層的設備與方法 | |
JP2009540431A5 (zh) | ||
JP5209461B2 (ja) | 集積回路内のデバイス間のデータ転送 | |
CN109977037B (zh) | 一种dma数据传输方法及系统 | |
KR20120054549A (ko) | 디스플레이 파이프 내에서의 스트리밍 변환 | |
KR101861471B1 (ko) | 플래시 메모리 기반의 저장 디바이스의 입/출력 가상화 (iov) 호스트 제어기 (hc) (iov-hc) 에서의 커맨드 트랩 | |
CN103366794A (zh) | 用于减少接脚数内存总线接口的装置及方法 | |
KR20150037001A (ko) | 스토리지 테스트 장치에서 로직 블록 어드레스와 데이터 버퍼 주소를 이용한 불량 블록 검출 시스템 | |
US10754802B2 (en) | Dynamically remapping in-process data transfers | |
KR20220113818A (ko) | 비휘발성 듀얼 인라인 메모리 모듈에 대한 커맨드 리플레이 | |
US10915467B2 (en) | Scalable, parameterizable, and script-generatable buffer manager architecture | |
CN110633230A (zh) | 高带宽dimm | |
TWI534619B (zh) | 動態邏輯分段方法以及使用該方法的裝置 | |
CN110795045B (zh) | 混合内存的数据迁移方法、系统及电子设备 |