一種多處理器并行計算機系統(tǒng)的設(shè)計
BP 代表Boot Processor(主處理器),AP 代表Application Processor(從處理器)。主處理器設(shè)置有主機路由200.200.200.0,從處理器可以通過主處理器與外網(wǎng)通信。主處理器必須有兩個網(wǎng)絡(luò)接口,一個用于和外網(wǎng)通信(如和VxWorks 開發(fā)主機Vx-Host 通信),IP 地址設(shè)置為如圖2 中的90.0.0.10;另外一個是虛擬的共享存儲器網(wǎng)絡(luò),用于和從處理器通信。從處理器配置的網(wǎng)絡(luò)IP 地址分別是200.200.200.1、200.200.200.2 和200.200.200.3。當調(diào)試程序時,首先由主處理器初始化共享內(nèi)存網(wǎng)絡(luò)(包括設(shè)置存儲器地址),從開發(fā)主機上下載自己的VxWorks image;然后,調(diào)度從處理器(AP)通過IP 地址90.0.0.10 從開發(fā)主機VxHost上下載從處理器所需要的VxWorks image,并且運行該操作系統(tǒng),從機的一切調(diào)試均通過主處理器進行。
圖2 是多CPU 并行計算機網(wǎng)絡(luò)配置
共享存儲器網(wǎng)絡(luò)是VxWorks 的一個模塊,使用時必須在tornado的有關(guān)選項中選擇。對于每一個處理器都有一個自己的boorom 或VxWoks image,分別獨自運行自己的操作系統(tǒng),彼此之間需要通信時通過共享存儲器進行。
3.2 共享存儲器網(wǎng)絡(luò)主設(shè)備
多處理器系統(tǒng)中有一個處理器充當主設(shè)備的角色。共享存儲器網(wǎng)絡(luò)主設(shè)備(Shared-MemoryNetwork Master)在系統(tǒng)中所起到的功能解釋如下:
⑴ 初始化共享存儲器區(qū)域和共享內(nèi)存鉤子(anchor);
⑵ 維護共享存儲器網(wǎng)絡(luò)心跳;
⑶ 作為其它處理器和外網(wǎng)通信的網(wǎng)關(guān);
⑷ 分配共享存儲區(qū)域。
在VxWorks 操作系統(tǒng)中要求共享存儲區(qū)域是一塊連續(xù)的存儲地址空間,默認為16MB,在網(wǎng)絡(luò)驅(qū)動中所定義。主設(shè)備負責為其它處理器分配共享存儲區(qū)域,并且進行內(nèi)存映射。共享存儲區(qū)的定位依靠系統(tǒng)配置。所有的處理器利用鉤子功能都必須能夠訪問該區(qū)域。共享存儲鉤子是所有處理器的通信參考點。鉤子結(jié)構(gòu)和共享內(nèi)存區(qū)域可以被放置在雙端口RAM中。鉤子包含真正存儲區(qū)域的物理地址偏移量,這在主設(shè)備在初始化過程中所設(shè)置,鉤子和存儲區(qū)域必須在相同的地址空間,地址必須是線性和有效的。
當共享存儲器網(wǎng)絡(luò)主設(shè)備初始化后,所有的處理器才可以使用共享存儲器網(wǎng)絡(luò)。但是,主處理器并不能真正干涉其它處理器之間通過網(wǎng)絡(luò)進行數(shù)據(jù)包的交互,各個處理器之間通信是通過本地的中斷或查詢方式進行的。當共享存儲器被初始化后,所有的處理器,包括主處理器,都同等的使用網(wǎng)絡(luò)。在Tornado2.0 環(huán)境下,主處理器號規(guī)定為0,系統(tǒng)通過處理號來識別主處理器和從處理器。典型的情況下,主處理器有兩個Internet 地址,分別用于外網(wǎng)通信和內(nèi)部網(wǎng)關(guān)。
評論