【笔记】CPU的结构和功能(一)

2023-11-04

一、CPU的结构

1.CPU的功能

  (1)取指令
  控制器必须具备能自动地从存储器中取出指令的功能

  (2)分析指令
  分析指令包括两部分内容:其一,分析此指令要完成什么操作,即控制器需发出什么操作命令;其二,分析参与这次操作的操作数地址,即操作数的有效地址。

  (3)执行指令
  执行指令就是根据分析指令产生的“操作命令”和“操作数地址”的要求,形成操作控制信号序列,通过对运算器、存储器以及I/O设备的操作,执行每条指令。

  CPU必须具有控制程序的顺序执行(称指令控制)、产生完成每条指令的控制命令(称操作控制)、对各种操作加以时间上的控制(称时间控制)、对数据进行算术运算和逻辑运算(称数据加工)、处理中断等功能。

2.CPU结构框图

3.CPU的寄存器

  CPU中的寄存器大致可分为两类:一类属于用户可见寄存器,用户可对这类寄存器编程,以及通过优化使CPU因使用这类寄存器而减少对主存的访问次数;另一类属于控制和状态寄存器,用户不可对这类寄存器编程,它们被控制部件使用,以控制CPU的操作,也可被带有特权的操作系统程序使用,从而控制程序的执行。

用户可见寄存器

  (1)通用寄存器
  通用寄存器可由程序设计者指定许多功能,可用于存放操作数,也可作为满足某种寻址方式所需的寄存器。寄存器间接寻址时还可用通用寄存器存放有效地址的地址。

  (2)数据寄存器
  数据寄存器用于存放操作数,其位数应满足多数数据类型的数值范围。

  (3)地址寄存器
  地址寄存器用于存放地址,其本身可以具有通用性,也可用于特殊的寻址方式。

  (4)条件码寄存器
  条件码是CPU根据运算结果由硬件设置的位。将条件码放到一个或多个寄存器中,就构成了条件码寄存器。

控制和状态寄存器

  MAR:存储器地址寄存器,用于存放将被访问的存储单元的地址。
  MDR:存储器数据寄存器,用于存放欲存入存储器中的数据或最近从存储器中读出的数据。
  PC:程序计数器,存放现行指令的地址,通常具有计数功能。当遇到转移类指令时,PC的值可被修改。
  IR:指令寄存器,存放当前欲执行的指令。
  PSW:程序状态字寄存器,存放条件码和其他状态信息。
  在具有中断系统的机器中还有中断标记寄存器。

4.控制单元和中断系统

  控制单元(CU)是提供完成计算机全部指令操作的微操作命令序列部件。微操作命令序列的形成方法有两种:一种是组合逻辑设计方法,为硬连线逻辑;另一种是微程序设计方法,为存储逻辑

二、指令周期

1.指令周期的基本概念

  CPU每取出并执行一条指令所需的全部时间称为指令周期,也即CPU完成一条指令的时间。取指阶段完成取指令和分析指令的操作,又称取指周期;执行阶段完成执行指令的操作,又称执行周期

  由于各种指令操作功能不同,因此各种指令的指令周期是不相同的。

  简介寻址的指令周期就包括取指周期间址周期、**执行周期**3个阶段,其中间址周期用于取操作数的有效地址,因此间址周期介于取指周期和执行周期之间。

  如果有请求,CPU则要进入中断响应阶段,又称中断周期。在此阶段,CPU必须将程序断点保存到存储器中。一个完整的指令周期应包括**取值、间址、执行、中断**4个子周期。

  取指周期是为了取指令,间址周期是为了取有效地址,执行周期是为了取操作数,中断周期是为了保存程序断点。这4个周期又可称为CPU的工作周期,为了区别它们在CPU内可设置4个标志触发器。

  FE、IND、EX、INT分别对应取值、间址、执行、中断4个周期,并以“1”状态表示有效,它们分别由 1FE1IND1EX1INT 1 → F E 、 1 → I N D 、 1 → E X 、 1 → I N T 这4个信号控制。

2.指令周期的数据流

取指周期数据流

  PC中存放现行指令的地址,该地址送到MAR并送至地址总线,然后由控制部件CU想存储器发读命令,使对应MAR所指单元的内容经数据总线送至MDR,再送至IR,并且CU控制PC内容加1,形成下一条指令的地址。

间址周期的数据流

  一旦取指周期结束,CU便检查IR中的内容,以确定其是否由间址操作,如果需要间址操作,则MDR中指示形式地址的右N位(记作Ad(MDR))将被送到MAR,又送至地址总线, 此后CU向存储器发读命令,以获取有效地址并存至MDR。

执行周期的数据流

  由于不同的指令在执行周期的操作不同,因此无法用统一数据流图表示。

中断周期的数据流

  由CU把用于保存程序断点的存储器特殊地址(如栈指针的内容)送往MAR,并送到地址总线上,然后由CU向存储器发写命令,并将PC的内容送到MDR,最终使程序断点经数据总线存入存储器。CU还需将中断服务程序的入口地址送至PC,为下一个指令周期的取指周期做好准备。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【笔记】CPU的结构和功能(一) 的相关文章

  • 编译程序和解释程序有什么区别?

    1 编译程序和解释程序的区别 编译型是使用编译器编译后生成计算机硬件可直接执行的指令 解释型是在运行时才由解释器逐语句去执行 编译型代表 C C C Java 解释型代表 html javascript 区别有很多 说说常见的几个 编译型语
  • 计算机组成原理——第六章测试题(上)

    1单选 1分 计算机中的数据可以存放在 C 中 A 寄存器 B 主存 C 都可以 D 硬盘 2单选 1分 下列对源码 补码和反码叙述正确的是 B A 当真值为正时 原码和补码的表示形式不同 但其符号位都用 0 表示 B 三种机器数的最高位均
  • 《计算机组成原理实验》 单周期CPU

    计算机组成原理实验 单周期CPU 前言 这是中山大学2018年计算机组成原理实验中单周期CPU的实验报告 仿真与写板的内容暂略 所有源代码 包括写板 已经上传至我的github当中 欢迎大家访问 github个人主页 https stara
  • 虚拟存储器

    文章目录 虚拟存储器 一 虚拟存储器概述 二 页式虚拟存储器 例题分析 三 段式与段页式虚拟存储器 虚拟存储器 一 虚拟存储器概述 1 引入原因 高速的主存容量满足不了要求 虚拟存储器 在操作系统及辅助硬件的管理下 由主存和大容量外存所构成
  • 【计算机组成原理笔记】1.1计算机系统简介

    1 1计算机系统简介 计算机系统由硬件 软件两部分组成 硬件是看得到摸得到的实体 如硬盘 显卡 主板等 软件程序通常寄寓于各种媒体 如RAM ROM 磁带 光盘等 RAM 随机存取存储器 英语 Random Access Memory 缩写
  • 5.6.2_IEEE754

    文章目录 一 引子 二 移码 1 移码与补码 2 移码本身 1 127 2 3 3 偏置值 普通情况 特殊情况 三 IEEE 754标准 1 格式 2 类型 1 短浮点数 2 double型 3 案例 1 案例一 2 案例二 4 范围 1
  • 存储器、运算器、控制器基本结构以及一条指令的执行

    Abstract 此篇文章讲述的是计算机存储器 控制器 运算器的基本结构组成以及指令的具体执行顺序 CPU包括运算器和控制器 而主机主要包括CPU和存储器 内容参考于 哈工大计算机组成原理 刘宏伟 存储器的基本组成 如下图所示 主存由存储体
  • 【计算机组成原理】(四)原码补码的加减乘除

    各种码的作用 模运算的性质 3 1 12 9 9 0 12 9 21 1 12 9 33 2 12 9 15 2 12 9 我们发现等号右边都是 9 相当于等号的左边的数除去12的余数都是9 那我们就说这几个等好左边的数 在mod12的情况
  • 计算机系统的多级层次结构

  • 【笔记】CPU的结构和功能(一)

    一 CPU的结构 1 CPU的功能 2 CPU结构框图 3 CPU的寄存器 用户可见寄存器 控制和状态寄存器 4 控制单元和中断系统 二 指令周期 1 指令周期的基本概念 2 指令周期的数据流 取指周期数据流 间址周期的数据流 执行周期的数
  • 逻辑地址空间、页表与如何确定页表项大小

    32位逻辑地址空间 一页4KB 按字节编制 页式内存管理中如何确定页表项大小 因为是32位逻辑地址 故寻址空间为2 32B 而一页大小为4KB 故需要2 32 4B 2 20页 1M页 假设在内存中地址 而页表则是对这些页表的记录 因一页大
  • [计算机组成原理] 以低字节地址为字地址

    以低字节地址为字地址 就是小端存储模式 数据低位 或者说低字节 存储在内存低地址 以高字节地址为字地址 就是大端存储模式 数据低位 或者说高字节 存储在内存高地址 现在看一个例题 这个题目有一个需要明确的地方 什么是第一 第二 第三字节 对
  • 计算机的性能公式

    cpu执行时间 简称CPU时间 表示执行某一任务在CPU上所花费的时间 不包括等待I O或运行其他程序的时间 程序的cpu执行时间 cpu时钟周期数 时钟周期时间 cpu时钟周期数 主频 要想缩短cpu执行时间 最简单的方法就是缩短cpu的
  • 计算机组成原理--基于Logisim的奇偶校验电路实验的应用(超详细/设计/实验/作业/练习)

    目录 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logisim的奇偶校验电路实验 一 前言 二 环境与设备 三 内容 四 结果与分析 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logi
  • 计算机组成原理——万字详解

    引言 作为还在学习的学生和不断进步的同事 学习计算机组成原理具有以下几个重要的好处 它可以帮助你深入理解计算机系统的工作原理 包括处理器 存储器 输入输出设备等组成部分之间的交互关系 这种深入理解可以提高你对计算机系统的整体把握能力 让你能
  • 计算机组成原理——单周期CPU

    单周期CPU 项目代码 实验原理 MIPS指令 rom coe文件 代码 顶层模块SingleCycleCPU display外围模块 PC instructionMemory Alu模块 DataMemory ControlUnit 旧的
  • 全相联映射、直接映射、组相连映射

    目录 1 主存中的块放到cache 高速缓冲存储器 中哪个位置 2 标记位 有效位 命中是什么 2 1 标记位 2 2 有效位 2 3 命中 3 全相联映射 4 直接映射 4 1优化标记位 5 组相连映射 6 课后习题 1 主存中的块放到c
  • 计算机组成原理综合1

    1 完整的 计算机系统 应包括 D A 运算器 存储器和控制器 B 外部设备和主机 C 主机和实用程序 D 配套的硬件设备和软件系统 2 计算机系统中的存储器系统是指 D A RAM存储器 B ROM存储器 C 主存储器 D 主存储器和外存
  • 计算机组成原理综合1

    1 完整的 计算机系统 应包括 D A 运算器 存储器和控制器 B 外部设备和主机 C 主机和实用程序 D 配套的硬件设备和软件系统 2 计算机系统中的存储器系统是指 D A RAM存储器 B ROM存储器 C 主存储器 D 主存储器和外存
  • 5.1 中央寄存器的原理和组成

    思维导图 中央处理器 CPU 核心原理与组成 引言 中央处理器 CPU 作为计算机的 大脑 在现代计算机硬件中扮演着至关重要的角色 本文旨在深入探讨CPU的基本原理和组成部分 为读者提供一个全面的理解 CPU的基本原理 1 信息处理 CPU

随机推荐

  • c#:浅析var关键字

    c 浅析var关键字 1 var关键字介绍 var关键字是c 3 5新增的特性 称为推断类型 弱类型 由var声明的变量 编译器会根据上下文来判断你到底想用什么类型 也就是说当你无法确定自己将使用什么类型时 就可以使用var var类似于o
  • R语言——(四)、数据读入与预处理

    文章目录 一 数据读入 1 直接输入数据 2 读R包中的数据 3 从外部文件读入数据 3 1 读入文本文件 TXT 3 2读入Excel格式文件 3 3读入其它格式文件 SAS数据 SPSS数据 Stata数据等 二 写入数据 三 数据预处
  • Angular Tracy 小笔记 其他 dos 命令,发布

    其他命令 Angular Material ng add angular material Add PWA support ng add angular pwa Add Dependency ng add Run and Watch Tes
  • Java中Steam流的详解

    在Java中 Stream是一种用于操作集合 Collection 和数组的高级抽象 它提供了一种功能强大且表达力丰富的编程模型 可以以声明性的方式对数据进行处理和转换 概述 Stream是Java 8引入的一种新的抽象 它使得我们可以以类
  • python 实现简易的学员管理系统

    文章目录 前言 基本思路 需求实现 1 实现菜单的功能 2 提示用户输入需要进行的操作 并执行相关操作 3 具体函数功能的实现 增加学员信息 显示所有学员信息 删除学员信息 修改学员信息 查询学员信息 整体代码展示 前言 前面我们已经学习了
  • c++数值极限numeric_limits

    一般来说 数值类型的极值是一个与平台相关的特性 c 标准程序库通过template numeric limits提供这些极值 取代传统C语言所采用的预处理常数 你仍然可以使用后者 其中整数常数定义于
  • c++字符串类型string和char数组的互转

    1 string转char include
  • TestFlight 添加测试人员 (内部测试人员)

    用有管理员身份的账号登陆 itunes connect 在登陆页面可以看到如下界面 选择用户和职能 会看到之前已经添加的用户 可以管理用户的app访问权限 找到 添加用户 输入用户的apple id一般是注册时候的邮箱地址形式 添加成功后会
  • GIT代码冲突解决方案,两种方案详细教程

    方法一 先pull 再进行commit 此种方法当工作区文件和远程仓库文件有冲突时不能完成pull的 需要先备份工作区文件 恢复文件与远程服务器一致 才能完成pull 然后将本地修改添加进去 commit push 这种操作修改文件较多时非
  • 如何使用TensorFlow进行序列建模和时间序列预测?

    如何使用TensorFlow进行序列建模和时间序列预测 使用TensorFlow进行序列建模和时间序列预测涉及以下主要步骤 数据准备 首先 你需要准备时间序列数据集 确保数据集包含适当的时间序列信息和相应的目标变量 你可能需要对数据进行预处
  • JVM 的 垃圾回收(GC)超全解析,面试官看了直呼内行!!还不快收藏起来

    我是目录 1 垃圾回收的时机 2 垃圾回收机制 如何判断对象已死 3 需要垃圾回收的内存 4 垃圾回收算法 5 垃圾回收过程 6 垃圾收集器 Garbage Collection GC Java进程在 启动后 会 创建垃圾回收线程 来对 内
  • C#网络编程TCP通信实例程序简单设计

    用TcpClient和TcpListener设计一个Tcp通信的例子 通信程序截图 2个客户端链接服务端测试截图 服务端 客户端 运行动态图 C 程序设计代码 BenXHSocket dll主要代码设计 SocketObject类 Proj
  • 京东自动抢茅台脚本(亲测可用,文末有新年礼物)

    点击上方 程序IT圈 选择 置顶公众号 关键时刻 第一时间送达 2021年第一天 祝大家新年快乐 文末给大家送个新款AirPods Pro 大家图个喜庆 这期为大家继续分享个GitHub上面的大神开源的项目 大家可以认真看看 然后把对自己刚
  • 线程的同步与互斥

    线程的同步与互斥 互斥 当一个公共资源同一时刻只能被一个进程或线程使用 多个进程或线程不能同时使用公共资源 如 当线程A在使用打印机时 其他线程都需要等待 同步 两个或两个以上的进程或线程在运行过程中协同步调 按预定的先后次序运行 如 A任
  • RK3588 烧写固件

    首先先安装驱动DriverInstall 上电 配置串口调试工具 一般使用MobaXterm rk3588 波特率1500000 串口软件有信息打印说明成功 进行下一步操作 升级固件里 选固件 选择updata img文件 再点升级 串口软
  • 【微信小程序】解决微信小程序textarea层级过高穿透问题

    先来张完美的效果图 说下遇到的问题 之前做过的一个项目改版碰到的病例上传页面发布按钮上一版本是在底部放置的 这一版改为了顶部固定 由于上传页面顶部有两个textarea输入框所以问题就产出了 之前使用的button和view标签布的局页面上
  • 2020浙江省赛(ZJCPC)赛后总结

    引言 2020注定是特殊的一年 其时间线受疫情影响 本该在上半年举办的活动全部放到了下半年 虽然能够在2020结束前能够举办已经很感谢主办方 然后10 17就在线上参加了2020浙江省大学生程序设计大赛 得益于参加过计量大学的模拟赛以及省赛
  • 【博客687】k8s informer的list-watch机制剖析

    k8s informer的list watch机制剖析 1 list watch场景 client go中的reflector模块首先会list apiserver获取某个资源的全量信息 然后根据list到的rv来watch资源的增量信息
  • python中object的用法_【Python】【基础知识】【内置函数】【object的使用方法】

    原英文帮助文档 classobject Return a new featureless object object is a base for all classes It has the methods that are common
  • 【笔记】CPU的结构和功能(一)

    一 CPU的结构 1 CPU的功能 2 CPU结构框图 3 CPU的寄存器 用户可见寄存器 控制和状态寄存器 4 控制单元和中断系统 二 指令周期 1 指令周期的基本概念 2 指令周期的数据流 取指周期数据流 间址周期的数据流 执行周期的数