还剩58页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
计算机组成与结构欢迎来到《计算机组成与结构》课程!本课程将带领你深入探索计算机系统的内部工作原理,从最基本的电路组件到复杂的系统架构通过学习计算机的硬件组成、数据表示方式、指令系统设计以及各个功能部件之间的协作关系,你将获得对计算机系统全面而深入的理解无论你是计算机科学专业的学生,还是对计算机内部运作机制感兴趣的爱好者,本课程都将为你提供扎实的理论基础和实践指导,帮助你掌握现代计算机系统的设计原理与实现技术课程大纲基础知识计算机系统概述、数据的表示和运算,让你掌握计算机的基本工作原理和数据处理方式核心部件存储系统、指令系统、中央处理器,深入了解计算机的核心组件及其工作机制通信与交互总线系统、输入输出系统,学习计算机内部和外部交互的方式高级架构并行处理技术,探索现代计算机提高性能的先进架构第章计算机系统概述1基础概念系统组成计算机是执行输入、存储、处计算机系统包括硬件和软件两理、控制和输出功能的电子设大部分硬件是计算机的物理备,能够按照程序指令自动完实体,软件是在硬件上运行的成各种数据处理任务各种程序发展趋势计算机技术在朝着更高性能、更低功耗、更强智能化、更好用户体验的方向发展,新型计算范式不断涌现计算机发展历史1第一代(1945-1955)使用电子管技术,体积庞大,速度缓慢,主要用于科学计算代表作是ENIAC,重达30吨,包含18000多个电子管2第二代(1955-1965)采用晶体管技术,体积缩小,可靠性提高代表机型有IBM7090/7094系列,开始使用高级编程语言3第三代(1965-1975)使用集成电路,处理速度大幅提升,开始支持多任务处理IBM360系列成为典型代表第四代至今4采用大规模和超大规模集成电路,微处理器出现,计算机尺寸大幅缩小,性能显著提升,个人计算机普及冯诺依曼结构·存储程序计算部件1程序和数据都存储在同一个存储器中,具有算术逻辑单元,能进行数据处理2可按地址进行存取输入输出设备4控制部件3与外部世界交换数据的通道能够自动执行存储的程序指令冯诺依曼结构是由数学家约翰冯诺依曼于年提出的计算机基本架构,也称为普林斯顿架构它定义了现代计算机的基本设···1945计,将计算机分为五个部分存储器、控制器、运算器、输入设备和输出设备这一结构的核心思想是存储程序,即程序指令和数据都存储在同一个存储器中,由此奠定了现代计算机的基础计算机系统的层次结构应用软件1用户直接使用的程序系统软件2操作系统、编译器等机器语言3CPU能直接识别的二进制指令微架构4CPU内部工作方式硬件逻辑5门电路和触发器等基本组件计算机系统的层次结构是一种抽象化的设计思想,通过将系统分解为多个功能层次,使得每一层都能专注于特定的功能实现,而不必关心其他层次的具体细节低层次为高层次提供服务,高层次通过低层次提供的接口实现功能这种分层设计极大地降低了系统的复杂性,提高了系统的可理解性、可维护性和可扩展性计算机的基本组成中央处理器(CPU)存储器输入/输出设备计算机的大脑,负责执用于存储程序和数据,用于计算机与外部世界行指令、处理数据,由包括内存()和外交换信息,如键盘、鼠RAM控制器和运算器组成存(硬盘等)标、显示器、打印机等总线系统连接各个部件的公路,用于传输数据、地址和控制信号计算机的工作过程取指令从内存中取出下一条要执行的指令,放入指令寄存器指令译码分析指令的操作码和操作数,确定要执行的操作和操作对象执行指令根据指令的要求完成相应的操作,如算术运算、数据传送、程序跳转等存储结果将执行结果存入指定的寄存器或内存单元中,准备执行下一条指令这个过程被称为指令周期(Instruction Cycle),是计算机运行程序的基本工作方式计算机不断重复这个周期来执行程序中的一条条指令,直到程序结束现代计算机通过流水线、缓存、分支预测等技术来优化这个过程,提高指令执行效率计算机性能指标主频1的时钟频率,表示每秒钟产生的脉冲数,单位为赫兹()主频越CPU Hz高,执行指令的速度就越快,但相同架构下,主频越高,功耗也越大CPU2CPI(每指令时钟周期数)执行一条指令所需的时钟周期数,不同指令的可能不同越小,指CPI CPI令执行效率越高3MIPS(每秒百万条指令数)每秒能执行的百万条指令数,反映了的整体性能主频CPU MIPS=/CPI×10000004FLOPS(每秒浮点运算次数)每秒执行的浮点运算次数,常用于评价科学计算和图形处理能力第章数据的表示和运算2二进制表示数据编码算术运算计算机内部使用二进制表示所有数据通过不同的编码规则,可以将各种数计算机使用特定的硬件电路和算法执,包括数字、字符、图像和声音等据转换为二进制形式例如,码行各种算术运算,如整数的加减乘除ASCII二进制由和两个基本状态组成,符用于表示字符,标准用于表和浮点数运算运算结果的精度和范01IEEE754合计算机电路的开关特性示浮点数围受到表示方法的限制进位计数制十进制二进制八进制十六进制00001111210229100111910101012A15111117F16100002010进位计数制是一种表示数值的方法,其基本特征是逢基数进一位在计算机中常用的有二进制、八进制、十进制和十六进制其中二进制是计算机内部数据表示的基础,而八进制和十六进制则为了便于人类阅读和缩短二进制数的表示长度在不同进制之间进行转换是计算机科学的基础技能二进制转八进制时,每3位二进制数对应1位八进制数;二进制转十六进制时,每4位二进制数对应1位十六进制数熟练掌握这些转换方法对理解计算机数据表示至关重要二进制数的表示2基数二进制数只有0和1两个基本数字8每字节位数一个字节包含8个二进制位32位宽现代CPU通常使用32位或64位处理数据2^n表示范围n位二进制数可表示2^n个不同的数值二进制是计算机内部数据表示的基础,其物理实现通常是通过高低电平、开关状态或磁化方向来表示由于电子元件的两种稳定状态(通/断)非常容易实现,因此二进制成为计算机数据表示的最自然选择在计算机中,二进制数据通常按照字节(8位)、字(16位)、双字(32位)或四字(64位)等单位进行组织和处理这些不同的数据宽度对应了不同的处理能力和表示范围整数的表示原码表示反码表示补码表示最高位表示符号(为正,为负),正数的反码与原码相同,负数的反码正数的补码与原码相同,负数的补码01其余位为数值的绝对值优点是直观是其原码除符号位外的各位取反是是其反码加是计算机中最常用的表1,但运算复杂且存在和两种表示从原码到补码的过渡形式示方式,便于加减运算的统一实现+0-0在计算机中,整数通常采用补码形式表示,其中最高位为符号位对于位二进制数,可表示的范围是到例n-2^n-12^n-1-1如,位补码能表示到的整数补码表示的最大优点是可以用相同的硬件电路实现加法和减法运算,减法可以转换为8-128127加上一个负数,简化了硬件设计浮点数的表示标准科学计数法特殊值处理IEEE754这是最广泛使用的浮点数表示标准,将浮点数实际上是科学计数法的二进制表标准定义了一些特殊值,如IEEE7540浮点数分为符号位、指数部分和尾数部示,形式为,其中是尾数((正零和负零)、无穷大(正无穷和负±M×2^E M分位单精度浮点数包含位符号位规范化后为),是指数这种无穷)、(,表示非
3211.xxx...E NaNNot aNumber、位指数和位尾数位双精度浮表示方法可以在有限的位数内表示范围法操作的结果)等,使浮点运算更加健82364点数包含位符号位、位指数和位很大的数值壮11152尾数定点加减运算加法原理1使用补码表示的整数加法运算与普通二进制加法相同,无需考虑符号如两个8位补码整数5
(00000101)和-3
(11111101)相加得2
(00000010)处理进位和溢出2加法运算中最高位的进位要丢弃溢出发生在两正数相加结果为负数,或两负数相加结果为正数的情况,需要通过检测最高位的进位和结果的符号位来判断减法实现3减法可转换为加上被减数的补码例如A-B等价于A+-B,而-B就是B的补码这样减法可以复用加法电路,简化硬件设计硬件实现4定点加减运算在硬件上通过全加器电路实现,典型结构包括半加器、全加器及其串联形成的多位加法器现代CPU中通常采用超前进位和并行加法等技术提高运算速度定点乘除运算乘法原理1补码整数的乘法可以转化为绝对值的乘法再确定符号,或采用布斯(Booth)算法直接对补码进行乘法与手工计算类似,每一位乘数与被乘数相乘,结果左移相应位数后累加硬件乘法器2硬件实现上,可以使用移位相加法,也可以使用阵列乘法器直接产生部分积并同时相加现代处理器多采用快速乘法算法和专用乘法器电路,如华莱士树乘法器,大幅提高乘法速度除法原理3二进制除法基本原理是试商法,类似于十进制长除法每次从被除数中减去除数,如果够减则商为1,否则商为0,余数左移后继续进行下一位除法除法算法4常用的除法算法包括恢复余数法和不恢复余数法除法运算是四则运算中最复杂和最耗时的,现代处理器通常采用专用电路和优化算法来加速除法运算浮点数运算对阶将两个浮点数的指数部分调整为相同,使用较大的指数作为公共指数,较小指数对应的尾数右移差值位数尾数运算按照整数加减乘除的方法对尾数进行运算,得到结果的尾数部分规格化调整结果使尾数满足表示要求,通常要求尾数的最高有效位为1(隐含的),并相应调整指数舍入如果规格化后尾数位数超过标准限制,需要按照舍入规则(如向零舍入、向最近舍入等)处理多余位浮点数运算比整数运算复杂得多,需要考虑指数对齐、尾数运算、结果规格化和舍入等多个步骤现代处理器通常包含专门的浮点运算单元(FPU)来高效执行这些操作浮点运算还需要处理特殊情况,如溢出、下溢、除零和非数值(NaN)等异常情况,以保证计算的可靠性第章存储系统3存储层次性能特征1从寄存器、高速缓存到主存、外存的多级体速度、容量、成本和易失性等方面的差异2系新兴技术4管理机制3非易失性存储器和分布式存储扩展传统体系缓存替换、虚拟存储等技术保证高效访问存储系统是计算机的重要组成部分,负责存储程序和数据不同层次的存储设备在访问速度、容量、成本等方面存在显著差异,通过组成层次化的存储体系,可以兼顾性能和成本存储系统的设计对计算机整体性能有着决定性影响,是计算机系统设计中的关键环节随着应用需求的增长和技术的发展,存储系统正在向着更大容量、更高速度、更低功耗和更可靠的方向发展,新型非易失性存储技术和分布式存储方案不断涌现存储器的层次结构寄存器1速度最快,容量最小,成本最高高速缓存2速度快,容量小,成本高主存储器3速度中等,容量中等,成本中等辅助存储器4速度慢,容量大,成本低归档存储5速度最慢,容量最大,成本最低存储器层次结构是计算机系统设计中的重要概念,旨在解决速度、容量和成本之间的矛盾高速访问的存储器(如寄存器和高速缓存)成本高、容量小,而低速访问的存储器(如硬盘和磁带)成本低、容量大通过建立多级存储层次,利用数据访问的局部性原理,可以使整个系统在接近最高速存储器的速度下,获得接近最低速存储器的容量和成本优势现代计算机系统中,从CPU寄存器到云存储,可能包含5-7个不同的存储层次,各层之间通过缓存机制、页面置换算法等技术实现数据的高效流动主存储器随机访问特性易失性物理实现主存储器(内存)具有随大部分主存(如)通常采用半导体集成电路DRAM机访问特性,可以以相同是易失性的,断电后数据实现,以内存条的形式安的时间访问任意存储单元会丢失,需要定期刷新以装在主板上,可扩展和更,不受位置影响保持数据换地址空间每个存储单元都有唯一的地址,通过地址总线CPU访问特定的存储单元和SRAM DRAM(静态随机访问存储器)(动态随机访问存储器)SRAM DRAM使用六个晶体管构成的触发器存储每一个比特,只要通电就使用一个晶体管和一个电容存储每一个比特,电荷会随时间能保持数据,不需要刷新访问速度快(通常几纳秒),但泄漏,需要定期刷新(通常每几毫秒)集成度高,成本低集成度低,成本高,功耗较大主要用于内部的高速缓,功耗较小,但访问速度相对较慢(几十纳秒)主要用作CPU存和寄存器计算机的主存储器和是现代计算机中两种最常用的随机访问存储器类型,各自有其优势和应用场景因为速度快但成本高,SRAM DRAMSRAM通常用于对性能要求极高的场合,如的、缓存;则因为集成度高、成本低,成为主存的首选,通常以内存条CPU L1L2DRAM的形式出现随着技术发展,出现了多种改进型,如(双倍数据率)、(图形)等,大幅提高了数据传DRAM DDR DRAM GDDRDDRDRAM输率和性能,满足不同应用场景的需求和存储器ROM Flash(只读存储器)存储器ROM Flash内容在制造时固化,断电后数非易失性存储器的一种,断电据不丢失,但无法或很难修改后数据不丢失,且可以电擦除主要用于存储固定的程序和和重写读取速度快,写入和数据,如、固件等根擦除相对较慢基于浮栅晶体BIOS据可编程性分为、管技术,有和PROM NORFlash和等类型两种主要类型EPROM EEPROMNAND Flash应用场景主要用于存储不常变化的引导程序和固件广泛用于盘ROM FlashU、固态硬盘、存储卡等设备,正逐渐取代传统机械硬盘成为主流存储介质高速缓存()Cache基本原理层次结构利用程序访问的局部性原理,将可能现代通常有多级,如、CPU CacheL1被频繁访问的数据从主存复制到速度、靠近的L2L3Cache CPUCache12更快的中,减少对主存的访问速度更快但容量更小,靠外的Cache Cache,从而提高系统性能容量更大但速度相对较慢性能指标组织方式的性能主要通过命中率(组织为多个行()Cache HitCache CacheLine43)来衡量,表示在中找到,每行包含若干字节的数据(通常Rate Cache64所需数据的概率命中率越高,系统字节)和相关的标记信息数据以行性能越好为单位在主存和之间传送Cache的映射方式Cache直接映射()全相联映射(组相联映射(Direct MappingFully AssociativeSet Associative))Mapping Mapping主存中的每个块只能映射到中的唯Cache一位置,计算简单但冲突概率高映射主存中的任何块可以映射到Cache中的任介于前两者之间,主存块可以映射到关系通常为Cache行号=主存块号何位置,灵活性最高但查找复杂需要Cache中特定组内的任何一行n路组相MOD Cache行数优点是硬件实现简单并行比较所有Cache行的标记,硬件成本联表示每组有n行计算公式为组号=,缺点是可能导致频繁的缓存抖动高优点是冲突最少,缺点是硬件复杂主存块号MOD组数平衡了性能和复杂且查找时间长度,是现代最常用的映射方式Cache的替换算法Cache1随机替换(Random Replacement)随机选择一个缓存行进行替换实现简单,硬件开销小,但性能不稳定,无法利用访问模式的规律性在一些简单系统或特定应用场景中使用2先进先出(FIFO)替换最早进入缓存的行使用队列记录缓存行的进入顺序,实现相对简单但不考虑访问频率,可能会替换经常使用的行,性能通常不如其他算法3最近最少使用(LRU)替换最长时间未被访问的缓存行需要记录每行的访问时间或顺序信息,硬件实现较复杂对大多数程序有良好的性能表现,是最常用的替换算法之一4最不经常使用(LFU)替换访问次数最少的缓存行需要记录每行的访问计数器,硬件开销较大对访问模式有明显频率特征的程序效果好,但对突发性访问适应性差虚拟存储器基本概念虚拟存储器是一种内存管理技术,使程序可以使用比实际物理内存更大的地址空间它通过将虚拟地址映射到物理地址,实现了内存空间的延伸,允许多个程序共享有限的物理内存页面机制虚拟内存将地址空间分割成固定大小的页(通常4KB),物理内存分成相同大小的页框程序访问的虚拟页可能位于物理内存中,也可能存储在磁盘上(称为页面调度)地址转换CPU生成的虚拟地址通过页表转换为物理地址为加速转换过程,使用TLB(转换后备缓冲器)缓存最近使用的页表项地址转换通常由MMU(内存管理单元)硬件完成页面置换当物理内存已满而需要调入新页时,需要选择一个页面换出到磁盘页面置换算法有FIFO、LRU、Clock等多种,目标是最小化页面调度次数,提高系统性能第章指令系统4指令集架构设计原则指令系统是处理器可以执行的指令系统设计需要考虑完备性全部指令的集合,也称为指令(功能覆盖全面)、正交性(集架构(),是硬件和软指令特性相互独立)、规整性ISA件之间的接口它定义了指令(格式和编码规则统一)和高的格式、类型、寻址方式、操效性(执行速度快、编码紧凑作码和操作数等要素)等原则发展趋势随着计算机技术的发展,指令系统的设计风格从复杂指令集(CISC)向精简指令集()转变,同时增加了对并行处理、虚拟化和RISC特定应用加速的支持指令格式操作码字段地址字段指令长度指令格式中的操作码字段用于指定要执指令格式中的地址字段用于指定操作数指令可以采用定长格式(如架构RISC行的操作类型,如算术运算、逻辑运算的位置或目标位置根据操作数数量,中常见的位固定长度)或变长格式(
32、数据移动等操作码位数决定了指令指令可分为零地址、一地址、二地址和如架构中的字节不等)定长x861-15系统能支持的指令种类数量常用的设三地址指令等形式地址字段的长度决指令格式设计简单、取指高效,变长指计是变长操作码,以便在有限的位数内定了可寻址的内存空间大小,是处理器令格式则可以提高代码密度,节省存储支持更多指令设计的重要参数空间寻址方式立即寻址1操作数直接包含在指令中,无需访问内存例如ADD R1,#5(将寄存器R1的值加5)优点是速度快,缺点是操作数大小受指令格式限制直接寻址2指令中给出操作数的内存地址例如LOAD R1,100(从内存地址100加载数据到R1)优点是简单直观,缺点是寻址范围受地址字段位数限制间接寻址3指令中给出的是操作数地址的地址例如LOAD R1,
[100](从内存地址100取出的值作为地址,再从该地址加载数据到R1)能扩大寻址范围,但需要多次内存访问寄存器寻址4操作数在寄存器中,指令指定寄存器编号例如ADD R1,R2(将R2的值加到R1)操作速度最快,但寄存器数量有限此外还有寄存器间接寻址、变址寻址、基址寻址和相对寻址等方式,每种寻址方式各有优缺点,适合不同的使用场景设计良好的指令系统应该支持多种寻址方式,以满足各种程序需求并优化性能数据传送指令寄存器传送存储器访问输入输出在寄存器之间移动数据的指令,如在存储器和寄存器之间传送数据的指在与外部设备之间传送数据的指CPU(将源寄存器的内容令,如(加载)和(存令,如和例如,MOV Rd,Rs RsLOAD STOREIN OUTIN R1,Port复制到目标寄存器)这类指令执储)例如,(从内(从输入端口读取数据到寄存器)Rd LOADR1,[Addr]R1行速度最快,是最基本的数据传送操存地址加载数据到寄存器)和和(将寄存器的内容Addr R1OUT Port,R1R1作(将寄存器的内输出到端口)在某些架构中,操STORE[Addr],R1R1I/O容存储到内存地址)作通过内存映射的方式实现,不需要Addr专门的指令I/O数据传送指令是程序中使用最频繁的指令类型,直接影响系统的整体性能现代处理器通常对数据传送指令进行优化,如支持块传送、条件传送和向量传送等,以提高数据移动的效率此外,一些处理器还支持字节、半字和字等不同数据宽度的传送操作,增加了数据处理的灵活性算术逻辑指令算术运算逻辑运算移位操作执行数值计算的指令,包括执行位操作的指令,包括与对数据进行位移动的指令,加(ADD)、减(SUB)、(AND)、或(OR)、异或包括逻辑左移(SHL)、逻乘(MUL)、除(DIV)等(XOR)、非(NOT)等逻辑右移(SHR)、算术右移基本运算,以及增量(INC辑运算,用于位级操作和条(SAR)和循环移位()、减量(DEC)、比较(件测试ROL/ROR)等,用于快速的CMP)、求补(NEG)等辅乘除运算和位操作助运算浮点运算处理浮点数的特殊算术指令,包括浮点加减乘除、比较、转换等操作,通常由专门的浮点运算单元(FPU)执行程序控制指令无条件转移条件转移子程序调用中断处理无条件改变程序执行顺序的指令根据条件判断结果决定是否改变保存当前执行位置并转移到子程响应中断事件的控制指令,如INT,如JUMP、GOTO等例如,程序执行顺序的指令,如JZ(结序的指令,如CALL子程序执行(软中断)、IRET(中断返回)JMP Label(无条件跳转到标记为果为零时跳转)、JNZ(结果非完毕后,通过RETURN指令返回等中断机制允许外部事件或异Label的指令处继续执行)这类零时跳转)、JG(大于时跳转)到调用点继续执行实现了代码常情况打断当前程序的执行,转指令是实现循环和函数调用的基等例如,JE Equal(如果相等重用和程序模块化的机制而执行中断服务程序础则跳转到Equal标记处)和CISC RISC(复杂指令集计算机)(精简指令集计算机)CISC RISC特点包括指令数量多、指令长度可变、指令功能复杂、寻址特点包括指令数量少、指令长度固定、指令功能简单、寻址方式丰富、微程序控制等代表处理器有系列支持存方式有限、硬布线控制等代表处理器有、系列x86ARM MIPS储器存储器操作,一条指令可以完成复杂的功能,有利于主要支持寄存器寄存器操作,需要多条指令完成复杂功--提高代码密度,但指令译码和执行复杂,流水线效率较低能,但译码简单,易于流水线实现,执行效率高,有利于编译器优化和代表了处理器设计的两种不同理念起源于内存昂贵、汇编语言编程的时代,通过复杂指令减少程序大小CISC RISCCISC和内存访问;则起源于研究表明大部分指令使用频率很低,只有简单指令被频繁使用,因此精简指令集有助于提高执行RISC效率现代处理器设计往往兼收并蓄,架构(如)内部采用风格的微架构实现,而架构也不断增加新的指令扩展CISC x86RISC RISC以支持特定应用,两者之间的界限日益模糊第章中央处理器()5CPU控制单元1管理和协调系统操作算术逻辑单元2执行数据处理和逻辑运算寄存器组3高速暂存数据和地址总线接口4连接外部系统组件缓存系统5加速数据访问中央处理器(CPU)是计算机的核心,负责执行程序指令和处理数据,控制整个系统的运行现代CPU集成了控制、运算、存储等多种功能,通过不断的技术创新,在单芯片上实现了越来越高的性能和复杂性CPU的设计涉及多个关键技术领域,包括指令系统设计、控制器实现、数据通路组织、流水线设计等随着技术的发展,现代CPU还整合了多核并行、片上网络、动态功耗管理等先进技术,以满足不断增长的计算需求和能效要求的功能和基本结构CPU控制单元(CU)算术逻辑单元(ALU)寄存器组负责从内存取出指令、译码执行算术运算(加减乘除)CPU内的高速临时存储单元并发出控制信号,协调CPU和逻辑运算(与或非等),,用于存放操作数、地址、内各部件工作,是CPU的指是CPU的计算中心现代状态和中间结果包括通用挥中心包括指令寄存器(CPU还包含浮点运算单元(寄存器、特殊寄存器(如状IR)、程序计数器(PC)等FPU)处理浮点数计算态寄存器、指令指针寄存器)等数据通路连接CPU内各功能部件的数据传输路径,负责数据在ALU、寄存器和内存之间的流动通路的组织方式直接影响CPU的性能和灵活性指令执行过程指令译码取指令分析指令,确定操作和操作数21根据PC值从内存读取指令执行指令进行算术逻辑运算或数据传送35回写结果访问内存将结果写入寄存器或内存4读取或写入内存数据指令执行过程是CPU工作的核心环节,通常分为若干阶段组成指令周期在取指令阶段,CPU根据程序计数器(PC)的值从内存读取指令,并将PC指向下一条指令;在指令译码阶段,控制单元分析指令的操作码和寻址方式;在执行阶段,ALU或其他功能单元执行指令规定的操作;在某些指令中,还需要访问内存以读取或写入数据;最后,将执行结果写回到指定的寄存器或内存位置现代CPU通常采用流水线技术,将指令执行过程分解为多个可并行执行的阶段,使多条指令能够同时处于不同的执行阶段,大幅提高处理器的吞吐量数据通路单总线结构多总线结构寄存器传输级设计最简单的数据通路设计,所有功能部件使用多条独立的总线连接不同功能部件将数据通路设计细化到寄存器传输级别共享一条总线优点是结构简单,成本,允许多个数据传输操作并行进行例,详细规定数据在各寄存器间的流动路低;缺点是在同一时刻只能有一组数据如,分别设置指令总线、数据总线和地径和控制信号这是硬件设计中的关键传输,操作串行化,执行效率低适合址总线优点是并行度高,执行效率高环节,通常使用硬件描述语言(如简单或早期的处理器设计;缺点是硬件复杂,成本高现代高性、)进行精确描述Verilog VHDL能处理器广泛采用硬布线控制器基本原理1硬布线控制器是通过组合逻辑和时序逻辑电路直接实现控制功能的控制器它将指令操作码直接解码为控制信号,通过触发器和计数器产生各执行阶段的时序组成结构2主要包括指令译码器、控制信号产生器、时序发生器等部件指令译码器分析操作码,控制信号产生器生成各种控制信号,时序发生器产生各阶段的时序脉冲优缺点3优点是响应速度快,执行效率高,硬件开销小;缺点是电路设计复杂,灵活性差,难以修改和扩展增加新指令需要重新设计控制电路,难以支持复杂的指令系统应用场景4适用于指令系统简单、稳定,对执行速度要求高的场合,如RISC处理器、嵌入式控制器等在现代高性能处理器中,通常用于实现关键部件的控制逻辑,以提高性能微程序控制器基本原理主要组成优缺点分析微程序控制器将每条机器指令的执行微程序控制器主要包括控制存储器(优点是设计系统化、规范,易于修改过程解释为一系列更简单的微操作序或)、微指令寄存器、微和扩展,可支持复杂的指令系统;缺ROM PROM列,这些微操作序列存储在控制存储地址形成部件、微指令译码器等控点是执行速度较慢,硬件开销大,每器()中执行指令时制存储器存放微程序,微地址形成部条指令需要多个时钟周期执行微程序Control Store,微程序控制器根据指令操作码找到件生成下一条微指令的地址,微指令适用于指令系统复杂、经常需要更对应的微程序入口地址,然后按顺序译码器将微指令转换为控制信号新的场合,如处理器CISC执行微指令序列指令流水线基础基本概念指令流水线是将指令执行过程分解为多个相对独立的阶段,使不同指令的不同阶段可以并行执行的技术类似于工厂的装配线,使多条指令能够重叠执行,提高处理器的吞吐量典型阶段经典的五级流水线包括取指令(IF)、指令译码(ID)、执行(EX)、存储器访问(MEM)和写回(WB)现代处理器的流水线通常更加复杂,可能有10-20个甚至更多阶段性能分析理想情况下,n级流水线可以使处理器的吞吐率提高n倍但实际性能提升受到流水线冒险、阶段平衡性和启动延迟等因素的影响,通常低于理论值实现挑战流水线的主要挑战是处理流水线冒险(数据相关、控制相关和结构相关),需要通过前递、数据旁路、分支预测等技术解决流水线的冒险和处理方法数据冒险控制冒险结构冒险当指令依赖于前面指令的结果时发生,由分支指令引起,流水线无法确定下一多条指令同时竞争同一硬件资源时发生如(条要执行的指令例如条件跳转指令,,如同时访问内存或同一功能单元处ADD R1,R2,R3;SUB R4,R1,R5第二条指令使用第一条指令的结果)在判断条件结果出来前,不知道该执行理方法包括增加硬件资源(如多端口存R1处理方法包括暂停流水线、数据转发顺序的下一条还是跳转目标处的指令储器)、流水线停顿和资源调度等(旁路)和编译器重排指令等处理方法包括分支预测、延迟分支和分支目标缓冲等第章总线6数据交换标准接口1总线是系统各部件之间传输数据的公共通道提供统一的数据传输协议和电气特性2性能平衡灵活扩展43协调速度不同的设备进行高效通信允许系统易于添加新设备和升级总线是连接计算机系统各个部件的公共通信通道,它允许CPU、内存、输入输出设备等组件之间传输数据和控制信号总线系统的设计对整个计算机系统的性能、可扩展性和可靠性有着重要影响随着计算机技术的发展,总线标准不断演进,从早期的ISA、PCI到现代的PCIe、USB等,传输速度和带宽不断提高同时,总线结构也从单一总线发展为分层次的多总线架构,以适应不同速度设备的需求总线接口的标准化和模块化设计,为计算机系统的扩展和升级提供了便利总线的基本概念总线定义总线的组成总线工作方式总线是计算机系统内部各功能部件之间地址线用于传输内存或设备的地址总线采用分时共享的工作方式,同一时I/O传送信息的公共通道,由一组线路(导,指明数据的来源或目的地数据线刻只允许一对设备通过总线交换信息线)组成,包括地址线、数据线和控制用于传输实际的数据信息,宽度决定了通信双方必须遵循共同的总线协议,包线它定义了数据传输的格式、时序和一次可传输的数据量控制线用于传括信号线的分配、时序关系和传输方式电气特性,是实现各部件互连的关键设输控制信号,如读写控制、中断请求、等总线上各设备通过主设备和从设/施总线请求和应答等备的角色进行交互总线的分类按照连接部件分类按照总线结构分类12内部总线CPU内部连接各功能部件的总线,如寄存器总线系统单总线结构所有设备连接到同一条物理总线上,成本低但易造成总线连接CPU、内存和I/O接口的总线,包括地址总线、数据总线瓶颈多总线结构使用多条总线连接不同速度的设备,如北桥连和控制总线外部总线连接I/O设备和I/O接口的总线,如USB、接高速设备,南桥连接低速设备,提高系统性能SATA等按照数据传输方式分类按照总线仲裁方式分类34并行总线数据位同时在多条线路上传输,如PCI总线串行总线集中式仲裁总线由专门的仲裁器决定哪个设备可以使用总线分数据位在单条线路上按时间顺序传输,如USB、PCIe总线随着技布式仲裁总线各设备通过相互协商决定总线使用权菊花链式仲术发展,高速串行总线正逐渐取代传统并行总线裁总线按照物理连接的先后顺序确定优先级总线仲裁仲裁的必要性集中式仲裁方法分布式仲裁方法总线同一时刻只能由一个主设备控制固定优先级仲裁每个设备有固定的自举式仲裁各设备通过比较自身ID,当多个主设备(如、控制优先级,高优先级设备优先获得总线和总线上传递的信号决定是否获得总CPU DMA器等)同时请求使用总线时,需要仲循环仲裁(轮询)各设备轮流获线权令牌传递使用特殊信号(令裁机制决定优先级和使用顺序,避免得总线使用权,保证公平性排队仲牌)在设备间循环传递,获得令牌的冲突和保证系统正常运行总线仲裁裁按请求到达的时间顺序分配总线设备可以使用总线分布式仲裁不需是解决共享资源竞争的关键技术,先到先得这些方法通常由专门的要集中式仲裁器,适合分布式系统和总线仲裁器实现并行计算机总线操作和定时总线传输周期1总线传输周期是总线完成一次数据传输所需的基本时间单位,包括地址传输、数据传输和控制信号同步等过程根据总线协议不同,一个总线周期可能分为多个时钟周期或阶段同步总线2使用统一的时钟信号控制所有总线操作的时序,所有设备必须在同一时钟下工作优点是设计简单,控制方便;缺点是系统速度受最慢设备限制,扩展性差例如早期的PCI总线就是典型的同步总线异步总线3不使用统一时钟,而是通过握手信号协调数据传输,发送方发出数据后,等待接收方的确认信号再继续传输优点是适应不同速度的设备,灵活性和扩展性好;缺点是控制复杂,有额外的握手延迟例如USB就采用异步传输方式半同步总线4结合同步和异步总线的特点,使用时钟信号和握手信号共同控制总线操作在固定的时钟边沿传输信号,但允许接收方通过握手信号请求额外的等待周期这种方式兼顾了效率和灵活性,在现代总线中应用广泛第章输入输出系统7输入设备输出设备I/O接口将信息从外部世界传入计算机将计算机处理结果传递到外部连接CPU和外设的硬件电路,的设备,如键盘、鼠标、扫描世界的设备,如显示器、打印负责信号转换、数据缓冲和控仪等机、扬声器等制协调I/O控制方式管理数据传输的机制,包括程序查询、中断驱动和直接内存访问(DMA)等输入输出(I/O)系统是计算机与外部世界交换信息的通道,它连接计算机内部的高速数字世界与外部各种各样的设备I/O系统的设计需要解决速度匹配、数据格式转换、控制协调等多方面问题,是计算机系统中最复杂和多样化的部分之一随着计算机应用的扩展,I/O系统正变得越来越重要,新型的输入输出设备和接口不断涌现,如触摸屏、语音识别、虚拟现实设备等,极大地丰富了人机交互的方式和内容系统基本概念I/OI/O设备分类I/O编址方式根据数据传输速率可分为低速设备独立编址(端口)使用专门的I/O(如键盘、鼠标)、中速设备(如指令和地址空间访问设备,如I/O I/O打印机)和高速设备(如磁盘、网架构中的指令内存映x86IN/OUT络适配器)根据数据传输单位可射将设备的寄存器映射到内I/O I/O分为字符设备(如键盘、串口)和存地址空间,使用普通的内存访问块设备(如磁盘、光盘)根据信指令操作设备,简化了设计I/O CPU息交换方向可分为输入设备、输出但消耗了部分内存地址空间设备和输入输出设备I/O控制方式程序查询方式不断查询设备状态,等待设备就绪中断方式设备就绪CPU时向发出中断请求,暂停当前程序处理中断方式外设与内存CPU CPUDMA直接交换数据,不通过,大幅提高数据传输效率处理机专门的处理CPU I/O器负责操作,进一步减轻负担I/O CPU外部设备输入设备输出设备存储设备键盘将按键操作转换为数字信号的设显示器将数字信号转换为可视图像的硬盘驱动器大容量非易失性存储设备备,是最基本的文本输入工具鼠标触设备,包括、、等技术,包括机械硬盘()和固态硬盘(/CRT LCDLED HDD摸板将位置移动转换为坐标信息的指打印机将数字信息转换为永久性纸质)光盘驱动器读写、、SSD CDDVD针设备扫描仪将图像转换为数字信文档的设备,包括激光、喷墨、针式等蓝光光盘的设备闪存驱动器基于闪息的光电设备摄像头捕捉视频图像类型扬声器将电信号转换为声音的存的便携式存储设备,如盘、存储卡等U并转换为数字信号麦克风将声音转音频输出设备投影仪将图像投射到磁带驱动器用于大容量数据备份的换为电信号的音频输入设备大屏幕上的显示设备顺序访问存储设备接口I/O1接口的功能I/O接口是连接CPU和外设的硬件电路,负责实现物理连接、电气匹配、信号转换、数据缓冲、控制和状态管理等功能它解决了CPU与外设之间的速度不匹配、数据格式不统一和工作时序不一致等问题2接口的结构典型的I/O接口包括数据寄存器(缓冲外设数据)、控制寄存器(接收CPU命令)、状态寄存器(反映设备状态)和内部控制逻辑电路对CPU而言,访问I/O接口就是访问这些寄存器,通过读写操作控制外设工作3接口的分类按照接口与CPU的连接方式,可分为并行接口(如LPT)和串行接口(如COM、USB)按照数据传输方向,可分为输入接口、输出接口和双向接口按照接口与设备的连接方式,可分为点对点接口和总线型接口4标准接口随着技术发展,出现了许多标准化接口,如USB、SATA、PCIe、HDMI等这些标准定义了物理连接器、电气特性、传输协议和数据格式,使得不同厂商的设备可以互相兼容,大大简化了系统设计和设备连接程序查询方式基本原理程序查询方式是最简单的I/O控制方式,CPU通过轮询设备的状态寄存器,检查设备是否就绪当设备就绪时,CPU进行数据传输;如果设备未就绪,CPU将继续查询或执行其他任务后再查询工作流程以输出操作为例CPU首先查询设备状态(检查设备是否忙碌或缓冲区是否已满);当设备准备好接收数据时,CPU将数据写入接口的数据寄存器;然后CPU发出命令,通知设备处理数据;设备接收数据并更新状态寄存器;完成后,CPU可以继续下一次传输优缺点分析优点实现简单,不需要中断机制,适合数据量小、传输速度可预测的设备缺点CPU效率低下,大部分时间浪费在等待设备就绪上;不能及时响应设备状态变化;多设备管理复杂,程序逻辑繁琐适用场景程序查询方式主要适用于简单系统或实时控制系统,以及那些数据传输速率可预测、传输频率低的设备在现代计算机系统中,该方式多用于初始化阶段或特定的低速设备,如简单的传感器接口中断方式中断请求中断响应1设备就绪时发送信号给CPU CPU暂停当前程序并保存现场2中断返回中断处理43恢复现场并继续执行原程序执行对应的中断服务程序中断是一种使CPU能够响应外部事件的机制,当外设准备好进行数据传输时,会向CPU发出中断请求信号CPU在执行完当前指令后,会暂停正在运行的程序,保存程序状态,然后转去执行中断服务程序中断服务程序完成数据传输后,CPU恢复原来程序的执行中断方式的优点是CPU无需不断查询设备状态,可以高效处理其他任务;设备就绪时能立即得到响应;适合处理随机发生的事件中断系统通常支持多级优先级,确保重要的中断能够优先处理在现代计算机系统中,中断是I/O控制的基本方式,广泛应用于各类设备的驱动程序中方式DMADMA初始化1CPU设置DMA控制器参数数据传输2DMA控制器直接管理内存与设备间的数据交换传输完成3DMA控制器向CPU发出中断信号直接内存访问(DMA)是一种允许外设在没有CPU干预的情况下直接与内存进行数据交换的技术DMA传输由专门的DMA控制器管理,CPU只需在传输开始前设置DMA控制器的参数(如内存地址、传输数据量和方向),然后就可以继续执行其他任务,待传输完成后,DMA控制器通过中断通知CPUDMA方式大幅提高了I/O操作的效率,特别适合大量数据的高速传输,如磁盘读写、网络数据传输等DMA控制器需要暂时占用系统总线,与CPU竞争内存访问,这种总线竞争可以通过总线仲裁机制解决根据总线使用方式,DMA传输可分为停止CPU型、周期挪用型和透明型三种实现方式第章并行处理8并行处理概念并行计算模型并行处理是同时使用多个处理单元并行计算模型定义了并行程序的组协作解决一个计算问题的技术,旨织方式和执行机制常见的模型包在通过并行执行多个计算任务来提括共享内存模型(如多线程编程)高处理速度和效率与传统的串行、消息传递模型(如)、数据MPI处理相比,并行处理能够更有效地并行模型(如指令集)和任SIMD利用硬件资源,处理更大规模的计务并行模型(如异步任务库)等算任务不同模型适合不同类型的问题和硬件架构并行架构并行计算机的硬件架构多种多样,包括多处理器系统、多核处理器、向量处理机、计算、加速器等这些架构在并行粒度、内存组织、通信GPU FPGA机制等方面各有特点,适合不同类型的并行应用并行处理概述并行处理的动机并行程度和粒度12单处理器性能提升面临物理限制,如功耗墙、存储器墙和指令级并行墙等并行程度指同时进行计算的处理单元数量,粒度则指每个处理单元执行的并行处理通过增加处理单元数量,而非提高单个处理器的频率,来提升计算量根据粒度大小,可以分为细粒度并行(如指令级并行)、中粒度系统性能,同时保持较好的能效比此外,一些应用本身具有天然的并行并行(如线程级并行)和粗粒度并行(如进程级并行)粒度选择需要平特性,如图像处理、科学计算和大数据分析等衡计算效率和通信开销并行性能评估并行程序设计挑战34并行系统性能通常用加速比(串行执行时间/并行执行时间)和效率(加速并行程序设计面临任务划分、负载均衡、通信同步、数据依赖处理和并发比/处理器数量)来衡量理想情况下,N个处理器可以获得N倍加速,但控制等多方面挑战开发人员需要熟悉并行算法设计模式、并行编程模型实际受到Amdahl定律的限制程序中的串行部分决定了可能的最大加速比和相关工具,才能有效利用并行硬件资源其他影响因素还包括负载均衡、通信开销和资源竞争等分类法Flynn(单指令流单数据(单指令流多数据(多指令流单数据(多指令流多数据SISD SIMDMISD MIMD流)流)流)流)传统的串行计算机模型,一次一条指令同时对多个数据项执多条指令同时处理同一个数据多个处理单元执行不同的指令执行一条指令,处理一个数据行相同的操作,适合数据并行项,理论上存在但实际应用较序列,处理不同的数据集例项每条指令按顺序执行,没性强的应用例如向量处理少可能的例子包括某些容错如多核处理器、多处理器系有并行性例如早期的单核器、、现代中的系统或流水线系统在实际计统、分布式系统是最GPU CPUMIMD处理器这是最简单的计算机指令集扩展(如、算机系统中,纯粹的架灵活的并行处理模式,支持任SIMD SSEMISD组织形式,程序设计直观但性)特别适合图像构很少见务级并行和数据级并行,是当AVX SIMD能有限处理、矩阵运算等规则数据结前主流的并行计算机组织形式构的计算多处理器系统共享存储多处理器分布式存储多处理器互连网络所有处理器共享一个全局内存空间,每个处理器有自己的本地内存,不存多处理器系统中,处理器之间通过互通过共享变量进行通信根据内存与在全局共享内存空间,处理器之间通连网络连接,常见拓扑结构包括总线处理器的连接方式,可分为(统过消息传递方式通信这种结构可以、交叉开关、网格、超立方体和胖树UMA一内存访问)和(非统一内存支持更大规模的系统,扩展性好,但等互连网络的选择影响系统的扩展NUMA访问)两种模型中所有处理器程序设计复杂典型系统包括集群计性、通信带宽、延迟和成本高性能UMA访问任何内存位置的延迟相同,如算机、网格计算和云计算平台一些计算系统通常采用低延迟高带宽的专(对称多处理器);中内系统采用混合设计,如集群中的每个用互连网络,如、互连SMP NUMAInfiniBand Cray存访问延迟与物理位置相关,本地内节点内部是共享内存多处理器等存访问快,远程内存访问慢多核处理器核心架构缓存层次片上互连多核处理器在单个芯片上集成多多核处理器通常采用多级缓存结连接多个核心和缓存的通信网络个处理核心,每个核心拥有独立构,低级缓存(L
1、L2)可能是,常见的有总线、环形网络和网的取指、译码和执行单元不同每个核心私有的,而高级缓存(状网络等随着核心数量增加,的多核架构在缓存组织、核心互L3)通常是所有核心共享的缓互连网络的设计对性能影响越来连和资源共享方面有所不同,如存一致性是关键问题,需要特殊越大,高端多核处理器采用复杂同构多核(所有核心相同)和异的协议(如MESI、MOESI)确的片上网络(NoC)结构构多核(不同类型核心)保多个核心看到一致的内存视图功耗管理动态调整时钟频率和电压(DVFS)、选择性关闭闲置核心、高级散热设计等技术用于控制多核处理器的功耗和热量功耗墙是限制多核规模和性能的主要因素之一向量处理机1指令向量处理机使用单一指令对向量数据进行操作64-512向量长度一次可处理的数据元素数量5-20性能提升相比标量处理可获得的典型加速比90%效率理想情况下的向量化代码处理效率向量处理机是一种特殊的SIMD处理器,专门设计用于高效处理向量操作它使用流水线技术同时处理向量中的多个元素,大幅提高处理密集数值计算的效率向量处理器包含特殊的向量寄存器(能够存储多个数据元素的寄存器)和向量功能单元(能够对向量执行算术和逻辑操作)向量处理技术在科学计算、工程模拟、气象预报等领域应用广泛现代CPU中的SIMD指令集扩展(如Intel的AVX、ARM的NEON)提供了类似向量处理的功能GPU(图形处理器)采用了更大规模的SIMD架构,能够同时处理成百上千个数据元素,适合大规模并行计算课程总结与展望关键知识点1从计算机基本概念到高级架构的系统性掌握能力培养2分析问题和设计系统的工程思维训练未来发展3新型计算架构和技术趋势的探索通过本课程的学习,我们系统地了解了计算机硬件系统的基本组成和工作原理,从数据表示、存储系统、指令系统到设计、总线系统和CPU I/O系统,再到并行处理技术,建立了完整的计算机组成与结构知识体系计算机体系结构仍在快速发展,量子计算、神经形态计算、光子计算等新型计算架构不断涌现,特定领域加速器(如芯片)正在重塑计算格AI局未来的计算机将更加强调能效、安全和可扩展性,硬件与软件的协同设计将变得越来越重要希望同学们能够在本课程的基础上,持续关注技术进展,不断更新知识储备,为参与下一代计算系统的创新做好准备。
个人认证
优秀文档
获得点赞 0