1. 姚永斌的《超标量处理器设计》
这本书以超标量处理器的流水线为主线展开介绍,讲的非常细致,深入浅出,对于入门选手来说非常友好,首推这本书。
主要内容如下:
Cache的原理和提高Cache性能的方法。
虚拟存储器的基础知识、页表、TLB和Cache加入流水线后的工作流程;
分支预测的原理、在超标量处理器中使用分支预测时遇到的问题和解决方法;
RISC指令集体系的简单介绍;
指令解码的过程;
寄存器重命名的原理、方式、超标量处理器中寄存器重命名的问题和解决方法;
指令Dispatch和发射、发射过程中的流水线、选择电路和唤醒电路的实现过程;
处理器中使用的基本运算单元、旁路网络、Cluster结构以及对Load/Store指令的执行过程进行加速;
重排序缓存(ROB)、处理器状态的管理以及处理器对异常的处理过程。
2. 现代处理器设计——超标量处理器基础
这本书是一本超标量处理器设计的教科书,是卡内基·梅隆大学超标量处理器设计课程的教材。
这本书涵盖了指令集、流水线等处理器设计的基本概念和超标量的结构和技术,并且提供了超标量处理器的实例,如Intel P6微体系结构等。
3. 计算机组成与设计——硬件/软件接口
这本书是由图灵奖得主Patterson和Hennessy共同撰写,是计算机体系结构领域的经典教材,强调软硬件协同设计及其对性能的影响。
本书采用ARMv8体系结构,讲解硬件技术、汇编语言、计算机算术运算、流水线、存储器层次结构以及I/O的基本原理。新内容涵盖平板电脑、云基础设施、ARM以及x86体系结构,新实例包括IntelCorei7、ARMCortex-A53以及NVIDIAFermiGPU。这本书可以作为高等院校计算机专业的教材,也适合广大专业技术人员参考。
4. 计算机体系结构——量化研究方法
这本书也是由图灵奖得主Patterson和Hennessy共同撰写的,是计算机体系结构领域的奠基作品。
5. 深入理解计算机系统
6. 开源的香山处理器
香山处理器是乱序六发射结构设计,RISC-V架构,代码和文档均是开源的。
开源文档 https://xiangshan-doc.readthedocs.io/zh-cn/latest/arch/
开源代码 https://github.com/OpenXiangShan/XiangShan
香山处理器前端流水线包括分支预测单元、取指单元、指令缓冲等单元,顺序取指。后端包括译码、重命名、重定序缓冲、保留站、整型/浮点寄存器堆、整型/浮点运算单元。我们将访存子系统分离开,包括两条 load 流水线,两条 store addr 流水线,两条 store data 流水线,以及独立的 load 队列和store 队列,store buffer 等。缓存包括 ICache、DCache、L2/L3 Cache 、TLB 和预取器等模块。
7. 开源的玄铁C910处理器
玄铁C910是RISC-V架构的64位高性能多核心处理器,主要面向对高性能的边缘计算领域,如边缘服务器、边缘计算卡、高端机器视觉、高端视频监控、自动驾驶、移动智能终端、5G基站等。
每个C910核心采用自主设计的微体系结构,采用3译码8执行的超标量架构和多通道的数据预取等高性能技术。
开源网站为https://github.com/XUANTIE-RV/openc910
下图为玄铁C910的微架构框图。
1127