天天看點

PowerPC VxWorks BSP分析(1)--PowerPC體系結構1          PowerPC體系結構

1          PowerPC體系結構

POWER 是 Power Optimization With Enhanced RISC 的縮寫,是 IBM 的很多伺服器、工作站和超級計算機的主要處理器。 POWER 晶片起源于 801 CPU ,是第二代 RISC 處理器。 POWER 晶片在 1990 年被 RS 或 RISC System/6000 UNIX 工作站(現在稱為 eServer 和 pSeries )采用, POWER 的産品有 POWER1 、 POWER2 、 POWER3 、 POWER4 ,現在最高端的是 POWER5 。 POWER5 處理器是目前單個晶片中性能最好的晶片。 POWER6 計劃 2006 年釋出。

PowerPC 是 Apple 、 IBM 和摩托羅拉( Motorola )聯盟(也稱為 AIM 聯盟)的産物,它基于 POWER 體系結構,但是與 POWER 又有很多的不同。例如, PowerPC 是開放的,它既支援高端的記憶體模型,也支援低端的記憶體模型,而 POWER 晶片是高端的。最初的 PowerPC 設計也着重于浮點性能和多處理能力的研究。當然,它也包含了大部分 POWER 指令。很多應用程式都能在 PowerPC 上正常工作,這可能需要重新編譯以進行一些轉換。從 2000 年開始,摩托羅拉和 IBM 的 PowerPC 晶片都開始遵循 Book E 規範,這樣可以提供一些增強特性,進而使得 PowerPC 對嵌入式處理器應用(例如網絡和儲存設備,以及消費者裝置)更具有吸引力。 PowerPC 體系結構的最大一個優點是它是開放的:它定義了一個指令集( ISA ),并且允許任何人來設計和制造與 PowerPC 相容的處理器;為了支援 PowerPC 而開發的軟體子產品的源代碼都可以自由使用。最後, PowerPC 核心的精簡為其他部件預留了很大的空間,從新添加緩存到協處理都是如此,這樣可以實作任意的設計複雜度。

PowerPC 體系結構分為三個級别(或者說是“ book ”)。通過對體系結構以這種方式進行劃分,為實作可以選擇價格 / 性能比平衡的複雜性級别留出了空間,同時還保持了實作間的代碼相容性。

Book I. 使用者指令集體系結構

定義了通用于所有 PowerPC 實作的使用者指令和寄存器的基本集合。這些是非特權指令,為大多數程式所用。

Book II. 虛拟環境體系結構

定義了正常應用軟體要求之外的附加的使用者級功能,比如高速緩存管理、原子操作和使用者級計時器支援。雖然這些操作也是非特權的,但是程式通常還是通過作業系統調用來通路這些函數。

Book III. 操作環境體系結構

定義了作業系統級需要和使用的操作。其中包括用于記憶體管理、異常向量處理、特權寄存器通路、特權計時器通路的函數。 Book III 中詳細說明了對各種系統服務和功能的直接硬體支援。

從最初的 PowerPC 體系結構的開發開始,就根據特定的市場需求而發生分支。目前, PowerPC 體系結構家族樹有兩個活躍的分支,分别是 PowerPC AS 體系結構和 PowerPC Book E 體系結構。 PowerPC AS 體系結構是 IBM 為了滿足它的 eServer pSeries UNIX 和 Linux 伺服器産品家族及它的 eServer iSeries 企業伺服器産品家族的具體需要而定義的。 PowerPC Book E 體系結構,也被稱為 Book E ,是 IBM 和 Motorola 為滿足嵌入式市場的特定需求而合作推出的。 PowerPC AS 所采用的原始 PowerPC 體系結構與 Book E 所采用的擴充之間的主要差別大部分集中于 Book III 區域中。

在這些衍生的體系結構中還有一些适當的應用級擴充,這些擴充大部分與具體應用的場合相關,但是 PowerPC AS 和 PowerPC Book E 共享在 PowerPC 體系結構的 Book I 中定義的基本指令集。雖然三種體系結構主要在作業系統級别上表現出不同,但它們在很大程度上具備應用級的相容性。

PowerPC 最初定義了同時對 32 位和 64 位實作的支援,可以讓 32 位的應用程式運作于 64 位系統之上。在 IBM pSeries 和 iSeries 伺服器上使用的 PowerPC AS 系統現在隻提供體系結構的 64 位實作,新的 64 位應用程式和遺留的 32 位的應用程式可以運作于同一個系統之上。 PowerPC Book E 體系結構同時有 32 位實作和 64 位實作, 64 位實作也完全相容 32 位 PowerPC 應用程式。這兩種體系結構都具備與 PowerPC Book I 指令和寄存器的完全相容性,同時提供了對記憶體管理、異常和中斷、計時器支援和調試支援等各方面的系統級擴充。

最初的 PowerPC 體系結構仍是 PowerPC AS 和 PowerPC Book E 的主要組成部分,并仍保持了其完整性,表現出了令人信服的應用級相容性。

摩托羅拉半導體(飛思卡爾)從低到高的 PowerQUICC I 、 II 、 II Pro 、 III 四個系列的通信處理器産品,應對不同的應用需求:

1) PowerQUICC I MPC8xx 低成本通信控制器系列, 8xx core

MPC823, MPC823E, MPC850, MPC852T, MPC853T, MPC855T, MPC857DSL, MPC857T, MPC859DSL, MPC860, MPC862, MPC866, MPC870, MPC875, MPC880, MPC885

2) PowerQUICC II MPC82xx 高性能低價格通信控制器系列, 603e or G2 core

MPC8247, MPC8248, MPC8250, MPC8255, MPC8260, MPC8264, MPC8265, MPC8266, MPC8270, MPC8271, MPC8272, MPC8275, MPC8280

3) PowerQUICC II Pro MPC83xx 高內建度通信控制晶片系列, e300 core

MPC8343E, MPC8347E, MPC8349E, MPC8358E, MPC8360E

4)PowerQUICC III MPC85xx 高性能低功耗通信控制晶片系列, e500 core

MPC8540, MPC8541E, MPC8555E, MPC8560, MPC8543E, MPC8545E, MPC8547E, MPC8548E

PowerPC VxWorks BSP分析(1)--PowerPC體系結構1          PowerPC體系結構

Power QUICC 系列微處理器一般有三個功能子產品組成,嵌入式 PowerPC 核 (EMPCC) ,系統接口單元 (SIU) 以及通信處理器 (CPM) 子產品,這三個子產品内部總線都是 32 位。 Power QUICC 中除內建了 PowerPC 核,還內建了一個 32 位的 RISC 核心。 Power PC 核主要執行高層代碼,而 RISC 則處理實際通信的低層通信功能,兩個處理器核心通過高達 8K 位元組的内部雙口 RAM 互相配合,共同完成 MPC854 強大的通行控制和處理功能。 CPM 以 RISC 控制器為核心構成,除包括一個 RISC 控制器外,還包括七個串行 DMA(SDMA) 通道、兩個串行通信控制器 (SCC) 、一個通用串行總線通道 (USB) 、兩個串行管理控制器 (SMC) 、一個 I2C 接口和一個串行外圍電路 (SPI) ,可以通過靈活的程式設計方式實作對 Ethemet 、 USB 、 T1/E1,ATM 等的支援以及對 UART, HDLC 等多種通信協定的支援。

Power QUICC II 完全可以看作是 Power QUICC 的第二代,在靈活性、擴充能力、內建度等方面提供了更高的性能。 Power QUICC II 同樣由嵌入式的 PowerPC 核和通信處理子產品 CPM 兩部分內建而來。這種雙處理器器的結構由于 CPM 承接了嵌入式 Power PC 核的外圍接口任務,是以較傳統結構更加省電。 CPM 交替支援三個快速串行通信控制器 (FCC) ,二個多通道控制器 (MCC) ,四個串行通信控制器 (SCC) ,二個串行管理控制器 (SMC) ,一個串行外圍接口電路 (SPI) 和一個 I 2 C 接口。嵌入式的 Power PC 核和通信處理子產品 (CPM) 的融和,以及 Power QUICCII 的其他功能、性能縮短了技術人員在網絡和通信産品方面的開發周期。

PowerPC VxWorks BSP分析(1)--PowerPC體系結構1          PowerPC體系結構
PowerPC VxWorks BSP分析(1)--PowerPC體系結構1          PowerPC體系結構
PowerPC VxWorks BSP分析(1)--PowerPC體系結構1          PowerPC體系結構

同 Power QUICCII 相比, Power QUICC III 內建度更高、功能更強大、具有更好的性能提升機制。 Power QUICCIII 中的 CPM 較 Power QUICC II 産品 200MHz 的 CPM 的運作速度提升了 66% ,達到 333MHz ,同時保持了與早期産品的向後相容性。這使得客戶能夠最大範圍的延續其現有的軟體投入、簡化未來的系統更新、又極大的節省開發周期。 Power QUICC III 通過微代碼具有的可擴充性和增加客戶定制功能的特性,能夠使客戶針對不同應用領域開發出各具特色的産品。這種從 Power QUICC II 開始就有的微代碼複用功能,已經成為簡化和降低更新成本的主要設計考慮。  

MPC860 PowerQUICC 是當今比較流行、性能相當優越的單片內建嵌入式微處理器。 MPC860 PowerQUICC 通信處理器可根據使用者不的要求提高 2 ~ 4 個串行通信控制器、不同規格的指令和資料緩存,各種級别的網絡協定支援。該産品專為寬帶接入裝置如路由器、接入集線器、 LAN/WAN 交換機、 PBX 系統和 STM 網關等設計。 MPC860 包括三個主要子產品: PowerPC 核心、系統接口單元( SIU )、通信處理子產品( CPM )。

PowerPC VxWorks BSP分析(1)--PowerPC體系結構1          PowerPC體系結構

PowerPC 是主要的處理機單元,通常稱為 Embedded PowerPC 核心(或 EPPC )。它包括資料和指令的緩存和存儲器管理單元( MMU ),在 40MHz 時鐘時為 50 MIPS 指令速度。

第二個主要的子產品為系統接口單元( SIU )。主要包括:總線螢幕、假中斷螢幕、軟體看門狗、中斷定時器和實時時鐘( RTC )、複位控制器、不占用内部開銷的片内總線仲裁、 JTAG1149.1 測試口。它的一個主要功能是提供内部總線和外部總線的接口。

第三個主要模拟為通信處理機子產品( CPM )。主要包括: RISC 控制器、所有串行通道口支援連續接收和發送模式、 5K 位元組雙口 RAM 、 16 個串行 DMA ( SDMA )通道、三個平行 I/O 寄存器、四個波特率獨立的發生器(可以連接配接到任意一個 SCC 和 SMC ,并允許運作中改變,支援自動波特率)、四個串行通信控制器( SCC ) (支援以太網、 HDLC/SDLC 、 HDLC 總線)、兩個串行管理控制器( SMC )( UART 方式或透明傳輸)、一個串行外圍接口電路( SPI )( MC6830 SCP 的擴充,支援主從模式,支援同一總線上多主操作)、一個 I 2 C ( Inter-Integrated Circuit )接口(支援主從模式,支援多主環境)。 CPM 在幾個不同的通信裝置如 SCC 和 SMC 上發送、接收資料,所有的通信裝置可以獨立工作。 SCC 和 SMC 也可以用于時分複用總線。

串行通信控制( SCC ) 是 MPC860 中最強大的通信裝置,它們可以以多種不同的協定傳送資料,比如 UART HDLC ,以太網等等。 SMC 為 2 個全雙工通道,程式設計可以配置它們獨立支援 UART 、透明方式和 GCI 。 SMC 比 SCC 的能力少一些,它支援少一些協定,而且 CPM RISC 提供的服務也少一些。 注意,與 SCC 一樣, SMC 使用緩存描述字元,緩存在存儲器中,與 SCC 一樣, SMC 向 CPM RISC 提供請求,使 SDMA 傳送資料。 SCC 與 SMC 一個顯著的不同為沒有 FIFO 做接收和發送工作,相反接收和發送為雙緩存。

MPC860 有兩個 CPU : PowerPC 和 32 位 RISC 。 PowerPC 執行高層代碼, RISC 處理實際通信的低層通信功能。由于 CPU 分擔了嵌入式 PowerPC 核的外圍工作任務,這種雙處理器體系結構功耗要低于傳統體系結構的處理器。兩個處理器主要是通過内部存儲空間互相配合工作。在存儲器區,每個處理器都可以設定控制位、讀狀态位。每個通信裝置都有一個發送 DMA 和接收 DMA , 32 俠 RISC 控制這 16 個串行 DMA 在通信裝置和存儲器之間傳送資料。當 MPC860 接收資料時,串行 DMA 從通信裝置接收資料并放入存儲器中;發送資料順序相反,串行 DMA 從存儲器中取資料,送到通信裝置,串行 DMA 隻服務 CPM 的 RISC ,但是兩個虛拟 IDMA 可以為使用者 DMA 所用。

PowerPC VxWorks BSP分析(1)--PowerPC體系結構1          PowerPC體系結構
PowerPC VxWorks BSP分析(1)--PowerPC體系結構1          PowerPC體系結構

繼續閱讀