阅读以下关于嵌入式多核程序设计技术的描述,回答问题1至问题3。 【说明】 近年来,多核技术己被广泛应用于众多安全关键领域(如:航空航天等)的电子设备中,面向多核技术的并行程序设计方法已成为软件人员急需掌握的主要技能之一。某宇航公司长期从事宇航电子设备的研制工作,随着宇航装备能力需求的提升,急需采用多核技术以增强设备的运算能力、降低功耗与体积,快速实现设备的升级与换代。针对面向多核开发,王工认为多核技术是对用户程序透明的,开发应把重点放在多核硬件架构和硬件模块设计上面,而软件方面,仅仅需要选择一款支持多核处理器的操作系统即可。而李工认为,多核架构能够使现有的软件更高效地运行,构建一个完善的软件架构是非常必要的。提高多核的利用率不能仅靠操作系统,还要求软件开发人员在程序设计中考虑多进程或者多线程并行处理的编程问题。 【问题1】(12分) 请用300字以内文字说明什么是多核技术和多线程技术,并回答李工的意见是否正确,为什么? 【问题2】(6分) 在多核环境下,线程的活动有并行和并发两种方式,请用300字以内的文字说明这两种方式的含义及差别。 【问题3】(7分) 请根据自己所掌握的多核、多线程的知识,判别表3-1给出的说法是否正确,并将答案写在答题纸上对应空白处(填写正确或错误)。
【问题 1】(12 分) 答案: 多内核是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核处理器是单枚芯片(也称为硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。通过在多个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。 多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。 李工的意见正确。多核处理器虽然带来了强大的计算能力,但如果无法实现程序的并行,那么,大量计算资源将被闲置,造成巨大的浪费。所以在开发中,要注重多核编程技术,从并行计算、共享资源分布式计算、任务分解与调度、Lock-Free编程等方面充分考虑相关问题,以便将多核处理器的性能充分发挥出来。 【问题 2】(6 分) 答案:并行是指两个或多个事件在同一时刻发生。并行源于系统存在多个(套)硬件资源,如多核cpu。 并发是指两个或多个事件在同一事件间隔内发生。从微观的角度看,还是串行的。如单cpu系统。 如果某个系统支持两个或者多个动作同时存在,那么这个系统就是一个并发系统。如果某个系统支持两个或者多个动作同时执行,那么这个系统就是一个并行系统。 【问题 3】(7 分) 答案:(1)√ (2)√ (3)× (4)√ (5)× (6)× (7)√