。由于 CPU 、系统总线和存储电路之间速度的差异,访问内存的指令通常需要被称为等待状态的空时钟周期。计算机科学与技术学院-汇编语言程序设计 7 2.1.2 指令执行周期指令执行周期:单条机器指令的执行可以分解成一系列的独立操作,这些操作被称为指令执行周期。单条指令的执行有三种基本操作:取指令、解码和执行。程序在开始执行之前必须首先被装入内存。执行过程中, 程序计数器(PC) 包含着要执行的下一条指令的地址,指令队列中包含了一条或多条将要执行的指令。当CPU 执行使用内存操作数的指令时,必须计算操作数的地址,将地址放在地址总线上并等待存储器取出操作数。 I-1 I-2 I-3 I-4 PC I-1 ALU OP1 OP2程序寄存器寄存器写写标志执行解码指令队列存储器读(输出) 图2.2 指令执行周期计算机科学与技术学院-汇编语言程序设计 9 如果指令的执行过程使用了内存操作数,那么需要 5种基本操作: 取指令:控制单元取得指令,将其从存储器拷贝到 CPU 中并增加程序计数器 PC的值。解码:控制单元确定要执行指令的类型,向算术逻辑单元ALU 传递一个或多个操作数,并向 ALU 发送表示要执行的操作类型的信号。取操作数:如果使用了内存操作数,控制单元初始化一个读操作以便从存储器中取得输入操作数。执行:算术逻辑单元执行指令,将运算后的数据送到输出操作数中,并更新用于提供输出信息的状态标志。存储输出操作数:如果输出操作数在存储器中,控制单元就初始化一个写操作以存储数据。计算机科学与技术学院-汇编语言程序设计 10 2.1.3 多级流水线指令执行周期中的每一步至少占用一个时钟周期,但这并不意味着处理器在开始执行下一条指令之前必须等待所有步骤完成,处理器可以并行执行其他步骤, 这称为流水线技术。 IA-32 处理器中的 Intel386 是拥有 6级流水线的处理器。