系统指令分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指令系统分析
一、指令系统概述:
指令系统是指某一种计算机所有指令的集合。对计算机而言,这是一组二进制数的输入,实际上是一组电平的输入。这些输入能在一个指令周期内产生人们预先规定的动作。显然这不是一组随机的二进制数据输入。指令系统是联系硬件和软件的桥梁。指令系统对计算机的作用相当于逻辑函数表对逻辑器件(门、触发器、加法器、移位寄存器)的作用。当然指令系统要比逻辑函数表复杂得多。一种计算机指令系统设计的好坏,往往标志着该计算机功能的强弱,计算机的设计往往先从设计它的指令系统开始。
二、指令格式:
指令由操作码和操作数两部分组成,操作数可以是要被操作的数据本身(立即数),也可以是数据所在单元的地址或寄存器。指令格式包括指令长度和指令内部信息的安排等。一条长指令通常可以分成几段存放和处理,每一段的长度与微处理机的字长相等。8位微处理机是以8位二进制数(字节)为基础,MCS-51单片机采用变长指令,有单字节、双字节和三字节三种指令格式。
一字节指令(49条)
这类指令的二进制代码既包含了操作码信息,又包含了操作数信息。有两种情况:
二字节指令(46条)
这类指令的第一字节为操作码,第二字节为操作数或操作数的地址。
三字节指令(16条)
这类指令的第一字节为操作码,后跟两个字节的操作数。
三、寻址方式:
每条指令存数或取数都需要知道如何获得该数据,如何产生操作数或其地址就称作寻址。指令的寻址方式是指如何获得操作数的方法,一个指令系统的寻址方式越多,计算机的功能越强,灵活性越大。所以寻址方式的多样性和灵活性是衡量计算机性能的一项重要指标。
MCS-51 单片机有七种寻址方式。
1.寄存器寻址(Register Addressing)
在指令中指出存放操作数的寄存器,因为寄存器在片内RAM中,所以其特点是速度快。如MOV A,R0,INC DPTR,MUL AB,DEC R7等。
寄存器包括32个工作寄存器(分4组)以及部分专用寄存器。指令只能使用当前寄存器组的8个通用寄存器R0~R7,对不同寄存器组可以通过PSW 中的RS0,RS1来选择。
2.直接寻址(Direct Addressing)
指令中给出操作数的8位直接地址,可用这种寻址方式的存储空间只限于内
部RAM。在一般指令中用Direct表示直接地址。有以下三种情况:3.寄存器间接寻址(Register Indirect Addressing)
用寄存器存放操作数的地址,即用寄存器作为地址指针,但要在寄存器前面加上@以示区别。可以用作地址指针的间接寄存器只能是R0、R1和DPTR, 在一般指令中分别用@R i和@DPTR 来表示。
这种寻址方式可用于访问片内和片外RAM,不能用于访问SFR。
4.立即寻址(Immediate Addressing)
一般把在指令中直接给出的操作数称为立即数。在指令操作码的后面紧跟一个和或二个字节的操作数。但要在立即数的前面加一个# 以与直接地址区别。在一般指令格式中,立即数用# DATA或#DATA16表示。
5.变址寻址(Index Addressing)
以DPTR 或PC 寄存器作基址寄存器,用累加器A作变址寄存器,以其内容相加形成要访问字节数据的有效地址。这种寻址方式用于查表指令。
6.相对寻址(Relative Addressing)
相对寻址是将程序计数器PC的当前值与指令中给出的偏移量相加,就形成转移的目标地址。用于程序的相对转移指令,指令中给出了转移目标地址相对于程序计数器PC的位(偏)移量。位移量用一字节补码表示。最大转移地址为
-128~+127,考虑到转移指令长度为2~3 字节。所以目标地址距离转移指令地址的差为–126 ~+129(两字节)或-125~+130(三字节)。
这里PC的当前值是指执行完该转移指令后的PC中的地址值,即转移指令操作码的PC值加上该转移指令的字节数(可以是2或3)。
7.位寻址(Bit Addressing)
直接对数据位的操作称为位寻址。位寻址只能对有位地址的单元作位寻址操作。这种寻址方式实际上是一种直接寻址方式,不过其地址是位地址。
四、指令集计算机:
RISC(Reduced Instruction Set Computer,精简指令集计算机),是和CISC (Complex Instruction Set Computer,复杂指令集计算机)相对的一种CPU架构,它把较长的指令分拆成若干条长度相同的单一指令,可使CPU的工作变得单纯、速度更快,设计和开发也更简单。这项技术最先诞生于斯坦福大学和加州柏克利分校,1986年,HP公司首先应用RISC技术开发出PA-8000,主频为180MHz,MIPS公司也推出了自己的RISC处理器——R2000;次年,SUN和德州仪器合作开发的Sparc处理器问世。Sparc处理器凭借出色的性能,迅速占据了UNIX 工作站的市场。
一时间,RISC旋风刮遍整个计算机行业,被认为是以后CPU的主流架构。SUN公司也就―得陇望蜀‖,打算把Sparc处理器的市场扩大到PC领域。一方面,SUN把Sparc架构授权给包括德州仪器、富士通、东芝等多家半导体公司,扩大同盟;另一方面,SUN积极游说电脑厂商生产UNIX/Sparc(UNIX操作系统+Sparc 处理器)电脑,希望重现IBM PC所创造过的辉煌。