计算机的指令集体系结构(ISA)从汇编语言程序员的角度描述了计算机,并强调了计算机的功能,而不是它的内部组成实现。ISA说明了计算机能做什么,而计算机组成则说明了它是如何做的。

  学习目标:

  1.分析存储程序计算机并演示指令如何执行。

  2.了解存储器-存储器、寄存器-存储器、寄存器-寄存器等操作的指令格式。

存储程序计算机

  ARM的处理器采用的是存储程序体系结构,它将程序和数据放在同一个存储空间内,采用取指-执行模式执行,就是按照顺序从内存读取指令、译码、执行。这种计算机带有寄存器、算逻运算单元(ALU)、存储器以及用来连接各个功能部件的总线。程序或者被保存在只读存储器中(例如单片机的flash),或者由操作系统从硬盘加载到内存中。

寄存器

  寄存器是位于CPU内部的存储单元,类似于内存中的存储单元。寄存器使用名字而不是地址来访问,比如r0、r1、...、r15(ARM的命名)。

寄存器的功能

  1.高速暂存寄存器,用于保存数据或者数据单元的地址。

  例如:r0寄存器保存了存储器地址为0x0002存储单元中的数据0x13,r1寄存器保存了存储器的数据单元的地址0x0002(即指针)。

指令集体系和指令集架构 指令集体系结构有哪些_数据

 


 

  2.特殊功能寄存器,例如程序计数器PC,记录了要执行的下一条指令的地址,PC又叫指令指针。

指令格式

  1.LDR 寄存器(目的),存储单元(源)

  LDR指令把数据从存储器复制到寄存器,例如LDR r1,0002将把地址为0002的存储单元中的数据读到寄存器r1中。

指令集体系和指令集架构 指令集体系结构有哪些_数据_02

 


 

  2.STR 寄存器(源),存储单元(目的)

  STR指令把数据从寄存器传输到存储器,例如STR r2,0001把寄存器r2的值写入地址为0001的存储单元。

指令集体系和指令集架构 指令集体系结构有哪些_存储单元_03

 


 3.Operation 寄存器(目的),寄存器1(源),寄存器2(源)

  Operation 定义了CPU完成的操作(例如ADD、SUB、AND),后边的3个操作数指定了参与操作的寄存器。源操作数指明了数据来源,目的操作数指明了结果放在哪里。例如ADD r1,r2,r3将r2和r3的内容相加,然后把结果写入r1,r2和r3的内容保持不变。

  

指令集体系和指令集架构 指令集体系结构有哪些_数据_04