1. 姚永斌的《超標量處理器設計》
這本書以超標量處理器的流水線為主線展開介紹,講的非常細致,深入淺出,對于入門選手來說非常友好,首推這本書。
主要內容如下:
Cache的原理和提高Cache性能的方法。
虛擬存儲器的基礎知識、頁表、TLB和Cache加入流水線后的工作流程;
分支預測的原理、在超標量處理器中使用分支預測時遇到的問題和解決方法;
RISC指令集體系的簡單介紹;
指令解碼的過程;
寄存器重命名的原理、方式、超標量處理器中寄存器重命名的問題和解決方法;
指令Dispatch和發(fā)射、發(fā)射過程中的流水線、選擇電路和喚醒電路的實現(xiàn)過程;
處理器中使用的基本運算單元、旁路網絡、Cluster結構以及對Load/Store指令的執(zhí)行過程進行加速;
重排序緩存(ROB)、處理器狀態(tài)的管理以及處理器對異常的處理過程。
2. 現(xiàn)代處理器設計——超標量處理器基礎
這本書是一本超標量處理器設計的教科書,是卡內基·梅隆大學超標量處理器設計課程的教材。
這本書涵蓋了指令集、流水線等處理器設計的基本概念和超標量的結構和技術,并且提供了超標量處理器的實例,如Intel P6微體系結構等。
3. 計算機組成與設計——硬件/軟件接口
這本書是由圖靈獎得主Patterson和Hennessy共同撰寫,是計算機體系結構領域的經典教材,強調軟硬件協(xié)同設計及其對性能的影響。
本書采用ARMv8體系結構,講解硬件技術、匯編語言、計算機算術運算、流水線、存儲器層次結構以及I/O的基本原理。新內容涵蓋平板電腦、云基礎設施、ARM以及x86體系結構,新實例包括IntelCorei7、ARMCortex-A53以及NVIDIAFermiGPU。這本書可以作為高等院校計算機專業(yè)的教材,也適合廣大專業(yè)技術人員參考。
4. 計算機體系結構——量化研究方法
這本書也是由圖靈獎得主Patterson和Hennessy共同撰寫的,是計算機體系結構領域的奠基作品。
5. 深入理解計算機系統(tǒng)
6. 開源的香山處理器
香山處理器是亂序六發(fā)射結構設計,RISC-V架構,代碼和文檔均是開源的。
開源文檔?https://xiangshan-doc.readthedocs.io/zh-cn/latest/arch/
開源代碼?https://github.com/OpenXiangShan/XiangShan
香山處理器前端流水線包括分支預測單元、取指單元、指令緩沖等單元,順序取指。后端包括譯碼、重命名、重定序緩沖、保留站、整型/浮點寄存器堆、整型/浮點運算單元。我們將訪存子系統(tǒng)分離開,包括兩條 load 流水線,兩條 store addr 流水線,兩條 store data 流水線,以及獨立的 load 隊列和store 隊列,store buffer 等。緩存包括 ICache、DCache、L2/L3 Cache 、TLB 和預取器等模塊。
7. 開源的玄鐵C910處理器
玄鐵C910是RISC-V架構的64位高性能多核心處理器,主要面向對高性能的邊緣計算領域,如邊緣服務器、邊緣計算卡、高端機器視覺、高端視頻監(jiān)控、自動駕駛、移動智能終端、5G基站等。
每個C910核心采用自主設計的微體系結構,采用3譯碼8執(zhí)行的超標量架構和多通道的數(shù)據預取等高性能技術。
開源網站為https://github.com/XUANTIE-RV/openc910
下圖為玄鐵C910的微架構框圖。