學習筆記之microelectronic 1

2021-10-03 20:02:10 字數 1710 閱讀 3717

目錄

isa(instruction sets architecture)

risc架構和cisc架構比較

各種不同的架構介紹

標準的isa結構如下圖所示,其操作的階段主要分為3個:取指(fetch),解碼(decode),執行(excecute)

(這個控制暫存器和data path以及整個工作流程的動作忘了)

isa的分類:

l/s(load-store結構)所有的運算元都放在register中操作了(risc架構)

r/m(register-memory結構)單運算元的操作可能會把運算元放在memory中執行(ibm,x86)

r+m(reg+mem結構)運算元全再memory中或者全在register中或者兩者都有(vax)

cisc架構的代表: x86, c51

risc架構的**:arm, mips

指令集的區別

首先從字面上理解就能知道, cisc(complex instruction setcomputer)架構的指令數肯定是遠遠多於risc(reducedinstruction set computer)架構的.另外, risc架構下,不同指令opcode的長度是相等的, 而x86下不同的指令的長度差別很大.

暫存器的區別

cisc架構一般都提供通用暫存器a(x86下為eax),來支援大部分運算指令,但是由於指令太過複雜的原因,並不是所有的暫存器都能支援全部指令的運算,所以彙編**中會有各種針對eax的mov操作,影響效能.

指令執行所需要的時鐘週期

在cisc架構中,不同指令所需要的時鐘週期是不同的(比如乘法和加法的週期就不太可能相同).而risc架構的處理器,大部分的指令都可以在乙個時鐘週期內完成,這應該可以降低指令流水線設計的複雜度. cisc架構的很多複雜指令都通過cpu內的微碼來完成, 這樣那些微碼比較複雜的指令就需要多個時鐘週期才能完成. 指令執行需要的時鐘週期不同, 會增加指令流水線優化的難度.

訪問記憶體的區別

risc在結構設計上是乙個載入/儲存(load/store)的構架,只有載入和儲存指令可以訪問記憶體,資料處理指令只對暫存器的內容進行操作。為了加速程式的運算,risc會設定多組的暫存器,並且指定特殊用途的暫存器。cisc架構則允許資料處理指令對記憶體進行操作,因此需要的暫存器數量會比較少.另外x86架構支援cpu對非對齊的記憶體位址的訪問,這在risc架構的處理器中通常會引起cpu產生異常.其實像類似非對齊記憶體位址訪問的功能, x86也是通過cpu內微碼來實現的,效率會大大降低.

定址方式和io空間

x86架構下io空間和記憶體空間是分開的, io空間使用完全不同的指令來訪問(in, out). risc架構則不區分io空間和記憶體空間,都是直接把io空間對映到記憶體空間,直接用記憶體空間的訪問方式來操作. risc架構下對於定址方式同樣做了精簡,幾乎所有的指令都使用暫存器定址.

編譯的區別

cisc的指令豐富的優勢,使得它的編譯器可以少做很多事情,編譯器的設計更簡單.而risc在實現乙個功能的時候,需要的指令條目數會更多一些,程式也會更大.

1.dlx

2.t2

3.pentium

學習筆記之 指標

本文是學習linux c程式設計一站式學習的學習筆記 一,指標與陣列 對於 1 指標之間是可以相互比較,同時指標之間也可以做減法運算,不過是有條件的。指標之間比較的是位址,只有只想同乙個陣列中元素的指標之間相互比較才有意思。指標之間相減表示兩個指標之間相差的元素個數,同樣只有指向同乙個陣列元素的指標...

perl學習筆記之

1 表示式修飾符if unless while untile foreach 2 data檔案控制代碼 data 標誌著指令碼的邏輯結束,並開啟data檔案控制代碼用於讀取。3 m運算子 如果包圍正規表示式的定界符是斜槓,m運算子是可選的 如果忙亂變了定界符,則是要求的。格式 regular exp...

學習筆記之其它

1.清空cookie cookie.expires datetime response.cookies username expires 0 2.panel 橫向滾動,縱向自動擴充套件 3.回車轉換成tab nkeyd wn if event.keycode 13 event.keycode 9 示...