You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
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 变缓
|
|
|
|
|
* 安全问题:幽灵漏洞、熔断漏洞
|