为什么手机不用x86的CPU呢?
内存与编译器
![](https://filescdn.proginn.com/bb925024213161cfe1c0b03376856f54/851bb88188e931301b8a6a0de00f10ea.webp)
化繁为简
![](https://filescdn.proginn.com/600be0905b7c7081e64e9981136b51dd/498f6bc2999d9830d9faf52ab2737a09.webp)
![](https://filescdn.proginn.com/58d8b368206b11bfb7f0af212bbdc3d7/3682df918e014f13d020200b24823e85.webp)
精简指令集哲学
![](https://filescdn.proginn.com/b530c877be690d5a43a0afb06037c1e0/b1003ffc0a20cd865d78494234403b42.webp)
![](https://filescdn.proginn.com/ba1bedf3bb4f20ef0b2e0e9334ca6049/14ea6309be715d87452892644100c691.webp)
两数相乘
![](https://filescdn.proginn.com/66ce8d3f414068a9cdd4b5219af54879/ff420f4ec9e09f42df9beb679bbca65c.webp)
从内存中加载地址A上的数,存放在寄存器中
从内存中夹杂地址B上的数,存放在寄存器中
ALU根据寄存器中的值进行乘积
将乘积写回内存
MULT A B
a = a * b;
从内存中加载地址A上的数,存放在寄存器中
从内存中夹杂地址B上的数,存放在寄存器中
ALU根据寄存器中的值进行乘积
将乘积写回内存
LOAD RA, A
LOAD RB, B
PROD RA, RB
STORE A, RA
![](https://filescdn.proginn.com/b530c877be690d5a43a0afb06037c1e0/b1003ffc0a20cd865d78494234403b42.webp)
标准从来都是一个好东西
LOAD RA, A
LOAD RB, B
PROD RA, RB
STORE A, RA
指令流水线
![](https://filescdn.proginn.com/f74ee16d899680167e99fc77ac4f8923/8ed58cdc79edac55c36c82d82e0a8850.webp)
名扬天下
![](https://filescdn.proginn.com/41b071fa3a4a91c1ca7ff89c1b5bd773/b9b9a7d36531ac70eae4c0648a665cab.webp)
评论