陈伟婷《计算机组成原理》ch5中央处理器.ppt_第1页
陈伟婷《计算机组成原理》ch5中央处理器.ppt_第2页
陈伟婷《计算机组成原理》ch5中央处理器.ppt_第3页
陈伟婷《计算机组成原理》ch5中央处理器.ppt_第4页
陈伟婷《计算机组成原理》ch5中央处理器.ppt_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019/6/17,1,第5章 中央处理器,2,Intel 4004,1971年1月,Intel公司的霍夫研制成功世界上第一块个人 4位微处理器芯片Intel 4004,标志着第一代微处理器问世,微处理器和微机时代从此开始。 1971年11月,Intel推出MCS-4微型计算机系统其包括4001 ROM芯片、4002 RAM芯片、4003移位寄存器芯片和4004微处理器。,3,Intel 8008,1972年4月,霍夫等人开发出第一个8位微处理器Intel 8008。8008采用的是P沟道MOS微处理器,属第一代微处理器。,4,8080 第二代微处理器,1973年8月,霍夫等人研制出8位微处理器Intel 8080,以N沟道MOS电路取代了P沟道,第二代微处理器就此诞生。 主频2MHz的8080芯片运算速度比8008快10倍,可存取64KB存储器,使用了基于6微米技术的6000个晶体管,处理速度为0.64MIPS。,5,Z80微处理器,Zilog公司于1976年开发的Z80微处理器,广泛用于微型计算机和工业自动控制设备。当时,zilog、Motorola和Intel在微处理器领域三足鼎立。,6,Intel 8086 第三代微处理器,1978年6月,Intel推出4.77MHz的8086微处理器,标志着第三代微处理器问世。 它采用16位寄存器、16位数据总线和29000个3微米技术的晶体管,售价360美元。,7,CPU的发展,8080CPU:运算器+控制器 8086CPU:运算器+控制器+分段功能 80386CPU:运算器+控制器+分段部件+分页部件 存储管理部件 (MMU) 80486CPU:运算器+控制器 + MMU +FPU+Cache PentiumCPU:片内有二条流水线,引入超标量技术 Pentium Pro CPU:引入超流水线技术 Pentium MMX CPU:引入多媒体扩展技术 Pentium II、 Pentium III、 Pentium 4:SSE/SSE2技术(增加对3D处理技术) Dual Core及多核芯片,8,内容概要,CPU概念 指令周期 时序控制及时序控制器 控制信号及控制器 流水CPU,9,5.1 CPU概念,CPU的功能 CPU的组成 从寄存器角度认识CPU 从控制信号角度认识CPU,10,CPU,回顾:计算机硬件五大部分: 控制器为中心视图 / CPU,控制器,输入设备,存储器,输出设备,运算器,结果,数据,取数,存数,输入命令,输出命令,说明:实线:控制线 虚线:反馈线 粗线:数据线,11,CPU的功能,指令控制 程序的顺序控制 操作控制 CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求动作。 时间控制 对各种操作实施时间上的定时 数据加工 对数据进行算术运算和逻辑运算,12,CPU的组成,基本组成 运算器 控制器 其它组成部分 Cache 浮点处理器,13,14,组成: 算术逻辑单元ALU 通用寄存器Rn 数据缓冲寄存器DR 状态条件寄存器PSW (程序状态字寄存器) 功能 执行算术运算 执行逻辑运算,运算器,15,组成: 程序计数器 指令寄存器 指令译码器 时序产生器 操作控制器,控制器,功能 从内存中取一条指令,并指出 下一条指令的位置 对指令译码,产生相应操作控 制信号 指挥并控制数据流动方向,16,从寄存器角度认识CPU,指令寄存器IR 程序计数器PC 地址寄存器AR 数据缓冲寄存器DR 通用寄存器Rn 状态条件寄存器PSW,17,指令寄存器IR,作用: 存放当前指令代码 信息来源: 存储器(取指令操作) 信息输出 指令译码器 地址信息(寻址方式) 寄存器位数:指令字长度,18,程序计数器PC,作用: 确定下一条执行的指令地址,保证程序连续执行 信息来源 赋值(初值、IR或其它) PC1 信息输出: 存储器地址(取指令) 寄存器位数: 通常为CPU地址线位数,19,(数据)地址寄存器AR,作用: 保存并提供稳定的存储器地址值 信息来源 程序计数器PC 存储器或其它寄存器 信息输出: 存储器地址(IO) 寄存器位数: 通常为CPU地址线位数,20,数据缓冲寄存器DR,作用 缓冲ALU运算结果和通用寄存器信息传送 CPU与外部的信息传送中转,补偿CPU与外部的信息传送速度差别 信息来源及目标: CPU或外部(双向) 寄存器位数: 计算机字长,21,通用寄存器Rn,作用: 为算术逻辑运算单元提供工作区 信息来源与目标 既可存放ALU的操作数, 也可保存操作结果 可以与存储器进行数据交换 寄存器位数: 机器字长 注:累加器是一种通用寄存器,22,状态条件寄存器PSW,作用: 提供运算结果及系统工作状态 内容 运算结果进位标志C 运算结果溢出标志V 运算结果为零标志Z 运算结果为负标志N 中断允许标志I ,23,从控制信号角度认识CPU,时序产生器 操作控制器 硬布线控制器(时序逻辑型) *微程序控制器(存储逻辑型),24,时序产生器,作用 为计算机的各种操作提供严格的时间控制 最基本信号源 系统时钟 基本操作 分频、信号分配,25,操作控制器,作用 为完成取指令和执行指令提供正确的控制信号 输入 指令代码 时序产生器信号 指令执行反馈 输出 操作控制信号 操作控制器分类 时序逻辑型、存储逻辑型、时序逻辑与存储逻辑结合型,26,5.2 指令周期,基本概念 指令周期的分析 指令周期的描述,27,28,基本概念,指令周期 取出并执行一条指令所需要的时间 CPU周期(机器周期) 从内存中读取一个指令字的最短时间 时钟周期(T周期) 处理器操作的最小时间单位 相互关系 一个指令周期由若干个CPU周期组成 一个CPU周期由若干个T周期组成,29,一个指令周期包含若干机器周期 一个机器周期包含若干时钟周期,各种指令的指令周期相同吗? 为什么? 机器周期呢? 时钟周期呢?,30,指令周期的分析,分析内容:指令的操作过程 分析对象:典型指令 MOV指令:MOV Rd, Rs ;RsRd LAD指令: LAD Rd,D ; DRd ADD指令: ADD Rs,Rd ; Rs+RdRd STO指令: STO Rs,(Rd) ; Rs (Rd) JMP指令: JMP D ;DPC,31,MOV指令:RsRd,指令性质 RR型指令 二个CPU周期 操作过程 取指令阶段 执行指令阶段,32,MOV指令的指令周期-取指, 程序计数器PC中装入第一条指令地址101(八进制);, PC的内容被放到指令地址总线ABUS(I)上,对指存进行译码,并启动读命令;, 从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR;, 程序计数器内容加1,变成102,为取下一条指令做好准备;, 指令寄存器中的操作码(OP)被译码;, CPU识别出是MOV指令,至此,取指周期即告结束。,33,MOV指令的指令周期执行, 操作控制器(OC)送出控制信号到通用寄存器,选择R1(10)作源寄存器,选择R0作目标寄存器;, OC送出控制信号到ALU,指定ALU做传送操作;, OC送出控制信号,打开ALU输出三态门,将ALU输出送到数据总线DBUS上。注意,任何时候DBUS上只能有一个数据。, OC送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR(10);, OC送出控制信号,将DR中的数据10打入到目标寄存器R0,R0的内容由00变为10。至此,MOV指令执行结束。,34,LAD指令,指令性质 RS型指令 三个CPU周期 操作过程 取指令阶段 执行指令阶段 送操作数地址 存数,35,LAD指令的执行周期, 操作控制器OC发出控制命令打开IR输出三态门,将指令中的直接地址码6放到数据总线DBUS上;, OC发出操作命令,将地址码6装入数存地址寄存器AR;, OC发出读命令,将数存6号单元中的数100读出到DBUS上;, OC发出命令,将DBUS上的数据100装入缓冲寄存器DR;, OC发出命令,将DR中的数100装入通用寄存器R1,原来R1中的数10被冲掉。至此,LAD指令执行周期结束。,36,ADD指令,指令性质 RR型指令 二个CPU周期 操作过程 取指令阶段 执行指令阶段,37,ADD指令的执行周期, 操作控制器OC送出控制命令到通用寄存器,选择R1做源寄存器,R2做目标寄存器;, OC 送出控制命令到ALU,指定ALU做R1(100)和R2(20)的加法操作;, OC送出控制命令,打开ALU输出三态门,运算结果120放到DBUS上;, OC送出控制命令,将DBUS上数据打入缓冲寄存器DR;ALU产生的进位信号保存状态字寄存器在PSW中。, OC送出控制命令,将DK(DR(120)DK)装入R2,R2中原来的内容20被冲掉。至此ADD指令执行周期结束。,38,STO指令,指令性质 RS型指令 三个CPU周期 操作过程 取指令阶段 执行指令阶段 送操作数地址 存数,39,STO指令的执行周期, 操作控制器OC送出操作命令到通用寄存器,选择(R3)=30 做数据存储器的地址单元;, OC发出操作命令,打开通用寄存器输出三态门(不经ALU以节省时间),将地址30放到DBUS上;, OC发出操作命令,将地址30打入AR,并进行数存地址译码;, OC发出操作命令到通用寄存器,选择(R2)=120DK),作为数存的写入数据;, OC发出操作命令,打开通用寄存器输出三态门,将数据120放到DBUS上。, OC发出操作命令,将数据120写入数存30号单元,它原先的数据40被冲掉。至此,STO指令执行周期结束。,40,JMP指令,取指令阶段操作相同 执行指令阶段 IR(地址码部分)PC,41,JMP指令的执行周期, OC发生操作控制命令,打开指令寄存器IR的输出三态门,将IR中的地址码101发送到DBUS上;, CC发出操作控制命令,将DBUS上的地址码101打入到程序计数器PC中,PC中的原先内容106被更换。于是下一条指令不是从106号单元取出,而是转移到101号单元取出。至此JMP指令执行周期结束。,42,指令周期的描述,文字描述 数据通路图描述 示意图描述 方框图语言描述 一个方框代表一个CPU周期 菱形框代表某种判别或测试 “”代表公操作,43,方框图表示指令周期,取指,执行,44,总结,一个指令周期包括一个取指周期和一个或一个以上的执行周期 在每个CPU周期中数据通路是明确的 数据通路的建立及操作受到操作控制器的控制,当然决定于是什么指令,45,5.3 时序产生器,时序信号的作用 时序产生器的工作 控制方式 几个概念: 节拍电位(CPU周期) 节拍脉冲(时钟周期),46,1. 时序信号产生器的作用,CPU中的控制器用于指挥机器的工作 CPU可以用时序信号/周期信息来辨认从内存中取出的是指令(取指)还是数据(执行) 一个CPU周期中时钟脉冲对CPU的动作有严格的约束 操作控制器发出的各种信号是时间(时序信号)和空间(部件操作信号)的函数。,47,2. 时序信号产生器的组成,功能:产生时序信号 各型计算机产生时序电路不相同 大、中型计算机的时序电路复杂,微型计算机的时序电路简单 构成 时钟源 环形脉冲发生器 节拍脉冲和读写时序译码逻辑 启停控制逻辑,48,3. 控制方式,机器指令所包含的CPU周期数反映了指令的复杂程度,不同CPU周期的操作信号的数目和出现的先后次序也不相同。 控制方式:控制不同操作序列时序信号的方法。 分为以下几种: 同步控制方式 异步控制方式 联合控制方式,49,同步控制方式,定义:不同指令在执行时所需的机器周期数和时钟周期数都是固定不变的。 三种方案 采用完全统一的机器周期执行各种不同的指令 采用不定长的机器周期(将大多数操作安排在一个较短的机器周期内完成,对某些时间紧张的操作,则采取延长机器周期的办法来解决) 中央控制与局部控制结合(将大多数指令安排在固定的机器周期完成(称为中央控制),对少数复杂指令采用另外的时序进行定时(称为局部控制),50,异步控制方式,控制方式: 每条指令的指令周期由不等长的机器周期数组成 根据执行部件的信号决定指令周期的结束 特点: 每条指令、每个操作控制信号需要多少时间就占用多少时间 操作控制序列没有固定的CPU周期数和时钟周期数与之同步,51,联合控制方式,同步方式与异步方式相结合的方式 大部分操作序列同步的(机器周期数固定),少量操作采用执行部件的应答 机器周期中的时钟周期数固定,各指令的机器周期数不固定,52,5.4 微程序控制器,基本概念 微程序控制器的工作原理 微程序的设计 基本思想: 仿照解题的方法,把操作控制信号编制成微指令,存放到控制存储器里,运行时,从控存中取出微指令,产生指令运行所需的操作控制信号。从上述可以看出,微程序设计技术是用软件方法来设计硬件的技术。,53,微程序控制器发展,微程序的概念和原理是由英国剑桥大学的MVWilkes教授于1951年在曼彻斯特大学计算机会议上首先提出来的,当时还没有合适的存放微程序的控制存储器的元件。 到1964年,IBM公司在IBM 360系列机上成功地采用了微程序设计技术。 20世纪70年代以来,由于VLSI技术的发展,推动了微程序设计技术的发展和应用。 目前,从大型机到小型机、微型机都普遍采用了微程序设计技术。,54,1. 基本概念,微命令:控制部件向执行部件发出的各种控制命令叫作微命令,它是构成控制序列的最小单位。 例如:打开或关闭某个控制门的电位信号、某个寄存器的打入脉冲等。 微命令是控制计算机各部件完成某个基本微操作的命令。 微操作:执行部件接受微命令后执行的操作 微命令和微操作是一一对应的。 微命令是微操作的控制信号,微操作是微命令的操作过程。 微操作是执行部件中最基本的操作。,55,1. 基本概念,微指令:把在同一CPU周期内并行执行的微操作控制信息,存储在控制存储器里,称为一条微指令(Microinstruction)。 它是微命令的组合,微指令存储在控制器中的控制存储器中 一条微指令通常至少包含两大部分信息: 操作控制字段,又称微操作码字段,用以产生某一步操作所需的各个微操作控制信号。 某位为1,表明发微指令 微指令发出的控制信号都是节拍电位信号,持续时间为一个CPU周期 微命令信号还要引入时间控制 顺序控制字段,又称微地址码字段,用以控制产生下一条要执行的微指令地址。 微地址 :存放微指令的控制存储器的单元地址 微程序: 一系列微指令的有序集合就是微程序。 一段微程序对应一条机器指令。,56,微指令基本格式,57,微操作的部分特征,每个执行部分有多少种微操作,就应该接收多少种微命令 相容性微操作: 在某一个时间段内可以同时执行的微操作 相斥性微操作: 在某一个时间段内不可以同时执行的微操作,58,2. 微程序控制器的组成,控制存储器 微指令寄存器 地址转移逻辑,59,控制存储器,作用:存放全部微程序 结构:ROM 字长:微指令字的长度 存储容量:由微程序数量决定 执行过程:微指令周期 要求:访问速度快,60,动态微程序与静态微程序,动态微程序 采用EPROM作为存储器 可以通过改变微指令和微程序来开发机器的指令系统 静态微程序 采用不可编程ROM 不可以改变已固化的微指令和微程序,61,微指令寄存器,作用:存放一条微指令 结构 微命令寄存器: 微指令操作控制字段 微指令判别测试字 段 微地址寄存器: 访问的下一条微指令地址(微地址),62,地址转移逻辑,作用:决定下一条微指令的微地址 非分支情况: 由微地址寄存器决定 分支情况: 由测试字段和执行部件的状态决定(修改微地址寄存器的值),63,微指令与机器指令的关系,一条机器指令对应一个微程序 一个微指令周期是读出微指令的时间加上执行该条微指令的时间 通常一个微指令周期时间正好等于CPU周期时间,64,状态信息,65,3. 微程序设计技术,微程序设计的目标: 有利于缩短微指令的长度 有利于缩小CM的容量 有利于提高微程序的执行速度 有利于对微指令的修改 有利于提高微程序设计的灵活性,66,一 微命令的编码,微指令中操作控制字段采用的表示方法: 直接表示法 编码表示法 混合表示法,67,直接表示法,操作控制字段中的每一位代表一个微命令 优点:简单直观,其输出可以直接用于控制 缺点:微指令字较长,占控制存储器容量较大,68,操作控制字段的每一个独立的二进制位代表一个微命令,该位为“1”表示这个微命令有效,为“0”表示这个微命令无效。,直接表示法举例,微指令格式举例(TEC_5实验平台格式),69,编码表示法,把一组组相斥的微命令信号组合在一个字段中,通过译码产生操作控制信号 优点:用较小的二进制信息表示较多的微命令信号,微指令字缩短 缺点:增加译码电路,微程序执行速度减慢,70,编码表示法,将操作控制字段分为若干个小段,每段内采用最短编码法,段与段之间采用直接控制法。,71,混合表示法,将直接表示法与字段编码法混合使用,以便能综合考虑指令字长、灵活性、执行微程序速度等方面的要求。 一个字段的某些编码不能独立地定义某些微命令,而需要与其他字段的编码来联合定义,72,微命令的编码,编码注意几点:字段编码法中操作控制字段并非是任意的,必须要遵循如下的原则: 把互斥性的微命令分在同一段内,兼容性的微命令分在不同段内。这样不仅有助于提高信息的利用率,缩短微指令字长,而且有助于充分利用硬件所具有的并行性,加快执行的速度。 应与数据通路结构相适应。 每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。 一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此当某字段的长度为三位时,最多只能表示七个互斥的微命令,通常用000表示不操作。,73,顺序控制,4、5: 00 无操作 01 R1X 10 R2 X 11 DR X,6、7: 00 无操作 01 R3Y 10 R2 Y 11 R1 Y,8、9: 00 无操作 01 10 11 M,混和表示法 1、2、3位为直接表示法 4、5 6、7 8、9位为编码表示法,混合表示法例,74,二 微地址的形成方法,入口地址: 每条机器指令对应一段微程序,当公用的取指微程序从主存中取出机器指令之后,由机器指令的操作码字段指出各段微程序的入口地址,这是一种多分支(或多路转移)的情况。 后继微地址形成的方式主要有两种 计数器的方式 多路转移的方式,75,入口地址形成,如果机器指令操作码字段的位数和位置固定,可以直接使操作码与微程序入口地址的部分位相对应。,76,后继微地址形成方法-计数器的方式,方法 微程序顺序执行时,其后继微地址就是现行微地址加上一个增量(通常为1); 在微程序控制器中也有一个微程序计数器PC,一般情况下都是将微地址寄存器MAR作为PC 特点: 优点:简单、易于掌握,编制微程序容易 缺点:这种方式不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。,77,后继微地址形成方法-多路转移的方式,当微程序遇到转移或转子程序时,由微指令的转移地址段来形成转移微地址 根据条件转移:状态条件/测试/微指令中微地址/操作码,78,【例】微地址寄存器有6位(A5-A0),当需要修改其内容时,可通过某一位触发器的强置端S将其置“1”。现有三种情况: (1)执行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)进行16路分支; (2)执行条件转移指令微程序时,按进位标志C的状态进行2路分支; (3)执行控制台指令微程序时,按IR4,IR5的状态进行4路分支。 请按多路转移方法设计微地址转移逻辑。,79,解:按所给设计条件,微程序有三种判别测试,分别为P1,P2,P3。 由于修改A5-A0内容具有很大灵活性,现分配如下: 用P1和IR3-IR0修改A3-A0; 用P2和C修改A0; 用P3和IR5,IR4修改A5,A4。 考虑时间因素T4(假设CPU周期最后一个节拍脉冲),故转移逻辑表达式如下: A5=P3IR5T4; A4=P3IR4T4 A3=P1IR3T4; A2=P1IR2T4 A1=P1IR1T4; A0=P1IR0T4+P2CT4 由于从触发器强置端修改,故前5个表达式可用“与非”门实现,最后一个用“与或非”门实现。 下图仅画出了A2、A1、A0触发器的微地址转移逻辑图。,80,81,三 微指令的格式,水平型微指令 垂直型微指令,82,水平型微指令,一次能定义并执行多个并行操作微命令的微指令 格式:控制字段 + 判别测试字段 + 下地址字段 按控制字段的编码方法,可分为: 全水平型微指令 字段译码法水平型微指令 直接和译码相混合的水平型微指令,83,水平型微指令特点,优点: 微指令字较长,速度越快。 微指令中的微操作有高度的并行性。 微指令译码简单。 控制存储器的纵向容量小,灵活性强。 缺点: 微指令字比较长,明显地增加了控制存储器的横向容量。 水平微指令与机器指令差别很大,一般要熟悉机器结构、数据通路、时序系统以及指令执行过程的人才能进行微程序设计,这对用户来说是很困难的。,84,垂直型微指令,微指令中设置操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,85,垂直型微指令的特点,微指令字短,一般为1020位左右。 微指令的并行微操作能力有限,一条微指令一般只包含一个微操作命令。 微指令译码比较复杂。全部微命令用一个微操作控制字段进行编码,微指令执行时需行完全译码。 设计用户只需注意微指令的功能,而对微命令及其选择、数据通路的结构则不用过多地考虑,因此,便于用户编制微程序。而且,编制的微程序规整、直观,便于实现设计的自动化。 垂直微指令字较短,使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论