计算机组成原理第5章-中央处理器

2023-12-07 12:38

本文主要是介绍计算机组成原理第5章-中央处理器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面:本文经过王道论坛的计算机组成原理单科书整理而来。

文章目录

    • 5.1 CPU的功能和基本结构
    • 5.2 指令执行过程
      • 5.2.1 指令周期
      • 5.2.2 指令周期的数据流
    • 5.3 数据通路的功能和基本结构
      • 5.3.1 数据通路的功能
      • 5.3.2 数据通路的基本构成
    • 5.4 控制器的功能和工作原理
    • 5.5. 指令流水线
      • 5.5.1 指令流水线的基本概念
      • 5.5.2 流水线的分类
      • 5.5.3 影响流水线的因素

5.1 CPU的功能和基本结构

在这里插入图片描述

5.2 指令执行过程

5.2.1 指令周期

指令周期: CPU从主存中取出并执行一条指令的时间称为指令周期。

指令周期通常用若干机器周期来表示,机器周期又叫CPU周期

一个机器周期又包含若干时钟周期(也称为节拍,T周期或CPU时钟周期),它是CPU操作的最基本的单位

举个例子:购买电脑时候的指标 主频3.0GHz,意思是 这个CPU每秒钟可以发出3.0G次 时钟周期(节拍)

5.2.2 指令周期的数据流

数据流是根据指令要求依次访问的数据序列。在指令执行的不同阶段,要求依次访问的数据序列是不同的。

在这里插入图片描述

5.3 数据通路的功能和基本结构

5.3.1 数据通路的功能

数据在功能部件之间传送的路径称为数据通路。 数据通路描述了信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器,这些都需要加以控制。

数据通路中专门进行数据运算的部件称为执行部件功能部件。 数据通路由控制部件控制。 数据通路的功能是实现CPU内部的运算器与寄存器及寄存器之间的数据交换

5.3.2 数据通路的基本构成

内部总线是指同一部件,如CPU内部连接各寄存器及运算部件之间的总线;
系统总线是指同一台计算机系统的各部件,如CPU、内存、通道和各类I/O接口间相互连接的总线。

数据通路的基本结构主要有以下几种:

1)CPU 内部单总线方式。

将所有寄存器的输入端和输出端都连接到一条公共通路上,这种结构比较简单,但数据传输存在较多的冲突现象,性能较低。 连接各部件的总线只有一条时,称为但总线结构; CPU中有两条或者更多的总线时,构成双总线结构或多总线结构。图5.7所示的是CPU内部总线的数据通路和控制信号。

2)CPU内部三总线方式。

将所有寄存器的输入端和输出端都连接到多条公共通路上,相比之下,单总线中一个时钟内只允许传一个数据,因而指令执行效率较低,因此采用多总线方式,同时在多个总线上传送不同的数据,提高效率。

3) 专用数据通路方式。

格局指令执行过程中的数据和地址的流动方向安排连接线路,避免使用共享的总线,性能较高,但硬件量大。

在这里插入图片描述

典型例题如下
在这里插入图片描述
解答如下
其中 取指令阶段是公共部分,几乎所有的微操作序列都需要。本题的特殊之处是对于一个加数来说是寄存器间接寻址,R0.

在这里插入图片描述

在这里插入图片描述

需要注意的是:

MDRoutE,后面加个字母E表示的是MDR和 主存之间的数据通路控制信号;没有字母E,比如MDRout指的是MDR向数据总线的连通,不是和主存之间。

5.4 控制器的功能和工作原理

微程序控制器
在这里插入图片描述

微指令的设计

在这里插入图片描述

5.5. 指令流水线

5.5.1 指令流水线的基本概念

计算机的流水线把一个重复的过程分解为若干子过程,每个子过程与其他子过程并行执行。 由于采用流水线技术只需要增加少量硬件就能把计算机的运算速度提升几倍,因此成为计算机中普遍使用的一种并行处理技术。

流水线的表示方式

通常用时空图来直观地描述流水线的工作过程。

在时空图中,横坐标表示时间,即输入流水线中的各个任务在流水线中所经过的时间。流水线中各个流水段的执行时间都相等时,横坐标就被分割成相等长度的时间段。纵坐标表示空间,即流水线的每个流水段对应各执行部件

在这里插入图片描述

3 流水线的特点

和传统的串行执行方式相比,采用流水线方式具有如下特点:
1) 把一个任务(一条指令或者一个)分解为几个有联系的子任务,每个子任务由一个专门的功能部件来执行,并依靠多个功能部件并行工作来缩短程序的执行时间。

2)流水线每个功能段部件后面都要有一个缓冲寄存器(或称为锁存器),其作用是保存本流水段的执行结果,供给下一流水段使用。

3) 流水段中各功能段的时间应尽量相等,否则将引起堵塞、断流。

4) 只有连续不断地提供同一种任务时才能发挥流水线的效率,所以在流水线中处理的必须是连续任务。

5)流水线由装入时间和排空时间。装入时间是指第一个任务进入流水线到输出流水线的时间。排空时间是指最后一个任务进入流水线到输出流水线的时间。

5.5.2 流水线的分类

按照不同的分类标准,可以把流水线份成多种不同的种类。

1 按使用级别分
部件功能级流水:将复杂的算术逻辑运算组成流水线工作方式。
例如,将浮点数加法操作分车给求阶差、对阶、尾数相加级结果规格化等4个子过程。

处理机级流水:把一条指令解释过程分成多个子过程,比如取指、译码、执行、访存和写回5个子过程。

处理机间流水:是一种宏流水,其中每个处理机完成某一专门任务,各个处理机得到的结果需要存放在与下一个处理机共享的存储器中。

2 按完成功能分

单功能流水: 只能实现一种固定的专门功能的流水线

多功能流水: 通过各段间的不同连接方式可以同时或不同时地实现多种功能的流水线。

3 按连接方式分

静态流水线: 在同一时间内,流水线的各段只能按同一种功能的连接方式工作。

动态流水线: 在同一时间内,当某些段正在实现某种运算时,另一些段却正在进行另一种运算

4按有无反馈信号分

线性流水线: 从输入到输出,每个功能段只允许经过一次,不存在反馈回路。

非线性流水线:存在反馈回路,从输入到输出的过程中,某些功能段将数次通过流水段,这种流水线适合进行线性递归的运算。

5.5.3 影响流水线的因素

在这里插入图片描述

其中数据相关也叫数据冒险,指的是在一个程序中,下一条指令会用到这一条指令计算出的结果。

这篇关于计算机组成原理第5章-中央处理器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/465926

相关文章

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

hdu4407容斥原理

题意: 有一个元素为 1~n 的数列{An},有2种操作(1000次): 1、求某段区间 [a,b] 中与 p 互质的数的和。 2、将数列中某个位置元素的值改变。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.Inpu

hdu4059容斥原理

求1-n中与n互质的数的4次方之和 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWrit

寻迹模块TCRT5000的应用原理和功能实现(基于STM32)

目录 概述 1 认识TCRT5000 1.1 模块介绍 1.2 电气特性 2 系统应用 2.1 系统架构 2.2 STM32Cube创建工程 3 功能实现 3.1 代码实现 3.2 源代码文件 4 功能测试 4.1 检测黑线状态 4.2 未检测黑线状态 概述 本文主要介绍TCRT5000模块的使用原理,包括该模块的硬件实现方式,电路实现原理,还使用STM32类

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

TL-Tomcat中长连接的底层源码原理实现

长连接:浏览器告诉tomcat不要将请求关掉。  如果不是长连接,tomcat响应后会告诉浏览器把这个连接关掉。    tomcat中有一个缓冲区  如果发送大批量数据后 又不处理  那么会堆积缓冲区 后面的请求会越来越慢。

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们

Smarty模板执行原理

为了实现程序的业务逻辑和内容表现页面的分离从而提高开发速度,php 引入了模板引擎的概念,php 模板引擎里面最流行的可以说是smarty了,smarty因其功能强大而且速度快而被广大php web开发者所认可。本文将记录一下smarty模板引擎的工作执行原理,算是加深一下理解。 其实所有的模板引擎的工作原理是差不多的,无非就是在php程序里面用正则匹配将模板里面的标签替换为php代码从而将两者