您的位置:首页 > 其它

【1.9】系统漫游——几个关键概念

2012-12-14 21:37 363 查看
为了后期学习方便,这里需要对几个关键概念进行阐述。

1、并发和并行

这里以单处理器系统为例进,并发是个宏观概念,指在某一时间段内有超过1个的进程在处于活动状态;并行是个微观概念,指在某一时刻就有超过1个的进程处于活动状态。显然,单处理器系统是无法实现并行的,只能实现并发。处理器只能以时间片为单位,依次执行活动进程。

并发和并行的思想在计算机的多个抽象层次上都有所体现,这里以层次从高到低的顺序讨论3层。

(1)线程级别并发

线程的产生就是为了更好的处理并发,减少系统开销。单处理机系统中cpu在各个线程中切换执行,来达到“同时”处理多个任务的目的。后来出现了多处理机系统,典型的就是一个cpu多个core,每个core可以单独执行线程流,各个core之间有独立缓存也共享一部分缓存(intel和amd不一样)。超线程技术:就是在一个物理cpu内核中,模拟多个cpu硬件资源,包括计数器PC和寄存器文件等,当某个线程处于暂时等待时,cpu快速切换到另一个线程,更高效的利用cpu资源。

多处理技术可以在2个方面提高系统性能:首先,当执行多个任务时减少了任务之间切换频率;其次,如果是单任务那么单任务的多个线程之间可以更好的并行处理。单任务的多线程并发就涉及到程序设计方案了,需要程序的支持,并行处理编程也是现在的难点之一。

(2)指令级别并行

更低层次的并行就是指令级别的并行了,现代处理器可以同一个时刻执行多个指令。这是在cpu设计时就考虑到的,例如当某一个电平转换时数据a有P1复制到P2,同时数据b也可以由P3复制到P4等等。同时cpu制造商还引入了多级流水线技术,就是把某一个执行的执行过程分成多个微指令,形成流水线式的结构,这样流水线上每个步骤的时间是不一样的,提前完成的流水线可以执行别的指令的相应动作。当然,流水线不是越多越好,这在历史上有过教训,inter的奔腾4处理器虽然频率很高,但是因为流水线过多导致拖累系统效率,后来又进行了流水线精简,同时类似的还有超标量处理技术。

(3)单指令多数据并行

现代cpu都有这样一种能力,同时并行运算多个数据,达到提高效率的目的。例如:单指令但数据时代,如果想处理a+b,则一个周期取出a,一个周期取出b,一个周期相加。而单指令多数据时代,则是一个周期取出a和b,一个周期相加,两个数据同时到位,通过这种方式提高效率。

2、抽象

从最底层的硬件开始到最上层的应用软件,计算机系统提供了多层抽象来屏蔽细节,所以说抽象(层)是计算机系统的最重要概念之一。要能从根本上理解这种思维,尤其是在进行开发过程中,要学会应用并指导实践。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: