计算机组成原理 复习笔记(已完结) 您所在的位置:网站首页 符号位产生的进位要丢掉 计算机组成原理 复习笔记(已完结)

计算机组成原理 复习笔记(已完结)

2024-05-20 17:33| 来源: 网络整理| 查看: 265

本文参考书是白中英第六版《计算机组成原理》和机械工业出版社《计算机组成》。本文为期末复习参考,非考研,侧重知识点可能有所差异。如有错误烦请指出。 个人总结,所以知识点比较杂乱,仅供复习参考。 前言

本文参考书是白中英第六版《计算机组成原理》和机械工业出版社《计算机组成》。本文为期末复习参考,非考研,侧重知识点可能有所差异。如有错误烦请指出。 重点在 二、三、四、五章。其余章节主要为简答题考察。

建议搭配例题PPT同步进行复习: 链接:https://pan.baidu.com/s/1PesCMnqalaPNtrbnOi1Nwg 提取码:d79d

寻找某个知识点可以使用Ctrl+F搜索当前页面。 个人总结,所以知识点比较杂乱,部分习题会不定时更新补充,仅供复习参考。

本文共计六万余字,阅读时间约为二到五小时。

本博客已同步更新至本人CSDN: https://blog.csdn.net/qq_51594676/article/details/123798244

@

目录前言第一章:计算机系统概论1.1 计算机分类和发展简史分类发展及硬件计算机性能指标1.2 计算机的功能部件存储器控制器1.3 电子计算机设计思想1.4 处理器的一些补充第二章:运算方法和运算器2.1 数据与文字的表示方式真值和机器数无符号数与定点数的表示浮点数的表示方法数的机器码表示原码补码反码移码浮点数的机器表示2.2 字符串的表示方法大端序和小端序2.3 汉字的表示方式Unicode实现方法2.4 校验码2.5 定点加法、减法运算补码加法补码减法溢出概念与检验方法溢出检测方法双符号位法单符号位法基本二进制加法 / 减法器一位全加器2.6定点乘法运算原码并行乘法求补电路带符号的阵列乘法器2.7 定点除法运算原理恢复余数法加减交替法*重点题型 除法的加减交替计算阵列除法器可控加法/减法(CAS)单元不恢复余数(加减交替法)阵列除法器2.8定点运算器的组成逻辑运算2.9行波进位的补码加法/减法器2.10ALU的基本思想2.11总线2.12浮点运算和浮点运算器浮点加法、减法运算浮点乘法、除法运算2.14流水线原理第三章 存储系统3.1 存储系统概述存储器的存储结构存储器的分类存储器的编址和端模式存储器的技术指标3.2 静态随机存取存储器基本的静态存储元阵列3.3基本动态存储器DRAM芯片的刷新存储器容量的扩充提高DRAM的访问速度Fast Page Mode DRAM 快速页模式动态存储器Extend Data Out DRAM 扩展数据输出动态存储器Burst Extend Data Out DRAM 突发式动态存储器高效的DRAM结构同步DRAM(SDRAM)双倍数据率SDRAM(DDR SDRAM)CDRAM 带高速缓冲存储器(cache)的动态存储器DRAM主存读/写的正确性校验3.4 只读存储器ROM的分类掩模ROM(MROM)可编程ROM闪速(FLASH)存储器NOR闪存NAND闪存各种半导体存储器的性能比较3.5 并行存储器双端口存储器无冲突读写控制多模块交叉存储器Pentium的64位存储结构3.6 cache存储器cache介绍与基本原理cache的结构主存与cache的地址映射全相联映射方式直接映射方式组相联映射方式cache的写操作策略3.7 虚拟存储器虚拟存储器的定义和原理段式管理页式管理段页式管理页式虚拟存储器段式虚拟存储器段页式虚拟存储器虚存的替换算法存储管理部件MMU第四章 指令系统4.1 指令系统的发展和性能要求指令的概念指令系统的性能要求4.2 指令格式地址码三地址指令二地址指令一地址指令零地址指令操作码8位微型计算机的指令格式MIPS R4000指令格式ARM指令格式pentium指令格式4.3 操作数类型4.4 指令和数据的寻址方式指令的寻址方式4.5 典型指令第五章 中央处理器5.1 CPU的功能和组成CPU的功能CPU的基本组成CPU中的主要寄存器操作控制器与时序产生器5.2 指令周期指令的执行过程MOV指令LAD指令ADD指令STO指令JMP指令*重点题型:CPU参数计算用方框图语言表示指令周期5.3 时序产生器和控制方式硬布线控制器的三级时序体制控制方式5.4 微程序控制器微程序控制原理微程序控制器的组成微程序控制器工作过程5.5 微程序设计技术微命令编码*重点题型:微指令编码格式微地址的形成方法微指令格式5.5 硬布线控制器5.6 流水CPU并行处理技术流水 CPU 的结构流水线中的主要问题奔腾 CPU5.7 RISC CPURISC 机器的特点第六章 总线系统6.1 总线的概念和结构形态总线的基本概念6.2 总线接口6.3 总线的仲裁6.4 总线的定时和数据传送模式6.5 PCI总线和 PCIe 总线HOST总线第七章 外存与 I/O 设备7.1 外围设备概括显示设备第八章 输入输出系统8.1 CPU 与外设之间的信息交换方式外设同CPU 交换数据的过程CPU与 I/O 接口之间的数据传送8.2 程序查询方式8.3 程序中断方式中断的基本概念单级中断多级中断Pentium中断8.4 DMA方式DMA的基本概念DMA传送方法基本的DMA控制器中断数据传送过程8.5 通道方式通道的概念通道的类型

在这里插入图片描述 在这里插入图片描述

第一章:计算机系统概论 1.1 计算机分类和发展简史 分类

计算机的定义:

计算机是一种以电子器件为基础的不需要人的干预,能对各种数字化信息进行算术和逻辑运算的快速工具。

电子计算机分两种:

电子数字计算机:由逻辑电子器件构成,变量为离散量 电子模拟计算机:由模拟运算器件构成,变量为连续量

电子数字计算机与电子模拟计算机的主要区别: 在这里插入图片描述 数字计算机进一步又可分为专用计算机和通用计算机

通用计算机可分为六类:

超级计算机 大型机 服务器 PC机 单片机 多核机

在这里插入图片描述

发展及硬件

计算机发展趋势:

微型化、网络化、巨型化、智能化

计算机经历了五代变化:

第一代: 1946~1957,电子管计算机。体积庞大,成本很高,可靠性较低。在此期间,形成了计算机的基本体系,确定了程序设计的基本方法,数据处理机开始得到应用。

第二代: 1958~1964,晶体管计算机。可靠性提高,体积缩小,成本降低。在此期间,工业控制机开始得到应用。

第三代: 1965~1971年,中小规模集成电路计算机。再次期间形成机种多样化,生产系列化,使用系统化,小型计算机开始使用。

第四代: 1972~1990,大规模和超大规模集成电路计算机,由几片大规模集成电路组成的微型计算机开水出现。

第五代: 1991年至今,巨大规模集成电路计算机出现,由一片巨大规模集成电路实现的单片计算机开始出现。

指令集授权方式:

IP内核授权 指令集架构授权 授权+ 自主研制指令集

常见指令集: x86 ARM,RIS-V

计算机性能指标

在这里插入图片描述

1.2 计算机的功能部件

计算机主要有五个功能部件 输入设备、存储器、算术逻辑单元、输出设备、控制器 这里先简要描述一些概念,具体的知识点会在后续详细解释。

存储器

存储器的功能是存储程序和数据,它分为主存储器和辅助存储器两种。 主存储器是以电子速度运行告诉内存,程序正在执行时必须要存储在内存中。 内存包含大量的半导体存储单元。

一个半导体触发器有0和1两个状态,可以记忆一位二进制代码。 这些半导体存储单元很少被单独读取或者编写,而是按照固定大小的组进行处理,这个组称为字。 每个字的位数称为字长,典型的字长范围是从16位到64位。 若按找16位计算机: 在存储器中把保存一个数的16个触发器称为一个存储单元。 每个存储单元都有编号,称为地址。 存储器所有存储单元的总数称为存储容量。

摩尔定律: 每18个月,集成电路的性能就会提升一倍,价格将会降低一倍。

控制器

存储器、运算器和输入输出设备对信息进行存储和处理,然后执行输入和输出操作。这些设备的操作必须按一定的方式互相协调。这就是控制器的工作。控制器是高校的中枢系统,它将控制信号传送到其他设备并检测它们的状态。 由输入和输出操作构成的I/O传输是被I/O程序的指令所控制的,I/O程序识别相关的设备和需要传输的信息。但是,控制传输的实际时序信号是由控制电路产生的。时序信号是决定何时发生规定动作的信号。处理器和存储器之间的数据传送也是由控制器通过时序信号控制的。 在这里插入图片描述

指令有两部分: 操作码 : 地址码 控制器的基本任务 我们把取指令的一段时间叫做取指周期 执行指令的一段时间叫做执行周期 一个位bit为最小计算单位 一个字节由8位构成 一个字由n个字构成,n为字长,常见的有8位、16位

计算机中字既可以表示指令,也可以表示数据:

取值周期中从内存读出的信息流是指令流,它流向控制器。 执行周期中从内存中国读出或流入的数据为数据流,它流向存储器或者运算器

1.3 电子计算机设计思想

存储程序+程序控制 冯诺依曼计算机: 存储程序并按地址执行 冯诺依曼计算机基本思想:

采用二进制形式表示数据和指令,指令由操作码和地址码组成。 将程序和数据存放在存储器中,即“存储程序”和“程序控制”。 指令的执行是顺序的。 由存储器、运算器、控制器、输入和输出设备五大组件构成。

适配器 I/O设备通常称为外围设备 适配器(I/O接口)相当于一个转换器,它可以保证外围设备用计算系统特性要求的形式发送或接收数据。

计算机 = 硬件系统 + 软件系统

软件是指硬件上运动的程序和相关的数据及文档。

1.4 处理器的一些补充

计算机的活动是由指令控制的,为了执行一个给定的任务,要在存储器中存储一个包含一连串指令的相应程序。完成特定操作的指令从存储器中逐个取出,然后送入处理器,用作操作数的数据也存储在存储器中。

在这里插入图片描述

如图显示了存储器和处理器是如何链接在一起的,也显示了一些还没有讨论过的处理器的重要操作细节。(后续在处理器章节会详细说明)

除了ALU(逻辑运算单元)和控制电路外,处理器中包含许多用于不同目的的寄存器。指令寄存器(IR)保留当前正在执行的指令,它的输出结构由控制电路来获得,可产生能够控制执行指令中不同处理部件的时序信号。程序计数器(PC)是另一个由专门用途的寄存器。它跟踪程序执行的过程,其中包含下一条即将被读取和执行指令的内存地址。 还有两种寄存器与内存通信。这就是内存地址寄存器(MAR)和内存数据寄存器(MDR)。MAR保存着即将访问单元的地址,MDR保存着将写入该地址单元或从该地址单元中读出的数据。

第二章:运算方法和运算器

本章重点:

掌握数据的定点和浮点表示格式,并会正确地进行表示 掌握数据的原码、反码、补码和移码表示方法 了解字符、字符串和汉字的表示方法 清楚校验码的概念,重点掌握奇偶校验码 掌握并能熟练计算补码定点加减法,会正确地检测溢出 理解最基本的二进制加减法器的构成和工作原理 理解原码阵列乘法器的构造原理,会进行原、补码阵列乘法运算 理解阵列除法器的构造原理,会使用加减交替法进行除法运算 理解 ALU 的构造原理和两级先行进位的思想 清楚浮点加、减运算的计算步骤,会进行浮点加减运算 了解流水线的基本原理

2.1 数据与文字的表示方式 真值和机器数

数据表示需要考虑的因素:

数据的类型 可能遇到的数值范围 数值精确度 数据存储和运算的硬件代价

数据的表示格式:

定点格式 浮点格式

真值: 现实中真实的数值 机器数: 计算机中用0和1组合表示的数值 定点数:固定小数点的未至表达数值的机器数 -定点整数:将小数点固定在机器数的最右侧表达的整数 -定点小数:将小数点固定在机器数的最左侧表达的小数 浮点数:小数点浮动表达的实数 无符号数:只表达0和正整数的定点整数 有符号数:表达负整数、0和正整数的定点整数 -符号位需要占用一个位,常用机器的最高位 -0表示正数,1表示负数 -具有原码、反码、补码、移码

无符号数与定点数的表示

没有符号位,使用全部字长来表示数值大小 举例:

字长N=8时,编码00000000~11111111 取值范围: 0~255(28-1)

定点表示:约定机器中所有数据的小数点位置是固定不变的。通常将数据表示成纯小数或者纯整数。 定点数x=x0x1x2……xn表示如下(x0表示符号位,0正1负) 在这里插入图片描述 举例: 在这里插入图片描述

定点小数的取值范围 纯小数的表示范围为: x1x2x3……xn各位均为0时最小,各位均为1时最大,x0为符号位

0 ≤ |x| ≤ 1 - 2-n

在这里插入图片描述 定点整数的表示范围: 纯整数的表示范围为: x1x2x3……xn各位均为0时最小,各位均为1时最大,x0为符号位

0 ≤ |x| ≤ 2-n - 1 在这里插入图片描述

目前计算机中多采用定点纯整数表示,因此将定点数的运算简称为整数运算

既然定点数有大小范围,那我们如何用定点数表示非常大的数和非常小的数呢? 我们可以引入比例因子: 在这里插入图片描述

浮点数的表示方法

把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示。 数的小数点位置随比例因子的不同而在一定范围内自由移动。

一个十进制数N可以写成:

N = 10e×M

则,一个R进制数N可写成:

N = Re× M

M:尾数 e:指数 R:基数

阶码和尾数 阶码:表达指数部分。用整数形式表示,指明小数点在数据中的位置,决定浮点数的表示范围。 尾数:用定点小数表示,给出有效数字的位数,决定了浮点数的表示精度.

在这里插入图片描述 十进制数串的表示方法: 在这里插入图片描述 BCD码 在这里插入图片描述 二十进制编码部分方案 在这里插入图片描述 二十进制有权码: 对于有权码,将每位的数码与相应的位权相乘,再求和,就可以得到它所代表的十进制数值。 8421码实现加减运算时的修正规则:

未超出9(1001),不进行修正 超出9(1001),不超过16(10000),加6修正,使它向高一组产生进位,省去最高位。 超出16(10000),加6修正。

余三码 余三码是在8421码的基础上,把每个代码都加上0011而形成的。 普通8421码的加法器仍能为余三码加法器直接利用,具体规则如下:

若两个十进制数的余三码相加,如果结果不产生进位,则从所得和值减去0011,便得十进制位和的余三码。 若两个十进制的余三码相加,如果结果有进位,则其进位正确,但仍需将所得值加上0011.才求的十进制和的余三码。

格雷码 格雷码的编码规则是使相邻的两个代码,只有一个二进制的状态不同,其余三个二进制位必须有相同状态。 优点:从一个编码变到下一个相邻编码时,只有一个位的状态发生变化,有利于保证代码变换的连续性。在模拟/数字转换和产生节拍电位等应用场合特别有用。

数的机器码表示

把符号位和数值位一起编码来表示相应的数。

-原码 -补码 -反码 -移码

原码

定点整数的原码形式为x0x1x2……xn(x0为符号位) 在这里插入图片描述举例: 在这里插入图片描述定点小数的原码形式为x0x1x2……xn(x0为符号位) 在这里插入图片描述 举例: 在这里插入图片描述 原码的表示范围: 在这里插入图片描述原码总结

原码为符号位加上数的绝对值,0正1负。 原码0有两个编码,+0和-0编码不同 原码表示简单,易于同真值之间进行转换。 原码乘除运算规则简单 原码加减运算负责 当两数相加时,同号则相加;如果是异号则相减。而在进行减法运算时,还要比较绝对值的大小,然后大数减去小数,最后还要给结果选择符号。 补码

模的概念: 计算机中运算器、寄存器、计数器都有一定的位数,不可能容纳无限大的任意数。当运算结果超出实际的最大表示范围,就会发生溢出,此时所产生的溢出量就是模(module)。 模定义为一个计量器的容量。如:一个4位的计数器它的计数值为0~15。当计数器计满15之后再加1,这个计数器就发生溢出,其溢出量为16,模等于16。定点小数的溢出量为2,即以2为模; 一个字长为n+1位的定点整数的溢出量为2n+1,即以2n+1为模。

定点整数的补码形式:x0x1x2……xn(x0为符号位) 在这里插入图片描述 举例: 在这里插入图片描述

补码与真值: 在这里插入图片描述 在这里插入图片描述 举例: 在这里插入图片描述 定点整数的补码表示: 有符号整数在计算机中默认采用补码。 -最高位表示符号,0正1负 -正数补码:直接表示数值大小(=原码=无符号数) -复数补码:将对应的正数补码取反加1

举例: 在这里插入图片描述

在这里插入图片描述 负数求补: 负数真值“取反加一”得到机器数补码 负数补码“取反加一”得到负数真值

负数求补运算,等效于用带借位的0做减法

在这里插入图片描述 补码的特点

补码最高一位为符号位,0正1负 补码零具有唯一编码 补码的加减运算规则简单 最高位参与运算,与其他位一样对待 反码

反码:二进制的各位数码0变1,1变0 有符号整数的反码:

最高位表示符号,0正1负 正数反码:直接表示数值大小(=原码=补码) 负数反码:将对应正数反码取反

在这里插入图片描述 例题: 在这里插入图片描述

移码

移码通常用于表示浮点数的阶码 假设定点整数移码形式为ekek-1……e2e1e0时,移码的定义是: 在这里插入图片描述

(计算:对应补码的符号位取反)

8位移码表示的机器数位数的真值在数轴上向右平移了27=128个位置 在这里插入图片描述 举例: 在这里插入图片描述 在这里插入图片描述机器码总结:

正数的原码、反码、补码等于真值,只有负数才分别有不同的表示方法 采用补码,减法运算可以用加法运算实现,节省硬件,目前机器中广泛采用补码表示法 有些机器用原码进行存储和传送,运算时改用补码 有些机器做加减法时用补码,做乘除法时用原码 移码表示法主要用于表示浮点数的阶码,可以直接比较大小。表示范围和补码相同,只有最高位相反

在这里插入图片描述例题: 在这里插入图片描述

浮点数的机器表示

32位单精度浮点数 IEEE754标准: 在这里插入图片描述 移码方法: E=e+127 将-126 ~ +127的范围变为正整数1 ~ 254

64位单精度浮点数 IEEE754标准 在这里插入图片描述 浮点数的规格化 在这里插入图片描述 在计算机内,浮点数的尾数是纯小数,对非0值的浮点数,要求尾数的绝对值必须 ≥ 1/2 ,即尾数域的最高有效位应为1,称满足这种表示要求的浮点数为规格化表示 把不满足这一表示要求的尾数,变成满足这一要求的尾数的操作过程,叫作浮点数的规格化处理,通过尾数移位和修改阶码实现。

隐藏位技术 既然非0值浮点数的尾数数值最高位必定为1,则在保存浮点数到内存前,通过尾数左移,强行把该位去掉,用同样多的尾数位就能多存一位二进制数,有利于提高数据表示精度,称这种处理方案使用了隐藏位技术。

在这里插入图片描述 当然,在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏位。

规格化表示原则 尾数最高有效位为1,隐藏,并且隐藏在小数点的左边(即:1≤M对不同范围的字符使用不同长度的编码

UTF-16

以16位无符号整数为单位

UTF-32

以32位无符号整数为单位

目前UTF-8和UTF-16被广泛使用,而UTF-32由于太浪费存储空间而很少被使用

2.4 校验码 校验码:能够发现甚至纠正信息传输或存储过程中出现错误的编码 检错码:仅能检测出错误的编码 纠错码:能够发现并纠正错误的编码 最简单且应用广泛的检错码:奇偶校验码 奇校验:使包括校验位在内的数据中为1的个恒为奇数 偶校验:使包括校验位在内的数据中为1的个数恒为偶数(包括0) 只能检测出奇数个位出错的情况,不能纠错

例题: 在这里插入图片描述

2.5 定点加法、减法运算 补码加法

补码加法的公式为: 在这里插入图片描述 在模2n+1意义下,任意两数的补码之和等于改两数之和的补码。

例题: 在这里插入图片描述 补码加法的特点:

符号位要作为数的一部分一起参加运算 要在模2n+1的意义下相加,即超过模的进位要丢掉 补码减法

补码减法公式是: 在这里插入图片描述 例题: 在这里插入图片描述

溢出概念与检验方法

在定点整数机器中,n+1位数的表示范围为|X|0,y>0,数值均取正的小数;(符号位单独考虑) (2) x < y ,保证:商 q = x/y也是小数。

*重点题型 除法的加减交替计算

https://blog.csdn.net/weixin_43889841/article/details/103653662

阵列除法器

早期计算机为了简化结构,硬件除法器的设计采用串行的1位除法方案。即多次执行“减法-移位”操作来实现,并使用计数器来控制移位次数由于串行除法器速度太慢,已被淘汰 阵列除法器不仅所需的控制线路少,而且能提供令人满意的高速运算。 阵列除法器有多种多样形式,如不恢复余数阵列除法器,补码阵列除法器等等。

可控加法/减法(CAS)单元

可控加法/减法(CAS)单元将用于并行除法流水逻辑阵列中,它有四个输出端和四个输入端。 当输入线P=0时,CAS作加法运算;当P=1时,CAS作减法运算 CAS单元的输入与输出的关系可用如下一组逻辑方程来表示

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述

不恢复余数(加减交替法)阵列除法器

假定所有被处理的数都是正小数 在不恢复余数的除法阵列中,每一行所执行的操作究竟是加法还是减法,取决于前一行输出的符号与被除数的符号是否一致。当出现不够减时,部分余数相对于被除数来说要改变符号。这时应该产生一个商位“0”,除数沿对角线右移,然后加到下一行的部分余数上。当部分余数不改变它的符号时,即产生商位“1”,下一行的操作应该是减法。

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 阵列除法器分析: 该阵列除法器是用CAS单元所组成的流水阵列来实 现的。 一个(n+1)位除(n+1)位的加减交替除法阵列由(n-1)2个CAS单元组成,其中两个操作数(被除数与除数)都是正的。

被除数x是一个6位的小数(双倍长度值): X =0.X1X2X3X4X5X6 它是由顶部一行和最右边的对角线上的垂直输入线来提供

除数y是一个3位的小数: y=0.y1y2y3 它沿对角线方向进入这个阵列 这是因为除法中的部分余数的左移,等效的操作是余数保持固定,而将除数沿对角线右移 商q是一个3位的数: q=0.q1q2q3 它在阵列的左边产生 余数r是一个6位的小数: r =0.00r3r4r5r6 -它在阵列的最下一行产生

最上面一行所执行的初始操作是减法,因此最上面一 行的控制线P固定置成"1" 减法是用 +[-y]补 运算来实现的,这时右端各CAS单元上的反馈线用作初始的进位输入 每一行最左边的单元的进位输出决定着商的数值。将当前的商反馈到下一行,就能确定下一行的操作。进位输出信号决定下一行的操作将进行加法还是减法。

阵列除法器的运算时间 对不恢复余数阵列除法器来说,在进行运算时,沿着每一行都有进位(或借位)传播,同时所有行在它们的进位链上都是串行连接。 而每个CAS单元的延迟时间为3T单元,因此,对一个2n位除以n位的不恢复余数阵列除法器来说,单元的数量为(n-1)2,考虑最大情况下的信号延迟,其除法执行时间为: td=(n-1)2×3T 其中n为尾数位数

在这里插入图片描述

2.8定点运算器的组成 逻辑运算

逻辑数,指不带符号的二进制数

逻辑非、逻辑加、逻辑乘、逻辑异

逻辑非也称求反,对某数进行逻辑非运算,就是按位求反,常用变量上加一横表示: 在这里插入图片描述逻辑加,对两个数的逻辑加,就是按位求”或“

在这里插入图片描述 逻辑乘,就是按位求”与“ 也称逻辑与 在这里插入图片描述 逻辑异,对两数进行异或,就是按位求它们的模2和,逻辑异又称”按位加“ 在这里插入图片描述

2.9行波进位的补码加法/减法器

在这里插入图片描述 在这里插入图片描述

2.10ALU的基本思想

本部分可先参考: ALU ALU2

理解74181ALU和74182CLA 以下为课件摘录,这一部分不好打字,本文章不详细讲解。

ALU: 算术逻辑单元(Arithmetic&logical Unit)是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分。

一位全加器(FA)的逻辑表达式为:

Fi=Ai⊕Bi⊕Ci Ci+1=AiBi+BiCi+CiAi

将A和B先组合成由控制参数S0,S1,S2,S3控制的组合函数Xi和Yi,然后再将Xi,Yi和下一位进位数通过全加器进行全加。这样,不同的控制参数可以得到不同的组合函数,因而能够实现多种算术运算和逻辑运算。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

补充: 算术运算操作是用补码表示法来表示的加是指算术加,运算时要考虑进位 符号“+ ”是指“逻辑加 减法是用补码方法进行的,其中数的反码是内部产生的,而结果输出“A减B减1”,因此做减法时需在最末位产生一个强迫进位(加1),以便产生A减B的结果 A=B输出端可指示两个数相等,因此它与其他ALU的A=B输出端按“与”逻辑连接后,可以检测两个数的相等条件 在这里插入图片描述

2.11总线

总线是计算机内各部件之间传送信息的公用的一组连线根据 总线所在位置,总线分为内部总线和外部总线两类

内部总线是指CPU内各部件的连线 外部总线是指系统总线,即CPU与存储器、I/O系统之间的连线 按总线的逻辑结构来说,总线可分为单向传送总线和双向传送总线

单向总线,就是信息只能向一个方向传送 双向总线,就是信息可以分两个方向传送,既可以发送数据,也可以接收数据

在这里插入图片描述 运算器包括ALU、阵列乘除器、寄存器、多路开关、三态缓冲器、数据总线等逻辑部件 运算器的设计,主要是围绕ALU和寄存器同数据总线之间如何传送操作数和运算结果进行的

在决定方案时,需要考虑数据传送的方便性和操作速度,在微型机和单片机中还要考虑在硅片上制作总线的工艺。

在这里插入图片描述单总线总结: 数据可以在任何两个寄存器之间,或者在任一个寄存器和ALU之间传送 在同一时间内,只能有一个操作数放在单总线上。为了把两个操作数输入到ALU,需要分两次来做,而且还需要A,B两个缓冲寄存器 主要缺点是操作速度较慢 虽然在这种结构中,输入数据和操作结果需要三次串行的选通操作,但它并不会对每种指令都增加很多执行时间,只有在对全都是CPU寄存器中的两个操作数进行操作时,单总线结构的运算器才会造成一定的时间损失。但是由于它只控制一条总线,故控制电路比较简单。

在这里插入图片描述双总线总结: 两个操作数同时加到ALU进行运算,只需一次操作控制,而且马上就可以得到运算结果

两条总线各自把其数据送至ALU的输入端。特殊寄存器分为两组,分别与一条总线交换数据。通用寄存器中的数就可进入到任一组特殊寄存器中,使数据传送更为灵活

ALU的输出不能直接加到总线上去。因为,当形成操作结果的输出时,两条总线都被输入数占据,因而必须在ALU输出端设置缓冲寄存器

假如在总线1,2和ALU输入端之间再各加一个输入缓冲寄存器,并把两个输入数先放至这两个缓冲寄存器,那么,ALU输出端就可以直接把操作结果送至总线1或总线2上去。

在这里插入图片描述三总线总结: ALU的输入端分别由2条总线供给,ALU的输出与第3三条总线相连。运算操作可以在一步控制内完成。 由于ALU本身有时间延迟,所以打入输出结果的选通脉冲必须考虑到包括这个延迟 总线旁路器,如果一个操作数不需要修改,而直接从总线2传送到总线3,可以通过控制总线旁路器把数据传出,如果一个操作数传送时需要修改,那么就借助于ALU 三总线结构的运算器的特点是操作时间快

2.12浮点运算和浮点运算器 浮点加法、减法运算

在这里插入图片描述 步骤 完成浮点加减运算的操作过程大体分为四步: 1.0操作数的检查 2.比较阶码大小并完成对阶 3.尾数进行加或减运算 4.结果规格化并进行舍入处理

0操作数的检查 浮点加减运算过程比定点运算过程复杂。如果判知两个操作数x或y中有一个数为0,即可得知运算结果而没有必要再进行后续的一系列操作以节省运算时间

比较阶码大小并完成对阶 两浮点数进行加减,首先要看两数的阶码是否相同,即小数点位置是否对齐。若二数阶码相同,表示小数点是对齐的,就可以进行尾数的加减运算。若二数阶码不同,表示小数点位置没有对齐必须使二数阶码相同,这个过程叫作对阶要对阶,首先应求出两数阶码Ex和Ey之差,即 △E = Ex - Ey

对阶: 在这里插入图片描述尾数进行加或减运算 对阶结束后,即可进行尾数的求和运算。不论加法运算还是减法运算,都按加法进行操作,其方法与定点加减法运算完全一样。

结果规格化在这里插入图片描述 舍入处理 就近舍入就是通常所说的“四舍五入”例如,尾数超出规定的23位的多余位数字是10010(>10000),多余位的值超过规定的最低有效位值的一半(16),故最低有效位应增1。若多余的5位是01111(微程序控制器

时序产生器 (Timer Generator,TG) : 产生并发出计算机所需要的时序控制信号

对各种操作信号实施时间上的控制

5.2 指令周期 指令的执行过程

—读取指令

指令地址送入主存地址寄存器 读主存,读出内容送入指定的寄存器

—分析指令 —按指令规定内容执行指令

不同指令的操作步骤数 和具体操作内容差异很大

—检查有无中断请求

若无,则转入下一条指令的执行过程 形成下一条指令地址

指令周期的概念 指令周期 :CPU从内存取出一条指令并执行完这条指令的时间总和

CPU周期 :又称机器周期,从内存读取一个指令字的最短时间

时钟周期:又称T周期 或节拍脉冲,是处理操作的最基本单位,一个CPU周期包含若干个T周期

1个指令周期 = 若干个CPU周期 1个CPU周期 = 若干个时钟周期

在这里插入图片描述 在这里插入图片描述

MOV指令

MOV是RR型指令,需要两个CPU 周期 在第一个CPU周期,即取指令阶段:

• ① 从指存取出指令 • ② 对程序计数器PC加1,以便为取下一条指令做好准备 • ③ 对指令操作码进行译码或测试,以便确定进行什么操作

在第二个CPU周期,即执行指令阶段,完成两个通用寄存器R0、R1之间的数据传送操作

在这里插入图片描述 取指周期

① 程序计数器PC中装入第1条指令地址101(八进制) ② PC的内容被放到指令地址总线ABUS(I)上,对指存进行译码,并启动读命令 ③ 从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR ④ 程序计数器内容加1,变成102,为取下一条指令做好准备 ⑤ 指令寄存器中的操作码(OP)被译码 ⑥ CPU识别出是MOV指令

执行周期

① 操作控制器(OC)送出控制信号到通用寄存器,选择R1(10)作源寄存器,选择R0作目标寄存器 ② OC送出控制信号到ALU,指定ALU做传送操作 ③ OC送出控制信号,打开ALU输出三态门,将ALU输出送到数据总线DBUS上 ④ OC送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR(10) ⑤ OC送出控制信号,将DR中的数据打入到目标寄存器R0,R0的内容由00变为10 LAD指令

LAD指令是RS型指令,共需要三个CPU周期

第1个CPU周期为取指令阶段,和MOV指令相同 第2个CPU周期将操作数的地址送往地址寄存器并完成地址译码 第3个CPU周期从内存取出操作数装入通用寄存器

LAD指令的执行周期

① 操作控制器OC发出控制命令打开IR输出三态门,将指令中的直接地址码6放到数据总线DBUS上 ② OC发出操作命令,将地址码6装入数存地址寄存器AR ③ OC发出读命令,将数存6号单元中的数100读出到DBUS上 ④ OC发出命令,将DBUS上的数据100装入缓冲寄存器DR ⑤ OC发出命令,将DR中的数100装入通用寄存器R1,原来R1中的数10被冲掉 ADD指令

ADD指令是RR型指令,共需要两个CPU周期

第1个是取指周期,与MOV指令相同 第2个是执行周期,执行加操作

在这里插入图片描述 ADD指令的执行周期

① 操作控制器OC送出控制命令到通用寄存器,选择R1做源寄存器,R2做目标寄存器 ② OC送出控制命令到ALU,指定ALU做R1(100)和R2(20)的加法操作 ③ OC送出控制命令,打开ALU输出三态门,运算结果120放DBUS上 ④ OC送出控制命令,将DBUS上数据打入缓冲寄存器DR,ALU产生的进位信号保存在状态寄存器PSW中 ⑤ OC送出控制命令,将DR(120)装入R2,R2中原来的内容20被冲掉 STO指令

STO指令是RS型指令,共需要三个CPU周期

第1个CPU周期为取指令阶段,和MOV指令相同 第2个CPU周期将操作数的地址(R3)=30送往地址寄存器并完成地址译码 第3个CPU周期将(R2)=120写入到30号单元

在这里插入图片描述STO指令的执行周期

① 操作控制器OC送出操作命令到通用寄存器,选择R3内容(30)做数据存储器的单元地址 ② OC发出操作命令,打开通用寄存器输出三态门,将地址30放到DBUS上 ③ OC发出操作命令,将地址30打入AR,并进行数存地址译码 ④ OC发出操作命令到通用寄存器,选择(R2)=120,作为数存的写入数据 ⑤ OC发出操作命令,打开通用寄存器输出三态门,将120放到DBUS上 ⑥ OC发出操作命令,将数据120写入数存30号单元,它原来的数据40被冲掉 JMP指令

JMP指令是无条件转移指令,共需要两个CPU周期

第1个CPU周期为取指令阶段,和MOV指令相同 第2个CPU周期将地址101送入程序计数器PC

在这里插入图片描述 JMP指令的执行周期

① OC发出操作控制命令,打开指令寄存器IR的输出三态门,将IR中的地址码101发送到DBUS上 ② OC发出操作控制命令,将DBUS上的地址码101打入到程序计数器PC中,PC中的原来内容106被更换 *重点题型:CPU参数计算

CPU相关性能参数的计算

用方框图语言表示指令周期

在进行计算机设计时,可以采用方框图语言来表示一条指令的指令周期

方框 :代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作 菱形 :通常用来表示某种判别或测试,时间上它依附于紧接它的前面一个方框的CPU周期, 不单独占用一个CPU周期 符号“~”代表一个公操作

在这里插入图片描述

重点例题:

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述

5.3 时序产生器和控制方式

指令周期 :CPU从内存取出一条指令并执行完这条指令的时间总和

CPU周期 :又称机器周期,CPU从内存读取一条指令字的所需的最短时间 时钟周期 :称为T周期或节拍脉冲,是处理操作的最基本单位,一个CPU周期包含若干个T周期

1个指令周期 = 若干个CPU周期 1个CPU周期 = 若干个时钟周期

思考题: 用二进制码表示的指令和数据都放在内存里,CPU是如何识别出它们是数据还是指令呢?

从时间上来说: 取指令事件发生在指令周期的第一个CPU周期中,取数据事件发生在指令周期的后面几个CPU周期中 从空间上来说: 如果取出的是指令,一定送往指令寄存器IR,如果取出的是数据,一定送往运算器

时序信号

时序信号:使计算机准确、迅速、有条不紊地工作 时序信号产生器:给计算机各部件提供工作所需的时间标志 操作控制器利用定时脉冲的顺序和不同的脉冲间隔,有条理、有节奏地指挥机器的动作

总结:

计算机的协调动作需要时间标志,而且需要采用多级时序体制,而时间标志是由时序信号体现的

组成计算机硬件的器件特性决定了时序信号最基本的体制:电位-脉冲制

在这里插入图片描述

硬布线控制器的三级时序体制

主状态周期: 一个触发器的状态持续时间,包含若干节拍电位 节拍电位: 一个节拍电位表示一个CPU周期的时间 节拍脉冲(T周期): 一个节拍电位包含若干个节拍脉冲

三级时序图 在这里插入图片描述 微程序控制器的二级时序体制 在这里插入图片描述 节拍电位

节拍电位:把一个机器周期分为若干个相等的时间段,每一个时间段对应一个电位信号,称为节拍电位信号 节拍的宽度:取决于CPU完成一次基本操作的时间

工作脉冲

在节拍中执行的有些操作需要同步定时脉冲 节拍内可设置一个或几个工作脉冲,作为各种同步脉冲的来源 工作脉冲的宽度只占节拍电位宽度的1/n,并处于节拍的末尾

CPU周期、节拍电位、节拍脉冲的时序关系

在这里插入图片描述 时序信号产生器

微程序控制器中使用的时序信号产生器的组成:

时钟源 环形脉冲发生器 节拍脉冲和读写时序 启停控制逻辑

在这里插入图片描述 启停控制逻辑

运行标志触发器Cr的Q=1,使原始信号变为CPU所需的时序信号 运行标志触发器Cr的Q=0,封锁原始信号 总清信号CLR使Cr的Q=0

在这里插入图片描述 启停控制逻辑-启动 启动:启动信号为低电平时,在T40的后沿将1打入Cr 在这里插入图片描述 启停控制逻辑-停机

停机:停机信号为低电平时,在T40的后沿将0打入Cr

在这里插入图片描述

控制方式

控制方式:控制不同操作序列时序信号的方法

-同步控制 -异步控制 -联合控制

同步控制方式

在任何情况下,已定的指令在执行时所需的CPU周期数和时钟周期数都固定不变。

根据不同情况,同步控制方式可选取如下方案:

(1)采用完全统一的机器周期执行各种不同的指令 (2)采用不定长机器周期 (3)中央控制与局部控制结合

在这里插入图片描述

完全同步控制方式 采用完全统一的、具有相同时间间隔和相同数目的节拍电位作为机器周期来运行各种不同的指令

在这里插入图片描述 采用不定长机器周期

将大多数操作安排在一个较短的机器周期内完成,对某些时间较长的操作,则采取延长机器周期的方法来解决

延长机器周期: 在这里插入图片描述 中央控制与局部控制结合

将大部分指令安排在固定的机器周期完成 对少数复杂指令采用另外的时序进行定时

异步控制方式

一般采用两条控制线,即请求线和回答线

异步控制方式小结

每条指令、每2个.异操作步控控制信制号方需式要多少时间就占用多少时间 每条指令的指令周期可由多少不等的机器周期数组成 用这种方式形成的操作控制序列没有固定的CPU周期数(节拍电位)或严格的时钟周期(节拍脉冲)与之同步

联合控制方式

同步控制和异步控制相结合的方式

情况1: 大部分操作序列安排在固定的机器周期中, 对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束 情况2: 机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定

控制器组成总结 • 指令部件

程序计数器PC 指令寄存器 指令译码器

• 时序部件

脉冲源及启停逻辑 时序信号形成部件 控制方式

在这里插入图片描述

5.4 微程序控制器 微程序控制原理

微程序控制的基本思想

将微操作控制信号按一定规则进行信息编码形成控制字(微指令),一条机器指令对应一段“程序”该程序存放在控制存储器中,当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作因为“程序”的执行结果是实现一条机器指令的功能,所以称为“指令的微程序”

数字计算机可分为控制部件和执行部件

控制器 运算器、存储器、外围设备(IO设备)

控制部件与执行部件的一种联系,就是通过控制线。控制部件通过控制线向执行部件发出各种控制命令,通常吧这种控制命令叫做微命令,而执行部件接受微命令后所进行的操作,叫做微操作。

微命令和微操作

微命令 :控制部件通过控制线向执行部件发出各种控制命令

微操作 :执行部件接受微命令后所进行的操作。

微操作可分为 相容性 和 相斥性 两种

相容性:在同时或同一个 CPU 周期内可以并行执行的微操作 相斥性:不能在同时或不能在同一个CPU 周期内并行执行的微操作

在这里插入图片描述 微指令和微程序

微指令 :在机器的一个 CPU 周期中,一组实现一定操作功能的微命令的组合,构成一条微指令 微程序 :微指令序列为微程序

机器指令和微指令的关系: 每条机器指令由一段微指令编程的微程序来解释执行

在这里插入图片描述

微指令的基本格式 在这里插入图片描述 操作控制:用来发出管理和指挥全机工作的控制信号 顺序控制:用来决定如何形成下一条微指令的地址

在这里插入图片描述 节拍电位信号和节拍脉冲信号

节拍电位信号的持续时间都是一个 CPU 周期

节拍脉冲由环形脉冲发生器产生,一个节拍电位持续时间正好包容若干个节拍脉冲

微程序控制器的组成

控制存储器:用来存放实现全部指令系统的微程序,是一种高速存储器

微地址:控存单元的地址 控存的一个单元的内容即控制字代表了某一个节拍的一组微操作控制信号的信息

微程序控制器主要由控制存储器、微指令寄存器 和 地址转移逻辑 组成

在这里插入图片描述

微程序控制器工作过程

实质上就是在微程序控制器的控制下,计算机执行机器指令的过程

从控存中取出一段取机器指令用的微程序,称为取指微程序,该微程序完成从主存中读取机器指令并送往指令寄存器。

机器指令操作码通过微地址形成部件,产生对应的微程序入口地址,并送入微地址寄存器。

逐条取出对应的微指令,每一条微指令提供一个微命令序列,控制有关的微操作。

执行完对应于一条机器指令的一段微程序后,返回到取指微程序的入口,以便取出下一条机器指令。不断重复,直至程序执行完毕。

举例: 假定数 a 和 b 已存放在 R1 和 R2 两寄存器中,数 6 存放在 R3 寄存器中。 算法要求先进行a+b+6 运算,然后判断结果有无进位;当进位标志 Cy=1 不减 6 ,当 Cy=0 ,减 6 ,从而可以获得正确的结果。

在这里插入图片描述 可以看到,十进制加法微程序流程图由四条微指令组成,每一条微指令用一个长方框表示。

第一条微指令为“取指”周期。 它是一条专门用来取机器指令的微指令,任务有三:

①从内存取出一条机器指令,并将指令放到指令寄存器R。在我们的例子中,取出的是“十进制加法”指令。 ②对程序计数器加1,做好取下一条机器指令的准备。 ③对机器指令的操作码用P,进行判别测试,然后修改微地址寄存器内容,给出下一条微指令的地址。

在我们所示的微程序流程图中,每一条微指令的地址用数字示于长方框的右上角。注意,菱形符号代表判别测试,它的动作依附于第一条微指令。第二条微指令完成a十b运算。第三条微指令完成a十b十6运算,同时又进行判别测试。不过这一次的判别标志不是P而是P2,P2用来测试进位标志Cy。根据测试结果,微程序或者转向公操作,或者转向第四条微指令。当微程序转向公操作(用符号~表示)时,如果没有外围设备请求服务,那么又转向取下一条机器指令。与此相应,第三条微指令和第四条微指令的下一个微地址就又指向第一条微指令,即“取指”微指令。

CPU周期与微指令周期的关系

在串行方式的微程序控制器中: 微指令周期=读出微指令的时间+执行该条微指令的时间

为了保证整个机器控制信号的同步,可以将一个微指令周期设计的恰好和 CPU 周期时间相等

在这里插入图片描述 在前600ns 内进行运算,在 600ns 时间末尾运算完毕,T4 上升沿将运算结果打入某个寄存器。同时,用 T4 间隔读取下条微指令,经 200ns 延迟,下条微指令从 ROM 读出,并用 T1 上升沿打入到 μIR 。如果忽略触发器翻转延迟,下一条微指令的微命令信号从 T1 上升沿开始有效, 直到下一条微指令读出后打入 μIR 为止。

总结

一条机器指令对应一个微程序,这个微程序是由若干条微指令序列组成的。简言之,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。 从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。 每一个 CPU 周期对应一条微指令。机器指令和微指令的关系总结 5.5 微程序设计技术

微指令结构的设计目标

有利于缩短微指令字长度 有利于减小控制存储器的容量 有利于提高微程序的执行速度 有利于对微指令的修改 有利于提高微程序设计的灵活性 微命令编码

微指令的一般格式为: 在这里插入图片描述

微命令编码,即操作控制字段设计方法:

直接表示法 编码表示法 混合表示法

直接表示法(不译法)

在微指令的操作控制字段中每一个微命令都用一位信息表示,对应于一种微操作。设计微指令时,选用或不选用某个微命令,只要将表示该微命令的相应位设置成 1 或 0 。

优点是简单、直观、执行速度快,微命令的并行控制能力强,编制的微程序短; 缺点是微指令字长

编码表示法(字段编译法) 把一组相斥性 的微命令信号组成一个小组( 即一个字段 ),然后通过小组 (字段)译码器对每一个微命令信号进行译码,译码输出作为操作控制信号。

优点是使微指令字大大缩短 缺点是由于增加译码电路,使微程序的执行速度稍稍减慢

编码的原则

相斥性命令分在同一字段内,相容性命令分在不同的字段内 。前者可提高信息位的利用率,缩短微指令字长;后者有利于实现并行操作,加快指令的执行速度。 一般将同类操作中互斥的微命令划分在同一个字段中。 每个小字段包含的信息位不能太多,一般不超过位,否则将增加译码线路的复杂性和译码时间。 *重点题型:微指令编码格式

微指令编码格式

例如:

某机器指令系统总共需要256 个微命令 采用直接表示法,微指令的操作控制字段需 256 位 采用编码表示法,如将控制字段分成 4 位一段,共 16段,每个字段经一个译码器输出,可获得 16 个微命令,总共 16 段就可获得 256 个微命令。微指令的操作控制字段仅 64 位。

混合表示法

把直接表示法与编码表示法混合使用,以便能综合考虑指令字长、灵活性、执行微程序速度等方 面的要求。在微指令中还可附设一个常数字段。该常数可作为操作数送入 ALU 运算,也可作为计数器初值用来控制微程序循环次数。

微地址的形成方法

根据机器指令操作码找到相应机器指令所对应的微程序的入口地址

后继微地址的产生

计数器方式 多路转移

计数器方式 与用PC 产生机器指令地址的方法相类似

在顺序执行微指令时,后继微地址由现行微地址加上一个增量来产生

在非顺序执行微指令时,必须通过转移方式,使现行微指令执行后,转去执行指定后继微地址的下一条微指令。

在这里插入图片描述

优点:微指令的顺序控制字段较短,微地址产生机构简单 缺点:多路并行转移功能较弱,速度较慢,灵活性较差

多路转移方式 一条微指令具有多个转移分支的能力称为多路转移。 在多路转移方式中:

当微程序 不产生分支 时,后继微地址直接由微指令的顺序控制字段给出 当微程序 出现分支 时,有若干“后选”微地址可供选择:即按顺序控制字段的判别测试标志和状态条件信息来选择其中一个微地址 “状态条件”有 n 位标志,可实现微程序 2n 路转移,涉及微地址寄存器的 n 位

特点:能以较短的顺序控制字段配合,实现多路并行转移,灵活性好,速度较快,但转移地址逻辑需要用组合逻辑方法实现

在这里插入图片描述

微指令格式

微指令的编译方法是决定微指令格式的主要因素

水平型微指令 垂直型微指令

水平型微指令 一次能定义并执行多个并行操作微命令的微指令 格式如下: 在这里插入图片描述

按照控制字段的编码方法不同,水平型微指令分为三种:

1 )全水平型 不译码法 微指令 2 )字段译码法(编码表示法)水平型微指令 3 )直接和译码相混合的水平型微指令

垂直型微指令 在微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能 其结构类似于机器指令的结构

实现一条机器指令的微程序要比水平型微指令编写的微程序长得多,它是采用较长的微程序结构去换取较短的微指令结构

举例: 设:微指令字长为16 位,微操作码 3位。

在这里插入图片描述 在这里插入图片描述在这里插入图片描述 在这里插入图片描述

水平型微指令与垂直型微指令的对比:

水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。 水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。 由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点。垂直型微指令则相反。 水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。

动态微程序设计

静态微程序设计 对应于一台计算机的机器指令只有一组微程序,这一组微程序设计好之后,一般无须改变而且也不好改变 。 动态微程序设计 采用E2PROM 作为控制存储器,可以通过改变微指令和微程序来改变机器的指令系统 。因而可在一台机器上实现不同类型的指令系统。这种技术又称为仿真其它机器指令系统。 5.5 硬布线控制器

• 硬布线控制器是早期设计计算机的一种方法。 • 基本思想:把控制部件看作为产生专门固定时序控制信号的逻辑电路,逻辑电路以使用最少元件和取得最高操作速度为设计目标。 • 这种逻辑电路是一种由门电路和触发器构成的复杂树形网络,故称之为硬布线控制器。

硬布线控制器的设计过程

绘制指令的流程图 :

以指令的执行过程为线索,按指令类型分类,将每条指令归纳为一个微操作序列,根据操作的先后顺序画出指令流程图。 列出微操作时间表 :把指令流程图中的微操作序列合理地安排在各个机器周期的相应节拍和脉冲中去,使它们在执行的时间上不发生冲突。 微操作的逻辑综合 :以每个微操作为单位进行“同类项合并”,就是把不同指令在不同周期状态,不同节拍和不同条件下所需要的同一微操作用逻辑关系式综合起来,然后加以简化使逻辑表达式更为合理。 电路实现 :按照最后得到的逻辑表达式组,可用一系列组合逻辑电路加以实现。

在这里插入图片描述微操作的逻辑综合 在硬布线控制器中,某一微操作控制信号由布尔代数表达式描述的输出函数产生。

设计方法和过程: 根据所有机器指令流程图,寻找出产生同一个微操作信号的所有条件,并与适当的节拍电位和节拍脉冲组合,从而写出其布尔代数表达式并进行简化,然后用门电路或可编程器件来实现。

特别注意 :控制信号是电位有效还是脉冲有效,如果是脉冲有效,必须加入节拍脉冲信号进行相“与”。

硬布线控制器的评价和时序

速度快 电路设计太复杂 增加功能不太可能 采用三级时序

硬布线控制器和微程序控制器的比较1

硬布线控制器与微程序控制器相同之处:

根据指令操作码和时序信号,产生各种控制信号,以便正确地建立各种数据通路,完成取指令和执行指令的控制。 硬布线控制的优点是由于控制器的速度取决于电路延迟,所以速度较快。 硬布线控制的主要缺点是由于将控制部件看成专门产生固定时序控制信号的逻辑电路,所以把用最少元件和取得最高速度作为设计目标。一旦设计完成,不可能通过其他的修改添加新功能。 微程序控制的主要优点是,同硬布线控制器相比,具有规整性、灵活性、可维护性等一系列优点。 微程序控制的主要缺点是由于微程序控制器采用了存储程序原理,所以每条指令都要从控存中取一次,因此影响了速度。 5.6 流水CPU 并行处理技术

并行性包含两种含义:

同时性:指两个以上事件在 同一时刻 发生; 并发性:指两个以上事件在 同一时间间隔 内发生。

–时间并行 –空间并行 –时间并行+空间并行

流水 CPU 的结构

并行处理技术的三种形式

时间并行指时间重叠,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。时间并行性概念的实现方式就是采用流水处理部件 。 空间并行空间并行指资源重复,以“数量取胜”为原则来大幅度提高计算机的处理速度。 时间并行+空间并行指时间重叠和资源重复的综合应用,既采用时间并行性,也采用空间并行性

流水计算机的系统组成

现代流水计算机的系统中CPU 按流水线方式组织,通常由三部分组成:指令部件、指令队列、执行部件。这三个功能部件可以组成一个 3 级流水线。 在这里插入图片描述 执行部件的配合

为了使存储器的存取时间能与流水线的其他各过程段的速度相匹配,一般都采用多体交叉存器。 通常采用并行的运算部件以及部件流水线的工作方式来解决 执行段的速度匹配问题 。

将执行部件分为定点执行部件和浮点执行部件两个可并行执行的部分, 分别处理定点运算指令和浮点运算指令; 在浮点执行部件中,又有浮点加法部件和浮点乘除部件,它们也可以同时执行不同的指令; 浮点运算部件都以流水线方式工作。

流水CPU的时空图 为了实现流水,首先把输入的任务或过程 分割为一系列子任务,并使各子任务能在流水线的各个阶段并发地执行。当任务连续不断地输入流水线时,在流水线的输出端便连续不断地吐出执行结果,从而实现了子任务级的并行性。

在这里插入图片描述 IF取指令 ID指令译码 EX:执行运算 WB:结果写回

在这里插入图片描述对于非流水计算机来说,上一条指令的4 个子过程全部执行完毕后才能开始下一条指令。因此,每 4 个机器周期才有一个输出结果。

在这里插入图片描述对流水计算机来说,上一条指令与下一条指令的四个子过程在时间上可以重叠执行。因此,当流水线满载时,每一个时钟周期就可以输出一个结果。

在这里插入图片描述 由图可见:在8 个单位时间内,非流水 CPU 仅可执行 2 条指令;而流水 CPU 执行了 5 条指令;超标量流水 CPU 则执行了 10 条指令。 因此,流水 CPU 显然具有更强大的数据吞吐能力。

流水线分类 指令流水线 指指令处理步骤的并行。将指令流的处理过程划分为取指令、译码、执行、写回等几个并行处理的过程段。

算术流水线 指运算操作步骤的并行。如流水加法器、流水乘法器、流水除法等。

处理机流水线 又称为宏流水线,是指程序步骤的并行。由一串级联的处理机构成流水线的各个阶段,每台处理机负责某一特定的任务。

流水线中的主要问题

流水过程中通常会出现以下三种相关冲突使流水线断流

–资源相关 –数据相关 –控制相关

资源相关是指多条指令进入流水线后,在同一机器时钟周期内争用同一个功能部件所发生的冲突。 在这里插入图片描述

解决资源相关冲突的办法

执行 IF 过程时,若存在资源相关,则采用延迟 IF法避开相关。 增设一个存储器,将指令和数据分别放在两个存储器中。或采用多端口存储器结构。 在这里插入图片描述数据相关

在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是 数据相关 的。

由于多条指令的重叠处理,当后继指令所需的操作数,刚好是前一指令的运算结果时,便发生数据相关冲突。

在这里插入图片描述 解决数据相关冲突的办法 在流水CPU 的运算器中设置若干运算结果缓冲寄存器,暂时保留运算结果,以便于后继指令直接使用,这称为:“向前”或定向传送技术。

控制相关

控制相关冲突是由转移指令引起的。当执行转移指令时,依据转移条件的产生结果,可能会顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流 。 为了减小转移指令对流水线性能的影响,常用以下两种转移处理技术:

–延迟转移法 –转移预测法

延迟转移法 由编译程序重排指令序列来实现。基本思想是“先执行再转移 ”,即:发生转移取时并不排空指令流水线,而是让紧跟在转移指令 Ib 之后已进入流水线的少数几条指令继续完成。如果这些指令是与 Ib 结果无关的有用指令,那么延迟损失时间片正好得到了有效的 利用。

转移预测法 用硬件方法来实现,依据指令过去的行为来预测将来的行为。通过使用 转移取 和 顺序取 两路指令预取队列器以及目标指令 cache ,可将转移预测提前到取指阶段进行,以获得良好的效果。

奔腾 CPU

不考,略

5.7 RISC CPU RISC 机器的特点

RISC的三个基本要素

一个有限的简单的指令集 CPU 配备大量的通用寄存器 强调对指令流水线的优化

RISC机器的特征

⑴使用等长指令,典型长度是 4 个字节 (32 位)。 ⑵寻址方式少且简单,一般为 2 、 3 种,最多不超过 4种,绝不出现存储器间接寻址方式。 ⑶只有取数指令和存数指令访问存储器。指令中最多出现 RS 型指令,绝不出现 SS 型指令。 ⑷指令集中的指令数目一般少于 100 种,指令格式一般少于 4 种。 ⑸指令功能简单,控制器多采用硬布线方式,以期更快的执行速度。 ⑹平均而言,所有指令的执行时间为一个处理时钟周期。 ⑺指令格式中用于指派整数寄存器的个数不少于 32个,用于指派浮点数寄存器的个数不少于 16 个。 ⑻强调通用寄存器资源的优化使用。 ⑼支持指令流水并强调指令流水的优化使用。 ⑽RlSC 技术的复杂性在它的编译程序,因此软件系统开发时间比 CISC 机器长。

在这里插入图片描述

第六章 总线系统 6.1 总线的概念和结构形态 总线的基本概念

总线 是构成计算机系统的 互连机构 ,是多个系统功能部件之间进行数据传送的 公共通路 一个单处理器系统中的总线,大致分为三类:

•内部总线 CPU 内部连接各寄存器及运算部件之间的总线 •系统总线 CPU 同计算机系统的其他高速功能部件,如存储器、通道等互相连接的总线 •I/O 总线 :中、低速 I/O 设备之间互相连接的总线

总线的特性 •物理特性 :指总线的物理连接方式,包括总线的根数,总线的插头、插座的形状,引脚线的排列方式等。 •功能特性 :描述总线中每一根线的功能。 •电气特性 :定义每一根线上信号的传递方向及有效电平范围。送入 CPU 的信号叫输入信号 ( IN),从 CPU 发出的信号叫输出信号 (OUT) 。 •时间特性 :定义了每根线在什么时间有效。规定了总线上各信号有效的时序关系, CPU 才能正确无误地使用。 总线的标准化 相同的指令系统,相同的功能,不同厂家生产的各功能部件在实现方法上几乎没有相同的,但各厂家生产的相同功能部件却可以互换使用,其原因在于它们都遵守了相同的总线的要求,这就是系统总线的 标准化 总线带宽:总线本身所能达到的最高传输速率,单位是兆字节 秒( MB/S)

例题: 在这里插入图片描述 总线的连接方式 •通过 设备适配器 将种类繁多、速度各异的外围设备连接到 CPU 上,使它们能够一起正常工作。设备适配器也称为接口 。

•单机系统中的总线结构有两种基本类型:

单总线结构 多总线结构

单总线结构 在这里插入图片描述

单总线特点:

结构简单,容易扩充 由于若干逻辑部件共用一条总线,因此,总线为分时工作状态,会使整机工作速度降低。

多总线结构 在这里插入图片描述 多总线结构的特点

高速、中速、低速设备连接到不同的总线上同时进行工作 提高了总线的效率和吞吐量 处理器结构的变化不影响高速总线

简单总线结构(早期总线结构) 在这里插入图片描述 早期总线的内部结构如上图所示,它实际上是处理器芯片引脚的延伸,是处理器与I/O设备适配器的通道。这种简单的总线一般也由50~100条线组成,这些线按其功能可分为三类:地址线、数据线和控制线。 地址线是单向的,用来传送主存与设备的地址; 数据线是双向的,用来传送数据; 控制线对每一根线来讲是单向的(CPU发向接口,或接口发向CPU),用来指明数据传送的方向(存储器读、存储器写、I/O读、I/O写),中断控制(请求、识别)和定时控制等。

简单总线结构的不足之处在于:

CU是总线上的唯一主控者。 总线信号是CPU引脚信号的延伸,故总线结构与CPU紧密相关,通用性较差。

当代总线结构

在这里插入图片描述数据传送总线 由地址线、数据线、控制线组成。其结构与简单总线相似,但一般是32条地址线,32或64条数据线。为了减少布线,64位数据的低32位数据线常常和地址线采用多路复用方式。 仲裁总线 包括总线请求线和总线授权线。 中断和同步总线 用于处理带优先级的中断操作,包括中断请求线和中断认可线。 公用线 包括时钟信号线、电源线、地线、系统复位线以及加电或断电的时序信号线等。

Pentium 机的总线结构分为三层: CPU 总线、 PCI总线和 ISA 总线

6.2 总线接口

信息传送方式

传输信息有三种方式: 串行传送 、 并行传送 和分时传送

出于速度和效率上的考虑,系统总线上传送的信息必须采用 并行传送 方式

串行传送 只有一条传输线,且采用脉冲传送。按顺序来传送表示一个数码的所有二进制位 ( 的脉冲信号,每次一位。

在这里插入图片描述 通信协议(通信规程):收发双方共同遵守,解决传送速率、信息格式、位同步、字符同步、数据校验等问题

•串行异步通信:以字符为单位进行传输 •串行同步通信:以一个数据块为传输单位 •传输制式

–全双工 双根传输线,能够同时发送和接收 –半双工 :单根传输线,不能同时发送和接收 –单工 :单根传输线只用作发送或只用作接收

•调制解调器 Modem :通信线路信号与计算机数字信号相互转换的设备

拆卸:在串行传送时,被传送的数据在发送部件进行并-串变换 装配:在接收部件进行串-并变换 优点:只需要一条传输线,长距离传输成本比较低廉

并行传送

•每个数据位都需要单独一条传输线。采用 电位 传送,并行传送比串行传送快得多。 在这里插入图片描述分时传送

总线复用方式 某个传输线上既传送地址信息,又传送数据信息。为此必须划分时间片,以便在不同的时间间隔中完成传送地址和传送数据的任务。 部件分时使用方式 由于多部件共享总线,因而各部件根据控制命令,分时使用总线来完成数据的传送任务。

总线接口的基本概念

接口 :即 I/O 设备适配器 ,具体指 CPU 和主存、外围设备之间通过总线进行连接的逻辑部件。

根据外围设备供求串行 / 并行数据的方式,适配器分为 串行 数据接口和 并行 数据接口两大类。

在这里插入图片描述 接口的功能

控制 缓冲 状态 转换 整理 程序中断

在这里插入图片描述

例题: 在这里插入图片描述

6.3 总线的仲裁

总线的仲裁 为了解决多个主设备同时竞争总线控制权,必须具有总线仲裁部件,以某种方式选择其中一个主设备作为总线的下一次主方。

对多个主设备提出的占用总线请求,一般采用 优先级 或 公平策略 进行仲裁。 按照总线仲裁电路的位置不同,仲裁方式分为 集中式仲裁 和 分布式仲裁 两类。

集中式仲裁 集中式仲裁中每个功能模块有两条线连到中央仲裁器: 一条是送往仲裁器的总线请求信号线BR 一条是仲裁器送出的总线授权信号线BG

集中式仲裁三种方式

链式查询方式 计数器定时查询方式 独立请求方式

在这里插入图片描述 链式查询方式的特点 •优点:只用很少几根线就能按一定优先次序实现总线仲裁,判优方法简单,扩充设备容易 •缺点:对询问链的电路故障很敏感;查询链的优先级是固定的,如果优先级高的设备出现频繁的请求时,优先级较低的设备可能长期不能使用总线

计数器定时查询方式的特点

每次计数可以从 0 开始,也可以从上次的中止点开始。如果从 0 开始,各设备的优先次序与链式查询法相同,优先级的顺序是固定的。如果从中止点开始,则每个设备使用总线的优先级相等。 计数器的初值也可用程序来设置,可以方便改变优先次序。这种灵活性以增加线数为代价 如:增加为 3根线,可管理 23 =8 个设备;增加为 4 根线,则可管理24=16 个设备等 。

独立请求方式的特点

响应时间快,确定优先响应的设备所花费的时间少 既可以预先固定,也可以通过程序来方便地改变优先次序,对优先次序的控制相当灵活 可以用屏蔽 禁止 某个请求的办法,封锁来自无效设备的请求 这种方式需增加的线数较多( N 个设备,需要 2N 根线),仲裁器的结构相应也要复杂一些。

分布式仲裁 分布式仲裁是以 优先级仲裁策略 为基础, 不需要中央仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器。

共享的仲裁总线上总是保留着当前占用总线模块的仲裁号,当其它模块有总线请求时,各仲裁器将从仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。

在这里插入图片描述

6.4 总线的定时和数据传送模式

总线的一次信息传送过程,大致可分为如下五个阶段:

请求总线 、 总线仲裁 、 寻址 、 信息传送 、 状态返回

定时:事件出现在总线上的时序关系 数据传送过程采用两种定时方式

同步定时 异步定时

同步定时 采用公共时钟,每个功能模块什么时候发送或接收信息都由统一时钟规定,因此,同步定时具有较高的传输频率

同步定时适用于总线长度较短、各功能模块存取时间比较接近的情况 微处理器控制的总线时序采用同步时序

异步定时 在异步定时协议中,后一事件出现在总线上的时刻取决于前一事件的出现,即建立在应答式或互锁机制基础上。在这种系统中,不需要统一的 公 共时钟信号。总线周期的长度是可变的。

总线数据传送模式 读操作 :数据由从设备到主设备 写操作 :数据由主设备到从设备 数据块传送 :给出起始地址,将固定块长的数据一个接一个地从相邻地址读出或写入

猝发式传送 :CPU 主存间的块传送 写后读 Read After Write 先写后读同一个地址单元,适用于校验 读修改写 Read Modify Write 先读后写同一个地址单元,适用于共享数据保护 广播 Broadcast 一个主设备对多个从设备的写入操作

6.5 PCI总线和 PCIe 总线

(不考) 略

在这里插入图片描述

HOST总线

有 CPU 总线、系统总线、主存总线、前端总线等多种名称,各自反映了总线功能的一个方面。称宿主总线,也许更全面。

HOST 总线不仅连接主存,还可以连接多个 CPU 。

HOST 总线是连接“北桥”芯片与 CPU 之间的信息通路,它是一个 64 位数据线和 32 位地址线的同步总线。32 位的地址线可支持处理器 4GB 的存储寻址空间。总线上还接有 L2 级 cache ,主存与 cache 控制器芯片。后者用来管理 CPU 对主存和 cache 的存取操作。 CPU 拥有HOST总线的控制权,但在必要情况下可放弃总线控制权。

PCI总线 连接各种高速的 PCI 设备,是一个与处理器无关的高速外围总线,又是至关重要的层间总线。

采用同步时序协议和集中式仲裁策略,并具有自动配置能力。

PCI 设备可以是主设备,也可以是从设备,或兼而有之

PCI 总线支持无限的猝发式传送。传统总线上用 DMA方式工作的设备移植到 PCI 总线上时,采用主设备工作方式即可。

系统中允许有多条 PCI 总线,它们可以使用 HOST 桥与HOST 总线相连,也可使用 PCI/PCI 桥与已经和 HOST 总线相连的 PCI 总线相连,从而得以扩充 PCI 总线负载能力。

LAGACY总线

可以是 ISA EISA MCA 等这类性能较低的传统总线,以便充分利用市场上丰富的适配器卡,支持中、低速 I/O 设备。

在 PCI 总线体系结构中有三种桥。 其中 HOST 桥又是PCI 总线控制器,含有中央仲裁器。桥起着重要的作用,它连接两条总线,使彼此间相互通信。桥又是一个总线转换部件,可以把一条总线的地址空间映射到另一条总线的地址空间上,从而使系统中任意一个总线主设备都能看到同样的一份地址表。

第七章 外存与 I/O 设备 7.1 外围设备概括

本章不重要,考点不多,了解即可

磁表面存储器的读写原理

磁表面存储器通过磁头和记录介质的相对运动完成写入和读出

写入:电磁变换 读出:磁电变换

磁盘的组成和分类

硬磁盘是指记录介质为硬质圆形盘片的磁表面存储器。它主要由 磁记录介质 、 磁盘控制器 、 磁盘驱动器 三大部分组成

硬磁盘机按盘片结构分成 可换盘片式 与 固定盘片式两种; 磁头也分为 可移动磁头 和 固定磁头 两种

温彻斯特磁盘机

温彻斯特磁盘简称温盘,是一种采用先进技术研制的 可移动磁头固定盘片 的磁盘机。

它是一种密封组合式的硬磁盘,即磁头、盘片、电机等驱动部件乃至读写电路等组装成一个不可随意拆卸的整体。

工作时,高速旋转在盘面上形成的气垫将磁头平稳浮起。优点是防尘性能好,可靠性高,对使用环境要求不高。

在这里插入图片描述 磁盘上信息的分布

盘片的上下两面都能记录信息,通常把磁盘片表面称为 记录面

记录面上一系列同心圆称为 磁道 各记录面上的同号磁道构成一个 柱面, 每个磁道又分为若干个 扇区,它是磁盘上的最小记录单位。

技术指标-存储密度 存储密度:道密度 、位密度 和 面密度

道密度 : 沿磁盘半径方向单位长度上的磁道数,单位为道/英寸

位密度 : 磁道单位长度上能记录的二进制代码位数,单位为位/英寸

面密度 : 位密度和道密度的乘积,单位为位/平方英寸

技术指标-存储容量

存储容量 :一个磁盘存储器所能存储的字节总数 格式化容量 : 指按照某种特定的记录格式所能存储信息的总量,也就是用户可以真正使用的容量 非格式化容量 : 磁记录表面可以利用的磁化单元总数,格式化容量一般是非格式化容量的60%~70%

技术指标-平均存取时间

平均存取时间: 磁盘存取时间是指从发出读写命令后,磁头从某一起始位置移动至新的记录位置,到开始从盘片表面读出或写入信息所需要的时间。

定位时间或找道时间 :将磁头定位至所要求的磁道上所需的时间, 目前平均找道时间为 10~20ms 。

等待时间 :找道完成后至磁道上需要访问的信息到达磁头下的时间。转速为7200转 /分的磁盘的平均等待时间约为 4.16 ms 。

技术指标-数据传输率

数据传输率 :磁盘存储器在单位时间内向主机传送数据的字节数

从存储设备考虑,假设磁盘旋转速度为每秒 r 转,每条磁道容量为 N 个字节,则数据传输率Dr=r × N( 字节/秒)

目前磁盘存储器的数据传输率可达几十兆字节 秒

显示设备

阴极射线管显示器CRT Cathode Ray Tube 液晶显示器LCD Liquid Crystal Display

分辨率

像素 :组成图像的最小单位 显示器上的发光点 点距 :相邻像素的距离 相邻两个相同色彩点的距离 0.31 mm 、 0.28 mm 、 0.25 mm 分辨率:显示器所能表示的像素个数 分辨率=水平点数× 垂直点数 640× 480,800 × 600,1024 × 768,1280 × 1024 点距越小,显示的图像越细腻,分辨率越高,所能表达的图像信息越多

在这里插入图片描述

第八章 输入输出系统 8.1 CPU 与外设之间的信息交换方式 外设同CPU 交换数据的过程

输入过程:

CPU 把一个地址值放在地址总线上,这一步将选择一个输入设备 CPU 等候输入设备的数据成为有效 CPU 从数据总线上读入数据,并放在一个相应的寄存器中

输出过程:

CPU 把一个地址值放在地址总线上,这一步将选择一个输出设备 CPU 把数据放在数据总线上 输出设备认为数据有效,从而把数据取走

外围设备的速度分级 CPU与外围设备之间的定时,有以下三种情况:

速度极慢或简单的外围设备 慢速或中速的外围设备 高速的外围设备

速度极慢或简单的外围设备

对于这类设备 CPU 总是能足够快地作出响应,也可以说, CPU 认为输入的数据一直有效,在这种情况下, CPU 只要接收和发送数据就可以了。称为 无条件传送方式或零线握手联络方式。

慢速或中速的外围设备

CPU 与这类设备之间的数据交换通常采用 异步定时方式

CPU 和外设之间用问答信号进行定时,这种方式叫做 应答式 数据交换

高速的外围设备 CPU 和这类设备之间通常采用 同步定时 方式,一旦 CPU 和外设发生同步,它们之间的数据交换用时钟控制来进行。

1)同步定时方式

CPU以等间隔的速率执行 I/O 指令 靠时钟脉冲控制进行

2)DMA方式

CPU与 I/O 接口之间的数据传送 无条件传送方式(简单 I/O 方式) 程序查询方式 程序中断方式 直接内存访问( DMA )方式 通道方式和输入 输出处理器

外围设备的输入输出控制方式

在这里插入图片描述

8.2 程序查询方式

程序查询方式又叫 程序控制 I/O 方式

数据在 CPU 和外围设备之间的传送完全靠计算机程序控制,是在 CPU 主动控制下进行的

当需要输入/输出时, CPU 暂停执行本程序,转去执行输入/输出的服务程序,根据服务程序中的 I/O指令进行数据传送

是一种最简单、最经济的输入/输出方式,只需要很少的硬件

设备编址 用程序实现输入输出的数据传送,外围设备有两种不同的编址方法:

统一编址 单独编址

统一编址

输入/输出设备中的控制寄存器,数据寄存器,状态寄存器等和内存单元一样看待,它们和内存单元联合在一起编排地址 可用访问内存的指令 读、写指令 去访问 I/O 设备的某个寄存器,因而不需要专门的 I/O指令

在这里插入图片描述

单独编址

内存地址和 I/O 设备地址是分开的 访问内存和访问 I/O 设备使用不同操作码的指令,有专门的 I/O 指令 控制和地址译码电路相对简单 专门的 I/O 指令使程序清晰易读主

在这里插入图片描述 输入输出指令 I/O指令一般具有如下功能:

置 “1“ 或置 “0” 设备接口的某些控制触发器,用于控制设备进行某些动作,如启动、关闭设备等

测试设备的某些状态,如“忙”、“准备就绪”等,以便决定下一步的操作

传送数据,当输入数据时,将 I/O 设备中数据寄存器的内容送到 CPU 某一寄存器;当输出数据时,将CPU 中某一寄存器的内容送到 I/O 设备的数据寄存器

在这里插入图片描述 程序查询方式的接口 接口 :总线与 I/O 设备之间的一个逻辑部件,作为一个转换器,保证 I/O 设备用计算机系统特性所要求的形式发送或接收信息

由于主机和 I/O 设备之间进行数据传送的方式不同,因而接口的逻辑结构也相应有所不同。程序查询方式最简单的程序查询方式的接口

在这里插入图片描述 优点: CPU 的操作可以和 I/O 设备操作同步,且接口硬件比较简单 缺点 : 当程序进入循环时 CPU 只能踏步等待,不能处理其他任务

在实际应用中做如下改进: CPU 在执行主程序的过程中可周期性地调用各 I/O 设备询问子程序,而询问子程序依次测试各 I/O 设备的状态触发器 "Ready ”;如果某设备的 Ready 为 ”1”,则转去执行该设备的服务子程序如该设备的 Ready 为 ”0”,则依次测试下一个设备。程序查询方式的优缺点

设备服务子程序的主要功能

(1)实现数据传送。输入时,由 I/O 指今将设备的数据送 CPU 某寄存器,再由访内指令把寄存器中的数据存入内存某单元;输出时,其过程正好相反。 (2)修改内存地址,为下一次数据传送做准备。 (3)修改传送字节数,以便修改传送长度。 (4)进行状态分析或其他控制功能。

8.3 程序中断方式 中断的基本概念

CPU 在执行程序过程中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序;服务结束后,又返回原来的断点,继续执行原来的程序

中断源 : 能够引起 CPU 中断的原因。中断源是指形成这个原因的设备、部件或条件。

中断源种类:

输入输出设备 故障与错误:电源掉电、运算出错、非法指令等 实时时钟 程序调试和软件中断:这类中断是由程序员事先安排好的,和调用子程序的作用一样, 与上述由外部硬件产生的中断有一些不同。

中断的分类 按中断源在主机内还是外分:

内部中断 :来自主机内部,如运算出错、程序调试和软件中断等 外部中断 :来自主机之外,如外部设备、实时时钟和硬件故障产生的中断等

按寻找中断服务程序入口的实现方法区分:

向量中断 :中断服务程序入口由中断源自己提供 非向量中断 :入口由 CPU 查询得到中断的分类

在这里插入图片描述 主程序只是在设备A 、 B 、 C 数据准备就绪时,才去处理 A 、 B 、 C ,进行数据交换。在速度较慢的外围设备准备自己的数据时, CPU 照常执行自己的主程序。 在这个意义上说, CPU 和外围设备的一些操作是并行地进行的,因而同串行进行的程序查询方式相比,计算机系统的效率是大大提高了。

中断响应的时间 中断请求是随机的,但 CPU 只有在当前一条指令执行完毕后,即转入公操作时才受理设备的中断请求 公操作 :是指一条指令执行结束后 CPU 所进行的操作,如取下条指令、中断处理、直接内存传送等 每当一条指令执行到末尾, CPU 便检查中断请求信号。若中断请求信号为 1””,则在条件许可的情况下CPU 即可转入 中断周期 ””,受理外界中断。

保存现场

为了在中断服务程序执行完毕以后正确地返回到原来主程序被中断的断点 (PC 内容 而继续执行主程序,执行中断服务之前,必须首先 保存现场 。

保存现场: 把程序计数器 PC 的内容,以及当前指令执行结束后 CPU 的状态字 包括某些寄存器的内容和一些状态标志位 都保存到堆栈中

关、开中断的控制 CPU 的中断管理部件中必须有一个 中断屏蔽 触发器,它可以在程序的控制下置 1 设置屏蔽 )),或置0 取消屏蔽 。只有在中断屏蔽标志为 0” 时,CPU 才可以受理中断。

硬件和软件结合来完成中断处理过程

中断周期 :硬件实现

中断服务程序 :机器指令序列实现。除执行保存现场、恢复现场、开放中断并返回主程序任务外,对要求中断的设备进行服务,使其同 CPU 交换一个字的数据,或作其他服务。

程序中断方式的基本接口 程序中断由外设接口的状态和CPU 两方面控制:

接口方面: 准备就绪标志 (RD) 和 允许中断 标志 (EI) 两个触发器,决定是否向 CPU 发出中断请求 CPU 方面: 中断请求 标志 ( IR)和 中断屏蔽标志(IM) 两个触发器,决定是否受理中断请求

四个标志触发器的具体功能 在这里插入图片描述 在这里插入图片描述

单级中断

单级中断:在执行中断的过程中,只能为本次中断服务,不允许打断服务程序,只有在服务程序完成后,才能响应新的请求。

在这里插入图片描述

单级中断源的识别

在单级中断中,通常采用 串行排队链法来实现具有公共请求线的中断源判优识别。

中断向量的产生

当 CPU 响应中断时,由硬件直接产生一个固定的地址 即 (向量地址 ),由向量地址指出每个中断源设备的中断服务程序入口,这种方法通常称为 向量中断 在硬件电路设计时,要求能够产生所有中断源的向量地址。每次响应中断时,只能产生一个向量地址,一旦电路设计好,各中断源的向量地址就不能改变了。

其它产生向量地址的方法 位移量法 :由硬件产生的向量地址不是直接地址而是一个“位移量”,将这个位移量加上 CPU 中某寄存器里存放的基地址,最后得到中断处理程序的入口地址。 向量地址转移的方法 :假设有 8 个中断源,由优先级编码电路产生 8 个对应的固定地址码,这 8 个单元中存放的是跳转转移指令,通过该指令可转入设备各自的中断服务程序入口。这种方法允许中断处理程序放在内存中任何地方,非常灵活。

多级中断

多级中断:在一次服务程序执行中,允许优先级高的打断级别低的中断服务程序,在保存断点和现场后,转去响应优先级别更高的中断程序,并执行新的中断服务程序。

一维、二维多级中断 根据系统的配置不同,多级中断可分为一维多级中断和二维多级中断

一维多级中断 是指每一级中断里只有一个中断源 二维多级中断 是指每一级中断里又有多个中断源

说明: (1)一个系统若有n级中断,在CPU中就有n个中断请求触发器,总称为中断请求寄存器;与之对应的有个中断屏蔽触发器,总称为中断屏蔽寄存器。与单级中断不同,在多级中断中,中断屏蔽寄存器的内容是一个很重要的程序现场,因此在响应中断时,需要把中断屏蔽寄存器的内容保存起来,并设置新的中断屏蔽状态。一般在某一级中断被响应后,要置“1”(关闭)本级和优先权低于本级的中断屏蔽触发器,置“0”(开放)更高级的中断屏蔽触发器,以此来实现正常的中断嵌套。

(2)多级中断中的每一级可以只有一个中断源,也可以有多个中断源。在多级中断之间可以实现中断嵌套,但是同一级内有不同中断源的中断是不能嵌套的,必须是处理完一个中断后再响应和处理同一级内其他中断源。

(3)设置多级中断的系统一般都希望有较快的中断响应时间,因此首先响应哪一级中断和哪一个中断源,都是由硬件逻辑实现,而不是用程序实现。图8.9中的中断优先级排队电路,就是用于决定优先响应中断级的硬件逻辑。另外,在二维中断结构中,除了有中断优先级排队电路确定优先响应中断级外,还要确定优先响应的中断源,一般通过链式查询的硬件逻辑来实现。显然,这里采用了独立请求方式与链式查询方式相结合的方法决定首先响应哪个中断源。

(4)和单级中断情况类似,在多级中断中也使用中断堆栈保存现场信息。使用堆栈保存现场的好处是:①控制逻辑简单,保存和恢复现场的过程按先进后出顺序进行。②每一级中断不必单独设置现场保护区,各级中断现场可按其顺序放在同一个栈里。

在这里插入图片描述 多级中断源的识别 在多级中断中,每一级均有一根中断请求线送往CPU 的中断优先级排队电路,对每一级赋予了不同的优先级。这种结构就是独立请求方式的逻辑结构。

在这里插入图片描述

Pentium中断

不考,略

8.4 DMA方式 DMA的基本概念

直接内存访问 (DMA) 是一种完全由硬件执行 I/O 交换的工作方式 •在这种方式中, DMA 控制器从 CPU 完全接管对总线的控制,数据交换不经过 CPU ,而直接在内存和 I/O 设备之间进行 •DMA 方式一般用于高速传送成组数据 •DMA 控制器向内存发出地址和控制信号,修改地址,对传送的字的个数计数,并且以中断方式向CPU 报告传送操作的结束

DMA方式的主要优点

速度快,由于 CPU 根本不参加传送操作,因此就省去了 CPU 取指令、取数、送数等操作 在数据传送过程中,没有保存现场、恢复现场之类的工作。内存地址修改、传送字个数的计数等等,也不是由软件实现,而是用硬件线路直接实现的 DMA 方式能满足高速 I/O 设备的要求,也有利于CPU 效率的发挥

DMA控制器能执行的基本操作 (1) 向 CPU 发出 DMA 请求 (2) CPU响应请求,把 CPU 工作改成 DMA 操作方式。这时, DMA 控制器从 CPU 接管总线的控制 (3)由 DMA 控制器对内存寻址,即决定数据传送的内存单元地址及数据传送个数的计数,并执行数据传送的操作 (4)向 CPU 报告 DMA 操作的结束

DMA传送方法

DMA技术的出现,使得外围设备可以通过DMA控制器直接访问内存,与此同时,CPU可以继续执行程序。

DMA 控制器与 CPU 需要分时使用内存 通常采用三种方法:

①停止CPU访内; ②周期挪用; ③DMA与CPU交替访内。

停止CPU 访问法 外围设备要求传送一批数据时,由 DMA 控制器发一个停止信号给 CPU ,要求 CPU 放弃对地址、数据和有关控制总线的使用权。 DMA 控制器获得总线控制权后,开始数据传送。一批数据传送完毕后,DMA 控制器通知 CPU 可以使用内存,并把总线控制权交还给 CPU 。

优点:控制简单,它适用于数据传输率很高的设备进行成组传送。 缺点:在 DMA 控制器访内阶段,内存的效能没有充分发挥,相当一部分内存工作周期是空闲的。

周期挪用法 当/O设备没有DMA请求时,CPU按程序要求访问内存;一旦I/O设备有DMA请求,则由I/O设备挪用一或几个内存周期。

I/O设备要求DMA传送时,可能遇到两种情况:

CPU不需要访内。I/O访内与CPU访内没有冲突,对CPU执行程序没有任何影响。 I/O设备要求访内时CPU也要求访内,产生访内冲突,I/O设备访内优先,因为/O访内有时间要求,前一个/O数据必须在下一个访内请求到来之前存取完毕。CPU延缓了对指令的执行,在CPU执行访内指令中插入DMA请求,挪用了一、二个内存周期

周期挪用的特点

周期挪用的方法既实现了 I/O 传送,又较好地发挥了内存和 CPU 的效率,是一种广泛采用的方法

但是 I/O 设备每一次周期挪用都有申请总线控制权、建立总线控制权和归还总线控制权的过程,所以传送一个字对内存来说要占用一个周期,但对 DMA控制器来说一般要 2 5 个内存周期

周期挪用的方法适用于 I/O 设备读写周期大于内存存储周期的情况,即较慢速的 I/O 设备

DMA与CPU交替访内

如果CPU的工作周期比内存存取周期长很多,此时采用交替访内的方法可以使DMA 传送和CPU同时发挥最高的效率,其原理示意图如图8.13(c)所示。假设CPU工作周期为 1.2μs,内存存取周期小于0.6us,那么一个CPU周期可分为C1和C2两个分周期,其中C1专供DMA控制器访内,C2专供CPU访内。

特点: 这种方式不需要总线使用权的申请、建立和归还过程,总线使用权是通过C1和C2分时控制的。CPU和DMA控制器各自有自己的访内地址寄存器、数据寄存器和读/写信号等控制寄存器。在C1周期中,如果DMA控制器有访内请求,可将地址、数据等信号送到总线上。在C2周期中,如CPU有访内请求,同样传送地址、数据等信号。事实上,对于总线,这是用C1,C2控制的一个多路转换器,这种总线控制权的转移几乎不需要什么时间,所以对DMA传送来讲效率是很高的。

这种传送方式又称为透明的DMA方式,其来由是这种DMA传送对CPU来说,如 同透明的玻璃一般,没有任何感觉或影响。在透明的DMA方式下工作,CPU既不停止主 程序的运行,也不进入等待状态,是一种高效率的工作方式。当然,相应的硬件逻辑也就更加复杂。

在这里插入图片描述

基本的DMA控制器

一个 DMA 控制器,实际上是采用 DMA 方式的外围设备与系统总线之间的接口电路

该接口电路是在中断接口的基础上再加 DMA 机构组成

一个最简单的 DMA 控制器由以下逻辑部件组成

内存地址计数器、字计数器、数据缓冲寄存器、DMA 请求”标志、“控制 / 状态”逻辑、中断机构

在这里插入图片描述 DMA控制器内部的逻辑器件

内存地址计数器用于存放内存中要交换的数据的地址。在DMA传送前,须通过程序将数据在内存中的起始位置送到内存地址计数器。而当DMA传送时,每交换一次数据,将地址计数器加1”,从而以增量方式给出内存中要交换的一批数据的地址

字计数器用于记录传送数据块的长度。其内容也是在数据传送之前由程序预置,在DMA传送时,每传送一个字,字计数器就加“1”,当计数器溢出即最高位产生进位时,表示这批数据传送完毕,于是引起DMA控制器向CPU发中断信号。

数据缓冲寄存器用于暂存每次传送的数据。当输入时,由设备送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备。

DMA请求标志每当设备准备好一个数据字后给出一个控制信号,使DMA请求”标志置1”。该标志置位后向控制/状态逻辑发出DMA请求,后者又向CPU发出总线使用权的请求(HOLD),CPU响应此请求后发回响应信号HLDA,“控制/状态逻辑接收此信号后发出DMA响应信号,使DMA请求标志复位,为交换下一个字做好准备

控制/状态逻辑由控制和时序电路以及状态标志等组成,用于修改内存地址计数器和字计数器指定传送类型,并对DMA请求”信号和CPU响应信号进行协调和同步。

中断机构当字计数器益出时,意味着一组数据交换完毕,由溢出信号触发中断机构,向CPU提出中断报告。

中断数据传送过程

DMA 的数据块传送过程可分为三个阶段:

传送前预处理 正式传送 传送后处理

传送前预处理 CPU 执行几条输入输出指令,测试设备状态,向DMA 控制器的设备地址寄存器中送入设备号并启动设备,向内存地址计数器中送入起始地址,向字计数器中送入交换的数据字个数。

正式传送

当外设准备好发送数据或接收数据时,它发出DMA 请求,由 DMA 控制器向 CPU 发出总线使用权的请求 (HOLD)

DMA 的数据传送以数据块为基本单位,每次DMA 控制器占用总线后,无论是数据输入操作,还是输出操作,都是通过循环来实现的

后处理

一旦 DMA 的中断请求得到响应, CPU 停止主程序的执行,转去执行中断服务程序做一些 DMA 的结束处理工作

校验送入内存的数据是否正确;决定继续用 DMA方式传送下去,还是结束传送;测试在传送过程中是否发生了错误等等

选择型DMA 控制器 选择型 DMA 控制器 在物理上 可以连接多个设备,而 在逻辑上 只允许连接一个设备

用一个 DMA 控制器 分时 为多个设备服务

选择型DMA 控制器的工作原理

从预置开始直到传送结束, DMA 控制器只为所选设备服务。下一次预置为另一选择的设备服务。

选择型 DMA 控制器相当于一个逻辑开关,根据I/O 指令来控制此开关与某个设备连接。

选择型 DMA 控制器只增加少量硬件达到了为多个外围设备服务的目的,它特别适合数据传输率很高以至接近内存存取速度的设备。

多路型DMA 控制器 多路型 DMA 控制器适合于同时为多个慢速外围设备服务

多路型 DMA 不仅 在物理上 可以连接多个外围设备,而且 在逻辑上 也允许这些外围设备同时工作,各设备以字节交叉方式通过 DMA 控制器进行数据传送

8.5 通道方式 通道的概念

通道是一个 特殊功能的处理器 ,它有自己的指令和程序专门负责数据输入输出的传输控制,而CPU将传输控制的功能下放给通道后只负责数据处理 功能。这样,通道与 CPU 分时使用内存,实现了 CPU 内部运算与 I/O 设 备的平行工作

通道的出现进一步提高了 CPU 的效率

具有通道的计算机系统

具有两种类型的总线: 存储总线 ,承担通道与内存、 CPU 与内存之间的数据传输任务。

通道总线 ,即 I/O 总线,承担外围设备与通道之间的数据传送任务。

这两类总线可以分别按照各自的时序同时进行工作

通道总线可以接若干个设备控制器,一个设备控制器可以接一个或多个设备

I/O系统的逻辑结构

从逻辑结构上讲, I/O 系统一般具有四级连接:

PU与内存 通道 设备控制器 外围设备

同一系列的机器,通道与设备控制器之间都有统一的标准接口,设备控制器与设备之间则根据设备要求不同而采用专用接口

具有通道的一般是大、中型计算机,数据流通量很大。一般接有多个通道,对不同类型的 I/O 设备可以进行分类管理

通道的优先权

存储管理部件是内存的控制部件,它的主要任务是根据事先确定的优先次序,决定下一周期由哪个部件使用存储总线访问内存

由于大多数 I/O 设备是旋转性的设备,读写信号具有实时性,不及时处理会丢失数据,所以 通道优先权高于 CPU 。 在多个通道有访内请求时, 选择通道和数组多路通道的优先权高于字节多路通道因为前者一般连接高速设备。

通道的基本功能

执行通道指令,组织外围设备和内存进行数据传输,按I/O 指令要求启动外围设备,向 CPU 报告中断等。具体有五项任务:

(1)按照 CPU 的 I/O 指令要求与指定的外设通信。 (2)从内存选取属于该通道程序的通道指令,经译码后向设备控制器和设备发送各种命令。 (3)组织外设和内存进行数据传送,提供数据缓存的空间,提供数据存入内存的地址和传送的数据量。 (4)从外设得到状态信息,形成并保存通道的状态信息,将状态信息送到内存指定单元,供 CPU 使用。 (5)将外设的中断请求和通道本身的中断请求,按次序及时报告 CPU

CPU对通道的管理

CPU 是通过 执行 I/O 指令 以及处理来自通道的 中断实现对通道的管理。来自通道的中断有两种,一种是数据传送结束中断,另一种是故障中断。

大中型计算机的 I/O 指令都是管态指令,只有当CPU 处于管态时,才能运行 I/O 指令,目态时不能运行 I/O 指令。

管态CPU:运行操作系统的管理程序的状态 目态CPU:执行目的程序时的状态

通道对设备控制器的管理

通道通过使用 通道指令 控制设备控制器进行数据传送操作,并以 通道状态字 接收设备控制器反映的外围设备的状态。设备控制器是通道对 I/O 设备实现传输控制的执行机构。

设备控制器的具体任务

从通道接受通道指令,控制外围设备完成所要求的操作 向通道反映外围设备的状态 将各种外围设备的不同信号转换成通道能够识别的标准信号

通道的类型

根据通道的工作方式分为:

选择通道 多路通道

选择通道

选择通道在物理上可以连接多个设备,但是这些设备不能同时工作,在某一段时间内只能选择一个设备进行工作。只有当这个设备的通道程序全部执行完毕后,才能执行其他设备的通道程序。

主要用于连接高速外设,如磁盘、磁带等,信息以成组方式高速传输。数据传输率可以达到 1.5MB/s即 0.67μs 传送一个字节,通道在传送两个字节之间已很少空闲。

这类设备的辅助操作时间很长,通道处于等待状态,因此整个通道的利用率不是很高。

多路通道 多路通道又称多路转换通道,在同一时间能处理多个 I/O 设备的数据传输 分为:

数组多路通道 字节多路通道

数组多路通道

基本思想:当某设备进行数据传送时,通道只为该设备服务;当设备在执行寻址等控制性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去执行其他设备的通道程序

数组多路通道不仅在物理上可以连接多个设备,而且在一段时间内能交替执行多个设备的通道程序,在逻辑上可以连接多个设备,这些设备应该是高速设备

数组多路通道既保留了选择通道高速传送数据的优点,又充分利用了控制性操作的时间间隔为其他设备服务,使通道效率充分得到发挥

字节多路通道

字节多路通道主要用于连接大量的低速设备

例如某打印机数据传输率是1000B/s ,即传送 1 个字节的间隔是 1ms ,而通道从设备接收或发送一个字节只需要几百纳秒,因此通道在传送两个字节之间有很多空闲时间,字节多路通道正是利用这个空闲时间为其他设备服务。

字节多路通道和数组多路通道的共同之处

都是多路通道,在一段时间内能交替执行多个设备的通道程序,使这些设备同时工作。

字节多路通道和数组多路通道的不同之处

数组多路通道 允许多个设备同时工作,但只允许一个设备进行传输型操作,其他设备进行控制型操作。

字节多路通道 不仅允许多个设备同时操作,而且也允许它们同时进行传输型操作。

数组多路通道 与设备之间数据传送的基本单位是数据块,通道必须为一个设备传送完一个数据块后,才能为别的设备传送数据块。

字节多路通道 与设备之间数据传送的基本单位是字节,各设备与通道之间的数据传送是以字节为单位交替进行。

通道结构的发展

输入输出处理器 (IOP) 是通道结构的 I/O 处理器。IOP 可以和 CPU 并行工作,提供高速的 DMA 处理能力,实现数据的高速传送。但它不是独立于 CPU 工作的,而是主机的一个部件。 IOP 广泛应用于中小型及微型计算机中。

外围处理机 (PPU) :PPU 基本上独立于主机工作的,有自己的指令系统,完成算术 逻辑运算,读 写主存储器,与外设交换信息等。有的外围处理机干脆就选用已有的通用机。外围处理机I/O 方式一般应用于大型高效率的计算机系统中。

本文来自作者:CK_0ff,转载请注明原文链接:https://www.cnblogs.com/Ck-0ff/p/16330517.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有