组成原理知识点整理

在印象笔记里发现组成原理当时整理的笔记, 这里整理一篇blog, 方便查找. 当时主要应用是在考试方面, 内容比较基础, 但是应付期末考试之类的应该还是可以的. 不废话了, 纪念当年的组成原理ヾ(≧O≦)〃嗷~.


 

 第一章--概述

1.基本概念
      (1)指令:人让机器所做的操作的命令.(都是0,1代码)
                 由操作码与地址码组成,操作码是指要做什么操作,地址码是存放操作数地址.
                 操作码有n位,则操作种类有2n位.
                 指令越多,功能越强.
      (2)程序:指令的有序组合.
      (3)指令系统:一台机器拥有的全部指令.
 
2.冯诺依曼存储原理:
      (1)由存储器/运算器/控制器/输入设备/输出设备组成.
      (2)指令和数据都是二进制形式,顺序存放于存储器中.(指令与数据都是二进制,无法进行区分)->二进制原理
      (3)机器自动顺序取出每条指令,分析/执行规定操作.->程序控制原理
 
3.总线
      多个功能部件间进行信息传输的公共通道.
      三种总线结构需要分析. 
 
4.接口的作用
      为什么外设必须加接口才能加到总线上,翻课本查一下
 
5.字节:就是8位二进制,规定必须。
   字:自己规定位数,与字节区别。其中字长为字的二进制位数。
   机器字长决定了寄存器/运算器/数据总线的位数
 
6.计算机的核心:操作系统
   硬件系统的核心:控制器
   运算器的核心:加法器

 
 第二章--计算机中数据信息表示法
1.基数与权的概念
      基数:数制中所用到的代码的个数.
             十进制为0~9,二进制为0~1
      权:比如十进制的为,个位代表0/十位代表10等
 
2.为什么用二进制:
     (1)便于物理器件实现
     (2)运算规则简单
     (3)便于实现逻辑运算
 
3.最好的数据为e进制(2.71828)
      为什么不用三进制:现实世界三个状态的物理器件比较少,不便于物理器件实现
 
4.机器数:数据在机器中的表示
   特点:
      (1)数的符号数值化(0-正,1-负)     [机器中数的符号数值化,0为正,1为负(错误的,因为移码是相反的)]
      (2)表示范围受字长限制,超出范围--溢出
      (3)小数点的位置需要约束           [机器中小数点是约定的,分为定点数/浮点数]
 
5.小数点的位置[通过位置进行确定]n+1为机器字长
      ****.(定点整数)
          表示范围:1<=|X|<=2n-1
      *.***(定点小数)
          表示范围:2-n<=|X|<=1-2-n(不包括0,0为特殊的数)
      浮点表示:(小数点位置不固定)-----用了浮点数所以计算机的精度高
           基本格式:
阶符阶值  尾符

尾数值

       Js                            J1J2...Jm                         Ss                             S1S2...Sn
  尾数部分用定点小数表示
       阶码部分用定点整数表示->用移码表示, 尾数n位,阶码m位.保证浮点数足够大的数值范围,并要求精度,合理选择m,n
       ****浮点数的规格化:->只要求尾数
       原码表示:要求S1位必须为1
       补码表示:正数,尾数最高位为1,即Ss.S1=0.1   
                    负数,尾数最高位为0,即Ss.S1=1.0
                    为什么这种设计方式: 直接使用异或门就可以实现,硬件设计简单
       表示范围:
               |X|max:Js=0,J1...Jm全部为1,S1...Sn为1
               |X|min:Js=1,J1...Jm全部为1,Sn为1,其他为0
               2-n*2-(2^m-1)<=|X|<=(1-2-n)*2(2^m-1)
               尾数为0,不论阶码为何值机器都为0 
  定点数与浮点数的比较:
        (1)定点表示简单,省硬件.浮点表示麻烦,价格贵.
        (2)浮点表示比定点表示范围大
 
6.定点机器数
      正数:原反补码相同
      负数:原反补码不同
      [X]原反补:此处必须符合4的特点, 此数必须有符号位/必须约定小数点
 
7.原码(注意补齐位数)->0的原码表示不为一必须有一位为符号位
      小数原码[X]的表示:
            正数     [X]=X
            负数     [X]=1-X=1+|X|
      整数原码[X]的表示:
            正数:     [X]=X
            负数:     [X]=2n+X
      机器字长的符号位加入字长中.
      此处为一个例题:+8用原码表示,且机器字长为4位,表示不下,发生溢出。
      原码表示的优点
          (1)直观易懂。
          (2)机器数和真值间的转换容易
          (3)实现乘除运算简单
      原码表示的缺点
           加减运算规则复杂
 
8.补码[做加减运算的时候使用]
      为什么用补码做加减:
     (1)克服原码在加减运算中的复杂的缺点
     (2)符号位参与运算
     (3)使减法变成加法,简化机器运算电路[以时钟为例子解释,11-5=11+7时钟]
      目的为(2)(3)
      模的求解:
         小数补码的模:2
         整数补码的模:2n+1 n+1为机器字长
 
9.移码(都为正数域中)
        与补码的符号位相反,其它位相同
      性质:
         (1)0为负数,1为正数
         (2)移码全零,真值最小
         (3)0的移码表示唯一
         (4)与补码的符号位相反,其它位相同
         (5)移码表示把真值映射到正数域,可按照无符号数比较大小.
 
10.表示范围
       原码:
          整数:0,1111~1,1111从此处进行计算范围->-2n<X<2n
          小数:0.1111~1.1111注意这是小数,应该为1-2n[此处n为负数]->-1<X<1
        反码:
           与原码表示一样
      补码:
           整数:0<=X<2n && -2n<=X<0[n为机器字长减一]->-2n<=X<2n
           小数:0<=X<1 && -1<=X<0->-1<=X<1
      补码比原码多出一位,例子:
       机器字长4位,表示多出的一位都为1,000
 
11.原反补码的表示
       正数的原反补码一致,负数不同,特别重要
 
12.非数值数据编码表示
       (1)BCD码->4位二进制表示
           有权码/无权码区别:是否每一位是否有权
           有权码
                 ->8421码:将0~9用4位二进制表示
                 ->2421码:每一位分别表示2/4/2/1,不允许0101~1010的出现
       (2)检错纠错码
            1)奇偶校验码--用于并行数据传送--只能选择其中一种,只能检错,不能纠错. 就是在k位数据码之外增加1位校验码,使k+1位码取值为1的位数总保持为偶数(偶校验)或奇数(奇校验)
            2)海明码与循环冗余码用于纠错
       (3)字符编码
           1)ASCII码
               ASCII-7:
                   8位:7位,区别不同字符,128个; 1位,奇偶检验
               ASCII-8,扩展ASCII码,256个
           2)汉字
               计算机中两个字节表示一个汉字,每个字节只使用7位,最高的一位为1----目的:将汉字与ASCII码进行区别
           3)字符串表示
               一串连续的字符,计算机中表示为占据主存中连续的多个字节,每个字节存放一个字符. 可以从低位到高位,也可以从高位到低位
               取字符串的方法:首先给首地址,然后给字符串的字符长度
           4)逻辑数据的表示
               1表示真,0表示



第三章--运算方法和运算器
1.移位运算
      逻辑移位:寄存器中数据左移右移,出现空位都补0.
      (1)算数移位:     左移x=2*x     右移x=1/2*x     左加右减     移位后,符号位保持不变
             正数移位:无论原反补码都用空位补0
             负数移位:原码左移右移空位都补0
                           反码左移右移空位都补1
                           补码左移空位补0     右移空位补1
           是否2[X]=[2X]?是否1/2[X]=[1/2X]?
           答:当X>=0时,成立->条件:不溢出
               当X<0时,左移成立;当X>0时,右移不成立->左移成立条件:不溢出
      (2)舍入操作
          1)恒舍:多余的部分全部去掉
          2)冯诺依曼舍入法:末位恒置1
          3)0舍1入发->0就舍,1就+1,进位
          4)ROM舍入法->查表
 
2.定点加减法(乘除->不做要求)
      (1)原码加减法->不用     反码加减法->不用
      (2)补码加减法->为便于判断溢出,常采用模4的补码形式,就是符号位改为2位->以模4做习题,第一个符号位始终指示正确的符号
          [X+Y]=[X]+[Y]
          [X-Y]=[X]+[-Y]
          [Y]与[-Y]的转换:符号位,数值位全部变反,最后+1
          [Y]变[Y],除符号位,将数值位变反,+1
      (3)溢出判断
          符号位为00,表示正数;符号位为11,表示负数
          符号位为01,表示正溢;符号位为10,表示负溢
          符号位为100的时候为什么不溢出:因为采用的是模4进行表示,所以不会溢出,仅仅丢掉的是模.
 
3.基本加减法运算器设计
      要求:
         1)速度快,门的级数少
         2)逻辑设计与实现完整性(尽量使用相同的器件)
         3)除提供的功能,最好提供其他功能
      (1)串行加法器
      (2)并行加法器->进位仍为串行
          1)串行加法器的进位链
              C2->C1,C3->C2(需要以前的进位依赖),所用的时间为n位*2ty
          2)并行加法器的进位链
             进位的C=AiBi+(Ai+Bi)Ci-1=Gi+PiCA和B表示需要运算的两位,C表示进位;G表示AB的与,P表示A+B的AB或。
                当A和B都为1的时候,一定产生进位即G为1.只要A或B有一个1,进位C才能产生进位。
          3)看课本P     看C2/C3/C4等如何全部推到C0,就是将前一步求的值,在这一步中展开就可以显示C0->仅需2ty就行
              虽然上面是2ty,但是现实中不存在这样的元器件.受到扇入系数的影响
          4)设计思想
             将串行与并行结合起来设计.比如16位,分成4组,每组4个,组内为并行,组间用串行的.
 
4.十进制加减法/定点乘法/定点除法->不要求
 
 
5.逻辑运算->按位进行,不存在进位与借位现象
      (1)逻辑非
      (2)逻辑加->逻辑或
      (3)逻辑乘->逻辑与
      (4)逻辑异
 
6.定点运算器设计->运算器的核心为ALU
      寄存器A即存运算数又存最后的结果/寄存器B有X和X非,若为加则选择X,若为减则选择X非.
      寄存器A称为:累加器
      ALU中为什么存在+1这一项?
        因为寄存器B中存的数都为反码,通过ALU的+1则可以变成补码进行运算,设计方便.还可以用于PC+1
 
7.规格化浮点运算->对阶与规格化都需要移位
      (1)对阶--小阶向大阶看齐->阶码相同
           移动尾数部分的数值,改变阶码的值.
      (2)尾数求和
      (3)规格化
           补码正数:00.1的形式
           补码负数:11.0的形式
           左规:尾数左移一位,阶码减一
           右规:尾数右移一位,阶码加一
           01.000和10.000:在定点数表示溢出,在浮点数中允许.这种情况用右移使其规格化即可
       (4)舍入
       (5)溢出处理

 
第四章--指令系统
1.指令系统概述
      指令:就是OP(操作码)与D(地址码)组成
      指令字长:一个指令字中包含二进制的位数
      机器字长:计算机能直接处理的二进制数据的位数,决定了计算机的运算精度
      存储字长:内存单元二进制的位数
      单字长指令:指令字长=机器字长
      半字长指令:指令字长=1/2机器字长
      双字长指令:指令字长=2倍机器字长
      指令字长与机器字长的关系?
            无固定关系
      确定指令字长的原则:
           1)指令字长尽可能短;节省内存空间,提高执行速度
           2)等于字节的整数倍->避免存贮空间的浪费
 
2.指令的分类->讨论机器指令
      从计算机组成的层次结构分:
           微指令
           机器指令->介于微指令与宏指令之间,简称指令
           宏指令->许多机器指令组成的软件
 
3.机器语言是机器能够直接识别的,汇编语言不能识别.
   高级语言与计算机的硬件结构及指令系统无关
 
4.指令格式
      操作码m位,地址码n位->操作数种类2m,操作数的范围为2n
      m和n的位数一般是固定的,不能随时变化
 
5.操作码
      操作码:主操作码(基本操作)和辅操作码(有移位等)
      组织形式:
          (1)定长的操作码
               若操作码为4位,需要用译码器译成16位
          (2)变长的操作码
               优点:用较少的位数表示更多的指令格式,同时满足操作数地址的需求
               缺点:计算机硬件设计复杂,指令译码和执行速度慢
          (3)操作码与操作数地址有所交叉->基本不用
 
6.地址码->指出参与操作的数据地址
      (1)CPU内部的通用寄存器-最快
      (2)内存的单元--次之
      (3)外设接口中的寄存器--最慢
      指令中的地址码:
          1)四地址指令--op|A1( 第一个操作数 ) |A2( 第二个操作数 )|A3 (结果) |A4(下一条指令地址) ->访问内存:5次/取指令别忘记
          2)三地址指令--op|A1( 第一个操作数 ) |A2( 第二个操作数 ) |A3( 结果) ->访问内存:4次,下一条指令地址在PC中
          3)二地址指令--op|A1( 第一个操作数 和结果) |A2( 第二个操作数 )->访问内存:4次,下一条指令地址在PC中->多数机器采用
          4)一地址指令--op|A1(操作数)->累加器中存放一个操作数,最后的结果存放于累加器中->访问内存:2次->微型机应用广泛
          5)零地址指令--op-><1>无需操作数,NOP(空转),<2>所需的操作数由堆栈提供
          6)寄存型地址格式指令->操作数全部放在寄存器中也有单地址/二地址/三地址之分--访问内存:1次,操作数存放在寄存器中,只有取指令的时候访内
 
7.堆栈->先进后出
      硬堆栈->寄存器堆     软堆栈->内存中的指定区域
      堆栈两端:
          固定:栈底
          活动:栈顶,SP指针指示
      自底向上的堆栈:
          压栈:先修改SP,后存数据
          出栈:先取出数据,后修改SP
 
8.寻址方式(地址:形式地址和有效地址,形式地址->指令给出的地址;有效地址->操作数真正的地址,又称物理地址)
      指令寻址:如何找指令(PC)
      操作数寻址:寻找操作数
      区分:指令地址与指令中的地址
             指令地址:存放指令的地址,即OP|D的地址
             指令中的地址:操作数的形式地址
      寻址方式:->一台机器,可能只用其中几种寻址方式/机器不同,寻址方式相同,表达方式和含义也可不同(页面寻址:拼接的内容可能不同,参考页面寻址)
     (1)立即寻址->OP|D其中D就是操作数(访存1次)
          特点:执行指令时不访问内存,速度快/立即数的位数受字长的限制
     (2)直接寻址->OP|D其中D为操作数的地址(假设为n位,则寻址范围为2n)(访存2次)
          特点:直观/寻址空间受限
     (3)间接寻址->OP|D其中D为操作数地址的地址
          寻址空间受内存储器的位数限制,存储字的位数S位,寻址范围2S
          一次间址:形式地址是操作数地址的地址.
          多次间址:指令中设间址特征位,此位为1,继续间址,直至此位为0.
     (4)隐含寻址->OP|D--操作数地址
          ACC OP(D)->ACC--操作数隐含在累加器ACC中
     (5)变址寻址->OP|Ri(得到变址寄存器的位置)|变址偏移量
          (IR)+D=有效地址EA
     (6)基址寻址->OP|Ri(得到基址寄存器的位置)|变址偏移量
          (BR)+D=有效地址EA
          变址寻址与基址寻址的异同:
               相同:有效地址的形成方式不同,都能扩大寻址空间(变址/基址寄存器为n位,寻址空间为2n)
               不同:1)变址寻址中,变址寄存器提供变址量,形式地址提供基准量,这个基准量位数较长 
                            基址寻址中,基址寄存器BX提供基准量,形式地址提供偏移量,这个偏移量位数短
                            变址:变址量(小)+形式地址(大)=有效地址
                            基址:基址值(大)+形式地址(小)=有效地址
                       2)变址寄存器的值由用户确定,且随意改变
                          基址寄存器的值由操作系统确定
      (7)复合寻址
          先变址后间址: ((IX)+D)--有效地址
          先间址后变址:(D)+(IX)--有效地址
     (8)相对寻址
          有效地址EA=(PC)+D
          与变址寻址的区别:
               变址寄存器可以是多个寄存器中的一个,而相对寻址中的寄存器已确定为PC,无须在指令中确定.
     (9)页面寻址(扩充寻址)
          扩充地址寄存器内容作高位,形式地址为低位--页内地址,二者联合--有效地址
          扩充地址寄存器+指令中的形式地址,即D的地址,可以变成一个更长的地址
     (10)寄存器寻址
          形式地址就是寄存器的编号
     (11)堆栈寻址
          入栈操作:指令 PUSH A
                         操作:SP-1->SP
          出栈操作:指令 POP A
                         操作:SP+1->S
 
9.指令的种类
     (1)算逻运算类    
     (2)数据传送类    
   (3)指令控制类    
   (4)I/O类    
     (5)其他:停机->所有机器都包含此指令
 
10.指令系统的要求
     (1)完备性     (2)有效性     (3)规整性     (4)兼容性
 
11.系列机
     基本指令系统相同,基本结构相同的一系列计算机->可能由于时间不同,结构方面可能有所不同,但是必须满足软件向上兼容.
     要求:
          (1)各机种有相同的指令集
          (2)新机种的指令系统一定包含旧机种的所有指令系统.
 
12.CISC/RISC
     CISC:复杂指令集计算机.功能强,指令条数多,研制周期长,系统效率低
     RISC:精简指令集计算机.指令系统尽可能简单.->优点更好
 
13.设计机器时,一般追求指令格式可变:指令长度可变,操作码长度可变,地址码可变的优劣
     指令字长固定:控制简单,浪费存贮空间.
     指令字长可变:节约存贮空间,提高机器效率,控制复杂,成本高.
 
14.视频4-5有例题
     (1)存贮器的页面:64K/28,每个页面的单元数28.这里的8为地址码位数,64K为内存空间
     (2)寄存器16位,访问1M的存储空间,这里左移4位是什么意思?
 
15.MAR(存储器地址寄存器):指令地址从PC通过总线放入MAR,然后译码找到存储单元->取指令
     MDR(存储器数据寄存器):将取出的指令放入MDR中

 
第五章--存储器
 
1.基本概念
      计算机中最小的存储单位:二进制位->用一个触发器存储或者记忆单元(存储一个二进制位)存储.
      8个二进制位称为一个字节,位用b,字节用B表示.
      当一个二进制数称为一个整体进行操作时,就称为一个字.一个字中的二进制位数叫字长.
      多位二进制用多个记忆单元存储,多个单元称为存贮单元.->可以存放一个字,多个存贮单元组成一个存贮体-存贮器的核心.
 
2.存储器的主要技术指标
      (1)存储容量:
          字节编制:以字节数来表示容量->B
          字编制:以字数*字长来表示容量
          例题:某计算机容量为64K*16(这里16表示有16个二进制位数),表示有64K个字,每个字的字长为16位;用字节数表示,则可以记为128K字节.
      (2)存取速度(存取周期/存取时间)
          存取时间:从启动一次存储器操作到完成该操作所经历的时间
          存取周期:从接受读/写命令信号开始,将信息读出或写入后,到接到下一个读/写命令为止所需的时间.
          存取周期>存取时间
      (3)可靠性->以平均无故障时间(两次故障之间的平均间隔)来衡量
      (4)性能/价格比
      (5)功耗->耗电不是主要问题,主要问题是温度,发热会使器件击穿.
 
3.存储器分类->存储器的矛盾:速度与容量
      (1)功能
          寄存器:位于CPU内,速度与CPU匹配
          主存:主机内,直接与CPU交换信息,速度快
          辅存:主机外,不能与CPU交换信息,速度慢
          高速缓存:CPU与内存之间,容量小,速度与CPU匹配/CPU内部也有高速缓存(现在CPU内部有运算器/控制器/Cache)
      (2)读写方式
          RAM:随机存取存储器->静态MOS(Cache)/动态MOS(内存)
          ROM:只读存储器
      注意:一个时刻只能对一个单元进行读和写
      (3)读写顺序
          SAM:顺序存取->磁带
          RAM:随机存取
          DAM:直接存取->磁盘
      (4)存储介质
          磁芯:永久存储(使用寿命内),速度慢
          半导体:易逝性(断电易逝),速度高
      (5)寻址方式
          地址寻址
          内容寻址:以关键字来找所需信息
 
4.半导体随机读写存储器
      基本结构:
         存储体:采用矩阵的形式进行存储,课本P
         数据线->双向(RAM双向/ROM单向)     地址线->单向     地址选择线(译码器译出的线)
         地址译码器:单译码/双译码(不能节省地址线的数目,但是可以节省地址选择线的数目,现一般都采用此结构)->用图体会
         视频5-2-1中12:00时介绍.
         读/写电路:选中存储单元的读/写
         控制电路:片选线CS->先选片/读写控制线WE(CS与WE都是低电平有效)
 
5.高速缓冲器Cache->速度比内存快,与CPU一个级别.存储空间比内存小很多.->Cache的速度,内存的容量
      目的:提高内存速度,解决内存与CPU速度不匹配的问题.
             CPU<->Cache<->内存
           CPU<->内存
      理论基础:
         (1)时间上的局部性->某一地址空间的程序被访问,则近期可能还会被访问.
         (2)空间上的局部性->某一地址空间的程序被访问,则附近空间的程序可能还会被访问.
      CPU与Cache可以直接连接,同时防止Cache中若未有程序而在内存中,所以CPU也可以与内存进行连接.
      容量与命中率问题:
         (1)容量
                   太大:影响CPU效率,且硬件线路复杂,但是与Cache交换的信息量大
                   太小:命中率低
         (2)命中率
                   h=Nc/(Nc+Nm)
                   Nc/Nm为在Cache,主存中命中的次数
      地址映射->主存中的块如何在Cache中定位
      地址变换->主存地址如何变换成Cache地址
      全相联映射/直接映射/组相连映射->不要求
      为提高速度,Cache需要全部用硬件实现,Cache全部由静态RAM组成.
      用了Cache后,以Cache的速度,以内存的容量与CPU相关联.
 
6.动态MOS存储器的刷新
      (1)刷新的时间间隔->必须在2ms内刷新
      (2)要求
          1)两次刷新的时间间隔不能超过允许时间2ms
          2)刷新优先于访存,但不能打断访存周期
          3)刷新期间内,不准访存
      (3)刷新方式
          1)集中式:在2ms内,集中安排刷新时间
                      存取/刷新周期=500ns,需要刷新32行,2ms/500ns=4000,刷新时间32*500ns
                      特点:存取周期不受刷新影响,速度快存在死区,刷新期间不能读/写
          2)分散式:把系统周期分成读/写和刷新两个部分,其中读/写+刷新的时间为系统周期
                      系统周期=500ns+500ns=1us,刷新时间为32us
                      特点:刷新时间间隔短,就用系统周期*需要刷新的行数,无死区.系统存取周期长,降低了整机速度,不适用于Cache.
         3)异步式:将上面两种方法结合
                      2ms/32=62.5us,其中读/写=60us,刷新=0.5us
                      特点:异步刷新方式还是采取不定期刷新方式,可以在主机不访存的时间内刷新,这种方式取消了死区,但刷新控制线路复杂.
      (4)注意:
           1)刷新对CPU是透明的,CPU不知道刷新存在,但是它真实存在
           2)刷新按行进行,不需要列地址
           3)刷新与读出操作相似但是又不同
              读出时,要对C1或C2充电,刷新时也要对其充电,但是刷新只是补充电荷,不涉及信息输出.
           4)刷新和重写(再生)是两个完全不同的概念
              重写是随机的,某个存储单元只有被破坏性读出后才需要重写./重写是按照存储单元进行的.
              刷新是定时的,即使许多记忆单元未长期访问,也要及时补充电荷/刷新以存储体的一行进行的.
 
7.存储器芯片与CPU的连接->地址译码采用双译码->节省地址选择线的数目
      RAM芯片:地址线/数据线/片选线/读写控制线/电源/地线
           (1)存储器组织
                字长扩展(将片选连接起来,平行扩展)/字数扩展(垂直扩展)
           (2) 与CPU链接
               存储器--CPU/地址线--地址线(方向为单向)/数据线--数据线(方向为双向)/CS--MREQ(方向为双向) /WE--WR(方向为双向) /
               地址范围:就是0000000000-1111111111,即0000H-03FFH->看的是多少K
                              1K(210)*4组成8K(213)*8的地址范围:->必须为16进制
                                        0,1片:000 0000000000~000 1111111111
                                        2,3片:001 0000000000~001 1111111111
                                        4,5片:010 0000000000~010 1111111111
               看视频5-3的11:30->特别重要
               1K(210)*4组成8K(213)*8的CPU连线:其中多的3位用来进行译码,A10A11A12通过译码与CS0-7相连,MREQ与A10A11A12 译码器相连
 
8.只读存储器ROM
      (1)特点:只能读不能写,即存储的内容不能改写,并且关机不会丢失.
          ROM(掩膜只读存储器)->PROM(可编程ROM,只允许写一次)->EPROM(可擦除可编程ROM,紫外线擦除)->EEPROM(电擦除)
 
9.提高存储器性能的技术
      (1)双端口存储器->为存储体配置两套设备->当A读/写的时候,B也可以读/写
          地址A          地址B
              |                  |
           译码            译码
                         |
                    存储体
               |                 |
           数据A         数据B
      (2)主存多体交叉存取方式
          把内存分成多个容量相同的个体,每个个体相互独立,都有一套自己的外围线路,CPU可以分时访问每个个体.
          存在->相关问题->后面的程序需要前面的结果/指令的相关和数据的相关
 
10.虚拟存储器->解决容量的问题
     (1)问题的提出
         由于成本,工艺,速度的原因,内存的容量受到限制,用户希望内存容量增大.
         解决办法:
         把外存当内存用,所需的程序和数据及时自动地从外存调入内存
     (2)虚拟存储器->对系统程序员不透明,对应用程序员透明
         由主存和辅存组成,速度相当于主存,容量相当于存储系统.
     (3)理论依据
         一个程序运行时,在一小段时间内,只会用到程序和数据的很小一部分,仅把这部分程序和数据装入主存储器中.
     (4)相关概念
         1)地址(虚拟地址)->可以很大
              程序员编程以及CPU通过指令访问内存,所用的程序地址,寻址空间完全由指令中地址码成度决定,地址码32位,寻址空间可超过4G
         2)物理地址(真实地址)
              内存实际提供的地址,寻址空间大小完全由内存容量决定.
         3)辅存地址(磁盘地址)
         区分:形式地址,有效地址,指令的地址,指令中的地址
     (5)地址映像与地址变换
         与Cache中的相同
         地址变换一般由OS(操作系统)自动变换
     (6)实现
         软硬件共同实现
 
11.存储器系统的层次结构
     CPU<->Cache<->内存<->外存
     CPU<->内存<->外存
     (1)Cache<->内存
         速度接近与Cache,容量接近内存,价格接近主存,解决了高速度和低成本之间的矛盾.
     (2)内存<->外存
         速度接近内存,容量接近外存,CPU不能直接访问辅存,辅存只与内存交换信息.
     (3)三级Cache
         主板上的Cache
         CPU内部
         CPU两边分离
         原则上任何外设都可以有Cache

 
 第六章--中央处理器--控制器
1.控制器是硬件系统的核心
  操作系统是计算机系统的核心
  加法器是运算器的核心
  控制器/运算器/Cache组成CPU
 
2.取指令:(以下都为微操作)
     1)PC-(AR)->MAR
     2)发出读信号
     3)M[MAR]->MDR
     4)MDR-(DR)->IR
     5)PC+1->PC
  分析指令:(从IR中分析指令)
     (1)操作码经过译码器进行译码
     (2)分析操作数
  执行指令:
 
3.微操作信号发生器
     用于发出微操作信号
 
4.控制器的基本组成
     (1)组成原理图,课本P
     (2)基本组成
         1)指令部件
            程序计数器PC,指令寄存器IR,指令译码器ID
            PC:功能->存放后继指令(下一条指令)的地址
            注意:取指刚开始时,PC中包含的是现行指令的地址.取指完成后,PC中包含的是后继指令,PC的位数应该与MAR(存储器地址寄存器)的位数相同,单向
            IR:功能->存放现行指令
            注意:IR的位数等于指令字长,指令字长等于存储字长的整数倍
            ID:功能->分析指令所代表的操作,产生相应的控制信号
         2)时序电路
              功能->产生计算机各功能部件所需的各种时序信号
         3)微操作序列形成部件(核心)
              功能->综合指令部件提供的操作信号,时序部件产生的时序信号部件的反馈信号,形成不同机器指令所需的不同微操作指令.
         4)中断机构:处理异常,特殊功能
         5)其他
              地址形成部件:形成操作数的有效地址
              控制台:实现用户对机器的干预
              总线及控制逻辑:对总线进行管理
 
5.控制器的功能
     (1)MAR是单向的,MDR是双向的,IR是单向的
     (2)取指令            
         1)PC-(AR)->MAR
         2)发出读信号
         3)M[MAR]->MDR
         4)MDR-(DR)->IR
          5)PC+1->PC
     (2)分析指令
         指令在IR中进行分析:对操作码部分译码,送至微操作序列形成部件,形成指令所对应的一系列微操作,地址码部分送至地址形成部件(取决于所采用的寻址方式),形成操作数的有效地址.
     (3)执行指令
         从有效地址中取出操作数,并按照操作性质完成指令代表的各种操作.
     (4)控制主机与I/O设备交换信息
     (5)中断控制
 
6.控制器分类
     微操作控制信号发生器是控制器的核心,根据微操作信号的产生方式不同,可以把控制器分成:组合逻辑控制器和微程序控制器两大类.
     (1)组合逻辑控制器->纯硬件实现
         特点:设计,测试,维修困难,难于实现设计自动化/速度快
     (2)微程序控制器
         程序存储思想:
              使一条机器指令对应一个微程序序列,执行微程序序列,相当于执行指令对应的微操作序列,从而实现指令规定的操作.
         特点:调试,修改方便,但速度不及组合逻辑控制器
     注意:这两种控制器的设计方法不同,但是完成的功能一样,所产生的微操作命令序列一样.
 
7.控制方式与时序系统
     (1)控制器的控制方式
         控制器如何在时序上对指令的执行过程实施控制.
         1)同步控制->所有指令的时间必须一样,以最长的时间为标准.
              在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期都固定不变,都由CPU统一的时序信号控制(与主频同步)
              特点:控制简单,设计方便,实现容易,费时,效率低
              现在微,小型机中,都用改进的同步控制方式
                   中央控制:指令执行时间接近,相同的指令,由中央控制器的主时钟实现同步
                   局部控制:少数执行时间差别大的指令,由局部控制器发出的节拍控制,但是局部控制器的时钟也要与中央时钟同步.
         2)异步控制(分散控制)
                 机器没有统一的时钟,各部件分设自己的时钟,按照微操作实际所需,由应答线路控制.
                 机器执行指令,需要多少时间就分配多少时间.
                 特点:省时,效率高,但是控制复杂.
         3)联合控制
                 同步与异步结合使用
                 执行时间差不多的指令用同步,执行时间差异大的,用异步.
                 一般:功能部件内,用同步;功能部件间,用异步的方式
                 特点:较折中
 
8.时序系统->产生各种定时信号,以协调各部件工作
     (1)有关概念
         1)指令周期->从取指开始,到执行完该指令所需的全部时间.
            不同指令,指令周期长短不一,乘法比加法费时,间接寻址比直接寻址费时.指令执行时间越长,指令周期越长.
         2)机器周期->CPU执行一个基本操作(以CPU在内存中读取一个指令字的最短时间规定CPU周期,例如:取指令,分析指令等都为一个机器周期)所需的时间
              一个指令周期包含2~n个机器周期
              若某个机器周期被CPU用来
                   取指--CPU取指周期
                   执行--CPU执行周期
                   间址--CPU间址周期
                   处理中断--CPU中断周期
                   为标志CPU工作在哪个周期,每个周期设置一个周期状态触发器,CPU进入此周期,触发器为1,否则为0.
                   存储器中存储的指令和数据,如何区分指令和数据?
                        从CPU取指周期取出的一定为指令,其他的可能为数据.
         3)时钟周期->微机主频的倒数->一个机器周期包含多个节拍
              计算机中最基本的时间单位->不能在分的时间单位(与节拍区分开)
              一个时钟周期,一个时钟周期可以完成一个,两个,多个微操作
              每个时间段对应一个电位信号,称为节拍电位信号->微机系统中就是一个时钟周期
             取指令->以下为微操作
             1)PC-(AR)->MAR
             2)发出读信号
             3)M[MAR]->MDR
             4)MDR-(DR)->IR
             5)PC+1->PC
     (2)机器主频16M,平均每条指令执行时间为2个机器周期,每个机器周期由2个时钟周期组成,机器速度.    
              机器速度=1s/(2*2/16M)=4MIPS
     (3)两种常见时序系统
         1)机器周期-电位-脉冲制
             一个机器周期划分成多若干个相等的时间段,每个时间段对应一个电位信号(就是节拍)
             一个节拍完成一个或者几个微操作,为实现较强的控制,在一个节拍内设一个或几个脉冲,作为触发信号
             如:寄存器在一个节拍内接受数据->微操作有:清0,打开数据传送通路,接受->一个节拍,三个脉冲(节拍做准备,脉冲来工作)       
             注意:脉冲是一种触发信号,并非最小的时间单位
         2)时钟周期时序系统
              在一些微型机中,只设机器周期和时钟周期,不设脉冲.时钟周期就是电位信号,也就是相当于上面的脉冲.
     (4)影响时序系统的因素
         1)指令系统->指令种类直接影响控制方式的确定,指令所需的时间差不多采用同步,差距很大采用异步
         2)指令格式及寻址方式
 
9.CPU中寄存器设置
     (1)通用寄存器
         运算器:ACC,R组(几~上百个)->寄存器组
     (2)专用寄存器
         指令寄存器(IR)     程序计数器(PC)     存储器地址寄存器(MAR)     存储器数据寄存器(MDR) 状态标志寄存器(PSW)->程序状态字
     (3)CPU中的6个主要寄存器
         IR--MAR--PC--MDR--ACC--PSW
 
10.加法指令ADD R1,@R0
     取指令:(PC)->MAR,read
                M[MAR]->MDR
                MDR->IR
                (PC)+1->PC
     分析指令:OP(IR)->ID
     执行指令:(R0)->MAR,read
                   M[MAR]->MDR
                   (MDR)->Y
                   (R1)->ALUr
                   +,(Z)->R1
     上面的顺序不能够改变,以上为一个微操作序列.执行微操作序列,执行完毕后就是执行完指令
     另一种加法指令:ADD @R1,R0
     取指令:(PC)->MAR,read
                M[MAR]->MDR
                MDR->IR
                (PC)+1->PC
     分析指令:OP(IR)->ID
     执行指令:(R1)->MAR,read
                    M[MAR]->MDR
                    MDR->LB
                    (R0)->LA
                    +,ALU->MDR
                    Write      
 
11.组合逻辑控制器的设计
     (1)设计步骤
          1)根据用途确定指令系统(寻址方式等)
          2)根据指令系统确定总体结构->指令系统确定,字长和格式都确定,确定数据通路等,设置的寄存器都需要确定
          3)根据指令系统和总体结构安排时序->一个指令周期分成几个机器周期,一个机器周期分成几个节拍,一个节拍分成几个脉冲
          4)根据总体结构和时序系统确定每条指令的微操作序列
          5)根据微操作序列,列出微操作时间表,设计控制逻辑
 
12.微程序控制器设计
     (1)以软件方法进行微操作信号,以存储逻辑控制来取代组合逻辑控制,以方便克服组合逻辑控制器设计,调试,维修,困难等缺点.
     (2)主要思想:存储逻辑->代替组合逻辑
          将所有的微操作指令全部合成一个大的集合,取指令/执行指令的时候,若里面包含其中的微操作则显示为1,没有则显示为0,形成一个新的微程序.
          _ _ _ _ _ _ _ _ _ _/1000011000,其中_ 为所有的微操作集合,1/0分别表示有还是没有,有1的时候执行,0则表示不执行.
          机器指令与微指令的区别:
               不同的机器指令,对应不同的微程序,将这些微程序存储于控制存储器中.执行机器指令时,只需要执行对应的微程序.
               机器指令          有序的集合->程序          存储位置->存储器
               微程序             有序的集合->微程序       存储位置->控制存储器(只读)
               一条机器指令:取指,执行两个阶段
               取指                         执行
               取指微程序段           执行微程序段
     (3)相关概念:
          微命令:控制器控制部件通过控制线向执行部件发出的各种控制命令.
          微操作:执行部件接受所执行的操作.
          注意:一个微命令对应一个微操作
          微指令:在机器的一个CPU周期(机器周期),一组实现一定操作功能的微命令的组合
                    机器指令->操作码|地址码
                    微指令->微操作码|微地址码--微地址码部分:给出下一条微指令的地址
          微程序:微指令序列
          控制存储器:存放微程序的存储器,一般为ROM
          微地址:控制存储器的单元地址
          微周期:取出并执行一条微指令所需的时间->一个节拍?
          指令周期:取出并执行一条指令所需的时间
 
13.组成部件->没有uMDR
     uCM:控制存储器,存微程序->相当于存储器
     uMAR:控存地址寄存器->相当于MAR->首址放于uCAM
     uIR:微指令寄存器,存微指令->相当于IR->由微操作码和微地址码(下一条微指令地址,自动+1)组成
 
14.工作过程
     (1)工作前:
          微程序->uCM
          机器指令首地址->PC
          对应微程序首址->uMAR
     (2)机器指令:取指周期,执行周期     取指周期->取指微程序(对不同的机器指令,全部相同)     执行->执行微程序
     (3)一条机器指令执行过程:
           1)取指周期(公操作->全部相同)
                微首址     
                    |
                uMAR-(微指令)->uIR->uOP:微操作命令/uD:下一条微操作的地址
          2)执行周期
               OP     |     D----->注意:执行的微操作是从指令的操作码中得出的
                 |
                 ---------->uMAR------>同上
     (4)微指令地址形成方式
          机器指令的OP直接给出->仅负责给出"执行"阶段所对应的微程序的首地址,除首地址外,其余首地址都是从微地址中给出
          微指令的微地址码字段给出
 
15.CPU中流水线结构
     对指令的控制:
           时序:同步,异步,联合方式->前面内容见7
           指令执行:顺序,重叠和流水    
     (1)指令的顺序控制
          就是指令顺序的执行一遍
          取指:内存,IR,总线忙,运算器空闲
          执行:运算器忙,其他空闲
     (2)重叠技术->取指和指令重叠,CPU工作周期没延长,使用一套分析部件和一套执行部件->不能两个同时分析/执行
          就是一条指令还没有执行完毕就开始执行下一条指令
          取指     分析     执行
                                  取指     分析     执行
     或
          取指     分析     执行
                      取指     分析     执行
                                  取指     分析     执行
          注意:
               1)重叠不能加快一条指令的实现,只能加快相邻的两条或一段程序的实现.
               2)不能增加功能部件为前提
               3)实现重叠,控制困难
     (3)流水技术->由重叠发展而来->高程度的重叠
          1)思路:将一个复杂过程分成多个需时相等的子过程,每个子过程由一个独立的功能部件完成
               入->取指->译码->取数->执行->出(就是将重叠进行进一步的细化)
          2)需要的总时间:n*t+(n-1)*t
          3)注意:->浮点数的加减法运用流水的方式实现
               流水线只能使用一套功能部件
               要保证流水的效率,必须使流水线不断流
               流水控制要解决许多控制上的问题

 
  第七章--总线系统
1.总线概念
     总线:计算机多个功能部件间进行信息传送的公共通路 。
    
2.总线基本特征:
     (1)共享性:多个部件链接在同一个总线上,各部件相互交换信息都通过这组总线传送.
     (2)分时性:同一时刻只能在一对部件之间传送信息,系统多个部件不能同时传送信息.
 
3.总线特性
     (1)物理特性:链接方式
     (2)功能特性:总线是地址线还是数据线,还是控制总线
     (3)电气特性:传递方向是单向还是双向
     (4)时间特性:什么时间有效
 
4.总线性能指标
     (1)总线宽度->传输的二进制位数
     (2)标准传输率->总线上每秒传输的最大字节量
               总线宽度32位,时钟频率33MHz,最大数据传输速率=132MB/s(过程:32*33/8=132)
     (3)总线带宽->总线能达到的最高传输率
 
5.总线传送方式
     (1)串行传送->按照位进行传输
     (2)并行传送->有多少二进制位,就有多少条传输线
     (3)分时传送
 
6.单总线结构:
     优点:设备扩充,增减方便,灵活
     缺点:分时使用总线
   双总线结构:
     面向CPU:
          优点:简单,对总线传输速率要求低
          缺点:I/O设备与内存交换信息需经CPU,CPU效率低
     面向存储器:
          优点:存取速度高,减轻系统总线负担
          缺点:硬件成本高,控制逻辑复杂
   三总线结构:->系统总线,存储总线,I/O总线
 
10.总线控制(考题:为什么设置总线判优控制?常见的集中式总线控制几种方法?各有特点?那种速度最快?那种最敏感?)
     为什么设置总线判优控制?->解决多部件同时申请总线的使用权分配问题
     (1)总线仲裁->当多个部件同时申请时,决定哪个部件使用总线
               1)说明:
                       a)链接到总线的功能模块有主动和被动,CPU可以为主方也可以为从方,存储器一定为从方,总线操作只能有一个主方占用总线.
                       b)必须有总线仲裁部件决定
                       c)采用优先级和公平策略仲裁
               2)按照总线仲裁电路的设置不同,仲裁方式分为集中式仲裁和分布式仲裁两类。
                    集中式 ->总线仲裁控制逻辑集中在一处
                         a)链式查询方式 ->BR-总线请求信号;BG-总线授权信号;BS-总线忙
                              链式查询的过程:
                                   总线仲裁器接到总线请求后,若BS=0,则总线授权信号串行地从一个I/O接口传送到下一个I/O接口;
                                   假如BG到达的接口无总线请求,则继续往下查询;
                                   假如BG到达的接口有总线请求,BG信号便不再往下查询,该I/O接口就获得了总线控制权,使BS=1。
                              特点:
                                   判优方法简单,扩充设备容易;
                                   总线请求优先级较低的设备容易被忽略;
                                   总线授权信号串行传送,因设备的差错,容易造成堵塞。
                              优点:只用很少几根线就能按一定优先次序实现总线仲裁。
                              缺点:对询问链的电路故障很敏感。
                         b)计数器定时查询方式->多了一组设备地址线,少了一根总线允许线BG
                              计数器定时查询过程:
  各设备经BR发出请求;
  总线仲裁电路判断:当BS=0时,开始计数;
  计数值经地址线送各设备:计数值=某设备地址,该设备获总线授权;
  当计数从0开始时,谁的地址号越小越优先,当计数值从终止点开始,所有设备优先级相同。
                              优点:比较灵活。
                              缺点:线数比较多。
                         c)独立请求方式->每个设备有独立的BR和BG。 当有总线请求时,有总线总裁内部进行判优裁决。
                              优点:判优及相应的速度快;优先次序控制灵活。
                              缺点:设备、电路复杂。
                    分布式->不需要中央仲裁器,以优先级总裁策略为基础.
 
11.总线的定时
     (1)总线一次信息传送过程:请求总线->总线仲裁->寻址->信息传送->状态返回
          同步定时->按照统一的时钟进行同步
          异步定时
 
12.接口的功能
     1.设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异;
     2.能够进行数据类型、格式等方面的转换;
     3.能够协调CPU和外设两者在信息的类型和电平方面的差异;
     4.协调时序差异;
     5.地址译码和设备选择功能;
     6.设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接收到中断和DMA应答之后完成中断处理和DMA传输。
 
 
 
第八章--输入输出系统
1.中断系统->程序安排一条指令启动外设,外设准备,CPU继续执行源程序,准备好后发出中断请求->一次中断只传送一个单位数据,一个字或一个字节
     (1)中断与转子的区别
          1)转子是程序安排好的,事先安排的,中断多是一些特殊情况,随机的
          2)转子程序之间有联系,而中断程序没有联系
          3)中断过程复杂,中断多有硬件实现.
     (2)中断类型
     自愿中断:人为设置
     强迫中断
          处理方式:
               程序中断/简单中断(DMA)
          中断源:
               可屏蔽中断/不可屏蔽中断
     (3)中断过程
          1)中断请求
               CPU在现行指令周期结束后才查询有无中断请求.
               每个中断源必须设置中断请求触发器IQ,保存请求信号.
               中断屏蔽触发器IM,反应主机是否允许I/O设备提出中断请求.IM=1说明屏蔽,请求不送CPU
          2)排队判优
               可由硬件或者软件实现
          3)中断响应
               条件:
                    a)一条指令执行完毕
                    b)IQ=1,IM=0
                    c)开中断
               关中断->保护旧现场(使用堆栈)->建立新现场
               为什么关中断?
                    要保护旧现场.
               关中断后外来更高级的中断怎么办?
                    中断处理时在使用
          4)中断处理
               开中断->运行中断程序->关中断->恢复旧现场
          5)中断返回
     (4)多重中断
          1)条件:
               a)CPU响应中断后,开中断,响应更高级别中断
               b)优先级高的中断源才能中断优先级低的中断源
          2)中断处理顺序
               1->2->3->4,屏蔽字设置?->1的优先级最高,4的最低
                1     2     3     4
            1  1     1     1     1
            2  0     1     1     1
            3  0     0     1     1
            4  0     0     0     1
     (5)中断特点
          1)能响应外设的随机请求
          2)CPU与外设并行工作(一定程度)
          3)对于高速外设,频繁中断会使其效率下降,CPU不及时响应请求会造成信息丢失
 
2.直接存储器存储方式DMA->内存与外设之间设置DMA
     (1)DMA产生的原因:对于高速外设,频繁中断会使其效率下降,CPU不及时响应请求会造成信息丢失.
     (2)高速外设采用DMA,高速外设不采用中断的方式.
     (3)概念:->内存与外设之间直接传送数据的通路
          完全由硬件实现的I/O实现方式.在I/O设备与主存之间建立传送数据的通路,在DMAC的控制下进行数据交换,不需要CPU干预.
     (4)基本操作
          1)外围设备发出DMA请求
          2)CPU响应请求,DMAC接管总线控制
          3)DMAC对内存寻址
          4)向CPU报告DMA操作结束
     (5)DMA与内存交换信息时,此时CPU一直工作,要是CPU请求访内,该如何处理?
          1)CPU停机法:DMA优先拥有总线使用权,直至数据传送完毕,CPU才执行访内.->DMA不优先导致信息丢失
                  特点:控制简单,适用于数据传输率极高的设备.
               CPU与内存效率低
2)周期窃取法:DMA优先,窃取1~2个周期,交换1~2个单位的数据,CPU访内
       为什么DMA优先?
          I/O操作有时间要求,前一个I/O数据必须在下一个I/O数据访内请求到来之前完成,否则造成数据丢失
       特点:
          实现I/O传送,发挥了CPU与内存的效率,常用
3)交替访存法:系统周期分成两部分:一个给DMA,一个给CPU
       特点:不停止源程序的执行,保证DMA完成,一个高效方式,硬件成本高
     (6)DMA特点
          1)I/O与内存交换信息,不占用CPU,CPU效率高.
          2)DMA交换一批数据开始前和开始后,仍要以中断方式进行处理.
          3)DMA与中断方式,有区别但是又互相配合.

 
第九章--外部设备
1.内存->半导体->速度快,容量小
   外存->磁性->容量大,速度慢
 
2.磁盘:最上面的一层和最下面的一层不记录数据.->正反都可以存数据
     有效记录面:m-2(m为多少面)
 
3.磁盘的磁道->最外面为0,最里面的为n->都是同心圆
     每一个磁道上有扇区->每个扇区存储512B->最里面的密度最大,最外面的密度最小
 
4.存取方式:
     磁头移动的位置为随机的,磁道顺序存放信息.
 
5.存储容量
     C=n*k*s(n:面数,k:道数/面,s:位数/道)
     容量(B)=柱面量*磁头数*扇区数*512
     格式化容量:容量(B)/1024
     出厂容量:容量(B)/1000

转载请注明出处, O(∩_∩)O谢谢
 

转载于:https://www.cnblogs.com/HurryXin/p/6501986.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值