计算机组成原理(考研408)练习题#1

文章探讨了不同存储器配置下的地址和数据寄存器位数、编址范围以及存储芯片的选择和连接。涉及内容包括按字节、半字、字编址的计算,以及SRAM、ROM芯片的使用、译码器在地址选择中的作用,还有存储器的地址分配和连接策略。
摘要由CSDN通过智能技术生成

 用于复习408或计算机组成原理期末考试。如有错误请在评论区指出。

So let's start studying with questions!

それでは、問題の勉強を始めましょう!

1. 设有一个 1MB 容量的存储器,字长为 32 位,问:

(1)按字节编址,地址寄存器、数据寄存器各为几位?编址范围为多大?

(2)按半字编址,地址寄存器、数据寄存器各为几位?编址范围为多大?

(3)按字编址,地址寄存器、数据寄存器各为几位?编址范围为多大?

(1) 按字节编址时,地址寄存器和数据寄存器各为20位(因为1MB = 2^20字节),编址范围为0x00000 到 0xFFFFF。

(2) 按半字编址时,地址寄存器和数据寄存器各为21位(因为1MB = 2^20字节,每半字(2字节)需要1位地址),编址范围为0x00000 到 0xFFFFF。

(3) 按字编址时,地址寄存器和数据寄存器各为20位(因为1MB = 2^20字节),编址范围为0x00000 到 0xFFFFF。

2. 设有一个具有 20 位地址和 32 位字长的存储器:问

(1)该存储器能存储多少字节信息?

(2)如果存储器由 512K*8 位的 SRAM 芯片构成,需要多少片?

(3)描述地址码的哪几位送入到译码器中,译码器的哪些出口连接内存芯片的 CS 端 

(1) 该存储器能存储2^20字节的信息,因为地址位数为20位,每个地址对应一个字节。

(2) 如果存储器由512K*8位的SRAM芯片构成,需要8片。因为每片512K字节,共需8片×512K字节/片 = 4MB。

(3) 地址码的高11位(A19-A9)送入译码器中,译码器的输出连接到内存芯片的CS(片选)端。这样,译码器的输出可以选择对应的内存芯片进行读取或写入操作,实现对不同内存芯片的选择控制。

3.设 CPU 有 16 根地址线、8 根数据线,现有下列存储芯片:1K×4 位 RAM、4K×8 位 RAM、 8K×8 位 RAM、2K×8 位 ROM、4K×8 位 ROM、8K×8 位 ROM。现在需要将 CPU 与存储器进行连接,要求最小 8K 为系统程序区,相邻 16K 为用户程序区,最大 4K 为系统程序工作区。

(1)分别写出系统程序区、用户程序区、系统程序工作区的地址范围,要求用 16 进制 表示。

(2)给出系统程序区、用户程序区、系统程序工作区应选用的芯片种类即数量。

(3)CPU 地址线的哪几位需要送入到译码器形成片选信号?

(4)译码器的各输出口分别应与哪个所选芯片 CS 端连接?

(1) 根据题目要求,系统程序区最小为8K,用户程序区为相邻的16K,最大为4K的系统程序工作区,可以得到以下地址范围:

系统程序区地址范围:0x0000 - 0x1FFF 用户程序区地址范围:0x2000 - 0x5FFF 系统程序工作区地址范围:0x6000 - 0x7FFF

(2) 根据地址范围和存储芯片的容量,可以选择以下芯片种类及数量:

  • 系统程序区:1片 8K×8位 ROM
  • 用户程序区:1片 16K×8位 ROM
  • 系统程序工作区:1片 4K×8位 RAM

(3) CPU地址线的高13位(A15 - A3)需要送入译码器形成片选信号,用于对不同芯片进行选择控制。

(4) 译码器的各输出口应与所选的存储芯片的CS(片选)端连接,具体连接关系如下:

  • 系统程序区:译码器的一个输出口连接到8K×8位 ROM的CS端
  • 用户程序区:译码器的一个输出口连接到16K×8位 ROM的CS端
  • 系统程序工作区:译码器的一个输出口连接到4K×8位 RAM的CS端

4.某机器中,已知配有一个地址空间位 0000H-3FFF 的 ROM 区。现在用一个 RAM 芯片 8K*8 形成 40K*16 的 RAM 区域,其实地址位 6000H。设 CPU 地址线有 16 根,数据线有 16 根。

(1)CPU 的哪几位地址进行译码?

(2)ROM 和 RAM 各自连接译码器的哪个输出端?

 (1) 根据题目中提到的地址空间和RAM芯片的布局,CPU的地址线的高14位(A15 - A2)需要进行译码,用于对ROM和RAM进行地址选择。

(2) ROM和RAM分别连接译码器的以下输出端:

  • ROM连接译码器的一个输出端,用于对ROM进行片选(CS)控制。
  • RAM连接译码器的另一个输出端,用于对RAM进行片选(CS)控制。

5.要求用 128K×16 的 SRAM 芯片组成 512K×16 的随机存储器,用 64K×16 的 EPROM 芯片 组成 128K×16 的只读存储器。试问:

(1)数据寄存器多少位?

(2)地址寄存器多少位?

(3)两种芯片各需多少片?

(4)若 EPROM 的地址从 00000H 开始,RAM 的地址从 60000H 开始,写出各芯片的地址 分配情况。

 (1) 数据寄存器的位数取决于存储器的字长,题目中提到的SRAM和EPROM的字长都是16位,因此数据寄存器的位数为16位。

(2) 地址寄存器的位数取决于存储器的地址空间大小。对于128K×16的SRAM芯片,地址空间大小为128K,需要17位地址线;对于64K×16的EPROM芯片,地址空间大小为64K,需要16位地址线。因此,地址寄存器的位数应为17位。

(3) 对于512K×16的随机存储器,需要使用4片128K×16的SRAM芯片;对于128K×16的只读存储器,需要使用2片64K×16的EPROM芯片。

(4) 根据题目中给出的地址分配情况,可以得到各芯片的地址分配如下:

  • SRAM芯片的地址分配范围:00000H - 1FFFFH (共128K)
  • EPROM芯片的地址分配范围:00000H - FFFFFH (共64K) 其中,SRAM的地址从00000H开始,EPROM的地址从60000H开始。

6.用 512K*8 位的存储芯片组成一个 4M*32 位的半导体只读存储器。请回答下面问题

(1) 该存储器的数据线和地址线分别是多少?

(2)共需要几片这样的存储器芯片?

(3)详 细说明每根地址线的连接方式和作用。

(1) 该存储器的数据线和地址线分别是多少? 根据题目中给出的存储芯片规格,512K8 位的存储芯片有8位数据线,4M32 位的半导体只读存储器有32位数据线。因此,该存储器的数据线位数为32位。

对于地址线,存储芯片的位数可以通过将存储容量除以每片芯片的容量得到,即: 4M32 位的存储器总共有4M/512K = 8片512K8位的存储芯片组成。 每片512K*8位的存储芯片有20位地址线(因为512K = 2^19,需要19位地址线来表示512K的地址范围,再加上一个偶校验位,总共20位)。 因此,该存储器的地址线位数为20位。

(2) 共需要几片这样的存储器芯片? 根据题目中给出的存储芯片规格,512K8 位的存储芯片组成4M32 位的存储器需要8片。

(3) 每根地址线的连接方式和作用 对于每根地址线,连接方式和作用如下:

  • 地址线的连接方式:地址线连接到存储芯片的地址输入端,通常通过地址译码器进行连接。
  • 地址线的作用:地址线用于指定要访问的存储单元的地址。每一根地址线可以表示2个状态(0或1),因此,20位地址线可以表示2^20 = 1M 个不同的地址,对应着存储器的1M个存储单元。通过地址线,CPU可以向存储器发送读取或写入操作的地址信息,从而实现对存储器的读取或写入操作。

7.设某存储器容量为 32 个字,字长为 64 位,模块数 m=4,分别采用顺序方式和交叉方式 进行组织。存储周期 T=200ns,数据总线宽度为 64 位,总线传送周期 r=50ns。再连续读出 4 个字的情况下,求顺序存储器和交叉存储器各自的带宽。

顺序方式的存储器带宽计算如下: 每次读出一个字,存储周期为 T=200ns,数据总线宽度为 64 位。因此,每次读出的数据量为 64 位。

连续读出 4 个字,共需 4 次存储周期。每次存储周期内都能读出一个字,因此顺序存储器总共读出 4 个字需要 4 次存储周期。

顺序存储器的带宽 = 每次读出的数据量 × 每秒钟读出的次数 带宽 = 64 位/字 × 4 次/秒 = 256 位/秒

交叉方式的存储器带宽计算如下: 每次读出一个字,存储周期为 T=200ns,数据总线宽度为 64 位。因此,每次读出的数据量为 64 位。

连续读出 4 个字,每次读出一个字,因此总共需要 4 次存储周期。

交叉存储器的带宽 = 每次读出的数据量 × 每秒钟读出的次数 带宽 = 64 位/字 × 4 次/秒 = 256 位/秒

因此,顺序存储器和交叉存储器各自的带宽都为 256 位/秒。

8.有一个处理机,主存容量为 1MB,字长 1B,块大小 16B,cache 容量 64K,若 cache 采用直接映射方式。

(1)画出 cache 和主存的地址结构

(2)写出两个不同的地址,使它们映射到同一个 cache

(1) cache 和主存的地址结构如下:

主存地址结构: 总容量:1MB 字长:1B 块大小:16B

|-------------------|------------------|-----------------|-----------------|------------------|

cache地址结构: 容量:64K 字长:1B 块大小:16B 直接映射方式

|-------------------|------------------|-----------------|-----------------|------------------|

(2) 两个不同的地址映射到同一个 cache 可以通过不同的主存地址但相同的组索引和标记来实现。例如: 主存地址1: 0x123456 主存地址2: 0x789ABC

假设 20 位标记位是相同的,而 4 位组索引位也是相同的,那么这两个主存地址会映射到同一个 cache 组。这样,当处理机访问这两个主存地址时,由于它们映射到了同一个 cache 组,可能会导致缓存命中或缓存失效的情况,从而影响 cache 的性能和一致性。

9.设某机贮存容量为 16MB,按字节编址。Cache 容量为 16KB。每个字块 8 个字,每个字 32 位。设计一个四路组相连映射的 cache 组织,要求: (1)画出主存地址字段中各段的位数 (2)设 Cache 的初态为空,CPU 依次从主存第 0,1,2~99 号单元中读出 100 个字(主 存一次读出一个字),并重复此顺序 8 次,问命中率为多少?

(1) 主存地址字段中各段的位数如下:

总容量:16MB (24位) 字长:1B (8位) 块大小:8个字 (3位块内偏移) Cache容量:16KB (14位) 四路组相连映射,所以组数为 Cache容量 / (块大小 * 字长) = 16KB / (8 * 8) = 256组 每组包含4个块,因此需要2位组索引

主存地址结构: |----------------|-------------|-------------|----------------|---------------|

Cache地址结构: |----------------|-------------|-------------|----------------|--------------|

(2) 根据题目描述,CPU从主存地址0、1、2...99中依次读出100个字,并重复8次。由于Cache的初态为空,即没有任何数据被缓存,每次访问都会导致缓存失效,命中率为0%。

10.某 cache 容量为 64KB,块大小 128B,采用四路组相联结构。主存 4GB,按字节编址。

(1)该 cache 共有多少块,多少组?

(2)该 cache 中的标记位共有多少个?每个标记位几位?

(1) 该 cache 共有多少块,多少组?

Cache容量:64KB = 64 * 2^10 B = 64 * 1024 B 块大小:128B 四路组相联结构,每组包含4个块。

每个块的大小与块大小相同,为128B。所以,总的块数为 Cache容量 / 块大小 = 64KB / 128B = 512块。

每组包含4个块,所以总的组数为 块数 / 4 = 512块 / 4 = 128组。

(2) 该 cache 中的标记位共有多少个?每个标记位几位?

Cache采用四路组相联结构,每个块包含一个标记位。标记位的位数取决于主存的总容量和块大小。

主存容量:4GB = 4 * 2^30 B = 4 * 1024 * 1024 * 1024 B

每个块的大小与块大小相同,为128B。

标记位的位数 = 主存总容量 - 块大小的位数 - 组索引的位数

组索引的位数 = log2(组数)

主存总容量的位数 = log2(主存总容量)

所以,标记位的位数 = log2(主存总容量) - log2(块大小) - log2(组数)

代入已知数据,可得:

标记位的位数 = log2(4 * 1024 * 1024 * 1024) - log2(128) - log2(128)

标记位的位数 = 32 - 7 - 7 = 18位

所以,该 cache 中的标记位共有18个,并且每个标记位占用18位。

 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
1.定点8位字长的字,采用2的补码形式表示时,一个字所表示的整数范围是___。 A.–128—+127 B.-127—+127 C.-129—+128 D.-128—+128 2.运算器虽有许多部件组成,但核心部分是___。 A.数据总线 B.算术逻辑单元 C.多路开关 D.通用寄存器 3.某计算机字长32位,其存储容量是1MB,若按字编址,它的寻址范围是___。 A.0—1M B.0—512KB C.0—256K D.0—256KB 4.二地址指令中,操作数的物理位置可安排在___。 A.栈顶和次栈顶 B.两个主存单元 C.一个主存单元和一个寄存器 D.两个寄存器 5.描述多媒体CPU的基本概念中,正确的表述是___。 A.多媒体CPU是带有MMX技术的处理器. B.MMX是一种多媒体扩展结构. C.MMX指令集是一种MIMD(多指令流多数据流)的并行处理指令. D.多媒体CPU是以超标量结构为基础的CISC的基础. 6.在下面描述的RISC机器基本概念中,不正确的表述是____。 A. RISC机器不一定是流水CPU. B. RISC机器一定是流水CPU. C. RISC机器有复杂的指令系统. D. CPU配备很少的通用寄存器. 7.在下面描述的PCI总线基本概念中,不正确的表述是___。 A.PCI总线是一个与处理器无关的高速外围总线. B.PCI总线的基本传输机制是猝发式传送. C.PCI设备一定是主设备. D.系统中允许只有一条PCI总线. 8.CRT的分辨率为1024×1024像素,像素的颜色总数为256色,则刷新存储器每个单元 字长是___。 A.256位 B.16位 C.8位 D.7位 9.在单级中断系统中,CPU一旦响应中断,则立即关闭___标志,以防止本次中断服 务结束前同级的其他中断源产生另一次中断进行干扰。 A.中断允许 B.中断请求 C.中断屏蔽 10.为了便于实现多级中断,保有现场信息最有效的方法是采用___。 A.通用寄存器 B.堆栈 C.存贮器 D.外存
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轩Scott

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值