大家好,今天小编关注到一个比较有意思的话题,就是关于cpu的电路设计的问题,于是小编就整理了2个相关介绍cpu的电路设计的解答,让我们一起看看吧。
CPU是数字电路吗?
是数字电路。CPU又叫中央处理器,是专门进行运算和处理的芯片。CPU存在于各种常见设备中,比如电脑,手机,冰箱,空调等。在这些设备中,CPU都是做数字信号处理的,比如发送各种信号,为了抗干扰一般都选用数字信号,在数字信号中,只有1和0,这样的好处在于,抗干扰能力强。
在CPU内部的寄存器中,都是0或者1,如果不是数字电路会有什么问题呢,第一是抗干扰能力差,速度慢。做一个比喻,这就相当于一个按键开关,按下是一个状态,松开又是一个状态,要么是按下要么是松开,不会有第三个状态。
CPU上的几十亿个晶体管是如何被控制,发挥出其相应的功能的?
设计师对每个晶体管都心里有数?在集成电路发展的早期,是这样的。
早期的CPU
世界上第一个商用微处理器,Intel 于1971年推出的4004,仅包含2250个晶体管。这时的CPU可以完全由设计师绘制,设计师当然也清楚每个晶体管都是做什么的。
早期的其他CPU也是类似情况,比如1974年出品的 Intel 8080,共包含4500个晶体管;1975年出品的6502,仅3510个晶体管。
当然,CPU这种数字逻辑芯片设计的基本单元其实不是晶体管,而是逻辑门,或者更大一点的触发器。当然,每个逻辑门和触发器所包含的晶体管都是固定的,也就可以认为,清楚知道每个逻辑门和触发器的分工和作用,就能清楚的知道每个晶体管的分工了。
以上,是CPU设计的手工时代,设计师了解,也必须了解每个晶体管的分工和作用。
现代的CPU
由于现代芯片规模巨大,通常都利用EDA工具来生成和验证门级网表。逻辑设计师们通常工作在RTL(寄存器传输级)级。
同时,由于IP核的大量使用,设计师已经很难清楚每个逻辑门,或者每个晶体管的分工了。
类似软件开发
我们可以用软件开发类比:
- 以前的软件开发,工程师直接用汇编语言编写程序。工程师也清楚每条机器指令的作用
- 现代的软件开发,工程师使用高级语言编写程序(如C++,Java,Go,Python),还会使用很多外来程序库(如Pytorch),这样,工程师已经难以清楚每条机器指令的作用了
到此,以上就是小编对于cpu的电路设计的问题就介绍到这了,希望介绍关于cpu的电路设计的2点解答对大家有用。