uestc微处理器体系结构嵌入式系统设计第3章微处理器体系结构

上传人:飞*** 文档编号:2687634 上传时间:2017-07-26 格式:PPT 页数:72 大小:5.60MB
返回 下载 相关 举报
uestc微处理器体系结构嵌入式系统设计第3章微处理器体系结构_第1页
第1页 / 共72页
uestc微处理器体系结构嵌入式系统设计第3章微处理器体系结构_第2页
第2页 / 共72页
uestc微处理器体系结构嵌入式系统设计第3章微处理器体系结构_第3页
第3页 / 共72页
uestc微处理器体系结构嵌入式系统设计第3章微处理器体系结构_第4页
第4页 / 共72页
uestc微处理器体系结构嵌入式系统设计第3章微处理器体系结构_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《uestc微处理器体系结构嵌入式系统设计第3章微处理器体系结构》由会员分享,可在线阅读,更多相关《uestc微处理器体系结构嵌入式系统设计第3章微处理器体系结构(72页珍藏版)》请在金锄头文库上搜索。

1、2017/8/8,第三章 微处理器体系结构及关键技术,3.1 微处理器体系结构及功能模块简介处理器的主要功能处理器的基本结构一个简化的处理器模型结构示例3.2 处理器设计指令系统数据通路控制流程时序部件控制逻辑3.3 指令流水线技术3.4 典型微处理体系结构简介3.5 先进的微处理器技术,ARM、x86,随机逻辑、微程序(微码),数据类型、指令功能、指令格式、寻址方式,ALU、Reg、总线,程序、指令、微操作,时钟周期、工作周期、指令周期,特点、操作、局限、设计,宽度、周期,第三章 习题,作业:13、5、9、10、11、1315思考:1.6、4、68 、12、16,补充题(选作),2、某计算机

2、指令系统中,指令字长为12位,每个地址码长3位,有三地址指令4条,单地址指令255条,零地址指令16条。(1)能否以扩展操作码为其编码?说明其理由。(2)如果其中单地址指令为254条呢?说明其理由。,1、有一条4个段的线性流水线,各段的执行时间分别为50ns、50ns、100ns、200ns。 (1)连续向流水线输入6条指令,画出指令执行的时-空图,求该流水线的实际吞吐率和效率。注意计算时需写出步骤。 (2)该流水线的瓶颈在哪一个段?请采用两种不同的措施消除此瓶颈,画出两种改进方法后执行6条指令的时-空图。,流水线结构与微码结构的比较,比较下列操作在微码CPU和流水线CPU中的执行情况Mem(

3、Reg 1)+Mem(Reg 2)Reg 3微码机器(CISC)中只需要一条指令表示,而在流水线机器(RISC)里则需要3条指令;假设没有存储器延迟,则流水线机器中这3条指令可以在3个时钟周期内完成,而微码机器则需要8个时钟周期。在流水线机器中需要取存5次存储器,而微码机器只需要3次。若存储器速度为系统瓶颈,则应采用微码CPU,3次指令,2次数据,1次指令,2次数据,取指+译码执行:取操作数2,加法,存结果,中央处理单元 Central Processing Unit, CPU微处理器 Micro Processing Unit, MPU微控制单元 Micro Control Unit, MC

4、U单片机计算机,单片芯片,控制器、运算器、寄存器,CPU、少量存储器及I/O接口,CPU+存储器+总线/接口+外设,几个概念,*,5/86,微处理器的主要功能,计算机系统设计师认为:处理器是指一种能够经过多个步骤执行计算任务的数字设备。从本质上讲,处理器的作用是协调和控制计算机的各个部件,并执行程序的指令序列。处理器的5个主要功能: 指令控制:控制指令按程序逻辑顺序执行。 操作控制:按照指令执行过程及指令约定功能的需求产生各种操作控制信号。 时序控制:能够在适当的时间(时刻)使相应操作控制信号有效,并保持所需的时长。 数据加工:对数据进行算术和逻辑运算处理。 中断处理:程序执行过程中应能够及时

5、处理出现的I/O操作请求及异常情况。,CPU最基本的功能,CPU的作用是协调和控制计算机的各个部件并执行程序中的指令序列,因此应具有以下基本功能:, 取指令:当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号。 分析指令:即指令译码,是指对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。 执行指令:根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器、存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成。,*,7/86,微处理器的基本结构,冯诺依曼机:5大部件存储程序串行单顺序

6、,数据通路,CPU的RTL描述:数据通路控制器,数据通路:ALUReg+内部总线,ALU:运算Reg组:暂存内总线:传输简单的单总线 (ALU总线)复杂的多级总线(片上总线),控制器,输入,输出,简化的处理器模型,哈佛结构,CPU与内存储器的接口,1.对外形成三总线形式;2.寄存器MAR和MDR简化了CPU与主存之间的传送通路,使其容易控制;3.寄存器MAR和MDR对用户透明;,微处理器的总体结构,数据通道组成:ALU+寄存器+内部总线功能:基本的二进制算术、逻辑及移位运算; 根据运算结果设置状态标志(进/借位、溢出等); 特性:数据通路宽度:即字长,CPU单次传送和处理数据的能力。数据通路周

7、期:ALU运算并将保存结果的过程。控制单元(控制器)时序控制部件:指令周期、工作周期、时钟周期(工作脉冲)指令译码逻辑:微程序(CISC )、硬连逻辑(RISC ) 、,指令集结构(ISA)是体系结构的主要内容之一,其功能设计实际就是确定软硬件的功能分配。考虑因素 速度、成本和灵活性实现方式 硬件、软件 优化策略 RISC、CISC;流水线;多核;实现内容 数据类型、指令功能、指令格式、寻址方式实现步骤根据应用初拟出指令的分类和具体的指令;编写出针对该指令系统的各种高级语言编译程序;对多种算法程序进行模拟测试,确认指令系统的操作码和寻址方式的效能是否都比较高;用硬件实现高频使用的指令,软件实现

8、低频使用指令。,指令系统设计,指令集设计示例,假设某机器的字长是8位,支持常见的简单指令:指令是双地址指令,源操作数采用2种寻址方式寄存器寻址(R0R3)和立即寻址;目标操作数可采用2种寻址方式寄存器寻址和存储器直接。请为下述九条机器指令设计可行的代码方案。,若采用定长编码(8bit)方案,可定义指令格式如下:,=0000表示ADD=0001表示SUB=0010表示MOV=0011表示IN=0100表示OUT=0101表示RR,目标寄存器编号,源寄存器编号,操 作 码,机器指令集,机器指令符号表示法,由于直接与机器指令二进制表示法打交道很困难,于是普遍使用的是机器指令符号表示法(symbol

9、representation)。操作码可缩写成助记符(mnemonic)来表示:ADD加SUB减MUL乘DIV除LOAD 由存储器装入STOR 存入存储器,*,17/86,汇编语言,数据类型,确认某种特殊类型的数据是否应该得到硬件支持 数值型数据:无符号整数、带符号整数、浮点数 非数值数据:字符串确认字长(对数据长度的限制) 截断(truncation)或溢出(overflow)在选择数据格式和长度时需要平衡数值范围、程序执行期间发生溢出的可能性、处理设备和存储设备的复杂性、以及价格和速度等因素。,指令类型,指令按功能可分成以下三种基本类型: 数据传输:将数据从一个地方(源地址)复制到另一个

10、地方(目的地址),传输结束后源地址中的内容不变。 数据传送范围: R-R、R-M、M-R或M-M 数据传送宽度:一般为固定值(如8、16或32bit),其它宽度的数据传送一般可通过软件移位和合并操作来实现。数据运算:包括算术运算(加、减、乘、除等)和逻辑 运算(与、或、非、异或等)。 该类指令需要明确操作数的类型和长度。控制类:用于改变正常的程序执行流程,完成程序的跳转,主要包括转移指令和过程指令。,I/O?,机器指令要素,操作码(operation code,opcode):需要完成的操作;源操作数 (source operand reference):操作所需的输入;结果操作数 (resu

11、lt operand reference):操作产生的结果;下一条指令 (next instruction reference):告诉CPU到哪里取下一条指令。,*,指令格式,在计算机内部,指令由一个位串来表示。相应于指令的各要素,这些位串划分成几个字段:操作码字段:说明CPU应进行的操作按操作类型分组:同类操作要求同样或类似的控制信号,因此编码也类似(有尽可能多的公共位)操作数字段/地址字段:说明源操作数和目的操作数存放的位置信息(R、M或I/O);说明源操作数和目的操作数的数据类型;下一条指令地址字段: 如紧跟当前指令,在主存或虚存中,则不需显示引用; 如可能产生跳转,则需要显示给出存储地

12、址;,指令类型决定了CPU的软件功能特性,寻址方式决定了CPU硬件功能特性,21/86,操作码字段,常见指令字段分配,操作码位段分配,扩展操作码,操作数字段,二元操作(binary operation)是一种基本操作类型,这样的指令通常包含三个操作数地址:两个源操作数和一个目的(结果)操作数。为了缩短指令长度,可以采用以下方法:只有一个地址指定给存储器中的操作数,而其余地址都指定给寄存器,可以在指令格式中明确地指定其寄存器号。把一个、两个或三个操作数的地址在指令格式中变成隐含的地址。隐含的地址可以指定给专用寄存器,而这些寄存器的名字隐含在指令格式的操作码中。,*,23/86,机器指令结构:M-

13、M、M-R、R-R,机器指令结构:零地址、单地址、双地址,寻址方式,操作数实际存放位置:寻址方式:1在指令码中指定操作数:立即数寻址2在寄存器中指定操作数:寄存器(直接)寻址3在存储器中指定操作数:存储器直接寻址、存储器间接寻址4在汇编程序中指定操作数: 相对寻址5操作数在I/O接口中: 存储器寻址(存储器映像编址)或端口寻址(独立编址),立即数寻址immediate addressing mode,寄存器直接寻址方式register direct addressing mode,指令的地址字段给出寄存器号(名) ,而被指定的寄存器的内容就是操作数。,存储器直接寻址memory direct

14、addressing mode,指令的地址字段直接给定一个立即数作为存储单元的地址。,寄存器直接寻址,存储器间接寻址memory indirect addressing mode,(1) 寄存器间接寻址方式(2) 存储器间接寻址方式(3) 位移量寻址方式(4) 变址寻址方式(5) 比例尺寻址方式,用于加强编写与位置无关的汇编语言程序,寄存器间接寻址方式register indirect addressing mode,将存储器地址指定在寄存器中,即让寄存器内容指向一个可访问到操作数的存储器单元。,*,29/86,存储器间接寻址方式 memory indirect addressing mode

15、,多级间接寻址; 通常用于访问存储器中的“跳转表”:跳转表首址指定在寄存器中,该表中的每个表项指向一个可访问到操作数的存储器单元。,跳转表,位移量寻址方式displacement addressing mode,通常用于数组、矩阵类向量数据的存取:寄存器值指定数组首址,立即数指定组内偏移;,指数寻址方式indexed addressing mode,通常用于数组、矩阵类向量数据的存取:寄存器1值指定数组首址,寄存器2指定组内偏移;,比例尺寻址方式scaled addressing mode,用字节表示的操作数的长度,位移量寻址+指数寻址+自增/自减寻址,PC相对寻址方式Program Counter-related addressing mode,主要用在转移和跳转指令,指定汇编语言程序码的内部位置作为目的地址偏移量操作数。指令:JUMP abe 操作: PC abe = (PC)updated +immSign_ext,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号