《chap计算机组成原理.pptx》由会员分享,可在线阅读,更多相关《chap计算机组成原理.pptx(110页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、会计学1chap计算机组成计算机组成(z chn)原理原理PPT课件课件第一页,共110页。2【学习指南学习指南】主要内容:主要内容:处理器处理器=中央处理器(中央处理器(Central Central Processing UnitProcessing Unit)=CPU=CPU处理器是计算机的核心部件。处理器是计算机的核心部件。处理器的工作原理和设计方法。处理器的工作原理和设计方法。处理器由运算器和控制器组成。处理器由运算器和控制器组成。掌握掌握(zhngw)(zhngw)控制器的工作原理控制器的工作原理是本章的难点。是本章的难点。从结构和设计方法上看控制器可从结构和设计方法上看控制器可以
2、分为硬连线控制器和微程序以分为硬连线控制器和微程序控制器两大类。控制器两大类。结合结合EDAEDA工具学习工具学习CPUCPU的设计。的设计。第1页/共110页第二页,共110页。3什么是什么是CPUCPU?所所谓谓中中央央处处理理器器是是控控制制计计算算机机来来自自动动完完成成取取出出指指令令和和执执行行指指令令任任务务的的部部件件(bjin)(bjin)。它它是是计计算算机机的的核核心心部部件件(bjin)(bjin),通常简称为,通常简称为CPUCPU。CPUCPU的基本组成的基本组成:控制器控制器运算器运算器第2页/共110页第三页,共110页。44.1 4.1 处理器的工作处理器的工
3、作(gngzu)(gngzu)过程简介过程简介n计算机的数据和程序存储于硬盘。计算机的数据和程序存储于硬盘。n程序是指令的有序集合。程序是指令的有序集合。n程序在执行之前需事先将其调入内存。程序在执行之前需事先将其调入内存。nCPUCPU从内存里取出指令和数据,并根据指令的要求从内存里取出指令和数据,并根据指令的要求(yoqi)(yoqi)对数据进行加工(计算)。对数据进行加工(计算)。n指令的执行过程:分为取指令和执行指令指令的执行过程:分为取指令和执行指令2 2个步骤。个步骤。n处理器从内存中取出一条指令,执行该指令,处理器从内存中取出一条指令,执行该指令,n然后再取下一条指令,如此循环反
4、复,执行整个程序。然后再取下一条指令,如此循环反复,执行整个程序。第3页/共110页第四页,共110页。5第4页/共110页第五页,共110页。64.1 4.1 处理器的工作过程处理器的工作过程(guchng)(guchng)简介简介n指令执行过程的详细示意图:(假定程序和数据已经放指令执行过程的详细示意图:(假定程序和数据已经放在内存中):在内存中):n根据程序计数器根据程序计数器PCPC的内容从内存中取出一条指令,放置的内容从内存中取出一条指令,放置于指令寄存器于指令寄存器IRIR中;中;n分析分析IRIR中的操作码,决定应执行的操作;中的操作码,决定应执行的操作;n根据根据IRIR的地址
5、码取出参加运算的操作数;的地址码取出参加运算的操作数;n对操作数进行运算;对操作数进行运算;n根据根据IRIR的地址码把运算结果存入指定地址;的地址码把运算结果存入指定地址;n本条本条(bn tio)(bn tio)指令执行完毕,修改指令执行完毕,修改PCPC内容决定下一条内容决定下一条指令所在的地址。指令所在的地址。第5页/共110页第六页,共110页。7绿色部分绿色部分(b fen)的工作在的工作在CPU中完成中完成第6页/共110页第七页,共110页。84.1 4.1 处理器的工作处理器的工作(gngzu)(gngzu)过程简介过程简介从处理器的角度考虑,为什么必须从处理器的角度考虑,为
6、什么必须(bx)(bx)要区分数据和指令?要区分数据和指令?因为二者的信息性质不同,需要处理器用不同的部件作完全不同的处因为二者的信息性质不同,需要处理器用不同的部件作完全不同的处理。数据需要运算器作算术逻辑运算,而指令需要控制器对其理。数据需要运算器作算术逻辑运算,而指令需要控制器对其进行理解并生成相应控制命令加以执行。进行理解并生成相应控制命令加以执行。如何区分内存中某个单元的内容是数据还是指令呢?在形式上二者都如何区分内存中某个单元的内容是数据还是指令呢?在形式上二者都是二进制位串。是二进制位串。从时间上区分,处理器在取指令周期从内存读出来的就是指令,而在从时间上区分,处理器在取指令周期
7、从内存读出来的就是指令,而在执行指令周期从内存读写的就是数据。执行指令周期从内存读写的就是数据。第7页/共110页第八页,共110页。94.1 4.1 处理器的工作过程处理器的工作过程(guchng)(guchng)简介简介n处理器支持的全部指令集构成处理器支持的全部指令集构成(guchng)(guchng)该处理器的指该处理器的指令系统。令系统。n指令系统的指令格式、指令种类和指令数量反映了处理指令系统的指令格式、指令种类和指令数量反映了处理器功能的强弱。器功能的强弱。n理论上看,处理器功能越强,完成同样任务的程序就会理论上看,处理器功能越强,完成同样任务的程序就会越短,求解问题的速度就越快
8、。越短,求解问题的速度就越快。第8页/共110页第九页,共110页。104.1 4.1 处理器的工作处理器的工作(gngzu)(gngzu)过程简介过程简介n指令系统越复杂,为软件提供的支持更多。指令系统越复杂,为软件提供的支持更多。n但是,实验表明,程序具有自身的特点。但是,实验表明,程序具有自身的特点。n程序局部性原理:只有程序局部性原理:只有80%80%的指令会经常用到,而另外的指令会经常用到,而另外20%20%几乎是摆设。几乎是摆设。n精心挑选最常使用精心挑选最常使用(shyng)(shyng)的指令组成指令集而加以的指令组成指令集而加以实现则成为精简指令系统实现则成为精简指令系统RI
9、SCRISC,与之对立的指令集设计,与之对立的指令集设计风格为复杂指令系统风格为复杂指令系统CISCCISC。第9页/共110页第十页,共110页。114.1 4.1 处理器的工作处理器的工作(gngzu)(gngzu)过程简介过程简介n计算机的运算速度可以用每秒钟可以执行多少计算机的运算速度可以用每秒钟可以执行多少(dusho)(dusho)条指令即条指令即MIPSMIPS表示。提高计算机速度有以下表示。提高计算机速度有以下途径:途径:n提高集成电路工艺水平,缩短延迟时间,提高时钟频率。提高集成电路工艺水平,缩短延迟时间,提高时钟频率。n改进设计(包括采用流水线和并行处理技术),提高单改进设
10、计(包括采用流水线和并行处理技术),提高单个处理器的运算速度。个处理器的运算速度。n使用多个处理器并行工作,提高整个计算机的运算速度使用多个处理器并行工作,提高整个计算机的运算速度如我国的高性能计算机天河一号。如我国的高性能计算机天河一号。第10页/共110页第十一页,共110页。124.2 4.2 数据数据(shj)(shj)在内存中与在处理器中的表在内存中与在处理器中的表示方式示方式n内存单元以字节内存单元以字节(z ji)(z ji)(8 8位)为单位。位)为单位。n处理器的字长一般为处理器的字长一般为1616位、位、3232位或位或6464位,是字节位,是字节(z(z ji)ji)的整
11、数倍,是运算器一次能够处理的二进制位数。的整数倍,是运算器一次能够处理的二进制位数。第11页/共110页第十二页,共110页。134.3 4.3 指令指令(zhlng)(zhlng)格式(机器码格式)格式(机器码格式)n指令由操作码和地址码组成,包含了汇编程序员指令由操作码和地址码组成,包含了汇编程序员要求处理器完成特定任务所需的全部信息,即加要求处理器完成特定任务所需的全部信息,即加工的数据是什么以及如何加工。指令(字)长度工的数据是什么以及如何加工。指令(字)长度是字节的整数倍。是字节的整数倍。n操作码指明操作码指明(zhmng)(zhmng)指令执行什么操作,例如指令执行什么操作,例如加
12、、减、乘、除四则运算或读加、减、乘、除四则运算或读/写内存或读写内存或读/写外写外设等。设等。n地址码指明地址码指明(zhmng)(zhmng)操作数的来源(源地址)操作数的来源(源地址)与运算结果的去向(目的地址),通常由若干部与运算结果的去向(目的地址),通常由若干部分组成。分组成。第12页/共110页第十三页,共110页。144.3 4.3 指令指令(zhlng)(zhlng)格式(机器码格式)格式(机器码格式)4.3.1 操作码:操作码:定长操作码:操作码长度固定。例如操作码长度定长操作码:操作码长度固定。例如操作码长度8位,则最多可以表示位,则最多可以表示28=256条指令。这种规整
13、的安排方式有利于简化硬件设计,是一种条指令。这种规整的安排方式有利于简化硬件设计,是一种常规的做法。常规的做法。变长操作码:操作码长度不固定。指令字中某些位在不同的指令中扮演不同变长操作码:操作码长度不固定。指令字中某些位在不同的指令中扮演不同的角色,有时是操作码的一部分,有时是地址码的一部分。的角色,有时是操作码的一部分,有时是地址码的一部分。操作码指明操作码指明(zhmng)操作类型,将其施加于操作数之上。常用的数据类型操作类型,将其施加于操作数之上。常用的数据类型有:有:整数和浮点数整数和浮点数位串(位串(Bit String)字符(字符(Character)字符串(字符串(Charac
14、ter String)第13页/共110页第十四页,共110页。154.3 4.3 指令指令(zhlng)(zhlng)格式(机器码格式)格式(机器码格式)n不同类型数据的操作应当使用不同的操作码,例如整数不同类型数据的操作应当使用不同的操作码,例如整数(zhngsh)(zhngsh)加法指令和浮点数加法指令应当使用不同的操作码,加法指令和浮点数加法指令应当使用不同的操作码,应视为不同的指令。应视为不同的指令。n不同寻址方式的操作应当视为不同的指令。不同寻址方式的操作应当视为不同的指令。第14页/共110页第十五页,共110页。164.3 4.3 指令指令(zhlng)(zhlng)格式(机器
15、码格式)格式(机器码格式)n按照功能分类,指令可分为:按照功能分类,指令可分为:n算术与逻辑运算类指令:算术运算指令包括对整数以及浮点数的四算术与逻辑运算类指令:算术运算指令包括对整数以及浮点数的四则运算;逻辑运算则是对位串类型的操作数进行逻辑操作。则运算;逻辑运算则是对位串类型的操作数进行逻辑操作。n移位操作类指令:包括算术移位、逻辑移位和循环移位等。逻辑移移位操作类指令:包括算术移位、逻辑移位和循环移位等。逻辑移位和循环移位的对象是位串,而算术移位的对象则是数据(补码形位和循环移位的对象是位串,而算术移位的对象则是数据(补码形式的定点小数或整数)。算术左移可能发生式的定点小数或整数)。算术
16、左移可能发生“溢出溢出”,算术右移,算术右移(yu y)(yu y)必须保持符号位不变。必须保持符号位不变。n数据传送类指令:在通用寄存器之间、通用寄存器与内存单元之间、数据传送类指令:在通用寄存器之间、通用寄存器与内存单元之间、通用寄存器与外围设备(接口)之间、内存与外围设备之间的数据通用寄存器与外围设备(接口)之间、内存与外围设备之间的数据传送。传送。n输入输入/输出指令:与外围设备交换数据的指令。输出指令:与外围设备交换数据的指令。第15页/共110页第十六页,共110页。17第16页/共110页第十七页,共110页。184.3 4.3 指令指令(zhlng)(zhlng)格式(机器码格
17、式)格式(机器码格式)n转移类指令:改变指令执行顺序的指令。包括:转移类指令:改变指令执行顺序的指令。包括:n无条件转移指令无条件转移指令n条件转移指令条件转移指令n子程序调用与返回指令子程序调用与返回指令n特权指令:仅供系统软件特权指令:仅供系统软件(x tn run jin)(x tn run jin)使用,不提供给普通用户使用。一般在多用户、使用,不提供给普通用户使用。一般在多用户、多任务的计算机系统中使用,主要用于系统资源多任务的计算机系统中使用,主要用于系统资源的分配与管理,包括改变系统的工作方式、检测的分配与管理,包括改变系统的工作方式、检测用户的访问权限、修改虚拟存储器的段表、页
18、表用户的访问权限、修改虚拟存储器的段表、页表和完成任务的创建和切换等。和完成任务的创建和切换等。n其他:例如空操作指令、开中断(其他:例如空操作指令、开中断(CPUCPU受理中断受理中断请求)、关中断(请求)、关中断(CPUCPU不受理中断请求)指令等。不受理中断请求)指令等。第17页/共110页第十八页,共110页。194.3 4.3 指令指令(zhlng)(zhlng)格式(机器码格式)格式(机器码格式)nOPOP:操作码:操作码nA3A3:目的地址:目的地址nA1A1:第:第1 1操作数地址,(操作数地址,(A1A1)代表)代表A1A1的内容的内容(nirng)(nirng),即第,即第
19、1 1操作数。操作数。nA2A2:代表第代表第2 2操作数地址,(操作数地址,(A2A2)代表第)代表第2 2操作数。操作数。n地址可以是内存地址,外围设备接口中某个寄存器的地址,也可以是处理器中地址可以是内存地址,外围设备接口中某个寄存器的地址,也可以是处理器中通用寄存器的地址,由操作码指明。通用寄存器的地址,由操作码指明。4.3.2 地址地址(dzh)码:码:地址地址(dzh)码指明操作数的来源(源地址码指明操作数的来源(源地址(dzh))与运算结果的去向(目的地址)与运算结果的去向(目的地址(dzh))按地址按地址(dzh)部分的多少可以将指令分为:部分的多少可以将指令分为:3地址地址(
20、dzh)指令:指令:第18页/共110页第十九页,共110页。204.3 4.3 指令指令(zhlng)(zhlng)格式(机器码格式)格式(机器码格式)4.3.2 地址码:地址码:按地址部分的多少按地址部分的多少(dusho)可以将指令分为:可以将指令分为:2地址指令:地址指令:1 1 地址地址(dzh)(dzh)指令:指令:第19页/共110页第二十页,共110页。214.3 4.3 指令指令(zhlng)(zhlng)格式(机器码格式)格式(机器码格式)4.3.2 地址码:地址码:按地址部分的多少可以将指令按地址部分的多少可以将指令(zhlng)分为:分为:0 地址指令地址指令(zhln
21、g):某些指令不涉及操作数,因而不需要地址码。某些指令的操作数已经被操作码预先指定(隐含),因而也不需要地址码。某些指令不涉及操作数,因而不需要地址码。某些指令的操作数已经被操作码预先指定(隐含),因而也不需要地址码。地址码越多,指令越灵活地址码越多,指令越灵活(ln hu)(ln hu),但耗费资源也越大。通用寄存器速度快,而其容量远小于内存,所需地址码较短,有利于缩短指令字长度。当前的处理器中一般都配置有相当数量的通用寄存器。,但耗费资源也越大。通用寄存器速度快,而其容量远小于内存,所需地址码较短,有利于缩短指令字长度。当前的处理器中一般都配置有相当数量的通用寄存器。第20页/共110页第
22、二十一页,共110页。224.4 4.4 寻址(编址)方式寻址(编址)方式(fngsh)(fngsh)寻址就是形成操作数的地址以及指令的地址。寻址就是形成操作数的地址以及指令的地址。处理器从内存中取出指令之后,需要根据指令中的地址码取数据。为了给软件提供更多的支持,处理器从内存中取出指令之后,需要根据指令中的地址码取数据。为了给软件提供更多的支持,形成数据地址的方式有许多种。形成数据地址的方式有许多种。处理器从内存读取指令的时候处理器从内存读取指令的时候(sh hou)(sh hou)需要向内存发送指令的地址如何形成指令地址也有多需要向内存发送指令的地址如何形成指令地址也有多种方式。种方式。存
23、放将要读取指令的内存地址的寄存器称为程序计数器(存放将要读取指令的内存地址的寄存器称为程序计数器(Program CounterProgram Counter,PCPC)。)。指令的执行顺序通常是顺序执行,所以指令的执行顺序通常是顺序执行,所以PCPC通常表现为一个计数器;遇到转移指令的时候通常表现为一个计数器;遇到转移指令的时候(sh(sh hou)hou)则需要改变指令的执行顺序,这时则需要改变指令的执行顺序,这时PCPC应能接受一个新的指令地址。应能接受一个新的指令地址。第21页/共110页第二十二页,共110页。234.4 4.4 寻址(编址)方式寻址(编址)方式(fngsh)(fng
24、sh)4.4.1 4.4.1 基本寻址方式概述基本寻址方式概述形式地址:指令字中的地址码。形式地址:指令字中的地址码。物理地址(有效地址):最终形成的、发送给内存的、地址总线上物理地址(有效地址):最终形成的、发送给内存的、地址总线上的地址。的地址。寻址方式:如何寻址方式:如何(rh)(rh)由形式地址形成有效地址。由形式地址形成有效地址。不同的处理器能够支持的寻址方式不同。不同的处理器能够支持的寻址方式不同。指令字中应该有一个字段用以指明指令的寻址方式,寻址方式不同指令字中应该有一个字段用以指明指令的寻址方式,寻址方式不同意味着处理器对地址码的理解不同,有时被归入操作码字段。意味着处理器对地
25、址码的理解不同,有时被归入操作码字段。如果处理器的寻址方式有如果处理器的寻址方式有8 8种,则其指令字中应当包含种,则其指令字中应当包含3 3位的位的寻址方式字段。寻址方式字段。第22页/共110页第二十三页,共110页。244.4 4.4 寻址(编址)方式寻址(编址)方式(fngsh)(fngsh)4.4.1 4.4.1 基本寻址方式概述基本寻址方式概述直接寻址方式:对指令字中的地址码不作任何变换直接寻址方式:对指令字中的地址码不作任何变换(binhun)(binhun),有效地址,有效地址和形式地址相同。和形式地址相同。第23页/共110页第二十四页,共110页。254.4 4.4 寻址(
26、编址)方式寻址(编址)方式(fngsh)(fngsh)4.4.1 4.4.1 基本寻址方式概述基本寻址方式概述寄存器寻址方式:属于直接寻址,但地址码寄存器寻址方式:属于直接寻址,但地址码A A不是内存地址而是不是内存地址而是处理器中通用寄存器的地址。处理器中通用寄存器的地址。基地址寻址方式:有效地址为形式地址与基地址内容的和。基地址寻址方式:有效地址为形式地址与基地址内容的和。基地址寄存器是处理器中一个特定的寄存器,其内容只能由系基地址寄存器是处理器中一个特定的寄存器,其内容只能由系统程序设定,由特权指令执行,以保证系统的安全。统程序设定,由特权指令执行,以保证系统的安全。用途在于为程序或数据
27、分配存储区,此时基地址为该存储区的用途在于为程序或数据分配存储区,此时基地址为该存储区的首地址,而形式地址则是相对首地址,而形式地址则是相对(xingdu)(xingdu)于首地址的偏于首地址的偏移量。例如,假如某处理器可以执行多道程序,为了避免移量。例如,假如某处理器可以执行多道程序,为了避免在使用内存空间时可能发生的冲突,每道程序所用空间只在使用内存空间时可能发生的冲突,每道程序所用空间只能由系统程序来分配,基地址寻址方式给系统程序分配存能由系统程序来分配,基地址寻址方式给系统程序分配存储空间提供了硬件支持。储空间提供了硬件支持。第24页/共110页第二十五页,共110页。26内容内容(n
28、irng)由系统程序指定由系统程序指定第25页/共110页第二十六页,共110页。274.4 4.4 寻址(编址)方式寻址(编址)方式(fngsh)(fngsh)4.4.1 4.4.1 基本寻址方式概述基本寻址方式概述变址寻址方式:有效地址为形式地址与变址寄存器的和。变址寻址方式:有效地址为形式地址与变址寄存器的和。变址寄存器可以是通用寄存器中的某一个,由本条指令指定,变址寄存器可以是通用寄存器中的某一个,由本条指令指定,该寄存器中的值可以由程序员预先设定。该寄存器中的值可以由程序员预先设定。变址寻址方式主要用于对处理一维数组提供变址寻址方式主要用于对处理一维数组提供(tgng)(tgng)支
29、持。当支持。当程序员需要对数组中的每一个元素进行同样处理的时候,程序员需要对数组中的每一个元素进行同样处理的时候,可以编写循环程序,每次只对数组中一个元素进行处理,可以编写循环程序,每次只对数组中一个元素进行处理,下一轮循环时程序不变,只要变址寄存器的内容加下一轮循环时程序不变,只要变址寄存器的内容加1 1即可。即可。第26页/共110页第二十七页,共110页。28内容内容(nirng)由应用程序指定,可变。由应用程序指定,可变。第27页/共110页第二十八页,共110页。294.4 4.4 寻址(编址)方式寻址(编址)方式(fngsh)(fngsh)4.4.1 4.4.1 基本寻址方式概述基
30、本寻址方式概述相对寻址方式:有效地址为形式地址与相对寻址方式:有效地址为形式地址与PCPC内容相加之和。内容相加之和。形式地址为补码,可正、可负,是相对于本条指令的一个偏移量。形式地址为补码,可正、可负,是相对于本条指令的一个偏移量。主要用于转移主要用于转移(zhuny)(zhuny)指令,转移指令,转移(zhuny)(zhuny)到本条指令之前或之到本条指令之前或之后的某一条指令。后的某一条指令。间接寻址方式:指令字中的形式地址是地址的地址。间接寻址方式:指令字中的形式地址是地址的地址。有的处理器支持多次间接寻址,但多数只允许一次间接寻址。有的处理器支持多次间接寻址,但多数只允许一次间接寻址
31、。形式地址可以指向内存,也可以指向通用寄存器,为寄存器间接寻形式地址可以指向内存,也可以指向通用寄存器,为寄存器间接寻址。址。第28页/共110页第二十九页,共110页。30第29页/共110页第三十页,共110页。314.4 4.4 寻址(编址)方式寻址(编址)方式(fngsh)(fngsh)4.4.1 4.4.1 基本寻址方式概述基本寻址方式概述立即数寻址方式:指令字中形式地址立即数寻址方式:指令字中形式地址A A不是地址,其本身就是数据。不是地址,其本身就是数据。只能用来表示常数。由于不必访问存储器,因而可以只能用来表示常数。由于不必访问存储器,因而可以(ky)(ky)加快指令的加快指令
32、的执行速度。执行速度。堆栈寻址方式:堆栈寻址方式:堆栈是存储器中一块特定的区域,按照堆栈是存储器中一块特定的区域,按照FIFOFIFO原则管理。原则管理。处理器中有一个专用寄存器,称作堆栈指针(处理器中有一个专用寄存器,称作堆栈指针(Stack Pointer,SPStack Pointer,SP),),SPSP指向堆栈的栈顶。指向堆栈的栈顶。堆栈寻址方式,指令字中不包含地址码,参加运算的操作数及运算结果堆栈寻址方式,指令字中不包含地址码,参加运算的操作数及运算结果的去向都在堆栈的顶部,由的去向都在堆栈的顶部,由SPSP隐含指定。隐含指定。寻址方式可以寻址方式可以(ky)(ky)组合起来使用。
33、组合起来使用。第30页/共110页第三十一页,共110页。324.4 4.4 寻址(编址)方式寻址(编址)方式(fngsh)(fngsh)4.4.2 4.4.2 寻址方式举例寻址方式举例IBM360IBM360计算机指令系统的寻址方式。计算机指令系统的寻址方式。图中所用符号说明如下图中所用符号说明如下(rxi)(rxi):OPOP代表操作码,长度代表操作码,长度8 8位,故操作码个数位,故操作码个数256256。RiRi,RjRj代表通用寄存器地址,长度代表通用寄存器地址,长度4 4位,故可以指明位,故可以指明1616个通用寄存器中个通用寄存器中的某一个。的某一个。X X代表变址寄存器地址,长
34、度代表变址寄存器地址,长度4 4位,故可以指明位,故可以指明1616个通用寄存器中的某个通用寄存器中的某一个。一个。B B代表基地址寄存器地址,长度代表基地址寄存器地址,长度4 4位,故可以指明位,故可以指明1616个通用寄存器中的个通用寄存器中的某一个。某一个。D D,D1D1,D2D2代表操作数的形式地址。代表操作数的形式地址。I I代表立即数,长度代表立即数,长度8 8位。位。L L代表被运算数据的长度(代表被运算数据的长度(1 2561 256个字节)。个字节)。第31页/共110页第三十二页,共110页。33 第32页/共110页第三十三页,共110页。344.5 4.5 一个简单处
35、理器(简化模型一个简单处理器(简化模型(mxng)(mxng))的)的指令系统指令系统通过简化的处理器模型,学习处理器的工作原理、设计方法和通过简化的处理器模型,学习处理器的工作原理、设计方法和实现方法。实现方法。模型机字长模型机字长8 8位,支持位,支持4 4种指令格式。种指令格式。约定约定(yudng)(yudng)数据以整数的补码表示,其最高位为符号位。数据以整数的补码表示,其最高位为符号位。在数据进行加法或减法运算时可能产生在数据进行加法或减法运算时可能产生“溢出溢出”,如果发生,如果发生“溢出溢出”,则令,则令“溢出溢出”标志标志overflow=1overflow=1。第33页/共
36、110页第三十四页,共110页。35第34页/共110页第三十五页,共110页。36操作码操作码OPIR(15.12)指令格式指令格式 指令的助记符指令的助记符操作的内容操作的内容00003Idle无操作,PC:=PC+1;(为取下一条指令准备地址)00012Load DataR0 I;(立即数I送R0)PC:=PC+1;00101Move Rx,RyRx (Ry);PC:=PC+1;00111Add Rx,RyRx (Rx)+(Ry);PC:=PC+1;01001Sub Rx,RyRx (Rx)(Ry);PC:=PC+1;01011AND Rx,RyRx (Rx)AND(Ry);PC:=PC
37、+1;01101OR Rx,RyRx (Rx)OR (Ry);PC:=PC+1;01111XOR Rx,RyRx (Rx)XOR(Ry);PC:=PC+1;10001Shr RxRx (Rx)逻辑右移1位;PC:=PC+1;10011Shl RxRx (Rx)逻辑左移1位;PC:=PC+1;10101Swap Rx,RyA (Ry);Ry (Rx);Rx (A);PC:=PC+1;10114Jmp AddrPC:=PC+1;取本指令的后半部;PC Addr;(为取下一条指令准备地址)11004Jz AddrPC:=PC+1;取本指令的后半部;if(R0)=0 then PC Addrelse
38、PC:=PC+1;(为取下一条指令准备地址)11014Read Addr PC:=PC+1;取本指令的后半部;R0 (addr);(从内存指定地址取数据)PC:=PC+1;(为取下一条指令准备地址)11104Write AddrPC:=PC+1;取本指令的后半部;Addr (R0);(把R0的内容写入内存指定地址)PC:=PC+1;(为取下一条指令准备地址)11113Stop无操作,PC 保持不变;第35页/共110页第三十六页,共110页。37CPU实例实例(shl)第36页/共110页第三十七页,共110页。384.6 4.6 处理器的组成处理器的组成(z chn)(z chn)与设计与设
39、计4.6.14.6.1处理器的组成处理器的组成处理器由运算器和控制器组成。处理器由运算器和控制器组成。控制器向运算器中各个部件发出控制信号,指挥运算器中各个部件控制器向运算器中各个部件发出控制信号,指挥运算器中各个部件协调工作,使数据沿指定路径在运算器中流动,从而完成整协调工作,使数据沿指定路径在运算器中流动,从而完成整个运算。个运算。运算器将各种部件适当连接成为运算器将各种部件适当连接成为(chngwi)(chngwi)网络,信息在网络中流网络,信息在网络中流动,也被称作数据通路。动,也被称作数据通路。数据通路由寄存器、多路选择器、算术逻辑运算单元(数据通路由寄存器、多路选择器、算术逻辑运算
40、单元(ALUALU)以及)以及其他功能部件组成。其他功能部件组成。第37页/共110页第三十八页,共110页。394.6 4.6 处理器的组成处理器的组成(z chn)(z chn)与设计与设计寄存器依照功能不同,可分为:寄存器依照功能不同,可分为:通用寄存器:通用寄存器:用于存放原始数据和运算结果用于存放原始数据和运算结果指令可按地址访问相应的寄存器指令可按地址访问相应的寄存器数量由指令格式决定,若访问通用寄存器的地址码为数量由指令格式决定,若访问通用寄存器的地址码为2 2位,则数据通路中通位,则数据通路中通用寄存器的数量为用寄存器的数量为4 4。累加寄存器(累加寄存器(Accumulato
41、rAccumulator,AccAcc,AcAc)或临时寄存器:)或临时寄存器:当运算器的算术逻辑单元(当运算器的算术逻辑单元(ALUALU)执行全部)执行全部(qunb)(qunb)算术和逻辑运算时,为算术和逻辑运算时,为ALUALU提供一个工作区。累加寄存器暂时存放提供一个工作区。累加寄存器暂时存放ALUALU运算的结果信息。显运算的结果信息。显然,运算器中至少要有一个累加寄存器。然,运算器中至少要有一个累加寄存器。程序计数器(程序计数器(Program CounterProgram Counter,PCPC):):即指令计数器或指令指针,用于存放将要执行的下一条指令在内存中的地址。即指令
42、计数器或指令指针,用于存放将要执行的下一条指令在内存中的地址。若程序顺序执行:若程序顺序执行:PC PC PC+1 PC+1;若程序有跳转:;若程序有跳转:PCPCPC+PC+偏移地址。偏移地址。第38页/共110页第三十九页,共110页。404.6 4.6 处理器的组成处理器的组成(z chn)(z chn)与设计与设计指令寄存器(指令寄存器(Instruction RegisterInstruction Register,IRIR):):用于存放从内存中取出的指令。在指令执行期间内容保持不用于存放从内存中取出的指令。在指令执行期间内容保持不变,以便控制指令的执行。其中指令的操作码送到指令译
43、码变,以便控制指令的执行。其中指令的操作码送到指令译码器,译码后输出控制信号。器,译码后输出控制信号。内存地址寄存器(内存地址寄存器(Memory Address RegisterMemory Address Register,MARMAR):):用来保存当前用来保存当前CPUCPU所访问的内存单元的地址。由于在内存和所访问的内存单元的地址。由于在内存和CPUCPU之间存在着操作速度上的差别,所以必须使用地址寄存器之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读来保持地址信息,直到内存的读/写操作完成为止。写操作完成为止。内存数据寄存器(内存数据寄存器(Memor
44、y Data RegisterMemory Data Register,MDRMDR):):用来暂时存放由内存储器读出的一条指令或一个用来暂时存放由内存储器读出的一条指令或一个(y)(y)数数据字;反之,当向内存存入一条指令或一个据字;反之,当向内存存入一条指令或一个(y)(y)数据字数据字时,也暂时将它们存放在数据寄存器中。时,也暂时将它们存放在数据寄存器中。第39页/共110页第四十页,共110页。41状态条件寄存器状态条件寄存器PSWR 状态条件寄存器保存由算术指令和逻辑指令运行或测试的结状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立起来的各种条件码内容,同时状态条件寄存器还
45、保果建立起来的各种条件码内容,同时状态条件寄存器还保存中断和系统工作存中断和系统工作(gngzu)状态等信息,以便使状态等信息,以便使CPU和和系统能及时了解机器运行状态和程序运行状态。因此,状系统能及时了解机器运行状态和程序运行状态。因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。器。O 溢出溢出 D 方向方向 I 中断允许中断允许 T 追踪追踪 S 符号符号 Z 零零 A 辅助进位辅助进位 P 奇偶奇偶 C 进位进位4.6 4.6 处理器的组成处理器的组成(z chn)(z chn)与设计与设计 O D I T S Z A P
46、 C第40页/共110页第四十一页,共110页。424.6 4.6 处理器的组成处理器的组成(z chn)(z chn)与设计与设计多路选择器用于引导数据多路选择器用于引导数据(shj)(shj)的流动,常用的多路器有的流动,常用的多路器有2 2选选1 1、4 4选选1 1和和8 8选选1 1等。等。ALUALU用于执行算术运算和逻辑运算。由指令操作码决定。用于执行算术运算和逻辑运算。由指令操作码决定。第41页/共110页第四十二页,共110页。43 第42页/共110页第四十三页,共110页。44第43页/共110页第四十四页,共110页。454.6 4.6 处理器的组成处理器的组成(z c
47、hn)(z chn)与设计与设计4.6.2 4.6.2 处理器和内存的相互联系处理器和内存的相互联系程序和数据程序和数据(shj)(shj)存放在内存中,处理器要和内存相互配存放在内存中,处理器要和内存相互配合才能执行程序,处理器和内存之间的连接关系如图:合才能执行程序,处理器和内存之间的连接关系如图:122第44页/共110页第四十五页,共110页。464.6 4.6 处理器的组成处理器的组成(z chn)(z chn)与设计与设计4.6.3 4.6.3 控制器控制器控制器向数据通路中各个部件发出控制器向数据通路中各个部件发出控制信号控制信号(xnho)(xnho),使各个部,使各个部件协调
48、工作。件协调工作。协调动作需要时间标志,而时间标协调动作需要时间标志,而时间标志则是用时序信号志则是用时序信号(xnho)(xnho)来来体现的。体现的。控制器发出的各种控制信号控制器发出的各种控制信号(xnho)(xnho)都是时间因素(时序都是时间因素(时序信号信号(xnho)(xnho))和空间因素)和空间因素(部件位置)的函数。(部件位置)的函数。第45页/共110页第四十六页,共110页。474.6 4.6 处理器的组成处理器的组成(z chn)(z chn)与设计与设计节拍:一个节拍对应于一个时钟脉冲。如图所示:节拍:一个节拍对应于一个时钟脉冲。如图所示:step_istep_i:
49、代表第:代表第i i个节拍,其宽度与时钟周期相等。个节拍,其宽度与时钟周期相等。节拍电位和其他信号相互组合用于控制操作,引导数据在数据节拍电位和其他信号相互组合用于控制操作,引导数据在数据通路中流动;在节拍的末尾处由时钟脉冲把运算结果(或通路中流动;在节拍的末尾处由时钟脉冲把运算结果(或中间结果)打入寄存器。中间结果)打入寄存器。一个节拍中包含一个节拍中包含(bohn)(bohn)一个时钟脉冲被称作单相时钟。包含一个时钟脉冲被称作单相时钟。包含(bohn)(bohn)多个时钟脉冲,则被称作多相时钟。多个时钟脉冲,则被称作多相时钟。第46页/共110页第四十七页,共110页。48触触发器器数据数
50、据(shj)(shj),电位位控制信号控制信号(xnho)(xnho),脉冲,脉冲 数据准数据准备备(zhnbi)好后,以好后,以电电位的方式送触位的方式送触发发器(可器(可执执行保存),行保存),当控制信号来到后当控制信号来到后仅仅用一个脉冲信号即可把数据装入触用一个脉冲信号即可把数据装入触发发器。器。第47页/共110页第四十八页,共110页。494.6 4.6 处理器的组成处理器的组成(z chn)(z chn)与设计与设计4.6.3 4.6.3 控制器控制器节拍节拍(jipi)(jipi)电位和时钟脉冲之间的配合关系:电位和时钟脉冲之间的配合关系:第48页/共110页第四十九页,共11