计算机组成原理完整版罗克露全原版

上传人:zh****u6 文档编号:171606961 上传时间:2022-11-28 格式:PPT 页数:278 大小:7.29MB
返回 下载 相关 举报
计算机组成原理完整版罗克露全原版_第1页
第1页 / 共278页
计算机组成原理完整版罗克露全原版_第2页
第2页 / 共278页
计算机组成原理完整版罗克露全原版_第3页
第3页 / 共278页
点击查看更多>>
资源描述
主要内容:主要内容:计算机的基本概念计算机的基本概念 系统硬件组成系统硬件组成(主要部件、系统结构)(主要部件、系统结构)计算机的性能指标计算机的性能指标第一章第一章 概论概论 第一节第一节 计算机的基本概念计算机的基本概念1.1.1 冯冯 诺依曼思想诺依曼思想1.用二进制代码表示程序和数据;用二进制代码表示程序和数据;2.计算机采用存储程序的工作方式;计算机采用存储程序的工作方式;3.计算机硬件由存储器、运算器、控制计算机硬件由存储器、运算器、控制 器、输入设备和输出设备组成。器、输入设备和输出设备组成。1.1.2 信息的数字化表示信息的数字化表示 1.在计算机中用数字代码表示各种信息在计算机中用数字代码表示各种信息 二进制代码二进制代码例例1 用数字代码表示数据用数字代码表示数据 5-5 表示为表示为 0 101 表示为表示为 1 101 例例2 用数字代码表示字符用数字代码表示字符 A B 表示为表示为 1000001 表示为表示为 1000010 例例3 用数字代码表示命令、状态用数字代码表示命令、状态 启动启动 停止停止 正在工作正在工作 工作结束工作结束 表示为表示为 00 表示为表示为 01 表示为表示为 10 表示为表示为 11 2.在物理机制上用数字信号在物理机制上用数字信号 数字型电信号数字型电信号例例1 用电平信号表示数字代码用电平信号表示数字代码 高电平高电平 1 低电平低电平 高电平高电平 0 1 例例2 用脉冲信号表示数字代码用脉冲信号表示数字代码 有脉冲有脉冲无脉冲无脉冲 有脉冲有脉冲101 表示数字代码表示数字代码 实现并行实现并行操作操作实现串行实现串行操作操作1.1.3 存储程序工作方式存储程序工作方式 1.事先编制程序事先编制程序 3.自动、连续地执行程序自动、连续地执行程序 2.事先存储程序事先存储程序 传统诺依曼机串行执行指令。传统诺依曼机串行执行指令。对传统诺依曼机的改造:增加对传统诺依曼机的改造:增加并并行处理行处理功能。功能。第二节第二节 计算机系统的硬件组成计算机系统的硬件组成1.2.1 主要功能部件主要功能部件1.CPU由运算器、控制器组成。由运算器、控制器组成。(1)运算器运算器 1)功能:)功能:加工信息加工信息。2)组成:)组成:移位器移位器ALUALU选择器通用寄存器组通用寄存器组选择器移位器移位器ALUALU选择器通用寄存器组通用寄存器组选择器 ALU:ALU:通过加法器实现运算通过加法器实现运算操作(由全加器求和、由进位操作(由全加器求和、由进位链传递进位信号)。链传递进位信号)。移位器移位器ALUALU选择器通用寄存器组通用寄存器组选择器 通用寄存器组:提供操作数,通用寄存器组:提供操作数,存放运算结果。存放运算结果。移位器移位器ALUALU选择器通用寄存器组通用寄存器组选择器 选择器:选择操作数;选择控选择器:选择操作数;选择控制条件,实现各种算法。制条件,实现各种算法。移位器移位器ALUALU选择器通用寄存器组通用寄存器组选择器 移位器:直接或者移位移位器:直接或者移位送出运算结果。送出运算结果。3)讨论)讨论 几种典型的运算器组成几种典型的运算器组成 几种主要的运算方法(定、浮)几种主要的运算方法(定、浮)(2)控制器)控制器 1)功能:)功能:产生控制命令产生控制命令(微命令微命令),控制全机操作控制全机操作。2)组成:)组成:微命令发生器微命令发生器指令信息指令信息状态信息状态信息时序信号时序信号微命令序列微命令序列微命令产生方式(指令执行控制方式):微命令产生方式(指令执行控制方式):3)讨论)讨论 两种控制器组成原理与控制机制;两种控制器组成原理与控制机制;模型机的模型机的数据通路结构数据通路结构和和指令执行指令执行过程过程。组合逻辑控制方式:组合逻辑控制方式:微程序控制方式:微程序控制方式:由组合逻辑电由组合逻辑电 路产生微命令路产生微命令由微指令产生由微指令产生微命令微命令存储体存储体地址寄存器地址寄存器译码器译码器读读/写线路写线路数据寄存器数据寄存器控制线路控制线路2.存储器存储器 1)功能)功能:存储信息存储信息。2)组成(主存储器):)组成(主存储器):存储体存储体地址寄存器地址寄存器译码器译码器读读/写线路写线路数据寄存器数据寄存器控制线路控制线路 存储体存储体:存放信息的实体。存放信息的实体。寻址系统寻址系统:对地址码译码,:对地址码译码,选择存储单元。选择存储单元。读读/写线路和数据寄存器写线路和数据寄存器:完成读:完成读/写写操作,暂存读操作,暂存读/写数据。写数据。存储体存储体地址寄存器地址寄存器译码器译码器读读/写线路写线路数据寄存器数据寄存器控制线路控制线路 控制线路控制线路:产生读:产生读/写时序,控制读写时序,控制读/写操作。写操作。3.输入输入/输出设备输出设备 1)功能:)功能:转换信息转换信息。输入输入:原始信息:原始信息 代码,送入主机代码,送入主机输出输出:处理结果:处理结果 人所能接受的形式,人所能接受的形式,并输出并输出(代码)(代码)2)讨论)讨论 显示器的工作原理和显示器的工作原理和信息转换信息转换过程过程。3)讨论)讨论 存储单元读存储单元读/写原理、写原理、存储器逻辑设计存储器逻辑设计 1.2.2 硬件系统结构硬件系统结构1.以总线为基础的系统结构以总线为基础的系统结构 总线:能为多个部件分时共享的总线:能为多个部件分时共享的一组信息传送线路。一组信息传送线路。总总 线线部件部件部件部件部件部件总总 线线功能功能 内总线内总线 局部总线局部总线 系统总线系统总线 外总线外总线信息信息 地址总线地址总线 数据总线数据总线 控制总线控制总线时序时序 同步总线同步总线 异步总线异步总线格式格式 并行总线并行总线 串行总线串行总线方向方向 单向总线单向总线 双向总线双向总线(1)以)以CPU为中心的双总线结构为中心的双总线结构CPUCPUM M接口接口接口接口I/OI/OI/OI/OI/OI/O 总线总线M M 总线总线 (2)单总线结构)单总线结构CPUCPUM M接口接口接口接口I/OI/OI/OI/O系系 统统 总总 线线(3)以)以M为中心的双总线结构为中心的双总线结构CPUCPUM M接口接口接口接口I/OI/OI/OI/O系系 统统 总总 线线 M M 总线总线 (4)多级总线结构)多级总线结构CPUCPURAMRAMROMROM公共接口公共接口总线控制逻辑总线控制逻辑M M扩展板扩展板I/OI/O接口板接口板局部总线局部总线系统总线系统总线2.采用通道或采用通道或IOP的大型系统结构的大型系统结构 (1)带通道的系统)带通道的系统I/OI/O控制器控制器主机主机I/OI/O通道通道(2)带)带IOP的系统的系统CPUCPUM M接口接口I/OI/OIOPIOPLMLM接口接口I/OI/O系统总线系统总线I/O总线总线3.模型机系统结构模型机系统结构系系 统统 总总 线线CPUCPUM M公共接口公共接口接口接口接口接口I/OI/OI/OI/O4.讨论讨论 接口:接口:中断接口中断接口、DMA接口接口 总线:分类、信号组成总线:分类、信号组成第三节第三节 计算机系统的性能指标计算机系统的性能指标1.基本字长基本字长 指操作数的基本位数。指操作数的基本位数。它影响计算精度、指令功能。它影响计算精度、指令功能。2.存储容量存储容量 (1)主存容量)主存容量 指存储单元个数位数。指存储单元个数位数。决定地址位数决定地址位数表明编址单位表明编址单位表示为:表示为:字数字长字数字长(按字编址)(按字编址)或或 字节数字节数(按字节编址)(按字节编址)(2)外存容量)外存容量 常表示为常表示为字节数字节数。外存容量与地址码位数无关外存容量与地址码位数无关。3.运算速度运算速度(1)定点)定点/浮点四则运算时间浮点四则运算时间(2)每秒平均执行的指令条数()每秒平均执行的指令条数(MIPS)(3)CPU时钟频率(时钟频率(MHz)总线位数总线时钟频率总线位数总线时钟频率 8 5.处理功能处理功能(1)指令系统功能()指令系统功能(寻址方式寻址方式、指令指令 类型类型)(2)系统软件配置)系统软件配置总线带宽总线带宽=4.数据传输率数据传输率(B/S)第二章第二章 计算机中的信息表示计算机中的信息表示 数据信息数据信息控制信息控制信息数值型数据数值型数据非数值型数据非数值型数据指令信息等指令信息等 第一节第一节 数据信息的表示数据信息的表示 2.1.1 表示数据的大小表示数据的大小二进制、八进制、十六进制、二二进制、八进制、十六进制、二-十进制十进制2.1.2 表示数据的符号表示数据的符号原原码、补码、反码码、补码、反码2.1.3 表示小数点表示小数点定点、浮点定点、浮点1.定点表示法定点表示法无无符号数符号数定点整数定点整数定点小数定点小数00000000 11111111(0)(255)11111111 01111111原原原原(-127)(127)补补10000000 01111111补补(-128)(127)1.1111111 0.1111111原原原原-(1-2-7)(1-2-7)1.0000000 0.1111111补补补补(-1)(1-2-7)类型类型 E E浮点数真值:浮点数真值:N=+R N=+R M M 阶码阶码E Ef E E1 E Em M Mf M M1 M Mn浮点数机器格式:浮点数机器格式:尾数尾数阶符阶符数符数符R R:阶码底,隐含约定。阶码底,隐含约定。E E:阶码,为定点整数,补码或移码表示。阶码,为定点整数,补码或移码表示。其其位数位数决定决定数值范围数值范围;阶符阶符表示表示数的大小数的大小。M M:尾数,为定点小数,原码或补码表示。尾数,为定点小数,原码或补码表示。其其位数位数决定决定数的精度数的精度;数符数符表示表示数的正负数的正负。尾数规格化:尾数规格化:1/21/2 M M 1 1最高有效位绝对值为最高有效位绝对值为1 12.浮点表示法浮点表示法 第二节第二节 指令信息的表示指令信息的表示 指令:指示计算机执行某类操作的信息的集合。指令:指示计算机执行某类操作的信息的集合。本节主要讨论:一般本节主要讨论:一般指令格式指令格式 常用常用寻址方式寻址方式 面向用户面向用户指令类型指令类型2.2.1 指令格式指令格式指令基本格式指令基本格式操作码操作码 地址码地址码 D D一个一个一个或几个一个或几个1.指令字长指令字长定长指令格式定长指令格式变长指令格式变长指令格式便于控制便于控制(1)定长操作码定长操作码各指令各指令的位置、位数固定相同。的位置、位数固定相同。(2 2)扩展操作码)扩展操作码各指令各指令的位置、位数不固定,根据需要的位置、位数不固定,根据需要变化。变化。合理利用存储空间合理利用存储空间2.操作码结构操作码结构关键在设置扩展标志。关键在设置扩展标志。例例.指令字长指令字长16位,可含有位,可含有3 3、2 2、1 1或或0 0个地址,每个地址占个地址,每个地址占4 4位。位。操作码操作码 地址码地址码 15 12 11 8 7 4 3 00000 0000 X X Y Y Z Z 1110 1110 X X Y Y Z Z.11111111 0000 0000 Y ZY Z 1111 1111 1110 1110 Y ZY Z.三地址指令三地址指令 1515条条二地址指令二地址指令 1515条条11111111 11111111 0000 0000 Z Z 1111 11111111 1111 1110 1110 Z Z.一地址指令一地址指令 1515条条11111111 11111111 11111111 0000 0000 1111 11111111 1111 11111111 1111 1111.零地址指令零地址指令 1616条条(3)复合型操作码)复合型操作码操作码分为几部分,每部分表示一种操作。操作码分为几部分,每部分表示一种操作。例例.某机算逻指令某机算逻指令3.地址结构地址结构0 1 2 3 4 5 6 7 8 15基本操作基本操作 进位进位 移位移位 回送回送 判跳判跳 操作数操作数指令中提供的地址数指令中提供的地址数存储单元地址码存储单元地址码寄存器编号寄存器编号(1)指令提供地址的方式)指令提供地址的方式显地址方式显地址方式隐地址方式隐地址方式:指令中明显指明地址。指令中明显指明地址。:地址隐含约定地址隐含约定,不出现在指令中。不出现在指令中。直接或间接给出直接或间接给出(2)地址结构的简化地址结构的简化操作数操作数地址地址 四地址结构指令四地址结构指令格式:格式:使用使用隐地址隐地址可以减少指令中的地址数,可以减少指令中的地址数,简化简化地址结构地址结构。D1 D2 D3 D4 D1 D2 D3 D4结果结果地址地址下条指下条指令地址令地址功能:功能:(D1)(D1)(D2)D3(D2)D3(D4)(D4)下条指令下条指令用指令计数器用指令计数器PCPC指示指令地址。指示指令地址。三地址结构指令三地址结构指令格式:格式:操作数操作数地址地址 D1 D2 D3 D1 D2 D3 结果结果地址地址下条指令地址下条指令地址功能:功能:转移时,用转移转移时,用转移地址修改地址修改PCPC内容。内容。(D1)(D1)(D2)D3(D2)D3(PC)+1 PC(PC)+1 PC源源/目的目的二地址结构指令二地址结构指令格式:格式:D1 D2 D1 D2 目的目的/源源功能:功能:(D1)(D1)(D2)D2/D1(D2)D2/D1(PC)+1 PC(PC)+1 PC双操作数:双操作数:一地址结构指令一地址结构指令格式:格式:D1 D1 隐含约定隐含约定单操作数:单操作数:功能:功能:零地址结构指令零地址结构指令格式:格式:(D1)(D1)(A)A(A)A(PC)+1 PC(PC)+1 PC(D1)D1(D1)D1(PC)+1 PC(PC)+1 PC 功能:功能:用于堆栈或特殊指令操作。用于堆栈或特殊指令操作。例例.ADD.ADD;执行前:执行前:低低SPSP101020204646SPSP30304646执行后:执行后:高高低低高高2.2.2 寻址方式寻址方式是指是指寻找操作数地址或操作数的方式寻找操作数地址或操作数的方式。操作码操作码 立即数立即数S S(1)立即寻址立即寻址指令直接给出操作数。指令直接给出操作数。1.常见寻址方式常见寻址方式定长格式:定长格式:变长格式:变长格式:基本指令基本指令 立即数立即数S S数在指令中,数在指令中,其长度固定、其长度固定、有限。有限。数在基本指令之数在基本指令之后,其长度可变。后,其长度可变。用来提供常数、设置初值等。用来提供常数、设置初值等。操作码操作码 有效地址有效地址D D(2)直接寻址直接寻址指令直接给出操作数地址。指令直接给出操作数地址。存储单元号存储单元号寄存器号寄存器号(数在数在M M中中)(数在数在R R中中)存储器直接寻址存储器直接寻址(直接寻址)直接寻址)定长格式定长格式D D的位数有限的位数有限,限制访存范围限制访存范围变长格式变长格式 基本指令基本指令 D DL L D DH HD D的位数可覆盖的位数可覆盖整个存储空间整个存储空间S=S=(D D)操作码操作码 寄存器号寄存器号R R 存储单元号存储单元号寄存器号寄存器号(数在数在M M中中)(数在数在M M中中)寄存器直接寻址寄存器直接寻址(寄存器寻址)寄存器寻址)格式格式R R所占位数少;所占位数少;访问访问R R比访问比访问M M快快格式格式S=S=(R R)用于访问固定的存储单元或寄存器。用于访问固定的存储单元或寄存器。(3 3)间接寻址)间接寻址指令给出操作数的间接地址。指令给出操作数的间接地址。存储器间址存储器间址操作码操作码 间接地址间接地址D D D=0030D=003000600060.00600060 S S.S=(D)S=(D)M间址单元间址单元地址指针地址指针操作码操作码 寄存器号寄存器号R R 寄存器间址寄存器间址格式格式R R所占位数少;所占位数少;R R可提供全字长地址码;可提供全字长地址码;修改修改R R内容比修改内容比修改M M内容快。内容快。格式格式S=(R)S=(R)指针不变指针不变(由指令指定由指令指定),指针内容可变,使同一指,指针内容可变,使同一指令可指向不同存储单元,以实现令可指向不同存储单元,以实现程序的循环程序的循环、共享共享,并并提供转移地址提供转移地址。堆栈寻址堆栈寻址操作码操作码 堆栈指针堆栈指针S SP P SPSP.S S.S=(SP)S=(SP)MR=02R=02 M0040004000400040 S S.地址指针地址指针00700070.栈顶栈顶格式格式SPSP既可出现在既可出现在指令中,也可隐含约定。指令中,也可隐含约定。变址寻址变址寻址(4 4)变址、基址寻址及其变化)变址、基址寻址及其变化SPSP栈顶栈顶 M S S.低低高高堆栈向上生成堆栈向上生成压栈:压栈:SPSP自动减自动减1 1,再存数。,再存数。-(SP)-(SP),自减型间址自减型间址。先取数,先取数,SPSP再自动加再自动加1 1。(SP)+(SP)+,自增型间址自增型间址。出栈:出栈:指令给出一个寄存器号和一个地址量,寄存指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。器内容与地址量之和为有效地址。操作码操作码 R RX X D D D D的位数有限,若不能提供全字长地址码,会使的位数有限,若不能提供全字长地址码,会使访存空间受到限制访存空间受到限制。变址寄存器号变址寄存器号例例.用变址方式访问一组连续区间内的数组元素。用变址方式访问一组连续区间内的数组元素。S=(S=(R(RX X)+D D)D=D=首址首址D为存储区首址;为存储区首址;(R(RX X)为所访单元距离为所访单元距离首址的长度;首址的长度;R RX X初值为初值为0 0,每访问一,每访问一个单元,个单元,(R(RX X)+1)+1。格式格式操作码操作码 R RX X D D 形式地址形式地址修改量修改量基准地址基准地址n-1n-1.0 01 12 2.D+1D+1D+2D+2D+n-1D+n-1.格式格式(D的位数只需覆盖一个较小的位数只需覆盖一个较小的存储区间)的存储区间)基址寻址基址寻址基址寄存器号基址寄存器号R Rb b 4K4K指令给出一个寄存器号和一个地址量,寄存指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。器内容与地址量之和为有效地址。操作码操作码 R Rb b D D 位移量位移量S=(S=(R Rb b)+D D)基准地址基准地址 相对于基址的位移相对于基址的位移 M.R Rb b 4K4K改变改变Rb的内容,程序能访问的内容,程序能访问存储空间中任何一个定长区存储空间中任何一个定长区间间(4K)(4K)。便于访问两维数组中某类便于访问两维数组中某类指定的元素。指定的元素。4K4K 4K4KR Rb b M.R Rb bD=2D=2D=2D=2学生姓名学生姓名性别性别性别性别年龄年龄年龄年龄学生姓名学生姓名变址与基址的区别:变址与基址的区别:变址变址:指令提供:指令提供基准量基准量(不变不变),R R提供提供修改量修改量(可变可变);适;适 于处理一维数组。于处理一维数组。基址基址:指令提供:指令提供位移量位移量(不变不变),R R提供提供基准量基准量(可变可变);用;用 于扩大有限字长指令的访于扩大有限字长指令的访 存空间。存空间。S=(S=(R RX X)+(R)+(Rb b)+D)+D)格式格式 基址加变址基址加变址变址寄存器号变址寄存器号指令给出两个寄存器号和一个地址量,寄存指令给出两个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。器内容与地址量之和为有效地址。位移量位移量操作码操作码 R RX X R Rb b D D 基址寄存器号基址寄存器号便于处理两维数组。便于处理两维数组。格式格式 相对寻址相对寻址指令给出位移量,指令给出位移量,PCPC内容与位移量之和为有内容与位移量之和为有效地址。效地址。位移量位移量操作码操作码 PCPC D D 或隐含指定或隐含指定S=(PC)S=(PC)D)D)有效地址相对有效地址相对PCPC上下浮动上下浮动,给给编程带来方便编程带来方便。格式格式 页面寻址页面寻址指令给出位移量,指令给出位移量,PCPC的高位部分的高位部分与位移量拼与位移量拼接,形成有效地址。接,形成有效地址。位移量位移量操作码操作码 PCPC D D 或隐含指定或隐含指定S=(S=(PC)(PC)H H,D D)例例.M为为64KB,划划分为分为256页,每页页,每页256B。页号页号页内地址页内地址用于页式管理存储系统。用于页式管理存储系统。寻址速度快,适于组织程序模块,寻址速度快,适于组织程序模块,有效利用存储空间。有效利用存储空间。PC0165H7C.017CHS2.对寻址方式的说明对寻址方式的说明(1 1)操作码隐含说明不同寻址方式)操作码隐含说明不同寻址方式例例.某机指令操作码最高两位某机指令操作码最高两位0000:RRRR型指令,寄存器型指令,寄存器-寄存器寻址寄存器寻址0101:RXRX型指令,寄存器型指令,寄存器-变址寻址变址寻址1010:SISI型指令,基址型指令,基址-立即寻址立即寻址1111:SSSS型指令,基址型指令,基址-基址寻址基址寻址(2 2)指令中设置专门字段说明寻址方式)指令中设置专门字段说明寻址方式例例.某机指令的每个地址字段中各设置一个某机指令的每个地址字段中各设置一个3 3位的寻址方式字段。位的寻址方式字段。操作码操作码 寻址方式寻址方式 R R 寻址方式寻址方式 R R 源地址字段源地址字段目的地址字段目的地址字段3位位3位位2.2.3 2.2.3 指令类型指令类型1.1.传送指令传送指令源地址源地址 目的地址目的地址数数设置时需考虑:设置时需考虑:(1 1)规定传送范围)规定传送范围例例.DJS-100.DJS-100系列:系列:8 80 0X86X86:IBM370IBM370:R R M MR R M M,R R R RR R M M,R R R R,M M M M(2 2)指明传送单位)指明传送单位例例.用操作码说明用操作码说明(VAX-11)(VAX-11):用地址量说明用地址量说明(8(80 0X86)X86):传送次数由传送次数由计数器控制计数器控制MOVMOVB B 8 8MOV MOV AXAX,BXBX MOVMOVW W 1616MOVMOVL L 3232MOV MOV ALAL,BLBL MOV MOV EAXEAX,EBXEBX 例例.80X86.80X86的串传送指令:的串传送指令:REPREP MOVSWMOVSW(3 3)设置寻址方式)设置寻址方式在寻址方式的设置上几乎不受限制,能比较在寻址方式的设置上几乎不受限制,能比较集中地反映指令系统各种寻址方式的实现。集中地反映指令系统各种寻址方式的实现。8 8161632322.2.输入输入/输出指令输出指令各种信息各种信息主机主机 外设外设设置时需考虑:设置时需考虑:(1 1)I/OI/O指令的功能扩展指令的功能扩展如何用通用如何用通用I/OI/O指令实现对各种具体设备的控制?指令实现对各种具体设备的控制?I/OI/O指令中留有扩展余地指令中留有扩展余地指令中某些字段编码事先不定义,需要时再约定指令中某些字段编码事先不定义,需要时再约定其含义。其含义。I/OI/O接口中设置控制接口中设置控制/状态寄存器状态寄存器用于外设种类、数量不多的场合。用于外设种类、数量不多的场合。(2 2)主机对外设的寻址方式)主机对外设的寻址方式如何设置控制如何设置控制/状态寄存器是接口设计的关键。状态寄存器是接口设计的关键。寻找寻找I/OI/O接口中的寄存器的方式。接口中的寄存器的方式。主机用主机用输出指令输出指令或或传送指令传送指令将具体设备的控制命令将具体设备的控制命令按约定的代码格式送往接口中的按约定的代码格式送往接口中的控制寄存器控制寄存器,向外,向外设发出命令。设发出命令。外设的状态信息也以某种格式放在接口的状态寄存外设的状态信息也以某种格式放在接口的状态寄存器中,主机用器中,主机用输入指令输入指令或或传送指令传送指令从从状态寄存器状态寄存器中中取出有关信息进行查询、分析。取出有关信息进行查询、分析。I/OI/O端口端口寻找寻找I/OI/O接口中的寄存器接口中的寄存器的方式。的方式。如何为如何为I/OI/O端口分配地址?端口分配地址?单独编址单独编址I/OI/O地址空间不占主存空间,可与主存空间重叠。地址空间不占主存空间,可与主存空间重叠。=1=1 访问存储器访问存储器=0=0 访问访问I/OI/O端口端口需设置标志区分访问对象,如需设置标志区分访问对象,如编址到寄存器编址到寄存器:为每个寄存器:为每个寄存器(I/O(I/O端口端口)分配独分配独 立的端口地址;立的端口地址;I/OI/O指令中给出端口地址。指令中给出端口地址。M/IOM/IO 统一编址统一编址I/OI/O端口占据部分主存空间。端口占据部分主存空间。常将存储空间的低端分配给主存单元,高端分配常将存储空间的低端分配给主存单元,高端分配给给I/OI/O端口,以示区分。端口,以示区分。编址到寄存器编址到寄存器 设置设置专用专用I/OI/O指令指令针对单独编址,用针对单独编址,用I/OI/O指令访问指令访问I/OI/O端口。端口。指令中说明输入指令中说明输入/输出操作,并给出端口地址。输出操作,并给出端口地址。:为每个寄存器:为每个寄存器(I/O(I/O端口端口)分配总分配总 线地址;线地址;访问外设时,指令中给出总线地址。访问外设时,指令中给出总线地址。(3 3)I/OI/O指令设置方式指令设置方式显式显式I/OI/O指令指令例例.80X86I/O.80X86I/O指令设置指令设置 输入:输入:IN ALIN AL,n n;端口地址端口地址(n)AL(n)AL(直接端口寻址直接端口寻址)IN ALIN AL,DXDX;间接端口地址间接端口地址(DX)AL(DX)AL(间接端口寻址间接端口寻址)输出:输出:OUT nOUT n,ALAL;(AL)n(AL)n(直接端口寻址直接端口寻址)OUT DXOUT DX,ALAL;(AL)(DX)(AL)(DX)(间接端口寻址间接端口寻址)主机调用输入机:主机调用输入机:用用传送指令传送指令实现实现I/OI/O操作操作针对统一编址,用传送指令访问针对统一编址,用传送指令访问I/OI/O端口。端口。不设专用不设专用I/OI/O指令。指令。例例.某机某机I/OI/O接口中设置接口中设置控制控制/状态寄存器状态寄存器CSRCSR,其总线地址为其总线地址为177550177550(8(8进制进制)数据缓冲寄存器数据缓冲寄存器DBRDBR,其总线地址为其总线地址为177552177552隐式隐式I/OI/O指令指令控制控制/状态字格式:状态字格式:出错出错 故障故障 忙忙 完成完成 允许中断允许中断 维护维护 校验校验 启动启动15 14 12 7 6 2 1 015 14 12 7 6 2 1 0启动:启动:测试:测试:取数:取数:主机主机 177550177550控制字控制字(启动位为启动位为1)1)传送指令传送指令主机主机 177550177550 状态字状态字传送指令传送指令主机主机 177552177552 数据数据传送指令传送指令 通过通过I/OI/O处理机进行处理机进行I/OI/O操作操作CPUCPU执行简单执行简单I/OI/O指令指令 (启动、停止、查询、清除启动、停止、查询、清除)设置时需考虑设置时需考虑操作数类型操作数类型、符号符号、进制进制等;等;运算结束后设置相应运算结束后设置相应状态标志状态标志。两级两级I/OI/O指令指令(1 1)算术运算指令)算术运算指令I/OI/O处理机执行处理机执行I/OI/O操作指令操作指令 (输入、输出输入、输出)3.3.算术逻辑运算指令算术逻辑运算指令(2 2)逻辑运算指令)逻辑运算指令实现对代码位的实现对代码位的设置设置、测试测试、清除清除、修改修改等。等。与与或或异或异或控制程序流程。控制程序流程。(1 1)转移指令)转移指令4.4.程序控制指令程序控制指令(2 2)转子指令与返回指令)转子指令与返回指令转子:操作码转子:操作码 子程序入口子程序入口无条件转移无条件转移条件转移条件转移循环循环:操作码:操作码 转移地址转移地址:操作码:操作码 转移地址转移地址 转移条件转移条件:转移条件为循环计数值:转移条件为循环计数值返回:操作码返回:操作码 返回地址返回地址同一条返回指令应能提供多个不同的返回地址。同一条返回指令应能提供多个不同的返回地址。返回地址的存取:返回地址的存取:用堆栈存放返回地址。用堆栈存放返回地址。(3 3)软中断指令)软中断指令程序程序自陷指令自陷指令 第二章复习提纲第二章复习提纲1.I/O1.I/O指令的功能扩展指令的功能扩展(目的、方法目的、方法),外设编址方,外设编址方式和指令设置方式。式和指令设置方式。2.2.基本概念:扩展操作码基本概念:扩展操作码(扩展方法扩展方法)、地址结构、地址结构(简化方法简化方法)、隐地址、显地址、基本寻址方式、隐地址、显地址、基本寻址方式(立立即、直接、间址、变址即、直接、间址、变址)的含义与应用场合。的含义与应用场合。表示不同的功能调用表示不同的功能调用调试程序调试程序早期主要用于早期主要用于程序的调试程序的调试。现在常常用于现在常常用于系统功能调用系统功能调用。以以 INT nINT n 的形式出现在程序中。的形式出现在程序中。第三章第三章 CPUCPU子系统子系统运算部件运算部件 寄存器寄存器 寄存器寄存器控制部件控制部件运算器运算器控制器控制器本章主要讨论:本章主要讨论:运算器运算器 控制器控制器数据通路结构数据通路结构与外部的连接与外部的连接指令的执行过程指令的执行过程CPUCPU组成组成CPUCPU工作原理工作原理 第一节第一节 运算器组织运算器组织 独立结构独立结构小型存储小型存储器结构器结构单口单口双口双口寄存器组寄存器组独立独立R R、双口双口RAMRAM用用多路选择器多路选择器作为作为ALUALU的的输入逻辑,输入逻辑,单口单口RAMRAM用用锁存器锁存器作为作为ALUALU的输入逻辑。的输入逻辑。3.1.1 带多路选择器的运算器带多路选择器的运算器移位器移位器ALU多路选择器多路选择器多路选择器多路选择器R0RnR0.Rn R0.Rn 内部总线(单向)内部总线(单向)特点:特点:R R各自独立;各自独立;可同时向可同时向ALUALU提供两个操作数;提供两个操作数;采用单向内总线。采用单向内总线。3.1.2 带输入锁存器的运算器带输入锁存器的运算器特点:特点:单口单口RAMRAM不能同时向不能同时向ALUALU提提供两个操作数;供两个操作数;用锁存器暂存操作数;用锁存器暂存操作数;采用双向内总线。采用双向内总线。移位器移位器ALU锁存器锁存器锁存器锁存器内部总线(双向)内部总线(双向)R0Rn通用寄存器组(小型存储器)通用寄存器组(小型存储器)3.1.3 位片式运算器位片式运算器特点:特点:用双口用双口RAMRAM(两地址两地址端、两数据端)作通端、两数据端)作通用寄存器组,可同时用寄存器组,可同时提供数据;提供数据;用多路选择器作输入用多路选择器作输入逻辑,不需暂存操作逻辑,不需暂存操作数;数;ALUALU增加乘、除功能,增加乘、除功能,用乘商寄存器存放乘用乘商寄存器存放乘数、乘积或商。数、乘积或商。例例.4.4位片运算器粗框位片运算器粗框移位器移位器ALU多路选择器多路选择器多路选择器多路选择器DO RAMDi B 地址地址 A 地址地址 CnDBDAG、P控制信息控制信息Cn+4乘商寄存器乘商寄存器444444444444 第二节第二节 运算方法运算方法3.2.1.1 补码加减法补码加减法数用补码表示,符号位参加运算。数用补码表示,符号位参加运算。实际操作能否只取决于操作码实际操作能否只取决于操作码?结果需不需修正?结果需不需修正?如何将减法转换为加法?如何将减法转换为加法?3.2.1 定点加减运算定点加减运算1.基本关系式基本关系式(X+Y)补补 =X补补 +Y补补 (1)(X-Y)补补 =X补补 +(-Y)补补 (2)式(式(1):):操作码为操作码为“加加”时,两数直接相加。时,两数直接相加。3)X=3 Y=2 X补补=0 0011 Y补补=1 11100 0001(+1补码)补码)2)X=3 Y=2 X补补=1 1101 Y补补=1 11101 1011(5补码)补码)1)X=3 Y=2 X补补=0 0011 Y补补=0 00100 0101(+5补码)补码)4)X=3 Y=2 X补补=1 1101 Y补补=0 00101 1111(1补码)补码)例例.求求(X+Y)补补(X+Y)补补 =X补补 +Y补补 (1)(X-Y)补补 =X补补 +(-Y)补补 (2)式(式(2):):操作码为操作码为“减减”时,将减转换为加。时,将减转换为加。1)X=4 Y=5 X补补=0 0100 Y补补=1 1011(-Y)补补=0 01010 1001(+9补码)补码)2)X=4 Y=5 X补补=1 1100 Y补补=0 0101(-Y)补补=1 10111 0111(9补码)补码)例例.求求(X Y)补补Y补补 (Y)补补:将将Y Y补补变补变补不管不管Y Y补补为正或负,将其符号连同为正或负,将其符号连同尾数一起各位变反,末位加尾数一起各位变反,末位加1 1。即将减数变补后与被减数相加。即将减数变补后与被减数相加。X补补=0 0100 Y补补=1 1011 X补补=1 1100 Y补补=0 0101注意:某数的注意:某数的补码表示补码表示与某数与某数变补变补的区别。的区别。例例.1 0101.1 0101原原 1 10111 1011补码表示补码表示1 00111 0011补补 0 11010 1101变补变补 0 01010 0101原原 0 01010 0101补码表示补码表示符号位不变;符号位不变;负数尾数改变,负数尾数改变,正数尾数不变。正数尾数不变。0 00110 0011补补 1 11011 1101变补变补符号位改变,符号位改变,尾数改变。尾数改变。补码的机器负数补码的机器负数2.算法流程算法流程操作数用补码表示,操作数用补码表示,符号位参加运算符号位参加运算结果为补码表示,符结果为补码表示,符号位指示结果正负号位指示结果正负X补补+Y补补X补补+(-Y)补补ADDSUB3.逻辑实现逻辑实现A(X补补)B(Y补补)+AABB+B+B+1CPA A(1)控制信号控制信号加法器输入端:加法器输入端:+A+A:打开控制门,将打开控制门,将A A送送。+B+B:打开控制门,将打开控制门,将B B送送。+1+1:控制末位加控制末位加 1 1。+B+B:打开控制门,将打开控制门,将B B送送。加法器输出端:加法器输出端:A:打开控制门,将结打开控制门,将结 果送果送A输入端。输入端。CPCPA A:将结果打入将结果打入A A。(2)补码加减运算器粗框补码加减运算器粗框3.2.1.2 溢出判断溢出判断在什么情况下可能产生溢出?在什么情况下可能产生溢出?例例.数数A A有有4 4位尾数,位尾数,1 1位符号位符号S SA A 数数B B有有4 4位尾数,位尾数,1 1位符号位符号S SB B 符号位参符号位参加运算加运算 结果符号结果符号S Sf f符号位进位符号位进位C Cf f尾数最高位进位尾数最高位进位C C正确正确0 00110 0010(1)A=3 B=2 3+2:0 0101 (2)A=10 B=7 10+7:0 10100 01111 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)A=-3 B=-2-3+(-2):1 1011 1 11011 1110(4)A=-10 B=-7 -10+(-7):0 1111 1 01101 1001(5)A=6 B=-4 6+(-4):0 0010 0 01101 1100(6)A=-6 B=4 -6+4:1 1110 1 10100 0100(2)A=10 B=7 10+7:0 1010 0 01111 0001 (4)A=-10 B=-7 -10+(-7):0 1111 1 01101 10011.硬件判断逻辑一硬件判断逻辑一(SA、SB与与Sf的关系)的关系)溢出溢出=S SA AS SB BS Sf fS SA AS Sf fS SB B2.硬件判断逻辑二硬件判断逻辑二(Cf与与C的关系)的关系)正确正确0 00110 0010(1)A=3 B=2 3+2:0 0101 (2)A=10 B=7 10+7:0 10100 01111 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)A=-3 B=-2-3+(-2):1 1011 1 11011 1110(4)A=-10 B=-7 -10+(-7):0 1111 1 01101 1001(5)A=6 B=-4 6+(-4):0 0010 0 01101 1100(6)A=-6 B=4 -6+4:1 1110 1 10100 0100CfCf=0=0C=0C=0CfCf=0=0C=1C=1CfCf=1=1C=1C=1CfCf=1=1C=0C=0CfCf=1=1C=1C=1CfCf=0=0C=0C=0111111(2)A=10 B=7 10+7:0 1010 0 01111 0001 (4)A=-10 B=-7 -10+(-7):0 1111 1 01101 10011.硬件判断逻辑一硬件判断逻辑一(SA、SB与与Sf的关系)的关系)溢出溢出=S SA AS SB BS Sf fS SA AS Sf fS SB B2.硬件判断逻辑二硬件判断逻辑二(Cf与与C的关系)的关系)溢出溢出=C Cf f C C3.硬件判断逻辑三硬件判断逻辑三(双符号位(双符号位)(1)3+2:正确正确00 001100 001000 0101 (2)10+7:00 101000 011101 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)-3+(-2):11 0111 11 110111 1110(4)-10+(-7):10 1111 11 011011 1001(5)6+(-4):00 0010 00 011011 1100(6)-6+4:11 1110 11 101000 0100第一符号位第一符号位Sf1第二符号位第二符号位Sf2溢出溢出=S Sf1f1 S Sf2f2(2)A=10 B=7 10+7:0 1010 0 01111 0001 (4)A=-10 B=-7 -10+(-7):0 1111 1 01101 10011.硬件判断逻辑一硬件判断逻辑一(SA、SB与与Sf的关系)的关系)溢出溢出=S SA AS SB BS Sf fS SA AS Sf fS SB B2.硬件判断逻辑二硬件判断逻辑二(Cf与与C的关系)的关系)溢出溢出=C Cf f C C3.硬件判断逻辑三硬件判断逻辑三(双符号位(双符号位)3.2.1.3 移位操作移位操作逻辑移位逻辑移位 :数码位置变化,数值数码位置变化,数值不变不变。1.移位类型移位类型算术移位算术移位 1 0 0 0 1 1 1 1循环左移:循环左移:0:数码位置变化,数值:数码位置变化,数值变化变化,符号位不变。符号位不变。1 0 0 1 1 1 1 算术左移:算术左移:1 0 0 1 1 1 1 10 1 1 1 1 0(-15)(-30)(1)单符号位)单符号位:0 01110 1110 (2)双符号位)双符号位:00 1110 00 01112.正数补码移位规则正数补码移位规则(3 3)移位规则)移位规则左移左移右移右移右移右移0 0111 0 0011 左移左移左移左移右移右移右移右移01 1100 00 1110 00 0111 数符不变数符不变(单:符号位不变;双:第一符号(单:符号位不变;双:第一符号位不变)。位不变)。空位补空位补0(右移时第二符号位移至尾数最高位)。(右移时第二符号位移至尾数最高位)。(1)单符号位)单符号位:1 10111 0110 (2)双符号位)双符号位:10 1100 11 01103.负数补码移位规则负数补码移位规则(3 3)移位规则)移位规则左移左移右移右移右移右移1 1011 1 1101 左移左移右移右移右移右移11 0110 11 1011 数符不变数符不变(单:符号位不变;双:第一符号(单:符号位不变;双:第一符号位不变)。位不变)。左移空位补左移空位补0(第二符号位移至尾数最高位)。(第二符号位移至尾数最高位)。右移空位补右移空位补13.2.1.4 舍入方法舍入方法1.0 0舍舍1 1入(原码、补码)入(原码、补码)0 00100原原 1 00101原原 1 11011补补 2.末位恒置末位恒置1 1(原码、补码)(原码、补码)0 00100原原 1 11011补补 1 00101原原 0 0010原原 1 0011原原 1 1110补补 0 0011原原 1 0011原原 1 1101补补 1 0011原原 1 1101补补 例例.保留保留4位尾数:位尾数:例例.保留保留4位尾数:位尾数:3.2.2 定点乘法运算定点乘法运算3.2.2.1 原码一位乘法原码一位乘法 每次用一位乘数去乘被乘数。每次用一位乘数去乘被乘数。1.1.算法分析算法分析乘法乘法 部分积累加、移位。部分积累加、移位。例例.0.11011.10111.1011乘积乘积 P=X P=X Y Y积符积符 S SP P=S=SX X S SY YX原原Y原原(1 1)手算)手算 0.11010.1101 0.10110.1011 11011101 1101 1101 0000 0000 1101 1101 0.100011110.10001111上符号:上符号:1.100011111.10001111部分积部分积问题:问题:1 1)加数增多(由乘数位数决定)。)加数增多(由乘数位数决定)。2 2)加数的位数增多(与被乘数、乘)加数的位数增多(与被乘数、乘 数位数有关)。数位数有关)。改进:将一次相加改为分步累加。改进:将一次相加改为分步累加。(2 2)分步乘法)分步乘法每次将一位乘数所对应的部分积与每次将一位乘数所对应的部分积与原部分积的累加和相加,并移位。原部分积的累加和相加,并移位。设置寄存器:设置寄存器:A A:存放存放部分积累加和部分积累加和、乘积高位乘积高位 B B:存放存放被乘数被乘数 C C:存放存放乘数乘数、乘积低位乘积低位 设置初值:设置初值:A=00.0000A=00.0000 B=X=00.1101 B=X=00.1101 C=Y=.1011 C=Y=.1011 步数步数 条件条件 操作操作 A C A C 00.0000 00.0000 .101.1011 1 1 1)C Cn n=1=1+B+BC Cn n+00.1101+00.110100.00.11011101 0.11010.1101 0.1010.1011 1 11011101 1101 1101 0000 0000 1101 1101 0.100011110.10001111BC 11011101 00.00.011001101 1.10.101 1 0.11010.1101 0.100.101 11 12 2)C Cn n=1=1+B+B+00.1101+00.11010 01 1.0011001100.00.100110011111.1.10 0 0.11010.1101 0.10.10 01111 0.11010.1101 0.10110.1011 11011101 1101 1101 0000 0000 1101 1101 0.100011110.10001111BC3 3)C Cn n=0=0+0+0+00.0000+00.000000.00.1001100100.00.01000100111111.1 14 4)C Cn n=1=1+B+B+00.1101+00.11010 01 1.0001000100.00.1000100011111111X X原原Y Y原原 =1.10001111=1.10001111 2.算法流程算法流程0 A0 A、X BX B、Y CY C、0 CR0 CRC Cn n=1 =1?CR=n CR=n?1/21/2(A+BA+B)A A,C C1/21/2(A+0A+0)A A,C C CR+1 CR+1 CR CRYYNN SxSx+Sy Sy S SA A 3.3.运算规则运算规则(1 1)操作数、结果用原码表示;)操作数、结果用原码表示;(2 2)绝对值运算,符号单独处理;)绝对值运算,符号单独处理;(3 3)被乘数)被乘数(B)B)、累加和累加和(A)A)取双符号位;取双符号位;(4 4)乘数末位)乘数末位(C Cn n)为判断位,其状态决定为判断位,其状态决定 下步操作;下步操作;(5 5)作)作n n次循环(累加、右移)。次循环(累加、右移)。3.2.2.2 补码一位乘法补码一位乘法 1.1.算法分析算法分析 X X补补 =X X0 0.X.X1 1X X2 2X Xn n(1 1)Y Y为正:为正:Y Y补补 =0.=0.Y Y1 1Y Y2 2Y Yn n (XY)(XY)补补 =X X补补(0.(0.Y Y1 1Y Y2 2Y Yn n)(2 2)Y Y为负:为负:Y Y补补 =1.=1.Y Y1 1Y Y2 2Y Yn n (XY)(XY)补补 =X X补补(0.(0.Y Y1 1Y Y2 2Y Yn n)+(-X)+(-X)补补(3 3)Y Y符号任意:符号任意:(XY)(XY)补补 =X X补补(0.(0.Y Y1 1Y Y2 2Y Yn n)+(-X)+(-X)补补Y Y0 0符号位符号位(4 4)展开为部分积的累加和形式:展开为部分积的累加和形式:(XY)(XY)补补 =X X补补(0.(0.Y Y1 1Y Y2 2Y Yn n)+(-X)+(-X)补补Y Y0 0 =X X补补(0.(0.Y Y1 1Y Y2 2Y Yn n)-X)-X补补Y Y0 0 =X X补补(-(-Y Y0 0+2 Y2 Y1 1+2 2 Y Y2 2+2 2 Y Yn n)-1 1 -2-2 -n n =X X补补 -Y Y0 0+(+(Y Y1 1-2 Y-2 Y1 1)+()+(2 Y2 Y2 2-2 Y-2 Y2 2)+)+-1 -1 -21 -1 -2-(-(n-1)-nn-1)-n +(+(2 2 Y Yn n-2-2 Y Yn n)=X X补补 (Y Y1 1-Y-Y0 0)+2(Y)+2(Y2 2-Y-Y1 1)+2(Y)+2(Y3 3-Y-Y2 2)+)+-1 -21 -2 +2(0 -+2(0 -Y Yn n)-n-n +2(+2(0 0 -Y Yn n)-n-nY Yn n+1+1 =X X补补 (Y Y1 1-Y-Y0 0)+2()+2(Y Y2 2-Y-Y1 1)+2()+2(Y Y3 3-Y-Y2 2)+)+-1 -21 -2 +2(+2(0 0 -Y Yn n)-n-nY Yn n+1+1比较法:用相邻两位乘数比较的结果决定比较法:用相邻两位乘数比较的结果决定 +X X补补、-X X补补或或+0+0。2.2.比较法比较法算法算法Y Yn n(高位高位)Y Yn n+1+1(低位低位)操作操作(A A补补为部分积累加和为部分积累加和)0 00 00 10 11 01 01 1 1 1 1/2A1/2A补补 1/2(A1/2(A补补+X+X补补)1/2(1/2(A A补补-X-X补
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!