计算机组成原理期末复习

前言:

  • 本复习笔记基于包健的《计算机组成原理》第二版整理
  • 只针对与期末复习所作
  • *为可能重点考察内容

1. 运算方法与运算器

定点数的表示

正数例子负数例子
原码符号位为0,其余不变011=> 0,011符号位为1,其余不变- 011 => 1,011
反码同原码011=> 0,011原码除符号位外按位取反- 011 => 1,100
补码同原码011=>0,011反码末位+1- 011 => 1,101
移码【X】=2n+X真值

1.1 补码加减运算及运算器

1.1.1 补码加减运算方法

【X+Y】 = 【X】 + 【Y】
【X-Y】 = 【X】 + 【-Y】

例题:
已知X = +1011,Y = -0100,用补码计算X+Y和X-Y。
【X】 = 0,1011 【Y】 = 1,1100 【-Y】 = 0,0100
根据公式【X+Y】 = 【X】 + 【Y】 = 0,0111
    【X-Y】 = 【X】 + 【-Y】 = 0,1111
    X+Y = +7
    X-Y = +15

1.1.2 补码加减运算的溢出判断

溢出:运算结果超出机器数的表示范围
很明显,当使用上述的运算方法时,有时候会出现溢出现象。

  1. 单符号判溢方法
    Xf、Yf分别两个数的符号位,Zf为运算结果符号位。
    当Xf =Yf =0(两数同为正),而Zf=1(结果为负)时,负溢出;
    当出现Xf =Yf =1(两数同为负),而Zf=0(结果为正),正溢出.
  2. 进位判溢方法
    Cs表示符号位的进位,Cp表示最高数值位进位,⊕表示异或。
    若 Cs⊕Cp =0 ,无溢出;
    若 Cs⊕Cp =1 ,有溢出。
  3. 双符号位判溢方法(常用)
    用变形补码进行双符号位运算(正数符为00,负数符号以11)
    若运算结果的符号位为"01",则正溢出;
    若结果双符号为10,则负溢出;
    若结果的双符号位为00或11,无溢出

1.2 十进制加法运算

2. 定点数的乘法运算及实现

2.1 原码乘法及实现

原码一位乘法:
设X=XsX1X2…Xn,Y=YsY1Y2…Yn,P=X*Y,Xs,Ys,Ps分别是X,Y,P的符号

  1. 符号位单独处理,绝对值参加乘法运算Ps = Xs⊕Ys
  2. 初始部分积为0,若Yi = 1,则部分积加|X|;若Yi = 0,部分积加0,并且累加结果向右移一位,获得新部分积
  3. 重复步骤2 n次,即i = n, n-1,…,1

例题:X = + 1011,Y = - 1101,用原码一位乘法计算P = X * Y
在这里插入图片描述

注意:累加运算完后,一定要记得右移一位

2.2 *补码乘法及实现

补码一位乘法:

  1. 校正法
    设X=XsX1X2…Xn,Y=YsY1Y2…Yn,P=XY,Xs,Ys,Ps分别是X,Y,P的符号
    1)当Y > 0,计算方法同原码乘法运算
    2)当Y < 0, 乘数的补码符文位扩展为两位(正数为00,负数为11),并且符号位也要参与到右移运算,其他步骤与原码相同,最后在运算完成后,对部分积加上【-X】进行校正
    例题: X = +0.1011,Y = -0.1101,用补码一位乘法的校正法计算P = X
    Y
    在这里插入图片描述

注意:符号位也要参与运算(右移)

  1. Booth算法
    1)部分积和被乘数X采用双符号位,乘数Y采用单符号位
    2)初始部分积为0,运算前,在乘数Y的补码末位加一位附加位Yn+1,初始值为0
    3)根据Yn+Yn+1的值,按照下表进行操作
    4)进行累加操作n+1次,右移n次,即最后一次的操作不进行右移
    算法操作表
YnYn+1操作
00+0,右移一位
01+【X】,右移一位
10+【-X】,右移一位
11+0,右移一位

例题:X = +0.1011,Y = -0.1101,用补码一位乘法的Booth法计算P = X*Y
在这里插入图片描述

注意:最后一次不进行右移,并且符号位要参与运算

3. 浮点数的规格化表示

例题:一个浮点数的表示格式为:16位浮点数,阶码6位,包含1位阶符,用移码表示,尾数10位,包含1位数符,用补码表示,阶码在前,尾数(包括数符)在后。试写出下列X和Y的规格化浮点数形式。
(1)X = + 55.75
(2)Y = -27/128
解:
(1)首先先将X转化为二进制形式,得X = + 110111.11
再将X写成 X = + 0.11011111 * 2110,(注意:这里2的幂110是二进制形式)
可以得到阶码Ex为110,按照题目要求阶码为6位,并且用移码表示
【Ex = 1,00110 (位数不足前面补0)
尾数Mx为10位,并且用补码表示,
得【Mx = 0,110111110 (位数不足后面补0)
所以【X】浮点数 = 1,00110 0.110111110B = 99BEH

(2)同理得Y = - 0.0011011 = - 0.11011 * 2-10,
【Ey = 0,11110 【My = 1,001010000
【Y】浮点数 = 0,11110 1.001010000B = 7A50H

4. 存储体系

4.1 存储器的层次结构

  存储系统的层次结构主要有两个层次,一个是高速缓冲存储器和主存层次,另一个是主存和辅存层次。
  高速缓冲存储器和主存层次主要解决CPU和主存速度不匹配的问题。
  主存和辅存层次主要解决存储系统的容量问题。

4.2 主存储器的性能指标

  衡量主存储器性能的指标一共有三个:存储容量、速度和价格。

4.3 *主存储器与CPU的连接

  设计步骤:

  1. 根据CPU地址线数目,写出相应的二进制地址码,确定地址范围
  2. 根据地址范围确定芯片数目
  3. 分配CPU数据线
  4. 连接数据线,R/ W ‾ \overline{\text{W}} W等信号线, MREQ ‾ \overline{\text{MREQ}} MREQ信号一般可用作地址译码器的使能信号

  例题:
1. 设CPU共有16根地址线,8根数据线,并用R/ MREQ ‾ \overline{\text{MREQ}} MREQ(低电平有效)作访存控制信号,R/ W ‾ \overline{\text{W}} W作读写命令信号(高电平为读,低电平为写)。
  现有下列存储芯片:1K×4位SRAM,4K×8位SRAM,8k×8位SRAM,2K×8位ROM,4K×8位ROM,8k×8位ROM,及3-8译码器和各种门电路。
  试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图
要求:主存的地址空间满足下述条件:
  最小8KB地址为系统程序区(ROM区),与其相邻的16KB地址为用户程序区(RAM区),最大4KB地址控件为系统程序区(ROM区)。画出存储芯片的片选逻辑,并指出存储芯片的种类和片数。

  1) 因为CPU有16跟根地址线,8根数据线,内存大小为216×8位=64KB。所以地址码是从A0 - A15,并且由题意得,最小8KB地址是系统程序区,8K = 213,所以系统程序区地址范围是从 0000,0000,0000,0000 ~ 0001,1111,1111,1111。
在这里插入图片描述
  2)选择芯片:
因为最小系统存储区(ROM区)是8KB,即选用8K×8位ROM(8位 = 1B),
用户程序区(RAM区)是16KB,即选用2个8K×8位SRAM,
最大系统程序区(ROM区)是4KB,即选用4K×8位ROM
  3)片选信号:
  因为从前面的地址范围,可知最小系统区A15-A13都是000,而相邻用户程序区是001,010,最大系统位是111,所以将A15-A13与译码器的CBA端相接输入。
  因为最大系统程序区地址码A15-A13是1111,并且译码器是3-8译码器,仅仅是A15-A13为111还不能区分出是最大系统区,所以需要把A12(易得A12是高电平)经反相,再与 Y7 ‾ \overline{\text{Y7}} Y7相“或”操作。

在这里插入图片描述


  2.来自例题2

4.4 cache的基本原理

4.4.1 cache的基本原理

有关高速缓冲存储器Cache的说法正确的是( B )。
A.只能在CPU以外 B. CPU内外都可以
C.只能在CPU以内 D. 若存在Cache,CPU就不能再访问内存

Cache是一种高速小容量的存储器,它位于( A )之间。
A.CPU和内存 B.CPU和外存
C. 内存和外存 D.运算器和控制器

4.4.2 cache的命中率

Nc:Cache完成存取的次数,Nm:主存完成存取的次数
命中率h = Nc/(Nc + Nm)
tc:Cache完成存取的时间,tm:主存完成存取的时间
Cache/主存系统的平均访问时间: ta = h*tc + (1 - h)*tm
Cache/主存系统的效率: e = tc/ta

4.5 替换算法

  最近最少使用算法:为每个cache行设置一个计数器。Cache每命中一次,命中行的计数器被清零,其他行的计数器值加,需要替换的话,将计数器值最大的行替换出去。

5. 指令系统

5.1 CISC的特点,RISC的特点

CISC,复杂指令计算机
RISC,精简指令计算机

CISCRISC
指令数目几百个小于100个
寻址方式复杂简单
指令周期变化很大大部分单周期
指令长度变长定长
程序所需指令数
寄存器数目
是否利于流水线不利于利于

6. 控制器

6.1 基本计算机的组成和功能 p264

  计算机系统的基本组成包括3个部分:中央处理器(CPU)、存储器和I/O系统,他们之间都是通过总线连接的

  从计算机组成的角度,谈谈你对计算机工作过程的理解:

  1. 开机上电,产生 Reset 信号,置 PC 为第一条指令地址
  2. 取值令,PC 自增
  3. 在时序信号作用下,由译码和控制单元产生各种控制信号(分析指令)
    控制信号控制各部件完成各种操作(运算,存取数据,转移地址等)(执行指令)
  4. 一条指令执行完,又回到取值令阶段,根据 PC 值取下一条指令。
    计算机的工作过程就是循环往复地取值令、分析指令和执行指令的过程。

  从计算机硬件组成的角度,谈谈你对计算机工作原理的理解。

  1. 计算机工作过程即是执行程序的过程;也是控制器取指令、分析指令、执行指令的循环往复的过程。
  2. 程序和数据事先由输入设备输入到存储器中,由控制器控制存储器取指令到 IR,然后经过指令译码器译码,分析指令的功能,然后发送微操作控制信号到运算器、存储器或者 IO 设备,以完成指令的功能。
  • 12
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值