计算机组成原理

文章目录

    • ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190430181932955.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1NzE5OQ==,size_16,color_FFFFFF,t_70) 控制器
    • 如何完成一条指令
    • 内容容量计算
    • 总线
    • 总线控制
    • 总线通信控制
  • 存储器
    • ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190501173456662.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1NzE5OQ==,size_16,color_FFFFFF,t_70) 磁盘的工作原理
    • 按照作用分类
    • 存储器的层次结构
    • 主存
    • 译码驱动方式 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190501191027904.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1NzE5OQ==,size_16,color_FFFFFF,t_70) 地址译码器的位数对应存储矩阵中的每一行例如上图的四位地址则有16中10进制的值,每一个值对应一行,而一行有多少列则有数据线的条数所决定,所以称为存储矩阵 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190501193257848.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1NzE5OQ==,size_16,color_FFFFFF,t_70) 每一个行列选择出的单元只包含一位信息 而接入读写电路的io有多条则 每一条都会接入上方这样的一个单元即一个y地址会选择在每条io线上对应的列!!!如下图 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190501200852267.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1NzE5OQ==,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190501202318995.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1NzE5OQ==,size_16,color_FFFFFF,t_70) 动态RAM
    • RAM刷新
    • 位扩展
    • 字扩展
    • 字和位同扩展
    • 存取速度
    • 低位交叉 个体轮流编址
    • 总线周期的概念
    • 高性能访问芯片
    • 高速缓存
    • 以下时流程图 cache读写操作
    • 全相联映射
    • 替换算法
    • 辅助存储器
    • i/o系统
    • 接口
    • io接口的组成
    • 单重中断和多重中断
    • 程序查询方式总结
  • 控制单元
    • 微操作命令分析
    • 取指周期
    • 执行周期
    • ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190511130737184.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1NzE5OQ==,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190511130941212.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1NzE5OQ==,size_16,color_FFFFFF,t_70) 中断周期
    • 控制单元
    • 多级时序系统
    • 时序控制方式
  • 控制单元的设计
    • 组合逻辑设计
    • 安排微操作时序的原则
  • 微程序设计
    • 控制字段如何编码??
    • 微指令的下一地址如何形成?
    • 微程序设计距离
  • 二进制
    • 补码
    • 移码
    • 浮点数表示
    • 定点运算
    • ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190512195209773.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzE1NzE5OQ==,size_16,color_FFFFFF,t_70) 加减法运算
    • 溢出判断

计算机组成原理_第1张图片
计算机组成原理_第2张图片
计算机组成原理_第3张图片
计算机组成原理_第4张图片
计算机组成原理_第5张图片
计算机组成原理_第6张图片

计算机组成原理_第7张图片
计算机组成原理_第8张图片
MAR反应存储单元得个数
MDR反应存储数据子长

计算机组成原理_第9张图片
控制器

计算机组成原理_第10张图片
计算机组成原理_第11张图片

如何完成一条指令

取数计算机组成原理_第12张图片
通过PC取操作指令,到MAR中寻找地址,根据地址找到数据给MDR再由MDR交给IR IR再交给执行控制单元CU CU通过分析指令得知这是取的操作,取得数得地址就是指令的后半部分,然后IR根据地址到MAR查询然后再存储体中找到数据交给MDR 这个时候MDR就会直接将数据传给ACC
PC-MAR-M-MDR-IR
OP(IR)-CU
AD(IR)-MAR-M-MDR-ACC
存数

计算机组成原理_第13张图片
PC-MAR-M-MDR-IR
OP(IR)-CU
AD(IR)-MAR-M
ACC-MDR-M

加法

PC-MAR-M-MDR-IR
OP(IR)-CU ==+
AD(IR)-MAR-M-MDR-X
ACC+X->ACC

减法

PC-MAR-M-MDR-IP
OP(IR)-CU ==-
AD(IR)-MAR-M-MDR-X
ACC-X>ACC

乘法
PC-MAR-M-MDR-IP
OP(IR)-CU *
AD(IR)-MAR-M-MDR-MQ
ACC-X
ACC
0
X*MQ>ACC(high)+MQ(low)
计算机组成原理_第14张图片
计算机组成原理_第15张图片

内容容量计算

2^MAR位数 * MDR位数 得出多少bit

总线

计算机组成原理_第16张图片
计算机组成原理_第17张图片

计算机组成原理_第18张图片
计算机组成原理_第19张图片

计算机组成原理_第20张图片

计算机组成原理_第21张图片
计算机组成原理_第22张图片

总线控制

计算机组成原理_第23张图片
每个io设备通过BR线发出请求,控制部件根据请求顺序,通过BG线来允许设备占用总线,若此时设备响应设需要向BS发出指令,表示占用总线

计算机组成原理_第24张图片

每个设备发出请求,总线控制器则有一个计时器,再根据设备总线来以此查询各设备是否发出请求,若发出则该设备发信息到BS线
计算机组成原理_第25张图片
计算机组成原理_第26张图片
每个设备发出请求,控制器中的排队器对请求得优先级排序,再对设备通过BG线进行应答

总线通信控制

计算机组成原理_第27张图片
计算机组成原理_第28张图片
计算机组成原理_第29张图片
计算机组成原理_第30张图片
计算机组成原理_第31张图片
计算机组成原理_第32张图片

计算机组成原理_第33张图片
计算机组成原理_第34张图片

存储器

计算机组成原理_第35张图片
磁盘的工作原理

磁头先寻道,找到之后磁片旋转到目的扇区

按照作用分类

计算机组成原理_第36张图片
flash memory 充当中间层 主存快速读取副存的内容
cache 是cpu 和 主存之间的桥梁 速度比主存快

存储器的层次结构

计算机组成原理_第37张图片
计算机组成原理_第38张图片
缓存和主存之间最大的问题是速度不匹配,为了解决这个问题主要用了特定的硬件来做。
主存和辅存则是解决容量问题这里是软硬件结合来做的通过虚拟存储器,来构造逻辑地址,当程序装载时再转化成主存中的真实地址

主存

计算机组成原理_第39张图片
MAR MDR 现在集成在了cpu中
计算机组成原理_第40张图片
计算机组成原理_第41张图片
计算机组成原理_第42张图片
按字寻址:根据子长发现一个字是由几个字节组成的 按字寻址则只需要找到几个字节中的首字节就能找到该字的全部字节,我觉得有些浪费内存

计算机组成原理_第43张图片
计算机组成原理_第44张图片
译码驱动:cpu给出地址通过总线中的地址线传输给主储存器的译码驱动,根据译码驱动单元确定存储矩阵的某个具体单元来完成存取操作
读写电路:连接数据线
片选线:存储器内部有很多片,片选线可以确定访问的地址在哪片当中,一般有两种CS CE
读写控制线:操作信号

计算机组成原理_第45张图片
计算机组成原理_第46张图片
读写控制线低写高读
计算机组成原理_第47张图片

首先用八个芯片组成16k8位的存储器同样的地址同时操作相当于16k个地址8位的宽度
由于要变成64k这个64k则表示地址容量所以要增加地址容量就必要再增加芯片数量由于要保持8位的同时输入输出所以只能再之前的16k
8的基础上再增加三组这样地址总数也达到了64k,这个时候为了能够保持一组当中的芯片能同时读取则需要把芯片中的片选线集合在一起,给第一组分配0-16k的地址,往后每组地址以此类推

译码驱动方式
计算机组成原理_第48张图片
地址译码器的位数对应存储矩阵中的每一行例如上图的四位地址则有16中10进制的值,每一个值对应一行,而一行有多少列则有数据线的条数所决定,所以称为存储矩阵
计算机组成原理_第49张图片
每一个行列选择出的单元只包含一位信息 而接入读写电路的io有多条则 每一条都会接入上方这样的一个单元即一个y地址会选择在每条io线上对应的列!!!如下图
计算机组成原理_第50张图片
计算机组成原理_第51张图片
动态RAM

DRAM
数据是由电容是否通电来表示01的 通电表示1
计算机组成原理_第52张图片

计算机组成原理_第53张图片
计算机组成原理_第54张图片
计算机组成原理_第55张图片

RAM刷新

存取周期表示连续两次的写或读操作所需要的最短时间
由于电容容易漏电所以需要经常刷新,刷新的时候是刷新行地址,刷新一行的数据。
内存在计算机运行时都会不停的刷新数据,有几种刷新的方式
计算机组成原理_第56张图片计算机组成原理_第57张图片增加了存取周期,并且每进行一次存取周期都会刷新一行,但并不需要这么高的刷新频率 如第一种方式那样2ms只刷新一次128行,但如果这种方式就会在2ms内刷新多次128行了
计算机组成原理_第58张图片
异步刷新则综合了前两种方式,我们的目的是在刷新周期内将所有的行刷新一次,如在2ms内刷新128行,故我们只需要每过15.6us 就进行一行的刷新这样2ms就可以完成128行的刷新了

计算机组成原理_第59张图片

位扩展

计算机组成原理_第60张图片

两个片同时使用共同的地址

字扩展

计算机组成原理_第61张图片
有一个关键点就是如何让两片同时工作,即根据第11根地址线来控制cs 来决定那一片被使用

字和位同扩展

计算机组成原理_第62张图片

计算机组成原理_第63张图片
计算机组成原理_第64张图片
计算机组成原理_第65张图片
计算机组成原理_第66张图片
计算机组成原理_第67张图片

存取速度

计算机组成原理_第68张图片
计算机组成原理_第69张图片
高位交叉是在同一个存储体内从上到下顺序执行,同一时刻只在一个存储体内工作
浪费带宽,主要用于存储器容量的扩展

低位交叉 个体轮流编址

计算机组成原理_第70张图片
程序在存储体见横向存储这样在同一时刻可以有多个存储体,因为cpu可以不断的输入地址码 ,这样实现了流水线操作
计算机组成原理_第71张图片

计算机组成原理_第72张图片
tao的意思时总线传输数据的周期,总线周期分为地址周期、控制信号周期、等待时间周期、数据传输周期

总线周期的概念

计算机组成原理_第73张图片

高性能访问芯片

计算机组成原理_第74张图片

高速缓存

依靠程序访问的局部性原理来提高缓存的利用率
计算机组成原理_第75张图片
主存的块地址号和缓存的块地址号时对应的 块的大小是相同的 块内地址位数也是相同的 内存和缓存间传输数据时整块传送的,所以块号和块内地址都不会发生变化
块内地址就是数据在块内的偏移地址

cpu如何命中cache中的块?
根据地址中的主存储块号来对比cache中的标记号,若有相同的则命中

计算机组成原理_第76张图片

cpu对内存的访问过程
通过地址总线传输地址
地址分为块号和块内地址
块号拿出给cache的一个控制结构处理检查是否命中即(存储体中有该标号)命中则根据块号和块内地址直接访问cache存储体
若未命中则检查是否可以装进块到cache中若时则将块放入cache中
若不能则需要cache替换机构根据替换算法来决定替换cache中的哪些块
主存和cache存储体间有直接通路可以交换数据

以下时流程图
cache读写操作

计算机组成原理_第77张图片计算机组成原理_第78张图片

cache可以分布在cpu内部或者主板上

计算机组成原理_第79张图片

直接映射方式计算机组成原理_第80张图片
首先要明确的是一个地址分为块号和块内地址
在直接映射中块号位数=主存字块标记t位+cache字块地址c位
所以在主储存体中用了2^(t+c)个块由于高速缓存的大小是远远小于主存的,所以我们称cache存储体的大小为一个区
而为了达到直接映射的目的,所以我们也把主存上的块为划分为区 这个时候按照cache字块地址的位数c可以把chache划分为2^c个块 主存为了达到相同的效果所以把块号的c个低位哪来当块号 用t位来当区号 这样就形成了2^t个区

当cpu给出一个地址后,我们可以先根据块号先定位到cache中的对应块号,再根据 地址中的区号来与在cache中定位到的块的标记做比较相等区则表示命中,反之未命中

优点:速度很快,我们可以快速的判断是否命中cache块
缺点:cache的利用率很低,在程序执行的时候若有跳转指令则可能调到例外区块上的在cache中已经被占用的块的位置,这个时候就有冲突,之前的cache块就要被替换,当这个时候其他的cache块都是空的没有利用到、

全相联映射

计算机组成原理_第81张图片
这种映射方式 仍是将主存分块 但并没有为块分区因为可以随机把主存中的块放入cache中的任意块
cpu给出一个地址 只需要将主存块标拿出来和cache存储器中的没块的标记进行比较若相等则命中
缺点:电路难以设计,在映射的过程中标记位比较长效率不高
优点:命中率高
计算机组成原理_第82张图片
首先要理解什么叫做组?主存中每个区的相同编号的块的集合,大小由组内位置所决定
首先我们从公式中可以理解cache中有多少各组那么对应的主存中每一个区就有多少个块,映像当中每个区的第一块都可以放在cache中第一个组中的任意一个字块,即通过每个块在所在区的块号我们可以得知他会被放在cache中的哪个组、

优点:减少了直接映射的那种冲突问题
这个比较牛皮
这种模式的关键在于分组,它综合了直接映射和全映射的模式这了个中
当r=c时 这个时候只有一个组 这个时候就变成了全相连
当r=0时 这个时候变成直接相连

在cpu的cache可以采用直接映射
中间层次的cache可以采用组相连映射

替换算法

先进先出算法
比较垃圾存在很多问题

最少使用算法LRU
比较好

辅助存储器

计算机组成原理_第83张图片

计算机组成原理_第84张图片

计算机组成原理_第85张图片
计算机组成原理_第86张图片
计算机组成原理_第87张图片

磁盘驱动器送来信号表示操作的磁道,音圈电机操作小车移动读写臂进行寻道
数据控制则是完成数据的转换和读写控制
计算机组成原理_第88张图片

i/o系统

计算机组成原理_第89张图片

io接口和io设备之间并行传输并需要请求应答过程
计算机组成原理_第90张图片
同步的关键

主机必须要要有统一的时标,时表规定了在某一个时间点必须开始或完成的工作 跟总线的周期一样
计算机组成原理_第91张图片

计算机组成原理_第92张图片
程序启动io设备过后没有停止等待,而是转而执行现行程序,等到io借口中的数据准备好后向cpu发出程序中断请求后cpu保存当时现场转而和io接口传送数据,传输完毕后恢复现场继续执行程序
缺点:需要各种指令来控制现场和中断等

计算机组成原理_第93张图片弄的又一个牌子 。。。。L的PBT也就那样 手
计算机组成原理_第94张图片计算机组成原理_第95张图片

我觉得DMA牛逼

接口

计算机组成原理_第96张图片

计算机组成原理_第97张图片

设备选择线 通过cpu传输过来的设备地址与io接口中的相匹配 匹配即选中
数据线: 双向 多根
命令线 cpu发出的命令
状态线 :表明设备的工作状态

接口功能:
1 选址 由设备选择电路组成
2 传送命令的功能 由命令寄存器,命令译码器完成
3传送数据的功能 由数据缓冲寄存器完成
4 反应设备状态的功能 设备状态标记 由触发器实现
计算机组成原理_第98张图片

io接口的组成

计算机组成原理_第99张图片

计算机组成原理_第100张图片

计算机组成原理_第101张图片

每个io设备会发出中断请求,请求会在排队器中排队,确定优先级(硬软)、
cpu根据求求确定中断向量地址(中断向量地址形成部件)
计算机组成原理_第102张图片
可以看到中断向量地址形成部件传输到cpu后再到内存中取指 这里jmp到200 执行打印机服务程序
计算机组成原理_第103张图片

计算机组成原理_第104张图片

单重中断和多重中断

计算机组成原理_第105张图片

程序查询方式总结

计算机组成原理_第106张图片
首先cpu用过地址线选择到设备,再通过启动命令来通过与门 这时会让d为0 b为1 b为1则会启动设备 ,设备将数据读入到数据存储器中,设备结束工作 这个时候将d置为1 cpu不断查询的设备的状态就是d是否为1 当d为1时 cpu就知道可以通过数据线读取数据寄存器的数据了
计算机组成原理_第107张图片
计算机组成原理_第108张图片
1选择设备和启动命令
2 d0 b1 设备启动并准备好数据到DBR
3 d1 b0
4 mask =0 INTR的D端输入为1
5 cpu 进行中断查询 置INTR为1、
6INTR发出中断请求,并且在排队器排队
7 cpu响应请求通过设备编码器将请求从排队器中拿出形成向量地址 再有cpu从向量地址中读取跳转指令或者中断程序的地址,最终执行中断服务程序,中断服务程序再从DBR中读取数据。
计算机组成原理_第109张图片
单中断和多重中断
关键在于多重中断在中断服务程序中会开中断,允许这个中断服务程序被其他的中断服务请求打断
计算机组成原理_第110张图片

控制单元

微操作命令分析

指令解释的过程中控制单元发出的一些指令,这些指令要完成的动作和整条指令要完成的工作相比要小。所以叫微操作命令

完成一条指令的四个工作周期
取指
间址
执行周期 完成操作数的取数和计算的工作

取指周期

计算机组成原理_第111张图片
pc传到MAR 通过地址总线传递给存储器,cu发出读命令,指令通过数据总线到MDR,再到IR
cu要判断指令的op pc+1、

间址周期
计算机组成原理_第112张图片
在取指的基础上 cu应该会分析处IR码中的指令特征
为间址这样就将指令的形式地址发给MAR
MAR通过地址总线到存储器
cu发出读指令
存储器将操作数的实际地址发给MDR
MDR将实际地址添加到AD(IR)

执行周期

1,非访存的指令

CLA 清acc 0->ACC
COM 取反 将ACC取反
SHR 算术右移
CSL 循环左移
计算机组成原理_第113张图片
2 访存指令
计算机组成原理_第114张图片
转移指令

计算机组成原理_第115张图片
计算机组成原理_第116张图片
中断周期

计算机组成原理_第117张图片
计算机组成原理_第118张图片

控制单元

计算机组成原理_第119张图片

计算机组成原理_第120张图片

计算机组成原理_第121张图片

时钟控制控制单元发出各种类型的信号

计算机组成原理_第122张图片

计算机组成原理_第123张图片
计算机组成原理_第124张图片
时钟控制cu何时发出控制信号
计算机组成原理_第125张图片
计算机组成原理_第126张图片

多级时序系统

机器周期
计算机组成原理_第127张图片

一个机器周期中存在许多的微操作

时钟周期是控制计算机操作的最小的时间单位
一个时钟周期可以做一个或多干个微操作
一个微操作也可能花费多个时钟周期
将一个机器周期划分成活干个时间相等时间段(时钟周期)
用时钟周期控制产生一个或多个微操作命令(并行的执行)
计算机组成原理_第128张图片
计算机组成原理_第129张图片
一般存在访问内存的机器周期时间会长一些
计算机组成原理_第130张图片
脉冲信号周期内是没有信号的。就象人的脉搏一样。脉冲信号一般指数字信号,它已经是一个周期内有一半时间(甚至更长时间)有信号。计算机内的信号就是脉冲信号,又叫数字信号。

时序控制方式

计算机组成原理_第131张图片
计算机组成原理_第132张图片

计算机组成原理_第133张图片

计算机组成原理_第134张图片

控制单元的设计

组合逻辑设计

cu会发出各种的有序的微操作命令(控制信号),这些信号都是有先后关系的,有固定的时间点
而先后关系和时间点的确定就是由节拍信号所控制的
所以必定有一个节拍发生器产生信号输入到cu中
节拍发生器的外端接的时计算机主频算是主时钟 (我理解为产生脉冲信号(数字信号)一个周期激发态占一半时间)
节拍发生器会产生多个节拍信号(我理解为时钟周期)输入到cu中
在每个节拍信号的起始端(上升延)cu会产生给定的控制命令(微操作 产生何种微操作与现在执行的时哪条指令有关系)、计算机组成原理_第135张图片
op(IR)经过译码以后会有n位连接到cu中但只有一位是1 (高电平),cu会根据这个来判断出是什么样的操作,再通过标志位(比如说有些跳转指令需要标志位)来产生在一个节拍信号中所要进行的微操作 例如到c0-ck中有一个或几个有效,并且在同一节拍中有效的微操作可以时并行的。
计算机组成原理_第136张图片

计算机组成原理_第137张图片
cu 在操作码 节拍信号 标志位 的输入下,产生控制信号1-12 还有对算术逻辑单元的控制信号,以及根据计算结果修改标志位

安排微操作时序的原则

计算机组成原理_第138张图片
计算机组成原理_第139张图片
t0:两个微操作操作的对象不同可以在同一个节拍执行
t1:两个微操作操作的对象不同且没有依赖关系可以调换顺序
t2:两个微操作只在cpu内部进行没有访存操作时间快 一个节拍放两个操作也行,这个两个操作有先后顺序

计算机组成原理_第140张图片
计算机组成原理_第141张图片

计算机组成原理_第142张图片
向量地址到pc 必须放在最后一个节拍中
计算机组成原理_第143张图片
计算机组成原理_第144张图片
计算机组成原理_第145张图片

计算机组成原理_第146张图片
计算机组成原理_第147张图片
计算机组成原理_第148张图片
计算机组成原理_第149张图片
计算机组成原理_第150张图片
在cu中通过硬件电路来控制 控制信号的产生 比如上图 能够在不同机器周期和节拍产生同一种指令
上面这样列表格的作用就是根据表格得出每一个控制信号的表达式 再根据表达式来画出逻辑图
逻辑图清楚的表明了控制信号会在哪种情况下产生
比如说在上图的控制信号会在取指阶段的所有指令下的t1节拍中产生

微程序设计

计算机组成原理_第151张图片
计算机组成原理_第152张图片

设计思想

将一个节拍中的可以并行操作的微操作合并成为微指令 微指令中的 1代表执行1这个位置所代表的微操作即发出控制信号 ,由多个微指令构成的叫做微程序 一个微程序对应一个条机器指令 一个微指令对应一个节拍且对应1一条或多条可以并行执行的微操作
计算机组成原理_第153张图片
微程序控制单元的基本框图
计算机组成原理_第154张图片
指令操作码-》微地址形成部件-》顺序逻辑(在标志位和时钟信号的控制下)展示微程序的首地址(第一条微指令)给CMAR(控制内存地址寄存器)-》将地址交给地址译码器到控制存储器中取出微指令到CMDR中同时还会取出下一微指令的地址,最后由CMDR来将控制信号传递给cpu内部和系统总线

注意的时 微地址形成部件给出的时微程序的地址,再由顺序逻辑在多个地址中选择,选择正确的地址送入到控制存储寄存器。

之一微指令的格式:操作控制码 顺序控制码(下一条微指令的地址)
计算机组成原理_第155张图片
需要注意的是:
微地址形成部件会决定每个周期微程序的首地址
计算机组成原理_第156张图片
在M+2的微指令的地址码区不能表明下一跳微指令的地址 ,这里要执行其他的指令周期,这个时候需要微指令地址形成部件根据操作码再生成下一个周期(比如说执行周期或者间址周期)的首地址

计算机组成原理_第157张图片
计算机组成原理_第158张图片

个人感觉逻辑控制单元设计和微程序设计差别在于逻辑控制单元是根据节拍 标志位 操作码 通过逻辑电路动态生成控制信号的,而微程序设计则是提前将控制信号保存在只读内存中,需要用某一个微程序时从控制内存中读出微指令,微指令则表明了一个节拍中可以并行执行的控制信号,这样指令的执行过程就只是把微指令从控制内存中读出来而已,不需要动态生成

微程序设计还有两个关键的地方
1、微指令的控制信号字段该如何组合,怎么用来表示控制信号
2 如何形成下一条地址

控制字段如何编码??

1直接编码
在控制字段当中每一位代表一个微操作命令

计算机组成原理_第159张图片
计算机组成原理_第160张图片

计算机组成原理_第161张图片

微指令的下一地址如何形成?

1微指令的下地址段指出
2根据机器指令的操作码形成
3增量计数器
计算机组成原理_第162张图片
计算机组成原理_第163张图片

终极图
计算机组成原理_第164张图片

计算机组成原理_第165张图片

计算机组成原理_第166张图片

微程序设计距离

计算机组成原理_第167张图片

计算机组成原理_第168张图片

计算机组成原理_第169张图片
计算机组成原理_第170张图片
计算机组成原理_第171张图片
计算机组成原理_第172张图片
计算机组成原理_第173张图片
计算机组成原理_第174张图片
计算机组成原理_第175张图片

计算机组成原理_第176张图片

计算机组成原理_第177张图片

计算机组成原理_第178张图片

二进制

计算机组成原理_第179张图片
x代表的是真值!!真值即为二进制加上±符号位
计算机组成原理_第180张图片

整数和小数区分正负分别是用,和.
计算机组成原理_第181张图片
计算机组成原理_第182张图片
补码运算解决了这个问题

补码

计算机组成原理_第183张图片

计算机组成原理_第184张图片
负数的补数就是负数的原码各位取反+1

因为负数的绝对值要和补数的绝对值相加等于模数(我理解模其实相当于进位+1 原本的位全部归0)
计算机组成原理_第185张图片
计算机组成原理_第186张图片

计算机组成原理_第187张图片

对于补数的理解

+6 + -3 模为4
+6 +0110
-3 -0011
+0110 + -0011 = +0011 =3
-3 的补数为 1101 补码为11101
+0110 + 1101 = 1,0011 除去模即溢出位 为 0011
所欲 +6 + (-3|-3的补数)结果都一样

补码高位仅仅是为了表明这是负数的补码

记住2^(n+1)+x
计算机组成原理_第188张图片

移码

计算机组成原理_第189张图片

计算机组成原理_第190张图片

一般用于浮点数的阶码部分

计算机组成原理_第191张图片

顿悟:可以直接用补码的补数部分减去模得到真值

译码和补码其实就是符号位取反

计算机组成原理_第192张图片

浮点数表示

计算机组成原理_第193张图片
计算机组成原理_第194张图片
计算机组成原理_第195张图片

计算机组成原理_第196张图片

计算机组成原理_第197张图片
计算机组成原理_第198张图片
计算机组成原理_第199张图片
计算机组成原理_第200张图片

计算机组成原理_第201张图片

计算机组成原理_第202张图片
计算机组成原理_第203张图片

计算机组成原理_第204张图片

定点运算

移位
计算机组成原理_第205张图片
计算机组成原理_第206张图片

负数补码向右移动一位表明真值扩大了一倍 所以对应的补数也要扩大
负数补码向左移动一位表明真值缩小了一倍 所以对应的补数也要缩小

计算机组成原理_第207张图片
计算机组成原理_第208张图片

计算机组成原理_第209张图片
结论 无论是什么码 左移都代表真值翻倍 右移都代表真值减小一倍

计算机组成原理_第210张图片

计算机组成原理_第211张图片
对于这个的理解:
对于不同的真值丢弃对真值的填充的值是没有影响的 但丢弃非填充值则有影响
负数的反码丢弃0则会出问题

计算机组成原理_第212张图片
加减法运算

计算机组成原理_第213张图片
计算机组成原理_第214张图片

练习二 可以口算得出正确结果为-138 但是机器字长只有8位 表示的的范围为-128-127 -138 超过了表示的范围、、

溢出判断

计算机组成原理_第215张图片
最高有效的进位表示数值部分相加产生的进位
符号位的进位表示两个符号位相加产生的进位

负数相加没产生溢出表明最高有效位的进位为1
正数相加没产生溢出表明最高有效位的进位为0

计算机组成原理_第216张图片
计算机组成原理_第217张图片
a是被加数
x是要被运算的数
ga为1表示加法
gs为1 表示减法
做减法的时候由于最终是要做加法 所以要把被操作数进行全取反(符号位也要取反)+1的操作,+1的操作可以由其他加法器或者就用上图的加法器进行操作,然后暂存到acc中 再放回x中 之后再去被加数到acc中
计算机组成原理_第218张图片

你可能感兴趣的:(计算机组成原理)