2010下半年软件评测师上午试题解析:地址计算与输入输出控制

需积分: 10 5 下载量 125 浏览量 更新于2024-07-31 收藏 368KB PDF 举报
在2010年下半年的软件评测师上午试题中,考察了一些基础的计算机硬件和系统知识。试题主要围绕存储器组织、输入输出控制、数据表示以及基本的计算机架构展开。 第一个问题涉及了存储器的地址计算。题目描述了一个16K*8位的存储器由2K*4位的芯片组成,且地址范围从OOOOH到3FFFH。要找到地址单元0B1FH所在的芯片,由于每个芯片的地址空间是连续的,我们需要确定这个地址在哪个2K范围内。0B1FH转换为十进制是2735,由于每片芯片2K地址空间,我们可以用2735除以2048(2的11次方,即2K),余数就是该地址在当前芯片内的偏移量。计算得出2735 % 2048 = 735,这意味着0B1FH位于2048地址之后,距离最近的2K边界还有735个地址。因此,地址单元0B1FH所在的芯片应该是从2048开始的下一个,即最小地址编号为2000H(每个芯片地址范围为0000H到FFFFH,加1得到最小地址)。 第二个问题是关于输入输出控制方式的选择。程序控制输入输出(Programmed I/O,PIO)需要CPU全程参与数据传输;中断(Interrupt)虽然可以在一定程度上减少CPU的介入,但仍然需要处理中断请求;而DMA(Direct Memory Access)方式下,设备可以直接与内存交换数据,无需CPU干预,符合题意。 第三个问题涉及溢出判断。在8位补码表示下,加法运算中,当结果超过最大值(对于有符号数是127)或小于最小值(-128)时会产生溢出。选项A(127+1)会溢出,因为它超过了8位补码的最大值。 第四个问题考察的是内存容量和总线宽度的关系。4GB内存意味着地址空间是32位,但字长为32位并不意味着数据总线宽度也是32位。根据内存容量,地址总线宽度至少为32位(2的32次方对应4GB),而数据总线宽度取决于单个存储单元的位宽,一般不会大于地址总线宽度。因此,答案可能是B(地址总线宽度为30,数据总线宽度为32),但这题可能需要具体题目中的额外信息来确定。 最后一个问题涉及汇编语言编程中的寄存器。在汇编语言中,程序员通常可以直接使用的寄存器包括通用寄存器,比如累加器、标志寄存器等,而不是像存储器地址寄存器(MAR)这样的硬件特定寄存器,因为这些是由CPU内部管理的,程序员一般不直接操作。 这份试题涵盖了计算机系统的基本原理,包括存储器结构、输入输出控制、数据运算以及汇编语言编程的基础概念,旨在测试考生对于计算机硬件和系统理解的深入程度。