资讯详情

【期末考试】计算机组成原理预习

前言

本文共, 根据我校往年考试的重点, 看得快的话大概一个小时就能看完, 计算机组成原理突击复习的话看课程和课本已经不现实了, 知识点太多太杂, 看不见, 最好直接做题, 因为重点考点只有几个题目, 就行了, , 看完再看题目。

题目总结:

三 应用题:

1.CPU与存储器连接

在这里插入图片描述

  • 根据题目确定的容量

  • 选择合适的芯片

    • 注意, 题目不会直接给我们合适的芯片, 我们需要自己去扩展, 有两种有字扩展和位扩展. 两个2k×8位可合成一个4k×8位, 这就是字扩展. 两个4k×四位可合成一个4k×8位, 这就是位扩展. 字扩展与位扩展的区别体现在画图上, 芯片连接用于位扩展CPU对应的数据线, 比如两个4k芯片合成8k的芯片, 那么这两个4k芯片分别连接CPU的D0D3端口和D4D7端口. 字体扩展对应于74138译码器的输出端(不知道74138译码器是什么, 只需记住如何绘制和区分输入端的输出端.

    • 如图:

  • 用二进制写出十六进制的容量, 分别对应ROM和RAM芯片的容量.

    • 比如这个问题的要求4k容量, 对应的十六进制应该是1000H, 但由于地址是从0开始计数的, 所以地址对应的16进制是0万H~0FFFH. 4096用户地址区16383也就是1000H3FFFH.

    • 注意两片ROM对应1个4k容量. 三个RAM对应12K容量, 也就是1个RAM对应1个4k容量, 写成二进制:

  • 最关键的一步, 逻辑图根据二进制地址分配绘制.

    • 这部分是得分的关键, 首先CPU自己记住74138译码器的图片, 考试时直接画. 绘制相应芯片数量的矩形,并注明哪种芯片 注意布局, 合适的布局会让接下来的芯片更加清晰美观.

    • 根据芯片的容量选择连接CPU几条地址线, 例如,这个问题中两种芯片的容量是4k(这里不看位数), 4k=2^12次方, 即连接12条地址线, 注意从A0开始.

    • 去和74138的CBA输入端连接. 注意地址线从低到高,74138输入端ABC连接.

    • G2B非和G2A非均和CPU地址线中未使用且恒为0的端口连接.

    • G连接恒为1的端口, 如果没有,可以画一条线,注明5V, 表示外部连接.

    • 根据CBA三个输入连接CPU地址线二进制数, 来确定输出(Y0~Y7), 连接到相应的芯片上. 有时需要注意

    • 最后上即可.

    • 如图:

存储器与CPU的连接_yrdelft的博客-CSDN博客_存储器与cpu的连接

2.设计主存地址

统一块长, Cache容量, 主存容量三者的单位, 最好换算成B的单位(1B代表一个字节, 1B=8b. 1b代表1位).

  • 确定块长, 也就是每个字块有多少字节, 然后将数字转换为2^X的形式, 那么就是x.

  • 将主存容量替换为2^z的形式后, z - x即为大小.

    • 全相联是最简单的, 当问题出现时,很可能会把它放在第一个问题上.

  • 不变.
  • 等于将Cache容量换成2^y的形式后, y - x即为大小.
  • 等于将主存容量换成2^z的形式后, z - y - x即为大小.

  • 首先不变.
  • 2^(y-x)除n路组相连(这是二路, n = 2)然后转换成2^m第二为组地址.
  • 将主存容量替换为2^z的形式后, z - x - m即为大小.

3.磁盘的技术指标

磁盘计算题一般都是改数, 记住计算公式. 计算磁道周长π视为3.14.

磁盘组有 , 每片有两个记录面, . 存储区域, , , , .

  • 共有多少存储面可用?

  • 一共6片, 每片有两个上下记录面, 不需要上下两面. 则一共有6*2-2=10

  • 有多少个柱面?

    • 柱面数是盘面上的磁道数, 与多少可用存储面无关.

    • 注意, 题目给出的内容 / 外径为直径.

    • 本题中: 有效存储区域长度 = 40/2 - 20/2 = 10 (cm)

      柱面数 = 10 × 20 = 200 (道), 即200个柱面.

  • 盘组的总存储容量是多少?

    • 磁道长度是标题中给定的位密度对应的内外周长.

    • 内层位密度在本题中, 因此,首先计算内磁道周长 = 2 * r * π = 62.8 cm

      每道信息量 = 400 * 62.8 = 25120 位. 单位可以转成字节, 也可以不转, 25120b = 3.14KB

      盘组总容量 = 10 * 200 * 3.14KB = 6280KB = 6.28 MB

  • 数据传输率多少?

    • 本题中: 转速 = 2400转 / 分 = 40转 / 秒

      数据传输率 = 40 * 3.14KB = 125.6 KB / 秒 = 0.1256 MB / 秒

  • 如果某文件长度超过一个磁道的容量, 应将它记录在同一个存储面上, 还是记录在同一个柱面上, 为什么?

    • 没有为什么, 记住就行了.

4.虚拟存储器的工作原理

虚页号 = 页号, 主存实页面号 = 页框号 = 物理块号, 有效位=

这种题把握好三个数字即可.

某存储器按字节编址, , , .

  • 虚拟地址共有几位, 哪几位表示页号? 物理地址共有几位, 哪几位表示物理页号?

    • 虚拟地址空间大小为16MB = 2 ^ 24 B, 所以虚拟地址有24位, 因为页面大小为4KB = 2 ^ 12 位, 所以页内地址12位.

      24 - 12 = 12 所以高12位表示页号(虚页号). 因为主存地址空间大小为1MB = 2 ^ 20 位, 所以物理地址有20位, 20 - 12 = 8 所以高8位表示物理页号(页框号).

  • 虚拟地址010C60H所在的页面是否在主存中? 若在主存中, 则该虚拟地址对应的物理地 址是什么? (页表如下图所示)

  • 0 1 06
    1 1 04
    2 1 15
    3 1 02
    4 0 -
    5 1 2B
    6 0
    7
    • 由第一问已知虚拟地址010C60H的低12位C60H为页内地址, 高12位010H为页号, , 所以已经存入主存中, , 所以.

5.中断和 I/O系统

CPI 为5(即执行每条指令平均需5个时钟周期). 在做I/O系统的题时要注意, 这里的1M与1B的换算关系是1M = 1000KB = 10^6B .

某计算机的 , . 假设某, 采用中断方式与主机进行数据传送, , 对应的. 请回答下列问题, 要求给出计算过程.

  • 在中断方式下, CPU 用于该外设 I/O 的时间占整个CPU时间的百分比是多少?
    • 第一问要牢牢记住这4个式子
    • 本题中: 外设的数据传输率为 0.5MB/s, 以 32 位为传输单位, 32b = 4B, . 中断服务程序包含 18 条指令, 中断服务的其他开销相当于 2 条指令的执行时间, CPI 为5, . . CPU 主频为 400MHz, .
  • 当该外设的数据传输率达到 5MB/s 时, 改用 DMA 方式传送数据. 假定每次 DMA 传送块大小为 5000B, 且 DMA 预处理和后处理的总开销为 500 个时钟周期, 则 CPU 用于该外设 I/O 的时间占整个 CPU 时间的百分比是多少? (假设 DMA 与CPU 之间没有访存冲突)
    • 第二问只需要三个式子, 两问的式子大致相同.
    • 本题中: 该外设的数据传输率达到 5MB/s, 改用 DMA 方式传送数据, 假定每次 DMA 传送块大小为 5000B, . DMA 预处理和后处理的总开销为 500 个时钟周期, . .

6.指令系统

这道题能领悟多少全看造化…

某计算机字长为16位, 主存地址空间大小为128KB, 按字编址. 采用字长指令格式, 指令名字段定义如下:

操作码 源操作数寻址方式 源寄存器 目的操作数寻址方式 目的寄存器

转移指令采用相对寻址, 相对偏移用补码表示, 寻址方式定义如下:

Ms/Md 寻址方式 助记符 含义
000B 寄存器直接 Rn 操作数=(Rn)
001B 寄存器间接 (Rn) 操作数=((Rn))
010B 寄存器间接、自增 (Rn)+ 操作数=((Rn)), (Rn)+1->Rn
011B 相对 D(Rn) 转移目标地址=(PC)+(Rn)

注: (X)表示有存储地址X或寄存器X的内容, 请回答下列问题:

  • 该指令系统最多可有多少指令? 该计算机最多有多少个通用寄存器? 存储地址寄存器(MAR)和存储数据寄存器(MDR)至少各需多少位?
    • OP表示操作码, 操作码有4位, 则该指令系统最多可有2 ^ 4 = 16条指令.
    • 寄存器有3位, 则寄存器最多有2 ^ 3 = 8个寄存器.
    • 计算机字长为16位, 所以MDR最少需要16位.
    • 主存地址空间大小为128KB, 计算机字长16位 = 2B, 128KB / 2B = 2^16, 所以至少需要16位的MAR.
  • 表示加法操作(助记符为 add), , , , 则汇编语句 “add (R4), (R5)+” (逗号前为源操作数, )对应的机器码是什么(用十六进制表示)? 该指令执行后, 哪些寄存器和存储单元的内容会改变? 改变后的内容是什么?
    • 本题中: 操作码给出: 0001B, R4和R5的寻址方式位分别为001B和010B, R4和R5的编号分别为4和5, 所以语句 “add (R4), (R5)+”对应的机器码
    • 因为R4和R5对应的寻址方式是寄存器间接寻址, 语句 “add (R4), (R5)+”的意思是将(R4)和(R5)指向的内容相加并放到目的操作数中, 然后R5的内容自增, 目的操作数是R5, R4 = 1234H, (1234H) = 5678H. R5 = 5678H, (5678H) = 1234H. 1234H + 5678H = 68ACH. 指令执行后, R5和存储单元5678H的内容会改变, R5变为5679H, 存储单元5678H的内容变为68ACH.

题目来源于王道论坛 某计算机字长为16位,主存地址空间__牛客网 (nowcoder.com)

指令执行大题:寄存器间接寻址+执行过程(王道计组)_哔哩哔哩_bilibili

二 计算题

1.计算机性能

1G = 10^3M = 10^6KB = 10^9B

,其指令分为 4 类,它们在基准程序中所占比例及 CPI 如下表所示。求出该机的 MIPS。

指令类型 所占比例 CPI
A 50% 2
B 20% 3
C 10% 4
D 20% 5
  • 本题中: MIPS = 1500 M / (2 * 0.5 + 3 * 0.2 + 4 * 0.1 + 5 * 0.2) = 500

2.计算总线带宽

, . 如果, 则计算总线宽度和总线的带宽各是多少?

  • 本题中: 总线宽度 = 32位 = 4B. 总线的时钟频率为 8MHz, 一个总线周期等于两个时钟周期, 总线带宽 = 4B * (8 MHZ / 2) = 16MB / s.

3.计算CRC码

有一个 (7, 4) 码 (即, ), 已确定. , 求C (x) 的CRC码 (写出具体步骤).

  • CRC码很简单, 先看被传输的信息是否满足n位(也即CRC码的位数), 如果不满足就在后面补零. 然后用得到的n位CRC码 (这里是1000 000) 去除所确定的多项式, 这里是1011, 最后所得的余数取n - m (m是被传输的信息的位数) 位补在被传输的信息后面即可. 注意, 这里的其实是逐位异或的意思, 只是形式上很像除法.
  • 本题中: 被传输的信息C(x) = 1000, CRC码为7位, 可暂得CRC码1000000, 然后如图所示可得余数101, 最终所得CRC码即为: 1000101

4.海明码

看明白什么是海明码: 可能是最详细的海明校验码(汉明码)解法_1橘猫的博客-CSDN博客_海明校验码例题

两种题型怎么做: 计算机组成原理速成、不挂科、搞定期末考试大题(横屏版)_哔哩哔哩_bilibili

注意: 第一个链接所给出的海明码求法是将校验位从后向前插入的, 当然从前面还是后面开始都可以, 但是大部分题目都是从前向后插入, 所以习惯上最好也是从前向后插入.

  • 做法在上方链接, 讲的很好, 这里只给出答案.

5.IEEE754浮点数

知识点涉及面比较广, 但是只要求会做题的话很简单.

已知, 求IEEE754单精度浮点数格式表示形式(写出具体步骤).

  • 机器数就是一个数在计算机中的二进制表示.

  • 这种题就是要我们将一个十进制的数转化成一个32位的二进制数, 至于十六进制和八进制都是在二进制的基础上处理一下结果.

  • 32位的二进制数由三部分组成: 组成. 不用管这些名词, 只要记住位数和怎么求就可以了.

  • , 例如8.25 = 1000.01B = 1.00001 * 2^3 B.

  • , 不足8位在前面补零. , 不足23位就在后面补零. (不要管为什么加127, 记住就行了).

  • 本题中: x = 8.25 = (1000.01)B = ( 1.000 01×2^3 )B, E(阶码) = e(我们得到的3) + 127 = 130 = (1000 0010 )B,

    单精度浮点数格式: 1位数符, 8位阶码 (含阶符), 23位尾数. 故IEEE 754单精度浮点数表示为:

    0 1000 0010 000 0100 0000 0000 0000 0000 即0100 0001 0000 0100 0000 0000 0000 0000 即41040000H

【计算机组成原理】十进制转IEEE754单精度浮点数格式_哔哩哔哩_bilibili

【计算机组成原理】IEEE754单精度浮点数转十进制_哔哩哔哩_bilibili

6.流水线的基本运算和流水线的相关性处理

  • 1s = 1* 10^3 ms = 1 * 10^6 μs = 1 * 10^9 ns. 1G = 1 * 10^3 MB = 1 * 10^6 KB = 1 * 10^9 B

  • CPU时钟周期为△t, m阶指令流水线, 连续处理n条指令

  • 执行

计算机采用 , 每段执行需, 若连续执行 , 则流水线所需的时钟周期数是多少? 求出流水线的加速比Sp和吞吐率 TP(写出简要步骤).

  • m段流水方式 = m级指令流水线.
  • 本题中: 时钟周期数 = (5 + 30 - 1) * T = 34T. TP = 30 / ((5 + 30 - 1) * T) = 17 / (15 * T). Sp = (5 * 30 * T) / (34 * T) = 75 / 17.

(5条消息) 流水线性能吞吐率、加速比、效率计算_海绵泡泡~的博客-CSDN博客_流水线吞吐率加速比

7.Cache命中率问题

假设CPU执行某段程序时, , . , . 求Cache - 主存系统的命中率, 平均访问时间和效率.

  • 本题中: 命中率 = 950 / (950 + 50) * 100% = 95% 平均访问时间 = 0.95 * 50 + 0.05 * 300 = 62.5 效率 = 50 / 62.5 = 80% 性能提高 = 300 / 62.5 - 1 = 4.8 - 1 = 3.8 倍

8.机器数的最大值最小值

基础知识点.

设机器字长为n = 8位(其中1位为符号位), 求出对于整数, 当机器数分别代表无符号数, 原码, 补码和反码时, 对应真值的最大值和最小值为多少?(先写机器数, 再求真值).

  • 无符号数 原码 补码 反码
    最大值机器数 1,1111111 0,1111111 0,1111111 0,1111111
    最大值真值 255 127 127 127
    最小值机器数 0,0000000 1,1111111 1,0000000 1,0000000
    最小值真值 0 -127 -128 -127
  • 说明一下 -128, -128是由反码1, 1111111 + 1得到的, 他的原码是1, 0000000, 显然这是 -0, 而 -0是没有意义的, 所以就拿来给 -128用了.

一 简答题

名词解释: 总线带宽, 总线宽度, 总线工作频率, 总线复用.

  • 总线复用: 指同一条信号线可以分时传输不同的信号.

计算机中引入Cache-主存和主-辅存层次的目的分别是什么?Cache-主存层次常用的地址映像方法和替换算法分别是什么?

主存单元的地址分配: 大端, 小端; 按整数边界存放

总结SRAM和DRAM的区别.

动态半导体存储器(DRAM)为什么要刷新? 如何刷新?主要包含哪三种刷新方式?

分辨率和灰度级.

  • 显示器所能显示的像素个数, 屏幕上的每一个光点就是一个像素. 以宽, 高的像素表示, 例如800 * 600 等. 像素越密, 分辨率越高, 图像越清晰.

计算机内部如何判断补码加/减运算的结果是否发生溢出?

浮点数加减运算的步骤有哪些?

两个浮点规格化数相乘, 是否可能需要右规? 为什么? 是否可能需要左规? 为什么? 其规格化次数可否确定?

简述微程序的基本思想.

影响指令流水线性能的因素有哪三个?

  • 1.结构相关. 2.数据相关. 3.控制相关.

简述串行总线和并行总线的特点. 现代计算机主要采用什么类型的总线.

  • 串行总线数据传输时, 数据是一位一位地在通信线上传输的; 并行总线数据传输时有多个数据位同时在两个设备之间传输.
  • 串行方式.

标签: 电容数码表示法309电容0r4

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台