• 计算机组成原理小结


    --------读《计算机组成原理(第三版)》清华大学出版社一书的总结

    第一章

    1.冯•诺依曼计算机★★★

    存储程序概念由冯诺依曼等人提出,为纪念其伟大贡献,符合“存储程序概念”的计算机统称为冯诺依曼型计算机,它可简要概括为:

    1. 计算机应由运算器,存储器,控制器,输入设备和输出设备五大基本部件组成
    2. 计算机内部采用二进制来表示指令和数据
    3. 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,这就是存储程序的基本含义(最重要)

    补充:软件兼容分为向上/ 下兼容,指比机器档次好坏的机子/兼容,向前/后兼容指的是机器投入市场的时间前后的机子兼容


    2.计算机的性能指标★★★

    1. 机器字长

      指参与运算的数的基本位数,由加法器,寄存器的位数决定,所以一般等于内部寄存器大小。字长标志着精度,字长越长,计算精度越高。

    2. 数据通路宽度

      外部数据总线一次所能并行传送信息的位数,称为数据通路宽度

    3. 主存容量

      一个主存储器所能存储的全部信息量称为主存容量,通常以字节数表示存储容量,常用K,M,G,T,P,每位递增2^10

    4. 运算速度

      运算速度"指标的含义是指每秒钟能执行多少条操作系统的指令

      1.吞吐量和响应时间

      吞吐量指系统在单位时间内处理请求的数量,响应时间是指系统对请求作出响应的时间,包括CPU时间与等待时间的总和

      2.主频和CPU时钟周期

      CPU主频又称时钟频率,表示在CPU内数字脉冲信号振荡的速度。1/主频=CPU时钟周期

      3.CPI

      指每条指令执行所用的时钟周期数

      4.CPU执行时间

      ​ =CPU时钟周期数/时钟频率

      5.MIPS和MFLOPS

      分别指每秒执行多少百万条指令和每秒执行多少百万次浮点运算


    第二章数据的机器层次表示

    3.机器码与真值的对照关系(P19 表2-1)★

    机器码分为原码,反码,补码, 0只有在补码中表示形式才是唯一的

    真值->原码:转换为二进制,加符号位(纯小数的符号位为小数点左边原个位),0为正,1为负

    真值->反码:先转换为原码,正数反码=原码,负数反码=原码除符号位取反

    真值->补码:正数补码=原码,负数补码=反码+1

    4.浮点数的取值范围和精度 ★★★★

    N=M*r^E M为尾数,r为阶码的底,又称为尾数的基数, E为阶码

    浮点数的取值范围主要由阶码的位数决定,有效数字的精度主要由尾数的位数决定★★

    规格化浮点数:1/r<=|M|<1

    IEEE754标准浮点数格式: ms(数符,即是符号位)+E(阶码部分,用移码表示)+m(尾数数值位)

    类型 数符 阶码 尾数数值 总位数 偏置值
    短浮点数 1 8 23 32 127(111 1111)

    十进制转为短浮点数格式★★★★

    1.先十进制转为二进制数 2.规格化二进制数 3.计算阶码的移码E移=偏置值(111 1111)+阶码真值(E的二进制)

    5.移码特点(P24 表2-3)

    [X]移=偏置值+X

    1. 移码中最高位为0,表示负数,1表示正数,与原码,反码,补码相反
    2. 移码的大小直接反映了真值的大小,有助于两个浮点数进行阶码的大小比较
    3. 真值0的移码表示形式唯一
    4. 同一数值的移码和补码除最高位相反外,其他相同

    补充:1.余三码是一种对9的自补码 2.奇偶校验码:奇校验中1个数为奇数,偶校验中1个数为偶数★

    3.汉字国标码主要用于汉字信息处理系统之间或者通信系统之间交换信息使用★★


    第三章指令系统

    6.机器指令的寻址方式

    OP A1(第一操作数) A2(第二操作数) A3(结果存放地址) A4(下条指令地址)

    1.不同地址数指令(隐地址与显地址)

    4地址指令:不切实际

    3/2地址指令:3显地址/两显,A1同时作为目的地址,进行双操作数运算指令至少需访问主存4次

    单地址指令:可以既能对单操作数进行加工处理,也能在隐含约定另一操作数(或地址)时,对双操作数进行运算,

    进行双操作数运算指令至少需访问主存2次

    零地址指令:,只有操作码字段,无显地址,其加法指令仅用于堆栈

    2.寻址方式(速度由快到慢)★★★

    1.立即:位置:地址码字段。方法:只要取出指令就取出了可以立即使用的操作数。--速度最快
    2.寄存器:位置:指定的寄存器。方法:地址码部分给出某个通用寄存器的编号,这个指定的寄存器中存放着操作数。----------速度第二快且地址段位数少
    3.直接:位置:主存储器。方法:指令中地址码字段给出的地址A就是操作数的有效地址。

    在大多数情况下,一条机器指令中是不直接用二进制代码来指定下一条指令的地址:
    4.间接:位置:主存储器。方法:按指令的地址码字段先从主存中取出操作数的有效地址。
    5.变址:位置:主存储器。方法:变址寄存器中的内容与指令中给出的形式地址A相加,形成操作数有效地址。
    6.基址:位置:主存储器。方法:基址寄存器的内容与指令中给出的位移量; D相加,形成操作数有效地址。
    7.相对:位置:主存储器。方法:由程序计数器PC提供基准地址,指令中的地址码字段作为位移量D,两者相加后得到操作数的有效地址

    7.寻址范围计算(P164 5-11)★

    1MB=1024KB=1024*1024B

    1B=8b (b是位[Bit],0或1就是一位,B是字节[Byte],一个字节就是8位)

    ​ 总线一般被设计来传输固定大小的一块数据,这块数据被称为字(word),一个字包含的字节数(即字的大小)是各种计算机系统里面的基本参数,而且这个参数在不同的系统里通常是不同的。大多数的现代计算机系统里面,一个字要么是4个字节(32位),要么是8个字节(64位).

    一个字等于多少个字节,与系统硬件(总线、cpu命令字位数等)有关,不应该毫无前提地说一个字等于多少位。

    正确的说法:

    1.1字节(byte) = 8位(bit)

    2.在16位的系统中(比如8086微机) 1字 (word)= 2字节(byte)= 16(bit)

    在32位的系统中(比如win32) 1字(word)= 4字节(byte)=32(bit)

    在64位的系统中(比如win64)1字(word)= 8字节(byte)=64(bit)

    题型:1.某机字长32位,存储容量64MB,若按字编址,它的寻址范围是__。

    解:(64* 1024 * 1024 * 8位)/32位=16M

    8.堆栈结构与操作★

    堆栈是一种按照先进后出的顺序进行存取的存储区,主要用于暂存中断断点,子程序调用时的返回地址,状态标志及现场信息

    用一组专门的寄存器构成寄存器堆栈,又称硬堆栈;栈顶固定,寄存器组中的寄存器相互连接,可将任意一个寄存器内容推移到相邻的另一个寄存器中

    从主存划出一段区域来作为堆栈是最合算常用的方法,又称软堆栈,栈底固定栈顶浮动,故需要堆栈栈顶指针SP;有两种:

    1.自底向上生成堆栈(向低地址方向生成):

    进栈: (SP)-1->SP (A)->(SP)

    出栈: ((SP))->A (SP)+1->SP

    2.自顶向下生成堆栈(向高地址方向生成):与上面+-相反

    堆栈操作一般只有进栈和出栈

    9.指令类型

    数据传送类指令

    1. 一般传送指令: MOV
    2. 堆栈操作指令: 分为进栈(PUSH)和出栈(POP)
    3. 数据交换指令: 双方向

    运算类指令

    1. 算术运算类指令: ADD/SUB, CMP
    2. 逻辑运算类指令: AND OR XOR NOT TEST(测试指令,实现AND操作单不改变目的操作数)
    3. 移位类指令: SAL/SAR , SHL/SHR

    程序控制类指令

    1. 转移指令:改变程序执行顺序,JMP,LOOP
    2. 子程序调用指令: CALL
    3. 返回指令: 子程序的最后一条指令, RET

    输入输出类指令

    1. 独立编制的I/O: IN/OUT
    2. 统一编制的I/O

    第四章 数值的机器运算

    10.加法器★

    加法器主要由全加器及必要逻辑电路组成,分为串行和并行两种

    串行加法器:只有一个全加器,数据逐位串行送入,器件少成本低但运算速度慢

    (Ci=Gi+PiCi-1)

    ​ C1=G1+P1C0

    ​ C2=G2+P2C1

    并行加法器:多个全加器,同时对数据各位相加,提升其速度的关键是尽量加快进位产生和传递的速度

    ​ C1=G1+P1C0

    ​ C2=G2+P2G1+P2P1C0

    11.补码运算(+,-,*,/)与溢出判断★★★★

    1.补码加减法:两个数均用补码表示,符号位也参与运算

    当XY两个数异号,实际上做加法运算,不会溢出;当同号且结果为正且超过最大整数,为正溢,反之为负溢

    2.补码乘除法

    3.十进制整数的加法运算

    1.8421码:逢二进一,当和大于9,+6校正

    2.余三码:逢二进一,当和无进位则-3,有进位则+3

    4.浮点数加减运算

    1. 对阶:阶码小的数的尾数右移,每右移一位,其阶码+1,直到两数的阶码相等位置
    2. 尾数加/减
    3. 尾数结果规格化:左规可以多次,右规只能一次
    4. 舍入
    5. 溢出判断:右规后,根据阶码符号
      1. 上溢,机器停止运算,做溢出中断处理
      2. 下溢,浮点数趋于零,机器按机器零处理

    12.溢出检测方法★/★★

    加减法:1.采用一个符号位 :X,Y为两个数的符号位,S为结果的符号位

    溢出=~X~YS+XY~S

    2.采用进位位 : Cs-符号位是否产生进位 C1-最高数值位产生的进位

    溢出=Cs⊕C1

    3.采用变形补码(双符号位补码)

    S1S2=00:结果正数,无溢出 S1S2=01:结果正溢

    S1S2=10:结果负溢 S1S2=11:结果负数,无溢出

    13.舍入处理

    带符号数的移位操作:左移一位=*2 右移一位=/2

    原码:不论正负,左移右移,符号位不变,空出位补0

    补码:

    正数不论左移右移,符号位不变,空出位补0,

    负数符号位不变,左移空位补0,右移空位补1

    舍入方法:

    1.恒舍 2.冯诺伊曼舍入法(最低位置一) 3.下舍上入法(0舍1入)

    4.查表舍入法


    第五章 存储系统和结构

    14.存储器的分类★★★

    1. 按存储器在计算机系统中的作用分类
      1. 高速缓冲存储器(Cache):位于主存和CPU之间,用于存放正在执行的程序段和数据,以便CPU能高速使用它们
      2. 主存储器:用来存放计算机运行期间所需要的程序和数据,CPU可直接随机地读/写访问,存取速度较高
      3. 辅助存储器(外存储器):用来存放当前暂不参与运行的程序和数据以及一些需要永久性保存的信息,存取速度低且CPU不能直接访问
    2. 按存取方式分类
      1. 随机存取存储器(RAM,Random Access):CPU可自由随机存取,对任何一个存储单元存取时间相同,主要用于主存,也可用于高速缓冲存储器
      2. 只读存储器(ROM,Read Only):信息一旦放入,即使断电也不会丢失,主要用来存放系统程序和某些固定的发生器或控制器
      3. 顺序存取存储器(SAM,Sequential Access):只能按某种顺序存取,即是存取时间与信息的物理位置有关,如磁带机
      4. 直接存取存储器(DAM,Direct Access):介于RAM与SAM之间,先指向某个小区域,再在小区域内顺序检索,如磁盘机
    3. 按存储介质分类
      1. 磁芯存储器:容量小速度慢体积大可靠性低
      2. 半导体存储器:主要有MOS型存储器和双极型(TTL电路或ECL电路)存储器,前者集成度高 ,速度慢成本低;后者相反。会因为断电丢失信息
      3. 磁表面存储器:磁盘磁带
      4. 光存储器:辅助存储器
    4. 按信息的可保存性分类
      1. 易失性存储器:断电后信息丢失的
      2. 若某个存储单元存储的信息被读出时,原信息被破坏,称为破坏性读出,具有该特性的存储器每当一次读出操作之后,必须紧接着一个重写(再生)的操作,以便恢复被破坏的信息

    15.动态RAM记忆单元电路与刷新技术★★★

    为了维持DRAM记忆单元的存储信息,每隔一定时间必须刷新,刷新间隔主要根据栅极电容上的电荷的泄放速度

    刷新是定时的,即使记忆单元未被访问,若不即使补充电荷,信息也会丢失,以存储体矩阵中一行为单位进行,仅针对DRAM

    重写是随机的,某个存储单元存储的信息被破坏性读出之后才需要重写,以存储单元进行,仅针对破坏性读出的存储器

    常见刷新方式如下:

    1. 集中刷新方式

      在允许的最大刷新间隔内,按存储芯片容量大小集中安排若干个刷新周期,刷新时停止读写操作

      刷新时间=存储矩阵行数 x 刷新周期(存取周期/读写时间)★★★★

      优点:读写操作不受刷新工作影响,系统存取速度较高

      缺点:集中刷新期间必须停止读写,这段时间称为“死区”

    2. 分散刷新方式

      把刷新操作分散到每个存取周期内进行,此时存取周期分为两部分,前部分进行读写操作或保持,后部分进行刷新操作

      优点:没有死区

      缺点:1.加长了系统存取周期,降低整机速度 2.刷新过于频繁

    3. 异步刷新方式

      相邻两行的刷新间隔=最大刷新间隔时间/行数★★★★

      前面两者的结合,把刷新操作平均分配到整个最大刷新间隔时间内进行

      优点:虽有死区但比集中刷新小得多,也减少了刷新次数

    消除死区还可以采用不定期的刷新方式:把刷新操作安排在CPU不访问存储器的空闲时间,但实现困难

    16.实现存储器容量扩充方案设计(P139)★★★★★

    存储容量:对于字节编址的计算机,以字节数表示存储容量,对于字编址的计算机,以字数x字长(位数)来表示存储容量,

    如:某计算机主存容量位64K x 16,表示它有64K各存储单元,每个存储单元字长为16位

    ​ 又表示有16根地址线(2^16=65536>=64K),16根数据线(对应位数16)

    主存容量的扩展

    组成一个主存,首先考虑选片问题,然后就是如何将芯片连接起来的问题

    根据存储器所要求的容量和选定的存储芯片的容量,可得总的芯片数

    ​ 总片数=总容量/(容量/片)

    例如:存储器容量为8K x 8,若选用1K x 4的存储芯片,则需要

    ​ 8K x 8 / 1K x 4 =8 x 2片=16片

    多片组合起来的方法:

    1. 位扩展

      位数不同,字数一致,则将各存储芯片的地址线,片选线和读写线并联,而将数据线单独列出

      如用

    2. 字扩展

    3. 字和位同时扩展

    地址线Ai,数据线Di,片选线~CS,读写控制信号~WE,地GND,24译码器(画逻辑电路图用)

    逻辑电路图:Di和~WE分别连到所有芯片,Ai取高位两个连24译码器,译码器出去连~CS

    17.高速缓冲存储器★★★

    1. 程序的局部性原理★

    ​ 程序的局部性有两个方面的含义:时间局部性和空间局部性

    ​ 时间局部性:如果某个存储单元被访问,则可能该单元会很快被再次访问,因为程序存在着循环

    ​ 空间局部性:如果某个存储单元被访问,则该单元附近的单元也可能很快被访问,因为程序中大部分指令是顺序存储,顺序执行的,数据一般也是以向量,数组,树,表等形式簇聚地存储在一起

    ​ 因此,高速缓冲计数就是利用程序的局部性原理,把程序中正在使用的部分存放在一个高速的容量较小的Cache中,使CPU的访存操作大多数针对Cache进行,从而使程序的执行速度大大提高

    ​ Cache的容量远小于主存容量,因此只保存主存中最急需执行的若干块的副本。用主存地址的块号字段访问Cache标记,并将取出的标记和主存地址的标记字段相比较,若相等,说明访问Cache有效,称Cache命中

    1. Cache的读写操作

    ​ Cache的读操作:若Cache命中,则直接进行读操作;若Cache不命中,则需访问主存,并把该块信息一次从主存调入Cache内,若此时Cache已满,则需根据某种替换算法,用这个块替换掉Cache中原来的某块信息

    ​ Cache的写操作:

    ​ 若Cache命中,写处理方法:写直达法,写回法

    ​ 若写Cache不命中,则直接把信息写入主存,有两种处理方法:

    ​ 1.不按写分配法

    ​ 2.按写分配法

    1. 地址映像:★

      1.全相联映像

      2.直接映像:主存中的每一块只能被放置到Cache中唯一的一个指定位置,若该位置已有内容,则强制取代它

      ​ K=I mod 2^c

      K为Cache块号,I为主存块号,2^c为Cache块数

      3.组相联映像:组间直接映像,组内全相联映像

      ​ J=I mod Q

      J为Cache组号,I为主存块号,Q为Cache组数

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

    3. 更新策略

    18. CPU对主存的访问时间(习题p121 5.18)★★★★

    CPU当未命中Cache时,就会去访问主存

    CPU对Cache的访问时间Ta=Cache命中率 x Cache存取周期

    CPU对主存的访问时间Tb=Cache未命中率 x 主存存取周期

    CPU访存的平均访问时间Tc=Cache命中率 x Cache存取周期+Cache未命中率 x 主存存取周期

    ​ =CPU对Cache的访问时间+CPU对主存的访问时间

    Cache-主存系统的效率=Cache存取周期/Tc


    第六章 中央处理器

    CPU主要由运算器和控制器组成,运算器的核心部件是算术逻辑单元(ALU)或加法器

    控制器是整个计算机的指挥中心,主要功能是安卓人们预先确定的操作步骤,控制各个部件有条不紊地自动工作

    19. CPU的控制方式★★★

    1.同步控制方式

    ​ 即固定时序控制方式,各项操作都由统一的时序信号控制,在每个机器周期中产生统一数目的节拍电位和工作脉冲,以最复杂指令的操作时间作为统一的时间间隔的标准

    ​ 特点:设计简单,易于实现,但对于许多简单指令来说会存在较多空闲时间,造成实际浪费,影响指令的执行速度

    2.异步控制方式

    ​ 即可变时序控制方式,各项操作不采用统一的时序信号控制,而根据指令或部件的具体情况决定,需要多少时间就占用多少时间

    ​ 特点:没有时间上的浪费,提高了机器效率,但控制比较复杂

    3.联合控制方式

    ​ 前两者相结合的方式,在功能部件内部采用同步方式或以同步方式为主,在功能部件之间采用异步方式

    20.指令运行过程(p178-p180,图6-9)★★★★★

    一条指令运行过程可以分为三个阶段:取指令阶段,分析取数阶段和执行阶段

    加法指令,实现:((R0))+(R1)->(R0) 将R0的内容作为地址送到主存取出操作数与R1的内容相加,再送回主存中

    1.取指周期

    1. 程序计数器(PC)中的内容送至存储器地址寄存器(MAR),并送地址总线(AB):(PC)->MAR
    2. 由控制单元(CU)通过控制总线(CB)向主存发读命令:Read
    3. 存储器通过数据总线(DB)将MAR所指单元的内容(指令)送至存储器数据寄存器(MDR): M(MAR)->MDR
    4. 将MDR的内容送至指令寄存器(IR):(MDR)->IR
    5. 使PC内容加一,准备取下一条指令:(PC)+1->PC

    2.取数周期

    1. 完成将被加数地址送至MAR的操作:(R0)->MAR
    2. 向主存发读命令:Read
    3. 存储器通过数据总线将MAR所指单元的内容(数据)送至MDR: M(MAR)->MDR->Y

    3.执行周期

    1. 控制单元(CU)向ALU发"ADD"控制信号,使R1的内容和Y的内容相加,结果送至寄存器Z:(R1)+(Y)->Z
    2. 将运算结果送MDR:(Z)->MDR
    3. 向主存发写命令:Write
    4. MDR->MM

    21.机器指令、微命令、微操作、微指令、微地址、微程序的概念和关系★★★

    1.机器指令,微命令,微操作

    一条机器指令可以分解成许多基本微操作序列,这些微操作是计算机中最基本,不可再分解的操作。

    微命令是控制计算机各部件完成某个基本微操作的命令。

    微命令和微操作是一一对应的,微命令是微操作的控制信号,微操作是微命令的操作过程。

    2.微指令,微地址

    微指令是指控制存储器中的一个单元的内容,即控制字,是若干个微命令的集合

    存放控制字的控制存储器的单元地址就称为微地址

    一条微指令通常至少包含两大部分信息:

    ​ 1.操作控制字段:用于产生某一步操作所需的各微操作控制信号

    ​ 2.顺序控制字段:用于控制产生下一条要执行的微指令地址

    微指令由垂直型和水平型之分。垂直型每条只能完成一个基本微操作;水平型微指令则具有良好的并行性

    3.微周期和微程序

    从控制存储器中读取一条微指令并执行相应的微命令所需的全部时间称为微周期

    一系列微指令的有序集合就是微程序,每条机器指令都对应一个微程序

    22.微操作的节拍安排(P192)★★★★★

    23. RISC和CISC的区别★★★

    指令系统体系结构 CISC RISC
    指令系统 复杂,庞大 简单,精简
    指令数目 一般大于200条 一般小于100条
    指令字长 不固定 等长
    寻址方式 一般大于4 一般小于4
    可访存指令 不加限制 只有LOAD/STORE指令
    各种指令执行时间 相差较大 绝大多数在一个周期内完成
    通用寄存器数量 较少
    控制方式 绝大多数位微程序控制 绝大多数位硬布线控制

    相同规模下的RISC的处理速度比CISC提高3~5倍,相同面积和复杂程度的RISC芯片比CISC芯片可集成更多的功能部件,集成度大为提高,功能大大加强

    RISC存在局限性,商品化的它是在RISC基础上实现了RISC与CISC的结合


    第七章总线

    第八章外部设备

    24.磁盘、磁道和扇区的关系

    磁盘上有一条条磁道形成同心圆,最外圈为0号,往里递增,各记录面上的相同编号的磁道构成圆柱面,通常将一条磁道划分为若干段,每段称为一个扇区,每个扇区存放一个定长的信息块

    25.磁盘存储器:磁道、柱面、盘组总存储容量、数据传输率、平均寻道时间、平均等待时间★★★★

    磁介质存储器主要计数指标有:

    1.记录密度:

    道密度:垂直于磁道方向上的单位长度的磁道数目,单位为道/in(TPI)或道/mm

    位密度:沿磁道方向上的单位长度所记录的二进制信息的位数,单位为:位/in(bpi)或位/mm

    2.存储容量C

    非格式化容量:磁记录介质上的全部磁化单元,非格式化容量=最大位密度 x 最内圈磁道周长 x 总磁道数

    格式化容量:用户实际使用容量, 格式化容量=每道扇区数 x 扇区容量 x 总磁道数

    每条磁道长度=最内圈磁道周长=PI(盘面直径-2 x 记录信息的区域(半径长度))

    每一记录面磁道数=记录信息的区域 x 道密度

    3.平均存取时间

    存取时间主要分为四个部分:

    ​ 1.磁头从原先位置移动道目的磁道所需时间,称为定位时间/寻道时间

    ​ 2.在到达目的磁道以后,等待被访问的记录块旋转到磁头下方的等待时间,称为旋转时间或等待时间

    ​ 3.信息的读写操作时间,又称为传输时间

    ​ 4.磁盘控制器的开销

    ​ 平均寻道时间Ts=(tsmix +tsmax)/2=(0+道间移动时间 x (每一记录面磁道数-1))/2

    ​ 平均等待时间Tw=(twmix +twmax)/2=(0+旋转一圈的时间)/2

    ​ 存取时间=Ts+Tw

    4..数据传输率Dr

    ​ 磁介质存储器在单位时间内向主机传送数据的位数或字节数,单位为b/s或B/s

    ​ Dr=每一道的信息容量/旋转一圈的时间=每一道信息容量x 转速

    27.键盘与鼠标

    26.字符显示器的字符显示原理★★★★

    显示缓冲区/缓存(VRAM)存放的是字符的ASCII码,不是点阵信息。若要显示出字符形状,还需要字符发生器(字符库)的支持

    字符发生器的地址有两部分组成:字符的行点阵码首地址高位=ASCII码-20H, 字符行点阵码首地址低位=行计数值

    字符发生器(ROM)容量=可显示的字符数 x 每字符采用的点阵 ,单位b

    缓存地址与打印位置的对应:打印位置自左向右,相应缓存地址由低到高,每个地址码对应一个字符打印位置

    补充:显示设备输出的信息在其关机后不能存在,称为软拷贝,打印机那种称为硬拷贝★★


    第九章 输入输出系统

    28.接口的功能与基本组成

    接口的功能:

    1. 实现主机和外设的通信联络控制
    2. 进行地址译码和设备选择
    3. 实现数据缓冲
    4. 数据格式的交换
    5. 传递控制命令和状态信息

    接口的基本组成:

    接口和端口不同,端口是指接口电路中可以被CPU直接访问的寄存器,若干个端口加上相应的控制逻辑电路才组成接口

    通常一个接口由外设识别,数据/命令/状态三个端口,控制电路组成

    29.输入输出信息传送控制方式(补充的)

    1.程序查询方式

    指CPU在程序中查询外设的工作状态,若未准备就绪则CPU循环等待,只有当外设做好准备,CPU才能执行I/O指令进行数据传送,是一种程序直接控制方式,是最简单,经济的I/O方式,通常接口中至少有两个寄存器,即是数据端口和状态端口

    2.程序中断方式

    主机启动外设后,无须等待查询,而是继续执行原来的程序,外设在做好输入输出准备时,向主机发送中断请求,主机接受请求后就暂时中止原来执行的程序,转去执行中断服务程序对外部请求进行处理,处理完毕后再返回原来的程序继续执行

    3.直接存储器存取(DMA)方式

    主存外设之间开辟直接的数据通路,可以进行基本上不需要CPU介入的主存和外设之间的信息传送★

    4.I/O通道控制方式

    30.中断屏蔽与CPU执行轨迹(p298-p299,图9-16,习题p231 9.6,9.7,9.8,9.9)★★★★★

    中断源发出中断请求后,这个中断请求并不一定能真正送入CPU,有些情况下,可以用程序方式有选择的封锁部分中断,这就是中断屏蔽,因此引入了中断屏蔽字

    中断屏蔽字可以改变中断优先级,将原级别较低的中断源变成较高的级别,称为中断升级。

    这里的改变优先次序是指改变中断的处理次序,而中断响应次序仅由中断源的级别决定(即是仅由硬件排队电路优先级别决定),无法改变,一般屏蔽码表中x级别的y级别的屏蔽字为1则禁止y级别在x级别进行中断处理时提出中断请求

    31.DMA与中断的区别

    1.中断方式是程序切换,需要保护和恢复现场;而DMA方式除了开始和结尾时,不占用CPU的任何资源

    2.对中断请求的响应时间只能发生在每条指令执行完毕时;而对DMA请求的响应时间可以发生在每个机器周期结束时

    3.中断传送过程需要CPU的干预;而DMA传送过程不需要CPU的干预,因此数据传输速率非常高,适合高速外设的成组数据传送

    4.DMA请求的优先级高于中断请求

    5.中断方式具有对异常事件的处理能力;而DMA方式仅局限于完成传送数据块的I/O操作

    32.程序查询方式中时间比率的计算(P313 9-8)★★★★

  • 相关阅读:
    Linux实战(2):Linux传输文件
    Linux实战(1):装机一键设置脚本初级版
    Docker实战(4):Docker错误记一笔
    Docker实战(3):Tomcat部署
    Docker实战(5)升级Docker版本后的报错
    Promise
    创建数据库
    wepy中组件之间通信方法
    javascript —— 禁止通过 Enter 键提交表单
    input禁止复制、粘贴、剪切
  • 原文地址:https://www.cnblogs.com/AMzz/p/12188208.html
Copyright © 2020-2023  润新知