博客
关于我
为什么现在使用多周期CPU,而单周期CPU被弃用?
阅读量:415 次
发布时间:2019-03-06

本文共 880 字,大约阅读时间需要 2 分钟。

  最初设计的CPU结构简单,内部不复杂。之所以制造它是为了让机器自动跑程序,算数。

  早期CPU都是单周期的,人们没考虑那么多,性能啥的。就让CPU每个时钟周期跑一个指令,这些时钟周期等长。这样下来,有的指令跑完耗时长,有的指令跑完耗时短, 而CPU是走完一条指令再处理下一条的,给每个指令的时钟周期都是相同的,那么木桶原理,时钟周期肯定就是耗时最长的指令所需的时间。后来人们意识到了计算机的巨大威力,便开始专心制造更强的电子计算机。这时,为了提升CPU的速度,优化CPU的结构,有人设计了一套多周期CPU结构。对指令集的所有指令作分析,可以发现它们处理过程有相同的地方,那这下好了,我把所有的指令切成几段基本操作(换句话说,所有的指令都可以看成是几个基本操作的序列组成),例如:指令1可以看成{opA——>opC——>opV},指令2可以看成{opA——>opK——>opV——>opT}。然后让时钟周期适配op,而不是单条指令。每个指令需要多个周期(周期值较小)。这里的多周期CPU依然是逐条执行每个指令。下图为一个多周期CPU的控制器状态自动机。

 

 

  举例对比上面所述单周期CPU和多周期CPU的耗时:

    CPU的指令集Ins中有多条指令,指令4耗时最长,执行一次它需要800ps。

    单周期CPU的时钟周期最少设为800ps。此时假如我们要执行指令1,2,3,4,5,6,那么总共耗时6x800ps=4800ps。

    多周期CPU,分别可以把指令123456分解为3个op,2个op,4个op,8个op,3个op,5个op。每个op延时为100ps。那么假如我们要执行指令1,2,3,4,5,6,则总共耗时为(3+2+4+8+3+5)x100ps=2500ps。

    这样一对比多周期CPU相较于单周期CPU的优势是不是很明显啦。

  在这之后,有人发现了上面所说的多周期CPU还可以改进优化提速,他把流水线的思想拿到了CPU设计上,允许指令并行执行,这样一来速度又得到了提升。现在的CPU基本都是使用流水线技术设计的CPU。

转载地址:http://gzbuz.baihongyu.com/

你可能感兴趣的文章
技术美术面试问题整理
查看>>
ORB-SLAM2:LoopClosing线程学习随笔【李哈哈:看看总有收获篇】
查看>>
Codeforces Round #305 (Div. 1) B. Mike and Feet(单调栈)
查看>>
js求阶乘
查看>>
Making the grade 和Sonya and Problem Wihtout a Legend
查看>>
Nginx---惊群
查看>>
项目中常用的审计类型概述
查看>>
(九)实现页面底部购物车的样式
查看>>
python-day3 for语句完整使用
查看>>
基于LabVIEW的入门指南
查看>>
weblogic之cve-2015-4852
查看>>
Java注释
查看>>
C++ 函数重载
查看>>
使用mybatis-generator生成底层
查看>>
Mybatis【5】-- Mybatis多种增删改查那些你会了么?
查看>>
计算输入的一句英文语句中单词数
查看>>
lvs+keepalive构建高可用集群
查看>>
6 个 Linux 运维典型问题
查看>>
Failed to get D-Bus connection: Operation not permitted解决
查看>>
取消vim打开文件全是黄色方法
查看>>