《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 雙內(nèi)核嵌入式處理器BCM1250及其應(yīng)用

雙內(nèi)核嵌入式處理器BCM1250及其應(yīng)用

2008-07-28
作者:王 江

??? 摘?要: 介紹了基于MIPS指令集的嵌入式處理器BCM1250的雙內(nèi)核、大容量片內(nèi)緩存、多類(lèi)型通信接口等主要特性,并對(duì)其應(yīng)用方案、啟動(dòng)過(guò)程、操作系統(tǒng)選擇等進(jìn)行了探討。
??? 關(guān)鍵詞: MIPS 嵌入式? RTOS? SMP

?

??? 1983年,斯坦福大學(xué)的John L. Hennessy成功完成了第一個(gè)采用RISC理念的MIPS(Microprocessor without Interlocked Pipeline Stages)微處理器。次年,他在硅谷創(chuàng)立了MIPS公司。該公司本身不生產(chǎn)微處理器,只設(shè)計(jì)高性能工業(yè)級(jí)的32位和64位CPU的體系結(jié)構(gòu),并且向其他半導(dǎo)體公司提供使用其內(nèi)核(IP)的授權(quán),用于生產(chǎn)基于MIPS而又各具特色的微處理器。目前已經(jīng)有50多家公司申請(qǐng)了授權(quán),相繼推出了一批個(gè)性鮮明的微處理器,如PMC-Sierra 公司的RM7000系列、RM9000X2,NEC公司的VR55000、VR7700,而B(niǎo)roadcom公司開(kāi)發(fā)的BCM1250一舉奪得了當(dāng)年度嵌入式處理器論壇的“最佳高效能嵌入式處理器”大獎(jiǎng)。
1 BCM1250處理器
??? BCM1250是Broadcom公司開(kāi)發(fā)的基于MIPS架構(gòu)的雙內(nèi)核、高性能64位RISC微處理器,采用0.13μm CMOS工藝制造,860引腳BGA封裝(42.5×42.5mm),最高主頻1GHz。芯片集成了兩個(gè)名為“SB-1”的內(nèi)核(CPU0和CPU1)。SB-1內(nèi)核不僅實(shí)現(xiàn)了標(biāo)準(zhǔn)的MIPS64指令集架構(gòu),而且增加了MIPS-3D和MIPS-MDMX專(zhuān)用擴(kuò)展指令。在1GHz時(shí),兩個(gè)內(nèi)核具有4000MIPS或10Mpps的處理能力。
??? BCM1250是一種緊耦合" title="緊耦合">緊耦合共享內(nèi)存對(duì)稱(chēng)式多處理器(SMP)。SMP系統(tǒng)定義為通過(guò)一個(gè)公共高速總線(xiàn)" title="高速總線(xiàn)">高速總線(xiàn),將多個(gè)相同的處理器與內(nèi)存和I/O" title="I/O">I/O設(shè)備等一系列外圍設(shè)備連接起來(lái)的系統(tǒng)。“對(duì)稱(chēng)”意味著每個(gè)處理器在訪問(wèn)共享內(nèi)存和外圍設(shè)備時(shí),訪問(wèn)機(jī)制相同。所謂“緊耦合”是指各內(nèi)核個(gè)體之間距離很近,并通過(guò)一個(gè)通用高速總線(xiàn)實(shí)現(xiàn)物理互連。這些內(nèi)核通過(guò)公共高速總線(xiàn)共享一個(gè)全局內(nèi)存模塊(即共享內(nèi)存)以及諸多外圍設(shè)備。
??? 圖1是BCM1250的內(nèi)部結(jié)構(gòu)框圖。主要特點(diǎn)如下。

?


1.1 高性能雙內(nèi)核和大容量緩存
??? (1) 兩個(gè)64位MIPS內(nèi)核SB-1。每個(gè)內(nèi)核能夠在一個(gè)時(shí)鐘周期發(fā)射4條指令。每個(gè)內(nèi)核包含32KB 4路組關(guān)聯(lián)指令緩存和32KB 4路組關(guān)聯(lián)數(shù)據(jù)緩存,64對(duì)入口的全關(guān)聯(lián)TLB(Translation Lookaside Buffer)。
??? (2)兩個(gè)SB-1共享4路組關(guān)聯(lián)二級(jí)高速緩存(L2 Cache), 每路128KB,共512KB。與其它系統(tǒng)不同的是,內(nèi)核與I/O DMA主設(shè)備共享這片緩存,就像緩存處于內(nèi)核和SDRAM(內(nèi)存)之間,所有對(duì)內(nèi)存的訪問(wèn)都在二級(jí)緩存中檢驗(yàn)。并且,每路Cache可以單獨(dú)設(shè)置為存儲(chǔ)器模式,作為存儲(chǔ)器使用,而且速度不變。
??? (3)面向網(wǎng)絡(luò)分組處理優(yōu)化的片內(nèi)公共高速總線(xiàn)ZBbus,256位(1個(gè)緩存線(xiàn)長(zhǎng)cache line)數(shù)據(jù)寬度,速率是CPU主頻的一半,將兩個(gè)CPU、L2 Cache、SDRAM控制器和I/O橋等連接起來(lái)。總線(xiàn)使用MESI協(xié)議以保證兩個(gè)CPU、L2 Cache、內(nèi)存和外部設(shè)備的數(shù)據(jù)的一致性。
??? (4) 兩個(gè)內(nèi)核之間可以通過(guò)指令(ll、lld、sc和scd指令)和中斷等方式進(jìn)行通信。每個(gè)內(nèi)核含有一個(gè)郵箱(mailbox)寄存器。當(dāng)一個(gè)內(nèi)核通過(guò)ZBbus總線(xiàn)訪問(wèn)另一個(gè)內(nèi)核的郵箱寄存器時(shí),產(chǎn)生中斷。
1.2 外圍控制模塊和多類(lèi)型通信接口
??? (1) DDR SDRAM控制器包括兩個(gè)通道,每個(gè)通道64位數(shù)據(jù)寬度,另加8位ECC數(shù)據(jù),支持兩條JEDEC標(biāo)準(zhǔn)的133MHz DDR DIMM。每個(gè)通道的帶寬高達(dá)16Gbps。如果采用DRAM芯片,輔以嚴(yán)格的走線(xiàn)控制,速度可達(dá)到200MHz,帶寬高達(dá)50Gbps。ECC單元能夠檢測(cè)2位錯(cuò)誤,糾正1位錯(cuò)誤。
??? (2) 一個(gè)遵循PCI2.2標(biāo)準(zhǔn)的PCI接口,32位數(shù)據(jù)寬度,最高速率66MHz。內(nèi)部PCI仲裁器支持4個(gè)外部設(shè)備。
??? (3) 一個(gè)遵循HyperTransport 1.03標(biāo)準(zhǔn)的HyperTransport接口(簡(jiǎn)稱(chēng)HT接口)。HyperTransport的性能比PCI總線(xiàn)高,是PCI總線(xiàn)的升級(jí)換代產(chǎn)品,由AMD公司在1999年的微處理器論壇上首先提出。HT設(shè)備采用標(biāo)準(zhǔn)的PCI配置方法。發(fā)送和接收的數(shù)據(jù)寬度都是8位。HT總線(xiàn)的參考時(shí)鐘是100MHz,但是發(fā)送數(shù)據(jù)的速率可以是參考時(shí)鐘的6倍,而且時(shí)鐘的上下邊沿都能觸發(fā)。
??? (4) 三個(gè)遵循IEEE802.3標(biāo)準(zhǔn)的MAC控制器,支持10Mbps、100Mbps、1Gbps以太網(wǎng)接口,可以運(yùn)行在全雙工或者半雙工模式,可以設(shè)置收發(fā)數(shù)據(jù)包的最大長(zhǎng)度和最短長(zhǎng)度,甚至支持16K~1B的大包。MAC控制器支持VLAN——一個(gè)便于組建虛擬局域網(wǎng)的標(biāo)志。不僅如此,控制器還能夠識(shí)別以太網(wǎng)包的類(lèi)型、IPv4包的校驗(yàn)和TCP/UDP包的校驗(yàn)和,并且能夠根據(jù)數(shù)據(jù)包的目的地址進(jìn)行過(guò)濾,選擇是否接收廣播包。控制器包含32個(gè)RMON統(tǒng)計(jì)寄存器,可以統(tǒng)計(jì)接收和發(fā)送的數(shù)據(jù)量、失敗次數(shù)、CRC出錯(cuò)次數(shù)等。所以,有的資料將BCM1250稱(chēng)作網(wǎng)絡(luò)處理器,因?yàn)槠銶AC的功能比普通MAC強(qiáng)大。
??? (5) 除了標(biāo)準(zhǔn)的以太網(wǎng)模式,網(wǎng)絡(luò)接口還能夠配置成Packet FIFO模式。在此模式下,MAC控制器引腳復(fù)用作Packet FIFO,設(shè)置為8位或者16位數(shù)據(jù)通道,速率可達(dá)208MHz。
??? (6) 兩個(gè)串口" title="串口">串口既可以工作于同步模式,也可以工作于異步模式(UART)。同步模式的最高速率為55Mbps,異步模式的最高速率為5Mbps。 兩個(gè)串口的模式選擇分別由AD[12]和AD[14]引腳在啟動(dòng)時(shí)的電平?jīng)Q定。當(dāng)然,CPU可以通過(guò)系統(tǒng)配置寄存器改變串口模式。串口的同步模式分為兩種子模式:HDLC和Transparent。
??? (7) 設(shè)備控制器向外引出通用總線(xiàn),用于連接外圍設(shè)備。它有8個(gè)片選信號(hào)CS[0:7],其中CS[0]專(zhuān)用于連接bootrom,CS[7]用于連接PCMCIA設(shè)備。每個(gè)片選空間的最大容量為256MB,可以獨(dú)立設(shè)置時(shí)序、數(shù)據(jù)寬度、地址空間等參數(shù)。上電時(shí),CS[0]映射到4MB物理空間,從0x1FC00000~0x1FFFFFFF。0x1FC00000是MIPS處理器的啟動(dòng)中斷入口地址。
??? (8) 一個(gè)遵循PCMCIA 2.1標(biāo)準(zhǔn)的PCMCIA接口,支持外接PCMCIA存儲(chǔ)卡的熱插拔,能夠根據(jù)卡的插入和拔出相應(yīng)地上下電。PCMCIA接口、中斷、通用輸入輸出口三者的引腳是復(fù)用的,設(shè)計(jì)師應(yīng)根據(jù)實(shí)際需要決定取舍。PCMCIA接口需要消耗10個(gè)GPIO引腳。
??? (9) 16個(gè)GPIO引腳既可以配置成中斷引腳,也可以配置成普通數(shù)據(jù)輸入輸出引腳或者PCMCIA接口。
??? (10) 兩個(gè)SMBus接口,遵循SMBus(系統(tǒng)管理總線(xiàn))標(biāo)準(zhǔn)1.1,與I2C總線(xiàn)兼容。最高工作頻率為400kHz。系統(tǒng)可以選擇從SMBus 0接口的EEPROM啟動(dòng)。啟動(dòng)方式由引腳AD[17:18]在上電時(shí)的電平?jīng)Q定。
??? (11) 多個(gè)DMA控制器。每個(gè)同步串口含有一個(gè)發(fā)送和接收DMA通道,每個(gè)網(wǎng)口有兩個(gè)支持QoS的發(fā)送和接收DMA通道。還有4個(gè)專(zhuān)用于存儲(chǔ)器和其它設(shè)備(例如PCI,F(xiàn)lash)之間搬運(yùn)數(shù)據(jù)的DMA。
??? (12) I/O橋0和I/O橋1將外圍模塊和內(nèi)部高速總線(xiàn)ZBbus隔離開(kāi)來(lái)。
??? (13) 兩個(gè)看門(mén)狗(Watchdog),4個(gè)通用定時(shí)器,4個(gè)40bit性能計(jì)數(shù)寄存器。定時(shí)器的最小單位為1μs。
??? (14) 一個(gè)符合IEEE 1149.1標(biāo)準(zhǔn)的JTAG接口,方便了硬件調(diào)試和測(cè)試。
1.3 其它
??? (1) 低功耗,運(yùn)行在800MHz主頻下的功耗為8~10W。
??? (2) 芯片既可以工作于Big Endian模式,也可以工作于Little Endian模式,取決上電時(shí)引腳AD[22]的電平。
??? (3) 為減少抖動(dòng),外部100MHz時(shí)鐘以差分信號(hào)方式輸入到芯片,經(jīng)過(guò)內(nèi)部的PLL倍頻或分頻,分別輸送給內(nèi)核、存儲(chǔ)器、ZBbus、HT接口、定時(shí)器、波特率發(fā)生器等單元。
??? (4) 內(nèi)核電壓和HT接口電壓為1.2V,DDR SDRAM接口電壓為2.5V,其它模塊接口電壓為3.3V。
2 應(yīng)用與實(shí)現(xiàn)的探討
2.1 典型應(yīng)用

??? 圖2是BCM1250的典型應(yīng)用框圖,配合不同的外圍器件,可以構(gòu)成多種應(yīng)用方式。PMC插槽可以擴(kuò)展多種應(yīng)用,例如網(wǎng)卡、DSP卡、IPSec卡等,DDR SDRAM既可以是內(nèi)存條,也可以是焊在電路板上的SDRAM芯片。串行設(shè)備可以是EEPROM或者實(shí)時(shí)時(shí)鐘芯片等,其它設(shè)備可以是USB控制器等。本系統(tǒng)的特點(diǎn)是可靠性高、擴(kuò)展性強(qiáng)、通信接口多、占用空間少,適合于大型路由器、VoIP網(wǎng)關(guān)、交換機(jī)、無(wú)線(xiàn)基站等高端場(chǎng)合。

?


2.2 啟動(dòng)
??? 因?yàn)槭请p核CPU,所以在實(shí)現(xiàn)過(guò)程中應(yīng)特別注意合理安排系統(tǒng)的啟動(dòng)順序" title="啟動(dòng)順序">啟動(dòng)順序。上電后,上電復(fù)位信號(hào)COLDRES_L必須保持為低電平直到電源和參考時(shí)鐘穩(wěn)定在工作范圍之內(nèi);然后BCM1250讀取配置PLL倍頻系數(shù)的引腳電平,從AD引腳讀取系統(tǒng)其它配置信息,例如,是否選用PCI內(nèi)部仲裁器,串口是否工作在同步模式等。啟動(dòng)時(shí),芯片根據(jù)AD[17:18]信號(hào)電平,選擇從掛在通用總線(xiàn)CS0上的Flash,或者從SMBus 0口的串行EEPROM讀取啟動(dòng)代碼。
??? 圖3以Windriver公司的VxWorks嵌入式實(shí)時(shí)操作系統(tǒng)為例,說(shuō)明了啟動(dòng)順序。其它操作系統(tǒng)的啟動(dòng)順序類(lèi)似。CPU0首先初始化,CPU1保持啟動(dòng)狀態(tài),等待CPU0完成基本的內(nèi)核初始化、串口初始化、L1 Cache和L2 Cache的初始化;然后CPU0對(duì)CPU1初始化,包括內(nèi)核的基本初始化和CPU1內(nèi)部的L1 Cache初始化;接著,CPU1再次等待,CPU0對(duì)DDR SDRAM進(jìn)行初始化,再將操作系統(tǒng)等數(shù)據(jù)從ROM復(fù)制到SDRAM,通知CPU1,然后啟動(dòng)操作系統(tǒng);CPU1收到通知后,也將數(shù)據(jù)從ROM復(fù)制到SDRAM,運(yùn)行操作系統(tǒng)的復(fù)本。較早地初始化串口,是為了便于通過(guò)計(jì)算機(jī)屏幕及時(shí)監(jiān)測(cè)系統(tǒng)的啟動(dòng)狀況,判斷故障所在。

?


2.3? 選擇操作系統(tǒng)的考慮
??? 因?yàn)锽CM1250是一種SMP系統(tǒng),所以選擇操作系統(tǒng)時(shí)應(yīng)考慮SMP系統(tǒng)的特點(diǎn),充分發(fā)揮BCM1250的雙內(nèi)核特性。與單核處理器相比,SMP系統(tǒng)的優(yōu)勢(shì)是顯然的:
??? (1) 在完成一組任務(wù)時(shí),兩個(gè)CPU并行運(yùn)行比一個(gè)CPU單獨(dú)運(yùn)行的速度快得多。
??? (2) 即使有一個(gè)CPU出現(xiàn)了致命故障,另一個(gè)CPU也能無(wú)縫地接管它的工作,降低系統(tǒng)的停工時(shí)間。
??? SMP系統(tǒng)與分布式多處理器的區(qū)別在于:在一個(gè)分布式多處理器系統(tǒng)中,處理單元個(gè)體通常以單獨(dú)節(jié)點(diǎn)的形式存在,每個(gè)這樣的節(jié)點(diǎn)中的處理器類(lèi)型可以不同,并且各自配備內(nèi)存和I/O設(shè)備。每個(gè)處理器可以運(yùn)行自己的操作系統(tǒng),只通過(guò)一種互連方式(例如以太網(wǎng)),利用消息或旗語(yǔ)來(lái)與其它處理器同步。而緊耦合共享內(nèi)存SMP系統(tǒng)則不同。在SMP系統(tǒng)中,所有的處理器都運(yùn)行操作系統(tǒng)的同一個(gè)副本,該操作系統(tǒng)可協(xié)調(diào)每個(gè)相似的CPU上同時(shí)發(fā)生的活動(dòng)。由于緊耦合CPU所訪問(wèn)的是一個(gè)公共內(nèi)存區(qū),所以它們必須通過(guò)一種基于低延時(shí)共享內(nèi)存的通信機(jī)制實(shí)現(xiàn)相互之間的同步。這對(duì)操作系統(tǒng)提出了要求。
??? 其次,如果操作系統(tǒng)選擇得當(dāng),能使硬件中確切的處理單元數(shù)對(duì)應(yīng)用程序員透明。于是應(yīng)用軟件就能不進(jìn)行任何針對(duì)SMP的修改而運(yùn)行。
??? 再次,BCM1250同時(shí)有兩個(gè)任務(wù)在運(yùn)行,兩個(gè)CPU都可以處理中斷,所以操作系統(tǒng)還必須具備“旋轉(zhuǎn)鎖”等機(jī)制,保證任務(wù)的合理調(diào)度和中斷的及時(shí)處理。
??? 業(yè)界流行的MontaVista Linux專(zhuān)業(yè)版、VxWorks等RTOS均支持SMP系統(tǒng)。當(dāng)然,用戶(hù)也可以將單處理器RTOS擴(kuò)展為支持SMP的系統(tǒng)。
??? 雖然BCM1250比單內(nèi)核處理器在結(jié)構(gòu)上只多了一個(gè)內(nèi)核,但是在啟動(dòng)順序、任務(wù)調(diào)度、中斷管理等方面卻有著較大的差別,相應(yīng)地對(duì)RTOS提出了較高的要求。BCM1250主要用于高端設(shè)備,在國(guó)內(nèi)的開(kāi)發(fā)應(yīng)用還不普及。
參考文獻(xiàn)
1 Broadcom Inc.BCM1250 User's Manual.2002.10
2 Broadcom Inc.BCM1250 Product Brief.2002
3 Srinivas Dharmasanam.面向多處理器應(yīng)用的實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)策略.電子工程專(zhuān)輯,2004;(2)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 女人精aaaa片一级毛片女女 | 精品一区二区三区在线播放 | 色拍拍在精品视频69影院在线 | 成年女人免费又黄又爽视频 | 免费观看欧美一级高清 | 久久综合久久美利坚合众国 | 国产成人免费高清激情视频 | 国产韩国精品一区二区三区久久 | 欧美成人精品免费播放 | 久久久国产乱子伦精品 | 成人 欧美| 欧美成人午夜片一一在线观看 | 欧美精品一区二区三区在线 | 国产一国产一级毛片视频在线 | 欧美成人 一区二区三区 | 五月天激激婷婷大综合蜜芽 | 天天夜天干天天爽 | 欧美特级一级毛片 | 一区二区伦理 | 欧美激情亚洲一区中文字幕 | 嫩草影院在线观看网站成人 | 国产东北色老头老太性视频 | 毛色毛片免费看 | 欧美手机视频 | 深夜福利爽爽爽动态图 | 成年人午夜免费视频 | 亚洲成人高清 | 精品a在线观看 | 久久91精品国产一区二区 | 一本色道久久88亚洲精品综合 | 中文字幕精品一区二区三区视频 | 亚洲一级黄色毛片 | 久久综合中文字幕一区二区 | 亚洲国产影视 | 国产成人女人在线视频观看 | 欧美国产永久免费看片 | 免费人成黄页网站在线观看国产 | 久久综合给会久久狠狠狠 | 91高端极品外围在线观看 | 欧美自拍网| 韩国三级大全久久网站 |