一、计算机系统概论
每个二进制数就是一个比特
1Byte(字节)=8bit
210Byte=1KB
220Byte=1MB
230Byte=1GB
240Byte=1TB
1M = 106
1.1、计算机系统简介
1、计算机的软硬件
计算机系统由“硬件”和“软件”构成。
硬件:就是计算机的实体部分,比如各种电子器件,各种实物组成
软件:由人们事先编制的具有各种特殊功能的程序组成。
软件又可分为:系统软件和应用软件。
系统软件:管理整个计算机系统
eg:操作系统、数据库管理系统
应用软件:按任务需要编制成的各种软件
eg:抖音,微信
2、计算机系统的层次结构
现代计算机的解题过程:
先用高级语言编写程序(称为源程序),然后将它和数据一起送入计算机内,再由计算机将其翻译成机器能够识别的机器语言程序(称为目标程序),机器自动运行该机器语言程序,并输出结果。如图:
最早计算机上只有机器语言,必须使用二进制代码(0,1代码)来编写,要求十分熟悉计算机硬件及其指令系统,编写难度大。
20世纪50年代开始出现符号式的程序设计语言,即汇编语言。但这种语言计算机无法识别,必须通过机器系统软件中的汇编程序来翻译为机器语言。这种具有翻译功能的汇编程序的计算机称为虚拟机(其实就是在计算机中用软件模拟的一个拥有各种系统的计算机)。如图:
由于汇编语言是面向机器的,同样是针对单独的某个机器,没有通用性,使用难度大。
20世纪60年代,开始出现了各种面向问题的高级语言,如FORTRAN、BASIC、C等。这种语言的使用十分接近人们的习惯,通用性强。程序员不必掌握机器的内部组成及指令系统等。将高级语言翻译为机器语言的程序为翻译程序:编译程序(一次全部翻译后再执行)和解释程序(翻译一句,执行一句)。
向下,在计算机内部,机器语言的每一条指令都可以翻译为一组伪指令,构成一个微程序。区别于传统机器,将其称为微指令机器。
在汇编语言与计算机之间还有一层虚拟机器,它是由操作系统构成的。提供了在汇编语言和高级语言使用及实现过程的一些操作。
3、计算机组成和计算机体系结构
计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性
计算机组成是指如何实现计算机体系结构所体现的属性,它包括了许多对程序员来说是透明的硬件细节。
1.2、计算机的基本组成
1、冯·诺依曼计算机的特点
- 计算机由五大部件组成
- 运算器
- 控制器
- 存储器
- 输入设备
- 输出设备(输入和输出称为I/Q设备)(input/output)
- 指令和数据以同等地位存于存储器,可按地址寻访
- 指令和数据用二进制表示
- 指令由操作码和地址码组成
- 存储程序,指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
- 以运算器为中心
2、硬件框图
问题:
- 以运算器为中心,数据都需要在运算器中转
- 层次乱
改进
运算器和控制器关系紧密,往往集成在同一芯片上,将它称为中央处理器,CPU
主存(内存):直接给CPU提供存储,高速,低容量,价格贵,不能永久保存数据,断电消失,需要从辅存中重新调入数据。比如:CPU的高速缓存,电脑的内存条。
外存(辅存):给主存提供数据,低速,大容量,价格低,能永久保存数据。比如:硬盘,光盘,磁盘等。
3、硬件部件
①主存储器
操作:进行一个操作时,先在MAR中判断数据的地址,然后到存储体中的相应存储单元取数据,将数据保存在MDR中
主存中包含存储体,各种逻辑元件(译码驱动),控制电路(读写控制)等。MAR和MDR现在不存放在主存中,而是存放在CPU中,可看画的图。
主存的工作方式就是按存储单元的地址号来实现对存储字各位的存(写入)、取(读出)。
存储单元:每个存储单元存放一串二进制代码
**存储字(word)**:存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数
存储元/存储元件/存储基元:即存储二进制的电子元件(电容),每个存储元可存1bit
MAR:存储器地址寄存器,它的位数就是存储体中存储单元的多少,1位就是2的1次方,2个存储单元;2位就是2的2次方,4个存储单元;3位就是2的3次方,8个存储单元
MDR:存储器数据寄存器,MDR的位数就是存储字长,它是由每个存储单元的二进制代码决定的。假如:每个存储单元可存放16bit,那1个字(word)=16bit
强调:1个字节(Byte)=8bit
1B=1个字节,1b=1个bit
触发器可以储存01状态
所有内存条存01的都不是触发器,因为太贵了
内存条里存01的是电容,因为电容能存储电荷,满电的是1,没电是0
我得到一个好处,肯定会有一个坏处
②运算器
运算器至少包括3个寄存器和一个算术逻辑单元(ALU)。
③控制器
PC执行完后,会自动加一
④计算机工作过程
CPU区分指令和数据的依据:指令周期的不同阶段
此图是CPU通过三组总线与主存(芯片)连接的不能再简化的示意图。
CPU中的MAR是“存储器地址寄存器”,MDR是“存储器数据寄存器”。PC是“程序计数器”,IR是“指令寄存器”,二者并没有画出连接。运算器中的ALU是“算术逻辑单元”。
ALU(Accumulator) 是算术逻辑单元,完成算术逻辑运算。
ACC是累加器
MQ是乘商寄存器
X是操作数寄存器
MAR 存储器地址寄存器,只要出现了PC(程序计数器)的信息,就是要去内存取指令
MDR 存储器数据寄存器
PC是程序计数器,指引CPU上内存条的某个存储单元取指令。刚通电时,里面只有0,CU将这串数据传输到MAR
IR是指令寄存器,CU控制MDR的指令数据复制一份到IR。IR到CU是有若干条线(01),IR将数据到CU。
CU是控制单元,是一个异常复杂的时序电路,解释存储器中的指令,并发出各种操作命令来执行命令。
CPU取指令受PC控制,CPU不能对硬盘、内存进行直接操作,必须拿到CPU的IR里才能执行。
1.3、性能指标
1、机器字长
01是存储字
1个存储单元存一个存储字
机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器(MDR)位数有关。
ACC是几位,机器字长就是几位。ACC可以对数据进行取反,它能一次进行几位,那机器字长也就是几位。这是一定的。
2、存储容量
存储器的容量包括主存容量和副存容量。副存容量常用字节(B)表示
MAR的个数反映了存储单元的个数,MDR的位数反映了存储字长
3、运算速度
计算机的运算速度与许多因素有关,比如机器的主频(CPU),执行什么样的操作,主存本身的速度等
现在机器的运算速度普遍采用单位时间内执行指令的平均条数来衡量,并用MIPS(Million Instruction Per Second,百万条指令每秒)作为计量单位。例如,某机每秒能执行200万条指令,则记作2MIPS。
也可以用CPI即执行一条指令所需的时钟周期(机器主频的倒数)或FLOPS(Floation Point Operation Per Second, 浮点运算次数每秒)来衡量运算速度。
1.4、本书结构
主机是指计算机除去输入输出设备以外的主要机体部分。
CPU:中央处理器,由运算器与控制器组成
指令字长是指机器指令中二进制代码的总位数。指令字长取决于从操作码的长度、操作数地址的长度和操作数地址的个数。不同的指令的字长是不同的。
1.5、习题
智慧树上,写作业本
二、计算机的发展及应用
2.1、计算机的发展史
1、历史
2、微处理器
3、硬件
4、软件
三、总线
3.1、概念
1、连接方式和特点
计算机系统五大部件之间的连接方式:
- 分散连接,各部件之间使用单独的连线(早期的计算机大多数用分散连接方式)
- 总线连接:各部件连到一组公共信息传输线上
总线:bus
传输特点:总线是连接多个部件的信息传输线,是各部件共享的传输介质。是公共传输线。在任一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。
2、总线结构
单总线结构
只有 一条总线,当某一时刻各部件都要占用总线时,会发生冲突。即使按照优先级进行运算,也会影响速度
面向CPU的双总线结构
在IO设备与主存交换信息时仍会占用CPU
以存储器为中心的双总线结构
优点是信息传送速率高;其缺点是需要增加硬件的投资。
3.2、总线的分类
按数据传送方式可分为并行传输总线和串行传输总线。
串行:一位位的传输,一条通道.速度慢,但可靠
并行:多条通道,同时传输。适用于近距离,速度快
在并行传输总线中,又可按数据宽度分为8位、16位、32位、64位等传输总线。
按总线的使用范围划分,又计算机(包括外设)总线、测控总线、网络通信总线等。
1、片内总线
片内总线是指芯片内部的总线,如在CPU芯片内部,寄存器与寄存器之间、寄存器与算术逻辑单元之间都由片内总线连接。
2、系统总线(片外)
系统总线是指CPU、内存、I/O设备(通过I/O接口)各大部件之间的信息传输线。
由于这些部件通常都安放在主板或各个插件板(插卡)上,故又称板级总线(在一块电路板上各芯片间的连线)或板间总线。
按系统总线传输信息的不同,可分为
数据总线(DB)
数据总线用来传输各功能部件之间的数据信息,它是双向传输线,其位数与机器字长、存储字长有关,一般为8位、16位或32位。
数据总线的根数称为数据总线宽度。
如果数据总线的宽度为8位,指令字长为16位,那么CPU在取指阶段必须两次访问主存。
地址总线(AB)
地址总线主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。
与存储单元的个数有关
单向传输
控制总线(CB)
控制总线是用来发出各种控制信号的传输线。
对任一控制线来说,是单向的;但对控制总线总体来说,是双向的。
常见的控制信号:
- 时钟 i :用来同步各种操作
- 复位:初始化所有部件
- 中断请求:表示某部件提出中断请求
- 存储器写:将数据总线上的数据写至存储器的指定地址单元内
- 存储器读:将指定存储单元中的数据读到数据总线上
- I/O读:从指定的I/O端口将数据读到数据总线上
- I/O写:将数据总线上的数据输出到指定的I/O端口内
3、通信总线
传输方式:串行通信和并行通信
串行通信是指数据在单条1位宽的传输线上,一位一位地按顺序分时传送。
并行通信是指数据在多条并行1位宽的传输线上,同时由源传送到目的地。
并行通信适宜于近距离的数据传输,通常小于30m;串行通信适宜于远距离传输。
3.3、总线特性及性能指标
1、总线特性
物理实现
- 机械特性
总线在机械连接方式上的性能:几何尺寸、形状、引脚个数、排列顺序、接头处的可靠接触 - 电气特性
是指总线的每一根传输线上信号的传递方向和有效的电平范围。
由CPU发出的信号是输出信号,进入CPU的信号是输入信号。
大多数总线的电平定义与TTL是相符的,但也有例外。
如RS-232C(串行总线接口标准)规定低电平表示逻辑“1”,并表示电平低于-3V;高电平表示逻辑“0”,电平高于“+3V” - 功能特性
指总线中每根传输线的功能。
比如:地址总线用来指出地址码;数据总线传输数据;控制总线发出控制信号,如存储器读写等。 - 时间特性
指总线中的任一根线在什么时间内有效。
信号的时序关系
2、总线性能指标
总线宽度:数据总线的根数,用bit(位)表示。如8位(8根)
总线带宽:总线的数据传输速率,即单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量,单位MBps(兆字节每秒)。
例如:总线工作频率位33MHz,总线宽度为32位(4B),则总线带宽为 33 ×(32 / 8)=132MBps时钟同步/异步
总线复用:一条信号线上分时传送不同的信号。
为了提高总线的利用率,将地址总线和数据总线共用一组物理线路。不同的时间传送不同的信息,比如地址信息和数据信息
信号线数:地址线,数据线和控制线的总和。
总线控制方式:突发、自动、仲裁、逻辑、计数
总线的传输周期:总线完成一次完整而可靠的传输所需时间
其他指标:负载能力等
3、总线标准
ISA总线
Industrial Standard Architecture
IBM采用全16位的CPU推出的,又称AT总线。可使用独立于CPU的总线时钟,有利于CPU性能的提高。
不支持多台主设备系统,在ISA上的所有数据必须通过CPU或DMA(直接存储器存取)。
ISA总线时钟频率为8MHz,最大传输率为16MBps,数据线为16位,地址线为24位。EISA总线
Extended Industrial Standard Architecture
是一种在ISA基础上扩充的总线标准,可与ISA兼容
从CPU中分离了总线控制权,能支持多个总线主控器和突发方式的传输
时钟频率为8MHz,最大传输率可达33MBps,数据总线为32位,地址总线位32位,扩充DMA访问范围达232VESA(VL-BUS)总线
是由VESA(Video Electronic Standard Association,视频电子标准协会)提出的局部总线标准,又称VL-BUS(Local BUS)总线
局部总线:指在系统外为两个以上模块提供的高速传输信息通道PCI
Peripheral Component Interconnect,外围部件互连支持即插即用(Plug and Play)
多路复用技术,减少了总线引脚的个数AGP
Accelerated Graphics Port,加速图形端口
显示卡专用的局部总线RS-232C总线
Recommended Standard,232为标识号,C表示修改次数
串行通信总线标准
应用于二进制交换的数据终端设备(DTE)和数据通信设备(DCE)之间的标准接口USB总线
Universal Serial Bus 通用串行总线
具有真正的即插即用特征。用户可在不关机的情况下,对外设进行安装和拆卸
具有很强的连接能力,使用USB HUB(USB集线器)最多可链式127个外设
标准统一数据传输率(USB 1.0版)有两种,即采用普通无屏蔽双绞线,速度可达1.5Mbps,若用屏蔽的双绞线,速度可达 12Mbps。USB 2.0版的数据传输率最高可达 480 Mbps。
3.4、总线结构
总线结构通常可分为:单总线结构和多总线结构
1、单总线结构
CPU、主存、I/O设备都挂在一组总线上,交换信息。
便于扩充,但是总线便是计算机系统的瓶颈。
2、多总线结构
双总线结构
将速度较低的I/O设备从单总线上分离,形成主存总线与I/O总线分开的结构。
通道是一个具有特殊功能 的处理器,CPU将一部分功能下放给通道,使其对I/O设备具有统一管理的功能。多用于大、中、小型计算机系统。
三总线结构
将速率不同的I/O设备进行分类,连接在不同的通道上,工作效率会更高。
DMA总线用于高速I/O设备(磁盘、磁带等)与主存之间直接交换信息。
任一时刻,只能使用一种总线。
三总线结构的另一种形式
3、四总线结构
3.5、总线控制
主要包括判优控制(仲裁逻辑)和通信控制
1、总线判优控制
解决多个部件同时申请总线的使用权分配问题
主设备:对总线有控制权
从设备:只能响应从 主设备发来的总线命令,对总线没有控制权。
总线上信息的传递是由主设备启动的,比如某个主设备欲与另一个设备进行通信,首先由主设备发出总线请求信号,若多个主设备同时要使用总线,就由总线控制器进行判优使用。
总线判优控制可分为集中式和分布式,前者将控制逻辑集中在一处(如在CPU中),后者将控制逻辑分散在与总线连接的各个部件或设备上。
常见的集中控制优先权仲裁方式有以下三种。
(1)链式查询
特点:只需要很少几根线就能按一定有效次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感,且优先级低的设备很难获得请求。
首先I/O设备发出BR,
总线控制部件发出BG,如果到发出BR的I/O设备,I/O设备进行通信,发出BS;否则,进行下一个
(2)计数器定时查询
总线控制部件接到由BR送来的总线请求信号后,在总线未被使用(BS=0)的情况下,总线控制部件中的计数器开始计数,并通过设备地址线,向各设备发出一组地址信号。当某个请求占用总线的设备地址与计数值一致时,便获得了总线使用权,此时终止计数查询。
(3)独立请求方式
当设备要求使用总线时,便发出该设备的请求信号。总线控制部件中有一排队电路,可根据优先级确定响应哪一台设备的请求。
响应速度快,优先次序控制灵活,但控制线数量多,总线控制更复杂。
2、总线通信控制
目的:解决双方协调配合问题。
总线传送周期:
- 申请分配阶段:主模块申请,总线仲裁决定
- 寻址阶段:主模块向从模块给出地址和命令,启动从模块
- 传数阶段:主模块和从模块交换数据
- 结束阶段:主模块撤销有关信息,让出总线控制权
总线通信控制通常用四种方式:同步通信、异步通信、半同步通信和分离式通信。
①、同步通信
通信双方由统一时标控制数据传送,控制方式简单,灵活性差
时标通常由CPU的总线控制部件发出,送到总线上的所有部件。
同步数据输入
CPU在T1上升沿发出地址信息
在T2的上升沿发出读命令
在T3的上升沿之前将CPU所需的数据送到数据总线,在T3时钟周期内,将数据线上的信息送到其内部存储器
在T4的上升沿撤销读命令
同步通信输出
在T1的上升沿发地址
在T1的下降沿提供数据
在T2的上升沿发出写命令
在T4的上升沿撤销写命令和数据
在T4的下降沿撤销地址
优点
规定明确、统一、模块间的配合简单一致。
缺点
主、从模块时间配合属于强制性“同步”,必须在限定时间内完成规定的要求。
且所有从模块都使用同一限时,对不同速度的部件来说,必须按最慢速度的部件来设计公共时针,严重影响工作效率。
一般用于总线长度较短、各部件存取时间比较一致的场合。
②、异步通信
采用应答方式(握手方式),没有公共时钟标准,允许各模块速度的不一致性
当主模块发出请求(Request)信号时,一直等待从模块反馈回来“响应”信号后,才开始通信。
应答方式可分为不互锁、半互锁、全互锁三种。
③、半同步通信
同步、异步结合
以输入数据为例的半同步通信时序
T1 主模块发地址
T2 主模块发命令
Tw 当 $\overline{WAIT}$为低电平时,等待一个T
Tw 当 $\overline{WAIT}$为低电平时,等待一个T
。。。。。
T3 从模块提供数据
T4 从模块撤销数据,主模块撤销命令
④、共同点
上述三种通信的共同点:
一个总线传输周期(以输入数据为例)
- 主模块发地址、命令 占用总线
- 从模块准备数据 不占用总线 总线空闲
- 从模块向主模块发数据 占用总线
⑤、分离式通信(自学)
充分挖掘系统总线每个瞬间的
3.6、作业
3.13、什么是总线的数据传送速率,它与哪些因素有关?
总线数据传输率即总线带宽,指单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量。它与总线带宽和总线频率有关,总线带宽越宽,频率越快,数据传输率越高。
四、存储器
4.1、概述
1、存储器分类
按存储介质分类
- 半导体存储器 半导体元件 易失
- 磁表面存储器 磁头、载磁体 非易失
- 磁芯存储器 硬磁材料、环状元件 非易失
- 光盘存储器 激光、磁光材料 非易失
按存取方式分类
(1)存取时间与物理地址无关(随机访问)
随机存储器 在程序的执行过程中可读可写RAM只读存储器 在程序的执行过程中只读ROM
(2)存取时间与物理地址有关(串行访问)
顺序存取存储器 磁带
直接存取存储器 磁盘
按在计算机中的作用分类
静态RAM=SRAM,存01的电路就是触发器
动态RAM=DRAM,存01的电路是电容
静态RAM速度高于动态RAM
Cache:高速缓冲存储器,介于CPU和主存之间,用于解决CPU和主存之间速度不匹配的问题。
不能将Cache扩大,替代主存,
因为:Cache容量越大,成本越高,
如果取消主存,当CPU访问Cache失败时,需要将辅存的内容调入Cache再由CPU访问,造成CPU等待时间太长
Flash Memory:闪速存储器。或称快擦型存储器
2、层次结构
3个性能指标:速度、容量和每位价格(位价)。
速度越高,位价越高;容量越大,位价越低,速度越低。
寄存器最快,位价最高,容量最小,放在CPU中。
在主存和CPU之间插入了高速缓冲存储器Cache,方便匹配主存和CPU的速度。
主存用来存放将要参与运行的程序和数据,和CPU的速度较大。
磁盘、光盘、和磁带容量很大,存放暂时未用到的程序和数据,CPU不能直接访问,辅存只能与主存交换信息。
层次结构
缓存-主存层次主要解决CPU和主存速度不匹配的问题。缓存速度比主存快,将CPU要用到的信息调入缓存,CPU可以直接换取信息,提高访问速度。但是缓存容量小,需要不断将主存内容调入缓存。主存和缓存之间的数据调动是硬件自动完成的,对程序员是透明的。
从CPU角度来看,它的速度接近于缓存,高于主存;其容量和位价却接近于主存。
主存-辅存层次主要解决存储系统的容量问题。当CPU需要用到辅存的信息时,再将辅存的信息调入主存,供CPU直接访问。主存和辅存之间的数据调动是由硬件和操作系统共同完成后的。
从整体分析,其速度接近主存,容量接近缓存,平均位价也接近辅存。
主存和辅存之间形成了虚拟存储系统,它的地址为虚地址,比实际存储单元个数要大。而主存的实际地址称为物理地址或实地址,这是程序真正访问的地址。若虚地址在主存,可以直接访问;若不在,需要将数据传递到主存后再进行访问。
4.2、主存储器
1、概述
①、主存的基本构成
MDR和数据总线位置画反了,MDR在CPU里面
②主存和CPU的关系
当要从存储器读出某一信息字时
首先由CPU将该字的地址送到MAR,经地址总线送到主存,然后发出读命令。
主存接到读命令后,得知需将该地址单元的内容读出,便完成读操作,将该单元的内容读至数据总线上,CPU决定送到什么地方。
向主存存入一个信息字
首先CPU将该字所在主存单元的地址经MAR送到地址总线,并将信息字送入MDR,然后向主存发出写命令,主存接到命令后,便将数据线上的信息写入都爱对应地址线指出的主存单元中。
③、主存中存储单元地址的分配
主存各存储单元的空间位置是由单元地址号来表示,而地址总线是用来指出存储单元地址线的,根据该地址进行读出或写入。
常用8位二进制数表示一个字节,因此,存储字长都取8的倍数
④、主存的技术指标
(1)存储容量
主存能存放二进制代码的总位数
存储容量= 存储单元个数 × 存储字长
用字节表示 存储容量= 存储单元个数 × 存储字长 / 8
现在常用字节数表示
(2)存储速度
存储速度由存取时间和存取周期来表示的。
存取时间(存储器的访问时间)(Memory Access Time),是指启动一次存储器操作(读或写)到完成该操作所需的全部时间。存取时间又可分为读出时间和写入时间。读出时间是从存储器接收到有效地址开始,到产生有效输出所需的全部时间。写入时间是从存储器接收到有效地址,到数据写入到被选中单元为止的时间。
存取周期(Memory Cycle Time)是指存储器进行连续两次独立操作的最小间隔时间,包含存取时间后的线路恢复时间。
(3)存储器带宽
表示单位时间内存储器存取的信息量
用字/秒 或 字节/秒 表示
2、半导体存储芯片简介
①、基本结构
- 地址线:单向输出,位数与芯片容量有关
- 数据线:双向输出,数据线的位数与芯片容量(数据位数)有关。
- 控制线:有读/写控制与片选线两种
译码驱动:把地址总线送来的地址信号翻译成对应存储单元的选择信号,该信号在读/写电路的配合下完成读/写操作。
16K等于214个地址
片选线:$\overline{CS}$。无信号,不工作。 低电平有效
8位:每个一位并联
②、译码驱动方式
(1)线选法
用一根字选择线直接选中一根存储单元。
结构简单,但只适用于容量不大的存储芯片。
一条线,一个地址,
(2)重合法
将地址线分为两部分,一部分判断行,另一部分判断列,只有一个读写线。
3、随机存取存储器(RAM)
主要用作计算机中的主存
①、静态RAM(SRAM)
Static RAM
静态RAM基本单元电路
存储器中用于寄存“0”和“1”代码的电路称为存储器的基本单元电路。
MOS管是半导体制造工艺的一种。
行地址选择、列地址选择的译码驱动是 重合法
静态RAM芯片
$\overline{WE},write \ enabled,低电平为写,高电平为读$
$\overline{CS}片选信号,0有效,1无效$
$A_9 \sim A_0为地址输入端,I/O_1\sim I/O_4为数据输入/输出端$
②、动态RAM (DRAM)
Dynamic RAM
常见的动态RAM有三管式和单管式,
原理:电容存储电荷。有表示1,没有电荷表示0
缺点:速度慢;电容自己放电,需要定时充电
动态RAM基本单元电路
三管MOS动态RAM 和 单管MOS动态RAM
10个地址线,1K个存储单元
动态RAM刷新
刷新:对DRAM定期进行的全部重写过程
刷新原因:因电容泄露而引起的DRAM所存信息的衰减需要及时补充
刷新与行地址有关
1、集中刷新
在每个最大刷新间隔时间内,集中安排一段时间进行刷新,存在死区
在每个读写周期之后插入一个刷新周期,无死区
4、只读存储器(ROM)
由芯片制造商在制造时写入内容,只能读,不能写
掩模ROM(MROM)
行列选择线交叉处有MOS管为“1”行列选择线交叉处无MOS管为“0”
经读放大器反相输出后取反,变为“0”和“1”
PROM(一次性编程)
可编程只读存储器,由用户根据需要写入内容,只能写入一次EPROM(多次性编程)
可擦除可编程只读存储器
改写:用紫外线照射,但擦除时间比较长,而且不能对个别需改写的单元进行单独擦写或重写EEPROM(多次性编程)
电擦写可编程只读存储器
用电气方法将存储内容擦写,再重写。甚至在联机条件下,用字擦除方式或页擦除方式,既可局部擦写,又可全部擦写,
电可擦写
局部擦写全部擦写
Flask Memory(闪速型存储器)
快擦型存储器
可擦写非易失性存储器既具有EPROM 价格便宜,集成度高的特点,
也具有EEPROM 电可擦写,重写的功能
比EEPROM快,具备RAM功能,可与CPU直接连接。
非易失性、长期反复使用的大容量闪速存储器还可替代磁盘,比如,在笔记本手掌型袖珍计算机都采用闪速存储器做成固态盘替代磁盘。CDROM只读型光盘
5、存储器与CPU的连接
①、存储器容量的扩展
(1)位扩展(增加存储字长)
片选信号连在一条线上,两个芯片各连数据线的一半。同时运行,各占一半
(2)字扩展(增加存储字的数量)
地址线不够,多出的一根连在片选信号上,是0,则前一个芯片运行;是1,则后一个芯片运行
(3)字、位扩展
既增加存储字的数量,又增加存储字长。
②、存储器与CPU的连接
(1)地址线的连接
存储芯片的容量不同,其地址线数也不同。
CPU的地址线数往往比存储芯片的地址线数多,通常将CPU地址线的低位与存储芯片的地址线相连。
比如:1K×4位的芯片仅有10根地址线,则CPU拿出10根地址线A9~A0相连。
(2)数据线的连接
CPU的数据线与存储芯片也不一定相等。
需要对存储芯片进行扩位,使其数据位数与CPU 的位数相等。
(3)读/写命令线的连接
通常高电平为读,低电平为写。
(4)片选线的连接
片选线的连接是CPU与存储芯片正确工作的关键。
存储器由许多存储芯片组成,哪一片被选中完全取决于该存储芯片的片选控制端$\overline{CS}$能否接收到来自CPU的片选有效信号。
(5)合理选择存储芯片
指存储芯片类型(RAM或ROM)和数量的选择。通常选用ROM存放系统程序、标准子程序和各类常数等。RAM则是为用户编程而设置的。此外,在考虑芯片数量时,要尽量使连线简单方便。
(6)其他 时序、负载
例子
ROM单向,RAM双向
6、存储器的校验
①、编码的最小距离
组差:每一组的第一个 相减
②、汉明码的组成(考)
③、例题
按配奇,P4,P2,P1也需要取非,找到错的位置
7、提高访存速度的措施
4.3、高速缓冲存储器Cache
1、概述
①、为什么用Cache
在多体并行存储系统中,由于I/O设备向主存请求的级别高于CPU访存,这就出现了CPU等待I/O设别访存的现象,降低了CPU的工作效率。
- 为了避免CPU与I/O设备争抢访存,可在CPU与主存之间加一级缓存,这样,主存可将CPU要取的信息提前送至缓存,一旦主存在与I/O设备交换时,CPU可直接从缓存中读取所需信息,不必空等而影响效率。
- 从另一角度来看,主存速度的提高始终跟不上CPU的发展。CPU的速度每年改进60%,组成主存的动态RAM速度平均每年只改进7%。
Cache的出现使CPU可以不直接访问主存,而与高速Cache交换信息。
通过大量典型程序的分析,发现CPU从主存取指令或取数据,在一定时间内,只是对主存局部地址区域的访问。这是由于指令和数据在主存内部是连续存放的,并且有些指令和数据往往会被多次调用(如子程序、循环程序和一些常数),即指令和数据在主存的地址分布不是随机的,而是相对的簇聚,使得CPU在执行程序时,访存具有相对的局部性,这就称为程序访问的局部性原理。
根据程序访问的局部性原理,可以将CPU近期要用到的程序和数据提前送到Cache,就可以让CPU在一定时间内只访问Cache.
②、Cache的工作原理
(1)主存和缓存的编址
(2)命中与未命中
CPU 欲读取主存某字时,有两种可能:
一种是所需要的字已在缓存中,即可直接访问;(命中)
另一种是所需的字不在Cache内,此时需将该字所在的主存整个字块一次调入 Cache中(Cache 与主存之间是字块传递)。(不命中)
命中:指的是主存块调入缓存
主存块与缓冲块建立了对应联系
未命中:主存块未调入缓存
主存块与缓存块未建立对应关系
由于缓存的块数C远小于主存的块数M,因此,一个缓存块不能惟一地、永久地只对应一个主存块,故每个缓存块需设一个标记,用来表示当前存放的是哪一个主存块,该标记的内容相当于主存块的编号。
(3)Cache 的命中率
CPU 欲访问的信息在Cache中的比率
一般每块可取4~8个字
块长取一个存取周期内从主存调出的信息长度
在一个程序执行期间,设Nc为访问Cache的总命中次数,Nm为访问主存的总次数,命中率h为$h=\frac{N_c}{N_c+N_m}$
设 tc 为命中时的 Cache 访问时间, tm为未命中时的主存访问时间,1-h 表示未命中率,则Cache-主存系统的平均访问时间ta为$t_a=ht_c+(1-h)t_m$
命中率与Cache 的容量与块长有关
一般而言,Cache容量越大,其CPU的命中率就越高。当然,容量没必要太大,太大会增加成本,而且当容量达到一定值时,命中率已不因容量的增大而有明显的提高。因此,Cache容量是总成本价与命中率的折中值。例如:80386的主存最大容量为4GB,其与配套的Cache容量为16KB或32KB,其命中率可达95%以上。
块长与命中率之间的关系更为复杂,它取决于各程序的局部特性。当块由小到大增长时,起初会因局部性原理使命中率有所提高。由于块长的增大,导致缓存中块数的减少,而新装入的块要覆盖旧块,很可能出现少数块刚刚装入就被覆盖,因此命中率反而下降。
(4)Cache-主存系统的效率
③、Cache的基本结构
主要由Cache存储体、地址映射变换机构、Cache替换机构组成。
(1)Cache存储体
Cache存储体以块为单位与主存交换信息,为加速Cache与主存之间的调动,主存大多采用多体结构,且Cache访存的优先级最高。
(2)地址映射变换机构
地址映射变换机构是将CPU送来的主存地址转换为Cache地址。由于主存和Cache的块大小相同,块内地址都是相对于块的起始地址的偏移量(即第位地址相同),因此地址变换主要是主存的块号(高位地址)与Cache块号间的转换。
④、Cache 的读写操作
⑤、Cache 的改进
(1)增加Cache的级数
2、Cache-主存的地址映射
①、直接映射
②、全相联映射
③、组相联映射
例4.8、4.9、4.10、4.11自学(考研)
有可能是字节寻址、
3、替换算法
- 先进先出
- 近期最少使用
- 随机法
4.4、辅助存储器
1、概述
2、磁记录原理
- 归零制(RZ)
- 不归零制(NRZ)
- “见1就翻”的不归零制(NRZ1)
- 调相制(PM)
- 调频制(FM)
- 改进型调频制(MFM)
3、磁硬盘存储器
IBM发明的
①、硬磁盘存储器的类型
硬磁盘存储器的盘片是由硬质铝合金材料制成的,其表面涂有一层可被磁化的硬磁特性材料。
(1)固定磁头和移动磁头
(2)可换盘和固定盘
最外边最小,最里面最大
盘片要密封
磁头是悬浮的,不用盘片接触
②、硬磁盘存储结构
磁盘控制器相当于硬盘接口
盘片在驱动器里面,它们是一块
最外边最小,最里面最大
盘片要密封
磁头是悬浮的,不用盘片接触
发展方向:
例4.12、4.13、4.14自学了解
4、软磁盘存储器(自学)
5、光盘存储器
- 只读型光盘(CD-ROM)
- 只写一次型光盘(WORM)
- 可擦写型光盘
光盘的存储原理:
作业
25.程序的局部性原理是指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大(大约5:1)。存储系统中缓存-主存层次和主存-辅存层次均采用了程序访问的局部性原理。
五、输入输出系统
5.1、概述
1、输入输出系统的发展概况
①、早期
分散连接
CPU和I/O设备 串行工作 程序查询方式
②、接口模块和 DMA阶段
总线连接
CPU和I/O设备并行工作
中断方式
DMA方式(直接存储器存取)(Direct Memory Access,DMA),在I/O设备和主存之间有一条通路
③、具有通道结构的阶段
通道是一种具有特殊功能的处理器。通道有专用的通道指令,能独立地执行用通道指令所编写的输入输出程序,但不是一个完全独立的处理器。是从属于CPU的一个专用处理器。依据CPU的I/O指令进行启动、停止或改变工作状态。
④、具有I/O处理机的阶段
I/O处理机又称为外围处理机(Peripheral Processor)
基本独立于主机,具有独立性。依然受CPU控制。
2、输入输出系统的组成
输入输出系统由 I/O软件和I/O硬件组成。
①、I/O软件
(1)I/O指令
CPU指令的一部分
设备码:设备的地址,与I/O设备连接的接口里面
(2)通道指令(通道控制字)
通道自身的指令,用来执行I/O操作。而I/O指令是CPU系统的一部分。
通道程序由通道指令组成,完成某种外围设备与主存之间传送信息的操作。
指出数组的首地址、传送字数、操作命令
如IBM/370通道指令为64位
②、I/O硬件
设备 I/O接口
一个通道可以控制多个设备控制器,而一个设备控制器又可以控制多个设备
3、I/O设备与主机的联系方式
①、I/O设备编址方式
(1)统一编址 将I/O地址看做是存储器地址的一部分。在存储器地址中划出一部分作为I/O地址,在这其中的访问,就是对I/O设备访问。
(2)不统一编址 将I/O地址和存储器地址分开,对I/O设备的访问用专门的I/O指令
②、设备编址
用设备选择电路识别是否被选中
③、传送方式
(1)串行,同一时刻,只传送一位数据。传送速度慢,但只需一根数据线和一根地线。
(2)并行,同一时刻,传送多位数据。传送数据快,但要求数据线较多。
④、联络方式
(1)立即响应
只要CPU的I/O指令一到,设备立即响应。比如,指示灯的亮与灭,开关的通与断。
(2)异步工作采用应答信号
(3)同步工作采用同步时标
要求I/O设备和CPU的工作速度完全同步,需要用到同步时标。
⑤、I/O设备与主机的连接方式
(1)辐射式连接
(2)总线连接
通过一组总线(包括地址线、数据线、控制线等),将所有的I/O设备与主机相连。
便于增删设备
4、I/O设备与主机信息传送的控制方式
I/O设备与主机交换信息时,共有5种控制方式:程序查询方式、程序中断方式、直接存储器存取方式(DMA)、I/O通道方式、I/O处理机方式
①、程序查询方式
程序查询方式是由CPU通过程序不断查询I/O设备是否已做好准备。
若查得I/O设备未准备就绪,就继续查询;若准备就绪,就将数据从I/O中送接口至CPU,再送到主存。
效率不高
②、程序中断方式
(考)
现在用的最多
CPU在启动I/O设备后,不查询I/O设备是否已准备就绪,继续执行自身程序;当I/O设备准备就绪并向CPU发出中断请求后,才予以响应,中断现行程序,处理I/O请求。
中断程序时,需要将存储器之前的数据信息进行保存,因为I/O也可能调用这些程序,会使之前的数据(比如累加器)进行改变。
CPU响应了I/O设备的请求,中断了现行程序,转至中断服务程序,待处理完后又返回到源程序断点处,继续从第K+1条指令往下执行。
③、DMA(直接存储器存取)方式
效率最高、但用的最少
在DMA方式中,主存与I/O设备之间有一条数据通路,主存与I/O设备交换信息时,无须调用中断服务程序。若DMA和CPU 同时调用主存,CPU 总是将总线占有权让给DMA,通常把DMA的这种占有称为窃取或挪用。而且,在DMA窃取存取周期内,CPU尚能继续做内部操作(如乘法运算)。
DMA方式进一步提高了CPU 的资源利用率。
④、效率比较
5.2、外部设备
1、概述
输入设备
2、输入设备
- 键盘
- 按键
- 判断哪个键按下
- 将此键翻译成ASCII码(编码键盘法)
- 图形输入设备
- 鼠标
- 机械式 金属球 电位器
- 光电式 光电转换器 CCD
- 触摸屏
- 电阻式触摸屏
- 电容式触摸屏
- 表面超声波式触摸屏
- 鼠标
- 图像输入设备
- 摄像机
- 扫描仪
- 条形码阅读器
- 光笔
- 画笔与图形板
①、键盘
带只读存储器的编码键盘原理图
3、输出设备
- 显示器
- 字符显示 字符发生器
- 图形显示 主管图像
- 图像显示 客观图像
- 打印机
- 打印式 点阵式(逐字、逐行)
- 非击打式 激光(逐页)喷墨(逐字)
①、CRT
按显示器件区分,有阴极射线管(CRT)显示器。CRT是目前应用最广泛的显示器件。
技术指标:分辨率和灰度等级
刷新存储器的存取周期必须与刷新频率相匹配。
②、字符显示器
字符显示器是计算机系统中最基本的输出设备,它通常由CRT控制器和显示器(CRT)组成。
- 显示存储器(刷新存储器)VRAM
- 字符发生器
- 由于荧光屏上的字符由光点组成,而显示存储器中存放的是ASCII码,因此,必须有一个部件能将每个ASCII字符吗转变为一组5×7或7×9的光点矩阵信息。具有这种变换功能的部件称为字符发生器,实质上是一个ROM。
- 图形显示器
- 主要用于计算机辅助设计(CAD)和计算机辅助制造(CAM)
- 图形显示器所显示的图形是由计算机用一定的算法形成的点、线、面、阴影等,来自主观世界。
- 图像显示器
- 图像显示器做显示的图像来自客观世界。
③、打印设备
按打字原理分类:击打式和非击打式。
击打式是利用机械动作使印字结构与色带和纸相撞击而打印字符 。
击打式打印机又分为活字打印机和点阵针式打印机。
点阵打印机的字符是点阵结构,它利用钢针撞击的原理印字。
非击打式利用电、磁等物理或化学方法来印刷字符,如激光打印机、喷墨打印机等
- 点阵针式打印机
- 利用钢针撞击的原理印字,多应用于办公场合
- 优点:可以打印多联复写纸,对纸张厚度要求低,维护简单
- 缺点:打印慢,声音大,精度低
- 喷墨打印机
- 非击打式打印机
- 激光打印机
- 采用了激光技术和照相技术
- 打印速度非常快,精度高
- 激光打印机功率较大、噪声比喷墨大
感光鼓在未被激光扫描之前,先在黑暗中充电,使鼓表面均匀地沉积一层电荷,扫描时激光束对鼓表面有选择地曝光,被曝光的部分产生放电现象,未被曝光的部分仍保留充电时的电荷,这就形成了“潜像”。随着鼓的圆周运动,“潜像”部分通过装有碳粉盒的显像系统,使“潜像”部分(实际上是具有字符信息的区域)吸附上碳粉,达到“显影”的目的。当鼓上的字符信息区和打印纸接触时,由纸的背面施以反向的静电电荷,则鼓面上的碳粉就会被吸附到纸面上,这就是“转印”到“转写”的过程。
4、其它
- A/D、D/A 模拟/数字(数字/模拟)转换器
- 终端 键盘+显示器
完成显示控制与存储、键盘管理及通信控制 - 汉字处理
- 汉字输入
- 汉字编码主要有3类:数字编码、拼音编码和字形编码
- 汉字存储
- 汉字的存储:汉字内码存储和字形码的存储
- 汉字内码是汉字信息在机内使用的机内代码,通常用两个字节表示。英文字符的机内代码是7位ASCII码,字节的最高位是“0”,而汉字内码的两个字节的最高位均为“1”。
- 汉字字形码也叫字模码,是用点阵表示汉字字形的代码。
- 汉字输出
- 汉字输入
5、多媒体技术
多媒体是“Multimedia”的汉译,是由“Multi”和“Media”两个词构成的复合词,直译为“多媒体”。
多媒体计算机的关键技术
- 视频和音频数据的压缩和解压缩技术
- 多媒体专用芯片
- 大容量存储器
- 适用于多媒体技术的软件
5.3、I/O接口
I/O接口一般指CPU和I/O设备间的连接部件,而端口指I/O接口内CPU能够访问的寄存器,端口加上相应的控制逻辑即构成接口。
1、概述
主机与I/O设备之间设置接口的理由:
- 实现设备的选择
- 实现数据缓冲达到速度匹配
- 实现数据串—并格式转换
- 实现电平转换
- 传送控制命令
- 反映设备的状态(“忙”、“就绪”、“中断请求”)
接口(Interface)和端口(Port)
端口是指接口电路中一些寄存器,这些寄存器分别用来存放数据信息、控制信息和状态信息,相应的端口分别称为数据端口、控制端口和状态端口。
若干个端口加上相应的控制逻辑才能组成接口。
2、接口的功能和组成
①、总线连接方式的I/O接口电路
(1)设备选择线:用来传送设备码的,它的根数取决于I/O指令中设备码的位数。如果把设备码看做是地址号,那么设备选择线又可称为地址线。
(2)数据线:I/O设备和主机之间数据代码的传送线,其根数一般等于存储字长的位数或字符的位数。它一般是双向的,也可以是单向的。
(3)命令线:传送CPU向设备发出的各种命令信号,如启动、读、写等。单向。
(4)状态线:将I/O设备的状态向主机报告的信号线。单向
②、接口的功能和组成
功能
(1)选址功能:当设备选择线上的设备码与接口的设备码相符时,应发出设备选中符号SEL,这种功能可通过接口内的设备选择电路来实现。
(2)传送命令的功能:CPU向I/O设备发出命令,I/O设备做出响应。则I/O接口也应该能传送命令。所以在I/O接口中设有存放命令的命令寄存器和命令译码器。
(3)传送数据的功能:接口在主机和I/O设备之间,所以数据必须通过接口来传送。这就要求接口中有数据通路,完成数据传送。还应具有缓冲能力,能将数据暂存在接口内。故设有数据缓冲寄存器。
(4)反映设备状态的功能:用完成触发器D和工作触发器B来标志设备所处的状态。
D = 0, B = 0,表示I/O设备处于暂停状态
D = 1, B = 0, 表示I/O设备已经准备就绪
D = 0, B = 1, 表示I/O设备正处于准备状态
中断请求触发器INTR,当其为“1”时,表示该I/O设备向CPU发出中断请求。
接口内还有屏蔽触发器MASK,它与中断请求触发器配合使用,完成设备的屏蔽功能。
③、I/O接口的基本组成
3、接口类型
5.4、程序查询方式
1、程序查询流程
2、程序查询方式的接口电路
程序查询接口工作电路(以输入为例):
①、CPU发I/O地址设备开始工作,地址总线,接口,设备选择译码→选中→发SEL信号
②、CPU发启动命令,DBR→开命令接受门;D置0,B置1 →接口向设备发启动命令
③、CPU等待,输入设备读出数据
④、外设工作完成,B置0,D置1
⑤、准备就绪信号→接口→完成信号→控制总线→CPU
⑥、输入:CPU通过输入指令(IN)将DBR中的数据取走
3、习题
5.5、程序中断方式
1、中断的概念
计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处,继续执行原程序。这就是“中断”。
2、I/O中断的产生
I/O设备与主机的速度不匹配。所以,CPU启动设备后,往往需要等待一段时间才能实现主机与I/O设备之间的信息交换。如果在设备准备的同时,CPU不作无谓的等待,而继续执行现行程序,只有当I/O设备准备就绪向CPU提出请求后,再暂时中断CPU现行程序转入I/O服务程序。这便产生了I/O中断。
I/O中断产生的原因:
- 适应I/O设备工作速度低的问题
- 当突然掉电的瞬间,立即启动另一个备份电源,进行一些必要的处理
3、程序中断方式的接口电路
①、配置中断请求触发器和中断屏蔽触发器
每台外部设备都必须配置一个中断请求触发器INTR,当其为“1”时,表示该设备向CPU提出中断请求。但是设备欲提出中断请求时,其设备必须准备就绪,即接口内的完成触发器D的状态必须为“1”。
中断源:可以向CPU提出中断请求的各种因素
当多个中断源同时提出请求时,必须对各中断源进行排队,且只能接受级别最高的中断源的请求。
屏蔽触发器MASK,当其为“1”时,表示被屏蔽,即封锁其中断源的请求。
中断请求触发器和中断屏蔽触发器在I/O接口中是成对出现的。
仅当设备准备就绪(D =1 ),且该设备未被屏蔽(MASK = 0)时,CPU 的中断查询信号可将中断请求触发器置“1”(INTR=1)
②、排队器
当多个中断源同时向CPU提出请求时,CPU只能按中断源的不同性质对其排队,并按优先等级的高低予以响应。
硬件排队器可以在CPU内部设置一个统一的排队器,对所有中断源进行排队;也可在接口电路内分别设置各个设备的排队器,又称为链式排队器。
不管是哪个中断源(一个或多个)提出中断请求,排队器输出端INTPi,只有一个高电平。
③、中断向量地址形成部件 (设备编码器)
CPU一旦响应了I/O中断,就要暂停现行程序,转去执行该设备的中断服务程序。不同的设备有不同的中断服务程序,每个服务程序都有一个入口地址,CPU必须找到这个入口地址。
入口地址的寻找可用硬件或软件的方法来完成。
硬件向量法:通过向量地址来寻找设备的中断服务程序入口地址,而且向量地址是由硬件电路产生的。
中断向量地址形成部件实质上是一个编码器。在I/O接口中的编码器又称为设备编码器。
向量地址和中断服务程序的入口地址是两个概念。
向量地址是由硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。
中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存中断服务程序入口地址。
④、程序中断方式接口电路的基本组成
⑤、习题
4、I/O中断处理过程
①、CPU响应中断的条件和时间
条件
CPU响应I/O设备提出中断请求的条件是必须满足CPU中的允许中断触发器EINT为“1”。该触发器可用于开中断指令置“1”(称为开中断);也可用关中断指令使其复位(置“0”)(称为关中断)。
时间:
I/O设备准备就绪的时间(D=1)是随机的,而CPU是在统一的时刻(每条指令执行阶段结束前)向接口发中断查询信号,以获取I/O的中断请求。因此,CPU响应中断的时间一定是每条指令执行阶段的结束时刻。
CPU发中断查询信号(将INTR置“1”)
②、I/O中断处理过程
5、中断服务程序流程
①、中断服务程序的流程
(1)保护现场
- 保存程序的断点(老师说没有) 中断隐指令完成
- 保存通用寄存器和状态寄存器的内容 中断服务程序完成
(2)中断服务
- 对不同的I/O设备具有不同内容的设备服务
(3)恢复现场
- 出栈指令
(4)中断返回
- 中断返回指令,使其返回到原程序的断点处
②、单重中断和多重中断
单重中断:不允许中断现行的中断服务程序
多重中断:允许级别更高的中断源 中断现行的中断服务程序
③、单重中断和多重中断的服务程序流程
5.6、DMA方式
1、DMA方式的特点
①、DMA和程序中断两种方式的数据通路
DMA和主存之间有数据通路,因此主存和设备交换信息时,不需要通过CPU。因此,工作速度比程序中断方式的工作效率高。适合高速I/O或辅存与主存之间的信息交换。
②、DMA与主存交换数据的三种方式
(1)停止CPU访问主存
控制简单
CPU处于不工作状态或保持状态
未充分发挥CPU对主存的利用率
(2)周期挪用(或周期窃取)
每当I/O设备发出DMA请求时,I/O设备便挪用或窃取总线占用权一个或几个主存周期,而DMA不请求时,CPU仍继续访问主存。
DMA访问主存有三种可能:
- CPU此时不访存
- CPU正在访存
- CPU与DMA同时请求访存,此时CPU将总线控制器让给DMA
适合I/O设备的读写周期大于主存周期的情况
(3)DMA与CPU交替访问
适合CPU的工作周期比主存周期长的情况
不需要申请建立和归还总线的使用权
2、DMA接口的功能和组成
①、DMA接口功能
(1)向CPU申请DMA传送
(2)处理总线控制权的转交
(3)管理系统总线、控制数据传送
(4)确定数据传送的首地址和长度
修正传送过程中的数据地址和长度
(5)DMA传送结束时,给出操作完成信号
②、DMA接口组成
(1)字符地址寄存器(AR)
(2)字计数器(WC)
(3)数据缓冲寄存器(BR)
(4)设备地址寄存器(DAR)
3、DMA的工作过程
①、DMA传送过程
预处理、数据传送、后处理
(1)预处理
通过几条输入输出指令预置如下信息
- 通知DMA控制逻辑传送方向(入、出)
- 设备地址→DMA的DAR
- 主存地址→DMA的AR
- 传送字数→DMA的WC
(2)DMA传送过程示意
数据传送过程(输出)
(3)后处理
校验送入主存的数是否正确
是否继续用DMA
测试传送过程是否正确,错则转诊断程序
由中断服务程序完成
②、DMA接口与系统的连接方式
(1)具有公共请求线的DMA请求
(2)独立的DMA请求
③、DMA方式与程序中断方式的比较
中断方式 | DMA方式 | |
---|---|---|
数据传送 | 程序 | 硬件 |
响应时间 | 指令执行结束 | 存取周期结束 |
处理异常情况 | 能 | 不能 |
中断请求 | 传送数据 | 后处理 |
优先级 | 低 | 高 |
4、DMA接口的类型
①、选择型
在物理上连接多个设备
在逻辑上只允许连接一个设备
②、多路型
在物理上连接多个设备
在逻辑上允许连接多个设备同时工作
③、多路型DMA接口的工作原理
5.7、习题
18
六、
七、指令系统
机器指令系统的分类、寻址方式、指令格式以及设计指令系统时应考虑的各种因素。
7.1、机器指令
机器指令:每一条机器语言的语句
指令系统:全部机器指令的集合
1、指令的一般格式
指令是由地址码和操作码组成的。
操作码字段 | 地址码字段 |
---|
①、操作码
②、地址码
地址码用来指出该指令的源操作数的地址(一个或两个)、结果的地址以及下一条指令的地址。这里的地址可以是主存、寄存器、I/O设备的地址。
(1)四地址指令
OP | A1 | a2 | a3 | a4 |
---|
OP为操作码;A1为第一操作数地址;A2为第二操作数地址;A3为结果地址;A4为下一条指令的地址
该指令完成(A1
7.2、习题
八、CPU的结构和功能