并行性的概念
并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。只要在时间上相互重叠,就存在并行性。同时性:两个或两个以上的事件在同一时刻发生。并发性:两个或两个以上的事件在同一时间间隔内发生。
从处理数据的角度来看,并行性等级从低到高可分为:
字串位串:每次只对一个字的一位进行处理。最基本的串行处理方式,不存在并行性。
字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。
字并位串:同时对许多字的同一位进行处理,具有较高的并行性。
字并位并:同时对许多字的全部位或部分位进行处理。最高一级的并行。
从执行程序的角度来看,并行性等级从低到高可分为:
指令内部并行:单条指令中各微操作之间的并行。
指令级并行:并行执行两条或两条以上的指令。
线程级并行:并行执行两个或两个以上的线程。通常是以一个进程内派生的多个线程为调度单位。
任务级或过程级并行:并行执行两个或两个以上的过程或任务(程序段)以子程序或进程为调度单元。
作业或程序级并行:并行执行两个或两个以上的作业或程序。
提高并行性的技术途径
时间重叠:引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部件,以加快硬件周转而赢得速度。
资源重复:引入空间因素,以数量取胜。通过重复设置硬件资源,大幅度地提高计算机系统的性能。
资源共享:这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。