《计算机组成原理教案设计.pdf》由会员分享,可在线阅读,更多相关《计算机组成原理教案设计.pdf(87页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、教 案20迄一2011学年匕学期教 研 室:软件与理论教研室课程名称:计算机组成原理课程类型:专业基础甘肃民族师范学院计算机科学系制课程名称计算机组成原理总 计:90学时课程类型专业基础课学分6理 论 讲 授:60学时任课教师职称讲师实 验(实训):30学时授课对象专业:计算机科学与技术 班 级1:1 1 1 班 级2:H 2教材信息 计算机组成原理第 二 版 罗 克 露 电 子 工 业 出 版 社参考资料 计算机组成原理第 四 版 白 中 英 科 学 出 版 社 计算机体系结构第 二 版 张 晨 曦 高 等 教 育 出 版 社教学目标 计算机组成原理是计算机专业的一门核心专业基础课,本课程从
2、普遍性和原理性出发,讲述计算机硬件系统的组成、各部件的结构及工作原理,使学生从普遍原则和典型案例两个角度理解计算机的组织与结构和工作过程,掌握计算机的硬件系统的设计方法。培养学生具有分析、设计和开发计算机硬件系统的能力,为后续课程打下坚实的基础。重点与难点重点:、计算机系统的硬件结构中央处理器控制单元难点:总线控制存储器工作原理计算机的运算方法 CP U的结构和功能微程序控制器的设计内容课时分配内容学时数1计算机系统概论42数据在计算机中的表示方法83中央处理器2 44存储器1 25系统总线46输入输出系统8注:课程类型:通识课、专业基础课、专业发展课、专业方向课、职业技能训练课、实习实践课、
3、实验课。教 案 正 页课程名称:计算机组成原理任 课 教 师总课序第 1 次授 课时 间第 1 周第 1 次课撰 写(修改)稿2 01 2 年 3月 5日讲 课 内 容第 5 章课 题系统总线课时安排4课时授课方式 理论课 口 讨论课 实践课 口实验课 口习题课 其 他教 具准 备黑板、多媒体演示教 学目 的1.了解计算机的分类与应用范围.2 .掌握计算机的硬件,软件组成及各部件功能,理解计算机基本工作原理。3 .了解计算机软硬件发展历程及前景。教 学重 点软件的组成,多级组成的计算机系统,冯 诺依曼思想,程序局部性原理。教 学难 点教 学 基 本 内 容教学手段及时间分配复习旧课:引入新课:
4、计算机系统概论新课内容:1.计算机系统的分类和应用。计算机系统的发展状况、应用领域和发展方向,计算机系统的分类(F l y n n 分类法)。2.计算机系统的组成,计算机系统的硬件组成,计算机系统的基本启动过程。3 .计算机系统的层次结构板书纲要:Z计算机系就的今类命位用2计 算 机 系 税 的 俎 戚(1%时)。3.必算机系说的居次错构(2考时九(-)计算机发展历程第一台电子计算机ENIAC诞生于1946年美国宾夕法尼亚大学.ENIAC用了 18000电子管,1500继电器,重30吨,占 地170m;耗 电140kw,每秒计算5000次加法.冯诺依曼(VanNeumann)首次提出存储程序概
5、念,将数据和程序起放在存储器,使编程更加方便.50年来,虽然对冯诺依曼机进行很多改革,但结构变化不大,仍称冯诺依曼机.般把计算机的发展分为五个阶段:发展阶段时间硬件技术速度/(次/秒)第一代1946-1957电子管计算机时代40 000第二代1958-1964晶体管计算机时代200 000第三代1965-1971中小规模集成电路计算机时代1 000 000第四代1972-1977大规模集成电路计算机时代10 000 000第五代1978-现在超大规模集成电路计算机时代100 000 000ENIAC(Electronic Numerical Integrator And Computer)电子
6、数字积分机和计算机EDVAC(Electron!c Discrete Variable Automatic Computer)电子离散变量计算机组成原理是讲硬件结构的系统结构是讲结构设计的摩尔定律 微芯片上的集成管数目每3年翻两番.处理器的处理速度每18个月增长倍.每代芯片的成本大约为前一代芯片成本的两倍新摩尔定律 全球入网量每6个月翻一番.数学家冯 诺依曼(von Neumann)在研究EDVAC机时提出了“储存程序”的概念.以此为基础的各类计算机通称为冯 诺依曼机.它有如下特点:计算机由运算器,控制器,存储器,输入和输出五部分组成指令和数据以同等的地位存放于存储器内,并可按地址寻访指令和数
7、据均用二进制数表示指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置指令在存储器内按顺序存放机器以运算器为中心,输入输出设备与存储器间的数据传送通过运算器完成典型的冯诺依曼计算机硬件相图图中各部件的功能运算器用来完成算术运算和逻辑运算并将的中间结果暂存在运算器内 存储器用来存放数据和程序 控制器用来控制,指挥程序和数据的输入,运行以及处理运行结果 输入设备用来将人们熟悉的信息转换为机器识别的信息 输出设备将机器运算结果转为人熟悉的信息形式经u线反n线nsa以存储器为中心的计算机硬件框图细化的计机组成根网I/O存 储 体-存 储 单 元-存 储 元 件(0/
8、1)大 楼-房 间 -床位(无人/有人)存 储 单 元 存放一串二进制代码存 储 字存储单元中二进制代码的组合存 储 字 长 存储单元中二进制代码的位数每个存储单元赋予一个地址号按地址寻访运算器最少包括3个寄存器(现代计算机内部往往设有通用寄存器)和一个算术逻辑单元(A LU Arithmetic LogicUnit).其中ACC(Accumulator)为累加器,MQ(MultipHer-Quotient Register)为乘商寄存器,X为操作数寄存器,这3个寄存器在完成不同运算时,说存放的操作数类别也各不相同.(1)存储器的基本组成(2)运算器的基木组成及操作过程存储体MAR|MDR|主
9、存健器M A R存信器地址寄存器反映存储不元的个数 I D R存体器数据寄存器反映存储字长设 MAR=4位MDR=8位:拿、存储电元个数16!:2 2 r 存储字长8kC c|ZjM Q|HI L I:LX运算器ACCMQX加法被加数和加数减法被M数*法杀枳高位黍枳低位被柬数除法破除故余故商除数加法操作过程指令|减|M|初 态 ACC 被总数M XACC-(X ACC乘法操作过程除法操作过程ItI I3运算器指令|乘|M|初 态 ACC 被乘数M 一 MQ(ACCJX0-ACC|X)XM Q|-ACC/7MQ除M初 春A C C 被除数M XACC4-X-MQ余数在ACC中(3)控制器的基木组
10、成完 成 取 指 令1时 而1一条指令分析指令 执行指令PC取 指 访 存IR JCU 执 行 访 存P C存放当前欲执行指令的地址,具 有 计 数 功 能(P C)+1 PCIR存放当前欲执行的指令计算机的主要硬件指标1.机 器 字 长CPU一次能处理数据的位数与CPU中的寄存器位数有关2.运 算 速 度,主频吉 普 森 法人,=&仙MIPS 每秒执行百万条指令CPI执行一条指令所需时钟周期数3.存 储 容 量r主 存 容 量F L O P S每秒浮点运算次数存放一进制信息的总位数C存储单元个数X存储字长 辅 存 容 量如MAR MDR容量1081KX8位1字节数如163264 K x 32
11、 位P1K=210 2心 二1 KBT 1R=2 2”=256 KB字节数80 GBlGB=2Mh1 G-1 O 2 4 M-2,X 22O-23 0(4.a)主机完成一条指令的过程以取数指令为例CPUcu2 7PCMARMDR控制器主存储器(4.b)主机完成一条指令的过程以存数指令为例运算器存储体8控制单元I/O设备(-)计算机系统层次结构1 .计算机硬件的基本组成计算机硬件主要指计算机的实体部分,通常有运算器,控制器,存储器,输入和输出五部分.C P U是指将运算器和控制器集成到一个电路芯片中.2 .计算机软件的分类计算机软件按照面向对象的不同可分两类:系 统 软 件:用 于 管理整个计算
12、机系统,合 理 分 配系统资源,确 保 计算机正常高效地运行,这类软件面向系统.(包括:标准程序库,语言处理程序,O S,服务程序,数据库管理系统,网络软件)应用软件:是面向用户根据用户的特殊要求编制的应用程序,这类软件通常实现用户的某类要求.3 .计算机的工作过程(1)计算机的工作过程就是执行指令的过程指令由操作码和操作数组成:操作码地址码操作码指明本指令完成的操作地址码指明本指令的操作对象(2)指令的存储 指令按照存储器的地址顺序连续的存放在存储器中.(3)指令的读取 为了纪录程序的执行过程,需要一个记录读取指令地址的寄存器,称为指令地址寄存器,或者程序计数器.指令的读取就可以根据程序计数
13、器所指出的指令地址来决定读取的指令,由于指令通常按照地址增加的顺序存放,故此,每次读取一条指令之后,程序计数器加一就为读取下一条指令做好准备.(4)执行指令的过程1)取指令阶段2)指令译码阶段3)指令执行阶段(三)计算机性能指标1.吞吐量,响应时间在控制器的控制卜,完成以卜一三个阶段任务:按照程序计数器取出指令,程序计数器加一分析操作码,决定操作内容,并准备操作数执行操作码所指定内容(1)吞吐量:单位时间内的数据输出数量.(2)响应时间:从事件开始到事件结束的时间,也称执行时间.2.C P U时钟周期,主频,C P I,C P U执行时间(1)C P U时钟周期:机器主频的倒数,R(2)主频:
14、C P U工作主时钟的频率,机器主频R c(3)C P I:执行一条指令所需要的平均时钟周期(4)C P U执行时间:T m I nX C P I X T cI n执行程序中指令的总数C P I执行每条指令所需的平均时钟周期数T c时钟周期时间的长度3.M I P S,M F L OP S(l)M I P S:(M illion I nstructions P er S econd)in HW*5 Re-IM im X lQfr-Te X1匚-CP X 10,-InxCPIxTfcx 10fr-CPI x 1CCT e:执行该程序的总时间=指令条数/(M I P S X 1Q)I n:执行该程
15、序的总指令数R c:时钟周期T c的到数M I P S只适合评价标量机,不适合评价向量机.标量机执行条指令,得到个运行结果.而向量机执行条指令,可以得到多个运算结果.(2)M F L OP S:(M i I lion F loating P oint Operations P er S econd)F L OP S=I fn/(T eX10s)I fn:程序中浮点数的运算次数M F L OP S测量单位比较适合于衡量向量机的性能.一般而言,同一程序运行在不同的计算机上时往往会执行不同数量的指令数,但所执行的浮点数个数常常是相同的.特点:1.M F L OP S取决于机器和程序两方面,不能反映整
16、体情况,只能反映浮点运算情况2.同一机器的浮点运算具有一定的同类可比性,而非同类浮点操作仍无可比性当前微处理器的发展重点进一步提高复杂度来提高处理器性能通过线程进程级的并发性提高处理器性能将存储器集成到处理器芯片来提高处理器性能发展嵌入式处理器软件开发有以下几个特点1)开发周期长2)制作成本昂贵3)检测软件产品质量的特殊性计算机的展望一、计算机具有类似人脑的一些超级智能功能要求计算机的速度达I O,/秒二、芯片集成度的提高受以下三方面的限制 芯片集成度受物理极限的制约 按几何级数递增的制作成本 芯片的功耗、散热、线延迟计算机辅助设计C A D计算机辅助制造C A M计算机辅助工艺规划C omp
17、uter A ided P rocess P lanning C A P P计算机辅助工程C omputer A ided E ngineer ing C A E计算机辅助教学C omputer A ssisted I nstruction C A I(科学计算和数据处理工业控制和实时控制网络技术应用,虚拟现实办公自动化和管理信息系统C omputer A ided D esignC A D,C A M,C l M S C omputer A ided M anufactur i ng多媒体技术 C omputer I integrated M anufactur i ng S ystem人工
18、智能模式识别,文字/语音识别,语言翻译,专家系统,机器人布 置 作 业(书面作业、电子版作业)课后小结教 案 正 页课程名称:计算机组成原理任 课 教 师总课序第 2次授 课时 间第 2周第 1 次课撰 写(修改)稿2 0 12 年 3月 5日讲 课 内 容第 2章课 题数据的表示课时安排4课时授课方式 理论课 口讨论课 实践课 口 实验课 口 习题课 其 他教 具准 备黑板、多媒体演示教 学目 的1.掌握定点数和浮点数的表示方法,以及原码,反码,补码和移码表示。2.了解指令系统的发展与性能要求,掌握指令的基本格式、指令和数据的寻址方式。3.掌握文字与字符串的表示方法。4.理解内部总线的概念,
19、分类及特点。教 学重 点数据的概念,数据的表示方法,指令格式,寻址方式教 学难 点数据的表示方法,指令格式,寻址方式教 学 基 本 内 容教学手段及时间分配复习旧课:计算机的基本组成引入新课:人和人之间是如何交流的?新课内容:7.檄据A针算机中的表示方汰2招令系统概述5卷 令 招K等址方虬板书纲要:实验讲解课堂讨论本讲共2 课时,其中:Z 数据在计算机中的表示方a(2%时)2指令系饶概述(2学时)3找令格式(2皆时),哥址方式(2当时)教 案 中 页(-)数制与编码1.进位计数制及其相互转换1)进位计数制进位计数制是指按照进位制的方法表示数,不同的数制均涉及两个基本概念:基数和权.基数:进位计
20、数制中所拥有数字的个数.权:每位数字的值等于数字乘以所在位数的相关常数,这个常数就是权.任意一个R 进制数X,设整数部分为n 位,小数部分为m 位,则X可表示为:n-1 n-2 0-1-2-nX=%r+a.2r +a,r +a,r +%r +a j(X)r =Z K/2)不同数制间的数据转换(1)二,八,十六进制数转换成十进制数利用上面讲到的公式:(N)2=D i2 i ,(N)8=D i8 i,(N)16=D i16 i,进行计算.(2)十进制数转换成二进制数通常要对一个数的整数部分和小数部分分别进行处理,各自得出结果后再合并.对整数部分,一般采用除2 取余数法,其规则如下:将卜进制数除以2
21、,所得余数(0 或 1)即为对应:进制数最低位的值.然后对上次所得商除以2,所得余数即为:进制数次低位的值,如此进行下去,直到商等于0为止,最后得的余数是所求二进制数最高位的值.对小数部分,一般用乘2 取整数法,其规则如下:将十进制数乘以2,所得乘积的整数部分即为对应二进制小数最高位的值,然后对所余数的小数部分部分乘以2,所得乘积的整数部分为次高位的值,如此进行下去,直到乘积的小数部分为0,或结果已满足所需精度要求为止.(3):进制数,八进制数和十六进制数之间的转换八进制数和十六进制数是从二进制数演变而来的:由3 位二进制数组成1 位八进制数;由4 位二进制数组成1 位十六进制数.对一个兼有整
22、数和小数部分的数以小数点为界,小数点前后的数分别分组进行处理,不足的位数用0补足.对整数部分将0 补在数的左侧,对小数部分将0 补在数的右侧.这样数值不会发生差错.2 .真值和机器数真值:数据的数值通常以正(+)负(-)号后跟绝对值来表示,称之为“真值”.机器数:在计算机中正负号也需要数字化,一般用0表示正号,1 表示负号.把符号数字化的数成为机器数.3 .B C D 码(B i n a r y C o d e d D e c i m a l 以二进制编码的十进制码)在计算机中采用4位二进制码对每个十进制数位进行编码.4位二进制码有1 6 种不同的组合,从中选出1 0 种来表示十进制数位的09
23、,用0 0 0 0,0 0 0 1,-,1 0 0 1 分别表示0,1,-,9,每个数位内部满足二进制规则,而数位之间满足十进制规则,故称这种编码为“以二进制编码的十进制(b i n a r y c o d e d d e c i m a l,简称B C D)码”.在计算机内部实现B C D 码算术运算,要对运算结果进行修正,对加法运算的修正规则是:如果两个一位B C D 码相加之和小于或等于(1 0 0 1)2,即(9)1 0,不需要修正;如相加之和大于或等于(1 0 1 0)2,或者产生进位,要进行加6 修正,如果有进位,要向高位进位.4.字符与字符串在计算机中要对字符进行识别和处理,必须
24、通过编码的方法,按照一定的规则将字符用一组二进制数编码表示.字符的编码方式有多种,常见的编码有A S C I I 码,E B C D I C 码等.D A S C I I 码(A m e r i c a n S t a n d a r d C o d e f o r I n f o r m a t i o n I n t e r c h a n g e 美国信息交换标准码)A S C I I 码 用 7位二进制表示一个字符,总 共 1 2 8 个字符元素,包 括 1 0 个十进制数字(0-9),5 2 个英文字母(A-Z和 a-z),3 4专用符号和3 2 控制符号.2)E B C D I C
25、 码为 E x t e n d e d B i n a r y C o d e d D e c i m a l I n t e r c h a n g e C o d e 的简称,它采用 8 位来表示,个字符.3)字符串的存放向量存储法:字符串存储时,字符串中的所有元素在物理上是邻接的.串表存储法:字符串的每个字符代码后面设置一个链接字,用于指出下一个字符的存储单元的地址.5.校验码 C h e c k D i g i t数据校验码是一种常用的带有发现某些错误或自动改错能力的数据编码方法.其实现原理,是加进一些冗余码,使合法数据编码出现某些错误时,就成为非法编码.这样,可以通过检测编码的合法性
26、来达到发现错误的目的.合理地安排非法编码数量和编码规则,可以提高发现错误的能力,或达到自动改正错误的目的.码距:码距根据任意两个合法码之间至少有几个二进制位不相同而确定的,仅有一位不同,称其码距为1.1)奇偶校验码(P ar i t y B i t)WI K I(开销最小,能发现数据代码中一位出错情况的编码,常用于存储器读写检查或A S C I I字符或其它类型的信息传输的检查)P 2 1 6它的实现原理,是使码距由1 增加到2.若编码中有1 位二进制数出错了,即由1 变成0,或者由0变 成 1.这样出错的编码就成为非法编码,就可以知道出现了错误.在原有的编码之上再增加位校验位,原编码用立,形
27、成新的编码为n+1 位.增加的方法有2种:奇校验:增加位的0或 1 要保证整个编码中1 的个数为奇数个.偶校验:增加位的0或 1 要保证整个编码中1 的个数为偶数个.2)海明校验码(H am m i n g C o de)P I 0 0实现原理,在数据中加入几个校验位,并把数据的每一个二进制位分配在几个奇偶校验组中.当某一位出错就会引起有关的几个校验组的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为自动纠错提供了依据.假设校验位的个数为r,则它能表示2 r 个信息,用其中的一个信息指出“没有错误”,其余2 匚1 个信息指出错误发生在哪位.然而借误也可能发生在校验位,因此只有k=2r-
28、l-r 个信息能用于纠正被传送数据的位数,也就是说要满足关系:2ri k+r+l3)C R C 校验码(C y c I i c R edu n dan cy C heck 循环冗余校验)P 1 4 4C R C 校验码一般是指k 位信息之后拼接r 位校验码.关键问题是如何从k 位信息方便地得到r位校验码,以如何从位k+r 信息码判断是否出错.将带编码的k位有效信息位组表达为多项式:M g =C iX*-:+Jx*+Jx:+C 0式 C i 中为0或 1.若将信息位左移r位,则可表示为多项式M(x).x r.这样就可以空出r 位,以便拼接r位校验位.C R C 码是用多项式M(x).x r 除以
29、生成多项式G(x)所得的余数作为校验码的.为了得到r位余数,G(x)必须是r+1 位.设所得的余数表达式为R(x),商为Q(x).将余数拼接在信息位组左移r位空出的r位上,就构成了 C R C 码,这个码的可用多项式表达为:M(x)xr+R(x)=Q(x)G(x)+R(x)+R(x)=Q(x)G(x)+R(x)+R(x)=Q (x)G (x)因此,所得C R C 码可被G(x)表示的数码除尽.将收到的C R C 码用约定的生成多项式G(x)去除,如果无错,余数应为0,有某位出错,余数不为0.(-)定点数的表示和运算1.定点数的表示1)无符号数的表示无符号数就是指正整数,机器字长的全部位数均用来
30、衣示数值的大小,相当于数的绝对值.对于字长为n+1 位的无符号数的表示范围为:2)带符号数的表示(真值范围-n T 2 n)带符号数是指在计算机中将数的符号数码化.在计算机中,一般规定二进制的最高位为符号位,最高位为“0”表示该数为正,为“1”表示该数为负.这种在机器中使用符号位也被数码化的数称为机器数.根据符号位和数值位的编码方法不同,机器数分为原码,补码和反码.(1)原码表示法机器数的最高位为符号位,0表示正数,1 表示负数,数值跟随其后,并以绝对值形式给出.这是与真值最接近的一种表示形式.原码的定义:fx1-X=l+lxt;-1 x2 0岗品 0 S x-2n同 0,X 20 X30(m
31、 o d 2n+1)t 0,x 工之。的我t e a0*,1 +X Q 2*X -2 0(m o d(2。*=-1)小数向叱,u(m o d 2)L 同宗-1(2-2-)+x 0 x 2-l(m o d(2-2 rn)01+0 a=0.0000s:|-Q S=1.0000+0s,=-0 ,=0.0000+用 5 r s c o。*-o x=i.mi负数原码求反+1负数每位求反移码 M=2 0-t-x C 2=x 2-2n)移码表示中零也是唯的真值的移码和补码仅差一个符号位.若将补码的符号位由0 改为1 或从1 改为0 即可得到真值的移码乘法运算可用移码和加法来实现,两个n 位数相乘,总共要进行
32、n次加法运算和n次移位运算2.浮点数的表示1)浮点数的表示范围;浮点数是指小数点位置可浮劭的数据,通常以下式表示:N=MXRE其中,N 为浮点数,M(M a n t is s a)为尾数(可正可负),E(Exp o n e n t)为阶码(可正可负),R(R a d ix)称为”阶的基数(底)”,而且R为一常数,一般为2,8 或 1 6.在一台计算机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来.因此,浮点数的机内表示般采用以下形式:浮点数的机内表示一般采用以下形式:M s E M1 位 n+1 位 m 位M s 是尾数的符号位,设置在最高位上.E 为阶码(移码),有 n+1 位,
33、一般为整数,其中有一位符号位,设置在E 的最高位上,用来表正阶或负阶.M为尾数(原码),有 m 位,由M s 和 M 组成个定点小数.M s=0,表示正号,M s=l,表示负.为了保证数据精度属数通常用规格化形式表示:当R=2,且尾数值不为0 时,其绝对值大于或等于(0.5)1 0.对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求.-/-*1川川2 d L 3VSf-S-S岛汇阶 阶西的符 数值部分数符尾薪的数值部分小数点位置浮点数的表示范围以通式N=MXRE设浮点数阶码的数值位取m 位,尾数的数值位取n 位负数区下溢1正敷区 0 1i-产52-*2如/f(卜2,浮点数在
34、数轴上的表示范圉2)I E E E 75 4 标准(I n s t it u t e o f E le c t r ic al an d E le c t r o n ic s E n g in e e r s 美国电气和电子工程协会)阶码(含阶符)1 数符 小数点位置根据I E E E 75 4 国际标准,常用的浮点数有三种格式:符号位5 阶码尾数总位数短实数182332长实数1115 26 4临时实数1156 480单精度格式32位,阶码为8 位,尾数为23位.另有一位符号位S,处在最高位.由于I E E E 75 4 标准约定在小数点左部有位隐含位,从而实际有效位数为24 位.这样使得尾
35、数的有效值变为1.M.例如,最小为x l.0-0,最大为x l.1-1.规格化表示.故小数点左边的位横为1,可省去.阶码部分采用移码表示,移码值127,1到25 4 经移码为-126 至 忏 127.S(1 位)E(8 位)M(23 位)N (共 32位)符号位000符号位0不等于0(-D S 2-126 (0.M)为非规格化数符号位1到 25 4 之间-(-D S -2E-127 (1.M)为规格化数0有了精确的表示,无穷大也明确表示.对于绝对值较小的数,可以采用非规格化数表示,减少下溢精度损失.非规格化数的隐含位是0,不 是1.符号位255不等于0NaN(非数值)符号位2550无穷大(三)
36、指令系统人们习惯把每一条机器语言的语句称为机器指令,而又将全部机器指令的集合称为机器的指令系统指令的执行过程厂 读 取 指 令指令地址(在PC中)送到地址寄存器*”读主存,读出内容(指令代码)送入指令寄存器IR分,指令 形成下一条指令的地址并送到PC中执行指令|用一到几个执行步骤,完成指令的运算、操作功能,vr不同的指令操作步骤和具体运算、操作功能各不相同 减产有无中断请求_无中断请求、进入下一条指令的执行过程_(-)指令格式1.指令的基本格式操 作 码 字 段地址码字段 操 作 码 反映机器做什么操作(1)长度固定 用于指令字长较长的情 况,RISC 如 IBM 3 7 0 操作码8 位(2
37、)长 度 可 变 操作码分散在指令字的不同字段中计算机是通过执行指令来处理各种数据的.为了指出数据的来源,操作结果的去向及所执行的操作,条指令必须包含下列信息:(1)操作码,具体说明了操作的性质及功能.(2)操作数的地址.(3)操作结果的存储地址.(4)下一条指令的地址.从上述分析可知,一条指令实际上包括两种信息即操作码和地址码.操作码(operation code)用来表示该指令所要完成的操作(如加,减,乘,除,数据传送等),其长度取决于指令系统中的指令条数.如操作码占7位,则该机器最多包含27=128条指令.地址码用来描述该指令的操作对象,或直接给出操作数或指出操作数的存储器地址或寄存器地
38、址(即寄存器名).操作码的长度不固定会增加指令译码和分析难度,使控制器的设计复杂.操 作 码|寻址地址|形 式 地*形式地址指令字中的地址有效地址操作数的真实地址约定指令字长=存储字长=机器字长2.定长操作码指令格式1)零地址指令格式:|0P0P操作码指令中只有操作码,而没有操作数或没有操作数地址.这种指令有两种可能:(1)无需任何操作数,如空操作指令,停机指令等.(2)所需的操作数是默认的.如堆栈结构计算机的运算指令,所需的操作数默认在堆栈中,由堆栈指针SP隐含指出,操作结果仍然放回堆栈中.又如In te l 8086的字符串处理指令,源,目的操作数分别默认在源变址寄存器S I和目的变址寄存
39、器D I所指定的存储器单元中.2)一地址指令格式:8 24OP|%|2 次访存(ACC)OP(A,)一ACC 寻址范围 22,=16 MOP操作码A操作数的存储器地址或寄存器名指令中只给出一个地址,该地址既是操作数的地址,又是操作结果的存储地址.如加1,减1和移位等单操作数指令均采用这种格式,对这 地址所指定的操作数执行相应的操作后,产生的结果乂存回该地址中.在某些字长较短的微型机中(如早期的Z80,Intel8080,MC6800等),大多数算术逻辑指令也采用这种格式,第个源操作数由地址码A给出,第二个源操作数在一个默认的寄存器中,运算结果仍送回到这个寄存器中,替换了原寄存器内容,通常把这个
40、寄存器称累加器.3)二地址指令格式:8 12 12|OP|A 1|A.(ADOP(A。一 A】4 次访存或(Ai)OP(A。-A2 寻址范围”=4 K若结果存于ACC 3次 访 存 若ACC代替Ai(或A?)0P操作码A1第个源操作数的存储器地址或寄存器地址.A2第二个源操作数和存放操作结果的存储器地址或寄存器地址.这是最常见的指令格式,两个地址指出两个源操作数地址,其中一个还是存放结果的目的地址.对两个源操作数进行操作码所规定的操作后,将结果存入目的地址,在本例中即为A2指定的地址4)三地址指令格式:8 8 3 8 4 次访存OP|岗|A2 1 A3|寻址范围 2,=256(A!)OP(A2
41、)一A3 若 A3 用 AJ 或 A2代替0P操作码Ai第一个源操作数的存储器地址或寄存器地址A2第二个源操作数的存储器地址或寄存器地址A3操作结果的存储器地址或寄存器地址其操作是对Al,A2指出的两个源操作数进行操作码(0P)所指定的操作,结果存入A3中.5)四地址8 6 6 66OP A l A2 A3A 4 设 指 令 字 长 为3 2位A|第一操作数地址操 作 码 固 定 为8位A?第二操作数地址4次访存A3结果的地址A下一条指令地址寻 址 范 围2*=64(A D OPC A z)-k 若P C代 替 人6)多地址指令在某些性能较好的大,中型机甚至高档小型机中,往往设置一些功能很强的
42、,用于处理成批数据的指令,如字符串处理指令,向量,矩阵运算指令等.为了描述 批数据,指令中需要多个地址来指出数据存放的首地址,长度和下标等信息3.扩展操作码指令格式设某机器的指令长度为16位,包 括4位基本操作码字段和三个4位地址字段,其格式下:0P(4)Ai(4)A2(4)A3(4)4位基本操作码有16个码点(即有16种组合),若全部用于表示三地址指令,则只有16条.但“若三地址指令仅需15条,两地址指令需15条,一地址指令需15条,零地址指令需16条,共61条指令,应如何安排操作码?显然,只有4位基本操作码是不够的,必须将操作码的长度向地址码字段扩展才行.一种可供扩展的方法和步骤如下:(1
43、)15条三地址指令的操作码由4位基本操作码从00001110给出,剩下一个码点1111用于把操作码扩展到A1,即4位扩 展 到8位;(2)15条二地址指令的操作 码 由8位操作码从11110000-11111110给出,剩下一个 码 点11111111用于把操作码扩展到A2,即 从8位 扩 展 到12位;(3)1 5条 一 地 址 指 令 的 操 作 码 由1 2位 操 作 码 从111111110000-111111111110给 出,剩卜.的一个码点1 1 1 m lm 1用于把操作码扩展到A3,即 从12位 扩 展 到16位;(4)16条零地址指令的操作码由16位操作码从iin n n
44、n n o o o oi n i n n u i u n i给出.指令字长取决于操作码的长度、操作数地址的长度和操作数地址的个数.为了提高指令的运彳亍速度和节省存储空间,通常尽可能的吧常用的指令(如数据传输指令、算逻运算指令等)设计成单字长或短字长格式的指令.操作码的长度 1.指 令 字 长 固 定指令字长决定于,操 作 数 械 的 长 度 指 令 字 长=存 储 字 长出*,5 2 6 6 7,2.指令字长 可 变操 作 数 域 的 镌 按字节的倍数变化小结当指令的地址字段为寄存器时三地址 OP R|,R2,R,A当用一些硬件资源代替指令字中的地址码字段后 一地址 o p Ri&可扩大指令的
45、寻址范围 一 地 址o p ;可缩短指令字长可缩短指令字长可减少访存次数指令执行阶段不访存操 作 类 型1.数 据 传 送源 寄存器寄存器存储器 存储器目的 寄存器存储器寄存器 存储器例如 MOVESTORELOAD MOVEMOVEMOVE置 T,清2.算 术 逻 辑 操 作PUSHPOP加、减、乘、除、增1、减1、求补、浮点运算、十进制运算、与、或、非、异或、位操作、位测试、位清除、位求反3.移 位 操 作算术移位逻辑移位4.转 移(1)无条件转移JMP结 果 为 零 转(Z=l)J Z如 但 驾 书J结 果 溢 出 转(0 =1)JO T /结果有进位转(C=l)J CSO S SKPD
46、Z 1 =。则 以循环移位(带进位和不带进位)(2)条件转移跳过一条指令SKP 匚330076操作数类型班止地址实际也可以看做是一种数据,在许多情况下要计算操作数的地址.这时地址可看作无符号的整数数字计算机中常见的数字有定点数、浮点数和十进制数字字符在应用计算机时,文本或者字符串也是一种常见的数据类型逻辑物居计算机除了做算术运算外,有时还做逻辑运算,此时n个0和1的组合不是被看做算术数字而被看做逻辑数奔腾P entium处理器的数据类型有逻辑数、有符号数(补码)、无符号数、压缩和未压缩的BCD码、地址指针、位串以及浮点数(符 合IEEE754标准)等(二)指令的寻址方式1.有效地址的概念操作数
47、的真实地址称为有效地址,记做EA,它是寻址方式和形式地址共同来决定的.2.数据寻址和指令寻址指令操作类型1 .数据传送数据传送包括寄存器与寄存器,寄存器与存储单元,存储单元与存储单元之间的传送2.算术逻辑操作这操作可实现算术运算(加,减,乘,除,增1 ,减1.取负即求补)逻辑运算(与,或,非,异或)3.移位移位可分为算术移位,逻辑移位和循环移位三种4.转移无条件转移不受任何约束条件直接把程序转移到下一条需执行指令的地址条件转移根据当前指令的执行结果决定是否需要转移调用与返回 子程序可在多处被调用 子程序调用可出现在子程序中,即允许子程序嵌套 每个CALL指令都对应一条RETURN指令CPU必须
48、记住返回地址,使子程序能准确返回,返回地址存放在以下3处 寄存器内.机器内设有专用寄存器,专用于存放返回地址 子程序的入口地址内 栈顶内.现代计算机都设有堆栈,执 行RETURN指令后,便可自动从堆栈内取出应返回的地址陷 阱(Trap)与陷阱指令其实是一种意外事故的中断.一般不提供给用户使用,作为隐指令,再出现故障时,由CPU自动产生并执行5.输入输出对 于I/O单独编址的计算机而言,通常设有输入输出指令,他完成从外设中的寄存器读入一个数据到CPU寄存器内,或将数据从CPU的寄存器输出至某外设的寄存器中6.其它包括等待指令、停机指令、空操作指令、开中断指令、关中断指令、置条件码指令等备注有些大
49、型或巨型机还设有向量指令,可对整个向量或矩阵进行求和求积运算寻址方式是指确定本条指令的数据地址以及下条将要执行的指令的地址,与硬件结构密切相关,寻址方式分为指令寻址和数据寻址两大类指令寻址分为顺序寻址和跳跃寻址两种.顺序寻址可以通过程序计数器PC加1自动形成下一条指令的地址,跳跃寻址则通过转移类指令实现,是通过对PC的运算得到新的下条指令的地址.3.常见寻址方式1)立即寻址所需的操作数由指令的地址码部分直接给此就称为立即数(或直接数)寻址方式.这种方式的特点是取指时,操作码和个操作数同时被取出,不必再次访问存储器,提高了指令的执行速度.但是由于这操作数是指令的部分,不能修改,而一般情况下,指令
50、所处理的数据都是在不断变化的(如上条指令的执行结果作为下条指令的操作数),故这种方式只能适用于操作数固定的情况.通常用于给某寄存器或存储器单元赋初值或提供一个常数等.(图 中“#”表示立即寻址的标记,A的位数限制了这类指令所能表述的立即数的范围)立即寻址特征|OP|-A-V-立 即 数 可 正 可 负 补码立即寻址示意图2)直接寻址指令的地址码部分给出操作数在存储器中的地址.3)隐含寻址操作数的地址隐含在操作码或者某个寄存器中.另一个操作数捌含在ACC中4)间接寻址在寻址时,有时根据指令的地址码所取出的内容既不是操作数,也不是下一条要执行的指令,而是操作数的地址或指令的地址,这种方式称为间接寻