哈工大刘宏伟计算机组成原理学习笔记(西工大软件学院计算机组成原理考试复习)

有的图片显示不出来,可以私信我发我邮箱地址,我发pdf

第一章 计算机系统概论

1.1计算机系统简介

一.计算机的软硬件概念

1.计算机系统

image-20220408100613712

image-20220408101702289

系统复杂性管理的方法

(1)抽象image-20220408102016525

1.2计算机的基本组成

一、冯.诺依曼计算机的特点

1.计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备

2.指令和数据以同等地位存于存储器,可按地址寻访

3.指令和数据用二进制表示

4.指令由操作码和地址吗组成

5.存储程序

6.以运算器为中心

image-20220408103950705

运算器:算术运算与逻辑运算 存储器:存放数据和程序 控制器:指挥程序执行 输入设备:将信息转换成机器能识别的形式 输出设备:将结果转换成人们熟悉的形式

二、计算机硬件框图

1.以存储器为中心的计算机硬件框图

image-20220408105220516

2.现代计算机硬件框图

image-20220408105456887

系统复杂性管理的方法 (2) (3 Y方法)

——层次化(Hierachy):将被设计的系统划分为多个模块或子模块

——模块化(Modularity):有明确定义的功能和接口

——规则性(regularity):模块更容易被重用

三、计算机的工作步骤

1.上机前的准备

*建立数学模型

*确定计算方法

*编制解题程序

2.计算机的解题过程

(1)存储器的基本组成image-20220408162740335

存储体——存储单元——存储元件

**存储单元 **存放一串二进制代码 按地址寻访

**存储字 ** 存储单元中二进制代码的组合

存储字长 存储单元中二进制代码的位数 每个存储单元中赋予一个地址

MAR 存储器地址寄存器 反映存储单元的个数

MDR 存储器数据寄存器 反映存储字长

image-20220408163919972

(2)运算器的基本组成和操作过程

image-20220408164307871累加型image-20220408164839230

(3)控制器的基本组成image-20220408171146030

取指令 **PC ** 分析指令 IR 执行指令 CU

PC存放当前欲执行指令的地址,具有计数功能(PC)+1→PC

IR存放当前欲执行的指令

(4)主机完成一条指令的过程

取数指令:pc吧指令地址给MAR,MAR送给存储体,在控制器的控制下存储体吧指定存储单元中的取数指令交给MDR,取出来的指令送给IRimage-20220408192141545

把指令的操做码部分送给CU,Cu上有各种信号,从IR中把指令的地址部分送给MAR,再由MAR送给存储体,再由存储体找到那个数,把他送给MDR,在送给ACC

image-20220408192649786

存数指令:存指令部分和取数一样

image-20220408192912642

把ACC中的内容交给MDR,再交给存储体。

image-20220408193522423

OP(IR):IR中指令的操作码 Ad(IR):IR中指令的地址

1.3计算机硬件的主要计数指标

1.机器字长

CPU一次能处理数据的位数 与CPU中的寄存器位数有关

2.运算速度

主频 核数,每个核支持的线程数 image-20220408194204051 CPI:执行一条指令所需时钟周期数(取平均值) MIPS:每秒执行百万条指令(指令的复杂程度如何) IPC:一个时钟周期可以执行多少条指令 FLOPS:每秒浮点运算次数(最科学)

3.存储容量

存放二进制信息的总位数

image-20220408194833642

第二章 计算机的发展及应用

2.1 计算机的发展史

一、计算机的产生和发展

image-20220410092408430

现代计算机产生的驱动力:需求 技术发展(电子技术的发展 计算机体系结构技术的发展)

硬件对计算机更新换代的影响image-20220410092643419

二、微型计算机的出现与发展

image-20220410093202511

image-20220410093219145

三、软件技术的兴起和发展

1.各种语言 面向机器(机器语言 汇编语言) 面向问题(高级语言)

2.系统软件 语言处理程序 操作系统 服务性程序 数据库管理系统 网络软件

3.软件开展的特点 (1)开发周期长 (2)制作成本昂贵 (3)检测软件产品质量的特殊性

软件

是程序以及开发、使用和维护程序所需要的所有文档

2.2 计算机的应用

一、科学计算和数据处理

二、工业控制和实时控制

三、网络技术

1.电子商务

2.网络教育

3.敏捷制造

四、虚拟现实

五、办公自动化和管理信息系统

六、CAD/CAM/CIMS

七、多媒体技术

八、人工智能

2.3计算机的展望

一、计算机具有类似人脑的一些超级智能功能 要求计算机的速度要足够快

二、芯片集成度的提高受以下三方面的限制

芯片集成度受物理极限的制约

按几何级数递增的制作成本

芯片的功耗、散热、线延迟

三、?替代传统的硅芯片

1.光计算机 利用光子取代电子进行运算和存储

2.DNA生物计算机 通过控制DNA分子之间的生化反应

3.量子计算机 利用原子所具有的量子特性(量子密码)

第三章总线

3.1总线的基本概念

一、为什么要用总线

不用总线:难扩展,而且外部设备可能有很多,CPU也有很多

二、什么是总线

总线是连接各个部件的信息传输线,是各个部件共享的传输介质,结构简单,可扩展性好

三、总线上信息的传送

串行:一位一位的传输 并行:多位同时传,需要多条线,但如果传输距离过长,数据可能会变形

**现代计算机串行传输比并行传输速率快:**因为现在计算机的时钟频率越来越高,并行导线之间的相互干扰越来越严重。并行接口因为有多条并行且紧密的导线,但时钟频率提高到一定程度时,传输的数据已经无法恢复。并且差分信号技术的诞生,加快了串行传输的速率。

四、总线结构的计算机举例

1.单总线结构框图

image-20220410155759713

如果I/O使用总线,CPU和主存就无法工作,会延缓CPU效率。而且如果I/O设备过多,总线过长,并且会产生争用现象

2.面向CPU的双总线结构框图

image-20220410160119880

CPU和主存之间信息繁忙,所以使用专用的总线。但是如果

3.以存储器位中心的双总线结构框图

image-20220410160514848

这两条总线不可以同时进行工作。

3.2总线的分类

1.片内总线

芯片内部的总线

2.系统总线

计算机各部件之间的信息传输线

系统总线又分为:数据总线(双向 与机器字长、存储字长有关),地址总线(单向 与存储地址、I/O地址有关),控制总线(有出(中断请求、总线请求) 有入(存储器读、存储器写、总线允许、中断确认))

3.通信总线

用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通信等)之间的通信

按传输方式分又可分为:串行总线和并行总线

3.3总线特性和性能指标

一、总线物理实现

印刷在主板上

二、总线特性

1.机械特性 尺寸、形状、管脚数及排列顺序

2.电气特性 传输方向和有效的电平范围

3.功能特性 每根传输线的功能:地址 数据 控制

4.时间特性 信号的时序关系

三、总线的性能指标

1.总线宽度 数据线的根数

2.标准传输率 每秒传输的最大字节数(MBps)

3.时钟同步/异步 同步、不同步

4.总线复用(共用) 地址线与数据线复用(为了减少管脚数,减小封装体积)

5.信号线数 地址线、数据线和控制线的总和

6.总线控制方式 突发、自动、仲裁、逻辑、计数

7.其他指标 负载能力、电源电压、总线宽度能否扩展

四、总线标准

设置标准原因:各个部件由各个厂商来生产,需要统一

image-20220410163014182

image-20220410163021701

3.4总线结构

一、单总线结构

image-20220410163440036

二、多总线结构

1.双总线结构

image-20220410163512264

通道具有特殊功能的处理器,由通道对I/O统一管理

2.三总线结构

image-20220410163750652

DMA:direct memory access 可以有多个告诉外设

3.三总线结构的又一形式

image-20220410163843555

原因:CPU和内存速度不匹配

局部I/O控制器连接一些高速I/O设备 缺点:多种总线连接在扩展总线上,运行速度各不相同,会影响设备的运行速度。

4.四总线结构

image-20220410231249118

分类了高速设备和低速设备,提高效率

三、总线结构举例

1.传统微型机总线结构

image-20220410231424369

2.VL-BUS局部总线结构
image-20220410231458940
3.PCI总线结构

image-20220410231525856

4.多层PCI总线结构

image-20220410231611247

3.5总线控制

一、总线判优控制

1.基本概念

主设备(模块):对总线有控制权 从设备(模块):响应从主设备发来的总线命令

总线判优控制分为集中式和分布式,其中集中式又分为链式查询、计数器定时查询、独立请求方式

2.链式查询方式

image-20220410232129098

BG:查看哪个接口提出了BR(总线请求),依次查询,找到之后,由该I/O发出BS信号 对电路故障敏感 优先级算法简单 易于可靠性设计 电路简单 速度比较慢 用于微型计算机以及简单的嵌入式系统

3.计数器定时查询方式

image-20220410232652033

计数器通过设备地址线向外发出信号 比如一开始计数器为0,他去查看编号为0的I/O接口有没有发送总线请求,发现没有发送,则计数器+1,取访问接口1,发现发送了总线请求,则接口1被选中,接口1发送BS。

优点:优先级灵活,计数器可以事先确定的 也可以不从0开始,从上一次停止计数的地方开始 循环优先级 还可以通过软件的方式对总线控制部件进行控制

4.独立请求方式

image-20220410235449167

总线控制部件里面有一个排队器来进行优先级控制 可以通过程序来修改

二、总线通信控制

1.目的

解决通信双方协调配合的问题

2.总线传输周期

申请分配阶段 主模块申请,总线仲裁决定

寻址阶段 主模块向从模块给出地址和命令

传数阶段 主模块和从模块交换数据

结束阶段 主模块撤销有关信息

3.总线通信的四种方式

同步通信 由统一时标控制数据传送

异步通信 采用应答方式,没有公共时钟标准

半同步通信 同步、异步结合

分离式通信 充分挖掘系统总线每个瞬间潜力

(1)同步式数据输入

image-20220411000143546

在T1时钟的上升沿必须给出地址信号,T2上升沿必须给出读信号,T3上升沿到达之前从设备必须给出数据的读信号,T4上升沿之前控制信号和数据信号就可以撤销了,T4结束地址信号也结束。

(2)同步式数据输出

image-20220411000933502

在T1时钟的上升沿给出地址信号,在T1的下降沿给出数据,在T2上升沿给出写命令,向从设备写入数据,T3执行写命令,在T4的上升沿主设备可以撤销数据,撤销写命令,T4时钟结束的时候,地址信号也撤销。

同步式:应用于总线长度比较短,并且各个模块存取时间比较一致

(3)异步通信

image-20220411001240358

异步通信:通过请求和回答这两个握手信号进行同步

(4)半同步通信(同步、异步结合)

同步:发送方****用系统时钟前沿发信号 接收方****用系统时钟后沿判断、识别

异步:运训不同速度的模块和谐工作 增加一条**“等待”响应信号** WAIT(低电平有效image-20220411001719286

以输入数据为例

image-20220411001925600

时序图

image-20220411002236586

**总结:**上述三种通信的共同点

一个总线传输周期(以输入数据为例):

主模块发地址、命令 占用资源

从模块准备数据 不占用总线 总线空闲(造成了总线的浪费)

从模块向主模块发数据 占用总线

(5)分离式通信

充分挖掘系统总线每个瞬间的潜力

一个总线传输周期 子周期1 主模块申请占用总线,使用完后即放弃总线的使用权

​ 子周期2 从模块申请占用总线,将各种信送至总线上

分离式通信的特点

1.各模块有权申请占用总线

2.采用同步方式通信,不等对方回答

3.各模块准备数据时,不占用总线

4.总线被占用时,无空闲

第四章 存储器

4.1概述

一、存储器分类

1.按存储介质分类

(1)半导体存储器 TTL(晶体管,集成度低,功耗高,速度快)、MOS(主要) 易失

(2)磁表面存储器 磁头、磁载体 非易失

(3)磁芯存储器(core memory) 硬磁材料、环状元件 非易失

(4)光盘存储器 激光、磁光材料 非易失

2.按存取方式分类

(1)存取时间与物理地址无关(随机访问)

随机存储器 在程序的执行过程中可读可写

只读存储器 在程序的执行过程中只读

(2)存取时间和物理地址无关(串行访问)

顺序存取存储器 磁带

直接存取存储器 磁盘

3.按在计算机中的作用分类

image-20220412002627001

二、存储器的层次结构

1.存储器三个主要特性的关系

速度 容量 价格/位

image-20220412004633540

分这么多:是为了满足用户的需求(大容量 高速度 低价格)

2.缓存-主存层次和主存-辅存层次

image-20220412010005853

应用到程序的局部性原理:包括时间的局部性和空间的局部性

image-20220412005405518

4.2主存储器

一、概述

1.主存的基本组成

image-20220416102336788

2.主存和CPU的联系

image-20220416102504029

3.主存中存储单元地址的分配

第一种:高位字节地址为字地址

image-20220416102810375

第二种:低位字节地址为字地址

image-20220416102838977

4.主存的技术指标

(1)存储容量 主存存放二进制代码的总位数

(2)存储速度 存储器的访问时间(读出时间 写入时间)

​ 存取周期 连续两次独立的存储器操作(读或写)所需的最小间隔时间

(3)存储器的带宽 位/秒

二、半导体存储芯片简介

1.半导体存储芯片的基本结构

image-20220416103748395

地址线(单向)(10) 数据线(双向)(4) 芯片容量(1K×4位)

片选线 image-20220416103947850

读/写控制线 image-20220416104109913

2.半导体存储芯片的译码驱动方式

(1)线选法

image-20220416105348257

问题:容量变大,会有很多线

(2)重合法

image-20220416130840262

增加芯片的集成度

三、随机存取存储器(RAM)

1.静态RAM(SRAM)

(1)静态RAM基本电路 通过触发器

image-20220417153653949

①静态RAM基本电路的读操作

行选信号让T5、T6打开 列选信号让T7、T8打开 读选择有效,右下的打开→T6→T8→读放→Dout

image-20220417154028029

②静态RAM基本电路的写操作 行选→T5、T6 列选→T7、T8打开 写选择有效 Din→两个写放

image-20220417154302496

(2)静态RAM芯片举例

①Intel2114外特性

②Intel2114RAM矩阵(64×64)读

image-20220422165942155

分为四组 每个列选信号控制每组中的列

image-20220422170233004

image-20220422170442020

2.动态RAM(DRAM)

(1)DRAM基本单元电路

image-20220422194500565

如果保存的0,读出是1,保存的是1,读出的是零 读出和原存信息相反 写入与输入信息相同

image-20220422195012544

读数据:有电流是1,没有电流是0 写入1充电 0放电

(2)动态RAM芯片举例

①三管动态RAM芯片(Intel 1103)(1k*1位)

通过行列选择单元,通过读写控制电路进行输出

image-20220422195249184

③单管动态RAM4116(16K×1位)外特性 只有7根地址线(减少管脚数)

image-20220422195607847

4116存储阵列结构

image-20220613094755496

读放大器是一个“跷跷板”电路,即一端强制为1,另一端则为0

4116读原理

image-20220613095544810

如果电容里面有电,则读放大器的左端为1,右端为0

读出的数据和写入的数据相反

写原理

写入的为1,则存入的数据为0

读出和写入做了两次反向操作,最后的结果正确

(4)动态RAM的刷新

刷新与行地址有关,和列地址无关

每一次刷新刷新的是一行的数据

  1. 集中刷新( 存取周期为0.5us)以128×128矩阵为例

    image-20220613100937724

    在刷新的128周期内,cpu不能进行其他操作,只能等待刷新,这一段时间称为“死区”“死时间”

  2. 分散刷新(存取周期为1us)以128×128矩阵为例

    image-20220613101204645

    存取周期为1us的原因是,将读写周期中一段时间专门用来刷新那一行的数据,所以读写周期变为了原来的两倍。只需要128us就将128行刷新完了。这是一种过度的刷新,芯片性能下降了

  3. 分散刷新和集中刷新相结合(异步刷新)

    对于128×128的存储芯片(存取周期为0.5us)

    若每隔15.6us刷新一行

    image-20220613101745976

    每行每隔2ms刷新一次,“死区”为0.5us

3.动态RAM和静态RAM的比较

image-20220613102615604

一般DRAM用作主存,SRAM用作cache

四、只读存储器(ROM)

  • 早期的只读存储器——厂家写好了内容
  • 改进1——用户可以自己写数据——一次性
  • 改进2——可以多次写——要能对信息进行擦除
  • 改进3——电可擦写——特定设备
  • 改进4——电可擦写——直接连接计算机进行擦写
1.掩模ROM(MROM)

书本P88

行列选择线交叉处有MOS管为1

行列选择线交叉处无MOS管为0

2.PROM(一次性 编程)

image-20220613103540963

熔丝断为0 熔丝未断为1

是一种破坏性的修改

3.EPROM(多次性编程)

image-20220613104039498

浮动栅的驱散使用紫外线

4.EEPROM(多次性编程)

电可擦写

局部擦写

全部擦写

5.Flash Memory(闪速型存储器)

我们日常使用的U盘就是使用的闪存

比EEPROM快,具备了RAM的一些功能

五、存储器和CPU的连接

1.存储容量的扩展

(1)位扩展(增加存储器的字长)

用两个1K×4位的存储芯片组成1K×8位的存储器

image-20220613115034294

地址线连一起,数据线一个高四位,一个低四位,片选信号用同一根,读写信号也用同一根

(2)字扩展(增加存储字的数量)

用两片1K×8位存储芯片组成2K×8位的存储器

image-20220613115633057

两个芯片不能同时工作。将A10当作片选信号,当A10等于0时选用第一片芯片,当A10等于1时,通过非门,选择第二片芯片

(3)字、位同时扩展

用8片1K×4位存储芯片组成4K×8位的存储器

image-20220613133510816

当A10,A11为00时选择第一组芯片,01选择第二组,10第三组,11第四组

2.存储器与CPU的连接

(1)地址线的连接

(2)数据线的连接

(3)读/写命令线的连接

(4)片选线的连接

(5)合理选择存储芯片(系统程序、配置信息选择ROM,用户程序区、应用程序区选用RAM)

(6)其他 时序、负载

例4.1 见书本P94

六、存储器的校验

image-20220613140824814

编码的检测能力和纠错能力和什么有关?

和任意两组和法代码之间的二进制位的最少差异的位数有关

1.编码的最小距离

任意两组合法代码之间的二进制位数的最少差异

编码的纠错、检测能力与编码的最小距离有关

image-20220613141321271

汉明码具有一位

纠错能力的编码

2.汉明码的组成
  • 汉明码采用奇偶校验

  • 汉明码采用分组校验

  • 汉明码的分组是一种非划分方式

    image-20220613141754278

    image-20220613141806603

校验位是每一组独有的,放在2的i-1次方的位置上

如何进行分组?

第一组 XXXX1

第二组 XXX1X

第三组 XX1XX

第四组 X1XXX

第五组 1XXXX

如果从右往左数,第一个和第二个位置都为1,则这个位置由第一组和第二组共有

组成汉明码的三要素

汉明码的组成需要添加多少位检测位?

image-20220613153450471

检测位的位置

image-20220613153528713

检测位的取值

image-20220613153538348

如无特殊说明使用偶校验

image-20220613154027654

3.汉明码的纠错过程

形成新的检测位Pi,其位数与增添的检测位有关

Pi的取值为

image-20220613160921025

对于按“偶校验”配置的汉明码,不出错时P1=0,P2=0,P4=0

image-20220613161555621

七、提高访存速度的措施

  • 采用高速器件
  • 采用层次结构 Cache——主存
  • 调整主存结构
1.单体多字系统

image-20220613162846013

可以增加存储器的带宽

可能造成错误修改,会造成存储器结构复杂

如果存储地址不是连续的,即四条指令中有一个跳转指令

2.多体并行系统

(1)高位交叉 顺序编址

image-20220613163349650

前两位表示存储体编号,后四位表示在存储体内的地址

将多个存储体进行独立,并且每个存储体有自己的逻辑电路来进行访存操作

适合存储器容量进行扩展

(2)低位交叉 各个体轮流编址

image-20220613164210247

分离式通讯

地位交叉的特点: 在不改变存取周期的前提下,增加存储器的带宽

image-20220613164810205

image-20220613164801575

3.高性能存储芯片

(1)SDRAM(同步DRAM)

在系统时钟的控制下进行读出和写入

CPU无须等待

(2)RDRAM

主要解决存储器带宽的问题

(3)带Cache的DRAM(CDRM)

在DRAM的芯片内集成了一个由SRAM组成的Cache,有利于进行猝发式读取

4.3高速缓冲存储器

一、概述

1.问题的提出

解决CPU空等的问题(CPU和主存的速度差异)

当前和将来要使用的放到Cache中

2.Cache的工作原理

(1)主存和缓存的编址

image-20220614104529983

(2)命中与未命中

缓存有C块

主存有M块 M>>C

命中:主存快调入缓存 主存快与缓存块建立了对应关系 用标记记录与某缓存块建立了对应关系的主存块号

未命中: 主存快未调入缓存 主存快与缓存块未建立对应关系

(3)Cache的命中率

CPU欲访问的信息在Cache中的比率

命中率与Cache的容量块长有关

块长取一个存取周期内从主存调出的信息长度

(4)Cache——主存系统的效率

image-20220614105214036

3.Cache的基本结构

image-20220614105850739

4.Cache的读写操作

image-20220614110515199

写操作一定要保证Cache和主存的一致性

  • 写直达法(Write——through)

    写操作时数据既写入Cache又写入主存

    写操作时间就是访问主存的时间,Cache块退出时,不需要对主存进行写操作,更新策略比较容易实现

  • 写回法(Write-back)

    写操作时只把数据写入Cache而不写入主存

    当Cache数据被替换出去时才写回主存

5.Cache的改进

(1)增加Cache的级数

片载(片内)Cache

片外Cache

(2)统一缓存和分立缓存

指令Cache 数据Cache

与指令执行的控制方式有关 是否执行流水技术

二、Cache-主存的地址映射

1.直接映射

image-20220614155739120

i=jmod2的c次方

每个主存块只能和一个内存块相连

结构简单,速度快,Cache的利用率可能很低,冲突概率大

2.全相联映射

image-20220614160326972

复杂,电路速度慢,参加比较的位数比较长

3.组相联映射

image-20220614163039429

电路结构比全相联简单,现在最常用

小结

直接 某一主存块只能固定映射到某一缓存块 不灵活,利用率低 速度快

全相联 某一主存块能映射到任一缓存块 成本高,速度慢,但是Cache利用率高

组相联 某一主存快只能映射到某一缓存组中的任意一块 速度快,Cache利用率比较高

三、替换算法

1.先进先出(FIFO)算法

并不能非常好的体现出程序的局部性原理

2.近期最少使用(Least Recently Used,LRU)算法

比较好的体现了程序的局部性原理

4.4辅助存储器

一、概述

1.特点

不直接与CPU交换信息

2.磁表面存储器的技术指标

image-20220614164220880

二、磁记录原理和记录方式

1.磁记录原理

image-20220614164257816

image-20220614164304475

三、硬磁盘存储器

1.硬磁盘存储器的类型

(1)固定磁头和移动磁头

(2)可换盘和固定盘

2.硬磁盘存储器结构

image-20220614164452908

(1)磁盘驱动器

image-20220614164504831

(2)磁盘控制器

  • 接收主机发来的命令,转换成磁盘驱动器的控制命令
  • 实现主机和驱动器之间的数据格式转换
  • 控制磁盘驱动器读写

磁盘控制器时主机和磁盘驱动器之间的接口

image-20220614164732234

(3)盘片

由硬质铝合金材料制成

四、软磁盘存储器

1.概述

image-20220614164935357

2.软盘片

image-20220614164952463

5.光盘存储器

1.概述

采用光存储技术 利用激光写入和读出

image-20220614165110946

2.光盘的存储原理

只读型和只写一次型 使用热作用

可擦写光盘 使用热磁效应

第五章 输入输出系统

5.1 概述

一、输入输出系统的发展状况

1.早期

分散连接

CPU和I/O设备串行工作 程序查询方式

2.接口模块和DMA阶段

总线连接

image-20220614180028388

3.具有通道结构的阶段
4.具有I/O处理机的阶段

二、输入输出系统的组成

1.I/O软件

(1)I/O指令

CPU指令的一部分

image-20220614180855209

操作码相当于一个标志,命令码相当于普通指令的操作码,设备码给出设备的编码(编制)

(2)通道指令

通道自身的指令

指出数组(成块数据)的首地址、传送字数、操作命令

2.I/O硬件

设备 I/O接口

设备 设备控制器 通道

三、I/O设备与主机的联系方式

1.I/O设备编址方式

(1)统一编址

用取数、存数指令 不需要特殊的I/O指令

(2)不统一编址

有专门的I/O指令

2.设备选址

用设备选择电路识别是否被选中

3.传送方式

(1)串行 速度慢但是适合远程传输

(2)并行 同时有多位数据传输

4.联络方式

(1)立即响应

(2)异步工作采用应答信号

image-20220614182248379

image-20220614184102874

(3)同步工作采用同步时标

5.I/O设备与主机的连接方式

(1)辐射式连接

image-20220614184243228

每台设备都配有一套控制线路和一组信号线,不利于增删设备

(2)总线连接

便于增删设备

四、I/O设备与主机信息传送的控制方式

1.程序查询方式
image-20220614184643768

CPU要等I/O。踏步等待,CPU效率低。CPU和I/O串行

2.程序中断方式

image-20220614185129591

没有踏步等待现象

中断现行程序

CPU和I/O部分的并行工作

程序中断方式流程:

image-20220614185734728

3.DMA方式

主存和I/O之间有一条数据通路

不中断现行程序

如果出现DMA和CPU同时访问主存,CPU总是将总线占有权让给DMA,通常把这种占有称为窃取或挪用,一般为一个存取周期。

image-20220614190127516

CPU和I/O并行工作

三种方式CPU工作效率的比较

image-20220614190528361

image-20220614190533742

image-20220614190538458

5.2 I/O设备(外部设备)

一、概述

image-20220614190828631

外部设备大致分为三类:

  1. 人机交互设备 键盘、鼠标、显示器
  2. 计算机信息存储设备 磁盘、光盘、磁带
  3. 机——机通信设备 调制解调器等

二、输入设备

1.键盘

image-20220614191115022

2.鼠标

image-20220614191127132

3.触摸屏

三、输出设备

1.显示器

(1)字符显示 字符发生器

(2)图形显示 主观图像(人画的)

(3)图像显示 客观图像

2.打印机

(1)击打式 点阵式(逐字、逐行)

(2)非击打式 激光、喷墨

四、其他

1.A/D、D/A

模拟/数字(数字/模拟)转换器

2.终端

由键盘和显示器组成

完成显示控制和存储、键盘管理及通信控制

3.汉字处理

汉字输入、汉字存储、汉字输出

五、多媒体技术

1.什么是多媒体
2.多媒体计算机的关键技术

5.3 I/O接口

一、概述

为什么要设置接口?

1.实现设备的选择

2.实现数据缓冲达到速度匹配

3.实现数据串——并格式转换

4.实现电平转换

5.传送控制命令

6.反映设备的状态(“忙”、“就绪”、“中断请求”)

二、接口的功能和组成

1.总线连接方式的I/O接口电路

image-20220615093902026

书本P186页

2.接口的功能和组成

image-20220615094227072

3.I/O接口的基本组成

image-20220615094411284

三、接口类型

1.按数据传送方式分类

并行接口

串行接口

2.按功能选择的灵活性分类

可编程接口

不可编程接口

3.按通用性分类

通用接口

专用接口

4.按数据传送的控制方式分类

中断接口

DMA接口

程序型接口

5.4 程序查询方式

一、程序查询流程

1.查询流程

单个设备

image-20220615095200546

多个设备

image-20220615101407748

按照优先级查询

2.程序流程

image-20220615101921098

二、程序查询方式的接口电路

image-20220615102030094

通过地址线选择设备,发出SEL信号,启动命令和SEL都有效,对D,B产生作用,D=0,B=1,启动设备,开始输入数据,设备工作结束信号修改两个标记,D=1,B=0,发出准备就绪信号。

5.5 程序中断方式

一、中断的概念

image-20220615103538860

二、I/O中断的产生

以打印机为例 CPU和打印机部分并行

image-20220615103659785

三、程序中断方式的接口电路

1.配置中断请求触发器和中断屏蔽触发器

image-20220615104023406

2.排队器

image-20220615104721861

链式排队器

image-20220615105336141

3.中断向量地址形成部件

image-20220615105641849

中断向量地址形成部件(设备编码器)

image-20220615110009972

通过向量地址寻找入口地址

image-20220615110145578

4.程序中断方式接口电路的基本组成

image-20220615110227452

四、I/O中断处理过程

1.CPU响应中断的条件和时间

(1)条件

允许中断触发器ENIT=1

用开中断指令将ENIT置“1”

用关中断指令将ENIT置“0”或硬件自动复位

(2)时间

当D=1且MASK=0时

在每条指令执行阶段的结束前,CPU发中断查询信号(将INTR置1)

2.I/O中断处理过程

image-20220615110926628

书本P198

五、中断服务程序流程

1.终端服务程序的流程

(1)保护现场

image-20220615111454933

(2)中断服务

对不同的I/O设备具有不同内容的设备服务

(3)恢复现场

出栈指令

(4)中断返回

中断返回指令

2.单重中断和多重中断

单重中断 不允许中断现行的中断服务程序

多重中断 允许级别更高的中断源中断现行的中断服务程序

3.单重中断和多重中断的服务程序流程

(1)单重中断

image-20220615112230842

(2)多重中断

image-20220615112243952

4.主程序和服务程序抢占CPU示意图

image-20220615112400011

宏观上CPU和I/O并行工作

微观上CPU中断现行程序为I/O服务

5.6 DMA方式

一、DMA方式的特点

1.DMA和程序中断两种方式的数据通路

image-20220615132311503

2.DMA与主存交换数据的三种方式

(1)停止CPU访问主存

控制简单

CPU处于不工作状态或保持状态

未充分发挥CPU对主存的利用率

image-20220615132801862

(2)周期挪用(或周期窃取)(访存周期)

DMA访问主存有三种可能

  • CPU此时不访存 直接使用

  • CPU正在访存 等待

  • CPU和DMA同时请求访存

    此时CPU将总线控制权让给DMA

image-20220615133129039

(3)DMA和CPU交替访问

image-20220615133219230

image-20220615133243737

不需要申请建立和归还总线的使用权

二、DMA接口的功能和组成

1.DMA接口功能

(1)向CPU申请DMA传送

(2)处理总线控制权的转交

(3)管理系统总线、控制数据传送

(4)确定数据传送的首地址和长度

​ 修正传送过程中数据的地址和长度

(5)DMA传送结束时,给出操作完成信号

2.DMA接口组成

image-20220615134921038

三、DMA的工作过程

1.DMA传送过程

预处理 、数据传送、后处理

(1)预处理

​ 通过几条输入输出指令预置以下信息

  • 通知DMA控制逻辑传送方向
  • 设备地址→DMA的DAR
  • 主存地址→DMA的AR
  • 传送字数→DMA的WC

(2)DMA传送过程示意

image-20220615135632367

(3)数据传送过程(输入)

书本P205

image-20220615135925870

(4)数据传送过程(输出)

image-20220615140203891

(5)后处理

校验送入主存的数据是否正确

是否继续用DMA

测试传送过程是否正确,错则转诊断程序

由中断服务程序完成

2.DMA接口和系统的链接方式

(1)具有公共请求线的DMA请求

image-20220615140743536

(2)独立的DMA请求

image-20220615140811970

3.DMA方式和程序中断方式的比较

​ 中断方式 DMA方式

(1)数据传送 程序 硬件

(2)响应时间 指令执行结束 存取周期结束

(3)处理异常情况 能 不能

(4)中断请求 传送数据 后处理

(5)优先级 低 高

四、DMA接口的类型

1.选择型

在物理上连接多个设备

在逻辑上只允许连接一个设备

image-20220615141325830

适用于数据传输率很高的设备

2.多路型

在物理上连接多个设备

在逻辑上允许连接多个设备同时工作

但还是只能有一个设备占用总线

image-20220615141534654

3.多路型DMA接口的工作原理

image-20220615141832591

第六章 计算机的运算方法

主要内容

(1)计算机中数的表示

(2)计算机的运算方法

(3)运算器的设计

image-20220616151358585

6.1 无符号数和有符号数

一、无符号数

没有正负号的数

寄存器的位数反映无符号数的表示范围

二、有符号数

1.机器数和真值

真值 机器数

带符号的数 符号数字化的数

+0.1011 0 1011

-0.1011 1 1011

+1100 0 1100

-1100 1 1100

2.原码表示法

(1)定义

image-20220616152153922

带符号的绝对值表示

小数

image-20220616152502635

(2)举例image-20220616153634269

原码的特点:简单、直接

image-20220616155711723

又有加法又有减法,不方便

3.补码表示法

(1)补的概念

image-20220616160000064

一个负数加上模即得该负数的补数

一个整数和一个负数互为补数时,它们绝对值之和即为模数

(2)正数的补数是其本身

(3)补码定义

image-20220616161203582

image-20220616161441569

(4)求补码的快捷方式

除符号位外,各位取反,末位加一(负数)

(5)举例

image-20220616162121270

-1.0000=1.0000(补码)

4.反码表示法

(1)定义

image-20220616162955189

image-20220616163132151

(2)举例

image-20220616163429432

三种机器数的小结

image-20220616163541289

5.移码表示法

补码表示很难直接判断其真值大小

(1)移码定义

image-20220616164742563

image-20220616164838253

只有整数的定义,没有小数形式,表示浮点数的阶码

(2)移码和补码的比较

两者符号位不同,数值位完全相同

补码和移码只差一个符号位

(3)针织、补码、移码的对照表

image-20220616165124678

(4)移码的特点

image-20220616165248749

6.2 数的定点表示和浮点表示

一、定点表示

image-20220616165432586

image-20220616165739968

二、浮点表示

image-20220616194723468

S尾数 j阶码 r尾数的基值

尾数最高位为1的数为规格化数

1.浮点数的表示形式

image-20220616195048311

image-20220616195107000

2.浮点数的表示范围

image-20220616195504094

3.浮点数的规格化形式

r=2 尾数最高位为1

r=4 尾数的最高2位不全为0

r=8 尾数的最高3位不全为0

基数不同,浮点数的规格化形式不同

4.浮点数的规格化

r=2 左规 尾数左移一位,阶码减1

​ 右规 尾数右移一位,阶码加1

r=4 2位

​ 2位

基数r越大,可表示的浮点数的范围越大

基数r越大,浮点数的精度越低

三、举例

P231 例6.3

P232 例6.4

机器零

  • 当浮点数尾数为0时,不管其阶码为何值都按机器零处理
  • 当浮点数 阶码等于或小于它所表示的最小数时,不论尾数为何值,按机器零处理

四、IEEE754标准

可以把最高位的“1”隐掉

6.3 定点运算

一、移位运算

1.移位的意义

相对于小数点进行左移或者右移(小数点不动)

2.算术移位的规则

符号位不变

image-20220616204520119

P235 例6.7

3.算术移位的硬件实现

image-20220616211005514

4.算术移位和逻辑移位的区别

算术移位 有符号位的移位

逻辑移位 无符号数的移位

image-20220616211249526

二、加减法运算

1.补码加减运算公式

(1)加法

image-20220616211510141

image-20220616211522195

(2)减法

image-20220616211604511

image-20220616211612011

符号位产生进位就丢掉

2.溢出判断

(1)一位符号位判溢出

参加操作的两个数(减法时即为被减数和求补之后的减数)符号相同,其结果的符号与原操作数的符号不同,即为溢出。

硬件实现

image-20220616213055120

(2)两位符号位判溢出

image-20220616213206543

双符号位相同 未溢出

不同 溢出

最高的符号位代表其真正的符号位

3.补码加减法的硬件配置

image-20220616213828007

三、乘法运算

1.分析笔算乘法

手算二进制乘法

符号由心算求得

2.笔算乘法改进

image-20220619145453342

3.改进后的笔算乘法过程(竖式)

image-20220619150625647

乘法运算可以用加和移位实现

被乘数只与部分积的高位相加

3.原码乘法

(1)原码一位乘运算规则

image-20220619151830587

(2)原码一位乘递推公式

image-20220619151944781

通过n次加法,c次移位,完成乘法运算

特点:绝对值运算 用移位的次数判断乘法是否结束 逻辑移位

(3)原码一位乘的硬件配置

image-20220619152605258

受乘数最低位控制

四、除法运算

1.分析笔算除法

image-20220619162724684

商符单独处理 心算上商 余数不动低位补“0” 减右移一位的除数 上商位置不固定

2.笔算除法和机器除法的比较

image-20220619163402262

3.原码除法

image-20220619163545734

被除数、除数都不能为0

(1)恢复余数法

当余数为负时,需加上除数,将其恢复成原来的余数

(2)不恢复余数法(加减交替法)

image-20220619203418142

负数上商零,正数上商一

上商n+1次 第一次上商判断溢出 移n次,加n+1次

用移位的次数判断除法是否结束

(3)原码加减交替除法硬件配置

image-20220619203812495

6.4 浮点四则运算

一、浮点加减运算

1.对阶

(1)求阶差

image-20220620090139406

2.尾数求和
3.规格化

(1)规格化数定义

image-20220620090539490

(2)规格化数的判断

image-20220620090553017

补码 符号位和第一数位不同

(3)左规

尾数左移一位,阶码减一,直到数符与第一数位不同为止

(4)右规

当尾数溢出(>1)时,需右规

image-20220620091001513

尾数右移一位,阶码加一

4.舍入

在对阶和右规过程中,可能出现尾数末位丢失,引起误差,需考虑舍入

(1)0舍1入

(2)恒置“1”法

5.溢出判断

阶码大于+127,发生上溢,需要中断运算,做溢出处理

阶码小于-128,发生下溢,不中断运算,仅当机器零处理

6.5 算术逻辑单元

一、ALU电路

image-20220620094954889

Ai Bi表示输入的两个数据

image-20220620095145236

二、快速进位链

1.并行加法器

image-20220620095408416

image-20220620095358504

2.串行进位链

进位链 传送进位的电路

串行进位链 进位串行传送

image-20220620095906862

设与非门的级延迟时间为ty 4位全加器产生进位的全部时间为8ty

3. 并行进位链

image-20220620100126654

(1)单重分组跳跃进位链

n位全加器分为若干小组,小组中的进位串行产生,组和组之间使用串行进位

image-20220620100336001

(2)双重分组跳跃进位链

n位全加器分若干大组,大组中包含若干小组。每个大足中小组最高进位同时产生。大组和大组中使用串行

(3)双重分组跳跃进位链 大组进位分析

image-20220620100713380

image-20220620100905717

第七章 指令系统

7.1 机器指令

一、指令的一般格式

image-20220620101921770

1.操作码

反映机器做什么操作

(1)长度固定

用于指令字长较长的情况,RISC

(2)长度可变

操作码分散在指令字的不同字段中

(3)扩展操作码技术

操作码的位数随地址数的减少而增加

4个1作为扩展标志

image-20220620102338324

三地址每减少一种最多可多构成2的四次方二地址指令

2.地址码

(1)四地址

image-20220620102928738

4次访存 寻址范围2的六次方64

(2)三地址

用pc代替a4

image-20220620103254726

(3)二地址

用a1或a2代替a3

image-20220620103358267

若结果存于ACC 只需要三次访存

(4)一地址

用acc代替a1(或a2)

image-20220620103523650

(5)零地址

堆栈类指令、空操作、停机等

二、指令字长

image-20220620103914814

1.指令字长固定

指令字长=存储字长

2.指令字长可变

按字节的倍数变化

三、小结

用一些硬件资源代替指令字中的地址码字段后

  • 可扩大指令的寻址范围
  • 可缩短指令字长
  • 可减少访存次数

当指令的地址字段为寄存器时

image-20220620104224010

  • 可缩短指令字长
  • 执行指令阶段可不访存

7.2 操作数类型和操作种类

一、操作数类型

地址 无符号整数

数字 定点数、浮点数、十进制数

字符 ASCII

逻辑数 逻辑运算

二、数据在存储器中的存放方式

image-20220620104433531

image-20220620104639541

image-20220620104737054

image-20220620104937135

三、操作类型

1.数据传送

image-20220620105104898

2.算术逻辑操作

image-20220620105122851

3.移位操作

算术移位 逻辑移位 循环移位(带进位和不带进位)

4.转移

(1)无条件转移 JMP

(2)条件转移

image-20220620105213922

(3)调用和返回

子程序调用执行完后返回到源程序的断点

(4)陷阱(Trap)与陷阱指令

意外事故的中断

不提供给用户使用

在出现事故时,由CPU自动产生并执行(隐指令)

5.输入输出

输入 端口中的内容→CPU的寄存器

输出 CPU的寄存器→端口中的内容

7.3 寻址方式

image-20220620105818007

一、指令寻址

顺序寻址

PC+1→PC

跳跃寻址 由转移指令指出

image-20220620115427939

二、数据寻址

image-20220620115543154

有效地址 操作数的真实地址

1.立即寻址

形式地址A就是操作数

image-20220620115735318

立即数 可正可负 补码

指令执行阶段不访存

2.直接寻址

EA=A 有效地址由形式地址直接给出

image-20220620115920559

  • 执行阶段需要访问一次存储器
  • A的位数决定了该指令操作数的寻址范围
  • 操作数的地址不易修改(必须修改A)
3.隐含寻址

操作数地址隐含在操作码中

image-20220620120121907

指令字中少了一个地址字段,可缩短指令字长

4.间接寻址

EA=(A) 有效地址由形式地址间接提供

一次间接寻址

image-20220620120422438

  • 执行指令阶段两次访存
  • 可扩大寻址范围
  • 便于编制程序

多次间接寻址

image-20220620120644447

需要多次访存

5.寄存器寻址

EA=Ri  有效地址即为寄存器编号

image-20220620120912373

  • 执行阶段不访存,只访问寄存器,执行速度快
  • 寄存器个数有限,可缩短指令字长
6.寄存器间接寻址

EA=(Ri) 有效地址在寄存器中

image-20220620121032001

  • 有效地址在寄存器中,操作数在存储器中,执行阶段需要访存
  • 便于编制循环程序
7.基址寻址

(1)采用专用寄存器作基址寄存器

EA=(BR)+A BR为基址寄存器

image-20220620121319362

  • 可扩大寻址范围
  • 有利于多道程序
  • BR内容由操作系统或管理程序确定
  • 在程序的执行过程中BR内容不变,形式地址可变

(2)采用通用寄存器作基址寄存器

image-20220620121648724

  • 由用户指定哪个通用寄存器作为基址寄存器
  • 基址寄存器的内容由操作系统确定
  • 在程序执行的过程中R0内容不变,形式地址A可变
8.变址寻址

EA=(IX)+A

IX为变址寄存器(专用)

通用寄存器也可以作为变址寄存器

image-20220620121943891

  • 可扩大寻址范围
  • IX的内容由用户给定
  • 在程序的执行过程中IX内容可变,形式地址A不变
  • 便于处理数组问题
9.相对寻址

EA=(PC)+A

A是相对于当前指令的位移量(可正可负,补码)

  • A的位数决定操作数的寻址范围
  • 程序浮动
  • 广泛用于转移指令
10.堆栈寻址

(1)堆栈的特点

image-20220620123122685

先进后出   栈顶位置由SP指出

进栈  (SP)-1

出栈 (SP)+1

7.4 指令格式举例

一、设计指令格式时应考虑的各种因素

1.指令系统的兼容性
2.其他因素

操作类型 包括指令个数及操作的难易程度

数据类型 确定哪些数据类型可参与操作

指令格式 指令字长是否固定

​ 操作码位数、是否采用扩展操作码技术

​ 地址码位数、地址个数、寻址方式类型

寻址方式 指令寻址、操作数寻址

寄存器个数 寄存器的多少直接影响指令的执行时长

二、指令格式举例

1.IBM 360

image-20220620125050926

2.Itel 8086

image-20220620125251422

7.5 RISC技术

一、RISC的产生和发展

image-20220620125348455

二八规律

典型程序中80%的语句仅仅使用处理机中20%的指令

执行频度高的简单指令,因复杂指令的存在,执行速度无法提高

二、RISC 的主要特征

  • 选用使用频度较高的一些简单指令,复杂指令的功能由简单指令来组合
  • 指令长度固定、指令格式种类少、寻址方式少
  • 只有LOAD/STORE指令访存
  • CPU中有多个通用寄存器
  • 采用流水技术 一个时钟周期内完成一条指令
  • 采用组合逻辑实现控制器

三、CISC的主要特征

  • 系统指令复杂庞大,各种指令使用频度相差大
  • 指令长度不固定、指令格式种类多、寻址方式多
  • 访存指令不受限制
  • CPU中设有专用寄存器
  • 大多数指令需要多个时钟周期执行完毕
  • 采用微程序控制器

四、RISC和CISC的比较

  1. RISC更能充分利用VLSI芯片的面基

  2. RISC更能提高计算机运算速度

    指令数、指令格式、寻址方式少

    采用寄存器多,采用组合逻辑,便于实现指令流水

  3. RISC便于设计,可降低成本,提高可靠性

  4. RISC有效支持高级语言程序

  5. RISC不易实现指令系统兼容

第八章 CPU的结构和功能

8.1CPU的结构

一、CPU的功能

1.控制器的功能

取指令 分析指令 执行指令,发出各种操作命令 控制程序输入及结果的输出 总线管理 处理异常情况和特殊请求

2.运算器的功能

实现算术运算和逻辑运算

二、CPU结构框图

1.CPU与系统总线

image-20220620132851204

  • 指令控制 PC IR
  • 操作控制 时序电路 CU
  • 时间控制 时序电路 CU
  • 数据加工 ALU寄存器
  • 处理中断 中断系统

三、CPU的寄存器

1.用户可见寄存器

(1)通用寄存器 存放操作数 可作某种寻址方式所需的专用寄存器

(2)数据寄存器 存放操作数(满足各种数据类型) 两个寄存器拼接存放双倍字长数据

(3)地址寄存器 存放地址,其位数应满足最大的地址范围,用于特殊的寻址方式 段基值 栈指针

(4)条件码寄存器 存放条件码,可做程序分支的依据

2.控制和状态寄存器

PC→MAR→M→MDR→IR

控制CPU操作

其中MAR、MDR、IR 用户不可见

PC 用户可见

(2)状态寄存器

状态寄存器 存放条件码

PSW寄存器 存放程序状态字

四、控制单元CU和中断系统

1.CU

产生全部指令的微操作命令序列

组合逻辑设计 硬连线逻辑

微程序设计 存储逻辑

2.中断系统

五、ALU

8.2指令周期

一、指令周期的基本概念

1.指令周期

取出并执行一条指令所需的全部时间

image-20220620133813333

image-20220620133841213

2.每条指令的指令周期不同

image-20220620133943762

没有执行周期,空指令

image-20220620134002294

取指周期和执行周期时间相同

image-20220620134028273

执行周期比取指周期长

image-20220620134055033

3.具有间接寻址的指令周期

image-20220620134133439

4.带有中断周期的指令周期

image-20220620134206921

5.指令周期流程

image-20220620134328565

6.CPU工作周期的标志

CPU访存有四种性质

image-20220620134517682

二、指令周期的数据流

1.取指周期数据流

image-20220620134820841

2.间址周期数据流

image-20220620135005714

3.执行周期数据流

不同指令的执行周期数据流不同

4.中断周期数据流

image-20220620135249061

第九章 控制单元的功能

9.1 微操作命令分析

完成一条指令分为四个工作周期

取指周期 间址周期 执行周期 中断周期

一、取指周期

image-20220620140430573

二、间址周期

image-20220620140540182

三、执行周期

1.非访存指令

(1)CLA 清除ACC指令内容 0→ACC

(2)COM 取反 image-20220620140718892

(3)SHR 算术右移image-20220620140745171

(4)CSL 循环左移 image-20220620140814794

(5)STP 停机指令 0→G

2.访存指令

(1)加法指令 ADD X

image-20220620140947224

(2)存数指令 STA X

image-20220620141040726

(3)取数指令 LDA X

image-20220620141134125

3.转移指令

(1)无条件转 JMP X

Ad(IR)→PC

(2)条件转移 BAN X(负则转)

image-20220620141340986

4.三类指令的指令周期

image-20220620141449192

四、中断周期

程序断点存入“0”地址

image-20220620141653578

程序断点进栈

image-20220620141746078

9.2 控制单元的功能

一、控制单元的外特性

image-20220620141928623

1.输入信号

(1)时钟

CU 受时钟控制

一个时钟脉冲发一个操作命令或一组需同时执行的操作命令

(2)指令寄存器 OP(IR)→CU

控制信号与操作码有关

(3)标志

CU 受标志控制

(4)外来信号

中断请求、总线请求等

2.输出信号

(1)CPU内的各种控制信号

image-20220620142331899

(2)送至控制总线的信号

image-20220620142404311

二、控制信号举例

1.不采用CPU内部总线的方式

P380

2.采用CPU内部总线方式

P381

三、多级时序系统

1.机器周期

(1)机器周期的概念

所有指令执行过程中的一个基准时间

(2)确定机器周期所需考虑的因素

每条指令的执行步骤

每一步骤所需的时间

(3)基准时间的确定

  • 以完成最复杂指令功能的时间为准
  • 以访问一次存储器的时间为准

若指令字长=存储字长 取指周期=机器周期

2.时钟周期(节拍、状态)

一个机器周期内可完成若干个微操作

每个微操作需一定的时间

将一个机器周期分成若个时间相等的时间段(节拍、状态、时钟周期)

时钟周期时控制计算机操作的最小单位时间

用时钟周期产生一个或几个微操作命令

3.多级时序系统

机器周期、节拍(状态)组成多级时序系统

一个指令周期包含若干个机器周期

一个机器周期包含若干个时钟周期

image-20220620145636539

4.机器速度与机器主频的关系

机器的主频越快机器的速度也越快

在机器周期所含时钟周期数相同的前提下,两机的平均指令执行速度之比等于两级主频之比

image-20220620145756279

四、控制方式

产生不同微操作命令序列所用的时序控制方式

1.同步控制方式

任一微操作均由统一基准时标的时序信号控制

(1)采用定长的机器周期

以最长的微操作序列和最复杂的微操作作为标准

机器周期内节拍数相同

image-20220620150308672

(2)采用不定长的机器周期

机器周期内的节拍数可以不等

image-20220620150555983

(3)采用中央控制和局部控制相结合的方法

image-20220620150703441

2.异步控制方式

无基准时标信号

无固定的周期节拍和严格的时钟同步

采用应答方式

3.联合控制方式(准同步定时)

同步和异步相结合

4.人工控制方式

Reset

连续和单挑指令执行转换开关

符合停机开关

第十章 控制单元的设计

10.1 组合逻辑设计

一、组合逻辑控制单元框图

1.CU 外特性

image-20220620151135132

2.节拍信号

image-20220620151221065

二、微操作的节拍安排

采用同步控制方式

一个机器周期内有三个节拍(时钟周期)

CPU内部就够采用非总线方式

1.安排微操作时序的原则

原则一 微操作的先后顺序不得随意更改

原则二 被控对象不同的微操作,尽量安排在一个节拍内(可以并行执行的)

原则三 占用时间较短的微操作,尽量安排在一个节拍内完成,并允许有先后顺序

2.取指周期微操作的节拍安排

image-20220620151809572

3.间址周期微操作的节拍安排

image-20220620151907550

4.执行周期微操作的节拍安排

image-20220620152523994

image-20220620152859351

image-20220620153411178

5.中断周期微操作的节拍安排

image-20220620153848502

三、组合逻辑设计步骤

10.2 微程序设计

一、微程序设计思想的产生

image-20220620155532540

二、微程序控制单元框图及工作原理

1.机器指令对应的微程序

image-20220620155929654

2.微程序控制单元的基本框图

image-20220620160933453

3.工作原理

(1)取指阶段 执行取指微程序

image-20220620161613939

(2)执行阶段 执行LDA微程序

image-20220620162341581

(3)取指阶段 执行取指微程序

image-20220620162518284

三、微指令的编码方式(控制方式)

1.直接编码(直接控制)方式

在微指令的控制字段中,每一位代表一个微操作命令

image-20220620162719943

某位为“1”表示该控制信号有效

2.字段直接编码方式

将微指令的控制字段分成若干“段”,每段经译码后发出控制信号

image-20220620162915130

3位2进制可以表示七个互斥的微命令

缩短了微指令字长,增加了译码时间

3.字段间接编码方式

image-20220620163043533

4.混合编码

直接编码和字段编码(直接和间接)混合使用

5.其他

四、为地址序列地址的形成

1.微指令的下地址字段指出

这种方式又称为断定方式

2.根据机器指令的操作码形成
3.增量计数器
4.分支转移

image-20220620163331241

转移方式 指明判别条件

转移地址 指明转移成功后的去向

5.通过测试网络

image-20220620163426811

6.由硬件产生微程序的入口地址

第一条微指令地址 由专门硬件产生

中断周期 由硬件产生中断周期微程序首地址

7.后续微指令地址形成方式原理图

image-20220620163827373

P410

五、微指令格式

1.水平型微指令

一次能定义并执行多个并行操作

image-20220620163936456

2.垂直型微指令

类似机器指令操作码的方式

由微操作码字段规定微指令的功能

3.两种为指令格式的比较

image-20220620164255675

六、静态微程序设计和动态微程序设计

七、毫微程序设计

1.毫微程序设计的基本概念

image-20220620164845689

2.毫微程序控制存储器的基本组成

image-20220620165025778

八、串行微程序控制和并行微程序控制

image-20220620165051079

image-20220620165102605

九、微程序设计指令

1.写出对应机器指令的微操作和节拍安排

假设CPU结构和组合逻辑相同

image-20220620165223200

image-20220620165444010

image-20220620165534631

image-20220620165558842

image-20220620165715042

image-20220620165747293

image-20220620165815403

2.确定微指令格式

(1)微指令的编码方式

采用直接控制

(2)后续微指令的地址形成方式

由机器指令的操作码通过为地址形成不简形成

由微指令的下地址字段直接给出

(3)微指令字长

由20个微操作

确定微操作控制字段 最少20位

由38条微指令

确定微指令的下地址字段为6位

微指令字长可取20+6=26位

(4)微指令字长的确定

image-20220620170319074

下地址字段最少5位 操作控制字段最少18位

(5)省去了CMAR的控制存储器

image-20220620170417270

考虑留有一定的余量

取操作控制字段 8位→24位

下地址字段 5位→6位

(6)定义微指令操作控制字段每一位的微操作

3.编写微指令码点

image-20220620171448042
一 微操作的先后顺序不得随意更改

原则二 被控对象不同的微操作,尽量安排在一个节拍内(可以并行执行的)

原则三 占用时间较短的微操作,尽量安排在一个节拍内完成,并允许有先后顺序

2.取指周期微操作的节拍安排

[外链图片转存中…(img-qTGICv0f-1670037385381)]

3.间址周期微操作的节拍安排

[外链图片转存中…(img-0ruArOlE-1670037385381)]

4.执行周期微操作的节拍安排

[外链图片转存中…(img-MSKjbInn-1670037385381)]

[外链图片转存中…(img-gpaQYWm7-1670037385382)]

[外链图片转存中…(img-IouPDC6b-1670037385383)]

5.中断周期微操作的节拍安排

[外链图片转存中…(img-HmAvE7zR-1670037385383)]

三、组合逻辑设计步骤

10.2 微程序设计

一、微程序设计思想的产生

[外链图片转存中…(img-zKEI8e2t-1670037385383)]

二、微程序控制单元框图及工作原理

1.机器指令对应的微程序

[外链图片转存中…(img-w4iDPrFv-1670037385383)]

2.微程序控制单元的基本框图

[外链图片转存中…(img-GsXlU9Yv-1670037385383)]

3.工作原理

(1)取指阶段 执行取指微程序

[外链图片转存中…(img-IXC5ZxxN-1670037385384)]

(2)执行阶段 执行LDA微程序

[外链图片转存中…(img-t5K0F1lF-1670037385384)]

(3)取指阶段 执行取指微程序

[外链图片转存中…(img-1yxMo61q-1670037385384)]

三、微指令的编码方式(控制方式)

1.直接编码(直接控制)方式

在微指令的控制字段中,每一位代表一个微操作命令

[外链图片转存中…(img-tGSGnpgH-1670037385384)]

某位为“1”表示该控制信号有效

2.字段直接编码方式

将微指令的控制字段分成若干“段”,每段经译码后发出控制信号

[外链图片转存中…(img-aRBaImII-1670037385384)]

3位2进制可以表示七个互斥的微命令

缩短了微指令字长,增加了译码时间

3.字段间接编码方式

[外链图片转存中…(img-HoJmWcQJ-1670037385384)]

4.混合编码

直接编码和字段编码(直接和间接)混合使用

5.其他

四、为地址序列地址的形成

1.微指令的下地址字段指出

这种方式又称为断定方式

2.根据机器指令的操作码形成
3.增量计数器
4.分支转移

[外链图片转存中…(img-mpnt92i3-1670037385384)]

转移方式 指明判别条件

转移地址 指明转移成功后的去向

5.通过测试网络

[外链图片转存中…(img-m9kD6XZz-1670037385385)]

6.由硬件产生微程序的入口地址

第一条微指令地址 由专门硬件产生

中断周期 由硬件产生中断周期微程序首地址

7.后续微指令地址形成方式原理图

[外链图片转存中…(img-pfdFnSDy-1670037385385)]

P410

五、微指令格式

1.水平型微指令

一次能定义并执行多个并行操作

[外链图片转存中…(img-yRplwSDy-1670037385385)]

2.垂直型微指令

类似机器指令操作码的方式

由微操作码字段规定微指令的功能

3.两种为指令格式的比较

[外链图片转存中…(img-fTEQ3nNS-1670037385385)]

六、静态微程序设计和动态微程序设计

七、毫微程序设计

1.毫微程序设计的基本概念

[外链图片转存中…(img-utKcKfnP-1670037385386)]

2.毫微程序控制存储器的基本组成

[外链图片转存中…(img-QrKrozXl-1670037385386)]

八、串行微程序控制和并行微程序控制

[外链图片转存中…(img-q5Ezrheq-1670037385386)]

[外链图片转存中…(img-8rOaFxZz-1670037385386)]

九、微程序设计指令

1.写出对应机器指令的微操作和节拍安排

假设CPU结构和组合逻辑相同

[外链图片转存中…(img-Gf9G2tFF-1670037385387)]

[外链图片转存中…(img-kJCaigf5-1670037385387)]

[外链图片转存中…(img-uYyJIatf-1670037385387)]

[外链图片转存中…(img-e6hWMNg2-1670037385387)]

[外链图片转存中…(img-EZd9WMhT-1670037385388)]

[外链图片转存中…(img-aqoouvQH-1670037385388)]

[外链图片转存中…(img-R7Ah7Q1f-1670037385388)]

2.确定微指令格式

(1)微指令的编码方式

采用直接控制

(2)后续微指令的地址形成方式

由机器指令的操作码通过为地址形成不简形成

由微指令的下地址字段直接给出

(3)微指令字长

由20个微操作

确定微操作控制字段 最少20位

由38条微指令

确定微指令的下地址字段为6位

微指令字长可取20+6=26位

(4)微指令字长的确定

[外链图片转存中…(img-Ym5Dsg4c-1670037385388)]

下地址字段最少5位 操作控制字段最少18位

(5)省去了CMAR的控制存储器

[外链图片转存中…(img-CwTlu23g-1670037385388)]

考虑留有一定的余量

取操作控制字段 8位→24位

下地址字段 5位→6位

(6)定义微指令操作控制字段每一位的微操作

3.编写微指令码点

[外链图片转存中…(img-120gUIdq-1670037385389)]

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值