计算机组成原理知识点梳理(一)

计算机组成原理知识点梳理(一)注:所学教材为《计算机组成原理(第二版)》唐朔飞编著;本次梳理涵盖内容为:第一章计算机系统概论1.1计算机系统简介1.2计算机的基本组成参考内容以及图片来源为书本和csdn博文第一章计算机系统概论1.1计算机系统简介计算机系统结构:主要研究软硬件功能的分配和对软硬件界面的确定。计算机组成是计算机系统结构的逻辑实现。计算机实现是对计

大家好,又见面了,我是你们的朋友全栈君。

注:所学教材为《计算机组成原理(第二版)》 唐朔飞 编著 ; 本次梳理涵盖内容为:

第一章 计算机系统概论

1.1 计算机系统简介

1.2 计算机的基本组成

参考内容以及图片来源为书本和csdn博文

第一章 计算机系统概论

1.1 计算机系统简介

计算机系统结构:主要研究软硬件功能的分配和对软硬件界面的确定。 计算机组成是计算机系统结构的逻辑实现。 计算机实现是对计算机组成的物理实现。

计算机系统的层次结构

第三级: 虚拟机器M4(高级语言机器) 用编译程序翻译成汇编语言程序

第二级: 虚拟机器M3(汇编语言机器) 用汇编语言翻译成机器语言程序

操作系统: 虚拟机器M2 (操作系统机器) 用机器语言解释操作系统

第一级: 传统机器M1(传统机器M1) 用微程序解释机器命令

第零级: 微程序机器M0 (微指令系统) 由硬件直接执行微指令

1.2 计算机的基本组成

冯·诺依曼计算机的特点(机器以运算器为中心)

1. 计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成
2. 指令(程序)和数据以二进制不加区别地存储在存储器中
3. 程序自动运行

现代计算机由三大部分组成(已经转化为以存储器为中心)

1. CPU(Central Processing Unit) 中央处理器,核心部件为ALU(Arithmetic Logic Unit,算术逻辑单元)和CU(Control Unit,控制单元)
2. I/O设备(受CU控制)
3. 主存储器(Main Memory,MM),分为RAM(随机存储器)和ROM(只读存储器)
//CPU与MM合成主机,I/O设备可称为外部设备

一条指令在CPU的执行过程

// 专业术语
1. Ad(Address) 形式地址
2. DR(Data Register) 数据寄存器
3. AR(Address Register) 地址寄存器(MAR)
4. IR(Instruction Register) 指令寄存器
5. BR(Buffer Register) 缓冲寄存器(MBR)
5. ID(Instruction Decoder) 指令译码器
6. PC(ProgramCounter) 程序计数器
计算机组成原理知识点梳理(一)

CPU内部结构框图

过程详述:
几乎所有的冯·诺伊曼型计算机的CPU,其工作都可以分为5个阶段:

取指令

指令译码

执行指令

访存取数

结果写回

1.取指令阶段
    取指令(Instruction FetchIF)阶段是将一条指令从主存中取到指令寄存器的过程。
    程序计数器PC中的数值,用来指示当前指令在主存中的位置。当一条指令被取出后,PC中的数值将根据指令字长度而自动递增:若为单字长指令,则(PC)+1àPC;若为双字长指令,则(PC)+2àPC,依此类推。
    //PC -> AR -> Memory
    //Memory -> IR
2.指令译码阶段
    取出指令后,计算机立即进入指令译码(Instruction DecodeID)阶段。
    在指令译码阶段,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类别以及各种获取操作数的方法。
    在组合逻辑控制的计算机中,指令译码器对不同的指令操作码产生不同的控制电位,以形成不同的微操作序列;在微程序控制的计算机中,指令译码器用指令操作码来找到执行该指令的微程序的入口,并从此入口开始执行。
    // { 1.Ad
    //Memory -> IR -> ID -> { 2.PC变化 
    // { 3.CU(Control Unit)
3.访存取数阶段
    根据指令需要,有可能要访问主存,读取操作数,这样就进入了访存取数(MemoryMEM)阶段。
    此阶段的任务是:根据指令地址码,得到操作数在主存中的地址,并从主存中读取该操作数用于运算。
    //Ad -> AR -> AD -> Memory
4.执行指令阶段
    在取指令和指令译码阶段之后,接着进入执行指令(ExecuteEX)阶段。
    此阶段的任务是完成指令所规定的各种操作,具体实现指令的功能。为此,CPU的不同部分被连接起来,以执行所需的操作。
    例如,如果要求完成一个加法运算,算术逻辑单元ALU将被连接到一组输入和一组输出,输入端提供需要相加的数值,输出端将含有最后的运算结果。
    //Memory -> DR -> ALU 
5.结果写回阶段
    作为最后一个阶段,结果写回(WritebackWB)阶段把执行指令阶段的运行结果数据“写回”到某种存储形式:结果数据经常被写到CPU的内部寄存器中,以便被后续的指令快速地存取;在有些情况下,结果数据也可被写入相对较慢、但较廉价且容量较大的主存。许多指令还会改变程序状态字寄存器中标志位的状态,这些标志位标识着不同的操作结果,可被用来影响程序的动作。
    //DR -> Memory
6.循环阶段
    在指令执行完毕、结果数据写回之后,若无意外事件(如结果溢出等)发生,计算机就接着从程序计数器PC中取得下一条指令地址,开始新一轮的循环,下一个指令周期将顺序取出下一条指令。
    //重复 1~5
    //遇hlt(holt on)停止
计算机组成原理知识点梳理(一)

作者:admirersuper

链接:http://www.jianshu.com/p/bf88d5b5c250

來源:简书

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138214.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 1588v2时钟与gps区别_安卓模拟时钟带秒针

    1588v2时钟与gps区别_安卓模拟时钟带秒针模拟时钟资源下载链接:https://pan.baidu.com/s/1_nBFausDp_TqTG74boxFlw提取码:mjdp创建模拟时钟界面/***@brief创建模拟时钟界面*/voidanalog(lv_obj_t*win){lv_obj_t*central=win;lv_obj_set_size(central,LV_HOR_RES_MAX,LV_VER_RES_MAX);lv_obj_set_pos(central,0

    2025年7月15日
    0
  • 怎么保存退出 vim 编辑

    怎么保存退出 vim 编辑保存命令按ESC键跳到命令模式,然后::w保存文件但不退出vim:wfile将修改另外保存到file中,不退出vim:w!强制保存,不推出vim:wq保存文件并退出vim:wq!强制保存文件,并退出vimq:不保存文件,退出vim:q!不保存文件,强制退出vim:e!放弃所有修改,从上次保存文件开始再编辑本文来自ij2155的CSDN博客…

    2022年4月29日
    65
  • 虚拟串口模拟器和串口调试助手使用教程「建议收藏」

    虚拟串口模拟器和串口调试助手使用教程「建议收藏」虚拟串口(虚拟COM端口),应该很多人都知道,也就是一种模拟物理串行接口的软件。它完全复制了硬件COM接口的功能,并且将被操作系统和串行应用程序识别为真实端口。以前的电脑,基本标配都包含一个串口。但现在的电脑,基本都没有配置串口了。如果要使用串口的功能,基本就要用一个USB转串口的硬件模块。现实生活中,虚拟串口用处很多。比如:你的应用程序检测串行输入数据的时候,方便调试。还比如:多个有应用程序之间使用串口通信。虚拟串口软件推荐:强大的虚拟串口软件串口调试助手软件有很多,随便选一个自己

    2022年6月12日
    51
  • java中jbpm工作流_node 工作流引擎

    java中jbpm工作流_node 工作流引擎1.      JBPM工作流引擎是用来做什么的首先要说明的一点是工作流引擎指的并不只是JBPM,JBPM只是工作流引擎的一种。JBPM利用JPDL流程定义语言将现实生活中处理事务的业务流程进行抽象,形成一套业务流程规则,只要处理该项业务就必须按照这个流程规则进行。举一个很简单的例子,就拿看医生来讲,看医生的整个流程必须是先挂号,再看病,再抓药,只要你进行看医生这个业务就必须按照这套流程进行。

    2022年9月9日
    0
  • JavaScript闭包函数

    JavaScript闭包函数JavaScript闭包函数1概述2词法作用域3闭包1概述一个函数和对其周围状态(词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)。也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域。在JavaScript中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。2词法作用域请看这段代码:functioninit(){varname=”Mozilla”;//name是一个被init创建的局部变量

    2022年6月22日
    35
  • JPS算法_系统结构是什么

    JPS算法_系统结构是什么在A*算法的基础上,推导JPS算法的规则、特点

    2022年9月20日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号