计算机系统-并发和并行

并发:指一个同时具有多个活动的系统。

并行:指用并发来使一个系统运行地更快


并行可以在计算机系统的多个抽象层次上运用。按照系统层次结构中由高到低分为:线程级并发,指令级并行,

单指令、多数据并行。


1.线程级并发

1)使用线程,我们能够在一个进程执行多个控制流。这种并发执行只是模拟出来的,是通过一台计算机在它正在执行的进程间快速切换来实现的。有一个处理器来完成多个任务间切换的配置称为单处理器系统。


2)构建一个由单操作系统内核控制的多处理器组成的系统,称为多处理器系统。


一.多核处理器

多核处理器是将多个CPU集成到一个集成电路芯片上。典型多核处理器的组织结构—4核,其中微处理器芯片有4个CPU核,每个核都有自己的L1和L2高速缓存,其中L1高速缓存分为两个部分,一个保存最近取到的指令,另一个存放数据。这些核共享更高层次的高速缓存,以及到主存的接口。


二.超线程处理器

超线程,是一项允许一个CPU执行多个控制流的基数。它设计CPU某些硬件有多个备份,比如程序计数器和寄存器文件,而其他的硬件部分只有一份,比如执行浮点算术运算的单元。常规的处理器需要大约20000个时钟周期做不同线程间的转换,而超线程处理器可以在单个周期基础上决定要执行哪一个线程,这使得CPU能更好地利用它的处理资源。如今的4核处理器实际上可以并行地执行8个线程。


2.指令级并行

在较低的抽象层次上,现代处理器可以同时执行多条指令的属性称为指令级并行。最近的处理器可以保持每个时钟周期2~4条指令的执行速率。如果处理器可以达到比一个周期一条指令更快的执行速率,就称之为超标量。大多数现代处理器都支持超标量操作。我们可以通过这个模型理解程序的性能,写出更高程度的指令级并行性的程序代码,因此也运行的更快。


3.单指令、多数据并行

在最低层次上,许多现代处理器拥有特殊的硬件,允许一条指令产生多个可以并发执行的操作,这种方式称为单指令、多数据,即SMID并行。

提供这些SMID指令多是为了提高处理影像、声音和视频数据应用的执行速度。虽然有些编译器会试图从C程序中抽取SMID并行性,但是更可靠的办法是用编译器支持的特殊的向量数据类型来写程序,比如GCC就支持向量数据类型。


抽象:

常见的三个抽象:文件是对I/O设备的抽象,虚拟内存是对程序存储器的抽象,进程是对一个正在运行的程序的抽象。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值