-
硬件寄存器
鎖定
- 中文名
- 硬件寄存器
- 外文名
- Hardware register
- 使用對象
- 計算機
- 作 用
- 系統識別器件類型、型號等
- 特 點
- 具有存儲性
- 技術特點
- 多種存儲器的結合
硬件寄存器硬件寄存器與通信
器件是組成VXI總線系統最基本的邏輯單元。通常,一個器件將佔據一塊VXI模塊,但也許在一個模塊上實現多個器件和一個器件佔據多個模塊。一個單機箱VXI系統最多可以有256個器件。根據器件所支持的通信協議能力可將其分成寄存器基器件、消息基器件、存儲器器件和擴展器件四類。
VXI模塊必須有一組具有特定地址的專用寄存器,其64KB A16尋址空間的上16KB空間為VXI總線器件所保留。每個VXI器件都有一個用於確定其寄存器在上述尋址空問所在位置的8位邏輯地址。VXI器件的邏輯地址類似於GPIB設備的GPIB地址,可以手動或在系統上電時自動配置。
[1]
硬件寄存器硬件寄存器訪問
在"Stellaris外設驅動庫”裏,訪問片內外設的庫函數最終都是由在頭文件hw-types-h裏定義的三個硬件寄存器訪問宏函數HWREG( )、HWREGH( )、HWREGB( )實現的。這三個宏函數在定義的時候被聲明為volatile屬性的指針,所以這種訪問不會被編澤器優化掉,即每次讀取時都返回硬件寄存器的當前值,且每次寫人時都會把最新的數值寫人硬件寄存器。
硬件寄存器讀取硬件寄存器
rdhwr提供了(用户模式下的)非特權軟件的直接硬件信息讀取。MIPS32/64規範定義了4個寄存器。操作系統可以通過CP0寄存器HWREna分別獨立控制對各個寄存器的訪問(將第0位置使能,寄存器0,以此類推)。HWREna在系統復位時為全0,因此,軟件需要顯式地將用户訪問權限打開。有特權的代碼可隨時讀取,年NHWREna中的0無關。
這4個寄存器為:
CPUNum(0):當前程序運行的CPU數量,它直接從協處理器0 EBase(CPUNum)域中讀取。
SYNCI-Step(1):L1緩存行的有效大小。緩存行的大小對於用户程序非常重要,因為需要它執行synci指令,使寫入的指令可執行。SYNCI-Step會告訴你“步長”,即相鄰synci之間的地址增幅。SYNC-Step若返No,則表示不需要進行synci操作。
CC(2):用户模式下只讀的CP0 Count寄存器存取用於高精度的計數。如果沒有下面這個寄存器,它並沒有太大的意義。