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

先放图:

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

  •  首先是输入设备,输入设备是什么呢,其实大家都很熟悉的,比如键盘鼠标等,平常我们用它们来打字输入聊天什么的,就是一种输入啦;
  •  存储器,可以先简单理解为存放数据的地方,就是有了它,计算机就好像具备了记忆能力;
  •  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. Oracle安装时出错,TNS-04612 :"XXX"的RHS 为空

    安装Oracle11g时到最后一步,一直出现 “Oracle Net Configuration Assistant 失败” 试了好多次一直都没成功,在日志文件中的找到这几个错误: TNS-04404 ...

  2. 学习笔记(1)centos7 下安装nginx

    学习笔记(1)centos7 下安装nginx 这里我是通过来自nginx.org的nginx软件包进行安装的. 1.首先为centos设置添加nginx的yum存储库 1.通过vi命令创建一个rep ...

  3. python 输入一个整数,判断其是否既是3的倍数,又是5的倍数

    v = int(input('请输入一个整数:')) if v % 3 == 0 and v % 5 ==0: print(v,'即是3的倍数又是5的倍数') else: print('不是3或5的倍 ...

  4. Wireshark抓取Mqtt报文

    安装版本较高的Wireshark,我的版本是2.4.6,然后在编辑--> 首选项--> 协议中找到MQTT,然后将端口改为你MQTT服务器的端口,然后就可以在抓包中抓到MQTT了

  5. JSON字符串与JS对象格式转换

    JSON通常用于服务器向客户端传送数据,传回来的JSON数据是字符串的形式,所以要转变为JS对象形式才方便我们使用. JSON字符串转变为JS对象:JSON.parse( ); JS对象转变为JSON ...

  6. 微信小程序数据分析之自定义分析

    在小程序后台,微信已经提供了强大的数据分析功能,包括实时统计.访问分析.来源分析和用户画像功能,可以说对一般的数据分析已经完全足够了,但有时应用需要做一些更加精准的数据分析,比如具体到某一个页面的分享 ...

  7. 壹度DIY_微信小程序组件_小程序插件开发

    开源免费插件,diy特有的页面机制,搭配30+自定义组件,让你的站点每一个页面都可以完全自定义,可无缝对接任意小程序,如有疑问加入qq壹度小程序交流群:302866773:或wx:liu2417301 ...

  8. php html 静态化 缓存

    <?php // // ob_start(); $cache_name = md5(__FILE__). '.html'; $cache_lifetime = 3600; // echo fil ...

  9. (杭电2053)A + B Again(转换说明符)

    Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): ...

  10. (转载)PHP环境搭建-记录

    PHP环境搭建-记录   转于 http://jingyan.baidu.com/article/fcb5aff797ec41edaa4a71c4.html php5.5 做了大量的更新,在与apac ...