计算机系统结构的发展与并行性是现代计算机科学中的核心议题,尤其在21世纪初,随着技术的进步,对计算性能的需求急剧增长,使得并行计算成为提升系统性能的关键手段。戴鸿君教授在2012年春季的《计算机系统结构》课程中详细探讨了这一主题。
课程介绍了并行性的基本概念。并行性是指在同一时刻或同一时间间隔内,同时进行两项或多项任务的能力。它可以分为同时性,即事件在同一时刻发生,以及并发性,即事件在同一时间间隔内发生但并不一定同时。这两种并行性在计算机系统设计中有着广泛的应用。
接着,课程探讨了并行性的不同层次。从指令内部的并行性,例如硬件和组织设计中的并行,到指令之间的并行,处理指令间关联;再到任务或进程之间,通过任务分解实现;最后到作业或程序之间的并行,通过并行算法实现。此外,从数据处理的角度看,也存在位串、位并、位片串字并和全并行等不同级别的并行性。
在并行性开发的途径中,时间重叠是通过时间上的交错,使得多个处理过程在硬件资源上相互错开,如流水线技术,通过细化功能部件实现。资源重复则是通过复制硬件资源,如多操作部件和多体存储器,提高系统可靠性和性能。资源共享则是通过软件调度,让多个用户共享同一资源,如多道程序和分时操作系统,以提高资源利用率。
计算机系统的并行性发展历史也是一条重要的线索。从早期的EDSAC、EDVAC和UNIVAC1等计算机的位运算并行,到1960年代的流水线单处理机,再到1970年代的多种并行处理系统结构,如向量、阵列、相联等,直到1980年代的RISC、多处理机、数据流机和智能机,以及1990年代以来的MPP(大规模并行处理)和Cluster(集群)系统,都反映了并行性在计算机系统设计中的逐步深化。
此外,多机系统的耦合度也是衡量系统并行性能的重要指标。从最低耦合的脱机系统,到松散耦合的系统,共享外围设备,再到紧密耦合的系统,通过高速总线或交换机实现更高层次的并行,如数据集、任务和作业级并行。这种耦合度的差异影响着系统的信息传输速度和并行处理能力。
计算机系统结构中并行与发展的主题涵盖了并行性的基本理论、实现方式和历史演变,以及多机系统的分类和耦合度的分析,这些知识对于理解和设计高效的计算机系统至关重要。