首页 > 其他分享 >计算机组成原理—指令系统、CPU

计算机组成原理—指令系统、CPU

时间:2023-09-07 22:25:23浏览次数:46  
标签:操作数 指令系统 计算机 地址 寻址 指令 寄存器 CPU

计算机组成原理—中央处理器(2)

五、指令系统

1.机器指令

1.1一般形式

指令由操作码和地址码构成

  • 操作码

用来指明指令要完成的操作。操作码长度可固定,可改变

image

  • 地址码

用来指出指令的源操作数的地址

四地址指令:

OP A1 A2 A3 A4
操作码 第一地址 第二地址 结果地址 下一条指令地址

需要4次访存

三地址指令:

OP A1 A2 A3
操作码 第一地址 第二地址 结果地址

因为PC地址自动+1所以不需要A4,需要4次访存

二地址指令:

OP A1 A2
操作码 第一地址 第二地址

可将结果暂时存放到A1/A2,所以不需要A3

若结果不进入ACC(累加器)则需访存4次;反之访存3次

一地址指令

OP A1
操作码 操作码

其中一个操作数可在ACC中所以不需要A2

若结果进入ACC则需访存2次

零地址指令

无地址码,如,空操作,停机等

1.2指令字长(8的整数倍)

  • 固定:等于存储字长
  • 可变:按字节的整数倍变

2.操作数类型和操作类型

2.1操作数类型

地址,数字,字符,逻辑数据(逻辑运算)

2.2操作类型

数据传送(交换源:参与操作;目的:参与+结果),算术逻辑操作,移位,转移(包括有条件,无条件...)

3.寻址方式

3.1指令寻址

分为顺序和跳跃两种,比较简单,见下图即可

image

3.2数据寻址

确定操作数的地址

  • 立即寻址:操作数本身就是操作数,也叫做立即数。不需要访存
  • 直接寻址:指令中的地址就是真实的地址。有效地址由地址直接给出,需要一次访存,A的位数决定了该指令操作数的寻址范围
  • 隐含寻址:不需要明显给出操作数地址,一般ACC采用
  • 间接寻址:有效地址由形式地址间接提供,一次间接,两次访存
  • 寄存器寻址:有效地址为寄存器编号,不需要访存
  • 寄存器间接寻址:有效地址在寄存器中,数据还是存在存储器中
  • 基址寻址
  • 变址寻址
  • 相对寻址:A是相对于当前指令的偏移量
  • 堆栈寻址:栈顶是低地址。

在进行设计时注意进位问题

六、CPU的结构和功能

1.CPU的结构

1.1CPU的功能

  • 控制器功能:取指令,分析指令,执行指令,控制程序的输入和运算结果的输出,对总线的管理和异常、特殊情况的处理
  • 运算器的功能:实现算术逻辑运算

CPU有指令控制,时间控制,操作控制,处理中断和数据加工等功能

1.2CPU结构框图

控制指令:PC,IR

操作、时间控制:CU,时序电路

数据加工:ALU寄存器

处理中断:中断系统

image

1.3 CPU的寄存器

  • 用户可见寄存器:通用寄存器,数据寄存器,地址寄存器,条件码寄存器
  • 控制和状态寄存器:

不同系统的规定不同

2.指令周期

2.1基本概念

CPU取出并执行一条指令所需的全部时间称为指令周期一般的,指令周期 = 取值周期 + 执行周期

image

在其上的基础上,我们在加入取地址的周期和中断的周期,我们就得到了下图的一个指令周期的流程图

image

2.2指令周期数据流

  • 取值周期

image

  • 间址周期

image

  • 执行周期:不同的指令操作不同
  • 中断周期

image

3.指令流水

  • 总结:如何提高机器速度

1.提高访存速度:高速芯片,Cache,多体并行

2.提高I/O和主机的传送速度:中断,DMA,通道,多总线,I/O处理机

3.提高运算器速度:高速芯片,改进算法,快速进位链

4.提高整机处理能力:告诉器件,改进系统结构,开发系统的并行性

3.1指令流水原理

将每一个指令周期按照不同的指令分成若干段,实现并行操作

image

FI:取指 FO:取操作数
DI:译码 EI:执行指令
CO:计算操作数个数 WO:存储结果

3.2影响指令流水性能的因素

  • 结构相关(访存冲突)

同一时间对存储器既要访问,又要取指=>暂停后再进行操作;设两个独立的存储器存放操作数和指令

  • 数据相关

出现先读后写(当现代的数需要上一步的结果)=>后推法:将读指令推至写指令后;采用定向技术(旁路技术)

  • 控制相关

主要由转移指令引起,使提前做的浪费=>提早预判转移的发生,提早转移

3.3流水线性能

n条指令,m级流水,每一小段时间为t

  • 吞吐率:单位时间内流水线所完成指令或输出结果的数量

最大吞吐率:Tpmax = 1 / t

时间吞吐率:Tp = n / m*t+(n-1)t = Tpmax / 1+(m-1)/n

第一条指令用时m*t,其余每一个t就有一条指令结束

  • 加速比:m段流水线速度与其非流水线速度的比值

Sp = (n * m * t) /m*t+(n-1)t

  • 效率:各功能段的利用率

E = mnt / (mt+(n-1)t)m = Sp / m = Tp*t

标签:操作数,指令系统,计算机,地址,寻址,指令,寄存器,CPU
From: https://www.cnblogs.com/wht-de-bk/p/17686214.html

相关文章

  • 课程教学质量评价系统设计与实现-计算机毕业设计源码+LW文档
    1.选题背景、意义教学质量评价是依照教学标准和数学目标、对教师教学能力进行价值评判,是教学活动进行的重要步骤之一。教师的教学质量越高,代表其教学能力越强。因此,需要建立十分合理的评价标准来对教师教学质量进行评判。现如今国内外教育评价标准多种多样,国外学者侧重于将学生学......
  • 基于web的宿舍管理系统-计算机毕业设计源码+LW文档
    一、研究的背景意义高校作为教书育人的场所,利用信息技术改变落后的教育方式是很有必要的事情。基于web的宿舍管理系统可以解决目前高校高校宿舍管理的问题,提高教师工作效率,快速的完成高校高校宿舍管理相关事宜,及时发布宿舍信息,使得学生可以第一时间查询到自己的宿舍信息。学生宿舍......
  • 2023 中国高校计算机大赛大数据挑战赛圆满收官,和鲸提供竞赛平台支持
    8月27日,2023中国高校计算机大赛——大数据挑战赛(下简称“大赛”)以“现场答辩+全球直播”的形式完美落幕。本次大赛由清华大学和大数据系统软件国家工程研究中心联合举办,云智慧(北京)科技有限公司协办,上海和今信息科技有限公司(下简称“和鲸科技”)提供竞赛平台支持。决赛现场的合影留......
  • 软件评测师考试复习~计算机组成结构必背点
    一、计算机硬件组成计算机的硬件基本系统由五大部分组成:运算器、控制器、存储器、输入设备(eg鼠标键盘)、输出设备(eg显示器);存储器分为:内部存储器、外部存储器。 内部存储器即内存,容量小、速度快、临时存放数据;外部存储器即硬盘光盘等,容量大,速度慢,长期保存数据;外设:输入设备、输......
  • JavaScript入门---计算机基础
         编程语言通过翻译器翻译成机器语言让机器执行 标记被动,编程有逻辑是主动。二。计算机基础硬件:输入设备、输出设备、cpu(处理数据与运算)、硬盘、内存 软件:系统软件,应用软件包含于sys软件2.1数据存储计算机内部由01表示数据硬盘内存都是保存二进制数......
  • 常见问题总结 计算机 维修 软件 配置 - 长期更新
    笔记本wifi突然不能用了右下角没有wlan的开关,打开设备管理器,网卡那里是黄色感叹号。我这里遇到的是Intelac9462(型号可能记错)网卡,错误代码为10。大神说很可能是网卡上的天线接口不良了,建议拆开后盖,把2根天线拔下来重插一下。以下为可能有用的方法:禁用网卡,再启动网卡卸载......
  • 计算机基础知识
    计算机基础知识计算机常识电子管——>晶体管——>集成电路——>超大规模集成电路1946美国宾夕法尼亚大学第一台电子计算机ENIAC冯·诺依曼核心理论二进制存储程序五大部件(I/O,运算器ALU,存储器,控制器)图灵英国人计算机系统硬件系统速度:Ca......
  • 计组 1.2_2 计算机系统的多级层次结构
    学习课程:【王道计算机考研计算机组成原理-哔哩哔哩】https://b23.tv/TTor1cN计算机系统的多级层次结构计算机系统的层次结构三种级别的语言编译程序:将高级语言编写的源程序的全部语句一次翻译成机器语言程序,而后再执行机器语言程序(只需翻译一次)。解释程序:将源程序的一......
  • 【计算机毕业设计】英语单词小程序源码
    开发环境及工具:大等于jdk1.8,大于mysql5.5,idea(eclipse),微信开发者工具技术说明:springbootmybatishtmlvue.jsbootstrap小程序代码注释齐全,没有多余代码,适合学习(毕设),二次开发,包含论文技术相关文档。功能介绍:用户端:登录注册(含授权登录)首页显示搜索,单词列表,搜索可根据单词名称模糊......
  • cpu的errata
    芯片如果流片后,产生一些需要软件workaround的bug怎么处理呢?在linux中,对于pci,有pci的quirk,对于cpu,有cpu的errata。以arm为例,针对cpu执行errata的代码为:arch/arm64/kernel/cpu_errata.c以arm较新的armN2为例:arch/arm64/kernel/cpu_errata.c392:MIDR_ALL_VERSIONS(MIDR_N......