ppa : performance,power,area 处理器设计流程:微架构定义(指令集定义)、逻辑实现、物理实现(后端) 计算机硬件:控制器、运算器、存储器、输入输出设备 体系结构可以笼统概括为Interface between HW and SW SW:programming language , algorithm , application ISA(instruction set architecture) HW:microarchitecture,RTL,circuit,physics 如何在体系结构发展中同时支持软件正常工作? 兼容 先前兼容(forward):开发的 向后兼容(backward) 向后兼容是软件兼容的根本特性,也是系列机的根本特性 **CISC** * 指令不定长 * 除load,store外,其他指令也可以访问存储器 * 单条指令可以完成复杂的操作 **RISC** * 指令定长 * 只有load/store可以访问存储器 * 单条指令完成简单的操作 例如实现两数相乘: CISC : MUL [0x100c] [0x1004] [0x1008] RISC : Load Ra 0x1004 Load Rb 0x1008 Mul Rc Ra Rb Store Rc 0x100c CISC单指令复杂的历史原因: * 存储器昂贵、速度慢,希望不定长的指令提供更大的代码密度 * 编译器不发达 CISC为向后兼容,指令只增不减,但只有20%的指令反复使用,剩下80%的指令使用频率低 CISC代表:x86 RISC(reduced instruction set computer)代表:power,mips,arm,risc-v ARM架构:A系列高性能,R系列实时处理,M系列工控 现代体系结构挑战: * 单核性能增长缓慢:①Dennard scaling失效(晶体管尺寸减小,功耗并不会明显降低,甚至因为漏电流导致功耗增加(ARM因为注重低功耗,主频只有3GHz))、②有限的指令集并行 * moore's law 变缓 * 安全问题:幽灵漏洞、熔断漏洞