2017-04-12 00:00:00阳炎 硬件维护
数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。下面是YJBYS小编带来的计算机中有哪几种常见数据类型介绍,希望对你有帮助。
一、指令系统概述
指令是实现计算机“程序控制”功能的载体,也是“存储程序”操作的对象之一,可见指令在冯诺依曼体系结构计算机中的重要地位!本章立足于计算机系统层次结构中的“机器语言级”,机器语言指令是计算机硬件与软件的界面,也是用户操作和使用计算机硬件的接口。计算机所包含的所有指令的集合成为该机的指令系统。
从系统观的角度看,指令系统是计算机系统性能的集中体现,是计算机软/硬件系统的设计基础,一方面,硬件设计者要根据指令系统进行硬件的逻辑设计;另一方面,软件设计者也要根据指令系统来建立计算机的系统软件。如何表示指令,怎样组成一台计算机的指令系统,直接影响计算机系统的硬件和软件功能。
二、指令格式
指令是计算机中传输控制信息的载体,每条指令代表某个基本的信息处理操作及操作的对象,因此,指令中应该包含表示处理功能的操作码字段和与操作对象有关的地址码字段。指令的一般格式如图5.1所示。
图1 指令的一般格式
1.操作码OP
操作码来表示“程序控制”的具体操作,因此,不同功能的指令其操作码编码必须不同,因此,操作码的长度(即操作码字段所包含的二进制位数)就与机器支持的指令数量有关。通常情况下,长度为n位的操作码,最多可表示1条指令。
2.地址码
地址码字段的作用宏观上看是提供操作码的操作对象,微观上随指令类型和寻址方式的不同而不同,它可能作为一个操作数、也可能是操作数的地址(包括操作数所在的主存地址、寄存器编号或外部设备端口地址)、也可能是一个用于计算地址的偏移量。不论地址码具体上起什么作用,但其长度会影响对象的范围(数据大小、地址范围大小、偏移量的大小)
根据一条指令中所含操作数地址的数量,可将指令分三地址指令,双地址指令,单地址指令和零地址指令等4种。不同数量地址码格式时,指令表示的操作也略有区别。
1)三地址指令
指令中具有三个地址码字段,其格式为:
三、地址指令的操作表达式为:
将地址Ad1所指数据与Ad2所指数据执行OP所指定的操作,结果送Ad3所指地址存放。
2)二地址指令
为压缩指令的长度,在三地址指令的基础上,不另指定地址存放结果,而是存放到第一操作数地址Ad1中,把原来存放的第一操作数覆盖,从而减少一个地址,形成双地址指令。格式如为:
双地址指令的操作表达式为:
将地址Ad1所指数据与Ad2所指数据执行OP所指定的操作,结果送Ad1所指地址存放。
目前,常见的双地址指令主要有RR型(两个地址均为寄存器地址)和RS型(一个地址是存储地址,另一个是寄存器地址)。
3)一地址指令
单地址指令中只有一个地址码字段,其格式为:
两种情况下使用单地址指令:
(1)单目运算类指令,如逻辑运算中的求反操作,其运算对象只有一个,故只需一个地址码,它既表示该操作数的源地址,又作为操作结果的目的地址。此时,单地址指令的操作表达式为:
(2)为进一步缩短指令长度,将双目运算类指令中的一个操作数和操作结果均约定隐含于CPU中的某个寄存器(通常是累加器A)中,此时,单地址指令的操作表达式为:
4)零地址指令
零地址指令中往往只有操作码而没有显式地给出地址码字段,其格式为:
零地址指令分三种情况:
(1)指令本身不需要任何操作数,如只是为了占位和延时而设置的空操作指令NOP(空操作指令)、WAIT(等待指令)、HALT(停机指令)等;
(2)指令需要一个操作数,但该操作数隐含于CPU的某个寄存器(通常是累加器A)中;
(3)操作数均由堆栈提供的指令,其操作结果也存入堆栈。
特别说明:指令格式的不同会影响到控制器局部通路和控制结构的不同,在学习控制器设计时,要牢牢把握指令格式与控制器结构的这种紧偶合!体会硬件与软件之间的互动关系!
三、指令长度对指令格式的影响
一条指令中所包含的二进位数即为指令长度。指令越长,能够分配给操作码和地址码字段的位数就越多。在指令长度固定的情况下,所分配的地址字段越多,则每个字段的位数就越少,将影响到地址字段的寻址范围(包括所表示数据、地址范围或偏移量的大小)。
四、指令系统的发展
早期的指令系统以复杂指令为主,对应的计算机称为复杂指令集计算机(Complex Instruction Set Computer: CISC),现代计算机的指令系统以精减指令为主,对应的计算机称为精简指令集计算机(Reduced Instruction Set Computer: RISC),两者具有非常明显不同的特征:
1.复杂指令系统的特征
(1)指令系统复杂庞大,指令数目一般多达二三百条;
(2)寻址方式多;
(3)指令格式多;
(4)指令字长不固定;
(5)访存指令不加限制;
(6)各种指令使用频率相差大;
(7)各种指令执行时间相差大;
(8)大多数采用微程序控制器。
2.精简指令系统的特征
人们进一步分析CISC后发现了80-20规律,即80%程序只用到了20%的指令集,基于这一发现,RISC精简指令集被提出来,这是计算机系统结构的一次深刻革命。
RISC体系结构的基本思路是:针对CISC指令系统指令种类太多、指令格式不规范、寻址方式太多的缺点,通过减少指令种类、规范指令格式和简化寻址方式,方便处理器内部的并行处理,从而大幅度地提高处理器的性能。大部分RISC具有下述一些特点:
(1)优先选取使用频率最高的一些简单指令;
(2)大多数指令在一个机器周期内完成;
(3)采用LOAD/STORE结构。由于访问主存时间长,只保留LOAD(取数)和STORE(存数)两种访存指令,其余指令只对存放在寄存器中的操作数进行处理;
(4)采用简单的指令格式和寻址方式,指令长度固定;
(5)固定的指令格式。指令长度、格式固定,可简化指令的译码逻辑,有利于提高流水线的执行效率;
(6)面向寄存器的结构。为减少访问主存储器,CPU内应设大量的通用寄存器;
(7)采用硬布线控制逻辑;
(8)注重编译的优化,力求有效地支撑高级语言程序。
精简指令系统计算机的着眼点不是简单地放在简化指令系统上,而是通过简化指令使计算机的结构更加简单合理,从而提高处理速度,其主要途径是减少指令的执行周期数。 现在,RISC的硬件结构有很大改进,一个机器周期平均可完成1条以上指令,甚至可达到几条指令。
863
人