天天看點

結合Linux的應用場景看MIPS32架構之前言

本系列文檔的初衷是結合着Linux kernel的多種應用場景介紹MIPS體系架構,通過這樣的方式能夠看清楚MIPS處理器是如何運作Linux kernel的,其中也會多少涉及到Linux kernel相關的知識,是以需要對Linux kernel有一定的了解,如果了解其他架構,比如ARM、X86等,那麼看這系列文章會比較容易了解的.可能有人對于這樣的介紹方式不是特别了解,很多資料,包括MIPS官方文檔介紹方式都是以章節按部就班的介紹,的确,那種介紹方式能夠介紹的很全面,但是初次接觸MIPS架構的人還是不能了解其中的細節在現實中是如何使用的,比如舉個簡單的例子,當MIPS處理器執行一條使用者空間的指令時,異常和MMU是如何參與其中?是以不想以那種傳統方式來介紹,而是以在應用的過程中,根據需要來介紹相關的知識點 .

對于系統軟體開發人員來說,想了解MIPS的體系結構,需要涉及的内容有很多,到目前為止,MIPS釋出了兩個系列(32bit和64bit)6個版本的處理器架構(分别對應R1-R6),這些不同的版本中,基本上都會包括pipeline,通用寄存器,協處理器CP0,中斷與異常,MMU,CACHE,debug,FPU,指令集.近幾年為了滿足一些特殊需要MIPS又釋出了一些特殊用途的子產品标準,比如多線程(multthreadind)子產品,虛拟化(virtualization)子產品,除了上面這些内容,ABI也是軟體開發人員不可忽略的一部分.

上面提到的内容這麼多,我們挑選其中比較簡單的一個MIPS版本進行介紹,北京君正的xburst架構是采用了MIPS32 R2的規範所研發的一種架構,這個架構完全相容MIPS32 R2,是以我們以此介紹MIPS32 R2的結構,由于該版本中不支援multthreading和virtualization子產品,是以我們不會涉及這兩部分内容,MIPS64相關的内容這裡也不會涉及到.

如果發現文中的内容存有片面性的或者不準确的地方,非常歡迎發郵件到[email protected]溝通交流,謝謝.

MIPS官網:

架構相關:https://imgtec.com/MIPS/

軟體開發相關:https://community.imgtec.com/developers/MIPS/

繼續閱讀