书签 分享 收藏 举报 版权申诉 / 134
上传文档赚钱

类型微体系结构层[3页]课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3142101
  • 上传时间:2022-07-21
  • 格式:PPT
  • 页数:134
  • 大小:6.82MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《微体系结构层[3页]课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    3页 体系结构 课件
    资源描述:

    1、1第第2 2篇篇 计算机系统分层结构计算机系统分层结构 在本篇用在本篇用3章分三个层次,即微体系结构层、指章分三个层次,即微体系结构层、指令系统层和汇编语言层讨论计算机系统的组成。令系统层和汇编语言层讨论计算机系统的组成。微体系结构层是具体的硬件层次,可看作是指令系微体系结构层是具体的硬件层次,可看作是指令系统的解释器。统的解释器。指令系统层是一个抽象的层次,其指令系统是一种指令系统层是一个抽象的层次,其指令系统是一种硬件和编译器都可识别的机器语言。硬件和编译器都可识别的机器语言。汇编语言层提供的语言,是将机器语言汇编语言层提供的语言,是将机器语言“符号化符号化”以便于人们理解。以便于人们理解

    2、。用汇编语言编写的程序先由汇编器翻译成机器语用汇编语言编写的程序先由汇编器翻译成机器语言程序,再由微体系结构层解释执行。言程序,再由微体系结构层解释执行。2第第3 3章章 微体系结构层微体系结构层CPUCPU组织组织 在微体系结构层在微体系结构层,是从寄存器级分析是从寄存器级分析CPU的的结构和功能。本章主要内容:结构和功能。本章主要内容:3.1 CPU的基本组成和功能的基本组成和功能3.2 算术逻辑部件算术逻辑部件ALU和运算方法和运算方法3.3 CPU模型机的组成及其数据通路模型机的组成及其数据通路3.4 组合逻辑控制器原理组合逻辑控制器原理3.5 微程序控制器原理微程序控制器原理3.6

    3、精简指令集计算机(精简指令集计算机(RISC)基于模型机基于模型机讨论讨论3 中央处理器中央处理器CPU的主要功能:的主要功能:从主存储器中取出指令、分析指令和执行指令,即从主存储器中取出指令、分析指令和执行指令,即按指令控制计算机各部件操作,并对数据进行处理按指令控制计算机各部件操作,并对数据进行处理。3.1 CPU3.1 CPU的组成和功能的组成和功能第第3 3章章 微体系结构层微体系结构层 CPUCPU组织组织43.1.1 CPU3.1.1 CPU的组成的组成简单简单CPUCPU通常由以下几部分构成通常由以下几部分构成:控制器控制器;算术逻辑部件算术逻辑部件ALU;ALU;各种寄存器各种

    4、寄存器;CPUCPU内部总线。内部总线。CPU的基本组成框图 51 1ALUALU部件与寄存器部件与寄存器ALU框图(1 1)ALUALU部件部件ALUALU的功能:的功能:实现数据的实现数据的算术与逻辑运算算术与逻辑运算。l ALU ALU的输入有两个端口,分别接收参加运算的两个操作数,的输入有两个端口,分别接收参加运算的两个操作数,通常它们来自通常它们来自CPUCPU中的通用寄存器或中的通用寄存器或ALUALU总线。总线。l ALUALU的控制信号来自于控制器对指令操作码的译码。如加法的控制信号来自于控制器对指令操作码的译码。如加法指令指令ADDADD产生的加控制信号。产生的加控制信号。l

    5、 ALUALU的输出取决于对其功能的控制,当控制功能选择加、减、的输出取决于对其功能的控制,当控制功能选择加、减、与、或等运算功能之一时,其输出结果将为对应的和、差、与、或等运算功能之一时,其输出结果将为对应的和、差、与值、或值等。与值、或值等。6(2 2)寄存器)寄存器 CPU CPU 中的寄存器包括存放中的寄存器包括存放控制信息控制信息的寄存器,如的寄存器,如指令寄存指令寄存器器、程序计数器程序计数器和和状态字寄存器状态字寄存器;以及存放所;以及存放所处理数据处理数据的寄的寄存器,如存器,如通用寄存器通用寄存器和和暂存器暂存器。寄存器寄存器 通常通常CPUCPU内部设置有一组寄存器,每个寄

    6、存器都可以承担多种内部设置有一组寄存器,每个寄存器都可以承担多种用途,因此称为通用寄存器。用途,因此称为通用寄存器。通用寄存器本身在逻辑上只具有接收信息、存储信息和发送信通用寄存器本身在逻辑上只具有接收信息、存储信息和发送信息的功能。但通过编程及与息的功能。但通过编程及与ALUALU的配合可以实现多种功能,如它们的配合可以实现多种功能,如它们可为可为ALUALU提供操作数并存放运算结果,也可用作变址寄存器、地址提供操作数并存放运算结果,也可用作变址寄存器、地址指针和计数器等。指针和计数器等。器 在在CPUCPU中一般要设置暂存器,主要是为了暂存从主存储器读中一般要设置暂存器,主要是为了暂存从主

    7、存储器读出的数据出的数据,暂存器没有寄存器号,因此不能直接编程访问它们。暂存器没有寄存器号,因此不能直接编程访问它们。7 寄存器寄存器IRIR(I Instruction nstruction R Registeregister)用来存放当前正在执行的一条指令。用来存放当前正在执行的一条指令。指令可划分为指令可划分为操作码操作码和和地址码地址码字段,由二进制代码组成。执字段,由二进制代码组成。执行指令时必须对操作码进行译码,以识别出所要求的操作,这个功行指令时必须对操作码进行译码,以识别出所要求的操作,这个功能由控制器中的能由控制器中的“指令译码器指令译码器”完成。完成。计数器计数器PCPC(

    8、P Program rogram C Counterounter)用以存放当前或下一条用以存放当前或下一条指令指令在主存中的在主存中的地址地址,因此又称为指,因此又称为指令计数器或指令指针令计数器或指令指针IPIP(Instruction PointerInstruction Pointer)。)。寄存器寄存器 CPU CPU内部设置的状态寄存器,用来存放当前程序的内部设置的状态寄存器,用来存放当前程序的运行状态运行状态和和工作方式工作方式,其内容称为程序状态字,其内容称为程序状态字PSWPSW(Program State WordProgram State Word),),PSWPSW是参与

    9、控制程序执行的重要依据。是参与控制程序执行的重要依据。82 2总线总线 所谓总线是一组能为多个部件所谓总线是一组能为多个部件分时共享分时共享的公共信息传送线路,的公共信息传送线路,它分时接收各部件送来的信息,并发送信息到有关部件。它分时接收各部件送来的信息,并发送信息到有关部件。由于多个部件连接在一组公共总线上,可能会出现多个部件由于多个部件连接在一组公共总线上,可能会出现多个部件争争用用总线,因此需设置总线控制逻辑以解决总线控制权的有关问题。总线,因此需设置总线控制逻辑以解决总线控制权的有关问题。CPUCPU内部总线内部总线用来连接用来连接CPUCPU内的各寄存器与内的各寄存器与ALUALU

    10、;总线分类总线分类:系统总线系统总线用来连接用来连接CPUCPU、主存储器与、主存储器与I/OI/O接口,它通常包括接口,它通常包括三组:三组:数据数据总线、总线、地址地址总线和总线和控制控制总线。总线。按按总线传送的方向总线传送的方向可将总线分为可将总线分为单向单向总线和总线和双向双向总线。总线。93 3CPUCPU内部数据通路内部数据通路 CPU CPU内部寄存器及内部寄存器及ALUALU之间可以用总线方式传送数据信息。之间可以用总线方式传送数据信息。介绍介绍两种常见的结构。两种常见的结构。(1 1)单总线单总线数据通路结构数据通路结构采用单总线结构的采用单总线结构的CPUCPU数据通路数

    11、据通路 10 CPU CPU数据通路结构只采用数据通路结构只采用一组内总线一组内总线,它是,它是双向双向总线。通用总线。通用寄存器组、其他寄存器和寄存器组、其他寄存器和ALUALU均连在这组内总线上。均连在这组内总线上。CPU CPU内各寄存器间的数据传送必须通过内总线进行,内各寄存器间的数据传送必须通过内总线进行,ALUALU通过内通过内总线得到操作数,其运算结果也经内总线输出。总线得到操作数,其运算结果也经内总线输出。(2 2)多组内总线结构)多组内总线结构采用三总线结构的采用三总线结构的CPUCPU数据通路数据通路 为了提高为了提高CPUCPU的工作速度,一种方法是在的工作速度,一种方法

    12、是在CPUCPU内部设置多组内总内部设置多组内总线,使几个数据传送操作能够同时进行,即实现部分并行操作。线,使几个数据传送操作能够同时进行,即实现部分并行操作。113.1.2 3.1.2 指令执行过程指令执行过程 CPU CPU的主要功能就是的主要功能就是执行存放在存储器中的指令序列执行存放在存储器中的指令序列,即,即程序。程序。1 1指令的分段执行过程指令的分段执行过程 任何一条指令的执行都要经过任何一条指令的执行都要经过读取读取指令、指令、分析分析指令和指令和执行执行指指令令3 3个阶段。个阶段。(1 1)取指令:)取指令:根据根据PC提供的地址从主存储器中读取当前指提供的地址从主存储器中

    13、读取当前指令,送到主存数据缓冲器令,送到主存数据缓冲器MDR中,然后再送往中,然后再送往CPU内的指令寄内的指令寄存器存器IR中。中。增量增量PC内容,内容,以以指向下一条指令地址或紧跟当前指令的立即数指向下一条指令地址或紧跟当前指令的立即数或地址码。或地址码。(2 2)分析指令:)分析指令:如果采用组合逻辑控制器,则通过如果采用组合逻辑控制器,则通过指令指令译码电路译出译码电路译出IR中指令各字段表示什么操作,并在时序系统中指令各字段表示什么操作,并在时序系统的配合下产生该指令对应的的配合下产生该指令对应的控制信号送到对应的部件去控制控制信号送到对应的部件去控制操作操作。12(3 3)执行指

    14、令:)执行指令:这个阶段还可以细分这个阶段还可以细分 取操作数取操作数 如果当前指令需要从主存取操作数,就需安排时如果当前指令需要从主存取操作数,就需安排时间再次访问存储器。间再次访问存储器。执行操作执行操作 如果当前指令需要运算,则需考虑形成稳定运算如果当前指令需要运算,则需考虑形成稳定运算结果的时间,为此安排专门的节拍。若运算结果需送回主存单结果的时间,为此安排专门的节拍。若运算结果需送回主存单元,则应安排时间以完成对主存的写操作。元,则应安排时间以完成对主存的写操作。形成下一条指令地址形成下一条指令地址 对于顺序执行的指令,下一条指令地对于顺序执行的指令,下一条指令地址在取指令、取立即数

    15、、取地址码时,就已形成在址在取指令、取立即数、取地址码时,就已形成在PC中;如中;如果是转移类指令,则将形成的转移地址送到果是转移类指令,则将形成的转移地址送到PC中。中。以后再取下一条指令、分析、执行以后再取下一条指令、分析、执行,如此循环直至程序执,如此循环直至程序执行完毕或外来干预为止。行完毕或外来干预为止。此外,此外,CPUCPU还应该对运行过程中出现的某些还应该对运行过程中出现的某些异常情况异常情况或或输入输入/输出请求输出请求进行处理进行处理 132 2指令之间的衔接方式指令之间的衔接方式 指令之间的衔接方式有两种:指令之间的衔接方式有两种:串行串行的顺序执行方式与的顺序执行方式与

    16、并行并行的重叠执行方式。的重叠执行方式。串行的顺序串行的顺序执行执行方式方式:在一条指令执行完毕后才开始取下一在一条指令执行完毕后才开始取下一条指令条指令。控制简单,但在时间上不能充分利用部件,例如控制简单,但在时间上不能充分利用部件,例如指指令令在访存时,在访存时,ALUALU是空闲的。本章的模型机就是采用这种简单是空闲的。本章的模型机就是采用这种简单的指令衔接方式。的指令衔接方式。并行的重叠执行方式:并行的重叠执行方式:在对当前指令执行运算操作时在对当前指令执行运算操作时,前从主前从主存取出下一条指令,而不必等当前指令全部执行完。但如果程存取出下一条指令,而不必等当前指令全部执行完。但如果

    17、程序需要转移,预取下一条指令就要失败。由于多数情况下程序序需要转移,预取下一条指令就要失败。由于多数情况下程序流程是顺序执行,所以预取指令还是能有效地提高执行速度。流程是顺序执行,所以预取指令还是能有效地提高执行速度。143.1.3 3.1.3 时序控制方式时序控制方式 执行一条指令的过程可分为几个阶段,而每一阶段又分为若干执行一条指令的过程可分为几个阶段,而每一阶段又分为若干步基本操作,每一步操作则由控制器产生一些相应的控制信号实现。步基本操作,每一步操作则由控制器产生一些相应的控制信号实现。因此,每条指令都可分解为一个控制信号序列,指令的执行过程就因此,每条指令都可分解为一个控制信号序列,

    18、指令的执行过程就是依次执行一个确定的是依次执行一个确定的控制信号序列控制信号序列的过程。的过程。这个控制信号序列是由时序信号进行定时的。时序控制方式:是指时序控制方式:是指指令产生的微操作控制信号与时序指令产生的微操作控制信号与时序信号之间采取何种关系,它不仅直接决定时序信号的产生,也影信号之间采取何种关系,它不仅直接决定时序信号的产生,也影响到控制器及其他部件的组成,以及指令的执行速度。响到控制器及其他部件的组成,以及指令的执行速度。151 1同步控制方式:同步控制方式:指各个微操作信号由指各个微操作信号由统一统一的时序信号的时序信号 进行同步控制。进行同步控制。基本特征:基本特征:将指令操

    19、作时间分为若干长度相同的将指令操作时间分为若干长度相同的时钟周期时钟周期(也称为节拍)。(也称为节拍)。通常时钟周期应能完成通常时钟周期应能完成CPU内部花费时间最长内部花费时间最长的微操作。的微操作。CPUCPU内部采用同步控制方式内部采用同步控制方式。优点:优点:时序关系简单,结构上易于集中,设计和实现比较方便。时序关系简单,结构上易于集中,设计和实现比较方便。2 2同步控制方式的多级时序系统同步控制方式的多级时序系统(1 1)多级时序的概念)多级时序的概念 在同步控制方式中,通常将时序信号划分为几级(其中包括指在同步控制方式中,通常将时序信号划分为几级(其中包括指令周期),称为多级时序。

    20、令周期),称为多级时序。机器周期机器周期 节拍(时钟周期)节拍(时钟周期)时钟脉冲信号时钟脉冲信号16(2 2)多级时序信号之间的关系)多级时序信号之间的关系三级时序信号之间的关系三级时序信号之间的关系 17(3 3)时序系统的组成)时序系统的组成时序系统框图时序系统框图 主振就是一个晶体振荡器,当机器一上电就产生频率稳定的主主振就是一个晶体振荡器,当机器一上电就产生频率稳定的主振信号振信号。主振经主振经时钟发生器整形分频后得到时钟脉冲信号。启停控制线时钟发生器整形分频后得到时钟脉冲信号。启停控制线路控制时钟脉冲的发与不发。路控制时钟脉冲的发与不发。一组周期状态触发器,标志不同的机器周期,一组

    21、周期状态触发器,标志不同的机器周期,如如取指令周期、取指令周期、存储器读周期存储器读周期。任一时刻只允许有其中的一个触发器为任一时刻只允许有其中的一个触发器为1 1。节拍发生器节拍发生器根据指令需要根据指令需要按序,循环地发出若干节拍信号按序,循环地发出若干节拍信号。183.1.4 3.1.4 指令流水线指令流水线 指令流水线的工作原理类似于工厂中的装配流水线。这是指令流水线的工作原理类似于工厂中的装配流水线。这是因为一条指令的执行过程也是分成几个步骤实现的。因为一条指令的执行过程也是分成几个步骤实现的。如果简单将如果简单将指令处理分成两个阶段:取指令和执行指令。在指令处理分成两个阶段:取指令

    22、和执行指令。在一条指令执行期间,主存空闲一条指令执行期间,主存空闲,利用,利用这个时间取下一条指令,这个时间取下一条指令,从而使取下一条指令与当前指令的执行并行工作。从而使取下一条指令与当前指令的执行并行工作。如下图所示。如下图所示。19下下图(图(b b)给出了两段指令流水线的硬件实现示意图:由取)给出了两段指令流水线的硬件实现示意图:由取指令部件根据指令地址取一条指令并送到流水线锁存器中,指令部件根据指令地址取一条指令并送到流水线锁存器中,以供下一个阶段执行部件使用。当指令执行部件正在执行以供下一个阶段执行部件使用。当指令执行部件正在执行此指令时,取指令部件则取下一条指令然后缓存它。此指令

    23、时,取指令部件则取下一条指令然后缓存它。20为获得进一步的加速,流水线可以分成更多的阶段。为获得进一步的加速,流水线可以分成更多的阶段。取指令取指令计算操作数地计算操作数地址址译码指令译码指令写操作数写操作数取操作数取操作数执行指令执行指令指令流水线操作时序图指令流水线操作时序图 影响流水线性能主要有以下几个因素:影响流水线性能主要有以下几个因素:(1)若各个阶段不全是相等的时间)若各个阶段不全是相等的时间(2)流水线中的相关问题)流水线中的相关问题(3)当遇到条件转移指令时)当遇到条件转移指令时(4)当)当I/O设备有中断请求或机器有故障时设备有中断请求或机器有故障时213.2 3.2 算术

    24、逻辑部件算术逻辑部件ALUALU和运算方法和运算方法 算术逻辑部件算术逻辑部件ALUALU主要完成对二进制代码的定点主要完成对二进制代码的定点算术运算算术运算和和逻辑运算逻辑运算。3.2.1 3.2.1 算术逻辑部件算术逻辑部件ALUALU算术逻辑部件算术逻辑部件ALUALU的硬件实现涉及三个问题:的硬件实现涉及三个问题:(1 1)如何构成一位二进制加法单元,即全加器。)如何构成一位二进制加法单元,即全加器。(2 2)n n位全加器连同进位信号传送逻辑,构成一个位全加器连同进位信号传送逻辑,构成一个n n位并行加法器。位并行加法器。(3 3)以加法器为核心,通过输入选择逻辑扩展为具有多种算术和

    25、逻)以加法器为核心,通过输入选择逻辑扩展为具有多种算术和逻辑运算功能的辑运算功能的ALUALU。221 1全加器全加器 用半加器构成的全加器用半加器构成的全加器 iiiiCBAiiiiiiC)BA(BAC1和和进位进位目前,广泛采用半加器构成全加器。目前,广泛采用半加器构成全加器。通常逻辑门电路都存在延通常逻辑门电路都存在延迟时间,全加器电路就是一个迟时间,全加器电路就是一个延迟部件,正是这个延迟特性延迟部件,正是这个延迟特性将影响全加器的速度。将影响全加器的速度。232 2并行加法器与进位链结构并行加法器与进位链结构并行加法器:并行加法器:由由n n个全加器构成,可实现两个个全加器构成,可实

    26、现两个n n位操作数各位位操作数各位同时相加。同时相加。并行加法器中的操作数各位是同时提供的,但由于进位是逐并行加法器中的操作数各位是同时提供的,但由于进位是逐位形成,从而使各位的和不能同时得到。例如求和的最长时间是位形成,从而使各位的和不能同时得到。例如求和的最长时间是计算计算11111111与与00000101相加。因此并行加法器的最长时间由进位信相加。因此并行加法器的最长时间由进位信号的传递时间决定,而每位全加器本身的求和延迟只是次要因素。号的传递时间决定,而每位全加器本身的求和延迟只是次要因素。进位链进位链:并行加法器中传递进位信号的逻辑线路。进位链并行加法器中传递进位信号的逻辑线路。

    27、进位链本本质上分为质上分为串行进位串行进位与与并行进位并行进位。可以将可以将整个加法器分组、分级,整个加法器分组、分级,对组内、组间、级间分别采用串行的或并行的进位结构。对组内、组间、级间分别采用串行的或并行的进位结构。24(1 1)基本进位公式)基本进位公式设相加的两个设相加的两个n n位操作数为位操作数为:021AAAAAinn021BBBBinnBiiiiii)CB(ABAC1进位信号的逻辑式 可以看出可以看出C C 由两部分组成:由两部分组成:1iiiiii)CB(ABA与我们定义两个辅助函数:我们定义两个辅助函数:iiiBAG iiiBAP进位产进位产生函数生函数进位传进位传递函数递

    28、函数因此有:因此有:iiiiCPGC125(2 2)并行加法器的串行进位)并行加法器的串行进位 采用串行进位的并行加法器,是将采用串行进位的并行加法器,是将n n个全加器的进位串接起来,个全加器的进位串接起来,就可进行两个就可进行两个n n位数相加。位数相加。11111111111111112000000001)CB(ABACPGC)CB(ABACPGC)CB(ABACPGCnnnnnnnnn 由于串行进位的延迟时间较长,所以在由于串行进位的延迟时间较长,所以在ALUALU中很少采用纯串行中很少采用纯串行进位的方式。但这种方式可节省器件,成本低,在分组进位方式中进位的方式。但这种方式可节省器件

    29、,成本低,在分组进位方式中局部采用有时也是可取的。局部采用有时也是可取的。263 3并行进位(先行进位、同时进位)并行进位(先行进位、同时进位)为了提高并行加法器的速度,就必须解决进位传递的问题。方为了提高并行加法器的速度,就必须解决进位传递的问题。方法是让各级进位信号同时形成,而不是串行形成。法是让各级进位信号同时形成,而不是串行形成。00123012312323333340012012122222300101111120001CPPPPGPPPGPPGPGCPGCCPPPGPPGPGCPGCCPPGPGCPGCCPGC 这种同时形成各位进位的方法称为这种同时形成各位进位的方法称为并行进位并

    30、行进位或或先行进位先行进位。虽然并行进位加法器的运算速度快,但这是以增加硬件逻辑线虽然并行进位加法器的运算速度快,但这是以增加硬件逻辑线路为代价的。两种常用的路为代价的。两种常用的分组进位分组进位结构是:结构是:组内并行、组间串行的进位链。组内并行、组间串行的进位链。组内并行、组间并行的进位链。组内并行、组间并行的进位链。27实现上述实现上述逻辑表达式逻辑表达式的的并行进位并行进位4 4位加法器位加法器逻辑,如逻辑,如下下图所示。图所示。284 4ALUALU举例举例 ALU ALU能完成多种算术和逻辑运算。为了简化硬能完成多种算术和逻辑运算。为了简化硬件结构,通常件结构,通常ALUALU是在

    31、加法器的基础上扩展其他运是在加法器的基础上扩展其他运算功能,有的算功能,有的ALUALU还增加判断结果为还增加判断结果为0 0以及溢出判断以及溢出判断等功能。等功能。下面下面介绍介绍4 4位位ALUALU芯片芯片SN74181SN74181的结构。的结构。29(1 1)SN74181 SN74181 外特性外特性:如下图:如下图 A A00 A A3 3、B B00 B B3 3 为为ALUALU的两个数据输入端的两个数据输入端 F F00 F F3 3 为为ALUALU的两个数据输入端的两个数据输入端 C Cn n为为ALUALU最低位进位输入最低位进位输入、C Cn+4n+4为为ALUAL

    32、U最最高高位进位输位进位输出出 M SM S0 0S S1 1S S2 2S S3 3为功能选择控制输入端,其不同的组合将为功能选择控制输入端,其不同的组合将选择选择ALUALU完成不同的运算操作完成不同的运算操作30一位一位ALUALU单元单元(2 2)SN74181SN74181内部结构内部结构右右图是图是SN74181 ALUSN74181 ALU的一位基本逻辑,核心是两个半加器构成的的一位基本逻辑,核心是两个半加器构成的全加器,其数据输入端为全加器,其数据输入端为 A Ai i、B Bi i。选择控制端选择控制端S S3 3S S2 2S S1 1S S0 0用用来控制选择进行哪一种来

    33、控制选择进行哪一种算术或逻辑运算。算术或逻辑运算。第二级半加器的输入第二级半加器的输入选择控制端选择控制端M M用以选择是用以选择是进行算术运算还是逻辑进行算术运算还是逻辑运算。运算。31一位一位ALUALU单元单元 下面分析一位下面分析一位ALUALU的基本逻辑是如何实现多种算术、逻辑运算功的基本逻辑是如何实现多种算术、逻辑运算功能的,可将它划分为三个部分能的,可将它划分为三个部分:对算术运算或逻辑运算的选择控制对算术运算或逻辑运算的选择控制与非与非门门:由两个半加器构成的全加器。由两个半加器构成的全加器。M=0M=0,开门接收低位来的进,开门接收低位来的进位信号位信号C Ci-1i-1,执

    34、行算术运算执行算术运算;M=1M=1,关门不接收,关门不接收C Ci-1i-1,执执行行逻辑逻辑运算运算。由与或非门构成的输入由与或非门构成的输入选择逻辑选择逻辑:本位本位 A Ai i、B Bi i;4 4个控制信号个控制信号S S3 3S S2 2S S1 1S S0 0可选可选择择1616种功能种功能。32ALUALU单元的输入选择逻辑着眼于构造并行进位链的需要单元的输入选择逻辑着眼于构造并行进位链的需要:X Xi i输出中包含进位传递函数输出中包含进位传递函数 P Pi i=A Ai i+B+Bi i;Y Yi i输出中则包含进位产生函数输出中则包含进位产生函数 G Gi i =A A

    35、i i B Bi i。表表3-1 ALU3-1 ALU单元的输入选择逻辑单元的输入选择逻辑S3 S2XiS1 S0Yi0 010 0Ai0 1Ai+0 1AiBi1 0Ai+Bi1 0Ai 1 1Ai1 10iBiB选择不同的控制信号选择不同的控制信号S S3 3S S2 2S S1 1S S0 0 ,可获得不同的输出,可获得不同的输出F Fi i,从而实现不同的运算功能。从而实现不同的运算功能。33(3 3)SN74181SN74181功能表功能表工作方式选择S3 S2 S1 S0逻辑运算M=1算术运算M=0工作方式选择S3 S2 S1 S0逻辑运算M=1算术运算M=00 0 0 0A减11

    36、 0 0 0A加(A+B)0 0 0 1AB减11 0 0 1A加B0 0 1 0A 减11 0 1 0BA 加(A+B)0 0 1 1逻辑1全11 0 1 1A+BA+B0 1 0 0A加()1 1 0 0逻辑0全00 1 0 1AB加()1 1 0 1AB加A0 1 1 0A加 1 1 1 0ABA 加A0 1 1 11 1 1 1AAABAABBAABBBBA BABBABABABBBA BA 表中的运算符表中的运算符“+”是逻辑加(或)是逻辑加(或);算术加用算术加用“加加”表示。表示。A A加加B B:M=0M=0,S S3 3S S2 2S S1 1S S0 0 =1001=100

    37、1。A A减减B B:M=0M=0,S S3 3S S2 2S S1 1S S0 0 =0110=0110,C Cn n=1=134(4 4)用)用SN74181SN74181构成多位构成多位ALUALUSN74181SN74181是是4 4位片结构,因此很容易将其连接成各种位数的位片结构,因此很容易将其连接成各种位数的ALUALU。每片每片SN74181SN74181可作为一个可作为一个4 4位的小组,组间可以采用串行位的小组,组间可以采用串行或或并行并行进位。采用组间并行进位时,要使用一片进位。采用组间并行进位时,要使用一片SN74182SN74182并行进位组件。并行进位组件。下下图图是

    38、是一个一个1616位组间并行进位的位组间并行进位的ALUALU连接实例。连接实例。353.2.2 3.2.2 定点数运算方法定点数运算方法 数值运算的核心是指加、减、乘、除四则算术。由于计算机数值运算的核心是指加、减、乘、除四则算术。由于计算机中的数有定点和浮点两种表示形式,因此相应有中的数有定点和浮点两种表示形式,因此相应有定点数定点数的运算的运算和和浮点数浮点数的运算。的运算。1 1定点加减运算定点加减运算(1 1)原码加减运算)原码加减运算 例如,加法指令指示做(例如,加法指令指示做(+A+A)+(-B-B),由于一个操作数为),由于一个操作数为负,实际操作是做减法(负,实际操作是做减法

    39、(+A+A)-(+B+B),结果符号与绝对值大的),结果符号与绝对值大的符号相同。同理,在减法指令中指示做(符号相同。同理,在减法指令中指示做(+A+A)-(-B-B),实际操),实际操作是做加法(作是做加法(+A+A)+(+B+B),结果与被减数符号相同。),结果与被减数符号相同。原码加减的不方便,导致计算机很少采用原码加减法。原码加减的不方便,导致计算机很少采用原码加减法。36(2 2)补码加减运算)补码加减运算 X X +Y Y =X X+Y Y 补补补 补码减法运算补码减法运算 X XY Y =X X+(-+(-Y Y)=)=X X +-+-Y Y 补补补补在计算机中,参加补码运算的操

    40、作数及运算结果皆用补码表示。在计算机中,参加补码运算的操作数及运算结果皆用补码表示。补码加法运算补码加法运算 两个相加的数无论正负,只要表示成对应的两个相加的数无论正负,只要表示成对应的补码形式,则可直接按二进制规则相加,且符号位作为数的一补码形式,则可直接按二进制规则相加,且符号位作为数的一部分直接参与运算,所得结果就是和的补码形式,并可用如下部分直接参与运算,所得结果就是和的补码形式,并可用如下关系式描述:关系式描述:37 补码运算补码运算:参加运算的操作数用补码表示。参加运算的操作数用补码表示。符号位参加运算。符号位参加运算。若指令操作码为加,则两数直接相加;若操作码为减,若指令操作码为

    41、加,则两数直接相加;若操作码为减,则将减数连同符号位一起变反加则将减数连同符号位一起变反加1 1后再与被减数相加。后再与被减数相加。运算结果用补码表示。运算结果用补码表示。【例例3-33-3】XX 补补=00110110=00110110,Y Y 补补=11001101=11001101,求,求X+Y X+Y 补补,X-Y X-Y 补补。38(3 3)溢出判别)溢出判别在什么情况下可能产生溢出在什么情况下可能产生溢出?例、数例、数A A有有7 7位尾数,位尾数,1 1位符号位符号S Sn n 数数B B有有7 7位尾数,位尾数,1 1位符号位符号S Sn n符号位参加符号位参加运算运算结果符号

    42、结果符号S Sn n符号位进位符号位进位C Cn n尾数最高位进位尾数最高位进位C Cn-1n-1390 00111110 0001101(1)A=31 B=13 31+13:0 0101100 1 11000011 1110100(2)A=-31 B=-13-31-13:1 1010101 0 11111110 1000001(3)A=63 B=66 63+66:1 0000001 1 10000011 0111110(4)A=-63 B=-66-63-66:0 1111111 正溢正溢负溢负溢40 采用一个符号位判断采用一个符号位判断溢出溢出=S+A B=S+A B nAnBnSnnn 采

    43、用最高有效位的进位判断采用最高有效位的进位判断溢出溢出=C +C =C C=C +C =C C 1nnCn1Cnn1n 采用变形补码判断采用变形补码判断(双符号位双符号位)用用S S 、S Sn n分别表示结果最高符号位和第分别表示结果最高符号位和第2 2符号位符号位 1n溢出溢出=S S=S S 1nn412 2移位移位 移位操作按移位性质可分为移位操作按移位性质可分为3 3种类型:种类型:逻辑移位逻辑移位、循环移位循环移位和和算术移位算术移位。设寄存器设寄存器R1R1的值为的值为 0110101101101011,对,对R1R1的多种移位如下图:的多种移位如下图:移位示意图移位示意图 42

    44、3 3定点数乘除运算定点数乘除运算 一种方法一种方法在在原有实现加减运算的原有实现加减运算的ALUALU的基础上增加一些的基础上增加一些逻辑线路以实现乘除运算,并在机器中逻辑线路以实现乘除运算,并在机器中设有乘除指令设有乘除指令。(1 1)无符号整数一位乘法:)无符号整数一位乘法:基本原理依据手算法基本原理依据手算法 计算机中常规加法器只能完成计算机中常规加法器只能完成对两个数的求和操作对两个数的求和操作,因此,因此乘法运算过程要执行多次加法。乘法运算过程要执行多次加法。还有还有,用原部分积右移代替,用原部分积右移代替手手算法算法新部分积左移。因此计算机中的乘法运算采用的方法是:新部分积左移。

    45、因此计算机中的乘法运算采用的方法是:将将n n位乘转换为位乘转换为n n次次“累加与移位累加与移位”,即每一步只求一位乘数所,即每一步只求一位乘数所对应的新部分积,并与原部分积作一次累加,然后右移一位。对应的新部分积,并与原部分积作一次累加,然后右移一位。43右图示右图示无符号整数一位乘的无符号整数一位乘的算法流程算法流程图图,下图是其,下图是其硬件实现原理图硬件实现原理图。图中使用了三个寄存器图中使用了三个寄存器A A、B B和和C C。B B用来存放被乘数;用来存放被乘数;C C初始初始存放乘数存放乘数,然后存放部分积,然后存放部分积;A A初值为初值为0 0,然后存放部分积,然后存放部分

    46、积;最后最后,A A与与C C存放的是乘积,其中存放的是乘积,其中A A存放乘积高位,存放乘积高位,C C存放存放乘积的低位乘积的低位。44【例例3-103-10】11011101 10111011的运算过程如图所示。的运算过程如图所示。(2 2)无符号整数一位除法)无符号整数一位除法 手算法手算法:将部分被除数或余数减去除数,将部分被除数或余数减去除数,根据是否够减决定商根据是否够减决定商1 1还是商还是商0 0。手算手算除法除法的例子:的例子:100101010010101000=1001+1000=1001+10 10 1000100046 计算机中实现除法运算,要解决如何判断够减与否的

    47、问题,计算机中实现除法运算,要解决如何判断够减与否的问题,一种简单的方法是:一种简单的方法是:直接做减法试探,直接做减法试探,不论是否够减,都将被除数或余数减去除不论是否够减,都将被除数或余数减去除数。数。若所得余数符号位为若所得余数符号位为0 0(即正)表明够减,上商(即正)表明够减,上商1 1;若余数若余数符号位为符号位为1 1(即负)表明不够减,由于已做了减法,因此上商(即负)表明不够减,由于已做了减法,因此上商0 0并加上除数(即恢复余数);并加上除数(即恢复余数);然后余数左移一位再做下一步。然后余数左移一位再做下一步。这就是恢复余数法。这就是恢复余数法。恢复余数除法运算的各步操作不

    48、规则,恢复余数除法运算的各步操作不规则,控制较复杂。控制较复杂。而且而且在恢复余数时,要多做一次加除数的运算,增加了运算时间。在恢复余数时,要多做一次加除数的运算,增加了运算时间。因此,恢复余数法已很少在计算机中采用。将这种算法加以改因此,恢复余数法已很少在计算机中采用。将这种算法加以改进,就出现了常用的不恢复余数法。进,就出现了常用的不恢复余数法。47通过分析恢复余数法可以发现:通过分析恢复余数法可以发现:当余数当余数A A为正时,上商为正时,上商1 1,下一步,下一步A A左移一位再减除数左移一位再减除数B B,相当于执行,相当于执行2A-B2A-B的运算;的运算;若余数若余数A A为负,

    49、上商为负,上商0 0,并加除数,并加除数以恢复余数即以恢复余数即A+BA+B,下一步左移一,下一步左移一位减去除数位减去除数B B,这实际相当于执行,这实际相当于执行2 2(A+BA+B)-B=2A+B-B=2A+B的运算。的运算。在出现不够减情况时,并不需要恢在出现不够减情况时,并不需要恢复余数,只是下一步要进行复余数,只是下一步要进行2A+B2A+B的的操作,因此称为不恢复余数法或加操作,因此称为不恢复余数法或加减交替法。其算法流程如减交替法。其算法流程如右右图。图。48【例例3-113-11】用不恢复余数法计算用不恢复余数法计算000010000000100000110011。解:解:A

    50、 A、C C:0000100000001000;B B:00110011;:;:11011101。其。其运算过程如图:运算过程如图:49 计算机中处理的数除了无符号整数和带符号整数外,还有计算机中处理的数除了无符号整数和带符号整数外,还有实数。实数在机器中是用浮点数表示的。其格式在第实数。实数在机器中是用浮点数表示的。其格式在第2 2章已做章已做过介绍。过介绍。由于规格化浮点数具有唯一的表示形式和最长有效位,因由于规格化浮点数具有唯一的表示形式和最长有效位,因此机器中一般采用规格化浮点运算此机器中一般采用规格化浮点运算,即,即只对规格化的浮点数进只对规格化的浮点数进行操作,并要求对运算结果进行

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:微体系结构层[3页]课件.ppt
    链接地址:https://www.163wenku.com/p-3142101.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库