图片来源于网络

大家有没有想过这样的问题!计算机是如何运行的?为什么它能执行我们需要的操作?其实这和指令息息相关。

计算机的工作的过程也是指令执行的过程

操作系统是程序的合集

程序由一组指令组成;

指令由一个微操作实现;

微操作由一组微指令实现;

微指令由一组微操作实现;

微指令:同时发出的控制信号所执行的一组微操作

例如:加法指令的执行可分为 取指、计算机地址、取操作数和加法运算四步

每一步都由一组微操作实现,这一组能同时执行的微操作就构成了一条微指令

微操作命令产生电路产生完成指令规定操作的各种微操作命令。这些命令产生的主要依据是时间标志和指令的操作性质。一些操作形成了电路控制信号,下面有讲解。

控制器就是靠着指令指挥计算机工作的

在了解计算机指令之前我们先来了解一下CPU基本结构

图片来自网络

中央处理器(CPU,Central Processing Unit)

CPU:是电脑中的核心配件。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。

中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。电子计算机三大核心部件就是CPU、内部存储器、输入/输出设备。中央处理器的功效主要为处理指令、执行操作、控制时间、处理数据。

CPU(运算器和控制器两大部件组成)

运算器(arithmetic unit)

运算器由算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存器组等组成;

计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。

处理后的结果数据通常送回存储器,或暂时寄存在运算器中

控制器(controller)

控制器由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器等组成;

计算机的神经中枢,指挥全机中各个部件自动协调工作。在控制器的控制下,计算机能够自动按照程序设定的步骤进行一系列操作,以完成特定任务,来简单了解下部件的作用(详细了解可自行查阅)

  • 指令计数器 (Program Counter简称:pc)用于存放下一条指令所在单元的地址的地方(位置)

当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。此后经过分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令。当计算机重启或复位时,程序计数器通常恢复到零。

如果执行的是转移指令,则下一条要执行的指令的地址是要转移到的地址。该地址就在本转移指令的地址码字段,将其直接送往指令计数器

  • 指令寄存器(Instruction Register简称:IR),是临时放置从内存里面取得的程序指令的寄存器,用于存放当前从主存储器读出的正在执行的一条指令。

比如,我们此时对计算机的桌面进行了鼠标右键的操作,这时候这个鼠标硬件操作的指令就会被指令寄存器读取存放,然后再进行执行。

执行一条指令时,根据地址寄存器的地址,从内存储器中读出一条指令,存入指令寄存器中。指令寄存器的相应位送入指令译码器(操作码译码、变址译码等)。根据译码结果产生相应的控制信号,完成指令规定的运算、传送数据等动作

图片来源于网络

  • 指令译码器(Instruction Decoder,ID)用来对指令的操作码进行译码,产生相应的控制电平,完成分析指令的功能。

指令由操作码和地址码组成

操作码表示要执行的操作性质,即执行什么操作,决定操作的性质和方法,然后才能控制计算机其他各部件协同完成指令表达的功能

地址码是操作码执行时的操作对象的地址。

计算机执行一条指定的指令时,必须首先分析这条指令的操作码是什么,以决定操作的性质和方法,然后才能控制计算机其他各部件协同完成指令表达的功能。这个分析工作由指令译码器来完成。指令执行通过控制部件进行指令译码,标量指令由标量处理机执行向量指令各Cache控制器监听总线所有操作,并对操作做相应处理(修改或作废),如MESI协议。

时序产生器:一个类似"作息时间"的东西,使计算机可以准确、迅速、有条不紊地工作。机器一旦被启动,即CPU开始取指令并执行指令时,操作控制器就利用定时脉冲的顺序和不同的脉冲间隔,有条理、有节奏地指挥机器的动作,规定在这个脉冲到来时做什么,在那个脉冲到来时又做什么,给计算机 各部分提供工作所需的时间标志,时间标志信号一般为三级:指令周期、总线周期和时钟周期。

操作控制器:功能就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制

接下来我们来了解指令及指令的执行步骤

指令概念

指令是由操作数和地址码组成,是计算机硬件能识别并执行的计算机0和1代码;

计算机工作的过程就是指令执行的过程;

指令存放在主存储器中,主存储器 中指令来自于程序的解释编译,有效集合为程序;

程序就是一系列按一定顺序排列的指令。

图片来源于网络

计算机指令执行的步骤

取指令——分析指令(编译)——执行指令

1.取指令

由于指令是存放在主存储器中,当执行一条指令时,根据地址寄存器的地址,从内存储器中读出一条指令经过数据总线送到指令寄存器当中,这个过程叫做取指令。与此同时,程序计数器(PC)中的地址或自动加1或由转移指针给出下一条指令的地址。指令寄存器相应位送入指令译码器分析指令划分为操作码和地址码字段,由二进制数字组成,为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。

2.分析指令

指令译码器进行分析操作码和地址码(指令由操作码和地址码组成)

操作码表示要执行的操作性质,即执行什么操作,或做什么;决定操作的性质和方法,然后才能控制计算机其他各部件协同完成指令表达的功能,操作码被送到指令译码器中译码

地址码是操作码执行时的操作对象的地址。

地址码则送到地址形成部件,地址形成部件根据指令特征将地址码形成有效地址,送往主存的地址寄存器。对于转移指令,要将形成的有效转移地址送往程序计数器中,实现程序的转移

操作控制器根据指令译码器对于指令操作码的译码,产生出实现指令功能所需要的全部动作的控制信号,最后根据控制信号去执行指令。

3.执行指令

完成第一条指令的执行,而后根据PC取出第二条指令的地址,取指令、分析指令,执行指令。如此循环,执行每一条指令

总结

了解CPU组成及部件

指令的概念

指令是0和1代码。程序就是按一定顺序,排列的指令......。

计算机指令执行的步骤

取指——分析指令(编译)——执行指令

内存储器——指令寄存器(同时指令计数器)——指令译码器——执行指令

好了本期内容就此完结,喜欢的话点赞评论转发收藏加关注哦!

作者:TianshiyuMogui

著作权归作者所有侵权必究,商业转载请联系作者获得授权,非商业转载请注明出处。

微机原理和计算机组成原理一样吗_计算机组成原理(指令)相关推荐

  1. 计算机通过io接口对什么实现控制器,《微机原理与接口技术》第6章 微计算机IO接口基础.ppt...

    <微机原理与接口技术>第6章 微计算机IO接口基础.ppt 第6章 微计算机IO接口基础 2.间接I/O端口寻址方式 (1) 输入指令格式: IN AL, DX 或 IN AX, DX 指 ...

  2. 大学计算机思维导图_我学计算机,也会修电脑

    "你学啥专业?" "计算机科学." "帮我修电脑吧." "--" 现实中-- 金融专业的被问炒股 土木专业的被问装修 天 ...

  3. 计算机之发展简史、体系与结构、层次与编程语言、计算单位、编码等简介

    目录 一.计算机发展简史 1.计算机的四个发展阶段 2.微型计算机的发展历史 3.计算机的体系与结构 4.计算机的层次与编程语言 ​编辑 硬件逻辑层 微程序机器层 传统机器层 操作系统层 汇编语言层 ...

  4. 微机原理与接口耿恒山答案_微机原理与接口

    "微型计算机原理与接口技术"是我国普通高等院校计算机科学与技术.自动控制.通信工程.电气工程等专业的一门技术基础课程.编者是根据多年从事本课程的教学实践,并参照国家教育部" ...

  5. 计算机组成原理哈工大期末_浅谈计算机组成原理(三)

    1. 第二章:存储系统 通过下面的思维导图来依次分享「存储系统」里面重要知识点. 2. 第一节:存储器的结构 1. 主存储器:简称主存,又称内存储器(内存),用来存放计算机运行期间所需的大量程序和数据 ...

  6. 计算机显示屏原理6,计算机之父 冯诺依曼_非冯诺依曼计算机_冯诺依曼提出的原理(6)...

    1921年,冯诺依曼通过"成熟"考试时,已被大家当作数学家了他的第一篇论文是和菲克特合写的,那时他还不到18岁麦克斯由于考虑到经济上原因,请人劝阻年方17的冯诺依曼不要专攻数学,后 ...

  7. 黄海燕 北京理工大学计算机学院,王文明_北京理工大学计算机学院

    代表性学术成果 著作: 1.王文明 编著,<计算机网络原理>21世纪全国高等理工院校计算机教材,北京大学出版社,2002 2.王文明 主编<计算机软件及应用专业系列课程模拟考试系统& ...

  8. 大学计算机思维导图_【21计算机考研】改考408+1!上海电力大学翻倍扩招,仍考数据结构!...

    燕山大学信息科学与工程学院081200 计算机科学与技术 74人085400 电子信息 110人①101 思想政治理论②201 英语一③301 数学一④408 计算机学科专业基础综合复试:C语言程序设 ...

  9. 计算机编码详解_什么是计算机编码?计算机编码的起源与操作系统是如何解码的。

    目录 前言 编码是什么? 操作系统是如何绘制编码的 编码的起源 Unicode和Utf-8的区别 什么是抽象码?它与编码的区别 Utf-8与Utf-16 目前是谁在维护编码统一性? 宽字符与窄字符的区 ...

  10. 如何计算机闲置虚拟机算法_利用闲置计算机的最佳方法

    如何计算机闲置虚拟机算法 If you leave your computer on when you are not using it, there are ways you can put you ...

最新文章

  1. C#条件判断-根据条件判断要走的路-if结构
  2. handler回调主线程_Android使用Handler实现子线程与子线程、子线程与主线程之间通信...
  3. SQL Server 数据库基础编程
  4. PMCAFF | 产品微操的艺术:提高核心指标的5个需求原理
  5. 【Unity】Planar Shadows平面阴影的实现
  6. 控制反转_.NET Core ASP.NET Core Basic 12 控制反转与依赖注入
  7. protocol学习笔记001---RPC和HTTP协议之间的区别_与各自优势
  8. 搭建Zabbix Proxy HA
  9. Kettle文件下载
  10. Web前端开发技术实验与实践(第3版)储久良编著实训3
  11. linux ubuntu 联网问题
  12. 2019暑期在校培训总结
  13. python综合应用名片管理系统_综合应用——名片管理系统
  14. 用c语言编写两个数的最小公倍数,用C语言编写程序求两个数的最小公倍数,并输出...
  15. 告警流量分析:Cobalt Strike(默认实验文)
  16. 职业生涯的7个发展阶段及如何在每个阶段成功?
  17. notebook 实现3d可视化
  18. 《机器学习》--概述
  19. 单片机彩灯移动实验_单片机彩灯实验
  20. VO:简单的视觉里程计代码注释(代码可运行)

热门文章

  1. 使用ffmpeg将视频切片并加密
  2. 打印机相关的c语言程序,VC下打印机的使用
  3. JAVA百分比排序方法实现
  4. stm32---RS485半双工通信
  5. 最佳化三维建模与重构中的神经网络先验
  6. IMAP和POP有什么区别?
  7. ofd转成html,如何把Word或者Excel文档转换为ofd格式?
  8. 2022不一样的分享--行走的皮卡丘
  9. qt5 开发及实例(第4版)_才聪学习网_中级微观经济学第4版练习题详解
  10. will-change的使用