XJTUSE-OA-ch10-18

本文详细探讨了机器指令的特征、类型和设计,涉及CPU结构中的寄存器、指令集、寻址方式、指令格式、流水线、RISC与CISC的区别,以及超标量和多核处理器的原理。还介绍了微程序控制和并行处理技术在现代计算机架构中的应用。
摘要由CSDN通过智能技术生成

第十章-指令集:特征和功能

机器指令特征

机器指令:CPU的操作由它所执行的指令确定。

机器指令要素

  1. 操作码
  2. 源操作数引用
  3. 结果操作数引用
  4. 下一条指令引用

源操作数和结果操作数可能位于下面4个范围:

  1. 主存或者虚存
  2. 处理器寄存器
  3. 立即数
  4. I/O设备

指令表达

指令类型

  1. 数据处理:算术和逻辑指令
  2. 数据存储:存储器指令
  3. 数据传达:I/O指令
  4. 控制:测试和分支指令

地址数目(略)

指令集设计(重点)

设计的出发点主要考虑:

  1. 操作指令表:提供多少和什么样的操作,操作何等复杂
  2. 数据类型:对哪几种数据类型完成操作
  3. 指令格式:指令的长度、地址数目、各个字段的大小
  4. 寄存器
  5. 寻址

操作数类型

  1. 地址
  2. 数值
  3. 字符
  4. 逻辑数据

操作类型

主要包括:数据传送、算术、逻辑、转换、输入/输出、系统控制、控制转移

数据传送:将存储器、寄存器或者栈等里的数据转移至另一存储器、寄存器、栈。

算术:加减乘除

逻辑:位操作(布尔运算),逻辑移位、算术移位、旋转、循环移位。

转换:改变数据格式或者对数据格式进行操作。

输入/输出(略)

系统控制:通常为特权指令

控制转移:分支指令、跳步指令、过程调用指令。

MMX

一组用于多媒体任务的优化指令,一共有57条新指令(新指令的特点是引入了饱和算术)。

能够加速并行操作!

MMX主要是为多媒体程序设计而设置的,定义了三种新数据类型:

  1. 压缩字节型
  2. 压缩字型
  3. 压缩双字型

第十一章-指令集:寻址方式和指令格式

寻址方式

为什么

希望能大范围地访问主存或者虚拟存储器,因此需要多种寻址方式。

类型

表格汇总

指令格式

指令格式:指令格式通过它的各个构成部分来定义指令的位安排,大多数的指令集使用不止一种指令格式。一个指令格式必须包括一个操作码,以及隐式或显式的、零个或多个操作数。指令格式必须隐式或显式地为每一个操作数指定其寻址空间。

指令长度

即指令格式的长度。决定了机器指令的丰富性和灵活程度。

指令长度的影响因素多种多样,但主要在指令的强有力性和存储时节省空间之间进行权衡考虑。

位的分配

对于一个给定的指令长度,显然要在操作码数目寻址能力之间进行权衡

使用寻址位需要考虑:寻址方式的数目,操作数数目,寄存器与存储器比较,寄存器组的数目,地址范围,地址粒度。

变长指令

即不同长度的各种指令格式。

优点:

  1. 提供大的操作码清单
  2. 操作码拥有不同长度使得寻址方式更加灵活
  3. 使用变长指令,能有效和紧凑地提供众多变化

缺点:

  1. 增加了CPU的复杂程度
  2. 没有消除所有指令相对于机器字长,其长度整齐的期望。常见的解决办法位取至少等于最长指令长度的几个字节/字。

第十二章-CPU结构和功能

CPU概述

CPU必须完成以下任务:

  1. 取指令
  2. 解释指令
  3. 取数据
  4. 处理数据
  5. 写数据

CPU的内部结构:

寄存器组成

用户可见寄存器

为下面寄存器:

  1. 通用寄存器
  2. 数据寄存器
  3. 地址寄存器
  4. 条件码

控制和状态的寄存器(重点)

  1. 程序计数器(PC):存有待取指令的地址
  2. 指令寄存器(IR):存有最近取来的指令
  3. 存储器地址寄存器(MAR):存有存储器位置的地址
  4. 存储器缓冲寄存器(MBR):存有将被写入存储器的数据字或最近从存储器读出的字。

PSW:程序状态字,一般含有条件吗加上其他状态信息。

指令周期

  1. 取指
  2. 间接
  3. 执行
  4. 中断

各周期的具体操作

这个后面微指令会详细展开,简要了解即可。

看书或者PPT,搞懂下面几幅图片:

指令流水线

是什么

简要了解即可,后面RISC的流水线策略会详细讲解。

指令处理可以得到以下分解:

  1. 取指令(FI)
  2. 译码指令(DI)
  3. 计算操作数(CO)
  4. 取操作数(FO)
  5. 执行指令(EI)
  6. 写操作数(WO)

时序图如下:

如果考虑到分支的话:

为什么不是流水线阶段越多越好?

1.流水线的每一个阶段都需要开销。

2.流水线的阶段越多,处理逻辑负担越大。

流水线性能

学会计算加速比和吞吐量。

流水线冒险

  1. 资源冒险
  2. 数据冒险:真相关,反相关,输出相关。
  3. 控制冒险

处理分支指令

  1. 多个指令流
  2. 预取分支目标
  3. 循环缓冲器
  4. 分支预测:预测绝发生/不发生,依操作码预测,发生/不发生切换,转移历史表
  5. 延迟分支

第十三章-精简指令集计算机

指令执行特征

了解高级语言(HHL)与指令集之间的关系。

操作,操作数,过程调用三个方面进行了阐述,大概看看就好。

大寄存器组的方案使用

是什么?

还可以做成循环的寄存器窗口

全局变量

搞清楚全局变量存在哪里? -- 全局寄存器

搞清楚全局寄存器的存储空间不够了,该怎么办? -- 编译器决定哪些指派到全局寄存器,哪些放到内存中。

与高速缓存的对比

基于编译器的寄存器优化

掌握图着色技术即可

RISC体系结构

CISC的优缺点

看一遍了解即可

RISC体系结构特征

掌握以下特征即可:

  1. 每机器周期一条机器指令
  2. 大多数操作是寄存器到寄存器的
  3. 使用简单的寻址方式
  4. 使用简单的指令格式

RISC vs CISC

简单看一遍即可。

RISC流水线

使用规整指令的流水线技术

流水线优化

  1. 延迟分支:加入NOOP
  2. 循环展开:把增大循环步长,拓展循环语句内的操作

第十四章-指令级并行性和超标量处理器

概述

超标量(superscalar):在不同流水线中独立执行指令的能力,允许指令以不同于原程序的顺序的次序来执行。

超标量与超级流水线对比

限制

指令级并行性是指程序指令能并行执行的长度。

其包含5种限制(注意与流水线的限制区分):

  1. 真实数据相关性:写后读
  2. 过程相关性:分支指令,变长指令
  3. 资源相关性:同一资源
  4. 输出相关性:写后写
  5. 反相关性:读后写

设计策略

指令发射策略

  1. 按序发射按序完成
  2. 按序发射乱序完成
  3. 乱序发射乱序完成:将译码阶段和执行阶段解耦,引入发射窗口

寄存器重命名

使用带下标的寄存器,避免了反相关性和输出相关性。

分支预测

前面讲过

超标量执行

简单描述一下:

寄存器重命名---发射窗口+分支预测---执行---指令重排---提交

第十五章-控制器操作

微操作

微操作就是CPU的基本的或者原子的操作。

用一下之前的图片说明不同周期的微操作顺序。

要自己看懂缩写是什么,然后括号的含义也要搞明白。再搞明白地址,高位,低位的概念....

取指周期

t1:(PC)->MAR

t2:内存->MBR

t3:(MBR)->IR

    (PC)+1->PC

间接周期

t1:(IR(地址))->MAR

t2:内存->MBR

t3:(MBR(地址))->IR(地址)

中断周期

t1:(PC)->MBR

t2:(MBR)->内存

t3:保存地址->MAR

    子程序地址->PC

执行周期

考虑ADD R1,X

操作如下:

t1:(IR(地址))->MAR

t2:内存->MBR

t3:(MBR) + (R1) -> R1

ISZ X

操作如下:

t1:(IR(地址))->MAR

t2:内存->MBR

t3:(MBR) + 1 -> MBR

t4:(MBR) -> 内存

    IF (MBR)==0 (PC)+1->PC

其他的不再给出,只要了解各个寄存器和部件的应用即可。

指令周期

处理器控制

看懂这两副图和作业题即可。

硬布线实现

第十六章-微程序控制

微程序式控制的基本概念

微指令:每行描述一个时间内出现的一组微操作。

微程序/固件:微指令序列。介于硬件与软件之间的。

微指令分类

  1. 水平微指令:宽度较宽,不需要译码,对于CPU内部控制线和系统总线控制线。并行度高。
  2. 垂直微指令:宽度较窄,n个控制信号编码成logn位,需要译码才能发出。并行度低。

微程序式控制器的组成

这里是垂直微指令的设计!!

 微指令排序

一般而言,接下来执行的地址有三种情况:

  1. 有指令寄存器确定
  2. 下一顺序地址
  3. 转移

定序技术有双地址字段,单地址字段,可变格式。

双地址字段

单地址字段:省了一个地址 

一般而言,下一个地址的选择项为:

  1. 地址字段
  2. 指令寄存器代码
  3. 下一顺序地址

 可变格式

第十七章-并行处理

对称多处理机系统SMP

如下特征:

  • 寻址:必须能区别总线上的各个模块,以确定数据的源和目标
  • 仲裁:任何I/O模块都能临时行使主控器功能。因此需要提供一种机制来对总线控制的竞争请求进行仲裁。
  • 分时复用:当一个模块正在控制总线时,其他模块都是被锁住的。而且如果需要的话,应该能挂起它的操作直到当前的总线访问被完成。 

Cache一致性问题及解决方案

软件解决方案

硬件解决方案

  1. 目录协议
  2. 监听协议

MESI协议

  • M(modified):修改态
  • E(exclusive):专有态
  • S(shared):共享态
  • I(invalid):无效态

集群系统

集群:一组完整的计算机相互连接,作为同一的计算资源一起工作。

四个好处:

  1. 绝对的可拓展性
  2. 增量的可拓展性
  3. 高可用性
  4. 优异的价格/性能比

配置

  • 被动式备份
  • 主动式辅助
  • ...

非均匀存储访问系统NUMA

第十八章-多核计算机

 硬件性能问题

增加并行

  • 流水线
  • 超标量
  • 并行多线程

功耗

软件性能问题

多核软件

加速比,还是阿姆达尔定律。

常见多核组织结构

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值