目录

文章目录

  • 目录
  • CPU 流水线
  • 时钟周期、机器周期、指令周期和总线周期

CPU 流水线

不同的 CPU 指令集架构在执行指令的过程会有所差别,以经典的 RISC(精简指令集架构)为例,存在以下步骤:

  1. 取指令
  2. 分析指令
  3. 执行指令
  4. 访问主存
  5. 写回寄存器

不同的步骤可能由 CPU 内部的不同部件(e.g. 指令部件、执行部件)来完成。在这样的前提下,如果 CPU 单纯的顺序执行这些步骤的话,势必会在某一时刻令一些部件空闲。

可想而知,如果 CPU 控制单元调度恰当,让不同部件可以并行工作的话,是可以提高各个部件的工作效率和计算机运算速度的,这就是流水线调度方式。

CPU 流水线(Pipeline),亦称管线,是现代计算机处理器中必不可少的部分,是指将计算机指令处理过程拆分为多个步骤,并通过多个硬件处理单元并行执行来加快指令执行速度。其具体执行过程类似工厂中的流水线,并因此得名。

流水线主要分为 2 类:

  1. 指令执行流水线
  2. 运算操作流水线(如:浮点加法运算)

超标量处理器是可以实现指令级别并行的 CPU,它通过向处理器上的其他执行单元派发指令在一个时钟周期内同时执行多条指令。超标量设计意味着处理器会在一个时钟周期发出多条指令,该技术往往都与指令流水线一起使用,流水线会将执行拆分成多个步骤,而处理器的不同部分会分别负责这些步骤的处理,例如:因为指令的获取和解码由不同的执行单元处理,所以它们可以并行执行。

除了超标量和流水线技术之外,后来还引入了乱序执行以及分支预测等更加复杂的技术,其中乱序执行也被称作动态执行,因为 CPU 执行指令时需要先将数据加载到寄存器中。

流水线的优点:

  • 提高 CPU 主频:流水线将组合逻辑分割成多个小块,因为每段的关键路径变短了,所以能提高系统主频。
  • 提高系统吞吐量:因为流水线让任务以类似并行方式处理,提高硬件模块的利用率,所以能提高吞吐量(Throughput)。

流水线的缺点:

  • 由于流水线让许多指令被同时执行,假如分支预测错误的话整个流水线上所有的指令全部要被取消,流水线要被重新充满,就需要从存储器或者 CPU 缓存中调用指令,导致延迟时间,在这段时间里 CPU 是没有任何工作的。NetBurst 架构管线一开始有 20 级、而后增加至 31 级,放大其缺点。其后继者 Intel Core 微处理器架构就减少管线级数。

时钟周期、机器周期、指令周期和总线周期

  • 时钟脉冲:指脉冲信号,是一个由 CPU 控制单元按一定电压幅度、一定时间间隔连续发出的电子脉冲信号,是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟频率越高,时钟周期就越短,工作速度也就越快。

  • 时钟频率(Clock Speed):指同步电路中时钟脉冲的基础频率,是单位时间(1s)内所产生的时钟脉冲的个数。时钟频率是描述周期性循环信号在单位时间内所出现的次数,标准计量单位是 Hz(赫兹)。

  • CPU 主频:即 CPU 内部工作的时钟频率,是评定 CPU 性能的重要指标,一般来说主频数值越大越好。需要注意的是,主频仅是 CPU 性能表现的一个方面,而不代表 CPU 的整体性能,CPU 的运算速度还考虑流水线的各方面的性能指标(缓存、指令集、CPU 的位数等)。

  • 外频:是 CPU 外部的工作频率,是由主板提供的基准时钟频率。CPU 主频和外频的关系:主频=外频×倍频。

  • FSB 频:是连接 CPU 和主板芯片组中的北桥芯片的前端总线(Front Side Bus)上的数据传输频率。

  • 时钟周期:也称为振荡周期、P 周期或节拍脉冲,定义为时钟频率的倒数,即 (1/时钟频率)s,比如:8086/8088 系统的时钟频率为 4.77MHz,那么每个时钟周期约为 200ns。时钟周期在 CPU 的描述里也叫节拍,是 CPU 中最基本的、最小的时间单位,在一个时钟周期内,CPU 仅完成一个最基本的动作。时钟周期表示了 S/DRAM 所能运行的最高频率,更小的时钟周期就意味着更高的工作频率。

  • 状态周期:也称为 S 周期,把时钟脉冲的周期定义为节拍(用 P 表示)。时钟脉冲经过二分频后定义为状态,即一个状态包含两个节拍,称为状态周期(用 S 表示)。

  • 机器周期:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如:取指令、分析指令、执行指令、存储器读、存储器写等,此类每项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个状态周期组成。机器周期一般由 12 个时钟周期组成,也是由 6 个状态周期组成。

  • 指令周期:指令周期是取出一条指令并执行这条指令的时间。一般由若干个机器周期组成,是从取指令、分析指令到执行完所需的全部时间。指令周期类型有非访内指令的指令周期、取数指令的指令周期、存数指令的指令周期、空操作指令和转移指令的指令周期。

  • 总线周期:指 CPU 完成一次访问主存储器或 I/O 端口所需要的时间,一个总线周期由几个时钟周期组成。由于主存储器和 I/O 端口是挂接在总线上的,CPU 对主存储器和 I/O 接口的访问,是通过总线实现的。通常把CPU通过总线对微处理器外部(存储器或I/O接口)进行一次访问所需时间称为一个总线周期。


计算机组成原理 — CPU — 流水线与执行周期相关推荐

  1. 计算机组成原理实验单周期处理,计算机组成原理实验实验报告-单周期cpu设计...

    计算机组成原理实验实验报告-单周期cpu设计 (16页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 计算机组成原理实验计算机组成原理实验 ...

  2. 计算机组成原理单周期mips,计算机组成原理CPU单周期数据通路(MIPS)

    计算机组成原理CPU单周期数据通路(MIPS) [计算机组成原理]CPU:单周期数据通路(MIPS) 寄存器传送语言RTL 1)R(r)表示寄存器r的内容 2)M(address)表示主存储器地址ad ...

  3. 计算机组成原理 控制器.ppt,计算机组成原理(CPU的控制器部件)课件.ppt

    <计算机组成原理(CPU的控制器部件)课件.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<计算机组成原理(CPU的控制器部件)课件.ppt>文档 ...

  4. 计算机组成原理CPU与译码器,计算机组成原理CPU的结构和功能.ppt

    计算机组成原理CPU的结构和功能 算术逻辑单元 状态条件寄存器 程序记数器PC 地址寄存器AR 地址总线ABUS 数据总线DBUS 累加器AC 缓冲寄存器DR CPU ALU 指令寄存器IR 指令译码 ...

  5. 【计算机组成原理】实验4:单周期CPU(Verilog)中海大

    [计算机组成原理]实验4 使用Verilog语言实现一个单周期CPU,测试平台:Vivado ①部分代码: single_cycle_cpu.v: `timescale 1ns / 1ps`defin ...

  6. 【计算机组成原理】流水线式指令执行

    文章目录 前言 一.处理器的构成 二.数据通路 1. 流水线工作 2. 冒险 3. 流水线寄存器 三.FPGA相比于CPU的速度优势 总结 前言 最近在阅读<计算机组成与设计 硬件/软件接口(原 ...

  7. 计算机组成原理——CPU功能结构 指令周期 数据通路 控制器 流水线

    笔记整理来源于王道考研视频 CPU的功能和结构 CPU的功能 指令控制 操作控制 时间控制 数据加工 中断处理 运算器的基本结构 算术逻辑单元:主要功能是进行算术/逻辑运算 通用寄存器组:如AX,BX ...

  8. 计算机组成CPU最佳配置,计算机组成原理--CPU

    算是读书笔记吧 最简单的 CPU 1. 首先,我们有一个自动计数器 这个自动计数器会随着时钟主频不断地自增,来作为我们的 PC 寄存器. 2. 在这个自动计数器的后面,我们连上一个译码器 译码器还要同 ...

  9. 简单了解计算机组成原理 -- CPU与操作系统

    本文主要是从程序运行来看计算机组成原理 我们平时常说的程序, 大多指的是一个可执行文件 .exe, 当双击 .exe文件运行时, 操作系统就会读取这个文件, 将其加载到内存中, 由CPU中的寄存器读取 ...

最新文章

  1. ie下的placeholder原生js实现方法
  2. TIANCHI天池-OGeek算法挑战赛-完整方案及代码(亚军)
  3. Date、DateFormat、Calendar日期类
  4. PHP 程序员如何设计一个爬虫程序
  5. EditPlus 使用技巧集萃(转)
  6. Sending and Receiving Binary Data
  7. matlab中怎么画五维图,使用MatLab绘制散点图的方法
  8. JavaScript 中 2个等号(==)和 3个等号(===)之间的区别
  9. Snell Advanced Media选择金雅拓保护其知识产权
  10. java spring boot 项目 热加载 有利于快速开发
  11. 【web前端期末大作业】html在线网上书店 基于html制作我的书屋(23页面)
  12. Excel工作表事件(1)
  13. 你还不知道高情商表现怎么表现?
  14. PPM文件的正确打开方式
  15. 我的世界服务器自定义附魔外挂,我的世界怎么用命令方块刷自定义附魔神器
  16. 在excel中如何筛选重复数据_Excel如何快速筛选
  17. twrp扩大system分区_TWRP recovery 的备份功能里面有 2 个 system 分区,多占用空间,怎么搞掉?...
  18. ubuntu下网易云音乐适配高分辨率屏幕
  19. 何亮Freebsd Unix安装配置视频教程
  20. 2021《微型计算机原理与接口技术》总复习

热门文章

  1. thinkphp 5.0.3 rce getshell_关于ThinkPHP的一些渗透方式
  2. Web服务评估工具Nikto
  3. FMDB使用Cached Statement功能
  4. qt调用c语言编写的dll文件,Qt之调用外部DLL - moki_oschina的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. gson解析json maven_Gson解析Json
  6. eeglab教程系列(2)-加载、显示数据
  7. DNNBrain:北师大团队出品,国内首款用于映射深层神经网络到大脑的统一工具箱...
  8. 19倍超音速“大炮”轰出可控核聚变!成本仅为传统方法0.1%,腾讯已投资
  9. 英特尔加注RISC-V:砸10亿投资,还加入其国际基金会
  10. 300多工程师死磕2年,vivo终于发布自研芯片V1,降低功耗50%全片上储存