1. 什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性
原理?
答:程序的局部性原理,即程序的地址访问流有很强的时序相关性,未来的访问模式与最近已发生的访问模式相似。根据这一局部性原理,把主存储器中访问概率最高的。程序运行的局部性原理指在一小段时间内,最近被访问过的程序和数据很可能再次被访问。在空间上这些被访问的程序和数据往往集中在一小片存储区。在访问顺序上指令顺序执行比转移执行的可能性大。存储系统中Cache-主存层次和主存-辅存层次均采用了程序访问的局部性原理。
2. 简述计算机的中断处理过程与调用子程序程序的区别。 答:两者的根本区别表现在服务时间和服务对象上不一样。
1)调用子程序发生的时间是已知的和固定的,即在主程序的调用指令(CALL)执行时发生主程序调用子程序过程,调用指令所在位置是已知的和固定的;而中断过程发生的时间一般是随机的,CPU在执行某一主程序时受到中断源提出的中断申请,就发生中断过程,而中断申请一般由硬件电路产生,申请时间是随机的。也可以说,调用子程序是程序设计者事先安排好的,而执行中断服务程序是由系统工作环境随机决定的。
2)子程序完全为主程序服务,两者属于主从关系。主程序需要子程序时就去调用子程序,并把调用结果带回主程序继续执行。而中断服务程序与主程序二者一般是无关的,两者是平行关系。
3)主程序调用子程序的过程完全属于软件处理过程,不需要专门的硬件电路,而中断处理系统是一个软、硬件结合的系统,需要专门的硬件电路才能完成中断处理的过程。
4)子程序嵌套可以实现若干级,嵌套的最多级数受计算机内存开辟的堆栈大小限制;而中断嵌套级数主要由中断优先级来决定,一般优先级不会很大。
从宏观上看,虽然程序中断方式克服了程序查询方式中CPU\踏步\现象,实现了CPU与IO并行工作,提高了CPU的资源利用率,但从微观操作分析,CPU在处理中断程序时,仍需暂停原程序的正常运行,尤其是当高速I/O设备或辅助存储器频繁地、成批地与主存交换信息时,需不断打断CPU执行现行程序,而执行中断服务程序。 另解:
1)子程序调用是预先安排好的,程序中断是随机发生的;
2)调用子程序,是为主程序服务的,而中断程序与主程序的程序毫无关系; 3)子程序是由调用指令给出目标地址,中断是通过隐指令获得中断服务程序的入口地址
3. 简述risc和cisc的区别。
RISC是精简指令集计算机的简称,其特点是指令集简单、指令编码较为规范、易用流水线的技术提高性能、一般采用load-store结构、通用寄存器的个数较多,优点是设计简单、主频高,缺点是程序较大、依赖编译器的优化。 CISC是复杂指令集计算机的简称,其特点是指令集复杂、指令条数多、指令编码不规范、流水线的实现较复杂、一般支持多种寻址方式,优点是程序较小、编译器的要求较低,缺点是设计复杂、主频较低。
1
4. 简要描述外设进行 DMA 操作的过程及 DMA 方式的主要优点。
(1)外设发出 DMA 请求;
(2)CPU 响应请求,DMA 控制器从 CPU 接管总线的控制; (3)由 DMA 控制器执行数据传送操作;
(4)向 CPU 报告 DMA 操作结束。主要优点是数据数据速度快
简要DMA 控制器的组成和操作的过程。
(1)内存地址计数器:用于存放内存中要交换的数据的地址。在 DMA传送前,须通过程序将数据在内存中的起始位置(首地址)送到内存地址计数器。而当 DMA 传送时,每交换一次数据,将地址计数器加“1”,从而以增量方式给出内存中要交换的一批数据的地址。
(2)字计数器:用于记录传送数据块的长度(多少字数)。其内容也是在数据传送之前由程序预置,交换的字数通常以补码形式表示。在DMA传送时,每传送一个字,字计数器就加“1”。当计数器溢出即最高位产生进位时,表示这批数据传送完毕,于是引起DMA控制器向CPU发出中断信号。
(3)数据缓冲寄存器:用于暂存每次传送的数据(一个字)。当输入时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备。 (4)“DMA请求”标志:每当设备准备好一个数据字后给出一个控制信号,使“DMA 请求”标志置“1”。该标志置位后向“控制/状态”逻辑发出DMA请求,后者又向CPU发出总线使用权的请求(HOLD),CPU响应此请求后发回响应信号HLDA,“控制/状态”逻辑接收此信号后发出DMA响应信号,使“DMA 请求”标志复位,为交换下一个字做好准备。
(5)“控制/状态”逻辑:由控制和时序电路以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对“DMA请求”信号和CPU响应信号进行协调和同步。
(6)中断机构:当字计数器溢出时,意味着一组数据交换完毕,由溢出信号触发中断机构,向CPU提出中断报告。
2
5. 现有如下存储芯片:2K×1 的ROM 、4K×1 的RAM 、8K×1 的ROM。若
用它们组成容量为16KB 的存储器,前4KB 为ROM ,后12KB 为RAM ,CPU 的地址总线16 位。 (1) 各种存储芯片分别用多少片?
(2) 正确使用译码器及门电路,并画出相应的逻辑结构图。 (3) 指出有无地址重叠现象。
解:(1) 16片2K×1 的ROM 、24片4K×1 的RAM (2)见下图:
(3)有地址重叠现象。因为地址线A14A15没有参加译码。 地址分配:
逻辑结构图:
3