0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于VxWorks操作系統(tǒng)實(shí)現(xiàn)多CPU并行計(jì)算機(jī)系統(tǒng)的軟硬件設(shè)計(jì)

牽手一起夢(mèng) ? 來(lái)源:微電子學(xué)與計(jì)算機(jī) ? 作者:賀占莊 ? 2020-10-04 18:05 ? 次閱讀

1 引言

信息技術(shù)高速發(fā)展的今天,對(duì)于計(jì)算機(jī)的使用可以說(shuō)無(wú)處不在。特別是在軍工領(lǐng)域,計(jì)算機(jī)充當(dāng)了軍事控制和數(shù)據(jù)處理的核心,人們對(duì)計(jì)算機(jī)的性能要求也越來(lái)越高。一些特殊領(lǐng)域,如雷達(dá)、導(dǎo)航等對(duì)計(jì)算機(jī)的處理速度、實(shí)時(shí)性的要求不斷提高。人們采用了多種方法來(lái)解決這些不斷增長(zhǎng)的技術(shù)指標(biāo)要求,本文介紹的多處理器并行計(jì)算機(jī)的軟硬件設(shè)計(jì),是采用多個(gè)CPU 進(jìn)行并行數(shù)據(jù)處理的方法來(lái)提高單板的運(yùn)算性能。

2 多處理器并行計(jì)算機(jī)系統(tǒng)的硬件設(shè)計(jì)

多處理器并行計(jì)算機(jī)系統(tǒng)是屬于并行結(jié)構(gòu)的系統(tǒng)模型,每一個(gè)處理器都需要具有自己局部存儲(chǔ)器,以存儲(chǔ)自己的應(yīng)用程序并能夠獨(dú)立高速并行計(jì)算;同時(shí),該系統(tǒng)需要具有高速通信的互連網(wǎng)絡(luò),可以把并行數(shù)據(jù)塊高速分布在各個(gè)處理器的局部存儲(chǔ)器中,以提高并行系統(tǒng)的效率。該計(jì)算機(jī)結(jié)構(gòu)設(shè)計(jì)可以采用共享存儲(chǔ)器(雙端口RAM)互連的松耦合不對(duì)稱(chēng)處理器配置。系統(tǒng)結(jié)構(gòu)如圖1所示,圖中的各個(gè)處理器都具有自己的高速局部存儲(chǔ)器,可高速獨(dú)立的并行進(jìn)行計(jì)算,各個(gè)處理器之間由雙端口存儲(chǔ)器互連組成高速星型通信網(wǎng)絡(luò),由于雙端口存儲(chǔ)器具有很高的通信速率,靈活的通信協(xié)議建立方式,因此雙端口存儲(chǔ)器互連的松耦合多CPU 并行計(jì)算機(jī)具有如下優(yōu)點(diǎn):

⑴ 通信帶寬寬。CPU 訪問(wèn)雙端口存儲(chǔ)器可以采用字節(jié)/字/雙字長(zhǎng)度進(jìn)行,數(shù)據(jù)讀/寫(xiě)速度高。

⑵ 結(jié)構(gòu)簡(jiǎn)單。處理器和雙端口存儲(chǔ)器直接相連,不需要其它接口電路,可實(shí)現(xiàn)可靠的雙向信息傳送。

⑶ 具有可剪裁性。根據(jù)需要可增加或減少處理器數(shù)量。

⑷ 擴(kuò)展性強(qiáng)。該系統(tǒng)結(jié)構(gòu)可適合各種處理器。

圖1所示的多個(gè)處理器的計(jì)算機(jī)模型中,CPU可以采用Intel x86 系列、PowerPC 系列、ARM系列等處理器。Boot Processor(即主處理器)負(fù)責(zé)對(duì)系統(tǒng)管理,通過(guò)它可以協(xié)調(diào)各個(gè)Application Processor(即從處理器)的工作,同時(shí)Boot Processor 也對(duì)共享存儲(chǔ)器進(jìn)行初始化。為了提高系統(tǒng)的上電效率,每個(gè)處理器都需要帶有自己的fash 電子盤(pán)來(lái)存儲(chǔ)程序,每個(gè)處理器都可以外掛設(shè)備(比如網(wǎng)絡(luò)、鍵盤(pán)等)。

基于VxWorks操作系統(tǒng)實(shí)現(xiàn)多CPU并行計(jì)算機(jī)系統(tǒng)的軟硬件設(shè)計(jì)

圖1 共享存儲(chǔ)器互連的并行計(jì)算機(jī)

3 多處理器并行計(jì)算機(jī)的軟件設(shè)計(jì)

為提高處理器的執(zhí)行效率,一般計(jì)算機(jī)系統(tǒng)都采用實(shí)時(shí)多任務(wù)操作系統(tǒng),本文以嵌入式VxWorks操作系統(tǒng)為基礎(chǔ)論述多CPU 并行計(jì)算機(jī)的軟件設(shè)計(jì)方法。

3.1 共享存儲(chǔ)器網(wǎng)絡(luò)

在VxWorks操作系統(tǒng)中,多CPU 之間的通信使用共享存儲(chǔ)器網(wǎng)絡(luò)技術(shù)(Shared-Memory BackplaneNetwork)。該技術(shù)采用虛擬網(wǎng)絡(luò)來(lái)管理共享存儲(chǔ)設(shè)備。共享存儲(chǔ)器網(wǎng)絡(luò)驅(qū)動(dòng)允許多個(gè)處理器之間的通信采用網(wǎng)絡(luò)形式,使用規(guī)范符合BSD4.4 兼容模式。共享存儲(chǔ)器可以駐留在CPU 主板上也可以駐留在單獨(dú)的存儲(chǔ)器板上。

BP 代表Boot Processor(主處理器),AP 代表Application Processor(從處理器)。主處理器設(shè)置有主機(jī)路由200.200.200.0,從處理器可以通過(guò)主處理器與外網(wǎng)通信。主處理器必須有兩個(gè)網(wǎng)絡(luò)接口,一個(gè)用于和外網(wǎng)通信(如和VxWorks 開(kāi)發(fā)主機(jī)Vx-Host 通信),IP 地址設(shè)置為如圖2 中的90.0.0.10;另外一個(gè)是虛擬的共享存儲(chǔ)器網(wǎng)絡(luò),用于和從處理器通信。從處理器配置的網(wǎng)絡(luò)IP 地址分別是200.200.200.1、200.200.200.2 和200.200.200.3。當(dāng)調(diào)試程序時(shí),首先由主處理器初始化共享內(nèi)存網(wǎng)絡(luò)(包括設(shè)置存儲(chǔ)器地址),從開(kāi)發(fā)主機(jī)上下載自己的VxWorks image;然后,調(diào)度從處理器(AP)通過(guò)IP 地址90.0.0.10 從開(kāi)發(fā)主機(jī)VxHost上下載從處理器所需要的VxWorks image,并且運(yùn)行該操作系統(tǒng),從機(jī)的一切調(diào)試均通過(guò)主處理器進(jìn)行。

圖2 是多CPU 并行計(jì)算機(jī)網(wǎng)絡(luò)配置

共享存儲(chǔ)器網(wǎng)絡(luò)是VxWorks 的一個(gè)模塊,使用時(shí)必須在tornado的有關(guān)選項(xiàng)中選擇。對(duì)于每一個(gè)處理器都有一個(gè)自己的boorom 或VxWoks image,分別獨(dú)自運(yùn)行自己的操作系統(tǒng),彼此之間需要通信時(shí)通過(guò)共享存儲(chǔ)器進(jìn)行。

3.2 共享存儲(chǔ)器網(wǎng)絡(luò)主設(shè)備

多處理器系統(tǒng)中有一個(gè)處理器充當(dāng)主設(shè)備的角色。共享存儲(chǔ)器網(wǎng)絡(luò)主設(shè)備(Shared-MemoryNetwork Master)在系統(tǒng)中所起到的功能解釋如下:

⑴ 初始化共享存儲(chǔ)器區(qū)域和共享內(nèi)存鉤子(anchor);

⑵ 維護(hù)共享存儲(chǔ)器網(wǎng)絡(luò)心跳;

⑶ 作為其它處理器和外網(wǎng)通信的網(wǎng)關(guān);

⑷ 分配共享存儲(chǔ)區(qū)域。

在VxWorks 操作系統(tǒng)中要求共享存儲(chǔ)區(qū)域是一塊連續(xù)的存儲(chǔ)地址空間,默認(rèn)為16MB,在網(wǎng)絡(luò)驅(qū)動(dòng)中所定義。主設(shè)備負(fù)責(zé)為其它處理器分配共享存儲(chǔ)區(qū)域,并且進(jìn)行內(nèi)存映射。共享存儲(chǔ)區(qū)的定位依靠系統(tǒng)配置。所有的處理器利用鉤子功能都必須能夠訪問(wèn)該區(qū)域。共享存儲(chǔ)鉤子是所有處理器的通信參考點(diǎn)。鉤子結(jié)構(gòu)和共享內(nèi)存區(qū)域可以被放置在雙端口RAM中。鉤子包含真正存儲(chǔ)區(qū)域的物理地址偏移量,這在主設(shè)備在初始化過(guò)程中所設(shè)置,鉤子和存儲(chǔ)區(qū)域必須在相同的地址空間,地址必須是線(xiàn)性和有效的。

當(dāng)共享存儲(chǔ)器網(wǎng)絡(luò)主設(shè)備初始化后,所有的處理器才可以使用共享存儲(chǔ)器網(wǎng)絡(luò)。但是,主處理器并不能真正干涉其它處理器之間通過(guò)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)包的交互,各個(gè)處理器之間通信是通過(guò)本地的中斷或查詢(xún)方式進(jìn)行的。當(dāng)共享存儲(chǔ)器被初始化后,所有的處理器,包括主處理器,都同等的使用網(wǎng)絡(luò)。在Tornado2.0 環(huán)境下,主處理器號(hào)規(guī)定為0,系統(tǒng)通過(guò)處理號(hào)來(lái)識(shí)別主處理器和從處理器。典型的情況下,主處理器有兩個(gè)Internet 地址,分別用于外網(wǎng)通信和內(nèi)部網(wǎng)關(guān)。

3.3 共享存儲(chǔ)區(qū)的網(wǎng)絡(luò)心跳

在多CPU 系統(tǒng)中,所有的處理器只有當(dāng)共享存儲(chǔ)區(qū)域初始化后才可以通過(guò)網(wǎng)絡(luò)進(jìn)行通信,所以各個(gè)處理器需要知道共享網(wǎng)絡(luò)是否處于激活狀態(tài)或是就緒狀態(tài)。在這里采用心跳檢測(cè)的方法使各個(gè)處理器得知網(wǎng)絡(luò)的狀態(tài)。

心跳(heartbeat)是一個(gè)計(jì)數(shù)器,它被主處理器每1 秒進(jìn)行計(jì)數(shù),其他處理器靠監(jiān)視心跳值來(lái)確認(rèn)共享網(wǎng)絡(luò)是否處于正常。其他處理器監(jiān)視心跳一般是每隔幾秒進(jìn)行一次(根據(jù)具體情況而定)。共享存儲(chǔ)器心跳偏移地址被放置在共享存儲(chǔ)器包頭的第5個(gè)4 個(gè)節(jié)的字中。如圖3 所示。

圖3 心跳數(shù)據(jù)包

3.4 處理器之間的通信

處理器之間通信可以采用中斷方式也可以采用查詢(xún)方式。每一個(gè)處理器都有一個(gè)輸入隊(duì)列用來(lái)接收其它處理器發(fā)送來(lái)得的數(shù)據(jù)包,當(dāng)采用查詢(xún)方式時(shí),處理器以固定時(shí)間間隔查詢(xún)隊(duì)列是否接收到數(shù)據(jù)。當(dāng)使用中斷方式時(shí),發(fā)送處理器通知接收處理器輸入隊(duì)列中有數(shù)據(jù)。中斷方式可以采用總線(xiàn)中斷或是郵箱中斷,它比查詢(xún)方式更有效。

多CPU 的并行系統(tǒng)類(lèi)似于一個(gè)嵌入式分布式系統(tǒng),它們之間的通信可采用分布式消息隊(duì)列、分式數(shù)據(jù)庫(kù)技術(shù)。分布式消息隊(duì)列和分布式數(shù)據(jù)庫(kù)技術(shù)相結(jié)合,給系統(tǒng)中的所有處理器提供了一個(gè)透明化的通信平臺(tái)。處理器訪問(wèn)分布式消息隊(duì)列,就好象是訪問(wèn)自己的資源一樣。分布式消息隊(duì)列技術(shù)可以簡(jiǎn)化應(yīng)用程序的設(shè)計(jì),加快系統(tǒng)開(kāi)發(fā)。

3.5 多處理器之間的資源分配

在具有多處理器的單板計(jì)算機(jī)系統(tǒng)中,最重要的一點(diǎn)是要考慮任務(wù)的并行執(zhí)行效率,多個(gè)處理器均需要訪問(wèn)外圍設(shè)備和進(jìn)行數(shù)據(jù)通信,這樣就存在外部設(shè)備的分配問(wèn)題。

對(duì)設(shè)備資源的分配,有兩種:一是定制(即靜態(tài)分配),即單板計(jì)算機(jī)在設(shè)計(jì)時(shí)就將資源分配好,缺點(diǎn)是適應(yīng)性不強(qiáng),資源不能根據(jù)用戶(hù)的需求而改動(dòng);二是動(dòng)態(tài)分配,在板上加載FPGA 邏輯,預(yù)留軟件接口,用戶(hù)可根據(jù)任務(wù)的要求動(dòng)態(tài)指定。整個(gè)資源控制是透明的,不需要知道是哪個(gè)CPU控制。在硬件設(shè)計(jì)時(shí),要考慮對(duì)CPU及外部設(shè)備訪問(wèn)的仲裁、優(yōu)先級(jí)設(shè)置等,防止由于訪問(wèn)臨界資源而造成的沖突。軟件則應(yīng)該指定是那一個(gè)CPU使用特定設(shè)備,其余CPU 訪問(wèn)時(shí)要互斥進(jìn)行。

4 多處理器并行計(jì)算機(jī)的性能

在該系統(tǒng)中采用CPU 類(lèi)型為Intel Pentium3處理器,主頻是700MHz。測(cè)試方法,用相同功能的數(shù)據(jù)處理算法,將之分解為模塊,分別運(yùn)行在系統(tǒng)的各個(gè)處理器中。測(cè)試結(jié)果分析,和單CPU相比,采用兩塊CPU處理,運(yùn)算性能可提高60%“70%;采用三塊CPU,運(yùn)算性能至少達(dá)到2倍。我們知道,影響這個(gè)測(cè)試結(jié)果的最大因素是測(cè)試方法,將相同功能的算法分解到多個(gè)處理器,分解的方法直接決定綜合處理效率。但可以肯定,多個(gè)處理器并行處理設(shè)計(jì),可大大提高系統(tǒng)的運(yùn)算效率。

5 結(jié)束語(yǔ)

多CPU 的并行計(jì)算機(jī)技術(shù),在很大程度上提高了系統(tǒng)計(jì)算速度,突破了單CPU 處理速度的極限。同時(shí)采用多個(gè)CPU 的單板計(jì)算機(jī)設(shè)計(jì),可以減少計(jì)算機(jī)系統(tǒng)的體積、降低開(kāi)發(fā)成本、減少系統(tǒng)的開(kāi)發(fā)周期。本文中介紹的技術(shù),在我所設(shè)計(jì)的計(jì)算機(jī)系統(tǒng)中已經(jīng)實(shí)現(xiàn)并且得到軟硬驗(yàn)證,所采用的CPU 類(lèi)型包括DSP、pentium3 等系列。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    18948

    瀏覽量

    227403
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10721

    瀏覽量

    209597
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6556

    瀏覽量

    122803
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    微機(jī)原理--微型計(jì)算機(jī)系統(tǒng)及其操作系統(tǒng)簡(jiǎn)介

    `微機(jī)原理--微型計(jì)算機(jī)系統(tǒng)及其操作系統(tǒng)簡(jiǎn)介[hide][/hide]`
    發(fā)表于 04-30 21:21

    Concurrent iHawk實(shí)時(shí)并行計(jì)算機(jī)仿真系統(tǒng)

    Concurrent公司的iHawk并行計(jì)算機(jī)仿真系統(tǒng)是具有高實(shí)時(shí)特性的實(shí)時(shí)仿真系統(tǒng),該仿真系統(tǒng)包含對(duì)稱(chēng)多處理器計(jì)算機(jī)平臺(tái)、實(shí)時(shí)
    發(fā)表于 12-29 06:34

    嵌入式系統(tǒng)與通用計(jì)算機(jī)操作系統(tǒng)的區(qū)別

    系統(tǒng)是指以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。嵌入式
    發(fā)表于 04-22 08:05

    嵌入式系統(tǒng)與通用計(jì)算機(jī)操作系統(tǒng)的區(qū)別

    系統(tǒng)是指以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。嵌入式
    發(fā)表于 04-22 08:05

    求一種多處理器并行計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)方案

    求一種多處理器并行計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)方案
    發(fā)表于 04-27 06:58

    什么是計(jì)算機(jī)系統(tǒng)計(jì)算機(jī)硬件計(jì)算機(jī)軟件?

    第一章 計(jì)算機(jī)系統(tǒng)概論1. 什么是計(jì)算機(jī)系統(tǒng)、計(jì)算機(jī)硬件計(jì)算機(jī)軟件?硬件和軟件哪個(gè)更重要?解:P3計(jì)算
    發(fā)表于 07-22 09:06

    計(jì)算機(jī)軟硬件知識(shí)

    一、計(jì)算機(jī)軟硬件知識(shí)1.計(jì)算機(jī)的發(fā)展和應(yīng)用計(jì)算機(jī)的誕生: 第一臺(tái)計(jì)算機(jī) ENIAC 于 1946年 誕生于 美國(guó)賓夕法尼亞 大學(xué)
    發(fā)表于 07-22 06:31

    什么是計(jì)算機(jī)系統(tǒng)?硬件和軟件哪個(gè)更重要?

    第一章計(jì)算機(jī)系統(tǒng)概論1 .什么是計(jì)算機(jī)系統(tǒng)、計(jì)算機(jī)硬件計(jì)算機(jī)軟件?硬件和軟件哪個(gè)更重要?解: P3計(jì)算
    發(fā)表于 07-26 07:18

    嵌入式操作系統(tǒng)相關(guān)資料分享

    嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件均可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。其發(fā)展已
    發(fā)表于 11-05 07:28

    什么是計(jì)算機(jī)操作系統(tǒng)?

    什么是計(jì)算機(jī)操作系統(tǒng)操作系統(tǒng)是一種為應(yīng)用程序提供服務(wù)的系統(tǒng)軟件,是一個(gè)完整的計(jì)算機(jī)系統(tǒng)的有機(jī)組成部分。從層次上來(lái)看,
    發(fā)表于 12-14 06:50

    嵌入式系統(tǒng)與通用計(jì)算機(jī)操作系統(tǒng)的區(qū)別是什么

    是指以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)主要由
    發(fā)表于 12-22 06:35

    計(jì)算機(jī)操作系統(tǒng)原理與設(shè)計(jì)

    計(jì)算機(jī)操作系統(tǒng)原理與設(shè)計(jì)算機(jī)操作系統(tǒng)原理與設(shè)計(jì) 計(jì)算機(jī)操作系統(tǒng)原理與設(shè)計(jì)
    發(fā)表于 06-03 14:30 ?42次下載

    微機(jī)原理--微型計(jì)算機(jī)系統(tǒng)及其操作系統(tǒng)簡(jiǎn)介

    微機(jī)原理--微型計(jì)算機(jī)系統(tǒng)及其操作系統(tǒng)簡(jiǎn)介
    發(fā)表于 12-12 22:07 ?0次下載

    實(shí)時(shí)并行計(jì)算機(jī)仿真系統(tǒng)

    關(guān)鍵詞:測(cè)試測(cè)量 , 數(shù)據(jù)傳輸 , 反射內(nèi)存卡 概述 Concurrent 公司的 iHawk 并行計(jì)算機(jī)仿真系統(tǒng)是具有高實(shí)時(shí)特性的實(shí)時(shí)仿真系統(tǒng),該仿真系統(tǒng)包含對(duì)稱(chēng)多處理器
    發(fā)表于 08-13 07:43 ?636次閱讀

    計(jì)算機(jī)操作系統(tǒng)的幾種分類(lèi)方式

    操作系統(tǒng)是管理計(jì)算機(jī)硬件與軟件的計(jì)算機(jī)程序,是計(jì)算機(jī)系統(tǒng)的核心,是計(jì)算機(jī)系統(tǒng)中最基礎(chǔ)和最重要的系統(tǒng)
    的頭像 發(fā)表于 03-21 14:58 ?2w次閱讀