2019计算机组成原理复习笔记

计算组成原理

一个实际数机内表示所面临的的问题
符号 + - 
数码 
     1. 二进制 
     2.组合二进制数(八.十六进制),引入只为了书写方便
     3.BCD码(ASCII码与BCD码低四位相同)
小数点
阶码E E=0,运算的数是纯小数
      E=n,运算的数是纯整数
      E=m,(0<m<n),运算的数是浮点数

负数如何处理 
1. 符号-绝对值表示(原码)
2. 补码 [-x]补 = ~([x]补) + 1 
   补码表示,所有位都是1时,十进制一定是-1
   在补码中,“0”的表示法是唯一的。
   符号位可与数位一起参加运算
   补码可以将"正数加负数"转化为"正数加正数",可以将减法转化为加法运算,只设加法器就可以
3. 反码表示

定点加减运算(补码)
   
1.补码加法

[X+Y]补 = [X]补 + [Y]补   
最低的两位有个进位上去,前面两个1写1,一个1写0

2.补码减法

[X-Y]补 = [X+(-Y)]补 = [x]补 + [-Y]补 
[-Y] = ~([Y]补) + 1  对[Y]补 连同符号在内取反加一
[Y]补-->[-Y]补:末尾一个1相同,前面一律求反 

3.溢出的检测方法

110 001
111 111    

结果两位符号的值不一样时表示溢出
s1 s2
0  0     0
0  1     1
1  0     1
1  1     0

双高位判断:数值部分最高位产生进位CS,符号部分向上进位Cf

4.补码定点加减运算的的实现
所需控制信号
ADD +A +B    Sigma--> A CPA
SUB +A -B +1 Sigma--> A CPA

加法逻辑结构的改进

1.全加器
三段输入,两端输出的加法网络

100  1  1
010  1
001  1
111  3  

110 101 011 111 

C_i = A_i B_i + (A_i ^ B_i)C_i-1 
              |     条件进位               
              V
C_i = G_i + P_i C_i-1
        
定点乘法运算

1.原码一位乘法:相当于手算  
X 被乘数 
Y 乘数
Y_i=1,+X; Y_i=0,不加X.
X寄存器初始值为0  
加完后,右移位。
最后加符号位。 
  
2.补码一位乘法

1. Y>0 其乘法与原码相同 [XY]补 = [X]补 * [Y]补
2. Y<0 需校正 [XY]补 = [X]补 * [Y]补 + [-X]补

3.补码一位乘法之比较法(Booth乘法) 跳过

定点除法运算

1.原码恢复余数法

1.符号单独处理,取绝对值相除
2.作减法
3.  R<0 商0 恢复余数(+Y) 左移一位 作减法
    R>0 商1 左移一位 作减法 
    重复n步
4.最后一步余数为负,应恢复为正余数

余数和商是同号的

2.原码不恢复余数法
作减法
R<0 商0  左移一位 作加法
R>0 商1  左移一位 作减法 
最后一步余数为负,应恢复为正余数

浮点加运算 
1.对阶(对大阶) D_E = [A_E]补 + [-B_E]补
    A=B
    A>B B阶码加1 B尾数右移一位
    B>A A阶码加1 A尾数右移一位
2.尾数求和,规格化处理。([A_m]补+[B_m]补=[A_m+B_m]补)
  尾数绝对值 >= 1/2    
3.规格化处理
    左规
    右规 尾数右移 阶码+
4.舍入处理
采用0舍1入
5.判断溢出
由于阶码两符号位相同,不溢出

浮点减运算          尾数相减
浮点乘运算 指数相加 尾数相乘
浮点除运算 指数相减 尾数相除


存储系统

RAM 随机存储器
ROM 只读存储器

构成单元

1.六管静态MOS存储单元线路
T1    T2
通    止    存0 
止    通    存1

保持信息:不打扰,不送地址选通信号
读出:送地址,发读命令
写入:送地址,送数据发写命令

2.单管动态MOS存储单元线路

电容上有电荷,存1
电容上无电荷,存0

3.MOS型ROM
 
地址驿码

1.单向译码 字结构
2.双向译码 位结构
  
双向译码方式,选择线大量减少

存储器扩展

16K      x   4
确定地址线 确定数据线
1.位扩充 
地址线A 数据线D 片选线~(CS) 读写线~(WE)

所有的A0连在一起;所有的A1连在一起;...;所有的An连在一起;
所有的D0连在一起;所有的D1连在一起;...;所有的Dn连在一起;
读写信号连在一根
    片选信号连在一起

2.字扩充
地址线A 数据线D 片选线~(CS) 读写线~(WE)
所有的A0连在一起;所有的A1连在一起;...;所有的An连在一起;
所有的D0连在一起;所有的D1连在一起;...;所有的Dn连在一起;
读写信号连在一根
    片选信号分开

3.字位同时扩充
先“位”扩充,后“字”扩充。 
  
所需片数 = (M * N) / (m * n)

4.存储器与CPU的连接
片选线连在译码器
   
动态存储器DRAM刷新

动态MOS存储器每隔2ms必须进行一次刷新,称作刷新最大周期

1.集中式刷新
读写操作时间 刷新时间

2.分散式刷新

3.异步式刷新
对于集中式而言:减少了刷新次数
对于分散式而言:主机的死区缩短很多 

DRAM在与CPU接口时,需考虑:
1.刷新问题。加刷新电路
2.地址信号输入问题。地址输入一般采用两路锁存方式。
DRAM的发展
1.FPM-DRAM 
避免了行充电时间
2.EDO-DRAM
3.SDRAM
4.DDR SDRAM
 
高速缓冲存储器
弥补主存速度的不足
1.地址映象
直接映象
    K  = I % M
    K:Cache的块号   
    I:主存的块号 
    M:Cache
    主存地址分为三段:
        主存区号标志  长度 = 主存地址长度 - Cache地址长度
        Cache块号      
        块内地址

全相联映象
组相联映象:组内全相联映象,组间直接映象

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

虚拟存储器
1.页式虚拟存储器
2.段式虚拟存储器
3.段页式虚拟存储器


指令系统

数据字:计算机的字表示一个数
指令字:计算机的字表示一条指令

机器字长:计算机能直接处理二进制数据的位数 
指令字长:一条指令中包括二进制码的位数 

定字长指令 字结构
变字长指令 字结构

指令:控制器发出的操作命令
操作码 执行什么操作 
地址码 

常见的存储结构
1.CPU寄存器组
2.主存储器
3.磁带 磁盘   
4.堆栈 空栈无法弹出;满栈无法压入

地址结构
1.四地址结构
op    操作码 
D1    第一操作数地址
D2    第二操作数地址 
D3    结果存放地址 
D4    下一条指令地址
2.三地址结构
采用计数器PC,四地址结构->三地址结构
OP
D1
D2
D3
3.二地址指令格式
结果数的地址隐含的由D1或D2给出,三地址结构->二地址结构
OP
D1
D2
4.单地址指令格式
op
D1
5.零地址指令

操作码结构
1.统一编码与逐位定义
2.方式码
3.扩展操作码
 
寻址方式

1.立即寻址
操作码与操作数同时取出,不必再次访问存储器。
用于地址常数或数据常数。

2.直接寻址
给出的地址A就是操作数的有效地址
不需要任何寻址运算  
 
3.寄存器直接寻址
操作数在指定的寄存器中,指令中给出寄存器号

4.寄存器间接寻址
EA = (Ri)
(1)解决循环程序设计

5.间接寻址
地址部分给出的不是操作数的地址,而是存放操作地址的地址
EA = (A)
(1)查表
 
6.相对寻址

操作数的有效地址EA = 指令的形式地址 + 程序计数器PC内容
EA = (PC) +/- D

7.变址寻址
操作数的有效地址 = 指令中给出的地址A + 变址寄存器RX的内容
EA = A + (Rx)
RX的内容称为变址值,有正、负之分。

8.基址寻址
操作数的有效地址 = 基址寄存器Rb + 指令中给出的位移量D
EA = (Rb) + D 

9.堆栈寻址

10.页面寻址

指令类型与功能配置

1.数据传送指令
传送范围
    R <-> R
    M <-> R
    M <-> M
传送单位
    按字节,字,字符串,数据块,等
    
2.算数运算类指令
加 减不可缺少

3.逻辑运算类指令


中央处理器(运算器 + 控制器)

运算部件

第一级:输入选择器 或 锁存器
第二级:基本算术,逻辑运算部件ALU
第三级:移位器

寄存器 
用户可见的寄存器
1.通用寄存器
2.数据寄存器
3.地址寄存器

控制寄存器和状态寄存器(专用寄存器)
1.IR(指令寄存器)    存放当前执行的指令,直至本条指令结束
2.ID(指令译码器)
3.PC(程序计数器)    存放下一条指令执行地址  
4.MAR(存储器地址存储器)
5.MDR(存储器数据寄存器)
6.PSW (程序状态字寄存器)


总线

1.CPU内部总线
用来连接CPU内的寄存器与算术逻辑部件,ALU总线
2.部件内总线
芯片之间的连接总线
3.系统总线
4.系统外总线
一台计算机系统与其它设备相连接

时序系统

模型机指令系统

原则:指令系统完备性

传送类:MOV
算术运算类:ADD SUB 
逻辑运算类:AND NOT / (OR NOT) 
移位类:左移 右移
程序控制类:条件转移 无条件转移 转子 返回
I/O指令:专门的I/O指令 或 具备I/O功能的指令

微程序控制 


 








Last modification:June 23rd, 2019 at 01:37 pm
有钱的捧个钱场,没带钱的捧个人场。

Leave a Comment