指令格式学习
admin
2024-01-21 08:22:01
0

计算机的指令格式与机器的字长、存储器的容量及指令的功能都有很大的关系。从便于程序设计、增加基本操作并行性、提高指令功能的角度来看,指令中应包含多种信息。但在有些指令中,由于部分信息可能无用,这将浪费指令所占的存储空间,并增加了访存次数,也许反而会影响速度。因此,如何合理、科学地设计指令格式,使指令既能给出足够的信息,又使其长度尽可能地与机器的字长相匹配,以节省存储空间,缩短取指时间,提高机器的性能,这是指令格式设计中的一个重要问题。

37d12f2eb9389b50dfc421c88535e5dde7116e75

精简指令系统计算结构(RISC)来设计芯片

计算机是通过执行指令来处理各种数据的。为了指出数据的来源、操作结果的去向及所执行的操作,一条指令必须包含下列信息:

(1)操作码。它具体说明了操作的性质及功能。一台计算机可能有几十条至几百条指令,每一条指令都有一个相应的操作码,计算机通过识别该操作码来完成不同的操作。(2)操作数的地址。CPU 通过该地址就可以取得所需的操作数。(3)操作结果的存储地址。把对操作数的处理所产生的结果保存在该地址中,以便再次使用。(4)下条指令的地址。执行程序时,大多数指令按顺序依次从主存中取出执行,只有在遇到转移指令时,程序的执行顺序才会改变。为了压缩指令的长度,可以用一个程序计数器(Program Counter,PC)存放指令地址。每执行一条指令,PC 的指令地址就自动 +1(设该指令只占一个主存单元),指出将要执行的下一条指令的地址。当遇到执行转移指令时,则用转移地址修改 PC 的内容。由于使用了 PC,指令中就不必明显地给出下一条将要执行指令的地址。

一条指令实际上包括两种信息即操作码和地址码。操作码(OperationCode,OP)用来表示该指令所要完成的操作(如加、减、乘、除、数据传送等),其长度取决于指令系统中的指令条数。地址码用来描述该指令的操作对象,它或者直接给出操作数,或者指出操作数的存储器地址或寄存器地址(即寄存器名)。

b25aae51f0c36824377abe3c

指令系统

一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如:操作码字段地址码字段其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。

各计算机公司设计生产的计算机,其指令的数量与功能、指令格式、寻址方式、数据格式都有差别,即使是一些常用的基本指令,如算术逻辑运算指令、转移指令等也是各不相同的。因此,尽管各种型号计算机的高级语言基本相同,但将高级语言程序(例如 Fortran 语言程序)编译成机器语言后,其差别也是很大的。因此将用机器语言表示的程序移植到其他机器上去几乎是不可能的。从计算机的发展过程已经看到,由于构成计算机的基本硬件发展迅速,计算机的更新换代是很快的,这就存在软件如何跟上的问题。大家知道,一台新机器推出交付使用时,仅有少量系统软件(如操作系统等)可提交用户,大量软件是不断充实的,尤其是应用程序,有相当一部分是用户在使用机器时不断产生的,这就是所谓第三方提供的软件。为了缓解新机器的推出与原有应用程序的继续使用之间的矛盾,1964 年在设计 IBM360 计算机时所采用的系列机思想较好地解决了这一问题。从此以后,各个计算机公司生产的同一系列的计算机尽管其硬件实现方法可以不同,但指令系统、数据格式、I/O 系统等保持相同,因而软件完全兼容(在此基础上,产生了兼容机)。当研制该系列计算机的新型号或高档产品时,尽管指令系统可以有较大的扩充,但仍保留了原来的全部指令,保持软件向上兼容的特点,即低档机或旧机型上的软件不加修改即可在比它高档的新机器上运行,以保护用户在软件上的投资。[2]

d019d2bfcb6a6e3618d81f0d

指令系统

指令包括操作码域和地址域两部分。根据地址域所涉及的地址数量,常见的指令格式有以下几种。

①三地址指令:一般地址域中A1、A2分别确定第一、第二操作数地址,A3确定结果地址。下一条指令的地址通常由程序计数器按顺序给出。②二地址指令:地址域中A1确定第一操作数地址,A2同时确定第二操作数地址和结果地址。

③单地址指令:地址域中A 确定第一操作数地址。固定使用某个寄存器存放第二操作数和操作结果。因而在指令中隐含了它们的地址。

④零地址指令:在堆栈型计算机中,操作数一般存放在下推堆栈顶的两个单元中,结果又放入栈顶,地址均被隐含,因而大多数指令只有操作码而没有地址域。

⑤可变地址数指令:地址域所涉及的地址的数量随操作定义而改变。如有的计算机的指令中的地址数可少至 0个,多至6个。

相关内容

热门资讯

安卓系统怎么关闭app,安卓系... 手机里的app这么多,有时候用得不舒服,就想把它们给关了。但是,安卓系统的操作有时候让人摸不着头脑。...
鸿蒙系统能用安卓王者嘛,畅享跨... 最近手机圈可是热闹非凡呢!不少小伙伴都在问,鸿蒙系统能用安卓王者吗?这可是个大问题,毕竟谁不想在最新...
热泵管家2.0安卓系统,智能节... 你有没有发现,家里的空调、热水器、地暖这些大家伙,最近好像都变得聪明多了?没错,这就是热泵管家2.0...
手机win系统刷安卓系统下载软... 你有没有想过,你的手机Win系统突然变得有点儿慢吞吞的,是不是也想给它来个“换装大法”,让它焕发新生...
真我刷安卓原系统,真我手机搭载... 亲爱的读者,你是否曾厌倦了那些花哨的安卓定制系统,渴望找回那份纯净的安卓原味呢?今天,就让我带你一起...
安卓系统音乐限制在哪里,源头解... 你有没有发现,在使用安卓手机的时候,有时候音乐播放起来总觉得有点别扭?是不是觉得有些歌曲怎么也找不到...
电脑安装安卓5.0系统,电脑版... 你有没有想过,把安卓系统装在你的电脑上,那会是怎样的体验呢?想象你那台老电脑瞬间变成了一个移动的智能...
安卓系统qq飞车好卡,安卓系统... 最近是不是发现你的安卓手机上的QQ飞车玩起来超级卡?别急,让我来帮你分析一下这个问题,找出解决之道!...
自己开发安卓迷你系统,打造个性... 亲爱的读者,你是否曾梦想过拥有一套完全由自己开发的安卓迷你系统?想象那是一个只属于你的小世界,你可以...
华为为啥还用安卓系统呢,揭秘其... 你有没有想过,华为这么牛气冲天的科技公司,为啥还在用安卓系统呢?是不是觉得有点不可思议?别急,今天就...
安卓系统深色模式怎么开,开启安... 你有没有发现,最近手机屏幕越来越暗了?别误会,可不是因为电量不足哦,而是安卓系统悄悄给你升级了深色模...
各个品牌安卓10系统,各大品牌... 你知道吗?安卓10系统已经悄悄地走进了我们的生活,各大品牌纷纷推出了自己的版本。今天,就让我带你一起...
装安卓系统的要求,轻松实现智能... 你有没有想过,为什么有些人能把自己的手机变成一个迷你电脑,而有些人却只能干巴巴地刷刷微博、看看视频呢...
怎么查串码安卓系统,如何查询安... 你有没有遇到过这种情况:手机里的某个应用或者游戏突然出了点小状况,你想找找看是不是串码出了问题,但又...
安卓升级最新系统,探索最新系统... 亲爱的手机控们,你们是不是也和我一样,对安卓系统的最新升级充满了期待呢?每次系统更新,都像是给我们的...
安卓qq改苹果qq系统,揭秘Q... 你知道吗?最近有个大动作在QQ界掀起了一阵小小的风波呢!那就是安卓QQ改苹果QQ系统的事情。是不是觉...
门店管理系统安卓手机app,助... 你有没有想过,一家店铺的运营竟然可以如此轻松?没错,就是那个神奇的门店管理系统安卓手机app!今天,...
机顶盒安卓7.1系统,探索安卓... 你有没有发现,家里的电视最近变得聪明多了?没错,就是那个默默无闻的机顶盒,它悄悄地升级了系统,竟然变...
安卓系统的文件怎么删除,安卓系... 手机里的文件越来越多,是不是感觉安卓系统都快被你塞爆了?别急,今天就来教你怎么轻松删除安卓系统里的文...
安卓系统查国家地区,安卓系统国... 你有没有想过,你的安卓手机里隐藏着一个小秘密?没错,就是它知道你所在的国家和地区!今天,就让我带你一...