近年来,多核技术已被广泛应用于众多安全关键领域(如:航空航天等)的电子设备中,面向多核技术的并行程序设计方法已成为软件人员急需掌握的主要技能之一。某宇航公司长期从事宇航电子设备的研制工作,随着宇航装备能力需求的提升,急需采用多核技术以增强设备的运算能力、降低功耗与体积,快速实现设备的升级与换代。针对面向多核开发,王工认为多核技术是对用户程序透明的,开发应把重点放在多核硬件架构和硬件模块设计上面,而软件方面,仅仅需要选择一款支持多核处理器的操作系统即可。而李工认为,多核架构能够使现有的软件更高效地运行,构建一个完善的软件架构是非常必要的。提高多核的利用率不能仅靠操作系统,还要求软件开发人员在程序设计 中考虑多进程或者多线程并行处理的编程问题。
【问题1】(12分)
请用300字以内文字说明什么是多核技术和多线程技术,并回答李工的意见是否正确,为什么?
【问题2】(6 分)
在多核环境下,线程的活动有并行和并发两种方式,请用300字以内的文字说明这两种方式的含义及差别。
【问题3】(7 分)
请根据自己所掌握的多核、多线程的知识,判别表 3-1给出的说法是否正确,并将答案写在答题纸上对应空白处(填写正确或错误)。
表3-1 关于多核和单核体系结构的说明
【问题1】
多核是多微处理器核的简称,是将两个或更多的独立处理器封装在一起,集成在一个电路中。多核处理器是单枚芯片(也称为硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。通过在多个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。
多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。
李工的意见是正确的。多核处理器虽然带来了强大的计算能力,但如果无法实现程序的并行,那么,大量计算资源将被闲置,造成巨大的浪费。所以在开发中,要注重多核编程技术,从并行计算、共享资源分布式计算、任务分解与调度、Lock-Free编程等方面充分考虑相关问题,以便将多核处理器的性能充分发挥出来。
【问题2】
如果某个系统支持两个或者多个动作(Action)同时存在,那么这个系统就是一个并发系统,即系统中同时有多个线程,可以认为是并发的情况。
如果某个系统支持两个或者多个动作同时执行,那么这个系统就是一个并行系统。当系统中有多个线程,并在同一时刻有两个,或两个以上的线程在运行状态,可认为是并行系统。
问题3
(1)√ (2)√ (3)× (4)√ (5)× (6)× (7)√
( )is the process of transforming information so it is unintelligible to anyone but the intended recipient.
As each application module is completed,it undergoes( )to ensure that it operates correctly and reliably.
( )algorithm specifies the way to arrange data in a particular order.
After analyzing the source code,( )generates machine instructions that will carry out the meaning of the program at a later time.
( )can help organizations to better understand the information contained within the data and will also help identify the data that is most important to the business and future business decisions.
浏览器开启无痕浏览模式后,( )依然会被保存下来。
下列协议中,不属于TCP/IP协议簇的是( )。
下列传输介质中,带宽最宽、抗干扰能力最强的是( )。
数控编程常需要用参数来描述需要加工的零件的图形。在平面坐标系内,确定一个点需要2个独立的参数,确定一个正方形需要( )个独立的参数。
某书的页码为1,2,3,...,共用数字900个(一个多位数页码包含多个数字),据此可以推断,该书最大的页码为( )。