计算机组成原理讲解_第1页
计算机组成原理讲解_第2页
计算机组成原理讲解_第3页
计算机组成原理讲解_第4页
计算机组成原理讲解_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

(优选)计算机组成原理ppt讲解目前一页\总数六十页\编于十一点*2本章主要内容4.1

指令系统的发展和性能要求4.2

指令格式4.3

指令和数据的寻址方式4.4

堆栈寻址方式4.5

典型指令目前二页\总数六十页\编于十一点*3指令系统基本概念机器指令(指令)计算机能直接识别、执行的某种操作命令。微指令:微程序级的命令,它属于硬件;宏指令:由若干条机器指令组成的软件指令,它属于软件;机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算。程序是解决某一实际问题的指令序列指令系统(指令集)

一台计算机中所有机器指令的集合。机器硬件设计的依据,也是软件设计的基础。硬件和软件间的界面,直接影响计算机系统性能目前三页\总数六十页\编于十一点*4系列计算机指基本指令系统相同、基本体系结构相同的一系列计算机。IBM,PDP-11,VAX-11,ARM,Intel-x86,Pentium系列计算机主要是解决软件兼容的问题。新计算机中必须包含老计算机的指令系统,保证软件向上兼容,保护用户投资。目前四页\总数六十页\编于十一点*5RISC与CISCCISC(复杂指令系统计算机)ComplexInstructionSystemComputer指令数量多(多达几百条),指令功能,复杂的计算机。难以保证正确性,不易调试维护,造成硬件资源浪费RISC(精简指令系统计算机)ReducedInstructionSystemComputer指令数量少,指令功能单一的计算机。目前五页\总数六十页\编于十一点*64.1.2对指令系统性能的要求完备性:指令丰富,功能齐全,使用方便。有效性:程序占空间小,执行速度快。规整性:对称性(所有寄存器、存储单元同等对待)、匀齐性(一种操作支持多种数据类型):指令格式和数据格式的一致性(指令长度和数据长度通常是字节的整数倍):兼容性:系列机软件向上兼容目前六页\总数六十页\编于十一点*7高级语言(如C,FORTRAN等)其语句和用法与具体机器的指令系统无关,易编程。不能用于编写直接访问机器硬件资源的系统软件或设备控制软件低级语言机器语言(二进制语言)汇编语言(符号语言)面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。必须借助汇编程序或编译程序,把符号语言或高级语言翻译成二进制码组成的机器语言。4.1.3低级语言与硬件结构的关系目前七页\总数六十页\编于十一点*8

4.2指令格式表示一条指令的机器字,称为指令字,简称指令。指令格式:用二进制代码表示指令的结构形式。操作码字段地址码字段目前八页\总数六十页\编于十一点*94.2.1

操作码(OP)操作码字段表征指令的操作特性与功能指令系统中每一条指令对应一个操作码操作码字段的位数取决于指令系统的规模n=2L

定长指令、变长指令(固定位数和可变位数)操作码字段地址码字段目前九页\总数六十页\编于十一点*104.2.2

地址码(AC)地址码通常指定参与操作的操作数的地址或操作数本身地址码包括被操作数,操作数,操作结果

操作码

A1

A2

A3操作码

A1

A2操作码

A1

操作码

二地址格式三地址格式一地址格式零地址格式目前十页\总数六十页\编于十一点*114.2.2

地址码(AC)(1)零地址指令两种情况:不需要操作数,如空操作指令NOP;隐含一个操作数位于累加器AC中。如十进制修正指令DAA。(2)一地址指令有两种情况:只需要一个操作数,如求反指令NOT;需要两个操作数,但另一个操作数在累加寄存器AC中

(AC)

OP

(A)

->

AC

目前十一页\总数六十页\编于十一点*124.2.2

地址码(AC)(3)二地址指令

(A1)

OP

(A2)

->

A1(4)三地址指令

(A1)

OP

(A2)

->

A3

A1为被操作数地址,也称源操作数地址;A2为操作数地址,也称终点操作数地址;A3为存放结果的地址。A1,A2,A3可以是内存中的单元地址,也可以是运算器中通用寄存器的地址。

目前十二页\总数六十页\编于十一点*13按操作数的物理位置分类存储器-存储器(SS)型寄存器-寄存器(RR)型寄存器-存储器(RS)型

目前十三页\总数六十页\编于十一点*144.2.3指令字长度指令中包含二进制代码的位数机器字长计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度指令字长度与机器字的长度有关:

单字长,双字长,半字长。等长指令:结构简单,控制线路简单。变长指令:结构灵活,充分利用指令长度,控制复杂目前十四页\总数六十页\编于十一点*15指令字助记符典型指令

指令助记符

二进制操作码

加法

ADD001

减法

SUB010

传送

MOV011

跳转

JMP100

转子

JSR101

存储

STR110

读数

LDA111为了书写和阅读程序,每条指令通常用3个或4个英文缩写字母来表示。表4.2指令助记符举例目前十五页\总数六十页\编于十一点*164.2.5指令格式举例1.八位微型计算机的指令格式

8位微型机字长只有8位,指令结构是一种可变字长形式,包含单字长、双字长、三字长指令等多种。操作码

操作码

A1

A2操作码

A1

单字长指令双字长指令三字长指令目前十六页\总数六十页\编于十一点*174.2.5指令格式举例2.

PDP/11系列机指令格式操作码字段是不固定,长度不相同。这样做可以扩展操作码以包含较多的指令。但是操作码字段不固定,对控制器的设计来说必将复杂化目前十七页\总数六十页\编于十一点*184.ARM指令格式目前十八页\总数六十页\编于十一点*194.2.5指令格式举例4.

pentium指令格式pentium机的指令字长度是可变的:从1字节到12字节,还可以带前缀,指令格式如下所示。

0或1

0或1

0或1

0或1(字节数)指令前缀段取代

操作数长度取代

地址长度取代1或2

0或1

0或1

0,1,2,4

0,1,2,4(字节数)操作码ModReg或操作码R/M比例S变址I基址B位移量立即数

2位3位3位2位3位3位目前十九页\总数六十页\编于十一点*20指令格式分析[例1]指令格式如下所示,其中OP为操作码,试分析指令格式的特点。15987

43

0

op源寄存器目标寄存器[解]:

(1)单字长二地址指令。

(2)操作码字段OP可以指定128条指令。

(3)源寄存器和目标寄存器都是通用寄存器(可分别指定16个),所以是RR型指令,两个操作数均在寄存器中。

(4)这种指令结构常用于算术逻辑运算类指令。目前二十页\总数六十页\编于十一点*21指令格式分析[例2]

指令格式如下所示,OP为操作码字段,试分析指令格式特点

[解]:

(1)双字长二地址指令,用于访问存储器。

(2)操作码字段OP为6位,可以指定64种操作。

(3)一个操作数在源寄存器(共16个),另一个操作数在存储器中(由变址寄存器和位移量决定)所以是RS型指令。

op源寄存器变址寄存器

位移量(16位)15

10

7

4

3

0目前二十一页\总数六十页\编于十一点*224.3

指令和数据的寻址方式在存储器中,操作数或指令字写入或读出的方式,有地址指定方式、相联存储方式和堆栈存取方式。当采用地址指定方式时,寻找指令或操作数有效地址的方式指令寻址

顺序寻址跳跃寻址操作数寻址目前二十二页\总数六十页\编于十一点*231.顺序寻址方式(PC)+1->PC程序的指令序列在主存顺序存放。程序执行时从第一条指令开始,逐条取出并逐条执行,这种程序的顺序执行过程,称为顺序寻址方式。为了达到顺序寻址的目的,CPU中必须有一个程序计数器(PC)对指令的顺序号进行计数。PC中开始时存放程序的首地址,每执行一条指令,PC加1,以指出下条指令的地址,直到程序结束。PC存放下一条指令的地址目前二十三页\总数六十页\编于十一点*24跳跃寻址目标地址->PC当程序中出现分支或循环时,就会改变程序的执行顺序。此时对指令寻址就要采取跳跃寻址方式。所谓跳跃,就是指下条指令的地址不是通过程序计数器PC当前值获得的,而是由指令本身给出。跳跃的处理方式是重新修改PC的内容。然后进入取指令阶段。目前二十四页\总数六十页\编于十一点*25跳跃寻址过程IR100JMP103MOVAX,BXPC内存100101102103+1JMP103指令寄存器IRMOVAX,BX103目前二十五页\总数六十页\编于十一点*264.3.2操作数的寻址方式形成操作数有效地址的方法。例如,一种单地址指令的结构如下所示,其中用X,I,D各字段组成该指令的操作数地址。寻址过程就是把操作数的形式地址,变换为操作数的有效地址的过程。实际有效地址为E,实际操作数SS=(E)

OPXID操作码变址位形式地址间址位目前二十六页\总数六十页\编于十一点*27隐含寻址在指令中不明显的给出而是隐含着操作数的地址例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器AC作为第二操作数地址,AC对单地址指令格式来说是隐含地址。目前二十七页\总数六十页\编于十一点*28立即寻址指令的地址字段指出的不是操作数的地址,而是操作数本身这种方式的特点是指令执行时间很短,不需要访问内存取数例如:单地址的移位指令格式为

OP(移位)

F

D这里D不是地址,而是一个操作数。F为标志位,当F=1,操作数进行右移;当F=0时,操作数进行左移。目前二十八页\总数六十页\编于十一点*29直接寻址特点是:在指令格式的地址字段中直接指出操作数在内存的地址D。

采用直接寻址方式时,指令字中的形式地址D就是操作数的有效地址E,既E=D。因此通常把形式地址D又称为直接地址。此时,由寻址模式给予指示。如果用S表示操作数,那么直接寻址的逻辑表达式为

S=(E)=(D)直接寻址目前二十九页\总数六十页\编于十一点*30

间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器,D单元的内容才是操作数的有效地址

如果把直接寻址和间接寻址结合起来,指令有如下形式:

操作码

I

D寻址特征位I=0,表示直接寻址,这时有效地址E=D;

I=1,表示间接寻址,这时有效地址E=(D)。间接寻址目前三十页\总数六十页\编于十一点*31寄存器寻址方式和寄存器间接寻址方式寄存器寻址操作数在CPU的内部寄存器中.寄存器间接寻址指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中目前三十一页\总数六十页\编于十一点*32相对寻址是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。此时形式地址D通常称为偏移量,其值可正可负,相对于当前指令地址进行浮动。相对寻址方式目前三十二页\总数六十页\编于十一点*33基址寻址方式是将CPU中基址寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址。

优点是可以扩大寻址能力。基址寻址方式目前三十三页\总数六十页\编于十一点*34变址寻址方式变址寻址方式与基址寻址方式计算有效地址的方法很相似,它把CPU中某个变址寄存器的内容与偏移量D相加来形成操作数有效地址。但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律性变化。块寻址方式

块寻址方式经常用在输入输出指令中,以实现外存储器或外围设备同内存之间的数据块传送。块寻址方式在内存中还可用于数据块搬家。块寻址时,通常在指令中指出数据块的起始地址(首地址)和数据块的长度(字数或字节数)。如果数据块是变长的,可用三种方法指出它的长度:

(1)指令中划出字段指出长度;

(2)指令格式中指出数据块的首地址与末地址;

(3)由块结束字符指出数据块长度。

操作码首地址

标志位末地址目前三十四页\总数六十页\编于十一点*35段寻址Intel8086/8088微机中,ALU16位运算,但其寻址范围可到1M,即地址有20位。实质是基值寻址。4位16位逻辑地址16位段寄存器20位物理地址ALU目前三十五页\总数六十页\编于十一点*36[例3]一种二地址RS型指令的结构如下所示:

6位4位1位2位16位其中I为间接寻址标志位,X为寻址模式字段,D位偏移量字段。通过I,X,D的组合,可构成下表所示的寻址方式。请写出六种寻址方式的名称。[解]:⑴直接寻址⑵相对寻址⑶变址寻址⑷寄存器间接寻址⑸间接寻址⑹基址寻址OPIX

偏移量D目前三十六页\总数六十页\编于十一点*37例:某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器,指令汇编格式中的S和D都是指通用寄存器,M指主存中的一个单元。三种指令的操作码分别是MOV为0AH,STA为1BH,LDA为3CH。(1)分析三种指令的指令格式与寻址方式特点。(2)CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?(3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?LDAD,M目前三十七页\总数六十页\编于十一点*38例:某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器,指令汇编格式中的S和D都是指通用寄存器,M指主存中的一个单元。三种指令的操作码分别是MOV为0AH,STA为1BH,LDA为3CH。说明:MOV是传送指令,STA为写数指令,LDA为读数指令。(1)分析三种指令的指令格式与寻址方式特点。该指令是单字长二地址指令,是RR型,源寄存器S由0~3位指定,目标寄存器D由4~7位指定。该指令是双字长二地址指令,是RS型,源寄存器S由4~7位指定,存储器M由采用0~3位指定的变址寄存器加位移量的变址方式得到或者由8~9位指定的基址寄存器加位移量的基址寻址得到。目前三十八页\总数六十页\编于十一点*39LDAD,M该指令是双字长二地址指令,RS型,其中目标寄存器D由4~7位指定,存储器由指令中给出的20位地址由直接内存寻址决定。(2)CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?

CPU完成第一种指令所花时间最短,因为是RR型指令,不需要访问存储器

CPU完成第二种指令所花时间最长,因为是RS型指令需要访问存储器,同时要进行寻址方式的变换运算,基址寄存器的内容加位移量或变址寄存器内容加位移量,这也需要时间。第二种指令的执行时间不会等于第三种指令,因为第三种指令也访问存储器,但节省了求有效地址运算的时间开销。目前三十九页\总数六十页\编于十一点*40(3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?①F0F13CD2H根据已知条件:

MOV(OP)=0AH=001010STA(OP)=1BH=011011LDA(OP)=3CH=1111001111000011110001001111001101001011110000

1111

00010011110011010010②2856H0010100001010110编码正确,其含义是把主存(13CD2)H地址单元的内容取至15号寄存器。001010

00

01010110编码正确,含义是把6号源寄存器的内容传送至5号目标寄存器。

③6FD6H0110111111010110011011

11

11010110编码错误,可改正为28D6H目前四十页\总数六十页\编于十一点*4120050011002001005008001002002100OPXD=100PC=1000R基=2000寻址方式X操作数立即0100直接1200间接2500相对3100变址4200变址间址5500有效地址ES=DE=D=100E=(D)=200E=PC+D=1100E=(R)+D=2100E=((R)+D)=200例:设某机的指令格式、有关寄存器和主存内容如下,X为寻址方式,D为形式地址,请在下表中填入有效地址E及操作数的值。?目前四十一页\总数六十页\编于十一点*424.4堆栈寻址方式堆栈------一组能存取数据的暂时存储单元。存储器一般采用随机存储方法,而堆栈采用先进后出的存储方法串联堆栈一组专门的寄存器,一个R保存一个数据。数据的传送在栈顶和通用寄存器之间进行。

快速:在CPU内部实现串行:进栈和出栈涉及到栈内所有其它数据的移动;破坏性读出:读数据的同时也离开了堆栈;栈容量有限:取决于CPU内堆栈专用寄存器的数量;栈顶不动,数据移动。目前四十二页\总数六十页\编于十一点*43堆栈寻址方式AABBACCBACBA堆栈顶PUSHAPUSHBPUSHCPOPC通用寄存器目前四十三页\总数六十页\编于十一点*44存储器堆栈用一部分主存空间作堆栈称为存储器堆栈堆栈的数目、长度可随意指定SP---堆栈指示器(栈指针),CPU中一个专门寄存器,SP内容是栈顶单元地址。改变SP内容即可移动栈顶的位置。堆栈操作期间,堆栈中数据不动,栈顶移动非破坏性读出目前四十四页\总数六十页\编于十一点*45进栈进栈--------累加器中的数送堆栈保存.(AC)→堆栈MSP堆栈指针(sp)-1→spaPUSHaPUSHb100999897SPabbAC目前四十五页\总数六十页\编于十一点*46出栈出栈--------将堆栈中的数取出送累加器堆栈指针(sp)+1→sp(堆栈MSP)→AC100999897SPabbACa目前四十六页\总数六十页\编于十一点*471)存储器堆栈是一个由高地址向低地址延伸的空间。2)存储器堆栈的栈顶由堆栈指针SP指示,如果用[A]表示通用寄存器A的内容,SP表示堆栈指示器,Msp表示堆栈指示的存储器栈顶单元,入栈操作和出栈操作可以表示为:入栈:[A]→Msp,[SP]-1→SP

出栈:[SP]+1→SP,[Msp]→A-存储器堆栈的优点:1)堆栈能够具有程序员要求的任意长度;2)存储器堆栈的数目由程序员自己决定;3)可以用对存储器寻址的任何一条指令来对堆栈中的数据进行寻址。存储器堆栈的特点目前四十七页\总数六十页\编于十一点*48数据传送指令取数指令存数指令传送指令算术运算指令定点+,-,×,÷浮点+,-,×,÷求反,求补,比较等4.5

典型指令

成组传送指令字节交换指令清累加器指令堆栈操作指令目前四十八页\总数六十页\编于十一点*49逻辑运算指令NOT,AND,OR,XOR,TEST程序控制指令无条件转移条件转移(C,Z,N,P,V)转子程序子程序返回RET中断返回IRET输入输出指令INAX,nOUTn,A4.5

典型指令目前四十九页\总数六十页\编于十一点*50字符串处理字符串传送、转换、比较、查找特权指令:系统资源的分配和管理其他类状态寄存器置位、复位指令(如CLC,STC,CLI,STI)测试指令、暂停指令,空操作指令4.5

典型指令目前五十页\总数六十页\编于十一点*51指令系统发展方向CISC---复杂指令系统计算机ComplexInstructionSystemComputer指令数量多,指令功能,复杂的计算机。

RISC---精简指令系统计算机ReducedInstructionSystemComputer指令数量少,指令功能单一的计算机。目前五十一页\总数六十页\编于十一点*52精减指令系统(RISC)选取使用频率最高的一些简单指令,指令条数少;寻址方式简单指令长度固定,指令格式简单CPU设置大量寄存器只有存/取数指令才能访问存储器,其余指令的操作都在寄存器之间进行.每一个机器周期完成一条机器指令。

目前五十二页\总数六十页\编于十一点*53CISC与RISC的比较特征CISCRISCIBM370/168VAX11/780Intel80486SPARCMIPSR4000开发年份19731978198919871991指令数量/条2083032356994指令长度/B2~62~51~1144寻址方式4221122通用寄存器数/个1616840~52032控制存储器大小/Kb420480246--Cache大小/KB6464832128目前五十三页\总数六十页\编于十一点*54典型RISC机指令系统机器型号指令数寻址方式指令格式通用寄存器数RISC-I312278RISC-II3922138MIPS553416SPARC7543120-136MIPSR3000913332i860653432目前五十四页\总数六十页\编于十一点*554.6ARM汇编语言汇编语言是计算机机器语言(二进制指令代码)进行符号化的一种表示方法,每一个基本汇编语句对应一条机器指令。

表4.11列出了嵌入式处理机ARM的汇编语言。其中操作数使用16个寄存器(r0,r1~r12,sp,Ir,pc),230个存储字(字节编址,连续的字的地址间相差4)。目前五十五页\总数六十页\编于十一点*56目前五十六页\总数六十页\编于十一点*57目前五十七页\总数六十页\编于十一点*58[例5]

将ARM汇编语言翻译成机器语言。已知5条ARM指令格式译码如下表所示:

设r3寄存器中保存数组A的基址,h放在寄存器r2中。C语言程序语句

A[30]=h+A[30]可编译成如下3条汇编语言指令:

LDRr5,[r3,#120]

;寄存器r5中获得A[30]

ADDr5,r2,r5

;寄存器r5中获得h+A[30]

STRr5,[r3,#120]

;将h+A[30]存入到A[30]

请问这3条汇编语言指令的机器语言是什么?目前五十八页\总数六十页\编于十一点*59解LDRr5,[r3,#120]

;寄存器r5中获得A[30]ADDr5,r2,r5,

;寄存器r5中获得h+A[30]STRr5,[r3,#120]

;将h+A[30]存入到A[30]目前五十九页\总数六十页\编于十一点*604.6ARM汇编语言在进行汇编语言程序设计时,可直接使用英文单词或其缩写表示指令,使用标识表示数据或地址,从而有效地避免了记忆二进制的指令代码。

不用由程序设计人员对指令和数据分配内存地址,直接调用操作系统的某些程序段完成输入输出。

用编辑程序建立好的汇编语言源程序,需要经过系统软件中的“汇编器”翻译为机器语言程序之后,才能交付给计算机硬件系统去执行。

目前六十页\总数六十页\编于十一点

温馨提示

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

最新文档

  • 农商银行教育培训方案
  • 新编高血压健康教育培训课件
  • 新年护理工作计划
  • 2024年职场免息贷款福利实施合同样本
  • live house酒吧股份转让合同范本
  • 山西省晋南地区达标名校2025年初三第二次高中毕业生复习统一检测试题化学试题含解析
  • 山西省晋中市榆社县2024届小升初数学自主招生备考卷含解析
  • 个性化2024版监护人指定及职责协议书
  • 2024年标准房产现金赎回服务合同范本
  • 2024版医美行业股权转让协议规范化文本
  • 一年级(上)《生命教育》教案
  • 脑缺血半暗带的影像学课件
  • 汽车起重机操作手册
  • 山东省高等学校青年创新团队
  • 四年级语文上册第六单元【集体备课】课件
  • 2023年教师资格证考试体育学科知识与教学能力试题(高级中学)真题含答案解析
  • 2023年整理-教育政策法规知识考试题集全
  • 2023年高考地理(上海卷)-含答案
  • 拟投入主要机械设备表
  • 妊娠合并梅毒孕产妇入院后处理流程
  • 金税四期与企业税务风险培训

评论

0/150

提交评论