現代CPU的暫存器以及暫存器檔案是怎麼做的,應該不是D觸發器做的吧?

時間 2021-06-10 02:07:47

1樓:超級飛俠

2樓:

籠統的說,看暫存器的多少而定。

有些處理器的暫存器很多,很可能使用RAM來實現;有些比較少暫存器的會傾向於用觸發器實現。至於暫存器檔案(這個概念隱含有比較多的memory空間),幾乎沒有使用觸發器來實現的。這種情況下,相比RAM,DFF占用的物理面積太大,功耗太大了。

晶元的成本直接跟面積相關。

用觸發器還是RAM實現軟體概念上的暫存器/暫存器檔案的取捨標準仍然是:面積功耗和速度的折衷考慮。

計算機組成原理之類的教科書不會講到這一層。主要原因是教科書大部分解釋概念和原理。具體的物理實現不在範圍之內,那需要另外一門課程。

兩門課程之間缺了乙個聯絡:從(暫存器、暫存器檔案) 到 (DFF、RAM)概念是怎麼轉過來的。這個本質上不是個問題。

是我們學習的時候沒有融會貫通導致的。如果你同時有CS和EE兩個專業學位,你就懂了。

暫存器/暫存器檔案之類算是從軟體的思維獲得的概念。軟體工程師知道"訪問暫存器"是可以把數儲存在乙個符合Rn裡面,但Rn到底是個什麼東西不知道,當然從程式設計的層面來看也不用知道。

DFF/RAM則偏重於物理實現方面的概念。微電子專業的人會深入的研究怎麼設計這個東東。附帶說一句DFF/RAM的種類和架構也是很多很多的,絕對不是教科書上講的那麼簡單。

JMP指令的轉移位址是暫存器定址或暫存器間接定址時,基本操作是什麼?

rayhunter jmp 有兩種常見的定址,一種是間接定址,一種直接定址。間接 jmp relN,彙編指令運算元 EB,E9 RIP RIP offset,間接定址,不直接設定PC值,將當前PC值加上一定的偏移量 直接 JMP r m,彙編指令運算元,FF 直接定址,設定PC的值,不是加乙個偏移量...

CPU暫存器的命名有沒有來由?

已登出 對於指令編碼格式來說。命名沒有含義。對於人來說,命名可以有含義也可以沒有含義。例如x86的暫存器,eax,ebx,ecx,edx等這是含義。例如MIPS暫存器,就是r0,r1,r2就是沒含義,r就是表示暫存器。後面用數字。 接著補充 CS Code Segment SS Stack Segm...

暫存器堆(register file)是什麼?

櫻木花道 暫存器堆 register file 是CPU中多個暫存器組成的陣列,通常由快速的靜態隨機讀寫儲存器 SRAM 實現。這種RAM具有專門的讀埠與寫埠,可以多路併發訪問不同的暫存器。CPU的指令集架構總是定義了一批暫存器,用於在記憶體與CPU運算部件之間暫存資料。在更為簡化的CPU,這些架構...