《微处理器系统结构及嵌入式系统设计:第二三章 计算机系统的结构组成与工作原理》由会员分享,可在线阅读,更多相关《微处理器系统结构及嵌入式系统设计:第二三章 计算机系统的结构组成与工作原理(108页珍藏版)》请在金锄头文库上搜索。
1、第二、三章第二、三章计算机系统的结构组成与工作原理计算机系统的结构组成与工作原理本章重点本章重点掌握掌握信息在计算机中的表示(自学)信息在计算机中的表示(自学)计算机系统的体系结构和工作原理计算机系统的体系结构和工作原理冯冯诺伊曼结构和哈佛结构诺伊曼结构和哈佛结构计算机性能测评计算机性能测评理解理解现代计算机的基本结构与组成现代计算机的基本结构与组成现在计算机系统的改进现在计算机系统的改进指令流水线技术指令流水线技术2电子工程学院电子工程学院(a)软硬件层次)软硬件层次 (b)语言层次)语言层次2.1 计算机系统的层次结构计算机系统的层次结构1.(a)图自下而上反映了系统逐级生成的过程,自上而
2、下反映了系统求解问题的)图自下而上反映了系统逐级生成的过程,自上而下反映了系统求解问题的过程;过程;2.软硬件的逻辑等价性可以表现为:硬件软化(如软硬件的逻辑等价性可以表现为:硬件软化(如RISC思想)、软件硬化(如思想)、软件硬化(如CISC思想)、固件化(如微程序)思想)、固件化(如微程序) ;3.(b)图中的虚拟机:与某种特殊编程语言对应的假想硬件机器)图中的虚拟机:与某种特殊编程语言对应的假想硬件机器微体系结构层微体系结构层(微程序或硬连逻辑)(微程序或硬连逻辑)操作系统层操作系统层语言处理层(解释、编译)语言处理层(解释、编译)用户程序层(语言编程)用户程序层(语言编程)系统分析层(
3、数学模型、算法)系统分析层(数学模型、算法)硬核硬核级级数字逻辑层(硬件)数字逻辑层(硬件)指令系统层(机器语言指令)指令系统层(机器语言指令)应用语言虚拟机应用语言虚拟机高级语言虚拟机高级语言虚拟机汇编语言虚拟机汇编语言虚拟机操作系统虚拟机操作系统虚拟机机器语言级机器语言级微程序级微程序级寄存器级(硬件)寄存器级(硬件)硬件系统:异常处理机构、指令系统、硬件系统:异常处理机构、指令系统、CPU、存储器、存储器、I/O及通信子系统及通信子系统系统软件:操作系统、编译器、数据库管理系系统软件:操作系统、编译器、数据库管理系统、统、Web浏览器、设备驱动、中断服务程序浏览器、设备驱动、中断服务程序
4、应用软件应用软件3电子工程学院电子工程学院第第5 5级高高级语言言级由由各各种种高高级语言言编译程序支持和程序支持和执行行软件件级符号符号语言言第第4 4级汇编语言言级由由汇编程程序序支支持持和和执行行第第3 3级操作系操作系统级 由操作系由操作系统程序程序实现 混合混合级二二进制制语言言第第2 2级机器机器语言言级由由微微程程序序解解释机机器器指指令系令系统硬件硬件级第第1 1级 微程序微程序设计级由由机机器器硬硬件件直直接接执行行微指令微指令4电子工程学院电子工程学院计算机体系结构计算机体系结构定义定义机器语言程序员所看到的机器语言程序员所看到的计算机系统的属性,计算机系统的属性,由由硬件
5、或硬件或固件固件完成的功能:完成的功能:如:数据表示、寻址规则、寄存器定义、指令集、终端系如:数据表示、寻址规则、寄存器定义、指令集、终端系统、存储系统、信息保护、统、存储系统、信息保护、I/O结构等结构等实质实质确定计算机系统中软硬件的界面确定计算机系统中软硬件的界面界面之上是软件的功能,界面之下是硬件和固件的功能界面之上是软件的功能,界面之下是硬件和固件的功能Computer Architecture5电子工程学院电子工程学院计算机的体系结构计算机的体系结构 1946年年,美国宾夕法尼亚大学莫尔学院的物理学博士,美国宾夕法尼亚大学莫尔学院的物理学博士Mauchley和电气工程和电气工程师师
6、Eckert领导的小组研制成功世界上第一台数字式电子计算机领导的小组研制成功世界上第一台数字式电子计算机ENIAC 。 著名的美籍匈牙利数学家著名的美籍匈牙利数学家Von Neumann参加了为改进参加了为改进ENIAC而举行的一系而举行的一系列专家会议,研究了新型计算机的体系结构。列专家会议,研究了新型计算机的体系结构。 1949年年,英国剑桥大学的威尔克斯等人在,英国剑桥大学的威尔克斯等人在EDSAC 机上实现了冯机上实现了冯诺依曼模诺依曼模式。式。 直至今天冯直至今天冯诺依曼体系结构依然是绝大多数数字计算机的基础。诺依曼体系结构依然是绝大多数数字计算机的基础。6电子工程学院电子工程学院计
7、算机组成计算机组成定义定义计算机体系结构的计算机体系结构的逻辑实现逻辑实现如:机器内部的数据流和控制流的组成以及逻辑如:机器内部的数据流和控制流的组成以及逻辑设计等设计等着眼于机器内各事件的排序方式与控制方式、各着眼于机器内各事件的排序方式与控制方式、各部件的功能以及各部件的部件的功能以及各部件的联系联系7电子工程学院电子工程学院计算机的组成计算机的组成总线结构总线结构8电子工程学院电子工程学院计算机实现计算机实现定义定义计算机组成的计算机组成的物理实现物理实现如处理机、存储器等部件的物理结构,器件的集成度和速如处理机、存储器等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,
8、信号传输,电源、度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等冷却及整机装配技术等着眼于器件技术和微组装技术,其中着眼于器件技术和微组装技术,其中器件技术器件技术在实在实现技术中占主导作用现技术中占主导作用Computer Implementation9电子工程学院电子工程学院计算机的实现计算机的实现n 半导体技术半导体技术n 制造技术制造技术n 封装技术封装技术n 装配技术装配技术n 电源技术电源技术n 冷却技术冷却技术n 10电子工程学院电子工程学院具有相同计算机体系结构(如指令系统相同)的计算机,具有相同计算机体系结构(如指令系统相同)的计算机,可以采用不同的计算
9、机组成可以采用不同的计算机组成例如,取指令、指令译码、指令执行、访存取数、结果写回例如,取指令、指令译码、指令执行、访存取数、结果写回5个阶段,个阶段,可以在时间上按顺序方式进行,也可以让它们在时间上按重叠方式可以在时间上按顺序方式进行,也可以让它们在时间上按重叠方式进行(即时间并行),以提高执行速度进行(即时间并行),以提高执行速度一种计算机组成可以采用多种不同的计算机实现一种计算机组成可以采用多种不同的计算机实现例如,存储器件可以采用静态例如,存储器件可以采用静态RAM(SRAM)芯片,也可以采用动)芯片,也可以采用动态态RAM(DRAM)芯片,可以采用单片大规模集成电路,也可以采)芯片,
10、可以采用单片大规模集成电路,也可以采用中小规模集成电路进行构建用中小规模集成电路进行构建实现方式取决于性能价格比的要求与器件技术的现状实现方式取决于性能价格比的要求与器件技术的现状三个术语的关系三个术语的关系11电子工程学院电子工程学院体系结构角度的多层结构体系结构角度的多层结构硬件向上提供的接口硬件向上提供的接口指令系统指令系统异常事件异常事件端口定义端口定义12电子工程学院电子工程学院组织角度的多层结构组织角度的多层结构13电子工程学院电子工程学院冯冯诺伊曼体系结构诺伊曼体系结构主要特点:使用二进制数和存储程序主要特点:使用二进制数和存储程序设计思想:存储程序并按地址顺序执行设计思想:存储
11、程序并按地址顺序执行把程序及其操作数据把程序及其操作数据一同一同存储存储哈佛体系结构哈佛体系结构(Harvard Architecture)把程序与其操作数据把程序与其操作数据分开分开存储存储源自源自Harvard Mark I计算机计算机现代的冯现代的冯诺伊曼计算机在设计中展示出了某些哈佛诺伊曼计算机在设计中展示出了某些哈佛体系结构的特性,如高速缓存体系结构的特性,如高速缓存Cache2.2 计算机系统的工作原理计算机系统的工作原理14电子工程学院电子工程学院冯冯. . 诺依曼计算机基本结构诺依曼计算机基本结构 CPU 运算器运算器、控制器控制器、寄存器、接口单元、寄存器、接口单元 存储器存
12、储器 内存储器(半导体器件)、外存储器(磁光材料)内存储器(半导体器件)、外存储器(磁光材料) I/O设备设备 输入设备、输出设备(并行及串行功能)输入设备、输出设备(并行及串行功能)通过通过总线总线相互连接相互连接CPU 在某一时刻仅能访问总线上的在某一时刻仅能访问总线上的一个一个部件部件 硬硬件件组组成成15电子工程学院电子工程学院冯冯. . 诺依曼计算机基本结构诺依曼计算机基本结构信息表示:信息表示:二进制二进制 计算机内部的控制信息和数据信息均采用二进制表示,计算机内部的控制信息和数据信息均采用二进制表示,并存放在同一个存储器中。并存放在同一个存储器中。工作原理:工作原理:存储程序存储
13、程序/指令指令(控制控制)驱动驱动 编制好的程序编制好的程序(包括指令和数据包括指令和数据)预先经由输入设备输入预先经由输入设备输入并保存在存储器中;并保存在存储器中; 计算机开始工作后,在不需要人工干预的情况下由控制计算机开始工作后,在不需要人工干预的情况下由控制器控制高速地从存储器中取出指令依次执行。器控制高速地从存储器中取出指令依次执行。16电子工程学院电子工程学院总线子系统总线子系统:作为公共通道连接各子部件,用于实现各部件之间作为公共通道连接各子部件,用于实现各部件之间的数据、信息等的传输和交换的数据、信息等的传输和交换存储器子系统存储器子系统:用来存放当前的运行程序和数据用来存放当
14、前的运行程序和数据输入输出子系统:输入输出子系统:用于完成计算机与外部的信息交换用于完成计算机与外部的信息交换CPU子系统子系统:集成了运算器、控制器和寄存器的超大规模集成电路集成了运算器、控制器和寄存器的超大规模集成电路芯片芯片(VLSI)基于总线的冯基于总线的冯诺依曼架构模型机诺依曼架构模型机17电子工程学院电子工程学院模型机总线子系统模型机总线子系统按传输信息的不同,分为地址总线按传输信息的不同,分为地址总线AB、数据总线、数据总线DB和控和控制总线制总线CB三类:三类:nAB:通常是:通常是单向单向的,由的,由主设备主设备(如如CPU)发出,用于选择读写对象发出,用于选择读写对象(如某
15、个特定的存储单元或外部设备如某个特定的存储单元或外部设备);nDB:用于数据交换,通常是:用于数据交换,通常是双向双向的;的;nCB:包括真正的:包括真正的控制控制信号线信号线(如读如读/写信号写信号)和一些和一些状态状态信号线信号线(如如是否已将数据送上总线是否已将数据送上总线),用于实现对设备的监视和控制。,用于实现对设备的监视和控制。CPURAMROMI/O接口接口外设外设ABDBCB18电子工程学院电子工程学院模型机内存储子系统模型机内存储子系统n存储器组织由许多存储器组织由许多字节单元字节单元组成,每个单元都有一个唯一的编号组成,每个单元都有一个唯一的编号(存储单元(存储单元地址地址
16、),保存的信息称为存储单元),保存的信息称为存储单元内容内容。n访问访问(读或写读或写)存储单元存储单元 :存储单元地址经地址译码后产生相应的选:存储单元地址经地址译码后产生相应的选通信号,同时在控制信号的作用下读出存储单元内容到数据缓冲器,通信号,同时在控制信号的作用下读出存储单元内容到数据缓冲器,或将数据缓冲器中的内容写入选定的单元。或将数据缓冲器中的内容写入选定的单元。19电子工程学院电子工程学院算术逻辑单元算术逻辑单元ALU累加器累加器ACC累加锁存器累加锁存器暂存暂存器器标志寄存器标志寄存器FR通用寄存器组通用寄存器组堆栈指针堆栈指针SP程序计数器程序计数器PC微微 操操 作作 控控
17、 制制 电电 路路指令译码器指令译码器ID指令寄存器指令寄存器IR 操作码操作码 , 地址码地址码脉冲分配器脉冲分配器时钟脉冲源时钟脉冲源控制总线控制总线CB地址总线地址总线AB数据总线数据总线DB内部总线内部总线地址缓冲器地址缓冲器数据缓冲器数据缓冲器运算器运算器寄存器组寄存器组控制器控制器模型机模型机CPU子系统子系统20电子工程学院电子工程学院计算机系统工作时,计算机系统工作时,输入设备将程序与数据存入存储器输入设备将程序与数据存入存储器控制器从存储器中逐条取出指令,将其解释成控制命控制器从存储器中逐条取出指令,将其解释成控制命令,去控制各部件的动作令,去控制各部件的动作数据在运算器中加
18、工处理,处理后的结果通过输出设数据在运算器中加工处理,处理后的结果通过输出设备输出备输出模型机工作原理模型机工作原理21电子工程学院电子工程学院控制器是计算机的管理机构和指挥中心控制器是计算机的管理机构和指挥中心按照预先确定的操作步骤,协调控制计算机各部件有条不紊地自动工按照预先确定的操作步骤,协调控制计算机各部件有条不紊地自动工作作控制器工作的实质就是控制器工作的实质就是解释程序解释程序逐条读取、分析、执行指令,控制各部件动作逐条读取、分析、执行指令,控制各部件动作高级计算机中的控制器可以改变某些指令的顺序,以改善性能高级计算机中的控制器可以改变某些指令的顺序,以改善性能控制器的控制器的组成
19、组成程序计数器(程序计数器(PC)、指令寄存器()、指令寄存器(IR)、指令译码器)、指令译码器(ID)、时序发生器、操作控制器)、时序发生器、操作控制器程序计数器程序计数器(Program Counter)是一个特殊的寄存器是一个特殊的寄存器记录着将要读取的下一条指令在存储器中的位置记录着将要读取的下一条指令在存储器中的位置1控制器控制器22电子工程学院电子工程学院1)控制器的基本工作流程)控制器的基本工作流程从程序计数器所指示的存储单元中,从程序计数器所指示的存储单元中,读取指令代码读取指令代码把指令代码译码为一系列命令或信号,把指令代码译码为一系列命令或信号,发向各个不同的功能部件发向各
20、个不同的功能部件递增程序计数器,以指向下一条指令递增程序计数器,以指向下一条指令根据指令需要,从存储器(或输入设根据指令需要,从存储器(或输入设备)读取数据,所需数据的存储器备)读取数据,所需数据的存储器位置通常保存在指令代码中位置通常保存在指令代码中把读取的数据提供给运算器或寄存器把读取的数据提供给运算器或寄存器如果指令需要由运算器来完成,则命如果指令需要由运算器来完成,则命令运算器执行所请求的操作令运算器执行所请求的操作把来自运算器的计算结果写回到存储把来自运算器的计算结果写回到存储器、寄存器或输出设备器、寄存器或输出设备转回第转回第步步23电子工程学院电子工程学院2)指令和数据)指令和数
21、据计算机中有两股信息在流动计算机中有两股信息在流动控制信息控制信息即操作命令即操作命令发源地是控制器,分散流向各个部件发源地是控制器,分散流向各个部件数据信息数据信息受控制信息的控制,从一个部件流向另一个部件,受控制信息的控制,从一个部件流向另一个部件,边流动边加工处理边流动边加工处理如何区分存放在一起的指令和数据?如何区分存放在一起的指令和数据?取指周期中从存储器读出的信息流是指令流取指周期中从存储器读出的信息流是指令流由存储器流向控制器由存储器流向控制器执行周期中从存储器读出的信息流是数据流执行周期中从存储器读出的信息流是数据流由存储器流向运算器由存储器流向运算器24电子工程学院电子工程学
22、院2运算器运算器对数据进行对数据进行算术运算和逻辑运算算术运算和逻辑运算由由算术逻辑单元算术逻辑单元(ALU)和一系列)和一系列寄存寄存器器组成组成ALU具体完成算术与逻辑运算的单元具体完成算术与逻辑运算的单元运算器的核心运算器的核心由加法器和其他逻辑运算单元组成由加法器和其他逻辑运算单元组成寄存器寄存器用于存放参与运算的操作数用于存放参与运算的操作数累加器累加器一个特殊的寄存器一个特殊的寄存器除了存放操作数之外,还用于存放除了存放操作数之外,还用于存放中间结果和最后结果中间结果和最后结果25电子工程学院电子工程学院ALU所支持的算术运算所支持的算术运算可能仅局限于加法和减法,也可能包括乘法、
23、除法,可能仅局限于加法和减法,也可能包括乘法、除法,甚至三角函数和平方根甚至三角函数和平方根有些只支持整数,有些则可以使用浮点来表示有限精有些只支持整数,有些则可以使用浮点来表示有限精度的实数度的实数任何计算机都可以通过编程来执行任何的算术运算任何计算机都可以通过编程来执行任何的算术运算简单的计算机可以通过编程,把复杂的运算分解成简单的计算机可以通过编程,把复杂的运算分解成它可以执行的简单步骤它可以执行的简单步骤如果如果ALU不能从硬件上直接支持,则可把复杂运算不能从硬件上直接支持,则可把复杂运算用软件方式实现,但需要花费较多的时间用软件方式实现,但需要花费较多的时间26电子工程学院电子工程学
24、院ALU所支持的逻辑运算所支持的逻辑运算与(与(AND)、或()、或(OR)、异或()、异或(XOR)、非)、非(NOT)等布尔运算)等布尔运算比较数值比较数值新型新型ALU超标量(超标量(Superscalar)计算机包含多个)计算机包含多个ALU可以同时处理多条指令可以同时处理多条指令图形处理器和具有并行特性的计算机的图形处理器和具有并行特性的计算机的ALU可以执行矢量和矩阵算术运算可以执行矢量和矩阵算术运算27电子工程学院电子工程学院3存储器存储器存储器的主要功能是存放程序和数据存储器的主要功能是存放程序和数据向存储器存入或从存储器取出信息,都称为访问存储器向存储器存入或从存储器取出信息
25、,都称为访问存储器存储器由一系列存储单元组成存储器由一系列存储单元组成,每个存储单元的编号称为每个存储单元的编号称为地址,要按给定的地址来寻找所选择的存储单元地址,要按给定的地址来寻找所选择的存储单元存储容量存储容量存储器中所有存储单元的总数存储器中所有存储单元的总数常用单位常用单位:KB(Kilobyte,千字节),千字节)、MB(Megabyte,兆字节),兆字节)、GB(Gigabyte,千兆字节),千兆字节)1KB=1024B,1MB=1024KB,1GB=1024MB存储器分类存储器分类按照存储器在计算机中的作用,可分为按照存储器在计算机中的作用,可分为主存储器、寄存器、主存储器、寄
26、存器、闪速存储器、高速缓冲存储器、辅助存储器闪速存储器、高速缓冲存储器、辅助存储器28电子工程学院电子工程学院1)主存储器)主存储器主存储器主存储器(Main Memory,简称主存),简称主存)通常采用半导体存通常采用半导体存储器储器随机存取存储器随机存取存储器(Random Access Memory,RAM)CPU可读写可读写掉电时内容被消除掉电时内容被消除只读存储器只读存储器(Read-Only Memory,ROM)CPU只能读取只能读取掉电时可保留其数据掉电时可保留其数据事先加载了固化的数据和软件(如事先加载了固化的数据和软件(如PC机的机的BIOS,无盘嵌入式计算机的全部软件)无
27、盘嵌入式计算机的全部软件)存储在存储在ROM中的软件常被称为固件(中的软件常被称为固件(Firmware)29电子工程学院电子工程学院2)寄存器)寄存器寄存器寄存器(Register)是是CPU内部的一组特殊存储单元内部的一组特殊存储单元读写速度比主存快得多读写速度比主存快得多通常被用于使用最为频繁的数据项,以避免多次访问主通常被用于使用最为频繁的数据项,以避免多次访问主存存减少主存访问可大大加快计算机速度减少主存访问可大大加快计算机速度在在CPU中中至少至少要有六类寄存器要有六类寄存器指令寄存器(指令寄存器(IR)、程序计数器()、程序计数器(PC)、地址寄存器)、地址寄存器(AR)、数据寄
28、存器()、数据寄存器(DR)、累加寄存器()、累加寄存器(AC)、程)、程序状态字寄存器(序状态字寄存器(PSW)这些寄存器用来这些寄存器用来暂存一个暂存一个计算机计算机字字其数目可以根据需要进行扩充其数目可以根据需要进行扩充30电子工程学院电子工程学院指令寄存器指令寄存器指令寄存器指令寄存器(Instruction Register,IR)用来)用来保保存当前正在执行的一条指令存当前正在执行的一条指令当执行一条指令时,当执行一条指令时,首先把该指令从主存读取到数据寄存器中首先把该指令从主存读取到数据寄存器中然后再传送至指令寄存器然后再传送至指令寄存器指令译码器指令译码器(Instructio
29、n Decoder,ID)对对操作码操作码进行分析,识别出所要求的操作进行分析,识别出所要求的操作对指令寄存器的操作码部分进行译码,以产生指令所对指令寄存器的操作码部分进行译码,以产生指令所要求操作的控制电位,并将其送到微操作控制线路上要求操作的控制电位,并将其送到微操作控制线路上在时序部件定时信号的作用下,产生具体的在时序部件定时信号的作用下,产生具体的操作控制操作控制信号信号31电子工程学院电子工程学院程序计数器程序计数器程序计数器程序计数器(Program Counter,PC)用来指出)用来指出下一条指下一条指令令在主存储器中的在主存储器中的地址地址在程序执行之前,在程序执行之前,首先
30、必须将程序的首地址,即程序第一条指令所在主存单元的地首先必须将程序的首地址,即程序第一条指令所在主存单元的地址送入址送入PC当执行指令时,当执行指令时,CPU能能自动递增自动递增PC的内容,使其的内容,使其始终保存始终保存将要执行的将要执行的下一条指下一条指令的主存地址令的主存地址,为取下一条指令做好准备,为取下一条指令做好准备若为单字长指令,则若为单字长指令,则(PC)+1PC若为双字长指令,则若为双字长指令,则(PC)+2PC,以此类推,以此类推当遇到当遇到转移指令转移指令时,下一条指令的地址将由时,下一条指令的地址将由转移指令的地址码字转移指令的地址码字段段来指定来指定程序计数器具有程序
31、计数器具有寄存信息和计数寄存信息和计数两种功能两种功能32电子工程学院电子工程学院地址寄存器地址寄存器地址寄存器地址寄存器(Address Register,AR)用来保存)用来保存CPU当前所访问当前所访问的主存单元的的主存单元的地址地址由于在主存和由于在主存和CPU之间存在之间存在操作速度操作速度上的上的差异差异,必须,必须使用地址寄存器来暂时保存主存的地址信息,直到主使用地址寄存器来暂时保存主存的地址信息,直到主存的存取操作完成为止存的存取操作完成为止当当CPU和主存进行信息交换时,都要使用地址寄存器和主存进行信息交换时,都要使用地址寄存器和数据寄存器和数据寄存器如果把外围设备与主存单元
32、进行统一编址,当如果把外围设备与主存单元进行统一编址,当CPU和和外围设备交换信息时,同样要使用地址寄存器和数据外围设备交换信息时,同样要使用地址寄存器和数据寄存器寄存器33电子工程学院电子工程学院数据寄存器数据寄存器数据寄存器数据寄存器(Data Register,DR)又称)又称数据缓冲数据缓冲寄存器寄存器其主要功能是作为其主要功能是作为CPU和主存、外设之间信息传输的和主存、外设之间信息传输的中转站中转站用以用以弥补弥补CPU和主存、外设之间操作和主存、外设之间操作速度上的差异速度上的差异在单累加器结构的运算器中,数据寄存器还可兼作操在单累加器结构的运算器中,数据寄存器还可兼作操作数寄存
33、器作数寄存器数据寄存器用来数据寄存器用来暂时存放由主存储器读出的一条暂时存放由主存储器读出的一条指令或一个数据字指令或一个数据字当向主存存入一条指令或一个数据字时,也将它当向主存存入一条指令或一个数据字时,也将它们暂时存放在数据寄存器中们暂时存放在数据寄存器中34电子工程学院电子工程学院累加寄存器累加寄存器累加寄存器通常简称累加寄存器通常简称累加器累加器(Accumulator,ACC),是一个),是一个通用寄存器通用寄存器累加器的功能累加器的功能当运算器的算术逻辑单元当运算器的算术逻辑单元ALU执行算术或逻辑运算时,执行算术或逻辑运算时,为为ALU提供一个工作区,可以为提供一个工作区,可以为
34、ALU暂时保存一个操暂时保存一个操作数或运算结果作数或运算结果运算器中至少要有一个累加寄存器运算器中至少要有一个累加寄存器35电子工程学院电子工程学院程序状态字寄存器程序状态字寄存器程序状态字程序状态字(Program Status Word,PSW)用)用来表征当前运算的状态及程序的工作方式来表征当前运算的状态及程序的工作方式程序状态字寄存器程序状态字寄存器用来保存由算术用来保存由算术/逻辑指令运行或测试的结果所建立逻辑指令运行或测试的结果所建立起来的各种起来的各种条件码条件码内容内容如运算结果进如运算结果进/借位标志(借位标志(C)、运算结果溢出)、运算结果溢出标志(标志(O)、运算结果为
35、零标志()、运算结果为零标志(Z)、运算结)、运算结果为负标志(果为负标志(N)、运算结果符号标志()、运算结果符号标志(S)等)等这些标志位通常用这些标志位通常用1位触发器位触发器来保存来保存还用来保存中断和系统工作状态等信息还用来保存中断和系统工作状态等信息以便以便CPU和系统及时了解机器运行状态和程序和系统及时了解机器运行状态和程序运行状态运行状态36电子工程学院电子工程学院3)闪速存储器)闪速存储器闪速存储器闪速存储器(Flash Memory,简称闪存),简称闪存)像像ROM一样在关机时保留数据一样在关机时保留数据像像RAM一样可被重写一样可被重写通常比通常比ROM和和RAM慢得多慢
36、得多用于非高速的应用场合用于非高速的应用场合37电子工程学院电子工程学院4)高速缓冲存储器)高速缓冲存储器Cache高速缓冲存储器(简称高速缓存)高速缓冲存储器(简称高速缓存)Cache比寄存器慢,但比主存快比寄存器慢,但比主存快位于位于CPU和主存储器之间和主存储器之间规模较小,但速度很快规模较小,但速度很快能够很好地解决能够很好地解决CPU和主存之间的速度匹配问题和主存之间的速度匹配问题计算机自动把频繁访问数据移入计算机自动把频繁访问数据移入Cache,无需人,无需人工干预工干预当需要读写数据时,当需要读写数据时,CPU首先访问首先访问Cache只有当只有当Cache中不包含所需要的数据时
37、,中不包含所需要的数据时,CPU才去访才去访问主存问主存38电子工程学院电子工程学院5)辅助存储器)辅助存储器外存储器(简称外存)或辅助存储器(简称辅存)外存储器(简称外存)或辅助存储器(简称辅存)软盘存储器、硬盘存储器、光盘存储器等软盘存储器、硬盘存储器、光盘存储器等存放当前不在运行的程序和未被用到的数据存放当前不在运行的程序和未被用到的数据存储容量大、成本低,可脱机保存信息存储容量大、成本低,可脱机保存信息相对而言,半导体存储器称为内存储器,简称内存相对而言,半导体存储器称为内存储器,简称内存39电子工程学院电子工程学院1)输入设备)输入设备将人们熟悉的信息形式,变换成计算机能接受并将人们
38、熟悉的信息形式,变换成计算机能接受并识别的二进制信息形式识别的二进制信息形式理想的输入设备应该是理想的输入设备应该是“会看会看”和和“会听会听”的的键盘、鼠标、扫描仪等,以及用于文字识别、图键盘、鼠标、扫描仪等,以及用于文字识别、图像识别、语音识别的设备像识别、语音识别的设备4输入输出设备输入输出设备40电子工程学院电子工程学院2)输出设备)输出设备将计算机输出的处理结果信息,转换成人类或其将计算机输出的处理结果信息,转换成人类或其他设备能够接受和识别的信息形式他设备能够接受和识别的信息形式理想的输出设备应该是理想的输出设备应该是“会写会写”和和“会讲会讲”的的激光打印机、绘图仪、激光打印机、
39、绘图仪、CRT/LCD显示器等,以显示器等,以及输出语言的设备(如语音合成产品)及输出语言的设备(如语音合成产品)4输入输出设备输入输出设备41电子工程学院电子工程学院3)适配器)适配器外围设备通过适配器(外围设备通过适配器(Adapter)部件与主机相连接)部件与主机相连接作用相当于转换器,保证外围设备按照计算机系统特作用相当于转换器,保证外围设备按照计算机系统特性所要求的形式发送或接收信息性所要求的形式发送或接收信息使主机和外围设备并行协调地工作使主机和外围设备并行协调地工作4输入输出设备输入输出设备42电子工程学院电子工程学院5总线总线多个系统部件之间进行数据传送的多个系统部件之间进行数
40、据传送的公共通路公共通路按照按照信号类型信号类型,可将总线分为,可将总线分为地址总线地址总线(AB),数据总线(,数据总线(DB),控制总线),控制总线(CB)按按功能功能分类分类片内总线片内总线CPU 芯片内部功能单元的信号连接总线芯片内部功能单元的信号连接总线片总线片总线计算机系统主板各芯片间的信号连接总线计算机系统主板各芯片间的信号连接总线内总线内总线计算机系统主板与外设间的信号连接总线计算机系统主板与外设间的信号连接总线外总线外总线计算机系统间的信号连接总线计算机系统间的信号连接总线43电子工程学院电子工程学院程序的执行过程程序的执行过程取指令、分析指令、执行指令取指令、分析指令、执行
41、指令ABDBALUR1暂存器暂存器标志寄存器标志寄存器FR寄存器组寄存器组 操作控制器操作控制器OC指令译码器指令译码器ID指令寄存器指令寄存器IR 操作码操作码, 地址码地址码内部总线内部总线地址缓冲器地址缓冲器数据缓冲器数据缓冲器程序计数程序计数器器PC地地址址译译码码读控制读控制B0H5CH04H2EH地址地址1001H1002H1003H内容内容1000H内存储器内存储器MOV 5CH, R1ADD R1, 2EH, R11CPU外外CPU内内44电子工程学院电子工程学院模型机指令系统模型机指令系统n指令是发送到指令是发送到CPU的命令,指示的命令,指示CPU执行一个特定的处理,如从存
42、储器执行一个特定的处理,如从存储器取数据、对数据进行逻辑运算等。取数据、对数据进行逻辑运算等。CPU可以处理的全部指令集合称为可以处理的全部指令集合称为指指令集令集(Instruction Set)。指令集结构。指令集结构(ISA,Instruction Set Architecture) 是体系结构的主要内容之一,对是体系结构的主要内容之一,对CPU的基本组织会产生非常大的影响。的基本组织会产生非常大的影响。ISA功能设计实际就是功能设计实际就是确定软硬件的功能分配确定软硬件的功能分配。n指令通常包含指令通常包含操作码和操作数操作码和操作数两部分。操作码指明要完成操作的性质,两部分。操作码指
43、明要完成操作的性质,如加、减、乘、除、数据传送、移位等;操作数指明参加上述规定操作如加、减、乘、除、数据传送、移位等;操作数指明参加上述规定操作的数据或数据所存放的地址。的数据或数据所存放的地址。汇编语言源程序汇编语言源程序机器语言程序机器语言程序(目标代码)(目标代码)汇编(汇编程序)汇编(汇编程序)高级语言源程序高级语言源程序编译或解释(编译程序)编译或解释(编译程序)45电子工程学院电子工程学院模型机常用汇编指令模型机常用汇编指令指指 令令 类类 型型操作码示例操作码示例操作数示例操作数示例说说 明明算术类算术类加法加法ADDRs1, Rs2, RdRs, Imm, Rd(Rs1)+(R
44、s2) Rd(Rs)+Imm Rd运算类指令只能对寄存器中的数运算类指令只能对寄存器中的数据或立即数进行直接操作据或立即数进行直接操作减法减法SUBRs1, Rs2, RdRs, Imm, Rd(Rs1)-(Rs2) Rd(Rs)-Imm Rd逻辑类逻辑类位与位与ANDRs1, Rs2, RdRs, Imm, Rd(Rs1)(Rs2) Rd(Rs)Imm Rd位或位或ORRs1, Rs2, RdRs, Imm, Rd(Rs1)(Rs2) Rd(Rs)Imm Rd位非位非NOTRs, Rd!(Rs) Rd传送类传送类存储器或存储器或I/O读读LDRMEM, RdMEM (Rd)将指定地址的存储单
45、元或将指定地址的存储单元或I/O端口端口的值读入寄存器的值读入寄存器Rd存储器或存储器或I/O写写STRRs, MEM(Rs) MEM将寄存器将寄存器Rs的值写入指定地址的值写入指定地址的存储单元或的存储单元或I/O端口端口寄存器访问寄存器访问MOVRs, RdImm, Rd(Rs) (Rd)跳转类跳转类无条件跳转无条件跳转JMPLableLable (PC)条件跳转条件跳转JX/JNXLableIf X为真为真/假,则假,则Lable (PC)过程调用过程调用CALLSub-LableSub-Lable (PC)调用子程序调用子程序过程返回过程返回RET-返回主程序返回主程序其他其他停机停机
46、HLT-46电子工程学院电子工程学院指令周期的基本概念指令周期的基本概念1)指令周期)指令周期2)CPU周期周期3)时钟周期)时钟周期4)取出和执行任何一条指令所需的最短时间)取出和执行任何一条指令所需的最短时间为为2个个CPU周期周期47电子工程学院电子工程学院1)指令周期)指令周期CPU取出一条指令并执行该指令所需的时间取出一条指令并执行该指令所需的时间指令周期的长短与指令的复杂程度有关指令周期的长短与指令的复杂程度有关指令周期常常用若干个指令周期常常用若干个CPU周期数来表示周期数来表示2)CPU周期周期通常用通常用从主存读取一条指令的最短时间从主存读取一条指令的最短时间CPU周期也称为
47、周期也称为机器周期机器周期一个一个CPU周期包含若干个时钟周期周期包含若干个时钟周期指令周期的基本概念指令周期的基本概念48电子工程学院电子工程学院3)时钟周期)时钟周期处理操作的最基本时间单位处理操作的最基本时间单位,由机器的主频决定,由机器的主频决定一个一个CPU周期的时间宽度由若干个时钟周期的总和周期的时间宽度由若干个时钟周期的总和来决定来决定采用定长采用定长CPU周期的指令周期示意图周期的指令周期示意图指令周期的基本概念指令周期的基本概念49电子工程学院电子工程学院4)执行指令周期)执行指令周期任何一条指令的任何一条指令的指令周期至少需要指令周期至少需要2个个CPU周期周期,而,而复杂
48、指令的指令周期则需要更多的复杂指令的指令周期则需要更多的CPU周期周期一条一条指令的取出阶段指令的取出阶段需要需要一个一个CPU周期周期时间时间一条一条指令的执行阶段指令的执行阶段需要需要至少一个至少一个CPU周期周期时间时间指令的复杂度不同,其执行周期所需的指令的复杂度不同,其执行周期所需的CPU周期数周期数也不尽相同也不尽相同指令周期的基本概念指令周期的基本概念50电子工程学院电子工程学院【例例】 现有一个由现有一个由5条典型指令组成的程序,请分析条典型指令组成的程序,请分析每一条指令的指令周期。每一条指令的指令周期。主存主存储器器操作操作说明明地址地址指令或数据内容指令或数据内容020H
49、CLA0AC,累加器,累加器AC清零清零021HADD 30H(AC)+(30H)AC,累累加加器器AC的的值与与主主存存地地址址30H中中的的数据相加,数据相加,结果存入累加器果存入累加器AC022HSTA 40H(AC)40H,把累加器,把累加器AC的的值存入主存地址存入主存地址40H023HNOP空操作,没有任何功能空操作,没有任何功能024HJMP 21H无条件无条件转移到主存地址移到主存地址21H处开始开始执行行030H操作数操作数040H存放运算存放运算结果果51电子工程学院电子工程学院 CLA指令指令CLA指令是一条指令是一条不访问主存不访问主存的的清零指令,需要清零指令,需要2
50、个个CPU周期周期取指令阶段需要取指令阶段需要1个个CPU周期周期执行指令阶段需要执行指令阶段需要1个个CPU周期周期在在第第1个个CPU周期周期CPU从主存取出指令从主存取出指令对程序计数器对程序计数器PC加加1对指令操作码进行译码,以确定执对指令操作码进行译码,以确定执行何种操作行何种操作在在第第2个个CPU周期周期CPU完成指令所要求的操作完成指令所要求的操作【解解】52电子工程学院电子工程学院 ADD 30H指令指令ADD 30H指令是一条指令是一条访问主存访问主存取数取数并执行加法的指令,其指令周期由并执行加法的指令,其指令周期由3个个CPU周期组成周期组成取指令阶段需要取指令阶段需
51、要1个个CPU周期周期执行指令阶段需要执行指令阶段需要2个个CPU周期周期在在第第1个个CPU周期周期CPU从主存取出从主存取出指令指令译码译码,以确定执行何,以确定执行何种操作种操作在在第第2个个CPU周期周期CPU将指令的地址码将指令的地址码(操作数地址)部分(操作数地址)部分(30H)送往地址寄存器)送往地址寄存器完成完成地址译码地址译码在在第第3个个CPU周期周期CPU从主存取出操作数从主存取出操作数执行加法执行加法操作操作53电子工程学院电子工程学院 STA 40H指令指令STA 40H指令是一条访问主存的指令是一条访问主存的存数存数指令,其指令周期由指令,其指令周期由3个个CPU周
52、周期组成期组成取指令阶段需要取指令阶段需要1个个CPU周期周期执行指令阶段需要执行指令阶段需要2个个CPU周期周期在第在第1个个CPU周期周期CPU从主存取出指令从主存取出指令译码,以确定执行译码,以确定执行何种操作何种操作在第在第2个个CPU周期周期CPU将指令的地址码将指令的地址码(操作数地址)部分(操作数地址)部分(40H)送往地址寄存器)送往地址寄存器完成完成地址译码地址译码在第在第3个个CPU周期周期CPU把累加寄存器的内容把累加寄存器的内容写入主存写入主存单元(单元(40H)中)中54电子工程学院电子工程学院 NOP指令指令NOP指令是一条空操作指令,没有任何功能,相当于指令是一条
53、空操作指令,没有任何功能,相当于CPU空转,但仍需要空转,但仍需要2个个CPU周期周期取指令阶段需要取指令阶段需要1个个CPU周期周期执行指令阶段需要执行指令阶段需要1个个CPU周期周期在第在第1个个CPU周期周期CPU从主存取出指令从主存取出指令译码,以确定执行何种操作译码,以确定执行何种操作在第在第2个个CPU周期周期操作控制器不发出任何控制信号,操作控制器不发出任何控制信号,CPU不做任何操作不做任何操作55电子工程学院电子工程学院 JMP 21H指令指令JMP 21H指令是一条直接寻址的程序控制(转移)指令,指令是一条直接寻址的程序控制(转移)指令,由由2个个CPU周期组成周期组成取指
54、令阶段需要取指令阶段需要1个个CPU周期周期执行指令阶段需要执行指令阶段需要1个个CPU周期周期在第在第1个个CPU周期周期CPU从主存取出指令从主存取出指令译码,以确定执行何种操作译码,以确定执行何种操作在第在第2个个CPU周期周期CPU把指令的地址码(转移地址)部分(把指令的地址码(转移地址)部分(21H)送到程序计数器)送到程序计数器PC中,从而改变程序的执行顺序,实现程序的无条件转移中,从而改变程序的执行顺序,实现程序的无条件转移56电子工程学院电子工程学院2.5 计算机系统的性能测定计算机系统的性能测定计算机系统的性能由硬件性能和程序特性决定,通常可利用标计算机系统的性能由硬件性能和
55、程序特性决定,通常可利用标准测试程序来测定性能。准测试程序来测定性能。1、用、用MIPS (Million Instructions Per Second,每秒百万条指令每秒百万条指令)或或MFLOPS(每秒百万次浮点操作每秒百万次浮点操作)的数值来衡量计算机系统的硬件速度的数值来衡量计算机系统的硬件速度2、用用 CPU执行时间执行时间T来量化硬软件结合系统的有效速度。来量化硬软件结合系统的有效速度。MIPS = f(MHz)/CPI T(s) = (IC CPI)/f(Hz)f(时钟频率):(时钟频率): CPU的基本工作频率的基本工作频率IC(指令数目):运行程序的指令总数(指令数目):运
56、行程序的指令总数CPI(Cycles Per Instruction):指令执行的平均时钟周期数):指令执行的平均时钟周期数,可从运行大量测试程序或实际程序产生的统计数据中计算出来可从运行大量测试程序或实际程序产生的统计数据中计算出来CPI数越小,数越小,CPU执行指令的速度越快执行指令的速度越快57电子工程学院电子工程学院假设一台计算机的时钟频率是假设一台计算机的时钟频率是100 MHz(每秒百万周期每秒百万周期),具,具有有4种类型的指令,它们的种类型的指令,它们的使用率使用率和和CPI分别如下表所示。求分别如下表所示。求该计算机的该计算机的MIPS值以及运行一个具有值以及运行一个具有10
57、7条指令的程序所需条指令的程序所需的的CPU时间。时间。每秒叁千五百万条指令每秒叁千五百万条指令计算机系统性能量度值计算计算机系统性能量度值计算58电子工程学院电子工程学院冯冯诺依曼体系结构诺依曼体系结构瓶颈瓶颈指令执行的串行性指令执行的串行性存储器读取的串行性存储器读取的串行性改进改进CPU指令集:指令集: 指令功能、指令格式、寻址方式指令功能、指令格式、寻址方式 存储器子系统:存储器子系统: 分层结构分层结构 输入输入/输出子系统:输出子系统: 总线总线/接口接口+多种多种I/O方式方式改变改变改变改变串行串行执行模式,发展执行模式,发展并行并行技术技术改变改变控制驱动控制驱动方式,发展方
58、式,发展数据驱动数据驱动、需求驱动、需求驱动、模式驱动等其它驱动方式模式驱动等其它驱动方式2.3 微处理器体系结构的改进微处理器体系结构的改进59电子工程学院电子工程学院不同的指令集设计:不同的指令集设计:CISC与与RISCCISC(Complex Instruction Set Computer,复杂指令集计算机),复杂指令集计算机)不断增强指令的功能以及设置更复杂的新指令取代原先不断增强指令的功能以及设置更复杂的新指令取代原先由程序段完成的功能,从而实现软件功能的硬化。由程序段完成的功能,从而实现软件功能的硬化。RISC(Reduced Instruction Set Computer,
59、精简指令集计算机),精简指令集计算机)通过减少指令种类和简化指令功能来降低硬件设计复杂通过减少指令种类和简化指令功能来降低硬件设计复杂度,从而提高指令的执行速度。度,从而提高指令的执行速度。现代计算机:现代计算机:RISC+CISC60电子工程学院电子工程学院CISC的特点及设计思想的特点及设计思想美国加州大学美国加州大学Berkeley分校的研究结果表明:分校的研究结果表明: n许多复杂指令很少被使用,许多复杂指令很少被使用,“2-8原则原则”n控制器硬件复杂(指令多,控制器硬件复杂(指令多,且具有不定长格式和复杂的且具有不定长格式和复杂的数据类型),占用了大量芯数据类型),占用了大量芯片面
60、积,且容易出错;片面积,且容易出错;n指令操作繁杂,速度慢;指令操作繁杂,速度慢;n指令规整性不好,不利于采用指令规整性不好,不利于采用流水线技术提高性能。流水线技术提高性能。61电子工程学院电子工程学院RISC的特点及设计思想的特点及设计思想 RISC机的设计应当遵循以下五个原则:机的设计应当遵循以下五个原则:n指令条数少,格式简单,易于译码;指令条数少,格式简单,易于译码;n提供足够的寄存器,只允许提供足够的寄存器,只允许load和和store指令访问内存;指令访问内存;n指令由硬件直接执行,指令由硬件直接执行,在单个周期内完成;在单个周期内完成;n充分利用流水线;充分利用流水线;n依赖优
61、化编译器的作用;依赖优化编译器的作用;62电子工程学院电子工程学院CISC与与RISC的数据流的数据流IRIDREGALUMEM开始开始退出退出IRIDALUMEMREG微操作通道微操作通道开始开始退出退出单通数据通道单通数据通道RISC:Load/Store结构结构CISC:寻址方式复杂:寻址方式复杂63电子工程学院电子工程学院分层的存储子系统分层的存储子系统如何以合理的价格搭建出容量和速度都满足要求的存储系统,始终是计如何以合理的价格搭建出容量和速度都满足要求的存储系统,始终是计算机体系结构设计中的关键问题之一。算机体系结构设计中的关键问题之一。现代计算机系统通常把不同的存储设备按一定的体
62、系结构组织起来,以现代计算机系统通常把不同的存储设备按一定的体系结构组织起来,以解决解决存储容量存储容量、存取速度和价格存取速度和价格之间的矛盾。之间的矛盾。设计目标:设计目标:整个存储系统速度接近整个存储系统速度接近M1,而价格和容量接近而价格和容量接近Mn64电子工程学院电子工程学院其他改善存储器带宽的方法其他改善存储器带宽的方法并行存储器并行存储器双端口存储器双端口存储器哈佛体系结构哈佛体系结构DSP程序程序数据数据I/O接口接口外设外设程序地址程序地址数据读地址数据读地址数据写地址数据写地址程序读总线程序读总线数据读总线数据读总线程序程序/数据写数据写数据数据程序程序65电子工程学院电
63、子工程学院现代高速总线现代高速总线高速并行总线高速并行总线高速总线串行化高速总线串行化66电子工程学院电子工程学院计算机体系结构的演进:并行处理技术计算机体系结构的演进:并行处理技术 并行处理技术实现多个处理器或处理器模块的并行并行处理技术实现多个处理器或处理器模块的并行性,其基本思想包括性,其基本思想包括时间重叠时间重叠(time interleaving)、资源资源重复重复(resource replicaiton)和资源共享和资源共享(resource sharing)。 指令级并行技术指令级并行技术ISP流水线流水线、超标量超标量、超长指令字超长指令字 系统级并行技术SLP多处理器(多
64、机/多核)、多磁盘 线程级并行技术TLP同时多线程SMT 电路级并行技术CLP组相联cache、先行进位加法器67电子工程学院电子工程学院流水线原理流水线原理 取指令取指令译码译码取操作数取操作数运算运算写结果写结果指令执行过程:指令执行过程:指令控制器指令控制器运算器运算器取指令取指令译码译码取操作数取操作数指令控制器指令控制器运算运算写结果写结果运算器运算器取指令取指令译码译码取操作数取操作数指令控制器指令控制器流水线过程:流水线过程: 任务分割任务分割子任务子任务并发执行并发执行实现实现时间并行性时间并行性68电子工程学院电子工程学院指令时空图指令时空图顺序顺序执行执行4级流级流水线水线
65、执行执行流水线满载流水线满载69电子工程学院电子工程学院更细的流水线更细的流水线取指(取指(FI)指令译码(指令译码(DI)计算操作数地址计算操作数地址(CO)取操作数(取操作数(FO)执行指令(执行指令(EI)写操作数(写操作数(WO)70电子工程学院电子工程学院流水线由一系列串联的流水线由一系列串联的功能部件(功能部件(Si)组成组成各个功能部件之间设有各个功能部件之间设有高速缓冲寄存器(高速缓冲寄存器(L),),以暂时保以暂时保存上一功能部件对子任务处理的结果,同时又能够接受新存上一功能部件对子任务处理的结果,同时又能够接受新的处理任务的处理任务在一个在一个统一的时钟(统一的时钟(C)控
66、制下,计算任务从功能部件的控制下,计算任务从功能部件的一个功能段流向下一个功能段一个功能段流向下一个功能段在流水线中,在流水线中,所有功能段同时对不同的数据进行不同的处所有功能段同时对不同的数据进行不同的处理理,各个处理步骤并行地操作,各个处理步骤并行地操作流水线的硬件基本结构流水线的硬件基本结构71电子工程学院电子工程学院流水线技术本质流水线技术本质将一个重复的时序过程分解成若干个子过程将一个重复的时序过程分解成若干个子过程每一个子过程都可有效地在其专用功能段上与其每一个子过程都可有效地在其专用功能段上与其他子过程同时执行他子过程同时执行采用流水线技术通过硬件实现并行操作后,采用流水线技术通
67、过硬件实现并行操作后,就就某一条指令某一条指令而言,其执行速度并没有加快而言,其执行速度并没有加快但就程序执行过程的但就程序执行过程的整体整体而言,程序执行速度大而言,程序执行速度大大加快大加快流水线技术适合于大量的流水线技术适合于大量的重复性重复性的处理的处理流水线特点流水线特点72电子工程学院电子工程学院流水线特点流水线特点优点:优点: 通过指令级并行来提高性能。通过指令级并行来提高性能。缺点:缺点:n增加了硬件成本。增加了硬件成本。n流水寄存器会引入延迟和时钟偏移,这些额外开销会使流水寄存器会引入延迟和时钟偏移,这些额外开销会使每条指令的执行时间有所增加,同时限制了流水线的深每条指令的执
68、行时间有所增加,同时限制了流水线的深度。度。 n流水线中各段的操作存在关联(流水线中各段的操作存在关联(dependence)时可能)时可能会引起流水线中断,从而影响流水线的性能和效率。会引起流水线中断,从而影响流水线的性能和效率。n在流水线中,原则上要求在流水线中,原则上要求各个阶段的处理时间都相同各个阶段的处理时间都相同若某一阶段处理时间较长,势必造成其他阶段的若某一阶段处理时间较长,势必造成其他阶段的空转空转等待等待因此,对因此,对子任务的划分子任务的划分是决定流水线性能的一个关键因素是决定流水线性能的一个关键因素73电子工程学院电子工程学院流水线冲突流水线冲突理想流水线的性能:每个时钟
69、周期完成一条指令理想流水线的性能:每个时钟周期完成一条指令实际流水机器中可能存在实际流水机器中可能存在冒险冒险( (hazard) )导致停顿:导致停顿:数据冒险(指令之间存在数据依赖性指令之间存在数据依赖性)写后读写后读(Read-After-Write,RAW)相关)相关读后写读后写(Write-After-Read,WAR)相关)相关写后写写后写(Write-After-Write,WAW)相关)相关结构冒险(硬件资源不够)控制冒险(分支等跳转指令引起 )74电子工程学院电子工程学院流水线数据冲突及乱序执行流水线数据冲突及乱序执行注意这里其实需要两个独立执行部件注意这里其实需要两个独立执
70、行部件乱序执行乱序执行定向技术定向技术75电子工程学院电子工程学院1)数据冒险)数据冒险【例例】 判断以下三组指令各存在哪种类型的数据相关。判断以下三组指令各存在哪种类型的数据相关。(1) I1: ADD R1,R2,R3 ;(R2)+(R3)R1 I2: SUB R4,R1,R5 ;(R1)-(R5)R4 (2) I3: STA M(x),R3 ;(R3)M(x),M(x)是存储器单元是存储器单元I4: ADD R3,R4,R5 ;(R4)+(R5)R3 (3) I5: MUL R3,R1,R2 ;(R1)(R2)R3 I6: ADD R3,R4,R5 ;(R4)+(R5)R3 【解解】(1
71、) I1指令运算结果应先写入指令运算结果应先写入R1,然后在,然后在I2指令中读出指令中读出R1内容。由于内容。由于I2指令进指令进入流水线,变成入流水线,变成I2指令在指令在I1指令写入指令写入R1前就读出前就读出R1内容,发生内容,发生RAW相关相关(2) I3指令应先读出指令应先读出R3内容并存入存储单元内容并存入存储单元M(x),然后在,然后在I4指令中将运算结果指令中将运算结果写入写入R3。但由于。但由于I4指令进入流水线,变成指令进入流水线,变成I4指令在指令在I3指令读出指令读出R3内容前就内容前就写入写入R3,发生,发生WAR相关。相关。(3) 如果如果I6指令的加法运算完成时
72、间早于指令的加法运算完成时间早于I5指令的乘法运算时间,变成指令指令的乘法运算时间,变成指令I6在指令在指令I5写入写入R3前就写入前就写入R3,导致,导致R3的内容错误,发生的内容错误,发生WAW相关相关76电子工程学院电子工程学院解决数据冒险的办法解决数据冒险的办法采用采用编译编译的方法的方法编译程序通过在两条相关指令之间编译程序通过在两条相关指令之间插入其他不相关的指插入其他不相关的指令令(或空操作指令)而推迟指令的执行,使数据相关消(或空操作指令)而推迟指令的执行,使数据相关消失,从而产生没有相关性的程序代码失,从而产生没有相关性的程序代码这种方式简单,但降低了运行效率这种方式简单,但
73、降低了运行效率由硬件监测相关性的存在,采用由硬件监测相关性的存在,采用数据旁路数据旁路技术设法技术设法解决数据相关解决数据相关由内部数据通路把上一条指令数据结果直接传递给下一由内部数据通路把上一条指令数据结果直接传递给下一条指令,下一条指令所需的操作数条指令,下一条指令所需的操作数不再不再通过通过读取寄存器读取寄存器获得,而是获得,而是直接获取直接获取这种方式效率较高,但控制较为复杂这种方式效率较高,但控制较为复杂77电子工程学院电子工程学院2)资源冒险)资源冒险例如,在图示标量流水计算机中例如,在图示标量流水计算机中在第在第4个时钟周期时,第个时钟周期时,第1条指令处于访存取数(条指令处于访
74、存取数(MEM)阶段,)阶段,而第而第4条指令处于取指令(条指令处于取指令(IF)阶段)阶段如果数据和指令存放在同一存储器中,且存储器只有一个端如果数据和指令存放在同一存储器中,且存储器只有一个端口,这样便会发生这口,这样便会发生这两条指令争用存储器两条指令争用存储器的资源相关冲突的资源相关冲突解决资源相关冲突的一般办法是解决资源相关冲突的一般办法是增加资源增加资源增设一个存储器,将指令和数据分别放在两个存储器中增设一个存储器,将指令和数据分别放在两个存储器中取指令(取指令(IF)、)、 指令译码(指令译码(ID)、)、指令执行(指令执行(EX)、)、访存取数(访存取数(MEM)、)、结果写回
75、(结果写回(WB)78电子工程学院电子工程学院3)控制冒险)控制冒险控制相关冲突是控制相关冲突是由转移指令引起由转移指令引起的的当执行转移指令时,依据转移条件的产生结果,可能顺当执行转移指令时,依据转移条件的产生结果,可能顺序取下一条指令,也可能转移到新的目标地址取指令序取下一条指令,也可能转移到新的目标地址取指令若转移到新的目标地址取指令,则若转移到新的目标地址取指令,则指令流水线指令流水线将被将被排空排空,并等待转移指令形成下一条指令的地址,以便读取新的并等待转移指令形成下一条指令的地址,以便读取新的指令,这就使得流水线发生指令,这就使得流水线发生断流断流为了减小转移指令对流水线性能的影响
76、,通常采为了减小转移指令对流水线性能的影响,通常采用以下两种转移处理技术用以下两种转移处理技术延迟转移法延迟转移法转移预测法转移预测法79电子工程学院电子工程学院指令流水线设计指令流水线设计基本要求基本要求流水线各子段的操作相互独立流水线各子段的操作相互独立流水线各子段的操作同步流水线各子段的操作同步性能指标性能指标吞吐率吞吐率加速比加速比效率效率理想流水线:理想流水线: 各级延时时间相等;各级延时时间相等; 无等待时间;无等待时间; 大量代码不断流;大量代码不断流;80电子工程学院电子工程学院吞吐吞吐率率(Throughput Rate)吞吐量吞吐量T Tp p:指单位时间内能完成的作业量:
77、指单位时间内能完成的作业量最大吞吐最大吞吐量量T Tp pmaxmax:流水线达到稳定状态后的吞吐率流水线达到稳定状态后的吞吐率用于用于描述流水线执行各种运算的描述流水线执行各种运算的速率速率,通常表示为每秒执行通常表示为每秒执行的运算数或每周期执行的运算数的运算数或每周期执行的运算数。若一个若一个m级级线性流水线各级时长线性流水线各级时长(即拍长即拍长)均为均为t,则连续则连续处理处理n条指令时的实际吞吐量条指令时的实际吞吐量Tp为:为:可以看出,当可以看出,当n 时,最大吞吐量时,最大吞吐量Tpmax1/ t81电子工程学院电子工程学院加速比加速比(Speedup Ratio)非流水线执行
78、时间相对流水线执行时间之比。非流水线执行时间相对流水线执行时间之比。 若一个若一个m级级线性流水线各级时长线性流水线各级时长(即拍长即拍长)均为均为t,则连续处理则连续处理n条指令时的加速比条指令时的加速比Sp为为:可以看出,当可以看出,当 n 时,时,Spm,即最大加,即最大加速比等于流水线的段数速比等于流水线的段数m。82电子工程学院电子工程学院效率效率(Efficiency)一定时段内,流水线所有段处于工作状态的比率一定时段内,流水线所有段处于工作状态的比率。 若一个若一个m级级线性流水线各级时长线性流水线各级时长(即拍长即拍长)均为均为t,则连续处理,则连续处理n条指令时的效率条指令时
79、的效率E为为:E =指令完成时间内占用的时空区指令完成时间内占用的时空区 /指令总时空区指令总时空区可以看出,当可以看出,当 n 时,时,E1,即流过流水即流过流水线的指令越多,流水线效率越高。线的指令越多,流水线效率越高。 83电子工程学院电子工程学院流水线技术指标流水线技术指标延迟延迟?ps吞吐量吞吐量?GIPS延迟延迟360ps吞吐量吞吐量8.33GIPS单个操作延迟增加;单个操作延迟增加;整体吞吐量增加;整体吞吐量增加;延迟延迟320ps吞吐量吞吐量3.12GIPS吞吐量:指单位时间内吞吐量:指单位时间内能完成的作业量。能完成的作业量。84电子工程学院电子工程学院流水线操作过程流水线操
80、作过程85电子工程学院电子工程学院流水线的局限性流水线的局限性 各阶段性能差异会导致各阶段性能差异会导致流水线性能下降流水线性能下降 寄存器延迟寄存器延迟开销开销导致流导致流水线性能下降水线性能下降硬件空闲硬件空闲延迟延迟?ps吞吐量吞吐量?GIPS延迟延迟510ps吞吐量吞吐量5.88GIPS86电子工程学院电子工程学院多机并行系统多机并行系统大规模并行处理机(大规模并行处理机(MPP)是一种价格昂贵的超级计算机,它由许多是一种价格昂贵的超级计算机,它由许多CPU通过高速专用互联网络连接。通过高速专用互联网络连接。机群(机群(cluster)由多台同构或异构的独立计算机通过高性能网络或局域网
81、由多台同构或异构的独立计算机通过高性能网络或局域网连在一起协同完成特定的并行计算任务。连在一起协同完成特定的并行计算任务。刀片(刀片(blade)通常指包含一个或多个通常指包含一个或多个CPU、内存以及网络接口的服务器、内存以及网络接口的服务器主板。通常一个刀片柜共享其它外部主板。通常一个刀片柜共享其它外部I/O和电源,而辅助存储器则有距离刀片和电源,而辅助存储器则有距离刀片柜较近的存储服务器提供。柜较近的存储服务器提供。网格(网格(Network)是一组由高速网络连接的不同的计算机系统,可以相互是一组由高速网络连接的不同的计算机系统,可以相互合作也可独立工作。网格计算机将接受中央服务器分配的
82、任务,然后在不忙合作也可独立工作。网格计算机将接受中央服务器分配的任务,然后在不忙的时候(如晚上或周末)执行这些任务。的时候(如晚上或周末)执行这些任务。87电子工程学院电子工程学院多核处理器多核处理器88电子工程学院电子工程学院多线程技术多线程技术单片多片多处理器理器(Chip MulitProcessor,CMP)问题:晶体管数量、芯片面:晶体管数量、芯片面积及芯片及芯片发热量量多多线程程处理器理器(Multithreaded Processor)细粒度多线程细粒度多线程(Fine-Grail Multithreading)在每个指令中切换在每个指令中切换线程,处理器必须能在每个时钟周期切
83、换线程。其优点是线程,处理器必须能在每个时钟周期切换线程。其优点是可以隐藏停顿引起的吞吐量损失;缺点是单个线程处理速可以隐藏停顿引起的吞吐量损失;缺点是单个线程处理速度变慢了。度变慢了。粗粒度多线程粗粒度多线程(Coarse-Grail Multithreading) 仅当遇到开销大仅当遇到开销大的阻塞时才切换线程其缺陷在于流水线启动开销引起吞吐的阻塞时才切换线程其缺陷在于流水线启动开销引起吞吐量损失,特别是对于短的阻塞量损失,特别是对于短的阻塞89电子工程学院电子工程学院2.4 计算机体系结构的分类计算机体系结构的分类1966年,年,Michael J. Flynn从计算机体系结构的并从计算
84、机体系结构的并行性能出发,按照指令流和数据流的不同组织方行性能出发,按照指令流和数据流的不同组织方式,把计算机系统的结构分为式,把计算机系统的结构分为4类:类:Single Instruction(单指令)指令)Multiple Instruction(多指令)(多指令)Single Data(单数据)数据)SISD(单指令流指令流单数据流)数据流)MISD(多指令流(多指令流单数据流)数据流)Multiple Data(多数据)(多数据)SIMD(单指令流多数据流)指令流多数据流)MIMD(多指令流多数据流)(多指令流多数据流)90电子工程学院电子工程学院1SISD体系结构体系结构SISD计
85、算机是传统的顺序执行的计算机计算机是传统的顺序执行的计算机在同一时刻只能执行一条指令(即只有一个控制流)、在同一时刻只能执行一条指令(即只有一个控制流)、处理一个数据(即只有一个数据流)处理一个数据(即只有一个数据流)通常由一个处理器和一个存储器组成通常由一个处理器和一个存储器组成主要缺点主要缺点单个处理器的处理能力有限单个处理器的处理能力有限这种结构没有发挥数据处理中的并行性潜力这种结构没有发挥数据处理中的并行性潜力91电子工程学院电子工程学院2SIMD体系结构体系结构SIMD计算机属于并行结构计算机计算机属于并行结构计算机一条指令可以同时对多个数据进行运算一条指令可以同时对多个数据进行运算
86、单一的指令部件,多个处理单元单一的指令部件,多个处理单元由一个控制器、多个处理器、多个存储模块和一个互由一个控制器、多个处理器、多个存储模块和一个互连网络组成连网络组成以阵列处理机和向量处理机为代表以阵列处理机和向量处理机为代表92电子工程学院电子工程学院3MISD体系结构体系结构MISD计算机计算机具有多个处理单元,分别执行不同的指令流具有多个处理单元,分别执行不同的指令流同一个数据流顺次通过各个处理单元同一个数据流顺次通过各个处理单元只适用于某些特定的算法,在目前常见的计算机系统只适用于某些特定的算法,在目前常见的计算机系统中很少见中很少见93电子工程学院电子工程学院4MIMD体系结构体系
87、结构MIMD计算机属于并行结构计算机计算机属于并行结构计算机多个处理单元根据不同的控制流程执行不同的操作,处理不同的数据多个处理单元根据不同的控制流程执行不同的操作,处理不同的数据由多台处理机、多个存储模块和一个互连网络组成由多台处理机、多个存储模块和一个互连网络组成每台处理机执行自己的指令,操作数也是各取各的,每个处理器都可每台处理机执行自己的指令,操作数也是各取各的,每个处理器都可以单独编程以单独编程以多处理机和机群系统为代表以多处理机和机群系统为代表94电子工程学院电子工程学院3.2.3 随机逻辑控制器设计(了解)随机逻辑控制器设计(了解)随机逻辑随机逻辑( (硬连逻辑硬连逻辑) )体系
88、结构用体系结构用布尔逻辑函数布尔逻辑函数来表来表示示控制单元控制单元的输入和输出之间的关系。的输入和输出之间的关系。时序部件时序部件指令预处理指令预处理95电子工程学院电子工程学院随机逻辑控制器的特点随机逻辑控制器的特点优点:优点: 可通过简化指令可通过简化指令减少所使用的门电路减少所使用的门电路总总数从而减少制造费用。数从而减少制造费用。缺点:缺点:指令集结构与硬件逻辑方程之间存在着密切联系,指令集结构与硬件逻辑方程之间存在着密切联系,设计过程复杂。设计过程复杂。重用性差,重用性差,设计成果很少能再利用到以后的新设计成果很少能再利用到以后的新CPUCPU设计中。设计中。适用于较简单的指令集结
89、构。适用于较简单的指令集结构。96电子工程学院电子工程学院最小化逻辑门数目最小化逻辑门数目优化硬件逻辑、尽可能地少用触发器优化硬件逻辑、尽可能地少用触发器优化硬件时序优化硬件时序逻辑门逻辑门级数最小化级数最小化;建立并行通路以满足时序约束建立并行通路以满足时序约束( (增加逻辑增加逻辑) )简化指令集简化指令集逻辑简单逻辑简单、寄存器数量少、寄存器数量少随机逻辑控制器的设计要点随机逻辑控制器的设计要点 RISC这是最重要的目的这是最重要的目的 97电子工程学院电子工程学院随机逻辑控制器的设计步骤随机逻辑控制器的设计步骤 1 1指令集结构驱动硬件的逻辑方程指令集结构驱动硬件的逻辑方程 定义所需的
90、指令集结构;定义所需的指令集结构; 根据指令集决定硬件逻辑及状态机;根据指令集决定硬件逻辑及状态机;2 2硬件逻辑方程反馈到指令集结构硬件逻辑方程反馈到指令集结构 对指令集结构做必要的修改和优化;对指令集结构做必要的修改和优化; 最大限度地减少逻辑复杂度;最大限度地减少逻辑复杂度;98电子工程学院电子工程学院随机逻辑处理器的操作随机逻辑处理器的操作取指令取指令 程序计数器程序计数器的值经的值经MUXMUX送到存储器;送到存储器; 存储器送回的指令写入存储器送回的指令写入指令寄存器指令寄存器; 程序计数器加程序计数器加1 1后回写;后回写;99电子工程学院电子工程学院随机逻辑处理器的操作随机逻辑
91、处理器的操作译码与执行译码与执行 寄存器堆中的某个地址寄存器通过寄存器堆中的某个地址寄存器通过MUXMUX寻址存储器,寻址存储器,获得获得ALUALU的一个的一个操作数操作数; 另一个另一个操作数操作数来自于寄存器堆中的数据寄存器;来自于寄存器堆中的数据寄存器; ALUALU的的结果结果值被回写入寄存器堆。值被回写入寄存器堆。100电子工程学院电子工程学院随机逻辑处理器的指令集设计随机逻辑处理器的指令集设计 考虑如何让逻辑门可以快速而方便地实现考虑如何让逻辑门可以快速而方便地实现 指令译码。指令译码。 在随机逻辑在随机逻辑CPU的指令集中,可以使用以下的指令集中,可以使用以下4种类型的指令:种
92、类型的指令:1.分支指令分支指令(branch instruction)2.存储器引用指令存储器引用指令(memory reference instruction)3.ALU指令指令(ALU instruction)4.设置指令设置指令(SET instruction) 一般的设计方法是将指令内部的结构划分成多个指令字段一般的设计方法是将指令内部的结构划分成多个指令字段(field)。同时还要求这些指令字段在各指令中所放的位置尽可能。同时还要求这些指令字段在各指令中所放的位置尽可能一样。这样,一样。这样,在在CPU中可以减少指令译码所需的逻辑门数量中可以减少指令译码所需的逻辑门数量。101电子
93、工程学院电子工程学院3.2.4 微码控制器的体系结构微码控制器的体系结构在微码结构中,在微码结构中,控制单元控制单元的输入和输出之间的关的输入和输出之间的关系被视为一个系被视为一个存储系统存储系统。时序部件时序部件指令预处理指令预处理 工作原理工作原理 微程序控制微程序控制( (存储控制存储控制) ) 组成组成微码控制器微码控制器+ +微代码微代码102电子工程学院电子工程学院微码控制器的特点微码控制器的特点优点:优点:1.1.可以通过减少取指令次数的方法来可以通过减少取指令次数的方法来降低存储器总降低存储器总访问时间访问时间从而提高系统性能;从而提高系统性能;2.2.简化硬件设计简化硬件设计
94、,可使其成品机器几乎没有设计上,可使其成品机器几乎没有设计上的错误;的错误;3.3.建立或改动微代码比建立或改动电路省时、不易建立或改动微代码比建立或改动电路省时、不易出错,因此更易于出错,因此更易于创建新的创建新的CPUCPU版本版本;缺点:缺点: 同样功能微代码比硬连逻辑实现的同样功能微代码比硬连逻辑实现的开销大开销大;103电子工程学院电子工程学院微码结构与随机逻辑结构的比较微码结构与随机逻辑结构的比较硬件设计开销硬件设计开销随机逻辑随机逻辑CPUCPU的硬件和指令集必须同步进行设计和优的硬件和指令集必须同步进行设计和优化,因此比较复杂。化,因此比较复杂。微码微码CPUCPU的指令集设计
95、并不直接影响现有硬件,修改的指令集设计并不直接影响现有硬件,修改指令集并不需要重新设计新的硬件。指令集并不需要重新设计新的硬件。性能性能如果采用相同指令集,则随机逻辑如果采用相同指令集,则随机逻辑CPUCPU操作会更快。操作会更快。如果执行相同的计算任务,微码如果执行相同的计算任务,微码CPUCPU能够通过使用更能够通过使用更少少( (但更复杂但更复杂) )的指令达到更高性能。的指令达到更高性能。当系统整体性能受限于存储器的速度时,微码当系统整体性能受限于存储器的速度时,微码CPUCPU对对性能提高的优势更为明显。性能提高的优势更为明显。104电子工程学院电子工程学院微码控制器的设计步骤微码控
96、制器的设计步骤 1建立建立硬件体系结构硬件体系结构, 保证其具备执行必要保证其具备执行必要基基本功能本功能步骤的功能。步骤的功能。2将指令分割成许多微步骤,转写成将指令分割成许多微步骤,转写成微程序微程序并写并写入入控制存储器控制存储器。微指令微指令Micro-instruction:控制存储器中的一个存储单元(字)控制存储器中的一个存储单元(字)表示了某一条指令的某一操作步骤的控制信号,以及下一步骤表示了某一条指令的某一操作步骤的控制信号,以及下一步骤的有关信息,称该字为微指令的有关信息,称该字为微指令微程序微程序Micro-program(固件(固件fireware):):全部微指令的集合
97、全部微指令的集合指令指令instruction微码控制器微码控制器Microcode controller(定序器(定序器sequencer)105电子工程学院电子工程学院微码控制器的操作微码控制器的操作译码与执行译码与执行1.控制逻辑对控制逻辑对IR中的指令译中的指令译码,确定对应微码程序地码,确定对应微码程序地址并写入址并写入 PC;2. PC向微码向微码ROM提供提供 地地址,返回的微码写入址,返回的微码写入 IR;3. IR译码后产生相应的控译码后产生相应的控制信号;制信号;4. PC地址加地址加1后获取下一条后获取下一条微指令地址,直到完成整微指令地址,直到完成整个微码程序个微码程序
98、106电子工程学院电子工程学院微码微码CPU的操作的操作2-读写数据读写数据 数据通路一般应有如下三个基本的时钟周期:数据通路一般应有如下三个基本的时钟周期:1.从存储器读数据后:从存储器读数据后:写入寄存器堆写入寄存器堆(Register File);写入指令寄存器写入指令寄存器(IR);写入临时寄存器写入临时寄存器(TempIn);作为作为ALU的一个输入;的一个输入;2.从从寄存器读数据后:寄存器读数据后:写入存储器地址寄存器写入存储器地址寄存器MAR;写入临时寄存器作为写入临时寄存器作为ALU的一个输入;的一个输入;存入存储器;存入存储器;3.将将Result寄存器内容写入寄存器组,或
99、存入存储器;寄存器内容写入寄存器组,或存入存储器;107电子工程学院电子工程学院流水线结构与微码结构的比较流水线结构与微码结构的比较比较下列操作在微码比较下列操作在微码CPU和流水线和流水线CPU中的执行情况中的执行情况Mem(Reg 1)+Mem(Reg 2)Reg 3微码机器(微码机器(CISC)中只需要一条指令表示,而在流水线机)中只需要一条指令表示,而在流水线机器(器(RISC)里则需要)里则需要3条指令;条指令;假设没有存储器延迟,则假设没有存储器延迟,则流水线机器中流水线机器中这这3条指令可以在条指令可以在3个时钟周期内完成,而微码机器则需要个时钟周期内完成,而微码机器则需要8个时钟周期。个时钟周期。在流水线机器中需要取存在流水线机器中需要取存5次存储器,而微码机器只需要次存储器,而微码机器只需要3次。次。若存储器速度为若存储器速度为系统瓶颈系统瓶颈,则应采用微码,则应采用微码CPU3 3次指令,次指令,2 2次数据次数据1 1次指令,次指令,2 2次数据次数据(取指(取指+ +译码译码+ +取操作数)取操作数)2 2,加法,存结果,加法,存结果108电子工程学院电子工程学院