第一章 概论

1.1 电子计算机与存储程序控制

1.1.2 存储程序概念

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

    1.4 计算机的工作过程和主要性能指标

    1.4.1 计算机的工作过程

    计算a+b-c = ?

  4. 取数,从主存取出a,送入累加寄存器中

  5. 加法,将a和从主存取出的b送到ALU中相加,结果保存在累加寄存器中
  6. 减法,将a+b与从主存取出的c一起送到ALU中相减,结果保存在累加寄存器中
  7. 存储,将结果存储到主存中
  8. 执行结束指令。

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

  9. 原码、补码、反码之间的转换

    2.2 机器数的定点和浮点表示

    2.2 浮点表示法

  10. 规格化浮点数

    1. 在尾数用原码表示时,最高数位总等于1
    2. 用补码表示时,最高数位与符号位不同

      2.2.5 IEEE 754标准浮点数

  11. 短浮点数标准

    1. 1位符号位,8位阶码,23位尾数
    2. 阶码以移码的形式存储,偏置值为127
    3. 尾数用原码表示,所以规格化的要求是最高数位需要等于1,但是对于该标准,最高数位的1需要隐含。
      1. 规格化尾数:0.1101
      2. IEEE 754规格化尾数:0.101
  12. 将(100.25)10转换为短浮点数格式
    1. 答案:42C88000H
  13. 将短浮点数C1C90000H转换为十进制数

    1. 答案:-25.125

      2.6 数据校验码

      2.6.3 循环冗余校验码(CRC码)

  14. 得到生成多项式

    1. x3 + x1 + 1 = 1011
  15. 因为生成多项式的最高次幂为3,所以在有效信息后加3个0。将有效信息1100变为1100000进行运算
  16. 用1100000与1011进行模2运算。
  17. 将得出的余数010添加在1100的后面,得到答案为1100 010
    1. 因为要添加3位,所以余数10变为010添加到后面
  18. 参考:https://www.bilibili.com/video/BV1rJ411V7L5?from=search&seid=13015444677340427549&spm_id_from=333.337.0.0

    题目

  19. 写出原码、补码和反码

    1. 0,-0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101
    2. 7/16 , 4/16 , 1/16 , +-0 , -(1/16) , -(4/16) , -(7/16)
  20. 写出补码表示
    1. 原 = 0.10100 [x]原 = 1.10111
  21. 写出真值
    1. 补 = 0.10100 [x]补 = 1.10111
  22. 某浮点数字长为32位,阶码8位,以2为底,移码表示;尾数部分24位(含一位符号位),补码表示。浮点代码为(8C5A3E00),求出该数的真值。
    1. 答案:5775.5
  23. 试将(-0.1101)2 用IEEE短浮点数格式表示
    1. 答案:80A80000H
  24. 十进制转IEEE浮点数
    1. 28.75 624 -0.625 +0.0 -1000.5
  25. IEEE短浮点数转十进制
    1. C0F00000 3F100000 43990000 40000000 41200000 00000000
  26. 准备传送的信息是1010110010001111,生成多项式为X5 + X2 + 1 , 求CRC码

    第三章 指令系统

    3.1 指令格式

    3.1.1 机器指令的基本格式

  27. 一条指令就是机器语言的一个语句,它是一组有意义的二进制代码

  28. 由操作码字段和地址码字段组成

    3.2 寻址技术

    3.2.3 基本的数据寻址方式

  29. 立即寻址

    1. 地址码表示的就直接是操作数
    2. 表示为S = A
  30. 寄存器寻址
    1. 从地址码表示的寄存器地址中提取操作数
    2. 表示为S = (R)
  31. 直接寻址
    1. 从地址码表示的主存储器地址中提取操作数
    2. 表示为S = (A)
  32. 间接寻址
    1. 从地址码表示的主存储器地址中提取下一个地址,然后再从下一个地址中提取下一个地址,直到提取到操作数。至少有两层,即地址码>主存地址码>操作数
    2. 不管有多少层,都表示为 S = ((A))
  33. 寄存器间接寻址
    1. 与间接寻址类似,只不过地址码的下一个目的地是寄存器,即 地址码 > 寄存器地址码 >操作数
    2. 表示为 S = ((R))
  34. 变址寻址
    1. 地址码指向寄存器,得到一个值,将这个值与给出的形式地址A相加,得到主存内的地址,即 地址码 >寄存器地址码+A > 操作数(位于主存)
    2. 表示为 S = ((R) + A)
  35. 相对寻址
    1. 与变址寻址差不多,但是与形式地址A相加的不是寄存器的值,而是PC里面的值
  36. 页面寻址

    1. 思想
      1. 将内存分页,每个页面有自己的编号,称为页面地址,每个页里面的单元的地址称为页内地址。
      2. 页内地址由地址字段提供,将页面地址和地址码拼接起来就是有效地址
    2. 基页寻址
      1. 页面地址去啊能与0,即0//A(//表示拼接)
    3. 当前页寻址
      1. 页面地址等于PC的高位部分内容,即EA = PC//A
    4. 页寄存器寻址
      1. 页面地址取自页寄存器,与形式地址拼接得到有效地址
    5. 前两种不需要寄存器,所以用的多;一般现在寄存器有页面标志位(Z/C),Z/C = 0时表示基页寻址,Z/C = 1时表示当前页寻址。

      题目

  37. 设某计算机为定长指令字结构,指令长度为12位,每个地址码占3位,试提出一种分配方案,使该指令系统包含:4条三地址指令,8条二地址指令,180条单地址指令

    1. 000——011:三地址指令范围;100 000 —— 100 111:二地址指令范围;101 000 000—— 111 110 011:单地址指令范围
  38. 指令格式同上题,能否构成:三地址指令4条,单地址指令255条,零地址指令64条?为什么?

    1. 按照题目要求,可得三地址指令的范围为 000——011,单地址指令的范围为100 000 000 - 111 111 110,最多只能有8条0地址指令,即111 111 111 000 —— 111 111 111 111,所以剩下可用的地址码不足以分配64条0指令;综上所诉,不能构成题目要求的指令数。

      第四章 数值的机器运算

      P80-P81 串行、并行加法器公式

      4.2 定点加减运算

      4.2.1 原码

    2. x - y = x+ (-y)

      4.2.2 补码加减运算

  39. 加法:连同符号位一起运算,多出来的位丢弃

  40. 减法:[x - y]补 = [x]+[-y]补

    1. 知道[y]补 求[-y]补 的方法:将[-y]补 连同符号位一起取反加1。即连同右边第一个一起右边的所有位不变,左边的所有位(包括符号位)取反。
    2. y = -0.0110 [y]原=1.0110 [y]补= 1.1010 [-y]补=0.0110
    3. y = 0.0110 [y]原=[y]补=0.0110 [-y]补=1.1010

      4.2.3 补码的溢出判断与检测方法

      设 [x]补 = xs , x1x2x3 …… xn [Y]补 = Ys , Y1Y2Y3 …… Yn [x]补与[y]补差(和)为[S]补 = Ss , S1S2S3 …… Sn
  41. 采用一个符号位

    1. 正溢:xs= Ys = 1 ,Ss= 0(两个负数加得正数)
    2. 负溢:xs= Ys = 0 ,Ss= 1(两个正数加得负数)
  42. 采用进位位

设两数运算时的结果为CS,C1,C2……,其中CS为符号位产生的进位(进位位),C1为最高数值位产生的进位(符号位)

  1. 溢出条件为:溢出 = CS^ C1
    1. 采用变形补码(双符号位补码)
  2. 采用两位符号位CS1,CS2
  3. 当CS1=CS2=1时数为负数,无溢出;当CS1=CS2=0时数为正数,无溢出
  4. CS1CS2=01时,发生了正溢;CS1CS2=10时,发生了负溢。(看左边的位表示正溢或负溢)

    4.6 规格化浮点数运算

  1. 运算步骤为:对阶、尾数加/减、尾数结果规格化、舍入、溢出判断
  2. 对阶
    1. 规则:小阶向大阶看齐
    2. 补码右移需要向高位补1,左移向地位补0。
  3. 尾数加减
    1. 与定点加减法相同
  4. 尾数结果规格化
    1. 将尾数用浮点数规则进行规格化
    2. 当有溢出(即双符号位为01或10)时,需要进行右规,双符号位右规一位之后就得到一个正确的值
  5. 舍入
    1. 使用恒舍法,即无条件丢弃正常尾数最低位之后的全部数值
  6. 溢出判断
    1. 使用溢出判断方法进行检测

样例:
IMG_20211225_181859.jpg

习题

IMG_20211225_182526.jpg

第五章 存储系统和结构

5.1 存储系统的组成

5.1.2 存储系统层次结构

  1. 为了解决存储容量、存取速度和价格之间的矛盾,通常把各种不同存储容量、存取速度的存储器按一定的体系结构组织起来,形成一个统一整体的存储系统。

    5.3 半导体随机存储器和只读存储器

    5.3.3 RAM芯片分析

  2. 地址线是单向输入的,其数目与芯片容量有关。

  3. 数据线是双向的,可以输入也可以输出,其数目与数据位数有关。

    5.3.4 半导体只读存储器

  4. ROM类型

    1. 掩膜式ROM(MROM),一次可编程ROM(PROM),可擦除可编程ROM(EPROM),闪速存储器(Flash Memory)

      题目汇总

      第二章题目

  5. 写出原码、补码和反码

    1. 0,-0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101
    2. 7/16 , 4/16 , 1/16 , +-0 , -(1/16) , -(4/16) , -(7/16)
  6. 写出补码表示
    1. 原 = 0.10100 [x]原 = 1.10111
  7. 写出真值
    1. 补 = 0.10100 [x]补 = 1.10111 ans = 1.01001
  8. 某浮点数字长为32位,阶码8位,以2为底,移码表示;尾数部分24位(含一位符号位),补码表示。浮点代码为(8C5A3E00),求出该数的真值。
    1. 答案:5775.5
  9. 试将(-0.1101)2 用IEEE短浮点数格式表示
    1. 答案:BF500000H
  10. 十进制转IEEE浮点数
    1. 28.75=41 E6 00 00 624=44 1C 00 00 -0.625=BF 20 00 00 +0.0 -1000.5=C4 7A 20 00
  11. IEEE短浮点数转十进制
    1. C0F00000 = -7.5 3F100000 = 0.5625 43990000=306 40000000=2 41200000=10 00000000 = 0
  12. 准备传送的信息是1010110010001111,生成多项式为X5 + X2 + 1 , 求CRC码

    1. 余数为10011

      第三章题目

  13. 设某计算机为定长指令字结构,指令长度为12位,每个地址码占3位,试提出一种分配方案,使该指令系统包含:4条三地址指令,8条二地址指令,180条单地址指令

    1. 000——011:三地址指令范围;100 000 —— 100 111:二地址指令范围;101 000 —— 111 110 011:三地址指令范围
  14. 指令格式同上题,能否构成:三地址指令4条,单地址指令255条,零地址指令64条?为什么?

    1. 按照题目要求,可得三地址指令的范围为 000——011,单地址指令的范围为100 000 000 - 111 111 110,最多只能有8条0指令,即111 111 111 000 —— 111 111 111 111,所以剩下可用的地址码不足以分配64条0指令;综上所诉,不能构成题目要求的指令数。

      第四章题目

      IMG_20211225_182526.jpg

      第五章题目

  15. 存储器的主要功能是什么?为什么把存储系统分成若干个不同层次?主要有哪些层次?P125

    1. 主要功能为存放计算机运行所需的程序和数据。为了解决存储容量、存取速度和价格之间的矛盾,通常把各种不同存储容量、存取速度的存储器按一定的体系结构组织起来,形成一个统一整体的存储系统。
    2. 主要有cache——主存层次,主存——辅存层次
  16. 在一个字节编址的计算机中,假定int类型变量i的地址为0200H,i的机器数为01234567H,请用表格的方式分别列出大端方案和小端方案情况下各个字节对应的主存地址。
  17. 某机存储字长64位,主存储器按字节编址,现有4种不同长度的数据:字节、半字(16位)、单字(32位)、双字(64位),请采用一种既节省存储空间,又能保证任一个数据都在单个存取周期中完成读写的方法,将不同长度的数据存入主存(采用大端方案)。P129

    1. 写出不同长度数据存放在主存中地址的限定要求(即第一个字节的地址)。
      1. 要求存储半字的起始地址最后1位必须为0,存储单字的起始地址最后2位必须为0,存储栓子的起始地址的最后3位必须为0,存储单个字节的数据无地址要求。
    2. 画出将字节、双字、半字、单字、字节5个数据依次存放在主存中的示意图(不能改变顺序)。

      第六章题目

  18. CPU的功能是什么?CPU由什么组成?

    1. 从程序运行的角度来看, CPU的基本功能就是对指令流和数据流在时间与空间上实施正确的控制。中央处理器由运算器和控制器组成。
  19. CPU中的寄存器包括 通用寄存器专用寄存器 两大类寄存器。
  20. CPU至少有5个专用寄存器,分别是 PC 、 IR 、 MDR 、 MAR 、 PSWR

    第七章题目

  21. 总线按照功能层次分类,分为 片内总线 、 系统总线 、 通信总线(外总线)

  22. 总线按数据线的多少分类,分为 并行总线 、 串行总线
  23. 总线宽度和总线带宽的区别是什么?
    1. 总线宽度指的是总线的线数,它决定了总线所占的物理空间和成本,影响吞吐量。总线带宽定义为总线的最大数据传输率,即每秒传输的字节数。它们是有本质的区别的。
  24. 假设地址线有20位,允许寻址的主存空间有多大?假设地址线有32位,允许寻址的主存空间又有多大?

因为地址线为20位,则220=10KB=1MB,所以允许寻址的主存空间有1MB;
因为地址线有32位,则232=230✖22=1✖4GB=4GB,所以允许寻址的主存空间有4GB。

  1. 假设总线的工作频率为22MHz,总线宽度为16位,问总线带宽是多少?
    1. 带宽公式:B=WF/N,B为总线的带宽,W为数据总线的宽度,*通常以字节为单位,如果题目是位,还要化为字节运算,即除以8,F为总线时钟频率,N为完成一次数据传送所用的时钟周期数,如果N题目没有要求,默认等于1。
    2. 解:16bit 22=2Bite 22MHz=44M/s,所以总线带宽是44MB/S。
  2. PCI总线的时钟频率为33MHz/66MHz,当该总线进行32/64位数据传送时,总线带宽各是多少?
    1. 32bit 33=4Bite 33=132M/s;
    2. 64bit 66= 8Bite 66=528M/s;
    3. 所以总线带宽各位132MB/S和528MB/S。
  3. 分析哪些因素影响带宽。
    1. 根据带宽公式可得:B=W ✖ F/N ,影响带宽的因素有:W为数据总线宽度;F为总线的时钟频率;N为完成一次数据传送所用的时钟周期数。

      其他题目汇总

计算机组成原理期中测试
一、单项选择题
1、计算机中处理信息以字节为单位,常用大写字母()表示,一个字节等于()位二进制位。P12
A.B;8 B.B;4 C.T;8 D.T;4
2、补码数值部分的表示与数的正负有关,对于正数,数值部分与真值形式相同,对于负数,()。
A.数值部分与真值形式相同 B.数值部分按位变反
C.数值部分按位变反,且在最低位加1 D.只在最低位加1
3、将十进制数100.25转换成短浮点数格式,并用十六进制表示为()。
A.42A88000H B.42B88000H C.42C88000H D.42D88000H
4、(123.4)8=()10
A.83.5 B.83.2 C.96.5 D.200.5
5、当浮点数的基数为2时,如果其尾数M满足(),则该浮点数为规格化浮点数。
A.1/26、已知[X]原=1.10111,则[X]补=()
A.[X]补=1.10111 B.[X]补=0.10111 C.[X]补=1.01001 D.[X]补=0.01001
7、已知[X]补=1.10111,则X的真值=()
A.X=-0.01001 B.0.01001 C.1.01001 D.-0.10001
8、用余3码表示十进制数5382。P34
A.0101 0011 1000 0010 B.1000 0110 1011 0101
C.1011 0011 1110 0010 D.1010 0100 0000 1100
9、某机器字长为16位,若用补码表示定点小数,则能表示的数值范围是()
A. 0≤X≤(2^15-1) B. 0≤X≤(2^16-1)
C. -(1-2^(-15))≤X≤(1-2^(-15)) D. -1≤X≤(1-2^(-15))
10、间接寻址中操作数S与地址码A的关系是()。P56
A.S=A B.S=(A) C.S=((A)) D. S=(((A)))

二、计算题
1.设寄存器R中的数值为1000H,地址为1000H的存储单元中存储的内容为2000H,地址为2000H的存储单元的内容为3000H,PC的值为4000H,问在以下寻址方式下访问到的操作数的值是什么?

  1. 寄存器寻址R;

S=(R),S=1000H

  1. 寄存器间接寻址(R);

S=((R)),S=2000H

  1. 直接寻址1000H;

S=(A),S=2000H

  1. 存储器间接寻址1000H;

S=((A)),S=3000H

  1. 立即寻址2000H;

S=2000H

  1. 相对寻址-2000H(PC);

EA=(PC)+D,4000H-2000H=2000H,2000H的内容 EA=3000H
2.某计算机的指令格式如图所示

image.png

图中X为寻址特征位,且:当X=0时,不变址;当X=1时,用变址寄存器X1进行变址;X=2时,用变址寄存器X2进行变址;当X=3时,相对寻址。设(PC)=1234H,[X1]=0037H,[X2]=1122H,以下4条指令均采用此格式,请确定这些指令的有效地址:
(1)4420H (2)2244H (3)1322H (4)3521H
3.将下列二进制转换成短浮点数。
(-0.1101)2 (1001110000)2 (-1111101000.1)
4.选择生成多项式G(x)=x3+x+1,将4位有效信息1101编码成7位CRC码。
5.求下列各数的原码、补码和反码
7/16 -1/16 (-0.1000)2 (1101)2

  1. 如何区别存储器和寄存器?两者是一回事的说法对吗?P123

解:
1、两者不是一回事。
2、寄存器全称为高速缓冲存储器(cache),是集成在CPU 的存储器,速度可以与CPU的速度相匹配。
3、存储器位于CPU外部,一般分为主存储器和辅助存储器,主存储器用来存放计算机运行期间需要的程序和数据,速度比寄存器低;辅助存储器用来暂时不参与运算的程序和数据,速度比主存储器低。

  1. 存储器的主要功能是什么?为什么把存储系统分成若干个不同层次?主要有哪些层次?P125


1、存储器的主要功能为存储程序和数据。
2、为了解决存储容量、存取速度和价格之间的矛盾,通常把不同存储容量、不同存取速度的存储器按一定的体系结构组织起来,形成一个统一整体的存储系 统。
3、主要有由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统分为的两个层次,分别为高速缓冲存储器和主存储器存储层次(Cache-主存储存储层次)、主存和辅存存储层次(虚拟存储系统)

  1. 在一个字节编址的计算机中,假定int型变量i的地址为0200H,i的机器数为01234567H,请用表格的方式分别列出大端方案和小端方案情况下各个字节对应的主存地址。P127

解:
字节编址说明一个地址对应8位,则:
采用大端方案:0200H = 01,0201H = 23,0202H = 45,0203H = 67
采用小端方案:0200H = 67,0201H = 45,0202H = 23,0203H = 01

  1. 某机存储字长64位,主存储器按字节编址,现有4种不同长度的数据:字节、半字(16位)、单字(32位)、双字(64位),请采用一种既节省存储空间,又能保证任一个数据都在单个存取周期中完成读写的方法,将不同长度的数据存入主存(采用大端方案)。P129
    1. 写出不同长度数据存放在主存中地址的限定要求(即第一个字节的地址)。要求存储半字的起始地址最后1位必须为0,存储单字的起始地址最后2位必须为0,存储栓子的起始地址的最后3位必须为0,存储单个字节的数据无地址要求。
    2. 画出将字节、双字、半字、单字、字节5个数据依次存放在主存中的示意图(不能改变顺序)。 | 0X00H | 字节 | 浪费 |
      |
      |
      |
      |
      |
      | | —- | —- | —- | —- | —- | —- | —- | —- | —- | | OX08H | 双字 | | | | | | | | | OX10H | 半字 | | 浪费 |
      | 单字 | | | | | OX18H | 字节 | 浪费 |
      |
      |
      |
      |
      |
      | | 64bit | | | | | | | | |
  1. 一般存储芯片都设有片选端,它有什么用途?

用于确定存储芯片是否被选中,为0是表示选中,为1时表示未选中

  1. 一个1KX8的存储芯片需要多少根地址线、数据输人线和输出线?P135

解:
地址线:与芯片容量有关。1k = 2^10 = 10根地址线。
数据线:是双向的,可以输入也可以输出,与每单元位数有关。1k x 8 = 每单元有8位 = 8根数据线。

  1. 某计算机字长为32位,其存储容量是 64KB,按字编址的寻址范围是多少?若主存以字节编址,试画由主存字地址和字节地址的分配情况。P127

解:
字节的长度是固定单位(1Bite = 8bit),本题中的计算机字(word)长为(32bit),所以先求出本台计算机的一个word等于多少Bite,然后再用64K除以这个商即可得到需要用多少字来表示64KB。
32bit/8bit = 4 Bite
64KB/4B = 16K word
所以按字编址的寻址范围为:
16K = 16384
范围:0 - 16383
按字节编址,说明一个存储单元存储一个字节,所以应当有64K = 2^16 = 65536个存储单元,所以编址范围为0-65535,计算机字长为32位说明每隔4Bite为一个字地址,按大端方案来编址时,字地址和字节地址分配情况为:

字地址 字节地址
0 0 1 2 3
4 4 5 6 7
…… …… …… …… ……
65532 65532 65533 65534 65535
  1. 一个容量为16KX32的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的储芯片时,各需要多少片?

1KX4,2KX8,4KX4,16KX1,4KX8.8KX8

地址线:16k = 2^14 = 14根
数据线:8根
总和:14+8 = 22根

  1. 现有1024X1的存储芯片,若用它组成容量为16KX8的存储器,试求:

    1. 实现该存储器所需的芯片数量。

      解:(16K X 8)/(1K X 1) = 128(片)

    2. 若将这些芯片分装在若干块板上,每块板的容量为4KX8,该存储器所需的地址线总位数是多少?其中几位用于选板?几位用于选片?几位用作片内地址?

解:
地址线总位数:16K = 2^14 = 14(根),即地址线总位数为14位。
(16K X 8)/(4K X 8) = 4块板,需要2位来表示。
(4K X 8)/(1K X 1) = 32片芯片/板,需要2位来表示。
则:有14-2-5 = 7位可用于表示片内地址。

  1. 已知某计算机字长8位,现采用半导体存储器作主存,其地址线为16位,若使用1KX4的SRAM芯片组成该机所允许的最大主存空间,并采用存储模板结构形式。
    1. 若每块模板容量为4KX8,共需多少块存储模板?

解:
因为有16位表示地址,字长为8位,所以该计算机的容量应该为:
2^16 = 64KB X 8
因此,当每块模板容量为4KX8时,共需:
(64KB X 8)/(4K X 8) = 16块存储模板

  1. 画出一个模板内各芯片的连接逻辑图。

第六章、第七章习题

选择题:
1.计算机由运算器、()、控制器、输入设备和输出设备五大基本部件组成。
A.二进制 B.存储器 C.指令 D.程序
2.比较原码、补码、反码3种机器数,对于真值0,()只有唯一的一种表示形式。
A.原码 B.补码 C.反码 D.都可以
3、补码数值部分的表示与数的正负有关,对于正数,数值部分与真值形式相同,对于负数()。
A.数值部分与真值形式相同 B.数值部分按位变反
C.数值部分按位变反,且在最低位加1 D.只在最低位加1
4、指令中地址码的位数与直接访问的主存容量的关系是()。
A.主存容量越大,地址码位数越长 B. 主存容量越大,地址码位数越短
C. 主存容量和地址码位数一样 D.没有关系
5、某机器字长为16位,若用补码表示定点小数,则能表示的数值范围是()。
A.0≤X≤(215-1) B. 0≤X≤(216-1)
C.-(1-2-15)≤X≤(1-2-15) D.-1≤X≤(1-2-15)
6、间接寻址中操作数S与地址码A的关系是()。
A.S=A B.S=(A) C.S=((A)) D. S=(((A)))
7、某计算机的主存容量为64K×16,它表示有64K个(),且()为16位。
A.存储单元,字长 B.存储单元,字节
C.存储单元,双字 D.存储单元,半字
8、假设总线的工作频率为22MHz,总线宽度为16位,则总线带宽是()。
A.128MB/S B.44MB/S C.176MB/S D.22MB/S
9、假设地址线有20位,则允许寻址的最大主存空间是()。
A.1K B.1M C.1G D.1T
10、计算机准备传送的信息是1010110010001111,生成多项式是X5+X2+1,则校验位是()。
A.10011 B.10000 C.11100 D.11011
11.存储器的主要功能是()。
A.存放程序和数据 B.对信息进行处理和运算
C.控制各部件自动工作 D.以上都不对
12.()负数表示范围较正数表示范围宽,能多表示一个最负的数。
A.原码 B.补码 C.反码 D.移码
13、(123.4)8=()10
A.83.5 B.83.2 C.96.5 D.200.5
14、指令中地址码的位数与直接访问的主存容量的关系是()。
A.主存容量越大,地址码位数越长 B. 主存容量越大,地址码位数越短
C. 主存容量和地址码位数一样 D.没有关系
15、某计算机字长为16位,主存容量为64K字,采用单字长单地址指令,共有50条指令。若有直接寻址,间接寻址、变址寻址和相对寻址4种寻址方式,则在设计指令格式时,操作码()位,寻址方式()位,地址码()位。
A.6,4,8 B.6,2,8 C.4,4,8 D.4,2,8
16、存储器容量为8K×8,若选用1K×4的存储芯片,则需要()片。
A.8 B.12 C.16 D.2
17、一条指令运行过程可以分为3个阶段,取指令阶段、()、执行阶段。
A.译码阶段 B.读取阶段 C.控制阶段 D.分析取数阶段
18、将(-0.1101)2用IEEE短浮点数格式表示,结果是()。
A.BF400000H B.BF500000H C. BF600000H D. BF700000H
19、地址线有20位,允许寻址的主存空间是(),地址线有32位,允许寻址的主存空间是()。
A.1M;4G B.1K;4G C.1G;4M D.1G;8M
20、一个1K×8的存储芯片需要的地址线和数据线分别是()。
A.100根,4根 B.1根;6根 C.10根;8根 D.1000根;10根

填空题
1、设寄存器R中的数值为2000H,地址为2000H的存储单元中存储的内容为3000H。则寄存器寻址R,访问到的操作数是_
2、-(7/16)的补码是_
3、已知X=0.1011,则[X]补=_
4、已知X=0.11011,Y=-0.10101,则X+Y=
5、某机字长为32位,其存储容量是64KB,按字编址的寻址范围是_

6、一个容量为64K×8的存储器,其地址线和数据线的总和是根。
7、
用来存放指令地址,为了保证程序能自动连续执行,自动确定下一条指令的地址。
8、X的补码是1.10111,则X的真值是_
9、选择生成多项式G(x)=x3+x+1,将4位有效信息1101编码成7位CRC码是_
10、存储器容量为8Kx8,若选用1Kx4的存储芯片,则需要_片。
11、[X]补=1.0011001,[4X]补=_
12、机器数字长为8位,则真值-1101的原码是10001101,补码是_,反码是11110010。
13、设寄存器R中的数值为1000H,地址为1000H的存储单元中存储的内容为2000H。则寄存器寻址R,访问到的操作数是_

计算题:
1、某计算机的指令格式如图所示
image.png
图中X为寻址特征位,且:当X=0时,不变址;当X=1时,用变址寄存器X1进行变址;X=2时,用变址寄存器X2进行变址;当X=3时,相对寻址。设(PC)=1234H,[X1]=0037H,[X2]=1122H,以下4条指令均采用此格式,请确定这些指令的有效地址:
(1)4420H (2)2244H (3)1322H (4)3521H

2、已知X和Y,试用它们的变形补码计算出X-Y,并指出结果是否溢出。
(1)X=0.11011,Y=-0.10011
(2)X=-0.10110,Y=-0.00001

3、已知X和Y,试用它们的变形补码计算出X-Y,并指出结果是否溢出。
(1)X=0.11011,Y=-0.11111
(2)X=0.10111,Y=0.11011

4、在一个字节编址的计算机中,假定int型变量i的地址为0200H,i的机器数为01234567H,请用表格的方式分别列出大端方案和小端方案情况下各个字节对应的主存地址。

简答题:

  1. 什么叫指令,简述指令的基本格式。

一条指令就是机器语言的一个语句,它是一组有意义的二进制代码

  1. 存储器的主要功能是什么?主要有哪些层次?
    1. 存储器的主要功能为存储程序和数据。
    2. 为了解决存储容量、存取速度和价格之间的矛盾,通常把不同存储容量、不同存取速度的存储器按一定的体系结构组织起来,形成一个统一整体的存储系统。
    3. 主要有由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统分为的两个层次,分别为高速缓冲存储器和主存储器存储层次(Cache-主存储存储层次)、主存和辅存存储层次(虚拟存储系统)
  2. 一般存储芯片都设有片选端,它有什么用途?
    1. 用于确定该存储芯片是否被选中,为0是表示选中,为1时表示未选中
  3. 一个1K×8的存储芯片需要多少根地址线、数据输入线和输出线?
    1. 地址线:与芯片容量有关。1k = 2^10 = 10根地址线。
    2. 数据线:是双向的,可以输入也可以输出,与每单元位数有关。1k x 8 = 每单元有8位 = 8根数据线。
  4. 如何区别存储器和寄存器?
    1. 寄存器全称为高速缓冲存储器(cache),是集成在CPU 的存储器,速度可以与CPU的速度相匹配。
    2. 存储器位于CPU外部,一般分为主存储器和辅助存储器,主存储器用来存放计算机运行期间需要的程序和数据,速度比寄存器低;辅助存储器用来暂时不参与运算的程序和数据,速度比主存储器低。
  5. 为什么把存储系统分成若干个不同层次?主要有哪些层次?
    1. 为了解决存储容量、存取速度和价格之间的矛盾,通常把不同存储容量、不同存取速度的存储器按一定的体系结构组织起来,形成一个统一整体的存储系统。
    2. 主要有由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统分为的两个层次,分别为高速缓冲存储器和主存储器存储层次(Cache-主存储存储层次)、主存和辅存存储层次(虚拟存储系统)
  6. 某机存储字长64位,主存储器按字节编址,现有4种不同长度的数据:字节、半字(16位)、单字(32位)、双字(64位),请采用一种既节省存储空间,又能保证任一个数据都在单个存取周期中完成读写的方法,画出将字节、双字、半字、单字、字节5个数据依次存放在主存中的示意图(不能改变顺序)。要求存储半字的起始地址最后1位必须为0,存储单字的起始地址最后2位必须为0,存储栓子的起始地址的最后3位必须为0,存储单个字节的数据无地址要求。

示意图:

0X00H 字节 浪费





OX08H 双字
OX10H 半字 浪费
单字
OX18H 字节 浪费





64bit
  1. 一个1K×8的存储芯片需要多少根地址线、数据输入线和输出线?