单选题 嵌入式系统中采用中断方式实现输入/输出的主要原因是______。在中断时,CPU断点信息一般保存到______中。
单选题
  • A.速度最快
  • B.CPU不参与操作
  • C.实现起来比较容易
  • D.能对突发事件做出快速响应
【正确答案】 D
【答案解析】
单选题
  • A.通用寄存器
  • B.堆
  • C.栈
  • D.I/O接口
【正确答案】 C
【答案解析】在一般的操作系统中,输入/输出方式主要有以下几种。 (1)程序控制方式:CPU直接利用I/O指令编程,实现数据的I/O。CPU发出I/O命令,命令中包含了外设的地址信息和所要执行的操作,相应的I/O系统执行该命令并设置状态寄存器;CPU不停地(定期地)查询I/O系统以确定该操作是否完成。由程序主动查询外设,完成主机与外设间的数据传送,方法简单,硬件开销小。 (2)程序中断方式:CPU利用中断方式完成数据的I/O,当I/O系统与外设交换数据时,CPU无需等待也不必去查询I/O的状态,当I/O系统完成了数据传输后则以中断信号通知CPU。然后CPU保存正在执行程序的现场,转入I/O中断服务程序完成与I/O系统的数据交换。再然后返回原主程序继续执行。与程序控制方式相比,中断方式因为CPU无需等待而提高了效率。在系统中具有多个中断源的情况下,常用的处理方法有:多中断信号线法、中断软件查询法、雏菊链法、总线仲裁法和中断向量表法。 (3)DMA方式:使用DMA控制器(DMAC)来控制和管理数据传输。DMAC和CPU共享系统总线,并且具有独立访问存储器的能力。在进行DMA时,CPU放弃对系统总线的控制而由DMAC控制总线;由DMAC提供存储器地址及必须的读/写控制信号,实现外设与存储器之间进行数据交换。DMAC获取总线方式主要有三种,分别是暂停方式、周期窃取(挪用)方式和共享方式。 (4)通道:通道是一种通过执行通道程序管理I/O操作的控制器,它使主机与I/O操作之间达到更高的并行程度。在具有通道处理机的系统中,当用户进程请求启动外设时,由操作系统根据I/O要求构造通道程序和通道状态字,将通道程序保存在主存中,并将通道程序的首地址放到通道地址字中,然后执行“启动I/O”指令。按照所采取的传送方式,可将通道分为字节多路通道、选择通道和数组多路通道三种。 (5)输入/输出处理机(IOP):也称为外围处理机(PPU),它是一个专用处理机,也可以是一个通用的处理机,具有丰富的指令系统和完善的中断系统。专用于大型、高效的计算机系统处理外围设备的I/O,并利用共享存储器或其他共享手段与主机交换信息。从而使大型、高效的计算机系统更加高效地工作。与通道相比,IOP具有比较丰富的指令系统,结构接近于一般的处理机,有自己的局部存储器。 嵌入式系统中采用中断方式实现输入/输出的主要原因是能对突发事件做出快速响应。在中断时,CPU断点信启、一般保存到栈中。
单选题 希赛公司欲开发一个漫步者机器人,用来完成火星探测任务。机器人的控制者首先定义探测任务和任务之间的时序依赖性,机器人接受任务后,需要根据自身状态和外界环境进行动态调整,最终自动完成任务。针对这些需求,该机器人应该采用______架构风格最为合适。
  • A.解释器
  • B.主程序-子程序
  • C.隐式调用
  • D.管道-过滤器
【正确答案】 C
【答案解析】本题主要考查架构风格与架构设计策略。根据题目描述,漫步者机器人需要根据自身状态的外界环境进行自动调整,这是一个典型的根据外部事件进行响应的场景。比较4个候选项,隐式调用比较适合根据外部事件进行处理和动作的情景。
单选题 计算机执行程序时,在一个指令周期的过程中,为了能够从内存中读指令操作码,首先是将______的内容送到地址总线上。
  • A.程序计数器(PC)
  • B.指令寄存器(IR)
  • C.状态寄存器(SR)
  • D.通用寄存器(GR)
【正确答案】 A
【答案解析】本题考查指令的操作码。指令系统中的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。不同的指令用操作码这个字段的不同编码来表示,每一种编码代表一种指令。组成操作码字段的位数一般取决于计算机指令系统的规模。 程序计数器(PC)用于记录需要执行的下一条指令操作码的地址,所以在读指令操作码时,应将程序计数器的内容送到地址总线上。
单选题 希赛公司欲开发一个软件系统的在线文档帮助系统,用户可以在任何一个查询上下文中输入查询关键字,如果当前查询环境下没有相关内容,则系统会将查询按照一定的顺序转发给其他查询环境。基于上述需求,采用______最为合适。
  • A.责任链模式
  • B.桥接模式
  • C.装饰模式
  • D.适配器模式
【正确答案】 A
【答案解析】本题主要考查设计模式的理解与应用。根据题干描述,在线文档系统需要根据用户的查询需求逐步将查询请求依次传递,对比4个候选项,其中在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。因此责任链模式是能够满足该要求的最好模式。
单选题 以下关于Cache的叙述中,正确的是______。
  • A.在容量确定的情况下,替换算法的时间复杂度是影响Cache命中率的关键因素
  • B.Cache的设计思想是在合理的成本下提高命中率
  • C.Cache的设计目标是容量尽可能与主存容量相等
  • D.CPU中的Cache容量应大于CPU之外的Cache容量
【正确答案】 B
【答案解析】Cache的功能是提高CPU数据输入/输出的速率,突破所谓的“冯·诺依曼瓶颈”,即CPU与存储系统间数据传送带宽限制。高速存储器能以极高的速率进行数据的访问,但因其价格高昂,如果计算机的内存完全由这种高速存储器组成,则会大大增加计算机的成本。通常在CPU和内存之间设置小容量的Cache。Cache容量小但速度快,内存速度较低但容量大,通过优化调度算法,系统的性能会大大改善,仿佛其存储系统容量与内存相当而访问速度近似Cache。
Cache通常采用相联存储器(Content Addressable Memory,CAM)。CAM是一种基于数据内容进行访问的存储设备。当对其写入数据时,CAM能够自动选择一个未用的空单元进行存储;当要读出数据时,不是给出其存储单元的地址,而是直接给出该数据或者该数据的一部分内容,CAM对所有存储单元中的数据同时进行比较,并标记符合条件的所有数据以供读取。由于比较是同时、并行进行的,所以,这种基于数据内容进行读/写的机制,其速度比基于地址进行读/写的方式要快很多。
①Cache基本原理
使用Cache改善系统性能的依据是程序的局部性原理。程序访问的局部性有两个方面的含义,分别是时间局部性和空间局部性。时间局部性是指如果一个存储单元被访问,则可能该单元会很快被再次访问。这是因为程序存在着循环。空间局部性是指如果一个存储单元被访问,则该单元邻近的单元也可能很快被访问。这是因为程序中大部分指令是顺序存储、顺序执行的,数据一般也是以向量、数组、树、表等形式簇聚地存储在一起的。
根据程序的局部性原理,最近的、未来要用的指令和数据大多局限于正在用的指令和数据,或是存放在与这些指令和数据位置上邻近的单元中。这样,就可以把目前常用或将要用到的信息预先放在Cache中。当CPU需要读取数据时,首先在Cache中查找是否有所需内容,如果有,则直接从Cache中读取;若没有,再从内存中读取该数据,然后同时送往CPU和Cache。如果CPU需要访问的内容大多都能在Cache中找到(称为访问命中),则可以大大提高系统性能。
如果以h代表对Cache的访问命中率(“1-h”称为失效率,或者称为未命中率),t1表示Cache的周期时间,t2表示内存的周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为t3。则:
t3=t1×h+t2×(1-h)
系统的平均存储周期与命中率有很密切的关系,命中率的提高即使很小也能导致性能上的较大改善。
例如,设某计算机主存的读/写时间为100ns,有一个指令和数据合一的Cache,已知该Cache的读/写时间为10ns,取指令的命中率为98%,取数的命中率为95%。在执行某类程序时,约有1/5指令需要存/取一个操作数。假设指令流水线在任何时候都不阻塞,则设置Cache后,每条指令的平均访存时间约为:
(2%×100ns+98%×10ns)+1/5×(5%×100ns+95%×10ns)=14.7ns
②映射机制
当CPU发出访存请求后,存储器地址先被送到Cache控制器以确定所需数据是否已在Cache中,若命中则直接对Cache进行访问。这个过程称为Cache的地址映射(映像)。在Cache的地址映射中,主存和Cache将均分成容量相同的块(页)。常见的映射方法有直接映射、全相联映射和组相联映射。
·直接映射。直接映射方式以随机存取存储器作为Cache存储器,硬件电路较简单。直接映射是一种多对一的映射关系,但一个主存块只能够复制到Cache的一个特定位置上去。例如,某Cache容量为16KB(即可用14位表示),每块的大小为16B(即可用4位表示),则说明其可分为1024块(可用10位表示)。主存地址的最低4位为Cache的块内地址,然后接下来的中间10位为Cache块号。如果主存地址为1234E8F8H(一共32位),那么,最后4位就是1000(对应十六进制数的最后一位“8”),而中间10位,则应从E8F(1110 1000 1111)中获取,得到10 1000 1111。因此,主存地址为1234E8F8H的单元装入的Cache地址为10 1000 111 11000。
直接映射的关系可以用下列公式来表示:
K=I mod C
其中,K为Cache的块号,I为主存的页号,C为Cache的块数。
直接映射方式的优点是比较容易实现,缺点是不够灵活,有可能使Cache的存储空间得不到充分利用。例如,假设Cache有8块,则主存的第1页与第17页同时复制到Cache的第1块,即使Cache其他块空闲,也有一个主存页不能写入Cache。
·全相联映射。全相联映射使用相联存储器组成的Cache存储器。在全相联映射方式中,主存的每一页可以映射到Cache的任一块。如果淘汰Cache中某一块的内容,则可调入任一主存页的内容,因而较直接映射方式灵活。
在全相联映射方式中,主存地址不能直接提取Cache块号,而是需要将主存页标记与Cache各块的标记逐个比较,直到找到标记符合的块(访问Cache命中),或者全部比较完后仍无符合的标记(访问Cache失败)。因此,这种映射方式速度很慢,失掉了高速缓存的作用,这是全相联映射方式的最大缺点。如果让主存页标记与各Cache标记同时比较,则成本又太高。全相联映像方式由于比较器电路难于设计和实现,故只适用于小容量的Cache。
·组相联映射。组相联映射是直接映射和全相联映射的折中方案。它将Cache中的块再分成组,通过直接映射方式决定组号,通过全相联映射的方式决定
Cache中的块号。在组相联映射方式中,主存中一个组内的页数与Cache的分组数相同。
例如,容量为64块的Cache采用组相联方式映像,每块大小为128个字,每4块为一组,即Cache分为64/4=16组。若主存容量为4096页,且以字编址。首先,根据主存与Cache块的容量需一致,即每个内存页的大小也是128个字,因此一共有128×4096个字(219个字),即主存地址需要19位。因为Cache分为16组,所以主存需要分为4096/16=256组(每组16页),即28组,因此主存组号需8位。
按照上述划分方法,主存每一组的第1页映射到Cache的第1组,主存每一组的第2页映射到Cache的第2组,依此类推。因为主存中一个组内的页数与Cache的分组数相同,所以主存每一组的最后一页映射到Cache的最后一组。
要注意的是,有关组相联映射的划分方法不止一种。例如,还有一种方式是主存不分组,而是根据下列公式直接进行映射:
J=I mod Q
其中,J为Cache的组号,I为主存的页号,Q为Cache的组数。
在组相联映射中,由于Cache中每组有若干可供选择的块,因而它在映像定位方面较直接映像方式灵活:每组块数有限,因此付出的代价不是很大,可以根据设计目标选择组内块数。
③替换算法
当Cache产生了一次访问未命中之后,相应的数据应同时读入CPU和Cache。但是当Cache已存满数据后,新数据必须替换(淘汰)Cache中的某些旧数据。最常用的替换算法有以下三种。
·随机算法。这是最简单的替换算法。随机算法完全不管Cache块过去、现在及将来的使用情况,简单地根据一个随机数,选择一块替换掉。
·先进先出(First In and First Out,FIFO)算法。按调入Cache的先后决定淘汰的顺序,即在需要更新时,将最先进入Cache的块作为被替换的块。这种方法要求为每块做一记录,记下它们进入Cache的先后次序。这种方法容易实现,而且系统开销小。其缺点是可能会把一些需要经常使用的程序块(如循环程序)替换掉。
·近期最少使用(Least Recently Used,LRU)算法。LRU算法是把CPU近期最少使用的块作为被替换的块。这种替换方法需要随时记录Cache中各块的使用情况,以便确定哪个块是近期最少使用的块。LRU算法相对合理,但实现起来比较复杂,系统开销较大。通常需要对每一块设置一个称为“年龄计数器”的硬件或软件计数器,用于记录其被使用的情况。
④写操作
因为需要保证缓存在Cache中的数据与内存中的内容一致,相对读操作而言,Cache的写操作比较复杂,常用有以下几种方法。
·写直达(write through)。当要写Cache时,数据同时写回内存,有时也称为写通。当某一块需要替换时,也不必把这一块写回到主存中去,新调入的块可以立即把这一块覆盖掉。这种方法实现简单,而且能随时保持主存数据的正确性,但可能增加多次不必要的主存写入,会降低存取速度。
·写回(write back)。CPU修改Cache的某一块后,相应的数据并不立即写入内存单元,而是当该块从Cache中被淘汰时,才把数据写回到内存中。在采用这种更新策略的Cache块表中,一般有一个标志位,当一块中的任何一个单元被修改时,标志位被置“1”。在需要替换掉这一块时,如果标志位为“1”,则必须先把这一块写回到主存中去之后,才能再调入新的块;如果标志位为“0”,则这一块不必写回主存,只要用新调入的块覆盖掉这一块即可。这种方法的优点是操作速度快,缺点是因主存中的字块未随时修改而有可能出错。
·标记法。对Cache中的每一个数据设置一个有效位。当数据进入Cache后,有效位置“1”;而当CPU要对该数据进行修改时,数据只需写入内存并同时将该有效位置“0”。当要从Cache中读取数据时需要测试其有效位,若为“1”则直接从Cache中取数,否则,从内存中取数。
单选题 1台服务器、3台客户机和2台打印机构成了一个局域网(如图所示)。在该系统中,服务器根据某台客户机的请求,数据在一台打印机上输出。设服务器、各客户机及各打印机的可用性分别为a、b、c,则该系统的可用性为______。
【正确答案】 D
【答案解析】在试题给出的系统中,客户机之间是并联的(任何一台客户机出现故障,对其他客户机没有影响),同理,打印机之间也是并联关系。然后,客户机、服务器、打印机之间组成一个串联关系。因此,我们可以把该系统简化为如图所示的形式。 [*] 已知服务器、各客户机及各打印机的可用性分别为a、b、c,因此整个系统的可用性为R=(1-(1-b))a(1-(1-c))=a(1-(1-b))(1-(1-c))。
单选题 计算机系统中,在______的情况下一般应采用异步传输方式。
  • A.CPU访问内存
  • B.CPU与I/O接口交换信息
  • C.CPU与PCI总线交换信息
  • D.I/O接口与打印机交换信息
【正确答案】 D
【答案解析】根据外部设备与I/O模块交换数据的方式,系统接口可以分为串行接口和并行接口两种。串行接口一次只能传送1位信息,而并行接口一次就可传送多位信息。 串行通信又可分为异步通信方式和同步通信方式两种。同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。在异步通信中,数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。 异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。接收端必须时刻做好接收的准备,发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低;同步通信要求收发双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使收发双方建立同步,此后,便在同步时钟的控制下逐位发送和接收。 在本题中,CPU访问内存通常是同步方式,CPU与I/O接口交换信息通常是同步方式,CPU与PCI总线交换信息通常是同步方式,I/O接口与打印机交换信息则通常采用基于缓存池的异步方式。
单选题 电子政务根据其服务的对象不同,基本上可以分为4种模式。某市政府在互联网上提供的“机动车违章查询”服务,属于______ 模式。
  • A.G2B
  • B.G2C
  • C.G2E
  • D.G2G
【正确答案】 B
【答案解析】根据其服务对象的不同,电子政务基本上可以分为4种模式:政府对政府的电子政务(G2G)、政府对企业的电子政务(G2B)、政府对公众的电子政务(G2C)、政府对公务员的电子政务(G2E)。 以上4种模式是一种互动关系。政府部门是以两种身份来参与信息化建设的,它既是公共信息平台的使用者,也是建设的组织者,这两种身份相辅相成,互相促进。 ①政府对政府。在政府与政府之间,致力于政府办公系统自动化建设,促进信息互动、信息共享和资源整合,提高行政效率。主要包括电子法规政策系统、电子公文系统、电子司法档案系统、电子财政管理系统。 ②政府对企业。在政府与企业之间,致力于电子商务实践,营造安全、有序、合理的电子商务环境,引导和促进电子商务发展。主要包括电子采购与招标、电子税务、电子证照办理、信息咨询服务、中小企业电子服务。 ③政府对公众。在政府与公众之间,致力于网络系统、信息渠道和在线服务的建设,为民众提供获取更便捷、质量更佳、内容更多元化的服务。主要包括教育培训服务、就业服务、电子医疗服务、社会保险网络服务、公民信息服务、交通管理服务、公民电子税务、电子证件服务。 ④政府对公务员。随着电子政务的发展,政府部门对内部工作人员的电子政务被单独列出来,称为政府对公务员的电子政务模式。主要包括办公自动化系统、电子培训系统、业绩评价系统。 显然, “机动车违章查询”服务属于G2C。