多核程序设计最重要的.docx
- 文档编号:17104253
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:9
- 大小:35.87KB
多核程序设计最重要的.docx
《多核程序设计最重要的.docx》由会员分享,可在线阅读,更多相关《多核程序设计最重要的.docx(9页珍藏版)》请在冰点文库上搜索。
多核程序设计最重要的
一、多项选择
1.计算机的硬件工艺发展的顺序是:
(A)
A.电子管数字计算机、晶体管数字计算机、集成电路数字计算机、大规模集成电路数字计算机。
B.晶体管数字计算机、电子管数字计算机、集成电路数字计算机、大规模集成电路数字计算机。
C.电子管数字计算机、集成电路数字计算机、大规模集成电路数字计算机、晶体管数字计算机。
D.电子管数字计算机、集成电路数字计算机、晶体管数字计算机、大规模集成电路数字计算机
2.下面关于Intel8086芯片与8088芯片的描述,不正确的是:
(D)
A.8086是第一个16位的微处理器。
B.8088是第一个16位的微处理器。
C.8086每周期能传送或接受16位整数。
D.8088每周期能传送或接受16位整数。
3.针对内存的速度瓶颈,英特尔为80386设计了--------来解决这个速度瓶颈:
(B)
A.虚拟86.
B.高速缓存(Cache).
C.浮点运算单元。
D.多媒体扩展指令集。
4.对一个具体的问题做性能优化时,可以同时在这多个层次上考虑可能的优化手段,一般来说:
(AB)
A.在越高的层次上进行优化,可能获得的效益越高。
B.在越高的层次上进行优化工作则相对越容易实现。
C.在越高的层次上进行优化,可能获得的效益越低。
D.在越低的层次上进行优化工作则相对越难于实现。
5.VTune性能分析器中的取样功能有哪几种方式?
(AC)
A.基于时间取样
B.随机取样。
C.基于事件取样。
D.线性取样。
6.Intel调优助手能够给我们自动推荐代码改进方法,主要有以下哪些方面?
(BCD)
A.算法自动改进。
B.处理器瓶颈以及改进。
C.取样向导增强。
D.超线程。
7.使用-O3编译选项所得的程序,执行效率比使用-O2编译选项所得的程序--:
(D)
A.高
B.低
C.一样
D.不一定
8.对于函数调用的边际效应,以下表述不正确的是:
(B)
A.只要函数在调用的过程中改变了某些全局变量的值,我们就称函数调用中有边际效应。
B.存在边际效应的函数调用,其调用次数的不同会对整个程序的行为产生不同的影响。
C.为了避免函数调用的边际效应,就必须尽量避免使用全局变量,尽量使用局部变量。
D.编译器无法检测出函数调用中是否会产生边际效应,。
。
。
移出循环体外。
9.对于一个优化的编译器,以下表述不正确的是:
(D)
A.编译器负责其中的寄存器分配的优化。
B.编译器负责其中的代码选择及有限重组的优化。
C.编译器进行一些局部范围内的优化。
D.优化的编译器能够改进算法的计算复杂度。
10.以下表述不正确的是:
(D)
A.在传统的操作系统中,CPU调度和分派的基本单位是进程。
B.在引入线程的操作系统中,则把线程作为CPU调度和分派的基本单位。
C.同一进程中线程的切换不会引起进程切换,从而避免了昂贵的系统调用。
D.由一个进程中的线程切换到另一进程中的线程时,也不会引起进程切换。
11.以下表述不正确的是:
(AC)
A.在引入线程的操作系统中,进程之间可以并发执行。
B.在引入线程的操作系统中,一个进程中的多个线程之间不可以并发执行。
C.进程是拥有系统资源的一个独立单位,它可以拥有自己的资源。
D.线程是拥有系统资源的一个独立单位,它可以拥有自己的资源
12.以下表述不正确的是:
(A)
A.用户级线程在用户层通过线程库来实现。
对它的创建、撤销和切换要利用喜用的调用。
B.核心级线程由操作系统直接支持,即无论是在用户进程中的线程,还是系统进程中的线程,它们的创建、撤销和切换都由核心实现。
C.硬件线程就是线程在硬件执行资源上的表现形式。
D.用户级线程通过操作系统被作为核心级线程实现,再通过硬件相应的接口作为硬件线程来执行。
13.对于操作系统中的线程,以下表述不正确的是:
(D)
A.操作系统中存在两种类型的线程,I/O阻塞线程和计算非阻塞线程。
B.IO阻塞线程主要用于有交互式的程序中,它在大多数时间内都在等待外部事件。
C.计算非阻塞线程在大多数时间内都是被调度函数调用到的,应该和处理器资源相匹配。
D.在处理IO阻塞线程的时候要依次地等待每个请求完成才继续处理下一个请求。
14.I/O阻塞线程----引起时间片切换开销,计算非阻塞线程----引起时间片切换的开销。
(A)
A.不会,会。
B.会,不会。
C.都会。
D.都不会。
15.以下表述错误的是:
(D)
A.OpenMP可以根据目标系统尽量使用最优数量的线程个数。
B.使用线程池可以避免为每个线程创建进程的开销。
C,线程池通常具有最大线程数限制,如果所有线程都繁忙,而额外的任务将放入队列中,直到有线程可用时才能够得到处理。
D.对于有优先级的线程,也可以使用线程池。
16.调用exit会使----进程终止;调用pthread_exit会使----进程终止。
(B)
A.整个,整个。
B.整个,调用。
C.调用,调用。
D.整个,整个。
17.如果多个线程同时执行函数的多个活动请求面不会相互干扰,那么这个函数是----,如果会相互干扰,那么这个函数是----。
(A)
A.线程安全,非线程安全。
B.都是线程安全。
C,都是非线程安全。
D.非线程安全,线程安全。
18.用户级线程开销很----,内核线程开销很----。
(C)
A.高,高。
B.高,低。
C.低,高。
D.低,低。
19.下列说法哪个是不正确的:
(A)
A.应用程序可以在内存中找到内核对象的数据结构并直接改变它们的内容。
B.内核对象都是通过调用函数来创建的。
C.内核对象的数据结构只能被内核程序访问。
D.Windows提供了一组函数,以使用定义的很好的方法来对内核对象的数据结构进行操作。
20.下面哪个说法是正确的:
(AB)
A.每个进程被初始化时,系统为它分配一个句柄表,用于保存该进程使用的内核对象信息。
B.相同的句柄值在不同的进程中可能标识不同的内核对象。
C.一个进程终止执行,它使用的内核对象也会被撤销。
D.内核对象是由进程拥有的。
21.下列说法哪个是不正确的:
(C)
A.进程是线程的容器。
B.单个进程可以包含多个线程。
C.进程中不一定有线程。
D.Win32中有专门的创建进程的API:
CreateProcess
22.OpenMP标准诞生于----年:
(B)
A.1996
B.1997
C.1998
D.1999
23.以下表述不正确的是:
(C)
A.OpenMP是一种面向共享内存以及分布式共享内存的多处理器多线程并行编程语言。
B.OpenMP是一种能够被用于显示指导多线程、共享内存并行的应用程序编程接口(API)。
C.OpenMP的规范由ANSI发起,由一组主要的计算机硬件和软件厂商共同制定并认可。
D。
OpenMP能够支持多种平台,包括大多数的类UNIX系统以及WindowsNT系统。
24.在OpenMP的并行编程模型中,所有的处理器都连接到----的内存单元上,处理器在访问内存的时候使用的是----的内存地址空间。
(D)
A.不同,相同。
B.不同,不同。
C.一个共享,不同。
D.一个共享,相同。
25.一个指令中的操作数地址,可以有----个。
(ABCD)
A.0 B.1 C.2 D.3
二、简答
1.什么是并行计算机及其组成部分?
答:
并行计算机是由一组处理单元组成的,这组处理单元通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。
组成部分:
计算节点和节点间的通信与协作机制。
2.常见的调度策略有哪些?
答:
先到先服务、最短作业调度、优先级调度、轮转法调度、多级队列调度。
3.Jackson优化定律是什么?
答:
定律1:
不要进行优化。
定律2:
(仅针对专家)“除非你已经有了一个相当清晰可靠的非优化版本的实现,否则你不要试图对程序进行优化”。
4.一个好的测试数据集必须要具备的特点是什么?
答:
(1)可衡量性
(2)可重复性(3)静态的(4)有代表性
5.Amdahl定律的内容及含义是什么?
答:
内容:
对于整个程序优化后可能达到的加速比取决于程序可优化部分占程序执行时间总体的比例。
含义:
即使对程序的可优化部分进行最高限度的性能改进,其对程序整体性能的改进仍然受限于可优化部分占程序总体的比例,而并不随所用优化手段的提高而提高。
6.多核处理器的性能调优方法受哪些因素限制?
答:
(1)编译器永远不能改变程序在任何情况下的行为。
(2)编译器很难进行过时间、全局性的优化。
(3)编译时间必须尽可能的短。
7.体系结构无关的性能调优方法?
答:
(1)消除循环不变量
(2)减少过程调用(3)消除不必要的内存存取
8.Intel多核处理器微体系结构中对代码优化的支持都有哪些?
答:
(1)取指和预解码的优化
(2)指令队列的优化(3)解码的优化
(4)执行核心的优化(5)内存的优化
9.用户级线程、核心线程和硬件线程的区别有哪些?
答:
(1)用户级线程:
在用户层通过线程库来实现。
对它的创建、撤销和切换都不利用系统的调用。
(2)核心级线程:
由操作系统直接支持,即无论是在用户进程中的线程,还是系统进程中的线程,它们的创建、撤销和切换都由核心实现。
(3)硬件线程:
就是线程在硬件执行资源上的表现形式。
10.线程的生命周期有哪些?
画图并对每个状态进行解释
答:
(1)就绪状态:
该线程运行所需的一切条件都得到满足,已获得必要的资源和设备。
但因处理器资源个数少于线程个数,所以该线程不能运行,而必须位于队列中等待分配处理器资源。
(2)运行状态:
线程在处理器上处于运行的状态,该线程已获得必要的资源和设备,也获得了CPU,用户程序正在处理器行运行。
(3)等待状态:
线程等待某种事件完成而暂时不能运行的状态,处于该状态的线程不能参加竞争处理器资源,此时,即使系统分配给该线程处理器也不能运行。
11.多线程程序设计中的常见问题及解决方法是什么?
答:
常见问题:
(1)由于线程共享同一进程的内存空间,多个线程可能需要同时访问同一个数据。
(2)对共享数据的并发访问可能导致数据的不一致性。
(3)如果没有正确的保护措施,对共享数据的访问会造成数据的不一致和错误。
(4)竞争条件:
若干进程并发地访问并且操纵共享数据的情况;共享数据的值取决于那个进程最后完成;防止竞争条件,并发进程必须被同步。
继续阅读
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多核 程序设计 最重要