第四章 第5讲 指令周期及指令执行步骤
- 格式:ppt
- 大小:88.50 KB
- 文档页数:11
简述一条指令的执行过程
1.取指令阶段:CPU从内存中读取下一条指令,将其存储在指令寄存器中。
2. 译码阶段:CPU 解析指令,将其转换为可执行的操作,并确定需要访问的寄存器或内存位置。
3. 执行阶段:CPU 执行指令,并将结果存储到寄存器或内存中。
4. 访存阶段:如果指令需要访问内存,CPU 将计算内存地址,并从内存中读取或写入数据。
5. 写回阶段:如果指令需要写回寄存器,CPU 将结果存储到指定的寄存器中。
总的来说,一条指令的执行过程就是从内存中取出指令、解析指令、执行指令、访问内存和写回结果这五个步骤的循环,直到程序结束。
- 1 -。
时钟周期:时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。
在一个时钟周期内,CPU仅完成一个最基本的动作。
对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。
由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。
显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。
8051单片机把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。
机器周期:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。
例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。
完成一个基本操作所需要的时间称为机器周期。
一般情况下,一个机器周期由若干个S周期(状态周期)组成。
8051系列单片机的一个机器周期同6个S周期(状态周期)组成。
前面已说过一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示),8051单片机的机器周期由6个状态周期组成,也就是说一个机器周期=6个状态周期=12个时钟周期。
例如外接24M晶振的单片机,他的一个机器周期=12/24M 秒;指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。
指令不同,所需的机器周期也不同。
对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。
对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。
通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。
总线周期:由于存贮器和I/O端口是挂接在总线上的,CPU对存贮器和I/O接口的访问,是通过总线实现的。
为了加深初学者对51单片机指令的理解,现在把指令执行的过程在此详细说明,希望对你有启发!单片机执行程序的过程,实际上就是执行我们所编制程序的过程。
即逐条指令的过程。
计算机每执行一条指令都可分为三个阶段进行。
即取指令-----分析指令-----执行指令。
取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。
分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。
如指令要求操作数,则寻找操作数地址。
计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。
一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。
但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中,因而一开机即可执行指令。
下面我们将举个实例来说明指令的执行过程。
转自21ic基础知识开机时,程序计算器PC变为0000H。
然后单片机在时序电路作用下自动进入执行程序过程。
执行过程实际上就是取出指令(取出存储器中事先存放的指令阶段)和执行指令(分析和执行指令)的循环过程。
例如执行指令:MOV A,#0E0H,其机器码为“74H E0H”,该指令的功能是把操作数E0H送入累加器,0000H单元中已存放74H,0001H单元中已存放E0H。
当单片机开始运行时,首先是进入取指阶段,其次序是:1 程序计数器的内容(这时是0000H)送到地址寄存器;2 程序计数器的内容自动加1(变为0001H);3 地址寄存器的内容(0000H)通过内部地址总线送到存储器,以存储器中地址译码电跟,使地址为0000H的单元被选中;4 CPU使读控制线有效;5 在读命令控制下被选中存储器单元的内容(此时应为74H)送到内部数据总线上,因为是取指阶段,所以该内容通过数据总线被送到指令寄存器。
至此,取指阶段完成,进入译码分析和执行指令阶段。
指令周期的四个阶段详解
指令周期是取出一条指令并执行这条指令的时间。
一般由若干个机器周期组成,是从取指令、分析指令到执行完所需的全部时间。
指令周期类型有非访内指令的指令周期、取数指令的指令周期、存数指令的指令周期、空操作指令和转移指令的指令周期。
指令不同,所需的机器周期数也不同。
对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。
对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。
从指令的执行速度看,单字节和双字节指令一般为单机器周期和双机器周期,三字节指令都是双机器周期,只有乘、除指令占用4个机器周期。
因此在进行编程时,在完成相同工作的情况下,选用占用机器周期少的命令会提高程序的执行速率,尤其是在编写大型程序程序的时候,其效果更加明显。
指令周期的四个阶段非访内指令的指令周期
CLA是一条非访内指令,它需要两个CPU 周期,其中取指令阶段需要一个CPU周期,执行指令阶段需要一个CPU周期。
1、取指令阶段
(1)程序计数器PC的内容20(八进制)被装入地址寄存器AR;
(2)程序计数器内容加1,变成21,为取下一条指令做好准备;
(3)地址寄存器的内容被放到地址总线上;
(4)所选存储器单元20的内容经过数据总线,传送到数据缓冲寄存器DR;
(5)缓冲寄存器的内容传送到指令寄存器IR;
(6)指令寄存器中的操作码被译码或测试;
(7)CPU识别出是指令CLA,至此,取指令阶段即告结束。
简述一条指令的执行过程
计算机中的指令是计算机执行操作的基本单位。
指令的执行过程是在CPU的控制下完成的。
在计算机执行一条指令时,首先需要将指令从存储器中加载到CPU中。
这个过程称为指令读取。
指令读取分为两个阶段:首先通过地址总线
向存储器发送读取地址,然后通过数据总线将指令读取到CPU中。
指令读取完成后,CPU开始解码指令。
指令解码的目的是将指令中的操作码解码成对应的操作符,并确定指令需要使用的寄存器和内存地址。
指令解码通常使用查找表来完成,查找表包含了所有可能的操作码,
以及对应的操作符和寄存器/内存地址。
接下来是指令执行阶段。
在这个阶段,CPU根据指令中的操作符和寄存器/内存地址执行具体的操作。
指令执行可能包括算术运算、逻辑运算、存储数据等。
指令执行完成后,CPU根据指令中的地址模式更新相应的寄存器和内存值。
最后,CPU需要检查指令是否需要跳转。
如果指令需要跳转,CPU需要
计算跳转地址,并将程序计数器(PC)设置为跳转地址。
如果指令不
需要跳转,则程序计数器增加指令长度,以便继续执行下一条指令。
综上所述,指令的执行过程涉及指令读取、指令解码、指令执行和跳转。
这个过程是高度复杂的,需要CPU快速而准确地处理大量的指令。
优化指令执行过程是计算机架构设计的一个重要问题,可通过改善指
令集、增加流水线并行度、缓存技术等手段来达到目的。
五条基本指令执行过程演示
开机时,程序计算器PC变为OOOOH。
然后单片机在时序电路作用下自动进入
执行程序过程。
执行过襁实际上就魁取小指令(WLU存仲器中班先存放的指令阶段)
和执行指令(分析和执行指令)的循环过程,
例如执行指令:hfOV A’#OEOH,其机器玛为“74H EOH”,该指令的功能是把操作
教EOH送入累加器, OOOOH单元中己存放74H. OOOIH单元中已存放EOH。
当单片机开始运行时,首
先是进入取指阶段,其次序是:
l程序计数器的内容(这时是OOOOH)送到地址寄存器
2程序计数器的内容自动加l(变为OOOIH):
3地址寄存器的内容(OOOOH)通过内部地址总线送到存储器,
以存储器中地址译码电跟,使地址为OOOOH的单元被选中:
4 CPU使读控制线有效:
5在读命令控制下被选中存储器单元的内容(此时应为74H)送到内部数据总
线上,因为避取指阶段,所以该内容通过数删总线被邀到指令寄存器。
至此,取指阶
段完成,进入译码分析和执行指令阶段。
由于本次进入指令寄存器中的内容是74H(操作码).以译码器译码后单片机就
会知道该指令是要将一个数送到A累加器,而该数是在这个代码的下一个存储单。
计算机工作原理和指令执行过程1 计算机工作原理计算机的工作过程是将现实世界中的各种信息转换成计算机能够理解的二进制代码(信息编码),然后保存在计算机的存储器(数据存储)中,再由运算器对数据进行处理(数据计算)。
在数据存储和计算过程中,需要通过线路将数据从一个部件传输到另外一个部件(数据传输)。
数据处理完成后,再将数据转换成人类能够理解的信息形式(数据解码)。
在以上工作过程中,信息如何编码和解码,数据存储在什么位置,数据如何进行计算等,都由计算机能够识别的机器指令(指令系统)控制和管理。
2 计算机指令系统各计算机公司设计生产的计算机芯片,其指令的数量与功能、指令格式、寻址方式、数据格式都有差别,即使是一些常用的基本指令,如算术逻辑运算指令、转移指令等也是各不相同的。
为了缓解新机器的推出与原有应用程序的继续使用之间的矛盾,1964年在设计IBM360计算机时所采用的系列机思想较好地解决了这一问题。
从此以后,各个计算机公司生产的同一系列的计算机尽管其硬件实现方法可以不同,但指令系统、数据格式、I/O系统等保持相同,因而软件完全兼容(在此基础上,产生了兼容机)。
当研制该系列计算机的新型号或高档产品时,尽管指令系统可以有较大的扩充,但仍保留了原来的全部指令,保持软件向上兼容的特点,即低档机或旧机型上的软件不加修改即可在比它高档的新机器上运行,以保护用户在软件上的投资。
常见指令按功能可划分为:①数据处理指令:包括算术运算指令、逻辑运算指令、移位指令、比较指令等。
②数据传送指令:包括寄存器之间、寄存器与主存储器之间的传送指令等。
③程序控制指令:包括条件转移指令、无条件转移指令、转子程序指令等。
④输入-输出指令:包括各种外围设备的读、写指令等。
有的计算机将输入-输出指令包含在数据传送指令类中。
⑤状态管理指令:包括诸如实现置存储保护、中断处理等功能的管理指令。
计算机是通过执行指令来处理各种数据的。
为了指出数据的来源、操作结果的去向及所执行的操作,一条指令必须包含下列信息:(1)操作码。
cpu执行指令基本过程嘿,朋友!咱今天来聊聊 CPU 执行指令那点事儿。
你知道吗?CPU 就像是一个超级忙碌的小管家,一刻不停地处理着各种指令。
那它到底是怎么干活的呢?咱先来说说取指令。
这就好比你去图书馆找一本书,CPU 得先找到它要执行的指令在哪儿。
想象一下,这就像是在一个巨大的书架上准确地找到那本特定的“书”,可不容易啊!然后是译码。
找到指令后,CPU 得搞清楚这指令到底是啥意思。
这就像你收到一封密码信,得先把它翻译成能看懂的话。
接下来是执行。
这可是关键步骤,就像你明白了任务,然后动手去做一样。
CPU 会根据译码的结果进行计算、数据处理等等操作。
比如说,让两个数字相加,或者把数据从一个地方搬到另一个地方。
最后是写回。
这就好比你完成了一项任务,得把结果汇报给上级。
CPU 把执行的结果写回到寄存器或者内存中,以备后续使用。
你说,这 CPU 忙前忙后的,像不像一个勤劳的小蜜蜂?而且它的速度那叫一个快,眨个眼的功夫,可能就处理了好多好多指令。
比如说,你在玩游戏的时候,画面的每一帧变化,都是 CPU 在背后快速地执行着一系列的指令,让游戏能顺畅地运行。
要是 CPU 偷懒一下,那游戏可能就卡顿啦,多烦人!再比如,你用电脑处理文档,输入一个字,CPU 就得马上做出反应,显示在屏幕上。
这速度,简直了!所以说啊,CPU 执行指令的基本过程虽然看似复杂,但是它却默默地为我们的各种电子设备提供了强大的支持。
没有它的辛勤工作,咱们哪能享受到这么便捷的科技生活呢?总之,CPU 执行指令的过程虽然咱平时看不见摸不着,但它却实实在在地影响着我们生活的方方面面,是不是很神奇?。