计算机,大家都知道的,就是我们日常用的电脑,不管台式的还是笔记本都是计算机。那么这个看着很复杂的机器由哪些组成的呢,今天就简单的来了解一下。

先放图:

  图上展示的就是计算机的基本组成啦。

  •  首先是输入设备,输入设备是什么呢,其实大家都很熟悉的,比如键盘鼠标等,平常我们用它们来打字输入聊天什么的,就是一种输入啦;
  •  存储器,可以先简单理解为存放数据的地方,就是有了它,计算机就好像具备了记忆能力;
  •  CPU,从图中可以看到,CPU  = 控制器(CU)+运算器(ALU),cpu又叫中央处理器,相当于计算机的大脑,它主要是解释计算机指令和处理计算机中的数据;
  •  输出设备,这个就简单了,比如打印机什么的。

  好了,现在有个直观的印象了,对于输入设备和输出设备估计没有什么疑问,就是不明白这个cpu计算机的大脑是怎么和存储器协作完成计算机数据的处理呢?

  首先,先看看这个存储器到底是什么呢。存储器的种类很多,按用途可以分为主存储器和辅助存储器,主存储器又称内存,是CPU能直接寻址的存储空间,它的特点是存取速率快。内存一般采用半导

体存储单元,包括随机存储器(RAM)、只读存储器(ROM)和高级缓存(Cache)。

  从命名可以看出来,随机存储器(RAM)可以随机读写数据,但是电源关闭时存储的数据就会丢失;

  只读存储器(ROM):(Read Only Memory)只能读取,不能更改,即使机器断电,数据也不会丢失;

 高级缓存(Cache):它是介于CPU与内存之间,常用有一级缓存(L1)、二级缓存(L2)、三级缓存(L3)(一般存在于Intel系列)。它的读写速度比内存还快,当CPU在内存中读取或写入数据

时,数据会被保存在高级缓冲存储器中,当下次访问该数据时,CPU直接读取高级缓冲存储器,而不是更慢的内存。

  辅助存储器又称外存储器(简称外存),就是那些磁盘、硬盘、光盘啦,也就是你在电脑上看到的C、D、E、F盘。

  那么CPU呢,具体又包含哪些呢?

  如图所示,cpu相当于控制器(CU)+运算器(ALU)。

  控制器由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成。它是计算机指挥系统,完成计算机的指挥工作。主要有以下功能:

  • 取指令 从内存中取出当前指令,并生成下一条指令在内存中的地址
  • 分析指令
  • 执行指令
  • 发出各种微操作命令
  •  改变指令的执行顺序
  •  控制程序和数据的输入与结果输出
  •  对异常情况和某些请求的处理

  其实就相当于通过指令的方式告诉计算机该怎么做。下面这张图就是cpu的工作流程:

  而运算器由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成。主要有以下功能:

  • 执行所有的算术运算,如加、减、乘、除等基本运算及附加运算;
  • 执行所有的逻辑运算,并进行逻辑测试,如与、或、非、零值测试或两个值的比较等。

  关于CPU、内存、硬盘和指令之间的关系,网上还有一段对此说明的例子,觉得非常的恰当,就此摘抄过来,以便于加深理解和记忆,如下:

  如果说把硬盘比喻成一个大仓库,CPU比喻成加工车间,那么内存就是一个临时的小仓库。从距离上来说, 相比内存到CPU的距离和硬盘到内存的距离,内存和CPU的距离更短。硬盘(大仓库)用来

保存车间需要用的原料和最终生产出来的商品。仓库太大,取出原料和存储商品太慢,耗时间。内存(临时小仓库):原料会先放到这里,小仓库,可以很快的找到需要的原料或商品。CPU(车间):从

内存(小仓库)里拿到原料,生产商品。中间会有半成品,半成品可以放在内存(小仓库)里。

以上为本人粗浅理解,如有错误之处,欢迎大家指出。

声明:文中图片均从网上获取,最后一段例子从网上博客摘抄而来,如有不妥,请联系本人删除。

参考:https://software.intel.com/zh-cn/articles/book-Processor-Architecture_CPU_work_process
http://www.cnblogs.com/resn/p/5766142.html

浅谈CPU、内存、硬盘之间的关系的更多相关文章

  1. 浅谈SDN和NFV之间的关系

    一个行业固定设备的折旧周期很长,任何变革的发生都绝非易事,但是网络却一次性面临两项革新--软件定义网络(SDN)和网络功能虚拟化(NFV),在变革网络的过程中,二者若想取得成功可能会依赖彼此的技术,或 ...

  2. CPU、内存、硬盘之间的关系

    要完完全全地讲清楚cpu.内存.硬盘之间的关系,博客的篇幅是不够的.这里简单的介绍以下它们之间的关系,抛砖引玉. 1.CPU即中央处理器,是英语“Central Processing Unit”的缩写 ...

  3. Windows 性能监视器的基本指标说明(CPU,内存,硬盘参数)

    [转]Windows 性能监视器的基本指标说明(CPU,内存,硬盘参数) 作为一个系统工程师来说,要看懂监控的数据至关重要,关系着优化和分析出现的问题.我是在运维过程中要用到的.因此,今天给出Wind ...

  4. Windows 性能监视器的基本指标(CPU,内存,硬盘参数)

    转载:http://kms.lenovots.com/kb/article.php?id=7045 Windows 性能监视器的基本指标(CPU,内存,硬盘参数) 作为一个系统工程师来说,要看懂监控的 ...

  5. 【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  6. 浅谈C++ 内存泄漏及其检测工具

    浅谈C++ 内存泄漏及其检测工具 http://wenku.baidu.com/link?url=1DGkOOvd_ITZyB8IHAwfhCOx2tfO6id8UfuyQkAMHZU6sasaAXz ...

  7. VPS性能测试:CPU内存,硬盘IO读写,带宽速度,UnixBench和压力测试

    现在便宜的VPS主机越来越多了,一些美国的VPS主机甚至给出1美元一月的VPS,堪比虚拟主机还要便宜,巨大的价格优势吸引不少人购买和使用,而近些年来国内的主机商也开始意识到便宜的VPS对草根站长的诱惑 ...

  8. 一个统计 CPU 内存 硬盘 使用率的shell脚本

    一个统计 CPU 内存 硬盘 使用率的shell脚本,供大家学习参考 #!/bin/bash #This script is use for describle CPU Hard Memery Uti ...

  9. 浅谈Android内存管理

    最近在网上看了不少Android内存管理方面的博文,但是文章大多都是就单个方面去介绍内存管理,没有能全局把握,缺乏系统性阐述,而且有些观点有误,仅仅知道这些,还是无法从整体上理解内存管理,对培养系统优 ...

随机推荐

  1. JavaScript高级程序设计(复制变量值、传递参数)

    复制变量值 一个变量向另一个变量复制基本类型值和引用类型值时,是存在不同的. 一个变量向另一个变量复制基本类型的值,会在变量的对象上创建一个新值,然后把该值复制到为新变量分配的位置上. var num ...

  2. BFC的特性及使用场景

    BFC(Block Formatting Context)块级格式化上下文,是Web页面 CSS 视觉渲染的一部分,用于决定块盒子的布局及浮动相互影响范围的一个区域. BFC的特性: 1. 属于同一个 ...

  3. canvas 将html绘制图片 生成图片链接

    废话不多说,直接上代码 其中图片地址换成你的,自己玩儿去吧 <!DOCTYPE html> <html> <head> <meta charset=" ...

  4. 正则验证input输入,要求只能输入正数,小数点后保留两位。

    <input type="number" step="1" min="0" onkeyup="this.value= thi ...

  5. 如何快速生成数据库字典(thinkphp5.0)

    本教程将教你快速生成数据库字典 示例代码使用PHP框架:Thinkphp5.0 PHP代码: /** * 生成数据库字典html * 可直接另存为再copy到word文档中使用 * * @return ...

  6. LeetCode二叉树实现

    LeetCode二叉树实现 # 定义二叉树 class TreeNode: def __init__(self, x): self.val = x self.left = None self.righ ...

  7. python--模块之time,datetime时间模块

    time: 表示时间的三种方式:时间戳.格式化的时间字符串.元组时间戳是计算机能够识别的时间:时间字符串是我们能够看懂的时间:元组是用来操作时间: 导入时间模块import time 1,时间戳(ti ...

  8. psd 转换 html

    http://www.docin.com/search.do?searchcat=2&nkey=psd+to+html

  9. 西安Uber优步司机奖励政策(12月28日到1月3日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  10. java 编码二进制写法、十六进制用源代码表示

    二进制: int a = 0b10; a其实=2 八进制: int a = 01; a其实=8 十六进制: int a = 0x1; a其实=16