0%

计算机组成原理

一、计算机系统概论

每个二进制数就是一个比特

1Byte(字节)=8bit

210Byte=1KB

220Byte=1MB

230Byte=1GB

240Byte=1TB

1M = 106

1.1、计算机系统简介

1、计算机的软硬件

计算机系统由“硬件”和“软件”构成。

硬件:就是计算机的实体部分,比如各种电子器件,各种实物组成

软件:由人们事先编制的具有各种特殊功能的程序组成。

软件又可分为:系统软件和应用软件。

系统软件:管理整个计算机系统

​ eg:操作系统、数据库管理系统

应用软件:按任务需要编制成的各种软件

​ eg:抖音,微信

2、计算机系统的层次结构

现代计算机的解题过程:
先用高级语言编写程序(称为源程序),然后将它和数据一起送入计算机内,再由计算机将其翻译成机器能够识别的机器语言程序(称为目标程序),机器自动运行该机器语言程序,并输出结果。如图:image-20220303140136383

最早计算机上只有机器语言,必须使用二进制代码(0,1代码)来编写,要求十分熟悉计算机硬件及其指令系统,编写难度大。image-20220303140707959

20世纪50年代开始出现符号式的程序设计语言,即汇编语言。但这种语言计算机无法识别,必须通过机器系统软件中的汇编程序来翻译为机器语言。这种具有翻译功能的汇编程序的计算机称为虚拟机(其实就是在计算机中用软件模拟的一个拥有各种系统的计算机)。如图:

image-20220303141935369

由于汇编语言是面向机器的,同样是针对单独的某个机器,没有通用性,使用难度大。

20世纪60年代,开始出现了各种面向问题的高级语言,如FORTRAN、BASIC、C等。这种语言的使用十分接近人们的习惯,通用性强。程序员不必掌握机器的内部组成及指令系统等。将高级语言翻译为机器语言的程序为翻译程序:编译程序(一次全部翻译后再执行)和解释程序(翻译一句,执行一句)。

image-20220303142613720

向下,在计算机内部,机器语言的每一条指令都可以翻译为一组伪指令,构成一个微程序。区别于传统机器,将其称为微指令机器image-20220303143152110

在汇编语言与计算机之间还有一层虚拟机器,它是由操作系统构成的。提供了在汇编语言和高级语言使用及实现过程的一些操作。

image-20220303145050877

3、计算机组成和计算机体系结构

计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性

计算机组成是指如何实现计算机体系结构所体现的属性,它包括了许多对程序员来说是透明的硬件细节。

1.2、计算机的基本组成

1、冯·诺依曼计算机的特点

  1. 计算机由五大部件组成
    • 运算器
    • 控制器
    • 存储器
    • 输入设备
    • 输出设备(输入和输出称为I/Q设备)(input/output)
  2. 指令和数据以同等地位存于存储器,可按地址寻访
  3. 指令和数据用二进制表示
  4. 指令由操作码地址码组成
  5. 存储程序,指令在存储器内按顺序存放。通常,指令是顺序执行的,在特定条件下,可根据运算结果或根据设定的条件改变执行顺序。
  6. 以运算器为中心

2、硬件框图

image-20220310185303638

问题:

  1. 以运算器为中心,数据都需要在运算器中转
  2. 层次乱

改进

image-20220306104734934

image-20220306105538634

运算器和控制器关系紧密,往往集成在同一芯片上,将它称为中央处理器,CPU

主存(内存):直接给CPU提供存储,高速,低容量,价格贵,不能永久保存数据,断电消失,需要从辅存中重新调入数据。比如:CPU的高速缓存,电脑的内存条。

外存(辅存):给主存提供数据,低速,大容量,价格低,能永久保存数据。比如:硬盘,光盘,磁盘等。

3、硬件部件

①主存储器

image-20220310192356508

操作:进行一个操作时,先在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)。

image-20220310194327940

③控制器

image-20220310194550068

PC执行完后,会自动加一

④计算机工作过程

CPU区分指令和数据的依据:指令周期的不同阶段

image-20220308090414752

此图是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、习题

image-20220617112513287

image-20220617112607619

image-20220617112708233

image-20220617112801214

image-20220617113008467

image-20220617113515493

image-20220617113600990

image-20220617113757065

image-20220310115053637

智慧树上,写作业本

二、计算机的发展及应用

2.1、计算机的发展史

image-20220310173535652

1、历史

image-20220310171926843

image-20220310172247068

image-20220310172348154

image-20220310172504003

2、微处理器

image-20220310172629549

3、硬件

image-20220310172902782

image-20220310173022775

4、软件

image-20220310173326351

image-20220310173453794

三、总线

3.1、概念

1、连接方式和特点

计算机系统五大部件之间的连接方式:

  1. 分散连接,各部件之间使用单独的连线(早期的计算机大多数用分散连接方式)
  2. 总线连接:各部件连到一组公共信息传输线上

总线:bus

传输特点:总线是连接多个部件的信息传输线,是各部件共享的传输介质。是公共传输线。在任一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。

2、总线结构

单总线结构

image-20220409103559232

只有 一条总线,当某一时刻各部件都要占用总线时,会发生冲突。即使按照优先级进行运算,也会影响速度

面向CPU的双总线结构

image-20220409104504060

在IO设备与主存交换信息时仍会占用CPU

以存储器为中心的双总线结构

image-20220409104554837

优点是信息传送速率高;其缺点是需要增加硬件的投资。

3.2、总线的分类

按数据传送方式可分为并行传输总线和串行传输总线。

串行:一位位的传输,一条通道.速度慢,但可靠

并行:多条通道,同时传输。适用于近距离,速度快

在并行传输总线中,又可按数据宽度分为8位、16位、32位、64位等传输总线。

按总线的使用范围划分,又计算机(包括外设)总线、测控总线、网络通信总线等。

1、片内总线

片内总线是指芯片内部的总线,如在CPU芯片内部,寄存器与寄存器之间、寄存器与算术逻辑单元之间都由片内总线连接。

2、系统总线(片外)

系统总线是指CPU、内存、I/O设备(通过I/O接口)各大部件之间的信息传输线。

由于这些部件通常都安放在主板或各个插件板(插卡)上,故又称板级总线(在一块电路板上各芯片间的连线)或板间总线。

按系统总线传输信息的不同,可分为

  1. 数据总线(DB)

    ​ 数据总线用来传输各功能部件之间的数据信息,它是双向传输线,其位数与机器字长、存储字长有关,一般为8位、16位或32位。

    ​ 数据总线的根数称为数据总线宽度

    ​ 如果数据总线的宽度为8位,指令字长为16位,那么CPU在取指阶段必须两次访问主存。

  2. 地址总线(AB)

    地址总线主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。

    与存储单元的个数有关

    单向传输

  3. 控制总线(CB)

    控制总线是用来发出各种控制信号的传输线。

    对任一控制线来说,是单向的;但对控制总线总体来说,是双向的。

    常见的控制信号:

    • 时钟 i :用来同步各种操作
    • 复位:初始化所有部件
    • 中断请求:表示某部件提出中断请求
    • 存储器写:将数据总线上的数据写至存储器的指定地址单元内
    • 存储器读:将指定存储单元中的数据读到数据总线上
    • I/O读:从指定的I/O端口将数据读到数据总线上
    • I/O写:将数据总线上的数据输出到指定的I/O端口内

3、通信总线

传输方式:串行通信并行通信

串行通信是指数据在单条1位宽的传输线上,一位一位地按顺序分时传送

并行通信是指数据在多条并行1位宽的传输线上,同时由源传送到目的地。

并行通信适宜于近距离的数据传输,通常小于30m;串行通信适宜于远距离传输。

3.3、总线特性及性能指标

1、总线特性

物理实现

image-20220409115035814

  1. 机械特性
    总线在机械连接方式上的性能:几何尺寸、形状、引脚个数、排列顺序、接头处的可靠接触
  2. 电气特性
    是指总线的每一根传输线上信号的传递方向和有效的电平范围。
    由CPU发出的信号是输出信号,进入CPU的信号是输入信号。
    大多数总线的电平定义与TTL是相符的,但也有例外。
    如RS-232C(串行总线接口标准)规定低电平表示逻辑“1”,并表示电平低于-3V;高电平表示逻辑“0”,电平高于“+3V”
  3. 功能特性
    指总线中每根传输线的功能。
    比如:地址总线用来指出地址码;数据总线传输数据;控制总线发出控制信号,如存储器读写等。
  4. 时间特性
    指总线中的任一根线在什么时间内有效。
    信号的时序关系

2、总线性能指标

  1. 总线宽度:数据总线的根数,用bit(位)表示。如8位(8根)

  2. 总线带宽:总线的数据传输速率,即单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量,单位MBps(兆字节每秒)。
    例如:总线工作频率位33MHz,总线宽度为32位(4B),则总线带宽为 33 ×(32 / 8)=132MBps

  3. 时钟同步/异步

  4. 总线复用:一条信号线上分时传送不同的信号。
    为了提高总线的利用率,将地址总线和数据总线共用一组物理线路。

    不同的时间传送不同的信息,比如地址信息和数据信息

  5. 信号线数:地址线,数据线和控制线的总和。

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

  7. 总线的传输周期:总线完成一次完整而可靠的传输所需时间

  8. 其他指标:负载能力等

image-20220617173557551

image-20220617173610906

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访问范围达232

  • VESA(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)之间的标准接口
    image-20220409154020181

  • USB总线
    Universal Serial Bus 通用串行总线
    具有真正的即插即用特征。用户可在不关机的情况下,对外设进行安装和拆卸
    具有很强的连接能力,使用USB HUB(USB集线器)最多可链式127个外设
    标准统一

    数据传输率(USB 1.0版)有两种,即采用普通无屏蔽双绞线,速度可达1.5Mbps,若用屏蔽的双绞线,速度可达 12Mbps。USB 2.0版的数据传输率最高可达 480 Mbps。

3.4、总线结构

总线结构通常可分为:单总线结构和多总线结构

1、单总线结构

image-20220409160628358

CPU、主存、I/O设备都挂在一组总线上,交换信息。

便于扩充,但是总线便是计算机系统的瓶颈。

2、多总线结构

双总线结构

将速度较低的I/O设备从单总线上分离,形成主存总线与I/O总线分开的结构。

通道是一个具有特殊功能 的处理器,CPU将一部分功能下放给通道,使其对I/O设备具有统一管理的功能。多用于大、中、小型计算机系统。

image-20220409161225626

三总线结构

将速率不同的I/O设备进行分类,连接在不同的通道上,工作效率会更高。

DMA总线用于高速I/O设备(磁盘、磁带等)与主存之间直接交换信息。

任一时刻,只能使用一种总线。

image-20220409161559539

三总线结构的另一种形式

image-20220409161714481

3、四总线结构

image-20220409161758397

3.5、总线控制

主要包括判优控制(仲裁逻辑)和通信控制

1、总线判优控制

解决多个部件同时申请总线的使用权分配问题

主设备:对总线有控制权

从设备:只能响应从 主设备发来的总线命令,对总线没有控制权。

总线上信息的传递是由主设备启动的,比如某个主设备欲与另一个设备进行通信,首先由主设备发出总线请求信号,若多个主设备同时要使用总线,就由总线控制器进行判优使用。

总线判优控制可分为集中式分布式,前者将控制逻辑集中在一处(如在CPU中),后者将控制逻辑分散在与总线连接的各个部件或设备上。

常见的集中控制优先权仲裁方式有以下三种。

(1)链式查询

特点:只需要很少几根线就能按一定有效次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感,且优先级低的设备很难获得请求。

image-20220409164819992

首先I/O设备发出BR,
总线控制部件发出BG,如果到发出BR的I/O设备,I/O设备进行通信,发出BS;否则,进行下一个

(2)计数器定时查询

image-20220409165012430

总线控制部件接到由BR送来的总线请求信号后,在总线未被使用(BS=0)的情况下,总线控制部件中的计数器开始计数,并通过设备地址线,向各设备发出一组地址信号。当某个请求占用总线的设备地址与计数值一致时,便获得了总线使用权,此时终止计数查询。

(3)独立请求方式

image-20220409165025999

当设备要求使用总线时,便发出该设备的请求信号。总线控制部件中有一排队电路,可根据优先级确定响应哪一台设备的请求。

响应速度快,优先次序控制灵活,但控制线数量多,总线控制更复杂。

2、总线通信控制

目的:解决双方协调配合问题。

总线传送周期:

  • 申请分配阶段:主模块申请,总线仲裁决定
  • 寻址阶段:主模块向从模块给出地址和命令,启动从模块
  • 传数阶段:主模块和从模块交换数据
  • 结束阶段:主模块撤销有关信息,让出总线控制权

总线通信控制通常用四种方式:同步通信、异步通信、半同步通信和分离式通信。

①、同步通信

通信双方由统一时标控制数据传送,控制方式简单,灵活性差
时标通常由CPU的总线控制部件发出,送到总线上的所有部件。

同步数据输入

image-20220409183430477

CPU在T1上升沿发出地址信息

在T2的上升沿发出读命令

在T3的上升沿之前将CPU所需的数据送到数据总线,在T3时钟周期内,将数据线上的信息送到其内部存储器

在T4的上升沿撤销读命令

同步通信输出

image-20220409184022529

在T1的上升沿发地址

在T1的下降沿提供数据

在T2的上升沿发出写命令

在T4的上升沿撤销写命令和数据

在T4的下降沿撤销地址

优点

规定明确、统一、模块间的配合简单一致。

缺点

主、从模块时间配合属于强制性“同步”,必须在限定时间内完成规定的要求。

且所有从模块都使用同一限时,对不同速度的部件来说,必须按最慢速度的部件来设计公共时针,严重影响工作效率。

一般用于总线长度较短、各部件存取时间比较一致的场合。

image-20220329091932994

②、异步通信

采用应答方式(握手方式),没有公共时钟标准,允许各模块速度的不一致性

当主模块发出请求(Request)信号时,一直等待从模块反馈回来“响应”信号后,才开始通信。

应答方式可分为不互锁、半互锁、全互锁三种。

image-20220409185835598

image-20220617192731865

image-20220617192739548

③、半同步通信

同步、异步结合

image-20220409191536561

以输入数据为例的半同步通信时序

T1 主模块发地址

T2 主模块发命令

Tw 当 $\overline{WAIT}$为低电平时,等待一个T

Tw 当 $\overline{WAIT}$为低电平时,等待一个T

。。。。。

T3 从模块提供数据

T4 从模块撤销数据,主模块撤销命令

image-20220409191604113

④、共同点

上述三种通信的共同点:

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

  • 主模块发地址、命令 占用总线
  • 从模块准备数据 不占用总线 总线空闲
  • 从模块向主模块发数据 占用总线

image-20220410105043871

⑤、分离式通信(自学)

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

image-20220409191703990

image-20220409191712476

3.6、作业

image-20220329081632795

image-20220331110945307

image-20220617193404093

image-20220617193510496

image-20220617193523668

image-20220617193555108

image-20220617193615036

image-20220617193627936

image-20220617193638328

image-20220617193647396

3.13、什么是总线的数据传送速率,它与哪些因素有关?

总线数据传输率即总线带宽,指单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量。它与总线带宽和总线频率有关,总线带宽越宽,频率越快,数据传输率越高。

image-20220617193740892

image-20220617193806415

四、存储器

4.1、概述

1、存储器分类

  1. 按存储介质分类

    • 半导体存储器 半导体元件 易失
    • 磁表面存储器 磁头、载磁体 非易失
    • 磁芯存储器 硬磁材料、环状元件 非易失
    • 光盘存储器 激光、磁光材料 非易失
  2. 按存取方式分类
    (1)存取时间与物理地址无关(随机访问)
    随机存储器 在程序的执行过程中可读可写RAM

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

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

    顺序存取存储器 磁带

    直接存取存储器 磁盘

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

    image-20220410141926470

静态RAM=SRAM,存01的电路就是触发器

动态RAM=DRAM,存01的电路是电容

静态RAM速度高于动态RAM

Cache:高速缓冲存储器,介于CPU和主存之间,用于解决CPU和主存之间速度不匹配的问题。
不能将Cache扩大,替代主存,
因为:Cache容量越大,成本越高,
如果取消主存,当CPU访问Cache失败时,需要将辅存的内容调入Cache再由CPU访问,造成CPU等待时间太长

Flash Memory:闪速存储器。或称快擦型存储器

2、层次结构

3个性能指标:速度、容量和每位价格(位价)。

速度越高,位价越高;容量越大,位价越低,速度越低。

image-20220410143506899

寄存器最快,位价最高,容量最小,放在CPU中。

在主存和CPU之间插入了高速缓冲存储器Cache,方便匹配主存和CPU的速度。

主存用来存放将要参与运行的程序和数据,和CPU的速度较大。

磁盘、光盘、和磁带容量很大,存放暂时未用到的程序和数据,CPU不能直接访问,辅存只能与主存交换信息。

层次结构

image-20220410143526198

缓存-主存层次主要解决CPU和主存速度不匹配的问题。缓存速度比主存快,将CPU要用到的信息调入缓存,CPU可以直接换取信息,提高访问速度。但是缓存容量小,需要不断将主存内容调入缓存。主存和缓存之间的数据调动是硬件自动完成的,对程序员是透明的。

从CPU角度来看,它的速度接近于缓存,高于主存;其容量和位价却接近于主存。

主存-辅存层次主要解决存储系统的容量问题。当CPU需要用到辅存的信息时,再将辅存的信息调入主存,供CPU直接访问。主存和辅存之间的数据调动是由硬件和操作系统共同完成后的。

从整体分析,其速度接近主存,容量接近缓存,平均位价也接近辅存。

主存和辅存之间形成了虚拟存储系统,它的地址为虚地址,比实际存储单元个数要大。而主存的实际地址称为物理地址或实地址,这是程序真正访问的地址。若虚地址在主存,可以直接访问;若不在,需要将数据传递到主存后再进行访问。

4.2、主存储器

1、概述

①、主存的基本构成

image-20220405090140892

MDR和数据总线位置画反了,MDR在CPU里面

②主存和CPU的关系

image-20220410152144379

当要从存储器读出某一信息字时

首先由CPU将该字的地址送到MAR,经地址总线送到主存,然后发出读命令。

主存接到读命令后,得知需将该地址单元的内容读出,便完成读操作,将该单元的内容读至数据总线上,CPU决定送到什么地方。

向主存存入一个信息字

首先CPU将该字所在主存单元的地址经MAR送到地址总线,并将信息字送入MDR,然后向主存发出写命令,主存接到命令后,便将数据线上的信息写入都爱对应地址线指出的主存单元中。

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

主存各存储单元的空间位置是由单元地址号来表示,而地址总线是用来指出存储单元地址线的,根据该地址进行读出或写入。

常用8位二进制数表示一个字节,因此,存储字长都取8的倍数

image-20220410152723667

④、主存的技术指标

(1)存储容量

主存能存放二进制代码的总位数

存储容量= 存储单元个数 × 存储字长

用字节表示 存储容量= 存储单元个数 × 存储字长 / 8

现在常用字节数表示

(2)存储速度

存储速度由存取时间存取周期来表示的。

存取时间(存储器的访问时间)(Memory Access Time),是指启动一次存储器操作(读或写)到完成该操作所需的全部时间。存取时间又可分为读出时间写入时间。读出时间是从存储器接收到有效地址开始,到产生有效输出所需的全部时间。写入时间是从存储器接收到有效地址,到数据写入到被选中单元为止的时间。

存取周期(Memory Cycle Time)是指存储器进行连续两次独立操作的最小间隔时间,包含存取时间后的线路恢复时间。

(3)存储器带宽

表示单位时间内存储器存取的信息量

用字/秒 或 字节/秒 表示

image-20220618084648031

2、半导体存储芯片简介

①、基本结构

image-20220410155444303

  • 地址线:单向输出,位数与芯片容量有关
  • 数据线:双向输出,数据线的位数与芯片容量(数据位数)有关。
  • 控制线:有读/写控制与片选线两种

译码驱动:把地址总线送来的地址信号翻译成对应存储单元的选择信号,该信号在读/写电路的配合下完成读/写操作。

16K等于214个地址

image-20220410155731955

片选线:$\overline{CS}$。无信号,不工作。 低电平有效

image-20220410155800656

8位:每个一位并联

②、译码驱动方式

(1)线选法

image-20220410160907503

用一根字选择线直接选中一根存储单元。

结构简单,但只适用于容量不大的存储芯片。

一条线,一个地址,

(2)重合法

image-20220410160929281

将地址线分为两部分,一部分判断行,另一部分判断列,只有一个读写线。

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

主要用作计算机中的主存

①、静态RAM(SRAM)

Static RAM

静态RAM基本单元电路

存储器中用于寄存“0”和“1”代码的电路称为存储器的基本单元电路。

MOS管是半导体制造工艺的一种。

行地址选择、列地址选择的译码驱动是 重合法

image-20220410162903998

image-20220410163201777

image-20220410163222957

静态RAM芯片

image-20220410163521647

$\overline{WE},write \ enabled,低电平为写,高电平为读$

$\overline{CS}片选信号,0有效,1无效$

$A_9 \sim A_0为地址输入端,I/O_1\sim I/O_4为数据输入/输出端$

②、动态RAM (DRAM)

Dynamic RAM

image-20220410173134850

常见的动态RAM有三管式单管式

原理:电容存储电荷。有表示1,没有电荷表示0

缺点:速度慢;电容自己放电,需要定时充电

动态RAM基本单元电路

三管MOS动态RAM 和 单管MOS动态RAM

image-20220410190948000

image-20220410191004296

10个地址线,1K个存储单元

image-20220410191205319

image-20220410191219931

image-20220410191236056

image-20220410191247725

动态RAM刷新

刷新:对DRAM定期进行的全部重写过程

刷新原因:因电容泄露而引起的DRAM所存信息的衰减需要及时补充

刷新与行地址有关

1、集中刷新

image-20220429162120516

在每个最大刷新间隔时间内,集中安排一段时间进行刷新,存在死区

image-20220410191312269

在每个读写周期之后插入一个刷新周期,无死区

image-20220410191325979

image-20220410191337785

4、只读存储器(ROM)

由芯片制造商在制造时写入内容,只能读,不能写

image-20220416140603333

  1. 掩模ROM(MROM)
    image-20220405091050402
    行列选择线交叉处有MOS管为“1”

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

    经读放大器反相输出后取反,变为“0”和“1”

  2. PROM(一次性编程)
    可编程只读存储器,由用户根据需要写入内容,只能写入一次

    image-20220416141310774

  3. EPROM(多次性编程)
    可擦除可编程只读存储器
    image-20220416141809859
    改写:用紫外线照射,但擦除时间比较长,而且不能对个别需改写的单元进行单独擦写或重写

  4. EEPROM(多次性编程)

    电擦写可编程只读存储器

    用电气方法将存储内容擦写,再重写。甚至在联机条件下,用字擦除方式或页擦除方式,既可局部擦写,又可全部擦写,

    电可擦写
    局部擦写

    全部擦写

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

    快擦型存储器
    可擦写非易失性存储器

    既具有EPROM 价格便宜,集成度高的特点,
    也具有EEPROM 电可擦写,重写的功能
    比EEPROM快,具备RAM功能,可与CPU直接连接。
    非易失性、长期反复使用的大容量闪速存储器还可替代磁盘,比如,在笔记本手掌型袖珍计算机都采用闪速存储器做成固态盘替代磁盘。

  6. CDROM只读型光盘

5、存储器与CPU的连接

①、存储器容量的扩展

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

image-20220416150056311

片选信号连在一条线上,两个芯片各连数据线的一半。同时运行,各占一半

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

image-20220416150259796

地址线不够,多出的一根连在片选信号上,是0,则前一个芯片运行;是1,则后一个芯片运行

(3)字、位扩展

既增加存储字的数量,又增加存储字长。

image-20220416150636768

②、存储器与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)其他 时序、负载

例子

image-20220416154650217

image-20220416154703867

image-20220416143709793

image-20220416143726290

image-20220416143738422

ROM单向,RAM双向

image-20220416143747321

image-20220416143804811

image-20220416143818462

image-20220416143828738

6、存储器的校验

image-20220416143902845

①、编码的最小距离

image-20220429163541724

image-20220426090500406

组差:每一组的第一个 相减

②、汉明码的组成(考)

image-20220429163611448

image-20220416143950946

③、例题

image-20220416144002585

image-20220416144011954

image-20220416144021668

image-20220416144031685

image-20220426093959273

按配奇,P4,P2,P1也需要取非,找到错的位置

image-20220416144040440

7、提高访存速度的措施

image-20220416144053461

image-20220416144106173

image-20220416144118197

image-20220416144128374

image-20220416144140098

image-20220416144154259

image-20220416144204857

image-20220416144214501

4.3、高速缓冲存储器Cache

1、概述

①、为什么用Cache

image-20220503091119503

在多体并行存储系统中,由于I/O设备向主存请求的级别高于CPU访存,这就出现了CPU等待I/O设别访存的现象,降低了CPU的工作效率。

  1. 为了避免CPU与I/O设备争抢访存,可在CPU与主存之间加一级缓存,这样,主存可将CPU要取的信息提前送至缓存,一旦主存在与I/O设备交换时,CPU可直接从缓存中读取所需信息,不必空等而影响效率。
  2. 从另一角度来看,主存速度的提高始终跟不上CPU的发展。CPU的速度每年改进60%,组成主存的动态RAM速度平均每年只改进7%。

Cache的出现使CPU可以不直接访问主存,而与高速Cache交换信息。

通过大量典型程序的分析,发现CPU从主存取指令或取数据,在一定时间内,只是对主存局部地址区域的访问。这是由于指令和数据在主存内部是连续存放的,并且有些指令和数据往往会被多次调用(如子程序、循环程序和一些常数),即指令和数据在主存的地址分布不是随机的,而是相对的簇聚,使得CPU在执行程序时,访存具有相对的局部性,这就称为程序访问的局部性原理。

根据程序访问的局部性原理,可以将CPU近期要用到的程序和数据提前送到Cache,就可以让CPU在一定时间内只访问Cache.

②、Cache的工作原理

(1)主存和缓存的编址

image-20220503141120215

(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%以上。

块长与命中率之间的关系更为复杂,它取决于各程序的局部特性。当块由小到大增长时,起初会因局部性原理使命中率有所提高。由于块长的增大,导致缓存中块数的减少,而新装入的块要覆盖旧块,很可能出现少数块刚刚装入就被覆盖,因此命中率反而下降。

image-20220503153825689

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

image-20220503154828399

③、Cache的基本结构

主要由Cache存储体、地址映射变换机构、Cache替换机构组成。

image-20220503155849234

(1)Cache存储体

Cache存储体以块为单位与主存交换信息,为加速Cache与主存之间的调动,主存大多采用多体结构,且Cache访存的优先级最高。

(2)地址映射变换机构

地址映射变换机构是将CPU送来的主存地址转换为Cache地址。由于主存和Cache的块大小相同,块内地址都是相对于块的起始地址的偏移量(即第位地址相同),因此地址变换主要是主存的块号(高位地址)与Cache块号间的转换。

④、Cache 的读写操作

image-20220424160817071

image-20220424160827768

⑤、Cache 的改进

image-20220618150131184

(1)增加Cache的级数

image-20220424160837812

image-20220618150319370

2、Cache-主存的地址映射

①、直接映射

image-20220618150536870

image-20220618150546685

②、全相联映射

image-20220618150600538

image-20220618150635574

③、组相联映射

image-20220618150736382

image-20220618150743407

image-20220618150750470

image-20220424160900321

image-20220424160911651

image-20220424160923428

image-20220424160938992

例4.8、4.9、4.10、4.11自学(考研)

有可能是字节寻址、

3、替换算法

  1. 先进先出
  2. 近期最少使用
  3. 随机法

image-20220424160947424

4.4、辅助存储器

1、概述

image-20220424161228190

2、磁记录原理

image-20220424161252368

image-20220424161302570

  1. 归零制(RZ)
  2. 不归零制(NRZ)
  3. “见1就翻”的不归零制(NRZ1)
  4. 调相制(PM)
  5. 调频制(FM)
  6. 改进型调频制(MFM)

3、磁硬盘存储器

IBM发明的

①、硬磁盘存储器的类型

硬磁盘存储器的盘片是由硬质铝合金材料制成的,其表面涂有一层可被磁化的硬磁特性材料。

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

(2)可换盘和固定盘

image-20220510084934986

最外边最小,最里面最大

盘片要密封

磁头是悬浮的,不用盘片接触

②、硬磁盘存储结构

image-20220510090014172

磁盘控制器相当于硬盘接口

盘片在驱动器里面,它们是一块

image-20220510084934986

最外边最小,最里面最大

盘片要密封

磁头是悬浮的,不用盘片接触

image-20220424161326304

image-20220510085851399

image-20220424161356659

image-20220510091213572

发展方向:

image-20220510091429686

image-20220510092015729

image-20220510092356399

image-20220510092741372

例4.12、4.13、4.14自学了解

image-20220510093120570

4、软磁盘存储器(自学)

image-20220424161409264

image-20220424161419708

image-20220510093453299

5、光盘存储器

  1. 只读型光盘(CD-ROM)
  2. 只写一次型光盘(WORM)
  3. 可擦写型光盘

光盘的存储原理:

image-20220618153003517

image-20220424161431511

image-20220510094455942

作业

image-20220428114309815

image-20220428114349829

25.程序的局部性原理是指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大(大约5:1)。存储系统中缓存-主存层次和主存-辅存层次均采用了程序访问的局部性原理。

image-20220429175429208

image-20220429175441503

image-20220429175450060

五、输入输出系统

5.1、概述

1、输入输出系统的发展概况

①、早期

分散连接

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

②、接口模块和 DMA阶段

总线连接

CPU和I/O设备并行工作

中断方式

DMA方式(直接存储器存取)(Direct Memory Access,DMA),在I/O设备和主存之间有一条通路

③、具有通道结构的阶段

通道是一种具有特殊功能的处理器。通道有专用的通道指令,能独立地执行用通道指令所编写的输入输出程序,但不是一个完全独立的处理器。是从属于CPU的一个专用处理器。依据CPU的I/O指令进行启动、停止或改变工作状态。

image-20220519085805586

④、具有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)异步工作采用应答信号

image-20220512105448371

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

要求I/O设备和CPU的工作速度完全同步,需要用到同步时标。

⑤、I/O设备与主机的连接方式

(1)辐射式连接

image-20220512105613100

(2)总线连接

通过一组总线(包括地址线、数据线、控制线等),将所有的I/O设备与主机相连。

便于增删设备

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

I/O设备与主机交换信息时,共有5种控制方式:程序查询方式、程序中断方式、直接存储器存取方式(DMA)、I/O通道方式、I/O处理机方式

①、程序查询方式

程序查询方式是由CPU通过程序不断查询I/O设备是否已做好准备。

若查得I/O设备未准备就绪,就继续查询;若准备就绪,就将数据从I/O中送接口至CPU,再送到主存。

效率不高

image-20220424172845528

②、程序中断方式

(考)

现在用的最多

CPU在启动I/O设备后,不查询I/O设备是否已准备就绪,继续执行自身程序;当I/O设备准备就绪并向CPU发出中断请求后,才予以响应,中断现行程序,处理I/O请求。

中断程序时,需要将存储器之前的数据信息进行保存,因为I/O也可能调用这些程序,会使之前的数据(比如累加器)进行改变。

image-20220519153340976

CPU响应了I/O设备的请求,中断了现行程序,转至中断服务程序,待处理完后又返回到源程序断点处,继续从第K+1条指令往下执行。

image-20220424172909433

③、DMA(直接存储器存取)方式

效率最高、但用的最少

在DMA方式中,主存与I/O设备之间有一条数据通路,主存与I/O设备交换信息时,无须调用中断服务程序。若DMA和CPU 同时调用主存,CPU 总是将总线占有权让给DMA,通常把DMA的这种占有称为窃取或挪用。而且,在DMA窃取存取周期内,CPU尚能继续做内部操作(如乘法运算)。

DMA方式进一步提高了CPU 的资源利用率。

image-20220519154105177

④、效率比较

image-20220424172946643

5.2、外部设备

1、概述

输入设备

2、输入设备

  1. 键盘
    1. 按键
    2. 判断哪个键按下
    3. 将此键翻译成ASCII码(编码键盘法)
  2. 图形输入设备
    1. 鼠标
      1. 机械式 金属球 电位器
      2. 光电式 光电转换器 CCD
    2. 触摸屏
      1. 电阻式触摸屏
      2. 电容式触摸屏
      3. 表面超声波式触摸屏
  3. 图像输入设备
    1. 摄像机
    2. 扫描仪
  4. 条形码阅读器
  5. 光笔
  6. 画笔与图形板

①、键盘

带只读存储器的编码键盘原理图

image-20220519162918760

3、输出设备

  1. 显示器
    1. 字符显示 字符发生器
    2. 图形显示 主管图像
    3. 图像显示 客观图像
  2. 打印机
    1. 打印式 点阵式(逐字、逐行)
    2. 非击打式 激光(逐页)喷墨(逐字)

①、CRT

按显示器件区分,有阴极射线管(CRT)显示器。CRT是目前应用最广泛的显示器件。

技术指标:分辨率和灰度等级

刷新存储器的存取周期必须与刷新频率相匹配。

image-20220519163814736

②、字符显示器

image-20220519164142911

字符显示器是计算机系统中最基本的输出设备,它通常由CRT控制器和显示器(CRT)组成。

  1. 显示存储器(刷新存储器)VRAM
  2. 字符发生器
    1. 由于荧光屏上的字符由光点组成,而显示存储器中存放的是ASCII码,因此,必须有一个部件能将每个ASCII字符吗转变为一组5×7或7×9的光点矩阵信息。具有这种变换功能的部件称为字符发生器,实质上是一个ROM。
    2. image-20220519164701783
  3. 图形显示器
    1. 主要用于计算机辅助设计(CAD)和计算机辅助制造(CAM)
    2. 图形显示器所显示的图形是由计算机用一定的算法形成的点、线、面、阴影等,来自主观世界。
  4. 图像显示器
    1. 图像显示器做显示的图像来自客观世界。

③、打印设备

按打字原理分类:击打式非击打式

击打式是利用机械动作使印字结构与色带和纸相撞击而打印字符 。

  • 击打式打印机又分为活字打印机和点阵针式打印机。

  • 点阵打印机的字符是点阵结构,它利用钢针撞击的原理印字。

非击打式利用电、磁等物理或化学方法来印刷字符,如激光打印机、喷墨打印机等

  1. 点阵针式打印机
    1. 利用钢针撞击的原理印字,多应用于办公场合
    2. 优点:可以打印多联复写纸,对纸张厚度要求低,维护简单
    3. 缺点:打印慢,声音大,精度低
  2. 喷墨打印机
    1. 非击打式打印机
    2. image-20220618160835450
  3. 激光打印机
    1. 采用了激光技术和照相技术
    2. 打印速度非常快,精度高
    3. 激光打印机功率较大、噪声比喷墨大

image-20220519184603374

感光鼓在未被激光扫描之前,先在黑暗中充电,使鼓表面均匀地沉积一层电荷,扫描时激光束对鼓表面有选择地曝光,被曝光的部分产生放电现象,未被曝光的部分仍保留充电时的电荷,这就形成了“潜像”。随着鼓的圆周运动,“潜像”部分通过装有碳粉盒的显像系统,使“潜像”部分(实际上是具有字符信息的区域)吸附上碳粉,达到“显影”的目的。当鼓上的字符信息区和打印纸接触时,由纸的背面施以反向的静电电荷,则鼓面上的碳粉就会被吸附到纸面上,这就是“转印”到“转写”的过程。

image-20220525194804244

4、其它

  1. A/D、D/A 模拟/数字(数字/模拟)转换器
  2. 终端 键盘+显示器
    完成显示控制与存储、键盘管理及通信控制
  3. 汉字处理
    1. 汉字输入
      1. 汉字编码主要有3类:数字编码、拼音编码和字形编码
    2. 汉字存储
      1. 汉字的存储:汉字内码存储和字形码的存储
      2. 汉字内码是汉字信息在机内使用的机内代码,通常用两个字节表示。英文字符的机内代码是7位ASCII码,字节的最高位是“0”,而汉字内码的两个字节的最高位均为“1”。
      3. 汉字字形码也叫字模码,是用点阵表示汉字字形的代码。
    3. 汉字输出

5、多媒体技术

多媒体是“Multimedia”的汉译,是由“Multi”和“Media”两个词构成的复合词,直译为“多媒体”。

多媒体计算机的关键技术

  • 视频和音频数据的压缩和解压缩技术
  • 多媒体专用芯片
  • 大容量存储器
  • 适用于多媒体技术的软件

5.3、I/O接口

I/O接口一般指CPU和I/O设备间的连接部件,而端口指I/O接口内CPU能够访问的寄存器,端口加上相应的控制逻辑即构成接口。

1、概述

主机与I/O设备之间设置接口的理由:

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

接口(Interface)和端口(Port)

端口是指接口电路中一些寄存器,这些寄存器分别用来存放数据信息、控制信息和状态信息,相应的端口分别称为数据端口、控制端口和状态端口。

若干个端口加上相应的控制逻辑才能组成接口。

2、接口的功能和组成

①、总线连接方式的I/O接口电路

image-20220424173417664

(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、接口类型

image-20220424173459844

5.4、程序查询方式

1、程序查询流程

image-20220424173829223

image-20220424173843661

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

image-20220424173854834

程序查询接口工作电路(以输入为例):

①、CPU发I/O地址设备开始工作,地址总线,接口,设备选择译码→选中→发SEL信号

②、CPU发启动命令,DBR→开命令接受门;D置0,B置1 →接口向设备发启动命令

③、CPU等待,输入设备读出数据

④、外设工作完成,B置0,D置1

⑤、准备就绪信号→接口→完成信号→控制总线→CPU

⑥、输入:CPU通过输入指令(IN)将DBR中的数据取走

image-20220526091023699

3、习题

image-20220520091913127

image-20220520091922786

5.5、程序中断方式

1、中断的概念

计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处,继续执行原程序。这就是“中断”。

image-20220424174113134

2、I/O中断的产生

I/O设备与主机的速度不匹配。所以,CPU启动设备后,往往需要等待一段时间才能实现主机与I/O设备之间的信息交换。如果在设备准备的同时,CPU不作无谓的等待,而继续执行现行程序,只有当I/O设备准备就绪向CPU提出请求后,再暂时中断CPU现行程序转入I/O服务程序。这便产生了I/O中断。

I/O中断产生的原因:

  1. 适应I/O设备工作速度低的问题
  2. 当突然掉电的瞬间,立即启动另一个备份电源,进行一些必要的处理

image-20220424174128121

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

①、配置中断请求触发器和中断屏蔽触发器

每台外部设备都必须配置一个中断请求触发器INTR,当其为“1”时,表示该设备向CPU提出中断请求。但是设备欲提出中断请求时,其设备必须准备就绪,即接口内的完成触发器D的状态必须为“1”。

中断源:可以向CPU提出中断请求的各种因素

当多个中断源同时提出请求时,必须对各中断源进行排队,且只能接受级别最高的中断源的请求。

屏蔽触发器MASK,当其为“1”时,表示被屏蔽,即封锁其中断源的请求。

中断请求触发器和中断屏蔽触发器在I/O接口中是成对出现的。

仅当设备准备就绪(D =1 ),且该设备未被屏蔽(MASK = 0)时,CPU 的中断查询信号可将中断请求触发器置“1”(INTR=1)

image-20220520094546863

image-20220526092752052

②、排队器

当多个中断源同时向CPU提出请求时,CPU只能按中断源的不同性质对其排队,并按优先等级的高低予以响应。

硬件排队器可以在CPU内部设置一个统一的排队器,对所有中断源进行排队;也可在接口电路内分别设置各个设备的排队器,又称为链式排队器。

image-20220424174206146

image-20220424174216522

不管是哪个中断源(一个或多个)提出中断请求,排队器输出端INTPi,只有一个高电平。

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

CPU一旦响应了I/O中断,就要暂停现行程序,转去执行该设备的中断服务程序。不同的设备有不同的中断服务程序,每个服务程序都有一个入口地址,CPU必须找到这个入口地址。

入口地址的寻找可用硬件或软件的方法来完成。

硬件向量法:通过向量地址来寻找设备的中断服务程序入口地址,而且向量地址是由硬件电路产生的。

中断向量地址形成部件实质上是一个编码器。在I/O接口中的编码器又称为设备编码器。

向量地址和中断服务程序的入口地址是两个概念。

向量地址是由硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。

中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存中断服务程序入口地址。

image-20220424174226354

④、程序中断方式接口电路的基本组成

image-20220424174243643

⑤、习题

image-20220520104847729

image-20220520105210000

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中断处理过程

image-20220424174309675

5、中断服务程序流程

①、中断服务程序的流程

(1)保护现场

  • 保存程序的断点(老师说没有) 中断隐指令完成
  • 保存通用寄存器和状态寄存器的内容 中断服务程序完成

(2)中断服务

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

(3)恢复现场

  • 出栈指令

(4)中断返回

  • 中断返回指令,使其返回到原程序的断点处

②、单重中断和多重中断

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

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

③、单重中断和多重中断的服务程序流程

image-20220424174515937

image-20220520111353088

image-20220424174559786

5.6、DMA方式

1、DMA方式的特点

①、DMA和程序中断两种方式的数据通路

image-20220424174727996

DMA和主存之间有数据通路,因此主存和设备交换信息时,不需要通过CPU。因此,工作速度比程序中断方式的工作效率高。适合高速I/O或辅存与主存之间的信息交换。

②、DMA与主存交换数据的三种方式

(1)停止CPU访问主存

控制简单

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

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

image-20220520202652478

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

每当I/O设备发出DMA请求时,I/O设备便挪用或窃取总线占用权一个或几个主存周期,而DMA不请求时,CPU仍继续访问主存。

DMA访问主存有三种可能:

  • CPU此时不访存
  • CPU正在访存
  • CPU与DMA同时请求访存,此时CPU将总线控制器让给DMA

适合I/O设备的读写周期大于主存周期的情况

image-20220520203124051

(3)DMA与CPU交替访问

适合CPU的工作周期比主存周期长的情况

image-20220520203433755

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

2、DMA接口的功能和组成

①、DMA接口功能

(1)向CPU申请DMA传送

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

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

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

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

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

②、DMA接口组成

image-20220520204136260

(1)字符地址寄存器(AR)

(2)字计数器(WC)

(3)数据缓冲寄存器(BR)

(4)设备地址寄存器(DAR)

3、DMA的工作过程

①、DMA传送过程

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

(1)预处理

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

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

(2)DMA传送过程示意

image-20220424174854483

数据传送过程(输出)

image-20220520205834696

(3)后处理

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

是否继续用DMA

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

由中断服务程序完成

②、DMA接口与系统的连接方式

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

image-20220520210134120

(2)独立的DMA请求

image-20220520210300544

③、DMA方式与程序中断方式的比较

中断方式 DMA方式
数据传送 程序 硬件
响应时间 指令执行结束 存取周期结束
处理异常情况 不能
中断请求 传送数据 后处理
优先级

4、DMA接口的类型

①、选择型

在物理上连接多个设备

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

image-20220424175028733

②、多路型

在物理上连接多个设备

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

image-20220520210712983

③、多路型DMA接口的工作原理

image-20220520210753529

5.7、习题

image-20220524113256934

image-20220524113308978

image-20220524113323002

image-20220524113340530

image-20220524113349996

image-20220618231151916

image-20220618231223760

image-20220618231319517

image-20220526093350603

image-20220526093703224

18image-20220526100122479

六、

七、指令系统

机器指令系统的分类、寻址方式、指令格式以及设计指令系统时应考虑的各种因素。

7.1、机器指令

机器指令:每一条机器语言的语句

指令系统:全部机器指令的集合

1、指令的一般格式

指令是由地址码操作码组成的。

操作码字段 地址码字段

①、操作码

②、地址码

地址码用来指出该指令的源操作数的地址(一个或两个)、结果的地址以及下一条指令的地址。这里的地址可以是主存、寄存器、I/O设备的地址。

(1)四地址指令

OP A1 a2 a3 a4

OP为操作码;A1为第一操作数地址;A2为第二操作数地址;A3为结果地址;A4为下一条指令的地址image-20220602212734694

该指令完成(A1

7.2、习题

image-20220618225915373

image-20220618225923671

image-20220618225933247

image-20220618230011500

image-20220618230543446

image-20220618230808350image-20220618230844660

八、CPU的结构和功能

image-20220618224529509

image-20220618224538937

image-20220618224635678

image-20220618224722018

image-20220618224729915

image-20220618225234707

image-20220618225411257

九、控制单元的功能

image-20220618224035197

image-20220618224115972

image-20220618224301992

-------------本文结束感谢您的阅读-------------