还剩48页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《计算机组成原理》课件概述欢迎来到北京大学计算机科学与技术系的《计算机组成原理》课程本课程由张教授主讲,将在年春季学期开展通过这门课程,我们将深入探索2025计算机系统的底层架构和工作原理,为你打开理解现代计算机的大门在接下来的课程中,我们将系统地学习从逻辑门到高级处理器架构的各个方面,帮助你理解计算机如何从基本的电子电路构建起来,又如何执行各种复杂的指令和程序无论你的目标是深入研究计算机架构,还是开发高效的软件,本课程都将为你奠定坚实的理论基础课程介绍课程目标与学习成果通过学习,学生将掌握计算机系统的基本组成原理,理解硬件与软件的交互机制,培养系统思维能力和硬件设计基础评分标准作业占,实验占,期末考试占请务必按时完成各项30%30%40%作业和实验,积极参与课堂讨论教材主要教材为《计算机组成与设计硬件软件接口》第版,将作为课/5程的理论基础和参考资料课程安排每周小时讲座,小时实验课讲座注重理论基础,实验课则让学32生动手实践,加深对理论知识的理解计算机系统概述硬件层基础电路和物理组件指令系统层机器指令和处理器架构操作系统层系统软件与硬件接口应用程序层面向用户的软件应用计算机系统是一个复杂的多层次结构,从底层的物理电路到顶层的应用程序冯诺依曼架构是现代计算机的基础,它将程序存储在内存中,与数据共用存储空·间,并由控制单元顺序执行指令计算机发展历史中的关键里程碑包括第一代电子管计算机、第二代晶体管计算机、第三代集成电路计算机和第四代超大规模集成电路计算机现代计算机系统主要由处理器、内存、存储设备和输入输出设备组成,这些部分通过总线相互连接和通信/计算机发展简史年1946-ENIAC年互联网普及1995-第一台通用电子计算机,采用电子管技术,占地面积超过平方米,170重达吨个人计算机开始广泛联网,计算范式向网络化方向发展301234年微处理器年代移动计算1971-2010-英特尔推出首款商用微处理器,开启了个人计算机的时代智能手机和平板电脑普及,计算能力进入口袋,云计算兴起4004摩尔定律自年提出至今,已指导了计算机行业近年的发展该定律预测芯片上的晶体管数量大约每两年翻一番,处理能力也相应提升从最初的几到现在的数,处理器速度提196560MHz GHz升了上千倍计算范式也经历了从大型机中央计算、个人计算机分散计算到移动计算和云计算的转变计算设备不断小型化、普及化,同时计算能力却呈指数级增长,改变了人类生活和工作的方式计算机系统的基本组成内存CPU计算机的大脑,负责执行指令和数据处理临时存储程序和数据的场所运算器执行算术和逻辑运算随机访问内存••RAM控制器指令解码和执行控制只读内存••ROM寄存器组高速临时存储高速缓存••Cache总线设备I/O连接各个部件的高速公路与外界交互的接口数据总线传输数据输入设备键盘、鼠标••地址总线指定地址输出设备显示器、打印机••控制总线传递控制信号存储设备硬盘、••SSD计算机性能评估性能指标计算机性能主要通过吞吐量和响应时间来衡量吞吐量表示单位时间内完成的工作量,响应时间则是从输入到输出的时间延迟计算CPI每指令周期数是指令执行的平均时钟周期数,计算公式为执行CPI CPI=程序所需的总时钟周期数÷执行的指令数量与MIPS FLOPS每秒百万条指令和每秒浮点运算次数是常用的性能度量单位,MIPS FLOPS特别是在科学计算领域广泛应用FLOPS阿姆达尔定律阿姆达尔定律揭示了系统优化的瓶颈效应若系统中只有部分组件获得改进,则整体性能提升有限公式加速比,其中为可并=1/[1-P+P/S]P行部分比例,为该部分加速比S数据表示进制转换补码与浮点数字符编码计算机内部采用二进制表示数据,但人补码是计算机表示有符号整数的标准方是最早的字符编码标准,使用位ASCII7们习惯使用十进制二进制、八进制和式,可简化加减法运算对于负数,其二进制表示个字符,主要适用于英128十六进制之间的转换是理解数据表示的补码是对应正数的二进制取反加一语环境基础浮点数标准定义了单精度解决了多语言表示问题,支持IEEE75432Unicode十进制到二进制的转换可采用除取余位和双精度位浮点数格式,由符号世界上几乎所有的文字系统是264UTF-8法,而二进制到十进制则可以使用按权位、指数和尾数组成,能够表示极大和的一种可变长度编码方式,兼Unicode展开法八进制和十六进制常作为二进极小的数值容并广泛应用于网络传输ASCII制的简化表示方式数值系统与转换有符号数与无符号数二进制算术运算无符号数仅表示正数和零,而有符号数二进制加法的规则与十进制类似,但只可以表示正数、负数和零在位二进有,,,n0+0=00+1=11+0=1制系统中,无符号数的范围是到进四种情况二进制减法可01+1=01,而有符号数的范围是转换为加法和补码运算,简化电路设计2^n-1-2^n-到12^n-1-1在计算机中,整数溢出是一个常见问题有符号数通常采用补码表示,最高位为当运算结果超出可表示范围时,会产生符号位表示正数,表示负数补错误结果,如两个正数相加得到负数01码使加减法运算统一,便于硬件实现浮点数问题浮点数运算涉及尾数对齐、运算和规格化等步骤由于精度限制,浮点数运算可能产生舍入误差,在连续计算中误差可能累积标准定义了向上舍入、向下舍入、向零舍入和最接近舍入等规则在科学IEEE754计算中,需要特别注意浮点数的精度和误差控制问题逻辑门与布尔代数基本逻辑门布尔代数法则德摩根定律逻辑门是数字电路的基本构建块,布尔代数是处理逻辑关系的数学德摩根定律是逻辑设计中的重要包括与门、或门、体系,有其独特的运算法则包工具,它指出,ANDORA·B=A+B非门和异或门等括交换律,通过德摩根定NOTXORA·B=B·A A+B=A·B门只有在所有输入为时输、结合律律,可以将与非转换为或运算,AND1A+B=B+A出;门只要有一个输入为,将或非转换为与运算,有助于简1OR1A·B·C=A·B·C就输出;门将输入反转;、分配律化逻辑电路结构1NOT A+B+C=A+B+C门在输入不同时输出等,这XOR1A·B+C=A·B+A·C些法则是设计和简化数字电路的基础卡诺图卡诺图是一种图形化方法,用于简化布尔表达式和逻辑电路通过将逻辑函数的真值表转换为二维网格并识别相邻的单元组,1可以找到最简表达式,减少所需的逻辑门数量,提高电路效率组合逻辑电路编码器与解码器将输入信号转换为不同编码格式多路复用器2在多个输入中选择一个传输到输出加法器执行二进制加法运算的基本电路组合逻辑电路的输出完全由当前输入决定,不存在内部状态或记忆功能编码器将多条输入信号转换为编码形式,如线线编码器;而解码8-3器执行相反操作,如解码器可将位二进制码转换为个独立输出线3-838多路复用器是一种数据选择器,可根据选择信号从多个输入通道中选择一个连接到输出加法器是算术逻辑单元的核心部件,从MUX ALU半加器、全加器到超前进位加法器,它们的设计直接影响处理器的运算速度组合电路的时延分析需要考虑关键路径,即信号传播的最长路径,它决定了电路的最大工作频率时序逻辑电路时序逻辑电路与组合逻辑不同,其输出不仅依赖于当前输入,还依赖于电路的历史状态触发器是最基本的存储元件,包括触发器、触发器、触发器和触发SR DJK T器触发器有置位和复位两个输入;触发器可以存储一位数据;触发器克服了触发器的不确定状态;触发器每收到一个脉冲就改变一次状态SR SetReset DJK SRT基于触发器可以构建计数器、寄存器和状态机等复杂电路计数器用于计数脉冲并产生特定序列;寄存器用于存储多位数据;状态机则是表示系统动态行为的模型时序电路的正确工作依赖于时钟信号的同步,需要考虑建立时间、保持时间和时钟偏斜等问题中央处理器概述CPU基本功能寄存器分类与CPU CISCRISC中央处理器是计算机的核心,负责执行寄存器是内部的高速存储单元,可复杂指令集计算机使用大量复杂CPU CISC指令和处理数据主要功能包括获取分为多种类型通用寄存器用于临时存指令,一条指令可以完成多个低级操作,指令、解码指令、执行运算、访问内存储数据和地址;指令寄存器存储当前执指令长度可变代表架构包括系列x86以及控制系统活动行的指令;程序计数器指向下一条要执行的指令;状态寄存器记录的工作CPU现代通常集成了多个核心,每个核精简指令集计算机采用少量简单CPU RISC状态心都能独立执行指令流,大大提高了并指令,每条指令只执行基本操作,指令行处理能力多核技术和超线程技术使不同的架构有不同的寄存器结构长度固定,执行时间一致代表架构有CPU得能够同时处理多个任务,提高整例如,架构有、等通用寄和设计简化了硬件CPU x86EAX EBXARM RISC-V RISC体系统性能存器,而架构则有等寄存复杂度,提高了时钟频率,但可能需要ARM R0-R15器,它们的数量、大小和用途各不相同更多指令来完成同样的任务处理器结构超标量处理器流水线处理器超标量处理器可在每个时钟周期发多周期处理器流水线处理器将指令执行分为多个射多条指令到多个功能单元并行执单周期处理器多周期处理器将指令执行分解为多阶段,不同指令的不同阶段可以并行结合乱序执行和分支预测等技单周期处理器在一个时钟周期内完个步骤,每个步骤使用一个时钟周行执行典型的五级流水线包括术,现代超标量处理器能够充分利成一条指令的所有步骤其设计简期不同指令可能需要不同数量的取指、译码、执行、访存和写回用指令级并行性,大幅提升性能单直观,但时钟周期必须足够长以周期完成这种设计提高了资源利这大大提高了指令吞吐量,是现代超线程技术则通过在单个物理核心完成最复杂指令,导致性能受限用率,但控制逻辑更复杂,且指令处理器的基本结构上模拟多个逻辑核心,进一步提高这种结构主要用于教学和简单设计执行时间较长资源利用率指令集架构ISA指令格式指令通常由操作码和操作数组成操作码指定要执行的操作,操作数则提供操作所需的数据或地址根据架构不同,指令长度可以是固定的如架构或可变的如RISC架构CISC寻址模式寻址模式决定了如何获取操作数常见的寻址模式包括立即寻址操作数直接包含在指令中、寄存器寻址操作数在寄存器中、直接寻址指令包含内存地址、间接寻址指令包含指向地址的指针和变址寻址基址加偏移量与比较x86ARM是典型的架构,指令集复杂且丰富,支持可变长度指令,历史兼容性强,主x86CISC要用于个人电脑和服务器采用设计理念,指令集简洁,指令长度固定,ARM RISC能耗低,广泛应用于移动设备和嵌入式系统特点RISC-V是一种开源的指令集架构,具有模块化设计,可根据需求添加指令扩展RISC-V RISC其基本指令集精简高效,适合教学研究和低功耗设计不受商业许可限制,正RISC-V迅速获得学术界和工业界的支持,成为新兴的处理器设计选择与架构RISC CISC特性RISC CISC指令复杂度简单,功能单一复杂,多功能指令长度固定长度可变长度寻址模式较少通常种较多可达多种3-520执行方式硬连线控制常用微程序控制寄存器数量多个少典型个16-328-16流水线效率高相对较低代码密度较低较高编译器依赖高中等典型代表ARM,RISC-V x86,x86-64架构强调硬件简化和指令执行效率,适合流水线实现,功耗较低架构则注重功能丰富和代码密度,RISC CISC能用较少指令完成复杂任务,但硬件实现更复杂现代处理器设计已经模糊了和的界限例如,处理器内部将指令转换为微操作类似RISC CISCx86CISCRISC后执行;而也不断添加复杂指令来提高特定场景下的性能处理器设计者正采取折中方案,结合两种架ARM构的优点,以实现更高效的计算平台指令流水线取指阶段译码阶段执行阶段IF IDEX从内存或指令缓存中获取下一条指解析指令的操作码和操作数,确定在中执行算术或逻辑运算,计ALU令,并更新程序计数器指令缓存要执行的操作和所需的资源同时算内存地址,或处理分支指令这的命中率直接影响这一阶段的效率也可能进行寄存器值的读取是流水线中功能最多样的阶段访存阶段写回阶段MEM WB对于需要内存访问的指令,在此阶段完成数据的读取或写将操作结果写回到寄存器堆中,完成指令执行过程此阶入内存访问通常是整个流水线中最慢的操作段确保计算结果正确保存流水线执行会遇到各种冒险问题数据冒险发生在指令需要使用尚未计算完成的数据时;控制冒险发生在分支指令改变程序流时;结构冒险则是多条指令同时争用硬件资源的冲突为解决这些问题,现代处理器采用了多种技术数据转发可以在数据产生后立即提供给需要的指令;流水线停顿则是在无法解决冒险时暂停流水线;分支预测通过预测分支方向来减少控制冒险的影响分支预测静态分支预测动态分支预测分支目标缓冲器静态分支预测基于固定的规则,不考虑一位预测器记录每个分支的最近一次结分支目标缓冲器是一种缓存,存BTB程序的实际执行历史最简单的静态预果,预测下一次会相同两位预测器使储分支指令的地址及其目标地址,使处测是总是预测不跳转或总是预测跳转,用状态机记录更多历史信息,需要连续理器能够在译码前就确定跳转目标这适用于资源受限的简单处理器两次错误预测才会改变预测方向,对于与分支预测器结合使用,不仅预测是否有规律变化的分支更有效跳转,还预先确定跳转到哪里基于编译提示的预测利用编译器的分析结果,如循环向后分支通常预测为跳转更复杂的动态预测器包括相关分支预测使分支指令的处理更加高效,减少BTB因为循环体通常会执行多次,而向前考虑多个分支之间的关系和神经网络预流水线停顿,特别是对于间接跳转和函分支预测为不跳转因为可能是条件语测器,可以识别复杂的分支模式现代数调用现代处理器中的通常组织BTB句处理器通常使用多级混合预测器,结合为多级缓存结构,以平衡预测准确率和多种技术达到以上的预测准确率硬件复杂度95%高级流水线技术超标量执行每周期发射多条指令的并行技术乱序执行根据数据依赖优化指令执行顺序寄存器重命名3消除名称依赖,增加并行机会推测执行基于预测提前执行以提高性能超标量处理器拥有多个功能单元,每个时钟周期可以获取、解码和执行多条指令为了充分利用这些并行资源,现代处理器采用乱序执行技术,根据指令间的实际数据依赖关系,而非程序顺序来调度指令寄存器重命名技术通过使用物理寄存器池来解决假依赖问题如写后写和写后读依赖,增加指令级并行的机会推测执行则在分支预测的基础上,提前执行预测路径的指令如果预测正确,提前获得结果;如果预测错误,需要丢弃错误路径的结果并恢复处理器状态,这需要复杂的恢复机制,如重排序缓冲区来维护正确的ROB指令提交顺序内存系统寄存器1纳秒级访问,容量极小但速度最快高速缓存纳秒级访问,容量小但速度快主存几十纳秒访问,容量大但速度慢辅存4毫秒级访问,容量极大但速度极慢内存系统呈现层次结构设计,从内部的寄存器到外部存储设备,容量逐级增大,速度逐级降低,成本也相应降低这种设计利用程序的局部性原理,通过缓存机制优CPU化整体性能主存储器主要由动态随机存取存储器构成,需要定期刷新保持数据;而缓存则使用静态随机存取存储器,不需要刷新但成本更高内存控制器负责协调DRAMSRAM与内存之间的数据传输,其效率直接影响系统性能现代内存技术不断发展,从到,以及高带宽内存等,都在提高带宽和降低延迟方面取得了显CPU DDR4DDR5HBM著进步高速缓存Cache直接映射组相联内存块只能映射到唯一的缓存行,实现简单但冲内存块可映射到组内任意行,平衡性能和复杂度突多全相联替换策略4内存块可映射到任意缓存行,冲突少但检索复杂决定当缓存满时哪些数据被替换出去高速缓存是连接处理器和主存的桥梁,利用局部性原理加速数据访问时间局部性指短期内重复访问同一地址的倾向;空间局部性指访问邻近地址的倾向通过将整块数据从内存复制到高速存储区,大大减少了内存访问延迟Cache当处理器需要访问内存时,首先查找缓存如果数据已在缓存中命中,则直接返回;否则缺失,从内存加载数据到缓存常用的替换算法包括最近最LRU少使用、先进先出和随机替换在多核环境下,缓存一致性成为重要问题,需要通过特殊协议如协议确保各核心看到一致的内存视图FIFOMESI虚拟内存虚拟内存概念页表机制虚拟内存是一种内存管理技术,它为应用程序提页表是虚拟内存系统的核心数据结构,记录虚拟供一个连续的地址空间假象,使每个程序都认为页号到物理页帧的映射关系每个进程都有自己自己独占整个内存空间实际上,虚拟地址通过的页表,由操作系统维护页表条目通常包含有映射机制转换为物理地址,使程序能够使用比实效位、修改位、访问位和保护位等标志,以及物际物理内存更大的地址空间理页帧号这种技术解决了以下问题允许程序使用比物理为了减少页表占用的空间,现代系统通常采用多内存更大的空间通过磁盘交换;简化了程序的级页表结构在位系统中,单级页表会占用64内存分配;实现了进程间的内存保护;便于实现大量空间,而多级页表可以只为使用的地址空间共享内存和内存映射文件分配页表,大大节省内存与页面替换TLB转译后备缓冲器是一种特殊的缓存,存储最近使用的页表条目,加速虚拟地址到物理地址的转换过TLB程命中时,可以直接获取物理地址而无需查询页表,大大提高了内存访问速度TLB当物理内存不足时,系统需要选择页面换出到磁盘常用的页面替换算法包括最优算法理论上最好但不可实现、实际效果好但实现复杂、简单但性能不稳定和算法近似但实现简单LRUFIFOClockLRU内存管理单元MMU地址转换过程内存管理单元是处理器中负责虚拟地址到物理地址转换的硬件部件当生MMU CPU成虚拟地址时,首先检查,如果命中则直接获取物理地址;否则查询页表进MMU TLB行转换,并更新以加速后续访问TLB分页与分段分页是将虚拟地址空间和物理内存空间分割为固定大小的块,便于管理现代系统常用、或大小的页面分段则是根据程序的逻辑结构如代码段、数据段、4KB2MB1GB堆栈段划分地址空间,并进行整体管理多级页表多级页表通过层次化结构减少内存占用例如,使用四级页表页全局目录x86-
64、页上级目录、页中间目录和页表每一级目录都用虚拟地PGD PUDPMD PT址的不同部分作为索引,最终定位到物理页帧内存保护实现了多种内存保护机制读写执行权限控制确保程序只能以授权方式访问内MMU//存;用户特权模式分离防止用户程序访问内核空间;共享内存机制允许多个进程安全/地共享数据这些保护机制是操作系统安全性和稳定性的基础总线系统总线分类根据功能可分为数据总线传输数据、地址总线指定操作的内存或地址和控制总线传I/O输控制信号,如读写、中断请求等根据连接部件可分为系统总线连接与主存、/CPU总线连接外设和内部总线芯片内连接I/O总线协议总线协议定义了数据传输的规则和时序,包括寻址过程、数据传输过程和总线仲裁机制总线仲裁决定多个设备竞争使用总线的优先顺序,常见方式有集中式仲裁设置总线仲裁器和分布式仲裁设备间自行协商同步与异步总线同步总线使用统一时钟信号协调数据传输,设计简单但灵活性差异步总线不使用时钟同步,通过握手信号协调,适应不同速度设备但控制复杂现代总线常采用混合设计,结合两种方式的优点现代总线标准是现代计算机的主要系统总线,采用点对点串行连接,高速传输数据通PCI ExpressUSB用串行总线广泛用于外设连接,支持热插拔串行用于存储设备连接,提供高SATA ATA带宽和可靠性这些标准不断演进,以满足不断增长的带宽需求系统I/O输入设备输出设备键盘、鼠标、触摸屏、传感器等,将物理世界信显示器、打印机、扬声器等,将计算机数据呈现息转换为计算机数据给用户通信设备存储设备4网卡、调制解调器等,实现计算机之间的数据交硬盘、、光盘、盘等,用于持久化存储数SSD U3换据控制方法有三种主要类型程序要求不断查询设备状态,简单但效率低;中断允许设备在就绪时通知,提高利用率;直接内存访问I/O I/O CPUI/O CPU CPU则允许设备在无需参与的情况下直接与内存交换数据,效率最高DMA CPU接口标准规定了设备连接的电气特性和协议常见标准包括通用串行总线、串行、雷电等,它们支持不同的传输速率和I/O USBSATA ATAThunderbolt功能设备驱动程序是连接操作系统和硬件的桥梁,负责翻译操作系统的通用请求为特定设备可理解的命令,屏蔽了硬件差异,简化了应用程序开发I/O中断系统中断请求设备发起中断信号通知CPU指令完成完成当前指令执行CPU状态保存保存当前程序的上下文环境中断处理执行中断服务程序处理事件状态恢复恢复原程序的执行环境中断是一种机制,允许外部事件或内部条件通知暂停当前工作并处理特定事件中断可分为硬件中断由外设触发、软件中断由程序指令触发、异常由程序执行错误如除零触发CPU和陷阱由系统调用等有意操作触发中断向量表是一个存储各类中断服务程序入口地址的数据结构,当中断发生时,根据中断类型查询该表,找到对应的处理程序中断控制器如或负责接收、优先级排CPU8259A APIC序和传递中断请求现代系统支持中断嵌套,即高优先级中断可以打断正在处理的低优先级中断,确保重要事件得到及时响应技术DMA工作原理传输模式与协作DMA DMA DMA CPU直接内存访问是一种允许外设在有几种工作模式单字节传输模式虽然可以自主完成数据传输,但仍DMA DMADMA没有直接参与的情况下,与系统内每次只传输一个字节;突发模式在获得需要与协调工作负责初始化CPU CPU CPU存进行数据传输的技术控制器接总线后连续传输一批数据;循环窃取模传输,设置源地址、目标地址、传DMADMA管了的部分总线控制权,管理数据式则在不使用总线的间隙传输数据,输长度等参数,然后让控制器接管CPUCPUDMA传输过程,大大减轻了负担,提高减少对的干扰传输过程CPUCPU了系统整体效率现代计算机中,通常支持分散聚传输完成后,控制器通过中断机制DMA-DMA技术特别适用于大量数据传输场景,集操作,即可以将连续的设备数据传输通知在现代多核系统中,与DMA CPUDMA如磁盘、网络通信和多媒体处理当到不连续的内存区域,或将不连续的内缓存一致性也是重要考虑因素,需要特I/O这些操作通过完成时,可以同存数据聚集后发送给设备这大大提高殊机制确保访问的内存数据与DMA CPUDMA CPU时执行其他任务,实现真正的并行处理了内存利用效率和系统灵活性缓存中的数据保持一致外部存储设备7200转速HDD RPM传统硬盘的典型转速,影响数据读取速度550读取速度SSD MB/s的典型顺序读取速度SATA SSD3500速度NVMe MB/s高端的顺序读取速度NVMe SSD5-10访问延迟差异ms vsμs与的访问延迟数量级差异HDD SSD磁盘存储技术包括传统机械硬盘和固态硬盘通过旋转磁盘和移动磁头来存取数据,具有大容量和低成本优势,但机械结构导致访问延迟HDD SSDHDD高基于闪存技术,没有移动部件,具有高速、低功耗和抗震动等优点,但成本较高SSD冗余独立磁盘阵列技术通过组合多个物理磁盘,提供更高的性能、容量或可靠性常见的级别包括条带化,提高性能、镜像,RAIDRAID RAID0RAID1提高可靠性和分布式奇偶校验,平衡性能和可靠性新型存储技术如非易失性内存表达直接连接到总线,大幅降低延迟;而RAID5/6NVMePCIe3D等存储级内存技术则正在缩小内存和存储之间的性能鸿沟XPoint并行处理架构指令级并行单处理器内部的指令流水线和超标量执行1线程级并行多核处理器同时执行多个线程数据级并行向量处理器对多个数据执行相同操作任务级并行4多机集群处理不同任务的协作计算指令级并行在单处理器内挖掘并行性,通过流水线、乱序执行和分支预测等技术,同时处理多条指令的不同阶段随着流水线深度增加,指令级并行的收益逐渐ILP减少,促使向其他并行形式发展线程级并行通过多核处理器同时执行多个线程,适合处理独立任务数据级并行则是对大量数据执行相同操作,指令和计算属于此类任务TLP DLPSIMD GPU级并行是最粗粒度的并行形式,通过分布式系统或集群将大型问题分解为多台计算机协作解决这些并行形式不是相互排斥的,现代计算系统通常结合多种并行技术,以充分利用计算资源多处理器系统多处理器系统可分为对称多处理器和非统一内存访问两大类系统中,所有处理器平等共享系统资源,访问内存的延SMP NUMASMP迟一致,结构简单但扩展性有限系统则将处理器和内存组织成多个节点,处理器访问本地内存比远程内存更快,具有更好的扩展NUMA性,但编程复杂度增加多核处理器设计面临着核心数量、缓存组织和互连网络等关键决策共享缓存可以减少数据复制,但可能导致争用;私有缓存提高局部性,但需要额外的一致性机制核间通信依赖于高效的缓存一致性协议如、和同步原语如原子操作、内存屏障,这些机制对于MESI MOESI保证多线程程序的正确性至关重要向量处理器向量指令集扩展现代中的指令集如和允许单条指令同时处理多个数据元素例如,一条位指令可以同时处理个位浮点数,大幅提高数值计算效率这些CPU SIMDSSE AVX256AVX832指令集广泛应用于多媒体处理、科学计算和图形渲染等领域向量寄存器结构向量处理器设有专门的向量寄存器,宽度通常是标量寄存器的数倍在最新的指令集中,每个寄存器可存储位数据,支持更高程度的并行处理向量指令通AVX-512512过流水线处理多个数据元素,充分利用数据级并行性与GPU CUDA/OpenCL图形处理器是一种特殊的向量处理器,拥有成百上千个简化的计算核心,适合执行大规模并行任务和等编程模型使开发者能够利用进行通用计GPU CUDAOpenCL GPU算,加速机器学习、物理模拟等计算密集型应用GPGPU架构GPU与结构对比流处理器与模型应用场景GPU CPU GPU SIMTGPU和在设计理念上存在根本差异采用单指令多线程执行模型,最初设计用于图形渲染,处理顶点GPU CPU GPU SIMTGPU优化单线程性能,配备复杂的控制将多个线程组织成线程束,同时变换、光栅化和像素着色等任务近年CPU warp逻辑、大容量缓存和少量高性能核心;执行相同指令这种设计简化了控制逻来,在通用计算领域表现出色,特GPU而专注于大规模并行计算,包含大辑,但对分支语句效率较低,当线程束别是在深度学习、科学模拟、密码学和GPU量简单核心、小型缓存和简化控制逻辑内出现分支分化时会降低并行度大数据处理等领域现代包含多个计算单元或,随着架构不断演进,特殊功能单元GPU SMCU GPU这种差异使适合执行复杂的控制流每个单元包含多个流处理器,共享指令如张量核心被添加,专门加速机器学习CPU程序,而则适合高度并行的数据处调度器和缓存这种分层结构使能工作负载;光线追踪硬件则提升真实感GPU GPU理任务现代系统通常结合两者优势,够有效管理成千上万个并发线程图形渲染的效率这种专用化趋势使形成异构计算平台成为现代计算系统中不可或缺的组GPU成部分与可编程逻辑FPGA基本架构FPGA现场可编程门阵列是一种由可配置逻辑块、可编程互连和块组成的集成电路FPGA CLBI/O包含查找表、触发器和多路复用器等元件,可实现任意逻辑功能现代还整合CLB LUTFPGA了切片、、高速收发器和甚至硬核处理器等特殊资源DSP BlockRAM硬件描述语言和是描述数字电路的标准硬件描述语言语法类似语言,简Verilog VHDLHDL VerilogC洁直观;基于语言,结构严谨,适合大型项目两种语言都支持不同抽象级别的VHDL Ada描述,从行为级到门级,使设计者能够灵活表达硬件功能和结构设计流程FPGA设计流程包括需求分析、设计使用描述电路、功能仿真、综合转换FPGA RTLHDL为网表、实现映射、布局布线、时序分析、生成比特流和设备编程整个过程需RTL要专业工具支持,如或EDA XilinxVivado IntelQuartus应用FPGA在计算加速领域发挥重要作用,特别是对于自定义数据流、深度学习推理、视FPGA频处理、信号处理等应用相比,能提供更低延迟和更高能效;相比GPU FPGA,具有灵活性和较低的开发成本云服务提供商已开始在数据中心部署ASIC FPGA加速实例,为特定工作负载提供优化性能FPGA专用集成电路ASIC设计与验证RTL规格与架构设计使用实现电路功能并仿真验证HDL确定芯片功能规格和整体架构逻辑综合将转换为门级网表RTL3制造与测试物理设计光罩制作、晶圆制造、封装与测试4布局布线、时钟树综合、功耗优化专用集成电路是为特定应用量身定制的芯片,相比可编程逻辑,具有更高性能、更低功耗和更小面积然而,开发成本高昂,设计周期长,不可重新配ASIC ASIC置,只有在大批量生产时才具有成本优势与相比,在相同工艺下性能可提高倍,功耗可降低FPGA ASIC3-1070-90%片上系统是一种将多个功能模块集成在单个芯片上的设计,通常包括处理器核心、内存控制器、各种接口和专用加速器现代智能手机芯片是的典型SoC ASICSoC例子,集成了、、、和加速器等多个子系统专用加速器是中的重要组成部分,如芯片针对深度学习优化,加密芯片提供安全功能,大CPU GPUDSP ISPAI SoCAI大提高特定应用的性能和效率量子计算简介量子比特与叠加态量子比特是量子计算的基本单位,不同于经典比特的或状态,量子比特可以处于两种状态的叠加这种叠加态可以表示为两个复数振幅的线性组合,通常用布洛赫Qubit01球面表示叠加态使得量子计算可以在同一时间处理多种可能性,理论上具有指数级的并行计算潜力量子门与量子电路量子门是对量子比特执行操作的基本单元,类似于经典计算中的逻辑门常见的量子门包括门创建叠加态;门类似于经典的门;门执Hadamard HPauli-X NOTCNOT行条件操作,是构建量子纠缠的基础量子电路由多个量子门组成,用于实现特定的量子算法量子算法与应用量子算法利用量子力学特性解决特定问题算法可以在多项式时间内分解大整数,威胁现有加密系统;算法提供二次加速的数据库搜索;量子机器学习和量子化Shor Grover学模拟也是重要应用领域然而,量子计算面临退相干、量子错误校正和规模化等挑战,现有量子计算机仍处于起步阶段神经形态计算类脑计算原理神经网络专用硬件忆阻器与新型器件神经形态计算模仿生物神经系统的结构和工作原脉冲神经网络是一类更接近生物神经元工忆阻器是一种电阻值取决于历史电SNN Memristor理,采用大量并行、低功耗的处理单元,通过脉作方式的网络模型,信息以离散脉冲形式传递,流的电子元件,可以同时用于存储和计算,非常冲传输信息与传统冯诺依曼架构不同,神经形能量效率更高为支持这类网络,研究人员开发适合实现人工神经网络的突触功能相比传统·态系统将计算和存储融合在一起,消除了内存墙了专用硬件如的和英特尔的技术,忆阻器具有更高的集成度、更低的IBM TrueNorthCMOS瓶颈,同时能够实现自适应学习和容错芯片功耗和非易失性特点Loihi这些芯片采用新型架构,通常包含大量简化的神除忆阻器外,相变存储器、自旋电子器件等新型这种计算模式特别适合处理非结构化数据和模式经元核心、可塑性突触连接和事件驱动的通信机器件也在神经形态计算中展现出应用潜力,可能识别任务,如视觉、听觉和其他感知功能,这些制,能够高效执行神经形态算法成为后摩尔时代计算的关键技术恰好是传统计算机较为薄弱但人脑擅长的领域计算机算术整数加减法乘法与除法浮点运算加法是基本的算术运算,硬件实现从半乘法可以实现为一系列移位和加法操作浮点运算单元是现代处理器的核心FPU加器处理一位加法到全加器处理一位序列乘法器硬件简单但速度慢;阵列乘部件浮点加减法需要对阶、尾数运算加法和进位,再到多位加法器超前进法器通过并行加法提高速度;树和规格化等步骤;浮点乘法则需要指数Wallace位加法器通过并行计算进位信号,乘法器和算法则进一步优化性能,相加和尾数相乘;除法通常使用迭代算CLA Booth大大减少了延迟;而进位选择加法器和是现代处理器常用的实现方式法如牛顿法实现进位跳跃加法器则采用分层策略,在面为提高性能,现代采用流水线设计,FPU积和速度间取得平衡除法比乘法更复杂,通常采用恢复余数并可能包含专用的硬件如乘加融合单元减法通常转换为加法和补码操作实现或不恢复余数的移位算法,它能在一条指令中完成乘法和Newton-FMA在中,一个位加减法器只需在加法迭代法通过乘法和减法近似计加法,提高精度并减少延迟ALU nRaphson IEEE器基础上增加一组异或门和一个控制信算倒数,然后用乘法得到商,在某些情标准定义了舍入模式、特殊值处理754号,即可支持加减两种操作况下效率更高和异常处理等规范,确保不同实现间的兼容性指令周期与数据通路取指阶段处理器从程序计数器指定的内存地址中取出下一条要执行的指令,并将更新为下一条指令的地址在这个阶段,指令缓存的命中率对性能影响很大PC PC译码阶段处理器解析指令的操作码和操作数,确定要执行的操作和所需的资源译码器将机器指令转换为微操作或控制信号,同时也可能进行寄存器值的读取执行阶段算术逻辑单元执行指令指定的操作,如算术运算、逻辑运算或地址计算对于不同类型的指令,这个阶段的具体操作会有所不同例如,算术指令执ALU行计算,而跳转指令可能会更新值PC访存阶段如果指令需要访问内存如加载或存储指令,则在此阶段完成这个阶段可能成为性能瓶颈,因为内存访问通常比处理器内部操作慢几个数量级写回阶段最后,指令的结果被写回到寄存器堆或其他目标位置这个阶段完成了指令的执行周期,处理器准备开始下一条指令的处理微程序控制器微程序控制是一种实现处理器控制单元的技术,将复杂的机器指令分解为一系列更简单的微操作微程序存储在控制存储器中,Control Store通常是或可写控制存储器每条机器指令都映射到一个微程序入口地址,微程序执行一系列微指令来完成该机器指令的功能ROM WCS微指令可以是水平格式或垂直格式水平微程序每个微指令直接控制多个硬件单元,位宽大可达位以上,执行快但存储效率低;垂直微100程序则使用编码控制信号,位宽小,需要额外的解码逻辑但存储效率高微程序控制的主要优点是灵活性高,容易修改和调试,适合实现复杂指令集;缺点是执行速度相对较慢,现代高性能处理器多采用硬布线控制,但微程序仍用于初始化、特殊指令和错误处理等场景异构计算系统异构系统加速系统与专用处理器CPU-GPU FPGADSP异构系统结合了加速系统利用可编程硬件数字信号处理器是专为信CPU-GPU FPGADSP的通用处理能力和的实现特定算法的定制化加速号处理算法优化的处理器,具CPU GPU并行计算优势适合处理与相比,提供更低有特殊的硬件结构如单元CPUGPU FPGA MAC复杂的控制流和串行任务,而的延迟和更高的能效,特别适乘累加、循环缓冲器和特殊寻则用于处理大规模数据并合需要高吞吐量、低延迟的应址模式其他专用处理器还包GPU行的计算密集型工作现代异用,如高频交易、网络包处理括网络处理器、视觉处NPU构系统通过统一内存架构减少和实时信号处理现代数据中理器和张量处理单元VPU数据传输开销,提高系统整体心已开始部署加速器,用等,它们针对特定领域提FPGA TPU效率于数据库、搜索和人工智能等供高度优化的性能和效率工作负载异构编程模型异构系统的编程是一大挑战,需要特殊的编程模型和工具提供了一个统一的框OpenCL架,可以在、、CPUGPU等多种处理器上编程;FPGA则是的专CUDA NVIDIAGPU用编程平台;和OpenMP通过指令式编程简化OpenACC了异构系统的开发未来的编程模型趋势是提高抽象级别,减少开发者对硬件细节的关注计算机能耗与散热可靠性与容错技术10^-123x目标误码率典型硬件冗余高可靠系统的每位出错概率目标三模冗余系统的硬件资源要求
99.999%72五个九可用性小时MTBF关键系统的年度在线时间目标某些硬盘的平均无故障工作时间错误检测与纠正码是保护数据完整性的基础技术奇偶校验可以检测单比特错误;汉明码能够纠正单比特错误并检测双比特错误;更强大的和码则能处理多位突发错误现代ECC BCHReed-Solomon系统中,内存和存储设备广泛应用这些技术来提高数据可靠性ECC硬件冗余设计包括三大类静态冗余如三模冗余,通过多数投票机制屏蔽故障;动态冗余如备用系统,在检测到故障后切换到备份组件;混合冗余则结合两者优点检查点与恢复机制定期保存系TMR统状态,允许在故障后恢复到最近的一致状态系统可靠性通常用平均无故障时间、平均修复时间和可用性等指标评估MTBF MTTRAvailability=MTBF/MTBF+MTTR信息安全硬件安全启动安全启动确保系统仅加载经过验证的软件从硬件根信任开始,通过密码签名验证引导加载程序、操作系统内核和关键系统组件的完整性,形成信任链如果验证失败,系统将拒绝启动可能受损的组件,防止恶意软件或篡改的固件运行硬件加密模块硬件安全模块是专用设备,提供安全的密钥生成、存储和加密操作环境它们通常采HSM用防篡改设计,即使物理攻击也难以提取密钥现代处理器集成了加密加速指令集如AES-和随机数生成器,提高加密性能并增强安全性NI安全处理器可信执行环境如和在处理器中创建隔离区域,保护敏感代TEE ARMTrustZone IntelSGX码和数据免受其他软件访问这些技术利用硬件隔离建立安全飞地,即使操作系统被攻陷也能保护关键应用常用于移动支付、数字版权管理和企业数据保护侧信道攻击与防御侧信道攻击利用物理实现的信息泄露如功耗、电磁辐射、执行时间推断敏感数据例如,缓存时序攻击利用访问时间差异泄露密钥信息;和等攻击则利用推测执行漏Spectre Meltdown洞防御措施包括常量时间实现、电源平衡、屏蔽和物理隔离,以及微架构设计改进嵌入式系统处理器选择实时响应1从低功耗微控制器到高性能应用处理器确保系统在规定时间内完成任务能源管理内存考量延长电池寿命的低功耗设计优化有限资源下的内存使用嵌入式处理器通常采用精简的架构设计,注重功耗效率而非极限性能从位微控制器如系列到位核心,再到高性能应用处理器如8AVR32ARM Cortex-MARM系列,根据应用需求提供不同性能和功耗平衡点许多嵌入式处理器集成了针对特定领域的加速器,如单元、加密引擎和传感器接口Cortex-ADSP实时系统要求在规定时间内完成任务,分为硬实时必须严格满足时间约束和软实时允许偶尔违反截止时间为支持实时性能,系统通常采用实时操作系统,如RTOS、等设备是嵌入式系统的重要分支,除基本计算能力外,还需要网络连接如、蓝牙、、安全功能和能源效率,以支持在边缘环境下FreeRTOS RTLinuxIoTWiFi LoRa的长期运行和数据采集系统性能优化性能分析性能优化的第一步是识别瓶颈分析工具如的、和可以Linux perfIntel VTuneValgrind收集利用率、缓存命中率、分支预测统计和内存访问模式等信息收集这些数据后,CPU可以确定性能热点,也就是最值得优化的代码区域编译器优化现代编译器提供多级优化选项到和针对特定架构的优化标志常见技术包括内-O1-O3联函数、循环展开、向量化和函数属性提示自动向量化将标量操作转换为指令,大SIMD幅提升数值计算性能针对特定处理器的优化可以充分利用目标平台的特性缓存优化提高缓存利用率是性能优化的关键技术包括数据布局优化确保相关数据在缓存中相邻、减少工作集大小使其适合缓存、避免假共享不同处理器修改同一缓存行和预取指令提前加载数据到缓存并行化策略充分利用多核处理器需要有效的并行化策略方法包括多线程编程使用、OpenMP、任务并行使用任务调度框架和数据并行使用指令良好的负载均衡pthreadsSIMD和减少同步开销是并行优化的重点在某些情况下,异构计算可以利用或进一GPUFPGA步提高性能计算机架构发展趋势领域专用架构摩尔定律放缓促使架构创新转向领域专用设计不再追求通用计算的极限性能,而是为特定应用领域如人工智能、图像处理、网络功能定制硬件加速器这些定制化架构能够在能效比上达到比通用处理器高倍的性能,和张量核心是这一趋势的代表10-100Google TPUNVIDIA新型封装技术随着单芯片集成遇到物理极限,先进封装技术成为架构创新的关键芯粒设计将大型分解为多个较小的芯片,通过高速互连组合在一起,改善良率并降低成本Chiplet SoC堆叠技术通过垂直集成多层芯片,显著提高互连密度和带宽,特别是在内存接口方面,有助于缓解内存墙问题3D CPU-绿色计算随着数据中心能耗急剧增长,可持续计算成为重要方向这包括使用可再生能源、提高电能使用效率、液体冷却技术,以及架构级别的能效优化有研究表明,专门设PUE计用于减少碳足迹的高能效处理器,可以在同等计算能力下将能耗降低以上,对于实现碳中和目标至关重要75%加速器架构AI实验课程安排实验环境与工具实验内容本课程实验将使用数字电路模拟软件、和设计实现基本逻辑电路、时序电路、简单、单周期、流水Logisim VerilogHDL FPGAALU CPU开发板实验室配备了和系列板,线、缓存模拟器和简单指令集架构性能分析基准测试、Xilinx Artix-7Intel CycloneFPGA CPUCPU以及性能分析工具和调试设备每位学生将获得实验账号和必要缓存性能评估和并行程序优化每个实验为期两周,包括设计、实现CPU的软件许可,实验前请熟悉环境设置指南和测试阶段评分标准4实验安全守则实验报告设计思路、实现方法、测试结果和问题分析;实验使用设备前请确认电源和连接正确;不得擅自修改实验室配置;遵守50%演示功能正确性和性能指标;实验问答对实验原理开发板使用规范;保存重要数据至少两个备份;尊重知识产权,30%20%FPGA和设计决策的理解额外加分项创新设计、超出基本要求的功能实不得抄袭他人成果;遇到设备问题立即报告实验室助教现和优秀的代码质量课程项目项目选题与分组学生将分成人小组,从提供的项目列表中选择题目,或提出自己的项目想法需经教师批准3-4可选项目包括处理器实现、缓存一致性协议模拟器、并行计算加速器设计、计算机性RISC-V能分析工具开发等分组信息和选题需在第周前提交4设计与实现项目核心是设计一个简单但功能完整的计算机系统最低要求包括支持基本指令集的CPU核心、指令和数据存储器、简单接口和系统总线进阶功能可包括流水线设计、分支I/O预测、缓存系统、中断处理和简单外设控制器设计过程需详细记录,定期提交进度报告测试与优化系统功能测试应包括指令执行正确性、异常处理、性能基准测试和边界条件检验需提供完整测试用例集和测试结果分析性能优化阶段应识别系统瓶颈,提出改进方案并实施,通过对比测试验证优化效果最终设计需平衡功能、性能和实现复杂度成果展示与评估期末将举行项目展示会,每个小组有分钟展示和分钟问答展示内容包括设计155思路、系统架构、关键技术、功能演示和性能数据评估标准包括技术难度、25%实现质量、功能完整性、展示质量和团队协作优秀项目30%20%15%10%将获得特别奖励学习资源核心参考书目在线资源与工具除主教材《计算机组成与设计硬件软件接平台如、提供多所知名/MOOC CourseraedX口》第版外,推荐以下补充读物《计算机大学的计算机架构课程,可作为补充学习材料5体系结构量化研究方法》第版、《数字开源项目如工具链、模6RISC-V SimpleScalar设计和计算机体系结构》、拟器和系统模拟器提供了实践机会HarrisHarris gem5《并行计算机体系结构》和CullerSingh《超大规模集成电路设计》CMOS Weste实用工具包括数字电路模拟、Logisim Harris仿真、ModelSimHDL学术论文方面,建议关注顶级会议开发、IEEE/ACM Vivado/QuartusFPGA如、、的最新研究成果,性能分析和编译ISCA MICROASPLOS VTune/perfGCC/LLVM图书馆已订阅相关电子资源,可通过校园网访器课程网站将提供这些工具的安装和使用指问南学习社区与行业动态鼓励加入计算机架构学习社区,如、和Stack OverflowReddit r/computerarchitecture相关项目定期关注行业博客如、和了解最新进展GitHub AnandTechWikiChip RealWorld Tech计算机架构领域的重要会议包括、、和,它们的论文集和演讲视频是ISCA MICROHPCA HotChips了解前沿技术的窗口微处理器设计公司如、、和的技术文档也是宝贵资Intel AMDARM NVIDIA源总结与展望神经形态与量子计算未来计算范式的革命性变革专用架构与异构计算2针对特定领域优化的多样化系统新型存储技术与计算融合3打破存储和计算的传统界限计算机组成基础原理本课程传授的核心知识体系通过本课程的学习,我们系统地探索了计算机系统的组成原理,从基本逻辑门到复杂的处理器架构,从内存系统到输入输出设备这些知识构成了理解计算机硬件/和软件交互的基础,也是深入研究计算机系统任何方面的前提计算机架构正经历前所未有的变革摩尔定律放缓促使设计者寻找架构创新;数据中心和边缘计算的兴起创造了新的设计空间;工作负载对计算系统提出特殊需求AI未来的学习路径可以沿着多个方向拓展深入研究处理器微架构、探索并行与分布式系统、关注存储技术发展,或进入新兴领域如量子计算作为计算机科学的核心学科,计算机组成原理将持续为你的技术生涯提供坚实基础。
个人认证
优秀文档
获得点赞 0