前言
这两天把前一段时间从图书馆借的《CPU通识课》这本书看了一遍,这是一本科普类书籍,还是蛮适合IT人员阅览的。作者在讲解的过程中会结合自身的实践,感受不会很空洞。
内容还是挺多的,包含CPU的概览、术语、架构原理、生产制造的流程、相关企业及软件生态。
个人在阅读的过程中也稍微记了一些笔记,下面小结一下。
CPU性能
从最早的MIPS和MFLOPS方法(指令功能不同,不同指令测出来的结果不一),到通用的标准SPEC CPU测试。
从只对CPU进行性能测试,到考虑CPU与外设、内存数据交换的因素考量, 如stream可以用于测试CPU访问内存的性能。
从硬件测试到软件的测试,不同厂商还会优化编译器,如intel的icc,为了测试而测试,当然能体现其技术能力,但不一定适用于通用场景。
还提到过时的UnixBench测试,项目老旧、测试原理不能体现最新架构的性能。
CPU制作
制作计算机 = 制作CPU + 制作操作系统,相较于CPU,操作系统难度更大。
CPU企业制作CPU的几种方式:1)自主研发指令集;2)获取指令集授权,研发兼容CPU;3)单纯的SOC拼装,完全用他人的CPU。
做CPU更难的还是在于生态的建立,有人用才卖的好。
CPU指令集
RISC和CISC指令集,X86代表CISC, ARM、MIPS、RISC-V等代表RISC;RISC精简指令集指令格式固定,个数少,寄存器要多,指令库庞大。CISC指令变长,执行周期不一。
intel对外提供CISC,内部先预译码,再转RISC。
指令5级流水线:指令预取、指令译码1、指令译码2、指令执行、结果回写。
CPU术语
IP核: 一个设计好的电路模块,实现了预定义的功能,模块化,可以在不同的芯片中复用。
SOC:片上系统,在一个芯片中集成了多个电路模块,组合而成的电路系统。
功耗: 电子设备在单位时间内所消耗的电能。降功耗的方法有三种:1)使用更先进的工艺;2)操作系统做电源管理;3)根据运行负载自动调整主频; 还可以使用大小核的设计。
摩尔定律:集成电路的晶体管每一两年会翻一倍。目前已经达到极限了,5nm级已经只有几个原子大小了,没法继续操控了,会导致不可靠。
intel Tick-Tock策略: 每两年更新换代一下。 先制造工艺提升,再继续微结构设计优化。
异构计算:一个是专人专事,不同计算单元组合完成一个任务,另外就是把软件的功能交给硬件做,提高特定功能的性能。比如国密的专用指令,其他专用处理器。
向量: 一条指令可用同时计算两组以上的操作数。
标量:一条指令只可以计算一组操作数。
多核: 在一个芯片中集成多个独立的CPU单元。
多路: 一个主板上安装多个CPU芯片。
超线程:硬件多线程,通过CPU增加执行单元实现。
CPU设计
硬件设计比软件设计更难:1)软件语言更方便使用;2)电路系统比软件系统更负责,不易分层;3)电路存在大量有状态模块,复杂度高于软件的无状态模块。
EDA(电子设计自动化)工具,可用简化设计工作,还可以用于验证(仿真),对设计代码进行自动化检查。
国内EDA厂商产品远落后于国外先进厂商,占有率也很低。存在开源的EDA软件,可用进行简单芯片的制作。
CPU设计语言Verilog,Verilog对于CPU设计师而言,就先C语言对于软件设计师一样。
Verilog语言(RTL)描述了抽象的电路结构,需要使用工具将其转换为门单元,得到网表。以网表为分界点,CPU设计的前后端阶段。网表经过布局布线,确定晶体管位置,得到版图。版图交给流片厂商。
可以用FPGA验证CPU功能, 也可以使用模拟器实现。由于主频的限制,运行的都比较慢。
计算机系统相关
并行内存结构:a)SMP,所有CPU访问相同的内存,CPU和内存通过高速互联总线进行数据传递;b)NUMA,每个CPU都安装内存条,CPU之间通过互联网络连接。
Cache一致性: a)强一致性,必须所有cpu更新后才处理后续的指令;b)弱一致性,不需要等待,不同cpu可能存在cache不一致的问题,需要软件使用内存同步指令,大部分并行CPU都是弱一致性的。
CPU生态
一流的企业做标准,二流的企业做品牌,三流的企业做产品。我国企业大部分是二三流芯片企业。
更多
这是2024年以来的第一篇blog,只能说自己懒惰了吧,但也的确比较忙了,时间比较紧张了。
去年底定的计划,2024上半年考那个系统分析师,跟着报了个班,系统地学习了相关的体系知识,每周都有2次课,课前要预习,课后要做题。
周末大部分时间都在看学习资料,刷题目,复习视频背概念,准备写论文等等。而且不下雨的话,都要去跑个十公里,锻炼一下身体。
工作上面也是忙,研发任务还是比较紧的,也承担了更多的事情,驱动相关的知识也还在补漏。
每周都过得很饱满,刷刷地就过去了。
总之,IT这行就得不停的学习,才能让自己更充实,不被淘汰吧。
当然,时间还是得挤一挤的,对自己再狠一些。
行动,才不会被动!
欢迎关注个人公众号 微信 -> 搜索 -> fishmwei,沟通交流。
博客地址: https://fishmwei.github.io
掘金主页: https://juejin.cn/user/2084329776486919