原文地址:计算机系统中几个周期的区别、微指令与机器指令关系作者:小磊OYE
时钟周期,一般也称振荡周期(如果晶振的输出没有经过分频就直接作为cpu的工作时钟,则时钟周期就等于振荡周期)。通常成为节拍脉冲或者T周期,它是cpu处理操作的最基本单位。
机器周期,一般也成为CPU周期,由于CPU的内部操作很快,而CPU访问一次内存的时间较长,因此通常用内存中读取一个指令字最短的时间来规定CPU周期。也就是说,一条指令的取出阶段(通常称为取指)需要一个CPU周期。而一个CPU周期时间又包含有若干个时钟周期。但是,必须指出,对于CPU周期的规定在各种计算机中不尽相同。
指令周期:CPU每取出并执行一条指令,都要完成一系列的操作,这一系列的操作所需要的时间通常叫做一个指令周期。更简单地说,指令周期是取出并执行一条指令的时间。由于各种指令的操作功能不同,有的简单,有的复杂,因此各种指令周期是不尽相同的。例如。一条访内指令的指令周期,同一条非访内指令的指令周期是不同的。
微指令周期:在串行方式的微程序控制器中,微指令周期等于读出微指令的时间加上执行该条微指令的时间。为了保证整个机器的控制信号的同步,可以将一个微指令周期设计的恰好和CPU周期时间相等。
总线周期:它由一个地址周期和一个或者多个数据周期组成。cpu在执行指令过程中,凡需执行访问存储器或访问I/O端口的操作都统一交给BIU的外部总线完成,进行一次访问(存取一个字节)所需的时间称为一个总线周期。一般一个基本的总线周期由4个时钟周期组成。
总线周期详解:

8086CPU与存储器或外部设备通信,是通过20位分时多路复用地址/数据总线来实现的。为了取出指令或传输数据,CPU要执行一个总线周期

  • 1.总线周期

我们通常把8086CPU经外部总线对存储器或I/O端口进行一次信息的输入或输出过程,称为总线操作。而把执行该操作所需要的时间,称为总线周期总线操作周期。由于总线周期全部由BLU来完成,所以也把总线周期称为BIU总线周期。 8086的总线周期至少由4个时钟周期组成。每个时钟周期称为T状态,用T1、T2、T3和T4表示。在T1状态期间,CPU将存储地址或I/O端口的地址置于总线上。若要将数据写入存储器或I/O设备,则在T2~T4这段时间内,要求CPU在总线上一直保持要写的数据;若要从存储器或I/O设备读入信息,则CPU在T3~T4状态由存储器或I/O设备置于总线上的信息。 BIU只有在下列情况下,执行一个总线周期: ①在指令的执行过程中,根据指令的需要,由执行单元EU,请求BIU执行一个总线周期。例如,取操作数或存放指令执行结果等。 ②当指令队列寄存器已经空出两个字节,BIU必须填写指令队列的时候。这样,在这两总线操作周期之间,就有可能存在着BIU不执行任何操作的时钟周期。

  • 2.空闲状态TI(Idle State)

在两个总线周期之间,存在着BIU不执行任何操作的时钟周期,这些不起作用的时钟周期称为空闲状态,用TI表示。空闲状态可以由几种情况引起。例如,当8086CPU的把总线的主控权交给协处理机的时候;当8086执行一条长指令--16位的乘法指令MUL,或除法指令DIV的时候(MUL的执行时间为124时钟周期+EA,DIV的执行时间为155时钟周期+EA)。这时BIU有相当长的一段时间不执行任何操作,其时钟周期处于空闲状态。 8086的总线周期中,除了空闲状态TI以外,还有一种等待状态TW。

  • 3.等待状态TW(Wait State)

8086CPU与慢速的存储器和I/O接**换信息时,为了防止丢失数据,在总线周期的T3和T4之间插入一些必要的等待状态TW,用来给予必要的时间补偿。在等待状态期间,总线上的信息保持不变,其他一些控制信号也都保持不变。

在CPU当中,一般操作控制器根据设计方式的不同,操作控制器可以分为硬布线控制器,微程序控制器,以及前两种的综合方式的控制器。操作控制器的功能就是根据操作码和时序产生器产生的时序信号,产生各种操作控制信号,以便正确地建立数据通路(通常把许多寄存器之间传送信息的通路成为数据通路,信息从什么地方开始,中间经过哪个寄存器或者多路开关,最后传到哪个寄存器,都由操作控制器控制完成),从而完成取指令和执行指令的控制。

微程序设计技术是利用软件方式来设计硬件的一门技术。微程序控制的基本思想是仿照通常的解题程序方式,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器中。当机器运行时候,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。

  微指令和微操作

   一台数字计算机基本上可以划分为两大部分---控制部件和执行部件。控制器就是控制部件,而运算器、存储器、外围设备相对控制器来说就是执行部件。那么两者是这么联系的呢?控制部件与执行部件的一种联系就是通过控制线。控制部件通过控制线向执行部件发出各种控制命令,通常这种控制命令叫做微命令,而执行部件接受微命令后所执行的操作就叫做微操作。控制部件与执行部件之间的另一种联系就是反馈信息。执行部件通过反馈线向控制部件反映操作情况,以便使得控制部件根据执行部件的状态来下达新的微命令,这也叫做“状态测试”。微操作在执行部件中是组基本的操作。由于数据通路的结构关系,微操作可分为相容性和相斥性两种。

在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。一般的微指令格式由操作控制和顺序控制两部分构成。操作控制部分用来发出管理和指挥全机工作的控制信号。其顺序控制部分用来决定产生下一个微指令的地址。事实上一条机器指令的功能是由许多条微指令组成的序列来实现的。这个微指令序列通常叫做微程序。既然微程序是有微指令组成的,那么当执行当前的一条微指令的时候。必须指出后继微指令的地址,以便当前一条微指令执行完毕以后,取下一条微指令执行。

   机器指令和微指令的关系归纳如下:

1. 一条机器指令对应一个微程序,这个微程序是由若干条微指令构成的。因此,一条机器指令的功能是若干条微指令组成的序列来实现的。简而言之,一条机器指令所完成的操作划分成若干条微指令来完成,由微指令进行解释和执行。

2.从指令与微指令,程序与微程序,地址与微地址的一一对应关系上看,前者与内存储器有关,而后者与控制存储器(它是微程序控制器的一部分。微程序控制器主要由控制存储器、微指令寄存器地址转移逻辑三部分组成。其中,微指令寄存器又分为微地址寄存器和微命令寄存器两部分)有关,与此相关也有相对应的硬设备。

3.从一般指令的微程序执行流程图可以看出。每个CPU周期就对于一条微指令。这就告诉我们怎么设计微程序,也将使得我们进一步体验到机器指令很微指令的关系。

计算机系统中几个周期的区别…相关推荐

  1. [vue] vue在created和mounted这两个生命周期中请求数据有什么区别呢?

    [vue] vue在created和mounted这两个生命周期中请求数据有什么区别呢? 看实际情况,一般在 created(或beforeRouter) 里面就可以,如果涉及到需要页面加载完成之后的 ...

  2. Vue2.和Vue3.生命周期的区别,对比。 详解生命周期中的每个钩子函数,setup,

    文章目录 #1.Vue2.的生命周期与Vue3.的生命周期对比图 #1.1白色背景图是Vue2.的生命周期,黑色背景图是Vue3.的生命周期. #2.Vue2.与Vue3.的生命周期函数的不同 #2. ...

  3. 内存中“堆”和“栈”的区别

    内存中"堆"和"栈"的区别: 程序中用来存放数据的内存分为四块,分别是: 1.全局区(静态区)(static):全局变量和静态变量都存储在这块区域,与其他变量的 ...

  4. 微型计算机系统中的内部寄存,微机原理与接口技术习题集汇总.doc

    微机原理与接口技术习题集汇总.doc (50页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 29.9 积分 .word格式,第二章 微机基本组成及工作原 ...

  5. 一般计算机系统中的文件系统采用,南昌大学2001年考研专业课试卷操作系统A

    南昌大学2001年攻读硕士学位研究生 入  学  考  试  试  题 报考专业:计算机应用             考试科目:操作系统(A) 一. 判断题(共15分,每题1分,答对的得1分;不答的不 ...

  6. 个人计算机与微型计算机的区别与联系,微处理器、微型计算机和微型计算机系统之间有何联系与区别?...

    微处理器.微型计算机和微型计算机系统之间有何联系与区别? 更多相关问题 [单选] 不幸被绑架,成为人质时,怎样的表述是正确的() [单选] 身在异国他乡,外出时应() [单选] 下列对红线意识理解正确 ...

  7. php 中session与cookies的区别,php中session和cookie的区别

    php中session和cookie的区别 本文较为详细的比较了php中session与cookie区别.分享给大家供大家参考.具体分析如下: 1.存放的位置 cookie保存在客户端,session ...

  8. 现代计算机系统中运算器设计一般采用的是,全国2014年4月高等教育自学考试计算机原理试题课程代码:02384...

    全国2014年4月高等教育自学考试 计算机原理试题 课程代码:02384 请考生按规定用笔将所有试题的答案涂.写在答题纸上. 选择题部分 注意事项: 1.答题前,考生务必将自己的考试课程名称.姓名.准 ...

  9. 计算机系统中数据加工过程中,数据库系统复习题-第1章绪论

    使用数据库系统有什么好处?(填空题) 使用数据库系统的好处是由数据库管理系统的特点或优点决定的. 使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的 ...

最新文章

  1. 5.2 计算机网络之传输层UDP协议
  2. Google C++ Coding Style:右值引用(Rvalue Reference)
  3. 深入Synchronized和java.util.concurrent.locks.Lock的区别详解
  4. $_FILES['userfile']['error'] 错误码
  5. 实验计算机控制器的实验结论,微机控制实验报告
  6. 【转】实用技巧:简单而有用的nohup命令介绍
  7. python 窗口最小化_有没有办法通过Python 3最小化Windows 7中的窗口?
  8. [转载]每日构造与冒烟测试
  9. SilverLight行为小示例
  10. NSNull的用法和原理
  11. MapReduce WordCount Combiner程序
  12. 凸优化第九章无约束优化 9.3梯度下降方法
  13. Veritas Backup Exec备份软件服务器、客户端安装以及如何设置备份任务
  14. linux如何删除镜像文件,linux 删除文件,小编教你linux如何删除文件
  15. 关于Ajax原理与使用方式,收藏这一篇文章就够了!!
  16. pdf转换成word后有文字叠加_Pdf转换成word文字的好方法
  17. VMware esxi6.7虚拟机安装教程
  18. 使用augpush实现微信内跳转浏览器下载APP(包括apk和ios)的解决方案
  19. Python遥感影像SAR分割裁剪多张小影像
  20. 计算机中pdf怎么预览,如何在浏览器中开启PDF时默认显示Adobe Reader XI工具栏

热门文章

  1. 使用java实现基础的家庭记账程序
  2. Lodash.js学习(一)——初识Lodash
  3. JSP+ssm计算机毕业设计刀具管理系统的设计与实现rhp57【源码、数据库、LW、部署】
  4. 2021.11.20 孤尽训练营D26——分布式锁
  5. Sonic--开源云真机测试平台
  6. Sql: 查询重复数据和删除重复数据
  7. 同比环比 sql 帆软frdemo订单表,订单明细表
  8. Tower中国用户适配版本--cTower手机地面站3.2.3发布
  9. python任务栏通知区域_python windows右下角消息提示
  10. Http1.0协议常识