软件设计基础题

1 在CPU中,常用来为ALU执行算术逻辑运算提供数据并暂存运算结果的寄存器是(D)
A程序计数器 B状态寄存器 C通用寄存器 D累加寄存器
2 某机器字长为n,最高位是符号位,其定点整数的最大值为(B)
A 2n1 2 n − 1 B 2n11 2 n − 1 − 1 C 2n 2 n D 2n1 2 n − 1
3 海明码利用奇偶性检错和纠错,通过在n个数据位之间插入k个校验位,扩大数据编码的码距。若n=48,则k应为(C)
A4 B5 C6 D7
解析:海明码(也叫汉明码)具有一位纠错能力。编码确定校验码的位数x。
  设数据有n位,校验码有x位。则校验码一共有 2x 2 x 种取值方式。其中需要一种取值方式表示数据正确,剩下 2x1 2 x − 1 种取值方式表示有一位数据出错。因为编码后的二进制串有n+x位,因此x应该满足

2x1 2 x − 1 ≥ n+x

参考:https://blog.csdn.net/flyyufenfei/article/details/72235748
4 通常可将计算机系统中执行一条指令的过程分为取指、分析和执行指令3步。若取指令时间为4△t,分析时间为2△t,执行时间为3△t。按顺序方式从头到尾执行完600条指令所需时间为(5400)△t;若按照执行第一条,分析第i+1条,读取第i+2条重叠的流水线方式执行指令,则从头到尾执行完600条指令所需的时间为(2405)△t。
(1)按顺序执行则为串行方式,执行时间为所有步骤之和,600*(4△t+2△t+3△t)=5400△t
(2)流水线方式为并行执行,当第一条指令的读取完成后即可进行第二条指令的读取,无需等待第一条指令全部完成。
软件设计基础题_第1张图片
题目要求是若按执行第i条、分析第i+1条、读取第i+2条重叠,由上图假设第一个为第i条指令,后面依次为i+1和i+2条,可以满足要求的重叠条件,因此中途不需要产生停顿,根据流水线公式可求出执行时间为(600-1)*4△t+4△t+2△t+3△t=2405△t。
6 若用256k*8bit的存储器芯片,构成地址40000000H到400FFFFFH且按字节编址的内存区域,则需(A)片芯片。
A4 B8 C16 D32
内存区域从40000000H到400FFFFFH,则其拥有的字节数为:400FFFFFH-40000000H+1=100000H=2的20次方=1024K
该内存区域有1024k个字节,其空间表示为1024*8bit,
题干中给出一个芯片的空间容量为256K*8bit,需要的此空间大小的芯片数量为(1024K*8)/(256K*8)=4片。

你可能感兴趣的:(数据结构与算法笔面试)