首页 第6章_中央处理器

第6章_中央处理器

举报
开通vip

第6章_中央处理器null第6章 中央处理器第6章 中央处理器null 中央处理器(CPU)是整个计算机的核心,它包括运算器和控制器。本章着重讨论CPU的功能和组成,控制器的工作原理和实现方法,微程序控制原理,基本控制单元的设计以及先进的流水线技术和RISC技术。本章学习内容本章学习内容6.1中央处理器的功能和组成 6.2 控制器的组成和实现方法 6.3 时序系统与控制方式 6.4 微程序控制原理 6.5 控制单元的设计 6.6 流水线技术 6.7 精简指令系统计算机RISC本章学习要求本章学习要求理解:CPU的功能和主要...

第6章_中央处理器
null第6章 中央处理器第6章 中央处理器null 中央处理器(CPU)是整个计算机的核心,它包括运算器和控制器。本章着重讨论CPU的功能和组成,控制器的工作原理和实现方法,微程序控制原理,基本控制单元的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 以及先进的流水线技术和RISC技术。本章学习内容本章学习内容6.1中央处理器的功能和组成 6.2 控制器的组成和实现方法 6.3 时序系统与控制方式 6.4 微程序控制原理 6.5 控制单元的设计 6.6 流水线技术 6.7 精简指令系统计算机RISC本章学习要求本章学习要求理解:CPU的功能和主要寄存器 理解:控制器的基本组成 理解:时序系统中指令周期、机器周期的概念 了解:不同的控制方式(同步、异步、联合) 理解:指令执行的基本过程 掌握:取指周期的微操作序列(公共操作) 理解:微程序控制的基本概念 掌握:微指令编码法特点 理解:微程序控制器的组成和工作过程 理解:微程序入口地址和后继微地址的形成 了解:控制单元的设计 了解:流水线技术和RISC技术6.1中央处理器的功能和组成6.1中央处理器的功能和组成 CPU对整个计算机系统的运行是极其重要的,这里将从CPU的功能、内部结构和主要技术参数入手,为后面详细讨论程序的执行过程打下基础。6.1.1 CPU的功能6.1.1 CPU的功能 若用计算机来解决某个问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,首先要为这个问题编制解题程序,而程序又是指令的有序集合。按“存储程序”的概念,只要把程序装入主存储器后,即可由计算机自动地完成取指令和执行指令的任务。在程序运行过程中,在计算机的各部件之间流动的指令和数据形成了指令流和数据流。6.1.1 CPU的功能(续)6.1.1 CPU的功能(续) 需要注意的是,这里的指令流和数据流都是程序运行的动态概念,它不同于程序中静态的指令序列,也不同于存储器中数据的静态分配序列。指令流指的是CPU执行的指令序列,数据流指的是根据指令操作要求依次存取数据的序列。从程序运行的角度来看,CPU的基本功能就是对指令流和数据流在时间与空间上实施正确的控制。 对于冯·诺依曼结构的计算机而言,数据流是根据指令流的操作而形成的,也就是说数据流是由指令流来驱动的。6.1.2 CPU中的主要寄存器6.1.2 CPU中的主要寄存器1.通用寄存器 通用寄存器可用来存放原始数据和运算结果,有的还可以作为变址寄存器、计数器、地址指针等。现代计算机中为了减少访问存储器的次数,提高运算速度,往往在CPU中设置大量的通用寄存器,少则几个,多则几十个,甚至上百个。通用寄存器一般由程序编址访问。 累加寄存器Acc也是一个通用寄存器,它用来暂时存放ALU运算的结果信息。例如,在执行一个加法运算前,先将一个操作数暂时存放在Acc中,再从主存中取出另一操作数,然后同Acc的内容相加,所得的结果送回Acc中。运算器中至少要有一个累加寄存器。2.专用寄存器⑴ 程序计数器(PC) 程序计数器又称指令计数器,用来存放正在执行的指令地址或接着要执行的下条指令地址。 对于顺序执行的情况,PC的内容应不断地增量(加“1”),以控制指令的顺序执行。这种加“1”的功能,有些机器是程序计数器本身具有的,也有些机器是借助运算器来实现的。 在遇到需要改变程序执行顺序的情况时,将转移的目标地址送往PC,即可实现程序的转移。有些情况下除改变PC的内容外,还需要保留改变之前的内容,以便返回时使用。2.专用寄存器2.专用寄存器(续)⑵ 指令寄存器(IR) 指令寄存器用来存放从存储器中取出的指令。当指令从主存取出暂存于指令寄存器之后,在执行指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能。 ⑶ 存储器数据寄存器(MDR) 存储器数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字;反之,当向主存存入一条指令或一个数据字时,也暂时将它们存放在存储器数据寄存器中。2.专用寄存器(续)2.专用寄存器(续)⑷ 存储器地址寄存器(MAR) 存储器地址寄存器用来保存当前CPU所访问的主存单元的地址。由于主存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到主存的读写操作完成为止。 当CPU和主存进行信息交换,无论是CPU向主存存取数据时,还是CPU从主存中读出指令时,都要使用存储器地址寄存器和数据寄存器。2.专用寄存器(续)2.专用寄存器(续)⑸ 状态标志寄存器(PSWR) 状态标志寄存器用来存放程序状态字(PSW)。程序状态字的各位表征程序和机器运行的状态,是参与控制程序执行的重要依据之一。它主要包括两部分内容:一是状态标志,如进位标志(C)、结果为零标志(Z)等,大多数指令的执行将会影响到这些标志位;二是控制标志,如中断标志、陷阱标志等。状态标志寄存器的位数往往等于机器字长,各类机器的状态标志寄存器的位数和设置位置不尽相同。2.专用寄存器(续)6.1.3 CPU的组成6.1.3 CPU的组成 CPU由运算器和控制器两大部分组成。 控制器的主要功能有: ⑴从主存中取出一条指令,并指出下一条指令在主存中的位置。 ⑵对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。 ⑶指挥并控制CPU、主存和输入输出设备之间的数据流动方向。 运算器的主要功能有: ⑴执行所有的算术运算; ⑵执行所有的逻辑运算,并进行逻辑测试。CPU的模型CPU的模型图6-2 CPU的模型6.1.4 CPU的主要技术参数6.1.4 CPU的主要技术参数 CPU品质的高低直接决定了一个计算机系统的档次,而CPU的主要技术参数可以反映出CPU的大致性能。 1.字长 CPU的字长是指在单位时间内同时处理的二进制数据的位数。CPU按照其处理信息的字长可以分为:8位CPU、16位CPU、32位CPU以及64位CPU等。2.内部工作频率 内部工作频率又称为内频或主频,它是衡量CPU速度的重要参数。在其他性能指标相同时,CPU的主频越高,CPU的速度也就越快。内部时钟频率的倒数是时钟周期,这是CPU中最小的时间元素。每个动作至少需要一个时钟周期。 最初的8086和8088执行一条指令平均需要12个时钟周期;80286和80386的速度提高,每条指令大约要4.5个时钟周期;80486的速度进一步提高,每条指令大约2个时钟周期;Pentium具有双指令流水线,并有其他一些改进,使得每个时钟周期执行1到2条指令;而Pentium pro、Pentium Ⅱ/Ⅲ每个时钟周期可以执行3条或更多的指令。 2.内部工作频率3.外部工作频率 外部工作频率,也叫前端总线频率或系统总线时钟频率,它是由主板为CPU提供的基准时钟频率。由于正常情况下,CPU总线频率和主存总线频率相同,所以也是CPU与主存交换数据的频率。 在早期,CPU的内频就等于外频。目前,CPU的内频越来越高,相比之下主存的速度还很缓慢,如果外频设计得跟内频同步,则主存都将无法跟上CPU的速度。所以现在外频跟内频不再只是一比一的同步关系,从而出现了所谓的内部倍频技术,导致了“倍频”的出现。内频、外频和倍频三者之间的关系是: 内频=外频×倍频3.外部工作频率null5.片内Cache的容量和速率 片内Cache的容量和工作速率对提高计算机的速度起着关键的作用。过去的CPU一般没有片内Cache,而近年的CPU普遍均设有片内Cache。片内Cache的运行速度与内频相同或接近,容量可达几十KB~几百KB。6.工作电压 工作电压指的是CPU正常工作所需的电压。早期CPU的工作电压一般为5V,以致于CPU的发热量太大,使得寿命缩短。随着CPU的制造 工艺 钢结构制作工艺流程车尿素生产工艺流程自动玻璃钢生产工艺2工艺纪律检查制度q345焊接工艺规程 与内频的提高,近年来各种CPU的工作电压逐步下降。 7.地址总线宽度 地址总线宽度决定了CPU可以访问的最大的物理地址空间,简单地说就是CPU到底能够使用多大容量的主存。 6.工作电压 工作电压指的是CPU正常工作所需的电压。早期CPU的工作电压一般为5V,以致于CPU的发热量太大,使得寿命缩短。随着CPU的制造工艺与内频的提高,近年来各种CPU的工作电压逐步下降。 8.数据总线宽度 数据总线宽度则决定了CPU与外部Cache、主存以及输入输出设备之间进行一次数据传输的信息量。 数据总线和地址总线互相独立,数据总线宽度指明了芯片的信息传递能力,而地址总线宽度说明了芯片可以处理多少主存单元。9.制造工艺 线宽是指芯片上的最基本功能单元—门电路的宽度,因为实际上门电路之间连线的宽度与门电路的宽度相同,所以可以用线宽来描述制造工艺。线宽越小,意味着芯片上包括的晶体管数目越多。Pentium II的线宽是0.35微米,晶体管数达到7.5M个;Pentium Ⅲ的线宽是0.25微米,晶体管数达到9.5M个;Pentium 4的线宽是0.18微米,晶体管数达到42M个。8.数据总线宽度 数据总线宽度则决定了CPU与外部Cache、主存以及输入输出设备之间进行一次数据传输的信息量。 数据总线和地址总线互相独立,数据总线宽度指明了芯片的信息传递能力,而地址总线宽度说明了芯片可以处理多少主存单元。6.2 控制器的组成和实现方法 控制器是计算机系统的指挥中心,它把运算器、存储器、输入输出设备等部件组成一个有机的整体,然后根据指令的要求指挥全机的工作。6.2 控制器的组成和实现方法控制器的基本组成控制器的基本组成图6-3 控制器的基本组成6.2.1 控制器的基本组成1.指令部件 指令部件的主要任务是完成取指令并 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 指令。指令部件包括: ⑴程序计数器 ⑵指令寄存器 ⑶指令译码器 暂存在指令寄存器中的指令只有在其操作码部分经过译码之后才能识别出这是一条什么样的指令,并产生相应的控制信号提供给微操作信号发生器。 ⑷地址形成部件 根据指令的不同寻址方式,形成操作数的有效地址。6.2.1 控制器的基本组成2.时序部件2.时序部件 时序部件能产生一定的时序信号,以保证机器的各功能部件有节奏地进行信息传送、加工及信息存储。包括: ⑴脉冲源 产生具有一定频率和宽度的时钟脉冲信号,为整个机器提供基准信号。 ⑵启停控制逻辑 启停控制逻辑的作用是根据计算机的需要,可靠地开放或封锁脉冲,控制时序信号的发生或停止,实现对整个机器的正确启动或停止。2.时序部件(续)2.时序部件(续)⑶节拍信号发生器 节拍信号发生器又称脉冲分配器。脉冲源产生的脉冲信号,经过节拍信号发生器后产生出各个机器周期中的节拍信号,用以控制计算机完成每一步微操作。 3.微操作信号发生器 一条指令的取出和执行可以分解成很多最基本的操作,这种最基本的不可再分割的操作称为微操作。微操作信号发生器也称为控制单元(CU)。不同的机器指令具有不同的微操作序列。 4.中断控制逻辑 中断控制逻辑是用来控制中断处理的硬件逻辑。有关中断的问题将在第8章中专门进行讨论。3.微操作信号发生器6.2.2 控制器的硬件实现方法 控制器的核心是微操作信号发生器(控制单元CU)。控制单元的输入包括时序信号、机器指令操作码、各部件状态反馈信号等,输出的微操作控制信号又可以细分为CPU内的控制信号和送至主存或外设的控制信号。 根据产生微操作控制信号的方式不同,控制器可分为组合逻辑型、存储逻辑型、组合逻辑与存储逻辑结合型3种。6.2.2 控制器的硬件实现方法1.组合逻辑型 采用组合逻辑技术来实现,其控制单元是由门电路组成的复杂树形网络。这种方法是分立元件时代的产物,以使用最少器件数和取得最高操作速度为设计目标。 最大优点是速度快。但是控制单元的结构不规整,使得设计、调试、维修较困难,难以实现设计自动化;一旦控制单元构成之后,要想增加新的控制功能是不可能的。因此,它受到微程序控制器的强烈冲击。目前仅有一些巨型机和RISC机为了追求高速度仍采用组合逻辑控制器。1.组合逻辑型2.存储逻辑型 这种控制器称为微程序控制器,是采用存储逻辑来实现的,也就是把微操作信号代码化,使每条机器指令转化成为一段微程序并存入一个专门的存储器(控制存储器)中,微操作控制信号由微指令产生。 微程序控制器具有设计规整、调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主流。但是,由于它增加了一级控制存储器,所以指令的执行速度比组合逻辑控制器慢。2.存储逻辑型3.组合逻辑和存储逻辑结合型 这种控制器称为PLA(可编程逻辑阵列)控制器,是吸收前两种方法的设计思想来实现的。PLA控制器实际上也是一种组合逻辑控制器,但它又与常规的组合逻辑控制器的硬联结构不同;它是可编程序的,某一微操作控制信号由PLA的某一输出函数产生。 PLA控制器是组合逻辑技术和存储逻辑技术结合的产物,克服了两者的缺点,是一种较有前途的方法。3.组合逻辑和存储逻辑结合型6.3 时序系统与控制方式6.3 时序系统与控制方式 由于计算机高速地进行工作,每一个动作的时间是非常严格的,不能有任何差错。时序系统是控制器的心脏,其功能是为指令的执行提供各种定时信号。6.3.1 时序系统6.3.1 时序系统1.指令周期和机器周期 指令周期是指从取指令、分析取数到执行完该指令所需的全部时间。由于各种指令的操作功能不同,有的简单,有的复杂,因此各种指令的指令周期不尽相同。 机器周期又称CPU周期。通常把一个指令周期划分为若干个机器周期,每个机器周期完成一个基本操作。一般机器的CPU周期有取指周期、取数周期、执行周期、中断周期等。所以有: 指令周期=i×机器周期1.指令周期和机器周期(续)1.指令周期和机器周期(续) 不同的指令周期中所包含的机器周期数差别可能很大。一般情况下,一条指令所需的最短时间为两个机器周期:取指周期和执行周期。 通常,每个机器周期都有一个与之对应的周期状态触发器。机器运行在不同的机器周期时,其对应的周期状态触发器被置“1”。显然,在机器运行的任何时刻只能处于一种周期状态,因此,有一个且仅有一个触发器被置“1”。2.节拍 在一个机器周期内,要完成若干个微操作。因而应把一个机器周期分为若干个相等的时间段,每一个时间段对应一个电位信号,称为节拍电位信号。 节拍的宽度取决于CPU完成一次微操作的时间。节拍的选取一般有以下几种方法: ⑴统一节拍法 以最复杂的机器周期为准定出节拍数,每一个节拍时间的长短也以最繁的微操作作为 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 。这种方法采用统一的、具有相等时间间隔和相同数目的节拍,使得所有的机器周期长度都是相等的,因此称为定长CPU周期。2.节拍2.节拍(续)⑵分散节拍法 按照机器周期的实际需要安排节拍数,需要多少节拍,就发出多少节拍,这样可以避免浪费,提高时间利用率。由于各机器周期长度不同,故称为不定长CPU周期。 ⑶延长节拍法 在照顾多数机器周期要求的情况下,选取适当的节拍数,作为基本节拍。如果在某个机器周期内统一的节拍数无法完成该周期的全部微操作,则可以延长一或两个节拍。2.节拍(续)2.节拍(续)⑷时钟周期插入 在一些微型机中,时序信号中不设置节拍,而直接使用时钟周期信号。一个机器周期中含有若干个时钟周期,时钟周期的数目取决于机器周期内完成微操作数目的多少及相应功能部件的速度。一个机器周期的基本时钟周期数确定之后,还可以不断插入等待时钟周期。如8086的一个总线周期(即机器周期)中包含四个基本时钟周期T1~T4,在T3和T4之间可以插入任意个等待时钟周期TW,以等待速度较慢的存储部件或外部设备完成读或写操作。2.节拍(续)3.工作脉冲 在节拍中执行的有些微操作需要同步定时脉冲,如将稳定的运算结果打入寄存器,又如机器周期状态切换等。为此,在一个节拍内常常设置一个或几个工作脉冲,作为各种同步脉冲的来源。工作脉冲的宽度只占节拍电位宽度的 ,并处于节拍的末尾部分,以保证所有的触发器都能可靠、稳定地翻转。 在只设置机器周期和时钟周期的微型机中,一般不再设置工作脉冲,因为时钟周期既可以作为电位信号,其前、后沿又可以作为脉冲触发信号。3.工作脉冲4.多级时序系统 图6-6为小型机每个指令周期中常采用的机器周期、节拍、工作脉冲三级时序系统。图中每个机器周期M中包括四个节拍T1~T4,每个节拍内有一个脉冲P。在机器周期间、节拍电位间、工作脉冲间既不允许有重叠交叉,也不允许有空隙,应该是一个接一个的准确连接。 4.多级时序系统三级时序系统三级时序系统图6-6 三级时序系统5.节拍与脉冲的时间配合关系5.节拍与脉冲的时间配合关系节拍---开门关门 脉冲---定时触发6.3.2 控制方式1.同步控制方式 同步控制方式即固定时序控制方式,各项操作都由统一的时序信号控制,在每个机器周期中产生统一数目的节拍电位和工作脉冲。由于不同的指令,操作时间长短不一致。同步控制方式应以最复杂指令的操作时间作为统一的时间间隔标准。6.3.2 控制方式1.同步控制方式(续) 这种控制方式设计简单,容易实现;但是对于许多简单指令来说会有较多的空闲时间,造成较大数量的时间浪费,从而影响了指令的执行速度。 在同步控制方式中,各指令所需的时序由控制器统一发出,所有微操作都与时钟同步,所以又称为集中控制方式或中央控制方式。1.同步控制方式(续)2.异步控制方式 异步控制方式即可变时序控制方式,各项操作不采用统一的时序信号控制,而根据指令或部件的具体情况决定,需要多少时间,就占用多少时间。 这是一种“应答”方式,各操作之间的衔接是由“结束-起始”信号来实现的。由前一项操作已经完成的“结束”信号,或由下一项操作的“准备好”信号来作为下一项操作的起始信号,在未收到“结束”或“准备好”信号之前不开始新的操作。2.异步控制方式2.异步控制方式(续) 异步控制采用不同时序,没有时间上的浪费,因而提高了机器的效率,但是控制比较复杂。 由于这种控制方式没有统一的时钟,而是由各功能部件本身产生各自的时序信号自我控制,故又称为分散控制方式或局部控制方式。2.异步控制方式(续)3.联合控制方式 这是同步控制和异步控制相结合的方式。实际上现代计算机中几乎没有完全采用同步或完全采用异步的控制方式,大多数是采用联合控制方式。通常的设计思想是:在功能部件内部采用同步方式或以同步方式为主的控制方式,在功能部件之间采用异步方式。3.联合控制方式6.3.3 指令运行的基本过程1.取指令阶段 取指令阶段完成的任务是将现行指令从主存中取出来并送至指令寄存器中去。具体的操作如下: ①将程序计数器(PC)中的内容送至存储器地址寄存器(MAR),并送地址总线(AB)。 ②由控制单元(CU)经控制总线(CB)向存储器发读命令。 ③从主存中取出的指令通过数据总线(DB)送到存储器数据寄存器(MDR)。6.3.3 指令运行的基本过程1.取指令阶段(续) ④将MDR的内容送至指令寄存器(IR)中。 ⑤将PC的内容递增,为取下一条指令做好准备。 以上这些操作对任何一条指令来说都是必须要执行的操作,所以称为公共操作。完成取指阶段任务的时间称为取指周期。1.取指令阶段(续)取指周期的工作流程取指周期的工作流程图6-8 取指周期的工作流程2.分析取数阶段 取出指令后,指令译码器ID可识别和区分出不同的指令类型。此时计算机进入分析取数阶段,以获取操作数。由于各条指令功能不同,寻址方式也不同,所以分析取数阶段的操作是各不相同的。 完成分析阶段任务的时间又可以细分为间址周期、取数周期等。2.分析取数阶段3.执行阶段 执行阶段完成指令规定的各种操作,形成稳定的运算结果,并将其存储起来。完成执行阶段任务的时间称为执行周期。 计算机的基本工作过程就是取指令、取数、执行指令,然后再取下一条指令……如此周而复始,直至遇到停机指令或外来的干预为止。3.执行阶段6.3.4 指令的微操作序列 控制器在实现一条指令的功能时,总要把每条指令分解成为一系列时间上先后有序的最基本、最简单的微操作,即微操作序列。微操作序列是与CPU的内部数据通路密切相关的,不同的数据通路就有不同的微操作序列。 假设规定各部件用大写字母表示,字母加下标in表示该部件的接收控制信号,实际上就是该部件的输入开门信号;字母加下标out表示该部件的发送控制信号,实际上就是该部件的输出开门信号。例如:MARin、PCout等就是这类微操作信号。6.3.4 指令的微操作序列CPU的数据通路CPU的数据通路图6-9 CPU的数据通路1.加法指令ADD @R0,R1 这条指令完成的功能是把R0的内容作为地址送到主存以取得一个操作数,再与R1中的内容相加,最后将结果送回主存中。即实现: ((R0))+(R1)→(R0)1.加法指令ADD @R0,R11.加法指令ADD @R0,R1(续)⑴取指周期 取指周期完成的微操作序列是公共的操作,与具体指令无关。 ①PCout和MARin有效,完成PC经CPU内部总线送至MAR的操作,记作(PC)→MAR; ②通过控制总线(图中未画出)向主存发读命令,记作Read; ③存储器通过数据总线将MAR所指单元的内容(指令)送至MDR,记作M(MAR)→MDR; 1.加法指令ADD @R0,R1(续)1.加法指令ADD @R0,R1(续) ④MDRout和IRin有效,将MDR的内容送至指令寄存器IR,记作(MDR)→IR。至此,指令被从主存中取出,其操作码字段开始控制CU。 ⑤使PC内容加1,记作(PC)+1→PC。1.加法指令ADD @R0,R1(续)1.加法指令ADD @R0,R1(续)⑵取数周期 取数周期要完成取操作数的任务,被加数在主存中,加数已放在寄存器R1中。 ①R0out和MARin有效,完成将被加数地址送至MAR的操作,记作(R0)→MAR; ②向主存发读命令,记作Read; ③存储器通过数据总线将MAR所指单元的内容(数据)送至MDR,同时MDRout和Yin有效,记作M(MAR)→MDR→Y;1.加法指令ADD @R0,R1(续)1.加法指令ADD @R0,R1(续)⑶执行周期 执行周期完成加法运算的任务,并将结果写回主存。 ①R1out和ALUin有效,同时CU向ALU发“ADD”控制信号,使R1的内容和Y的内容相加,结果送寄存器Z,记作(R1)+Y→Z; ②Zout和MDRin有效,将运算结果送寄存器MDR,记作(Z)→MDR。 ③向主存发写命令,记作Write。1.加法指令ADD @R0,R1(续)2.转移指令JC A 这是一条条件转移指令,若上次运算结果有进位(C=1),就转移;若上次运算结果无进位(C=0),就顺序执行下一条指令。设A为位移量,转移地址等于PC的内容加位移量。相应的微操作序列如下: ⑴取指周期 与上条指令的微操作序列完全相同。2.转移指令JC A2.转移指令JC A(续)⑵执行周期 如果有进位(C=1),则完成(PC)+A→PC的操作,否则跳过以下几步。 ①PCout和Yin有效,记作(PC)→Y(C=1); ②Ad IRout和ALUin有效,同时CU向ALU发“ADD”控制信号,使IR寄存器中的地址码字段A和Y的内容相加,结果送寄存器Z,记作Ad(IR)+Y→Z; ③Zout和PCin有效,将运算结果送寄存器PC,记作(Z)→PC。2.转移指令JC A(续)6.4 微程序控制原理6.4 微程序控制原理 微程序设计技术的实质是将程序设计技术和存储技术相结合,即用程序设计的思想方法来组织操作控制逻辑,将微操作控制信号按一定规则进行信息编码(代码化),形成控制字(微指令),再把这些微指令按时间先后排列起来构成微程序,存放在一个只读的控制存储器中。6.4.1 微程序控制的基本概念1.微程序设计的提出与发展 微程序设计的概念和原理是由M.V.Wilkes教授提出来的:一条机器指令可以分解为许多基本的微命令序列。并且首先把这种思想用于计算机控制器的设计。但是由于当时还不具备制造专门存放微程序的控制存储器的技术,所以在十几年时间内实际上并未真正使用。直到1964年,IBM公司在IBM360系列机上成功地采用了微程序设计技术,解决了指令系统的兼容问题。20世纪70年代以来,由于VLSI技术的发展,推动了微程序设计技术的发展和应用,目前,大多数计算机都采用微程序设计技术。 6.4.1 微程序控制的基本概念2.基本术语⑴微命令和微操作 一条机器指令可以分解成一个微操作序列,这些微操作是计算机中最基本的、不可再分解的操作。在微程序控制的计算机中,将控制部件向执行部件发出的各种控制命令叫做微命令,它是构成控制序列的最小单位。例如:打开或关闭某个控制门的电位信号、某个寄存器的打入脉冲等。因此,微命令是控制计算机各部件完成某个基本微操作的命令。2.基本术语2.基本术语(续) 微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作是微命令的操作过程。 微命令有兼容性和互斥性之分。兼容性微命令是指那些可以同时产生,共同完成某一些微操作的微命令;而互斥性微命令是指在机器中不允许同时出现的微命令。兼容和互斥都是相对的,一个微命令可以和一些微命令兼容,和另一些微命令互斥。对于单独一个微命令,谈论其兼容和互斥都是没有意义的。2.基本术语(续)2.基本术语(续)⑵微指令、微地址 微指令是指控制存储器中的一个单元的内容,即控制字,是若干个微命令的集合。存放控制字的控制存储器的单元地址就称为微地址。 一条微指令通常包含两部分: ①操作控制字段,又称微操作码字段,用以产生某一步操作所需的各微操作控制信号; ②顺序控制字段,又称微地址码字段,用以控制产生下一条要执行的微指令地址。2.基本术语(续)2.基本术语(续) 微指令有垂直型和水平型之分。垂直型微指令接近于机器指令的格式,每条微指令只能完成一个基本微操作;水平型微指令则具有良好的并行性,每条微指令可以完成较多的基本微操作。2.基本术语(续)2.基本术语(续)⑶微周期 从控制存储器中读取一条微指令并执行相应的微命令所需的全部时间称为微周期。 ⑷微程序 一系列微指令的有序集合就是微程序。每一条机器指令都对应一个微程序。2.基本术语(续)2.基本术语(续) 微程序和程序是两个不同的概念。微程序是由微指令组成的,用于描述机器指令,微程序实际上是机器指令的实时解释器,是由计算机的设计者事先编制好并存放在控制存储器中的,一般不提供给用户。对于程序员来说,计算机系统中微程序一级的结构和功能是透明的,无须知道。而程序最终由机器指令组成,是由软件设计人员事先编制好并存放在主存或辅存中的。所以说,微程序控制的计算机涉及到两个层次:一个是机器语言或汇编语言程序员所看到的传统机器层,包括:机器指令、工作程序、主存储器;另一个是机器设计者看到的微程序层,包括:微指令、微程序和控制存储器。 2.基本术语(续)6.4.2 微指令编码法 微指令可以分成操作控制字段和顺序控制字段两大部分。这里所说的微指令编码法指的就是操作控制字段的编码方法。各类计算机从各自的特点出发,设计了各种各样的微指令编码法。例如:大型机强调速度,要求译码过程尽量快;微、小型机则更多地注意经济性,要求更大限度地缩短微指令字长;而中型机介于这两者之间,兼顾速度和价格,要求在保证一定速度的情况下,能尽量缩短微指令字长。6.4.2 微指令编码法1.直接控制法(不译码法) 操作控制字段中的各位分别可以直接控制计算机,无须进行译码。在这种形式的微指令字中,操作控制字段的每一个独立的二进制位代表一个微命令,该位为“1”表示这个微命令有效,为“0”则表示这个微命令无效。每个微命令对应并控制数据通路中的一个微操作。1.直接控制法(不译码法)1.直接控制法(续) 这种方法结构简单,并行性强,操作速度快,但是微指令字太长。若微命令的总数为N个,则微指令字的操作控制字段就要有N位。在某些计算机中,微命令的总数可能会多达三、四百个,甚至更多,这使微指令的长度达到难以接受的地步。另外,在N个微命令中,有许多是互斥的,不允许并行操作,将它们安排在一条微指令中是毫无意义的,只会使信息的利用率下降。所以这种方法在复杂的系统中很少单独采用,往往与其他编码方法混合起来使用。1.直接控制法(续)2.最短编码法 直接控制法使微指令字过长,而最短编码法则走向另一个极端,使得微指令字最短。这种方法将所有的微命令统一编码,每条微指令只定义一个微命令。若微命令的总数为N,操作控制字段的长度为L,则最短编码法应满足下列关系式: L≥log2N2.最短编码法2.最短编码法(续) 最短编码法的微指令字长最短,但要通过一个微命令译码器译码以后才能得到需要的微命令。微命令数目越多,译码器就越复杂。这种方法在同一时刻只能产生一个微命令,不能充分利用机器硬件所具有的并行性,使得机器指令对应的微程序变得很长,而且对于某些要求在同一时刻同时动作的组合性微操作将无法实现。因此,这种方法也只能与其他方法混合使用。2.最短编码法(续)3.字段编码法 这是前述两种编码法的一个折衷的方法,既具有两者的优点,又克服了它们的缺点。这种方法将操作控制字段分为若干个小段,每段内采用最短编码法,段与段之间采用直接控制法。 ⑴ 字段直接编码法 各字段都可以独立地定义本字段的微命令,而和其他字段无关,因此又称为显式编码或单重定义编码方法。这种方法缩短了微指令字,因此得到了广泛的应用。3.字段编码法字段直接编码法字段直接编码法图6-10 字段直接编码法3.字段编码法(续) ⑵ 字段间接编码法 字段间接编码法是在字段直接编码法的基础上,用来进一步缩短微指令字长的方法。间接编码的含义是,一个字段的某些编码不能独立地定义某些微命令,而需要与其他字段的编码来联合定义,因此又称为隐式编码或多重定义编码方法。3.字段编码法(续)字段间接编码法字段间接编码法图6-11 字段间接编码法3.字段编码法(续) 字段编码法中操作控制字段的分段原则: ①把互斥性的微命令分在同一段内,兼容性的微命令分在不同段内。这样不仅有助于提高信息的利用率,缩短微指令字长,而且有助于充分利用硬件所具有的并行性,加快执行的速度。 ②应与数据通路结构相适应。 ③每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。 ④一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此当某字段的长度为三位时,最多只能表示七个互斥的微命令,通常用000表示不操作。3.字段编码法(续)6.4.3 微程序控制器的组成和工作过程1.微程序控制器的基本组成 图6-12给出了一个微程序控制器基本结构的简化框图,在图中主要画出了微程序控制器比组合逻辑控制器多出的部件,包括以下几个部分:控制存储器、微指令寄存器、微地址形成部件、微地址寄存器等。6.4.3 微程序控制器的组成和工作过程微程序控制器的基本结构微程序控制器的基本结构图6-12 微程序控制器的基本结构1.微程序控制器的基本组成⑴控制存储器(CM) 这是微程序控制器的核心部件,用来存放微程序。 ⑵微指令寄存器(IR) 用来存放从CM中取出的微指令。 ⑶微地址形成部件 用来产生初始微地址和后继微地址。 ⑷微地址寄存器(MAR) 接受微地址形成部件送来的微地址,为在CM中读取微指令做准备。1.微程序控制器的基本组成2.微程序控制器的工作过程 ①执行取指令公共操作。取指令的公共操作通常由一个取指微程序来完成,这个取指微程序也可能仅由一条微指令组成。具体的执行是:在机器开始运行时,自动将取指微程序的入口微地址送MAR,并从CM中读出相应的微指令送入IR。微指令的操作控制字段产生有关的微命令,用来控制计算机实现取机器指令的公共操作。取指微程序的入口地址一般为CM的0号单元,当取指微程序执行完后,从主存中取出的机器指令就已存入指令寄存器IR中了。2.微程序控制器的工作过程2.微程序控制器的工作过程(续) ②由机器指令的操作码字段通过微地址形成部件产生该机器指令所对应的微程序的入口地址,并送入MAR。 ③从CM中逐条取出对应的微指令并执行之。 ④执行完对应于一条机器指令的一个微程序后又回到取指微程序的入口地址,继续第①步,以完成取下一条机器指令的公共操作。 以上是一条机器指令的执行过程,如此周而复始,直到整个程序执行完毕为止。2.微程序控制器的工作过程(续)3.机器指令对应的微程序 通常,一条机器指令对应一个微程序。由于任何一条机器指令的取指令操作都是相同的,因此将取指令操作的微命令统一编成一个微程序,这个微程序只负责将指令从主存单元中取出送至指令寄存器中。此外,也可以编出对应间址周期的微程序和中断周期的微程序。这样,控制存储器中的微程序个数应为机器指令数再加上对应取指、间址和中断周期等公用的微程序数。3.机器指令对应的微程序6.4.4 微程序入口地址的形成 当公用的取指微程序从主存中取出机器指令之后,由机器指令的操作码字段指出各个微程序的入口地址(初始微地址)。这是一种多分支(或多路转移)的情况。由机器指令的操作码转换成初始微地址的方式主要有3种。 1.一级功能转换 如果机器指令操作码字段的位数和位置固定,可以直接使操作码与入口地址码的部分位相对应。6.4.4 微程序入口地址的形成2.二级功能转换 当同类机器指令的操作码字段的位数和位置固定,而不同类机器指令的操作码的位数和位置不固定时,就不能再采用一级功能转换的方法。所谓二级功能转换是指第一次先按指令类型标志转移,以区分出指令属于哪一类,如:是单操作数指令,还是双操作数指令等。因为每一类机器指令中操作码字段的位数和位置是固定的,所以第二次即可按操作码区分出具体是哪条指令,以便找出相应微程序的入口微地址。2.二级功能转换3.通过PLA电路实现功能转换 当机器指令的操作码位数和位置都不固定时,可以采用PLA电路将每条机器指令的操作码翻译成对应的微程序入口地址。这种方法对于变长度、变位置的操作码显得更有效,而且转换速度较快。 3.通过PLA电路实现功能转换6.4.5 后继微地址的形成1.增量方式(顺序-转移型微地址) 顺序执行时后继微地址就是现行微地址加上一个增量(通常为“1”);转移或转子时,由微指令的顺序控制字段产生转移微地址。因此,在微程序控制器中应当有一个微程序计数器(PC)。为了降低成本,一般情况下都是将微地址寄存器MAR改为具有计数功能的寄存器,以代替PC。 增量方式的优点是简单,易于掌握,编制微程序容易,每条机器指令所对应的一段微程序一般安排在CM的连续单元中;其缺点是这种方式不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。6.4.5 后继微地址的形成2.断定方式 断定方式的后继微地址可由微程序设计者指定,或者根据微指令所规定的测试结果直接决定后继微地址的全部或部分值。 这是一种直接给定与测试断定相结合的方式,其顺序控制字段一般由两部分组成:非测试段和测试段。 测试段如果只有一位,则微地址将产生两个分支;若有两位,则最多可产生四个分支;依次类推;测试段为n位最多可产生2n个分支。2.断定方式6.4.6 微程序设计1.微程序分类 水平型微程序 用水平型微指令设计的微程序 垂直型微程序 用垂直型微指令设计的微程序 混合型微程序 2.微指令的执行方式 串行方式 并行方式 6.4.6 微程序设计6.5 控制单元的设计 前面几节讨论了控制器的基本功能和CPU的总体结构,为了加深对这些内容的理解,这一节将以一个简单的CPU为例来讨论控制器中控制单元的设计。为了突出重点,减少篇幅,我们选择的CPU模型比较简单,指令系统中仅具有最常见的基本指令和寻址方式,在逻辑结构、时序安排、操作过程安排等方面尽量规整、简单,使初学者比较容易掌握,以帮助大家建立整机概念。6.5 控制单元的设计6.5.1 简单的CPU模型 控制单元的主要功能是根据需要发出各种不同的微操作控制信号。微操作控制信号是与CPU的数据通路密切相关的。 图6-17中MAR和MDR分别直接与地址总线和数据总线相连。考虑到从存储器取出的指令或有效地址都先送至MDR再送至IR,故这里省去IR送至MAR的数据通路,凡是需从IR送至MAR的操作均由MDR送至MAR代替。6.5.1 简单的CPU模型null此CPU的指令系统包括下列指令(共15条):6.5.1 简单的CPU模型(续)1.非访存指令(6条) 这类指令在执行周期不访问存储器。 ⑴清除累加器指令CLA ⑵累加器取反指令COM ⑶累加器加1指令INC ⑷算术右移一位指令SAR ⑸循环左移一位指令CSL ⑹停机指令STP6.5.1 简单的CPU模型(续)2.访存指令(5条)这类指令在执行周期需访问存储器。 ⑴加法指令ADD;(AC)+(MDR)(AC) ⑵减法指令SUB ;(AC)-(MDR)(AC) ⑶与指令AND ;(AC)&(MDR)(AC) ⑷取数指令LDA ;(MDR)AC ⑸存数指令STA ;(AC)MDR2.访存指令(5条)3.转移类指令(4条) 转移指令在执行周期也不访问存储器。 ⑴无条件转移指令JMP; (MDR)PC ⑵零转移指令JZ; ⑶负转移指令JN; ⑷进位转移指令JC;3.转移类指令(4条)null6.5.2 组合逻辑控制单元设计1.微操作的节拍安排 假设机器采用同步控制,每个机器周期包括3个节拍,安排微操作节拍时应注意: ①有些微操作的次序是不容改变的,故安排微操作节拍时必须注意微操作的先后顺序。 ②凡是被控制对象不同的微操作,若能在一个节拍内执行,应尽可能安排在同一个节拍内,以节省时间。 ③如果有些微操作所占的时间不长,应该将它们安排在一个节拍内完成,并且允许这些微操作有先后次序。6.5.2 组合逻辑控制单元设计1.微操作的节拍安排(续)⑴取指周期微操作的节拍安排 取指周期的操作是公操作,其完成的任务已在前面进行过描述,在此不再重复,这些操作可以安排在3个节拍中完成。 T0 (PC)→MAR,Read T1 M(MAR)→MDR,(PC)+1→PC T2 (MDR)→IR。考虑到指令译码时间较短,可将指令译码OP(IR)→ID也安排在T2节拍内。1.微操作的节拍安排(续)1.微操作的节拍安排(续) ⑵间址周期微操作的节拍安排 间址周期完成取操作数有效地址的任务,具体操作如下: ①将指令的地址码部分(形式地址)送至存储器地址寄存器,记作(MDR)→MAR; ②向主存发读命令,启动主存读操作,记作Read; ③将MAR所指的主存单元中的内容(有效地址)经数据总线读至MDR,记作M(MAR)→MDR; ④将有效地址送至存储器地址寄存器MAR,记作(MDR)→MAR。此操作在有些机器中可省略。1.微操作的节拍安排(续)nullnullnullnull2.组合逻辑设计步骤⑴列出微操作命令的操作时间表2.组合逻辑设计步骤nullnull⑵进行微操作信号综合 在列出微操作时间表之后,即可对它们进行综合分析、归类,根据微操作时间表可以写出各微操作控制信号的逻辑表达式。null ⑶画出微操作命令的逻辑图 根据逻辑表达式可画出对应每一个微操作信号的逻辑电路图,并用逻辑门电路实现之。6.5.3 微程序控制单元设计6.5.3 微程序控制单元设计 微程序设计控制单元的主要任务是编写对应各条机器指令的微程序,具体步骤是首先写出对应机器指令的全部微操作节拍安排,然后确定微指令格式,最后编写出每条微指令的二进制代码。1.微程序控制单元的设计步骤⑴确定微程序控制方式 根据计算机系统的性能指标(主要是速度)确定微程序控制方式。 ⑵拟定微命令系统 初步拟定微命令系统,并同时进行微指令格式的设计,包括微指令字段的划分、编码方式的选择、初始微地址和后继微地址的形成等等。1.微程序控制单元的设计步骤1.微程序控制单元的设计步骤(续)⑶编制微程序 对微命令系统、微指令格式进行反复的核对和审查,并进行适当的修改;对重复和多余的微指令进行合并和精简,直至编制出全部机器指令的微程序为止。 ⑷微程序代码化 将修改完善的微程序转换成二进制代码,这一过程称为代码化或代真。 ⑸写入控制存储器 最后将一串串二进制代码按地址写入控制存储器的对应单元。1.微程序控制单元的设计步骤(续)nullnullnull15条指令的操作码15条指令的操作码CLA----00H----0000 0000B COM---04H----0000 0100B INC-----08H----0000 1000B SAR----0CH----0000 1100B CSL----10H-----0001 0000B STP-----14H----0001 0100B ADD----18H----0001 1000B SUB-----1CH---0001 1100B AND-----20H----0010 0000B LDA------24H---0010 0100B STA------28H---0010 1000B JMP-----2CH---0010 1100B JZ--------30H---0011 0000B JC--------34H---0011 0100B JN--------38H---0011 1000B null6.6 流水线技术 对于指令的执行,可有几种控制方式:顺序方式、重叠方式、先行控制及流水线控制方式。顺序方式指的是各条机器指令之间顺序串行的执行,即执行完一条指令后,方可取出下一条指令来执行。这种方式控制简单,但速度慢,机器各部件的利用率低。为了加快指令的执行速度,充分利用计算机系统的硬件资源,提高机器的吞吐率,计算机中常采用重叠方式、先行控制方式,以及流水线控制方式。6.6 流水线技术6.6.1 重叠控制 通常,一条指令的执行过程可以分为3个阶段:取指、分析、执行。假定每个阶段所需的时间为t,采用顺序方式执行n条指令所需的时间为 T=3nt 最早出现的重叠是“取指K+1”和“执行K”在时间上的重叠,称为一次重叠,这将使处理机速度有所提高,所需执行时间减少为 T=3t+(n-1) 2t =(2n+1)t6.6.1 重叠控制6.6.1 重叠控制(续) 如果进一步增加重叠,使“取指K+2”、“分析K+1”和“执行K”重叠起来,称为二次重叠,则处理机速度还可以进一步提高,所需执行时间减少为:T=3t+(n-1)t=(2+n)t 为了在“执行K”时同时完成 “分析K+1”和“取指K+2”的工作,应把控制器分解为存储控制器、指令控制器、运算控制器。 6.6.1 重叠控制(续)6.6.1 重叠控制(续)6.6.1 重叠控制(续) 如果在“分析K+1”时要访问存储器,而“取指K+2”也要访问存储器,就出现了访存冲突,解决冲突的办法有3种: (1)设置2个存储器,一个程序存储器一个数据存储器。 (2)主存采用多体交叉存储器,且第K+1条指令的操作数与第K+2条指令存储在不同的存储体中。 (3)使用指令队列缓冲器。6.6.
本文档为【第6章_中央处理器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_684012
暂无简介~
格式:ppt
大小:14MB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2013-11-26
浏览量:22