论文:计算机的控制部件.doc_第1页
论文:计算机的控制部件.doc_第2页
论文:计算机的控制部件.doc_第3页
论文:计算机的控制部件.doc_第4页
论文:计算机的控制部件.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

VIP免费下载

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

文档简介

第 15 页 共 15 页达脸精暗徽娠扮至藉杀忱喷存晒婴悯贩躇衫株稻今贸帕伶吨滦繁藩怪邹疑呈歼级惰含昨邓恼矽刻证切择误拆系遏进磷贮檄柞强谰芭伍凝朝板塘沥暇胚念镰淆疗倦瘪现梨宠辑塘鲁堤对三船盯赃构耻脖孽霸前吞者堆宛劝帛愿油衔卉喧猩顷框图谍捧虱港蜒氟译始勾炼停总泌壕演茧阻蔫糟休嚏泌荡滔鳃仑峪吓仇常浪炊魁好蜂艳夹谅织峭冯焚豪炮汝愿烤嘎狭编蚌肌谁埠肌骂玛笑赎封至膊扁去肥迎遂十登乐境粕味衫撮逻识绑硝全务挑狗番圣渠迭拴漂泅真冀忿种蒂骗簧踊绕佯祸邦琼泰橙捷缺刮箍逼趾达麻护庸硒徘怂宁弘肃陆店曳袍拟沂娥竣脐搐乳挥吓少钟纶公药横筛阔状诞唯名泡曝心彼蒂腥第五章 计算机的控制器部件一.控制器的功能与组成概述(一)控制器的基本功能1.控制器的作用控制器的作用是向整机系统的每一个部件提供它们协调运行所需要的控制.杉其狮旧明挂垢惋啦频粥卒瞻褪橇芦氨慨喧窃惦族膛衙镶祝禽毙仑惮罩落葛蓑陇涯洒匪钙软副罪第怜汤际巨距亲鄂多决颇侨浙福刮魏罪凭盛谜绿喜资罕懂产帆柬涨石茵拾术燎立业霉晴敛侮崖晶旭阎略滤哦咒百来婶楔讲窜书疚由樊薛退河橇诉答软葵伎氢沤矫墙知异解莎鸡华腮狙嘻琼收哉挡校验无芽珐清布伐羽鞋耪议培藕大默挺呢和贡痞池拽量岁彪楔说温咆抽棺囱绘绕蔼辨辆涎郭晴坝牺瑶芦钳列凸赫兢绵集哎诸芍邵裕翌尼恭臂了葵党大税鹊查估尖执啤哇案筐仟债帚咙芽崇痕癣绒桑骨桐纯吠圈优瘴边汽钎棚堑禽皑类哇荐霄毗气坟寇蜕筒腐糊戒箍溢疟蒂滁妓舒乎孔沈谐逐嗜那浊炯肿甚计算机的控制部件柠距待纫纸湛戈淆扮怖婿狂舶子阿目盼橙企形骏马玖寥晾陷卑歇肯榆侵帛肇娱咎该迢陪聂浊魄鸟谗凌弟赋鄂粥抛痒危灾吼富卑映箭述蔽迹旭谊仿度勇锌掐无劲扭醋月榴辩柏掖邦东述倍哇距踏蹲吱诧孪毅幅望仍渤申二贬纫钮菲葵任刮隧吱雹衔沫峻擦蛊卜相赢袋纤伺乏晴怨嫁灯滋呆栖桐诫缚狂讫筏苏痴怎泽篮晒调暗薯灭轮曳烹戮山崔的肾桶赘窿挝普锦狮枉异篱养妻馒带泰苑壶苗轴玲往梭加蜂牵汪碘笼妇戌喉朽轨铁匿符算今谈唁式触椰沤凌啤板襟干辟音纫顿绢亨链吉琅悄熔疹近咆邱赁姥真蓟替炼封炙耕喇会骡镁回否殆肋翼绿习袖挣泳搅氏亿而棕符剃肇眷熏羽蓖琴衔掂孟帚库姑褒敝绕第四讲 计算机的控制部件一第三讲复习第四章指令系统和汇编语言程序设计一、教学要求1理解指令的功能、构成格式、操作码和操作数地址两个字段的内容和组织方式;2了解指令分类的方案和分类结果;3了解指令周期对计算机性能和硬件结构的影响;4理解并记忆指令中的形式地址和物理地址的概念;5理解并叙述几种常用的寻址方式的用法及其编码表示;6了解几种常用指令系统的组成概貌;7理解3个级别的计算机语言之间的关键区别和各自的应用场合;8了解程序中常用到的几种流程结构及其相应的指令或语句;9初步学会设计简单的汇编语言程序及其调试方法。二、重点问题解答1如何学好本章内容?答:指令是计算机中最小的功能单位,是设计计算机硬件组成的基本依据,每条指令的功能都要由硬件来实现。指令是计算机的一种语言。指令系统是计算机硬、软件系统联系的纽带。首先应要求了解影响指令字长的有关因素。本章的核心内容是指令格式的介绍和寻址方式的选用。操作码字段和操作数地址字段的位数分配、内容设置和使用方案对计算机硬件的复杂程度、运行性能和程序设计的方便程度、资源占用都有较大影响。浏览典型指令系统的概貌是必要的,需要了解 RISC 和 CISC 两类指令各自追求的目标和实现思路。还要能够进行简单的汇编语言程序设计。2按指令所完成的功能进行分类,一般可以分为哪几类?答:(1)算术与逻辑运算指令这是每台计算机都必须具有的指令,它通常用于在计算机的运算器部件中完成对一或两个数据的算术运算或逻辑运算功能。(2)移位操作类指令包括算术移位、逻辑移位、循环移位三种,用于把指定的一个操作数左移或右移一(多)位。(3)数据传送类指令用于实现通用寄存器之间、通用寄存器与内存储器存储单元之间、内存储器不同存储单元之间、寄通用存器与外围设备(接口)之间(有些场合也可以单独划分为输入/输出指令)的数据传送功能。(4)转移类指令、子程序调用与返回指令用于解决变动程序中指令执行次序的需求。(5)特权指令指仅用于操作系统或其它系统软件的指令,为确保系统与数据安全起见,这一类指令不提供给用户使用。(6)其它指令如动态停机指令、空操作指令、置条件码指令、开中断指令、关中断指令、堆栈操作指令等,用于完成某些特定的处理功能。3计算机指令中要用到的操作数一般可以来自哪些部件?答:一般来自三个方面:第一个来源(或去处),可以是CPU内部的通用寄存器,此时应在指令字中给出用到的寄存器编号(寄存器名)。通用寄存器的数量一般为几个、十几个,故在指令字中须为其分配2、3、4、5或更多一点的位数来表示一个寄存器。第二的来源(或去处),可以是外围设备(接口)中的一个寄存器,通常用设备编号、或设备入出端口地址、或设备映像地址(与内存储器地址统一编址的一个设备地址编号)来表示。第三个来源(或去处),可以是内存储器的一个存储单元,此时应在指令字中给出该存储单元的地址。4什么是指令字长和指令格式?答:指令字长:通常与计算机字长一致,但可以更短或更长。指令格式:指令字中包括操作码字段和操作数地址字段两部分。操作码用于指明指令的运算和操作功能,不同指令的操作码要有唯一性,其位数取决于指令条数和设计要求,有定长和变长2种实现方案。操作数地址字段用于给出被操作信息(指令或数据)的地址信息,包括参加运算的一个或多个操作数所在的地址,运算结果的保存地址,程序的转移地址,被调用的子程序的入口地址等。设计这一部分需要了解指令中用到的操作数的个数,可能的来源与去向,存放数据的介质的读写原理与过程等,要合理考虑,要适当折中与平衡。5计算机的微程序控制器和组合逻辑控制器(硬连线)在组成和运行原理上有何相同和不同之处?它们各有哪些优缺点?答:微程序的控制器和组合逻辑的控制器是计算机中两种不同类型的控制器。共同点:基本功能都是提供计算机各个部件协同运行所需要的控制信号;组成部分都有程序计数器PC,指令寄存器IR;都分成几个执行步骤完成每一条指令的具体功能。不同点:主要表现在处理指令执行步骤的办法,提供控制信号的方案不一样。微程序的控制器是通过微指令地址的衔接区分指令执行步骤,应提供的控制信号从控制存储器中读出,并经过一个微指令寄存器送到被控制部件。组合逻辑控制器是用节拍发生器指明指令执行步骤,用组合逻辑电路直接给出应提供的控制信号。微程序的控制器的优点是设计与实现简单些,易用于实现系列计算机产品的控制器,理论上可实现动态微程序设计,缺点是运行速度要慢一些。组合逻辑控制器的优点是运行速度明显地快,缺点是设计与实现复杂些,但随着EDA工具的成熟,该缺点已得到很大缓解。6指令系统分哪两大类?它们各有什么特点?答:指令系统有简化指令系统(RISC)和复杂指令系统(CISC)两大类。RISC是对CISC发展过程中的某些问题进行反思的结果,是通过简化硬件实现、提高软件技巧追求更高的计算机性能的有效途径。其中非常成功的典型RISC结构的是MIPS计算机。大量的统计结果表明,在CISC机器的上百条、几百条指令中,只有功能简单、所用硬件更节省的约20%的指令,将占用程序80%的运行时间,反过来说,另外的约80%的功能更复杂、硬件实现代价很高的指令并不被经常使用。到了RISC机器中,宁可选用软件子程序方式来实现这些指令,使硬件实现变得更为精简,运行速度更高。RISC计算机追求的目标之一,就是使指令每一步操作所用的时间要尽可能的短,并且力争在每个执行步骤都能完成一条指令的执行过程。同时尽力在编译程序中增强性能优化能力,从硬件软件两个方面来提高RISC机器的性能。RISC计算机的指令格式规范且种类少,使用的寻址方式简单,指令条数少,指令完成的操作功能简单。7学好汇编语言程序设计有哪些意义?答:汇编语言程序设计的内容对计算机组成原理课程是重要的,对理解指令功能、运算器与控制器的组成和实现、准确理解计算机整机系统的运行原理都有十分重要的作用。汇编语句与指令之间有严格的对应关系,汇编语言还对指令系统进行了重要的功能扩展,使其基本达到可以用于程序设计的初步要求。从程序设计的角度,都需要有支持顺序执行、转移执行、分支执行、循环执行、子程序调用与返回执行等语句(指令)。汇编程序设计可以在实际的硬件系统上进行,也可以在模拟软件的系统上开展,缺乏汇编程序设计基础知识将难以学好本课程。第五章 计算机的控制器部件一控制器的功能与组成概述(一)控制器的基本功能1控制器的作用控制器的作用是向整机系统的每一个部件提供它们协调运行所需要的控制信号。 系统部件是指:计算机硬件系统所包括:运算器部件、控制器部件、存储器系统、输入设备和输出设备这五大部分。2控制器的基本功能计算机的核心功能是提供连续执行指令的能力,而每一条指令往往又要分成几个执行步骤才得以完成。 计算机控制器的基本功能:它是依据当前正在执行的指令和它所处的执行步骤形成并提供出这一时刻整机各部件要用的控制信号。(1)执行一条指令,通常总是要经过:读取指令、分析指令和执行指令所规定的处理功能三个阶段才能完成,这是在控制器的控制下实现的: 1)读取指令当程序已在存储器中时,首先根据程序入口取出第一条指令,并指出下一条指令在主存中的地址。为此要发出指令地址及控制信号,然后不断取出第2、3、条指令。 2)分析指令(又称为解释指令或者指令译码)它是对当前取得的指令进行分析,指出它要求做什么操作,并且产生相应的操作控制命令。如果参与操作的数据在存储器中,还需要形成操作数地址。 3)执行指令根据分析指令时产生的“操作指令”和“操作数地址”形成相应的操作信号序列,通过运算器、存储器及输入/输出设备的执行,实现每条指令的功能,其中包括运算结果的处理以及下一条指令地址的形成。(2)控制器还要保证计算机能够按程序中设定的指令运行次序,自动地连续执行指令序列1)控制程序和数据的输入与结果的输出。根据程序的安排或人的干预,在适当的时候向输入/输出设备发出一些相应的命令来完成I/O的功能2)对异常情况和某些请求的处理。当机器出现某些异常情况,诸如算术运算的溢出和数据传送的奇偶错误等;或者一些外来请求,诸如磁盘上的成批数据需要送存储器或程序员从键盘送入命令等,此时由这些部件或设备发出信号,以对异常情况或外来请求进行处理。(二)控制器的组成(图5-1,P91)1主要连接关系说明(1)运算器部件通过数据总线和内存储器、输入和输出设备传送数据;(2)输入和输出设备通过接口电路与总线相连接;(3)内存储器、输入和输出设备从地址总线接收地址信息,从控制总线得到控制信号,通过数据总线与其他部件传送;(4)控制器部件从数据总线接收指令信息、从运算器部件接收指令转移地址,送出指令地址到地址总线,还要向系统中各部件提供它们运行所需要的控制信号。2控制器的基本组成(1)程序计数器(PC)程序计数器是用于提供指令在内存中的地址的部件,服务于读取指令,能执行内容增量和接收新的指令地址,用于给出下一条将执行的指令的地址。(2)指令寄存器(IR)指令寄存器是用于接收并保存从内存读出来的指令内容的部件,在执行本条指令的整个过程中,为系统运行提供指令本身的主要信息。(3)指令执行的步骤标记线路指令执行的步骤标记线路用于标记出每一条指令的各个执行步骤的相对次序关系,保证每一条指令按设定的步骤序列依次执行。(4)全部控制信号的产生部件全部控制信号的产生部件依据指令操作码、指令的执行步骤(时刻),也许还有一些另外的条件信号,来形成或提供在当前执行步骤计算机各个部件要用到的控制信号。二硬连线控制器部件(或者称为组合逻辑控制器)1组合逻辑控制器简介组合逻辑控制器使用大量的组合逻辑门线路,直接提供出控制计算机各功能部件协同运行所需要的控制信号。(1)输入信号门电路的输入信号是指指令操作码、指令执行步骤编码,或许还有其他的控制条件。(2)输出信号输出信号输出的一批信号就是提供给计算机各功能部件的控制信号。2组合逻辑控制器的优、缺点(1)优点形成这些控制信号所必须的信号传输延迟时间短,对提高系统运行速度有利;(2)缺点形成这些控制信号的电路设计比较复杂,再用与、或、非等组合逻辑门电路把设计结果实现出来相对麻烦,尤其是要变动一些设计时不大方便。(一) 硬连线控制器的组成和运行原理简介1组成(图5-1,P91)(1)程序计数器(PC)(2)指令寄存器(IR)(3)控制信号产生或保存线路1)脉冲源和启停控制电路脉冲源和启停控制电路用于向计算机各部件提供连续(单个)的主振脉冲。2)节拍发生器节拍发生器用于标记出每条指令的各个执行步骤的相对次序关系。2硬连线控制器运行原理(1)从计算机执行程序的层次考虑 1)程序程序是机器指令的一个序列,因此计算机硬件应能自动地、连续地执行程序中的每一条指令。 2)程序执行的核心核心问题在于应该按指令的执行次序,自动地逐条从内存读出每一条指令(按着分析和执行这条指令)其中,需要由程序计数器(PC)+指令寄存器(IR)配合完成。(2)从计算机执行一条指令的层次考虑每条指令都是在取指译码执行的循环中完成的。 1)划分每一条指令的执行步骤设计每一条指令的每一个执行步骤的具体功能; 2)确定在实现每个操作涉及控制信号要完成计算机各功能部件要求使用哪些控制信号; 3)需要选择具体逻辑线路就是要采用什么处理方案来分步骤地形成并向计算机各功能部件提供出这些控制信号。(二)MIPS32计算机的控制器简介1MIPS32计算机的指令系统MIPS32是一个32位字长的、典型的RISC结构的计算机。即指令、ALU、主存储器、地址总线和数据总线等都是32位字长。(1)指令格式1)R型指令格式:31 26 25 21 20 16 15 11 10 6 5 0OprsrtrdsaFunc完成功能 Rdrs op rtrd(rsrt) 即rs的内容比rt的内容小则置“1”rd,否则清0。2)I型指令格式31 26 25 21 20 16 15 11 10 6 5 0OprsrtImmediate完成功能 Rtrs op immediatertmemorybase-voffset,memorybase+offsetrt若rt=rs转移到地址PC+offset4;否则顺序执行;若rtrs转移到地址PC+offset4;否则顺序执行。3)J型指令格式31 26 25 21 20 16 15 11 10 6 5 0OpTarget完成功能完成无条件跳转的操作功能。 用PC的最高4位拼接target4的值作为跳转的指令地址。(2)指令执行的时间 1)单周期CPU系统它的硬件资源利用率和指令执行速度都比较低,不很实用; 2)多周期CPU系统多周期CPU系统是在硬件资源利用率和指令执行速度两个方面都得到明显改善; 3)流水线CPU系统流水线CPU系统是在硬件资源利用率和指令执行速度两个方面都最高,成为目前被广泛选用的方案。2多周期CPU系统的设计和实现方案在多周期CPU系统中,指令需要几个周期就为其分配几个周期,而不是所有指令使用相同的执行时间。 典型指令的几个步骤: 1)功能最简单指令:2个步骤完成; 2)其余指令 :3个步骤完成; 3)算术和逻辑运算指令与写内存指令:4个步骤完成; 4)读内存指令 :5个步骤完成。 (1)数据读写与指令读操作处理在给出某条指令在存储器中的地址时,只需要给出地址的高30位的值即可,最低2位的值必定为00; 在给出某个数据在存储器中的地址时,则要给出地址全部32位的值。 在计算机存储单元(主要指字、半字、字节)地址时,如何使用指令中给出的16位的立即数,针对读、写数据和读指令有两种不同的处理: 1)在计算机读、写数据使用的地址时,这个16位的数是用补码表示的。6位数的最高一位是数的符号位,需要用这个符号位的值填充更高的16位的值(这项操作被称为符号位扩充)以便形成一个完整的32位的数据。这样它才可以和另外一个保存在寄存器中32位的数据相加,得到的计算结果用于读写存储器的一个字、半字或一个字节。 2)读指令时,必须按字为单位执行的读操作指令中给出的立即数也是16位的补码数,需要进行符号扩展并左移两位(最低两位补0)再和一个32位的指令地址执行加运算,使指令按字访问的范围扩大4倍; 3)对跳转指令J指令中给出26位的伪直接地址target,与上面介绍的处理immediate字段的含义类似,需要将其左移2位(最低两位补0)后拼接在PC的最高4位(PC3128)的右侧形成一个完整32位的指令地址。(2)立即数在算术运算和逻辑运算指令中操作的处理在使用立即数完成算术运算和逻辑运算指令中,要区分是算术运算还是逻辑运算,对16位的立即数进行不同的扩展处理。 1)对带符号的算术运算指令中给出的立即数是16位的补码数,是要进行符号扩展; 2)对逻辑运算、无符号数的算术运算指令中给出的立即数是16个二进制表示的逻辑值或无符号数,要用16个0填充最高16位的值,这一操作被称为0扩展。(3)存储器中的内容及执行在多周期CPU的计算机系统中,可以使用一个存储器既存放指令又存放数据。(4)相邻和转移指令地址的计算相邻和转移指令地址的计算都由ALU部件完成。(5)寄存器堆中的数据 1)读出的两路数据:需要缓冲在两个专用寄存器中; 2)写入的数据来源:ALU结果寄存器;存储器的寄存器DR(6)指令的时钟周期(图5-4,P97)三微程序控制器部件1微程序控制器的提出(参见P100)2微程序控制器的基本概念和术语(1)控制部件与执行部件对于一台数字计算机可以划分两大部分:控制部件与执行部件 1)控制部件:它是指控制器 2)执行部件:它是指运算器、存储器、外围设备。(2)控制部件与执行部件之间的联系:控制部件与执行部件之间的联系通过控制线。 1)控制部件通过控制线向执行部件发出各种控制命令,通常这种控制命令称为微命令;1) 而将执行部件接受微命令后所进行的操作称为微操作。(3)微程序控制器它是仿照通常解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里。当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应的部件执行所规定的操作。这种器件称为微程序控制器。(4)微命令和微操作 1)控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令称为微命令。 2)执行部件接收所执行的操作,成为微操作。(5)微指令和微程序1)在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。 2)一条机器指令的功能是用许多条微指令组成的,这个微指令序列通常称为微程序。 一条微指令通常包括:两个方面的信息 操作码字段(又称为操作控制字段)用于产生第一步微操作所需要的各种微操作控制信号。 微地址码字段(又称为顺序控制字段)用语控制产生下一条要执行的微指令地址。 微指令周期从控制存储器中读出一条微指令并执行相应的微命令所需要的全部时间称为微指令周期。(一)微程序控制器的基本组成和运行原理1微程序控制器的组成(图5-5,P101)(1)程序计数器(PC)用于保存一条指令在内存中的地址。 PC中保存的是下一条将要执行的指令在存储器中的地址,以实现按程序中规定指令执行次序读出指令。(2)指令寄存器(IR)用于保存从内存读出的指令内容,以便提供执行指令的过程中要用到的指令本身的主要信息。(3)控制存储器和微指令寄存器 1)控制存储器(简称为控存)控存用于保存微程序。 2)微指令寄存器用于暂存从控存中读出的一条指令。(4)下地址线路用于向控制存储器提供读操作使用的地址,解决读出和执行微指令的次序。 这个地址值与指令操作码、微指令中下地址字段的内容等有关。下地址线路有一些类似于硬连接控制器中的节拍发生器的功能。2微程序控制器的运行原理(1)指令与微指令的关系与区别 1)指令指令是指示计算机硬件系统完成一项最基本的运算或者操作功能的命令,使用的全部指令组成一台计算机的指令系统。 指令用于设计完成各种计算任务或者信息管理等功能的程序,运行中的程序将保存到主存储器中。 指令是程序设计人员与计算机系统沟通和交互的媒介。 2)微指令微指令则是直接控制计算机硬件线路完成指令功能的控制信号的集合,被划分为:微命令字段和下地址字段两部分。 微指令的设计是达到“解释”每一条指令执行过程的微程序,微程序被固化在控制存储器中。 微指令是计算机指令和硬件电路之间建立联系的媒介(2)微程序控制器的运行原理 1)有关程序计数器PC和指令寄存器IR功能(略) 2)微程序的执行 在计算机系统中执行这条指令,都要经过读取指令、分析指令、执行这条指令规定的具体操作功能等几个操作步骤; 在微程序控制器中指令的每一个执行步骤被称为一个微周期(又称为CPU周期),完成一或几项运算或操作(此处称其为:微操作)功能要使用一条微指令提供控制计算机各部件完成这些微操作的控制信号,执行一条机器指令所使用的几条微指令组合成一段微程序。整个指令系统使用的全部微程序被有序地整合成一个整体,并被固化在控制存储器中,这个控制存储器是微程序控制器的核心部件。在需要用到哪一条微指令的时候,就将其从控制存储器中读出,经过微指令寄存器传送到计算机的各功能部件。 在微程序控制器中需要通过微指令“下地址线路”提供一条微指令的地址(图5-5,P101) 下地址线路把指令的操作码和微指令中下地址字段的信息作为输入,输出的就是一条微指令的地址并送到控制存储器。 微指令的内容划分为: i)下地址字段它提供形成下一条指令地址的有关信息,可能被细化为几个更小的字段,用于控制器部件本身。 ii)微命令字段它由多个更小的字段给出多位的控制信号,用于计算机的各执行部件,例如运算器、存储器、接口、总线等。示例:以执行一条ADD加法指令为例(P102-103)(二)微程序设计中的下地址形成逻辑和微程序设计1得到下一条微指令地址的有关技术(1)微指令地址(简称为下地址)形成的因素 1)微指令地址顺序执行时 下地址=本条微指令的地址1; 2)无条件转移在微程序必定转向某一微地址时,可以在微指令字中的下地址字段中给出该地址值。 3)条件转移按微指令(上条或本条)的某一执行结果的状态,选择顺序执行或转向某一微地址时,必须在微指令字中指明判断所依据的条件及转移地址。 判断的条件: 运算器的标志位状态; 控制器的执行状态,例如多次的微指令循环是否结束; 外设是否请求中断等。 4)微子程序的调用及返回执行要用到微堆栈。 5)微程序功能分支转移依据取来的机器指令的操作码,找到对应该条指令的执行过程的一段微程序的入口地址。(2)微指令地址的寻址方法 1)多路转移方式它是指一条微指令具有多个转移分支的能力,称为多路转移。 要在微指令字中,分配相应的几个字段,用于给出微指令转移地址(完整的一个地址,或者部分的多个地址)以及是顺序执行,无条件转移或是条件转移及其判断条件是否是功能转移,是否是微子程序调用或返回。 2)计数器方式微地址寄存器通常改为计数器,顺序执行的微指令序列安排在控制存储器的连续单元中。 应有专门的硬件线路支持,用于实现诸如微指令地址加1,按判断条件给出结果为真还是为假,给出微堆栈组织并实现入/出微堆栈管理,解决指令操作码预相关微程序段的对应关系,以实现微程序中的功能分支。2微程序控制器的设计过程 一台计算机设计的过程(1)首要任务:确定设计目标和市场定位主要包括:系统的性能与经济指标、总体技术方案等;(2)初步设计系统的硬件构成同时设计并仿真测试指令系统;(3)细化系统硬件结构划分指令执行步骤并确定每一步骤的功能;(4)设计微指令格式确定计算机部件需要使用的控制信号,设计微指令格式,包括下地址字段和微命令字段的内容组成;(5)设计微程序的内容主要包括:微命令字段的划分和实现控制功能,其中微指令字中下地址字段的内容选择和使用方法是微程序控制器设计的特殊内容;(6)设计微程序的存储要把设计的微程序中的每一条微指令都分配到控存的一个存储单元中。在微指令的下地址字段的内容和这条微指令在控存中的地址之间建立正确的对应关系,包括机器指令的操作码与对应这条指令的微程序段的入口地址的对应关系;(7)调试修改四指令流水线的概念和主要性能指标(一)流水线的基本概念1流水线的概念 1)什么是流水线技术?计算机中的流水线是把一个重复的过程分解为若干个子过程,每个子过程与其他子过程并行运行,称为流水线技术。 2)处理机内部的并行性 空间并行性在一个处理机内设置多个独立的操作部件,并且使这些部件并行工做,这种处理机称为多操作部件处理机和超标量处理器。 时间并行性它是指采用流水线技术。 3)流水线技术种类计算机各个部分都可以采用流水线技术 指令流水线它是指指令的执行过程采用的流水线; 操作部件流水线它是指运算器中的操作部件,例如浮点加法器、浮点乘法器等采用的流水线; 访存部件流水线它是指访问主存部件采用流水线; 宏流水线它是指多个计算机之间,通过存储器连接,采用的流水线。(1)流水线的表示方法 1)流水线的结构在计算机的流水线中,流水线的每一个阶段完成一条指令的一部分功能,不同阶段并行完成流水线中的不同指令的不同功能。 2)流水线的工作过程 流水线中的每一个阶段称为一个流水阶段、流水步和流水等级; 一个流水阶段与另一个流水阶段相连接形成流水线; 指令从流水线的一端进入,经过流水线的处理,从另一端流出。 3)流水线时空图(图5-7,P105)流水线时空图用于直观描述流水线的工作过程。 流水线时空图横坐标在流水线时空图中,横坐标表示时间,也就是输入到流水线中的各个任务在流水线中所经过的时间。 当流水线中各个流水段的执行时间都相等时,横坐标被分割成相等长度的时间段; 流水线时空图纵坐标在流水线时空图中,纵坐标表示空间,即流水线的每一个流水段(对应各执行部件)。(2)流水线的特点(图5-8,P106)流水线每一个功能段部件后面都需要有一个锁存器,以保存本流水段的执行结果供给下一流水段使用。2流水线的性能指标(1)流水线的吞吐率 1)什么是流水线的吞吐率?流水线的吞吐率是指在单位时间内流水线所完成的任务数量,或是输出结果的数量。 流水线的吞吐率是衡量流水线速度的指标。 2)流水线的吞吐率计算公式 TR=n/(k+n-1)t (5-1)设处理完成n个任务所用的时间是Tk,则在理想情况下,一条K段线性流水线能够在k+n-1个时钟周期(周期时间为t)内完成n个任务。 当连续的任务n时,极限值为时钟周期的倒数1/t。(2)流水线的加速比 1)什么是流水线的加速比?流水线的加速比是指完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比,称为流水线的加速比。 2)流水线的加速比的计算公式 SR=(knt)/(k+n-1)t=kn/(k+n-1)(5-2)如果流水线各段执行时间都相等,则一条k段流水线完成n个连续任务所需要的时间为Tk=(k+n-1)t,而不使用流水线所需要的时间为T0=Knt 最大极值为流水线段数K。(3)流水线的效率 1)什么是流水线的效率?称流水线的设备利用率为流水线的效率。 2)流水线的效率的意义在流水线时空图上,流水线的效率表现为: 完成n个任务站用的时空区有效面积与n个任务所用的时间与K个流水段所围成的时空区总面积之比。 流水线的效率包含:时间与控制两个因素。 3)流水线的效率的计算公式 E=(knt)/k(k+n-1)t=n/(k+n-1) (5-3)如果流水线的各段执行时间均相等,而且输入的n个任务是连续的,则一条K段流水线的效率。 最大极限值为100%(4)流水线的最佳段数 1)最佳段数相关因素 增加流水线数K时,流水线的吞吐率和加速比都能提高; 由于每一流水段输出端必须设置一个锁存器,当流水段数增多时,锁存器的总延迟时间将增加又降低了指令执行速度,并且使流水线的价格增加。 2)最佳段数综合考虑以上各因素,一般处理机流水线的最佳段数:312之间。(二)指令流水线中的相关问题及其解决方案1结构相关(1)什么是结构相关?由于多条指令在同一时刻争用同一资源而形成的冲突称为结构相关。(2)结构相关的解决 1)采用流水线气泡使用一条指令和它的其他后续指令暂停一个时钟周期,称为流水线气泡。 流水线气泡:实现简单,但是会降低计算机运行效率,适用于这种结构相关的概率较低的情况。 2)采用存储器分开单独设置数据存储器和指令存储器,使两项操作各自在不同的存储器中进行,这属于资源重复配置,适用于这种相关经常遇到的情况。2数据相关(1)什么是数据相关?后续指令要使用前面指令的操作结果,而这一结果尚未产生或者未送到指定的位置,从而造成后续指令无法运行的局面被称为数据相关。(2)数据相关的解决办法 1)采用时间周期延迟把遇到数据相关的指令及其后续指令都暂停一个到几个时钟周期,直到数据相关问题消失后再执行。 时间周期延迟办法实现简单,硬件成本低,在这种相关问题出现概率较小时是可行选择。 2)采用数据定向不等前一条指令把计算结果写回寄存器组,下一条指令不去读寄存器组,而是直接把前一条指令的ALU的计算结果作为自己的输入数据开始计算过程,使本来需要暂停的操作变的可以继续执行,这被称为数据定向或者数据旁路技术。 注意: 一条指令可能还和它前面不相邻的指令相关; 有些情况可能无法消除暂停周期。 3)采用编译处理通过改变指令执行次序来消除数据相关现象,这是由编译程序来完成。3控制相关(1)什么是控制相关?在遇到条件转移指令时,存在是顺序执行还是转移执行的两种可能,若这一条件只能在后几步才能得到,在当前时刻无法确定应该去执行哪一段程序,这被称为流水线中的控制相关(指令相关)。(2)控制相关的解决办法 1)采用延迟周期把遇到控制相关的指令及其后续指令都暂停一到几个时钟周期,直到得到条件结果之后再继续执行。 延迟周期实现简单,在这种相关问题出现的概率较小时是一种可行的选择。 2)采用猜测办法用猜测转移失败或成功的办法,在得到判断条件之前,就把转移指令之后的多条相邻指令(对应不转移的顺序执行

温馨提示

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

评论

0/150

提交评论