×

为什么有些CPU的主频更低,但运算效率却更高呢?资料下载

消耗积分:2 | 格式:pdf | 大小:312.32KB | 2021-04-25

kmno4

分享资料个

比如:51单片机30M主频,STM32单片机20M主频,执行相同一段代码可能主频更低的STM32所花的时间更短。 这里就牵涉到CPU流水线的问题,本文围绕CPU流水线描述相关内容。 一、早期CPU流水线 1.流水线来源 流水线的概念来源于工业制造领域,以汽车装配为例来解释流水线的工作方式,假设装配一辆汽车需要四个步骤: 1.冲压:制作车身外壳和底盘等部件; 2.焊接:将冲压成形后的各部件焊接成车身; 3.涂装:将车身等主要部件清洗、化学处理、打磨、喷漆和烘干; 4.总装:将各部件(包括发动机和向外采购的零部件)组装成车; 汽车装配需要冲压、焊接、涂装和总装四个工人,最简单的方法是一辆汽车依次经过上述四个步骤装配完成之后,下一辆汽车才开始进行装配,最早期的工业制造就是采用的这种原始的方式,即同一时刻只有一辆汽车在装配。 不久之后人们发现,某个时段中一辆汽车在进行装配时,其它三个工人都处于闲置状态,显然这是对资源的极大浪费,于是思考出能有效利用资源的新方法,即在第一辆汽车经过冲压进入焊接工序的时候,立刻开始进行第二辆汽车的冲压,而不是等到第一辆汽车经过全部四个工序后才开始,这样在后续生产中就能够保证四个工人一直处于运行状态,不会造成人员的闲置。这样的生产方式就好似流水川流不息,因此被称为流水线。 2.CPU流水线 1989 年推出的 i486 处理器引入了五级流水线。这时,在 CPU 中不再仅运行一条指令,每一级流水线在同一时刻都运行着不同的指令。这个设计使得 i486 比同频率的 386 处理器性能提升了不止一倍。 五级流水线中的取指阶段将指令从指令缓存中取出(i486 中的指令缓存为 8KB); 第二级为译码阶段,将取出的指令翻译为具体的功能操作; 第三级为转址阶段,用来将内存地址和偏移进行转换; 第四级为执行阶段,指令在该阶段真正执行运算; 第五级为退出阶段,运算的结果被写回寄存器或者内存。 由于处理器同时运行了多条指令,大大提升了程序运行的性能。 二、CPU流水线技术

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !