计算机系统原理 简答、名词解释 名词解释、简答 以下是对计算机系统原理中的一些简答和名词的解释汇总: 简答 指令和数据在计算机内部以几进制存储,又是如何区分的 ? 答案 :二进制存储。通过不同的时间段来区分指令和数据,在指令周期中从内存读出的信息是指令,流向控制器;在执行周期中从内存读出的信息是数据,流向运算器。 计算机内部为什么要使用二进制 ? 答案 :因为二进制具有精度高、数据存储量大、逻辑判断能力强、应用范围广等优点。同时,二进制只有0和1两个数字,可以用电压的高低、脉冲的有无来表示,运算规律简单,在计算机内部比较容易实现。 简单描述计算机系统的层次结构 ? 答案 :通常由五个不同的级组成,每一级都能进行程序设计。第1级是微程序设计级或逻辑电路级,是硬件级,由硬件直接执行。第2级是一般机器级,也称为机器语言级,它由微程序解释机器指令系统,也是硬件级。第3级是操作系统级,它由操作系统程序实现,这些操作系统由机器指令和广义指令组成,广义指令是操作系统定义和解释的软件指令,所以这一级也称为混合级。第4级是汇编语言级,它给程序人员提供一种符号形式语言,以减少程序编写的复杂性,这一级由汇编程序支持和执行。第5级是高级语言级,它是面向用户的,为方便用户编写应用程序而设置的,这一级由各种高级语言编译程序支持和执行。 从源程序到可执行程序的过程 ? 答案 :通常包括编译、汇编、链接等步骤。编译是将源程序翻译成机器语言的过程;汇编是将汇编语言翻译成机器语言的过程;链接则是将多个目标文件和库文件链接成一个可执行文件的过程。 冯诺依曼计算机由哪几部分组成,主要思想是什么 ? 答案 :冯诺依曼计算机由运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。主要思想是:存储器不仅能存放数据,而且也能存放指令,形式上两者没有区别,但计算机应能区分数据还是指令;控制器应能自动执行指令;运算器应能进行加、减、乘、除四种基本算术运算,并且也能进行一些逻辑运算和附加运算;操作人员可以通过输入设备、输出设备和主机进行通信;采用“存储程序”工作方式。 名词解释 主机 :由CPU、存储器与I/O接口合在一起构成的处理系统称为主机。 CPU :中央处理器,是计算机的核心部件,由运算器和控制器构成。 运算器 :计算机中完成运算功能的部件,由ALU(算术逻辑运算单元)和寄存器构成。 ALU :对数据进行算术和逻辑运算处理的部件。 外围设备 :计算机的输入输出设备,包括输入设备、输出设备和外存储设备。 数据 :编码形式的各种信息,在计算机中作为程序的操作对象。 指令 :一种经过编码的操作命令,它指定需要进行的操作,支配计算机中的信息传递以及主机与输入输出设备之间的信息传递,是构成计算机软件的基本元素。 透明 :在计算机中,从某个角度看不到的特性称该特性是透明的。 位 :计算机中的一个二进制数据代码,计算机中数据的最小表示单位。 字 :数据运算和存储的单位,其位数取决于具体的计算机。 字节 :衡量数据量以及存储容量的基本单位,1字节等于8位二进制信息。 字长 :一个数据字中包含的位数,反映了计算机并行计算的能力。一般为8位、16位、32位或64位。 地址 :给主存器中不同的存储位置指定的一个二进制编号。 存储器 :计算机中存储程序和数据的部件,分为内存和外存。 总线 :计算机中连接功能单元的公共线路,是一束信号线的集合,包括数据总线、地址总线和控制总线。 硬件 :由物理元器件构成的系统,计算机硬件是一个能够执行指令的设备。 软件 :由程序构成的系统,分为系统软件和应用软件。 兼容 :计算机部件的通用性。 软件兼容 :一个计算机系统上的软件能在另一个计算机系统上运行,并得到相同的结果,则称这两个计算机系统是软件兼容的。 程序 :完成某种功能的指令序列。 主存 :一般采用半导体存储器件实现,速度较高、成本高,且当电源断开时存储器的内容会丢失。 辅存 :一般通过输入输出部件连接到主存储器的外围设备,成本低,存储时间长。 操作系统 :主要的系统软件,控制其它程序的运行,管理系统资源并且为用户提供操作界面。 指令集体系结构(ISA) :计算机硬件与系统软件之间的接口。指令系统是核心部分,还包括数据类型、数据格式的定义、寄存器设计、I/O空间编址、数据传输方式、中断结构等。 响应时间 :作业从开始提交到完成的时间,包括CPU执行时间、等待I/O的时间、系统运行其他用户程序的时间以及操作系统运行时间。 CPU执行时间 :CPU真正用于程序执行的时间,包括用户CPU时间(执行用户程序代码的时间)和系统CPU时间(为了执行用户代码而需要CPU运行操作系统的时间)。 11. 用若干个 助记符 表示的与机器指令一一对应的指令称为 汇编 指令。 12. 指令集体系结构(ISA)是整个计算机系统的核心部分,ISA层上面是 软件 部分,下面是 硬件 部分。 13. 按照在计算机上完成任务的不同,可以把使用计算机的用户分成以下4类: 最终用户 、 系统管理员 、应用程序员和系统程序员。 14. 整数加减运算中,同号相加时,若结果的符号不同于 加数 的符号,则会发生 溢出 。 15. 对阶时,使小阶向大阶看齐,使小阶的 尾数 向右移位,移位的位数等于两个阶的 差 的绝对值。 16. 目标代码指编译器或 汇编器 处理源代码后所生成的 机器语言 目标代码。 17. 中央处理器(CPU)的基本部件是 数据通路 和 控制部件 。 18. 主存是存储器层次结构中的 核心 存储器,用来存放系统中被启动的 程序代码 和数据。 19. cache的写策略要 通写 法和 回写 法。 20. 程序直接控制I/O方式的基本思想是直接通过 查询程序 来控制主机与外设的 数据 交换。 11. 指令所处理的非数值数据主要包括 ______ 数据和 ______ 数据。 解 指令所处理的非数值数据主要包括字 符数 据和 逻辑 数据。 +1 12. 与机器语言相对应的符号化表示语言称为 ______ 语言。通常用容易记忆的英文单词或缩写表示指令操作码的含义,用标号、变量名、寄存器名等表示操作数或其地址码,这些英文单词或其缩写、标号、变量名等称为 ______ 。 解 与机器语言相对应的符号化表示语言称为 汇编语言 。通常用容易记忆的英文单词或缩写表示指令操作码的含义,用标号、变量名、寄存器名等表示操作数或其地址码,这些英文单词或其缩写、标号、变量名等称 为助记符 。 +1 13. 用来管理整个计算机系统的资源,包括对它们进行 ______ 、管理、监视和服务等的软件称为 ______ 。 解 用来管理整个计算机系统的资源,包括对它们进行 调度 、管理、监视和服务等的软件称为 操作系统 。 14. 浮点数加减运算过程中,需要经过 ______ 、尾数加减、______ 和舍入 4 个步骤。 解 浮点数加减运算过程中,需要经过 对阶 、尾数加减、 规格化 和舍入4个步骤。 +1 15. 在两个同号数相加时,当相加得到的 ______ 超出了 n 位数可表示的范围时出现这种情况,此时发生了 ______ 现象。 解 在两个同号数相加时,当相加得到的 结果 超出了 n 位数可表示的范围时出现这种情况,此时发生了 溢出 现象。 +2 16. 链接器在将多个可重定位文件组合成一个 ______ 时,主要完成 ______ 和重定位两个任务。 解 链接器在将多个可重定位文件组合成一个 可执行文件 时,主要完成 符号解析 和重定位两个任务。 +1 17. 进程可以看成是 ______ 的一次运行过程,因而它具有 ______ 的含义。 解 进程可以看成是 程序 的一次运行过程,因而它具有 动态 的含义。 18. 层次结构存储系统可以在 ______ 、______ 和价格方面达到较好的综合指标。 解 层次结构存储系统可以在 速度 、 容量 和价格方面达到较好的综合指标。 +1 19. 虚拟存储技术既解决了 ______ 受限的问题,又解决了多个程序共享 ______ 带来的安全等问题。 解 虚拟存储技术既解决了 编程空间 受限的问题,又解决了多个程序共享 主存 带来的安全等问题。 20. 内核空间的 I/O 软件由与设备无关的 I/O 软件、______ 程序和 ______ 程序等三个部分组成。 解 内核空间的 I/O 软件由与设备无关的 I/O 软件、 设备驱动 程序和 中断服务 程序等三个部分组成。 计算机系统原理 一、单项选择题:本大题共10小题,每小题1分,共10分。在每小题列出的备选项中只有一项是最符合题目要求的,请将其选出。 1.下列数中最小的数是 A.(101001)2 B.(52)8 C.(1010001)BCD D.(233)16 2.计算机系统中采用补码运算的目的是 A.与手工运算方式保持一致 B.提高运算速度 C.提高运算的精度 D.简化计算机的设计 3.下列说法不正确的是 A.变址寻址时,有效数据存放在内存中 B.数据交换指令,将两个寄存器内容互换 C.堆栈指针SP的内容表示当前堆栈内所存储的数据的个数 D.内存中指令的寻址和数据的寻址是交替进行的 4.通用寄存器用于临时存放从主存取来的数据或运算的结果,下列不属于通用寄存器的部件是 A.指令寄存器 B.标志寄存器 C.程序计数器 D.状态计数器 5.下列不属于指令集体系结构设计所追求的目标的是 A.提高机器级程序的执行速度 B.增大控制存储器的容量 C.缩短机器级指令的长度 D.提高机器级程序设计的灵活性 6.程序使用链接的好处不包括 A.模块化 B.结构化 C.效率高 D.空间利用率高 7.属于内部异常的是 A.采样计时时间到 B.网络数据包到达 C.非法操作码 D.用户按下(Ctrl+C)键 8.在存储器层次化体系结构中,以下存取时间最小的存储器是 A.寄存器 B.硬盘 C.主存储器 D.高速缓冲存储器 9.下列不是I/O子系统特性的是 A.共享性 B.同步性 C.复杂性 D.异步性 10.现代操作系统主要采用的虚拟存储管理方式是 A.页式 B.段式 C.段页式 D.随机式 二、填空题:本大题共10小题,每小题2分,共20分。 11.从抽象层次上来分,程序设计语言可分为______语言和______语言。 12.CPU访问主存时,需先将主存地址、读/写命令分别送到总线的______、控制线,然后通过总线的______发送或接收数据。 13.浮点数加减运算过程中,需要经过对阶、______加减、______和舍入4个步骤。 14.冯·诺依曼结构计算机由运算器、 、 、输入设备和输出设备五大基本部件组成。 15.栈是一种采用______方式进行访问的一块存储区,在执行pushw% ax指令之后,SP指向存放有AX内容的单元,即当前刚入栈的______。 16.将高级语言源程序转换为可执行文件通常分为______编译、汇编和______4步。 17.动态链接有两种方式,一种是在程序______过程中加载和链接共享库,另一种是在程序______过程中加载并链接共享库。 18.程序访问的局部性包括______局部性和______局部性。 19.CPU访存过程中,若出现cache缺失,由______处理;若出现缺页,由______处理。 20.因为I/O统一编址方式下I/0访问和主存访问共用同一组______,所以其保护机制可由______管理机制实现。 三、名词解释题:本大题共2小题,每小题3分,共6分。 21.时钟周期 22.数据通路 四、简答题:本大题共4小题,每小题6分,共24分。 23.简述字和字长概念。 自考真题和资料可滴滴 26.简述文件系统所实现的功能。 五、计算题:本大题共2小题,每小题10分,共20分。 28.(1)若前端总线(FSB)的时钟频率为333MHz,采用4倍并发技术传输数据,总线数据宽度为64位,则工作频率和总线带宽各为多少?(2)若QPI总线时钟频率为2.4GHz,每个时钟周期传输2次数据,其有效数据位16位,则其速度为多少GT/s?工作频率是多少?总带宽是多少? 六、分析设计题:本大题共2小题,每小题10分,共20分。 30.某计算机的主存空间大小为512MB,按字节编址。指令cache和数据cache分离,两种cache 均有16个 cache行,主存与cache交换的块大小为128B,数据cache采用2路组相联、通写法和LRU替换算法。现有程序P,其伪代码如题30图所示。 程序 P: 假定i、j、sum 均分配在寄存器中,数组a按行优先方式存放,其首地址640。试回答下列问题: (1)数据cache的总容量(包括标记和有效位等)是多少字节? (2)程序P的数据命中率是多少? 2024-10-真题 第一部分 选择题 +8 单项选择题:本大题共10小题,每小题1分,共10分。在每小题列出的备选项中只有一项是最符合题目要求的,请将其选出。 1. 下列数中最大的数是 A. $ 98_{16} $ B. $227_{8}$ C. $10011001_{2}$ D. $152_{10}$ 解 各选项转换为十进制: A. $\left(98\right)_{16} = 9 \times 16^1 + 8 \times 16^0 = 144 + 8 = 152$ B. $\left(227\right)_{8} = 2 \times 8^2 + 2 \times 8^1 + 7 \times 8^0 = 128 + 16 + 7 = 151$ C. $$ 10011001_{2} = 1 \times 2^7 + 0 \times 2^6 \\ + 0 \times 2^5 + 1 \times 2^4 + 1 \times 2^3 \\ + 0 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 \\ = 128 + 0 + 0 + 16 + 8 + 0 + 0 + 1 = 153 $$ D. $\left(152\right)_{10} = 152$ 因此,最大的数是 C。 2. 冯·诺依曼计算机工作方式的基本特点是 A. 多指令流单数据流 B. 存储程序工作方式 C. 堆栈操作 D. 存储器按内部选择地址 解 冯·诺依曼计算机的基本特点是存储程序工作方式,即程序和数据都存储在同一存储器中,由计算机按顺序取出指令并执行。因此,正确答案是 B。 运算器的核心部件是 A. 数据总线 B. 通用寄存器 C. 多路开关 D. 算术逻辑运算单元 解 运算器的核心部件是算术逻辑运算单元(ALU),它负责执行算术和逻辑运算。因此,正确答案是 D。 A. 数据总线是用于在计算机各部分之间传输数据的通道,不是运算器的核心部件。 B. 通用寄存器用于临时存储数据和指令,但不是运算器的核心部件。 C. 多路开关用于选择不同的数据源或目的地,也不是运算器的核心部件。 下列关于浮点运算器的描述,正确的是 A. 浮点运算器可用阶码部件和尾数部件来实现 B. 阶码部件可实现加、减、乘、除四种运算 C. 阶码部件可进行阶码相加、相减和相乘操作 D. 尾数部件只进行乘法和除法运算 解 浮点运算器通常由两个主要部分组成:阶码部件和尾数部件。阶码部件负责处理指数部分的运算,而尾数部件负责处理有效数字部分的运算。因此,正确答案是 A。 B. 阶码部件主要进行指数的加减运算,而不是乘除运算。 C. 阶码部件主要进行指数的加减运算,而不是乘法运算。 D. 尾数部件不仅进行乘法和除法运算,还可以进行加法和减法运算。 指令系统中采用不同寻址方式的目的主要是 A. 实现存储程序和程序控制 B. 缩短指令长度,扩大寻址空间,提高编程灵活性 C. 可以直接访问外存 D. 提供扩展操作码的可能并降低指令译码难度 解 采用不同寻址方式的主要目的是为了缩短指令长度,扩大寻址空间,提高编程的灵活性。因此,正确答案是 B。 A. 存储程序和程序控制是计算机的基本功能,但不是采用不同寻址方式的主要目的。 C. 直接访问外存通常通过I/O操作实现,而不是通过寻址方式。 D. 扩展操作码和降低指令译码难度不是采用不同寻址方式的主要目的。 从源程序变为可执行文件的第一个步骤是 A. 链接 B. 编译 C. 汇编 D. 预处理 解 从源程序变为可执行文件的第一个步骤是预处理。预处理器会处理源代码中的预处理指令,如宏定义和文件包含等。因此,正确答案是 D。 A. 链接是将多个目标文件组合成一个可执行文件的过程,通常在编译和汇编之后进行。 B. 编译是将高级语言源代码转换为汇编代码的过程,通常在预处理之后进行。 C. 汇编是将汇编代码转换为机器代码的过程,通常在编译之后进行。 在父进程中创建一个子进程,用到的函数是 A. main B. fork C. execve D. add 解 在父进程中创建一个子进程通常使用 fork 函数。因此,正确答案是 B。 A. main 是程序的入口函数,不用于创建子进程。 C. execve 用于执行一个新的程序,而不是创建子进程。 D. add 不是用于创建子进程的函数。 属于易失性存储器的是 A. ROM B. 磁表面存储器 C. 主存储器 D. 光存储器 解 易失性存储器是指断电后数据会丢失的存储器。主存储器(RAM)是易失性存储器,因此正确答案是 C。 A. ROM 是只读存储器,属于非易失性存储器。 B. 磁表面存储器(如硬盘)是非易失性存储器。 D. 光存储器(如CD、DVD)也是非易失性存储器。 与设备无关的 I/O 软件不含 A. 缓存层 B. 文件系统 C. 中断服务程序 D. 通用块设备 I/O 层 解### 与设备无关的 I/O 软件通常不包含中断服务程序,因为中断服务程序是与具体设备相关的。因此,正确答案是 C。 A. 缓存层是与设备无关的 I/O 软件的一部分。 B. 文件系统是与设备无关的 I/O 软件的一部分。 D. 通用块设备 I/O 层是与设备无关的 I/O 软件的一部分。 普通文件的缓冲区属性为 A. 全缓冲 B. 行缓冲 C. 列缓冲 D. 非缓冲 解 普通文件的缓冲区属性通常为全缓冲,这意味着数据会在缓冲区满时才写入文件。因此,正确答案是 A。 B. 行缓冲通常用于终端设备。 C. 列缓冲不是常见的缓冲方式。 D. 非缓冲通常用于特殊设备,如打印机。 第二部分 非选择题 +6 填空题:本大题共10小题,每小题2分,共20分。 11. 指令所处理的非数值数据主要包括 ______ 数据和 ______ 数据。 解 指令所处理的非数值数据主要包括字 符数 据和 逻辑 数据。 +1 12. 与机器语言相对应的符号化表示语言称为 ______ 语言。通常用容易记忆的英文单词或缩写表示指令操作码的含义,用标号、变量名、寄存器名等表示操作数或其地址码,这些英文单词或其缩写、标号、变量名等称为 ______ 。 解 与机器语言相对应的符号化表示语言称为 汇编语言 。通常用容易记忆的英文单词或缩写表示指令操作码的含义,用标号、变量名、寄存器名等表示操作数或其地址码,这些英文单词或其缩写、标号、变量名等称 为助记符 。 +1 13. 用来管理整个计算机系统的资源,包括对它们进行 ______ 、管理、监视和服务等的软件称为 ______ 。 解 用来管理整个计算机系统的资源,包括对它们进行 调度 、管理、监视和服务等的软件称为 操作系统 。 14. 浮点数加减运算过程中,需要经过 ______ 、尾数加减、______ 和舍入 4 个步骤。 解 浮点数加减运算过程中,需要经过 对阶 、尾数加减、 规格化 和舍入4个步骤。 +1 15. 在两个同号数相加时,当相加得到的 ______ 超出了 n 位数可表示的范围时出现这种情况,此时发生了 ______ 现象。 解 在两个同号数相加时,当相加得到的 结果 超出了 n 位数可表示的范围时出现这种情况,此时发生了 溢出 现象。 +2 16. 链接器在将多个可重定位文件组合成一个 ______ 时,主要完成 ______ 和重定位两个任务。 解 链接器在将多个可重定位文件组合成一个 可执行文件 时,主要完成 符号解析 和重定位两个任务。 +1 17. 进程可以看成是 ______ 的一次运行过程,因而它具有 ______ 的含义。 解 进程可以看成是 程序 的一次运行过程,因而它具有 动态 的含义。 18. 层次结构存储系统可以在 ______ 、______ 和价格方面达到较好的综合指标。 解 层次结构存储系统可以在 速度 、 容量 和价格方面达到较好的综合指标。 +1 19. 虚拟存储技术既解决了 ______ 受限的问题,又解决了多个程序共享 ______ 带来的安全等问题。 解 虚拟存储技术既解决了 编程空间 受限的问题,又解决了多个程序共享 主存 带来的安全等问题。 20. 内核空间的 I/O 软件由与设备无关的 I/O 软件、______ 程序和 ______ 程序等三个部分组成。 解 内核空间的 I/O 软件由与设备无关的 I/O 软件、 设备驱动 程序和 中断服务 程序等三个部分组成。 第三部分 名词解释题 +1 本大题共2小题,每小题3分,共6分。 21. 主频 解 主频(Clock Frequency)就是CPU主脉冲信号的时钟频率,是CPU时钟周期的倒数。。 +1 22. 重定位 解 重定位(Relocation)是指在程序加载到内存时,将程序中的地址调整为实际的内存地址的过程。由于程序在编译时通常假设自己被加载到某个固定的内存地址,而实际运行时可能被加载到不同的地址,因此需要通过重定位来修改程序中的地址引用。重定位可以在编译时、链接时或加载时进行,常见的方法包括使用基址寄存器和偏移量等技术。重定位确保程序能够正确访问其数据和指令,从而保证程序的正常运行。 简洁的答案:重新确定代码和数据的地址,并更新指令中被引用符号地址的操作 +1 第四部分 简答题 +6 本大题共4小题,每小题6分,共24分。 23. 简述在递归深度较深时,递归调用的时间开销和空间开销都会较大的原因。 解 每个过程包含准备阶段和结束阶段,并在栈中新增一个栈帧(2分); 每增加一次过程调用,就要增加许多条包含在准备阶段和结束阶段的额外指令,并增加一个栈帧的空间(2分); 当递归调用深度较深时,这些额外指令的执行时间开销和栈帧的空间开销就会很大,有些情况下甚至发生栈溢出(2分)。 24. 简述计算机内部和外部需要进行数制转换的原因。 解 计算机内部所有信息都采用二进制编码表示(2分); 但在计算机外部,大都采用八、十或十六进制表示形式(2分); 因此,计算机在数据输入后或输出前都必须实现这些进制数和二进制数之间的转换(2分)。。 25. 简述动态链接的共享性和动态性。 解 共享性:共享库中的代码段在内存只有一个副本,当应用程序在其代码中需要引用共享库中的符号时,在引用处通过某种方式确定指向共享库中对应定义符号的地址即可(3分); 动态性:共享库只有使用它的程序被加载或执行时才加载到内存(3分)。 26. 简述中断控制I/O方式的基本思想。 当需要进行I/O操作时,首先启动外设进行第一个数据的I/O操作,然后阻塞请求I/O的用户进程,并调度其他进程到CPU上执行,期间外设在设备控制器的控制下工作(2分); 外设完成I/O操作后,向CPU发送一个中断请求信号,CPU检测到该信号后,则进行上下文切换,调出相应的中断服务程序执行(2分); 中断服务程序将启动后续数据的I/O操作,然后返回到被打断的进程继续执行 第五部分 计算题 本大题共2小题,每小题10分,共20分。 27. 假定某程序 P 编译后生成的目标代码由 A、B、C、D 四类指令组成,它们在程序中所占的比例分别为 50%、20%、20%、10%,已知它们的 CPI 分别为 1、2、2、2。现重新对程序 P 进行编译优化,生成的新目标代码中 A 类指令条数减少了 50%,其他类指令的条数没有变。请回答下列问题: (1) 编译优化前后程序的 CPI 各是多少? (2) 假定程序在一台主频为 50MHz 的计算机上运行,则优化前后的 MIPS 各是多少? (3) 优化前后程序的运行时间各是多少? 解 CPI的定义:特指每条指令所需的平均时钟周期数 MIPS的定义:每秒钟执行的百万条指令数 问题分析与解答(Markdown版) 问题背景 程序 P 编译后生成 A、B、C、D 四类指令,比例分别为 50%、20%、20%、10% ,CPI 分别为 1、2、2、2 。 优化后,A 类指令条数减少 50% ,其他类指令条数不变。 计算机主频为 50MHz 。 (1) 优化前后的 CPI 计算 优化前 CPI 加权平均公式: $$ \text{CPI}_{\text{优化前}} = 50% \times 1 + 20% \times 2 + 20% \times 2 + 10% \times 2 = 0.5 \times 1 + 0.2 \times 2 + 0.2 \times 2 + 0.1 \times 2 = 1.5 $$ 优化后 CPI A 类指令比例调整: $$ \text{A 类新比例} = \frac{50% \times 50%}{1 - 50% \times 50%} = \frac{25%}{75%} = 33.33% $$ 其他类指令比例调整: $$ \begin{align*} \text{B 类新比例} &= \frac{20%}{75%} = 26.67% \ \text{C 类新比例} &= \frac{20%}{75%} = 26.67% \ \text{D 类新比例} &= \frac{10%}{75%} = 13.33% \end{align*} $$ 优化后 CPI 计算: $$ \text{CPI}_{\text{优化后}} = 33.33% \times 1 + 26.67% \times 2 + 26.67% \times 2 + 13.33% \times 2 = \frac{1}{3} + \frac{8}{15} + \frac{8}{15} + \frac{4}{15} = \frac{25}{15} \approx 1.67 $$ (2) 优化前后的 MIPS 计算 MIPS 公式 $$ \text{MIPS} = \frac{\text{主频(Hz)}}{\text{CPI}} \times 10^{-6} $$ 主频为 50MHz = $5 \times 10^7$ Hz。 优化前 MIPS $$ \text{MIPS}_{\text{优化前}} = \frac{5 \times 10^7}{1.5} \approx 3.333 \times 10^7 \quad \text{即} \quad 33.33 \text{ MIPS} $$ 优化后 MIPS $$ \text{MIPS}_{\text{优化后}} = \frac{5 \times 10^7}{1.67} \approx 2.994 \times 10^7 \quad \text{即} \quad 29.94 \text{ MIPS} $$ (3) 优化前后的运行时间计算 总指令数假设 设优化前总指令数为 $N$,则优化后总指令数为: $$ N_{\text{优化后}} = N \times (1 - 50% \times 50%) = 0.75N $$ 运行时间公式 $$ \text{运行时间} = \frac{\text{总指令数} \times \text{CPI}}{\text{主频}} $$ 优化前运行时间 $$ \text{时间}_{\text{优化前}} = \frac{N \times 1.5}{5 \times 10^7} = \frac{1.5N}{5 \times 10^7} $$ 优化后运行时间 $$ \text{时间}_{\text{优化后}} = \frac{0.75N \times 1.67}{5 \times 10^7} = \frac{1.2525N}{5 \times 10^7} $$ 运行时间对比 $$ \frac{\text{时间} {\text{优化后}}}{\text{时间} {\text{优化前}}} = \frac{1.2525N / 5 \times 10^7}{1.5N / 5 \times 10^7} = \frac{1.2525}{1.5} \approx 0.835 $$ 即优化后运行时间约为优化前的 83.5% ,性能提升。 最终答案 指标 优化前 优化后 CPI 1.5 1.67 MIPS 33.33 29.94 运行时间 $1.5N/5 \times 10^7$ $1.2525N/5 \times 10^7$ 28. 某计算机按字节编址,其中已配置有 0000~7FFFF 的 ROM 区。现在用 16K×4 位的 RAM 芯片形成 32K×8 位的 RAM 存储区,CPU 地址线为 $A_{15} \sim A_0$。请回答下列问题: (1) RAM 区的地址范围是什么?共需多少个 RAM 芯片?地址线中哪一位用来区分 ROM 和 RAM 区? (2) 假定 CPU 地址线改为 24 根,地址范围 000000~007FFFF 为 ROM 区,剩下所有地址空间都用 16K×4 位的 RAM 芯片配置,则需要多少个 RAM 芯片? (1) RAM 区的地址范围、芯片数量及地址线区分 RAM 地址范围 已知 ROM 区占 0000H~7FFFFH (16 位地址空间,共 64KB),对应低 32KB 空间。 剩余高 32KB 空间分配给 RAM,地址范围为 8000H~FFFFH 。 RAM 芯片数量计算 目标:构建 32K×8 位 RAM 存储区。 单个芯片规格: 16K×4 位 。 位扩展 :需 2 片并联实现 8 位数据宽度(每片提供 4 位)。 字扩展 :需 2 组并联芯片覆盖 32K 地址空间(每组 16K)。 总芯片数 :$2 \text{(位扩展)} \times 2 \text{(字扩展)} = 4 \text{ 片}$。 ROM/RAM 区分地址线 地址线最高位 $A_{15}$ 用于区分: $A_{15} = 0$:访问 ROM 区( 0000H~7FFFFH )。 $A_{15} = 1$:访问 RAM 区( 8000H~FFFFH )。 (2) 24 位地址线下的 RAM 芯片需求 地址空间分析 总地址空间:$2^{24} = 16\text{MB}$( 000000H~FFFFFFH )。 ROM 区: 000000H~007FFFFH (占前 8MB)。 剩余 RAM 区:$16\text{MB} - 8\text{MB} = 8\text{MB}$( 0080000H~FFFFFFH )。 芯片数量计算 单个芯片容量:$16\text{K} \times 4\text{ 位} = 16 \times 1024 \times 4 = 65,536\text{ 位}$。 RAM 区总容量:$8\text{MB} \times 8\text{ 位} = 8 \times 1024^2 \times 8 = 67,108,864\text{ 位}$。 芯片数量 :$\frac{67,108,864}{65,536} = 1024 \text{ 片}$。 最终答案 问题部分 答案 (1) RAM 地址范围 8000H~FFFFH RAM 芯片数量 4 片(需位扩展 + 字扩展) 区分地址线 $A_{15}$(最高位地址线) (2) RAM 芯片需求 1024 片(24 位地址空间下覆盖剩余 8MB) 第六部分 分析设计题 本大题共2小题,每小题10分,共20分。 29. 假设 $R[ax] = FFFAH$,$R[bx] = FFF00H$,则执行 Intel 格式指令“add ax,bx”后,AX、BX 中的内容各是什么?标志寄存器 CF、OF、ZF、SF 各是多少?要求分别将操作数作为无符号整数和带符号整数来解释并验证指令执行结果。 十六进制加法计算:FFA H + FFF00 H 步骤解析 对齐数字位数 将两数补齐为五位: 00FFA + FFF00 对应位对齐如下: 00FFA + FFF00 -------- 从右至左逐位相加(含进位) 个位(16⁰) :A(10) + 0 = A ,进位0 十位(16¹) :F(15) + 0 = F ,进位0 百位(16²) :F(15) + F(15) = 30 → 30 ÷ 16 = 1余14 → E ,进位1 千位(16³) :F(15) + F(15) + 进位1 = 31 → 31 ÷ 16 = 1余15 → F ,进位1 万位(16⁴) :0 + F(15) + 进位1 = 16 → 16 ÷ 16 = 1余0 → 0 ,进位1 十万位(16⁵) :进位1 → 1 合并结果 从高位到低位: 1 (十万位) + 0 (万位) + F (千位) + E (百位) + A (个位) 最终结果: 100FEA H 验证(十进制转换) FFA H = 15×256 + 15×16 + 10 = 4090 FFF00 H = 15×65536 + 15×4096 + 15×256 = 1,048,320 和 = 4090 + 1,048,320 = 1,052,410 1,052,410 转十六进制 : 1,052,410 ÷ 16 → 余数序列:$A → F → E → 0 → 0 → 1 →$ $100FEA H$ 最终答案 ax=FFFAH,bx = 100FEA H 30. 假定 cache 采用全相联方式,主存块大小为 64B,按字节编址。cache 数据区大小为 1KB,主存空间大小为 256KB。试回答下列问题: (1) 主存地址如何划分? (2) 说明 CPU 对主存单元 0240CH 的访问过程。 计算机系统原理试题第3页(共3页)