天天看點

RISC-V學習筆記(二)

1. RISC-V架構寄存器

1.1 32個通用寄存器

RISCV架構設計了32個通用整數寄存器和一個程式計數寄存器(PC),如下所示。

RISC-V學習筆記(二)
RISC-V學習筆記(二)

通用寄存器的長度在32位架構中為32位,在64位架構中為64位,下面介紹32個通用寄存器中比較重要的幾個寄存器:

x0:這個寄存器恒為0,讀取的值永遠為0。

ra:用于儲存函數調用傳回位址,作用類似ARM架構中的lr寄存器。

sp:用于儲存棧位址,RISCV下和ARM下一樣,一般使用滿減棧方式。

fp:用于儲存棧幀,作用類似ARM下的bp寄存器。

a0~a7:用于傳遞函數調用的參數,并且a0一般用于儲存函數傳回值。

2 特權架構

RISCV架構下有三種特權級别,分别是Machine、Supervisor和User,簡稱M模式、S模式和U模式。M模式權限最高,在這個級别下的程式可以通路一切硬體和執行所有特權指令;S模式一般用于運作作業系統,可以設定MMU使用虛拟位址;U模式一般是普通應用程式使用,權限最低。

3 流水線

流水線設計就是将組合邏輯系統地分割,并在各個部分(分級)之間插入寄存器,并暫存中間資料的方法。

目的是将一個大操作分解成若幹的小操作,每一步小操作的時間較小,是以能提高頻率,各小操作能并行執行,是以能提高資料吞吐率(提高處理速度)。

缺點:功耗增加,面積增加,硬體複雜度增加,總結一下,流水線就是插入寄存器,以面積換取速度。

采用流水線設計方式,不但可以提高處理器的工作頻率,還可以提高處理器的效率。但是流水線并不是越長越好,流水線越長要使用的資源就越多、面積就越大。

在設計一款處理器之前,首先要确定好所設計的處理器要達到什麼樣的性能(或者說主頻最高是多少),所使用的資源的上限是多少,功耗範圍是多少。如果一味地追求性能而不考慮資源和功耗的話,那麼所設計出來的處理器估計就隻能用來玩玩,或者做做學術研究。

4 名詞解釋

微控制單元(Microcontroller Unit;MCU),又稱單片微型計算機(Single Chip Microcomputer )或者單片機,是把中央處理器(Central Process Unit;CPU)的頻率與規格做适當縮減,并将記憶體(memory)、計數器(Timer)、USB、A/D轉換、UART、PLC、DMA等周邊接口,甚至LCD驅動電路都整合在單一晶片上,形成晶片級的計算機,為不同的應用場合做不同組合控制。諸如手機、PC外圍、遙控器,至汽車電子、工業上的步進馬達、機器手臂的控制等,都可見到MCU的身影(就是一種SoC)。

System on Chip,簡稱SoC,也即片上系統。SoC是一個微小型系統,如果說中央處理器(CPU)是大腦,那麼SoC就是包括大腦、心髒、眼睛和手的系統。