TWI785870B - 多處理器系統及其啟動方法 - Google Patents

多處理器系統及其啟動方法 Download PDF

Info

Publication number
TWI785870B
TWI785870B TW110140480A TW110140480A TWI785870B TW I785870 B TWI785870 B TW I785870B TW 110140480 A TW110140480 A TW 110140480A TW 110140480 A TW110140480 A TW 110140480A TW I785870 B TWI785870 B TW I785870B
Authority
TW
Taiwan
Prior art keywords
slave processors
processor
register
temporary register
slave
Prior art date
Application number
TW110140480A
Other languages
English (en)
Other versions
TW202207040A (zh
Inventor
王江
Original Assignee
大陸商訊牧信息科技(上海)有限公司
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 大陸商訊牧信息科技(上海)有限公司 filed Critical 大陸商訊牧信息科技(上海)有限公司
Publication of TW202207040A publication Critical patent/TW202207040A/zh
Application granted granted Critical
Publication of TWI785870B publication Critical patent/TWI785870B/zh

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/442Shutdown

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

一種多處理器系統,其包括主處理器、非揮發性記憶體和複數個從處理器;非揮發性記憶體用於存儲第一啟動韌體和第二啟動韌體;每一個從處理器包括聯合測試工作群組端口,每一個聯合測試工作群組端口分別連接主處理器的一個輸入輸出端口。主處理器上電或重啟時,讀取第一啟動韌體並啟動;主處理器完成啟動後,分別與複數個從處理器建立通訊連接,並分別釋放復位信號給複數個從處理器,以控制複數個從處理器啟動,以及讀取第二啟動韌體,並分別傳輸第二啟動韌體給複數個從處理器,使得複數個從處理器分別根據接收到的第二啟動韌體進行啟動。

Description

多處理器系統及其啟動方法
本申請涉及微處理技術領域,尤其涉及一種多處理器系統及其啟動方法。
為了獲得更高的計算能力與提高效能,愈來愈多的計算機裝置採用包含複數個處理器的電路架構(即多處理器系統)。
常見的多處理器系統中,每一個處理器都外接一個非揮發性記憶體,用於存放處理器的啟動韌體;複數個處理器之間通過網路交換晶片或匯流排連接,以相互通訊。所述多處理器系統的啟動方法包括:多處理器系統上電或重啟後,每一個處理器從其外接的非揮發性記憶體讀取所述啟動韌體,根據所述啟動韌體進行啟動,並於啟動成功後加載操作系統和應用軟體。
然而,上述多處理器系統存在以下缺點:(1)隨著處理器的數量增加,非揮發性記憶體的數量也隨之增加,使得計算機裝置的電路板密度、佈線複雜度和產品的成本也隨之提高;(2)每一個處理器的啟動韌體存放於其外接的非揮發性記憶體中,使得需要升級每一個處理器的啟動韌體時,必須將升級的啟動韌體燒錄到每一個非揮發性記憶體中,存在操作複雜度增加、易出錯和啟動韌體的維護管理難度增加的問題。
本申請實施例提供一種多處理器系統及其啟動方法,可解決現有技術中,多處理器系統因每一個處理器都外接一個存放其啟動韌體的非揮發性記憶體,而存在啟動韌體升級的操作複雜度增加、易出錯和啟動韌體的維護管理難度增加的問題,及應用其的計算機裝置存在電路板密度、佈線複雜度和產品的成本較高的問題。
為了解決上述技術問題,本申請是這樣實現的:
本申請提供了一種多處理器系統,其包括:主處理器、非揮發性記憶體和複數個從處理器;非揮發性記憶體連接主處理器,用於存儲第一啟動韌體和第二啟動韌體;複數個從處理器中的每一個分別包括聯合測試工作組(Joint Test Action Group,JTAG)端口,每一個JTAG端口分別連接主處理器的一個輸入輸出(Input and Output,I/O)端口。主處理器上電或重啟時,主處理器讀取第一啟動韌體並啟動;主處理器完成啟動後,分別與複數個從處理器建立通訊連接,並分別釋放復位信號給複數個從處理器,以控制複數個從處理器啟動,以及讀取第二啟動韌體,並通過通訊連接分別傳輸第二啟動韌體給複數個從處理器,使得複數個從處理器分別根據接收到的第二啟動韌體進行啟動。
本申請提供了一種多處理器系統的啟動方法,其包括:主處理器上電或重啟時,主處理器讀取非揮發性記憶體所儲存的第一啟動韌體並啟動;主處理器完成啟動後,分別與複數個從處理器建立通訊連接;主處理器分別釋放復位信號給複數個從處理器,以控制複數個從處理器啟動;以及主處理器讀取非揮發性記憶體所儲存的第二啟動韌體,並通過通訊連接分別傳輸第二啟動韌體給複數個從處理器,使得複數個從處理器分別根據接收到的第二啟動韌體進行啟動。
在本申請實施例中,通過單一非揮發性記憶體的設置,節省非揮發性記憶體的使用數量及其外圍器件,降低電路板的密度和佈線複雜度,從而降低多處理器系統的成本。另外,由於單一非揮發性記憶體儲存主處理器和從處理器的啟動韌體,使得啟動韌體升級的操作簡單,啟動韌體的管理和維護更加便捷。
以上之關於本發明內容之說明及以下之實施方式之說明用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。以下之實施例進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
以下將配合相關圖式來說明本發明的實施例。在這些圖式中,相同的標號表示相同或類似的組件或方法流程。
必須瞭解的是,使用在本說明書中的「包含」、「包括」等詞,是用於表示存在特定的技術特徵、數值、方法步驟、作業處理、組件和/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、組件、組件,或以上的任意組合。
必須瞭解的是,當組件描述為「連接」或「耦接」至另一組件時,可以是直接連結、或耦接至其他組件,可能出現中間組件。相反地,當組件描述為「直接連接」或「直接耦接」至另一組件時,其中不存在任何中間組件。
請參閱圖1,其為依據本申請的多處理器系統的第一實施例結構示意圖。如圖1所示,多處理器系統1包括:主處理器11、非揮發性記憶體12和複數個從處理器13。非揮發性記憶體12連接主處理器11,用於儲存第一啟動韌體和第二啟動韌體;複數個從處理器13中的每一個分別包括JTAG端口131,每一個JTAG端口131分別連接主處理器11的一個I/O端口111。主處理器11上電或重啟時,讀取第一啟動韌體並啟動;主處理器11完成啟動後,分別與複數個從處理器13建立通訊連接,並分別釋放復位信號給複數個從處理器13,以控制複數個從處理器13啟動,以及讀取第二啟動韌體,並通過通訊連接分別傳輸第二啟動韌體給複數個從處理器13,使得複數個從處理器13分別根據接收到的第二啟動韌體進行啟動。
更詳細地說,多處理器系統1包括複數個處理器,在所述複數個處理器中選擇一個處理器作為主處理器11,剩餘的處理器作為從處理器13;所有從處理器13的復位引腳132的預設電平是低電平,使得所有從處理器13處於復位狀態;當上電或重啟後,主處理器11從外接的非揮發性記憶體12讀取自身的啟動韌體(即第一啟動韌體)並執行啟動操作;主處理器11完成啟動後,主處理器11對每一個從處理器13釋放復位信號(即將所有從處理器13的復位引腳132的電平拉高),使所有從處理器13從復位狀態轉成啟動狀態(即啟動所有從處理器13);然後,主處理器11從外接的非揮發性記憶體12讀取從處理器13的啟動韌體(即第二啟動韌體),並將其包括的I/O端口111模擬JTAG端口,以通過每一個從處理器13所包括的JTAG端口131將所述第二啟動韌體傳送至所有從處理器13,使所有從處理器13分別根據接收到的第二啟動韌體進行啟動。
在一示例中,主處理器11可在不同時間點分別向所有從處理器13傳送第二啟動韌體,讓所有從處理器13先後各自啟動。
在另一示例中,主處理器11可同時向所有從處理器13傳送第二啟動韌體,實現了所有從處理器13的並行啟動,縮短多處理器系統1的啟動時間,提高多處理器系統1的啟動效率。
在本實施例中,非揮發性記憶體12可為但不限於唯讀記憶體(Read Only Memory,ROM)、可程式化唯讀記憶體(Programmable Read-Only Memory,PROM)、可抹除可編程唯讀記憶體(Erasable Programmable Read-Only Memory,EPROM)、電性可抹除可編程唯讀記憶體(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性隨機存取記憶體(Ferromagnetic Random Access Memory,FRAM)、快閃記憶體(Flash Memory)、磁表面記憶體、光碟、或唯讀光碟(Compact Disc Read-Only Memory,CD-ROM);磁表面記憶體可以是磁碟記憶體或磁帶記憶體。另外,非揮發性記憶體12僅固定連接主處理器11,但可選擇性連接燒錄裝置,以將儲存的第一啟動韌體和第二啟動韌體進行升級。在一示例中,非揮發性記憶體12僅儲存的第一啟動韌體和第二啟動韌體。在另一示例中,非揮發性記憶體12除了儲存第一啟動韌體和第二啟動韌體,還可儲存其他操作系統和應用軟體。
在本實施例中,從處理器13的數量可為但不限於兩個,主處理器11的I/O端口111的數量可為但不限於兩個,從處理器13和I/O端口111的數量可依據實際需求進行調整。需注意的是,I/O端口111的數量需大於或等於從處理器13的數量;當I/O端口111的數量小於從處理器13的數量時,主處理器11可通過擴展晶片的設置擴展連接所有的從處理器13,相關說明容後詳述。
在本實施例中,主處理器11完成啟動後,還可自其他外接的儲存介質(未繪製)加載其需要的操作系統和應用軟體。其中,主處理器11從哪個外接的儲存介質加載所述操作系統和應用軟體可由所述第一啟動韌體決定。
在一實施例中,複數個從處理器13分別根據所述第二啟動韌體啟動成功後,各自通過所述通訊連接向主處理器11發送啟動成功訊息。因此,主處理器11可以得知每一個從處理器13的啟動狀態。另外,複數個從處理器13分別根據所述第二啟動韌體啟動成功後,還可自其他外接的儲存介質(未繪製)加載其需要的操作系統和應用軟體。其中,複數個從處理器13從哪個外接的儲存介質加載所述操作系統和應用軟體可由所述第二啟動韌體決定。
在一實施例中,主處理器11在分別傳輸所述第二啟動韌體給複數個從處理器13完畢後的預設時間內,沒有收到複數個從處理器13中的任一個從處理器13所發送的所述啟動成功訊息時,主處理器11控制任一個從處理器13重新啟動,並通過所述通訊連接重新傳輸所述第二啟動韌體給重新啟動的所述任一個從處理器13,以使所述任一個從處理器13再次根據所述第二啟動韌體進行啟動。
更詳細地說,主處理器11傳輸所述第二啟動韌體給任一個從處理器13完成後開始計時,在所述預設時間過後,沒有收到所述任一個從處理器13所發送的所述啟動成功訊息時,主處理器11確認所述任一個從處理器13啟動失敗。因此,主處理器11可主動將啟動失敗的從處理器13的復位引腳132的電平拉低後再次拉高,使得啟動失敗的從處理器13重新啟動;然後,主處理器11可通過所述通訊連接將自非揮發性記憶體12讀取的第二啟動韌體重新傳輸給重新啟動的從處理器13,以使啟動失敗的從處理器13再次根據所述第二啟動韌體進行啟動。在這個實施例中,主處理器11可以主動重啟啟動失敗的從處理器13,提高啟動多處理器系統1的可靠性。其中,所述預設時間的長短可根據多處理器系統1的實際測試情況再增加一定餘量(margin)進行設定,因此,所述預設時間的長短可依據實際需求進行調整與設定。
在一實施例中,主處理器11在分別傳輸所述第二啟動韌體給複數個從處理器13完畢後的預設時間內,收到所有從處理器13所發送的所述啟動成功訊息時,主處理器11可繼續自外接的儲存介質加載其需要的操作系統和應用軟體。
在一實施例中,請參閱圖2,其為依據本申請的多處理器系統的第二實施例結構示意圖。如圖2所示,主處理器11還包括第一暫存器112a、第二暫存器112b、第三暫存器112c和第四暫存器112d,分別連接每一個I/O端口111,以控制每一個I/O端口111模擬JTAG端口,使得主處理器11通過複數個從處理器13中的每一個所包括的JTAG端口131與所述複數個從處理器13建立所述通訊連接。其中,第一暫存器112a用於並行輸出時鐘(TCK)信號給所述複數個從處理器13;第二暫存器112b用於並行輸出資料輸入(TDI)信號給所述複數個從處理器13;第三暫存器112c用於並行輸出模式選擇(TMS)信號給所述複數個從處理器13;第四暫存器112d用於並行輸入來自所述複數個從處理器13的資料輸出(TDO)信號(即第一暫存器112a、第二暫存器112b、第三暫存器112c和第四暫存器112d為並行暫存器)。換句話說,主處理器11通過可並行輸出的第一暫存器112a、第二暫存器112b、第三暫存器112c和第四暫存器112d分別連接每一個I/O端口111的設計,使得每一個I/O端口111可輸出時鐘信號、資料輸入信號和模式選擇信號及接收資料輸出信號(即每一個I/O端口111可模擬為JTAG端口),因此,主處理器11可通過模擬為JTAG端口的I/O端口111與包括JTAG端口131的從處理器13建立通訊連接。在這個實施例中,主處理器11可通過第二暫存器112b並行輸出所述第二啟動韌體給所述複數個從處理器13(即主處理器11同時向所有從處理器13傳送第二啟動韌體),提高多處理器系統1的啟動效率。
在一實施例中,由於JTAG端口131除了可以接收時鐘信號、資料輸入信號和模式選擇信號及輸出資料輸出信號以外,還可以接收所述復位信號,因此,請參閱圖3,其為依據本申請的多處理器系統的第三實施例結構示意圖。如圖3所示,主處理器11還可包括第一暫存器112a、第二暫存器112b、第三暫存器112c、第四暫存器112d和第五暫存器112e,分別連接每一個I/O端口111,以控制每一個I/O端口111模擬JTAG端口,使得主處理器11通過複數個從處理器13中的每一個所包括的JTAG端口131與所述複數個從處理器13建立所述通訊連接。其中,第一暫存器112a用於並行輸出時鐘信號給所述複數個從處理器13;第二暫存器112b用於並行輸出資料輸入信號給所述複數個從處理器13;第三暫存器112c用於並行輸出模式選擇信號給所述複數個從處理器13;第四暫存器112d用於並行輸入來自所述複數個從處理器13的資料輸出信號;第五暫存器112e用於並行輸出所述復位信號(TRST)給所述複數個從處理器13(即第一暫存器112a、第二暫存器112b、第三暫存器112c、第四暫存器112d和第五暫存器112e為並行暫存器)。在這個實施例中,主處理器11可通過第五暫存器112e並行輸出所述復位信號給所述複數個從處理器13(即主處理器11同時讓所有從處理器13啟動)。
在一實施例中,請參閱圖4,其為依據本申請的多處理器系統的第四實施例結構示意圖。如圖4所示,多處理器系統1還包括另一非揮發性記憶體14,連接主處理器11,用於儲存所述第二啟動韌體,使主處理器11選擇性自非揮發性記憶體12或另一非揮發性記憶體14讀取所述第二啟動韌體。
在一實施例中,請參閱圖1至圖4,多處理器系統1還包括網路交換晶片15,啟動成功的主處理器11和所述複數個從處理器13可通過網路交換晶片15相互通訊。其中,網路交換晶片15可為但不限於以太網交換晶片。在另一實施例中,多處理器系統1還包括匯流排(未繪製),啟動成功的主處理器11和所述複數個從處理器13通過所述匯流排相互通訊。
在一實施例中,當I/O端口111的數量小於從處理器13的數量時,主處理器11可通過擴展晶片16的設置擴展連接所有的從處理器13,請參閱圖5,其為依據本申請的多處理器系統的第五實施例結構示意圖。如圖5所示,多處理器系統1還包括擴展晶片16,與主處理器11連接,用於讓主處理器11擴展連接更多從處理器13。在這個實施例中,主處理器11可通過擴展晶片16的設置,使得主處理器11可連接四個從處理器13,但這個實施例並非用以限定本申請,實際主處理器11擴展連接的從處理器13的數量可根據實際需求選擇適當的擴展晶片16進行調整。
在一實施例中,擴展晶片16為可程式邏輯裝置或者特殊應用積體電路(Application Specific Integrated Circuit,ASIC)晶片。
在一實施例中,所述可程式邏輯裝置為複雜可程式邏輯裝置(Complex Programmable Logic Device,CPLD)或現場可程式化邏輯閘陣列(Field-Programmable Gate Array,FPGA)。
在一實施例中,所述特殊應用積體電路晶片為積體電路匯流排(Inter-Integrated Circuit,I2C)轉通用輸入/輸出(General-purpose input/output,GPIO)晶片。
請參閱圖6,其依據本申請的多處理器系統的啟動方法的一實施例流程示意圖。如圖6所示,多處理器系統的啟動方法2包括:主處理器上電或重啟時,讀取非揮發性記憶體所儲存的第一啟動韌體並啟動(步驟21);主處理器完成啟動後,分別與複數個從處理器建立通訊連接(步驟22);主處理器分別釋放復位信號給複數個從處理器,進而以控制複數個從處理器啟動(步驟23);以及主處理器讀取非揮發性記憶體所儲存的第二啟動韌體,並通過通訊連接分別傳輸第二啟動韌體給複數個從處理器,使得複數個從處理器分別根據接收到的第二啟動韌體進行啟動(步驟24)。詳細描述已於上述段落加以說明,於此不再贅述。
在一實施例中,步驟22可包括:主處理器通過第一暫存器、第二暫存器、第三暫存器和第四暫存器控制每一個I/O端口模擬JTAG端口,使得主處理器通過複數個從處理器中的每一個所包括的JTAG端口與複數個從處理器建立通訊連接,其中,第一暫存器、第二暫存器、第三暫存器和第四暫存器分別連接每一個IO端口,第一暫存器、第二暫存器和第三暫存器分別用於並行輸出時鐘信號、資料輸入信號和模式選擇信號給複數個從處理器,第四暫存器用於並行輸入來自複數個從處理器的資料輸出信號。詳細描述已於上述段落加以說明,於此不再贅述。
在一實施例中,步驟22可包括:主處理器通過第一暫存器、第二暫存器、第三暫存器、第四暫存器和第五暫存器控制每一個I/O端口模擬JTAG端口,使得主處理器通過複數個從處理器中的每一個所包括的JTAG端口與複數個從處理器建立通訊連接,其中,第一暫存器、第二暫存器、第三暫存器、第四暫存器和第五暫存器分別連接每一個I/O端口,第一暫存器、第二暫存器、第三暫存器和第五暫存器分別用於並行輸出時鐘信號、資料輸入信號、模式選擇信號和復位信號給複數個從處理器,第四暫存器用於並行輸入來自複數個從處理器的資料輸出信號。詳細描述已於上述段落加以說明,於此不再贅述。
在一實施例中,多處理器系統的啟動方法2還可包括:複數個從處理器分別根據所述第二啟動韌體啟動成功後,各自通過通訊連接向主處理器發送啟動成功訊息(步驟25)。因此,主處理器可以得知每一個從處理器的啟動狀態。
在一實施例中,多處理器系統的啟動方法2還包括:主處理器在分別傳輸所述第二啟動韌體給複數個從處理器完畢後的預設時間內,沒有收到複數個從處理器中的任一個從處理器發送的所述啟動成功訊息時,主處理器控制所述任一個從處理器重新啟動,並通過所述通訊連接重新傳輸所述第二啟動韌體給重新啟動的所述任一個從處理器,以使所述任一個從處理器再次根據所述第二啟動韌體進行啟動(步驟26)。因此,主處理器可以主動重啟啟動失敗的從處理器,提高啟動多處理器系統的可靠性。詳細描述已於上述段落加以說明,於此不再贅述。
綜上所述,本申請實施例中,通過單一非揮發性記憶體的設置,節省非揮發性記憶體的使用數量及其外圍器件,降低電路板的密度和佈線複雜度,從而降低多處理器系統的成本。另外,由於單一非揮發性記憶體存儲主處理器和從處理器的啟動韌體,使得啟動韌體升級的操作簡單(燒錄裝置僅需連接所述單一非揮發性記憶體進行韌體升級的燒錄),啟動韌體的管理和維護更加便捷。此外,通過每一個從處理器根據所述第二啟動韌體啟動成功後需向主處理器發送啟動成功訊息的設計,使得主處理器有能力檢測每一個從處理器的啟動狀態;如果任一個從處理器啟動失敗,主處理器可以主動重啟原先啟動失敗的從處理器,提升啟動多處理器系統的可靠性。再者,主處理器通過並行暫存器的設置將I/O端口模擬JTAG端口,以與複數個從處理器建立通訊連接,可以實現所有從處理器並行啟動,縮短多處理器系統的啟動時間,提高多處理器系統的啟動效率。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
1:多處理器系統 2:多處理器系統的啟動方法 11:主處理器 111:I/O端口 112a:第一暫存器 112b:第二暫存器 112c:第三暫存器 112d:第四暫存器 112e:第五暫存器 12,14:非揮發性記憶體 13:從處理器 131:JTAG端口 132:復位引腳 15:網路交換晶片 16:擴展晶片 21~26:步驟
圖1為依據本申請的多處理器系統的第一實施例結構示意圖; 圖2為依據本申請的多處理器系統的第二實施例結構示意圖; 圖3為依據本申請的多處理器系統的第三實施例結構示意圖; 圖4為依據本申請的多處理器系統的第四實施例結構示意圖; 圖5為依據本申請的多處理器系統的第五實施例結構示意圖;以及 圖6為依據本申請的多處理器系統的啟動方法的一實施例流程示意圖。
1:多處理器系統
11:主處理器
111:I/O端口
12:非揮發性記憶體
13:從處理器
131:JTAG端口
15:網路交換晶片

Claims (16)

  1. 一種多處理器系統,包括: 一主處理器; 一非揮發性記憶體,連接該主處理器,用於儲存一第一啟動韌體和一第二啟動韌體;以及 複數個從處理器,該些從處理器中的每一個分別包括一聯合測試工作組(Joint Test Action Group,JTAG)端口,每一個該JTAG端口分別連接該主處理器的一個輸入輸出(Input and Output,I/O)端口; 其中,該主處理器上電或重啟時,讀取該第一啟動韌體並啟動;該主處理器完成啟動後,分別與該些從處理器建立一通訊連接,並分別釋放一復位信號給該些從處理器,以控制該些從處理器啟動,以及讀取該第二啟動韌體,並通過該通訊連接分別傳輸該第二啟動韌體給該些從處理器,使得該些從處理器分別根據接收到的該第二啟動韌體進行啟動。
  2. 如請求項1所述的多處理器系統,其中,該多處理器系統還包括一擴展晶片,與該主處理器連接,用於讓該主處理器擴展連接更多從處理器。
  3. 如請求項2所述的多處理器系統,其中,該擴展晶片為一可程式邏輯裝置或者一特殊應用積體電路(Application Specific Integrated Circuit,ASIC)晶片。
  4. 如請求項3所述的多處理器系統,其中,該可程式邏輯裝置為一複雜可程式邏輯裝置或一現場可程式化邏輯閘陣列。
  5. 如請求項3所述的多處理器系統,其中,該特殊應用積體電路晶片為一積體電路匯流排(I2C)轉通用輸入/輸出(GPIO)晶片。
  6. 如請求項1所述的多處理器系統,其中,該些從處理器分別根據該第二啟動韌體啟動成功後,各自通過該通訊連接向該主處理器發送一啟動成功訊息。
  7. 如請求項6所述的多處理器系統,其中,該主處理器在分別傳輸該第二啟動韌體給該些從處理器完畢後的一預設時間內,沒有收到該些從處理器中的任一個從處理器所發送的該啟動成功訊息時,該主處理器控制該任一個從處理器重新啟動,並通過該通訊連接重新傳輸該第二啟動韌體給重新啟動的該任一個從處理器,以使該任一個從處理器再次根據該第二啟動韌體進行啟動。
  8. 如請求項1所述的多處理器系統,其中,該多處理器系統還包括另一非揮發性記憶體,連接該主處理器,用於儲存該第二啟動韌體,使該主處理器選擇性自該非揮發性記憶體或該另一非揮發性記憶體讀取該第二啟動韌體。
  9. 如請求項1所述的多處理器系統,其中,該主處理器還包括: 一第一暫存器,分別連接每一個該I/O端口,用於並行輸出一時鐘信號給該些從處理器; 一第二暫存器,分別連接每一個該I/O端口,用於並行輸出一資料輸入信號給該些從處理器; 一第三暫存器,分別連接每一個該I/O端口,用於並行輸出一模式選擇信號給該些從處理器;以及 一第四暫存器,分別連接每一個該I/O端口,用於並行輸入來自該些從處理器的一資料輸出信號; 其中,該主處理器通過該第一暫存器、該第二暫存器、該第三暫存器和該第四暫存器控制每一個該I/O端口模擬JTAG端口,使得該主處理器通過該些從處理器中的每一個所包括的該JTAG端口與該些從處理器建立該通訊連接。
  10. 如請求項1所述的多處理器系統,其中,該主處理器還包括: 一第一暫存器,分別連接每一個該I/O端口,用於並行輸出一時鐘信號給該些從處理器; 一第二暫存器,分別連接每一個該I/O端口,用於並行輸出一資料輸入信號給該些從處理器; 一第三暫存器,分別連接每一個該I/O端口,用於並行輸出一模式選擇信號給該些從處理器; 一第四暫存器,分別連接每一個該I/O端口,用於並行輸入來自該些從處理器的一資料輸出信號;以及 一第五暫存器,分別連接每一個該I/O端口,用於並行輸出該復位信號給該些從處理器; 其中,該主處理器通過該第一暫存器、該第二暫存器、該第三暫存器、該第四暫存器和該第五暫存器控制每一個該I/O端口模擬JTAG端口,使得該主處理器通過該些從處理器中的每一個所包括的該JTAG端口與該些從處理器建立該通訊連接。
  11. 如請求項1所述的多處理器系統,其中,該多處理器系統還包括一網路交換晶片或一匯流排,啟動成功的該主處理器和該些從處理器通過該網路交換晶片或該匯流排相互通訊。
  12. 一種多處理器系統的啟動方法,包括: 一主處理器上電或重啟時,讀取一非揮發性記憶體所儲存的一第一啟動韌體並啟動; 該主處理器完成啟動後,分別與複數個從處理器建立一通訊連接; 該主處理器分別釋放一復位信號給該些從處理器,以控制該些從處理器啟動;以及 該主處理器讀取該非揮發性記憶體所儲存的一第二啟動韌體,並通過該通訊連接分別傳輸該第二啟動韌體給該些從處理器,使得該些從處理器分別根據接收到的該第二啟動韌體進行啟動。
  13. 如請求項12所述的多處理器系統的啟動方法,其中,該多處理器系統的啟動方法還包括: 該些從處理器分別根據該第二啟動韌體啟動成功後,各自通過該通訊連接向該主處理器發送一啟動成功訊息。
  14. 如請求項13所述的多處理器系統的啟動方法,其中,該多處理器系統的啟動方法還包括: 該主處理器在分別傳輸該第二啟動韌體給該些從處理器完畢後的一預設時間內,沒有收到該些從處理器中的任一個從處理器所發送的該啟動成功訊息時,該主處理器控制該任一個從處理器重新啟動,並通過該通訊連接重新傳輸該第二啟動韌體給重新啟動的該任一個從處理器,以使該任一個從處理器再次根據該第二啟動韌體進行啟動。
  15. 如請求項12所述的多處理器系統的啟動方法,其中,該主處理器完成啟動後,分別與複數個從處理器建立一通訊連接的步驟包括: 該主處理器通過一第一暫存器、一第二暫存器、一第三暫存器和一第四暫存器控制每一個I/O端口模擬JTAG端口,使得該主處理器通過該些從處理器中的每一個所包括的JTAG端口與該些從處理器建立該通訊連接,其中,該第一暫存器、該第二暫存器、該第三暫存器和該第四暫存器分別連接每一個該IO端口,該第一暫存器、該第二暫存器和該第三暫存器分別用於並行輸出一時鐘信號、一資料輸入信號和一模式選擇信號給該些從處理器,該第四暫存器用於並行輸入來自該些從處理器的一資料輸出信號。
  16. 如請求項12所述的多處理器系統的啟動方法,其中,該主處理器完成啟動後,分別與複數個從處理器建立通訊連接的步驟包括: 該主處理器通過一第一暫存器、一第二暫存器、一第三暫存器、一第四暫存器和一第五暫存器控制每一個I/O端口模擬JTAG端口,使得該主處理器通過該些從處理器中的每一個所包括的JTAG端口與該些從處理器建立該通訊連接,其中,該第一暫存器、該第二暫存器、該第三暫存器、該第四暫存器和該第五暫存器分別連接每一個該I/O端口,該第一暫存器、該第二暫存器、該第三暫存器和該第五暫存器分別用於並行輸出一時鐘信號、一資料輸入信號、一模式選擇信號和該復位信號給該些從處理器,該第四暫存器用於並行輸入來自該些從處理器的一資料輸出信號。
TW110140480A 2021-09-13 2021-10-29 多處理器系統及其啟動方法 TWI785870B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111068587.6 2021-09-13
CN202111068587.6A CN113778538A (zh) 2021-09-13 2021-09-13 多处理器系统及其启动方法

Publications (2)

Publication Number Publication Date
TW202207040A TW202207040A (zh) 2022-02-16
TWI785870B true TWI785870B (zh) 2022-12-01

Family

ID=78843054

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110140480A TWI785870B (zh) 2021-09-13 2021-10-29 多處理器系統及其啟動方法

Country Status (4)

Country Link
US (1) US20230083523A1 (zh)
JP (1) JP2023041622A (zh)
CN (1) CN113778538A (zh)
TW (1) TWI785870B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169774A (zh) * 2007-11-22 2008-04-30 中兴通讯股份有限公司 一种多处理器系统、共享控制装置及启动从处理器的方法
CN102646045A (zh) * 2012-03-08 2012-08-22 杭州海康威视数字技术股份有限公司 多处理器系统及其并行启动方法
TWI613593B (zh) * 2013-08-28 2018-02-01 威盛電子股份有限公司 在微處理器中至多核心的微碼傳播

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386711B1 (en) * 2002-01-08 2008-06-10 Cisco Technology, Inc. Method and apparatus for redirecting the boot operations of one or more systems
JP2007213292A (ja) * 2006-02-09 2007-08-23 Nec Electronics Corp マルチプロセッサシステム及びスレーブシステムの起動方法
CN101192165B (zh) * 2006-11-29 2014-08-13 中兴通讯股份有限公司 主从式多处理器系统以及软件版本加载方法
US8279796B1 (en) * 2007-11-16 2012-10-02 Bnsf Railway Company Multiple-channel software defined radios and systems using the same
KR20110013867A (ko) * 2009-08-04 2011-02-10 삼성전자주식회사 메모리 링크 아키텍쳐에서 플래시 레스 부팅 기능을 갖는 멀티 프로세서 시스템
CN102110072B (zh) * 2009-12-29 2013-06-05 中兴通讯股份有限公司 一种多处理器完全互访的方法及系统
CN101777038A (zh) * 2010-02-08 2010-07-14 华为终端有限公司 在处理器之间共享存储器的方法、多处理器设备
US9558012B2 (en) * 2013-02-21 2017-01-31 Applied Micro Circuits Corporation System boot with external media
US9934045B1 (en) * 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9978547B1 (en) * 2016-11-03 2018-05-22 Crestron Electronics, Inc. Battery powered keypad assembly
KR102569435B1 (ko) * 2018-06-27 2023-08-24 에스케이하이닉스 주식회사 융합형 반도체 장치 및 동작 방법, 이를 포함하는 적층형 메모리 장치
US11455397B2 (en) * 2018-11-13 2022-09-27 Microchip Technology Incorporated Secure boot assist for devices, and related systems, methods and devices
GB2582784B (en) * 2019-04-02 2021-05-19 Graphcore Ltd Booting tiles of processing units
TWI755184B (zh) * 2020-12-03 2022-02-11 聯陽半導體股份有限公司 電子裝置及其開機方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101169774A (zh) * 2007-11-22 2008-04-30 中兴通讯股份有限公司 一种多处理器系统、共享控制装置及启动从处理器的方法
CN102646045A (zh) * 2012-03-08 2012-08-22 杭州海康威视数字技术股份有限公司 多处理器系统及其并行启动方法
TWI613593B (zh) * 2013-08-28 2018-02-01 威盛電子股份有限公司 在微處理器中至多核心的微碼傳播

Also Published As

Publication number Publication date
TW202207040A (zh) 2022-02-16
JP2023041622A (ja) 2023-03-24
CN113778538A (zh) 2021-12-10
US20230083523A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
KR101407835B1 (ko) 플랫폼 독립적인 메모리 로직의 제공
US20150261544A1 (en) Embedded System Boot from a Storage Device
US7861119B1 (en) Updating a firmware image using a firmware debugger application
TWI521441B (zh) 運用rfid之多插槽伺服器管理技術
TWI724415B (zh) 多節點儲存系統及其韌體的更新方法
JP2003058386A (ja) 複数基板上のプログラマブルロジックデバイスをjtagブリッジ接続するためのシステムおよび方法
US20030163744A1 (en) Information processing system, and method and program for controlling the same
TWI783590B (zh) 晶片驗證系統及其驗證方法
WO2012149716A1 (zh) 一种bootrom备份方法和装置
JP2016157417A (ja) ネットワークの基本入出力システムの管理設備、方法及び非一時的なコンピュータ読取可能な媒体
EP1933234A2 (en) Frozen ring cache
CN109800032A (zh) Bootrom多核加载方法及装置
US11216284B2 (en) Multi-die and multi-core computing platform and booting method therefor
JP2023020861A (ja) ファームウェアの更新
US7039736B2 (en) Systems and methods for accessing bus-mastered system resources
JP2003140917A (ja) 共通接続ポイントを通して複数基板上のプログラマブルロジックデバイスのインシステムプログラミングを行う方法および装置
CN115951966A (zh) 验证仿真的基于PCIe的存储装置的电力循环的系统和方法
US10964405B2 (en) Memory initialization reporting and control
JP2003132010A (ja) Jtagバス−シリアルバス間をブリッジ接続する方法および装置
TWI785870B (zh) 多處理器系統及其啟動方法
TWI666556B (zh) 電子裝置及其操作方法
TW202042062A (zh) 提供系統資料之方法、系統及伺服器
WO1991016678A1 (fr) Procede de remise a zero d'un module adaptateur suite a une panne et syteme d'ordinateur executant ledit procede
TWI823253B (zh) 計算系統、由電腦執行的方法以及電腦程式產品
CN112667544A (zh) 一种控制主板插槽使能的方法、装置、系统及介质