基於雷思磊老師的《自己動手寫CPU》這本書。題外: 這本書是在買別的書的時候,看到了,很感興趣,就順帶買回來了。買回來,就一定要看完,同時動手做實驗的啊。
想象實現一下自己的處理器,還挺帶感的。
基礎篇理論概括:
1.目前通過編寫代碼可以在可編程邏輯器件上實現非常復雜的電路設計,比如處理器。
2.目前有很多可以下載到可編程邏輯期間上運行的處理器,陳偉軟核處理器:
1)OC8051 一款8位兩級流水線處理器,CISC類型 Verilog HDL編寫代碼
2)OR1200 一款32位五級流水線處理器 RISC類型 Verilog HDL編寫代碼
3)LEON3 一款32位七級流水線處理器 RISC類型 VHDL 編寫代碼
3.簡單來講:處理器的指令就是識別0,1編碼,也就是識別指令,據此進行各種運算和數據處理。
4.不同的處理器使用不同的指令,其中編寫的程序,不能直接在另一個處理器上使用,需要重新編寫。
5. 指令集架構 (ISA),將編程所有需要了解的硬件信息從硬件系統中抽象出來,這樣軟件人員就可以面向ISA進行編程。ISA用來描述編程是用到的抽象機器,而非這個機器的具體實現。軟件人員看來 ISA包括一套指令集和一些寄存器。ISA對應的是微架構的概念,微架構是ISA的實現
6. 根據ISA的不同,計算機分兩類 : CISC RISC 。計算機發展早期,CISC指令集使用了變長編碼,節約存儲空間,由於一條指令可以完成很多功能,從而減少對內存的訪問次數,這樣也減少了緩慢的存儲器訪問對程序性能的影響。CISC指令集架構中,20%的程序會被反復使用,這樣的結構不合理。
7.RISC為了實現是計算機的結構更加簡單合理以提高運算速度 :指令長度固定、指令格式種類少,尋址方式種類少,大量使用寄存器。由於在RISC中試用的指令大多數是就簡單指令且都能在一個時鍾周期內完成,處理器的頻率大幅度提升,同時易於設計流水線。
8.主要的幾種ISA
1)X86:個人計算機的標准平台,歷史上最成功的指令集
2)ARM:低功耗 低成本
3)SPARC (Scalable Processor ARChitecture,可擴展處理器架構)SUN將其用在高性能工作站和服務器上,目前的版本有v8 v9
SPARC架構對外完全開放,在此基礎上出現了一些開放源代碼的處理器。UltraAPARCT1 、LEON(一種SPARC v8架構處理器)LEON系列采用了VHDL編寫代碼
4)POWER(Performance Optimization With Enhanced RISC) 由IBM設計開發的RISC指令集架構
5) MIPS (Microprocessor without Interlocked Piped Stages 無內鎖流水線微處理器):使用相對簡單的指令,結構優秀的編譯器以及采用流水線執行指令的硬件,就可以使用更少的晶元面積生產更快的處理器。
9
1) 為什么采用現有的指令集架構
現有的指令集架構已經形成了一套完善的環境,其中既有成熟的編譯器,還有大量的應用的程序,采用現有的指令集架構,都可以直接使用這些環境。
2)
MIPS的設計是RISC架構中的經典之作
