《微处理器系统与嵌入式系统》全册配套课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《微处理器系统与嵌入式系统》全册配套课件.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微处理器系统与嵌入式系统 微处理器 系统 嵌入式 配套 课件
- 资源描述:
-
1、微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计1 1微处理器微处理器系统与嵌入式系统系统与嵌入式系统全册配套课件全册配套课件微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计2 2计算机是什么计算机是什么微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计3 3后后PC时代:通用计算机、嵌入式计算机时代:通用计算机、嵌入式计算机计算机的分类计算机的分类微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计4 4嵌入式系统是一门交叉学科,涉及计算机、微电子、网络、通信、信号处理、传感器等诸多领域。随着现代微电子技术、微机电系统MEMS、片上系
2、统SoC、纳米材料、无线通信技术、信号处理技术、计算机网络技术等的进步以及互联网的迅猛发展,嵌入式系统向集成化、微型化,智能化、网络化方向发展。嵌入式嵌入式( (计算机计算机) )系统系统微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计5 5 CPU90%90% 10%R、R-M、M-R或或M-Mu 数据传送宽度数据传送宽度:一般:一般为固定值(如为固定值(如8、16或或32bit),其),其它宽度的数据传送它宽度的数据传送一般可一般可通过软件移位和合通过软件移位和合并操作来实现。并操作来实现。2.数据运算:数据运算:包括包括算术运算(加、减、乘、除等)和逻算术运算(加、减、乘
3、、除等)和逻辑辑 运算(与、或、非、异或等)运算(与、或、非、异或等)。 该类指令该类指令需要明确操作数的类型和长度需要明确操作数的类型和长度。3.控制类:控制类:用于改变正常的程序执行流程,完成程序的跳用于改变正常的程序执行流程,完成程序的跳转转,主要包括转移指令和过程指令。主要包括转移指令和过程指令。I/O?微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计机器指令要素机器指令要素操作码操作码(operation code,opcode):需要完成的操作;:需要完成的操作;源操作数源操作数 (source operand reference):操作所需的输入;:操作所需的输入
4、;结果操作数结果操作数 (result operand reference):操作产生的结果;:操作产生的结果;下一条指令下一条指令 (next instruction reference):告诉:告诉CPU到哪里到哪里取下一条指令。取下一条指令。 yyyy-M-d微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计指令格式指令格式 在计算机内部,指令由一个位串来表示。相应于指令在计算机内部,指令由一个位串来表示。相应于指令的各要素,这些位串划分成几个的各要素,这些位串划分成几个字段字段:u操作码字段操作码字段:说明说明CPU应进行的操作应进行的操作按操作类型分组按操作类型分组:同
5、同类类操作要求同样或类似的控制信号,因操作要求同样或类似的控制信号,因此编此编码也类似(码也类似(有尽可能多的公共位有尽可能多的公共位)u操作数字段操作数字段/地址字段地址字段:说明源操作数和目的操作数存放的位置信息说明源操作数和目的操作数存放的位置信息(R、M或或I/O);说明源操作数和目的操作数的数据类型说明源操作数和目的操作数的数据类型;u下一条指令地址字段下一条指令地址字段: 如紧跟当前指令,在主存或虚存中,则不需显示引用;如紧跟当前指令,在主存或虚存中,则不需显示引用; 如可能产生跳转,则需要显示给出存储地址;如可能产生跳转,则需要显示给出存储地址;指令类型决定了指令类型决定了CPU
6、CPU的软件功能特性的软件功能特性寻址方式决定了寻址方式决定了CPUCPU硬件功能特性硬件功能特性174/86微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计操作码字段操作码字段常见指令字段分配常见指令字段分配操作码位段分配操作码位段分配扩展操作码扩展操作码微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计操作数字段操作数字段 二元操作二元操作(binary operation)是一种基本操是一种基本操作类型,这样的指令通常包含作类型,这样的指令通常包含三个操作数地址三个操作数地址:两个源操作数和一个目的两个源操作数和一个目的(结果结果)操作数。为了缩操作数。为了
7、缩短指令长度,可以采用以下方法:短指令长度,可以采用以下方法:只有一个地址指定给存储器中的操作数,而只有一个地址指定给存储器中的操作数,而其余地址都指定给其余地址都指定给寄存器寄存器,可以在指令格式中明,可以在指令格式中明确地指定其寄存器号。确地指定其寄存器号。二二把一个、两个或三个操作数的地址在指令格把一个、两个或三个操作数的地址在指令格式中变成式中变成隐含隐含的地址。隐含的地址可以指定给专的地址。隐含的地址可以指定给专用寄存器,而这些寄存器的名字隐含在指令格式用寄存器,而这些寄存器的名字隐含在指令格式的操作码中。的操作码中。yyyy-M-d176/86机器指令结构机器指令结构:M-M、M-
8、R、R-R机器指令结构机器指令结构:零地址零地址、单、单地址、地址、双双地址地址微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计寻址方式寻址方式操作数实际存放位置:操作数实际存放位置:寻址方式:寻址方式:1在指令码中指定操作数:在指令码中指定操作数:立即数寻址立即数寻址2在寄存器中指定操作数:在寄存器中指定操作数:寄存器(直接)寻址寄存器(直接)寻址3在存储器中指定操作数:在存储器中指定操作数:存储器直接寻址存储器直接寻址、存储器间接寻址存储器间接寻址4在汇编程序中指定操作数:在汇编程序中指定操作数: 相对寻址相对寻址5操作数在操作数在I/O接口中:接口中: 存储器寻址(存储器
9、映像编址)或端口寻址(独立编址)存储器寻址(存储器映像编址)或端口寻址(独立编址)ABDB控控制制器器运运算算器器寄寄存存器器CPU存存储储器器00000HFFFFFHI/O接接口口0000HFFFFHI/O外外设设CB微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计立即数寻址立即数寻址immediate addressing modeimmediate addressing mode微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计寄存器直接寻址方式寄存器直接寻址方式register direct addressing moderegister direct a
10、ddressing mode 指令的地址字段给指令的地址字段给出出寄存器号(名)寄存器号(名) ,而被指定的寄存器的内而被指定的寄存器的内容就是操作数。容就是操作数。 微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计存储器直接寻址存储器直接寻址memory direct addressing modememory direct addressing mode指令的地址字段指令的地址字段直接给定一个直接给定一个立即数立即数作为存储单元的作为存储单元的地址地址。寄存器直接寻址寄存器直接寻址微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计存储器间接寻址存储器间接寻址m
11、emory indirect addressing modememory indirect addressing mode(1) 寄存器间接寻址方式寄存器间接寻址方式(2) 存储器间接寻址方式存储器间接寻址方式(3) 位移量寻址方式位移量寻址方式(4) 变址寻址方式变址寻址方式(5) 比例尺寻址方式比例尺寻址方式用于加强编写与位置无关的汇编语言程序用于加强编写与位置无关的汇编语言程序微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计寄存器间接寻址方式寄存器间接寻址方式register indirect addressing moderegister indirect addres
12、sing mode 将存储器地址指定在将存储器地址指定在寄存器中,即让寄存器中,即让寄存寄存器内容指向器内容指向一个可访一个可访问到操作数的存储器问到操作数的存储器单元。单元。yyyy-M-d182/86微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计存储器间接寻址方式存储器间接寻址方式 memory indirect addressing modememory indirect addressing mode 多级多级间接寻址;间接寻址; 通常用于访问存储器中通常用于访问存储器中的的“跳转表跳转表”:跳转表首址:跳转表首址指定在指定在寄存器寄存器中,该表中的中,该表中的每个表
13、项指向一个可访问到每个表项指向一个可访问到操作数的存储器单元。操作数的存储器单元。跳转表跳转表微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计位移量寻址方式位移量寻址方式displacement addressing modedisplacement addressing mode 通常用于数组、通常用于数组、矩阵类向量数据的矩阵类向量数据的存取:存取:寄存器寄存器值指值指定数组首址,定数组首址,立即立即数数指定组内偏移;指定组内偏移;微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计指数寻址方式指数寻址方式indexed addressing modeindex
14、ed addressing mode 通常用于数组、通常用于数组、矩阵类向量数据的矩阵类向量数据的存取:存取:寄存器寄存器1值指值指定数组首址,定数组首址,寄存寄存器器2指定组内偏移;指定组内偏移;微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计比例尺寻址方式比例尺寻址方式scaled addressing modescaled addressing mode用字节表示的操用字节表示的操作数的长度作数的长度位移量寻址位移量寻址+指数寻址指数寻址+自增自增/自减寻址自减寻址微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计PCPC相对寻址方式相对寻址方式Progra
15、m Counter-related addressing modeProgram Counter-related addressing mode 主要用在主要用在转移和跳转转移和跳转指令,指定汇编语言程指令,指定汇编语言程序码的内部位置作为序码的内部位置作为目的地址偏移量目的地址偏移量操作数。操作数。指令:指令:JUMP JUMP abeabe 操作:操作: PC PC abeabe = (PC)updated + = (PC)updated +immSign_extimmSign_ext当前指令取出当前指令取出后的后的PCPC值值出现在指令中出现在指令中微处理器系统结构与嵌入式系统设计微处理
16、器系统结构与嵌入式系统设计188188控制单元模型控制单元模型微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计189189CPUCPU内部结构内部结构nCPU包括包括算术和逻辑单元、累加器、程序计数器、算术和逻辑单元、累加器、程序计数器、指令寄存器、指令译码器、时序和控制部件指令寄存器、指令译码器、时序和控制部件微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计190190MIPSMIPS的总线型数据通道的总线型数据通道微指令: 寄存器到寄存器的传送 (17 个控制信号) MA PC means RegSel = PC; enReg=yes; ldMA= yesB
17、 Regrt meansenMemMAaddrdataldMAMemorybusyMemWrtBus32zero? A BOpSelldAldBALUenALUALUcontrol2RegWrtenRegaddrdatarsrtrd32(PC)31(Link)RegSel32 GPRs+ PC .32-bit Reg3rsrtrdExtSelIROpcodeldIRImmExtenImm2RegSel = rt; enReg=yes; ldB = yes微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计1911913.1.2 3.1.2 微处理器体系结构简介微处理器体系结构简介n
18、在设计计算机体系结构时,要考虑:在设计计算机体系结构时,要考虑:uCPU采用采用何种指令系统何种指令系统?u该计算机体系的该计算机体系的价格及性能之比价格及性能之比如何?如何?u这种计算机体系有销售市场吗?这种计算机体系有销售市场吗?n指令系统指令系统u指令格式指令格式u寻址方式寻址方式微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计192192处理器结构处理器结构n按照指令执行的按照指令执行的串行串行/并行及电路结构并行及电路结构不同不同划分,处理器结构分为划分,处理器结构分为六种六种微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计193193流水线结构流水线
19、结构n成功设计的流水线机器会要求在它的指令成功设计的流水线机器会要求在它的指令集设计及硬件设计之间达到一种平衡,因集设计及硬件设计之间达到一种平衡,因此设计流水线机器是一项比较困难的工作。此设计流水线机器是一项比较困难的工作。n此外,当流水线在并行地执行指令时,正此外,当流水线在并行地执行指令时,正执行的指令之间可能发生多种冲突执行的指令之间可能发生多种冲突(hazard)情况,所以在设计流水线机器时要预先考情况,所以在设计流水线机器时要预先考虑到可能的冲突,并且设法在设计时加以虑到可能的冲突,并且设法在设计时加以解决。解决。微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计19
20、4194指令的顺序执行和流水线执行指令的顺序执行和流水线执行 微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计195195流水线技术流水线技术 n理想流水线的性能:达到每一个时钟周期可以完成一条理想流水线的性能:达到每一个时钟周期可以完成一条指令指令n与指令串行执行相比较,速度提高与指令串行执行相比较,速度提高5倍倍 流水线是一种多条指令重叠执行的实现技术微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计1961963.2 3.2 指令系统设计指令系统设计n指令指令是规定是规定微处理器进行操作微处理器进行操作的命令,不的命令,不同类型的处理器具有同类型的处理器具有
21、不同的指令系统不同的指令系统n指令系统设计指令系统设计是是中央处理器设计中央处理器设计的基础,的基础,CPU的操作由其执行的指令来确定的操作由其执行的指令来确定n指令字由指令字由操作码、操作数和操作数地址操作码、操作数和操作数地址等等字段组成字段组成n一条指令的一条指令的地址字段和相关的寻址方式地址字段和相关的寻址方式对对CPU的组织结构有显著的影响,因此要仔的组织结构有显著的影响,因此要仔细考虑指令系统的结构设计细考虑指令系统的结构设计微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计1971973.2.1 机器指令要素n每条机器指令必定包含每条机器指令必定包含CPU执行所需的
22、信息。执行所需的信息。n机器机器指令要素指令要素u 操作码操作码(operation code):指定将要完成的操作:指定将要完成的操作(如如ADD或或I/O等等)。这些二进制代码常简称为。这些二进制代码常简称为opcodeu 源操作数源操作数引用引用(source operand reference):操作会:操作会涉及到一个或多个源操作数,这是操作所需的输入涉及到一个或多个源操作数,这是操作所需的输入u结果操作数结果操作数引用引用(result operand reference):操作可:操作可产生一个结果产生一个结果u下一条指令下一条指令引用引用(next instruction re
23、ference):告诉:告诉CPU这条指令执行完后到哪里取下一条指令,通常下这条指令执行完后到哪里取下一条指令,通常下一条指令一条指令紧跟之后紧跟之后,因此,因此不显式引用不显式引用微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计198198 指令周期状态图指令周期状态图 微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计199199操作数存储位置操作数存储位置n主存或虚存主存或虚存:与下一条指令的引用一样,必须提:与下一条指令的引用一样,必须提供主存或虚存的地址供主存或虚存的地址nCPU寄存器寄存器:除极少数例外,一个:除极少数例外,一个CPU总有总有一个一个或
24、多个或多个能被机器指令访问的能被机器指令访问的寄存器寄存器。若只有一个。若只有一个寄存器,则对它的引用可以是隐式的;若不止一寄存器,则对它的引用可以是隐式的;若不止一个寄存器,则每个寄存器要指定一个唯一的编号,个寄存器,则每个寄存器要指定一个唯一的编号,指令提供所需寄存器的指令提供所需寄存器的寄存器编号寄存器编号nI/O设备设备:需要:需要I/O操作的指令必须指定操作的指令必须指定I/O模块或模块或设备设备。若使用存储器映射。若使用存储器映射(memory-mapped)I/O方式,则只是另一类主存或虚存地址。方式,则只是另一类主存或虚存地址。微处理器系统结构与嵌入式系统设计微处理器系统结构与
25、嵌入式系统设计2002003.2.2 指令格式n指令格式:指令指令格式:指令要素的组织形式要素的组织形式,即构成,即构成指令的指令的位串的组织形式位串的组织形式。这些位串划分成。这些位串划分成几个字段几个字段n指令集通常指令集通常不止一种不止一种指令格式。指令格式。n处理器使用的一般指令格式:处理器使用的一般指令格式:微处理器系统结构与嵌入式系统设计微处理器系统结构与嵌入式系统设计201201指令格式的要素指令格式的要素n指令格式取决于计算机指令系统的机器代码表示。指令格式取决于计算机指令系统的机器代码表示。u操作码操作码,定义了将要执行的操作,二进制编码,定义了将要执行的操作,二进制编码,编
展开阅读全文