找回密码
 立即注册

微信扫码登录

使用验证码登录

搜索
查看: 43|回复: 0

19.第19节课第四章指令系统&

[复制链接]

4902

主题

3

回帖

1万

积分

管理员

积分
14804
发表于 2024-4-15 09:10:18 | 显示全部楼层 |阅读模式
同学们大家好,我们接下来来讲我们第四章的内容,第四章的内容主要讲的是指令系统。在此讲指令系统这一块儿的时候,咱们包括以下三方面的知识点,第一个是指令的格式,第二个是指令的寻址方式。第三块儿是cisc和i isc的基本概念,在指令的格式当中,我们主要讲到了是指令的基本格式以及。扩展。格在第一小节当中,我指令的格式当中,我们主要讲到的内容有指令的基本格式以及。进程指令格式和扩展指令格式啊,

在第二章当中我们讲到的是指令的寻址方式啊,在指令的寻址方式当中我们又包括。包含了什么是有效地址啊?还有我们数据寻址以及指令寻址方式,以及我们常见的寻址方式有哪些?这些内容都是需要我们掌握重点掌握的内容。在第三个知识点当中,我们主要介绍了cisc和i isc的一些基本概念。我们知道这一块内容就可以了。好,那我们接下来进入本章当中的内容学习。在我们讲指令格式之前,我们先看一下指令的相关概念。什么是指令计算机的程序?是由一系列的指令来组成的,

那么指令?它是什么意思呢?是要计算机执行某种操作的一个命令,它是执行某种操作的一个命令。我们计算机比如说要执行一个加法,或者是一个减法,那么我们就要有相对应的指令,相对应的程序。去嗯,去完成这个功能,也就是说计算机的程序,它是由一系列的什么来构成的?是用一系列的指令来组成的,那指令就是要我们计计算机去完成某种操作,它的一个相关的命令。

从计算机组成的层次结构来说,计算机的指令有微指令,机器指令和宏指令之分,这三种指令又分别是什么意思呢?微指令是什么意思呢?微指令它是微程序的命令,它属于一个硬件儿啊,属于一个硬件儿。宏指令是什么呢?它是由若干条机器指令组成的一个软件指令,它属于一个软件。机器指令是什么?机器指令也就是我们说的指令,它是介于微指令与宏指令之间。每条指令可以完成一个独立的算术运算,

或者是逻辑运算,它是CPU唯一能够接收的一个命令啊。我们CPU唯一能接受的命令是我们的机械指令啊,机械指令又介于微指令和宏指令之间啊,它能够完成。算术运算和逻辑运算,而且是独立的,去完成算术运算或逻辑运算。除了微指令,宏指令和机器指令之外,我们还有一个是指令系统啊,指令系统的概念是什么?它是指。一台计算机中所有机器指令的一个集合,它表征一台计算机性能的重要因素啊,

我们计算机性能怎么样?性能好与不好?是由我们指令系统能够表征的。一个重要因素,它的格式与功能不仅直接影响到机器的硬件结构,也直接影响到系统的软件。直接影响我们机器的一个适用范围,所以我们指令系统的好与坏啊,直接能够影响到咱们机器的一个硬件的结构。同时也会影响到咱们的软件系统,从而影响到机器的一个适应范围。这是我们指令的一些相关概念啊,我们要知道指令是什么啊,然后指令从层次结构上来说,可以划分为哪几种啊,

比如说微指令。机器指令和宏指令啊,那我们这些指令的系统是什么?指令系统又能够影响咱们计算机的哪些性能?啊,这是我们要知道的一些相关概念,了解完这些相关概念之后,我们接着往下看,我们的进入我们的第一章内容,第一节知识点。指令的。格式啊,指令的格式指令的格式这一块内容,我们包括三个重要的知识点。第一个是指令的基本格式,

我们指令的基本格式是什么啊?第二个是定程操作码的指令格式。第三个是扩展操作码的指令格式啊,指令格式包括以下三个方面的内容。那么,我们接着往下看看第一个内容,什么是指令的基本格式?我们只在了解指令的基本格式的时候,我们还是要先看一下咱们。指令是由什么组成的?它指令是一条是一条。我们一条指令是一组有意义的二进制代码啊啊,我们这个指令首先它是一条有意义的二进制代码。啊,是机器语言中的一个语句,

它由操作码字段和地址字段两部分组成啊,我们有两个字段,一个是操作码字段,一个是地址字段。那我们这条指令它是要完成某项任务的啊,执行什么样的操作在哪里,执行什么样的操作,那就是我们操作码和地址码。两个字段来组成的。那么,我们操作码是什么呢啊?每一条指令它都有一个操作码啊,都有一个操作码,它反映的是机器要执行什么样的操作啊?要执行什么样的操作?

完成什么样的任务?我们说加法执行,加法减法还是乘法等等执行哪样的什么样的操作啊?不同指令用操作码字段的不同编码来表示。每一种编码代表的是一种指令啊,每一种编码代表的是一种指令,比如说操作码占用六位,二进制码时这台机器。最多允许有多少条指令啊?我们有六位二进制代码,那这条机这台机器最多允许有二的六次方,也就是64条指令。那我们操作码又分为两种啊,一种是长度固定的操作码,另一种是长度可变的操作码。

长度固定的操作码,我们称为固定长度操作码。它是用于指令较长的情况下,那因为我们一个长度,不管指令的复杂程度还是简单程度又是什么样,我们都采用。指令最长的那一个来。长度来代表我们操作法的长度啊,用于指令较长的情况下。大中型超小型i is中嗯,长度可变,除了长度固定的之外,我们还有长度可变的就是可变长度操作法。这个操作码呢,它就分散在指令的不同字段当中,

在这场较短的微型机当中被广泛的应用啊,这是我们操作码的两种分类。一种是长度固定的,一种是长度可变的,它应用于什么样的环境下啊?长度固定的,我们运用在制长较长的情况下啊,所以。长度。可变的我们就用在日常较短的微型机当中,对广泛应用,这是我们的操作码。除了操作码之外,还有我们的地址码,什么是地址码呢?

给出被操作的信息的地址啊,我们的地址码,它能够给出我们被操作的信息的地址,被操作的信息是什么?是指令或者是数据啊?啊,我们知道这个指令,该指令执行什么样的操作了,那么我们也要知道这个。指令应该从哪里取出来?它的地址在哪里啊?包括参加运算的一个或多个操作数学所需的地址啊,包括我们运算结果应该保存在什么地址当中?我们程序进行转移,转移到哪里啊?

我们被调用主程序,它的入口是是哪里?等等,这些操作和这些地址。它地址码代表的就是给出被操作的信息指令,或者是数据的一个地址啊。我们指定的地址码。除此之外,我们还要知道,指令最长是什么?指令最长它指的是一条指令所包含二进制代码的一个位置。一条指令,我们都包含了多少个二进制代码,多少位二进制?指这就是我们的指令制长,

指令制长,它取决于它的因素有哪些啊?第一个有操作码的长度。第二个点就是操作码的地址程度,第三个就是操作数的地址个数。啊,机器磁场由我们的操作码的长度来决定,由操作码的操作数的地址,长度以及操作数的地址个数。而决定的。为了我们充分利用存储空间指令最长的长度,也定为字节长度的整数倍。同时,我们指令的字长啊,我们根据指令的字长长度啊来进行划分,

可以分为单字长指令,双字长指令。和半自长指令,那什么是单自长指令呢?指令长度等于机器长度的指令的时候,我们称之为单字长指令,指令长度等于两个机器最长的指令时,我们称为。双字长指令,当指令长度等于只有半个机器最长的长度的指令时,我们称为半字长指令,这是我们。及指令自长的一个划分啊,分为单字长指令,双字长指令和半字长指令。

除了除此之外,我们根据指令之长是固定的还是可变的,就分为固定指,指令系统和可变指令系统。固定指令。固定指令系统,它指的是机指令,自长等于存储。自长固定指指令。系统在执行的速度。它执行的速度比较快啊,控制也相对来简单,但是呢,可能会浪费一定的存储空间。此类日常考辩的时候,

我们是按字节的倍数进行一个变化啊,不是按字节的倍数进行变变化的。吉林长度随指令的功能而愈啊,这是我们的可变指令系统,这是我们讲到的。肯定呃,基本概念。那我们呃指令的格式有哪些呢?我们根据操作区的地址码来进行划分,可分为。4g子子链3g子子链2g子子链1g子子链和0g子子链,那么我们来看一下。四弟每一个弟子指令它是什么样子的啊?比如说我们四弟子指令。比如说我们的四弟子指令啊,

首先它由操作码和a1a2a3a四四个弟子来进行组成的。首先OP它是等于它的是一个操作地址。第一,它是第一操作数的机制,第二是第二操作数的机制,第三,我们用来存放啊,存放一个结果机制。a4啊,我们用来存放下一条指令的地址。如果说这该指令是有32位,那么我们的操作。我们的操作码是。八位,然后每一个剩余的a1a2a3a4操作处的四个操作处的地址。

每一个操作,每一个地址都平均分成六位啊,平均分成六位,那么我们执行操作时啊a1。啊,执行OP操作啊a1和a2执行OP操作,把它的结果存放在a3这个地址里面。我们在执行这个数的过程当中,访问了几次啊,访问了几次组存,首先我们要读取啊,这个指令访问一次组存,然后。再读取a1这个数读a2这个数,然后再将a1和a2的结果啊操作嗯,

进行一个相应的操作的结果放到我们的a3里面啊,这样的话我们就进行了四。次保存,那么它的寻子范围就是二的六次方,也就是64呃64次呃64次的寻。它的巡视范围就是二的六次方就是64。那这样就是我们的4d值指令啊,在执行我们4d值指令的时候,如果说啊,我们这个a4很明显,它是指的是下一条指令的地址。我们在执行指令操作时,执行完这一条指令的话,我们还需要进行下一下一嗯,读取下一步的一个操作啊,

下一步是要执行什么样的操作,我们就从a4当中进行读取。如果说我们用PC来代替a4的话,啊PC就是自动加一进行一个自动加一进行下一个指令的操作,那么PC来代替a4的话。我们就可以变成一个什么,变成我们的3d质指令啊,变成3d质指令。这样的话,我们的操作码嗯,就可以变成opa 1a2a3啊,对应的a。a2a3,它们的位数都变成了多少啊?进行了一个平均分配啊,

24的平均分配就是八。啊a1的地址位数是8a二,是8a三,也是八,那么我们同样执行一个操作啊,执行将a1和a2执行一个OP操作,然后放到。从它的结果放到a3里面啊,放到a3里面,我们这里用PC代替了a4啊,就是自动执行下一个啊指令啊。这个过程当中呢,它同样是对祖传进行访问了几次啊,四次四次就是。我们读取这条指令,

访问一次储存,然后再读取一,然后执行一个相应的操,再读取二把它俩执行一个相应的操作,将结果再存放到三里面。啊,执行了四次保存那那,但是呢,我们嗯由4d子指令变成了3d子指令,那么它的寻址范围是进行了一个扩大啊。裙子范围变成了二的八次方,也就是二五六啊,变成了二的八次方,在我们执行这个。操作的过程当中呢,

我们可以看到。我们也可以把我们的啊,结果地址也就是a3用a1或者是a2代替我们也可以将结果将这个a3这个结果。将结果放到我们的a1或者是a2当中,放到这里面,放到这里面的话,那我们是不是又减少了一个地址,而又减少了一个地址?那我们减少这个地址之后,是不是也同样可以扩大我们的寻址范围,扩大我们的寻址范围?这就是我们的2d值指令啊,我们的2d值指令。在我们的二地址指令当中啊,我们嗯地址进行缩缩短,

变成了嗯opa 1a2,那同样是24位,我们将a1a2进行评分,也就是a1,它是12。二位a2是12位啊,我们在执行操作的过程当中啊,我们先读取这条指令,然后将a1和a2你再读取a1读取a2。然后执行一个相应的操作,把它放在a1里啊,把它放在a1里,这样的过程同样是。进行了几次访问,四次访问,

四次访问了主存,四次访问了主存。如果说。如果说我们是呃。将a2啊,将结果放到我们的a2当中a2代替a3的话,那我们同样是a1和a2执行相应的操作,然后将结果放到a2当中。啊,咱后结果放到a2当中一样是访问了四次组存它的寻址范围,进行了一个扩大。经济范围扩大到了二的12次方,也就是4k啊。如果说我们将结果存放于ACC当中啊,我们这里的话,

我们只是存放到了我们的。啊,地址当中a1或者a2当中,我们进行了四次访问储存,如果说我们放到咱们的寄存器当中啊,寄存器当中放到ACC当中,我们就只需要访问三次。啊,只需要三次防存。如果我们用ACC来代替a1或a2的话啊,我们是什么样的一个结果呢?那就是代替a1或a2,我们就变成了一地址指令,一地址指令,那就是上一个操作码和一个地址码啊。

a1就等于24,这样的话,我们又再次扩大了我们的寻址范围,寻址范围变成了二的24次方,也就是16m啊。我们执行的操作是啊ACC啊,我们将结果存放到ACC和a1进行一个相应的操作啊,再将结果存放到ACC当中啊,或者是我们OP。啊,执行一个a1操作,然后将结果放到a1当中啊,进行加一或者加累加计算器加一或者减一或者是双操作数啊,在这个过程当中呢,我们进行了两次仿存首先读。

去我们的指令,然后再访问我们的a1地址,访问我们的a1地址进行了两次防存。啊,群体范围变成了二的24次方,也就是我们的16m,这是我们的指令啊,按照操作数,地址,码数进行划分的。啊,如果说还有一种特殊情况。也就是零地址指令,零地址指令就是我们在这个过程当中不需要操作数的指令啊,执行比如说执行一个空操作,

停机操作,或者是关中乱等等,我们只有一个。操作码而没有地址码啊,不需要操作数的一个指令,我们不需要操作数的地址码,还有比如说我们堆在计算机的零地址。呃零地址运类指令就是暂停执行,暂停或次暂停的一个运算,这是我们零地址的指令。好,以上是我们所讲到的指令的格式啊,指令的基本格式,我们嗯,看到了指令的基本格式之外,

我们还要知道我们定长操作码的。指令格式是什么?我们刚刚提到了定场操作码和一个不定场,也就是可变操作码。那定藏操作码的指令格式是什么意思呢啊?它的概念又是什么呢?我们来看一下。在指令四的最高位部分啊,固定的若干。若干位来表示,操作码啊n位操作码计算的指令系统最大能够表示二的N次方条指令。正常操作码,它有它的优点啊,它的优点是什么呢?首先它是简,

它可以简化计算机硬件设计。其次,它可以提高指令密码和识别的速度啊,最后一般计算机续长在32位或者更长时采用定长操作码指令格式。啊,一般计算机正常在32位就是32位,或者是更长的时候我们采用的是正常操作法啊,因为在这个过程当中我们可以简化计算机硬件的设计。啊,也可以提高指令译码和识别的速度,我们的正常操作码的格式。除此之外,我们还有我们的扩展操作码,指令格式,也就是我们可变长操作码。

可变长操作嘛,指令的正常有。有限仍保持比较丰富的指令种类啊,操作码长度不固定,分散在不同的位置啊,可变长度,它是分散在不同的位置的啊,操作码是不固定的。指令的译码同时变得比较难控制器,也相对来说比较复杂。扩展操作码指令格式,最常见的是最常见的可变操作方法。其中,扩展操作码指令格式是我们最常见的,可见操作码的方法不同,

地址的指令操作码长度。不一样。短操作码不能是长码的一个前缀啊,短操作码这里要注意的是短操作码,我们不能是长码的前缀。操作码不能重复啊,操作码是不能够进行重复的啊,你不能执行在同一个时间里执行相同的操作啊,是不能是发会发生冲突的,所以我们操作码不能重复。啊,是高频短码。这是我们扩展操作码指令的格式,那么我们看一下扩展操作码的技术啊。首先,

我们要知道,扩展操作码的位数,它是随着地址码的位数的减少而增加的啊。比如说我们四位操作码啊,四位操作码,我们操作码和位数是四位零零零一啊。这是我们的操作嘛。后面对应的是我们的地址网,地址码a1a2a3。我们以16位定长指令为例子来看,在我们这个四位操作码过程当中,最多可以有15条三地址指令。我们看到这里是有三个地址。也就是我们的3d制指令,它最多能够有多少条能够有二的四次方减一条,

也就是我们的15条。那八位操作呢?八位操作码啊,我们进行扩展,进行八位操作码,它最多能八位操作码的话,我们有两个操,前面两个地方是操作码,然后后面有两位。d值啊d值嘛a2和a3啊,它是一个2d值指令,2d值指令它有多少条?二级值指令呢,最多能有多少条呢?那我们八位操作码,

它前面的这一个,它是一一一固定的,我们把它固定为一一四个一。然后后面同样是最多有二的,四次方减一条二地址,指令是有15条二地址指令的。那同样,我们12维操作码啊,12维操作码。我们将。将前面的啊两位进行一个固定,就是一一一后面的这一位。同样是啊,二的四次方减一啊,它地址码变成了一条,

也就是有最多有15条,一地址指令最多有15条,一地址指令。16位操作码,也就是我们零。地址指令我们最多会有零啊,会有16条啊,零地址这里就没有地址啊,没有地址了啊,它执行的就是说没有。只有一个操作码,只有操作码,刚才就是只有16条零地址指令。同时,在这个过程当中,

三地址指令操作码每减少一种。可多构成二的四次方种2d质子,令啊,我们3d质子令啊,我们在这里的3d质子令操作嘛,要减少一种,每减少一种的话,我们可以。最多啊,可多构成二的四次方个二的四次方个二粒子指令啊,变成二粒子指令了。然后2d值指令操作码每减少一种,可多构成二的四次方种1d值指令啊,每减少一种,可以多构成二的四次方种1d值指令。

这是我们扩展码的技术啊,扩展码的位数是随d子码的位数的减少而增加的啊,扩展码的位数随d子码的位数的减少而增加,它俩成的是一个反比啊,成的是一个反比。扩展方法,我们的扩展方法是不唯一的啊,比如说我们15条3d子指令,还有14条2d子指令。啊14条二级级指令,还有31条我们的一级级指令,还有就是16条零级级指令,扩展方法是不唯一的。嗯,以上是我们讲到的指令的寻址方式,

我们讲到了三块儿内容。啊,以上是我们讲到的。以上是我们第一节的内容。好,我们接着接着往下看看我们的本章当中的第二章内容。好,我们接着往下看看一下,我们本章当中第二块内容指令的选举方式。在我们指令的寻址方式当中,我们首先要了解我们的概念,什么是有效地址的概念?还有在指令的寻址方式当中,最重要的两点是数据寻址和指令寻址啊,还有我们介绍到了常见的寻址方式有哪些?

这都是我们需要掌握和了解的。存储器我们知道,存储器既可以放数据,也可以存放指令啊,有效地址的概念是什么呢?首先,我们先了解一下什么是形式地址啊,形式地址它指的是指令中的地址字段,并不代表。操作处的真实地址,它指的是行政中的地址处。形式地址指的是指令中的地址字段,它并不代表操作处的真实地址。而有效地址是操作树在存储器当中的一个真实地址,需要用形式地址并结合选取方式可以计算得出。

寻子方式是什么呢?寻子方式指的是寻找指令或操作数的有效地址方式。首先,我们可以确定本条指令的操作地址,然后再确定下一条预执行指令的地址。群子方式又可以分为指令群子和数据群子两种。那么我们看一下指令式寻址和数据寻址。什么是指令寻址呢?指令寻址指的是寻找下一条将要执行的指令的地址。分为顺序寻址和跳跃寻址。我们要寻找下一条将要执行的指令的地址,我们可以按照顺序去寻找啊PC。啊加一到PC。啊,也可以进行跳跃,

寻子就是jump jump。呃,程序首先程序是由指令序列构成的,咱们大多数指令是顺顺序存放在。存储器当中的。执行程序的时候,通常是一条指令接一条指令的顺序执行,这种顺序执行的过程,我们称之为。指令的顺序寻址方式啊,是一条指令接一条指令的,我们执行完这一条指令之后,我们执行下一条。一条一条执行成为顺序。执行啊,

也就是我们在顺序执行的过程当中,我们指令的顺序寻子方式啊,称为指令的迅速寻子方式。寻址方式为实现指令的迅速寻址。顺序寻址计算机中使用程序计数器,我们来使用程序计数器进行一个加一,就称为指令的指针计数器。程序计数器PC来计数。指令的顺序号,并通过自动增量的方式实现迅速寻子,就是我们的PC+1,然后再赋给我们的PC。执行完这一条,我们紧接着执行下一条进行顺序的执行,这是我们指令寻址当中的顺序寻址。

啊,对应的我们的指令群体当中的跳跃群体是什么呢?比如说,当我们程序转移执行的顺序时,指令的寻址就采用的是一个跳跃寻址方式,而程序转移执行我们并不是说执行完第一条,我们再执行第二条,第三条讲。顺序的执行下去,而是有可能我们在执行完第一条之后,然后再执进行一个转移执行,再执行第三条或者第四条。进行一个跳跃选址,这就是我们的跳跃选址方式。但是我们跳跃是嗯,

它跳跃是指下条指令的地址码,不是由程序计数器给出的,而是由本条指令给出的。我们迅速顺序。我们在顺序寻址的过程当中啊,它是由程序计数器给出的,我们执行完一条之后,我们再执行下一条。但是我们跳跃群体的过程当中,它就不是由程序计数器给出的,而是由本条指令给出的。程序跳跃之后,按新的指令地址开始顺序执行。我们程序跳跃完之后,跳跃到下一条或者说说下下一条。

啊,然后我们跳跃完之后再按新的指令地址开始一个顺序执行啊,开始一个顺序执行。当程序中出现转移子程序,调用子程序,返回中断等指令时,就会产生跳跃啊,我们转移到下一条,我转移到。呃,其他的条目当中啊,再或者是调用我们的子程序,或者是子程序返回,或者。是。

中断等这些指令时,会产生一个跳跃。跳跃是通过直接对程序计时器的内容进行设置而实现的好,我们可以对。直接对程序计时器的一个内容进行一个设计进行设置啊,来实现我们的一个跳跃。好,我们来看一下我们的呃指令寻子啊,指令寻子,它是指寻找下一条指令要。下一条要执行的指令啊,我们的顺序是由程序计数器来实现的PC+1给赋给PC,我们执行完一条之后,紧接着执行下一条顺序的进行执行。跳跃的话是由转移指令指出的,

我们来看一下具体的例子哦,我们看到这个占卜占卜中,它是一个七啊,我们是进行一个。来跳跃啊,这里是指令的一个地址,这里是相应的指令啊,指令的地址有零一二三四五六七八九是顺序指。顺序的排列,然后职业的弟子,他有各种各样的啊,比如说abd,比如说lad啊,然后再比如说是这个jump jump。嗯,

然后我们后面跟的是指令地址寻址方式啊,如果说我们进行一个。顺序寻址啊mpc=0啊,然后执行完零这条指令时,我们执行按照顺序寻址的方式执行下一条。执行二啊,执行一这条指令啊,执行一这条指令。嗯,一这条一这个指令地址所代表的指令就是我们的add啊,然后紧接着顺序寻子执行下一条PC+1执行指令地址为二的这条指令。啊,然后我们嗯,执行完指令地址为二的这个指令之后,我们再执行PC+1。

顺序寻址,然后执行三这条指令所对应的呃,这条指令地址所对应的。指令也就是我们的帐篷。当我执行到这个指令的时候进行跳跃,它会直接跳到什么啊啊?跳到指令地址为七的位置为七的。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5432考试网 ( 蜀ICP备2022024372号|川公网安备51152402000101号 )|网站地图

GMT+8, 2024-5-1 03:37 , Processed in 0.072929 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表