2022-2023 计组复习笔记

计组复习

考纲

最后一节课提到的“考纲”(对于细节肯定不完全覆盖):

注意各知识点可能存在的画图描述;记得看实验

概论:

1、冯诺依曼计算机的特点
2、计算机硬件的主要技术指标
(第2章no)

(第三章系统总线no)

第四章 存储器

**1、存储器的扩展
**2、cache和主存地址的映射
3、存储器的分类(不同分类标准:存储方式 存储介质 在计算机中的地位和作用)
4、存储器的层次结构(缓存主存;主存辅存;为什么要设置;有什么好处;计算机如何管理)

主存储器:
(了解:主存的基本组成、技术指标)
主存存储单元地址的分配(小端法 大端法在题目中可能会使用)
半导体存储芯片的介绍:译码方式:线选法、重合法(存储器扩展部分有涉及)

随机存取存储器:
静态和动态RAM(特点、工作机理、应用场合)
静态RAM存储单元电路工作原理(了解)
动态RAM~(画图、说明、如何完成读写操作)?
(读写周期时序不做要求 了解)
动态RAM为何要刷新以及刷新的方式、特点

4.2.4只读存储器(了解)
4.2.5存储器和CPU的链接(存储器的扩展 如何扩展 连线 译码)
4.2.6存储器的校验 汉明码(不做要求)
4.2.7提高访存速度的措施(细节no 一个计算机系统如何提高访存速度和性能 大致要了解:高速原件 存储结构 并行存储器etc)

4.3高速缓冲存储器(cache的读写操作、替换策略;基本概念:命中率 系统效率;cache的基本结构:存储体、地址映射变换机构、替换机构)
4.3.2 cache和主存的地址映射(直接映射、全相联、组相联;主存地址如何分,几段,几位;cache地址几段几位etc)替换策略

4.4辅助存储器(不做要求)

第五章

**5.5 5.6程序中断和DMA

5.1 概述(输入输出系统的发展概况 阶段 特征)输入输出系统的组成(软硬件)
IO设备和主机的连接方式(信息连接 总线连接)IO设备和主机信息传送的控制方式(程序查询 中断 DMA方式;特点 应用场合)

5.2IO设备(了解)

5.3IO接口(为什么要设置接口(作用);接口的功能和组成、设备选择电路;接口类型)

5.4程序查询方式(特点 流程;程序查询方式、包括后面的中断和DMA的接口电路(看懂不要求画))

5.5程序中断方式(8.4重合)(概念;过程5阶段:中断请求、判优(链式排队器、优先级)、*响应(时刻、入口地址、硬件向量法和软件查询法)(中断周期内的微操作流程)、*服务(保存现场、多重中断、中断屏蔽技术、屏蔽字)、返回;)

5.6DMA方式(与中断方式数据通路上的差异;DMA访存方法:CPU停止法、周期挪用法、交替访存法;特点;接口的功能和组成(背书 但是一般不);DMA工作过程三阶段:预处理(CPU执行初始化程序实现etc);数据传送阶段;后处理阶段(什么组件完成;完成了什么))

DMA与中断方式的比较;DMAn能否替代中断

第六章 计算机的运算方法

机器码:原码补码反码移码

定点数和浮点数(取值范围;最小大正负数+尾数 阶码的类型)计算(相应知识点)

运算:定点数(二进制补码加减运算;溢出判别;如何实现的硬件框图(与实验相关 不超纲);乘除运算(定点原码一位乘除;竖式;其他no))

浮点数(加减;规格化;舍入处理;判断溢出etc)

6.5运算器组织(算术逻辑单元)ALU的框图(快速进位链、超前进位etc不做要求)

第七章 指令系统

指令基本结构:操作码+地址码
操作码的扩展技术

7.2 操作数类型(了解)

*7.3 寻址方式(数据寻址;立即、存储间接、 直接、存储器间接、隐含、寄存器、寄存器间接、基址、变址、相对etc;某条指令的微操作流程;画图展示某一种寻址方式的有效地址如何获得)

其余了解

第八章

CPU的功能、结构、组成部分

指令周期的概念(机器周期、周期里的数据流(结合具体数据通路图和指令写出取值到执行是重合的)、指令流水(不做要求))

8.4 与第五章补充:中断屏蔽技术的应用(置屏蔽字改变处理优先级;**CPU执行现行程序与中断服务程序的轨迹)

第九章 控制单元

**数据通路图和指令写出指令执行流程(微操作流程)、控制信号、节拍

要求看懂数据通路、知道特定寻址方式的过程

时序(机器周期、节拍、时序、指令的关系;为什么要分)

控制方式(同步异步 了解)

第十章

节拍安排与第九章有关

组合逻辑控制器的设计(列出微操作时间表、找出微命令的逻辑表达式化简并集成)(可能跟下面的写混了)

微程序控制器的基本工作原理、微指令的格式:操作控制字段编码方法;下地址字段涉及后继微地址的形成;微操作微指令微命令微程序微周期控存的概念;组合逻辑控制器和微程序控制器的优缺点;微指令的类型(水平和垂直型)和比较(了解))

逻辑代数 组合逻辑电路和时序逻辑电路

**卡诺图的化简 得到最简化表达式再画电路图

第一章 概论

1、冯诺依曼计算机特点:

1.计算机有运算器、控制器、存储器、输入设备和输出设备五大部件组成
2.指令和数据以同等地位放在存储器中,可按地址寻找
3.指令和数据均用二进制表示
4.指令由操作码和地址码组成。操作码表示指令性质,地址码指出操作数在存储器中位置
5.指令在存储器中按顺序存放,特定条件下可改变执行顺序
6.计算机以运算器为中心,输入输出设备和存储器的数据传送都通过运算器完成

(现代计算机以存储器为中心。 cpu(中央处理器):由存储器和控制器组成,ALU和CU是核心部件。输入输出设备统称为io设备。现代计算机由三大部分组成:cpu,io设备,主存储器。Cpu和主存储器称为主机,io设备称为外部设备)

2、计算机硬件的主要技术指标:

机器字⻓:Cpu一次能处理数据的位数。与cpu 的寄存器位数有关。
机器字长影响运算速度。影响加法器、数据总线、存储字长的位数。

存储容量:主存中存放二进制代码的总位数
存储容量=存储单元个数*存储字长 【1M=220,1K=210
存储容量也常用字节数表示

运算速度:Mips:million instruction per second 百万条指令每秒
Cpi:cycle per instruction 执行一条指令需要的时钟周期;时钟周期是(时钟信号的频率)机器主频的倒数。
1/主频=一个时钟周期的时长
Flops:浮点运算次数每秒

第四章 存储器

存储器的分类 (图4.1)

1.按存储介质分类:

存储介质:能寄存0,1两种代码并区别两种状态的物质
存储介质主要有:半导体,磁性材料,光盘

(1)半导体存储器:优点:体积小,功耗低,存取时间短;缺点:易失性存储器,信息掉电即失
(2)磁表面存储器:非掉电易失,常用作外存如硬盘。磁带、磁盘、磁鼓
(3)磁芯存储器:非掉电易失,永久性存储器
(4)光盘存储器:非掉电易失,读写速度慢。记录密度高,耐用性好,可靠性高

2.按存取方式分类

随机存储器、只读存储器、顺序存取存储器、直接存取存储器
随机访问:存取的时间与物理地址无关,ram与rom都是随机访问的方式

(1)随机存储器(random access memory,RAM)可读/写,任何一个存储单元的内容都可以随机存取,存取时间与存储单元的物理位置无关。
随机存储器还可分为静态ram(sram,以触发器原理寄存信息);动态ram(dram,以电容充放电原理寄存信息)

(2)只读存储器(read only memory,ROM)只能将存储器的内容读出,不能重新写入。用来存放固定不变的程序、常数、汉字字库,操作系统的固化
随机存储器与只读存储器一起构成主存

(3)串行访问存储器:按物理位置的先后顺序寻找地址。
顺序存取存储器——磁带
直接存取存储器,磁盘。部分串行访问,前段是直接访问,后段是串行访问。访问方式:直接访问(随机访问),串行访问

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

主存储器(主存):可以直接与cpu交换信息
辅助存储器(辅存):存放当前暂时不用的程序和数据,不能直接与cpu交换信息
缓冲存储器(缓存):在两个速度不同的部件之间起缓冲作用

存储器的层次结构 图4.3

两个存储层次 三级存储系统
1.存储器的三个性能指标:速度,容量,每位价格(位价)

2.两个存储层次:缓存—主存 主存—辅存
缓存—主存:cpu与主存速度不匹配(由于缓存比主存快,cpu将主存内容调入缓存后,直接从缓存获取信息,提高访存速度;但由于缓存容量小,因此需要不断将主存内容调入缓存,替换原来缓存中的信息)。主存与缓存间信息调动由硬件自动完成

主存—辅存:存储系统容量问题(由于主存比辅存快,但不能直接交换信息、辅存容量更大,因此当CPU需要这些信息时,将辅存内容调入主存,供cpu直接访问)。主存和辅存间信息调动由硬件和操作系统共同完成。

3.两个存储层次构成了缓存、主存、辅存的三级存储系统

主存储器

主存的基本组成 图4.4

存储芯片和cpu通过总线连接 图4.5

主存的基本构成:根据MAR中地址访问存储单元时,需要地址译码、驱动等电路才能找到要访问的存储单元(驱动器、译码器)
读出时,经过读出放大器,才能将选中存储单元的数据送至MDR(读写电路)

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

计算机按字寻址/按字节寻址(编址的最小单位是字/字节)

例如一个字32位,有4个字节,按字节寻址,字地址是高位字节的地址,(大端法)(小端法是用低位字节地址作为字地址,但是从左至右地址为递减)
地址码中最后两位用来区分同一个字的四个字节的位置。
按字寻址时,每个存储单元的地址没有变,低位变成字节地址,地址线的位数没变(实际上真正用来编址的地址线减少了)高位字节地址作为字地址

图4.6 涉及大端法和小端法

image-20230131224922373

主存的技术指标

存储容量和存储速度

(1)存储容量:主存中存放二进制代码的总位数
存储容量=存储单元个数*存储字长(一个存储单元的位数)
用字节数表示:存储容量=存储单元个数*存储字长/8

(2)存储速度:由存取时间和存取周期决定
存取时间:存储器的访问时间,启动一次存储器操作(读或写)到完成操作的全部时间
读出时间:存储器收到有效地址到产生有效输出
写入时间:存储器收到有效地址到数据被写入存储单元
存取周期:存储器进行连续两次独立存储器操作的时间所需的最短时间间隔

(3)存储器带宽:单位时间内存储器存取的信息量; 单位:字/每秒 字节/每秒 位/每秒
提高方法:缩短存取周期;增加存储字长;增加存储体

半导体存储芯片

译码驱动方式

线选法 图4.9 和重合法 图4.10
线选法(单重译码),一根字选择线直接选中一个存储单元的各位
重合法(双重译码),如1K*1位,通过64根选择线,A0-A9 5+5根字选择线,在32*32矩阵中选中对应单元,是由XY两个方向的地址双重决定的;再来8片这样的芯片就能组成1K*1字节的存储器。

随机存取存储器

静态与动态RAM

静态ram:触发器原理,利用双稳态触发器存储信息;常用作cache;存取速度快,非破坏性读出
动态ram:电容充放电原理,依靠电容上存储电荷;,集成度高,信息易失,需要定时刷新

(1)动态ram集成度远高于静态ram
(2)动态ram功耗小
(3)动态ram价格便宜
(4)动态ram存取速度慢,静态ram存取速度快

动态RAM的刷新

刷新的实质:将原信息读出,经刷新放大器形成原信息再重新写入/数据再生。逐行刷新。

刷新的原因:1)破坏性读出(单管) 2)电容极板漏抗导致电荷泄漏

定时刷新:2ms(刷新周期,再生周期),在一定的时间内,对动态RAM的全部存储单元必须做一次刷新,否则造成信息丢失。这个最大间隔时间称为刷新周期。

三种刷新方式:集中刷新、分散刷新、异步刷新

(1)集中刷新:在一个刷新周期内,集中一段时间对所有存储单元进行刷新。(该段刷新时间停止了读/写操作)
死时间/访存死区:在集中刷新的时间内不能进行读/写操作
每次刷新一行:占用一个存取周期

(2)分散刷新: 对每行的刷新分散到每个存取周期完成。
存取周期分为两段:前半段读/写或维持信息 后半段刷新。
没有死区,但存取周期增长,过度刷新。

(3)异步刷新:2ms内刷新128行,每隔2000/128=15.6us刷新一行。
刷新一行只停止一个存取周期,每行的刷新时间间隔仍为2ms。
死区时间缩短到了一个存取周期。
集中刷新出现访存死区,分散刷新延长了存取周期。
将ram的刷新时间安排在cpu译码阶段。(无需访存)

存储器和CPU的连接 注意连线题

存储容量的扩展

(1)位扩展:增加存储字长;片选线、读写控制、地址线相同,而数据线不同

(2)字扩展:增加存储字的数量;数据线,读写控制,基础的A0-An地址线相同,n+1用作判断片选信号

存储器和cpu的连接

(1)地址线的连接:cpu低位地址线与存储芯片的地址线相连(片内地址线),高位地址线产生片选信号
(2)数据线的连接:cpu和存储芯片的数据线位数不一定相等
(3)读写命令线的连接:读写命令线与芯片的读写控制端相连(一般高读低写)
(4)片选线的连接:cpu访存控制信号,mreq(低电平有效),cpu访问io,高电平,不要求存储器工作。CPU未连上的高位地址要用来产生片选信号
(5)合理选择存储芯片:rom:系统程序,常数,标准子程序 ram:用户编程,用户程序区,系统程序工作区
3-8译码器 CBA-对应001

提高访存速度的措施

寻找高速元件;采用层次结构;调整主存的结构(单体多字结构、多体并行结构)

高速缓冲存储器Cache

cache基本概念

1、引入cache:(1) 避免cpu和IO争抢访存(2)解决主存与cpu速度不匹配问题

2.程序访问的局部性原理:指令和数据在内存中都是连续存放的,cpu在执行程序时,访存具有相对的局部性

3.cache的工作原理:图4.49
每个字块包含许多字
主存地址:高m位主存块号 低b位块内地址;缓存地址:高c位缓存块号 低b位块内地址
块内地址位数反映了块的大小(块长)

4.cache的命中与未命中:
cpu要访问的字已在cache中,直接访问cache(一次传送一个字) cache命中
不在,将主存的整个字块调入cache(字块传送)cache未命中
若主存块已经调入缓存块:主存块与缓存块建立了对应关系

5.cache的几个参数

Cache命中率:cpu要访问的信息已在cache中的比率
Cache主存系统的平均访问时间:命中率*cache访问时间+未命中率*主存访问时间
访问效率:cache访问时间/cache主存系统平均访问时间

6.cache的基本结构

Cache存储体、地址映射变换机构、cache替换机构
(1)cache存储体:cpu和cache一次传输一个字,cache和主存一次传输一个字块,cache访存的优先级最高。
(2)地址映射变换机构:将cpu送来的主存地址转换为cache地址
未命中时,cpu访问主存,将该字从主存调出,同时将该字所在的主存块一并调入cache
(3)替换机构

(4)cache的读写操作 读操作图4.51

写操作:1、写直达法(存直达法):写操作数时既写入cache又写入主存,时刻保持cache数据与主存一致,但增加了访存次数
2、写回法:写操作时只写入cache,当cache字块被替换时才写入主存,增加cache标记位(是否被写过)

比较:写直达法:在读cache时不涉及主存的写操作,但写操作时需要写回主存,写操作时间就是访问主存时间
写回法:写操作时间就是访问cache时间,速度快。对cache中一个字块的 多次写操作只需一次写入主存,减少了写操作次数。读操作失效时需要数据替换。

7.cache的改进:(1)单一缓存和二级缓存(2)统一缓存和分立缓存;分立缓存:指令和数据在两个缓存中。指令cache,数据cache(指令,数据分开存储,超前控制,流水线控制)

4.3.2 cache和主存的地址映射

地址映射:由主存地址映射到cache地址
直接映射、全相联映射、组相联映射

1.直接映射 图4.54

缓存块号=主存块号%cache块数
主存地址的构成:t位主存字块标记 / c位cache字块地址(用以区别cache字块)/ b位字块内地址(块内偏移)

Cpu根据cache字块地址找到对应的cache字块,然后比较cache字块的标记与主存的标记是否一致。
Cache字块地址c位,则cache中有2c块字块(也是该取的模)
特点:映射方式简单,但不够灵活。缓存的空间不能得到充分利用,访问统一缓存位置的主存块时可能会重复替换,降低了命中率

2.全相联映射 图4.55

主存中的字映射到cache中的任意一块
主存地址:m=t+c位主存字块标记 / b位字块内地址
特点:方式灵活,命中率高,但增加了主存和cache的标记位,增加了比较次数;逻辑电路多,成本高

3.组相联映射 图4.56

将cache分组,先分组,再分块
组内两块:二路组相联映射
Cache字块所在的组的组号=主存块号%cache组数
主存地址:s=t+r位主存字块标记 / q=c-r位组地址 / b位字块内地址 (2r为组内块数;2c-r为组数;2c为字块数)

4.3.3 替换策略

当新的主存块需要调入cache而cache已满,需要替换掉原来的cache块,替换问题。
1.先进先出算法(FIFO,first in first out) :替换最早调入cache的字块,无需记录字块的使用情况,但没有依据cpu访存的局部性原理,无法提高cache命中率

2.近期最少使用(LRU,Least Recently Used):替换近期使用最少的cache字块,需要记录cache字块的使用情况,可以提高cache的命中率。

3.随机法:不能提高cache的命中率

第五章 输入输出系统

概述

1、发展阶段

早期阶段(分散连接、IO设备与CPU串行工作、程序查询方式)-> 接口模块和DMA阶段(计算机系统采用总线结构,接口能满足中断请求,IO设备与CPU可并行工作;出现了DMA直接存储器存取技术)-> 具有通道结构的阶段 -> 具有IO处理机的阶段

2、输入输出系统的组成

IO软件和IO硬件
IO软件:IO指令(机器指令的一种);通道指令(指明参与传送的数据组在主存中的首地址、传送的字节数、操作命令码等)
IO硬件:包括接口模块和IO设备两部分;通道可以和多个设备控制器相连

3、IO设备与主机的联系方式

1)IO设备编址方式
统一编址(将IO地址看做存储器地址一部分)
不统一编址(IO设备的访问有专用IO指令)
2)设备寻址
用设备选择电路识别是否被选中
3)传送方式 串行和并行
4)联络方式:立即响应;异步工作采用应答信号;同步工作采用同步时标
5)I/O 设备与主机的连接方式 :辐射式连接(每台设备都配有一套控制线路和一组信号线,不便增删);总线连接(扩展方便,便于增删)

4、IO设备与主机信息传送的控制方式

程序查询方式 图5.9

CPU 和 I/O 串行工作;CPU踏步等待,效率不高
特点:硬件开销小;无实时处理能力,CPU与外设为串行工作方式,系统效率较低。
适用场合:CPU不太忙且传送速度要求不太高的情况。

程序中断方式 图5.11

IO工作包括:自身准备;与主机交换信息(CPU暂停现行程序)
CPU 和 I/O 并行工作;没有等待踏步,中断现行程序
特点:通过中断服务程序处理中断请求,CPU与外设为并行工作方式,具备实时处理能力。
适用场合:用于中、低速I/O操作或处理复杂的随机事态。

DMA方式

主存和 I/O 之间有一条直接数据通道;不中断现行程序
若出现DMA与CPU同时访问主存,CPU总是将总线占有权让给DMA,称为周期窃取/挪用
CPU 和 I/O 并行工作
特点:由硬件(DMA控制器)来实现内存和外设之间的直接数据交换,对高速大批量数据传送特别有用。但电路结构复杂,硬件开销大。
适用场合:应用于主存与高速I/O设备间的简单数据传送。

IO接口

1、为什么要设置接口

实现设备的选择
实现数据缓冲达到速度匹配
实现数据串——并格式转换
实现电平转换
传送控制命令
反映设备的状态(“忙”、“就绪”、“中断请求”)

2、接口的功能和组成

总线连接方式的 I/O 接口电路:设备选择线、数据线、命令线、状态线

image-20230128002744711

3、接口类型

按数据传送方式分类:串行接口、并行接口;
按功能选择的灵活性分类:可编程接口、不可编程接口
按通用性分类:通用接口、专用接口;
按数据传送的控制方式分类:中断接口、DMA接口

程序查询方式

流程图5.32-34

程序中断方式

看8.4
中断请求、中断判优、中断响应、中断服务、中断返回
排队器(硬件:链式排队器;软件在第八章)
中断向量地址形成部件(软件:第八章;硬件:由 硬件 产生 向量地址,再由 向量地址 找到 入口地址)

IO中断处理过程:

CPU 响应中断的条件和时间:
1、条件:1)有中断请求;2)CPU允许中断,即中断允许状态IF=1(或EINT=1);3)一条指令执行结束。
2、时间:当 D = 1(随机)且 MASK = 0 时,在每条指令执行阶段结束前,CPU 发 中断查询信号(将 INTR 置“1”)

中断服务

image-20230128011155170image-20230128011305174

image-20230203155831187(第八章中关于设置新屏蔽字的中断服务程序)

DMA方式

5.6.1 DMA⽅式的特点

主存和DMA接口之间有一条数据通路,主存和设备交换信息时,不用经过cpu,cpu不用暂停现行程序为设备服务,不用保护现场、恢复现场。
DMA工作速度比程序中断工作速度高。
适用于高速io与主存之间的信息交换。
当dma接口和cpu同时访存,cpu必须将总线的使用权让给dma接口使用,
dma采用周期窃取的方式占用了一个存取周期

DMA和主存交换数据采取3种方法

(1)停止cpu访问主存
DMA接口获得总线的控制权,开始数据传送,数据传送结束后,将总线的控制权交还给cpu。控制简单,适合数据传输速率很高的io设备实现成组的数据传送

(2)周期挪用(周期窃取)
如果cpu正在访问内存,等存取周期结束,cpu让出总线使用权。
当dm和cpu都需访问内存,访问冲突。cpu在访问主存的指令中插入了dma请求,挪用了1~2个存取周期,cpu延缓了1~2个存取周期再访问主存。
IO设备每挪用一个存取周期,都要(准备下次传送)重新申请总线控制权,建立总线控制权,归还总线控制权。

(3)dma与cpu交替访问

Cpu工作周期比主存的存取周期长。一个cpu工作周期分为c1(dma访存),c2(cpu访存)。
不用申请、建立、归还总线的使用权。总线使用权由c1,c2分别控制。
Cpu不用停止主程序的运行也不用进入等待状态。

5.6.2 DMA接⼝的功能和组成

1.DMA接口的功能

(1)向cpu申请dma传送
(2)处理总线控制权的转交
(3)dma期间控制数据传送
(4)确定 数据传送的 内存首地址和长度,修正 传送过程中的数据 地址 和 长度
(5)数据传送结束,发出dma操作完成信号

2.DMA接口的基本组成

(1)主存地址寄存器(AR):存放主存中需要交换的数据的地址。dma过程中,每交换一次数据,主存地址寄存器的内容+1,直到数据传送完成
(2)字计数器(WC):记录传送数据的总字数,每交换一次数据,修改字计数器内容
(3)数据缓冲寄存器(BR):暂存需要传送的数据(DMA与主存按字传送,DMA与设备按字节或位传送)
(4)DMA控制逻辑:负责管理DMA的传送过程
(5)中断机构:数据传输完成,向cpu提出中断请求,cpu做dma后处理。Io中断:数据输入或输出;dma中断:报告一批数据传输结束
(6)设备地址寄存器(DAR):存放io设备的设备码

5.6.3 DMA的⼯作过程

1.dma的工作过程
预处理、数据传送、后处理

(1)预处理
A)给dma控制逻辑指明是输入还是输出
B)主存起始地址—DMA主存地址寄存器
C)设备地址—DMA设备地址寄存器,启动设备
D)字计数器赋值
完成预处理后,cpu继续执行原程序

(2)数据传送:dma方式以数据块为单位传送
主存地址送总线,数据送往io设备/主存
修改主存地址,修改字计数器的值

(3)后处理:数据块传送完毕,向cpu申请程序中断
进入中断服务程序,做dma结束处理工作:检验送入主存的数据是否正确,是否用dma传送其他数据块,传送过程初中是否发生错误。

DMA与程序中断的比较

image-20230128012539636

(1)程序中断靠程序传送数据,dma靠硬件传送数据
(2)cpu在一条指令执行结束时响应中断,而在一条指令执行周期的任一存取周期结束时都可响应dma
(3)程序中断方式可以处理异常,dma不可以处理异常,主要用于大批数据的传送
(4)程序中断,保护现场。dma数据传输过程中不中断现行程序,无需保护现场,dma工作速度高。
(5)dma优先级比程序中断的优先级高

第六章 计算机的运算方法

原码 补码 反码 移码

原码(整数',' 小数'.') 符号位+绝对值
[+0]原 ≠ [-0]原 [+0]原=0.0000 [-0]原=1.0000

补码 当真值为负时,补码可用 “原码符号位保持不变,数值位每位取反,末位加 1 求得”(过程可逆)
根据定义 [+ 0]补 = [-0]补
x = -1.0000时,补码=1.0000;原码不能表示

反码 (负数)原码按位取反即可
[+ 0]反 ≠ [- 0]反 [+0]反= 0,0000 [-0]反= 1,1111

原码的数值位和真值相同
原码的数值位按位取反末位加 1——补码
原码的数值位按位取反——反码

补码恢复原码时,如果原码为负数,补码可以:先-1,再对非符号位取反;或者先对非符号位取反,再加一。

image-20230129135457262

移码 [x] = 2n + x(2n>x ≥-2n)(统一定义)
补码与移码只差一个符号位;最小真值的移码为全 0 ;用移码表示浮点数的阶码

数的定点表示和浮点表示

定点表示

image-20230129141429769image-20230129141444883

浮点表示

image-20230129142058778image-20230129142140394image-20230129142159845

浮点数的规格化

image-20230129142608922

规格化后的范围与浮点表示范围不同,注意最大负数和最小正数的尾数部分

image-20230129144146544image-20230129144159165

负数的补码在相对小数点左移时,后添0;右移时前添1

负数的反码都添1

加减法运算

image-20230129145232445

溢出判断

image-20230129145525082image-20230129145702972

乘法运算

1)符号位:定点原码乘法,符号位单独处理; 定点补码乘法,其符号位可直接参与运算。
2)多项部分积相加的处理:
采用2种乘法器:一种方法就是采用阵列乘法电路实现;另一种是:将n位乘转换为n次累加和n次移位,这种乘法需分解为多步实现,依靠时序控制分步,称为时序控制乘法器。
(a)把一次求和的操作,变成逐步累加求部分积的操作
(b)将求积过程中逐位按权左移位积的操作,改为位积不动,而是上次部分积右移的操作
3)通过将不再累加的乘积低位右移,则加法器的位数无需扩充

image-20230129150631627

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

原码除法

符号位单独处理,数值部分绝对值相除

1、恢复余数法

通过比较被除数和除数的绝对值大小,即x*-y*实现确定商值
当余数为负时,加上除数恢复成原来的余数

image-20230129151203588image-20230129151601043

2、加减交替法

image-20230129151713772

image-20230129152701141image-20230129152716493

浮点四则运算

加减运算

image-20230129152824705

对阶后补码双符号位直接加减运算,可能在对阶时会出现丢低位的现象

规格化

image-20230129153028412image-20230129153211205

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

image-20230129153804883 image-20230129154055282

算数逻辑单元

ALU是运算器的核心

第七章 指令系统

指令基本结构:操作码(指明指令要完成的操作)+地址码
零、一、二、三、四地址指令
指令字长取决于操作码的长度、操作码地址的长度、操作数地址的个数
操作数类型:地址、数字、字符、逻辑数据

寻址⽅式

寻址:确定本条指令的数据地址和下一条将要执行的指令的地址;分为指令寻址,数据寻址

7.3.1 指令寻址

顺序寻址:pc加1,自动形成下一条指令的地址
跳跃寻址:通过转移类地址实现 jmp指令:直接修改pc

7.3.2 数据寻址

机器字长:alu一次运算处理的最大位数
以下:机器字长=alu运算长度=寄存器长度,便于分析

存储字长:一次访存操作能读取的位数
寻址特征:在指令字中的某一字段,说明该指令的寻址方式
操作数的真实地址(有效地址):由寻址方式和形式地址共同决定
形式地址:A

操作码 寻址特征 形式地址A
1.立即寻址:

操作数设在指令字内,形式地址A不是操作数的地址,是操作数本身,又称立即数补码存放。
指令的执行阶段不用访存,A的位数限制了立即数的范围

OP 立即寻址特征# 立即数A
2.直接寻址EA=A:

形式地址就是操作数的真实地址,A的位数限制了操作数的寻址范围

OP 寻址特征# 实际地址A
3.隐含寻址:

指令字中不给出操作数的地址,操作数地址隐含在操作码或者某个寄存器中。例如另一个操作数隐含在acc寄存器中。可以缩短指令字长。

4.间接寻址EA=(A):

形式地址给出操作数的有效地址所在的存储单元的地址。有效地址由形式地址间接提供。
扩大了操作数的寻址范围,指令的执行阶段需要访存两次,指令的执行时间延长。「形式地址A指向的地址,存放着主存中另一地址,所指向未必即操作数,可能仍是地址」

5.寄存器寻址EA=Ri

地址码给出寄存器的编号 Ri,操作数在Ri寄存器内。
指令的执行阶段无需访存,计算机寄存器有限,指令字较短。

6.寄存器间接寻址EA=(Ri):

寄存器中存放操作数所在的主存单元的地址号,即寄存器中存放EA(此处EA指向主存)而不是操作数。
寄存器间接寻址,比间接寻址少访存一次。

**7.基址寻址EA=(BR)+A **

有效地址EA=基址寄存器的内容(基地址BR)+形式地址A
通用寄存器作基址寄存器:OP+寻址特征+指出R0作通用寄存器+A。

基址寄存器:隐式,计算机专门设置基址寄存器,用户不必显式指出基址寄存器,只需由指令的寻址特征反映是基址寻址
显式:用户指明通用寄存器中哪个寄存器作为基址寄存器,存放基地址。

基址寻址优点:1、扩大操作数的寻址范围。2、将主存空间分成若干段,每段首地址放在基址寄存器中,段内位移量由形式地址A给出,只需修改基址寄存器中内容,便可访问主存的任一单元。

应用:为程序和数据分配存储空间,基址寄存器内容主要由操作系统或管理程序确定,执行过程中不可变,A可变。面向系统,解决程序在实际主存中重定位问题(为程序分配存储空间),及扩大访存空间。

**8.变址寻址EA=(IX)+A **

有效地址EA=变址寄存器的内容(IX)+形式地址A
通用寄存器作变址寄存器(同7)

变址寄存器内容由用户设定,程序执行过程中其值可变,A不可变。

应用:处理数组问题,设A为数组首地址,改变IX内容,形成数组中任一数据的地址。面向用户、用于对成批数据的连续便捷访问。

9.相对寻址EA=(PC)+A 例7.2

程序计数器PC的内容(即当前指令的地址)与指令字中的形式地址A相加而得;
A给出了相对位移量,可正可负,补码表示。常用于转移类指令。A的位数决定操作数/目标指令的寻址范围,有利于程序的浮动。

10.堆栈寻址

堆栈:寄存器组实现(硬堆栈),主存的一部分空间作堆栈(软堆栈)
栈顶指针SP给出栈顶地址。堆栈寻址是一种隐含寻址,操作数地址隐含在SP中。
寄存器间接寻址,sp寄存器,存放操作数的有效地址。

第⼋章 CPU的结构和功能

Cpu由控制器和运算器组成。

控制器的基本功能:取指令、分析指令、完成指令

8.1 CPU的结构

8.1.1 CPU的功能

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

8.1.2 CPU的结构框图

CPU可近似看作由四部分构成:ALU(逻辑算术单元)、CU(控制单元)、寄存器、中断系统

8.1.3 CPU的寄存器

Cpu的寄存器大致可以分为两类:用户可见寄存器(用户可对这种寄存器编程)、控制和状态寄存器(用户不可对这种寄存器编程、被控制部件使用)

1.用户可见寄存器
(1)通用寄存器:存放操作数,或某种寻址方式所需寄存器(存放地址)基址寻址的基址寄存器,变址寻址的变址寄存器,堆栈所需的栈指针若采用专用寄存器,寄存器隐含在操作码中。若采用通用寄存器,指令字段中必须有字段指出寄存器的编号。
(2)数据寄存器:存放操作数
(3)地址寄存器:存放地址,也可以用于特殊的寻址方式
(4)条件码寄存器:存放条件码
在调用子程序(或进入中断服务程序)前,必须将用户可见寄存器的内容保存起来,这个操作由cpu自动完成,也可以由程序员编程保存。

2.控制和状态寄存器
MAR:存储器地址寄存器。存放即将访问的存储单元的地址。
MDR:存储器数据寄存器。存放欲放入存储器的数据或最近从存储器读出的数据。
PC:程序计数器,存放现行指令的地址,具有计数功能,可以形成下一条指令的地址。转移类指令,修改pc内容。
IR:指令寄存器,存放当前欲执行的指令
ALU必须可以直接访问MDR和各寄存器

8.1.4 控制单元和中断系统
控制单元CU:产生全部指令的微操作命令序列
组合逻辑设计方法;微程序设计方法

8.2 指令周期

指令周期:CPU完成一条指令的时间/CPU取出并执行一条指令所需时间

8.2.1 指令周期的基本概念

四个工作周期:取指周期,间址周期,执行周期,中断周期

CPU内有4个标志触发器。四个工作周期都有访存操作。取指,取操作数、有效地址,取操作数,保护程序断点(pc内容入栈)

(1)取指周期:取指、分析
(2)间址周期:取出操作数的有效地址(真实地址)
(3)执行周期:执行指令
(4)中断周期:CPU在每条指令执行结束之间都要发出中断查询信号检查是否有某个io提出中断请求。完成中断隐指令。pc内容压栈,形成中断向量地址,关中断。
无条件转移指令,JMP指令只有取指周期,没有执行周期。

8.2.2 指令周期的数据流

1.取指周期的数据流(图8.10): PC存放现行指令的地址,该地址送至MAR并送至地址总线,CU发出读命令,将以mar的内容为地址的主存单元的内容读出经数据线传至mdr,再送至IR。CU控制PC内容加一,形成下一条指令的地址。
PC→MAR→地址线; 1→R; M(MAR)→MDR; MDR→IR; OP(IR)→CU; (PC)+1→PC

2.间址周期的数据流(图8.11):(CU检查IR中内容,确定是否有间址操作)指令的地址码部分(MDR中指示形式地址的右N位,记作Ad(MDR))送给MAR并送至地址总线,CU发出读命令,将操作数的有效地址读出经数据总线送至MDR。
Ad(IR或MDR)→MAR; 1→R; M(MAR)→MDR; MDR→Ad(IR)

3.中断周期的数据流(图8.12):(1)保存当前PC内容(PC内容压栈)数据流:CU将栈指针送至MAR至地址总线,CU发出写命令,将PC内容经MDR至数据总线写入存储器。(2)生成中断向量地址:CU将中断服务程序的入口地址(其实是中断向量地址送给PC)(3)关中断

8.4 中断系统

8.4.1 概述

1.引起中断的因素(中断源)
(1)人为设置的中断:自愿中断,自愿停止现行程序转入中断处理
(2)程序性事故
(3)硬件故障
(4)I/O设备:I/O设备准备就绪后,向cpu发出中断请求
(5)外部事件:用户通过键盘中断现行程序属于外部事件中断
中断源可分两类:不可屏蔽中断,cpu不能禁止响应,如电源掉电。可屏 蔽中断,cpu可根据该中断源是否被屏蔽来确定是否响应。

8.4.2 中断请求标记和中断判优逻辑

1.中断请求标记
为了判断是哪个中断源提出的中断请求:中断请求标记触发器(中断请求触发器)INTR:对应中断源提出请求时为1。
中断请求触发器位置:可以集中在cpu内,也可以分散到各中断源中(分散在各接口电路) 中断请求标记置1,表明该设备发出了中断请求。

2.中断判优逻辑中断判优:Cpu在任一时刻只能响应一个中断源的请求。中断源提出请求是随机的,某一时刻有多个中断源提出请求,中断系统根据其优先顺序来响应,称为中断判优

中断判优:硬件排队/软件排队
(1)硬件排队(第五章):链式排队器。中断请求触发器分散在各接口电路。 集中在cpu内的排队器。
(2)软件排队(图8.26):编写查询程序。程序按中断源的优先等级从高到低查询各中断源是否有中断请求。

8.4.3 中断服务程序⼊⼝地址的寻找

1.硬件向量法:用硬件形成向量地址,再由向量地址找到中断服务程序的入口地址。速度快。
向量地址由中断向量地址形成部件产生。可以在cpu内,以可以在各接口电路中。
向量地址的形成部件:输入(排队器的输出),输出(中断向量)

由向量地址寻找中断服务程序:(1)向量地址放无条件转移指令的地址,cpu响应中断时,将向量地址送给pc(2)设置向量地址表,向量地址是程序入口地址的地址。

2.软件查询法:当查询到某一中断源有中断请求时,安排转移指令,指向该中断服务程序的入口地址。 入口地址由程序员或系统事先确定。更方便灵活。

8.4.4 中断响应

1.CPU响应中断的条件
允许中断触发器(EINT)为1。允许中断触发器可被开中断指令置1,被关中断指令置0。
当EINT=1,有中断请求(INTR=1)时,CPU可以响应中断

2.响应中断的时间
CPU在指令执行周期结束后,发出查询信号,查询信号可以将有中断请求(数据端)的中断源的中断请求标志触发器置为1。Cpu在指令执行周期结束后响应中断,若有中断请求,进入中断周期。

3.中断隐指令
(1)保护程序断点
(2)寻找中断服务程序入口地址:将向量地址送给PC,CPU执行无条件转移指令,转向中断服务程序。将查询软件(中断识别程序)的入口地址送给pc,cpu执行查询软件,找到中断服务程序的入口地址。
(3)关中断:cpu进入中断周期(等价于cpu响应了某个中断源的中断请求),确保中断周期不被其他中断源干扰(正常完成3项工作),要关中断。
中断隐指令:机器指令系统中没有的指令,cpu在中断周期内由硬件自动 完成。

8.4.4 保护现场和恢复现场

保护现场:保护程序断点(中断隐指令完成),保护cpu各寄存器内容(中断服务程序完成)
恢复现场,在中断返回前,将寄存器内容恢复到中断处理前状态(中断服务程序完成)

8.4.4 中断屏蔽技术

1.多重中断:cpu在执行中断服务程序时,另一中断源又提出了新的中断请求,cpu响应新的中断请求,暂停现在运行的服务程序,转去执行新的服务程序,又称为中断嵌套

2.实现多重中断的条件
(1)设置好中断服务程序中的开中断指令的位置
单重中断:中断返回前开中断
多重中断:保护现场后开中断
(2)优先级别高的中断源有权中断优先级别低的中断源

3.屏蔽技术
(1)屏蔽触发器与屏蔽器

当中断源被屏蔽时,cpu的中断查询信号无法将INTR(中断请求触发器)置为1,cpu接受不到中断请求中断源未被屏蔽时,完成触发器为1,查询信号可将IMTR置为1,标志着中断源向cpu发出中断请求,该信号被送至排队器进行优先级判别。
屏蔽触发器构成屏蔽寄存器。屏蔽寄存器的内容为屏蔽字。每个中断源的屏蔽字都是不同的。

(2)屏蔽技术改变优先等级
优先级:响应优先级,处理优先级。
响应优先级:cpu响应各中断源请求的优先次序(链式排队器)
处理优先级:cpu实际对各中断源处理的优先次序(设置屏蔽字后)
不采用屏蔽技术时,响应优先级就是处理优先级
响应优先级不可改变,可通过修改屏蔽字修改处理优先级。
动态处理屏蔽字,动态处理优先级。

屏蔽字中的0意味着对应位置的中断源可以打断此次中断处理(及高于这次的中断,全为1最高,仅有一个1最低)

采用屏蔽技术的中断服务程序:保护现场—置屏蔽字—开中断(可能会进入多重中断)—中断服务—关中断—恢复现场—恢复屏蔽字—开中断—中断返回

1.开中断前要把屏蔽字置好
2.恢复现场后也要恢复屏蔽字
3.中断返回前开中断
4.恢复现场前关中断(以便恢复现场)

第九章 控制单元的功能

控制单元:发出微操作命令(控制信号)序列
所有操作都是在控制单元发出的控制信号(微操作命令)下完成的

9.1 微操作命令的分析

9.1.1 取指周期

6个微操作:
PC→MAR→地址线
1→R
M(MAR)→MDR
MDR→IR
OP(IR)→CU
(PC)+1→PC

9.1.2 间址周期

4个微操作
Ad(IR)→MAR
1→R
M(MAR)→MDR
MDR→Ad(IR)

9.1.3 执⾏周期

1.非访存指令

(1)清除累加器指令CLA 0→ACC

(2)累加器取反指令COM $\overline{ACC}$→ACC

(3)算术右移一位指令SHR L(ACC)→R(ACC); ACC0→ACC0(符号位保持不变)

(4)循环左移一位指令CSL R(ACC)→L(ACC) ACC0→ACCn

2.访存指令
(1)加法指令 ADD X (隐含寻址/直接寻址)
Ad(IR)→MAR
1→R
M(MAR)→MDR
(MDR)+(ACC)→ACC

(2)存数指令 STA X 将累加器ACC中内容存至主存地址中X地址单元
Ad(IR)→MAR
1→W
ACC→MDR
MDR→M(MAR)

(3)取数指令 LDA X 将主存地址中X地址单元的内容取至累加器ACC中
Ad(IR)→MAR
1→R
M(MAR)→MDR
MDR→ACC

3.转移指令
(1)无条件转移指令JMP X Ad(IR)→PC

(2)条件转移指令(负则转)BAN X 结果为负时A0=1 $A_0·Ad(IR) +\overline{A_0}·(PC)→PC$

9.1.4 中断周期

程序断点存入堆栈:(SP)-1→SP; SP→MAR
程序断电存至主存的0地址单元:0→MAR
1→W
PC→MDR
MDR→M(MAR)
中断向量地址→PC
0→EINT(关中断,允许中断触发器)

9.2 控制单元的功能

9.2.1 控制单元的外特性

1.输入信号
(1)时钟:控制单元按一定先后顺序、一定节奏发出控制信号,控制单元受时钟控制
(2)指令寄存器:指令的操作码字段指令的操作码字段与时钟配合产生不同的控制信号
(3)标志:CPU状态
(4)来自系统总线的控制信号:中断请求、DMA请求

2.输出信号
(1)CPU内的控制信号:CPU寄存器之间数据传送,ALU操作
(2)送至控制总线的控制信号:命令主存读/写 、中断响应

9.2.2 控制信号举例

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

image-20230129011014775image-20230129011026901image-20221128211030147

2.采用CPU内总线的方式

image-20230129011330441image-20230129011347844

注:(1)ALU的运算结果不能直接送至CPU内总线。需要先送到寄存器Z(暂存运算结果),再经过内总线送到AC寄存器中。

(2)需要先将MDR上的数据送到寄存器Y上,Y可以不经过CPU内总线, 直接送至ALU中。

9.2.3 多级时序系统

1.机器周期
机器周期:所有指令执行过程中的基准时间
将访问一次存储器的时间定为基准时间,这个基准时间就是机器周期。
存储字长=指令字长时,机器周期=取指周期

2.时钟周期 (时钟信号、节拍发生器、节拍,时钟周期)
时钟信号控制产生微操作命令。
时钟信号的频率:CPU主频
时钟信号控制节拍发生器,产生节拍,节拍宽度(时钟周期)
节拍:机器完成一个或几个需要同时执行的操作
时钟周期:控制计算机操作的最小时间单位

3.多级时序系统
一个指令周期包含若干机器周期,一个机器周期包含若干时钟周期。
定长的机器周期:每个机器周期内包含的时钟周期数相等
不定长的机器周期:每个机器周期内包含的时钟周期数不想等
机器周期,节拍(状态)组成了多级时序系统
机器的速度(执行指令的速度)与cpu的主频(时钟周期的频率),一个机器周期含有的时钟周期数,一个指令周期中含有的机器周期数有关
1/主频=一个时钟周期的长度MIPS:执行百万条指令每秒
CPI:执行一条指令的时钟周期数

9.2.4 控制⽅式

控制单元控制一条指令执行:依次执行微操作序列

CU的控制方式:如何形成控制不同微操作序列的时序控制方式

1.同步控制

所有微操作都受统一基准时标的时序信号控制
(1)采用定长的机器周期:每个机器周期都有统一的节拍数,时间间隔
(2)采用不定长的机器周期:每个机器周期节拍数可以不等。延长机器周期、增加节拍执行复杂的微操作
(3)采用中央控制和局部控制结合

中央控制:将大部分指令安排在统一的,较短的机器周期内
局部控制:复杂指令中的某些操作局部控制

第一:局部控制的节拍宽度应与中央控制的节拍宽度相同(时钟周期长度相等)
第二:局部控制节拍作为中央控制节拍的延续,插入到中央控制节拍的执 行周期中,使机器以同样的节奏工作,确保了中央控制与局部控制的同 步。

2.异步控制:没有统一的基准时标的时序信号。没有时钟同步,固定的周 期节拍。
采用应答线路控制。执行部件完成操作后发出应答(结束)信号,再开始新的微操作。

3.联合控制:同步控制和异步控制相结合。 大部分统一,小部分区别对待

4.人工控制

第十章 控制单元的设计

组合逻辑设计

微操作的节拍安排

采用 规整的同步控制方式
一个 机器周期 内有 3 个节拍(时钟周期)
CPU 内部结构采用非总线方式(P380)

安排微操作时序的原则:1、注意先后顺序; 2、被控对象不同的微操作(硬件资源不冲突)尽量安排在一个节拍内完成,节省时间;3、占用时间较短的微操作,尽量安排在一个节拍内完成,并允许有先后顺序

image-20230129015835821

image-20230129015924120image-20230129015936493

image-20230129015954876image-20230129020011744

组合逻辑设计步骤

1、安排每条指令中微操作的节拍
2、列出微操作命令的操作时间表
(具体列出:每个微操作命令和哪些指令的哪些机器周期以及哪些节拍有关)
3、写出每一个微操作命令的逻辑表达式并化简
4、画出相应的组合逻辑电路图

微程序控制器

采用了“存储逻辑”的设计思想
采用了“程序设计”的技术
image-20230129020804553

image-20230129020940946image-20230129021007228

image-20230129021147302

微指令序列地址的形成

1、直接由微指令的 下地址字段 指出(断定方式)
2、根据机器指令的 操作码 形成(重点)
3、增量计数器 ( CMAR ) + 1→ CMAR
4、分支转移
5、通过测试网络
6、由硬件产生微程序入口地址

微指令格式

  1. 水平型微指令:一次能定义并执行多个并行操作
    如 直接编码、字段直接编码、字段间接编码、
    直接和字段混合编码
  2. 垂直型微指令
    类似机器指令操作码 的方式
    由微操作码字段规定微指令的功能

补充 逻辑代数 组合逻辑电路和时序逻辑电路

卡诺图的化简 得到最简化表达式再画电路图

与:F=A•B 或 F=A^B
或:F=A+B 或 F=AVB
非:F=A非

(图略)

最小项

对于n个变量的全部最小项共有2n个。
(图略)

卡诺图的化简

image-20230129155602491

1正0非

化简规则:相邻单元的个数是2n个,并组成矩形时,可以合并。
先找面积尽量大的组合进行化简,可以减少更多的因子。
各最小项可以重复使用。
注意利用无关状态,可以使结果大大简化。
所有的1都被圈过后,化简结束。
化简后的逻辑式是各化简项的逻辑和。

image-20230129155844528
posted @ 2023-02-17 00:35  Meowki  阅读(1003)  评论(1)    收藏  举报