1.为什么使用多体交叉存储器?
解: 为实现同时从存储器中取出n条指令,因此通过改变主存的组织方式,形成多体交叉存储器,在不改变存储器存取周期的情况下,提高存储器的带宽。
多体交叉存储器为并行存储器,适合采用流水线方式并行存取以提高存储器的带宽。其由M个存储体组成,每个存储体都有相同的容量和存取速度,又有各自独立的地址寄存器、地址译码器、读写电路和驱动电路。
2. 为什么使用虚拟存储器?
解: 为使存储系统的存取速度更快、价格更低,同时尽量弥补主存和辅存之间的容量差距,因此使用虚拟存储器。
虚拟存储器建立在主存-辅存物理结构基础上,由附加硬件装置以及操作系统存储管理软件组成的一种存储体系,它把主存和辅存的地址空间统一编址,形成一个庞大的存储空间,由操作系统的存储管理软件辅助一些硬件进行信息块的划分和主、辅存之间的调度。
用户编程指定的地址可涉及虚拟存储器辅存的空间范围,这种指令地址称为虚地址(或逻辑地址),对应存储空间称为虚拟空间(或逻辑空间)。实际的主存储器单元的地址称为实地址,即主存地址(或物理地址),对应的空间为主存空间(或物理空间)。
3.叙述“页式虚拟存储器”虚实地址转换的过程。
如上图所示,在页式虚拟存储器虚实地址转换过程中:
页表基址寄存器中存储页表基地址;虚拟存储器地址由逻辑页号、页内行地址两部分组成。
①页表基址寄存器传入页表基地址,同时虚拟存储器地址传入逻辑页号,两者相加得到页表地址,即页表地址=页表基地址+逻辑页号;
②页表地址中含有实页号,再将实页号作为物理页号,同时与虚拟存储器地址提供的页内行地址进行拼接,得到“物理页号-页内行地址”为主存地址,即完成虚实地址转换过程。
4. 叙述“段式虚拟存储器”虚实地址转换的过程。
如上图所示,在段式虚拟存储器虚实地址转换过程中:
段表基地址寄存器中存储段表基地址;虚拟存储器地址由段号、段内地址两部分组成。
①段表基址寄存器传入段表基地址,同时虚拟存储器地址传入段号,两者相加得到存储在主存的对应段表的段号,即主存中的段表段号=段表基地址+虚拟存储器地址中的段号;
②根据所得段号得到对应段的段起址,将段起址与虚拟存储器地址提供的段内地址相加,得到“主存地址”,即主存地址=段起址+段内地址,完成了虚实地址转换过程。
5.叙述“段页式虚拟存储器”虚实地址转换的过程。
如上图所示,在段页式虚拟存储器虚实地址转换过程中:
逻辑地址由基号、段号、页号、页内地址四部分组成。
①根据逻辑地址传入的基号在基址寄存器中找到对应的基址;
②将所得的基址与逻辑地址传入的段号相加得到相应程序段表中对应的段号,即程序段表中某段段号=基址+逻辑地址中的段号;
③根据所得相应程序段表中对应的段号,将段号对应的段表起始地址与逻辑地址提供的页号相加,得到对应的页表地址,即程序段表中某段中对应的页表地址=段号对应的段表起始地址+逻辑地址中的页号;
④将页表地址中的实页号作物理页号,同时与逻辑地址提供的页内地址进行拼接,得到“物理页号-页内地址”为物理地址,即完成虚实地址转换过程。
6.有一个(7,4)码,生成多项式为G(x)=x3+x+1,请写出代码0011的CRC校验码和海明码。
解:
(1)CRC校验码
由G(x)=x3+x+1得,对应的除数为1011。
∵待编码的有效信息为0011,作被除数,共有k=4位,
∴由 k+r≤2r-1得r=3,即有3个校验位
∴被除数左移3位得 0011000
∴由模2除法得余数为101
∴CRC码为 0011000+101=0011101
(2)海明码
①∵待编码的有效信息为0011,共有k=4位,
∴由 k+r≤2r-1得r=3,即有3个校验位
②对有效信息码和校验位进行分组,如下图所示:
③求校验位对应的值,如下图所示:
④由上述得p1p2b1p3b2b3b4=1000011
综上所述,CRC校验码为0011101,海明码为1000011。